CPU
CPU(중앙처리장치)는 컴퓨터 시스템의 핵심 구성요소로, 프로그램의 명령어를 해석하고 실행하는 역할을 한다.
CPU의 주요 구성요소
CPU는 크게 세 가지 주요 구성요소로 이루어져 있다
- 제어장치 (Control Unit, CU)
- 산술논리장치 (Arithmetic Logic Unit, ALU)
- 레지스터 (Registers)
제어장치 (Control Unit)
제어장치는 CPU의 ‘교통 경찰’ 역할을 한다.
주요 기능:
- 명령어를 순서대로 실행할 수 있도록 제어
- 주기억장치로부터 프로그램 명령을 순차적으로 가져와 해독
- 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력 장치 등으로 전송
산술논리장치 (ALU)
ALU는 CPU 내에서 실제 연산을 수행하는 부분
주요 기능:
- 산술 연산 (덧셈, 뺄셈, 곱셈, 나눗셈)
- 논리 연산 (AND, OR, NOT 등)
- 비교 연산
레지스터 (Registers)
레지스터는 CPU 내부의 고속 소규모 기억장치
주요 특징:
- 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장
- 메모리 계층의 최상위에 위치하며 가장 빠른 속도로 접근 가능
- 용도에 따라 범용 레지스터와 특수 목적 레지스터로 구분
CPU의 작동 과정
CPU의 작동 과정은 크게 명령어 사이클(Instruction Cycle)로 설명할 수 있다.
이 사이클은 다음과 같은 단계로 구성된다.:
- 인출 (Fetch)
- 해독 (Decode)
- 실행 (Execute)
- 쓰기 (Write-back)
1. 인출 (Fetch)
- 프로그램 카운터(PC)에 저장된 주소를 메모리 주소 레지스터(MAR)로 전달
- MAR에 저장된 주소를 이용해 주기억장치에서 명령어를 가져옴
- 가져온 명령어를 메모리 버퍼 레지스터(MBR)에 저장
- 다음 명령어를 위해 PC 값을 증가시킴
- MBR의 내용을 명령어 레지스터(IR)로 전달
2. 해독 (Decode)
제어장치가 IR에 저장된 명령어를 해석하여 수행해야 할 작업을 결정한다.
3. 실행 (Execute)
해독된 명령어에 따라 ALU나 다른 CPU 구성요소가 실제 연산을 수행한다.
4. 쓰기 (Write-back)
연산 결과를 메모리나 레지스터에 저장한다.
고급 CPU 기능
현대의 CPU는 성능 향상을 위해 다양한 기술을 사용한다.
- 캐시 메모리
CPU는 자주 사용되는 데이터와 명령어를 캐시에 저장하여 접근 속도를 높인다. - 명령어 파이프라이닝
CPU는 여러 명령어를 동시에 처리하기 위해 파이프라이닝 기법을 사용한다.
한 명령어가 해독 단계에 있을 때 다른 명령어의 인출을 시작하는 방식으로 작동한다. - 인터럽트 처리
CPU는 키보드나 마우스 같은 주변 장치로부터의 입력을 처리하기 위해 인터럽트 메커니즘을 사용한다.
인터럽트가 발생하면 CPU는 현재 작업을 일시 중단하고 인터럽트를 처리한 후 원래 작업으로 돌아간다.
이러한 복잡한 메커니즘을 통해 CPU는 초당 수십억 개의 명령어를 처리할 수 있으며, 이는 현대 컴퓨터 시스템의 핵심 성능을 결정짓는 요소가 된다.