CPU 구성 요소: ALU와 제어장치
1. ALU (Arithmetic Logic Unit)
ALU는 연산(계산)을 담당하는 CPU의 핵심 부품입니다.
ALU가 수행하는 주요 기능과 정보 흐름은 아래와 같습니다.

1) ALU가 받아들이는 정보
- 피연산자:
연산에 사용될 데이터. 레지스터로부터 전달됩니다.
(예: 2 + 3에서 '2'와 '3'이 피연산자)
- 제어 신호:
수행할 연산 종류를 지시하는 신호. 제어장치로부터 전달됩니다.
(예: 더하기, 빼기, 곱하기 등의 연산 명령)

2) ALU가 내보내는 정보
- 연산 결과:
계산한 결과 값을 레지스터에 저장합니다.
(예: 2 + 3의 결과인 5)
- 플래그 (Flag):
연산 결과에 대한 추가 정보입니다. 플래그는 플래그 레지스터에 저장됩니다.
- 부호 플래그: 결과가 양수인지 음수인지 표시.
- 제로 플래그: 결과가 0인지 아닌지 표시.
- 캐리 플래그: 올림수나 빌림수가 발생했는지 여부.
- 오버플로우 플래그: 연산 결과가 레지스터 크기를 초과했는지 여부.
- 인터럽트 플래그: 인터럽트가 가능한지 여부.
- 슈퍼바이저 플래그: 운영체제의 커널 모드인지 사용자 모드인지 표시.

3) ALU 내부 구성 요소 (회로)
ALU 내부에는 여러 연산을 위한 회로들이 포함되어 있습니다.
- 가산기: 덧셈 연산 수행.
- 보수기: 뺄셈 연산 수행.
- 시프터: 비트 이동 연산 수행.
- 오버플로우 검출기: 오버플로우 발생 여부 확인.
2. 제어장치 (Control Unit)
제어장치는 명령어 해석과 제어 신호 발생을 담당하는 CPU의 구성 요소입니다.
1) 제어장치가 받아들이는 정보
- 클럭 신호:
CPU와 컴퓨터 부품들이 일정한 속도로 동작할 수 있게 하는 시간 단위 신호.
(예: 오버클러킹 등)
- 명령어:
명령어 레지스터에 저장된 실행할 명령어를 받아들여 해석합니다.
- 플래그 값:
플래그 레지스터에 저장된 연산 결과에 대한 부가 정보를 받아들입니다.
(예: 연산 결과가 0인지 음수인지 등의 정보)
- 외부 제어 신호:
주변 장치나 메모리에서 발생하는 신호를 받아들입니다.

2) 제어장치가 내보내는 정보
- 제어 신호:
제어장치는 CPU 내부와 외부로 제어 신호를 전달합니다.
- CPU 내부 제어 신호:
- 레지스터 제어: 레지스터 간 데이터 이동, 값 저장 등의 명령.
- ALU 제어: 연산 종류 지시.
- CPU 외부 제어 신호:
- 메모리 제어: 메모리 읽기, 쓰기 명령.
- 입출력 장치 제어: 입출력 장치의 데이터 읽기, 쓰기, 상태 테스트 명령.

3. 요약
- ALU:
- 연산(계산)을 수행하고, 결과 값과 플래그 값을 레지스터로 전달.
- 피연산자와 제어 신호를 받아들여 연산 수행.
- 제어장치:
- 명령어를 해석하고, 제어 신호를 발생시켜 CPU 내부 및 외부 장치의 동작을 제어.
- 클럭 신호, 명령어, 플래그 값 등을 받아들이고 제어 신호를 내보냄.
이로써 ALU와 제어장치의 기능과 정보 흐름에 대해 알아보았습니다.
다음 강의에서는 레지스터의 종류와 역할에 대해 다룰 예정입니다! 😊