




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021-11-231第2章 运算方法和运算器 数据与文字的表示方法数据与文字的表示方法 定点加法、减法运算定点加法、减法运算 定点乘法运算定点乘法运算 定点除法运算定点除法运算 定点运算器的组成定点运算器的组成 浮点运算与浮点运算器浮点运算与浮点运算器2021-11-232计算机内部信息计算机内部信息信息信息控制信息控制信息数据信息数据信息数值型数据数值型数据非数值型数据非数值型数据定点数定点数浮点数浮点数数字串数字串字符与字符串字符与字符串汉字与汉字串汉字与汉字串2021-11-2332.1 数据与文字的表示方法n计算机中使用的数据可分成两大类:u符号数据: 非数字符号的表示(ASCII、
2、汉字、图形等)u数值数据:数字数据的表示方式(定点、浮点)n计算机数字和字符的表示方法应有利于数据的存储、加工(处理)、传送;n编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处理(速度、方便)2021-11-2342.1 数据与文字的表示方法2.1.1 数据格式2.1.2 数的机器码表示2.1.3 字符的表示2.1.4 汉字的表示2.1.5 校验码2021-11-235一、数位进制mkiiirDN*基数:基数:数制中所用到的代码的个数数制中所用到的代码的个数 权:权:不同数位的固定常数不同数位的固定常数十进制数:十进制数:1999 二进制:二进制:101191(10
3、0 ) 9100(102 )11(20 )1 232021-11-236数制间的转换1.1. 十进制十进制 toto 二进制二进制 - - 小数:乘小数:乘2 2取整,顺序排取整,顺序排 - - 整数:除整数:除2 2取余,逆序排取余,逆序排 2. 2. 二进制二进制 toto 十进制十进制 按权相加法按权相加法 3.3. 二、十、八、十六进制互换二、十、八、十六进制互换2021-11-237技巧n数制转换中,关键是二进制与十进制之间的互换n利用小数点分开整数部分及小数部分,小数点后的位值是2-1, 2-2, 2-3, n 152. 25 D =010011000.01 B =230.2 O
4、=98.4 H2021-11-238大数n记住几个常用的2的幂2532 2664 27128 28256 29512 2101024(1Kilo) 21665536 2201Mega 2301Giga 2401Tera更大的单位是多少?2501 Peta 2601 Exa 2701 Zetta 2801 YottaMEMORIZE!2021-11-239二、数值数据n计算机中数据、文字的表示方式应考虑以下几个因素:表示的数据类型(符号、小数点、数值)数值的范围数值精度存储、处理、传送的硬件代价2021-11-2310数据表示格式n定点表示 (小数点位置固定)- 仅能表示纯小数及纯整数n定点小数
5、n定点整数n浮点表示(小数点位置不固定)2021-11-2311三、定点表示法n所有数据的小数点位置固定不变n理论上位置可以任意,但实际上将数据表示有两种方法n纯小数n纯整数n定点数表示:n带符号数n不带符号数2021-11-2312 xn xn-1 xn-2 xn-3 x1 x0表示范围: 0| 12n符号量值小数点固定于符号位之后,不需专门存放位置定点纯小数2021-11-2313 xn xn-1 xn-2 xn-3 x1 x0表示范围: 0| 2n1符号定点纯整数量值小数点固定于最后一位之后,不需专门存放位置2021-11-2314定点表示法的特点n定点数表示数的范围受字长限制,表示数的
6、范围有限n超出表示范围溢出 上溢:大于最大值溢出 下溢:小于最小值机器0(其值趋于零)n定点表示的精度有限n机器中,常用定点纯整数表示2021-11-2315通常数据既包括整数也包括小数部分。如何表示?如何运算? ?2021-11-2316四、浮点表示法n小数点位置随阶码不同而浮动n浮点数的引入n电子的质量 910-28g=0.910-27gn太阳的质量 21033g0.21034g科学记数法 N=10E.M将比例因子以适当形式表示在数据中即可表示浮点数2021-11-23171、格式n任意进制数 N=Re.MnM为尾数,用定点小数形式表示 ne是比例因子的阶数,称为浮点数的指数,是一个整数n
7、R为基数Mn-1Mn-2M0尾数 阶码阶符数符2021-11-2318S(1bit)E(2330共8bit)M(022共23bit)规定了浮点数的表示格式,运算规则等n规定了单精度(32)和双精度(64)的基本格式n尾数用原码,指数用移码(便于对阶和比较)S(1bit)E(5262共11bit)M(051共52bit)2、浮点数标准 IEEE754v 基数:基数:R=2R=2,基数固定,采用隐含方式来表示,基数固定,采用隐含方式来表示v S S:最高位符号位,:最高位符号位,“0”0”表示正数,表示正数,“1”1”表示负表示负数。数。v M M:尾数,低位部分,用定点小数形式表示:尾数,低位部
8、分,用定点小数形式表示v E E:阶码,为整数,用移码表示:阶码,为整数,用移码表示2021-11-2319n 为保证数据表示的唯一性及表示最多的有效数据位,IEEE754标准规定:n尾数域最左位(最高有效位)总是1(经常不予存储,而认为隐藏在小数点的左边)n将浮点数的指数真值e加上一个固定的偏移值变成阶码En规格化的64位浮点数x的真值表示为: x=(-1)S(1.M)2E-1023,e=E-1023n规格化的32位浮点数x的真值表示为 x=(-1)S(1.M)2E-127, e=E-127浮点数标准 IEEE7542021-11-2320浮点数与定点数的比较浮点数与定点数的比较(1) 浮点
9、表示的数值范围比定点大. 机器字长一定时,阶码越长,表示范围越大,精度越低.举例:8位机(含符号位) 阶码 尾数定点: Sf .XXXXXXX 浮点: Sf J fXX XXXX 定点:0.00000000.1111111 0127/128小 浮点:2-11*0.0001 211 *0.1111 1/1287.5 大(2)浮点数运算分阶码和尾数两部分,步骤复杂,速度较慢.(3)浮点数判溢出比定点容易,只要判断规格化尾数的阶码,而定点数要判数值本身.(4)高档微机同时用定、浮点,而单片机中多采用定点.2021-11-2321例 若浮点数x的754标准存储格式为(41360000)16,求其浮点数
10、的十进制数值。解:将16进制数展开后,可得二制数格式为 0 100 00010011 0110 0000 0000 0000 0000 S 阶码(8位) 尾数(23位)指数e=阶码-127=10000010-01111111=00000011=(3)10包括隐藏位1的尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011x=(-1)S1.M2e=+(1.011011)23=+1011.011=(11.375)102021-11-2322例 将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解:首先分别将整数和小数部分转换成二进制数:
11、20.59375=10100.10011 然后移动小数点,使其在第1,2位之间 10100.10011=1.01001001124 e=4于是得到: S=0, E=4+127=131, M=010010011 最后得到32位浮点数的二进制存储格式为: 0 10000011 01001001100000000000000=(41A4C000)162021-11-23233、十进制数表示n 二-十进制码(BCD-Binary Coded Decmal)又称二进制编码的十进制.用于二-十进制转换.(1)定义:用4位二进制码表示一位十进制码.最简单的是8-4-2-1码.也叫压缩(或组合)的BCD码.n
12、8,4,2,1为每位的权(weight)例 3579D= ? BCD码 3 5 7 9 0011010101111001BCD0011 0101 0111 1001 (2)BCD码的运算规则: 8-4-2-1的BCD码只用015中的前10种状态09,后6种是非法码.所以,当和超过9时,要作+6修正操作.例:4+9=13 0100 +1001二进制的13 1101 +6修正 +0110BCD码的13 100112021-11-2324十进制数串的表示n字符串形式:n一个字节存放一个十进制数(非压缩(非组合)BCD码:用8位二进制码表示1位十进制码.高4位无意义.): 例: 89D 0000100
13、0 00001001BCD,占2个字节n压缩的十进制数串形式:n一个字节存放两个十进制数(压缩(组合)BCD码:用8位二进制码表示2位十进制码) 例: 89D 1000 1001BCD,只占1个字节n编码方式n有权码:每一位有确定位权(8421、2421、5211码)n无权码:每一位无确定位权(余三码、格雷码)2021-11-23252.1 数据与文字的表示方法2.1.1 数据格式2.1.2 数的机器码表示2.1.3 字符的表示2.1.4 汉字的表示2.1.5 校验码2021-11-23262.1.2 数的机器码表示n数在计算机中的表示形式统称为机器数或机器码n机器数有两个基本特点:n 符号的
14、数值化 符号数, 用其最左边一位MSB(Most Significant Bit)表示数的正负. MSB=0,表示正数, 如+1011,表示01011 MSB=1,表示负数, 如-1011,表示 11011n 二进制位数受机器设备限制n真值:是数值数据代表的实际值,即用表示符号,再加上数的绝对值. 01011 真值+1011 11011 真值-1011即符号被编码了即符号被编码了2021-11-2327无符号数与符号数无符号数与符号数(1)无符号数:即没有符号的数,同字长的无符号数表示的最大值可比符号数大一倍. 无符号数 Nmax=1111=15 符号数 Nmax =0111=7(2)用1位符
15、号位(0,1)表示正负,给运算带来的问题n 正,正相加:符号位0+0=0,仍为正,不影响结果.n 正,负相加:0+1=1,不一定对,要看哪个绝对值大,和的符号位由大数定.n 负,负相加:1+1=10,和的符号与实际值不符.(3)结论:用上述方法表示符号数,负数的符号位不能与数值部分一起参加运算,为解决机器内负数的符号位参与运算的问题,要引入补码与反码.当字长为当字长为4位时位时2021-11-23281、原码表示法n定点小数 x 1x0 0,正x原= 符号 1-x 0 x -1 1,负n有正0和负0之分n范围2-n-11- 2-n2021-11-23291、原码表示法n定点整数 x 2nx0
16、0,正数x原= 符号 2n-x 0 x -2n 1,负数说明:n其中x为真值,n为整数位数n有正0和负0之分n范围: 1 - 2n 2n 12021-11-2330原码表示示例n+0原=0.0000n- 0原=1.0000n-0.1111原 = 1.1111n 0.1111原 = 0.1111n 1110原 = 01110n-1110原 = 111102021-11-2331原码特点n表示简单,易于同真值之间进行转换,实现乘除运算规则简单。n进行加减运算十分麻烦。 原码运算原码运算 符号相异时必须作减法。符号相异时必须作减法。2021-11-23322、补码表示法n定义:正数的补码就是正数的本
17、身,负数的补码是原负数加上模。n计算机运算受字长限制,属于有模运算.2021-11-23332、补码表示法n定点小数 x 1x0 0,正数x补= 符号 2+x 0 x -1 1,负数n定点整数 x 2nx0 0,正数 x补= 符号 2n+1+x 0 x -2n 1,负数其中x为真值,n为整数位数2021-11-2334补码特点n唯一的零n符号位可以直接参与运算n减法可以变成加法X补-Y补= X补+-Y补n负数比正数多一个n范围-2n2n-1(定点整数)2021-11-2335n已知x补=10001011,求x的真值.解:x原= x补补=10001011补 =11110101故:x的真值为-11
18、10101.即-117.n思考题:已知x补=01110101,求x的真值.2021-11-2336变形补码n又称双符号补码或模4补码n例:例:00.1010110 11.01010012021-11-23373、反码表示法n所谓反码,就是二进制的各位数码取反n符号位表示方法与原码相同2021-11-23383、反码表示法v定点小数定点小数v定点整数定点整数反码表示有正反码表示有正0和负和负0之分之分2021-11-2339反码的表示n+0反=0.0000n-0反=1.1111n0.1111反=0.1111n-0.1111反=1.0000n1110反=01110n-1110反=100012021
19、-11-2340原、反、补码表示举例n求下列各数的原、反、补码(设机器字长5位)x=+1101 x原=0,1101 x反=0,1101 x补=0,1101X=+0.1001 x原=0.1001 x反=0.1001 x补=0.1001X=-0.0101 x原=1.0101 x反=1.1010 x补=1.1011X=-1010 x原=1,1010 x反=1,0101 x补=1,0110大大小小 正数的原、反、补码相同,只有负数才有变化正数的原、反、补码相同,只有负数才有变化 数的原、反、补码的大小的顺序与其真值大小顺序不同。数的原、反、补码的大小的顺序与其真值大小顺序不同。数的比较太麻烦数的比较太
20、麻烦 移码移码 2021-11-23414. 移码表示法n定义定义:x移移 = 2n+x -2n x 0, 符号为1 x0n X反反=X符符. Xn Xn-1. X1 , x 0n x补补x反反+1 x0 (即在反码的最低位(即在反码的最低位+1)注意:对补码再次求补,即得到原码!注意:对补码再次求补,即得到原码!n移码与补码的差别仅在于符号位不同符号位不变数值位变反2021-11-2344几种机器编码简便方法对比符号位为1,逐位取反符号位为0,等于真值本身反码符号位为0,数值位逐位取反,末位加1符号为1,数值位为真值本身移码符号位为1,逐位取反,末位加1符号位为0,等于真值本身补码符号位为1
21、,数值位为真值本身简便编码方法:加符号位符号位为0,等于真值本身原码真值为负数真值为正数机器码2021-11-2345定点小数机器码表示范围nn+1位定点数,数据位n位n原码,反码表示区间一致n2-n-1, 1-2-n n (-1,1)n补码n-1, 1-2-nn-1,1) 2+x2021-11-2346定点整数数机器码表示范围nn位定点整数n原码,反码表示区间一致n1-2n, 2n-1 n (-2n, 2n)n补码,移码n-2n, 2n-1n-2n, 2n) 2n +x2021-11-2347n=3原码: 1-2n, 2n-1 0 0 -8 7 15 7 -7 15 7 7 0 0 反码:
22、1-2n, 2n-1补码: -2n, 2n-1 15 7 -8 0 0 移码: -2n, 2n-12021-11-2348分析以8位定点整数为例:n最大值: x原 = x补 = 01111111 x移=11111111n最小值: x原 =11111111(即-127) x补 =10000000 (即-128) x移=00000000 (即-128)n零的表示: 0原 =0000000或 10000000n0补 =00000000 0移=100000002021-11-2349例以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。 2021-11-2350例将十进制真值(
23、127,1,0,1,127)列表表示成二进制数及原码、反码、补码、移码值。2021-11-2351例设机器字长16位,定点表示,尾数15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?(1)定点原码整数表示最大正数值(2151)10(32767)10最小负数值(2151)10(32767)10(2)定点原码小数表示 最大正数值(1215)10(0.111.11)2最小负数值(1215)10(0.111.11)2注:1符号,数字2021-11-23522.1 数据与文字的表示方法2.1.1 数据格式2.1.2
24、数的机器码表示2.1.3 字符的表示2.1.4 汉字的表示2.1.5 校验码2021-11-23532.1.3 字符表示方法n符号数据:字符信息用数据表示n字符表示方法ASCII:n用一个字节来表示,低7位用来编码(128),最高位为校验位,参见教材P24表2.1n字符串的存放方法2021-11-23542.1 数据与文字的表示方法2.1.1 数据格式2.1.2 数的机器码表示2.1.3 字符的表示2.1.4 汉字的表示2.1.5 校验码2021-11-23552.1.4 汉字的表示方法n输入码: 将汉字转换成计算机能接收的0,1组成的编码n数字编码:国标区位码n拼音码n字形编码:如五笔n汉字
25、内码: 汉字在计算机内部存储、运算等操作的机内代码n两个字节组成,每个字节高位都为1(区别于英文字符)n汉字字模码: 用点阵表示的汉字字形代码,是汉字的输出形式2021-11-23562.1 数据与文字的表示方法2.1.1 数据格式2.1.2 数的机器码表示2.1.3 字符的表示2.1.4 汉字的表示2.1.5 校验码2021-11-23572.1.5 校验码n引入:信息传输和处理过程中受到干扰和故障,容易出错。n解决方法:是在有效信息中加入一些冗余信息(校验位)n奇偶校验码(可检测奇数个错误,无法识别错误信息的位置)n海明码(能纠正一位错误)n循环冗余码 (CRC, 检错码)2021-11-
26、2358奇偶校验n奇偶校验码用于并行数据传送中n原理:在 k 位数据码之外增加 1 位校验位,使 k+1 位码字中取值为 1 的位数总保持为偶数(偶校验)或奇数(奇校验)n定义:设(01n1)是一个n位字,则奇校验位定义为:C01n1,式中代表按位加,表明只有当中包含有奇数个1时,才使C1,即C0。同理可以定义偶校验。 n只能检查出奇数位错;无法识别错误信息的位置;不能纠正错误。2021-11-2359例例10已知下表中左面一栏有5个字节的数据。请分别用奇校验和偶校验进行编码,填在中间一栏和右面一栏。 2021-11-2360解解: 假定最低一位为校验位,其余高8位为数据位,校验位的值取0还是
27、取1, 是由数据位中1的个数决定的。2021-11-2361海明码2021-11-2362循环冗余码(CRC)2021-11-23632.2 定点数加减法运算n加法n减法n溢出n电路实现2021-11-2364加法实现n原码加法实现n如果符号位相同,两数绝对值相加,符号位不变n如果符号位不同,两数绝对值相减,符号位与绝对值大的数相同n补码加法实现n符号位与数值位一起参加运算,若符号位相加有进位,则舍去nX补+Y补=X+Y补2021-11-2365减法实现n原码减法实现n首先将减数符号取反,然后按原码加法进行运算n补码减法实现n对减数求补,然后按补码加法进行运算nX-Y补=X补-Y补 =X补+
28、-Y补n已知Y补,求-Y补方法:对Y补包括符号位“求反且最末位加1”2021-11-2366溢出n溢出的发生n下溢:运算结果小于机器所能表示的最小负数n上溢:运算结果大于机器所能表示的最大正数2021-11-2367溢出判别条件n单符号位表示法(补码)n最高有效位有进位而符号位无进位,产生上溢n最高有效位无进位而符号位有进位,产生下溢n其它情况,无溢出nV=CfC0n双符号位表示法(变形补码)n两位符号位相同,无溢出n两位符号位相异,有溢出nV=Sf1Sf22021-11-2368溢出判别条件(续)例例 0.1011, 0.1001,求。解解:补0.1011 补0.1001补 0.1011 补
29、0.1001 补 1.0100 两个正数相加的结果成为负数,这显然是错误的。例例 0.1101, 0.1011,求。解解:补1.0011 补1.0101补 1.0011 补1.0101 补 0.1000两个负数相加的结果成为正数,这同样是错误的。2021-11-2369溢出判别条件(续)n采用变形补码后,如果两个数相加后,其结果的符号位出现采用变形补码后,如果两个数相加后,其结果的符号位出现“01”或或“10”两种组合时两种组合时,表示发生溢出。表示发生溢出。例例 0.1100, 0.1000,求求。解解: 补补00.1100,补补00.1000 补补00.1100补补00.1000 01.0
30、100两个符号位出现两个符号位出现“01”,表示已溢出表示已溢出,即结果大于即结果大于1。例例 0.1100, -0.1000,求求。解解:补补11.0100,补补11.1000 补补11.0100补补11.1000 10.1100两个符号位出现两个符号位出现“10”,表示已溢出表示已溢出,即结果小于即结果小于1。2021-11-2370定点数加减法运算的实现n一位加法器n二进制加法器n二进制减法器n十进制加法器2021-11-2371一位全加器SiAi Bi CiCi1AiBiBiCiCiAi AiBiCi(Bi Ai)表表2.2 一位全加器真值表一位全加器真值表输入输出AiBiCiSiCi
31、100000001100101001101100101010111001111112021-11-2372二进制加/减法器行波进位的补码加行波进位的补码加/减法器减法器2021-11-23732.3 定点数乘法运算n乘法的实现算法n乘法的电路实现2021-11-2374原码乘法n运算规则:乘积的符号位由两数的符号位异或运算得到,乘积的数值部分是两个正数相乘之积n运算方法:从乘数的最低位开始,若为“1”,则记录被乘数;若为“0”,则记录全“0”。左移一位被乘数,对高一位乘数作同样操作。最后统加。n乘法实现:与操作、加法、移位2021-11-2375原码乘法电路实现n串行乘法实现*n并行乘法实现2
32、021-11-2376原码串行乘法实现n参与运算数:被乘数、乘数、部分积、计数器n初始化操作:部分积为零、计数器为乘数位数n判别乘数作加法n判别乘数最低位 为,部分积加被乘数送部分积 为,不操作n计数及移位n计数器减,部分积及乘数右移一位n判计数器是否为: 为,操作结束 不为,继续判别乘数作加法n符号位单独处理,同号为正,异号为负。2021-11-2377原码串行乘法实现(实例)已知X=0.1101, Y=-0.1011,求X*Y.解:|x|=00.1101 B |y|=.1011 C 0 A2021-11-2378直接补码乘法(Booth)实现n参加运算的数用补码表示;n符号位参加运算;n乘
33、数最低位后面增加一位附加位Yn+1,其初值为0;n由于每求一次部分积要右移一位,所以乘数的最低两位Yn, Yn+1的值决定了每次应执行的操作;判断位Yn, Yn+1 操作n 00 原部分积+0,右移一位n 01 原部分积+x补,右移一位n 10 原部分积+-x补,右移一位n 11 原部分积+0,右移一位n移位按补码右移规则进行。n共需做n+1次累加,n次移位,第n+1次不移位2021-11-2379直接补码乘法实现(实例)例:已知X=-0.1101 , Y=0.1011,求X*Y X补=11.0011 B Y补=0.1011 C 0 A -X补=00.11012021-11-2380并行乘法实
34、现-不带符号位的阵列乘法器 2021-11-2381并行乘法实现-不带符号位的阵列乘法器2021-11-2382并行乘法实现-带符号位的阵列乘法器E=0时,输入和输出相等 E=1时,则从数最右端往左边扫描,直到第一个1的时候,该位和右边各位保持不变0 A=A,左边各数值位按位取反1 A=乛A 。可以用符号作为E 的输入2021-11-2383并行乘法实现-带符号位的阵列乘法器2021-11-23842.4 定点除法运算原码除法运算:原码除法运算:n运算规则:符号位异或运算;商的数值部分由两个正数求商获得。n恢复余数法:先做减法,余数为正说明够减,上商1;余数为负说明不够减,上商0,恢复原来余数
35、。n加减交替法:先做减法,余数为正说明够减,商上1余数左移一位,下一次为减法运算;余数为负说明不够减,商上0余数左移一位,下一次为加法运算。2021-11-2385恢复余数法n会使得除法运算的实际操作次数不固定,从而导致控制电路比较复杂;n在恢复余数时,要多做一次加法,降低了除法的执行速度。2021-11-2386原码恢复余数法除法(例)例:已知X=-0.10101,Y=0.11110,求X/Y。|X|=00.10101|Y|=00.11110-|Y|变补=11.000102021-11-2387原码加减交替法除法(例)例:已知X=-0.10101,Y=0.11110,求X/Y。|X|=00.
36、10101|Y|=00.11110-|Y|变补=11.000102021-11-2388补码除法运算n被除数和除数都用补码表示,符号位参与运算,商和余数也用补码表示。运算过程中应考虑:1.够减的判断 参加运算的两个数符号任意。为了判断是否够减,当两数同号时,实际应做减法;两数异号时,实际应做加法。 当被除数(或部分余数)与除数同号,如果得到的新部分余数与除数同号,表示够减;否则为不够减。 当被除数(或部分余数)与除数异号,如果得到的新部分余数与除数异号,表示够减;否则为不够减。2021-11-2389补码除法运算(续)2. 上商规则 部分余数ri补和除数Y补同号,商上“1”,反之,商上“0”。
37、3. 商符的确定 商符是在求商的过程中自动形成的。4. 求新部分余数 若商上“1”,下一步操作为部分余数左移一位,减去除数; 若商上“0”,下一步操作为部分余数左移一位,加上除数;5. 末位恒置1 假设商的数值位为n位,运算次数为n+1次,商的最末一位恒置为“1”,运算的最大误差为2-n。2021-11-2390补码除法运算(例)2021-11-2391并行除法器的实现*n除法运算的关键操作:加法、减法、判断n加法操作由全加器实现n减法操作转化成加法实现n判断操作的重点在于部分积的符号位2021-11-2392可控加法/减法单元(CAS)n结构:全加器异或门n外部特征:n输入:Ai、Bi、Ci
38、、Pn输出:Si、Ci+1、Bi、Pn功能:在P的控制下执行加、减法nP0:ABnP1:AB2021-11-2393n逻辑函数Si= Ai(BiP)CiCi+1=(Ai+Ci)(BiP)+AiCin电路实现CAS电路2021-11-2394阵列除法器n电路实现(有N位小数的除法器)n复杂性估算n器件:(N1)2个CAS器件n时间:O(N1)2 T不恢复余数阵列除法器逻辑结构图2021-11-2395n运算器的功能n算术运算n逻辑运算n运算器的组成n算术/逻辑运算单元n数据缓冲寄存器n通用寄存器n多路转换器n内部总线2.5定点运算器的组成2021-11-2396逻辑运算n逻辑数:不带符号位的二进
39、制数n特点:无权逐位运算n常用运算:非、或(加)、与(乘)、异或n意义:逻辑判断2021-11-2397ALU电路nALU:多功能算术逻辑运算单元nALU结构:N位全加器函数发生器nN位全加器Fi=XiYiCn+iCn+i1=XiYi+YiCn+i+Cn+iXin函数发生器的逻辑表达式Xi=X(S3,S2,Ai,Bi)Yi=Y(S1,S0,Ai,Bi)2021-11-2398总线概念n总线分类n内部总线与外部总线(根据总线所处的位置)n单向总线与双向总线(按总线的逻辑结构分类)n总线驱动电路2021-11-2399定点运算器的基本结构n单总线运算器(电路简单)n双总线运算器(数据传送灵活)n三
40、总线运算器(操作速度快)2021-11-23100单总线运算器2021-11-23101双总线运算器2021-11-23102三总线运算器2021-11-23103n浮点数表示n加减法操作步骤n乘除法操作步骤n流水线技术2.6 浮点数运算2021-11-23104n浮点数的格式组成n尾数:用定点小数表示,通常是原码或补码n阶码:用定点整数表示,通常是移码或补码n作用:n尾数给出有效位数,决定浮点数的表示精度n阶码给出小数点位置,决定浮点数的表示范围浮点数表示2021-11-23105n浮点数的最大数n浮点数的最小数n浮点数最大或最小绝对值n浮点数的溢出n尾数溢出n阶码溢出浮点数的表示范围202
41、1-11-23106浮点数中阶码与尾数的关系n尾数小数点左移一位,阶码加一n尾数小数点右移一位,阶码减一n机器零n当尾数为0,不论阶码为何值n当阶码的值比规定能表示的值还小,不论尾数为何值2021-11-23107浮点数的规格化表示法n尾数的规格化表示:尾数的绝对值大于等于0.5n尾数原码表示:尾数最高数值位为1n尾数补码表示:尾数最高数值位与符号位相异n规格化处理:左移或右移尾数小数点位置,同时调整阶码,以满足浮点数的规格化表示2021-11-23108尾数处理n截断处理n无条件地丢掉正常尾数最低位之后的全部数值n优点:处理简单;缺点:影响结果精度n舍入处理n运算过程中保留右移中移出的若干高
42、位值,再按某种规则根据这些位修正尾数n1位舍入处理和多位舍入处理2021-11-231091位舍入处理n0舍1入法:如果右移时被丢掉数位的最高位为0则舍去,反之则将尾数的末位加一n恒置1法:只要有尾数位被移掉,则在尾数的末位置一2021-11-23110多位舍入处理n对原码处理n方法一:只要尾数最低位为1,或移出的若干位中有1,就使尾数最低位为1n方法二:移出位最高位为1,在尾数最低位上加1修正n对补码处理n当丢失位均为0时,不必舍入n当丢失的最高位为0其它各位不全为0,或最高位为1以下均为0,则舍去丢失位上的值n当丢失的最高位为1,以下各位不全为0时,则执行在尾数最低位入1修正2021-11
43、-23111关于尾数移位的操作的讨论1尾数右移n低位移出n按舍入的规则操作n高位移入n原码:最高位(符号位)不变,0移入次高位(非符号位最高位)n补码:按最高位(符号位)的值移入该位2021-11-23112尾数左移n低位移入n0移入n高位移出n原码:最高位(符号位)不动,次高位(非符号位最高位)移出n补码:最高位移出关于尾数移位的操作的讨论22021-11-23113浮点数加减法两个浮点数:x=2ExMxy= 2EyMy两数相加减运算规则(Ex Ey)xy = (Mx 2Ex - Ey My) 2Ey2021-11-23114浮点数加减法操作步骤n0操作数检查n对阶n尾数相加减n结果规格化n
44、舍入处理n溢出处理2021-11-231150操作数检查n对于XY,如果是减法,Y变符号n对于X0,Y作为结果输出n对于Y0,X作为结果输出2021-11-23116对阶n若两数阶码不同,表示小数点位置没有对齐,此时必须使两数的阶码相同,这个过程叫对阶.n求阶码的差n阶码不相等,小阶向大阶看齐 原因:减少误差 方法:小阶尾数右移,阶码增值2021-11-23117尾数相加减n尾数求和运算,方法与定点小数相同n尾数和为0,结果为0,运算结束2021-11-23118结果规格化并舍入n对于尾数溢出现象进行规格化操作n绝对值大,右规格化n绝对值小,左规格化n右规格化以后的舍入处理n0舍1入法n恒置1
45、法2021-11-23119溢出处理n浮点数的溢出是以阶码溢出表现的n尾数溢出,则对阶码作相应处理n溢出种类:n阶码上溢:超过阶码能表达的最大正指数值n阶码下溢:超过阶码能表达的最小负指数值n尾数上溢:同号尾数相加最高位产生进位,将尾数右移,阶码增1来重新对齐。n尾数下溢:尾数右移时最低有效位的移出,要进行舍入处理。2021-11-23120浮点加减运算的操作流程2021-11-23121浮点数加减法举例设:x=20100.11011011 y=2100(-0.10101100)求:x+y=?规定:n阶码三位双符号位,补码表示n尾数八位双符号位,补码表示2021-11-23122 浮00 01
46、0,00.11011011浮00 100,11.01010100 求阶差并对阶EEEE补E补00 01011 10011 110 (-2) 浮00 100,00.00110110(11) 尾数求和 00. 0 0 1 1 0 1 1 0 (11)11. 0 1 0 1 0 1 0 0 11. 1 0 0 0 1 0 1 0 (11)规格化处理 尾数运算结果的符号位与最高数值位同值,应执行左规处理,结果为11.00010101(10),阶码为 00 011。舍入处理采用0舍1入法处理,则有11. 0 0 0 1 0 1 0 1 111. 0 0 0 1 0 1 1 0判溢出 阶码符号位为00,不
47、溢出,故得最终结果为2011(0.11101010)2021-11-23123浮点数的乘除法运算n乘法运算:两数尾数相乘,两数阶码相加n除法运算:两数尾数相除,两数阶码相减2021-11-23124浮点数的乘法两个浮点数:x=2ExMxy= 2EyMy两数相乘运算规则xy = 2Ex + Ey (Mx My)2021-11-23125浮点数的除法两个浮点数:x=2ExMxy= 2EyMy两数相除运算规则xy = 2Ex - Ey (Mx My)2021-11-23126浮点数乘除法操作步骤n0操作数检查n阶码加减运算n尾数乘除运算n结果规格化n舍入处理2021-11-23127阶码加减运算移移
48、2n2n2n移移移移2n2n 2n(2n() 2n移移 即直接用移码实现求阶码之和时即直接用移码实现求阶码之和时,结果的最高位多加了个结果的最高位多加了个1,要得要得到正确的移码形式结果到正确的移码形式结果,必须对结果的符号再执行一次求反。必须对结果的符号再执行一次求反。 当混合使用移码和补码时当混合使用移码和补码时,考虑到移码和补码的关系:对同一个数考虑到移码和补码的关系:对同一个数值值,其数值位完全相同其数值位完全相同,而符号位正好完全相反。而而符号位正好完全相反。而补补的定义为的定义为 补补2n1 则求阶码和用如下方式完成:则求阶码和用如下方式完成: 移移补补2n2n1 2n1(2n()
49、即即 移移移移补补(mod 2n1) 同理同理 移移移移补补 上二式表明执行阶码加减时上二式表明执行阶码加减时,对加数或减数对加数或减数 来说来说,应送移码符号位正应送移码符号位正常值的反码。常值的反码。2021-11-23128阶码加减运算(续)n使用双符号位的阶码加法器,并规定移码的第一个符号位,即最高符号位恒用 0 参加加减运算,则溢出条件是结果的最高符号位溢出条件是结果的最高符号位为为1。此时,当低位符号位为 0时,表明结果上溢,为1时,表明结果下溢。n当最高符号位为0时,表明没有溢出;低位符号位为 1,表明结果为正;为 0 时,表明结果为负。2021-11-23129阶码加减运算例例
50、 011,110,求移 和 移,并判断是否溢出。解解:移01 011, 补00 110, 补11 010 移移补10 001, 结果上溢。 移移补00 101, 结果正确,为3。2021-11-23130舍入处理n无条件地丢掉正常尾数最低位之后的全部数值。这种办法被称为截断处理,好处是处理简单,缺点是影响结果的精度。n运算过程中保留右移中移出的若干高位的值,最后再按某种规则用这些位上的值修正尾数。这种处理方法被称为舍入处理。2021-11-23131舍入处理(续)n当尾数用原码表示时,舍入规则比较简单。n只要尾数的最低位为1,或移出的几位中有为1的数值位,就是最低位的值为1。n0舍1入法,即当
51、丢失的最高位的值为1时,把这个1加到最低数值位上进行修正,否则舍去丢失的的各位的值。这样处理时,舍入效果对正数负数相同,入将使数的绝对值变大,舍则使数的绝对值变小。n当尾数是用补码表示时, 具体规则是:n当丢失的各位均为0时,不必舍入;n当丢失的最高位为0 时,以下各位不全为0 时,或者丢失的最高位为1,以下各位均为0时,则舍去丢失位上的值;n当丢失的最高位为1,以下各位不全为0 时,则执行在尾数最低位入1的修正操作。2021-11-23132舍入处理(续)例例 设1补11.01100000, 2补11.01100001, 3补11.01101000, 4补11.01111001, 求执行只保留小数点后4位有效数字的舍入操作值。解解:执行舍入操作后,其结果值分别为 1补11.0110(不舍不入)2补11.0110(舍) 3补11.0110(舍) 4补1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关联企业合同范例
- 2025年上海货运从业资格证考试答案
- 2025年崇左货运上岗证考试考哪些科目
- 2025年邯郸货车丛业资格证考试题
- 低压车回收合同范本
- 农村建房装修合同范本
- 养殖合作加盟协议合同范本
- 农耕地出租合同范本
- 传媒签约合同范本
- 加气站合同范本
- 安徽省名校2022-2023学年高一下学期开学考试生物试题(含答案)
- 燃气灶的营销方案和策略
- 血库输血培训课件
- 《文化人类学电子》课件
- 教育专家报告合集:年度得到:沈祖芸全球教育报告(2023-2024)
- 儿童尿道黏膜脱垂介绍演示培训课件
- 静压桩施工技术交底
- 《酒店客房管理课件》
- 服装市场调研报告
- 医院维修施工方案施工方案
- 第四单元细胞的物质输入和输出(单元教学设计)高一生物(人教版2019必修1)
评论
0/150
提交评论