CPU의 구조와 기능
1. CPU의 기본 구조와 기능
CPU(Central Processing Unit)는 컴퓨터의 두뇌 역할을 하는 핵심 부품으로, 다음과 같은 주요 기능을 수행 합니다.
단계 | 설명 |
---|---|
명령어 인출 | 기억장치로부터 명령어를 읽어 옴 |
명령어 해독 | 수행해야 할 동작을 결정하기 위해 명령어를 해독 |
데이터 인출 | 명령어 실행에 필요한 데이터를 기억장치 또는 I/O에서 읽어옴 |
데이터 처리 | 산술적 또는 논리적 연산 수행 |
데이터 저장 | 수행 결과를 저장 |
명령어 인출과 해독은 모든 명령어들에 대하여 공통적으로 수행함
나머지 단계는 필요에 따라 수행됨
CPU는 크게 세 가지 주요 하드웨어 모듈과 내부 버스로 구성됩니다.
- 산술논리연산장치(ALU): +, -, ×, ÷ 등 산술 연산과 AND, OR, NOT, XOR 등 논리 연산을 수행
- 레지스터 세트: 액세스 속도가 가장 빠른 기억장치
- 일반목적용 레지스터: 연산에 필요한 데이터/결과 임시 저장
- 특수목적용 레지스터: 특별한 용도(수 제한)
- 제어 유니트(Control Unit): 프로그램 코드(명령어) 해석 및 실행 제어 신호 발생
- CPU 내부 버스: ALU와 레지스터, 제어 유니트 간 데이터/제어 신호 이동
외부 시스템 버스와는 직접 연결되지 않으며, 버퍼 레지스터 또는 시스템 버스 인터페이스 회로를 통해 연결됩니다.
2. 명령어 실행
CPU는 프로그램 실행을 시작한 순간부터 전원이 꺼지거나 복구 불가능한 오류가 발생할 때까지 명령어 사이클(instruction cycle) 을 반복합니다.
명령어 사이클은 크게 두 가지 부 사이클로 나뉩니다:
- 인출 사이클(fetch cycle): 기억장치로부터 명령어를 읽어오는 단계
- 실행 사이클(execution cycle): 명령어를 실행하는 단계
명령어 실행에 필요한 주요 레지스터
레지스터 | 역할 |
---|---|
PC (Program Counter) | 다음에 인출할 명령어의 주소 저장, 분기 시 목적지 주소로 갱신 |
AC (Accumulator) | 데이터 임시 저장, CPU 데이터 비트 수와 동일한 길이 |
IR (Instruction Register) | 최근 인출된 명령어 코드 저장 |
MAR (Memory Address Register) | 명령어 주소 임시 저장, 시스템 주소 버스 출력 전 사용 |
MBR (Memory Buffer Register) | 기억장치에 쓰거나 읽은 데이터 임시 저장 |