ALU와 제어장치
ALU
- 계산하는 장치이다.
ALU가 받아들이는 정보
- 레지스터로부터 피연산자를 받아들인다.
- 제어장치로부터 제어신호를 받아들인다.
-> 계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다.
* 플래그 레지스터
1) 플래그 레지스터의 종류
- 부호 플래그 : 연산한 결과의 부호를 나타낸다.
- 제로 플래그 : 연산 결과가 0인지 여부를 나타낸다.
- 캐리 플래그 : 연산 결과 올림수나 빌림수가 발생했는지 나타낸다.
- 오버 플로우 플래그 : 오버플로우 발생여부
- 인터럽트 플래그 : 인터럽트가 가능한지 나타낸다.
- 슈퍼바이저 플래그 : 커널모드로 실행중인지, 사용자 모드로 실행중인지 나타낸다.
ALU가 내보내는 정보
- 레지스터로 결과값을 내보낸다.
- 플래그 레지스터로 플래그 값을 내보낸다.
제어장치
- 제어신호를 발생시키며 명령어를 해석하는 장치이다.
제어장치가 받아들이는 정보
1. 클럭
- 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간단위이다.
- 클럭신호의 시간 주기에 맞춰서 명령어가 실행된다.
2. 해석할 명령어 ( 명령어 레지스터로부터 온다.)
3. 플래그 값 ( 플레그 레지스터로부터 온다.)
4. 제어신호 (외부로부터 발생된 제어신호, 즉 제어신호 발생은 CPU제어장치에서만 있는것은 아니다.)
제어장치가 내보내는 정보
1. CPU 내부에 전달하는 제어신호 (레지스터, ALU)
- 레지스터 : 레지스터간의 정보를 이동하거나 저장하는 행동에 대한 신호
- ALU : 수행할 연산을 지시하는 제어신호
2. CPU 외부에 전달하는 제어신호 (메모리, 입출력장치)
- 메모리 : 메모리를 읽고 쓰는 신호
- 입출력장치 : 입출력장치를 읽고 쓰는 신호