AK-8a- przerwania i IO (red)

Transkrypt

AK-8a- przerwania i IO (red)
ARCHITEKTURA KOMPUTERÓW
Obsługa przerwa
Priorytet – zale y przede wszystkim od jego pilno ci (urgency):
• (H) spowodowane naruszeniem bezpiecze stwa lub bł dem sprz towym
• (M) krytyczne ze wzgl du na czas obsługi (na przykład transmisja danych)
• (L) spowodowane obni eniem przepustowo ci systemu lub zwi zane
z obsług zdarze , których wa no jest okre lona przez u ytkownika.
Przerwania nieprecyzyjne (zwykle niemaskowalne)
Przerwania precyzyjne
– wewn trzne (bł dy wykonania)
• instrukcja została zako czona (completed), lecz wytworzony wynik jest
bł dny (na przykład wykryto nadmiar)
• instrukcja została pomini ta (supressed), bo naruszono reguły ochrony
• instrukcja została zignorowana (nulified) – wykonanie było niemo liwe,
lecz po usuni ciu przyczyny mo liwe jest powtórzenie działania
• instrukcja została wstrzymana (terminated).
– zewn trzne (zdarzenia w otoczeniu) → zwłoka obsługi (interrupt latency)
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-1
ARCHITEKTURA KOMPUTERÓW
Identyfikacja przerwania (1)
Identyfikacja ródła przerwania
• odpytywanie (polling) – ci głe zaanga owanie procesora
• samoidentyfikacja
• ustanowienie sztywnego ła cucha priorytetów zgłosze (daisy-chain)
• wektoryzacja przerwa
IRQ N
IRQ N −1
IRQ i
IRQ 1
IRQ 0
IRQ
INTA
INTR N
INTR N-1
INTR i
INTR 1
INTR 0
Ła cuch zgłosze z ustalonymi priorytetami typu daisy-chain.
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-2
ARCHITEKTURA KOMPUTERÓW
Wektoryzacja przerwa
IRQ
rejestr obsług
kontroler priorytetów
EOI
AEOI
INTA
rejestr maski
rejestr wektorów
rejestr zgłosze
wektor przerwania
Sterownik przerwa wektoryzowanych
zgłoszenie:
maska:
priorytety:
obsługa:
wektor:
IRQ N
IRQ 0
zbocze impulsu (opadaj ce) lub poziom sygnału IRQ#
selektywne blokowanie zgłosze
ustalanie priorytetu: zwykły, z rotacj , z rotacj specjaln
wykaz przerwa w trakcie obsługi (pending interrupt)
kod identyfikuj cy procedur obsługi w tablicy przerwa
(interrupt table) w pami ci operacyjnej komputera
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-3
ARCHITEKTURA KOMPUTERÓW
Dystrybucja przerwa
Potrzeba równomiernego obci enia procesorów zadaniami obsługi
Protokół przerwania:
– sekwencja programowania sterownika
– sekwencja zgłoszenia
• identyfikator ródła przerwania
• adresowanie procesora obsługuj cego
o geograficzne – jawnie wskazany procesor obsługuj cy
o logiczne i rozgłaszanie (broadcasting) – obsług podejmuje jeden
z mniej obci onych procesorów
• kody kontrolne
– sekwencja zako czenia
• identyfikator ródła przerwania
• kod zako czenia (EOI)
• kody kontrolne
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-4
ARCHITEKTURA KOMPUTERÓW
Obsługa wej cia i wyj cia
magistrala
CPU
(host)
sprz g
host
port
procesor we/wy
port UZ
UZ
bufor
port UZ
UZ
Podsystem wej cia/wyj cia
Urz dzenia we/wy:
• magazynuj ce (storage) – przechowywanie danych
• pami ci wtórne i tercjalne, archiwizery
• gromadz co-rozsyłaj ce (source/sink) – konwersja i rozsyłanie danych
• komunikacja człowieka z komputerem: mysz, klawiatura, monitor
ekranowy, drukarka
• sprz g procesów przemysłowych z komputerem: czujnik, regulator,
konwerter A/C i C/A, sterownik
• komunikacja mi dzy inteligentnymi terminalami: modem, ł cze sieci
komputerowej, ł cze transmisji szeregowej lub równoległej.
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-5
ARCHITEKTURA KOMPUTERÓW
Cechy eksploatacyjne urz dze zewn trznych:
• czas dost pu (access time), zwłoka dost pu (latency) – znacznie (>105 razy)
wi ksze ni dla pami ci (dost p sekwencyjny)
• przepustowo (bandwith) – maksymalna liczba danych przesyłanych
w kwancie czasu (transmisja równoległa z szybko ci GB/s).
• ryzyko bł du (error rate) – rednia cz sto wyst powania bł dów (<10-6)
Sterowniki
• ł cza bezpo redniego (COM, LPT) – sprz g (interface) we/wy
• szeregowego (protokół RS232, RS485)
• równoległego (protokół Centronics)
• magistral dedykowanych
• magistrali współdzielonej.
Sterowanie urz dzeniami
• programowanie sterownika (wysyłanie polece )
• testowanie sterownika
• obsługa przerwa sygnalizowanych przez urz dzenia
• obsługa bł dów urz dze .
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-6
ARCHITEKTURA KOMPUTERÓW
Oprogramowanie we/wy
Struktura warstwowa (software layers)
• „uchwyty przerwa ” (interrupt handlers) – procedury obsługi zgłosze
• sterowniki urz dze (device drivers) – działania specyficzne dla urz dze
(translacja polece logicznych („odczytaj blok danych”) na zestaw polece
fizycznych („odczytaj sektor N na cie ce M w dysku H”)):
• buforowanie (kolejkowanie) polece logicznych
• zmiana porz dku polece w celu poprawy przepustowo ci transmisji
• zmiana logicznych adresów urz dze i bloków danych na adresy fizyczne
• obsługa bł dów transmisji.
• funkcje u ytkownika – oprogramowanie niezale ne od urz dze :
• zmiana symbolicznej nazwy urz dzenia (standardowe wej cie i wyj cie,
drukarka) na nazw logiczn (adres bloku steruj cego procesu obsługi)
• przeformatowanie danych na posta wymagan przez urz dzenie
(buforowanie, upakowanie, rozpakowanie, translacja kodu danych)
• przydział i zwolnienie przydziału pami ci.
• uaktywnienie (proces u ytkownika) – okre lenie parametrów transmisji,
przygotowanie danych i zainicjowanie komunikacji we/wy.
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-7
ARCHITEKTURA KOMPUTERÓW
Procesy wej cia i wyj cia
Sterowniki urz dze (device drivers) – zasoby chronione
Funkcje obsługi wej cia/wyj cia – osobne procesy na poziomie nadzoru.
Proces obsługi wej cia lub wyj cia:
• program wykonywany przez CPU
• program wykonywany przez sterownik
Klasyfikacja
• bezpo rednie we/wy (direct I/O) – funkcje sterownika wykonuje procesor:
testowanie statusu urz dzenia (busy waiting) i nadzór wykonaniA polece
• nakładane (overlapped) we/wy – obsługa w trybie przerwa precyzyjnych,
wymaga intensywnej synchronizacji
• autonomiczne (autonomous) we/wy – obsługa w trybie DMA (bezpo redni
dost p do pami ci), wymaga minimum synchronizacji.
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-8
ARCHITEKTURA KOMPUTERÓW
Nakładane we/wy (overlapped I/O)
Synchronizacja procesu obsługi we/wy w trybie przerwa sygnalizuj cych:
• gotowo peryferala (urz dzenia we/wy) do transmisji
• zako czenie operacji
• wyst pienie wyj tku sygnalizowanego (na przykład bł d transmisji).
Procesy we/wy s niezale ne:
• wiele urz dze obsługiwanych jednocze nie, problem identyfikacji ródła
• konieczno przeł czania procesów
C
A
INT
RS–1
P–1
magistrala
portu P–1
D
BUF
procesor
RC
RS–N
P–N
magistrala
portu P–N
magistrala systemu
Realizacja nakładanego we/wy
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-9
ARCHITEKTURA KOMPUTERÓW
Autonomiczne we/wy
Transmisja bloku danych zamiast transmisji danych pojedynczych:
• zmniejszenie cz sto ci synchronizowania procesów
• redukcja narzutów czasowych synchronizowania
• konieczne bufory danych – najpro ciej w pami ci głównej
→ transmisja z pomini ciem CPU (DMA)
A D
RQ1
RA1
LA1
RAN
LAN
C1
procesor
D1
HLD
RQN
pami
RC
CN
DN
A’
D’
Realizacja autonomicznego we/wy
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-10
ARCHITEKTURA KOMPUTERÓW
Bezpo redni dost p do pami ci (DMA)
Obsługa w trybie bezpo redniego dost pu do pami ci
• programowanie procesora DMA – podanie parametrów transmisji: adresu
ródłowego i docelowego danych, rozmiaru bloku i protokołu transmisji
• zainicjowanie transmisji – skutek zgłoszenia dania transmisji przez kanał
DMA (procesor DMA ma zwykle kilka niezale nych kanałów).
Procedura:
• zgłoszenie w kanale DMA dania transmisji (bus request, hold)
• potwierdzenie udost pnienia magistral (bus grant, hold acknowledge)
• wykonanie transferu DMA i zwolnienie magistral.
Transfer pojedynczy (single-cycle DMA) – wykradanie cykli (cycle–stealing)
Transfer blokowy (burst-mode DMA).
• blokowanie dost pu do magistral –pami ci dwuportowe
• ró ny rozmiar bloków danych w urz dzeniach uczestnicz cych
• przerwanie po ka dym transferze bloku
• powi zanie danych (data chaining) – autoprogramowanie kanału DMA
→rejestr powi za (data chain register, DCR) – adres kolejnego bloku
© JANUSZ BIERNAT, AK-8A- PRZERWANIA I IO (RED) ,16 CZERWCA 2010
7-11

Podobne dokumenty