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ń