Chng 1. H thng sm và khái nim v mã Trang 1
Chng 1
THNG SM VÀ KHÁI NIM V MÃ
1.1. H THNG SM
1.1.1. Hm
1. Khái nim
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.
2. Phân loi
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.
1.1.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.
Bài ging K THUT S 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).
1.1.3. i c s
1. 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.3).
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)
2. 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. H thng sm và khái nim v mã 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.2. HM NH PHÂN VÀ KHÁI NIM V MÃ
1.2.1. 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),
hiu rõ hn mt s khái nim, ta 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.
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
Bài ging K THUT S Trang 4
- 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.
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.
& T bng này hãy cho bit mi quan h gia các s trong h nh phân vi các s trong h
bát phân (N=8) và h thp lc phân (N=16)? Tó suy ra phng pháp chuyn i nhanh gia các
này?
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.
67
3
7
3
1
EFEB
Chng 1. H thng sm và khái nim v mã Trang 5
& 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
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
+
+
-
-
x
x
Bài ging K THUT S Trang 6
Ví d 1.7: 10 5
→
1010 101
2 101 10
(2)
= 2
(10)
00
0
ng dng thanh ghi dch thc hin phép toán nhân hai, chia hai:
1.2.2. 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.
0 0 0 0 0 1 011 0
0 0 0 0 0 0 111
Thanh ghi ban u
Thanh ghi sau khi dch trái 1 bít
ch trái 1 bít
↔
nhân 2
0 0 0 0 0 0 10 1 1
0
Thanh ghi sau khi dch phi 1 bít
ch phi 1 bít
↔
chia 20
Hình 1.1. ng dng thanh ghi dch thc hin phép toán nhân và chia 2
Chng 1. H thng sm và khái nim v mã Trang 7
2. Mã hóa s thp phân
a. Khái nim
Trong thc t 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
c 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.
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, BCD8 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.
Mã Gray: 2
→
0011
3
→
0010
4
→
0110
Còn vi mã BCD 8421:
3
→
0011
4
→
0100
Bài ging K THUT S Trang 8
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
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
Chng 1. H thng sm và khái nim v mã Trang 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.
3. Mch nhn dng s BCD 8421:
ch nhn dng s BCD 8421 nhn tín hiu vào là các bít a
3
, a
2
, a
1
ca s nh phân 4 bít
a
3
a
2
a
1
a
0
, u ra y c quy nh nh sau:
- Nu y = 1 thì a
3
a
2
a
1
a
0
không phi s BCD 8421
- Nu y = 0 thì a
3
a
2
a
1
a
0
là s BCD 8421
Nh vy, nu mt s nh phân 4 bit không phi là mt s BCD 8421 thì ngõ ra y = 1. T bng
1.1 ta thy mt s nh phân 4 bít không phi là s BCD 8421 khi bít a
3
luôn luôn bng 1 và (bit a
1
ng 1 hoc bít a
2
bng 1).
Suy ra phng trình logic ca ngõ ra y: y = a
3
(a
1
+ a
2
) = a
3
a
1
+ a
3
a
2
logic:
ng do vic xut hin s BCD nên có hai cách nhp d liu vào máy tính: nhp s nh phân,
nhp bng mã BCD.
nhp s BCD thp phân hai ch s thì máy tính chia s thp phân thành các các và mi
các c biu din bng s BCD tng ng. Chng hn: 11
(10)
có thc nhp vào máy tính
theo 2 cách:
- S nh phân : 1011
- Mã BCD : 0001 0001
4. Các phép tính trên s BCD
a. Phép cng
Do s BCD ch có t 0 n 9 nên i vi nhng s thp phân ln hn s chia s thp phân thành
nhiu các, mi các c biu din bng s BCD tng ng.
Ví d 1.8
Cng 2 s BCD mt các:
5
→
0101 7
→
0111
3
→
0011 5
→
0101
8 1000 12 1100
0110
0001 0010
ch nhn dng
BCD 8421
y
a
3
a
2
a
1
a
1
a
2
a
3
y
a
1
a
2
a
3
y
hiu chnh
+ + + +
+
Bài ging K THUT S Trang 10
Có hai trng hp phi hiu chnh kt qu ca phép cng 2 s BCD 8421:
- Khi kt qu ca phép cng là mt s không phi là s BCD 8421
- Khi kt qu ca phép cng là mt s BCD 8421 nhng li xut hin s nh bng 1.
Vic hiu chnh c thc hin bng cách cng kt qu vi s hiu chnh là 6 (0110
2
).
ví d 1.8 ã xem xét trng hp hiu chnh khi kt qu không phi là mt s BCD 8421.
Trng hp hiu chnh khi kt qu là mt s BCD 8421 nhng phép cng li xut hin s nh bng
1 c xem xét trong ví d sau ây:
Ví d 1.9
Hiu chnh kt qu cng 2 s BCD mt các khi xut hin s nh bng 1:
8
→
1000
9
→
1001
17 1 0001
0110
0001 0111
b. Phép tr
Phép toán tr 2 s BCD c thc hin theo quy tc sau ây:
A - B = A +
B
Trong ó
B
là s bù 2 ca B.
Ví d 1.10
Thc hin tr 2 s BCD mt các:
7
→
0111 0111
5
→
0101 1010
2 0010 1 0001
1
0010
u ý:
- Bù 1 ca mt s nh phân là ly o tt c các bít ca só (bit 0 thành 1, bit 1 thành 0).
- Bù 2 ca mt s nh phân bng s bù 1 cng thêm 1 vào bít LSB.
Xét các trng hp m rng sau ây:
1. Thc hin tr 2 s BCD 1 các mà s b tr nh hn s tr ?
2. M rng cho cng và tr 2 s BCD nhiu các ?
hiu chnh (6)
+ +
t qu là s BCD 8421 nh
ng
i xut hin s nh bng 1
t qu sau khi hiu chnh là 17
Bù 1 ca 5
- -
+
+
ng 1 LSB có bù 2 ca 5
i s nh
t qu cui cùng
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 . 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
Bài ging K THUT S Trang 12
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.
2.1.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 2.1
: x.(y+z) = (x.y) + (x.z)
x + (y.z) = (x+y).(x+z)
Ví d 2.2
: x +
x
= 1
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
= 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
Hai m
nh này là i ngu
Hai m
nh này là i ngu
Chng 2. i s BOOLE Trang 13
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
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
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 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
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 2.4
:
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
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
2.2.2. Các phng pháp biu din hàm Boole
1. Phng pháp biu din hàm bng bng giá tr
ây là phng pháp thng dùng biu din hàm s nói chung và cng c s dng biu
din các hàm logic. 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 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
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
Trong các ví d 2.3 và 2.4 chúng ta cng ã quen thuc vi phng pháp biu din hàm bng
ng giá tr.
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
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.
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.
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à hng 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 tc 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:
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
)
:
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ó:
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
0e
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)
1
1
x
=
2
2
x
=
i
i
x
=
Chng 2. i s BOOLE Trang 17
Ví d 2.6:
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
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
Vy 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 bin
c 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 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:
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 2.8
: 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
]
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
)
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
= 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:
• Dng 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
bng 0 c vit dng bù (
x
i
).
Ví d 2.10
:
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
)
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
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:
• Dng 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
hp 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
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
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.
Bài ging K THUT S Trang 20
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.
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
1
0 1
f
x
1
x
2
x
3
0
1
00 0111 10
f
x
1
x
2
x
3
x
4
00
01
11
10
00 0111 10
f
x
2
x
3
x
4
x
5
00
01
11
10
000111 10 10 110100
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.
2.3.2. 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.
2.3.3. 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 ca 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
i 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 dng 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 2.12
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 2.13
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
Bài ging K THUT S Trang 22
=
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 2.14
Rút gn biu thc: f = BCACAB +++
Áp dng nh lý De Morgan ta có:
f =
BCACAB ++.
=
BCACBA +++ ).(
=
BCACBCA +++
= CBCACA +++
= BCACA +++ ).1(
=
BACC ++
=
CBA
+
+
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.
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.
Chng 2. i s BOOLE Trang 23
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.
Ví d 2.15
: Ti thiu hóa hàm sau
0 1
0 0 1
1 1 1
Ví d 2.16:
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
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
Bài ging K THUT S Trang 24
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:
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)
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
Vòng gom 1: x
1
+ x
3
x
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Chng 2. i s BOOLE Trang 25
Ví d 2.17: 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
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