第二章运算方法与运算器1恢复.pptVIP

  • 7
  • 0
  • 约2.77万字
  • 约 132页
  • 2019-07-13 发布于湖北
  • 举报
[例28]设有浮点数x=2-5×0.0110011,y=23×(-0.1110010),求[x×y]浮。 要求:阶码用4位移码表示,尾数(含符号位)用8位补码表示,用补码完成尾数乘法运算,运算结果尾数保留高8位(含符号位),并用尾数低位字长值处理舍入操作。 [解] 尾数补码采用单符号位:     [Mx]补=0.0110011, [My]补=1.0001110     阶码移码采用双符号位: [Ex]移=00 011,[Ey]移=01 011, [Ey]补=00 011 x 和y 的浮点数形式: [x]浮=00 011, 0.0110011, [y]浮=01 011, 1.0001110 (1) 求阶码和 [Ex+Ey]移=[Ex]移+[Ey]补=00 011+00 011 =00 110 (真值为-2) (2) 尾数补码相乘 [Mx]补×[My]补=[0.0110011]补×[1.0001110]补         =[1.1010010 1001010]补 (3) 规格化处理 乘积的尾数不符合规格化要求,需要左规 尾数左移,变为 1.0100101 0010100 阶码减1,变为00 101(真值为-3) (4) 舍入处理 按舍入规则,舍去低位字长,尾数为1.0100101   最终结果: [x×y]浮=00 101,1.0100101 其真值为: x×y=2-3×(-0.1011011) 浮点运算器 计算机实现浮点运算 软件实现:利用定点运算部件,根据算法流程图,编写浮点四则运算子程序供用户调用 低档机,结构简单,速度慢。 设置可选浮点协处理器 80287和80387,速度较快。 将协处理器与CPU集成 80486以后的CPU。 采用浮点流水运算部件,形成流水作业。 进一步加快浮点运算的速度。 奔腾以后的CPU。 浮点运算器80X87 美国Intel公司生产的专用浮点数运算的处理器,配合80X86CPU进行工作,所以又称为协处理器。 80X87与主CPU的并行工作 80X87有自己的浮点运算指令,但不能读写主存,真正的读写主存的工作是由主CPU执行。 主CPU从主存读取浮点运算指令,送80X87,由80X87译码并执行。 80X87运算期间,主CPU取下一条其他指令予以执行,因而实现了并行工作。 如80X87执行过程中,主CPU又送来了一条浮点指令,则80X87给出“忙”信号。 当80X87完成浮点运算,取消“忙” 信号,主CPU才发送下一条浮点运算指令。 80X87可处理多种数据类型 整数、浮点数、压缩十进制数等。 80X87的内部结构 第六次课+习题 * * * * * * * * * * * * * * * * * * * * * 可控加/减法(CAS)单元 CAS Ai Bi P P Ci Ci+1 Si Bi 四个输入端 Ai、Bi、Ci P:控制端输入 四个输出端 Si、Ci+1 Bi:除数右移 P :控制端输出 P=0:CAS作加法 Si=Ai⊕Bi ⊕Ci Ci+1=AiBi + (Ai ⊕Bi)Ci P=1:CAS作减法 Si=Ai⊕Bi ⊕Ci ( Bi=Bi⊕1) Ci+1=AiCi + (Ai ⊕Ci)Bi 不恢复余数的阵列除法器 不恢复余数的除法——加减交替法 当前行应执行加法还是减法,取决于上一行余数的符号与被除数的符号是否一致: 余数与被除数异号(余数为负),商“0”,除数右移,与原余数相加,得新余数; 余数与被除数同号(余数为正),商“1”,除数右移,与原余数相减,得新余数。 只介绍被除数、除数均为正数的情况。 阵列除法器 逻辑结构图 被除数 x=0.x1x2x3x4x5x6 (双倍长) 除数  y=0.y1y2y3 (XY) 商数  q=0.q1q2q3 余数  r=0.00r3r4r5r6 字长 n+1=4 第一行做减法(P=1),由于XY,余数0,商的个位q0上0。 第二行做加法,余数加上右移一位后的Y。 由余数的正负决定第二位商q1是1或0。 由q1控制第三行做加法或减法,依次类推。 [例20] x=0.101001, y=0.111, 求x÷y。 [解:]  [-y]补=1.001 被除数x 0.1 0 1 0 0 1 被除数x 减y  1.0 0 1 ?????(-0.111) 第一步减除数y ????????    1.1 1 0 0 0 1 <0 q

文档评论(0)

1亿VIP精品文档

相关文档