# 計概:閘與電路 ## 電腦與電學 電子訊號有某個電壓準位,一般而言電壓準位在 0~2 伏特時屬於「低」,代表二進制的 0,而位於 2~5 伏特時則為「高」,代表二進制的 1。 - 閘 gate:是完成電子訊號基本運算的裝置。閘接受一至多個輸入訊號,產生單一輸出訊號;有數種特定裝置的閘,以下討論六種基本的閘。 - 電路 circuits:閘可組成電路,完成更複雜的工作。有三種可以描述電路的表示法: - 布林表示法 - 邏輯圖 - 真值表 --- ## 閘 ### 1. NOT閘 NOT閘接受一個輸入,產生一個輸出。 #### DEF 如輸入為 1,則輸出 0;反之亦然。 #### 布林運算式 $X = A '$ #### 邏輯圖 ![NOT閘](https://i.imgur.com/mHBP6FW.png "NOT閘") #### 真值表 | A | X | | - | - | | 0 | 1 | | 1 | 0 | --- ### 2. AND閘 AND閘接受多個訊號,產生一個輸出。 #### DEF 若輸入全為1,則輸出1,反之,則為0。 #### 布林運算式 $X = A \cdot B$ #### 邏輯圖 ![AND閘](https://i.imgur.com/IJHEbrP.png "AND閘") #### 真值表 | A | B | X | | - | - | - | | 0 | 0 | 0 | | 1 | 0 | 0 | | 0 | 1 | 0 | | 1 | 1 | 1 | --- ### 3.OR閘 OR閘接受兩個輸入,產生一個輸出。 #### DEF 如兩個輸入全為0,則輸出0,反之,輸出1。 #### 布林運算式 $X = A + B$ #### 邏輯圖 ![OR閘](https://i.imgur.com/87CEd05.png "OR閘") #### 真值表 | A | B | X | | - | - | - | | 0 | 0 | 0 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 1 | 1 | 1 | --- ### 4.XOR閘 XOR閘,又稱互斥閘。 #### DEF 若輸出相同,則輸出0,反之,輸出1。 #### 布林運算式 $X = A \oplus B$ #### 邏輯圖 ![XOR閘](https://i.imgur.com/dyp1SSN.png "XOR閘") #### 真值表 | A | B | X | | - | - | - | | 0 | 0 | 0 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 1 | 1 | 0 | --- ### 5.NAND 與 NOR閘 分別為AND與OR閘的相反 #### NAND閘 ##### 布林運算式 $X = ( A \cdot B ) '$ ##### 邏輯圖 ![NAND閘](https://i.imgur.com/LVGmMnV.png "NAND閘") ##### 真值表 | A | B | X | | - | - | - | | 0 | 0 | 1 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 1 | 1 | 0 | --- #### NOR閘 ##### 布林運算式 $X = ( A + B ) '$ ##### 邏輯圖 ![NOR閘](https://i.imgur.com/76wkbGw.png "NOR閘") ##### 真值表 | A | B | X | | - | - | - | | 0 | 0 | 1 | | 1 | 0 | 0 | | 0 | 1 | 0 | | 1 | 1 | 0 | --- ## 閘的建構 - 電晶體 transistor:是以半導體所製成,依據電壓準位來決定要當導線還是電阻的裝置。 ![transistor](https://i.imgur.com/I6OFGJq.png "電晶體") 射極一般是接地的。而對電腦而言,源極產生大約5伏特的高電壓值,基極的電壓值用來判斷源極是否形成接地,若接地,電壓值會被下拉至0,反之,則會維持高電壓。 - 輸出線會接在源極上,若源極接地,則輸出為低準位(二進制的 0),反之則為高準位(二進制的 1)。 - 如基極訊號為高準位,則源極接地,此時電晶體為 on,反之,電晶體為off。 --- ## 電路 - 組合電路<br> 藉由某個閘的輸出作為另一個閘的輸入,便可組合成電路。 ![組合電路](https://i.imgur.com/cvi0B0J.png "組合電路範例") 其中圖中的黑點,表示兩線是相連接的,如果沒有點,代表其中一條線從另一條線的上方跳過,互不影響。</br> 此邏輯圖的布林運算式為:( AB + AC ),也可寫成 A ( B + C ),讀者可自行寫出真值表來確認。此現象稱作電路等效性。</br> - 事實上,布林運算式滿足幾種數學性質: - 交換律,如:$AB = BA$、$A + B = B + A$。 - 結合律,如:$( AB ) C = A ( BC )$、$A + ( B + C ) = ( A + B ) + C$。 - 分配律,如:$A ( B + C ) = AB + AC$、$A + BC = ( A + B ) ( A + C )$。 - 恆等,如:$A1 = A$、$A + 0 = A$。 - 互補,如:$A ( A ' ) = 0$、$A + A ' = 1$。 - 狄摩根定律,如:$( AB ) ' = A ' + B '$、$( A + B ) ' = A ' B '$。 - 加法器<br> 二進制數元相加可能會產生進位值,如 1 + 1 = 10,能計算 2 個位元總和並產生進位為元的電路稱作半加器 half adder。 考慮半加器時,可寫出以下真值表: | A | B | 總和 | 進位 | - | - | :-: | :-: | | 0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 1 | 1 | 0 | | 1 | 1 | 0 | 1 | 可看出來,總和為 $A \oplus B$,進位為 $AB$。</br> - 一個半加器並未將可能的進位值併入計算,也就是說,一個半加器在兩個單一數元的相加是沒問題的,但在多重數元時會產生問題。 - 可以考慮進位輸入的電路稱作全加器 full adder。簡單的想法可以用兩個半加器來製作一個全加器;作法為:在總和輸出前,再加上一個半加器與進位輸入做總和,最後調整進位輸出。 以下為全加器的真值表及邏輯圖: | A | B | 進位輸入 | 總和 | 進位輸出 | - | - | :-----: | :--: | :-----: | | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 1 | 0 | | 0 | 1 | 0 | 1 | 0 | | 0 | 1 | 1 | 0 | 1 | | 1 | 0 | 0 | 1 | 0 | | 1 | 0 | 1 | 0 | 1 | | 1 | 1 | 0 | 0 | 1 | | 1 | 1 | 1 | 1 | 1 | ![加法器](https://i.imgur.com/Y6PH0oI.png "全加器") - 多工器 multiplexer<br> 為一種產生單一輸出的電路,輸出等於電路中數個輸入的其中一個。依據一些原始輸入以外的輸入訊號(選擇訊號、選擇控制線)來決定哪條輸入將被輸出。 如:選擇訊號為 S0、S1、S2,輸入為D0~D7,則有以下真值表。 | S0 | S1 | S2 | F | | -- | -- | -- | - | | 0 | 0 | 1 | D0 | | 0 | 0 | 0 | D1 | | 0 | 1 | 1 | D2 | | 0 | 1 | 0 | D3 | | 1 | 0 | 1 | D4 | | 1 | 0 | 0 | D5 | | 1 | 1 | 1 | D6 | | 1 | 1 | 0 | D7 | 上述多工器可化成此方塊圖。<br> ![多工器](https://i.imgur.com/zrGhNVm.png "多工器") --- ## 作為記憶體的電路 數位電路也可以儲存資訊,這些電路形成一個循序電路,電路的輸出可以當成電路的輸入,也就是說,某些電路的存在狀態有些被用來決定此電路的下個狀態;一些記憶體設計如:S-R閂。 - S-R閂 S-R latch:用來儲存一個單一二進制的數元。 ![S-R閂](https://i.imgur.com/kubXSgE.png "S-R閂") S Set、R Reset,透過此設計,只要S與R保持為1,X與Y的值皆能保持不變;通常,我們把X當作現在電路的狀態。<br> 假設目前X為1,則Y為0,如果須將X設為0的話,只需將R設為0,X就會變成0,這時立刻將R設為1,X就會保持為0了。相反的,如需將X設為1,則需變動S為0,待X變為1後,再立刻改變S為1,X就會保持為1。 --- ## 積體電路 積體電路是一種嵌入多重閘的矽片,矽片邊緣上有許多腳位,代表著輸入或輸出。積體電路是依據閘的數量來分類的 - SSI(小型積體電路)<i class="fa fa-arrow-right"></i> 1~10 - MSI(中型積體電路)<i class="fa fa-arrow-right"></i> 10~100 - LSI(大型積體電路)<i class="fa fa-arrow-right"></i> 100~100,000 - VLSI(超大型積體電路 <i class="fa fa-arrow-right"></i> 100,000 <i class="fa fa-arrow-up"></i> ###### tags: `計算機概論`