Computer Science

[컴퓨터구조] CPU의 구성요소와 CPU의 동작

minjiwoo 2023. 3. 27. 14:05
728x90

폰노이만 구조에서 컴퓨터를 구성하는 기본 골격은 CPU, 메모리, 디스크이다. 추가적으로 I/O 장치까지 있다면 기본적인 컴퓨터 구조가 될 것이다. 이중 CPU 는 연산을 수행하고, 기억 장치에 있는 명령어들을 적재하고 수행하는 부품이다.

CPU가 동작하는 것을 간단히 살펴보면 다음 그림과 같다.

  • Memory에서 수행할 다음 명령어를 CPU로 적재해야 한다.
  • PC (Program Counter)는 Fetch할 명령어 주소를 가지고 있다. 프로세스는 PC가 가리키는 주소에 있는 명령어를 가져오면서 PC값을 증가시킨다.
  • 명령어가 CPU로 적재되는 것을 Fetch라고 하는데 CPU와 Memory는 Bus로 연결되어 있다.
  • 가져온 현재 명령어는 IR(Instruction Register)에 임시 저장된다.
  • 로드된 명령어는 ALU(연산장치)에서 처리된다.

CPU 구성요소

CPU는 간단하게 살펴보면 제어장치, 연산장치 (ALU), 레지스터 그리고 각 구성요소들을 연결하는 내부 버스로 구성되어 있다.

제어장치 (CU, Control Unit)

  • PC, 명령 해독기, 부호기, 명령 레지스터(IR)로 구성된다.
  • 기억장치에서 프로그램의 명령어들을 순차적으로 꺼내어 해독하고, 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력 장치로 보낸다. 

ALU (Arithmetic and Logical Unit, 연산장치)

  • 명령어를 실행하기 위해 마이크로 연산을 수행한다.
  • 연산에 필요한 자료를 입력받아 산술, 논리, 관계, shift 연산을 수행한다.

Register

  • 소규모의 고속 기억 장치로 메모리 계층에서는 최상위에 위치한다.
  • 가장 빠른 속도로 접근 가능한 메모리이다.
  • 명령어 주소, 코드, 연산에 필요한 데이터
  • 용도에 따라 범용 레지스터와 특수 목적 레지스터로 나뉜다.

특수 목적 레지스터의 종류

  • MAR (Memory Address Register) : 읽기, 쓰기연산을 수행할 데이터가 주기억장치의 어느 위치에 있는지 저장
  • MBR (Memory Buffer Register) : 주기억장치에서 가져온 데이터를 실제로 저장하는 장소
  • AC (Accumulator, 누산기) : 산술 논리 장치의 연산 결과를 임시 저장
  • PC (Program Counter) : 다음에 실행될 명령어의 주소를 저장한다.
  • IR (Instruction Register, 명령어 레지스터) : 명령어를 호출해서 해독하기 위해 현재 명령어를 임시로 저장

 

CPU가 하나의 명령어를 수행하는 과정

Fetch → Decode → Execute → Writeback

  1. Fetch (명령어 읽기): 메모리 상의 PC가 가리키는 명령어를 CPU로 인출하여 적재한다
  2. Decode (명령어 해석): 명령어를 해석한다. 명령어의 종류와 타겟을 판단한다.
  3. Execute (명령어 실행): 해석된 명령어에 따라 데이터에 대한 연산을 수행한다.
  4. Writeback (기록): 명령어대로 수행한 데이터를 기록한다.
728x90