數(shù)據(jù)表示方法-歡迎光臨長春金融高等專科學校ppt課件_第1頁
數(shù)據(jù)表示方法-歡迎光臨長春金融高等??茖W校ppt課件_第2頁
數(shù)據(jù)表示方法-歡迎光臨長春金融高等??茖W校ppt課件_第3頁
數(shù)據(jù)表示方法-歡迎光臨長春金融高等??茖W校ppt課件_第4頁
數(shù)據(jù)表示方法-歡迎光臨長春金融高等??茖W校ppt課件_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 數(shù)據(jù)表示方法2-1 數(shù)據(jù)表示方法和運算器 2-2 邏輯部件 2-3 控制部件 .21 數(shù)據(jù)表示方法和運算器 211計算機中數(shù)據(jù)的表示方法 當前的計算機所采用的存儲器件都是兩態(tài)器件,所以適宜于存放二進制數(shù)據(jù)。雖然為了方便起見,也運用其他進制,如十進制、十六進制,但是在計算機內(nèi)部數(shù)據(jù)還是以二進制的方式存放和處置。二進制只運用了兩個不同的數(shù)字符號,易于用物理器件來實現(xiàn):在物理世界中具有兩個穩(wěn)定形狀的物理器件很多,如晶體管的“截止與“導通、電容的“充電與“放電、電壓信號的“高與“低、脈沖的“有與“無,電磁單元的“正向磁化與“反向磁化等等,只需規(guī)定其中一種穩(wěn)定形狀表示“1,另一種穩(wěn)定形狀表示“0

2、,就可以用來表示二進制數(shù)位了。其次,二進制的運算規(guī)那么非常簡單,易于用電子器件來實現(xiàn)。數(shù)據(jù)的類型多種多樣,如文件、圖、表、樹、陣列、鏈表、棧、向量、串、實數(shù)、整數(shù)、布爾數(shù)、字符等。計算機里用到的數(shù)據(jù)類型主要可分為兩類:表示數(shù)量的數(shù)值數(shù)據(jù)和非數(shù)值性的符號數(shù)據(jù)。一切的數(shù)據(jù)都是以二進制的方式在計算機里處置和存儲。本節(jié)主要講述數(shù)值數(shù)據(jù)在計算機里的表示方法。 . 1數(shù)值數(shù)據(jù)表示方法 在計算機中表示數(shù)時,需求思索以下幾個要素:要表示的數(shù)的類型(小數(shù)、整數(shù)、實數(shù)和復數(shù))、符號如何表示以及小數(shù)點的位置;能夠遇到的數(shù)值范圍;數(shù)值準確度;數(shù)據(jù)存儲和處置所需求的硬件代價。計算機中表示數(shù)值符號的方法是占用一位二進制位

3、,1表示負號、0表示正號。常用的數(shù)值數(shù)據(jù)表示格式有兩種,根據(jù)小數(shù)點的位置是固定不變還是浮動變化的分為定點格式和浮點格式。普通來說,定點格式允許的數(shù)值范圍有限,但要求的處置硬件比較簡單。而浮點格式允許的數(shù)值范圍很大,但要求的處置硬件比較復雜。 (1) 定點數(shù)的表示方法 所謂定點格式,即商定機器中一切數(shù)據(jù)的小數(shù)點位置是固定不變的。由于商定在固定的位置,小數(shù)點就不再運用記號“來表示。原理上講,小數(shù)點位置固定在哪一位都可以,但是通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)。 . 例如用一個n1位字來表示一個定點數(shù)x,其中一位x0用來表示數(shù)的符號,其他位數(shù)代表它的量值。為了將整個n1位一致處置起見,符號位x0放在最左

4、位置,并用數(shù)值 0和1分別代表正號和負號,這樣,對于恣意定點數(shù)x=x0 x1x2xn,在定點機中可表示為如下方式: x0 x1 x2 xn-1 xn符號 數(shù)量值 . 假設數(shù)x表示的是純小數(shù),那么小數(shù)點位于x0和x1之間。當x0 x1x2xn各位均為0時,數(shù)x的絕對值最小,當各位均為1時,x的絕對值最大,故數(shù)的表示范圍為 0 x12n 假設數(shù)x表示的是純整數(shù),那么小數(shù)點位于最低位xn的右邊,此時數(shù)x的表示范圍為 0 x2n1,目前計算機中多采用定點純整數(shù)表示,因此將定點數(shù)表示的運算簡稱為整數(shù)運算。 (2) 浮點數(shù)的表示方法 采用浮點表示法表示的數(shù)據(jù)叫做浮點數(shù),采用浮點數(shù)進展運算的機器叫做“浮點機

5、。浮點數(shù)是指小數(shù)點位置可以改動的數(shù),顯然浮點數(shù)可用來表示帶符號的實數(shù)。例如:表示8位字長的二進制浮點數(shù)可以寫成 0.10110101 2111 尾 數(shù) 階碼 . 恣意一個十進制數(shù)N可以寫成 N = 10ZX ,同樣,在計算機中一個恣意進制數(shù)N可以寫成 N = Bz X其中X稱為浮點數(shù)的尾數(shù),是一個純小數(shù)。z是比例因子的指數(shù),稱為浮點的指數(shù),是一個整數(shù)。比例因子的基數(shù)B是一個常數(shù),普通規(guī)定只為2,8或16。在機器中表示一個浮點數(shù)時,一是要給出尾數(shù),用定點小數(shù)方式表示。尾數(shù)部分給出有效數(shù)字的位數(shù),因此決議了浮點數(shù)的表示精度。二是要給出指數(shù),用整數(shù)方式表示,常稱為階碼,階碼指明小數(shù)點在數(shù)據(jù)中的位置,

6、因此決議了浮點數(shù)的表示范圍。浮點數(shù)也要有符號位。因此一個機器浮點數(shù)該當由階碼和尾數(shù)及其符號位組成: . 32位浮點數(shù)的規(guī)范格式為: Z0Z1 Z2 Zn-1 ZnX0X1 X2 Xn-1 Xn階符 階碼 數(shù)符 尾數(shù) 3130 2322 032位浮點數(shù)F Z X 64位浮點數(shù)的規(guī)范格式為: 6362 5251 064位浮點數(shù)F Z X . 不論是32位浮點數(shù)還是64位浮點數(shù),規(guī)定基數(shù)B2。由于基數(shù)2是固定常數(shù),不用用顯示方式來表示它。 32位的浮點數(shù)中,F(xiàn)是浮點數(shù)的符號位,占1位,安排在最高位,F(xiàn)0表示正數(shù),F(xiàn)1表示負數(shù)。X是尾數(shù),放在低位部分,占用23位,用小數(shù)表示,小數(shù)點放在尾數(shù)域的最前面。

7、Z是階碼,占用8位,階符采用隱含方式,即采用移碼方法來表示正負指數(shù)。移碼方法對兩個指數(shù)大小的比較和對階操作都比較方便,由于階碼域值大者其指數(shù)值也大。采用這種方式時,將浮點數(shù)的指數(shù)值z變成階碼Z時,應將指數(shù)z加上一個固定的偏移值127(01111111),即Zz127。一個規(guī)格化的32位浮點數(shù)X的值可表示為X(1)F(1X) 2E127 其中尾數(shù)域所表示的值是1X。由于規(guī)格化的浮點數(shù)的尾數(shù)域最左位也即最高有效位總是1,故這一位經(jīng)常不予存儲,而以為隱藏在小數(shù)點的左邊。 . 64位的浮點數(shù)中符號位1位,階碼域11位,尾數(shù)域52位,指數(shù)偏移值是1023。因此規(guī)格化的64位浮點數(shù)X的真值為X=(1)F

8、(1X) 2E1O23 zE1023 假設不對浮點數(shù)的表示作出明確規(guī)定,同一個浮點數(shù)的表示就不是獨一的。例如05也可以表示成005101,50102等等。為了提高數(shù)據(jù)的表示精度,當尾數(shù)的值不為0時,其絕對值應05,即尾數(shù)域的最高有效位應為1,否那么要以修正階碼同時左右移小數(shù)點的方法,使其變成這一要求的表示方式,這稱為浮點數(shù)的規(guī)格化表示。當一個浮點數(shù)的尾數(shù)為0,不論其階碼為何值,或者當階碼的值遇到比它能表示的最小值還小時,不論其尾數(shù)為何值,計算機都把該浮點數(shù)看成零值,稱為機器零。 浮點數(shù)所表示的范圍遠比定點數(shù)大的多。假設(思索符號位)機器中的數(shù)由8位二進制數(shù)表示時:在定點機中這8位全部用來表示有

9、效數(shù)字(包括符號);在浮點機中假設階符階碼占3位,數(shù)符尾數(shù)占5位。在此情況下,假設只思索正數(shù)值,定點機小數(shù)表示的數(shù)的范圍是00000000到01111111,相當于十進制數(shù)的0到127,而浮點機所能表示的數(shù)的范圍是21100001到21101111,相當于十進制數(shù)的112875。顯然,都用8位,浮點機能表示的數(shù)的范圍比定點機大得多。 . 一臺計算機中終究采用定點表示還是浮點表示,要根據(jù)計算機的運用條件來確定。普通在高檔微機以上的計算機中同時采用定點、浮點表示,由運用者進展選擇。而單片機中多采用定點表示。 【例21】假設浮點數(shù)X0的二進制存儲格式為(43240000)16,求其32位浮點數(shù)的十進

10、制值。 解: 將16進制數(shù)展開后,可得二制數(shù)格式為 0 100 0011 0 010 0100 0000 0000 0000 0000 F 階碼(8位) 尾數(shù)(23位) 指數(shù)z階碼127100001100111111100000111(7)10。包括隱藏位1的尾數(shù)1X1010 0100 0000 0000 0000 00001010010 于是有 X0(1)F 1X 2z(1010010) 2710100100(187)10。 . 【例22】將十進制數(shù)1659375轉(zhuǎn)換成32位浮點數(shù)的二進制格式來存儲。 解:首先分別將整數(shù)和分數(shù)部分轉(zhuǎn)換成二進制數(shù):16593751000010011挪動小數(shù)點,

11、使其在第1位和第2位之間10000100111000010011 24 z4 所以:F=0,E=4127 =131,X=000010011 那么得到的32位浮點數(shù)的二進制存儲格式為: 0100 0001 1000 0100 1100 0000 0000 0000 = 4184C00016 . (3)定點數(shù)據(jù)的編碼方法 真值與機器碼機器碼是數(shù)在計算機中的表示方式。對于數(shù)值數(shù)據(jù)而言,無論以定點方式表示或是以浮點方式表示,都需求經(jīng)過某種編碼 方法,以計算機所能處置的0和1二進制位來表示其數(shù)值大小。通常一個數(shù)值數(shù)據(jù)的機內(nèi)表示方式稱為其機器碼,而一個機器碼所代表的數(shù)值稱為該機器碼的真值。計算機中只需機器

12、碼,不存在數(shù)的真值。假設機器碼的寬度為n,最高位為符號位,下面分別引見實踐運用中常見的4種機器碼編碼方法:原碼、反碼、補碼和移碼。 原碼表示法定點整數(shù)原碼表示法定點整數(shù)原碼的定義如下所示: . X 原= X 0X2n1 X 原=2n1X 2n1X0 由定義可以看出,正整數(shù)的原碼就是其本身,負整數(shù)的原碼只需把其絕對值的原碼的符號位置為1即可。( 用0表示正號,用1表示負號)。原碼表示方法的定點整數(shù)的取值范圍為(2n1)X2n11。留意在原碼表示法中,零有正零和負零之分。000000,010000。定點小數(shù)的原碼表示法定點小數(shù)原碼的定義如下所示:X 原 X 0X1X 原1X 1X0. 正的純小數(shù)的

13、原碼就是其本身,而負的純小數(shù)的原碼可以經(jīng)過把其絕對值的原碼的符號位置1來得到。其取值范圍為(12(n1)X(12(n1)。綜上可以看出一個數(shù)的原碼是由符號位加上數(shù)值位絕對值組成,符號位為0代表正數(shù),符號位為1代表負數(shù)。由于0有0和0兩種表示方法,n位二進制數(shù)可以表示2n1個原碼。 用原碼實現(xiàn)乘除運算規(guī)那么較簡單,但做加減運算不方便。原碼表示法的一個主要優(yōu)點在于其真值和機器碼表示之間對應關系很直觀,容易轉(zhuǎn)換。補碼表示法定點整數(shù)的補碼表示定點整數(shù)補碼的定義如下所示:X 補 X 0X2n1X 補2nX 2n1X0. 正整數(shù)的補碼就是其本身,負整數(shù)的補碼可以經(jīng)過對其絕對值部分逐位求反,并在最低位加1求

14、得。同樣,在補碼表示法中,符號位為0表示正號,為1表示負號。其表示的真值X的范圍為 2n1X2n11。在補碼表示中,0的機器碼是獨一的,沒有0和0之分。定點小數(shù)的補碼表示定點小數(shù)補碼的定義如下所示:X 補 X 0X1X 補2X 1X0定點小數(shù)的補碼求解方法與定點整數(shù)的補碼求解方法相類似。其表示的真值X的范圍為1X12-(n-1)。當n8時,1的定點小數(shù)補碼表示為:10000000,而用定點整數(shù)的補碼表示1,那么為11111111。 在補碼表示方法中,0的編碼是獨一的,所以n位二進 制數(shù)可以表示2n個補碼。 . 反碼表示法定點整數(shù)的反碼表示定點整數(shù)反碼的定義如下所示: X 反 X 0X2n1 X

15、 反(2n1)X 2n1X0同樣,正整數(shù)的反碼就是其本身,而負整數(shù)的反碼可以經(jīng)過對其絕對值逐位求反來求得。在反碼表示法中,符號位依然用0表示正號,1表示負號。其表示的真值范圍與原碼一樣:(2n11)X2n-11。數(shù)值0用反碼表示亦有0和0之分。當n8時,0反00000000,0反11111111。定點小數(shù)的反碼表示定點小數(shù)反碼的定義如下所示:X 反 X 0X1X 反(22n1)X 1X0.定點小數(shù)的反碼求解方法類似定點整數(shù)的反碼求解方法。其表示的真值的取值范圍為:(12(n1)X(12(n1)。反碼表示法中,由于0占有了兩個不同的編碼,所以,n位二進制數(shù)可以表示2n1個反碼。移碼表示法定點整數(shù)

16、的移碼表示 X 移2n1X 2n-1X2n1 定點小數(shù)的移碼表示 X 移1X 1X1移碼的符號位與其他三種編碼不同,用1表示正號而0表示負號。移碼的求法其實也很簡單,把其補碼的符號位直接變反即可。所以在移碼表示法中,0也有獨一的表示方法:10000000(n8) 【例】 設機器碼長度為8,求X(6)10的原碼、補碼、反碼和移碼。 . 解:X原碼27(110)1000000011010000110 X補碼28(110)1000000011011111010 X反碼(281)(110)1111111111011111001 X移碼27(110)1000000011001111010【例】 設機器碼

17、長度為8,求X(03125)10(00101)2的原碼、補碼、反碼和移碼。 解:X原碼1X10(00101)1010110101000 X補碼2X100(00101)1101111011000 X反碼(227)X(10000000001)(00101)11010111 X移碼1X10(00101)0101101011000 .實踐上求某個數(shù)的原碼、補碼、反碼和移碼時不僅可以利用其定義式采求解,也可以經(jīng)過這4個編碼間的相互關系來求得。比如移碼就可以經(jīng)過把補碼的符號位變反來求,而對于正數(shù)來講其原碼、補碼和反碼是完全一樣的;一個負數(shù)的補碼也可以很容易地從其原碼推知:除符號位外,各位取反,末位再加1即

18、可。(4)浮點數(shù)據(jù)的編碼方法計算機內(nèi)部浮點數(shù)據(jù)表示成如下方式:FXZX. FX是尾數(shù)的符號位,0表示正號而l表示負號;Z是階碼,通常用移碼表示;X是定點小數(shù)方式的尾數(shù),普通用補碼或原碼表示?!纠?】 某浮點數(shù)機器碼10位,基數(shù)為2,階碼用4位移碼表示,尾數(shù)5位用補碼表示,符號位1位。求2100110l的編碼。解: 符號位FX0 階碼Z(10)移碼1010 尾數(shù)X(01101)補碼11010 那么其編碼為0101011010【例 】 某浮點數(shù)機器碼為17位,基數(shù)為2,階碼用4位移碼表示,尾數(shù)用12位補碼表示,符號位1位。求275的浮點編碼方式。解:首先把275表示成浮點方式: (275)10(0

19、687522)10(01011)22(10) FX1 . Z(10)移碼1010 X(01011)補碼010100000000 編碼為11010010100000000 同一個浮點數(shù)可以有許多種不同的編碼表示(改動其階碼),所以需求對浮點數(shù)進展規(guī)格化處置,以一致其方式,同時提高數(shù)據(jù)的表示精度。規(guī)格化處置(基數(shù)為2)尾數(shù)部分以純小數(shù)方式表示,其絕對值應滿足05X1。假設不滿足該條件,那么需求修正階碼并對尾數(shù)進展移位,以使尾數(shù)滿足該條件; 當尾數(shù)為正時,無論其運用原碼還是補碼表示,X應滿足條件:05X1。以二進制方式表示為X01xx x(x為0或1); 用原碼表示的負尾數(shù),X滿足1X05,以二進制

20、方式表示為M11 xx x(x為0或1);以補碼表示的負尾數(shù),X滿足1M05,以二進制方式表示為X10 xx x(x為0或1); 從上面的討論可以看出,假設規(guī)格化的尾數(shù)用原碼表示,那么其最高位一定為1假設改用補碼表示,那么尾數(shù)的最高位與其符號位相反,即為0。 . 2符號數(shù)據(jù)的表示方法 現(xiàn)代計算機不僅處置數(shù)值領域的問題,而且處置大量非數(shù)值領域的問題。這樣一來,必然要引入文字、字母以及某些公用符號,以便表示文字言語、邏輯言語等信息。例如人機交換信息時運用英文字母、標點符號、十進制數(shù)以及諸如$,等符號。然而數(shù)字計算機只能處置二進制數(shù)據(jù),因此,上述信息運用到計算機中時,都必需編寫成二進制格式的代碼,也

21、就是字符信息用數(shù)據(jù)表示,稱為符號數(shù)據(jù)。最常見的編碼格式為ASC碼和EBCDIC碼。1ASC碼目前國際上普遍采用的一種字符系統(tǒng)是七單位的ASCII碼(美國國家信息交換規(guī)范字符碼),它包括10個十進制數(shù)碼,26個英文字母和一定數(shù)量的公用符號,如$,等,總共128個元素,因此二進制編碼需求7位,加上一個偶校驗位,共8位,剛好為一個字節(jié)。表21列出了七單位的ASCII碼字符編碼表。 ASCII碼規(guī)定8個二進制位的最高一位為0,余下的7位可以給出128個編碼,表示128個不同的字符。其中95個編碼,對應著計算機終端能輸人并且可以顯示的95個字符,打印機設備也能打印這95個字符,如大小寫各26個英文字母,

22、09這10個數(shù)字符,通用的運算符和標點符號,*,等等。 另外的33個字符,其編碼值為031和127,那么不對應任何一個可以顯示或打印的實踐字符,它們被用作控制碼,控制計算機某些外圍設備的任務特性和某些計算機軟件的運轉(zhuǎn)情況。. 計算機里的存儲和傳送單位通常運用Byte(1Byte8 bit),所以7位的ASCII碼也用一個字節(jié)來表示。ASCII編碼和128個字符的對應關系如表21所示。表中編碼符號的陳列次序為,最高1位沒有運用,通常填0;也可以把它用作校驗位或者用來擴展字符集。表中未給出,列為高位部分,行為低位部分。 ASCII的字符編碼表一共有2416行,238列。低4位編碼用作行編碼,而高3

23、位用作列編碼。值得留意的一點是數(shù)字“0到“9的編碼:它們都位于3列 (011),從0行(0000)陳列到9行(1001),即“0的ASCII碼為(0110000)2(30)16,“9的 ASCII碼為(0111001)2(39)16。把高3位屏蔽掉,低4位恰是“0“9的二進制碼。可以看出,十進制的8421碼可以去掉(011)而得到。這個特點使得在數(shù)字符號(ASCII碼)與數(shù)字值(二進制碼)之間進展轉(zhuǎn)換非常方便。 .表21 ASC字符編碼表 0000010100111001011101110000NULDELSP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXD

24、C3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111DELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDEL.字符串是指延續(xù)的一串字符,通常方式下,它們占用主存中延續(xù)的多個字節(jié),每個字節(jié)存一個字符。當主存字由2個或4個字節(jié)組成時,在同一個主存字中,既可按從低位字節(jié)向高位字節(jié)的順序存放字符串內(nèi)容,也可按從高位字節(jié)向低位字節(jié)的次序順序存放字符串內(nèi)容。這兩種存放方式都是常用方式,不同的計算機可以選用其中

25、任何一種。例如下述字符串: 圖2-1字符串在主存中的存放 . IF AB ELSEREAD (C) 就可以按圖21所示從高位字節(jié)到低位字節(jié)依次存放在主存中。其中主存單元長度由4個字節(jié)組成。每個字節(jié)中存放相應字符的ASCII值,文字表達式中的空格“在主存中也占一個字節(jié)的位置。因此每個字節(jié)分別存放十進制的73,70,32,65,62,66,32,69,76,83,69,32,82,69,65,68,40,67,41,32。2EBCDIC碼EBCDIC(Extended Binary Coded Decimal Interchange Code)即所謂擴展的二十進制交換碼。采用8 bit編碼來表示一

26、個字符,共可以表示28256個不同符號,但EBCDIC中并沒有運用全部編碼,只選用了其中一部分,剩下的保管作擴展用。EBCDIC碼常用于IBM大型機中。在EBCDIC碼制中,數(shù)字“0“9的高4位編碼都是1111,而低4位編碼那么依次為0000到1001。把高四位屏蔽掉,也很容易實現(xiàn)從EBCDIC碼到二進制數(shù)字值的轉(zhuǎn)換。 .3漢字的表示方法1 漢字的輸入編碼為了能直接運用西文規(guī)范鍵盤把漢字輸入到計算機,就必需為漢字設計相應的輸入編碼方法。當前采用的方法主要有以下三類: 數(shù)字編碼 常用的是國標區(qū)位碼,用數(shù)字串代表一個漢字輸入。區(qū)位碼是將國家 規(guī)范局公布的6763個兩級漢字分為94個區(qū),每個區(qū)分94

27、位,實踐上把漢字表示成二維數(shù)組,每個漢字在數(shù)組中的下標就是區(qū)位碼。區(qū)碼和位碼各兩位十進制數(shù)字,因此輸入一個漢字需按鍵四次。例如“中字位于第54區(qū)48位,區(qū)位碼為5448。數(shù)字編碼輸入的優(yōu)點是無重碼,且輸入碼與內(nèi)部編碼的轉(zhuǎn)換比較方便,缺陷是代碼難以記憶。 拼音碼 拼音碼是以漢語拼音為根底的輸入方法。凡掌握漢語拼音的人,不需訓 練和記憶,即可運用。但漢字同音字太多,輸入重碼率很高,因此按拼音輸入后還必需進展同音字選擇,影響了輸入速度。 . 字形編碼 字形編碼是用漢字的外形來進展的編碼。漢字總數(shù)雖多,但是由一筆 一劃組成,全部漢字的部件和筆劃是有限的。因此,把漢字的筆劃部件用字母或數(shù)字進展編碼,按筆

28、劃的順序依次輸入,就能表示一個漢字。例如五筆字型編碼是最有影響的一種字形編碼方法。 除了上述三種編碼方法之外,為了加快輸入速度,在上述方法根底上,開展了詞組 輸入、聯(lián)想輸入等多種快速輸入方法。但是都利用了鍵盤進展“手動輸入。理想的輸入方式是利用語音或圖像識別技術(shù)“自動將拼音或文本輸入到計算機內(nèi),使計算機能認識漢字,聽懂漢語,并將其自動轉(zhuǎn)換為機內(nèi)代碼表示。目前這種理想曾經(jīng)成為現(xiàn)實。2 漢字的存儲漢字內(nèi)碼 漢字內(nèi)碼是用于漢字信息的存儲、交換、檢索等操作的機內(nèi)代碼,普通采用兩個字節(jié)表示。英文字符的機內(nèi)代碼是七位的ASCII碼,當用一個字節(jié)表示時,最高位為“0。為了與英文字符能相互區(qū)別,漢字機內(nèi)代碼中

29、兩個字節(jié)的最高位均規(guī)定為“1。例如漢字操作系統(tǒng)CCDOS中運用的漢字內(nèi)碼是一種最高位為“l(fā)的兩字節(jié)內(nèi)碼。 有些系統(tǒng)中字節(jié)的最高位用于奇偶校驗位,這種情況下用三個字節(jié)表示漢字內(nèi)碼。 . 3 漢字的輸出漢字字模碼 字模碼是用點陣表示的漢字字形代碼,它是漢字的輸出方式。根據(jù)漢字輸出的要求不同,點陣的多少也不同。簡易型漢字為16 16點陣,提高型漢字為24 24點陣、32 32點陣,甚至更高。因此字模點陣的信息量是很大的,所占存儲空間也很大。以16 16點陣為例,每個漢字要占用32個字節(jié),國標兩級漢字要占用 256K字節(jié)。因此字模點陣只能用來構(gòu)成漢字庫,而不能用于機內(nèi)存儲。字庫中存儲了每個漢字的點陣代

30、碼。當顯示輸出或打印輸出時才檢索字庫,輸出字模點陣,得到字形。圖 22示出了“大字的點陣及編碼。留意,漢字的輸入編碼、漢字內(nèi)碼、字模碼是計算機中用于輸入、內(nèi)部處置、輸出三種不同用途的編碼,不要混為一談。 .圖22漢字的字模點陣及編碼 .4校驗碼 元件缺點、噪聲干擾等各種要素經(jīng)常導致計算機在處置信息過程中出現(xiàn)錯誤。例如將1位x從部件A傳送到部件B,能夠由于傳送信道中的噪聲干擾而遭到破壞,以致于在接納部件B收到的是而不是x。為了防止這種錯誤,可將信號采用專門的邏輯線路進展編碼以檢測錯誤,甚至校正錯誤。通常的方法是,在每個字上添加一些校驗位,用來確定字中出現(xiàn)錯誤的位置。計算機中常用這種檢錯或糾錯技術(shù)

31、進展存儲器讀寫正確性或傳輸信息的檢驗。這里僅引見檢錯碼中的奇偶校驗碼。最簡單且運用廣泛的檢錯碼是采用一位校驗位的奇校驗或偶校驗。設X(x0 x1 xn-1)是一個n位字,那么奇校驗位 定義為 C x0 x1xn-1 式中代表按位加,闡明只需當X中包含有奇數(shù)個1時,才干使 1,即C0。 同理,偶校驗位C定義為Cx0 x1xn-1 即X中包含偶數(shù)個1時,才使C0。 假設一個字X從部件A傳送到部件B。在源點A,校驗位C可用上面公式算出來,并合在一同將( x0 x1 xn-1 C )送到B。假設在B點真正接納到的是X( x0 x1 xn-1 C ),然后計算 F( x0 x1 xn-1 C )假設F1

32、,意味著收到的信息有錯,例如(x0 x1 xn-1)中正巧有一位變“反時就會出現(xiàn)這種情況。假設F0,闡明X字傳送正確。奇偶校驗可提供單個錯誤檢測,但無法檢測多個錯誤,更無法識別錯誤信息的位置。 . 【例】 知下表中左面一欄有5個字節(jié)的數(shù)據(jù)。請分別是用奇校驗和偶校驗進展編碼,填在中間一欄和右面一欄。 解:假定最低一位為校驗位,其他高8位為數(shù)據(jù)位,列表如下。從中看出,校驗位的值取。還是取1,是由數(shù)據(jù)位中1的個數(shù)決議的。 數(shù)據(jù)偶校驗編碼奇校驗編碼101010101010101001010101010101010001010100101010100000000000000000000000000001

33、0111111101111111101111111011111111111111110111111111.212 計算機中算術(shù)運算和邏輯運算1二進制數(shù)的算術(shù)運算1 定點數(shù)運算 定點數(shù)加法減法運算定點數(shù)的加法和減法運算運用補碼較為方便。對于定點小數(shù)的運算規(guī)那么如下: 加法:XY補X補y補 mod 2 減法:XY補X補y補 mod 2當運算結(jié)果超越了定點數(shù)的表示范圍時,那么產(chǎn)生溢出(Overflow),常用的溢出檢測機制主要有以下兩種:進位判決法: 令Cn1表示次高位(最高數(shù)值位)向最高位(符號位)的進位,Cn那么表示符號位的進位,那么結(jié)果能否溢出的判決表如表22所示,即CnCn11時溢出。這里,

34、表示異或。 .表22 溢出的判決表 CnCn1OverflowCnCn100無溢出01溢出10溢出11無溢出. 【例.】X(100)10(01100100)2,Y(50)10(00110010)2,求XY。解: X補01100100,y補00110010 XY補X補y補10010110 CnCn11,表示結(jié)果溢出?!纠?】X(100)l0(01100100)2,Y(50)l0(00110010)2,求XY。解: X補10011100,y補00110010 XY補X補Y補11001110 CnCn10,因此沒有溢出。雙符號位判決法: 采用兩位二進制位來表示符號位:00正號,11負號,根據(jù)運算結(jié)果

35、的符號位也可以斷定其能否溢出,其判決表如表23所示。 .表23 雙符號位判決表 運算結(jié)果的符號位Overflow運算結(jié)果的符號位Overflow00無溢出10溢出01溢出11無溢出. 【例2.1】X(100)l0(01100100)2,Y(50)l0(00110010)2,求XY。解: X補001100100 Y補000110010 XY補X補y補010010110 其符號位為0 1,闡明結(jié)果溢出。 定點數(shù)乘法運算在作定點數(shù)的乘法運算時采用原碼比較方便。通常運用原碼一位乘法來求兩個定點數(shù)的乘積。 運算規(guī)那么:乘積的符號位等于乘數(shù)和被乘數(shù)的符號位進展異或;乘積的值等于兩數(shù)絕對值之積,即乘數(shù)和被乘

36、數(shù)的絕對值進展移位相加。算法:(用絕對值進展運算) 令X表示被乘數(shù),Y表示乘數(shù),P表示部分積以存放中間結(jié)果,flag用作判別位,count用作計數(shù)。 .令P0;count0;flag0; P和Y一同右移一位(P為高位部分,Y為低位部分),右移時P的最高位補0,P的最低位移入Y的最高位,Y的最低位移入到flag中; 假設flag1同PPX,否那么P不變; countcount1,假設count超越Y(jié)的位數(shù)那么運算停頓,否那么轉(zhuǎn)到上述第2步繼續(xù)執(zhí)行; P和Y的內(nèi)容就是所求乘積的絕對值,其中P存放積的高位,而Y存放積的低位?!纠?X(10)l0(1010)2,Y(6)10(0110)2,求X,Y。

37、解: X原1010,Y原0110乘積的符號位S 0 1 1。 .表24 定點數(shù)乘法運算表 執(zhí)行動作部分積P乘數(shù)Y判別位Flagcounter初始化0000011000右移0000001101右移0000000112P+X1010右移0101000013P+X1111右移0111100004右移0011110005.那么所得乘積為(00111100)2(60)l0 定點數(shù)除法運算定點數(shù)的除法通常也常用原碼進展。下面引見常用的加減交替法求兩個數(shù)X和Y 的商。運算規(guī)那么:商的符號位同定點數(shù)原碼乘法的處置方法,由兩數(shù)的符號位進展異或;兩數(shù)的絕對值部分進展相除;算法:(求XY,設X、Y的數(shù)值部分長度為N

38、) 令及RX,counter0; RRY;假設R為正那么商1,否那么商0; R左移一位,countercounter1; 假設上一次商為1那么RRY,否那么RRY; R為正那么商1,否那么商0; 假設R0或者counterN那么終了,否那么轉(zhuǎn)到上述第3步執(zhí)行。 . 2 浮點數(shù)運算在進展浮點運算之前,應先對浮點數(shù)進展規(guī)格化。浮點數(shù)的加減運算設有浮點數(shù)XM2i,YN2j,求XY或XY,其運算過程如下: 對階:使兩個數(shù)的階碼一樣。令Kij,把階碼小的數(shù)的尾數(shù)右移K位,其階碼加上K。當右移尾數(shù)時,假設尾數(shù)用補碼表示那么符號位參與移位,符號位不變,假設是原碼,那么符號位不參與移位,尾數(shù)的最高位補0。 尾

39、數(shù)進展加、減運算: 規(guī)格化處置:假設尾數(shù)所得結(jié)果不是規(guī)格化的數(shù),那么需對其進展規(guī)格化處置。當尾數(shù)溢出時,尾數(shù)向右規(guī)格化位,階碼加1;當尾數(shù)用補碼表示,尾數(shù)的最高位與符號位一樣時,應向左規(guī)格化,尾數(shù)每向左移一位,階碼減1,直到尾數(shù)最高位與符號位相反。 . 舍入操作:舍入的方法常用0舍1入,即當向右規(guī)格化時,假設移掉的最高位為1,那么在尾數(shù)末位加1,否那么舍去。另一種那么是“恒1法,即不論移走的數(shù)據(jù)為何值,尾數(shù)最末位恒置1。 溢出判別:以階碼為準。假設階碼上溢,那么結(jié)果溢出;假設階碼下溢,那么結(jié)果為0;否那么結(jié)果正確無溢出。 浮點數(shù)的乘除運算 浮點數(shù)相乘,其積的階碼為兩數(shù)階碼相加,積的尾數(shù)為兩尾數(shù)

40、相乘。浮點數(shù)相除,其商的階碼為兩數(shù)階碼之差,商的尾數(shù)為兩尾數(shù)相除。其結(jié)果都需求進展規(guī)格化處置,同時還需求判別其階碼能否溢出。 2邏輯代數(shù)及邏輯運算 邏輯代數(shù)是1849年英國數(shù)學家喬治布爾提出的以代數(shù)的方式對邏輯變量進展描畫和分析的數(shù)學工具,又稱布爾代數(shù)。邏輯變量的取值只需“真和“假,通常以1和0表示。 .1 根本的邏輯運算 “與(AND)運算 又稱為邏輯乘運算,其運算符號通常用AND、或等表示。兩個變量的“與運算的運算規(guī)那么如表24所示。即當A、B中任一變量取0值時,其運算結(jié)果為0。 表25 “與運算表 表26 “或運算表 ABZ=AB000010100111ABZ=A+B0000111011

41、11.“或(OR)運算 又稱為邏輯加運算,其運算符號為OR、U、V或等。兩個變量的“或運算規(guī)那么如表25所示。即當A、B中恣意一個取1值時,其運算結(jié)果為l?!胺?NOT)運算 又稱為邏輯求反運算。常用表示對變量A進展求反。其運算規(guī)那么很簡單:0,。 “異或運算 常用的還有“異或運算,又稱為半加運算,其運算符號為XOR或。異或運算是一種復合邏輯運算,可用上述根本邏輯運算表示如下:AB A BA B .22 邏輯部件 221 存放器 1存放器組(register block)概述CPU中的存放器通??梢苑譃閮深悾河脩艨梢姷拇娣牌?user-visible registers)和形狀控制存放器(co

42、ntrol and status registers)。 (1) 用戶可見的存放器用戶可以經(jīng)過機器言語來訪問這些存放器。合理優(yōu)化地運用這些存放器可以減少對主存的訪問次數(shù),從而提高程序的執(zhí)行速度。按其功能可以分為4類:通用存放器(general purpose register)通用存放器的用途由程序員編程決議,例如可以用來存放操作數(shù),也可以用作尋址存放器。數(shù)據(jù)存放器(dataregister)數(shù)據(jù)存放器僅能用來存放數(shù)據(jù)而不能用來對操作數(shù)的地址進展計算。 .地址存放器(addressregister) 地址存放器用來存放操作數(shù)的地址,普通而言地址存放器又可以分為段地址存放器(segment po

43、inter register)、間址存放器(index register)和堆棧存放器(stack pointer register)。段地址存放器用在采用段式內(nèi)存管理的計算機中,存放著某一段內(nèi)存區(qū)域的基地址。間址存放器用在間接尋址(indexed addressing)方式下。堆棧存放器用以存放堆棧棧頂?shù)牡刂?,使得在運用堆棧操作(如push,pop)時無須顯式地給出操作數(shù)的地址(即其地址是隱含的)。標志存放器(flagcondition codes register)標志存放器中的位是由CPU硬件根據(jù)運算的結(jié)果而設立的一些指示位,以反映該次運算的某些特征:結(jié)果為正、負、零、溢出等等,并可以用

44、作分支跳轉(zhuǎn)的根據(jù)。普通而言,標志存放器允許編程者進展讀操作,但不允許對其直接進展寫操作。 .(2)形狀控制存放器(CSR)這些存放器被控制器(control unit)用來控制CPU的操作。通常是程序員不可見的,但也有某些存放器在某種特定的形狀下可以由某些特權(quán)指令進展訪問。常見的CSR有:程序計數(shù)器(program counter,PC)、指令存放器(instruction register,IR)、存儲器地址存放器(memoryaddress,register,MAR)、存儲器緩沖存放器(memory buffer register,MBR)以及程序形狀字(programstatusword

45、,PSW)。PC中存放著下一條待取指令的地址。當程序順序執(zhí)行時,CPU在取回一條指令后,會自動修正PC中的值以使其指向下一條指令。而程序中的分支或跳轉(zhuǎn)指令也是經(jīng)過修正PC中的值來到達改動流程的目的。IR中存放著CPU剛?cè)』氐闹噶睿怨┲噶钭g碼運用。CPU和存儲器之間的數(shù)據(jù)交換經(jīng)過MAR和MBR來實現(xiàn)。MAR中存放著待訪問的內(nèi)存單元的地址而MBR那么存放從內(nèi)存中讀人的數(shù)據(jù)或要寫回內(nèi)存單元的數(shù)據(jù)。這4個存放器(PC、IR、MAR、MBR)用來實如今CPU和存儲器(memory)之間的數(shù)據(jù)交換。另外CPU內(nèi)部,在ALU與MBR、用戶可見的存放器之間也能夠存在用作輸入/輸出緩沖存放器。 .2存放器邏輯

46、組成 存放器是計算機的一個重要部件,用于暫存數(shù)據(jù)、指令等。它由觸發(fā)器和一些控制門組成。在存放器中,常用的是正邊沿觸發(fā)D觸發(fā)器和鎖存器。 圖23所示是由正沿觸發(fā)的D觸發(fā)器組成的四位存放器。在CP正沿作用下,外部數(shù)據(jù)才干進入存放器。D是復位端,CP 是 D觸發(fā)器的脈沖端,CK 是添加了個與邏輯門電路來取正沿脈沖的輸入端。四D存放器的功能見表27,其中代表正脈沖,也即正沿。 .圖23四D存放器 .表27 四D存放器功能表 控制和輸入輸出R DCK1D2D3D4D1Q2Q3Q4Q11D2D3D4D1D2D3D4D00000.現(xiàn)實上,在計算機中常要求存放器有移位功能。如在進展乘法時,要求將部分積右移;在

47、將并行傳送的數(shù)轉(zhuǎn)換成串行數(shù)時也需移位。有移位功能的存放器稱為移位存放器。222 計數(shù)器計數(shù)器是計算機、數(shù)字儀表中常用的一種電路。計數(shù)器按時鐘作用方式來分,有同步計數(shù)器和異步計數(shù)器兩大類。在異步計數(shù)器中,由于高位觸發(fā)器的時鐘信號是由低一位觸發(fā)器的輸出來提供的,但是構(gòu)造簡單。同步計數(shù)器中各觸發(fā)器的時鐘信號是由同一脈沖來提供的,因此,各觸發(fā)器是同時翻轉(zhuǎn)的,它的任務頻率比異步計數(shù)器高,但構(gòu)造較復雜。計數(shù)器按計數(shù)順序來分,有二進制、十進制兩大類。在計算機中較少運用異步計數(shù)器,這里著重引見有并行輸入數(shù)據(jù)功能的正向同步十進制計數(shù)器。圖24是用主從JK觸發(fā)器構(gòu)成的同步十進制集成化計數(shù)器。同步計數(shù)器是采用快速進

48、位方式來計數(shù)的,觸發(fā)器及實現(xiàn)快速進位的邏輯電路是它的中心。 .圖24十進制同步計數(shù)器 .“預置數(shù)是集成化同步計數(shù)器的一個重要功能。普通設置控制端L,用來選擇電路是執(zhí)行計數(shù)還是執(zhí)行預置數(shù):當L1,執(zhí)行同步計數(shù);L0,執(zhí)行預置數(shù)。由于JK觸發(fā)器數(shù)據(jù)輸入是雙端的,所以要將單端的預置數(shù)AD經(jīng)兩級“與非門變成互補信號,再加在J,K端。圖24所示與非門411就是為此目的而設置的。當L1時,這些與非門被封鎖,快速進位電路輸出經(jīng)或門1215進入觸發(fā)器,電路執(zhí)行計數(shù);當L0,門411翻開,快速進位被封鎖,電路執(zhí)行置數(shù)。 可以方便地擴展位數(shù)是集成化計數(shù)器的一個特點。下面引見擴展方法。計數(shù)器擴展應滿足以下條件。 首

49、先,要有標志計數(shù)器已計至最大數(shù)的進位輸出端RC,對二進制、十進制計數(shù)器,RC分別為: 二進制計數(shù)器:RCQAQBQCQD 十進制計數(shù)器:RCQAQD.其次,計數(shù)器應有堅持功能。圖24計數(shù)器中設置了“計數(shù)允許端P和T,用來控制計數(shù)器快速進位電路和RC構(gòu)成門:當P,T均為“1,快速進位電路才干翻開見表28,此時假設L1,那么電路處于計數(shù)形狀;假設P0,T1,那么快速進位電路封鎖,電路不能計數(shù),此時假設L1,預置數(shù)也被封鎖,又由于T1時RC構(gòu)成門不封鎖,所以各觸發(fā)器形狀及RC均堅持。有了RC,P,T端,就可以方便地對計數(shù)器進展擴展。表28 同步計數(shù)器功能表.PTLRDCK功能1111計數(shù)01并行輸入

50、數(shù)據(jù)0111堅持011觸發(fā)器堅持,RC=01異步清“0.223 譯碼器譯碼器有n個輸入變量,2n個(或少于2n個)輸出,每個輸出對應于n個輸入變量的一個最小項。當輸入為某一組合時,對應的僅有一個輸出為“1(或為“0),其他輸出均為“0(或為“1)。譯碼器的用途是把輸入代碼譯成相應的控制電位,以實現(xiàn)代碼所要求的操作。圖25給出了2輸入4輸出譯碼器的邏輯圖。譯碼器中常設置“使能控制端正,當該端為“1時,譯碼器功能被制止,此時一切輸出均為“1。使能端的一個主要功能是用來擴展輸人變量數(shù)。.23 控制部件 控制器(見圖26)擔任控制整個計算機系統(tǒng)的運轉(zhuǎn),讀取指令存放器、形狀控制存放器以及從外部來的控制信

51、號(例如中斷信號),發(fā)布外控制信號控制CPU與存儲器、IO設備進展數(shù)據(jù)交換,發(fā)布內(nèi)控制信號控制存放器間的數(shù)據(jù)交換,控制ALU完成指定的運算功能,并且管理其他的CPU內(nèi)部操作。231 控制器的根本功能 控制器的根本功能就是時序(sequencing)控制和執(zhí)行(execution)控制。根據(jù)當前運轉(zhuǎn)的程序,控制器使CPU按一定的時序關系執(zhí)行一系列的微操作(micro-operation),從而完成程序規(guī)定的動作。 .控制器的輸入信號有:時鐘信號、指令存放器、標志位、控制總線上的控制信號??刂破鞯妮敵鲂盘柊ǎ篊PU內(nèi)的控制信號、發(fā)往控制總線的控制信號。 時鐘信號 控制器根據(jù)由時鐘電路產(chǎn)生的時鐘信

52、號進展定時,以控制各種操作按指定的時序進展。計算機的根本功能是執(zhí)行程序,而程序由一連串的指令組成;計算機的執(zhí)行過程由一連串的指令周期組成,每一指令周期完成一條機器指令。這些指令周期又可進一步細分為更小的單元,直到微操作(microoperation)CPU完成的根本的原子操作。時鐘電路由時鐘脈沖發(fā)生器、分頻電路及各種外圍電路組成。時鐘脈沖發(fā)生器的晶振頻率稱為機器的主頻,它產(chǎn)生的時鐘脈沖信號是整個機器的時間基準,其周期T稱為該計算機的時鐘周期。執(zhí)行一條機器指令所需的時間稱為一個指令周期(instructioncycle),由于CPU機器指令的執(zhí)行的時間通?;ゲ灰粯?,因此其指令周期也各不一樣。為了

53、便于控制和管理,把指令周期進展分解,細化為各種原子操作(微操作,op),每一op都與CPU的存放器相關。完成一個微操作的時間就稱為CPU周期(機器周期)。例如一條指令周期通??煞譃槿≈缸又芷?、執(zhí)行子周期、保管結(jié)果子周期,而每一個子周期又由假設干原子周期CPU周期組成。 .2指令存放器(R)控制器需求完成取指令、分析指令和執(zhí)行指令的操作??刂破鞲鶕?jù)程序計數(shù)器PC中的內(nèi)容(指令地址)從存儲器中取出該指令;然后對指令進展譯碼以確定所需執(zhí)行的 op;最后控制器根據(jù)分析的結(jié)果發(fā)出一系列的控制信號控制各相關部件(運算器、存儲器、IO設備)完成規(guī)定的操作;同時產(chǎn)生下一條指令的地址。MAR(PC)MBRMem

54、oryIR(MBR)PC(PC)13中斷控制邏輯計算機系統(tǒng)通常都提供了中斷機制,允許某一事件的發(fā)生(如由IO設備提出效力懇求)可以中止CPU正在執(zhí)行的程序,轉(zhuǎn)去對該事件進展處置,然后再前往原程序被中止處繼續(xù)執(zhí)行。中斷機制的主要作用就是提高CPU的處置效率;使CPU與IO設備并行任務,當進展IO操作時CPU可以處置其他事務;同時使CPU可以及時地呼應各種預先不知的異常事件,并進展處置;還可以實現(xiàn)分時操作等等。 .(1) 中斷處置過程 如圖27所示,假設系統(tǒng)允許呼應中斷懇求,那么在每條指令執(zhí)行完成后,控制器都要檢查能否有中斷發(fā)生,假設沒有中斷懇求信號,控制器那么轉(zhuǎn)去取下一條指令,假設有中斷事件發(fā)生

55、,那么暫停執(zhí)行當前程序并維護其現(xiàn)場形狀信息(如下一條指令的地址、相關存放器的內(nèi)容等等),然后轉(zhuǎn)去執(zhí)行中斷效力程序。當完成中斷效力后,再恢復以前保管的現(xiàn)場信息,從原程序被中止處(斷點)繼續(xù)執(zhí)行。. 圖27 計算機的中斷機制 .通常把CPU中斷處置過程分為兩個階段:中斷呼應過程和中斷效力過程。中斷呼應過程CPU接受中斷懇求后,就暫停執(zhí)行當前程序,進人中斷呼應過程:封鎖中斷:為了使CPU在中斷效力后可以前往原程序斷點處繼續(xù)執(zhí)行,在中斷呼應期間,保管斷點信息之前,需求封鎖中斷允許,制止CPU呼應新的中斷懇求。保管斷點信息:當CPU進入中斷呼應過程,封鎖中斷允許后,控制器要維護當前正在執(zhí)行的程序的斷點信

56、息;把程序的斷點即PC里的內(nèi)容,以及PSW里的內(nèi)容等推入系統(tǒng)堆棧。中斷前往以后,再從堆棧中恢復現(xiàn)場信息,繼續(xù)執(zhí)行主程序。把中斷效力程序的入口地址置人PC中:控制器保管完斷點信息后,接著就把相應的中斷效力程序入口地址置入程序計數(shù)器中去,CPU馬上要執(zhí)行的下一條指令就是中斷效力程序的第一條指令。 中斷效力過程當PC中置入中斷效力程序的入口地址之后,接著保管現(xiàn)場信息,CPU開放中斷允許呼應新的中斷懇求,然后就轉(zhuǎn)入中斷效力程序,對中斷事件進展處置。中斷效力完成之后,CPU再次制止中斷,以恢復現(xiàn)場和斷點信息,使之前往到原主程序斷點處繼續(xù)執(zhí)行。 .4總線控制邏輯計算機各個部件經(jīng)過總線(BUS)相互銜接起來

57、,傳送信息協(xié)調(diào)任務,共同完成操作。CPU內(nèi)部各器件之間互連的總線稱為內(nèi)部總線,CPU與其他部件之間互連的總線稱為外部總線(又稱系統(tǒng)總線)。由于總線是共享的傳輸通道,恣意一時辰只能由一個器件擔任發(fā)送數(shù)據(jù),所以需求由總線控制器采協(xié)調(diào)各部件懇求運用總線。當發(fā)生多個設備爭用總線時,仲裁電路會根據(jù)某種戰(zhàn)略(如優(yōu)先級)來決議運用總線的先后順序。常用的仲裁方式主要有中央仲裁和分布式仲裁兩種。232控制器的實現(xiàn)(硬布線邏輯微程序控制)控制器的作用就是根據(jù)輸入的時鐘信號、指令信息以及各種形狀信號產(chǎn)生相應的控制信號去控制各個部件完成特定的操作??刂破鞯倪壿嬙O計中包括時序邏輯(控制微操作的時序關系)、譯碼邏輯(對指

58、令操作碼進展譯碼分析)、執(zhí)行邏輯(按一定的順序執(zhí)行微操作)和決策邏輯(根據(jù)ALU等部件的標志位來決議下一步的動作)??刂破鞯膶崿F(xiàn)方法主要有兩種:硬布線邏輯(hard wired implementation)和微程序控制(microprogrammed implementation)。 .1硬布線邏輯在這種機制下,控制器根本上由組合電路實現(xiàn),因此這種方法又稱之為組合邏輯實現(xiàn)(圖28)。(1)指令譯碼控制器分析每條待執(zhí)行的指令,對不同的操作碼產(chǎn)生不同的控制信號。為了簡化設計,可以由一個譯碼器來完成操作碼的識別功能,一個n位輸入的譯碼器可以識別2n條不同的指令操作碼,為每一條操作碼產(chǎn)生不同的輸出信號。(2)定時(一個指令所產(chǎn)生的輸出控制信號是有時序關系的)控制器利用輸入的時鐘信號作為產(chǎn)生各種控制信號的定時信號。由于控制器在一個指令周期內(nèi),需求在不同的時辰發(fā)出不同的控制信號,所以采用一個定時電路根據(jù)時鐘信號依次產(chǎn)生定時信號如T1,T2, ,Tn。控制器就在T1,T2, ,Tn的作用下,順序產(chǎn)生各種控制信號。在指令周期的末尾,控制器要復位定時電路,以便在下一個指令周期開場時,定時電路

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論