1 / 46

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

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”

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mikroprocesory w technice.W4 – urządzenia wejścia - wyjścia Zdzisław Stryła Instytut Fizyki UAM 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. 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). Zdzisław Stryła wejścia-wyjścia

  4. 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; Zdzisław Stryła wejścia-wyjścia

  5. 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. Zdzisław Stryła wejścia-wyjścia

  6. magistrale Magistrala adresowa procesor pamięć I/O Urządzenia zewnętrzne/ otoczenie Magistrala danych Magistrala sterująca Zdzisław Stryła wejścia-wyjścia

  7. magistrala multipleksowana procesor pamięć I/O Urządzenia zewnętrzne/ otoczenie Zatrzask adresowy Magistrala danych i adresów Magistrala sterująca Zdzisław Stryła wejścia-wyjścia

  8. 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. Zdzisław Stryła wejścia-wyjścia

  9. Mikroprocesor z zewnątrz procesor adresy dane memory write (zapis do pamięci) Memory read (odczyt z pamięci) Wait (czekam) ready (gotów) i/o write (zapis do WE/WY) I/O read (odczyt z WE/WY) Interrupt request (żądanie obsługi przerwania) Interrupt acknowledge (potwierdzenie przerwania) DMA request (żądanie dostępu DMA) DMA acknowledge (potwierdzenie dostępu DMA) Reset (zeruj) clk (zegar) Zdzisław Stryła wejścia-wyjścia

  10. Operacje we –wy programowo • Operacje we –wy bezwarunkowe; • z testowaniem statusu urządzenia; • z przerwaniem wykonywania programu; • z przekazaniem sterowania (tryb DMA); Zdzisław Stryła wejścia-wyjścia

  11. 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. Zdzisław Stryła wejścia-wyjścia

  12. Układ sprzęgający do op. bezwarunkowych Magistrala danych Bufor trójstanowy Magistrala adresów Magistrala sterująca read Dekoder adresów F Zezwolenie na odczyt Dane z urządzenia zewnętrznego Zdzisław Stryła wejścia-wyjścia

  13. Układ wyjściowy do op. bezwarunkowych Magistrala danych Magistrala adresów Magistrala sterująca write Dekoder adresów Zezwolenie na zapis F Bufor wyjściowy Dane do urządzenia zewnętrznego Zdzisław Stryła wejścia-wyjścia

  14. Sprzęg klawiatury procesor adresy Dekoder adresów Bufor trójstanowy F dane read GND +5V Zdzisław Stryła wejścia-wyjścia

  15. Sprzęg wyświetlacza procesor adresy Dekoder adresów F dane Bufor trójstanowy write Diody świecące +5V Zdzisław Stryła wejścia-wyjścia

  16. 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ść; Zdzisław Stryła wejścia-wyjścia

  17. Operacje we –wy z testowaniem statusu urządzenia Odczyt rejestru statusowego urz. we/wy Czy układ gotów do transmisji? nie tak transmisja Zdzisław Stryła wejścia-wyjścia

  18. START ENABLE BUSY Przykład – sprzęg przetwornika a/d MIERZONE NAPIĘCIE WYJŚCIE CYFROWE START Czas przetwarzania BUSY ENABLE Dane na magistrali t Zdzisław Stryła wejścia-wyjścia

  19. Dekoder adresów Sprzęg przetwornika procesor adresy F A1 A3 MIERZONE NAPIĘCIE A2 START dane ENABLE write BUSY WYJŚCIE CYFROWE read Zdzisław Stryła wejścia-wyjścia

  20. 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. Zdzisław Stryła wejścia-wyjścia

  21. 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. Zdzisław Stryła wejścia-wyjścia

  22. 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. Zdzisław Stryła wejścia-wyjścia

  23. 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. Zdzisław Stryła wejścia-wyjścia

  24. Cykl rozkazowy z przerwaniami Pobranie rozkazu Pobranie argumentu Zapisanie wyniku Obliczenie adresu rozkazu Dekodo-wanie rozkazu Oblicze-nie adresu argumentu Operacja na danych Oblicze-nie adresu wyniku Następny rozkaz Wyznaczenie numeru przerwania Zapisanie kontekstu Sprawdze-nie przerwań Następny element wektora Zdzisław Stryła wejścia-wyjścia

  25. Zgłaszanie przerwań –suma „na drucie” +5V INTR = å INT I Int 0 Int n Zdzisław Stryła wejścia-wyjścia

  26. 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. Zdzisław Stryła wejścia-wyjścia

  27. Identyfikacja źródła przerwania • Wiele linii przerwań; • Odpytywanie programowe; • Odpytywanie sprzętowe; • Arbitraż na magistrali. Zdzisław Stryła wejścia-wyjścia

  28. Wiele linii przerwań; • Stosuje się, gdy liczba urządzeń przerywających jest niewielka; • Przede wszystkim w niewielkich systemach „zamkniętych” . Zdzisław Stryła wejścia-wyjścia

  29. 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ść. Zdzisław Stryła wejścia-wyjścia

  30. Programowa identyfikacja źródła przerwania przerwanie procedura obsługi 1 T INTR1? N procedura obsługi 2 T INTR2? N procedura obsługi n T INTR n? N powrót Zdzisław Stryła wejścia-wyjścia

  31. 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. Zdzisław Stryła wejścia-wyjścia

  32. 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. Zdzisław Stryła wejścia-wyjścia

  33. Bezpośredni system przerwań procesor dane INTA Rejestr maski INTR Koder priorytetowy EI U1 Un Zezwolenie ogólne Zdzisław Stryła wejścia-wyjścia

  34. 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. Zdzisław Stryła wejścia-wyjścia

  35. 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. Zdzisław Stryła wejścia-wyjścia

  36. 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ń; Zdzisław Stryła wejścia-wyjścia

  37. 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. Zdzisław Stryła wejścia-wyjścia

  38. Program główny Obsługa przerwań Identyfikacja przerwania; Zachowanie kontekstu; Dezaktywizacja przerwań Procedura obsługi przerwania. odtworzenie kontekstu; aktywizacja przerwań Zdzisław Stryła wejścia-wyjścia

  39. Obsługa przerwańsekwencyjna wielopoziomowa Przerwanie N Przerwanie N Przerwanie M Przerwanie M Zdzisław Stryła wejścia-wyjścia

  40. sekwencyjna Obsługa przerwań 1 2 4 3 Zgłoszenia przerwań Procedury obsługi 1 4 3 2 t wielopoziomowa 1 2 4 3 Zgłoszenia przerwań 4 Procedury obsługi 2 3 2 cd 1 1 cd t Zdzisław Stryła wejścia-wyjścia

  41. 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). Zdzisław Stryła wejścia-wyjścia

  42. 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ń. Zdzisław Stryła wejścia-wyjścia

  43. Organizacja pamięci dla wektorowego systemu przerwań. Pułapka 1 Zdzisław Stryła wejścia-wyjścia

  44. 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. Zdzisław Stryła wejścia-wyjścia

  45. 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. Zdzisław Stryła wejścia-wyjścia

  46. 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. Zdzisław Stryła wejścia-wyjścia

More Related