10w Urzadzenia Wejscia v01

background image

Urządzenia Wejścia/Wyjścia

1

Przedmioty prowadzone w ramach

Programu Rozwoju WSFiZ w Białymstoku realizowane są w ramach

Programu Operacyjnego Kapitał Ludzki, Priorytet IV Szkolnictwo wyższe i nauka, Poddziałanie 4.1.1

Wzmocnienie potencjału dydaktycznego uczelni, współfinansowanego ze środków

Europejskiego Funduszu Społecznego (POKL.04.01.01-00-030/08)

10.

Urządzenia Wejścia/Wyjścia

Spis treści

10.

Urządzenia Wejścia/Wyjścia................................................................................. 1

10.1

Wstęp ............................................................................................................ 1

10.2

Adresacja urządzeń We/Wy ........................................................................... 2

10.3

Transmisja danych ......................................................................................... 3

10.4

Programowa obsługa We/Wy ......................................................................... 4

10.5

Tryb bezpośredniego dostępu do pamięci ....................................................... 6

10.6

We/Wy sterowane przez przerwania .............................................................. 7

10.1

Wstęp

Urządzenia zewnętrzne są trzecim (po procesorze i pamięci) blokiem wchodzącym w

skład systemu komputerowego. Ich podstawowym zadaniem jest umożliwienie
użytkownikowi systemu wprowadzenie danych i programów oraz wyprowadzenie
wyników. Jak wiadomo z poprzednich rozdziałów procesor potrafi wykonywać programy
i przetwarzać dane jedynie wtedy, jeżeli są one zapisane w postaci binarnej. Dla
człowieka czytelną postacią programów, danych wejściowych i wyników jest postać
znakowa (tekstowa) oraz graficzna. Nic więc dziwnego, że wśród urządzeń zewnętrznych
można wyróżnić takie, które pracują w trybie znakowym oraz te, które pracują w trybie
graficznym. Najpopularniejszym urządzeniem znakowym jest klawiatura, a graficznym
monitor i drukarka. Urządzenie wyposażone w klawiaturę i monitor nazywane jest
terminalem i zazwyczaj za pośrednictwem takiego właśnie urządzenia operator
kontaktuje się z systemem komputerowym. Definiuje się też inne podziały, wśród
których jednym z najbardziej ogólnych jest podział według kryterium czytelności przez
operatora (lub jej braku) transmitowanej z/do urządzenia informacji. Te pierwsze
nazywane są operatorskimi urządzeniami We/Wy (ang. human-readable). Oprócz
dotychczas wymienionych należą do nich urządzenia wskazujące miejsce na ekranie
(mysz, pióro świetlne), zamieniające wskazany punkt na jego współrzędne (digitizer),
kreślące (ploter) czy akustyczne (syntetyzatory i analizatory głosu). Druga grupa
nazywana jest urządzeniami maszynowymi (ang. device-readable). Głównymi jej
przedstawicielami są wszelkiego rodzaju dyski (magnetyczne, optyczne).

Każde z urządzeń jest połączone z systemem za pośrednictwem sterownika (ang.

controller). Jego zadaniem jest przekształcenie sygnałów generowanych przez urządzenie
do standardu sygnałów systemu – najczęściej magistrali systemowej lub wejścia/wyjścia

background image

Urządzenia Wejścia/Wyjścia

2

oraz odwrotnie, tj. sygnałów generowanych przez system na sygnały akceptowane przez
urządzenie (patrz rozdział 10.2). Wspomniane przekształcenie realizowane jest
zazwyczaj przez elektronikę i oprogramowanie sterownika (w zależności od konkretnego
rozwiązania sterowniki mogą być wyłącznie sprzętowe, wyłącznie software’owe albo
realizować rozwiązania mieszane). Uwzględniając powyższy fakt można powiedzieć, że
używane w tym rozdziale określenie „urządzenie We/Wy” dotyczy w zasadzie
sterownika tego urządzenia, gdyż to sterownik, a nie urządzenie komunikuje się
bezpośrednio z systemem komputerowym.

Rozpatrując współpracę urządzeń We/Wy z systemem komputerowym należy zwrócić

uwagę na wymagania funkcjonalne, które musi spełniać sprzęt i oprogramowanie, w
oparciu o które taka współpraca będzie realizowana.

Te wymagania to:

1. Zdolność adresowania różnych urządzeń We/Wy;
2. Zdolność przeprowadzenia transferu danych z systemu do urządzenie i odwrotnie;
3. Zdolność zsynchronizowania operacji We/Wy z wewnętrznymi operacjami systemu

komputerowego.

Każde z wymagań zostanie szczegółowo omówione.

10.2

Adresacja urządzeń We/Wy

Generalnie istnieją dwa sposoby połączenia urządzenia We/Wy z systemem

komputerowym. Pierwszy z nich (pokazany na rysunku 10.1 niżej) polega na użyciu
specjalnej magistrali, służącej wyłącznie do kontaktu z urządzeniami We/Wy. Magistrala
zawiera w sobie linie do transmisji adresów, danych i sygnałów sterujących.


Procesor


magistrala we/wy

Pamięć

(We/Wy)

0

(We/Wy)

1

....

(We/Wy)

n

Rysunek 10.1. System komputerowy z dwiema magistralami.

W takim systemie każde urządzenie We/Wy ma swój unikalny adres. Procesor wybiera

urządzenie We/Wy wpisując jego adres na linie adresowe, a dane – jeżeli transmisja jest
do urządzenia – na linie danych. Jeżeli zlecona była transmisja z urządzenia – to oczekuje

background image

Urządzenia Wejścia/Wyjścia

3

on na tych liniach danych przesłanych przez urządzenie. System taki posługuje się
zestawem specjalnych rozkazów We/Wy, które przesyłane liniami sterowania wymuszają
określone działania urządzenia.

Drugi ze sposób polega na zastosowaniu jednej, wspólnej dla wszystkich urządzeń

We/Wy, procesora i pamięci magistrali systemowej. Tak jak poprzednio są w niej linie
do transmisji adresów, danych i sterowania (patrz rysunek 10.2 niżej). Urządzenia
We/Wy (a dokładniej rejestr tego urządzenia) z punktu widzenia procesora wyglądają
jak różne komórki pamięci. O tak podłączonych do systemu urządzeniach mówimy, że są
urządzeniami odwzorowanymi w pamięci, ponieważ ich adresy traktowane są tak jak
adresy komórek pamięciowych.

Pamięć

(We/Wy)

0

....

(We/Wy)

n

Szyna adresowa

Procesor

Szyna danych

Szyna sterowania

Rysunek 10.2. System komputerowy z jedną magistralą.

Transmisja danych odbywa się przy użyciu zwykłych rozkazów przesłania (np. MOV).
System ten wydaje się być dużo popularniejszy od opisanego wcześniej i dlatego w
pozostałej części rozdziału zakładać będziemy, że w opisywanym przez nas systemie
komputerowym urządzenia We/Wy podłączone są do niego właśnie w ten sposób.

10.3 Transmisja danych

Wyróżniamy dwa rodzaje transmisja danych z i do urządzeń We/Wy. Są to:

transmisja znakowa;
transmisja blokowa.

Z tą pierwszą mamy do czynienia wtedy, gdy w jej trakcie przesyłany jest jeden bajt.

Ta druga zachodzi wtedy, gdy jednorazowo przesyłany jest ciąg bajtów. Urządzenia
realizujące transmisję znakową nazywane są urządzeniami znakowymi. Są to najczęściej
urządzenia bardzo wolne (w porównaniu do czasu wykonywania rozkazu przez
procesor). Taka np. klawiatura pracuje z szybkością nie przekraczającą 10 znaków na
sekundę. Popularne drukarki potrafią transmitować z szybkością 100 znaków na sekundę.
Jest to wciąż dramatycznie wolniej od procesora, który w czasie drukowania 1 znaku
potrafi wykonać 10 000 rozkazów. Ta ogromna różnica w prędkości działania sprawia

background image

Urządzenia Wejścia/Wyjścia

4

określone kłopoty, które zostaną omówione w dalszej części rozdziału, tak zresztą jak
problemy związane z realizacją transmisji blokowej.

Każde urządzenie We/Wy ma co najmniej dwa specjalne rejestry używane do

transmisji danych. Są to rejestr danych urządzenia i rejestr statusu urządzenia (DSR, ang.
device status register). Jeżeli rozpatrywane urządzenie jest urządzeniem wejściowym i
wyjściowym (tzn. transmituje dane z i do systemu) to będą to cztery rejestry: rejestr
danych wejściowych (RegIn), rejestr stanu wejścia, rejestr danych wyjściowych
(RegOut), rejestr stanu wyjścia. Dla systemu z urządzeniami We/Wy odwzorowanymi w
pamięci rejestry te mają swoje unikalne adresy, które niczym nie różnią się od adresów
komórek pamięci operacyjnej. W związku z tym transfer danych może być zlecony z
wykorzystaniem zwykłej instrukcji MOV, której jednym z parametrów będzie rejestr
danych urządzenia, np. przesłanie jednego bajtu z urządzenia do zmiennej Dana wygląda
następująco:

MOVB RegIn, Dana

Jak to już było wspomniane procesor chcąc skomunikować się z urządzeniem We/Wy

wysyła na szynę adresową jego adres.

Szyna adresowa


Szyna danych


Szyna sterowania



Dekoder adresu Rejestr danych (DSR) Rejestr statusu (RSU)

Interfejs we/wy

Rysunek 10.3. Architektura interfejsu we/wy.

Sterownik urządzenia wyposażony jest w dekoder adresu, który potrafi rozpoznać „swój”
adres (patrz rysunek 10.3 wyżej). Jeżeli tak się stanie, urządzenie przechodzi w stan
gotowości. Dalsze kroki zależą od przyjętego dla tego urządzenia modelu transmisji
danych. Istnieją trzy takie modele:

1. Programowe sterowania We/Wy;
2. Bezpośredni dostęp do pamięci;
3. We/Wy sterowane przez przerwania;

Zostaną one opisane w kolejnych podrozdziałach.

10.4

Programowa obsługa We/Wy

Pod pojęciem interfejsu we/wy zazwyczaj rozumie się zbiór sygnałów wymienianych

między sterownikiem a urządzeniem ale też oprogramowanie i sprzęt, który bierze udział

background image

Urządzenia Wejścia/Wyjścia

5

w organizacji i realizacji transmisji. Składniki tak rozumianego interfejsu pokazane są na
rysunku 10.3 (patrz wyżej). Rejestr statusu w tym interfejsie służy zorganizowaniu
współpracy procesora z urządzeniem uwzględniającej występującą pomiędzy nimi dużą
różnicę szybkości działania. Chodzi o to , że procesor musi czekać ze zleceniem
transmisji danych do momentu, aż urządzenie będzie gotowe. O fakcie zajętości (czyli
braku gotowości) urządzenia może się on przekonać testując wartość odpowiedniego bitu
w rejestrze statusu (bit nazywany jest bitem gotowości). Często stosowanym
rozwiązaniem jest ustalenie, że jest to najstarszy (MSB) bit tego rejestru. Jeżeli wartość 1
tego bitu oznacza zajętość (brak gotowości) urządzenia, to testowanie tego bitu jest
tożsame z testowaniem znaku liczby zapisanej w rejestrze: ujemna wartość oznacza, że
urządzenie jest zajęte – w przeciwnym razie, że jest wolne (przypomnijmy, że w kodzie
U2 liczba ujemna ma 1 na MSB). Kod, który wykonuje takie testowanie wygląda
następująco:

Czekaj: TSTB DSR

; testuj rejestr statusu urządzenia

BGEQ Czekaj

; jeżeli nie jest gotowe skocz do etykiety Czekaj

Procesor wykonuje tą pętlę tak długo, aż zmieni sie wartość bitu gotowości z 1 na 0.
Wtedy powyższa pętla jest przerwana i procesor może przeprowadzić transmisję. Taki
sposób współpracy procesor – urządzenie określany jest terminem programowego
sterowania We/Wy
(albo programowej obsługi We/Wy).

Program nadzorujący i przeprowadzający transmisję danych z/do rządzenia nazywany

jest sterownikiem tego urządzenia. Przykładowy fragment kodu sterownika
przeprowadzający w tym modelu transmisję jednego znaku umieszczonego w rejestrze
R0 przedstawiony jest poniżej:

Czekaj: TSTB DSR

; testuj rejestr statusu urządzenia

BGEQ Czekaj

; czekaj aż urządzenie będzie gotowe

MOVB R0, RegOut

; wyprowadź znak z R0

Odpowiadający mu schemat blokowy przedstawiony jest na rysunku 10.4.

Wybierz urządzenie We/Wy




Testuj status urządzenia



Nie

Tak

Gotowe?

Transmituj dane


Rysunek 10.4. Pętla oczekiwania w programowej obsłudze we/wy.

Przedstawiony sposób działania realizowany jest w małych, jedno-użytkownikowych

komputerach. Jest on nie do przyjęcia w dużych, wielo-użytkownikowych systemach
komputerowych. Wśród wielu tego powodów wymienić można groźbę realizacji pętli

background image

Urządzenia Wejścia/Wyjścia

6

nieskończonej w przypadku awarii urządzenia, a przede wszystkim nieakceptowalnie
duże obciążenie procesora realizacją pętli oczekiwania, która to pętla może być w
przypadku terminala spowodowana np. przysłowiową „przerwą na kawę” operatora.

W praktyce nie jest aż tak źle. Typowe rozwiązanie stosowane dla programowego

trybu obsługi urządzeń We/Wy polega na okresowym (np. co 10 ms) generowaniu
przerwań (robi to system operacyjny) i sprawdzaniu stanu wszystkich urządzeń We/Wy
w pewnej spredefiniowanej kolejności. W trakcie tego sprawdzania wykonywany jest
przez pewien czas kod obsługi danego urządzenia, np. taki, jaki został podany wyżej w
tym podrozdziale. Jeżeli w tym czasie urządzenie nie zgłosi gotowości to system
przechodzi do obsługi kolejnego urządzenia. Jeżeli takich urządzeń jest dużo to
sumaryczny czas próby ich obsługi również jest duży, co istotnie spowalnia system.

Dlatego w następnej kolejności opisany zostanie tryb transmisji nie wymagający tzw.

aktywnego (tj. angażującego procesor) oczekiwania.

10.5

Tryb bezpośredniego dostępu do pamięci

W rozdziale 10.3 Transmisja danych zapowiedziany był tryb blokowy transmisji. Jest

to tryb, w którym realizowane jest przesyłanie dużych (liczących tysiąc i więcej bajtów)
bloków danych. Tego rodzaju transmisje realizowane są przez urządzenia dużo szybsze
niż znakowe, np. dyski magnetyczne, dla których konkretne wartości szybkości osiągają
rząd MB/sek. Dla przykładowej szybkości równej 4MB/sek czas transmisji 1 bajtu
wynosi 250 nsek. Powiedzmy od razu, że teoretycznie możliwe jest przesyłanie każdej
liczy bajtów znak po znaku. Słowo teoretycznie oznacza tu, że ilość czasu procesora na
realizację w tym trybie opisywanej transmisji jest nieakceptowalnie duża. Jednym ze
sposób rozwiązania tego problemu jest skonstruowanie specjalnego urządzenia do
przeprowadzania takich transmisji bez udziału procesora. Urządzenie takie nazywane jest
sterownikiem bezpośredniego dostępu do pamięci (DMA, ang. direct memory access).
Jego schemat został przedstawiony na rysunku 10.5 (patrz niżej). Jak z niego wynika
DMA wymaga użycia co najmniej czterech rejestrów.
Działanie sterownika DMA polega na wykonaniu następujących kroków:

1. Sterownik DMA za pośrednictwem linii „DMA żądanie” zgłasza do procesora

żądanie dostępu do magistrali (jest to rodzaj przerwania);

2. Jeżeli procesor nie potrzebuje magistrali do innych celów, wtedy:

a) Przesyła za pośrednictwem linii „DMA ack” sygnał zgody na zgłoszone

żądanie;

b) Ładuje licznik słów (lub bajtów), które mają być przesłane;
c) Ładuje rejestr adresu wstawiając do niego początkowy adres bloku

danych.

3. Sterownik DMA przejmuje sterowanie magistrali. Przetransmitowanie każdego

słowa (lub bajtu) powoduje zmniejszenie licznika o 1. Wyzerowanie licznika
powoduje zwrócenie sterowania nad magistralą procesorowi.




background image

Urządzenia Wejścia/Wyjścia

7

DMA żądanie

Sterownik DMA

Sterowanie

Rejestr adresowy

DMA ack

Licznik słów

Bufor danych

Szyna adresowa


Procesor

Szyna danych


Szyna sterowania





Pamięć


Rysunek 10.5. Architektura sterownika DMA.

W czasie trwania transmisji blokowej procesor może przetwarzać rozkazy, których

realizacja nie wymaga dostępu do pamięci, co oznacza dodatkowe zyski czasowe ze
względu na zrównoleglenie przetwarzania.

Wadą opisanego trybu organizacji transmisji jest to, że jego zastosowanie ogranicza się

do szybkich urządzeń We/Wy.

10.6 We/Wy sterowane przez przerwania

Sterownik każdego urządzenia We/Wy ma możliwość zgłoszenia (asynchronicznie)

procesorowi sygnału tzw. przerwania. Procesor może reagować na takie zgłoszenia na co
najmniej dwa sposoby. Pierwszy z nich opisany został w poprzednim rozdziale (patrz
wyżej) i polegał na cyklicznym sprawdzaniu stanu wszystkich urządzeń zewnętrznych,
czy któreś z nich nie zgłosiło takiego właśnie przerwania. Drugi sposób polega na
możliwie natychmiastowej reakcji na zgłoszony sygnał o przerwaniu, a jego szczegóły
zostaną opisane w tym rozdziale.

Na początku przypomnijmy informację z rozdziału 7.4 Cykl rozkazu dotyczącą wyboru

przez procesor momentów reakcji na zgłoszone przerwania. Tymi momentami są chwile
zakończenia cyklu rozkazowego. W takich momentach procesor może zapamiętać swój
stan w sposób na tyle precyzyjny, żeby w sprzyjającym, innym momencie móc go
odtworzyć i kontynuować przerwany program. Tak więc, po stwierdzeniu zaistnienia
przerwania procesor wykonuje program zapamiętania swojego stanu, a następnie
wywołuje program obsługi przerwań.

W powyższym opisie używane były określenia takie jak: „urządzenie zgłasza

przerwanie” oraz „procesor stwierdza zaistnienie przerwania”. Są one o tyle

background image

Urządzenia Wejścia/Wyjścia

8

nieprecyzyjne, że w rzeczywistości urządzenia We/Wy zgłaszają przerwania generując
sygnał nazywany INTR (ang. interrupt request) do układu nazywanego układem
przerwań. W zależności od przyjętej przez konstruktorów systemu koncepcji działania
takiego układu może on mieć mniej lub bardziej skomplikowaną strukturę (zagadnienia
te zostaną omówione w dalszej części rozdziału). Układ przerwań z kolei przekazuje
sygnał INTR do procesora. Procesor potwierdza fakt otrzymania przerwania wysyłając
do urządzenia, które je zgłosiło zwrotny sygnał nazywany INTA (ang. interrupt
acknowlege). Generalnie procesor wyposażony jest w szereg dodatkowych funkcji, które
używane są do koordynowania jego współpracy z urządzeniami We/Wy.

Po pierwsze w momencie zgłoszenia przerwania procesor może być w trakcie realizacji

cyklu rozkazowego, a w związku z tym może nie być w stanie uruchomić procedury
obsługi tego przerwania (będzie mógł to zrobić najwcześniej w fazie przerwania tego
cyklu). W tym celu został wprowadzony sygnał INTA. Do momentu jego nadejścia
urządzenie musi czekać np. z przesłaniem danych. Ponadto procesor, który rozpoczął już
procedurę obsługi innego przerwania musi mieć czas na jej dokończenie. W tym czasie
nie może on obsługiwać innych przerwań (do problemu tego powrócimy jeszcze później).
Dlatego została stworzona możliwość zablokowania układu przerwań implementowana
najczęściej jako specjalny rozkaz. Jego wykonanie blokuje linię INTR w procesorze.
Wykonanie innego specjalnego rozkazu może tą linię odblokować. Istnieje również
możliwość blokowania przez procesor wybranych sterowników urządzeń przez wysłanie
do systemu przerwań tzw. słowa – maski mającego tyle bitów ile jest sterowników.
Jedynka na bicie i-tym tego słowa powoduje, że pomimo zgłoszenia przez i-ty sterownik
przerwania nie będzie ono zarejestrowane w układzie przerwań.

Podstawowe zadania, które realizuje układ przerwań to:
1. Identyfikacja źródła powstania przerwania.
2. Zapewnienie właściwej kolejności obsługi urządzeń w przypadku, jeżeli kilka z

nich jednocześnie zgłosiło przerwanie.

3. Zgłoszenie przerwania procesorowi.
Układ przerwań jest sprzętową realizacją tak rozumianych zadań.
Znane są dwie metody identyfikacji urządzenia, które zgłosiło przerwanie:

o metoda przeglądania (ang. pooling method)
o metoda wektorowa (ang. vector method).

W metodzie przeglądania procesor po zakończeniu cyklu rozkazowego i po otrzymaniu

z układu przerwań sygnału o wystąpieniu przerwania (INTR) rozpoczyna w pewnym
określonym porządku przeglądanie statusu urządzeń We/Wy aż znajdzie urządzenie z
ustawionym bitem przerwania. Po znalezieniu pierwszego takiego urządzenia
przeglądanie jest przerywane. Odpytywanie może być zorganizowane programowo albo
sprzętowo. Niezależnie od przyjętego sposobu metoda przeglądania jest metodą wolną,
zwłaszcza jeżeli w systemie jest dużo urządzeń We/Wy.

W metodzie wektorowej to układ przerwań wykrywa i po zdekodowaniu przesyła

procesorowi (oprócz sygnału INTR) słowo zawierające numer lub adres jednego
urządzenia, które spowodowało przerwanie. Jest ono nazywane wektorem przerwań i jest
przez procesor używane do wyliczenia adresu procedury obsługi tego przerwania .

background image

Urządzenia Wejścia/Wyjścia

9

W przypadku jednoczesnego zgłoszenia wielu przerwań należy ustalić kolejność, w

której obsługiwane będą urządzenia zgłaszające przerwania. Jest to równoznaczne z
przypisaniem tym urządzeniom priorytetów. W metodzie przeglądania problem ten
rozwiązany jest automatycznie przez wyznaczenie kolejności przeglądanie urządzeń:
urządzenia o wysokim priorytecie będą testowane przed urządzeniami o priorytecie
niskim. W metodzie wektorowej zadanie to spada na układ przerwań. Możliwych jest tu
co najmniej kilka rozwiązań, z których omówione zostaną trzy: łańcuchowy układ
przerwań (ang. daisy-chain), wielopoziomowy układ przerwań oraz układ przerwań z
koderem priorytetowym.

INTR

magistrala systemowa



Układ
Przerwań E1 Sterownik 1 E0 E1 Sterownik 2 E0 ∙ ∙ ∙ E1 Sterownik k E0

Rysunek 10.6 Układ przerwań typu łańcuchowego.

W układzie łańcuchowym jedynym zadaniem układu przerwań jest rejestracja

zgłoszenia przerwania i przesłanie sygnału INTR do procesora. Układ pokazany jest na
rysunku 10.6 (patrz wyżej).

W układzie łańcuchowym o priorytecie decyduje miejsce sterownika względem układu

przerwań: im bliżej układu położony jest sterownik tym wyższy jest jego priorytet. Że tak
jest, wynika z następującego rozumowania. Każdy sterownik ma wejście sterujące E1 i
wyjście sterujące E0. Podanie zera na wejście E1 blokuje możliwość zgłaszania przez
sterownik przerwania i powoduje generację zera na wyjściu E0, przez co blokuje się
kolejny sterownik. Podanie jedynki odblokowuje możliwość zgłaszania przerwań, a stan
wyjścia zależy od tego, czy dany sterownik zgłasza w tym momencie przerwanie, czy
nie. Jeżeli zgłasza, to wytwarza na swoim wyjściu zero i blokuje kolejne sterowniki w
łańcuchu. Jeżeli nie zgłasza – to generuje jedynkę, która umożliwia kolejnym
sterownikom zgłoszenie swojego przerwania. Sterowniki zgłaszają (jeżeli mogą)
przerwania zgodnie z potrzebami swoich urządzeń. Zgłoszone przerwanie (lub
przerwania) może spowodować przesłanie sygnału INTR do procesora i uaktywnienie
układ przerwań. Zależy to od bieżącego stanu układu przerwań. Generalnie może on być
w jednym z dwóch stanów: albo w stanie oczekiwania na przerwanie, albo w stanie
obsługi przerwania. W stanie oczekiwania generuje on na swoim wyjściu jedynkę, którą
przesyła na wejście E1 pierwszego sterownika. Wejścia układu są otwarte i może on
przyjmować przerwania. W stanie obsługi przerwania jego wejścia są zablokowane, a na
wyjściu jest zero, które blokuje łańcuch sterowników. Należy dodać, że sterownik,
któremu udało się zgłosić przerwanie po otrzymaniu sygnału INTA od procesora przesyła
na magistralę swój numer, tym samym pozwalając procesorowi zidentyfikować sprawcę
przerwania.

background image

Urządzenia Wejścia/Wyjścia

10

Wielopoziomowy układ przerwań jest rozwinięciem idei układu łańcuchowego. Można

powiedzieć, że jest to kilka układów łańcuchowych, z których każdy ma swój priorytet.
Wewnątrz każdego z nich obowiązują prawa standardowego układu łańcuchowego.
Przykład 2-poziomowego układu pokazany jest na rysunku 10.7 (patrz niżej).

INTR

magistrala systemowa




Poziom 1

Sterownik 1 Sterownik 2 ∙ ∙ ∙ Sterownik k

Układ

Przerwań

Poziom 2 Sterownik k+1 Sterownik k+2 ∙ ∙ ∙ Sterownik k+n

Rysunek 10.7. 2-poziomowy układ przerwań.

W tego typu układzie sterowniki poziomu 2 będą mogły zgłosić przerwanie jedynie

wtedy, gdy nie zgłosi go żaden ze sterowników poziomu 1.

W układzie przerwań z koderem priorytetowym za wybór, ustalenie numeru,

zakodowania tego numeru i przesłanie go na magistralę odpowiedzialna jest elektronika
układu. Ona również wysyła sygnał INTR do procesora. Schemat takiego układu
pokazany jest na rysunku 10.8. Proszę zwrócić uwagę na strzałkę prowadzącą od układu
przerwań do magistrali systemowej. To tą drogą podawany jest po zakodowaniu numer
urządzenia, które spowodowało przerwanie.

INTR

magistrala systemowa



Układ
Przerwań

Sterownik 1 Sterownik 2 ∙ ∙ ∙ Sterownik k

Rysunek 10.8. Układ przerwań z koderem priorytetowym.


Document Outline


Wyszukiwarka

Podobne podstrony:
Wybierz jedno z urządzeń wejścia wyjścia komputera i opisz je.(drukarka atramentowa), Studia, Inform
Budowa komputera, Urządzenia wejścia
Urządzenia wejścia i wyjścia
Urzadzenia wejscia i wyjscia informatyka praca semestralna
Podstawowe urządzenia wejścia-wyjścia wchodzące w skład zest, wrzut na chomika listopad, Informatyka
wykład 11 Urządzenia wejściowe w komputerowych układach sterowania (2013)
Urzadzenia wejscia wyjscia praca na zaliczenie
Prezentacja Urządzenia wejścia i wyjścia
Urzadzenia wejściowe, ELEKTRONIKA
Urządzenia wejścia, Studia, Informatyka, Informatyka, Informatyka
Urzadzenia wejscia wyjscia
URZĄDZENIA WEJSCIA WYJŚCIA (INPUTOUTPUT DEVICES)
URZĄDZENIA WEJŚCIA I WYJŚCIA
Urządzenia wyjściowe do równoległego portu wejścia wyjścia?55
urządzenia wyjscia i wejscia
Pomieszczenia i urzadzenia higieniczno sanitarne
Urządzenia transportu pionowego

więcej podobnych podstron