230 likes | 410 Views
Przerwania. ogólne pojęcia struktury. Przerwania - pojęcia 1/22.
E N D
Przerwania ogólne pojęciastruktury
Przerwania - pojęcia 1/22 Przerwanie - zdarzenie wewnątrz lub na zewnątrz systemu mikroprocesorowego, wymagające natychmiastowej reakcji ze strony programu wykonywanego przez mikroprocesor.
odczyt wejść obliczenia wysterowaniewyjść Przerwania - pojęcia 2/22 Procedura obsługi przerwania - ciąg rozkazów realizujących pożądaną reakcję na przerwanie. otwarciezaworuspustowego
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,Bstos ... B:=11 A:=B*B M[101]:=A ... stosB,A ... B:=11 A:=B*B M[101]:=A ... Przerwania - pojęcia 3/22 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
Przerwania - pojęcia 4/22 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 c.d. programu tła INT
Przerwania - pojęcia 5/22 Przykład niewłaściwej struktury działań procedury obsługi przerwania: 1. zał: odblokowanie przerwań (6) następuje przed skasowaniem przyczyny przerwania (3). 1 2 6 1 2 6 1 2 6 itd. 1 2 6 1 2 6 program tła INT
2. zał: brak skasowania przyczyny przerwania (3): program tła INT 1 1 1 2 2 2 4 4 4 5 5 5 6 6 6 7 7 7 3. zał: brak odblokowania systemu przerwań (6): 1 2 3 4 5 7 program tła c.d. programu tła INT Przerwania - pojęcia 6/22 Przykłady niewłaściwej struktury działań procedury obsługi przerwania:
Przerwania - pojęcia 7/22 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ń;
zał: priorytety: n>..>2>1 CPU kontrolerprzerwań I/O1 I/O2 I/On Przerwania - pojęcia 8/22 • Priorytetowość przerwań może być zrealizowana: • sprzętowo - przez odpowiednie kontrolery (MSI, LSI) ...
priorytety: 1>2>...>n CPU Vcc Vcc I/O1 I/O2 I/On Przerwania - pojęcia 9/22 ... lub odpowiednią strukturę połączeń systemu przerwań (np. łańcuch urządzeń przerywających);
Przerwania - pojęcia 10/22 • 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
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 11/22 ... programowy arbiter systemu przerwań z indywidualnym sprawdzaniem (pooling) urządzeń przerywających PASP
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/22 ... programowy arbiter systemu przerwań z grupowym sprawdzaniem urządzeń przerywających PASP
Przerwania - pojęcia 13/22 • 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.
T P2 T P1 P2 P3 Dt1 Dt2 2 1 2 3 Przerwania - systemy obsługi 14/22 1. Jednopoziomowy bez priorytetów • Cechy: • opóźnienia (Dt1 , Dt2) 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ń.
T P2 T P3 P2 P1 Dt2 Dt1 2 3 1,2 Przerwania - systemy obsługi 15/22 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ń.
T P2 P1 T P3 P2 P1 2 P3 T 2 1 3 2 1 Przerwania - systemy obsługi 16/22 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.
T P2 P1 T P1 P2 P3 2 P1 T 2 1 1 2 3 Przerwania - systemy obsługi 17/22 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ń.
Przerwania - rodzaje 18/22 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.).
Przerwania - rodzaje 19/22 • 2. Przerwania od urządzeń zewnętrznych (komputerowych) - nieregularne: • informują mikroprocesor o: • gotowości urządzenia do nowej transmisji informacji; • zakończeniu dotychczasowej transmisji.
Przerwania - rodzaje 20/22 • 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.
Przerwania - rodzaje 21/22 • 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.
Przerwania 22/22 Podział zadań pomiędzy program tła a procedury obsługi przerwań