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

1. Consider the MIPS “load word” instruction as implemented on the datapath abov

ID: 3739419 • Letter: 1

Question

1. Consider the MIPS “load word” instruction as implemented on the datapath above:

lw R2, 8(R1) // Reg[2] <- memory[ Reg[1] + 8 ]

Circle the correct value 0 or 1 for the control signals (a-d) and circle whether each of the three muxes (e-g) selects its upper input, lower input, or don't care. For the ALU operation (h) circle one of the function names. (The Zero condition signal will be assumed to be 0.)

(a) Branch = 0 1 (e) Mux1 (upper left; output to PC) = upper, lower, don't care
(b) MemRead = 0 1 (f) Mux2 (upper middle; output to Data port of Regs) = upper, lower, don't care
(c) MemWrite = 0 1 (g) Mux3 (lower middle; output to bottom leg of ALU) = upper, lower, don't care
(d) RegWrite = 0 1 (h) ALU operation = and, or, add, subtract, set-on-less-than, nor

Branch Add Add ALU Data Register # Register # Register # RegWrite! PCAddress Instruction Registers ALI Address Instruction memory Data memory "(x Data MemRead Control

Explanation / Answer

a. Branch will be 1

b. Memread=1 as data from memory will be read

c. MemWrite=0 as data is not written into memory

d. RegWrite =1 as data is written into register

e. Mux1 will select upper

f. Mux 2 will select upper

g. Mux 3 will be dont care

h. It will be add operation