Question: LD F 0 , 0 ( R 1 ) DIVD F 2 , F 0 , F 1 LD F 3 , 0 ( R

LD F0,0(R1) DIVD F2, F0, F1 LD F3,0(R2) DIVD F4, F3, F5 ADDD F0, F2, F6 ADDD F1, F4, F7 SD F1,0(R2) ADDI R1, R1, #8 ADDI R2, R2, #8 SLTI R3, R1, #800 BGEZ R3, foo
There are five stages: Fetch (F), Decode (D), Execution (X), Memory (M), and Write back (W). Each stage takes 1 clock cycle except for the execution stage which takes a variable number of cycles depending on the functional unit used: ALU Integer: 1 clock cycle FP/Integer multiplier: 4 clock cycles, pipelined FP adder: 2 clock cycles, pipelined FP/Integer divider: 5 clock cycles, non-pipelined All loads (stores) complete their memory access during Memory cycle. If there is any structural hazard, assume the earliest instruction gets priority and other instructions are stalled in Decode stage. In addition, a register read and a write in the same clock cycle forwards through the register file. a) Show the timing of this instruction sequence for the above pipeline under which forwarding and bypassing hardware is implemented only for integer instructions. Assume that the branch is handled by predicting-it-as not taken and it is completed in two clock cycles. (15 points) b) Show the timing of this instruction sequence for the above pipeline under which forwarding and bypassing hardware is implemented for both integer and floatingpoint instructions. Assume that the branch is handled by predicting-it-as not taken and it is completed in two clock cycles. (15 points) Note: All load and store instructions should be considered as the integer instructions.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!