컴퓨터 구조

ALU Control

콩벌레 개발자 2023. 7. 11. 14:28

명령어의 opcode와 funct를 카르노맵을 이용해서 ALU control을 생성

모든 Control Signal은 명령어를 통해 만들어 짐

DataPath With Control

  1. 메모리에서 명령어를 읽음
  2. 명령어의 상위 6비트가 Control의 input으로 들어감
  3. 그 중 ALUOP는 ALU Control의 input으로 들어 감
  4. 명령어의 하위 6비트(funct)가 ALU Control의 input으로 들어 감
  5. ALU Control에서 ALUOP와 funct가 조합되어 ALUControl (4bit)이 조합되어 ALU의 input에 들어감

Performance Issues

clock period는 delay가 가장 긴 명령어에 의해 결정 됨

가장 delay가 긴 명령어는 load 명령어

Instruction memory → register file → ALU → data memory → register file 순으로 작동하기 때문

그러나 load 명령어는 자주 사용되는 명령어가 아님. arthimetic 명령어가 더 자주 사용됨. 따라서 자주 사용하지 않지만 load명령어에 의해 성능이 하락.

이 문제를 해결하기 위해 pipeline을 이용함.