Uklady wejscia wyjscia (TAK13)


Wykład
Układy wejścia/wyjścia komputerów: pamięci pomocnicze, metody obsługi układów
wejścia/wyjścia
Treść wykładu
1. Pamięci pomocnicze w komputerach
1.1 Pamięci magnetyczne
1.2 Pamięci optyczne CD i DVD
1.3 Pamięci magneto-optyczne
2. Metody obsługi układów wejścia/wyjścia w komputerach
2.1 Programowa metoda obsługi wejścia/wyjścia
2.2 Obsługa wejścia/wyjścia poprzez przerwania
2.2.1 Identyfikacja przerwań przez przegląd
2.2.2 Identyfikacja przerwań metodą łańcuchową
2.2.3 Wektorowa metoda identyfikacji przerwań
2.3 Obsługa wejścia/wyjścia poprzez układy DMA
Pamięci pomocnicze w komputerach
Pamięci magnetyczne
Pamięć magnetyczna jest oparta na pamiętaniu stanu namagnesowania w materiałach
magnetycznych.
Stan namagnesowania w materiale magnetycznym uzyskuje siÄ™ przez uporzÄ…dkowanie siÄ™
dipoli magnetycznych, zgodnie z liniami przyłożonego z zewnątrz pola magnetycznego.
Stan namagnesowania w tych materiałach utrzymuje się po usunięciu pola magnetycznego
i może być łatwo zmieniony na przeciwny przez podanie odwrotnie spolaryzowanego pola
magnetycznego.
Jako materiały magnetyczne we współczesnych pamięciach magnetycznych stosuje się
masy ferrytowe (ferryty), którymi są spiekane mieszaniny tlenków żelazo-magnezu,
manganu, i strontu, z zawartością tych pierwszych w granicach 60-85 procent.
Przyporządkowując kierunkom namagnesowania wartości logiczne 0, 1, otrzymuje się
efekt pamiętania informacji w materiale.
Pamięci magnetyczne rdzeniowe oparte na przemagnesowywaniu miniaturowych
pierścieniowych rdzeni ferrytowych były wykorzystywane przez długie lata jako
podstawowe pamięci operacyjne komputerów, zanim zostały wyparte przez pamięci
półprzewodnikowe.
Obecnie, pamięci magnetyczne są oparte na przemagnesowywaniu nośników
magnetycznych uformowanych jako taśmy i dyski magnetyczne.
Są to pamięci o dostępie szeregowym lub cyklicznym. Takie pamięci mają obecnie
bardzo duże pojemności, należą więc do klasy pamięci masowych (ang. mass storage,
mass memory). Charakteryzuje je bardzo niski koszt na bit pamiętanej informacji i duży
czas dostępu.
prÄ…d elektryczny
rdzeń
stal/ferro-
uzwojenie
magnetyk
strumień
szczelina magnetyczny
przesuwanie
podkład ferromagnetyk
pole magnetyczne
cznyodczytuj
Działanie głowicy pamięci magnetycznej przy zapisie
Zapisywanie i odczyt informacji następuje za pomocą głowicy zapisująco-czytającej.
Głowica jest to pierścień wykonany ze stali rdzeniowej, dobrze przewodzącej i
zamykającej w sobie strumień magnetyczny, zaopatrzony w szczelinę, pod którą przesuwa
się nośnik magnetyczny (taśma lub dysk). Na pierścieniu nawinięte jest uzwojenie
(cewka).
Przy zapisie danych, do cewki podaje się impulsy prądu, które powodują wytworzenie w
rdzeniu strumienia magnetycznego o danym kierunku. Strumień ten wydostaje się z rdzenia
w szczelinie w postaci zewnętrznego pola magnetycznego, które obejmuje materiał
nośnika, powodując jego namagnesowanie w odpowiednim kierunku. Kierunek prądu
zmienia się zgodnie z zapisywaną informacją, powodując powstanie na nośniku obszarów o
odpowiednich kierunkach namagnesowania.
Przy odczycie, nośnik magnetyczny przesuwa się pod głowicą. Tym razem, z uzwojenia
pobiera się prąd elektryczny, indukowany w cewce głowicy wskutek zmian, obejmującego
rdzeń, pola magnetycznego wytwarzanego przez namagnesowany nośnik. Kierunek
namagnesowania nośnika decyduje o kierunku impulsów prądu odczytywanych z cewki.
Najpopularniejszym rodzajem pamięci magnetycznej są obecnie pamięci magnetyczne
dyskowe (ang. magnetic disk memory).
Dyski magnetyczne są wytwarzane przez umieszczenie warstwy magnetycznej na podłożu
elastycznym (plastikowym) lub sztywnym (metal).
Rozróżniamy dyski elastyczne (ang. floppy disk) i dyski sztywne (ang. hard disk).
Dyski są umieszczone w napędzie dyskowym (ang. disk drive), w którym zawarte są
mechanizmy napędzające dyski, ruchome głowice zapisująco/odczytujące z mechanizmami
pozycjonującymi i układy sterujące.
Informacja na dysku jest zorganizowana w koncentryczne ścieżki (ang. track) , podzielone
na sektory (ang. sector).
ścieżka
sektor
dysk
ruchome
magnetyczny
ramiÄ™
głowica
czytajÄ…co/ zapisujÄ…ca
Podstawowy mechanizm pamięci dyskowej
Dyski elastyczne są wymienne i mają obecnie średnicę 3.5 cala, pojemność do 2MB i
szybkość transmisji do 1 Mbit/s.
Na każdej stronie standardowego dysku o pojemności 1.44 MB znajduje się 80 ścieżek,
podzielonych na 18 sektorów o pojemności 512 bajtów każdy.
Sektor zawiera pole sterujące (numer ścieżki, numer sektora, długość sektora, bity kontroli
poprawności) oraz pole danych.
Głowice w pamięci elastycznej przesuwają się w czasie pracy po obu stronach powierzchni
dysku.
Czas dostępu do elastycznej pamięci dyskowej wynosi 200 ms.
Dyski sztywne mają wiele koncentrycznych dysków umieszczonych na stałe w
hermetycznie odizolowanej obudowie zawierającej również głowice.
Liczba głowic wynosi od kilku do kilkudziesięciu, po jednej głowicy na każdej stronie
dysku.
Głowice pamięci sztywnej poruszają się synchronicznie i utrzymują się w czasie pracy
samoistnie nad powierzchniÄ… dysku na poduszce powietrznej - stÄ…d potrzeba izolacji od
zanieczyszczeń otoczenia.
Powierzchnia dysków jest podzielona na koncentryczne ścieżki, które są podzielone na
sektory. Sektory zawierają pole sterujące (zawartość podobna jak dla dysków elastycznych)
i pole danych.
Zespół wszystkich ścieżek o danej odległości od środka dysku tworzy tzw. cylinder (ang.
cylinder).
przesuw
głowice
cylinder
dyski magnetyczne
silnik pozycjonujÄ…cy
napęd osi
Struktura zespołu dysków sztywnych
Liczba cylindrów wynosi od kilkuset do kilkunastu tysięcy.
Szybkość obrotu dysków jest obecnie bardzo duża do 10 000 obrotów/min (standardowo
7200 obr/min).
Maksymalne pojemności sztywnych pamięci dyskowych przekraczają obecnie 100 GB/s.
Szybkość transmisji danych w napędach dysków sztywnych dochodzi do kilkudziesięciu
MB/s.
Średni czas dostępu wynosi obecnie kilka ms.
Pamięci magnetyczne taśmowe wykorzystywane są obecnie jako niższy poziom pamięci
pomocniczej, przede wszystkim dla celów archiwizacji.
Zapis i odczyt informacji na taśmie następuje blokami o ustalonej długości, zwanymi
rekordami.
Zapis danych w rekordzie następuje w 9 rządkach bitowych.
Adresowanie informacji następuje przez podanie numeru rekordu od początku taśmy.
Taśmy magnetyczne są często używane w postaci kaset taśmowych (ang. tape cartridge),
do których przystosowane są specjalne napędy.
Kasety mają pojemności do kilku Gbajtów.
Szybkości transmisji wynoszą do kilkuset Kbajtów/s.
Pamięci optyczne CD i DVD
Pamięci optyczne CD są budowane na zasadzie zapisu informacji w sposób trwały na
powierzchni dysku odbijającego światło laserowe. Są to pamięci typu  tylko odczyt .
Rozmiary używanych dysków są nieduże (5,25 cala), stad nazwa tych pamięci - dyski
kompaktowe ROM (ang. Compact Disk ROM).
Informacja na dysku jest zapisana na spiralnej ścieżce, idącej przez cały dysk.
Zapis następuje poprzez wytłaczanie obszarów zagłębionych o 0.25 długości fali świetlnej i
niezagłębionych, które odwzorowują zera i jedynki danych zgodnie z ustalonym systemem.
Wytłoczona powierzchnia dysku pokrywana jest metaliczną warstwą odblaskową a
następnie twardą warstwą przezroczystego zabezpieczającego tworzywa sztucznego.
ścieżka na dysku
w powiekszeniu
zagłębienia
powierzchnia
niezagłębiona
Metoda zapisu informacji na dysku kompaktowym CDROM
Odczyt informacji następuje przez oświetlenie powierzchni ścieżki dysku światłem
laserowym i badanie światła odbitego.
Odbicie światła od obszaru zagłębienia powoduje wygaszenie promienia odbitego, wskutek
negatywnej interferencji światła padającego z odbitym.
Przy odbiciu od powierzchni niezagłębionej, światło ulega wzmocnieniu wskutek
interferencji pozytywnej.
zagłębienie
powierzchnia niezagłębiona
podłoże
dysk
optyczny
warstwa
obiektyw
odblaskowa
płytka polaryzująca
zabezpieczenie
kolimator
powierzchni
dysku
pryzmat
polaryzujÄ…cy
fotodioda
głowica czytająca
laser diodowy
Układ odczytujący dane z dysków kompaktowych CD ROM
Światło, o długości fali ok. 700 nm, jest generowane przez diodę laserową małej mocy.
Światło laserowe zostaje spolaryzowane najpierw płaszczyznowo przez pryzmat
polaryzujÄ…cy z kalcytu ze szczelinÄ… powietrznÄ….
Szczelina przepuszcza tylko światło spolaryzowane w jednej z dwu płaszczyzn, które
następnie poprzez kolimator (soczewki zrównoleglające) jest podane na płytkę z miki o
grubości ćwierć fali światła padającego.
Płytka z mikki polaryzuje światło eliptycznie.
Następnie, światło jest podawane w postaci skupionej wiązki na powierzchnię dysku
optycznego.
Po odbiciu, następuje powrót światła do płytki ćwierćfalowej, która zamienia je na postać
spolaryzowaną w płaszczyznie prostopadłej do światła padającego.
Szczelina pryzmatu polaryzującego odbija światło w kierunku fotodiody, która wykrywa
natężenie światła po interferencji ze światłem padającym. Fotodioda zamienia impulsy
świetlne na impulsy elektryczne.
Dane na powierzchni dysku optycznego zapisywane są na spiralnej ścieżce idącej przez
cały dysk. Ścieżka podzielona jest na sektory, odliczane od środka dysku.
Sektor zawiera 3234 bajty i składa się z pola sterującego (882 bajty) i pola danych (2352
bajty). W polu sterującym zapisana jest identyfikacja sektora i bity kontroli poprawności
przesyłania danych. Struktura nagłówka i wykorzystanie bajtów w polach danych
określone jest różnymi standardami (yellow, red books).
W sektorach dane zapisywane są w ramkach składających się z 584 bitów.
Kodowanie bajtu danych następuje za pomocą 14 bitów, co razem z uzupełniającymi 3
bitami daje 17 bitów na bajt. W ramce są zakodowane 33 bajty danych.
Odczyt danych odbywa się ze stałą prędkością liniową
Przy spiralnej formie ścieżki, wymaga to sterowania zmianami prędkości obrotowej dysku
w zależności od pozycji głowicy na ścieżce (szybkość obrotowa do kilku tysięcy
obrotów/min).
Czas dostępu dla dysku pracującego z pojedynczą szybkością wynosi 350 ms.
Pojemności dysków CD-ROM wynoszą 650-750 MB.
Oprócz napędów dysków optycznych typu  tylko odczyt CD-ROM, istnieją:
" napędy dysków z zapisem jednokrotnym (ang. WORM - Write-Once-Read-Many)
współpracujące z dyskami CD-R (ang. CD- Recordable)
" napędy z zapisem wielokrotnym, współpracujące z dyskami CD-RW (ang. CD- Read-
Write).
Napędy dysków z zapisem jednokrotnym budowane są w oparciu o wykorzystanie
głowic z dwoma laserami: zapisującym i odczytującym o różnej mocy: duża moc dla
zapisu i mniejsza - dla odczytu.
Zapis następuje na specjalnych dyskach, na których laser ma możliwość  nadpalenia
powierzchni metalicznej lub zmętnienie powierzchni pokrytej specjalną substancją
chemiczną (cyjanina), powodującego zmniejszenie współczynnika odbicia promienia przy
odczycie (odpowiada to zagłębieniu na dysku CD-ROM).
Napędy dysków optycznych z wielokrotnym zapisem mają możliwość kasowania
zapisanej informacji.
W tych napędach wykorzystywane są dyski pokryte specjalnymi materiałami chemicznymi.
Światło laserowe o odpowiedniej mocy lub długości fali ma możliwość spowodowania
odwracalnego przejścia struktury warstwy powierzchniowej dysku z fazy przezroczystej
(przepuszczającej światło) do zagęszczonej struktury koloidalnej, pochłaniającej światło.
Napędy dysków optycznych z wielokrotnym zapisem są oparte na wykorzystaniu wielu
laserów o różnych mocach lub długościach fali, używanych do zapisu, odczytu i kasowania
informacji na dysku.
Jako parametr napędu dysków optycznych CD-ROM podaje się wielokrotność szybkości
zapisu (obecnie do 24) i odczytu (maksymalnie powyżej 50), w stosunku do szybkości w
pierwszych konstrukcjach tych pamięci (150 Kbajtów/s).
Gęstości zapisu danych w pamięciach CD-ROM są 5 -10 razy większe niż na sztywnych
dyskach magnetycznych.
Najnowszym rodzajem pamięci optycznych są pamięci DVD (od ang. Digital-Video
Disk).
Pamięci DVDwykorzystują specjalne dyski DVD o podwyższonej gęstości zapisu
informacji.
Dyski DVD majÄ…:
" dwukrotnie mniejsze odległości między ścieżkami
" dwukrotnie mniejsze wielkości obszarów zapisujących bity danych.
" zapis dwustronny informacji
" zapis informacji zrealizowany w dwu warstwach
podłoże nośnika
warstwa odbijajÄ…ca
warstwa przepuszczalna
promień lasera
8.5 GB
4.7 GB
promień lasera
17 GB
9.4 GB
promień lasera promień lasera
Rodzaje dysków DVD: jedno- i dwustronne oraz jedno- i dwuwarstwowe
40
µ
m
Dla pamięci dwuwarstwowej dwustronnej pojemność dysku DVD wynosi 17 GB.
Napędy dla pamięci DVD mają zasadę działania podobną do pamięci CD, opartą na
wykorzystaniu laserów.
Dla pamięci dwuwarstwowej, głowice odczytujące mają możliwość ogniskowania wiązki
świetlnej na kolejnych warstwach odbijających, oddzielonych warstwą przepuszczającą
światło.
Ostatnio, pojawiły się napędy DVD-R (ang. DVD  Recordable) wyposażone w
możliwości zapisu danych u użytkownika.
Pamięci CD-ROM i DVD są wykorzystywane jako nośniki dla danych i programów o
dużych pojemnościach.
Pamięci CD-R, CD-RW i DVD-R są wykorzystywane jako pamięci pomocnicze dla
archiwizacji.
Pamięci magneto-optyczne
Pamięci magneto-optyczne (ang. magneto-optical memory) należą do grupy
zapisywalnych pamięci o dostępie sekwencyjnym lub cyklicznym (ang. WREM  Write
Read Erase Memory). Wykorzystywane są one jako stosunkowo małe pamięci dla
archiwizacji danych w komputerach personalnych.
Pamięć magneto-optyczna wykorzystuje technologię pamięci magnetycznej dla zapisu i
przechowywania informacji oraz technologię pamięci optycznej dla odczytu i kasowania
danych.
Nośnikiem informacji w tym typie pamięci jest dysk pokryty materiałem magneto-
optycznym oddzielonym od warstwy ochronnej i podłoża warstwami azotku glinu.
Nośnik ma z jednej strony możliwość magnesowania się w przyłożonym z zewnątrz polu
magnetycznym i rozmagnesowywania siÄ™ w wysokiej temperaturze.
Z drugiej strony materiał ten ma możliwość zmiany kierunku polaryzacji odbijanego od
niego światła w zależności od kierunku namagnesowania.
Warstwa szklana
Warstwy
Warstwa magneto-optyczna
azotku glinu
Podkład metalowy
wiÄ…zka odczytujÄ…ca
wiÄ…zka odbita
polaryzacja
eliptyczna
polaryzacja
płaszczyznowa
warstwa
magneto-optyczna
Przekrój przez dysk magneto-optyczny i zasada odczytu
Dla odczytu danych, na ścieżkę na powierzchni dysku, namagnesowaną odpowiednio do
wartości danych, jest kierowana wiązka spolaryzowanego światła laserowego.
WiÄ…zka odbija siÄ™ od powierzchni dysku uzyskujÄ…c odpowiedni kierunek polaryzacji
eliptycznej.
Światło odbite jest następnie kierowane poprzez pryzmat na filtr przepuszczający światło
jedynie o wybranym rodzaju polaryzacji.
Przepuszczone światło pada na fotodiodę, która zamienia obecność światła na napięcie
elektryczne.
Fotodioda
Filtr polaryzacji
polaryzacja
polaryzacja
S
0 1
promień odbity
Laser
zwierciadło
promień czytający
dysk magneto-optyczny
N
Działanie pamięci magneto-optycznej przy odczycie
Dla zapisu danych, powierzchnia dysku jest najpierw poddawana działaniu pola
magnetycznego, co powoduje namagnesowanie (zapis np. jedynek na ścieżce).
Następnie, na kolejne wybrane miejsca na ścieżce (tam gdzie mają być zapisane zera) jest
kierowana silna wiązka światła laserowego, która powoduje punktowe rozgrzanie się
dysku.
Rozgrzanie, powyżej temperatury punktu Curie (150-200 st. C), powoduje
rozmagnesowanie dysku, a tym samym, zapisanie w danym miejscu na ścieżce zera.
Szybkość transmisji w pamięciach magneto-optycznych wynosi 1 Mbajt/s.
Czas dostępu wynosi 50 ms. Pojemność pamięci wynosi 300 MB na jedną stronę dysku.
S
Laser
pole magnetyczne
magneto-optyczny
wiÄ…zka
zapisujÄ…ca
dysk magneto-optyczny
N
Działanie pamięci magneto-optycznej przy zapisie.
Metody obsługi układów wejścia/wyjścia w komputerach
Układy wejścia-wyjścia komputera (ang. input-output units w skrócie I/O) zawierają
kontrolery, inaczej sterowniki (ang. controller) urządzeń zewnętrznych komputera, do
których są podłączone właściwe urządzenia zewnętrzne.
Układy we/wy lub kontrolery urządzeń zewnętrznych nazywane są również czasami
interfejsami (ang. interface).
Układy we/wy są podłączone do procesora za pomocą szyn: danych, adresowej i sterującej.
Współpraca z układami we/wy polega na wymianie informacji między kontrolerami
urządzeń zewnętrznych a procesorem.
Aby realizować tę współpracę, procesor wykonuje instrukcje wejścia /wyjścia, które
określają operacje odczytu lub zapisu urządzeń pamięciowych (zwykle rejestrów)
znajdujących się w układach wejścia/ wyjścia.
Z drugiej strony układy wejścia wyjścia współpracują z urządzeniami zewnętrznymi.
Współpraca polega na transmisjach danych między urządzeniem zewnętrznym a
kontrolerem we/wy, sterowanych przez zachodząca między tymi blokami wymianę
sygnałów sterujących.
Wymiana sygnałów sterujących zwykle zapewnia realizację protokołu sterowania z
potwierdzeniami (ang. handshaking protocol), przy którym jedno ze współpracujacych
urządzeń wysyła żądanie obsługi a drugie odpowiada przez sygnał potwierdzenia
gotowości lub wykonania odpowiedniej czynności, np. wczytania danych.
Ogólny schemat połączeń układu wejścia-wyjścia z procesorem i
urządzeniem zewnętrznym
Dane
Dane
UrzÄ…dzenie
Uklad
Procesor
zewnętrzne
Adres
we/wy
Sterowanie
Sterowanie
Rejestry znajdujące się w układach wejścia/wyjścia (kontrolerach), które są dostępne dla
procesora poprzez instrukcje wejścia/wyjścia, są nazywane portami (ang. port).
Aby wybrać potrzebne urządzenie zewnętrzne (ściślej jego kontroler), procesor używa
adresu portów (rejestrów, które są dla niego dostępne).
Adresy portów mogą być:
" zastrzeżonymi adresami z części przestrzeni adresowej pamięci operacyjnej procesora,
wydzielonej dla adresowania układów we/wy
" adresami z niezależnej przestrzeni adresowej, istniejącej specjalnie dla układów
we/wy.
W pierwszym przypadku, mówimy że układy wejścia/wyjścia są odwzorowane w
pamięci (ang. memory-mapped I/O) oraz że przestrzeń adresowa pamięci jest wspólna
dla ukladów we/wy i procesora.
W tym przypadku, dla komunikacji z układami we/wy używane są zwykłe rozkazy
wewnętrzne - czytaj, pisz zastrzeżoną komórkę pamięci (port).
W drugim przypadku, procesor ma odrębne rozkazy - czytaj we/wy, pisz we/wy (ang. I/O
read, I/O write), w których używa się specjalnych adresów układów we/wy.
Przy wspólnej przestrzeni adresowej, specjalne dekodery (selektory) adresu wychwytują
zastrzeżone adresy we/wy i powodują wykorzystanie adresów (danych) na szynach
adresowych (danych) nie przez pamięć operacyjną a przez układy we/wy.
Do pamięci nie są wtedy wysyłane sygnały sterujące zapisu lub odczytu, natomiast,
sygnały sterujące zapisu lub odczytu są wysyłane do układów we/wy. Sygnały te są
generowane w specjalnych dodatkowych bramkach logicznych.
Dane
Do
Procesor
pamięci
Adres
opera-
odczyt pamięci
cyjnej
zapis do pamięci
Blokuj
Dekoder odczyt
(selektor) we/wy
Układy
adresów
we/wy
we/wy
zapis
we/wy
Sposób generowania sygnałów sterujących dla układów we/wy odwzorowanych w pamięci
W komputerze występuje wiele układów wejścia/wyjścia podłączonych do tego samego
układu szyn procesora.
Układy wejścia wyjścia muszą mieć możliwość zgłaszania do procesora potrzeby ich
obsługi, np. w celu odebrania przez procesor danych przygotowanej przez urządzenia
zewnętrzne.
Znane są trzy metody obsługi współpracy układów wejścia/wyjścia z procesorem:
" metoda programowa  przez przeglÄ…d,
" metoda oparta na przerwaniach,
" metoda oparta na użyciu układów bezpośredniego dostępu do pamięci DMA.
Programowa metoda obsługi wejścia/wyjścia
W programowej metodzie obsługi  przez przeglądanie układów we/wy (ang. polling),
układy we/wy pozostają bierne w stosunku do procesora  nie wysyłają do niego żadnych
sygnałów.
Są one wyposażone w rejestry zgłoszeń, zwane portami (ang. port), które są przeglądane
przez procesor.
Układ wymagający obsługi zostawia w rejestrze zgłoszeń informacje o rodzaju wymaganej
obsługi.
Jeżeli z obsługą związane są dane, które procesor ma odczytać, to są one przygotowywane
w innym rejestrze lub specjalnej pamięci w układzie we/we.
Procesor, pod nadzorem systemu operacyjnego lub rzadziej programu użytkowego,
systematycznie odczytuje rejestry zgłoszeń w kolejnych układach we/wy.
W tym celu procesor wykonuje instrukcje czytaj I/O o adresach wskazujÄ…cych na rejestry
zgłoszeń w kolejnych układach.
Procesor
Szyna danych
Czy układ
Czy układ
we/wy 1
we/wy n
we/wy 1 we/wy n
. . .
żąda obsługi?
żąda obsługi?
odczyt I/O
Szyna adresowa
Programowa metoda (przez przeglądanie) obsługi we/wy
W wyniku wykonania instrukcji I/O, zawartość rejestrów zostaje wczytana do rejestru
akumulatora procesora i jest następnie programowo dekodowana.
Poprzez dekodowanie programowe, program sterujÄ…cy przeglÄ…daniem rozpoznaje rodzaj
wymaganej obsługi i podejmuje odpowiednie czynności.
Metoda programowa obsługi układów we/wy jest najmniej wydajna czasowo.
Jest ona stosowana, gdy brak jest możliwości zastosowania innych szybszych metod lub
obsługiwany układ we/wy wymaga wolnej lub bardzo rzadkiej obsługi.
Obsługa wejścia/wyjścia poprzez przerwania
Jest to najczęściej stosowana metoda obsługi układów we/wy.
Przy tej metodzie, układ we/wy wymagający obsługi zgłasza do procesora przerwanie
przez pobudzenie linii dochodzącej na wejście przerwań procesora. W odpowiedzi na
przerwanie procesor wykonuje żądane operacje
Zwykle wiele układów we/wy wysyła jednocześnie żądania obsługi przerwania do
procesora.
Procesor ma po jednej końcówce wejść przerwań maskowalnych i niemaskowalnych, które,
bez dodatkowych układów wspomagających są pobudzane na zasadzie sumy logicznej
pobudzeń.
Powstaje tu problem rozpoznania przez procesor, które układy we/wy zgłosiły przerwanie i
selekcji jednego z nich, gdyż procesor może obsłużyć tylko jedno przerwanie na raz.
Stosowane są 3 zasadnicze metody identyfikacji i selekcji układu we/wy zgłaszającego
przerwanie:
" identyfikacja przez przeglÄ…d
" identyfikacja łańcuchowa
" identyfikacja przez przerwania wektorowe.
Identyfikacja przerwań przez przegląd
Identyfikacja przerwań przez przegląd (ang. interrupt service by polling) odbywa się
w podobny sposób jak programowa obsługa układów we/wy.
Układ, który zgłasza przerwanie zostawia w specjalnym rejestrze dostępnym dla procesora
informację o tym, że zgłosił przerwanie i dodatkowo może złożyć tam informacje o rodzaju
wymaganej obsługi przerwania.
Po otrzymaniu sumarycznego sygnału przerwania, procesor (a właściwie system
operacyjny lub inny program obsługujący przerwania) przystępuje do programowego
rozpoznania przyczyny przerwania.
W tym celu, odczytywane są po kolei rejestry zgłoszeń w układach we/wy aż do
odnalezienia pierwszego układu, który zgłosił przerwanie.
Procesor
Szyna danych
Czy układ
Czy układ
we/wy 1
we/wy n
INT
we/wy 1 we/wy n
. . .
zgłosił INT ?
zgłosił INT ?
odczyt I/O
INT 1
INT n
Szyna adresowa
Identyfikacja przyczyny przerwania przez przeglÄ…d
Po odnalezieniu pierwszego przerwania następuje jego obsługa lub dalsze przeglądanie
układów we/wy, po czym następuje selekcja programowa układu do obsłużenia.
Ten sposób rozpoznania przyczyny przerwania jest najwolniejszy i stosowany jest, gdy
sprzętowe układy identyfikacji nie mogą obsłużyć wszystkich przyczyn przerwań.
Identyfikacja przerwań metodą łańcuchową
Aańcuchowa identyfikacja przerwań (ang. daisy-chain interrupt method) jest to sposób
identyfikacji częściowo wspomagany sprzętowo.
Między kolejnymi układami we/wy są poprowadzone linie transmisji sygnału potwierdzeń
odbioru przerwania (ang. interrupt acknowledge  IACK), wysyłanego przez procesor,
na specjalną jego końcówkę wyjściową, wtedy, gdy odbierze przerwanie.
INT
INT 2 INT n
INT 1 INT 3
Procesor we/wy 1 we/wy 2 we/wy 3 we/wy n
IACK IACK IACK
Szyna danych
Aańcuchowa metoda identyfikacji przyczyny przerwania
Wszystkie układy we/wy wysyłają przerwania na te samą końcówkę wejścia przerwań INT
procesora.
Po odbiorze sygnału przerwania procesor odpowiada sygnałem potwierdzenia IACK, który
jest odbierany przez pierwszy układ w łańcuchu.
Jeżeli ten układ wysłał przerwanie, wtedy odpowiada on na IACK przez wysłanie na szynę
danych procesora swojego identyfikatora (robi to przez otwarcie na tę szynę wyjścia ze
swojego specjalnego rejestru).
Razem z identyfikatorem mogą być przesłane dodatkowe informacje opisujące lepiej
przyczynÄ™ przerwania. Procesor wczytuje informacje z szyny danych, dekoduje je
programowo i uruchamia program obsługi przerwania, odpowiedni dla zidentyfikowanego
układu we/wy. Następnie procesor usuwa sygnał IACK.
Jeśli układ we/wy 1 nie wysłał sygnału przerwania, przesyła on sygnał IACK do
następnego układy we/wy w łańcuchu.
Ten sposób identyfikacji przerwań jest stosunkowo wydajny czasowo i ekonomiczny ze
względu na małą ilość użytego sprzętu. Jest on stosowany w prostszych systemach
komputerowych.
Wektorowa metoda identyfikacji przerwań
Najbardziej wydajnÄ… czasowo i uniwersalnÄ… metodÄ… rozpoznawania przyczyny przerwania
zgłoszonego do procesora jest całkowite sprzętowe rozpoznawanie oparte na
wykorzystaniu wektorów przerwań.
Przy tej metodzie, do procesora jest dołączony sprzętowy układ rejestracji, wybierania i
kodowania przerwań.
IACK
Wektor
0
przerwania
Do szyny
1
danych
procesora
2
3
INT
Generator
.
przerwania
.
do
.
. .
.
procesora
.
. .
.
. .
n-1
Priorytet
n
dopuszczalny
. . .
Rejestr maski
Rejestr układu priorytetów
Układ obsługi przerwań wektorowych
Linie przerwa
Å„
Komparator
Rejestr przerwa
Å„
Układ maskuj
Ä…
cy
Detektor i koder priorytetu
Na wejście układu dołączonych jest wiele niezależnie pracujących linii przerwań, przez
które nadchodzą sygnały przerwań od układów we/wy.
Liniom przerwań przypisane są priorytety zgodnie z kolejnością, zarejestrowaną w
Rejestrze układu priorytetów, programowalnym przez procesor.
Układ obsługi przerwań umożliwia podwójną kontrolę selekcji przerwań zgłaszanych do
obsługi:
a) poprzez maskowanie indywidualnych przerwań,
b) poprzez badanie dopuszczalnego poziomu priorytetu.
Dla wspomagania maskowania, w układzie znajduje się programowalny przez procesor
rejestr maski.
Maskowanie polega na blokowaniu dostępu zamaskowanych linii przerwań do rejestru
przerwań, w którym rejestruje się przerwania zgłoszone do obsługi.
Spośród niezamaskowanych przerwań, zapisanych w rejestrze przerwań, zostaje wybrane
przerwanie o najwyższym priorytecie i zostaje wygenerowany odpowiadający mu wektor
przerwania, którym jest zakodowany binarnie numer poziomu priorytetu tego przerwania.
Realizuje to układ detekcji i koder priorytetu.
Wektor najbardziej uprzywilejowanego przerwania jest następnie porównywany w
Komparatorze z minimalnym dopuszczalnym poziomem priorytetu do obsługi.
Poziom priorytetu jest określany przez procesor poprzez zaprogramowanie zawartości
rejestru dopuszczalnego priorytetu.
O ile bieżące, najbardziej uprzywilejowane przerwanie ma priorytet nie niższy niż
dopuszczalny, generowany jest sygnał przerwania INT idący do procesora.
Procesor odpowiada sygnałem potwierdzenia przyjęcia przerwania IACK i wtedy na szynę
danych jest wystawiany wektor tego przerwania.
Wektor przerwań jest wczytywany przez procesor do indeksowego rejestru adresowego.
Rejestr ten jest następnie wykorzystywany do indeksacji (modyfikacji arytmetycznej)
bazowego adresu wywołania programów obsługi przerwań, która wytwarza adres programu
odpowiadający obsługiwanemu przerwaniu.
Metoda identyfikacji przerwań oparta na podejściu wektorowym jest powszechnie
wykorzystywana we współczesnych systemach komputerowych.
Obsługa wejścia/wyjścia poprzez układy DMA
Układ bezpośredniego dostępu do pamięci  DMA (od ang. Direct Memory Access)
umożliwia zapisy i odczyty danych w pamięci operacyjnej komputera ze strony urządzeń
zewnętrznych bez sterowania i pośrednictwa procesora.
Przy takiej metodzie, urządzenia zewnętrzne mogą samodzielnie współpracować z
pamięcią, nie zajmując dla tego celu czasu procesora.
Procesor, znając adresy w pamięci operacyjnej wykorzystywane przez transmisje DMA do
lub z urządzeń we/wy, może w dogodnej dla siebie chwili odczytać lub wpisać dane w
pamięci potrzebne dla współpracy z tymi urządzeniami.
Układ DMA stanowi sterownik, do którego podłącza się urządzenia zewnętrzne,
komunikujące się z pamięcią.
Sterownik DMA, na żądanie urządzenia zewnętrznego, uzyskuje od procesora zwolnienie
szyn idących do pamięci.
Wówczas sterowanie nad pamięcią przejmuje sterownik DMA. Wysyła on adresy i sygnały
sterujące do pamięci, w wyniku czego dane są wymieniane bezpośrednio między
urządzeniem zewnętrznym a pamięcią.
Sterownik DMA jest programowalny przez procesor, który ustala wszystkie parametry
transmisji dla urządzenia zewnętrznego w odpowiednich rejestrach sterujących sterownika.
Szyna adresowa
Pamięć
Adresy,
Dane
Dane
sygnały
sterujÄ…ce
Szyna danych
Procesor
Zwolnienie
. . .
we/wy 1 we/wy n
szyn
pamięci
Żądanie 1
.
Sterownik
.
. Żądanie n
DMA
Idea współpracy układów we/wy z procesorem poprzez układy DMA
Współpraca układów we/wy poprzez sterowniki DMA jest często stosowana przy
współpracy procesorów z pamięciami zewnętrznymi.


Wyszukiwarka

Podobne podstrony:
wejscie wyjscie
Porty wejścia wyjścia
operacje wejscia wyjscia 13
operacje wejscia wyjscia 7
JAVA 06 wejście i wyjście
Wejście, wyjście V rok 2016
operacje wejscia wyjscia 8
Obsluga wejscia wyjscia KIA PRz
Podstawy wejścia i wyjścia w C
07 Strumienie, operacje wejścia wyjścia
Asynchroniczne wejście wyjście w systemie Linux
04 operacje wejscia wyjscia
operacje wejscia wyjscia 10
operacje wejscia wyjscia 3
operacje wejscia wyjscia 6
Wykład 10 Wejście wyjście

więcej podobnych podstron