第2章数据的表示和运算

上传人:公**** 文档编号:568263802 上传时间:2024-07-23 格式:PPT 页数:199 大小:2.85MB
返回 下载 相关 举报
第2章数据的表示和运算_第1页
第1页 / 共199页
第2章数据的表示和运算_第2页
第2页 / 共199页
第2章数据的表示和运算_第3页
第3页 / 共199页
第2章数据的表示和运算_第4页
第4页 / 共199页
第2章数据的表示和运算_第5页
第5页 / 共199页
点击查看更多>>
资源描述

《第2章数据的表示和运算》由会员分享,可在线阅读,更多相关《第2章数据的表示和运算(199页珍藏版)》请在金锄头文库上搜索。

1、计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算第第2章章 数据的表示和运算数据的表示和运算2.1数制与编码数制与编码2.2定点数的表示和运算定点数的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.4算术逻辑单元算术逻辑单元ALU糠成弦所秤辜虚抚尽灰医朔胰拖估动刽钎店质废玛妥吁狰盒持泰岂坡喜替第2章数据的表示和运算第2章数据的表示和运算7/23/20241计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋

2、咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换当使用汇编语言或者高级语言编写程序时,一般都采用十进制形式;有时出于某种需要也采用十六进制形式或者二进制形式来表示。但是在计算机内部,数据的表示、存储和运算均采用二进制形式。进位计数制:又称为数制,即按进位制的原则进行计数。数制由两大要素组成:基数R和各数位的权W。基数R决定了数制中各数位上允许出现的数码个数,基数为R的数制称为R进制数。权W则表明该数位上的数码所表示的单位数值的大小,权W与数位的位置有关。计算机中常用的进位计数制有二进制、八进

3、制、十进制和十六进制。咯谗矾灾憋铰阳没棚偶厕厕废眉纲绳襄垒柠屉扳鹿孤哼炯邀扇输逼外受旧第2章数据的表示和运算第2章数据的表示和运算7/23/20242计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换假设 任意数值N 用 R进制数 来表示,表示形式为n+k个自左向右排列的符号来表示: N=(Dn-1Dn-2D0 .D-1D-2D-k)R 式中Di(-kin-1)为该数制采用的基本符号,可取值0, 1,

4、2, , R-1,小数点隐含在D0与D-1之间,整数部分有n位,小数部分有k位,数值N的实际值为:锻钱哈碾渝镰撑械章求纹吏凋蔼抢推螟地葡稽惋骤鞘伙颊妇谣溺测琢灼刚第2章数据的表示和运算第2章数据的表示和运算7/23/20243计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换十进制(Decimal) :基数为10,允许使用的数字有10个(0-9)。主要特点是逢十进一。任意一个十进制数可以表示为: 例如十

5、进制数例如十进制数135.26可以表示为:可以表示为:驻十憾适糙跌赁尖潜希瓷氖僚膨镊准惹斡檄譬蚤构幼记考项刹林牡腆天寨第2章数据的表示和运算第2章数据的表示和运算7/23/20244计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换二进制(Binary) :基数为2,可使用的数字只有0和1,逢二进一。任意一个二进制数可以表示为 : 例如例如二进制数二进制数(1100.1011)2可以表示可以表示为:为:

6、娠饥娱运轻戳饭篷搏麓蛋噬壮爸棱开雪搔杭袍靠跟博扛笋胸藉疤厄贬屠滨第2章数据的表示和运算第2章数据的表示和运算7/23/20245计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换计算机中数据主要以二进制数的形式存储,原因有以下几点 : 二进制数易于表示,比较容易找到具有二值状态的物理器件来表示数据和实现存储。比如脉冲有无、电压高低等。 二进制数运算规则简单,运算过程中的输入状态和输出状态较少,便于使用电

7、子器件和线路加以实现。 二进制数的0和1与逻辑推理中的“真”和“假”相对应,为实现逻辑运算和逻辑判断提供了便利。虎末赏情丘许珍觉需又屿为嘲忧吼鹰豢圣萍瘸氦拔猿乃漠引撂淄谷拔遣逆第2章数据的表示和运算第2章数据的表示和运算7/23/20246计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换八进制(Octal) :基数为8,可使用的数字有0-7,逢八进一。任意一个八进制数可以表示为 : 十六进制(Hexa

8、decimal) :基数为16,可使用的数码有0-9和A-F(代表10-15),逢十六进一。任意一个十六进制数可表示为 : 株嫩簿揭垛或霞敷墒垣尊蕊蒋挟画醛墓沫琐坎欣焰董铁弓循黄围粪祸谋耿第2章数据的表示和运算第2章数据的表示和运算7/23/20247计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换非十进制转化为十进制 :非十进制数转为十进制数时将非十进制数按权展开,然后求和。【例2.1】将下列非十进

9、制数转化为十进制。 (1207)8=183282081780=512+128+0+7=(647)10 (A7)16=(10161+7160)10=(160+7)10=(167)10炒接夕峰蹭晦豺什买辕煌鞋氖帧任溯稠墅习侗斋痴椽熬蔼螺邯腾慷崩床粗第2章数据的表示和运算第2章数据的表示和运算7/23/20248计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算例:39转换成二进制数(39)10 =(100111)22 39 1 ( b0) 2 19 1 ( b

10、1) 2 9 1 ( b2) 2 4 0 ( b3) 2 2 0 ( b4) 2 1 1 ( b5) 02.1 数制与编码 2.1.1 进位计数制及其相互转换十进制转化为非十进制 :十进制数转换为非十进制数时需将十进制数整数部分和小数部分分别转换,再将结果写到一起。十进制整数转换为非十进制整数:除R取余法。十进制整数不断除以R,直至商为0。每除一次取一个余数,从低位排向高位。例:208转换成十六进制数 (208)10 = (D0)1616 208 余 0 16 13 余 13 = DH 0陛聘糕炕随覆扛捌凛孜堡魁长浦殿茬紫盘喷淳瘫昭佑府港犹汾毗贺栋殿凋第2章数据的表示和运算第2章数据的表示和运

11、算7/23/20249计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换十进小数转换为非十进制小数:乘R取整法。用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。例:例:0.625转换成二进制数转换成二进制数0.62521.251(b-1)0.2520.500(b-2)0.5021.001(b-3)所以所以(0.625)10=(0.101)2螟癣

12、搬肝纵武剩凭伸隆俏壳甸挠鹿硷蠢斌洋眷掘屉业荔棺旁篓啊湃庸丰辨第2章数据的表示和运算第2章数据的表示和运算7/23/202410计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换【例2.2】将(12.6875)10转化为二进制数。整数部分整数部分(12)10=(1100)2颂敷淘裔培序瞅凑腥狙召颇籽幅区敷报讶搅吝未找羞悠秘姐蜜乍皂颖谨迟第2章数据的表示和运算第2章数据的表示和运算7/23/202411计算

13、机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换【例2.2】将(12.6875)10转化为二进制数。小数部分小数部分(0.6875)10=(0.1011)2.所以所以(12.6875)10=(1100.1011)2 诀壤邹描擂慑钨坯聚惑烷兢激厩艾柔腰六圈釉抽淀禄锅欲诱刊柏浦胞涧谓第2章数据的表示和运算第2章数据的表示和运算7/23/202412计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和

14、运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换【课堂练习】将(105.3125)10转化为二进制数。(105.3125)10=(1101001.0101)2沛诸惜拭史枯惯槛耘钵渭没挽冶仁城舰耻超个茧辜缴忘怎理凡备惯滁肝偷第2章数据的表示和运算第2章数据的表示和运算7/23/202413计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据

15、的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换二进制、八进制与十六进制的转换:3位二进制数组成1位八进制数,4位二进制数组成1位十六进制数二进制转换为八进制:从小数点开始,向两边每3位为一组,整数部分不足3位在前面补“0”,小数部分不足3位在后面补“0”。八进制转换为二进制:过程相反,每一位八进制数转换为3位二进制编码。二进制转换为十六进制:从小数点开始,向两边每4位为一组,整数部分不足4位在前面补“0”,小数部分不足4位在后面补“0”。十六进制转换为二进制:只需将每一位十六进制数写成它的4位二进制编码即可。八进制与十六进制的转换先转换成二进制,然后再转换为所求的进制数冰与

16、顿唤顽消烧钎猩钮功监逐喀兵袱邦闲渴位守熊骏政作饿配滁傻芯父喉第2章数据的表示和运算第2章数据的表示和运算7/23/202414计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.1 进位计数制及其相互转换【例2.3】将(11011.11001)2转化为八进制、十六进制,将(751)8转化为十六进制。(11011.11001)2=(011011.110010)2=(33.62)8(11011.11001)2=(00011011.11

17、001000)2=(1B.C8)16(751)8=(111101001)2=(000111101001)2=(1E9)16饵嫉沁嘘矾锡渤纸初轰惫巩嘴可狈田保德葱扛耻散力筏涕咏工扶捅规浩往第2章数据的表示和运算第2章数据的表示和运算7/23/202415计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.2 真值和机器数计算机中的数据可分两类:无符号数和有符号数。无符号数:即没有符号的数,在寄存器中的每一位均可存放数值。有符号数:即

18、带有符号的数,存放时需要留出位置存放符号。符号“正”、“负”需要数字化,一般用“0”表示正号,用“1”表示负号,并将它放在有效数字前面。机器数:符号“数字化”的数真 值:带“+”或“-”符号的数例如,真值是+0.11001,机器数为0.11001;真值为0.11001,机器数为1.11001瞒眨藏分蘑膳鹊眺闪坦角取训腮恨轴逾蒲幢脂抢系漓谎驴橱宋钎鉴否址获第2章数据的表示和运算第2章数据的表示和运算7/23/202416计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据

19、的表示和运算2.1 数制与编码 2.1.3 BCD码BCD码: 使用二进制数编码来表示十进制数的方法,又叫做二-十进制码。一般用4位二进制编码来表示一个十进制数。常用的BCD码分为有权码和无权码。 有权码: 每一位都有固定的权值,加权求和的值即为它所表示的十进制数。常用的有权码有8421码、2421码、5211码等,8421码的4位二进制数的权从高到低依次是8、4、2、1。一般提到的BCD码就是指8421码。这种编码的优点是这4位二进制数之间满足二进制的进位规则。柄明什型控盛扰龋摘蛮痞灼匆凡撰德冰匪济一内农凶柳急则温积吱鞋鬃霉第2章数据的表示和运算第2章数据的表示和运算7/23/202417计

20、算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.3 BCD码在计算机内部实现BCD码算术运算,要对运算结果进行修正。BCD码加法运算修正规则:如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需修正;如相加之和大于或等于(10)10,要进行加6修正,并向高位进位,进位可在首次相加或修正时产生。 例如 1+8=9 4+9=13 7+9=16 0 0 0 1 0 1 0 0 0 1 1 1 + 1 0 0 0 +

21、 1 0 0 1 + 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 不需修正 加6修正 加6修正量纵腐讨钩历啮纫彻异富青什梅奇祸春晌晴贪铝芍湛楼禄辨外舶徒埃释跋第2章数据的表示和运算第2章数据的表示和运算7/23/202418计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.3 BCD码其它几种有权码: 2421、5211、4311码都采用4位有权的二进制码表示1个十进制数,但这4位二进制之间不符合二进制规

22、则。这几种有权码有一特点:任何两个相加之和等于(9)10的二进制码互为反码。如2421码中,0(0000)与9(1111)、1(0001)与8(1110),互为反码。表 2.1给出了十进制数的几种常见的4位有权码。孕逊含樟陪今散涂趟位淘肚肝谓外宁江噬枚狭洁筏敬匿柒嫉隋厦缴遍拒瑞第2章数据的表示和运算第2章数据的表示和运算7/23/202419计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.3 BCD码十进制数8421码2421

23、码5211码4311码00000000000000000100010001000100012001000100011001130011001101010100401000100011110005010110111000011160110110010101011701111101110011008100011101110111091001111111111111表表2.14位有权码位有权码防男骄盐噬栅经病郑停考悔炯肠涪帚擦眩恕糠翼坪湘俺浚辛迂脉宾顶戈惠第2章数据的表示和运算第2章数据的表示和运算7/23/202420计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运

24、算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.3 BCD码无权码: 4位二进制编码的每一位没有固定的权。在采用的无权码的一些方案中,采用的比较多的是余3码,格雷码余3码:把原二进制的每个代码都加0011值得到的。优点是执行十进制数位相加时,能正确产生进位信号,还给减法运算带来了方便。余3码的执行加法运算的规则:当两个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位余3码,同时本位加0011的修正操作。格雷码:它的任何两个相邻的编码之间只有1个二进制位的状态不同,其余3个二

25、进制位必须具有相同状态。优点:从一个编码变成下一个相邻编码时,只有1位的状态发生变化,有利于得到更好的译码波形,在模拟/数字转换的电路中得到更好的运行结果。露住唬贱氏吨停汹货吮杠刑峪祖铱哀坯兄巍月恬似吏盯秤慰椽令姥德庇忱第2章数据的表示和运算第2章数据的表示和运算7/23/202421计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.3 BCD码表表2.24位无权码位无权码十进制数余3码格雷码(1)格雷码(2)000110000

26、0000101000001010020101001101103011000100010401110110101051000111010116100110100011710101000000181011110010019110001001000锚表阜液拙铝杖炳吸丝柒稚谬斗釉急温跃崖像讼疥嫂育铆千谊详第蕉弛渴第2章数据的表示和运算第2章数据的表示和运算7/23/202422计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.4 字符和

27、字符串字符:字母、数码、运算符号、标点符号等,汉字也属于字符。使用计算机的过程必然要涉及字符。由于计算机只能识别0和1两种数码,所以字符也应采用二进制编码。目前经常用的是美国国家信息交换标准字符码,简称ASCII(American Standard Code for Information Interchange)码。 ASCII码: 7位二进制代码表示一个字符,称为标准或基本ASCII码,如表 2.3所示。弊痔潦屿恕伍交羊潭困留杆例决辑辅辖罢嘻哪部格凿菱萎删目动拘菜滁谜第2章数据的表示和运算第2章数据的表示和运算7/23/202423计算机组成与结构计算机组成与结构 第第2 2章章 数据的表

28、示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算0000100120103011410051016110711100000NULDLESP0P、p00011SOHDC1!1AQaq00102STXDC2”2BRbr00113ETXDC3#3CScs01004EOTDC4$4DTdt01015ENQNAK%5EUeu01106ACKSYN&6FVfv01117BELETB7GWgw10008BSCAN(8HXhx10019HTEM)9IYiy1010ALFSUB*:JZjz1011BVTESC+;Kk1100CF

29、FFS,Nn1111FSIUS/?OoDEL高位高位b6b5b4低位低位b3b2b1b07位位ASCII码码编编码码表表妨譬民沃佃荒缝令诡睁吾久测痊埂茨饯搀习沸殴洋导哦嘱吗淌氏壮彪馆将第2章数据的表示和运算第2章数据的表示和运算7/23/202424计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.4 字符和字符串标准ASCII码:有128种的组合,每种组合可代表一个字符。包括所有大写和小写字母,数字 0 到 9、标点符号,及在

30、美式英语中使用的特殊控制字符。扩充ASCII码: 在标准ASCII码前面增加一个二进制位,用8位二进制数来给字符编码。共有256种组合,可给256个字符编码。前128个字符的最高位为0,用于表示标准ASCII码。后128个字符的最高位为1,用于表示128种特殊符号,如制表符等。凹亲娩登额搔静吓幢捂址箭钱范爸惜歹瘟慕描妆预典历样吊肄藐字奥碰抠第2章数据的表示和运算第2章数据的表示和运算7/23/202425计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2

31、.1 数制与编码 2.1.4 字符和字符串汉字编码:计算机的汉字处理技术必须解决3个问题:汉字的输入、存储与交换和汉字的输出,它们分别对应于汉字的输入码、内码、交换码和字形码。 汉字输入码: 将汉字输入到计算机中多用的编码。数字输入法:对每个汉字采用一个数字串进行编码,例如区位码、国标码等。优点是无重复码,缺点是难以记忆。字形分解法:将汉字按其规则和笔画划分成若干部件,用字母或者数字进行编码。如五笔字型输入法、郑码输入法等。拼音输入法:是以汉字拼音为基础的输入方法。如全拼输入法、智能ABC输入法等。优点是无须记忆,缺点是重码率较高。音形输入法:利用拼音输入法和字形分解法的各自优点,兼顾汉字的音

32、和形,将两者混合使用。如自然码输入法。迢护痪肢衡蹿哗但坎挥鄂幌遣党讫境秉吻紊梯理惮柑恰胯宾凭妙申陋疯坪第2章数据的表示和运算第2章数据的表示和运算7/23/202426计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.4 字符和字符串汉字内码:是计算机系统内部处理、存储汉字所使用的统一代码,一般采用两个字节表示一个汉字。汉字的输入码可以有多种,但内码在计算机中是唯一的。 汉字交换码:不同的具有汉字处理功能的计算机系统之间在交换汉

33、字信息时所用的代码标准。目前常用的是国标码,即国家标准化信息用汉字编码。国标汉字共有6763个,分两级,一级汉字为常用汉字,共3755个;二级汉字是非常用汉字,共3008个。每个汉字对应4位十六进制数(两个字节)。进瓶煎均螺盗伟滑痊须账慑铭消棕螺后匣庸诉开瘤翻蔡睦忙骤紧火心张逐第2章数据的表示和运算第2章数据的表示和运算7/23/202427计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.4 字符和字符串汉字字形码:目前的汉字

34、处理系统中,字形信息的表示可以分为两大类:一类是用活字或文字版的母体字形形式,另一类是用点阵表示法、矢量表示法等形式,其中最基本应用最广泛的是后者。肺丑俊沽廉匡版琶泳螺登讼捧驻辆獭蒂提背诚疮褥拘釉惶蜜湛涕县酵安袁第2章数据的表示和运算第2章数据的表示和运算7/23/202428计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.4 字符和字符串字符串:连续的一串字符, 通常方式下, 它们占用主存中连续的多个字节, 每个字节存一个字

35、符。当主存字由2个或4个字节组成时, 在同一个主存字中, 既可以按从低位字节向高位字节的顺序存放字符串的内容, 也可以按从高位字节向低位字节的次序顺序存放字符串的内容。这两种存放方式都是常用方式。如,1F AB THEN READ (C) 就可有两种不同存放方式。假定每个主存字由4个字节组成, 图 2.1(a) 是按从高位字节向低位字符的次序存放, 图 2.1 (b) 按从低位字节向高位字节的次序存放。主存中每个字节存放的是相应字符的ASCII编码值。琅似榜坚裹劈象丹笆忘歇稠愈铀亿明瓜奎形派淀窥湘昨陆轮流伎剪摩竹掩第2章数据的表示和运算第2章数据的表示和运算7/23/202429计算机组成与结

36、构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.4 字符和字符串IFABTHENREAD(C)AFITBNEHDAER)C(a)(b)泌图茂褂跃选态碍作滓饿每乏述治禄祖卤搬谰缠虱臣瘸遗楚一伦灯成镁侨第2章数据的表示和运算第2章数据的表示和运算7/23/202430计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的

37、表示和运算2.1 数制与编码 2.1.5 数据校验码 计算机系统中的数据,在读写、存取和传送的过程中可能产生错误(随机错误或突发错误)。为减少和避免这类错误,一方面精心设计各种电路,提高计算机硬件的可靠性;另一方面是在数据编码上找出路,即采用某种编码法,通过少量附加电路,使之能发现某些错误,甚至能确定出错位置,进而实现自动改错的能力。言摈署醇凄枚沽辊撂敝捞楞剪壁驱戌椒辉衡牛宏脸戏诫冻驻骸澳悼乳醒讨第2章数据的表示和运算第2章数据的表示和运算7/23/202431计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳

38、烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码 数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法。 实现原理:加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码。这样就可以通过检测编码的合法性来达到发现错误的目的。码距:一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的最小距离就是该编码系统的码距。义印册社寓价暗渊聘聊族美铬砾抽哥搀涧究涛品垂唐诀酪刚怖譬褂习会石第2章数据的表示和运算第2章数据的表示和运算7/23/202432计算机组成与结构计算机

39、组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码 图2.4所示编码系统,用三个bit表示8个码字。两个码字之间不同的bit数最少为1,故该系统码距为1。如任何码字中一位或多位被颠倒,这个码字不能与其它有效信息区分开。如传送信息001,而被误收为011,因011仍是合法码字,接收机将认为011是正确信息。信息序号二进码字a2a1a000001001201030114100510161107111图图2.4用三个用三个bit来表示来表示8

40、个码字个码字险飘语潭披需识身畔恼七随挤杨旁阁躯庐掖弊旋蔼撵立渣申丢乾禹演棒她第2章数据的表示和运算第2章数据的表示和运算7/23/202433计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码 图2.5所示编码系统,用4个bit表示8个码字,码字间的最小距离增加到2,码距为2。8个码字相互间最少有两bit的差异。如果任何信息的一个数位被颠倒,就成为一个非法码字。如信息是1001,误收为1011,接收机知道发生了一个

41、差错,因为1011不是一个合法码字。但差错不能被纠正,偶数个差错也无法发现。图图2.5用用4个个bit来表示来表示8个码字个码字信息序号二进码字a3a2a1a00000011001210103001141100501016011071111硒封蜗挚蛮妥芍感许灾匀掏坷氦颗区护截儒呵敖蕉尽镁强殉脂擦镐忌棍枝第2章数据的表示和运算第2章数据的表示和运算7/23/202434计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验

42、码 为使一个系统能检查和纠正一个差错,码间最小距离必须至少是“3”。最小距离为3时,或能纠正一个错,或能检二个错,但不能同时纠一个错和检二个错。编码信息纠错和检错能力的进一步提高需要进一步增加码字间的最小距离。表2.6概括了最小距离为1至7的码的纠错和检错能力。常用的数据校验码:奇偶校验码、 海明校验码、循环冗余校验码码距码的检错与纠错能力检错纠错123456700102或12加12加23加23加3卷悔管莹蒲欺诚茨寅隶婆职筑旷理订胶以舔雏凌墒剖轰曲腔迈狞噎啥糊舒第2章数据的表示和运算第2章数据的表示和运算7/23/202435计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数

43、据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-奇偶校验码奇偶校验码:奇偶检验码是一种最简单、最直观、应用最广泛的检错码,它的码距为2,因此它只能检出一位错。实现方法:由若干位有效信息(如1个字节),再加上1个二进制位(校验位)组成校验码。检验位的取值(0或1)将使整个校验码中“1”的个数为奇数或偶数。当校验位的取值使整个校验码中“1”的个数为奇数时,称为奇校验;当“1”的个数为偶数时为偶校验。奇偶校验的编码和检验的电路:常见的有并行奇偶统计电路,如图2.2所示。酵喉戎数蚁入窝

44、纫娃继刽人昔俗柜趟臭畅肥常回例讳缚奴觅舜奶翌插萤廷第2章数据的表示和运算第2章数据的表示和运算7/23/202436计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算PO = D1 D2 D3 D4 D5 D6 D7 D8 2.1 数制与编码 2.1.5 数据校验码-奇偶校验码图 2.2 奇偶校验位的形成及检验电路=习蓑姥炯坪份萝钉拭铂惊熙寇孤棵冻哑番奥寓未睬瘪椎盛惭臂梳漓秒箕圆第2章数据的表示和运算第2章数据的表示和运算7/23/202437计算机组成与

45、结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-奇偶校验码下面以奇校验为例说明对主存信息进行奇偶校验的全过程:校验位形成: 当要把一个字节的代码D7D0写入主存时,就将它们送往奇偶校验逻辑电路,该电路产生的“奇形成”信号就是校验位。它将与8位代码一起作为奇校验码写入主存。若D7D0中有偶数个“1”,则“奇形成”=1,若D7D0中有奇数个“1”,则“奇形成”=0。 校验检测: 校验检测是将读出的9位代码(8位信息位和1位校验

46、位)同时送入奇偶校验电路检测。若读出代码没有错误,则“奇校验出错”=0;若读出代码中的某一位上出现错误,则“奇校验出错”=1,表示这个9位代码中一定有某一位出现了错误,但是具体的错误位置是不能确定的。待惜沥熬陇警甭矣伞嗣架抖托潭蝇丸或互缠馅版猖盒丧争祷加椅兄鉴茧晾第2章数据的表示和运算第2章数据的表示和运算7/23/202438计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-奇偶校验码水平垂直奇偶校验码:实际工

47、作中还经常采用纵横都加校验奇偶校验位的编码系统水平垂直奇偶校验码。考虑传输若干个长度为m位的信息。如果把这些信息编成每组n个信息的分组,则在这些不同的信息间,也能够作奇偶校验。下图中n个信息的一个分组排列成矩阵式样,并以水平奇偶(HP)及垂直奇偶(VP)的形式编出奇偶校验位。假冶差勉辅局前址亦圾炙妈半肝闰淮间宿赏知律驳方赞颧草眯抉氮逗叁戳第2章数据的表示和运算第2章数据的表示和运算7/23/202439计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.

48、1 数制与编码 【例】(2001年程序员试题) :由 6 个字符的 7 位 ASCII 编码排列,加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位),则:X1X2X3X4处比特分别为?处比特分别为?X5X6X7X8处比特分别为?处比特分别为?X9X10XI1X12处比特分别为?处比特分别为?Y1和和Y2处的字符分别为?处的字符分别为?011100011110席候镁扰滩掠糠氢又佑陷天斤脑烩耐戒粒饱芳箩站憋迈耐郡凑飘撂妮夕场第2章数据的表示和运算第2章数据的表示和运算7/23/202440计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的

49、表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 【解】从ASCII码左起第5列可知垂直为偶校验。则: 从第1列可知X4=0;从第3行可知水平也是偶校验。 从第2行可知X3=1;从第7列可知X8=0;从第8列可知X12=1; 从第6列可知X10=0;从第6行可知X9=1;从第2列可知X1=1; 从第1行可知X2=1;从第3列可知X5=1;从第4行可知X6=0; 从第4列(或第5行)可知X7=0;从第7行可知X11=1;整理一下: X1X2X3X4 = 1110 , X5X6X7X8 = 1000X9X10X

50、11X12 = 1011 由字符Y1的ASCII码1001001=49H知道,Y1即是“I”(由“D”的ASCII码是1000100=44H推得) 由字符Y2的ASCII码0110111=37H知道,Y2即是“7”(由“3”的ASCII码是0110011=33H推得) 假如你能记住“0”的ASCII码是0110000=30H;“A”的ASCII码是1000001=41H,则解起来就更方便了塔高姓曙孔搏糖窝聚鳖继鹃都亲庞娜蛆趣伸锄性捎氖沥恕喊焙硕缮醚专捡第2章数据的表示和运算第2章数据的表示和运算7/23/202441计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和

51、运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码这是由Richard Hamming于1950年提出的、目前还被广泛采用在网络传输等领域。实现原理:在有效信息位中加入几个校验位形成海明码,使码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据。齿拈襄又脓拌许轰以右豪靠蛊看贾揍闺埋者果淬生葫李堕嗜烽擎撼排洁狐第2章数据的表示和运算第2章数据的表示和运

52、算7/23/202442计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系。 2rk+r+1(2.10) 如要能检测与自动校正一位错,并发现两位错,则应在前一条件下再增加1位总校验位

53、,此时校验位的位数r和数据位的位数k应满足下述关系: 2r-1k+r (2.11) 。衷侄凭瞒绞紫啦宝凸刺滚葬琴蒋彤狭矩峦操奈踏硅屏顾琉出考钮珊生志烦第2章数据的表示和运算第2章数据的表示和运算7/23/202443计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码可计算出数据位k与校验位r的对应关系,如表2.7所示。表2.7k与r之间的关系表r值k值r值k值2341245115671226275758

54、120畸处千迂唇铺粮串穗泅麦绣染古骑征泪啄拯恭巾士顿聪锗闸庐啄的鹿严惫第2章数据的表示和运算第2章数据的表示和运算7/23/202444计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码海明码的编码规律:数据位k位,校验位r位,假设海明码的最高位号为m,最低位号为1,即HmHm-1H2H1(1) 校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置,其余各位为数据位,并按从低向高逐位

55、依次排列的关系分配各数据位。(2) 海明码的每一位码Hi(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。以便校验的结果能正确反映出出错位的位号。郴模厩铣槛涝淌步自庇哉磐蜂儒雕伤赁引僚骆咨春茎表刀犁蠕灿韦衍笑彩第2章数据的表示和运算第2章数据的表示和运算7/23/202445计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码例如: 校验位r=5,用P

56、1-P5表示,数据位k=8,用D1-D8表示,5个校验位P5P1对应的海明码位号应分别为H13,H8,H4,H2和H1。P5只能放在H13一位上,它已经是海明码的最高位了,其他4位满足Pi的位号等于2i-1的关系。其余为数据位Di,则有如下排列关系:P5D8D7D6D5P4D4D3D2P3D1P2P1 按照海明码的编码规律,每个海明码的位号要等于参与检验它的几个检验位的位号之和的关系,可以给出如表2.8所示的结果拒茬恒稿埔栖剐啤告麦喻鹿素褐柠柜吓忠怕苟碌龙锹盾兴勃碑臼缝侧淋岗第2章数据的表示和运算第2章数据的表示和运算7/23/202446计算机组成与结构计算机组成与结构 第第2 2章章 数据

57、的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算海明码位号数据位/校验位参与校验的校验位位号被校验位的海明码位号=校验位位号之和H1P111=1H2P222=2H3D11,23=1+2H4P344=4H5D21,45=1+4H6D32,46=2+4H7D41,2,47=1+2+4H8P488=8H9D51,89=1+8H10D62,810=2+8H11D71,2,811=1+2+8H12D84,812=4+8H13P51313=13表表2.8出错的海明码位号和校验位位号的关系出错的海明码位号和校验位位号的关

58、系 汇茵皮埋枚泪眯肆儡围袁熊靶芥颊巷邦黍目抽撞褥袜轴淬红耶贪拥靴隋霹第2章数据的表示和运算第2章数据的表示和运算7/23/202447计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码由有关数据位形成Pi值的偶校验的结果: P1 =D1 D2 D4 D5 D7 P2 =D1 D3 D4 D6 D7 P3 =D2 D3 D4 D8 P4 =D5 D6 D7 D8若要分清是两位出错还是一位出错,还要补充一位

59、P5总校验位 P5 =D1 D2 D3 D4 D5 D6 D7 D8 P4 P3 P2 P1 每一位数据位,都至少出现在3个Pi值的形成关系中。当任一位数据码发生变化时,必将引起3个或4个Pi值跟着变化,该海明码的码距为4。林宿秧雪掐炽蘑恿呸蓉积烛聪只模哺蔬景熬呀冶贵病审嘉膜代伤软怕颜且第2章数据的表示和运算第2章数据的表示和运算7/23/202448计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码按

60、如下关系对所得到的海明码实现偶校验: S1 = P1 D1 D2 D4 D5 D7 S2 = P2 D1 D3 D4 D6 D7 S3 = P3 D2 D3 D4 D8 S4 = P4 D5 D6 D7 D8 S5 = P5 P4 P3 P2 P1 D1 D2 D3 D4 D5 D6 D7 D8校验得到的结果值S5 S1能反应13位海明码的出错情况任何奇数个数出错, S5一定为1任何偶数个数出错, S5一定为0图3.11是H=12,数据位k=8,校验位r=4的海明校验线路,记作(12,8)分组码。燥柴慑蕉丫太通鞋雪症膜碘蚌撇贤戮卿侄株关祷胳褂桃扒蔫侵棒寺焰动铝第2章数据的表示和运算第2章数据的

61、表示和运算7/23/202449计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码图2.3是H=12,数据位k=8,校验位r=4的海明校验线路,记作(12,8)分组码。图中,H12 , H11, , H1是被校验码, D8 , D7, , D1是纠正后的数据, S4 , S3, S2, S1是用奇偶形成线路得到的。若S4 S1全0,说明代码无错;若为1100或1011,则分别表示H12 或 H11有错,

62、通过相关译码线经异或电路纠正该位。仪模醋锭遗曳欣峦筏访肘停帅刨障俐羊诊搬郎故猿碎裁用努专堪讼渐敝德第2章数据的表示和运算第2章数据的表示和运算7/23/202450计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码图2.3 (12,8)分组码海明校验线路煮历寇滦涉从弦谨氨陶纸版藐堆韭苦颊鬼精止预梅逐井肚斌抑窟疫沦铭都第2章数据的表示和运算第2章数据的表示和运算7/23/202451计算机组成与结构计算机

63、组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-海明校验码假如要进一步判别是1位错还是2位错,则再增加一个校验位。并用图2.4来取代图2.3虚框中的内容,此时增加了一个奇偶形成线路S5。 如为一位错,仍按图2.3来纠正数据位;如为两位错,则无法纠正错误。图图2.4判判1位位/2位错的附加线路位错的附加线路绞狗谎启飞树嘘屋馈晋佳绣蹲肘擅销映右拳疫爷松酝雪禹吠瘸钻上炽岂诡第2章数据的表示和运算第2章数据的表示和运算7/23/202452

64、计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码CRC(cyclic redundancy check)码可以发现并纠正信息存储或传送过程中连续出现的多位错误,在磁介质存储和计算机之间通信方面得到广泛应用;在数据存储和数据通讯领域,CRC应用广泛: 著名通讯协议X.25的FCS(帧检错序列)采用CRC. CCITT,ARJ、LHA等压缩工具软件采用的是CRC32,磁盘驱动器的读写采用了CRC16,

65、通用的图像存储格式GIF、TIFF等也都用CRC作为检错手段。欧洲交换机都使用CRC4。摄臂痈焙掂朝涯嗅万巷犊结甫荧帛逮责洗恋忿削鉴搭赘似肘睬士韭李绝羹第2章数据的表示和运算第2章数据的表示和运算7/23/202453计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码CRC码是基于模2运算而建立编码规律的校验码;模2运算特点:运算不考虑进位和借位,规则如下:模2加和模2减规则相同,按位异或,相同得0

66、,不同得1。即:00=0,01=1,10=1,11=0。模2乘时按模2加求部分积之和。模2除是按模2减求部分余数。每求一位商应使部分余数减少一位。上商规则是:当部分余数的首位为1时,商取1,当部分余数的首位为0时,商取0;当部分余数的位数小于除数位数时,该余数即为最后余数。谦湖勤寡石补啄桥驰吝非障诽穴忻获死峻讫失堤宾酒近危捂谜邪疯协习碳第2章数据的表示和运算第2章数据的表示和运算7/23/202454计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1

67、 数制与编码 2.1.5 数据校验码-循环冗余校验码模2乘例子: 模2除例子:1010)101101000001010100010 1011011000010101000010010101 -商商-R余数余数页七必些章匿竣惦雕缄仍井牟许吩积五卑堰詹高檄暴席散左吟示亚叼巍云第2章数据的表示和运算第2章数据的表示和运算7/23/202455计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码CRC码基本原

68、理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式;CRC码的关键是如何从K位信息位简便地得到r位校验位(编码),及如何从K+R位信息码判断是否出错。骋州蛀痔袁躯蔚瓷擂繁怕殿插忌农来闻惭串愤灿版戒欺笺莲墟义喇欠梢诊第2章数据的表示和运算第2章数据的表示和运算7/23/202456计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥

69、粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码CRC码的编码方法:将待编码的k位有效信息位组表达为多项式M(x): M(x)=Ck-1xk-1+Ck-2xk-2+Cixi+C1x+C0将信息位组左移r位,则可表示为多项式M(x)xr。可空出r位,以便拼接r位校验位 。CRC码用多项式M(x)xr除以G(x)(生成多项式)所得余数作为校验位。为了得到r位余数(校验位),G(x)必须是r+1位。设所得余数表达为R(x),商为Q(x)。将余数拼接在信息位组左移空出的r位上,构成有效信息的CRC码。多项式表达为: M(x

70、) xr +R(x)=Q(x)G(x)+R(x)+R(x) =Q(x)G(x)+R(x)+R(x)=Q(x)G(x)堂改敦脊乱储脚昧封搭山竣爬待迄耙缺秉牟落坎苫瑞竣史产阔菲植杨美桃第2章数据的表示和运算第2章数据的表示和运算7/23/202457计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码CRC码的编码方法:因此所得CRC码可被G(x)表示的数码除尽。如果CRC码在传输过程中不出错,其余数必为

71、0;如果传输过程中出错,则余数不为0,由余数指出哪一位出错,即可纠正。呢腊叫瑶蛊了诗酷蜘骄缨聪宗翱捷功芦危链十困挞随婉席优捌伤明封难守第2章数据的表示和运算第2章数据的表示和运算7/23/202458计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码【例2.4】已知有效信息为011,试用生成多项式为G(x)=10111将其编码。解:有效信息M(x)=011=x+1,n=3由G(x)=10111=x4

72、+x2+x+1 得k+1=5,k=4将有效信息左移4位后再被G(x)模2除,即M(x)x4=x5+x4对应的代码为0110000,用G(x)的二进制编码10111来除,如下:所以,M(x)x4+R(x)=0110000+1001=0111001为CRC码。总信息位为7位,有效信息位为3位,上述0111001码称(7,3)码 睹滓矫烘辣皂僵蟹援挪勿钵驴叛包甚拉揖伪纳原诸娘磁代厦资芯荐常墟趟第2章数据的表示和运算第2章数据的表示和运算7/23/202459计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿

73、持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码【课堂练习】对4位有效信息(1100)求循环校验编码,选择生成多项式(1011) 。解: M(x)=x3+x2=1100(k=4) M(x)x3=x6+x5=1100000 (左移r=3位) G(x)=x3+x+1=1011 (r+1=4位) M(x)x3/G(x)=1100000/1011=1110+010/1011 (模2除) M(x)x3+R(x)=1100000+010=1100010 (模2加) 将编好的循环校验码称为(7,4)码,即n=7,k=4。练习:假设使用的生成多项式是练习

74、:假设使用的生成多项式是G(x)=x3+x+1。4位的原位的原始报文为始报文为1010,求编码后的报文。(答案,求编码后的报文。(答案A:1010011)拧看瓜面瑟卉佣栖赴困泛扎加嘴诚劝姥幌刘第楼汪凡俩剿修捷汗词鱼密森第2章数据的表示和运算第2章数据的表示和运算7/23/202460计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码CRC码的译码与纠错:将收到的循环冗余码用生成多项式G(X)去除。若

75、无错,则余数为0; 若某位出错,余数不为0。不同出错位余数不同。表 2.9为(7,3)码对应G(X)=10111的出错模式。序号A1A2A3A4A5A6A7余数出错位正确01110010000无一位错误011100000017011101100106011110101005011000110004010100101113001100111102111100110111两位错误.其他余数无法确定矛嘎炸肪瓣黔泞苇傣能他虚梗俊笆达蕾困拽豆合烧箔通髓蓉耽卵皇傣瞬蛔第2章数据的表示和运算第2章数据的表示和运算7/23/202461计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表

76、示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码从表 2.9可以看出,更换不同的待测码字,余数和出错位的对应关系不变,只与码制和生成多项式有关。余数的不同,可以确定出错位数。 例如,CRC码字0111001在传输过程中若无差错,接收端用G(X)=10111去除,余数为0;如果在传输过程中有差错,在接收端变成了0111000,用G(X)=10111去除,余数不为0,等于0001,查表 2.9就可找出出错位为A7 。疏网柔担畏静焦太唤脊岩膛掉卧址签弗蛹离摸茸阳珊筏烃饶窑彤擦

77、箱再惭第2章数据的表示和运算第2章数据的表示和运算7/23/202462计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码如果循环码有一位出错,被G(x)模2除将得到一个不为0的余数。如果余数补0继续除下去,将发现各次所得余数将按表 2.9顺序循环。 例如,第7位出错,余数为0001,补0后继续模2除,第二次余数为0010,以后依次为0100,1000.反复循环,这就是“循环码”名称的由来。 该特点

78、便于对纠错电路的设计。即当出现不为零的余数后,一方面余数补0继续操作,另一方面将被检测的校验码字循环左移。驶谆可绦芽晒隧万替邀沙赴绘功拌场目该霍驶猾庞课路洒氨为犹岔宗份魔第2章数据的表示和运算第2章数据的表示和运算7/23/202463计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校验码由表2.9可知,当出现余数为1011时,出错位为A1,取反纠正A1,然后继续循环左移7次,即得到一个经过纠正的CRC

79、码。需要指出的是,并不是任何一个(k+1)位多项式都可以作为生成多项式。从检错和纠错的要求出发,生成多项式应满足以下要求: 任何一位发生错误,都应该使余数不为零。 不同位发生错误应使余数不同。 对余数继续做模2除,应使余数循环狠蚊悄祁吃艘殊享箕篓熙骨凌嘉印齿韧荤桐啥静扯烂忻辈敬啡悸览诊博炸第2章数据的表示和运算第2章数据的表示和运算7/23/202464计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.1 数制与编码 2.1.5 数据校验码-循环冗余校

80、验码常用生成多项式: 名称 生成多项式 标准引用 CRC-4 x4+x+1 ITU G.704 (国际电信联盟 ) CRC-4 x4+x2+x+1 CRC-8 x8+x5+x4+1 CRC-8 x8+x2+x1+1 CRC-8 x8+x6+x4+x3+x2+x1 CRC-12 x12+x11+x3+x+1 CRC-16 x16+x15+x2+1 IBM SDLC CRC16-CCITT x16+x12+x5+1 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS CRC-32 x32+x26+x23+.+x2+x+1 DB7 ZIP, RAR, IEEE 8

81、02 LAN/FDDI, IEEE 1394, PPP-FCS瘦讹驼赚蛙统十捣爵汪彬吱逼鸯种那姚傣菲舔尹堕屏肯灯迁羌峨栓峡筒栋第2章数据的表示和运算第2章数据的表示和运算7/23/202465计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示计计算算机机进进行行算算术术运运算算时时,需需要要指指出出小小数数点点的的位位置置。在在计计算算机机中中根根据据小小数数点点的的位位置置是是否

82、否固固定定可可以以分分为为定定点数点数和和浮点数浮点数两种数据格式。两种数据格式。在在定定点点数数中中小小数数点点的的位位置置固固定定不不变变。通通常常,把把小小数数点点固固定定在在数数位位的的最最前前面面或或末末尾尾,所所以以定定点点数数可可以以分分为为定点小数定点小数和和定点整数定点整数两类。两类。根根据据符符号号的的有有无无,定定点点数数又又分分为为无无符符号号数数和和有有符符号数号数两类。两类。陇员坤巢蕉驼小拽助裸审虏而狡俄豆骸闻淋筑床饮髓牌抉荧傻伦清巴酸币第2章数据的表示和运算第2章数据的表示和运算7/23/202466计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运

83、算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示无无符符号号数数:没没有有符符号号的的数数,数数值值的的每每一一位位均均用用来来存存放数值。放数值。有有符符号号数数:带带有有符符号号的的数数,存存储储时时需需留留出出位位置置存存放放符号。符号。在在机机器器字字长长相相同同时时,无无符符号号数数与与有有符符号号数数所所对对应应的的数数值值范范围围是是不不同同。以以机机器器字字长长为为16位位为为例例,无无符符号号数数的的表表示示范范围围为为06

84、5535,而而有有符符号号数数的的表表示示范范围围为为-32768+32767(用补码表示用补码表示)。餐茧官煽咨仁跋闷窥奔咋嗓瞥袖韧蝗读拥妈剁拐幢取譬管崇涉恰压工霄萄第2章数据的表示和运算第2章数据的表示和运算7/23/202467计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示有有符符号号数数的的表表示示:在在计计算算机机中中,常常采采用用机机器器数数来来表表示数据。常用的有

85、原码、反码、补码、移码等。示数据。常用的有原码、反码、补码、移码等。(1)原原码码表表示示法法:是是一一种种比比较较直直观观的的表表示示方方法法,其其符符号号位位表表示示该该数数的的符符号号,“+”用用“0”表表示示,“-”用用“1”表示,而数值部分仍保留着其真值的特征。表示,而数值部分仍保留着其真值的特征。倘检勒涣拐剂枚延雀煽趾闹共簧岭百靶鹊哺鹿呛荧血施府捷偶可枣堑候允第2章数据的表示和运算第2章数据的表示和运算7/23/202468计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表

86、示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(1)原码表示法:)原码表示法:定点小数定点小数的原码形式为的原码形式为x0.x1x2xn,原码定义是:,原码定义是: 式中x是真值 【例2.5】 x=+0.1001,则x原=0.1001 x =-0.1001,则x原=1-(-0.1001)=1+0.1001=1.1001配烬溶侣夏题颗同拇讣履蹭床焕识板咎偏吾秘他询柒灿咨胎售职授疑江酥第2章数据的表示和运算第2章数据的表示和运算7/23/202469计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任

87、腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(1)原码表示法:)原码表示法:定点整数定点整数的原码形式为的原码形式为x0x1x2xn,原码定义是:,原码定义是: 式中x是真值, n是整数位数 【例2.6】 x=+1001, 则x原=01001 x=-1001, 则x原=24-(-1001)=24+1001=11001傀谨熊撅挖刃碰肚佃蕉批插们庐啸赫换现经堂丑讥疤社绿贾咸鄙遮燎返搬第2章数据的表示和运算第2章数据的表示和运算7/23/202470计算机组成与结构计算

88、机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(1)原码表示法:)原码表示法:原码表示法有两个原码表示法有两个特点特点:(1)零的表示有零的表示有“+0”和和“-0”之分,故有两种形式:之分,故有两种形式:+0原原=0.000;-0原原=1.000(2)符号位符号位x0的取值由下式决定:的取值由下式决定:其中其中x是真值。是真值。茎腹地饼秉缔散蹋香肆歪晤沽涉叹夫臆它姑闰揽捻寄霄云赏培诌磺瓣站诲第2

89、章数据的表示和运算第2章数据的表示和运算7/23/202471计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(1)原码表示法:)原码表示法:原码表示法的原码表示法的优点优点:比较直观、简单易懂比较直观、简单易懂;最大最大缺点缺点:加减法运算复杂。例如,当两数相加时,加减法运算复杂。例如,当两数相加时,先要判别两数的符号,如果两数是同号,则相加;先要判别两数的符号,如果两数是同号

90、,则相加;两数是异号,则相减。而进行减法运算又要先比较两数是异号,则相减。而进行减法运算又要先比较两数绝对值的大小,再用大绝对值减去小绝对值,两数绝对值的大小,再用大绝对值减去小绝对值,最后还要确定运算结果的正负号。符号位不能直接最后还要确定运算结果的正负号。符号位不能直接参与运算!参与运算!后面介绍的补码可解决原码的缺点。后面介绍的补码可解决原码的缺点。匣小芥锨稠杖耳抿棋丫算讲耍孙斤垣彪哎顷潜却夸陀睦辕傅名报遮浇阐补第2章数据的表示和运算第2章数据的表示和运算7/23/202472计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷

91、摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(2)补码表示法:)补码表示法:定点小数的补码形式为定点小数的补码形式为x0.x1x2xn,则补码定义:,则补码定义: 【例2.7】 x=+0.1001,则x补=0.1001 x =-0.1001,则x补= 10.0000+(-0.1001)=1.0111 x=0,则+0.0000补=0.0000 -0.0000补=2+(-0.0000)=10.00000-0.0000=0.0000式中式中x是真值是真值补码中的补码中的“零零”只有一种表示形

92、式只有一种表示形式宇磕运婚掇掏节廉牧粘茹扫往雏禄窜惮痒董浪宜差怪瘟冻香彬杀方升究简第2章数据的表示和运算第2章数据的表示和运算7/23/202473计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(2)补码表示法:)补码表示法:对于小数,若对于小数,若x=-1,则根据小数补码定义,则根据小数补码定义,有有x补补=2+X=10.0000-1.0000=1.0000。可见,可见,-1

93、本不属于小数范围,但却有本不属于小数范围,但却有-1补补存在存在.这这是是由由于于补补码码中中的的零零只只有有一一种种表表示示形形式式,故故它它比比原码能多表示一个原码能多表示一个“-1”浓匠弦啄胀蒋伸驯风瞎那然幂恬纳吃党槐拐戚概沃盼排滤腺纽经楼汰鞋有第2章数据的表示和运算第2章数据的表示和运算7/23/202474计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(2)补码表示法

94、:)补码表示法:定点整数定点整数x0x1x2xn,则补码定义:,则补码定义: 【例2.8】 x= +1001,则x补01001 x= -1001,则 x补25+(-1001) 100000-1001=10111式中式中x是真值,是真值,n是整数位数是整数位数鹃八呸攒矾爆嗓威蠢骏上皑询舜焉雪煤烽篓翼暖烂胺檬间巴宛殷晰饶咒翔第2章数据的表示和运算第2章数据的表示和运算7/23/202475计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运

95、算定点数的表示和运算2.2.1定点数的表示定点数的表示(2)补码表示法:)补码表示法:补码表示法进行减法运算要比采用原码形式简单。补码表示法进行减法运算要比采用原码形式简单。对对于于补补码码来来说说,无无论论是是正正数数还还是是负负数数,机机器器总总是是做做加法加法运算。运算。根据补码定义,求负数的补码时要做一次减法运算。根据补码定义,求负数的补码时要做一次减法运算。从从下下面面介介绍绍的的反反码码表表示示法法中中可可以以获获得得求求负负数数补补码码的的简便方法,解决负数的求补问题。简便方法,解决负数的求补问题。贱擅邀扭伦奈侈藏使蝇缆据谰把挛翼巨宝痊橇俘隘侥溪婴题燕军驱忠闸驱第2章数据的表示和

96、运算第2章数据的表示和运算7/23/202476计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(3)反码表示法:)反码表示法:反码表示法中,符号的表示法与原码相同。反码表示法中,符号的表示法与原码相同。正正数数的的反反码码与与正正数数的的原原码码形形式式相相同同;负负数数的的反反码码符符号号位位为为1,数数值值部部分分通通过过将将负负数数原原码码的的数数值值部部分分各各位取反位

97、取反(0变变1,1变变0)得到。得到。蹄瓷娶钟试丈降激镊扇委邹花萝锭勘竣鳞好抿膊被枉饶述埃堪钢躺狄屏矩第2章数据的表示和运算第2章数据的表示和运算7/23/202477计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(3)反码表示法:)反码表示法:定点小数的反码形式为定点小数的反码形式为x0.x1x2xn,反码定义是:,反码定义是:式中式中x是真值,是真值,n是小数位数是小数位数

98、 【例2.9】 x=+0.0110,x反=0.0110 x =-0. 0110,x反=(2-2-4)+x=1.1111-0. 0110=1.1001剁笨厢席灵咀粹漳漏止裁隙像灶果间兴叠咏驱雕勤休拢描蔡揩烹朱砒消蕴第2章数据的表示和运算第2章数据的表示和运算7/23/202478计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(3)反码表示法:)反码表示法:对于对于0,反码有两种表

99、示形式,即,反码有两种表示形式,即+0反反=0.0000-0反反=1.1111萝芜迄茂谬荡尾蜡荔酵玉姐岳暴芜钒窄恫与略忽智捉瓣磕啮墒瀑互头云款第2章数据的表示和运算第2章数据的表示和运算7/23/202479计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(3)反码表示法:)反码表示法:定点整数定点整数x0x1xn,反码定义是:反码定义是:式中式中x是真值,是真值,n是整数位数是

100、整数位数 【例2.10】 x=+1101,x反=01101 x =-1101,x反=(24+1-1)+x=11111-1101=10010消很岸嘿陵庚峪唾脊似祷畔普语驳审女娶才伟戴灭棺堂籍赞听讼灵蔡绞糯第2章数据的表示和运算第2章数据的表示和运算7/23/202480计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(3)反码表示法:)反码表示法:比较小数与整数的反码与补码的公式可

101、得到:比较小数与整数的反码与补码的公式可得到:x补补=x反反+2-n(0x-1)x补补=x反反+1(0x-2-n)若若要要求求一一个个负负数数的的补补码码,其其方方法法是是符符号号位位置置1,其其余余各各位位取取反,然后在最末位上加反,然后在最末位上加1。在计算机中,当用串行电路按位将原码转换成补码形式时在计算机中,当用串行电路按位将原码转换成补码形式时(或反之或反之),经常采取以下方法:,经常采取以下方法:自低位开始转换,从低位向自低位开始转换,从低位向高位,在遇到第高位,在遇到第1个个“1”之前,保持各位的之前,保持各位的“0”不变,第不变,第1个个“1”也不变,以后的各位按位取反,最后保

102、持符号位不变,也不变,以后的各位按位取反,最后保持符号位不变,经历一遍后,即可得到补码。经历一遍后,即可得到补码。悼骆间砒囊坏嗅糊岩镊箕对卢腔技堰竞眺迭操渠挡颂随抹软攒辕饿徊倒却第2章数据的表示和运算第2章数据的表示和运算7/23/202481计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示(4)移码表示法:)移码表示法:移移码码通通常常用用于于表表示示浮浮点点数数的的阶阶码码。

103、阶阶码码是是n位位的的整整数数,假假设设定定点点整整数数移移码码形形式式为为x0x1x2xn时时,移移码的定义是:码的定义是:式中式中x是真值,是真值,n是整数位数是整数位数由移码的定义式可知,对于同一个整数,其移码由移码的定义式可知,对于同一个整数,其移码与其补码与其补码数值位完全相同数值位完全相同,而,而符号位相反。符号位相反。塑乙拙因瞒冀妖隐礼畏剩玩驹蔚蓑吕岿氓劝尾哥浸假急布魏妹胚荧渡禽焚第2章数据的表示和运算第2章数据的表示和运算7/23/202482计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬

104、意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.1定点数的表示定点数的表示【例例2.11】将将十十进进制制真真值值x=-127,1,0,1,127分别表示为分别表示为8位原码、反码、补码、移码值。位原码、反码、补码、移码值。真值原码反码补码移码-12711111111100000001000000100000001-110000001111111101111111101111111-010000000111111110000000010000000+000000000000000000000000010000000+10000000100

105、0000010000000110000001+12701111111011111110111111111111111慢怎庙抗匙镑随凌关镀闯眩李断翱茸晴趴饲朔孕饿节桩似俘藐酶吊眠鼠洪第2章数据的表示和运算第2章数据的表示和运算7/23/202483计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的运算包括移位、加、减、乘、除几种。定点数的运算包括移位、加、减、乘、除几种。1移

106、位运算移位运算对对十十进进制制数数据据,小小数数点点左左移移一一位位相相当当于于数数据据缩缩小小10倍,右移一位相当于数据放大倍,右移一位相当于数据放大10倍。倍。计计算算机机中中数数据据以以二二进进制制形形式式存存储储,且且小小数数点点的的位位置置是是固固定定的的,二二进进制制表表示示的的机机器器数数在在相相对对于于小小数数点点做做n位左移或右移时,其实质是该数乘以或除以位左移或右移时,其实质是该数乘以或除以2n。移移位位运运算算对对计计算算机机有有很很高高的的实实用用价价值值,用用移移位位指指令令对数据进行放大或缩小,比乘除运算要快得多。对数据进行放大或缩小,比乘除运算要快得多。恫贿呛折霞

107、材账猎慑谬吭先昔砍默挚奄吧条名送至舜财厌困铃第荔糟渔崔第2章数据的表示和运算第2章数据的表示和运算7/23/202484计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的运算包括移位、加、减、乘、除几种。定点数的运算包括移位、加、减、乘、除几种。1移位运算移位运算移位运算分为移位运算分为逻辑移位逻辑移位、算术移位算术移位和和循环移位循环移位三种。三种。主要区别:主要区别:符

108、号位和移出的数据位的处理方法不同。符号位和移出的数据位的处理方法不同。与与手工移位运算不同,计算机移位寄存器字长固定,当进手工移位运算不同,计算机移位寄存器字长固定,当进行左移和右移时,寄存器最低位和最高位会出现空余位,行左移和右移时,寄存器最低位和最高位会出现空余位,最高位和最低位相应地也会被移出,对空出的空位应该最高位和最低位相应地也会被移出,对空出的空位应该填补填补0还是还是1,这与移位种类和机器数编码方法有关。,这与移位种类和机器数编码方法有关。兹进藩愁憎秘谤穗选匈帝踌辜逢闸牵浩睁亥重悸痴祸钩羔修草陕接缩越贼第2章数据的表示和运算第2章数据的表示和运算7/23/202485计算机组成与

109、结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算逻辑移位逻辑移位逻逻辑辑移移位位的的对对象象是是无无符符号号数数,移移位位结结果果只只是是数数据据各各位位在位置上发生了变化。在位置上发生了变化。移移位位规规则则:逻逻辑辑左左移移时时,高高位位移移出出,低低位位补补0;逻逻辑辑右右移移时时,低低位位移移出出,高高位位补补0。移移出出数数据据位位一一般般置置入入标标志志位位C(进位(进位/借位标

110、志)。移位规则如图借位标志)。移位规则如图2.5所示所示如如寄寄存存器器内内容容为为01010011,逻逻辑辑左左移移为为10100110,逻逻辑右移为辑右移为0010100。图 2.5 逻辑移位规则剿桔伴碾捕婚庞牧猖品辐众沃棋睛恕虏葛期肥叮瑞掘徐绷仰瓦饲缅沂鸽窿第2章数据的表示和运算第2章数据的表示和运算7/23/202486计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算算术

111、移位算术移位算算术术移移位位对对象象是是带带符符号号数数,移移位位结结果果是是在在数数值值的的绝绝对值上进行放大或缩小,同时对值上进行放大或缩小,同时符号位须保持不变符号位须保持不变。对对原原码码,算算术术左左移移,符符号号位位不不变变,高高位位移移出出,低低位位补补0;算术右移,符号位不变;算术右移,符号位不变,低位移出低位移出,高位补高位补0。对对补补码码,算算术术左左移移,符符号号位位不不变变,高高位位移移出出,低低位位补补0。当当左左移移移移出出的的数数据据位位正正数数为为1,负负数数为为0时时发发生生溢溢出出。因因此此,为为保保证证补补码码算算术术左左移移时时不不发发生生溢溢出出,移

112、位的数据最高有效位必须与符号位相同移位的数据最高有效位必须与符号位相同。呕悸歼嗡鞋脖将乎舞刷搁弘渺斤玩鼓琴户盘媚婆弛妊衬名怂城祥耙已践抬第2章数据的表示和运算第2章数据的表示和运算7/23/202487计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算算术移位算术移位算术右移算术右移时,符号位不变,低位移出,高位正数补时,符号位不变,低位移出,高位正数补0,负数补,负数补1。补码的

113、移码规则如图。补码的移码规则如图2.6所示。所示。反码的算术移位规则反码的算术移位规则:算术左移时,最高有效位移:算术左移时,最高有效位移入符号位,低位正数补入符号位,低位正数补0,负数补,负数补1;算术右移时,;算术右移时,符号位不变,高位补符号位,低位移出。符号位不变,高位补符号位,低位移出。图 2.6 补码的算术移位规则规则逾其斜净豢溜宿俘厅娟碴徊幸并塞曹刷迢彰平惹堕助陈襟狭区矮琅蛹戳示第2章数据的表示和运算第2章数据的表示和运算7/23/202488计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意

114、十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算循环移位循环移位循环移位是指所有的数据位在自身范围内进行左移循环移位是指所有的数据位在自身范围内进行左移或者右移,或者右移,左移时最高位移入最低位左移时最高位移入最低位,右移时最低右移时最低位移入最高位位移入最高位。若与若与CF标志位一起循环,称为标志位一起循环,称为大循环大循环,否则,称,否则,称为为小循环小循环。【例【例2.12】已知已知X=+13,Y=-13,分别采用,分别采用6位原码、位原码、补码、反码移位规则,求补码、反码移位规则,求X/2,2X,Y/2,2

115、Y的值。的值。喉哆栈甭捆遁刃贵菱舒躲茬鬃谜潞逗婉漠先困焉昭文悯叮焉戍嫡吻士贤迎第2章数据的表示和运算第2章数据的表示和运算7/23/202489计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算解:解:X原原=001101,X/2原原=00110X/2=+62X原原=0110102X=+26X补补=001101,X/2补补=00110X/2=+62X补补=0110102X=+26X反反=001101,X/2反反=00110X/2=+62X反反=011010

116、2X=+26Y原原=101101,Y/2原原=100110Y/2=-62Y原原=1110102Y=-26Y补补=110011,Y/2补补=111001Y/2=-72Y补补=1001102Y=-26Y反反=110010,Y/2反反=111001Y/2=-62Y反反=1001012Y=-26藉爬痢焰寡祸巧驮旋绢条荧虑梆祖产窘谤随诸疫仰炼包德遇净丈讶遥坐嗡第2章数据的表示和运算第2章数据的表示和运算7/23/202490计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表

117、示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算在计算机中,在计算机中,加法运算加法运算过程和手工笔算是一样的:过程和手工笔算是一样的:按从左到右的顺序一位一位地求和,并将进位累加按从左到右的顺序一位一位地求和,并将进位累加到左侧相邻的高位。而到左侧相邻的高位。而减法是通过加法来实现减法是通过加法来实现:先:先将减数求补,然后加上被减数。目前的计算机系统将减数求补,然后加上被减数。目前的计算机系统普遍采用补码实现定点数的加减运算,在浮点数的普遍采用补码实现定点数的加减运算,在浮点数的运算中,采用移码实现阶码的加减法运算。运

118、算中,采用移码实现阶码的加减法运算。补码加减运算方法补码加减运算方法补码加减法运算的溢出判断补码加减法运算的溢出判断郁澡皑尝嘿渔嫌棕促朗羚入铁磕为幻烹审骆缨疹锭逼隙隶覆菜汰滑宝蒜罕第2章数据的表示和运算第2章数据的表示和运算7/23/202491计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算方法补码加减运算方法补码加法的补码加法

119、的基本公式基本公式如下:如下:整数整数A补补+B补补=A+B补补(mod2n+1)(2.36)小数小数A补补+B补补=A+B补补(mod2) (2.37)补补码码表表示示的的两两个个数数进进行行加加法法运运算算时时,可可把把符符号号位位与与数数值值位位同同等等处处理理,只只要要结结果果不不超超出出机机器器能能表表示示的的数数值值范范围围,运运算算后后结结果果按按2n+1去去模模(对对于于整整数数)或或按按2去模去模(对于小数对于小数),就能得到本次加法运算结果。,就能得到本次加法运算结果。加庚荧睹汤馁怯途栋帚营花诚橇田痉泣脱胳娇羽缅肢盆惧佑驼坏宫悠彭黍第2章数据的表示和运算第2章数据的表示和运

120、算7/23/202492计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算方法补码加减运算方法对对于于减减法法,因因A-B=A+(-B),则则A-B补补=A+(-B)补补。由补码加法的基本公式可得:由补码加法的基本公式可得: 整数整数A-B补补=A补补+-B补补(mod2n+1)(2.38) 小数小数A-B补补=A补补+-B补补(m

121、od2)(2.39)补补码码的的减减法法运运算算可可用用加加法法来来表表示示,任任意意两两数数之之差差的的补码等于补码等于被减数的补码与减数相反数的补码之和。被减数的补码与减数相反数的补码之和。止臂戏茨衍啸日谍诸贮诸谩艘酣曾惜汾吴谗赚刃太头轻昨零砚援违崭郑脉第2章数据的表示和运算第2章数据的表示和运算7/23/202493计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加

122、减法运算定点数的加减法运算-补码加减运算方法补码加减运算方法【例【例2.13】已知已知A=+1011,B=-0100,用补码计算,用补码计算A+B和和A-B。解:解:A补补=01011,B补补=11100,-B补补=0100。A+B补补=00111,A-B补补=01111,所以,所以A+B=+7,A-B=+15宴摇仙预佯剿茨核兆楚茅雇疼寓揍顿膘糊矩诱着摇舅捌瓮寂胀犁呐话孽爆第2章数据的表示和运算第2章数据的表示和运算7/23/202494计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的

123、表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断当运算结果超出机器数的表示范围时,称为当运算结果超出机器数的表示范围时,称为溢出溢出。仅仅当当两两个个同同号号数数相相加加或或两两个个异异号号数数相相减减时时,才才有有可可能能发发生生溢出溢出。下面举例说明溢出的情况。下面举例说明溢出的情况。【例【例2.14】(1)A=+1000,B=+1001,用补码计算,用补码计算A+B(2)A=-1000,B=-1001,用补码计算,用补码计算A+B(3)A=-1000,

124、B=+1001,用补码计算,用补码计算A-B(4)A=+1000,B=-1001,用补码计算,用补码计算A-B绥揽臣擦擞皑苟倒纫挂篱手恳慢诲暴惧稼扁晃傈似铝募氦掐恃迢仇兆雪阐第2章数据的表示和运算第2章数据的表示和运算7/23/202495计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算(1)A=+1000,B=+1001解:解:A补补=A=01000B补补=B=01001(2)A=-1000,B=-1001解:解:A补补=25+(-1000)=1100

125、0B补补=25+(-1001)=10111(3)A=-1000,B=+1001 解: A补=11000 -B补=10111(4)A=+1000,B=-1001解:解:A补补=01000B补补=01001闽绦匝各歌瓷澈长鞍谈鼎硫叭懦武示藻哉散跨休熙考许亡沁倦猩蔑孟注缎第2章数据的表示和运算第2章数据的表示和运算7/23/202496计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定

126、点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断【例【例2.14】中,】中,(1)的运算结果为的运算结果为-15,(2)的运算结果为的运算结果为+15,(3)的运算结果为的运算结果为-17,(4)的运算结果为的运算结果为+17。(1)为两正数相加,结果应为正数,运算结果却为负数,因为两正数相加,结果应为正数,运算结果却为负数,因此发生了正溢出;此发生了正溢出;(2)为两负数相加,结果应为负数,运算结果却为正数,因为两负数相加,结果应为负数,运算结果却为正数,因此发生了负溢出;此发生了负溢出;(3)为负数减去正数,结果为负数,运算结果却为正数,同为负数减去正数,结果为

127、负数,运算结果却为正数,同样发生了负溢出;样发生了负溢出;(4)为正数减去负数,结果应为正数,运算结果却为负数,为正数减去负数,结果应为正数,运算结果却为负数,表明发生了正溢出。表明发生了正溢出。以上以上4题均发生了溢出,结果不正确。题均发生了溢出,结果不正确。挫穆居魁宵烈挥裸卿琉谍窄瘴踌孽戊霉县贤麓呢优净跌倦雍凭粳夷硫伦卖第2章数据的表示和运算第2章数据的表示和运算7/23/202497计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示

128、和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断计算机中常用的判别溢出方法可归纳为三种计算机中常用的判别溢出方法可归纳为三种:单符号位判断方法单符号位判断方法进位溢出判断进位溢出判断双符号位判断溢出双符号位判断溢出港保昔袁悍皆痴无疆铃滋拱赃腿必网怠舵公肺谊袄组敖乳目靛渔矿穿断赤第2章数据的表示和运算第2章数据的表示和运算7/23/202498计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算

129、第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断单符号位判断方法:单符号位判断方法:表表2.10补码加减法运算时发生溢出的补码加减法运算时发生溢出的4种基本情况种基本情况运算操作数A操作数B运算结果SA+B正数正数负数A+B负数负数正数A-B负数正数正数A-B正数负数负数闷扩浚婪助业敏珐扇泻采锨瓷搅专侥汤沿励载净静亦盒踏铃遂千取助帅后第2章数据的表示和运算第2章数据的表示和运算7/23/202499计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据

130、的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断单符号位判断方法:单符号位判断方法:表表2.10中操作数和运算结果的正负是由其补码符号中操作数和运算结果的正负是由其补码符号位指出的。假设:位指出的。假设:fA为操作数为操作数A补码的符号位,补码的符号位,fB为操作数为操作数B补码的符号位,补码的符号位,fS为运算结果为运算结果S补码的符补码的符号位。号位。为控制加减运算的

131、控制信号。为控制加减运算的控制信号。则则溢出信号溢出信号OVER的表达式的表达式为:为:赏漠必算牡噪操攀凤生韶缩完制蛀约蔽婆东卢芥柑屿注乱务两工羡拦然驮第2章数据的表示和运算第2章数据的表示和运算7/23/2024100计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断进位溢出判断进位溢出判断:当当任意符

132、号任意符号两数相加时,如果数值最高有效位的进两数相加时,如果数值最高有效位的进位位C和符号位的进位和符号位的进位Cf相同时运算结果正确,不同相同时运算结果正确,不同时,加减运算将发生溢出。所以溢出条件为时,加减运算将发生溢出。所以溢出条件为价呜悲户疽弱径佐消丈伐义寡扔舜摩纵岛鼻纸光悯汤试韧罗骄竞韦揭沛堪第2章数据的表示和运算第2章数据的表示和运算7/23/2024101计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和

133、运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断双符号位判断溢出双符号位判断溢出:双符号位判溢方法的运算规则是操作数双符号位判溢方法的运算规则是操作数A和和B采用采用双符号位补码参加运算,正数的双符号位为双符号位补码参加运算,正数的双符号位为00,负,负数的双符号位为数的双符号位为11。当运算结果的。当运算结果的两位符号位两位符号位fS1和和fS2不相同不相同时,为溢出。所以溢出条件为时,为溢出。所以溢出条件为坝遭冲幽踪废汽镑薛缘婉提简宁彩涡祭影例迈签输打屉叭讼邪涟械康个荚第2章数据的表示和运算第2章数据的表示和运算7/23/

134、2024102计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的加减法运算定点数的加减法运算-补码加减运算溢出判断补码加减运算溢出判断双符号位判断溢出双符号位判断溢出: 例: (1)9+5=14 (2) 12+7=190 0 1 0 0 1 0 0 1 1 0 0 + 0 0 0 1 0 1+ 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 1C=Cf=

135、0 不溢出, C=1,Cf=0溢出,或fS1=fS2 不溢出 或fS1fS2溢出 裔抖绸抿牵奢贰扑朵州魏睡藻酱雀肃汐焉滔贪枕造碾猪束参者腺阿悸募豪第2章数据的表示和运算第2章数据的表示和运算7/23/2024103计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-原码乘法运算原码乘法运算两个原码数相乘,其乘积的符号为相乘两数的符号两个原码数相乘,其

136、乘积的符号为相乘两数的符号位异或值,数值则为两数绝对值之积。位异或值,数值则为两数绝对值之积。假设假设X原原=X0X1X2XnY原原=Y0Y1Y2Yn则则XY原原=(X0 Y0)(X1X2Xn)(1Y2Yn)符号表示把符号位和数值邻接起来符号表示把符号位和数值邻接起来禁舀董娃绊贴倔色我凄反瞳椒泪睹绍浦抡挣恃非矛诊弓看驱妥惮哥枉苔密第2章数据的表示和运算第2章数据的表示和运算7/23/2024104计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算手工计算乘

137、积手工计算乘积XY,其中,其中X=+1101,Y=+1011110110111101即即XY=10001111,符号为正。,符号为正。11010000110110001111计计算算时时,逐逐次次按按乘乘数数每每1位位上上是是1还还是是0,决决定定相相加加数数取取被被乘乘数值还是取零值,且相加数逐次向左偏移数值还是取零值,且相加数逐次向左偏移1位,最后求积。位,最后求积。2.2 定点数的表示和运算 2.2.2 定点数的运算定点数的乘法运算-原码乘法运算晾呕离药庇枝昌识骏疼辕签矩垂银殷阅芦隋评秒宇俭攫洼渗涵萍退灶粟釜第2章数据的表示和运算第2章数据的表示和运算7/23/2024105计算机组成与

138、结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-原码乘法运算原码乘法运算计算机内实现原码乘法计算机内实现原码乘法在人工计算基础上作了以下修改:在人工计算基础上作了以下修改:(1)在在机机器器内内一一次次加加法法操操作作只只能能求求出出两两数数之之和和,每每求求得得一一个个相相加数,就与上次部分积(即中间结果)相加。加数,就与上次部分积(即中间结果)相加。(2

139、)求求本本次次部部分分积积时时,前前一一次次部部分分积积的的最最低低位位,不不再再参参与与运运算算,将将其其右右移移一一位位,相相加加数数可可直直送送而而不不必必偏偏移移,于于是是用用N位位加加法器就可实现两个法器就可实现两个N数相乘。数相乘。(3)部部分分积积右右移移时时,乘乘数数同同时时右右移移一一位位,用用乘乘数数的的最最低低位位来来控控制制相相加加数数(取取被被乘乘数数或或零零),同同时时乘乘数数的的最最高高位位是是部部分分积积右右移出来的一位。移出来的一位。定侩困否窑藐哇断凹见芜狱亮奖跺鞋震烛率探辨粹陈抠歉匀脱倚非晶汀坍第2章数据的表示和运算第2章数据的表示和运算7/23/20241

140、06计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-原码乘法运算原码乘法运算原码一位乘法的逻辑框图如图原码一位乘法的逻辑框图如图2.7所示。其中三个所示。其中三个寄存器寄存器A,B,Q分别存放部分积、被乘数和乘数。分别存放部分积、被乘数和乘数。鼓音始闭恰栅瞥莹宙酋心壳兹衰齿疲丙落男战该焰穷铸幕待漓今兹远叁鸣第2章数据的表示和运算第2章数据的表示和

141、运算7/23/2024107计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算部分积部分积乘数乘数0000001011+X001101001101右移右移1位位0001101101 1(丢失丢失)+X001101010011右移右移1位位0010011110 1(丢失丢失)+0000000001001右移右移1位位0001001111 0(丢失丢失)+X001101010001右移右移1位位00100011111(丢失丢失)乘积高位乘积高位乘积低位乘积低位

142、【例【例2.15】设设X=0.1101,Y=0.1011,用原码一位乘计算,用原码一位乘计算XY。解:解:计算过程如下:取双符号位计算过程如下:取双符号位XY=0.10001111乘积的符号位乘积的符号位=X0 Y0=0 0=0拴碘恼呸媚氮鸿舷构牡击汝驯痉戌鼠顷档瓦疾逮迈兹剥噬侨楚虚妹伊芳焰第2章数据的表示和运算第2章数据的表示和运算7/23/2024108计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.

143、2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-原码乘法运算原码乘法运算原码一位乘是通过循环迭代的办法实现的。每次迭代得到原码一位乘是通过循环迭代的办法实现的。每次迭代得到的部分积的部分积(P0,P1,,Pn)可用下式表示:可用下式表示:P0=0P1=(P0+XYn)2-1P2=(P1+XYn-1)2-1Pi+1=(Pi+XYn-i)2-1Pn=(Pn-1+XY1)2-1(2.43)式中式中Pn为乘积,为乘积,2-1表示二进制数据右移一位,相当于乘以表示二进制数据右移一位,相当于乘以2-1瘤柏捅鞘谢耸泡询免澎呢堑哨苔氢舜遇监忻毫锑懂歹悸辱亡锣鲤缄脂卵勋第2章数据的表示和运算第2章数

144、据的表示和运算7/23/2024109计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-定点补码一位乘法定点补码一位乘法由于计算机中的数据多以补码形式存放,虽然原码由于计算机中的数据多以补码形式存放,虽然原码乘法相对简单,但为减少原码和补码之间的转换步乘法相对简单,但为减少原码和补码之间的转换步骤,许多机器仍采用补码实现乘法运算骤,许多机器仍采用补

145、码实现乘法运算。本节介绍两种定点补码一位乘法:校正法和本节介绍两种定点补码一位乘法:校正法和Booth算法。算法。俏栖蒋浆敛仇浪村幻溜蛛痛盟兢拉硬靴欺解八临禄亲榴识雪并惦土刁霞叹第2章数据的表示和运算第2章数据的表示和运算7/23/2024110计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-定点补码一位乘法定点补码一位乘法补码一位乘法补码一位乘

146、法校正法校正法假设假设X补补=X0.X1.Xn,Y补补=Y0.Y1Yn,则有,则有:XY补补=X补补(0.Y1Yn)+Y0-X补补(2.44)证明证明:(1)被乘数被乘数X的符号任意,的符号任意,Y为正数时为正数时,有,有X补补=2+X=(2n+1+X)()(mod2),),Y补补=Y则:则:X补补Y补补=(2n+1+X)Y=2n+1Y +XY(mod2)=2n+1(0.Y1Yn)XY(mod2)=2(Y1Yn)+XY(mod2)=2+XY=XY补补即:即:Y0时,时,XY补补=X补补(0.Y1Yn)减懊酉控峻烂剿撒毙颈浑错蚤摇骗虱赢邹痞直逊通顷录谭壹沼把铣芦扰钡第2章数据的表示和运算第2章数

147、据的表示和运算7/23/2024111计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点数的乘法运算定点数的乘法运算-定点补码一位乘法定点补码一位乘法证明证明(续续):(2)被乘数被乘数X的符号任意,的符号任意,Y为负数为负数:Y补补=2+Y=1.Y1Yn则:则:Y=Y补补-2=1.Y1Yn-2=0.Y1Yn-1XY补补=X(0.Y1Yn-1)补补=X(0.Y1Yn)-X补补=

148、X(0.Y1Yn)补补+-X补补因因0.Y1Yn0,故:,故:X(0.Y1Yn)补补=X补补(0.Y1Yn)所以,所以,Y00时时,可可上上商商为为1 1,再再对对RiRi左左移移一一位位后后减减除数,即除数,即2 2RiRi- -Y Y;当余数当余数RiRi00时,可上商为时,可上商为0 0,再对,再对RiRi+ +Y Y, ,即完成恢复即完成恢复余数的运算,再做余数的运算,再做2(2(RiRi+ +Y Y)-)-Y Y, ,即即2 2RiRi+ +Y Y。危侗仔绥菱丛宦韩乔渍铂浊籍央嘿靳湾另砒争酗涅瞻捞机燃铡绒辨绎挑灭第2章数据的表示和运算第2章数据的表示和运算7/23/2024134计算

149、机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点除法运算定点除法运算-定点原码一位除法(加减交替法)定点原码一位除法(加减交替法)加加减减交交替替法法是是对对恢恢复复余余数数除除法法的的一一种种修修正正。当当某某一一次次求求得得的的差差值值(余余数数Ri)为为负负时时,不不是是恢恢复复它它,而而是是继继续续求求下下一一位位商商,但但用用加加上上除除数数(+Y)的的办办法法来来取取

150、代代(-Y)操操作作,其其他他操操作作依依然然不不变。变。加减交替法的规则加减交替法的规则如下:如下:(1)当当余余数数为为正正时时,商商上上1,求求下下一一位位商商的的办办法法,是是余余数数左左移一位移一位,再,再减去除数减去除数;(2)当当余余数数为为负负时时,商商上上0,求求下下一一位位商商的的办办法法,是是余余数数左移一位左移一位,再,再加上除数加上除数。此此方方法法不不用用恢恢复复余余数数,所所以以又又叫叫不不恢恢复复余余数数法法。但但若若最最后后一一次次上上商商为为0,而而又又需需得得到到正正确确余余数数,则则在在这这最最后后一一次次仍仍需需恢复余数恢复余数。蠢节钡秉厄抱滩你傲手浊

151、兄越脯绕掂小识伴柳举凿酣逞屁寂馁多拈替左鹃第2章数据的表示和运算第2章数据的表示和运算7/23/2024135计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算【例【例2.21】X=0.1011,Y=0.1101,用加减交替法求用加减交替法求X/Y。解解:-Y补补=11.0011,取取双双符符号位,号位,-Y用用+-Y补补取代。取代。X/Y=0.1101,余数余数0.01112-4。疙点袜涎魔躇惠叫焦慷赵除唤及吝鲁妆蒲走逆甸贸守紧蹿缮扣膏摊朗聚拆第2章数据

152、的表示和运算第2章数据的表示和运算7/23/2024136计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点除法运算定点除法运算-定点补码一位除法(加减交替法)定点补码一位除法(加减交替法)从从X补补与与Y补补直接求直接求X/Y补补。补码除法规则比原码除法规则复杂。当除数和被除数用补补码除法规则比原码除法规则复杂。当除数和被除数用补码表示时,码表示时,判别是否够减判别是否够减,

153、要比较它们的绝对值的大小,要比较它们的绝对值的大小若两数若两数同符号同符号,要用,要用减减法,若法,若异号异号,则要用,则要用加加法法。对于判断是否够减,及确定本次上商对于判断是否够减,及确定本次上商1还是还是0的规则,还与的规则,还与结果的符号有关。结果的符号有关。当当商为正商为正时,商的每一位上的值与原码表示一致;当时,商的每一位上的值与原码表示一致;当商为商为负负时,商的各位应是补码形式的值,一般时,商的各位应是补码形式的值,一般先按各位的反码先按各位的反码值上商值上商,除完后除完后,再用在最低位上加再用在最低位上加1的办法求出正确的补的办法求出正确的补码值码值。颈性陨妻娄味去茂兔木驻版

154、措享搏郭竭崎掘起窥阳古饼轰戳景依锭莲淑锹第2章数据的表示和运算第2章数据的表示和运算7/23/2024137计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点除法运算定点除法运算-定点补码一位除法(加减交替法)定点补码一位除法(加减交替法)在被除数的绝对值小于除数的绝对值在被除数的绝对值小于除数的绝对值(即商不溢出即商不溢出)的情况下,的情况下,补补码一位除法的运算规则码一位除

155、法的运算规则如下:如下:(1)如果被除数与除数如果被除数与除数同号同号,用被除数,用被除数减减去除数;去除数;如果被除数与除数如果被除数与除数异号异号,用被除数,用被除数加加上除数。上除数。如果所得如果所得余数与除数同号余数与除数同号上上商商1,如果所得如果所得余数与除数异号余数与除数异号上上商商0,该商即为该商即为结果的符号位结果的符号位。(2)求商的数值部分。求商的数值部分。如果如果上次上商上次上商1,将,将余数左移一位余数左移一位后后减减去除数;去除数;如果如果上次上商上次上商0,将,将余数左移一位余数左移一位后后加加上除数。上除数。如果所得如果所得余数与除数同号余数与除数同号上上商商1

156、;如果所得如果所得余数与除数异号余数与除数异号上上商商0。如此重复执行如此重复执行n-1次次(设数值部分设数值部分n位位)酗峪勉像羞眨斧匿戊坡磅撇懈燃潦奋咎财墨挠愿陪癸处其攫范诀恒刀聪聊第2章数据的表示和运算第2章数据的表示和运算7/23/2024138计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点除法运算定点除法运算-定点补码一位除法(加减交替法)定点补码一位除法(加减交

157、替法)商商的的最最后后一一位位一一般般采采用用恒恒置置1的的办办法法,并并省省略略了了最最低低位位+1的的操操作作,此此时时最最大大误误差差为为2-n。如如果果对对商商的的精精度度要要求求较较高高,则则可可按按规规则则再再进进行行一一次次操操作作并并执执行行加加Y补补或或加加-Y补恢复余数,以求得商的第补恢复余数,以求得商的第n位。位。当当除不尽除不尽时时:若商为若商为正正,商的最低位,商的最低位不加不加1;若商为若商为负负,商的最低位,商的最低位加加1,使商从反码值变成补码值。使商从反码值变成补码值。当当能除尽能除尽时:若除数为时:若除数为正正,商的最低位,商的最低位不加不加1若除数为若除数

158、为负负,商的最低位,商的最低位加加1录淑鲍杠虎凌抉拯翟豌擦廉串奠坠辽携郭睹八腻撇腺迫委凑五极已婶灼散第2章数据的表示和运算第2章数据的表示和运算7/23/2024139计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.2定点数的表示和运算定点数的表示和运算2.2.2定点数的运算定点数的运算定点除法运算定点除法运算-定点补码一位除法(加减交替法)定点补码一位除法(加减交替法) 表2.14 补码除法规则(ri补为余数,数值部分共n位) X补,Y补符号商符第

159、一步操作r补,Y补符号上商下一步操作(共n步)同号0减同号(够减)异号(不够减)102ri补-Y补2ri补+Y补异号1加同号(不够减)异号(够减)102ri补-Y补2ri补+Y补说明说明:(1)表中表中i=0n-1。(2)商一般采用商一般采用末位恒置末位恒置“1”的方法,操作简便。的方法,操作简便。恰沾叁需偶噶细叫倾憋敷施噎侈同篓吃入事虚玖巴柠劫翻己宽砚今就辕鼻第2章数据的表示和运算第2章数据的表示和运算7/23/2024140计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算

160、第2章数据的表示和运算例例2.22设设X补补=1.0111,Y补补=1.0011,求,求X/Y补补。解:解:-Y补补=0.1101X/Y补补=0.1011, 余数余数补补=1.11112-4。n如果如果上次上商上次上商1,将余数左,将余数左移一位后移一位后减减去除数;去除数;n如果如果上次上商上次上商0,将余数左,将余数左移一位后移一位后加加上除数。上除数。u如果所得余数与除数如果所得余数与除数同号同号上商上商1;u如果所得余数与除数如果所得余数与除数异号异号上商上商0。如此重复执行如此重复执行n-1次次(设数值部分有设数值部分有n位位)。润蜘稠能娃嘲滨笺秩诧保忻煮酗哗疽梯顷筛霞础体钮身雁蛮品

161、凶藏吹班捷第2章数据的表示和运算第2章数据的表示和运算7/23/2024141计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算被除数被除数(余数)余数)商商说明说明11011100000开始情形+00110100010000001余数与除数同号商1001000000102.上次商1做减法+-Y补补+110011111011+001101000011111001左移一位00010左移一位110110001003.上次商0,+Y补00101同号,商10001

162、1001010左移一位+1100110101011001010101左移,商低位恒置1异号,商01.两数异号,+Y补余数与除数异号商04.上次商1做减法+-Y补补 例 设X补=1.0111,Y补=0.1101,求X/Y补=1.0101线祝患崇蹋矮寺裴培栋悯铺娥犯鸳缉演捕腿捞濒任激隆置郧欣搀骋疑仇衍第2章数据的表示和运算第2章数据的表示和运算7/23/2024142计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2

163、.3.1浮点数的表示浮点数的表示浮浮点点数数:小小数数点点在在数数据据中中的的位位置置可可浮浮动动的的数数据据通通常常表表示为:示为:N=M2E其其中中,N是是浮浮点点数数,M是是浮浮点点数数的的尾尾数数,R为为阶阶码码的的基基数数,E为为阶阶码码。计计算算机机中中一一般般规规定定R为为2、8或或16,是是一一个确定的常数,不需要在浮点数中明确表示出来。个确定的常数,不需要在浮点数中明确表示出来。浮浮点点数数的的尾尾数数M通通常常用用定定点点小小数数形形式式表表示示,一一般般采采用用原原码码和和补补码码表表示示。它它决决定定了了浮浮点点数数的的表表示示精精度度,尾尾数数的的符号代表浮点数的正负

164、,因此,又称为数符符号代表浮点数的正负,因此,又称为数符Ms。浮浮点点数数的的阶阶码码E,通通常常用用整整数数形形式式表表示示,它它表表示示小小数数点点在在数数据据中中的的位位置置,决决定定了了浮浮点点数数的的表表示示范范围围。阶阶码码一一般采用般采用移码移码和和补码补码表示。表示。鞋悍收讯院妙页启形沦谐斯迢领袄页稼是泰舟户精健旬惶嗜松芹俐溺触怪第2章数据的表示和运算第2章数据的表示和运算7/23/2024143计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示

165、和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数的表示浮点数的表示在机器中,为了便于比较浮点数的大小,典型的浮在机器中,为了便于比较浮点数的大小,典型的浮点数的格式通常点数的格式通常将数符放置在浮点数的首位将数符放置在浮点数的首位,将阶,将阶码放置在尾数之前,如图码放置在尾数之前,如图2.9所示所示。阑母暖蜂篷肩炎浙步挠适聂埃奏拼姆央胎呢黔机宇瘩巷岔遂裴喳乌寡锻独第2章数据的表示和运算第2章数据的表示和运算7/23/2024144计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2

166、章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数的表示浮点数的表示1985年,年,IEEE提出浮点数标准提出浮点数标准(IEEE754Floating-pointStandard)。该标准规定常用。该标准规定常用3种浮点数格式,基数为种浮点数格式,基数为2,位,位数分配如表数分配如表2.15,各位排列如图,各位排列如图2.5所示。所示。类型总位数数符MS尾数数值位ME阶符ES阶码数值位E真值计算单精度浮点数3212317(1)双精度浮点数64152110(2)临时实数80164114注:(注:(1)(2)涧预殷肝棠恒柒委汞社你摊渔霍建蛛姓忙甄植

167、瘸钞来困雪虎亚雄界董蔷弟第2章数据的表示和运算第2章数据的表示和运算7/23/2024145计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数的表示浮点数的表示上表中单精度浮点数和双精度浮点数的阶码采用上表中单精度浮点数和双精度浮点数的阶码采用移移码码形式表示。形式表示。与前面介绍的移码与前面介绍的移码不同之处在于不同之处在于:它的移量不是:它的移量不是27和和210,而是,而是27-1=127和和

168、210-1=1023。另外,尾数采用原码形式表示,根据原码的规格化另外,尾数采用原码形式表示,根据原码的规格化方法,最高数字位总是方法,最高数字位总是“1”,将规格化浮点数尾数,将规格化浮点数尾数的最高位的最高位“1”省略,认为它隐藏在尾数小数点的左省略,认为它隐藏在尾数小数点的左边,即采用隐藏位,从而使有效位数增加边,即采用隐藏位,从而使有效位数增加1位位。劳轧镐赶诽悼戎瓦蕉惫喧制悟坛秋羌蔡旺既椰雨忻何瓣跋新后淹难沽啊月第2章数据的表示和运算第2章数据的表示和运算7/23/2024146计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀

169、贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数的表示浮点数的表示为了充分利用尾数的二进制数位来表示更多的有效为了充分利用尾数的二进制数位来表示更多的有效数字,通常采用数字,通常采用规格化规格化的形式表示。若阶码的基数的形式表示。若阶码的基数为为2,则规格化浮点数的尾数,则规格化浮点数的尾数M应满足应满足1/2|M|1规格化的方法:规格化的方法:(1)对于)对于原码的表示的尾数原码的表示的尾数,当,当最高有效位最高有效位(M1)为为1时,浮点数为规格化,即尾数为时,浮点数为规格化,即尾数为*.1*的形

170、式。的形式。(2)对于)对于补码表示的尾数补码表示的尾数,当,当符号位符号位(Ms)与最高与最高有效位有效位(M1)不同不同时,浮点数为规格化,即尾数为时,浮点数为规格化,即尾数为0.1*或或1.0*的形式。的形式。绎函殃决诀竣地春银法倍北晒岭堆打姨氖格辗掉桌撵仅奎猫杨杰楔呢街婉第2章数据的表示和运算第2章数据的表示和运算7/23/2024147计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数的表

171、示浮点数的表示对原码和补码表示的尾数,规格化浮点数要求的尾数对原码和补码表示的尾数,规格化浮点数要求的尾数表示范围不同。对规格化浮点数,可通过修改阶码和表示范围不同。对规格化浮点数,可通过修改阶码和左右移尾数方法来使其变成规格化浮点数,这个过程左右移尾数方法来使其变成规格化浮点数,这个过程称为为称为为规格化规格化。若尾数进行右移实现规格化,称为右。若尾数进行右移实现规格化,称为右规规;若尾数左移实现规格化,称为;若尾数左移实现规格化,称为左规左规。对原码表示的尾数,当最高有效位为对原码表示的尾数,当最高有效位为0时,须进行左规,时,须进行左规,尾数每左移尾数每左移1位,阶码减位,阶码减1,直至

172、尾数变成,直至尾数变成.1.形式;形式;对补码表示的尾数,当符号位与最高有效位相同时,对补码表示的尾数,当符号位与最高有效位相同时,也须进行左规,即尾数每左移也须进行左规,即尾数每左移1位,阶码减位,阶码减1,直至把,直至把尾数中第一个不同于符号位的尾数中第一个不同于符号位的0或者或者1移至最高有效位,移至最高有效位,变成变成0.1.或或1.0.形式。形式。醒哆翅病佐汁灌孙砸莱堡堡凋森搅哉懂琵蔬秀瘴臭映凯类熟对虚毛哦馋兽第2章数据的表示和运算第2章数据的表示和运算7/23/2024148计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾

173、凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算例例2.23:一一个个浮浮点点数数表表示示格格式式为为:16位位浮浮点点数数,阶阶码码6位位,1位位阶阶符符,用用移移码码表表示示,尾尾数数10位位,包包含含1位位数数符符,用用补补码码表表示示,阶阶码码在在前前,尾尾数数(包包括括数数符符)在在后后。试试写写出出下下列列X和和Y的规格化浮点数形式。的规格化浮点数形式。X=+55.75;Y=-27/128。解:解:(1)X=(+110111.11)2=+0.110111112110,根据浮点数格式要求可得出根据浮点数格式要求可得出:EX=+00110,MX=+0.

174、110111110,EX移移=100110,MX补补=0.110111110所以所以X的规格化的浮点数为:的规格化的浮点数为:X浮浮=1001100.110111110(2)Y=(-0.0011011)2=-0.110112-10,EY=-00010,MY=-0.110110000,EY移移=011110,MY补补=1.001010000,所以所以Y浮浮=0111101.001010000徽缕加插设廷僵续过渍壬滞孝胎底蝗师笼欠募涉检撵狐尾祝绥瘪渠苹校扦第2章数据的表示和运算第2章数据的表示和运算7/23/2024149计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示

175、和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算例例2.24:若:若X和和Y均是符合均是符合IEEE754标准的单精度浮标准的单精度浮点数。点数。(1)若浮点数若浮点数X存储形式为存储形式为41360000H,求,求X真值。真值。(2)若若Y=-135.625,求,求Y的浮点数表示的浮点数表示解解(1)X浮浮=01000001001101100000000000000000B按表按表2.15真值公式及单精度浮点数格式,可知:真值公式及单精度浮点数格式,可知:Ms=0,E=EsE1E2Em=10000010B=130D,1.M1M

176、2.Mn=1.01101100000000000000000B,所以,所以,X=(-1)Ms(1.M1M2.Mn)2E-127=(-1)0(1.011011)2130-127=(+1022.011)2=(+11.375)10镁胶娠健裸阵疮症午机雀亡必孔识纶痘疾慢鉴腰讫挟褪闭浓洼炼巧功凌椒第2章数据的表示和运算第2章数据的表示和运算7/23/2024150计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算(2)若若Y=-135.625,求,求Y的浮点数表示。

177、的浮点数表示。解:解:Y=(-10000111.101)2Y=-1.000011110127=(-1)1(1.0000111101)2134-127因此,因此,Ms=1,E=EsE1E2Em=134D=10000110B,1.M1M2.Mn=1.00001111010000000000000B,求出:求出:Y浮浮=11000011000001111010000000000000B=C307A000H估惋殃脐懒窜髓大漾偏膛倚雪娶凸猫删屯丽雀足势烹蓬矫赶阜棚碌租对悲第2章数据的表示和运算第2章数据的表示和运算7/23/2024151计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算

178、数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算某仪表型号为XJY-160,可采集工业现场的模拟信号,以IEEE 754单精度浮点数形式存放设计算机通讯返回浮点数为40H, 8CH, 00H, 00H(从高到底)试计算实际值为多少?嘘蹬雌邦碳盯耗笑呀尾忿采立惕攀琐咏鬃设姬逾僻枢添闺袒听隘啼诈朔缓第2章数据的表示和运算第2章数据的表示和运算7/23/2024152计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表

179、示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数的表示浮点数的表示在浮点数的表示范围中,有两种情况称为在浮点数的表示范围中,有两种情况称为机器零机器零:一是浮点数的尾数为一是浮点数的尾数为0,无论阶码为何值;二是当,无论阶码为何值;二是当阶码的值比它所能表示的最小值还要小时,无论尾阶码的值比它所能表示的最小值还要小时,无论尾数为何值。数为何值。浮点数的表示范围浮点数的表示范围通常有通常有4个定界点:个定界点:最小数、最最小数、最大负数、最小正数和最大数大负数、最小正数和最大数。位于最大负数和最小。位于最大负数和最小正数之间的数正数之间的数(除除0外外)浮

180、点数均无法表示,称为浮点数均无法表示,称为下下溢溢。计算机对于下溢视为机器零。当一个数大于最。计算机对于下溢视为机器零。当一个数大于最大数或者小于最小数时称为大数或者小于最小数时称为上溢上溢,上溢又称溢出,上溢又称溢出。迸砖碘犯题涸寨而滦瓦湿口奸挠地盛猩盐讣奏娜惩缓芽众卧服佐茁厦份传第2章数据的表示和运算第2章数据的表示和运算7/23/2024153计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.1浮点数

181、的表示浮点数的表示【例【例2.25】写出例写出例2.23的浮点数格式的规格化范围的浮点数格式的规格化范围。浮点数表示真值最小数1111111.000000000-1231=-231最大负数0000001.011111111-(2-1-2-9)2-32最小正数0000000.1000000002-12-32=2-33最大数1111110.111111111(1-2-9)231教材+惫脱监贪模陡蚌溅詹茄勋杨瘤灭嫩篷键立啪盎迂卑焰诈卞窿糙圾瘤才夫属第2章数据的表示和运算第2章数据的表示和运算7/23/2024154计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删

182、饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.2浮点数的加浮点数的加/减运算减运算设有两浮点数设有两浮点数X,Y实现实现XY运算,其中:运算,其中:X=MX2EX;Y=MY2EY。均为规格化数。均为规格化数。执行以下五步完成运算:执行以下五步完成运算:(1)“对阶对阶”操作操作比较两浮点数阶码的大小,求出其差比较两浮点数阶码的大小,求出其差E,并保留其大值,并保留其大值E,E=max(EX,EY)。当当E0时,将阶码值小的数的时,将阶码值小的数的尾数右移尾数右移E位位,并将其,并将其阶阶

183、码值加上码值加上E,使两数阶码值相等,该操作称,使两数阶码值相等,该操作称“对阶对阶”。尾数右移时,对尾数右移时,对原码表示的尾数原码表示的尾数,符号位不参加移位,符号位不参加移位,尾数数值部分的高位补尾数数值部分的高位补0;对;对补码表示的尾数补码表示的尾数,符号位参,符号位参加右移,并保持原符号位不变。加右移,并保持原符号位不变。媒眨戮能督确策走啄须酚锈搜芹观常寨视硝儒胳墟抓诣彰狸柴塌酶晋挑吭第2章数据的表示和运算第2章数据的表示和运算7/23/2024155计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最

184、琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.2浮点数的加浮点数的加/减运算减运算(2)尾数的加尾数的加/减运算减运算执行对阶后,两尾数进行加执行对阶后,两尾数进行加/减运算,得到两数之减运算,得到两数之和和/差。差。(3)结果规格化结果规格化当运算的结果当运算的结果(和和/差差)不是规格化数时,需将它转变不是规格化数时,需将它转变成规格化数。成规格化数。双符号位的双符号位的原码规格化尾数原码规格化尾数,其数值最高位应为,其数值最高位应为1,即,即00.1*或或11.1*双符号位的双符号位的补码规格化尾数补码规格化尾数,其数值最高位

185、应与符,其数值最高位应与符号位相反,即号位相反,即00.1*或或11.0*肛祸兹冤熄桥抬梯曙舔妇蜘落苍七翱篮徘晰挝驴座痪谷赔惑芬紧纱粱棵奴第2章数据的表示和运算第2章数据的表示和运算7/23/2024156计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.2浮点数的加浮点数的加/减运算减运算(4)舍入舍入在在对对阶阶或或右右规规过过程程中中,尾尾数数要要向向右右移移位位,可可能能使使得得被被右右移移的的尾尾

186、数数低低位位部部分分丢丢失失,从从而而造造成成一一定定的的误误差差,因因此要采用某种方法进行舍入处理。此要采用某种方法进行舍入处理。简单的舍入方法简单的舍入方法有有3种:种:截断法:截断法:实质上没舍入,只将多余的位数全部舍去;实质上没舍入,只将多余的位数全部舍去;末位恒置末位恒置1法法:始终在舍入结果最末位置:始终在舍入结果最末位置1;0舍舍1入入法法:类类似似十十进进制制的的四四舍舍五五入入,当当多多余余位位最最高高位位为为1时,在尾数最低位上加时,在尾数最低位上加1,否则直接舍去多余位。,否则直接舍去多余位。补兹偶逾车吏禁携密醉楷刁蛰显奈敞象闸诫痈胸悬词七考翔距往氮敏睦坟第2章数据的表示

187、和运算第2章数据的表示和运算7/23/2024157计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.2浮点数的加浮点数的加/减运算减运算IEEE754标准规定标准规定了以下了以下4种可选的舍入模式种可选的舍入模式:向向上上舍舍入入:尾尾数数为为正正数数时时,只只要要多多余余位位不不全全为为0,就就向向最最低有效位进低有效位进1;为负数时采用简单截断法。;为负数时采用简单截断法。向向下下舍舍入入:尾尾数数为

188、为正正数数时时,只只要要多多余余位位不不全全为为0,就就简简单单截尾;为负数时,则向最低有效位进截尾;为负数时,则向最低有效位进1。向向0舍舍入入:朝朝数数轴轴原原点点方方向向舍舍入入,无无论论正正负负数数,都都采采用用简简单截尾,使绝对值总是变小。该方法容易累积误差单截尾,使绝对值总是变小。该方法容易累积误差。就就近近舍舍入入:舍舍入入到到最最接接近近的的数数,类类似似四四舍舍五五入入。当当多多余余位位的的值值超超出出最最低低有有效效位位权权值值一一半半时时向向最最低低有有效效位位进进1;小小于于权权值值一一半半时时则则舍舍去去;等等于于权权值值一一半半时时,若若最最低低有有效效位位为为0(

189、偶偶数数)就舍去,若为就舍去,若为1(奇数奇数)则进则进1。该方法不易累积误差。该方法不易累积误差。蠢此彪锈顽碴及涡搏洞死态谍拥箕屯看殃将少茅佰鳃赛浸星俘噪三讥再梨第2章数据的表示和运算第2章数据的表示和运算7/23/2024158计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.2浮点数的加浮点数的加/减运算减运算(5)检查阶码是否溢出检查阶码是否溢出:阶阶码码溢溢出出就就是是浮浮点点数数的的溢溢出出。在

190、在进进行行左左规规和和右右规规的的过过程程中中,由由于于阶阶码码的的增增减减,阶阶码码可可能能出出现现正正溢溢出出(右规右规)和负溢出和负溢出(左规左规)两种情况。两种情况。当当阶阶码码正正溢溢出出时时,表表明明浮浮点点数数发发生生上上溢溢(溢溢出出),必必须须报报告告处处理理器器;当当阶阶码码负负溢溢出出时时,表表明明浮浮点点数数发发生生下溢,则将浮点数视为下溢,则将浮点数视为机器零机器零。白揩键尔迷唾绩谋诀蛹房蝗鸡读凶梭嘶趣蒲拭旭攒咕糜铆塔太漆稽懈蓄饿第2章数据的表示和运算第2章数据的表示和运算7/23/2024159计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的

191、表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算规格化浮点数规格化浮点数加减运算流程加减运算流程遥芭败馒浇代吞芝齐四炳遗析按则呈绦判袭嗅曰鄂簇础郭赌肄瘩钝泉筛巴第2章数据的表示和运算第2章数据的表示和运算7/23/2024160计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算【例【例2.26】两浮点数相加,求两浮点数相加,求X+Y。已知:已知:X=20100.11011011,Y=21

192、00(-0.10101100)解解:计算过程:计算过程:对阶操作对阶操作阶差阶差E=EX补补+-EY补补=00010+11100=11110X阶码小,阶码小,MX右移右移2位,保留阶码位,保留阶码E=00100。MX补补=000011011011下划线上的数是右移出去而保留的附加位。下划线上的数是右移出去而保留的附加位。尾数相加尾数相加MX补补+MY补补=000011011011+1101010100=111000101011灌狗蕴喝住妈腰翰小铸蒜铅库景配厕会仕津酬淑鲤妨氨饺卉唬斡巢讯椽庸第2章数据的表示和运算第2章数据的表示和运算7/23/2024161计算机组成与结构计算机组成与结构 第第

193、2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算规格化操作规格化操作左规,移左规,移1位,结果位,结果=110001010110;阶码阶码-1,E=00011。舍入舍入附加位最高位为附加位最高位为1,在所得结果最低位,在所得结果最低位+1,则有:,则有:M补补=1100010110,M=-0.11101010。判溢出判溢出阶码符号位为阶码符号位为00,故不溢出,最终结果为:,故不溢出,最终结果为:X+Y=2011(-0.11101010)疹茂碱样圆践荤谣吮蝎廊靖原警瘪手耶悦荫乙锹酞填估茧砒婚

194、岩路拱骡驭第2章数据的表示和运算第2章数据的表示和运算7/23/2024162计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.3浮点数的表示和运算浮点数的表示和运算2.3.3浮点数的乘浮点数的乘/除运算除运算两两浮浮点点数数相相乘乘:乘乘积积的的阶阶码码为为相相乘乘两两数数阶阶码码之之和和,尾数尾数为为相乘两数的尾数之积相乘两数的尾数之积。两两浮浮点点数数相相除除:商商的的阶阶码码为为被被除除数数的的阶阶码码减减去去除除数数的的阶阶码码得得到到的的差

195、差,尾尾数数为为被被除除数数的的尾尾数数除除以以除除数数的的尾数所得的商尾数所得的商。参参加加运运算算的的两两个个数数都都为为规规格格化化浮浮点点数数,运运算算都都可可能能出出现现结结果果不不满满足足规规格格化化要要求求的的问问题题,必必须须进进行行规规格格化、舍入和判溢出等操作。化、舍入和判溢出等操作。下面举例说明浮点数乘法的运算步骤。下面举例说明浮点数乘法的运算步骤。疡裕绿瑞貉每肋二芹疫鱼吨眺钨唐掐挞吓渴玻棚痛煞慧徐什窒爱汤荚恕雕第2章数据的表示和运算第2章数据的表示和运算7/23/2024163计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕

196、遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算【例例2.27】阶阶码码4位位(移移码码),尾尾数数8位位(补补码码,含含1位位符符号位号位),阶码以,阶码以2为底。运算结果仍取为底。运算结果仍取8位尾数。位尾数。设:设:X=2-50.1110011,Y=23(-0.1110010)X,Y为为真真值值,此此处处阶阶码码用用十十进进制制表表示示,尾尾数数用用二二进进制表示。运算过程中阶码取双符号位。制表示。运算过程中阶码取双符号位。解:解:(1)求乘积的阶码求乘积的阶码。乘积的阶码为两数阶码之和。乘积的阶码为两数阶码之和。EX+EY移移=EX移移+

197、EY补补=00011+00011=00110(2)尾数相乘尾数相乘。用定点数相乘的方法,得结果为:。用定点数相乘的方法,得结果为:XY补补=1.00110011001010(尾数部分尾数部分)(3)规格化处理规格化处理。本例尾数已规格化,不需处理。本例尾数已规格化,不需处理。逆钞研讽技脓毯农婴逊兼哗寄咱茹搀凛驱酮庙清升归斜摊喝疫侮笼烟亲肛第2章数据的表示和运算第2章数据的表示和运算7/23/2024164计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算(

198、4)舍入舍入。尾数。尾数(乘积乘积)低位部分的最高为低位部分的最高为1,需要舍,需要舍入,在乘积高位部分的最低位加入,在乘积高位部分的最低位加1,因此,因此XY补补=1.0011010(尾数部分尾数部分)(5)判溢出判溢出。阶码未溢出,故结果正确。阶码未溢出,故结果正确。所以,所以,XY=2-2(-0.1100110)浮点数的除法运算与乘法类似,也分求商的阶码、浮点数的除法运算与乘法类似,也分求商的阶码、尾数相除、规格化、舍入和判溢出尾数相除、规格化、舍入和判溢出5个步骤,不再个步骤,不再详细讨论。详细讨论。罐颧苏诫泞勺唇矣棋蕴赁瓣屿盆海涪扭巫舵卯型茵氨虱到域舒蹲娠肤白乓第2章数据的表示和运算

199、第2章数据的表示和运算7/23/2024165计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU运算器是计算机的重要组成部分之一,用来实现全运算器是计算机的重要组成部分之一,用来实现全部的算术和逻辑运算,因此运算器常被称为部的算术和逻辑运算,因此运算器常被称为算术逻算术逻辑单元辑单元(ArithmeticLogicUnit,简称,简称ALU)。运算器的核心部件是运算器的核心部件是加法器加法器,加减乘除运算都是通,加减乘除

200、运算都是通过加法器进行的,因此过加法器进行的,因此加快运算器的速度实质上就加快运算器的速度实质上就是加快加法器的速度是加快加法器的速度。治扰雨黔起单柞瘴僧霄吐贝踪甩笛窖腆汞弱停赣色军惰款哉付促燎糠秤驻第2章数据的表示和运算第2章数据的表示和运算7/23/2024166计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器一位全加器:一位全加器:不考虑进位输入,两个数码不考

201、虑进位输入,两个数码Ai,Bi相加称相加称为为半加法器半加法器,若考虑进位输入,若考虑进位输入Ci-1相加,则称为相加,则称为全加器全加器。设有两个操作数设有两个操作数A和和BA=A0A1A2An,B=B0B1B2Bn,全加和全加和Si及进位输出及进位输出Ci的逻辑表达式分别为:的逻辑表达式分别为:嫩姜穗益篱坛枉遥螟士乳纪娃痰南者咆儒搔糙职凳砒乙琶委余伶简茎侈棍第2章数据的表示和运算第2章数据的表示和运算7/23/2024167计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算

202、第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器加法器由加法器由串行串行和和并行并行之分。之分。串行加法器:串行加法器:只有一个全加器,数据逐位送入加法只有一个全加器,数据逐位送入加法器进行运算;器进行运算;并并行行加加法法器器:由由多多个个全全加加器器组组成成,其其位位数数的的多多少少取取决于机器的字长,数据的各位同时运算决于机器的字长,数据的各位同时运算:绚虱辑咳谣臼沈诸喜虱完向厄黎挞偶斩认烘盖桌活箭刺砸乎转乏闺炙哇舔第2章数据的表示和运算第2章数据的表示和运算7/23/2024168计算机组成与结构计算机组成与结构 第第2

203、2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器串串行行加加法法器器如如图图所所示示。FA是是全全加加器器,A、B是是两两个个具具有有右右移移功功能能的的寄寄存存器器,C为为进进位位触触发发器器。由由移移位位寄寄存存器器从从低低位位到到高高位位逐逐位位串串行行提提供供操操作作数数相相加加。如如果果操操作作数数为为n位位,加加法法就就要要分分n次次进进行行,每每次次产产生生一一位位和和,并并串串行行地地送送回

204、回A寄寄存存器器。进位触发器用来寄存进位信号,以便参与下一次的运算。进位触发器用来寄存进位信号,以便参与下一次的运算。魔钠禾皮赘赌名撇晰冶哇柬痹雇乡寺扇挤落匪锥藻猪苹龟岁我歹吴俱辅憾第2章数据的表示和运算第2章数据的表示和运算7/23/2024169计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器串串行行加加法法器器的的特特点点:器器件件少少、成成本本低低,但但运运

205、算算速速度度太慢,所以除了某些低速的专用运算外很少采用。太慢,所以除了某些低速的专用运算外很少采用。并并行行加加法法器器可可同同时时对对数数据据的的各各位位相相加加,但但存存在在一一个个加加法法的的最最长长运运算算时时间间问问题题。这这是是因因为为低低位位运运算算所所产生的进位会影响高位的运算结果。产生的进位会影响高位的运算结果。并并行行加加法法器器的的最最长长运运算算时时间间主主要要由由进进位位信信号号的的传传递递时时间间决决定定,而而每每个个全全加加器器本本身身的的求求和和延延迟迟只只是是次次要要因因素素。显显然然,提提高高并并行行加加法法器器速速度度的的关关键键是是尽尽量量加加快进位产生

206、和传递的速度。快进位产生和传递的速度。庆通士踏推沸套叶做哈蝉谦蝗麻疚辊走弹澄慎厕蹦桔繁熏谈压夺观戏样斯第2章数据的表示和运算第2章数据的表示和运算7/23/2024170计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-进位的产生和传递进位的产生和传递并并行行加加法法器器中中的的每每一一个个全全加加器器都都有有一一个个低低位位送送来来的的进进位位

207、输输入和一个传递给高位的进位输出。入和一个传递给高位的进位输出。进进位位表表达达式式中中“AiBi”取取决决于于本本为为参参加加运运算算的的两两个个数数,而而与与低低位位进进位位无无关关,因因此此称称AiBi为为进进位位产产生生函函数数(本本次次进进位位产产生生);用用Gi来来表表示示,其其含含义义是是:若若本本位位的的两两个个输输入入均均为为1,必必然然向向高位产生进位。高位产生进位。(Ai Bi)Ci-1则则不不但但与与本本位位的的两两个个数数有有关关,还还依依赖赖于于低低位位送送来来的的进进位位,因因此此称称为为进进位位传传递递函函数数(低低位位进进位位传传递递),用用Pi来来表表示示,

208、其其含含义义是是:当当两两个个输输入入中中有有一一个个位位1,低低位位传传来来的的进进位位Ci-1将向更高位传送将向更高位传送。进位表达式可写为:进位表达式可写为:Ci=Gi+Pi Ci-1督摹零缎骄云掖相辜辗锡变盘账唐铂珠福床铜值沼介校勋罢笆貌弘谬镶续第2章数据的表示和运算第2章数据的表示和运算7/23/2024171计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法

209、器并行加法器并行加法器-进位的产生和传递进位的产生和传递串行进位的并行加法器:串行进位的并行加法器:把把n个全加器串接起来,个全加器串接起来,就可以进行两个就可以进行两个n位数的相加。这种加法器称为,位数的相加。这种加法器称为,如图如图2.14所示。所示。轨俩足匹齐赫惭胯肾蓉垦匆唬暇惕竞馈挥芥豹披暗辐垫冷津炒佩缩悬止诫第2章数据的表示和运算第2章数据的表示和运算7/23/2024172计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术

210、逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-进位的产生和传递进位的产生和传递串行进位又称为串行进位又称为行波进位行波进位,每一级进位直接依赖于,每一级进位直接依赖于前前一级的进位一级的进位,即进位信号时逐级形成的。其中:,即进位信号时逐级形成的。其中:串行进位的并行加法器的串行进位的并行加法器的总延迟时间与字长成正比总延迟时间与字长成正比,字长越长,总延迟时间越长字长越长,总延迟时间越长窿单葛栗友踩聂搅婴育牢烦轮咽咋祷纱喜熄恼妓子东胳扑厨韭葵喧禽褒诸第2章数据的表示和运算第2章数据的表示和运算7/23/2024173计算机组成与结构计算机组成与结构

211、 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-进位的产生和传递进位的产生和传递可控可控4位二进制数加法位二进制数加法/减法电路减法电路吐衡募朔渔概弄碱搞朴崇洞妖潭层丈弓遵衅赘咖藐块登麦幕卷她乏以翘恫第2章数据的表示和运算第2章数据的表示和运算7/23/2024174计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸

212、拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-快速进位快速进位串行进位方式的进位延迟时间太长,要提高加法运算串行进位方式的进位延迟时间太长,要提高加法运算速度,就要尽可能减少进位延迟时间,改进进位方式。速度,就要尽可能减少进位延迟时间,改进进位方式。并行进位又叫做先行进位、同时进位,其并行进位又叫做先行进位、同时进位,其特点特点是是各级进位信号同时形成。各级进位信号同时形成。筷辖疮旗睦它泌绷茎游妆院秧匡捏瓶帽纺锦似雍溃是鲁苑机赐殉已陆箱架第2章数据的

213、表示和运算第2章数据的表示和运算7/23/2024175计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-快速进位快速进位并并行行进进位位中中。各各式式所所有有各各位位进进位位均均不不依依赖赖于于低低位位进进位位,各各位位进进位位可可同同时时产产生生。这这种种进进位位方方式式是是快快速速的的。但但随随着着加加法法器器位位数数的的增增加加,Ci的的

214、逻逻辑辑表表达达式式会会变变得得越越来来越越长长,输输入入变变量量会会越越来来越越多多,会会使使电电路路结结果果变变得很复杂,所以完全采用并行进位是不现实的。得很复杂,所以完全采用并行进位是不现实的。分组并行进位方式:分组并行进位方式:把把n位字长分为若干小组,在位字长分为若干小组,在组内组内各位之间实行各位之间实行并行快速进位并行快速进位,在,在组间组间既可以采既可以采用用串行进位串行进位方式,也可以采用方式,也可以采用并行快速进位并行快速进位方式,方式,因此有两种情况:因此有两种情况:温镁吝疤疚倾昔壬讲蘸荣涪烬撵琅劝蛛壕寨畏疙芹噎咙豫重悉卑堤兹兜丙第2章数据的表示和运算第2章数据的表示和运

215、算7/23/2024176计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-快速进位快速进位单级先行进位方式单级先行进位方式(组内并行、组间串行组内并行、组间串行):以:以16位加法器为位加法器为例,可分为四组例,可分为四组,每组四位。第每组四位。第1小组组内进位逻辑函数小组组内进位逻辑函数C1-C4表达式与前述相同,表达式与前述相同,C1-C4

216、信号同时产生信号同时产生,实现上述进位实现上述进位逻辑函数的电路称为逻辑函数的电路称为4位先行进位电路位先行进位电路(CarryLookAhead,简称,简称CLA),如图,如图2.14所示。所示。疑忘杉牟玲搽百荡朴幽粒绝唯短肪楚诬问刻杰砰丢锥队缄盂竭棚岔刚搐矮第2章数据的表示和运算第2章数据的表示和运算7/23/2024177计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和

217、并行加法器并行加法器并行加法器-快速进位快速进位利用这种利用这种4位的位的CLA电路以及进位产生电路以及进位产生/传递电路和求和电传递电路和求和电路可以构成路可以构成4位的位的CLA加法器。用加法器。用4个这样的个这样的CLA加法器很加法器很容易构成容易构成16位的单级先行进位加法器位的单级先行进位加法器,如图,如图2.15所示。所示。圈澳雁些腹艳液找攒镀浪诗橱孔归难违明闺速朱困洋株裔上淤贪况圾挤焉第2章数据的表示和运算第2章数据的表示和运算7/23/2024178计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告

218、最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-快速进位快速进位多多级级先先行行进进位位方方式式(组组内内并并行行、组组间间并并行行):在在单单级级先先行行进进位位电电路路中中,进进位位延延迟迟时时间间是是和和组组数数成成正正比比的的,组组数数越越多多,进进位位的的延延迟迟时时间间越越长长。因因此此,当当加加法法器器的的字字长长较较长长时时,为为了了加加快快进进位位传传递递时时间间,就就有有必必要要采采用用多多级级先先行行进进位位方方式式。仍仍以以字字长长为为16位位的的

219、加加法法器器为为例例子子,分分析析两两级级先先行行进进位位加加法法器的设计方法。第一小组的进位输出器的设计方法。第一小组的进位输出C4可以写成:可以写成:尉禹息画赵邻辟坏仲陶耽杀娇啪拈诲筑佳桩梆啃瓶订惦搔咒呕诲虽滤命劝第2章数据的表示和运算第2章数据的表示和运算7/23/2024179计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法器-快速进位快速

220、进位Gi*称称为为组组进进位位产产生生函函数数,Pi*称称为为组组进进位位传传递递函函数数。这两个辅助函数只与这两个辅助函数只与Pi、Gi有关。依次类推:有关。依次类推:恒桑昏轨邱盾戮案锋颂现粪套鸦嗽厩悠菜联捏驯脆催好痰虹话锯柠笺扎触第2章数据的表示和运算第2章数据的表示和运算7/23/2024180计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.1串行加法器和并行加法器串行加法器和并行加法器并行加法器并行加法

221、器-快速进位快速进位为了要产生组进位函数,需要对原来的为了要产生组进位函数,需要对原来的CLA电路进行修改:电路进行修改:第一小组内产生第一小组内产生G1*、P1*、C3、C2、C1,不产生不产生C4;第二小组内产生第二小组内产生G2*、P2*、C7、C6、C5,不产生不产生C8;第三小组内产生第三小组内产生G3*、P3*、C11、C10、C9,不产生不产生C12;第四小组内产生第四小组内产生G4*、P4*、C15、C14、C13,不产生不产生C16这种电路称为成组先行进位电路(Block Carry Look Ahead, 简 称BCLA),如图 2.16所示。描挺涸些鬼邵卵皮纪扑悔村泵瘴响

222、煮抱仿源疮辣耐沛哈阑渴窟误散濒瓤忌第2章数据的表示和运算第2章数据的表示和运算7/23/2024181计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算利用这种利用这种4位的位的BCLA电路及进位产生与传递电路和求和电电路及进位产生与传递电路和求和电路可构成路可构成4位的位的BCLA加法器。加法器。16位两级先行进位加法器位两级先行进位加法器可可有有4个个BCLA加法器和加法器和1个个CLA电路组成,如图电路组成,如图2.17所示。所示。溢颇匠椽厩豹齿坊碟

223、蚕姥哪冀亡返譬莹乳恶蚀都阐冗淆戌无红绷翰长麓辕第2章数据的表示和运算第2章数据的表示和运算7/23/2024182计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构算术逻辑单元简称算术逻辑单元简称ALU(ArithmeticLogicUnit),是一种功能较强的组合逻辑电路。它能进行多种算是一种功能较强的组合逻辑电路。它能进行多种算术运算和逻辑运算。术运算和

224、逻辑运算。ALU的的基基本本逻逻辑辑结结构构是是超超前前进进位位加加法法器器,它它是是通通过过改改变变加加法法器器的的Gi、Pi和和控控制制端端来来获获得得多多种种运运算算能能力力的的.下下面面通通过过介介绍绍国国际际流流行行的的美美国国SN74181型型四四位位ALU中规模集成电路来学习中规模集成电路来学习ALU的原理。的原理。寅梗比春或将劣诬逆成迈学埠凝馅旺决催凌制上九脉愉潦佩聪他疮骤迎冕第2章数据的表示和运算第2章数据的表示和运算7/23/2024183计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬

225、意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构1位算术逻辑运算单元是由位算术逻辑运算单元是由1位全加器和位全加器和1位逻辑运位逻辑运算功能部件组合而成,第算功能部件组合而成,第i位运算单元的逻辑框图位运算单元的逻辑框图如图如图2.18。显然,算术运算由全加器完成,逻辑运算是在控制显然,算术运算由全加器完成,逻辑运算是在控制信号信号S3S0控制下由逻辑运算功能部件完成,其中控制下由逻辑运算功能部件完成,其中S3S2用来控制完成用来控制完成4种逻辑运算后产生种逻辑运算后产生Xi进入全加进入全

226、加器;器;S1S0用来控制完成用来控制完成4种逻辑运算后产生种逻辑运算后产生Yi进入进入全加器,它们之间的控制关系如表全加器,它们之间的控制关系如表2.16所示所示。的陀俩风镶宣攀黔宽评场洋府呕喜南斑憨堵焕洪杖随类骑卡钳拳膨技碰仲第2章数据的表示和运算第2章数据的表示和运算7/23/2024184计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算表2.161位运算单元功能表S3S2XiS1S0Yi001000101101011110图 2.18 1位运算单

227、元逻辑框图方阵沸症糯尘睬吠万铁腥择铂沤炳侠辛古嫌忙颐泼布钞署漆贰祥咯楔诌仔第2章数据的表示和运算第2章数据的表示和运算7/23/2024185计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构将将4位运算单元位运算单元(i=0,1,2,3)集成在一个芯片上就构成了集成在一个芯片上就构成了SN74181芯片芯片,对于算术运算来说,片内的,对于算术运算来说,片内

228、的4位构成一个小位构成一个小组,小组内采用并行进位方式。同时产生的进位信号组,小组内采用并行进位方式。同时产生的进位信号C0C1和和C2参加片内的高端参加片内的高端3位的求全加和运算。位的求全加和运算。表表2.17为为74181ALU的正逻辑的运算功能表的正逻辑的运算功能表。对正逻辑操作。对正逻辑操作数数,算术运算称高电平操作算术运算称高电平操作,逻辑运算称正逻辑操作逻辑运算称正逻辑操作(即高电即高电平为平为“1”,低电平为,低电平为“0”)。对于负逻辑操作数则相反。由于。对于负逻辑操作数则相反。由于S3S0有有16种状态组合,因此对正逻辑输入与输出而言,种状态组合,因此对正逻辑输入与输出而言

229、,有有16种算术运算功能和种算术运算功能和16种逻辑运算功能。对于负逻辑输种逻辑运算功能。对于负逻辑输入与输出入与输出,也有也有16种算术运算功能和种算术运算功能和16种逻辑运算功能。种逻辑运算功能。犁匿缝顺窟成以祥逼沙联奠盘走糖吵竣挚厦烛堵家悦责激闭标尘倾朵旋名第2章数据的表示和运算第2章数据的表示和运算7/23/2024186计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的

230、功能和机构的功能和机构SN74181芯片芯片SN74181能执行能执行16种算术运算和种算术运算和16种逻辑运算种逻辑运算M是是状态控制端状态控制端,M=H执行逻辑运算;执行逻辑运算;M=L执行算术运算执行算术运算S0S3是是运算选择控制端运算选择控制端,决定电路执行哪种运算,决定电路执行哪种运算A3A0,B3B0是是参加运算两数参加运算两数Cn是是ALU最低位进位输入最低位进位输入F3F0是是运算结果运算结果注脚注脚3表示最高位。表示最高位。启别翘纵凌报羡硬暖苦坑囤攒通犯脖恿郑涧桂甭春廷狞旋掇请牵腿整亡貌第2章数据的表示和运算第2章数据的表示和运算7/23/2024187计算机组成与结构计算

231、机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算SN74181型型ALU逻辑图及在正逻辑下功能表逻辑图及在正逻辑下功能表功能表中功能表中“加加”表示算术加,表示算术加,“+”表示逻辑加。表示逻辑加。S3S2S1S0正逻辑M=H逻辑运算M=L算术运算Cn=1Cn=0LLLL/AAA+1LLLH/(A+B)A+B(A+B)加1LLHL/ABA+B(A+B)加1LLHH0减1“0”LHLL/(AB)A加(/AB)A加(/AB)加1LHLH/B(AB)加(/A+B)(AB)加(/A

232、+B)加1LHHLABA减B减1A减BLHHHA/B(AB)减1AB熊波呕匡归甥媳武灯生盗娟硬站瀑捣绽迸醋丘咋审吵咸菜挖肇刻汉该溅很第2章数据的表示和运算第2章数据的表示和运算7/23/2024188计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算SN74181型型ALU逻辑图及在正逻辑下功能表(续)逻辑图及在正逻辑下功能表(续)功能表中功能表中“加加”表示算术加,表示算术加,“+”表示逻辑加。表示逻辑加。S3S2S1S0正逻辑M=H逻辑运算M=L算术运

233、算Cn=1Cn=0HLLL/A+BA加(AB)A加(AB)加1HLLH/(AB)A加BA加B加1HLHLB(A+/B)加(AB)(A+/B)加(AB)加1HLHHAB(AB)减1ABHHLL“1”A加AA加A加1HHLHA+/BA加(A+B)A加(A+B)加1HHHLA+BA加(A+/B)A加(A+/B)加1HHHHAA减1A恬匪蜀椅哉桑栗阴寸捍城签硒祸导串银启效见滇亭墩蕊牛妖苫醇韩隋迄节第2章数据的表示和运算第2章数据的表示和运算7/23/2024189计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十

234、棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构对于表对于表2.17的说明:的说明:(1)H高电平高电平,L低电平;低电平;(2)算术运算操作是用补码表示法来表示的。其中算术运算操作是用补码表示法来表示的。其中“加加”是指算术加是指算术加,运算时要考虑进位运算时要考虑进位,而符号而符号“”是是指指“逻辑加逻辑加”。其次,减法是用补码方法进行的,其。其次,减法是用补码方法进行的,其中数的反码是内部产生的,而末位加中数的反码是内部产生的,而末位加“1”则是通过则是通过Cn来体现的来体现的。廖断箭偿

235、两才试猿教精连秘谢茹控砍江青阔恼侦屏镐儒废开嵌独滓衰棵曙第2章数据的表示和运算第2章数据的表示和运算7/23/2024190计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构SN74181芯片的电路结构逻辑图芯片的电路结构逻辑图如图如图2.19所示。由所示。由于该芯片可工作在正逻辑或负逻辑状态下,以完成于该芯片可工作在正逻辑或负逻辑状态下,以完成不同的逻辑运

236、算功能。不同的逻辑运算功能。图图2.19大体可以分为三个部分大体可以分为三个部分:图上方的两级逻辑:图上方的两级逻辑门从门从AiBi输入到输入到XiYi输出,主要完成各种逻辑运算输出,主要完成各种逻辑运算功能;图下部由功能;图下部由4个异或门完成个异或门完成4位全加和位全加和F3F2F1F0的功能;图中部其他电路是由小组内的并行进位逻的功能;图中部其他电路是由小组内的并行进位逻辑,只是它既能输出实现小组间串行进位的进位信辑,只是它既能输出实现小组间串行进位的进位信号号C3,也能输出实现小组间并行进位所需要的,也能输出实现小组间并行进位所需要的P3*和和G3*。泽庇址洗朱遁漂咯属捏芳全止损撂纷典

237、量施晰滩甸惨物蹲肯央哨葫倾迄蜗第2章数据的表示和运算第2章数据的表示和运算7/23/2024191计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算汕笔得日须抱涛酸客公已涣罩叼镜尿晓贯读尖巡袭评侮且最邪犀脆闹硅焚第2章数据的表示和运算第2章数据的表示和运算7/23/2024192计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的

238、表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构以以正逻辑正逻辑为例,为例,M用于区别算术运算还是逻辑运算;用于区别算术运算还是逻辑运算;S3S0的不同取值可以实现不同的运算。的不同取值可以实现不同的运算。例如当例如当M=H,S3S0=0110时,时,74181作逻辑运算作逻辑运算A B,M=L,S3S0=0110,74181作算术运算。作算术运算。在正逻辑条件下,在正逻辑条件下,M=L,S3S0=0110且且Cn=1完成完成A减减B减减1操作。若想完成操作。若想完成A减减B运算,可使运算,可使Cn=0。注意,注意,ALU为组合逻辑

239、电路,因此应用为组合逻辑电路,因此应用ALU时其时其输入端口输入端口A和和B必须与锁存器相连,且在运算过程必须与锁存器相连,且在运算过程中锁存器内容不变。输出也须送到寄存器中保存中锁存器内容不变。输出也须送到寄存器中保存。勺酿挺乐醋盯娥笔灭笋翅土稠插摩块垒迪镑传俄亢熔虑原镐忽砾驯析邹钵第2章数据的表示和运算第2章数据的表示和运算7/23/2024193计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单

240、元算术逻辑单元ALU的功能和机构的功能和机构SN74181的的4位作为一个小组,小组间既可以采用位作为一个小组,小组间既可以采用串行进位,也可以采用并行进位。当采用串行进位串行进位,也可以采用并行进位。当采用串行进位时,只要把低一片的时,只要把低一片的Cn+4(向高位进位向高位进位)与高一片的与高一片的Cn(最低位的外来进位最低位的外来进位)相连即可,如图相连即可,如图2.20。图 2.20 4片74181构成16位ALU菲妊逃林驼毯纪烫具心燕男钩曙洞刺途车谤嗣梯走府擅两爬裔秆营谎迂酪第2章数据的表示和运算第2章数据的表示和运算7/23/2024194计算机组成与结构计算机组成与结构 第第2

241、2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算2.4算术逻辑单元算术逻辑单元ALU2.4.2算术逻辑单元算术逻辑单元ALU的功能和机构的功能和机构当当采采用用组组间间并并行行进进位位时时,需需要要增增加加一一片片74182,这这是是一一个个先先行行进进位位部部件件。74182可可以以产产生生3个个进进位位信信号号Cn+x、Cn+y和和Cn+z,并并且且还还能能产产生生大大组组进进位位产产生生函函数数G*和和大大组组进进位位传传递递函函数数P*,可可供供组组成成位位数数更更多的多的ALU时使用。

242、时使用。图图2.21是是由由8片片74181和和2片片74182构构成成的的32位位两两级级行行波波ALU。各各片片74181输输出出的的组组进进位位产产生生函函数数Gi和和组组进进位位传传递递函函数数Pi作作为为74182的的输输入入,而而74182的的输输出出的的进进位位信信号号Cn+x、Cn+y和和Cn+z作作为为74181的的输输入入,74182输输出出的的大大组组进进位位产产生生函函数数G*和和大大组组进进位位传传递函数递函数P*可作为更高一级可作为更高一级74182的输入。的输入。炼宁啃寥炙食隧哗平狂孰铅痴谨什毛固狐容柱噎救埃穴谐肿冈肄商燥堆伍第2章数据的表示和运算第2章数据的表示

243、和运算7/23/2024195计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算图 2.21 32位两级行波ALU 大组进位产生函数大组进位传递函数化讳哈膜对哼摊馅辛吼管槽斧莆宴篓俺移菠咆谤毯蝇利吁熙睦巨崔沫溃菲第2章数据的表示和运算第2章数据的表示和运算7/23/2024196计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的

244、表示和运算74181结结构构适适合合于于组组成成各各种种位位数数的的ALU部部件件。表表2.17列列出出了了具有不同位数和结构的具有不同位数和结构的ALU所需芯片数目和加法时间所需芯片数目和加法时间。位数ALU结构总的加法时间(ns)芯片片数74181741824一级ALU21108一级行波ALU362016一级行波ALU604016两级ALU364132一级行波ALU1108032两级行波ALU628248一级行波ALU16012048两级行波ALU10112348三级ALU6412464一级行波ALU21016064两级行波ALU13616464三级ALU88165潮恃慌脐羞呀躁桐腾鳃滓沁

245、汛黄钠饵途蜂卖氏近筹忙涂匀另粮酪叁拴朝呵第2章数据的表示和运算第2章数据的表示和运算7/23/2024197计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算本章小结:本章小结:数制有两个要素:基数和各位的权。计算机中数制有两个要素:基数和各位的权。计算机中的信息均以二进制形式来表示。的信息均以二进制形式来表示。本章简要地介绍了十进制、八进制、十六进制本章简要地介绍了十进制、八进制、十六进制之间的相互转换,着重介绍了用于表示十进制之间的相互转换,着重介绍了

246、用于表示十进制数值的二进制编码,即数值的二进制编码,即BCD码。码。对于定点数和浮点数在计算机内的表示和运算对于定点数和浮点数在计算机内的表示和运算本章也做了详细的论述和说明。本章也做了详细的论述和说明。算术逻辑单元算术逻辑单元ALU的功能和结构是本章的一个的功能和结构是本章的一个重要内容,本章对其功能、结构以及应用做了重要内容,本章对其功能、结构以及应用做了详细的介绍详细的介绍。甚悲驼宝扇垦彝归杜稻呕唆咀又蹬乎凿苟姑萌仪坊帛梢追神茫敲府席释展第2章数据的表示和运算第2章数据的表示和运算7/23/2024198计算机组成与结构计算机组成与结构 第第2 2章章 数据的表示和运算数据的表示和运算智删饭任腋咕遏湛钉歌群臀贾凸拷摇镐辞啥粥目曼环告最琳烬意十棕拿持第2章数据的表示和运算第2章数据的表示和运算【习习题题8】X=-0.1101,Y=0.1101,用用补补码码一一位位乘乘法法的的校校正正法法计计算算XY。解:。解:X补补=11.0011,Y补补=00.1011XY补=11.01110001XY= -0.10001111尿瀑恰身摘龋骆冯蔓锚致畔赃刺缸啦锑桔矛亡羡铱赡豺恤拳睡怜姬锁颖让第2章数据的表示和运算第2章数据的表示和运算7/23/2024199

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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