CPU

CPU(중앙처리장치)는 컴퓨터 시스템의 핵심 구성요소로, 프로그램의 명령어를 해석하고 실행하는 역할을 한다.

CPU의 주요 구성요소

CPU는 크게 세 가지 주요 구성요소로 이루어져 있다

  1. 제어장치 (Control Unit, CU)
  2. 산술논리장치 (Arithmetic Logic Unit, ALU)
  3. 레지스터 (Registers)

제어장치 (Control Unit)

제어장치는 CPU의 ‘교통 경찰’ 역할을 한다.

주요 기능:

  • 명령어를 순서대로 실행할 수 있도록 제어
  • 주기억장치로부터 프로그램 명령을 순차적으로 가져와 해독
  • 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력 장치 등으로 전송

산술논리장치 (ALU)

ALU는 CPU 내에서 실제 연산을 수행하는 부분

주요 기능:

  • 산술 연산 (덧셈, 뺄셈, 곱셈, 나눗셈)
  • 논리 연산 (AND, OR, NOT 등)
  • 비교 연산

레지스터 (Registers)

레지스터는 CPU 내부의 고속 소규모 기억장치

주요 특징:

  • 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장
  • 메모리 계층의 최상위에 위치하며 가장 빠른 속도로 접근 가능
  • 용도에 따라 범용 레지스터와 특수 목적 레지스터로 구분

CPU의 작동 과정

CPU의 작동 과정은 크게 명령어 사이클(Instruction Cycle)로 설명할 수 있다.
이 사이클은 다음과 같은 단계로 구성된다.:

  1. 인출 (Fetch)
  2. 해독 (Decode)
  3. 실행 (Execute)
  4. 쓰기 (Write-back)

1. 인출 (Fetch)

  • 프로그램 카운터(PC)에 저장된 주소를 메모리 주소 레지스터(MAR)로 전달
  • MAR에 저장된 주소를 이용해 주기억장치에서 명령어를 가져옴
  • 가져온 명령어를 메모리 버퍼 레지스터(MBR)에 저장
  • 다음 명령어를 위해 PC 값을 증가시킴
  • MBR의 내용을 명령어 레지스터(IR)로 전달

2. 해독 (Decode)

제어장치가 IR에 저장된 명령어를 해석하여 수행해야 할 작업을 결정한다.

3. 실행 (Execute)

해독된 명령어에 따라 ALU나 다른 CPU 구성요소가 실제 연산을 수행한다.

4. 쓰기 (Write-back)

연산 결과를 메모리나 레지스터에 저장한다.

고급 CPU 기능

현대의 CPU는 성능 향상을 위해 다양한 기술을 사용한다.

  1. 캐시 메모리
    CPU는 자주 사용되는 데이터와 명령어를 캐시에 저장하여 접근 속도를 높인다.
  2. 명령어 파이프라이닝
    CPU는 여러 명령어를 동시에 처리하기 위해 파이프라이닝 기법을 사용한다.
    한 명령어가 해독 단계에 있을 때 다른 명령어의 인출을 시작하는 방식으로 작동한다.
  3. 인터럽트 처리
    CPU는 키보드나 마우스 같은 주변 장치로부터의 입력을 처리하기 위해 인터럽트 메커니즘을 사용한다.
    인터럽트가 발생하면 CPU는 현재 작업을 일시 중단하고 인터럽트를 처리한 후 원래 작업으로 돌아간다.
    이러한 복잡한 메커니즘을 통해 CPU는 초당 수십억 개의 명령어를 처리할 수 있으며, 이는 현대 컴퓨터 시스템의 핵심 성능을 결정짓는 요소가 된다.

참고 및 출처