计算机组成原理第5讲定点除法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机组成原理第5讲定点除法.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第5讲定点除法.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理Principles of Computer Organization广义双语教学课程青岛理工大学 校级精品课程1第第3章章 运算方法和运算部件运算方法和运算部件(4)Several algorithms exist to perform division in digital designs.These algorithms fall into two main categories:slow division and fast division.Slow division algorithms produce one digit of the final quotient p
2、er iteration.Examples of slow division include restoring,non-performing restoring,non-restoring,and SRT division.Fast division methods start with a close approximation to the final quotient and produce twice as many digits of the final quotient on each iteration.Newton-Raphson and Goldschmidt fall i
3、nto this category.2补码一位乘法补码一位乘法Tows complement MultiplicationBooths multiplication algorithm is a multiplication algorithm that multiplies two signed binary numbers in twos complement notation.The algorithm was invented by Andrew Donald Booth in 1951.比较法比较法(又称又称Booth法法)是实现补码一位乘法的一种方案是实现补码一位乘法的一种方案。M
4、odern computers embed the sign of the number in the number itself,usually in the twos complement representation.That forces the multiplication process to be adapted to handle twos complement numbers,and that complicates the process a bit more.3补码一位乘法补码一位乘法设 X补=X0.X1X2Xn-1Xn ,Y补=Y0.Y1Y2Yn-1Yn 根据校正法 X
5、Y补=X补(0.Y1Y2Yn-1Yn)+-X补Y0=X补(-Y0+Y12-1Y22-2Yn 2-n)式中,式中,Y0是符号位是符号位(“0”为正,“1”为负),Yn+1是在乘数是在乘数最低位最低位Yn后增设的附加位,初值为后增设的附加位,初值为0。=X补-Y0+(Y1-Y12-1)+(Y22-1-Y22-2)+(Yn 2(n-1)-Yn 2-n)=X补(Y1-Y0)+(Y2-Y1)2-1+(Yn-Yn-1)2-(n-1)+(0-Yn)2-n=X补(Y1Y0)+(Y2Y1)2-1+(Yn+1Yn)2-n=X补补则 XY补=X补(Y0+)48页4P0补补 0 开始时,部分积为开始时,部分积为0,然
6、后在上一步的部分积上加然后在上一步的部分积上加 (Yi+1Yi)X补补(i=n,2,1,0),再右移一位,得到新的部),再右移一位,得到新的部分积。如此重复分积。如此重复n+1步,最后一次不移位,得到步,最后一次不移位,得到XY补补。从该递推公式可归纳出补码一位比较乘法的运算规则递推公式(递推公式(Booth公式)公式):P1补补 P0补补+(Yn+1Yn)X补补21P2补补 P1补补+(YnYn1)X补补21Pi补补 Pi1补补+(Yni+2Yni+1)X补补21Pn补补 Pn1补补+(Y2Y1)X补补21Pn+1补补 Pn补补+(Y1Y0)X补补XY补=X补(Y1Y0)+(Y2Y1)2-1
7、+(Yn+1Yn)2-n=XY补补部分积的初值0位积+部分积然后右移1位5补码一位比较乘法的运算规则:补码一位比较乘法的运算规则:参加运算的数用补码表示,符号位一并参加运算。参加运算的数用补码表示,符号位一并参加运算。被乘数和部分积取双符号位,乘数取单符号位。被乘数和部分积取双符号位,乘数取单符号位。乘数末位增设附加位乘数末位增设附加位Yn+1,其初始值为,其初始值为0。乘数末位乘数末位Yn与附加位与附加位Yn+1构成各步运算的判断位:构成各步运算的判断位:按照上述算法进行按照上述算法进行n+1步操作,但第步操作,但第n+1步不再移位。步不再移位。右移必须按补码右移规则进行。右移必须按补码右移
8、规则进行。部分积累加时最高有效位产生的进位是有效数值,可以用第部分积累加时最高有效位产生的进位是有效数值,可以用第二符号位暂存起来,第一符号位表示正确的符号。二符号位暂存起来,第一符号位表示正确的符号。0 1 部分积加部分积加X补补后右移一位后右移一位 Y i+1-Y i=11 0 部分积加部分积加-X补补后右移一位后右移一位 Y i+1-Y i=-1Yn Y n+1 操操 作作 0 0 部分积加部分积加0后右移一位后右移一位 Y i+1-Y i=01 1 部分积加部分积加0后右移一位后右移一位 Y i+1-Y i=06【例【例3】X+0.1011B,Y0.1101B,用补码一位比较乘法计算用
9、补码一位比较乘法计算XY。解:解:X补补Y补补X补补00.10111.001111.0101 运算过程中每一个新的部分积都是在上一次部分积的基础上运算过程中每一个新的部分积都是在上一次部分积的基础上,根据根据(Yi+1Yi)来决定是加来决定是加X补补或是加或是加-X补补或加零或加零。机器不做机器不做减法减法,而是采用比较相邻两位的结果来决定上述操作的而是采用比较相邻两位的结果来决定上述操作的,故称比故称比较法较法。Tows complement MultiplicationBooths algorithm involves repeatedly adding one of two predet
10、ermined values A and S to a product P,then performing a rightward arithmetic shift on P.7部分积部分积 0 0.0 0 0 0部分积部分积/乘数乘数 附加位附加位 1.0 0 1 1 0说说 明明P0补补 0,Yn+10XY补补=11.011100011 1 0 1 1 1 0 0 0 1 最后一步不移位最后一步不移位+1 1 0 1 0 1 YnYn+1 10,加,加-X补补0 0 0 0 1 0 0 0 0 1 1 0 右移一位,得右移一位,得P4补补0 0 0 1 0 0+0 0 0 0 0 0 Yn
11、Yn+1 00,加,加00 0 0 1 0 0 0 0 1 1 0 0 右移一位,得右移一位,得P3补补0 0 1 0 0 0+0 0 1 0 1 1 YnYn+1 01,加,加X补补1 1 1 1 0 1 0 1 1 0 0 1 右移一位,得右移一位,得P2补补1 1 1 0 1 0+0 0 0 0 0 0 YnYn+1 11,加,加01 1 1 0 1 0 1 1 0 0 1 1 右移一位,得右移一位,得P1补补1 1 0 1 0 1+1 1 0 1 0 1 YnYn+1 10,加,加-X补补XY=0.100011118补码一位比较乘法流程图补码一位比较乘法流程图011000 或或11 i
12、=0,PP0 0 补补 =0=0PPi i 补补+-X+-X补补PPi i 补补 +0+0PPi i 补补+X+X补补PPi i 补补,Y,Y补补右移一位右移一位 i+1i开始开始YnYn+1=in+1?YN结束结束9阵列乘法器阵列乘法器高速的并行乘法运算高速的并行乘法运算The engineering implementation of binary multiplication consists of taking a very simple mathematical process and complicating it a lot,in order to do fewer additi
13、ons;a modern processor can multiply two 64-bit numbers with 16 additions(rather than 64),and can do several steps in parallel.10 3.4 二进制除法运算二进制除法运算Binary(Fixed-Point)Division Arithmetic 原码除法原码除法补码除法补码除法Tows complement DivisionUnsigned Binary Division11计算机的除法运算对除数和被除数的大小有限制。首先,除数不能为零。其次,定点除法运算可能会发生溢出
14、。对于定点小数,若被除数大于或等于除数,则商将大于或等于1,发生溢出。所以,小数除法要求小数除法要求 0|被除数被除数|除数除数|。对于定点整数,商也应是整数。要求 0|除数|被除数|。计算机在做除法之前,必须先检查除数和被除数是否为零。若除数为零,则转出错处理。若被除数为零,则直接得出商为零。若除数和被除数都不为零,则判断是否可能发生溢出。若除数是n位,则得到n位的商Quotient和n位的余数Remainder。整数除法若被除数Dividend只有n位,是不会发生溢出的。但是,若被除数为2n位,则被除数的高n位的绝对值必须小于除数Divisor的绝对值,否则,将发生溢出。小数除法,只要满足
15、小数除法,只要满足|被除数被除数|除数除数|就不会溢出。就不会溢出。12手工计算二进制除法的方法0.1011 被除数除数 0.1101商0.先判断被除数与除数的大小若被除数小,则上商0,并把被除数的下一位(若存在)移下来;或在余数最低位补0,再用余数与右移一位的除数比较,若够除则上商1,否则上商0。然后继续重复以上步骤,直至除尽(余数为0)或求得的商的位数满足要求为止。01101部分余数 01001001101Partial Remainder 0010100011010011100110111 0 1113计算机实现除法时,要把除数右移改为被除数要把除数右移改为被除数/余数左移余数左移。要求
16、计算机把求得的商直接写进商寄存器的每个对应位也是不可取的,通常是把商上到商寄存器的最低位,并把部分商左移通常是把商上到商寄存器的最低位,并把部分商左移一位一位。运算过程中,存放被除数/余数和商的寄存器一同移位。计计算完成后,商寄存器中是商的尾数,原来存放被除数的寄存器中算完成后,商寄存器中是商的尾数,原来存放被除数的寄存器中是余数是余数。做减法时,对于n位的除数,也不要求2n位的加法器,只需用n位的加法器即可。14原码除法运算原码除法运算原码除法,商的符号位是除数和被除数的符号位的异或值,原码除法,商的符号位是除数和被除数的符号位的异或值,商的值是用被除数的绝对值除以除数的绝对值得出的。商的值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 定点 除法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内