225_乘法运算-精品文档资料整理.pdf

上传人:安*** 文档编号:19244256 上传时间:2022-06-05 格式:PDF 页数:13 大小:2.59MB
返回 下载 相关 举报
225_乘法运算-精品文档资料整理.pdf_第1页
第1页 / 共13页
225_乘法运算-精品文档资料整理.pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《225_乘法运算-精品文档资料整理.pdf》由会员分享,可在线阅读,更多相关《225_乘法运算-精品文档资料整理.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2020/7/12王道考研/1本节内容定点数原码乘法运算王道考研/CSKAOYAN.COM1王道考研/CSKAOYAN.COM雨声警告雨声警告2公众号:考研拼课 配套课程请关注2020/7/12王道考研/2王道考研/CSKAOYAN.COM本节总览本节总览3王道考研/CSKAOYAN.COM手算乘法(十进制)手算乘法(十进制)0.9850.21198598519702078350.0.9850.2110.0009850.009850.19702078350.r 进制: !# $#%= !&+ !#&#+ + $+ #+ %#$ +#+ $+ + 0.211 = 210-1+ 110-2+ 11

2、0-30.985 = 985 10-30.9850.211 = (985110-6)+ (985 110-5)+ (985210-4)4公众号:考研拼课 配套课程请关注2020/7/12王道考研/3王道考研/CSKAOYAN.COM手算乘法(二进制)手算乘法(二进制)r 进制: !# $#%= !&+ !#&#+ + $+ #+ %#$ +#+ $+ + (乘数)0.1011 = 12-1+ 02-2+ 12-3 + 12-4 (被乘数) 0.1101 = 11012-40.11010.1011 = (110112-8) + (110112-7) + (110102-6) + (110112-

3、5)0.11010.10111101110100001101100011110.0.11010.10110.000011010.00011010.0000000.01101100011110.用“移位”实现考虑用机器实现:实际数字有正负,符号位如何处理?乘积的位数扩大一倍,如何处理?4个位积都要保存下来最后统一相加?5王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsys |x| 原=0.1101, |y|

4、原=0.10116公众号:考研拼课 配套课程请关注2020/7/12王道考研/4王道考研/CSKAOYAN.COMACCMQ运算器ACC:累加器,用于存放操作数,或运算结果。MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。X:通用的操作数寄存器,用于存放操作数ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算加减乘除加减乘除ACC被加数、和被减数、差乘积高位被除数、余数MQ乘数、乘积低位商X加数减数被乘数除数ALUX穿越:运算器的基本组成穿越:运算器的基本组成Multiple-Quotient RegisterAccumulatorArithmetic and Logi

5、c Unit运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)7王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsys0.11010.101101101011010000001101100011110.ACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器011010000001011在正式进行乘法之前,ACC置0当前参与乘法的一个位当前位=1,则ACC加上被乘数当前位=0,则ACC加

6、上 000000+01101=01101实现方法:先加法再移位,重复n次8公众号:考研拼课 配套课程请关注2020/7/12王道考研/5王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器011010110101011(ACC)+(X)ACC当前参与乘法的一个位当前位=1,则ACC加上被乘数当前位=0,则ACC加上 000000+01101=0

7、1101实现方法:先加法再移位,重复n次0.11010.101101101011010000001101100011110.9王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器01101001101逻辑右移,高位补0当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011之后用不到了,直接丢弃ACC的低位移到MQ实现方法:先加法再

8、移位,重复n次0.11010.101101101011010000001101100011110.10公众号:考研拼课 配套课程请关注2020/7/12王道考研/6王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器01101001101当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次(ACC

9、)+(X)ACC00110+01101=10011当前位=10.11010.101101101011010000001101100011110.11王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器01101100111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次(ACC)+(X)ACC

10、当前位=100110+01101=100110.11010.101101101011010000001101100011110.12公众号:考研拼课 配套课程请关注2020/7/12王道考研/7王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器011010 100111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方

11、法:先加法再移位,重复n次逻辑右移,高位补00.11010.101101101011010000001101100011110.红色部分可称为“部分积”13王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器011010 100111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次当前位=0(

12、ACC)+0ACC0.11010.101101101011010000001101100011110.14公众号:考研拼课 配套课程请关注2020/7/12王道考研/8王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器0110100100111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次

13、逻辑右移,高位补00.11010.101101101011010000001101100011110.15王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器0110100100111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次(ACC)+(X)ACC00100+01101=10001当前

14、位=10.11010.101101101011010000001101100011110.16公众号:考研拼课 配套课程请关注2020/7/12王道考研/9王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器0110110001111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次(ACC)+

15、(X)ACC00100+01101=10001当前位=10.11010.101101101011010000001101100011110.17王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器01101010001111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:先加法再移位,重复n次逻辑右移,高位补0.小

16、数点隐含位置乘数的符号位不用参与运算0.11010.101101101011010000001101100011110.18公众号:考研拼课 配套课程请关注2020/7/12王道考研/10王道考研/CSKAOYAN.COM原码一位乘法原码一位乘法数值位取绝对值进行乘法计算符号位数值位设机器字长为 n+1=5位(含1位符号位),x原= 1.1101,y原= 0.1011,采用原码一位乘法求 xy符号单独处理:符号位 = xsysACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器01101110001111当前位=1,则ACC加上被乘数当前位=0,则ACC加上 001011实现方法:

17、先加法再移位,重复n次修改符号位xsys= 1.0.11010.101101101011010000001101100011110.19王道考研/CSKAOYAN.COM原码一位乘法(手算模拟)原码一位乘法(手算模拟)设机器字长为5位(含1位符号位,n=4),x = 0.1101,y = +0.1011,采用原码一位乘法求xyTips:乘数的符号位不参与运算,可以省略原码一位乘可以只用单符号位答题时最终结果最好写为原码机器数原码一位乘法:符号位通过异或确定;数值部分通过被乘数和乘数绝对值的 n 轮加法、移位完成根据当前乘数中参与运算的位确定(ACC)加什么。若当前运算位=1,则(ACC)+|x

18、|原;若=0,则(ACC)+0。每轮加法后ACC、MQ的内容统一逻辑右移ACCMQ机器字长n+1,数值部分占n位通用寄存器20公众号:考研拼课 配套课程请关注2020/7/12王道考研/11本节内容定点数补码乘法运算王道考研/CSKAOYAN.COM21王道考研/CSKAOYAN.COM补码一位乘法补码一位乘法设机器字长为5位(含1位符号位,n=4),x = 0.1101,y = +0.1011,采用Booth算法求xy补码一位乘法:进行 n 轮加法、移位,最后再多来一次加法每次加法可能 +0 、+x补、+-x补每次移位是“补码的算数右移”符号位参与运算原码一位乘法:进行 n 轮加法、移位每次

19、加法可能 +0 、+|x|原每次移位是“逻辑右移”符号位不参与运算根据当前MQ中的最低位、辅助位辅助位来确定加什么根据当前MQ中的最低位来确定加什么MQ中最低位 = 1时,(ACC)+|x|原MQ中最低位 = 0时,(ACC)+0辅助位 - MQ中最低位 = 1时,(ACC)+x补辅助位 - MQ中最低位 = 0时,(ACC)+0辅助位 - MQ中最低位 = -1时,(ACC)+-x补x补=1.0011,x补=0.1101,y补=0.101122公众号:考研拼课 配套课程请关注2020/7/12王道考研/12王道考研/CSKAOYAN.COM补码一位乘法补码一位乘法设机器字长为5位(含1位符号

20、位,n=4),x = 0.1101,y = +0.1011,采用Booth算法求xy补码一位乘法:进行 n 轮加法、移位,最后再多来一次加法每次加法可能 +0 、+x补、+-x补每次移位是“补码的算数右移”符号位参与运算根据当前MQ中的最低位、辅助位辅助位来确定加什么辅助位 - MQ中最低位 = 1时,(ACC)+x补辅助位 - MQ中最低位 = 0时,(ACC)+0辅助位 - MQ中最低位 = -1时,(ACC)+-x补x补=1.0011,x补=0.1101,y补=0.1011ACCMQ(乘数、乘积低位)(乘积高位)X(被乘数)ALU运算器100110000001011会有辅助电路实现-x补

21、的转换0辅助位初始为0。每次右移会使MQ的最低位顶替原本的辅助位(事实上MQ共n+2位)01所有寄存器都统一用n+2位,因此采用双符号位补码运算.23王道考研/CSKAOYAN.COM补码一位乘法(手算模拟)补码一位乘法(手算模拟)设机器字长为5位(含1位符号位,n=4),x = 0.1101,y = +0.1011,采用Booth算法求xyx补=11.0011,x补=00.1101,y补=0.1011xy补= 11.01110001即xy = 0.10001111n轮加法、算数右移,加法规则如下:辅助位 - MQ中最低位 = 1时,(ACC)+x补辅助位 - MQ中最低位 = 0时,(ACC

22、)+0辅助位 - MQ中最低位 = -1时,(ACC)+-x补补码的算数右移:符号位不动,数值位右移,正数右移补0,负数右移补1(符号位是啥就补啥)负数算数右移正数算数右移最后多一次加法原符号位注:一般来说,Booth算法的被乘数、部分积采用双符号位补码辅助位24公众号:考研拼课 配套课程请关注2020/7/12王道考研/13王道考研/CSKAOYAN.COM知识点回顾知识点回顾补码一位乘法(Booth算法):符号位、数值位都是由被乘数和乘数进行 n 轮加法、移位,最后再多来一次加法每次加法可能 +0 、+x补、+-x补每次移位是“补码的算数右移”乘数的符号位参与运算原码一位乘法:符号位通过异或确定,数值位由被乘数和乘数的绝对值进行 n 轮加法、移位每次加法可能 +0 、+|x|原每次移位是“逻辑右移”乘数的符号位不参与运算MQ中最低位 = 1时,(ACC)+|x|原MQ中最低位 = 0时,(ACC)+0辅助位 - MQ中“最低位” = 1时,(ACC)+x补辅助位 - MQ中“最低位” = 0时,(ACC)+0辅助位 - MQ中“最低位” = -1时,(ACC)+-x补部分积、被乘数采用双符号位补码;乘数采用单符号位补码,并在末位添个0部分积、被乘数、乘数都可采用双符号位原码,也可用单符号位原码(手算时乘数的符号位可不写)25公众号:考研拼课 配套课程请关注

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁