TEC4模型机 运算器组成实验(计算机组成原理实验)中国农业大学

1.实验目的

①学习使用TEC4模型机进行加、减、乘、按位与和直通运算。
②初步认识数据通路。

2.实验内容

①通过数据开关向指定运算数寄存器内置数:向DR1中存入01010101B,向DR2中存入10101010B。
②使用运算器进行直通运算、加减运算并输出结果。
直通运算为(10101010B)&(10101010B)
加法运算为(10101010B)+(01010101B)
减法运算为(10101010B)-(01010101B)
③在不修改连线的基础上,将两个运算器寄存器内的内容互换。

3.相关信号说明

1.ALU_BUS:算术逻辑单元ALU向数据总线输出的开关。当置1时,ALU中的数据流入总线;当置0时,ALU中的数据无法流出。
2.SW_BUS#:一个由三态门组成的数据开关。当SW_BUS#置1时,无法向数据总线输出数据;当SW_BUS#置0时,将SW7-SW0所表示的数据输入到数据总线中。
3.M1/M2:ALU配套的两个运算器寄存器分别有M1和M2两个控制信号,作用是类似的,用于选择输入数据的来源。以M1为例,当M1置1时,表示选用总线作为数据来源;当M1置0时表示选择寄存器堆作为数据来源。
4.S2 S1 S0:算术逻辑单元ALU的运算功能选择,不同的数字组合表示不同的运算。TEC4模型机共有五种运算,分别是000(按位与运算),001(直通运算,也就是输出右边的运算数),010(加法运算),011(减法运算),100(两个运算数低四位的乘法运算)。

4.实验过程

1.首先按照下图所示完成实验连线,完成后点击右上角的红色开关开启电路
在这里插入图片描述
2.在下方置SW7-SW0=01010101B(设定具体数字),置SW_BUS#=0(开启数据开关)
在左边置LDDR1=1(开启DR1准备接收数据),按一次QD(数据传送的时钟信号)
结果如下:可见DR1中的内容已经被修改为01010101B。
完成置数后,需要采用一定的步骤恢复之前的设置。
置SW_BUS#=1(关闭数据开关),置LDDR1=0(关闭DR1)
在这里插入图片描述

采用类似的方法对DR2进行置数,置为10101010B。
在下方置SW7-SW0=10101010B(设定具体数字),置SW_BUS#=0(开启数据开关)
在左边置LDDR2=1(开启DR2准备接收数据),按一次QD(数据传送的时钟信号)
结果如下:可见DR2中的内容已经被修改为10101010B。
在这里插入图片描述

完成置数后,需要采用一定的步骤恢复之前的设置。
置SW_BUS#=1(关闭数据开关),置LDDR2=0。
3.置ALU中S2 S1 S0=001(设置运算类型为直通运算),
置ALU_BUS=1(将ALU运算结果输出到数据总线中)
结果如下所示:可见最上方的红色指示灯的内容与DR2中内容相同,表示直通运算结果正确。
在这里插入图片描述

(注意!由本题可以看出ALU中左运算数A存放在DR2中,右运算数B存放在DR1中)
4.置S2 S1 S0=010(设置运算器功能为加法),得到如下所示结果,由红色指示灯验证正确:
在这里插入图片描述

5.置S2 S1 S0=011(设置运算器功能为减法),得到如下所示结果,由红色指示灯验证正确:
在这里插入图片描述

6.交换DR1和DR2内容的基本思路为:首先由ALU求出A+B,放入DR2中,此时DR1和DR2分别存放B和A+B;接着用ALU求出(A+B)-B=A,放入DR1中,此时DR1和DR2分别存放A和A+B;最后用ALU求出(A+B)-A=B,放入DR2中,此时DR1和DR2分别存放A和B,交换完成。本步骤中A=01010101B,B=10101010B。
①置S2 S1 S0=010(设置运算功能为加法),置LDDR2=1(打开DR2的开关准备接收数据)
按一下QD(时钟信号)
结果如下所示:可见DR2中的内容已经修改为A+B。
结束后置LDDR2=0(关闭DR2的开关)
在这里插入图片描述

②置S2 S1 S0=011(设置运算功能为减法),置LDDR1=1(打开DR1的开关准备接收数据)
按一下QD(时钟信号)
结果如下所示:可见DR1中的内容已经修改为B。
结束后置LDDR1=0(关闭DR1的开关)
在这里插入图片描述

③置S2 S1 S0=011(设置运算功能为减法),置LDDR2=1(打开DR2的开关准备接收数据)
按一下QD(时钟信号)
结果如下所示:可见DR2中的内容已经修改为A。
结束后置LDDR2=0(关闭DR2的开关)
在这里插入图片描述

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值