110k views
3 votes
4.20 [5] <§4.5> Add NOP instructions to the code below so that it will run correctly on a pipeline that does not handle data hazards. ADDI X1, X2, #5 ADD X3, X1, X2 ADDI X4, X1, #15 ADD X5, X3, X2

User Bpedit
by
6.4k points

1 Answer

4 votes

Answer:

Following are the solution to this question:

Step-by-step explanation:

The following is the sequence of instructions to ensure proper implementation after adding NOPs:


ADDI \ Xl,X2, \#5\\NOP\\NOP\\NOP\\ADD \ X3, X1,X2\\ADDI \ X4, X1, \#15\\ADD \ X5, X3,X2\\

The value of the X1 is identified in the first ADDI order X1, X2, #5, mostly on the WB level, which appears in clock cycle five. Before the second instructions, three NOPs are added because as second instruction should wait for X1 to be correct.

Its second primary example with cycle 5, but ends through cycle 9. clock. Since X3 quality doesn't execute its third command, no NOP is inserted.

Its third instruction begins at clock cycle 6 and finishes at clock cycle 10. Because the fourth order is not required to execute an X4 value, no NOP is inserted, and the fourth instruction begins in cycle 7 and finishes at clock cycle 11.

User Corn On The Cob
by
6.6k points