一、实验目的
1、认识模拟器
2、熟悉模拟器构建
3、运算器的组成的实验
二、实验内容
1、仿真面板
2、数据通路总体图
3、解释ALU、DR1H、DR1L、DR2H、DR2L、SW_BUS
4、运算器的组成的实验。
(1)连接模拟板线路组成运算器,展示仿真面板图,数据通路图。
(2)令A=10101100,B=11100010。实验相应加法(+)、减法(-)、乘法(*)、与(&)运算,展示其仿真面板图,及相应的数据通路图,并且验证其运算结果。
三、实验工具
模拟程序
四、详细实验过程分析
1、仿真面板
2、数据通路总体图
3、解释ALU、DR1H、DR1L、DR2H、DR2L、SW_BUS
ALU:运算器 ALU 由一片 ispLSI1024(U47)组成,在选择端 S2、S1、S0 控制下,对数据 A 和 B 进行 加、减、与、直通、乘五种运算。
DR1H、DR1L:运算操作数寄存器,和ALU的B数据口相连。
DR2H、DR2L:运算操作数寄存器,和ALU的A数据口相连。
SW_BUS: 开关寄存器 SW_BUS(U38)是 1 片 74HC244,用于将控制台开关 SW7—SW0 的数据送往数据总线DBUS。当 SW_BUS# = 1 时,禁止开关 SW7—SW0 的数据送往数据总线 DBUS;当 SW_BUS# = 0 时,允许开关 SW7—SW0 的数据送往数据总线 DBUS。
4、运算器的组成实验
(1)仿真面板图:
数据通路图:
(2)令A=10101100,B=11100010。实验相应加法(+)、减法(-)、乘法(*)、并(&)运算,展示其仿真面板图,及相应的数据通路图,并且验证其运算结果。
给A进行赋值:
仿真面板:
数据通路图:
给B进行赋值:
仿真面板:
数据通路图:
加法
仿真面板:
数据通路图:
实验结果:A+B= 10101100+11100010=110001110≠10001110
原因:超出八位二进制的运算范围
减法
仿真面板:
数据通路图:
实验结果:A-B=10101100-11100010=-110110≠11001010
原因:超出无符号位的八位二进制减法运算
乘法
仿真面板:
数据通路图:
实验结果:A*B= 10101100*11100010= 1001011111011000≠00011000
原因:超出此运算范围
与运算
仿真面板:
数据通路图:
验证:A&B= 10101100 & 11100010=10100000,答案正确。
五、总结
当运算结果超出此二进制运算器的范围时,运算器运算出来结果会与实际的结果不同。进位 C 只在加法运算和减法运算时产生。加运算中,C 表示进位;减运算中,C 代表借位。加、 减运算产生的进位(借位)在 T4 的上升沿送入 C 寄存器保存。与、乘、直通操作影响进位 C 的状态,即进位 C 保持不变。当 ALU_BUS = 1 时,运算结果送往数据总线 DBUS。加、减运算产生的进位(借位)C 与控制台 的 C 指示灯相连。