CPU ( 중앙처리장치 , Central Processing Unit )
CPU는 컴퓨터의 핵심 두뇌로, 모든 프로그램 명령어를 해석하고 실행하는 장치이다.
메모리 ( RAM ) 에서 명령어를 가져와 처리하며, 결과를 다시 메모리나 출력 장치로 전달한다.
CPU 는 입력된 데이터를 현산하고 제어 신호를 내보내는 중심 제어 시스템이다.
1. CPU 의 핵심 구성 요소
1. ALU ( Arithmetic Logic Unit , 산술논리연산장치 )
- 역할 : 실제 계산을 담당하는 부분이다.
└ 덧셈 , 뺄셈 , 곱셈 , 나눗셈 같은 산술 연산
└ AND , OR , NOT , XOR 같은 논리 연산 - 특징 : 연산 결과를 누산기 ( Accumulator ) 나 다른 레지스터에 저장
└ 조건문 ( if , 비교 등 ) 판단 시 플래그 ( Flag ) 값을 설정한다 ( 예 : 0 인지 음수인지 오버플로우인지 등 ) - 예시 : 5 + 3 연산 → ALU 가 계산 → 결과 8 을 누산기에 저장
- 정리 : ALU 는 연산 담당자 , 계산기 역할을 수행한다.
2. CU ( Control Unit , 제어장치 )
- 역할 : CPU 의 두뇌로, 명령어를 해석하고 전체 동작 순서를 지시한다.
└ 메모리에서 명령어를 읽어온다 ( Fetch )
└ 그 명령어를 해석한다 ( Decode )
└ 어떤 연산을 어디서 수행할지 ( Execute ) 제어 신호를 보낸다. - 특징 : ALU , 레지스터 , 메모리 , 입출력장치 간의 데이터 흐름을 통제한다
└ 각 구성 요소에 언제 동작해야 하는지 명령하는 신호 발생기 역할 - 예시 : 덧셈하라는 명령을 해석 → ALU 에 덧셈 명령 신호를 보낸다
- 정리 : CU 는 지휘자 , CPU 내부의 모든 구성 요소를 제어한다.
3. 레지스터 ( Register )
- 역할 : CPU 내부의 초고속 임시 저장장치
- 특징 : 연산 도중의 데이터 , 명령어 주소 , 상태 등을 저장 └ 속도는 RAM 보다 훨씬 빠르며 , CPU 내부에서 직접 접근 가능 └ 크기는 작지만 , CPU 성능에 큰 영향을 준다.
- 주요 종류▼
| 레지스터 이름 | 역할 |
| PC ( Program Counter ) | 다음에 실행할 명령어의 주소를 저장한다 |
| IR ( Instruction Register ) | 현재 실행 중인 명령어를 저장한다 |
| ACC ( Accumulator ) | 연산 결과의 임시 저장 |
| MAR ( Memory Address Register ) | 접근할 메모리 주소 저장 |
| MDR ( Memory Data Register ) | 메모리에서 읽거나 쓸 데이터 저장 |
| Flag Register | 연산 결과 상태 ( 음수 , 0 , Carry 등 ) 저장 |
- 정리 : 레지스터는 CPU 내부의 초고속 메모리 , 임시 저장 공간이다.
2. CPU 의 명령어 처리 과정 ( Instruction Cycle )
CPU 는 프로그램을 명령어 단위로 반복 수행한다.
이 과정을 명령어 사이클 ( Instruction Cycle ) 이라 부른다.
1. 인출 ( Fetch )
- 프로그램 카운터 ( PC ) 가 가리키는 주소에서 명령어를 메모리에서 읽어온다.
- 읽은 명령어는 IR ( 명령어 레지스터 ) 에 저장된다.
- PC 는 다음 명령어를 위해 자동 증가된다.
2. 해석 ( Decode )
- CU 가 IR 에 저장된 명령어를 해석한다.
- 어떤 연산 ( 예 : ADD , SUB , JUMP 등 ) 을 수행해야 하는지 분석한다.
3. 실행 ( Execute )
- CU 가 필요한 제어 신호를 발생시켜 ALU 가 연산을 수행한다.
- 메모리 접근이 필요하다면 MAR / MDR 을 통해 데이터 읽기와 쓰기를 수행한다.
4. 저장 ( Store )
- 연산 결과를 레지스터나 메모리에 저장한다.
- 이후 PC 값이 업데이트되어 다음 명령으로 이동한다.
정리 : Fetch → Decode → Execute → Store → ( 반복 )
3. CPU의 보조 구조 요소
1. 버스 시스템 ( Bus )
CPU , 메모리 , 입출력장치 간 데이터 전달 통로이다.
| 버스 종류 | 역할 |
| 데이터 버스 ( Data Bus ) | 실제 데이터를 전달한다 |
| 주소 버스 ( Address Bus ) | 메모리 주소를 전달한다 |
| 제어 버스 ( Control Bus ) | 읽기 / 쓰기 신호 , 인터럽트 등 제어 정보를 전달한다 |
2. 클록 ( Clock )
- CPU 내부의 모든 동작은 클록 신호에 맞춰 동기적으로 수행한다.
- 초당 클록 수 ( Hz ) 가 많을수록 더 많은 명령을 처리할 수 있다.
- 예 : 3GHz CPU → 1초에 30억 번의 클록 신호 발생
3. 캐시 메모리 ( Cache )
- CPU 와 메모리 사이의 속도 차이를 줄이기 위한 고속 저장장치이다.
- 자주 사용되는 데이터나 명령어를 저장한다.
- L1 , L2 , L3 캐시로 나뉘며 , L1 이 가장 빠르고 CPU 에 가장 가깝다.
4. 코어 ( Core )
- 현대 CPU 는 하나의 칩 안에 여러 개의 독립적인 연산 단위를 넣는다.
- 각 코어는 독립적으로 명령을 실행할 수 있다.
- 예시 :
└ 듀얼코어 → 2개의 작업을 동시에 처리한다
└ 쿼드코어 → 4개의 작업을 병렬 처리한다
5. 파이프라인 ( Pipelining )
- 여러 명령어를 겹쳐서 병렬로 처리하는 기술이다.
- 예시 :
└ 명령어 A 는 실행 단계
└ 명령어 B 는 해석 단계
└ 명령어 C 는 인출 단계에서 동시 진행
└ → CPU 의 효율 극대화
4. CPU 동작 예시
int a = 5;
int b = 3;
int c = a + b;
CPU 내부에서는 다음과 같은 작업이 일어난다.
- 명령어 a 에 5 저장 → 메모리에 값 저장
- 명령어 b 에 3 저장 → 메모리에 값 저장
- 명령어 c = a + b →
└ a 와 b 값을 레지스터로 가져온다 ( Fetch )
└ ALU 에서 덧셈을 수행한다 ( Execute )
└ 결과를 c 의 주소에 저장한다 ( Store )
정리
CPU 는 컴퓨터의 두뇌이다.
명령어를 가져오고 ( Fetch ) → 해석하고 ( Decode ) → 실행 ( Execute ) → 저장 ( Store )
하는 과정을 반복하면서 프로그램을 수행한다.
'🖥️Computer Science' 카테고리의 다른 글
| 컴퓨터의 문자 체계 (ASCII , Unicode, UTF-8) (0) | 2026.04.07 |
|---|---|
| 메모리 구조와 작동 원리 (0) | 2025.10.21 |
| 최초의 컴퓨터 (0) | 2025.09.29 |
| 컴퓨터의 역사 (0) | 2025.09.29 |