In this exercise we examine in detail how an instruction is executed in a single-cycle datapath. Problems in this exercise refer to a clock cycle in which the processor fetches the following instruction word: 10101100011000100000000000010100.
Assume that data memory is all zeros and that the processor’s registers have the following values at the beginning of the cycle in which the above instruction word is fetched:
R0 |
R1 |
R2 |
R3 |
R4 |
R5 |
R6 |
R8 |
R12 |
R31 |
---|---|---|---|---|---|---|---|---|---|
0 |
-1 |
2 |
-3 |
-4 |
10 |
6 |
8 |
2 |
-16 |
a) What are the outputs of the sign-extend and the jump “Shift left 2” for this instruction word?
b) What are the values of the ALU control unit’s inputs for this instruction?
c) What is the new PC address after this instruction is executed? Highlight the path through which this value is determined.
d) For each Mux, show the values of its data output during the execution of this instruction and these register values.
e) For the ALU and the two add units, what are their data input values?
f) What are the values of all inputs for the “Registers” unit?