CPU - 중앙 처리 장치
컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치를 말합니다.
컴퓨터 시스템의 중심적인 처리 장치로, 컴퓨터의 “두뇌” 역할을 수행합니다.
CPU는 입력된 데이터를 처리하고 프로그램 명령을 실행하는 핵심적인 장치로, 주로 산술 연산, 논리 연산, 제어 및 데이터 전송 작업을 담당합니다

CPU의 주요 역할
CPU는 프로그램에 의해 지시된 명령을 처리하는데, 이 과정은 크게 세 가지 단계로 나뉩니다:
- 명령어 인출(Fetch)
- 프로그램 메모리에서 실행할 명령어를 가져옵니다.
- 명령어 해석(Decode)
- 인출된 명령어를 해석하여 어떤 작업을 수행할지 결정합니다.
- 명령어 실행(Execute)
- ALU(산술 논리 장치)를 사용해 산술 연산이나 논리 연산을 수행하고, 데이터를 메모리로 전달하거나 저장하는 등의 작업을 처리합니다.
CPU의 주요 기능
- 연산 처리
- 산술, 논리, 비교 연산을 수행하여 데이터를 처리.
- 제어 기능
- 프로그램의 명령어를 해석하고, CPU 내부 및 다른 장치에 작업 지시.
- 데이터 이동
- 메모리, 레지스터, I/O 장치 간 데이터 전송.
CPU의 주요 구성 요소
-
ALU(Arithmetic Logic Unit, 산술 논리 장치)
- CPU 내에서 실제로 연산을 수행하는 장치입니다.
- 산술 연산(덧셈, 뺄셈, 곱셈, 나눗셈)과 논리 연산(AND, OR, NOT 등)을 수행하며, 데이터를 조작하고 변환하는 작업을 합니다.
-
CU(Control Unit, 제어 장치)
- 제어 장치는 프로그램의 명령을 해석하고 각 구성 요소들이 어떻게 동작할지 제어합니다.
- CU는 메모리에서 명령어를 가져와 해석한 후, CPU의 다른 구성 요소들이 적절한 작업을 수행하도록 지시합니다. 데이터의 흐름과 작업 순서를 조정하는 역할을 합니다.
-
레지스터(Register)
- 레지스터는 CPU 내부의 작은 저장 공간으로, 연산에 필요한 데이터를 일시적으로 저장합니다. 매우 빠른 속도로 데이터를 주고받으며, 연산 중간 결과나 메모리 주소를 저장하는 역할을 합니다.
- 주요 레지스터로는 프로그램 카운터(Program Counter), 명령어 레지스터(Instruction Register), 누산기(Accumulator) 등이 있습니다.
-
캐시(Cache)
- CPU와 메모리 간의 속도 차이를 줄이기 위해 고속의 임시 저장 공간을 제공하는 메모리입니다. CPU는 자주 사용하는 데이터를 메인 메모리(RAM)가 아닌 캐시에 저장해 빠르게 접근할 수 있습니다.
- 캐시는 여러 단계로 나뉘며, L1(1차), L2(2차), L3(3차) 캐시가 있습니다. L1 캐시는 CPU 코어에 가장 가까이 있고, 매우 빠르지만 용량이 적습니다. L2, L3로 갈수록 용량은 크지만 속도는 L1보다 느립니다.
-
버스(Bus)
- 버스는 CPU 내부와 외부에서 데이터를 주고받는 통로입니다.
- CPU는 메모리나 다른 장치들과 통신하기 위해 데이터를 전송해야 하며, 이를 위해 다양한 버스를 사용합니다. 버스는 크게 데이터 버스(Data Bus), 주소 버스(Address Bus), 제어 버스(Control Bus)로 나뉩니다.
- 데이터 버스 : 데이터를 주고받는 통로.
- 주소 버스 : 메모리 주소를 전달하는 통로.
- 제어 버스 : 제어 신호를 전달하는 통로.
-
프로그램 카운터(Program Counter, PC)
- 프로그램 카운터는 다음에 실행될 명령어의 주소를 보관하는 레지스터입니다.
- 프로그램의 흐름을 제어하며, 각 명령어를 실행한 후에는 자동으로 다음 명령어의 주소를 가리킵니다.
-
명령어 디코더(Instruction Decoder)
- 명령어 디코더는 CU의 일부로, 메모리에서 불러온 명령어를 해석하여 어떤 작업을 수행해야 하는지를 결정합니다.
- CPU는 기계어로 된 명령어를 이해하고 실행하는데, 이 명령어 디코더가 그 과정에서 중요한 역할을 합니다.
추가적인 개념
- 클럭 속도(Clock Speed)
- CPU의 성능을 결정하는 주요 요소 중 하나로, CPU가 얼마나 빠르게 명령을 처리할 수 있는지를 나타냅니다. 일반적으로 초당 클럭 주기 수를 헤르츠(Hz) 단위로 측정하며, 기가헤르츠(GHz) 단위로 표시됩니다.
- 코어(Core)
- 현대의 CPU는 여러 개의 코어를 가지고 있습니다.
- 각 코어는 독립적으로 명령을 처리할 수 있는 처리 장치로, 멀티태스킹과 병렬 처리가 가능하게 합니다.