[ComputerScience] CPU의 제어장치
CPU의 제어장치
CPU에서 제어장치(CU, Control Unit)는 지휘자 역할을 수행하는 핵심 구성 요소입니다.
프로그램으로부터 전달된 명령어를 해석하고, CPU 내부와 메모리, 입출력 장치 등에 제어 신호를 보내 각 구성 요소가 올바르게 동작하도록 조율합니다.
즉, CPU가 언제, 어떤 데이터를 처리할지를 결정하고 지시하는 장치입니다.
또한 CPU 제조사마다 제어장치의 구현 방식, 명령어를 해석하는 방식 그리고 처리하는 정보의 형태에는 차이가 있을 수 있습니다.
동작 흐름
제어장치는 다양한 입력을 받아 이를 기반으로 제어 신호를 생성합니다.
주요 흐름은 다음과 같습니다.

출처: 강민철, 『혼자 공부하는 컴퓨터 구조+운영체제』, 한빛미디어, 2022, 108쪽
- 클럭(Clock) 신호 수신
- 먼저 클럭 신호를 받아들입니다.
- 명령어 수신 및 해석
- 명령어 레지스터(IR)에 저장된 명령어를 받아 해석합니다.
- CPU의 Decode 단계에 해당하며, 해석 결과를 바탕으로 수행해야 할 작업을 결정하고 제어 신호를 생성하여 컴퓨터 부품들에 해당 내용을 알려줍니다.
- 플래그(Flag) 정보 수신
- 플래그 레지스터의 값을 참고합니다.
- ALU 연산 결과에 대한 상태 정보를 가져와 해당 정보를 기반으로 조건 분기 등 다음 동작을 결정합니다.
- 외부 제어 신호 수신
- 시스템 버스 중 제어 버스를 통해 전달된 외부 제어 신호도 받아들입니다.
- 이 신호는 CPU 외부 장치(예: 입출력 장치)에서도 발생할 수 있으며, 이를 통해 CPU는 외부 상태 변화에 대응할 수 있습니다.
제어 신호의 출력
제어장치는 위 입력들을 종합하여 제어 신호를 생성하고, 이를 CPU 내부와 외부로 전달합니다.
CPU 외부로 제어 신호를 보낼 때에는 제어 버스를 통하며, 대표적으로 다음과 같은 신호가 있습니다.
- 메모리 제어 신호
- 데이터 읽기, 쓰기
- 입출력 장치 제어 신호
- 입력 데이터 읽기
- 출력 데이터 전달
CPU 내부로 전달되는제어 신호는 대표적으로 다음과 같은 신호가 있습니다.
- ALU 제어 신호
- 수행할 연산 종류 지정(덧셈, 뺄셈 등)
- 레지스터 제어 신호
- 레지스터 간 데이터 이동
- 특정 레지스터에 데이터 저장
댓글남기기