You are on page 1of 53

ARHITEKTURA RAUNALNIKIH SISTEMOV II

Priprava na ustni izpit 2008/09

Table of Contents
1 Zakaj vhod in izhod...........................................................................................................................4 2 Magnetni disk....................................................................................................................................4 2.1 Zgradba in format diska.............................................................................................................4 2.2 Dostop do podatkov...................................................................................................................5 2.3 Krmilnik diska...........................................................................................................................5 3 V/I krmilniki......................................................................................................................................6 4 Naslavljanje V/I naprav.....................................................................................................................6 4.1 Pomnilnisko preslikan V/I.........................................................................................................6 4.2 Loen V/I prostor.......................................................................................................................6 4.3 Posredno preko V/I procesorjev.................................................................................................7 5 Prenos V/I podatkov..........................................................................................................................7 5.1 Programski V/I...........................................................................................................................7 5.2 Programski V/I z uporabo prekinitev.........................................................................................7 5.3 DMA..........................................................................................................................................8 5.4 V/I procesorji.............................................................................................................................9 6 V/I procesorji..................................................................................................................................10 6.1 V/I procesorji pri IBM 370......................................................................................................10 6.1.1 Programiranje kanalov.....................................................................................................12 6.1.2 Aktiviranje kanalskega programa.....................................................................................13 6.2 V/I procesorji pri CDC Cyber 170...........................................................................................16 7 Prenosne poti...................................................................................................................................17 7.1 Osnovne vrste prenosov...........................................................................................................17 7.1.1 Sinhronski in asinhronski prenosi....................................................................................18 7.1.2 Eksplozijski in protokolski prenosi..................................................................................20 7.1.3 Izvorni sinhronski prenosi................................................................................................22 8 Osnovne lastnosti digitalnih vezij...................................................................................................24 8.1 Bipolarna tehnologija...............................................................................................................24 8.2 CMOS tehnologija...................................................................................................................25 8.3 Zakaj im manje napetosti......................................................................................................25 8.4 Slabosti TTL............................................................................................................................25 8.5 Odpornost proti sumu..............................................................................................................25 8.6 Vhodna obremenitev digitalnih vezij.......................................................................................25 8.7 Izhodi vrste tri-state in open collector.....................................................................................25 8.8 GTL..........................................................................................................................................26 9 Logina vezja...................................................................................................................................26 9.1 Kombinatorina vezja..............................................................................................................26 9.1.1 Multiplekserji in demultiplekserji....................................................................................26 9.1.2 Dekodirniki in kodirniki...................................................................................................26 9.2 Sekvencna vezja.......................................................................................................................26 9.2.1 Asinhronska sekvencna vezja...........................................................................................26 9.2.2 Sinhronska sekvencna vezja.............................................................................................26 10 Podajanje mikroprocesorjev..........................................................................................................27 10.1 Prekinitveni signali ...............................................................................................................28 10.1.1 Prekinitve pri 80486.......................................................................................................28 10.1.2 Motorola 68400 prekinitve.................................................................................................28 10.2 Prenosi pri 80486...................................................................................................................29 10.2.1 Bralni cikel.....................................................................................................................29 10.2.2 Pisalni cikel....................................................................................................................29 2

10.2.3 Eksplozijski cikel...........................................................................................................29 10.3 Pentium Pro - protokolski eksplozijski prenos......................................................................29 10.4 Quad Pump............................................................................................................................29 11 Bralni pomnilnik (ROM)...............................................................................................................30 Kako je shranjena informacija pri posameznih vrstah pomnilnika? .................................................30 11.2 EPROM..................................................................................................................................30 11.3 EEPROM...............................................................................................................................31 11.3.2 Kako delujeta EPROM in EEPROM? Podrobnosti, razlike?.........................................31 11.3.3 Kakna je razlika med "flash" EEPROM-om in "pravim" EEPROM-om?...................32 12 RAM..............................................................................................................................................33 12.1 SRAM....................................................................................................................................33 12.1.1 Razlika med SRAM in EEPROM .................................................................................33 12.2 DRAM...................................................................................................................................33 12.2.1 Page mode dostop .........................................................................................................35 12.2.2 Osvezevanje...................................................................................................................35 12.2.3 Kako vemo pri DRAM-u kdaj je podatek na razpolago?...............................................36 12.3 SDRAM.................................................................................................................................37 12.3.1 DDR SDRAM................................................................................................................38 12.3.2 Kako izvedemo navadne prenose (pri SDRAM-ih).......................................................38 12.3.3 DDR2 in DDR3..............................................................................................................39 12.3.4 Podajanje asovnih parametrov......................................................................................41 12.3.5 Standardizirane frekvence za DDR3..............................................................................41 12.3.6 Preslikava naslovov v pomnilnike lokacije pri DDR3.................................................41 12.3.7 Core i7............................................................................................................................42 13 Prikljuevanje pomnilnikih in drugih naprav..............................................................................42 13.1 Procesorji, ki ne uporabljajo protokolskega prenosa.............................................................42 13.2 Procesorji, ki uporabljajo protokolski prenos........................................................................42 14 Prekinitveni krmilniki....................................................................................................................43 14.1 PIC 6828 prekinitveni krmilnik.............................................................................................43 14.2 Vektorske prekinitve..............................................................................................................45 14.3 Intel PIC 8259A prekinitveni krmilnik..................................................................................46 15 Prenaanje podatkov z DMA.........................................................................................................49 15.1 Problemi pri DMA ................................................................................................................49 15.2 DMA PRENOSI.....................................................................................................................49 15.3 Vrste DMA prenosov glede na pot.........................................................................................51 15.4 Vrste DMA prenosov glede na casovno zaporedje dogodkov...............................................52

1 Zakaj vhod in izhod


Potrebujemo 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 diska
Razlikujemo 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 najmanjsa enota, 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

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 izkljucijo iz 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 podatkov


Dostop 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 diska


Magnetni 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

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 krmilniki
Pri 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 naprav


Moramo 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/I


Pri 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 zicni naslovni 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 Loen V/I prostor


Pri 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.

4.3 Posredno preko V/I procesorjev


Pri 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 podatkov


Osnovna 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/I


Delovanje 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 prekinitev


Namesto 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.

5.3 DMA
Ker 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 glavnega pomnilnika. 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

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 procesorji


Pri 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.

6 V/I procesorji
6.1 V/I procesorji pri IBM 370
V/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 razdalje 122m. - 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 je pripravljena za delo. Potek: Preko BUS OUT podatkovnih signalov poslje kanal 8-bitni naslov naprave Istoasno 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 moen in kanal o tem obvesti CPE krmilnik, ki prepozna naslov, aktivira signal OPERATIONAL IN kanal odgovori, tako da deaktivira ADDRESS OUT in preneha poiljati naslov Krmilnik poslje preko BUS IN podatkovnih signalov naslov naprave nazaj v kanal in mu to sporoi z aktiviranjem signala ADDRESS IN Kanal preveri naslov, e je pravilen polje preko BUS OUT podatkovnih signalov ukaz in to 10

sporoi krmilniku z aktiviranjem signala COMMAND OUT Krmilnik preveri, e je ukaz mogoe izvriti in polje preko BUS IN signalov stanje naprave, kar sporoi s signalom STATUS IN e stanje omogoa prenos podatkov, kanal aktivira signal SERVICE OUT (izbira konana) *izbira je lahko neuspena prenos se takoj zakljui *pri nekaterih ukazih (branje stanja naprave), je uspena 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 sporoi kanalu, naj prevzame podatek. Kanal potrdi sprejem s signalom SERVICE OUT. To se ponavlja, dokler niso preneeni vsi podatki (asinhronski nain, ker imamo potrditve). Hitrost prenaanja je odvisna od hitrosti, s katero naprava oddaja nove podatke.

3. Zakljucno zaporedje. Z zakljunim zaporedjem se naprava odklopi od vodila. To je obratna operacija od izbire in ugotavljanje pravilnosti prenosa. sproi ga lahko kanal ali krmilnik ali oba kanal sproi zakljuno zaporedje ko ugotovi, da je tevilo prenesenih podatkov enako zahtevanemu 11

po prenosu zadnjega podatka aktivira COMMAND OUT (namesto SERVICE OUT) krmilnik da na BUS IN konno stanje naprave in aktivira STATUS IN kanal sprejme konno 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 prine naslednji ukaz

Do 1983 je IBM uporabljal tri vrste paralelnih kanalov, ki so bile prilagojene 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-multiplekserskega kanala. 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 kanalov


Kanali 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 16bitni 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 stareji, vendar se e vedno uporabljata oba:

12

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 prevzame 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 pomani 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 programa


Za 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 nanaajo ve na kanale, temve na podkanale. 13

Ker podkanal enolino doloa V/I napravo, naslova V/I naprave ni potrebno podati. tevilka podkanala na katerega se nanaa ukaz je vedno v splono namenskem registru R1 vsota baznega registra B2 in odmika D2 tvori navidezni naslov ki kae na ORB blok v glavnem pomnilniku

Izvajanje ukaza START SUBCHANNEL: CPE preko posebnih signalov ki povezujejo kanalski sistem s CPE, sporoi kanalskemu sistemu tevilko podkanala, ki naj prine z izvrevanjem 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 fizini naslov prvega CCW iz katerega potem podkanal vzame prvi CCW gledano iz CPE je ukaz START SUBCHANNEL konan, ko je opravljen prenos vsebine bloka v podkanal Prenos ORB v podkanal ni vedno uspeen, odvisen je od stanja v katerem je bil podkanal ob izvrevanju 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 uspeen - podkanal zael izvajati kanalski program 1: podkanal ima akajo opis stanja, ki ga je treba prevzeti z ukazom TEST SUBCHANNEL. Ta ukaz omogoa 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 izkljuen, vse poti do njega so zasedene)

14

Osnovni mehanizem s katerim lahko programer spremlja dogajanje v podkanalu so V/I prekinitve: podkanal vedno zahteva prekinitev po zakljuku zadnjega kanalskega ukaza programer lahko s postavitvijo zastavice PCI dosee, da podkanal zahteva prekinitev pred prietkom izvrevanja CCW, v katerem je PCI=1 podkanal vedno zahteva prekinitve ob napakah; takrat se izvrevanje 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 istoasno tudi sprosti kanal, tako da zbrie zahtevo po prevzemu akajoega opisa stanja.

15

6.2 V/I procesorji pri CDC Cyber 170


CDC 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

7 Prenosne poti
Vodilo 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 prepletanje. Poleg tega v primeru istocasnih zahtev do enega module krmilnik pomnilnika poskrbi, da ena naprava pocaka.

7.1 Osnovne vrste prenosov


Signale 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 istih poteh 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 parametrom enot, ki so udelezene pri prenosu. Med njimi so najpomembnejsi naslednji trije:

17

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 zaneta z aktiviranjem naslovnih in kontrolnih signalov. Sinhronski: gospodar po preteku doloenega 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 najpoasneji (slabost) uporablja se pogosteje

18

Asinhronski: gospodar umakne nasl. in kontr. signale ele ob prvi negativni fronti po sprejemu potdritvenega signala as ni vnaprej doloen hitre enote aktivirajo potrditveni signal hitreje, s tem je odpravljena slabost sinhronskega prenosa potrebno je asovno vezje, ki zakljui 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 konne hitrosti po vodilu

19

7.1.2 Eksplozijski in protokolski prenosi


Pri 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 Izhodie za eksplozijski prenos je spoznanje, da laho vpliv asa za potovanje signala bistveno zmanjamo, e se namesto enega podatka polje ve podatkov eden za drugim. Naslov torej ne doloa ve enega podatka, temve prvega v zaporedju podatkov na sosednjih naslovih. Pri prvem podatku imamo zaetno zakasnitev (latenca), od tu naprej lahko naslovljena enota poilja ali sprejema podatke enega za drugim. Podatki sicer ne potujejo ni hitreje, vendar pa se lahko polje naslednjega, e preden je prejnji prispel na cilj. Uporaben je samo takrat, kadar potrebujemo zaporedja besed na sosednjih naslovih (npr. v pri zamenjavah predpomnilnikih blokov, ki predstavlja 90% prenosov med CPE in pomnilnikom). Praviloma so sinhronski. Prenos, ki omogoa 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 poveati 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 daljega prenosa 1. podatka od prenosov 2., 3. in 4. podatka. e loimo poiljanje ukaza (naslovni, kontrolni signali) od podatkov lahko zmanjamo as, potreben za prenos, in s tem poveamo hitrost prenosa. eprav ni latenca ni kraja, je prednost protokolskega prenosa v tem, da si (eksplozijski) prenosi sledijo brez presledkov.

20

21

7.1.3 Izvorni sinhronski prenosi


Urin zamik V raunalnikih je vir ure en sam(TCPE) in ga je potrebno iz centralnega mesta pripeljati do vseh enot. Ker je razdalja do posameznih enot razlina, in ker mora signal potovati skozi razline komponente, je nemogoe dosei istoasnost urinih front. Najvejo razliko med trenutkom najhitreje in najpoasneje fronte imenujemo urin zamik (clock skew). Tako v najslabem primeru velja: tdostop + tvspostavitveni TCPE tzamik e krajamo urino periodo CPE postaja urin zamik vedno bolj opazen. e bi urino periodo preve skrajali, bi prilo do nepravilnega delovanja. Problem urinih zamikov reimo z izvorno sihronskim prenosom. Enota, ki poilja podatke mora poleg podatkov poslati tudi sinhronizacijski signal (strobe), ki ima fronto v asu trajanja veljavnosti podatkov. Ker potujejo podatki in sinhronizacijski signal po priblino isti poti, se zamaknejo bistveno manj kot znaa urin zamik centralne ure in prispejo na cilj skupaj. v podatke sprejemajoi napravi se podatki shranijo ob fronsti sinh. Signala uporabljamo ga lahko pri vseh prenosih, vendar je najbolj uinkovit pri eksplozijskih prenosih veja hitrost izvira iz dejstva, da je relativni asovni zamik med trajanjem potovanja podatkovin trajanjem potovanja potovanja sinh. Signala bistveno manji kot urin zamik, tako velja enaba: tdostop + tvspostavitveni TS t kjer je t relativni zamik med asom potovanja podatkov in sinhronizacijskega signala, TS pa ura sinhronizacijskega signala (v splonem TCPE/n) ker je ta nain 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

Quad pump protokolski eksplozijski prenos izvorno sinhronski prenos 2 sinhronizacijska signala s periodo Ts = T/2 v 1 periodi centralne ure se poljejo 4 podatki. uporablja se v Intelovih procesorjih 80x86 od leta 2000 naprej (Pentium 4, Core). za ukaze (naslovni signali in atributi) A3-A35 - prvi prenos: naslov A3-A35 - drugi prenos: atribut v 1 periodi centralne ure se polje 1 ukaz (dovolj hitro) uporabljal se je v Intelovih procesorjih P4 in C2 do jeseni 2008 hitrost se je od leta 2000 do 2008 poveala 10-krat

Double pump

23

8 Osnovne lastnosti digitalnih vezij


Standardna digitalna vezja, ki se uporabljajo za realizacijo lepila so narejena v bipolarni ali v komplementarni MOS (CMOS) tehnologiji.

8.1 Bipolarna tehnologija


V 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, 1 pa nad 2,4V.

Output Low = OL Output High = OH Input Low = IL Input High = IH 24

8.2 CMOS tehnologija


Razvoj 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, 1 pa nad 4,5V.

8.3 Zakaj im manje napetosti


Poraba energije narasca s kvadratom napajalne napetosti. P =(CU2/2)*f

8.4 Slabosti TTL


Pri 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 sumu


V 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 vezij


Ce 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 ne mesamo 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 collector


Izhodi 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

8.8 GTL
tehnologija

s katero so zgrajeni mikroprocesorji gtl = gunning transceiver logic prepovedano obmoje je 0.1V napajalna napetost je 0.4-1.2V (mnogo nija kot TTL in CMOS) kar pomeni da je napetostna prebojna trdnost bolja (ike 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 Logina vezja
9.1 Kombinatorina vezja
Kombinatoricna 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 demultiplekserji


Multiplekser 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 kodirniki


Binarni 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 vezja


S 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 vezja


Vezja, 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 vezja


Pri 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

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
D
Podatkovni registri Naslovni registri

ALE Kontrolna enota

Kontrolni signali

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: kakno informacijo nosi kako vpliva na delovanjem obiajno to opisujemo z besedami SMER SIGNALOV: vhod izhod dvosmeren (ne oboje hkrati half-duplex) doloa dodaten signal kaj se uporablja(branje/pisanje) STANJE SIGNALOV: 0...nizek napetostni nivo (pozitivna logika) 1...visok napetostni nivo Hi-Z...visoko impedanno stanje OZNAEVANJE SIGNALOV: 27

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 pie

10.1 Prekinitveni signali


10.1.1 Prekinitve pri 80486
80486 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 prekinitve


68040 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 v izvajalni 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

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 cikel


Pri 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 cikel


Podobno 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 cikel


Pri 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 prenos


Naslovi 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 Pump


S 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, torej 128B: 4 4 8 = 128B 29

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. (tipino 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

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 brie cel blok naenkrat manje 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 pomnilnika celica slui MOSFET tranzistor s plavajoimi vrati. Ob preboju izolacijske plasti vrat (12.5V ali 20V) se v teh vratih shrani majhen elektrini 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 noico 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 doloen as (posebni algoritmi omogoajo da 512Kx8 EPROM piemo v 60s) EEPROM - electrically erasable programable ROM. MOSFET tranzistor s plavajoimi vrati, briemo jih elektrino - s poveano napetostjo ustvarimo Fowler-Nordheim tunelski pojav s imer omogoimo elektronom, da gredo skozi energetski prag dielektrika in kondenzatorji se izpraznijo. Pisanje poteka isto kot pri EPROM. Ker noveji EEPROMi iz 5V sami tvorijo 12V, zato lahko EEPROME v nasprotju z EPROM-i programiramo na sami tiskani ploi ni jih treba jemati iz podnoja.

31

11.3.3 Kakna je razlika med "flash" EEPROM-om in "pravim" EEPROM-om?


Pravi: brisanje poteka po bitih Flash: brisanje poteka po blokih pomnilnike celice so bistveno manje SSD: omejitev tevila pisanj reimo s predpomnilnikom NAND: ve in veliki do 8 Gb/ip NOR: hitreji in veliki do 0,5 Gb/ip

32

12 RAM
12.1 SRAM
Glavna 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


Pomnilnika celica je zgrajena kot flip-flop, obiajno iz 6 MOS tranzistorjev, branje je enako kot pri EPROM, pri pisanju pa je potrebno na podatkovne signale dati podatek dovolj zgodaj pred zakljukom cikla. Pisalni cikel zakljuimo 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 osveevanje. Zgradba je v primerjavi s SRAM-om preprosteja (le en tranzistor, SRAM 6). Zaradi preprosteje zgradbe je mono na ip vgraditi ve DRAM-ov, kot SRAM-ov, prav tako je t. defektnih DRAM-ov manje kot SRAM-ov. Kljub temu pa je pri manjih pomnilnikih ceneje uporabiti SRAM, saj osveevalna 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 DRAM
Pri 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). Pomnilnike celice so pri statinem in dinaminem ipu urejene v obliki pravokotnega polja, ki mu pravimo bitna ravnina. Predstavljamo si lahko, da je celica na kriiu vrstice in stolpca. Vsak 33

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 pripadajoi podatkovni signal, pri pisanju pa se vsak od podatkovnih signalov prepise v naslovljeni bit pripadajoe bitne ravnine.

Da bi zmanjsali stevilo nozic pri DRAMih razdelimo naslovne signale v dve polovici. Zaradi posebnosti DRAM pomnilnikih celic, se hitrost dostopa skoraj ni ne poslaba. 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

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 dralnega 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) loimo "zgodnje pisanje" - podatek na podatkovnem vhodu DIN se ob aktivnem prehodu CAS\ interno shrani in nato zapie 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 kasnejem prehodu WE\ v 0 se podatek na DIN interno shrani in zapie 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


Nain, 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 preprosteji, je dostop (danes) 10x hitreji od navadnega. Brez teav lahko doseemo, da so sosednje besede, ki sestavljajo predpomnilniki blok, v isti vrstici. Vse kar je potrebno narediti, je da za naslov stolpca uporabimo najnije naslovne bite.

12.2.2 Osvezevanje
Informacija 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 pomnilnike celice perisodino osveevati. Pri tirikratnem poveanju DRAM ipov se osveevalna perioda povea za samo dvakrat (pri 4x evjem DRAM-u je 2x ve vrstic in 2x ve stolpcev in iz tega izvira dvakratno poveanje periode; ob enkratnem osveevanju neke vrstice se namre osveijo vse celice v vrstici). Prav tako je pomembno povedati, da je bitna ravnina pravokotnik. Zdajnji RAMi imajo ve vrstic kot stolpcev. as osveevanja je doloen z osveevalno periodo, ki pomeni najdalji e dovoljen as za osveitev vseh celic. Danes je ta perioda 64ms, povpreen as med dvema osveevanjema pa 7,8 s. Ob prehodu RAS\ v nizko stanje se vedno naredi tudi osveevanje naslovljene vrstice, s signalom RAS\ 35

pa moramo nasloviti v doloenem asu e vse ostale vrstice. Vrste osveevanja: Z bralnimi cikli - e zagotovimo, da se v asu ene osveevalne periode prebere vsaka vrstica najmanj enkrat, je s tem osveevanje zagotovljeno. To lahko naredimo programsko (ni praktino) ali pa z DMA krmilnikom, ki ga inicializiramo tako, da v doloenem asu prebere vse vrstice. S pisalnimi cikli - neroden, ker poleg osveevanja naredimo tudi vpis v pomn. celico in ker v splonem ne vemo, kaj se nahaja v tej celicil, ne moremo zagotoviti, da se njena vsebina ne bo spremenila. Uprabno v posebnih aplikacijah, kjer se pie v pomn. (npr. digitalni osciloskop). Osveevanje samo z RAS\ cikli - aktivira se samo RAS\ cikel. CAS\ ostane neaktiven, WE\ se ignorira. Naredi se osveevanje vrstice, ki je doloena z naslovnimi signali. Zahteva uporabo dodatne osveevalne logike - s asovnim vezjem (zunanji tevec) se vsakih nekaj s anredi samo RAS\ cikel. Medtem dostop do DRAM-a ni moen CAS\ pred RAS\ - preprosteja osveevalna logika v primerjav z RAS only, ker uporablja tevec naslovov, ki je vgrajen v ip in se na koncu avtomatsko povea za 1. ip prepozna ta cikel po tem, da se CAS\ aktivira ob neaktivnem RAS\. V ostalem velja isto kot za osveevanje z RAS\ cikli. Porazdeljeno osveevanje - na vsakih nekaj s se sproi en osveevalni cikel, dobro za hiter odziv Koncentrirano osveevanje - npr. 1024 zaporedno si sledeih ciklov, razmeroma dolg as Tipina 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

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. Vija hitrost, ker ni ve potrebno paziti na pravilen asovni razmak med signali (RAS\ - CAS\) in zaradi cevovodnga izvajanja ni potrebno akati, da se izvri dani ukaz - nov ukaz lahko izstavimo e prej. Latenca - as, ki ga je potrebno akati, da se pojavijo podatki, preden izstavimo nov ukaz. Zaetna zakasnitev v primerjavi SDRAM proti DRAMu ni manja, je kvejemu enaka, ker jedro SDRAM oitno sestavlja DRAM. Vija hitrost se pokae predvsem page mode nainu dostopa. Dostop do informacije v registru vrstice je hitreji po zaetni zakasnitvi kot pri asinhronskem DRAMu. as za izstavljanje zahteve po dostopu do registra vrstice se ne priteva k asu dostopa, ker se zahteva zapie v registre e med izvajanjem prejnjega ukaza. Podobno sinhronsko delovanje so uspeno implementirali tudi pri SRAMih(SSRAM).

37

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 zapie 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 pomojo DM signala, ki se uporablja za maskiranje podatkov. e je ta signal v visokem stanju, se pri pisanju podatek na DQ0-DQ7 ne zapie v SDRAM. S tem signalom lahko doseemo, da kljub eksplozijskem prenosu pri pisanju spremenimo manj kot 4 podatke. e bi imeli lahko hkrati odprtih ve vrstic. To lahko doseemo, e uporabimo ve ipov, lahko pa pomnilnike celice na istem ipu razporedimo tako, da tvorijo ve neodvisnih SDRAM pomnilnikov. Slednjo monost izkoriajo DDR SDRAMi.

38

12.3.3 DDR2 in DDR3


Pri DDR2 in DDR3 je SDRAM ip razdeljen na 8 neodvisno delujoih SDRAMov, ki jim pravimo moduli. DDR2: Ima visje frekvence ure, izvorno-sinhronski nacin, 4-bitni prefetch, 2 urina signala. Simetricna sta in je manj presluha.

39

Prednost DDR2 pred DDR je zmonost vijih frekvenc ure, izvorno-sinhronski nain, 4-bitni prefetch, 2 urina signala (eden je glede na drugega invertiran). Ker sta simetrina 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

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 vsak cip. 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 preteejo 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) najmanji as ki mora pretei od odpiranja neke vrstice, do zaprtja te vrstice. Ta as je dalji, 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 doloa najmanji as, ki mora pretei od odpiranja vrstice, do odpiranja naslednje vrstice v istem modulu. Pri veini ipov je ta as enak tRAS+tRP. Proizvajalci navadno podajajo ase v nanosekundah. tevilo up dobimo tako, da delimo z up in zaokroimo navzgor.

12.3.5 Standardizirane frekvence za DDR3


400MHz - 800M prenosov/s - 6,4GB/s 666MHz - 1333M prenosov/s - 10,7GB/s 800MHz - 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 pomnilnike 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

12.3.7 Core i7
Prenosi 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 Prikljuevanje pomnilnikih 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 prenos


To je bolj zapleteno, potrebujemo pomnilnik tipa FIFO, ki hrani ukaze in logiko, ki te ukaze izvrsuje enega za drugim.

42

14 Prekinitveni krmilniki
14.1 PIC 6828 prekinitveni krmilnik
Pri druini procesorjev 6800 se uporabljajo poenostavljene vektorske prekinitve - vektor je fiksen, tako ni potrebno da procesor izvede prekinitveno prevzemni cikel. CPE te druine so narejene tako, da iz njihovih signalov ni mogoe razbrati kdaj se odzove na prekinitev.

PIC 6828 mora biti prikljuen 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 upoteva najvija in biti A1-A4 se preslika po tabeli:

43

O tej preslikavi procesor ne ve niesar zato obravnava podatke kot, da so prebrani z FFF8 in FFF9. V resnici so prebrani z naslovov, ki ustreza prekinitveni prioriteti z najvijo prioriteto. Tako dobimo 8 parov prek. vektorjev iz katerih se bere naslov PSP. S tem je doseeno 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 vija od vsebine v 4-bitnem registru maske, se na IRQ\ izhodu postavi nizko stanje, sicer se ignorira. Z ustrezno postavitvijo maske (programer) je mogoe 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 doloene pomn. lokacije - 256) 1. Vsak PSP mora ob vrnitvi pustiti reg. maske v takem stanju kot na zaetku (v nasprotnem primeru se poroi sistem vgnezdenih prekinitev). Ker 6828 ne omogoa branja registra maske, moramo shraniti vrednost reg. maske tudi nekam v RAM. 2. Vsak PSP mora postaviti masko na vrednost, ki je za 1 vija od njegove prioritete. To 44

povzroi da 6828 postavi IRQ\ v neakt. stanje, takoj zatem mora 6828 s CLI omogoiti prekinitve. (s tem je omogoeno, da prekinitvene zahteve z vijo 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 priporoljivo prekinitve izklopiti. Vgnezdene prekinitve: v krmilniku rabimo 4-bitni register (prioritete; 9 monosti), v katerega mora program zapisati trenutno prioriteto izvajajoega PSP. e je prioriteta zahteve vija od vsebine registra, se sproi prekinitvena zahteva (aktivira se IRQ#). Vsebina PSP: 1. Shrani vsebino registra prioritete na sklad. 2. Nastavi register na prioriteto tega PSP. 3. Obvesti prekinjajoo napravo, da bo njena zahteva upotevana. 4. Omogoi prekinitve (ukaz CLI). X. Obiajni 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 prekinitve


V primeru da pride do prekinitve ali pasti se trenutno izvajanje programa prekine in CPU zane z izvajanjem servisnega programa. V primeru da je prilo do pasti (interna prekinitev znotraj CPU) imamo vrednost prekinitvenega vektorja shranjeno v CPU. e pa je zahtevo za prekinitev sproila zunanja naprava dobimo tevilko vektorja v prekinitveno prevzemnem ciklu. Prekinitveni vektorji so 8 bitne vrednosti (Intel 80486, Motorola 68040) s pomojo katerih CPU izrauna kje v pomnilniku se nahaja prekinitveno servisni program za servisiranje prekinitve. ARS1: Vektorske prekinitve so skupno ime za vse naine prepoznavanja prekinjajoe naprave, pri kateri naprava polje v CPE informacijo o naslovu njenega PSP. To poiljanje se naredi v prekinitvenem prevzemnem ciklu, s katerim CPE pove napravam naj polje informacijo o izvoru. Gledano iz CPE je to posebna vrsta branja. Od drugih branj ga loi kombinacija kontrolnih signalov. Pri nekaterih raunalnikih 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 mono, da ima ista naprava ve PSP-jev. Vektorske prekinitve so tipine za veino po letu 1980 razvitih raunalnikov.

45

14.3 Intel PIC 8259A prekinitveni krmilnik


Intel PIC 8259A lahko uporabljamo na skoraj vseh procesorjih z vektorskimi prekinitvami. Sestavlja ga: 5 8-bitnih registrov, v katere se lahko samo pie 2 8-bitna registra, ki se samo bereta (IRR, ISR) 8-bitni register maske, lahko se bere in pie

46

Gledano iz mikroprocesorja je videti kot 2 vhodno-izhodni lokaciji(dostop do registrov je zato moen le z upotevajem pravil za naslavljanje). Programsko izberemo ali deluje na nain prilagojen 8080 ali 8085 (CALL, 2x 8-bitni naslov PSP), ali 80x86 (8-bitna t. prek. vekt.). V 8080/85 nainu priakuje 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 omogoenem IR vhodu se shrani v reg. prek. zahtev IRR in povzroi 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 NAIN: V 1. ciklu z aktivnim INTA\ se zahteva z najvijo prioriteto prenese iz IRR v reg. servisirajoih 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 polje EOI (End Of Interrupt). Dokler je ISR postavljen, se prekinitve z nijo prioriteto (vija t.) ignorirajo, kar omogoa uporabo vgnezdenih prekinitev. 2. ROTIRAJOA PRIORITETA: Prioriteta, kateri je bilo ustreeno, se postavi kot najnija. Npr. ustreemo IR4 prioritete IR5, IR6, IR7, IR0, ... , IR4 - tako imajo vsi vhodi v povpreju isto prioriteto. e elimo ve kot 8 prekinitvenih vhodov, uporabimo kaskadno prikljuitev - dodamo nove 8259A, katerih INT prikljuimo 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 sunji - izberemo s signalom SP/EN\ in z ustrezno inicializacijo registrov.

47

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# vija od najvije v registru servirajoih zahtev ISR, se aktivira prekinitveni signal INTA#. 3. Procesor se odzove in naredi prekinitveno prevzemni cikel. 4. Slepi cikel: najviji bit iz IRR se prenese v ISR. 5. Pravi cikel: krmilnik da na podatkovne signale D0 do D7 t. prekinitvenega vektorja, ki ustreza najvijemu bitu v IRR (naslov PSP). 6. Na koncu PSP mora programer obvestiti prekinitveni krmilnik, da naj postavi najviji 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 toko 6.

48

15 Prenaanje 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 reuje tako, da se omeji DMA prenose na doloen 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 pomnilniko prepletanje tako, da lahko istocasno dostopamo do pomnilnika s strani CPE in DMA krmilnikov. Problema sta tudi skladnost (to reimo s centralnimi imeniki ali vohunjenjem) ter ali uporabljamo navidezne ali fizine naslove. Ce uporabljamo navidezne naslove, mora imeti DMA krmilnik logiko za preslikovanje naslovov, ki pa mora biti usklajena s tisto v CPE. Tezava s fizinimi 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 fizini naslovi skupaj s tabelo, v kateri so fizini 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 PRENOSI


Vsak 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 prepoasno, zato iz V/I naprave pripeljemo signal v DMA, ki deluje podobo kot prekinitveni signal, sporoa da je naprava priravljena za prenos. e DMA nima nadzora nad vodilom, ga zahteva BUSRQ\, mikroprocesor ga prepusti obiajno na koncu cikla in to sporoi z BUSACK\. Ko DMA krmilnik dobi ta signal, prevzame nadzor nad vodilom in zane z naslednjim korakom. e pa je DMA krmilnik e v aktivnem stanju, prevzemanje vodila seveda ni potrebno in lahko zane 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 - istoasni prenos). 3. Pisanje podatka v pomnilnik. Ali obratno. DMA krmilnik mora biti sposoben generirati kontrolne in naslovne signale na enak nain kot procesor.

49

4. Izraun pomnilnikega naslova naslednjega podatka. Potrebujemo nek register, kamor ob inicializaciji vpiemo pomnilniski naslov prenasane besede. DMA krmilnik ga ob branju/pisanju povecuje tako da kae na naslednji naslov. Ponavadi ga DMA krmilnik povea/zmanja za konstanten korak (najvekrat 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 vpie dolina, ki se zmanjuje za 1. To mu pove koliko mora e brati ali pisati. 6. Primerjava stevila prenesenih podatkov z dolzino polja. Ko je dolina 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 sproi prekinitev. DMA prenos je tipicno 5 do 10 krat hitrejsi od programskega. Mikroprocesor mora jemati ukaze iz pomnilnika, DMA pa tono ve kaj mora storiti oz. delo opravi elektronika. Preden DMA krmilnik prine s prenosi, ga je potrebno inicializirati. To doseemo z vpisom ustreznih vrednosti v registre krmilnika. Ob vklopu je DMA krmilnik v neaktivnem stanju, saj v nasprotnem primeru inicializacija sploh ne bi bila mona, saj bi procesor ne mogel dostopati do njegovih registrov. DMA krmilnik mora imeti tudi podatkovne signale, preko katerih je moen dostop do registrov. Pri inicializaciji je potrebno definirati vsaj: zaetni naslov polja v pomnilniku dolina polja smer prenosa

50

Pri veini DMA krmilnikov pa lahko doloimo tudi dosti drugih parametrov (vrsta prenosa, nain delovanja po zakljuku 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 omogoa tudi DMA iz pomnilnika v pomnilnik. Kljub poasnosti 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 nanaa prenos, ker pripravljena naprava poroa o svoji pripravljenosti s signalom RDY. Krmilnik opremimo z izhodom DACK. Z njim je naprava obveena, da se prenos nanaa nanjo. Ta signal mora iti v napravo, iz katere je prisel RDY. Kako reiti problem kontrolnih signalov? Kontrolni signali se vedno nanaajo na pomnilnik. Kar pomeni, da branje iz pomnilnika pomeni pisanje v VI napravo. Ena reitev je dodajanje logike, ki invertira bralne signale v pisalne ob aktivnem DACK-u.

51

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

53

You might also like