목차

CPU에는 ALU, 제어장치, 레지스터가 있다.

1. ALU


ALU는 다양한 연산을 수행한다.

ALU는 레지스터를 통해 피연산자를 받아들이고, 제어 장치를 통해 수행할 연산의 제어 신호를 받아들인다.

연산의 결과값은 일시적으로 레지스터에 저장된다.

연산 결과의 추가 상태 정보를 의미하는 플래그플래그 레지스터에 저장된다.

Untitled

1-1. 플래그

플래그 : 연산 결과의 추가 상태 정보

플래그는 플래그 레지스터에 저장된다.

플래그 종류 의미 사용 예시
부호 플래그 연산 결과의 부호를 나타냄 1이면 음수 / 0이면 양수
제로 플래그 연산 결과가 0인지 여부를 나타냄 1이면 0 / 0이면 0이 아님
캐리 플래그 연산 결과 올림수나 빌림수가 발생했는지 여부를 나타냄 1이면 올림수나 빌림수가 발생 / 0이면 발생하지 않음
오버플로우 플래그 오버플로우가 발생했는지 나타냄 1이면 오버플로우 발생 / 0이면 발생하지 않음
인터럽트 플래그 인터럽트가 가능한지 나타냄 1이면 인터럽트가 가능
슈퍼바이저 플래그 커널 모드 / 사용자 모드에서 실행 중인지 나타냄 1이면 커널모드 / 0이면 사용자 모드

1-2. ALU 정리

ALU가 받아들이는 값 ALU가 내보내는 값
레지스터의 피연산자 연산 결과 → 레지스터
제어장치의 제어 신호 플래그 → 플래그 레지스터

2. 제어장치


제어 장치는 명령어를 해석하고 제어 신호를 내보낸다.

Untitled

2-1. 제어장치는 클럭 신호를 받아들인다.