Consider the following instruction:
OR Rd, Rs, Rt
Fill out the table below to show what values the control block provides to each output it is connected to:
Reg Write |
Mem Read |
ALUMux |
Mem Write |
ALUop |
RegMux |
Branch |
OR |
ALUMux is the control signal that controls the Mux at the ALU input, 0 selects the output of the register file, and 1 selects the immediate from the instruction word as the second input to the ALU.
RegMux is the control signal that controls the Mux at the Data input to the register file, 0 selects the output of the ALU, and 1 selects the output of memory.
A value of X is a don’t care (does not matter if signal is 0 or 1)
All outputs not filled in are either 1, 0, or X.
Answer:
Explanation:
1.RegWrite = 1 (Since the OR instructions writes into the register Rd)
2.MemRead = x (don't care, Since Memory may or may not be read)
3.ALUMux = 0 (Since the value output from the register file is passed to the ALU)
4.MemWrite = 0 (Since the memory is not to be written into)
5.ALUop = 1x (since the operation is OR)
6.RegMux = 1 (Since Rd is the register to be written)
7.Branch = 0 (The instruction is no a branch instruction)
Note: If you have any doubts or queries please comment I will get back to you.
Get Answers For Free
Most questions answered within 1 hours.