53
ARHITEKTURA RAČUNALNIŠKIH SISTEMOV II Priprava na ustni izpit 2008/09 1

ARS2 Priprava Na Ustni

Embed Size (px)

Citation preview

Page 1: ARS2 Priprava Na Ustni

ARHITEKTURA RAČUNALNIŠKIH

SISTEMOV II

Priprava na ustni izpit 2008/09

1

Page 2: ARS2 Priprava Na Ustni

Table of Contents1 Zakaj vhod in izhod...........................................................................................................................42 Magnetni disk....................................................................................................................................4

2.1 Zgradba in format diska.............................................................................................................42.2 Dostop do podatkov...................................................................................................................52.3 Krmilnik diska...........................................................................................................................5

3 V/I krmilniki......................................................................................................................................64 Naslavljanje V/I naprav.....................................................................................................................6

4.1 Pomnilnisko preslikan V/I.........................................................................................................64.2 Ločen V/I prostor.......................................................................................................................64.3 Posredno preko V/I procesorjev.................................................................................................7

5 Prenos V/I podatkov..........................................................................................................................75.1 Programski V/I...........................................................................................................................75.2 Programski V/I z uporabo prekinitev.........................................................................................75.3 DMA..........................................................................................................................................85.4 V/I procesorji.............................................................................................................................9

6 V/I procesorji..................................................................................................................................106.1 V/I procesorji pri IBM 370......................................................................................................10

6.1.1 Programiranje kanalov.....................................................................................................126.1.2 Aktiviranje kanalskega programa.....................................................................................13

6.2 V/I procesorji pri CDC Cyber 170...........................................................................................167 Prenosne poti...................................................................................................................................17

7.1 Osnovne vrste prenosov...........................................................................................................177.1.1 Sinhronski in asinhronski prenosi....................................................................................187.1.2 Eksplozijski in protokolski prenosi..................................................................................207.1.3 Izvorni sinhronski prenosi................................................................................................22

8 Osnovne lastnosti digitalnih vezij...................................................................................................248.1 Bipolarna tehnologija...............................................................................................................248.2 CMOS tehnologija...................................................................................................................258.3 Zakaj čim manjše napetosti......................................................................................................258.4 Slabosti TTL............................................................................................................................258.5 Odpornost proti sumu..............................................................................................................258.6 Vhodna obremenitev digitalnih vezij.......................................................................................258.7 Izhodi vrste tri-state in open collector.....................................................................................258.8 GTL..........................................................................................................................................26

9 Logična vezja...................................................................................................................................269.1 Kombinatorična vezja..............................................................................................................26

9.1.1 Multiplekserji in demultiplekserji....................................................................................269.1.2 Dekodirniki in kodirniki...................................................................................................26

9.2 Sekvencna vezja.......................................................................................................................269.2.1 Asinhronska sekvencna vezja...........................................................................................269.2.2 Sinhronska sekvencna vezja.............................................................................................26

10 Podajanje mikroprocesorjev..........................................................................................................2710.1 Prekinitveni signali ...............................................................................................................28

10.1.1 Prekinitve pri 80486.......................................................................................................2810.1.2 Motorola 68400 prekinitve.................................................................................................2810.2 Prenosi pri 80486...................................................................................................................29

10.2.1 Bralni cikel.....................................................................................................................2910.2.2 Pisalni cikel....................................................................................................................29

2

Page 3: ARS2 Priprava Na Ustni

10.2.3 Eksplozijski cikel...........................................................................................................2910.3 Pentium Pro - protokolski eksplozijski prenos......................................................................2910.4 Quad Pump............................................................................................................................29

11 Bralni pomnilnik (ROM)...............................................................................................................30 Kako je shranjena informacija pri posameznih vrstah pomnilnika? .................................................30

11.2 EPROM..................................................................................................................................3011.3 EEPROM...............................................................................................................................31

11.3.2 Kako delujeta EPROM in EEPROM? Podrobnosti, razlike?.........................................3111.3.3 Kakšna je razlika med "flash" EEPROM-om in "pravim" EEPROM-om?...................32

12 RAM..............................................................................................................................................3312.1 SRAM....................................................................................................................................33

12.1.1 Razlika med SRAM in EEPROM .................................................................................3312.2 DRAM...................................................................................................................................33

12.2.1 Page mode dostop .........................................................................................................3512.2.2 Osvezevanje...................................................................................................................3512.2.3 Kako vemo pri DRAM-u kdaj je podatek na razpolago?...............................................36

12.3 SDRAM.................................................................................................................................3712.3.1 DDR SDRAM................................................................................................................3812.3.2 Kako izvedemo navadne prenose (pri SDRAM-ih).......................................................3812.3.3 DDR2 in DDR3..............................................................................................................3912.3.4 Podajanje časovnih parametrov......................................................................................4112.3.5 Standardizirane frekvence za DDR3..............................................................................4112.3.6 Preslikava naslovov v pomnilniške lokacije pri DDR3.................................................4112.3.7 Core i7............................................................................................................................42

13 Priključevanje pomnilniških in drugih naprav..............................................................................4213.1 Procesorji, ki ne uporabljajo protokolskega prenosa.............................................................4213.2 Procesorji, ki uporabljajo protokolski prenos........................................................................42

14 Prekinitveni krmilniki....................................................................................................................4314.1 PIC 6828 prekinitveni krmilnik.............................................................................................4314.2 Vektorske prekinitve..............................................................................................................4514.3 Intel PIC 8259A prekinitveni krmilnik..................................................................................46

15 Prenašanje podatkov z DMA.........................................................................................................4915.1 Problemi pri DMA ................................................................................................................4915.2 DMA PRENOSI.....................................................................................................................4915.3 Vrste DMA prenosov glede na pot.........................................................................................5115.4 Vrste DMA prenosov glede na casovno zaporedje dogodkov...............................................52

3

Page 4: ARS2 Priprava Na Ustni

1 Zakaj vhod in izhodPotrebujemo ga za:- Komunikacijo med racunalnikom in clovekom ter drugimi racunalniki- Pomozni pomnilnik, kot so diski, CD/DVD pogoni, itd.

Hitrost V/I naprav je od nekaj B/s pa do nekaj 100 MB/s

2 Magnetni disk

2.1 Zgradba in format diskaRazlikujemo med mehkimi (oppy) diski ter trdimi diski, vendar se vecinoma uporabljajo trdi diski. Informacija je obstojna, pocasnejsi je dostopni cas in hitrost prenosa, vendar je zato shranjevanje podatkov cenejse kot na obstojne pomnilnike. Trdi disk je sestavljen iz vecih plosc, ki se vrtijo s hitrostmi med 5400 in 15000 obrati na minuto. Vsaka povrsina plosce je razdeljena na na koncentricne kroznice, ki jim pravimo sledi. Stevilo sledi na povrsino je tipicno med 5000 in 20000. Vsaka sled je razdeljena na sektorje. To je najmanjsaenota, ki jo lahko beremo in pisemo. Stevilo sektorjev na sledi je tipicno med 50 in 200, najpogostejsa velikost sektorja je pa 512 B.

Stevilo sektorjev na sledi imenujemo format diska, ki ga sestavljajo seostale stvari:

- Servozapis. Iz tega dobi glava informacijo s pomocjo katere postavi glavo tocno na sredino sledi. Servozapis je deloma na sledi in delomana prostoru med sledema. Je prisoten pri vsakem sektorju, zato se lahko popravlja pozicija glave veckrat na en obrat. Velikokrat nosi tudi informacijo o stevilki sledi in stevilki sektorja. Temu recemo No-ID format. Slabost ID zapisov je, da po nepotrebnem zasedajo prostor.

- Uvod oz. adresna marka. Enolicna kombinacija bitov, ki podajo zacetek sektorja. Vrzeli so ostanki prejsnjih pisanj in njihova vsebina je nedenirana, zato brez uvoda ne bi mogli vedeti kje je zacetek

4

Page 5: ARS2 Priprava Na Ustni

sektorja.

- Podatkovni zapis je namenjen shranjevanju podatkov, velikost je ponavadi 512 B.

- Biti za detekcijo/korekcijo napak. Teh je ponavadi 64 ali 128. Pri branju se uporabljajo za detekcijo napak in morebitno popravljanje.

Formatirana velikost diska je skupno stevilo bajtov v podatkovnih zapisih, neformatirana je pa ves prostor, vkljucno z vrzelmi, servozapisi, uvodi, biti za detekcijo napak, itd. Za dostop se ne uporablja vec naslov v obliki stevilke povrsine in stevilke sektorja, temvec se uporabljajo logicni sektorji, ki so oznaceni s stevilkami od 0 naprej. Vsaka stevilka logicnega sektorja se s pomocjo tabele, ki je del elektronike na disku, enolicno preslika v stevilko sledi in stevilko sektorja na sledi (zicni naslov). To dopusca proizvajalcem da mrtve sektorje izkljucijoiz te tabele, poleg tega pa jim tudi ni treba vec navajati stevila povrsin in sektorjev na povrsino. Glave na disku lebdijo, ker so zelo blizu povrsini, vzletajo in pristajajo pa na notranjem delu, ki se ne uporablja za podatke. Vse glave se premikajo istocasno, aktivna je pa samo ena.

2.2 Dostop do podatkovDostop do podatkov na disku je tri-stopenjski proces, ki ga sestavljajo naslednji koraki:

– Iskanje. Glava se mora prva pomakniti na zeleno sled, ve da je na pravi sledi z branjem servozapisa ali ID zapisa. Povprecni iskalni casje med 3 in 10ms.

– Vrtilna zakasnitev. Ko smo na pravi sledi, moramo pocakati, da se zeleni sektor zavrti pod glavo. Vemo da smo dobili pravi sektor z branjem stevilke sektorja v servozapisu ali ID zapisu. Povprecna vrtilna zakasnitev je enaka polovici casa, ki ga disk rabi da se enkrat zavrti.

– Prenos podatkov. Cas za prenos podatkovnega zapisa sektorja. Ta cas je odvisen od premera plosc, hitrosti vrtenja in gostote zapisa. Prenosni cas je krajsi od iskalnega casa in vrtilne zakasnitve.

2.3 Krmilnik diskaMagnetni diski vsebujejo veliko elektronike, ki vkljucuje enega ali vec mikroprocesorjev. Skrbijo za dober polozaj glave nad slednjo, detekcijo in korekcijo napak. Komunicirajo s krmilnikom diska, ki

5

Page 6: ARS2 Priprava Na Ustni

je povezan z diskom prek kabla. Za krmilnike diska obstaja vec standardov, kot so npr. ATA, SATA, SCSI, itd. Za programerja je viden samo krmilnik diska, ponavadi ga pa kontrolira operacijski sistem.

3 V/I krmilnikiPri prikljucevanju V/I naprav je koristno predpostaviti, da je vsaka naprava prikljucena preko krmilnika naprave. Ponavadi je v istem ohisju oz. na isti plosci kot CPE in glavni pomnilnik. Krmilnik je lahko preprost oz. trivialen, torej le mnozica logicnih vrat ali kak register brez sposobnosti za procesiranje informacije. Pri zapletenih napravah, kot so trdi diski, je pa lahko krmilnik kot nek specializiran racunalnik. Za vsak krmilnik lahko recemo, da je gledano s strani CPE ali iz V/I procesorja videti kot doloceno stevilo registrov. Na te registre lahko gledamo kot na posebne pomnilniske lokacije. Programer doseze, da bo naprava pricela izvajati operacijo tako, da v enega od registrov krmilnike pise ustrezno vsebino. Z branjem registrov pa lahko spremlja stanje V/I naprave. Danes se vse vec dela, ki je bilo prej v krmilniku, opravlja v sami napravi, saj logika in vezja postajajo cenejsa. Vecino dela, ki ga opravlajajo krmilniki bi bilo mogoce narediti v CPE, vendar se to cim manj uporablja, saj je bolje, ce CPE uporabljamo za izvajanje programov in ga ne obremenjujemo z V/I operacijami.

4 Naslavljanje V/I napravMoramo imeti nek nacin, s katerim dosezemo, da neka V/I naprava zacne izvajati dano operacijo. Del tega je mehanizem za izbiro zelene naprave. Namesto izbira naprave recemo naslavljanje V/I naprave, ker je pa vsaka naprava prikljucena preko svojega krmilnika, bi bilo pravilneje reci naslavljanje registrov krmilnika V/I naprave. Racunalniki ponavadi uporabljajo enega ali vec od naslednjih treh nacinov naslavljanja V/I naprav:

4.1 Pomnilnisko preslikan V/IPri tem nacinu so registri v krmilnikih naprav za CPE videti popolnoma enako kot pomnilniske besede. Del pomnilniskega naslovnega prostora se rezervira za V/I naprave. Ta prostor je v primerjavi s celim pomnilniskih prostorom majhen. Racunalniki, ki to uporabljajo so VAXi, PowerPC, Motorolina serija 680xx. Problem tukaj je ali uporabljamo navidezni ali zicninaslovni prostor (odgovor je vedno zicni, ker zgresitev pri dostopu ne sme biti). Se en problem je s predpomnilnikom, kar pomeni da se te naslovi ne smejo preslikati v predpomnilnik, saj pri zadetkih naprava sploh ne bi vedela, da je naslovljena.

4.2 Ločen V/I prostorPri tem nacinu so registri krmilnikov naprav v posebnem naslovnem prostoru, ki je locen od pomnilniskega. Imamo posebne ukaze za dostop do registrov krmilnikov naprav, ki pa so ponavadi izomorfni load in store ukazom. V/I ukazi so praviloma privilegirani in jih smejo uporabljati samo sistemski programi.

6

Page 7: ARS2 Priprava Na Ustni

4.3 Posredno preko V/I procesorjevPri vecjih racunalnikih ponavadi za V/I skrbijo posebni V/I procesorji. CPE nima dostopov do registrov, vendar sporoci V/I procesorju svoje zahteve, ki poskrbijo, da se izvrsijo.

5 Prenos V/I podatkovOsnovna V/I operacije je prenos dolocene kolicine podatkov iz glavnega pomnilnika v napravo in obratno. Poznamo vec resitev za prenos podatkov med V/I napravami in CPE oz. pomnilnikom.

5.1 Programski V/IDelovanje naprave je pod neposredno kontrolo CPE. Kolicina dela, ki ga mora opraviti CPE je najvecja. CPE poslje ukza za prenos, bere register naprave in caka dokler ni pripravljen (vrti se v zanki), ko je, ga sam shrani v pomnilnik, poveca pomnilniski naslov, stevec prenesenih podatkov itd. Ta nacin je zelo potraten in pocasen za skoraj vse razen najbolj podatkovno nezahtevnih prenosov.

5.2 Programski V/I z uporabo prekinitevNamesto da CPE konstantno izprasuje V/I napravo ali je podatek pripravljen, izda ukaz za branje oz. pisanje podatka, nakar ga V/I naprava z uporabo prekinitve obvesti kdaj je pripravljena. Se vedno morajo pa vsi podatki iti preko CPE, torej je to neprimerna resitev za naprave, ki prenasajo veliko podatkov v majhnem casu.

7

Page 8: ARS2 Priprava Na Ustni

5.3 DMAKer je programski V/I neuporaben pri napravah, ki prenesejo zelo veliko podatkov v majhnem casu, je resitev za hitre prenose neposreden dostop do pomnilnika. Namesto da gredo podatki skozi CPE pod kontrolo programa, jih krmilnik naprave prenasa neposredno v glavni pomnilnik ali iz glavnegapomnilnika. Morata biti izpolnjena pogoja:

- Obstajati mora neposredna povezava med krmilnikom V/I naprave in glavnim pomnilnikom

- Krmilnik mora biti sposoben tvoriti pomnilniske naslove in kontrolne signale za komuniciranje z glavnim pomnilnikom. Mora znati steti prenesene besede in preverjati stanje V/I naprave ali je pripravljena za branje/pisanje. Ubistvu mora znati izvajati zanko, ki bi jo sicer izvajali s programskim V/I.

Ponavadi imajo DMA krmilniki register v katerega vpisemo naslov na katerem je zacetek prenosa ter nek register v katerega vpisemo dolzino prenosa.

8

Page 9: ARS2 Priprava Na Ustni

CPE mora podati DMA krmilniku zacetni naslov polja v glavnem pomnilniku, dolzino besed, vpisati kontrolne vrednosti (smer prenosa) ter poslati ukaz za zacetek izvajanja operacije. Lahko imamo en DMA krmilnik, ki je povezan z V/I krmilniki drugih naprav, lahko ima pa V/I krmilnik naprave DMA sposobnost.

5.4 V/I procesorjiPri vecjih racunalnikih, ki delujejo na multiprogramski nacin, postane tudi majhna stopnja sodelovanja CPE neekonomicna. Zato to vse pustimo V/I procesorjem. Razlike med V/I procesorji so velike: nekateri so podobni obicajnim CPE, nekateri so pa zelo prilagojeni V/I prenosom. Za vse pa velja, da so ubistvu DMA krmilniki (neposreden dostop), ki imajo vgrajeno sposobnost za izvrsevanje zaporedja ukazov, torej se jih da programirati. Delovanje V/I procesorjev poteka paralelno z delovanjem CPE. Obicajno je CPE nadrejena V/I procesorjem in lahko po potrebi ustavi ali prekine njihovo delovanje, so pa tudi racunalniki kot CDC Cyber 170, kjer je CPE podrejena V/I procesorjem.Krmilniki V/I naprav so prikljuceni na V/I vodila, preko katerih komunicirajo z V/I procesorji. V/I procesorji so z drugimi vodili povezani z glavnim pomnilnikom (oz. s krmilnikom pomnilnika). Lahko ima vsak V/I procesor svoje V/I vodilo (to se uporablja tam, kjer so V/I procesorji prilagojeni napravam) ali pa lahko vsak V/I procesor kontrolira vsak V/I krmilnik preko nekaksnega koordinatnega sistema.

9

Page 10: ARS2 Priprava Na Ustni

6 V/I procesorji

6.1 V/I procesorji pri IBM 370V/I procesorji pri IBM 370 se imenujejo kanali. Nimajo svojega pomnilnika, programi za njih so shranjeni v glavnem pomnilniku. Uporabljajo se zicni naslovi pri prenosih, skupaj s tabelo okvirov strani. Vsak kanal je prikljucen na eno V/I vodilo, na katerega je prikljucenih vec V/I krmilnikov. Na vsak V/I krmilnik je lahko prikljucenih vec naprav, vendar je potem lahko aktivna samo ena od teh naenkrat. Ima dve vrsti V/I vodil:

- Paralelno V/I vodilo. Omogoca najvisjo hitrost 4,5MB/s do razdalje122m.

- Serijsko V/I vodilo. Je lahko ESCON vodilo, ki omogoca 17MB/s do 1000m ali pa novejse FICON, ki naj bi omogocalo tudi do 350MB/s preko razdalje do 10km.

Kanalov je lahko najvec 256. Vodila so za progarmerje nevidna, torej ni razlik pri programiranju zaradi vodil. Do 370-XA je imel vsak kanal svoj naslov, znotraj njega pa so bili se naslovi nanj prikljucenih naprav. Ce je bil nek krmilnik prikljucen na vec kot en kanal, je imela vsaka nanj prikljucena naprava vec naslovov. Ce pogledamo kako to deluje pri paralelnem V/I vodilu, ima vsaka naprava svoj 8-bitni naslov, ki je znan krmilniku. Najvecje stevilo krmilnikov na kanal je 8, torej je stevilo vseh naprav na krmilniku lahko 256. Pri 370-XA je bila narejena sprememba. Vsaka naprava je bila povezana s podkanalom. Naslov naprave je enak naslovu podkanala in je vedno enak, ne glede na stevilo moznih poti do naprave. Kanali se vedno zicno obstajajo, vendar so za programerja pomembni samo podkanali. Naslovi so 16-bitni, naprav je zato lahko najvec 216. Prenosi so sestavljeni iz 3 delov:

1. Izbira. Kanal ugotavlja ali obstaja naslovljena V/I naprava in ali jepripravljena za delo.Potek:

– Preko BUS OUT podatkovnih signalov poslje kanal 8-bitni naslov naprave– Istočasno kanal aktivira kontrolni signal ADDRESS OUT, s katerim obvesti krmilnike, da je

na signalih BUS OUT naslov– krmilniki primerjajo naslove svojih naprav s poslanim naslovom– kanal nato aktivira signal SELECT OUT(na vodilu je informacija namenjena krmilnikom),

ki gre skozi vse krmilnike. Krmilnik z napravo, ki ima naslov enak poslanemu, zapre signalu pot, sicer se signal vrne v kanal kot SELECT IN, ki pomeni da naslovljena naprava ne obstaja. To pomeni da prenos ni možen in kanal o tem obvesti CPE

– krmilnik, ki prepozna naslov, aktivira signal OPERATIONAL IN– kanal odgovori, tako da deaktivira ADDRESS OUT in preneha pošiljati naslov– Krmilnik poslje preko BUS IN podatkovnih signalov naslov naprave nazaj v kanal in mu to

sporoči z aktiviranjem signala ADDRESS IN– Kanal preveri naslov, če je pravilen pošlje preko BUS OUT podatkovnih signalov ukaz in to

10

Page 11: ARS2 Priprava Na Ustni

sporoči krmilniku z aktiviranjem signala COMMAND OUT– Krmilnik preveri, če je ukaz mogoče izvršiti in pošlje preko BUS IN signalov stanje

naprave, kar sporoči s signalom STATUS IN– Če stanje omogoča prenos podatkov, kanal aktivira signal SERVICE OUT (izbira končana)

*izbira je lahko neuspešna – prenos se takoj zaključi*pri nekaterih ukazih (branje stanja naprave), je uspešna izbira že konec ukaza

2. Prenos podatkov. Pri prenosu iz V/I naprave v pomnilnik vodi prenos krmilnik naprave.Vsakič, ko ima naprava pripravljen podatek, ga krmilnik da na signale BUS IN in aktivira signal SERVICE IN, s čimer sporoči kanalu, naj prevzame podatek. Kanal potrdi sprejem s signalom SERVICE OUT. To se ponavlja, dokler niso prenešeni vsi podatki (asinhronski način, ker imamo potrditve). Hitrost prenašanja je odvisna od hitrosti, s katero naprava oddaja nove podatke.

3. Zakljucno zaporedje. Z zaključnim zaporedjem se naprava odklopi od vodila. To je obratna operacija od izbire in ugotavljanje pravilnosti prenosa.

– sproži ga lahko kanal ali krmilnik ali oba– kanal sproži zaključno zaporedje ko ugotovi, da je število prenesenih podatkov enako

zahtevanemu

11

Page 12: ARS2 Priprava Na Ustni

– po prenosu zadnjega podatka aktivira COMMAND OUT (namesto SERVICE OUT)– krmilnik da na BUS IN končno stanje naprave in aktivira STATUS IN– kanal sprejme končno stanje in aktivira SERVICE OUT in deaktivira SELECT OUT– krmilnik nato deaktivira signala OPERATIONAL IN in STATUS IN

*od tu naprej je vodilo prosto in se lahko prične naslednji ukaz

Do 1983 je IBM uporabljal tri vrste paralelnih kanalov, ki so bile prilago-jene razlicno hitrim napravam:

- Selektorski kanal je bil namenjen za prikljucevanje hitrih naprav

- Bajt-multiplekserski kanal za prikljucevanje pocasnih naprav

- Blok-multiplekserski kanal zdruzuje lastnosti selektorskega in bajt-multiplekserskegakanala.

Z uvedbo 370-XA je prislo do poenotenja paralelnih kanalov. Zdaj je vsak kanal bil sposoben delati na dva nacina: eksplozijski nacin in bajt-multiplekserski nacin.

6.1.1 Programiranje kanalovKanali nimajo svojega pomnilnika in imajo ukaze shranjene v glavnem pomnilniku. Kanali niso za programerja vidni, vidi samo podkanale, vsakemu pripada ena naprava. Vsak podkanal ima svoj 16-bitni naslov. Podkanal dobi naslov prvega ukaza takrat, ko CPE izvrsi ukaz START SUBCHANNEL. To pove podkanalu, da vzame iz pomnilnika prvi kanalski ukaz in zacne izvajati svoj program. Obstajata dva formata ukazov: prvi je starejši, vendar se še vedno uporabljata oba:

12

Page 13: ARS2 Priprava Na Ustni

V vsakem CCW doloca operacijska koda enega od sestih osnovnih ukazov:

1. Read. Ta ukaz zahteva branje podanega stevila bajtov iz V/I naprave ter prenos v glavni pomnilnik.

2. Write. Ta ukaz prenese podano stevilo bajtov iz glavnega pomnilnika v V/I napravo.

3. Read backward. Branje v obratno smer, recimo pri magnetnih trakovih. Tudi v glavni pomnilnik gre v padajoco smer.

4. Sense. Ta ukaz prebere stanje V/I naprave in ga prenese v gl. pomnilnik.

5. Control. Poslje v krmilnik V/I naprave ukaz za krmilnik.

6. Transfer in channel. Tukaj gre ubistvu za skos na naslov, ki je podan v parametru naslov polja.

Operacijska koda je dolga 8 bitov, kar je prevec za 6 ukazov, to pa zato ker je operacijska koda namenjena lahko tudi V/I krmilniku. Vsak CCW ima tudi zastavice z naslednjimi pomeni:

1. CD (Chain Data). Kadar je enak 1, to za podkanal pomeni, da naj pre- vzame naslednji CCW. Isti ukaz se mora nadaljevati z novimi podatki. Operacijska koda naslednjega CCW se ignorira.2. CC (Chain Command). Kadar je enak 1, to za podkanal pomeni, da naj prevzame naslednji CCW z novo operacijsko kodo.3. SLI (Suppress inocrrect Length Indication). Ce se prenos konca preden se je preneslo toliko bajtov, kot jih vsebuje parameter dolzine polja, je to napaka. S SLI to ignoriramo.4. SKIP Podatke beremo iz V/I naprave, vendar jih ne zapisemo v glavni pomnilnik.5. PCI (Program Controlled Interrupt) Kadar podkanal prevzame CCW, v katerem je bit PCI enak 1, poslje v CPE zahtevo za prekinitev.6. IDA (Indirect Data Addressing) Kadar je ta bit aktiven, naslov ne po- mani zicnega naslova polja v pomnilniku, temvec zicni naslov zacetka seznama zicnih naslovov strani, ki sestavljajo polje.7. S (Suspend) S pomocjo tega lahko zacasno ustavimo delovanje kanala in ga kasneje nadaljujemo.

6.1.2 Aktiviranje kanalskega programaZa sprozenje V/I programov poznamo vec V/I ukazov. Vsi V/I ukazi so privilegirani in jih lahko uporabljamo samo, ce delujemo v privilegiranem nacinu. Najbolj pomemben je START SUBCHANNEL. Blok ORB je operand ukaza START SUBCHANNEL in se prenese v podkanal ob njegovem aktiviranju. Vsebuje parametre, ki jih bo uporabil podkanal. Tam notri so zascitni kljuc,interruption parameter ter zicni naslov prvega CCW. Je tudi bit F, ki doloca format CCW-jev v kanalskem programu.

Pri 370-XA so bili V/I ukazi spremenjeni in se ne nanašajo več na kanale, temveč na podkanale.

13

Page 14: ARS2 Priprava Na Ustni

Ker podkanal enolično določa V/I napravo, naslova V/I naprave ni potrebno podati.

• številka podkanala na katerega se nanaša ukaz je vedno v splošno namenskem registru R1 • vsota baznega registra B2 in odmika D2 tvori navidezni naslov ki kaže na ORB blok v

glavnem pomnilniku

Izvajanje ukaza START SUBCHANNEL:

• CPE preko posebnih signalov ki povezujejo kanalski sistem s CPE, sporoči kanalskemu sistemu številko podkanala, ki naj prične z izvrševanjem kanalskih ukazov

• iz pomnilnika se prebere ORB blok (navidezni naslov bloka je v ukazu) in se prenese v podkanal

• ORB blok je iz treh 32 bitnih besed, ena izmed njih je fizični naslov prvega CCW iz katerega potem podkanal vzame prvi CCW

• gledano iz CPE je ukaz START SUBCHANNEL končan, ko je opravljen prenos vsebine bloka v podkanal

Prenos ORB v podkanal ni vedno uspešen, odvisen je od stanja v katerem je bil podkanal ob izvrševanju ukaza START SUBCHANNEL

Kaj se je zgodilo lahko programer vidi iz pogojnih bitov v PSW(program status word) registru (bita 18 in 19), ki se postavita ob koncu ukaza START SUBCHANNEL Programer mora preveriti kaj se je zgodilo:

• 0: prenos ORB je bil uspešen - podkanal začel izvajati kanalski program • 1: podkanal ima čakajoč opis stanja, ki ga je treba prevzeti z ukazom TEST

SUBCHANNEL. Ta ukaz omogoča dostop do podkanalske statusne besede SCSW, ki jo sestavljajo tri 32 bitne besede, v katerih je podroben opis stanja podkanala

• 2: podkanal je zaseden • 3: podkanal ne deluje (ga ni, je izključen, vse poti do njega so zasedene)

14

Page 15: ARS2 Priprava Na Ustni

Osnovni mehanizem s katerim lahko programer spremlja dogajanje v podkanalu so V/I prekinitve:

• podkanal vedno zahteva prekinitev po zaključku zadnjega kanalskega ukaza • programer lahko s postavitvijo zastavice PCI doseže, da podkanal zahteva prekinitev pred

pričetkom izvrševanja CCW, v katerem je PCI=1 • podkanal vedno zahteva prekinitve ob napakah; takrat se izvrševanje podkanalskega

programa ustavi

Vzroki za prekinitev ostanejo shranjeni v podkanalu. Ko se CPE odzove, se v pomnilnik na naslove 184-191 shrani informacija o izvoru prekinitve, tudi številka podkanala. Z ukazom TEST SUBCHANNEL lahko programer prenese opis stanja iz podkanala v glavni pomnilnik v obliki podkanalske statusne besede SCSW. Ta ukaz istočasno tudi sprosti kanal, tako da zbriše zahtevo po prevzemu čakajočega opisa stanja.

15

Page 16: ARS2 Priprava Na Ustni

6.2 V/I procesorji pri CDC Cyber 170CDC Cyber 170 ima bistveno drugacno V/I lozojo kot pa IBM. Vsak racunalnik ima od 10 do 20 V/I procesorjev, ki jim pravijo PPU (PeripheralProcessing Units). Vsak PPU je v bistvu majhen samostojen racunalnik z dolzino besede 12 bitov, 4096 besed velikim gl. pomnilnikom in prikljuckom na koordinatni sistem V/I vodil. Ima 64 ukazov, med katerimi so tudi aritmeticni in logicni. PPU-ji delujejo sinhronsko s CPE. V eni urini periodi CPE deluje natanko en PPU, medtem ko ostali stojijo. V naslednji deluje naslednji PPU in tako naprej. PPU je zato 10 krat pocasnejsi od CPE. Zanimivo je, da V/I naprave ne morejo prekinjati PPU-jev. Ti morajo zato pred prenosi izvesti program, ki bere stanje naprave in ugotovi, ali je naprava pripravljena. PPU-ji so nadrejeni CPE. Izvajanje V/I operacij je realizirano programsko in ne strojno. Ce hoce nek program izvajati V/I operacijo, pusti ukaz v tocno doloceni pomnilniski lokaciji, katero periodicno preverjajo PPU-ji.

16

Page 17: ARS2 Priprava Na Ustni

7 Prenosne potiVodilo je ubistvu skupek zic, ki ima odcepe. Pri enostavnih racunalnikih imamo na eno vodilo na katerega so prikljuceni CPE, glavni pomnilnik, ter V/I krmilniki. Problem tukaj je, da CPE in glavni pomnilnik ne moreta komunicirati medtem ko komunicirajo V/I krmilniki in glavni pomnilnik. Zato velikokrat povezemo CPE in krmilnik pomnilnika tocka-v-tocko, isto glavni pomnilnik in krmilnik pomnilnika, potem pa z V/I vodilom povezemo krmilnik pomnilnika ter krmilnike V/I naprav. Naloge krmilnika pomnilnika je, da usklajuje zahteve po dostopih do pomnilnika, ki prihajajo iz CPE in V/I. Da se to dvoje lahko odvija istocasno uporabimo pomnilnisko preple-tanje. Poleg tega v primeru istocasnih zahtev do enega module krmilnik pomnilnika poskrbi, da ena naprava pocaka.

7.1 Osnovne vrste prenosovSignale lahko razdelimo v naslednje stiri signale:

1. Podatkovni signali. Po njih se prenasajo podatki, njihovo stevilo je zato enako najvecjemu stevilu bitov, ki se prenasajo naenkrat (sirina prenosne poti).

2. Naslovni signali. Dolocajo pomnilniski naslov ali pa naslov V/I naprave

3. Kontrolni signali. Dolocajo smer prenosa, stevilo prenesenih bitov ter casovno zaporedje dogodkov med prenosom. Recemo jim tudi prenosni atributi.

4. Urin signal. Lahko imamo locene poti za vsako od teh vrst signalov, lahko pa po istihpoteh multipleksiramo signale, torej da po eni poti recimo prvo prenasamo naslovne, potem pa podatkovne signale. Od Pentium Pro naprej uporabljajo iste linije za naslovne in vecino kontrolnih signalov. Prenos vedno zahteva in vodi ena enota, ki ji pravimo gospodar. Gospodar generira naslovne in kontrolne signale, pri pisanju pa tudi podatkovne. Vsi ostali na prenosni poti so suznji. Nekatere enote, recimo gl. Pomnilnik, so vedno suznji, druge pa so lahko oboje (recimo DMA krmilnik).

1. Gospodar postavi naslovne signale v stanje, ki ustraza naslovu.

2. Gospodar s kontrolnimi signali poda smer prenosa ter stevilo bitov, ki naj se prenesejo.

3. Pri vsakem prenosu je treba nekako povedati kdaj se zacne in kdaj se zakljuci. To se naredi z aktivacijo oz. deaktivacijo enega od kontrolnih signalov. Vse enote opazujejo signal za zacetek prenosa in ob aktivaciji primerjajo svoj naslov z naslovom ki je na naslovnih signalih. Enota, ki je naslovljena naredi prenos. Glede na nacin dolocanja zacetka in konca razlikujemo sinhronski prenos in asinhronski prenos

Pri sinhronskem prenosu je cas prenosa vedno enak. Slabost tega je, da morajo enote vedno delovati s hitrostjo najpocasnejse enote, saj mora cas prenosa biti toliko pocasen, da najpocasnejsi enoti ustreza. Pri asinhronskem prenosu se pa prenos konca, ko izda naprava potrditveni signal. Pri sinhronskem in asinhronskem nacinu je prenos pravilen le, ce je zadosceno casovnim parametromenot, ki so udelezene pri prenosu. Med njimi so najpomembnejsi naslednji trije:

17

Page 18: ARS2 Priprava Na Ustni

1. Vzpostavitveni cas. Enota, ki sprejema informacijo, mora imeti pred zakljuckom prenosa na svojih podatkovnih signalih prisoten stabilen podatek nek minimalen cas, ki mu recemo vzpostavitveni cas. Podan je v specikaciji vsake enote.

2. Cas dostopa. Pri branje je deniran kot cas, ki pretece od trenutka vzpostavitve naslovnih in kontrolnih signalov do trenutka, ko naslovljena enota da podatek na podatkovne signale. Pri pisanju je cas, ki pretece od trenutka vzpostavitve naslovnih, podatkovnih in kontrolnih do trenutka, ko so ti zapisani v enoto.

3. Drzalni cas. Pri nekaterih napravah moraj biti podatki prisotni se nek cas po zakljucku prenosa.Da je dobra izkoriscenost (da CPE ne caka na podatke brez dela), morajo biti prenosne poti hitre. Vidimo da lahko zadosca

tzak + tdostop + tvzpostavitveni ≤ 2T

Vendar moramo upostevati da je zakasnitev priblizno 1,4ns pri dolzini prenosne poti 20cm. Ker morajo pri branju signali najprej pripotovati do naslovljene enote in nazaj, je pogoj za pravilen prenost dolocen z

2τ + tzak + tdostop + tvzpostavitveni ≤ 2T

Torej celo pri neskoncno hitrih vezjih casa prenosa ne moremo zmanjsati pod 2τ .

7.1.1 Sinhronski in asinhronski prenosi

Pri sinhronskih prenosih je cas prenosa vedno enak celemu stevilu urinih period, torej nekemu casu T. Ce imamo na vodilu vec naprav, mora ta prenosni cas ustrezati najpocasnejsi napravi. Pri asinhronskih prenosih pa cas prenosa ni v naprej dolocen. Zacetek je enak kot pri sinhronskem, zakljucek pa drugacen. Prenos se zakljuci ob koncu urine periode, v kateri naprava aktivira potrditveni signal. Razlika med sinhronskim in asinhronskim je manjsa kot se zdi, saj ce naprava takoj generira potrditveni signal, potem to deluje tako kot da bi bil sinhronski nacin. Vecina vezij ima se nek casovnik, ki javi napako, ce predolgo casa ne dobi potrditvenega signala.

Razlike med sinhronskim in asinhronskim prenosom:Oba prenosa se začneta z aktiviranjem naslovnih in kontrolnih signalov.

Sinhronski:

• gospodar po preteku določenega časa umakne nasl. in kontr. signale, zato ima naslovljena enota omejen čas za prenos

• čas prenosa je vedno enak (=celemu št. urinih period gospodarja) • če imamo na vodilo priklopljenih več enot, se mora hitrost prilagoditi najpočasnejši (slabost)• uporablja se pogosteje

18

Page 19: ARS2 Priprava Na Ustni

Asinhronski:

• gospodar umakne nasl. in kontr. signale šele ob prvi negativni fronti po sprejemu potdritvenega signala

• čas ni vnaprej določen • hitre enote aktivirajo potrditveni signal hitreje, s tem je odpravljena slabost sinhronskega

prenosa • potrebno je časovno vezje, ki zaključi predolge cikle, ki se zgodijo, če ne dobimo

potrditvenega signala (npr. če naslovljena naprava ne obstaja, se tudi nobena ne odzove) • zaradi potrditvenega signala je bolj zapleten od sinhronskega • zakasnitve zaradi končne hitrosti po vodilu

19

Page 20: ARS2 Priprava Na Ustni

7.1.2 Eksplozijski in protokolski prenosiPri eksplozijskem prenosu samo enkrat posljemo zahtevo za prenos in naslovne signale ter prenosne atribute, potem se pa eden za drugim poslje vec podatkov (tipicno 4, 8, ali 16) ki so na sosednjih naslovih.

tdostop + tvzpostavitveni ≤ T

Izhodišče za eksplozijski prenos je spoznanje, da laho vpliv časa za potovanje signala bistveno zmanjšamo, če se namesto enega podatka pošlje več podatkov eden za drugim.

• Naslov torej ne določa več enega podatka, temveč prvega v zaporedju podatkov na sosednjih naslovih.

• Pri prvem podatku imamo začetno zakasnitev (latenca), od tu naprej lahko naslovljena enota pošilja ali sprejema podatke enega za drugim.

• Podatki sicer ne potujejo nič hitreje, vendar pa se lahko pošlje naslednjega, še preden je prejšnji prispel na cilj.

• Uporaben je samo takrat, kadar potrebujemo zaporedja besed na sosednjih naslovih (npr. v pri zamenjavah predpomnilniških blokov, ki predstavlja 90% prenosov med CPE in pomnilnikom).

• Praviloma so sinhronski.

Prenos, ki omogoča prenesti 128 bitov v enem ciklu. V resnici gre za 4 32- bitne prenose znotraj istega cikla. Ta vrsta prenosa zahteva ustrezno zgradbo pomnilnika, ki mora biti sam sposoben povečati bita A2-A3 (80486 to naredi sam). Prenos tako traja namesto 8, 5 BCKL period.

Naslednji korak so protokolski prenosi, pri katerih odpravimo presledke med posameznimi eksplozijskimi prenosi tako, da locimo posiljanje naslova in kontrolnih signalov od posiljanja podatkov. Naslovu in kontrolnim podatkom recemo ukaz. Te naslove posljemo enega za drugim, naprava jih sproti shranjuje in potem generira zaporedno podatke za njih takoj ko lahko.

Če si sledi več eksplozijskih prenosov eden za drugim, je med njimi vedno presledek, ki je posledica za 1 T daljšega prenosa 1. podatka od prenosov 2., 3. in 4. podatka. Če ločimo pošiljanje ukaza (naslovni, kontrolni signali) od podatkov lahko zmanjšamo čas, potreben za prenos, in s tem povečamo hitrost prenosa. Čeprav ni latenca nič krajša, je prednost protokolskega prenosa v tem, da si (eksplozijski) prenosi sledijo brez presledkov.

20

Page 21: ARS2 Priprava Na Ustni

21

Page 22: ARS2 Priprava Na Ustni

7.1.3 Izvorni sinhronski prenosiUrin zamik V računalnikih je vir ure en sam(TCPE) in ga je potrebno iz centralnega mesta pripeljati do vseh enot. Ker je razdalja do posameznih enot različna, in ker mora signal potovati skozi različne komponente, je nemogoče doseči istočasnost urinih front. Največjo razliko med trenutkom najhitrejše in najpočasnejše fronte imenujemo urin zamik (clock skew). Tako v najslabšem primeru velja:

tdostop + tvspostavitveni ≤ TCPE – tzamik

Če krajšamo urino periodo CPE postaja urin zamik vedno bolj opazen. Če bi urino periodo preveč skrajšali, bi prišlo do nepravilnega delovanja.

Problem urinih zamikov rešimo z izvorno sihronskim prenosom.

• Enota, ki pošilja podatke mora poleg podatkov poslati tudi sinhronizacijski signal (strobe), ki ima fronto v času trajanja veljavnosti podatkov.

• Ker potujejo podatki in sinhronizacijski signal po približno isti poti, se zamaknejo bistveno manj kot znaša urin zamik centralne ure in prispejo na cilj skupaj.

• v podatke sprejemajoči napravi se podatki shranijo ob fronsti sinh. Signala• uporabljamo ga lahko pri vseh prenosih, vendar je najbolj učinkovit pri eksplozijskih

prenosih• večja hitrost izvira iz dejstva, da je relativni časovni zamik med trajanjem potovanja

podatkovin trajanjem potovanja potovanja sinh. Signala bistveno manjši kot urin zamik, tako velja enačba:tdostop + tvspostavitveni ≤ TS – t∆ kjer je t∆ relativni zamik med časom potovanja podatkov in sinhronizacijskega signala, TS

pa ura sinhronizacijskega signala (v splošnem TCPE/n)• ker je ta način prenosa bolj zapleten, morajo biti v naprave vgrajena sposobnost oddajanja

sinhronizacijskega signala• V CPE mora biti pravtako vgrajena logika za sinhronizacijo s centralno uro.

22

Page 23: ARS2 Priprava Na Ustni

Quad pump

• protokolski eksplozijski prenos • izvorno sinhronski prenos • 2 sinhronizacijska signala s periodo Ts = T/2 • v 1 periodi centralne ure se pošljejo 4 podatki. • uporablja se v Intelovih procesorjih 80x86 od leta 2000 naprej (Pentium 4, Core).

Double pump

• za ukaze (naslovni signali in atributi) • A3-A35 - prvi prenos: naslov • A3-A35 - drugi prenos: atribut • v 1 periodi centralne ure se pošlje 1 ukaz (dovolj hitro) • uporabljal se je v Intelovih procesorjih P4 in C2 do jeseni 2008 • hitrost se je od leta 2000 do 2008 povečala 10-krat

23

Page 24: ARS2 Priprava Na Ustni

8 Osnovne lastnosti digitalnih vezijStandardna digitalna vezja, ki se uporabljajo za realizacijo lepila so narejena v bipolarni ali v komplementarni MOS (CMOS) tehnologiji.

8.1 Bipolarna tehnologijaV bipolarni tehnologiji so zgrajena TTL in ECL vezja. ECL vezja so najhitrejsa, vendar se pri mikroprocesorskih sistemih redko uporabljajo. Med TTL vezji so najbolj znana tista z oznako 74/75, ki so se pojavila pri firmi Texas Instruments. Danes jih proizvajajo skoraj vse mikroelektronske firme. 74 so za standardno temperaturno obmocje, 54 pa za vojasko. Poleg tega so 74 razdeljena v 6 druzin: 74, 74S, 74LS, 74AS, 74ALS in 74F. Razlika med njimi je v moci, ki jo rabijo za delovanje, in v hitrosti. Vse nastete TTL druzine uporabljajo iste napetostne nivoje in jih zato lahko pri uporabi mesamo. Napajalna napetost je +5V. Pri inputu je 0 do 0,8V, 1 pa nad 2,0 volta. Pri outputu je 0 do 0,4V, 1pa nad 2,4V.

Output Low = OL

Output High = OH

Input Low = IL

Input High = IH

24

Page 25: ARS2 Priprava Na Ustni

8.2 CMOS tehnologijaRazvoj CMOS vezij je zaradi zapletene tehnologije potekal nekoliko pocasnejse od TTL vezij. Tudi pri CMOS je najbolj znana 74 druzina. CMOS in TTL vezja brez dodatnih komponent niso zdruzljiva. Imamo pa posebne CMOS in TTL 74-ke, ki se jih da mesati med sabo. CMOS porabi manj moci v mirovanju kot TTL, ima pa zato TTL vecjo izhodno moc.Napajalna napetost je od +2V do +6V.Pri inputu je 0 do 1,5V, 1 pa nad 3,5 volta. Pri outputu je 0 do 0,33V, 1pa nad 4,5V.

8.3 Zakaj čim manjše napetostiPoraba energije narasca s kvadratom napajalne napetosti.

P =(CU2/2)*f

8.4 Slabosti TTLPri TTL je siroko prepovedano obmocje U = 2,4V – 0,4V = 2V , kar pripelje do motenj v sosednjih vezjih. Danes se za velike hitrosti uporabljajo druge tehnologije. Najbolj zanani sta GTL in GTL+ (Ganning Transistor Logic). Intel uporablja GTL+, kjer je pri vhodu 0 do 0,9V in 1 nad 1,1V, pri izhodu pa 0 do 0,65V in 1 nad 1,5V.

8.5 Odpornost proti sumuV vsakem digitalnem sistemu so prisotni nezazeleni motilni signali. Ker je sum vedno prisoten, morajo biti digitalna vezja narejena tako, da delujejo pravilno kljub sumu. Ce gledamo razliko med 0 pri izhodu in 0 pri vhodu pri TTL vezjih, vidimo da je to najmanj 0,4V. V visokem je pa najmanj 1V. Ce sum postane vecji od tega, vezje ne deluje vec pravilno.

8.6 Vhodna obremenitev digitalnih vezijCe primerjamo najvecje izhodne tokove IOHmax in IOLmax lahko izracunamo, koliko TTL vhodov neke druzine lahko prikljucimo na izhod TTL ali CMOS vezja. Primerjava kaze, da znotraj vsake TTL druzine lahko prikljucimo na en izhod najmanj 10 vhodov. Recemo da je fanout enak 10. Dokler nemesamo druzin vezij nam teh lastnosti ni treba poznati { dovolj je da vemo, da je fanout 10. Breme, ki je v nizkem stanju izvor -1,6mA toka, v visokem stanju pa ponor 40A, se oznacuje z izrazom standardno TTL breme. Breme, ki je v nizkem stanju izvor -0,4mA toka, v visokem stanju pa ponor 20A, se oznacuje z izrazom standardno LS TTL breme.

8.7 Izhodi vrste tri-state in open collectorIzhodi vecine TTL in CMOS vezij so narejeni z dvema tranzistorjema. Pri gradnji digitalnih sistemov se pojavijo primeri, ko zelimo, da se izhod odklopi od linije na katero je prikljucen. To je pogosto pri vodilih, kjer se preko istih linij prenasa podatke od vecih naprav. Tu ne gre za trojisko logiko. Tretje stanje je preprosto odklop izhoda od linije na katero je povezan. Temu recemo visoka impedanca oz. Hi-Z.

25

Page 26: ARS2 Priprava Na Ustni

8.8 GTL− tehnologija s katero so zgrajeni mikroprocesorji− gtl = gunning transceiver logic− prepovedano območje je 0.1V− napajalna napetost je 0.4-1.2V (mnogo nižja kot TTL in CMOS) – kar pomeni da je napetostnaprebojna trdnost boljša (žičke so lahko bolj skupaj)9 Boolova algebra

Pri nacrtovanju digitalnih sistemov obicajno delamo tako, da zanemarimo elektronsko naravo logicnih vezij iz katerih jih gradimo in jih jemljemo kot idealna. To na omogoca, da pri delu uporabimo Boolovo algebro.

9 Logična vezja

9.1 Kombinatorična vezjaKombinatoricna vezja so taka vezja, pri katerih je stanje izhoda odvisno samo od trenutnega stanja vhodov. To pomeni, da izhod ni odvisen od preteklih stanj vhodov. Kombinatoricna vezja nimajo spomina.

9.1.1 Multiplekserji in demultiplekserjiMultiplekser je kombinatoricno vezje, ki izmed vec vhodov izbere enega in ga poveze na skupni izhod. Multiplekser z 2k vhodi potrebuje k kontrolnih vhodov, ki jim pravimo vhodi za izbiranje.Demultiplekser dela ravno obratno.

9.1.2 Dekodirniki in kodirnikiBinarni dekodirnik je vezje, ki ima n vhodov in 2n izhodov. V vsakem tranutku je aktiven natanko eden od izhodov. Kodirniki delajo ravno obratno.

9.2 Sekvencna vezjaS kombinatoricnimi vezji lahko realiziramo veliko, vendar ni dovolj za realizacijo mikroprocesorskih sistemov. Za to rabimo vezja, ki imajo neko notranje stanje oz. vezja, ki niso odvisna samo od trenutnih vhodov, ampak tudi od prejsnjih vhodov. S kombinatoricnimi vezji to lahko kdaj dosezemo tako, da izhode napeljemo nazaj na vhode.

9.2.1 Asinhronska sekvencna vezjaVezja, ki si pomnijo neko stanje in niso odvisna od ure. Najbolj enostaven je SR ip-op, ki ga lahko nastavimo na 1 ali na 0, sprememba izhoda se pa zgodi asinhronsko. Asinhronska vezja znajo biti nestabilna, ker propagirajo zakasnitev in ne vemo tocno kdaj se bo stanje zamenjalo.

9.2.2 Sinhronska sekvencna vezjaPri sinhronskih vezjih se stanje spreminja samo ob tocno dolocenih trenutkih. To dosezemo z uporabo urinega signala. Vse sprememeb se zgodijo ali ob pozitivni ali pa ob negativni fronti. Najbolj se uporabljata JK ip-op in D ip-op.

26

Page 27: ARS2 Priprava Na Ustni

Register pomeni vec ip-opov skupaj, Lahko hrani vec bitov informacije.Stevci so registri, ki ob urinih impulzih povecujejo ali zmanjsujejo svojo vsebino.

10 Podajanje mikroprocesorjev

Uporaba se reducira na uporabo signalov procesorja. Mi moramo samo realizirati poti. Signali so multipleksirani (na enem vodilu dva signala, gre za časovno multipleksiranje), nekateri so tudi nemultipleksirani.

POMEN SIGNALOV:– kakšno informacijo nosi– kako vpliva na delovanjem

običajno to opisujemo z besedami

SMER SIGNALOV:– vhod– izhod– dvosmeren (ne oboje hkrati – half-duplex)

določa dodaten signal kaj se uporablja(branje/pisanje)

STANJE SIGNALOV:– 0...nizek napetostni nivo (pozitivna logika)– 1...visok napetostni nivo– Hi-Z...visoko impedančno stanje

OZNAČEVANJE SIGNALOV:

27

Kontrolna enota

Podatkovniregistri

Naslovniregistri

ALE

D A

Kontrolni signali

Page 28: ARS2 Priprava Na Ustni

– Podatkovni signali: * D0,D1,...,D31 (pozitivna logika) * D0\,D1\,...,D31\ (negativna logika)

– Naslovni signali: A0,A1,...A31– Kontrolni signali:

* RESET ... vezje se bo ob visokem stanju resetiralo* IRQ\ ... aktiven ob nizkem stanju*R/W ... če je visoko stanje se bere, če je nizko se piše

10.1 Prekinitveni signali

10.1.1 Prekinitve pri 8048680486 ima dva vhoda INT in NMI preko katerih dobiva zahteve za prekinitev. Poleg tega pozna tudi notranje prekinitve oz. pasti. Zunanje enote dajejo prekinitvene zahteve na vhod INT. Vhod NMI je rezerviran za posebne namene. Prekinitev na INT se uposteva samo, ce je bit IF (INT enable Flag) v registru EFLAGS enak 1.

1. V skad se shrani trenutno stanje programskega stevca EIP, segmentnega registra CS in registra EFLAGS.

2. 80486 izvede prekinitveno prevzemni cikel, v katerem dobi od prekinjajoce naprave stevilko vektorja. Prekinitveno prevzemni cikel sestavljata dva zaporedna cikla med katerima so 4 cakalne periode. V prekinitveno prevzemnem ciklu so vsi trije signali M/IO, D/C in W/R v nizkem stanju. To pove enotam, da gre za prekinitveno prevzemni cikel. Signal A2 je v prvem ciklu enak 1, v drugem pa 0. V prvem ciklu se ne prenasajo podatki, sluzi le kot obvestilo za prekinitveni krmilnik. V drugem ciklu da prekinjajoca naprava na D0-D7 stevilko prekinitvenega vektorja.

Ko se zgodi NMI namesto INT je postopek podoben, vendar se stanje bita IF v registru EFLAGS ne uposteva in prekinitveno prevzemni cikel se ne izvede. Namesto tega 80468 vedno uporabi stevilko vektorja 2.

10.1.2 Motorola 68400 prekinitve68040 ima tri vhode IPL0 - IPL2 preko katerih dobiva zahteve za prekinitev. Poleg tega pozna tudi pasti. S pravilno binarno kombinacijo IPL0 – IPL2 tvorimo prekinitev z doloceno prioriteto. Ce je nivo prioritete prekinitve visji od bitov I0 - I2 v SR registru, se zacne servisiranje se preden pride vizvajalni segment cevovoda (segment 5) nov ukaz. Ukazi v prejsnjih stirih segmentih se ne izvrsijo. Zaporedje korakov pri servisiranju je naslednje:

1. Aktivira se signal IPEND. To se zgodi takoj, ko 68040 ugotovi dovolj visok nivo zahteve. S tem sporoci zunanjim enotam, da bo zacel servisirati prekinitev.

2. Trenutno stanje SR se shrani v zacasni register. Bit S v SR se postavi na 1 (gre na nadzorni nacin), biti I0 - I2 pa na vrednost, ki je enaka nivoju servisirane prekinitve.

3. Izvede prekinitveno prevzemni cikel, v katerem dobi od prekinjajoce naprave stevilko vektorja. Signala TT0-TT1 sta v visokem stanju, kar pove da je v teku prekinitveno prevzemni cikel. Na signale TM0 – TM2 gre I0 - I2, torej nivo prekinitvene zahteve. Vse prekinjajoce naprave primerjajo signale TM0-TM2 z lastnim prekinitvenim nivojem. Tista, ki ugotovi enakost, da na signale D0-D7 stevilko vektorja.

28

Page 29: ARS2 Priprava Na Ustni

4. Ko dobi stevilko vektorja, shrani stack frame v sklad.

5. Iz stevilke vektorja se tvori 32-bitni vektor tako, da se s 4 pomnozena stevlika vektorja pristeje k vsebini registra VBR. 68040 prebere v PC 32-bitno vrednost z naslova na katerega kaze vektor.

6. Z ukazom RTE se vrne iz prekinitve, vrne informacije stanja iz sklada.

10.2 Prenosi pri 80486

Nepodaljsani dostop (bralni ali pisalni) traja dve urini periodi. Pogoj je, da se potrditveni signal RDY aktivira najmanj 8ns pred tretjo pozitivno fronto CLK (oz. pred koncem druge urine periode). Sicer zacne 80486 vstavljati cakalne urine periode. Vsak dostopni cikel se pricne z aktiviranjem signalov A2-A31 in prenosnih atributov, ki postanejo stabilni najvec 22ns po prvi pozitivni fronti CLK. Z izrazom prenosni atributi oznacujemo signale ADS, W/R, BE0-BE3, M/IO, D/C, LOCK, PWT in PCD. Znak za zacetek novega prenosa je aktiviranje signala ADS najvec 22ns po prvi pozitivni fronti.

10.2.1 Bralni cikelPri bralnem ciklu mora naslovljeni element aktivirati signal RDY in dati zahtevano informacijo na signale D0-D31 najmanj 5ns pred tretjo pozitivno fronto CLK. Ce aktivira naslovljena enota BS8 ali BS16 lahko dosezemo, da se prenasa najvec 16 ali 8 bitov.

10.2.2 Pisalni cikelPodobno kot bralni cikel, le da mora 80486 najkasneje 22ns po drugi pozitivni fronti CLK postaviti informacijo na podatkovne signale D0-D31.

10.2.3 Eksplozijski cikelPri eksplozijskem ciklu lahko prenesemo 128 bitov v enem ciklu. V resnici gre za 4 32-bitne prenose znotraj istega cikla. Da gre za eksplozijski prenos ugotovi pomnilnik iz stanja signala BLAST v drugi periodi cikla. Ce je neaktiven, je to znak da 80486 namerava izvesti eksplozijski prenos. Pri eksplozijskem prenosu se spreminjajo samo signali BE0 - BE3, A2 in A3. A4-A31, M/IO, D/C in W/R ostanejo taki kot so. Ce BRDY ni aktiven ob vsaki pozitivni fronti CLK, pricne 80486 vstavljati cakalne periode.

10.3 Pentium Pro - protokolski eksplozijski prenosNaslovi in atributi predstavljajo ukaz za prenos. Ukaz je lahko: arbitraza, request, napaka, vohunjenje, odziv, podatki. Najprej se poslje naslov in potem atributi, skupaj je to ukaz.

10.4 Quad PumpS tehnologijo Quad Pump, ki je izvorno sinhronski protokolski eksplozijski prenos, so dosegli, da se v eni urini periodi naredijo 4 prenosi podatkov. Za resitev elektricnih problemov (odboji, presluh) so za uro vpeljali simetricen prenos z diferencialnimi sprejemniki, ki gledajo razlike med periodami. Pri eksplozijskem prenosu, ki traja 4 urine periode, se prenese 16 podatkov, torej128B: 4 4 8 = 128B

29

Page 30: ARS2 Priprava Na Ustni

11 Bralni pomnilnik (ROM)• Glavna prednost bralnih pomnilnikov je to, da so obstojni (njihovi podatki se obdrzijo tudi

po tem, ko jim izklopimo vir napajanja).• V vecjih sistemih kot je npr. PC so tam shranjeni zagonski programi, ki poskrbijo da se v

bralno-pisalni pomnilnik prenese operacijski sistem.• V ROM se shranjujejo ukazi, tabele in podobni kompleksni vzorci bitov.• ROM cipi se proizvajajo predvsem v organizaciji x 8.• Mask ROM so po narocilu narejeni cipi, ki jim vsebino vgradijo v tovarni. Tam pretvorijo

uporabnikovo specikacijo vrednosti bitov v maske, s katerimi naredijo cip. (tipično nad 100000 kosov)

• Pri pomnilniski celici pomeni prisotnost tranzistorja 1, odsotnost pa 0, ali pa obratno. • Tipicne velikosti: 32K x 8, 64K x 8, 128K x 8, 256K x 8, 512K x 8 in 1M x 8. • Dostopni casi se gibljejo od 100 do 300ns.

Kako je shranjena informacija pri posameznih vrstah pomnilnika?

• ROM - vsebina je nespremenljiva, čipi v organizaciji x8 ali x16 (x1 je neroden - za 8-bitne besede moraš sestaviti 8 čipov), vsebina je obstojna.

• RAM - vsebina je spremenljiva, vendar neobstojna, ob izklopu energije izgubimo vsebino.12.1 PROM

• PROM pomeni programmable ROM.• Z njimi oznacujemo ROMe, ki imajo varovalko. • Nov PROM ima vse bite postavljene v stanje 1, potem pa uporabnik s programatorjem

prezge varovalke dolocenih celic in tako naredi, da ima cip zeleno vsebino.

11.2 EPROM

• EPROM pomeni erasable programmable ROM.• Kot pomnilniska celica sluzi MOSFET tranzistor s plavajocimi vrati, ki jih je mogoce

elektricno nabiti s prebojem izolacijske plasti vrat. S tem se v plavajocih vratih shrani majhen elektricni naboj (okrog 106 elektronov), ki se zaradi kvalitetnega dielektrika ohrani zelo dolgo. Ko ga enkrat sprogramiramo s tem, da ga izpostavimo visokim voltazam, ga lahko zbrisemo le z uporabo UV svetlobe.

• Pri EPROMih je stevilo brisanj in programiranj omejeno. Ponavadi je to tam okrog 100.• Proizvajalci garantirajo, da se obdrzijo podatki na EPROMih 10 let, vendar pri tem

predpostavljajo najslabse mozne pogoje.• Tipicne velikosti: 32K x 8 do 1M x 8. • Tipicni dostopni casi so od 100 do 300ns.

30

Page 31: ARS2 Priprava Na Ustni

11.3 EEPROM

• EEPROMi so po zgradbi in delovanju zelo podobni EPROMom. Tudi oni uporabljajo kot pomnilnisko celico MOSFET tranzistor s plavajocimi vrati in hranijo informacijo v obliki naboja.

• Za brisanje ne potrebujejo UV svetlobe. Brisanje vsebine se doseze s povisano napetostjo, ki povzroci Fowler-Nordheim tunelski efekt.

• Ker novejsi EEPROMi iz 5V sami tvorijo 12V, lahko EEPROMe programiramo brez da jih jemljemo iz podnozja.

• Pisanje (brisanje + pisanje) je tipicno 10000 krat pocasnejse od branja. • Stevilo pisanj je omejeno, tipicno pod 100000.

11.3.1 Flash EEPROM

• Čip je razdeljen na bloke• brisanje (pisanje) poteka po blokih, enako velja za branje• "flash" pride od tega da se briše cel blok naenkrat• manjše celice – več jih gre na čip• Poznamo dve vrsti ash EEPROMov. NAND flash EEPROMi imajo kapaciteto do 8 Gbit

na cip, medtem ko NOR flash EEPROMI imajo 0,56 Gbit na cip, vendar so hitrejsi in preprostejsi za uporabo.

• Problemi so pocasno pisanje (v primerjavi z branjem), trajanje, ter st. pisanj, ki je pod 100000.

• Trajanje: 10 let

11.3.2 Kako delujeta EPROM in EEPROM? Podrobnosti, razlike?

• EPROM - erasable programable ROM. Kot pomnilniška celica služi MOSFET tranzistor s plavajočimi vrati. Ob preboju izolacijske plasti vrat (12.5V ali 20V) se v teh vratih shrani majhen električni naboj, ki se zaradi kvalitetnega dielektrika ohrani dolgo. Te kondenzatorje lahko izpraznimo z obsevanjem z UV svetlobo za 10-30 minut, kar da "ujetim" elektronom dovolj energije, da prebijejo dielektrik. Obsevamo skozi stekleno okence na čipu. Programiramo ga tako, da damo na programirno nožico 12,5V ali 20V, z naslovnimi signali izberemo besedo, s podatkovnimi pa vsebino, ki jo želimo vpisati, vendar je število pisanj omejeno. Poleg tega tudi pisanje v celotem EPROM traja določen čas (posebni algoritmi omogočajo da 512Kx8 EPROM pišemo v 60s)

• EEPROM - electrically erasable programable ROM. MOSFET tranzistor s plavajočimi vrati, brišemo jih električno - s povečano napetostjo ustvarimo Fowler-Nordheim tunelski pojav s čimer omogočimo elektronom, da gredo skozi energetski prag dielektrika in kondenzatorji se izpraznijo. Pisanje poteka isto kot pri EPROM. Ker novejši EEPROMi iz 5V sami tvorijo 12V, zato lahko EEPROME v nasprotju z EPROM-i programiramo na sami tiskani plošči - ni jih treba jemati iz podnožja.

31

Page 32: ARS2 Priprava Na Ustni

11.3.3 Kakšna je razlika med "flash" EEPROM-om in "pravim" EEPROM-om?

Pravi:

• brisanje poteka po bitih

Flash:

• brisanje poteka po blokih • pomnilniške celice so bistveno manjše • SSD: omejitev števila pisanj rešimo s predpomnilnikom • NAND: več in veliki do 8 Gb/čip • NOR: hitrejši in veliki do 0,5 Gb/čip

32

Page 33: ARS2 Priprava Na Ustni

12 RAM

12.1 SRAMGlavna razlika med RAMi in ROMi je to, da so ROMi obstojni, medtem ko so RAMi neobstojni (volatile) - njihova vsebina se izgubi ob izgubi napajanja. Po vklopu je vsebina nedenirana. Pri staticnemu RAMu (SRAM) je pomniniska celica zgrajena kot ipop. Ta je obicajno narejen iz sestih MOS tranzistorjev. Bit, ki ga zapisemo v SRAM celico ostane nespremenjen, dokler ga ne prepisemo ali dokler ne izgubimo napetosti. Najveckrat so izdelani v CMOS tehnologiji in imajo cas dostopa od 10ns do 150ns. Hitrejsi, vendar manjsi in energijsko pozresnejsi so bipolarni ECL SRAM cipi, kjer je cas dostopa blizu 1ns. Branje je popolnoma enako kot pri EPROMih, pri pisanju je pa treba na podatkovne signale dati podatek dovolj zgodaj pred zakljuckom cikla. Pri vecini SRAMov je pisalni cikel mogoce zakljuciti ali s prehodom signala R/W v neaktivno stanje ali s prehodom signala CE v neaktivno stanje. Maksimalna velikost tam okoli 128 Mbit. To, da je staticni, pomeni da ga ni treba osvezevati (v kontrastu z DRAMi). Tipicni signali za kontrolo SRAMA so W/R, CE in OE. V stanju pripravljenosti, ko CE ni aktiven, porabi zelo malo energije.

12.1.1 Razlika med SRAM in EEPROM Pomnilniška celica je zgrajena kot flip-flop, običajno iz 6 MOS tranzistorjev, branje je enako kot pri EPROM, pri pisanju pa je potrebno na podatkovne signale dati podatek dovolj zgodaj pred zaključkom cikla. Pisalni cikel zaključimo s prehodom R/W ali CE\ v neaktivno stanje. Lahko ga damo v stanje pripravljenosti (CE\ v neakt. st.), kjer podobno kot (E)EPROM rabi malo energije, vendar ohranja informacijo.

12.1.2 Primerjava SRAM in DRAM

Kvaliteta dielektrika kondenzatorjev v DRAM je tako slaba, da se kondenzator sam izprazni v nekaj 10ms, zato je potrebno osveževanje. Zgradba je v primerjavi s SRAM-om preprostejša (le en tranzistor, SRAM 6). Zaradi preprostejše zgradbe je možno na čip vgraditi več DRAM-ov, kot SRAM-ov, prav tako je št. defektnih DRAM-ov manjše kot SRAM-ov. Kljub temu pa je pri manjših pomnilnikih ceneje uporabiti SRAM, saj osveževalna logika ni potrebna. Velikost SRAM je max. 64 Mbit/čip (2009), DRAM pa max. 2 Gbit/čip (zapiski, 2008); 8 Gbit/čip (Wikipedia, 2009).

12.2 DRAMPri dinamicnih RAMih je pomnilniska celica zgrajena iz enega tranzistorja, informacija pa je shranjena v obliki elektricnega naboja na kondenzatorju. Ta kapacitivnost je zelo majhna: tipicno znasa 20-30fF. Ker je informacija shranjena v obliki naboja so na prvi pogled DRAM celice podobne EPROM in EEPROM celicam, vendar podobnost ni velika. Pri DRAM se kondenzator izprazni v nekaj 10 milisekundah, pri EPROMih in EEPROMih je pa ta cas 10 let. Bit, ki ga zapisemo v DRAM celico zato v zelo kratkem casu izgine, zato moramo konstanto osvezevati bitno ravnino (tipicno na vsakih 64ms). Pomnilniške celice so pri statičnem in dinamičnem čipu urejene v obliki pravokotnega polja, ki mu pravimo bitna ravnina. Predstavljamo si lahko, da je celica na križišču vrstice in stolpca. Vsak

33

Page 34: ARS2 Priprava Na Ustni

bit v ravnini ima svoj naslov, ki je sestavljen iz naslova vrstice in stolpca. Če želimo dostopati do več bitov hkrati potrebujemo več bitnih ravnin (navadno 8 - organizacija x8). Število podatkovnih signalov je enako številu bitnih ravnin (vsak signal je povezan s svojo bitno ravnino). Ob branju se naslovljeni bit iz vsake bitne ravnine poda na pripadajoči podatkovni signal, pri pisanju pa se vsak od podatkovnih signalov prepise v naslovljeni bit pripadajoče bitne ravnine.

Da bi zmanjsali stevilo nozic pri DRAMih razdelimo naslovne signale v dve polovici. Zaradi posebnosti DRAM pomnilniških celic, se hitrost dostopa skoraj nič ne poslabša. Prva polovica doloca vrstico, druga pa stolpec naslovljenega bita oz. besede pri organizacijah x 8 (8 bitnih ravnin). To je v bistvu multipleksiranje, tako da moramo povedati cipu kdaj je na naslovnih signalih vrstica, kdaj pa stolpec. DRAMi imajo zato namesto CE signala dva - signal RAS (Row Address Strobe) in CAS (Column Address Strobe). Ko se oba deaktivirata je dostopnega cikla konec.

Potek dostopa:

1. Na naslovne signale (A0-A14) najprej podamo naslov vrstice

34

Page 35: ARS2 Priprava Na Ustni

2. Aktiviranje RAS signala. Čip shrani naslov vrstice, ki po preteku drzalnega casa 10ns ni vec potreben. Branje je destruktivno. Vrstica se izbrise in se shrani v register vrstice.

3. Na naslovne signale nato podamo naslov stolpca

4. Aktiviranje CAS signala (ne prej kot 20ns po aktiviranju RAS). Čip shrani naslov stolpca, ki po preteku držalnega casa 15ns ni vec potreben.

Pri branju (WE=1) se na podatkovnem izhodu DOUT pojavi podatek, ki ostane prisoten dokler sta aktivna RAS\ in CAS\

Pri pisanju (WE=0) ločimo – "zgodnje pisanje" - podatek na podatkovnem vhodu DIN se ob aktivnem prehodu CAS\

interno shrani in nato zapiše v naslovljeno celico. Pri tem je smer dostopa izbrana pred aktiviranjem CAS\ signala.

– "branje-pisanje" - pri aktiviranju CAS\ je WE\=1, podatek se pojavi na DOUT, ob kasnejšem prehodu WE\ v 0 se podatek na DIN interno shrani in zapiše v naslovljeno celico. Podatek na DOUT ostane prisoten; če sta DIN in DOUT povezana, tega ne moremo uporabljati.

5. Deaktiviranje CAS povzroci, da gre Dout v Hi-Z.

6. Po koncu dostopa mora biti signal RAS v neaktivnem stanju najmanj 60ns, preden se lahko pricne naslednji dostop (precharge čas, ki je potreben da se iz registra vrstice zapise nazaj v pomnilnisko ravnino). Čas dostopa od zacetka cikla ni daljsi od 80ns, ampak se naslednji dostop lahko pricne sele cez 150ns. Pri DRAMih se zato čas dostopa merjen od aktiviranja signala RAS (tRAS) razlikuje od časa cikla(tRC)

Če je DRAM razdeljen na recimo 8 bitnih ravnin, potem ima vsaka svoj register vrstice.

12.2.1 Page mode dostop Način, kjer je dostop omejen na lokacije v dani vrstici. Naslov vrstice se po aktiviranju RAS\ ne spreminja. Če pustimo RAS\ aktiven lahko z naslovom stolpca in CAS\ dostopamo do poljubne lokacije v vrstici. Ker so cikli preprostejši, je dostop (danes) 10x hitrejši od navadnega. Brez težav lahko dosežemo, da so sosednje besede, ki sestavljajo predpomnilniški blok, v isti vrstici. Vse kar je potrebno narediti, je da za naslov stolpca uporabimo najnižje naslovne bite.

12.2.2 OsvezevanjeInformacija je shranjena kot el. naboj na kondenzatorju. Ta naboj se zaradi neidealnega dielektrika v razmeroma kratkem času izgubi tudi ob prisotni napajalni napetosti, zato je potrebno pomnilniške celice perisodično osveževati.

Pri štirikratnem povečanju DRAM čipov se osveževalna perioda poveča za samo dvakrat (pri 4x evčjem DRAM-u je 2x več vrstic in 2x več stolpcev in iz tega izvira dvakratno povečanje periode; ob enkratnem osveževanju neke vrstice se namreč osvežijo vse celice v vrstici). Prav tako je pomembno povedati, da je bitna ravnina pravokotnik. Zdajšnji RAMi imajo več vrstic kot stolpcev. Čas osveževanja je določen z osveževalno periodo, ki pomeni najdaljši še dovoljen čas za osvežitev vseh celic. Danes je ta perioda 64ms, povprečen čas med dvema osveževanjema pa 7,8 μs. Ob prehodu RAS\ v nizko stanje se vedno naredi tudi osveževanje naslovljene vrstice, s signalom RAS\

35

Page 36: ARS2 Priprava Na Ustni

pa moramo nasloviti v določenem času še vse ostale vrstice.

Vrste osveževanja:

• Z bralnimi cikli - če zagotovimo, da se v času ene osveževalne periode prebere vsaka vrstica najmanj enkrat, je s tem osveževanje zagotovljeno. To lahko naredimo programsko (ni praktično) ali pa z DMA krmilnikom, ki ga inicializiramo tako, da v določenem času prebere vse vrstice.

• S pisalnimi cikli - neroden, ker poleg osveževanja naredimo tudi vpis v pomn. celico in ker v splošnem ne vemo, kaj se nahaja v tej celicil, ne moremo zagotoviti, da se njena vsebina ne bo spremenila. Uprabno v posebnih aplikacijah, kjer se piše v pomn. (npr. digitalni osciloskop).

• Osveževanje samo z RAS\ cikli - aktivira se samo RAS\ cikel. CAS\ ostane neaktiven, WE\ se ignorira. Naredi se osveževanje vrstice, ki je določena z naslovnimi signali. Zahteva uporabo dodatne osveževalne logike - s časovnim vezjem (zunanji števec) se vsakih nekaj μs anredi samo RAS\ cikel. Medtem dostop do DRAM-a ni možen

• CAS\ pred RAS\ - preprostejša osveževalna logika v primerjav z RAS only, ker uporablja števec naslovov, ki je vgrajen v čip in se na koncu avtomatsko poveča za 1. Čip prepozna ta cikel po tem, da se CAS\ aktivira ob neaktivnem RAS\. V ostalem velja isto kot za osveževanje z RAS\ cikli.

Porazdeljeno osveževanje - na vsakih nekaj μs se sproži en osveževalni cikel, dobro za hiter odziv Koncentrirano osveževanje - npr. 1024 zaporedno si sledečih ciklov, razmeroma dolg čas

Tipična velikost: (2007) 2Gb = 8 (modulov) x 32Mb x 8

12.2.3 Kako vemo pri DRAM-u kdaj je podatek na razpolago?Največ 20ns po aktiviranju CAS\ (WE\=1 - branje) se na izhodu Dout pojavi prebrani podatek.

36

Page 37: ARS2 Priprava Na Ustni

12.3 SDRAM

SDRAM - synchronous dynamic random access memory

Za razliko od ostalih DRAM-ov je sinhroniziran z uro procesorja (uvedba urinega signala). Deluje kot preprost cevovod (zato mora biti sinhroniziran). Vsebuje asinhronske DRAM, vsi signalii (RAS\, CAS\, WE\, A0-A13, D0-D7, ... ) se shranijo v registre ob aktivni fronti ure. Višja hitrost, ker ni več potrebno paziti na pravilen časovni razmak med signali (RAS\ - CAS\) in zaradi cevovodnga izvajanja ni potrebno čakati, da se izvrši dani ukaz - nov ukaz lahko izstavimo že prej.Latenca - čas, ki ga je potrebno čakati, da se pojavijo podatki, preden izstavimo nov ukaz. Začetna zakasnitev v primerjavi SDRAM proti DRAMu ni manjša, je kvečjemu enaka, ker jedro SDRAM očitno sestavlja DRAM. Višja hitrost se pokaže predvsem page mode načinu dostopa. Dostop do informacije v registru vrstice je hitrejši po začetni zakasnitvi kot pri asinhronskem DRAMu. Čas za izstavljanje zahteve po dostopu do registra vrstice se ne prišteva k času dostopa, ker se zahteva zapiše v registre že med izvajanjem prejšnjega ukaza. Podobno sinhronsko delovanje so uspešno implementirali tudi pri SRAMih(SSRAM).

37

Page 38: ARS2 Priprava Na Ustni

12.3.1 DDR SDRAM

DDR pomeni double data rate. Za razliko od SDR SDRAMa, doseze DDR SDRAM vecjo pasovno sirino tako, da prenasa podatke na pozitivni in negativni fronti urinega signala. V praksi se to pozna kot dva krat hitrejsi prenos kot pri SDRAMu. Tako povecanje hitrosti je zaradi kombinacije eksplozijskega nacina prenosa in prefetch registra. Najprej se izda ukaz za odpiranje vrstice. S tem se prenese vsebina iz bitne ravnine v register vrstice. Z ukazom za branje stolpca se prenesejo naenkrat 2, 4 ali 8 sosednjih bitov v prefetch register. Pri branju se iz prefetch registra ob vsaki fronti prenesejo biti na podatkovne signale.Pri pisanju pa se ob fronti ure stanje podatkovnih signalov najprej zapiše v prefetch registre. Ko je prefetch register poln se hkrati prenese 2,4,8 bitov v register vrstice. Bralnih ali pisalnih dostopov si lahko pri odprti vrstici sledi več. Na koncu je potrebno vrstico zapreti (precharge ukaz). Vsaka bitna ravnina ima svoj prefetch register, ki je pa zelo blizu nozic cipa, zato je dostop do prefetch registra veliko hitrejsi. Vsi prenosi so dolzine 8 in so eksplozijski.

12.3.2 Kako izvedemo navadne prenose (pri SDRAM-ih)S pomočjo DM signala, ki se uporablja za maskiranje podatkov. Če je ta signal v visokem stanju, se pri pisanju podatek na DQ0-DQ7 ne zapiše v SDRAM. S tem signalom lahko dosežemo, da kljub eksplozijskem prenosu pri pisanju spremenimo manj kot 4 podatke.

Če bi imeli lahko hkrati odprtih več vrstic. To lahko dosežemo, če uporabimo več čipov, lahko pa pomnilniške celice na istem čipu razporedimo tako, da tvorijo več neodvisnih SDRAM pomnilnikov. Slednjo možnost izkoriščajo DDR SDRAMi.

38

Page 39: ARS2 Priprava Na Ustni

12.3.3 DDR2 in DDR3Pri DDR2 in DDR3 je SDRAM čip razdeljen na 8 neodvisno delujočih SDRAMov, ki jim pravimo moduli.

DDR2:Ima visje frekvence ure, izvorno-sinhronski nacin, 4-bitni prefetch, 2urina signala. Simetricna sta in je manj presluha.

39

Page 40: ARS2 Priprava Na Ustni

Prednost DDR2 pred DDR je zmožnost višjih frekvenc ure, izvorno-sinhronski način, 4-bitni prefetch, 2 urina signala (eden je glede na drugega invertiran). Ker sta simetrična je manj presluha, zaradi tega se ostali signali hitreje umirijo. Poraba: 1,8V

2Gb čip– Pri organizaciji x8 je 8 modulov velikosti 32Mx8, vsak modul z vrstico velikosti 1024x8.– Pri organizaciji x16 je 8 modulov 16Mx16, vrstica pa je 1024x16– Pri organizaciji x4 pa je 8 modulov 64Mx4

DDR3 ima 8-bitni prefetch.

40

Page 41: ARS2 Priprava Na Ustni

12.3.4 Podajanje časovnih parametrov

Zaradi sinhronskega delovanja se parametri podajajo v stevilu urinih period,vendar so te periode izracunane iz casov tRAS, tCAS, ki jih navajajo za vsakcip. Ce imamo podane latence recimo 3 - 3 - 3 - 8, pomenijo to:

tCL – tRCD – tRP - tRAS

tCL (Cas latenca), tudi CL ali tCAS – število urinih period(up), ki pretečejo od izstavitve ukaza za branje ali pisanje, do pojava prvega podatka na DQ(branje) oz do zapisa prvega podatka iz DQ v register vrstice.tRCD (RAS to CAS delay ) - čas od izstavitve ukaza za odpiranje vrstice, do zapisa vsebine vrstice v register vrstice. Pri prvem dostopu do vsebine neke vrstice je čas za dostop do prvega podatka najmanj tRCD+tCL . tRP (row precharge) – čas, ki je potreben za zapiranje vrstice.tRAS (row-active to precharge) – najmanjši čas ki mora preteči od odpiranja neke vrstice, do zaprtja te vrstice. Ta čas je daljši, kot tRCD+tCL, ker je vzpostavitev napetostnih nivojev, ki so potrebni za pisanje v vrstico potreben razmeroma dolg čas. Pomemben parameter je tudi čas cikla – tRC. Ta določa najmanjši čas, ki mora preteči od odpiranja vrstice, do odpiranja naslednje vrstice v istem modulu. Pri večini čipov je ta čas enak tRAS+tRP. Proizvajalci navadno podajajo čase v nanosekundah. Število up dobimo tako, da delimo z up in zaokrožimo navzgor.

12.3.5 Standardizirane frekvence za DDR3400MHz - 800M prenosov/s - 6,4GB/s666MHz - 1333M prenosov/s - 10,7GB/s800MHz - 1600M prenosov/s - 12,8GB/s

DIMM moduli: Vsebujejo 8 ali 16 SRAM čipov na obeh straneh, 64b podatkovna pot

12.3.6 Preslikava naslovov v pomnilniške lokacije pri DDR3

Intel procesorji imajo A3, A4, A5, : : :, A36, A37 naslovne signale. MCH je povezan z dvema kanaloma (kanal 0, kanal 1) do (tipicno) DDR2 RAMov. Vsak kanal je za en DIMM. Pri DDR3 je dolzina vrstice tipicno 1K = 210.

- A3, A4, A5 dolocajo stolpec. Ni izbire, ker se vedno prenese 64B blok.- A6 izbira kanala- A7, A8, : : :, A13 stolpec, ker se ti naslovi ne spreminjajo.- A3, A4, A5, A7, A8, : : :, A13 dolocajo torej stolpec.- A14, . . . , A37 dolocajo vrstico.- Od tega A14, A15, A16 dolocajo modul (DDR2, DDR3 imajo po 8 modulov na cip), potem so pa od A17 naprej vrstice v modulu.

41

Page 42: ARS2 Priprava Na Ustni

12.3.7 Core i7Prenosi so se vedno dolzine 64B, kar pomeni 8 zaporednih prenosov. A3, A4, A5 obvezno dolocajo stolpec. Stevilo kanala je ostanek pri deljenju naslova s 3, naslov znotraj kanala je pa kvocient A6,A7,...,A37/3 -> A6',A7',...,A37'

- stolpec: A6',...,A12'- modul: A13'...A15'- vrstica: A16'...A37'

13 Priključevanje pomnilniških in drugih naprav

13.1 Procesorji, ki ne uporabljajo protokolskega prenosa

Prikljucevanje naprav na procesorje, ki ne uporabljajo protokolskega prenosa je dokaj enostavno. Rabimo podati signal za zacetek prenosa, prenosne atribute, opraviti naslovno dekodiranje (lahko je popolno ali nepopolno). Pri popolnem dekodiranju je preslikava enolicna, torej ima vsaka pomnilniska lokacija ali V/I register tocno en naslov. Pri nepopolnem dekodiranju pa, da bi naredili dekodirne funkcije enostavnejse, uporabimo manj bitov, kar posledicno pomeni da ima ena lokacija lahko vec naslovov.

13.2 Procesorji, ki uporabljajo protokolski prenosTo je bolj zapleteno, potrebujemo pomnilnik tipa FIFO, ki hrani ukaze in logiko, ki te ukaze izvrsuje enega za drugim.

42

Page 43: ARS2 Priprava Na Ustni

14 Prekinitveni krmilniki

14.1 PIC 6828 prekinitveni krmilnikPri družini procesorjev 6800 se uporabljajo poenostavljene vektorske prekinitve - vektor je fiksen, tako ni potrebno da procesor izvede prekinitveno prevzemni cikel. CPE te družine so narejene tako, da iz njihovih signalov ni mogoče razbrati kdaj se odzove na prekinitev.

PIC 6828 mora biti priključen na procesorjeve signale A1-A4 neposredno ob mikroprocesorju. Vsi elementi morajo namesto A1-A4 uporabljati signale Z1-Z4. Če se pojavita naslova FFF8, FFF9, se A1-A4 preslikajo v Z1-Z4, pri vseh ostalih naslovih so Z1-Z4 = A1-A4, isto velja tudi za FFF8, FFF9, če na vhodih IN7\ do IN0\ ni prekinitvenih zahtev. Če so prekinitvene zahteve, se upošteva najvišja in biti A1-A4 se preslika po tabeli:

43

Page 44: ARS2 Priprava Na Ustni

O tej preslikavi procesor ne ve ničesar zato obravnava podatke kot, da so prebrani z FFF8 in FFF9. V resnici so prebrani z naslovov, ki ustreza prekinitveni prioriteti z najvišjo prioriteto. Tako dobimo 8 parov prek. vektorjev iz katerih se bere naslov PSP. S tem je doseženo avtomatsko prepoznavanje naprave. Kadar je kateri od vhodov IN7\-IN0\ v nizkem stanju, se to prenese ob negativni fronti signala E v register zahtev. Če je prioriteta (0-7) enaka ali višja od vsebine v 4-bitnem registru maske, se na IRQ\ izhodu postavi nizko stanje, sicer se ignorira. Z ustrezno postavitvijo maske (programer) je mogoče realizirati vgnezdene prekinitve.

Ko procesor reagira na IRQ\, se na naslovnem vodilu pojavita naslova FFF8 in FFF9. Z dodatnim vezjem:

moramo zagotoviti, da sta CS\=0 in CS =1 → PIC je izbran, R/W=1, A1-A4=0011 → Z1-Z4 (preslikava). Vpis v register maske: R/W=0, CS1=1, CS0~=0 → v reg. se prenesejo A1-A4 (pisati moramo na določene pomn. lokacije - 256)

1. Vsak PSP mora ob vrnitvi pustiti reg. maske v takem stanju kot na začetku (v nasprotnem primeru se poroši sistem vgnezdenih prekinitev). Ker 6828 ne omogoča branja registra maske, moramo shraniti vrednost reg. maske tudi nekam v RAM.

2. Vsak PSP mora postaviti masko na vrednost, ki je za 1 višja od njegove prioritete. To

44

Page 45: ARS2 Priprava Na Ustni

povzroči da 6828 postavi IRQ\ v neakt. stanje, takoj zatem mora 6828 s CLI omogočiti prekinitve. (s tem je omogočeno, da prekinitvene zahteve z višjo prioriteto lahko prekinejo ta program)

Če želimo pisati na FFF8 in FFF9, se preslikovanje ne aktivira (ni signala na IN0\-IN7\), vendar ker se s pisanjem na te (FFE0-FFFF) naslove spreminja vsebina registra maske, je priporočljivo prekinitve izklopiti.

Vgnezdene prekinitve: v krmilniku rabimo 4-bitni register (prioritete; 9 možnosti), v katerega mora program zapisati trenutno prioriteto izvajajočega PSP. Če je prioriteta zahteve višja od vsebine registra, se sproži prekinitvena zahteva (aktivira se IRQ#).

Vsebina PSP:

1. Shrani vsebino registra prioritete na sklad.

2. Nastavi register na prioriteto tega PSP.

3. Obvesti prekinjajočo napravo, da bo njena zahteva upoštevana.

4. Omogoči prekinitve (ukaz CLI).

X. Običajni PSP.

N-1. Vrni vsebino registra na shranjeno vrednost.

N. RTI.

Kako krmilnik ve, kdaj je konec prekinitvenega servisnega programa? Korak N-1 in N.

14.2 Vektorske prekinitveV primeru da pride do prekinitve ali pasti se trenutno izvajanje programa prekine in CPU začne z izvajanjem servisnega programa. V primeru da je prišlo do pasti (interna prekinitev znotraj CPU) imamo vrednost prekinitvenega vektorja shranjeno v CPU. Če pa je zahtevo za prekinitev sprožila zunanja naprava dobimo številko vektorja v prekinitveno prevzemnem ciklu. Prekinitveni vektorji so 8 bitne vrednosti (Intel 80486, Motorola 68040) s pomočjo katerih CPU izračuna kje v pomnilniku se nahaja prekinitveno servisni program za servisiranje prekinitve.

ARS1: Vektorske prekinitve so skupno ime za vse načine prepoznavanja prekinjajoče naprave, pri kateri naprava pošlje v CPE informacijo o naslovu njenega PSP. To pošiljanje se naredi v prekinitvenem prevzemnem ciklu, s katerim CPE pove napravam naj pošlje informacijo o izvoru. Gledano iz CPE je to posebna vrsta branja. Od drugih branj ga loči kombinacija kontrolnih signalov.

Pri nekaterih računalnikih je informacija kar naslov, v glavnem pa je samo del naslova PSP. Naslovu, kjer je shranjen naslov PSP pravimo prekinitveni vektor ali vektorski naslov. Uporablja se kot kazalec v tabelo, ki vsebuje naslove PSP. Torej je del naslova številka vektorja. V principu je možno, da ima ista naprava več PSP-jev. Vektorske prekinitve so tipične za večino po letu 1980 razvitih računalnikov.

45

Page 46: ARS2 Priprava Na Ustni

14.3 Intel PIC 8259A prekinitveni krmilnikIntel PIC 8259A lahko uporabljamo na skoraj vseh procesorjih z vektorskimi prekinitvami.

Sestavlja ga:

• 5 8-bitnih registrov, v katere se lahko samo piše• 2 8-bitna registra, ki se samo bereta (IRR, ISR)• 8-bitni register maske, lahko se bere in piše

46

Page 47: ARS2 Priprava Na Ustni

Gledano iz mikroprocesorja je videti kot 2 vhodno-izhodni lokaciji(dostop do registrov je zato možen le z upoštevajem pravil za naslavljanje). Programsko izberemo ali deluje na način prilagojen 8080 ali 8085 (CALL, 2x 8-bitni naslov PSP), ali 80x86 (8-bitna št. prek. vekt.). V 8080/85 načinu pričakuje 3 zaporedne cikle v katerih je aktievn INTA\, v 80x86 pa dva.Prekinitvene zahteve so pripepeljane na vhode IR0-IR7 (IR0 > IR1 > ... > IR7), programsko lahko izberemo ali vhodi delujejo na nivo ali prehod, v registru maske lako vsak vhod maskiramo. Aktiven nivo/prehod na vsakem omogočenem IR vhodu se shrani v reg. prek. zahtev IRR in povzroči aktiviranje INT, ki je povezan na prekinitveni vhod mikroprocesorja. Procesor se odzove z PPC. PIC 8259A prepozna PPC po aktivnem signalu INTA\, ki je aktiven v vseh ciklih PPC aktiven.

1. POLNO VGNEZDENI NAČIN: V 1. ciklu z aktivnim INTA\ se zahteva z najvišjo prioriteto prenese iz IRR v reg. servisirajočih zahtev ISR, ustrezni bit v IRR pa se resetira. V naslednjem INTA\ ciklu (dveh pri 8080/85) da 8259A na pod. vodilo št. vektorja, ki ustreza pravkar ponastavljenemu bitu v ISR. Ta bit ostane postavljen dokler PSP pred vrnitvijo ne pošlje EOI (End Of Interrupt). Dokler je ISR postavljen, se prekinitve z nižjo prioriteto (višja št.) ignorirajo, kar omogoča uporabo vgnezdenih prekinitev.

2. ROTIRAJOČA PRIORITETA: Prioriteta, kateri je bilo ustreženo, se postavi kot najnižja. Npr. ustrežemo IR4 → prioritete IR5, IR6, IR7, IR0, ... , IR4 - tako imajo vsi vhodi v povprečju isto prioriteto.

Če želimo več kot 8 prekinitvenih vhodov, uporabimo kaskadno priključitev - dodamo nove 8259A, katerih INT priključimo na vhode IR0-IR7 prvega 8259A. V INTA\ ciklu ta s signali CAS0-CAS2 (namenjeni samo za to) izbere ustrezni novi 8259A, ki potem da na podatkovno vodilo prek. vektor. Prvi 8259A je gospodar, ostali sužnji - izberemo s signalom SP/EN\ in z ustrezno inicializacijo registrov.

47

Page 48: ARS2 Priprava Na Ustni

Kaj se dogaja v prvem in kaj v zadnjem cliku prekinitev pri 80486?

1. Pojavi se zahteva IRx#, ki se shrani v register zahtev IRR. 2. Če je prioriteta IRx# višja od najvišje v registru servirajočih zahtev ISR, se aktivira

prekinitveni signal INTA#. 3. Procesor se odzove in naredi prekinitveno prevzemni cikel. 4. Slepi cikel: najvišji bit iz IRR se prenese v ISR. 5. Pravi cikel: krmilnik da na podatkovne signale D0 do D7 št. prekinitvenega vektorja, ki

ustreza najvišjemu bitu v IRR (naslov PSP). 6. Na koncu PSP mora programer obvestiti prekinitveni krmilnik, da naj postavi najvišji bit v

ISR na 0 (to naredi s pisanje 8-bitne EOI kombinacije bitov v kontrolni register prekinitvenega krmilnika - ukaz OUT).

Kako krmilnik ve, kdaj je konec prekinitvenega servisnega programa? Glej točko 6.

48

Page 49: ARS2 Priprava Na Ustni

15 Prenašanje podatkov z DMA

15.1 Problemi pri DMA Pomnilnik in V/I naprave uporabljajo signale DMA krmilnika natanko tako, kot da jih generira mikroprocesor in se razlike ne zavedajo. DMA krmilnik ne reagira na prekinitvene zahteve, te med DMA prenosom čakajo. To se rešuje tako, da se omeji DMA prenose na določen čas in se zagotovi, da prekinitvene zhteve ne čakajo predolgo.

Lahko pride do problema, ce zelita CPE in DMA krmilnik istocasno dostopati do pomnilnika. Pri enostavnih racunalnikih CPE ne more dostopati do pomnilnika med DMA prenosih, pri bolj naprednih pa imamo krmilnik pomnilnika, pri pogoju, da naslovi posameznih zahtev ne padejo v isti modul, lahko izkorisca pomnilniško prepletanje tako, da lahko istocasno dostopamo do pomnilnika s strani CPE in DMA krmilnikov. Problema sta tudi skladnost (to rešimo s centralnimi imeniki ali vohunjenjem) ter ali uporabljamo navidezne ali fizične naslove. Ce uporabljamo navidezne naslove, mora imeti DMA krmilnik logiko za preslikovanje naslovov, ki pa mora biti usklajena s tisto v CPE. Tezava s fizičnimi naslovi pa je, da se pojavijo problemi ko gremo iz ene strani v drugo. Zvezni okviri v navideznem naslovnem prostoru ni nujno da so zvezni v zicnem. Resitve za to sta ponavadi dve:

– Uporabljamo navidezne naslove z omejeno sposobnostjo preslikovanja, ker je dolzina prenosov vedno navzgor omejena, obicajno zadosca 8 ali 16 deskriptorjev. To priskrbi operacijski sistem preden se pricne V/I prenos.

– Uporabljajo se fizični naslovi skupaj s tabelo, v kateri so fizični naslovi vseh okvirov strani, ki sestavljajo polje prenasanih besed. Tudi tu priskrbi to tabelo operacijski sistem preden se pricne V/I prenos.

15.2 DMA PRENOSIVsak prenos polja besed iz V/I naprave v pomnilnik (ali obratno) obsega naslednje zaporedje šestih operacij:

1. Ugotavljanje pripravljenosti V/I naprave. Branje statusnega registra je prepočasno, zato iz V/I naprave pripeljemo signal v DMA, ki deluje podobo kot prekinitveni signal, sporoča da je naprava priravljena za prenos. Če DMA nima nadzora nad vodilom, ga zahteva BUSRQ\, mikroprocesor ga prepusti običajno na koncu cikla in to sporoči z BUSACK\. Ko DMA krmilnik dobi ta signal, prevzame nadzor nad vodilom in začne z naslednjim korakom. Če pa je DMA krmilnik že v aktivnem stanju, prevzemanje vodila seveda ni potrebno in lahko začne z naslednjim korakom.

2. Branje podatka iz naprave. Ali obratno. Za obe smeri velja, da ju lahko realiziramo podobno kot bralni in pisalni cikel pri mikroprocesorju. Eden od nacinov za realizacijo je da DMA krmilnik generira naslovne (da izbere napravo) in kontrolne signale enako kot mikroprocesor. To se uporablja pri zaporednem DMA prenosu. Pri istocasnem je to realizirano drugace. Namesto z naslovom in kontrolnimi signali izbere DMA krmilnik napravo s posebnim signalom (DACK - istočasni prenos).

3. Pisanje podatka v pomnilnik. Ali obratno. DMA krmilnik mora biti sposoben generirati kontrolne in naslovne signale na enak način kot procesor.

49

Page 50: ARS2 Priprava Na Ustni

4. Izračun pomnilniškega naslova naslednjega podatka. Potrebujemo nek register, kamor ob inicializaciji vpišemo pomnilniski naslov prenasane besede. DMA krmilnik ga ob branju/pisanju povecuje tako da kaže na naslednji naslov. Ponavadi ga DMA krmilnik poveča/zmanjša za konstanten korak (največkrat 1). Za ta korak je potrebno malo časa, saj se to lahko zgodi že pri 3. koraku.

5. Štetje prenesenih podatkov. Vsak DMA krmilnik vsebuje register dolzine polja. Ob inicializaciji se vanj vpiše dolžina, ki se zmanjšuje za 1. To mu pove koliko mora še brati ali pisati.

6. Primerjava stevila prenesenih podatkov z dolzino polja. Ko je dolžina polja enaka 0, preide DMA v neaktivno stanje in prepusti vodilo mikroprocesorju. Za obvestilo o koncu se v registru krmilnika postavi ustrezen bit ali se sproži prekinitev.

DMA prenos je tipicno 5 do 10 krat hitrejsi od programskega. Mikroprocesor mora jemati ukaze iz pomnilnika, DMA pa točno ve kaj mora storiti oz. delo opravi elektronika.

Preden DMA krmilnik prične s prenosi, ga je potrebno inicializirati. To dosežemo z vpisom ustreznih vrednosti v registre krmilnika. Ob vklopu je DMA krmilnik v neaktivnem stanju, saj v nasprotnem primeru inicializacija sploh ne bi bila možna, saj bi procesor ne mogel dostopati do njegovih registrov.

DMA krmilnik mora imeti tudi podatkovne signale, preko katerih je možen dostop do registrov.Pri inicializaciji je potrebno definirati vsaj:

• začetni naslov polja v pomnilniku• dolžina polja• smer prenosa

50

Page 51: ARS2 Priprava Na Ustni

Pri večini DMA krmilnikov pa lahko določimo tudi dosti drugih parametrov (vrsta prenosa, način delovanja po zaključku prenosa, uporaba prekinitev, trajanje ciklov,...)

15.3 Vrste DMA prenosov glede na pot

1. Zaporedni ali pretocni prenos (flow-through). Pri tem nacinu gredo podatki podobno kot pri programskem V/I. Beseda se najprej prebere v DMA krmilnik iz izvora, potem se pa v naslednjem ciklu zapise v ponor. Tak nacin je pocasen. Poleg registra pomnilniskih naslovov potrebuje se register naslovov vhodno-izhodne naprave. To omogoča tudi DMA iz pomnilnika v pomnilnik. Kljub počasnosti pa ima tudi nekaj prednosti. Ker sta naslov izvora in ponora neodvisna, lahko opravljamo tudi prenose iz enega dela v drug del pomnilnika.

2. Istocasni ali leteci prenos (fly-by). Pri tem nacinu se beseda prebere iz izvora in v istem ciklu zapise v ponor. Naslovni in kontrolni signali se vedno nanasajo na pomnilnik, ker se ti naslovi med prenosom spreminjajo. Naslov V/I naprave je fiksen. Kako potem izbiramo napravo? DMA krmilnik ve, na katero napravo se nanaša prenos, ker pripravljena naprava poroča o svoji pripravljenosti s signalom RDY. Krmilnik opremimo z izhodom DACK. Z njim je naprava obveščena, da se prenos nanaša nanjo. Ta signal mora iti v napravo, iz katere je prisel RDY. Kako rešiti problem kontrolnih signalov? Kontrolni signali se vedno nanašajo na pomnilnik. Kar pomeni, da branje iz pomnilnika pomeni pisanje v VI napravo. Ena rešitev je dodajanje logike, ki invertira bralne signale v pisalne ob aktivnem DACK-u.

51

Page 52: ARS2 Priprava Na Ustni

15.4 Vrste DMA prenosov glede na casovno zaporedje dogodkov

1. Besedni ali enkratni prenos. Pri tem nacinu prenese krmilnik eno besedo, nato pa prepusti vodilo mikroprocesorju za najmanj en cikel. DMA torej poteka izmenicno z delovanjem mikroprocesorja. Med DMA prenosi se delovanje procesorja samo upocasni. Temu recemo transparentni prenos ali prenos s krajo ciklov.

2. Eksplozijski ali prenos na zahtevo. Najpogosteje uporabljena vrsta DMA prenosa. DMA krmilnik prevzame vodilo in ga drzi tako dolgo, dokler ni celotno polje preneseno ali dokler ni V/I naprava nepripravljena.

3. Zvezni ali blocni prenos. Podoben je eksplozijskemu, razlike je v tem, da obdrzi DMA kontrolo nad vodilom do konca tudi ce je V/I naprava nepripravljena. Mikroprocesor stoji, dokler ni preneseno celo polje.

52

Page 53: ARS2 Priprava Na Ustni

53