Mạch logic
Đã giới thiệu| English | Ý nghĩa |
|---|---|
| logic circuit/ˈlɒdʒɪk ˈsɜːkɪt/ | mạch logic |
| Boolean expression/ˈbuːlɪən ekˈspreʃn/ | biểu thức Boolean |
| problem statement/ˈprɒbləm ˈsteɪtmənt/ | phát biểu bài toán |
| truth table/truːθ ˈteɪbl/ | truth table |
| sum of products/sʌm ɒv ˈprɒdʌkts/ | tích và tổng |
| half adder/hɑːf ˈædə/ | bộ cộng một |
Ba cảm biến, hai cổng, một quyết định
- Lò vi sóng chỉ hoạt động khi cửa đóng và nút khởi động đã được nhấn và đồng hồ hẹn giờ chưa chạm đến mức 0.
- Ba cảm biến tạo ra ba tín hiệu 0/1. Hai cổng AND kết hợp chúng thành một tín hiệu duy nhất để bật magnetron. Mở cửa và đầu ra giảm xuống 0 ngay lập tức.
- Mỗi khóa an toàn, mỗi báo động và mỗi lệnh xử lý đều là một quyết định như thế này, được xây dựng từ sáu loại cổng của bài học trước.
- Bài học này nói về việc xây dựng và đọc các mạch đó, cũng như chuyển đổi giữa bốn cách viết cùng một quyết định.
Bốn góc nhìn của cùng một hàm
- Một mạch logic là mạng lưới các cổng thực hiện một biểu thức Boolean.
- Cùng một hàm có thể được viết dưới dạng bài toán bằng tiếng Anh, dưới dạng biểu thức, dưới dạng sơ đồ mạch, hoặc dưới dạng bảng chân lý. Đề thi yêu cầu bạn chuyển đổi theo mọi hướng giữa chúng.
- Đề thi viết biểu thức bằng văn bản,
X = (A AND NOT B) OR (B AND C), và chấp nhận dạng đại số $X = A\overline{B} + BC$, trong đó dấu chấm hoặc không gì cả là AND, dấu cộng là OR và dấu gạch trên là NOT. Sử dụng dạng mà đề bài sử dụng.

Các cổng được nối với nhau để thực hiện một biểu thức Boolean
Từ biểu thức sang mạch
- Vẽ một cổng cho mỗi toán tử, bắt đầu từ ngoặc đơn bên trong cùng.
- Đối với
X = (A AND B) OR (NOT C): một cổng AND trên A và B, một cổng NOT trên dây C, và một cổng OR kết hợp hai kết quả đó. - Các đầu vào ở bên trái, đầu ra duy nhất ở bên phải, mọi đường kẻ đều kết thúc tại đầu vào của một cổng hoặc đầu ra, và đầu ra được đánh dấu là X.

Một cổng cho mỗi toán tử trong biểu thức
Mạch logic
các cổng kết hợp thành mạch
Mỗi cổng có quy tắc cố định; nối chuỗi chúng lại xây dựng nên mọi mạch — hãy bắt đầu từ một cổng.
Đối với $X = (A \cdot B) + \overline{C}$ với $A=1, B=1, C=1$, $X$ là gì?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
$A \cdot B = 1$, và $\overline{C} = 0$. $X = 1 + 0 = 1$.
Ví dụ minh họa: từ mạch sang biểu thức
- Làm việc từ trái sang phải và đánh dấu mọi đầu ra trung gian.
- Trong mạch bên dưới, B đi qua một cổng NOT. A và NOT B đưa tín hiệu vào một cổng AND: đặt tên đầu ra của nó là P, nên
P = A AND NOT B. B và C đưa tín hiệu vào một cổng AND thứ hai:Q = B AND C. - P và Q đưa tín hiệu vào cổng OR, nên
X = P OR Q = (A AND NOT B) OR (B AND C). - Việc đánh dấu P và Q không phải là trang trí. Nó chính là yếu tố giúp bạn điền bảng chân lý từng cổng một.

Đánh dấu mọi đầu ra trung gian trước khi viết biểu thức
Trong mạch mẫu, đầu ra của cổng AND thứ hai là Q = B AND ____.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
B và C cung cấp cho cổng AND phía dưới. Gán nhãn đầu ra đó là Q giúp điền bảng chân lý từng cổng một.
Từ mạch sang bảng chân lý
- Đối với $n$ đầu vào thì có $2^{n}$ hàng: hai đầu vào cho 4, ba đầu vào cho 8, bốn đầu vào cho 16. Liệt kê chúng theo thứ tự đếm nhị phân.
- Cho bảng một cột cho mỗi đầu ra trung gian ngoài cột cuối cùng, để mỗi hàng được kiểm tra từng cổng một.
- Điền các cột từ trái sang phải: đầu tiên là NOT, sau đó là mỗi cổng AND, rồi đến cổng OR.
Bảng chân lý của một mạch có 3 đầu vào có bao nhiêu hàng?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
$2^n$ hàng; với 3 đầu vào, $2^3 = 8$.
Có bao nhiêu hàng đối với 4 đầu vào?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
$2^4 = 16$ hàng.
Ví dụ minh họa: tám hàng
- Mạch từ ví dụ minh họa ở trên, với các cột cho NOT B, P, Q và X:
| A | B | C | NOT B | P | Q | X |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 | 1 | 1 |
- X bằng 1 trong bốn dòng của tám dòng. Kiểm tra bất kỳ dòng nào với biểu thức: dòng 1 0 0 có A = 1 và NOT B = 1, nên P = 1, do đó X = 1.
Đối với X = (A AND NOT B) OR (B AND C), những hàng đầu vào nào sau đây cho X = 1? Chọn tất cả các đáp án đúng.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Hàng 011 khiến Q = 1; hàng 100 khiến P = 1. Trong hàng 110, B = 1 triệt tiêu P và C = 0 triệt tiêu Q; trong hàng 001 cả hai hạng tử đều là 0.
Bảng chân lý sang biểu thức: tổng các tích
- Tổng các tích: đối với mỗi dòng mà đầu ra là 1, viết một AND của các đầu vào, đặt NOT trên bất kỳ đầu vào nào bằng 0 trong dòng đó. Sau đó OR các thành phần này lại với nhau.
- Một bảng chỉ bằng 1 tại (A = 0, B = 1) và (A = 1, B = 0) cho
(NOT A AND B) OR (A AND NOT B), chính xác là A XOR B. - Chỉ rút gọn nếu câu hỏi yêu cầu; tổng các tích chưa rút gọn vẫn nhận đủ điểm.
Trong phương pháp tổng của tích, đối với mỗi hàng có đầu ra là 1, bạn viết:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Mỗi hàng 1 trở thành một hạng tử AND (không phải các đầu vào 0); sau đó bạn OR tất cả các hạng tử này lại với nhau.
Trong tổng của tích, bạn OR lại với nhau một hạng tử AND cho mỗi hàng có đầu ra là 1.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Mỗi hàng đầu ra-1 trở thành một hạng tử AND (đảo ngược các đầu vào 0); OR hóa các hạng tử này cho ra biểu thức chỉ bằng 1 đúng trên những hàng đó.
Bộ cộng nửa
- Cộng hai bit tạo ra bit tổng và bit cầm: 1 + 1 = 10 trong nhị phân.
- Cột tổng là 0, 1, 1, 0, tức là XOR. Cột cầm là 0, 0, 0, 1, tức là AND. Hai cổng tạo nên một bộ cộng nửa.
- Đây là ví dụ tiêu chuẩn về việc đọc trực tiếp các cổng từ bảng chân lý, và là thành phần đầu tiên trong đơn vị số học của mọi bộ xử lý.
Mỗi cặp đầu vào đi qua các cổng: XOR cho tổng, AND cho cầm, nên 1 + 1 = 10
Toán tử cộng bán phần
Dây XOR và AND nối với cùng hai đầu vào: XOR cho bit tổng, AND cho bit nhớ. Nhấp vào A và B.
Trong toán tử cộng bán phần, cổng nào tạo ra bit nhớ?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Bit nhớ chỉ là 1 khi cả hai bit đều là 1, đó là AND. Tổng là 1 khi các bit khác nhau, đó là XOR.
Từ đề bài toán
- Chuyển đổi tiếng Anh sang Boolean theo từng mệnh đề trước khi vẽ bất cứ thứ gì.
- "A và B" tương ứng với
A AND B. "A hoặc B, hoặc cả hai" tương ứng vớiA OR B. "chính xác một trong A và B" tương ứng vớiA XOR B. - "không phải A cũng không phải B" tương ứng với
A NOR B. "không phải cả hai" tương ứng vớiA NAND B. "trừ khi" thường có nghĩa là VÀ KHÔNG.
Nối mỗi cụm từ tiếng Anh với cổng đơn lẻ thực hiện nó.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
both = AND, differ = XOR, neither = NOR, not-both = NAND.
Ví dụ đã giải: báo động máy móc
- Báo động X kêu khi cửa an ninh mở (A = 1) và hoặc động cơ đang chạy (B = 1) hoặc nhiệt độ cao (C = 1).
- "Hoặc B hoặc C" tương ứng với
B OR C. "A và điều đó" tương ứng vớiX = A AND (B OR C). Dấu ngoặc quanh OR là bắt buộc. - X = 1 cần A = 1 và ít nhất một trong B, C bằng 1: các dòng (1, 0, 1), (1, 1, 0) và (1, 1, 1). Ba dòng trong số tám, và A = 0 sẽ không bao giờ kích hoạt báo động.
- Mạch gồm một cổng OR ở B và C cấp tín hiệu cho một cổng AND cùng với A.
Đối với báo động X = A AND (B OR C), báo động có thể kêu khi A = 0 miễn là cả B và C đều là 1.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
AND với A có nghĩa là A = 1 bắt buộc phải có trong mọi hàng mà X = 1. Với A = 0, đầu ra sẽ là 0 bất kể B và C làm gì.
Điểm số dễ mất
A AND B OR Ckhông có dấu ngoặc gây mơ hồ, và giám khảo hiểu nó là cách bạn không có ý định. Hãy đóng ngoặc cho OR trước khi AND hóa nó.- Một dây dẫn không nối đến đâu, hoặc một đầu ra không có nhãn, sẽ mất điểm mạch ngay cả khi các cổng đều đúng.
- Một NOT ở đầu vào là một cổng trên sơ đồ, không phải là gạch ngang viết trên chữ cái.
- Ba đầu vào nghĩa là tám dòng. Một bảng có fewer rows không thể được chấm là hoàn chỉnh.
Bạn đã nắm vững
- biểu thức → mạch: mỗi toán tử một cổng, ngoặc trong cùng trước, đầu vào bên trái, đầu ra có nhãn bên phải
- mạch → biểu thức: gán nhãn cho mỗi đầu ra trung gian (P, Q) và kết hợp; mạch → bảng chân lý: $2^{n}$ dòng với một cột cho mỗi cổng
- bảng chân lý → biểu thức: tổng các tích, mỗi AND-term cho mỗi dòng output-1, ORed lại với nhau; XOR + AND tạo nên bộ cộng nửa
- problem → Boolean: chính xác một = XOR, không phải = NOR, không phải cả hai = NAND; đóng ngoặc cho OR nằm trong AND