電腦與電學#
電子訊號有某個電壓準位,一般而言電壓準位在 0~2 伏特時屬於「低」,代表二進制的 0,而位於 2~5 伏特時則為「高」,代表二進制的 1。
- 閘 gate:是完成電子訊號基本運算的裝置。閘接受一至多個輸入訊號,產生單一輸出訊號;有數種特定裝置的閘,以下討論六種基本的閘。
- 電路 circuits:閘可組成電路,完成更複雜的工作。有三種可以描述電路的表示法:
- 布林表示法
- 邏輯圖
- 真值表
閘#
1. NOT閘#
NOT閘接受一個輸入,產生一個輸出。
DEF#
如輸入為 1,則輸出 0;反之亦然。
布林運算式#
$X = A '$
邏輯圖#
真值表#
A | X |
---|---|
0 | 1 |
1 | 0 |
2. AND閘#
AND閘接受多個訊號,產生一個輸出。
DEF#
若輸入全為1,則輸出1,反之,則為0。
布林運算式#
$X = A \cdot B$
邏輯圖#
真值表#
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$
邏輯圖#
真值表#
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$
邏輯圖#
真值表#
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 ) '$
邏輯圖#
真值表#
A | B | X |
---|---|---|
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
NOR閘#
布林運算式#
$X = ( A + B ) '$
邏輯圖#
真值表#
A | B | X |
---|---|---|
0 | 0 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 0 |
閘的建構#
- 電晶體 transistor:是以半導體所製成,依據電壓準位來決定要當導線還是電阻的裝置。
射極一般是接地的。而對電腦而言,源極產生大約5伏特的高電壓值,基極的電壓值用來判斷源極是否形成接地,若接地,電壓值會被下拉至0,反之,則會維持高電壓。
- 輸出線會接在源極上,若源極接地,則輸出為低準位(二進制的 0),反之則為高準位(二進制的 1)。
- 如基極訊號為高準位,則源極接地,此時電晶體為 on,反之,電晶體為off。
電路#
- 組合電路
藉由某個閘的輸出作為另一個閘的輸入,便可組合成電路。
其中圖中的黑點,表示兩線是相連接的,如果沒有點,代表其中一條線從另一條線的上方跳過,互不影響。
此邏輯圖的布林運算式為:( AB + AC ),也可寫成 A ( B + C ),讀者可自行寫出真值表來確認。此現象稱作電路等效性。
-
事實上,布林運算式滿足幾種數學性質:
- 交換律,如:$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 '$。
-
加法器
二進制數元相加可能會產生進位值,如 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$。
- 一個半加器並未將可能的進位值併入計算,也就是說,一個半加器在兩個單一數元的相加是沒問題的,但在多重數元時會產生問題。
- 可以考慮進位輸入的電路稱作全加器 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 |
- 多工器 multiplexer
為一種產生單一輸出的電路,輸出等於電路中數個輸入的其中一個。依據一些原始輸入以外的輸入訊號(選擇訊號、選擇控制線)來決定哪條輸入將被輸出。
如:選擇訊號為 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 |
上述多工器可化成此方塊圖。
作為記憶體的電路#
數位電路也可以儲存資訊,這些電路形成一個循序電路,電路的輸出可以當成電路的輸入,也就是說,某些電路的存在狀態有些被用來決定此電路的下個狀態;一些記憶體設計如:S-R閂。
- S-R閂 S-R latch:用來儲存一個單一二進制的數元。
S Set、R Reset,透過此設計,只要S與R保持為1,X與Y的值皆能保持不變;通常,我們把X當作現在電路的狀態。
假設目前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(小型積體電路) 1~10
- MSI(中型積體電路) 10~100
- LSI(大型積體電路) 100~100,000
- VLSI(超大型積體電路 100,000