CS/컴퓨터 구조론

컴퓨터 구조론 2장 [CPU의 구조와 기능 - CPU의 기본 구조]

devrabbit22 2025. 3. 12. 00:46

CPU는 기억장치에 저장되어 있는 프로그램 코드인 명령어들을 실행함으로서 프로그램 수행이라는 컴퓨터의 기본적인 기능을 수행한다.

CPU가 수행해야 하는 세부적인 동작들

  1. 명령어 인출(Instruction fetch) : 기억장치로부터 명령어를 읽어온다.
  2. 명령어 해독(Instruction decode) : 수행해야 할 동작을 결정하기 위하여 명령어를 해독한다.
  3. 데이터 인출(Data fetch) : 명령어 실행을 위하여 데이터가 필요한 경우 기억장치 혹은 I/O장치로부터 그 데이터를 읽어온다.
  4. 데이터 처리(Data process) : 데이터에 대한 산술적 혹은 논리적 연산을 수행한다.
  5. 데이터 저장(Data store) : 수행한 결과를 저장한다.
  • 첫번째 동작과 두번째 동작은 모든 명령어들에 대하여 공통적으로 수행된다.
  • 세번째 동작 부터 마지막 동작까지의 동작들은 명령어에 따라 필요한 경웅에만 수행된다.
  • 명령어 실행 속도를 위한 주요 기술 : 파이프라이닝(Pipelining)

 

CPU는 산술논리연산장치(Arithmetic and Logical Unit : ALU)와 레지스터 셋(Register set) 및 제어 유니트(Control Unit)으로 구성된다.

  • ALU : 산술 및 논리연산들을 수행하는 회로들로 이루어진 하드웨어 모듈.
  • 산술 연산 : 덧셈, 뺄셈, 곱셈 및 나눗셈
  • 논리연산 : AND, OR, NOT연산 등

CPU의 내부 구조 및 시스템 버스와의 접속

레지스터

  • 레지스터는 CPU 내부에 위치한 기억장치이다.
  • 액세스 속도가 컴퓨터의 기억장치들 중에서 가장 빠르다.
  • 내부 회로가 복잡하여 비교적 큰 공간을 차지하기 때문에, 많은 수의 레지스터들을 CPU의 내부에 포함시키기 어렵다.
  • 따라서 지정된 용도로만 사용되는 특수 목적용 레지스터들과 적은 수의 일반 목적용 레지스터들만이 포함된다.

제어 유니트

프로그램 코드(명령어)를 해석하고, 그것을 실행하기 위한 제어 신호들(Control Signals)을 순차적으로 발생하는 하드웨어 모듈이다.

  • 명령어 실행에 필요한 각종 정보들의 전송 통로와 방향을 지정해준다.
  • CPU 내부 요소들과 시스템 구성 요소들의 동작 시간도 결정한다.
  • 제어 신호들의 종류와 발생 시간은 명령어 마다 서로 다르다.
  • CPU가 제공하는 명령어들의 수가 많아질 수록 제어 유니트의 내부 회로는 더 복잡해진다.
  • 복잡도를 줄이기 위하여 제어 유니트의 동작을 소프트웨어로 처리해주는 방법
    - 마이크로프로그래밍(microprogramming)
  • 마이크로 프로그래밍 방법을 이용하면 명령어 실행 시간이 길어지기 때문에, 최근에는 명령어의 수를 가능한 줄이고 명령어 형식을 단순화함으로써 ,하드웨어만으로 명령어를 실행할 수 있도록 하는 RISC(Reduced Instruction Set Computer) 설계 개념도 많이 사용되고 있다.

데이터와 제어 신호들의 전송통로 : CPU 내부 버스(CPU Internal Bus)

  • CPU 내부 버스는 ALU와 레지스터들 간의 데이터 이동을 위한 데이터 선들과 주소 선들 그리고 제어 유니트로 부터 발생되는 제어 신호들을 전송하는 선들로 구성된다.
  • 내부 버스 선들은 외부의 시스템 버스와는 직접 연결되지 않으며, 반드시 버퍼 레지스터 혹은 인터페이스 회로를 통하여 시스템 버스와 접속된다.

Reference

컴퓨터 구조론 개정 5판