Cyfrowe układy funkcjonalneB

background image

Architektura komputerów – Podstawy działania układów cyfrowych

1

Cyfrowe układy funkcjonalne

W tej części wykładu przedstawimy działanie wybranych bardziej rozbudowanych układów cyfrowych,

zwanych cyfrowymi układami funkcjonalnymi, ze szczególnym uwzględnieniem tych układów, których

znajomość jest istotna dla zrozumienia zasady działania komputera.

Omówimy kolejno działanie prostych układów pamiętających (rejestrów), układów związanych z

pojęciem magistrali, układów arytmetycznych, dekoderów, koderów oraz liczników.

Nazywamy je układami funkcjonalnymi, gdyż pełnią one w systemach cyfrowych określone funkcje,

takie jak na przykład wykonywanie działań arytmetycznych, krótkoterminowe przechowywanie informacji

czy dekodowanie adresów.

Będą one, jak poprzednio, omawiane w większości wypadków jako czarne skrzynki, nie opisując

sposobu, w jaki zostały one zrealizowane za pomocą elementów podstawowych.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

2

1. Rejestry

Definicja

Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego prze-
chowywania niewielkich ilości informacji lub do zamiany postaci informacji z
równoległej na szeregową albo odwrotnie.

W definicji rejestru wystąpiło pojecie szeregowej i równoległej postaci informacji. Jest ono intuicyjnie

dość jasne, poniżej podajemy jednak jego dokładniejsze określenie.

Pojecie postaci informacji jest związane z wprowadzaniem, wyprowadzaniem i przesyłaniem

informacji. Określenie postaci informacji wystarczy podać dla jednego z tych przypadków, gdyż następnie

łatwo je uogólnić na pozostałe przypadki.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

3

Definicja

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.

Z określenia tego wynika, że ilość zacisków wejściowych w wejściu równoległym musi być równa

ilości bitów we wprowadzanym słowie. Równoległe wprowadzanie informacji pokazane jest na

rysunku 13.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

4

Rysunek 13. Równoległe wprowadzanie informacji do układu

background image

Architektura komputerów – Podstawy działania układów cyfrowych

5

Definicja

Wejściem cyfrowym szeregowym nazywamy takie wejście, które umożliwia
wprowadzanie informacji do układu bit po bicie. Do wprowadzenia słowa n-bitowego
potrzeba n taktów zegara
.

Wejście szeregowe wymaga wiec tylko jednego zacisku wejścia danych. Kolejne etapy wprowadzania

do układu cyfrowego słowa 4-bitowego przedstawione są na rysunku 14.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

6

Rysunek 14. Szeregowe wprowadzanie informacji do układu

background image

Architektura komputerów – Podstawy działania układów cyfrowych

7

Definicja

Jeżeli informacje wprowadzamy, wyprowadzamy lub przesyłamy bit po bicie (jeden bit na
jeden takt zegara), to taką postać informacji nazywamy szeregową.
Jeżeli wprowadzamy, wyprowadzamy lub przesyłamy wszystkie bity słowa informacji
jednocześnie, w jednym takcie zegara, to taką postać informacji nazywamy równoległą.

Ze sposobem wprowadzania i wyprowadzania informacji w rejestrach wiąże się podział rejestrów na

następujące grupy:

• rejestry z wejściem i wyjściem równoległym - PIPO (ang. parallel input, parallel

output). Rejestry te często nazywane są rejestrami buforowymi lub (w przypadku

reagowania wejścia taktującego na poziom) rejestrami zatrzaskowymi (ang. latch)

background image

Architektura komputerów – Podstawy działania układów cyfrowych

8

rejestry z wejściem i wyjściem szeregowym - SISO (ang. serial input, serial

output). Są to tak zwane rejestry przesuwające

• rejestry z wejściem szeregowym i wyjściem równoległym - SIPO (ang. serial

input, parallel output)

• rejestry z wejściem równoległym i wyjściem szeregowym - PISO (ang. parallelinput, serial output)

Przykłady zastosowania rejestrów buforowych to przykład sposobu adresowania pamięci DRAM.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

9

Rejestry SIPO i PISO stosuje się do zamiany postaci informacji z szeregowej na równoległą i odwrotnie.

Potrzeba takiej zamiany istnieje przy stosowaniu układu transmisji szeregowej (UART lub USART, ang.

universal synchronous/asynchronous receiver/transmitter). Układ ten przesyła informację na zewnątrz

komputera w sposób

szeregowy. Z kolei wewnątrz systemu informacja przesyłana jest w sposób równoległy.

Układ USART musi więc dokonać konwersji postaci informacji i mogą być do tego użyte rejestry SIPO i

PISO.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

10

2. Bramki trójstanowe

W układach cyfrowych, a szczególnie w układach i systemach mikroprocesorowych (a wiec i w

komputerach), występuje często potrzeba odseparowania elektrycznego dwóch lub więcej punktów w

systemie, na przykład wyjścia pewnego układu i wspólnego przewodu, po którym przesyłamy informację.

Odseparowanie elektryczne oznacza, że wartości wielkości elektrycznych (takich jak napięcie czy prąd) w

obydwu punktach nie wpływają wzajemnie na siebie i mogą przyjmować dowolne, dozwolone wartości.

Inaczej mówiąc, w układach cyfrowych, stan logiczny w jednym punkcie, odseparowanym od innego

punktu, nie wpływa na niego i nie jest z nim w żaden sposób związany.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

11

Układami umożliwiającymi odseparowanie dwóch punktów w układzie są tak zwane bramki

trójstanowe. Schemat logiczny takiej bramki i tabela przedstawiająca jej działanie pokazane są na rysunku

15 i w tabeli 7 .

Rysunek 15. Schemat logiczny bramki trójstanowej

background image

Architektura komputerów – Podstawy działania układów cyfrowych

12

Tabela 7. Tabela prawdy bramki trójstanowej

WE

ENABLE

WY

0

1

0

1

1

1

X

0

Z

Klucz (przełącznik) występujący w schemacie tej bramki jest oczywiście kluczem elektronicznym. Sposób

elektronicznej realizacji bramek trójstanowych nie jest dla nas istotny i nie będziemy go opisywać. Stan Z

występujący w tabeli opisującej działanie bramki trójstanowej oznacza tak zwany stan wysokiej

impedancji czyli właśnie brak wzajemnego wpływu wartości elektrycznych na wejściu na wartości

elektryczne na wyjściu bramki. Stan Z jest więc oprócz stanów O i l trzecim stanem, w którym może znaj-

dować się bramka, stąd też bierze się jej nazwa. W przypadku zamknięcia klucza bramka ta transmituje

wartość sygnału logicznego z wejścia na wyjście.

Przykładowe użycie bramek trójstanowych zostanie pokazane w przy omawianiu pojęcia magistrali.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

13

3. Pojęcie magistrali

Zasada działania magistrali

W systemach mikroprocesorowych istnieje konieczność zapewnienia komunika cji 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 nadmiernej

ilości połączeń i jest praktycznie nierealne. Dlatego stosuje się sposób połączenia tych układów 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 jednak zapewnić poprawne jej

funkcjonowanie i brak kolizji pomiędzy połączonymi nią układami, magistrala obsługiwana jest według

ściśle określonych, podanych w definicji reguł.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

14

Definicja

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łających.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

15

Jak wynika z powyższej definicji, układy dołączone do magistrali muszą mieć możliwość elektrycznego

odseparowania się od linii, którymi przesyłana jest informacja. Wynika to miedzy innymi z konieczności

zapewnienia jednoznacznego stanu każdej z linii. W przypadku jednoczesnego dołączenia do linii przesyłającej

dwóch nadajników, mógłby wystąpić konflikt, gdyby przykładowo jeden z nich próbował wymusić stan

logiczny linii równy 0 , a drugi 1.Układami zapewniającymi możliwość separacji są właśnie bramki

trójstanowe, opisane w poprzednim podpunkcie. Przykładowy rejestr z takim wyjściem przedstawiony jest na

rysunku 16a. Idea współpracy kilku układów za pośrednictwem magistrali zilustrowana jest

na rysunku 16b.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

16

Rysunek 16. Idea działania magistrali

background image

Architektura komputerów – Podstawy działania układów cyfrowych

17

4. Dwukierunkowe wzmacniacze buforowe (transcivery)

Pomiędzy układem będącym w danym momencie nadajnikiem na magistrali a układem-odbiornikiem

stosuje się zwykle układy buforowe, pośredniczące w wymianie informacji. Zadaniem tego typu układów jest

zmniejszenie obciążenia nadajnika przez odbiornik, zwiększenie prądu wyjściowego i, co za tym idzie,

poprawa kształtu zboczy (poprzez szybsze przeładowywanie pojemności pasożytniczych).

W przypadku magistral, po których informacja może być przesyłana w obydwu kierunkach, takich jak na

przykład magistrala danych , układy wzmacniaczy buforowych muszą działać w obydwu kierunkach. Nazywane

są one wówczas nadajnikami/odbiornikami lub transciverami (ang. transmitter-receiver). Dodatkowo

układy te potrafią przejść także w stan wysokiej impedancji, separując nawzajem od siebie łączone układy.

Przykład tego typu układu, wykonanego jako pojedynczy układ scalony, INTEL 8286, przedstawiono na

rysunku 17.. Oczywiście układy transciverów mogą wchodzić w skład większych układów scalonych (np.

chipsetów).

background image

Architektura komputerów – Podstawy działania układów cyfrowych

18

Rysunek 17. Układ transcivera (nadajnika/odbiornika) 18286

background image

Architektura komputerów – Podstawy działania układów cyfrowych

19

5.Układy arytmetyczne

Cyfrowe układy arytmetyczne służą do wykonywania działań arytmetycznych na liczbach binarnych

(na liczbach binarnych ze znakiem,na liczbach binarnych zapisanych w różnych formatach-np.

zmiennoprzecinkowych). My ograniczymy się tylko do krótkiego omówienia ALU .

background image

Architektura komputerów – Podstawy działania układów cyfrowych

20

Jednostka arytmetyczno-logiczna

Definicja

Jednostką arytmetyczno-logiczna (ALU, ang. Arithmetic-Logic Unit) nazywamy
uniwersalny układ cyfrowy przeznaczony do wykonywania operacji arytmetycznych i
logicznych
.

Przykładowy symbol oznaczający jednostkę arytmetyczno-logiczna (niestety istnieje tu pewna

dowolność) przedstawiono na rysunku 18

.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

21

Rysunek 18. Symbol jednostki arytmetyczno-logicznej

background image

Architektura komputerów – Podstawy działania układów cyfrowych

22

Słowo „uniwersalny" w definicji ALU oznacza, że zestaw operacji, które potrafi zrealizować jednostka

arytmetyczno-logiczna, powinien być funkcjonalnie pełny. Zestaw operacji jest funkcjonalnie pełny, jeżeli za

jego pomocą jesteśmy w stanie zrealizować dowolny algorytm przetwarzania informacji.

Do zestawu operacji wykonywanych przez jednostkę arytmetyczno-logiczna 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. Oczywiście dokładna lista wykonywanych operacji zależy od konkretnego typu jednostki

arytmetyczno-logicznej. W naszych rozważaniach interesujemy się jednostką arytmetyczno-logiczna głównie

jako elementem składowym mikroprocesora. Wówczas jej „umiejętności" decydują o dość dużym fragmencie

tak zwanej listy rozkazów procesora, o której dokładniej powiemy przy omawianiu architektury procesora.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

23

Aby możliwe było dokonanie wyboru operacji realizowanej w danym momencie przez jednostkę

arytmetyczno-logiczna, musi ona posiadać zestaw wejść zwanych wejściami sterującymi. Pozwalają one

dokonać tego wyboru na drodze elektrycznej, przez podanie na te wejścia określonej kombinacji zer i jedynek

przyporządkowanej żądanej operacji.

Jednostka arytmetyczno-logiczna nie ma własnych układów pamiętających, dlatego musi współpracować

z pewnym zestawem rejestrów. Dwa z nich pełnią szczególne funkcje i dlatego też mają swoje nazwy.

Rejestr, który zawiera jeden z argumentów operacji i do którego ładowany jest wynik wykonywanej

operacji, zwany jest akumulatorem.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

24

Rejestr zawierający pewne dodatkowe cechy wyniku wykonywanej operacji, takie jak przeniesienie czy

też przekroczenie zakresu dla działań w kodzie U2 są przechowywane w postaci określonych bitów (np. o

nazwach CY czy OV) w rejestrze flagowym. .

Pewnych wyjaśnień wymaga realizacja przez jednostkę arytmetyczno-logiczna operacji logicznych.

W sposób naturalny operacje te dotyczą pojedynczych bitów (l lub O możemy interpretować jako

prawdę lub fałsz). Jednakże nie każda jednostka arytmetyczno-logiczna potrafi operować na pojedynczych

bitach. Jak więc operacje te są wykonywane w przypadku argumentów będących słowami (np. bajtami)?

Wyjaśnienie znajduje się na rysunku 19.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

25

Rysunek 19. Sposób wykonywania przez ALU działań logicznych na bajtach

Jak widzimy, przykładowa realizacja operacji mnożenia logicznego w przypadku argumentów bajtowych

jest równoznaczna obliczeniu ośmiu iloczynów logicznych.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

26

6. Dekodery i kodery priorytetu

Dekodery i kodery pełnią w systemach mikroprocesorowych ważne funkcje pomocnicze. Dekodery

stosowane są w tych miejscach, gdzie za pomocą liczby zwanej adresem wybieramy jeden z wielu

obiektów, na przykład określone miejsce w pamięci czy też określony układ wejścia/wyjścia. Układy te

spotkamy przykładowo w pamięciach półprzewodnikowych zaś układ kodera priorytetu występuje w takich

układach jak sterownik przerwań czy sterownik DMA.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

27

Dekodery

Definicja

Dekoderem nazywamy układ cyfrowy mający n wejść oraz k wyjść, przy czym k < 2

n

.

Na wejście dekodera podajemy zakodowany numer wyjścia, na którym ma pojawić się
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 wartości np. 1.

Symbol dekodera przedstawiony jest na rysunku 20. Podana tam jest też pewna kombinacja sygnałów

wejściowych i odpowiadające im sygnały wyjściowe

.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

28

Rysunek 20. Symbol dekodera wraz z przykładową kombinacją sygnałów


background image

Architektura komputerów – Podstawy działania układów cyfrowych

29

Działanie dekodera jest proste. Na jednym z jego wyjść pojawia się wyróżniona wartość (może to być

O lub 1). Na pozostałych wyjściach występują wartości przeciwne do wyróżnionej. O tym, na którym

wyjściu pojawi się wartość wyróżniona, decyduje kombinacja sygnałów podawana na wejście.

Kombinacja ta jest zakodowanym numerem wyjścia, na którym wystąpi wyróżniony sygnał.

Teoretycznie numer ten może być zakodowany w dowolnym kodzie. Praktycznie w dekoderach używa się

niemal wyłącznie kodu NKB (jako najprostszego).

W przykładowym dekoderze przedstawionym na rysunku 20 występuje dodatkowe wejście

zezwalające (sterujące) ENABLE. Brak zezwolenia, czyli w naszym przypadku wartość l, powoduje, że

dekoder jest nieaktywny i na żadnym z jego wyjść nie ma stanu wyróżnionego.

Warunek na wartość k, występujący w definicji, wynika stąd, że musimy mieć co najmniej tyle różnych

numerów, ile jest wyjść dekodera, zaś ilość różnych liczb n-bi-towych wynosi 2

n

.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

30

Koder priorytetu

Koder priorytetu jest pewną modyfikacją układu zwanego koderem, dlatego najpierw przedstawimy

działanie kodera, a następnie kodera priorytetu.

Działanie kodera jest w pewnym sensie odwrotne do działania dekodera

Definicja

Koderem nazywamy układ cyfrowy o n wyjściach i k < 2

n

wejściach, przy czym na wyjściu

pojawia się zakodowany numer tego wejścia, na którym ten sygnał występuje.

Podobnie jak dla dekoderów na wyjściu, dla koderów zakładamy, że na ich wejściu pojawia się tylko

jeden wyróżniony sygnał.

W systemach cyfrowych zachodzi niejednokrotnie 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

układ kodera priorytetu.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

31

Definicja

Koderem priorytetu nazywamy układ kodera, w którym wprowadzono następujące
zmiany:
1. Na jego wejściu może pojawić się więcej niż jeden sygnał wyróżniony.
2. Każdemu wejściu przyporządkowano pewien stopień ważności, zwany
priorytetem.
3. Na wyjściu pojawia się zakodowany numer tego wejścia z wyróżnionym
sygnałem, które posiada najwyższy priorytet.

Symbol kodera priorytetu wraz z przykładową kombinacją sygnałów wejściowych i wyjściowych,

przedstawione są na rysunku 21.

Na wyjściu układu z rysunku 21 pojawił się kod liczby 5, ponieważ wyróżniony sygnał jest podany na

wejścia o numerach 3 i 5 i spośród nich wejście 5 ma najwyższy priorytet.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

32

Rysunek 21. Symbol i przykładowe wartości sygnałów dla kodera priorytetu.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

33

Liczniki

Definicja

Licznikiem nazywamy układ cyfrowy, na którego wyjściu pojawia się zakodowana
liczba impulsów podanych na wejście zliczające licznika, zliczona przez licznik.

Definicja ta wymaga pewnych dodatkowych założeń. Po pierwsze zakładamy, że licznik zawsze

zaczyna liczyć od tej samej wartości początkowej, najczęściej od zera. Po drugie założyliśmy, że licznik

może zliczyć dowolną ilość impulsów, co w praktyce nie jest prawdą.

background image

Architektura komputerów – Podstawy działania układów cyfrowych

34

Podstawowymi parametrami charakteryzującymi licznik są jego pojemność oraz kod, w którym jest

podawana ilość zliczanych impulsów.

Pojemność określa maksymalną ilością impulsów, którą może zliczyć licznik. Po przekroczeniu tej

wartości licznik zaczyna zliczanie impulsów od początku.

Liczniki w systemach mikroprocesorowych są w zasadzie układami pomocniczymi. Pewną formą

licznika jest tak zwany wskaźnik instrukcji, pełniący bardzo ważną funkcje w działaniu mikroprocesora.


Wyszukiwarka

Podobne podstrony:
Cyfrowe układy kombinacyjne
Cyfrowe Układy Scalone Serii MCY74 N
Człowiek jako całość Układy funkcjonalne
10 Cyfrowe Uklady Sekwencyjne Nieznany
Elektroniczne układy analogowe i cyfrowe, Układy kombinacyjne
kukawczyński, Analogowe i cyfrowe układy elektroniczne I P, Zasilacz sieciowy z prostownikiem mostko
9 Cyfrowe Układy Kombinacyjne
F2 1 Cyfrowe układy scalone
Wykład XII Struktury cyfrowych zespołów funkcjonalnych
Cyfrowe uklady scalone
Cyfrowe uklady logiczne
2 WYKLAD Cyfrowe układy scalone
,Analogowe i cyfrowe układy elektroniczne I L, Projekt filtru cyfrowego NOI (realizacja schemat bl
elektronika cyfrowe układy kombinacyjne 3F2Z7LBV3UQWMPV3OADNTCQLCZHPW2DOT4WVVJQ
kukawczyński, Analogowe i cyfrowe układy elektroniczne I P, Układ 5 pasmowego korektora graficznego

więcej podobnych podstron