Operacje wejścia wyjścia

background image

Operacje wejścia i

wyjścia

Istota i klasyfikacja

background image

2

Operacje wejścia i wyjścia

Wszystko co dzieje się w systemie jest

wynikiem realizacji pewnego
programu lub jego fragmentu.
Dotyczy to także wymiany informacji
pomiędzy mikroprocesorem a
urządzeniami peryferyjnymi. Stąd
też część programowa realizująca
taką wymianę określana jest jako:

operacje wejścia-wyjścia.

background image

3

Operacje wejścia i 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.

background image

4

Operacje wejścia i wyjścia

Operacje wejścia-wyjścia mogą być

realizowane w dwojaki sposób:

od początku do końca przy udziale procesora
(z bezpośrednim sterowaniem przez
procesor tzw. tryb

PIO

(Programmed Input

Output - programowane wejście/wyjście));
wówczas informacja przepływa przez
rejestry procesora, który także steruje
każdym krokiem realizacji operacji,

bez stałego udziału procesora (z pośrednim
sterowaniem przez procesor tzw. tryb

DMA

(Direct Memory Access - bezpośredni dostęp
do pamięci)
; wówczas procesor inicjuje 
operacje, a następnie przekazuje sterowanie
realizacją procesu innemu układowi
(zarządcy magistrali).

background image

5

Operacje wejścia i wyjścia z bezpośrednim

sterowaniem przez procesor (PIO)

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.

background image

6

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.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

7

Operacje z testowaniem

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 i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

8

Operacje z przerwaniem programu

realizowane przez procesor, który

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 przerwań 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.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

9

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

Rys. Wykonanie operacji wejścia-wyjścia z przerwaniem
programu

background image

10

Sytuacja komplikuje się nieco w przypadku

obsługiwania tą metodą kilku układów
wejścia-wyjścia. Może wówczas zdarzyć
ślę, że jednocześnie kilka układów
wejścia-wyjścia zgłosi gotowość do
wymiany. Należy w6wczas zdecydować,
który układ zostanie obsłużony, i o
wyborze tym poinformować procesor.
Ponadto, ponieważ procesor ma tylko
jedno wejście zgłoszenia przerwania, musi
istnieć układ pośredniczący w
przyjmowaniu zgłoszeń przerwań
pomiędzy procesorem a układami wejścia-
wyjścia. Układem tym jest specjalizowany
układ zaliczany do układów wejścia-
wyjścia, zwany

sterownikiem przerwań

.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

11

Podstawowymi zadaniami

sterownika

przerwań

są:

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.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

12

Końcowym wynikiem współpracy

sterownika przerwań z mikroprocesorem
powinno być uruchomienie określonego
programu obsługi przerwania. Jest
oczywiste, że różne urządzenia
współpracujące z określonymi układami
wejścia-wyjścia będą wymagały różnych
programów obsługi przerwania.
Przykładowo przerwanie zgłoszone przez
port szeregowy, do którego podłączona
jest drukarka, powinno przesłać do niej
kolejny znak lub blok znaków
przeznaczonych do wydrukowania. Z kolei
przerwanie od sterownika klawiatury
powinno spowodować odczytanie przez
mikroprocesor kodu naciśniętego
klawisza.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

13

Programy obsługi przerwań, podobnie jak

inne programy, umieszczone są w pamięci
operacyjnej i zaczynają się od określonego
adresu. Wybór obsługi określonego
przerwania polega więc na podaniu
adresu pamięci, pod którym znajduje się
początek programu obsługującego dane
przerwanie. Sterownik przerwań w
komputerach typu IBM PC nie podaje
bezpośrednio tego adresu, lecz numer
pozycji w specjalnej tablicy umieszczonej
w pamięci, zwanej

tablicą wektorów

przerwań

. Dopiero elementy tej tablicy

zawierają właściwe adresy początków
programów obsługi przerwań.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

14

Rys. Generowanie adresu ISR przy pomocy tablicy wektorów

przerwań.

Operacje wejścia i wyjścia z bezpośrednim sterowaniem
przez procesor (PIO)

background image

15

W dotychczas poznanych operacjach

ich realizacja przebiegała pod stałym
nadzorem procesora. Powoduje to,
że w wymianie informacji
zaangażowane są pewne jego
rejestry, a więc procesor nie może
wykonywać żadnych innych
czynności. Sytuacja zmienia się w
przypadku operacji z bezpośrednim
dostępem do pamięci (

DMA

; Direct

Memory Access )

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

background image

16

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

Bezpośrednim dostępem do pamięci

nazywamy operację wejścia-wyjścia
jedynie inicjowaną przez
mikroprocesor, który przekazuje
sterowanie jej realizacją
specjalizowanemu układowi
zwanemu sterownikiem

DMA

.

background image

17

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

Przy bezpośrednim dostępie do

pamięci, zwanym dalej operacją

DMA

, transmisja informacji

przebiega pomiędzy układem
wejścia-wyjścia a wydzielonym
obszarem buforowym w pamięci.
Przebieg operacji nadzoruje

sterownik DMA

, poprzez generację

wszystkich sygnałów sterujących i
adresów potrzebnych do realizacji
wymiany. W tym celu sterownik DMA
przejmuje na czas wymiany
informacji kontrolę nad
magistralami, stając się zarządcą
magistral (bus master)

background image

18

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

Żądanie przejęcia kontroli nad

magistralami jest zgłaszane do
procesora za pomocą sygnału
sterującego

HOLD

. W odpowiedzi na

ten sygnał procesor przechodzi w
tak zwany stan zawieszenia,
polegający na elektrycznym
odseparowaniu się od magistral.
Przejście w stan zawieszenia jest
sygnalizowane przez mikroprocesor
stanem aktywnym na wyjściu HLDA
(hold acknowledge).

background image

19

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

Rys. Operacje DMA

background image

20

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

Przejście to nie wymaga żadnych

zmian stanu rejestrów procesora. Po
zakończeniu transmisji
(pojedynczego słowa lub bloku, w
zależności od trybu realizacji
operacji)

sterownik DMA

zwraca

mikroprocesorowi kontrolę nad
magistralami.

Tak więc w realizacji operacji DMA

możemy wyróżnić trzy podstawowe
etapy:

inicjacja operacji DMA

realizacja operacji DMA

zakończenie operacji.

background image

21

Operacje wejścia i wyjścia z pośrednim sterowaniem przez
procesor (DMA)

background image

22

Operacje wejścia i

wyjścia

Koniec


Document Outline


Wyszukiwarka

Podobne podstrony:
5 5 Operacje wejścia wyjścia
Przekierowanie wejścia i wyjścia, materiały edukacyjne, SOISK(sys operacyjne i sieci komp )
Porty wejścia wyjścia
12 uklad wejscia wyjscia 8255
WEJŚCIE WYJŚCIE
Układ uniwersalnego, równoległego portu wejścia wyjścia?55
Wybierz jedno z urządzeń wejścia wyjścia komputera i opisz je.(drukarka atramentowa), Studia, Inform
Obsluga wejscia wyjscia KIA PRz
Wyklad 15, wejście-wyjście 2
systemy wejścia wyjścia
Urządzenia wejścia i wyjścia
11 wejscie wyjscie
Ćw1 Podstawowe operacje wejściawyjścia (IO), instrukcja if
Urzadzenia wejscia i wyjscia informatyka praca semestralna
Architektura i organizacja komuterów W7 Wejście Wyjście
PORTY WEJŚCIA WYJŚCIA, INFORMATYKA 001
Sprawozdanie(1), Studia, WAT Informatyka 2, semestr IV, systemy wejścia-wyjścia
JAVA 06 wejście i wyjście

więcej podobnych podstron