TRNG I HC BÁCH KHOA À NNG
KHOA N T VIN THÔNG
oOo
BÀI GING
THUT SNG DNG
à Nng, 08 / 2006
Chng 1. i s Boole Trang 1
Chng 1
I S BOOLE
1.1. HM NH PHÂN VÀ MÃ
1.1.1. H thng sm
1. Khái nim và phân loi hm
m là tp hp các phng pháp gi và biu din các con s bng các kí hiu có giá tr s
ng xác nh gi là các ch s.
Có th chia các hm làm hai loi: hm theo v trí và hm không theo v trí.
a. Hm theo v trí:
m theo v trí là hm mà trong ó giá tr s lng ca ch s còn ph thuc vào v trí ca
nó ng trong con s c th.
Ví d: H thp phân là mt hm theo v trí. S 1991 trong h thp phân c biu din bng
2 ch s “1” và “9”, nhng do v trí ng ca các ch s này trong con s là khác nhau nên s mang
các giá tr s lng khác nhau, chng hn ch s “1” v trí hàng n v biu din cho giá tr s
ng là 1 song ch s “1” v trí hàng nghìn li biu din cho giá tr s lng là 1000, hay ch s
“9” khi hàng chc biu din giá tr là 90 còn khi hàng trm li biu din cho giá tr là 900.
b. Hm không theo v trí:
m không theo v trí là hm mà trong ó giá tr s lng ca ch s không ph thuc vào
trí ca nó ng trong con s.
m La Mã là mt hm không theo v trí. Hm này s dng các ký t “I”, “V”, “X”
biu din các con s, trong ó “I” biu din cho giá tr s lng 1, “V” biu din cho giá tr s
ng 5, “X” biu din cho giá tr s lng 10 mà không ph thuc vào v trí các ch s này ng
trong con s c th.
Các hm không theo v trí s không c cp n trong giáo trình này.
2. C s ca hm
t s A bt k có th biu din bng dãy sau:
A= a
m-1
a
m-2
a
0
a
-1
a
-n
Trong ó a
i
là các ch s, (
1
m
n
i
−
÷
−
=
); i là các hàng s, i nh: hàng tr, i ln: hàng già.
Giá tr s lng ca các ch s a
i
s nhn mt giá tr nào ó sao cho tha mãn bt ng thc sau:
1Na0
i
−≤≤ (a
i
nguyên)
N c gi là c s ca hm. s ca mt hm là s lng ký t phân bit c s
ng trong mt hm. Các h thng sm c phân bit vi nhau bng mt c s N ca h
m ó. Mi ký t biu din mt ch s.
Khoa TVT – HBKN – Tháng 08.2006 Trang 2
Trong i sng hng ngày chúng ta quen s dng hm thp phân (decimal) vi N=10. Trong
thng s còn s dng nhng hm khác là hm nh phân (binary) vi N=2, hm bát phân
(octal) vi N=8 và hm thp lc phân (hexadecimal) vi N=16.
- H nh phân : N =2 ⇒ a
i
= 0, 1.
- H thp phân : N =10 ⇒ a
i
= 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
- H bát phân : N =8 ⇒ a
i
= 0, 1, 2, 3, 4, 5, 6, 7.
- H thp lc phân : N =16 ⇒ a
i
= 0, 1, 2, …8, 9, A, B, C,D, E, F.
Khi ã xut hin c s N, ta có th biu din s A di dng mt a thc theo c s N, c ký
hiu là A
(N)
:
A
(N)
= a
m-1
.N
m-1
+ a
m-2
.N
m-2
+ + a
0
.N
0
+ a
-1
.N
-1
+ + a
-n
.N
-n
Hay:
∑
−
−=
=
1m
ni
i
i(N)
NaA
(1.1)
i N=10 (h thp phân):
A
(10)
= a
m-1
.10
m-1
+ a
m-2
.10
m-2
+ + a
0
.10
0
+ + a
-n
.10
-n
1999,959
(10)
=1.10
3
+ 9.10
2
+ 9.10
1
+ 9.10
0
+ 9.10
-1
+ 5.10
-2
+ 9.10
-3
i N=2 (h nh phân):
A
(2)
= a
m-1
.2
m-1
+ a
m-2
.2
m-2
+ + a
0
.2
0
+a
-n
2
-n
1101
(2)
= 1.2
3
+1.2
2
+ 0.2
1
+ 1.2
0
= 13
(10)
i N=16 (h thp lc phân):
A
(16)
= a
m-1
.16
m-1
+ a
m-2
.16
m-2
+ + a
0
.16
0
+ a
-1
16
-1
+ + a
-n
16
-n
3FF
(16)
= 3.16
2
+ 15.16
1
+ 15.16
0
= 1023
(10)
i N=8 (h bát phân):
A
(8)
= a
m-1
.8
m-1
+ a
m-2
.8
m-2
+ + a
0
.8
0
+ a
-1
.8
-1
+ + a
-n
.8
-n
376
(8)
= 3.8
2
+ 7.8
1
+ 6.8
0
= 254
(10)
Nh vy, biu thc (1.1) cho phép i các s bt k h nào sang h thp phân (h 10).
3. i c s
a. i t c s d sang c s 10
chuyn i mt s hm c s d sang hm c s 10 ngi ta khai trin con s trong c
d di dng a thc theo c s ca nó (theo biu thc 1.1).
Ví d 1.1
i s 1101
(2)
h nh phân sang h thp phân nh sau:
1011
(2)
= 1.2
3
+ 0.2
2
+ 1.2
1
+ 1.2
0
= 11
(10)
b. i t c s 10 sang c s d
chuyn i mt s t c s 10 sang c s d (d = 2, 8, 16) ngi ta ly con s trong c s 10
chia liên tip cho d n khi thng s bng không thì dng li. Kt qu chuyn i có c trong
m c s d là tp hp các s d ca phép chia c vit theo th t ngc li, ngha là s d
u tiên có trng s nh nht. (xem ví d 1.2)
Chng 1. i s Boole Trang 3
Ví d 1.2:
t lun: Gi d
1
, d
2
, ,d
n
ln lt là d s ca phép chia s thp phân cho c s d ln th 1, 2,
3, 4, , n thì kt qu chuyn i mt s t hm c s 10 (thp phân) sang hm c s d s là:
d
n
d
n-1
d
n-2
d
1
,
ngha là d s sau cùng ca phép chia là bít có trng s cao nht (MSB), còn d su tiên là bít
có trng s nh nht (LSB).
Trong các ví d trên, c s ca hm c ghi dng ch s bên di. Ngoài ra cng có th ký
ch phân bit nh sau:
B - H nh phân (Binary) O - H bát phân (Octal)
D - H thp phân (Decmal) H - H thp lc phân (Hexadecimal)
Ví d: 1010B có ngha là 1010
(2)
37FH có ngha là 37F
(16)
& Quy tc chuyn i gia các hm c s 2, 8, 16 ?
1.1.2. Hm nh phân
1. Khái nim
m nh phân, còn gi là hm c s 2, là hm trong ó ngi ta ch s dng hai kí hiu
0 và 1 biu din tt c các s. Hai ký hiu ó gi chung là bit hoc digit, nó c trng cho mch
n t có hai trng thái n nh hay còn gi là 2 trng thái bn ca FLIP- FLOP (ký hiu là FF).
Trong hm nh phân ngi ta quy c nh sau:
- Mt nhóm 4 bít gi là 1 nibble.
- Mt nhóm 8 bít gi là 1 byte.
- Nhóm nhiu bytes gi là t (word), có th có t 2 bytes (16 bít), t 4 bytes (32 bít),
Xét s nh phân 4 bít: a
3
a
2
a
1
a
0
. Biu din di dng a thc theo c s ca nó là:
a
3
a
2
a
1
a
0 (2)
= a
3
.2
3
+ a
2
.2
2
+ a
1
.2
1
+ a
0
.2
0
Trong ó:
- 2
3
, 2
2
, 2
1
, 2
0
(hay 8, 4, 2, 1) c gi là các trng s.
- a
0
c gi là bit có trng s nh nht, hay còn gi bit có ý ngha nh nht (LSB - Least
Significant Bit), còn gi là bít tr nht.
- a
3
c gi là bit có trng s ln nht, hay còn gi là bít có ý ngha ln nht (MSB - Most
Significant Bit), còn gi là bít già nht.
1023 16
63 16
3 16
0
15
15
3
A
(10)
=1023
→
A
(16)
=3FFH
13
2
6 2
3
2
1
1
0
1
2
0
1
A
(10)
=13
→
A
(2)
=1101
Khoa TVT – HBKN – Tháng 08.2006 Trang 4
Nh vy, vi s nh phân 4 bit a
3
a
2
a
1
a
0
trong ó mi ch s a
i
(i t 0 n 3) ch nhn c hai
giá tr {0,1} ta có 2
4
= 16 t hp nh phân phân bit.
ng sau ây lit kê các t hp mã nh phân 4 bít cùng các giá tr s thp phân, s bát phân và s
thp lc phân tng ng.
thp phân a
3
a
2
a
1
a
0
S bát phân S thp lc phân
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
ng 1.1. Các t hp mã nh phân 4 bít
chuyn i gia các h thng s m khác nhau gi vai trò quan trng trong máy tính s.
Chúng ta bit rng 2
3
= 8 và 2
4
= 16, t bng mã trên có th nhn thy mi ch s trong h bát phân
ng ng vi mt nhóm ba ch s (3 bít) trong h nh phân, mi ch s trong h thp lc phân
ng ng vi mt nhóm bn ch s (4 bít) trong h nh phân. Do ó, khi biu din s nh phân
nhiu bit trên máy tính tránh sai sót ngi ta thng biu din thông qua s thp phân hoc thp
c phân hoc bát phân.
Ví d 1.3
: Xét vic biu din s nh phân 1011111011111110
(2)
.
1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0
y, có th biu din : 137376
(8)
theo h bát phân
hoc : BEFE
(H)
theo h thp lc phân.
& Vi s nh phân n bít có bao nhiêu t hp nh phân khác nhau? Xét trng hp s nh
phân 8 bít (n=8) a
7
a
6
a
5
a
4
a
3
a
2
a
1
a
0
có bao nhiêu t hp nh phân (t mã nh phân) khác nhau?
2. Các phép tính trên s nh phân
a. Phép cng
67
3
7
3
1
EFEB
Chng 1. i s Boole Trang 5
cng hai s nh phân, ngi ta da trên qui tc cng nh sau:
0 + 0 = 0 nh 0
0 + 1 = 1 nh 0
1 + 0 = 1 nh 0
1 + 1 = 0 nh 1
Ví d 1.4
:
3
→
0011
2
→
0010
5
→
0101 = 1.2
2
+ 1.2
0
= 5
(10)
b. Phép tr
0 - 0 = 0 mn 0
0 - 1 = 1 mn 1
1 - 0 = 1 mn 0
1 - 1 = 0 mn 0
Ví d 1.5
:
7
→
0111
5
→
0101
2
→
0010 = 0.2
3
+ 0.2
2
+ 1.2
1
+ 0.2
0
= 2
(10)
c. Phép nhân
0 . 0 = 0
0 . 1 = 0
1 . 0 = 0
1 . 1 = 1
Ví d 1.6
:
7
→
0111
5
→
0101
35 0111
0000
0111
0000
0100011 = 1.2
5
+ 1.2
1
+ 1.2
0
= 35
(10)
d. Phép chia
0 : 1 = 0
1 : 1 = 1
u ý: Khi chia s chia phi khác 0
Ví d 1.7
: 10 5
→
1010 101
2 101 10
(2)
= 2
(10)
00
0
+
+
-
-
x
x
Khoa TVT – HBKN – Tháng 08.2006 Trang 6
1.1.3. Khái nim v mã
1. i cng
Trong i sng hàng ngày, con ngi giao tip vi nhau thông qua mt h thng ngôn ng qui
c, nhng trong máy tính và các h thng s ch x lý các d liu nh phân. Do ó, mt vn t
ra là làm th nào to ra mt giao din d dàng gia ngi và máy tính, ngha là máy tính thc hin
c nhng bài toán do con ngi t ra.
Vì các máy tính s hin nay ch hiu các s 0 và s 1, nên bt k thông tin nào di dng các ch
, ch cái hoc các ký t phi c bin i thành dng s nh phân trc khi nó có thc x
lý bng các mch s.
thc hin u ó, ngi ta t ra vn v mã hóa d liu. Nh vy, mã hóa là quá trình
bin i nhng ký hiu quen thuc ca con ngi sang nhng ký hiu quen thuc vi máy tính.
Nhng s liu ã mã hóa này c nhp vào máy tính, máy tính tính toán x lý và sau ó máy tính
thc hin quá trình ngc li là gii mã chuyn i các bít thông tin nh phân thành các ký hiu
quen thuc vi con ngi mà con ngi có th hiu c.
Các lnh vc mã hóa bao gm:
- Mã hóa s thp phân
- Mã hóa ký t
- Mã hóa tp lnh
- Mã hóa ting nói
- Mã hóa hình nh v v
Phn tip theo chúng ta kho sát lnh vc mã hóa n gin nht là mã hóa s thp phân bng
cách s dng các t mã nh phân. Vic mã hóa ký t, tp lnh, ting nói, hình nh u da trên c
mã hóa s thp phân.
2. Mã hóa s thp phân
a. Khái nim
mã hóa s thp phân ngi ta s dng các s nh phân 4 bit (a
3
a
2
a
1
a
0
) theo quy tc sau:
0→ 0000 ; 5 → 0101
1→ 0001 ; 6 → 0110
2→ 0010 ; 7 → 0101
3→ 0011 ; 8 → 1000
4→ 0100 ; 9 → 1001
Các s nh phân dùng mã hóa các s thp phân c gi là các s BCD (Binary Coded
Decimal: S thp phân c mã hóa bng s nh phân).
b. Phân loi
Khi s dng s nh phân 4 bit mã hóa các s thp phân tng ng vi 2
4
= 16 t hp mã nh
phân phân bit.
Do vic chn 10 t hp trong 16 t hp mã hóa các ký hiu thp phân t 0 n 9 mà trong
thc t xut hin nhiu loi mã BCD khác nhau.
c dù tn ti nhiu loi mã BCD khác nhau, nhng có th chia làm hai loi chính: Mã BCD có
trng s và Mã BCD không có trng s.
Chng 1. i s Boole Trang 7
b1. Mã BCD có trng s là loi mã cho phép phân tích thành a thc theo trng s ca nó. Mã
BCD có trng sc chia làm 2 loi là: mã BCD t nhiên và mã BCD s hc.
Mã BCD t nhiên là loi mã mà trong ó các trng s thng c sp xp theo th t tng
n. Ví d: Mã BCD 8421, BCD 5421.
Mã BCD s hc là loi mã mà trong ó có tng các trng s luôn luôn bng 9.Ví d: BCD
2421, BCD 5121, BCD 8 4-2-1
c trng ca mã BCD s hc là có tính cht i xng qua mt ng trung gian. Do
y, tìm t mã BCD ca mt s thp phân nào ó ta ly bù (o) t mã BCD ca s bù 9
ng ng.
Ví d xét mã BCD 2421. ây là mã BCD s hc (tng các trng s bng 9), trong ó s 3
(thp phân) có t mã là 0011, s 6 (thp phân) là bù 9 ca 3. Do vy, có th suy ra t mã ca 6
ng cách ly bù t mã ca 3, ngha là ly bù 0011, ta s có t mã ca 6 là 1100.
b2. Mã BCD không có trng s là loi mã không cho phép phân tích thành a thc theo trng
ca nó. Các mã BCD không có trng s là: Mã Gray, Mã Gray tha 3.
c trng ca mã Gray là b mã trong ó hai t mã nh phân ng k tip nhau bao gi cng ch
khác nhau 1 bit.
Ví d:
Các bng di ây trình bày mt s loi mã thông dng.
ng 1.2: Các mã BCD t nhiên.
BCD 8421 BCD 5421 BCD quá 3
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
c
3
c
2
c
1
c
0
thp
phân
0 0 0 0 0 0 0 0 0 0 1 1 0
0 0 0 1 0 0 0 1 0 1 0 0 1
0 0 1 0 0 0 1 0 0 1 0 1 2
0 0 1 1 0 0 1 1 0 1 1 0 3
0 1 0 0 0 1 0 0 0 1 1 1 4
0 1 0 1 1 0 0 0 1 0 0 0 5
0 1 1 0 1 0 0 1 1 0 0 1 6
0 1 1 1 1 0 1 0 1 0 1 0 7
1 0 0 0 1 0 1 1 1 0 1 1 8
1 0 0 1 1 1 0 0 1 1 0 0 9
Mã Gray: 2
→
0011
3
→
0010
4
→
0110
Còn vi mã BCD 8421:
3
→
0011
4
→
0100
Khoa TVT – HBKN – Tháng 08.2006 Trang 8
ng 1.3: Các mã BCD s hc
BCD 2421 BCD 5121 BCD 84-2-1
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
c
3
c
2
c
1
c
0
thp
phân
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 0 1 1 1 1
0 0 1 0 0 0 1 0 0 1 1 0 2
0 0 1 1 0 0 1 1 0 1 0 1 3
0 1 0 0 0 1 1 1 0 1 0 0 4
1 0 1 1 1 0 0 0 1 0 1 1 5
1 1 0 0 1 1 0 0 1 0 1 0 6
1 1 0 1 1 1 0 1 1 0 0 1 7
1 1 1 0 1 1 1 0 1 0 0 0 8
1 1 1 1 1 1 1 1 1 1 1 1 9
ng 1.4: BCD t nhiên và mã Gray.
BCD 8421 BCD quá 3 Mã Gray Gray quá 3
a
3
a
2
a
1
A
0
c
3
c
2
c
1
c
0
G
3
G
2
G
1
G
0
g
3
g
2
g
1
g
0
thp
phân
0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0
0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1
0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 2
0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 1 3
0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 4
0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 5
0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 6
0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 7
1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 8
1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 9
Chú ý: Mã Gray c suy ra t mã BCD 8421 bng cách: các bit 0,1 ng sau bit 0 ( mã
BCD 8421) khi chuyn sang mã Gray c gi nguyên, còn các bit 0,1 ng sau bit 1 ( mã BCD
8421) khi chuyn sang mã Gray thì o bít, ngha là t bit 1 thành bit 0 và bit 0 thành bit 1.
1.2. 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 s c 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
Chng 1. i s Boole Trang 9
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.
1.2.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 . 0 = 0
5. Tiên v phn t bù
∀x ∈ B, bao gi cng tn ti phn t bù tng ng, ký hiu
x
, sao cho luôn tha mãn:
x +
x
= 1 và x.
x
= 0
u B = B* = {0,1} (B* ch gm 2 phn t 0 và 1) và tha mãn 5 tiên trên thì cng lp thành
u trúc i s Boole nhng là cu trúc i s Boole nh nht.
1.2.2. Các nh lý c bn ca i s Boole
1. Vn i ngu trong i s Boole
Hai mnh (hai biu thc, hai nh lý) c gi là i ngu vi nhau nu trong mnh này
ngi ta thay phép toán cng thành phép toán nhân và ngc li, thay 0 bng 1 và ngc li, thì s
suy ra c mnh kia.
Khi hai mnh i ngu vi nhau, nu 1 trong 2 mnh c chng minh là úng thì mnh
còn li là úng. Di ây là ví d v các cp mnh i ngu vi nhau.
Ví d 1.8
: x.(y+z) = (x.y) + (x.z)
x + (y.z) = (x+y).(x+z)
Ví d 1.9
: x +
x
= 1
x.
x
= 0
Hai m
nh này là i ngu
Hai m
nh này là i ngu
Khoa TVT – HBKN – Tháng 08.2006 Trang 10
2. Các nh lý c bn
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
= x
d. nh lí 4 (nh lý De Morgan)
∀x, y, z ∈ B, ta có:
zyx zyx =++
zyxx.y.z ++=
qu:
∀x, y, z ∈ B, ta có:
x + y + z = zyx ++ = z.y.x
x. y. z = x.y.z = zyx ++
e. nh lí 5 (nh lý dán)
∀x, y ∈ B, ta có:
x. (
x
+ y) = x.y
x + (
x
.y) = x + y
f. nh lí 6 (nh lý nut)
∀x, y ∈ B, ta có:
x + x. y = x
x.(x + y) = x
g. nh lí 7 (Quy tc tính i vi hng)
i 0, 1 ∈ B, ta có:
0
= 1
1
= 0
Chng 1. i s Boole Trang 11
1.3. HÀM BOOLE VÀ CÁC PHNG PHÁP BIU DIN
1.3.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
u f(x
1
, x
2
, , x
n
) là mt hàm Boole thì:
- α.f(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
-
f
(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
u f
1
(x
1
, x
2
, , x
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
1
, x
2
, , x
n
).f
2
(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
y, mt hàm Boole f cng c hình thành trên c s liên kt các hàm Boole bng các
phép toán + (cng logic), x (.) (nhân logic) hoc nghch o logic (-).
3. Giá tr ca hàm Boole
Gi s f(x
1
, x
2
, , x
n
) là mt hàm Boole theo n bin Boole.
Trong f ngi ta thay các bin x
i
bng các giá tr c th α
i
(
n,1i = ) thì giá tr f (α
1
, α
2
, , α
n
)
c gi là giá tr ca hàm Boole theo n bin.
Ví d 1.10
:
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
- x
1
= 0, x
2
= 1 → f(0,1) = 0 + 1 = 1
- x
1
= 1, x
2
= 0 → f(1,0) = 1 + 0 = 1
- x
1
= 1, x
2
= 1 → f(1,1) = 1 + 1 = 1
Ta lp c bng giá tr ca hàm trên.
Ví d 1.11
:
Xét hàm cho bi biu thc sau: f(x
1
, x
2
, x
3
) = x
1
+ x
2
.x
3
Xét tp B = B* = {0,1}. Hoàn toàn tng t ta lp c bng giá tr ca hàm:
x
1
x
2
f(x
1
, x
2
) = x
1
+ x
2
0
0
1
1
0
1
0
1
0
1
1
1
Khoa TVT – HBKN – Tháng 08.2006 Trang 12
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
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1.3.2. Các phng pháp biu din hàm Boole
1. Phng pháp biu din hàm bng bng giá tr
Phng pháp này gm mt bng c chia làm hai phn:
- Mt phn dành cho bin ghi các t hp giá tr có th có ca bin vào.
- Mt phn dành cho hàm ghi các giá tr ca hàm ra tng ng vi các t hp bin vào.
Bng giá tr còn c gi là bng chân tr hay bng chân lý (TRUE TABLE). Nh vy vi mt
hàm Boole n bin bng chân lý s có:
- (n+1) t: n ct tng ng vi n bin vào, 1 ct tng ng vi giá tr ra ca hàm.
- 2
n
hàng: 2
n
giá tr khác nhau ca t hp n bin.
Ví d 1.12
: 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
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
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.
ng tng các tích s còn gi là dng chun tc tuyn (CTT), dng tích các tng s còn gi là
ng chun tc hi (CTH).
a. Dng chính tc 1(Dng tng ca các tích s)
Xét các hàm Boole mt bin n gin: f(x) = x, f(x) =
x
, f(x) = α (α là hng s).
ây là nhng trng hp có th có i vi hàm Boole 1 bin.
Chng 1. i s Boole Trang 13
Chúng ta si chng minh biu thc tng quát ca hàm logic 1 bin si vi dng chính tc 1. Sau ó
áp dng biu thc tng quát ca hàm 1 bin tìm biu thc tng quát ca hàm 2 bin vi vic xem 1 bin là
ng s. Cui cùng, chúng ta suy ra biu thc tng quát ca hàm logic n bin cho trng hp dng chính
c 1 (tng các tích s).
Xét f(x) = x:
Ta có: x =0.
x
+ 1.x
t khác:
( )
()
( )
=
=
⇒=
00f
11f
xxf
Suy ra: f(x) = x có th biu din:
f(x) = x = f(0).
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
= f(0).
x
+ f(1).x
Xét f(x) = α (α là hng s):
Ta có: α = α.1 = α.(x +
x
) = α.
x
+ α.x
t khác:
( )
()
( )
=
=
⇒=
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:
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
)
:
Biu thc tng quát ca hàm 2 bin vit theo dng chính tc th nht cng hoàn toàn da trên
cách biu din ca dng chính tc th nht ca hàm 1 bin, trong ó xem mt bin là hng s.
th là: nu xem x
2
là hng s, x
1
là bin s và áp dng biu thc tng quát ca dng chính tc th
nht cho hàm 1 bin, ta có:
f(x
1
,x
2
) = f(0,x
2
).
x
1
+ f(1,x
2
).x
1
Bây gi, các hàm f(0,x
2
) và f(1,x
2
) tr thành các hàm 1 bin s theo x
2
. Tip tc áp dng biu thc tng
quát ca dng chính tc th nht cho hàm 1 bin, ta có:
Khoa TVT – HBKN – Tháng 08.2006 Trang 14
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
+ f(1,0).x
1
x
2
+ f(1,1).x
1
x
2
ây chính là biu thc tng quát ca dng chính tc th nht (dng tng ca các tích s) vit cho
hàm Boole hai bin s f(x
1
,x
2
).
Biu thc tng quát này có th biu din bng công thc sau:
f(x
1
,x
2
) =
2
2
1
12
1
0
e
1
x)x,f(
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
Biu thc tng quát cho hàm Boole n bin:
T biu thc tng quát vit dng chính tc th nht ca hàm Boole 2 bin, ta có th tng quát
hoá cho hàm Boole n bin f(x
1
,x
2
, ,x
n
) nh sau:
f(x
1
,x
2
, ,x
n
) =
n
n
2
21
xx)x, ,,f(
n2
1
n
2
0e
1
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)
Ví d 1.13
:
Vit biu thc ca hàm 3 bin theo dng chính tc 1:
f(x
1
,x
2
,x
3
) =
∑
−
=
12
0e
3
f (α
1
,α
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
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
1
1
x
=
2
2
x
=
i
i
x
=
Chng 1. i s Boole Trang 15
Biu thc ca hàm 3 bin vit theo dng tng các tích nh sau:
f(x
1
, x
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
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
x
2
x
3
y dng chính tc th nht là dng tng ca các tích s mà trong mi tích s cha y
các bin Boole di dng tht hoc dng bù (nghch o).
b. Dng chính tc 2 (tích ca các tng s):
ng chính tc 2 là dng i ngu ca dng chính tc 1 nên biu thc tng quát ca dng
chính tc 2 cho n binc vit nh sau:
f(x
1
, x
2
, , x
n
) =
∏
−
=
12
0e
n
[f(α
1
,α
2
,α
3
) + x
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 1.14: Biu thc ca hàm Boole 2 bin dng tích các tng s (dng chính tc 2) c vit
nh sau:
f(x
1
,x
2
)=[f(0,0)+x
1
+x
2
][f(0,1)+x
1
+
x
2
][f(1,0)+
x
1
+x
2
][f(1,1)+
x
1
+
x
2
]
Ví d 1.15: Biu thc ca hàm Boole 3 bin dng chính tc 2:
f(x
1
,x
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
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
+
x
2
+
x
3
]
y, 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 1.16
:
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
)
0 0 0
0 1 1
1 0 1
1 1 1
Vit di dng chính tc 1 ta có:
f(x
1
,x
2
) = f(0,0).
x
1
x
2
+ f(0,1).
x
1
.x
2
+ f(1,0).x
1
.
x
2
+ f(1,1).x
1
.x
2
i
i
x
=
Khoa TVT – HBKN – Tháng 08.2006 Trang 16
= 0.
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
.x
2
Nhn xét:
• ng chính tc th nht, tng ca các tích s, là dng lit kê tt c các t hp nh
phân các bin vào sao cho tng ng vi nhng t hp ó giá tr ca hàm ra bng 1
→ ch cn lit kê nhng t hp bin làm cho giá tr hàm ra bng 1.
• Khi lit kê nu bin tng ng bng 1 c vit dng tht (x
i
), nu bin tng ng
ng 0 c vit dng bù (
x
i
).
Ví d 1.17:
Vit biu thc biu din hàm f(x
1
,x
2
,x
3
) dng chính tc 2 vi bng giá tr ca hàm ra c cho
nh sau:
x
3
x
2
x
1
f(x
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
2
+
x
3
).(0+x
1
+
x
2
+x
3
).
(1+x
1
+
x
2
+
x
3
).(1+
x
1
+x
2
+x
3
).(1+
x
1
+x
2
+
x
3
).
(1+
x
1
+
x
2
+x
3
).(1+
x
1
+
x
2
+
x
3
)
Á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
1
,x
2
,x
3
) = (x
1
+x
2
+x
3
).(x
1
+x
2
+
x
3
).(x
1
+
x
2
+x
3
)
Nhn xét:
• ng chính tc th hai là dng lit kê tt c các t hp nh phân các bin vào sao cho
ng ng vi nhng t hp ó giá tr ca hàm ra bng 0 → ch cn lit kê nhng t
p bin làm cho giá tr hàm ra bng 0.
• Khi lit kê nu bin tng ng bng 0 c vit dng tht (x
i
), nu bin tng ng
ng 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.
Chng 1. i s Boole Trang 17
Ví d 1.18
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
0
1
0
1
0
1
1
1
bng trng thái có th vit biu thc ca hàm f(x
1
,x
2
) theo dng chính tc 1 hoc chính tc 2.
- Theo dng chính tc 1 ta có:
f(x
1
, x
2
) =
x
1
.x
2
+ x
1
.
x
2
+ x
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
, x
2
) = (0+x
1
+x
2
) = x
1
+ x
2
T biu thc mô t trng thái /tt ca èn f(x
1
,x
2
) thy rng có th thc hin mch bng phn
logic HOC có 2 ngõ vào (cng OR 2 ngõ vào).
Bài tp áp dng
: Mt hi ng giám kho gm 3 thành viên. Mi thành viên có th la chn NG
Ý hoc KHÔNG NG Ý. Kt qu gi là T khi a s các thành viên trong hi ng giám kho
NG Ý, ngc li là KHÔNG T. Hãy thit k mch gii quyt bài toán trên.
3. Biu din hàm bng bng Karnaugh (bìa Karnaugh)
ây là cách biu din li ca phng pháp bng di dng bng gm các
ô vuông nh hình bên.
Trên bng này ngi ta b trí các bin vào theo hàng hoc theo ct ca
ng. Trong trng hp s lng bin vào là chn, ngi ta b trí s lng
bin vào theo hàng ngang bng s lng bin vào theo ct dc ca bng.
Trong trng hp s lng bin vào là l, ngi ta b trí s lng bin vào
theo hàng ngang nhiu hn s lng bin vào theo ct dc 1 bin hoc ngc li.
Các t hp giá tr ca bin vào theo hàng ngang hoc theo ct dc ca bng c b trí sao cho
khi ta i t mt ô sang mt ô lân cn vi nó ch làm thay i mt giá tr ca bin
, 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.
Khoa TVT – HBKN – Tháng 08.2006 Trang 18
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:
1.4. TI THIU HÓA HÀM BOOLE
1.4.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 và n nh ca s
tùy thuc vào phng trình logic biu din chúng dng ti thiu 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, ngha là phng 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
i 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.
f(x
1
,x
2
)
x
1
x
2
0
1
0 1
f
x
1
x
2
x
3
0
1
00011110
f
x
1
x
2
x
3
x
4
00
01
11
10
00011110
f
x
2
x
3
x
4
x
5
00
01
11
10
00011110 10 110100
x
1
=0 x
1
=1
Chng 1. i s Boole Trang 19
Các bc tin hành ti thiu hóa:
• Dùng các phép ti thiu ti thiu hóa các hàm s logic.
• Rút ra nhng tha s chung nhm mc ích ti thiu hóa thêm mt bc na các phng
trình logic.
1.4.2. Các phng pháp ti thiu hóa
Có nhiu phng pháp thc hin ti thiu hoá hàm Boole và có tha v 2 nhóm là bin i i s và
dùng thut toán. Phng pháp bin i i s (phng pháp gii tích) da vào các tiên , nh lý, tính cht
a hàm Boole thc hin ti thiu hoá.
nhóm thut toán có 2 phng pháp thng c dùng là: phng pháp bng Karnaugh (còn gi là bìa
Karnaugh – bìa K) dùng cho các hàm có t 6 bin tr xung, và phng pháp Quine-Mc.Cluskey có th s
ng cho hàm có s bin bt k cng nh cho phép thc hin tng theo chng trình c vit trên máy
tính.
Trong phn này ch gii thiu 2 phng pháp i din cho 2 nhóm:
• Phng pháp bin i i s (nhóm bin i i s).
• Phng pháp ng Karnaugh (nhóm thut toán).
1. Phng pháp bin i i s
ây là phng pháp ti thiu hóa hàm Boole (phng trình logic) da vào các tiên , nh lý,
tính cht ca i s Boole.
Ví d 1.19
Ti thiu hoá hàm f(x
1
,x
2
) =
x
1
x
2
+ x
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
2
+ x
1
x
2
= x
2
+ x
1
x
2
= x
2
+ x
1
Ví d 1.20
Ti thiu hoá hàm 3 bin sau
f(x
1
,x
2
,x
3
) =
x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
=
x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
(
x
3
+ x
3
)
=
x
1
x
2
x
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
)
=
x
1
x
2
x
3
+ x
1
= x
1
+ x
2
x
3
Ví d 1.21 Rút gn biu thc: f =
BCACAB +++
Áp dng nh lý De Morgan ta có:
f =
BCACAB ++.
= BCACBA +++ ).(
=
BCACBCA +++
=
CBCACA +++
= BCACA +++ ).1(
=
BACC ++
=
CBA
+
+
→ thc hin mch này có th dùng cng OR 3 ngõ vào.
Khoa TVT – HBKN – Tháng 08.2006 Trang 20
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 nh sau:
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).
ng 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.
t qu ca hàm biu din theo dng chính tc 1 s là tng tt c các tích s rút gn ca
t c các vòng gom.
• u biu din hàm theo dng chính tc 2 (tích các tng s) ta ch quan tâm nhng ô k
n có giá tr bng 0 và tùy nh. Kt qu mi vòng gom lúc này s là mt tng rút gn.
t qu ca hàm biu din theo dng chính tc 2 s là tích tt c các tng s rút gn ca
t c các vòng gom.
Ta quan tâm nhng ô tùy nh (X) sao cho nhng ô này kt hp vi nhng ô có giá tr bng 1
(nu biu din theo dng chính tc 1) hoc bng 0 (nu biu din theo dng chính tc 2) làm cho s
ng ô k cn là 2
n
ln nht. u ý các ô tùy nh (X) ch là nhng ô thêm vào vòng gom rút
n hn các bin mà thôi.
Các vòng gom bt buc phi ph ht tt c các ô có giá tr bng 1 có trong bng (nu ti thiu
theo dng chính tc 1), tng t các vòng gom bt buc phi ph ht tt c các ô có giá tr bng 0
có trong bng (nu ti thiu theo dng chính tc 2) thì kt qu ti thiu hoá mi hp l.
Các trng hp c bit:
u tt c các ô ca bng Karnaugh u bng 1 và tunh (X) ngha là tt c các ô u k cn
→ giá tr ca hàm bng 1.
u tt c các ô ca bng Karnaugh u bng 0 và tunh (X) ngha là tt c các ô u k cn
→ giá tr ca hàm bng 0.
Chng 1. i s Boole Trang 21
Ví d 1.22: Ti thiu hóa hàm sau
0 1
0 0 1
1 1 1
Ví d 1.23:
i thiu theo chính tc 1: Ta ch quan tâm n nhng ô có giá tr bng 1 và tùy nh (X), nh
y s có 2 vòng gom ph ht các ô có giá tr bng 1: vòng gom 1 gm 4 ô k cn, và vòng gom
2 gm 2 ô k cn (hình v).
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
3
không i, còn giá tr ca bin x
1
thay i (t 0→1) nên các bin x
2
và
x
3
c gi li, ch có bin x
1
b loi. Vì x
2
=1 và x
3
=1 nên kt qu ca vòng gom 2 theo dng chính
c 1 s có x
2
và x
3
vit dng tht: x
2
.x
3
t hp 2 vòng gom ta có kt qu ti gin theo chính tc 1:
f(x
1
,x
2
,x
3
) = x
1
+ x
2
.x
3
i thiu theo chính tc 2: Ta quan tâm n nhng ô có giá tr bng 0 và tùy nh (X), nh vy
ng có 2 vòng gom (hình v), mi vòng gom u gm 2 ô k cn.
i vi vòng gom 1: Có 2 ô = 2
1
nên loi c 1 bin, bin b loi là x
2
(vì có giá tr thay i t
0→1). Vì x
1
=0 và 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
2
.
t hp 2 vòng gom có kt qu ca hàm f vit theo dng chính tc 2 nh sau:
00 01 11 10
0 0 0 1 1
1 0 1 1 1
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
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Vòng gom 2:
x
2
.x
3
Vòng gom 1:
x
1
x
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Vòng gom 2:
x
1
+ x
2
Vòng gom 1:
x
1
+ x
3
Khoa TVT – HBKN – Tháng 08.2006 Trang 22
f (x
1
,x
2
,x
3
) = (x
1
+x
3
).(x
1
+x
2
) = x
1
.x
1
+ x
1
.x
2
+ x
1
.x
3
+ 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
+ x
2
.x
3
Nhn xét:
Trong ví d này, hàm ra vit theo dng chính tc 1 và hàm ra vit theo dng chính tc 2
là ging nhau. Tuy nhiên có trng hp hàm ra ca hai dng chính tc 1 và 2 là khác nhau, nhng
giá tr ca hàm ra ng vi mt t hp bin u vào là duy nht trong c 2 dng chính tc.
Chú ý:
Ngi ta thng cho hàm Boole di dng biu thc rút gn. Vì có 2 cách biu din hàm
Boole theo dng chính tc 1 hoc 2 nên s có 2 cách cho giá tr ca hàm Boole ng vi 2 dng
chính tc ó:
ng chính tc 1: Tng các tích s.
f(x
1
,x
2
,x
3
) =
Σ
(3,4,7) + d(5,6)
Trong ó ký hiu d ch giá tr các ô này là tùy nh (d: Don’t care)
Lúc ó bng Karnaugh sc cho nh hình trên. T biu thc rút gn ca hàm ta thy ti các ô
ng vi t hp nh phân các bin vào có giá tr là 3, 4, 7 hàm ra có giá tr bng 1; ti các ô ng vi
hp nh phân các bin vào có giá tr là 5, 6 hàm ra có giá tr là tùy nh; hàm ra có giá tr bng 0
nhng ô còn li ng vi t hp các bin vào có giá tr là 0, 1, 2.
ng chính tc 2: Tích các tng s.
Phng trình trên cng tng ng vi cách cho hàm nh sau:
f(x
1
,x
2
,x
3
) =
Π
(0, 1, 2) + d(5, 6)
Ví d 1.24:
Ti thiu hóa hàm 4 bin cho di dng biu thc sau:
f(x
1
,x
2
,x
3
,x
4
) =
Σ
(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
0 0 0 X 1
1 0 1 1 X
00 01 11 10
00
X X 1 X
01
X 0 1 X
11
0 X X 1
10
1 1 X 1
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
4
x
3
x
2
x
1
f(x
1
,x
2
,x
3
,x
4
)
x
4
x
3
x
2
x
1
f(x
1
,x
2
,x
3
,x
4
)
Vòng gom 2
Vòng gom 1
x
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Chng 3. H t hp Trang 53
Chng 3
T HP
3.1.KHÁI NIM CHUNG
Các cng logic AND, OR, NOR, NAND là các phn t logic c bn còn c gi là h t hp
n gin. Nh vy, h t hp là h có các ngõ ra là các hàm logic theo ngõ vào, u này ngha là
khi mt trong các ngõ vào thay i trng thái lp tc làm cho ngõ ra thay i trng thái ngay (nu
qua thi gian tr ca các phn t logic) mà không chu nh hng ca trng thái ngõ ra trc ó.
Xét mt h t hp có n ngõ vào và có m ngõ ra (hình 3.1), ta có:
y
1
= f(x
1
, x
2
, , x
n
)
y
2
= f(x
1
, x
2
, , x
n
)
y
m
= f(x
1
, x
2
, , x
n
)
Nh vy, s thay i ca ngõ ra y
j
(j = 1 ÷ m) theo các bin vào xi (i = 1 ÷ n) là tu thuc vào
ng trng thái mô t hot ng ca h t hp.
c m c bn ca h t hp là tín hiu ra ti mi thi m ch ph thuc vào giá tr các tín
hiu vào thi m ó mà không ph thuc vào giá tr các tín hiu ngõ ra thi m trc ó.
Trình t thit k h t hp theo các bc sau
:
1. T yêu cu thc t ta lp bng trng thái mô t hot ng ca mch (h t hp).
2. Dùng các phng pháp ti thiu ti thiu hoá các hàm logic.
3. Thành lp s logic (Da vào phng trình logic ã ti gin).
4. Thành lp s h t hp.
Các mch t hp thông dng
:
- Mch mã hoá - gii mã
- Mch chn kênh - phân ng
-
ch s hc v v
3.2. MCH MÃ HOÁ & MCH GII MÃ
3.2.1. Khái nim:
ch mã hoá (ENCODER) là mch có nhim v bin i nhng ký hiu quen thuc vi con
ngi sang nhng ký hiu không quen thuc con ngi. Ngc li, mch gii mã (DECODER) là
ch làm nhim v bin i nhng ký hiu không quen thuc vi con ngi sang nhng ký hiu
quen thuc vi con ngi.
t
p
x
2
x
n
y
1
y
2
y
m
Hình 3.1
x
1
Khoa TVT – HBKN – Tháng 08.2006 Trang 54
3.2.2. Mch mã hoá (Encoder)
1. Mch mã hoá nh phân
Xét mch mã hóa nh phân t 8 sang 3 (8 ngõ vào và 3 ngõ ra). S khi ca mch c cho
trên hình 3.2.
Trong ó:
- x
0
, x
1
, , x
7
là 8 ng tín hiu vào
- A, B, C là 3 ngõ ra.
ch mã hóa nh phân thc hin bin i tín hiu ngõ vào thành mt t mã nh phân tng ng
ngõ ra, c th nh sau:
0 → 000 3 → 011 6 → 100
1
→
001 4
→
100 7
→
111
2 → 010 5 → 101
Chn mc tác ng (mc tích cc) ngõ vào là mc logic 1, ta có bng trng thái mô t hot
ng ca mch :
x
0
x
1
x
2
x
3
x
4
x
5
x
6
x
7
C B A
1
0 0 0 0 0 0 0 0 0 0
0
1
0 0 0 0 0 0 0 0 1
0 0
1
0 0 0 0 0 0 1 0
0 0 0
1
0 0 0 0 0 1 1
0 0 0 0
1
0 0 0 1 0 0
0 0 0 0 0
1
0 0 1 0 1
0 0 0 0 0 0
1
0 1 1 0
0 0 0 0 0 0 0
1
1 1 1
Gii thích bng trng thái: Khi mt ngõ vào trng thái tích cc (mc logic 1) và các ngõ vào
còn li không c tích cc (mc logic 0) thì ngõ ra xut hin t mã tng ng. C th là: khi ngõ
vào x
0
= 1 và các ngõ vào còn li bng 0 thì t mã ngõ ra là 000, khi ngõ vào x
1
= 1 và các ngõ
vào còn li bng 0 thì t mã nh phân ngõ ra là 001, v v
Phng trình logic ti gin:
A = x
1
+ x
3
+ x
5
+ x
7
B = x
2
+ x
3
+ x
6
+ x
7
C= x
4
+ x
5
+ x
6
+ x
7
8
→
3
x
0
x
2
x
7
C
B
A
Hình 3.2 S khi mch mã hóa nh phân t 8 sang 3