46
Zdzisław Stryła wejścia-wyjś cia 1 Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia Zdzisław Stryła Instytut Fizyki UAM

Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Embed Size (px)

DESCRIPTION

Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia. Zdzisław Stryła Instytut Fizyki UAM. Projekt „STUDIA PODYPLOMOWE DLA NAUCZYCIELI W ZAKRESIE ICT, JĘZYKÓW OBCYCH ORAZ DRUGIEGO PRZEDMIOTU” - PowerPoint PPT Presentation

Citation preview

Page 1: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 1

Mikroprocesory w technice.W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła

Instytut Fizyki UAM

Page 2: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 2

Projekt „STUDIA PODYPLOMOWE DLA NAUCZYCIELI W ZAKRESIE ICT, JĘZYKÓW OBCYCH ORAZ DRUGIEGO PRZEDMIOTU”

realizowany zgodnie zSEKTOROWYM PROGRAMEM OPERACYJNYM - ROZWÓJ ZASOBÓW

LUDZKICHi współfinansowany ze środków BUDŻETU PAŃSTWA i środków UNII

EUROPEJSKIEJ w ramach EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO.

Page 3: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 3

Układy wejścia/wyjścia

• Urządzenia wejścia – wyjścia służą do wymiany informacji między systemem komputerowym, a urządzeniami zewnętrznymi (światem zewnętrznym).

Page 4: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 5

Układy wejścia/wyjścia • Podział ze względu na przeznaczenie:

– Układy wejść cyfrowych (równoległe, szeregowe) do wprowadzanie informacji w postaci wektorów binarnych;

– Układy wyjść cyfrowych;– Układy wejść analogowych, przetwarzające

sygnały z przetworników analogowych na postać cyfrową ;

– Układy wyjść (kwazi- ) analogowych;

Page 5: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 6

Magistrale

Typowy system komputerowy zawiera jednokierunkową magistralę adresową, dwukierunkową magistralę danych i dwukierunkową magistralę sterującą.

W przypadku prostszych systemów, gdzie głównym parametrem jest cena, a nie szybkość przetwarzania, ogranicza się liczbę wyprowadzeń procesora przez multipleksację magistrali danych i adresów.

Page 6: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 7

magistrale

procesor pamięć I/O

Magistrala adresowa

Magistrala danych

Magistrala sterująca

Urządzenia

zewnętrzne/

otoczenie

Page 7: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 8

magistrala multipleksowana

procesor pamięć I/O

Magistrala danych i adresów

Magistrala sterująca

Urządzenia

zewnętrzne/

otoczenie

Zatrzask adresowy

Page 8: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 9

Adresowanie wejść i wyjść – podział ze względu na sposób współpracy z procesorem.

•Układy we/wy współadresowane (memory mapped I/O) z pamięcią, widziane przez procesor, tak jak komórki pamięci:

• lista rozkazów nie zawiera rozkazów we/wy;

• wszystkie rozkazy dotyczące operacji na pamięci muszą być wykonalne na rejestrach we/wy.

•Układy we –wy izolowane (isolated I/O) :

• Lista rozkazów zawiera specjalne rozkazy wejścia i wyjścia;

• Magistrala sterująca musi mieć odrębne linie do sterowania pamięci i odrębne do sterowania we/wy.

Page 9: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 10

Mikroprocesor z zewnątrz

proce

sor

adresy

dane

memory write (zapis do pamięci)

Memory read (odczyt z pamięci)

i/o write (zapis do WE/WY)

I/O read (odczyt z WE/WY)

DMA request (żądanie dostępu DMA)

DMA acknowledge (potwierdzenie dostępu DMA)

Interrupt acknowledge (potwierdzenie przerwania)

Interrupt request (żądanie obsługi przerwania)

Wait (czekam)

ready (gotów)

Reset (zeruj)

clk (zegar)

Page 10: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 11

Operacje we –wy programowo

• Operacje we –wy bezwarunkowe;

• z testowaniem statusu urządzenia;

• z przerwaniem wykonywania programu;

• z przekazaniem sterowania (tryb DMA);

Page 11: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 12

Operacje we –wy bezwarunkowe;

• Polegają na wpisie danej do rejestru urządzenia we/wy (lub odczycie z) bez kontroli gotowości urządzenia do wymiany danych.

• Moment transmisji jest określony przez lokalizację rozkazu we/wy w programie.– Prostota układowa i programowa;– Niebezpieczeństwo utraty danych.

Page 12: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 13

Układ sprzęgający do op. bezwarunkowychMagistrala danych

Magistrala adresów

Magistrala sterująca

Dekoder adresów

Bufor trójstanowy

read

Dane z urządzenia zewnętrznego

Zezwolenie na odczyt

Page 13: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 14

Układ wyjściowy do op. bezwarunkowychMagistrala danych

Magistrala adresów

Magistrala sterująca

Dekoder adresów

write

Dane do urządzenia zewnętrznego

Zezwolenie na zapis

Bufor wyjściowy

Page 14: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 15

proce

sor

Sprzęg klawiaturyadresy Dekoder

adresów

read

+5V

GND

Bufor trójstanowy

dan

e

Page 15: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 16

proce

sor

Sprzęg wyświetlaczaadresy Dekoder

adresów

write

+5V

Diody świecące

dan

e

Bufor trójstanowy

Page 16: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 17

Operacje we –wy z testowaniem stanu urządzenia we/wy

• Wymiana danych poprzedzana jest sprawdzeniem gotowości urządzenia we/wy do transmisji przez sprawdzenie jego rejestru statusowego.

• Tworzona jest programowa pętla przepytywania:– Prostota programowa;– Straty czasu w oczekiwaniu na gotowość;

Page 17: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 18

Operacje we –wy z testowaniem statusu urządzenia

Czy układ gotów

do transmisji?

Odczyt rejestru statusowego urz. we/wy

transmisja

nie

tak

Page 18: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 19

Przykład – sprzęg przetwornika a/d

STARTENABLEBUSY WYJŚCIE CYFROWE

MIERZONE NAPIĘCIE

START

BUSY

ENABLE

t

Czas przetwarzania

Dane na magistrali

Page 19: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 20

proce

sor

Sprzęg przetwornikaadresy

Dekoder adresów

dan

e STARTENABLEBUSY WYJŚCIE CYFROWE

MIERZONE NAPIĘCIE A1 A2 A3

write

read

Page 20: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 21

Przerwania• Przerwania umożliwiają reakcję systemu na

zdarzenia zewnętrzne, zdarzenia istotne dla wykonywanego programu i efektywne wykorzystanie zasobów.

• Ich cechą charakterystyczną jest przerwanie wykonywania aktualnego zadania, zapamiętanie kontekstu (stanu procesora, itd..), przejście do procedury obsługi przerwania, a po jej zakończeniu powrót do przerwanego zadania.

Page 21: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 22

przerwania• Przerwania sprzętowe (zewnętrzne).

– Urządzenie we/wy zgłasza żądanie obsługi.

• Przerwania wewnętrzne (wyjątki).– Obsługa sytuacji, w których program nie może być

kontynuowany (np. zdekodowanie nieistniejącego rozkazu, niedopuszczalnego trybu adresowania, naruszenie ochrony pamięci).

• Przerwania programowe (pułapki)– Metoda komunikacji z systemem operacyjnym dla

wykonania działań (usług) zastrzeżonych dla S.O.

Page 22: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 23

Przerwania sprzętowe

• Urządzenie zewnętrzne zgłasza żądanie obsługi:– W niektórych procesorach każde źródło

przerwań ma swoją linię zgłoszeń, dzięki czemu jego identyfikacja jest bezproblemowa;

– znacznie częściej jest jedna linia zgłoszenia przerwań, co wymaga dodatkowych czynności dla identyfikacji źródła.

Page 23: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 24

Obsługa przerwania

• Na końcu cyklu rozkazowego sprawdzana jest linia żądania przerwań;

• W przypadku wystąpienia żądania przerwania należy:– Zidentyfikować zgłoszenie;– Zapamiętać stan przerywanego programu;– Zablokować zgłoszenia;– Wywołać odpowiedni program obsługi.

• Po wykonaniu obsługi należy odtworzyć kontekst i powrócić do przerwanego programu.

Page 24: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 25

Cykl rozkazowy z przerwaniami

Pobranie rozkazu

Obliczenie adresu

rozkazu

Dekodo-wanie

rozkazu

Oblicze-nie adresu

argumentu

Operacja na danych

Oblicze-nie adresu wyniku

Sprawdze-nie

przerwań

Wyznaczenie numeru przerwania Zapisanie kontekstu

Pobranie argumentu

Zapisanie wyniku

Następny element wektora

Następny rozkaz

Page 25: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 26

Zgłaszanie przerwań –suma „na drucie”

+5V

Int 0 Int n

INTR =

Page 26: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 27

Maskowanie przerwań

• Niektóre przerwania są czynne zawsze – niemaskowalne;

• Większość można programowo blokować – maskować;

• Ponadto można programowo wyłączyć cały system przerwań maskowalnych.

Page 27: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 28

Identyfikacja źródła przerwania

• Wiele linii przerwań;

• Odpytywanie programowe;

• Odpytywanie sprzętowe;

• Arbitraż na magistrali.

Page 28: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 29

Wiele linii przerwań;

• Stosuje się, gdy liczba urządzeń przerywających jest niewielka;

• Przede wszystkim w niewielkich systemach „zamkniętych” .

Page 29: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 30

Odpytywanie programowe;• Po wykryciu zgłoszenia wywoływana jest

procedura, która sprawdza, który moduł we/wy zgłosił przerwanie, przepytując wszystkie wszystkie po kolei :– Przy użyciu specjalnej linii sterującej i kolejnym

adresowaniu modułów;– Lub przez odczytanie rejestrów statusowych;– Po zidentyfikowaniu urządzenia przerywającego

uruchamiana jest procedura obsługi przerwania.

• Wadą jest czasochłonność.

Page 30: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 31

Programowa identyfikacja źródła przerwaniaprzerwanie

INTR1?

INTR2?

INTR n?

procedura

obsługi 1

procedura

obsługi 2

procedura

obsługi n

powrót

T

T

T

N

N

N

Page 31: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 32

Odpytywanie sprzętowe – przerwania wektorowe

• System łańcuchowy – sygnał potwierdzenia przerwania przechodzi po kolei przez moduły we/wy, aż natrafi na ten, który zgłaszał przerwanie. Moduł odpowiada ustawiając na magistrali danych swój identyfikator (np. adres wskaźnika pułapki lub adres pułapki);

• Moduł jednocześnie blokuje przejście sygnału potwierdzenia przerwania do następnych modułów;

• Kolejność ustawienia modułów w łańcuchu decyduje o ich priorytecie.

Page 32: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 33

Odpytywanie sprzętowe II;

• Koder priorytetowy – na jego wyjściu pojawia się numer urządzenia o najwyższym priorytecie spośród zgłaszających.

• Jest to metoda arbitrażu równoległego.

Page 33: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 34

Bezpośredni system przerwańprocesor

Koder priorytetowy

dane

INTR

INTA

UnU1

EI

Zezwolenie

ogólne

Rejestr maski

Page 34: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 35

Zapamiętanie kontekstu

• Przed przejściem do procedury obsługi przerwania należy zapamiętać informacje niezbędne do kontynuacji programu:– Zawartość licznika programu, czyli adres

następnego rozkazu;– Słowo stanu procesora;– Zawartość innych rejestrów procesora, które

będą używane w trakcie obsługi przerwania.

Page 35: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 36

Użycie stosu systemowego• Licznik programu i słowo stanu procesora są

zwykle odkładane na stos automatycznie;• Pozostałe rejestry należy odłożyć na stos

programowo na początku procedury obsługi przerwania.

• Przed powrotem z procedury obsługi przerwania odtwarzamy zawartość rejestrów.

• Rozkaz powrotu z przerwania (RETI) powoduje zdjęcie ze stosu zawartości rejestru stanu procesora i licznika programu.

Page 36: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 37

Przełączanie kontekstu

• Zamiast czasochłonnego odkładania zawartości rejestrów na stos można wyposażyć procesor w dodatkowe zestawy rejestrów, podstawiane w miejsce podstawowych przy wejściu w obsługę przerwania.

• Metoda ta jest szybka, ale utrudnia stosowanie wielopoziomowego systemu przerwań;

Page 37: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 38

Blokada zgłoszeń• Zapewnia niezakłócone wykonanie procedury

obsługi przerwania.• Ponowna aktywizacja następuje przy powrocie z

przerwania;• W przypadku, gdy wymagamy, aby przerwanie o

wyższym priorytecie od aktualnie obsługiwanego zostało natychmiast obsłużone, nie możemy blokować zgłoszeń.– dla rozwiązań z przełączaniem kontekstu dależy

kontrolować stopień zagnieżdżenia.

Page 38: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 39

Obsługa przerwań

reti

Identyfikacja przerwania;Zachowanie kontekstu;

Dezaktywizacja przerwań

odtworzenie kontekstu;aktywizacja przerwań

Program główny

Procedura obsługi

przerwania.

Page 39: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 40

Obsługa przerwańsekwencyjna wielopoziomowa

reti

reti

Przerwanie N

Przerwanie M

reti

reti

Przerwanie N

Przerwanie M

Page 40: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 41

Obsługa przerwańsekwencyjna

t

1 2 4 2 cd

1 2 4 3 Zgłoszenia przerwań

Procedury obsługi

t

1 4 3 2

wielopoziomowa

1 2 4 3Zgłoszenia przerwań

Procedury obsługi

3 1 cd

Page 41: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 42

Organizacja pamięci dla wektorowego systemu przerwań.

• Identyfikacja źródła przerwania polegająca na podaniu adresu początkowego procedury obsługi nie jest wygodna.

• Znacznie częściej identyfikacja następuje wg numeru przerwania.

• W dolnej części pamięci rezerwuje się obszar na wektor adresów. Dana komórka wektora adresów jest identyfikowana przez numer przerwania (z ew. mnożnikiem).

Page 42: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 43

Organizacja pamięci dla wektorowego systemu przerwań.

• Wektor adresów (wskaźników pułapek) zawiera adresy początków procedur obsługi poszczególnych przerwań.

• Metoda ta umożliwia łatwą relokację procedur obsługi przerwań.

Page 43: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 44

Organizacja pamięci dla

wektorowego systemu

przerwań.

Adr. Puł. 1

Adr. Puł. 2

Adr. Puł. 3

Rozk.1.

Rozk.2.

Pułapka 1

Page 44: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 45

Operacje we/wy z przekazaniem sterowania (tryb DMA)

• Przesłania dużych bloków danych między między pamięcią, a urządzeniem we/wy z pośrednictwem procesora prowadzi do spowolnienia wymiany.

Page 45: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 46

Operacje we/wy z przekazaniem sterowania (tryb DMA)

• Operacje bezpośredniego dostępu do pamięci polegają na tym, że: – Transmisja następuje pomiędzy wyznaczonym

obszarem pamięci (buforem), a rejestrami układu we/wy z pominięciem procesora.

– Procesor zawiesza swe działanie na czas transmisji bez naruszania kontekstu (hold).

– Kontrolę nad magistralami przejmuje układ sprzęgający urządzenia we/wy.

Page 46: Mikroprocesory w technice. W4 – urządzenia wejścia - wyjścia

Zdzisław Stryła wejścia-wyjścia 47

Układ DMA

• Układ sprzęgu DMA winien być wyposażony w licznik adresów i licznik słów, które umożliwiają sterowanie transmisją bloku.

• Wartości początkowe układ DMA otrzymuje z procesora.– Transmisja blokowa;– Transmisja z wykradaniem cykli.