컴퓨터의 핵심은 바로 중앙처리장치(CPU)다. CPU는 우리가 사용하는 모든 프로그램과 시스템의 근간이 되는 명령어를 처리하고, 다양한 작업을 빠르게 수행할 수 있도록 한다.
이 글에서는 CPU의 구성 요소와 동작 원리에 대해 살펴보고, CPU가 어떻게 명령어를 인식하고 처리하는지에 대해 자세히 알아볼 것이다. 또한 연산 장치(ALU), 제어 장치(CU), 레지스터 등 CPU의 내부 구조와 그 역할을 구체적으로 다룰 것이다.
중앙처리장치(CPU)는 컴퓨터 시스템의 모든 장치의 동작을 제어하고 명령을 실행하는 장치로, 마치 사람의 두뇌와 같은 역할을 한다. 주기억 장치에서 명령어를 읽어들이고 이를 해석하여 수행하는 작업을 통해 시스템이 원하는 작업을 처리한다.

CPU는 크게 연산 장치, 제어 장치, 레지스터로 구성된다.
연산 장치는 컴퓨터의 산술 연산과 논리 연산을 수행하는 기능을 가진 장치다. 이 장치는 레지스터에서 연산에 필요한 데이터를 가져와서 연산을 수행한 후, 그 결과를 다시 레지스터로 보낸다.

💡 레지스터를 활용하는 이유?
CPU와 메모리 간의 데이터 전송 속도 차이를 보완하기 위해, 레지스터는 데이터의 임시 저장 및 처리를 담당한다. ALU는 연산 결과를 플래그 레지스터에 저장하여 추가적인 상태 정보를 제공하며, 이는 프로그램의 실행 상황을 신속하고 정확하게 파악하는 데 중요한 역할을 한다.
제어 장치는 명령어를 순서대로 실행할 수 있도록 제어하는 장치다. 주기억 장치에서 프로그램 명령어를 읽어 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억 장치, 연산 장치, 입출력 장치로 전달한다. 또한, 다른 장치로부터 신호를 받아 다음에 수행할 동작을 결정한다.
레지스터는 컴퓨터 내에서 가장 빠른 기억 장치로, 프로그램의 명령어와 데이터를 실행 전후에 저장한다. 레지스터의 값만 잘 관찰해도 프로그램의 실행 흐름을 파악할 수 있다.
컴퓨터 시스템에서 명령어와 데이터가 처리되는 기본적인 과정은 다음과 같다:
명령어 사이클은 CPU가 하나의 명령어를 처리하는 과정이다.

💡 ISA(Instruction Set Architecture)란?
ISA(명령어 집합 구조)는 CPU가 이해하고 실행할 수 있는 명령어의 집합과, 그 명령어들이 어떻게 실행되는지를 설명하는 규칙을 말한다. ISA는 CPU와 소프트웨어(프로그램) 사이의 인터페이스로, 하드웨어가 지원하는 명령어, 레지스터, 주소 지정 방식, 메모리 구조, 데이터 타입 등을 정의한다.
인출 사이클은 CPU가 주기억 장치에서 명령어를 가져오는 단계이다:
[T0]
MAR <- PC ; 프로그램 카운터의 값을 메모리 주소 레지스터로 복사
[T1]
MBR <- M[MAR] ; 메모리 주소 레지스터가 가리키는 주소의 명령어를 메모리 버퍼 레지스터로 읽어옴
PC <- PC + 1 ; 프로그램 카운터를 증가시켜 다음 명령어의 주소를 가리킴
[T2]
IR <- MBR ; 메모리 버퍼 레지스터의 명령어를 명령어 레지스터로 복사
실행 사이클은 CPU가 명령어를 해석하고 실행하는 과정이다:
[T1] Decode IR
[T2] MAR <- Address from IR ; IR에 지정된 주소를 MAR로 복사
[T3] MBR <- M[MAR] ; 주기억 장치에서 오퍼랜드를 읽어 MBR에 저장
[T4] AC <- AC + MBR ; 누산기(AC)와 MBR의 값을 더하여 결과를 AC에 저장
**[T5] M[MAR] <- AC ; 연산 결과를 주기억 장치에 저장**
인터럽트 사이클이란 예외 상황이 발생했을 때, 기존 작업을 멈추고 인터럽트를 처리하는 과정이다. 인터럽트가 발생하면 CPU는 인터럽트 서비스 루틴(ISR)을 호출하여 예외를 처리하고, 이후 다시 정상적인 명령어 인출 과정으로 돌아간다.
컴퓨터의 구성 요소 중 가장 핵심이라고 할 수 있는 CPU에 대해 알아봤다. 한 번 공부하고 다시 봐도 여전히 복잡한 부분이 많다. 단순한 덧셈 연산을 예시로 들어 CPU의 동작 과정을 설명하려 해도, 아직은 조금 더듬거리며 대답하는 수준에 머문다.
CPU에 대한 이해는 단순히 컴퓨터의 하드웨어적인 지식에서 끝나는 것이 아니라, 이후 이어서 공부할 운영체제 쪽에서도 상당히 중요하게 다루어진다. 이번에 공부한 내용이 중요한 기초가 될 것이기 때문에 더더욱 열심히 공부하자 나자신..!
Reference