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

下載本文檔

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

文檔簡介

第二章數(shù)據(jù)表示方法2-1數(shù)據(jù)表示方法和運算器

2-2邏輯部件

2-3控制部件

2.1數(shù)據(jù)表示方法和運算器

2.1.1計算機中數(shù)據(jù)的表示方法

當前的計算機所采用的存儲器件都是兩態(tài)器件,所以適合于存放二進制數(shù)據(jù)。盡管為了方便起見,也使用其他進制,如十進制、十六進制,但是在計算機內(nèi)部數(shù)據(jù)還是以二進制的形式存放和處理。二進制只使用了兩個不同的數(shù)字符號,易于用物理器件來實現(xiàn):在物理世界中具有兩個穩(wěn)定狀態(tài)的物理器件很多,如晶體管的“截止”與“導通”、電容的“充電”與“放電”、電壓信號的“高”與“低”、脈沖的“有”與“無”,電磁單元的“正向磁化”與“反向磁化”等等,只要規(guī)定其中一種穩(wěn)定狀態(tài)表示“1”,另一種穩(wěn)定狀態(tài)表示“0”,就可以用來表示二進制數(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ù)值符號的方法是占用一位二進制位,1表示負號、0表示正號。常用的數(shù)值數(shù)據(jù)表示格式有兩種,根據(jù)小數(shù)點的位置是固定不變還是浮動變化的分為定點格式和浮點格式。一般來說,定點格式容許的數(shù)值范圍有限,但要求的處理硬件比較簡單。而浮點格式容許的數(shù)值范圍很大,但要求的處理硬件比較復雜。(1)定點數(shù)的表示方法所謂定點格式,即約定機器中所有數(shù)據(jù)的小數(shù)點位置是固定不變的。由于約定在固定的位置,小數(shù)點就不再使用記號“.”來表示。原理上講,小數(shù)點位置固定在哪一位都可以,但是通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)。

例如用一個n+1位字來表示一個定點數(shù)x,其中一位x0用來表示數(shù)的符號,其余位數(shù)代表它的量值。為了將整個n+1位統(tǒng)一處理起見,符號位x0放在最左位置,并用數(shù)值0和1分別代表正號和負號,這樣,對于任意定點數(shù)x=x0x1x2…xn,在定點機中可表示為如下形式:

x0x1x2……xn-1xn符號←數(shù)量值→

如果數(shù)x表示的是純小數(shù),那么小數(shù)點位于x0和x1之間。當x0x1x2…xn各位均為0時,數(shù)x的絕對值最小,當各位均為1時,x的絕對值最大,故數(shù)的表示范圍為0≤▕x▏≤1—2-n

如果數(shù)x表示的是純整數(shù),那么小數(shù)點位于最低位xn的右邊,此時數(shù)x的表示范圍為0≤▕x▏≤2n-1,目前計算機中多采用定點純整數(shù)表示,因此將定點數(shù)表示的運算簡稱為整數(shù)運算。

(2)浮點數(shù)的表示方法采用浮點表示法表示的數(shù)據(jù)叫做浮點數(shù),采用浮點數(shù)進行運算的機器叫做“浮點機”。浮點數(shù)是指小數(shù)點位置可以改變的數(shù),顯然浮點數(shù)可用來表示帶符號的實數(shù)。例如:表示8位字長的二進制浮點數(shù)可以寫成

±0.10110101×2±111▏←尾數(shù)→▕↑階碼

任意一個十進制數(shù)N可以寫成N=10Z×X,同樣,在計算機中一個任意進制數(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ù)中的位置,因而決定了浮點數(shù)的表示范圍。浮點數(shù)也要有符號位。因此一個機器浮點數(shù)應當由階碼和尾數(shù)及其符號位組成:

32位浮點數(shù)的標準格式為:

Z0Z1Z2……Zn-1ZnX0X1X2……

Xn-1Xn階符←階碼→數(shù)符←尾數(shù)→

31302322032位浮點數(shù)F←Z→←X

→64位浮點數(shù)的標準格式為:

63625251064位浮點數(shù)F←Z→←X

→不論是32位浮點數(shù)還是64位浮點數(shù),規(guī)定基數(shù)B=2。由于基數(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ù)域的最前面。Z是階碼,占用8位,階符采用隱含方式,即采用移碼方法來表示正負指數(shù)。移碼方法對兩個指數(shù)大小的比較和對階操作都比較方便,因為階碼域值大者其指數(shù)值也大。采用這種方式時,將浮點數(shù)的指數(shù)值z變成階碼Z時,應將指數(shù)z加上一個固定的偏移值127(01111111),即Z=z+127。一個規(guī)格化的32位浮點數(shù)X的值可表示為X=(-1)F×(1.X)×2E-127

其中尾數(shù)域所表示的值是1.X。因為規(guī)格化的浮點數(shù)的尾數(shù)域最左位也即最高有效位總是1,故這一位經(jīng)常不予存儲,而認為隱藏在小數(shù)點的左邊。

64位的浮點數(shù)中符號位1位,階碼域11位,尾數(shù)域52位,指數(shù)偏移值是1023。因此規(guī)格化的64位浮點數(shù)X的真值為X=(-1)F×(1.X)×2E—1O23z=E-1023若不對浮點數(shù)的表示作出明確規(guī)定,同一個浮點數(shù)的表示就不是惟一的。例如0.5也可以表示成0.05×101,50×10—2等等。為了提高數(shù)據(jù)的表示精度,當尾數(shù)的值不為0時,其絕對值應≥0.5,即尾數(shù)域的最高有效位應為1,否則要以修改階碼同時左右移小數(shù)點的辦法,使其變成這一要求的表示形式,這稱為浮點數(shù)的規(guī)格化表示。當一個浮點數(shù)的尾數(shù)為0,不論其階碼為何值,或者當階碼的值遇到比它能表示的最小值還小時,不管其尾數(shù)為何值,計算機都把該浮點數(shù)看成零值,稱為機器零。浮點數(shù)所表示的范圍遠比定點數(shù)大的多。假設(考慮符號位)機器中的數(shù)由8位二進制數(shù)表示時:在定點機中這8位全部用來表示有效數(shù)字(包括符號);在浮點機中若階符階碼占3位,數(shù)符尾數(shù)占5位。在此情況下,若只考慮正數(shù)值,定點機小數(shù)表示的數(shù)的范圍是0.0000000到0.1111111,相當于十進制數(shù)的0到127,而浮點機所能表示的數(shù)的范圍是2-11×0.0001到211×0.1111,相當于十進制數(shù)的1/128~7.5。顯然,都用8位,浮點機能表示的數(shù)的范圍比定點機大得多。

一臺計算機中究竟采用定點表示還是浮點表示,要根據(jù)計算機的使用條件來確定。一般在高檔微機以上的計算機中同時采用定點、浮點表示,由使用者進行選擇。而單片機中多采用定點表示?!纠?.1】若浮點數(shù)X0的二進制存儲格式為(43240000)16,求其32位浮點數(shù)的十進制值。解:將16進制數(shù)展開后,可得二制數(shù)格式為01000011001001000000000000000000↑↑↑↑↑

F階碼(8位)尾數(shù)(23位)指數(shù)z=階碼—127=10000110—01111111=00000111=(7)10。包括隱藏位1的尾數(shù)1.X=1.01001000000000000000000=1.010010于是有

X0=(—1)F×1.X×2z=+(1.010010)×27=+10100100=(187)10。

【例例2..2】】將將十十進進制制數(shù)數(shù)16..59375轉(zhuǎn)轉(zhuǎn)換換成成32位位浮浮點點數(shù)數(shù)的的二二進進制制格格式式來來存存儲儲。。解::首首先先分分別別將將整整數(shù)數(shù)和和分分數(shù)數(shù)部部分分轉(zhuǎn)轉(zhuǎn)換換成成二二進進制制數(shù)數(shù)::16..59375==10000..10011移移動動小小數(shù)數(shù)點點,,使使其其在在第第1位位和和第第2位位之之間間10000..10011==1..000010011××24z==4所以以::F=0,,E=4++127=131,,X=000010011則得得到到的的32位位浮浮點點數(shù)數(shù)的的二二進進制制存存儲儲格格式式為為::01000001100001001100000000000000=(4184C000)16(3)定定點點數(shù)數(shù)據(jù)據(jù)的的編編碼碼方方法法①真值值與與機機器器碼碼機器器碼碼是是數(shù)數(shù)在在計計算算機機中中的的表表示示形形式式。。對對于于數(shù)數(shù)值值數(shù)數(shù)據(jù)據(jù)而而言言,,無論論以以定定點點形形式式表表示示或或是是以以浮浮點點形形式式表表示示,,都都需需要要通通過過某某種編編碼碼方方法法,,以以計計算算機機所所能能處處理理的的0和和1二二進進制制位位來來表表示示其數(shù)數(shù)值值大大小小。。通通常常一一個個數(shù)數(shù)值值數(shù)數(shù)據(jù)據(jù)的的機機內(nèi)內(nèi)表表示示形形式式稱稱為為其其機機器碼碼,,而而一一個個機機器器碼碼所所代代表表的的數(shù)數(shù)值值稱稱為為該該機機器器碼碼的的真真值值。。計算算機機中中只只有有機機器器碼碼,,不不存存在在數(shù)數(shù)的的真真值值。。假設設機機器器碼碼的的寬寬度度為為n,,最高高位位為為符符號號位位,,下下面面分分別別介介紹紹實際際應應用用中中常常見見的的4種種機機器器碼碼編編碼碼方方法法::原原碼碼、、反反碼碼、、補補碼和和移移碼碼。。②原碼碼表表示示法法定點點整整數(shù)數(shù)原原碼碼表表示示法法定點點整整數(shù)數(shù)原原碼碼的的定定義義如如下下所所示示::[X]原=X0≤X<2n-1[X]原=2n-1-X-2n-1<X≤0由定定義義可可以以看看出出,,正正整整數(shù)數(shù)的的原原碼碼就就是是其其自自身身,,負負整整數(shù)數(shù)的的原原碼碼只只需需把把其其絕絕對對值值的的原原碼碼的的符符號號位位置置為為1即即可可。。(用用0表表示示正正號號,,用用1表表示示負負號號)。。原原碼碼表表示示方方法法的的定定點點整整數(shù)數(shù)的的取取值值范范圍圍為為--(2n--1-)≤≤X≤≤2n--1-1。。注意意在在原原碼碼表表示示法法中中,,零零有有正正零零和和負負零零之之分分。。[++0]==0000……0,,[--0]==1000……0。。定點點小小數(shù)數(shù)的的原原碼碼表表示示法法定點點小小數(shù)數(shù)原原碼碼的的定定義義如如下下所所示示::[X]原=X0≤X<1[X]原=1-X-1<X≤0正的的純純小小數(shù)數(shù)的的原原碼碼就就是是其其自自身身,,而而負負的的純純小小數(shù)數(shù)的的原原碼碼可可以以通通過過把把其其絕絕對對值值的的原原碼碼的的符符號號位位置置1來來得得到到。。其其取取值值范范圍圍為為--(1--2-(n--1))≤≤X≤≤(1--2-(n--1))。。綜上上可可以以看看出出一一個個數(shù)數(shù)的的原原碼碼是是由由符符號號位位加加上上數(shù)數(shù)值值位位絕絕對對值值組組成成,,符符號號位位為為0代代表表正正數(shù)數(shù),,符符號號位位為為1代代表表負負數(shù)數(shù)。。由由于于0有有++0和和--0兩兩種種表表示示方方法法,,n位二二進進制制數(shù)數(shù)可可以以表表示示2n-1個原原碼碼。。用原原碼碼實實現(xiàn)現(xiàn)乘乘除除運運算算規(guī)規(guī)則則較較簡簡單單,,但但做做加加減減運運算算不不方方便便。。原原碼碼表表示示法法的的一一個個主主要要優(yōu)優(yōu)點點在在于于其其真真值值和和機機器器碼碼表表示示之之間間對對應應關關系系很很直直觀觀,,容容易易轉(zhuǎn)轉(zhuǎn)換換。。③補碼碼表表示示法法定點點整整數(shù)數(shù)的的補補碼碼表表示示定點點整整數(shù)數(shù)補補碼碼的的定定義義如如下下所所示示::[X]補=X0≤≤X<<2n--1[X]補=2n+X--2n--1≤X<<0正整整數(shù)數(shù)的的補補碼碼就就是是其其自自身身,,負負整整數(shù)數(shù)的的補補碼碼可可以以通通過過對對其其絕絕對對值值部部分分逐逐位位求求反反,,并并在在最最低低位位加加1求得得。。同同樣樣,,在在補補碼碼表表示示法法中中,,符符號號位位為為0表示示正正號號,,為為1表示示負負號號。。其其表表示示的的真真值值X的范范圍圍為為-2n-1≤X≤2n-1-1。在補補碼碼表表示示中中,,0的機機器器碼碼是是惟惟一一的的,,沒沒有有++0和--0之分分。。定點點小小數(shù)數(shù)的的補補碼碼表表示示定點點小小數(shù)數(shù)補補碼碼的的定定義義如如下下所所示示::[X]補=X0≤X<1[X]補=2+X-1≤X<0定點點小小數(shù)數(shù)的的補補碼碼求求解解方方法法與與定定點點整整數(shù)數(shù)的的補補碼碼求求解解方方法法相相類似似。。其其表表示示的的真真值值X的范范圍圍為為--1≤X≤1-2-(n-1)。當n=8時,-1的定點小數(shù)數(shù)補碼表示示為:10000000,而用定點整數(shù)的補補碼表示--1,則為11111111。在補碼表示示方法中,,0的編碼是惟惟一的,所所以n位二進制數(shù)可以表表示2n個補碼。③反碼表示示法定點整數(shù)的的反碼表示示定點整數(shù)反反碼的定義義如下所示示:[X]反=X0≤X<2n-1[X]反=(2n-1)+X--2n-1<X≤0同樣,正整整數(shù)的反碼碼就是其自自身,而負負整數(shù)的反反碼可以通過對其其絕對值逐逐位求反來來求得。在在反碼表示示法中,符號位仍仍然用0表表示正號,,1表示負負號。其表表示的真值范圍與原原碼相同::-(2n-1-1)≤X≤2n-1-1。數(shù)值0用反碼表示示亦有+0和-0之之分。當n=8時,[+0]反=00000000,,[-0]反=11111111。定點小數(shù)的的反碼表示示定點小數(shù)反反碼的定義義如下所示示:[X]反=X0≤X<1[X]反=(2-2-n+1)+X--1<<X≤0定點小數(shù)的的反碼求解解方法類似似定點整數(shù)數(shù)的反碼求求解方法。。其表示的的真值的取取值范圍為為:-(1-2-(n-1))≤X≤(1-2-(n-1))。反碼表示法法中,由于于0占有了兩個個不同的編編碼,所以以,n位二進制數(shù)數(shù)可以表示示2n-1個反碼。④移碼表示示法定點整數(shù)的的移碼表示示[X]移=2n-1+X-2n-1≤X<2n-1定點小數(shù)的的移碼表示示[X]移=1+X-1≤X<1移碼的符號號位與其他他三種編碼碼不同,用用1表示正號而而0表示負號。。移碼的求求法其實也也很簡單,,把其補碼碼的符號位位直接變反反即可。所所以在移碼碼表示法中中,0也有惟一的的表示方法法:10000000(n=8)【例2.3】】設機器碼長長度為8,求X=(-6)10的原碼、補補碼、反碼碼和移碼。。解:[X]原碼=27-(-110)=10000000+110=10000110[X]補碼=28+(-110)=10000000-110=11111010[X]反碼=(28--1)+(-110)=11111111-110=11111001[X]移碼=27+(-110)=10000000+110=01111010【【例2.44】設機機器碼長度度為8,求求X=(-0.3125)10=(-0..0101)2的原碼、補補碼、反碼碼和移碼。。解:[X]原碼=1-X=1.0-(-0.0101)=1.0101=10101000[X]補碼=2+X=10..0+(--0.0101)==1.1011=11011000[X]反碼=(2-2-7)+X=(10.0-0.0000001)+(--0.0101)==11010111[X]移碼=1+X=1.0+(-0.0101)=0.1011=01011000實際上求某某個數(shù)的原原碼、補碼碼、反碼和和移碼時不不僅可以利利用其定義義式采求解解,也可以以通過這4個編碼間間的相互關關系來求得得。比如移移碼就可以以通過把補補碼的符號號位變反來來求,而對對于正數(shù)來來講其原碼碼、補碼和和反碼是完完全相同的的;一個負負數(shù)的補碼碼也可以很很容易地從從其原碼推推知:除符符號位外,,各位取反反,末位再再加1即可可。(4)浮點點數(shù)據(jù)的編編碼方法計算機內(nèi)部部浮點數(shù)據(jù)據(jù)表示成如如下形式::FXZXFX是尾數(shù)的符符號位,0表示正號號而l表示負號;;Z是階碼,通通常用移碼碼表示;X是定點小數(shù)數(shù)形式的尾尾數(shù),一般般用補碼或或原碼表示示。【例2.55】某某浮點數(shù)機機器碼10位,基數(shù)數(shù)為2,階階碼用4位位移碼表示示,尾數(shù)5位用補碼碼表示,符符號位1位位。求210×0.110l的編碼。解:符號位FX=0階碼Z=(10)移碼=1010尾數(shù)X=(0..1101)補碼=11010則其編編碼為為0101011010【例22.66】某浮點點數(shù)機機器碼碼為17位,基基數(shù)為為2,階碼碼用4位移碼碼表示示,尾尾數(shù)用用12位補碼碼表示示,符符號位位1位。求求-2.75的浮點點編碼碼形式式。解:首首先把把-2.75表示成成浮點點形式式:(-2.75)10=(-0.6875×22)10=(-0.1011)2×2(10)FX=1Z=(10)移碼=1010X=(-0.1011)補碼=010100000000編碼為為11010010100000000同一個個浮點點數(shù)可可以有有許多多種不不同的的編碼碼表示示(改改變其其階碼碼),,所以以需要要對浮浮點數(shù)數(shù)進行行規(guī)格格化處處理,,以統(tǒng)統(tǒng)一其其形式式,同同時提提高數(shù)數(shù)據(jù)的的表示示精度度。規(guī)格化化處理理(基基數(shù)為為2)①尾數(shù)數(shù)部分分以純純小數(shù)數(shù)形式式表示示,其其絕對對值應應滿足足0..5≤≤▕X▏<<1。。若不滿滿足該該條件件,則則需要要修改改階碼碼并對對尾數(shù)數(shù)進行行移位位,以以使尾尾數(shù)滿滿足該該條件件;②當尾尾數(shù)為為正時時,無無論其其使用用原碼碼還是是補碼碼表示示,X應滿足足條件件:0.5≤X<1。以二進進制形形式表表示為為X=0.1xx…x(x為0或1);③用原原碼表表示的的負尾尾數(shù),,X滿足--1<X≤-0.5,以二進進制形形式表表示為為M=1.1xx…x(x為0或1);④以補補碼表表示的的負尾尾數(shù),,X滿足--1≤M<-0.5,以二進進制形形式表表示為為X=1.0xx…x(x為0或1);從上面面的討討論可可以看看出,,如果果規(guī)格格化的的尾數(shù)數(shù)用原原碼表表示,,則其其最高高位一一定為為1如果改改用補補碼表表示,,則尾尾數(shù)的的最高高位與與其符符號位位相反反,即即為0。2.符符號數(shù)數(shù)據(jù)的的表示示方法法現(xiàn)代計計算機機不僅僅處理理數(shù)值值領域域的問問題,,而且且處理理大量量非數(shù)數(shù)值領領域的的問題題。這這樣一一來,,必然然要引引入文文字、、字母母以及及某些些專用用符號號,以以便表表示文文字語語言、、邏輯輯語言言等信信息。。例如如人機機交換換信息息時使使用英英文字字母、、標點點符號號、十十進制制數(shù)以以及諸諸如$,%%,++等符符號。。然而而數(shù)字字計算算機只只能處處理二二進制制數(shù)據(jù)據(jù),因因此,,上述述信息息應用用到計計算機機中時時,都都必須須編寫寫成二二進制制格式式的代代碼,,也就就是字字符信信息用用數(shù)據(jù)據(jù)表示示,稱稱為符符號數(shù)數(shù)據(jù)。。最常常見的的編碼碼格式式為ASCⅡ碼和EBCDIC碼。(1))ASCⅡ碼目前國國際上上普遍遍采用用的一一種字字符系系統(tǒng)是是七單單位的的ASCII碼(美美國國國家信信息交交換標標準字字符碼碼),,它包包括10個個十進進制數(shù)數(shù)碼,,26個英英文字字母和和一定定數(shù)量量的專專用符符號,,如$,%%,++,==等,,總共共128個個元素素,因因此二二進制制編碼碼需要要7位位,加加上一一個偶偶校驗驗位,,共8位,,剛好好為一一個字字節(jié)。。表2-1列出出了七七單位位的ASCII碼字符符編碼碼表。。ASCII碼規(guī)定定8個個二進進制位位的最最高一一位為為0,,余下下的7位可可以給給出128個編編碼,,表示示128個個不同同的字字符。。其中中95個編編碼,,對應應著計計算機機終端端能輸輸人并并且可可以顯顯示的的95個字字符,,打印印機設設備也也能打打印這這95個字字符,,如大大小寫寫各26個個英文文字母母,0~9這10個個數(shù)字字符,,通用用的運運算符符和標標點符符號++,--,*,\\,>,==,<等等等。另外的的33個字字符,,其編編碼值值為0~31和和127,,則不不對應應任何何一個個可以以顯示示或打打印的的實際際字符符,它它們被被用作作控制制碼,,控制制計算算機某某些外外圍設設備的的工作作特性性和某某些計計算機機軟件件的運運行情情況。。計算機機里的的存儲儲和傳傳送單單位通通常使使用Byte(1Byte==8bit),所以7位的的ASCII碼也用用一個字節(jié)節(jié)來表表示。。ASCII編碼和和128個字符符的對對應關系系如表表2.1所示。表表中編碼碼符號的的排列次次序為bb7b6b5b4b3b2b1b0,最高1位沒有使使用,通通常填0;也可以以把它用用作校驗位或者者用來擴擴展字符符集。表表中未給給出,列列b6b5b4為高位部部分,行bb3b2b1b0為低位部部分。ASCII的字符編編碼表一一共有24=16行,23=8列。低4位編碼bb3b2b1b0用作行編編碼,而而b6b5b4高3位用作列列編碼。。值得注注意的一一點是數(shù)數(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碼可以去去掉b6b5b4(=011)而得得到到。。這這個個特特點點使使得得在在數(shù)字字符符號號(ASCII碼)與數(shù)數(shù)字字值值(二進進制制碼碼)之間間進進行行轉(zhuǎn)轉(zhuǎn)換換非非常常方方便便。。表2-1ASCⅡ字符符編編碼碼表表

0000010100111001011101110000NULDELSP0@P`p0001SOHDC1!1AQaq0010STXDC2〃2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111DELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l┃1101CRGS-=M]m}1110SORS.>N∧n~1111SIUS/?O—oDEL字符符串串是是指指連連續(xù)續(xù)的的一一串串字字符符,,通通常常方方式式下下,,它它們們占占用用主主存存中中連連續(xù)續(xù)的的多多個個字字節(jié)節(jié),,每每個個字字節(jié)節(jié)存存一一個個字字符符。。當當主主存存字字由由2個個或或4個個字字節(jié)節(jié)組組成成時時,,在在同同一一個個主主存存字字中中,,既既可可按按從從低低位位字字節(jié)節(jié)向向高高位位字字節(jié)節(jié)的的順順序序存存放放字字符符串串內(nèi)內(nèi)容容,,也也可可按按從從高高位位字字節(jié)節(jié)向向低低位位字字節(jié)節(jié)的的次次序序順順序序存存放放字字符符串串內(nèi)內(nèi)容容。。這這兩兩種種存存放放方方式式都都是是常常用用方方式式,,不不同同的的計計算算機機可可以以選選用用其其中中任任何何一一種種。。例例如如下下述述字字符符串串::圖2-1字字符符串串在在主主存存中中的的存存放放IF┗┛┛A>B┗┛┛ELSE┗┛┛READ(C)┗┛┛就可可以以按按圖圖2-1所示示從從高高位位字字節(jié)節(jié)到到低低位位字字節(jié)節(jié)依依次次存存放放在在主主存存中中。。其其中中主主存存單單元元長長度度由由4個字字節(jié)節(jié)組組成成。。每每個個字字節(jié)節(jié)中中存存放放相相應應字字符符的的ASCII值,,文文字字表表達達式式中中的的空空格格““┗┗┛┛””在在主主存存中中也也占占一一個個字字節(jié)節(jié)的的位位置置。。因因而而每每個個字字節(jié)節(jié)分分別別存存放放十十進進制制的的73,70,32,65,62,66,32,69,76,83,69,32,82,69,65,68,40,67,41,32。(2)EBCDIC碼EBCDIC(ExtendedBinaryCodedDecimalInterchangeCode)即所所謂謂擴擴展展的的二二//十十進進制制交交換換碼碼。。采采用用8bit編碼碼來來表表示示一一個個字字符符,,共共可可以以表表示示28=256個不不同同符符號號,,但但EBCDIC中并并沒沒有有使使用用全全部部編編碼碼,,只只選選用用了了其其中中一一部部分分,,剩剩下下的的保保留留作作擴擴充充用用。。EBCDIC碼常常用用于于IBM大型型機機中中。。在在EBCDIC碼制制中中,,數(shù)數(shù)字字““0”~~““9”的的高高4位編編碼碼都都是是1111,而而低低4位編編碼碼則則依依次次為為0000到1001。把把高高四四位位屏屏蔽蔽掉掉,,也也很很容容易易實實現(xiàn)現(xiàn)從從EBCDIC碼到到二二進進制制數(shù)數(shù)字字值值的的轉(zhuǎn)轉(zhuǎn)換換。。3..漢漢字字的的表表示示方方法法(1)漢字字的的輸輸入入編編碼碼為了了能能直直接接使使用用西西文文標標準準鍵鍵盤盤把把漢漢字字輸輸入入到到計計算算機機,,就就必必須須為為漢漢字字設設計計相相應應的的輸輸入入編編碼碼方方法法。。當當前前采采用用的的方方法法主主要要有有以以下下三三類類::數(shù)數(shù)字字編編碼碼常用用的的是是國國標標區(qū)區(qū)位位碼碼,,用用數(shù)數(shù)字字串串代代表表一一個個漢漢字字輸輸入入。。區(qū)區(qū)位位碼碼是是將將國國家家標準準局局公公布布的的6763個兩兩級級漢漢字字分分為為94個區(qū)區(qū),,每每個個區(qū)區(qū)分分94位,,實實際際上上把把漢漢字字表表示示成成二二維維數(shù)數(shù)組組,,每每個個漢漢字字在在數(shù)數(shù)組組中中的的下下標標就就是是區(qū)區(qū)位位碼碼。。區(qū)區(qū)碼碼和和位位碼碼各各兩兩位位十十進進制制數(shù)數(shù)字字,,因因此此輸輸入入一一個個漢漢字字需需按按鍵鍵四四次次。。例例如如““中中””字字位位于于第第54區(qū)48位,,區(qū)區(qū)位位碼碼為為5448。數(shù)字字編編碼碼輸輸入入的的優(yōu)優(yōu)點點是是無無重重碼碼,,且且輸輸入入碼碼與與內(nèi)內(nèi)部部編編碼碼的的轉(zhuǎn)轉(zhuǎn)換換比比較較方方便便,,缺缺點點是是代代碼碼難難以以記記憶憶。。拼音音碼碼拼拼音音碼碼是是以以漢漢語語拼拼音音為為基基礎礎的的輸輸入入方方法法。。凡凡掌掌握握漢漢語語拼拼音音的的人人,,不不需需訓訓練練和和記記憶憶,,即即可可使使用用。。但但漢漢字字同同音音字字太太多多,,輸輸入入重重碼碼率率很很高高,,因因此此按按拼拼音音輸輸入入后后還還必必須須進進行行同同音音字字選選擇擇,,影影響響了了輸輸入入速速度度。。字形編碼字形編碼是用用漢字的形狀狀來進行的編編碼。漢字總總數(shù)雖多,但但是由一筆一劃組成,全全部漢字的部部件和筆劃是是有限的。因因此,把漢字字的筆劃部件件用字母或數(shù)數(shù)字進行編碼碼,按筆劃的的順序依次輸輸入,就能表表示一個漢字字。例如五筆筆字型編碼是是最有影響的的一種字形編編碼方法。除了上述三種種編碼方法之之外,為了加加快輸入速度度,在上述方方法基礎上,,發(fā)展了詞組組輸入、、聯(lián)想輸入等等多種快速輸輸入方法。但但是都利用了了鍵盤進行““手動”輸入入。理想的輸輸入方式是利利用語音或圖圖像識別技術術“自動”將將拼音或文本本輸入到計算算機內(nèi),使計計算機能認識識漢字,聽懂懂漢語,并將將其自動轉(zhuǎn)換換為機內(nèi)代碼碼表示。目前前這種理想已已經(jīng)成為現(xiàn)實實。(2)漢字的存儲((漢字內(nèi)碼))漢字內(nèi)碼是用用于漢字信息息的存儲、交交換、檢索等等操作的機內(nèi)內(nèi)代碼,一般般采用兩個字字節(jié)表示。英英文字符的機機內(nèi)代碼是七七位的ASCII碼,當用一個個字節(jié)表示時時,最高位為為“0”。為了與英英文字符能相相互區(qū)別,漢漢字機內(nèi)代碼碼中兩個字節(jié)節(jié)的最高位均均規(guī)定為“1”。例如漢字字操作系統(tǒng)CCDOS中使用的漢字字內(nèi)碼是一種種最高位為““l(fā)”的兩字節(jié)內(nèi)碼碼。有些系統(tǒng)中字字節(jié)的最高位位用于奇偶校校驗位,這種種情況下用三三個字節(jié)表示示漢字內(nèi)碼。。(3)漢字的輸出((漢字字模碼碼)字模碼是用點點陣表示的漢漢字字形代碼碼,它是漢字字的輸出形式。根據(jù)據(jù)漢字輸出的的要求不同,,點陣的多少少也不同。簡易型漢字為為16×16點陣,,提高型漢字字為24××24點陣陣、32×32點陣,甚至至更高。因此此字模點陣的的信息量是很很大的,所占存儲空間間也很大。以以16×16點陣為為例,每個漢漢字要占用32個字字節(jié),國標兩兩級漢字要占占用256K字節(jié)。因此字字模點陣只能用來來構(gòu)成漢字庫庫,而不能用用于機內(nèi)存儲儲。字庫中存儲了每個漢漢字的點陣代代碼。當顯示示輸出或打印印輸出時才檢索字庫,輸輸出字模點陣陣,得到字形形。圖2--2示出了““大”字的點陣及編編碼。注意,,漢字的輸入入編碼、漢字字內(nèi)碼、字模碼是計算機機中用于輸入入、內(nèi)部處理理、輸出三種種不同用途的編碼,不要要混為一談。。圖2-2漢字的字模點點陣及編碼4.校驗碼元件故障、噪噪聲干擾等各各種因素常常常導致計算機機在處理信息息過程中出現(xiàn)現(xiàn)錯誤。例如如將1位x從部件A傳送到部件B,可能由于傳送送信道中的噪噪聲干擾而受受到破壞,以以至于在接收收部件B收到的是而不不是x。為了防止這種種錯誤,可將將信號采用專專門的邏輯線線路進行編碼碼以檢測錯誤誤,甚至校正正錯誤。通常常的方法是,,在每個字上上添加一些校校驗位,用來來確定字中出出現(xiàn)錯誤的位位置。計算機機中常用這種種檢錯或糾錯錯技術進行存存儲器讀寫正正確性或傳輸輸信息的檢驗驗。這里僅介介紹檢錯碼中中的奇偶校驗驗碼。最簡單且應用用廣泛的檢錯錯碼是采用一一位校驗位的的奇校驗或偶偶校驗。設X=(x0x1…xn-1)是一個n位字,則奇校校驗位定義為C=x0x1…xn-1式中⊕代表按按位加,表明明只有當X中包含有奇數(shù)數(shù)個1時,才能使=1,即C=0。同理,偶校驗驗位C定義為C=x0x1…xn-1即X中包含偶數(shù)個個1時,才使C=0。假設一個字X從部件A傳送到部件B。在源點A,校驗位C可用上面公式式算出來,并并合在一起將將(x0x1…xn-1C)送到B。假設在B點真正接收到到的是X=(x’0x’1…x’n-1C’),然后計算F=(x’0x’1…x’n-1C’)若F=1,意味著收到的的信息有錯,,例如(x0x1…xn-1)中正巧有一位位變“反”時時就會出現(xiàn)這這種情況。若若F=0,表明X字傳送正確。。奇偶校驗可可提供單個錯錯誤檢測,但但無法檢測多多個錯誤,更更無法識別錯錯誤信息的位位置?!纠玻贰俊恳阎卤碇凶笞竺嬉粰谟?個字節(jié)的數(shù)據(jù)據(jù)。請分別是是用奇校驗和和偶校驗進行行編碼,填在在中間一欄和和右面一欄。。解:假定最低低一位為校驗驗位,其余高高8位為數(shù)據(jù)據(jù)位,列表如如下。從中看看出,校驗位位的值取。還還是取1,是是由數(shù)據(jù)位中中1的個數(shù)決決定的。數(shù)據(jù)偶校驗編碼奇校驗編碼10101010101010100101010101010101000101010010101010000000000000000000000000000101111111011111111011111110111111111111111101111111112.1.2計計算機中中算術運算和邏邏輯運算1.二進制數(shù)數(shù)的算術運算算(1)定點點數(shù)運算①定點數(shù)數(shù)加法/減法法運算定點數(shù)的加法法和減法運算算使用補碼較較為方便。對對于定點小數(shù)數(shù)的運算規(guī)則則如下:加法:[X+Y]補={[X]補+[y]補}mod2減法:[X-Y]補={[X]補+[-y]補}mod2當運算結(jié)果超超過了定點數(shù)數(shù)的表示范圍圍時,則產(chǎn)生生溢出(Overflow),常用的溢出檢檢測機制主要要有以下兩種種:進位判決法::令Cn—1表示次高位(最高數(shù)值位位)向最高位位(符號位)的進位,Cn則表示符號位位的進位,則則結(jié)果是否溢溢出的判決表表如表2-2所示,即CnCn—1=1時溢出。這里里,表示異或或。表2-2溢溢出的判決決表CnCn-1Overflow=CnCn-100無溢出01溢出10溢出11無溢出【例2.8】】X=(100)10=(01100100)2,Y=(50)10=(00110010)2,求X+Y。解:[X]補=01100100,[y]補=00110010[X+Y]補=[X]補+[y]補=10010110CnCn—1=1,表示結(jié)果溢出出?!纠?9】】X=(-100)l0—(-01100100)2,Y=(-50)l0=(-00110010)2,求X-Y。解:[X]補=10011100,[-y]補=00110010[X-Y]補=[X]補+[-Y]補=11001110CnCn-1=0,因此沒有溢出出。雙符號位判決決法:采用兩位二進進制位來表示示符號位:00~正號,,11~負號號,根據(jù)運算結(jié)果的符號號位也可以判判定其是否溢溢出,其判決決表如表2..3所示。表2-3雙雙符號位判判決表運算結(jié)果的符號位Overflow運算結(jié)果的符號位Overflow00無溢出10溢出01溢出11無溢出【例2.100】X=(100)l0=(01100100)2,Y=(50)l0=(00110010)2,求X+Y。解:[X]補=001100100[Y]補=000110010[X+Y]補=[X]補+[y]補=010010110其符號位為01,說明明結(jié)果溢出。。②定點數(shù)乘乘法運算在作定點數(shù)的的乘法運算時時采用原碼比比較方便。通通常使用原碼碼一位乘法來來求兩個定點點數(shù)的乘積。。運算規(guī)則:乘積的符號位位等于乘數(shù)和和被乘數(shù)的符符號位進行異異或;乘積的值等于于兩數(shù)絕對值值之積,即乘乘數(shù)和被乘數(shù)數(shù)的絕對值進進行移位相加加。算法:(用絕絕對值進行運運算)令X表示被乘數(shù),,Y表示乘數(shù),P表示部分積以以存放中間結(jié)結(jié)果,flag用作判別位,,count用作計數(shù)。令P=0;count=0;flag=0;P和Y一起右移一位位(P為高位部分,,Y為低位部分),右移時P的最高位補0,P的最低位移入入Y的最高位,Y的最低位移入入到flag中;如果flag=1同P=P+X,,否則P不變;count==count+1,如果count超過Y的位數(shù)則運算算停止,否則則轉(zhuǎn)到上述第第2步繼續(xù)執(zhí)執(zhí)行;P和Y的內(nèi)容就是所所求乘積的絕絕對值,其中中P存放積的高位位,而Y存放積的低位位?!纠玻保保薄縓=(10)l0=(1010)2,Y=(-6)10=(-0110)2,求X,Y。解:[▕X▏]原=1010,,[▕Y▏]原=0110乘積的符號位位S=01=1。表2-4定定點數(shù)乘法法運算表執(zhí)行動作部分積P乘數(shù)Y判別位Flagcounter初始化0000011000右移0000001101右移0000000112P+X1010

右移0101000013P+X1111

右移0111100004右移0011110005則所得乘積為為(-00111100)2=(-60)l0③定點數(shù)除法運運算定點數(shù)的除法法通常也常用用原碼進行。。下面介紹常常用的加減交交替法求兩個個數(shù)X和Y的商。運算規(guī)規(guī)則:商的符號位同同定點數(shù)原碼碼乘法的處理理方法,由兩兩數(shù)的符號位位進行異或;;兩數(shù)的絕對對值部分進行行相除;算法:(求X/Y,設X、Y的數(shù)值部分長長度為N)令及R=X,counter=0;R=R-Y;;若R為正則商1,,否則商0;;R左移一位,counter=counter++1;若上一次商為為1則R=R—Y,,否則R=R+Y;;R為正則商1,,否則商0;;若R=0或者counter≥N則結(jié)束,否則則轉(zhuǎn)到上述第第3步執(zhí)行。。(2)浮點點數(shù)運算在進行浮點運運算之前,應應先對浮點數(shù)數(shù)進行規(guī)格化化。①浮點數(shù)的加加減運算設有浮點數(shù)X=M·2i,Y=N·2j,求X+Y或X-Y,其運算過程如如下:對階:使兩個個數(shù)的階碼相相同。令K=▕i-j▏,把階碼小的數(shù)數(shù)的尾數(shù)右移移K位,其階碼加加上K。當右移尾數(shù)時時,若尾數(shù)用用補碼表示則則符號位參加加移位,符號號位不變,如如果是原碼,,則符號位不不參加移位,,尾數(shù)的最高高位補0。尾數(shù)進行加、、減運算:規(guī)格化處理::若尾數(shù)所得得結(jié)果不是規(guī)規(guī)格化的數(shù),,則需對其進進行規(guī)格化處處理。當尾數(shù)數(shù)溢出時,尾尾數(shù)向右規(guī)格格化位,階碼碼加1;當尾尾數(shù)用補碼表表示,尾數(shù)的的最高位與符符號位相同時時,應向左規(guī)規(guī)格化,尾數(shù)數(shù)每向左移一一位,階碼減減1,直到尾尾數(shù)最高位與與符號位相反反。舍入操作:舍舍入的方法常常用0舍1入入,即當向右右規(guī)格化時,,若移掉的最最高位為1,,則在尾數(shù)末末位加1,否否則舍去。另另一種則是““恒1”法,,即不管移走走的數(shù)據(jù)為何何值,尾數(shù)最最末位恒置1。溢出判斷:以以階碼為準。。若階碼上溢溢,則結(jié)果溢溢出;若階碼碼下溢,則結(jié)結(jié)果為0;否否則結(jié)果正確確無溢出。②浮點數(shù)的的乘除運算浮點數(shù)相乘,,其積的階碼碼為兩數(shù)階碼碼相加,積的的尾數(shù)為兩尾尾數(shù)相乘。浮浮點數(shù)相除,,其商的階碼碼為兩數(shù)階碼碼之差,商的的尾數(shù)為兩尾尾數(shù)相除。其其結(jié)果都需要要進行規(guī)格化化處理,同時時還需要判斷斷其階碼是否否溢出。2.邏輯代數(shù)及邏邏輯運算邏輯代數(shù)是1849年英英國數(shù)學家喬喬治·布爾提提出的以代數(shù)數(shù)的方式對邏邏輯變量進行行描述和分析析的數(shù)學工具具,又稱布爾爾代數(shù)。邏輯輯變量的取值值只有“真””和“假”,,通常以1和和0表示。(1)基本本的邏輯運算算①“與”(AND)運算又稱為邏輯乘乘運算,其運運算符號通常常用AND、∩、、∧或·等表示。。兩個變量的的“與”運算算的運算規(guī)則則如表2-4所示。即當當A、B中任一變量取取0值時,其其運算結(jié)果為為0。表2.5““與”運算算表表表2.6““或”運算算表ABZ=A·B000010100111ABZ=A+B000011101111②“或”(OR)運算又稱為邏輯加加運算,其運運算符號為OR、U、V或+等。兩個個變量的“或或”運算規(guī)則則如表2-5所示。即當當A、B中任意一一個取1值時,,其運算算結(jié)果為為l。③“非”(NOT)運算又稱為邏邏輯求反反運算。。常用表表示對變變量A進行求反反。其運運算規(guī)則則很簡單單:=0,=1。④“異或或”運算算常用的還還有“異異或”運運算,又又稱為半半加運算算,其運運算符號號為XOR或。異異或運算算是一種種復合邏邏輯運算算,可用用上述基基本邏輯輯運算表表示如下下:A⊕B=A·B+A··B2.2邏邏輯輯部件2.2..1寄寄存器器1.寄存存器組(registerblock)概述CPU中的寄存存器通常??梢苑址譃閮深愵悾河脩魬艨梢姷牡募拇嫫髌?user-visibleregisters)和狀態(tài)控控制寄存存器(controlandstatusregisters)。(1)用戶可見見的寄存存器用戶能夠夠通過機機器語言言來訪問問這些寄寄存器。。合理優(yōu)優(yōu)化地使使用這些些寄存器器可以減減少對主主存的訪訪問次數(shù)數(shù),從而而提高程程序的執(zhí)執(zhí)行速度度。按其其功能可可以分為為4類:①通用寄寄存器(generalpurposeregister)通用寄存存器的用用途由程程序員編編程決定定,例如如可以用用來存放放操作數(shù)數(shù),也可可以用作作尋址寄寄存器。。②數(shù)據(jù)寄寄存器(dataregister)數(shù)據(jù)寄存存器僅能能用來存存放數(shù)據(jù)據(jù)而不能能用來對對操作數(shù)數(shù)的地址址進行計計算。③地址寄寄存器(addressregister)地址寄存存器用來來存放操操作數(shù)的的地址,,一般而而言地址址寄存器器又可以以分為段段地址寄寄存器(segmentpointerregister)、間址寄存存器(indexregister)和堆棧寄寄存器(stackpointerregister)。段地址寄寄存器用用在采用用段式內(nèi)內(nèi)存管理理的計算算機中,,存放著著某一段段內(nèi)存區(qū)區(qū)域的基基地址。。間址寄寄存器用用在間接接尋址(indexedaddressing)方式下。。堆棧寄寄存器用用以存放放堆棧棧棧頂?shù)牡氐刂?,使使得在使使用堆棧棧操?如push,pop)時無須顯顯式地給給出操作作數(shù)的地地址(即其地址址是隱含含的)。④標志寄寄存器(flag/conditioncodesregister)標志寄存存器中的的位是由由CPU硬件根據(jù)據(jù)運算的的結(jié)果而而設立的的一些指指示位,,以反映映該次運運算的某某些特征征:結(jié)果果為正、、負、零零、溢出出等等,,并可以以用作分分支跳轉(zhuǎn)轉(zhuǎn)的依據(jù)據(jù)。一般般而言,,標志寄寄存器允允許編程程者進行行讀操作作,但不不允許對對其直接接進行寫寫操作。。(2)狀態(tài)控制制寄存器器(CSR)這些寄存存器被控控制器(controlunit)用來控制制CPU的操作。。通常是是程序員員不可見見的,但但也有某某些寄存存器在某某種特定定的狀態(tài)態(tài)下可以以由某些些特權(quán)指指令進行行訪問。。常見的的CSR有:程序序計數(shù)器器(programcounter,PC)、指令寄存存器(instructionregister,IR)、存儲器地地址寄存存器(memoryaddress,register,MAR)、存儲器緩緩沖寄存存器(memorybufferregister,MBR)以及程序序狀態(tài)字字(programstatusword,PSW)。PC中存放著著下一條條待取指指令的地地址。當當程序順順序執(zhí)行行時,CPU在取回一一條指令令后,會會自動修修改PC中的值以以使其指指向下一一條指令令。而程程序中的的分支或或跳轉(zhuǎn)指指令也是是通過修修改PC中的值來來達到改改變流程程的目的的。IR中存放著著CPU剛?cè)』氐牡闹噶?,,以供指指令譯碼碼使用。。CPU和存儲器器之間的的數(shù)據(jù)交交換通過過MAR和MBR來實現(xiàn)。。MAR中存放著著待訪問問的內(nèi)存存單元的的地址而而MBR則存放從從內(nèi)存中中讀人的的數(shù)據(jù)或或要寫回回內(nèi)存單單元的數(shù)數(shù)據(jù)。這4個寄存器器(PC、IR、MAR、MBR)用來實現(xiàn)現(xiàn)在CPU和存儲器器(memory)之間的數(shù)數(shù)據(jù)交換換。另外外CPU內(nèi)部,在在ALU與MBR、用戶可見見的寄存存器之間間也可能能存在用用作輸入入/輸出緩沖沖寄存器器。2.寄存存器邏輯輯組成寄存器是是計算機機的一個個重要部部件,用用于暫存存數(shù)據(jù)、、指令等等。它由由觸發(fā)器器和一些些控制門門組成。。在寄存存器中,,常用的的是正邊邊沿觸發(fā)發(fā)D觸發(fā)器和和鎖存器器。圖2-3所示是由由正沿觸觸發(fā)的D觸發(fā)器組組成的四四位寄存存器。在在CP正沿作用用下,外外部數(shù)據(jù)據(jù)才能進進入寄存存器。D是復位端端,CP是D觸發(fā)器的的脈沖端端,CK是增加了了個與邏邏輯門電電路來取取正沿脈脈沖的輸輸入端。。四D寄存器的的功能見見表2-7,其中↑↑代表正正脈沖,,也即正正沿。圖2-3四D寄存器表2-7四D寄存器功功能表控制和輸入輸出RDCK1D2D3D4D1Q2Q3Q4Q1↑1D2D3D4D1D2D3D4D0×××××0000事實上,,在計算算機中常常要求寄寄存器有有移位功功能。如如在進行行乘法時時,要求求將部分分積右移移;在將將并行傳傳送的數(shù)數(shù)轉(zhuǎn)換成成串行數(shù)數(shù)時也需需移位。。有移位位功能的的寄存器器稱為移移位寄存存器。2.2..2計計數(shù)器器計數(shù)器是是計算機機、數(shù)字字儀表中中常用的的一種電電路。計計數(shù)器按按時鐘作作用方式式來分,,有同步步計數(shù)器器和異步步計數(shù)器器兩大類類。在異異步計數(shù)數(shù)器中,,由于高高位觸發(fā)發(fā)器的時時鐘信號號是由低低一位觸觸發(fā)器的的輸出來來提供的的,但是是結(jié)構(gòu)簡簡單。同同步計數(shù)數(shù)器中各各觸發(fā)器器的時鐘鐘信號是是由同一一脈沖來來提供的的,因此此,各觸觸發(fā)器是是同時翻翻轉(zhuǎn)的,,它的工工作頻率率比異步步計數(shù)器器高,但但結(jié)構(gòu)較較復雜。。計數(shù)器器按計數(shù)數(shù)順序來來分,有有二進制制、十進進制兩大大類。在在計算機機中較少少使用異異步計數(shù)數(shù)器,這這里著重重介紹有有并行輸輸入數(shù)據(jù)據(jù)功能的的正向同同步十進進制計數(shù)數(shù)器。圖2-4是用主——從J—K觸發(fā)器構(gòu)構(gòu)成的同同步十進進制集成成化計數(shù)數(shù)器。同同步計數(shù)數(shù)器是采采用快速速進位方方式來計計數(shù)的,,觸發(fā)器器及實現(xiàn)現(xiàn)快速進進位的邏邏輯電路路是它的的核心。。圖2-4十進制同同步計數(shù)數(shù)器“預置數(shù)數(shù)”是集集成化同同步計數(shù)數(shù)器的一一個重要要功能。。一般設設置控制制端L,用來選擇擇電路是是執(zhí)行計計數(shù)還是是執(zhí)行預預置數(shù)::當L=1,執(zhí)行同步步計數(shù);;L=0,執(zhí)行預置置數(shù)。由由于J—K觸發(fā)器數(shù)數(shù)據(jù)輸入入是雙端端的,所所以要將將單端的的預置數(shù)數(shù)A~D經(jīng)兩級““與非””門變成成互補信信號,再再加在J,K端。圖2-4所示與非非門4~11就是為此此目的而而設置的的。當L=1時,這些些與非門門被封鎖鎖,快速速進位電電路輸出出經(jīng)或門門12~15進入觸發(fā)發(fā)器,電電路執(zhí)行行計數(shù);;當L=0,門4~11打開,快快速進位位被封鎖鎖,電路路執(zhí)

溫馨提示

  • 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

提交評論