오늘 끝나면
칩이 하는 일
- ✓칩이 하는 일의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 칩이이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
CPU·GPU·메모리가 한 클럭에 무엇을 하나 — 최종 목표 미리보기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
반도체 설계 · 01
칩이
하는 일
칩 속에는 세 가지밖에 없다. 처리하는 곳, 보관하는 곳, 드나드는 곳이다.
입력을 받아 처리해서 출력을 낸다. 그 일이 한 클럭마다 반복된다.
이 코스의 끝은 내가 설계한 칩, MyChip이다.
칩은 세 가지 일만 한다
칩이라 하면 머리카락보다 가는 회로가 떠오른다. 그런데 하는 일은 셋뿐이다.
칩은 데이터를 처리하고, 보관하고, 바깥과 드나든다.
처리는 연산 장치가, 보관은 메모리가, 드나듦은 I/O가 맡는다.
처리 장치도 둘로 갈린다.
복잡한 일을 순서대로 하는 쪽이 CPU이고, 같은 일을 한꺼번에 하는 쪽이 GPU이다.
이 셋의 비율을 정하는 것이 칩 설계의 첫 결정이다.
CPU = 순차, GPU = 병렬
CPU와 GPU는 빠르고 느림의 차이가 아니다. 일하는 방식이 다르다.
CPU는 소수 정예다. 똑똑한 코어 몇 개가 복잡한 일을 한 줄씩 순서대로 처리한다.
분기와 조건, 예외가 많은 일에 강하다.
GPU는 대군이다. 단순한 코어 수천 개가 똑같은 일을 한꺼번에 처리한다.
화소 100만 개에 같은 계산을 거는 그래픽과 AI 연산에 강하다.
픽셀 16칸을 밝게 만드는 일을 보면 차이가 분명하다.
CPU는 한 칸씩 16번 처리하고, GPU는 4칸씩 한 번에 처리한다. lane이 동시에 움직이는 것이다.
이 코스의 기본 머신은 16비트 CPU에 4 lane GPU다. 이 lane 수가 나중에 MyChip의 GPU 폭이 된다.
코어 1개가 1→16 순서대로
lane 4개가 가로 한 줄을 한꺼번에
한 클럭에 신호가 흐른다
칩 안에서는 모든 일이 박자에 맞춰 일어난다. 그 박자가 클럭이다.
클럭은 1초에 수십억 번 똑딱이는 메트로놈이다.
한 번 똑딱일 때마다 신호가 한 칸 앞으로 흐른다. 입력에서 처리로, 처리에서 보관으로 옮겨 간다.
그래서 칩은 한 박자에 모든 것을 끝내지 않는다.
작은 한 걸음을 수십억 번 빠르게 반복해서 큰 일을 끝낸다.
3GHz는 1초에 30억 박자라는 뜻이다. 빠르다는 것은 곧 박자가 잦다는 것이다.
3GHz = 1초에 30억 박자 · 작은 한 걸음을 무수히 반복
블록을 눌러 칩의 성격을 정한다
오른쪽 지도에서 CPU, GPU, 메모리, I/O 블록을 직접 눌러본다.
블록을 누르면 그 블록을 지나는 데이터 길만 진하게 보인다.
선택 안 된 길은 흐려진다. 활성 경로만 따라가며 데이터가 어디로 흐르는지 눈으로 잡는다.
그다음 칩의 최종 목표를 고른다. 계산기, 그래픽카드, 균형 SoC 중에서 정한다.
어느 블록이 가장 커질지 먼저 예측하고, 확정을 누르면 실제 면적 배분과 비교된다.
이 목표 선택이 최종 MyChip의 성격을 정한다. CPU 중심이 될지 GPU 중심이 될지가 여기서 갈린다.
CPU 를 지나는 데이터 길만 진하게 보인다. CPU는 명령을 하나씩 받아 순서대로 처리한다.
이 코스의 끝 = 내가 설계한 SoC
오늘 본 CPU와 GPU, 메모리는 완성된 그림이다. 코스는 이것을 바닥부터 다시 쌓는다.
비트 한 칸에서 시작한다. 게이트로 판단을 만들고, 가산기로 덧셈을 만들고, 레지스터로 기억을 만들고, 명령어로 CPU를 움직인다.
그다음 캐시로 속도를 올리고, lane을 늘려 GPU를 만들고, 마지막에 이 모두를 한 칩에 얹어 SoC로 묶는다.
그 칩이 MyChip이다. 강마다 고른 선택, 즉 연산과 ISA, 캐시와 lane이 전부 거기로 모인다.
Q. CPU와 GPU의 차이를 한 줄로?
CPU는 순차 소수 정예, GPU는 병렬 대군.CPU는 똑똑한 코어 몇 개가 복잡한 일을 순서대로 처리한다.
GPU는 단순한 코어 수천 개가 같은 일을 한꺼번에 처리한다.
빠르고 느림이 아니라 일하는 방식의 차이다.