390 likes | 726 Views
Pom. CPE. V/I. Zgradba računalnika. CPE – centralna procesna enota, procesor Pomnilnik Vhodno izhodne enote Sistem povezav oziroma vodil. Pomnilnik. Pomnilnik je del računalnika, ki hrani programe (ukaze in podatke oz. operande), vhodne, vmesne in končne rezultate.
E N D
Pom. CPE V/I Zgradba računalnika • CPE – centralna procesna enota, procesor • Pomnilnik • Vhodno izhodne enote • Sistem povezav oziroma vodil
Pomnilnik • Pomnilnik je del računalnika, ki hrani programe (ukaze in podatke oz. operande), vhodne, vmesne in končne rezultate. • Pravimo mu tudi glavni pomnilnik, za razliko od predpomnilnikov, medpomnilnikov (izravnalnikov) in zunanjih pomnilnikov.
0 1 2 3 4 5 6 7 Pomnilnik N-1 N Pomnilnik Naslov Vsebina • Pomnilnik je linearno (enodimenzionalno) zaporedje pomnilniških besed. • Pomnilniško besedo določata naslov in vsebina. • Pomnilniško besedo enolično določa pomnilniški naslov. • Pomnilniška beseda je najmanjša naslovljiva pomnilniška enota. • Naslov se nikoli ne spremeni, vsebina se lahko spremeni. • CPE ima do (glavnega) pomnilnika naključen (neposreden) dostop.
n-bitni naslov m-bitna vsebina .... .... an-1 an-2 a2 a1 a0 bm-1 bm-2 b2 b1 b0 Pomnilnik-pomnilniška beseda • Vsebino obsega določeno število bitov (bitnih celic) • Število bitov v besedi je dolžina pomnilniške besede • Dolžina besede omejuje količino informacije, ki jo lahko hrani • Število bitov v naslovu omejuje velikost pomnilnika (naslovni prostor oz. fizično naslovno področje) • Podatek pomnilnika: n-bitni naslov in m-bitna beseda • 8 bitov = 1 bajt • Npr.: 16 bitni naslov in 8 bitna vsebina
Pomnilnik in CPE • CPE komunicira s pomnilnikom po (pomnilniškem) vodilu. • Vodilo setavljajo: • naslovno vodilo, • podatkovno vodilo, • kontrolno vodilo. • Vsako vodilo obsega določeno število signalov oziroma povezav. • Številu paralelnih povezav rečemo širina vodila. • Ko govorimo o širini računalniškega vodila, največkrat mislimo na širino podatkovnega vodila in rečemo na primer 8-bitni, 16-bitni, ..., računalnik.
CPE Pomnilnik AR Naslov DR Podatek KE Beri/piši CPE – dostop do pomnilnika • Dogajanja na vodilu vodi CPE. Na njeno pobudo se opravi prenos podatka iz (beri) ali v pomnilnik (piši) – dostop do pomnilnika. AR: Naslovni register DR: Podatkovni register CPE postavi naslov pomnilniške besede na naslovno vodilo - naslovi pomnilnik. CPE določi smer prenosa, postavi signal beri/piši. CPE poskrbi za prenos podatka po podatkovnem vodilu.
Pomnilnik in CPE • Celotnemu času, ki je potreben za prenos iz/v pomnilnik, rečemo pomnilniški cikel, operaciji sami pa dostop do pomnilnika. • Dostop do pomnilnika se izvede časovno nedeljivo – atomično. Ko enkrat začne, konča brez prekinitve. • Hitrost dostopa (hitrost pomnilnika) merimo v številu prenešenih pomnilniških besed na časovno enoto (sekundo).
Pomnilnik in CPE • Čas dostopa (dostopni čas) je čas, ki preteče od trenutka, ko je dana zahteva za dostop do tedaj, ko je informacija prisotna ali ni več potrebna. • Dostopni čas za branje je približno enak dostopnemu času za pisanje. Pomnilniški cikel Dostopni čas Podatek prisoten ali ni več potreben Zahteva
Pomnilnik-vrste pomnilnikov • Glede na obstojnost: • Destruktivni – z branjem se informacija izgubi. • Nedestruktivni – z branjem se informacija ne izgubi. • Dinamični – potrebno občasno osveževanje vsebine. • Statični – ni potrebno osveževanje. • Ohranljivi – z odklopom se informacija ne izgubi. • Neohranljivi – z odklopom se informacija izgubi. • Glede na spremenljivost • RAM (Random Access Memory): vsebino se lahko spremeni, bere in tudi vpiše (SRAM, DRAM, ...). • ROM (Read Only Memory): vsebino se lahko samo bere (ROM, PROM, OTP, EPROM, EEPROM, Flash).
Pomnilnik-vrste pomnilnikov • Bralni pomnilniki • ROM: vsebino se določi (“vpiše”) v postopku izdelave. • PROM (Programmable ROM): vsebino se vpiše samo enkrat s postopkom “programiranja” s programatorjem. • OTP (One-Time Programmable): vsebino se vpiše samo enkrat. • EPROM (Erasable PROM): vsebino se vpiše s postopkom programiranja s programatorjem. Vsebino se lahko (večkrat) briše z osvetlitvijo z UV svetlobo. • EEPROM (Electrically Erasable PROM): Vsebino posamezne pomnilniške besede (bajta) se lahko (večkrat) spremeni “električno” s programatorjem ali kar v vezju. • Flash (EEPROM) (Electrically Erasable PROM): vsebino se lahko (večkrat) briše električno s programatorjem ali v samem vezju. Brisanje je možno v celoti ali v blokih.
Pomnilniki-glede na dostop • Naključen dostop: Procesor ima do vsebine neposreden dostop. • Dostopni čas ni odvisen od naslova in je enak za vse naslove. • Dostopni čas ni odvisen od zaporedja pomnilniških referenc. • Direkten dostop: Procesor ima do vsebine neposreden dostop. • Dostopni čas je odvisen od naslova (disk). • Dostopni čas je odvisen od zaporedja referenc. • Sekvenčni dostop: Procesor ima do vsebine posreden dostop. • Dostopni čas je odvisen od naslova. • Dostopni čas je odvisen od zaporedja referenc. • Naslovljena vsebina je dostopna posredno - z dostopom do podatkov pred njo (trak). • Asociativni dostop, FIFO, LIFO, ..., ?
Naslovno vodilo R1 ALE R2 ... Podatkovno vodilo Rn KE Kontrolno vodilo URA Centralna procesna enota-CPE • CPE v grobem sestavljajo: • kontrolna enota (KE), • aritmetično logična enota (ALE), • registri. • Programsko dostopni registri sestavljajo programski model procesorja. • To je izgled procesorja, kot ga vidi programer, ki programira v strojnem oz. zbirnem jeziku.
Rn Centralna procesna enota-CPE • CPE časovno vodi potek vseh dogajanj v računalniku: • prevzema ukaze iz pomnilnika, jih dekodira in časovno vodi izvršitev operacije, ki jo zahteva ukaz, • prenaša podatke v / iz pomnilnika ter k / od perifernih naprav, • se odziva na zahteve za prekinitev izvajanja tekočega zaporedja ukazov – prekinitve. K/od pomnilnika R1 ALE Ukazi/podatki R2 ... KE Zahteve za prekinitev od zunaj URA
Ukazni cikel Izvršilni cikel Prevzemni cikel CPE – osnove delovanja • Glavna naloga CPE je izvrševanje ukazov. • CPE izvršuje ukaz za ukazom. • Ko do konca izvrši tekoči ukaz, začne s prevzemom naslednjega. • Času, ki je potreben za izvršitev enega ukaza, pravimo ukazni cikel. • Ukazni cikel sestavljata: • (Ukazno) prevzemni cikel – prevzem ukaza iz pomnilnika, • Izvršilni cikel – izvršitev operacije, ki jo zahteva ukaz.
CPE – osnove delovanja Prevzem ukaza Ukazno prevzemni cikel Dekodiranje ukaza Zahteva za prekinitev Izvršitev ukaza Izvršilni cikel Prekinitev? Izvršitev prekini- tvene operacije
CPE – ukazi • Izvršitev ukaza zahteva več strojnih ciklov. • Strojni cikel je čas, ki ga procesor rabi za izvršitev določene operacije: • notranje operacije, npr. seštevanje dveh števil, • zunaje operacije, dostop do pomnilnika. • Vsi ukazi (v splošnem) ne trajajo enako dolgo. • Ukaz se praviloma izvrši atomično.
CPE – ukazi • Ukaz sestavlja določeno število bitov: • določilo operacije (operacijska koda) in • določilo operandov, ki sodelujejo v operaciji. Polje operacije Polje operandov Določilo operacije Določila operandov Dolžina ukaza • Z obliko ukaza je določeno, kateri biti pomenijo operacijo in kateri operande. • CPE ima več ukazov, ki sestavljajo množico oziroma nabor ukazov. • Vsi ukazi so lahko ene same oblike ali pa so več različnih oblik. • Vsi ukazi so lahko ene same dolžine ali pa so različnih dolžin. • En ukaz lahko obsega eno samo pomnilniško besedo ali več besed. • Tipično: ukazi različnih dolžin, obsegajo več zaporednih pomnilniških besed.
CPE – programski model • Programski model je izgled procesorja s stališča programerja. • Sestavljajo ga registri, na katere ima programer z ukazi neposreden vpliv. • Tipičen programski model obsega: • vsaj en podatkovni register (akumulator) - A, • vsaj en naslovni register (indeksni register) - X, • skladovni kazalec (za sistemski sklad) - SP, • programski števec (naslov tekočega oz. naslednjega ukaza) - PC, • register zastavic oziroma stanja (register pogojnih kod) CCR. A X SP PC CCR
100 102 101 97 00 02 CPE – izvrševanje ukaza • Napolni akumulator z vsebino pomnilniške besede z naslovom $200 • Naj bo pomnilnik 8-biten. • Naj bo vsebina pomnilniške besede $7F. • Naj bo ukaz 3-bajten, 1 bajt za op.kodo, dva bajta za naslov operanda. • Naj bo operacijska koda ukaza $97. • Naj bo ukaz na naslovih $100, $101, $102 (Naslov ukaza je $100). • Simbolično: A ← ($0200), PC ← PC + 3
Po Pred nedef $7F nepomembno nepomembno nepomembno nepomembno $100 $103 CCR CCR CPE – izvrševanje ukaza AR←PC, PC←PC+1; prevzem op.kode DR←(AR), IR←DR; in dekodiranje AR←PC, PC←PC+1; prevzem naslova DR←(AR), ORH←DR; operanda, zg.del AR←PC, PC←PC+1; prevzem naslova DR←(AR), ORL←DR, operanda, sp.del AR←OR,DR←(AR), A←DR; branje podatka IR – (“skriti”) ukazni register OR – (“skriti”) operandi register
4 3 5 1 2 Strojni cikel 0103 Naslovno v. 0100 0101 0102 0200 Op.k. Podatkovno v. 97 02 00 7F Prevzemni cikel Izvršilni cikel CPE – izvrševanje ukaza • V tem primeru ukazni cikel traja 4 strojne cikle. • Prevzemni cikel traja 3 strojne cikle. • Izvršilni cikel traja en strojni cikel. • Vsi pomnilniški cikli so bralni cikli.
CPE – načini naslavljanja • Pod načinom naslavljanja razumemo način, kako je v ukazu podan operand oziroma pravilo, kako CPE pride do operanda. • Načeloma način naslavljanja spada k določilu operanda, večkrat pa je “skrit” (zakodiran) v operacijski kodi. • Osnovni načini naslavljanja (angl. Addressing Modes) • Takojšnje • Neposredno (direktno) • Posredno (indirektno) • Relativno
Določilo operacije Operand Nedef. $100 $102 Načini naslavljanja - takojšnje • V polju operanda je kar operand (primeren za podajanje konstant) • Primer: napolni akumulator z vrednostjo $55 Pomnilnik Op.Koda 100 101 $55 A A $55 PC PC CPE - pred CPE – po operaciji
Op.Koda $100 $200 $101 $102 $02 $55 $00 Nedef. Nedef. $55 A A PC PC CPE – po operaciji CPE - pred $100 $103 $100 $103 Načini naslavljanja - neposredno • V polju operanda je naslov operanda (primeren za podajanje spremenljivk) Naslov operanda Določilo operacije • Primer: napolni akumulator z vsebino pom. besede z naslovom $200 A Pomnilnik Pomnilnik Op.Koda $100 PC $101 $02 $102 $00 CPE - pred A $55 $200 $55 PC
Načini naslavljanja - neposredno • Običajno ima CPE več (programsko dostopnih) registrov. • V tem primeru je pri neposrednem načinu naslavljanja v polju operanda ukaza določilo (naslov) registra. • Kadar je operand v registru rečemo tudi, da gre za registrsko (neposredno) naslavljanje. • Dostop do operandov v registrih (procesorja) je vedno hitrejši od dostopa do operandov v pomnilniku.
Naslov naslova operanda Določilo operacije Načini naslavljanja - posredno • V polju operanda je naslov naslova operanda. Primeren je za “računanje” in spreminjanje naslovov spremenljivk. • Posreden način naslavljanja daje podlago za realizacijo podatkovnih tipov in struktur kot so: kazalci, polja, drevesa, vrste, povezani seznami, ..., • zahteva pa dodaten dostop do pomnilnika.
$55 Nedef. A A PC PC CPE - pred CPE – po operaciji $103 $100 Načini naslavljanja - posredno • Primer: napolni akumulator z vsebino pom. besede z naslovom na naslovu $200. Pomnilnik $AA $55 Op.Koda $100 $101 $02 $102 $00 $200 $AA
Načini naslavljanja - posredno • Kadar je naslov operanda v registru pravimo, da gre za registrsko posredno naslavljanje. • Registrom CPE, ki služijo naslavljanju (operandov), to je vsebujejo naslov operanda, pravimo naslovni registri. • Naslovne registre poimenujemo glede na operacije z njimi: • indeksni registri, • bazni registri. • Načini naslavljanja pa so potem: • indeksno naslavljanje, • bazno naslavljanje. • Pri baznem naslavljanju vsebuje (bazni) register začetni naslov daljšega zaporedja pomnilniških naslovov. • Pri indeksnem naslavljanju vsebuje (indeksni) register (poln) naslov operanda. • Z indeksnim registrom so možne operacije: • inkrementiranja, • dekrementiranja, • pred ali po operaciji in • skaliranje.
Načini naslavljanja – registrsko posredno • Pri registrskem posrednem načinu naslavljanja je naslov operanda določen takole: EA = (R) + o EA = efektivni oziroma dejanski naslov operanda, R = naslovni (bazni, indeksni) register, o = odmik, vrednost v polju operanda ukaza. OP.: dejanski naslov je naslov, na katerega se nanaša operacija. Op. koda Register Odmik + (R) Operand
Določilo operacije Odmik Načini naslavljanja - relativno • Naslov operanda je določen relativno glede na vsebino programskega števca. • EA = PC + Odmik • Tak način daje podlago premakljivim programom.
Načini naslavljanja – relativno Op. koda naslov Odmik + PC Operand
Nedef. $100 $102 Načini naslavljanja - relativno Pomnilnik Op.Koda $100 A $101 $10 $102 PC CPE - pred $112 A $55 $55 PC CPE – po operaciji
Povzetek Pomnilnik: linearno zaporedje pomnilniških besed, dostop do pomnilnika, vrste pomnilnikov. CPE : programski model, ukazi, načini naslavljanja.