(4.10)--第六章 计算机的运算方法.ppt

上传人:奉*** 文档编号:96596902 上传时间:2024-01-17 格式:PPT 页数:185 大小:3.87MB
返回 下载 相关 举报
(4.10)--第六章 计算机的运算方法.ppt_第1页
第1页 / 共185页
(4.10)--第六章 计算机的运算方法.ppt_第2页
第2页 / 共185页
点击查看更多>>
资源描述

《(4.10)--第六章 计算机的运算方法.ppt》由会员分享,可在线阅读,更多相关《(4.10)--第六章 计算机的运算方法.ppt(185页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 基础篇基础篇、计算机系统硬件篇计算机系统硬件篇把把CPU看看做一个做一个“黑匣子黑匣子”,分析了系统总线与存储,分析了系统总线与存储器、器、I/O部件之间的相互关系。部件之间的相互关系。中央处理器篇中央处理器篇就具体讲述就具体讲述CPU的功能,的功能,包括计算机的运算、指令系统、指令流水、包括计算机的运算、指令系统、指令流水、时序系统。时序系统。第六章第六章 计算机的运算方法计算机的运算方法6.1 数值型数据的表示数值型数据的表示6.2 定点数和浮点数的表示定点数和浮点数的表示6.3 移位运算移位运算6.4 定点数四则运算定点数四则运算6.5 浮点数四则运算浮点数四则运算6.6 算数逻辑单元

2、算数逻辑单元 数数据据是是计计算算机机加加工工和和处处理理的的对对象象,在在机机器器里里的的表表示示直直接接影影响响到到计计算算机机的的结结构构和和性能性能。本章介绍无符号数与带符号数的表示本章介绍无符号数与带符号数的表示方法、方法、定点数定点数与与浮点数浮点数的表示方法。重点的表示方法。重点讲述定点数与浮点数的讲述定点数与浮点数的各种运算各种运算,以及算,以及算数逻辑单元电路的实现。数逻辑单元电路的实现。教学内容教学内容u数值型数据的表示数值型数据的表示u定点数和浮点数的表示定点数和浮点数的表示uIEEE 754数据格式的表示数据格式的表示u移位的运算方法移位的运算方法u定点数的加、减、乘运

3、算定点数的加、减、乘运算u浮点数的加、减运算浮点数的加、减运算u算术逻辑单元的结构算术逻辑单元的结构教学要求教学要求了解:了解:真值和机器数的概念真值和机器数的概念 了解:了解:无符号数与带符号数的区别无符号数与带符号数的区别掌握:掌握:原码、补码、反码表示方法原码、补码、反码表示方法掌握:掌握:移码的表示方法移码的表示方法了解:了解:定点数和浮点数的表示范围定点数和浮点数的表示范围教学要求教学要求理解:理解:浮点数阶码的表示浮点数阶码的表示掌握:掌握:IEEE 754浮点数标准格式浮点数标准格式掌握:掌握:定点数的加定点数的加、减、乘运算、减、乘运算掌握:掌握:浮点数的加、减运算浮点数的加、

4、减运算理解:理解:算术逻辑单元的工作原理算术逻辑单元的工作原理6.1 数值数据的表示数值数据的表示 在在计计算算机机中中,采采用用数数字字化化方方式式来来表表示示数数据据,数数据据有有无无符符号号数数和和带带符符号号数数之之分分,表表达达形形式式有有二二进进制制数数、八八进进制制数数、十十进进制制数数、十十六六进进制制数数。其其中中带带符符号号数数根根据据其其编编码码的的不不同同又又有有原原码码、补补码码和和反码反码3种形式。种形式。u二进制数:二进制数:后缀后缀Bu八进制数:八进制数:后缀后缀Qu十进制数:十进制数:后缀后缀D或省略后缀或省略后缀u十六进制数:十六进制数:后缀后缀H 但是但是

5、程序员更钟情于采用程序设计语言程序员更钟情于采用程序设计语言的记号来表示不同进制的数的记号来表示不同进制的数。如:在如:在C语言中语言中八进制常数以前缀八进制常数以前缀0开始,十六进制常数以前开始,十六进制常数以前缀缀0 x开始。开始。1.无符号数无符号数 整个机器字长的全部二进制位均表示数值整个机器字长的全部二进制位均表示数值位位(没有符号位没有符号位),相当于数的绝对值。,相当于数的绝对值。例如:例如:N1=01001 ;表示无符号数表示无符号数9 N2=11001 ;表示无符号数表示无符号数25 数据范围与数据范围与CPU内部寄存器存放数值的位内部寄存器存放数值的位数有一定关系。对于无符

6、号来说,机器字长为数有一定关系。对于无符号来说,机器字长为8位位,表示范围是,表示范围是0-255。字长为。字长为16位位,表示范围,表示范围为为0-65535。即为。即为02n-1。2.带符号数带符号数 具有正、负之分具有正、负之分。在日常生活中,用。在日常生活中,用“+”、“-”号加绝对值来表示数值的大小。号加绝对值来表示数值的大小。用这种形式表示的数用这种形式表示的数值在计算机中称为值在计算机中称为“真值真值”。把数的符号进行数字化。通常约定二进制数的最把数的符号进行数字化。通常约定二进制数的最高位为符号位,高位为符号位,“0”表示正号表示正号,“1”表示负号表示负号。这。这种表示数的形

7、式称为种表示数的形式称为“机器数机器数”。带符号的数带符号的数 符号数字化的数符号数字化的数+0.10110 1011小数点的位置小数点的位置+11000 1100小数点的位置小数点的位置 11001 1100小数点的位置小数点的位置 0.10111 1011小数点的位置小数点的位置真值真值 机器数机器数例例1:N1=+0.1011 N2=-0.1011 真值真值 N1=0.1011 N2=1.1011 机器数机器数例例2:N3=+111011 N4=-111011 真值真值 N3=0111011 N4=1111011 机器数机器数 对于带符号来说,机器字长为对于带符号来说,机器字长为8位位,

8、表,表示范围是示范围是-127-127。字长为。字长为16位位,表示范围,表示范围为为-32767-32767。即为。即为-2n-1-1+2n-1-1。机器数所表示的数值范围是由机器数所表示的数值范围是由机器的字长决定,机器的字长决定,字长越长字长越长,所能,所能表示的数的表示的数的范围越大范围越大。常见的机器数有常见的机器数有原码原码、反码反码、补码补码3种种不同的表示形式,有时候还需要使用不同的表示形式,有时候还需要使用移码移码。带符号数的最高位被用来表示符号位,而不带符号数的最高位被用来表示符号位,而不再表示数值位。再表示数值位。3.带符号数的编码带符号数的编码原码表示法原码表示法 一种

9、最简单的机器数表示法,最高位表示一种最简单的机器数表示法,最高位表示符号位,符号位,“0”表示该数为正表示该数为正,“1”表示该数表示该数为负为负,数值部分与真值相同数值部分与真值相同。例例1:X1=0.0110 X1原原=0.0110 X2=-0.0110 X2原原=1.0110例例2:X3=101100 X3原原=0101100 X4=-110101 X4原原=1110101+0原原=00000000 -0原原=10000000整数原码一般式:整数原码一般式:正数的原码正数的原码 X原原X (2nX0)负数的原码负数的原码 X原原2n-X (-2nXX0)负数的原码负数的原码 X原原1-X

10、 (-1XX0)负数的反码负数的反码 X反反(2n+1-1)+X (-2nXX0)负数的反码负数的反码 X反反(2-2-n)+X (-1XX0)负数的补码负数的补码 X补补2n+1+X (-2nXX0)负数的补码负数的补码 X补补2+X (-1X0)三种码制的比较三种码制的比较正数都等于真值本身,负数各不相同。正数都等于真值本身,负数各不相同。对于真值对于真值0,原码和反码有两种不同的表示,原码和反码有两种不同的表示 形式,补码只有一种表示形式。形式,补码只有一种表示形式。负数最高位都是符号位,数据位各不相同。负数最高位都是符号位,数据位各不相同。已知机器的字长,机器数如果位数不够则补已知机器

11、的字长,机器数如果位数不够则补够相应位数。够相应位数。设机器字长为设机器字长为8位,则如下:位,则如下:X1=1011 X1原原=00001011X1反反=00001011X1补补=00001011 X2=-1011 X2原原=10001011 X2反反=11110100 X2补补=11110101 X3=0.1011 X3原原=0.1011000X3反反=0.1011000X3补补=0.1011000 X4=-0.1011 X4原原=1.1011000X4反反=1.0100111X4补补=1.0101000移码表示法移码表示法移码也叫增码或偏码,常用于表示浮点数的阶码。移码也叫增码或偏码,常

12、用于表示浮点数的阶码。十进制十进制x=+21x=21x=+31x=31大大大大错错错错0,101011,010110,111111,00001+10101 10101+11111 11111二进制二进制补码补码如果每个数据加上如果每个数据加上25,即,即x+25+10101+100000+11111+10000010101+10000011111+100000大大大大正确正确正确正确=110101=001011=111111=000001这样的一种表示形式就是移码这样的一种表示形式就是移码例例1:X+1011,Y-1011,求求X移移和和Y移移。解解:X移移24+1011=10000+1011

13、 =11011 Y移移24+(-1011)=10000-1011 =00101X补补01011 Y补补10101例例2:X+100011,Y-100011,求求X移移和和Y移移。解解:X移移26+100011=1000000+100011 =1100011 Y移移26+(-100011)=1000000-100011 =0011101X补补0100011 Y补补1011101移码一般式:移码一般式:X移移=2n+X (-2nX2n)u当当0X2n时,时,X移移2n+X2n+X补补u当当-2nX0时,时,X移移2n+XX补补-2n移码和补码之间的关系移码和补码之间的关系 由此可见,由此可见,移码

14、移码是由是由补码补码求得,把求得,把补码补码的符号位取反的符号位取反,就得到移码。,就得到移码。移码的特点移码的特点u 最高符号位与原码、反码、补码都相反,最高符号位与原码、反码、补码都相反,“1”表表 示正号示正号,“0”表示负号表示负号。u 数据数据0的移码是惟一的,即的移码是惟一的,即0移移=10000。u 移码常用于表示浮点数的阶码,只能是整数。移码常用于表示浮点数的阶码,只能是整数。u 移码一般只执行加减运算,对两个浮点数进行乘移码一般只执行加减运算,对两个浮点数进行乘 除运算时,尾数实现乘除,阶码执行加减。除运算时,尾数实现乘除,阶码执行加减。课堂练习课堂练习计算如下十进制数据的移

15、码:计算如下十进制数据的移码:1、34 2、77 3、-491100010110011010001111 人生如棋,走一步看一步是庸者,走一步算人生如棋,走一步看一步是庸者,走一步算三步是常者,走一步定十步是智者,向你美好三步是常者,走一步定十步是智者,向你美好的希望抛弃网吧,努力去追求吧。的希望抛弃网吧,努力去追求吧。崇高的理想崇高的理想就像生长在高山上的鲜花,如果要摘下它,只就像生长在高山上的鲜花,如果要摘下它,只有勤奋才能是攀登的绳索。有勤奋才能是攀登的绳索。心灵鸡汤心灵鸡汤6.2 定点数和浮点数的表示定点数和浮点数的表示 把小数点固定在数值部分的最高位之前,或把小把小数点固定在数值部分

16、的最高位之前,或把小数点固定在数值部分的最后面。前者将数表示成纯小数点固定在数值部分的最后面。前者将数表示成纯小数,后者把数表示成整数。数,后者把数表示成整数。定点数表示定点数表示SfS1S2Sn数符数符数值部分数值部分小数点位置小数点位置SfS1S2Sn数符数符数值部分数值部分小数点位置小数点位置2.浮点数表示浮点数表示 小数点的位置是浮动的。任意一个二进制数小数点的位置是浮动的。任意一个二进制数N可可以表示成:以表示成:NSrj 其中,其中,S为尾数为尾数(可正可负可正可负),r为基数为基数(数值数值),j是阶是阶码码(可正可负可正可负)。例例1:352.47=3.5247102=0.35

17、247103 =3524.710-1=3524710-2例例2:N=11.0101=0.110101210=1.1010121 =1101.012-10=0.001101012100 二进制二进制表示表示阶阶符符尾数数值尾数数值部分部分jfj1 j2 jmSfS1 S2Sn数数符符阶码数值阶码数值部分部分1 1位位1 1位位m m位位n n位位浮点数的表示形式浮点数的表示形式Sf:代表浮点数的符号:代表浮点数的符号n :反映浮点数的精度:反映浮点数的精度m:反映浮点数的表示范围:反映浮点数的表示范围jf 和和 m:共同表示小数点的实际位置:共同表示小数点的实际位置例例1:对一个真值为:对一个真

18、值为+23.25的十进制数,用浮点数格的十进制数,用浮点数格式表示其原码。式表示其原码。解:解:(23.25)10(10111.01)2 浮点数表示其原码为:浮点数表示其原码为:0.10111012+101 机器中表示为:机器中表示为:010101011101例例2:十进制数:十进制数-79.25,用浮点数格式表示其原码、,用浮点数格式表示其原码、反码和补码。反码和补码。解:解:(-79.25)10(-1001111.01)2 浮点数表示其原码为:浮点数表示其原码为:1.1001111012+111 浮点数表示其反码为:浮点数表示其反码为:1.0110000102+111 浮点数表示其补码为:

19、浮点数表示其补码为:1.0110000112+111机机器器中中表表示示011111001111010111101100001001111011000011解:解:(-79.25)10(-1001111.01)2 浮点数表示其原码为:浮点数表示其原码为:1.001001111012+1001 浮点数表示其反码为:浮点数表示其反码为:1.110110000102+1001 浮点数表示其补码为:浮点数表示其补码为:1.110110000112+1001机机器器中中表表示示0100110010011110101001111011000010010011110110000113.规格化浮点数规格化浮点

20、数 为了提高运算的精度,需要充分地利用尾数的有为了提高运算的精度,需要充分地利用尾数的有效数位,通常采取浮点数规格化形式,即效数位,通常采取浮点数规格化形式,即规定尾数的规定尾数的最高数位必须是一个有效值最高数位必须是一个有效值。若不对浮点数的表示做出明确规定,同一个浮若不对浮点数的表示做出明确规定,同一个浮点数的表示就具有不唯一性。点数的表示就具有不唯一性。以以基数为基数为2说明规格化的格式说明规格化的格式 尾数尾数M是原码表示,尾数的最高位为是原码表示,尾数的最高位为1是规格是规格化形式,即必须满足化形式,即必须满足0.5|M|1。u正数正数:尾数应为尾数应为0.1xxu负数负数:尾数应为

21、尾数应为1.1xx 尾数尾数M是补码表示,尾数的最高位与数符符号是补码表示,尾数的最高位与数符符号位相反为规格化形式位相反为规格化形式。u正数正数:尾数应为尾数应为0.1xx,即,即0.5M1u负数负数:尾数应为尾数应为1.0 xx,即,即-1My,商,商1+11.0101 减减y,即,即+-y补补00.0111 第一次余数第一次余数r1 00.1110 r1左移一位左移一位,2r1y,商,商1+11.0101 减减y00.0011 第二次余数第二次余数r2 00.0110 r2左移一位左移一位,2r2y,商,商1+11.0101 减减y00.1011 00.1001 x|Y|,则则溢出溢出,

22、否则继续。,否则继续。若余数大于等于若余数大于等于0,则商上,则商上1,余数左,余数左移移1位;位;(3)被除数)被除数(余数余数)左移左移1位,与除数位,与除数Y相减,相减,若余数小于若余数小于0,则商上,则商上0,恢复余数,恢复余数,+Y,余数左移余数左移1位。位。(4)重复上述过程)重复上述过程n次次(除数的尾数位数除数的尾数位数),得到商及余数。得到商及余数。例:例:x=0.1001,y=0.1011,用恢复余数法求用恢复余数法求 x/y=?解:解:x原原=x补补=x=0.1001,y补补=0.1011 -y补补=1.0101 0 0.1 0 0 1+-y补补 1 1.0 1 0 1

23、x减减y 1 1.1 1 1 0 余数余数 r00,商,商“1”0 0.1 1 1 0 0.1 商商1移入移入q,r1左移左移+-y补补 1 1.0 1 0 1 减减y 0 0.0 0 1 1 r20,商,商“1”0 0.0 1 1 0 0.1 1 商商1移入移入q,r2左移左移+-y补补 1 1.0 1 0 1 减减y 1 1.1 0 1 1 r30,商,商“1”0 0.0 0 0 1 0.1 1 0 1 商商1移入移入q,r4不左移不左移 被除数被除数x/余数余数 r 商商q 说明说明阵列阵列乘乘法器法器阵列除法器阵列除法器 一个人最可怕的不是失败,而是在失败的阴一个人最可怕的不是失败,而

24、是在失败的阴影下看不见阳光,苦难是人生最好的老师。当世影下看不见阳光,苦难是人生最好的老师。当世界给种子重大压力时,它总会用自己的方法破土界给种子重大压力时,它总会用自己的方法破土而出。无论你遇到什么苦难,重要的是坚持度过而出。无论你遇到什么苦难,重要的是坚持度过苦难不要停止;如果你一旦停止就不要后悔。苦难不要停止;如果你一旦停止就不要后悔。心灵鸡汤心灵鸡汤6.5 浮点四则运算浮点四则运算u浮点加减运算浮点加减运算u浮点乘法运算浮点乘法运算u浮点除法运算浮点除法运算u浮点运算器浮点运算器 浮点数浮点数是由是由定点数的组合定点数的组合来表示,来表示,阶码阶码是是定定点整数点整数,尾数尾数是是定点

25、小数定点小数。所以浮点数运算也是。所以浮点数运算也是在定点数的基础上实现。在定点数的基础上实现。为了保证为了保证唯一性唯一性和和有效性有效性,对浮点数运算之,对浮点数运算之前,对参加运算的数据和运算结果必须是前,对参加运算的数据和运算结果必须是规格化规格化。因此,浮点运算方法均是在规格化的基础上进行因此,浮点运算方法均是在规格化的基础上进行的。的。1.浮点数加减运算步骤浮点数加减运算步骤 对阶:对阶:两个浮点数相加或相减,首先把两个浮点数相加或相减,首先把小数点小数点的位置对齐的位置对齐,而浮点数的小数点位置取决于阶码的大,而浮点数的小数点位置取决于阶码的大小。因此,对齐两数的小数点就是使两数

26、的阶码相等,小。因此,对齐两数的小数点就是使两数的阶码相等,这个过程称为这个过程称为对阶对阶。对阶的规则是:对阶的规则是:小阶向大阶看齐。小阶向大阶看齐。要使小阶的阶要使小阶的阶码增大,则相应的码增大,则相应的尾数右移尾数右移,直到两数的阶码相等为,直到两数的阶码相等为止。止。每右移一位,阶码加每右移一位,阶码加1。尾数加尾数加/减:减:对阶之后,就可以对尾数进行加对阶之后,就可以对尾数进行加/减,减,其其计算方法计算方法与与定点数加定点数加/减法相同减法相同。尾数结果规格化:尾数结果规格化:尾数加尾数加/减运算之后得到的数减运算之后得到的数据可能不是规格化数。为了增加有效数字位,提高运据可能

27、不是规格化数。为了增加有效数字位,提高运算精度,必须对算精度,必须对结果进行规格化结果进行规格化操作。操作。00.1 x x x 11.0 x x x 00.0 x x x 11.1 x x x 01.x x x x 10.x x x xu 第第和和种情况,已是规格化数。种情况,已是规格化数。u 第第和和种情况需要使尾数左移实现规格化,种情况需要使尾数左移实现规格化,这个过程称为这个过程称为左规左规。尾数每。尾数每左移一位左移一位,阶码相阶码相 应减应减1,直至成为规格化数为止。直至成为规格化数为止。u 第第和和种情况表明尾数在加减运算中产生溢种情况表明尾数在加减运算中产生溢 出。但是浮点数运

28、算中,此时只能说明尾数的出。但是浮点数运算中,此时只能说明尾数的 绝对值大于绝对值大于1,并非真正的溢出。,并非真正的溢出。u 这种情况应将尾数右移实现规格化。这个过程这种情况应将尾数右移实现规格化。这个过程 称为称为右规右规。尾数每。尾数每右移一位右移一位,阶码相应加阶码相应加1。舍入:舍入:最简单的舍入方法是最简单的舍入方法是恒舍法恒舍法,即无条件,即无条件的丢掉正常尾数最低位之后的全部数值。的丢掉正常尾数最低位之后的全部数值。溢出判断:溢出判断:当尾数右规后,根据阶码来判断浮当尾数右规后,根据阶码来判断浮点运算结果是否溢出。点运算结果是否溢出。u EC补补=01,x x x x,表示表示

29、上溢上溢。此时浮点数真正。此时浮点数真正 溢出,机器停止运算,做溢出中断处理。溢出,机器停止运算,做溢出中断处理。u EC补补=10,x x x x,表示表示下溢下溢。浮点数值趋于。浮点数值趋于0,机器不做溢出处理,而是按机器不做溢出处理,而是按0处理。处理。例例1:已知:已知x20100.11011011,y2100(-0.10101100),求,求x y。解:解:阶码、尾数均用补码表示,阶码、尾数均用补码表示,阶码、阶码、尾数采用双符号位尾数采用双符号位,则它们的浮点表示,则它们的浮点表示分别为:分别为:x00 010 00.11011011 y00 100 11.01010100 x的阶

30、码小,应使的阶码小,应使x的尾数右移的尾数右移2位,位,x的的阶码加阶码加2,得出:,得出:x00 100 00.00110110 11 其中其中11表示表示x的尾数右移的尾数右移2位后移出的最位后移出的最低两位数。低两位数。第一步:对阶第一步:对阶 00.0011 0110 11 11.0101 0100 11.1000 1010 11第二步:尾数求和第二步:尾数求和 尾数运算结果的符号位与最高数值位为尾数运算结果的符号位与最高数值位为同值,应执行左规处理,同值,应执行左规处理,尾数左移一位尾数左移一位,阶阶码减码减1。结果:结果:1.0001 0101 1,阶码为,阶码为00 011。第三

31、步:规格化处理第三步:规格化处理+采用采用0舍舍1入法入法处理,则应进处理,则应进1,结果,结果为为1.0001 0110。第四步:舍入处理第四步:舍入处理第五步:判断溢出第五步:判断溢出 阶码符号位为阶码符号位为00,不溢出,故得最终,不溢出,故得最终结果为:结果为:xy2011(-0.11101010)例例2:两个浮点数:两个浮点数A=210(-0.110100),B=2100(+0.101011),求求A+B=?解:解:第一步对阶:第一步对阶:先把先把A、B两数用补码两数用补码表示,阶码、尾数采用双符号位:表示,阶码、尾数采用双符号位:A补补=00.010;11.001100 B补补=0

32、0.100;00.101011 从对阶的结果可以看出,从对阶的结果可以看出,A补补的阶码的阶码小,应向小,应向B补补阶码看齐,阶码看齐,A补补阶码增阶码增2,尾,尾数向右移数向右移2位。位。A补补=00.100;11.110011 00 B补补=00.100;00.101011 11.110011 00 00.101011100.011110 00第三步规格化:第三步规格化:上述结果是上述结果是 A+B=2100(+00.011110 00)这是一个非规格化的数,对上述结果规格这是一个非规格化的数,对上述结果规格化,即进行化,即进行左规左规:尾数向左移尾数向左移1位位,阶码减阶码减1。结果:结

33、果:A+B=2011(+0.111100 0)第二步尾数求和:第二步尾数求和:第四步舍入处理:第四步舍入处理:位数的末尾是位数的末尾是0,则则舍去舍去。第五步判断溢出:第五步判断溢出:阶码符号位为阶码符号位为00,不溢出不溢出,故得最终结果为:,故得最终结果为:AB2011(+0.111100)例例3:r=0.1101210,q=0.1011201,求求 r+q。要求要求:除阶符与数符外除阶符与数符外,阶码取阶码取3位位,尾数取尾数取6位。位。解:按照题目的要求得出:解:按照题目的要求得出:r补补=00,010;00.110100 q补补=00,001;00.101100对阶:对阶:q阶码增加

34、阶码增加1,尾数右移一位。,尾数右移一位。q补补=00,010;00.010110 0尾数求和:尾数求和:00.110100 +00.010110 0 01.001010 0 这是一个非规格化数据,根据情况需这是一个非规格化数据,根据情况需要右规,尾数右移一位,阶码加要右规,尾数右移一位,阶码加1。r+q补补=00,011;00.100101 00规格化:规格化:上述结果是上述结果是 r+q补补=00,010;01.001010 0舍入:舍入:在在对阶对阶和和右规右规过程中,可能出现过程中,可能出现尾数尾数 末位丢失末位丢失引起误差,需考虑舍入,一引起误差,需考虑舍入,一 般采取般采取0舍舍1

35、入法。入法。最终结果:最终结果:r+q=0.1001012011例例4:N1=0.10101211,N2=0.10100201,求求N1-N2。解:按照题目的要求得出:解:按照题目的要求得出:N1补补=00,011;00.10101 N2补补=00,001;00.10100 -N2补补=00,001;11.01100对阶:对阶:-N2阶码增加阶码增加2,尾数右移两位。,尾数右移两位。-N2补补=00,011;11.11011 00尾数求和:尾数求和:00.10101 +11.11011 00 100.10000 00 这是一个规格化数据,不需要任何这是一个规格化数据,不需要任何处理,即就是需要

36、的结果。处理,即就是需要的结果。规格化:规格化:上述结果是上述结果是 N1N2补补=00,011;00.10000 00舍入:舍入:在在对阶对阶过程中,可能出现过程中,可能出现尾数末位尾数末位 丢失丢失引起误差,需考虑舍入,一般引起误差,需考虑舍入,一般 采取采取0舍舍1入法。入法。最终结果:最终结果:N1-N2=0.10000211课堂练习题课堂练习题1、两个浮点数分别为两个浮点数分别为x=0.101101201,y=-0.101011211,求,求x+y。2、两个浮点数分别为两个浮点数分别为x=0.101101200,y=-0.111011210,求,求x-y。2.浮点乘除法运算浮点乘除法

37、运算基本步骤:基本步骤:阶码相加阶码相加:两个数的阶码按照定点加两个数的阶码按照定点加减运算的规则进行运算。减运算的规则进行运算。尾数相尾数相乘除:乘除:两个数的尾数按照定点两个数的尾数按照定点乘除法乘除法运算的规则进行运算。运算的规则进行运算。尾数规格化尾数规格化:两个规格化的浮点数相两个规格化的浮点数相乘,其结果可能需要左规一次成为规格化乘,其结果可能需要左规一次成为规格化数。左规时如果调整阶码后发生下溢,则数。左规时如果调整阶码后发生下溢,则按机器零处理。按机器零处理。舍入处理舍入处理:尾数相乘会得到一个双倍尾数相乘会得到一个双倍字长的结果,如果只对结果取字长的结果,如果只对结果取1倍字

38、长,则倍字长,则需要进行舍入处理需要进行舍入处理。综上所述,浮点数的算术运算比定点数的算术综上所述,浮点数的算术运算比定点数的算术运算要运算要复杂许多复杂许多,从运算器的结构来说,不但要有,从运算器的结构来说,不但要有尾数运算器尾数运算器,而且还要有,而且还要有阶码运算器阶码运算器。阶码运算器用来求阶差,修改阶码等操作,一阶码运算器用来求阶差,修改阶码等操作,一般只进行加减运算。而尾数运算器不但要有加法器般只进行加减运算。而尾数运算器不但要有加法器用以求和,还应有左移和右移的功能,以实现对阶用以求和,还应有左移和右移的功能,以实现对阶操作和规格化操作。操作和规格化操作。6.6 算术逻辑单元算术

39、逻辑单元(ALU)算术算术/逻辑单元(逻辑单元(ALU)是计算机实际完成数)是计算机实际完成数据据算术运算算术运算和和逻辑运算逻辑运算的部分。计算机系统的其他的部分。计算机系统的其他部件:控制器、寄存器、存储器、部件:控制器、寄存器、存储器、I/O等主要是为等主要是为ALU处理带入数据和取回运算结果。处理带入数据和取回运算结果。算术运算包括定点加、减、乘和除的运算。逻算术运算包括定点加、减、乘和除的运算。逻辑运算主要有逻辑与、逻辑或、逻辑异或和逻辑非辑运算主要有逻辑与、逻辑或、逻辑异或和逻辑非操作。移位操作主要完成逻辑左移、逻辑右移、算操作。移位操作主要完成逻辑左移、逻辑右移、算术左移、算术右

40、移及其它一些移位操作。术左移、算术右移及其它一些移位操作。实现算术实现算术/逻辑多功能运算,采用逻辑多功能运算,采用全加器全加器(FA)的功能的功能部件进行运算。部件进行运算。全加器全加器(FA)是最基本是最基本的加法单元,有三个输入的加法单元,有三个输入量:量:操作数操作数Xi和和Yi、低位低位传来的进位传来的进位Ci,两个输出两个输出量:量:运算结果运算结果Si、向高位向高位的进位的进位Ci+1。FAXiYiSiCi+1Ci 但是一个完整的全加器,还需要有控制各种不但是一个完整的全加器,还需要有控制各种不同运算的电路信号,具体情况如下图所示:同运算的电路信号,具体情况如下图所示:FAXiY

41、iSiCi+1Ci函数发生器函数发生器AiBiS0S1S2S3FAXiYiSiS0S1S2S3 工作过程:工作过程:先不将输入的先不将输入的Xi、Yi和下一位的进位和下一位的进位数数Ci直接进行全加,而是将直接进行全加,而是将Ai和和Bi先组合成由控制参先组合成由控制参数数S0、S1、S2、S3控制的组合函数控制的组合函数Xi和和Yi。然后再将然后再将Xi、Xi和下一位进位数通过全加器进行和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。数,因而能够实现多种算术运算和逻辑运算。全加器真

42、值表全加器真值表XiYiCiSiCi+10000000110010100110110010101011100111111 一种典型的一种典型的4位位ALU器件:器件:74181逻辑图逻辑图,分为正逻辑,分为正逻辑和负逻辑进行各种运算。和负逻辑进行各种运算。除了有除了有S0S1S2S3控制端外,还有一个控制端外,还有一个M控制端控制端,当,当M=0进行算数操作,进行算数操作,M=1进行逻辑操作。进行逻辑操作。Xi、Yi在控制参数在控制参数S0、S1的作用下生成的作用下生成AiXi、Yi在控制参数在控制参数S2、S3的作用下生成的作用下生成BiS0 S1BiS2 S3Ai0 0Xi0 010 1X

43、iYi0 1Xi+Yi1 0XiYi1 0Xi+Yi1 101 1Xi运算器的基本结构运算器的基本结构一一台台小小型型机机的的运运算算器器 该运算器的基本功能包括:该运算器的基本功能包括:两数的加减运算两数的加减运算、一一个数的加个数的加1运算运算、两数的逻辑加运算两数的逻辑加运算、一个数的变补一个数的变补、变反传送变反传送,以及,以及数码的左移、右移、直送和字节交换数码的左移、右移、直送和字节交换等操作。等操作。(1)算术逻辑运算单元)算术逻辑运算单元ALU:由由4片片74181 ALU芯芯片和片和1片片74182 CLA(Carry lookahead adder,先行进先行进位加法器)芯

44、片位加法器)芯片组成组成16位字长的运算部件,因而具有位字长的运算部件,因而具有两级先行进位。两级先行进位。(2)锁存器:)锁存器:在在ALU的两个输入端上有两个锁的两个输入端上有两个锁存器存器A和和B,用来暂存来自外部设备或存储器用来暂存来自外部设备或存储器(经数经数据总线据总线)的数据,或者暂存来自通用寄存器的数据,或者暂存来自通用寄存器(R0R7)和源寄存器、暂存寄存器中的数据。一旦数据放入和源寄存器、暂存寄存器中的数据。一旦数据放入锁存器,不管其外部的数据如何变化,锁存器,不管其外部的数据如何变化,ALU将依据将依据锁存器锁存器A和和B中的数据进行运算。中的数据进行运算。(3)移位器:

45、)移位器:将将ALU的输出进行左移、右移、直的输出进行左移、右移、直送、半字交换。因此这里的移位器也是一个送、半字交换。因此这里的移位器也是一个4选选1的多的多路开关,每次只能从路开关,每次只能从4路输入中选择路输入中选择1路进行输出。路进行输出。(4)寄存器组:)寄存器组:寄存器组包括寄存器组包括8个可由程序编址个可由程序编址的通用寄存器的通用寄存器(R0R7)和两个程序不能访问的工作寄和两个程序不能访问的工作寄存器存器(源寄存器源寄存器SR和暂存寄存器和暂存寄存器DR)。(5)状态寄存器:)状态寄存器:运算器中设有一个状态寄存器,运算器中设有一个状态寄存器,运算过程中产生的运算过程中产生的

46、“进位进位”、“溢出溢出”、“零、零、”“负负”等状态标志可以保存在这个寄存器中,以供程序等状态标志可以保存在这个寄存器中,以供程序判断之用。状态寄存器的状态数据也可经由数据总线判断之用。状态寄存器的状态数据也可经由数据总线送到存储器加以保存。送到存储器加以保存。本章小结本章小结u运算运算在在计算机计算机中的作用中的作用u详细讲述了数值型数据在计算机中的表详细讲述了数值型数据在计算机中的表示方法示方法u详细讲述了定点数和浮点数的加、减、详细讲述了定点数和浮点数的加、减、乘、除四则运算乘、除四则运算u简单讲述了移位运算、逻辑运算和运算简单讲述了移位运算、逻辑运算和运算器的有关内容器的有关内容 按时作息,计划好自己的时间,不要觉得按时作息,计划好自己的时间,不要觉得是小事,许多简单的、你应该做到的事你都做是小事,许多简单的、你应该做到的事你都做到了,你就不简单。想想自己进大学后有多久到了,你就不简单。想想自己进大学后有多久是在一种积极、正确的状态中度过?是在一种积极、正确的状态中度过?骏马是跑出来的,强兵是打出来的,学习骏马是跑出来的,强兵是打出来的,学习是苦出来的。是苦出来的。心灵鸡汤心灵鸡汤感谢同学认真听课!感谢同学认真听课!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁