




已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 运算方法和运算器(P122),2.1 数据信息的表示方法,2.2 算术、逻辑运算部件, 2.3 定点加减运算, 2.4 定点乘除法运算,2.5 浮点四则运算,2.6 运算器组织,2.1 数据信息的表示方法,2.1.1 进位计数制 一、二进制数的表示 对于任意一个二进制数N,用位置计数法表示如下:,用按权展开法表示为,式中, 表示各个数字,为或,为整数部分的位数,为小数部分的位数。,例,二、八进制,每位可选用的数码有个:,逢进位,基数为。,例,三、十六进制,每位可选用的数码共16个,为、,逢进位,基数为。,例3,四、二十进制,用二进制编码表示十进制数,称为码。 (Binary Coded Decimal),最基本的是 码。,例,2.1.2 数制转换,一、二进制数与十进制数之间的转换,例,按权展开,然后相加。,2, (58)10(111010)2,2. 纯小数转换 “乘 2 取整 ” 法, (0.625)10(0.101)2, (58.625)10( 111010.101)2,二、八进制、十六进制与二进制间的转换,823, 16 24,1 1 0 1 1 0 1 0 . 1 0 1 0 1 1,则 (11011010.101011)2(332.53)8(DA.AC)16,2.1.3 带符号数的表示(以纯小数为例),真值日常书写中,用正、负符号加绝对值表示数值,这种形式 表示的数值称为真值。 机器数计算机内部连同符号都一起数字化了的数,称为机器 数。 一、原码表示法,例真值 0.1011111 ,则原0.1011111 0.1011111 ,则原1.1011111,例0.1011111,则原X0.1011111 0.1011111,则原(0.1011111 ) 1.1011111 注意:真值有两种表示 和。 原0.000,原1.000,二、反码表示法,例真值 0.1001111 ,则原0.1001111, 反0.1001111。 0.1001111 ,则原1.1001111, 反1.0110000。,例0.1101111,则反0.1101111 0.1101111,则反(227)+X =10.00000000.0000001+(0.1101111) =1.11111110.1101111=1.0010000,注意:反0.000,反1.111。,三、补码表示法,例0.1010000,原0.1010000,补0.1010000 0.1010000,原1.1010000,补1.0110000,例0.1011101,则补0.1011101 0.1011101,则补0.1011101 10.00000000.1011101 1.0100011 注意:+0 补0 补0.000, 而 1 补1.000,四、原码、反码与补码之间的关系, 对于正数,原反补 对于负数,原反反补补,例已知反1.1010100,求原? 解:原反反1.1010100反1.0101011,例已知补1.0111001 ,求原? 解:原补补1.0111001补1.1000111,五、整数的原码、反码及补码,类同于小数,只是把 “.” 改成 “,” , 表示隔开符号位。,例若 1010101 则有原0,1010101 反0,1010101 补0,1010101 若 1010101 则有原1,1010101 反1,0101010 补1,0101011,2.1.4 定点表示与浮点表示,一、定点表示,小数点位置固定不变表示定点数。,定点小数表示:X0.X1X2Xn-1Xn 定点整数表示:XnXn-1X1X0.,小数点的位置是一种隐含约定,不需要用某个数位或触发器一类来表示,在运算过程中小数点位置不变。,例一个字节八位二进制硬件表示定点整数和定点小数的典型数值。 原码定点整数 原码定点小数 绝对值最大负数:1111 1111(271)127 1111 1111(12) 绝对值最小负数:1000 00011 1000 000127 最大正数 : 0111 1111271127 0111 1111127 非零最小正数: 0000 0001+1 0000 000127 数的范围: (271) (271) (127) (127),引伸到n位时:(2n11) (2n11) (12(n1) (12(n1),补码定点整数 补码定点小数 绝对值最大负数:1000 0000=27=128 1000 0000=1 绝对值最小负数:1111 1111= 1111 1111=27 最大正数: 0111 1111=271 0111 1111=127 非零最小正数: 0000 0001=+1 0000 0001=27 数的范围: 27 (271) 1 (127),引伸到n位时: 2n1 (2n11) 1 (12(n1),定点数表示的缺点:数据表示范围小,例如用位硬件表示的整数, 补码表示的整数的范围:215 (2151),即: 32768 32767,很容易产生溢出; 优点:定点数比较简单,表示数据的有效精度高,位可全部用来表 示数据位数。,课堂作业某机器用13位硬件来表示数据,其中一位符号位,12位数据位,分别求原码定点整数绝对值最大负数和补码定点整数绝对值最大负数。(找一个同学上来做),原码定点小数 绝对值最大负数:1 1111 1111 1111 (1212) 绝对值最小负数:1 0000 0000 0001 212 最大正数 : 0 1111 1111 1111 (1212) 非零最小正数: 0 0000 0000 0001 +212,补码定点小数 绝对值最大负数:1 0000 0000 0000 1 绝对值最小负数:1 1111 1111 1111 212 最大正数 : 0 1111 1111 1111 (1212) 非零最小正数: 0 0000 0000 0001 +212,二、浮点表示, 其中为真值,为比例因子,是尾数。,浮点数格式: 补码定点整数 补码定点小数,,基数为,浮点数的阶码和尾数都采用补码表示。,例假定某个硬件是一个位的二进制形式,其中阶码位,尾数位,各 带一位数符,其浮点数表示范围:,补码浮点表示 阶码 尾数 真值 绝对值最大负数: 01111111 10000000 .(1) 2127 绝对值最小负数: 10000000 11111111 .(27)2135 最大正数: 01111111 01111111 .(127) 非零最小正数: 10000000 00000001 .272135,总结:,位二进制的浮点数的表示范围: 2127 2127.(127),更进一步,若阶码为位,尾数为位,则浮点数表示范围:,例若定点整数字长位,内含一位数符,补码表示;则数的表示范围为:,231 (2311),例若浮点数字长位;其中阶码位,含一位阶符,补码表示,以为底;尾数位,含一位数符,补码表示,规格化。求浮点数的表示范围。,解:根据题意,可以得出,代入公式,则浮点数的表示范围为:,从例2和例3可以看出,同样32位硬件,浮点表示的数的范围要比定点数大很多。,尾数存放格式为 0.1 或 1.0 等。,例 A 0.0011, B0.0011 AB0.00001001, 如果硬件为5位, 则 AB0.0000, () A0.110022 , B0.110022 AB0.100124,例假定为14位浮点数,阶码 6 位(包含一位符号位),尾数 8位(包含一位符号位),,规格化浮点数的表示范围要小一些,目前所有CPU浮点数据都采用规格化形式表示数据。,例,某浮点数格式如前图所示,字长位;其中阶码位,含一位阶符,补码表示,以为底;尾数位,含一位数符,补码表示,规格化。若浮点数代码为(),求其真值。,E(10100011)2= (1011101)293, N=2930.8125,例按上述浮点格式将(1011.110100)2写成浮点数代码。,解:N(1011.110100)2(0.1011110100)224,E(4)10(00000100)2,M补(1.0100001100)2, 浮点数代码为 (00000100,10100001100)2 (04A18000)16,2.1.5 字符的表示,表21 ASCII码表,表 各控制字符代表的意义,2汉字的编码,一、汉字输入码,将每个汉字用一组键盘按键表示。这样形成的汉字编码称为汉字的 输入码。汉字输入码应当规则简单、容易记忆,同时为了提高输入速度, 输入码的编码应尽可能的短。常见的汉字输入码有数字编码、拼音码和 字形码等。数字码如国标区位码,它的特点是无重码,每个编码对应惟 一一个汉字。拼音码根据汉字的拼音规则进行编码,具有简单易记的优 点;缺点是重码多,因为汉字中有许多同音字。字形码的典型例子是五 笔字型编码,它根据汉字的笔画规则进行编码。,每个汉字的编码由两部分组成:第一部分指明该汉字所在的区; 第二部分指明它在区中的位置。这两部分用二进制表示时各需要 7位,像ASCII码一样,在计算机中实际各占8位。为了与ASCII码 相区别,还要有附加的标志。目前最常见的方法是把多余的最高位 设置为1。,二、汉字机内码,汉字机内码是用于汉字信息存储、交换、检索等操作的内部代码, 一般采用两个字节表示一个汉字。,2.2 算术、逻辑运算部件,2.2.1 一位全加器,Si表示第位的和,Ci表示进位信号输出,Ci-1表示低位来的进位,Ai与Bi表示两个加数。,则,一位加法单元示意图,2.2.2 串行进位并行加法器,串行进位方式是指:逐级地形成各位进位,每一级进位直接依赖于 前一级进位。,设有两个n位的数,被加数AAn.A2A1 加数BBn.B2B1 C0为低位来的进位,采用串行进位的并行加法器,优点:逻辑元器件较少,实现简单。 缺点:运算时间较长,进位延时较长。 为了解决进位链慢的问题,提出了“先行进位”的概念。,2.2.3 先行进位并行加法器,先定义:Gi=AiBi 进位生成函数 Pi=Ai Bi 进位传递函数,则,先行进位的逻辑式:,C1=G1+P1C0 C2=G2+P2C1=G2+P2(G1+P1C0)=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 Cn=Gn+PnGn-1+PnPn-1P1C0,特点:同时产生进位。 加法器延时缩短。 实现相对复杂。,考虑到高位的进位形式中输入变量太多,实际实现时有一个实用器件扇入系数的限制,实际上常采用分级、分组的进位链结构。,1. 四位一组先行进位加法器,例设加法器字长16位,每4位为一组,分为4组。,本例中,组内采用先行进位,组间仍然采用的是串行进位。后一组的进位输入要等待前一组的进位输出产生后才能进行运算。,组内并行、组间串行进位加法器,组间先行进位加法器(16位加法器设计中),则推出组间先行进位函数式:, 位先行进位加法器称为二级先行结构。 组内先行进位:74181器件完成。 组间先行进位:74182器件完成。,组内并行、组间并行加法器,2.2.4 补码加法器,定义:具有加减法功能的设备称为补码加法器。,2.2.5 算术逻辑运算部件ALU举例,一、SN74LS181,P134,图7-6,181的内部逻辑结构图,1. 四位ALU,四位全加器位于图的下半部。控制端M用来选择逻辑运算或算术运算,S3S2S1S0控制各种加减运算和逻辑运算。,2. 组内先行进位,片内四位为一小组,组内采用先行进位结构,它提供了组生成函数G和组传递函数P,用以形成更多位ALU的先行进位。本芯片还提供Cn+4输出,利用它可以构成组间串行进位。,3. 符合比较 “A=B”,SN74LS181可执行异或运算,输出 ,通过输出门“A=B”可获得 比较结果。,74181芯片引脚图如下:,二、SN74LS181功能表(P135),注意: 1(无进位), 0(有进位),三、利用74LS181芯片构成16位ALU 原理,1. 组间串行进位结构,2. 组间先行进位结构,需增加一片 74LS182芯片,用4片181和1片182构成16位ALU(算术逻辑运算单元)。,如果是64位呢? 和 作为输入产生 、 、 、 进位,此时应为三级先行进位ALU。, 2.3 定点加减运算(P125),一、补码加减运算的公式及规则,(2) 补码作加减运算时它的符号位是参加运算的,符号位的进位被丢掉。,例1 求X Y = ? 其中 X = + 1010000,Y = + 0011000 (1)原码运算 X 原 = 0, 1010000 Y 原 = 0, 0011000 因X的绝对值大于Y的绝对值,所以由X作被减数,Y作减数,差值为正。 0, 1010000 0, 0011000 0, 0111000 X Y 原 = 0, 0111000,其真值为X Y = 0111000,(2)补码运算(符号位参加运算) X 补 = 0, 1010000, Y0011000, Y 补 =1, 1101000 0, 1010000 + 1, 1101000 1 0, 0111000 丢掉 X Y 补 = 0, 0111000,其真值为X Y = 0111000,0,1001 0,0011 0,1001 0,0011 1,0111 1,1010 0,1100 1,1010 10,0011,三、溢出判断(P129),运算结果若超出机器数的表示范围,称为溢出。溢出现象总是发生在两数运算结束之后。如果两正数之和为负数或两负数之和为正数,则其和数必为溢出数。,例1 设 X= +1100 Y= +1000 求 X+Y补= ? 解: 运算过程中符号位采用双符号位(即变形补码), X补= 00,1100 Y补=00,1000 00,1100 + 00,1000 01,0100 X+Y补= 01,0100, 其中两符号出现01情况, 表示溢出。 本例题数值位采用四位, 最多能表示正15=1111, 而X= + 1100 = 12 Y= + 1000 = 8, 12 + 8=20, 当然超出1111的最大值, 所以要溢出。,例2 设 X =1100 Y=1000 求 X+Y补= ? 解: 运算过程中符号位采用双符号位 X补= 11,0100 Y补=11,1000 11,0100 + 11,1000 10,1100 X+Y补= 10,1100, 其中两符号出现10情况, 表示溢出。本例题最多能表示16,而 128 =20, 当然超出 1,0000 的绝对值最大负数, 所以溢出。,当 = 01 时称为 正溢 (上溢) , =10 时称为负溢(下溢)。 溢出应对处理原则:停机, 转溢出处理程序。 溢出判别电路 V = , 只需一个异或门即可实现。, 2.4 定点乘除法运算,2.4.1 定点乘法运算,工作原理:利用常规的双操作数加法器,把n位乘转化为多次累加与移位循环实现。,包括:原码一位乘法、原码二位乘法、补码一位乘法、补码二位乘法等。,一、手算法改进,例:0.10010.1101=? 0.1001 0.1101 1001 0000 1001 + 1001 0. 01110101,改进: 每乘一位后就作一次加法。 把原来手算法的左移改为部分积右移。,改进后0.10010.1101的运算过程为 0.1001 0.1101 1001 01001 + 0000 01001 001001 + 1001 101101 0101101 + 1001 1110101 01110101,原码一位乘的工作原理,二、原码一位乘法,取两数的绝对值相乘,符号位单独处理。,例 X=0.1101,Y=0.1011,求XY?,解: X00.1101 ,Y.1011 步数 操作 部分积A 乘数 Y 00.0000 .1011 一、 + X +00.1101 00.1101 00.0110 1.101 二、 + X +00.1101 01.0011 00.1001 11.10 三、 0 +00.0000 00.1001 00.0100 111.1 四、 + X +00.1101 01.0001 00.1000 1111.,再加上符号位, XY原1.10001111 XY0.10001111,原码一位乘法流程,原码一位乘的运算规则:,课堂作业:已知 X=0.110, Y=0.101,求 XY=?,用原码一位乘。,解: X00.110 ,Y.101 步数 操作 部分积A 乘数 Y 00.000 .101 一、 + X +00.110 00.110 00.011 0.10 二、 + 0 +00.000 00.011 00.001 10.1 三、 + X +00.110 00.111 00.011 110.,再加上符号位, XY原0.011110 XY+0.011110,三、补码一位乘法(Booth算法),补码一位乘法的运算规则:,(5)按照上述算法进行n+1步操作,但第n+1步不再移位, 仅根据y0与y1的比较结果作相应的运算即可。,补码一位乘法流程图,例1 X0.11010,Y=0.10111 求 XY补?,解:X补11.00110, X补00.11010, Y补1.01001,步数 操作 部分积 乘数 Yn+1,00.00000 1.01001 0,一、 00.11010 00.11010, 00.01101 01.0100 1,二、 11.00110 11.10011, 11.11001 101.010 0,步数 操作 部分积 乘数 Yn+1,11.11001 101.010 0,三、 0 11.11001, 11.11100 1101.01 0, 00.01011 01101.0 1,五、 11.00110 11.10001, 11.11000 101101. 0,六、 00.11010 00.10010 10110, 0.1001010110 XY0.1001010110,例2 X0.1011,Y=0.1110,求 XY补?用补码一位乘。,解:X补11.0101, X补00.1011, Y补0.1110,步数 操作 部分积 乘数 Yn+1,00.0000 0.1110 0,一、 0 00.0000 00.0000, 00.0000 00.111 0, 00.0101 100.11 1,二、 00.1011 00.1011,步数 操作 部分积 乘数 Yn+1,00.0101 100.11 1,三、 0 00.0101, 00.0010 1100.1 1, 00.0001 01100. 1,四、 0 00.0010,五、 11.0101 11.0110 0110, 1.01100110 XY0.10011010,课堂作业: X0.1010,Y=0.1001,求 XY补?用补码一位乘。,解:X补11.0110, X补00.1010, Y补0.1001,步数 操作 部分积 乘数 Yn+1,00.0000 0.1001 0,一、 00.1010 00.1010, 00.0101 00.100 1,二、 11.0110 11.1011, 11.1101 100.10 0,步数 操作 部分积 乘数 Yn+1,11.1101 100.10 0,三、 0 11.1101, 11.1110 1100.1 0,四、 00.1010 100.1000, 00.0100 01100. 1,五、 11.0110 11.1010 0110, 1.10100110 XY0.01011010,补码一位乘法逻辑电路,四、快速乘法简介,快速乘法器不再围绕双操作数的加法器进行算法研究,而是要设计出能一次进行多操作数的加法器。现在有实现多位乘的乘法器集成电路芯片,例如一片实现位相乘,用若干块芯片可组成更高位数的乘法器,这种模式称为阵列乘法器。,阵列乘法器芯片包含两大部分: ()用若干与门产生与操作数数位对应的多个部分积数位; ()用多操作数加法网络求乘积。,例 55位无符号数相乘 A=a5a4a3a2a1 B=b5b4b3b2b1,2.4.2 定点除法运算 原码不恢复余数法,手工除法:先心算被除数够不够减去除数,够减则减去除数,商上1,然后余数补0,(相当于余数左移一位);若不够减则直接补0,商上0,再作下一次比较。 “先判后减”,“先减后判”:,(2) 若不够减,即 2 Y0, 则商上 0,,恢复余数为 Y2 ,下一步做 2 Y,推导: 2( Y)Y2 Y,表达式表明,当出现不够减情况时,不恢复余数,而直接作下一步ri+1,操作为负余数左移一位,再加上Y,其结果与恢复余数后再减Y是等效的。这就是加减交替法,即不恢复余数除法。,原码不恢复余数除法规则如下:,(1) 取绝对值相除,符号位单独处理;,(2) 对于定点小数除法,为使商不致溢出,要求 XY;,(5) 原码除法若最后一步所得余数为负,则应恢复余数,以保持 0 。,例1X原1.10110,Y原0.11101,用不恢复余数法求X原Y原Q原?,解: X00.10110 ,Y00.11101 ,符合 XY, Y补11.00011,(中途减法必须用补码),步数 操作 被除数/余数 商 说明,一、 01.01100,Y 11.00011 00.01111 0.00001 0, 商上1,二、 00.11110,Y 11.00011 00.00001 0.00011 0, 商上1,步数 操作 被除数/余数 商 说明,三、 00.00010,Y 11.00011 11.00101 0.00110 0, 商上0,四、 10.01010,Y 00.11101 11.01011 0.11000 0,商上0,五、 10.01110,Y 00.11101 11.00111 0.01100 0,商上0,六、 Y 00.11101 00.01000 余数为负,加Y恢复余数, Q原1.11000,余数r原0.0100025,即 商0.11000,余数0.0100025,例2XY0.101100.11111? (用原码不恢复余数法),解: X00.10110 ,Y00.11111 ,符合 XY, Y补11.00001,(中途减法必须用补码),步数 操作 被除数/余数 商 说明,一、 01.01100,Y 11.00001 00.01101 0.00001 0, 商上1,二、 00.11010,Y 11.00001 11.11011 0.00010 0, 商上0,步数 操作 被除数/余数 商 说明,三、 11.10110,+Y 00.11111 00.10101 0.00101 0, 商上1,四、 01.01010,Y 11.00001 11.10111 0.10110 0,商上0,五、 00.10110,Y 11.00001 00.01011 0.01011 0,商上1,六、 Y 00.11111 00.10110 余数为负,加Y恢复余数,即 商0.10110,余数0.1011025,2.5 浮点四则运算,一、浮点加减运算,设两个补码表示的浮点数 A=Ma2a B=Mb2b 其中Ma、Mb是规格化尾数,a、b是阶码。浮点数的加减法需要四个步骤: (1)对阶,(2)求和/差,(3)规格化,(4)舍入,1、对阶 目的就是要使两个尾数小数点对齐,阶码相等,这个操作称为对阶。,若 ,表示两阶相等,小数点已对齐; 若 ,则按阶差值 来调整阶码;,对阶原则:小阶向大阶看齐。 小阶阶码加1,小阶的尾数向右移1位,直至ab,即两数阶码相等。,2. 尾数相加减 完成小数点对齐工作后,尾数就可以进行加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初三质量分析会班主任发言
- 电话销售礼仪培训
- 时政播报课件
- 2025版锅炉改造工程设计与施工合同
- 二零二五年瓷砖产品进出口贸易合同
- 2025版电商数据分析与营销托管合同范本
- 二零二五版家庭心理咨询与辅导服务合同书
- 2025版股权投资与资产管理合作协议书
- 二零二五版跨境贸易实务:磋商与订立合同操作指南及案例解析
- 2025版智能家电研发与市场推广合作合同
- 卢浦大桥PPT.
- 江苏译林英语9上Unit-1-4课文翻译
- 石油与天然气地质专业英语分类词汇表
- 2019北师大版高中英语必修一~三课文翻译(全册精校)
- A4横线稿纸模板(可直接打印)-a4线条纸
- 列车牵规正文
- 渔业船员证书申请表
- 浅谈汽车4S店客户关系管理
- 云南民族大学听课记录表和效果评价表-202203158163
- 中央空调检验批范例
- STOP 6 安全卫生教育
评论
0/150
提交评论