cpu time으로 cpu의 performance를 측정한다.
cpu time = instruction count * cpi * clock cycle time
모든 instruction에 대해서 두가지 step은 항상 동일하다.
ALU를 사용하는 경우는
pc는 현재 실행해야하는 코드의 주소를 가리키고 있다. 그 주소를 instruction memory에 보내주면 주소에 해당하는 코드를 로드해서 Registers로 보낸다.
add를 예로 들면 rs와 rt를 ALU의 입력으로 넣어주고 ALU는 덧셈을 수행한 다음 메모리에 접근할 필요 없으므로 바로 Data에 저장된다. pc는 Adder에서 +4가 되어서 다음 코드의 위치를 가리키고 branch인 경우에는 Adder를 한 번 더거쳐서 pc+4 +8과 같은 연산을 한다. 그 과정에서 sll을 통해서 word address를 byte address로 바꾸는 과정도 포함된다.
R-Foramt 명령어는 연산 수행 결과를 rd레지스터에 저장한다.
라인이 겹치는 부분에 MUX(multiplexer)를 달아준다. 값에 따라서 방향을 결정해주는 스위치이다.