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