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.

Slides:



Advertisements
Podobne prezentacje
Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Advertisements

Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy.
Wirtualizacja zasobów w systemach operacyjnych
C++ wykład 7 ( ) Wyjątki.
Mechanizmy pracy równoległej
Wykonał : Marcin Sparniuk
Moduł 2. Struktury Systemów Komputerowych
System przerwań na podstawie DOS
PROGRAMOWANIE STRUKTURALNE
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył
Podstawowe składniki funkcjonalne procesora i ich rola.
by Ernest Jamro Katedra Elektroniki, AGH Kraków
Tablice.
Wykład 5: Program Sequencer i struktura pamięci
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
C++ wykład 7 ( ) Wyjątki. Ogólne spojrzenie na wyjątki Wyjątki zaprojektowano do wspierania obsługi błędów. System wyjątków dotyczy zdarzeń synchronicznych.
Systemy operacyjne.
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Budowa systemów operacyjnych czasu rzeczywistego
Procesory RISC.
Płyty główne BIOS.
Interfejs IEEE 488 Funkcja żądania obsługi. Struktura systemu raportowania stanu urządzenia.
ZARZĄDZANIE PROCESAMI
Mikroprocesory i mikrokontrolery
Układy wejścia-wyjścia
ogólne pojęcia struktury
Komputer a system komputerowy
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Układy kombinacyjne cz.2
Konsole wirtualne, terminale.
Mikroprocesor Z80 przerwania.
ogólne pojęcia struktury
MCS51 - wykład 6.
Architektura komputerów
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
Podstawy programowania
Zasada działania komputera
Prezentacja opisuje mechanizm pracy
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Etapy pracy biosu.
Problem sekcji krytycznej
Przerwanie ang. interrupt.
Buforowanie D e f i n i c j a.
Architektura PC.
Etapy uruchamiania systemu Pliki konfiguracyjne
Wykład 7 Synchronizacja procesów i wątków
W ą t e k (lekki proces) thread.
Wykład 5 Przerwania – zagadnienia pokrewne
Wykład 3 Praca systemu komputerowego
K URS JĘZYKA C++ – WYKŁAD 7 ( ) Wyjątki.
Procesor, pamięć, przerwania, WE/WY, …
Pamięć DRAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
ATXMEGA128A4U 128 kB pamięci Flash Zasilanie 1.6V-3.6V Maksymalne taktowanie 32 MHz 34 Programowalne WE-WY System zdarzeń (Event System) 4 kanały DMA.
Układy i systemy mikroprocesorowe
Model warstwowy ISO-OSI
Przerwania timera i przerwania zewnętrzne
Tryby adresowania i formaty rozkazów mikroprocesora
POLITECHNIKA POZNAŃSKA
Opiekun: Stanisław Toton. 1. Co to jest mikroprocesor? 2. Początki mikroprocesora. 3. Budowa typowego mikroprocesora. 4. Rozwój mikroprocesorów na przełomie.
POLITECHNIKA POZNAŃSKA
Mikrokontrolery System przerwań
Format rozkazu Tryby adresowania.
Zapis prezentacji:

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 do przewidzenia momencie, ale program jest gotowy w każdej chwili na ich odbiór Program odbiera dane z urządzenia... i natychmiast musi się nimi zająć... aby jak najszybciej być gotowym na odbiór następnych danych. Ale nie wiadomo kiedy nadejdą dane, więc program znów czeka i nie może wykonywać innych zadań.

Sytuacja wyjątkowa / przerwanie Exception / Interrupt Program nie czeka na nadejście danych z urządzenia i może wykonywać inne zadania. Urządzenie zewnętrzne dostarcza dane w trudnym do przewidzenia momencie, ale signalizuje ten fakt do programu i jest on gotowy na ich odbiór właśnie wtedy, gdy dane się pojawiają. Program odbiera dane z urządzenia... i musi się nimi zająć... aby po chwili powrócić do poprzednio wykonywanych zadań.

Sytuacje wyjątkowe Exceptions Sprzętowe Hardware Programowe Software Sytuacje wyjątkowe μP Motorola 680x0 Sytuacja wyjątkowa - odstępstwo od normalnego wykonywania ciągu instrukcji programu w celu obsługi nieprzewidzianego lub/i krytycznego zdarzenia w systemie mikroprocesorowym Sytuacje wyjątkowe powstają na skutek: zdarzenia powstałego na zewnątrz mikroprocesora nieprzewidzianego błędu podczas wykonywania programu celowego wywołania za pomocą specjalnych instrukcji np. inicjalizacja systemu, błąd dostępu do pamięci, sygnały z urządzeń zewnętrznych... np. nieistniejący kod instrucji, dzielenie przez 0, praca krokowa, instrukcje TRAP #n...

Inicjalizacja Reset Przerwania Interrupts Błąd magistrali Bus error Sprzętowe Hardware Wektorowe Vectored Autowektorowe Autovectored Normalne Normal Nieautentyczne Spurious Niezainicjowane Uninitialized Normalne Normal Niezainicjowane Uninitialized

Reset - sytuacja wyjątkowa polegająca na rozpoczęciu pracy systemu (np. po włączeniu zasilania lub przycisku Reset). Bit S i T rejestru SR ustawiane są na 1 i 0, a maska przerwań na 111, a następnie z pamięci ładowane są zawartości rejestrów: SP (spod adresu 0) i PC (spod adresu 4) Bus error - sytuacja wyjątkowa występująca przy próbie odwołanie się procesora do obszaru pamięci nieistniejącego fizycznie w systemie. Może być wykorzystywane do realizacji pamięci wirtualnej. Interrupt - sytuacja wyjątkowa służąca do komunikacji z urządzeniami zewnętrznymi, jeśli dane z urządzenia napływają bardzo wolno lub/i w niemożliwych do przewidzenia momentach. Przerwania wektorowe polegają na tym, że urządzenie identyfikuje się do procesora podając, po zgłoszeniu i przyjęciu przerwania, swój unikalny numer. Przerwania autowektorowe polegają na tym, że identyfikacja urządzenia do procesora, po zgłoszeniu i przyjęciu przerwania, określona jest bezpośrednio na podstawie priorytetu zgłaszającego się przerwania

Normal interrupt - przerwanie, którego cykl zgłoszenia, przyjęcia i identyfikacji przebiega bez zakłóceń. Spurious interrupt - przerwanie, które zostaje zgłoszone i przyjęte, ale procesor nie otrzymuje jego numeru (np. z powodu przerwania sygnalizacji przerwania przez urządzenie lub jego uszkodzenia) Uninitialized - przerwanie, które może być zgłoszone przez niezainicjowane urządznie. Przerwanie może być wówczas zgłoszone i przyjęte, ale jako numer przesyłana jest wartość $0F, pozwalająca na odpowiednia reakcję systemu

Śledzenie Trace Błędy Errors Koprocesor Coprocessor Wywołane przez instrukcje Programmer initiated Programowe Software Błąd adresu Address errors Naruszenie uprzywilejowania Privilage violation Nieistniejąca instrukcja Illegal instruction Dzielenie przez zero DIVU, DIVS TRAPV TRAP #n TRAPcc (68020+) CHK, CHK2 (68020+) Line 1010 emulator Line 1111 emulator

Trace - sytuacja wyjątowa wywoływana po wykonywaniu każdej instrucji programu użytkowanika, pozwalająca na uruchaniamia programów w trybie pracy krokowej. Oczywiście program obsługi tej sytuacji (już w trybie nadzorcy) przerywany nie jest. Address error - sytuacja wyjątowa wywoływana przy próbie odwołania do 16 lub 32 bitowych danych z pamięci spod nieparzystego adresu np..: LEA$40000,A0 MOVE.B(A0)+,D0 MOVE.W(A0)+,D0*błąd adresu !!! Privilage violation - sytuacja wyjątowa wywoływana przy próbie wykonywania przez program w trybie użytkownika instrucji zastrzeżone dla trybu nadzorcy Illegal instruction - sytuacja wyjątowa wywoływana przy próbie wykonywania instrucji, której kod nie odpowiada żadnej istniejącej instrukcji DIVS,DIVU / Divide by Zero - sytuacja wyjątowa wywoływana przy próbie wykonania instrukcji dzielenia DIVS, DIVU, jeśli dzielnik jest równy 0.

TRAPV, TRAPcc - sytuacja wyjątowa wywoływana przez instrukcję TRAPV (ogólnie TRAPcc dla ), jeśli testowany warunek cc jest spełniony. TRAP #n - sytuacja wyjątowa wywoływana przez instrukcję TRAP #n (n=0..15). Pozwala na poszerzenie listy instrukcji o 16 nowych pozycji. Wykorzystywane np. do pisania programów przenośnych pomiędzy różnymi systemami (z tym samym procesorem ale różnymi urządzeniami we/wy) CHK, CHK2 - sytuacja wyjątowa wywoływana przez instrukcję CHK (i CHK2 dla ), która porównuje operand z podaną watrością, ( CHK,Dn ). Jeśli operand w Dn.W jest wartością spoza zakresu 0 -, wywoływana jest sytuacja wyjątkowa. Line 1010 (A) emulator - sytuacja wyjątowa wywoływana przy próbie wykonania instrukcji, której kod zaczyna się od wzorca Pozwala to na zdefiniowanie grupy nowych instrucji, np. emulujących możliwości nowszych procesorów tej rodziny. Line 1111 (F) emulator - sytuacja wyjątowa wywoływana przy próbie wykonania instrukcji, której kod zaczyna się od wzorca Wykorzytywana zwykle do emulacji instrukcji koprocesora arytmetycznego w systemie z procesorem

Program w trybie użytkowanika Program w trybie nadzorcy Normalne wykonywanie programu Wykonywanie procedury obsługi sytuacji wyjątkowej Sytuacja wyjątkowa Powrót z procedury obsługi Obsługa sytuacji wyjątkowej: Dokończenie aktualnie wykonywanej instrukcji, Wewnętrzne wygenerowanie numeru sytuacji wyjątkowej, rozstrzygnięcie priorytetu, Odłożenie na stos zawartości rejestrów procesora (zawsze SP i PC, dodatkowe rejestry odkładane są w zależności od typu sytuacji wyjątkowej) tzw. ramka stosu, Odczytanie z tablicy wektorów adresu procedury obsługi dla danego numeru sytuacji wyjątkowej, Skok, wykonanie procedury obsługi i powrót z odtworzeniem ramki stosu.

Priorytety sytuacji wyjątkowych Sytuacja wyjątkowa o priorytecie niższym może być przerwana przez sytuację o priorytecie wyższym (np. obsługa błędu programowego może być przerwana przez przerwanie zewnętrzne). PriorytetSytuacja wyjątkowa najwyższyReset Bus error Addres error średniTrace Interrupt Illegal instruction Privilege violation najniższyTRAPcc, TRAP #n Divide by Zero, CHK

Status Register I2I1I0 interrupt MASK IPL2 IPL1 IPL0 interrupt REQUEST 0..7 REQUEST > MASK ? Przerwania - Interrupts Linie zewnętrzne mikroprocesora Przerwanie jest przyjęte jeśli priorytet zgłaszanego przerwania (IPL2-0) jest większy od wartości maski przerwań (I2-0) Przerwanie o priorytecie (IPL2-0) równym 7 nazywane jest przerwaniem niemaskowalnym i jest zawsze przyjęte przez mikroprocesor.

Tablica wektorów sytuacji wyjątkowych - Vector Table 256 x 4B = 1kB

Sieć działań dla obsługi sytuacja wyjątkowych

Sytuacja wyjątkowa - Reset

Vector Table (68020+)

Układ dekodera priorytetu przerwań