Consider the following assembly language code:
I0: ADD R4 = R1 + R0; I1: SUB R9 = R3 - R4; I2: ADD R4 = R5 + R6;
I3: LDW R2 = MEM[R3 + 100]; I4: LDW R2 = MEM[R2 + 0]; I5: STW MEM[R4 + 100] = R2; I6: AND R2 = R2 & R1;
I7: BEQ R9 == R1, Target; I8: AND R9 = R9 & R1;
Consider a pipeline with forwarding, hazard detection, and 1 delay slot for branches. The
pipeline is the typical 5-stage IF, ID, EX, MEM, WB MIPS design. For the above code, complete the pipeline diagram below (instructions on the left, cycles on top) for the code. Insert the characters IF, ID, EX, MEM, WB for each instruction in the boxes. Assume that there two levels of bypassing, that the second half of the decode stage performs a read of source registers, and that the first half of the write-back stage writes to the register file.
Label all data stalls (Draw an X in the box). Label all data forwards that the forwarding unit detects (arrow between the stages handing off the data and the stages receiving the data). What is the final execution time of the code?
Correct Answer:
Verified
Q1: Branch Prediction. Consider the following sequence of
Q2: Using any ILP optimization, double the performance
Q4: Branch Prediction. Consider the following sequence of
Q5: For the MIPS datapath shown below,
Q6: This problem covers your knowledge of
Q7: The classic 5-stage pipeline seen in Section
Q8: A two-part question.
-(Part A) Dependence detection
This question
Q9: A two-part question.
-Given four instructions, how many
Q10: Pipelining is used because it improves instruction
Q11: You are given a 4-stage pipelined
Unlock this Answer For Free Now!
View this answer and more for free by performing one of the following actions
Scan the QR code to install the App and get 2 free unlocks
Unlock quizzes for free by uploading documents