Algebra Boole'a i logika cyfrowa

Podobne dokumenty
Algebra Boole'a i logika cyfrowa

Algebra Boole'a i logika cyfrowa

Algebra Boole'a i logika cyfrowa

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Algebra Boole'a i logika cyfrowa

x y x y x y x + y x y

Arytmetyka liczb binarnych

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Metodydowodzenia twierdzeń

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Wstęp do Techniki Cyfrowej... Algebra Boole a

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Architektura komputerów Wykład 2

Architektury systemów komputerowych

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Minimalizacja form boolowskich

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Tranzystor JFET i MOSFET zas. działania

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji.

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

1 Bª dy i arytmetyka zmiennopozycyjna

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Indeksowane rodziny zbiorów

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Macierze i Wyznaczniki

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Lekcja 9 Liczby losowe, zmienne, staªe

Metody numeryczne i statystyka dla in»ynierów

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Metody dowodzenia twierdze«

Cyfrowe Ukªady Scalone

Zbiory i odwzorowania

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wyra»enia logicznie równowa»ne

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Część 2. Funkcje logiczne układy kombinacyjne

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Liczby zmiennoprzecinkowe

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Listy i operacje pytania

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

O pewnym zadaniu olimpijskim

Logika dla matematyków i informatyków Wykªad 1

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Technika cyfrowa Synteza układów kombinacyjnych

Lab. 02: Algorytm Schrage

Informacje pomocnicze

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Technika cyfrowa Synteza układów kombinacyjnych (I)

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

Logika matematyczna (16) (JiNoI I)

Matematyka dyskretna dla informatyków

Ukªady równa«liniowych

dr inż. Małgorzata Langer Architektura komputerów

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Wykªad 4. Funkcje wielu zmiennych.

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

istnienie elementu neutralnego dodawania (zera): 0 K a K a + 0 = a, istnienie elementu neutralnego mno»enia (jedynki): 1 K a K a 1 = a,

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

Wstęp do Techniki Cyfrowej i Mikroelektroniki

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, Dawid Rasaªa Metody numeryczne 1 / 9

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

LEKCJA. TEMAT: Funktory logiczne.

Algorytmy zwiazane z gramatykami bezkontekstowymi

1. Operacje logiczne A B A OR B

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Elektronika i techniki mikroprocesorowe

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Podstawy logiki i teorii zbiorów wiczenia

Model obiektu w JavaScript

Układy kombinacyjne 1

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Lekcja 12 - POMOCNICY

Statystyka matematyczna - ZSTA LMO

Maªgorzata Murat. Modele matematyczne.

Przykªady problemów optymalizacji kombinatorycznej

Transkrypt:

Algebra Boole'a i logika cyfrowa Literatura do wykªadu 4, 11, 18 X 2010 1. David Patterson, John Hennessy, Computer Organization and Design, 4th Edition, Morgan Kaufmann 2009. 2. David Harris, Sarah Harris, Digital Design and Computer Architecture, Morgan Kaufmann 2007. 3. William Stallings, Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajno±, WNT 2004. 4. Linda Null, Julia Lobur, Struktura organizacyjna i architektura systemów komputerowych, Helion 2004 Wykªad prowadzony b dzie gªównie na podstawie pozycji 1. 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) 1

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 Modelami algebry Boole'a s rodziny 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 Czasem konstruuj c tablic prawdy dodajemy jeszcze dla wygody kolumny po±rednie (np. yz). Okazuje si,»e ka»da funkcja boolowska da si opisa za pomoc wyra»enia boolowskiego. Dowód: konstrukcja wyra»enia w dysjunkcyjnej 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 Upraszczanie 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: Trudniejszy przykªad: xy(z + z) + xz = xy(1) + xz = xy + xz. 2

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 (czyli uzasadnia,»e dwa ró»ne wyra»enia boolowskie opisuj t sam funkcj ). 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»enia... Zdenujmy zatem pewne standardowe proste postacie wyra»enia. Dowodz c,»e ka»da funkcja boolowska 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 wprowadzi koniunkcyjn posta normaln posta iloczynu sum. Przykªad wyra»enia w koniunkcyjej postaci normalnej: F (x, y, z) = (x + z)(x + y + z). Zauwa»,»e funkcja wci» mo»e mie wiele reprezentacji w d.p.n. (lub k.p.n). Dla nas najlepsze b d te, które maj najmniejsz mo»liw liczb skªadników (iloczynów), a w±ród reprezentacji z jednakow liczb skªadników (iloczynów) preferowa b dziemy te, które maj mniej literaªów w skªadnikach (iloczynach). 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, interaktywne 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 (nie b dziemy jednak wnikali w szczegóªy budowy bramek). Na pocz tek wprowadzamy bramki odpowiadaj 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 peªny (konstrukcja wyra»enia w dysjunkcyjnej postaci 3

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 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 4

Rysunek 6: Bramka NAND: tablica prawdy, symbol, realizacja za pomoc OR i NOT 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 konstruuj 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 (plus poziom bramek negacji). 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). My zazwyczaj b dziemy u»ywa bramek o liczbie wej± nie wi kszej ni» 4. 4 Ukªad dodaj cy liczby binarne Spróbujemy si teraz przekona,»e ukªady wchodz ce w skªad komputera naprawd da si zbudow c u»ywaj c tylko prostych bramek logicznych. Na pocz tek zbudujemy ukªad, który dodaje dwie liczby binarne. Ukªady takiego typu s podstawowymi skªadnikami jednostek arytmetycznologicznych procesorów. 4.1 Póªsumator (ang. half-adder) i sumator (and 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

Rysunek 8: Póªsumator 4.2 Sumator kaskadowy Rysunek 9: Sumator Budujemy sumator kaskadowy 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 pewne ulepszenia (carrylook-ahead, carry-select, carry-save). Urównoleglenie pewnych operacji i zredukowanie maksymalnej ±cie»ki przeniesienia pozwala uzyska czasy dziaªania kilkukrotnie szybsze od naszego sumatora kaskadowego. Niedªugo omówimy niektóre z takich rozwi zania. Rysunek 10: 16-bitowy sumator kaskadowy 6

5 Inne proste ukªady kombinacyjne 5.1 Dekoder Ukªad dostaje na n wej±ciach zakodowan (w naturalnym kodzie binarnym) liczb binarn. Ma 2 n wyj±, jego zadaniem jest uaktywnienie (tzn. ustawienie na nim '1') dokªadnie tego o numerze wskazywanym przez liczb na wej±ciu. Rysunek 11: (a) Dekoder 2-do-4 (b) ogólne oznaczenie 5.2 Multiplekser Ukªad na n wej± z danymi (n jest zazwyczaj pot g dwójki) i pewn liczb linii steruj cych (mniej wi cej log 2 n). Wej±cia steruj ce wskazuj, które z wej± z danymi ma by skierowane na wyj±cie. Przykªadowe wykorzystanie: sekwencyjne przesyªanie danych na jedno wyj±cie (stosowane np. do przesyªania rozmów telefonicznych). Z drugiej strony dane s rozdzielane przez demultiplekser. Rysunek 12: (a) Multiplekser o 4 wej±ciach danych (b) ogólne oznaczenie 7

5.3 Koder, demultiplekser 5.4 Prosta dwubitowa jednostka ALU Na wykªadzie zaprezentowaªem bardziej modularne podej±cie do jej tworzenia (z wykorzystaniem wcze±niej wprowadzonych ukªadów). Ró»ne kombinacje wej± steruj cych f 0, f 1 oznaczaj ró»ne dziaªnia na wej±ciach A, B: 00 to suma, 01 - negacja wej±cia A, 10 - bitowa alternatywa, 11- bitowa koniunkcja. Rysunek 13: Prosta dwubitowa jednostka arytmetyczno-logiczna 6 Reprezentacja uzupeªnienie«do 2. Ukªad dodaj cy i odejmuj cy. B dziemy chcieli teraz zmodykowa nieco ukªad, którego u»ywali±my do dodawania liczb binarnych, tak aby potraª on te» wykonywa odejmowanie. Ustalmy dla uproszczenia,»e u»ywamy arytmetyki 4-bitowej (w praktyce mo»e to by 16,32,64,128...). Potramy zatem reprezentowa liczby z przedziaªu [0, 15]. Oczywi±cie przy dodawaniu liczb mo»e wyst pi bª d przepeªnienia. Pytanie: jak reprezentowa liczby ujemne? Narzucaj ce si rozwi zanie: pierwszy bit oznacza znak liczby. Wady: liczba 0 ma dwie reprezentacje (rozrzutne i niewygodne lub nawet niebezpieczne w obliczeniach), nasz sumator kaskadowy nie potra poprawnie wykona operacji a + ( a). Chcemy mie tak reprezentacj, aby nasz ukªad bez»adnych modykacji poprawnie (z wyj tkiem sytuacji, gdy wyst puje przepeªnienie) dodawaª wszystkie reprezentowane liczby. Reprezentacj tak jest reprezentacja uzupeªnie«do 2. Co si dzieje, gdy do 0001 dodamy 1111? Dostajemy 0000. Zatem je±li 0000 reprezentuje liczb 0, a 0001 liczb 1, to 1111 powinno by reprezentacj -1. Ile trzeba doda do 0101, aby 8

otrzyma 0000? Odpowied¹: 1011. Jak zatem otrzyma liczb przeciwn do zadanej: znajdujemy ostatni jedynk, pozostawiamy j razem z kolejnymi bitami, a bity wcze±niejsze odwracamy. Inaczej: odwracamy wszystkie bity (dopeªnienie do 1) po czym do wyniku dodajemy 1 (dopeªnienie do 2). Peªna tabelka: Zauwa»my: repr. bez znaku ze znakiem 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8-8 1001 9-7 1010 10-6 1011 11-5 1100 12-4 1101 13-3 1110 14-2 1111 15-1 liczby 0-7 maj w obu reprezentacjach takie same postacie pierwszy bit odró»nia liczby ujemne od nieujemnych Jak zrealizowa odejmowanie? Korzystamy z faktu,»e a b = a + ( b). Czyli je±li ukªad dostaje sygnaª odejmowania wystarczy odwróci bity drugiej liczby (XOR), doda do niej 1 (jednynk mo»emy poda na wej±cie c in pierwszego sumatora) i doda do pierwszej. Zauwa»my,»e nasz ukªad potra poprawnie odejmowa tak»e liczby bez znaku (mniejsz od wi kszej). Zwró uwag,»e tak naprawd aby wykona operacj a b nasz ukªad wykonuje: a + (1111 b) + 1. Szczegóªy zostaªy omówione na wykªadzie. 7 Minimalizacja ukªadów logicznych 7.1 Wst p Notatki do tego wykªadu nie s najpeªniejsze. Je»eli kto± nie byª na wykªadzie, to by mo»e b dzie musiaª poszuka dodatkowych ¹ródeª. Nie powinno by z tym problemu - w sieci mo»na znale¹ mnóstwo informacji na temat omawianych metod. 7.2 Kryteria minimalizacji Kryteria, wedªug których minimalizujemy ukªady mog by ró»ne: liczba u»ytych bramek, szybko± dziaªania (czyli liczba poziomów bramek). Zazwyczaj mamy tek»e ogranieczenia na rodzaje u»ywanych bramek. My b dziemy minimalizowa wyra»enia w postaci dysjunkcyjnej, tak aby 9

uzyska najmniejsz mo»liw liczb iloczynów oraz (w drugiej kolejno±ci) minimaln liczb literaªów. Przypominam,»e wynik wci» nie musi by jednoznaczny: wyra»enia xy + x y + x z oraz xy + x y + yz s równowa»ne, a ka»de równowa»ne im wyra»enie w dysjunkcyjnej postaci normalnej musi mie co najmniej trzy iloczyny. W dadatku ka»dy z nich musi zawiera co najmniej po dwie zmienne (lub ich negacje). 7.3 Metody minimalizacji 1. Przeksztaªce«formalnych - czasami trudne, wymaga pomysªowo±ci, nie zawsze mamy gwarancj,»e uzyskali±my optymalny wynik 2. Metody algorytmiczne: metoda siatek Karnaugha, metoda Quinea-McCluskey'a (implikantów prostych). Metody algorytmiczne bazuj oczywi±cie równie» na przeksztaªceniach formalnych. Siatki Karnaugha s wygodne dla funkcji co najwy»ej czterech zmiennych. Dla wi kszej liczby zmiennych ªatwiej u»ywa metody Quine'a-McCluskey'a. Metody algorytmiczne bazuj na dwóch operacjach, których poprawno± wynika z wªasno±ci algebry Boole'a: sklejania (af i + af i = a) i pochªaniania (a + af i = a). Du» rol odgrywa poj cie implikanta prostego. Dla danej funkcji f implikantem jest taki iloczyn zmiennych lub ich negacji (ka»da zmienna mo»e wyst pi tylko raz: albo w postaci zanegowanej, albo w niezanegowanej),»e dla ka»dej kombinacji warto±ci zmiennych, dle której staje si on prawdziwy, równie» caªa funkcja jest prawdziwa. Implikant prosty, to taki,»e po usuni ciu z niego jednego literaªu przestaje on by implikantem. Poszukiwana posta minimalna jest sum pewnych implikantów prostych danej funkcji: w jej skªad wchodz wszystkie implikanty zasadnicze (implikant jest zasadniczy, je±li jako jedyny jest prawdziwy dla pewnej kombinacji wej±ciowej, dla której funkcja zwraca 1) oraz pewien minimalny podzbiór pozostaªych implikantów prostych. 7.4 Sposób reprezentowania funkcji logicznej Na wiczeniach b dziemy u»ywali nast puj cego sposobu reprezentowania funkcji. Zapis f = (0, 1, 4, 5) oznacza funkcj f(x, y, z) = x y z + x yz + xy z + xyz. Ka»da z liczb pojawiaj cych si po znaku oznacza jeden minterm. To jak on wygl da mo»na odczyta przeksztaªcaj c t liczb do systemu dwójkowego (0 = 000 (2), 1 = 001 (2), 4 = 100 (2), 5 = 101 (2) ). Liczba zmiennych jest domy±lna. 7.5 Minimalizacja ukªadów logicznych metod siatek (map) Karnaugha Omówili±my dziªanie siatek dla 3 i 4 zmiennych (tak»e z tzw. kombinacjami nadmiarowymi) Istniej siatki dla 5 i 6 zmiennych, ale s raczej niepraktyczne. 7.6 Metoda Quine'a-McCluskey'a Tej metody nie zd»yli±my na wykªadzie omówi. Pozostawiam jednak notatki, poniewa» na li±cie wiczeniowej umie±ciªem (nieobowi zkowe) zadanie polegaj ce na omówieniu metody. Przykªad. f = {2, 3, 5, 6, 7, 10, 11, 15} Zaczynamy od podgrupowania pod wzgl dem liczby niezanegowanych zmiennych implikantów odpowiadaj cych mintermom w niezminimalizowanej dysjunkcyjnej postaci f (lewa tabelka). Nast pnie dla ka»dej pary implikantów ró»ni cych si na dokªadnie jednej pozycji wpisujemy do 10

drugiej tabeli nowy implikant, eliminuj c zmienn, która rozró»nia dane implikanty (na jej pozycji piszemy -). Dla ka»dego implikantu, który udaªo si w ten sposób poª czy z jakim± innym stawiamy w pierwszej tabeli znak v. Zauwa»,»e szukaj c daj cych si poª czy implikantów wystarczy rozwa»a tylko s siednie grupy. Krok powtarzamy, uzyskuj c na podstawie drugiej tabeli tabel trzeci (imlikanty z dwoma kreskami). Usuwamy powtarzaj ce si z niej imlikanty. xyzt (2) 0010 v (3) 0011 v (5) 0101 v (6) 0110 v (10) 1010 v (7) 0111 v (11) 1011 v (15) 1111 v xyzt (2,3) 001- v (2,6) 0-10 v (2,10) -010 v (3,7) 0-11 v (6,7) 011- v (5,7) 01-1 (3,11) -011 v (10,11) 101- v (7,15) -111 v (11,15) 1011 v xyzt (2,3,6,7) 0-1- (2,3,10,11) -01- (2,6,3,7) 0-1- (2,10,3,11) -01- (3,7,11,15) 11 (3,11,7,15) 11 Zauwa»amy,»e w trzeciej tabeli nic ju» si nie da poª czy. Wypisujemy wszystkie implikanty, przy których nie postawili±my znaku v. Zauwa»,»e s to implikanty proste. W naszym przypadku: 01-1 (pokrywaj cy kombinacje 5 i 7), 0-1- (2,3,6,7) -01- (2,3,10,11), 11 (3,7,11,15). Tylko one b d brane pod uwag przy tworzeniu postaci minimalnej. W naszym przypadku wszystkie uzyskane implikanty s zasadnicze, czyli dla ka»dego z nich istenieje kombinacja wej±ciowa pokrywana tylko przez niego (np. dla piewrszego jest to kombinacja 5). Implikanty zasadnicze z denicji musz znale¹ si w wyniku. Uzyskujemy ju» zatem odpowied¹: f = xyt + xz + yz + zt. W trudniejszych przykªadach mo»e si okaza,»e implikanty zasadnicze nie pokrywaj wszystkich wej± (a mo»e nawet w ogóle nie ma implikantów zasadniczych). Wtedy potrzebna jest dodatkowa procedura. Zostaªa ona omówiona na wykªadzie. Tak naprawd, w przypadkach z jakimi spotkamy si na wiczeniach taka procedura nie jest nieb dna - zazwyczaj ªatwo zgadn minimalny zestaw implikantów i uzasadni,»e mniejszego rzeczywi±cie nie ma. 7.7 Uwaga o zªo»ono±ci Problem dla zadanej w postaci tabeli wej± funkcji sprawd¹, czy istnieje wyra»enie w postaci dysjunkcyjnej zawieraj ce najwy»ej k skªadników jest NP-zupeªny (zauwa»,» rozmiarem wej±cia jest tutaj 2 n, gdzie n to liczba zmiennych). Dlatego, dla du»ej liczby wej± stosuje si algorytmy heurystyczne znajduj ce szybko przybli»one rozwi zania. Trudna okazuje si gªównie cz ± druga, czyli procedura znajdowania minimalnego zestawu implikantów prostych. 11