chapter 4-1. ALU와 제어장치


ALU

입력) 레지스터로부터 피연산자, 제어 장치로 부터 제어 신호

출력) 연산 수행 결과(특정 수, 문자)+ *플래그

<aside>

🏴 플래그

ex) 부호 플래그, 오버플로우 플래그, 제로 플래그(연산 결과=0 표시)

플래그들은 플래그 레지스터에 저장됨

</aside>

제어장치

제어 신호를 보내고 명령어 해석

<aside>

[입력]

1️⃣ 클럭 신호

  클럭: 컴퓨터를 움직일 수 있게하는 시간 단위

2️⃣ 해석할 명령어

  명령어 레지스터로부터 명령어를 받고, 해석한 뒤 제어 신호를 발생시킴

3️⃣ 플래그 레지스터 속 플래그 값

4️⃣ 제어 버스로 전달된 제어 신호

[출력]

1️⃣ CPU 외부 제어신호

   메모리에 전달하는 제어 신호, 입출력 장치에 전달하는 제어 신호

2️⃣ CPU 내부 제어신호

   ALU에 전달하는 제어 신호, 레지스터에 전달하는 제어 신호 

</aside>

chapter 4-2. 레지스터


<aside>

1️⃣ 프로그램 카운터(=명령어 포인터)

  메모리에서 읽을 명령어 주소 저장 

2️⃣ 명령어 레지스터

  메모리에서 읽어 들인 명령어를 저장

3️⃣ 메모리 주소 레지스터

  메모리의 주소를 저장

4️⃣ 메모리 버퍼 레지스터

   메모리와 주고 받을 값(데이터, 명령어) 저장

5️⃣ 범용 레지스터

   데이터, 주소 모두 저장 가능

6️⃣ 플래그 레지스터

  플래그 저장

7️⃣ 스택 포인터

  스택의 꼭대기를 가리키는 레지스터 

  스택 주소 지정 방식에 사용

8️⃣ 베이스 레지스터

</aside>