Algebra Boole'a i logika cyfrowa

Podobne dokumenty
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

Algebra Boole'a i logika cyfrowa

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

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

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

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

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

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

Metodydowodzenia twierdzeń

Indeksowane rodziny zbiorów

Technika cyfrowa Synteza układów kombinacyjnych

Arytmetyka liczb binarnych

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

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

Informacje pomocnicze

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

Zbiory i odwzorowania

Cyfrowe Ukªady Scalone

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

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

Tranzystor JFET i MOSFET zas. działania

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

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,

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.

Architektura komputerów Wykład 2

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

Rachunek zda«. Relacje. 2018/2019

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

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

Maªgorzata Murat. Modele matematyczne.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Wykªad 4. Funkcje wielu zmiennych.

Architektury systemów komputerowych

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

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

Wyra»enia logicznie równowa»ne

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Metody dowodzenia twierdze«

Macierze i Wyznaczniki

Ukªady równa«liniowych

Elektronika i techniki mikroprocesorowe

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

2 Podstawowe obiekty kombinatoryczne

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

Algebra Boole a i jej zastosowania

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:

Matematyka dyskretna

Logika matematyczna (16) (JiNoI I)

Statystyka matematyczna - ZSTA LMO

Wykład 1. Informatyka Stosowana. 3 października Informatyka Stosowana Wykład 1 3 października / 26

Podstawy logiki i teorii zbiorów wiczenia

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

Metody numeryczne i statystyka dla in»ynierów

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

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

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

Wstęp do Techniki Cyfrowej i Mikroelektroniki

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

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Układy kombinacyjne 1

Lekcja 9 Liczby losowe, zmienne, staªe

Ekstremalnie fajne równania

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Elementy geometrii w przestrzeni R 3

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

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

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

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

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Model obiektu w JavaScript

Listy i operacje pytania

1. Operacje logiczne A B A OR B

Funkcje wielu zmiennych

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

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

Lekcja 5 Programowanie - Nowicjusz

Algorytmiczna teoria grafów

Liczby zmiennoprzecinkowe

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

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

Matematyka dyskretna dla informatyków

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Automatyzacja i robotyzacja procesów produkcyjnych

Lekcja 12 - POMOCNICY

I. LOGICZNE STRUKTURY DRZEWIASTE

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, Instytut Matematyki Uniwersytetu Warszawskiego

Prawa rachunku zbiorów to takie wyra enia j zyka tego rachunku, które staj si zdaniami prawdziwymi przy ka dym podstawieniu nazw zbiorów za zmienne.

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

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

Algorytmy zwiazane z gramatykami bezkontekstowymi

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

Transkrypt:

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

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 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 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»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. 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 najlepsze 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, 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. 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 2

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

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

Rysunek 8: Póªsumator Rysunek 9: Sumator (carry-look-ahead), czy wybór przeniesienia (carry-select. Poprzez urównoleglenie pewnych operacji i zredukowanie 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