본문 바로가기

Computer Science/컴퓨터 구조

중앙 처리 장치 (Central Processing Unit, CPU)

중앙 처리 장치(CPU)는 컴퓨터의 가장 핵심적인 부품으로, 인간의 두뇌에 해당합니다. 프로그램의 명령어를 읽고, 해석하며, 직접 실행하여 컴퓨터 시스템의 모든 동작을 제어하고 데이터를 처리하는 역할을 합니다.


1.  CPU의 주요 구성 요소

CPU는 크게 세 가지 핵심 장치와 일부 저장 공간으로 구성됩니다.

A. 연산 장치 (Arithmetic Logic Unit, ALU)

  • 역할: 모든 산술 연산 (덧셈, 뺄셈, 곱셈, 나눗셈 등)과 논리 연산 (AND, OR, NOT, 비교 등)을 수행합니다.
  • 연산의 실제적인 처리가 이루어지는 곳입니다.

B. 제어 장치 (Control Unit, CU)

  • 역할: CPU 내부와 외부 장치들의 동작을 감독하고 제어합니다.
  • 메모리에서 명령어를 읽어와 해석하고, 그 해석 결과에 따라 ALU, 레지스터, 그리고 I/O 장치에 적절한 제어 신호를 보냅니다. CPU 작동의 총지휘자입니다.

C. 레지스터 (Register) 

  • 역할: CPU 내부에서 데이터를 일시적으로 저장하는 초고속 임시 기억 장치입니다.
  • 메모리 계층 구조 중 가장 빠른 저장 공간이며, CPU가 명령을 처리하는 데 필요한 데이터(피연산자)나 주소, 그리고 중간 결과 등을 저장합니다.
    • PC (Program Counter, 프로그램 카운터): 다음에 실행할 명령어의 메모리 주소를 저장합니다.
    • IR (Instruction Register, 명령어 레지스터): 현재 인출하여 해독 중인 명령어를 저장합니다.

2.  CPU의 명령어 처리 과정 (Instruction Cycle)

CPU는 프로그램 명령어를 다음과 같은 4단계의 순환 과정을 통해 처리합니다.

  1. 인출 (Fetch): 제어 장치가 프로그램 카운터(PC)에 저장된 주소를 이용하여 메모리에서 다음 실행할 명령어를 가져와 명령어 레지스터(IR)에 저장하고, PC 값을 갱신합니다.
  2. 해독 (Decode): 제어 장치가 IR에 있는 명령어를 해석하여 어떤 연산을 수행해야 하는지 파악합니다.
  3. 실행 (Execute): 해석된 명령어에 따라 ALU를 사용하여 실제적인 연산을 수행합니다.
  4. 저장 (Write Back): 연산 결과를 메모리나 레지스터에 기록합니다.

3.  CPU 성능 향상 기술

CPU는 더 많은 명령어를 더 빠르게 처리하기 위해 다양한 고급 기술을 사용합니다.

A. 파이프라이닝 (Pipelining)

  • 명령어 사이클의 각 단계(인출, 해독, 실행, 저장)를 서로 다른 독립적인 장치에서 수행하게 하고, 이들을 겹쳐서(Overlapping) 동시에 처리하는 기법입니다.
  • 처리량을 획기적으로 높여 CPU 성능을 향상시킵니다. (예: 공장의 조립 라인)

B. 캐시 메모리 (Cache Memory)

  • CPU와 주기억 장치(RAM) 사이에 위치하는 초고속 임시 저장소입니다.
  • CPU가 자주 사용하는 데이터나 명령어를 미리 저장해 두었다가 빠르게 공급하여, 느린 RAM 접근을 줄여 속도 병목 현상을 완화합니다. (L1, L2, L3와 같은 계층 구조를 가집니다.)

C. 멀티 코어 (Multi-Core)

  • 하나의 물리적인 CPU 칩 안에 연산 장치와 제어 장치를 가진 독립적인 코어(Core)를 여러 개 집적한 것입니다.
  • 각 코어가 독립적인 스레드를 동시에 처리하여 병렬 처리 능력을 극대화합니다. (예: 쿼드 코어는 4개의 코어)

D. 하이퍼스레딩 (Hyper-Threading, SMT)

  • 하나의 물리적인 CPU 코어가 두 개의 스레드를 동시에 처리할 수 있도록 논리적인 CPU를 나누는 기술입니다.
  • 물리적 코어는 하나지만, 운영체제에는 두 개의 논리적 프로세서로 인식되어 코어의 활용 효율을 높입니다.