PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Podobne dokumenty
PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Jedrzej Ułasiewicz Komputerowe systemy sterowania 1

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

Przerwania, polling, timery - wykład 9

Metody obsługi zdarzeń

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Podstawy Informatyki Układ przerwań

Mikroprocesor Operacje wejścia / wyjścia

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Architektura komputerów. Układy wejścia-wyjścia komputera

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Układy wejścia/wyjścia

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura komputera

Architektura komputera typu PC z procesorem IA-32

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Urządzenia wejścia-wyjścia

Architektura Systemów Komputerowych

Architektura komputerów

Błąd pamięci karty graficznej lub Uszkodzona lub źle podpięta karta graficzna

Architektura komputerów

Interfejs urządzeń peryferyjnych

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Przerwania w systemie mikroprocesorowym

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

LEKCJA TEMAT: Zasada działania komputera.

Działanie systemu operacyjnego

Architektura systemów komputerowych. dr Artur Bartoszewski

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Architektura i administracja systemów operacyjnych

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Działanie systemu operacyjnego

Hardware mikrokontrolera X51

Działanie systemu operacyjnego

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

URZĄDZENIA WEJŚCIA-WYJŚCIA

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Działanie systemu operacyjnego

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Organizacja typowego mikroprocesora

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Architektura systemu komputerowego

Architektura komputerów

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Wybrane zagadnienia elektroniki współczesnej

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Moduł wspierający diagnostykę i sprzętowe debugowanie

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

Systemy Operacyjne sprzęt

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Technologia informacyjna. Urządzenia techniki komputerowej

Budowa systemów komputerowych

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

System mikroprocesorowy i peryferia. Dariusz Chaberski

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

5. Model komunikujących się procesów, komunikaty

Podsumowanie. semestr 1 klasa 2

Problematyka sieci miejscowej LIN

dr inż. Jarosław Forenc

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Współpraca procesora z urządzeniami peryferyjnymi

m e d i a s e r v i c e Moduł kamery JPEG z komunikacją szeregową CJ0706A

1. Szeregowanie w systemach czasu rzeczywistego

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

Embedded Systems Programming

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Technika Mikroprocesorowa

2. Zawartość dokumentacji. 1. Strona tytułowa. 2. Zawartość dokumentacji. 3. Spis rysunków. 4. Opis instalacji kontroli dostępu. 3.

Komunikacja z urzadzeniami zewnętrznymi

Architektura mikrokontrolera MCS51

ALNET USB - RS Konwerter USB RS 232/422/485 Instrukcja obsługi

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Architektura mikrokontrolera MCS51

Instrukcja do oprogramowania ENAP DEC-1

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

1. Tworzenie nowego projektu.

Urządzenia wej.-wyj. Plan (1) Plan (2)

Urządzenia wej.-wyj.

Urządzenia wej.-wyj. Plan (1) Plan (2) Rodzaje urządzeń wejściawyjścia

4. Procesy pojęcia podstawowe

Komputery klasy PC. Dariusz Chaberski

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

TRB-0610 Konwerter USB RS 232/422/485 Instrukcja obsługi

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

2. Budowa układów procesorowych rodziny TMS320C

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

Mechanizmy pracy równoległej. Jarosław Kuchta

1.2. Architektura rdzenia ARM Cortex-M3...16

Transkrypt:

PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne odpytywanie urządzenia czy zdarzenie zaszło (ang. polling). 2. Wykorzystanie przerwań generowanych przez zdarzenia (ang. interrupts). Istnieją dwie metody informowania o zdarzeniach: metoda odpytywania rejestru zdarzeń oraz wyzwalane zdarzeniami. 2. Metoda zdarzeń poprzez odpytywanie... do { Czytaj rejestr urządzenia Sprawdź czy zaszło zdarzenie Czekaj(T) } while(1)... Rys. 2-1 Ilustracja metody odpytywania Metoda odpytywania własności: 1. Długi czas reakcji na zdarzenie 2. Trudności w uszeregowaniu zdarzeń według priorytetów. 3. Utrata czasu procesora na wykonanie jałowych czynności 4. Prostota implementacji nie jest wymagany specjalny sprzęt. 5. Przewidywalność nic nie dzieje się niespodziewanie a tylko wtedy gdy nadejdzie na to zaplanowany czas.

3. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą (ang. interrupt handler). Często używany jest też skrót ISR (ang. Interrupt Service Routine). Zdarzenie Z1 Przerwanie P1 - Procedura obslugi P1 Powrót z procedury obslugi do poprzedniego lub innego procesu P0 - Proces glówny P0 Pi Rys. 3-1 Obsługa zdarzenia Z1 poprzez procedurę P1 Przykładem urządzenia zgłaszającego może być układ transmisji szeregowej typu 8250. kontroler przerwań IRQ3 układ 8250 R7 TX RX dane wysyłane dane odbierane INT Bufor odbiorczy Bufor nadawczy R1 R0 CTS RTS linie sterowanie modemem Rys. 3-2 Układ transmisji szeregowej 8250

Może się zdarzyć że do systemu zgłosi się więcej przerwań niż może być w danym czasie obsłużone. Zachodzi wtedy potrzeba rozstrzygnięcia które zdarzenie ma wane gdy wiele z nich wystąpi naraz. Istnieją tu dwie podstawowe strategie postępowania: 1. Jednopoziomowy system przerwań. 2. Priorytetowy system przerwań. Gdy za obsługę oczekuje więcej nie obsłużonych przerwań wybór do może być dokonany według różnych zasad. 1. Poszczególnym przerwaniom mogą być przypisane priorytety. 2. Przerwania mogą być wane według kolejności zgłoszeń. Strategia jednopoziomowa - polega wstrzymaniu się z obsługą nowego do czasu zakończenia. Strategia wielopoziomowa - gdy w czasie o niższym priorytecie pojawi się zgłoszenie o priorytecie wyższym, to system przyjmie przerwanie o wyższym priorytecie. czas Proces 1 ISR 1 EOI ISR 2 2 EOI przerwanie 1 przerwanie 2 przyjęcie 2 Rys. 3-3 Dwa wane w systemie jednopoziomowym

Proces 1 2 przerwanie 1 czas ISR 1 ISR 2 kontynuacja ISR1 przerwanie 2 przyjęcie 2 Rys. 3-4 Obsługa przerwań w trybie wielopoziomowym Nie należy mylić priorytetów przerwań wynikających z działania kontrolera przerwań z priorytetami wątków. Obsługa przerwań w systemie komputerowym jest czasami blokowana przez system operacyjny. Maksymalny czas zablokowania przerwań Tdmax jest podstawową miarą jakości systemu czasu rzeczywistego. Czas Tdmax powinien być jak najkrótszy. Maksymalny czas Tmax reakcji na zdarzenie, w systemie z mi, jest większy lub równy maksymalnemu czasowi zablokowania przerwań Tdmax czyli Tmax = Tdmax. Obsługa zdarzeń poprzez ma dla systemu komputerowego daleko idące konsekwencje.

W systemach operacyjnych istnieją trzy strategie zdarzeń poprzez : 1. Zdarzenie w całości wane jest przez procedurę. 2. Zdarzenie w części wane jest przez procedurę a w części przez odblokowany przez procedurę watek lub proces. 3. Procedura odblokowuje wątek lub proces który w całości wykonuje obsługę zdarzenia. wątek przerwanie ISR powrót z procedury Rys. 3-5 Obsługa zdarzenia poprzez procedurę Czas wątek wątek ISR event przerwanie odblokowanie wątku Rys. 3-6 Procedura wykonuje część pracy a następnie odblokowuje wątek lub proces

Czas wątek lub proces event wątek lub proces przerwanie odblokowanie wątku lub procesu Rys. 3-7 Przerwanie zamieniane w zdarzenie które odblokowuje wątek lub proces. Kontroler przerwań Funkcje kontrolera przerwań: Maskowanie przerwań. Tworzenie powiązania pomiędzy linią zgłoszenia a procedurą (za pośrednictwem wektora przerwań). Arbitraż przerwań. Arbitraż przerwań. Kontroler przerwań posiada 8 linii zgłaszania przerwań. Arbitraż polega na rozstrzyganiu czy i kiedy, wykonywana właśnie, ma być przerwana przez pojawiające się zgłoszenie innego.

4. Obsługa przerwań w komputerach typu PC tryb rzeczywisty Procesory o architekturze IA-32 stosowane w komputerach PC obsługują następujące rodzaje przerwań: 1. Przerwania zewnętrzne generowane są przez urządzenia zewnętrzne i koordynowane przez kontroler przerwań. Wśród nich wyróżnia się: NMI - niemaskowalne, INTR - maskowalne 2. Przerwania wewnętrzne - generowane są przez układy wewnętrzne procesora i zwykle związane z naruszeniem systemu ochrony. 3. Przerwania programowe generowane przez oprogramowanie. Procesor posiada jedną linię zgłaszania IRQ (ang. Interrupt Request) podczas gdy liczba urządzeń mogących zgłosić przerwanie jest większa. Aby rozwiązać ten problem stosuje się urządzenie nazywane kontrolerem przerwań (ang. Interrupt Controller) Procedura obslugi Tablica wektorów przerwan 255 RAM P1 VH7 VH1 VH0 INT V NMI Procesor INTA INT Kontroler przerwan IMR CR Linie przerwan IRQ0 IRQ1 IRQi IRQ7 Urzadzenie Kontroler urzadzenia 0 Baza B kontrolera V = B + i i - numer lini IRQ Rys. 4-1 Obsługa przerwań w komputerze PC tryb rzeczywisty Linia IRQ0 posiada najwyższy priorytet, Linia IRQ7 najniższy. Kontroler posiada dwa dostępne z zewnątrz 8 bitowe rejestry: 1. Rejestr poleceń CR (ang. Control Register). Do rejestru CR system wpisuje polecenia i odczytuje zeń statusy. 2. Rejestr maski IMR (ang. Interrupt Maskl Register). Rejestr IMR pozwala na zamaskowanie przyjmowania przerwań. Gdy bit i IMR jest ustawiony na 1 przerwanie IRQi będzie ignorowane. Gdy bit i ustawimy na 0 przerwanie IRQi będzie przyjmowane.

Funkcje kontrolera przerwań: 1. Arbitraż przerwań. 2. Maskowanie przerwań. 3. Tworzenie powiązania pomiędzy pobudzeniem linii IRQi a wektorem przerwań VHi. Gdy przerwanie IRQi zostanie przyjęte, kontroler przekazuje do procesora bajt zawierający liczbę V = B + i (baza kontrolera + numer ). Na tej podstawie procesor wykonuje instrukcję INT V a zatem i procedurę IRQi. Adres procedury IRQi procesor pobiera z wektora VHi = V. IRQ IRQ Urządzenie Master Slave 0 Zegar systemowy generuje zegarowe 1 Klawiatura 8 Zegar czasu rzeczywistego RTC 2 9 W kontrolerze master wejście z kontrolera slave. W kontrolerze slave wolne 10 wolne 11 Kontroler USB 12 Karta sieciowa 13 Koprocesor 14 Kontroler 1 dysków IDE 15 Kontroler 2 dysków IDE 3 Układ transmisji szeregowej COM2 lub inny 4 Układ transmisji szeregowej COM1 lub inny 5 Układy audio lub inny 6 Wolne 7 Port równoległy lub inne Tab. 4-1 Tablica linii przerwań i urządzeń generujących w komputerze PC W komputerach wielordzeniowych system przerwań jest bardziej skomplikowany. Każdy z procesorów posiada własny kontroler przerwań APIC (ang. Advanced Interrupt Controler). Dodatkowo w systemie wystepuje kontrolerów wejścia wyjścia IO APIC (zgodnych z układem 82489DX). Kontrolery te są połączone szyną sterującą przerwań ICC (ang. Interrupt Controller Comunication), poprzez którą się komunikują. Szyna ta jest 3 przewodową magistralą szeregową i jest niewidoczna dla oprogramowania.