运算方法与运算器1恢复.ppt
《运算方法与运算器1恢复.ppt》由会员分享,可在线阅读,更多相关《运算方法与运算器1恢复.ppt(132页珍藏版)》请在三一办公上搜索。
1、第二章 运算方法和运算器,计算机组成原理,本章首先讲述计算机中数据与文字的表示方法然后讲述定点运算方法、定点运算器的组成,最后讲述浮点运算方法、浮点运算器的组成。重点掌握和了解 二进数的表示和数的范围IEEE754 标准定点数的加减乘除法运算规格化浮点数的四则运算阵列乘除法器,本 章 主 要 内 容,2.1 数据与文字的表示方法,2.1 数据与文字的表示方法,2.1 数据与文字的表示方法,数据信息,控制信息,非数值型数据,指令信息等,一、数值型数据的表示方法,数值型数据的三个要素:符号,数码,小数点,数值型数据,2.1 数据与文字的表示方法,(一)符号的表示方法-符号数码化:0-正数;1-负数
2、-放在最前面-机器数:符号数码化的数-无符号化,或用ASCII码(二)数码部分的表示 由10个阿拉伯的数字构成 1。编码:BCD码,ASCII码,2.1 数据与文字的表示方法,1。编码:BCD码,ASCII码 0000-0;0001-1;0010-2 0011-3;0100-4;0101-5 0110-6;0111-7;1000-8 1001-9 0011000 0-0。00111001-9转换简单,编码效率低,运算器复杂,2.1 数据与文字的表示方法,2。采用二进制数表示*日常生活中,我们采用10进制数 十进制数:10个符号,逢十进一,权10i*计算机中只有两个符号可用-二进制数1)进位计数
3、制 r进制数:用r个符号的组合表示数码部分,并且每个位置上的权为ri,计数时逢r进位的计数制。,2.1 数据与文字的表示方法,r进制数的表示方法:(Pn-1Pn-2PiP2P1P0.P-1P-2.P-m)r=Pn-1rn-1+Pn-2rn-2+PiriP2r2+P1r1+P0+P-1r-1+P-2r-2.P-mr-m2)计算机中常用的进位基数制,2.1 数据与文字的表示方法,(1)二八,十六进制之间的转换*23=8;24=16-分组合并,扩展表示方法例:(100010001)B=421O=111H(2)二、八、十六十。按权相加法:。逐次乘基/除基相加法,3)不同进制数之间的相互转换,Pn-1r
4、n-1+Pn-2rn-2+PiriP2r2+P1r1+P0+P-1r-1+P-2r-2.P-mr-m=(Pn-1r1+Pn-2)r1+。)r1+P0+(P-mr-1+P-m-1)r-1.P-2)r-1+P-1)r-1,2.1 数据与文字的表示方法,(3)十二、八、十六减权定位法 例(326)10=(101000110)B。除基取余法(整数部分)/乘基取整法(小数部分)例:(326.625)10=(?)B*采用二进制数表示,可以直接使用人们习惯的计数和计算规则。,2.1 数据与文字的表示方法,(三)小数点处理,1。定点处理 1)无符号整数:省略符号位,适应只有正整数的运算 2)带符号定点整数:小
5、数点默认为在末尾,适应只有整数的运算 3)带符号定点小数:小数点默认为在最前面,适应只有小数的运算,三、小数点处理,2。浮点处理-用一组0/1组合表示小数点的位置阶码。浮点数的定义 N=+/-REM;E:阶码;M:尾数;R:基数(2)例:+111.1101=0.111110123-111.1101=-0.111110123,(四)数的机器码表示无符号数:正整数。带符号数:正数或负数。真值:带“+”、“”的数值本身。例:+0.01、-1000机器数(机器码):最高位为符号位,“0”表示“+”,“1”表示“”。原码反码补码,2.1 数据与文字的表示方法,2.1 数据与文字的表示方法,原码定点整数X
6、1=+9=+1001B X1原=0000 1001.X2=9=1001B X2原=1000 1001.定点小数X1=+0.75=+0.11B X1原=0.1100000X2=0.75=0.11B X2原=1.11000000的表示形式不唯一+0原=00000000 0原=10000000原码加减法运算复杂。,反码定点整数X1=+9=+1001B X1反=0000 1001.X2=9=1001B X2反=1111 0110.定点小数X1=+0.75=+0.11B X1反=0.1100000X2=0.75=0.11B X2反=1.00111110的表示形式不唯一+0反=00000000 0反=11
7、111111,2.1 数据与文字的表示方法,补码的引入模和同余模:计量器的溢出容量,用M表示。当运算结果超出计量范围,溢出部分舍弃。字长为n+1位时定点整数的模为2n+1。定点小数的模为2。同余:两整数A、B除以模M,所得的余数相同。可记作A=B(mod M)当模为12时 4和16同余,可写作 4=16(mod 12)-2和10同余,可写作 2=10(mod 12)利用补码可将减法运算转换成为加法运算,2.1 数据与文字的表示方法,4-2=4+10,补码定点整数X1=+9=+1001B X1补=0000 1001.X2=9=1001B X2补=1111 0111.定点小数X1=+0.75=+0
8、.11B X1补=0.1100000X2=0.75=0.11B X2补=1.01000000的表示形式唯一+0补=0补=00000000,2.1 数据与文字的表示方法,X真值,+/-变成 0/1数值位不变,X原,XS=0时,数值位不变XS=1时,数值位变反加1,X补,XS=0时,数值位不变XS=1时,数值位变反,X反,2.1 数据与文字的表示方法,三种不同机器数以及真值之间的转换,原码与补码的直接转换法当X为正数时,X补=X原=X;当X为负数时,由原码求补码的简便算法:符号位不变,最后面的1及其后各位保持不变,中间各位按位取反。例:X原=1.111001 1000 X补=1.000110 10
9、00,2.1 数据与文字的表示方法,取反,三种机器数的比较正数的原、反、补码相等,负数的各自不同原码的符号位是人为定义的,不能参与运算补码的符号位是通过模运算得到的,是数值的一部分,可参与运算。原、反码零的表示形式不唯一,补码零的表示形式唯一。假设字长为8位,则:+0原=00000000-0原=10000000+0反=00000000-0反=11111111+0补=-0补=00000000,2.1 数据与文字的表示方法,机器码的表数范围不同原、反码的表数范围相对于零点对称补码的表数范围,负方向比正方向宽以字长4位(含符号位)的纯整数为例,原码、反码表数范围,补码表数范围(多表示一个负数),2.
10、1 数据与文字的表示方法,1000,-8,1000,-0,2.1 数据与文字的表示方法,真值与三种机器数间的对照,定点数与浮点数定点数约定机器中所有数据的小数点位置是固定不变的。小数点隐含表示。可表示成纯小数或纯整数。定点数XX0 X1X2Xn表示形式,2.1 数据与文字的表示方法,定点数的表示范围原码定点数(字长n+1位)纯小数:(12-n)(1-2-n)例:字长为8位,则最小定点小数:-127/128 最大定点小数:127/128纯整数:(2n 1)(2n-1)例:字长为8位,则最小定点整数:-127 最大定点整数:127,1.1111111,0.1111111,11111111.,011
11、11111.,2.1 数据与文字的表示方法,定点数的表示范围补码定点数(字长n+1位)纯小数:112-n 例:字长为8位,则最小定点小数:1 最大定点小数:127/128纯整数:2n 2n1例:字长为8位,则最小定点整数:128最大定点整数:127,1.0000000,0.1111111,10000000.,01111111.,2.1 数据与文字的表示方法,阶码,常为纯整数,尾数,常为纯小数,浮点数小数点的位置不固定,根据需要而浮动。任何一个数N的浮点表示形式为 N=M2E,2.1 数据与文字的表示方法,浮点数的表示范围若阶码数值部分为K位,尾数数值部分为n位,均用补码表示,则,2.1 数据与
12、文字的表示方法,规格化的浮点数为了充分利用尾数的有效数位,规定尾数值应在0.51之间。补码表示时,尾数的最高位应与符号位不同当 1/2=M 1 时,应有0.1 的形式当 1=M-1/2 时,应有1.0 的形式,为什么是,而不是=?,为什么是=?,2.1 数据与文字的表示方法,补码的表示范围比原码宽,可以表示-1,-1补=1.0000000,是规格化的浮点数,-1/2原=1.1000000-1/2补=1.1000000不是规格化的浮点数,浮点数的典型值:阶码和尾数均用补码表示,2.1 数据与文字的表示方法,X1移=27+1101101=10000000+1101101=11101101X1补=0
13、1101101,X2移=27+(-1101101)=10000000-1101101=00010011 X2补=10010011,移码:在真值X的基础上加一个常数,相当于X在数轴上向正方向偏移了若干单位。X移码=偏置值+X标准偏置值:字长n+1位时,偏置值为2n。例:字长8位,若偏置值为27,X1=+1101101,X2=-1101101,求移码。,2.1 数据与文字的表示方法,P26,2.1 数据与文字的表示方法,移码、补码和真值之间的关系设字长8位,偏置值为标准偏置值27,移码的特点(字长8位,偏置值为27)移码最高位为0表示负数,最高位为1表示正数。移码直观反映真值的大小。全0时,所对应
14、的真值最小;全1时,所对应的真值最大;有利于两个浮点数进行阶码的大小比较0的移码表示形式唯一+0移=-0移=10000000移码将真值映射到正数域,可视为无符号数同一真值的补码和移码只相差符号位。,2.1 数据与文字的表示方法,IEEE754标准的浮点数:应用于80X86微机,32位短浮点数,64位长浮点数,80位临时浮点数,32位短浮点数1.尾数隐含了最高位1(位权20),实际为24位,尾数采用原码表示。2.阶码采用偏置值为127的移码表示。,2.1 数据与文字的表示方法,P20,2.1 数据与文字的表示方法,IEEE754标准基数R=2,基数固定,采用隐含方式来表示它。32位的浮点数:S数
15、的符号位,1位,在最高位,“0”表示正数,“1”表示负数。M是尾数,23位,在低位部分,采用纯小数表示E是阶码,8位,采用移码表示。移码比较大小方便。规格化:若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。,2.1 数据与文字的表示方法,64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数x的真值为:x=(-1)S(1.M)
16、2E-1023 e=E-1023一个规格化的32位浮点数x的真值表示为 x=(-1)S(1.M)2E-127 e=E-127,2.1 数据与文字的表示方法,真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+和-之分。这样在32位浮点数表示中,要除去E用全0和全1(25510)表示零和无穷大的特殊情况,指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。因此32位浮点数表
17、示的绝对值的范围是10-381038(以10的幂表示)。浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。,2.1 数据与文字的表示方法,浮点数表示范围如下图所示,(2)计算出阶码真值e=移码-偏置值127 e=1000 0010-111 1111=011=(3)10(3)写出尾数(包括隐含的最高位1)1.M=1.011011(4)写出此数的浮点记数形式X=(-1)s 1.M 2e=+1.011011*23=1011.011(5)转换成十进制数,
18、并加上符号位 11.375,例1:若短浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。(1)将十六进制数转换成二进制数,写成短浮点数格式,2.1 数据与文字的表示方法,正数,阶码的移码(8位),隐含了最高数位1的尾数的原码(23位),例2:将(20.59375)10转换成短浮点数格式(1)把十进制数转换为二进制数(20.59375)10=(10100.10011)2(2)写成浮点记数形式,尾数保留最高位1,不计入。10100.10011=1.0100 10011*24(3)计算出阶码的移码 1111111+100=1000 0011(4)以短浮点数格式存储该数
19、41A4C000H,2.1 数据与文字的表示方法,二、非数值数据表示通常是指字符、字符串、图形符号和汉字等各种数据,它们通常不用来表示数值的大小,一般情况下不对它们进行算术运算。字符和字符串表示ASC(美国标准信息交换码)7位基本ASC码(国际通用)可表示128种字符8位扩充ASC码(可重新定义)可表示256种字符ASC码可分为:显示字符控制字符,“0”为48“A”为65,return、backspace键的编码分别为13、8,2.1 数据与文字的表示方法,P27,2.1 数据与文字的表示方法,统一代码(Unicode)能够表示6800种语言中任意一种语言里使用的所有符号。UCS-2用16位数
20、来表示可表示65536个符号UCS-4用32位数来表示每个16位数都来自于对UCS-2的进一步扩展可表示220个字符,2.1 数据与文字的表示方法,汉字编码汉字是一种象形文字,无法直接用标准西文键盘输入,必须经过转换间接输入;汉字的字数也较多,不能用单字节的ASC(256个字符)来表示目前采用两个字节(可以表示64K字符)的汉字编码方案。汉字的应用范围较广(东南亚国家),但编码字符集不相同,中国大陆常用GB/GBK码,台湾BIG5。,2.1 数据与文字的表示方法,外部(输入)码,机内码,字形(输出)码,汉字信息,其它系统或设备,汉字信息,键盘管理程序,汉字处理程序,交换码(国标码),汉字处理过
21、程,2.1 数据与文字的表示方法,外部码也叫汉字输入编码,主要是从键盘(语音、手写、光电)输入计算机中的代表汉字的编码。汉字输入方案有数百种,基本上是直接利用西文标准键盘进行汉字输入,每一种汉字输入法都各自提供相应的键盘码与汉字机内码(码表)。编码方案可分四类:数码(如电报码,区位码,国标码等)音码(如全拼码,简拼码,双拼码等)形码(如五笔字型,大众码,仓吉码等)音形码(如自然码,首尾码等),2.1 数据与文字的表示方法,交换码 用于计算机与其他系统或设备之间进行汉字代码信息交换的标准汉字代码目前最常使用的是国标码2000年的GB18030-2000每个汉字(图形符号)用两个字节表示,每个字节
22、只用低7位,即最高位为0的二进制码汉字分为两级:一级为使用频度高的常用汉字(3755)二级为次常用的汉字(3008),2.1 数据与文字的表示方法,内部码 也称汉字内码或机内码,是计算机对汉字进行存储、运算、传码的实际代码。一般用两个字节表示一个汉字内码,每个字节最高位为 1。还有少数三字节、四字节等内部码。最多能表示128128=16384个汉字和图形符号 机内码目前虽未完全统一,但已趋于标准化。内部码与国标码的对应关系:内码=国标码+8080 国标码每个字节最高位为1 内部码。例如:国标码 3B7A 00111011 01111010 机内码 BBFA 10111011 11111010,
23、2.1 数据与文字的表示方法,字形码也称为字模码,用点阵表示的汉字字形代码,是汉字的输出形式。简易型 1616提高型 2424、3232等1616点阵,每个汉字占32字节。每行16点,每点0/1,16位,2个字节共16行162=32字节,2.1 数据与文字的表示方法,2.1 数据与文字的表示方法,汉字代码交换流程,奇偶校验码常用于存储器读、写检查或ASCII字符传送过程中的检查。实现方法:由有效信息位和1位奇偶校验位组成。奇校验保证整个校验码中有奇数个1偶校验保证整个校验码中有偶数个1,2.1 数据与文字的表示方法,2.1 数据与文字的表示方法,简单奇偶校验仅实现横向的奇、偶校验。可检测出一位
24、(或奇数位)错误,但不能确定出错位置。例7:假定信息位8位,奇、偶校验位在末尾。,交叉奇偶校验横向:每一个字节有一个奇、偶校验位纵向:全部字节同一位也设置奇、偶校验位可以发现两位同时出错的情况。例:纵、横均约定为偶校验,2.1 数据与文字的表示方法,1,1,补码加减法运算公式(讨论纯小数,纯整数类似)X+Y补=X补+Y补(mod 2)X-Y补=X补+-Y补(mod 2)可证,-Y补=-Y补(mod 2)所以,X-Y补=X补-Y补(mod 2)-Y补=Y补+2-n(Y补连同符号位变反,末位加1)简便方法:Y补最右边的1及其后各位保持不变,连同符号位在内一起变反。例10:已知X1=-0.1110,
25、X2=+0.1101,求:X1补,-X1补,X2补,-X2补解:X1原=1.1110 X2原=0.1101 X1补=1.0010 X2补=0.1101-X1补=0.1110-X2补=1.0011,2.2 定点加减运算,例9:x=+0.1011,y=-0.0101,利用补码加法计算x+y=?解:x补=0.1011,y补=1.1011 x补=0.1011+y补=1.1011 x+y补=10.0110 x+y=+0.0110,2.2 定点加减运算,P32,+0.6875,-0.3125,+0.375,例11:x=+0.1101,y=+0.0110,利用补码减法计算x-y=?解:x补=0.1101,y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 方法 运算器 恢复

链接地址:https://www.31ppt.com/p-5849743.html