




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现乘除法运算的方案:1、使用乘除运算较多,速度要求高时,硬件直接实现;2、一般情况,配置乘除法选件;3、而对速度要求不高的机器,用软件实现。,定点乘法运算,设X原=Xs.X1X2XiXn-1Xn=Xs.XvY原=Ys.Y1Y2YiYn-1Yn=Ys.Yv则乘积Z原=Zs.Zv=(XsYs).(Xv*Yv)A.手算方法例如求A=0.1101和B=0.0110的乘积,原码乘法(原码一位乘法),运算规则(a)从乘数的最低位开始,用乘数B的每个二进制位去乘被乘数A,若B的某个二进制位为1,则得位积A;如为0,则得位积0。(b)B的各位分别乘以A的所得的位积,因为位权不同,逐次向左移位,即在空间上按一定位数错开,这样逐位进行下去,直到乘数各位都乘完为止。(c)把经过移位对准的各次位积相加起来即得结果。,原码乘法(原码一位乘法),缺点第一、将多个数一次相加,机器难以实现。一般的加法器,只能把两个输入数相加,多个位积的同时输入是无法实现的。第二、乘积位数增长了一倍,即2n,而机器字长只有n位。,原码乘法(原码一位乘法),(a)把一次求和的操作,变成逐步累加求部分积的操作(b)将求积过程中逐位按权左移位积的操作,改为位积不动,而是上次部分积右移的操作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的乘积,即AB=Zn,改进,例已知X=-0.1011Y=0.1001求XY原解X原=1.1011Y原=0.1001|X|=0.1011|Y|=0.1001则按原码一位乘法运算规则,求XY原的数值部分。运算过程如下所示:,原码一位乘法运算过程,例已知X=-0.1011Y=0.1001求XY原解X原=1.1011Y原=0.1001|X|=0.1011|Y|=0.1001则按原码一位乘法运算规则,求XY原的数值部分。所以|X|Y|=0.01100011,而Zs=XsYs=10=1最后求得XY原=1.01100011,原码一位乘法逻辑结构原理图,补码一位乘法(1)校正法(2)比较法,补码乘法,快速乘法运算1多位乘法2跳过连续“0”和跳过连续“1”3阵列乘法器,设被除数X原=Xs.X1X2Xn除数Y原=Ys.Y1Y2Yn商Q原=Qs.Q1Q2Qn余数R原=Rs.R1R2Rn则它们之间有如下关系:X原=Y原Q原+R原符号处理Zs=XsYs,定点除法运算-原码一位除法,1、手算:假设被除数X=0.1001,除数Y=0.1011,计算X/Y0.1101商Q0.1011/-0.10010X(R0)-0.010112-1Y,除数右移一位,减-0.001110R1-0.0010112-2Y,除数右移一位,减-0.0000110R20.00010112-3Y,除数右移一位,不减-0.00001100R3-0.000010112-4Y,除数右移一位,减-0.00000001R4得商X/Y=0.1101,余数=R4=0.00000001,特点:(1)每次都是由心算来比较余数和除数的大小,余数大时,商1;余数小时,商0。第一次比较时,余数就是被除数。(2)每做一次减法,总是保持余数不动,而除数向右移一位。(3)商的符号单独处理。为适应机器运算,需要进行改进:(1)用补码加代替直接减(两个符号位)(2)除数右移改为余数左移。,原码一位除法,2、在计算机中,小数点是固定的,不能简单地用手算的办法,为便于机器操作,除数Y固定不动(即小数点固定),使被除数和余数进行左移(相当于乘2),效果与手算相同。(比较法),原码一位除法,例如,X=0.1001,Y=0.1011,计算X/Y-Y补=1.010100.1101商Q00.1011/-00.1001XY,商111.0101减Y,即+-Y补-00.0111余数R100.1110左移一位,2R1Y,商111.0101减Y-00.0011R200.0110左移一位,2R2Y,商111.0101减Y-00.0001R4得商X/Y=0.1101,余数=2-4R4=0.00000001,注意:余数不是真正的余数,由于每次所得的余数多乘了2,求得小数点后的n位商后,相当于多乘了2n,故正确余数为2nRn另外,在进行数值部分除法时,因为定点数的绝对值小于1,若被除数绝对值除数的绝对值,则商1,因而会产生溢出。所以在执行除法以前,先要判断是否溢出,不溢出时才进行除法运算,否则除法就不进行,并由相应的程序进行处理。,原码一位除法,用余数减去除数求得差值,当差值大于0时,商上1;当差值小于0时,商上0。减去除数的运算,机器可用加上除数的补码机器负数的方式转换为加法运算。另外,当差值小于0时,商上“0”,不够减,多减去了除数,还必须加上除数,重新恢复原来的余数。,原码一位除法-恢复余数法,除数不动,使余数左移一位。设被除数X原=Xs.X1X2Xn除数Y原=Ys.Y1Y2Yn商Q原=Qs.Q1Q2Qn余数R原=Rs.R1R2Rn则它们之间有如下关系:X原=Y原Q原+R原其除法过程如下:符号处理Zs=XsYs商的数值部分,变成两正数相除,即|X|/|Y|(|X|0,商上1,商、余数左移一位,+-|Y|补,+)00.1011,11.1011,恢复余数,+|Y|,得R40,商上1,商左移一位,余数不动,0.1101,|X|=0.1001|Y|=0.1011-|Y|补=1.0101,0,1,1,0,1,原码一位除法-恢复余数法,例X=-0.1001Y=-0.1011求X/Y原解:X原=1.1001Y原=1.1011|X|=0.1001|Y|=0.1011-|Y|补=1.0101所以,Qs=11=0X/Y原=Q原=0.1101R原=2-4R5=0.00000001,原码加减交替法的规则是:当余数为正时,商上1,余数左移一位,减除数绝对值得新余数;当余数为负时,商上0,余数左移一位,加除数绝对值得新余数。证明:若被除数为X,除数Y,当上商操作进行到第i位商数时,设余数为Ri,则有下式:Ri=2Ri-1+(-|Y|)(1)若Ri0,则该位商上“1”,下一步操作是:Ri+1=2Ri+(-|Y|)(2)若Ri0,表明ExEy若E0,表明Ex0时1/2SS-1理论上,S可等于-1/2,但-1/2补=11.1000,为了便于判别是否是规格化数,不把-1/2列为规格化数,而把-1列入规格化数。-1补=11.000补码规格化的浮点数应有两种形式:00.1xxx11.0 xxx,A、浮点加减法运算,由此可知补码规格化的条件是:(A)若和或差的尾数两符号位相等且与尾数第一位相等,则需向左规格化。即将和或差的尾数左移,每移一位,和或差的阶码减一,直至尾数第一位与尾符不等时为止。(B)若和或差的尾数两符号位不等,即01.xxx或10.xxx形式,表示尾数求和(差)结果绝对值大于,向左破坏了规格化。此时应该将和(差)的尾数右移1位,阶码加,即进行向右规格化。,A、浮点加减法运算,4舍入(1)“0舍1入”法,即右移时丢掉的最高位为0,则舍去;是1,则将尾数的末位加1(相当于进入)。(2)“恒置1”法,即不管移掉的是0还是1,都把尾数的末位置1。,A、浮点加减法运算,5.浮点数的溢出判断表示成规格化数以后,由阶码进行判断是否溢出。设阶码数值部分取7位,符号位取2位,用补码表示则能表示的最大阶码E补=001111111=127;最小阶码E补=110000000=-128;(1)小于-128,称为下溢:发生在左规时;用机器0表示(阶码、尾数全0)例如,和的阶码=11000左规一位时变成10.XXXX,A、浮点加减法运算,(2)大于+127时,称为上溢,这是浮点数的真正溢出,置溢出标志,作中断处理。例如,当和的阶码=00.1111而尾数还须右规时,会变成01.0000总结:E补=01XXX为上溢,真正溢出,需做溢出处理。E补=10XXX为下溢,浮点数值趋于零,用机器零表示。,A、浮点加减法运算,例x=0.11011001,y=-(0.1010)1011,求x+y=?解:(1)对阶:假定两数在计算机中采用补码制,则x补=0001,00.1101Ex=0001y补=0011,11.0110Ey=0011求阶差:E=Ex-Ey=0001+1101=1110,即E=-2,表示x的阶码Ex小于y的阶码Ey,阶差为-2,所以应使x的尾数右移2位,阶码加2,则x补=0011,00.0011,这时E=0,对阶完毕。,A、浮点加减法运算,(2)尾数求和(差)x和y对阶后的尾数分别为:Sx补=00.0011,Sy补=11.0110则Sx补+Sy补=00.0011+11.0110=11.1001x+y补=0011,11.1001(3)规格化和的尾数的两符号位相等,但小数点后的第一位也与符号位相等,不是规格化数,需要进行左规,即向左规格化:尾数左移一位,阶码减,就可得到规格化的浮点数结果。x+y补=0010,11.0010,A、浮点加减法运算,设x=Sx2Ex,Y=Sy2Ey则xY=(SxSy)2Ex+Ey浮点数乘法运算的规则为:l乘积的阶码由两数阶码相加求得l乘积的尾数等于被乘数和乘数的尾数之积,可采用定点数乘法(A)需要对浮点数尾数积进行规格化(左规:最多一位)(B)舍入:0舍1入,若采用双倍字长乘积时,没有舍入问题。,浮点数乘法运算,例、已知x=0.11000010101y=-0.11100010100,设阶码数值部分各取5位,阶符2位;尾数数值部分各取6位,尾符2位,按机器浮点数运算步骤,求xy。解:(1)求阶和Ex补=0000101Ey补=0000100E补=Ex补+Ey补=0001001(2)尾数相乘可利用原码或补码定点数乘法求尾数之乘积,可得SxSy原=1.101010000000或SxSy补=1.010110000000,浮点数乘法运算,(3)规格化可看出SxSy原或SxSy补已是规格化形式,勿需规格化。(4)舍入若取单字长乘积,可得SxSy原=1.101010或SxSy补=1.010110,所以xy原=1.101010100001001xy补=1.010110100001001得xy=-0.101010101001=-101010000,浮点数乘法运算,1、浮点数除法的运算规则为:l商的尾数由两数的尾数相除求得l商的阶码由两数阶码相减求得设x=Sx2Ex,y=Sy2Ey,则x/y=(Sx/Sy)2Ex-Ey,浮点数除法运算,2、步骤(1)预置:当除数为0时,商为,置“上溢”标志,终止除法运算;若除数不为0时,而被除数为0,商和余数均被置成0,除法不必进行下去;只有当两个操作数均不为0时,除法才进行下去。(2)尾数调整:使被除数的绝对值小于除数绝对值,以满足定点除法运算规则。(右规)(3)求阶差:求阶差后可判断溢出(应在规格化后再判断),若阶码用补码表示,阶符(两位)为01时,表示上溢;阶符为10时,表示下溢,使除法结果为0。(4)尾数相除(5)规格化(6)舍入,浮点数除法运算,运算器是机器的加工处理部件,是中央处理机的重要组成部分。运算器与其它部件的关系1与控制器的关系(1)运算器接收控制器发来的各种运算控制命令:A、控制接收数据命令B、控制运算操作命令C、控制输出传送命令D、控制通用寄存器读/写命令等,运算器的组成和结构,(2)把运算过程中的反馈信号送回控制器:状态A、溢出否?B、结果是否为“0”?C、是否非法数?D、是正还是负?(3)进行地址运算,由地址总线互连例如:(PC)+1=PC,寻址方式计算,运算器的组成和结构,2与存储器的关系存储器是计算机中保存程序和数据的功能部件。它的基本功能是:读、写。(1)运算器与存储器的联系,也是在控制器的控制下进行的。例如:A、运算器进行地址运算=存储器;B、运算器产生的运算结果=存储器;C、存储器READ=运算器加工。(2)控制器对主存是异步工作控制异步控制方式也称可变时序控制方式。,运算器的组成和结构,运算器的主要功能是对数据的加工和处理。它是在控制器的控制之下工作的,是一个加工处理部件。(1)对数据的加工处理,主要包括对数值数据的算术运算,如加、减、乘、除运算,变更数据的符号等。(2)对各种数据的逻辑运算,例如进行与、或、求反等运算。(3)传递数据的一条重要途径。,运算器的组成和结构-功能,运算器的组成和结构-基本结构,能实现算术和逻辑运算功能的部件。(1)超前进位加法器:算数和逻辑(2)SN74181ALUA、两种工作方式:(a)正逻辑:高电平“1”,低电平“0”(b)负逻辑:相反B、算术和逻辑运算:32种C、结构:,运算器的组成和结构-ALU,运算器的组成和结构-ALU,(a)输入:(I)二个四位二进制代码:A0A1A2A3;B0B1B2B3(II)S3S2S1S0-选择端,16种功能(III)M-状态控制端,M=0:算数;M=1:逻辑(IV)Cn-ALU低位组来的进位(b)输出:(I)F0F1F2F3-运算结果(II)P,G-传递进位及进位产生函数(III)Cn+4-进位:低电平(L)时:有进位;高电平(H)时:无进位(IV)A=B-相等时,输出1,运算器的组成和结构-ALU,运算器的组成和结构-ALU,运算器的组成和结构-基本结构,存放待加工的信息或加工后的结果信息。(1)寄存器:累加器,变址R,PC,堆栈指示器SP等(2)机器字长:R的位数,其中R一般指通用寄存器(可以存放多种信息:a:操作数;b:操作结果;c:中间结果;d:地址;e:其它)(3)寄存器之间的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大洋大洲考试题及答案
- 财务兼职面试题及答案
- 钱塘社工面试题及答案
- 上虞社工面试题及答案
- 骨干培训面试题及答案
- 金茂物业面试题及答案
- 临床营养学试题营养及答案2025版
- 数据结构(Java语言描述)(第2版)课件 1.1 数据结构的基本概念
- 2025年事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷:面试职业发展
- 2025年泰语等级考试泰国传统音乐试卷
- 2025淄博市沂源县历山街道社区工作者考试真题
- 二氧化碳逆水煤气变换技术研究进展
- 金融知识进校园高中课件
- 常压储罐管理制度
- 税务师事务所内部管理制度
- 房屋建筑工程竣工验收技术资料统一用表(2024 版)
- 《企业研发费用税前加计扣除政策解读与应用课件》
- 蓝桥杯-科学素养考试题库(含答案)
- OptiStruct结构分析与工程应用
- HRM4800原料立式磨使用手册
- 辽宁中考英语2022-2024真题汇编-教师版-专题05 阅读还原之五选四等
评论
0/150
提交评论