- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理运算方法运算器
三总线结构的运算器如演示(C)所示。在三总线 结构中,ALU的两个输入端分别由两条总线供给,而 ALU的输出则与第三条总线相连。这样,算术逻辑操 作就可以在一步的控制之内完成。 ??? 由于ALU本身有时间延迟,所以打入输出结果的选 通脉冲必须考虑到包括这个延迟。另外,设置了一个 总线旁路器。如果一个操作数不需要修改,而直接从 总线2传送到总线3,那么可以通过控制总线旁路器把 数据传出;如果一个操作数传送时需要修改,那么就 借助于ALU。很显然,三总线结构的运算器的最大特 点是操作时间快。 3.三总线结构的运算器 定点运算器的基本结构 2.6浮点运算方法和浮点运算器 2.6.1 浮点加法、减法运算 2.6.2 浮点乘法、除法运算 2.6.3 浮点运算流水线 2.6.4 浮点运算器实例 浮点运算 设有两个浮点数x和y,它们分别为: x=2Ex·Mx y=2Ey·My 其中Ex和Ey分别为数x和y的阶码, Mx和My为数x和y的尾数。 两浮点数进行加法和减法的运算规则是: x±y=(Mx2Ex-Ey±My)2Ey, Ex≤ Ey 定点运算器的基本结构 2.6.1 浮点加法、减法运算 完成浮点加减运算的操作过程大体分为四步: 1. 0 操作数的检查; 2. 比较阶码大小并完成对阶; 3. 尾数进行加或减运算; 4. 结果规格化并进行舍入处理。 浮点加减运算的操作流程 浮点运算 0操作数检查 对阶操作 尾数相加 结果规格化 (CAI演示) ??? 浮点加减运算过程比定点运算过程复杂。 如果判知两个操作数x或y中有一个数为0,即 可得知运算结果而没有必要再进行后续的一系 列操作以节省运算时间。0操作数检查步骤则 用来完成这一功能。 (1) 0 操作数检查 浮点运算 ??? 两浮点数进行加减,首先要看两数的阶码是否相 同,即小数点位置是否对齐。若二数阶码相同,表示 小数点是对齐的,就可以进行尾数的加减运算。反之, 若二数阶码不同,表示小数点位置没有对齐,此时必 须使二数阶码相同,这个过程叫作对阶。 要对阶,首先应求出两数阶码Ex和Ey之差,即: ?????????????????????????????△E = Ex-Ey 若△E=0,表示两数阶码相等,即Ex=Ey; 若△E0,表示ExEy; 若△E0,表示ExEy。 当Ex≠Ey 时,要通过尾数的移动以改变Ex或 Ey,使之相等。 (2) 比较阶码大小并完成对阶 浮点运算 ??? 但是,由于浮点表示的数多是规格化的,尾数左移 会引起最高有效位的丢失,造成很大误差。尾数右移 虽引起最低有效位的丢失,但造成误差较小。因此, 对阶操作规定使尾数右移,尾数右移后阶码作相应增 加,其数值保持不变。 因此,在对阶时,总是增加小阶,直至等于大阶 为止,即:让小阶向大阶看齐。 注意到:小阶的尾数向右移位(相当于小数点左移) 每右移一位,其阶码加1,直到两数的阶码相等为止,右 移的位数等于阶差△E。 浮点运算 ??? 对阶结束后,即可进行尾数的求和运算。 不论加法运算还是减法运算,都按加法进行操 作,其方法与定点加减法运算完全一样。 (3) 尾数求和运算 浮点运算 ??? [关于尾数M规格化的两点说明:见附加页] 可知:在浮点加减运算时,尾数求和的结果也可以得 到01.ф…ф或10.ф…ф,即两符号位不等,这在定 点加减法运算中称为溢出,是不允许的。但在浮点运 算中,它只是表明尾数求和结果的绝对值大于1,向左 破坏了规格化。此时将运算结果右移以实现规格化 表示,称为向右规格化。 规则:尾数右移1位,阶码加1。 (4) 结果规格化 浮点运算 ??? 在对阶或向右规格化时,尾数要向右移位,这样, 被右移的尾数的低位部分会被丢掉,从而造成一定误 差,因此要进行舍入处理。 ??? 简单的舍入方法有两种:一种是“0舍1入”法,即 如果右移时被丢掉数位的最高位为0则舍去,为1则将 尾数的末位加“1”。另一种是“恒置1”法,即只要数 位被移掉,就在尾数的末尾恒置“1”。在IEEE754标准 中,舍入处理提供了四种可选方法: (5) 舍入处理 浮点运算 ??? 其实质就是通常所说的“四舍五入”。例如, 尾数超出规定的23位的多余位数字是10010,多 余位的值超过规定的最低有效位值的一半,故 最低有效位应增1。若多余的5位是01111,则简 单的截尾即可。对多余的5位10000这种特殊情 况:若最低有效位现为0,则截尾;若最低有效 位现为1,则向上进一位使其变为0。 就近舍入 浮点运算 ??? 即朝数轴原点方向舍入,就是简单的截尾。 无论尾数是正数还是负数,截尾都使取值的绝 对值比原值的绝对值小。这种方法
文档评论(0)