最新四章数据的机器运算PPT课件.ppt
《最新四章数据的机器运算PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新四章数据的机器运算PPT课件.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2本章主要内容本章主要内容主要内容主要内容n算术、逻辑运算的实现算术、逻辑运算的实现n定点加、减运算定点加、减运算n数的移位和舍入操作数的移位和舍入操作n定点乘、除运算定点乘、除运算n规格化浮点运算规格化浮点运算93 3、并行加法器的快速进位、并行加法器的快速进位l改进串行进位方式的基本思路是让各进位同时形成,避免各进位之改进串行进位方式的基本思路是让各进位同时形成,避免各进位之间的依赖关系。现在来分析一下进位关系。间的依赖关系。现在来分析一下进位关系。 展开展开C1=G1+P1C0 ;C2=G2+P2C1 ; ,Cn=Gn+PnCn-1 得关系式:得关系式: C1=G1+P1C0 C2=G2
2、+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1 +P4P3P2P1C0 以上进位输出只与以上进位输出只与Gi、Pi以及最低进位以及最低进位C0有关,而且不依赖于其低有关,而且不依赖于其低位进位位进位Ci-1的输入,因此各级进位可以同时产生,形成的输入,因此各级进位可以同时产生,形成并行进位。并行进位。10并行进位的特点并行进位的特点n并行进位的特点是各级进位信号同时形成,与字长无并行进位的特点是各级进位信号同时形成,与字长无关,提高了整体运算速度关,提高了整体运
3、算速度 。并行进位又叫先行进位。并行进位又叫先行进位。n最长延迟时间仅为最长延迟时间仅为2ty。n随着加法器位数的增加,随着加法器位数的增加,Ci的逻辑表达式会变得越来的逻辑表达式会变得越来越长,输入变量会越来越多,电路结构也会变得越来越长,输入变量会越来越多,电路结构也会变得越来越复杂,导致电路实现也越来越困难。越复杂,导致电路实现也越来越困难。n并行进位方式需继续改进,才能有实用价值。这就是并行进位方式需继续改进,才能有实用价值。这就是下面要介绍的分组进位方式。下面要介绍的分组进位方式。11n以以16位加法器为例,将其分为位加法器为例,将其分为4组,每组组,每组4位。位。n在组内,按照并行
4、进位函数直接产生在组内,按照并行进位函数直接产生C1C4,这,这些进位可同时得到。实现这种进位逻辑的电路称些进位可同时得到。实现这种进位逻辑的电路称为为4位位先行进位电路(先行进位电路(CLA),如,如74181ALU。n利用这种利用这种4位一组的位一组的CLA电路和电路和4位全加器可以构位全加器可以构成成4位位CLA加法器。注意,加法器。注意,4位位CLA加法器包含了加法器包含了两部分逻辑:两部分逻辑:4位全加器和位全加器和4位一组的先行进位链,位一组的先行进位链,这个组内的进位为一级进位。这个组内的进位为一级进位。 n在组间,每个组的进位输入是前一个组的进位输在组间,每个组的进位输入是前一
5、个组的进位输出,而每个组的进位输出是下一个组的进位输入出,而每个组的进位输出是下一个组的进位输入.构成构成1616位加法位加法器很容器很容易实现易实现 单级先行进位单级先行进位12单级先行进位(续一)单级先行进位(续一)n上述组内并行、组间串行的进位方式也称为单级先上述组内并行、组间串行的进位方式也称为单级先行进位方式,原理如下图所示。行进位方式,原理如下图所示。13单级先行进位(续二)单级先行进位(续二)n组内并行、组间串行进位的时间图组内并行、组间串行进位的时间图(16位位)如下:如下:n完成进位时间完成进位时间8ty.n进位时间与组数成正比,组数越多,进位时间越长。进位时间与组数成正比,
6、组数越多,进位时间越长。14多级先行进位多级先行进位n为说明问题,我们不妨仍以为说明问题,我们不妨仍以16位加法器为例,仍然位加法器为例,仍然4位一组,分成位一组,分成4个小组,先就第一小组的进位输出函个小组,先就第一小组的进位输出函数数C4做一下分析:做一下分析:C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 G1* P1* = G1* +P1*C0n G1*称为称为组进位产生函数组进位产生函数,P1*称为称为组进位传递函数组进位传递函数;这两个函数类似于进位产生函数这两个函数类似于进位产生函数G和进位传递函数和进位传递函数P.15多级先行进位(续一)多级先行
7、进位(续一)n四个组内的最高进位四个组内的最高进位C16、C12、C8、C4可以分别表示为可以分别表示为: : C4 = G1* + P1* C0 C8 = G2* + P2* C4 C12 = G3* + P3* C8 C16 = G4* + P4* C12现在逐项代入、并展开得关系式:现在逐项代入、并展开得关系式:C4 = G1* + P1* C0C8 = G2*+P2*C4=G2*+P2*G1* +P2*P1*C0C12 = G3*+P3*G2*+P3*P2*G1* +P3*P2*P1*C0C16 = G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*
8、P1*C0可以看出,这可以看出,这4组进位结构与前述组进位结构与前述4位先行进位逻辑完全相同,位先行进位逻辑完全相同,组间进位信号只与最低进位组间进位信号只与最低进位C0有关,所以能同时产生。有关,所以能同时产生。16多级先行进位(续二)多级先行进位(续二)n组内进位信号能同时产生、组间进位信号也能同时产组内进位信号能同时产生、组间进位信号也能同时产生,由此可以构成多级并行进位逻辑。生,由此可以构成多级并行进位逻辑。16位位2级先行级先行进位加法器如下图所示。进位加法器如下图所示。17多级先行进位(续三)多级先行进位(续三)n问题是这问题是这4个组间进位信号如何用硬件来产生呢?个组间进位信号如
9、何用硬件来产生呢?对于多级先行进位的实现可以按如下思路来理解:对于多级先行进位的实现可以按如下思路来理解:n先把单级先行进位加法器的串行进位链断开;先把单级先行进位加法器的串行进位链断开;n增加一级先行进位链,这个新增加的先行进位链的增加一级先行进位链,这个新增加的先行进位链的进位称为二级进位;进位称为二级进位;n组间进位信号组间进位信号C4、C8、C12、C16由二级进位链来产由二级进位链来产生,其逻辑关系式已经得到;生,其逻辑关系式已经得到;n让一级进位链多产生两个辅助函数让一级进位链多产生两个辅助函数Gi*和和Pi*,并且,并且作为二级进位链的输入。作为二级进位链的输入。 18多级先行进
10、位(续四)多级先行进位(续四)16位位2级级先行进位时间图先行进位时间图 进位产生次序如下:进位产生次序如下:n产生第一小组的产生第一小组的C1C3、所有、所有组进位产生函数组进位产生函数Gi*和组进位传和组进位传递函数递函数Pi*,时间为,时间为2ty. n由由CLA电路产生第二、三、四电路产生第二、三、四小组的组间进位信号小组的组间进位信号C4、C8、C12、C16,时间为,时间为2ty.n产生第二、三、四小组的组内产生第二、三、四小组的组内进位信号进位信号C5、C6、C7、C9、C10、C11、C13、C14、C15,时间为,时间为2ty. 194 4、多功能算术逻辑部件、多功能算术逻辑
11、部件ALUn前面介绍了运算器的算术运算功能,为了完成多种算前面介绍了运算器的算术运算功能,为了完成多种算术逻辑运算,需要将加法器的功能进行扩展,扩展的术逻辑运算,需要将加法器的功能进行扩展,扩展的基本思想如下:基本思想如下:参加运算的两个数参加运算的两个数Ai、Bi和低位进位和低位进位Ci-1先不进行全加,先把两个输入先不进行全加,先把两个输入Ai、Bi和四个控制参数和四个控制参数S0、S1、S2、S3进进行组合,形成函数行组合,形成函数Xi和和Yi,然后再将,然后再将Xi、Yi和低位进位和低位进位Ci-1通过全加器进行全加。通过全加器进行全加。这样一来,控制参数不同,得到的组这样一来,控制参
12、数不同,得到的组合函数也不同,从而实现多种算术和合函数也不同,从而实现多种算术和逻辑运算。逻辑运算。 20算术逻辑部件算术逻辑部件ALUn算术逻辑部件算术逻辑部件ALU大体上有三部分组成:大体上有三部分组成:n全加器全加器n进位链进位链n输入选择器输入选择器n下面以下面以ALU的一位逻辑为例,原理性地说明的一位逻辑为例,原理性地说明算术、逻辑功能是如何实现的。算术、逻辑功能是如何实现的。21算术逻辑部件算术逻辑部件ALU(续一)(续一)l一位加法器由全加器和进位门构一位加法器由全加器和进位门构成,其中,两个半加器构成全加成,其中,两个半加器构成全加器、与或非门构成一位进位门。器、与或非门构成一
13、位进位门。l一位输入选择器,由两个与或非一位输入选择器,由两个与或非门构成,可输入门构成,可输入2个本位操作数个本位操作数或非、或非、4个控制信号(个控制信号(S3S0)l一个控制门一个控制门M,选择算逻运算。,选择算逻运算。当当M=0时,开门接收低位来的进时,开门接收低位来的进位信号,执行算术运算;当位信号,执行算术运算;当M=1时,关门不接收低位进位信号,时,关门不接收低位进位信号,执行逻辑运算,与进位无关。执行逻辑运算,与进位无关。 22算术逻辑部件算术逻辑部件ALU(续二)(续二)控制信号与选择器输出关系表:控制信号与选择器输出关系表:S3 S2 Xi S1 S0 Yi0 0 1 0
14、0 Ai0 1 Ai+Bi 0 1 AiBi1 0 Ai+Bi 1 0 AiBi1 1 Ai 1 1 0 进位传递函数进位传递函数进位产生函数进位产生函数通过不同的输入选择,实现不同的功能,这进一步说明:数据是在传通过不同的输入选择,实现不同的功能,这进一步说明:数据是在传送过程实现运算、并得到处理的。多位送过程实现运算、并得到处理的。多位ALUALU的实现思路完全一样。的实现思路完全一样。235 5、运算器的组织、运算器的组织n运算器主要由算逻部件运算器主要由算逻部件ALU、寄存器、多路转换、寄存器、多路转换器、内部数据总线组成。器、内部数据总线组成。n在运算器内部,各功能模块之间的连接大都
15、采用在运算器内部,各功能模块之间的连接大都采用总线结构,称为运算器的内部总线,总线结构,称为运算器的内部总线,ALU和各寄和各寄存器都挂在上面。存器都挂在上面。n运算器大体上有如下三种结构:单总线结构、双运算器大体上有如下三种结构:单总线结构、双总线结构和三总线总线结构。总线结构和三总线总线结构。24l操作数需要分两次送入操作数需要分两次送入ALU,而,而且需要两个缓冲寄存器;完成一且需要两个缓冲寄存器;完成一次运算需要次运算需要3步。特点是控制电路步。特点是控制电路简单,而速度较慢。简单,而速度较慢。 l两个操作数可以同时到达两个操作数可以同时到达ALU进行进行运算,且马上可以得到运算结果,
16、运算,且马上可以得到运算结果,输出端需要设置一个缓冲寄存器输出端需要设置一个缓冲寄存器 ;完成一次运算需要完成一次运算需要2步步 。l两条总线同时供给操作数,输出与两条总线同时供给操作数,输出与第三条总线相连;完成一次运算需第三条总线相连;完成一次运算需要要1步。特点是操作速度快,控制步。特点是操作速度快,控制相对复杂一些。相对复杂一些。 运算器的运算器的3种组织结构种组织结构25二、定点加减运算二、定点加减运算 n原码加减运算原码加减运算n当原码做加减运算时,符号位不参加运算,只当原码做加减运算时,符号位不参加运算,只在两数的绝对值之间进行。在两数的绝对值之间进行。n加法时可能要做减法(两数
17、异号)、减法时又加法时可能要做减法(两数异号)、减法时又可能做加法(两数异号)。可能做加法(两数异号)。n操作结果需要根据绝对值的大小来确定运算结操作结果需要根据绝对值的大小来确定运算结果的符号。计算机中通常没有减法器,减法运果的符号。计算机中通常没有减法器,减法运算需要转换为加法来实现。算需要转换为加法来实现。结论:原码加减运算过程比较复杂,一般不用结论:原码加减运算过程比较复杂,一般不用. .261 1、补码加减运算、补码加减运算 补码加减运算的依据如下:补码加减运算的依据如下:n和的补码等于补码的和和的补码等于补码的和 nX + Y补补 = X补补 + Y补补 n相反数的补码等于补码的相
18、反数相反数的补码等于补码的相反数 n-X补补 = - X补补 n差的补码等于补码的差差的补码等于补码的差nX-Y补补 = X补补+ -Y补补 = X补补- Y补补 补码的运算规则:补码的运算规则: n参加运算的操作数用补码表参加运算的操作数用补码表示。示。n补码的符号位与数值位同时补码的符号位与数值位同时参加运算。参加运算。n若做加法,则两数补码直接若做加法,则两数补码直接相加;相加;若做减法,用被减数与减数若做减法,用被减数与减数的的机器负数机器负数相加。相加。n运算结果为和运算结果为和、差的补码。差的补码。 注注:机器负数等于补码连同机器负数等于补码连同符号位按位求反,末位加符号位按位求反
19、,末位加1。27补码加减示例补码加减示例例例1、A=0.1011, B=-0.1110,求,求A+B.解:解: A补补 = 0.1011, B补补 = 1.00100.1011+1.00101.1101 A+B补补 = 1.1101 A+B = -0.0011例例2、A=0.1011, B=-0.0010,求,求A-B.解:解: A补补 = 0.1011, B补补 = 1.1110, -B补补 = 0.0010 0.1011+ 0.0010 0.1101 A-B补补 = 0.1101 A-B = 0.1101282 2、补码加减溢出的判别、补码加减溢出的判别例例3、X=1011,Y=111 求
20、X+Y。 例例4、X=-1011,Y=-111 求X+Y。解解:X补=0,1011,Y补=0,0111 解解:X补=1,0101,Y补=1,10010,1011 (+11) 1,0101 (-11)+0,0111 (+7) + 1,1001 (-7 )1,0010 0,1110 X+Y补 =1,0010 X+Y补=0,1110 X+Y=-1110 (-14) X+Y=+1110 (+14) 出错原因在于用了出错原因在于用了4个二进制位来表示绝对值为个二进制位来表示绝对值为18的和数的和数。29补码加减运算溢出补码加减运算溢出n当运算结果超出了机器所能表示的范围时,当运算结果超出了机器所能表示的
21、范围时,数值位侵占了符号位,这种现象称为数值位侵占了符号位,这种现象称为溢出溢出。两个同符号的数相加会产生溢出。两个同符号的数相加会产生溢出。 n两个正数相加,结果大于机器所能表示的两个正数相加,结果大于机器所能表示的最大正数,称为最大正数,称为上溢(正溢)上溢(正溢)。n两个负数相加,结果小于机器所能表示的两个负数相加,结果小于机器所能表示的最小负数,称为最小负数,称为下溢(负溢)下溢(负溢)。30补码加减溢出的判别方法补码加减溢出的判别方法 判断溢出的三种基本方法:判断溢出的三种基本方法: 采用一个符号位判别采用一个符号位判别 l当参加运算的两个数的符号为当参加运算的两个数的符号为0、而和
22、的符号、而和的符号位为位为1时上溢;时上溢;l当参加运算的两个数的符号为当参加运算的两个数的符号为1、而和的符号、而和的符号位为位为0时下溢。时下溢。 判别条件为:溢出判别条件为:溢出= XsYsSs+XsYsSs其中,其中,Xs、Ys为参加运算两数的符号,为参加运算两数的符号, Ss为结果符号位。为结果符号位。31补码加减溢出的判别方法补码加减溢出的判别方法( (续续) ) 采用进位位判别采用进位位判别 l两个正数相加,当最高有效位产生进位(两个正数相加,当最高有效位产生进位(C1=1)而)而符号位不产生进位(符号位不产生进位(Cs=0)时,发生上溢;)时,发生上溢;l两个负数相加,当最高有
23、效位不产生进位(两个负数相加,当最高有效位不产生进位(C1=0)而符号位产生进位,发生下溢。而符号位产生进位,发生下溢。 判别条件为:溢出判别条件为:溢出= CsC1+CsC1 = Cs C1 采用变形补码(双符号位补码)采用变形补码(双符号位补码)l采用变形补码检测,当运算结果的两符号位不一致采用变形补码检测,当运算结果的两符号位不一致时表示溢出。若符号位用时表示溢出。若符号位用Ss1Ss2表示,则表示,则Ss1Ss2=01 结果上溢,结果上溢,Ss1Ss2=10 结果下溢结果下溢. 判别溢出的条件为:判别溢出的条件为: 溢出溢出=Ss1 Ss2SS1始终正确始终正确323 3、补码定点加减
24、运算器的基本组成、补码定点加减运算器的基本组成 l补码加法:补码加法: 在在XF、YF、FX三个控制三个控制信号的控制下,打开门信号的控制下,打开门A、门、门B和门和门C,把寄,把寄存器存器X和寄存器和寄存器Y的内的内容送入加法器的两个输容送入加法器的两个输入端进行加法运算,把入端进行加法运算,把结果送回寄存器结果送回寄存器X中中.l补码减法:与补码加法补码减法:与补码加法不同之处在于要用不同之处在于要用YF来代替来代替YF、并、并在在1F控制信号作用控制信号作用下使结果加下使结果加1,即可完,即可完成补码减法运算。成补码减法运算。33三、带符号数的移位与舍入三、带符号数的移位与舍入 n移位移
25、位是算术、逻辑运算的又一基本操作,而且几乎是算术、逻辑运算的又一基本操作,而且几乎所有机器的指令系统都设有移位指令。所有机器的指令系统都设有移位指令。比如,乘法比如,乘法运算大多数是通过运算大多数是通过“累加累加移位移位”来实现的。来实现的。n算术移位操作时,算术移位操作时,符号位不变符号位不变,数值大小则会发生,数值大小则会发生变化。左移一位相当于乘以变化。左移一位相当于乘以2,右移一位相当于除,右移一位相当于除以以2,因为移位使位权发生了变化,因为移位使位权发生了变化。n在移位过程中,有效数位会被移出数据字而丢失。在移位过程中,有效数位会被移出数据字而丢失。因此,还需要考虑数据的舍入问题,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 数据 机器 运算 PPT 课件
限制150内