Przerwania

23
Przerwania ogólne pojęcia struktury

description

Przerwania. ogólne pojęcia struktury. Przerwania - pojęcia 1/22. - PowerPoint PPT Presentation

Transcript of Przerwania

Page 1: Przerwania

Przerwania

ogólne pojęciastruktury

Page 2: Przerwania

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.

Page 3: Przerwania

Przerwania - pojęcia 2/22

Procedura obsługi przerwania - ciąg rozkazów realizujących pożądaną

reakcję na przerwanie.

odczyt wejść

obliczenia

wysterowaniewyjść

otwarciezaworu

spustowego

Page 4: Przerwania

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.

...

A:=200

B:=44

A:=A+B

M[201]:=A

...

fragment programu

tła:

...B:=11A:=B*BM[101]:=A

...

fragment procedury

obsługi przerwania:

M[201]=132 M[101]=121

...

A:=200

B:=44

A:=A+B

M[201]:=A

...

fragment programu

tła:

A,Bstos...

B:=11A:=B*BM[101]:=A

...stosB,A

fragment procedury

obsługi przerwania:

M[201]=244 M[101]=121

Ź

L

E

D

O

B

R

Z

E

Page 5: Przerwania

c.d. programu tła32 4 5 6 71

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.

program tła

INT

Page 6: Przerwania

2 61

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).

program tła

INT

2 61 2 61 2 61 2 61 itd.

Page 7: Przerwania

Przerwania - pojęcia 6/22

Przykłady niewłaściwej struktury działań procedury obsługi przerwania:

c.d. programu tła32 4 5 71program tła

INT

3. zał: brak odblokowania systemu przerwań (6):

2 4 5 6 71program tła 2 4 5 6 71 2 4 5 6 71

INT

2. zał: brak skasowania przyczyny przerwania (3):

Page 8: 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ń;

Page 9: Przerwania

Przerwania - pojęcia 8/22

Priorytetowość przerwań może być zrealizowana:

• sprzętowo - przez odpowiednie kontrolery (MSI, LSI) ...

kontrolerprzerwań

CPU

I/O1 I/O2 I/On

zał: priorytety: n>..>2>1

Page 10: Przerwania

priorytety: 1>2>...>n

CPU

I/O1 I/O2 I/On

Vcc

Vcc

Przerwania - pojęcia 9/22

... lub odpowiednią strukturę połączeń systemu przerwań

(np. łańcuch urządzeń przerywających);

Page 11: Przerwania

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

I/O1 I/O2 I/On

Vcc

Page 12: Przerwania

Przerwania - pojęcia 11/22

... programowy arbiter systemu przerwań z indywidualnym sprawdzaniem (pooling) urządzeń przerywających

CPU

I/O1 I/O2 I/On

Vcc

c.d. programu tła4 5 6 71 32PASPprogram tła

INTX

Page 13: Przerwania

Przerwania - pojęcia 12/22

... programowy arbiter systemu przerwań z grupowym sprawdzaniem urządzeń przerywających

c.d. programu tła4 5 6 71 32PASPprogram tła

INTX

CPU

I/O1 I/O2 I/On

Vcc

Page 14: Przerwania

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.

Page 15: Przerwania

Przerwania - systemy obsługi 14/22

t1

2 1 2 3

t2

T P2 T P1 P2 P3

1. Jednopoziomowy bez priorytetów

Cechy:

• opóźnienia (t1 , t2) 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ń.

Page 16: Przerwania

Przerwania - systemy obsługi 15/22

2. Jednopoziomowy z priorytetami

Cechy:• można wskazać ważniejsze przerwania, których obsługa będzie miała pierwszeństwo przed pozostałymi;

• opóźnienia (t1 , t2) 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ń.

t2

2 3 1,2

t1

T P2 T P3 P2 P1

pozorna jednoczesnośćwystąpienia przerwań

priorytety: 3>2>1

Page 17: Przerwania

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.

2 1 3 2 1

T P2 P1 T P3 P2 P1 2 P3 T

Page 18: Przerwania

Przerwania - systemy obsługi 17/22

4. Wielopoziomowy z priorytetami

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ń.

2 1 1 2 3

T P2 P1 T P1 P2 P3 2 P1 T priorytety: 3>2>1

Page 19: Przerwania

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.).

Page 20: Przerwania

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.

Page 21: Przerwania

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.

Page 22: Przerwania

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.

Page 23: Przerwania

Przerwania 22/22

Podział zadań pomiędzy program tła a procedury obsługi przerwań

I II IIIprogram tła

LOOP: JP LOOP(tzw. martwa pętla)

realizacja zadań o niskiejpilności

realizacja prawie 100%zadań

procedury obsługi przerwańrealizacja 100% realizacja reszty

"ważniejszych" funkcjiograniczone funkcje np.do akwizycji danych ,obsługi stanówalarmowych

cechypełna synchronizacja wczasie działań systemu

konieczny systemwymiany danych międzyobu warstwamioprogramowania

utrudnienia czasowegozsynchronizowaniadziałań