版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,第三章運算方法和運算部件,2,主要內(nèi)容,3.1數(shù)據(jù)的表示方法和轉(zhuǎn)換,3.2帶符號數(shù)據(jù)的表示方法與加減運算,3.3二進(jìn)制乘法運算,3.5浮點數(shù)的運算方法,3.6運算部件,3.7計算機中的數(shù)據(jù)校驗方法,3.4定點除法運算,3,3.1數(shù)制,3.1.1數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換,3.1.2十進(jìn)制數(shù)的編碼與運算,4,1、進(jìn)位計數(shù)制基數(shù)(base或radix):所用到的數(shù)字符號個數(shù)。例如10進(jìn)制:0-9十個數(shù)碼,基數(shù)為10權(quán):進(jìn)位制中各位“1”所表示的值為該位的權(quán).常見的進(jìn)位制:2,8,10,16進(jìn)制。二進(jìn)制:Binary八進(jìn)制:Octal十進(jìn)制:Decimal十六進(jìn)制:Hexadecimal,3.1.1
2、數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換,5,2、進(jìn)位計數(shù)制之間的轉(zhuǎn)換,按權(quán)展開法:先寫成多項式,然后計算十進(jìn)制結(jié)果.N=dn-1dn-2d1d0d-1d-2d-m=dn-1Rn-1+dn-2Rn-2+d1R1+d0R0+d-1R-1+d-2R-2+d-mR-m,1)R進(jìn)制轉(zhuǎn)換成十進(jìn)制的方法,6,例如:寫出(1101.01)2,(237)8,(10D)16的十進(jìn)制數(shù),(1101.01)2=123+122+021+120+02-1+12-2=8+4+1+0.25=13.25(237)8=282+321+720=128+24+7=159(10D)16=1162+13160=256+13=269,7,2)十進(jìn)制轉(zhuǎn)換成
3、二進(jìn)制方法,一般分為兩個步驟:整數(shù)部分的轉(zhuǎn)換除2取余法(基數(shù)除法)小數(shù)部分的轉(zhuǎn)換乘2取整法(基數(shù)乘法),8,例如:將(327)10轉(zhuǎn)換成二進(jìn)制數(shù),2327余數(shù),21631,2811,2401,2200,2100,250,221,210,201,(327)10=(101000111)2,最高位,最低位,9,乘基取整法(小數(shù)部分的轉(zhuǎn)換),例如:將(0.8125)10轉(zhuǎn)換成二進(jìn)制小數(shù).整數(shù)部分20.8125=1.625120.625=1.25120.25=0.5020.5=1.01(0.8125)10=(0.1101)2,10,例:將(0.2)10轉(zhuǎn)換成二進(jìn)制小數(shù),0.22=0.400.42=0.8
4、00.82=1.610.62=1.210.22=0.400.42=0.800.82=1.610.62=1.21(0.2)10=0.001100110011.2,整數(shù)部分,11,3)其它進(jìn)制之間的直接轉(zhuǎn)換法,二八00000011010201131004101511061117,10008100191010A1011B1100C1101D1110E1111F,二十六,0000000011001020011301004010150110601117,12,二進(jìn)制轉(zhuǎn)換成八進(jìn)制,例:(10110111.01101)2,(10110111.01101)2=(267.32)8,八進(jìn)制:267.32,二進(jìn)制:
5、010,110,111.011,010,二進(jìn)制:10,110,111.011,01,13,八進(jìn)制轉(zhuǎn)換二進(jìn)制,例如:(123.46)8=(001,010,011.100,110)2=(1010011.10011)2,14,二進(jìn)制轉(zhuǎn)換成十六進(jìn)制,例:(110110111.01101)2,(10110111.01101)2=(1B7.68)16,十六進(jìn)制:1B7.68,二進(jìn)制:0001,1011,0111.0110,1000,二進(jìn)制:1,1011,0111.0110,1,15,十六進(jìn)制轉(zhuǎn)換成二進(jìn)制,例如:(7AC.DE)16=(0111,1010,1100.1101,1110)2=(11110101
6、100.1101111)2,16,3、數(shù)值符號的表示,帶符號數(shù)的編碼名詞解釋:真值和機器數(shù)真值:正、負(fù)號加某進(jìn)制數(shù)絕對值的形式。如二進(jìn)制真值:X=+1011y=-1011機器數(shù):符號數(shù)碼化的數(shù)稱為機器數(shù)如:X=01011Y=11011,17,3.1.2十進(jìn)制數(shù)的編碼與運算,1、BCD碼8421碼為有權(quán)代碼,數(shù)值為N=8d3+4d2+2d1+1d0十進(jìn)制數(shù)63.29的BCD碼為:01100011.001010012421碼為有權(quán)代碼,數(shù)值為N=2d3+4d2+2d1+1d0十進(jìn)制數(shù)63.29的BCD碼為:11000011.00101111余3碼為無權(quán)代碼,對應(yīng)8421碼加3而得。除上述三種BCD
7、碼之外,還有5421碼、格雷碼等,18,BCD碼,19,二進(jìn)制碼格雷碼,二進(jìn)制碼-格雷碼(編碼):從最右邊一位起,依次將每一位與左邊一位異或(XOR),作為對應(yīng)格雷碼該位的值,最左邊一位不變;格雷碼-二進(jìn)制碼(解碼):從左邊第二位起,將每位與左邊一位解碼后的值異或,作為該位解碼后的值(最左邊一位依然不變).,20,十進(jìn)制編碼的加法運算,1)“8421”BCD碼加法運算BCD碼運算應(yīng)將每4位二進(jìn)制數(shù)分為一組,組與組之間直接運算,逢十進(jìn)一。但計算機中無法區(qū)分BCD碼,一概作為二進(jìn)制數(shù)處理,因此,計算機做此運算后須進(jìn)行調(diào)整。調(diào)整方法:和9(1001)2,不調(diào)整和9(1001)2,加6(0110)2修
8、正,21,0111+10001111+011010101,1000+100110001+011010111,例:5+3=8,7+8=15,8+9=17,0101+00111000,向高位進(jìn)位,22,2、數(shù)字串在機內(nèi)的表示與存儲,主要有兩種形式:(l)字符形式:用一個字節(jié)存放一個十進(jìn)制數(shù)位或符號位,存放的是09十個數(shù)字和正負(fù)號的ASCll編碼值。例如,123的編碼為2B313233,占用4個連續(xù)的字節(jié)。這種方式高4位不具有數(shù)值意義,運算起來很不方便,主要用在非數(shù)值計算的應(yīng)用領(lǐng)域。,23,(2)壓縮的十進(jìn)制數(shù)形式。用一個字節(jié)存放兩個十進(jìn)制數(shù)位,其值用BCD碼或ASCll碼的低4位表示。符號位也占半
9、個字節(jié)并放在最低數(shù)字位之后,其值可從4位二進(jìn)制碼中的6種冗余狀態(tài)中選用。例,用C(l2)表示正號;D(13)表示負(fù)號。并規(guī)定數(shù)字和符號位個數(shù)之和必須為偶數(shù),否則在最高數(shù)字之前補一個0。例如,123被表示成123C(2個字節(jié)),一12被表示成012D(2個字節(jié))。,24,3.2帶符號數(shù)據(jù)的表示方法與加減運算,機器數(shù):計算機中表示的帶符號的二進(jìn)制數(shù).四種表示方法即原碼、補碼、反碼和移碼。,3.2.1原碼、補碼、反碼和移碼及運算,3.2.2定點數(shù)和浮點數(shù)計算機中的兩種表示方式,3.2.3數(shù)字化信息的編碼及表示,25,3.2.1原碼、補碼、反碼和移碼及運算,1、原碼表示法原碼表示法用“0”表正號,用“
10、1”表負(fù)號,有效值部分用二進(jìn)制的絕對值表示。課件以下的n表示數(shù)值位數(shù)(機器字長為n+1位),小數(shù):X1X0X原=1-X=1+|X|0X-1,26,原碼的表示范圍:+0原=00000000;-0原=10000000整數(shù)最大值:2n-1;最小值:-(2n-1)小數(shù)最大值:1-2-n;最小值-(1-2-n)表示數(shù)的個數(shù):2n+1-1,若二進(jìn)制的位數(shù)是8,求其表示的最大值、最小值及表示數(shù)的個數(shù),整數(shù)127,-127;小數(shù)127/128,-127/128;個數(shù):255,27,原碼特點:,表示簡單,易于同真值之間進(jìn)行轉(zhuǎn)換,實現(xiàn)乘除運算規(guī)則簡單。進(jìn)行加減運算十分麻煩。,28,2、補碼表示法,模:計量器具的容
11、量,或稱為模數(shù)。例如:4位字長的機器表示的二進(jìn)制16種狀態(tài),模為16=24。整數(shù)N位字長的模值為2n,一位符號位的純小數(shù)的模值為2。補碼的定義:正數(shù)的補碼就是正數(shù)的本身,負(fù)數(shù)的補碼是原負(fù)數(shù)加上模。,29,補碼的表示范圍:,N+1位純整數(shù):2n-1,-2nN+1位純小數(shù):1-2-n,-1均能表示2n+1個數(shù),小數(shù):X1X0X補=2+X=2-|X|0X-1,30,原碼求補碼正數(shù):X補=X原負(fù)數(shù):符號除外,各位取反,末位加1例:X=-01001001X原=11001001X補=10110110+1=10110111X補=28+X=100000000-1001001=10110111100000000
12、-100100110110111,原碼與補碼之間的轉(zhuǎn)換,31,由X補求-X補(求機器負(fù)數(shù)),運算過程是連同符號一起將各位取反,末位再加1。設(shè)字長N=8位例:X=+1001001X補=01001001-X補=10110111,32,最大的優(yōu)點就是將減法運算轉(zhuǎn)換成加法運算。,X補-Y補=X補+-Y補例如X=(11)10=(1011)2Y=(5)10=(0101)2已知字長n=5位X補-Y補=X補+-Y補=01011+11011=100110=00110=(6)10注:最高1位已經(jīng)超過字長故應(yīng)丟掉,33,3、反碼表示法,正數(shù)的表示與原、補碼相同,負(fù)數(shù)的補碼符號位為1,數(shù)值位是將原碼的數(shù)值按位取反,就
13、得到該數(shù)的反碼表示。,小數(shù):X1X0X反=2-2-n+X0X-1,34,整數(shù)的表示形式,X0X2nX原=2n-X=2n+|X|-2nX0,X0X2nX補=2n+1+X=2n+1-|X|-2nX0,X0X2nX反=2n+1-1+X-2nX0,35,4、移碼表示法,X移=2n+X-2nX2n,X1=+1010101X1補=01010101X1移=11010101X2=-01010101X2補=10101011X2移=00101011,36,碼制表示法小結(jié),X原、X反、X補用“0”表示正號,用“1”表示負(fù)號;X移用“1”表示正號,用“0”表示負(fù)號。如果X為正數(shù),則X原=X反=X補。如果X為0,則X補
14、、X移有唯一編碼,X原、X反有兩種編碼。移碼與補碼的數(shù)值形式相同,只是符號位相反。,37,6、數(shù)值的運算方法,計算機中,常用補碼進(jìn)行加減運算補碼可將減法變加法進(jìn)行運算補碼運算特點:符號位和數(shù)值位一同運算定點補碼運算在加法運算時的基本規(guī)則:X+Y補=X補+Y補定點補碼運算在減法運算時的基本規(guī)則:X-Y補=X補+-Y補,38,例如:已知機器字長n=8,X=44,Y=53,求X+Y=?,解:X原=00101100,Y原=00110101,X補=00101100,Y補=00110101,X補=00101100+Y補=00110101,1,0,0,0,0,1,1,0,X+Y=+97,39,例:已知機器字
15、長n=8,X=-44,Y=-53,求X+Y=?,解:44補=00101100,53補=00110101X補=-44補=11010011+1=11010100,Y補=-53補=11001010+1=11001011,X補=11010100+Y補=11001011X+Y補=110011111超出8位,舍棄模值X+Y=-01100001,X+Y=(-97),40,例:已知機器字長n=8,X=44,Y=53,求X-Y=?,解:X補=00101100,Y補=00110101,-Y補=11001011X補=00101100+-Y補=1100101111110111X-Y補=11110111,X-Y=-00
16、01001=(-9),41,例:已知機器字長n=8,X=-44,Y=-53,求X-Y=?,解:X補=11010100,Y補=11001011,-Y補=00110101X補=11010100+-Y補=00110101100001001超出8位(模值),舍棄X-Y補=00001001,X-Y=+0001001=(+9),42,溢出問題,例:已知機器字長n=8,X=120,Y=10,求X+Y=?,43,解:X補=01111000,Y補=00001010,X補=01111000+Y補=0000101010000010X+Y補=10000010,X+Y原=11111110X+Y的真值=-1111110=
17、(-126)10運算結(jié)果超出機器數(shù)值范圍發(fā)生溢出錯誤。,44,溢出判斷規(guī)則與判斷方法,兩個相同符號數(shù)相加,其運算結(jié)果符號與被加數(shù)相同,若相反則產(chǎn)生溢出;兩個相異符號數(shù)相加,不會產(chǎn)生溢出。溢出判斷方法:1.雙符號法,2.進(jìn)位判斷法。,45,(1)雙符號位溢出判斷法Sf1Sf2(也被稱為變形補碼),雙符號含義:00表示運算結(jié)果為正數(shù);01表示運算結(jié)果正向溢出;10表示運算結(jié)果負(fù)向溢出;11表示運算結(jié)果為負(fù)數(shù)。亦即:OVR=Sf1Sf2=1有溢出OVR=Sf1Sf2=0無溢出第一位符號位為運算結(jié)果的真正符號位。,46,例:X=0.1001,Y=0.0101,求X+Y,解:X補=00.1001+Y補=
18、00.0101X+Y補=00.1110兩個符號位相同,運算結(jié)果無溢出X+Y=+0.1110,47,例:X=-0.1001,Y=-0.0101,求X+Y=?,解:X補=11.0110+1=11.0111+Y補=11.1010+1=11.1011X+Y補=111.0010最高位1丟掉兩個符號位相同,運算結(jié)果無溢出X+Y=-0.1110,48,例:X=0.1011,Y=0.0111,求X+Y=?,解:X補=00.1011+Y補=00.0111X+Y補=01.0010兩個符號位為01,運算結(jié)果正向溢出,49,例:X=-0.1011,Y=0.0111,求X-Y=?,解:X補=11.0100+1=11.0
19、101Y補=00.0111-Y補=11.1001X補=11.0101+-Y補=11.1001X+Y補=110.1110兩個符號位10不同,運算結(jié)果負(fù)向溢出,50,(2)進(jìn)位溢出判斷法SC,兩單符號位的補碼進(jìn)行加減運算時,若最高數(shù)值位向符號位的進(jìn)位值C與符號位產(chǎn)生的進(jìn)位輸出值S相同時則無溢出,否則溢出。例:X補=1.101+Y補=1.001X+Y補=10.110C=0,S=1,有溢出X+Y=+0.010,X補=1.110+Y補=0.100X+Y補=10.010C=1,S=1,無溢出,51,3.2.2定點數(shù)和浮點數(shù),數(shù)值范圍:一種數(shù)據(jù)類型所能表示的最大值和最小值數(shù)據(jù)精度:實數(shù)所能表示的有效數(shù)字位數(shù)
20、。數(shù)值范圍和數(shù)據(jù)精度均與使用多少位二進(jìn)制位數(shù)以及編碼方式有關(guān)。計算機用數(shù)字表示正負(fù),隱含規(guī)定小數(shù)點。采用“定點”、“浮點”兩種表示形式。,52,1、數(shù)的定點表示方法,定點整數(shù)小數(shù)點位置固定在數(shù)的最低位之后如:DnDn-1D1D0.定點小數(shù)小數(shù)點位置固定在數(shù)的符號位之后、數(shù)值最高位之前。如:D0.D1D-(n-1)D-n,53,(1)浮點數(shù)的表示:是把字長分成階碼和尾數(shù)兩部分。其根據(jù)就是:N=MREJEm-2.E0SD-1D-(n-1)階符階碼值數(shù)符.尾數(shù)值SJEm-2.E0D-1D-(n-1)數(shù)符階符階碼值.尾數(shù)值通常,階碼為補碼或移碼定點整數(shù),尾數(shù)為補碼或原碼定點小數(shù)。,2、數(shù)的浮點表示方法
21、,54,(2)浮點數(shù)的規(guī)格化,目的:字長固定的情況下提高表示的精度,方法:調(diào)整階碼使尾數(shù)滿足下列關(guān)系:尾數(shù)用原碼表示時,無論正負(fù)應(yīng)滿足1/2dd-1,即1.0 x.x,55,例題:某機器用32位表示一個實數(shù),階碼8位(含1位階符),用定點整數(shù)補碼表示;尾數(shù)24位(含數(shù)符1位),用規(guī)格化定點小數(shù)補碼表示,基數(shù)為2。則:,1)X=256.5的第一種浮點表示格式X=(256.5)10=+(100000000.1)2=+(0.10000000012+9)28位階碼為:+9補=0000100124位尾數(shù)為:+0.1000000001補=0.10000000010000000000000所求256.5的浮
22、點表示格式為:00001001010000000010000000000000用16進(jìn)制表示此結(jié)果則為:(09402000)16,56,Y=-(256.5)10=-(100000000.1)2=-0.10000000012+98位階碼為:+9補=0000100124位尾數(shù)為:-0.1000000001補=1.01111111110000000000000所求-256.5的浮點表示格式為:00001001101111111110000000000000用16進(jìn)制表示此結(jié)果則為:09BFE000H,2)求Y=-256.5的第一種浮點表示格式,57,3.3二進(jìn)制乘法運算,1.軟件編程方法實現(xiàn)(時序控
23、制乘法器)由手算到機器實現(xiàn),要解決三個問題:符號問題、部分積相加進(jìn)位問題、移位問題。原碼乘法是先取絕對值相乘,再根據(jù)同號相乘為正、異號相乘為負(fù),單獨決定符號位。補碼乘法則讓符號位直接參加運算,算法將會復(fù)雜一些。2.硬件快速乘法器實現(xiàn)利用中大規(guī)模集成電路芯片,在一拍節(jié)中實現(xiàn)多項部分積的相加,成為陣列乘法器。,58,乘法運算,1.分析筆算乘法,A=0.1101B=0.1011,AB=0.10001111,0.1101,0.1011,1101,1101,0000,1101,0.10001111,符號位單獨處理,乘數(shù)的某一位決定是否加被乘數(shù),4個位積一起相加,乘積的位數(shù)擴大一倍,乘積的符號心算求得,?
24、,59,3.3.1定點數(shù)一位乘法,1、定點原碼一位乘,2、定點補碼一位乘法,60,例:設(shè)X=0.1101,Y=0.1011,求XY。其中寄存器B=X,計數(shù)器Cd=4。計算過程如下:,00000010110011010011010001101101001101010011001001111000000000100100010011110011010100010010001111,+x右移一位+x右移一位+0右移一位+x右移一位,部分積A乘數(shù)C,乘積高位乘積低位,1(丟失)1(丟失)0(丟失)1(丟失),XY=0.10001111,61,例,已知x=0.1110y=0.1101求xy原,解:,數(shù)值
25、部分的運算,0.0000,0.1110,0.1110,0.0000,0.1110,0.1110,部分積初態(tài)z0=0,邏輯右移,邏輯右移,62,數(shù)值部分按絕對值相乘,x*y*=0.10110110,則xy原=1.10110110,特點,絕對值運算,邏輯移位,結(jié)果,用移位的次數(shù)判斷乘法是否結(jié)束,63,2、定點補碼一位乘法,原碼乘法存在的缺點是符號位需要單獨運算,并要在最后給乘積冠以正確的符號。補碼乘法是指采用操作數(shù)的補碼進(jìn)行乘法運算,最后乘積仍為補碼,能自然得到乘積的正確符號。,64,實現(xiàn)補碼乘法有兩種方法,現(xiàn)在廣泛使用的是Booth算法,也稱為比較法。這種方法在機器實現(xiàn)中要在乘數(shù)末位(最低位后)
26、Yi之后再增加一個附加位Yi+1,并令其初始值為0。然后根據(jù)比較Yi、Yi+1的值決定下一步操作,規(guī)則如下:(設(shè)置部分積初始值為0)YiYi+1操作00原部分積右移一位01原部分積加X補后再右移一位10原部分積加-X補后再右移一位11原部分積右移一位,65,初始值與符號位:A寄存器存放部分累加和,初始為0,采用雙符號位。第1符號位指示累加和的正負(fù),以控制右移時補0或補1。B中存放被乘數(shù)的補碼,雙符號位?;静僮鳎河肅寄存器最末兩位作判斷位,決定下一步的操作。移位:在右移時,第2符號位值移入位數(shù)的最高位,第1符號位值不變且移入第2符號位,而A寄存器末位移入C寄存器。步數(shù)與最后一步操作:乘數(shù)有效位
27、是n=4位,共作n+1=5步。注意,最后一步不移位因為這一步是用來處理符號位的。,66,例3.35:設(shè)X=-0.1101,Y=0.1011,即X補=11.0011,Y補=0.1011,-X=00.1101求XY補.計算過程如下:,0000000.10110初始值,最后一位補0001101Y4Y5=10+-X補001101000110101011右移一位000000Y3Y4=11+0000110000011010101右移一位110011Y2Y3=01+X補110110111011001010右移一位001101Y1Y2=10+-X補001000000100000101右移一位110011Y0Y
28、1=01+X補1101110001,+,部分積乘數(shù)YYiYi+1說明,乘積高位乘積低位,XY補=1.01110001,XY=-0.10001111,67,3、陣列乘法器為了進(jìn)一步提高乘法器運算速度,可采用類似人工計算的方法,用一個陣列乘法器完成X*Y乘法運算。陣列的每一行送入乘數(shù)Y的每一位數(shù),而各行錯開形成的每一斜列則送入被乘數(shù)的每一數(shù)位。每一個基本單元可用1個與門和1位全加器。該方案所用加法器數(shù)量較多,內(nèi)部結(jié)構(gòu)規(guī)則性強,適用超大規(guī)模集成電路實現(xiàn)。,68,定點補碼一位除法(加減交替法),n位數(shù)相除,要求被除數(shù)的位數(shù)要擴展成除數(shù)位數(shù)n的兩倍2n位,沒包括符號位在內(nèi);由于不能自動判溢出,故需在|X
29、|1)時,需右規(guī),81,例,解:,x補=00,010;00.110100,y補=00,001;00.101100,對階,尾數(shù)求和,j補=jx補jy補,=00,010,11,111,100,001,階差為+1,y補=00,010;00.010110,Sx補=00.110100,Sy補=00.010110,對階后的Sy補,01.001010,+,+,尾數(shù)溢出需右規(guī),82,右規(guī),x+y補=00,010;01.001010,x+y補=00,011;00.100101,右規(guī)后,x+y=0.100101211,舍入操作:0舍1入或恒置1,在對階和右規(guī)過程中,可能出現(xiàn)尾數(shù)末位丟失引起誤差,需考慮舍入,(1)
30、0舍1入法,(2)恒置“1”法,83,例,解:,x補=11,011;11.011000,y補=11,100;00.111000,對階,j補=jx補jy補,=11,011,00,100,11,111,階差為1,x補=11,100;11.101100(尾數(shù)補碼右移最高數(shù)值位補1。),x=(0.101000)2-101,y=(0.111000)2-100,+,84,尾數(shù)求和,Sx補=11.101100,Sy補=11.001000,+,110.110100,右規(guī),x+y補=11,100;10.110100,x+y補=11,101;11.011010(采用0舍1入方式,無進(jìn)位。將其轉(zhuǎn)換二進(jìn)制真值后為:,
31、右規(guī)后,xy=(0.100110)2-11,85,例:求=?0舍1入后為恒置1例2:求=?0舍1入后為恒置1判斷結(jié)果的正確性(即結(jié)果的階碼是否溢出),86,2、浮點數(shù)的乘、除法運算,一、運算規(guī)則兩浮點數(shù)相乘其乘積的階碼為相乘兩數(shù)階碼之和,其尾數(shù)應(yīng)為相乘兩數(shù)的尾數(shù)之積。兩個浮點數(shù)相除,商的階碼為被除數(shù)的階碼減去除數(shù)的階碼得到的差,尾數(shù)為被除數(shù)的尾數(shù)除以除數(shù)的尾數(shù)所得的商。參加運算的兩個數(shù)都為規(guī)格化浮點數(shù),乘除運算都可能出現(xiàn)結(jié)果不滿足規(guī)格化要求的問題,因此也必須進(jìn)行規(guī)格化、舍入和判溢出等操作。規(guī)格化時要修改階碼。,87,浮點乘除運算,x=Sx2jx,y=Sy2jy,1.乘法,xy=(SxSy)2j
32、x+jy,2.除法,(1)階碼采用補碼(或移碼)定點加減運算,(2)尾數(shù)乘除同定點運算,3.步驟,(3)規(guī)格化,(4)舍入,88,例題3.47:設(shè):X=0.1110011*2-5,Y=(-0.1110010)*23,浮點數(shù)表示階碼4位(移碼),尾數(shù)8位(補碼),結(jié)果取8位尾數(shù)。運算過程中階碼取雙符號位。解:1.求乘積的階碼(為兩階碼之和)-5原=1.101-5補=1.011-5移=0.011EX+EY移=EX移+EY補=00011+00011=001102.兩位數(shù)相乘(運算過程略)X*Y補=1.00110011001010(尾數(shù)部分)高位部分低位部分3.規(guī)格化處理,89,4.舍入根據(jù)0舍1法,
33、尾數(shù)乘積低位部分的最高位為1,在乘積高位部分的最低位加1,因此:X*Y補=1.0011010(尾數(shù)部分)5.判溢出階碼未溢出,故結(jié)果為正確。X*Y:011010011010階碼(移碼)尾數(shù)(補碼)X*Y=(-0.1100110)*2-2,90,3.6運算部件,1.定點運算部件定點運算部件由算術(shù)邏輯運算部件ALU、若干個寄存器、移位電路、計數(shù)器、門電路等組成。ALU部件主要完成加減法算術(shù)運算及邏輯運算(其功能可參考242節(jié)),其中還應(yīng)包含有快速進(jìn)位電路。2.浮點運算部件通常由階碼運算部件和尾數(shù)運算部件兩部分組成。階碼運算器是一個定點運算部件。它的功能包含:階碼大小的比較、執(zhí)行加減法運算、調(diào)整其增
34、量或減量。尾數(shù)部分是一個定點小數(shù)運算部件。它的功能包含:左移、右移、尾數(shù)加減乘除運算。為加速移位過程,有的機器設(shè)置了可移動多位的電路。,91,浮點運算電路,92,3.7計算機中的數(shù)據(jù)校驗方法,采用冗余校驗方法:即在基本的有效數(shù)據(jù)外,再擴充部分位,增加部分(冗余部分)被稱為校驗位。將校驗位與數(shù)據(jù)位一起按某種規(guī)則編碼,寫入存儲器或向外發(fā)送。當(dāng)從存儲器讀出或接收到外部傳入的代碼時,再按相應(yīng)的規(guī)則進(jìn)行判讀。若約定的規(guī)則被破壞,則表示出現(xiàn)錯誤。根據(jù)錯誤的特征進(jìn)行修正恢復(fù)。,93,幾個名詞概念:碼制:一種已經(jīng)規(guī)定好的組合,如8421編碼、余3編碼等。碼字:由若干代碼組成的一個字。如8421碼中6(0110
35、),7(0111)碼距:一種碼制中任意兩個碼字間的最小距離。距離:兩個碼字之間不同的代碼個數(shù)。8421碼中,最小的碼字間的距離為1,如0000和0001、0010和0011等;最大碼字間的距離為4,如0111和1000。所以8421碼制的碼距為1。碼距為1碼制,即不能查錯也不能糾錯。碼距越大的碼制,查錯、糾錯能力越強。,94,3.7.1奇偶校驗法,奇偶校驗法是計算機中廣泛采用的檢查傳輸數(shù)據(jù)準(zhǔn)確性的方法。奇偶校驗法的原理是:在每組數(shù)據(jù)信息上附加一個校驗位,校驗位的取值(0或1)取決于這組信息中1的個數(shù)和校驗方式(奇或偶校驗)。如果采用奇校驗,則這組數(shù)據(jù)加上校驗碼位后數(shù)據(jù)中1的個數(shù)應(yīng)為奇數(shù)個。奇校
36、驗位形成公式:C=X0X1Xn-1如果采用偶校驗,則這組數(shù)據(jù)加上校驗碼位后數(shù)據(jù)中1的個數(shù)應(yīng)為偶數(shù)個。偶校驗位形成公式:C=X0X1Xn-1,95,例如:八位信息10101011中共有5個1,附加校驗位后變?yōu)榫盼?。若采用奇校驗,則附加的校驗位應(yīng)取0值,保證1的個數(shù)為奇數(shù)個即010101011;若采用偶校驗則附加的校驗位應(yīng)取1值即110101011。奇偶校驗的特點:1、奇偶校驗法使數(shù)據(jù)的碼距為2,因而可檢出數(shù)據(jù)傳送過程中奇數(shù)個數(shù)位出錯的情況;2、實際中兩位同時出錯的概率極低,奇偶校驗法簡便可靠易行,但它只能發(fā)現(xiàn)錯誤,卻不知錯在何處,因而不能自動糾正。,96,奇校驗1出錯,偶校驗1出錯,偶形成,奇形
37、成,D校為校驗位,D校D0D1D2D3D4D5D6D7,8位數(shù)據(jù)的奇偶校驗碼形成電路及檢碼電路,97,3.7.2海明碼校驗方法,海明碼校驗方法以奇偶校驗法為基礎(chǔ),其校驗位不是一個而是一組,故其碼距大于2。海明碼校驗方法能夠檢測出具體錯誤并糾正。原理是在數(shù)據(jù)中加入r個校驗位,將數(shù)據(jù)的碼距按照一定規(guī)則拉長。r個校驗位可以表示2r個信息,除一個表示無誤信息外,其余2r-1信息可以用來標(biāo)明錯誤的具體位置,但由于校驗位本身也可能在傳送中出錯,所以只有2r-1-r個信息可用,即r位校驗碼只可標(biāo)明2r-1-r個錯誤信息?;?rk+r+1k是被傳送數(shù)據(jù)的位數(shù)。例如:用4個校驗位能可靠傳輸24-1-4=11位信
38、息;而要校驗32位數(shù)據(jù)則需至少6個校驗位。,98,如要能檢測與自動校正一位錯井發(fā)現(xiàn)兩位錯此時校驗位的位數(shù)r和數(shù)據(jù)位的位數(shù)k應(yīng)滿足下述關(guān)系:2r-1k+r(3.19)按式(3.19),可計算出數(shù)據(jù)位k與校驗位r的對應(yīng)關(guān)系,如教材表3.8所示。,99,一、編碼方法(以四個校驗位進(jìn)行說明),四個校驗位最多可以校驗11位數(shù)據(jù)。設(shè):D10D9D8D7D6D5D4D3D2D1D0為11個數(shù)據(jù)位,P4P3P2P1分別為四個校驗碼,則編碼規(guī)則是:海明碼的總位數(shù)等于數(shù)據(jù)位與校驗位之和;每個校驗位Pi排放在2i-1的位置,例如P4排放在第24-1=8位,其余數(shù)據(jù)位依序排列。即:D10D9D8D7D6D5D4P4D
39、3D2D1P3D0P2P1海明碼的每一位用多個校驗位一起進(jìn)行校驗,被校驗的位號等于校驗它的各校驗位位號和;各校驗位的值為它參與校驗的數(shù)據(jù)位的異或。,100,海明碼校驗表,101,各校驗位形成公式:P1=D0D1D3D4D6D8D10(1)P2=D0D2D3D5D6D9D10(2)P3=D1D2D3D7D8D9D10(3)P4=D4D5D6D7D8D9D10(4)按上述方式Pi的取值是采用偶校驗時的取值,當(dāng)采用奇校驗時,Pi則取反。這樣Pi連同數(shù)據(jù)位一起形成了海明碼的各位。,102,二、檢查糾錯(以四個校驗位進(jìn)行說明),海明碼數(shù)據(jù)傳送到接收方后,再將各校驗位的值與它所參與校驗的數(shù)據(jù)位的異或結(jié)果進(jìn)
40、行異或運算。運算結(jié)果稱為校驗和。校驗和共有四個。對偶校驗來說,如果校驗和不為零則傳輸過程中間有錯誤。而錯誤的具體位置則由四個校驗和依序排列后直接指明。如果四個校驗和S4S3S2S1依序排列后等于(1001)2=(9)10時,就表明海明碼的第九位也就是D4發(fā)生了錯誤,此時只要將D4取反,也就糾正了錯誤。,103,校驗和Si的表達(dá)式:S1=D0D1D3D4D6D8D10P1S2=D0D2D3D5D6D9D10P2S3=D1D2D3D7D8D9D10P3S4=D4D5D6D7D8D9D10P4當(dāng)采用偶校驗方式其傳送數(shù)據(jù)正確時,校驗和S1S4的值分別都為0;當(dāng)采用奇校驗方式其傳送數(shù)據(jù)正確時,校驗和S1
41、S4的值分別都為1。當(dāng)不為上述值時,傳送就發(fā)生了錯誤。,104,解:已知D10D9D8D7D6D5D4D3D2D1D0=10110100110由于被校驗位的位號等于校驗它的各校驗位位號之和以及各校驗位的取值等于它參與校驗的數(shù)據(jù)位取值的異或。所以校驗位的取值以及所求海明碼為:P1=D0D1D3D4D6D8D10=1P2=D0D2D3D5D6D9D10=1P3=D1D2D3D7D8D9D10=1P4=D4D5D6D7D8D9D10=0D10D9D8D7D6D5D4P4D3D2D1P3D0P2P1=101101000111011傳送正確時校驗和的值為0,如果不等于0,則是幾就是第幾位出錯,是7則是第
42、7位D3出錯,此時將其取反即可糾正錯誤。,例題:采用4位校驗位、偶校驗方式,寫出10110100110的海明碼。,105,106,以上圖3.11是H=12,數(shù)據(jù)位k=8,校驗位r=4的海明校驗線路,記作(l2.8)分組碼。圖3.ll中的H12,H11,.,H1是被校驗碼,D8,D7,.,D1是糾正后的數(shù)據(jù)。在線路中,先用奇偶形成線路得到S4,S3,S2,S1,如果S4S1為全“0”,說明代碼無錯,則D8D7.DI=H12H11H10H9H7H6H5H3。如果S4S1不為全0,說明有錯。若為1100或1011,則分別表示H12或Hll位錯,對應(yīng)這兩種出錯情況,相關(guān)的兩條譯碼線之一為“l(fā)”,它與相
43、應(yīng)的數(shù)據(jù)使經(jīng)異或線路,就把該位校正過來,得到正確編碼輸出。依此類推如S4S3S2S1為1010,1001,0111,0110,0101或0011,分別表示H10,H9,H7,H6,H5或H3位錯,用相同的方法予以糾正、如錯誤發(fā)生在校驗位上。則相關(guān)的譯碼線(1000,0l00,0010,0001)之一為l,在圖311中未畫出。如前所述,假如要進(jìn)一步判別是1位錯還是2位錯,則再增加一個校驗位、并用圖3.12來取代圖3.11虛框中的內(nèi)容,此時增加了一個奇偶形成線路S5。如為一位錯,仍按圖3.11來糾正數(shù)據(jù)位;如為兩位錯,則無法糾正錯誤。,107,C1C2.CKr1r2ri,3.7.3循環(huán)冗余校驗方法(CRC碼),環(huán)冗余校驗方式:通過某種數(shù)學(xué)公式建立信息位
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沙灘節(jié)目活動策劃方案(3篇)
- 健身全年活動方案策劃(3篇)
- 三八送花策劃活動方案(3篇)
- 鄒城啤酒活動方案策劃(3篇)
- 壅水壩施工方案(3篇)
- 2025年市場調(diào)查與分析應(yīng)用指南
- 水仙組織培養(yǎng)方案
- 團(tuán)建游戲活動策劃方案
- 2025年中職服裝設(shè)計與工藝(服裝設(shè)計)試題及答案
- 2025年高職民俗學(xué)(民俗研究)試題及答案
- 2025年全國爆破工程技術(shù)人員考核試題及答案
- 產(chǎn)假不發(fā)工資協(xié)議書
- DB42∕T 1785.1-2021 水生蔬菜良種繁育技術(shù)規(guī)程 第1部分:藕蓮和子蓮
- 2025年九年級上學(xué)期期末英語試卷及答案(共三套)
- 2025年福建會考政治試卷及答案
- DB31∕T 1450-2023 旅游碼頭服務(wù)基本要求
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級上學(xué)期期末考試測試卷
- 南寧陳教練2026年版考試大綱廣西專升本與職教高考(財經(jīng)商貿(mào)大類)考試大綱對比分析及備考攻略
- 滅菌物品裝載課件
- 2025至2030中國電力設(shè)備檢測行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025上半年軟考系統(tǒng)架構(gòu)設(shè)計師考試真題及答案
評論
0/150
提交評論