版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本次课程要点:,1、掌握补码的乘法运算。 2、掌握原码的除法运算。,第二部分:第3章 数值运算及运算器,虽然原码乘法比补码乘法容易实现,但因为补码加减法简单,在以加减运算为主的通用机中操作数都用补码表示,所以这类计算机在做乘法时常使用补码乘法。 (1)校正法 校正法是将X补和Y补按原码规则运算,所得结果根据情况再加以校正,从而得到正确的XY补。补码乘法的统一表达式: XY补=X补(0.Y1Y2Yn)+-X补Ys,第二部分:第3章 数值运算及运算器,四、乘法运算,3、补码一位乘,(2)比较法Booth乘法,递推公式: Z0补=0 Z1补=2-1Z0补+(Yn+1-Yn)X补 Z2补=2-1Z1补
2、+(Yn-Yn-1)X补 Zn补=2-1Zn-1补+(Y2-Y1)X补 XY补=Zn补+(Y1-Ys)X补 式中,Z0补为初始部分积,Z1补Zn补依次为各次求得的累加并右移之后的部分积。,四、乘法运算,3、补码一位乘,第二部分:第3章 数值运算及运算器,判断位 Yn Yn+1 操 作 0 0 原部分积右移一位 0 1 原部分积加X补后右移一位 1 0 原部分积加-X补后右移一位 1 1 原部分积右移一位,(2)比较法Booth乘法 (续),四、乘法运算,3、补码一位乘,第二部分:第3章 数值运算及运算器,Booth乘法规则: 参加运算的数用补码表示; 符号位参加运算; 乘数最低位后面增加一位附
3、加位Yn+1,其初值为0; 由于每求一次部分积要右移一位,所以乘数的最低两位Yn、Yn+1的值决定了每次应执行的操作; 移位按补码右移规则进行; 共需做n+1次累加,n次移位,第n+1次不移位。,(2)比较法Booth乘法(续),四、乘法运算,3、补码一位乘,第二部分:第3章 数值运算及运算器,由于符号位要参加运算,部分积累加时最高有效位产生的进位可能会侵占符号位,故被乘数和部分积应取双符号位,而乘数只需要一位符号位。运算时仍需要有3个寄存器,各自的作用与原码时相同,只不过存放的内容均为补码表示而已。 例9:已知X=-0.1101,Y=0.1011;求XY。 X补=11.0011B,Y补=0.
4、1011C,0A -X补=00.1101,(2)比较法Booth乘法(续),四、乘法运算,3、补码一位乘,第二部分:第3章 数值运算及运算器,A C 附加位 说明,0 0.0 0 0 0 0.1 0 1 1 0,+-X补 0 0.1 1 0 1 C4C5=10,+-X补,0 0.1 1 0 1, 0 0.0 1 1 0 1 0 1 0 1 1 部分积右移一位,+0 0 0.0 0 0 0 C4C5=11,+0,0 0.0 1 1 0, 0 0.0 0 1 1 0 1 0 1 0 1 部分积右移一位,+X补 1 1.0 0 1 1 C4C5=01,+X补,1 1.0 1 1 0, 1 1.1 0
5、 1 1 0 0 1 0 1 0 部分积右移一位,+-X补 0 0.1 1 0 1 C4C5=10,+-X补,0 0.1 0 0 0, 0 0.0 1 0 0 0 0 0 1 0 1 部分积右移一位,+X补 1 1.0 0 1 1 C4C5=01,+X补,1 1.0 1 1 1,XY补=1.01110001 XY=-0.10001111,第二部分:第3章 数值运算及运算器,图2 Booth乘法流程图,第二部分:第3章 数值运算及运算器,四、乘法运算,4、补码两位乘,第二部分:第3章 数值运算及运算器,每次处理乘数中的两位,使速度提高一倍。 Z补=2-1Z补+(Yi+1-Yi)X补 Z补=2-1
6、Z补+(Yi-Yi-1)X补 = 2-2Z补+(Yi+1+Yi-2Yi-1)X补,第二部分:第3章 数值运算及运算器,四、乘法运算,4、补码两位乘,补码两位乘法的规则: 参加运算的数用补码来表示。符号位参加乘法运算。乘数的数值位个数为奇数时,用一个符号位,为偶数时乘数取双符号位。被乘数和部分积取3个符号位。 乘数的最低位增加一位附加位Yn+1,初始值为0。 逐次比较相邻3位Yi-1YiYi+1的值决定应执行的操作。移位按补码右移规则来实现 。 当乘数的数值位个数为奇数时,共需(n+1)/2累加和移位,但最后一次移1位;当乘数的数值位个数为偶数时,共需n/2+1次累加,n/2次移位(最后一次不移
7、位)。,例9:已知:X=0.01001,Y=-0.01101,采用两位补码求:XY。 X补=000.01001,Y补=1.0011,-X补=111.10111,2X补=000.10010,2-X补=111.01110 X补B, Y补C,第二部分:第3章 数值运算及运算器,四、乘法运算,4、补码两位乘(续),A C 附加位 说明,0 0 0.0 0 0 0 0 1.1 0 0 1 1 0,1 1 1.1 0 1 1 1, 1 1 1.1 1 1 0 1 1 1 1 1 0 0 1 部分积右移两位,XY补=1.1110001011 XY=-0.0001110101,第二部分:第3章 数值运算及运算
8、器,+X补 0 0 0.0 1 0 0 1 C4C5C6=001, +X补,0 0 0.0 0 1 1 0, 0 0 0.0 0 0 0 1 1 0 1 1 1 1 0 部分积右移两位,1 1 1.1 1 0 0 0, 1 1 1.1 1 1 0 0 0 1 0 1 1 1 1 部分积右移一位,+-X补 1 1 1.1 0 1 1 1 C4C5C6=110, +-X补,+-X补 1 1 1.1 0 1 1 1 C4C5C6=110, +-X补,五、除法运算,第二部分:第3章 数值运算及运算器,除法是乘法的逆运算,与乘法运算的处理思想相似,可以将n位除转化成若干次“减法移位”,也有些计算机具有由
9、大规模集成电路制造的阵列除法模块。,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(1)原码比较法 比较法类似于手工运算,只是为了便于机器操作,将除数右移改为部分余数左移,每一位的上商直接写到寄存器的最低位。设A寄存器中存放被除数(或部分余数),B寄存器中存放除数,C 寄存器用来存放商Q,若AB,则上商1,并减除数;若AB,则上商0。比较法需要设置比较线路,从而增加了硬件的代价。,图1 比较过程流程,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(1)原码比较法(续),五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(2)恢复余数法,恢复余数
10、法是直接作减法试探方法,不管被除数(或部分余数)减除数是否够减,都一律先做减法。若部分余数为正,表示够减,该位商上“1”;若部分余数为负,表示不够减,该位商上“0”,并恢复余数。,图2 恢复余数过程流程,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(2)恢复余数法(续),算法: (a)做减法试探 X-Y 若:余数符号为0,被除数除数,调整比例因子。 若: 余数符号为1,被除数除数,商“0”,恢复余数。,(b)被除数(余数)寄存器(A)与商寄存器 (C)联合左移一位。,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(2)恢复余数法(续),(c) 做减法试探,
11、新余数为正,上一次余数除数 ,够减, 商“1”,余数为负,上一次余数除数,不够减, 商“0”。恢复原来的余数。 (d) 重复(b)(c)步骤,直到商的位数=操作数位数。,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(2)恢复余数法(续),余数的符号与权的处理 : (小数除法),(1)让加符号前的商和余数都保持正值,当最后一步不够减时,应恢复余数(即:当余数为负数时,要加上除数,得到真正的余数),(2)进行了n步除之后,形式上的余数,应乘以2-n才为真正的余数的值,被除数(余数)采用2位符号位 (变形补码),五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(2
12、)恢复余数法(续),被除数 (余数):A 商 (C),00.1011 0.0000 | 初态(0)作减法 +)11.0011 x+-y补余数 11.1110 为负,商0,恢复余 +)00.1101 0.000|0 数+y 00.1011 (1)余数与商左 01.0110 0.00|00 移一位,减除数 +)11.0011 +-y补 ,余数为 00.1001 0.00|01 正,商“1” 01.0010 0.0|010 (2)余数与商左 +)11.0011 移一位,减除数 00.0101 0.0|011 +-y补 00.1010 0.|0110 余数为正,商“1”,x=0.1011, y=0.1
13、101, -y补=1.0011,例1: x=0.1011, y=0.1101,求x/y,(3)余数与商左 +)11.0011 移一位,减除数 +-y补 余数 11.1101 0.|0110 为负,商“0”, +)00.1101 恢复余数+y 00.1010 (4)余数与商左 01.0100 |0.1100 移一位,减除 +)11.0011 数+-y补 00.0111 0.1101 余数为正,商“1”,商值为:0.1101 ,x/y的商= 0.1101 余数为: 0.01112-4 x/y= 0.1101+ 0.0111/0.1101 2-4,第二部分:第3章 数值运算及运算器,(1)当余数为正
14、,商上“1”,做2ri-y的运算。 (2)当余数为负,商上“0”,做2ri+y的运算。,(3)重复(1)、(2),上商n(+1)次, 左移n次。,不恢复余数除法规则:,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(3)不恢复余数法,无符号数不恢复余数法流程图,开始,被除数=A、C 除数=B,A、C左移一位,A-BA,A0?,重复n-1次?,商1:1=C0,结束,Y,N,Y,N,商0:0=C0,A、C左移一位 A+BA,A、C左移一位 A-BA,A0?,N,A+BA,Y,原码不恢复余数除法由下面的通式表示: ri+1=2ri+(1-2Qi)Y 式中Qi为第i次所得的商,若部分
15、余数为正,则Qi=1,部分余数左移一位,下一次继续减除数;若部分余数为负,则Qi=0,部分余数左移一位,下一次加除数。由于加减运算交替地进行,故称为原码加减交替法。,五、除法运算,1、原码除法,第二部分:第3章 数值运算及运算器,(3)不恢复余数法(续),除法运算需要3个寄存器。A和B寄存器分别用来存放被除数和除数,C寄存器用来存放商,它的初值为0。运算过程中A寄存器的内容为部分余数,它将不断地变化,最后剩下的是扩大了若干倍的余数,只有将它乘上2-n才是真正的余数。 例2:已知:X=-0.10101,Y=0.11110,求:XY。 |X|=00.10101A,|Y|=00.11110B,0C
16、|Y|变补=11.00010,五、除法运算,第二部分:第3章 数值运算及运算器,(3)不恢复余数法(续),A C 说明,0 0.1 0 1 0 1 0.0 0 0 0 0,+|Y|变补 1 1.0 0 0 1 0 -|Y|,1 1.1 0 1 1 1 0.0 0 0 0 0 余数为负,商0, 1 1.0 1 1 1 0 左移一位,+|Y| 0 0.1 1 1 1 0 +|Y|,0 0.0 1 1 0 0 0.0 0 0 0 1 余数为正,商1, 0 0.1 1 0 0 0 左移一位,+|Y|变补 1 1.0 0 0 1 0 -|Y|,1 1.1 1 0 1 0 0.0 0 0 1 0 余数为负,商0, 1 1.1 0 1 0 0 左移一位,+|Y| 0 0.1 1 1 1 0 +|Y|,0 0.1 0 0 1 0 0.0 0 1 0 1 余数为正,商1, 0 1.0 0 1 0 0 左移一位,+|Y|变补 1 1.0 0 0 1 0 -|Y|,0 0.0 0 1 1 0 0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河北邯郸市易成人力资源有限公司招聘工作人员30名笔试备考试题及答案详解
- 2026南昌市劳动保障事务代理中心招聘2名西湖就业之家见习生笔试备考题库及答案详解
- 2026江苏宿迁市钟吾人才科技集团有限公司招聘1人笔试备考题库及答案详解
- 监事会企业合规监督协议
- 年会策划与舞台搭建协议
- 2026四川川交路桥有限责任公司招聘26人笔试备考题库及答案详解
- 线上学习曲线教学资源合同
- 2026宁夏哈纳斯液化天然气有限公司招聘笔试备考试题及答案详解
- 2026浙江杭州市志愿者工作指导中心招聘编外工作人员1人笔试备考题库及答案详解
- 吉安江旅航空服务有限公司2026年招聘派遣人员笔试参考题库及答案详解
- onenote培训教学课件
- 小学体育跆拳道教学活动设计
- 饲料卫生标准培训课件
- 药物性皮炎科普
- 2026年江西省铁路航空投资集团校园招聘(24人)参考笔试试题及答案解析
- 南充市人力资源和社会保障局局属参照管理事业单位2025年度公开遴选工作人员(2人)考试参考题库附答案解析
- 失禁性皮炎病人的护理
- 钢管厂安全培训内容课件
- 索尼摄像机DCR-TRV20E使用说明书
- 2025年中国宠物干细胞疗法行业市场全景分析及前景机遇研判报告 - 网
- 2025 整形外科女性乳房缩小术外科查房课件
评论
0/150
提交评论