Question: For the following instructions: ` ` ` A: load R 1 , e ( R 1 0 ) / / R 1 = MEM [

For the following instructions:
```
A: load R1, e(R10)// R1= MEM[R10+0]
B: sub R2, R3, R4// R2= R3- R4
C: mul R5, R1, R2// R5= R1* R2
D: beqz R2, X // if (R2==0) jump to X
E: store R6,\theta(R11)// Mem[R11+0]= R6
X: store R5,0(R11)// Mem[R11+0]= R5
```
Assume that branch D's true outcome is Taken.
a) Fill in the pipeline timing diagram for the instructions. Assume a basic DLX 5-stage pipeline (F, D, X, M, W, which stands for Fetch, Decode, Execute, Memory, Write back). Use the following additional assumptions:
- No forwarding/bypassing logic
- No branch prediction
- Branch outcome is resolved at the M stage
- Write back to register takes up the entire pipeline stage
Use the following table to express your answer. For each instruction in the table, indicate which clock cycle the instruction enters a particular pipeline stage. For example, for instruction A , it is fetched at cycle 1, decoded at cycle 2, executed at cycle 3, enters memory stage at cycle 4, and writes back its result at cycle 5. If an instruction is not processed in the pipeline, put "-"(without quotation marks) in all cells for the instruction.
Hint: I advise that you start by filling in pipeline timing diagram similar to the one shown below, then take the information from there and enter them into the table above.
Clock cycle
For the following instructions: ` ` ` A: load R 1

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!