You are on page 1of 6

IV. ALGEBRA BOOLEA. BRAMKI LOGICZNE.

PRZEDSTAWIANIE FUNKCJI BOOLOWSKIEJ


Matematyczn podstaw dziaania komputera cyfrowego jest algebra Boolea. Algebra ta powstaa w 1847 r. dziki traktatowi ang. matematyka i logika George Boolea An Investigation of the Laws of Thought on Which to Found the Mathemathical Theories of Logic and Probabilities (Badanie praw myli, ktre mog by podstaw matematycznych teorii logiki i prawdopodobiestwa). Jednak stworzona przez Boolea ga matematyki zwana logik symboliczn lub inaczej algebr boolowsk zostaa uznana dopiero wiele lat pniej. Zasugerowa jej zastosowanie w 1938r. amerykanin Claude Szannon do rozwizywania problemw projektowania ukadw przekanikowych jako sposb wyraania procesw logicznych (binarnych). Metody Shannona zostay nastpnie uyte do analizowania i projektowania ukadw cyfrowych. Algebra Boole'a jest wygodnym narzdziem w dwch obszarach: analizy jest ekonomicznym sposobem opisywania dziaania ukadw cyfrowych; projektowania algebra Boole'a moe by stosowana do uproszczonej realizacji podanych funkcji. 4.1. PODSTAWOWE POJCIA. FUKCJI LOGICZNE (BOOLOWSKIE). Algebra Boolea operuje 0-1-wymi zmiennymi. Na tej podstawie wprowadza ona 3 nowe operacje (funkcje), ktrych argumentami i wynikami s zawsze elementy 0 lub 1. Najprostsz operacj przedstawia jednoargumentowa funkcja. Negacja (inwersja) oznacza si symbolem a czyta si jak NIE a i zapisuje si jako a , (NOT a). a 0 0 1 1 a 0 0 1 1 a 0 1 b 0 1 0 1 b 0 1 0 1

a
1 0 ab 0 1 1 1 ab 0 0 0 1

Dla dwch argumentw a i b definiowane s najprostsze operacje: Suma logiczna (dyzjunkcja) oznacza si symbolem , zapisuje si jako a b, a czyta si jak a LUB b (a OR b)

Iloczyn logiczny (koniunkcja) oznacza si symbolem & i zapisuje si krcej (bez symbolu) jako ab, a czyta si jak aIb (a AND b)

Z tych operacij wynikaj twierdzenia (aksiomaty lub tosamoci algebry Boolea) dla a {0,1} : A1. A2. A3. A4. 1a=1 0a=a a a =1 a a ... a = a B1. B2. B3. B4. 1a = a 0a = 0 aa = 0 aa...a = a C1.

a =a

Na tej podstawie prawdziwe s oglne prawa: D1. D2. D3. D4. D5. D6. ab=ba a(b c) = ab ac a (b c) = (a b) c (a b)(a b ) = a a(a b) = a K1. K2. K3. K4. K5. K6. ab = ba a bc = (a b)(a c) a(bc) = (ab)c ab a b = a a ab = a

a b = ab

ab = a b

Prawo deMorgana

Wan zalet prawa deMorgana dla praktyki jest moliwo przetwarzania koniuncji zmiennych w ich dyzjunkcj i odwrotnie. Dla wikszej liczby zmiennych prawo deMorgana ma taki oglne wzory:

a b ... z = a b z lub a b ... z = a b z

ab z = a b ... z ab z = a b ... z

Prz. Zastosowa prawo deMorgana do wzoru: Odp. 4.2. Bramki logiczne.

ab c.

a b c = a b c = a bc

Funkcja logiczna (boolowska) f ( x1 , x2 ,..., xn ) , f {0,1} , xi {0,1} , i = 1,2,..., n , to twierdzenie uoone z kilku prostych twierdze, powizanych midzy sob operacjami logicznymi. Liczba wszystkich funkcji n-argumentowych jest 2 2 . Przy n = 1 ta ilo jest rwna 4 i s to: funkcja-konstanta 0, czyli f (a) = 0, oraz 1, czyli f (a) = 1, oraz funkcja powtrzenia f (a ) = a i funkcja negacji (inwersji) f ( a ) = a . Funkcj negacji f ( a ) = a realizuje inwertor (negator) (NOT/NIE):
n

Funkcji dwuargumentowe y = f ( x1 , x2 ) , ktrych jest dokadnie 2 2 = 16 , realizuj bramki dwuwejciowe bramki logiczne (w katalogach ich nazwy czciej s uywane w transkrypcji angelskiej). Podstawowe funkcje boolowskie realizuj bramki logiczne (rys. 4.1): dyzjunktor (bramka OR/LUB) koniunktor (bramka AND/I)

a b
a)

ab
Rys. 4.1

a b
b)

ab

System wymienionych podstawowych funkcij boolowskich { ,,&} tworz podstaw (ang. basis) boolowsk, poniewa ich zestaw jest funkcjonalnie peny mogcy zrealizowa podstawowe funkcje z
zbioru { ,,&} innymi swa na bramkach logicznych NOT, OR i AND mona zrealizowa dowolny ukad kombinacyjny. W katalogach nie spotyka si bramki podstawy boolowskiej, poniewa taki zeswtaw bramek jest nadmiarowym. W praktyce czciej wykorzystuj inne funkcjonalnie pene podstawy logiczne. Do najbardziej wykorzystywanych w praktyce podstaw logicznych nale dwuelementowe funkcje negacji koniuncji i negacja duzjunkcji. Pierwsz funkcj nazywaj podstaw Sheffera, drug

podstaw Piercea. Ich dysponuj odpowiedni bramki NAND (NOT-AND) i NOR (NOT-OR). Bramka Sheffera (NAND/NIE I)
Podstawa Sheffera { ,&} a b
ab

a 0 0 1 1 a 0 0 1 1

b 0 1 0 1 b 0 1 0 1

ab 1 1 1 0 ab 1 0 0 0

Bramka Piercea (NOR/NIE LUB)


Podstawa Piercea { ,} a b
ab

Prz. Za pomoc bramek Sheffera zrealizowa operacj a b . Odp.


a b

ab = a b

Bardzo wane dla praktyki s funkcji EXCLUSIVE OR (inna nazwa SUMA MODULO 2 albo
NIERWNOWANO) oraz EXCLUSIVE NOT OR (inna nazwa RWNOWANO) poniewaz

umoliwiaj porwnywalnie mniejsz liczb elementw i pocze dla syntezy ukadw cyfrowych takich jak arytmetyczne, konwersyjne, korekcji bdw, komparatory i in. Realizuj je bramki EXOR (symbol

pseudoplus ) i jej inwersja EXNOR (symbol ). Bramka EXOR/NIERWNOWANO


a b = ab a b a b
ab

a 0 0 1 1 a 0 0 1 1

b 0 1 0 1 b 0 1 0 1

ab 0 1 1 0 ab 1 0 0 1

Bramka EXNOR/RWNOWANO a b = a b ab a b
a b

Zestaw z EXCLUSIVE OR () i koniunkcji (&) tworzy tzw polinom egakina {&,} , a jego uzupenienie o negacj ( ) polinom Reeda-Mulera { ,&,} .

4.3. SPOSOBY PRZEDSTAWIANIA FUNKCJI BOOLOWSKIEJ.

Istnieje wiele sposobw przedstawienia funkcji boolowskiej, z ktrych wyrnimy: sowne, tablicowe (w tym mapa Karnaugha), analityczne, teoriomnogociowe, graficzne.
DEFINICJA 1. Funkcj boolowsk f nazywamy penie zdefiniowan (lub pen) jeli dla wszystkich 2n

zestaww jej zmiennych x1 , x2 ,..., xn , xi {0,1} jest ona zdefiniowana wartociami 0 lub 1, co przedstawia odwzorowanie: f : {0,1}n {0,1} .
DEFINICJA 2. Funkcj boolowsk f nazywamy czciowo zdefiniowan (lub czciow) jeli przynajmnie

dla jednego zestawu jej zmiennych x1 , x2 ,..., xn , xi {0,1} nie jest ona zdefiniowan, czyli jest nieokrelon (takie wartoci funkcji bdziemy oznacza symbolem tylda ~), a dla reszty zestaww zmiennych wartociami 0 lub 1, co przedstawia odwzorowanie: f : {0,1}n {0,1, ~} .
4.3.1. PRZESTAWIANIE SOWNE.

To logiczne zdanie bd stwierdzenie, ktrego warto logiczn mona oszacowa, czy jest ono prawdziwe (logiczna 1), czy faszywe (logiczne 0). Formuujc opis sowny naley dy do tego, aby on by jak najbardziej jednoznaczny. Np. funkcja dwuwartociowa: Piotr lub Jan aby wyj za m.
4.3.2. PRZEDSTAWIANIE TABLICOWE.

Ten sposb prezenracji przedstawia tablica prawdy, ktra ma 2n wierszw kombinacji (zestawu) zmiennych, co odpowiada liczbie wszystkich kombinacji 0-1-wych dla n niezalenych zmiennych x1 , x2 ,..., xn , oraz m kolumn liczby funkcji f1 , f 2 ,..., f m (+ kolumna dla numerw zestaww). Dla jednej funkcji n zmiennych liczba kolumn tablicy prawdy jest rwna n + 1 , a dla m funkcij n zmiennych n + m . Przykad tablicy prawdy czciowej funkcji f ( x1 , x2 , x3 ) podaje tabl. 1.2, gdzie warto funkcji dla zestawu 1,1,0 jest dowolna, tzn. moe by jak 0, tak i 1 (sytuacja ta czsto wystpuje w praktyce, gdy warunki fizyczne nie dopuszczaj pewnych kombinacji zmiennych). pogldowym, ale, zauwazmy, nie dla duej liczby zmiennych. Do tablicowej i rwniczenie wizualnej prezentacji funkcji boolowskich mona te odnie map (siatk) Karnaugha. Mapa Karnaugha jest tablic zoon z 2n klatek reprezentujcych moliwe kombinacj wartoci n zmiennych. Mapa ta jest wygodn metod upraszczania rcznej minimalizacji funkcji Boole'a o niewielkiej liczbie zmiennych (do n = 5). Dowolne dwa ssiadujce ze sob kwadraty rni si tylko jedn ze zmiennych. Jeli 2 ssiednie klatki zawieraj 1, to odpowiedni iloczyn rni si tylko jedn zmienn, 4 rn 0 1 2 3 4 5 6 7 x1 0 0 0 0 1 1 1 1 x2 0 0 1 1 0 0 1 1 Tabl. 4.1 x3 f 0 1 1 0 0 1 1 1 0 1 1 0 0 ~ 1 0

Tablicowy sposb przedstawienia ma szerokie wykorzystanie w praktyce, poniewa jest opisem

si na 2 zmiennych, 8 3 zmiennych itd., a po poczeniu klatek wyeliminowane bd, odpowiednio, 1, 2 i 3 zmiennych. Pomys przedstawienia funkcji w taki sposb polega na wykorzystaniu kodu Graya, kada klatka ktrej odpowiada jednemu z 2 n mintermw funkcji f ( x1 , x2 ,..., xn ) ; na rys. 4.7: (a) f ( x1 , x2 , x3 ) , (b) f ( x1 , x2 , x3 , x4 ) i (c) f ( x1 , x2 , x3 , x4 , x5 ) . Przylege w pionie i poziomie (ssiedni) klatki mapy rn si wartociami mintermw tylko o jeden litera (czy o jedn zmienn). Ssiednimi bd take klatki znajdujce si na przeciwlegych krawdziach mapy.
x2 x3 00 01 11 10 x1 0 0 1 3 2 1 4 5 7 6

x3 x4 00 00 0 01 4 01 11 10 1 5 3 7 2 6

x3 x4 x5 000 001 011 010 110 111 101 100 00 0 01 8 1 9 3 2 6 7 5 4 11 10 14 15 13 12 30 31 29 28 22 23 21 20

x1 x2

11 12 13 15 14 10 8 9 11 10

x1 x2

11 24 25 27 26 10 16 17 19 18 c)

a)

b) Rys. 4.7

Zaznaczmy, e w przypadku wikszej liczby zniennych n 6 ten sposb przedstawienia funkcij boolowskich przestaje mie praktyczne zastosowanie.
Prz. Odwzorowa na mapie Karnaugha funkcj, zadan tabl.4.1.
x2 x3

Odp.
x1

00 01 11 10 0 1 1 1 1 1 ~

4.5.3. PRZEDSTAWIANIE ANALITYCZNE. POSTA KANONICZNA FUNKCJI BOOLOWSKIEJ.

Analityczny (algebraiczny) sposb przedstawienia funkcji umoliwia wykonanie analitycznych przeksztace zadanej funkcji, niezbdne dla upraszczenia jej wyrae w celu ekonomnej realizacji. Dla tego wykorzystuj si tosamoci i prawa algebry boolowskiej (p.4.1), ktrych wybr definiuje najlepsz metod upraszczania. Ale takie podejcie ma powan wad bowiem w wikszoci przypadkw jest intuicyjnym i cile zaley od umiejtnoci (zdolnoci) osoby, prowadzoncej upraszczania. Dowoln funkcj boolowsk mona przedstawi w dowolnej postaci analitycznej. Najbardziej racjonalnym opisem dowolnej funkcji f ( x1 , x2 ,..., xn ) jest posta kanoniczna, a wic:

Dyzjunktywna posta kanoniczna (DPK) jako dyzjunkcja koniunkcij wszystkich zmiennych, na zestawie x1 , x2 ,..., xn ktrych funkcja

f = f 0 m0 f1m1 ... f n mn =

2 n 1 i =0

fm ,
i i

gdzie mi koniunkcja n zmiennych (minterm) dla i-tego zestawu zmiennych x1 , x2 ,..., xn , podanych bez negacji (jeli warto zmiennej = 1) lub z negacj (jeli warto zmiennej = 0), gdy warto fi = 1 . Funkcj zadan tablicowo mona przeprowadzi do DPK stosujc prost zasad czytania tablicy prawdy dla f = 1 : poziomowo zapisujc koniunkcj (tzn. minterm) dla pewnego zestawu zmiennych x1 , x2 ,..., xn , odwzorowujc 0 xi oraz 1 xi , a pionowo zapisujc dyzjunkcj tych mintermw. Na przykad dla funkcji zadanej tabl.4.1 jej DPK bdzie mie tak posta (jeli przyj dla f (1,1,0) = 1 ): f = x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 . Dwa mintermy nazywamy ssiednimi, jeli oni rni si o jedn zmienn. Na przykad ssiedni mintermami s Axi i Axi ( xi i-ta zmienna, A reszta cz minterma). Na podstawie operacji sklejania (K4) dyzjunkcja Axi Axi = A, gdzie A nazywano implikantem. Sklejanie dwch ssiednich mintermw x1 x2 x3 x1 x2 x3 = x1 x3 , a czterech x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 = x2 . Na tej wnie zasadzie opiera si uproszczanie wyrazw boolowskich minimalizacja funkcji boolowskich. Dualn (dwoist) postaci do DPK jest koniunktywna posta kanoniczna (KPK) 1 . To znaczy e z jednej postaci mona przej do drugej wypeniajc prost zasad zamiany: xi na xi , a xi na xi (co odpowiada zamienie 0 na 1, a 1 na 0), symbol & na , a symbol na & (tzn. operaci AND na OR, a
OR na AND). Czyli dla dowolnej funkcji f ( x1 , x2 ,..., xn ) istnieje dualna funkcja f * ( x1 , x2 ,..., xn )

zdefiniowana tosamoci:
f * ( x1 , x2 ,..., xn ) f ( x1 , x2 ,..., xn ) .

Udowodni to mona atwo stosujc prawo deMorgana (K6) dla dowolnej funkcij f. Dla naszej funkcji dualn do DPK (jeli przyjmajc f (1,1,0) = 1 ) jest KPK: yKPK = ( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 ) . Sprawdzi to mona atwo stosujc (dwukrotnie) prawo deMorgana: yKPK = ( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 )
yKPK = ( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 ) = = ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ) = x1 x2 x3 x1 x2 x3 x1 x2 x3 .

Ztd wida e otrzymane mintermy odwzoruj te numery zestaww zmiennych x1 , x2 , x3 tabl.4.1, na ktrych dana funkcja przyjmuje warto log.0: f (0,0,1) = 0 , f (1,0,1) = 0 , f (1,1,1) = 0 . Liczba zmiennych koniunkcji nazywa si jej rang. Mintermy dowolnej funkcji f zawsze s rangi n, a implikanty s rangi mniejsz jak n. Na przykad, implikant x1 x3 jest rangi 2.

W praktyce wykorzystuje si adko.

You might also like