Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Even if you can\'t answer everything Partial answers will do! The MIPS R4000 pro

ID: 3727913 • Letter: E

Question

Even if you can't answer everything Partial answers will do!

The MIPS R4000 processor has an eight-stage pipeline, with stages shown below IF IS RF EX DF DS TC WB Reg Data Memory Reg Memory 2A. Speedup What is the ideal pipeline speedup for this processor? 2B. Forwarding For data forwarding, how many additional inputs are needed for the multiplexers at the inputs to the ALU? Where does each come from? What kind of hazard(s) do these address? 2C. Branching options The branch delay is 3 cycles. Ir branches make 20% of the total instruction mix and 14% of the branches are taken, evaluate the effective CPI and adjusted pipelines speedup for each of these options a. Stall for three cycles b Expose one delay slot and stall for two wnen the delay slot can be filled 60% of the time and the resulting computation is useful 80% of the time C. Expose two delay slots and stall for one cycle where the first slot statistics are the same as (b), and the second slot is filled 10% of the time. with useful computation 40% of the time d. Expose one delay slot and predict not taken for the other two cycles (what was really done). 2D. Branches in practice Given the strategy in (d), which of the following instructions are executed when the branch is taken? Which are executed when the branch is not taken? BNEZ Ri, Target SUB Ri, R2, R3 ADD R1, R1, R4 Target: SU R3, R3, R1 ADD R2, R1, R4 ADD R2, R2, R3

Explanation / Answer

A) Ideal speed up should be 8. Because this processor has 8 stages.

If it is a non-pipelined processor, all stages(together) would execute 1 instruction in a certain amount of time(cycle time). But when it is a pipelined processor, for the same amount of above mentioned time(cycle time), it can execute 8 instructions.

speed up = (instructions completed in pipelined proc per one cycle)/(instructions completed in non-pipelined proc per one cycle).

= 8/1 = 8

B) I don't know clearly.

C) I don't know clearly.

D) If branch taken,

it will execute below 3 instructions

SUB R3,R3,R1

ADD R2,R1,R4

ADD R2,R2,R3

if branch is not taken, it will execute below instructions

SUB R1,R2,R3

ADD R1,R1,R4

SUB R3,R3,R1

ADD R2,R1,R4

ADD R2,R2,R3

Actually, if branch not taken processor will execute sequentially all instructions.

Any doubt in understanding please ping me. Happy to help
Thanks

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote