CPU의 제어장치

CPU에서 제어장치(CU, Control Unit)는 지휘자 역할을 수행하는 핵심 구성 요소입니다.
프로그램으로부터 전달된 명령어를 해석하고, CPU 내부와 메모리, 입출력 장치 등에 제어 신호를 보내 각 구성 요소가 올바르게 동작하도록 조율합니다.

즉, CPU가 언제, 어떤 데이터를 처리할지를 결정하고 지시하는 장치입니다.
또한 CPU 제조사마다 제어장치의 구현 방식, 명령어를 해석하는 방식 그리고 처리하는 정보의 형태에는 차이가 있을 수 있습니다.

동작 흐름

제어장치는 다양한 입력을 받아 이를 기반으로 제어 신호를 생성합니다.

주요 흐름은 다음과 같습니다.

Instruction_Example1
출처: 강민철, 『혼자 공부하는 컴퓨터 구조+운영체제』, 한빛미디어, 2022, 108쪽

  1. 클럭(Clock) 신호 수신
    • 먼저 클럭 신호를 받아들입니다.
  2. 명령어 수신 및 해석
    • 명령어 레지스터(IR)에 저장된 명령어를 받아 해석합니다.
    • CPU의 Decode 단계에 해당하며, 해석 결과를 바탕으로 수행해야 할 작업을 결정하고 제어 신호를 생성하여 컴퓨터 부품들에 해당 내용을 알려줍니다.
  3. 플래그(Flag) 정보 수신
    • 플래그 레지스터의 값을 참고합니다.
    • ALU 연산 결과에 대한 상태 정보를 가져와 해당 정보를 기반으로 조건 분기 등 다음 동작을 결정합니다.
  4. 외부 제어 신호 수신
    • 시스템 버스 중 제어 버스를 통해 전달된 외부 제어 신호도 받아들입니다.
    • 이 신호는 CPU 외부 장치(예: 입출력 장치)에서도 발생할 수 있으며, 이를 통해 CPU는 외부 상태 변화에 대응할 수 있습니다.

제어 신호의 출력

제어장치는 위 입력들을 종합하여 제어 신호를 생성하고, 이를 CPU 내부와 외부로 전달합니다.

CPU 외부로 제어 신호를 보낼 때에는 제어 버스를 통하며, 대표적으로 다음과 같은 신호가 있습니다.

  • 메모리 제어 신호
    • 데이터 읽기, 쓰기
  • 입출력 장치 제어 신호
    • 입력 데이터 읽기
    • 출력 데이터 전달

CPU 내부로 전달되는제어 신호는 대표적으로 다음과 같은 신호가 있습니다.

  • ALU 제어 신호
    • 수행할 연산 종류 지정(덧셈, 뺄셈 등)
  • 레지스터 제어 신호
    • 레지스터 간 데이터 이동
    • 특정 레지스터에 데이터 저장

ComputerScience 카테고리 내 다른 글 보러가기

댓글남기기