• Nie Znaleziono Wyników

PRZERWANIA 1. Obs

N/A
N/A
Protected

Academic year: 2021

Share "PRZERWANIA 1. Obs"

Copied!
6
0
0

Pełen tekst

(1)

PRZERWANIA

1. Obsługa zdarzeń poprzez przerwania

Obsługa przerwania polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie.

Procedura nazywa się procedurą obsługi przerwania (ang. interrupt

handler). Często używany jest też skrót ISR (ang. Interrupt Service Routine).

P0

P1 - Procedura obslugi przerwania Przerwanie

P0

Powrót z procedury

obslugi przerwania

P0 - Proces glówny

P1 Zdarzenie Z1

Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Zachodzi potrzeba rozstrzygnięcia które zdarzenie ma obsługiwane gdy wiele z nich wystąpi naraz. Istnieją tu dwie podstawowe strategie postępowania:

1. Jednopoziomowy system przerwań.

2. Priorytetowy system przerwań.

Gdy za obsługę oczekuje więcej nie obsłużonych przerwań wybór przerwania do obsługi może być dokonany według różnych zasad.

1. Poszczególnym przerwaniom mogą być przypisane priorytety.

2. Przerwania mogą być obsługiwane według kolejności zgłoszeń.

(2)

P0

Obsluga przerwania

Z1

P0 P0 - Proces

glówny

Zdarzenie Z1 Zdarzenie Z2

Obsluga przerwania

Z2

Przyjecie obslugi przerwania

Z2

Dwa przerwania obsługiwane w systemie jednopoziomowym

P0

Obsluga przerwania

Z1

P0 Zdarzenie Z1 Zdarzenie Z2

Obsluga przerwania

Z2 Obsluga przerwania

Z1 zawieszona

Kontynuacja obslugi przerwania

Z1 Obsluga przerwania

Z1 wznowiona

Dw a przerwania obsługiwane w systemie wielopoziomowym

Obsługa przerwań w systemie komputerowym jest czasami blokowana przez system operacyjny. Maksymalny czas zablokowania przerwań Tdmax jest podstawową miarą jakości systemu czasu rzeczywistego.

Czas Tdmax powinien być jak najkrótszy.

Maksymalny czas Tmax reakcji na zdarzenie, w systemie z

przerwaniami, jest równy maksymalnemu czasowi zablokowania przerwań Tdmax czyli Tmax = Tdmax .

(3)

Obsługa zdarzeń poprzez przerwania ma dla systemu komputerowego daleko idące konsekwencje.

Istnieją dwie strategie obsługi zdarzeń poprzez przerwania:

1. Zdarzenie obsługiwane jest przez procedurę obsługi przerwania.

2. Procedura obsługi przerwania odblokowuje wątek który wykonuje obsługę zdarzenia.

wątek procedura obsługi przerwania

przerwanie

powrót z procedury obsługi przerwania ISR

Obsługa zdarzenia poprzez procedurę obsługi przerwania

wątek

procedura obsługi przerwania

przerwanie ISR

wątek obsługi przerwania

odblokowanie wątku event

Czas

Procedura obsługi przerwania wykonuje część pracy a następnie odblokowuje wątek

wątek

przerwanie wątek obsługi

przerwania

odblokowanie wątku event

Czas

Przerwanie zamieniane w zdarzenie które odblokowuje wątek.

(4)

2. Obsługa przerwań w komputerach typu PC

Procesory serii 80x86 stosowane w komputerach PC obsługują następujące rodzaje przerwań:

1. Przerwania zewnętrzne – generowane są przez urządzenia zewnętrzne i koordynowane przez kontroler przerwań.

2. Przerwania wewnętrzne - generowane są przez układy wewnętrzne procesora i zwykle związane z naruszeniem systemu ochrony.

3. Przerwania programowe – generowane przez oprogramowanie.

Procesor posiada jedną linię zgłaszania przerwania IRQ (ang. Interrupt Request). Liczba urządzeń mogących zgłosić przerwanie jest większa.

Aby rozwiązać ten problem stosuje się urządzenie nazywane kontrolerem przerwań (ang. Interrupt Controller)

Procesor

Kontroler przerwan

Kontroler urzadzenia INT

IMRCR INTA

VH1 VH7 P1

Tablica wektorów

przerwan Procedura

obslugi przerwania

RAM

Urzadzenie IRQ0IRQ1

IRQ7 IRQi NMI

INT V

Linie przerwan

VH0

Baza B kontrolera

0 255

V = B + i i - numer lini IRQ

Obsługa przerwań w komputerze PC

Linia IRQ0 posiada najwyższy priorytet, Linia IRQ7 najniższy. Kontroler posiada dwa dostępne z zewnątrz 8 bitowe rejestry:

1. Rejestr poleceń CR (ang. Control Register). Do rejestru CR system wpisuje polecenia i odczytuje zeń statusy.

2. Rejestr maski IMR (ang. Interrupt Maskl Register).

(5)

Funkcje kontrolera przerwań:

1. Arbitraż przerwań.

2. Maskowanie przerwań.

3. Tworzenie powiązania pomiędzy pobudzeniem linii przerwania IRQi a wektorem przerwań VHi.

Gdy przerwanie IRQi zostanie przyjęte, kontroler przekazuje do procesora bajt zawierający liczbę V = B + i (baza kontrolera + numer przerwania). Na tej podstawie procesor wykonuje instrukcję INT V a zatem i procedurę obsługi przerwania IRQi . Adres procedury obsługi przerwania IRQi procesor pobiera z wektora VHi = V.

IRQ Master

IRQ Slave

Wektor HEX

Urządzenie

0 8 Timer – generuje przerwania

zegarowe

1 9 Klawiatura

8 70 Zegar czasu rzeczywistego RTC 2 9 71 W kontrolerze master wejście z

kontrolera slave

W kontrolerze slave wolne

10 72 wolne

11 73 wolne

12 74 wolne

13 75 Koprocesor

14 76 Kontroler 1 dysków IDE 15 77 Kontroler 2 dysków IDE

3 B Układ transmisji szeregowej COM2 4 C Układ transmisji szeregowej COM1

5 D Port drukarki LPT1

6 E Kontroler dysków elastycznych

7 F Port drukarki LPT2

Tablica linii przerwań, wektorów przerwań i urządzeń generujących przerwania w komputerze AT

(6)

Cytaty

Powiązane dokumenty

Należy uznać za poprawne wszystkie wyniki, które są konsekwencją przyjętych przez zdającego poprawnych zaokrągleń... czerwona

W równaniach reakcji, w których ustala się stan równowagi, brak „ ⇄” nie powoduje utraty punktów.. Elementy odpowiedzi umieszczone w nawiasach nie

Należy uznać za poprawne wszyst- kie wyniki, które są konsekwencją przyjętych przez zdającego po- prawnych zaokrągleń1. 1

katoda – stal lub gwóźdź stalowy. - Za napisanie wzoru trans-alkenu: Uznaje się każdy poprawny wzór, który przedstawia izomer trans. Jeśli zdający zapisze równanie reakcji

Procesor, CPU (Central Processing Unit) to najważniejsza jednostka każdego komputera, będąca najczęściej pojedynczym mikroprocesorem, połączonym z płytą główną

Mówiąc najprościej, Gellner stara się wyjaśnić dwa zdumiewające zjawiska współczesności: błyskawiczny i pokojowy zanik komunistycznego imperium wraz z ideologią

Jeżeli zdarzenia obsługiwane są przez przerwania, to czas reakcji na zdarzenie będzie się wiązał z czasem obsługi przerwań. Parametry ilościowe opisujące własności czasowe

JeŜeli ustawione jest zewnętrzne źródło zegara dla licznika TC0, licznik będzie mógł być napędzany nawet jeŜeli port ustawiony jest jako wyjście. UmoŜliwia to