运算方法与运算器1恢复

上传人:新** 文档编号:578339987 上传时间:2024-08-24 格式:PPT 页数:132 大小:3.12MB
返回 下载 相关 举报
运算方法与运算器1恢复_第1页
第1页 / 共132页
运算方法与运算器1恢复_第2页
第2页 / 共132页
运算方法与运算器1恢复_第3页
第3页 / 共132页
运算方法与运算器1恢复_第4页
第4页 / 共132页
运算方法与运算器1恢复_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《运算方法与运算器1恢复》由会员分享,可在线阅读,更多相关《运算方法与运算器1恢复(132页珍藏版)》请在金锄头文库上搜索。

1、2本章首先讲述计算机中数据与文字的表示方法本章首先讲述计算机中数据与文字的表示方法然后讲述定点运算方法、定点运算器的组成,然后讲述定点运算方法、定点运算器的组成,最后讲述浮点运算方法、浮点运算器的组成。最后讲述浮点运算方法、浮点运算器的组成。重点掌握和了解重点掌握和了解 二进数的表示和数的范围二进数的表示和数的范围IEEE754 IEEE754 标准标准定点数的加减乘除法运算定点数的加减乘除法运算规格化浮点数的四则运算规格化浮点数的四则运算阵列乘除法器阵列乘除法器本本 章章 主主 要要 内内 容容32.1 2.1 数据与文字的表示方法数据与文字的表示方法42.1 2.1 数据与文字的表示方法数

2、据与文字的表示方法52.1 2.1 数据与文字的表示方法数据与文字的表示方法数据信息控制信息非数值型数据指令信息等 一、数值型数据的表示方法 数值型数据的三个要素:符号,数码,小数点数值型数据62.1 2.1 数据与文字的表示方法数据与文字的表示方法(一(一) ) 符号的表示方法符号的表示方法 -符号数码化:符号数码化:0-0-正数;正数;1-1-负数负数 -放在最前面放在最前面 -机器数:符号数码化的数机器数:符号数码化的数 - -无符号化,或无符号化,或用用ASCIIASCII码码( (二二) ) 数码部分的表示数码部分的表示 由由1010个阿拉伯的数字构成个阿拉伯的数字构成 1 1。编码

3、:。编码:BCDBCD码,码,ASCIIASCII码码72.1 2.1 数据与文字的表示方法数据与文字的表示方法1 1。编码:。编码:BCDBCD码码, ,ASCIIASCII码码 0000-00000-0;0001-10001-1;0010-20010-2 0011-3 0011-3;0100-40100-4;0101-50101-5 0110-6 0110-6;0111-70111-7;1000-81000-8 1001-9 1001-9 0011000 0-0 0011000 0-0 。 00111001-9 00111001-9转换简单,编码效率低,运算器复杂转换简单,编码效率低,运算

4、器复杂82.1 2.1 数据与文字的表示方法数据与文字的表示方法2 2。采用二进制数表示。采用二进制数表示* *日常生活中,我们采用日常生活中,我们采用1010进制数进制数 十进制数:十进制数:1010个符号,逢十进一,权个符号,逢十进一,权1010i i* *计算机中只有两个符号可用计算机中只有两个符号可用-二进制数二进制数1 1)进位计数制)进位计数制 r r进制数:用进制数:用r r个符号的组合表示数码部分,并个符号的组合表示数码部分,并且每个位置上的权为且每个位置上的权为r ri i,计数时逢,计数时逢r r进位的计数制。进位的计数制。92.1 2.1 数据与文字的表示方法数据与文字的

5、表示方法r r进制数的表示方法:进制数的表示方法:(P Pn-1n-1P Pn-2n-2PPi iPP2 2P P1 1P P0 0.P.P-1-1P P-2-2.P.P-m-m)r)r = P = Pn-1n-1r rn-1n-1+P+Pn-2n-2r rn-2n-2+P+Pi ir ri iPP2 2r r2 2+P+P1 1r r1 1+P+P0 0 +P+P-1-1r r-1-1+P+P-2-2r r-2-2.P.P-m-mr r-m-m2 2) 计算机中常用的进位基数制计算机中常用的进位基数制 可用可用数数码进位位基数基数0K-109ABCDEF012345670109逢逢K进1逢逢

6、16进1逢逢8进1逢逢2进1逢逢10进1K168210K进制制十六十六进制制八八进制制二二进制制十十进制制102.1 2.1 数据与文字的表示方法数据与文字的表示方法(1)二二八,十六八,十六进制之制之间的的转换* *23=8;24=16-分分组合并,合并,扩展表示方法展表示方法例例:(100010001)B=421O=111H(2)二、八、十六)二、八、十六十十。按。按权相加法:相加法:。逐次乘基。逐次乘基/除基相加法除基相加法3)不同进制数之间的相互转换P Pn-1n-1r rn-1n-1+P+Pn-2n-2r rn-2n-2+P+Pi ir ri iPP2 2r r2 2+P+P1 1r

7、 r1 1+P+P0 0 +P+P-1-1r r-1-1+P+P-2-2r r-2-2.P.P-m-mr r-m-m= =(P Pn-1n-1r r1 1+P+Pn-2n-2)r r1 1+ +。) r) r1 1+P+P0 0 + (P P-m-mr r-1-1+P+P-m-1-m-1) r) r-1-1. .P P-2-2)r)r-1-1 +P +P-1-1)r)r-1-1112.1 2.1 数据与文字的表示方法数据与文字的表示方法(3(3)十)十二、八、十六二、八、十六减权定位法减权定位法 例例 (326326)1010= =(101000110101000110)B B。除基取余法(整

8、数部分)。除基取余法(整数部分)/ /乘基取整法(小数乘基取整法(小数部分)部分) 例:例:(326.625) (326.625) 10 10 = =(? ?)B B* *采用二进制数表示,可以直接使用人们习惯的采用二进制数表示,可以直接使用人们习惯的计数和计算规则。计数和计算规则。122.1 2.1 数据与文字的表示方法数据与文字的表示方法(三)小数点处理1 1。定点处理。定点处理 1 1)无符号整数:)无符号整数: 省略符号位,适应只有正整数的运算省略符号位,适应只有正整数的运算 2 2)带符号定点整数:)带符号定点整数: 小数点默认为在末尾,适应只有整数的运小数点默认为在末尾,适应只有整

9、数的运算算 3 3)带符号定点小数:)带符号定点小数: 小数点默认为在最前面,适应只有小数小数点默认为在最前面,适应只有小数的运算的运算13三、小数点处理三、小数点处理2。浮点。浮点处理理-用一用一组0/1组合表示小数点的位置合表示小数点的位置阶码。浮点数的定。浮点数的定义N=+/-REM;E:阶码;M:尾数;:尾数;R:基:基数(数(2)例:例:+111.1101=0.111110123-111.1101=-0.11111012314(四)数的机器四)数的机器码表示表示无符号数:正整数。无符号数:正整数。带符号数:正数或符号数:正数或负数。数。真真值: 带“+”、“”的数的数值本身。本身。例

10、:例:+0.01、-1000机器数(机器机器数(机器码):):最高位最高位为符号位,符号位,“0”表示表示“+”,“1”表示表示“”。原原码反反码补码2.1 2.1 数据与文字的表示方法数据与文字的表示方法152.1 2.1 数据与文字的表示方法数据与文字的表示方法原原码定点整数定点整数X1=+9=+1001BX1原原=00001001.X2=9=1001BX2原原=10001001.定点小数定点小数X1=+0.75=+0.11BX1原原=0.1100000X2=0.75=0.11BX2原原=1.11000000的表示形式不唯一的表示形式不唯一+0原原=000000000原原=10000000

11、原原码加减法运算复加减法运算复杂。16反反码定点整数定点整数X1=+9=+1001BX1反反=00001001.X2=9=1001BX2反反=11110110.定点小数定点小数X1=+0.75=+0.11BX1反反=0.1100000X2=0.75=0.11BX2反反=1.00111110的表示形式不唯一的表示形式不唯一+0反反=000000000反反=111111112.1 2.1 数据与文字的表示方法数据与文字的表示方法17补码的引入补码的引入模和同余模和同余模:计量器的溢出容量,用模:计量器的溢出容量,用M M表示。当运算结果表示。当运算结果超出计量范围,溢出部分舍弃。超出计量范围,溢出

12、部分舍弃。字长为字长为n+1n+1位时位时定点整数的模为定点整数的模为2 2n+1n+1 。定点小数的模为定点小数的模为2 2 。同余:两整数同余:两整数A A、B B除以模除以模M M,所得的余数相同。,所得的余数相同。可记作可记作A=B A=B (mod M mod M )当模为当模为1212时时 4 4和和1616同余,可写作同余,可写作 4 = 16 4 = 16 (mod mod 1212) -2-2和和1010同余,可写作同余,可写作 2 = 10 2 = 10 (mod 12)mod 12)利用补码可将减法运算转换成为加法运算利用补码可将减法运算转换成为加法运算2.1 2.1 数

13、据与文字的表示方法数据与文字的表示方法n+110000n+110.0004-2=4+1018补码定点整数定点整数X1=+9=+1001BX1补=00001001.X2=9=1001BX2补=11110111.定点小数定点小数X1=+0.75=+0.11BX1补=0.1100000X2=0.75=0.11BX2补=1.01000000的表示形式唯一的表示形式唯一+0补=0补=000000002.1 2.1 数据与文字的表示方法数据与文字的表示方法19X真真值+/-变成成0/1数数值位不位不变X原原XS=0时,数,数值位不位不变XS=1时,数,数值位位变反加反加1X补XS=0时,数,数值位不位不变

14、XS=1时,数,数值位位变反反X反反2.1 2.1 数据与文字的表示方法数据与文字的表示方法三种不同机器数以及真三种不同机器数以及真值之之间的的转换20原原码与与补码的直接的直接转换法法当当X为正数正数时,X补=X原原=X;当当X为负数数时,由原,由原码求求补码的的简便算法:便算法:符号位不符号位不变,最后面的,最后面的1及其后各位保持及其后各位保持不不变,中,中间各位按位取反。各位按位取反。例:例:X原原=1.1110011000X补=1.00011010002.1 2.1 数据与文字的表示方法数据与文字的表示方法不不变不不变取反取反21三种机器数的比三种机器数的比较正数的原、反、正数的原、

15、反、补码相等,相等,负数的各自不同数的各自不同原原码的符号位是人的符号位是人为定定义的,不能参与运算的,不能参与运算补码的符号位是通的符号位是通过模运算得到的,是数模运算得到的,是数值的一部分,可参与运算。的一部分,可参与运算。原、反原、反码零的表示形式不唯一,零的表示形式不唯一,补码零的表零的表示形式唯一。示形式唯一。假假设字字长为8位,位,则:+0原原=00000000-0原原=10000000+0反反=00000000-0反反=11111111+0补=-0补=000000002.1 2.1 数据与文字的表示方法数据与文字的表示方法22机器机器码的表数范的表数范围不同不同原、反原、反码的表

16、数范的表数范围相相对于零点于零点对称称补码的表数范的表数范围,负方向比正方向方向比正方向宽以字以字长4位位(含符号位含符号位)的的纯整数整数为例例原原码、反、反码表数范表数范围补码表数范表数范围(多表示一个(多表示一个负数)数)0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7+0+0-0-07个正数个正数7个负数个负数0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-87个正数个正数8个负数个负数-8-82.1 2.1 数据与文字的表示方法数据与文字的

17、表示方法231000-81000-02.1 2.1 数据与文字的表示方法数据与文字的表示方法真真值与三种机器数与三种机器数间的的对照照24定点数与浮点数定点数与浮点数定点数定点数约定机器中所有数据的小数点位置是固定机器中所有数据的小数点位置是固定不定不变的。的。小数点小数点隐含表示。含表示。可表示成可表示成纯小数或小数或纯整数。整数。定点数定点数XX0 X1X2Xn表示形式表示形式2.1 2.1 数据与文字的表示方法数据与文字的表示方法25定点数的表示范围定点数的表示范围原码定点数原码定点数 ( (字长字长n+1n+1位位) )纯小数:纯小数:(1(12 2-n-n )(1-2 )(1-2-n

18、 -n ) ) 例例: :字长为字长为8 8位位, ,则则最小定点小数最小定点小数: -127/128 : -127/128 最大定点小数最大定点小数: 127/128: 127/128纯整数:纯整数:( 2( 2n n 1)(21)(2n n -1) -1) 例例: :字长为字长为8 8位位, ,则则最小定点整数最小定点整数: -127 : -127 最大定点整数最大定点整数: 127: 1271.11111110.111111111111111.01111111.2.1 2.1 数据与文字的表示方法数据与文字的表示方法26定点数的表示范围定点数的表示范围补码定点数补码定点数 ( (字长字长

19、n+1n+1位位) )纯小数:纯小数:11112 2-n-n 例例: :字长为字长为8 8位,则位,则最小定点小数最小定点小数: : 1 1 最大定点小数最大定点小数: 127/128: 127/128纯整数:纯整数:2 2n n 2 2n n1 1例例: :字长为字长为8 8位,则位,则最小定点整数最小定点整数: : 128128最大定点整数最大定点整数: 127: 1271.00000000.111111110000000.01111111.2.1 2.1 数据与文字的表示方法数据与文字的表示方法27阶码,常为纯整数尾数,常为纯小数浮点数浮点数小数点的位置不固定,根据需要而浮小数点的位置不

20、固定,根据需要而浮动。任何一个数任何一个数N的浮点表示形式的浮点表示形式为N=M2E2.1 2.1 数据与文字的表示方法数据与文字的表示方法0+0+1-1+28第n位K个0K个个1n个个0n个1K个1浮点数的表示范围浮点数的表示范围若若阶码数值部分为阶码数值部分为K K位,尾数数值部分为位,尾数数值部分为n n位,均用补码表示,则位,均用补码表示,则2.1 2.1 数据与文字的表示方法数据与文字的表示方法29规格化的浮点数规格化的浮点数为了充分利用尾数的有效数位,规定尾数值为了充分利用尾数的有效数位,规定尾数值应在应在0.510.51之间。之间。补码表示时,尾数的最高位应与符号位不同补码表示时

21、,尾数的最高位应与符号位不同当当 1/2 = M 1 1/2 = M 1 时,应有时,应有0.1 0.1 的形式的形式当当 1 = M - 1/2 1 = M - 1/2 时,应有时,应有1.0 1.0 的形式的形式为什么是,而不是=?为什么是=?2.1 2.1 数据与文字的表示方法数据与文字的表示方法补码的表示范围比原码宽,可以表示-1, -1补=1.0000000,是规格化的浮点数-1/2原=1.1000000-1/2补=1.1000000不是规格化的浮点数30浮点数的典型浮点数的典型值:阶码和尾数均用和尾数均用补码表示表示浮点数代码浮点数代码真值真值阶码阶码尾数尾数最大正数最大正数最小正

22、数最小正数规格化的最小正数规格化的最小正数绝对值最大负数绝对值最大负数绝对值最小负数绝对值最小负数规格化的绝对值最规格化的绝对值最小负数小负数011011100100100100 011 0111001001001000.11110.11110.0001 0.0001 0.10000.10001.00001.00001.11111.11111.01111.01112.1 2.1 数据与文字的表示方法数据与文字的表示方法31X1移移=27+1101101 =10000000 + 1101101 =11101101X1补=01101101X2移移=27+(-1101101) = 10000000

23、- 1101101 = 00010011 X2补= 10010011移移码:在真:在真值X的基的基础上加一个常数,相当于上加一个常数,相当于X在数在数轴上向正方向偏移了若干上向正方向偏移了若干单位。位。X移移码=偏置偏置值+X标准偏置准偏置值:字:字长n+1位位时,偏置,偏置值为2n。例:字例:字长8位,若偏置位,若偏置值为27,X1=+1101101,X2= -1101101,求移,求移码。2.1 2.1 数据与文字的表示方法数据与文字的表示方法P2632真值真值X X( (十进制十进制) )真值真值X X(二进制)(二进制)XX补补XX移移-128-127 -101127-10000000

24、-1111111 -00000010000000000000111111111000000010000001 111111110000000000000001011111110000000000000001 011111111000000010000001111111112.1 2.1 数据与文字的表示方法数据与文字的表示方法移移码、补码和真和真值之之间的关系的关系设字字长8位,偏置位,偏置值为标准偏置准偏置值2733移移码的特点(字的特点(字长8位,偏置位,偏置值为27)移移码最高位最高位为0表示表示负数,最高位数,最高位为1表示表示正数。正数。移移码直直观反映真反映真值的大小。的大小。全全

25、0时,所,所对应的真的真值最小;最小;全全1时,所,所对应的真的真值最大;最大;有利于两个浮点数有利于两个浮点数进行行阶码的大小比的大小比较0的移的移码表示形式唯一表示形式唯一+0移移=-0移移=10000000移移码将真将真值映射到正数域,可映射到正数域,可视为无符号数无符号数同一真同一真值的的补码和移和移码只相差符号位。只相差符号位。2.1 2.1 数据与文字的表示方法数据与文字的表示方法34IEEE754标准的浮点数:准的浮点数:应用于用于80X86微机微机182332位位短浮点数短浮点数数符阶码 尾数64位长浮点数11152数符阶码 尾数80位临时浮点数数符阶码尾数115643232位

26、短浮点数位短浮点数1.1.尾数隐含了最高位尾数隐含了最高位1(1(位权位权2 20 0) ),实际为,实际为2424位,尾数采用原位,尾数采用原码表示。码表示。2.2.阶码采用偏置值为阶码采用偏置值为127127的移码表示。的移码表示。2.1 2.1 数据与文字的表示方法数据与文字的表示方法P20352.1 2.1 数据与文字的表示方法数据与文字的表示方法IEEE754IEEE754标准标准基数基数R=2R=2,基数固定,采用隐含方式来表示它。,基数固定,采用隐含方式来表示它。3232位的浮点数:位的浮点数:S S数的符号位,数的符号位,1 1位,在最高位,位,在最高位,“0”0”表示正数,表

27、示正数,“1”1”表示负数。表示负数。M M是尾数,是尾数, 2323位,在低位部分,采用纯小数表示位,在低位部分,采用纯小数表示E E是阶码,是阶码,8 8位,采用移码表示。移码比较大小方便。位,采用移码表示。移码比较大小方便。规格化:规格化: 若不对浮点数的表示作出明确规定,同一若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。个浮点数的表示就不是惟一的。尾数域最左位尾数域最左位( (最高有效位最高有效位) )总是总是1 1, 故这一位经常不予存故这一位经常不予存储,而认为隐藏在小数点的左边。储,而认为隐藏在小数点的左边。采用这种方式时,将浮点数的指数真值采用这种方式时,将浮

28、点数的指数真值e e变成阶码变成阶码E E时,应时,应将指数将指数e e加上一个固定的偏移值加上一个固定的偏移值127(01111111)127(01111111),即,即E=e+127E=e+127。362.1 2.1 数据与文字的表示方法数据与文字的表示方法6464位的浮点数中符号位位的浮点数中符号位1 1位,阶码域位,阶码域1111位,尾位,尾数域数域5252位,指数偏移值是位,指数偏移值是10231023。因此规格化的。因此规格化的6464位浮点数位浮点数x x的真值为:的真值为: x=(-1)x=(-1)S S(1.M)2(1.M)2E-1023E-1023 e=E-1023 e=E

29、-1023一个规格化的一个规格化的3232位浮点数位浮点数x x的真值表示为的真值表示为 x=(-1)x=(-1)S S(1.M)2(1.M)2E-127E-127 e=E-127 e=E-127372.1 2.1 数据与文字的表示方法数据与文字的表示方法真值真值x x为零表示:当阶码为零表示:当阶码E E为全为全0 0且尾数且尾数M M也为全也为全0 0时的值,时的值,结合符号位结合符号位S S为为0 0或或1 1,有正零和负零之分。,有正零和负零之分。真值真值x x为无穷大表示:当阶码为无穷大表示:当阶码E E为全为全1 1且尾数且尾数M M为全为全0 0时,时,结合符号位结合符号位S S

30、为为0 0或或1 1,也有,也有+和和-之分。之分。这样在这样在3232位浮点数表示中,要除去位浮点数表示中,要除去E E用全用全0 0和全和全1 1(2552551010)表示零和无穷大的特殊情况,指数的偏移值)表示零和无穷大的特殊情况,指数的偏移值不选不选128128(1000000010000000),而选),而选127127(0111111101111111)。对于)。对于规格化浮点数,规格化浮点数,E E的范围变为的范围变为1 1到到254254,真正的指数值,真正的指数值e e则为则为-126-126到到+127+127。因此。因此3232位浮点数表示的绝对值的范位浮点数表示的绝对

31、值的范围是围是1010-38-3810103838(以(以1010的幂表示)。的幂表示)。浮点数所表示的范围远比定点数大。一台计算机中究浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。多采用定点表示。382.1 2.1 数据与文字的表示方法数据与文字的表示方法浮点数表示范浮点数表示范围如下如下图所示所示39(

32、2)计算出算出阶码真真值e =移移码-偏置偏置值127e =10000010-1111111=011=(3)10(3)写出尾数写出尾数(包括包括隐含的最高位含的最高位1)1.M=1.011011(4)写出此数的浮点写出此数的浮点记数形式数形式X =(-1)s 1.M 2e=+1.011011*23=1011.011(5)转换成十成十进制数,并加上符号位制数,并加上符号位 11.375例例1:若短浮点数若短浮点数x的的754标准存准存储格式格式为(41360000)16,求,求其浮点数的十其浮点数的十进制数制数值。 (1)将十六将十六进制数制数转换成二成二进制数,写成短浮点数格式制数,写成短浮点

33、数格式2.1 2.1 数据与文字的表示方法数据与文字的表示方法01101100000000000000000100000100s阶码(8位)尾数(23位)400 0100 0001 1100 0001 1010 0100 1100 0000 010 0100 1100 0000 00000000 00000000正数阶码的移码(8位)隐含了最高数位1的尾数的原码(23位)例例2:将(:将(20.59375)10转换成短浮点数格式成短浮点数格式(1)把十把十进制数制数转换为二二进制数制数(20.59375)10=(10100.10011)2(2)写成浮点写成浮点记数形式,尾数保留最高位数形式,尾

34、数保留最高位1,不,不计入。入。 10100.10011=1.010010011*24(3)计算出算出阶码的移的移码1111111+100=10000011(4)以短浮点数格式存以短浮点数格式存储该数数 41A4C000H2.1 2.1 数据与文字的表示方法数据与文字的表示方法41二、非数二、非数值数据表示数据表示通常是指字符、字符串、通常是指字符、字符串、图形符号和形符号和汉字等各种数字等各种数据,它据,它们通常不用来表示数通常不用来表示数值的大小,一般情况下的大小,一般情况下不不对它它们进行算行算术运算。运算。字符和字符串表示字符和字符串表示ASC(美国美国标准信息交准信息交换码)7位基本

35、位基本ASC码(国(国际通用)通用)可表示可表示128种字符种字符8位位扩充充ASC码(可重新定(可重新定义)可表示可表示256种字符种字符ASC码可分可分为:显示字符示字符控制字符控制字符“0 ”为48 “A”为65return 、backspace键的编码分别为13、82.1 2.1 数据与文字的表示方法数据与文字的表示方法P27422.1 2.1 数据与文字的表示方法数据与文字的表示方法43256列256行1024个个1024个个1024行1024列统一代一代码(Unicode) 能能够表示表示6800种种语言中任意言中任意一种一种语言里使用的所有符号。言里使用的所有符号。UCS-2用用

36、16位数来表示位数来表示可表示可表示65536个符号个符号UCS-4用用32位数来表示位数来表示每个每个16位数都来自于位数都来自于对UCS-2的的进一步一步扩展展可表示可表示220个字符个字符2.1 2.1 数据与文字的表示方法数据与文字的表示方法44汉字字编码汉字是一种象形文字,无法直接用字是一种象形文字,无法直接用标准西文准西文键盘输入,必入,必须经过转换间接接输入;入;汉字的字数也字的字数也较多,不能用多,不能用单字字节的的ASC(256个字符)来表示个字符)来表示目前采用两个字目前采用两个字节(可以表示(可以表示64K字符)的字符)的汉字字编码方案。方案。汉字的字的应用范用范围较广(

37、广(东南南亚国家),但国家),但编码字符集不相同,中国大字符集不相同,中国大陆常用常用GB/GBK码,台湾,台湾BIG5。 2.1 2.1 数据与文字的表示方法数据与文字的表示方法45外部(输入)码机内码字形(输出)码键盘管理程序汉字处理程序交换码(国标码)汉字字处理理过程程2.1 2.1 数据与文字的表示方法数据与文字的表示方法46外部外部码也叫也叫汉字字输入入编码,主要是从,主要是从键盘(语音、手写、音、手写、光光电)输入入计算机中的代表算机中的代表汉字的字的编码。汉字字输入方案有数百种,基本上是直接利用西文入方案有数百种,基本上是直接利用西文标准准键盘进行行汉字字输入,每一种入,每一种汉

38、字字输入法都各自提入法都各自提供相供相应的的键盘码与与汉字机内字机内码(码表表)。编码方案可分四方案可分四类:数数码(如(如电报码,区位,区位码,国,国标码等)等)音音码(如全拼(如全拼码,简拼拼码,双拼,双拼码等)等)形形码(如五笔字型,大众(如五笔字型,大众码,仓吉吉码等)等)音形音形码(如自然(如自然码,首尾,首尾码等)等)2.1 2.1 数据与文字的表示方法数据与文字的表示方法47交交换码用于用于计算机与其他系算机与其他系统或或设备之之间进行行汉字字代代码信息交信息交换的的标准准汉字代字代码目前最常使用的是国目前最常使用的是国标码2000年的年的GB18030-2000每个每个汉字字(

39、图形符号形符号)用两个字用两个字节表示,每个表示,每个字字节只用低只用低7位,即最高位位,即最高位为0的二的二进制制码汉字分字分为两两级:一一级为使用使用频度高的常用度高的常用汉字(字(3755)二二级为次常用的次常用的汉字(字(3008)2.1 2.1 数据与文字的表示方法数据与文字的表示方法48内部内部码也称也称汉字内字内码或机内或机内码,是,是计算机算机对汉字字进行存行存储、运算、运算、传码的的实际代代码。一般用两个字一般用两个字节表示一个表示一个汉字内字内码,每个字,每个字节最高最高位位为 1。 还有少数三字有少数三字节、四字、四字节等内部等内部码。最多能表示最多能表示128128=1

40、6384个个汉字和字和图形符号形符号 机内机内码目前目前虽未完全未完全统一,但已一,但已趋于于标准化。准化。内部内部码与国与国标码的的对应关系:内关系:内码=国国标码+8080国国标码每个字每个字节最高位最高位为1内部内部码。 例如:国例如:国标码 3B7A 00111011 01111010 机内机内码 BBFA 10111011 111110102.1 2.1 数据与文字的表示方法数据与文字的表示方法49字形字形码也称也称为字模字模码,用点,用点阵表示表示的的汉字字形代字字形代码,是,是汉字的字的输出形式。出形式。简易型易型 1616提高型提高型 2424、 3232等等1616点点阵,每

41、个,每个汉字占字占32字字节。每行每行16点,每点点,每点0/1,16位,位,2个字个字节共共16行行162=32字字节2.1 2.1 数据与文字的表示方法数据与文字的表示方法50各种输入码各种输入码各种输入码各种输入码交换码(国标码)交换码(国标码)交换码(国标码)交换码(国标码)内码内码内码内码字形码字形码字形码字形码显示汉字显示汉字显示汉字显示汉字打印汉字打印汉字打印汉字打印汉字2.1 2.1 数据与文字的表示方法数据与文字的表示方法汉字代字代码交交换流程流程51奇偶校奇偶校验码常用于存常用于存储器器读、写、写检查或或ASCII字符字符传送送过程中的程中的检查。实现方法:由有效信息位和方

42、法:由有效信息位和1位奇偶校位奇偶校验位位组成。成。奇校奇校验保保证整个校整个校验码中有奇数个中有奇数个1偶校偶校验保保证整个校整个校验码中有偶数个中有偶数个12.1 2.1 数据与文字的表示方法数据与文字的表示方法52有效信息有效信息偶校验码偶校验码奇校验码奇校验码101010101010101010101010101010100 010101010101010101 1010101000101010001010100010101001 101010100010101000 0000000000000000000000000000000000 000000000000000001 10111

43、11110111111101111111011111111 101111111011111110 0111111111111111111111111111111110 011111111111111111 12.1 2.1 数据与文字的表示方法数据与文字的表示方法简单奇偶校奇偶校验仅实现横向的奇、偶校横向的奇、偶校验。可可检测出一位(或奇数位)出一位(或奇数位)错误,但不,但不能确定出能确定出错位置。位置。例例7:假定信息位:假定信息位8位,奇、偶校位,奇、偶校验位在末尾。位在末尾。53交叉奇偶校交叉奇偶校验横向:每一个字横向:每一个字节有一个奇、偶校有一个奇、偶校验位位纵向:全部字向:全部字

44、节同一位也同一位也设置奇、偶校置奇、偶校验位位可以可以发现两位同两位同时出出错的情况。的情况。例:例:纵、横均、横均约定定为偶校偶校验2.1 2.1 数据与文字的表示方法数据与文字的表示方法有效信息有效信息横向校验横向校验第一字节第一字节 1 10 01 10 01 10 01 10 0 0 0第二字节第二字节 0 01 10 01 10 01 10 00 01 1第三字节第三字节 0 00 00 00 00 00 00 00 00 0第四字节第四字节 0 01 11 11 11 11 11 11 11 1第五字节第五字节 1 11 11 11 11 11 11 11 1 0 0纵向校验纵向校

45、验 0 01 11 11 11 11 11 10 0 1154补码加减法运算公式加减法运算公式(讨论纯小数,小数,纯整数整数类似似)X+Y补=X补+Y补(mod2)X-Y补=X补+-Y补(mod2)可可证,-Y补=-Y补(mod2)所以,所以,X-Y补=X补-Y补(mod2)-Y补=Y补+2-n(Y补连同符号位同符号位变反,末位加反,末位加1)简便方法:便方法:Y补最右最右边的的1及其后各位保持不及其后各位保持不变,连同符号位在内一起同符号位在内一起变反。反。例例10:已知:已知X1=-0.1110,X2=+0.1101,求:求:X1补,-X1补,X2补,-X2补解:解: X1原原=1.111

46、0X2原原=0.1101X1补=1.0010X2补=0.1101-X1补=0.1110-X2补=1.00112.2 2.2 定点加减运算定点加减运算55例例9:x=+0.1011,y=-0.0101,利用,利用补码加法加法计算算x+y=?解:解:x补=0.1011,y补=1.1011x补=0.1011+y补=1.1011x+y补=10.0110x+y=+0.01102.2 2.2 定点加减运算定点加减运算P32自动舍弃+0.6875-0.3125+0.37556例例11:x=+0.1101,y=+0.0110,利用利用补码减法减法计算算x-y=?解:解:x补=0.1101,y补=0.0110,

47、-y补=1.1010x补 =0.1101+-y补 =1.1010x-y补=10.0111x-y=0.0111符号位参与运算,超出模的符号位参与运算,超出模的进位自位自动舍弃。舍弃。自自动舍弃后,舍弃后,结果正确果正确吗?如何判断?如何判断?2.2 2.2 定点加减运算定点加减运算P33自动舍弃+0.8125+0.375+0.437557补码的溢出的溢出在在选定了运算字定了运算字长和数的表示方法之后,和数的表示方法之后,计算装置所能表示的数的范算装置所能表示的数的范围是一定的,超是一定的,超过此范此范围就称就称为溢出。溢出。例:例:运算字运算字长数的表示方法数的表示方法定点整数的范定点整数的范围

48、n=8原原码-127+127n=8反反码-127+127n=8补码-128+1272.2 2.2 定点加减运算定点加减运算58例例12:X=0.1011,Y=0.1001,X+Y补=?X补0.1011+Y补0.1001X+Y补1.0100两正数相加两正数相加,结果果为负,上溢。上溢。溢出溢出检测方法方法方法一:常方法一:常识判判别法法补码加法运算加法运算时,仅在两数同号在两数同号时才可才可能能产生溢出。生溢出。OVER=XsYsZs+XsYsZs=1两正数相加,结果为负,产生上溢;两负数相加,结果为正,产生下溢。2.2 2.2 定点加减运算定点加减运算59方法二:双高位判方法二:双高位判别法(

49、法(单符号位符号位补码)考察两考察两补码相加相加时符号位符号位产生的生的进位位Cf和和最高数最高数值位位产生的生的进位位C0。OVER=CfC0=1例例14:X=+0.1100,Y=+0.1000,X+Y补=?X补0.1100+Y补0.1000X+Y补1.0100Cf=0C0=1CfC0=1有上溢出有上溢出产生生2.2 2.2 定点加减运算定点加减运算60方法三:方法三:变形形补码法(双符号位法(双符号位补码)采用双符号位采用双符号位补码(模(模4补码)00-正数正数11-负数数01-上溢上溢 10-下溢下溢例例15:X=-0.1100,Y=-0.1000,利用,利用变形形补码计算算X+Y补x

50、变补110100+y变补111000x+y变补101100下溢下溢练习:P69-6(1)X=0.11011,Y=-0.11111,用,用变形形补码计算算X-Y,并指出,并指出结果是否溢出?果是否溢出?2.2 2.2 定点加减运算定点加减运算61基本的二进制加减法器基本的二进制加减法器 加法加法单元元全加器:有三个全加器:有三个输入端,是考入端,是考虑低位向本低位向本位位进位的加法器。位的加法器。FAAiBiCi-1CiSiSi=AiBiCi-1Ci=AiBi+(AiBi)Ci-1本位进位本位进位传送进位传送进位3T3TTTT6T5T62全加器真全加器真值表表A Ai iB Bi iC Ci-1

51、i-1S Si iC Ci i0 00 00 00 01 11 11 11 10 00 01 11 10 00 01 11 10 01 10 01 10 01 10 01 10 01 11 10 01 10 00 01 10 00 00 01 10 01 11 11 1本位进位本位进位传送进位传送进位基本的二进制加减法器基本的二进制加减法器 63加法器加法器串行加法器:只有串行加法器:只有一位全加器一位全加器的加法器,它的加法器,它每次只能每次只能进行一位二行一位二进制数运算,整个数据制数运算,整个数据需要一位一位地串行送入全加器,分需要一位一位地串行送入全加器,分时进行行运算。运算。AiBi

52、本位和本位和CiQCCP D移位寄存器移位寄存器A移位寄存器移位寄存器B进位触位触发器器全加器全加器CP基本的二进制加减法器基本的二进制加减法器 64本位进位,记为G Gi i传送进位,记为P Pi iC Ci-1i-1基本的二进制加减法器基本的二进制加减法器 并行加法器:由并行加法器:由多位全加器多位全加器组成的加法器成的加法器,各位全加器之各位全加器之间传递进位信号的位信号的线路路组成成进位位链。根据根据进位位链设置方法的不同,分置方法的不同,分为串行串行进位位并行并行进位位影响并行加法器速度的关影响并行加法器速度的关键因素因素进位信号位信号产生和生和传递的的时间。进位信号的基本位信号的基

53、本逻辑Ci=AiBi+(AiBi)Ci-165FAAnBnCn-1CnSnFAA2B2C2S2C0C1FAA1B1S1Cn=Gn+PnCn-1 , ,C2=G2+P2C1, C1=G1+P1C0基本的二进制加减法器基本的二进制加减法器 串行串行进位:也称位:也称为行波行波进位位各全加器由各全加器由进位信号位信号线串接在一起串接在一起每一位的每一位的进位直接依位直接依赖于前一于前一级的的进位。位。进位是串行的,位是串行的,结构构简单速度慢。速度慢。假假设一一级进位位产生生时间2T,n级串行串行进位加位加法器的法器的总延延迟时间约为2nT。66基本的二进制加减法器基本的二进制加减法器 串行串行进位

54、加减法器位加减法器逻辑结构构图P3567C1=G1+P1C0C2=G2+P2 (G1+P1C0)=G2+P2G1+P2P1C0C3=G3+P3 (G2+P2 (G1+P1C0)=G3+P3G2+P3P2G1+P3P2P1C0Cn=Gn+PnGn-1+(PnP1)C0基本的二进制加减法器基本的二进制加减法器 并行进位:先行进位、超前进位并行进位:先行进位、超前进位根据最高位进位,预先推算出各高位的进位关系根据最高位进位,预先推算出各高位的进位关系使串行进位变成并行进位,从而实现快速加法运算使串行进位变成并行进位,从而实现快速加法运算并行进位的逻辑表示并行进位的逻辑表示68十十进制加法器制加法器对

55、8421BCD码直接直接进行加法运算行加法运算在二在二进制加法器的基制加法器的基础上,加上适当的上,加上适当的“校正校正”逻辑来来实现。n位行波位行波进位位BCD码加法器由加法器由n级BCD码加加法法单元元级联而成。而成。每一每一级完成完成4位位BCD数的加法运算。数的加法运算。基本的二进制加减法器基本的二进制加减法器 结果10,加6调整。 (10)10=(1010)2(1 0000)BCD+6P3669一位一位BCD码加法加法单元元第一次近似求第一次近似求值时,完成,完成4位二位二进数加法数加法得到的得到的暂时和大于和大于10或向高位或向高位产生生进位位时,进行加行加6调整。整。基本的二进制

56、加减法器基本的二进制加减法器 70计算机算机实现乘除法的方法乘除法的方法纯软件件不需要不需要专门的硬件的硬件电路,无乘除运算指令,只路,无乘除运算指令,只能用子程序来能用子程序来实现乘除运算。低档微机。乘除运算。低档微机。硬件硬件扩充充串行乘法器串行乘法器在原有运算器的基在原有运算器的基础上增加一些硬件上增加一些硬件设备,使,使乘除运算乘除运算变换成累加和移位操作,成累加和移位操作,设有有专门的的乘除指令。适合中、小、微型机。乘除指令。适合中、小、微型机。专用硬件用硬件并行乘法器并行乘法器设置置专用的乘除法器,机器中用的乘除法器,机器中设有相有相应的乘除的乘除指令,运算速度快,指令,运算速度快

57、,电路复路复杂。适合中、大型。适合中、大型机。机。2.3 2.3 定点定点乘法运算乘法运算71补码的移位运算的移位运算补码左移一位相当于乘以左移一位相当于乘以2,低位,低位补0。补码右移一位相当于除以右移一位相当于除以2,高位,高位补符号位符号位例:0.01左移0.10,右移0.001 1.11左移1.10,右移1.111+0.5+0.25+0.125-0.5-0.25-0.1252.3 2.3 定点定点乘法运算乘法运算72人工算法与机器算法的同异性人工算法与机器算法的同异性人工算法:乘人工算法:乘积P=|X|Y| 符号符号PS=XS YS 引例:引例:X=0.1101,Y= 0.1011,

58、求求X*Y。 0.1101 0.1011 1101 1101 0000 + 1101 0.10001111 因因为PS=XS YS=0 0=0 所以所以XY= 0.10001111 为适合适合计算机运算需要改算机运算需要改进:1.一次一次进行行n个数相加个数相加一次一次进行行2个数相加;个数相加;2.小数点移小数点移动小数点固定小数点固定;3.需要需要2n个加法器个加法器只只设n个个加法器加法器;2.3 2.3 定点定点乘法运算乘法运算73串串行乘法行乘法原码原码一位乘一位乘设0.1101,0.1101,0.10110.1011求求x*yx*y部分积部分积 乘数部分积初始化为乘数部分积初始化为

59、0.000001011部分积右移,前面补部分积右移,前面补+X0.1101乘数最低位为乘数最低位为,加上被乘数加上被乘数-0110101011部分积右移,前面补部分积右移,前面补0.011010101乘数最低位为乘数最低位为,加上被乘数加上被乘数+X01101-1001110101部分积右移,前面补部分积右移,前面补0100111010乘数最低位为乘数最低位为,加上加上+000000-0100111010部分积右移,前面补部分积右移,前面补0010011101乘数最低位为乘数最低位为,加上被乘数加上被乘数+X01101-1000111101部分积右移,前面补部分积右移,前面补0.1000111

60、10运算四次结束,数值部分运算运算四次结束,数值部分运算74又称又称为比比较法、法、Booth法法参加运算的数用参加运算的数用补码表示,符号位参加运算表示,符号位参加运算被乘数被乘数X与部分与部分积取双符号位取双符号位 乘数乘数Y取取单符号位,末位增符号位,末位增设附加位附加位Yn+1,初初值0Yn与与Yn+1构成了各步运算的判断位构成了各步运算的判断位串串行乘法行乘法补码一位乘补码一位乘 YnYn+1操作操作原部分原部分积1原部分原部分积X补,1原部分原部分积X补,1原部分原部分积1推导推导进行行n+1步操作,但第步操作,但第n+1步不移位步不移位按按补码右移右移规则移位移位补充充补码一位乘

61、法运算示例补码一位乘法运算示例例:例:X=-0.1101Y=0.1011用用补码一位乘法一位乘法计算算X*Y=?解:解:X补=11.0011-X补=00.1101Y补=0.1011AC附加位附加位说明明00.00000.10110YnYn+1=10,+-X补+00.110100.1101100.011010.1011YnYn+1=11,100.0011010.101YnYn+1=01,+X补+11.001111.0110111.10110010.10 YnYn+1=10,+-X补+00.110100.1000100.010000010.1YnYn+1=01,+X补+11.0011最后一步不移位

62、最后一步不移位11.01110001所以所以,XY=-0.1000111178补码一位乘法运算器框图补码一位乘法运算器框图反反变量量原原变量量右移右移A寄存器加法器加法器与或门B寄存器Yn+1C寄存器寄存器Yn部分部分积被乘数被乘数乘数乘数 附加位附加位计数器数器+1加法加法01减法减法1000或或11+179阵列乘法器阵列乘法器专用硬件用硬件并行乘法器并行乘法器由于乘法运算量大,采用高速乘法部件可以由于乘法运算量大,采用高速乘法部件可以提高速度和效率。提高速度和效率。随着大随着大规模集成模集成电路的路的问世,可由全加器世,可由全加器阵列,构成流水式列,构成流水式阵列乘法器,列乘法器,实现多个

63、部分多个部分积并行相加,称并行相加,称为并行乘法器。并行乘法器。运算速度快,运算速度快,电路复路复杂。P3880不带符号的阵列乘法器不带符号的阵列乘法器设有两个不有两个不带符号的二符号的二进制整数制整数Aam1a1a0 Bbn1b1b0它它们的数的数值分分别为a和和b,即即设P A*B =pmn1p1p0 ,即,即81不带符号的阵列乘法器不带符号的阵列乘法器这个个过程与手工程与手工计算乘法算乘法过程非常程非常类似似mn个个aibj ,可以用,可以用mn个与个与门并行地并行地产生生mn个个aibj 相加,可用相加,可用(m-1)n个个全加器全加器实现82不带符号阵列乘法器逻辑框图不带符号阵列乘法

64、器逻辑框图83FACiAiBiSiCi+1来自低位的进位加数加数向高位产生的进位和全加器逻辑符号全加器逻辑符号例如:当例如:当m=n=5时a0b0FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAp8p7p6p5p4p3p2p1p0p9a1b0a2b0a3b0a4b0a0b1a1b1a2b1a3b1a4b1a0b2a1b2a2b2a3b2a4b2a0b3a1b3a2b3a3b3a4b3a0b4a1b4a2b4a3b4a4b400000不带符号的阵列乘法器逻辑电路图不带符号的阵列乘法器逻辑电路图Ta:与:与门时间延延迟Tf:全加器:全加器进位位时间延延迟总时间延延迟

65、=Ta+(n-1)6T+(n-1)Tf=(8n-6)T85不带符号的阵列乘法器不带符号的阵列乘法器例例16已知两个不已知两个不带符号的二符号的二进制整数制整数A11011,B 10101,求每一部分乘,求每一部分乘积项aibj的的值与与p9p8p0的的值解解a4b01a3b01a2b00a1b01a0b01a4b10a3b10a2b10a1b10a0b10a4b21a3b21a2b20a1b21a0b20a4b30a3b30a2b30a1b30a0b30a4b41a3b41a2b40a1b41a0b4110000111010100FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA

66、FAFAFAFA11011000001101100000110110110101Pp9p8p7p6p5p4p3p2p1p01000110111(56710)0000001100010011011010011 串行进位链的并行加法器不带符号阵列乘法器不带符号阵列乘法器工作过程演示工作过程演示A A *B *B 11011* 1010111011* 1010187带符号的阵列乘法器带符号的阵列乘法器对2求求补器:在器:在带符号数与无符号数符号数与无符号数间进行行转换求求补方法:方法:设Aana1a0是是n1位位带符号数,符号数,负数:数:E=1,最右,最右边的的“1”及其后各位保持不及其后各位保持

67、不变,其余各位按位取反。,其余各位按位取反。10100110正数:正数:E=0,输出和出和输入相等。入相等。可利用符号位做可利用符号位做为控制信号。控制信号。88带符号阵列乘法器逻辑框图带符号阵列乘法器逻辑框图将将A和和B变成正整数成正整数当当A和和B异号异号时,把运算把运算结果果变成成带符号的数符号的数89带符号的阵列乘法器带符号的阵列乘法器例例17设X15,Y13,用,用带求求补器的原器的原码阵列乘法列乘法器求出乘器求出乘积XY?解解设最高位最高位为符号位,符号位,则输入数据入数据为X原原 01111 Y原原 11101符号位符号位单独考独考虑,算前求,算前求补级后后 |X|1111,|Y

68、|1101算后算后经求求补级输出并加上乘出并加上乘积符号位符号位1,则原原码乘乘积值为111000011。真。真值是是 ( 11000011)2=(-195)1090手工除法示例手工除法示例 假定:假定:X=0.1011,Y=0.1101,则0.1101 0.10110 X小于小于Y,商商00.2.4 2.4 定点除法运算定点除法运算0.1 0.11 0.110 0.11010.01101 Y右移右移,够减减,商商1,相减相减0.010010 得得R0 0.001101 Y再右移再右移,够减减,商商1,相减相减0.0001010 得得R1 0.0001101 Y再右移再右移, 不不够减减,商商

69、00.00000111 得得R3 商符商符qf=XfYf=00=0XY=0.1101+0.0111*2-4/0.11010.00001101 Y再右移再右移, 够减减,商商1,相减相减0.00010100 得得R2 91计算机算机实现除法的改除法的改进定点机,商定点机,商应为纯小数,否小数,否则溢出。所以,只有在溢出。所以,只有在被除数小于除数被除数小于除数时(X-Y0,商,商1,余数左移,余数左移,进行下一步行下一步R0,商,商0恢复余数法恢复余数法+Y(恢复余数恢复余数),余数左移,余数左移,进行下一步行下一步不恢复余数法不恢复余数法(加减交替法加减交替法) Ri+1=2(Ri+Y)-Y=

70、2Ri+Y 余数左移,下一步加余数左移,下一步加+Y串行除法串行除法92串行除法串行除法补码不恢复余数法补码不恢复余数法涉及到的涉及到的问题及解决及解决 第一步,判断是否开始,不是第一步,判断是否开始,不是简单地相减:地相减:补码表示表示时:X与与Y同号,相减同号,相减X与与Y异号,异号,相加相加中中间过程中,不同情况不同程中,不同情况不同处理:理:R与与Y同号,商同号,商1,1,+-Y补R与与Y异号,商异号,商0,1,+Y补商的校正商的校正末尾恒置末尾恒置1法法补充充93补码不恢复余数法示例补码不恢复余数法示例例:例:X=0.1000Y=-0.1010用用补码不恢复余数法不恢复余数法计算算

71、X/Y解:解:A:X补=00.1000B:Y补=11.0110,-Y补=00.1010C:商,初:商,初值为0AC操作操作00.1000X与与Y异号异号+11.0110+Y补11.11101R与与Y同号,商同号,商111.11001.1+00.1010+-Y补00.01101.0R与与Y异号,异号,商商000.11001.01+11.0110+Y补00.00101.00R与与Y异号,异号,商商000.01001.00194补码不恢复余数法示例补码不恢复余数法示例例:例:X=0.1000Y=-0.1010用用补码不恢复余数法不恢复余数法计算算 X/Y解:解:A:X补=00.1000B:Y补=11

72、.0110,-Y补=00.1010C:商,初:商,初值为0AC操作操作00.01001.001+11.0110+Y补11.10101.001R与与Y同号,商同号,商111.01001.0011+00.101011.11101.0011末位恒置末位恒置1X/Y补=1.0011+1.1110*2-4/1.0110X/Y=-0.1101+0.0010*2-4/0.101095阵列除法器阵列除法器采用大采用大规模集成模集成电路制造的并行运算部件。路制造的并行运算部件。与串行除法器相比,运算速度高。与串行除法器相比,运算速度高。形式多形式多样不恢复余数不恢复余数阵列除法器列除法器补码阵列除法器列除法器

73、基本的基本的单元元电路路可控加可控加/减法减法单元元(CAS)既可完成减法操作,又可完成加法操作既可完成减法操作,又可完成加法操作适用于除法操作适用于除法操作过程中的加减交替。程中的加减交替。96可控加可控加/ /减法减法(CAS)(CAS)单元单元CASAiBiPPCiCi+1SiBi四个四个输入端入端Ai、Bi、CiP:控制端:控制端输入入四个四个输出端出端Si、Ci+1Bi:除数右移:除数右移P:控制端:控制端输出出P0:CAS作加法作加法Si=AiBiCiCi+1=AiBi+(AiBi)CiP1:CAS作减法作减法Si=AiBiCi(Bi=Bi1)Ci+1=AiCi+(AiCi)Bi9

74、7不恢复余数的阵列除法器不恢复余数的阵列除法器不恢复余数的除法不恢复余数的除法加减交替法加减交替法当前行当前行应执行加法行加法还是减法,取决于上一行余是减法,取决于上一行余数的符号与被除数的符号是否一致:数的符号与被除数的符号是否一致:余数与被除数异号余数与被除数异号(余数余数为负),商,商“0”,除数右移,与原余数相加,得新余数;除数右移,与原余数相加,得新余数;余数与被除数同号余数与被除数同号(余数余数为正正),商,商“1”,除数右移,与原余数相减,得新余数。除数右移,与原余数相减,得新余数。只介只介绍被除数、除数均被除数、除数均为正数的情况。正数的情况。阵列除法器阵列除法器逻辑结构图逻辑

75、结构图被除数被除数0.123456 (双倍双倍长)除数除数0.123 (XY)商数商数0.q1q2q3余数余数0.00r3r4r5r6 字字长 n14第一行做减法第一行做减法(P=1),由于,由于XY,余数,余数0,表示表示EE;E 0,表示表示EEy时,则My,Ey+1Ex1,溢出。,溢出。右右规:Mz,Ez+1。当尾数当尾数为11.1.或或00.0.时,|Mz|0.5左左规:Mz,Ez-1119浮点加减运算浮点加减运算舍入舍入处理理对阶或右或右规时,尾数右移,尾数的低位部分,尾数右移,尾数的低位部分被被丢掉,造成一定掉,造成一定误差,要差,要进行舍入行舍入处理。理。简单的舍入方法有三种:的

76、舍入方法有三种:恒舍法:移出的位直接舍去,恒舍法:移出的位直接舍去,对保留部保留部分不做任何修改。分不做任何修改。0舍舍1入法:右移出的位入法:右移出的位为0则舍去,舍去,为1则将尾数的末位加将尾数的末位加“1”。末位恒置一法:只要数位被移出,就在末位恒置一法:只要数位被移出,就在尾数的末尾恒置尾数的末尾恒置“1”。IEEE754标准准就近舍入、朝就近舍入、朝0、+、-舍入舍入120溢出判断溢出判断浮点数溢出主要体浮点数溢出主要体现在在阶码的溢出,机器必的溢出,机器必须做中断做中断处理。理。阶码上溢上溢阶码大于可表示的最大正数,大于可表示的最大正数, 看作看作+、-阶码下溢下溢阶码小于可表示的

77、最小小于可表示的最小负数,看作机数,看作机器零器零浮点加减运算浮点加减运算例例25设X20100.11011011,Y2100(0.10101100),求求X+Y。解解两数均以两数均以补码表示,表示,阶码双符号位,尾数双符号位,尾数单符号位。它符号位。它们的的浮点表示浮点表示为浮浮00010,0.11011011浮浮00100,1.01010100求求阶差,差,对大大阶EEEE补+-E补00010+1110011110X的的阶码小,小,应使使Mx 右移右移2位,位,Ex 加加2X浮浮00100,0.00110110(11)尾数求和尾数求和 00.00110110(11)11.010101001

78、1.10001010(11)-2-2规格化格化处理理尾数运算尾数运算结果果为11.10001010(11)符号位与最高数符号位与最高数值位同位同值,应执行左行左规处理。理。尾数左移尾数左移1位,位,阶码减减1。结果:尾数果:尾数为11.00010101(1),阶码为00011舍入舍入处理理采用采用0舍舍1入法,入法,结果果为00011,1.00010110溢出判断溢出判断阶码符号位符号位为00,不溢出,故得最,不溢出,故得最终结果果为 浮浮00011,1.00010110浮浮(-0.11101010)2011123浮点乘除运算浮点乘除运算设有两个浮点数有两个浮点数和和:2E M 2E M浮点乘

79、法运算的浮点乘法运算的规则2(EE) (MM) 浮点除法运算的浮点除法运算的规则是是 2(EE) (MM)浮点数的乘除运算步浮点数的乘除运算步骤:0操作数操作数检查;阶码加加/减操作;减操作;尾数乘尾数乘/除操作;除操作;结果果规格化及舍入格化及舍入处理;理;溢出判断。溢出判断。124浮点乘除运算浮点乘除运算浮点数的浮点数的阶码运算运算阶码通常用通常用补码或移或移码形式表示形式表示移移移移补 移移移移补移移码的溢出判断:双符号位移的溢出判断:双符号位移码00负数数01正数正数10上溢上溢11下溢下溢双符号位的最高位为双符号位的最高位为0,结果正确,结果正确双符号位的最高位为双符号位的最高位为1

80、,表示溢出,表示溢出125浮点乘除运算浮点乘除运算例例26 011,110, 求求移移 和和 移移 并判断是否溢出。并判断是否溢出。解解移移01 011, 补00 110,补11 010移移移移补01 011 +00 110 10 001 结果上溢。果上溢。 移移移移补 01 011 +11 010 00 101 结果正确,果正确,为3。移码:移码:00 101补码:补码:11 101原码:原码:11 011126浮点乘除运算浮点乘除运算尾数尾数处理理截断截断处理:无条件地理:无条件地丢掉正常尾数最低位掉正常尾数最低位之后的全部数之后的全部数值。简单,影响精度。影响精度。舍入舍入处理:保留右移

81、中移出的若干高位的理:保留右移中移出的若干高位的值,按某种,按某种规则修正尾数。修正尾数。补码表示的尾数的舍入表示的尾数的舍入规则:“四舍五入四舍五入”丢失各位失各位为全全0:不舍不入:不舍不入丢失各位失各位为01100:舍:舍丢失各位失各位为101:最低位入:最低位入100 100 11不舍不入不舍不入舍舍入入127浮点乘除运算浮点乘除运算例例271补=11.01100000 2补=11.01100001 3补=11.01101000 4补=11.01111001 求求执行保留小数点后行保留小数点后4位有效数字的舍入操作位有效数字的舍入操作值解解 执行舍入操作后,其行舍入操作后,其结果果值分

82、分别为 1补11.0110(不舍不入不舍不入) 2补11.0110(舍舍) 3补11.0110(舍舍) 4补11.1000(入入)例例28设有浮点数有浮点数250.0110011,23(0.1110010),求求浮浮。要求:要求:阶码用用4位移位移码表示,尾数(含符号位)用表示,尾数(含符号位)用8位位补码表示,用表示,用补码完成尾数乘法运算,运算完成尾数乘法运算,运算结果尾数保留高果尾数保留高8位(含符号位(含符号位),并用尾数低位字位),并用尾数低位字长值处理舍入操作。理舍入操作。解解尾数尾数补码采用采用单符号位:符号位:M补0.0110011, M补1.0001110阶码移移码采用双符号

83、位:采用双符号位:E移移00011,E移移01011,E补00011 x 和和y 的浮点数形式:的浮点数形式:浮浮00011,0.0110011,浮浮01011,1.0001110(1)求求阶码和和EE移移E移移E补000110001100110(真(真值为2)(2)尾数尾数补码相乘相乘M补M补0.0110011补1.0001110补 1.10100101001010补(3)规格化格化处理理乘乘积的尾数不符合的尾数不符合规格化要求,需要左格化要求,需要左规尾数左移,尾数左移,变为 1.01001010010100阶码减减1,变为00101(真(真值为-3)(4)舍入舍入处理理按舍入按舍入规则,

84、舍去低位字,舍去低位字长,尾数,尾数为1.0100101最最终结果:果: 浮浮00101,1.0100101其真其真值为:23(0.1011011)130浮点运算器浮点运算器计算机算机实现浮点运算浮点运算软件件实现:利用定点运算部件,根据算法流:利用定点运算部件,根据算法流程程图,编写浮点四写浮点四则运算子程序供用运算子程序供用户调用用低档机,低档机,结构构简单,速度慢。,速度慢。设置可置可选浮点浮点协处理器理器80287和和80387,速度,速度较快。快。将将协处理器与理器与CPU集成集成80486以后的以后的CPU。采用浮点流水运算部件,形成流水作采用浮点流水运算部件,形成流水作业。进一步

85、加快浮点运算的速度。一步加快浮点运算的速度。奔奔腾以后的以后的CPU。131浮点运算器浮点运算器80X8780X87美国美国Intel公司生公司生产的的专用浮点数运算的用浮点数运算的处理器,配合理器,配合80X86CPU进行工作,所以又称行工作,所以又称为协处理器理器。80X87与主与主CPU的并行工作的并行工作80X87有自己的浮点运算指令,但不能有自己的浮点运算指令,但不能读写主存,写主存,真正的真正的读写主存的工作是由主写主存的工作是由主CPU执行。行。主主CPU从主存从主存读取浮点运算指令,送取浮点运算指令,送80X87,由,由80X87译码并并执行。行。80X87运算期运算期间,主,主CPU取下一条其他指令予以取下一条其他指令予以执行,因而行,因而实现了并行工作。了并行工作。如如80X87执行行过程中,主程中,主CPU又送来了一条浮点指又送来了一条浮点指令,令,则80X87给出出“忙忙”信号。信号。当当80X87完成浮点运算,取消完成浮点运算,取消“忙忙”信号,主信号,主CPU才才发送下一条浮点运算指令。送下一条浮点运算指令。80X87可可处理多种数据理多种数据类型型整数、浮点数、整数、浮点数、压缩十十进制数等。制数等。13280X8780X87的内部结构的内部结构

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号