Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
ogólne pojęcia struktury
Przerwania ogólne pojęcia struktury
2
Przerwania - pojęcia /25 Przerwanie - zdarzenie wewnątrz lub na zewnątrz systemu mikroprocesorowego, wymagające natychmiastowej reakcji ze strony programu wykonywanego przez mikroprocesor.
3
otwarcie zaworu zrzutowego
Przerwania - pojęcia /25 Procedura obsługi przerwania - ciąg rozkazów realizujących pożądaną reakcję na przerwanie. otwarcie zaworu zrzutowego odczyt wejść obliczenia wysterowanie wyjść
4
Przerwania - pojęcia /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. Ź L E D O B R Z E A,Bstos ... B:=11 A:=B*B M[101]:=A stosB,A fragment procedury obsługi przerwania: ... A:=200 B:=44 A:=A+B M[201]:=A fragment programu tła: ... A:=200 B:=44 A:=A+B M[201]:=A fragment programu tła: ... B:=11 A:=B*B M[101]:=A fragment procedury obsługi przerwania: M[201]= M[101]=121 M[201]= M[101]=121
5
Typowa struktura procedury obsługi przerwania:
Przerwania - pojęcia /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 program tła INT IE c.d. programu tła
6
Przerwania - pojęcia /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). 2 6 1 program tła itd. INT IE
7
Przykłady niewłaściwej struktury działań procedury obsługi przerwania:
Przerwania - pojęcia /25 Przykłady niewłaściwej struktury działań procedury obsługi przerwania: 2. zał: brak skasowania przyczyny przerwania (3): 2 4 5 6 7 1 program tła INT IE ciągłe, cykliczne wykonywanie obsługi przerwania program tła 2 4 5 6 7 1 INT IE albo z pojedynczym rozkazem z programu tła
8
Przykłady niewłaściwej struktury działań procedury obsługi przerwania:
Przerwania - pojęcia /25 Przykłady niewłaściwej struktury działań procedury obsługi przerwania: c.d. programu tła 3 2 4 5 7 1 program tła 3. zał: brak odblokowania systemu przerwań (6): INT IE
9
Przykłady niewłaściwej struktury działań procedury obsługi przerwania:
Przerwania - pojęcia /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): program tła INT IE 1 wykonanie przypadkowych kodów 3 2 4 5 7 6 adres powrotu Rejestr A Rejestr B Rejestr C stos : PC adres powrotu Rejestr A Rejestr B Rejestr C stos : PC
10
Przerwania - pojęcia /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
Priorytetowość przerwań może być zrealizowana:
Przerwania - pojęcia /25 Priorytetowość przerwań może być zrealizowana: sprzętowo - przez odpowiednie kontrolery (MSI, LSI) ... kontroler przerwań CPU I/O1 I/O2 I/On zał: priorytety: n>..>2>1
12
Przerwania - pojęcia /25 ... lub odpowiednią strukturę połączeń systemu przerwań (np. łańcuch urządzeń przerywających); priorytety: 1>2>...>n CPU I/O1 I/O2 I/On Vcc
13
Priorytetowość przerwań może być zrealizowana:
Przerwania - pojęcia /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
Przerwania - pojęcia /25 ... programowy arbiter systemu przerwań z indywidualnym sprawdzaniem (pooling) urządzeń przerywających CPU I/O1 I/O2 I/On Vcc 1 PASP 3 2 4 5 6 7 program tła INTX c.d. programu tła
15
Przerwania - pojęcia /25 ... programowy arbiter systemu przerwań z grupowym sprawdzaniem urządzeń przerywających CPU I/O1 I/O2 I/On Vcc 1 PA SP 3 2 4 5 6 7 program tła INTX c.d. programu tła
16
Przerwania - pojęcia /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
Wektorowość można uzyskać:
Przerwania - pojęcia /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
chwila testowania wejścia przerwań przez CPU
Przerwania - pojęcia /25 Asynchroniczność przerwań jako zdarzeń - przerwania z różnych źródeł pojawiają się w dowolnych chwilach czasu, zupełnie niezależnie od siebie CPU I/O1 I/O2 I/O3 Vcc INT INT1 INT2 INT3 INT cykl rozkazowy #n-1 chwila testowania wejścia przerwań przez CPU cykl rozkazowy #n cykl rozkazowy #n+1 kolejność pojawienia się przerwań (“z pkt.widzenia CPU”): 1 i 3 (“jednocześnie”), 2
19
Przerwania - systemy obsługi 17/25
1. Jednopoziomowy bez priorytetów Dt2 Dt3 T P2 T P P2 P3 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
Przerwania - systemy obsługi 18/25
2. Jednopoziomowy z priorytetami Dt2 ,2 Dt1 T P T P3 P2 P1 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
Przerwania - systemy obsługi 19/25
3. Wielopoziomowy bez priorytetów T P2 P1 T P3 P2 P1 2 P3 T 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
Przerwania - systemy obsługi 20/25
4. Wielopoziomowy z priorytetami T P2 P1 T P1 P2 P P1 T 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
Rodzaje przerwań - ich zastosowania
Przerwania - rodzaje /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 /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 /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 /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
Podział zadań pomiędzy program tła a procedury obsługi przerwań
Przerwania /25 Podział zadań pomiędzy program tła a procedury obsługi przerwań
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.