问题 问答题

四位运算器框图如下图所示,ALU为算术逻辑单元,A和B为三选一多路开关,预先已通过多路开关A的SW门向寄存器R1,R2送入数据如下:R1=0101,R2=1010。寄存器BR输出端接四个发光二极管进行显示。其运算过程依次如下:


(1)R1(A)+R2(B)→BR(显示结果1010);
(2)R2(A)+R1(B)→BR(显示结果1111);
(3)R1(A)+R1(B)→BR(显示结果1010);
(4)R2(A)+R2(B)→BR(显示结果1111);
(5)R2(A)+BR(B)→BR(显示结果1111);
(6)R1(A)+BR(B)→BR(显示结果1010)。
试分析运算器的故障位置与故障性质(“1”故障还是“0”故障),说明理由。

答案

参考答案:运算器的故障位置在多路开关B,其输出始终为R1的值。
(1)R1(A)+R2(B)=1010,输出结果错;
(2)R2(A)+R1(B)=1111,结果正确,说明R2(A),R1(B)无错;
(3)R1(A)+R1(B)=1010,结果正确,说明R1(A),R1(B)无错。由此可断定ALU和BR无错;
(4)R2(A)+R2(B)=1111。结果错。由于R2(A)正确,且R2(A)=1010,本应R2(B)=1010,但此时推知R2(B)=0101,显然,多路开关B有问题;
(5)R2(A)+BR(B)=1111,结果错。由于R2(A)=1010,BR(B)=1111,但现在推知BR(B)=0101,证明开关B输出有错;
(6)R1(A)+BR(B)=1010,结果错。由于R1(A)=0101,本应BR(B)=1111,但现在推知BR(B)=0101,再次证明开关B出错。
综上所述,多路开关B输出有错。故障性质:多路开关B输出始终为0101。这有两种可能:一是控制信号BS0,BS1始终为01,故始终选中寄存器R1;二是多路开关B电平输出始终处于在0101上。

解析: 根据已知的6步运算过程一步一步地分析,可知运算器的故障位置在多路开关B。
A和B为三选一多路开关,当控制信号为01、10和11时分别选择不同的输入信号。

选择题
选择题