maszyny W Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi
Plan wykładu maszyny W 1 Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy uwzględniający przerwania 2 maszyny W Schemat układu przerwań Działanie układu przerwań Rozszerzenie maszyny W 3 Cykl obsługi przerwania Rozkaz przerywalny Rozkaz powrotu z przerwania Maskowanie
Wprowadzenie Plan wykładu maszyny W Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy uwzględniający przerwania 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.
maszyny W 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 T max reakcji na zdarzenie, w systemie z przerwaniami, jest równy maksymalnemu czasowi zablokowania przerwań T dmax, który jest podstawową miarą jakości systemu czasu rzeczywistego.
maszyny W Rodzaje systemów przerwań Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy uwzględniający przerwania 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ń.
maszyny W 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
maszyny W Procedura obsługi przerwania Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy uwzględniający 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.
maszyny W Schemat układu przerwań Schemat układu przerwań Działanie układu przerwań Rozszerzenie maszyny W
maszyny W Działanie układu przerwań Schemat układu przerwań Działanie układu przerwań Rozszerzenie maszyny W 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.
maszyny W Realizacja przerwań Schemat układu przerwań Działanie układu przerwań Rozszerzenie maszyny W 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.
maszyny W Rozszerzenie maszyny W Schemat układu przerwań Działanie układu przerwań 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
maszyny W Cykl obsługi przerwania Cykl obsługi przerwania Rozkaz przerywalny Rozkaz powrotu z przerwania Maskowanie 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
maszyny W 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
maszyny W Rozkaz DOD w wersji przerywalnej Cykl obsługi przerwania Rozkaz przerywalny Rozkaz powrotu z przerwania Maskowanie (L) (AP) (L) (WS)
maszyny W Rozkaz powrotu z przerwania Cykl obsługi przerwania Rozkaz przerywalny Rozkaz powrotu z przerwania Maskowanie Gdy licznik był zapamiętany - w pierwszej komórce adresu przerwania: PWR: ((AP)) L, A 1 czyt wys wei il 2 wyap wea 3 czyt wys sa wel wea - na stosie: PWR: ((WS)) L, A 1 czyt wys wei il 2 wyws wea iws 3 czyt wys sa wel wea
Maskowanie Plan wykładu maszyny W Cykl obsługi przerwania Rozkaz przerywalny Rozkaz powrotu z przerwania Maskowanie Rozkaz ustawienia/zapisu maski MSK Ad: ((Ad)) RM 1 czyt wys wei il 2 wyad wea 3 czyt wys sa werm 4 wyl wea Rozkaz odczytu maski: CZM Ad: (RM) (Ad) 1 czyt wys wei il 2 wyad wea 3 wyrm as wes 4 pisz wyl wea