ALU
,플래그
,제어장치
,제어 신호
CPU의 구성 요소 중 ALU와 제어장치를 알아봅니다. ALU와 제어장치가 어떤 정보를 내보내고 받아들이는지를 중심으로 두 장치의 역할을 학습합니다.
ALU(Arithmetic Logic Unit, 산술연산장치)
는 연산한 결괏값과 플래그를 내보내는 부품이다. 그래서 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다.
내보내는 정보로는 연산을 수행한 결과가 있으며 메모리가 아닌 레지스터에 일시적으로 저장된다. CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 훨씬 느리기 때문에 프로그램 실행 속도를 보다 높일 수 있다.
때때로 결괏값뿐만 아니라 연산 결과에 대한 추가적인 정보인 플래그
도 내보낸다. 대표적인 플래그에는 부호(연산한 결과의 부호), 캐리(올림수나 발림수 발생했는지), 오버플로우(오버플로우가 발생했는지), 슈퍼바이즈(커널 모드 또는 사용자 모드)가 있다. 해당값은 플래그 레지스터
에 저장된다.
제어장치
는 제어 신호를 내보내고, 명령어를 해석하는 부품이다. 제어 신호
는 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호이다.
제어 장치는 크게 네 가지 정보를 받아들인다.
클럭
이란 컴퓨터의 모든 부품을 움직일 수 있게 하는 시간 단위이다. 클럭의 주기에 맞춰 한 레지스터에서 다른 레지스터로 데이터가 이동되거나, ALU에서 연산이 수행되거나, CPU가 메모리에 저장된 명령어를 읽어 들이는 것이다. 이때 하나의 명령어가 여러 클럭에 걸쳐 실행될 수 있음에 유의하자.명령어 레지스터
에 저장된 명령어를 받아들이고 해석한 뒤, 제어 신호를 발생시켜 컴퓨터 부품들에 수행해야 할 내용을 알려준다.제어장치가 내보내는 정보에는 크게 두 가지가 있다.