计算机组成与结构第3章2._第1页
计算机组成与结构第3章2._第2页
计算机组成与结构第3章2._第3页
计算机组成与结构第3章2._第4页
计算机组成与结构第3章2._第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、王爱英,计算机组成与结构王爱英,计算机组成与结构第第4 4版版计算机组成原理计算机组成原理任课教师:郝尚富任课教师:郝尚富河北北方学院信息科学与工程学院河北北方学院信息科学与工程学院Email: Tel:算机组成原理术第4版清华大学出版社第3章 运算方法和运算部件3.1 3.1 数字化信息编码数字化信息编码3.2 3.2 计算机中数据的表示、转换和运算计算机中数据的表示、转换和运算3.3 3.3 二进制乘法运算二进制乘法运算3.4 3.4 二进制除法运算二进制除法运算3.5 3.5 浮点数的运算方法浮点数的运算方法3.6 3.6 运算部件运算部件3.7 3.7 数据校

2、验码数据校验码计算机组成原理术第4版清华大学出版社3.4 3.4 二进制除法运算二进制除法运算3.4.1 3.4.1 定点除法运算定点除法运算1 1定点原码一位除法定点原码一位除法有有恢复余数法恢复余数法和和加减交替法加减交替法两种方法,在计算机中常用两种方法,在计算机中常用的是加减交替法,因为它的操作步骤少,而且也不复杂。的是加减交替法,因为它的操作步骤少,而且也不复杂。两个原码数相除,其商的符号为两数符号的异或值,数两个原码数相除,其商的符号为两数符号的异或值,数值则为两数绝对值相除后的结果。值则为两数绝对值相除后的结果。 计算机组成原理术第4版清华大学出版社除法除法 若干余数与除数加减、

3、移位。若干余数与除数加减、移位。例例. 0.10110. 0.101100.111110.111110.101100.10110 110111010.0.0 01 1 1111111111 0.111110.111110 00 00 01 1 1111111111 10101101010 01 1 1111111111 101110110 00 0.0000000000.0.0.商:商: 0.101100.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数、除数比较余数、除数绝对值大小,以绝对值大小,以决定上商。决定上商。手工计算手工计算:计算

4、机组成原理术第4版清华大学出版社(1) (1) 每次都是由心算来比较余数和除数的大小,每次都是由心算来比较余数和除数的大小,余数大时,商余数大时,商1 1;余数小时,商;余数小时,商0 0。第一次比较时,。第一次比较时,余数就是被除数。余数就是被除数。(2) (2) 每做一次减法,总是保持余数不动,而除每做一次减法,总是保持余数不动,而除数向右移一位。数向右移一位。(3) (3) 商的符号单独处理。商的符号单独处理。为适应机器运算,需要进行为适应机器运算,需要进行改进改进:(1 1)用补码加代替直接减(两个符号位)用补码加代替直接减(两个符号位)(2 2)除数右移改为余数左移。除数右移改为余数

5、左移。笔算特点笔算特点计算机组成原理术第4版清华大学出版社a.a.算法算法 比较两数大小可用减法试探。比较两数大小可用减法试探。2 2余数余数- -除数除数= =新余数新余数为正为正: :够减够减, ,商商1 1。为负为负: :不够减不够减, ,商商0,0,恢复原余数。恢复原余数。b.b.实例实例X=-0.10110X=-0.10110,Y=0.11111Y=0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。设置:设置:A A:被除数、余数,:被除数、余数,B B:除数,:除数,C C:商:商初值初值:A= X = 00.10110A= X = 00.10110 B=

6、 Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B= 11.00001 -B= 11.00001(1) 原码恢复余数法原码恢复余数法计算机组成原理术第4版清华大学出版社步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)0 0-B-B 01.0110001.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)1 1 -B-B00.1101000.11010+11.00001+11.00001

7、11.1101111.110110.0000.00010103 3)恢复余数恢复余数+B+B+00.11111+00.1111100.1101000.1101001.1010001.101000.000.001011014 4)0 0-B-B +11.00001+11.0000100.1010100.10101C Cn nS SA AQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r22r r2 22r2r2 2r r3 3计算机组成原理术第4版清华大学出版社步数步数 条件条件 操作操作 A C A C 00.10101 0.0000.1010

8、1 0.00101 101 5 5)0 0-B-B 01.0101001.01010+11.00001+11.0000100.0101100.010110.00.0101110116 6)1 1 -B-B00.1011000.10110+11.00001+11.0000111.1011111.101110.0.10110101107 7)恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4 4 Q Q5 5 Q Q3 3 r r3 32r2r3 3r r4 42r2r4 4r r55r r5

9、 5R= 0.10110R= 0.101102 2-5-5X= QX= QY+RY+R+ + + + + + + + + - - - - + +- - - +- + - - - + -+ - - -X/Y=-0.10110+X/Y=-0.10110+-0.10110-0.101102 2-5-5 0.11111 0.11111计算机组成原理术第4版清华大学出版社原码一位除法的逻辑电路框图原码一位除法的逻辑电路框图 c.c.说明说明(1 1)A A、B B双符号位,双符号位,X X、Y Y绝对值,绝对值,X X 小于小于 Y Y 。(2 2)运算结束后,余数乘以)运算结束后,余数乘以2 2 ,与

10、被除数同号。,与被除数同号。-n计算机组成原理术第4版清华大学出版社a.a.算法分析算法分析第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :r r2 2+B=+B=r r2(2(恢复余数恢复余数) )第四步第四步: :2 2r r2 2-B=-B=r r3 32 2r r2 2-B=2(-B=2(r r2 2+B)-B+B)-B =2 =2r r2 2+B=+B=r r3 3 第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :2 2r r2 2+B=+B=r r3 3 ( (不恢复余数不恢复余数) )(2) 原码不恢复余数法(加

11、减交替法)原码不恢复余数法(加减交替法)加减交替除法原理证明计算机组成原理术第4版清华大学出版社b.b.算法算法 r ri+1i+1=2=2r ri i+(1-2Q+(1-2Qi i)Y)Yr ri i为为正正,则则QiQi为为1 1,第第i+1i+1步作步作2ri-Y2ri-Y;riri为为负负,则则QiQi为为0 0,第第i+1i+1步作步作2 2ri+Yri+Y。c.c.实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A= X = 00.10110A= X = 00.10110

12、 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001计算机组成原理术第4版清华大学出版社步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)为正为正-B-B 01.0110001.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)为负为负 -B-B00.1101000.11010+11.00001+11.0000111.1101111.1101

13、10.0000.00010103 3)+B+B+00.11111+00.1111111.1011011.101100.000.00101101为正为正00.1010100.10101C Cn n r rQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r2 22r2r2 2r r3 34 4)为正为正-B-B 01.0101001.01010+11.00001+11.0000100.0101100.010110.00.010111011Q Q4 4 2r2r3 3r r4 4计算机组成原理术第4版清华大学出版社步数步数 条件条件 操作操作 A C

14、 A C 00.01011 0.000.01011 0.01011 1011 6 6)为负为负 恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4 4 r r4 45 5)为正为正-B-B 00.1011000.10110+11.00001+11.0000111.1011111.101110.0.1011010110Q Q5 5 2r2r4 4r r5 5r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+ 0.101100

15、.101102 2-5-5 -0.11111 -0.11111计算机组成原理术第4版清华大学出版社 d.d.运算规则运算规则(1 1)A A、B B取双符号位,取双符号位,X X、Y Y取绝对值运算,取绝对值运算,X Y X Y 。(2 2)根据余数的正负决定商值及下一步操作。)根据余数的正负决定商值及下一步操作。(3 3)求)求n n位商,作位商,作n n步操作;若第步操作;若第n n步余数为负,则第步余数为负,则第n+1n+1步恢复余数,不移位。步恢复余数,不移位。计算机组成原理术第4版清华大学出版社原码加减交替法逻辑结构框图原码加减交替法逻辑结构框图加数器加数器原码加减交替法逻辑结构框图

16、原码加减交替法逻辑结构框图YfCxQnTiQnT1 , T2, +1LDR1LDR0被除数被除数X或者余数寄存器或者余数寄存器R0商商Q寄存器寄存器R1除数除数Y寄存器寄存器ffR2R计数器计数器iQfXfR0R1Qn+1SQ计算机组成原理术第4版清华大学出版社加减交替法控制流程如图加减交替法控制流程如图 计算机组成原理术第4版清华大学出版社2. 补码不恢复余数法(加减交替法)(略)补码不恢复余数法(加减交替法)(略)如何判断是否够减?如何判断是否够减?如何上商?如何上商? 如何确定商符?如何确定商符? 1.1.判够减判够减(1)(1)同号相除同号相除4 74 77 47 4-4 -7-4 -

17、7-7 -4-7 -41 1-4 7-4 7-7 4-7 44 -74 -77 -47 -40 01 10 0-4-43 3-7-7-3-3-(-4)-(-4)-3-3-(-7)-(-7)3 3够减够减不够减不够减够减够减不够减不够减够减:够减:r与与X、Y同号;同号;不够减:不够减:r与与X、Y异号。异号。(2)(2)异号相除异号相除 1 10 0 1 1 0 0+(-4)+(-4) 3 3+(-7)+(-7)-3-3 +4+4-3-3 +7+7 3 3够减够减够减够减不够减不够减不够减不够减够减:够减:r与与X同号同号,与与Y异号;异号;不够减:不够减:r与与X异号异号,与与Y同号。同号。

18、计算机组成原理术第4版清华大学出版社(3 3)判断规则)判断规则同号:作同号:作X X补补-Y-Y补补X X补补Y Y补补够减够减:r r补补与与Y Y补补同号同号不够减不够减:r r补补与与Y Y补补异号异号异号:作异号:作X X补补+Y+Y补补够减够减:r r补补与与Y Y补补异号异号不够减不够减:r r补补与与Y Y补补同号同号2.2.求商值求商值X X补补Y Y补补同号:商为正同号:商为正异号:商为负异号:商为负够减商够减商1 1不够减商不够减商0 0够减商够减商0 0不够减商不够减商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号

19、) )( (r r、Y Y同号同号) )够减够减商商1 1不够减商不够减商0 0够减商够减商0 0不够减不够减商商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减不够减商商0 0够减够减商商0 0不够减不够减商商1 1上商规则:上商规则:Q Qi i=Sr=Sri iS SY Y余数与除数同号商余数与除数同号商1 1,异号商,异号商0 0。计算

20、机组成原理术第4版清华大学出版社(3)规则规则:计算机组成原理术第4版清华大学出版社例340最低位恒置1,余数不正确。如不采用恒置1的方法(采用反码+1的方法),所得结果XY补仍为10101。读者有兴趣的话,可以验算之。计算机组成原理术第4版清华大学出版社计算机组成原理术第4版清华大学出版社计算机组成原理术第4版清华大学出版社跳跳0跳跳1除法除法这是另一种对规格化小数绝对值相除的除法加速除运算速这是另一种对规格化小数绝对值相除的除法加速除运算速度的算法度的算法,它的基本思路是:当余数的绝对值很小时它的基本思路是:当余数的绝对值很小时,可根据余数可根据余数前几位代码值再次求得几位同为前几位代码值

21、再次求得几位同为1或或0的商。其的商。其规则规则是是:如果如果R0,且且R的高的高K个数位均为个数位均为0,则本次直接得则本次直接得商商1后跟后跟K-1个个0,R左移左移K位后位后,减去除数减去除数D,得新余数。得新余数。如果余数如果余数R0,且且R的高的高K个数位均为个数位均为1,则本次商则本次商为为0后跟后跟K-1个个1,R左移左移K位后位后,加上除数加上除数D,得新余数。,得新余数。上述上述、条件中的条件中的K为为1时时,每次只能求得一位商。每次只能求得一位商。 计算机组成原理术第4版清华大学出版社M = 0.1010000 D = 0.1100011, 则 -D补 = 1 001110

22、1, M / D为 最后得商Q=0.01100111 (接下去可左移4位, + D 继续求商)跳跳0跳跳1除法运算的例子除法运算的例子 计算机组成原理术第4版清华大学出版社用快速乘法器实现快速除法器用快速乘法器实现快速除法器 按下式完成M/D: 式中Fi( 0 i r )为各次递乘因子,递乘几次后,可以使D*F0*F1*F2*Fr1,则商应为: M * F0 * F1 * F2* Fr计算机组成原理术第4版清华大学出版社若若M和和D为规格化正的二进制小数代码时为规格化正的二进制小数代码时,可写成可写成: D=1- (0 1/2)那么可取那么可取Fi 的值如下的值如下: F0 = 1+ D0 =

23、 DF0 = (1-)(1+)=1-2 F = 1+2 D =(1-2)(1+2)=1-4 可见当可见当i增加时增加时, Di将很快趋近于将很快趋近于1,其误差为其误差为2i+1 。实际上求得实际上求得Fi 的过程很简单的过程很简单,它应为它应为 - Di的补码的补码, 即即2 - Di( 0 i r )则可以认为本则可以认为本Q0.1100,若算得更精确些,若算得更精确些,可以可以采用双倍字长乘运算采用双倍字长乘运算,误差更小误差更小,求得的商为求得的商为Q=1011。计算机组成原理术第4版清华大学出版社第第3.5节节 浮点四则运算浮点四则运算浮点数真值:浮点数真值:N = + MN = +

24、 M R RE E阶码阶码E Ef f E E1 1 E Em m S Sf f M M1 1 M Mn n浮点数机器格式:浮点数机器格式:尾数尾数阶符阶符数符数符R R:阶码底,隐含约定。:阶码底,隐含约定。E E:阶码,为定点整数,补码或移码表示。:阶码,为定点整数,补码或移码表示。 其其位数位数决定决定数值范围数值范围;阶符阶符表示表示数的大小。数的大小。M M:尾数,为定点小数,原码或补码表示。:尾数,为定点小数,原码或补码表示。 其其位数位数决定决定数的精度数的精度;数符数符表示表示数的正负数的正负。尾数规格化:尾数规格化:1/21/2 M 1 M BBE E,则,则B BE E+1

25、 B+1 BE E,B BM M,直到,直到B BE E=A=AE EA AM M + B+ BM M A AM M4.4.结果规格化结果规格化若得到的结果不满足规格化规则若得到的结果不满足规格化规则,就必须把它变成规格化的数就必须把它变成规格化的数,对双符号位的补码尾数来说对双符号位的补码尾数来说,就必须是就必须是001或或110的形式。的形式。 规格化处理规则规格化处理规则: 当结果尾数的当结果尾数的两个符号位的值不同两个符号位的值不同时时,表明尾数运算表明尾数运算结果溢出结果溢出。此时应使结果。此时应使结果尾数右移一位尾数右移一位,并使并使阶码的值加阶码的值加1,这被称为向右规格化这被称

26、为向右规格化,简称简称右规右规。当尾数的当尾数的运算结果不溢出运算结果不溢出,但但最高数值位与符号位同值最高数值位与符号位同值,表明不满足规格化规表明不满足规格化规则则,此时应重复地使此时应重复地使尾数左移、阶减减尾数左移、阶减减1,直到出现在最高数值位上的值与符号直到出现在最高数值位上的值与符号位的值不同为止位的值不同为止,这是向左规格化的操作这是向左规格化的操作,简称简称左规左规。计算机组成原理术第4版清华大学出版社A AE E-1 A-1 AE E若若 A Af1f1A Af2f2=1,=1,则右规:则右规:(1) 11.0001(1) 11.0001 +00.1001 +00.1001

27、11.101011.1010(2) 00.0101(2) 00.0101 +00.1101 +00.110101.001001.0010(-1/2(-1/2除外除外) )A Af1f1A Af2 f2 A A1 1A AM M1111. .1 1010010若若 A Af1f1A Af2f2A A1 1+A+Af1f1A Af2f2A A1 1=1,=1,则左规:则左规:0101.0010.0010A Af1f1A Af2 f2 A AM MA AE E+1 A+1 AE E计算机组成原理术第4版清华大学出版社5、舍入操作、舍入操作 在执行对阶或右规操作时在执行对阶或右规操作时,会使尾数低位上

28、的一位或多会使尾数低位上的一位或多位的数值被移掉位的数值被移掉,使数值的精度受到影响使数值的精度受到影响,可以把移掉的几个可以把移掉的几个高位的值保存起来供舍入使用。高位的值保存起来供舍入使用。舍入的总的原则舍入的总的原则是要有舍有是要有舍有入入,而且尽量使舍和入的机会均等而且尽量使舍和入的机会均等,以防止误差积累。常用的以防止误差积累。常用的办法办法有有“0”舍舍“1”入法入法,即移掉的最高位为即移掉的最高位为1时时 则在尾数末位则在尾数末位加加1;为为0时则舍去移掉的数值。该方案的最大误差为时则舍去移掉的数值。该方案的最大误差为2-(n+1)。这样做可能又使尾数溢出。这样做可能又使尾数溢出

29、,此时就要再做一次右规。另一此时就要再做一次右规。另一种方法种方法 置置1法法,即右移时即右移时,丢掉移出的原低位上的值丢掉移出的原低位上的值,并把结并把结果的最低位置成果的最低位置成1。该方案同样有使结果尾数变大或变小两。该方案同样有使结果尾数变大或变小两种可能。即舍入前尾数最低位已为种可能。即舍入前尾数最低位已为0,使其变使其变1,对正数而言对正数而言,其其值变大值变大,等于最低位入了个等于最低位入了个1。若尾数最低位已为。若尾数最低位已为1,则再对其则再对其置置1无实际效用无实际效用,等于舍掉了丢失的尾数低位值。等于舍掉了丢失的尾数低位值。计算机组成原理术第4版清华大学出版社6、判结果的

30、正确性、判结果的正确性,即检查阶码是否溢出即检查阶码是否溢出 浮点数的溢出浮点数的溢出是以其阶码溢出表现出来的。在加减运是以其阶码溢出表现出来的。在加减运算真正结束前算真正结束前,要检查是否产生了溢出要检查是否产生了溢出,若阶码正常,加若阶码正常,加(减减)运算正常结束;若阶码下溢运算正常结束;若阶码下溢,要置运算结果为浮点形式的机要置运算结果为浮点形式的机器零器零,若上溢若上溢,则置溢出标志。则置溢出标志。计算机组成原理术第4版清华大学出版社规格化浮点数加减运算流程规格化浮点数加减运算流程计算机组成原理术第4版清华大学出版社例例3 345 45 两浮点数相加,求两浮点数相加,求X+YX+Y。

31、 已知:已知:X X2 2010 010 0.11011011 0.11011011, y y2 2100 100 (-0.10101100) (-0.10101100) 解:解:X X和和Y Y在机器中的浮点补码表示形式为在机器中的浮点补码表示形式为( (双符号位双符号位) ): 阶符阶符 阶码阶码 数符数符 尾数尾数 X X: 0 0 0 1 0 0 0 1 1 0 1 1 0 1 10 0 0 1 0 0 0 1 1 0 1 1 0 1 1 Y Y: 0 0 1 0 0 1 1 0 1 0 1 0 1 0 00 0 1 0 0 1 1 0 1 0 1 0 1 0 0 计算过程:计算过程:

32、 对阶操作对阶操作 阶差阶差E EExEx补补+-E+-EY Y 补补=00010+11100=11110=00010+11100=11110 X X阶码小,阶码小,MxMx右移右移2 2位,保留阶码位,保留阶码E E0010000100。 MxMx 补补=00 00 110 110=00 00 110 110 1111 下划线上的数是右移出去而保留的附加位。下划线上的数是右移出去而保留的附加位。 尾数相加尾数相加 MxMx 补补+M+MY Y 补补=0000110110=00001101101111+1101010100=1110001010+1101010100=1110001010111

33、1。 规格化操作规格化操作 结果的符号位与最高数值位同值结果的符号位与最高数值位同值,应执行左规处理应执行左规处理,结果为结果为11 00010101 10, 阶码为阶码为00 011。 计算机组成原理术第4版清华大学出版社 舍人舍人附加位最高位为附加位最高位为1,采用,采用0舍舍1入法处理,在所得结果的最低位入法处理,在所得结果的最低位+1,得新结果:得新结果: M补补=1100010110, M: - - 011101010。 判溢出判溢出 阶码符号位为阶码符号位为00,故不溢出、最终结果为:,故不溢出、最终结果为: X+Y=2010 (- -011101010)计算机组成原理术第4版清华

34、大学出版社3.5.2 浮点乘法运算浮点乘法运算步骤:步骤:1.1.检测操作数是否为检测操作数是否为0 0。2.2.阶码相加。阶码相加。若阶码用移码表示,相加后若阶码用移码表示,相加后浮点乘浮点乘 定点加、定点乘定点加、定点乘3.3.尾数相乘。尾数相乘。相乘前相乘前不需对阶不需对阶。设设A=2A=2 A AM M,B=2 B=2 B BM M A AE EB BE EA AE E+B+BE EA AB=2 B=2 ( (A AM MB BM M) ) 4.4.结果规格化。结果规格化。一般一般左规左规。令令A AE E=2 +X,B=2 +X,BJ J=2 +Y=2 +Y,A AE E+B+BE

35、E=2 +2 +(X+Y)=2 +2 +(X+Y)nnnn-2-2 =2 +(X+Y) =2 +(X+Y)nn减减2 2 修正。修正。n计算机组成原理术第4版清华大学出版社 例例3 34747 阶码阶码4 4位位( (移码移码) ),尾数,尾数8 8位位( (补码,含补码,含1 1符号位符号位) ),阶码以,阶码以2 2为底。运算结果仍取为底。运算结果仍取8 8位尾数。位尾数。 设设:X=2X=2-5 -5 0.11100110.1110011,Y=2Y=23 3 (-0.1110010)(-0.1110010) X X,Y Y为真值,此处阶码用十进制表示,尾数用二为真值,此处阶码用十进制表示

36、,尾数用二进制表示。运算过程中阶码取双符号位。进制表示。运算过程中阶码取双符号位。 (1)(1)求乘积的阶码求乘积的阶码。乘积的阶码为两数阶码之和。乘积的阶码为两数阶码之和。 EEX X+E+EY Y 移移=E=EX X 移移+E+EY Y 补补=00011+00011=00110=00011+00011=00110 (2)(2)尾数相乘。尾数相乘。用定点数相乘的办法,此处仅列出用定点数相乘的办法,此处仅列出结果,不进行详细计算。结果,不进行详细计算。 XX Y Y补补1.00110011.0011001 10010101001010 ( (尾数部分尾数部分) ) 高位部分高位部分 低位部分低

37、位部分计算机组成原理术第4版清华大学出版社 (3)(3)规格化处理。规格化处理。本例尾数已规格化,不需要再处理。本例尾数已规格化,不需要再处理。如未规格化,需左规。如未规格化,需左规。 (4)(4)舍人。舍人。尾数尾数( (乘积乘积) )低位部分的最高为低位部分的最高为1 1,需要舍人,需要舍人,在乘积高位部分的最低位加在乘积高位部分的最低位加1 1,因此,因此 XX Y Y补补1.0011010 (1.0011010 (尾数部分尾数部分) ) (5)(5)判溢出。判溢出。阶码未溢出,故结果为正确。阶码未溢出,故结果为正确。 X X Y Y: 0110 100110100110 1001101

38、0 阶码阶码( (移码移码) ) 尾数尾数( (补码补码) ) X X Y=2 Y=2-2-2 (-0.1100110)(-0.1100110) 计算机组成原理术第4版清华大学出版社规格化浮点乘法运算流程规格化浮点乘法运算流程 计算机组成原理术第4版清华大学出版社3.5.3 浮点除法运算浮点除法运算步骤:步骤:1.1.检测操作数是否为检测操作数是否为0 0。2. A2. AM M B BM M ? ?浮点除浮点除 定点减、定点除定点减、定点除4.4.尾数相除。尾数相除。相除前相除前不需对阶不需对阶。设设A=2A=2 A AW W,B=2 B=2 B BW W A AE EB BE E5.5.结

39、果规格化。结果规格化。令令A AJ J=2 +X=2 +X,B BJ J=2 +Y=2 +Y,A AJ J-B-BJ J=2 -2 +(X-Y)=X-Y=2 -2 +(X-Y)=X-Ynnnn+2+2 n加加2 2 修正。修正。nA AE-E-B BE EA AB=2 B=2 ( (A AM MB BM M) ) 3.3.阶码相减。阶码相减。若阶码用移码表示,相减后若阶码用移码表示,相减后计算机组成原理术第4版清华大学出版社36 运算部件 1. 定点运算部件 定点运算部件由定点运算部件由算术逻辑运算部件算术逻辑运算部件ALUALU、若干个、若干个寄存器寄存器、移位电路移位电路、计数器计数器、门

40、电路门电路等组成。等组成。 ALUALU部件主要完成加减法部件主要完成加减法算术运算算术运算及及逻辑运算逻辑运算。计算机组成原理术第4版清华大学出版社计算机组成原理术第4版清华大学出版社2 2浮点运算部件浮点运算部件 通常通常由阶码运算部件和尾数运算部件组成,其各自的结构与定点运算部件相似。,其各自的结构与定点运算部件相似。但阶码部分仅执行加减法运算。其尾数部分则执行加减乘除运算,左规时有时需要左移,左规时有时需要左移多位。为加速移位过程,有的机器设置了可移动多位多位。为加速移位过程,有的机器设置了可移动多位的电路。的电路。计算机组成原理术第4版清华大学出版社位片结构的运算器芯片位片结构的运算

41、器芯片Am2901 运算器运算器,三大块三大块(功能和组成),运算运算(ALU)、暂存暂存(通用寄存器组)、乘除快乘除快(乘商寄存器),多路选通连起来多路选通连起来(以便构成一个能协同运行的运算器整体)。 运算器的功能与组成功能与组成概括为如下三句话: 计算机组成原理术第4版清华大学出版社3.7 数据校验码 计算机系统中的数据,在读写、存取和传送计算机系统中的数据,在读写、存取和传送的过程中可能产生错误。为减少和避免这类错误,的过程中可能产生错误。为减少和避免这类错误,一方面是一方面是精心设计各种电路,提高计算机硬件的精心设计各种电路,提高计算机硬件的可靠性;可靠性;另一方面是在另一方面是在数

42、据编码上找出路,即采数据编码上找出路,即采用某种编码法,通过少量的附加电路,使之能发用某种编码法,通过少量的附加电路,使之能发现某些错误,甚至能确定出错位置,进而实现自现某些错误,甚至能确定出错位置,进而实现自动改错的能力。动改错的能力。 数据校验码是一种常用的数据校验码是一种常用的带有发现某些错误或自带有发现某些错误或自动改错能力动改错能力的数据编码方法。的数据编码方法。计算机组成原理术第4版清华大学出版社 实现原理,实现原理,是加进一些冗余码,使合法数据编码出现某些错误时是加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码。这样,就可以通过检测编码的合法性来达到发现,就成为非法编

43、码。这样,就可以通过检测编码的合法性来达到发现错误的目的。合理地安排非法编码数量和编码规则,就可以提高发现错误的目的。合理地安排非法编码数量和编码规则,就可以提高发现错误的能力,或自动改正错误的目的。错误的能力,或自动改正错误的目的。 码距(最小码距)的概念码距(最小码距)的概念。码距是指码距是指任意两个合法码之间至少有任意两个合法码之间至少有几个二进制位不相同几个二进制位不相同,仅有一位不同,称其(最小码距)为,仅有一位不同,称其(最小码距)为1,例例如用四位二进制表示如用四位二进制表示16种状态,则种状态,则16种编码都用到了,此时码距为种编码都用到了,此时码距为1,就是说,就是说,任何一

44、个编码状态的四位码中的一位或几位出错,都会变成另一个合法码,任何一个编码状态的四位码中的一位或几位出错,都会变成另一个合法码,此时无检错能力。若用四个二进制位表示此时无检错能力。若用四个二进制位表示8种合法状态,就可以只用其中的种合法状态,就可以只用其中的8个个编码来表示之,而把另编码来表示之,而把另8种编码作为非法编码,此时可使合法码的码距为种编码作为非法编码,此时可使合法码的码距为2。一。一般说来,合理地增大编码的码距般说来,合理地增大编码的码距,就能提高发现错误的能力,但表示一定数量就能提高发现错误的能力,但表示一定数量的合法码所使用的二进制位数要变多,增加了电子线路的复杂性和数据存储、

45、的合法码所使用的二进制位数要变多,增加了电子线路的复杂性和数据存储、数据传送的数量。数据传送的数量。 常用的数据校验码是奇偶校验码、海明校验码和常用的数据校验码是奇偶校验码、海明校验码和循环冗余校验码循环冗余校验码。计算机组成原理术第4版清华大学出版社3.7.1 3.7.1 奇偶校验码奇偶校验码奇偶校验码是一种开销最小,奇偶校验码是一种开销最小,能发现数据代码中能发现数据代码中一位出错情况的编码一位出错情况的编码,常用于存储器读写检查,或常用于存储器读写检查,或ASCIIASCII字符传送过程中的检查。字符传送过程中的检查。实现原理实现原理: :是使码距由是使码距由1 1增加到增加到2 2。通

46、常是为一个字节。通常是为一个字节补充一个二进制位,称为校验位,用设置校验位的值为补充一个二进制位,称为校验位,用设置校验位的值为0 0或或1 1,使字节的,使字节的8 8位和该校验位含有位和该校验位含有1 1值的个数为奇数或偶值的个数为奇数或偶数。在使用奇数个数。在使用奇数个1 1的方案进行校验时,称为的方案进行校验时,称为奇校验奇校验,反,反之,则称为之,则称为偶校验偶校验。依据。依据8 8位的数据位中位的数据位中1 1值的个数确定校值的个数确定校验位的值,是由专设的线路实现的验位的值,是由专设的线路实现的( (图图3.10)3.10)。012345678DDDDDDDDDEV计算机组成原理

47、术第4版清华大学出版社缺点缺点:这种方案只能这种方案只能发现一位错或奇数个位发现一位错或奇数个位错,但不能确定是哪一错,但不能确定是哪一位错,也不能发现偶数位错,也不能发现偶数个位错。个位错。优点优点:该方案还是有该方案还是有很好的实用价值。很好的实用价值。计算机组成原理术第4版清华大学出版社下面给出对几个字节值的奇偶校验的编码结果:下面给出对几个字节值的奇偶校验的编码结果: 数据数据 奇校验的编码奇校验的编码 偶校码的编码偶校码的编码 00000000 00000000 l l00000000 00000000 0 00000000000000000 010l0l00 010l0l00 0

48、0010l0100 010l0100 l l01010l0001010l00 01ll1lll 01ll1lll 0 0011l1111 011l1111 1 10l111l1l0l111l1l其中,最高一位为校验位,其余低八位为数据位。从中可其中,最高一位为校验位,其余低八位为数据位。从中可以看到,校验位的值取。以看到,校验位的值取。0 0还是还是1 1,是由数据位中,是由数据位中1 1的个数决的个数决定的。定的。举例:举例:计算机组成原理术第4版清华大学出版社3.7.2 3.7.2 海明校验码海明校验码特点:特点:能检测出二位同时出错、亦能检测出一位出错并能自动纠错。能检测出二位同时出错、

49、亦能检测出一位出错并能自动纠错。实现原理实现原理:在在k k个数据位之外加上个数据位之外加上r r个校验位,从而形成一个个校验位,从而形成一个k k十十r r位位的新码字,当某一位出错后,就会引起相关的几个校验位的值发生变化,的新码字,当某一位出错后,就会引起相关的几个校验位的值发生变化,从而达到检错、纠错的目的从而达到检错、纠错的目的。 k 位(信息位) R 位(校验位 由由Richard Hamming于于1950年提出、目前还被广泛采用的一种很有年提出、目前还被广泛采用的一种很有效的校验方法效的校验方法 .计算机组成原理术第4版清华大学出版社 2rk+r+1 (318)数据位数据位k与校

50、验位与校验位r的对应的对应关系关系: 数据位校验位没有错误 2r-1k+r (3. 19)只要k= 2r -1-r个休息能用于纠正被传送数据的位数。能检测出二位同时出错、亦能检测出一位出错并能自动纠错计算机组成原理术第4版清华大学出版社若海明码的最高位号为若海明码的最高位号为m m,最低位号为,最低位号为1 1,即,即HmHm-1H2H1,则此海明码的,则此海明码的编码规律编码规律:(1)(1)校验位与数据位之和为校验位与数据位之和为m m,每个校验位,每个校验位P Pi i在海在海明码中被分在位号明码中被分在位号2 2i-1i-1的位置,其余各位为数据位,的位置,其余各位为数据位,并按从低向

51、高逐位依次排列的关系分配各数据位。并按从低向高逐位依次排列的关系分配各数据位。(2)(2)海明码的每一位码海明码的每一位码H Hi i( (包括数据位和校验位本包括数据位和校验位本身身) )由多个校验位校验,其关系是被校验的每一位位由多个校验位校验,其关系是被校验的每一位位号要等于校验它的号要等于校验它的各校验位的位号之和各校验位的位号之和。这样安排。这样安排的目的,是希望校验的结果能正确反映出出错位的的目的,是希望校验的结果能正确反映出出错位的位号。位号。 海明码的编码规律海明码的编码规律计算机组成原理术第4版清华大学出版社K=8K=8,按式,按式(3(319)19)求出求出r=5r=5,故

52、海明码的总位数为,故海明码的总位数为1313,可,可表示为表示为 H H1313H H1212H H1111.H.H3 3H H2 2H H1 1P P5 5只能放在只能放在H H1313一位上,它已经是海明码的最高位了,其一位上,它已经是海明码的最高位了,其他他4 4位满足位满足P Pi i的位号等于的位号等于2 2i-1i-1的关系。其余为数据位的关系。其余为数据位D Di i,则有如,则有如下排列关系:下排列关系:位位号号1313 1212 1111 1010 9 98 87 76 65 54 43 32 21 1信信息息P5P5 D8D8 D7D7 D6D6 D5D5 P4P4 D4D

53、4 D3D3 D2D2 P3P3 D1D1 P2P2 P1P1举例举例:21-122-123-124-125-1计算机组成原理术第4版清华大学出版社注意注意:数据位与校验位关系及校验位形成与数据位的关系数据位与校验位关系及校验位形成与数据位的关系.计算机组成原理术第4版清华大学出版社 P1=D1 D2 D4 D5 D7 (3.20) P2=D1 D3 D4 D6 D7 (3.21) P3=D2 D3 D4 D8 (3.22) P4=D5 D6 D7 D8 (3.23) P5=D1 D2 D3 D4 D5 D6 D7 D8 P4 P3 P2 P1 (3.24) 在这种安排中,每一位数据位,都至少

54、地出现在在这种安排中,每一位数据位,都至少地出现在3 3个个P Pi i值的形成关系中。当任一位数据码发生变化时,必将引值的形成关系中。当任一位数据码发生变化时,必将引起起3 3个或个或4 4个个P Pi i值跟着变化,该海明码的码距为值跟着变化,该海明码的码距为4 4。校验位的编码规则校验位的编码规则(发送端发送端):计算机组成原理术第4版清华大学出版社Si=Pi 形成Pi的编码规则S1=P1 D1 D2 D4 D5 D7 (3.25)S2=P2 D1 D3 D4 D6 D7 (3.26)S3=P3 D2 D3 D4 D8 (3.22)S4=P4 D5 D6 D7 D8 (3.23)S5=P

55、5 P4 P3 P2 P1 D1 D2 D3 D4 D5 D6 D7 D8 (3.24)则校验得到的结果值则校验得到的结果值S5S5S1S1能反映能反映1313位海明码的出错情况位海明码的出错情况( (表表3.9)3.9)。任何偶数个数出错,。任何偶数个数出错,S5S5一定为一定为0 0,因此可区分两位出错,因此可区分两位出错或一位出错。或一位出错。译码规则(接收端)译码规则(接收端):计算机组成原理术第4版清华大学出版社计算机组成原理术第4版清华大学出版社无错:无错:S50;S4S3S2S1=1一位错:一位错:S5=1两位错:两位错:S5=0; S4S3S2S1=0计算机组成原理术第4版清华

56、大学出版社3.7.3 3.7.3 循环冗余校验循环冗余校验(CRC)(CRC)码码特点: CRCCRC码可以码可以发现并纠正信息串行读写、信息串行读写、存储或传送过程中出现的存储或传送过程中出现的一位、多位错误一位、多位错误用途:在磁介质存储器读写和计算机之间通在磁介质存储器读写和计算机之间通信方面得到广泛应用。信方面得到广泛应用。 计算机组成原理术第4版清华大学出版社关键关键: :(1)(1)编码编码: :如何从如何从k k位信息位简便地得到位信息位简便地得到r r位校验位位校验位(2)(2)译码与纠错译码与纠错: :如何从如何从k+rk+r位信息码判断是否位信息码判断是否出错并纠错。出错并

57、纠错。 k 位(信息位) R 位(校验位编码组成:计算机组成原理术第4版清华大学出版社1 1CRCCRC码的编码方法码的编码方法 先介绍CRC码编码用到的模2运算。 模2运算是指以按位模2相加为基础的四则运算,运算时不考虑进位和借位。 (1)模2加减:即按位加,可用异或逻辑即按位加,可用异或逻辑实现。模实现。模2 2加与模加与模2 2减的结果相同减的结果相同. . 即即0 0土土0=00=0,0 0土土1 11 1,1 1土土0 01 1,1 1土土1 10 0。两个相同的数据的模两个相同的数据的模2 2和为和为0 0。计算机组成原理术第4版清华大学出版社例例3.483.48(2)模模2乘乘按

58、模按模2加求部分积之和。加求部分积之和。计算机组成原理术第4版清华大学出版社(3)(3)模模2 2除除按模按模2 2减求部分余数。每求一位商减求部分余数。每求一位商应使部分余数减少一位。上商的原则是应使部分余数减少一位。上商的原则是: : 当当部分部分余数的首位为余数的首位为1 1时,商取时,商取1 1;当部分余数的首位为;当部分余数的首位为0 0时,商取时,商取0 0。当部分的余数的位数小于除数的位数当部分的余数的位数小于除数的位数时,该余数即为最后余数。时,该余数即为最后余数。计算机组成原理术第4版清华大学出版社首先,可将待编码的首先,可将待编码的k k位有效信息位组表达为多项式位有效信息

59、位组表达为多项式M(x)M(x):M(x)=CM(x)=Ck-1k-1x xk-1k-1+ C+ Ck-2k-2x xk-2 k-2 + .+ C+ .+ Ci ix xi i+ + +C+C1 1x+Cx+C0 0式中式中C Ci i- -为为0 0或或1 1。若将信息位组左移若将信息位组左移r r位,则可表示为多项式位,则可表示为多项式M(x)M(x)x xr r。这样就可以空出这样就可以空出r r位,以便拼接位,以便拼接r r位校验位,即位校验位,即CRC码的编码方法码的编码方法: 计算机组成原理术第4版清华大学出版社 CRCCRC码是用多项式码是用多项式M(x)M(x)x xr r除以

60、称为生成多项式除以称为生成多项式G(x)(G(x)(产生校验码的多项式产生校验码的多项式) )所得余数作为校验位的所得余数作为校验位的。为了得到。为了得到r r位余数位余数( (校验位校验位) ),G(x)G(x)必须是必须是r+1r+1位。位。 设所得余数表达为设所得余数表达为R(x)R(x),商为,商为Q(x)Q(x)。将余数拼。将余数拼接在信息位组左移接在信息位组左移r r位空出的位空出的r r位上,就构成这个有位上,就构成这个有效信息的效信息的CRCCRC码。这个码。这个CRCCRC码可用多项式表达为:码可用多项式表达为:)()()()()()()()()()()()(xGxQxRxR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论