ArKom 5 13 PRZERWANIA

background image

Architektura komputerów

5. PRZERWANIA

background image

5 Przerwania

5.1 Przerwania - klasyfikacja
5.2 Realizacja przerwania
5.3 System przerwań – przykład x86
5.3.1 Sterownik przerwań
5.4Transmisje sterowane przerwaniami

ArKom 2013 – 5. Przerwania

2

background image

5.1 Przerwania - klasyfikacja

• Przerwanie (Interrupt) lub żądanie przerwania

(IRQ – Interrupt ReQuest)

– mechanizm reagowania procesora na

zdarzenia istotne dla realizowanego programu,
efektywnego wykorzystania zasobów systemu
oraz ograniczenia skutków błędów i
niesprawności

 taka sama reakcja procesora = przerwanie
realizacji bieżącego programu i przejście do
specjalnego programu obsługi przerwania
(interrupt handler).

ArKom 2013 – 5. Przerwania

3

background image

ArKom 2013 – 5. Przerwania

4

INT j

INT j

APOj :

RETI

background image

Przerwania dzielą się na:
• Zewnętrzne – – Interrupts

– sygnał przerwania pochodzi z zewnętrznego

układu obsługującego przerwania sprzętowe;

– przerwania te służą do komunikacji z

urządzeniami zewnętrznymi,

– asynchroniczne i niezależne od cyklu

rozkazowego

.

ArKom 2013 – 5. Przerwania

5

background image

• Wewnętrzne - wyjątki (Exceptions) – zgłaszane przez procesor

sytuacje wyjątkowe związanych z wykonywaniem rozkazów
i często uniemożliwiają realizację programu (np. dzielenie przez
zero, błędna adresacja pamięci, błędny kod rozkazu itp.;

faults (błąd) – sytuacja, w której aktualnie wykonywana

instrukcja powoduje błąd  gdy procesor powraca do
wykonywania przerwanego kodu wykonuje tę samą instrukcję
która wywołała wyjątek;

traps (pułapki) – sytuacja, która nie jest błędem, jej

wystąpienie ma na celu wykonanie określonego kodu;
wykorzystywane przede wszystkim w debugerach  gdy
procesor powraca do wykonywania przerwanego kodu,
wykonuje następną instrukcję po tej, która wywołała wyjątek,;

aborts (nienaprawialne) – błędy, których nie można naprawić.

ArKom 2013 – 5. Przerwania

6

background image

Rodzaje / klasyfikacja przerwań + priorytet;
1. ‘System reset’
2. ‘Machine check’

Oba przerwania należą do asynchronicznych i
niemaskowalnych. W związku z najwyższym priorytetem
obsługa tych przerwań nie będzie nigdy opóźniona.

3. przerwanie synchroniczne - pojedyncza instrukcja może

wywołać więcej niż jedno przerwanie - kolejność obsługi
jest ściśle określona w zależności od typu instrukcji (np.
instrukcje odczytu i ładowania liczb stałoprzecinkowych
mają tą samą kolejność).

4. przerwania nieprecyzyjne, np. przerwania od jednostki

zmiennoprzecinkowej

5. przerwania maskowalne, nieprecyzyjne, asynchroniczne,

np. przerwanie zewnętrzne (external)

6. przerwania maskowalne, nieprecyzyjne, asynchroniczne,

np. decrementer

ArKom 2013 – 5. Przerwania

7

background image

• Producenci procesorów część pozycji w tablicy

wektorów przerwań rezerwują dla przerwań
wewnętrznych.

• Pozostałe numery przerwań mogą być dowolnie

wykorzystane przez producentów systemów
komputerowych i oprogramowania.

• Obsługiwanie większości przerwań (wszystkich

lub wybranych numerów) można wstrzymać lub
zablokować, wyjątkiem są przerwania
niemaskowalne.

ArKom 2013 – 5. Przerwania

8

background image

5.2 Obsługa przerwań

• Uaktywnienie programu obsługi przerwania –

– sprzęt realizuje automatycznie na podstawie

sygnalizowanego zgłoszenia  adres APOj

• Z programu obsługi przerwania wychodzi się

ostatnim rozkazem RETI – powrót z przerwania

• Wracamy do następnego rozkazu programu

ArKom 2013 – 5. Przerwania

9

background image

• Czynności/etapy

– Identyfikacja zgłoszenia
– Zapamiętanie stanu programu
– Blokada zgłoszeń
– Uruchomienie programu obsługi

przerwania.

ArKom 2013 – 5. Przerwania

10

background image

• Identyfikacja zgłoszeń przerwania

– Osobne wejście dla każdego zgłoszenia – sprzętowe

rozwiązanie + poszczególnym wejściom przypisuje się
programy obsługi + ew. testowanie źródła przerwań

– Kodowanie – przypisanie numerów/kodów przerwaniom i po

zgłoszeniu zdarzenia kod przerwania przekazuje się szyną
danych i w oparciu o ten kod uruchamia się właściwy program
obsługi + kody nadaje się w momencie konfigurowania
systemu

– Programowe (polling) – stosuje się gdy wszystkie przerwania

są zgłaszane jednym sygnałem i wtedy program przepytuje
kolejne moduły  wada: dużo czasu i nie nadaje się do
systemów czasu rzeczywistego, zaleta: możliwość
programowej zmiany priorytetów przerwań = zmiana
kolejności odpytywania

ArKom 2013 – 5. Przerwania

11

background image

ArKom 2013 – 5. Przerwania

12

background image

• Zapamiętanie bieżącego stanu

procesu/programu/procesora  umożliwienie kontynuacji
przerwanego programu

• Stan programu jest na bieżąco (w każdym cyklu

rozkazowym) zapisywany w:

– Liczniku rozkazów – PC
– Znacznikach  słowo stanu PSW (Program Status Word)
– Rejestrach uniwersalnych

• Najczęściej korzysta się ze stosu systemowego, w którym

najpierw zapisuje się licznik rozkazów, a potem słowo
stanu  rozkaz RETI pobiera dane ze stosu  wada:
konieczność kontaktów z pamięcią + ew. zapisywanie w
rejestrach procesora lub zmiany numeracji rejestrów.

ArKom 2013 – 5. Przerwania

13

background image

• Blokowanie możliwości rejestracji nowych zgłoszeń

 automatyczne ustawienie wskaźnika w słowie
stanu, np IE (Interrupt Enable) – po zakończeniu
obsługi przerwania programowo zmienia się ten
wskaźnik na EI (Enable Interrupt)

• Nadane priorytety przerwań mogą spowodować

przerwanie obsługi danego zgłoszenia i przekazanie
obsługi zdarzeniom o wyższym priorytecie. – może
to być zrealizowane sprzętowo lub programowo –
najczęściej zgłoszenia przerwań są przyjmowane na
koniec cyklu rozkazowego, czyli wiele zgłoszeń
o różnym priorytecie może czekać na obsługę

ArKom 2013 – 5. Przerwania

14

background image

• Wybór programu obsługi przerwań następuje bądź drogą

pollingu, bądź przez kodowanie, ale musi być to
jednoznaczne

 tablica wektorów = tablica adresów wszystkich możliwych
programów obsługi - zapisuje system operacyjny w określonym
miejscu pamięci.

• Producenci procesorów część pozycji w tablicy wektorów

przerwań rezerwują dla przerwań wewnętrznych.
Pozostałe numery przerwań mogą być dowolnie
wykorzystane przez producentów systemów
komputerowych i oprogramowania. Obsługiwanie
większości przerwań (wszystkich lub wybranych
numerów) można wstrzymać lub zablokować, wyjątkiem
są niemaskowalne.

ArKom 2013 – 5. Przerwania

15

background image

ArKom 2013 – 5. Przerwania

16

background image

5.3 System przerwań – przykład x86

• System przerwań x86 jest rozbudowany

i elastyczny:

– sprzętowy (w zasadzie sztywny) – działający

wg zasad ustalonych w trakcie instalacji

– programowy – w trakcie działania systemu

można programowo zmieniać priorytety
poszczególnych przerwań

• Wyróżnia się przerwania:

– zewnętrzne (interrupts)
– wewnętrzne (exceptions)

ArKom 2013 – 5. Przerwania

17

background image

• Przerwania zewnętrzne są zgłaszane na wejściach

procesora:

– INTR

•mogą być maskowane – będą przyjmowane gdy

znacznik IF = 1 w słowie stanu FLAGS

•programowo można zmieniać stan tego wskaźnika;

rozkaz STI => IF <- 1, a rozkaz CLI => IF <- 0

– NMI (Non-Maskable Interrupts) – dla zdarzeń

uniemożliwiających dalszą poprawną pracę systemu,
np. błąd pamięci,

• Przerwania wewnętrzne - zdarzenia wykrywane przez

procesor i nie można ich maskować

ArKom 2013 – 5. Przerwania

18

background image

• Tablica wektorów przerwań (Interrupt Vector

Table)

– zawiera 255 pozycji (indeksów) adresów

programów obsługi przerwań

– wektory są dwusłowowe - specyfika

architektury x86 stosującej system
adresowania:

• tzw. selektor lokowany w liczniku rozkazów

IP Instruction Pointer

• przemieszczenie przesyłane do rejestru CS

Code Segment

ArKom 2013 – 5. Przerwania

19

background image

• wywołanie program obsługi przerwania poprzez

rozkaz INT n (często stosowane programach
assemblerowych)

• przyjęcie przerwania
• ulokowania na stosie słów FLAGS, CS i IP przy czym

następuje wyzerowanie wskaźników

– IF = 0 - wskaźnik przerwań <- brak możliwości

przerwania

– TF (trace trap) = 0 – wskaźnik pracy krokowej

(zatrzymanie po wykonaniu każdego rozkazu) <-
brak możliwości pracy krokowej

– NT – zagnieżdżenie zadania

ArKom 2013 – 5. Przerwania

20

background image

ArKom 2013 – 5. Przerwania

21

background image

• Powrót do przerwanego programu następuje w

oparciu o rozkaz IRET, który odtwarza słowo
stanu, selektor i adres rozkazu sprzed
przerwania.

ArKom 2013 – 5. Przerwania

22

background image

5.3.1 Sterownik przerwań

• PIC (Programmable Interrupt Controller)

– np. moduł 8259A (dla 8-bitowych procesorów)
– układ realizujący priorytety przerwań

zewnętrznych, ich maskowanie oraz
przypisywanie numerów

– działa poza procesorem i odciąża go – jest to

element układu okołoprocesorowego tzw.
chipsetu

ArKom 2013 – 5. Przerwania

23

background image

ArKom 2013 – 5. Przerwania

24

background image

71.2014

„Funkcjonalności”
• Do PIC wpisuje się numery (identyfikatory) – dokładnie tylko 5

najbardziej znaczących bitów – numeru kojarzonego ze
zgłoszeniem IRQ…

• Ustala się programowo priorytety przerwań (IRQ0 najwyższy) +

możliwość cyklicznej obsługi zgłoszeń, np. po przyjęciu
zgłoszenia dany numer otrzymuje najniższą wartość

• Po pojawieniu się kilku zgłoszeń na wejściach IRQ… ze

sterownika jest wysyłany do procesora sygnał INTR,

• Procesor (o ile nie jest zamaskowany IF=0) odpowiada

akceptacją tego zgłoszenia na linii INTA

• W odpowiedzi sterownik wybiera numer zgłoszenia

o najwyższym priorytecie i wysyła go na linie danych D<7:0>

ArKom 2013 – 5. Przerwania

25

background image

5.4 Transmisje sterowane przerwaniami

• Przerwania wprowadzono dla odciążenia procesora

w trakcie transmisji pomiędzy urządzeniami
zewnętrznymi a pamięcią.

• Transmisja może być sterowana;

– Programowo (dwuetapowo);

1)dana (byte) z pamięci do rejestru procesora –
rozkaz load,
2)z rejestru do portu wyjściowego odpowiadającego
danemu urządzeniu – rozkaz out

 przesłanie następnego byte gdy urządzenie gotowe
 możliwość zagubienia byte  sprawdzanie
gotowości urządzenia (rozkaz in sprawdza stan
odpowiedniego bitu)

ArKom 2013 – 5. Przerwania

26

background image

ArKom 2013 – 5. Przerwania

27

background image

• Transmisja sterowana przerwaniami

– do momentu zgłoszenia przerwania (sygnał

RDY odpowiadający gotowości urządzenia)
procesor zajmuje się czymś innym +
monitorowanie stanu INT

ArKom 2013 – 5. Przerwania

28

background image

ArKom 2013 – 5. Przerwania

29

background image

ArKom 2013 – 5. Przerwania

30


Document Outline


Wyszukiwarka

Podobne podstrony:
ArKom 4 13 INSTRUKCJE I ADRESOWANIE
ArKom 3 13 ARYTMETYKA KOMPUTEROWA
ArKom 0 13 OMÓWIENIE
ArKom 1 13 WPROWADZENIE
ArKom 2 13 PRZETWARZANIE W KOMPUTERZE Kopia
13 programowalny kontroler przerwan 8259
13 programowalny kontroler przerwan 8259
13 ZMIANY WSTECZNE (2)id 14517 ppt
13 zakrzepowo zatorowa
Zatrucia 13
pz wyklad 13
13 ALUid 14602 ppt
pz wyklad 13
ZARZ SRODOWISKIEM wyklad 13
Biotechnologia zamkniete użycie (2012 13)

więcej podobnych podstron