Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8 Zasada działania magistrali...9 Jednostka arytmetyczno logiczna...9 Budowa i działanie mikroprocesora...
Podstawy działania układów cyfrowych Działanie układów cyfrowych oparte jest na wykorzystywaniu dwóch stanów elektrycznych tych układów, zwanych stanem niskim (ang. Low L) i stanem wysokim (ang. High H). Za pomocą tych stanów reprezentujemy informacje w układach cyfrowych. W tym celu stosuje się dwójkowy (binarny) system liczbowy. Systemy liczbowe System dziesiętny Zestaw cyfr dziesiętnych: {,,2,3,4,5,6,7,8,9} n n n 2 n... a) D = an + an 2 +... + a = ai i= ( a 2 ( 425) D = 4 + 2 + 5 i System dwójkowy Zestaw cyfr dwójkowych: {,} n n n 2 n... a) B = an 2 + an 2 2 +... + a 2 = ai i= ( a 2 4 3 2 ( ) B = 2 + 2 + 2 + 2 + System heksadecymalny Zestaw cyfr heksadecymalnych: {,,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 2 i n n n 2 n... a) H an 6 + an 2 6 +... + a 6 = ai i ( a = 6 = ( ) = F 6 + F FF B 6 i Zadania: Dokonać konwersji liczby 23d na liczbę binarną. Znaleźć liczbę dziesiętną odpowiadającą liczbie heksadecymalnej 4C2h. Zapisać liczbę binarną b w postaci liczby heksadecymalnej. Zapisać liczbę heksadecymalną 7CD5h w postaci binarnej. UTK. Podstawy układów cyfrowych - 2 -
Kodowanie informacji Kod liczbowy Kodem liczbowym nazywamy taki kod, który liczbom dowolnego systemu będzie przyporządkowywał słowa kodowe w postaci zerojedynkowej. Naturalny kod binarny (NKB) Kodem liczbowym nazywamy taki kod, który kaŝdej liczbie dziesiętnej będzie przyporządkowywał odpowiadającą jej liczbę binarną. Liczba kodowana Kod NKB 2 3 4 5 6 7 8 9 Kod prosty BCD (ang. Binary Coded Decimal) KaŜdej cyfrze dziesiętnej przyporządkowujemy czterocyfrową liczbę dwójkową (zwaną tetradą) w kodzie NKB. KaŜdej cyfrze liczby dziesiętnej przyporządkowujemy jedną tetradę wykorzystując kod NKB Przykład: (463) D = ( ) BCD Zadanie: Znaleźć słowa kodu BCD odpowiadające liczbom 67d i 256d Kod ASCII (ang. American Standard Code for Information Interchange) Jest to kod słuŝący do kodowania i przesyłania tekstów pomiędzy urządzeniami cyfrowymi. Koduje on oprócz znaków alfanumerycznych tak zwane znaki sterujące, słuŝące do sterowania transmisją i pracą drukarki lub dalekopisu. UTK. Podstawy układów cyfrowych - 3 -
Informacja cyfrowa Słowem cyfrowym (binarnym) nazywamy dowolny ciąg składający się z symboli i. Informacją cyfrową nazywamy informację przedstawioną (zakodowaną) w postaci słów cyfrowych. Nazwy słów cyfrowych Długość słowa Oznaczenie symboliczne Nazwa angielska Nazwa polska a bit bit 4 a 3..a nibble tetrada 8 a 7...a byte bajt 6 a 5...a 6-bit word, word słowo 6-bitowe, słowo 32 a 3...a double word, dword podwójne słowo 64 a 63...a quad word, qword czterosłowo Uwaga: w celu uniknięcia niejednoznaczności przy podawaniu ilości informacji ustalamy, Ŝe skrótowe oznaczenie: b oznacza bit, a B oznacza bajt. Na przykład 2 MB jest ilością informacji ośmiokrotnie większą niŝ 2 Mb. W słowach informacji cyfrowej warto teŝ wyróŝnić tzw. Najstarszą i najmłodszą pozycję. Nazywa się je odpowiednio najbardziej znaczącym bitem (ang. MSB most significant bit) oraz najmniej znaczącym bitem (ang. LSB least significant bit). Bramki logiczne a n... a MSB... LSB Zmienną logiczną nazywamy zmienną, która moŝe przyjmować jedną z dwóch wartości logicznych: prawdę lub fałsz. Logika prosta Stan elektryczny Wartość logiczna Cyfra binarna H high True L low False Logika odwrócona Stan elektryczny Wartość logiczna Cyfra binarna H high Fale L low True UTK. Podstawy układów cyfrowych - 4 -
Bramka NOT x Symbol bramki NOT y x y Bramka AND Symbol bramki AND x x 2 & y x x 2 y Bramka OR Symbol bramki OR x x 2 y x x 2 y UTK. Podstawy układów cyfrowych - 5 -
Podział układów logicznych Układy logiczne dzielimy na: - układy kombinacyjne, - układy sekwencyjne, - układy asynchroniczne, - układy synchroniczne. Układem kombinacyjnym nazywamy taki układ cyfrowy, w którym stan wejść jednoznacznie określa stan wyjść układu. Układem sekwencyjnym nazywamy taki układ cyfrowy, w którym stan wyjść zaleŝy od stanu wejść oraz od poprzednich stanów układu. Układem asynchronicznym nazywamy taki układ cyfrowy, dla którego w dowolnym momencie jego działania stan wejść oddziaływuje na stan wyjść. Układem synchronicznym nazywamy taki układ cyfrowy, dla którego stan wejść wpływa na stan wyjść jedynie w określonych odcinkach czasu pracy układu 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 sygnału zegarowego zwanego takŝe taktującym. Sygnał taktujący Poziom niski zbocze opadające Poziom wysoki zbocze narastające UTK. Podstawy układów cyfrowych - 6 -
Oznaczenia wejść zegarowych układów cyfrowych Rodzaj wejścia zegarowego Układ reaguje na poziom wysoki Symbol graficzny Układ reaguje na poziom niski Układ reaguje na zbocze narastające Układ reaguje na zbocze opadające Asynchroniczny przerzutnik RS Przerzutnikiem nazywamy układ cyfrowy pozwalający zapamiętać jeden bit informacji. Symbol przerzutnika RS S R Q Q Tabela działania przerzutnika RS R S Q n+ Q n - Synchroniczny przerzutnik D typu latch Symbol przerzutnika D D Q CLK Q Tabela działania przerzutnika RS D Q n+ UTK. Podstawy układów cyfrowych - 7 -
Cyfrowe układy funkcjonalne Rejestry Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego przechowywania niewielkich ilości informacji lub do zamiany postaci informacji z równoległej na szeregową lub odwrotnie. 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. Wejściem cyfrowym szeregowym nazywamy takie wejście, które umoŝliwia wprowadzenie do układu cyfrowego bit po bicie. KaŜdy bit jest wprowadzany w jednym takcie zegarowym. Uwaga: N-bitowe wejście równoległe jest n razy szybsze od wejścia szeregowego. Rejestry dzielimy na następujące grupy: - PIPO (ang. parallel input, parallel output) rejestry z wejściem i wyjściem równoległym rejestry buforowe typu zatrzask, - SISO (ang. serial input, serial output) rejestry z wejściem i wyjściem szeregowym rejestry przesuwające, - SIPO (ang. serial input, parallel output) rejestry z wejściem szeregowym i wyjściem równoległym stosowane w układach USART lub UART, - PISO (ang. parallel input, serial output) rejestry z wejściem równoległym i wyjściem szeregowym stosowane w układach USART (ang. universal synchronous/asynchronous receiver/transmiter) lub UART. Bramka trójstanowa ENABLE WE WY X stan dowolny, Z stan wysokiej impedancji WE ENABLE WY X Z UTK. Podstawy układów cyfrowych - 8 -
Zasada działania magistrali W systemach mikroprocesorowych istnieje konieczność zapewnienia komunikacji pomiędzy wieloma układami. Przykładami tych układów są: mikroprocesor, pamięć RAM, ROM i układy wejścia/wyjścia. Połączenie wielu układów metodą kaŝdy z kaŝdym doprowadziłoby do nadmiernego skomplikowania architektury komputera i jest praktycznie nierealne. Dlatego stosuje się sposób połączenia tych układów przy pomocy tak zwanej magistrali. 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. NADAJNIK UKŁAD ODSEPAROWANY OD MAGISTRALI MAGISTRALA ODBIORNIK Jednostka arytmetyczno logiczna Jednostką arytmetyczno-logiczną (ALU, ang. Arithmetic-Logic Unit) nazywamy uniwersalny układ cyfrowy przeznaczony do wykonywania operacji arytmetycznych i logicznych. Argument A n n W ynik Argument B n A LU n ilość bitów E U S ygnały sterujące UTK. Podstawy układów cyfrowych - 9 -
Budowa i działanie mikroprocesora Budowę prostego mikroprocesora przedstawiono na poniŝszym rysunku. Rejestry części wykonawczej A F Dane B D C E ALU Wyniki H L EU Program IR Wewnętrzne sygnały sterujące Dek Układ sterowania Zewnętrzne sygnały sterujące CU Oznaczenia: ALU jednostka arytmetyczno-logiczna IR rejestr rozkazów CU jednostka sterująca EU jednostka wykonawcza Dek dekoder rozkazów Zadaniem jednostki wykonawczej EU ( ang. execution unit) jest przetwarzanie informacji, czyli wykonywanie wszelkich operacji arytmetycznych i logicznych. Rodzaj wykonywanych operacji zaleŝy od wewnętrznych sygnałów sterujących wytwarzanych przez jednostkę sterującą CU (ang. control unit). W skład jednostki wykonawczej wchodzi jednostka arytmetyczno-logiczna oraz zestaw współpracujących z nią rejestrów. Informacją wejściową części wykonawczej są dane, zaś wyjściową wyniki. W skład jednostki sterującej CU wchodzą: rejestr rozkazów IR (ang. instruction register), dekoder rozkazów i układ sterowania. W rejestrze rozkazów przechowywany jest kod aktualnie wykonywanego rozkazu (instrukcji). Kody rozkazów pobierane są do rejestru rozkazów z pamięci. Ciąg rozkazów tworzy program wykonywany przez system. Po pobraniu z pamięci kod rozkazu jest dekodowany w dekoderze rozkazów. Zostaje rozpoznany rodzaj rozkazu i na jego podstawie układ sterowania wytwarza odpowiednie sygnały sterujące. UTK. Podstawy układów cyfrowych - -