Homework #4
CPU Performance Factors: #Inst (by ISA, Compiler), CPI, Hz (by CPU HW)

- PC에서부터 시작해서 IF EX 순서로 보면 될 듯
- 뒤에 잠깐 Combinational/Sequential elements에 대해 Review하는데 넘어감
RISC-V 기준
- PC는 64bit Register이고 Increment by 4 for next Inst.
- Register에서 R-Format이라면 Read two register operands → ALU탐
- Load면 MemRead → Register Update / Store면 MemWrite
Branch Instruction

- 레지스터에서 operand를 읽고, 비교한다 (빼서 0이면 같다)
- 이제 PC에 offset을 더해야 하는데
- 12bit to 32bit으로 확장하기 위해 sign-extend
- shift left 1해서 - 2Byte ordering 때문인 듯, offset 완성해서 PC에 더함
Composing the Elements
- 여기까진 Single cycle 구조, 1-Cycle에 1 Instruction 수행
- 근데 각 element는 동시에 돌 수 있어서 instruction과 data memory 분리해야 함
- 명령어 유형에 따라 분기해야되니까 MUX 활용 잘 고려해서 설계하자

- Add x1, x2, x3 설명
- PC 주소 통해서 다음 Instruction을 Fetch함
- ID 하고 레지스터에서 rs1, rs2를 읽고
- ALU로 가서 ALU-result로 나옴
- MemRead 필요 없고 RegWrite 제어 신호 받아서 바로 Register에 Write Data