컴퓨터구조와 운영체제

CPU의 내부 구성 (1)- ALU

nadoit 2024. 3. 19. 13:21

ALU(산술 논리 장치, arithmetic and logical unit)

ALU란 덧셈, 뺄셈과 같은 두 숫자의 산술연산과 배타적 논리합, 논리곱, 논리합 같은 논리 연산을 계산하는 디지털 회로이다.

 

ALU가 받아들이는 정보

ALU가 받아들이는 정보

ALU는 레지스터를 통해 피연산자를 받아들이고, 제어장치로 부터 수행할 연산의 제어 신호를 받아 들인다. ALU는 레지스터를 통해 받아들인 피연산자와 제어장치로 받아들인 제어신호로 산술 연산, 논리 연상 등 다양한 연산을 하게 된다.

이렇게 연산을 한 값은 특정 숫자나 문자가 될 수 도 있고, 메모리 주소가 될 수 도 있다. 이 결괏값은 바로 메모리에 저장하는 것이 아니라, 일시적으로 레지스터에 저장된다. 그 이유는 CPU가 메모리에 접근하는 속도가 레지스터에 접근하는 속도보다 느리기 때문이다. ALU에서 연산을 할 때마다 메모리에 접근하게 되면 실행 속도가 느려질 수 있다. 그래서 결괏값을 레지스터에 우선 저장을 한다.

ALU는 결괏값과 플래그를 내보내는데, 플래그란 연산 결과에 대한 추가적인 상태 정보를 의미한다.

ALU가 내보내는 대표적인 플래그로는 부호 플래그, 제로 플래그, 캐리 플래그, 오버플로우 플래그, 인터럽트 플래그, 슈퍼바이저 플래그 등이 있다. 이러한 플래그들은 플래그 레지스터라는 곳에 저장된다.