Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Dr inż.. T. Popkowski Architektura komputerów Sem. II: studia stacjonarne i niestacjonarne Temat nr 10: System przerwań 1. Rola stosu systemowego 2. Priorytety.

Podobne prezentacje


Prezentacja na temat: "Dr inż.. T. Popkowski Architektura komputerów Sem. II: studia stacjonarne i niestacjonarne Temat nr 10: System przerwań 1. Rola stosu systemowego 2. Priorytety."— Zapis prezentacji:

1 Dr inż.. T. Popkowski Architektura komputerów Sem. II: studia stacjonarne i niestacjonarne Temat nr 10: System przerwań 1. Rola stosu systemowego 2. Priorytety 3. Maskowanie 4. Tablice wektorów

2 Materiały źródłowe: Biernat J., Architektura komputerów, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 2002 Wojtuszkiewicz K., Jak działa komputer, Mikom, W-a 1999

3 Przerwania Komunikację procesora z otoczeniem przy użyciu rozkazów WE-WY całkowicie kontroluje program (system operacyjny) i odbywa się ona w chwilach z góry zaplanowanych przez programistę. W wielu przypadkach potrzebne jest jednak wejście, za pomocą którego urządzenie zewnętrzne może zażądać obsługi w dowolnej chwili, niezależnie od stanu aktualnie wykonywanego programu. Komunikację procesora z otoczeniem przy użyciu rozkazów WE-WY całkowicie kontroluje program (system operacyjny) i odbywa się ona w chwilach z góry zaplanowanych przez programistę. W wielu przypadkach potrzebne jest jednak wejście, za pomocą którego urządzenie zewnętrzne może zażądać obsługi w dowolnej chwili, niezależnie od stanu aktualnie wykonywanego programu.Definicja: Przerwaniem nazywamy zawieszenie realizacji programu zasadniczego spowodowane sygnałem przerywającym. Może to być sygnał wewnętrzny - generowany rozkazem zawartym w programie lub (i tak bywa najczęściej) sygnał zewnętrzny wywołujący rozwidlenie programu.

4 Rodzaje przerwań: Zewnętrzne – 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, np. z klawiaturą, napędami dysków itp. Zewnętrzne – 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, np. z klawiaturą, napędami dysków itp. Wewnętrzne - nazywane wyjątkami (ang. exceptions) – zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero); dzielą się na trzy grupy: Wewnętrzne - nazywane wyjątkami (ang. exceptions) – zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero); dzielą się na trzy grupy: faults (niepowodzenie) – sytuacje, w których aktualnie wykonywana instrukcja powoduje błąd; gdy procesor powraca do wykonywania przerwanego kodu wykonuje następną, po tej która wywołała wyjątek, instrukcję; faults (niepowodzenie) – sytuacje, w których aktualnie wykonywana instrukcja powoduje błąd; gdy procesor powraca do wykonywania przerwanego kodu wykonuje następną, po tej która wywołała wyjątek, instrukcję; 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 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 tę samą instrukcję która wywołała wyjątek; aborts – błędy, których nie można naprawić. aborts – błędy, których nie można naprawić. Programowe – z kodu programu wywoływana jest procedura obsługi przerwania; najczęściej wykorzystywane do komunikacji z systemem operacyjnym, który w procedurze obsługi przerwania umieszcza kod wywołujący odpowiednie funkcje systemowe w zależności od zawartości rejestrów ustawionych przez program wywołujący, lub oprogramowaniem wbudowanym jak procedury BIOS lub firmware. Programowe – z kodu programu wywoływana jest procedura obsługi przerwania; najczęściej wykorzystywane do komunikacji z systemem operacyjnym, który w procedurze obsługi przerwania umieszcza kod wywołujący odpowiednie funkcje systemowe w zależności od zawartości rejestrów ustawionych przez program wywołujący, lub oprogramowaniem wbudowanym jak procedury BIOS lub firmware.

5 Realizacja przerwania: pobranie rozkazu z pamięci spod adresu zawartego w rejestrze PC i przekazanie go magistralą danych do dekodera rozkazów. pobranie rozkazu z pamięci spod adresu zawartego w rejestrze PC i przekazanie go magistralą danych do dekodera rozkazów. zwiększenie licznika rozkazów o jeden. zwiększenie licznika rozkazów o jeden. żądanie obsługi ze strony urządzenia zewnętrznego żądanie obsługi ze strony urządzenia zewnętrznego rozpoczęcie procedury obsługi przerwania. (do procesora nadawany jest kod przerwania) rozpoczęcie procedury obsługi przerwania. (do procesora nadawany jest kod przerwania)

6

7 Realizacja przerwania, cd. zwiększenie licznika rozkazów o jeden. zwiększenie licznika rozkazów o jeden. żądanie obsługi ze strony urządzenia zewnętrznego żądanie obsługi ze strony urządzenia zewnętrznego rozpoczęcie procedury obsługi przerwania. (do procesora nadawany jest kod przerwania) rozpoczęcie procedury obsługi przerwania. (do procesora nadawany jest kod przerwania)

8

9 realizacja przerwania cd. na stos odkładany jest starszy bajt licznika rozkazów na stos odkładany jest starszy bajt licznika rozkazów komórkę pamięci do której zostaną wpisane dane wskazuje zawartość rejestru SP komórkę pamięci do której zostaną wpisane dane wskazuje zawartość rejestru SP na stos odkładany jest młodszy bajt licznika rozkazów na stos odkładany jest młodszy bajt licznika rozkazów komórkę pamięci do której zostaną wpisane dane wskazuje zawartość SP - 1 komórkę pamięci do której zostaną wpisane dane wskazuje zawartość SP - 1

10

11 realizacja przerwania cd. ustalenie nowej zawartości rejestru PC na podstawie numeru restartu ustalenie nowej zawartości rejestru PC na podstawie numeru restartu wykonanie rozkazów z obszaru pamięci należącego do RST6 - lokalizację rozkazu wskazuje rejestr PC (licznik rozkazów) wykonanie rozkazów z obszaru pamięci należącego do RST6 - lokalizację rozkazu wskazuje rejestr PC (licznik rozkazów) (po wykonaniu rozkazu RET) następuje powrót do miejsca w którym został przerwany główny program (po wykonaniu rozkazu RET) następuje powrót do miejsca w którym został przerwany główny program

12

13 realizacja przerwania cd. do licznika rozkazów ładowana jest wartość wcześniej odłożona na stos - (komórki stosu wskazuje rejestr SP) do licznika rozkazów ładowana jest wartość wcześniej odłożona na stos - (komórki stosu wskazuje rejestr SP) ładowanie młodszego bajtu licznika rozkazów, później starszego bajtu ładowanie młodszego bajtu licznika rozkazów, później starszego bajtu pobranie kolejnego rozkazu z programu głównego wskazanego zawartością rejestru PC. pobranie kolejnego rozkazu z programu głównego wskazanego zawartością rejestru PC.

14

15 Operacje wejścia / wyjścia z przerwaniem programu STEROWNIK PRZERWAŃ: - Pośredniczenie w przyjmowaniu zgłoszeń przerwań pomiędzy mikroprocesorem, a innymi układami wejścia / wyjścia - Przyjmowanie zgłoszeń przerwań od wielu układów wejścia / wyjścia - Wybór z pośród kilku jednocześnie zgłoszonych przerwań tego, które zostanie obsłużony - Zasygnalizowanie dokonanego wyboru przez podanie numeru (adresu) układu wejścia / wyjścia, z którym zostanie dokonana wymiana, a dokładniej, adresu programów obsługi przerwania realizującego tą wymianę - Po przyjęciu sygnałów zgłoszeń przerwań od układów wejścia / wyjścia i wyborze układów, który będzie obsłużony, wygenerowanie sygnału zgłoszenia przerwania bezpośrednio do mikroprocesora.

16 Wykonanie operacji wejścia / wyjścia z przerwaniem programu

17 Schemat blokowy sterownika przerwań

18 Operacja maskowania sygnałów przerwań

19 Koniec!


Pobierz ppt "Dr inż.. T. Popkowski Architektura komputerów Sem. II: studia stacjonarne i niestacjonarne Temat nr 10: System przerwań 1. Rola stosu systemowego 2. Priorytety."

Podobne prezentacje


Reklamy Google