Question: When silicon chips are fabricated, defects in materials (e.g., silicon) and manufacturing errors can result in defective circuits. A very common defect is for one

When silicon chips are fabricated, defects in materials (e.g., silicon) and manufacturing errors can result in defective circuits. A very common defect is for one wire to affect the signal in another. This is called a cross-talk fault. A special class of cross-talk faults is when a signal is connected to a wire that has a constant logical value (e.g., a power supply wire). In this case we have a stuck-at-0 or a stuckat-1 fault, and the affected signal always has a logical value of 0 or 1, respectively. The following problems refer to bit 0 of the Write Register input on the register file inFigure 4.24.

Jump address [31-0] Instruction [25-0] Shift left 2 26 28 0. PC + 4 [31-281 Add ALU result Add Shift left 2 RegDst Jump

1. Let us assume that processor testing is done by filling the PC, registers, and data and instruction memories with some values (you can choose which values), letting a single instruction execute, then reading the PC, memories, and registers. These values are then examined to determine if a particular fault is present. Can you design a test (values for PC, memories, and registers) that would determine if there is a stuck-at-0 fault on this signal?

2. Repeat 4.6.1 for a stuck-at-1 fault. Can you use a single test for both stuck-at-0 and stuck-at-1? If yes, explain how; if no, explain why not.

3. If we know that the processor has a stuck-at-1 fault on this signal, is the processor still usable? To be usable, we must be able to convert any program that executes on a normal MIPS processor into a program that works on this processor. You can assume that there is enough free instruction memory and data memory to let you make the program longer and store additional data.

4. Repeat 4.6.1, but now the fault to test for is whether the €œMemRead€ control signal becomes 0 if RegDst control signal is 0, no fault otherwise.

5. Repeat 4.6.4, but now the fault to test for is whether the €œJump€ control signal becomes 0 if RegDst control signal is 0, no fault otherwise.

Jump address [31-0] Instruction [25-0] Shift left 2 26 28 0. PC + 4 [31-281 Add ALU result Add Shift left 2 RegDst Jump Branch MemRead MemtoReg ALUOP MemWrite ALUSrc RegWrite Instruction [31-26] Control Instruction [25-21] Read Read address register 1 PC Read data 1 |Instruction [2016] Read register 2 Zero ALU ALU Instruction [31-0] Read data Read Write Address result Instruction [15-11] Instruction register data 2 memory Write data Registors Write Data data memory Instruction [15-0] 16 Sign- 32 ALU extend control Instruction [5-0]

Step by Step Solution

3.36 Rating (171 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

1 To test for a stuckat0 fault on a wire we need an instruction that puts that wire to a value of 1 and has a different result if the value on the wir... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Computer Organization Design Questions!