计算机组成原理:运算器组成实验(.八位串行可控加减法器等)

计算机组成原理:运算器组成实验(.⼋位串⾏可控加减法器等)
运算器组成实验
⼀、实验⽬的
熟悉 Logisim软件平台。
掌握运算器基本⼯作原理
掌握运算溢出检测的原理和实现⽅法;
理解有符号数和⽆符号数运算的区别;核反应堆的慢化剂
理解基于补码的加/减运算实现原理;
熟悉运算器的数据传输通路。
⼆、实验环境
Logisim是⼀款数字电路模拟的教育软件,⽤户都可以通过它来学习如何创建逻辑电路,⽅便简单。它
光纤熔接示意图是⼀款基于 Java 的应⽤程序,可运⾏在任何⽀持 JAVA 环境的平台,⽅便学⽣来学习设计和模仿数字逻辑电路。Logisim中的主要组成部分之⼀就在于设计并以图⽰来显⽰CPU。当然 Logisim中还有其他多种组合分析模型来对你进⾏帮助,如转换电路,表达式,布尔型和真值表等等。同时还可以重新利⽤⼩规模的电路来作为⼤型电路的⼀部分。
鸡舍暖风炉三、实验内容
⼋位串⾏可控加减法器
四位先⾏进位电路CLA74182
四位快速加法器
⼗六位快速加法器
32位快速加法器
32位MIPS运算器
1.⼋位串⾏可控加减法器
1) 电路图
2) 设计分析与说明:
将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。
3) 实验结果的记录与分析:
1. x=0000 0000,y=0000 0001,sub=0;s=0000 0001,Cout=0,OF=0
2. x=0000 1000,y=0000 0101,sub=1;s=0000 0011,Cout=1,OF=0
3. x=0100 1000,y=0100 0001,sub=0;s=1000 1001,Cout=0,OF=1
4. x=0000 0111,y=1000 0111,sub=1;s=1000 0000,Cout=0,OF=1
分析第1个输出结果 :
sub = 0 ,两个正数执⾏x + y操作。输出结果为s=0000 0001,没有发⽣溢出,最⾼位的进位为0。
4) 操作步骤及顺序:
1. 根据sub确定是执⾏减法操作还是加法操作。
2. 将操作数的8位数据的每⼀分别送⼊⼀位全加器FA中执⾏加法操作。
3. 得出结果
2.四位先⾏进位电路CLA74182
1) 电路图
TODO(上传图⽚的时候名字重复,导致⽂章的图⽚混了)
2) 设计分析与说明:
加法器电路1. A3-A0,B3-B0分别是操作数1A和操作数2B的四位数据,C1、C2、C3、C4分别是从低⾄⾼位的进位数据,C0是低位进位输⼊,可
以以此代⼊展开。
2. 因此C1,C2,C3,C4的计算便不需要彼此依赖,⽽是可以独⽴地根据A3-A0,B3-B0以及C0计算出来。根据这样的思路,便可以
实现“四位先⾏进位电路”。
3. Gi=Ai-1 Bi-1
Pi=Ai-1 + Bi-1
G=G4 + P4G3 + P4P3G2 + P4P3P2G1
P=P4P3P2P1
4. 如C2 = G2 +P2G1 + P2P1C0。先P2P1C0进⾏AND运算,P2G1进⾏AND运算,再将它们的结果与G2进⾏OR运算。
输⼊:进位产⽣函数G4、G3、G2、G1,进位传递函数P4、P3、P2、P1以及低位进位Cin
输出:四个进位C4、C3、C2、C1,进位产⽣函数G,进位传递函数P
3) 实验结果的记录与分析:
输⼊序列G4 P4 G3 P3 G2 P2 G1 P1 Cin,输出序列C4 C3 C2 C1 G* P*
1.输⼊:0000 0001 1 输出:0001 00
2.输⼊:0000 0111 0 输出:0011 00
3.输⼊:1111 0000 0 输出:1100 10
4.输⼊:1111 1110 0 输出:1111 10
分析输出结果 :
C1,C2,C3, C4的计算不需要彼此依赖,⽽是可以独⽴地根据A3-A0,B3-B0以及C0计算出来。
4) 操作步骤及顺序:
1. 输⼊序列G4 P4 G3 P3 G2 P2 G1 P1 Cin
2. 根据公式分别算出C4 C3 C2 C1 G* P*。以C2 = G2 +P2G1 + P2P1C0为例:先P2P1C0进⾏AND运算,P2G1进⾏AND运算,
再将它们的结果与G2进⾏OR运算。
3. 输出结果C4 C3 C2 C1 G* P*
3.四位快速加法器
1) 电路图
2) 设计分析与说明:
需要⼀个CLA74182作为来并⾏计算进位值,然后只需要4个⼀位全加器FA实现加法运算即可。
**输⼊:**X3X2X1X0, Y3Y2Y1Y0, Cin
**输出:**运算结果S的四位数据S3-S0,最⾼位进位Cout,p*,G*。
3) 实验结果的记录与分析:
输⼊:x = 1000 , y = 0100, Cin = 0 ; 输出:s = 1100, Cout = 0,p* = 0, G* = 0
分析:先对Xn、Yn分别进⾏AND和OR运算,送⼊CLA74182,再由此算出S3-S0
4) 操作步骤及顺序:
屋面拉条先求Gi=Xi Yi, Pi=Xi + Yi
根据CLA74182得出的C4 C3 C2 C1作为进位位, 分别与对应的每⼀位X和Y使⽤FA进⾏加法操作
得出运算结果四位数据S3-S0,以及最⾼位进位Cout,p*,G*。
4.⼗六位快速加法器
1) 电路图
TODO(上传图⽚的时候名字重复,导致⽂章的图⽚混了)
2) 设计分析与说明:
需要⼀个CLA74182作为来并⾏计算进位值,然后只需要4个四位快速加法器实现4位数的运算即可。
3) 实验结果的记录与分析:
输⼊:X = 0000 1100 0000 1100, Y = 1000 0100 1000 0100, Cin = 0;
输出:S = 1001 0000 1001 0000, Cout = 0, p* = 0, G* = 0
分析:将输⼊的32位数据分成4个4位数据分别送⼊,利⽤4位加法器分别算出S0-S3,利⽤CLA74182算出p* 和G*,结果正确,与预期相 符合。
4) 操作步骤及顺序:
将输⼊的32位数据分成4个4位数据分别送⼊4位快速加法器中
结合Cin的值得出S0-S3
将每⼀个4位快速加法器产⽣的p* 和G*送⼊CLA74182,算出最终的p* 和G*
得出最终结果
5.32位快速加法器
1)电路图
TODO(上传图⽚的时候名字重复,导致⽂章的图⽚混了)
2) 设计分析与说明:
需要⼀个CLA74182作为来并⾏计算进位值,然后只需要2个⼗六位快速加法器实现16位数的运算即可。
溢出检测⽅法1:根据操作数和运算结果的符号位是否⼀致来进⾏检测
设Xf,Yf分别为两个操作数的符号位,Sf为结果的符号位,V为溢出标志位,V=1时即表⽰溢出,
那么就有逻辑表达式:
这个逻辑表达式表明,有符号加法运算溢出的条件是:两个操作数都是正数结果却为负数,或者 两个运算数都是负数结果却是正数。
3) 实验结果的记录与分析:
输⼊输出见32位快速加法器图
分析 :将输⼊数据分为⾼⼗六位和低⼗六位,分别送⼊2个⼗六位快速加法器中进⾏计算。由2个操作数的符号位和运算结果的符号位可计算出是否溢出。
4) 操作步骤及顺序:
输⼊数据分为⾼⼗六位和低⼗六位,分别送⼊2个⼗六位快速加法器中
将2个⼗六位快速加法器的P*,G*送⼊CLA74182中,并得出S0和S1
由由2个操作数的符号位和运算结果的符号位计算是否溢出
由S0和S1推出运算结果S
6.32位MIPS运算器
0) 芯⽚引脚与功能描述.

本文发布于:2024-09-22 09:31:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/337887.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:运算   结果   符号   进位   溢出   实验   分析
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议