Computer Science/Computer Architecture

[컴퓨터 구조] CPU란 무엇인가? 컴퓨터의 두뇌 파헤치기!

ggyongi 2024. 12. 24. 23:50

CPU 

중앙처리장치로, 프로그램 명령을 해석하고 실행하는 역할.

사람의 두뇌에 해당.

1. 연산장치

산술논리 연산 장치(ALU)

사칙연산 등의 산술연산과 AND, OR 등의 논리연산을 담당

2. 제어 장치

명령어를 해독하는 기능과 제어 신호를 해당 장치에 전달하는 역할.

CPU 내부와 다른 하드웨어 장치 간의 데이터 흐름을 관리.

  - 명령어 해독기: 명령어 레지스터의 명령어를 해독하여 수행할 연산을 결정. 수행할 연산이 연산장치에서 실행되게 함.

3. 레지스터

CPU 내부의 고속 저장 공간으로, 현재 처리 중인 데이터를 임시로 저장.

CPU 내부의 대표적인 레지스터.

  - 기억장치 버퍼 레지스터(Memory Buffer Register): 주기억 장치에서 읽어온 명령어를 임시 저장. CPU와 메모리 사이의 다리 역할

  - 기억장치 주소 레지스터(Memory Address Register): 명령어 레지스터에 저장된 명령어의 주소를 저장 

  - 명령어 레지스터(Instruction Register): 실행중인 명령어를 저장

  - 프로그램 카운터(PC): 다음에 인출할 명령어의 주소를 저장. CPU가 다음에 어디로 가야 할지 알려주는 네비게이션 역할

 

명령어처리 흐름(제어장치 및 레지스터)

1. 명령어 인출 (Fetch)

  1. 프로그램 카운터(PC)에 다음에 실행할 명령어 주소를 저장하고 있음.
  2. 기억장치 주소 레지스터(MAR)에 PC 값을 복사. 주기억장치에서 데이터를 읽어올 주소를 지정.
  3. 주기억 장치에서 읽어온 명령어를 기억장치 버퍼 레지스터(MBR)에 임시 저장, 데이터를 명령어 레지스터로 전달

2. 명령어 해독 (Decode)

  1. 명령어 레지스터는 MBR에서 가져온 명령어를 저장
  2. 명령어 해독기에서 수행해야 할 작업을 분석

3. 명령어 실행 (Execute)

  1. 명령어의 종류에 따라 '연산 장치(ARU)'를 통해 연산이 수행되거나
    데이터의 입출력 또는 메모리 접근 등의 작업이 이루어집
  2. 결과를 레지스터 또는 주기억 장치에 저장

4. 프로그램 카운터 갱신

현재 명령어가 끝난 뒤 다음 명령어의 주소를 프로그램 카운터(PC)에 저장

 

이렇게 명령어의 인출-해독-실행이 반복되면서 프로그램이 실행됨.