歡迎來到邏輯閘的世界!
你有沒有想過電腦是如何「思考」的?它並不使用文字或情感,而是透過電流!電腦由數以百萬計的微小開關組成,這些開關不是處於 開啟 (ON, 1) 就是 關閉 (OFF, 0) 的狀態。邏輯閘 (Logic Gates) 就是控制這些開關並做出決策的基本構件。
在本章中,我們將學習如何繪製這些邏輯閘,如何利用真值表 (Truth Tables) 來預測它們的「答案」,以及如何利用布林代數 (Boolean Algebra) 來簡化複雜的指令。如果這看起來內容很多,請別擔心——我們會一步一步慢慢來!
1. 基本概念:1 與 0
在深入探討之前,請記住邏輯電路中的一切都是二進制 (Binary) 的:
- 1 代表 高電位 (High)、真 (True) 或 開啟 (On)。
- 0 代表 低電位 (Low)、假 (False) 或 關閉 (Off)。
2. 認識邏輯閘
你可以把邏輯閘想像成俱樂部的「保鏢」。它會檢查進來的人(輸入),並根據特定的規則決定是否讓他們通過(輸出)。
NOT 閘(「相反」閘)
NOT 閘是最簡單的。它只有一個輸入和一個輸出,輸出的永遠是輸入的相反值。
- 規則: 如果輸入 1,輸出就是 0;如果輸入 0,輸出就是 1。
- 布林表示式: \( Q = \text{NOT } A \) 或 \( Q = \overline{A} \)。
AND 閘(「挑剔」閘)
AND 閘非常嚴格。只有當所有輸入皆為 1 時,它才會輸出 1。
- 類比: 想像一個需要兩把鑰匙才能打開的保險箱。你需要鑰匙 A 且 (AND) 鑰匙 B 才能拿到寶藏。
- 布林表示式: \( Q = A \cdot B \) 或 \( Q = A \text{ AND } B \)。
OR 閘(「隨和」閘)
只要至少有一個輸入為 1,OR 閘就會輸出 1。
- 類比: 想像一個有兩扇門的房間。只要門 A 或 (OR) 門 B 是打開的,你就能進去。
- 布林表示式: \( Q = A + B \) 或 \( Q = A \text{ OR } B \)。
NAND 閘 (NOT + AND)
NAND 閘就是一個 AND 閘後面接一個 NOT 閘。它的運作方式正好與 AND 閘相反。
- 規則: 除非兩個輸入皆為 1,否則它都會輸出 1。
- 布林表示式: \( Q = \overline{A \cdot B} \)。
NOR 閘 (NOT + OR)
NOR 閘就是一個 OR 閘後面接一個 NOT 閘。
- 規則: 只有當兩個輸入皆不是 1 時(即兩者皆為 0),它才會輸出 1。
- 布林表示式: \( Q = \overline{A + B} \)。
XOR 閘(「互斥」閘)
XOR(互斥或)閘就像在兩者之間做選擇。只有當輸入不同時,它才會輸出 1。
- 規則: 一個輸入必須為 1,另一個必須為 0。如果兩者相同(皆為 0 或皆為 1),輸出則為 0。
- 布林表示式: \( Q = A \oplus B \)。
快速複習盒:
AND: 全部都要是 1。
OR: 只要有 1 就行。
XOR: 輸入必須不同。
NAND/NOR: 正好是 AND/OR 的相反!
3. 建構真值表
真值表 (Truth Table) 是一張展示所有可能的輸入組合及其相應輸出的對照表。對於 GCE O-Level 考試,你需要學會處理最多三個輸入 (A, B 和 C) 的情況。
如何建立一個 3 輸入的表格:
由於每個輸入都有 2 種可能性(0 或 1),3 輸入的表格將有 \( 2^3 = 8 \) 列。使用這個「4-2-1」技巧來填寫輸入,確保不會遺漏:
- A 欄: 寫入四個 0,然後寫入四個 1。
- B 欄: 寫入兩個 0,兩個 1,兩個 0,兩個 1。
- C 欄: 寫入 0, 1, 0, 1, 0, 1, 0, 1。
逐步解題步驟:
如果你拿到一個複雜的電路圖:
1. 在電路的中間標記每一個獨立閘的輸出(例如:命名為 X, Y, Z)。
2. 在真值表中為這些「中間點」增加額外的欄位。
3. 由左至右,逐欄解決表格!
常見錯誤: 學生常會急著心算最終輸出。請務必畫出中間步驟的欄位,以避免粗心大意。
4. 布林表示式與定律
有時候,我們會使用像數學一樣的表示式來代替繪製圖表,這被稱為布林代數 (Boolean Algebra)。
重要的運算規則:
結合律 (Associative Property):
這意味著對於 AND 和 OR 運算,輸入的分組方式並不重要。
\( (A \cdot B) \cdot C = A \cdot (B \cdot C) \)
\( (A + B) + C = A + (B + C) \)
分配律 (Distributive Property):
這與一般的數學展開式完全相同!
\( A \cdot (B + C) = (A \cdot B) + (A \cdot C) \)
狄摩根定律 (De Morgan's Theorem)(簡化的核心)
這是改變表示式形式的強大工具,有兩點要記住:
- \( \overline{A \cdot B} = \overline{A} + \overline{B} \)
- \( \overline{A + B} = \overline{A} \cdot \overline{B} \)
記憶技巧:
「拆開橫線,改變符號!」
如果你把輸入上方的那條長線(NOT 符號)拆開,中間的符號就要翻轉(AND 變 OR,或 OR 變 AND)。
5. 解決系統問題
在考試中,你可能會被要求為現實場景設計電路。例如:「如果電源開啟 (A) 且 (AND) 窗戶打開 (B),或者按下緊急按鈕 (C),警報器 (Q) 就會響。」
如何解題:
1. 辨識邏輯: 尋找關鍵字,如 AND, OR, NOT。
2. 寫出表示式: \( Q = (A \cdot B) + C \)。
3. 繪製邏輯閘: 先將輸入 A 和 B 連接到一個 AND 閘,再將其輸出與輸入 C 一起連接到一個 OR 閘。
你知道嗎?
NAND 閘被稱為通用邏輯閘 (Universal Gate)。這是因為你可以僅用 NAND 閘來構建其他任何類型的邏輯閘!工程師非常喜歡它,因為這能大幅降低製造電腦晶片的成本。
章節總結(重點回顧)
- 邏輯閘使用二進制(0 和 1)來做出決策。
- 符號: 你必須能夠繪製 NOT, AND, OR, NAND, NOR 和 XOR 閘。
- 真值表: 使用 4-2-1 規律來處理 3 輸入的表格。
- 布林代數: \( + \) 代表 OR, \( \cdot \) 代表 AND, \( \oplus \) 代表 XOR,上方的一橫代表 NOT。
- 狄摩根定律: 拆開橫線,改變符號!
繼續練習繪製符號並填寫真值表吧。一旦你掌握了這些規律,它就像拼圖一樣簡單!