Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

MODULE 5.

ĐẠI SỐ LOGIC VÀ ỨNG DỤNG TRONG


THIẾT KẾ MẠCH LOGIC

Người đặt nền móng cho ngành toán học này là D.Boole (1815 - 1864). Do vậy đại số
logic còn có tên gọi là đại số Boole. Đại số logic có nhiều ứng dụng. Ở đây, chúng ta
quan tâm đến các khía cạnh liên quan đến thiết kế các mạch logic bên trong MTĐT. Như
đã thấy, kết quả thực hiện các phép toán số học với các số nhị phân là một số nhị phân
mới. Do vậy, ta có thể hình dung thiết bị thực hiện các phép
toán trong MTĐT như là thành phần chức năng biến đổi nhị
phân. Thiết bị đặc biệt đó cho phép nạp số liệu dạng nhị phân
ở đầu vào và lấy kết quả có dạng nhị phân ở đầu ra. Vậy có
thể xem bộ biến đổi chức năng đó như là một thiết bị có nhiều
đầu vào và nhiều đầu ra. Tại một thời điểm xác định, ở mỗi
đầu vào chỉ nạp được một bit và từ mỗi đầu ra chỉ cho ra được
một bit dữ liệu. Để hiểu rõ hơn về nguyên lý xây dựng các bộ
biến đổi nhị phân ta sẽ tìm hiểu một số vấn đề có liên quan
dưới đây.
Hình 5.1. D. Boole
5.1. Các hàm đại số logic
Xét tập D = { 0, 1}. Các giá trị của tập D còn gọi là giá trị logic hay nhị phân. Đại lượng
x chỉ có thể nhận giá trị trong tập D gọi là biến boole (hay biến logic, biến nhị phân).
Hàm của n biến nhị phân F(x1,x2...xn) chỉ nhận hai giá trị 0 và 1 gọi là hàm Boole (hoặc
hàm logic). Mỗi hàm boole n biến có thể cho bằng một bảng có n+1 cột. n cột đầu là giá
trị của các biến x1,x2...xn tương ứng. Cột cuối cùng là giá trị của hàm ứng với các giá trị
của biến. Ví dụ:

Bảng 5.2. Cho một hàm bằng bảng giá trị.

x1 x2 f(x1,x2)
0 0 1
0 1 0
1 0 0
1 1 1
Dễ dàng thấy, với mỗi n có đúng 2n cách tổ hợp khác nhau giá trị các biến x1,x2...xn,. Một
hàm boole là một cách tương ứng mỗi một trong số 2n với 1 trong 2 giá trị 0 và 1. Vì thế
nó sẽ tương ứng với một cách phân hoạch tập 2n bộ giá trị này thành 2 nhóm, một nhóm
làm hàm có giá trị 1, một nhóm làm hàm có giá trị 0. Như vậy mọi hàm boole n biến
hoàn toàn được xác định bởi một tập con trong 2n bộ giá trị để giá trị của hàm là 1. Ta đã
biết đối với một tập có k phần tử thì tập tất cả các tập con của nó sẽ có 2k phần tử. Do vậy
n
có đúng 22 hàm boole n biến.
Với n = 1, có 4 hàm nhị phân. Các hàm đó được cho trong bảng dưới đây
Bảng 5.3. Các hàm đại số logic một ngôi

x F1 F2 F3 F4
0 0 1 0 1
1 0 1 1 0

Hàm F1 và F2 là hàm hằng (không phụ thuộc vào đối số x),


F1(x) ≡0 đây là hàm hằng 0
F2(x) ≡ 1 đây là hàm hằng 1
Giá trị F3(x) luôn bằng giá trị biến x, đó là hàm đồng nhất. F3(x) ≡ x
Hàm F4(x) luôn có giá trị ngược lại với giá trị biến x mà ta gọi là hàm phủ định. Hàm này
được kí hiệu bởi ⎤. ⎤ x được gọi là phủ định của x. Ta có ⎤ ⎤ x = x
Dấu ⎤ có thể xem là dấu phép toán một ngôi, cho phép từ giá trị x xác định giá trị ⎤ x.
Phép toán đó cũng có tên là phép phủ định. (Một số tài liệu dùng dấu - trên đầu đối tượng
bị phủ định thay cho dấu ⎤ đứng trước đối tượng).
Với n = 2, có 16 hàm logic. Giá trị của các hàm được cho ở bảng sau:

Bảng 5.4. Các hàm đại số logic hai ngôi


F10
F11
F12
F13
F14
F15
F16
x y
F1
F2
F3
F4
F5
F6
F7
F8
F9

0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Ta xét một vài hàm quan trọng.
F2(x, y) có giá trị 1 khi và chỉ khi x, y đồng thời có giá trị 1. Hàm này được kí hiệu là ( x
∧ y) và còn gọi là phép nhân logic hay phép hội.
F7(x, y) có giá trị 1 khi và chỉ khi x, y khác nhau. Hàm này chính là chữ số hàng đơn vị
khi cộng số học x với y. Vì vậy nếu có nhớ sang hàng bên trái thì giá trị đó cũng bỏ đi.
Chính vì vậy F7 còn gọi là phép cộng theo mô đun 2.
F8(x,y) có giá trị 0 khi và chỉ khi x, y đồng thời có giá trị 0. Hàm F8(x,y) được kí hiệu (x
∨ y) và còn gọi là phép cộng logic hay phép tuyển.
F10(x,y) có giá trị 1 khi và chỉ khi x, y có cùng giá trị như nhau, hoặc 0 hoặc 1. Hàm
F10(x,y) có kí hiệu (x ∼y) và còn gọi là phép tương đương
F14(x,y) có giá trị 0 khi và chỉ khi x có giá trị 1 đồng thời y có giá trị 0. Hàm F14(x,y)
được kí hiệu (x ⇒y) và còn gọi là phép kéo theo.
5.2. Biều diễn các hàm đại số logic
Một hàm đại số logic cũng có thể được xác định thông qua các hàm đại số lôgic khác. Ví
dụ hàm F7(x,y) trong bảng trên có thể cho bằng công thức sau:
( x ∧ ⎤ y ) ∨ (⎤ x ∧ y )
Hai công thức sau gọi là công thức đối ngẫu De Morgan (tương tự như trong lý thuyết tập
hợp).
⎤ (x ∧ y) =(⎤ x) ∨ ( ⎤ y), ⎤ ( x V y) = (⎤ x) ∧ (⎤ y)
Các công thức này cho thấy có thể biểu diễn phép cộng qua phép nhân và phép phủ định
(và ngược lại). Chẳng hạn x V y = ⎤ (⎤ x) ∧ (⎤ y)
Sau đây là hai công thức khác
(x ⇒ y) = ⎤ x ∨ y, ( x ∼ y) = (x ∨ ⎤ y) ∧⎤ (y ∨ x)
Có nhiều cách chứng minh một đẳng thức logic trong đó có một cách chứng minh rất đơn
giản là so sánh giá trị của hai vế với tất cả bộ đối số cụ thể. Vì chỉ có một số hữu hạn các
bộ đối số nên chúng ta có thể kể ra tất cả các trường hợp trong một bảng giá trị. Chẳng
hạn để chứng minh công thức của hàm F7 nói trên ta có thể lập một bảng và so sánh giá
trị của hai vế ứng với mỗi bộ giá trị của các đối như sau:

Bảng 5.5. Có thể chứng minh các đẳng thức bằng bảng đối sánh giá trị

X y ⎤x∧y x∧⎤y (⎤ x ∧ y) ∨ (x ∧⎤ y) F7(x,y)


0 0 0 0 0 0
0 1 0 1 1 1
1 0 0 1 1 1
1 1 0 0 0 0

Qua các ví dụ trên ta thấy rằng các hàm đại số lôgic này có thể biểu diễn qua các hàm đại
số logic khác. Một tập hợp hữu hạn các hàm đại số logic được gọi là một hệ hàm đủ nếu
mọi hàm đại số lôgic khác đều có thể biểu diễn được qua hệ hàm này. Có thể chứng minh
không khó khăn lắm rằng hệ hai hàm phủ định và cộng logic là hệ hàm đủ. Do công thức
đối ngẫu De Morgan ta thấy hệ hai hàm phủ định và nhân lôgic cũng là hệ hàm đủ. (Bạn
đọc có thể tìm hiểu cách chứng minh các giáo trình về logic toán phần trong dạng chuẩn
tuyển và chuẩn hội hoặc tự chứng minh như bài tập số 2 đề nghị )

5.3. Áp dụng đại số logic trong việc thiết kế các mạch logic
Ta sẽ biết, MTĐT biểu diễn thông tin bằng các trạng thái của các thành phần vật lý, thông
thường các thành phần này có hai trạng thái đối lập như một mạch điện đóng hoặc mở,
chiều của từ trường một vùng vật liệu từ nhiễm từ theo chiều 4này hoặc chiều kia... Nếu
dùng trạng thái này chỉ giá trị 1 và trạng thái kia chỉ giá trị 0 thì ta thấy rằng MTĐT là
một máy làm việc trên hệ nhị phân. Mọi phép xử lý máy có thể thực hiện được thực chất
là các hàm đại số logic. Các hệ vật lí thực hiện các hàm đại số lô gic gọi là các mạch
logic.
Ta minh họa một số mạch logic đơn giản dùng
các công tắc ngắt hoặc đóng mạch có điều R
khiển (gọi là các rơ le) với quy ước rằng trạng K1 K2
thái có điện thể hiện giá trị logic 1, trạng thái
không có điện thể hiện giá trị logic 0.

Phần tử AND
Hình 5.6. Sơ đồ phần tử AND
Cho mạch điện có hai rơ-le K1, K2 mắc nối
tiếp như hình vẽ. Chỉ khi có dòng điện điều
khiển để đóng K1 và K2 thì mới có dòng điện
K1
qua R. Vì vậy với cách quan niệm như trên R R
= K1∧K2
K2
Phần tử OR

Cho mạch điện cũng có hai rơ-le K1, K2 với


tính chất như vừa xét, nhưng được mắc song
song theo sơ đồ: Hình 5.7. Sơ đồ phần tử OR
Dễ nhận thấy R không có dòng điện (thể hiện
giá trị 0 ) khi và chỉ khi K1 và K2 đồng thời
ngắt mạch (thể hiện giá trị 0). Do đó, giá trị
K1
logic R thể hiện là tổng logic của các giá trị
của K1 và K2 thể hiện. R

Phần tử NOT

Xét mạch điện có sơ đồ như hình vẽ dưới đây.


Khi K mở, dòng điện phải đi qua R, còn khi K Hình 5.8. Sơ đồ phần tử NOT
đóng, do điện trở của K vô cùng bé so với R
nên dòng điện đi qua K mà không đi qua R.
Do vậy, giá trị logic R thể hiện là phủ định giá trị mà K thể hiện.
Trên thực tế các mạch logic thường được chế tạo từ các mạch bán dẫn hoặc các mạch vi
điện tử với kích thước siêu nhỏ. Người ta cũng chế tạo những mạch (phần tử) OR, AND,
NOT, NAND (NOT AND), NOR (NOT OR), XOR và cả những mạch có chức năng
phức tạp thực hiện các xử lý phức tạp hơn. Các hệ này gọi là các hệ logic. Như vậy có thể
hình dung các hệ logic như những hộp đen (mà ta không quan tâm đến cấu trúc bên
trong) có một số đầu vào và ra.
Các tín hiệu ở đầu vào và đầu ra là các tín hiệu nhị phân (tương ứng với một trong hai
trạng thái vật lí). Ta đã biết hệ hàm phủ định, tuyển và hội là một hệ hàm đủ. Như vậy về
mặt nguyên tắc có thể chồng chất các phần tử NOT và OR và AND để tạo nên bất cứ một
máy thực hiện các phép biến đổi nhị phân nào. Ví dụ sau đây minh họa việc lập mạch
cộng hai bít.
Bộ cộng 2 bít
Phép cộng hai số một bít a và b có thể cho ra một số có a b
hai bít là cd. Bít c chỉ bằng 1 khi và chỉ khi a, b đồng
thời bằng 1 (ứng với trường hợp 1 + 1 = 10). Do đó c =
a ∧ b. Còn d, như đã trình bày trước đây, chính là tổng
theo mô đun 2 của a và b có biểu diễn qua các hàm
cộng, nhân và phủ định logic như sau
d = ( a ∧ ⎤ b ) ∨ (⎤ a ∧ b )
Vậy sơ đồ mạch logic của phép cộng hai bit có thể xây
dựng như trong hình 16.
Trên đây là một ví dụ đơn giản cho thấy người ta có thể
xây dựng các mạch thực hiện các chức năng xử lý như
thế nào. Đương nhiên mạch của một bộ xử lý có thể
thực hiện được hàng trăm loại phép tính và hàng trăm
chức năng điều khiển sẽ rất phức tạp. Bộ vi xử lý
Itanium của Intel xuất xưởng trong năm 2001 là một
mạch điện chứa tới vài chục triệu transitor.
c d

Hình 42. So đồ bộ cộng hai bit

You might also like