Các chương đã dịch.


Vào một thời xa xôi, khi lịch sử thế kỷ hai mươi ghi nhận việc tính toán trên máy ban đầu chỉ mới là một bộ nhớ mơ hồ, một ai đó gần như cho rằng cái thiết bị được gọi là cổng logic được đặt theo tên của người đồng sáng lập Microsoft Corporation [gates = cổng]. Trật lất. Như chúng ta sẽ sớm thấy, cổng logic mang một sự tương đồng nhiều hơn với các cổng vào buổi ban sơ để nước và người qua lại. Cổng logic làm những tác vụ đơn giản theo logic bằng cách ngăn hoặc để dòng điện đi qua.

Bạn sẽ nhớ lại cách bạn đi vào một cửa hàng thú cưng ở chương trước và hét, “Tôi muốn mua một chú mèo đực đã thiến trắng hoặc nâu; hoặc một cô mèo cái đã cắt buồng trứng, màu gì cũng được trừ trắng; hoặc tôi sẽ lấy bất kì miễn là đừng có đen.” Được tóm gọn lại bởi biểu thức Boolean sau:

(M × N × (W + T)) + (F × N ×(1 – W)) + B

và cũng dựa vào đó mạch được tạo nên từ các công tắc và bóng đèn:




Mạch như này đôi khi được gọi là một network, ngoại trừ trường hợp ngày nay từ này được dùng để chỉ tới kết nối của các máy tính nhiều hơn là tập hợp của chỉ mỗi công tắc.

Mặc dù mạch này không chứa gì khác ngoài những thứ được phát minh ở thế kỷ mười chín, nhưng không một ai sống trong thế kỷ đó đã từng nhận ra rằng biểu thức Boolean có thể được hiểu trực tiếp nhờ mạch điện. Đẳng thức này không được phát hiện ra cho đến những năm 1930, nổi bật nhất trong đó có Claude Elwood Shannon (sinh năm 1916), người mà luận án tiến sĩ MIT 1938 nổi tiếng của ông mang tên “Một phân tích biểu tượng của mạch có rơ-le và công tắc [A Symbolic Analysis of Relay and Switching Circuits]”. (Mười năm sau, bài viết của Shannon “Lý thuyết toán học và giao tiếp” là bản công bố đầu tiên dùng từ bit để mang nghĩa chữ số nhị phân.)

Trước năm 1938, người ta biết rằng khi bạn nối hai công tắc nối tiếp, cả hai công tắc phải được đóng thì dòng điện mới đi qua được, và khi bạn nối hai công tắc song song, một trong hai phải được đóng. Nhưng không một ai thể hiện được với sự tinh giản và chính xác của Shannon, điều mà các kỹ sư điện có thể dùng tất cả các công cụ của đại số Boolean để thiết kế mạch bằng công tắc. Cụ thể, nếu bạn có thể đơn giản hóa một biểu thức Boolean mô tả một network, thì bạn cũng có thể đơn giản một network.

Ví dụ, biểu thức biểu thị các đặc điểm bạn muốn cho một con mèo như thế này:

(M × N × (W + T)) + (F × N ×(1 – W)) + B

Dùng luật giao hoán, ta có thể sắp xếp lại các biến được kết hợp với dấu AND (×) và viết lại biểu thức như sau:

(N × M × (W + T)) + (N × F × (1 – W)) + B

Để tinh giản những gì tôi định làm ở đây, tôi sẽ định nghĩa thêm hai ký hiệu mới X và Y:

X = M × (W + T)
Y = F × (1 – W)

Giờ biểu thức cho mèo mà bạn muốn có thể được viết lại: 

(N × X) + (N × Y) + B

Sau khi biến đổi xong, ta có thể đặt biểu thức của X và Y vào lại.

Để ý là biến N xuất hiện hai lần trong biểu thức. Dùng luật phân phối, biểu thức có thể được viết lại, với chỉ một N:

(N × (X + Y)) + B

Giờ hãy đặt biểu thức X và Y vào lại:

(N × ((M × (W + T)) + (F × (1 – W)))) + B

Vì xuất hiện quá nhiều ngoặc tròn, biểu thức này trông hầu như không đơn giản chút nào. Nhưng có ít hơn một biến, có nghĩa là có ít hơn một công tắc trong network. Đây là phiên bản đã chỉnh lại:




Thật ra, có lẽ sẽ dễ hơn để thấy rằng network này tương đồng với cái trước so với việc xác minh các biểu thức đều là một.

Thực tế là vẫn còn dư ba công tắc trong network này. Theo lý thuyết, bạn chỉ cần bốn công tắc để tìm ra chú mèo hoàn hảo. Tại sao lại bốn? Mỗi công tắc là một bit. Bạn có thể có được một công tắc cho giới tính (tắt cho đực, bật cho cái), công tắc khác bật cho thiến, tắt cho chưa thiến, và thêm hai công tắc nữa cho màu sắc. Có bốn màu có thể có (trắng, đen, nâu và “khác”) và ta biết là bốn sự lựa chọn có thể được xác định bởi 2 bit, nên tất cả những gì bạn cần là hai công tắc cho màu. Ví dụ, cả hai công tắc có thể tắt hết cho trắng, một công tắc bật cho đen, công tắc khác bật cho nâu, và cả hai bật cho màu khác.

Hãy làm một tấm điều khiển để chọn mèo ngay nào. Tấm điều khiển đơn giản chỉ có bốn công tắc (khá giống các công tắc bật/đóng bạn có trên tường để điều khiển đèn) và một bóng đèn gắn lên:




Các công tắc bật (đóng) khi chúng bị đẩy lên, và tắt (mở) khi đẩy xuống. Hai công tắc cho màu mèo được đặt tên hơi mơ hồ một chút, tôi e là vậy, nhưng đó là cách vẽ để làm gọn tấm này xuống mức tối thiểu: Công tắc trái của cặp được đặt tên là B; có nghĩa là công tắc trái bật một mình (như hình) thể hiện màu đen. Công tắc phải của cặp đặt tên là T; công tắc này mình nó bật nghĩa là màu nâu. Cả hai công tắc đẩy lên nghĩa là màu khác; chọn lựa này tên là O. Cả hai công tắc xuống nghĩa là màu trắng, thể hiện bởi chữ W, chữ cái ở phía dưới.

Trong thuật ngữ máy tính, các công tắc là một thiết bị đầu vào. Đầu vào là thông tin để điều khiển cách một mạch điện hành xử. Trong trường hợp này, các công tắc đầu vào tương ứng với 4 bit thông tin mô tả một con mèo. Thiết bị đầu ra là bóng đèn. Bóng đèn sáng lên nếu công tắc mô tả một con mèo thỏa điều kiện. Các công tắc hiện trên tấm điều khiển ở trang 104 được làm cho mèo cái chưa cắt trứng màu đen. Thỏa tiêu chí của bạn, nên bóng đèn bật.

Giờ tất cả những gì ta phải làm là thiết kế một mạch điện làm tấm điều khiển này hoạt động.

Bạn sẽ nhớ lại luận án của Claude Shannon có tên là “Một phân tích mang tính biểu tượng của mạch có công tắc và rơ-le”. Các rơ-le mà ông ta ám chỉ khá giống với rơ-le điện báo ta đã gặp ở chương 6. Cùng lúc với bài của Shannon, tuy nhiên, rơ-le lại đang được dùng cho một mục đích khác và cụ thể hơn là trong mạng lưới hệ thống điện thoại rộng lớn.

Cũng như các công tắc, rơ-le có thể được nối nối tiếp hoặc song song để biểu diễn các tác vụ hợp lý. Các sự kết hợp rơ-le này được gọi là các cổng logic. Khi tôi nói những cổng logic này biểu diễn các tác vụ đơn giản theo logic, ý của tôi là đơn giản đến mức có thể. Rơ-le có một lợi thế so với công tắc đó là rơ-le có thể được bật lên và tắt bởi các rơ-le khác chứ không chỉ bằng ngón tay thôi. Có nghĩa là các cổng logic có thể được kết hợp để biểu diễn các tác vụ phức tạp hơn, ví dụ như các hàm đơn giản trong số học. Thật ra, chương tới sẽ mô tả cách nối các công tắc, bóng đèn, pin, và rơ-le điện báo để làm một máy làm tính cộng (mặc dù máy này chỉ dùng được cho mỗi số nhị phân).

Như bạn nhớ lại, rơ-le rất quan trọng trong hoạt động của hệ thống điện báo. Khi đi xa, dây nối với trạm điện báo có một điện trở rất cao. Một vài phương pháp cần phải có để nhận được tín hiệu yếu và gửi đi tín hiệu mạnh y đúc. Rơ-le làm được điều này bằng cách dùng một nam châm điện để điều khiển công tắc. Trong thực tế, rơ-le khuếch đại một tín hiệu yếu để tạo một tín hiệu mạnh.

Cho mục tiêu của chúng ta, ta không hứng thú lắm với việc dùng rơ-le để khuếch đại tín hiệu yếu. Ta chỉ thích thú mỗi ý tưởng rơ-le có thể là một công tắc được điều khiển bằng điện chứ không phải ngón tay. Ta có thể nối một rơ-le với một công tắc, một bóng đèn và một cặp pin như thế này:




Để ý là công tắc bên trái mở và bóng đèn tắt. Khi bạn đóng công tắc, pin bên trái làm dòng điện chảy qua nhiều lượt dây dẫn quanh thanh sắt. Thanh sắt bắt đầu có từ tính và kéo thanh chạm kim loại xuống để kết nối mạch làm bật bóng đèn:




Khi nam châm điện kéo thanh kim loại, rơ-le được nói là đã được kích hoạt. Khi công tắc tắt, thanh sắt dừng tính từ, và thanh kim loại trở lại vị trí ban đầu của nó.

Việc này có vẻ như là một cách gián tiếp để thắp sáng bóng đèn hơn, và thực vậy. Nếu điều ta quan tâm chỉ là chuyện thắp sáng bóng đèn, thì ta có thể tháo quăng nó đi được rồi. Nhưng ta không quan tâm tới chuyện đó. Ta có một mục tiêu cao cả hơn.

Ta sẽ dùng rơ-le rất nhiều trong chương này (và gần như là không dùng nữa sau khi cổng logic xây xong), nên tôi muốn đơn giản bớt đồ hình. Ta có thể cắt bớt một vài dây bằng cách sử dụng mặt đất. Trong trường hợp này, mặt đất đơn giản đại diện cho một kết nối thông thường; chúng không cần phải được nối với trái đất:




Tôi biết trông nó không giống đơn giản cho lắm, nhưng ta vẫn chưa xong đâu. Để ý là cực âm của cả hai viên pin được nối với bề mặt. Cho nên bất cứ đâu ta thấy thứ gì như này:




hãy thay thế nó với chữ V hoa (đại diện cho điện thế), như ta làm trong chương 5 và 6. Giờ rơ-le của chúng ta trông thế này:




Khi công tắc đóng, một dòng điện chảy qua giữa V và bề mặt qua cọng dây uốn cong của nam châm điện, làm nam châm điện kéo thanh chạm, kết nối mạch điện giữa V, bóng đèn, và bề mặt. Bóng đèn sáng:




Các hình minh họa của rơ-le thể hiện hai nguồn điện thế và hai bề mặt, nhưng trong tất cả các hình ở chương này, tất cả chữ V có thể được nối với những chữ V khác và tất cả bề mặt cũng vậy. Tất cả network rơ-le và cổng logic trong chương này và chương kế sẽ chỉ cần một viên pin, dù rằng có thể sẽ là viên pin lớn. Ví dụ, hình minh họa trước đó có thể được vẽ lại với chỉ một viên pin như thế này:




Nhưng cho những thứ ta cần làm với rơ-le thì đồ hình này không được rõ ràng lắm. Tốt hơn là nên tránh mạch điện khép và xem xét rơ-le – như tấm điều khiển trước đó – theo thuật ngữ đầu vào và đầu ra




Nếu một nguồn điện chảy qua đầu vào (ví dụ, nếu một công tắc nối đầu vào với V), nam châm điện được kích hoạt và đầu ra là một điện thế.

Đầu vào của một rơ-le không nhất thiết phải là một công tắc, và đầu ra cũng không nhất thiết là một bóng đèn. Đầu ra của rơ-le có thể được nối với đầu vào của một rơ-le khác, ví dụ, như thế này:




Khi bạn bật công tắc, rơ-le thứ nhất được kích hoạt, sau đó cung cấp một điện thế cho rơ-le thứ hai. Rơ-le thứ hai được kích hoạt và bóng đèn sáng tiếp:




Liên kết các rơ-le là chìa khóa để xây dựng cổng logic.

Thựa tế, các bòng đèn có thể được nối với rơ-le theo hai cách. Để ý mẩu thanh kim loại linh động được kéo bởi nam châm điện. Lúc nghỉ, nó đang chạm vào một mối tiếp xúc; khi nam châm điện kéo nó, nó đánh vào một chỗ tiếp xúc khác. Chúng ta vừa mới dùng chỗ tiếp xúc thấp hơn làm đầu ra rơ-le, nhưng ta cũng có thể làm thế với điểm chạm trên. Khi ta dùng điểm chạm này, đầu ra của rơ-le được đổi ngược và đèn sáng khi công tắc đầu vào mở:




Và khi công tắc đầu vào được đóng, bòng đèn tắt:




Sử dụng thuật ngữ công tắc, loại rơ-le này được gọi là rơ-le hai đầu [double-throw]. Nó có hai đầu ra đối nghịch điện – khi một bên có điện, bên kia không có.

Nhân tiện, nếu bạn đang có một khoảng thời gian khó khăn khi quan sát rơ-le hiện đại trông như thế nào, bạn có thể thấy một xíu trong sự lắp ráp rõ ràng thuận tiện của chiếc Radio Shack bạn có. Đôi thứ, trông giống các rơ-le nặng đô với phần số 275-206 và 275-214, khoảng bằng kích cỡ của một cục đá lạnh. Phía bên trong được bọc trong một miếng vỏ nhựa sạch, cho nên bạn có thể thấy nam châm điện và tiếp xúc kim loại. Mạch điện mà tôi sẽ mô tả trong chương này và chương kế tiếp có thể được xây dựng dùng rơ-le trong Radio Shack đánh số 275-240, cái nhỏ hơn (khoảng kích cỡ của một viên kẹo Chiclet) và rẻ hơn ($2,99 một món).

Cũng như hai công tắc có thể được nối nối tiếp, hai rơ-le có thể được nối tương tự:




Đầu ra của rơ-le phía trên cung cấp điện cho rơ-le thứ hai. Như bạn sẽ thấy, khi cả hai công tắc được mở, bóng đèn không được bật. Ta có thể thử đóng công tắc trên:




Bóng đèn vẫn không sáng bởi vì công tắc dưới vẫn còn mở và rơ-le đó không được kích hoạt. Ta có thể thử mở công tắc trên và đóng công tắc dưới:




Bóng đèn vẫn không bật. Dòng điện không thể chạm vào bóng đèn vì rơ-le thứ nhất không được kích hoạt. Cách duy nhất để làm bóng đèn sáng lên là đóng cả hai công tắc:




Giờ thì cả hai rơ-le đều được kích hoạt, và dòng điện có thể chảy giữa V, bóng đèn và bề mặt.

Giống như hai công tắc được nối nối tiếp, hai rơ-le này đang biểu diễn một thực tế nhỏ trong logic. Bóng đèn sáng chỉ khi nếu cả hai rơ-le được kích hoạt. Hai rơ-le này nối nối tiếp được biết như là cổng AND. Để tránh vẽ lung tung, các thợ điện có một kí hiệu đặt biệt cho cổng AND. Kí hiệu này trông như sau:




Đây là cái đầu tiên trong bốn cổng logic cơ bản. Cổng AND có hai đầu vào (bên trái đồ hình) và một đầu ra (bên phải). Bạn sẽ thường thấy cổng AND được vẽ như cái mà trong đó đầu vào bên trái và đầu ra bên phải. Đó là vì những người  thích đọc từ trái sang phải cũng thích đọc đồ hình điện từ trái sang. Nhưng cổng AND cũng có thể được vẽ với đầu vào bên trên, bên phải hay bên dưới.

Mạch điện ban đầu với hai rơ-le nối nối tiếp với hai công tắc và một bóng đèn trông như thế này:




Dùng kí hiệu cho cổng AND, mạch điện tương tự là đây:




Để ý là ký hiệu cho cổng AND không chỉ thể hiện cho hai rơ-le nối nối tiếp mà còn ngầm hiểu là rơ-le trên được nối với điện thế, và cả hai rơ-le được nối với bề mặt. Lần nữa, bóng đèn sáng chỉ khi cả hai công tắc trên  dưới được đóng. Đó là lý do tại sao lại gọi là cổng AND.

Đầu vào của cổng AND không nhất thiết phải được nối với công tắc, và đầu ra không nhất thiết phải nối với bóng đèn. Những gì ta thực sự giải quyết ở đây là điện thế ở đầu vào và điện thế ở đầu ra. Ví dụ, đầu ra của một cổng AND có thể là đầu vào của một cổng AND thứ hai, như này:




Bóng đèn sẽ thắp sáng nếu chỉ khi tất cả ba công tắc được đóng. Chỉ khi hai công tắc trên đóng sẽ là đầu ra của cổng AND đầu tiên kích hoạt rơ-le đầu tiên trong cổng AND thứ hai. Công tắc dưới kích hoạt rơ-le thứ hai trong cổng AND thứ hai.

Nếu ta nghĩ không có điện là 0, và có điện là 1, đầu ra của cổng AND dựa vào đầu vào như sau:




Như với hai công tắc nối nối tiếp, cổng AND cũng có thể được mô tả trong bảng này:




Nó cũng có thể làm cổng AND với nhiều hơn hai đầu vào. Ví dụ, cho rằng bạn nối ba rơ-le nối tiếp:




Bóng đèn sẽ sáng nếu chỉ khi ba công tắc đều đóng. Cấu hình kiểu này được diễn ta bằng ký hiệu sau:




Nó được gọi là cổng AND 3-đầu.

Cổng logic tiếp theo gồm hai rơ-le mà ta nối song song như thế này:




Để ý là đầu ra của hai rơ-le được nối với nhau. Đầu ra nối lại này sau đó cung cấp năng lượng cho bóng đèn. Một trong hai rơ-le là đủ để thắp sáng bóng đèn. Ví dụ, nếu ta đóng công tắc trên, bóng đèn sáng. Bóng đèn có năng lượng từ rơ-le trái.




Tương tự như thế, nếu ta để công tắc trên mở nhưng đóng công tắc dưới, bóng đèn sáng:




Bóng đèn cũng sáng nếu cả hai công tắc đều đóng:




Những gì ta có ở đây là tình huống mà trong đó bóng đèn sáng nếu công tắc trên hoặc dưới được đóng. Từ khóa ở đây là hoặc, nên được gọi là cổng OR. Kĩ sư điện dùng kí hiệu cho cổng OR giống thế này:




Nó khá giống với kí hiệu cổng AND ngoại trừ cạnh bên đầu vào bị cong, trong giống chữ O trong OR. (Có thể giúp bạn hiểu đơn giản).

Đầu ra của cổng OR cung cấp một điện thế nếu một trong hai đầu vào có điện. Lần nữa, nếu ta nói rằng không có điện là 0 và có điện là 1, cổng OR có bốn trạng thái khả thi:




Theo cách tương tự ta tóm gọn đầu ra của cổng AND, ta có thể tóm tắt đầu ra cuả cổng OR:




Cổng OR cũng có thể có nhiều hơn hai đầu vào. (Đầu ra của một cổng như này là 1 nếu bất kì đầu vào nào là 1; đầu ra là 0 chỉ khi nếu tất cả các đầu vào là 0)

Trước đó tôi đã giải thích cách các rơ-le mà ta đang dùng được gọi là rơ-le hai đầu bởi vì một đầu ra có thể được nối theo hai cách khác nhau. Bình thường, bóng đèn không sáng khi công tắc mở:




Khi công tắc đóng, bóng đèn sáng.

Một trường hợp nữa, bạn có thể dùng chỗ tiếp xúc khác để bóng đèn bật khi công tắc mở:




Trong trường hợp này, bóng đèn tắt khi bạn đóng công tắc. Một rơ-le đơn nối theo cách này được gọi là inverter. Inverter không phải là cổng logic (cổng logic luôn luôn có hai hay nhiều đầu vào), nhưng dù sao nó cũng thường rất hữu ích. Nó được đại diện bởi một kí hiệu đặc biệt như này:




Nó được gọi là inverter bởi vì nó đảo ngược 0 (không có điện) thành 1 (có điện) và ngược lại:




Với inverter, cổng AND, và cổng OR ta có thể bắt đầu nối tấm điều khiển để tự lựa chọn một con mèo phù hợp. Hãy bắt đầu với các công tắc. Công tắc đầu tiên được đóng cho mèo cái và mở cho mèo đực. Vậy nên ta có thể tạo ra hai tín hiệu mà ta sẽ gọi là F và M, như này:




Khi F là 1, M sẽ là 0 và ngược lại. Tương tự, công tắc thứ hai đóng cho một con mèo thiến và mở cho mèo chưa thiến :




Hai công tắc tiếp theo phức tạp hơn. Trong nhiều cách phối hợp, các công tắc này phải biểu thị bốn màu. Đây là hai công tắc, cả hai được nối với điện thế :




Khi cả hai công tắc mở (như hình), chúng biểu thị màu trắng. Đây là cách dùng hai inverter và một cổng AND để tạo ra một tín hiệu mà tôi sẽ gọi là W, là đang có điện (1) nếu bạn chọn một con mèo trắng và không có điện (0) nếu không phải:




Khi các công tắc mở, đầu vào của hai inverter là 0. Đầu ra của inverter (là đầu vào của cổng AND) do đó đều là 1. Có nghĩa là đầu ra của cổng AND là 1. Nếu một trong hai công tắc được đóng, đầu ra của cổng AND sẽ là 0.

Để biểu thị một con mèo đen, ta đóng công tắc đầu tiên. Nhìn hình ta có thể thấy là chỉ dùng một inverter và một cổng AND :




Đầu ra của cổng AND sẽ là 1 nếu chỉ khi công tắc đầu tiên được đóng và công tắc thứ hai mở.

Tương tự, nếu công tắc thứ hai đóng, ta muốn một con mèo nâu :




Và nèo mếu cả hai công tắc đều đóng, ta muốn một con có màu khác :




Giờ hãy kết hợp tất cả bốn mạch điện nhỏ thành một mạch lớn. (Như thường lệ, chấm đen thể hiện kết nối giữa các dây trong mạch ; các dây nào đi qua nhau mà không có chấm đen thì chúng không được nối vào nhau.)




Chà, tôi biết nhóm kết nối này giờ trông rất phức tạp. Nhưng nếu bạn rà theo rất cẩn thận – nếu bạn nhìn vào hai đầu vào của mỗi cổng AND để thấy nơi mà từ đó chúng đến và cố gắng bỏ qua những nơi chúng cũng đi qua – bạn sẽ thấy là mạch điện này dùng được. Nếu cả hai công tắc đều tắt, đầu ra W sẽ là 1 và còn lại sẽ là 0. Nếu công tắc đầu tiên đóng, đầu ra B sẽ là 1 và còn lại là 0, cứ thế.

Một vài quy tắc đơn giản quy định cách bạn có thể nối các cổng và inverter : đầu ra của một cổng (hoặc inverter) có thể là đầu vào của một hay nhiều cổng khác (hoặc inverter khác). Nhưng đầu ra của hai hay nhiều cổng (hay inverter) không bao giờ được nối với một đầu ra khác.

Mạch bốn cổng AND và hai inverter này được gọi là 2-Line-to-4-Line Decoder. Đầu vào là hai bit theo nhiều cách kết hợp có thể đại diện cho bốn giá trị khác nhau. Đầu ra là bốn tín hiệu, chỉ một trong bốn là 1 vào bất kì thời điểm, dựa trên giá trị hai đầu vào. Theo nguyên tắc tương tự, bạn có thể làm một 3-Line-to-8-Line Decoder hay 4-Line-to-16-Line Decoder, và cứ thế.

Phiên bản đơn giản của biểu thức chọn mèo là

(N × ((M × (W + T)) + (F × (1 – W)))) + B

Với mỗi dấu + trong biểu thức này, phải có một cổng OR trong mạch. Cho mỗi dấu ×, phải có một cổng AND.




Các ký hiệu trở xuống cạnh bên trái của sơ đồ mạch điện có cùng thứ tự như chúng xuất hiện trong biểu thức. Các tín hiệu này đến từ các công tắc được nối với các inverter và bộ dịch 2-line-to-4-line. Để ý cách dùng inverter cho phần (1 – W) của biểu thức.

Giờ có lẽ bạn sẽ nói, “Nhiều rơ-le kinh khủng” và vâng, đúng thế.

Có hai rơ-le trong mỗi cổng AND và OR, và một rơ-le cho mỗi inverter. Tôi sẽ nói với bạn lời đáp rất thực tế duy nhất đó là “Hãy tập quen đi.” Ta sẽ dùng rất nhiều rơ-le trong các chương tiếp theo. Nhưng cũng đỡ được phần nào là bạn không thực sự phải mua và nối chúng ở nhà đó chứ.

Ta sẽ nhìn vào hai cổng logic nữa trong chương này. Cả hai dùng đầu ra của rơ-le mà thường có điện khi rơ-le không được kích hoạt. (Đây là đầu ra được dùng trong inverter.) Ví dụ, trong cấu hình đầu ra từ một rơ-le cung cấp năng lượng to một rơ-le thứ hai. Với cả hai đầu vào tắt, bóng đèn sáng:




Nếu công tắc trên đóng, bóng đèn tắt.




Bóng đèn tắt bởi vì nguồn năng lượng không còn cung cấp cho rơ-le thứ hai. Tương tự, nếu công tắc dưới đóng, bóng đèn cũng tắt:







Và nếu cả hai công tắc đều đóng, bóng đèn tắt:





Hành xử này chính xác ngược với những gì đã xảy ra với cổng OR. Nó được gọi là NOT OR hay, ngắn hơn, NOR. Đây là kí hiệu cho cổng NOR:






Giống với kí hiệu cho OR ngoại trừ với một vòng tròn nhỏ ở đầu ra. Vòng tròn nghĩa là đối. NOR cũng giống với 




Đầu ra của cổng NOR thể hiện trong bảng dưới:




Bảng này thể hiện kết quả ngược với cổng OR, cái mà sẽ là 1 nếu một trong hai công tắc là 1 và 0 nếu chỉ khi cả hai đầu vào là 0.

Thế nhưng còn một cách khác để nối hai rơ-le như được vẽ dưới đây:




Trong trường hợp này, hai đầu ra được nối với nhau, sẽ tương tự như cấu hình OR nhưng dùng kết nối khác. Bóng đèn sáng khi cả hai công tắc mở.

Bóng đèn vẫn còn sáng khi công tắc trên được đóng:




Tương tự, bóng đèn còn sáng khi công tắc dưới đóng:




Chỉ khi cả hai công tắc đều đóng mới làm bóng đèn tắt:




Hành xử này chính xác đối lập với cổng AND. Được gọi là NOT AND hay, gọn hơn, NAND. Cổng NAND được vẽ như cổng AND trừ việc thêm một vòng tròn nhỏ ở đầu ra, có nghĩa là đầu ra đối với cổng AND:




Cổng NAND có hành xử sau:




Để ý là đầu ra của cổng NAND đối ngược với cổng AND. Đầu ra của cổng AND là 1 chỉ khi cả hai đầu vào là 1; ngược lại, đầu ra là 0.

Tới đây, ta vừa nhìn vào bốn cách khác nhau để nối rơ-le mà có hai đầu vào và một đầu ra. Mỗi cấu hình hành xử trong một cách khá khác nhau. Để tránh vẽ đi vẽ lại các rơ-le, ta gọi luôn chúng là cổng logic và quyết định dùng kí hiệu tương tự mà các kĩ sử điện hay dùng để đại diện cho chúng. Đầu ra của một cổng logic cụ thể phụ thuộc vào đầu vào, được tóm gọn ở đây:




Vậy thì giờ ta có bốn cổng logic và inverter. Toàn bộ mảng công cụ này chỉ là một rơ-le cũ thông thường:




Đây được gọi là một buffer, và kí hiệu cho nó:




Nó có cùng kí hiệu với inverter ngoại trừ không có vòng tròn nhỏ. Buffer không được nhớ đền nhiều lắm bởi khả năng của nó. Đầu ra của buffer giống với đầu vào:




Nhưng bạn có thể dùng một buffer khi một tín hiệu đầu vào yếu. Bạn có thể nhớ lại là đây là lý do rơ-le được dùng trong máy điện báo nhiều năm trước. Hoặc là một buffer có thể được dùng để làm trễ một tín hiệu một tí. Điều này xảy ra được là vì rơ-le cần một ít thời gian – một vài phần giây – để được kích hoạt.

Từ đây trở đi trong cuốn sách này, bạn sẽ thấy rất ít hình vẽ rơ-le. Thay vào đó, các mạch sau này sẽ được dựng từ buffer, inverter, bốn cổng logic cơ bản, và các mạch điện phức tạp hơn (như 2-Line-to-4-Line Decoder) được tạo từ các cổng logic này. Tất cả các phần tử này được tạo từ rơ-le, tất nhiên rồi, nhưng ta không nhất thiết phải nhìn vào mấy cái rơ-le nữa.

Trước đó, khi ta xây dựng 2-Line-to-4-Line Decoder, ta thấy một mạch nhỏ trông thế này:




Hai đầu vào được đổi ngược và trở thành đầu vào của một cổng AND. Đôi khi một cấu hình như thế này được vẽ mà không có inverter:




Để ý vòng tròn nhỏ ở đầu vào của cổng AND. Những vòng tròn nhỏ này nghĩa là các tín hiệu được đổi ngược ở điểm này – một 0 (không điện thế) trở thành 1 (có điện) và ngược lại.

Một cổng AND với hai đầu vào bị ngược làm chính xác những việc của một cổng NOR:




Đầu ra là 1 chỉ khi cả hai đầu vào là 0.

Tương tự, một cổng OR với hai đầu vào bị đảo tương đương với cổng NAND :




Đầu ra là 0 chỉ khi hai đầu vào là 1.

Hai nhóm mạch điện tương đương này đại diện cho một triển khai về điện của Quy luật De Morgan. Augustus De Morgan là một nhà toán học thời Victoria khác, lớn hơn Boole chín tuổi, cuốn sách của ông Formal Logic được xuất bản năm 1847, vào chính cái ngày (câu chuyện xảy ra) cuốn sách The Mathmetic Analysis of Logic của Boole xuất bản. Thật ra, Boole đã được truyền cảm hứng để phát minh logic từ sự ác cảm công khai nổ ra giữa De Morgan và một nhà toán học Anh khác liên quan đến việc tố cáo đạo ý tưởng. (De Morgan đã được chứng minh bởi lịch sử.) Rất sớm sau đó, De Morgan nhận ra sự quan trọng từ tầm nhìn của Boole. Ông ta không ích kỷ mà đã động viên Boole và giúp cậu ta trong suốt quá trình, và ngày nay đáng buồn là hầu hết mọi người đã quên đi những điều này chỉ trừ định luật nổi tiếng của ông.

Luật De Morgan được diễn tả rất đơn giản theo cách này :




A và B là hai toán hạng Boolean. Trong biểu thức đầu, chúng đối và sau đó hợp lại với phép AND Boolean. Điều này tương tự như hợp hai toán hạng với phép OR và sau đó đối kết quả (là NOR). Trong biểu thức thứ hai, hai toán hạng được đối và sau đó hợp với phép OR. Điều này tương tự như kết hợp các toán hạng với phép AND và sau đó đảo ngược (là NAND).

Luật De Morgan là một công cụ quan trọng để đơn giản biểu thức Boolean và do đó, đơn giản hóa mạch điện. Trong lịch sử, điều này chính là những gì mà bài viết của Shannon thật sự muốn nói cho các kĩ sư điện. Nhưng đơn giản hóa mạch điện sẽ không là mối bận tâm chính trong cuốn sách này. Sẽ thích hơn khi làm cho các thứ hoạt động chứ không phải là làm chúng hoạt động đơn giản nhất có thể. Và món mà ta sẽ bắt tay vào làm tới đây không có gì phức tạp hơn một máy làm tính cộng cả.

-----------------------------------------------------------------
Gần cuối có 4 hình bị chồng, hình nằm trên sai, hình dưới mới đúng mà mình không sửa được, trình duyệt bị sao ấy nên các bạn thông cảm.
Từ inverter mình hỏi bạn học bên điện, nó kêu là biến tần, mà mình tìm thử thấy biến tần đổi DC sang AC nên không chắc dùng từ này có đúng không, nên để nguyên là inverter luôn. Bạn nào biết nghĩa nó có thể nói để mình sửa lại.