计算机组成原理:八位串行加法器实验

  • 实验目的

熟悉 Logisim软件平台;掌握运算器基本工作原理;掌握运算溢出检测的原理和实现方法;

理解有符号数和无符号数运算的区别;理解基于补码的加/减运算实现原理;熟悉运算器的数据传输通路。

  • 实验原理

Logisim是一款数字电路模拟的教育软件,用户都可以通过它来学习如何创建逻辑电路,方便简单。它是一款基于 Java 的应用程序,可运行在任何支持 JAVA 环境的平台,方便学生来学习设计和模仿数字逻辑电路。Logisim中的主要组成部分之一就在于设计并以图示来显示 CPU。当然 Logisim中还有其他多种组合分析模型来对你进行帮助,如转换电路,表达式,布尔型和真值表等等。同时还可以重新利用小规模的电路来作为大型电路的一部分。

  • 实验步骤

1.打开LogiSim软件

2.创建3个1位输入引脚Xi,Ci,Yi和2个1位输出引脚S,Ci+1,同时取消输入引脚的三态选项。

3.按照全加器电路图,通过与门、或门、异或门画出全加器电路。

图4 全加器电路

  1. 做好全加器电路的封装。

图5 全加器电路封装

  1. 用全加器封装,制作串行进位的8位可控加/减法器电路,并封装。

图6 8位可控加/减法串行进位电路

图7 串行进位的8位可控加/减法器电路封装

  1. 用串行进位的8位可控加/减法器的封装,测试其效果。

  • 故障与调试

故障:测试时部分全加器报错,电线变红。研究发现电路连接有重叠部分,重新优化布线解决。

  • 测试与分析

设计分析与说明:

将8个一位全加器FA的进位链串联即可得到8位加法器,由于补码符号位也可以参与运算,所以此电路既可以用于有符号数运算,也可以用于无符号数运算,但二者在溢出检测上有一定区别,这里OF的判定以有符号数加法运算是否溢出为标准。

溢出检测:根据运算过程中,最高数据位的进位与符号位的进位位是否一致进行检测。V= Cd xor Cf。

sub = 0,执行减法操作。0和二进制数异或运算得到其本身,然后通过一位全加器FA执行加法运算。

sub = 1,执行减法操作。1和二进制数异或运算相当于对二进制数进行取反操作,然后将sub = 1,传入FA进行+1操作。(由[y]补求[-y]补,全部位取反后加一)。

高位进位的产生依赖于低位进位的输入,串行进位加法器的速度较慢。

输入:操作数1X的8位数据X7-X0,操作数2Y的八位数据Y7-Y0。最低位进位Cin,加减法控制项Sub。

输出:运算结果S的八位数据S7-S0,最高位进位Cout,有符号运算溢出判断OF。

测试:

  1. x=0001 0100,y=0000 1100 ,sub=0;s=0010 0000,Cout=0,OF=1
  2. x=0111 0100,y=0111 1100,sub=1;s=1111 1000,Cout=0,OF=0
  3. x=0111 0100,y=0111 1000,sub=0;s=1110 1100,Cout=0,OF=1
  4. x=0001 0100,y=00010100,sub=1;s=1001 1010,Cout=0,OF=0
  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值