版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
新世紀(jì)計(jì)算機(jī)基礎(chǔ)教育叢書主編譚浩強(qiáng)
微型計(jì)算機(jī)原理及應(yīng)用
(第三版)
本教材及實(shí)驗(yàn)裝置榮獲教育部科技進(jìn)步二等獎(jiǎng).
廿
心目錄
第1章計(jì)算機(jī)基礎(chǔ)知識(shí)
第2章微型計(jì)算機(jī)的基本組成電路
第3章微型計(jì)算機(jī)的基本工作原理
第4章16位微處理器
第5章86系列微型計(jì)算機(jī)的指令系統(tǒng)
第6章微型計(jì)算機(jī)的程序設(shè)計(jì)
第7章微型計(jì)算機(jī)匯編語言及匯編程序
第8章輸入/輸出接口
第9章中斷控制器、計(jì)數(shù)/定時(shí)控制器及DMA控制器
第10章A/D及D/A轉(zhuǎn)換器
第11章32位微處理器
第12章PC總線及整機(jī)結(jié)構(gòu)
第13章MCS-51單片計(jì)算機(jī)
第14章微型計(jì)算機(jī)在自動(dòng)控制系統(tǒng)中的應(yīng)用
第1章計(jì)算機(jī)與信息化社會(huì)
1.1數(shù)制
1.2邏輯電路
1.3布爾代數(shù)
1.4二進(jìn)制數(shù)的運(yùn)算及其加法電路
習(xí)題
現(xiàn)代計(jì)算機(jī)是在微電子學(xué)高速發(fā)展與計(jì)算數(shù)學(xué)日臻
完善的基礎(chǔ)上形成的,可以說現(xiàn)代計(jì)算機(jī)是微電子
學(xué)與計(jì)算數(shù)學(xué)相結(jié)合的產(chǎn)物。微電子學(xué)的基本電路
元件及其逐步向大規(guī)模發(fā)展的集成電路是現(xiàn)代計(jì)算
機(jī)的硬件基礎(chǔ),而計(jì)算數(shù)學(xué)的數(shù)值計(jì)算方法與數(shù)據(jù)
結(jié)構(gòu)則是現(xiàn)代計(jì)算機(jī)的軟件基礎(chǔ)。
微電子學(xué)與計(jì)算數(shù)學(xué)發(fā)展至今已是內(nèi)容繁多、體系
紛紜,已有不少專著分別闡述。本章只是簡要地闡
述計(jì)算機(jī)中最基本的電路元件及最主要的數(shù)學(xué)知
識(shí)。對于已學(xué)過這些知識(shí)的讀者,本章將起到復(fù)習(xí)
和系統(tǒng)化的作用。對于未曾接觸過這些內(nèi)容的讀
者,本章的內(nèi)容是必要的入門知識(shí),因?yàn)檫@些內(nèi)容
都是以下各章的基礎(chǔ)。本章的目的是使本書能夠自
成系統(tǒng),讀者不必依賴于更多的參考書籍。
1.1數(shù)制
數(shù)制是人們利用符號(hào)來記數(shù)的科學(xué)方法。數(shù)制可
以有很多種,但在計(jì)算機(jī)的設(shè)計(jì)與使用上常使
用的則為十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)
制。
1.1.1數(shù)制的基與權(quán)
數(shù)制所使用的數(shù)碼的個(gè)數(shù)稱為基;數(shù)制每一位所
具有的值稱為權(quán)。
十進(jìn)制(decimalsystem)的基為“10”,即它所使用
的數(shù)碼為0,1,2,3,4,5,6,7,8,9,共
有10個(gè)。十進(jìn)制各位的權(quán)是以10為底的塞,如
下面這個(gè)數(shù):
523791
543210
101010101010
十萬萬千百十個(gè)
其各位的權(quán)為個(gè)、十、百、千、萬、十萬,即以10
為底的0塞、1寨、2寨等。故有時(shí)為了簡便而順次
稱其各位為0權(quán)位、1權(quán)位、2權(quán)位等。
二進(jìn)制(binai'ysystem)的基為“2”,即其使用的數(shù)碼
為0,X,共兩個(gè)。
二進(jìn)制各位的權(quán)是以2為底的塞,如下面這個(gè)數(shù):
二進(jìn)制110111
25242322212°
十進(jìn)制32168421
其各位的權(quán)為1,2,4…,即以2為底的0次哥、1次哥、2
次塞等。故有時(shí)也依次稱其各位為0權(quán)位、1權(quán)位、2權(quán)
位等。
八進(jìn)制(octavesystem)的基為“8”,即其數(shù)碼共有8個(gè):
0,1,2,3,4,5,6,7O八進(jìn)制的權(quán)為以8為底的
幕,有時(shí)也順次稱其各位為0權(quán)位、1權(quán)位、2權(quán)位等。
十六進(jìn)制(hexadecimalsystem)的基為“16”,即其數(shù)碼共
有16個(gè):0,1,2,3,4,5,6,7,8,9,A,B,
C,D,E,Fo十六進(jìn)制的權(quán)為以16為底的幕,有時(shí)也
稱其各位的權(quán)為0權(quán)、1權(quán)、2權(quán)等。
在微型計(jì)算機(jī)中這些數(shù)制都是經(jīng)常用到的,但在本書后
面的內(nèi)容中,二進(jìn)制和十六進(jìn)制更為常用,希望初學(xué)
者注意。
清華十字出版社
1.1.2為什么要用二進(jìn)制
電路通常只有兩種穩(wěn)態(tài):導(dǎo)通與阻塞、飽利與截
止、高電位與低電位等。具有兩個(gè)穩(wěn)態(tài)的電路
稱為二值電路。因此,用二值電路來計(jì)數(shù)時(shí),
只能代表兩個(gè)數(shù)碼:0利1。如以1代表高電
位,貝W代表低電位,所以,采用二進(jìn)制,可
以利用電路進(jìn)行計(jì)數(shù)工作。而用電路來組成計(jì)
算機(jī),則有運(yùn)算迅速、電路簡便、成本低廉等
優(yōu)點(diǎn)。
1.1.3為什么要用十六進(jìn)制
用十六進(jìn)制既可簡化書寫,又便于記憶。如下列
一些等值的數(shù):1000(2)=8(16)(BP8(10))
llll(2)=F(i6)(即EQ。))
110000(430(16)(即48(io))
一J14熱制的轉(zhuǎn)佳方法—-
由于我們習(xí)慣用十進(jìn)制記數(shù),在研究問題或討論解題的
過程時(shí),總是用十進(jìn)制來考慮和書寫的。當(dāng)考慮成熟
后,要把問題變成計(jì)算機(jī)能夠“看得懂”的形式時(shí),就
得把問題中的所有十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制代碼。這就
需要用到,,十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的方法,,。在計(jì)算
機(jī)運(yùn)算完畢得到二進(jìn)制數(shù)的結(jié)果時(shí),又需要用至臚二進(jìn)
制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法”,才能把運(yùn)算結(jié)果用十進(jìn)
制形式顯示出來。
1.十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的方法
一般可用下列方法求一個(gè)十進(jìn)制數(shù)的二進(jìn)制代碼:
用2除該十進(jìn)制數(shù)可得商數(shù)及余數(shù),則此余數(shù)為二進(jìn)制代
再用2除該商數(shù),又可得商數(shù)和余數(shù),則此余數(shù)為LSB左
鄰的二進(jìn)制數(shù)代碼。
用同樣的方法繼續(xù)用2除下去,就可得到該十進(jìn)制數(shù)的二
進(jìn)制代碼。
【例1.1】求13的二進(jìn)制代碼。其過程如下:
o1
211
230
(由上往下讀,可從左到右寫出二進(jìn)制代碼)
261
213
結(jié)果為:1101O
清‘培匯學(xué)期
上面是十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的“除2取余法”。
如果十進(jìn)制小數(shù)要轉(zhuǎn)換成二進(jìn)制小數(shù),則要采取“乘
2取整法”:
一個(gè)十進(jìn)制的小數(shù)乘以2之后可能有進(jìn)位使整數(shù)位為
1(當(dāng)該小數(shù)大于0?5時(shí)),也可能沒有進(jìn)位,其整數(shù)
位仍為零(當(dāng)該小數(shù)小于0.5時(shí))。這些整數(shù)位的結(jié)果
即為二進(jìn)制的小數(shù)位結(jié)果。舉例如下:
【例1.2】求十進(jìn)制數(shù)0.625的二進(jìn)制數(shù)。
用乘法的豎式計(jì)算,步驟如下:
????
6—SS
0.625
x2整數(shù)部為i,即二進(jìn)制小數(shù)后第一位為L
1.25
0.25
x2整數(shù)部為o,即二進(jìn)制小數(shù)后第二位為o.
050
0.50
整數(shù)部為1,即二進(jìn)制小數(shù)后第三位為L
1.00
至此就不用再算下去了。如果小數(shù)位不是0.0(),則還
得繼續(xù)乘下去,直至變成o.oo為止。因此,一個(gè)十
進(jìn)制小數(shù)在轉(zhuǎn)換為二進(jìn)制小數(shù)時(shí)有可能無法準(zhǔn)確地
轉(zhuǎn)換。如十進(jìn)制數(shù)0.1轉(zhuǎn)換為二進(jìn)制數(shù)時(shí)為
0.0001100110...o因此,只能近似地以0.00011001
來表示。
2.二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法
由二進(jìn)制數(shù)各位的權(quán)乘以各位的數(shù)(0或1)再加起來就
得到十進(jìn)制數(shù)。
【例1.3】求二進(jìn)制數(shù)101011的十進(jìn)制數(shù)。
101011
權(quán):252423222120
乘積:3208021
<,7
V
累加:43
結(jié)果:43(io)
二進(jìn)制小數(shù)轉(zhuǎn)換為十進(jìn)制時(shí)也可用同樣的方法,不
過二進(jìn)制數(shù)小數(shù)各位的權(quán)是2?1,2-2...o
【例1.4】求二進(jìn)制數(shù)0.101的十進(jìn)制數(shù)。
0101
權(quán):2°242-22-3
乘積:00.500.125
累加:0.625
結(jié)果:0.625(助
由此可得出兩點(diǎn)注意事項(xiàng):
(1)一個(gè)二進(jìn)制數(shù)可以準(zhǔn)確地轉(zhuǎn)換為十進(jìn)制數(shù),而一個(gè)帶
少數(shù)的十進(jìn)制數(shù)不一定能夠準(zhǔn)確地用二進(jìn)制數(shù)來表
ZjSO
(2)帶小數(shù)的十進(jìn)制數(shù)在轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)為
界,整數(shù)和小數(shù)要分別轉(zhuǎn)換。
此外,還有其他各種數(shù)制之間的轉(zhuǎn)換,其方法和上述方
法差不多,都用以從數(shù)判的定義中找至II轉(zhuǎn)換方法C
二
1.2邏輯電路
邏輯電路由其3種基本門電路(或稱判定元素)組
成。圖1.1是基本門電路的名稱、符號(hào)及表達(dá)
式。_________________________________
圖1.1
在這3個(gè)基本門電路的基礎(chǔ)上,還可發(fā)展成如圖1.2那
樣更復(fù)雜的邏輯電路。其中,最后一個(gè)叫作緩沖器
(buffer),為兩個(gè)非門串聯(lián)以達(dá)到改變輸出電阻的
目的。如果A點(diǎn)左邊電路的輸出電阻很高,則經(jīng)過
這個(gè)緩沖器之后,在Y點(diǎn)處的輸出電阻就可以變得
低許多倍,這樣就能夠提高帶負(fù)載的能力。
A
或非門
BYY=A+B
A
與非門YY=AXB
B
異或門A
YY=A^B
(異門)B
=AB+AB
異或非門A
Y
(同門)B
=AB+AB
緩沖器
A——1I1PYY=A
(變阻器)
圖1.2
清華十字出版社
1.3布爾代數(shù)
布爾代數(shù)也稱為開關(guān)代數(shù)或邏輯代數(shù),和一般代數(shù)一
樣,可以寫成下面的表達(dá)式:
Y=f(A,B,C,D)
但它有兩個(gè)特點(diǎn):
(1)其中的變量A,B,C,D等均只有兩種可能的數(shù)值:0
或1。布爾代數(shù)變量的數(shù)值并無大小之意,只代表事物
的兩個(gè)不同性質(zhì)。如用于開關(guān),貝小0代表關(guān)(斷路)或
低電位;1代表開(通路)或高電位。如用于邏輯推理,
貝IJ:0代表錯(cuò)誤(偽);1代表正確(真)。
⑵函數(shù)f只有3種基本方式:“或”運(yùn)算,“與”運(yùn)算及“反”
1.3.1“或”運(yùn)算
由于A,B只有0或1的可能取值,所以其各種可能結(jié)
果如下:
Y=O+O=O^Y=O
Y=O+1=1
Y=l+O=j-Y=1
Y=l+l=l
上述第4個(gè)式子與一般的代數(shù)加法不符,這是因?yàn)閅
也只能有兩種數(shù)值:0或1。
上面4個(gè)式子可歸納成兩句話,兩者皆偽者則結(jié)果必
偽,有一為真者則結(jié)果必真。這個(gè)結(jié)論也可推廣
至多變量,如A,B,C,D,……,各變量全偽者
則結(jié)果必偽,有一為真者則結(jié)果必真。寫成表達(dá)
式如下:
^Y=A+B+C+D+...
貝i」Y=O+O+.??+O=O->Y=0
Y=l+O+...+O=l
Y=O+l+...+O=l
Y=l+l+l...+l=l)
這意味著,在多輸入的“或”門電路中,只要其中一
個(gè)輸入為1,則其輸出必為1?;蛘哒f只有全部輸入
均為0時(shí),輸出才為0。
或運(yùn)算有時(shí)也稱為“邏輯或上當(dāng)A和B為多位二進(jìn)制
數(shù)時(shí),如:
A=A]A2A3。??An
高小幻二學(xué)出版社
B=B1B2B3...Bn
則進(jìn)行“邏輯或”運(yùn)算時(shí),各對應(yīng)位分別進(jìn)行“或”運(yùn)
舁:
Y=A+B
=(A1+B1)(A2+B2)(A3+B3)???(An+Bn)
【例1.5】
設(shè)
A=10101
B=11011
^ljY=A+B
=(1+1)(0+1)(1+0)(0+1)(1+1)
=11111
寫成豎式則為
10101
+)11011
意,1“或”1等于1,是沒有進(jìn)位的。
二
1.3.2“與”運(yùn)算
根據(jù)A和B的取值(0或1)可以寫出下列各種可能的
運(yùn)算結(jié)果:
Y=0X0=0
Y=1X0=0-Y=0
Y=0X1=0
Y=1X1=1->Y=1
這種運(yùn)算結(jié)果也可歸納成兩句話:二者為真者結(jié)果
必真,有一為偽者結(jié)果必偽。同樣,這個(gè)結(jié)論也可
推廣至多變量:各變量均為真者結(jié)果必真,有一為
偽者結(jié)果必偽。寫成表達(dá)式如下:
設(shè)丫二4乂:8乂(:><口又…
則
Y=OXOX...XO=O、
Y=1XOX...XO=OI-Y=0
Y=OX1X...XO=O
Y=1X1X1...X1=1-Y=1
這意味著,在多輸入“與”門電路中,只要其中一個(gè)
輸入為0,則輸出必為0,或者說,只有全部輸入均
為1時(shí),輸出才為1。
與運(yùn)算有時(shí)也稱為“邏輯與"。當(dāng)A和B為多位二進(jìn)制
數(shù)時(shí),如:
A=A]A2A3。*?An
B=B1B2B3...Bn
則進(jìn)行“邏輯與”運(yùn)算時(shí),各對應(yīng)位分別進(jìn)行“與“運(yùn)
>:
Y=AXB
=陽XB1)(A2XB2)(A3XB3)...(AnXBn)
【例1.6】
設(shè)A=11001010
B=00001111
則丫二人乂:8
=(1X0)(1X0)(0X0)(0X0)(1X1)(0X1)(1X1)(0X1)
=00001010
寫成豎式則為
11001010
X)00001111
00001010
由此可見,用“(T和一個(gè)數(shù)位相“與”,就是將其“抹
掉''而成為"0";用"1"和一個(gè)數(shù)位相“與”,就是將
此數(shù)位“保存”下來。這種方法在計(jì)算機(jī)的程序設(shè)計(jì)
中經(jīng)常會(huì)用到,稱為“屏蔽”。上面的B數(shù)(0000
1111)稱為“屏蔽字”,它將A數(shù)的高4位屏蔽起來,
使其都變成0了。
1.3.3“反”運(yùn)算
如果一件事物的性質(zhì)為A,則其經(jīng)過“反”運(yùn)算之后,其性
質(zhì)必與A相反,用表達(dá)式表示為:
Y=A
這實(shí)際上也是反相器的性質(zhì)。所以在電路實(shí)現(xiàn)上,反相
器是反運(yùn)算的基本元件。
反運(yùn)算也稱為“邏輯非”或“邏輯反”。
當(dāng)A為多位數(shù)時(shí),如:
A=A]A2A3???Afi
則其“邏輯反”為:Y=A1A2A3...An
【例設(shè):A=11010000
則:¥=00101111
1.3.4布爾代數(shù)的基本運(yùn)算規(guī)律
1.恒等式
A0=0A*1=AA*A=A
A+O=AA+l=lA+A=A
A+A=lA*A=OA=A
滴年十字出版社
K緋/'步算型明
2.運(yùn)算規(guī)律
與普通代數(shù)一樣,布爾代數(shù)也有交換律、結(jié)合律、
分配律,而且它們與普通代數(shù)的規(guī)律完全相同。
⑴交換律:AB=BA
A+B=B+A
⑵結(jié)合律:(AB)C=A(BC)=ABC
(A+B)+C=A+(B+C)=A+B+C
⑶分配律:A(B+C)=AB+AC
(A+B)(C+D)=AC+AD+BC+BD
利用這些運(yùn)算規(guī)律及恒等式,可以化簡很多邏輯關(guān)
系式。
【例1.8】A+AB=A(1+B)=A
A+AB=A+AB+AB=A+(A+A)B=A+B
【例1.9】如果原設(shè)計(jì)繼電器線路如圖1.3(a),現(xiàn)用邏
輯關(guān)系,化簡線路。
圖1.3
首先,把圖L3(a)中觸點(diǎn)(如同開關(guān))和燈的關(guān)系用布
爾代數(shù)表示如下:__
Y=(A+AB)B
其中A與A是同一繼電器的常開與常閉觸點(diǎn)。一般把
國開觸點(diǎn)定為變量A,B,則相應(yīng)的常閉觸點(diǎn)為A,
Bo
下面,用布爾代數(shù)進(jìn)行簡化:
Y=(A+AB)B
=AB+ABB
=AB+0
=AB
因此可以用圖1.3(b)中的電路,代替原設(shè)計(jì)的圖1.3(a)的電路。電路大大簡
化了,但能起到同樣的作用。
1.3.5摩根定理
在電路設(shè)計(jì)時(shí),人們手邊有時(shí)沒有“與”門,而只有
“或,門和“非”門;或者只有“與”門和“非”門,沒有
"或''門。利用摩根定理,可以解決元件互換的問
題。
二變量船摩根定理為:
A+B=AB
AB=A+B
推廣到多變量:
A+B+C+...=ABC...
ABC...=A+B+C+...
至于多變量的摩根定理,用相同的方法同樣可以得
到證明。
這個(gè)定理可以用一句話來記憶:頭上切一刀,下面
變個(gè)號(hào)。
A2B=A+B=A+B
A+B+C=ABC
1.3.6真值表及布爾代數(shù)式的關(guān)系
當(dāng)人們遇到一個(gè)因果問題時(shí),常常把各種因素全部
考慮進(jìn)去,然后再研究結(jié)果。真值表也就是這種
方法的一種表格形式。
例如,考慮兩個(gè)一位的二進(jìn)制數(shù)A和B相加,其本位
的和S及向高一位進(jìn)位C的結(jié)果如何?
全面考慮兩個(gè)一位二進(jìn)制數(shù),可能出現(xiàn)四種情況:
或A=0,B=0;或A=0,B=l;或A=LB=0;或
A=LB=l(一般ii個(gè)因素可有2n種情況)。這實(shí)質(zhì)是
兩個(gè)一位數(shù)(可為零,也可為1)的排列。然后,對
每一種情況進(jìn)行分析。當(dāng)A和B都為0時(shí),S為0,
進(jìn)位C也為0;當(dāng)A為0且B為1時(shí),S為L進(jìn)位C為
0;當(dāng)A為1且B為0時(shí),S為1,進(jìn)位C為0;當(dāng)A為1
且B也為1時(shí),由于S是一位數(shù)所以為0,而有進(jìn)位
C=lo
清工卷z:字曲函化
對于C因?yàn)橹挥蠥與B都為1時(shí),它才為1,所以經(jīng)
過分析即可知C=A?B。
對于S,因?yàn)樵诒碇械?行或第3行都可能為1,而第2
行要求A=0與B=l,在寫布爾代數(shù)式時(shí)要使S為1,
顯然只有AXB=0X1=1。所以第2行布爾代數(shù)式就
是A?B。對于第3行要求A=1與B=0,合寫布爾代數(shù)
式時(shí)要使S為1,顯然只有AXhlX冊1。所以第3
行布爾代數(shù)式就建A?瓦從而我們可以寫出S和A,
B的關(guān)系式為S=AB+AR。
這種從真值表寫出布爾代數(shù)式的方法可以用下面兩
段話來描述:
(1)寫布爾代數(shù)式先看真值表中結(jié)果為1的項(xiàng),有幾項(xiàng)
就有幾個(gè)“或”項(xiàng)。
(2)每一項(xiàng)各因素之間是“與”關(guān)系。寫該項(xiàng)時(shí)每個(gè)因
素都寫上,然后加“反*至于哪個(gè)因素要加
"反''(上橫線)要看該因素在這項(xiàng)里是否為"0”狀
態(tài),是“0”狀態(tài)則加"反”,否則不加“反”。
寫出布爾代數(shù)式后,要反過來去檢查寫得對不對。
例如,將第1項(xiàng)A=0和B=0代入式S=AB+A^,貝I」
S=00+00=0;將表中第2項(xiàng)A=0和B=1代入式
S=AB+AB貝iJSuO-l+O-lul+OuL依環(huán)推地代入檢
查。如果4項(xiàng)都對,則式子S=AB+AK確實(shí)代表了真
值表中S和A,B之間的邏輯關(guān)系。
通常,用真值表描述問題,不僅全面,而且通過它
來寫布爾代數(shù)式也很簡便。
1.4二進(jìn)制數(shù)的運(yùn)算及其加法電路
眾所周知,算術(shù)的基本運(yùn)算共有4種:力口、減、乘和
除。在微型計(jì)算機(jī)中常常只有加法電路,這是為
了使硬件結(jié)構(gòu)簡單而成本較低。不過,只要有了
加法電路,也能完成算術(shù)的4種基本運(yùn)算。
1.4.1二進(jìn)制數(shù)的相加
兩個(gè)二進(jìn)制數(shù)相加的幾個(gè)例子:
【例1.11】
(1)(2)
1A01A
+)1B+)10B
10S11S
進(jìn)位
(3)(4)
ffiEC
AOilA
+)11B+)011B
110110
進(jìn)位進(jìn)位
例中,加數(shù)A和被加數(shù)B都是1位數(shù),其和S變
成2位數(shù),這是因?yàn)橄嗉咏Y(jié)果產(chǎn)生進(jìn)位之故。
例1.11(2)中,A和B都是2位數(shù),相加結(jié)果S也是2位
數(shù),因?yàn)橄嗉咏Y(jié)果不產(chǎn)生進(jìn)位。
例1.11(3)中,A和B都是2位數(shù),相加結(jié)果S是3位數(shù),
這也是產(chǎn)生了進(jìn)位之故。
清工卷z:字曲函化
例111(4)中,是例1.11(3)的另一種寫法,以便看出
“進(jìn)位”究竟是什么意義。第1位(或稱0權(quán)位)是不可
能有進(jìn)位的,要求參與運(yùn)算的就只有兩個(gè)數(shù)A。和
Bo,其結(jié)果為S。。第2位(或稱1權(quán)位)就是3個(gè)數(shù)A1,
Bi及J參與運(yùn)算了。其中J是由于第1位相加的結(jié)
果產(chǎn)生的進(jìn)位。止匕3個(gè)數(shù)相加的結(jié)果其總和為
S1=l,同時(shí)又產(chǎn)生進(jìn)位C2,送入下一位(第3位)。
第3位(或稱2權(quán)位)也是3個(gè)數(shù)A2,及C2參加運(yùn)
算。由于A2及都是0,所以即等于第3位的相加
結(jié)果§2。
從以上幾例的分析可得出下列結(jié)論:
(1)兩個(gè)二進(jìn)制數(shù)相加時(shí),可以逐位相加。如二進(jìn)制
數(shù)可以寫成:
A=A3A2Aj.A。
B=B3B2BXB0
則從最右邊第1位(即0權(quán)位)開始,逐位相加,其結(jié)果
可以寫成:
s=s3s2s1s0
其中各位是分別求出的:
So=Ao+Bo-進(jìn)位C1
Si=Ai+Bi+C\一進(jìn)位C2
SZ=A2+B2+C2一進(jìn)位C3
S3=A3+B3+C3一進(jìn)位C4
最后所得的和是:
高小幻二學(xué)出版社
C4S3S2S1S0=A+B
⑵右邊第1位相加的電路要求:
輸入量為兩個(gè),即A。及B。;
輸出量為兩個(gè),即S。及Cj
這樣的一個(gè)二進(jìn)制位相加的電路稱為半加器(half
adder)。
⑶從右邊第2位開始,各位可以對應(yīng)相加。各位對應(yīng)
相加時(shí)的電路要求:
輸入量為3個(gè),即Aj,BpG;
輸出量為兩個(gè),即以4+1。
其中i=l,2,3,…,no這樣的一個(gè)二進(jìn)制位相加的電
路稱為全加器(fulladder)o
1.4.2半加器電路
要求有兩個(gè)輸入端,用以兩個(gè)代表數(shù)字(A。,B0)的電位輸
入;有兩個(gè)輸出端,用以輸出總和So及進(jìn)位Cj
這樣的電路可能出現(xiàn)的狀態(tài)可以用圖1.4中的表來表示。
此表在布爾代數(shù)中稱為真值表。
考察一下Ci與A。及B。之關(guān)系,即可看出這是“與”的關(guān)
系,即:
Ci=A°XBo
再看一下與A0及Bo之關(guān)系,也可看出這是“異或”的關(guān)
系,即:
So=A0十B。
=^0?0+^0?0
即只有當(dāng)A。及Bo二者相異時(shí),才起到或的作用;二
者相同時(shí),則其結(jié)果為0。因此,可以用“與門”及
“異或門”(或稱“異門”)來實(shí)現(xiàn)真值表的要求。圖1.4
就是這個(gè)真值表及半加器的電路圖。
真值表
AoBoCiSoAoBo
0000
0101
1001
L
1110
異
與門
或門
圖1.4
1.4.3全加器電路
全加器電路的要求是:有3個(gè)輸入端,以輸入
APBi和有兩個(gè)輸出端,即A及Ci+i。其真
值表可以寫成如圖L5所示。由此表分析可見,
其總和&可用“異或門”來實(shí)現(xiàn),而其進(jìn)位G+i
則可以用3個(gè)“與門”及一個(gè)“或門”來實(shí)現(xiàn),其
電路圖也畫在圖1.5中。
E
圖1.5
這里遇到了3個(gè)輸入的“異或門”的問題。如何判斷多
輸入的“異或門”的輸入與輸出的關(guān)系呢?判斷的方
法是:多輸入A,B,C,D,…中為“產(chǎn)的輸入量
的個(gè)數(shù)為零及偶數(shù)時(shí),輸出為0;為奇數(shù)時(shí),輸出
為1。
1.4.4半加器及全加器符號(hào)
圖1.6(a)為半加器符號(hào),圖1.6(b)為全加器符號(hào)。
(a)半加器符號(hào)(b)全加器符號(hào)
圖1.6
1.4.5二進(jìn)制數(shù)的加法電路
圖1.7
清紀(jì)學(xué)出版社SHiHM
A與B相加,寫成豎式算法如下:
A:1010
B:1011(+
S:10101
即其相加結(jié)果為S=10101。
從加法電路,可看到同樣的結(jié)果:
S=C4s3s2§上0
=10101
1.4.6二進(jìn)制數(shù)的減法運(yùn)算
在微型計(jì)算機(jī)中,沒有專用的減法器,而是將減法運(yùn)
算改變?yōu)榧臃ㄟ\(yùn)算。其原理是:將減數(shù)B變成其補(bǔ)
碼后,再與被減數(shù)A相加,其和(如有進(jìn)位的話,則
舍去進(jìn)位)就是兩數(shù)之差。
補(bǔ)碼是什么呢?對于二進(jìn)制數(shù)來說,簡言之,可用下
式來表示:
補(bǔ)碼=反碼+1
這就是說,如有一個(gè)二進(jìn)制數(shù)為A,這就是原碼,則
其反碼為,于是補(bǔ)碼A,可以寫成:
A=A+1
補(bǔ)碼并非只有二進(jìn)制數(shù)才有。在十進(jìn)制、十六進(jìn)制
等各種進(jìn)制中都是存在的。如在十進(jìn)制中原碼為6
的補(bǔ)碼是4,原碼為64的補(bǔ)碼是36,原碼為642的補(bǔ)
碼是358等°
由此可見:原碼+補(bǔ)碼的結(jié)果如下:
6+4=10
64+36=100
642+358=1000
即原碼與補(bǔ)碼互相補(bǔ)充而能得到一個(gè)進(jìn)位數(shù):
1位數(shù)的原碼加補(bǔ)碼得到的是2位數(shù)10;
2位數(shù)的原碼加補(bǔ)碼得到的是3位數(shù)100;
3位數(shù)的原碼加補(bǔ)碼得到的是4位數(shù)1000。
在做十進(jìn)制減法時(shí),也可以利用補(bǔ)碼而將減法運(yùn)算
變成加法運(yùn)算。例如73?15,可利用15的補(bǔ)碼85而
使減法變成加法:73+85=158,把進(jìn)位位1去掉,58
即為73與15之差。不過在十進(jìn)制中用電路由原碼求
補(bǔ)碼不十分方便,所以沒有人用這個(gè)規(guī)律去算減
法。
在二進(jìn)制中,將原碼每位變反,可得反碼。如10100
的反碼為01011,用2位電路很容易做到,而原碼與
反碼相加正好差1而未有進(jìn)位(無溢出)。如上例:
原碼:10100
反碼:01011
原碼+反碼=11111
清華;/‘二字出^
如果反碼加1后再去與原碼相加就得:
原碼+(反碼+1)=10100+01100
所以,在二進(jìn)制中,常用反碼加1的方法來獲得補(bǔ)
碼。
這在計(jì)算機(jī)中非常方便,因?yàn)槎M(jìn)制電路由原碼求
反碼是很容易的,這在下面就會(huì)看到。
有了補(bǔ)碼,就可以將減法變成加法來運(yùn)算了。請看
下面的例子。
【例1.12】求Y=8QO)?4(IO)=?
解:因?yàn)锳=8(1O)=1OOO(2)
B=4(10)=0100(2)
貝UB'=1011+1=1100⑵
高小幻二學(xué)出版社
于是Y=A-B
=A+B,
=1000+1100
=10100
匚進(jìn)位,應(yīng)舍去
二0100⑵=4(坳
【例1.13】求Y=F(H)?A(H尸?(即求15減10之差)
設(shè)A=F(H)=1111⑻=15(D)
B=A(H)=1010(B)=10(D)
則
B'=0101+l=0110(B)
所以Y=llll+0110
=X0101
▲
—進(jìn)位,舍去
=0101(B)(結(jié)果為5)
1.4.7可控反相器及加法/減法電路
利用補(bǔ)碼可將減法變?yōu)榧臃▉磉\(yùn)算,因此需要有
這么一個(gè)電路,它能將原碼變成反碼,并使其
最小位加1。
圖1.8的可控反相器就是為了使原碼變?yōu)榉创a而設(shè)
計(jì)的。這實(shí)際上是一個(gè)異或門(異門),兩輸入
端的異或門的特點(diǎn)是:兩者相同則輸出為0,
兩者不同則輸出為1。
利用這個(gè)特點(diǎn),在圖1.7的4位二進(jìn)制數(shù)加法電路上增
力口4個(gè)可控反相器并將最低位的半加器也改用全加
器,就可以得到如圖1.9的4位二進(jìn)制數(shù)加法器/減
法器電路了,因?yàn)檫@個(gè)電路既可以作為加法器電路
(當(dāng)SUB=O),又可以作為減法器電路(當(dāng)SUB=1)。
6
■
I
函
如果有下面兩個(gè)二進(jìn)制數(shù):
A=A3AzAj.A。
B=B3B2B1B0
則可將這兩個(gè)數(shù)的各位分別送入該電路的對應(yīng)端,
于是:
當(dāng)SUB=O時(shí),電路作加法運(yùn)算:A+Bo
當(dāng)SUB=1時(shí),電路作減法運(yùn)算:A-Bo
圖1.9電路的原理如下:當(dāng)SUB=0時(shí),各位的可控反
相器的輸出與B的各位同相,所以圖L9和圖1.7的
原理完全一樣,各位均按位相加。結(jié)果
S=S3s2S1S0,而其和為:C3S=C4S3S2S1S0o
高小幻二學(xué)出版社
K緋/'步算型明
當(dāng)SUB=1時(shí),各位的反相器的輸出與B的各位反相。注意,最右
邊第一位(即SO位)也是用全加器,其進(jìn)位輸入端與SUB端相
連,因此其Co=SUB=l。所以此位相加即為:
A0+B0+l
其他各位為:
A[+B]+C]
A2+B2+C2
A3+B3+C3
因此其總和輸出S二S3s2S1S0,即:
S=A+B+1
=A3A2A1A0+B3B2B]Bo+1
=A+B,
=A-B
當(dāng)然,此時(shí)C4如不等于0,則要被舍去。
習(xí)題
1.1將下列各二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。
(1)1101⑵
⑵11010(2)
(3)110100⑵
(4)10101001⑵
1.2將1.1題的各二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)。
1.3簡述3個(gè)門電路的基本元素在電路中對電平高低
的作用。
1.4布爾代數(shù)有哪兩個(gè)特點(diǎn)?
1.5布爾代數(shù)的“或運(yùn)算”結(jié)果可用哪兩句話來歸納?
其“與運(yùn)算”結(jié)果又可歸納成哪兩句話?
1.6什么叫原碼、反碼及補(bǔ)碼?
1.7為什么需要半加器和全加器,它們之間的主要區(qū)
別是什么?
1.8用補(bǔ)碼法寫出下列減法的步驟:
(1)1111(2)-1010(2)=?(2)=?(10)
(2)HOO(2)-OOll(2)=?(2)=?(lo)
1.9做出101011⑵+011110⑵的門電路圖并求其相加的
結(jié)果。
1.10做出第L9題中兩數(shù)相減的門電路圖并求其相減
的結(jié)果。
第2章微型計(jì)算機(jī)的基本組成電路
2.1算術(shù)邏輯單元
2.2觸發(fā)器
2.3寄存器
2.4三態(tài)輸出電路
2.5總線結(jié)構(gòu)
2.6存儲(chǔ)器
習(xí)題
任何一個(gè)復(fù)雜的電路系統(tǒng)都可以劃分為若干電路,
這些電路大都由一些典型的電路組成。微型計(jì)算機(jī)
就是由若干典型電路通過精心設(shè)計(jì)而組成的,各個(gè)
典型電路在整體電路系統(tǒng)中又稱為基本電路部件。
本章就是對微型計(jì)算機(jī)中最常見的基本電路部件的
名稱及電路原理作一簡單介紹。這些基本電路中最
主要的是算術(shù)邏輯單元(arithmaticlogicalunit,
ALU)>觸發(fā)器(trigger)、寄存器(register)、存儲(chǔ)器
(memoi*y)及總線結(jié)構(gòu)等。在本章中,數(shù)據(jù)在這些
部件之間的流通過程以及“控制字”的概念也將逐步
地引出。所有這些內(nèi)容都是組成微型計(jì)算機(jī)的硬件
基礎(chǔ)。
清華十字出版社
2.1算術(shù)邏輯單元
顧名思義,這個(gè)部件既能進(jìn)行二進(jìn)制數(shù)的四則運(yùn)算,也
能進(jìn)行布爾代數(shù)的邏輯運(yùn)算。
第1章已講過,二進(jìn)制數(shù)的運(yùn)算電路只能算加法。增加可
控反相器后,又能進(jìn)行減法,所以上章最后介紹的二
進(jìn)制補(bǔ)碼加法器/減法器就是最簡單的算術(shù)部件。但
是,只要利用適當(dāng)?shù)能浖浜希朔ㄒ部梢宰兂杉臃?/p>
來運(yùn)算,除法也可變成減法來運(yùn)算。
如果在這個(gè)基礎(chǔ)上,增加一些門電路,也可使簡單的
ALU進(jìn)行邏輯運(yùn)算。所謂邏輯運(yùn)算就是指“與”運(yùn)算和
“或”運(yùn)算。為了不使初學(xué)者陷入復(fù)雜的電路分析之
中,本教程不打算在邏輯運(yùn)算問題上開展討論。
清華方字出版社
ALU的符號(hào)一般畫成圖2.1那樣。A和B為兩個(gè)二進(jìn)制
數(shù),S為其運(yùn)算結(jié)果,control為控制信號(hào)(見圖1.9
的控制線端SUB)。
AB
ALU----control
s
圖2.1
薄
2.2觸發(fā)器
觸發(fā)器(trigger)是計(jì)算機(jī)的記憶裝置的基本單元,也
可說是記憶細(xì)胞。觸發(fā)器可以組成寄存器,寄存
器又可以組成存儲(chǔ)器。寄存器和存儲(chǔ)器統(tǒng)稱為計(jì)
算機(jī)的記憶裝置。
微型計(jì)算機(jī)所用觸發(fā)器一般用晶體管元件而不用磁
性元件。這是因?yàn)榫w管元件可以制成大規(guī)模的
集成電路,體積可以更小些。從晶體管電路基礎(chǔ)
中,我們已經(jīng)知道觸發(fā)器可以由兩個(gè)晶體管組成
的對稱電路來構(gòu)成,我們也知道觸發(fā)電路中有所
謂單穩(wěn)態(tài)觸發(fā)電路和雙穩(wěn)態(tài)觸發(fā)電路,這里不打
算重復(fù)這些電路的原理圖和工作特點(diǎn)了。
下面簡要地介紹一下RS觸發(fā)器、D觸發(fā)器和JK觸發(fā)
器,因?yàn)檫@些類型的觸發(fā)器是計(jì)算機(jī)中最常見的
基本元件。
2.2.1RS觸發(fā)器
RS觸發(fā)器可以用兩個(gè)目非門來組成,如圖2.2所示。當(dāng)
S=1而R=0時(shí),Q=1(Q=O)稱為置位;當(dāng)S=0而R=1時(shí),
Q=O(Q=1)稱為復(fù)位。
為了作圖方便,以后我們就只用方塊來表示,如圖2.3就
是RS觸發(fā)器的符號(hào)。
S端一般稱為置位端,使Q=1(=O),
R端一般稱為復(fù)位端,使0=。(=1)。
時(shí)標(biāo)RS觸發(fā)器——為了使觸發(fā)器在整個(gè)機(jī)器中能和其他
部件協(xié)調(diào)工作,RS觸發(fā)器經(jīng)常有外加的時(shí)標(biāo)脈沖,如
圖2.4所示。
*超!越目部老那里驛:/
圖2.4
此圖中的CLK即為時(shí)標(biāo)脈沖。它與置位信號(hào)脈沖S同
時(shí)加到一個(gè)與門的兩個(gè)輸入端;而與復(fù)位信號(hào)脈沖
同時(shí)加到另一個(gè)與門的兩個(gè)輸入端。這樣,無論是
置位還是復(fù)位,都必須在時(shí)標(biāo)脈沖端為高電位時(shí)才
能進(jìn)行。
2.2.2D觸發(fā)器
RS觸發(fā)器有兩個(gè)輸入端S和R。為了存儲(chǔ)一個(gè)高
電位,就需要一個(gè)高電位輸入的S端;為了存
儲(chǔ)一個(gè)低電位,就需要另一個(gè)高電位輸入的R
端。這在很多應(yīng)用中是不很方便的。D觸發(fā)器
是在RS觸發(fā)器的基礎(chǔ)上引伸出來的,它只需一
個(gè)輸入端口,圖2.5就是D觸發(fā)器的原理。
當(dāng)D端為高電位時(shí),S端為高電位,而通過非門后加
到R端的就是低電位,所以此時(shí)Q端就是高電位,
稱為置位。當(dāng)D端為低電位時(shí),S端為低電位,同
時(shí)R端變?yōu)楦唠娢?,所以Q端是低電位,稱為復(fù)
位。
圖2.5
圖2.6
無時(shí)標(biāo)的D觸發(fā)器是不能協(xié)調(diào)運(yùn)行的,圖2.6所示是
如何為D觸發(fā)器加上時(shí)標(biāo)的電路。此圖和圖2.4的道
理是一樣的,也是增加兩個(gè)與門就可以接受時(shí)標(biāo)脈
沖CLK的控制。
時(shí)標(biāo)脈沖CLK-般都是方波,在CLK處于正半周內(nèi)
的任何瞬間,觸發(fā)器都有翻轉(zhuǎn)的可能。這樣計(jì)算機(jī)
的動(dòng)作就不可能整齊劃一。我們總是想由時(shí)標(biāo)
CLK來指揮整個(gè)機(jī)器的行動(dòng)。因此,采用時(shí)標(biāo)邊
緣觸發(fā)的方式就可以得到準(zhǔn)確劃一的動(dòng)作。圖2.7
就是邊緣觸發(fā)的D觸發(fā)器的電路原理圖。
圖2.7與圖2.6的區(qū)別僅為增加了一個(gè)RC微分電路,
它能使方波電壓信號(hào)的前沿產(chǎn)生正尖峰,后沿產(chǎn)生
負(fù)尖峰。這樣,在D端輸入信號(hào)建立之后,當(dāng)時(shí)標(biāo)
脈沖的前沿到達(dá)的瞬間,觸發(fā)器才產(chǎn)生翻轉(zhuǎn)動(dòng)作。
如果D輸入端的信號(hào)是在時(shí)標(biāo)脈沖前沿到達(dá)之后才
建立起來的,則雖然仍在時(shí)標(biāo)脈沖的正半周時(shí)間
內(nèi),也不能影響觸發(fā)器的狀態(tài),而必須留到下一個(gè)
時(shí)標(biāo)脈沖的正半周的前沿到達(dá)時(shí)才起作用。這樣就
可以使整個(gè)計(jì)算機(jī)運(yùn)行在高度準(zhǔn)確的協(xié)調(diào)節(jié)拍之
中。
高小幻二學(xué)出版社
K緋/'步算型明
觸發(fā)器的預(yù)置和清除:在一些電路中,有時(shí)需要預(yù)
先給某個(gè)觸發(fā)器置位(即置1)或清除(即置0),而與
時(shí)標(biāo)脈沖以及D輸入端信號(hào)無關(guān),這就是所謂預(yù)置
和清除。這種電路很簡單,只要在圖2.7的電路中
增加兩個(gè)或門就可以實(shí)現(xiàn),如圖2.8所示。
PRESET(預(yù)置)
CLEAR(清除)
圖2.8
二
-------r---------=----------------二.3三I)再興少c內(nèi)玄5//:超S髭勢心享得后斐濟(jì)
邊緣觸發(fā)的D觸發(fā)器在計(jì)算機(jī)電路圖中常用圖2.9的
符號(hào)來表示。
圖2.9
圖2.9(a)為正邊緣觸發(fā)的符號(hào),而圖2.9(b)為負(fù)邊緣觸
發(fā)的符號(hào)。此二符號(hào)之差別在于后者增加了一個(gè)所
謂汽泡“?!?。這實(shí)際上是在D觸發(fā)器的時(shí)標(biāo)CLK的
微分電路之后再串聯(lián)一個(gè)非門(反相器)的簡化符
號(hào)。圖2.9(c)與前二圖之差別,也在于其增加了兩
個(gè)汽泡“O”,這也是代表了增加兩個(gè)非門于
PRESET和CLR端。這樣,就必須是低電平到來才
能經(jīng)非門轉(zhuǎn)換成高電平去進(jìn)行預(yù)置和清除作用。
清華十字出版社
2.2.3JK觸發(fā)器
JK觸發(fā)器是組成計(jì)數(shù)器的理想記憶元件,這里
就JK觸發(fā)器的電路原理作一簡要介紹。_
在RS觸發(fā)器前面增加兩個(gè)與門,并從輸出(。和Q)
到輸入(與門的輸入端)作交叉反饋,即可得到
JK觸發(fā)器如圖2.10所示。圖中的CLK輸入端串
有RC電路也是為了獲得正邊緣觸發(fā)的工作方
式的。這個(gè)電路的工作過程是:
or呈
SSWHdAlTsun<3LT
(1)當(dāng)J=0,K=0,即J和K郡是低電平時(shí),兩個(gè)與門
都被阻塞,無論此時(shí)Q和Q是什么狀態(tài),由于S利R
也是低電平,所以不會(huì)改變Q^Q的狀態(tài),這種狀
態(tài)稱為保持閉鎖狀態(tài)。
(2)J=0,K=l,即J為低電平而K為高電平。此時(shí)上
面的與門被阻塞,即S不可能為高電平,所以也無
置位(即使Q=l)的可能。如果此時(shí)Q=l,則反饋至
下面的與門。在下一個(gè)CLK的正脈沖邊沿到達(dá)
時(shí),觸發(fā)器就產(chǎn)生復(fù)位動(dòng)作(Q=0,Q=l)o如果Q原
來為低電平(Q=O「Q=1),則反饋至下面的與門而
使其也被阻塞,所以即使K=l,_也沒有任何動(dòng)作產(chǎn)
生,觸發(fā)器仍處于復(fù)位狀態(tài)(Q=0,Q=l)o
,?三M卜£士下探小7G!'2z,」7/尸戶戶廠尸1匚Z?^/
⑶J=LK=0,即J為高電平而K為低電平。此時(shí)下面的
與門被阻塞,即R不可能為高電平,所以也無復(fù)位(即
使Q=0)的可能。如果此時(shí)Q=0,而=1,則反饋至上面
的與門,在下一個(gè)CLK的正脈沖邊緣到達(dá)時(shí),觸發(fā)器
就產(chǎn)生量位動(dòng)作(Q=LQ=0)o如果Q原來為高電平
(Q=l,Q=0),則反饋至上面的與門而將其阻塞,這樣
上下兩個(gè)與門都被阻塞了,觸發(fā)器就仍處于置位狀態(tài)
(Q=l,Q=0)o
(4)J=LK=l,即J,K同為高電平,則可能使觸發(fā)器置
位(Q=LQ=0)或復(fù)位(Q=0,Q=l)o也就是說,如果原
來的狀態(tài)為Q=0,Q=l,在J=1及K=l>且在CLK的正
邊緣脈沖到達(dá)時(shí),就會(huì)翻轉(zhuǎn)到Q=LQ=0o反之,如果
原來的狀態(tài)為Q=LQ=0,在J=1及K=1W且在CLK的
正邊緣脈沖到達(dá)時(shí),就會(huì)翻轉(zhuǎn)到Q=0,Q=lo所謂翻
轉(zhuǎn),就是觸發(fā)器的狀態(tài)改變的意思。
清華方字出版社
下面要講到的計(jì)數(shù)器就是利用JK觸發(fā)器的翻轉(zhuǎn)特性
而組成的。JK觸發(fā)器的符號(hào)如圖2.11所示。
圖2.11
清隼十字出Q社
2.3寄存器
寄存器(register)是由觸發(fā)器組成的。一個(gè)觸發(fā)器就是一
個(gè)一位寄存器。由多個(gè)觸發(fā)器可以組成一個(gè)多位寄存
器。寄存器由于其在計(jì)算機(jī)中的作用之不同而具有不
同的功能,從而被命名為不同的名稱。常見的寄存器
有:緩沖寄存器——用以暫存數(shù)據(jù);移位寄存器——
能夠?qū)⑵渌娴臄?shù)據(jù)一位一位地向左或向右移;計(jì)數(shù)
器———個(gè)計(jì)數(shù)脈沖到達(dá)時(shí),會(huì)按二進(jìn)制數(shù)的規(guī)律累
計(jì)脈沖數(shù);累加器——用以暫存每次在ALU中計(jì)算的
中間結(jié)果。
下面分別介紹這些寄存器的工作原理及其電路結(jié)構(gòu)。
2.3.1緩沖寄存器
其基本工作原理為:設(shè)有一個(gè)二進(jìn)制數(shù),共有4位數(shù):
X=X3X2XxX0
要存到這個(gè)緩沖寄存器(buffer)中去,此寄存器是由4個(gè)D
觸發(fā)器組成的。將X。,XPX2,X3分別送到各個(gè)觸發(fā)
器的Do,DPD2,D3端去,只要CLK的正前沿還未到
來,則Qo,Qi,Q2,Q3就不受X。,XPX2,X3的影
響而保持其原有的數(shù)據(jù)。只有當(dāng)CLK的正前沿來到
時(shí),Qo,Qi,Q2,Q3才接受Do,DpD2,D3的影
響,而變成:
Qo=x0
Q1=X]
Ql=^2
^3=^3
結(jié)果就是:Q=Q3Q2Q1Q0=X3X2X1X0=Xo
這就叫做將數(shù)據(jù)X裝到寄存器中去了。如要將此數(shù)據(jù)送
至其他記憶元件去,則可由YO,Yl,Y2,Y3各條引
線引出去。
可控緩沖寄存器:圖2.12的緩沖寄存器的數(shù)據(jù)X輸入到Q
只是受CLK的節(jié)拍管理,即只要一將X各位加到寄存
器各位的D輸入端,時(shí)標(biāo)節(jié)拍一到,就會(huì)立即送到Q
去。這有時(shí)是不利而有害的,因?yàn)橐苍S我們還想讓早
已存在其中的數(shù)據(jù)多留一些時(shí)間,但由于不可控之
故,在CLK正前沿7到就會(huì)立即被來到門口的數(shù)據(jù)X
魅件玷
H
圖2.12
為此,我們必須為這個(gè)寄存器增設(shè)一個(gè)可控的
“門喝這個(gè)“門”的基本原理如圖2.13所示,它是由
兩個(gè)與門一個(gè)或門以及一個(gè)非門所組成的。
圖2.13
在X。端送入數(shù)據(jù)(0或1)后,如LOAD端(以下簡稱為L
端)為低電位,則右邊的與門被阻塞,X。過不去,
而原來已存在此位中的數(shù)據(jù)由Q。送至左邊的與門。
此與門的另一端輸入從非門引來的與L端反相的電
平,即高電位。所以Q。的數(shù)據(jù)可以通過左邊的與
門,再經(jīng)或門而送達(dá)Do端。這就形成自鎖,即既存
的數(shù)據(jù)能夠可靠地存在其中而不會(huì)丟失。如L端為
高電位,則左邊與門被阻塞而右邊與門可讓X。通
過,這樣Q。的既存數(shù)據(jù)不再受到自鎖,而X。可以
到達(dá)Do端。只要CLK的正前沿一到達(dá),X0即被送
到Qo去,這時(shí)就叫做裝入(LOAD)。一旦裝入之
后,L端又降至低電平,則利用左邊的與門,X。就
能自鎖而穩(wěn)定地存在Qo中。
要記住,以后我們一提到“L門”,大家就要想到圖
2.13的電路結(jié)構(gòu)及其作用:高電平時(shí)使數(shù)據(jù)裝入,
低電平時(shí),數(shù)據(jù)自鎖在其中。
對于多位的寄存器,每位各自有一套如圖2.13一樣的
電路。不過只用一個(gè)非門,并且只有一個(gè)LOAD輸
入端,如圖2.14所示。
trz國
ssmud人iTs&m八
清華方字出版社
可控緩沖寄存器的符號(hào)一般畫成圖2.15那樣,LOAD
為其控制門,而CLR為高電平時(shí)則可用以清除,使
其中各位變?yōu)?。
Q
圖2.15
2.3.2移位寄存器
移位寄存器(shiftingregister)能將其所存儲(chǔ)的數(shù)
據(jù)逐位向左或向右移動(dòng),以達(dá)到計(jì)算機(jī)在運(yùn)行
過程中所需的功能,例如用來判斷最左邊的位
是0或1等。電路原理圖如圖2.16所示。
圖2.16
左移寄存器如圖2.16(a)所示,當(dāng)Dj產(chǎn)1而送至最右邊
的第1位時(shí),即為1,當(dāng)CLK的正前沿到達(dá)時(shí),
Qo即等于1。同時(shí)第2位的D1也等于1。當(dāng)CLK第2
個(gè)正前沿到達(dá)時(shí),Qi也等于1。結(jié)果可得下列的左
移過程:
前沿未到
CLKQ=Q3Q2QIQO=OOO。
第1前沿來到Q=0001
第2前沿來到Q=0011
第3前沿來到Q=0111
第4前沿來到Q=llll
第5前沿來到,如此時(shí)Din仍為1,則Q不變,仍為
llllo
當(dāng)Q=llll之后,改變DM,使DE=O,則結(jié)果將是把。逐
位左移:
第1前沿來到Q=1110
第2前沿來到Q=1100
第3前沿來到Q=1000
第4前沿來到Q=0000
由此可見,在左移寄存器中,每個(gè)時(shí)鐘脈沖都要把所
儲(chǔ)存的各位向左移動(dòng)一個(gè)數(shù)位。
右移寄存器如圖2.16(b)所示。圖2.16(b)與圖2.16(a)之
差別僅在于各位的接法不同,而且輸入數(shù)據(jù)Dg是加
到左邊第1位的輸入端D3。根據(jù)上面的分析,當(dāng)
口加=1時(shí),隨著時(shí)鐘脈沖而逐步位移是這樣的:
CLK前沿未到Q=0000
第1前沿來到Q=1000
第2前沿來到Q=1100
第3前沿來到Q=1110
第4前沿來到Q=llll
由此可見,在右移寄存器中,每個(gè)時(shí)鐘脈沖都要把
所存儲(chǔ)的各位向右移動(dòng)一個(gè)位置。
可控移位寄存器:和緩沖寄存器一樣,在整機(jī)運(yùn)行
中,移位寄存器也需要另有控制電路,以保證其在
適當(dāng)時(shí)機(jī)才參與協(xié)調(diào)工作。這個(gè)電路也和圖2.13—
樣,只要在每一位的電路上增加一個(gè)這樣的LOAD
門(L門)即可以達(dá)到控制的目的。
可控移位寄存器的符號(hào)如圖2.17所示,其中新出現(xiàn)的
符號(hào)的意義是:
SHL——左移(shifttotheleft)
SHR——右移(shifttotheright)
圖2.17
清華十字出版社
2.3.3計(jì)數(shù)器
計(jì)數(shù)器(counter)也是由若干個(gè)觸發(fā)器組成的寄存器,它
的特點(diǎn)是能夠把存儲(chǔ)在其中的數(shù)字加1。
計(jì)數(shù)器的種類很多,有行波計(jì)數(shù)器、同步計(jì)數(shù)器、環(huán)形
計(jì)數(shù)器和程序計(jì)數(shù)器等。
(1)行波計(jì)數(shù)器(travellingwavecounter)的特點(diǎn)是:第1
個(gè)時(shí)鐘脈沖出使其最低有效位(leastsignificantbit,LSB)
加1,由0變1。第2個(gè)時(shí)鐘脈沖促使最低有效位由1變
0,同時(shí)推動(dòng)第2位,使其由0變1。同理,第2位由1變0
時(shí)又去推動(dòng)第3位,使其由0變1,這樣有如水波前進(jìn)一
樣逐位進(jìn)位下去。圖2.18就是由JK觸發(fā)器組成的行波
圖2.18中的各位的J,K輸入端都是懸浮的,這相當(dāng)
于J,K端都是置1的狀態(tài),亦即是各位都處于準(zhǔn)備
翻轉(zhuǎn)的狀態(tài)。只要時(shí)鐘脈沖邊緣一到,最右邊的觸
發(fā)器就會(huì)翻轉(zhuǎn),即Q由0轉(zhuǎn)為1或由1轉(zhuǎn)為0。各位的
JK觸發(fā)器的時(shí)鐘脈沖輸入端都帶有一個(gè)“氣泡”,
這表示是串有一個(gè)反相門(非門),這樣,只有時(shí)鐘
脈沖的后沿(產(chǎn)生負(fù)的尖峰電壓)才能為其所接受。
因此,可得計(jì)數(shù)步驟如下:
圖2.18
開始時(shí)使CLR由高電位變至低電位(這也是由于有“氣
泡”在CLR輸入端之故),則計(jì)數(shù)器全部清除,所
以:
Q=Q3Q2QIQO=OOOO
第1時(shí)鐘后沿到Q二0001
此Qo由低電位(0)升至高電位(1),產(chǎn)生的是電位上升
的變化,由于有“氣泡”在第2位的時(shí)鐘脈沖輸入
端,所以第2個(gè)觸發(fā)器不會(huì)翻轉(zhuǎn),必須在Qo由1降為
0時(shí)才會(huì)翻轉(zhuǎn)。接著:
第2時(shí)鐘后沿到Q=0010
第3時(shí)鐘后沿到Q二0011
第4時(shí)鐘后沿到Q二0100
第5時(shí)鐘后沿到Q二0101
第6時(shí)鐘后沿到Q二0110
第7時(shí)鐘后沿到Q二0111
第8時(shí)鐘后沿到Q二1000
第15時(shí)鐘后沿到Q=llll
第16時(shí)鐘后沿到Q二0000
在第16個(gè)時(shí)鐘脈沖到時(shí),計(jì)數(shù)器復(fù)位至0,因此這個(gè)
計(jì)數(shù)器可以計(jì)由0至15的數(shù)。如果要計(jì)的數(shù)更多,
就需要更多的位,即更多的JK觸發(fā)器來組成計(jì)數(shù)
器。如8位計(jì)數(shù)器可計(jì)由0至255的數(shù),12位計(jì)數(shù)器
可計(jì)由0至4095的數(shù),16位則可計(jì)由0至65535的
數(shù)。圖2.19是可控計(jì)數(shù)器的電路原理圖。
H
圖2.19
清華7二字:密版強(qiáng)
圖2.18中的J,K輸入端是懸浮的,所以每次時(shí)鐘脈
沖到時(shí),它都要翻轉(zhuǎn)一次。圖2.19中的各個(gè)J,K輸
入端連在一起引出來,由計(jì)數(shù)控制端COUNT的電
位信號(hào)來控制。當(dāng)COUNT為高電位時(shí),JK觸發(fā)器
才有翻轉(zhuǎn)的可能。當(dāng)COUNT為低電位時(shí)就不可能
翻轉(zhuǎn)。圖2.20是這種計(jì)數(shù)器的符號(hào)。
(2)同步計(jì)數(shù)器初學(xué)者可先不閱讀此段。
(synchronouscounter)行波計(jì)數(shù)器的工作原理是在
時(shí)鐘邊緣到來時(shí)開始計(jì)數(shù),由右邊第一位(LSB)開
始,如有進(jìn)位的話則要一位一位的推進(jìn)。而每一位
觸發(fā)器都需要建立時(shí)間tpg約為10納秒)。如果是16
位的計(jì)數(shù)器,則最大可能的計(jì)一個(gè)數(shù)的時(shí)間為160
納秒,這就顯得太慢了。
同步計(jì)數(shù)器是將時(shí)鐘脈沖同時(shí)加到各位的觸發(fā)器的
時(shí)鐘輸入端,而將前一位的輸出端(Q)接到下一位
的JK端去。這樣可以使計(jì)數(shù)器計(jì)數(shù)時(shí)間只相當(dāng)于
一個(gè)觸發(fā)器的建立時(shí)間tp,所以同步計(jì)數(shù)器在很多
微型機(jī)中常被使用。為了避免初學(xué)者陷到電路分析
中去,這里就不介紹具體線路了。
(3)環(huán)形計(jì)數(shù)器(ringcounter)也是由若干個(gè)觸發(fā)器組
成的。不過,環(huán)形計(jì)數(shù)器與上述計(jì)數(shù)器不一樣,它
只是僅有唯一的一個(gè)位為高電位,即只有一位為
1,其他各位為0。圖2.21是由D觸發(fā)器組成環(huán)形計(jì)
數(shù)器的電路原理圖。
圖2.20
圖2.21
當(dāng)CLR端有高電位輸入時(shí),除右邊第1位(LSB)外,
其他各位全被置0(因清除電位CLR都接至它們的
CLR端),而右邊第1位則被置1(因清除電位CLR被
引至其PR端)。這就是說,開始時(shí)Qo=L而Qi,
Q2,Q3全為0。因此,D1也等于1,而DO=Q3=O。
在時(shí)鐘脈沖正邊緣來到時(shí),則Qo=O,而Qi=L其
他各位仍為0。第2個(gè)時(shí)鐘脈沖前沿來到時(shí),
Qo=O,Qi=0,而Qz=l,Q3仍=0。這樣,隨著時(shí)鐘
脈沖而各位輪流置1,并且是在最后一位(左邊第1
位)置1之后又回到右邊第1位,這就形成環(huán)形置
位,所?稱為環(huán)形計(jì)數(shù)器。環(huán)形計(jì)數(shù)器的符號(hào)如圖
2.22所示。
環(huán)形計(jì)數(shù)器不是用來計(jì)數(shù)用,而是用來發(fā)出順序控
制信號(hào)的,這在計(jì)算機(jī)的控制器中是一個(gè)很重要的
(4)程序計(jì)數(shù)器(programcounter)也是一個(gè)行波計(jì)數(shù)
器(也可用同步計(jì)數(shù)器)。不過它不但可以從0開始
計(jì)數(shù),也可以將外來的數(shù)裝入其中,這就需要一個(gè)
COUNT輸入端,也要有一個(gè)LOAD門,程序計(jì)數(shù)
器的符號(hào)如圖2.23所示。
累加器也是一個(gè)由多個(gè)觸發(fā)器組成的多位寄存
器,累力口器的英文為accumulator,譯作累力口
器,似乎容易產(chǎn)生誤解,以為是在其中進(jìn)行算
術(shù)加法運(yùn)算。其實(shí)它不進(jìn)行加法運(yùn)算,而是作
為ALU運(yùn)算過程的代數(shù)和的臨時(shí)存儲(chǔ)處。這種
特殊的寄存器在微型計(jì)算機(jī)的數(shù)據(jù)處理中擔(dān)負(fù)
著重要的任務(wù)。
累加器除了能裝入及輸出數(shù)據(jù)外,還能使存儲(chǔ)其
中的數(shù)據(jù)左移或右移,所以它又是一種移位寄
存器。累加器的符號(hào)如圖2.24所示。
圖2.22
.一"/三二'
圖2.23圖2.24
宿監(jiān)";二蜀
2.4三態(tài)輸出電路
由于記憶元件是由觸發(fā)器組成的,而觸發(fā)器只有兩個(gè)狀
態(tài):o和1,所以每條信號(hào)傳輸線只能傳送一個(gè)觸發(fā)器
的信息(0或1)。如果一條信號(hào)傳輸線既能與一個(gè)觸發(fā)
器接通,也可以與其斷開而與另外一個(gè)觸發(fā)器接通,
則一條信息傳輸線就可以傳輸隨意多個(gè)觸發(fā)器的信息
To三態(tài)輸出電路(或稱三態(tài)門)就是為了達(dá)到這個(gè)目
的而設(shè)計(jì)的。
三態(tài)輸出電路可以由兩個(gè)或非門和兩個(gè)NMOS晶體管
(TPT?)及一個(gè)非門組成,如圖2.25所示。
當(dāng)ENABLE(選通端)為高電位時(shí),通過非門而加至兩個(gè)
或非門的將為低電位,則兩個(gè)或非門的輸出狀態(tài)將決
定手A端曲山位。當(dāng)A為高電位,G?就是彳氐
電位,而Gi為高電位,因而叫導(dǎo)通而12截止,所
以B端也呈現(xiàn)高電位(VB^VDD);當(dāng)A為低電位,G2
將呈現(xiàn)高電位而G1為低電位,因而叫截止而T2導(dǎo)
通,所以B也呈現(xiàn)低電位(VBg0)。這就是說,在選
通端(ENABLE端)為高電位時(shí)A的兩種可能電平(0
和1)都可以順利地通到B輸出去,即E=1時(shí),
B=Ao
當(dāng)選通端E為低電位時(shí),通過非門加至兩個(gè)或非門的
將為高電位。此時(shí),無論A為高或低電位,兩個(gè)或
非門的輸出都是低電位,即Gi與G2都是低電位。
所以叫和T2同時(shí)都是截止?fàn)顟B(tài)。這就是說,在選通
端(E端)為低電位時(shí),A端和B端是不相通的,即它
們之間存在著高阻狀態(tài)。
三態(tài)輸出電路的符號(hào)如圖2.25(b)所示。
圖2.25稱為單向三態(tài)輸出電路。有時(shí)需要雙向輸出
時(shí),一般可以用兩個(gè)單向三態(tài)輸出電路來組成,如
圖2.26所示。A為某個(gè)電路裝置的輸出端,C為其
輸入端。當(dāng)E0UT=1時(shí),B=A,即信息由左向右傳
輸;EIN=1時(shí),C=B,即信息由右向左傳輸。
圖2.25
圖2.26
三態(tài)門(E門)和裝入門(L門)一樣,都可加到任何寄存
器(包括計(jì)數(shù)器和累加器)電路上去。這樣的寄存器
就稱為三態(tài)寄存器。L門專管對寄存器的裝入數(shù)據(jù)
的控制,而E門專管由寄存器輸出數(shù)據(jù)的控制。
有了L門和E門就可以利用總線結(jié)構(gòu),使計(jì)算機(jī)的信
息傳遞的線路簡單化,控制器的設(shè)計(jì)也更為合理而
易于理解了。
高小幻二學(xué)出版社
K緋/'步算型明
2.5總線結(jié)構(gòu)
設(shè)有A,B,C和D4個(gè)寄存器,它們都有L門和E
門,其符號(hào)分別附以A,B,C和D的下標(biāo)。它
們的數(shù)據(jù)位數(shù),設(shè)有4位,這樣只要有4條數(shù)據(jù)
線即
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游合同解約協(xié)議
- 旅游用途合同范本
- 旅行短期合同范本
- 日常支出合同范本
- 日薪勞動(dòng)合同范本
- 舊衣回收箱協(xié)議書
- 曲臂車安全協(xié)議書
- 2025年模塊化建筑設(shè)計(jì)與應(yīng)用項(xiàng)目可行性研究報(bào)告
- 合同三方補(bǔ)充協(xié)議
- 搬遷領(lǐng)款合同范本
- 大學(xué)生個(gè)人職業(yè)生涯規(guī)劃課件模板
- 工業(yè)機(jī)械之光
- DB52T 784-2012 茶假眼小綠葉蟬監(jiān)測與無害化治理技術(shù)規(guī)程
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 竹塑復(fù)合材料產(chǎn)業(yè)基地項(xiàng)目可行性研究報(bào)告
- 2024年秋季新人教版八年級(jí)上冊物理全冊教案(2024年新教材)
- 膽總管結(jié)石伴膽管炎的護(hù)理查房
- 中國類風(fēng)濕關(guān)節(jié)炎診療指南
- 妊娠合并肥胖癥護(hù)理查房課件
- M蛋白血癥護(hù)理查房
- 第三章-掃描電子顯微鏡課件
評(píng)論
0/150
提交評(píng)論