计算机组成原理1计算机组成原理计算机组成原理2025年1月27日星期一定点乘法运算计算机组成原理2借助加法器配置相应部件实现乘法运算设置专用乘法器实现乘法运算执行乘法运算子程序实现乘法运算定点乘法运算原码乘法运算方法原码乘法运算实现补码乘法运算方法补码乘法运算实现计算机组成原理3设n位被乘数和乘数用定点小数表示被乘数[x]原=xf.xn-1…x1x0乘数[y]原=yf.yn-1…y1y0则乘积[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)式中:xf为被乘数符号,yf为乘数符号。原码乘法1.乘法的手工算法一、原码串行乘法运算符号位直接异或即可得到乘积的符号仅仅需要考虑其数值部分的计算以定点小数为例进行讨论计算机组成原理4(2)手工运算过程:设x=0.1101,y=0.10110.1101(x)0.1011(y)110111010000+11010.10001111(z)(1)乘积符号的运算规则:同号相乘为正,异号相乘为负。(1)机器通常只有n位长,两个n位数相乘,乘积可能为2n位。(2)只有两个操作数相加的加法器难以胜任将n位积一次相加起来的运算。机器与人们习惯的算法不同之处:计算机组成原理50.1101x×0.1011y0.00001101x共4次右移0.0001101x共3次右移0.000000x共2次右移+0.01101x共1次右移0.100011112.适合定点机的形式为了适合两个操作数相加的加法器,将xy改写成下面形式:xy=x(0.1011)=0.1x+0.00x+0.001x+0.0001x=0.1{x+0.1[0+0.1(x+0.1x)]}=2-1{x+2-1[0+2-1(x+2-1x)]}从内向外逐次进行移位累加计算机组成原理6形成递推公式:令zi表示第i次部分积,则根据从内到外的原则有:z0=0z1=2-1(ynx+z0)z2=2-1(yn-1x+z1)┊zi=2-1(yn-i+1x+zi-1)┊zn=xy=2-1(y1x+zn-1)特点:每次只需要相加两个数,然后右移一位。且相加的两个数(部分积和位积)都只有n位,因而不需要2n位的加法器。一般而言,设被乘数x,乘数y都是小于1的n位定点正数:其乘积为:x·y=x(0.y1y2......yn)=x(y12-1+y22-2+…+yn2-n)=2-1(y1x+2-1(y2x+2-1(…+2-1(yn-1x+2-1(ynx+0))…)))计算机组成原理7开始i=0,0→∑i=0,0→∑Yn=1Yn=1∑+0→∑∑+0→∑∑+X→∑∑+X→∑∑Y右移一位i+1→i∑Y右移一位i+1→ii=ni=nX0⊕Y0→P0X0⊕Y0→P0结束YNNY原码乘法算法流程图原码乘法算法流程图加法次数,n次作为加法,一定移位符号位单独计算计算机组成原理8部分积乘数说明最后结果:xy=0.1000111100.0000yf1011z0=0+00.1101y4=1,+x00.110100.01101yf101右移,得z1+00.1101y3=1,+x01.001100.100111yf10右...