스킬캠퍼스

오늘 끝나면

MyChip Design Studio

  • MyChip Design Studio의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 MyChip이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

지금까지의 선택을 모아 최종 칩 — 면적·속도·메모리 점수 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

반도체 설계 · 34

MyChip
Design Studio

지금까지 고른 선택을 한 칩으로 모은다.
word, 레지스터, 파이프라인, 캐시, SIMD, GPU를 조립하면
면적·속도·메모리·복잡도 점수와 벤치마크 cycle이 즉시 갱신된다.

P.01반도체 설계 · 34

선택을 모아 하나의 칩으로

앞 강에서 따로 배운 선택들을 한 칩에 끼워 맞춘다.

데이터 폭(word), 레지스터 수, 파이프라인 깊이, 캐시 크기, SIMD lane, GPU lane. 이 여섯 칸이 칩의 골격을 정한다.

여섯 칸은 독립적으로 고를 수 없다. 캐시를 키우면 메모리는 빨라지지만 면적이 늘고, 파이프라인을 깊게 하면 사이클은 줄지만 제어가 복잡해진다.
설계는 한 부품의 최적화가 아니라 여섯 칸의 균형 잡기다.

6개의 설계 선택 → 한 장의 MyChip
6개 선택 → 한 장의 MyChip
WORD
16b
REG
16
PIPE
3-stage
CACHE
8KB
SIMD
2
GPU
off
MyChip 다이
CPU coreALU·REGpipelinecachevector unitsSIMD·GPU lane
한 칸을 키우면 다른 칸이 대가를 치른다. 균형이 설계다
P.02반도체 설계 · 34

네 가지 점수와 한 줄 cycle

구성이 좋은지 나쁜지는 숫자로 본다.

MyChip은 선택을 네 점수로 환산한다. 면적은 작을수록 좋고, 속도는 클수록 좋다. 메모리 압력과 복잡도는 작을수록 좋다.
네 점수는 모두 상대 점수다. 실측 mm²나 MHz가 아니라 선택끼리 비교하는 가중합이다.

여기에 더해 작은 워크로드를 돌리는 데 걸리는 벤치마크 cycle을 추정한다. 워크로드는 스칼라, 벡터, 메모리 세 덩어리다. 캐시는 메모리 cycle을, 파이프라인은 스칼라 cycle을, SIMD와 GPU는 벡터 cycle을 줄인다.
세 cycle의 합이 칩의 체감 속도다.

면적·속도·메모리·복잡도 + 벤치마크
네 점수 + 벤치마크 cycle
면적64작게
속도60크게
메모리52작게
복잡도45작게
벤치마크 cycle = 스칼라 + 벡터 + 메모리
스칼라
980
벡터
1120
메모리
1430
P.03반도체 설계 · 34

MyChip을 직접 조립한다

여섯 칸을 직접 고른다. 한 칸 바꿀 때마다 네 점수와 cycle이 바로 갱신된다.

옵션을 바꾸기 전에 cycle이 줄지 늘지 먼저 예측한다. 옵션을 바꾸면 좋아진 점수엔 ▲, 나빠진 점수엔 ▼가 붙고 cycle 변화량이 숫자로 뜬다.

캐시를 없음에서 32KB로 올리면 메모리 cycle은 확 줄지만 면적과 메모리 점수가 오른다. GPU를 켜면 벡터 cycle이 크게 줄지만 작은 워크로드에서는 오프로드 고정 비용이 손해일 수도 있다.
하단 근거 패널에는 cycle이 스칼라, 벡터, 메모리로 쪼개져 어디서 줄었는지 보인다.

옵션 선택 → 점수·cycle 즉시 갱신
MyChip Design Studio3259 cyc
예측 먼저, 다음에 바꿀 옵션이 cycle을 어느 쪽으로?
구성, 코스에서 배운 선택을 모음
WORD · 데이터 폭한 번에 다루는 비트 수
REG · 레지스터 수메모리 안 거치고 둘 값 자리
PIPE · 파이프라인겹쳐 돌릴 stage 깊이
CACHE · 캐시느린 메모리를 가려줄 빠른 버퍼
SIMD · 벡터 lane한 명령에 여러 데이터
GPU · 병렬 코어벡터 워크로드 전담 lane
상대 점수, 직전 변경으로 ▲좋아짐 / ▼나빠짐
면적54
속도114
메모리33
복잡도33
제약, 면적·복잡도 예산 안에 들어와야 함
면적 예산54 / 100
복잡도 예산33 / 100

▸ 예산 안, 이 구성은 제약을 지킨다. 남는 예산만큼 속도를 더 살 수 있다.

근거 패널, 벤치마크 cycle 분해3259
스칼라
1040
벡터
899
메모리
1320

캐시·레지스터는 메모리 막대를, 파이프라인·word는 스칼라 막대를, SIMD·GPU는 벡터 막대를 줄인다. 세 막대 합이 곧 총 cycle이다.

최종 MyChip, 코스의 결정체

16b · 16 · 3-stage · 8KB · 2 · 없음

정답은 없다. 워크로드(스칼라/벡터/메모리 비중)와 예산에 맞춰 cycle을 최소로 깎은 구성이 그 워크로드의 최적 MyChip이다. 이 한 줄이 코스 전체에서 고른 선택의 결정체다.

P.04반도체 설계 · 34

제약 안에서 최적화한다

무조건 다 키우면 가장 빠른 칩이 되지만, 그건 설계가 아니다.

실제 칩에는 예산이 있다. 다이 면적은 정해져 있고, 검증할 수 있는 복잡도에도 한계가 있다. 그래서 MyChip에는 면적 예산복잡도 예산 막대가 있다. 예산을 넘으면 경고가 뜬다. 양산하지 못하는 칩이다.

설계의 문제는 예산 안에서 cycle을 최소로 깎기다. 벡터가 많은 워크로드면 면적을 SIMD와 GPU에 몰아주고, 메모리바운드면 캐시에 몰아준다. 같은 예산을 어디에 쓰느냐가 곧 설계 결정이다.

면적·복잡도 예산을 넘지 않으면서 cycle 최소
같은 면적 예산 · 다른 배분
벡터 많은 워크로드면적을 SIMD·GPU에 몰아준다
core
cache
vector
메모리바운드 워크로드면적을 캐시에 몰아준다
core
cache
vector
같은 예산을 어디에 쓰느냐가 설계 결정이다. 정답은 워크로드가 정한다
P.05반도체 설계 · 34

MyChip 점수가 말하는 것

MyChip의 점수는 칩의 절대 등급이 아니라, 선택이 무엇을 주고 무엇을 가져갔는지를 보여준다.

면적, 속도, 메모리, 복잡도는 한 방향으로 같이 좋아지지 않는다. 속도를 60점에서 80점으로 올리려면 면적과 복잡도 점수가 그만큼 오르는 것을 받아들여야 한다. 이게 trade-off다.

점수는 좋다, 나쁘다를 가리는 게 아니라 무엇을 위해 무엇을 포기했는지를 읽는 표다. 모든 칸을 최대로 올린 칩이 최고가 아니라, 주어진 워크로드와 예산에서 cycle을 가장 잘 깎은 칩이 최고다.

Q. MyChip의 점수가 보여주는 것은?정답은 설계 선택의 면적·속도·메모리 trade-off(상대 점수)다.
점수는 칩의 절대 성능이 아니라 선택끼리 비교하는 상대값이다. 한 점수를 좋게 하면 다른 점수가 나빠지는 맞교환이 드러난다.
그래서 정답은 모든 칸을 최대로 올린 칩이 아니라, 워크로드와 예산 안에서 cycle을 가장 잘 깎은 균형 잡힌 구성이다.
점수 = 선택의 trade-off
속도를 올리면 면적·복잡도가 따라 옴
속도면적복잡도
504028
657052
8513084
한 점수를 당기면 다른 점수가 끌려온다. 이게 trade-off다

3줄 요약

  1. 1지금까지의 선택을 모아 최종 칩 — 면적·속도·메모리 점수
  2. 2MyChip Design Studio은 비트·게이트 → ALU → 시간·메모리 → 나만의 CPU → 메모리·GPU·SoC 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

MyChip

지금까지의 선택을 모아 최종 칩 — 면적·속도·메모리 점수

ALU

산술·논리 연산을 하는 회로

ISA

CPU가 이해하는 명령어 집합과 인코딩