컴퓨터 시스템을 제대로 이해하기 위해선 CPU가 어떻게 발전했는지 역사적인 흐름을 알아야 합니다. CSAPP의 3.1장에서는 Intel의 주요 프로세서들이 어떤 이유로 발전했는지 소개합니다.
| 프로세서 | 출시년도 | 주요 특징 |
|---|---|---|
| 8086 | 1978 | 최초의 단일 칩 16비트 CPU, 최대 1MB 메모리 접근 가능 |
| 8087 | 1980 | 부동 소수점 연산을 위한 보조 프로세서 |
| 80286 | 1982 | IBM PC-AT 기반, Windows 플랫폼 초기 지원 |
| i386 | 1985 | 최초의 32비트 CPU, 최대 4GB의 메모리 주소 공간 지원 |
| i486 | 1989 | 부동 소수점 유닛(FPU)을 칩 내부에 통합, 성능 향상 |
| Pentium | 1993 | 성능 대폭 향상, 소규모 명령어 확장 |
| Pentium Pro | 1995 | 조건부 이동(Conditional Move) 명령어 추가, 새로운 P6 아키텍처 |
메모리의 한계 극복
큰 데이터를 효율적이고 빠르게 처리하기 위함
초기 CPU는 싱글 코어로 구성되어 있었습니다. 이로 인해 여러 프로세스가 동시에 실행되는 것처럼 보이기 위해선 컨텍스트 스위칭이라는 작업이 빈번히 일어나야 했습니다. 이 컨텍스트 스위칭이 자주 발생하면 CPU가 상태 정보를 저장하고 불러오는 과정에 많은 시간을 소모하게 되어 성능이 저하되었습니다. 또한 싱글 코어는 클럭 주파수를 높이는 데 물리적 한계(발열, 전력 소비 등)가 있었습니다.
이러한 문제를 해결하기 위해 등장한 것이 바로 멀티 코어 CPU입니다. 멀티 코어를 통해 프로세스가 실제로 병렬로 수행될 수 있게 되어 CPU 성능을 대폭 향상시킬 수 있게 되었습니다.