เกตลอจิก
แนะนำใหม่| English | ความหมาย |
|---|---|
| logic gate/ˈlɒdʒɪk ɡeɪt/ | เกตลอจิก |
| truth table/truːθ ˈteɪbl/ | ตารางความจริง |
| Boolean/ˈbuːlɪən/ | บูลีน |
| logic expression/ˈlɒdʒɪk ekˈspreʃn/ | นิพจน์ลอจิก |
วิทยานิพนธ์ของอาจารย์ผู้สร้างโลกดิจิทัล
- ในปี 1937 นักเรียนวัย 21 ปี Claude Shannon สังเกตเห็นว่ารีเลย์เปิด-ปิดในศูนย์แลกเปลี่ยนโทรศัพท์ behaves Exactly เหมือนพีชคณิตจริง-false ที่ George Boole เขียนไว้ก่อนหน้าหนึ่งศตวรรษ
- วิทยานิพนธ์ของเขาแสดงให้เห็นว่าประโยคตรรกะใดๆ สามารถสร้างเป็นวงจรสวิตช์ได้, และวงจรสวิตช์ใดๆ อธิบายเป็นประโยคตรรกะได้
- โปรเซสเซอร์ทุกตัวที่ผลิตมาตั้งแต่现在是จำนวนมหาศาลของสวิตช์เหล่านี้, เรียงเรียงเป็นกลุ่มน้อยของ logic gates มาตรฐาน
- บทเรียนนี้คือกลุ่มน้อย: สี่เหลี่ยมหกชนิด, สัญลักษณ์, และตารางความจริง
Logic Gate คืออะไร
- Logic gate คือวงจรเล็กที่ทำ Boolean operation อย่างหนึ่ง ทุกอินพุตและเอาต์พุตคือ 0 (false, ความดันต่ำ) หรือ 1 (true, ความดันสูง)
- สำหรับแต่ละเกตคุณต้องรู้สามอย่าง: สัญลักษณ์, ฟังก์ชันเป็นคำพูด, และ ตารางความจริง, ซึ่งแสดงเอาต์พุตสำหรับทุกชุดอินพุต
- เกตทั้งหมดในรายวิชานี้มีสองอินพุตยกเว้น NOT ซึ่งมีหนึ่งอินพุต

เกททั้งหก: รูปร่างสำหรับแต่ละตัว, และฟองอากาศที่เอาต์พุตถูกผกผัน
เกตลอจิก
เอาต์พุตจากตารางความจริง
สลับค่า A และ B ผ่านเกตและดูว่าแถวใน ตารางความจริง哪一行被点亮
NOT, AND, OR
- NOT ผกผันอินพุตเดียวของมัน: 0 กลายเป็น 1 และ 1 กลายเป็น 0
- AND ให้เอาต์พุต 1 เฉพาะเมื่อทั้งสอง อินพุตเป็น 1
- OR ให้เอาต์พุต 1 เมื่อ อย่างน้อยหนึ่ง อินพุตเป็น 1, ดังนั้นมันจะเป็น 0 เฉพาะเมื่อทั้งสองอินพุตเป็น 0
| A | B | A AND B | A OR B |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
เกต NOT ให้เอาต์พุตเป็น 1 เมื่ออินพุตเป็น 0
Difficulty 1/5 · 100 coins + a small bonus on first completion today
NOT ทำการกลับค่า: 0 → 1 และ 1 → 0
เกต AND ให้เอาต์พุตเป็น 1 เมื่อ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
AND ให้เอาต์พุตเป็น 1 ก็ต่อเมื่อทุกอินพุตเป็น 1; ในกรณีอื่นจะเป็น 0
เกต OR ให้เอาต์พุตเป็น 0 ก็ต่อเมื่อ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
OR จะให้ค่า 1 หากมีอินพุตอย่างน้อยหนึ่งตัวเป็น 1 ดังนั้นจึงให้ค่า 0 ก็ต่อเมื่อทุกอินพุตเป็น 0 เท่านั้น
NAND, NOR, XOR
- NAND คือ NOT AND: เอาต์พุตเป็น 0 เฉพาะเมื่อทั้งสอง อินพุตเป็น 1, และเป็น 1 ในกรณีอื่นๆ
- NOR คือ NOT OR: เอาต์พุตเป็น 1 เฉพาะเมื่อทั้งสอง อินพุตเป็น 0
- XOR (exclusive OR, เขียน EOR อีกแบบ) ให้เอาต์พุต 1 เมื่ออินพุต ต่างกัน, และเป็น 0 เมื่อเหมือนกัน
| A | B | A NAND B | A NOR B | A XOR B |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 |
เกต XOR ให้เอาต์พุตเป็น 1 เมื่อ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
XOR (exclusive OR) ให้ค่า 1 เมื่ออินพุตแตกต่างกัน (0,1 หรือ 1,0) และ 0 เมื่อเหมือนกัน
เกต NAND ให้เอาต์พุตเป็น 0 ก็ต่อเมื่อ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
NAND = NOT AND ดังนั้นจึงเป็น 0 พอดีเมื่อ AND จะเป็น 1 (ทุกอินพุตเป็น 1) และเป็น 1 ในกรณีอื่น
เกต NOR ที่มีอินพุตทั้งสองเป็น 0 จะให้ค่าอะไร (0 หรือ 1)?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
NOR = NOT OR OR ของ (0,0) คือ 0 ดังนั้น NOR จึงเป็น 1 NOR เป็น 1 ก็ต่อเมื่อทุกอินพุตเป็น 0 เท่านั้น
ตัวอย่างเชิงปฏิบัติ: สร้างตารางความจริง
- งาน: สร้างตารางความจริงสำหรับ NOR gate
- เขียนคอลัมน์อินพุต A และ B และรายการทุกชุดใน ลำดับนับเลขฐานสอง: 00, 01, 10, 11. สี่บรรทัด, ไม่มีสาม, ไม่ซ้ำ
- ใช้กฎกับแต่ละบรรทัด NOR เป็น 1 เฉพาะเมื่อทั้งสองอินพุตเป็น 0, ดังนั้นคอลัมน์เอาต์พุตอ่านได้ 1, 0, 0, 0
- ลำดับมีความสำคัญสำหรับคะแนน: ผู้สอบเทียบเอาต์พุตของคุณกับแผนงานบรรทัดต่อบรรทัด
เรียงแถวของตารางความจริงที่มีอินพุต 2 ตัวตามลำดับที่ผู้สอบต้องการ
Difficulty 3/5 · 200 coins + a small bonus on first completion today
ลำดับการนับแบบไบนารี: 00, 01, 10, 11 จากนั้นเอาคอลัมน์เอาต์พุตไปเทียบกับเฉลยทีละบรรทัด
ตัวอย่างวิธีทำ: การนิยามเกตด้วยคำพูด
- ภาระงาน: นิยามการทำงานของเกต XOR
- คำตอบในเกณฑ์การให้คะแนน:เอาท์พุตจะเป็น 1 เมื่ออินพุต แตกต่างกัน หรือเทียบเท่ากับการมีอินพุตเป็น 1 เพียงหนึ่งตัว; เอาท์พุตจะเป็น 0 เมื่ออินพุตทั้งสองเหมือนกัน
- สำหรับเกต NAND: เอาท์พุตจะเป็น 0 ก็ต่อเมื่อทั้งสองอินพุตเป็น 1 เท่านั้น สำหรับเกต NOR: เอาท์พุตจะเป็น 1 ก็ต่อเมื่อทั้งสองอินพุตเป็น 0 เท่านั้น
- คำว่า "ก็ต่อเมื่อ" (Only when) และ "อย่างน้อยหนึ่ง" (at least one) เป็นคำสำคัญที่สร้างเงื่อนไขในประโยคเหล่านี้ หากตัดออกนิยามนี้จะอธิบายเกตอื่นได้เช่นกัน
การอ่านสัญลักษณ์
- เกต AND มีด้านหลังแบนและด้านหน้าโค้งเหมือนตัว D เกต OR มีด้านหลังโค้งและด้านหน้าแหลม เกต XOR คือ OR ที่มีเส้นโค้งเพิ่มอีกเส้น横跨ทางเข้า
- วงกลมเล็กๆ ที่เรียกว่า บับเบิล (bubble) บนเอาท์พุตหมายถึง "กลับค่า" AND ที่มีบับเบิลคือ NAND, OR ที่มีบับเบิลคือ NOR
- เกต NOT เป็นรูปสามเหลี่ยมพร้อมบับเบิล: มีอินพุตหนึ่งช่องและเอาท์พุตหนึ่งช่อง

ด้านหลังแบนสำหรับ AND, ด้านหลังโค้งสำหรับ OR, เส้นเพิ่มสำหรับ XOR, บับเบิลสำหรับ NOT
จับคู่คำอธิบายสัญลักษณ์แต่ละตัวกับเกตที่ตรงกัน
Difficulty 2/5 · 140 coins + a small bonus on first completion today
ด้านหลังของรูปบอกว่าเป็น AND หรือ OR เส้นเพิ่มบอกว่าเป็น exclusive ฟองอากาศบอกว่าถูกกลับค่า (inverted)
การระบุเกตจากคอลัมน์เอาท์พุต
- อ่านคอลัมน์เอาท์พุตจากแถว 00 ลงมาจนถึงแถว 11
- 0 0 0 1 คือ AND, 0 1 1 1 คือ OR, 0 1 1 0 คือ XOR
- 1 1 1 0 คือ NAND, 1 0 0 0 คือ NOR เกตที่ถูกกลับค่าจะเริ่มด้วย 1 ในขณะที่คู่ของมันเริ่มด้วย 0
สำหรับอินพุต A = 0 และ B = 1 เกตใดให้เอาต์พุตเป็น 1? เลือก ทุก ข้อที่ถูกต้อง
Difficulty 2/5 · 140 coins + a small bonus on first completion today
มีอินพุตเป็น 1 ตัว ดังนั้น OR และ XOR จึงให้ 1; ทั้งสองไม่เป็น 1 ดังนั้น AND ให้ 0 และ NAND ให้ 1; ทั้งสองไม่เป็น 0 ดังนั้น NOR ให้ 0
การเขียนนิพจน์ตรรกะ
- นิพจน์ตรรกะ เขียนเกตเป็นคำพูด:
X = A AND B,X = A OR B,X = NOT A,X = A NAND B,X = A NOR B,X = A XOR B - วงเล็บแสดงลำดับการทำงานก่อนเมื่อเกตเชื่อมต่อกัน:
X = (A AND B) OR C - นิพจน์, ตารางความจริง และวงจร คือมุมมองสามมิติของฟังก์ชันเดียวกัน บทเรียนถัดไปจะรวมเกตเข้าเป็นวงจรและเปลี่ยนผ่านระหว่างทั้งสามรูปแบบนี้
วงจรหนึ่งให้เอาต์พุตเป็น 1 ก็ต่อเมื่ออินพุตทั้งสองเป็น 1 พร้อมกัน-expression ลอจิกใดที่อธิบายวงจรนี้?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
"ก็ต่อเมื่อทั้งสอง" คือนิยามของ AND NAND คือค่าตรงข้าม OR ต้องการเพียงอินพุตเดียว XOR ต้องการให้มันต่างกัน
คะแนนที่หลุดหายไป
- XOR ไม่ใช่ OR สำหรับอินพุต 1 และ 1, OR ให้ผลลัพธ์เป็น 1 แต่ XOR ให้ผลลัพธ์เป็น 0
- NAND คือ NOT (A AND B), ไม่ใช่ (NOT A) AND B บับเบิลอยู่ที่ เอาท์พุต
- แถวตารางความจริงเรียงตาม 00, 01, 10, 11 ตารางที่มีลำดับอื่นจะถูกตัดสินว่าเป็นผิดแม้ว่าทุกแถวจะถูกต้องก็ตาม
- เกต NOT มีอินพุตหนึ่งช่อง เกตอื่นๆ ทั้งหมดในบทเรียนนี้มีอินพุตสองช่องพอดี
คุณเข้าใจแล้ว
- เกต ทำ-operation布尔 (Boolean operation) กับอินพุต 0 และ 1; ต้องรู้สัญลักษณ์ ฟังก์ชัน และตารางความจริงของแต่ละชนิด
- AND = ทั้งคู่เป็น 1 · OR = อย่างน้อยหนึ่งเป็น 1 · NOT = กลับค่า · NAND = 0 ก็ต่อเมื่อทั้งคู่เป็น 1 · NOR = 1 ก็ต่อเมื่อทั้งคู่เป็น 0 · XOR = อินพุตต่างกัน
- บับเบิล บนสัญลักษณ์ทำให้เอาท์พุตถูกกลับค่า; ตารางความจริงเรียงตาม 00, 01, 10, 11
- นิพจน์ตรรกะ เขียนฟังก์ชันเดียวกันเป็นคำพูด:
X = A NAND B