Krótkie przypomnienie Prawa de Morgana: Kod Gray'a A+ B= Ā B AB= Ā + B Układ kombinacyjne: Tablicy prawdy Symbolu graficznego Równania Boole a NOR Negative-AND w.11, p.1 XOR
Układy arytmetyczne Cyfrowe układy arytmetyczne realizują operacje arytmetyczne na liczbach przedstawionych w zapisie binarnym. Podstawowym układem arytmetycznym jest układ realizujący dodawanie, nazywany sumatorem. Wszystkie inne operacje arytmetyczne (odejmowanie, mnożenie, dzielenie...) wykonać można za pomocą tylko operacji dodawania stosując odpowiednie algorytmy. Do układów arytmetycznych zalicza się także układy służące do porównywania dwóch liczb, nazywane komparatorami oraz układy wielofunkcyjne, wykonujące różne operacje arytmetyczne i logiczne tzw. jednostki arytmetyczno- logiczne (ALU). w.11, p.2
Sumator Półsumator Układ wykonujący dodawanie dwóch jednobitowych liczb binarnych A i B: 0 + 0 = 0 = 00 0 + 1 = 1 = 01 1 + 0 = 1 = 01 A B 1 + 1 = 10 =10 A B CS A B + S (suma) C (przeniesienie) S C Sposób realizacji półsumatora w.11, p.3
Pełny sumator W przypadku dodawania liczb o większej liczbie bitów półsumator można zastosować tylko na najmłodszej pozycji. Na wszystkich pozostałych trzeba dodawać nie dwa, ale trzy bity uwzględniając przeniesienie z poprzedniej pozycji. Potrzebny jest więc układ o trzech wejściach A i, B i, C i oraz dwóch wyjściach S i, C i+1. Układ taki nazywamy pełnym sumatorem. Przykład sumowania dwóch liczb binarnych: w.11, p.4
Pełny sumator na bazie półsumtorów '1' '1' '1' '0' '1' '1' '0' '1' A i, B i dane wejściowe C i wejście przeniesienia S i dane wyjściowe (suma) C i+1 - wyjście przeniesienia w.11, p.5
Sumator zapis za pomocą logiki Boole a Sumator tablica Boole'a Sumator funkcja Boole'a Tablica stanów sumatora w.11, p.6
Sumator funkcja Boole'a, tablica Karnaugha A B A B 0 0 01 11 1 0 0 0 01 11 1 0 C 0 0 0 1 0 1 1 1 0 1 0 C 0 0 0 0 1 0 1 0 1 1 1 Suma Wyjście przeniesienia S=A BC 0 + A B C 0 + ABC+ A B C 0 C 1 =CB+CA+ AB w.11, p.7
Sumator wielobitowy W celu dodawania liczb wielobitowych sumatory jednobitowe łączy się w zespoły. W najprostszym przypadku sumatory łączy sie szeregowo (wyjście przeniesienia łączy się z wejściem przeniesienia bloku następnego). Przy czym dla najmłodszego bitu używamy półsumatora. Sumator n - bitowy z przeniesieniami szeregowymi. w.11, p.8
Sumator wielobitowy - uwagi Można zbudować sumator dla większej ilości bitów złożony z sumatorów 1-bitowych. Wady takiego rozwiązania: w każdym sumatorze 1-bitowym występuje opóźnienie odpowiedzi względem sygnałów wejściowych. Dla sumatora wielobitowego może być bardzo duże. Rozwiązanie: Określenie wartości przeniesień bez przechodzenia przez wszystkie poprzednie stopnie Każdy sumator 1-bitowy działa niezależnie i opóźnienia się nie kumulują w.11, p.9
Sumator wielobitowy- wartości przeniesień bez dodatkowych opóźnień C 0 = A 0 B 0 (1) C 1 = A 1 B 1 +( A 1 +B 1 )C 0 (2) Podstawiając (1) do (2) dostajemy: C 1 = A 1 B 1 +A 1 A 0 B 0 +B 1 A 0 B 0 Powtarzając tę procedurę dostajemy kolejne wartości przeniesień. Jednak w przypadku długich liczb to rozwiązanie staje się bardzo skomplikowane. w.11, p.10
Sumator wielobitowy rozwiązanie praktyczne Stosuje się rozwiązania pośrednie. Np. sumator 32-bitowy można zbudować z 4 sumatorów 8-bitowych. w.11, p.11
Komparatory Komparatorem cyfrowym nazywamy układ służący do porównywania dwu lub więcej liczb binarnych. Najważniejsze kryteria porównawcze to A = B, A > B, A < B. Układ sprawdzający wszystkie trzy relacje nazywa się komparatorem uniwersalnym. Najprostsze komparatory umożliwiają jedynie określenie czy dwie porównywane liczby są sobie równe lub która z liczb jest większa. w.11, p.12
Komparatory - przykłady Kryterium równości dwóch liczb binarnych jest identyczność wszystkich bitów. W przypadku dwóch liczb jednobitowych A i B, informację o tym uzyskać można za pomocą funkcji negacja EXOR: A Przykład komparatora równoległego 3 bitowego: B 0 Wartość 1 na wyjściu sygnalizuje równość A=B. A B Y 0 1 1 0 1 0 1 1 0 0 1 w.11, p.13 Y=1 tylko wówczas gdy: A 0 =B 0 i A 1 =B 1 i A 2 =B 2 czyli A=B.
Jednostki arytmetyczno logiczne (ALU) ALU jest uniwersalnym układem cyfrowym przeznaczonym do wykonywania operacji arytmetycznych i logicznych pomiędzy dwoma liczbami binarnymi. w.11, p.14
Układy sekwencyjne W układzie sekwencyjnym stan wyjść nie tylko zależy od stanu wejść ale także od poprzedniego stanu. Układy sekwencyjne dzielimy na: - układy asynchroniczne - układy synchroniczne. W układach asynchronicznych sygnały wejściowe bezpośrednio oddziaływują na stan wyjść. W układach synchronicznych zmiana sygnału wyjściowego może nastąpić wyłącznie w określonych chwilach czasu, które wyznacza sygnał zegarowy (clock), nazywany też sygnałem taktującym lub wyzwalającym. Podstawowymi elementami układów sekwencyjnych są przerzutniki, liczniki, rejestry. w.11, p.15
Przerzutniki Zasadniczym zadaniem przerzutnika jest pamiętanie jednego bitu informacji. Przerzutnik posiada co najmniej dwa wejścia i zazwyczaj dwa wyjścia. Rozróżnia się następujące rodzaje wejść przerzutnika: - informacyjne - zegarowe - programujące. w.11, p.16
Asynchroniczny przerzutnik RS Jest najprostszym przerzutnikiem. Posiada: dwa wejścia: - S (Set) wejście ustawiające - R (Reset) wejście zerujące dwa wyjścia: - Q wyjście zwykłe (główne) - Q wyjście zanegowane (komplementarne). Stan wyjść jest zawsze przeciwny. Przerzutnik RS można zbudować z dwóch bramek NOR lub dwóch bramek NAND stosując dodatnie sprzężenie zwrotne: '1' '0' '0' '1' Przerzutnik można ustawić w stan zero (Q=0) przez podanie sygnału 1 na wejście R przy S=0. Ustawienie przerzutnika w stan jeden (Q=1) realizuje się przez podanie sygnału 1 na wejście S przy R utrzymywanym w stanie 0. Po przywróceniu stanu R=0 i S=0 przerzutnik wprowadzony zostaje w stan pamiętania, przechowując ustawiony stan. W ten sposób w przerzutniku zapamiętuje się elementarną porcję (1 bit) informacji. w.11, p.17
Przerzutnik RS zastosowanie (nietypowe) W układach z przełącznikami: 1 w.11, p.18
Synchroniczny przerzutnik RS wyzwalany zboczem Przerzutnik synchroniczny RS ma dodatkowe wejście C do którego doprowadza się sygnał taktujący (zegarowy, synchronizujący). Zmiana stanu przerzutnika następuje w chwilach wyznaczonych przez sygnał taktujący. Umożliwia to wstępne przygotowanie sygnałów wejściowych i inicjację zmiany stanu przerzutnika po ustaleniu się tych stanów. Wyzwalanie zmiany stanu przerzutnika może następować w chwili gdy np. sygnał taktujący zmienia się ze stanu 0 na 1. w.11, p.19
Synchroniczny przerzutnik RS wyzwalany poziomem Schemat logiczny Przebiegi czasowe R CLK S Q ~Q CLK S R lub: Q w.11, p.20
Przerzutnik D wyzwalany poziomem schemat logiczny tablica prawdy symbol graficzny D CLK Q n+1 D CLK S CLK R Q Q 0 0 Q n 0 1 0 D CLK Q Q 1 0 Q n 1 1 1 Komórka pamiętająca w.11, p.21
Przerzutnik D wyzwalany zboczem dodatnim > symbol wskazujący na wyzwalanie zboczem. w.11, p.22
Przerzutnik D zależności czasowe wyzwalany zboczem Czas propagacji (po CLK lub po D) tzw. setup time (D przed zboczem CLK) tzw. hold time (D po zboczu CLK) w.11, p.23
Przerzutnik JK (synchroniczny) Wejścia informacyjne J i K odpowiadają wejściom S i R przerzutnika RS. Przerzutnik JK nie ma stanów wejściowych niedozwolonych. W przypadku jednoczesnego podania sygnałów 1 na wejścia J i K, stan przerzutnika zmieni się na przeciwny (w chwili wyzwolenia sygnałem taktującym). w.11, p.24
Przerzutnik JK wyzwalany zboczem realizacja w.11, p.25
Przerzutnik D Zapamiętanie stan wejścia D w chwili impulsu zegara. w.11, p.26
Przerzutnik T w.11, p.27 Przerzutnik T zmienia swój stan na przeciwny w czasie impulsu zegarowego gdy T=1. Stan przerzutnika pozostaje bez zmiany gdy T=0. W przypadku utrzymywania stanu T = 1, każdy kolejny impuls zegarowy zmienia stan przerzutnika na przeciwny. Układ ten stanowi podstawowy element liczników.
Przerzutnik T przebiegi czasowe wyzwalany dodatnim zboczem zegara: Dzielnik częstotliwości sygnału w.11, p.28
Liczniki Licznikem nazywamy układ cyfrowy służący do zliczania impulsów. Na wyjściu licznika pojawia się zakodowana binarnie liczba impulsów podanych na wejście zliczające. Oprócz wejścia impulsów zliczanych, licznik posiada zazwyczaj wejście ustawiające stan początkowy (zerowanie licznika). Rodzaje liczników: - liczące w przód - liczące w tył - rewersyjne (możliwość zmiany kierunku zliczania) - szeregowe (asynchroniczne) - równoległe (synchroniczne). Podstawowymi elementami liczników są przerzutniki T. Pojedynczy przerzutnik T pozwala na zliczanie 2 impulsów. Najprostszy licznik można zbudować z szeregowo połączonych przerzutników T, z których każdy pod wpływem impulsu zegarowego zmienia swój stan na przeciwny do stanu poprzedniego. w.11, p.29
Liczniki na przykładzie układu 7493 Q 0 Q 1 Q 2 Q 3 Jakim zboczem/poziomem zegara wyzwalne są te przerzutniki? w.11, p.30
Liczniki na przykładzie układu 7943 Q 0 Q 1 Q 2 Q 3 w.11, p.31
Rejestry Rejestry służą do przechowywania informacji cyfrowej zapisanej w kodzie binarnym. Wpisana do rejestru informacja przechowywana jest do chwili wprowadzenia kolejnej, nowej informacji. Informacja ta może być również dostępna do odczytu. Niekiedy odczyt zeruje wpisaną informację. Ze względu na sposób wprowadzania i wyprowadzania informacji rejestry dzielimy na: Szeregowe: wejście i wyjście szeregowe (rejestry przesuwające) Równoległe: wejście i wyjście równoległe (rejestry buforowe) Szeregowo- równoległe: wejście szeregowe, wyjście równoległe Równoległo-szeregowe: wejście równoległe, wyjście szeregowe. Podstawowym elementem rejestru są przerzutniki. Liczba bitów informacji jaka może być przechowywana w rejestrze jest nazywana długością rejestru i odpowiada liczbie przerzutników z których jest zbudowany rejestr. w.11, p.32
Rejestry Wprowadzanie równoległe - w jednym takcie zagara wprowadzamy równocześnie wszystkie bity słowa informacji Wprowadzanie szeregowe - w kolejnych taktach zegara wprowadzamy bit po bicie itd. w.11, p.33
Rejestry - przykład Najprostszym rejestrem jest przerzutnik D. Rejestr 4-o bitowy: wejścia równoległe wyjścia równoległe We 0 We 1 We 2 We 3 Q 0 Q 1 Q 2 Q 3 Zestawienie kilku takich przerzutników, np. 4, bez żadnych połączeń pomiędzy nimi utworzy 4 - bitowy rejestr równoległy PIPO. Sygnał zegarowy wspólny dla wszystkich przerzutników. w.11, p.34
Rejestry - przykład Rejest 4-o bitowy: wejście szeregowe wyjścia równoległe Za każdym impulsem zegarowym dane są przesuwane o jedną pozycję w prawo - SIPO. w.11, p.35
Gottfried Wilhelm Leibniz(1646-1716) filozof, matematyk, prawnik, inżynier-mechanik, fizyk, historyk i dyplomata. - Jest ojcem nowoczesnego systemu binarnego opublikowanego w 1703 roku w artykule Explication de l Arithmétique Binaire. - Jako inżynier-mechanik Leibniz zajmował się konstrukcją zegarów, maszyn wydobywczych i zbudował jedną z pierwszych mechanicznych maszyn liczących. - pobyt w Paryżu (1672-1676) wyzyskał także dla spraw naukowych, nawiązując stosunki z uczonymi francuskimi. Na ten czas przypada wynalezienie przez niego rachunku różniczkowego i całkowego. Jego wielkim adwersarzem był między innymi: Newton, z którym prowadził publiczny spór o to, kto jest twórcą rachunku różniczkowego. w.11, p.36 "Raczej coś niż nic" https://pl.wikipedia.org/wiki/gottfried_wilhelm_leibniz