본문 바로가기
Books

[혼공컴운] ALU와 CU의 차이가 무엇인가요?

by yhames 2023. 11. 24.

CPU에는 크게 산술논리연산장치(ALU, Arithmetic Logic Unit), 제어장치(CU, Control Unit) 그리고 레지스터(Register)로 구성된다.

 

산술논리연산장치(Arithmetic Logic Unit)

산술논리연산장치(ALU)는 제어 장치로부터 명령을 받아 레지스터에서 피연산자를 가져와서 산술연산이나 논리 연산 등 실질적인 연산을 수행하고, 연산이 완료되면 결과값플래그레지스터에 저장한다.

여기서 플래그란 결과값을 해석하는데 사용되는 메타 데이터이다. 플래그에는 부호, 제로, 캐리, 오버플로우, 인터럽트, 슈퍼바이저에 대한 정보가 담겨있다. 각 플래그는 0 혹은 1의 값을 갖는다.

 

제어 장치(Contorl Unit)

제어장치(CU)는 명령어를 해석하고 레지스터나 ALU, 메모리 혹은 입출력장치에 제어신호를 내보낸다. 제어신호란 하드웨어를 작동시키기 위한 전기신호이다.

CU는 클럭 신호, 해석할 명령어, 플래그, 그리고 제어 버스로부터 제어 신호를 받아들인다.

 

클럭은 하드웨어가 동작할 수 있게 보내는 전기신호이다. 모든 하드웨어는 클럭 신호에 맞춰 동작한다. 하나의 명령어는 여러 클럭에 걸쳐 실행될 수 있다.

CU는 명령어 레지스터플래그 레지스로부터 각각 해석할 명령어플래그를 받아서 명령어를 해석하고 제어신호를 발생시킨다. 또한 제어 버스에서 전달된 제어 신호를 받아서 제어 신호를 발생시킨다.

 

제어 신호CPU 내부(ALU, 레지스터)에 전달되거나 외부(메모리, 입출력장치 등)에 전달된다.

 

결론

ALU와 CPU는 둘 다 CPU의 구성요소이다.

 

ALU는 실질적으로 연산이 수행되는 디지털 회로 혹은 장치이다.

제어 장치에서 명령을 받아오고 레지스터에서 피연산자를 가져와서 연산을 수행하고, 결과값플래그를 각각의 레지스터에 저장한다.

 

CU는 령어를 해석해서 CPU 내/외부에 제어 신호를 발생시키는 디지털 회로 혹은 장치이다.

클럭 신호를 받아 클럭 주기로 동작하며, 명령어 레지스터와 플래그 레지스터로부터 각각 해석할 명령어플래그를 받아서 명령어를 해석하고 제어신호를 발생시킨다. 또한 제어 버스에서 제어 신호를 받아서 다른 장치에 제어 신호를 전달하기도 한다.