Podstawy Informatyki Układ przerwan

Transkrypt

Podstawy Informatyki Układ przerwan
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Podstawy Informatyki
Układ przerwań
dr inż. Alina MOMOT
[email protected]
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Plan wykładu
1
Przerwania - podstawowe informacje
Wprowadzenie
Przerwania we współczesnych procesorach
Rodzaje systemów przerwań
Cykl rozkazowy uwzględniający przerwania
2
Układ przerwań maszyny W
Schemat układu przerwań
Działanie układu przerwań
Rozszerzenie maszyny W
3
Rozkazy w systemie z przerwaniami
Cykl obsługi przerwania
Rozkaz przerywalny
Rozkaz powrotu z przerwania
Maskowanie
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Wprowadzenie
Przerwania we współczesnych procesorach
Rodzaje systemów przerwań
Cykl rozkazowy uwzględniający przerwania
Wprowadzenie
Przerwanie
sygnał powodujący zmianę przepływu sterowania, niezależnie od
wykonywanego programu.
Przerwanie powoduje wstrzymanie aktualnie wykonywanego
programu i wykonanie kodu procedury obsługi tego przerwania.
Aby móc wrócić do wykonywanego programu należy wcześniej
zapamiętać aktualny stan maszyny cyfrowej.
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Wprowadzenie
Przerwania we współczesnych procesorach
Rodzaje systemów przerwań
Cykl rozkazowy uwzględniający przerwania
Przerwania we współczesnych procesorach
Procesory serii 80x86 stosowane w komputerach PC obsługują
następujące rodzaje przerwań:
sprzętowe
zewnętrzne – generowane przez urządzenia zewnętrzne i
koordynowane przez kontroler przerwań,
wewnętrzne - generowane przez układy wewnętrzne procesora i
zwykle związane z naruszeniem systemu ochrony,
programowe – generowane przez oprogramowanie.
Obsługa przerwań w systemie komputerowym jest czasami blokowana
przez system operacyjny.
Maksymalny czas Tmax reakcji na zdarzenie, w systemie z przerwaniami,
jest równy maksymalnemu czasowi zablokowania przerwań Tdmax , który
jest podstawową miarą jakości systemu czasu rzeczywistego.
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Wprowadzenie
Przerwania we współczesnych procesorach
Rodzaje systemów przerwań
Cykl rozkazowy uwzględniający przerwania
Rodzaje systemów przerwań
Gdy na obsługę oczekuje więcej nieobsłużonych przerwań, wybór
przerwania do obsługi może być dokonany według różnych zasad, m.in.:
przerwania mogą być obsługiwane według kolejności zgłoszeń,
poszczególnym przerwaniom mogą być przypisane priorytety.
Ponadto istnieją tu dwie podstawowe strategie postępowania:
jednopoziomowy system przerwań (bez wywłaszczania),
wielopoziomowy system przerwań (z wywłaszczaniem),
zakłada się tu możliwość przerywania przerwań.
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Wprowadzenie
Przerwania we współczesnych procesorach
Rodzaje systemów przerwań
Cykl rozkazowy uwzględniający przerwania
Schemat cyklu rozkazu uwzględniający przerwania
Operacje wykonywane w cyklu przerwania:
zapamiętanie licznika rozkazów
- w pierwszej komórce adresu przerwania lub
- na stosie
ustawienie licznika tak, aby wskazywał adres
procedury obsługi przerwania
usunięcie informacji o zgłoszeniu aktualnie
obsługiwanego przerwania
przygotowanie adresu kolejnego rozkazu
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Wprowadzenie
Przerwania we współczesnych procesorach
Rodzaje systemów przerwań
Cykl rozkazowy uwzględniający przerwania
Procedura obsługi przerwania
Operacje wykonywane przez procedurę obsługi przerwania:
zablokowanie układu przerwań,
zapamiętanie stanu jednostki centralnej (w maszynie W, jest to Ak),
właściwa obsługa przerwania,
odtworzenie stanu jednostki centralnej,
odblokowanie układu przerwań,
powrót do przerwanego programu.
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Schemat układu przerwań
Działanie układu przerwań
Rozszerzenie maszyny W
Schemat układu przerwań
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Schemat układu przerwań
Działanie układu przerwań
Rozszerzenie maszyny W
Działanie układu przerwań
Rejestr Zgłoszenia (RZ) - przechowuje informacje o zgłoszonych
zdarzeniach wywołujących przerwania.
Rejestr Maski (RM) wraz z układem maskowania umożliwia
blokadę przerwań.
Układ priorytetowy - umożliwia szeregowanie zgłoszeń.
Rejestr Przerwania (RP) - przechowuje informację o bieżącym
przerwaniu, ustawia Adres przerwania (AP) i generuje sygnał
stanu INT, który wymusza obsługę tego przerwania.
Sygnał eni umożliwia rejestrowanie zgłoszenia przerwania w
rejestrze przerwania (RP).
Sygnał rint usuwa informację o zgłoszeniu bieżącego przerwania i
umożliwia przyjęcie nowego.
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Schemat układu przerwań
Działanie układu przerwań
Rozszerzenie maszyny W
Realizacja przerwań
Aktualny stan maszyny cyfrowej, tj. stan licznika, jednostki
centralnej i rejestrów (dla maszyny W stan L i Ak) zwykle zapisuje
się na stosie.
Dla maszyny W można zastosować także inne rozwiązanie:
(L) → (AP),
(Ak) → (AP) − 1,
wtedy procedura obsługi przerwania
zaczyna się od komórki (AP) + 1 rozkazem ŁAD (AP) – 1,
kończy się rozkazem POB (AP) – 1.
Procedura obsługi przerwania jest wywoływana, gdy wygenerowany
został sygnał INT, a powrót następuje po napotkaniu rozkazu PWR.
Nie wszystkie rozkazy można przerwać, np. SOB, SOM, STP.
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Schemat układu przerwań
Działanie układu przerwań
Rozszerzenie maszyny W
Rozszerzenie maszyny W
Maszyna W, aby umożliwiać obsługę przerwań zostaje uzupełniona o
dodatkowe sygnały sterujące:
wyls: (L) → mag.S
sa: (mag.S) → mag.A
as: (mag.A) → mag.S
wyrm: (RM) → mag.A
werm: (mag.A) → RM
wyap: (AP) → mag.A
eni: stan zgłoszeń → INT
rint: 0 → INT
Do obsługi stosu służy rejestr wskaźnika stosu WS:
wews: (mag.A)→ WS
wyws: (WS)→ mag.A
iws: (WS) + 1→ WS
dws: (WS) – 1→ WS
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Cykl obsługi przerwania
Rozkaz przerywalny
Rozkaz powrotu z przerwania
Maskowanie
Cykl obsługi przerwania
zapamiętanie licznika rozkazów w pierwszej
komórce adresu przerwania
(AP) → L,A: wyap wel wea
(L) → S: wyls wes
(S) → (A) pisz
ustawienie licznika tak, aby wskazywał adres
początku procedury obsługi przerwania
(L)+1 → L: il
usunięcie informacji o zgłoszeniu aktualnie
obsługiwanego przerwania
0 → INT: rint
przygotowanie adresu kolejnego rozkazu
(L) → A: wyl wea
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Cykl obsługi przerwania
Rozkaz przerywalny
Rozkaz powrotu z przerwania
Maskowanie
Cykl obsługi przerwania (wersja ze stosem)
zapamiętanie licznika rozkazów na stosie
(WS) — 1 → WS: dws
(WS) → A: wyws wea
(L) → S: wyls wes
(S) → (A) pisz
ustawienie licznika tak, aby wskazywał adres
początku procedury obsługi przerwania
(AP) → L: wyap wel
usunięcie informacji o zgłoszeniu aktualnie
obsługiwanego przerwania
0 → INT: rint
przygotowanie adresu kolejnego rozkazu
(L) → A: wyl wea
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Cykl obsługi przerwania
Rozkaz przerywalny
Rozkaz powrotu z przerwania
Maskowanie
Rozkaz DOD w wersji przerywalnej
(L) → (AP)
dr inż. Alina MOMOT
(L) → (WS)
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Cykl obsługi przerwania
Rozkaz przerywalny
Rozkaz powrotu z przerwania
Maskowanie
Rozkaz powrotu z przerwania
Gdy licznik był zapamiętany
- w pierwszej komórce adresu przerwania:
- na stosie:
PWR: ((AP)) → L, A
PWR: ((WS)) → L, A
1
czyt wys wei il
1
czyt wys wei il
2
wyap wea
2
wyws wea iws
3
czyt wys sa wel wea
3
czyt wys sa wel wea
dr inż. Alina MOMOT
Układ przerwań
Plan wykładu
Przerwania - podstawowe informacje
Układ przerwań maszyny W
Rozkazy w systemie z przerwaniami
Cykl obsługi przerwania
Rozkaz przerywalny
Rozkaz powrotu z przerwania
Maskowanie
Maskowanie
Rozkaz ustawienia/zapisu maski
Rozkaz odczytu maski:
MSK Ad: ((Ad)) → RM
CZM Ad: (RM) → (Ad)
1
czyt wys wei il
1
czyt wys wei il
2
wyad wea
2
wyad wea
3
czyt wys sa werm
3
wyrm as wes
4
wyl wea
4
pisz wyl wea
dr inż. Alina MOMOT
Układ przerwań