计算机组成原理7-运算方法-乘除-浮点-运算器

计算机组成原理7-运算方法-乘除-浮点-运算器

ID:38302636

大小:616.81 KB

页数:60页

时间:2019-06-08

计算机组成原理7-运算方法-乘除-浮点-运算器_第1页
计算机组成原理7-运算方法-乘除-浮点-运算器_第2页
计算机组成原理7-运算方法-乘除-浮点-运算器_第3页
计算机组成原理7-运算方法-乘除-浮点-运算器_第4页
计算机组成原理7-运算方法-乘除-浮点-运算器_第5页
资源描述:

《计算机组成原理7-运算方法-乘除-浮点-运算器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实现乘除法运算的方案:1、使用乘除运算较多,速度要求高时,硬件直接实现;2、一般情况,配置乘除法选件;3、而对速度要求不高的机器,用软件实现。定点乘法运算设[X]原=Xs.X1X2…Xi…Xn-1Xn=Xs.Xv[Y]原=Ys.Y1Y2…Yi…Yn-1Yn=Ys.Yv则乘积[Z]原=Zs.Zv=(XsYs).(Xv*Yv)A.手算方法例如求A=0.1101和B=0.0110的乘积原码乘法(原码一位乘法)运算规则(a)从乘数的最低位开始,用乘数B的每个二进制位去乘被乘数A,若B的某个二进制位为1,则得位积A;如为0,则得

2、位积0。(b)B的各位分别乘以A的所得的位积,因为位权不同,逐次向左移位,即在空间上按一定位数错开,这样逐位进行下去,直到乘数各位都乘完为止。(c)把经过移位对准的各次位积相加起来即得结果。原码乘法(原码一位乘法)缺点第一、将多个数一次相加,机器难以实现。一般的加法器,只能把两个输入数相加,多个位积的同时输入是无法实现的。第二、乘积位数增长了一倍,即2n,而机器字长只有n位。原码乘法(原码一位乘法)(a)把一次求和的操作,变成逐步累加求部分积的操作(b)将求积过程中逐位按权左移位积的操作,改为位积不动,而是上次部分积右

3、移的操作B.机器算法:若用Zi表示第i次部分积,则Z0=0Z1=2-1(BnA+Z0)Z2=2-1(Bn-1A+Z1)…Zi=2-1(Bn-i+1A+Zi-1)…Zn=2-1(B1A+Zn-1)Zn即为A和B的乘积,即A·B=Zn改进例已知X=-0.1011Y=0.1001求[X·Y]原解[X]原=1.1011[Y]原=0.1001

4、X

5、=0.1011

6、Y

7、=0.1001则按原码一位乘法运算规则,求[X·Y]原的数值部分。运算过程如下所示:+)0.0000+)0.0000+)0.1011+)0.10110.00010.

8、01100.11000.00100.00100.01010.01010.10110.0000右移一位得部分积Z4,乘数同时右移一位右移一位得部分积Z3,乘数同时右移一位右移一位得部分积Z2,乘数同时右移一位右移一位得部分积Z1,乘数同时右移一位Y1=1,加

9、X

10、Y2=0,加0Y3=0,加0Y4=1,加

11、X

12、设部分积初值Z0=0操作说明乘数部分积10011100111001110011低位积高位积原码一位乘法运算过程例已知X=-0.1011Y=0.1001求[X·Y]原解[X]原=1.1011[Y]原=0.1001

13、X

14、

15、=0.1011

16、Y

17、=0.1001则按原码一位乘法运算规则,求[X·Y]原的数值部分。所以

18、X

19、·

20、Y

21、=0.01100011,而Zs=XsYs=10=1最后求得[X·Y]原=1.01100011原码一位乘法逻辑结构原理图Cx+1SRTiQLDR0LDR1部分积Z乘数Y计数器iY/2Y∑/2Z乘法启动YnYnYnR1ZsXsYsT1,T2,…R0R0被乘数X加法器补码一位乘法(1)校正法(2)比较法补码乘法快速乘法运算1.多位乘法2.跳过连续“0”和跳过连续“1”3.阵列乘法器设被除数[X]原=Xs.X1X2…Xn

22、除数[Y]原=Ys.Y1Y2…Yn商[Q]原=Qs.Q1Q2…Qn余数[R]原=Rs.R1R2…Rn则它们之间有如下关系:[X]原=[Y]原·[Q]原+[R]原符号处理Zs=XsYs定点除法运算------原码一位除法1、手算:假设被除数X=0.1001,除数Y=0.1011,计算X/Y0.1101商Q0.1011/----------------------------------------------0.10010X(R0)-0.010112-1Y,除数右移一位,减------------------------

23、----------0.001110R1-0.0010112-2Y,除数右移一位,减----------------------------------0.0000110R20.00010112-3Y,除数右移一位,不减----------------------------------0.00001100R3-0.000010112-4Y,除数右移一位,减----------------------------------0.00000001R4得商X/Y=0.1101,余数=R4=0.00000001特点:(1)每

24、次都是由心算来比较余数和除数的大小,余数大时,商1;余数小时,商0。第一次比较时,余数就是被除数。(2)每做一次减法,总是保持余数不动,而除数向右移一位。(3)商的符号单独处理。为适应机器运算,需要进行改进:(1)用补码加代替直接减(两个符号位)(2)除数右移改为余数左移。原码一位除法2、在计算机中,小数点是固定的,不能简单地用手

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。