計算機組成與結構第3章2._第1頁
計算機組成與結構第3章2._第2頁
計算機組成與結構第3章2._第3頁
計算機組成與結構第3章2._第4頁
計算機組成與結構第3章2._第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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.運算規(guī)則運算規(guī)則(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)判斷規(guī)則)判斷規(guī)則同號:作同號:作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上商規(guī)則:上商規(guī)則:Q Qi i=Sr=Sri iS SY Y余數與除數同號商余數與除數同號商1 1,異號商,異號商0 0。計算

20、機組成原理術第4版清華大學出版社(3)規(guī)則規(guī)則:計算機組成原理術第4版清華大學出版社例340最低位恒置1,余數不正確。如不采用恒置1的方法(采用反碼+1的方法),所得結果XY補仍為10101。讀者有興趣的話,可以驗算之。計算機組成原理術第4版清華大學出版社計算機組成原理術第4版清華大學出版社計算機組成原理術第4版清華大學出版社跳跳0跳跳1除法除法這是另一種對規(guī)格化小數絕對值相除的除法加速除運算速這是另一種對規(guī)格化小數絕對值相除的除法加速除運算速度的算法度的算法,它的基本思路是:當余數的絕對值很小時它的基本思路是:當余數的絕對值很小時,可根據余數可根據余數前幾位代碼值再次求得幾位同為前幾位代碼值

21、再次求得幾位同為1或或0的商。其的商。其規(guī)則規(guī)則是是:如果如果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 繼續(xù)求商)跳跳0跳跳1除法運算的例子除法運算的例子 計算機組成原理術第4版清華大學出版社用快速乘法器實現快速除法器用快速乘法器實現快速除法器 按下式完成M/D: 式中Fi( 0 i r )為各次遞乘因子,遞乘幾次后,可以使D*F0*F1*F2*Fr1,則商應為: M * F0 * F1 * F2* Fr計算機組成原理術第4版清華大學出版社若若M和和D為規(guī)格化正的二進制小數代碼時為規(guī)格化正的二進制小數代碼時,可寫成可寫成: 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節(jié)節(jié) 浮點四則運算浮點四則運算浮點數真值:浮點數真值: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:尾數,為定點小數,原碼或補碼表示。:尾數,為定點小數,原碼或補碼表示。 其其位數位數決定決定數的精度數的精度;數符數符表示表示數的正負數的正負。尾數規(guī)格化:尾數規(guī)格化: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.結果規(guī)格化結果規(guī)格化若得到的結果不滿足規(guī)格化規(guī)則若得到的結果不滿足規(guī)格化規(guī)則,就必須把它變成規(guī)格化的數就必須把它變成規(guī)格化的數,對雙符號位的補碼尾數來說對雙符號位的補碼尾數來說,就必須是就必須是001或或110的形式。的形式。 規(guī)格化處理規(guī)則規(guī)格化處理規(guī)則: 當結果尾數的當結果尾數的兩個符號位的值不同兩個符號位的值不同時時,表明尾數運算表明尾數運算結果溢出結果溢出。此時應使結果。此時應使結果尾數右移一位尾數右移一位,并使并使階碼的值加階碼的值加1,這被稱為向右規(guī)格化這被稱

26、為向右規(guī)格化,簡稱簡稱右規(guī)右規(guī)。當尾數的當尾數的運算結果不溢出運算結果不溢出,但但最高數值位與符號位同值最高數值位與符號位同值,表明不滿足規(guī)格化規(guī)表明不滿足規(guī)格化規(guī)則則,此時應重復地使此時應重復地使尾數左移、階減減尾數左移、階減減1,直到出現在最高數值位上的值與符號直到出現在最高數值位上的值與符號位的值不同為止位的值不同為止,這是向左規(guī)格化的操作這是向左規(guī)格化的操作,簡稱簡稱左規(guī)左規(guī)。計算機組成原理術第4版清華大學出版社A AE E-1 A-1 AE E若若 A Af1f1A Af2f2=1,=1,則右規(guī):則右規(guī):(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,則左規(guī):則左規(guī):0101.0010.0010A Af1f1A Af2 f2 A AM MA AE E+1 A+1 AE E計算機組成原理術第4版清華大學出版社5、舍入操作、舍入操作 在執(zhí)行對階或右規(guī)操作時在執(zhí)行對階或右規(guī)操作時,會使尾數低位上

28、的一位或多會使尾數低位上的一位或多位的數值被移掉位的數值被移掉,使數值的精度受到影響使數值的精度受到影響,可以把移掉的幾個可以把移掉的幾個高位的值保存起來供舍入使用。高位的值保存起來供舍入使用。舍入的總的原則舍入的總的原則是要有舍有是要有舍有入入,而且盡量使舍和入的機會均等而且盡量使舍和入的機會均等,以防止誤差積累。常用的以防止誤差積累。常用的辦法辦法有有“0”舍舍“1”入法入法,即移掉的最高位為即移掉的最高位為1時時 則在尾數末位則在尾數末位加加1;為為0時則舍去移掉的數值。該方案的最大誤差為時則舍去移掉的數值。該方案的最大誤差為2-(n+1)。這樣做可能又使尾數溢出。這樣做可能又使尾數溢出

29、,此時就要再做一次右規(guī)。另一此時就要再做一次右規(guī)。另一種方法種方法 置置1法法,即右移時即右移時,丟掉移出的原低位上的值丟掉移出的原低位上的值,并把結并把結果的最低位置成果的最低位置成1。該方案同樣有使結果尾數變大或變小兩。該方案同樣有使結果尾數變大或變小兩種可能。即舍入前尾數最低位已為種可能。即舍入前尾數最低位已為0,使其變使其變1,對正數而言對正數而言,其其值變大值變大,等于最低位入了個等于最低位入了個1。若尾數最低位已為。若尾數最低位已為1,則再對其則再對其置置1無實際效用無實際效用,等于舍掉了丟失的尾數低位值。等于舍掉了丟失的尾數低位值。計算機組成原理術第4版清華大學出版社6、判結果的

30、正確性、判結果的正確性,即檢查階碼是否溢出即檢查階碼是否溢出 浮點數的溢出浮點數的溢出是以其階碼溢出表現出來的。在加減運是以其階碼溢出表現出來的。在加減運算真正結束前算真正結束前,要檢查是否產生了溢出要檢查是否產生了溢出,若階碼正常,加若階碼正常,加(減減)運算正常結束;若階碼下溢運算正常結束;若階碼下溢,要置運算結果為浮點形式的機要置運算結果為浮點形式的機器零器零,若上溢若上溢,則置溢出標志。則置溢出標志。計算機組成原理術第4版清華大學出版社規(guī)格化浮點數加減運算流程規(guī)格化浮點數加減運算流程計算機組成原理術第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。 規(guī)格化操作規(guī)格化操作 結果的符號位與最高數值位同值結果的符號位與最高數值位同值,應執(zhí)行左規(guī)處理應執(zhí)行左規(guī)處理,結果為結果為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.結果規(guī)格化。結果規(guī)格化。一般一般左規(guī)左規(guī)。令令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)規(guī)格化處理。規(guī)格化處理。本例尾數已規(guī)格化,不需要再處理。本例尾數已規(guī)格化,不需要再處理。如未規(guī)格化,需左規(guī)。如未規(guī)格化,需左規(guī)。 (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版清華大學出版社規(guī)格化浮點乘法運算流程規(guī)格化浮點乘法運算流程 計算機組成原理術第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、果規(guī)格化。結果規(guī)格化。令令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浮點運算部件浮點運算部件 通常通常由階碼運算部件和尾數運算部件組成,其各自的結構與定點運算部件相似。,其各自的結構與定點運算部件相似。但階碼部分僅執(zhí)行加減法運算。其尾數部分則執(zhí)行加減乘除運算,左規(guī)時有時需要左移,左規(guī)時有時需要左移多位。為加速移位過程,有的機器設置了可移動多位多位。為加速移位過程,有的機器設置了可移動多位的電路。的電路。計算機組成原理術第4版清華大學出版社位片結構的運算器芯片位片結構的運算

41、器芯片Am2901 運算器運算器,三大塊三大塊(功能和組成),運算運算(ALU)、暫存暫存(通用寄存器組)、乘除快乘除快(乘商寄存器),多路選通連起來多路選通連起來(以便構成一個能協同運行的運算器整體)。 運算器的功能與組成功能與組成概括為如下三句話: 計算機組成原理術第4版清華大學出版社3.7 數據校驗碼 計算機系統(tǒng)中的數據,在讀寫、存取和傳送計算機系統(tǒng)中的數據,在讀寫、存取和傳送的過程中可能產生錯誤。為減少和避免這類錯誤,的過程中可能產生錯誤。為減少和避免這類錯誤,一方面是一方面是精心設計各種電路,提高計算機硬件的精心設計各種電路,提高計算機硬件的可靠性;可靠性;另一方面是在另一方面是在數

42、據編碼上找出路,即采數據編碼上找出路,即采用某種編碼法,通過少量的附加電路,使之能發(fā)用某種編碼法,通過少量的附加電路,使之能發(fā)現某些錯誤,甚至能確定出錯位置,進而實現自現某些錯誤,甚至能確定出錯位置,進而實現自動改錯的能力。動改錯的能力。 數據校驗碼是一種常用的數據校驗碼是一種常用的帶有發(fā)現某些錯誤或自帶有發(fā)現某些錯誤或自動改錯能力動改錯能力的數據編碼方法。的數據編碼方法。計算機組成原理術第4版清華大學出版社 實現原理,實現原理,是加進一些冗余碼,使合法數據編碼出現某些錯誤時是加進一些冗余碼,使合法數據編碼出現某些錯誤時,就成為非法編碼。這樣,就可以通過檢測編碼的合法性來達到發(fā)現,就成為非法編

43、碼。這樣,就可以通過檢測編碼的合法性來達到發(fā)現錯誤的目的。合理地安排非法編碼數量和編碼規(guī)則,就可以提高發(fā)現錯誤的目的。合理地安排非法編碼數量和編碼規(guī)則,就可以提高發(fā)現錯誤的能力,或自動改正錯誤的目的。錯誤的能力,或自動改正錯誤的目的。 碼距(最小碼距)的概念碼距(最小碼距)的概念。碼距是指碼距是指任意兩個合法碼之間至少有任意兩個合法碼之間至少有幾個二進制位不相同幾個二進制位不相同,僅有一位不同,稱其(最小碼距)為,僅有一位不同,稱其(最小碼距)為1,例例如用四位二進制表示如用四位二進制表示16種狀態(tài),則種狀態(tài),則16種編碼都用到了,此時碼距為種編碼都用到了,此時碼距為1,就是說,就是說,任何一

44、個編碼狀態(tài)的四位碼中的一位或幾位出錯,都會變成另一個合法碼,任何一個編碼狀態(tài)的四位碼中的一位或幾位出錯,都會變成另一個合法碼,此時無檢錯能力。若用四個二進制位表示此時無檢錯能力。若用四個二進制位表示8種合法狀態(tài),就可以只用其中的種合法狀態(tài),就可以只用其中的8個個編碼來表示之,而把另編碼來表示之,而把另8種編碼作為非法編碼,此時可使合法碼的碼距為種編碼作為非法編碼,此時可使合法碼的碼距為2。一。一般說來,合理地增大編碼的碼距般說來,合理地增大編碼的碼距,就能提高發(fā)現錯誤的能力,但表示一定數量就能提高發(fā)現錯誤的能力,但表示一定數量的合法碼所使用的二進制位數要變多,增加了電子線路的復雜性和數據存儲、

45、的合法碼所使用的二進制位數要變多,增加了電子線路的復雜性和數據存儲、數據傳送的數量。數據傳送的數量。 常用的數據校驗碼是奇偶校驗碼、海明校驗碼和常用的數據校驗碼是奇偶校驗碼、海明校驗碼和循環(huán)冗余校驗碼循環(huán)冗余校驗碼。計算機組成原理術第4版清華大學出版社3.7.1 3.7.1 奇偶校驗碼奇偶校驗碼奇偶校驗碼是一種開銷最小,奇偶校驗碼是一種開銷最小,能發(fā)現數據代碼中能發(fā)現數據代碼中一位出錯情況的編碼一位出錯情況的編碼,常用于存儲器讀寫檢查,或常用于存儲器讀寫檢查,或ASCIIASCII字符傳送過程中的檢查。字符傳送過程中的檢查。實現原理實現原理: :是使碼距由是使碼距由1 1增加到增加到2 2。通

46、常是為一個字節(jié)。通常是為一個字節(jié)補充一個二進制位,稱為校驗位,用設置校驗位的值為補充一個二進制位,稱為校驗位,用設置校驗位的值為0 0或或1 1,使字節(jié)的,使字節(jié)的8 8位和該校驗位含有位和該校驗位含有1 1值的個數為奇數或偶值的個數為奇數或偶數。在使用奇數個數。在使用奇數個1 1的方案進行校驗時,稱為的方案進行校驗時,稱為奇校驗奇校驗,反,反之,則稱為之,則稱為偶校驗偶校驗。依據。依據8 8位的數據位中位的數據位中1 1值的個數確定校值的個數確定校驗位的值,是由專設的線路實現的驗位的值,是由專設的線路實現的( (圖圖3.10)3.10)。012345678DDDDDDDDDEV計算機組成原理

47、術第4版清華大學出版社缺點缺點:這種方案只能這種方案只能發(fā)現一位錯或奇數個位發(fā)現一位錯或奇數個位錯,但不能確定是哪一錯,但不能確定是哪一位錯,也不能發(fā)現偶數位錯,也不能發(fā)現偶數個位錯。個位錯。優(yōu)點優(yōu)點:該方案還是有該方案還是有很好的實用價值。很好的實用價值。計算機組成原理術第4版清華大學出版社下面給出對幾個字節(jié)值的奇偶校驗的編碼結果:下面給出對幾個字節(jié)值的奇偶校驗的編碼結果: 數據數據 奇校驗的編碼奇校驗的編碼 偶校碼的編碼偶校碼的編碼 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位位的新碼字,當某一位出錯后,就會引起相關的幾個校驗位的值發(fā)生變化,的新碼字,當某一位出錯后,就會引起相關的幾個校驗位的值發(fā)生變化,從而達到檢錯、糾錯的目的從而達到檢錯、糾錯的目的。 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,則此海明碼的,則此海明碼的編碼規(guī)律編碼規(guī)律:(1)(1)校驗位與數據位之和為校驗位與數據位之和為m m,每個校驗位,每個校驗位P Pi i在海在海明碼中被分在位號明碼中被分在位號2 2i-1i-1的位置,其余各位為數據位,的位置,其余各位為數據位,并按從低向

51、高逐位依次排列的關系分配各數據位。并按從低向高逐位依次排列的關系分配各數據位。(2)(2)海明碼的每一位碼海明碼的每一位碼H Hi i( (包括數據位和校驗位本包括數據位和校驗位本身身) )由多個校驗位校驗,其關系是被校驗的每一位位由多個校驗位校驗,其關系是被校驗的每一位位號要等于校驗它的號要等于校驗它的各校驗位的位號之和各校驗位的位號之和。這樣安排。這樣安排的目的,是希望校驗的結果能正確反映出出錯位的的目的,是希望校驗的結果能正確反映出出錯位的位號。位號。 海明碼的編碼規(guī)律海明碼的編碼規(guī)律計算機組成原理術第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值的形成關系中。當任一位數據碼發(fā)生變化時,必將引值的形成關系中。當任一位數據碼發(fā)生變化時,必將引起起3 3個或個或4 4個個P Pi i值跟著變化,該海明碼的碼距為值跟著變化,該海明碼的碼距為4 4。校驗位的編碼規(guī)則校驗位的編碼規(guī)則(發(fā)送端發(fā)送端):計算機組成原理術第4版清華大學出版社Si=Pi 形成Pi的編碼規(guī)則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,因此可區(qū)分兩位出錯,因此可區(qū)分兩位出錯或一位出錯?;蛞晃怀鲥e。譯碼規(guī)則(接收端)譯碼規(guī)則(接收端):計算機組成原理術第4版清華大學出版社計算機組成原理術第4版清華大學出版社無錯:無錯:S50;S4S3S2S1=1一位錯:一位錯:S5=1兩位錯:兩位錯:S5=0; S4S3S2S1=0計算機組成原理術第4版清華

56、大學出版社3.7.3 3.7.3 循環(huán)冗余校驗循環(huán)冗余校驗(CRC)(CRC)碼碼特點: CRCCRC碼可以碼可以發(fā)現并糾正信息串行讀寫、信息串行讀寫、存儲或傳送過程中出現的存儲或傳送過程中出現的一位、多位錯誤一位、多位錯誤用途:在磁介質存儲器讀寫和計算機之間通在磁介質存儲器讀寫和計算機之間通信方面得到廣泛應用。信方面得到廣泛應用。 計算機組成原理術第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. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論