Predavanje - 08 - Ulazno-Izlazni Podsustav PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

12.

ULAZNO-IZLAZNI PODSUSTAV RAUNALA


Naini izmjene podataka izmeu raunala i vanjske logike
Ulazno-izlazni podsustav
DMA (Direct Memory Access) Izravni pristup memoriji
Iznimke i prekidi

S. Ribari, AIOR

Naini izmjene podataka izmeu raunala i vanjske logike:


Programirani U/I
- uvjetni
- bezuvjetni
Prekidni U/I prijenos
Izravni pristup memoriji (DMA)

S. Ribari, AIOR

Programirani U/I
- uvjetni
- bezuvjetni
Prekidni U/I prijenos

S. Ribari, AIOR

Izravni pristup memoriji (DMA)

S. Ribari, AIOR

Ulazno-izlazni sustav (U/I sustav)


Zadatak: Prijenos informacije (podataka) izmeu memorije
ili CPU-a i vanjskog svijeta

U/I sustav: - U/I ureaji (periferni ureaji)


- upravljaka jedinica U/I ureaja
- programska oprema (drajveri) posebno
dizajnirana za podrku U/I operacija

S. Ribari, AIOR

Klasifikacija U/I sustava prema ukljuenosti CPU-a u izvoenje


U/I operacija:
U/I operacije pod potpunim upravljanjem CPU-a
CPU izvodi programe koji zapoinju, vode i zavravaju U/I
operacije
U/I ureaj moe imati sklopove koji generiraju zahtjeve za
posluivanje prekidni U/I prijenos

S. Ribari, AIOR

Uvjetni programirani U/I prijenos


Koraci:
1. Proitaj status U/I ureaja
2. Ispitaj statusi utvrdi da li je ureaj spreman za prijenos
3. Ako nije spreman vrati se n KORAK 1.
ako je spreman zaponi prijenos

S. Ribari, AIOR

WAIT: TSK 1
JMP WAIT
IN 2

S. Ribari, AIOR

Programski odsjeak za Intel 8080

WAIT: IN 1
; Proitaj I/O status i unesi ga u acc.
CPI READY ; Usporedi ga usputno s maskom
JNZ WAIT
; Ako je zastavica Z 0 skoi na WAIT
IN 2
; proitaj podatak s vrata 2

S. Ribari, AIOR

U/I ureaj (podran dodatnim sklopovima) ima sposobnost


prijenosa bloka podataka bez intervencije CPU-a:
- U/I ureaj (ili upravljaki sklop U/I ureaja) generira
adrese podataka koji se prenose (npr. glavnom
sabirnicom)
- ima sklopovlje za zahtijevanje sabirnice
CPU jo uvijek je odgovoran za zapoinjanje prijenosa svakog
bloka podataka
DMA sve ili skoro sve funkcije upravljanja U/I mogu biti
prenijete s CPU-a na posebnu U/I jedinicu U/I procesor ili
U/I kanal
S. Ribari, AIOR

10

U/I ureaj izvodi prijenos bez izvoenja programa u CPU


CPU i U/I ureaj komuniciraju samo kada CPU treba U/I
ureaju predati upravljanje sabirnicom

Izravni pristup memoriji

S. Ribari, AIOR

11

Veliki raunalni sustavi

S. Ribari, AIOR

12

Mali raunalni sustavi

S. Ribari, AIOR

13

U/I
krug

S. Ribari, AIOR

14

Multiprogramiranje doputa da se nekoliko nezavisnih


programa odvija istodobno u istom raunalu npr. jedan od
programa podrava U/I prijenos
Kratka povijest:
C. Strachey (1959.) obrada dodjeljivanjem vremena (engl.
timeshared)
TX-2, Lincoln Lab., (1957.) - prekidni sustav za upravljanje
U/I operacijama
CDC 6600 (1964.) - periferijski U/I procesori

S. Ribari, AIOR

15

Izravan pristup memoriji (DMA)

S. Ribari, AIOR

16

Koraci:
1. CPU izvodi dvije I/O instrukcije definira sadraje IOAR i
DC faza inicijalizacije
2. Kad je U/I ureaj spreman za prijenos aktivira DMA request
/CPU eka slijedeu DMA ispitnu toku i oslobaa sabirnicu
podataka i adresnu sabirnicu/
3. CPU generira DMA acknowledge
4. U/I ureaj prenosi
5. Ako DC nije 0 a ureaj U/I nije vie spreman za slanje ili
primanje podataka tada DMA vraa upravljanje CPU-u tako
da dezaktivira DMA request linju
6. Ako je DC = 0 , U/I ureaj vraa upravljanje CPU-u. U/I
ureaj moe poslati zahtjev za prekid CPU-u.
CPU zaustavlja U/I ureaj ili zapoinje novi DMA prijenos
S. Ribari, AIOR

17

Ispitne toke za DMA i prekid tijekom instrukcijskog


ciklusa

S. Ribari, AIOR

18

Prekidi
Vrste prekida:
U/I prekidi aktivirani kao zahtjev za U/I operacijom
aktiviran nakon uspjenog (ili neuspjenog)
zavretka U/I operacije /npr. dojava kanal
slobodan nakon zavretka prijenosa ili nastup
greke/
Prekidi izazvani vremenskim sklopovima (engl. timer interrupts)
Prekidi zbog greaka u sklopovima (npr. ispad napajanja, greka
parnosti u memoriji)
Programski prekidi (engl traps)
SVC (Supervisory Calls) preklop iz korisnikog naina u
nadgledni nain rada)
S. Ribari, AIOR

19

U/I prekidi tipovi prekidnih sustava


Tip 1. Jednorazinski s jednim prioritetom (Single-level, single
priority)
sve linije za zahtijevanje prekida su vezane kao logiko ILI
na jedan ulaz (prekidni bistabil)

S. Ribari, AIOR

20

Tip 1. nastavak
- nakon pohranjivanja minimalnog konteksta prekidna rutina
(koja zapoinje na unaprijed definiranoj memorijskoj lokaciji)
mora prepoznati uzronika prekida!
- to ini tako da ispituje status pojedinih U/I ureaja prozivanjem
(engl. polling)

S. Ribari, AIOR

21

Tip 2. Vierazinski s jednim prioritetom (Multiple-level,


Single-priority)
pored postavljanja prekidnog bistabila IFF (kao u sluaju 1.)
svaki U/I ureaj nakon slanja zahtjeva za prekid alje i kod za
identifikaciju uzronika prekida (selekcijski kod). Kod se
postavlja nakon to su svi prijanji prekidi bili potvreni
jedan prioritet odnosi se na prioritet na sklopovskoj razini,
Razlika izmeu Tipa 1. i Tipa 2.:
Tip 2. zahvaljujui selekcijskom kodu doputa bre
raspoznavanje izvora prekida

S. Ribari, AIOR

22

Tip 3. Jednorazinski s vie prioriteta (Single-level,


Multiple-priority)
Kao i u Tipu 1. postoji samo jedan prekidni bistabil ali
su ureaji U/I smjeteni na prekidnoj liniji po prioritetnom redu
Kada ureaj zahtijeva posluivanje on spreava prekide drugih
ureaja nieg prioriteta
ustroj ureaja uzdu zajednike linije prekida odgovara shemi
ulanavanja (engl. daisy chaining)

S. Ribari, AIOR

23

Tip 4. Vierazinski s vie prioriteta (Multiple-level,


Multiple-priority)
Kombinacija Tipova 2. i 3.
Ureaji su rasporeeni ulanano (kao u Tipu 3.)
Za vrijeme potvrde prekida alje se selekcijski kod

S. Ribari, AIOR

24

Uvjeti za prihvaanje prekida

S. Ribari, AIOR

25

Tipini koraci tijekom prekida:


1.
2.
3.
4.
5.
6.

CPU identificira izvor prekida


CPU dobiva ili odreuje adresu prekidnog programa
PC i SR (minimalni kontekst) se pohranjuju
U PC se smjetava adresa prekidnog programa
Izvodi se prekidni program
Iz prekidnog programa upravljanje se prenosi na prekinuti
program izvoenjem instrukcije tipa
RETURN FROM INTERRUPT (RTI) ili RTE (RETURN
FROM EXCEPTION ime se obnavlja stanje procesora

S. Ribari, AIOR

26

Prekidni sustav s jednom prekidnom linijom

S. Ribari, AIOR

27

Prekidni sustav s vie prekidnih linija

S. Ribari, AIOR

28

Linije za potvrdu prihvaanja prekida (idealizirano)

S. Ribari, AIOR

29

Ulanavanje (Daisy Chain)

S. Ribari, AIOR

30

Vektorski prekidni sustav

S. Ribari, AIOR

31

Viestruko ulanavanje

S. Ribari, AIOR

32

Vektorska prekidna shema

S. Ribari, AIOR

33

Upravljaki sklop prioritet prekida s maskiranjem

S. Ribari, AIOR

34

Primjer ulanane konfiguracije (vektorski prekidni sustav)

S. Ribari, AIOR

35

Primjer ulanane konfiguracije (vektorski prekidni sustav)


/nastavak/

S. Ribari, AIOR

36

You might also like