第4章 数值的机器运算

上传人:pu****.1 文档编号:590548375 上传时间:2024-09-14 格式:PPT 页数:89 大小:1.57MB
返回 下载 相关 举报
第4章 数值的机器运算_第1页
第1页 / 共89页
第4章 数值的机器运算_第2页
第2页 / 共89页
第4章 数值的机器运算_第3页
第3页 / 共89页
第4章 数值的机器运算_第4页
第4页 / 共89页
第4章 数值的机器运算_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《第4章 数值的机器运算》由会员分享,可在线阅读,更多相关《第4章 数值的机器运算(89页珍藏版)》请在金锄头文库上搜索。

1、第第4章章 数值的机器运算数值的机器运算第第4章章数值的机器运算数值的机器运算1第第4章章 数值的机器运算数值的机器运算本章主要讨论数值数据在计算机中实现算术运算和逻辑运算的方法,以及运算部件的基本结构和工作原理。2第第4章章 数值的机器运算数值的机器运算4.4.1 1 定点加减运算定点加减运算一、补码加减运算1.补码加法公式X+Y补=X补+Y补证明:结合补码定义分X、Y符号的正负共四种情况讨论。3第第4章章 数值的机器运算数值的机器运算例3:A=0.1011,B=-0.1110,求A+B A补=0.1011 B补=1.0010 0.1011 A补 + 1.0010 B补 1.1101 A+B

2、补 A+B补=1.1101 A+B=-0.0011补码加法示例4第第4章章 数值的机器运算数值的机器运算X-Y补=X补+-Y补=X补+Y补变补由Y补求-Y补法则:对Y补连同符号位一起取反加1例1:Y=-0.0110, Y原=1.0110, Y补=1.1010, -Y补=0.0110 例2:Y=0.0110, Y原=0.0110, Y补=0.0110, -Y补=1.10102.补码减法5第第4章章 数值的机器运算数值的机器运算例4:A=0.1011,B=-0.0010,求A-B A补=0.1011 B补=1.1110 -B补=0.0010 0.1011 A补 + 0.0010 -B补 0.110

3、1 A-B补 A-B补=0.1101 A-B=0.1101补码减法示例6第第4章章 数值的机器运算数值的机器运算两个溢出的例子设:X=1011B=11DY=111B=7DX补=0,1011,Y补=0,0111 0,1 0 1 1 + 0,0 1 1 1 1,0 0 1 0 X+Y补=1,0010 X+Y=-1110B=-14D设:X=-1011B=-11DY=-111B=-7DX补=1,0101 Y补=1,1001 1,0 1 0 1 + 1,1 0 0 1 0,1 1 1 0 X+Y补=0,1110 X+Y=1110B=14D二、溢出与溢出判断7第第4章章 数值的机器运算数值的机器运算溢出产

4、生的根本原因是字长有限两正数相加产生的溢出称为正溢两负数相加产生的溢出称为负溢8第第4章章 数值的机器运算数值的机器运算溢出检测方法(采用进位位判断)假定两数运算时,产生的进位为Cs,C1C2Cn,Cs为符号位产生的进位,C1为最高数值位产生的进位。最高数值位产生进位而符号位无进位时,发生正溢;最高数值位不产生进位而符号位产生进位,发生负溢溢出= C1+Cs =CsC1 9第第4章章 数值的机器运算数值的机器运算溢出检测方法(采用变形补码)左边的符号位Ss1叫做真符,两个符号位都作为数的一部分参加运算,又称为变形补码;最高符号位上产生进位丢弃;Ss1Ss2=00 结果为正数,无溢出Ss1Ss2

5、=01 结果正溢Ss1Ss2=10 结果负溢Ss1Ss2=11 结果为负数,无溢出运算结果两位符号位不一致时,表明产生溢出:溢出=Ss1Ss210第第4章章 数值的机器运算数值的机器运算解: X补= 11.0110+1 = 1 1. 0 1 1 1 +Y补= 11.1010+1 = 1 1. 1 0 1 1 X+Y补 = 1 1 1. 0 0 1 0 最高位1丢掉 两个符号位相同,运算结果无溢出 最终结果为:X+Y= - 0.1110 例1:设有效数值位为4,X=-0.1001,Y=-0.0101,求 X+Y=?11第第4章章 数值的机器运算数值的机器运算解: X补= 00. 1 0 1 1

6、+Y补= 00. 0 1 1 1 X+Y补= 01. 0 0 1 0两个符号位为01,运算结果正溢出例2:设有效数值位为4,X=0.1011,Y=0.0111,求 X+Y=?12第第4章章 数值的机器运算数值的机器运算三、补码二进制加减法器逻辑结构图13第第4章章 数值的机器运算数值的机器运算三、补码二进制加减法器逻辑结构图M=0时,做加法(A+B);M=1时,做减法(A-B);A补+-B补= A补+B补+1FA为全加器,实现带进位一位加法;使用单符号位法的溢出检测逻辑检测溢出14第第4章章 数值的机器运算数值的机器运算三、补码二进制加减法器逻辑结构图实际应用中,两个操作数常存放在寄存器中,运

7、算结果也存放在寄存器中。X-F、Y-F等等是控制信号15第第4章章 数值的机器运算数值的机器运算4.4.2 2 定点乘法运算定点乘法运算原码一位乘法运算与实现补码一位乘法运算与实现补码两位乘法运算与实现16第第4章章 数值的机器运算数值的机器运算一、原码一位乘法1、原码一位乘法规则参加运算的操作数取其绝对值;令乘数的最低位为判断位,若为“1”,加被乘数,若为“0”,不加被乘数;累加后的部分积以及乘数右移一位;重复n(乘数数值部分长度)次和;符号位单独处理ZfXfYf。 17第第4章章 数值的机器运算数值的机器运算例:假定 X=0.1101 ,Y=0.1011PsXs Ys1X*Y0.10001

8、11118第第4章章 数值的机器运算数值的机器运算原码一位乘法流程图 CR为计数器,用于控制累加和移位的次数19第第4章章 数值的机器运算数值的机器运算2、原码一位乘法运算的实现 A & B=1 Q CT &加法器CCnCjAfCfBfCnCR结束时钟脉冲移位脉冲20第第4章章 数值的机器运算数值的机器运算二、补码一位乘法(Booth乘法) 1、Booth乘法规则:设被乘数X补=XS.X1X2Xn,乘数Y补=YS.Y1Y2Yn参加运算的数用补码表示;符号位参加运算;乘数最低位增加一位附加位Yn+1,初值为0;根据乘数最低两位Yn、Yn+1的值决定每步操作;移位按补码右移规则进行;共需做n+1次

9、累加,n次移位,第n+1次不移位。21第第4章章 数值的机器运算数值的机器运算Booth乘法运算操作 判断位Yn Yn+1 操 作 0 0 原部分积右移一位 0 1 原部分积加X补后右移一位 1 0 原部分积加-X补后右移一位 1 1 原部分积右移一位 22第第4章章 数值的机器运算数值的机器运算例9:已知X=-0.1101,Y=0.1011;求XY。 X补=11.0011B, Y补=0.1011C,0A -X补=00.110123第第4章章 数值的机器运算数值的机器运算xy补=11.01110001,xy的真值为0.10001111B24第第4章章 数值的机器运算数值的机器运算2、Booth

10、乘法流程图25第第4章章 数值的机器运算数值的机器运算3、Booth乘法运算的实现26第第4章章 数值的机器运算数值的机器运算三、三、补码两位乘法补码两位乘法除规则(4)(6)外都与补码一位乘法相同;操作表更改;被乘数和部分积取3符号位,当乘数的数值位n为偶数时,乘数取两符号位,共需作n/2 +1次累加,n/2次移位;当n为奇数时,乘数只需一个符号位,共需(n+1)/2次累加和移位,但最后一次仅移一位。27第第4章章 数值的机器运算数值的机器运算补码两位乘法操作Yn-1YnYn+10 0 0 +0,右移2位0 0 1 +X补,右移2位0 1 0 +X补,右移2位0 1 1 +2X补,右移2位1

11、 0 0 +2-X补,右移2位1 0 1 +-X补,右移2位1 1 0 +-X补,右移2位1 1 1 +0,右移2位28第第4章章 数值的机器运算数值的机器运算例10:已知:X=0.0110011,Y=-0.0110010,求:XY。 X补=000.0110011B, Y补=1.1001110C,0A 2X补=000.1100110, -X补=111.1001101,2-X补=111.001101029第第4章章 数值的机器运算数值的机器运算 A C 附加位+2-X补 1 1 1.0 0 1 1 0 1 00 0 0.0 0 0 0 0 0 0 1.1 0 0 1 1 1 0 0 1 1 1.

12、0 0 1 1 0 1 02 1 1 1.1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 +0 0 0 0.0 0 0 0 0 0 01 1 1.1 1 0 0 1 1 02 1 1 1.1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 + X补 0 0 0.0 1 1 0 0 1 10 0 0.0 1 0 1 1 0 02 0 0 0.0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 + -X补 1 1 1.1 0 0 1 1 0 11 1 1.1 0 1 1 0 0 01 1 1 1.1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1

13、 XY补1.11011000001010 XY-0.00100111110110 30第第4章章 数值的机器运算数值的机器运算4.4.3 3 定点除法运算定点除法运算除法是乘法的逆运算,可以将n位除转化成若干次“减法移位” 。手工除法规则:商的各位是通过比较余数(最初为被除数)与除数的大小得到的,若余数大于除数,则相应位上商为1,将余数减去除数,再把除数右移移位并与余数比较;若余数小于除数,则相应位上商为0,将除数右移一位,再与余数比较;每次做减法总是余数不动,低位补0,再与右移1位后的除数相减;符号位单独处理(余数与被除数同号,QsXsYs)31第第4章章 数值的机器运算数值的机器运算手工除

14、法缺陷:手工除法过程中,余数与除数的大小比较是通过心算得到,而计算机中进行比较就需要在加减电路之外设置比较电路,增加了硬件成本;若通过做减法进行余数与除数的比较,若为正,表示够减,上商为1,若结果为负,表示不够减,上商为0,但此时余数已经被减过一次,下一步该如何处理;根据是否恢复余数,有两种处理方法恢复余数法不恢复余数法32第第4章章 数值的机器运算数值的机器运算一、原码除法运算一、原码除法运算1、原码恢复余数法恢复余数法是直接做减法试探方法,不管被除数(或部分余数)减除数是否够减,都一律先做减法。若部分余数为正,表示够减,该位商上“1”;若部分余数为负,表示不够减,该位商上“0”,并要恢复余

15、数。33第第4章章 数值的机器运算数值的机器运算恢复余数过程的流程图恢复余数过程的流程图图图4-16(b) 恢复余数过程流程恢复余数过程流程34第第4章章 数值的机器运算数值的机器运算原码恢复余数法操作步骤:判断溢出,要求|被除数|除数|,则除法将发生溢出;符号位单独处理用被除数和除数的数值位进行运算,被除数减去除数若所得余数为正,表示够减,相应位上商为1,余数左移一位,减去除数;若所得余数为负,表示不够减,相应位上商为0,余数加上除数(恢复余数恢复余数),再左移一位后减去除数;重复第四步,直到求出所要求的商的各位为止35第第4章章 数值的机器运算数值的机器运算2 2、原码不恢复余数法、原码不

16、恢复余数法在恢复余数法中当部分余数ri0时,执行的操作是:左移一位减除数,结果为2riY;当部分余数ri0时,执行加除数左移减除数,结果为2(ri+Y)-Y即2ri+2Y-Y=2ri+Y,可用余数左移加除数代替。代替的优势:代替的优势:节省了恢复余数的时间节省了恢复余数的时间简化了除法控制逻辑简化了除法控制逻辑36第第4章章 数值的机器运算数值的机器运算原码不恢复余数除法操作步骤:判断溢出(定点小数时,要求|被除数|Xi=S3AiBi+S2AiBiYi=AiS0S1+S0S1AiBi+S0S1AiBi=Yi=Ai+S0Bi+S1Bi68第第4章章 数值的机器运算数值的机器运算XiYi=S3Ai

17、Bi+S2AiBi Ai+S0Bi+S1Bi Ai(S3Bi+S2Bi)+Ai+S0Bi+S1Bi Ai+S0Bi+S1BiYiXi+Yi=S3AiBi+S2AiBi +Ai+S0Bi+S1Bi =S3AiBi+S3S0AiBi+S2AiBi+S2AiS1Bi =S3AiBi+S2AiBi=Xi Fi=XiYiCi-1 Ci=XiYi+(XiYi+XiYi)Ci-1=Yi+XiYiCi-1=Yi+Xi Ci-1将XiYi= Yi代入A+ABA+B69第第4章章 数值的机器运算数值的机器运算70第第4章章 数值的机器运算数值的机器运算71第第4章章 数值的机器运算数值的机器运算3 3、四位算术逻

18、辑单元、四位算术逻辑单元( (串行进串行进位位) )由四个一位算术逻辑运算单元构成,内部的一位算逻单元间的进位关系采用串行进位72第第4章章 数值的机器运算数值的机器运算第0位向第1位的进位公式为 Cn1Y1X1Cn 其中Cn是向第0位(末位)的进位。第1位向第2位的进位公式为 Cn2Y2X2Cn1Y2Y1X2X1X2Cn第2位向第3位的进位公式为 Cn3Y3X3Cn2Y3Y2X3Y1X2X3X1X2X3Cn第3位的进位输出(即整个4位运算进位输出)公式为 Cn4Y4X4Cn3Y4Y3X4Y2X3X4Y1X2X3X4X1X2X3X4Cn设 GY4Y3X4Y2X3X4Y1X2X3X4 PX1X2

19、X3X4 则 Cn4GPCn4 4、并行进位的四位算术逻辑单元、并行进位的四位算术逻辑单元73第第4章章 数值的机器运算数值的机器运算123474第第4章章 数值的机器运算数值的机器运算门14输出分别为Cn、Cn+1 、Cn+2 、Cn+3和Cn+4,因此芯片输出F4F1是X4X1、Y4Y1以及低位进位输入Cn全加和的反码,即FiXiYiCi-1这样一片4位ALU可有三个进位输出,其中G称为进位发生输出,P称为进位传送输出,74181输出的P是X1X2X3X4,G是Y4Y3X4Y2X3X4Y1X2X3X4Cn+4是本片(组)的最后进位输出,先行进位逻辑,即第0位的进位输入Cn可直接传送到最高位

20、,可实现高速运算商业标号为商业标号为7418174181的的4 4位位ALUALU75第第4章章 数值的机器运算数值的机器运算M为逻辑运算与算术运算的控制信号:M=0时,所进行的是算术运算,此时FiXiYiCi-1M=1时,各位的低位进位输入都是1,封锁进位传递,进行逻辑运算,此时FiXiYi74181相当于:Cn+1四位加法器CnX1Y1X2Y2X3Y3X4Y41234F1F2F3F4M0X1Y1X2Y2X3Y3X4Y41111F1F2F3F4M176第第4章章 数值的机器运算数值的机器运算74181ALU有两种工作方式:一种是采用正逻辑(即高电平为“1”,低电平为“0”) 工作方式,另一种

21、是采用负逻辑工作方式。77第第4章章 数值的机器运算数值的机器运算74181功能表算术运算操作是用补码表示法表示的,“加”是指算术加,运算时考虑进位,“+”指逻辑加,减法采用补码方法进行78第第4章章 数值的机器运算数值的机器运算5 5、片间串行进位、片间串行进位1616位位ALUALU片内进位快速,但片间进位是逐片传递的,因此形成F1F16的时间还是比较长。79第第4章章 数值的机器运算数值的机器运算6 6、两级先行进位、两级先行进位ALUALU假设4片(组)74181的先行进位输出依次为P1,G1,G2,P2,P3,G3,P4,G4, 先行进位部件74182提供如下进位逻辑关系: CnG1

22、P1Cn(参照第73张Cn+4) CnG2P2CnG2G1P2P1P2Cn CnG3P3CnG3G2P3G1P2P3P1P2P3Cn Cn4 G4P4CnG4G3P4G2P3P4G1P2P3P4P1P2P3P4CnG*P*Cn其中:P*P1P2P3P4 G*G4G3P4G2P3P4G1P2P3P4成组先行进位部件74182的逻辑电路图如下,其中G*称为成组进位发生输出,P*称为成组进位传送输出。80第第4章章 数值的机器运算数值的机器运算注意:74181中输出的是P、G81第第4章章 数值的机器运算数值的机器运算利用P、G可以与并行进位发生器(74182CLA)配合,构成组间并行组内并行的并行

23、多位加法器。使用八个74181ALU和两个74182CLA可组成了一个32位的并行进位ALU。C0 P* G* C3 C2 C1 CLA (74182)C4 P G Cout C0 P G Cout C0C0 P* G* C3 C2 C1 CLA (74182) Cout C0 P G Cout C0 P G Cout C0 P G Cout C0 P G Cout C0 P G Cout C082第第4章章 数值的机器运算数值的机器运算6464位先行进位系统位先行进位系统 P* G* P GC0 CLA (74182) P G P G P G C3 C2 C1 P G P GC0 P* G*

24、 CLA (74182) P G P GC0 C3 C2 C1 P G P G P* G* CLA (74182) P G P GC0 C3 C2 C1 P G P* G* CLA (74182) P G P G P G P4 G4 C3 P3 G3 C2 P2 G2 C1 P1 G1 CLA (74182)C083第第4章章 数值的机器运算数值的机器运算4.4.6 6 运算器的基本组成运算器的基本组成运算器的基本组成部分包括:ALU(实现基本算术、逻辑运算功能);寄存器组(提供操作数与暂存结果);内部总线;运算器内的各模块通过内部总线连接84第第4章章 数值的机器运算数值的机器运算运算器的内

25、部总线结构运算器的内部总线结构单总线结构示意图特点:运算器的所有部件都连接在同一总线上,在同一时间内只能有一个操作数放在单总线上结构简单,操作速度慢85第第4章章 数值的机器运算数值的机器运算双总线结构示意图两个操作数可以分别通过总线1和总线2同时送到ALU,一步操作得到运算结果。结果必须先放在ALU的缓冲器中,等下一步骤再把结果送至目的寄存器。86第第4章章 数值的机器运算数值的机器运算三总线结构示意图总线旁路器作用:若一个操作数无需修改,直接通过总线旁路器将数据从总线2送到总线3运算一步完成,速度快87第第4章章 数值的机器运算数值的机器运算本章学习要求本章学习要求掌握:定点补码加法和减法运算方法理解:两种溢出检测方法掌握:定点原码、补码乘法运算方法掌握:定点原码、补码加减交替除法运算方法理解:浮点加减乘除运算理解:74181、74182工作原理及连接了解:运算器的基本结构88第第4章章 数值的机器运算数值的机器运算本章作业本章作业习题2、3、6习题8第一小题用布斯乘法、第二小题用补码两位乘法计算分别用补码加减交替法和布斯除法计算第10题第三小题习题1689

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号