《运算方法和运算器》PPT课件.ppt
《《运算方法和运算器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《运算方法和运算器》PPT课件.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理主编:杨光煜主编:杨光煜第4章运算方法和运算器计算机中的运算包括算术运算和逻辑运算两大类。算术运算是指带符号数的加法、减法、乘法和除法运算。由于在计算机中数值有定点和浮点两种表示方式,因此算术运算应有定点数的算术运算和浮点数的算术运算之分。逻辑运算是指不考虑进位“位对位”的运算,参加逻辑运算的操作数,常被称作逻辑数。一般来说,逻辑数是不带符号的整数,广义的逻辑运算可定义为非算术运算。本章主要讨论各种运算的运算方法及其实现。运算器就是计算机中完成各种运算的一个必不可少的重要部件。定点加减法运算定点乘法运算定点除法运算浮点运算的基本思想运算器的基本结构及分类4.6浮点运算器基本思路小
2、结4.1定点加减法运算4.1.1补码加、减法运算4.1 定点加减法运算4.1定点加减法运算4.1定点加减法运算4.1.2反码加、减法运算对于反码加、减法运算有如下的公式:4.1定点加减法运算4.1定点加减法运算4.1定点加减法运算4.1定点加减法运算4.1.3定点加、减法中的溢出问题所谓“运算溢出”是指运算结果大于机器所能表示的最大正数或者小于机器所能表示的最小负数,这就是说,运算溢出只对带符号数的运算有效。下面举例说明补码加法运算中什么情况下会产生运算溢出。【例4-10】两个正数相加【例4-11】两个负数相加4.1定点加减法运算常用的判定溢出方法有以下三种:4.1定点加减法运算4.1定点加减
3、法运算4.1定点加减法运算4.1.4加法器计算机中的加、减、乘、除四则运算,都是在加法器的基础上再辅之以适当的电路来实现的。因此,加法运算电路是计算机中最基本的运算电路。本节先介绍加法运算的核心部件半加单元和全加单元。1.半加单元不考虑进位输入时,两数码、相加称为半加。图4-1(a)是半加单元的真值表。由此表可以得出半加和的表达式如下:4.1定点加减法运算4.1定点加减法运算4.2定点乘法运算4.2.1原码乘法运算及原码乘法器首先要给原码乘法下个定义:“符号位单独运算,将两个操作数的数码位相乘,最后给乘积冠以正确符号”称作原码乘法。从最低位开始,每次取一位乘数与被乘数相乘,最后累加结果,称作“
4、原码一位乘法”。原码一位乘法的操作过程与十进制乘法运算的过程很类似,下面通过一个具体例子来说明。4.2定点乘法运算4.2定点乘法运算这是二进制乘法的手算过程。这一过程如果在计算机中实现,存在两个问题:其一是两个n位数相乘,需要2n位的加法器,这不合算;其二是n此部分积一次累加,实现有困难,而这两个问题只需要操作上稍微改动就可以得到满意的解决。我们首先假设被乘数与乘数为N+1位的原码,分别为:4.2定点乘法运算 在计算机中实现上述乘法过程的具体做法是:每得到一次部分积,立即与上次部分积相加,然后将结果右移一位,待n次的“相加右移”操作结束,乘法运算过程也告结束。用递推公式描述如下:4.2定点乘法
5、运算我们还用上面的这个例子,在计算机内实现原码一位乘法的操作过程如下:4.2定点乘法运算 可以看出,上面的例子中经过四次相加右移的操作,在粗黑线左方可得到正确的运算结果,最后给它冠以正确的符号“1”,所以 从上述过程来看,两个n位带符号数相乘需要一个n+1位加法器。并且需要两个n+1位寄存器,操作前分别存放部分积和乘数Y,操作后分别存放最后乘积的高n位和低n位,并要求这两个寄存器能连接起来一起进行右移操作。4.2定点乘法运算 4.2.2 补码乘法运算及补码乘法器 “补码乘法”是指采用操作数的补码进行乘法运算,最后乘积仍为补码,能自然得到乘积的正确符号。从乘数的最低位开始,每次取一位乘数与被乘数
6、相乘,经过(n+1)次“相加右移”操作完成乘法运算的过程被称为“补码一位乘法”。4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.2定点乘法运算4.3 定点除法运算 定点除法运算与定点乘法运算类似,也有原码除法和补码除法之分。本节先讨论原码除法运算。N位原码除法是指被除数为2n位,除数、商数和余数均为n位。在实际的运算中,如果被除数也是n位,则需扩展为2n位后再进行运算。原码除法运算有恢复余数法和不恢复余数法(加减交替法)之分。4.3 定点除法运算 恢复余数法的计算与手算过程很类似。两个原码数相除
7、,商的符号为两数符号的异或值,数值则为两数绝对值相除后的结果。在计算机中,右移除数,可以通过左移被除数(余数)来替代,左移出界的被除数(余数)的最高位,对运算不会产生任何影响。另外,上商0还是1,用做减法判断结果的符号为正还是负。当差为负时,上商为0,同时还应该把除数再加到差上去,恢复余数为原来的正值之后再将其左移一位。若减得的差为0或为正值,就没有恢复余数的操作。上商为1,余数左移一位。4.3 定点除法运算 不恢复余数法是对恢复余数法的一种修正。当某一次得的差值(余数)为负时,不是恢复它,而是继续求下一位商,但用加上除数(+Y)的办法来取代(Y)操作,其他操作依然不变,和恢复余数法是一样的。
8、4.3 定点除法运算 由此可得不恢复余数法的计算规则:当余数为正时,商上1,求下一位商的办法,是余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法,是余数左移一位,再加上除数。但若最后一次上商为0,而又得到正确余数,则在这最后一次仍需恢复余数。4.4 浮点运算的基本思想 前面已经讲过,浮点数通常被写成X=Mx2Ex 的形式,其中Mx是该浮点数的尾数,一般为绝对值小于1的规格化的二进制小数,在 计算机中通常使用补码或原码的形式表示。Ex为该浮点数的阶码,一般为二进制整数,在计算机中多用补码或移码表示。假设有两个浮点数:X=Mx2Ex,Y=My2Ey 要完成XY运算,通常需要以下几个
9、步骤:4.4 浮点运算的基本思想1对阶操作 两浮点数进行加减,首先要看两数的阶码是否相同,也就是看两数的小数点位置是否对齐。若二数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运算。反之,若二数阶码不同,表示小数点位置没有对齐,此时必须使二数阶码相同,这个过程称为“对阶”。要进行对阶,首先应求出两数阶码Ex和Ey之差,即E=Ex-Ey 若E=0,表示两数阶码相等,即Ex=Ey;若ExEy,则需要通过尾数的移动以改变Ex或Ey,使之相等。原则上,既可以通过Mx移位以改变Ex来达到Ex=Ey,也可以通过My移位以改变Ey来实现Ex=Ey。但是,由于浮点表示的数多是规格化的,尾数左移会引起最高有
10、效位的丢失,造成很大误差。尾数右移虽引起最低有效位的丢失,但造成的误差较小。基于这种考虑,对阶操作规定使尾数右移,尾数右移后阶码作相应增加。因此,在进行对阶时,总是使小阶向大阶看齐,即小阶的尾数向右移位(相当于小数点左移)每右移一位,其阶码加1,直到两数的阶码相等为止,右移的位数等于阶差的绝对值|E|,这种方法同时也是为了保证浮点数的尾数部分为纯小数。尾数右移时,如果是原码形式的尾数,符号位不参与加移位,尾数高位补0;如果尾数采用补码形式,则符号位要参加移位并使自己保持不变。4.4 浮点运算的基本思想2尾数加减运算尾数加减运算 对阶完毕后就可对尾数进行加减运算。不论是加法运算还是减法运算,都按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算方法和运算器 运算 方法 运算器 PPT 课件
限制150内