들어가며
컴퓨터는 1946년에 등장해 역사가 100년도 안된 발명품이다.
우리가 사용하는 컴퓨터, 핸드폰 등 현대의 컴퓨터들은 모두 '폰 노이만 구조'로 설계되어있다.
그렇다면 폰 노이만 구조는 무엇이며, 왜 생겨난 것일까?
폰 노이만 구조 배경
[초기]
계산기처럼 간단한 연산기계만이 필요했다.
[1940년대~1950년대]
제 2차 세계대전 발발 후, 복잡한 탄도 계산이 필요해지면서 최초의 컴퓨터인 'ENIAC' 탄생했다.
연산로직이 바뀌면 수만개의 전선을 다시 재조립해야했으며, 이에 따라 계산을 준비하는 세팅에만 시간을 많이 소요하는 문제가 있었다.

이러한 ENIAC의 비효율을 수학자 존 폰 노이만이 새로운 대안을 제시했고, 현대 컴퓨터까지 적용되고 있다.
ENIAC 대항마: 폰 노이만 구조
유명 컴퓨터과학자 존 폰 노이만이 제시한 현대 컴퓨터의 기본 설계 방식
"애초에 프로그램(명령어 목록) 자체를 데이터 형태로 메모리에 저장하자"

⭐️ 특징
- CPU와 메모리를 분리한 프로그램 내장 방식
- 하드웨어는 그대로 두고, 소프트웨어만 교체하면 되는 방식
- 명령어와 데이터가 같은 메모리에 존재
- 순차적 처리
폰노이만 구조의 단점: CPU와 메모리 사이의 속도 차이로 발생하는 병목 현상
하지만, 폰노이만 구조에도 치명적인 단점이 있었다.
Memory Wall 현상
- 단일 버스로 연결되어 있어, CPU가 메모리에 접근하는데 시간이 많이 걸린다는 점
- CPU가 아무리 빨라도 메모리에서 데이터를 가져오는 속도가 느리면 대기 시간이 발생하고 총 처리시간도 증가한다는 점
- 단순히 CPU 성능을 높이는 것만으로는 전체 성능을 개선하기 어려움
해결 방안: 캐시 계층 구조와 레지스터

(1) 지역성의 원리
"자주 쓰는 데이터는 CPU 가까이에 두자" 의 지역성 원리를 바탕으로, 레지스터와 캐시를 CPU 내부에 추가
(2) 레지스터
CPU 내부에 있는 가장 빠른 저장 공간
[레지스터 원리]
- CPU가 연산할 데이터를 레지스터에 올려놓고 사용
- 컴파일러는 자주 쓰는 변수를 배치
(3) 캐시 계층 구조
- 속도가 빠른 SRAM 사용하고, CPU 칩 내부에 위치

Q. 하나가 아닌 세개의 캐시를 두는 이유?
크기가 클수록 속도가 느리며 가격이 비싸다. 큰 캐시 하나보다 작고 빠른 L1부터 나누어서 계층적으로 두는 것이 효율적이기 때문이다.
'CS' 카테고리의 다른 글
| [CS] OSI 7계층과 TCP/IP 핸드셰이크의 신뢰성 (0) | 2026.05.31 |
|---|---|
| [CS] 공유 자원의 늪: Race Condition과 교착상태 (0) | 2026.05.28 |
| [CS] 가상 메모리와 페이지 폴트의 메커니즘 (0) | 2026.05.23 |
| [AI/CS] SIMD와 병렬성: CPU와 GPU의 연산 방식 차이 (0) | 2026.05.21 |