중앙 처리 장치(CPU)는 컴퓨터의 가장 핵심적인 부품으로, 인간의 두뇌에 해당합니다. 프로그램의 명령어를 읽고, 해석하며, 직접 실행하여 컴퓨터 시스템의 모든 동작을 제어하고 데이터를 처리하는 역할을 합니다.
1. CPU의 주요 구성 요소
CPU는 크게 세 가지 핵심 장치와 일부 저장 공간으로 구성됩니다.
A. 연산 장치 (Arithmetic Logic Unit, ALU)
- 역할: 모든 산술 연산 (덧셈, 뺄셈, 곱셈, 나눗셈 등)과 논리 연산 (AND, OR, NOT, 비교 등)을 수행합니다.
- 연산의 실제적인 처리가 이루어지는 곳입니다.
B. 제어 장치 (Control Unit, CU)
- 역할: CPU 내부와 외부 장치들의 동작을 감독하고 제어합니다.
- 메모리에서 명령어를 읽어와 해석하고, 그 해석 결과에 따라 ALU, 레지스터, 그리고 I/O 장치에 적절한 제어 신호를 보냅니다. CPU 작동의 총지휘자입니다.
C. 레지스터 (Register)
- 역할: CPU 내부에서 데이터를 일시적으로 저장하는 초고속 임시 기억 장치입니다.
- 메모리 계층 구조 중 가장 빠른 저장 공간이며, CPU가 명령을 처리하는 데 필요한 데이터(피연산자)나 주소, 그리고 중간 결과 등을 저장합니다.
- PC (Program Counter, 프로그램 카운터): 다음에 실행할 명령어의 메모리 주소를 저장합니다.
- IR (Instruction Register, 명령어 레지스터): 현재 인출하여 해독 중인 명령어를 저장합니다.
2. CPU의 명령어 처리 과정 (Instruction Cycle)
CPU는 프로그램 명령어를 다음과 같은 4단계의 순환 과정을 통해 처리합니다.
- 인출 (Fetch): 제어 장치가 프로그램 카운터(PC)에 저장된 주소를 이용하여 메모리에서 다음 실행할 명령어를 가져와 명령어 레지스터(IR)에 저장하고, PC 값을 갱신합니다.
- 해독 (Decode): 제어 장치가 IR에 있는 명령어를 해석하여 어떤 연산을 수행해야 하는지 파악합니다.
- 실행 (Execute): 해석된 명령어에 따라 ALU를 사용하여 실제적인 연산을 수행합니다.
- 저장 (Write Back): 연산 결과를 메모리나 레지스터에 기록합니다.
3. CPU 성능 향상 기술
CPU는 더 많은 명령어를 더 빠르게 처리하기 위해 다양한 고급 기술을 사용합니다.
A. 파이프라이닝 (Pipelining)
- 명령어 사이클의 각 단계(인출, 해독, 실행, 저장)를 서로 다른 독립적인 장치에서 수행하게 하고, 이들을 겹쳐서(Overlapping) 동시에 처리하는 기법입니다.
- 처리량을 획기적으로 높여 CPU 성능을 향상시킵니다. (예: 공장의 조립 라인)
B. 캐시 메모리 (Cache Memory)
- CPU와 주기억 장치(RAM) 사이에 위치하는 초고속 임시 저장소입니다.
- CPU가 자주 사용하는 데이터나 명령어를 미리 저장해 두었다가 빠르게 공급하여, 느린 RAM 접근을 줄여 속도 병목 현상을 완화합니다. (L1, L2, L3와 같은 계층 구조를 가집니다.)
C. 멀티 코어 (Multi-Core)
- 하나의 물리적인 CPU 칩 안에 연산 장치와 제어 장치를 가진 독립적인 코어(Core)를 여러 개 집적한 것입니다.
- 각 코어가 독립적인 스레드를 동시에 처리하여 병렬 처리 능력을 극대화합니다. (예: 쿼드 코어는 4개의 코어)
D. 하이퍼스레딩 (Hyper-Threading, SMT)
- 하나의 물리적인 CPU 코어가 두 개의 스레드를 동시에 처리할 수 있도록 논리적인 CPU를 나누는 기술입니다.
- 물리적 코어는 하나지만, 운영체제에는 두 개의 논리적 프로세서로 인식되어 코어의 활용 효율을 높입니다.
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
| 보조 기억 장치 (Secondary Storage) (0) | 2024.06.04 |
|---|---|
| 컴퓨터 메모리 (Memory) (0) | 2024.05.30 |
| 컴퓨터 구조 (Computer Architecture) 개요 (0) | 2024.05.12 |