资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
CH3 运算方法及运算器定点原码一位乘/除法 定点补码一位乘/除法运算器结构2第3章 运算方法及运算器 教学目的与要求l掌握定点数1位原码乘法的原理和运算过程l掌握定点数1位补码乘法的原理和运算过程l掌握定点数1位原码除法的原理和运算过程l掌握定点数1位补码的除法的原理和运算过程l了解浮点数四则运算的规则l掌握运算部件的构成 3第3章 运算方法及运算器 CH3 运算方法及运算器l一. 定点原码1位乘法l二. 定点补码1位乘法l三. 原码1位恢复余数除法l四. 原码1位不恢复余数除法l五. 补码1位加减交替除法l六. 浮点数算术运算l七. 运算器基本结构4第3章 运算方法及运算器 CH3 运算方法及运算器l一. 定点原码1位乘法l二. 定点补码1位乘法l三. 原码1位恢复余数除法l四. 原码1位不恢复余数除法l五. 补码1位加减交替除法l六. 浮点数算术运算l七. 运算器基本结构5第3章 运算方法及运算器 一. 定点原码1位乘法l手工乘法过程: 已知:X=+1101,Y=+1011,求:X*Y 积(十进制数143)1101 1011110111010000110110001111部分积乘数(十进制数11)被乘数(十进制数13)6第3章 运算方法及运算器 一.定点原码1位乘法l原理推导:l设:X原=Xf.X1X2 Xn,Y原=Yf.Y1Y2 Ynl则有: Z原=X原Y原=(XfYf) | (X1X2Xn)(Y1Y2 Yn) l设:|X|Y|=X(0.Y1Y2Y3)=X(Y12-1+Y22-2+Y32-3)=2-1(X Y1+2-1(X Y2+2-1(X Y3+0) Z0 Z1 Z2 Z37第3章 运算方法及运算器 一.定点原码1位乘法l递推公式:lZ0=0 Z1=2-1(Z0+XYn) Z2=2-1(Z1+XYn-1) Zn=XY=2-1(Zn-1+XY1)l运算规则: 两个n位数相乘,可用n次加法和右移1位操作来实现 初始部分积Z0=0,乘数末位决定加“X”还是“0” 每次加法时,部分积高位与被乘数相加 符号单独处理,由异或产生8第3章 运算方法及运算器 一.定点原码1位乘法l硬件实现l设置3个寄存器:部分积寄存器A,被乘数寄存器B ,乘数寄存器C(部分积寄存器)和1个计数器。lN位数乘N位数可以看做求N次N位数乘1位数,每 求出一个加数就与上次的部分积相加。l每次求出的部分积右移1位,以便与下一次的部分积 相加。一共右移N次,加N次。l部分积右移时,乘数寄存器也右移1位。乘数寄存器 最低位控制相加数,最高位接收移出的部分积。 lN位加法器实现2个N位数相乘。9第3章 运算方法及运算器 一.定点原码1位乘法l逻辑图部分积寄存器R0乘数寄存器R1加法器ALU乘法计数器I被乘数寄存器R2CY=MY2EY。均为规格化数 。l执行以下五步完成运算。33第3章 运算方法及运算器 浮点数的加、减运算方法l(1) “对阶”操作l比较两浮点数阶码的大小,求出其差E ,并保留其大值E,E=max (EX,EY)。当 E0时,将阶码值小的数的尾数右移 E位,并将其阶码值加上E,使两数的 阶码值相等,这一操作称之为“对阶”。尾 数右移时,对原码表示的尾数,符号位 不参加移位,尾数数值部分的高位补0; 对补码表示的尾数,符号位参加右移, 并保持原符号位不变34第3章 运算方法及运算器 浮点数的加、减运算方法l(2) 尾数的加/减运算l执行对阶后,两尾数进行加/减运算,得 到两数之和/差。35第3章 运算方法及运算器 浮点数的加、减运算方法l(3) 规格化操作l规格化的目的是使尾数部分的绝对值尽 可能以最大值的形式出现。设尾数M的数 值部分有n位,规格化数的范围为:1/2 M原1-2-n,1/2M补1- 2-n(当M为正),1/2M补1(当 M为负)。l当运算的结果(和/差)不是规格化数时, 需将它转变成规格化数。 36第3章 运算方法及运算器 浮点数的加、减运算方法l规格化操作的规则是:l 如果结果的两个符号位的值不同,表 示加/减运算尾数结果溢出,此时将尾数 结果右移1位,阶码E+1,称为“向右规格 化”,简称“右规”。l 如果结果的两个符号位的值相同,表 示加/减运算尾数结果不溢出。但若最高 数值位与符号位相同,此时尾数连续左 移,直到最高数值位与符号位的值不同 为止;同时从E中减去移位的位数,这称 之为“向左规格化”,简称“左规”。37第3章 运算方法及运算器 浮点数的加、减运算方法l(4) 舍入l在执行右规或对阶时,尾数低位上的数 值会移掉,使数值的精度受到影响,常 用“0”舍“1”入法。38第3章 运算方法及运算器 浮点数的加、减运算方法l(5) 检查阶码是否溢出l阶码溢出表示浮点数溢出。在规格化和 舍入时都可能发生溢出,若阶码正常, 加/减运算正常结束。若阶码下溢,则置 运算结果为机器零,若上溢,则置溢出 标志。39第3章 运算方法及运算器 浮点数的加、减运算方法l对阶:E=Ex-Ey;小阶向大阶看齐。l实现尾数的加(减)运算。l规格化处理l如果结果的两个符号位的值不同,表示运算尾数结果 溢出,应“右规”,即尾数结果右移一位,阶码+1l如果最高数值位与符号位相同,应“左规”,此时尾数 连续左移,直到最高数值位与符号位的值不同为止; 同时从阶码中减去移位的位数l舍入处理l0舍1入。移出的最高位为1,M最低位+1l如果+1后,M又溢出,再右规1次l检查是否溢出l下溢,机器0l上溢,置溢出标志40第3章 运算方法及运算器 浮点数的加、减运算方法41第3章 运算方法及运算器 浮点数的加、减运算方法l两浮点数相加,求X+Y。l已知:X=20100.11011011, Y=2100(- 0.10101100) l解 :计算过程:l 对阶操作l阶差E=EX补+-EY补=00010+11100=11110lX阶码小,MX右移2位,保留阶码E=00100。lMX补=00 00 110 110 11l下划线上的数是右移出去而保留的附加位。l 尾数相加lMX补+MY补 =000011011011+1101010100=1110001010 1142第3章 运算方法及运算器 浮点数的加、减运算方法l 规格化操作 左规,移1位,结果=1100010101 10;阶码-1,E=00011。 舍入 附加位最高位为1,在所得结果 的最低位+1,得新结果: M补=1100010110,M=- 0.11101010。 判溢出 阶码符号位为00,故不溢出,最 终结果为: X+Y=2011(- 0.11101010) 43第3章 运算方法及运算器 浮点数乘法运算方法lX*Y=(Mx*My)*2(Ex+Ey)l规则:l检测操作数是否为0,若其中有一个操作数为0,则 置结果为0;l阶码相加,阶符相同的加可能会溢出,若溢出,则 作溢出处理;(阶码一般是移码)l尾数相乘;l尾数乘积规格化,只有左规.l舍入l截断处理:无条件地丢掉正常尾数最低位之后的全部数值l舍入处理:运算过程中保留右移中移出的若干高位的值,然 而再按某种规则用这些位上的值修正尾数l判溢出44第3章 运算方法及运算器 浮点数除法运算方法lX/Y=(Mx/My)*2(Ex-Ey)l规则:l检测操作数是否为0,并置结果数符l若被除数为0,则商为0;若除数为0,则 置溢出;l尾数调整,使得|Mx|My|l被除数阶码减除数阶码l被除数尾数除以除数尾数l结果规格化45第3章 运算方法及运算器 CH3 运算方法及运算器l一. 定点原码1位乘法l二. 定点补码1位乘法l三. 原码1位恢复余数除法l四. 原码1位不恢复余数除法l五. 补码1位加减交替除法l六. 浮点数算术运算l七. 运算器基本结构46第3章 运算方法及运算器 七. 运算器基本结构l单总线结构的运算器 47第3章 运算方法及运算器 七. 运算器基本结构l双总线结构的运算器 48第3章 运算方法及运算器 七. 运算器基本结构l三总线结构的运算器 49第3章 运算方法及运算器 作业lPage 61 l3.2l3.3l3.550第3章 运算方法及运算器
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号