Rejestry, liczniki i sumatory.
Rejestry Rejestrem nazywamy układ zbudowany z przerzutników, służących do przechowywania informacji. Liczba bitów informacji, jaka może być przechowywana w rejestrze, jest nazywana długością rejestru i odpowiada zawsze liczbie przerzutników, z których jest zbudowany rejestr.
Wprowadzanie informacji do rejestru Informacja może być wprowadzana do rejestru na dwa sposoby: szeregowo (bit po bicie w takt sygnału zegarowego) równolegle (całe słowo wejściowe jest zapisywane jednocześnie w chwili wyznaczonej przez sygnał taktujący) Wyprowadzenie informacji przechowywanej w rejestrze może także odbywać się na te dwa sposoby. W związku z tymi sposobami wprowadzania informacji wyróżnia się następujące rodzaje rejestrów: szeregowo-szeregowy, zapis i odczyt jest realizowany szeregowy szeregowo-równoległy, zapis informacji odbywa się szeregowo, a wyprowadzana równolegle równolegle-szeregowy, zapis jest realizowany równolegle a odczyt szeregowo równolegle-równoległy, zapis i odczyt dobywa się równolegle
Rejestry mające w swojej nazwie określenie „szeregowo (-y)” charakteryzują się koniecznością przesuwania wprowadzonej (wprowadzanej) informacji. W rejestrach jednokierunkowych informacja może być przesuwana w prawo (w kierunku starszych bitów) lub w lewo (kierunku młodszych bitów). Rejestry dwukierunkowe (rewersyjne) umożliwiają przesuwanie wprowadzonej informacji zarówno w lewo jak i w prawo. Rejestry z możliwością przesuwania zapisanej w nich informacji noszą nazwę rejestrów przesuwających.
Budowa i zasada działania rejestrów Najprostszym rejestrem jest przerzutnik typu D. Jedynka na wejściu D w chwili wyznaczonej przez przebieg zegarowy ustawia przerzutnik w stan 1, co określamy jako wpisanie 1 do rejestru. Analogicznie 0 na wejściu D ustawia przerzutnik w stan niski, czyli powiemy, że zostaje wpisane 0. Zestawienie kilku takich przerzutników (np. 8), bez żadnych połączeń pomiędzy nimi poza wspólnym sygnałem zegarowym, da nam to 8-bitowy rejestr równolegle-równoległy. Z rejestrów równoległych są budowane tzw. pamięci buforowe, która pośredniczy między układami cyfrowymi, które działają z różnymi szybkościami.
Przykład rejestru zbudowanego z trzech przerzutników typu D Zapis kolejnych stanów wyjść na podstawie rysunku powyżej. Otrzymany rejestr z tego połączenia jest: szeregowy, jeżeli wyjście będziemy pobierać jedynie z QC szeregowo-równoległy jeżeli wyjście pobierać będziemy ze wszystkich przerzutników. Przebiegi w rejestrze pracującym jako szeregowo-równoległy, przy połączeniu Wyjścia QC z wejściem DA Możemy za obserwować, że powtarzają się cyklicznie trzy różne stany wyjść. Układ taki możemy wykorzystać jako licznik mod 3 liczący w kodzie 1 z 3. Liczniki tego typu są nazywane licznikami pierścieniowymi. Przebiegi czasowe w rejestrze pracującym jako rejestr szeregowo-szeregowy Przebiegi czasowe w rejestrze pracującym jako rejestr szeregowo-równoległy Przebiegi czasowe w rejestrze szeregowym przy połączeniu wyjścia QC z wejściem DA
Rejestry scalone Rejestry scalone często są wykonywane w technice TTL i CMOS, oto kilka przykładów takich rejestrów: Rejestr scalony ‘174 –może on być wykorzystany jako równoległy, szeregowy, lub szeregowo-równoległy. Składa się on z 6 przerzutników synchronicznych typu D. Informacja z wejść jest przypisywana dodatnim zboczem sygnału zegarowego, który jest wspólny dla wszystkich przerzutników. Układ ma wyprowadzenie umożliwiające wyzerowanie rejestru po doprowadzeniu do niego sygnału o poziomie niskim L. Wykonując zewnętrzne połączenia: QA-DB, QB-DC, QC-DD, QD-DE, QE-DF, oraz doprowadzając informację wejściową do wejścia DA, otrzymamy rejestr: szeregowy, gdy pobieramy informacje tylko z wyjścia QF szeregowo-równoległy, gdy pobieramy informację wyjściową ze wszystkich wyjść Q
Rejestr scalony ‘164- rejestr ten jest 8-bioty z wejściem szeregowym i wyjściem równoległym. Jest on zbudowany z 8 synchronicznych przerzutników RS, bramki NAND i 3 negatorów. Przerzutniki są tak sterowane, że działają jak przerzutniki typu D. Są połączone ze sobą kaskadowo. Rejestr ma wejścia zegarowe (CP), wejście zerujące (Z), bramkowane wejścia szeregowe (A, B) oraz 8 wyjść. Doprowadzenie impulsów do wejścia zegarowego powoduje, że informacja zapisana w rejestrze jest przesuwana w prawo i jednocześnie z każdym taktem do przerzutnika A jest wprowadzana informacja będąca iloczynem logicznym sygnałów A i B (QA=AB). Zmiana stanu rejestru następuje w odpowiedzi na narastające (dodatnie) zbocze przebiegu synchronizującego. Rejestr można wyzerować (asynchronicznie), doprowadzając do wejścia zerującego (Z) niski poziom logiczny.
Rejestr scalony ‘165- zawiera on 8-bitowy rejestr z wejściem szeregowym i równoległym oraz z komplementarnym wyjściem szeregowym. Zawiera on 8 synchronicznych przerzutników typu D (zbudowanych na przerzutnikach RS) i połączonych ze sobą kaskadowo Układ zawiera wyjścia: równoległe A, B, C, D, E, F, G, H, szeregowe WS sterujące P/WR zegarowe CP: zmiana stanu rejestru następuje w odpowiedzi na dodatnie zbocze sygnału taktującego blokujące BL: blokuje sygnał zerowy, gdy jest na nim poziom 1 Rejestr ‘165 najczęściej służy do zamiany informacji równoległej na szeregową. W połączenie z rejestrem ‘164 (który zamienia informacje szeregową na równoległą) Umożliwia realizacje transmisji szeregowo-równoległej.
Rejestr scalony ‘196 - jest 4-bitowym rejestrem uniwersalnym rejestrem rewersyjnym, wytwarzanym jako układ TTL lub unipolarny CMOS. Uniwersalność odnosi się do wprowadzania i wyprowadzania informacji, które to operacje mogą być realizowane szeregowo jak i równolegle. Nazwa „rewersyjny” określa, że rejestr może przesuwać zapisaną informacje w prawo i w lewo, bez wykonywania dodatkowych zewnętrznych połączeń. Rejestr ma następujące wejścia: -równoległe A, B, C, D, -zerujące Z, zerowanie gdy Z=0 -szeregowe SP przy przesuwaniu w prawo -szeregowe SL przy przesuwaniu w lewo -sterujące rodzajem pracy S0 i S1 -zegarowe CK, synchronizujące dodatnim zboczem prace rejestru. Układ ma wyjścia równoległe QA QB QC QD
Rejestr scalony ‘198 –rejestr ten funkcjonalnie jest identyczny jak rejestr ‘194. Jedyna różnica dotyczy długości rejestru. Układ ‘198 jest bowiem rejestrem 8-bitowym. Jest on wytwarzany jako układ bipolarny TTL lub unipolarny CMOS. Asortyment rejestrów produkowanych w technice CMOS jest nawet bogatszy niż w technice TTL. Zawiera bowiem nawet rejestry 18-, 32-, i 64-bitowe.
Rejestr scalony ‘035- układ ‘035 jest 4-bitowym rejestrem uniwersalnym Rejestr scalony ‘035- układ ‘035 jest 4-bitowym rejestrem uniwersalnym. Informacja może być do niego wprowadzana i z niego wyprowadzana zarówno szeregowo, jak i równolegle. Przystosowany jest do realizacji przesuwania w kierunku starszych bitów (MSB). Przesuwanie w kierunku przeciwnym wymaga wykonania dodatkowych zewnętrznych połączeń. Rejestr zbudowany jest z przerzutników synchronicznych typu D, przy czym pierwszy z nich (A) jest przekształcony w przerzutnik typu JK i jest wyprowadzone wyjście J (SIJ) oraz zanegowne wejście K ( SIK). Taka budowa pierwszego stopnia rejestru umożliwia realizację uzależnień logicznych w przypadku, gdy rejestr jest wykonany jako licznik lub generator.
Liczniki Podstawowym elementem liczników jest przerzutnik synchroniczny. Liczniki są budowane w ten sposób, że wyjście Q jest jednocześnie wyjściem licznika. Liczba wyjść licznika jest równa przerzutników i określona mianem długości licznika. Określona kombinacja stanów przerzutników, z których zbudowano licznik jest nazywana stanem licznika. Jeżeli licznik jest zbudowany z n przerzutników, to maksymalna liczba stanów licznika wynosi NMAX= 2n . Liczba N nazywana jest pojemnością licznika. Licznik jest to układ cyfrowy sekwencyjny, służący do zliczania i pamiętania liczby impulsów podawanych na jego wejście zliczające. Oprócz wejścia dla impulsów zliczanych, licznik ma zazwyczaj wejście ustawiające jego stan początkowy. Ustawienie wszystkich przerzutników, z których jest zbudowany licznik, w stan 0 nazywa się zerowanie licznika. Liczniki dodające po każdym impulsie wejściowym zwiększają liczbę pamiętaną w liczniku o jeden. Natomiast licznik odejmujący zmniejsza o jeden zawartość licznika. W przypadku konieczności dodawania i odejmowania impulsów w jednym liczniku, są używane liczniki rewersyjne. Jeżeli licznik przechodzi przez wszystkie stany cyklicznie (tzn. po przejściu N stanów cykl jest powtarzany), to licznik taki nazywamy licznikiem modulo N ( w skrócie mod N). Jeżeli licznik przechodzi przez wszystkie stany jednokrotnie ( i po osiągnięciu ostatniego stanu pozostaje w nim), to taki licznik nazywamy licznikiem do N
Najczęściej stosowanymi licznikami są liczniki zliczające mod 10 i mod 16. Liczniki mod 10 są zwane licznikami dziesiętnymi lub dekadami. Liczniki mod 16 nazywa się licznikami dwójkowymi (binarnymi). Aby rozszerzyć pojemność licznika możemy połączyć do z innymi licznikami bądź przerzutnikami. Licznik modulo 100 zbudowany z dwóch liczników modulo 10 połączonych równolegle. Licznik modulo 100 zbudowany z dwóch liczników modulo 10 połączonych szeregowo.
Scalone liczniki asynchroniczne Licznik scalony ’90 –układ ten zawiera cztery przerzutniki synchroniczne typu MS (dwuzboczowe), z których pierwszy (A) jest jednobitowym licznikiem mod 2, a trzy pozostałe (D, C, B,) tworzą licznik mod5. Trzy przerzutniki (A, B, C,) są przerzutnikami typu JK, a czwarty przerzutnik (D) jest przerzutnikiem RS. Liczniki scalone są budowane zarówno jako asynchroniczne (szeregowe) lub jako synchroniczne (równoległe). W liczniki równoległym sygnał zegarowy (będący dla licznika zawsze przebiegiem impulsów zliczanych) jest doprowadzony jednocześnie do wejść synchronizujących wszystkich przerzutników. Układ ’90 ma dwa wejścia zliczające CPA i CPB, cztery wejścia sterujące R0(1), R0(2), R9(1), R9(2), oraz cztery wyjścia QA, QB, QC, QD. Układ może być wykorzystywany jako licznik mod 2. Wówczas wejściem zliczającym będzie CPA, a wyjściem tego licznika QA. Wykorzystanie licznika jako zliczającego mod 5 wymaga doprowadzenia przebiegu impulsów zliczanych do wejścia CPB, a wyjściami takiego licznika Są wyjścia QB, QC i QD. Scalone liczniki asynchroniczne
Licznik scalony ’92 –jest asynchronicznym licznikiem, zbudowanym z czterech przerzutników typu JK –MS. Jeden przerzutnik (A) jest licznikiem mod 2, a trzy pozostałe (B, C, D,) stanowią licznik mod 6. Oba liczniki mogą być wykorzystane niezależnie. Wszystkie cztery przerzutniki są zerowane tym samym sygnałem, pochodzącym z wyjścia bramki NAND. Doprowadzenie do obu wejść tej bramki (R0(1), R0(2)) sygnałów o poziomie 1 zeruje licznik. Zliczanie jest możliwe, jeśli co najmniej na jednym z tych wejść jest poziom niski L. Połączenie szeregowe licznika mod 2 z licznikiem mod 6 stanowi licznik mod 12, zliczający w kodzie naturalnym. Połączenie w odwrotnej kolejności jest także licznikiem mod 12, ale przeznaczeniem takiej konfiguracji połączeń jest praca układu jako dzielnika częstotliwości przez 12.
Scalone liczniki synchroniczne – liczniki ‘192 i 193 Liczniki te są synchronicznymi licznikami rewersyjnymi, mającymi możliwość ustawienia dowolny stan początkowy. Oba mają identyczne wejścia, wyjścia, a także konfiguracje wyprowadzeń. Jedna różnica miedzy nimi to, że licznik ‘192 jest licznikiem mod 10 (dziesiętnym), a licznik ‘193 jest licznikiem mod 16 (binarnym)
Sumatory Sumator równoległy Podstawowym układem arytmetycznym jest sumator, służący najczęściej do wykonywania operacji dodawania. Układ ten zawiera cztery bloki, dzięki czemu jest on czterobitowym sumatorem dwójkowym równoległym. Nazwa to oznacza, że sumuje on liczby czterobitowe dwójkowe ( A= A3 A2 A1 A0 ; B= B3 B2 B1 B0) podawane jednocześnie na jego wejścia. Układ ma jedno wejście przeniesienia C0 i wyjście przeniesienia C4, co umożliwia łączenie ze sobą kilku takich samych sumatorów. Można wtedy sumować liczby 8- , 16-bitowe, itp.. Sumator liczb 8-bitowy Y = A + B gdzie: A= a7 a6 a5 a4 a3 a2 a1 a0 B= b7 b6 b5 b4 b3 b2 b1 b0 Y= y8 y7 y6 y5 y4 y3 y2 y1 y0 Symbol graficzny sumatora scalonego ‘83
Sumator szeregowy- akumulator Cykl realizownia dodania dwóch bitów (np. x+y) Zerowanie pamięci (przerzutnika) Ustawienie na wejściu a pierwszego składnika sumy –x 3. Zapamiętanie wyniku sumowania S = x+b =x Wynik s zostaje zapamiętany i w efekcie wyjście P=x, co z kolej sprawia, że od tej chwili wejście sumatora b = P = x 4. Ustawianie na wejściu a kolejnego składnika sumy –y 5. Zapamiętanie wyniku sumowania, obecnie P = S = x+ y Cały taki jedne cykl jest równoważny jednej operacji sumatora elementarnego i polega ona na dodaniu dwóch bitów i określeniu wyniku sumowania oraz bitu przeniesienia. Sumator szeregowy- akumulator Sumator elementarny możemy wykorzystać do sumowania w sposób całkowicie odmienny niż sumator równoległy, w którym oba składniki są jednocześnie obecne na wejściach sumatora. W tym celu dodawany jest jeszcze element pamięciowy (np. przerzutnik). W takim sumatorze dodawane składniki są podawane na wejście kolejno jednen po drugim, czyli szeregowo, stąd nazwa tego sumatora- sumator szeregowy.
- Książka „Układy Cyfrowe” W. Głocki wydawnictwo WSiP Źródła: - Książka „Układy Cyfrowe” W. Głocki wydawnictwo WSiP