12. ulazno-izlazni podsustav raČunala • načini izmjene

36
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

Upload: dinhtram

Post on 08-Feb-2017

288 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 2: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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)

Page 3: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 3

•Programirani U/I- uvjetni- bezuvjetni

• Prekidni U/I prijenos

Page 4: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 4

Izravni pristup memoriji (DMA)

Page 5: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 6: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 7: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 8: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 8

WAIT: TSK 1

JMP WAIT

IN 2

Page 9: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 10: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 11: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 12: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 12

Veliki računalni sustavi

Page 13: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 13

Mali računalni sustavi

Page 14: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 14

U/I krug

Page 15: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 16: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 16

Izravan pristup memoriji (DMA)

Page 17: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 18: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 18

Ispitne točke za DMA i prekid tijekom instrukcijskogciklusa

Page 19: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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)

Page 20: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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)

Page 21: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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)

Page 22: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 23: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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)

Page 24: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 25: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 25

Uvjeti za prihvaćanje prekida

Page 26: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

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

Page 27: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 27

Prekidni sustav s jednom prekidnom linijom

Page 28: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 28

Prekidni sustav s više prekidnih linija

Page 29: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 29

Linije za potvrdu prihvaćanja prekida (idealizirano)

Page 30: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 30

Ulančavanje (Daisy Chain)

Page 31: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 31

Vektorski prekidni sustav

Page 32: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 32

Višestruko ulančavanje

Page 33: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 33

Vektorska prekidna shema

Page 34: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 34

Upravljački sklop prioritet prekida s maskiranjem

Page 35: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 35

Primjer ulančane konfiguracije (vektorski prekidni sustav)

Page 36: 12. ULAZNO-IZLAZNI PODSUSTAV RAČUNALA • Načini izmjene

S. Ribarić, AIOR 36

Primjer ulančane konfiguracije (vektorski prekidni sustav)/nastavak/