프로그래밍/컴퓨터구조 및 운영체제

ALU와 제어장치

gameObject 2023. 10. 13. 23:04
728x90

ALU

- 계산하는 장치이다.

 

ALU가 받아들이는 정보

- 레지스터로부터 피연산자를 받아들인다.

- 제어장치로부터 제어신호를 받아들인다.

-> 계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다.

 

* 플래그 레지스터

1) 플래그 레지스터의 종류

- 부호 플래그 : 연산한 결과의 부호를 나타낸다.

- 제로 플래그 : 연산 결과가 0인지 여부를 나타낸다.

- 캐리 플래그 : 연산 결과 올림수나 빌림수가 발생했는지 나타낸다.

- 오버 플로우 플래그 : 오버플로우 발생여부

- 인터럽트 플래그 : 인터럽트가 가능한지 나타낸다.

- 슈퍼바이저 플래그 : 커널모드로 실행중인지, 사용자 모드로 실행중인지 나타낸다.

 

ALU가 내보내는 정보

- 레지스터로 결과값을 내보낸다.

- 플래그 레지스터로 플래그 값을 내보낸다.

제어장치

- 제어신호를 발생시키며 명령어를 해석하는 장치이다.

 

제어장치가 받아들이는 정보

1. 클럭

- 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간단위이다.

- 클럭신호의 시간 주기에 맞춰서 명령어가 실행된다.

2. 해석할 명령어 ( 명령어 레지스터로부터 온다.)

3. 플래그 값 ( 플레그 레지스터로부터 온다.)

4. 제어신호 (외부로부터 발생된 제어신호, 즉 제어신호 발생은 CPU제어장치에서만 있는것은 아니다.)

 

제어장치가 내보내는 정보

1. CPU 내부에 전달하는 제어신호 (레지스터, ALU)

 - 레지스터 : 레지스터간의 정보를 이동하거나 저장하는 행동에 대한 신호

 - ALU : 수행할 연산을 지시하는 제어신호

2. CPU 외부에 전달하는 제어신호 (메모리, 입출력장치)

 - 메모리 : 메모리를 읽고 쓰는 신호

 - 입출력장치 : 입출력장치를 읽고 쓰는 신호

728x90