[MIPS] Instruction에 따른 Functional units
어떤 instruction을 사용하는지에 따라 CPU 디자인이 달라집니다.
↓↓↓ 자세히 살펴봅시다 ↓↓↓
① Instruction fetch
• Instruction memory - Instruction을 fetch하기 위해 필요합니다.
• Program counter - PC에 다음 주소를 저장하기 위해 필요합니다.
• Adder - 다음 주소(PC + 4)를 계산하기 위해 필요합니다.
② R-format ALU operations
• Registers - 필요한 register의 값을 읽기 위해 필요합니다.
• ALU - Instruction을 수행하기 위해 필요합니다.
③ sw, lw instruction
• Registers - 필요한 register의 값을 읽고 값을 흘려보내기 위해 필요합니다.
• ALU - 흘러온 값을 맞는 Instruction에 맞춰 계산하기 위해 필요합니다.
• Data memory unit - 계산된 값을 저장하기 위해 필요합니다.
• Sign extension unit - add, sub operation을 수행하기 위해 필요합니다.
④ beq instruction
• Registers - 필요한 register의 값을 읽고 값을 흘려보내기 위해 필요합니다.
• ALU - 두 개의 register의 값이 일치하는지 안하는지 확인하기 위해 필요합니다.
• Sign extension unit - add, sub operation을 수행하기 위해 필요합니다.
• Program counter - PC에 다음 주소(PC + 4)를 저장하기 위해 필요합니다.
• Adder - 다음 주소를 계산하기 위해 필요합니다.
◡̈