KalelPark's LAB

[ Computer Architecture ] ALU, 제어장치란? 본문

Study/Computer Architecture

[ Computer Architecture ] ALU, 제어장치란?

kalelpark 2023. 1. 28. 08:57

이전 포스팅을 참고하시기 바랍니다..!

ALU(Arithmetic And Logic Unit)

ALU는 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들입니다. ALU는 레지스터와 제어장치로부터 받아들인 피연산자와 제어 신호로 산술 연산, 논리 연산 등 다양한 연산을 수행합니다. 

연산을 수행한 결괏값은 바로 메모리에 저장되지 않고, 일시적으로 레지스터에 저장됩니다.

 

CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 훨씬 느립니다. ALU가 연산할 때마다 결과를 메모리에 저장한다면 당연하게도 CPU는 메모리에 자주 접근하게 되고, 이는 CPU가 프로그램 실행 속도를 늦출 수 있습니다. 그래서 ALU의 결괏값을 메모리가 아닌 레지스터에 우선 저장하자는 것입니다.

제어장치

제어장치는 제어 신호를 내보내고, 명령어를 해석하는 부품이라고도 말합니다. 제어 신호는 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호라고합니다.

참고로 제어장치는 CPU의 구성 요소 중 가장 정교하게 설계된 부품이라고 해도 과언이 아닙니다. 그래서 CPU 제조사마다 제어장치의 구현 방식이나 명령어를 해석하는 방식, 받아들이고 내보내는 정보에는 조금씩 차이가 있습니다.

제어장치는 클럭 신호를 받아들입니다.


클럭이란?

컴퓨터의 모든 부품을 일시불란하게 움직일 수 있게 하는 시간 단위입니다. 클럭의 주기에 맞춰 한 레지스터에서 다른 레지스터로 데이터가 이동되거나 ALU에서 연산이 수행되거나 CPU가 메모리에 저장된 명령어를 읽어들인다는 의미합니다. 

 

제어장치는 해석해야 할 명령어를 받아들입니다.

CPU가 해석해야 할 명령어는 명령어 레지스터라는 특별한 레지스터에 저장됩니다. 제어장치는 명령어 레지스터로부터 해석할 명령어를 받아들이고, 제어 신호를 발생시켜 컴퓨터 부품들에 수행할 내용을 알려줍니다.

 

 

 

Comments