Przerwanie ang. interrupt.

Slides:



Advertisements
Podobne prezentacje
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Advertisements

Wirtualizacja zasobów w systemach operacyjnych
Co to jest BIOS ? Piotr Pierzchalski kl. III B.
Wykonał : Marcin Sparniuk
Odpytywanie - Polling Program czeka na nadejście danych z urządzenia i nie może wykonywać innych zadań. Urządzenie zewnętrzne dostarcza dane w trudnym.
Moduł 2. Struktury Systemów Komputerowych
System przerwań na podstawie DOS
Rola komputera w przetwarzaniu informacji.
1 Linux jako system wielozadaniowy i wielodostępny.
Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył
Podstawowe składniki funkcjonalne procesora i ich rola.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Budowa systemów operacyjnych czasu rzeczywistego
Płyty główne BIOS.
Płyty główne Budowa.
Temat : Części komputera
ZARZĄDZANIE PROCESAMI
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Budowa Komputera.
Układy wejścia-wyjścia
Bios.
Co to jest BIOS? Artur Młynarski.
ogólne pojęcia struktury
Komputer a system komputerowy
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Mikroprocesor Z80 przerwania.
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
Wykonał Piotr Jakubowski 1ET
Płyta główna. Magistrale I/O
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
Elementy składowe komputera
Urządzenia wewnętrzne komputera
Autor: Justyna Radomska
Budowa komputera.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Etapy pracy biosu.
Podstawowe usługi systemów operacyjnych
Mikroprocesory.
Aplikacje systemu windows XP
Systemy plików FAT, FAT32, NTFS
Maszyna wirtualna ang. virtual machine, VM.
Buforowanie D e f i n i c j a.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
Nośniki informacji i akcesoria komputerowe
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
Spis treści Architektura systemu windows Pamięć wirtualna Plik wymiany
Etapy uruchamiania systemu Pliki konfiguracyjne
W ą t e k (lekki proces) thread.
Wykład 5 Przerwania – zagadnienia pokrewne
Procesor – charakterystyka elementów systemu. Parametry procesora.
BUDOWA I ZASADA DZIAŁANIA
Procesor, pamięć, przerwania, WE/WY, …
Architektury procesorów rdzeniowych mikrokontrolerów.
Tryby adresowania i formaty rozkazów mikroprocesora
Budowa komputera.
Technologie w mikroprocesorach. Wykonywanie rozkazów.
Systemy operacyjne i sieci komputerowe DZIAŁ : Systemy operacyjne i sieci komputerowe Informatyka Zakres rozszerzony Zebrał i opracował : Maciej Belcarz.
Płyta główna. Magistrale I/O
POLITECHNIKA POZNAŃSKA
Mikrokontrolery System przerwań
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Przerwanie ang. interrupt

Co to jest przerwanie? Jest to sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania (ang. interrupt handler).

Rodzaje przerwań Przerwania dzielą się na dwie grupy: Sprzętowe Programowe

Przerwania sprzętowe 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);

Przerwania wewnętrzne 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ę; 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ć.

Przerwania 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 (np. w DOS 21h, 2fh, Windows 2fh, Linux x86 przerwanie 80h) 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.

Przerwanie 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.

Obsługa przerwań (Interrupt Handling) System operacyjny zachowuje stan CPU: stan licznika programu stan innych rejestrów. Określa typ przerwania: odpytywanie (polling) Wektorowe (vectored interrupt system) Dla każdego typu przerwań oddzielne procedury.

Tryb rzeczywisty (Tryb pracy mikroprocesorów) W trybie rzeczywistym (ang. real) pracy procesora adres procedury obsługi przerwania jest zapisany w tablicy wektorów przerwań. Tablica wektorów przerwań przechowuje adresy poszczególnych procedur obsługi przerwań; przerwania identyfikowane są przez numer (wektor przerwania) i w przypadku procesorów serii x86 jest możliwych do 256 przerwań. Tablica wektorów przerwań znajduje się w pierwszych 1024 (256 4 Bajtowych adresów procedur obsługi przerwań) komórkach pamięci operacyjnej.

Tryb rzeczywisty (Tryb pracy mikroprocesorów) W komputerach PC jest zazwyczaj 16 różnych sygnałów IRQ (ang. interrupt request) – IRQ0 do IRQ15. Często mówiąc o IRQ ma się na myśli sam numer przerwania, jako zasób udostępniany przez procesor. Jako, że jest ich tylko 16, bywają problemy z przydzieleniem osobnego przerwania każdemu z urządzeń, które go potrzebuje, może to powodować przydzielenie tego samego przerwania dwóm urządzeniom. Mówi się wtedy o konflikcie przerwań, gdyż najczęściej dwa urządzenia nie mogą współdzielić jednego

Tryb chroniony W trybie chronionym (ang. protected) pracy procesora x86 (od procesora i386) mamy do czynienia z tablicą deskryptorów przerwań (ang. Interrupt Descriptor Table, IDT) łączącą każdy wektor wyjątku lub przerwania z deskryptorem bramy (deskryptory bram to deskryptory pozwalające na kontrolowany dostępdo segmentów kodu o różnych stopniach uprzywilejowania) dla procedury lub zadania (ang. task) obsługującym dany wyjątek lub przerwanie.

Tryb chroniony deskryptorów przerwań (ang. Interrupt Descriptor Table Położenie IDT jest zapisane w rejestrze tablicy deskryptorów przerwań (ang. Interrupt Descriptor Table Register, IDTR). IDT zawiera do 256 wpisów zwanych deskryptorami. Rozmiar IDT to 256*8B (8 Bajtów to rozmiar pojedynczego deskryptora); w przypadku mniejszej ilości deskryptorów (obsługiwanych przerwań) niż maksymalne 256, puste sloty (czyli w rzeczywistości nieważne deskryptory) powinny zawierać flagę dostępności segmentu (ang. Segment Present Flag, P) ustawiona na 0.

Interrupt Descriptor Table (tablica deskryptorów przerwań) IDT może zawierać trzy różne rodzaje deskryptorów bram: deskryptor bramy zadania (ang. Task-Gate Descriptor) deskryptor bramy przerwania (ang. Interrupt-Gate Descriptor) deskryptor bramy pułapki (ang. Trap-Gate Descriptor)

Przerwanie niemaskowalne To specjalny rodzaj przerwania występujący w większości architektur procesorów. Tym, co odróżnia je od zwykłego przerwania, jest brak możliwości zignorowania (zamaskowania) go, stąd termin "niemaskowalne". Obecnie przerwań NMI używa się głównie do debugowania kodu programów, który może wyłączać zwykłe przerwania (np. kod systemu operacyjnego).