Considering the following sequence of MIPS code, your task is to use pipelining building blocks to execute this set of instructions.
add $R2, $R0, $R0
lw $R1, 0($R2)
addi $R3, $R1, 20
add $R1, $R2, $R0
or $R1, $R2, $R0
A) How many stall cycles would occur in a MIPS pipelining without Pipeline Forwarding? Using the pipelining building blocks to explain your result.
B) How many stall cycles would occur in a MIPS pipelining with Pipeline Forwarding? We assume that Pipeline Forwarding exists between DM-to-ALU, ALU-to-ALU, and DM-to-DM. Using the pipelining building blocks to explain your result.