1. 程式人生 > >4.2 門電路的基本原理

4.2 門電路的基本原理

知識 與或非 感嘆號 電源 關閉 中一 5.4 了解 把手

計算機組成

4 算術邏輯單元

4.2 門電路的基本原理

技術分享圖片

現代計算機的CPU和其它很多功能部件都是基於晶體管的集成電路,想要了解計算機組成的基本原理,還是需要有一些集成電路的基本知識。就讓我們從最簡單的門電路的實現開始吧!

技術分享圖片

晶體管是構成現代集成電路的基本元件。通常使用的是MOS晶體管,MOS是金屬氧化物半導體的縮寫。而MOS晶體管又主要有兩種類型:

一種我們稱為N型MOS管,也簡稱為NMOS,上圖就是NMOS的符號表示。它對外有三個連接:一個是源,一個漏,一個是門。那麽只看這個符號是非常抽象的,我們還是來打個比方說明吧!MOS晶體管其工作原理其實很像這個水龍頭,電路中的電流就好比水管中的水流,水流的來源也就是源,而水流出的地方就稱為漏,控制水流的開關就是門。如果把門打開,水流就會從源流到漏,也就相當於晶體管導通,電流可以從源到漏。對於NMOS來說,其導通的條件是gate端連接了高電平,而當gate端連接低電平時這個晶體管是不導通的。

與NMOS相對還有另一種類型叫做PMOS,它和NMOS的區別就在於當gate端連接低電平時這個晶體管導通,而連接高電平時這個晶體管不導通。這就好比我們有兩種類型的水龍頭,一種是把這個把手向上拉才會出水,另一種是將這個把手向下壓才會出水。用這兩種功能相對應的晶體管就構成了互補型的MOS集成電路,也簡稱為CMOS。那我們就來看一看如何用晶體管構建邏輯門。

技術分享圖片

最簡單的一種邏輯就是取非。那麽首先來看非門,左上是非門的邏輯符號:A是輸入,Y是輸出,中間用一個三角再加上一個小圓圈構成。

左中是真值表列出了在各種輸入情況下輸出應該是怎麽樣的。

非門的真值表非常的簡單,當輸入A為0的時候,輸出Y為1;輸A為1的時候,輸出Y為0。如果要寫成邏輯函數表達式,應該是在A上面加一條橫線,但這個表示用紙筆比較容易些,而用鍵盤輸入就比較困難一些。所以在編程時經常會用這兩種表達式來替代:在A前面加波浪線或者加感嘆號來表示取非的操作。

右邊這張圖則顯示了如何用晶體管來構成非門。我們可以發現非門非常簡單,只需要用兩個晶體管。

技術分享圖片

我們一起來看一看非門的工作過程。

首先來看當輸入A為0時如何讓輸出Y變為1。先來看最上面,這個電路上方連接的是電源,也就是高電平用1來表示。然後再來看下面,這個符號代表的地,也就是低電平,用0來表示。當A為0時,我們註意到A同時連接到了兩個晶體管的gate端。上面這個註意這個空心圓符號,這是一個PMOS晶體管,當它的gate端等於0時,請想一想,它是否處於導通狀態。對於PMOS來說,它的gate端為0時是導通的,所以電源這一端的這個1我們就可以認為它傳導了過來,這個1會傳給輸出Y。但只有這一點是不夠的,因為我們發現Y還連接下面這個晶體管,這個符號代表了一個NMOS,同樣它的gate端也與A相連,連接的是0。那對於NMOS來說gate端連接的是零,它是什麽樣的狀態呢?其實它是關閉的,所以我們可以認為連接的這個地的這個0是無法通過這個晶體管傳導出來,所以現在Y這條線就由上面這個晶體管驅動,因此Y就輸出為1了。這就是a為0時,通過非門,讓Y變為了1。

我們再來看另一種情況也就是A等於1時,Y等於零, 同樣電源是1,地是0。A等於1時,上面這個PMOS的gate端是1,所以處於關閉狀態。而下面這個NMOS的gate端為1時,它就處於導通狀態,我們可以認為連接地的這個0通過這個晶體管傳導了出來,因此這時Y的輸出就是0。

這兩張圖就說明了非門的工作過程。

技術分享圖片

我們再來看下一個非常常用的邏輯門也就是與門。與門是用 ‘ · ’ 這個符號來表示的,它的邏輯函數可以寫成Y=A·B,其實這個點兒也是乘號的一種表示方式。我們來看它的真值表,所謂與操作就是兩個輸入端都為1時,輸出才會為1,我們可以看第四行,在其它的情況下輸出全為0。右邊這個圖是一個與非門實現原理,它有四個晶體管構成。我們要註意雖然我們需要的邏輯功能是與門,但是在實現中,與非門比與門的實現更為簡單。所謂與非門,它的輸出結果與與門正好相反,也就是兩個輸入均為1時輸出為0,其它時候輸出都為1。所以可以很簡便的用一個與非門和非門相連就實現了與門的功能。

技術分享圖片

我們再來看一看與非門的工作過程。假設A等於1,B等於1,對於與非門來說,這時候的輸出結果應該是0,我們來看這個工作過程是怎麽樣的。這時候A為1,我們首先來看B所連接的晶體管,上面這是一個PMOS,它的gate端為1,所以這個晶體管是關閉的,那好我們暫時可以不管它。我們再來看B連接的另一個晶體管,在最下面地這裏,它的gate端是1,所以它是導通的,那麽它就會把0傳導出來,但這個0還需要經過一個晶體管才能傳導到Y, 這個晶體管是由輸入A來控制的,這也是一個NMOS晶體管,而我們發現現在輸入A也是1,所以這個晶體管也是導通的,因此這個0被繼續往外傳輸就傳遞到了Y。與此同時我們還要看到上面這個PMOS晶體管也是由A控制的,當gate端為1時,這個晶體管是關閉的, 因此信號Y與電源之間並聯的兩個晶體管都處於關閉狀態,而與地之間串聯的兩個晶體管都處於導通狀態。所以Y的值就是0。

右邊這個例子則說明了A等於1, B等於零時,與非門的輸出應該是1。對於這個例子我就不詳加描述了。簡單的說就是下面兩個串聯的NMOS,有一個處於關閉狀態,因此Y與地不連通,而上面兩個並聯的PMOS,有一個處於導通狀態。所以Y與電源連通,因此Y的值就是1。

這就是與非門的工作過程。將它的輸出Y再連接一個非門就構成了與門。

技術分享圖片

然後我們來看或門, 我們用與加號相同的這個符號來表示或操作。右邊是或門的真值表,它的規則也很簡單,只有當兩個輸入都是0的時候,輸出為0。只要有任何一個輸入為1,或者兩個輸入都為1,輸出都是1。

或門也是有幾個PMOS和NMOS構成的,在這裏我們就不詳細描述了。

技術分享圖片

最後來看一個邏輯門稱為異或門,異或操作是指它的兩個操作數的值如果不相同則結果為真,也就是1;如果兩個操作數的值相同,則結果為假,也就是0。它其實可以用我們剛才學過的與或非的操作組合出來,A的非和B進行與,這個意思就是當A等於零時,A的非為1,而且B也等於1時,這第一個括號中的表達式就為1;而當A等於1,B等於0時,第二個括號中的表達式就會為1,中間進行或。也就是這兩個表達式只要其中一個為1,結果就是1。而當A和B都等於0,或者A和B都等1時,這兩個表達式的結果都是0,取或之後最終的結果也還是0。這就體現了異或運算的要求。

左中圖是異或運算的邏輯符號,主體與或門類似,只是在左邊多了一條弧線。

左下圖是異或的邏輯函數表示,用一個圈內部帶一個加號,當然這個符號很難直接用鍵盤輸入,所以在編程時也會用^這個符號表示異或。

右邊是異或運算的真值表,當輸入相同時,比如都等於零,或者都等於1,則輸出為0,當輸入不同時,也就是一個0一個1,這樣的形式輸出則為1。

這就是異或運算。

技術分享圖片

現在我們已經學習了NMOS晶體管,PMOS晶體管,以及由它們構成的邏輯門,包括非門,與門。我們用與門則可以進一步去實現計算機當中所要求的各種與相關的操作。我們還實現了或門,用或門可以去實現各種或運算指令。以及更為復雜的異或門,可以實現更多的功能。

技術分享圖片

現在我們已經學習了最基礎的門電路,別看它們簡單實際上可以構造出非常復雜的功能。但是還有一個問題,這些電路是如何存儲信息的呢?這就是我們下一節要討論的問題。

4.2 門電路的基本原理