kimyenac
techblog
cs
CPU 동작 원리
2026-04-16

컴퓨터가 프로그램을 실행할 때, 그 중심에는 항상 CPU (Central Processing Unit)가 있습니다. CPU 는 단순히 "연산하는 장치"가 아니라, 명령을 읽고 -> 해석하고 -> 실행하는 전체 흐름을 담당하는 두뇌입니다. 해당 포스팅에서는 CPU 가 실제로 어떻게 동작하는 지, 내부 구성 요소와 함께 이해하기 쉽게 정리해보고자 합니다.




CPU 핵심 구성 요소와 동작 핵심

CPU 는 크게 3가지로 나눌 수 있습니다.

첫 번째는 ALU (산술논리연산장치) 로, 덧셈과 뺄셈 같은 산술 연산 뿐 아니라 AND, OR 와 같은 논리 연산도 수행하는 계산기 역할을 하는 장치입니다.

두 번째는 Control Unit (제어 장치) 로, 명령어를 해석하고 어떤 연산을 할 지 결정하며 다른 부품들에게 '이거 실행해!' 라고 신호를 보내는 지휘자와 같은 역할을 하는 장치입니다.

세 번째는 Register (레지스터) 로, CPU 내부에 있는 아주 빠른 메모리로써 연산에 필요한 데이터를 잠깐 저장하는 작업대 위 메모장과 같은 역할을 하는 메모리입니다.

CPU 는 프로그램을 다음 3단계 반복으로 실행합니다.

[1] Fetch   → 명령어 가져오기
[2] Decode  → 명령어 해석하기
[3] Execute → 실행하기




CPU 전체 흐름

아래는 CPU 동작 흐름을 단순화한 구조입니다.

        +-------------------+
        |     Memory        |
        | (명령어 + 데이터) |
        +---------+---------+
                  |
                  v
        +-------------------+
        |    Fetch Stage    |
        | (명령어 읽기)     |
        +---------+---------+
                  |
                  v
        +-------------------+
        |    Decode Stage   |
        | (명령어 해석)     |
        +---------+---------+
                  |
                  v
        +-------------------+
        |   Execute Stage   |
        | (ALU 연산 수행)   |
        +---------+---------+
                  |
                  v
        +-------------------+
        |   Register/Memory |
        | (결과 저장)       |
        +-------------------+

실제로 한 줄의 코드가 실행되는 과정을 설명하기 위해, 예로 아래와 같은 코드가 있다고 하면

int a = 1 + 2;

CPU 내부에서는 Fetch: 메모리에서 ADD 1, 2와 같은 명령어를 가져오고, Decode: ALU 에게 덧셈 준비하라고 신호를 보낸 다음, Execute: ALU 가 1 + 2 = 3 계산하여 결과를 레지스터에 저장하는 플로우입니다.





클럭 (Clock) 이 중요한 이유 & 파이프라이닝 (Pipelining)

CPU 는 클럭 신호 (Clock Signal) 에 맞춰 움직입니다.
1초에 몇 번 동작하는 지 = 클럭 속도 (GHz) 로, 예시로 3GHz 라고 하면 초당 30억 번 사이클을 도는 것을 의미합니다. 여기서 중요한 점은 CPU 는 "한 번에 하나의 단계" 를 처리하는 것이 아니라 클럭마다 한 단계씩 진행한다는 점입니다.

현재 CPU 는 단순히 한 명령씩 처리하지 않고, 여러 명령을 겹쳐서 처리합니다. (= 파이프라이닝)

시간 →
Instr1: Fetch → Decode → Execute
Instr2:        Fetch → Decode → Execute
Instr3:               Fetch → Decode → Execute

이를 통해 동시에 여러 작업을 처리하여 CPU 활용도가 증가되고, 성능을 향상시킬 수 있습니다.





CPU vs 메모리 속도 차이 (병목의 시작)

CPU 는 매우 빠르지만, 메모리는 상대적으로 느린데 그래서 등작한 것이 Cache Memory (캐시) 로, CPU 바로 옆에 있는 초고속 메모리로써 자주 쓰는 데이터를 저장할 때 쓰입니다.

CPU → Cache → RAM → Disk




마무리

한 줄 요약으로 마무리한다면, CPU 는 단순히 계산만 하는 게 아니라, 명령을 읽고 (Fetch), 해석하고 (Decode), 실행 (Execute) 하는 사이클을 반복하는 시스템입니다.






Reference