스킬캠퍼스

반도체 설계 · 직접 만드는 칩

비트에서
내 칩까지

칩 설계는 천재만의 영역처럼 보입니다. 하지만 CPU도 GPU도 결국 스위치 하나에서 출발해 게이트·가산기·레지스터·명령어를 한 칸씩 쌓아 올린 결과입니다. 이 코스는 비트와 논리 게이트에서 시작해 ALU와 메모리, 직접 설계한 명령어 집합(ISA)과 CPU, 캐시, SIMD·GPU까지 만들고, 마지막에 그 선택들을 모아 나만의 칩(MyChip)을 완성합니다. 읽고 끝나는 강의가 아니라, 왼쪽을 읽고 오른쪽을 눌러 원리를 직접 발견하는 설계 실습입니다.

코스 · 40강

게이트에서 MyChip까지

비트·게이트(2–5) → ALU(6–9) → 시간·메모리(10–14) → 나만의 CPU(15–23) → 메모리계층(24–27) → GPU(28–32) → SoC·MyChip(33–34) → 확장(35–40).

01
칩이 하는 일
CPU·GPU·메모리가 한 클럭에 무엇을 하나 — 최종 목표 미리보기
시작하기
02
비트와 이진수
스위치 하나에서 숫자로 — 자릿값·16진수·signed
시작하기
03
논리 게이트와 진리표
AND·OR·NOT·XOR·NAND — 입력을 눌러 진리표를 채운다
시작하기
04
NAND로 모든 게이트
NAND 하나로 NOT·AND·OR·XOR — 기능적 완전성
시작하기
05
MUX와 디코더
신호를 고르고 주소를 푼다 — 활성 경로만 흐른다
시작하기
06
반가산기와 전가산기
XOR로 합, AND로 올림 — 세 번째 입력이 필요한 이유
시작하기
07
여러 비트 덧셈·뺄셈
자리올림 전파·2의 보수·오버플로우
시작하기
08
Shift와 비교
밀고 회전하고 비교 — 상태 플래그가 생긴다
시작하기
09
나만의 ALU
연산을 골라 opcode로 — Z/N/C/V 플래그와 면적·지연
시작하기
10
클럭과 타이밍
edge·전파지연·glitch — 안전한 주기 고르기
시작하기
11
래치와 플립플롭
피드백으로 상태를 잡다 — D 플립플롭·setup/hold
시작하기
12
레지스터·카운터·PC
비트를 저장하고 한 칸씩 — 순서가 생긴다
시작하기
13
RAM과 주소 선택
셀·디코더·read/write — 클럭 edge에 쓰인다
시작하기
14
레지스터 파일·스택
두 값을 동시에 읽기 — push/pop과 스크래치패드
시작하기
15
버스와 데이터패스
명령마다 켜지는 경로 — ADD·LOAD·STORE·Branch
시작하기
16
명령어와 ISA 설계
opcode·register·immediate를 비트에 — MY-16 만들기
시작하기
17
디코더와 제어 유닛
opcode를 control signal로 — RegWrite·MemRead·ALUSrc
시작하기
18
싱글사이클 CPU
Fetch→Decode→Execute→Mem→Writeback 한 클럭에
시작하기
19
어셈블러와 실행
어셈블리→기계어→메모리 적재→Step 디버깅
시작하기
20
분기·루프·함수
조건·점프·call/return — PC와 스택이 함께 움직인다
시작하기
21
GPIO·UART·인터럽트
memory map으로 바깥과 통신 — LED·터미널·타이머·ISR
시작하기
22
파이프라인과 해저드
명령을 겹쳐 처리 — stall·forwarding·flush·CPI
시작하기
23
검증과 성능 측정
reference model·test vector·성능 카운터로 비교
시작하기
24
지연·대역폭·지역성
빠른 건 작다 — 시간·공간 지역성이 성능을 만든다
시작하기
25
캐시의 구조
tag/index/offset·direct/2-way·hit·miss·교체
시작하기
26
쓰기 정책과 메모리 컨트롤러
write-through/back·dirty·DRAM row/bank 스케줄링
시작하기
27
버스·중재·DMA
여러 master의 경쟁 — arbitration·burst·우선순위
시작하기
28
SIMD와 벡터 ALU
한 명령으로 여러 lane — mask·reduction·speedup
시작하기
29
스레드·워프·분기 발산
warp가 갈라지면 lane이 놀다 — active mask·utilization
시작하기
30
GPU 메모리와 coalescing
인접 접근을 한 transaction으로 — bank conflict·tiling
시작하기
31
행렬 연산 가속기
MAC array·tile·데이터 재사용 — systolic 흐름
시작하기
32
래스터라이저와 셰이더
삼각형을 픽셀로 — barycentric·z-buffer·shader
시작하기
33
CPU+GPU를 하나의 SoC로
command buffer→DMA→GPU 실행→interrupt
시작하기
34
MyChip Design Studio
지금까지의 선택을 모아 최종 칩 — 면적·속도·메모리 점수
시작하기
35
멀티사이클 CPU와 마이크로코드
한 명령을 여러 상태로 — microcode table
시작하기
36
분기 예측
1·2비트 예측기·BTB — 빗나가면 치르는 대가
시작하기
37
가상 메모리와 MMU
가상→물리 주소·page table walk·TLB
시작하기
38
멀티코어와 캐시 일관성
두 코어가 같은 줄을 만질 때 — MESI 상태
시작하기
39
HDL과 FPGA
시각 회로를 HDL로 — testbench로 검증
시작하기
40
ASIC Flow와 PPA
RTL→게이트→배치→배선 — 성능·전력·면적
시작하기

기본 예제 머신은 16비트 CPU + 8 레지스터 + 4 lane GPU. 각 강의 선택이 마지막 MyChip으로 모입니다.