Algebra Boole'a i logika cyfrowa
|
|
- Bartosz Kurek
- 6 lat temu
- Przeglądów:
Transkrypt
1 Algebra Boole'a i logika cyfrowa 4, 11, 18, 25 X, 8, 22, 29 XI 2010 Literatura do wykªadu 1. David Patterson, John Hennessy, Computer Organization and Design, 4th Edition, Morgan Kaufmann David Harris, Sarah Harris, Digital Design and Computer Architecture, Morgan Kaufmann William Stallings, Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajno±, WNT 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
2 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 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
3 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: (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
4 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
5 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
6 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
7 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
8 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 Zatem je±li 0000 reprezentuje liczb 0, a 0001 liczb 1, to 1111 powinno by reprezentacj -1. Ile trzeba doda do 0101, aby 8
9 otrzyma 0000? Odpowied¹: 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 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
10 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
11 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, której tu nie omówiamy. 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. 8 Ukªady sekwencyjne Wszystkie do tej pory poznane ukªady logiczne byªy ukªadami kombinacyjnymi, tzn. warto±ci na wyj±ciach ukªadu zale»aªy tylko i wyª cznie od warto±ci na wej±ciach. Aby skonstruowa pewne elementy komputera b dziemy potrzebowali ukªadów sekwencyjnych. Ukªady takie b d miaªy swój wewn trzny stan. Kolejny stan ukªadu oraz jego wyj±cie zale»y nie tylko od tego co jest na wej±ciach, ale tak»e od poprzedniego stanu. 11
12 8.1 Podstawowe ukªady sekwencyjne Przerzutnik S-R Ka»dy przerzutnik ma dwa mo»liwe stany wewn trzne: 1 i 0. Jest zatem rodzajem pami ci 1- bitowej. Stan ukªadu jest reprezentowany przez wyj±cie Q. Zaznaczamy zazwyczaj tak»e wyj±cie dopeªniaj ce Q. Przerzutnik S-R ma dwa wyj±cia S i R pozwalaj ce ustawia Q odpowiednio na 1 i 0. Rys. 14 przedstawia realizacj przerzutnika S-R za pomoc bramek NOR i jego tabel przej±. Peªna tabela przej± przedstawiona jest poni»ej: S R Q n Q n Kombinacja wej± 10 ustawia zatem przerzutnik w stanie 1, kombinacja 01 - w stanie 0, 00 jest kombinacj podtrzymuj c stan ukªadu, a 11 - kombinacj zabronion (co si dzieje jak podamy takie wej±cie?) Rysunek 14: Przerzutnik S-R zrealizowany za pomoc bramek NOR Przedstawiony ukªad ma pewn wad : po zmianie wej±cia ukªad od razu dziaªa i zmienia wyj±cie. Zachowanie takie mo»e by nieporz dane w systemie komputerowym - chcieliby±my synchronizowa dziaªanie ró»nych jego elementów. W tym celu u»yjemy sygnaªu zegarowego (na rysunkach oznaczanego zazwyczaj literk C). Sygnaª taki na zmian co pewnien okres czasu (poªow cyklu zegarowego) zmienia si z 0 na 1 i odwrotnie. Zegar o cz stotliwo± i 1GHz zmienia swój stan z 0 na 1 miliard razy na sekund. Pierwsze usprawnienie przerzutnika S-R b dzie polegaªo na podª czeniu go do sygnaªu zegarowego i zezwoleniu na zmian stanu tylko w czasie gdy sygnaª zegarowy jest równy 1. Wystarczy w tym celu poª czy wej±cia S i R z sygnaªem zegarowym bramkami AND (mo»emy synchronizowa wiele przerzutników lub innych ukªadów komputera podª czaj c je do tego samego sygnaªu zegarowego). Uzyskany ukªad nazywany jest przerzutnikiem S-R sterowanym poziomem sygnaªu. Ukªad zachowuje si ju» troch lepiej, ale wci» nie jest idealny: w czasie jednego cyklu zegarowego stan Q mo»e zmieni si wielokrotnie. Spróbujemy wymusi, aby nasz przerzutnik 12
13 mógª reagowa zmian stanu tylko raz w czasie pojedynczego cyklu zegarowego. Idea polega na u»yciu poª czonych szeregowo dwóch przerzutników S-R sterowanych poziomem sygnaªu i podpi ciu do drugiego negacji sygnaªu zegarowego pierwszego przerzutnika. Odpowiedni rysunek i analiza dziaªania zostaªy przedstawione na wykªadzie. Uzyskany ukªad b dziemy nazywali przerzutnikiem S-R sterowanym zboczem (opadaj cym) sygnaªu. Symbol synchronizowanego przerzutnika S-R sterowanego zboczem przedstawia rysunek 15. W przypadku przerzutnika sterowanego poziomem sygnaªu trójk cik zast powany jest zazwyczaj póªokr giem. Rysunek 15: Symbol synchronizowanego przerzutnika S-R Przerzutniki mog by czasem sterowane sygnaªem innego rodzaju ni» typowy sygnaª zegarowy. Zobaczymy pó¹niej,»e mo»e by to czasem wygodne Inne przerzutniki Przerzutnik J-K to nieco usprawniona wersja przerzutnika S-R rozwi zuje problem zabronionego wej±cia 11. Symbol, tabel przej± oraz realizacj za pomoc przerzutnika S-R przedstawia rysuneke 16. Rysunek 16: Przerzutnik J-K Przerzutnik D (przerzutnik danych) to rzeczywisty odpowiednik jednostki pami ci przechowuj cej pojedynczy bit informacji. Ma jedno wej±cie D, które mówi co powinno by zapami tane. Symbol, tabel przej± oraz realizacj za pomoc przerzutnika S-R przedstawia rysunek Przykªady ukªadów sekwencyjnych Rejestr Rejestry sªu» do przechowywania danych, np. liczb. Na rysunku 18 przedstawiamy rejestr 4- bitowy. W praktyce rejestry s wi ksze (16, 32, 64 bity). Sygnaª zegarowy synchronizuj cy caªy ukªad zapewnia,»e wszystkie bity rejestru b d modykowane w tym samym czasie. Rzeczywiste rejestry maj jeszcze dodatkowe linie zasilania i uziemienia oraz linie zerowania. Pomijamy je w naszych rozwa»aniach. 13
14 Rysunek 17: Przerzutnik D Rysunek 18: Rejestr 4-bitowy i jego blokowe oznaczenie Zestaw rejestrów Buduj c procesor realizuj cy list rozkazów MIPS u»yjemy m.in. zestawu (pliku, ang. register le) 32 rejestrów 32-bitowych. Na rysunku 19 przestawiamy schemat blokowy takiego zestawu. Ukªad ma nast puj ce wej±cia: dwa wej±cia pi ciobitowe, wskazuj ce numery rejestrów, które maj by odczytane ( Read register number 1, Read register number 2), pi ciobitowe wej±cie, wskazuj ce numer rejestru, który ma by zapisany (Write register), 32-bitow dan, która ma by zapisana (Write data), 1-bitowy sygnaª zezwolenia na zapis (Write). Ukªad umieszcza na dwóch 32-bitowych wyj±ciach dane odczytane z rejestów o wskazywanych numerach. Dodatkowo, je±li sygnaª Write jest ustawiony na 1 ukªad zapisuje do rejestru o wskazywanym numerze dane z wej±cia Write data. Na rysunkach 20 i 21 przedstawiamy realizacj odpowiednio cz ±ci odpowiedzialnych za odczyt oraz za zapis. 14
15 Rysunek 19: Zestaw rejestrów Rysunek 20: Ukªady odpowiedzialne za odczyt rejestrów Licznik binarny Licznik binarny to ukªad, który w takt zegara przyjmuje kolejno ±ci±le okre±lone stany (zazwyczaj sekwencje kolejnych liczb binarnych). Rozwa»my sekwencje: 0000, 0001, 0010, 0011,..., 1111, 0000, 0001,... Najmniej znacz cy bit zmienia si w ka»dym cyklu zegarowym, kolejne bity: dokªadnie wtedy, gdy wszystkie bity na prawo od nich s jedynkami. Najpro±ciej zrealizowa tego typu ukªad z przerzutników J-K. Wersja asynchroniczna. Na wej±cia J i K ka»dego z przerzutników podajemy 1 (na staªe). Na wej±cie zegarowe pierwszego przerzutnika podajemy sygnaª zegarowy; na wej±cie zegarowe ka»dego z pozostaªych przerzutników: wyj±cie Q poprzedniego przerzutnika. Dlaczego taki ukªad jest nazywany asynchronicznym (rozwa» przej±cie ze stanu 1111 do 0000)? 15
16 Rysunek 21: Ukªady odpowiedzialne za zapis rejestru Wersja synchroniczna. Na rysunku 22 przedstawiona jest realizacja 4-bitowego licznika synchronicznego. Zmiana stanu przerzutników nast puje w nim równolegle. Licznik zaczyna pracowa po ustawieniu linii count enable na 1. Dodatkowo wyj±cie output carry pozwala wychwyci moment, gdy licznik doszedª do stanu Na kolejnym wykªadzie poznamy algorytm pozwalaj cy konstruowa liczniki oraz nieco bardziej skomplikowane ukªady sekwencyjne. Rysunek 22: Licznik synchroniczny 16
17 9 Projektowanie ukªadów sekwencyjnych W tym rozdziale opowiemy o konstruowaniu ukªadów, których wyj±ciem s po prostu wyj±cia przerzutników a wej±cia nie ma. Problem projektowania zilustrujemy konstruuj c krok po kroku synchroniczny licznik 3-bitowy (przykªad pochodzi z ksi»ki Stallingsa). U»yjemy przerzutników J-K. Wyj±cia przerzutników oznaczymy przez Q A, Q B, Q C (Q C to bit najmniej znacz cy). W poni»szej tabeli przypominamy tablic wªasno±ci przerzutnika J-K: J K Q t Q t Q t Tabel mo»na przepisa do poni»eszej postaci (tzw. tablica wzbudzania): Q t J K Q t d d 1 1 d d 0 1 Posªuguj c si tablic wzbudzania konstruujemy teraz tablic prawdy wi» c wej±cia J,K z wyj±ciami. Tablica przedstawiona jest poni»ej: Q A Q B Q C Ja Ka Jb Kb Jc Kc d 0 d 1 d d 1 d d d d 0 1 d d d 1 d d 0 0 d 1 d d 0 1 d d d 0 d 0 1 d d 1 d 1 d 1 Rozwa»amy przej±cie z pierwszego do drugiego wiersza: chcemy,»eby warto±ci Q A i Q B pozostaªy równe 0, a warto± Q C ma si zmieni na 1 przy kolejnym impulsie zegarowym. Wpisujemy odpowiednie warto±ci do kolumn Ja, Ka,.... Analogicznie post pujemy z kolejnymi wierszami. Teraz znajdujemy wyra»enia boolowskie dla wyj± Ja, Ka,... (funkcje Q A, Q B, Q C ). Mo»emy u»y metody siatek Karnaugha. Powinni±my otrzyma : Ja=Q B Q C, Ka=Q B Q C, Jb=Q C, Kb=Q C, Jc=1, Kc=1. 10 Automaty Moore'a i Mealy'ego Licznik synchroniczny z poprzedniego rozdziaªu nale»y do klasy ukªadów nazywanych synchronicznymi automatami Moore'a. W ogólnym przypadku kolejny stan przerzutników automatu Moore'a zale»e mo»e nie tylko od poprzedniego stanu, ale tak»e od wej± ukªadu. Dodatkowo wyj±cia ukªadu mog by funkcj stanu przerzutników (a nie po prostu wyj±ciami przerzutników tak jak w naszym liczniku). Jeszcze ogólniejsz klas ukªadów s automaty Mealy'ego: podobnie jak w automatach Moore'a stan zale»y od wej± i poprzedniego stanu, ale wyj±cia s funkcj stanu i wej±. 17
18 Na wykªadzie przedstawiªem konstrukcj przykªadowego automatu w wersji Mealy'ego (algorytm konstrukcji jest naturalnym roszerzeniem algorytmu konstrukcji licznika z poprzediego rozdziaªu) i omówiªem zasadnicze ró»nice w funkcjonowaniu i budowie automatów Moore'a i Mealy'ego. 11 Mno»enie maszynowe liczb w naturalnym kodzie binarnym 11.1 Mno»enie w cyklu dodaj-przesu«najpierw przyjrzymy si mno»eniu liczb nieujemnych. Na rysunku 23 przedstawiamy schemat ukªadu symuluj cego mno»enie pisemne. Bierzemy pierwsz od prawej cyfr mno»nika Q. Je±li napotkamy jedynk to dodajemy mno»n M do rejestru A. Nast pnie przesuwamy bity ci gu rejestrów CAQ o jeden w prawo. Ko«cowy wynik zawarty jest w rejestrach AQ. Oczywi±cie je±li dane wej±ciowe s liczbami n-bitowymi to wynik daje si zapisa na 2n-bitach. Rysunek 23: Schemat blokowy ukªadu mno» cego oraz przykªad oblicze«: Oczywi±cie taki schemat mno»enia nie dziaªa w przypadku reprezentacji uzupeªnie«do dwóch 18
19 i liczb ujemnych. Najprostsze rozwi zanie tego problemu: przed mno»eniem przeksztaªci obydwie liczby na liczby dodatnie, przemno»y i na koniec, je±li wej±ciowe liczby miaªy ró»ne znaki, zamieni wynik na ujemny. Nie jest to sposób zbyt elegancki. Mo»emy za to u»y algorytmu Bootha (o którym za chwil ) Mno»enie: Array multiplier Wykonuj c pewne operacje równolegle mo»emy uzyska caªkowity czas mno»enia liniowy wzgl dem n (algorytm z poprzedniego podrozdziaªu ma oczywi±cie czas proporcjonalny do kwadratu n: mamy n cykli dodaj-przesu«, koszt dodawania jest liniowy). Pomysª jest prosty: u»ywamy jednej bramki AND na pomno»enie ka»dego bitu mno»nika przez ka»dy bit mno»nej (wszystkie bramki dziaªaj równolegle), a nast pnie sumujemy uzyskane iloczyny cz ±ciowe (u»ywaj c odpowiedniej tablicy sumatorów). Oczywi±cie zysk czasowy uzyskujemy kosztem zªo»ono±ci ukªadu: u»yta liczb bramek jest proporcjonalna do kwadratu n. Szczegóªy zostaªy omówione na wykªadzie 11.3 Mno»enie: algorytm Booth'a Algorytm Bootha, oprócz tego,»e b dzie dziaªaª poprawnie dla reprezentacji uzupeªnie«do dwóch (w jednakowy sposób dla liczb dodatnich jak i ujemnych), to w dodatku b dzie potraª przeskakiwa szybko zarówno nad ci gami zer jak i ci gami jedynek w mno»niku (przedstawiony poprzednio algorytm dla liczb dodatnich dobrze radzi sobie tylko z zerami wtedy wykonuje jedynie operacj przesuni cia, bez sumowania; oczywi±cie aby wykorzysta t wªasno± nale»aªoby odpowiednio zaimplementowa ten algorytm sprz towo - w rozwi zaniu sugerowanym przeze mnie na wykªadzie czas dziaªanie caªego ukªadu jest niezale»ny od tego jakie liczby s na wej±ciu) ). Prosta wªasno± jaka jest tu wykorzystwywana: ci g jedynek na pozycjach o wagach 2 u do 2 v odpowiada warto±ci 2 u+1 2 v. Np ma warto± = 14. Zaªó»my,»e danymi wej±ciowymi s M = b n 1 b n 2... b 1 b 0 oraz Q = q n 1 q n 2... q 1 q 0. Przyjmijmy q 1 = 0 oraz S = 0. Przegl damy kolejne bity q zaczynaj c od prawej strony (dla i = 0, 1,... n 1). Je±li q i = q i 1 nie robimy nic. Je±li q i = 1 oraz q i 1 = 0 (pierwsza jedynka) odejmujemy od S liczb M 2 i. Je±li q i = 0 oraz q i 1 = 1 (poprzednia jedynka byªa ostatnia) dodajemy do S liczb M 2 i. Dlaczego algorytm dziaªa, je±li dane podamy w reprezentacji uzupeªnie«do 2? W rzeczywisto±ci wyliczamy warto± nas puj cego wyra»enia: (q 1 q 0 ) M (q 0 q 1 ) M (q n 2 q n 1 ) M 2 n 1, które mo»na zapisa jako M ( q n 1 2 n 1 + n 2 q i 2 i ). A wyra»enie w nawiasie to dokªadnie warto± liczby Q (przypomnij sobie jakie wagi maj bity w reprezentacji uzupeªnie«do 2). Na rysunku 24 przedstawiamy blokowy zapis algorytmu Booth'a w wersji przeznaczonej do implementacji sprz towej. Mno»nik i mno»na umieszczane s w rejestach Q i M. Dodatkowo u»ywamy jednobitowego rejestru Q 1. Logicznie rejestry uªo»one s w ci g AQQ 1. Uwaga: przesuni cie jakie wykonujemy, gdy kolejne bity s jednakowe jest przesuni ciem arytmetycznym: je±li najbardziej znacz cy bit kopiowanej liczby jest równy 1, to zwalniane przez niego pole uzupeªniamy równie» jedynk, je±li jest równy 0 - uzupeªniamy zerem (sprawdzili±my na wykªadzie,»e dopisanie kopii najbardziej znacz cego bitu z lewej strony liczby nie zmienia jej warto±ci w reprezentacji uzupeªnie«do dwóch). Na rysunkach 25 i 26 przedstawione s przykªady dziaªania algorytmu Bootha. W pewnych sytuacjach algorytm Booth'a mo»e by gorszy od prostego algorytmu przedstawionego na pocz tku. Rozwa»my ci g bitów W algorytmie Booth'a musimy wykona i=0 19
20 Rysunek 24: Algorytm Booth'a Rysunek 25: Przykªad zastosowania algorytmu Booth'a a» osiem dodawa«i odejmowa«, podczas gdy algorytm prosty wymaga tylko czterech. Istniej usprawnienia algorytmu Booth'a gwaratnuj ce,»e dodawa«i odejmnowa«b dzie najwy»ej n/2. 20
21 Rysunek 26: Przykªady zastosowania algorytmu Booth'a 11.4 Array multiplier dla reprezentacji uzupeªnie«do 2 Wyja±nili±my na wykªadzie dlaczego poni»szy schemat array multipliera dla reprezentacji uzupeªnie«do 2 dziaªa poprawnie (- oznacza tu negacj ): x x x x x x x x x x x x -x x x x -x x x x 1 x -x -x -x -x Usprawnienia ukªadów realizuj cych dodawanie i odejmowanie Wiemy ju»,»e obydwie operacje realizowane mog by przez ten sam ukªad logiczny. Znamy te» ju» jego najprostsz implementacj (sumator kaskadowy). Rzucimy teraz okiem na dwa rozwi zania usprawniaj ce jego dziaªanie: podgl d przeniesienia (carry-lookahead) oraz wybór przeniesienia (carry-select) Carry lookahead Na jednym z poprzednich wykªadów przedstawili±my ukªad sumatora kaskadowego. Wad tego ukªadu byª dªugi czas oblicze«: sumator dodaj cy i-te bity liczb wej±ciowych dawaª poprawny wynik dopiero po tym jak otrzymaª poprawne przeniesienie z sumatora i 1. Zakªadaj c,»e pojedynczy sumator podaje poprawne przeniesienie po czasie t, caªe n-bitowe dodawanie trwa 21
22 mniej wi cej nt. Nieco dokªadniej: zaªó»my,»e ka»dy poziom bramek logicznych powoduje opó¹nienie o 1 jednostk czasu (uproszczenie!). Wtedy ka»dy sumator produkuje wynik w czasie 2 (dwie bramki XOR), a przeniesienie w czasie 3 (XOR, AND, OR). Je»eli przeniesienie zapiszemy jako c i+1 = a i b i + a i c i + b i c i dostajemy przeniesienie w czasie 2. U»yjmy tej zmodykowanej wersji. Jaki jest caªkowity czas oblicze«sumatora, np. 64-bitowego: 2 64 = 128. Jednym z pomysªów na ulepszenie ukªadu sumatora kaskadowego jest wyliczenie przeniesie«dla kolejnych sumatorów szybciej, bez czekania na obliczenia poprzednich. Oznaczmy g i := a i b i (generowanie przeniesienia na i-tym poziomie) oraz p i := a i + b i (propagowanie poprzedniego przeniesienia). Mo»emy zapisa : c i+1 = g i + p i c i. I dalej c i+i = g i + p i (g i 1 + p i 1 c i 1 ). A» do: c i+1 = g i + p i g i 1 + p i p i 1 g i p i p i 1 p i 2... p 1 p 0 c 0. Zatem mo»emy ka»de przeniesienie wyliczy w czasie staªym (trzy bramki opó¹nienia). Caªy 64-bitowy sumator mo»e dziaªa wtedy w czasie 1+2+2=5 (wyliczenie p i oraz g i + wyliczenie c i + dziaªanie pojedynczego sumatora). Oczywisty problem: liczba wej± bramek AND i OR - potrzebujemy bramek o 64 wej±ciach. Niepraktyczne. Pierwsze rozwi zanie: zbudujmy ukªad dziaªaj cy tak jak opisano wy»ej dla 4-bitów i traktujmy go jako blok. Przeniesienia mi dzy blokami podajemy w standardowy sposób. Zauwa»my,»e drugi blok dostaje przeniesienie po czasie 5, trzeci po czasie 9 (p i i g i liczy si wcze±niej), itd. czwarty po 13, itd. Ostatni 16 ma przeniesienie wej±ciowe po czasie 61. Caªkowity czas: 65. Wystarcz w tym przypadku bramki 4-wej±ciowe. Kolejny pomysª: wprowad¹my funkcje propagowania P i G wy»szego poziomu (jeden Blok wy»szego poziomu b dzie si skªadaª z czterech bloków ni»szego): P 0 = p 3 p 2 p 1 p 0 - blok 0 propaguje przeniesienie, je±li ka»dy jego bit propaguje. G 0 = g 3 + p 3 g 2 + p 3 p 2 g 1 + p 3 p 2 p 1 g 0 - blok 0 generuje przeniesienie je±li generuje je który± z jego bitów i propagowane jest ono na wyj±cie bloku. Analogicznie: P 1 = p 7 p 6 p 5 p 4 oraz G 1 = g 7 + p 7 g 6 + p 7 p 6 g 5 + p 7 p 6 p 5 g 4, i tak samo dla i = 2, 3. Teraz: c 4 = G 0 + P 0 c 0, c 8 = G 1 + P 1 c 4, c 12 = G 2 + P 2 c 8. Podobnie jak poprzednio rozwijamy te wzory podstawiaj c odpowiednie wyra»enia pod zmienne c i pojawiaj ce sie po lewych stronych równo±ci. Mo»emy wprowadzi jeszcze jeden poziom i wylicza przeniesienia pomi dzy Blokami drugiego poziomu: c 16, c 32, c 48. Stosuj c t technik dla sumatorów n-bitowych uzyskujemy w efekcie sumator o czasie dziaªania rz du log n Carry-select Dzielimy dodawane liczby na kilka cz ±ci. Ka»d z cz ±ci dodajemy dwa razy (za pomoc dwóch identycznych ukªadów dziaªaj cych równolegle): raz z przeniesieniem wej±ciowym równym jeden, a raz równym 0. Wyj tkiem jest oczywi±cie cz ± najmniej znacz ca, która jeszcze nie ma przeniesienia wej±ciowego (lub jest ono znane). Odpowiedaj ce sobie wyj±cia dubluj cych si ukªadów ªaczone s multiplekserem, do którego sygnaªem wybieraj cym jest przeniesienie z poprzedniej cz ±ci. Podziaª na równe cz ±ci nie jest optymalny: w praktyce kolejne bloki s nieco dªu»sze od poprzednich. I tak np. w przypadku 16 bitów standardowe rozmiary bloków to 1,2,3,4,6. Uzyskuje si wtedy czas dziaªania proporcjonalny do (? - zadanie na wiczenia), przy mniej wi cej 2-3-krotnym wzro±cie liczby bramek logicznych w ukªadzie. 22
23 13 Liczby zmiennoprzecinkowe 13.1 Wprowadzenie Najprostszym sposobem reprezentowania liczb rzeczywistych byªaby reprezentacja staªopozycyjna: zakªadamy,»e mamy n bitów na cz ± caªkowit oraz m na cz ± uªamkow. Wad takiego rozwi zania jest stosunkowo niewielki przedziaª, z którego liczby mo»emy reprezentowa : cz sto podczas oblicze«u»ywamy zarówno warto±ci bardzo du»ych jaki i bardzo maªych. Dlatego w komputerach przechowuje si liczby rzeczywiste w postaci zmiennoprzecinkowej (ang. oating point): ±m b e. Pami tamy osobno znak, mantys m oraz wykªadnik e. Podstawa b jest ustalona (zazwyczaj 2) i nie jest jawnie przechowywana. W konkretnej reprezentacji na mantys i wykªadnik przeznaczone s odpowiednie, ustalone liczby bitów. Zatem potramy reprezentowa sko«czon liczb warto±ci. Im dªu»sza mantysa, z tym wi ksz dokªadno±ci mo»emy reprezentowa liczby. Z kolei im dªu»szy wykªadnik, tym wi kszy przedziaª z jakiego liczby potramy reprezentowa. Ka»d liczb mo»na zapisa w postaci zmiennopozycyjnej na wiele sposobów. W konkretnych reprezentacjach ustala si posta jednoznaczn, tzw. znormalizowan. Zazwyczaj przyjmuje si,»e przecinek w mantysie ustawiony jest bezpo±rednio przed pierwsz cyfr znacz c lub za ni. W przypadku podstawy reprezentacji b = 2 pierwsza cyfra znacz ca 1 nie jest zazwyczaj jawnie pami tana. Mówimy wtedy o ukrytej 1. Zauwa»my,»e przy takim zaªo»eniu nie mo»na reprezentowa liczby 0. Dlatego 0 jak i kilka innych warto±ci traktowanych jest wyj tkowo i przypisywane s im specjalne ci gi bitów Prosta modelowa reprezentacja Rozwa»my prost modelow reprezentacj, w której liczby pami tane s jako ci gi pi ciobitowe zeemm, gdzie z oznacza bit znaku (0 - plus, 1 minus), ee to dwubitowy wykªadnik pami tany z przesuni ciem o 2 (tzn. liczba x jest pami tana jako naturalny kod binarny liczby x+2; reprezentacja z przesuni ciem jest standardem dla wykªadników), a mm to dwa bity znormalizowanej mantysy. Zakªadamy,»e pierwsza jedynka w mantysie jest przed przecinkiem i jest ukryta, zatem np. bity 01 reprezentuj mantys Rysunek 27: Liczby reprezentowalne w naszym modelu Reprezentowalne warto±ci przedstawione s na rysunku 27. Najmniejsza reprezentowalna warto± dodatnia to 1 4 wstawiamy najmniejsz mo»liw mantys : 1.00 oraz najmniejszy wykªadnik: 2. Odpowiedni ci g bitów to Podobnie, najwi ksz warto±ci jest : Zauwa»my,»e pomi dzy reprezentowalnymi liczbami pojawiaj si ró»ne odst py im wi ksze 1 warto±ci, tym wi ksze odst py. I tak najmniejszy odst p wynosi 16 (gdy wykªadnik jest równy -2 i zmieniamy mantys o 1 4, a najwi kszy 1 2, gdy wykªadnik jest równy 2. Za to mniej wi cej staªa jest wzgl dna odlegªo± : stosunek warto±ci liczby do warto±ci jej s siada. Zatem mo»emy powiedzie,»e w naszej reprezentacji mamy mniej wi cej staªy wzgl dny bª d przybli»enia. Jeszcze jedn charakterystyczn cech reprezentacji zmiennopozycyjnej (znormalizowanej) jest stosunkowo du»y odst p pomi dzy zerem a pierwsz reprezentowaln warto±ci. Przedziaª 23
24 pomi dzy zerem a pierwsz warto±ci reprezentowaln nazywany jest niedomiarem (odpowiednio dodatnim lub ujemnym). Mówimy tak»e o nadmiarze (równie» dodatnim lub ujemnym) jest to przedziaª powy»ej (poni»ej) najwi kszej (najmniejszej) reprezentowalnej warto±ci. O arytmetyce zmiennopozycyjnej b dziemy mówi nieco dalej, teraz spróbujmy wykona w naszej reprezentacji proste dziaªanie a + b dla a = 0.7 i b = 1.8. Przeksztaª my nasze uªamki na system binarny: a = , b = Poniewa» mo»emy pami ta tylko dwa bity mantysy, to ju» na pocz tku tracimy precyzj. Wyrównujemy wykªadniki zwi kaszaj c pierwszy do 0: a = Ponownie tracimy precyzj (w rzeczywisto±ci mo»e by ciut lepiej, bo obliczenia po±rednie wykonywane s zazwyczaj na rozszerzonej reprezentacji zawieraj cej dodatkowe bity). Dodajemy mantysy: a + b = Normalizujemy wynik otrzymuj c a + b = , czyli Zauwa»,»e dokªadny wynik dodawanie to 2.5 i jest on dokªadnie reprezentowalny w naszym modelu. Podobne bª dy napotykamy w prawdziwych implementacjach arytmetyki zmiennoprzecinkowej. Oto prosty przykªad ilustruj cy bª d wynikaj cy z braku dokªadnej reprezentacji dla pewnych liczb. Uruchom nast puj ce programy w j zyku C: int main{} { float suma=0; long i; for (i=0; i<100000; ++i) suma=suma+0.6; } printf{"%f", suma); int main{} { float suma=0; long i; for (i=0; i<100000; ++i) suma=suma+0.5; } printf{"%f", suma); W pierwszym przypadku wynik odbiega od oczekiwanego, w drugim jest poprawny. Wynika to z faktu,»e 0.6, w przeciwie«stwie do 0.5 nie ma dokªadnej reprezentacji w systemie dwójkowym (z ograniczon liczb bitów po przecinku) Standard IEEE 754 Norma IEEE 754 jest powszechnie obowi zuj cym standardem w jakim przechowywane s we wspóªczesnych komputerach liczby zmiennopozycyjne. Oprócz formatu danych okre±la on te» pewne zasady wykonywania oblicze«arytmetycznych, dzi ki czemu mo»na zaªo»y,»e ten sam program, napisany np. w j zyku C, uruchomiony na ró»nych maszynach da te same rezultaty. 24
25 Mamy dwa formaty: 32-bitowy pojedynczej precyzji (float w C) i 64-bitowy (podwójnej precyzji) (double w C). Dodatkowo deniowane s formaty pomocnicze: rozszerzony pojedynczej precyzji i rozszerzony podwójnej precyzji. Sªu» one do wykonywania oblicze«po±rednich. Format pojedynczej precyzji Mantysa: 23 bity (znormalizowana, ukryta 1 przed przecinkiem), wykªadnik: 8 bitów (przesuni cie 127), zakres liczb dodatnich: 10 38, , liczba reprezentowalnych warto±ci: 1, Format podwójnej precyzji Mantysa: 52 bity (znormalizowana, ukryta 1 przed przecinkiem), wykªadnik: 11 bitów (przesuni cie 1023), zakres liczb dodatnich: , , liczba reprezentowalnych warto±ci: 1, Niektóre sekwencje bitów s interpretowane w specjalny sposób. S to sekwencje z wykªadnikiem skªadaj cym si z samych zer lub samych jedynek: same 0 w wykªadniku, same zera w mantysie: reprezentuj 0 (dodatnie lub ujemne...) same 0 w wykªadniku, niezerowa mantysa: liczb zdenormalizowana (bit na lewo od przecinka jest zerem, wykªadnik wynosi -126 lub -1022); pomysª na redukcj odst pu pomi dzy zerem a najmniejsz dodatni (ujemn ) liczb reprezentowaln. same 1 w wykªadniku, same 0 w mantysie: plus lub minus niesko«czono± same 1 w wykªadnkiu, niezerowa mantysa: NaN (not a number) sytuacja wyj tkowa 14 Arytmetyka zmiennoprzecinkowa Ze wzgl du na zupeªnie inn reprezentacj za operacje arytemtyczne na liczbach zmiennopozycyjnych odpowiedzialne s zupeªnie inne obwody procesora ni» za operacje caªkowitoliczbowe Dodawanie i odejmnowanie 1. Wyrównywanie wykªadników 2. Dodawanie lub odejmnowanie mantys 3. Normalizowanie wyniku. 4. Zaokr glanie wyniku Mno»enie i dzielenie 1. Dodawanie lub odejmowanie wykªadników 2. Mno»enie lub dzielenie mantys, ustawianie znaku 3. Normalizowanie wyniku 4. Zaokr glanie Schemat ukªadu realizuj cego dodawanie przedstawiony jest na rysunku 28. Ukªad steruj cy (control) generuje sygnaªy steruj ce caªym procesem na podstawie ró»nicy wykªadników, a nast pnie wyniku dodawania mantys. 25
26 Rysunek 28: Schemat ukªadu dodaj cego liczby zmiennoprzecinkowe 26
Algebra Boole'a i logika cyfrowa
Algebra Boole'a i logika cyfrowa 7.X. 2009 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
Bardziej szczegółowoLiczby zmiennoprzecinkowe
Liczby zmiennoprzecinkowe 1 Liczby zmiennoprzecinkowe Najprostszym sposobem reprezentowania liczb rzeczywistych byªaby reprezentacja staªopozycyjna: zakªadamy,»e mamy n bitów na cz ± caªkowit oraz m na
Bardziej szczegółowoAlgebra Boole'a i logika cyfrowa
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
Bardziej szczegółowoAlgebra Boole'a i logika cyfrowa
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,
Bardziej szczegółowoLiczby zmiennopozycyjne. Kody Hamminga.
Liczby zmiennopozycyjne. Kody Hamminga. 1 Liczby zmiennopozycyjne 1.1 Wprowadzenie Najprostszym sposobem reprezentowania liczb rzeczywistych byªaby reprezentacja staªopozycyjna: zakªadamy,»e mamy n bitów
Bardziej szczegółowoAlgebra Boole'a i logika cyfrowa
Algebra Boole'a i logika cyfrowa 3 listopada 2011 Literatura do wykªadu 1. David Patterson, John Hennessy, Computer Organization and Design, 4th Edition, Morgan Kaufmann 2009. 2. David Harris, Sarah Harris,
Bardziej szczegółowoi, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_
Bardziej szczegółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowoArchitektury systemów komputerowych
zadanie: 1 2 3 4 5 6 7 Suma maks: 12 12 12 18 18 10 18 100 Imi i nazwisko: punkty: Architektury systemów komputerowych Egzamin, wersja A 6.II.2013 Do zdobycia jest 100 punktów. Przewidywana skala ocen:
Bardziej szczegółowoMetodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Bardziej szczegółowoCiaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1
Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
Bardziej szczegółowoPodstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Bardziej szczegółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
Bardziej szczegółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Bardziej szczegółowoLekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
Bardziej szczegółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowoCyfrowe Ukªady Scalone
Cyfrowe Ukªady Scalone Marcin Polkowski marcin@polkowski.eu 7 listopada 2007 Spis tre±ci 1 Wprowadzenie 2 2 Zadania ukªadu 2 3 Wykorzystane moduªy elektroniczne 3 3.1 7493 - cztero bitowy licznik binarny..................................
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoLekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoRzut oka na zagadnienia zwi zane z projektowaniem list rozkazów
Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów 1 Wst p Przypomnijmy,»e komputer skªada si z procesora, pami ci, systemu wej±cia-wyj±cia oraz po- ª cze«mi dzy nimi. W procesorze mo»emy
Bardziej szczegółowoMetody dowodzenia twierdze«
Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku
Bardziej szczegółowoUkªady równa«liniowych
dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast
Bardziej szczegółowoWykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Bardziej szczegółowoLista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014
Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole
Bardziej szczegółowoArchitektura komputerów Wykład 2
Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana
Bardziej szczegółowoRelacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Bardziej szczegółowoX WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)
X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru
Bardziej szczegółowoListy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoLab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Bardziej szczegółowoA = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowoMatematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej
Matematyka wykªad 1 Macierze (1) Andrzej Torój Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej 17 wrze±nia 2011 Plan wykªadu 1 2 3 4 5 Plan prezentacji 1 2 3 4 5 Kontakt moja strona internetowa:
Bardziej szczegółowoDokªadny jak komputer?
Dokªadny jak komputer? Czyli dlaczego 2 + 2 = 5? Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska http://math.uni.lodz.pl/~fulmanp/zajecia/prezentacja/festiwalnauki2013/ 17
Bardziej szczegółowoLekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoArchitektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.
Architektura komputerów ćwiczenia Zbiór zadań IV Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna. Wprowadzenie 1 1 fragmenty książki "Organizacja i architektura systemu
Bardziej szczegółowoPRZYPOMNIENIE 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:
Plan Spis tre±ci 1 Homomorzm 1 1.1 Macierz homomorzmu....................... 2 1.2 Dziaªania............................... 3 2 Ukªady równa«6 3 Zadania 8 1 Homomorzm PRZYPOMNIENIE Ka»d przestrze«wektorow
Bardziej szczegółowoO pewnym zadaniu olimpijskim
O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby
Bardziej szczegółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 2013/14 Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................
Bardziej szczegółowoXVII Warmi«sko-Mazurskie Zawody Matematyczne
1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych
Bardziej szczegółowoBramki logiczne Podstawowe składniki wszystkich układów logicznych
Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości
Bardziej szczegółowoKoszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.
Elementy cyfrowe i układy logiczne Wykład Legenda Kryterium kosztu realizacji Minimalizacja i optymalizacja Optymalizacja układów dwupoziomowych Tablica (mapa) Karnaugh a Metoda Quine a-mccluskey a Złożoność
Bardziej szczegółowoAutomatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder
Treść wykładów: utomatyka dr inż. Szymon Surma szymon.surma@polsl.pl http://zawt.polsl.pl/studia pok., tel. +48 6 46. Podstawy automatyki. Układy kombinacyjne,. Charakterystyka,. Multiplekser, demultiplekser,.
Bardziej szczegółowoMacierze i Wyznaczniki
Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,
Bardziej szczegółowoWykł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
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 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października
Bardziej szczegółowo1. Operacje logiczne A B A OR B
1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne
Bardziej szczegółowoPODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3
PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 29/2 SEMESTR 3 Rozwiązania zadań nie były w żaden sposób konsultowane z żadnym wiarygodnym źródłem informacji!!!
Bardziej szczegółowoAlgorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Bardziej szczegółowoMetody numeryczne i statystyka dla in»ynierów
Kierunek: Automatyka i Robotyka, II rok Wprowadzenie PWSZ Gªogów, 2009 Plan wykªadów Wprowadzenie, podanie zagadnie«, poj cie metody numerycznej i algorytmu numerycznego, obszar zainteresowa«i stosowalno±ci
Bardziej szczegółowoOperatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:
Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com
Bardziej szczegółowoDokªadny jak komputer
Dokªadny jak komputer Czy aby na pewno? Piotr Fulma«ski Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku Wydziaª Nauk Ekonomicznych i Informatyki piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/pwsz_dzien_otwarty_2017/dzien_otwarty_
Bardziej szczegółowoRozwi zania klasycznych problemów w Rendezvous
Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji
Bardziej szczegółowoMaszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne
Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )
Bardziej szczegółowoLEKCJA. TEMAT: Funktory logiczne.
TEMAT: Funktory logiczne. LEKCJA 1. Bramką logiczną (funktorem) nazywa się układ elektroniczny realizujący funkcje logiczne jednej lub wielu zmiennych. Sygnały wejściowe i wyjściowe bramki przyjmują wartość
Bardziej szczegółowoWyra»enia logicznie równowa»ne
Wyra»enia logicznie równowa»ne Denicja. Wyra»enia rachunku zda«nazywamy logicznie równowa»nymi, gdy maj równe warto±ci logiczne dla dowolnych warto±ci logicznych zmiennych zdaniowych. 1 Przykªady: Wyra»enia
Bardziej szczegółowoLekcja 5 Programowanie - Nowicjusz
Lekcja 5 Programowanie - Nowicjusz Akademia im. Jana Dªugosza w Cz stochowie Programowanie i program wedªug Baltiego Programowanie Programowanie jest najwy»szym trybem Baltiego. Z pomoc Baltiego mo»esz
Bardziej szczegółowoArytmetyka binarna - wykład 6
SWB - Arytmetyka binarna - wykład 6 asz 1 Arytmetyka binarna - wykład 6 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Arytmetyka binarna - wykład 6 asz 2 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2
Bardziej szczegółowoVincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,
Bardziej szczegółowoOpis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej
Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi
Bardziej szczegółowoWst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych
Bardziej szczegółowoLekcja 12 - POMOCNICY
Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.
Bardziej szczegółowoZadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Bardziej szczegółowoistnienie elementu neutralnego dodawania (zera): 0 K a K a + 0 = a, istnienie elementu neutralnego mno»enia (jedynki): 1 K a K a 1 = a,
Ciaªo Denicja. Zbiór K z dziaªaniami dodawania + oraz mno»enia (których argumentami s dwa elementy z tego zbioru, a warto±ciami elementy z tego zbioru) nazywamy ciaªem, je±li zawiera co najmniej dwa elementy
Bardziej szczegółowoWybrane poj cia i twierdzenia z wykªadu z teorii liczb
Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych
Bardziej szczegółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Bardziej szczegółowoIndeksowane rodziny zbiorów
Logika i teoria mnogo±ci, konspekt wykªad 7 Indeksowane rodziny zbiorów Niech X b dzie przestrzeni zbiorem, którego podzbiorami b d wszystkie rozpatrywane zbiory, R rodzin wszystkich podzbiorów X za± T
Bardziej szczegółowoWprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
Bardziej szczegółowoInformacje pomocnicze
Funkcje wymierne. Równania i nierówno±ci wymierne Denicja. (uªamki proste) Wyra»enia postaci Informacje pomocnicze A gdzie A d e R n N (dx e) n nazywamy uªamkami prostymi pierwszego rodzaju. Wyra»enia
Bardziej szczegółowoUczenie Wielowarstwowych Sieci Neuronów o
Plan uczenie neuronu o ci gªej funkcji aktywacji uczenie jednowarstwowej sieci neuronów o ci gªej funkcji aktywacji uczenie sieci wielowarstwowej - metoda propagacji wstecznej neuronu o ci gªej funkcji
Bardziej szczegółowoTranzystor JFET i MOSFET zas. działania
Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej
Bardziej szczegółowoSemestr letni 2014/15
Wst p do arytmetyki modularnej zadania 1. Jaki dzie«tygodnia byª 17 stycznia 2003 roku, a jaki b dzie 23 sierpnia 2178 roku? 2. Jaki dzie«tygodnia byª 21 kwietnia 1952 roku? 3. W jaki dzie«odbyªa si bitwa
Bardziej szczegółowoKLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu
➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje
Bardziej szczegółowoMaªgorzata Murat. Modele matematyczne.
WYKŠAD I Modele matematyczne Maªgorzata Murat Wiadomo±ci organizacyjne LITERATURA Lars Gårding "Spotkanie z matematyk " PWN 1993 http://moodle.cs.pollub.pl/ m.murat@pollub.pl Model matematyczny poj cia
Bardziej szczegółowoMatematyka dyskretna dla informatyków
UNIWERSYTET IM. ADAMA MICKIEWICZA W POZNANIU Jerzy Jaworski, Zbigniew Palka, Jerzy Szyma«ski Matematyka dyskretna dla informatyków uzupeænienia Pozna«007 A Notacja asymptotyczna Badaj c du»e obiekty kombinatoryczne
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,
Bardziej szczegółowoProste modele o zªo»onej dynamice
Proste modele o zªo»onej dynamice czyli krótki wst p do teorii chaosu Tomasz Rodak Festiwal Nauki, Techniki i Sztuki 2018 April 17, 2018 Dyskretny model pojedynczej populacji Rozwa»my pojedyncz populacj
Bardziej szczegółowoArkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne
Arkusz maturalny Šukasz Dawidowski Powtórki maturalne 25 kwietnia 2016r. Odwrotno±ci liczby rzeczywistej 1. 9 8 2. 0, (1) 3. 8 9 4. 0, (8) 3 4 4 4 1 jest liczba Odwrotno±ci liczby rzeczywistej 3 4 4 4
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoZestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.
ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów
Bardziej szczegółowoZbiory i odwzorowania
Zbiory i odwzorowania 1 Sposoby okre±lania zbiorów 1) Zbiór wszystkich elementów postaci f(t), gdzie t przebiega zbiór T : {f(t); t T }. 2) Zbiór wszystkich elementów x zbioru X speªniaj cych warunek ϕ(x):
Bardziej szczegółowoArytmetyka zmiennopozycyjna
Rozdziaª 4 Arytmetyka zmiennopozycyjna Wszystkie obliczenia w octavie s wykonywane w arytmetyce zmiennopozycyjnej (inaczej - arytmetyce ) podwójnej precyzji (double) - cho w najnowszych wersjach octave'a
Bardziej szczegółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 3 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 1 / 42 Reprezentacja liczb całkowitych
Bardziej szczegółowoEkstremalnie fajne równania
Ekstremalnie fajne równania ELEMENTY RACHUNKU WARIACYJNEGO Zaczniemy od ogólnych uwag nt. rachunku wariacyjnego, który jest bardzo przydatnym narz dziem mog cym posªu»y do rozwi zywania wielu problemów
Bardziej szczegółowoZdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:
Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt: zdzedzej@mif.pg.gda.pl www.mif.pg.gda.pl/homepages/zdzedzej () 5 pa¹dziernika 2016 1 / 1 Literatura podstawowa R. Rudnicki, Wykªady z analizy
Bardziej szczegółowo1 Metody iteracyjne rozwi zywania równania f(x)=0
1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0
Bardziej szczegółowoLiczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:
Reprezentacja liczb rzeczywistych w komputerze. Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: k = m * 2 c gdzie: m częśd ułamkowa,
Bardziej szczegółowoOpis matematyczny ukªadów liniowych
Rozdziaª 1 Opis matematyczny ukªadów liniowych Autorzy: Alicja Golnik 1.1 Formy opisu ukªadów dynamicznych 1.1.1 Liniowe równanie ró»niczkowe Podstawow metod przedstawienia procesu dynamicznego jest zbiór
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera
Bardziej szczegółowoStatystyka matematyczna - ZSTA LMO
Statystyka matematyczna - ZSTA LMO Šukasz Smaga Wydziaª Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza w Poznaniu Wykªad 4 Šukasz Smaga (WMI UAM) ZSTA LMO Wykªad 4 1 / 18 Wykªad 4 - zagadnienia
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Bardziej szczegółowoc Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach
12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa
Bardziej szczegółowoSamodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,
Bardziej szczegółowo