12. ulazno-izlazni podsustav raČunala • načini izmjene
TRANSCRIPT
S. Ribarić, AIOR 1
12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA
• Načini izmjene podataka između računala i vanjske logike• Ulazno-izlazni podsustav• DMA (Direct Memory Access) – Izravni pristup memoriji• Iznimke i prekidi
S. Ribarić, AIOR 2
Načini izmjene podataka između računala i vanjske logike:
• Programirani U/I- uvjetni- bezuvjetni
• Prekidni U/I prijenos
• Izravni pristup memoriji (DMA)
S. Ribarić, AIOR 3
•Programirani U/I- uvjetni- bezuvjetni
• Prekidni U/I prijenos
S. Ribarić, AIOR 4
Izravni pristup memoriji (DMA)
S. Ribarić, AIOR 5
Ulazno-izlazni sustav (U/I sustav)
Zadatak: Prijenos informacije (podataka) između memorijeili CPU-a i vanjskog svijeta
U/I sustav: - U/I uređaji (periferni uređaji)- upravljačka jedinica U/I uređaja- programska oprema (“drajveri”) posebno dizajnirana za podršku U/I operacija
S. Ribarić, AIOR 6
Klasifikacija U/I sustava prema uključenosti CPU-a u izvođenjeU/I operacija:
• U/I operacije pod potpunim upravljanjem CPU-aCPU izvodi programe koji započinju, vode i završavaju U/Ioperacije
• U/I uređaj može imati sklopove koji generiraju zahtjeve zaposluživanje – prekidni U/I prijenos
S. Ribarić, AIOR 7
Uvjetni programirani U/I prijenosKoraci:1. Pročitaj status U/I uređaja2. Ispitaj statusi utvrdi da li je uređaj spreman za prijenos3. Ako nije spreman vrati se n KORAK 1.
ako je spreman započni prijenos
S. Ribarić, AIOR 8
WAIT: TSK 1
JMP WAIT
IN 2
S. Ribarić, AIOR 9
Programski odsječak za Intel 8080
WAIT: IN 1 ; Pročitaj I/O status i unesi ga u acc.CPI READY ; Usporedi ga usputno s maskomJNZ WAIT ; Ako je zastavica Z≠ 0 skoči na WAITIN 2 ; pročitaj podatak s vrata 2
S. Ribarić, AIOR 10
• U/I uređaj (podržan dodatnim sklopovima) ima sposobnost prijenosa bloka podataka bez intervencije CPU-a:
- U/I uređaj (ili upravljački sklop U/I uređaja) generiraadrese podataka koji se prenose (npr. glavnom sabirnicom)
- ima sklopovlje za zahtijevanje sabirnice
CPU još uvijek je odgovoran za započinjanje prijenosa svakogbloka podataka
• DMA – sve ili skoro sve funkcije upravljanja U/I mogu bitiprenijete s CPU-a na posebnu U/I jedinicu – U/I procesor iliU/I kanal
S. Ribarić, AIOR 11
• U/I uređaj izvodi prijenos bez izvođenja programa u CPUCPU i U/I uređaj komuniciraju samo kada CPU treba U/I uređaju predati upravljanje sabirnicom
Izravni pristup memoriji
S. Ribarić, AIOR 12
Veliki računalni sustavi
S. Ribarić, AIOR 13
Mali računalni sustavi
S. Ribarić, AIOR 14
U/I krug
S. Ribarić, AIOR 15
Multiprogramiranje – dopušta da se nekoliko nezavisnih programa odvija istodobno u istom računalu – npr. jedan od programa podržava U/I prijenos
Kratka povijest:
C. Strachey (1959.) – obrada dodjeljivanjem vremena (engl.timeshared)
TX-2, Lincoln Lab., (1957.) - prekidni sustav za upravljanjeU/I operacijama
CDC 6600 (1964.) - periferijski U/I procesori
S. Ribarić, AIOR 16
Izravan pristup memoriji (DMA)
S. Ribarić, AIOR 17
Koraci:
1. CPU izvodi dvije I/O instrukcije – definira sadržaje IOAR iDC – faza inicijalizacije
2. Kad je U/I uređaj spreman za prijenos aktivira DMA request/CPU čeka slijedeću DMA ispitnu točku i oslobađa sabirnicu podataka i adresnu sabirnicu/
3. CPU generira DMA acknowledge4. U/I uređaj prenosi5. Ako DC nije 0 a uređaj U/I nije više spreman za slanje ili
primanje podataka tada DMA vraća upravljanje CPU-u takoda dezaktivira DMA request linju
6. Ako je DC = 0 , U/I uređaj vraća upravljanje CPU-u. U/Iuređaj može poslati zahtjev za prekid CPU-u. CPU “zaustavlja” U/I uređaj ili započinje novi DMA prijenos
S. Ribarić, AIOR 18
Ispitne točke za DMA i prekid tijekom instrukcijskogciklusa
S. Ribarić, AIOR 19
Prekidi
Vrste prekida:• U/I prekidi – aktivirani kao zahtjev za U/I operacijom
– aktiviran nakon uspješnog (ili neuspješnog)završetka U/I operacije /npr. dojava “kanalslobodan” nakon završetka prijenosa ili nastupgreške/
• Prekidi izazvani vremenskim sklopovima (engl. timer interrupts)
• Prekidi zbog grešaka u sklopovima (npr. ispad napajanja, greškaparnosti u memoriji)
• Programski prekidi (engl traps)• SVC (Supervisory Calls) – preklop iz korisničkog načina u
nadgledni način rada)
S. Ribarić, AIOR 20
U/I prekidi – tipovi prekidnih sustava
Tip 1. Jednorazinski s jednim prioritetom (Single-level, single priority)
• sve linije za zahtijevanje prekida su vezane kao logičko ILI na jedan ulaz (prekidni bistabil)
S. Ribarić, AIOR 21
Tip 1. – nastavak
- nakon pohranjivanja minimalnog konteksta prekidna rutina(koja započinje na unaprijed definiranoj memorijskoj lokaciji)mora prepoznati uzročnika prekida!
- to čini tako da ispituje status pojedinih U/I uređaja prozivanjem(engl. polling)
S. Ribarić, AIOR 22
Tip 2. Višerazinski s jednim prioritetom (Multiple-level, Single-priority)
• pored postavljanja prekidnog bistabila IFF (kao u slučaju 1.)
svaki U/I uređaj nakon slanja zahtjeva za prekid šalje i kod za identifikaciju uzročnika prekida (selekcijski kod). Kod se postavlja nakon što su svi prijašnji prekidi bili potvrđeni
• jedan prioritet odnosi se na prioritet na sklopovskoj razini,
Razlika između Tipa 1. i Tipa 2.:
Tip 2. zahvaljujući selekcijskom kodu dopušta brže raspoznavanje izvora prekida
S. Ribarić, AIOR 23
Tip 3. Jednorazinski s više prioriteta (Single-level, Multiple-priority)
• Kao i u Tipu 1. postoji samo jedan prekidni bistabil ali su uređaji U/I smješteni na prekidnoj liniji po prioritetnom redu• Kada uređaj zahtijeva posluživanje on sprečava prekide drugih uređaja nižeg prioriteta• ustroj uređaja uzduž zajedničke linije prekida odgovara shemiulančavanja (engl. daisy chaining)
S. Ribarić, AIOR 24
Tip 4. Višerazinski s više prioriteta (Multiple-level, Multiple-priority)
• Kombinacija Tipova 2. i 3.• Uređaji su raspoređeni ulančano (kao u Tipu 3.)• Za vrijeme potvrde prekida šalje se selekcijski kod
S. Ribarić, AIOR 25
Uvjeti za prihvaćanje prekida
S. Ribarić, AIOR 26
Tipični koraci tijekom prekida:
1. CPU identificira izvor prekida2. CPU dobiva ili određuje adresu prekidnog programa3. PC i SR (“minimalni kontekst”) se pohranjuju4. U PC se smještava adresa prekidnog programa5. Izvodi se prekidni program6. Iz prekidnog programa upravljanje se prenosi na prekinuti
program izvođenjem instrukcije tipa RETURN FROM INTERRUPT (RTI) ili RTE (RETURNFROM EXCEPTION čime se obnavlja stanje procesora
S. Ribarić, AIOR 27
Prekidni sustav s jednom prekidnom linijom
S. Ribarić, AIOR 28
Prekidni sustav s više prekidnih linija
S. Ribarić, AIOR 29
Linije za potvrdu prihvaćanja prekida (idealizirano)
S. Ribarić, AIOR 30
Ulančavanje (Daisy Chain)
S. Ribarić, AIOR 31
Vektorski prekidni sustav
S. Ribarić, AIOR 32
Višestruko ulančavanje
S. Ribarić, AIOR 33
Vektorska prekidna shema
S. Ribarić, AIOR 34
Upravljački sklop prioritet prekida s maskiranjem
S. Ribarić, AIOR 35
Primjer ulančane konfiguracije (vektorski prekidni sustav)
S. Ribarić, AIOR 36
Primjer ulančane konfiguracije (vektorski prekidni sustav)/nastavak/