0. CPU란?
- CPU(Central Processing Unit)는 컴퓨터 시스템의 핵심 부품으로, 프로그램의 명령어를 해석하고 실행하여 데이터를 처리하는 역할을 한다.
- 산술논리 연산장치, 제어장치, 레지스터로 구성되며 이것들의 협업으로 작업을 처리한다.
1. CPU의 기본 구성
🧮 산술논리 연산장치(ALU)
- 데이터의 덧셈, 뺄셈과 같은 산술 연산과 AND, OR 같은 논리 연산을 수행하는 계산기와 같은 역할은 한다.
- 레지스터에서 피연산자를 받아들이고 제어장치에서 제어 신호를 받아들여 연산을 수행하고 결과값은 레지스터에 저장되어 이후 연산에 참조된다.
- 연산결과에 대한 부가정보(부호, 오버플로우 등)를 담는 플래그 값을 플래그 레지스터에 담는다.
- 레지스터는 CPU 내부에 있어 일반 메모리보다 빠르게 접근할 수 있으므로, 빠른 연산에 적합한 저장 공간으로 사용된다.
⚙️ 제어장치
- 제어장치는 CPU 내외부의 다양한 하드웨어 구성 요소들을 전기 신호를 통해 조율하고 관리한다. 제어장치는 각 부품이 적절히 동작하도록 제어 신호를 내보내어 CPU의 모든 연산 과정이 순차적으로 진행되도록 한다.
- 클럭 신호, 플래그 값, 명령어, 제어신호 등을 받아들이고 CPU 내외부에 제어신호를 내보낸다.
- 클럭(Clock)은 컴퓨터 시스템에서 모든 부품의 동작을 동기화하는 주기적인 전기신호를 의미한다. 클럭에 의해 일정 간격으로 만들어지는 틱을 '펄스' 혹은 '클럭틱'이라 하고, 초당 클럭의 주기 수는 '헤르츠(Hz)'단위로 측정한다. 이 단위는 CPU가 명령어를 얼마나 빠르게 처리하는 지를 결정하는 요소이다.
📦 레지스터
- 레지스터는 CPU 내부에 있는 임시 저장 장치로 여러 종류가 있고 종류마다 다른 역할을 한다.
데이터 레지스터(DR) | CPU가 명령어를 처리하는 데 필요한 데이터를 임시로 저장하는 범용 레지스터이다. |
주소 레지스터(AR) | 데이터 또는 명령어가 저장된 메모리의 주소를 저장한다. |
프로그램 카운터(PC) | 다음에 실행할 명령어의 위치(코드의 행 번호)를 저장한다. |
명령어 레지스터(IR) | 현재 실행중인 명령어를 저장한다. |
메모리 주소 레지스터(MAR) | 메모리 관리자가 접근해야 할 메모리의 주소를 저장한다. |
메모리 버퍼 레지스터(MBR) | 메모리 관리자가 메모리와 주고받을 값(데이터, 명령어)을 임시로 저장한다. |
프로그램 상태 레지스터(PSR) | 연산 결과 플래그(음수, 양수 등), 중단 및 인터럽트 상태 등을 저장한다. |
스택 포인터 | 스택과 스택 포인터를 이용한 주소 지정 방식(스택 포인터: 스택의 꼭대기를 가리키는 레지스터) |
'CS > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 메모리의 종류 (0) | 2024.11.17 |
---|---|
[컴퓨터 구조] 시스템 버스(FSB) (0) | 2024.11.16 |
[컴퓨터 구조] CPU의 동작 (0) | 2024.11.13 |
[컴퓨터 구조] 명령어 주소 지정 방식 (0) | 2024.11.12 |
[컴퓨터 구조] 명령어의 구조 (0) | 2024.11.11 |