版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章首先讲述数据与文字的表示方法,然后讲述定点运算方法、本章首先讲述数据与文字的表示方法,然后讲述定点运算方法、定点运算器的组成,最后讲述浮点运算方法及浮点运算器的组定点运算器的组成,最后讲述浮点运算方法及浮点运算器的组成。成。本章包括以下六小结内容:本章包括以下六小结内容: 2.1 数据与文字的表示方法数据与文字的表示方法 2.2 定点加法、减法运算定点加法、减法运算 2.3 定点乘法运算定点乘法运算 2.4 定点除法运算定点除法运算 2.5 定点运算器的组成定点运算器的组成 2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器 计算机中常用的数据表示格式有两种计算机中常用的数据表示格式
2、有两种: 定点格式、浮点格式。定点格式、浮点格式。定点表示法:定点表示法:约定机器中数据的小数点位置是固定不变的。约定机器中数据的小数点位置是固定不变的。定点数定点数x0 x1x2xn 在定点机中表示如下:在定点机中表示如下:(0: 符号位,符号位,0代表正号,代表正号,1代表负号代表负号)约定为纯小数时,其表示范围为约定为纯小数时,其表示范围为:0|12n 约定为纯整数时,表示范围为约定为纯整数时,表示范围为:0|2n -1浮点表示法浮点表示法: 把一个数的有效数字和数的范围在计算机的一个把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的存储单元
3、中分别予以表示,这种把数的范围和精度分别表示的方法,数的小数点位置随比例因子的不同而在一定范围内自由方法,数的小数点位置随比例因子的不同而在一定范围内自由浮动,故称为浮点数。浮动,故称为浮点数。 在计算机中一个任意进制数在计算机中一个任意进制数 可以写成可以写成 :e.m m :尾数,是一个纯小数。:尾数,是一个纯小数。 e :浮点的指数,是一个整数。:浮点的指数,是一个整数。 R :基数,对于二进记数制的机器,常为:基数,对于二进记数制的机器,常为2,8或或16。一个机器浮点数由一个机器浮点数由阶码阶码和和尾数尾数及其及其符号位符号位组成组成 IEEE754标准(标准(32位)位):浮点数的
4、符号位,:浮点数的符号位,1 位,位,0表示正数,表示正数,1表示负数。表示负数。:尾数,:尾数,23位,用小数表示,小数点放在尾数域的最前面。位,用小数表示,小数点放在尾数域的最前面。:阶码,:阶码,8 位阶符采用隐含方式,即采用移码方式来表示正负指数。位阶符采用隐含方式,即采用移码方式来表示正负指数。l移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。域值大者其指数值也大。l采用这种方式时,将浮点数的指数真值采用这种方式时,将浮点数的指数真值e 变成阶码变成阶码 时,应将指数时,应将指数 e 加上一个固
5、定的偏移值加上一个固定的偏移值127(01111111),即,即 e127. IEEE754标准(标准(64位)位)示例:按单精度示例:按单精度IEEE754 (32位)标准格式表示十进制数位)标准格式表示十进制数-0.75-0.75表示成表示成-3/4 即二进制的即二进制的-0.11 在在IEEE754 规格化表示规格化表示 为为 -1.12-1 根据根据IEEE单精度表示公式为单精度表示公式为 (-1)S1.M2 E -127所以这个数表示为所以这个数表示为 (-1)1 * 1.1 * 2(126-127) = (-1)1*(1+0.1000 0000 0000 0000 0000 000
6、)*2(126-127) = (-1)1*(1+0.1000 0000 0000 0000 0000 000)*2(126-127) 即即1 01111110 10000000000000000000000 十进制数串的表示方法十进制数串的表示方法:字符串形式字符串形式:一个字节存放一个十进制的数位或符号位。:一个字节存放一个十进制的数位或符号位。压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制数位。:一个字节存放两个十进制数位。123C012D把符号位和数字位一起编码来表示相应的数的各种表示方法。把符号位和数字位一起编码来表示相应的数的各种表示方法。为了区别一般书写表示的数和
7、机器中这些编码表示的数,通常为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为将前者称为真值真值,后者称为,后者称为机器数或机器码机器数或机器码。定点小数定点小数原码表示法原码表示法 :若若定点小数定点小数的原码形式为的原码形式为012n,原码定义:,原码定义:例如,例如,+0.1001,则,则 原原0.1001- 0.1001,则,则 原原1.1001 对于对于0,原码有,原码有“+0”、“-0”之分,故有两种形式:之分,故有两种形式:+0原原=0.000.0- 0原原=1.000.0 原原 10 11| 01定点整数定点整数原码表示法原码表示法 :若若定点整数定点整数的原码形
8、式为的原码形式为012n,原码定义:,原码定义:例如,例如,+1001,则,则 原原0 1001- 1001,则,则 原原1 1001 对于对于0,原码有,原码有“+0”、“-0”之分,故有两种形式:之分,故有两种形式:+0原原=0 000.0- 0原原=1 000.0 原原 2n0 2n2n| 02n补码的概念补码的概念假设现在的标准时间为假设现在的标准时间为 4 点点; 表上时间表上时间: 7点点。两种方法:两种方法: 退退 7-4=3 格;格; 前拨前拨12-3=9格。格。4点正点正减减3和加和加9是等价的,是等价的,称称 9是是(-3)对对12的补码,的补码,即即: -3 +9(mod
9、 12)作用:变减法为加法作用:变减法为加法 7-3(mod 12)= 7+9(mod 12)定点小数:包括符号位在内,其绝对值均小定点小数:包括符号位在内,其绝对值均小2:求模求模2补码。补码。n位定点整数:包括符号位在内,其绝对值均小位定点整数:包括符号位在内,其绝对值均小2n+1 :求模求模2n+1补码。补码。定点小数定点小数补码表示法补码表示法 :若若定点小数定点小数的补码形式为的补码形式为01 n-1n ,补码定义:,补码定义:例如例如: x+0.1011,补补0.1011 x- 0.1011,补补10+10.0000-0.10111.0101对于对于0,补码只有一种形式:,补码只有
10、一种形式:+0补补= - 0补补=0.00.0 (mod 2)补补 10 2 2| 01定点整数定点整数补码表示法补码表示法 :若若定点整数定点整数的补码形式为的补码形式为nn-1 10,补码定义:,补码定义:例如,例如,+1001,则,则 补补0 1001- 1001,则,则 补补1 0111 对于对于0,补码只有一种形式:,补码只有一种形式: +0补补=- 0补补=0 000.0 (mod 2n+1) 补补 2n 0 2n+1 2n+1 | 0 2n反码表示法反码表示法 所谓反码,就是二进制的各位数码所谓反码,就是二进制的各位数码0变为变为1,1变为变为0。定点小数定点小数反码表示法反码表
11、示法 :若若定点小数定点小数的补码形式为的补码形式为01 n-1n ,反码定义:,反码定义:例如例如: x+0.1011,反反0.1011 x- 0.1011,反反1.1111-0.10111.0100对于对于0,反码有,反码有“+0”、“-0”之分,故有两种形式:之分,故有两种形式:+0反反=0.00.0- 0反反=1.11.1 反反 10 (2-2-n ) 01定点整数定点整数反码表示法反码表示法 :若若定点整数定点整数的反码形式为的反码形式为nn-1 10 ,反码定义:,反码定义:例如,例如,+1001,则,则 反反0 1001- 1001,则,则 反反1 0110 对于整数对于整数0,
12、反码有,反码有“+0”、“-0”之分,故有两种形式:之分,故有两种形式:+0反反=0 000.0- 0反反=1 111.1 反反 2n 0 (2n+11) 02n反码与补码的关系反码与补码的关系比较反码与补码的公式(定点小数)比较反码与补码的公式(定点小数):反反(22n)补补2可得到可得到 补补反反2n通过反码求补码通过反码求补码:若求一个负数的补码,其方法是符号位置若求一个负数的补码,其方法是符号位置1,其余各位,其余各位 0 变变1, 1 变变 0(即按位取反),然后在最末位(即按位取反),然后在最末位(2-n)上加上加1。移码表示法移码表示法 移码通常用于表示浮点数的阶码(移码通常用于
13、表示浮点数的阶码(n位的整数)。位的整数)。定点整数定点整数移码表示法移码表示法 :若若定点整数定点整数的移码形式为的移码形式为nn-1 10 ,移码定义:,移码定义: 移移 2n 2n 2n例如,例如,+1001,则,则 移移1 1001- 1001,则,则 移移0 0111 参照:参照:+1001,则,则 补补0 1001 - 1001,则,则 补补1 0111 移码和补码间存在什么关系?移码和补码间存在什么关系?对于对于0,移码只有一种形式:,移码只有一种形式: 0移移=1 000.0 小结:小结:上述的数据四种机器表示法中,移码表示法主要用于表示浮点上述的数据四种机器表示法中,移码表示
14、法主要用于表示浮点数的阶码。由于补码表示对加减法运算十分方便,因此目前机数的阶码。由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。在这类机器中,数用补码表示,补器中广泛采用补码表示法。在这类机器中,数用补码表示,补码存储,补码运算。也有些机器,用原码进行存储和传送,运码存储,补码运算。也有些机器,用原码进行存储和传送,运算时改用补码。有些机器,在做加减法时用补码运算,在做乘算时改用补码。有些机器,在做加减法时用补码运算,在做乘除法时用原码运算。除法时用原码运算。字符的表示方法字符的表示方法 目前国际上普遍采用的字符系统是七单位的目前国际上普遍采用的字符系统是七单位的ASCI
15、I码码(美国美国国家信息交换标准字符码国家信息交换标准字符码),它包括它包括10个十进制数码个十进制数码,26个英个英文字母和一定数量的专用符号文字母和一定数量的专用符号,如如$,%,等,等,共共128个个。因此二进制编码需因此二进制编码需7位,加一位偶校验位位,加一位偶校验位,共共8位一个字节。位一个字节。字符串字符串 字符串是指连续的一串字符字符串是指连续的一串字符,通常方式下,它们占用主存中通常方式下,它们占用主存中连续的连续的多个字节,每个字节存一个字符。多个字节,每个字节存一个字符。当主存字由当主存字由2个或个或4个字节组成时个字节组成时,在同一个主存字中,既可在同一个主存字中,既可
16、按从低位字节向高位字节的顺序存放字符串的内容,也可按从低位字节向高位字节的顺序存放字符串的内容,也可按从高位字节向低位字节的次序顺序存放字符串的内容。按从高位字节向低位字节的次序顺序存放字符串的内容。汉字的汉字的输入编码输入编码 为了能直接使用西文标准键盘把汉字输入到计算机为了能直接使用西文标准键盘把汉字输入到计算机,就必须为就必须为汉字设计相应的输入编码方法。当前采用的方法主要有以下三汉字设计相应的输入编码方法。当前采用的方法主要有以下三类类: 数字编码数字编码: 常用的是常用的是国标区位码国标区位码,用数字串代表一个汉字输用数字串代表一个汉字输入。区位码是将国家标准局公布的入。区位码是将国
17、家标准局公布的6763个两级汉字分为个两级汉字分为94个区个区,每个区分每个区分94位位,实际上把汉字表示成二维数组实际上把汉字表示成二维数组,每个汉字每个汉字在数组中的下标就是区位码。区码和位码各两位十进制数在数组中的下标就是区位码。区码和位码各两位十进制数字字,因此输入一个汉字需按键四次。因此输入一个汉字需按键四次。拼音码拼音码: 拼音码是以汉字拼音为基础的输入方法。使用简单拼音码是以汉字拼音为基础的输入方法。使用简单方便,但汉字同音字太多方便,但汉字同音字太多,输入重码率很高输入重码率很高,同音字选择影响同音字选择影响了输入速度。了输入速度。字形编码字形编码: 字形编码是用汉字的形状来进
18、行的编码。把汉字字形编码是用汉字的形状来进行的编码。把汉字的笔划部件用字母或数字进行编码的笔划部件用字母或数字进行编码,按笔划的顺序依次输入按笔划的顺序依次输入,就能表示一个汉字。就能表示一个汉字。汉字内码汉字内码 汉字内码汉字内码是用于汉字信息的存储、交换、检索等操作的机是用于汉字信息的存储、交换、检索等操作的机内代码内代码,一般采用两个字节表示。一般采用两个字节表示。英文字符的机内代码是七位的英文字符的机内代码是七位的ASCII码码,当用一个字节表示当用一个字节表示时时,最高位为最高位为“0”。为了与英文字符能相互区别。为了与英文字符能相互区别,汉字机内代汉字机内代码中两个字节的码中两个字
19、节的最高位均规定为最高位均规定为“1”。有些系统中字节的最高位用于奇偶校验位,这种情况下用有些系统中字节的最高位用于奇偶校验位,这种情况下用三个字节表示汉字内码。三个字节表示汉字内码。 汉字汉字字模码字模码 字模码字模码是用点阵表示的是用点阵表示的汉字字形代码汉字字形代码,是汉字的输出形式。是汉字的输出形式。汉字的输入编码、汉字内码、字模码是计算机中用于输入、汉字的输入编码、汉字内码、字模码是计算机中用于输入、内部处理、输出三种不同用途的编码内部处理、输出三种不同用途的编码,不要混为一谈。不要混为一谈。图图2.1汉字的字模点阵及编码汉字的字模点阵及编码为了防止计算机在处理信息过程中出现错误,采
20、用专门的逻辑为了防止计算机在处理信息过程中出现错误,采用专门的逻辑线路对信号进行编码以检测错误线路对信号进行编码以检测错误,甚至校正错误。甚至校正错误。通常的方法是通常的方法是,在每个字上添加一些校验位在每个字上添加一些校验位,用来确定字中出现用来确定字中出现错误的位置。最简单且应用广泛的检错码是采用一位校验位的错误的位置。最简单且应用广泛的检错码是采用一位校验位的奇校验或偶校验。奇校验或偶校验。 奇校验奇校验(包括校验位在内,有奇数个(包括校验位在内,有奇数个“1”)设设(01n1)是一个是一个n位字位字,则则奇校验位奇校验位定义为定义为:C0 1 n1 式中式中 代表按位加代表按位加, 当
21、当中包含有偶数个中包含有偶数个1时时,C1。 偶校验偶校验(包括校验位在内,有偶数个(包括校验位在内,有偶数个“1”)设设(01n1)是一个是一个n位字位字,则则偶校验位偶校验位定义为定义为:C0 1 n1 式中式中 代表按位加代表按位加, 当当中包含有奇数个中包含有奇数个1时时,C1。 奇、偶校验示例奇、偶校验示例最低一位为校验位最低一位为校验位,其余高其余高8位为数据位位为数据位数据数据偶校验编码偶校验编码奇校验编码奇校验编码1 0 1 0 1 0 1 00 1 0 1 0 1 0 00 0 0 0 0 0 0 00 1 1 1 1 1 1 11 1 1 1 1 1 1 11 0 1 0
22、1 0 1 0 00 1 0 1 0 1 0 0 10 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 01 0 1 0 1 0 1 0 10 1 0 1 0 1 0 0 00 0 0 0 0 0 0 0 10 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1补码加法的公式补码加法的公式(定点小数):(定点小数):补补补补补补 (mod 2)前提条件:前提条件:1, 1, 1, 1, 1 1。证明证明(针对:(针对:0,0 ) 补补,补补2 补补补补22() 当当0: 2 () 2,进位进位2必丢失,又因必丢失,又因( () )
23、0, 故故补补补补补补(mod 2)当当0: 2 () 2,又因又因( () )0, 故故补补补补2()补补(mod 2)补码加法示例补码加法示例例例8 0.1001, 0.0101,求求。解解: 补补0.1001补补0.0101 补补0.1110 例例9 0.1011, 0.0101,求求。解解: 补补0.1011补补1.1011补补 10.0110 任意两数的补码之和等于该两数之和的补码任意两数的补码之和等于该两数之和的补码.这是补码加法的这是补码加法的理论基础理论基础,其结论也适用于定点整数其结论也适用于定点整数补码加法的特点补码加法的特点,一是符号位要作为数的一部分一起参加运算一是符号
24、位要作为数的一部分一起参加运算,二是要在模二是要在模2的意义下相加的意义下相加,即超过即超过2的进位要丢掉。的进位要丢掉。补码减法的公式补码减法的公式补补补补补补补补补补 证明证明: 只要证明只要证明补补补补,上式即得证。证明如下:上式即得证。证明如下:补补补补补补(mod 2)补补补补补补 (1)补补()补补补补补补补补 补补补补 (2)将式将式(1)与与(2)相加相加, ,得得补补补补补补补补补补补补 补补补补补补 补补补补补补0故故 补补补补 (mod 2) 证毕证毕 补码减法公式另证:补码减法公式另证:当当 y0 时:时:( 0 )补补 2+(-y) 2 y补补 y 2 y (mod
25、2)当当 y0 时:时: ( 0 )补补 y补补 ( 2y ) 2 ( 2y ) (mod 2) y从从补补求求补补的法则的法则: 对对补补包括符号位包括符号位“求反且最末位加求反且最末位加1”,可得到可得到补补。写成运算表达式,则为写成运算表达式,则为:补补补补2n 其中,符号其中,符号表示对表示对补补作包括符号位在内的求反操作,作包括符号位在内的求反操作,+ +2 n表示最末位的表示最末位的1 证明(定点小数):证明(定点小数):补补 补补 2 补补(mod 2) 2 2n 补补2n (全(全“1”) 补补2n注:任一二进制串减等长全注:任一二进制串减等长全“1”,结果是该串的按位取反。,
26、结果是该串的按位取反。在定点小数机器中在定点小数机器中,数的表示范围为数的表示范围为|1. 在运算过程中如出在运算过程中如出现大于现大于1的现象的现象,称为称为“溢出溢出”。例例12 0.1011, , 0.1001,求求。解解:补补0.1011 补补0.1001 补补0.10110.1011 补补0.10010.1001 补补1.0100 1.0100 两个正数相加的结果成为负数两个正数相加的结果成为负数, ,这显然是错误的。这显然是错误的。例例13 0.1101, , 0.1011,求求。 解解: 补补1.0011 1.0011 补补1.01011.0101 补补 1.00111.0011
27、 补补1.0101 1.0101 补补0.10000.1000两个负数相加的结果成为正数两个负数相加的结果成为正数, ,这同样是错误的。这同样是错误的。 两个正数相加两个正数相加,结果大于机器所能表示的最大正数结果大于机器所能表示的最大正数,称为称为上溢上溢。两个负数相加两个负数相加,结果小于机器所能表示的最小负数结果小于机器所能表示的最小负数,称为称为下溢下溢。为了判断为了判断“溢出溢出”是否发生是否发生,可采用两种检测的方法。第一种可采用两种检测的方法。第一种方法是采用双符号位法方法是采用双符号位法,这称为这称为“变形补码变形补码”或或“模模4补码补码”,从从而可使模而可使模2补码所能表示
28、的数的范围扩大一倍。补码所能表示的数的范围扩大一倍。变形补码定义为变形补码定义为 :或用同余式表示为:或用同余式表示为:补补4(mod 4)变形补码的加法公式同样成立:变形补码的加法公式同样成立:补补补补补补 (mod 4) 补补 204 02 采用变形补码后,如果两个数相加后,采用变形补码后,如果两个数相加后,其结果的符号位出现其结果的符号位出现“01”或或“10”两种组合时两种组合时,表示发生溢出表示发生溢出。 例例14 0.1100, 0, 0.1000,求求。解解: 补补00.1100,补补00.1000 补补 00.110000.1100 补补 00.100000.1000 01.0
29、10001.0100两个符号位出现两个符号位出现“01”,”,表示已溢出表示已溢出, ,即结果大于即结果大于1。 例例1515 0.1100, 0.1100, -0.1000,-0.1000,求。求。 解解: 补补11.0100,11.0100, 补补11.100011.1000 补补11.010011.0100 补补11.100011.1000 10.110010.1100两个符号位出现两个符号位出现“10”,10”,表示已溢出表示已溢出, ,即结果小于即结果小于1 1。双符号位检测法双符号位检测法当以模当以模4补码运算补码运算,运算结果的二符号位相异时运算结果的二符号位相异时,表示溢出;表
30、示溢出;相同时相同时,表示未溢出。故溢出逻辑表达式为:表示未溢出。故溢出逻辑表达式为: VSf1 Sf2其中,其中,Sf1和和Sf2分别为最高符号位和第二符号位。此逻辑表分别为最高符号位和第二符号位。此逻辑表达式可用异或门实现。达式可用异或门实现。模模4补码相加的结果,不论溢出与否,最高符号位始终指示补码相加的结果,不论溢出与否,最高符号位始终指示正确的符号。正确的符号。单符号位检测法单符号位检测法当最高有效位产生进位而符号位无进位时,产生上溢;当当最高有效位产生进位而符号位无进位时,产生上溢;当最高有效位无进位而符号位有进位时最高有效位无进位而符号位有进位时,产生下溢。产生下溢。溢出逻辑表达
31、式溢出逻辑表达式:VCf Co,其中其中Cf为符号位产生的进位,为符号位产生的进位,Co为最高有效位产生的进位。为最高有效位产生的进位。此逻辑表达式也可用异或门实现。此逻辑表达式也可用异或门实现。在定点机中,当运算结果发生溢出时,机器通过逻辑电路自动在定点机中,当运算结果发生溢出时,机器通过逻辑电路自动检查出溢出,并进行中断处理。检查出溢出,并进行中断处理。一位二进制全加器一位二进制全加器两个二进制数字两个二进制数字Ai,Bi和一个进位输入和一个进位输入Ci相加相加,产生一个和输产生一个和输出出Si,以及一个进位输出以及一个进位输出Ci1。SiAi Bi Ci Ci1AiBi(BiAi) Ci
32、Ci1AiBi(Bi Ai) Ci AiBi (Bi Ai) Ci FAAi BiCi Ci+1 Si 2.3a.swf行波进位(串行进位)补码加行波进位(串行进位)补码加/减法器减法器n个全加器级连可得个全加器级连可得n位的加法器位的加法器增加减数的求补线路、溢出检测线路、及加增加减数的求补线路、溢出检测线路、及加/减方式控制线,减方式控制线,可得串行进位补码加法可得串行进位补码加法/减法器减法器 An-1 Bn-1An-2 Bn-2A0 B0S0Sn-1Sn-22.3b.swf延时计算延时计算常见逻辑门延时:常见逻辑门延时:l与非、或非、非:与非、或非、非:Tl与、或:与、或:2Tl异或、
33、异或非:异或、异或非:3T一位全加器的延时计算一位全加器的延时计算l进位进位Ci+1输出稳定延时:输出稳定延时:tac3T+1T+1T 5Tl本位和本位和Si输出稳定延时:输出稳定延时:tas3T+3T 6Tn位串行进位补码加法位串行进位补码加法/减法器延时减法器延时ta为:为: ta3T+3T+n2T3T(2n9)T ta意味着加法器的输入端输入加数和被加数后意味着加法器的输入端输入加数和被加数后,在最坏情况在最坏情况下加法器输出端得到稳定的求和输出所需的最长时间。下加法器输出端得到稳定的求和输出所需的最长时间。无溢出检测逻辑时:无溢出检测逻辑时: ta3T+3T+( n-1 )2T3T(2
34、n7)T十进制加法器可由十进制加法器可由BCD码码(二十进制码二十进制码)来设计来设计,它可以在二进它可以在二进制加法器的基础上加上适当的制加法器的基础上加上适当的“校正校正”逻辑来实现逻辑来实现,该校正逻该校正逻辑可将二进制的辑可将二进制的“和和”改变成所要求的十进制格式。改变成所要求的十进制格式。 n位位BCD码行波式进位加法器的一般结构如图码行波式进位加法器的一般结构如图, 它由它由n级组成级组成,每每一级将一对一级将一对4位的位的BCD数字相加数字相加,并通过一位进位线与其相邻级并通过一位进位线与其相邻级连接。连接。一位一位BCD码加法单元码加法单元图中图中Si代表这样得到的代表这样得
35、到的4位二进制数和位二进制数和,Ci1为输出进位为输出进位,而而Si代代表正确的表正确的BCD和和,Ci1代表正确的进位。代表正确的进位。Ci1原码乘法原码乘法设设n位被乘数和乘数用定点整数表示位被乘数和乘数用定点整数表示(定点小数也同样适用定点小数也同样适用)被乘数被乘数 原原f n110 乘数乘数 原原f n110则乘积为则乘积为 原原(f f) 22n(0.n110)(0.n110) 式中式中,f为被乘数符号为被乘数符号,f为乘数符号。为乘数符号。 示例:示例:不带符号的阵列乘法器不带符号的阵列乘法器 设有两个不带符号的二进制整数:设有两个不带符号的二进制整数:Aam1a1a0Bbn1b
36、1b0在二进制乘法中在二进制乘法中,被乘数被乘数A与乘数与乘数B相乘相乘,产生产生mn位乘积位乘积P:Ppmn1p1p0 P =AB=a ai ib bj j:部分积部分积mn位不带符号的阵列乘法器逻辑图位不带符号的阵列乘法器逻辑图 图中阵列乘法器的输入,是用图中阵列乘法器的输入,是用mn个个“与与”门并行地产生门并行地产生 mn个个“部分积部分积” aibj | 0 i m1 和和 0 j n1 5位位5位阵列乘法器的逻辑电路图位阵列乘法器的逻辑电路图 延时计算延时计算乘法器要实现乘法器要实现n位位n位时位时, 需要需要n(n1)个全加器和个全加器和n2个个“与与”门门 最长的延时路径为:沿
37、着矩阵最长的延时路径为:沿着矩阵p4垂直线和最下面一行。垂直线和最下面一行。阵列乘法器总的延时:阵列乘法器总的延时:tmTa+(n1) Ts (n1) Tf T +(n1) 6T(n1) 2T (8n7) T 其中:其中: Ta 为计算部分积的与门延时;为计算部分积的与门延时; Ts 为为FA本位和延时;本位和延时; Tf 为为FA行波进位延时(假定用二级与或逻辑实现行波进位延时(假定用二级与或逻辑实现FA的的进位链功能,则进位链功能,则Tf =2T)。)。由补码还原为真值由补码还原为真值设机器码为设机器码为x补补=x0 x1 x2 xn (定点小数,(定点小数,x0是符号位)是符号位)则则:
38、 证明:证明: (针对(针对x0)|x| = -x = -x补补 = x补补+2-n (教材教材32页结论页结论) 证毕证毕真值真值 x 0. x1 x2 xn x0 = 0- 0. x1 x2 xn + 2-n x0 = 1还原法则另证(针对还原法则另证(针对 x0)设设xm为真值为真值x的第一位(的第一位(右右左左)值为值为1的数码,即真值具的数码,即真值具有以下形式:有以下形式:x= - 0. x1 x2 xm-1 10 0则则x反反=1. x1 x2 xm-1 01 1x补补=1. x1 x2 xm-1 10 0对对x补补采用补码还原法则得:采用补码还原法则得:x= x补补+2-n =
39、 - 0. x1 x2 xm-1 01 1 + 01 1 + 2-n = - 0. x1 x2 xm-1 10 0 10 0 = x = x 证毕证毕在证明过程中,得到一种更直观求补的方法:在证明过程中,得到一种更直观求补的方法:xm及其后不变,前面各位按位取反即可及其后不变,前面各位按位取反即可例如:例如:- 0.1101101000 求补求补1.0010011000对对2求补器电路求补器电路 下面的求补电路即是上述扫描求补方法的一种硬件实现。下面的求补电路即是上述扫描求补方法的一种硬件实现。逻辑表达式:逻辑表达式:逻辑电路图逻辑电路图:C00, Ci+1aiCiai*aiECi ,0in-
40、1带符号的阵列乘法器(符号求补阵列乘法器)带符号的阵列乘法器(符号求补阵列乘法器) 设设A=anan-1a1a0和和B=bnbn-1b1b0均为用定点表示的均为用定点表示的(n1)位带符号整数。位带符号整数。 2n位真值乘积位真值乘积: ABPp2n1p1p0 p2nanbn P2n为符号位。为符号位。 (n1)(n1)位带求补器的阵列乘法器逻辑方框图位带求补器的阵列乘法器逻辑方框图 补码与真值得转换公式补码与真值得转换公式 设设N补补anan1 a1a0 , 这里这里an是符号位。补码数是符号位。补码数N补补和真值和真值N的关系可以表示成:的关系可以表示成: n11(1ai)2i 当当an
41、1 (N补补为负为负)时时i0 n1ai2i 当当an 0 (N补补为正为正)时时 i0Nan-1 an-1 a1 a0 an=0( an-1 an-1 a1 a0 +1) an=0N上式可进一步化简为:上式可进一步化简为:统一表式为:统一表式为:结论:结论:在计算一补码对应的真值时,符号位在计算一补码对应的真值时,符号位an同其他数值位一同其他数值位一样,有自已对应的权值,与其他位权值相比较,正好相差一负样,有自已对应的权值,与其他位权值相比较,正好相差一负号,故称其为负权。号,故称其为负权。 n1ai2i 当当 an 0 时时 i0N n12n ai2i 当当 an 1 时时 i0N n1
42、 an (2n ) ai2i i0补码直接乘法:补码直接乘法:例例20 设设A补补(01101)2,B补补(11011)2 ,求求AB补补? 解:解:验:验:一般化的全加器形式一般化的全加器形式: 对于以对于以2 2类全加器:类全加器:x(-20)+y(-20)+z20 =c(-21)+s20对于以对于以1 1类全加器:类全加器:x 20+y20+z(-20 ) =c21+s(-20)5位乘位乘5位的直接补码乘法矩阵的一般形式位的直接补码乘法矩阵的一般形式:对应的对应的5位乘位乘5位的直接补码阵列乘法器逻辑原理图位的直接补码阵列乘法器逻辑原理图直接补码阵列乘法器直接补码阵列乘法器 两个原码表示
43、的数相除时两个原码表示的数相除时,商的符号由两数的符号按位相加求商的符号由两数的符号按位相加求得得,商的数值部分由两数的数值部分相除求得。商的数值部分由两数的数值部分相除求得。设有设有n位定点小数位定点小数(定点整数也同样适用定点整数也同样适用):被除数被除数,其原码为其原码为原原f .n110除数除数,其原码为其原码为原原f .n110 则有商则有商q/,其原码为其原码为 :q原原(ff f)+)+(0.n110/0.n110)设被除数设被除数0.1001,除数除数0.1011,模仿十进制除法运算模仿十进制除法运算,以手以手算方法算方法(即即“右移上商法右移上商法”)求求的过程如下的过程如下
44、:得得的商的商q0.1101,余数为余数为r0.00000001。 恢复余数法恢复余数法 :事实上事实上,机器的运算过程和人毕竟不同机器的运算过程和人毕竟不同,人会心算人会心算,一看就知道够一看就知道够不够减。但机器却不会心算不够减。但机器却不会心算,必须先作减法必须先作减法,若余数为正若余数为正,才知道才知道够减;若余数为负够减;若余数为负,才知道不够减。不够减时必须恢复原来的才知道不够减。不够减时必须恢复原来的余数余数,以便再继续往下运算。这种方法称为以便再继续往下运算。这种方法称为恢复余数法恢复余数法。恢复余数法示例恢复余数法示例 0.1001 x 0.1001 x-) 0.1011 -
45、) 0.1011 减减y y* *2 20 0 -0.0010 r -0.0010 r0 0 0,0,商上商上0 0 (x-yx-y* *2 20 0 0 0 0 商上商上1 1-) 0.001011 -) 0.001011 减减y y* *2 2-2-2 0.0000110 r 0.0000110 r2 2= r= r1 1-y-y* *2 2-2-2 0 0 商上商上1 1-) 0.0001011 -) 0.0001011 减减y y* *2 2-3-3 -0.0000101 r -0.0000101 r3 3 0,0,商上商上0 0 (r r2 2-y-y* *2 2-3-3 0 0 0
46、 商上商上1 1得:得:商商 q q 0.11010.1101余数余数 r r 0.000000010.00000001 加减交替法加减交替法(不恢复余数法)(不恢复余数法) :由于要恢复余数由于要恢复余数,使除法进行过程的步数不固定使除法进行过程的步数不固定,因此控制比较因此控制比较复杂。实际中常用复杂。实际中常用不恢复余数法不恢复余数法,又称又称加减交替法加减交替法。其特点是。其特点是运算过程中如出现不够减运算过程中如出现不够减,则不必恢复余数则不必恢复余数,根据余数符号根据余数符号,可以可以继续往下运算继续往下运算,因此步数固定因此步数固定,控制简单。控制简单。考察上述考察上述恢复余数法
47、恢复余数法示例,可得示例,可得加减交替法加减交替法: x-yx-y* *2 20 0 = r = r0 0 0 : 0 : r r1 1= r= r0 0-y-y* *2 2-1-1 = r = r0 0 + y+ y* *2 20 0 - y - y* *2 2-1-1 = r = r0 0 + y+ y* *2 2-1-1 r r2 2-y-y* *2 2-3-3 = r = r3 3 0 : 0 : r r4 4= r= r3 3-y-y* *2 2-4-4 = r = r3 3 + y+ y* *2 2-3-3 - y - y* *2 2-4-4 = r = r3 3 + y+ y*
48、*2 2-4-41. 可控加法可控加法/减法减法(CAS)单元单元 2. 2. 不恢复余数的阵列除法器不恢复余数的阵列除法器 0.0.1 12 23 34 45 56 6 0.0.1 12 23 30.q0.q1 1 q q2 2 q q3 30.0 0 00.0 0 0 r r4 4 r r5 5 r r6 6 n n1 14 4 关于每一行的符号位进位、商取值、控制方式关于每一行的符号位进位、商取值、控制方式P取值的说明:取值的说明:对于二个符号相异的补码相加,有以下特征:对于二个符号相异的补码相加,有以下特征:和为负数和为负数符号位无进位(对应商位取值符号位无进位(对应商位取值0););
49、和为正数和为正数符号位有进位(对应商位取值符号位有进位(对应商位取值1););对于阵列除法器:对于阵列除法器:记第记第 i 行的部分余数为行的部分余数为RiRi =0:符号进位符号进位1商上商上1 ( qi = 1 )下一行为减法运算(即下一行为减法运算(即P=1 -第第i行的进位)行的进位)例例20 0.101001, 0.111, 求求。 计算机中的逻辑运算计算机中的逻辑运算,主要是指逻辑非、逻辑加、逻辑乘、逻主要是指逻辑非、逻辑加、逻辑乘、逻辑异四种基本运算。辑异四种基本运算。逻辑非运算逻辑非运算例例21 101001011, 211110000, 求求1 , 2解解: 11011010
50、0 200001111 逻辑加逻辑加(逻辑或逻辑或)运算运算 例例22 10100001,10011011, 求求。解解: 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 即即 10111011逻辑乘逻辑乘(逻辑与逻辑与)运算运算 例例23 10111001,11110011,求求。解解: 1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 即即 10110001逻辑异逻辑异(按位加按位加 )运算运算 例例2 24 10101011,11001100,求求 。解解:1 0 1 0 1 0 1 1 1 1
51、 0 0 1 1 0 0 0 1 1 0 0 1 1 1 即即 01100111基本思想基本思想 ALU的逻辑结构原理框图的逻辑结构原理框图 :FiXi Yi CniCni1XiYiYiCniCniXi对于对于4位一片的位一片的ALU,i0,1,2,3。n代表若干片代表若干片ALU组成更大字组成更大字长的运算器时每片电路的进位输入长的运算器时每片电路的进位输入,例如当例如当4片组成片组成16位字长的位字长的运算器时运算器时,n0,4,8,12。Xi,Yi与控制参数和输入量的关系与控制参数和输入量的关系 ALU的某一位逻辑表达式的某一位逻辑表达式 S0 S1 Yi S2 S3 Xi 000110
52、11AiAiBiAiBi0000110111AiBiAiBiAi FiYi Xi Cn+i Cni1YiXiCni串行进位四位算术串行进位四位算术/逻辑运算单元逻辑运算单元 FiYi Xi Cn+i Cni1YiXiCni F3 F2 F1 F0 A3 B3 A2 B2 A1 B1 A0 B0四位片片内先行进位(并行进位)四位片片内先行进位(并行进位)第第0位向第位向第1位的进位公式为位的进位公式为Cn1Y0X0Cn其中其中Cn是向第是向第0位(末位)的进位。位(末位)的进位。第第1位向第位向第2位的进位公式为位的进位公式为Cn2Y1X1Cn1Y1Y0X1X0X1Cn第第2位向第位向第3位的进
53、位公式为位的进位公式为Cn3Y2X2Cn2Y2Y1X2Y0X1X2X0X1X2Cn第第3位的进位输出(即整个位的进位输出(即整个4位运算进位输出)公式为位运算进位输出)公式为Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn设设GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则则 Cn4GPCn称称 G 为进位发生输出为进位发生输出,P 为进位输送输出为进位输送输出。4位算术位算术/逻辑运算单元逻辑运算单元(ALU) -74181ALU 74181ALU逻辑电路图逻辑电路图 74181ALU方框图方框图算术逻辑运算的实现算术逻辑运算的实现 先行进位部件
54、先行进位部件74182CLA的进位逻辑的进位逻辑假设假设4片(组)片(组)74181的先行进位输出依次为的先行进位输出依次为P0 G0 P1 G1 P2 G2 P3 G3 , 先行进位部件先行进位部件74182CLA所提供的进位逻辑关系如下:所提供的进位逻辑关系如下:CnG0P0CnCnG1P1CnG1G0P1P0P1CnCnG2P2CnG2G1P2G0P1P2P0P1P2CnCn4 G3P3Cn G3G2P3G1P1P2G0P1P2P3P0P1P2P3Cn G*P*Cn其中其中P*P0P1P2P3G*G3G2P3G1P1P2G0P1P2P3G G* * 称为称为成组进位发生输出成组进位发生输
55、出, ,P P* * 称为称为成组进位传送输出成组进位传送输出。先行进位部件先行进位部件74182CLA逻辑电路图逻辑电路图 两级先行进位的两级先行进位的ALU 使用八个使用八个74181ALU和两个和两个74182CLA器件。对一个器件。对一个16位位ALU来说来说, CLA部件构成了第二级的先行进位逻辑部件构成了第二级的先行进位逻辑, 即实现四个小即实现四个小组(位片)之间的先行进位组(位片)之间的先行进位, 从而使全字长从而使全字长ALU的运算时间大的运算时间大大缩短。大缩短。根据总线所在位置根据总线所在位置,总线分为总线分为内部总线内部总线和和外部总线外部总线两类。两类。内部总线是指内
56、部总线是指CPU内各部件的连线内各部件的连线, 外部总线是指系统总线外部总线是指系统总线, 即即CPU与存储器、与存储器、I/O系统之间的系统之间的连线。连线。按逻辑结构来分按逻辑结构来分, 总线可分为单向传送总线和双向传送总线。总线可分为单向传送总线和双向传送总线。单向总线单向总线,就是信息只能向一个方向传送。就是信息只能向一个方向传送。双向总线双向总线,就是信息可以分两个方向传送就是信息可以分两个方向传送,既可以发送数据既可以发送数据,也也可以接收数据。可以接收数据。总结逻辑结构示例总结逻辑结构示例单总线结构的运算器单总线结构的运算器所有部件都接到同一总线上所有部件都接到同一总线上,所以数
57、据可以在任何两个寄存器所以数据可以在任何两个寄存器之间之间,或者在任一个寄存器和或者在任一个寄存器和ALU之间传送。之间传送。双总线结构的运算器双总线结构的运算器在这种结构中在这种结构中,两个操作数同时加到两个操作数同时加到ALU进行运算进行运算,只需一次操只需一次操作控制作控制,而且马上就可以得到运算结果。而且马上就可以得到运算结果。三总线结构的运算器三总线结构的运算器在三总线结构中在三总线结构中,ALU的两个输入端分别由两条总线供给的两个输入端分别由两条总线供给,而而ALU的输出则与第三条总线相连。这样的输出则与第三条总线相连。这样,算术逻辑操作就可以算术逻辑操作就可以在一步的控制之内完成
58、。在一步的控制之内完成。浮点加法、减法运算规则浮点加法、减法运算规则设有两个浮点数设有两个浮点数和和,它们分别为它们分别为2ExM2EyM其中其中E和和E分别为数分别为数和和的阶码的阶码,M和和M为数为数和和的尾数。的尾数。两浮点数进行加法和减法的运算规则是:两浮点数进行加法和减法的运算规则是:(M2EEM)2E,EE完成浮点加减运算的操作过程大体分为四步:完成浮点加减运算的操作过程大体分为四步:1. 0 操作数的检查;操作数的检查;2. 比较阶码大小并完成对阶;比较阶码大小并完成对阶;3. 尾数进行加或减运算;尾数进行加或减运算;4. 结果规格化并进行舍入处理。结果规格化并进行舍入处理。 浮
59、点加减运算的操作流程浮点加减运算的操作流程 浮点加减运算示例浮点加减运算示例 例例 设设20100.11011011,2100(0.10101100), 求求。解解:为了便于直观理解为了便于直观理解,假设两数均以补码表示假设两数均以补码表示,阶码采用双符号位阶码采用双符号位,尾数采用单符号位尾数采用单符号位,则它们的浮点表示分别为则它们的浮点表示分别为浮浮00 010,0.11011011浮浮00 100,1.01010100求阶差并对阶求阶差并对阶EEEE补补E补补00 01011 10011 110 即即E E 为为2,2,的阶码小的阶码小, ,应使应使M M右移两位右移两位, ,E E加
60、加2,2, 浮浮0000 100,0.00110110(11) 100,0.00110110(11) 其中其中(11)(11)表示表示M M右移右移2 2位后移出的最低两位数位后移出的最低两位数。求阶差并对阶求阶差并对阶尾数求和尾数求和 规格化处理规格化处理 尾数运算结果的符号位与最高数值位同值尾数运算结果的符号位与最高数值位同值,应执行左规处理应执行左规处理,结果为结果为1.00010101(10),阶码为阶码为 00 011。 舍入处理舍入处理 (采用(采用0舍舍1入法入法 )判溢出判溢出阶码符号位为阶码符号位为00,不溢出不溢出,故得最终结果为故得最终结果为 0. 0 0 1 1 0 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届高考生物一轮复习第1单元生命活动的调节练习含解析新人教版必修3
- 家居用品简单租赁合同
- 化工工程施工合同
- 体育馆乳胶漆粉刷施工合同
- 娱乐场所广告施工合同文本格式
- 房屋租赁合同担保书-住宅租赁
- 电商仓储操作员派遣合同
- 证券市场财务审计员协议
- 汽车零部件净化工程承包合同
- 博物馆讲解员志愿者协议
- DBJ53/T-39-2020 云南省民用建筑节能设计标准
- 2022版义务教育数学课程标准解读课件PPT模板
- 实验五 PCR扩增课件
- 马拉松运动医疗支援培训课件
- 中医药宣传手册
- 不良资产处置尽职指引
- 人教部编版七年级历史上册第19课 北魏政治和北方民族大交融课件(23张PPT)
- 机械设备定期检查维修保养使用台账
- 丽声北极星分级绘本第四级上 Stop!Everyone Stop!教学设计
- 小学科学教育科学三年级上册天气《认识气温计》教学设计
- 液化气站气质分析报告管理制度
评论
0/150
提交评论