




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、關于運算方法和運算部件乘除及校驗第一張,PPT共九十四頁,創(chuàng)作于2022年6月23.3.1 定點數一位乘法1定點原碼一位乘法(1)乘法的運算規(guī)則設 x=xf.x1x2xn,y=yf.y1y2yn乘積為P,乘積的符號位為Pf,則Pf=xfyf,|P|=|x|y|第二張,PPT共九十四頁,創(chuàng)作于2022年6月例A= 0.1101, B= 0.1011, 求A*B 0.1101 0.1011 01101 01101 00000 01101 0.10001111筆算法的特點:n 位數相乘,需要將n個位積相加,需要2n位加法器,不能有效利用全加器操作 由手算到機器實現,要解決三個問題:符號問題、部分積相
2、加進位問題、移位問題。位積 ABiA*B= 0.10001111第三張,PPT共九十四頁,創(chuàng)作于2022年6月求|P|的運算規(guī)則:位積=第四張,PPT共九十四頁,創(chuàng)作于2022年6月5原碼一位乘法的算法流程圖:i表示循環(huán)次數(相加移位的次數)yn表示乘數將要被判斷的那一位Pi為部分積第五張,PPT共九十四頁,創(chuàng)作于2022年6月6符號擴展把一個數的位數進行擴充但其真值不變。正數的符號擴展:最高符號位之前補0(“0”表示正號)。負數的符號擴展:最高符號位之前補1(“1”表示負號)。例: X補 =10010011,將其擴展成16位補碼,得 X補 =1111111110010011例: X補 =00
3、101100,將其擴展成16位補碼,得 X補 =0000000000101100第六張,PPT共九十四頁,創(chuàng)作于2022年6月7 A (部分積累加和) C(乘數) 00.0000 1 0 1 1 +00.1101_ 00.1101 00.0110 1 1 0 1 1 +00.1101_ 01.0011 00.1001 1 1 1 0 1 +00.0000_ 00.1001 00.0100 1 1 1 1 0 +00.1101 _ 01.0001 00.1000 1 1 1 1 1丟棄項部分積右移加“被乘數”加“0”寄存器:A:存放部分積累加和、 乘積高位B:存放被乘數C:存放乘數、乘積低位 A
4、 = 00.0000(初始值)B = |X| = 00.1101 C = |Y| = 00.1011例3.31 X=0.1101,Y=0.1011,求XY. 計算過程如下:加“被乘數”第七張,PPT共九十四頁,創(chuàng)作于2022年6月8 (2)邏輯實現第八張,PPT共九十四頁,創(chuàng)作于2022年6月9注意:兩操作數的絕對值相乘, 符號位單獨處理。寄存器A.B均設置雙符號位,第1符號位始終是部分積符號,決定在右移時第1符號位補0操作步數由乘數的尾數位數決定,用計數器Cd來計數。即作n次累加和移位。最后是加符號位,根據XsYs決定。第九張,PPT共九十四頁,創(chuàng)作于2022年6月10 補碼乘法不能簡單的套
5、用原碼乘法的算法,因為補碼的符號位是參加運算的。(1)校正法所謂校正法,將X補和Y補按原碼運算,所得結果根據情況加以校正,從而得到XY補。算法分析:若被乘數X的符號任意X補 = X0.X1X2Xn 1)Y為正:Y補 = 0.Y1Y2Yn XY補 = X補(0.Y1Y2Yn) 2)Y為負:Y補 = 1.Y1Y2Yn Y補=2+Y,真值 Y=Y補-2=1.Y1Y2Yn-2 = 0.Y1Y2Yn-1 XY補 = X補(0.Y1Y2Yn)+-X補 3)Y符號任意:XY補 = X補0.Y1Y2Yn+-X補Y0符號位Y0,除按 1)計算外,另加-X補校正直接按原碼乘法運算2、定點補碼一位乘法第十張,PPT
6、共九十四頁,創(chuàng)作于2022年6月11若例3.33中Y=0.1011,求XY補時,需在最后右移1位后,X補。校正第十一張,PPT共九十四頁,創(chuàng)作于2022年6月南華大學計算機學院12(2) 比較法算法(布斯公式)校正法在乘數為負數時,需要進行校正,控制起來要復雜一些,我們希望有一個對于正數和負數都一致的算法,這就是比較法。比較法是英國的Booth夫婦提出來的,因此又稱Booth法。根據校正法的統(tǒng)一表達式:XY補 = X補(0.Y1Y2Yn)+-X補Y0 = X補(0.Y1Y2Yn)-X補Y0 =X補(-Y0+2-1Y1+ 2-2 Y2+2-n Yn) = X補 -Y0+(Y1-2-1Y1)+(2
7、-1 Y2-2-2 Y2)+(2-(n-1)Yn-2-n Yn) = X補(Y1-Y0)+2-1(Y2-Y1)+2-2(Y3-Y2)+ 2-n(Yn+1-Yn)比較法:用相鄰兩位乘數比較的結果決定+X補、-X補或+0。第十二張,PPT共九十四頁,創(chuàng)作于2022年6月(Booth算法)的運算規(guī)則:位積=( - ) 第十三張,PPT共九十四頁,創(chuàng)作于2022年6月14補碼一位乘法算法流程圖:Pi為部分積00或11i表示循環(huán)次數(相加移位的次數)第十四張,PPT共九十四頁,創(chuàng)作于2022年6月15例3.34 x=-0.1101,y=-0.1011(書上y為正數),求xy補=?解:x補=11.0011
8、, -x補=00.1101 (雙符號)y補=1.0101 (單符號)第十五張,PPT共九十四頁,創(chuàng)作于2022年6月16步數 條件 操作 P Y 00.0000 1.01010 1)0 1-X補Yi Yi+1+ 00.110100.1101 00.01101 1.01012) 1 0X補+ 11.001111.100111.1100111.010 3)0 1-X補+ 00.110100.100100.01001111.01 4)1 0X補+ 11.001111.011111.101111111.0Yi+1Yi 5)0 1 -X補+ 00.1101 00.1000 1111XY補 = 0.100
9、01111右移時左邊補0,因為是正數(根據符號擴展原理)右移時左邊補1,因為是負數(根據符號擴展原理)第十六張,PPT共九十四頁,創(chuàng)作于2022年6月17P、X取雙符號位,符號參加運算;Y取單符號位,符號參加移位,以決定最后是否修正;Y末位設置附加位Yi+1,初值為0,Yi+1Yi組成判斷位,決定運算操作;需作n+1次累加,n次移位(最后一次不移位)。 (4)運算規(guī)則第十七張,PPT共九十四頁,創(chuàng)作于2022年6月183.3.2.定點數二位乘法 每次用兩位乘數去乘被乘數,乘法速度提高一倍Yi-1(高位) Yi (低位) 部分積累加、移位 0 0 0 1 1 0 1 1 1/4P 1/4(P+X
10、) 1/4(P+2X) 1/4(P+3X)( 0 )( 1 )( 2 )( 3 ) 0 X 2X 3XX左移1位即得2X,如何實現+3X操作? 原碼兩位乘法為例 (1) 算法分析(P48)第十八張,PPT共九十四頁,創(chuàng)作于2022年6月19 1/4(P+3X)= 1/4(P-X+4X)=1/4(P-X)+X 設置欠帳觸發(fā)器C=0 不欠帳1 欠帳,下次補作+X操作(2)算法(P49表3.3)0 0 00 0 10 1 00 1 1 0 01 0 11 1 01 1 1操 作 Yi-1 Yi C1/4(P+X) 0 C1/4(P+X) 0 C1/4(P+2X) 0 C1/4P 0 C1/4(P+2
11、X) 0 C1/4(P-X) 1 C1/4(P-X) 1 C1/4P 1 C第十九張,PPT共九十四頁,創(chuàng)作于2022年6月20 -X補 = 11.011001 2X=01.001110部分積乘數欠位C 00.000000 1 0 0 1 1 1 0+-X補 11.011001 11.011001 右移2位11.110110 0 1 1 0 0 1 1 2X 01.001110 01.000100 右移2位 00.010001 0 0 0 1 1 00 +2X 01.001110 01.011111 右移2位 00 010111 1 1 0 0 0 1 0 乘積高位 乘積低位 X * Y =
12、0.010111110001例3.35 假定X=0.100111,Y= 0.100111 求XY? 第二十張,PPT共九十四頁,創(chuàng)作于2022年6月21注意: 若最后一次操作欠下4X即C=1,則最后一次右移2位后,還需補充X操作,X后不再移位。 乘數符號不參加運算,參加運算的操作數取絕對值,xX,2x2X,符號位單獨處理。第二十一張,PPT共九十四頁,創(chuàng)作于2022年6月南華大學計算機學院223.3.3陣列乘法器為了進一步提高乘法運算的速度,可采用高速乘法模塊組成的陣列乘法器,設有兩個帶符號的二進制數。 例:m=n=4時,有: x4 x3 x2 x1 * y4 y3 y2 y1 - x4y1
13、x3y1 x2y1 x1y1 x4y2 x3y2 x2y2 x1y2 x4y3 x3y3 x2y3 x1y3 x4y4 x3y4 x2y4 x1y4 P8 P7 P6 P5 P4 P3 P2 P1 其結構圖見P50圖3.7可同時得到各項部分積,并一次將其相加就得到乘積運算速度快。第二十二張,PPT共九十四頁,創(chuàng)作于2022年6月23圖3.7 陣列乘法器 第二十三張,PPT共九十四頁,創(chuàng)作于2022年6月243.4 二進制除法運算二進制除法可模仿十進制除法運算。除法,理論上是乘法的逆運算,在算法上本質是一種試探法:它試探被除數是大于等于還是小于除數,大于等于時商為1,小于時商為0。第二十四張,P
14、PT共九十四頁,創(chuàng)作于2022年6月25筆算除法 A=0.1001, B=0.1011, 求商C, 余數R. 0.1101 0.1011 0.10010 R0=A - 0.01011 -2-1B 0.001110 R1 - 0.001011 -2-2B 0.0000110 R2 0.00001100 R3 - 0.00001011 -2-4B 0.00000001 R4第二十五張,PPT共九十四頁,創(chuàng)作于2022年6月26筆算過程在計算機上的實現,必須作些變動:比較除數與被除數過程,用減法實現; 除數乘以1/2與余數比較,等效于除數不動,而使余數左移一位; 上商可以通過在商寄存器末位置1(商1
15、)或置0(商0)來實現。上商同時使商寄存器與余數寄存器一起左移一位。(商寄存器初始存放被除數的低位數值部分)第二十六張,PPT共九十四頁,創(chuàng)作于2022年6月273.4.1 定點除法運算定點原碼一位除法 有恢復余數法和加減交替法兩種方法,在計算機中常用的是加減交替法,因為它的操作步驟少,而且也不復雜。 兩個原碼數相除,其商的符號為兩數符號的異或值,數值則為兩數絕對值相除后的結果。實現除法的關鍵:比較余數、除數絕對值大小,以決定上商。第二十七張,PPT共九十四頁,創(chuàng)作于2022年6月28運算規(guī)則:符號位單獨處理,C0=A0B0數值部分變成兩正數相除,即:|A|/|B| (|A|B|,防止商溢出)
16、第1步除法通過R0 - |B|(R0=|A|)實現;其后每1步除法通過2Ri-|B|(i =1,2,n)實現:若2Ri-|B|=Ri+10, 即余數為正,則商上1;若2Ri-|B|=Ri+10, 即余數為負,則商上0。第二十八張,PPT共九十四頁,創(chuàng)作于2022年6月291. 恢復余數法不管被除數(或余數)減除數是否夠減,都一律做減法。若余數為正或0,表示夠減,該位商上“1”,余數左移1位。若余數為負,表示不夠減,該位商上“0”,并要恢復原來的被除數(或余數),再將其左移1位。按上述規(guī)則實現的除法器,有什么問題?相同位數的除法,對于不同的值,由于可能有恢復余數過程,運算步數不統(tǒng)一??刂破鲗崿F困
17、難!(回憶:乘法運算器里的步數計數器)第二十九張,PPT共九十四頁,創(chuàng)作于2022年6月30設某步得到余數Ri 0,得到下步除法的新余數Ri+1: Ri+1 = 2 Ri - |B|若Ri是假余數,即Ri0,要得到下步除法的新余數Ri+1,要先恢復余數,而后左移一位再減|B|才能得到新余數。即: Ri+1 = 2(Ri + |B|) - |B|將上式變換一下,得: Ri+1 = 2 Ri + |B|去掉恢復步!加減交替法第三十張,PPT共九十四頁,創(chuàng)作于2022年6月31若某步除法Ri0,要得到下步除法的新余數Ri+1,不必恢復余數,只要將Ri視為余數,左移一位,再加上|B|就得到新余數Ri+
18、1。即:本次余數為正,下步除法作減法;(夠減,商上1)本次余數為負,下步除法作加法。 (不夠減,商上0)2. 加減交替法第三十一張,PPT共九十四頁,創(chuàng)作于2022年6月例3.36 設被除數X=0.1011,除數Y=0.1101,用加減交替法求X/Y。 -Y補=11.0011,計算過程如下:0 0 1 0 1 1 0 0 0 0 0 開始情形1 1 0 0 1 1 +-Y補1 1 1 1 1 0 0 0 0 0 0 不夠減,商上01 1 1 1 0 0 0 0 0 0 0 左移0 0 1 1 0 1 +Y0 0 1 0 0 1 0 0 0 0 1 夠減,商上10 1 0 0 1 0 0 0 0
19、 1 0 左移1 1 0 0 1 1 +-Y補0 0 0 1 0 1 0 0 0 1 1 夠減,商上10 0 1 0 1 0 0 0 1 1 0 左移 1 1 0 0 1 1 +-Y補1 1 1 1 0 1 0 0 1 1 0 不夠減,商上01 1 1 0 1 0 0 1 1 0 0 左移0 0 1 1 0 1 +Y0 0 0 1 1 1 0 1 1 0 1 夠減,商上1+)+)+)+)+)被除數(余數R) (被除數)(商) 操作說明余數 商X/Y=0.1101, 余數=0.00000111第三十二張,PPT共九十四頁,創(chuàng)作于2022年6月余數寄存器(A)中開始時存放被除數的絕對值,以后將存放
20、各次余數,取雙符號位。除數寄存器(B)存放除數的絕對值,取雙符號位。商寄存器(C)同來存放商及初始被除數低位數值(被除數位數可以是除數的兩倍),取單符號位。將被除數X視為初始余數R0,根據R0符號位正(絕對值),令商符為0,正式的商符以后再置入。第一步為-Y。商值則根據余數Ri的符號來決定,正則商上1,求下一位商的辦法是余數左移一位再減去除數;當余數為負則商上0,求下一位商的辦法是余數左移一位再加上除數。左移位時末位補0。最后一步操作:如果要求得n位商(不含符號位),則需作n步“左移-加減”循環(huán);若第n步余數為負,則需增加一步恢復余數,增加的這一步不移位。第三十三張,PPT共九十四頁,創(chuàng)作于2
21、022年6月343.4.2 提高除法運算速度的方法舉例 1. 跳0跳1除法 提高規(guī)格化小數絕對值相除速度的算法??筛鶕鄶登皫孜淮a值再次求得幾位同為1或0的商。其規(guī)則是:(1) 如果余數R0,且R的高K個數位均數0,則本次直接得商1,后跟K-1個0。R左移K位后,減去除數Y,得新余數。(2) 如果余數R0,且R的高K個數位均為1,則本次商為0,后跟K-1個1,R左移K位后,加上除數Y,得新余數。(3) 不滿足(1)和(2)中條件時,按一位除法上商。 第三十四張,PPT共九十四頁,創(chuàng)作于2022年6月35例3.37 設X=0.1010000,Y=0.1100011,求X/Y。解 :略 2. 除
22、法運算通過乘法操作來實現在計算機運行時,執(zhí)行乘法指令的幾率比除法高。某些CPU中設置有專門的乘法器,一般沒有專用除法器,在這種情況下,利用乘法來完成除法運算可提高速度。第三十五張,PPT共九十四頁,創(chuàng)作于2022年6月36設X為被除數,Y為除數,按下式完成X/Y。式中Fi(0ir)為迭代系數,如果迭代幾次后,可以使分母YF0F1Fr1,則分子即為商:XF0F1Fr 因此,問題是如何找到一組迭代系數,使分母很快趨近于1。若X和Y為規(guī)格化正小數二進制代碼,可寫成: Y=1- (01/2) 第三十六張,PPT共九十四頁,創(chuàng)作于2022年6月37如果取 F0=1+,則第一次迭代結果:Y0=YF0=(1
23、-)(1+)=1-2取F1=1+2,則第二次迭代結果:Y1=Y0F1=(1-2)(12)=1-4 取Fi=1+2i,則第i+1次迭代結果:Yi=Yi-1Fi=(1-2i)(1+2i)=1-2i+1當i增加時,Y將很快趨近于1,其誤差為2i+1。實際上求得Fi的過程很簡單,即 Fi=1+2i=2-1+2i=2-(1-2i)=2-Yi-1Fi就是(-Yi-1)的補碼(0ir)。 第三十七張,PPT共九十四頁,創(chuàng)作于2022年6月38例3.38 設X=0.1000,Y=0.1011則=1-Y=0.0101,F0=1+=1.0101分子分母分別進行乘法運算。F1=2-Y0=2-0.1110=1.001
24、0 分母趨近于1所以第三十八張,PPT共九十四頁,創(chuàng)作于2022年6月393.5 浮點數的運算方法浮點數的表示形式(以2為底): N = M 2E其中,M為浮點數的尾數,一般為絕對值小于1的規(guī)格化二進制小數用原碼或補碼形式表示;E為浮點數的階碼,一般是用移碼或補碼表示的整數。 第三十九張,PPT共九十四頁,創(chuàng)作于2022年6月403.5.1 浮點數的加減法運算兩數首先均為規(guī)格化數,在進行規(guī)格化浮點數的加減運算需經過五步完成:(1)對階操作:低階向高階補齊,使階碼相等;(2)尾數運算:階碼對齊后直接對尾數運算;(3)結果規(guī)格化:對運算結果進行規(guī)格化處理; (使補碼尾數的最高位和尾數符號相反) (
25、4)舍入操作:丟失位進行0舍1入或恒置1處理;(5)判斷溢出:判斷階碼是否溢出,下溢則將運 算結果置0(機器零),上溢則溢出中斷。第四十張,PPT共九十四頁,創(chuàng)作于2022年6月舉例說明如下:(1)對階運算(小階向大階對齊)尾數為原碼時,尾數右移,符號位不動,最高位補0尾數為補碼時,尾數右移,符號也移位,最高位補符號位例如: 求 =?小階對大階舍掉的是如大階對小階則舍掉的是第四十一張,PPT共九十四頁,創(chuàng)作于2022年6月(2)尾數的加減運算(3)規(guī)格化:原碼尾數值高位為1,補碼尾數值高位與符號相反 (4)舍入操作:0舍1入 或 恒置1例1:求=?0舍1入后為恒置1例2:求 =?0舍1入后為恒
26、置1(5)判斷結果的正確性(即結果的階碼是否溢出)第四十二張,PPT共九十四頁,創(chuàng)作于2022年6月南華大學計算機學院43規(guī)格化浮點數加減運算流程。(P91)第四十三張,PPT共九十四頁,創(chuàng)作于2022年6月44例3.39 兩浮點數相加,求X+Y。 已知:X2010 0.11011011, y2100 (-0.10101100)計算過程:解:X和Y在機器中的浮點補碼表示形式為(雙符號位): 階符 階碼 數符 尾數 X: 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 Y: 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0(1)對階操作 階差EEx補+-EY補=00010+
27、11100=11110 X階碼小,Mx右移2位,保留階碼E00100。 Mx補=00 00 110 110 11 下劃線上的數是右移出去而保留的附加位。(2)尾數相加 Mx補+MY補=000011011011+1101010100=111000101011。(3)規(guī)格化操作 左規(guī),移1位,結果:1100010101 10;階碼-1,E00011。 第四十四張,PPT共九十四頁,創(chuàng)作于2022年6月45(4)舍入附加位最高位為1,在所得結果的最低位+1。得新結果: M補=1100010110, M: - 011101010。(5)判溢出 階碼符號位為00,故不溢出。最終結果為: X+Y=2011
28、 (-011101010)第四十五張,PPT共九十四頁,創(chuàng)作于2022年6月浮點數的乘除:階碼為兩數階碼之和、差,其尾數應為兩數的尾數之積、商。結果的處理:結果必須進行規(guī)格化、舍入和判溢出等操作。 3.5.2 浮點數的乘除法運算第四十六張,PPT共九十四頁,創(chuàng)作于2022年6月1. 浮點數的階碼運算階碼運算:+1,-1,兩階碼求和以及兩階碼求差四種。移碼的運算規(guī)則:移碼的定義為:X移=2n+X -2nX2n X移+Y移=2n+X+2n+Y=2n+(2n+(X+Y) =2n+X+Y移 結果的最高位多加了個1,要得到移碼形式的結果,需對結果的符號取反。第四十七張,PPT共九十四頁,創(chuàng)作于2022年
29、6月根據補碼定義:Y補=2n+1+Y mod 2n+1 因此求階碼和(移碼表示)可用如下方式完成:X移+Y補=2n+X+2n+1+Y=2n+1+(2n+(X+Y) =X+Y移 mod 2n+1同理有 X移+-Y補=X-Y移。執(zhí)行移碼加或減時,取加數或減數符號位的反碼(補碼)進行運算。即被加(減)數為移碼,加(減)數為補碼。直接用移碼實現求階碼之和第四十八張,PPT共九十四頁,創(chuàng)作于2022年6月 使用雙符號位的階碼相加減,并規(guī)定移碼(被加數或被減數)的第二個符號位,即最高符號位恒用0參加加減運算。當結果的最高符號位為0時,表明沒有溢出。低位符號位為1,表明結果為正;為0時,表明結果為負。溢出條
30、件是結果的最高符號位為1。 溢出時,當低位符號位為0時結果上溢,為1時結果下溢。判定溢出的方法第四十九張,PPT共九十四頁,創(chuàng)作于2022年6月例:階碼用4位表示,其范圍為-8到+7 。 (1)當X=+011,Y=+110時,則有X移=01011,Y補=00110, -Y補=11010階碼加 X+Y移= X移+Y補 =01011+ 00110=10001,結果上溢階碼減 X-Y移= X移+-Y補 =01011+ 11010=00101,結果正確,為-3(2)當X=-011,Y=-110時,則有X移=00101,Y補=11010, -Y補=00110階碼加 X+Y移= X移+Y補 =00101+
31、 11010=11111,結果下溢階碼減 X-Y移= X移+-Y補 =00101+ 00110=01011,結果正確,為+3第五十張,PPT共九十四頁,創(chuàng)作于2022年6月2. 浮點數的舍入處理計算機中,浮點數的尾數有確定的位數,若浮點數的運算結果超過給定的位數,要進行去除多余位數的處理。處理的原則是使本次處理所造成的誤差以及按此原則產生的累計誤差都比較小。 無條件地丟掉正常尾數最低位之后的全部數值。這種辦法被稱為截斷處理,其好處是處理簡單,缺點是影響結果的精度。 保留右移中移出的若干高位的值,然后再按某種規(guī)則用這些位上的值修正尾數。這種處理方法被稱為舍入處理。第五十一張,PPT共九十四頁,創(chuàng)
32、作于2022年6月舍入方法: 只要尾數最低位為1,或移出去的幾位中有1,就把尾數的最低位置1,否則仍保持原有的0值?;蛘卟捎酶啽愕姆椒?,即最低位恒置1的方法。 0舍1入法(相當于十進制中的四舍五入法),即當丟失的最高位的值為1時,把這個1加到最低數值位上進行修正,否則舍去丟失的各位的值,其缺點是要多進行一次加法運算。第五十二張,PPT共九十四頁,創(chuàng)作于2022年6月例3.40 設有5位數(其中有一附加位),用原碼或補碼表示,舍入后保留4位結果。(0舍1入法)設: X原=0.11011 舍入后X原=0.1110X原=0.11100 舍入后X原=0.1110X補=1.00101 舍入后X補=1.
33、0011X補=1.00100 舍入后X補=1.0010舍入后產生了誤差,但誤差值小于末位的權值。第五十三張,PPT共九十四頁,創(chuàng)作于2022年6月3. 浮點乘法運算步驟舉例說明浮點乘法的運算步驟:例3.41 階碼4位(移碼),尾數8位(補碼,含1符號位),階碼以2為底。運算結果仍取8位尾數。 設:X=2-50.1110011, Y=23(-0.1110010)運算過程中階碼取雙符號位。(1) 求乘積的階碼。乘積的階碼為兩數階碼之和。 EX+EY移=EX移+EY補=00011+00011=00110(2) 尾數相乘。用定點數相乘的辦法, XY補=1.0011001 1001010 (尾數部分)
34、高位部分低位部分第五十四張,PPT共九十四頁,創(chuàng)作于2022年6月(3) 規(guī)格化處理。本例尾數已規(guī)格化,不需要再處理。如未規(guī)格化,需左規(guī)。(4) 舍入。尾數(乘積)低位部分的最高為1,需要舍入,在乘積高位部分的最低位加1,因此 XY補=1.0011010 (尾數部分)(5) 判溢出。階碼未溢出,故結果為正確。XY=2-2(-0.1100110) 在求乘積的階碼(即兩階碼相加)時,有可能產生上溢或下溢的情況;在進行規(guī)格化處理時,有可能產生下溢。 第五十五張,PPT共九十四頁,創(chuàng)作于2022年6月4. 浮點數乘法運算(階碼的底為8或16)N=8EM 或 N=16EM階碼E和尾數M還都是用二進制表示
35、的,其運算規(guī)則與階碼以2為底基本相同,但關于對階和規(guī)格化操作有新的相應規(guī)定。當階碼以8為底時,只要尾數滿足1/8M1或 -1M-1/8就是規(guī)格化數。執(zhí)行對階和規(guī)格化操作時,每當階碼的值增或減1,尾數要相應右移或左移三位。 當階碼以16為底時,只要尾數滿足1/16M1或 -1M-1/16就是規(guī)格化數。執(zhí)行對階和規(guī)格化操作時,階碼的值增或減1,尾數必須移四位。第五十六張,PPT共九十四頁,創(chuàng)作于2022年6月5. 浮點數除法運算步驟(1)求商的階碼尾數調整:保證MXMY階碼相加減(2)尾數相除(3)規(guī)格化(4)舍入(5)判溢出第五十七張,PPT共九十四頁,創(chuàng)作于2022年6月583.6 運算部件
36、1. 定點運算部件 定點運算部件由算術邏輯運算部件ALU、若干個寄存器、移位電路、計數器、門電路等組成。 ALU部件主要完成加減法算術運算及邏輯運算。第五十八張,PPT共九十四頁,創(chuàng)作于2022年6月59第五十九張,PPT共九十四頁,創(chuàng)作于2022年6月602浮點運算部件 通常由階碼運算部件和尾數運算部件組成,其各自的結構與定點運算部件相似。但階碼部分僅執(zhí)行加減法運算。其尾數部分則執(zhí)行加減乘除運算,左規(guī)時有時需要左移多位。為加速移位過程,有的機器設置了可移動多位的電路。第六十張,PPT共九十四頁,創(chuàng)作于2022年6月3.7 數據校驗碼 計算機系統(tǒng)中的數據,在讀寫、存取和傳送的過程中可能產生錯誤
37、。為減少和避免這類錯誤,一方面是精心設計各種電路,提高計算機硬件的可靠性;另一方面是在數據編碼上找出路,即采用某種編碼法,通過少量的附加電路,使之能發(fā)現某些錯誤,甚至能確定出錯位置,進而實現自動改錯的能力。 數據校驗碼:是一種常用的帶有發(fā)現某些錯誤或自動改錯能力的數據編碼方法。(查錯與糾錯) 實現原理:是加進一些冗余碼,使合法數據編碼出錯變成非法數據來發(fā)現或改正數據。常用的數據校驗碼:奇偶校驗碼、海明校驗碼和循環(huán)冗余校驗碼。第六十一張,PPT共九十四頁,創(chuàng)作于2022年6月 采用冗余校驗方法: 即在基本的有效數據外,再擴充部分位,增加部分(冗余部分)被稱為校驗位。將校驗位與數據位一起按某種規(guī)則
38、編碼,寫入存儲器或向外發(fā)送。當從存儲器讀出或接收到外部傳入的代碼時,再按相應的規(guī)則進行判讀。若不符合約定的規(guī)則,則表示出現錯誤。根據錯誤的特征進行修正恢復。第六十二張,PPT共九十四頁,創(chuàng)作于2022年6月幾個名詞概念碼字:由若干代碼組成的一個字。如8421碼中 0110( 6 ),0111( 7 )距離:兩個碼字之間不同的代碼個數。 8421碼中,最小的距離為1,如0000和 0001、0010和0011等;最大距離為4, 如0111和1000。碼距(最小碼距):一種碼制中任意兩個碼字間的最小距離。(合法碼到合法碼變動的最小位數)8421碼的碼距為1。碼距為1,即不能查錯也不能糾錯。碼距越大
39、,查錯、糾錯能力越強。第六十三張,PPT共九十四頁,創(chuàng)作于2022年6月碼距與檢糾錯的關系為了檢測e個誤碼,要求最小碼距d0應滿足: d0 e+1 為了糾正t個誤碼,要求最小碼d0距應滿足: d0 2t+1 為了糾正t個誤碼,同時能檢測e個誤碼(et),要求最小碼距d0應滿足: d0 e+t+18/16/202264第六十四張,PPT共九十四頁,創(chuàng)作于2022年6月3.7.1 奇偶校驗碼 奇偶校驗碼是計算機中廣泛采用的檢查傳輸數據準確性的方法。奇偶校驗的原理是:在每組數據信息上附加一個校驗位,使碼距由1增加到2(合法碼到合法碼變動的最小位數為2)。若編碼中有奇數個二進制位出錯了,這個碼將變成非
40、法編碼。 如果采用奇校驗,則這組數據加上校驗碼位后數據中1的個數應為奇數個。奇校驗位形成公式: C =X0 X1 Xn-1 如果采用偶校驗,則這組數據加上校驗碼位后數據中1的個數應為偶數個。偶校驗位形成公式: C =X0 X1 Xn-1第六十五張,PPT共九十四頁,創(chuàng)作于2022年6月下面給出對幾個字節(jié)值的奇偶校驗的編碼結果: 數據 奇校驗的編碼 偶校碼的編碼 00000000 l00000000 000000000 010l0l00 0010l0100 l01010l00 01ll1lll 0011l1111 10l111l1l其中,最高一位為校驗位,其余低八位為數據位。從中可以看到,校驗位
41、的值取O還是1,是由數據位中1的個數決定的。第六十六張,PPT共九十四頁,創(chuàng)作于2022年6月缺點:這種方案只能發(fā)現一位錯或奇數個位錯,但不能確定是哪一位錯,也不能發(fā)現偶數個位錯。優(yōu)點:該方案還是有很好的實用價值。偶校驗位形成第六十七張,PPT共九十四頁,創(chuàng)作于2022年6月奇偶校驗的特點:1、奇偶校驗碼使數據的碼距為2,因而可檢出數據傳送過程中奇數個數位出錯的情況(一位變動會使校驗位改變, d0 e+1 =2);2、實際中兩位同時出錯的概率極低,奇偶校驗法簡便可靠易行,但它只能發(fā)現錯誤,卻不知錯在何處,因而不能自動糾正。3、 奇偶校驗碼是一種開銷最小,能發(fā)現數據代碼中一位出錯情況的編碼。常用
42、于存儲器讀寫檢查,或ASCII字符傳送過程中的檢查。第六十八張,PPT共九十四頁,創(chuàng)作于2022年6月3.7.2 海明校驗碼 海明校驗碼是Richard Hamming于1950年提出的,目前仍廣泛使用的一種編碼方法。1、原理(1)特點:能檢測出兩位同時出錯、亦能檢測出一位出錯并能自動糾錯。(碼距d0 e+t+1=2+1+1=4)(2)實現原理: 在k個數據位之外加上r個校驗位,從而形成一個k+r位的新碼字,當某一位出錯后,就會引起相關的幾個( d0 個)校驗位的值發(fā)生變化,從而達到檢錯、糾錯的目的。第六十九張,PPT共九十四頁,創(chuàng)作于2022年6月 能檢測與自動糾正一位錯,并發(fā)現兩位錯,校驗
43、位r與數據位k應滿足下述關系:2r-1k+r (一位出錯并糾錯且發(fā)現兩位錯 d0 e+t+1=2+1+1=4)數據位k與校驗位r的對應關系: 第七十張,PPT共九十四頁,創(chuàng)作于2022年6月2、編碼規(guī)則 若海明碼的最高位號為m,最低位號為1,即:HmHm-1H2H1,則此海明碼的編碼規(guī)律是:(1)校驗位與數據位之和為m,每個校驗位Pi(Parity,奇偶校驗位)在海明碼中被分在位號2i-1的位置,其余各位為數據位,并按從低向高逐位依次排列的關系分配各數據位。(2)海明碼的每一位碼Hi(包括數據位和校驗位本身)由多個校驗位校驗,其關系是被校驗的每一位位號要等于校驗它的各校驗位的位號之和。這 樣安
44、排的目的,是希望校驗的結果能正確反映出出錯位的位號。第七十一張,PPT共九十四頁,創(chuàng)作于2022年6月例 討論一個字節(jié)的海明碼(1)K=8,按表3.5得出r=5故海明碼的總位數為13,可表示: H13H12H11.H3H2H1 P5只能放在H13一位上,它已經是海明碼的最高位了,其他4位滿足Pi的位號等于2i-1的關系。其余為數據位Di,則有如下排列關系:位號13121110987654321信息P5D8D7D6D5P4D4D3D2P3D1P2P1第七十二張,PPT共九十四頁,創(chuàng)作于2022年6月每一位號等于校驗它的各校驗位的位號之和第七十三張,PPT共九十四頁,創(chuàng)作于2022年6月(2) 計
45、算各個校驗位的值D1(H3)D2(H5)D3(H6)D4(H7)D5(H9)D6(H10)D7(H11)D8(H12)P1(H1)P2(H2)P3(H4)P4(H8)P5(H13)P1=D1D2D4D5D7P2=D1D3D4D6D7 P3=D2D3D4D8P4=D5D6D7D8P5=D1D2D3D4D5D6D7D8 P4P3P2P1在這種安排中,每一位數據位,都至少地出現在3個Pi值的形成關系中。當任一位數據碼發(fā)生變化時,必將引起3個或4個Pi值跟著變化,該海明碼的碼距為4。校驗位的編碼規(guī)則(偶校驗)第七十四張,PPT共九十四頁,創(chuàng)作于2022年6月S1=P1D1D2D4D5D7 S2=P2D
46、1D3D4D6D7 S3=P3D2D3D4D8 S4=P4D5D6D7D8 S5=P5P4P3P2P1D1D2D3D4 D5D6D7D8 (3)譯碼規(guī)則(接受端)-偶校驗 則校驗得到的結果值S5S1能反映13位海明碼的出錯情況。任何偶數個數出錯,S5一定為0,因此可區(qū)分兩位出錯或一位出錯。Si = Pi形成Pi的編碼規(guī)則第七十五張,PPT共九十四頁,創(chuàng)作于2022年6月用海明位號改寫S4S1:S1=H1 H3H5H7H9H11 S2=H2 H3H6H7H10H11 S3=H4 H5H6H7H12S4=H8 H9H10H11H12假設:H12(D8)出錯、S4S3S2S1=1100H11(D7)
47、出錯、S4S3S2S1=1011H10(D6)出錯、S4S3S2S1=1010H 9(D5)出錯、S4S3S2S1=1001H 7(D4)出錯、S4S3S2S1=0111H 6(D3)出錯、S4S3S2S1=0110H 5(D2)出錯、S4S3S2S1=0101H 3(D1)出錯、S4S3S2S1=0011結論: 當某個數據位出錯時、S4S3S2S1的值等于該出錯位數據在海明碼中的位號。問題:1.當某個校驗位出錯時、S4S3S2S1的值等于什么? 2n位號 2. S5與S4S3S2S1的各種組合分別反映了海明碼的什么狀態(tài)?S5為0有偶數個錯(S4S3S2S1=0無錯;不為0有兩位錯)第七十六張
48、,PPT共九十四頁,創(chuàng)作于2022年6月3、海明碼校驗邏輯電路第七十七張,PPT共九十四頁,創(chuàng)作于2022年6月第七十八張,PPT共九十四頁,創(chuàng)作于2022年6月例1:請計算8位二進制信息10011010的海明碼字是多少?解:1)計算r=? 2)計算P1P5=? r=5D1(H3)0D2(H5)1D3(H6)0D4(H7)1D5(H9)1D6(H10)0D7(H11)0D8(H12)1P1(H1)P2(H2)P3(H4)P4(H8)P5(H13)001100111110000011P1=1P2=1P3=1P4=0P5=1位號13121110987654321信息1001101011101第七十
49、九張,PPT共九十四頁,創(chuàng)作于2022年6月例2:請分析海明碼字1100101111011是否正確?若有錯,請糾錯。 解:計算S5S4S3S2S1=?H131H121H110H100H91H80H71H61H51H41H30H21H11S1S2S3S4S51011101011001111101001110111101001101101S5S4S3S2S1=10110,則H6有錯,正確的海明碼字為: 1100101011011S1=H1 H3H5H7H9H11 S2=H2 H3H6H7H10H11 S3=H4 H5H6H7H12S4=H8 H9H10H11H12第八十張,PPT共九十四頁,創(chuàng)作于2022年6月3.7.3 循環(huán)冗余校驗(CRC)碼特點: CRC碼(C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 3683-2024 水松紙卷筒料圓壓圓燙金機
- 二零二五年度房屋租賃合同(含瑜伽館)
- 2025年度肥料產品包裝設計及印刷合同
- 2025年度綠色生態(tài)果園轉讓協(xié)議書
- 二零二五年度智慧城市建設項目業(yè)績提成合同
- 天津市2025年度勞動合同解除經濟補償金支付與發(fā)放合同
- 二零二五年度科研機構與高校人才合作就業(yè)協(xié)議書范本
- 二零二五年度臨時協(xié)議書:智慧社區(qū)建設與物業(yè)管理合作
- 2025年度智能車庫租賃與智慧城市建設項目合同
- 2025年度裝配行業(yè)人才培養(yǎng)終止合同協(xié)議
- 《左傳·鄭伯克段于鄢》PPT課件(完整版)
- IPC6012C培訓
- 氮氣窒息事故案例經驗分享
- 2工藝用水驗證報告
- 原子雜化軌道理論
- 充填開采之 矸石充填術
- 醫(yī)院醫(yī)療設備采購流程圖
- 021[學士]某六層框架宿舍樓畢業(yè)設計(含計算書、圖紙)
- 人力外包項目實施方案
- BQB480-2014無取向電工鋼
- 解析幾何期末考試試卷
評論
0/150
提交評論