一、 实验名称:运算器实验
二、 实验目的:
1、 掌握运算器的组成及工作原理;
2、 熟悉ALU执行算术运算与逻辑运算的具体实现过程; 3、 掌握ALU 算术与逻辑运算的控制方法 4、 了解多片ALU的组合扩展功能和进位链的实现
三、 实验内容:
1、 两16位操作数的算术运算及进位影响 2、 两16位操作数的逻辑运算及进位影响 3、 不同控制组合下的算术与逻辑运算的输出结果
四、 实验设备:
EL-JY-II型计算机原理实验系统,排线若干
五、 实验步骤:
1、 在系统断电的情况下,按实验指导书接线图完成本次实验的接线; 2、 系统上电,拨动清零开关,系统清零;
3、 从数据输入开关电路输入第一个16位数据,开放数据总线,使数据进入暂存寄存器1; 4、 从数据输入开关电路输入第二个16位数据,开放数据总线,使数据进入暂存寄存器2; 5、 关闭数据输入开关,开启ALU输出,检查两个16位数据正确与否,有错通过步骤3改正; 6、 设置方式控制M=0,拨动功能选择端S3,S2,S1,S0 进行算术运算,记录ALU输出结果; 7、 重复步骤6,直到S3,S2,S1,S0所有组合(16种)被完成;
8、 设置方式控制M=1,拨动功能选择端S3,S2,S1,S0 进行逻辑运算,记录ALU输出结果; 9、 重复步骤6,直到S3,S2,S1,S0所有组合(16种)被完成;
10、 对实验结果进行检查,如有错误,找出原因,重做实验,直到正确为止。
六、 实验结果
整个实验记录的实验结果如下:
表一: ALU 算术与逻辑运算实验结果
LT1 LT2 S3S2S1S0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 M=0(算术运算) F=1234H F=567CH F=BBB7H F=FFFFH F=1238H F=5680H F=BBBBH F=0003H F=2464H F=68ACH F=CDE7H F=122FH F=2468H F=68B0H F=CDEBH F=1233H F=1235H F=567DH F=BBB8H F=0000H F=1239H F=5681H F=BBBCH F=0004H F=2465H F=68ADH F=CDE8H F=1230H F=2469H F=68B1H F=CDECH F=1234H M=1(逻辑运算) F=EDCBH F=A983H F=4448H F=0000H F=EDCFH F=A987H F=444CH F=0004H F=FFFBH F=BBB3H F=5678H F=1230H F=FFFFH F=BBB7H F=567CH F=1234H Cn=1(无进位) Cn= 0(有进位) 1234H 5678H 表二 74181ALU功能表(分析时使用) 选择 S3 S2 S1 S0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
M=0 算术操作 M=1 逻辑操作 Cn=1(无进位) Cn=0(有进位) F=/A F=/(A+B) F=/A*B F=0 F=/(A*B) F=/B F=A*/B F=/A+B F=/(/A*B+A*/B) F=B F=1 F=A+/B F=A+B F=A F=A F=A+B F=A+/B F=减1(2的补) F=A加A*/B F=(A+B)加A*/B F=A*/B减1 F=A加A*B F=A加B F=(A+/B)加A*B F=A*B减1 F=A加A F=(A+B)加A F=(A+/B)加A F=A减1 F=A加1 F=(A+B)加1 F=(A+/B)加1 F=0 F=A加A*/B加1 F=(A+B) 加A*/B加1 F=A减B F=A*/B F=A加A *B加1 F=A加B加1 F=(A+/B)加A*B加1 F=A*B F=A加A 加1 F=(A+B)加A加1 F=(A+/B)加A加1 F=A F=(/A*B+A*/B) F=A减B减1 1 0 1 1 F=A*B
七、 分析讨论
M是算术与逻辑运算的选择端决定了ALU 进行那类运算,S0, S1,S2,S3是功能选择控制端,决定是做加、减、逻辑与、逻辑或、逻辑异或等运算,表一的实验结果与手工验算完全一致,从而验正了整个ALU的算术/逻辑运算功能和进位处理功能。灵活运用S0,S1,S2,S3的不同组合可以实现许多其它功能,如本ALU虽然没有求补功能但可以通过取反加1完成求补运算,向左移位的实现可采用自身相加(A+A=2A),此外选择M=1,S3S2S1S0=1111或S3S2S1S0=1010将操作数A或B可以直接送到ALU的输出,这样可以直接验证输入数据是否正确。本次实验也涉及到了数据总线,总线有三个性质:公共性、驱动性和三态性,在数据输入时利用控制开关来控制三态,有效时输出数据,无效时数据输入缓冲器呈高阻(相当断开)与数据总线隔离;公共性是总线的最根本的属性,所有传输的数据都通过共享数据线分时完成的,何时完成靠控制信号来区分,如输入的两个16位数据就是通过数据总线分两次(分时)传送的。
八、 心得体会
这是计算机组成原理的第一个实验,虽然还有点陌生,但基本熟悉了整个实验系统的基本结构,了解了该实验装置按功能分成几大区,学会何时操作各种开关、按键。最重要的是通过实验掌握了运算器工作原理,熟悉了算术/逻辑运算的运算过程以及控制这种运算的方法,了解了进位对算术与逻辑运算结果的影响,对时序是如何起作用的没太弄清楚,相信随着后续实验的进行一定会搞清楚的。