第3章数值的机器运算

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章数值的机器运算3.1基本内容摘要1、定点数的加、减法运算和加、减法电路的实现◆定点数的加减运算补码的加法公式、补码的减法公式;◆补码的溢出判断和检测方法溢出的产生、符号比较法、双进位法、双符号位法;◆从半加器到算术逻辑部件ALU半加器、全加器、并行加法器、加减法部件ASU、BCD码(十进制)加法器、算术逻辑部件ALU;2、定点数的乘、除法运算和乘、除法电路的实现◆定点数的乘法运算和乘法电路的实现原码一位乘法、原码一位乘法运算器、补码原码一位乘法、补码原码一位乘法运算器;◆定点数的除法运算和除法电路的实现原码除法、原码加减交替法除法运算器、补码除法;3、逻辑运算◆“与”、“或”和“非”运算逻辑与、逻辑或、逻辑非◆“异或”运算4、定点运算器的基本结构与工作原理◆移位电路◆定点运算器的主要组成5、浮点数运算和浮点数运算器的实现◆二进制数的浮点表示法◆二进制数的浮点运算浮点数的加减法运算、浮点数的乘除法运算◆浮点运算器的基本结构浮点加减运算器硬件结构及其工作原理3.2知识点一、逻辑运算逻辑与:又称为“逻辑乘”,其逻辑表达式为:F=A×B=A·B=A∧B逻辑或:又称“逻辑加”,其逻辑表达式为:F=A+B=A∨B逻辑非:又称为“逻辑反”,其逻辑表达式为:B=A异或:又称为“按位加”,其逻辑表达式:F=A⊕B=A∨B二、定点数的加、减法运算和加、减法电路的实现1、补码加减法补码加法公式:[X+Y]补=[X]补+[Y]补补码减法公式:[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补当X、Y、X+Y均在一定字长补码所表示的数值范围内,公式成立;补码运算加减运算中,符号位可一起参加运算,不考虑符号位和数值位的区别;在补码减法运算中,有:[-y]补=-[y]补,[-y]补=[[y]补]求补求补运算指对[y]补包括符号位“求反且最末位加1”2、溢出及其检测方法定点数的运算中出现溢出,其运算结果不能表示正确结果,但可以通过一定方法修正。加减运算中溢出的判别方法有:(1)符号比较法溢出判断逻辑表达式:V=XsYs(X+Y)s+XsYs(X+Y)s+XsYs(X-Y)s+XsYs(X-Y)s(2)双进位法溢出判断逻辑表达式:V=Cin⊕Cout当CoutCin=01,结果正溢;当CoutCin=10结果负溢(3)双符号位法溢出判断逻辑表达式:V=SS1⊕SS2当Ss1Ss2=01结果正溢(或上溢);当Ss1Ss2=10结果负溢(或下溢);在补码运算中,最高位(符号位)产生进位并不表示溢出,该进位虽然丢弃,但运算结果仍然正确。3、定点加减运算器的结构(1)半加器:只是对两个输入数据位进行加法的电路,输出一个结果位和一个向高位的进位,不考虑低位的进位。半加器采用一个异或门和一个与门实现。(2)全加器:两个输入数据位和低位进位输入进行加法运算,输出一个结果位和一个向高位的进位。全加器采用2个异或门、2个与门和1个或门实现。(3)串行进位的并行加法器(行波进位加法器)n个全加器串接构成一个n位并行加法器,即将各位向高位的进位串联起来,低位的进位输出作为高一位加法器的进位输入,最低位的进位输入端置0。(4)先行进位的并行加法器◆先行进位的并行加法器的进位信号将全加器的进位表达式Ci=XiYi+(Xi⊕Yi)Ci-1中XiYi定义为“进位生成函数”Gi,(Xi⊕Yi)定义为“进位传送函数”Pi,n级并行加法器中各级的进位信号表达式为:C1=G1+P1C0C2=G2+P2G1+P2P1C0┊┊Cn=Gn+PnGn-1+PnPn-1Gn-2+……+PnPn-1……P2G1+PnPn-1……P2P1C0◆先行进位电路CLA和先行进位CLA加法器(5)加减法部件ASU(行波进位的补码加/减法器)(6)算术逻辑部件ALU1位ALU电路原理4位ALU逻辑部件74181功能及其应用(7)BCD码(十进制)加法器BCD码加法原理:被加数的4位二进制数和加数的4位二进制数相加时1001则对应4位数要加0110进行修正;BCD码减法原理:减数的4位二进制数减去被减数的4位二进制数时有借位,则对应4位数要减110进行修正;BCD码加法器:加法器和修正电路组成三、定点数的乘、除法运算和乘、除法电路的实现1、原码一位乘法◆原码乘法的算法:乘积[Z]原=[X]原×[Y]原=(XS⊕YS)+(O.X1X2﹍﹍Xn-1Xn)×(O.Y1Y2﹍﹍Yn-1Yn)◆原码一位乘法的计算机实现步骤:①取被乘数X和乘数Y的绝对值|X|=0.X1X2···Xn-1Xn,|Y|=0.Y1Y2···Yn-1YnN位部分积的初值为全“0”;②以乘数Y的最低位Yn作为判断位,若Yn=1,原部分积之和+被乘数得新部分积之和;Yn=0,原部分积就是新部分积之和;③新部分积之和同乘数|Y|一起右移一位;④依次检查Yn-1、Yn-2···Y1,重复上二步操作,最终得乘积Z=X×Y的绝对值;符号位Zs=Xs+Ys和乘积Z结合得ZsZ1Z2···Z2n-1Z2n为[X×Y]原◆原码一位乘法运算器结构2、补码一位乘法◆补码一位乘法的表达式为:[Z]补=[X×Y]补=[X]补×[0.Y1Y2···Yn]+[-X]补×Ys◆补码一位乘法的Booth算法运算步骤:①参加运算被乘数采用变形补码、乘数釆用单符号位补码表示,符号位参加运算;②乘数最低位Yn后加一位附加位Yn+1,初值为0;③求得每次部分积后必须与乘数一起右移一位,由乘数的最低二位Yn+1Yn的值决定下一次执行的操作——累加与右移YnYn+1=01原部分积+[X]补,并右移一位;YnYn+1=10原部分积+[-X]补,并右移一位;YnYn+1=00和YnYn+1=11原部分积+0,并右移一位;④操作次数,累加n+1次,移位n次(最后一次不移位);◆补码一位乘法运算器结构3、原码一位除法方法是先将符号位与数值位分开,对数值位部分进行除法运算得到的结果为商的数值部分,除数和被除数的符号位异或得到的是商的符号位,再加上商的数值部分运形成商的原码,余数应和被除数同符号◆恢复余数的除法:先作被除数和除数的减法,判别余数:如果余数为正,商上为1;如果余数为负,商上为0,由于已作了相减运算,需加上除数恢与那部分余数;◆加减交替法的除法:先作被除数和除数的减法,判别余数:余数为正,商上1,余数左移一位减除数;余数为负,商上0,余数左移一位加除数。若最后一次余数为负,商上0并加︱Y︱。◆原码加减交替法的除法运算器4、补码一位除法补码加减交替法的规则表为:[X]补与[Y]补第一次操作[ri]补与[Y]补上商求新余数[ri+1]补的操作同号[X]补-[Y]补①同号(够减)1[ri+1]补=2[ri]补-[Y]补②异号(不够减)0[ri+1]补=2[ri]补+[Y]补异号[X]补+[Y]补①同号(不够减)1[ri+1]补=2[ri]补-[Y]补②异号(够减)0[ri+1]补=2[ri]补+[Y]补四、定点运算器的基本结构与工作原理1、移位电路的工作原理2、定点运算器的主要组成及其原理五、浮点数运算和浮点数运算器的实现1.浮点数的加减法运算:浮点数加减法运算的步骤:(1)对阶:将原阶码小的数的尾数右移,使其阶码等于大数的阶码;(2)尾数运算:两个尾数进行加减运算,可任意采用一种方法;(3)结果规格化:对不符合规格化要求的结果进行规格化处理:左规或右规;(4)舍入处理:对运算时多保留的数据位进行舍入处理,可采用截去法、0舍1入法、恒置1法;(5)溢出处理:检查阶码是否溢出,阶码下溢则置运算结果为浮点数形式的“机器零”;阶码上溢,置溢出标志,由CPU的异常处理机制进行处理。2.浮点数的乘除法运算浮点数加减法运算的步骤:(1)阶码运算:乘法时,阶码做加法;除法时阶码做减法,若阶码以补码表示,阶码[Exy]补=[Ex+Ey]补=[Ex]补+[Ey]补阶码[Ex/y]补=[Ex-Ey]补=[Ex]补-[Ey]补若阶码以移码表示,阶码[Exy]移=[Ex+Ey]移=[Ex]移+[Ey]补阶码[Ex/y]移=[Ex-Ey]移=[Ex]移+[-Ey]补(2)尾数乘除法运算:乘法时,先检测相乘两尾数中是否有“0”,若有一个为“0”,乘积必为“0”,若均不为“0”,可进行乘法运算;除法时,检测被除数是否为“0”,若为“0”,则商必为“0”;再检测除数是否为“0”,若为“0”,则商必为“无穷大”,另作处理;除数和被除数都不为“0”,可进行除法运算;可以采用定点小数的任一种乘、除法运算来完成;(3)规格化:将尾数运算结果规格化处理;(4)舍入(5)溢出处理3、浮点运算器的基本结构(1)浮点数加减法运算操作流程(2)浮点数加减运算器的结构六、主要的术语及概念:求补、行波进位、先行进位、半加、全加、对阶、左规、右规、舍入、变形补码;

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功