zgradba računalnika
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
http://vision.fe.uni-lj.si/classes/GSPV
GSPV (2)
Gradniki sistemov procesnega vodenja
Stanislav Kovačič
Univerza v Ljubljani
Fakulteta za elektrotehniko
Zgradba računalnikaZgradba računalnika
CPE – centralna procesna enota, procesor Pomnilnik Vhodno izhodne enote Sistem povezav oziroma vodil
V/I CPE Pom.
PomnilnikPomnilnik
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.
PomnilnikPomnilnikNaslov Vsebina
Pomnilnik
0
12
54
7
6
3
N-1
N
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.
PomnilnikPomnilnik-pomnilniška beseda-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
an-1 an-2 a0a1a2.... bm-1 bm-2 b0b1b2
....n-bitni naslov m-bitna vsebina
Pomnilnik in CPEPomnilnik 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 – dostop do pomnilnikaCPE – 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.
Naslov
Podatek
PomnilnikCPEAR
DR
Beri/pišiKE
1. CPE postavi naslov pomnilniške besede na
naslovno vodilo - naslovi pomnilnik.
2. CPE določi smer prenosa, postavi signal beri/piši.
3. CPE poskrbi za prenos podatka po podatkovnem vodilu.
AR:
Naslovni
register
DR:
Podatkovni
register
Pomnilnik in CPEPomnilnik 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).
dostopa čas1
cikel ipomnilnišk1 dostopahitrost
Pomnilnik in CPEPomnilnik 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.
Zahteva
Pomnilniški cikel
Dostopni čas
Podatek prisoten
ali ni več potreben
PomnilnikPomnilnik-vrste pomnilnikov-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).
PomnilnikPomnilnik-vrste pomnilnikov-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.
PomnilnikiPomnilniki-glede na dostop-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, ..., ?
Centralna procesna enota-CPECentralna procesna enota-CPE CPE v grobem sestavljajo:
kontrolna enota (KE), aritmetično logična enota (ALE), registri.
ALE
KE
R1
R2
Rn
.
.
.
Podatkovno vodilo
Naslovno vodilo
Kontrolno vodilo
URA Programsko dostopni registri sestavljajo programski model procesorja. To je izgled procesorja, kot ga vidi programer, ki programira
v strojnem oz. zbirnem jeziku.
Centralna procesna enota-CPECentralna 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.
ALE
KE
R1
R2
Rn
.
.
.
Ukazi/podatki
K/od pomnilnika
Zahteve za prekinitev
od zunaj
URA
CPE – osnove delovanjaCPE – 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.
Ukazni cikel
Prevzemni
cikel
Izvršilni
cikel
CPE – osnove delovanjaCPE – osnove delovanja
Zahteva za
prekinitev
Prevzem ukaza
Dekodiranje
ukaza
Izvršitev
ukaza
Prekinitev?
Izvršitev prekini-
tvene operacije
Ukazno
prevzemni
cikel
Izvršilni
cikel
CPE – ukaziCPE – 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 – ukaziCPE – ukazi
Ukaz sestavlja določeno število bitov: določilo operacije (operacijska koda) in določilo operandov, ki sodelujejo v operaciji.
Določilo operacije Določila operandov
Polje operacije Polje 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 modelCPE – 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
CPE – izvrševanje ukazaCPE – 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
97 02 00
100 101 102
CPE – izvrševanje ukazaCPE – izvrševanje ukaza
nedefnepomembno
$100CCR
nepomembno
Pred
$7Fnepomembno
$103CCR
nepomembno
Po
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
CPE – izvrševanje ukazaCPE – izvrševanje ukaza
Naslovno v.
Podatkovno v.
0100 0101 0102 0200
97 02 00 7F
0103
Op.k.
1 2 3 4 5 Strojni cikel
Prevzemni cikel Izvršilni cikel
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 naslavljanjaCPE – 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
Načini naslavljanja - takojšnjeNačini naslavljanja - takojšnje
V polju operanda je kar operand (primeren za podajanje konstant)
Določilo
operacijeOperand
Primer: napolni akumulator z vrednostjo $55
CPE - pred
PC
A Nedef.
$100
CPE – po operaciji
PC
A $55
$102
100
101 $55
Pomnilnik
Op.Koda
Načini naslavljanja - neposrednoNačini naslavljanja - neposredno
V polju operanda je naslov operanda (primeren za podajanje spremenljivk)
Določilo
operacije
Naslov
operanda
Primer: napolni akumulator z vsebino pom. besede z naslovom $200
CPE - pred
PC
A Nedef.
$100
CPE – po operaciji
PC
A $55
$103
Pomnilnik
$100
$101 $02
Op.Koda
$200 $55
$102 $00 CPE - pred
PC
A Nedef.
$100
PC
A
$103
Pomnilnik
$100
$101 $02
Op.Koda
$200 $55
$102 $00
$55
Načini naslavljanja - neposrednoNač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.
Načini naslavljanja - posrednoNač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.
Določilo
operacije Naslov naslova
operanda
Načini naslavljanja - posrednoNačini naslavljanja - posredno
Primer: napolni akumulator z vsebino pom. besede z
naslovom na naslovu $200.
CPE - pred
PC
A Nedef.
$100
CPE – po operaciji
PC
A $55
$103
Pomnilnik
$100
$101 $02
Op.Koda
$200 $AA
$102 $00
$AA $55
Načini naslavljanja - posrednoNač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 – Načini naslavljanja – registrsko posrednoregistrsko 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
+
Operand
(R)
Načini naslavljanja - relativnoNačini naslavljanja - relativno
Naslov operanda je določen relativno
glede na vsebino programskega števca.
Določilo
operacijeOdmik
EA = PC + Odmik
Tak način daje podlago premakljivim programom.
Načini naslavljanja – relativnoNačini naslavljanja – relativno
Op. koda Odmik
+
Operand
PC
naslov
Načini naslavljanja - relativnoNačini naslavljanja - relativno
CPE - pred
PC
A Nedef.
$100
CPE – po operaciji
PC
A
$102
$100
$101 $10
Pomnilnik
Op.Koda
$102
$112 $55 $55
PovzetekPovzetek
Pomnilnik:
linearno zaporedje pomnilniških besed,
dostop do pomnilnika,
vrste pomnilnikov.
CPE :
programski model,
ukazi,
načini naslavljanja.