Algebra Boole'a

background image

Algebra Boole'a i logika cyfrowa

1 Aksjomatyczna denicja algebry Boole'a

Do opisywanie ukªadów cyfrowych b¦dziemy u»ywali formalizmu nazywanego algebr¡ Boole'a. Formalnie

algebra Boole'a to struktura matematyczna zªo»ona z uniwersum B i zdeniowanych na nim trzech dziaªa«:

dwuargumentowych and i or, oznaczanych przez · i + oraz jednoargumentowego not, oznaczanego przez

(pozioma kreska nad argumentem). Priorytet operatorów: not, and, or. Podajemy nast¦puj¡cy zestaw

aksjomatów algebry Boole'a (spotykane s¡ te» inne warianty):

1. ª¡czno±¢ i przemienno±¢ + i ·
2. istnieje element neutralny dziaªania +, oznaczany przez 0, czyli

x + 0 = x

dla dowolnego x ∈ B;

3. istnieje element neutralny dziaªania ·, oznaczany przez 1, czyli

x · 1 = x

dla dowolnego x ∈ B;

4. x + x = 1
5. x · x = 0
6. prawo podwójnego zaprzeczenia: x = x
7. rozdzielno±¢ · wzgl¦dem +, czyli x · (y + z) = x · y + x · z
8. rozdzielno±¢ + wzgl¦dem ·, czyli x + (y · z) = (x + y) · (x + z)
9. xy = x + y (prawo de Morgana)

10. x + y = x · y (prawo de Morgana)

Z aksjomatów tych wynika szereg dodatkowych wªasno±ci, m.in.:

1. 0 · x = 0, 1 + x = 1
2. idempotentno±¢: x + x = x, x · x = x
3. prawo absorpcji: x(x + y) = x, x + xy = x

Klasyczny model algebry Boole'a to rodzina podzbiorów ustalonego zbioru, z dziaªaniami przekroju, sumy

i dopeªnienia zbiorów. Model, który nas b¦dzie interesowaª: Zbiór B = {0, 1} z dziaªaniami logicznej sumy,

iloczynu i negacji. Elementy 0, 1 s¡ czasem nazywane faªszem i prawd¡. Jak si¦ niedªugo przekonamy w takim

modelu bardzo wygodnie opisuje si¦ dziaªanie cyfrowych ukªadów komputerowych. Tak naprawd¦ nasz model

jest izomorczny ze zbiorem podzbiorów zbioru 1-elementowego.

2 Wyra»enia i funkcje boolowskie

Od teraz b¦dziemy si¦ porusza¢ w naszym modelu dwuelementowym. U»ywaj¡c symboli dziaªa«, staªych

0 i 1 oraz zmiennych (zazwyczaj x, y, z, . . .) mo»emy budowa¢ wyra»enia boolowskie. Ka»de wyra»enie

w naturalny sposób deniuje funkcj¦ boolowsk¡. Funkcj¦ tak¡ mo»emy opisa¢ u»ywaj¡c tabeli prawdy.

Przykªad:

x

y

z

F = x + yz

0 0 0

0

0 0 1

1

0 1 0

0

0 1 1

0

1 0 0

1

1 0 1

1

1 1 0

1

1 1 1

1

1

background image

Czasem konstruuj¡c tablic¦ prawdy dodajemy jeszcze dla wygody kolumny po±rednie. W drug¡ stron¦, ka»da

funkcja boolowska da si¦ opisa¢ za pomoc¡ wyra»enia boolowskiego. Dowód: konstrukcja wyra»enia w dysjunk-

cyjnej postaci normalnej (...). Dwa wyra»enia boolowskie nazywamy równowa»nymi je±li opisywane przez

nie funkcje boolowskie s¡ identyczne. Oczywi±cie ka»de wyra»enie ma niesko«czenie wiele wyra»e« równowa»-

nych, a st¡d ka»da funkcja mo»e by¢ zapisana na niesko«czenie wiele sposobów. Najlepsze s¡ reprezentacje

mo»liwie najprostsze (w jakim± sensie).

2.1 Upraszczenie wyra»e« boolowskich

U»ywaj¡c aksjomatów i praw algebry Boole'a mo»emy próbowa¢ upraszcza¢ wyra»enia boolowskie (proces ten

jest odpowiednikiem upraszczenia obwodów cyfrowych komputera). Przykªad: F (x, y, z) = xyz + xyz + xz

Upraszamy: xy(z + z) + xz = xy(1) + xz = xy + xz. Trudniejszy przykªad:

F (x, y, z) = xy + xz + yz
= xy + xz + yz(1)

(el. neutralny)

= xy + xz + yz(x + x)

(uzupeªnienie)

= xy + xz + (yz)x + (yz)x

(rozdzielno±¢)

= xy + xz + x(yz) + x(yz)

(przemienno±¢)

= xy + xz + (xy)z + (xz)y

(ª¡czno±¢)

= xy + (xy)z + xz + (xz)y

(przemienno±¢)

= xy(1 + z) + xz(1 + y)

(rozdzielno±¢)

= xy(1) + xz(1)
= xy + xz

W podobny sposób mo»emy dowodzi¢ praw algebry Boole'a (co± b¦dzie na ¢wiczeniach).

Upraszczaj¡c wyra»enia na podstawie praw algebry Boole'a zdajemy si¦ nie tyle na algorytm co na wªasn¡

pomysªowo±¢. Co wi¦cej zauwa»my, »e my w zasadzie nie wiemy co to znaczy najprostsza posta¢ wyra»e-

nia! Zdenujmy zatem pewne standardowe proste postacie wyra»enia. Dowodz¡c, »e ka»da funkcja bo-

olowska mo»e by¢ zapisana jako wyra»enie boolowskie u»yli±my wyra»e« boolowskich o szczególnej budowie:

w dysjunkcyjnej postaci normalnej. Wyra»enia w dysjunkcyjnej postaci normalnej to sumy iloczynów:
F (x, y, z) = xy + xyz + yz

. Ka»d¡ funkcj¦ boolowsk¡ mo»na zapisa¢ w tej postaci. Podobnie mo»emy wprowa-

dzi¢ koniunkcyjn¡ posta¢ normaln¡  posta¢ iloczynu sum. Iloczyny w d.p.n. nazywamy mintermami.

Sumy w k.p.n. to makstermy. Zauwa», »e funkcja wci¡» mo»e mie¢ wiele reprezentacji w d.p.n. Dla nas naj-

lepsze b¦d¡ te, które maj¡ najmniejsz¡ mo»liw¡ liczb¦ mintermów, a w±ród reprezentacji z jednakow¡ liczb¡

mintermów preferowa¢ b¦dziemy te, które maj¡ mniej zmiennych w mintermach. Niestety takie okre±lenie

wci¡» nie deniuje jednoznacznej minimalnej postaci. Np. x y + xy + xz = x y + xy + yz, to dwie minimalne

postaci tego samego wyra»enia.

3 Bramki logiczne

Rysunki w tym rozdziale zostaªy pobrane z ocjalnej strony podr¦cznika Lindy Null i Julii Lobur.

Dobra strona o logice cyfrowej: http://www.play-hookey.com/digital/ (zawiera opisy ukªadów, inte-

raktywne diagramy, ...).

Bramki logiczne s¡ podstawowymi elementami z jakich budujemy komputery. W zale»no±ci od typu bramka

logiczna zbudowana jest z jednego, dwóch lub kilku tranzystorów. Na pocz¡tek wprowadzamy bramki odpo-

wiadaj¡ce operatorom algebry Boole'a  bramki AND, OR, NOT. Oprócz bramek dwuwej±ciowych mo»emy

u»ywa¢ ich naturalnych kilkuwej±ciowych wersji. Czasami, oprócz podstawowego wyj±cia bramki dorysowujemy

jej drugi wyj±cie, b¦d¡ce negacj¡ pierwszego. Czasem, zamisat rysowa¢ bramk¦ negacji, na wej±ciu kolejnej

bramki rysujemy puste kóªeczko.

U»ywaj¡c diagramów logicznych mo»emy reprezentowa¢ wyra»enia boolowskie. Przykªad F (x, y, z) =

x + yz

.

Ogólnie bramki odpowiadaj¡ dwu- lub kilkuagrumentowym funkcjom logicznym. Jest zatem 2

4

typów

bramek o dwóch wej±ciach. Niektóre z nich sa popularniejsze od innych i maj¡ swoje wªasne symbole i nazwy.

Cz¦sto wykorzystywan¡ bramk¡ jest bramka XOR (rys. 4). Kolejne bramki: NOR (rys. 5) i NAND (rys.

6).

Mówimy, »e zbiór bramek (lub odpowiadaj¡cych im funkcji logicznych) jest funkcjonalnie peªny je±li mo»na

za jego pomoc¡ wyrazi¢ ka»d¡ funkcj¦ logiczn¡. Pokazali±my ju», »e zbiór { AND, OR, NOT } jest funkcjonalnie

2

background image

Rysunek 1: Symbole podstawowych bramek logicznych

Rysunek 2: Trzywej±ciowa bramka OR

Rysunek 3: Prosty diagram logiczny

Rysunek 4: Bramka XOR i jej tablica prawdy

Rysunek 5: Bramka NOR: tablica prawdy, symbol, realizacja za pomoc¡ AND i NOT

Rysunek 6: Bramka NAND: tablica prawdy, symbol, realizacja za pomoc¡ OR i NOT

3

background image

peªny (konstrukcja wyra»enia w dysjunkcyjnej postaci normalnej). Šatwo wyeliminowa¢ z niego bramk¦ AND

lub OR (u»ywaj¡c prawa de Morgana symulujmemy jedn¡ za pomoc¡ drugiej i negacji). Okazuje si¦, »e bramka

NAND (podobnie jak i NOR) stanowi sama w sobie zbiór funkcjonalnie peªny. Dowód: realizujemy AND, OR

i NOT przez NAND (rys. 7). Wynika st¡d, »e w peªni funkcjonalny komputer mo»na by zbudowa¢ u»ywaj¡c

tylko bramek NAND. W praktyce u»ywa si¦ bramek ró»nego typu, bo to po prostu pozwala budowa¢ mniej

skomplikowane obwody.

Rysunek 7: Realizacja AND, NOT i OR przez NAND

Wiadomo, »e konstuuj¡c obwody logiczne warto stara¢ si¦ u»ywa¢ jak najmniejszej liczby bramek. Zwró¢my

jeszcze w tym miejscu uwag¦ na jedn¡ rzecz jak¡ warto bra¢ pod uwag¦. Popatrzmy na przykªad: F =
((ab + c)d) + e = abd + cd + e

. Która posta¢ jest lepsza i dlaczego? Ró»nica polega na liczbie poziomów bramek

(narysuj oba obwody). Fizyczna realizacja drugiej wersji b¦dzie wyliczaªa warto±¢ wyra»enia nieco szybciej

ni» pierwszej.

Poniewa» ka»de wyra»enie mo»na zapisa¢ w dysjunkcyjnej postaci normalnej, wi¦c ka»dy obwód mo»na

zrealizowa¢ u»ywaj¡c tylko dwóch poziomów bramek. Nie znaczy to, »e zawsze jest to praktyczne i po»¡dane

(podstawowa niedogodno±¢: potrzebujemy do tego celu bramek o du»ej liczbie wej±¢, które same w sobie musz¡

by¢ skomplikowane).

4 Programowalne tablice logiczne (PLA)

Dysjunkcyjna posta¢ normalna wyra»e« wykorzystywana jest w pomy±le PLA. Przygotowujemy ukªad zawie-

raj¡cy regularny ukªad bramek AND, OR i NOT oraz wszystkie potencjalnie potrzebne poª¡czenia (w praktyce

u»ywa si¦ te» np. bramek NAND). Nast¦pnie ukªad jest przygotowywany do konkretnego zastosowania poprzez

zlikwidowanie (przepalenie) zb¦dnych poª¡cze« (w alternatywnym rozwi¡zaniu ukªad mo»e nie mie¢ »adnych

poª¡cze«, a jego programowanie polega no wytworzeniu wªa±ciwych).

Przykªad: dwie bramki OR - ich wyj±cia s¡ wyj±ciami ukªadu; 6 o±miowej±ciowych bramek AND. Cztery

wej±cia; ka»de wej±cie oraz jego negacja jest doprowadzone do ka»dej bramki AND; wyj±cia ka»dej bramki AND

doprowadzone s¡ do ka»dej bramki OR. Przepalaj¡c niektóre poª¡czenia mo»emy uzyska¢ ukªad, realizuj¡cy

dwie funkcje, które w sumie maj¡ maksymalnie sze±¢ mintermów.

Typowe ukªady produkowane w rzeczywisto±ci maj¡ po kilkana±cie wej±¢ i wyj±¢. PLA s¡ przykªadem

szerszej klasy ukªadów nazywanych programmable logic devices.

5 Ukªad dodaj¡cy liczby binarne

Spróbujemy si¦ teraz przekona¢, »e komputer naprawd¦ da si¦ zbudow¡c u»ywaj¡c tylko prostych bramek

logicznych jakie wprowadzili±my. Na pocz¡tek zbudujemy ukªad, który dodaje dwie liczby binarne. Ukªady

takiego typu s¡ podstawowymi skªadnikami jednostek arytmetyczno-logicznych procesorów.

5.1 Póªsumator (ang. half-adder) i sumator (ang. adder)

Póªsumator dodaje pojedyncze bity, zwraca te» przeniesienie (ang. carry). Sumator ma trzy wej±cia: dwa bity

do zsumowania i poprzednie przeniesienie. Peªny sumator zbudujemy z dwóch póªsumatorów i bramki OR.

5.2 Sumator kaskadowy

Budujemy sumator wielobitowy z n sumatorów (ewentualnie n − 1 i jednego póªsumatora). Uwaga: taki

ukªad w rzeczywisto±ci nie jest u»ywany w praktyce. Stosowane s¡ ulepszenia, takie jak podgl¡d przeniesienia

4

background image

Rysunek 8: Póªsumator

Rysunek 9: Sumator

(carry-look-ahead), czy wybór przeniesienia (carry-select. Poprzez urównoleglenie pewnych operacji i zredu-

kowanie maksymalnej ±cie»ki przeniesienia pozwalaj¡ one uzyska¢ pr¦dko±ci o 40-90 procent lepsze ni» sumator

kaskadowy.

Rysunek 10: 16-bitowy sumator kaskadowy

5


Wyszukiwarka

Podobne podstrony:
Algebra Boole'a 2
ALGEBRA BOOLE
Algebra Boole
Algebra Boole'a 1
Prawa logiczne w algebrze Boole'a
Podstawy algebry Boole
Algebra Boole, Informatyka
F1-18 Algebra Boole'a 2
F1-17 Algebra Boole'a 1
Prawa logiczne w algebrze Boole'a
F1 17 Algebra Boole'a 1
Zerówki, ściąga elektronika, Algebra Boole'a - zbiór B, wyróżniony jego podzbiór O i I oraz operacje
ALGEBRA BOOLE’A; SYNTEZA UKŁADÓW KOMBINACYJNYCH
Algebra Boole'a 2
Prawa logiczne w algebrze Boole a
Algebra Boole a

więcej podobnych podstron