CHAPTER 07
컴퓨터 구조
폰노이만 구조부터 CPU 파이프라인, 인터럽트, 캐시메모리까지 — 컴퓨터 내부 동작을 인터랙티브하게 탐구합니다.
폰노이만 구조CPU 동작원리파이프라인인터럽트캐시메모리
CPU
ALU (연산장치)
레지스터
CU (제어장치)
MEMORY
프로그램 (코드)
데이터 (변수)
스택 영역
I/O 장치
[⌨] 키보드
[▣] 모니터
[◎] 디스크
Address Bus (주소 버스)
Data Bus (데이터 버스)
Control Bus (제어 버스)
폰노이만 병목 (Von Neumann Bottleneck) — CPU와 메모리가 하나의 버스를 공유하므로, CPU가 연산보다 메모리 대기에 더 많은 시간을 씁니다. 현대 컴퓨터의 캐시 메모리는 이 병목을 완화하기 위해 탄생했습니다.
버튼을 클릭해 데이터 흐름을 시뮬레이션하세요.
PC — Program Counter
0x0000
IR — Instruction Register
—
레지스터 파일
R10
R20
R30
PC0x00
IR—
MAR—
시작하려면 "다음 단계" 버튼을 누르세요.
IPC 4
사이클당 명령어 수
파이프라인 + 슈퍼스칼라
120억
유효 명령어/초
3GHz × IPC4 = 120억
CPU 실행 타임라인
버튼을 클릭해 인터럽트를 발생시키세요.
인터럽트 벡터 테이블 (IVT — Interrupt Vector Table)
| 번호 | 원인 | 종류 | ISR 주소 |
| 0x00 | 0으로 나누기 | 예외(SW) | 0x1000 |
| 0x01 | 디버그 트랩 | 예외(SW) | 0x1100 |
| 0x02 | NMI | 하드웨어(HW) | 0x1200 |
| 0x20 | 타이머 | 하드웨어(HW) | 0x5100 |
| 0x21 | 키보드 입력 | 하드웨어(HW) | 0x5000 |
| 0x24 | 네트워크 패킷 | 하드웨어(HW) | 0x5400 |
하드웨어 인터럽트 (HW Interrupt)
외부 장치(키보드, 타이머, NIC 등)가 CPU에 신호를 보냅니다. 비동기적으로 발생하며, CPU는 현재 명령어 완료 후 처리합니다.
소프트웨어 인터럽트 / 예외 (Exception)
프로그램 내부에서 발생 (0 나누기, 페이지 폴트, 시스템 콜 등). 동기적으로 발생하며 즉시 처리됩니다.
L1 Cache4 KB · 1 ns
L2 Cache256 KB · 5 ns
L3 Cache8 MB · 20 ns
RAM16 GB · 100 ns
SSD / HDD1 TB · 100 μs
L1 캐시 슬롯 (LRU 4-way)
메모리 접근 버튼을 눌러 캐시 동작을 확인하세요.
지역성 원리 (Locality Principle)
시간적 지역성 (Temporal)
최근에 사용한 데이터는 곧 다시 사용될 가능성이 높습니다. (예: 반복문의 카운터 변수)
공간적 지역성 (Spatial)
사용한 데이터 근처의 데이터도 곧 사용될 가능성이 높습니다. (예: 배열 순회)
캐시 라인 (Cache Line): 캐시는 1바이트씩이 아닌 64바이트 블록(캐시 라인) 단위로 메모리를 가져옵니다. 배열을 순서대로 접근하면 한 번의 캐시 미스로 인접 원소 여러 개가 캐시에 올라오므로 이후 접근이 모두 히트가 됩니다.