1
Podstawy techniki cyfrowej
Podstawy techniki cyfrowej
Układy wejścia-wyjścia
Układy wejścia-wyjścia
mgr inż. Bogdan Pietrzak
ZSR CKP Świdwin
2
Układem wejścia-wyjścia nazywamy
układ elektroniczny pośredniczący w
wymianie informacji pomiędzy
procesorem i pamięcią systemu z jednej
strony a urządzeniem peryferyjnym z
drugiej. Dla systemu
mikroprocesorowego układ wejścia-
wyjścia widoczny jest zwykle jako
rejestr lub zespół rejestrów o
określonych adresach oraz pewien
zestaw sygnałów sterujących.
3
Potrzeba pośredniczenia wynika z :
• różnic w szybkości działania urządzeń
• różnic parametrów elektrycznych urządzeń
• urządzenie wymaga podania informacji w
określonym formacie
Przykładem urządzeń wejścia wyjścia są :
• pamięci dyskowe
• klawiatura
• monitor
• ploter
• itp.
4
Układy I/O współadresowalne
z pamięcią operacyjną
W przypadku układów współadresowalnych z
pamięcią operacyjną wybieramy obiekt, na
którym dokonujemy operacji (komórka pamięci
lub rejestr układu wejścia-wyjścia), za pomocą
adresu. Sygnały sterujące są wspólne dla
pamięci i układów wejścia-wyjścia.
5
Dla izolowanych układów wejścia-wyjścia
wybiera się obiekt, na którym dokonywana
jest operacja (komórka pamięci lub rejestr
układu wejścia-wyjścia), za pomocą sygnałów
sterujących. Przestrzenie adresowe pamięci i
układów wejścia-wyjścia nie są rozdzielone.
Układy I/O izolowane
6
Operacje wejścia-wyjścia
Operacjami wejścia-wyjścia nazywa się
całokształt działań potrzebnych do realizacji
wymiany informacji pomiędzy
mikroprocesorem i pamięcią z jednej strony a
układem wejścia-wyjścia z drugiej.
Operacje wejścia-wyjścia realizują komunikację
pomiędzy systemem mikroprocesorowym a
otoczeniem.
7
Operacje wejścia-wyjścia z
bezpośrednim sterowaniem przez
mikroprocesor
Operacje tego typu można podzielić na
trzy podstawowe grupy:
• operacje bezwarunkowe,
• operacje z testowaniem stanu układu
wejścia-wyjścia,
• operacje z przerwaniem programu.
8
Operacje bezwarunkowe cechują się tym, że
procesor nie sprawdza gotowości układu
wejścia-wyjścia do wymiany informacji lecz
bezpośrednio nakazuje ich realizację. Jest
oczywiste, że w ten sposób można sterować
jedynie bardzo wąską grupą układów wejścia-
wyjścia, stąd zastosowanie tego typu operacji
jest bardzo ograniczone. Przykładem może tu
być sterowanie wyświetlaniem zestawu diod
podczas monitorowania określonego obszaru
magistrali.
Bezwarunkowe operacje
wejścia-wyjścia
9
Operacje z testowaniem są związane ze
sprawdzeniem stanu gotowości układu wejścia-
wyjścia przed rozpoczęciem wymiany
informacji. Dopiero po potwierdzeniu przez
układ takiej gotowości następuje wymagana
wymiana. Jest to typowy sposób stosowany
przy współpracy systemu z przetwornikami
analogowo-cyfrowymi.
Operacje z testowaniem posiadają istotną wadę
polegającą na konieczności zapewnienia stałej
pętli przepytywania urządzenia.
Operacje wejścia-wyjścia z
testowaniem stanu układu
10
Operacje wejścia wyjścia z
przerwaniem programu
Procesor wykonuje pewien program zwany programem
głównym, oczekując na sygnał gotowości do wymiany
zgłaszany przez układ wejścia-wyjścia (bez
programowego testowania układu).Jeżeli taki sygnał
nadejdzie (jest to tzw. sygnał zgłoszenia przerwania)
wówczas procesor przerywa wykonywanie programu
głównego (po zakończeniu realizacji bieżącej instrukcji),
zapamiętuje miejsce programu, w którym nadeszło
zgłoszenie i przechodzi do realizacji specjalnego
programu zwanego programem obsługi przerwań (ISR
interrupt service routime)
Program obsługi przerwania powinien zrealizować
wymianę informacji z układem wejścia-wyjścia
zgłaszającym gotowość.
Po zakończeniu wymiany procesor powraca do programu
głównego i kontynuuje jego wykonywanie.
11
12
Sterownik przerwań
• pośredniczenie w przyjmowaniu zgłoszeń przerwań
pomiędzy mikroprocesorem a innymi układami
wejścia-wyjścia,
• przyjmowanie zgłoszeń przerwań od wielu układów
wejścia-wyjścia,
• wybór spośród kilku jednocześnie zgłoszonych
przerwań tego, które zostanie obsłużone,
• zasygnalizowanie dokonanego wyboru przez podanie
numeru (adresu) układu wejścia-wyjścia, z którym
zostanie dokonana wymiana, a dokładniej, adresu
programu obsługi przerwania realizującego tą
wymianę,
• po przyjęciu sygnałów zgłoszeń przerwań od układów
wejścia-wyjścia i wyborze układu, który będzie
obsłużony,
• wygenerowanie sygnału zgłoszenia przerwania
bezpośrednio do mikroprocesora.
13
Sterownik przerwań
14
Działanie sterownika przerwań
W celu umożliwienia przyjmowania kilku
przerwań jednocześnie sterownik przerwań
dysponuje określoną ilością wejść sygnałów
zgłoszenia przerwań od okładów wejścia-
wyjścia.
Sygnały te trafiają do rejestru zgłoszeń
przerwań IRR (Interrupt Request Register).
Zgłoszenie przerwania może być maskowalne,
co oznacza, że mimo ich zgłoszenia nie będą
przyjmowane. Bity maski są umieszczane w
rejestrze maski IMR ( Interrupt Mask Register).
Następnie przyjmowanie przerwań jest
poddawane arbitrażowi, co oznacza wybranie
spośród zgłoszonych jednocześnie, jednego
przerwania.
15
Każdemu przerwaniu sprzętowemu jest
przyporządkowany określony stopień jego
ważności zwany priorytetem przerwania.
Ze wszystkich zgłoszonych przerwań jest
wybierane to, które posiada najwyższy priorytet.
Wynikiem arbitrażu jest numer zgłoszonego,
niemaskowalnego przerwania o najwyższym
priorytecie. Numer ten jest wpisywany do
rejestru przerwań obsługiwanych ISR (in-
service-register).
16
Tablica wektorów przerwań
Tablica wektorów przerwań jest struktura
umieszczoną w pamięci operacyjnej komputera.
W komputerach typu IBM PC zaczyna się od
adresu
0 i kończy się na adresie 3FFh.
Każda pozycja tablicy jest związana z dokładnie
jednym przerwaniem i zawiera adres komórki
pamięci, w której znajduje się początek
programu obsługującego to przerwanie.
17
Schemat wykonywania przerwania
18
Przerwania sprzętowe a przerwania
programowe
Przerwania realizowane za pomocą sterownika
przerwań noszą nazwę przerwań
sprzętowych. Źródłem ich zgłoszenia jest
żądanie pochodzące od określonego
urządzenia.
Dla systemów z mikroprocesorami rodziny
Intel 80x86 jest możliwy inny rodzaj przerwań
zwanych przerwaniami programowymi. Są
one wynikiem realizowania przez mikroprocesor
instrukcji INT n, gdzie n jest heksadecymalnym
numerem pozycji w tablicy wektorów przerwań.
Trzecim rodzajem przerwań są tzw. wyjątki
(exception) generowane przez mikroprocesor
przy pojawieniu się poważnych błędów.
19
Operacje wejścia-wyjścia z
pośrednim sterowaniem przez
mikroprocesor (DMA)
DMA – direct memory access – bezpośredni
dostęp do pamięci, typ operacji polegającej na
zainicjalizowaniu przez mikroprocesor a
następnie sterowanej i wykonywanej przez
specjalizowany sterownik DMA.
Przy operacji DMA , transmisja informacji
przebiega pomiędzy określonym urządzeniem
wejścia-wyjścia a wydzielonym obszarem
buforowym w pamięci.
Przebieg operacji nadzoruje sterownik DMA, co
oznacza, że generuje on wszystkie sygnały i
adresy potrzebne do realizacji takiego zadania.
Żądanie przejęcia kontroli nad magistralami
polega na zgłoszeniu do mikroprocesora sygnału
sterującego HOLD.
20
W odpowiedzi na sygnał HOLD mikroprocesor
przechodzi w tzw. stan zawieszenia, polegający
na elektrycznym odseparowaniu od magistral
(bramki trójstanowe).
Przejście w stan zawieszenia jest sygnalizowane
poprzez stan aktywny na wyjściu HLDA ( hold
acknowledge). Operacja DMA nie wymaga
żadnych zmian stanu rejestrów mikroprocesora.
W realizacji operacji DMA wyróżnia się trzy
etapy:
• inicjacja operacji
• realizacja operacji
• zakończenie operacji
21
Inicjacja operacji DMA polega na przekazaniu
do sterownika DMA następujących informacji :
1. wielkość bloku do przetransmitowania
2. adres pierwszej komórki bufora w pamięci
3. rodzaj operacji (zapis lub odczyt)
4. sposób realizacji operacji DMA
5. adres urządzenia wejścia-wyjścia
22
Operacja DMA
Operacja bez użycia DMA
23
Realizacja operacji DMA przez sterownik DMA
24
Źródła:
1. Jacek Bartman – Architektura komputerów
2. Józef Kalisz – Układy
mikroelektroniczne.Układy cyfrowe. WAT
wewn. 634/77
3. Krzysztof Wojtuszkiewicz – Urządzenia
techniki komputerowej.