版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本次课程要点:本次课程要点:1 1、掌握不同码制的移位运算。、掌握不同码制的移位运算。2 2、掌握原码、补码的乘法运算。、掌握原码、补码的乘法运算。第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器1 1、逻辑移位、逻辑移位三、移位运算三、移位运算n 按操作性质可分为三种类型:按操作性质可分为三种类型: 逻辑移位、循环移位、算术移位。逻辑移位、循环移位、算术移位。只有数码位置的变化,而无数量的变化。只有数码位置的变化,而无数量的变化。左移:低位补左移:低位补0 0。 右移:高位补右移:高位补0 0。例例1 1
2、:A A寄存器的初值为寄存器的初值为 1011010110110101 逻辑右移一位后为逻辑右移一位后为 0 010110101011010 逻辑左移一位后为逻辑左移一位后为 011010101101010 0第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器2 2、循环移位、循环移位三、移位运算三、移位运算 寄存器两端触发器有移位通路,形成闭合的寄存器两端触发器有移位通路,形成闭合的移位环路。移位环路。例例2 2:A A寄存器的初值为寄存器的初值为 1001100110011001循环右移一位后为循环右移一位后为 1 110011001001100循环左移一位后为循环左移一
3、位后为 001100100110011 1第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器3 3、算术移位、算术移位三、移位运算三、移位运算数的符号不变,而数值发生变化。数的符号不变,而数值发生变化。左移一位将使数值扩大一倍(乘以左移一位将使数值扩大一倍(乘以2 2)右移一位则使数值缩小一倍(乘以右移一位则使数值缩小一倍(乘以1/21/2)第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器3 3、算术移位(续)、算术移位(续)三、移位运算三、移位运算(1 1)正数:原码、补码、反码左右移位时,空)正数:原码、补码、反码左右移位时,空位均补入位均补入0 0(
4、符号不变)。(符号不变)。例例3 3:A A寄存器初值:寄存器初值:0.01100.0110左移一位:左移一位:0.1100.1100 0右移一位:右移一位:0.0.0 0011011第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器3 3、算术移位(续)、算术移位(续)三、移位运算三、移位运算(2 2)负数:)负数:v原码:符号位不变(为原码:符号位不变(为1 1),空位补),空位补0 0。例例4 4: A A寄存器的初值为寄存器的初值为 1.01101.0110 算术左移一位后为算术左移一位后为 1.1101.1100 0 算术右移一位后为算术右移一位后为 1.1.0 0
5、011011v补码:左移后的空位补补码:左移后的空位补0 0,右移后的空位补,右移后的空位补1 1。第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器3 3、算术移位(续)、算术移位(续)三、移位运算三、移位运算例例5 5:初值:初值:1.10111.1011左移一位:左移一位:1.0111.0110 0右移一位:右移一位:1.1.1 1101101v反码:移位后的空位补反码:移位后的空位补1 1。例例6 6:初值:初值:1.10111.1011左移一位:左移一位:1.0111.0111 1右移一位:右移一位:1.1.1 1101101第二部分:第第二部分:第3 3章章 数值
6、运算及运算器数值运算及运算器四、乘法运算四、乘法运算v 实现乘除运算的方案:实现乘除运算的方案:1 1、软件实现、软件实现2 2、设置专用的乘、除法器、设置专用的乘、除法器3 3、在加法器基础上增加逻辑线路、在加法器基础上增加逻辑线路 在计算机中,乘法运算大多数由累加与移在计算机中,乘法运算大多数由累加与移位来实现,也有些机器中具有由大规模集成电位来实现,也有些机器中具有由大规模集成电路制造的阵列乘法模块。路制造的阵列乘法模块。 原码一位乘法是从手算演变而来的,即用原码一位乘法是从手算演变而来的,即用两个操作数的绝对值相乘,乘积的符号为两操两个操作数的绝对值相乘,乘积的符号为两操作数符号的异或
7、值(同号为正,异号为负)。作数符号的异或值(同号为正,异号为负)。 乘积乘积P=|X|Y| 符号符号Ps=Xs Ys 式中:式中:Ps为乘积的符号,为乘积的符号,Xs和和Ys为被乘为被乘数和乘数的符号。数和乘数的符号。第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算1 1、原码一位乘、原码一位乘第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算1 1、原码一位乘(续)、原码一位乘(续)v原码一位乘法的规则:原码一位乘法的规则:参加运算的操作数取其绝对值;参加运算的操作数取其绝对值;令乘数的最低位为判断位,若为
8、令乘数的最低位为判断位,若为“1”1”,加被,加被乘数,若为乘数,若为“0”0”,不加被乘数(加,不加被乘数(加0 0););累加后的部分积以及乘数右移一位;累加后的部分积以及乘数右移一位;重复重复n n次次和和 ;符号位单独处理,同号为正,异号为负。符号位单独处理,同号为正,异号为负。 通常,乘法运算需要通常,乘法运算需要3个寄存器。被乘数个寄存器。被乘数存放在存放在B寄存器中;乘数存放在寄存器中;乘数存放在C寄存器中;寄存器中;A寄存器用来存放部分积与最后乘积的高位部分,寄存器用来存放部分积与最后乘积的高位部分,它的初值为它的初值为0。运算结束后寄存器。运算结束后寄存器C中不再保留中不再保
9、留乘数,改为存放乘积的低位部分。乘数,改为存放乘积的低位部分。 例例7:已知:已知:X=0.1101,Y=-0.1011,求:,求:XY。 |X|=00.1101B, |Y|=0.1011C,0A第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算1 1、原码一位乘(续)、原码一位乘(续) A C 说明说明0 0.0 0 0 0 1 0 1 10 0.1 1 0 1 0 0.0 1 1 0 1 1 0 1 部分积右移一位部分积右移一位0 1.0 0 1 1+|X| 0 0.1 1 0 1 C4=1,+|X| 0 0.1 0 0 1 1 1 1 0 部分积
10、右移一位部分积右移一位+0 0 0.0 0 0 0 C4=0,+00 0.1 0 0 1 0 0.0 1 0 0 1 1 1 1 部分积右移一位部分积右移一位+|X| 0 0.1 1 0 1 C4=1,+|X|0 1.0 0 0 1 0 0.1 0 0 0 1 1 1 1 部分积右移一位部分积右移一位PS=XS YS=0 1=1X Y=-0.10001111 第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器+|X| 0 0.1 1 0 1 C4=1,+|X|图图1 1 原码一位乘法流程图原码一位乘法流程图 第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器
11、EndYN|X| B,|Y| C0 A,0 CRCn=1?CR+1CRCR=n? (A+0) A C C (A+B) A C CXS YS PSYN 第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算2 2、原码两位乘、原码两位乘v 原码两位乘法的规则:原码两位乘法的规则:参加运算的数用原码来表示。符号位不参加乘法运算,单参加运算的数用原码来表示。符号位不参加乘法运算,单独处理,同号为正,异号为负。乘数的数值位个数为奇数独处理,同号为正,异号为负。乘数的数值位个数为奇数时,用一个符号位,为偶数时乘数取双符号位。被乘数和时,用一个符号位,为偶数时乘数取双
12、符号位。被乘数和部分积取部分积取3 3个符号位。个符号位。增加一个触发器增加一个触发器C Cj j,初始值为,初始值为0 0。逐次比较相邻两位逐次比较相邻两位Y Yi-1i-1Y Yi i及及C Cj j的值决定应执行的操作的值决定应执行的操作,-|X|,-|X|操操作可以按作可以按,+|X|,+|X|变补变补来实现来实现 。当乘数的数值位个数为奇数时,共需当乘数的数值位个数为奇数时,共需(n+1)/2(n+1)/2累加和移位,累加和移位,但最后一次移但最后一次移1 1位;当乘数的数值位个数为偶数时,共需位;当乘数的数值位个数为偶数时,共需n/2+1n/2+1次累加,次累加,n/2n/2次移位
13、(最后一次不移位)。次移位(最后一次不移位)。 例例8:已知:已知:X=0.11011,Y=-0.11101,求:,求:XY。 X原原=0.11011,Y原原=1.11101,-X补补=1.00101 |X|=000.11011B, |Y|=0.11101C,0Cj第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算2 2、原码两位乘(续)、原码两位乘(续) A C Cj 说明说明0 0 0.0 0 0 0 0 0.1 1 1 0 1 00 0 0.1 1 0 1 1 0 0 0.0 0 1 1 0 1 1 0 1 1 1 0 部分积右移两位部分积右移两
14、位+|X| 0 0 0.1 1 0 1 1 C4C5Cj=010,+|X|, Cj=0PS=XS YS=0 1=1 X Y=-0.1100001111 第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器+|X|变补变补 1 1 1.0 0 1 0 1 C4C5Cj=110, +|X|变补变补 , Cj=11 1 1.0 1 0 1 1 1 1 1.1 1 0 1 0 1 1 1 1 0 1 1 部分积右移两位部分积右移两位+2|X| 0 0 1.1 0 1 1 0 C4C5Cj=011,+2|X|, Cj=00 0 1.1 0 0 0 0 0 0 0.1 1 0 0 0 0
15、1 1 1 1 0 1 部分积右移一位部分积右移一位 虽然原码乘法比补码乘法容易实现,但因为虽然原码乘法比补码乘法容易实现,但因为补码加减法简单,在以加减运算为主的通用机中补码加减法简单,在以加减运算为主的通用机中操作数都用补码表示,所以这类计算机在做乘法操作数都用补码表示,所以这类计算机在做乘法时常使用补码乘法。时常使用补码乘法。(1)校正法校正法 校正法是将校正法是将X补补和和Y补补按原码规则运算,所按原码规则运算,所得结果根据情况再加以校正,从而得到正确的得结果根据情况再加以校正,从而得到正确的XY补补。补码乘法的统一表达式:。补码乘法的统一表达式: XY补补=X补补(0.Y1Y2Yn)
16、+-X补补Ys第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算3 3、补码一位乘、补码一位乘(2 2)比较法)比较法BoothBooth乘法乘法 递推公式:递推公式: Z0补补=0 Z1补补=2-1Z0补补+(Yn+1-Yn)X补补 Z2补补=2-1Z1补补+(Yn-Yn-1)X补补 Zn补补=2-1Zn-1补补+(Y2-Y1)X补补 XY补补=Zn补补+(Y1-Ys)X补补 式中,式中,Z0补补为初始部分积,为初始部分积,Z1补补Zn补补依次为各次求得的累加并右移之后的部分积。依次为各次求得的累加并右移之后的部分积。 四、乘法运算四、乘法运算3 3
17、、补码一位乘、补码一位乘第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器 判断位判断位 Yn Yn+1 操操 作作 0 0 原部分积右移一位原部分积右移一位 0 1 原部分积加原部分积加X补补后右移一位后右移一位 1 0 原部分积加原部分积加-X补补后右移一位后右移一位 1 1 原部分积右移一位原部分积右移一位 (2)比较法)比较法Booth乘法乘法 (续)(续)四、乘法运算四、乘法运算3 3、补码一位乘、补码一位乘第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器 Booth乘法规则:乘法规则: 参加运算的数用补码表示;参加运算的数用补码表示; 符号位参
18、加运算;符号位参加运算; 乘数最低位后面增加一位附加位乘数最低位后面增加一位附加位Yn+1,其初值为,其初值为0; 由于每求一次部分积要右移一位,所以乘数的最低由于每求一次部分积要右移一位,所以乘数的最低两位两位Yn、Yn+1的值决定了每次应执行的操作;的值决定了每次应执行的操作; 移位按补码右移规则进行;移位按补码右移规则进行; 共需做共需做n+1次累加,次累加,n次移位,第次移位,第n+1次不移位。次不移位。(2)比较法)比较法Booth乘法(续)乘法(续) 四、乘法运算四、乘法运算3 3、补码一位乘、补码一位乘第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器 由于符号
19、位要参加运算,部分积累加时最高有由于符号位要参加运算,部分积累加时最高有效位产生的进位可能会侵占符号位,故被乘数和部效位产生的进位可能会侵占符号位,故被乘数和部分积应取双符号位,而乘数只需要一位符号位。运分积应取双符号位,而乘数只需要一位符号位。运算时仍需要有算时仍需要有3个寄存器,各自的作用与原码时相个寄存器,各自的作用与原码时相同,只不过存放的内容均为补码表示而已。同,只不过存放的内容均为补码表示而已。 例例9:已知:已知X=-0.1101,Y=0.1011;求;求XY。 X补补=11.0011B,Y补补=0.1011C,0A -X补补=00.1101(2)比较法)比较法Booth乘法(续
20、)乘法(续) 四、乘法运算四、乘法运算3 3、补码一位乘、补码一位乘第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器 A C A C 附加位附加位 说明说明0 0.0 0 0 0 0.1 0 1 1 0 0.0 0 0 0 0.1 0 1 1 0 0+-X+-X补补 0 0.1 1 0 1 C0 0.1 1 0 1 C4 4C C5 5=10=10,+-X+-X补补0 0.1 1 0 10 0.1 1 0 1 0 0.0 1 1 0 0 0.0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 部分积右移一位部分积右移一位+0 0 0.0 0 0 0 C+0 0
21、0.0 0 0 0 C4 4C C5 5=11=11,+0+00 0.0 1 1 00 0.0 1 1 0 0 0.0 0 1 1 0 0.0 0 1 1 0 10 1 0 1 0 1 0 1 0 1 部分积右移一位部分积右移一位+X+X补补 1 1.0 0 1 1 C1 1.0 0 1 1 C4 4C C5 5=01=01,+X+X补补1 1.0 1 1 01 1.0 1 1 0 1 1.1 0 1 1 1 1.1 0 1 1 0 0 10 0 1 0 1 0 0 1 0 部分积右移一位部分积右移一位+-X+-X补补 0 0.1 1 0 1 C0 0.1 1 0 1 C4 4C C5 5=1
22、0=10,+-X+-X补补0 0.1 0 0 00 0.1 0 0 0 0 0.0 1 0 0 0 0.0 1 0 0 0 0 0 10 0 0 1 0 1 0 1 部分积右移一位部分积右移一位+X+X补补 1 1.0 0 1 1 C1 1.0 0 1 1 C4 4C C5 5=01=01,+X+X补补1 1.0 1 1 11 1.0 1 1 1X Y补补=1.01110001X Y=-0.10001111第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器图图2 Booth乘法流程图乘法流程图第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、
23、乘法运算4 4、补码两位乘、补码两位乘第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器 每次处理乘数中的两位,使速度提高一倍。每次处理乘数中的两位,使速度提高一倍。 Z补补=2-1Z补补+(Yi+1-Yi)X补补 Z补补=2-1Z补补+(Yi-Yi-1)X补补 = 2-2Z补补+(Yi+1+Yi-2Yi-1)X补补第二部分:第第二部分:第3 3章章 数值运算及运算器数值运算及运算器四、乘法运算四、乘法运算4 4、补码两位乘、补码两位乘v 补码两位乘法的规则:补码两位乘法的规则:参加运算的数用补码来表示。符号位参加乘法运算。乘数参加运算的数用补码来表示。符号位参加乘法运算。乘数的数值位个数为奇数时,用一个符号位,为偶数时乘数取的数值位个数为奇数时,用一个符号位,为偶数时乘数取双符号位。被乘数和部分积取双符号位。被乘数和部分积取3 3个符号位。个符号位。乘数的最低位增加一位附加位乘数的最低位增加一位附加位Y Yn+1n+1,初始值为,初始值为0 0。逐次比较相邻逐次比较相邻3 3位位Y Yi-1i-1Y Yi iY Yi+1i+1的值决定应执行的操作。移位按的值决定应执行的操作。移位按补码右移规则来实现补码右移规则来实现 。当乘数的数值位个数为奇数时,共需当乘数的数值位个数为奇数时,共需(n+1)/2(n+1)/2累加和移位,累加和移位,但最后一次移但最后一次移1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在建楼盘购房合同范本
- 女子分居后离婚协议书
- 垫资协议民间借贷合同
- 坑人车辆租赁合同范本
- 商铺退租变卖合同范本
- 土地买卖服务合同范本
- 培训合同补充协议模板
- 土地被水淹赔偿协议书
- 培训会务服务协议合同
- 外墙墙面维修协议合同
- 电商财税培训课件资源
- 《红楼梦之贾宝玉》课件
- TQ900架桥机安拆专项施工方案
- 23秋国家开放大学《外国教育简史》形考任务1-3参考答案
- 中考英语必背单词汇总手册(打印版)
- 虫鼠害检查记录表
- 2023南方区域AGC发电单元调频指标计算规范2019版
- 工银金融资产投资有限公司2023年校园招聘人才历年试题(常考点甄选)含答案带详解析
- 《军事理论与技能训练》第一章 军事思想
- 住院患者静脉血栓栓塞症的预防护理(试题及答案)
- 如何提高静脉穿刺技术
评论
0/150
提交评论