1 / 27

Przerwania

Przerwania. ogólne pojęcia struktury. Przerwania - pojęcia 1/25.

torie
Download Presentation

Przerwania

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. Przerwania ogólne pojęciastruktury

  2. Przerwania - pojęcia 1/25 Przerwanie - zdarzenie wewnątrz lub na zewnątrz systemu mikroprocesorowego, wymagające natychmiastowej reakcji ze strony programu wykonywanego przez mikroprocesor.

  3. odczyt wejść obliczenia wysterowaniewyjść Przerwania - pojęcia 2/25 Procedura obsługi przerwania - ciąg rozkazów realizujących pożądaną reakcję na przerwanie. otwarciezaworuzrzutowego

  4. fragment procedury obsługi przerwania: D O B R Z E fragment programu tła: fragment programu tła: fragment procedury obsługi przerwania: Ź L E ... A:=200 B:=44 A:=A+B M[201]:=A ... ... A:=200 B:=44 A:=A+B M[201]:=A ... A,Bstos ... B:=11 A:=B*B M[101]:=A ... stosB,A ... B:=11 A:=B*B M[101]:=A ... Przerwania - pojęcia 3/25 Program tła (program główny) - sekwencja działań (rozkazów) mikroprocesora realizowanych gdy nie ma przerwań UWAGA: program ten nie może “odczuć” faktu, że został czasowo zawieszony przez obsługę przerwania. M[201]=132M[101]=121 M[201]=244M[101]=121

  5. program tła c.d. programu tła INT IE Przerwania - pojęcia 4/25 Typowa struktura procedury obsługi przerwania: 1. Składowanie na stosie rejestrów roboczych. 2. Rozpoznanie (dokładne) przyczyny przerwania. 3. Skasowanie przyczyny przerwania. 4. Dodatkowa obróbka informacji. 5. Odtworzenie rejestrów roboczych ze stosu. 6. Odblokowanie przerwań. 7. Powrót do zawieszonego programu. 1 2 3 4 5 6 7

  6. 1 2 6 1 2 6 1 2 6 itd. 1 2 6 1 2 6 program tła INT IE Przerwania - pojęcia 5/25 Przykład niewłaściwej struktury działań procedury obsługi przerwania: 1. zał: odblokowanie przerwań (6) następuje przed skasowaniem przyczyny przerwania (3).

  7. ciągłe, cykliczne wykonywanie obsługi przerwania program tła INT IE 1 1 1 1 1 1 2 2 2 2 2 2 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 albo z pojedynczym rozkazem z programu tła program tła INT IE Przerwania - pojęcia 6/25 Przykłady niewłaściwej struktury działań procedury obsługi przerwania: 2. zał: brak skasowania przyczyny przerwania (3):

  8. 3. zał: brak odblokowania systemu przerwań (6): 1 2 3 4 5 7 program tła c.d. programu tła INT IE Przerwania - pojęcia 7/25 Przykłady niewłaściwej struktury działań procedury obsługi przerwania:

  9. 1 2 3 4 5 6 7 program tła wykonanie przypadkowych kodów INT IE Rejestr C Rejestr C Rejestr B Rejestr B PC PC Rejestr A Rejestr A adres powrotu adres powrotu stos : stos : Przerwania - pojęcia 7/25 Przykłady niewłaściwej struktury działań procedury obsługi przerwania: 4. zał: błędne odtworzenie rejestrów ze stosu (nie bilansujące się zapisy i odczyty na stosie):

  10. Przerwania - pojęcia 8/25 Priorytetowość (przerwań) - zróżnicowanie co do ważności (pilności) zadań realizowanych przez system mikroprocesorowy; w szczególności zadaniami tymi mogą być procedury obsługi przerwań - różnicując ich pilność dokonuje się określenia priorytetów poszczególnych przerwań;

  11. zał: priorytety: n>..>2>1 CPU kontrolerprzerwań I/O1 I/O2 I/On Przerwania - pojęcia 9/25 • Priorytetowość przerwań może być zrealizowana: • sprzętowo - przez odpowiednie kontrolery (MSI, LSI) ...

  12. priorytety: 1>2>...>n CPU Vcc Vcc I/O1 I/O2 I/On Przerwania - pojęcia 10/25 ... lub odpowiednią strukturę połączeń systemu przerwań (np. łańcuch urządzeń przerywających);

  13. Przerwania - pojęcia 11/25 • Priorytetowość przerwań może być zrealizowana: • programowo - poprzez wspólny początek procedur obsługi przerwań będący arbitrem systemu przerwań (rozpoznaje źródła aktualnych przerwań i decyduje o kolejności ich obsługi) ... CPU Vcc I/O1 I/O2 I/On

  14. CPU Vcc I/O1 I/O2 I/On 2 3 4 5 6 7 program tła c.d. programu tła 1 INTX Przerwania - pojęcia 12/25 ... programowy arbiter systemu przerwań z indywidualnym sprawdzaniem (pooling) urządzeń przerywających PASP

  15. CPU Vcc I/O1 I/O2 I/On 2 3 4 5 6 7 program tła c.d. programu tła 1 INTX Przerwania - pojęcia 13/25 ... programowy arbiter systemu przerwań z grupowym sprawdzaniem urządzeń przerywających PASP

  16. Przerwania - pojęcia 14/25 • Wielopoziomowość systemu przerwań - dopuszczenie do zawieszenia aktualnie realizowanej procedury obsługi przerwania w celu realizacji innej, zwykle o wyższym priorytecie, procedury obsługi nowozgłoszonego przerwania.

  17. Przerwania - pojęcia 15/25 • Wektorowość systemu przerwań - przypisanie każdemu źródłu przerwania odrębnej procedury jego obsługi, uruchamianej bezpośrednio w reakcji na zgłoszenie tego przerwania. • Wektorowość można uzyskać: • przez specjalizowane kontrolery systemów przerwań, np. 8259A; • w niektórych rodzinach mikroprocesorowych, np. Z80. • Brak wektorowości = programowy arbiter systemu przerwań. • Wektorowość przerwań - typowe rozwiązanie w mikrokontrolerach.

  18. CPU INT Vcc cykl rozkazowy #n-1 cykl rozkazowy #n cykl rozkazowy #n+1 I/O1 I/O2 I/O3 INT1 INT2 INT3 chwila testowania wejścia przerwań przez CPU INT Przerwania - pojęcia 16/25 • Asynchroniczność przerwań jako zdarzeń - przerwania z różnych źródeł pojawiają się w dowolnych chwilach czasu, zupełnie niezależnie od siebie kolejność pojawienia się przerwań (“z pkt.widzenia CPU”): 1 i 3 (“jednocześnie”), 2

  19. T P2 T P1 P2 P3 Dt2 Dt3 2 1 2 3 Przerwania - systemy obsługi 17/25 1. Jednopoziomowy bez priorytetów • Cechy: • opóźnienia (Dt2 , Dt3) w reakcji na przerwanie; • możliwość zgubienia przerwania podczas tych opóźnień; • maks. czas zwłoki w obsłudze danego przerwania może być równy sumie czasów obsługi pozostałych przerwań w systemie. • System stosowany w małych systemach mikroprocesorowych przy 1..2 źródłach przerwań.

  20. T P2 T P3 P2 P1 Dt2 Dt1 2 3 1,2 Przerwania - systemy obsługi 18/25 2. Jednopoziomowy z priorytetami priorytety: 3>2>1 pozorna jednoczesnośćwystąpienia przerwań • Cechy: • można wskazać ważniejsze przerwania, których obsługa będzie miała pierwszeństwo przed pozostałymi; • opóźnienia (Dt1 , Dt2) w reakcji na przerwanie; • przerwania o niższych priorytetach mogą długo czekać na obsługę; • możliwość zgubienia przerwania podczas tych opóźnień. • System stosowany przy niewielkiej liczbie źródeł przerwań.

  21. T P2 P1 T P3 P2 P1 2 P3 T 2 1 3 2 1 Przerwania - systemy obsługi 19/25 3. Wielopoziomowy bez priorytetów • Cechy: • każde przerwanie jest natychmiast obsługiwane; • proces obsługi dowolnego przerwania może zostać zawieszony na dość długo - przez procedury obsługi pozostałych przerwań. • System bardzo rzadko stosowany.

  22. T P2 P1 T P1 P2 P3 2 P1 T 2 1 1 2 3 Przerwania - systemy obsługi 20/25 4. Wielopoziomowy z priorytetami priorytety: 3>2>1 • Cechy: • przerwania o niskich priorytetach dłużej czekają na obsługę; • można przyśpieszyć obsługę ważniejszych przerwań. • System zalecany przy większej liczbie źródeł przerwań.

  23. Przerwania - rodzaje 21/25 Rodzaje przerwań - ich zastosowania • 1. Przerwania zegarowe - regularne, o f > 1Hz: • odmierzanie odcinków czasu (np. w ms); • pomiar czasu astronomicznego; • w małych systemach mikroprocesorowych: obsługa urządzeń zewnętrznych (klawiatur, wyświetlaczy, itd.).

  24. Przerwania - rodzaje 22/25 • 2. Przerwania od urządzeń zewnętrznych (komputerowych) - nieregularne: • informują mikroprocesor o: • gotowości urządzenia do nowej transmisji informacji; • zakończeniu dotychczasowej transmisji.

  25. Przerwania - rodzaje 23/25 • 3. Przerwania od układów kontrolujących pracę systemu - sporadyczne, zwykle o wysokim priorytecie: sygnalizują szczególne stan pracy: • zanik zasilania; • błąd parzystości w bloku pamięci; • załamanie się cyklu pracy oprogramowania; • błąd/wyjątek procesora/koprocesora.

  26. Przerwania - rodzaje 24/25 • 4. Przerwania od układów sprzężenia z obiektem - nieregularne: • informują mikroprocesor o różnych zdarzeniach w kontrolowanym obiekcie: • zadziałanie krańcówek alarmowych; • przekroczenie poziomów alarmowych, itp.

  27. Przerwania 25/25 Podział zadań pomiędzy program tła a procedury obsługi przerwań

More Related