Name: Box: Date:
HW12
(10 points) Describe the effect that a single stuck-at-0 fault (i.e. regardless of what it should be, the signal is always 0) would have for the signals shown below, in the single-cycle datapath in Figure 4.17, on page 265. Note that the ALUOp signal is two bits in size, LSB and MSB refer to the least-significant and most-significant respectively. Which instructions, if any, will not work correctly? Explain why.
-
RegWrite = 0
Most R-type instructions and
lw
won't work since they can't write to the register file. -
ALUOp (LSB) = 0
The ALU will only receive x0 as control so it can't do sub for beq and branches might fail.
-
ALUOp (MSB) = 0
The ALU will only receive 0x as control, so it can't use the function code correctly. Many R-types will fail, since the ALU will receive 00 (add) for all R-types.
-
Branch = 0
This will prevent branches from be taken. Branches that are supposed to be taken will fail.
-
MemRead = 0
Memory cannot be read, so
lw
will fail. -
MemWrite = 0
Memory cannot be written, so
sw
will fail.
Datapath for reference:
