好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

浮点数表示及运算.ppt

54页
  • 卖家[上传人]:大米
  • 文档编号:590657994
  • 上传时间:2024-09-15
  • 文档格式:PPT
  • 文档大小:542KB
  • / 54 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 计算机组成原理计算机组成原理1计计 算算 机机 组组 成成 原原 理理Sunday, September 15, 2024浮点数表示及运算浮点数表示及运算 计算机组成原理计算机组成原理2一、浮点数的表示一、浮点数的表示N=Re×m = 2E×M = 2±e× (±m)E E0 0E E1 1E E2 2………………E EmmMM0 0M1M2………Mn尾数值 阶值阶符尾符9×10-28 = 0.9 ×10-272×1033 = 0.2 ×1034 任意一个十进制数任意一个十进制数 NN 可以写成可以写成N=10E· ×M (十进制表示)计算机中一个任意进制数计算机中一个任意进制数 NN 可以写成可以写成 m m ::尾数尾数,是一个纯小数是一个纯小数 e e :浮点的:浮点的指数指数, , 是一个整数是一个整数 R R ::基数基数,对于二进计数值的机器是一个常数,一般规定,对于二进计数值的机器是一个常数,一般规定RR 为为2 2,,8 8或或16 16 计算机组成原理计算机组成原理3浮点数的表示范围浮点数的表示范围负上溢-+负数正数0正上溢负下溢正下溢nN=2E×Mn|N|→∞ 产生正上溢或者负上溢产生正上溢或者负上溢n|N|→0 产生正下溢或者负下溢产生正下溢或者负下溢尾数尾数:用:用定点小数定点小数表示,给出有效数字的位数,决定了浮点数的表示,给出有效数字的位数,决定了浮点数的表示精度表示精度阶码阶码:用:用定点整数定点整数形式表示,指明小数点在数据中的位置,决定了浮点数形式表示,指明小数点在数据中的位置,决定了浮点数的的表示范围表示范围。

      一个机器浮点数由一个机器浮点数由阶码阶码和和尾数尾数及其及其符号符号位组成:位组成:最最大大正正数数最最小小正正数数最最小小负负数数最最大大负负数数 计算机组成原理计算机组成原理4n8位定点小数可表示的范围n0001 1111 n 1/128 --- 127/128n设阶码2位,尾数4位n可表示2-11*0.0001 --- 211n0001 n设阶码3位,尾数3位n可表示2-111*0.001 --- 2111n0001 --- 1110000n机器字长一定时,阶码越长,表示范围越大,精度越低n浮点数表示范围比定点数大,精度高 计算机组成原理计算机组成原理5一个浮点数有不同的表示:一个浮点数有不同的表示: ;;  10101 1 ;; 0.005 0.005  10102 2 ;; 50 50  1010-2-2为提高数据的表示精度,需做规格化处理为提高数据的表示精度,需做规格化处理 浮点数是数学中实数的子集合,由一个纯小数乘上一个指数浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成值来组成。

      二、浮点数二、浮点数规格化规格化 把不满足这一表示要求的尾数,变成满足这一要求的尾数把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的的操作过程,叫作浮点数的规格化处理规格化处理,通过,通过尾数移位和修改尾数移位和修改阶码实现阶码实现 在计算机内,其纯小数部分被称为浮点数的尾数,对非在计算机内,其纯小数部分被称为浮点数的尾数,对非 0 0 值的浮点数,要求尾数的绝对值值的浮点数,要求尾数的绝对值必须必须 >= 1/2 >= 1/2,即尾数域的最高,即尾数域的最高有效位应为有效位应为1,1,称满足这种表示要求的浮点数为称满足这种表示要求的浮点数为规格化表示规格化表示:: 计算机组成原理计算机组成原理6规格化目的:为了提高数据的表示精度为了数据表示的唯一性尾数为R进制的规格化: 绝对值大于或等于1/R二进制原码的规格化数的表现形式: 正数正数  负数负数  正数正数 负数负数 补码补码尾数的规格化的尾数的规格化的表现形式表现形式:尾数的最高位与符号位相反。

      尾数的最高位与符号位相反 计算机组成原理计算机组成原理7解解:12310=111101122×27 [7]移=10000+00111 = 10111 [0.1111011000]补 [123]浮= 1011 1 0 0 11 1101 1000 = BBD8H例例::对数据对数据1231231010作规格化浮点数的编码,假定作规格化浮点数的编码,假定1 1位符号位,基位符号位,基数为数为2 2,阶码,阶码5 5位,采用移码,尾数位,采用移码,尾数1010位,采用补码位,采用补码 计算机组成原理计算机组成原理8S——尾数符号,0正1负;M——尾数, 纯小数表示, 小数点放在尾数域的最前面采用原码表示 E——阶码,采用“移码”表示(移码可表示阶符); 阶符采用隐含方式,即采用移码方法来表示正负指数 S        E              M31  30      23 22                    032位位 S            E                                 M63  62                  52 51                                        064位位 为便于软件移植,使用 IEEE(电气和电子工程师协会)标准IEEE754 标准:尾数用原码;阶码用“移码”;基为2。

      三三 、浮点数的标准格式、浮点数的标准格式IEEE754 计算机组成原理计算机组成原理9 规格化浮点数的真值规格化浮点数的真值 x = (-1-1)s   (1.MM)   2E-E-127 e =EE – 127一个规格化的一个规格化的32位浮点数位浮点数xx的真值为:的真值为:  S        E              M31  30      23 22                    03232位浮点数格式:位浮点数格式: x = ( –1)s×(1.MM)×2E-E-1023一个规格化的一个规格化的64位浮点数位浮点数xx的真值为:的真值为: 这里这里e是真值是真值,E,E是是机器数机器数1.隐藏位技术隐藏位技术2.阶码用阶码用“移码移码”偏移值偏移值127而不是而不是128Emin=1, Emax=254/2046原码非0值浮点数的尾数数值最高位必定为 1,则在保存浮点数到内存前,通过尾数左移, 强行把该位去掉, 用同样多的位数能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。

      当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位 计算机组成原理计算机组成原理10例:例:若浮点数 x 的二进制存储格式为(41360000)16,求其32位浮点数的十进制值解解: 0100,0001,0011,0110,0000,0000,0000,0000 数符:0 阶码:1000,0010 尾数:011,0110,0000,0000,0000,0000 指数e=阶码-127=10000010-01111111 =00000011=(3)10  包括隐藏位1的尾数: 1.M=1.011 0110 0000 0000 0000 0000=于是有于是有  x==(--1)s×1.M×2e              =+=+(1.011011)×23=+==+=(11.375)10 计算机组成原理计算机组成原理11例例: 将十进制数转换成32位浮点数的二进制格式来存储解解:首先分别将整数和分数部分转换成二进制数: =  然后移动小数点,使其在第1,2位之间   =1.010010011×24  e=4  于是得到: e =E – 127 S=0,E=4+127=131=1000,0011,M=010010011  最后得到32位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000= (41A4C000)16 计算机组成原理计算机组成原理12解解::2 2 = -1.1×2= -1.1×2-1-1 =(-1) =(-1)1 1×(1 + 0.1000 0000 0000 0000 0000 000)×2×(1 + 0.1000 0000 0000 0000 0000 000)×2-1-1 =(-1) =(-1)1 1×(1 + ×(1 + 0.1000 0000 0000 0000 0000 0000.1000 0000 0000 0000 0000 000)×2)×2126-127126-127 s s= =1 1,,E=126E=12610 10 = 01111110= 011111102 2,,F=F=1000 … 0001000 … 000。

      1 1 011,1111,0 011,1111,0 100,0000,0000,0000,0000,0000100,0000,0000,0000,0000,0000 B F 4 0 0 0 0 0 HB F 4 0 0 0 0 0 H例例:将十进制数表示成单精度的:将十进制数表示成单精度的IEEE 754IEEE 754标准代码标准代码 计算机组成原理计算机组成原理13单精度浮点数编码格式单精度浮点数编码格式+0/-0000/1(-1)S× (0.f) ×2(-126)f (非零)00/1(-1)S× (1.f) ×2(e-127)f1~2540/1- ∞02551+∞02550sNaN Signaling NaN非零0xxxx2550/1NaN Not a Number非零1xxxx2550/1表示尾数阶码符号位 计算机组成原理计算机组成原理14IEEE754 IEEE754 IEEE754 IEEE754 规格化规格化规格化规格化浮点数表示范围浮点数表示范围浮点数表示范围浮点数表示范围Emax=2046,f=1.1111…,1.111…1×22046-1023 =21023×(2-2-52) Emin=1, M=0, 1.0×21-1023 =2-1022 双精度双精度Emax=254, f=1.1111…, 1.111…1×2254-127 = 2127×(2-2-23) Emin=1, M=0, 1.0×21-127 = 2-126 单精度单精度最大值最小值格式 计算机组成原理计算机组成原理15设有两个浮点数设有两个浮点数xx和和yy, 它们分别为它们分别为: 浮点加减法运算浮点加减法运算     其中其中 Ex 和和 Ey 分别为数x和y的阶码,分别为数x和y的阶码,              Mx 和和 My为数x和y的尾数。

      为数x和y的尾数     两浮点数进行加法和减法的运算规则是两浮点数进行加法和减法的运算规则是:                    xx±y=y=(Mx2Ex--Ey±My)2Ey          Ex <= Ey            x=x=2Ex · Mxx        y=y=2Ey · Myy 计算机组成原理计算机组成原理16完成浮点加减运算的操作过程大体分为:完成浮点加减运算的操作过程大体分为:(1) 0 (1) 0 操作数的检查;操作数的检查;(2) (2) 比较阶码大小并完成对阶;比较阶码大小并完成对阶;(3) (3) 尾数进行加或减运算;尾数进行加或减运算;(4) (4) 结果规格化结果规格化5) (5) 舍入处理舍入处理6) (6) 溢出处理溢出处理 计算机组成原理计算机组成原理17 使二数阶码相同(即小数点位置对齐),这个过程叫作对阶 • 先求两数阶码 Ex 和 Ey之差,即△E = Ex-Ey 若△E = 0,表示 Ex=Ey 若△E > 0, Ex>Ey 若△E < 0, Ex

      • 对阶原则 阶码小的数向阶码大的数对齐; 对阶过程小阶的尾数右移,每右移一位,其阶码加1(右规)2) 对阶对阶(1)  0 操作数检查操作数检查    210*(0.11000)+28*(0.00110)大阶对小阶大阶对小阶 210*(0.11000)--28*(11.000) 11.000+0.00110 ????????? 小阶对大阶小阶对大阶 28*(0.00110)--210*(0.00001) 计算机组成原理计算机组成原理18例例: x=201×0.1101, y=211×(-0.1010), 求x+y=?解解:为便于直观了解,两数均以补码表示,阶码、尾数均采用 双符号位 [x]补=00 01, 00.1101 [y]补=00 11, 11.0110 [△E]补= [ Ex]补-[Ey]补= 00 01+11 01 = 11 10 △E = -2, 表示Ex比Ey小2, 因此将x的尾数右移两位. 右移一位, 得 [x]补 再右移一位, 得 [x]补 至此, △E=0, 对阶完毕. 计算机组成原理计算机组成原理19 尾数求和方法与定点加减法运算完全一样。

      对阶完毕可得: [x]补 [y]补 对尾数求和: 00.0011 + 11.0110 即得: [x+y]补(3) 尾数求和运算尾数求和运算 计算机组成原理计算机组成原理20(4) 结果规格化结果规格化 求和之后得到的数可能不是规格化了的数, 为了增加有效数字的位数, 提高运算精度,必须将求和的结果规格化 ①规格化的定义: ( (二进制二进制) )对正数: S=00.1×××…×对负数: S=11.0×××…×采用双符号位的补码:采用原码: 正数: S=0.1 ×××…× 负数: S=1.1 ×××…× 计算机组成原理计算机组成原理21规格化规则规格化规则n运算结果产生溢出时,必须进行运算结果产生溢出时,必须进行右归右归n如变形补码结果出现如变形补码结果出现 或者或者 n如运算结果出现如运算结果出现 或或 必须必须左归左归n左归时最低数据有效位补左归时最低数据有效位补0n右归时连同符号位进位位一起右移右归时连同符号位进位位一起右移n左归时,阶码作减法左归时,阶码作减法,,右归时,阶码作加法右归时,阶码作加法n -- 左规n -- 0 左规n01.XXXXX -- 右规n10.XXXXX -- 右规 规格化方法规格化方法 计算机组成原理计算机组成原理22例例:两浮点数 x=0.1101 210 , y=(0.1011) 201, 求x+y。

      解解: [x]补=00 10,00.1101 [y]补=00 01,00.1011 对阶: [△E]补= [ Ex]补-[Ey]补=00 10+ 11 11= 00 01 y向x对齐,将y的尾数右移一位,阶码加1 [y]补=00 10, [x+y]补=00 10,01.0010 右归:运算结果两符号位不同,其绝对值大于1,右归 [x+y]补= 00 11,求和: 计算机组成原理计算机组成原理23 在对阶或向右规格化时, 尾数要向右移位, 这样, 被右移的尾数的低位部分会被丢掉, 从而造成一定误差,因此要进行舍入处理 • 简单的舍入方法有两种: ① “0舍1入”法 即如果右移时被丢掉数位的最高位为0则舍去,反之则将尾数的末位加“1” ② “恒置1”法 即只要数位被移掉,就在尾数的末位恒置“1”从概率上来说,丢掉的0和1各为1/25) 舍入处理舍入处理 计算机组成原理计算机组成原理24在IEEE754标准中,舍入处理提供了四种可选方法:就近舍入就近舍入 其实质就是通常所说的"四舍五入"。

      例如,尾数超出规定的23位的多余位数字是10010,多余位的值超过规定的最低有效位值的一半,故最低有效位应增1若多余的5位 是01111,则简单的截尾即可对多余的5位10000这种特殊情况:若最低有效位现为0,则截尾;若最低有效位现为1,则向上进一位使其变为 0朝朝0舍入舍入 即朝数轴原点方向舍入,就是简单的截尾无论尾数是正数还是负数,截尾都使取值的绝对值比原值的绝对值小这种方法容易导致误差积累朝+朝+∞∞舍入舍入 对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾朝-朝-∞舍入舍入 处理方法正好与 朝+∞舍入情况相反对正数来说,只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1 计算机组成原理计算机组成原理25(6)溢出处理 与定点加减法一样,浮点加减运算最后一步也需判溢出在浮点规格化中已指出,当尾数之和(差)出现01.××…×或10.××…×时,并不表示溢出,只有将此数右规后,再根据阶码来判断浮点运算结果是否溢出 若机器数为补码,尾数为规格化形式,并假设阶符取2位,阶码取7位、数符取2位,尾数取n位,则它们能表示的补码在数轴上的表示范围如图所示。

      正负 计算机组成原理计算机组成原理26 图中A,B,a,b分别对应最小负数、最大正数、最大负数和最小正数它们所对应的真值分别是: A最小负数 2+127  (-1) B最大正数 2+127  (1-2-n) a最大负数 2-128  (-2-1-2-n) b最小正数 2-128  2-1正正负负最小负数最大正数最大负数最小正数 计算机组成原理计算机组成原理27 图中a,b之间的阴影部分阴影部分,对应阶码小于128的情况,叫做浮点数的下溢下溢时.浮点数值趋于零,故机器不做溢出处理,仅把它作为机器零 图中的A、B两侧阴影部分,对应阶码大于127的情况,叫做浮点数的上溢此刻,浮点数真正溢出,机器需停止运算,作溢出中断处理一般说浮点溢出,均是指上溢一般说浮点溢出,均是指上溢 可见,浮点机的溢出与否可由阶码的符号决定: 阶码[j]补=01,     为上溢,机器停止运算,做中断处理; 阶码[j]补=10,     为下溢,按机器零处理正正负负 计算机组成原理计算机组成原理28例例:若某次加法操作的结果为 [X+Y]补则应对其进行向左规格化操作: 尾数为: 00.1101110000 , 阶码减4: + 11.100 [-4]补 10.110 例例:若某次加法操作的结果为 [X+Y]补=00.111, 10.1011100111则应对其进行向右规格化操作: 尾数为: 11.0101110011 , 阶码加1: 阶码超出了它所能表示的最大正数(+7),表明本次浮点运算产生了溢出。

      阶码超出了它所能表示的最小负数(-8),表明本次浮点运算产生了溢出 计算机组成原理计算机组成原理29例例: :两浮点数两浮点数x x = 2 = 210110110111011,,y y = 2 = 211111111001100) )假设尾数在计算机中以补码表示,可存储假设尾数在计算机中以补码表示,可存储1010位位尾数,尾数,2 2位符号位,阶码以补码表示,双符号位位符号位,阶码以补码表示,双符号位, ,求求x x+ +y y解:将解:将x,yx,y转换成浮点数据格式转换成浮点数据格式 [x]浮 1011 [Y]浮 0011+1 0100步骤步骤1 1:对阶:对阶,阶差为Ex-Ey=[Ex]补+[-Ey]补 [-Ey]补=11000+1=11001 Ex-Ey=00101+11001=11110 =-(00001+1)=-00010=-2 < 0 Ex-Ey<0 Ex

      y解:解:  阶码采用双符号位阶码采用双符号位, 尾数采用单符号位尾数采用单符号位,  则它们的浮点表则它们的浮点表示分别为示分别为            [x]浮浮= 00 010,   0.11011011                            [y]浮浮= 00 100,   (1)  求阶差并对阶求阶差并对阶△△E = Ex- - Ey= [Ex]补补+ [- -Ey]补补= 00 010 + 11 100 = 11 110[x]浮浮==00 100,  0.00110110(11)其中其中(11)表示表示Mxx右移右移2位后移出的最低两位数位后移出的最低两位数即即△△E为为- -2,  x的阶码小的阶码小,   应使应使 Mx右移两位右移两位,  Ex加加2, 计算机组成原理计算机组成原理34(2)(2)尾数求和尾数求和(4) (4) 舍入处理舍入处理采用采用0舍舍1入法处理入法处理, 则有则有: + 1 + 1 0.00110110(0.00110110(1111) ) 1.10001010(1.10001010(1111) )(3) (3) 规格化处理规格化处理 尾尾数数运运算算结结果果的的符符号号位位与与最最高高数数值值位位为为同同值值,,应应执执行行左左规规处处理理,,结果为结果为1.00010101(10)1.00010101(10),, 阶码为阶码为00 01100 011。

      5) (5) 判断溢出判断溢出 阶码符号位为阶码符号位为0000,不溢出,故得最终结果为,不溢出,故得最终结果为 x + y = 2011 × (-0.11101010) 计算机组成原理计算机组成原理35 例::两浮点数两浮点数x = 201,,y = 211×(-0.1010)假设尾数在计算机中以补假设尾数在计算机中以补码表示,可存储码表示,可存储4位尾数,位尾数,2位保护位位保护位,阶码以原码表示,求,阶码以原码表示,求x+y解解::将将x x, ,y y转换成浮点数据格式转换成浮点数据格式[ [x x] ]浮浮 [ [y y] ]浮浮 步骤步骤1 1:对阶,阶差为:对阶,阶差为11-01=1011-01=10,即,即2 2,因此将,因此将x x的尾数右移两位,得的尾数右移两位,得[ [x x] ]浮浮 0101步骤步骤2 2:对尾数求和,得:对尾数求和,得: :[ [x x+ +y y] ]浮浮 0101步骤步骤3 3:由于符号位和第一位数相等,不是规格化数,向左规格化,得:由于符号位和第一位数相等,不是规格化数,向左规格化,得[ [x x+ +y y] ]浮浮 1010步骤步骤4 4:截去。

      截去[ [x x+ +y y] ]浮浮 步骤步骤5: 5: 数据无溢出,因此结果为数据无溢出,因此结果为x x+ +y y = 2 = 21010×(-0.1110)×(-0.1110) 计算机组成原理计算机组成原理36浮点乘除法运算浮点乘除法运算1.浮点乘法、除法运算规则 设有两个浮点数x和y: x=2Ex·Mx     y=2Ey·My浮点乘法运算的规则是: xy=2(Ex+ Ey) · (Mx My) 即: 乘积的尾数是相乘两数的尾数之积; 乘积的阶码是相乘两数的阶码之和浮点除法运算的规则是: x÷y=2(Ex-Ey) · (Mx÷My) 即:商的尾数是相除两数的尾数之商; 商的阶码是相除两数的阶码之差 计算机组成原理计算机组成原理372. 2. 浮点乘、除法运算步骤浮点乘、除法运算步骤浮点数的乘除运算大体分为四步:(1) 0 操作数检查;(2) 阶码加/减操作;(3) 尾数乘/除操作;(4) 结果规格化及舍入处理。

      计算机组成原理计算机组成原理38(2) 浮点数的阶码运算浮点数的阶码运算 • 对阶码的运算有+1、-1、两阶码求和、两阶码求差四种, 运算时还必须检查结果是否溢出 • 在计算机中, 阶码通常用补码或移码形式表示①移码的运算规则和判定溢出的方法移码的定义为 [x]移 = 2n +x    - 2n ≤ x < 2n[x]移+ [y]移 = 2n +x+ 2n +y= 2n +[x+y]移按此定义, 则有= 2n +(2n +(x+y))[x+y]移 = -2n + [x]移 + [y]移 计算机组成原理计算机组成原理39 考虑到移码和补码的关系: 对同一个数值, 其数值位完全相同, 而符号位正好完全相反 [y]补的定义为 [y]补= 2n+1 +y 则求阶码和用如下方式完成:    = 2n+1 + (2n +(x+y))[x]移+[y]补= 2n +x+ 2n+1 +y即:[x+y]移= [x]移+[y]补   (mod 2n+1)同理:[x-y]移= [x]移+[-y]补   (mod 2n+1)②混合使用移码和补码 计算机组成原理计算机组成原理40 使用双符号位的阶码加法器, 并规定移码的第二个符号位, 即最高符号位恒用 0 参加加减运算, 则溢出条件是结果的最高符号位为1: • 当低位符号位为 0时,(10) 表明结果上溢, • 当低位符号位为1时, (11) 表明结果下溢。

      • 当最高符号位为0时, 表明没有溢出: 低位符号位为1, (01) 表明结果为正; 为0, (00) 表明结果为负③ 阶码运算结果溢出处理 计算机组成原理计算机组成原理41例:x= +011,y= +110, 求[x+y]移 和 [x-y]移, 并判断是否溢出解:阶码取3位(不含符号位),其对应的真值范围是 -8~+7[x]移= 01 011, [y]补= 00 110, [-y]补=11 010[x+y]移= [x]移+ [y]补=[x-y]移= [x]移+ [-y]补= 01 011+ 00 110 10 001结果上溢结果正确, 为-3 01 011+ 11 010 00 101 计算机组成原理计算机组成原理42(3) 尾数处理 浮点加减法对结果的规格化及舍入处理也适用于浮点乘除法第一种方法是: 无条件地丢掉正常尾数最低位之后的全部数值 这种办法被称为截断处理, 好处是处理简单, 缺点是影响结果 的精度 第二种办法是: 运算过程中保留右移中移出的若干高位的值, 最后再按某种规则用这些位上的值修正尾数。

      这种处理方法被称为舍入处理 计算机组成原理计算机组成原理43• 当尾数用原码表示时: 最简便的方法是,只要尾数的最低位为1, 或移出的几位中有为1的数值位, 就使最低位的值为1 另一种是0舍1入法, 即当丢失的最高位的值为1时, 把这个1加到最低数值位上进行修正, 否则舍去丢失的的各位的值这样处理时,舍入效果对正数负数相同,入将使数的绝对值变大, 舍则使数的绝对值变小舍入处理 计算机组成原理计算机组成原理44• 当尾数是用补码表示时: 采用0舍1入法时,若丢失的位不全为0时: 对正数来说,舍入的结果与原码分析相同; 对负数来说,舍入的结果与原码分析相反,即“舍”使绝对 值变大,“入”使绝对值变小;为使原、补码舍入处理后的结果 相同,对负数可采用如下规则进行舍入处理:  当丢失的各位均为0时, 不必舍入;  当丢失的最高位为0 , 以下各位不全为0 时, 或者丢失的最高位为1, 以下各位均为0时, 则舍去丢失位上的值;  当丢失的最高位为1,以下各位不全为0 时,则执行在尾数最低位入1的修正操作。

      计算机组成原理计算机组成原理45例例: 设 [x1]补= 11.01100000, [x2]补= 11.01100001, [x3]补= 11.01101000, [x4]补= 11.01111001, 求执行只保留小数点后4位有效数字的舍入操作值解解:执行舍入操作后,其结果值分别为            [x1]补=  (不舍不入)  [x2]补=  (舍)   [x3]补=  (舍)  [x4]补=  (入) 计算机组成原理计算机组成原理46例例:设有浮点数x=2-5  0.0110011, y= 23  (-0.1110010), 阶码用4位移码表示, 尾数 (含符号位)用8位补码表示求[xy]浮要求用补码完成尾数乘法运算, 运算结果尾数保留高8位(含符号位), 并用尾数低位字长值处理舍入操作解解:移码采用双符号位, 尾数补码采用单符号位, 则有  [Mx]补= 0.0110011, [My]补= 1.0001110, [ Ex]移= 00 011, [Ey]移 = 01 011, [Ey]补= 00 011,   [x]浮=00 011, 0.0110011, [y]浮= 计算机组成原理计算机组成原理47(2) 尾数乘法运算 可采用补码阵列乘法器实现, 即有(1) 求阶码和[Ex+ Ey]移= [Ex]移+ [Ey]补= 00 011+ 00 011= 00 110,值为移码形式-2。

      [Mx]补  [My]补 = [0.0110011]补  [1.0001110]补= [1.1010010,1001010]补 计算机组成原理计算机组成原理48(4) 舍入处理(3) 规格化处理 乘积的尾数符号位与最高数值位符号相同, 不是规格化的数,需要左规, 阶码变为00 101(-3), 尾数变为 1.0100101,0010100 尾数为负数, 取尾数高位字长,按舍入规则, 舍去低位字长,故尾数为1.0100101   最终相乘结果为 其真值为 xy=2-3  (-0.1011011)[xy]浮=00 101,1.0100101 计算机组成原理计算机组成原理49 由于浮点运算分成阶码和尾数两部分,因此浮点运算器的实现比定点运算器复杂得多分析上述的浮点四则运算可以发现,对于阶码只有加减运算,对于尾数则有加、减、乘、除4种运算可见浮点运算器主要由两个定点运算部件组成,一个是阶码运算部件,用来完成阶码加、减,以及控制对阶时小阶的尾数右移次数和规格化时对阶码的调整;另—个是尾数运算部件,用来完成尾数的四则运算以及判断尾数是否已规格化。

      此外,还需要有溢出判断电路等浮点运算器的组成浮点运算器的组成1 1、浮点运算器的一般结构、浮点运算器的一般结构 计算机组成原理计算机组成原理50MESMES小小ALU大大ALU控制控制右移右移左移或右移左移或右移舍入部件舍入部件阶码差阶码差加加1或减或减1MES111000 计算机组成原理计算机组成原理51n两个操作数的阶码部分,分别放在寄存器E1和E2中,它们与并行加法器相连可以计算E1±E2阶码比较是通过E1-E2来实现的,相减结果放在计数器E然后按E的符号来决定哪一个阶码较大,并用E来控制其中一个尾数的移位次数E每递减1次,相应的尾数右移一位,直到E=0为止一旦尾数调整完毕,就可按通常的加、减方法处理,并将其结果的阶码放入E寄存器中 计算机组成原理计算机组成原理52流水线原理流水线原理 计算机的流水处理过程同工厂中的流水装配线类似为了实现流水,首先必须把输入的任务分割为一系列的子任务,使各子任务能在流水线的各个阶段并发地执行将任务连续不断地输入流水线,从而实现了子任务的并行因此流水处理大幅度地改善了计算机的系统性能,是在计算机上实现时间并行性的一种非常经济的方法  在流水线中,原则上要求各个阶段的处理时间都相同。

      若某一阶段的处理时间较长,势必造成其他阶段的空转等待因此对子任务的划分,是决定流水线性能的一个关键因素,它取决于操作部分的效率、所期望的处理速度,以及成本价格等等 假定作业 T 被分成 k 个子任务,可表达为 T={T1,T2,···,Tk}   各个子任务之间有一定的优先关系:若i

      从理论上说,一个具有k 级过程段的流水线处理 n 个任务需要的时钟周期数为 Tk=k+(n-1)        其中k个时钟周期用于处理第一个任务k个周期后,流水线被装满,剩余的n-1个任务只需n-1个周期就完成了如果用非流水线的硬件来处理这n个任务,时间上只能串行进行,则所需时钟周期数为  TL=n·k            我们将TL和Tk的比值定义为k级线性流水线的加速比: Ck=TL/Tk = n·k/( k+n-1)    当 n>>k 时, Ck->k 这就是说,理论上k级线性流水线处理几乎可以提高k倍速度但实际上由于存储器冲突、数据相关,这个理想的加速比不一定能达到。

      点击阅读更多内容
      相关文档
      安徽省安全员《A证(企业负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》预测试卷三.docx 安徽省安全员《A证(企业负责人)》模拟试卷一.docx 2026年房地产经纪人《房地产交易制度政策》模拟试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷二.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷四.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷一.docx 2023年通信工程师《通信专业实务(传输与接入-无线)》试题真题及答案.docx 安徽省安全员《A证(企业负责人)》试题精选.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷二.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷三.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪专业基础》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷五.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷四.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷一.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》模拟试卷二.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.