計算機硬體基礎:邏輯閘
1854 年,英國數學家 喬治·布林 開發了布林代數。與使用數字的代數不同,布林代數使用真值,**真** (1) 和**假** (0)。透過使用真值定義句子並對這些真值執行運算,您可以找出複雜語句的總體結論。布林代數對計算機科學產生了巨大影響,計算機理解的語言是一種 1 和 0 的語言,也就是布林語言。
|
|
|||||||||||||||||||||||||||||||||||||||||
邏輯閘是執行布林輸入運算的硬體,使我們能夠從抽象的布林代數中建立複雜的裝置。邏輯閘是硬體的基本構建塊,處理器將由數十億個邏輯閘組成。邏輯閘通常有一個或兩個輸入,在以下示例中定義為 A 和 B。您需要了解六種型別的邏輯閘
-
非門 (NOT)
-
與門 (AND)
-
或門 (OR)
-
異或門 (XOR)
-
與非門 (NAND)
-
或非門 (NOR)

一個非門 將始終給出與輸入相反的輸出,例如 1 (非門) 0。非門接受一個布林輸入並將其翻轉。可以進行雙重非運算。這將反轉原始的非運算。符號上將會有額外的橫線。
在布林代數中,我們透過在字母上方放置一個橫線 () 或字母 () 來編寫非 符號。
|
以下是非門工作的示例
|
為了總結,以下是一個真值表,顯示了 A 和 之間的關係
| A | |
|---|---|
| 0 | 1 |
| 1 | 0 |

一個與門 將組合兩個輸入的布林值(您可以獲得超過兩個輸入,但我們不需要在這裡瞭解這種型別的邏輯閘)。當且僅當兩個輸入都為真時,它才會輸出真。如果任何一個輸入為假,它將輸出假。
在布林代數中,我們透過在兩個 () 或多個 () 值之間放置一個點來編寫與 符號。
|
以下是與門工作的示例
|
記住與門如何工作的一個簡單方法是把它想象成一個用來開啟燈泡的電路。如果兩個開關都開啟,燈泡就會亮;如果任何一個開關關閉,燈泡就不會亮。

總而言之,這裡是一個真值表,顯示了兩個輸入 A 和 B 的所有不同值以及將這些值進行與運算的結果。
| A | B | A.B |
|---|---|---|
| 0 | 0 | |
| 0 | 1 | |
| 1 | 0 | |
| 1 | 1 |
或 (+)
[edit | edit source]
一個或門將組合兩個輸入的布林值。如果一個或多個輸入為真,則輸出將為真。如果兩個輸入都為假,則輸出將為假。
在布林代數中,我們透過在兩個 () 或多個 () 值之間放置一個加號來表示或符號。
|
以下是或門工作的一些示例。
|
記住或門如何工作的一個簡單方法是把它想象成一個用來開啟燈泡的電路。如果一個或多個開關開啟,燈泡就會亮;如果兩個開關都關閉,燈泡就不會亮。

總而言之,這裡是一個真值表,顯示了兩個輸入 A 和 B 的所有不同值以及將這些值進行或運算的結果。
| A | B | A+B |
|---|---|---|
| 0 | 0 | |
| 0 | 1 | |
| 1 | 0 | |
| 1 | 1 |
異或 ()
[edit | edit source]
一個異或門將組合兩個輸入的布林值。如果只有一個輸入為真,則輸出將為真。如果兩個輸入都為假或兩個輸入都為真,則輸出將為假。
在布林代數中,我們透過在兩個 () 或多個 () 值之間放置一個帶圓圈的加號來表示異或符號。
|
以下是異或門工作的一些示例。
|
總而言之,這裡是一個真值表,顯示了兩個輸入 A 和 B 的所有不同值以及將這些值進行異或運算的結果。
| A | B | |
|---|---|---|
| 0 | 0 | |
| 0 | 1 | |
| 1 | 0 | |
| 1 | 1 |
與非門 (NAND)
[edit | edit source]
非門 將組合兩個輸入的布林值,並將它們一起進行與運算,然後對結果進行非運算。如果**一個或更少**輸入為真,則輸出為真。如果兩個輸入都為真,則輸出為假。要繪製一個非門,您需要繪製一個與門並在前面新增一個圓圈,如上圖所示。
在布林代數中,我們透過採用與方程並對結果進行非運算來寫一個非符號()。
|
以下是工作中的非門示例:
|
總而言之,這裡是一個真值表,顯示了兩個輸入 A 和 B 的所有不同值以及將這些值一起進行非運算的結果。
| A | B | ||
|---|---|---|---|
| 0 | 0 | 0 | |
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 1 | 1 |
或非門 (NOR)
[edit | edit source]
非門 將組合兩個輸入的布林值,並將它們一起進行或運算,然後對結果進行非運算。如果**沒有**輸入為真,則輸出為真。如果任一或兩個輸入為真,則結果為假。要繪製一個非門,您需要繪製一個或門並在前面新增一個圓圈,如上圖所示。
在布林代數中,我們透過採用或方程並對結果進行非運算來寫一個非符號()。
|
以下是工作中的非門示例:
|
| A | B | ||
|---|---|---|---|
| 0 | 0 | 0 | |
| 0 | 1 | 1 | |
| 1 | 0 | 1 | |
| 1 | 1 | 1 |
|
練習:邏輯閘 給出或語句的符號和門圖。 給出與語句的符號和門圖。 給出異或語句的符號和門圖。 給出以下方程的答案: TRUE AND TRUE 回答 TRUE TRUE + FALSE 回答 TRUE TRUE + TRUE 回答 TRUE TRUE TRUE 回答 FALSE NOT(TRUE) . TRUE 回答 FALSE
回答 TRUE 畫一個與非門和真值表 完成下表
|