欢迎来到天天文库
浏览记录
ID:49310929
大小:2.34 MB
页数:93页
时间:2020-02-03
《计算机硬件技术基础——第四章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章运算方法和运算器4.1定点数的加减运算及实现4.1.1、补码加减运算及运算器1、补码加法补码加法的公式是[x]补+[y]补=[x+y]补例:x=0.1001,y=0.0101,求x+y。解:[x]补=0.1001, [y]补=0.0101[x]补0.1001+ [y]补0.0101———————————[x+y]补0.1110所以x+y=+0.11102、补码减法数用补码表示时,减法运算的公式为[x-y]补=[x]补-[y]补=[x]补+[-y]补例:x=+0.1101,y=+0.0110,求x-y。解:[x]补=0.
2、1101 [y]补=0.0110 [-y]补=1.1010[x]补0.1101+ [-y]补1.1010—————————————[x-y]补0.0111所以x-y=+0.01113、溢出检测溢出(1)X=+1000,Y=+1001,用补码计算X+Y。(2)X=-1000,Y=-1001,用补码计算X+Y。正溢出负溢出3、溢出检测溢出(3)X=-1000,Y=1001,用补码计算X-Y。(4)X=1000,Y=-1001,用补码计算X-Y。负溢出正溢出两个正数相加,结果为负,结果大于机器所能表示的最大正数,
3、称为正溢出。两个负数相加,结果为正,结果小于机器所能表示的最小负数,称为负溢出。检测单符号法单符号位判溢方法1假设:Xf是数X的补码符号,Yf是数Y的补码符号,Sf是加减运算结果S的补码符号,是控制加减运算的控制信号,=0做加法,=1做减法,溢出信号V(为1有效)单符号位判溢方法1加法正正负负负正减法正负负负正正单符号判溢方法二V=C1⊕Cf即当最高有效位和符号位的进位不同时,加减运算发生了溢出。(3)X=-1000,Y=1001,用补码计算X-Y。(4)X=1000,Y=-1001,用补码计算X-Y。V=C1⊕CfCf=1
4、C1=0V=0⊕1=1Cf=0C1=1V=1⊕0=1双符号位判溢(变形补码)X和Y采用双符号位补码参加运算,正数的双符号位为00,负数的双符号位为11。当运算结果的两位符号Sf1Sf2不同时(01或10),发生溢出。判溢表达式为:V=Sf1⊕Sf2其中,Sf1是运算结果的正确符号位(即使发生溢出),Sf2在发生溢出时储存运算结果的溢出位。当Sf1Sf2=01时,发生了正溢出,当Sf1Sf2=10时,发生了负溢出。一般在储存时,补码只保留一位符号位,在运算时,才使用双符号位。例:(1)X=+1000,Y=+1001,用变形补码
5、计算X+Y和X-Y,并判溢。(2)X=-1000,Y=1001,用变形补码计算X+Y和X-Y,并判溢。(1)Sf1Sf2=01,正溢出,或者Sf1Sf2=11,无溢出,或者Cf=0,C1=1,不同,溢出Cf=0,C1=0,相同,无溢出X+Y=17X-Y=-1例:(2)X=-1000,Y=1001,用变形补码计算X+Y和X-Y。(2)Sf1Sf2=00,无溢出,或者Sf1Sf2=10,负溢出,或者Cf=1,C1=1,相同,无溢出Cf=1,C1=0,不同,溢出X+Y=1X-Y=-17例:(1)X=+0.1011,Y=0.0111
6、,计算X+Y和X-Y,并判溢。(2)X=-0.1011,Y=0.0111,计算X+Y和X-Y,并判溢。(1)Sf1Sf2=01,正溢出,或者Sf1Sf2=00,无溢出,或者Cf=0,C1=1,不同,溢出Cf=1,C1=1,相同,无溢出X+Y=+1.125X-Y=0.255位定点小数表示范围-1到15/16例:(1)X=+0.1011,Y=0.0111,计算X+Y和X-Y,并判溢。(2)X=-0.1011,Y=0.0111,计算X+Y和X-Y,并判溢。(2)Sf1Sf2=11,无溢出,或者Sf1Sf2=10,溢出,或者Cf=0
7、,C1=0,相同,无溢出Cf=1,C1=0,不同,负溢出X+Y=-0.25X-Y=-1.1255位定点小数表示范围-1到15/164、补码加减运算器的实现一位全加器:3个输入,即加数、被加数和低位来的进位2个输出,即全加器的一位输出和一位向高位进位。FAXnYnCn-1FnCnn位串行加法器(单符号判溢)将n个全加器连接起来可组成n位加法器设A、B为补码,A-B=A+B+末位的1,跟1异或等于取反补码加减运算器(双符号判溢)核心部件就是一个普通的二进制并行加法器,符号位可以像数值位一样参加运算。其中采用双符号位判溢方法实现判
8、溢电路。A是累加器,存放加数和被减数的补码B是寄存器,存放加数和减数的补码。是控制信号=0,B跟0异或,不取反,初始进位为0,A加B=1,跟1异或,取反,初始进位为1,A减B,即A加B补补码加减运算器的说明取反电路一系列异或门=0,B跟0异或,不取反,初始进位为0,A加B=1,跟1异或,取
此文档下载收益归作者所有