Chng 2. i s BOOLE Trang 11
Chng 2
I S BOOLE
2.1. CÁC TIÊN VÀ NH LÝ I S BOOLE
Trong các mch s, các tín hiu thng c cho 2 mc n áp, ví d: 0V và 5V. Nhng linh
kin n t dùng trong mch s làm vic mt trong hai trng thái, ví d Transistor lng cc
(BJT) làm vic hai ch là tt hoc dn bão hoà… Do vy, mô t các mch s ngi ta dùng
nh phân (binary), hai trng thái ca các linh kin trong mch sc mã hoá tng ng là 0
hoc 1.
t b môn i s phát trin t cui th k 19 mang tên ngi sáng lp ra nó: i s Boole, còn
c gi là i s logic, thích hp cho vic mô t mch s. i s Boole là công c toán hc quan
trng phân tích và thit k các mch s, c dùng làm chìa khoá i sâu vào mi lnh vc liên
quan n k thut s.
2.1.1. Các tiên ca i s Boole
Cho mt tp hp B hu hn trong ó ta trang b các phép toán + (cng logic), x (nhân logic), -
(bù logic/nghch o logic) và hai phn t 0 và 1 lp thành mt cu trúc i s Boole (c là Bun).
∀ x,y ∈ B thì: x+y ∈ B, x*y ∈ B và tha mãn 5 tiên sau:
1. Tiên giao hoán
∀x,y ∈ B: x + y = y + x
2. Tiên phi hp
∀x,y,z ∈ B: (x+y)+z = x+(y+z) = x+y+z
(x.y).z = x.(y.z) = x.y.z
3. Tiên phân phi
∀x,y, z ∈ B: x.(y + z ) = x.y + x.z
x + (y.z) = (x + y).(x + z)
4. Tiên v phn t trung hòa
Trong tp B tn ti hai phn t trung hòa là phn t n v và phn t không. Phn tn v
ký hiu là 1, phn t không ký hiu là 0.
∀x ∈ B: x + 1 = 1
x . 1 = x
x + 0 = x
x.
x
= 0
2. Các nh lý
a. nh lí 1 (nh lý v phn t bù là duy nht)
∀
x, y
∈
B, ta có:
xy
0x.y
1yx
=⇒
=
=
+
là duy nht (x và y là 2 phn t bù ca nhau)
Phn t bù ca mt phn t bt k là duy nht.
b. nh lí 2 (lý v sng nht ca phép cng và phép nhân logic)
∀x ∈ B, ta có:
x + x +. . . . . + x = x
x. x. x. . . . . . x = x
c. nh lý 3 (nh lý v phnh hai ln)
∀x ∈ B, ta có:
x
g. nh lí 7 (Quy tc tính i vi hng)
i 0, 1
∈
B, ta có:
0 = 1
1
= 0
2.2. HÀM BOOLE VÀ CÁC PHNG PHÁP BIU DIN
2.2.1. Hàm Boole
1. nh ngha
Hàm Boole là mt ánh x ti s Boole vào chính nó. Ngha là
∀
x, y
∈
B c gi là các
bin Boole thì hàm Boole, ký hiu là f, c hình thành trên c s liên kt các bin Boole bng các
phép toán + (cng logic), x / . (nhân logic), nghch o logic (-).
Hàm Boole n gin nht là hàm Boole theo 1 bin Boole, c cho nh sau:
f(x) = x, f(x) =
x
, f(x) = α (α là hng s )
Trong trng hp tng quát, ta có hàm Boole theo n bin Boole c ký hiu nh sau:
f(x
1
, x
2
, , x
n
)
2. Các tính cht ca hàm Boole
n
) và f
2
(x
1
, x
2
, , x
n
) là nhng hàm Boole thì:
- f
1
(x
1
, x
2
, , x
n
) + f
2
(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
- f
1
(x
n,1i = ) thì giá tr f (
α
1
,
α
2
, ,
α
n
)
c gi là giá tr ca hàm Boole theo n bin.
Ví d 2.3
:
Xét hàm f(x
1
, x
2
) = x
1
+ x
2
Xét trong tp B = B* ={0,1, ta có các trng hp sau (lu ý ây là phép cng logic hay còn gi
phép toán HOC / phép OR):
- x
1
= 0, x
2
= 0 → f(0,0) = 0 + 0 = 0
Bài ging K THUT S Trang 14
- x
x
1
x
2
x
3
f (x
1
, x
2
, x
3
) = x
1
+ x
2
.x
3
0
0
0
0
1
1
1
1
0
0
1
1
n
hàng: 2
n
giá tr khác nhau ca t hp n bin.
Ví d 2.5
: Hàm 3 bin f(x
1
, x
2
, x
3
) có thc cho bng bng giá tr nh sau:
x
1
x
2
x
3
f (x
1
, x
2
, x
3
)
0
0
0
0
1
1
x
2
f(x
1
, x
2
) = x
1
+ x
2
0
0
1
1
0
1
0
1
0
1
1
1
Chng 2. i s BOOLE Trang 15
2. Phng pháp gii tích
ây là phng pháp biu din hàm logic bng các biu thc i s. Phng pháp này có 2 dng:
ng ca các tích s hoc tích ca các tng s.
ng tng ca các tích s gi là dng chính tc th nht (Dng chính tc 1).
ng tích ca các tng s gi là dng chính tc th hai (Dng chính tc 2).
Hai dng chính tc này là i ngu nhau.
x
+ f (1).x
trong ó: f (0), f (1) c gi là các giá tr ca hàm Boole theo mt bin.
Xét f(x) =
x
:
Ta có:
x
= 1.
x
+ 0. x
t khác:
( )
(
)
( )
=
=
⇒=
10f
01f
xxf
Suy ra: f(x) =
x
có th biu din:
f(x) =
x
=
=
⇒=
0f
1f
xf
Suy ra f(x) = α có th biu din:
f(x) =
α
= f(0).
x
+ f(1).x
t lun
: Dù f(x) = x, f(x) =
x
hay f(x) = α, ta u có biu thc tng quát ca hàm mt bin vit
theo dng chính tc th nht nh sau:
Bài ging K THUT S Trang 16
f(x) = f(0).
x
+ f(1).x
y f(x) = f(0).
x
+ f(1).x, trong ó f(0), f(1) là giá tr ca hàm Boole theo mt bin, c gi là
biu thc tng quát ca hàm 1 bin vit ng chính tc th nht (dng tng ca các tích).
Biu thc tng quát ca hàm hai bin f(x
1
, x
2
thc tng quát ca dng chính tc th nht cho hàm 1 bin, ta có:
f(0,x
2
) = f(0,0).
x
2
+ f(0,1).x
2
f(1,x
2
) = f(1,0).
x
2
+ f(1,1).x
2
Suy ra:
f(x
1
,x
2
) = f(0,0).
x
1
x
2
+ f(0,1).
x
1
x
2
2
2
∑
−
=
Trong ó e là s thp phân tng ng vi mã nh phân (α
1
,α
2
) và:
x
1
nu α
1
= 1
x
1
nu α
1
= 0
x
2
nu α
2
= 1
x
2
nu α
2
= 0
1
∑
−
=
trong ó e là s thp phân tng ng vi mã nh phân (
α
1
,
α
2
, ,
α
n
);
và: x
i
nu
α
i
= 1
x
i
nu α
i
= 0 (vi i = 1, 2, 3,…,n)
1
1
x
,α
2
,α
3
).x
1
α1
.x
2
α2
.x
3
α3
ng di ây cho ta giá tr ca s thp phân e và t hp mã nh phân (α
1
,α
2
,α
3
) tng ng:
e
α
1
α
2
α
3
0 0 0 0
1 0 0 1
2 0 1 0
2
x
3
+ f(0,1,1)
x
1
x
2
x
3
+ f(1,0,0) x
1
x
2
x
3
+ f(1,0,1)x
1
x
2
x
3
+ f(1,1,0) x
1
x
2
x
3
+ f(1,1,1) x
1
1
α1
+ x
2
α2
+ + x
n
αn
)]
trong ó e là s thp phân tng ng vi mã nh phân (α
1
,α
2
, ,α
n
);
và:
x
i
nu
α
i
= 1
x
i
nu α
i
= 0 (vi i = 1, 2, 3,…,n)
Ví d 2.7: Biu thc ca hàm Boole 2 bin dng tích các tng s (dng chính tc 2) c vit
nh sau:
2
,x
3
) = [f(0,0,0)+x
1
+ x
2
+x
3
].[f(0,0,1)+x
1
+x
2
+
x
3
].
[f(0,1,0)+x
1
+
x
2
+x
3
].[f(0,1,1)+x
1
+
x
2
+
+
x
2
+
x
3
]
i
i
x
=
Bài ging K THUT S Trang 18
Vy, dng chính tc th hai là dng tích ca các tng s mà trong ó mi tng s này
cha y các bin Boole di dng tht hoc dng bù.
Ví d 2.9:
Hãy vit biu thc biu din cho hàm Boole 2 bin f(x
1
,x
2
) dng chính tc 1, vi bng giá tr
a hàm c cho nh sau:
x
1
x
2
f(x
1
,x
2
x
1
x
2
+ 1.
x
1
.x
2
+ 1.x
1
.
x
2
+ 1.x
1
.x
2
=
x
1
.x
2
+ x
1
.
x
2
+ x
1
1
,x
2,
x
3
)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Vit di dng chính tc 2 (tích các tng s):
f(x
1
,x
2
,x
3
) = (0+x
1
+x
2
+x
3
).(0+x
1
+x
+x
2
+
x
3
).
(1+
x
1
+
x
2
+x
3
).(1+
x
1
+
x
2
+
x
3
)
Chng 2. i s BOOLE Trang 19
Áp dng tiên v phn t trung hòa 0 và 1 ta có:
x + 1 = 1, x . 1 = x
x + 0 = x, x . 0 = 0
nên suy ra biu thc trên có th vit gn li:
f(x
• Khi lit kê nu bin tng ng bng 0 c vit dng tht (x
i
), nu bin tng ng
bng 1 c vit dng bù (
x
i
).
Ví dn gin sau giúp SV hiu rõ hn v cách thành lp bng giá tr ca hàm, tìm hàm mch
và thit k mch.
Ví d 2.11
Hãy thit k mch n sao cho khi công tc 1 óng thì èn , khi công tc 2 óng èn , khi
hai công tc óng èn ?
i gii:
u tiên, ta qui nh trng thái ca các công tc và bóng èn:
- Công tc h : 0 èn tt : 0
- Công tc óng : 1 èn : 1
ng trng thái mô t hot ng ca mch nh sau:
Công tc 1 Công tc 2 Trng thái èn
x
1
x
2
f(x
1
,x
2
)
0
0
1
1
.x
2
=
x
1
.x
2
+ x
1
(
x
2
+ x
2
)
=
x
1
.x
2
+ x
1
= x
1
+ x
2
- Theo dng chính tc 2 ta có:
f(x
1
, nh vy th t
trí hay sp xp các t hp giá tr ca bin vào theo hàng ngang hoc theo ct dc ca bng
Karnaugh hoàn toàn tuân th theo mã Gray.
Giá tr ghi trong mi ô vuông này chính là giá tr ca hàm ra tng ng vi các t hp giá tr ca
bin vào. nhng ô mà giá tr hàm là không xác nh (có th bng 0 hay bng 1), có ngha là giá tr
a hàm là tùy ý (hay tùy nh), ngi ta kí hiu bng ch X.
u hàm có n bin vào s có 2
n
ô vuông
.
Phng pháp biu din hàm bng bng Karnaugh ch thích hp cho hàm có ti a 6 bin, nu
t quá vic biu din s rt rc ri.
i ây là bng Karnaugh cho các trng hp hàm 2 bin, 3 bin, 4 bin và 5 bin:
2.3. TI THIU HÓA HÀM BOOLE
2.3.1. i cng
Trong thit b máy tính ngi ta thng thit k gm nhiu modul (khâu) và mi modul này
c c trng bng mt phng trình logic. Trong ó, mc phc tp ca s tùy thuc vào
phng trình logic biu din chúng. Vic t c n nh cao hay không là tùy thuc vào
phng trình logic biu din chúng dng ti thiu hóa hay cha. thc hin c u ó, khi
thit k mch s ngi ta t ra vn ti thiu hóa các hàm logic. u ó có ngha là phng
f(x
1
,x
2
)
x
1
x
2
0
3
x
4
x
5
00
01
11
10
0001 1110 1011 0100
x
1
=0 x
1
=1
Chng 2. i s BOOLE Trang 21
trình logic biu din sao cho thc s gn nht (s lng các phép tính và s lng các sc biu
din di dng tht hoc bù là ít nht).
Các k thut t c s thc hin hàm Boole mt cách n gin nht ph thuc vào nhiu
u t mà chúng ta cn cân nhc:
t là s lng các phép tính và s lng các s (s lng literal) c biu din di dng tht
hoc bù là ít nht, u này ng ngha vi vic s lng dây ni và s lng u vào ca mch là ít
nht.
Hai là s lng cng cn thit thc hin mch phi ít nht, chính s lng cng xác nh kích
thc ca mch. Mt thit kn gin nht phi ng vi s lng cng ít nht ch không phi s
ng literal ít nht.
Ba là s mc logic ca các cng. Gim s mc logic s gim tr tng cng ca mch vì tín hiu
qua ít cng hn. Tuy nhiên nu chú trng n vn gim tr s phi tr giá s lng cng tng
lên.
i vy trong thc t không phi lúc nào cng t c li gii ti u cho bài toán ti thiu hóa.
1
x
2
+ x
1
x
2
f(x
1
,x
2
) =
x
1
x
2
+ x
1
x
2
+ x
1
x
2
= (
x
1
+ x
1
).x
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
Bài ging K THUT S Trang 22
=
x
1
x
2
3
+ x
1
x
2
(
x
3
+ x
3
) + x
1
x
2
=
x
1
x
2
x
3
+ x
1
(
x
2
+ x
2
)
=
+
Vy, thc hin mch này có th dùng cng OR 3 ngõ vào.
2. Phng pháp bng Karnaugh
ti thiu hóa hàm Boole bng phng pháp bng Karnaugh phi tuân th theo qui tc v ô k
n: “Hai ô c gi là k cn nhau là hai ô mà khi ta t ô này sang ô kia ch làm thay
i giá tr ca 1 bin.”
Quy tc chung ca phng pháp rút gn bng bng Karnaugh là gom (kt hp) các ô k cn li
i nhau.
Khi gom 2 ô k cn s loi c 1 bin (2=2
1
loi 1 bin).
Khi gom 4 ô k cn vòng tròn s loi c 2 bin (4=2
2
loi 2 bin).
Khi gom 8 ô k cn vòng tròn s loi c 3 bin (8=2
3
loi 3 bin).
Tng quát, khi gom 2
n
ô k cn vòng tròn s loi c n bin. Nhng bin b loi là
nhng bin khi ta i vòng qua các ô k cn mà giá tr ca chúng thay i.
Nhng u cn lu ý:
Vòng gom c gi là hp l khi trong vòng gom ó có ít nht 1 ô cha thuc vòng gom nào.
Các ô k cn mun gom c phi là k cn vòng tròn ngha là ô k cn cui cng là ô k cn
u tiên.
Vic kt hp nhng ô k cn vi nhau còn tùy thuc vào phng pháp biu din hàm Boole theo
ng chính tc 1 hoc chính tc 2, c th là:
•
u biu din hàm theo dng chính tc 1 (tng các tích s) ta ch quan tâm nhng ô k
n có giá tr bng 1 và tùy nh. Kt qu mi vòng gom lúc này s là mt tích rút gn.
i vi vòng gom 1: Có 4 ô = 2
2
nên loi c 2 bin. Khi i vòng qua 4 ô k cn trong vòng
gom ch có giá tr ca bin x
1
không i (luôn bng 1), còn giá tr ca bin x
2
thay i (t 1→0) và
giá tr ca bin x
3
thay i (t 0→1) nên các bin x
2
và x
3
b loi, ch còn li bin x
1
trong kt qu
a vòng gom 1. Vì x
1
=1 nên kt qu ca vòng gom 1 theo dng chính tc 1 s có x
1
vit dng
tht: x
1
i vi vòng gom 2: Có 2 ô = 2
1
nên s loi c 1 bin. Khi i vòng qua 2 ô k cn trong vòng
gom giá tr ca bin x
2
và x
,x
3
) = x
1
+ x
2
.x
3
00 01 11 10
0 0 0 1 1
1 0 1 1 1
x
1
x
2
f(x
1
,x
2
)
i thiu hoá theo chính tc 2:
f(x
1
,x
2
) = x
1
+ x
2
x
3
=0 nên kt qu ca vòng gom 1 theo dng chính tc 2 s có x
1
và x
3
dng
tht: x
1
+ x
3
.
i vi vòng gom 2: Có 2 ô = 2
1
nên loi c 1 bin, bin b loi là x
3
(vì có giá tr thay i t
0
→
1). Vì x
1
=0 và x
2
=0 nên kt qu ca vòng gom 2 theo dng chính tc 2 s có x
1
và x
2
dng
tht: x
1
+x
+ x
2
.x
3
= x
1
+ x
1
.x
2
+ x
1
.x
3
+ x
2
.x
3
= x
1
(1+ x
2
+ x
3
) + x
2
.x
3
= x
1
1
,x
2
,x
3
) =
Π
(0, 1, 2) + d(5, 6)
00 01 11 10
0 0 0 1 1
1 0 1 1 1
00 01 11 10
0 0 0 X 1
1 0 1 1 X
x
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Vòng gom 2: x
1
+ x
(2,6,10,11,12,13) + d(0,1,4,7,8,9,14,15)
Thc hin ti thiu hóa theo dng chính tc 1: t bn Karnaugh ta có 2 vòng gom, vòng gom 1
m 8 ô k cn và vòng gom 2 gm 8 ô k cn. Kt qu ti thiu hóa nh sau:
Vòng gom 1:
x
1
Vòng gom 2: x
4
y: f(x
1
,x
2
,x
3
,x
4
) =
x
1
+ x
4
00 01 11 10
00
X X 1 X
01
X 0 1 X
11
0 X X 1
10
1 1 X 1
x
2
x
1
f(x
1
,x
2
,x
3
,x
4
)
Vòng gom 2
Vòng gom 1