본문 바로가기

[하드웨어 뜯어보기] CPU #4 - 레지스터(Register), 순간의 기억

📑 목차

    순간의 기억으로 세상을 계산하다 - CPU 속 단기기억, 레지스터를 해부해보기

    핵심요약
    레지스터(Register) 는 CPU 내부에서 데이터를 잠시 저장하는 초고속 임시 기억장치입니다.
    ALU가 계산하고, 제어장치가 지휘하는 동안
    레지스터는 “지금 필요한 데이터”를 손에 쥐고 전달합니다.
    CPU의 빠른 판단력은 결국 이 눈 깜짝할 사이의 기억력 덕분입니다.

     

    Registers


    1. 레지스터란 무엇인가?

    레지스터(Register)는 CPU 내부에서 가장 빠르게 접근할 수 있는 초고속 저장공간입니다.
    RAM(메모리)보다 용량은 훨씬 작지만,

    CPU 칩 안쪽 깊숙한 곳에 내장되어 있어 데이터를 불러오거나 저장하는 데 걸리는 시간이 극도로 짧습니다.

    보통 메모리에 접근하는 데 수십~수백 나노초(nanosecond)가 걸리지만,
    레지스터는 단 몇 클럭 사이클, 약 0.3~1ns 만에 데이터를 읽고 쓸 수 있습니다.
    이처럼 CPU가 명령을 실행할 때 “손이 닿는 거리”에 있는 기억장치라 할 수 있습니다.

    프로그램이 실행되는 동안, 레지스터는 필요한 데이터를 잠시 보관하고 즉시 꺼내 쓰는

    임시 기억 공간(Immediate Memory) 으로 작동합니다.
    즉, 메모리처럼 먼 곳에 가지 않고, 바로 옆에 있는 기억을 활용해 CPU가 끊김 없이 사고를 이어갈 수 있도록 돕는 역할을 합니다.

     

    ALU와 제어장치 사이에서,

    • 명령을 저장하고
    • 계산할 데이터를 임시로 보관하며
    • 결과를 전달

    핵심 문장 : 레지스터는 CPU의 단기기억으로, 계산 중 필요한 정보를 잠시 붙잡아두는 공간입니다.


    2. 레지스터의 핵심 구조

    레지스터는 역할에 따라 여러 종류로 나뉩니다.
    각각이 CPU의 특정 기능을 지원하며, 서로 협력합니다.

    1) 명령어 레지스터 (Instruction Register, IR)

    • 현재 실행 중인 명령어를 저장합니다.
    • 제어장치가 “지금 어떤 일을 하는가”를 추적하는 데 사용됩니다.

    2) 프로그램 카운터 (Program Counter, PC)

    • 다음에 실행할 명령어의 주소를 기억합니다.
    • 명령 실행이 끝나면 자동으로 +1 증가하여 다음 명령으로 이동합니다.

    3) 누산기 (Accumulator, ACC)

    • ALU의 연산 결과를 임시 저장합니다.
    • “계산된 값을 잠시 들고 있는 손” 같은 역할을 합니다.

    4) 범용 레지스터 (General Purpose Registers)

    • 예: AX, BX, CX, DX (Intel x86), X0~X30 (ARM)
    • 덧셈, 비교, 반복 등 다양한 연산에 자유롭게 사용됩니다.
    • 현대 CPU에서는 이 범용 레지스터의 활용 효율이 전체 성능을 크게 좌우하기도 합니다.

    5) 상태 레지스터 (Flags / Status Register)

    • ALU 연산의 결과 상태(0, 음수, 오버플로우 등)를 저장합니다.
    • 제어장치가 분기(Branch) 판단 시 참고합니다.

    핵심 문장 : 레지스터는 각각 역할이 분화된 작은 기억칩이며, 협력으로 CPU의 판단과 연산이 이어집니다.


    3. 작동 원리 - CPU의 단기기억 흐름

    레지스터는 명령 실행의 전 과정에 개입합니다.

     

    1) 명령어 가져오기 (Fetch)

    • 프로그램 카운터(PC)가 다음 명령의 주소를 저장하고, 제어장치가 그 주소를 참조해 명령을 메모리에서 가져옵니다.

    2) 명령 해석 (Decode)

    • 가져온 명령은 명령어 레지스터(IR)에 저장되고, 제어장치가 이를 분석해 ALU와 다른 회로에 신호를 보냅니다.

    3) 연산 실행 (Execute)

    • 필요한 데이터는 범용 레지스터에서 ALU로 전달되고, 결과는 다시 누산기(ACC)에 저장됩니다.

    4) 결과 저장 (Store)

    • 필요시 결과를 메모리로 내보내거나, 상태 레지스터에 “결과 플래그”를 남깁니다.

    이러한 흐름은 한 클럭 사이클보다 짧은 시간 안에 순환하며,
    CPU는 매 순간 “현재의 기억(레지스터)”을 기반으로 다음 행동을 결정합니다.

    핵심 문장 : 레지스터는 CPU 명령 주기의 모든 단계에서, ‘지금 필요한 기억’을 유지합니다.


    4. 비유하자면

    레지스터는 단기기억(Working Memory) 에 해당합니다.

    • 제어장치(CU) → 뇌의 계획력 (무엇을 할지 결정)
    • ALU → 실행력 (실제 계산 수행)
    • 레지스터 → 단기기억 (결과를 잠시 기억하고 다음 단계로 전달)

    예를 들어,
    우리가 머릿속으로 “37 + 25”를 계산할 때,

    ‘37’, ‘25’, ‘합계 62’가 잠시 머리에 머무는 그 순간이 바로 레지스터의 역할과 같습니다.

    핵심 문장 : 레지스터는 인간의 ‘순간 기억’처럼, 계산의 흐름을 잇는 짧은 기억의 고리입니다.


    5. 레지스터의 발전 역사

    1940년대 - 전자관 기반의 물리적 스위치 메모리

    초기 컴퓨터(ENIAC)는 수십 개의 스위치를 ‘레지스터’처럼 사용했습니다.
    하나의 스위치가 한 비트를 나타내며, 연산마다 직접 연결을 바꿔야 했습니다.

    1970년대 - 범용 레지스터 등장

    Intel 8080, Motorola 6800 등에서 AX, BX, CX, DX와 같은 범용 레지스터 구조가 도입되어

    프로그래밍이 훨씬 유연해졌습니다.

    이때부터 CPU는 ‘다양한 손과 기억’을 가진 지능형 연산기로 진화하기 시작했습니다.

    1990년대 이후 - 파이프라인과 레지스터 리네이밍

    명령 병렬 처리(Pipeline) 기술이 보편화되면서, 가상의 레지스터(renamed register)를 활용하는 방식이 등장했습니다.
    이는 실제 하드웨어보다 더 많은 ‘논리적 레지스터’를 만들어내어 데이터 병목을 줄이고 성능을 비약적으로 향상시켰습니다.

    핵심 문장 : 레지스터는 스위치에서 시작해, 이제는 가상의 메모리 계층으로 진화했습니다.


    6. 오늘날의 레지스터 - 스마트폰부터 슈퍼컴까지

    현대 CPU에서는 수십~수백 개의 레지스터가 존재합니다.


    예를 들어,

    • x86-64 아키텍처: 16개의 범용 레지스터 + 플래그 + 제어용 레지스터
    • ARM64 (스마트폰): X0~X30의 범용 레지스터 + 전용 시스템 레지스터

    AI 연산이나 그래픽 처리에서도, GPU의 레지스터 파일(Register File) 이 대량의 벡터 데이터를 임시 저장하며
    수천 개의 연산을 동시에 유지합니다.

    핵심 문장 : 레지스터는 오늘날에도 “가장 빠른 기억의 층”으로, CPU의 속도를 결정하는 요인입니다.


    7. 레지스터 파일(Register File) - 협력하는 기억의 집합체

    CPU 속 레지스터는 하나의 칩이 아니라,
    수십~수백 개의 작은 기억 셀들이 모여 이루어진 ‘레지스터 파일(Register File)’ 형태로 존재합니다.
    즉, 여러 개의 단기기억이 서로 나란히 배치되어 동시에 작동하는 구조입니다.

    이 레지스터 파일은 각각의 셀이 독립된 통로(포트)를 가지고 있어 여러 데이터가 한 순간에 읽히고 쓰일 수 있는 병렬 구조를 이룹니다.
    이를 통해 CPU는 여러 연산 단위를 동시에 움직이는 ‘슈퍼스칼라(Superscalar)’나 ‘파이프라인’ 같은 기술을 효율적으로 수행할 수 있습니다.

    핵심 문장 : 레지스터 파일은 여러 개의 단기 기억이 동시에 작동해, CPU가 한순간에 여러 일을 처리할 수 있도록 돕는 협력형 기억 구조입니다.

     


    8. 한 문장 요약

    레지스터는 CPU의 ‘순간 기억력’으로, 모든 계산의 연결고리를 유지합니다.

     


    9. 다음 편 예고

    다음 글에서는
    레지스터 바로 다음 단계의 기억 공간, CPU 캐시 메모리가 어떻게 속도와 효율의 균형을 맞추는지 살펴봅니다.

     

     다음 글 : [컴퓨터 과학] - [하드웨어 뜯어보기] CPU #5 - 캐시(Cache), 기억이 빠른 이유

     

    [하드웨어 뜯어보기] CPU #5 - 캐시(Cache), 기억이 빠른 이유

    두뇌의 반사신경처럼 작동하는 CPU의 기억력 가속 장치, 캐시를 파헤쳐보기핵심요약캐시(Cache)는 CPU의 기억력 가속 장치입니다.레지스터보다 느리지만 메모리보다 훨씬 빠른 중간 기억 공간입니

    snappytory.com