第02章运算方法和运算器(2定点和浮点加减运算)_第1页
第02章运算方法和运算器(2定点和浮点加减运算)_第2页
第02章运算方法和运算器(2定点和浮点加减运算)_第3页
第02章运算方法和运算器(2定点和浮点加减运算)_第4页
第02章运算方法和运算器(2定点和浮点加减运算)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章第二章 运算方法和运算器运算方法和运算器* *数据的表示方法数据的表示方法* *定点和浮点加减运算定点和浮点加减运算* *定点乘运算定点乘运算* *定点除运算定点除运算* *定点运算器的组成定点运算器的组成 2.2 2.2 定点加、减法运算定点加、减法运算2.2.1 2.2.1 补码加法补码加法公式:公式: X+YX+Y补补 = = xx补补+YY补补 (小数(小数MOD 2MOD 2,n n位整数位整数MOD 2MOD 2)例例: :x=+0.1001,y=-0.0101,x=+0.1001,y=-0.0101,求求x+yx+y解解: : xx补补=0.1001, =0.1001, y

2、y补补=1.1011=1.1011 xx补补 0.1 0 0 10.1 0 0 1 yy补补 1.1 0 1 11.1 0 1 1 x+yx+y补补 10.0 1 0 0 10.0 1 0 0 故故: : x+y = +0.0100 x+y = +0.0100+ +2.2 2.2 定点加、减法运算定点加、减法运算2.2.2 2.2.2 补码减法补码减法公式:公式: X-YX-Y补补 = = XX补补+-+-YY补补 ,即化减为加。,即化减为加。n从从 yy补补求求-yy补补的法则是的法则是: :对对 yy补补包括符号位包括符号位“求反求反且末位加且末位加1”, 1”, 即可得即可得-yy补补例

3、例: :x=+0.1101,y=+0.0110,x=+0.1101,y=+0.0110,求求x-y=?x-y=?解解:xx补补=0.1101,=0.1101,yy补补=0.0110,=0.0110, - -yy补补 = = yy补补+2+2-4-4 = 1.1001+0.0001 = 1.1010 = 1.1001+0.0001 = 1.1010 xx补补 0.1 1 0 1 0.1 1 0 1 - -yy补补 1.1 0 1 01.1 0 1 0 x-yx-y补补 10.0 1 1 110.0 1 1 1故故: : x-y = +0.0111x-y = +0.0111+ +小结:补码运算基本

4、规则小结:补码运算基本规则n1 1、参加运算的各个操作数均用补码来表、参加运算的各个操作数均用补码来表示;示;n2 2、符号位作为操作数的最高位与数值位、符号位作为操作数的最高位与数值位同样参与运算;同样参与运算;n3 3、化减为加;、化减为加;n4 4、运算结果仍是补码表示。、运算结果仍是补码表示。2.2.3 2.2.3 溢出及检测方法溢出及检测方法一、什么是溢出(一、什么是溢出(OverflowOverflow) 算术运算所产生的结果超出机器所能表示算术运算所产生的结果超出机器所能表示范围。范围。二、溢出检测方法的依据:两数补码相加,二、溢出检测方法的依据:两数补码相加,只有两数同号才可能

5、产生溢出;若此时只有两数同号才可能产生溢出;若此时产生的结果与两数异号,则一定发生了产生的结果与两数异号,则一定发生了溢出。溢出。机器定点小数表示机器定点小数表示上溢上溢下溢下溢在定点整数机器中在定点整数机器中, ,补码数的表示范围为补码数的表示范围为-2-2n-1n-1X2X2n-1n-1-1-1。在定点小数机器中在定点小数机器中, ,数的表示范围为数的表示范围为| |1 |1 。在运算过程中如出现超出此范围的现象在运算过程中如出现超出此范围的现象, ,称为称为 “ “溢出溢出”。溢出检测方法溢出检测方法1 1、单符号位法、单符号位法 当操作数中的加数与被加数符号相同时当操作数中的加数与被加

6、数符号相同时, ,若结果的符号与操作数的符号不一致若结果的符号与操作数的符号不一致, ,表表示溢出示溢出; ;否则否则, ,表示无溢出表示无溢出nV=AfV=AfBfBfSf+AfSf+AfBfBfSfSf其中其中V=1V=1表示有溢出;表示有溢出; AfAf、BfBf是两加数补码的符号位;是两加数补码的符号位; SfSf是和的符号位。是和的符号位。P33P33页页 例例1212、1313 溢出检测方法溢出检测方法2 2、双高位判别法、双高位判别法n 当最高有效位产生进位而符号位无进位时当最高有效位产生进位而符号位无进位时, ,产生产生上溢上溢; ;n 当最高有效位无进位而符号位有进位时当最高

7、有效位无进位而符号位有进位时, ,产生下产生下溢。溢。n 其逻辑表达式为其逻辑表达式为: : V=C V=Cf f C C0 0, , 其中其中C Cf f为符号位产生的进位为符号位产生的进位, , C C0 0为最高有效位产生的进位为最高有效位产生的进位 有些教材也称为有些教材也称为CsCs和和CpCp溢出检测方法溢出检测方法(3)(3)双符号位法双符号位法( (变形补码变形补码) ) 每个操作数在运算时采用双符号位每个操作数在运算时采用双符号位, ,正数用正数用0000表示表示, ,负数用负数用1111表示表示, ,双符号位与码值位一同参加运算双符号位与码值位一同参加运算, ,若若两个符号

8、位的代码一致两个符号位的代码一致, ,无溢出无溢出; ;否则否则, ,有溢出有溢出, ,且最且最高符号位永远表示结果的正确符号。高符号位永远表示结果的正确符号。 溢出逻辑表达式为溢出逻辑表达式为: :V=SV=Sf1 f1 S Sf2f2 其中其中, ,S Sf1f1和和S Sf2f2分别为最高符号位及第二符号位分别为最高符号位及第二符号位 S Sf1f1 S Sf2f2 0 1 0 1 正溢出正溢出 (上溢)(上溢) 1 0 1 0 负溢出负溢出 (下溢)(下溢)例例机器数字长机器数字长5位,其中含一位数符,补码运算,位,其中含一位数符,补码运算,定点整数表示的范围定点整数表示的范围:-16

9、+159 + 3 = 12 11 + 8 = 19(正溢正溢) 001001 001011 000011 + 001000 001100010011(-9) + (-3) = -12 (-11) + (-7)= -18 (负溢负溢) 110111 110101+ 111101 +111001 1110100 1101110+ 110100101110逻辑符号二选一电路异或门或非门与非门非门或门A+BA 或者 BABA+BABABBBBBBAAABAAAAA与门门电路01+2.2.4 2.2.4 基本的二进制加基本的二进制加/ /减法器减法器输入输入输出输出AiBiCiSiCi100000001

10、10010100110110010101011100111111一位全加器一位全加器FA(Full Adder): 两个两个二进制数字二进制数字Ai,Bi和一个进位输入和一个进位输入Ci相加相加,产生一个和输出产生一个和输出Si,以及一个以及一个进位输出进位输出Ci.它们的关系如下它们的关系如下:SiAi Bi CiCi1AiBiBiCiCiAi AiBi .Ci (Bi Ai) AiBi . BiCi . AiCiCi1= = AiBiBiCiAiCiCi1= = AiBi (Ci (Ai Bi)= = AiBi (Ci (AiBi + AiBi)= = AiBi (AiBiCi + AiB

11、iCi)= = AiBi + AiBiCi + AiBiCi= = AiBi + AiBiCi + AiBiCi= = AiBi + AiBiCi + AiBi + AiBiCi= = Ai (Bi + BiCi ) + Bi ( Ai+ AiCi ) = = Ai (Bi + Ci ) + Bi ( Ai+ Ci )= = Ai Bi + Bi Ci + AiCi(吸收律吸收律)Ci1= = AiBi (Ai Bi) Ci = = Gi Pi Ci一位全加器一位全加器FA3T3TXNORXNOR异或非异或非3T3TXOTXOT异或异或2T2TOROR或或2T2TANDAND与与T TNOTN

12、OT非非T TNORNOR或非或非T TNANDNAND与非与非时间延迟时间延迟逻辑符号(正逻辑)逻辑符号(正逻辑)门的功能门的功能门的名称门的名称典型门电路的逻辑符号和延迟时间典型门电路的逻辑符号和延迟时间接线逻辑接线逻辑( (与或非与或非) )AOIAOIT+TT+TRCRCT被定义为相应于单级逻辑电路的单位门延迟。被定义为相应于单级逻辑电路的单位门延迟。T通常采用一个通常采用一个“与非与非”门或一个门或一个“或非或非”门的时间延迟来作为度量门的时间延迟来作为度量单位。单位。行波进位的补码加行波进位的补码加/ /减法器减法器采用双高位法进行溢出检测采用双高位法进行溢出检测可由可由n个一位的

13、个一位的全加器联成。全加器联成。当当M=0时时,做加法做加法(A+B)运算运算;当当M=1时时,做减法做减法(A-B)运算运算,此此时时,A-B运算化为运算化为A补补+-B补补运算运算, -B B 补补用用B B补补包括符号位包括符号位“取取反末位加反末位加1”1”来来实现。实现。行波进位的补码加行波进位的补码加/ /减法器减法器1 1、电路构成、电路构成 n n个个FAFA,n+1n+1个异或门。个异或门。2 2、电路输入、电路输入 n A An-1n-1A An-2n-2A A1 1A A0 0=A =A 参加加参加加/ /减运算的两减运算的两n B Bn-1n-1B Bn-2n-2B B

14、1 1B B0 0=B =B 个位二进制补码。个位二进制补码。n C C0 0:最低位进位输入,此电路中连接方式控制端:最低位进位输入,此电路中连接方式控制端M M。3 3、电路输出、电路输出n S Sn-1n-1S Sn-2n-2S S1 1S S0 0=S=S为运算结果即和或差的补码。为运算结果即和或差的补码。n V V为溢出标志,为溢出标志,V=1V=1代表有溢出发生。代表有溢出发生。4 4、该电路时间延迟的分析、该电路时间延迟的分析0Bi,Ai(i=0,1,2,n-1)C0输入输入3T所有所有Bi与与M异或异或完毕进入完毕进入FA完成必需的第完成必需的第0级级FA的的A0 B0, 同时

15、也完成同时也完成了了Ai Bi (i=1,2,n-1)3T2TC1C2C32T2T3T3T3TCn-1Cn2T3TS0S1S2Sn-13T异或门检测输出异或门检测输出tan n2 2T T9 9T T(2(2n n9)9)T Tn n位行波进位加法器位行波进位加法器的延迟时间的延迟时间t ta a为为: : 9T 9T为最低位上的两极为最低位上的两极“异或异或”门再加上溢出门再加上溢出“异或异或”门的总门的总时间;时间; 2T 2T为每级进位链的延迟时间。为每级进位链的延迟时间。t ta an n2 2T T9 9T T(2(2n n9)9)T T考虑溢出检测时,有:考虑溢出检测时,有:当不考

16、虑溢出检测时,有:当不考虑溢出检测时,有:t ta a( (n-1)n-1)2 2T T9 9T T ta ta为在加法器的输入端输入加数和被加数后为在加法器的输入端输入加数和被加数后, ,在最坏的情况在最坏的情况下加法器输出端得到稳定的求和输出所需要的最长时间。下加法器输出端得到稳定的求和输出所需要的最长时间。 tata越小越好。越小越好。2.2.5 2.2.5 十进制加法器十进制加法器故:故: 1. 1. 和为和为10101515时(冗余),加时(冗余),加6 6校正;校正; 2. 2. 和数有半进位时,加和数有半进位时,加6 6校正。校正。和数和数(4位位)有半进位有半进位调整调整 28 0010 1000 28 0010 1000 + 9 + 9 0000 10010000 1001 37 0011 0001 37 0011 0001

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论