1.04k likes | 1.25k Views
Spis treści. Układy cyfrowe Podstawowe układy cyfrowe. Układy cyfrowe.
E N D
Spis treści • Układy cyfrowe • Podstawowe układy cyfrowe
Układy cyfrowe • Działanie układów cyfrowych oparte jest na wykorzystaniu dwóch stanów niskiego (L-low) i wysokiego (H-high). Duża część tej informacji to liczby, stąd przyjęło się nazywać te stany jedynką i zerem. Możemy więc stwierdzić że wszelka infor. W komp. Musi występować w postaci 0 i 1- binarnej. Przy użyciu tych stanów musimy przedstawić wszystkie rodzaje informacji występujących w układach cyfrowych.
W tym celu stosowane są odpowiednie struktury: • dwójkowy system liczbowy oraz • kody - reprezentują informacje w układach cyfrowych. Więc potrzebne są reguły przekształcania różnych postaci informacji na inf. binarną. Proces przekształcania inf. jednego rodzaju postaci na inną postać nazywamy kodowaniem.
Def. Kodowaniem nazywamy przyporządkowanie poszczególnym obiektom zbioru kodowanego odpowiadających im elementów zwanych słowami kodowanymi, przy czym każdemu słowu kodowanemu musi odpowiadać dokładnie jeden element kodowany. Fakt Ze literze C odpowiadają dwa słowa kodowe nie przeszkadza w poprawnym przetwarzaniu inf. (choć stanowi pewne utrudnienie procesu Kodowania. Sytuacja odwrotna była by Niedopuszczalna, bo gdybyśmy uzyskali w procesie przetwarzania inf. słowo kodowe 001 to nie wiedzieli byśmy czy wynik odpowiada np. literze A czy B. Zbór (obiektów) elementów kodowanych Zbór słów kodowanych reprezentowanie A 111 001 B 010 C 100
Sposoby określania kodu, czyli procesu kodowania może być różny. Może to być opis słowny (tekst) ciąg znaków, wzór, tabela przekodowująca lub każdy inny sposób zgodny z definicją. Informacja kodowana – postacie: • Tekst (ciąg znaków) • Polecenia do wykonania przez komputer (instrukcje dla procesora) • Wartości logiczne czy też liczby
Def. Kodem liczbowym nazywamy taki kod, który liczbom dowolnego systemu będzie przyporządkowywał słowa kodowe w postaci zerojedynkowej. • Naturalny Kod Binarny (NKB) Def. Jeżeli dowolnej liczbie dziesiętnej przyporządkujemy odpowiadającą jej liczbe binarną, to otrzymamy NKB np. 0000(bin)=0(dec), 0001=1 itd. • Kod prosty (BCD) • każdej cyfrze dziesiętnej przyporząd. cztero cyfrową liczbę dwójkową (tetradę)
2. Słowo kodowe w kodzie prostym BCD odpowiadającej danej liczbie otrzymujemy zapisując każdą cyfrę w postaci czwórki cyfr binarnych np. 463(dec)=0100 0110 0011(BCD) • Kod ASCII (Amerykański standardowy kod dla wymiany informacji) Jest to kod służący do kodowania tekstów i przesyłania ich pomiędzy urządzeniami. Koduje on oprócz znaków alfa numerycznych tak zwane znaki sterujące do sterowania transmisją i pracą drukarki. Kod ten jest w postaci tabeli zawierającej kodowane obiekty i odpowiadające im słowa kodowane.
Właściwe ASCII (techniczne) składa się z 128 znaków od 0 do 127, a znaki od 128 do 255 nazywane są rozszerzonymi znakami ASCII, stanowią pewien Nieoficjalny standard, zwane znakami IBM (istnieją urządzenia nie obsługujące drugiej polówki) Zestaw znaków ASCII o kodach od 0 do 127 dzieli się na dwie części pierwsza o kodach od 0 do 32, druga od 32 do 127 są to litery i znaki przestankowe Od 0 do 32 znajdują się znaki sterujące, maja specjalne znaczenie, kiedy komp. porozumiewa się Z drukarką musi jej powiedzieć co i jak ma wydrukować (kiedy kończy się wiersz, a kiedy strona)
Pierwsze 32 kody nie są używane do przekazywania danych, zapewniają natomiast polecenia, sygnały kontrolne i sterujące.
Podstawowe układy cyfrowe 1. Bramki logiczne 2. Układy logiczne 3. Przerzutniki 4. Rejestry 5. Bramki trójstanowe 6. Magistrala 7. Jednostka arytmetyczno-logiczna (ALU) 8. Dekodery kodery piorytetu 9. liczniki
Bramki logiczne • W technice cyfrowej działania logiczne wykonywane są przez układy cyfrowe zwane bramkami, z których buduje się bardziej skomplikowane ukł. cyf. • Zmienną logiczną nazywamy zmienną, która może przyjmować jedną z dwóch wartości logicznych: prawdę lub fałsz (1 lub 0)
Iloczyn logiczny- bramka AND zapisujemy y=x1 x2 lub y=x1*x2 symbol: zależnie jaki sygnał podamy na x2 (1 to y=x1, 0 to y=0) np.. sygnał x2 jest sygnałem sterującym tabela prawdy x1 & y x2 Przedstawia wszystkie możliwe kombinacje argumentów i odpowiadających im wartości logicznych w wyniku danego działania - mnożenia Prawda tylko gdy wszystkie arumęty równe są 1.
Suma logiczna – bramka OR Zapisujemyy=x1 x2 lub y=x1+x2 Symbol: Tabela prawdy: x1 1 y x2 Tylko wtedy jest zero
Negacja – bramka NOT zapis: y=~x (matematyczny) y= x (w ukł. cyf.) y=x# (zapis intela) symbol: Tabela prawdy: 1 X Y
Określenie negacji – jeśli wartość argumentu jest równa 0 (fałsz) to wynik otrzymamy 1(prawda), i na odwrót. Negacja działa zawsze na jeden argument. • Ponieważ sygnały logiczne mogą być negowane na wej. i wyj. układu, przyjęto że operację negacji oznacza w symbolu bramki NOT kółeczko przy wej. lub wyj.
Funkcja NOT może być połączona z innymi funkcjami, tworząc NAND i NOR Wkrótce zobaczymy, że są one bardziej popularne, niż AND i OR
Exclusive-OR Exclusive-OR (XOR, czyli WYŁĄCZNE LUB) jest ciekawą funkcją, chociaż mniej podstawową niż AND i OR. Wyjście bramki XOR jest w stanie wysokim, jeżeli jedno albo drugie wejście jest w stanie wysokim (jest to zawsze funkcja dwóch zmiennych). Mówiąc inaczej, wyjście jest w stanie wysokim, jeżeli stany wejść są różne.
Podział układów logicznych • Układy kombinacyjne i sekwencyjne 2. Układy synchroniczne i asynchroniczne Układy sekwencyjne nazywamy ukł. cyfrowymi, w których stan wyjść zależy od stanu wejść oraz od poprzednich stanów układu.
Układem asynchronicznym nazywamy taki ukł. dla którego w dowolnym momencie jego działania stan wejść oddziałuje na stan wyjść. Układen synchronicznym nazywamy taki ukł. cyf. dla którego stan wej. wpływa na stan wyj. jedynie w pewnych określonych odcinkach czasupracy ukł. zwanych czasem czynnym, natomiast w pozostałych odcinkach czasu zwanych czasem martwym, stan wej. nie wpływa na stan wyj.. Odcinki czasu czynnego i martwego wyznaczane są przez podanie specjalnego przebiegu zwanego przebiegiem zegarowym lub taktującym na wejście zwane wej. zegarowym lub taktującym. cyfrowy przebieg zegarowy
Do tej pory zajmowaliśmy się układami kombinacyjnymi - to znaczy takimi, w których stan sygnałów wyjściowych zależy w każdej chwili wyłącznie od bieżącego stanu sygnałów wejściowych. Natomiast przerzutniki są elementami zaliczanymi do grupy układów sekwencyjnych. W układach sekwencyjnych stan na wyjściu układu jest funkcją nie tylko bieżących stanów wejściowych, ale również stanów na wyjściu układu w poprzednich chwilach czasowych. W układach tych oprócz elementów logicznych (kombinacyjnych) występują elementy pamięciowe. W zależności od trybu pracy układy sekwencyjne możemy podzielić na asynchroniczne i synchroniczne.
Układ asynchroniczny zmienia swój stan wyjść bezpośrednio po zmianie stanu wejść. W układach synchronicznych zmiana stanu wyjść odbywa się w chwilach wyznaczonych zmianą sygnału synchronizującego. Podstawowym elementem sekwencyjnym, który zapamiętuje jeden bit informacji jest układ nazywany przerzutnikiem. Przerzutnik jest układem o co najmniej dwóch wejściach i z reguły dwóch wyjściach. Większość przerzutników to przerzutniki synchroniczne. Wyjątek stanowi najprostszy przerzutnik nazywany asynchronicznym przerzutnikiem RS.
Wejścia mogą być: • zegarowe CK (ang. Clock), zwane inaczej synchronizującymi albo wyzwalającymi, • informacyjne, • programujące. Jeśli przerzutnik ma wejście synchronizujące, to jest nazywany przerzutnikiem synchronicznym, natomiast jeśli nie ma takiego wejścia-przerzutnikiem asynchronicznym. Przerzutnik synchroniczny reaguje na informację podawaną na wejścia informacyjne tylko w obecności impulsu zegarowego.
Przerzutnik może być wyposażony w dwa wejścia programujące: ustawiające S (ang. Set) i zerujące R (ang. Reset) nazywane również Preset i Clear. Wejścia programujące są zawsze wejściami asynchronicznymi (niezależne od sygnału zegarowego). Istnieje wiele typów przerzutników.Podstawowe to: RS, D i JK. Działanie logiczne przerzutników najczęściej obrazuje się za pomocą tablicy stanów, w której przedstawione są stany na wejściach informacyjnych układu oraz odpowiadające im stany na wyjściu(ach) układu. Wyjścia przerzutników oznaczane są zazwyczaj symbolami Q i Q . W tablicy stanów zazwyczaj prezentuje się stan wyjścia Q pomijając wyjście Q ,które jest jego negacją.
Symbole graficzne przerzutników w wersji TTL (Transistor Transistor Logic ) Symbole graficzne przerzutników odzwierciedlają ich strukturę wewnętrzną. Jeżeli umieścimy wskaźnik negacji na wejściu przerzutnika to wejście jest aktywowane niskim poziomem logicznym (w symbolu graficznym należy umieścić okrąg przed nazwą wejścia. Wejścia zegarowe (synchronizujące) oznaczone są poprzez trójkąt równoboczny. Niektóre przerzutniki są wyzwalane (aktywowane) przy zmianie sygnału na wejściu zegarowym; wejście takie nazywamy wejściem dynamicznym. Mówimy wówczas o takim przerzutniku, że jest wyzwalany frontem (sygnału zegarowego):
Asynchroniczny przerzutnik RS Przerzutnik ten składa się z dwóch odpowiednio połączonych ze sobą bramek. Do budowy tego przerzutnika można wykorzystać bramki NAND lub NOR. Przerzutnik ten ma dwa wejścia informacyjne/programujące R i S oraz dwa wyjścia Q i Q . Wejścia R i S są wejściami asynchronicznymi tzn. ich stany natychmiast oddziaływują na stany wyjść. Rysunek przedstawia schemat przerzutnika asynchronicznego RS zbudowanego z bramek NOR. Podanie stanu „1” na jedno z wejść informacyjnych (programujących) powoduje ustawienie na wyjściu odpowiadającej mu bramki stanu „0” (Suma dwóch sygnałów, z których co najmniej jeden jest równy „1” wynosi „1” a po zanegowaniu daje „0” NOR A+B)
Schemat logiczny Symbol graficzny tabela stanów uproszczona tabela stanów
Podanie stanu „1” na obydwa wejścia przerzutnika spowodowałoby wystąpienie stanów „0” na obydwu wyjściach, co jest niezgodne z założeniem, że w przerzutniku jedno wyjście jest negacją drugiego. Stan ten jest nazywany stanem niedozwolonym N. Podanie stanu „0” na obydwa wejścia daje możliwość określenia stanu wyjść w chwili n-tej wyłącznie na podstawie stanu wyjść w chwili n-1. Jest to stan w którym przerzutnik realizuje funkcję pamiętania sygnału poprzedniego. Na rysunkach symbol X oznacza dowolny sygnał.
Synchroniczny przerzutnik RS Synchroniczny przerzutnik RS różni się w swojej budowie od przerzutnika asynchronicznego dodatkowymi dwoma bramkami dołączonymi na wejściu układu. Przerzutnik ten można zbudować zarówno z bramek NOR, jak i NAND. Na shemacie przedstawiony jest Synchroniczny przerzutnik RS zbudowany bramek NOR:
schemat logiczny symbol graficzny tabela stanów uproszczona tabela stanów W tablicy stanów podkreślono stany stabilne, tzn. nie powodujące zmiany stanu wyjść.
Przerzutnik D typu „latch” (zatrzask) Przerzutnik ten jest przerzutnikiem synchronicznym reagującym na poziom niski lub wysoki – wejście zegarowe. Zatem reaguje on tylko na stan wysoki (czynny) na wejściu zegarowym, w czasie martwym stan przerzutnika nie będzie ulegał zmianie – stan pamiętania. D Qn+1 D Q 0 0 CK Q 1 1 Przerzutniki te służą do budowy rejestrów typu latch
Cyfrowe układy funkcjonalne Są to złożone układy cyfrowe, na podbudowie układów poznanych wcześniej, pełnią określone funkcje: • Wykonywanie działań arytmetycznych • Krótkoterminowego przechowywania informacji. • Dekodowania adresów Wszystkie te układy będą omawiane na zasadzie czarnej skrzynki.
Rejestry Def. Rejestrem nazywamy ukł. cyfrowy przeznaczony do krótko terminowego przechowywania niewielkich ilości inf. lub do zmiany postaci inf. z równoległej na szeregową albo odwrotnie. Def. Wejściem cyfrowym równoległym nazywamy takie wejście, które umożliwia wprowadzenie do układu cyfrowego wszystkich bitów słowa w jednym takcie zegarowym. Wynika z tego że ilość zacisków wej. musi być równa ilości bitów wprowadzanych w słowie.
Def. Wejściem cyf. szeregowym nazywamy takie wejście, które umożliwia wprowadzanie inf. do układu bit po bicie. Do wprowadzenia słowa n-bitowego potzreba n taktów zegara. Def. Jeżeli inf. wprowadzamy, wyprowadzamy lub przesyłamy bit po bicie, jeden bit na jeden takt zegarowy, to taką postać inf. nazywamy szeregową. Jeżeli wprowadzamy, wyprowadzamy lub przesyłamy wszystkie bity słowa inf. jednocześnie, w jednym takcie zegarowym, to taką inf. nazywamy równoległą.
Podział rejestrów na następujące grupy: -rejestr z wej. i wyj. równoległym – PIPO -rejestr z wej. i wyj. szeregowym – SISO -rejestr z wej. szereg. i wyj. równ. – SIPO -rejestr z wej. równ. i wyj. szereg. – PISO Bramki trójstanowe W ukł. cyf. a szczególnie w ukł. i systemach mikroprocesorowych (komputer), występuje często potrzeba odseparowania elektrycznego dwóch lub więcej punktów ( wielkości elektryczne takie jak napięcie czy prąd nie wpływają wzajemnie na siebie)
W ukł. cyf. stan logiczny w jednym punkcie odseparowany od innego punktu, nie wpływa na niego i nie jest z nim w żaden sposób związany. Układami umożliwiającymi odseparowanie 2-punktów są bramki trójstanowe Enable Wej Wyj Wyj. Wej. 0 1 0 1 1 1 Enable - umożliwiać x 0 z Stan Z występujący w tabeli oznacza tak zwany stan wysokiej impedancji, czyli brak wzajemnego wpływu wej - wyj. Z jest oprócz 1 i 0 trzecim stanem – stąd nazwa.
Magistrala W systemach mikroprocesorowych istnieje konieczność zapewnienia komunikacji pomiędzy wieloma układami takimi jak: mikroprocesor, pamięć RAM, ROM, układami wej./wyj.. Połączenie wielu układów każdy z każdym doprowadziło by do nadmiernej ilości połączeń i jest praktycznie nierealne. Dlatego stosuje się sposób połączenia przy pomocy tak zwanej magistrali. Magistrala jest wspólną drogą dzięki której, komunikują się pomiędzy sobą poszczególne układy wchodzące w skład systemu. Aby zapewnić poprawną pracę i brak kolizji w połączeniach, magistrala obsługiwana jest według ściśle określonych, podanych w definicji reguł.
Def. Magistralą nazywamy zestaw linii oraz układów przełączających, łączących dwa lub więcej układów mogących być nadajnikami lub odbiornikami informacji. Przesyłanie informacji zachodzi zawsze pomiędzy dokładnie jednym układem będącym nadajnikiem a dokładnie jednym układem będącym odbiornikiem, przy pozostałych układach odseparowanych od linii przesyłowych.
Jak wynika z powyższej def., układy dołączone do magistrali muszą mieć możliwość elektrycznego odseparowania się od linii w których przesyłana jest informacja. Wynika z konieczności zapewnienia jednoznacznego stanu każdej z linii (np. gdyby podłączyły się dwa nadajniki z różnymi stanami logicznymi 0 i 1 to wystąpił by konflikt). Układami zapewniającymi możliwość separacji są właśnie bramki trójstanowe.
Dwukierunkowe wzmacniacze buforowe Pomiędzy układy będące w danym momencie na magistrali nadajnikiem a odbiornikiem stosuje się zwykle układy buforowe, pośredniczące w wymianie informacji. Zadaniem tego typu ukł. jest zmniejszenie obciążenia nadajnika przez odbiornik, zwiększenie prądu wyj. i co za tym idzie poprawy kształtu zboczy. W przypadku magistrali, po których inf. może być przesyłana w obydwu kierunkach, takich jak np. magistrala danych, układy wzmacniaczy buforowych muszą działać w dwóch kierunkach tak zwane: nadajnik-odbiornik (transmitter-receiver) ukł. te mogą przejść w stan wysokiej impedancji, separując nawzajem od siebie łączone układy.
Jednostka arytmetyczno logiczna - ALU Def. Jednostką arytmetyczno logiczną (ALU) nazywamy uniwersalny układ cyfrowy przeznaczony do wykonania operacji arytmetycznych i logicznych Słowo „uniwersalny” w def. ALU oznacza, że zestaw operacji, które potrafi zrealizować jednostka aytmetyczno-logiczna powinien być funkcjonalnie pełny, jeżeli za jego pomocą jesteśmy w stanie zrealizować dowolny algorytm przetwarzania informacji.
Algorytm reguły postępowania służące do rozwiązania konkretnych zadań dla różnych zestawów danych, zapewniające otrzymanie rozwiązania w skończonej liczbie kroków. Jeżeli rozwiązanie opiera się na obliczeniach, to trzeba podać w jakiej kolejności według jakich wzorów mają one być wykonane.
Do zestawu operacji wykonanych przez ALU należą najczęściej dodawanie i odejmowanie algebraiczne, przesuwanie bitów słowa w prawo i w lewo, porównywanie (komparacja) wartości dwóch słów, operacje iloczynu i sumy logicznej, negacji i alternatywy wykluczającej ALU nie posiada układów pamiętających, dlatego musi współpracować z pewnym zestawem rejestrów. Rejestr przechowujący wyniki operacji nazywa się akumulatorem. Oraz rejestr flagowy zawierający cechy wyniku (np. przeniesienie bitu lub przekroczenie zakresu) Są to dwa podstawowe rejestry z którymi ALU współpracuje.
Dekodery i kodery priorytetu Dekodery i kodery priorytetu pełnią w systemach mikroprocesorowych ważne funkcje pomocnicze. Def. Dekoderem nazywamy układ cyfrowy mający n wej. oraz k wyj., przy czym k≤2n. Na wej. dekodera podajemy zakodowany numer wyj. na którym ma się pojawić wyróżniony sygnał o wartości np.0 . Na pozostałych wyjściach dekodera powinien występować stan przeciwny do sygnału wyróżnionego o wartosci np.1
Kodery priorytetu są pewną modyfikacją układu zwanego koderem, działanie kodera jest w pewnym sensie odwrotne do działania dekodera. Def. Koderem nazywamy układ cyfrowy o n wyj. i k≤2n wejściach, przy czym na wyj. pojawia się zakodowany numer tego wej., na którym ten sygnał wystepuje. W systemach cyfrowych zachodzi często potrzeba przyjmowania sygnałów zgłoszeń od wielu urządzeń i następnie zdecydowania, które z nich będzie obsługiwane. Realizację tych czynności umożliwia koder piorytetu.
Def. Koderem priorytetu nazywamy ukł. kodera, w którym wprowadzono następujące zmiany: • Na jego wej. może pojawić się więcej niż jeden sygnał wyróżniony. • Każdemu wej. przyporządkowano pewien stopień ważności zwany priorytetem • Na wyj. pojawia się zakodowany numer tego wej. z wyróżnionym sygnałem, które posiada najwyższy priorytet.
Licznik Def. Licznikiem nazywamy ukł. cyfr. na którego wyj. pojawia się zakodowana liczba impulsów podanych na wej. zliczające licznika i zliczone przez licznik. Podstawowymi parametrami licznika jest jego pojemność oraz kod w którym jest podawana ilość zliczanych impulsów. Pojemność określa max ilość impulsów którą może zliczyć licznik. Po przekroczeniu tej wartości licznik zaczyna zliczanie impulsów od początku. Liczniki w systemach mikroproces. są ukł. pomocniczymi.
Pamięci półprzewodnikowe Służą do przechowywania inf. w postaci cyfrowej. Ilość inf., które mogą przechowywać pojedyncze ukł. scalone pamięci zawiera się w zakresie od kilkudziesięciu KB do setek MB. Pamięci dynamiczne RAM (DRAM) pozwalają uzyskać duże pojemności w pojedynczym ukł. scalonym. Zasada działania opiera się na magazynowaniu ładunku w określonej, niewielkiej pojemności elektrycznej. Pojemność nie naładowana oznacza 0 logiczne, zaś poje. naładowana oznacza 1 logiczne.
Pamięci DRAM ze względu na sposób przechowywania inf. wymagają odświeżania (cyklicznego doładowania tych pojemności które przechowują wartość 1 ) Dostęp do pamięci musi odbywać się z zachowaniem określonych zależności czasowym. W odświeżaniu występuje tryb stronicowania – jest to sposób na przyśpieszenie współpracy z pamięcią DRAM.