Mục lục bài họcĐang ở d02-b3
← IB Computer Science
0/32 bài đã học xong
Chương 2 · Computer Organization · Bài 3/4 của chương · bài 7/32 của IB Computer Science

Boolean Logic, Truth Tables and Circuit Simplification

Logic Boole, bảng chân trị và rút gọn mạch
← Mục lục bài học
Lý thuyết · English

Three representations of one thing. A logic circuit can be described as a diagram of gates, as a truth table listing the output for every combination of inputs, or as a Boolean expression. Exam questions move between the three, and the skill is to convert reliably. From a diagram to a table: label every intermediate wire, then evaluate row by row, working from inputs to output. From a table to an expression: take each row whose output is 1, write it as an AND of the inputs (using NOT for inputs that are 0 in that row), and join the rows with OR. From an expression to a diagram: draw one gate per operator, innermost first. A table for n inputs has 2n rows; write the inputs in binary counting order so that no row is missed.

The half adder as the standard example. Adding two one-bit numbers needs two outputs: the sum bit S = A XOR B and the carry bit C = A AND B. The row 1 + 1 gives S = 0, C = 1, because 1 + 1 = 10 in binary. Two half adders and an OR gate make a full adder that also accepts a carry in, and chaining full adders builds the circuit that adds whole binary numbers inside the processor. This is why gates matter: every arithmetic operation the CPU performs is ultimately a network of these circuits.

Simplification and why it is worth doing. Two expressions with identical truth tables are equivalent, and the simpler one needs fewer gates. Fewer gates means lower cost, faster operation (fewer gate delays between input and output), less heat and fewer components to fail. The laws used most: X OR NOT X = 1; X AND NOT X = 0; X OR (X AND Y) = X (absorption); distribution, so that (A AND B) OR (A AND NOT B) = A AND (B OR NOT B) = A; and De Morgan's laws, NOT (A AND B) = NOT A OR NOT B, and NOT (A OR B) = NOT A AND NOT B. After simplifying, always rebuild the truth table of the new expression and check it matches the original — a simplification that changes the table is a mistake, not a simplification.

NAND is enough. Every gate can be built from NAND gates alone: NOT A = A NAND A; A AND B = NOT (A NAND B); A OR B = (NOT A) NAND (NOT B) by De Morgan. This is called functional completeness (NOR has the same property), and it is why manufacturers can mass-produce a single gate type and wire it into anything. The exam version of this idea is a question that gives you a circuit and asks you to rebuild it with NAND only, or asks why a designer might prefer to.

Giải thích tiếng Việt

Ba cách biểu diễn của cùng một thứ. Một mạch logic có thể được mô tả bằng sơ đồ các cổng, bằng bảng chân trị liệt kê đầu ra cho mọi tổ hợp đầu vào, hoặc bằng biểu thức Boole. Đề thi chuyển qua lại giữa ba dạng, và kỹ năng cần có là chuyển đổi chắc chắn. Từ sơ đồ sang bảng: đặt tên mọi dây trung gian, rồi tính từng dòng, đi từ đầu vào tới đầu ra. Từ bảng sang biểu thức: lấy mỗi dòng có đầu ra bằng 1, viết nó thành một AND của các đầu vào (dùng NOT cho đầu vào bằng 0 ở dòng đó), rồi nối các dòng bằng OR. Từ biểu thức sang sơ đồ: vẽ một cổng cho mỗi phép toán, trong cùng trước. Bảng cho n đầu vào có 2n dòng; viết đầu vào theo thứ tự đếm nhị phân để không sót dòng nào.

Bộ cộng nửa là ví dụ chuẩn. Cộng hai số một bit cần hai đầu ra: bit tổng S = A XOR B và bit nhớ C = A AND B. Dòng 1 + 1 cho S = 0, C = 1, vì 1 + 1 = 10 trong nhị phân. Hai bộ cộng nửa và một cổng OR tạo thành bộ cộng đầy đủ nhận thêm bit nhớ vào, và nối chuỗi các bộ cộng đầy đủ xây nên mạch cộng số nhị phân nguyên vẹn bên trong bộ xử lý. Đó là lý do cổng logic quan trọng: mọi phép số học CPU thực hiện rốt cuộc là một mạng các mạch này.

Rút gọn và vì sao đáng làm. Hai biểu thức có bảng chân trị giống hệt là tương đương, và biểu thức đơn giản hơn cần ít cổng hơn. Ít cổng hơn nghĩa là rẻ hơn, chạy nhanh hơn (ít tầng trễ giữa đầu vào và đầu ra), ít nhiệt và ít linh kiện có thể hỏng. Các luật hay dùng nhất: X OR NOT X = 1; X AND NOT X = 0; X OR (X AND Y) = X (hấp thụ); phân phối, để (A AND B) OR (A AND NOT B) = A AND (B OR NOT B) = A; và luật De Morgan, NOT (A AND B) = NOT A OR NOT B, NOT (A OR B) = NOT A AND NOT B. Sau khi rút gọn, luôn dựng lại bảng chân trị của biểu thức mới và kiểm rằng nó khớp bảng ban đầu — một phép rút gọn làm đổi bảng là một lỗi, không phải rút gọn.

NAND là đủ. Mọi cổng đều xây được chỉ từ cổng NAND: NOT A = A NAND A; A AND B = NOT (A NAND B); A OR B = (NOT A) NAND (NOT B) theo De Morgan. Tính chất này gọi là đầy đủ về chức năng (NOR cũng có), và nó là lý do nhà sản xuất có thể làm hàng loạt một loại cổng rồi nối thành bất cứ thứ gì. Dạng thi của ý này là câu cho một mạch và yêu cầu xây lại chỉ bằng NAND, hoặc hỏi vì sao người thiết kế có thể muốn làm vậy.

TỪ MẠCH TỚI BẢNG CHÂN TRỊ TỚI BIỂU THỨC — BỘ CỘNG NỬA MẠCH A B XOR AND S (tổng) C (nhớ) BẢNG CHÂN TRỊ A B S C 0000 0110 1010 1101 1+1 = 10 nhị phân: S=0, nhớ 1 BIỂU THỨC S = A XOR B = (A AND NOT B) OR (NOT A AND B) C = A AND B đọc từ các dòng có đầu ra bằng 1, nối bằng OR RÚT GỌN: VÌ SAO ÍT CỔNG HƠN LÀ TỐT HƠN (A AND B) OR (A AND NOT B) = A AND (B OR NOT B) = A AND 1 = A → ba cổng thành không cổng nào luật hay dùng: X OR NOT X = 1 · X AND NOT X = 0 · X OR (X AND Y) = X · NOT(A AND B) = NOT A OR NOT B (De Morgan) ít cổng = rẻ hơn, nhanh hơn (ít tầng trễ), ít nhiệt hơn, ít chỗ hỏng hơn kiểm tra bắt buộc: bảng chân trị của biểu thức rút gọn phải GIỐNG HỆT bảng ban đầu NAND đủ để xây mọi cổng khác — nên chip thật chỉ cần sản xuất hàng loạt một loại cổng
Hình đi qua ba cách biểu diễn của cùng một mạch — sơ đồ, bảng chân trị và biểu thức — trên ví dụ kinh điển nhất là bộ cộng nửa. Bên trái, hai đầu vào A và B đi vào một cổng XOR cho ra bit tổng S và một cổng AND cho ra bit nhớ C; các chấm đen là chỗ rẽ nhánh dây. Bảng chân trị ở giữa có bốn dòng cho bốn tổ hợp đầu vào, và dòng cuối là điểm cần hiểu: 1 cộng 1 bằng 10 trong nhị phân, nên S bằng 0 và nhớ 1. Hộp bên phải viết biểu thức: S bằng A XOR B, tức (A AND NOT B) OR (NOT A AND B); C bằng A AND B. Quy tắc để đi từ bảng sang biểu thức là đọc các dòng có đầu ra bằng 1, viết mỗi dòng thành một tích các đầu vào, rồi nối chúng bằng OR. Hộp dưới cùng là rút gọn: ví dụ (A AND B) OR (A AND NOT B) rút thành A, tức ba cổng biến mất, và các luật hay dùng gồm X OR NOT X bằng 1, X OR (X AND Y) bằng X, và De Morgan. Ít cổng hơn nghĩa là rẻ hơn, nhanh hơn vì ít tầng trễ, ít nhiệt và ít chỗ hỏng. Câu màu đỏ là bước kiểm tra bắt buộc mà thí sinh hay bỏ: bảng chân trị của biểu thức rút gọn phải giống hệt bảng ban đầu. Câu cuối nhắc rằng NAND đủ để xây mọi cổng khác, nên chip thật chỉ cần sản xuất hàng loạt một loại cổng.
Ví dụ — Ví dụ 1 — từ mô tả bằng lời tới bảng chân trị tới mạch rút gọn

Một máy rút tiền cho phép giao dịch (T = 1) khi thẻ hợp lệ (V = 1) và mã PIN đúng (P = 1), hoặc khi thẻ hợp lệ và có nhân viên xác nhận (S = 1). Hãy viết biểu thức, lập bảng chân trị, rút gọn và nêu số cổng trước và sau.

Giải.

Bước 1 — dịch lời thành biểu thức. "Thẻ hợp lệ và PIN đúng" là V AND P. "Thẻ hợp lệ và nhân viên xác nhận" là V AND S. "Hoặc" nối hai vế: T = (V AND P) OR (V AND S). Biểu thức này cần ba cổng: hai AND và một OR.

Bước 2 — bảng chân trị. Ba đầu vào nên 8 dòng, viết theo thứ tự đếm nhị phân V P S: 000 → 0; 001 → 0; 010 → 0; 011 → 0; 100 → 0; 101 → 1; 110 → 1; 111 → 1. Nhận xét ngay từ bảng: T bằng 1 chỉ khi V bằng 1 ít nhất một trong P, S bằng 1. Bốn dòng đầu (V = 0) đều cho 0 bất kể P, S.

Bước 3 — rút gọn bằng luật phân phối. (V AND P) OR (V AND S) = V AND (P OR S). Hai cổng: một OR và một AND. Từ ba cổng xuống hai, và quan trọng hơn, đường tín hiệu qua hai tầng như cũ nhưng ít linh kiện hơn.

Bước 4 — kiểm tra bắt buộc. Lập lại bảng cho V AND (P OR S): P OR S bằng 0 chỉ ở P = S = 0; nên T bằng 1 ở 101, 110, 111 và bằng 0 ở các dòng còn lại — khớp hệt bảng ở bước 2. Phép rút gọn hợp lệ.

Điểm giám khảo tìm. Bảng đủ 8 dòng theo thứ tự; biểu thức đọc trực tiếp từ lời; tên luật được dùng; và bước kiểm tra sau rút gọn. Thí sinh hay bỏ bước cuối, và mất điểm khi rút gọn sai mà không biết.

Ví dụ — Ví dụ 2 — xây mạch chỉ bằng NAND và giải thích vì sao

Hãy xây cổng OR chỉ từ cổng NAND, chứng minh bằng bảng chân trị, và giải thích vì sao một nhà sản xuất chip có thể chấp nhận dùng ba cổng NAND thay cho một cổng OR.

Giải.

Xây dựng. Theo De Morgan, A OR B = NOT (NOT A AND NOT B) = (NOT A) NAND (NOT B). Mà NOT A = A NAND A. Vậy: cổng 1: X = A NAND A (tức NOT A); cổng 2: Y = B NAND B (tức NOT B); cổng 3: Z = X NAND Y. Ba cổng NAND cho một cổng OR.

Chứng minh bằng bảng. A B → X Y → Z: 00 → 11 → 0; 01 → 10 → 1; 10 → 01 → 1; 11 → 00 → 1. Cột Z là 0, 1, 1, 1 — đúng là bảng của OR. Việc liệt kê cột trung gian X, Y là điều làm bài chứng minh đầy đủ thay vì chỉ khẳng định.

Vì sao chấp nhận ba thay một. Trên giấy, ba cổng nhiều hơn một. Nhưng trong sản xuất chip, chi phí quyết định là số loại linh kiện phải thiết kế, kiểm định và tối ưu, không phải số cổng. Một dây chuyền chỉ làm NAND có thể tối ưu cổng đó tới cực hạn về kích thước và tốc độ, rồi dùng nó cho mọi thứ; NAND cũng là cổng đơn giản nhất để chế tạo bằng transistor. Ngoài ra, khi mọi cổng giống nhau, việc bố trí và kiểm tra mạch dễ tự động hoá hơn. Vì vậy đầy đủ về chức năng không chỉ là tính chất toán học mà là lý do kinh tế của cách chip được sản xuất. Câu trả lời tốt phân biệt được số cổng trên sơ đồ với chi phí thực tế.

Bẫy hay mất điểm — Bẫy 1 — viết bảng chân trị thiếu dòng hoặc sai thứ tự. n đầu vào thì 2 mũ n dòng, viết theo đếm nhị phân; ba đầu vào là 8 dòng, không phải 6.
Bẫy 2 — rút gọn xong không kiểm lại. Biểu thức mới phải cho bảng giống hệt; đổi bảng là lỗi chứ không phải rút gọn.
Bẫy 3 — nhầm XOR với OR ở dòng 1 1. XOR cho 0 khi cả hai bằng 1; đó chính là lý do bộ cộng nửa dùng XOR cho bit tổng.
Phải nhớ — Chốt bài 3. Bốn thứ mang vào phòng thi. Một, ba biểu diễn chuyển đổi được: sơ đồ, bảng, biểu thức, và bảng sang biểu thức bằng cách đọc các dòng ra 1. Hai, bộ cộng nửa: S = A XOR B, C = A AND B. Ba, rút gọn bằng phân phối, hấp thụ, De Morgan, rồi kiểm lại bảng. Bốn, NAND đầy đủ về chức năng, và lý do là kinh tế sản xuất.

Đọc xong rồi — làm thử ngay

Bài tập của chương Computer Organization gồm 14 câu trắc nghiệm và 5 đề tự luận. Đáp án hiện ngay khi chọn, miễn phí.

Làm bài tập chương →