본문 바로가기

Computer Science/컴퓨터 구조

컴퓨터 구조 - ALU와 제어장치

  • ALU : 컴퓨터의 핵심 부품 중 하나로, 산술논리연산장치라고도 하며 컴퓨터 내부에서 대부분의 계산을 수행한다.

  • ALU는 연산하기 위해서는 피연산자와 수행할 연산이 필요합니다. 이에 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들입니다.
  • 연산을 수행한 이후에는 결괏값을 바로 메모리에 저장하지 않고 레지스터에 일시적으로 저장하는데, 이는 ALU가 연산을 끝낼 때마다 결과를 메모리에 저장한다면 CPU는 메모리에 자주 접근하게되고, 이는 CPU가 프로그램 실행 속도를 늦추게 되기 때문입니다.
  • ALU는 연산이 끝나면 플래그 레지스터에 플래그를 보냅니다. 플래그에는 부호 플래그, 제로 플래그 등 다양한 정보의 플래그가 존재합니다.

  • 제어장치 : 제어 신호를 내보내고, 명령어를 해석하는 부품이다.

  • 제어장치는 클럭 신호를 받아들입니다. 클럭의 똑-딱 주기에 맞춰서 한 레지스터에서 다른 레지스터로 데이터가 이동하거나, ALU에서 연산을 수행하거나, CPU가 메모리에 저장된 명령어를 읽어 들일 수 있습니다.
  • 제어장치는 명령어 레지스터로부터 해석할 명령어를 받아들입니다. CPU는 메모리에 저장된 명령어를 읽고, 이를 명령어 레지스터에 저장합니다. 제어장치는 이 명령어 레지스터로부터 해석할 명령어를 받아들이고 해석한 뒤, 제어 신호를 발생시켜 각 부품들에게 수행해야 할 작업을 알려줍니다.
  • 제어장치는 플래그 레지스터로부터 플래그를 받아들입니다. 플래그는 ALU 연산 결과에 대한 추가 정보입니다. 매우 중요한 정보이기 때문에 이를 참고하여 제어 신호를 발생시킵니다.
  • 제어장치는 시스템 버스 내 제어 버스로 전달된 제어 신호를 받아들입니다. 이 제어 신호는 CPU나 입출력장치를 비롯한 외부 장치로부터 오는 신호입니다.

  • 제어장치가 내보내는 제어 신호는 크게 CPU 내부로 전달하는지, 외부로 전달하는지로 나뉩니다.
    • CPU 내부
      • ALU
      • 레지스터
    • CPU 외부(시스템 버스 - 제어 버스)
      • 메모리
      • 입출력장치
      • etc

 

 

 

공부 내용에 쓰인 이미지는 유튜브 채널 '개발자 강민철' 에서 스크랩했습니다.

https://www.youtube.com/@kangminchul