🧠 ALU와 제어장치
CPU의 핵심 구성 요소인 ALU와 제어장치의 역할과 정보 흐름을 알아보자.
두 장치가 어떤 정보를 주고받는지를 중심으로 학습한다.
⚙️ 1. ALU (Arithmetic Logic Unit)

🔸 ALU가 받아들이는 정보
- 피연산자: 레지스터로부터 데이터를 받아 연산에 사용한다.
- 제어 신호(Control Signal): 제어장치로부터 수행할 연산의 종류(덧셈, 뺄셈, 논리곱 등)를 전달받는다.
💡 즉, ALU는 레지스터의 피연산자와 제어장치의 제어 신호를 입력으로 받아 연산을 수행한다.
🔸 ALU가 내보내는 정보
- 연산 결과: 수행 결과는 메모리에 직접 저장되지 않고, 레지스터에 일시적으로 저장된다.
(메모리 접근은 느리기 때문에 CPU 효율을 위해 레지스터를 활용한다.)
- 플래그(Flag): 연산 결과에 대한 상태 정보를 나타내는 부가 신호를 함께 내보낸다.
🧩 플래그(Flag)
“이진수 결과만으로는 상태(양수/음수 등)를 알기 어렵기 때문에, 이를 표시하는 신호를 플래그라고 한다.”
| 플래그 종류 | 의미 | 사용 예시 |
|---|
| 부호 플래그 (Sign Flag) | 연산 결과의 부호를 나타냄 | 1이면 음수, 0이면 양수 |
| 제로 플래그 (Zero Flag) | 연산 결과가 0인지 여부를 나타냄 | 결과가 0일 때 1 |
| 캐리 플래그 (Carry Flag) | 올림수나 빌림수가 발생했는지 나타냄 | 덧셈/뺄셈 시 자릿수 초과 감지 |
| 오버플로우 플래그 (Overflow Flag) | 연산 결과가 표현 범위를 초과했는지 나타냄 | 정수 범위 초과 시 1 |
| 인터럽트 플래그 (Interrupt Flag) | 인터럽트 허용 여부를 제어 | 1이면 인터럽트 가능 |
| 슈퍼바이저 플래그 (Supervisor Flag) | 커널 모드/사용자 모드 구분 | 시스템 모드 제어에 사용 |
- 이러한 플래그들은 플래그 레지스터에 저장된다.
- ALU가 연산을 수행한 후, 제어장치는 플래그 값을 참고해 다음 동작을 결정한다.
🧭 2. 제어장치 (Control Unit)

“제어장치는 CPU 내부의 각 부품을 관리하고 작동시키는 신호를 내보내는 두뇌 역할을 한다.”
제어신호(Control Signal)는 컴퓨터 부품을 제어하는 전기 신호이다.
🔹 제어장치의 주요 역할
-
클럭 신호(Clock Signal) 수신
- 클럭은 컴퓨터 내부의 모든 부품을 동기화시키는 시간 단위이다.
- 한 클럭 주기마다 데이터 이동, 명령어 실행, 연산 등이 이루어진다.
- 모든 명령이 한 클럭만에 수행되는 것은 아니며, 복잡한 명령은 여러 클럭에 걸쳐 실행된다.
-
명령어 해석 (Instruction Decoding)
- CPU가 처리할 명령어는 명령어 레지스터(IR) 에 저장된다.
- 제어장치는 IR의 명령어를 해석하고, 필요한 제어신호를 생성하여 각 부품에 전달한다.
-
플래그 레지스터 참조
- 제어장치는 ALU가 설정한 플래그 값을 참고하여 다음 동작(분기, 반복, 중단 등)을 결정한다.
-
외부 제어신호 수신
- 제어 버스(Control Bus)를 통해 입출력장치나 외부 장치에서 발생한 제어신호를 받아들인다.
- 예: 인터럽트 요청, I/O 제어 명령 등.
🔹 제어장치가 내보내는 정보
-
CPU 외부로 보내는 제어신호
- 제어 버스를 통해 메모리나 입출력장치에 제어 명령을 보낸다.
- 예: 메모리 읽기(Read) / 쓰기(Write) 신호, 입출력장치 활성화 신호 등.
-
CPU 내부로 보내는 제어신호
- ALU에 수행할 연산을 지시한다.
- 레지스터 간 데이터 이동, 명령어 해석, 결과 저장 등을 지시한다.
🧩 정리
| 구성요소 | 입력 정보 | 출력 정보 | 주요 역할 |
|---|
| ALU | 피연산자(레지스터), 제어신호 | 연산 결과, 플래그 | 산술·논리 연산 수행 |
| 제어장치 | 클럭, 명령어, 플래그, 외부 제어신호 | 내부/외부 제어신호 | 명령어 해석 및 CPU 전체 제어 |
📘 핵심 요약
- ALU: 실제 연산 수행 → 결과와 플래그를 출력
- 제어장치: 명령 해석 및 제어신호 생성 → CPU 전체 동작을 관리
- 두 장치는 레지스터, 버스, 클럭, 플래그를 통해 서로 긴밀히 협력한다.