Pomnilnik


Vrste pomnilnikov

Računalniški pomnilnik je na splošno opredeljen kot notranji ali kot zunanji pomnilnik.

Notranji pomnilnik, imenovan tudi "glavni ali primarni pomnilnik", se nanaša na pomnilnik, v katerem so shranjene relativno majhne količine podatkov, do katerih je mogoče hitro dostopati, ko računalnik deluje.

Zunanji pomnilnik, imenovan tudi "sekundarni pomnilnik", se nanaša na naprave za shranjevanje, ki lahko vztrajno ali zmeraj shranjujejo podatke. Lahko so vgrajene ali odstranljive naprave za shranjevanje. Primeri so trdi disk ali pogoni SSD, pogoni USB in zgoščenke.


Kakšne so vrste notranjega pomnilnika?

V osnovi obstajata dve vrsti notranjega pomnilnika: ROM in RAM.

ROM pomeni pomnilnik samo za branje. Je obstojen (non-volatile), kar pomeni, da lahko hrani podatke tudi brez napajanja. Uporablja se predvsem za  zagon računalnika.

Ko je operacijski sistem naložen, računalnik uporablja RAM (Random Access Memory, pomnilnik z naključnim dostopom), ki začasno hrani podatke, medtem ko centralna procesna enota (CPE) izvaja svoje naloge. Več kot imamo RAM-a na računalniku, manj potrebuje CPE  branja podatkov iz zunanjega ali sekundarnega pomnilnika, kar omogoča hitrejše delo računalnika. RAM je hiter, vendar je neobstojen (volatile), kar pomeni, da ne obdrži podatkov, če pride do izpada elektrike.

Zato je pomembno, da pred izklopom računalnika shranimo podatke na sekundarni pomnilnik.


Še več o glavnem pomnilniku


Pomnilnik tima RAM:

Obstajata dve glavni vrsti RAM Dynamic RAM (DRAM) in Static RAM (SRAM).


DRAM pogosto uporabljamo kot glavni pomnilnik računalnika. Vsaka pomnilniška celica DRAM je sestavljena iz tranzistorja in kondenzatorja v integriranem vezju, podatkovni bit pa je shranjen v kondenzatorju. Ker tranzistorji vedno puščajo majhno količino, se bodo kondenzatorji počasi praznili, kar bo povzročilo odtekanje informacij, shranjenih v njem; zato je treba DRAM osvežiti (z novim elektronskim nabojem) vsakih nekaj milisekund, da se ohranijo podatki.

SRAM je sestavljen iz štirih do šestih tranzistorjev. Podatke pomni, dokler je pod napetostjo in ga v nasprotju z DRAM ni potrebno periodično osveževati. Kot tak je  SRAM hitrejši, vendar tudi dražji, zaradi česar je DRAM bolj razširjen pomnilnik v računalniških sistemih.

Poznamo več vrst DRAM (SDRAM, RDRAM, DDR1, DDR2, DDR3,..). Razlikujejo se predvsem po hitrosti.

Poleg tipov DRAM in SRAM omenimo še NVRAM (Non-Volatile RAM). Ta obdrži podatke celo ob izklopu elektrike (primer: pomnilnik Flash)

Pomnilnik tipa ROM:  

ROM (Read Only Memory)  je pomnilnik samo za branje in obdrži podatke tudi brez električnega napajanja. Je bolj podoben trajnemu shranjevanju podatkov. Tako lahko shrani program za zagon računalnika (bootstrap loader), s katerim pri vklopu računalnika  naloži in zažene operacijski sistem. Imamo več vrts pomnilnikov ROM: PROM (programabilni ROM), EPROM (izbrisljiv PROM) in EEPROM (električno izbrisljiv PROM).



Zunanji ali sekundarni pomnilnik

Sekundarni pomnilnik je prostor, kjer se programi in podatki hranijo na dolgi rok. Običajne  sekundarne pomnilniške naprave so trdi disk in optični diski.


Trdi disk ima izjemno zmogljivost shranjevanja v primerjavi z glavnim pomnilnikom.Je običajno v vgrajen v notranjosti ohišja računalnika. Uporablja se za dolgoročno shranjevanje programov in podatkov. Podatki in programi na trdem disku so organizirani v datoteke. Datoteka je zbirka podatkov na disku, ki ima ime. Trdi disk ima lahko več 100 gigabajtov prostora in tudi več. To je več 100-krat večja zmogljivost od zmogljivosti glavnega pomnilnika. Trdi disk je počasnejši od glavnega pomnilnika. Če bi bil disk edina vrsta pomnilnika, bi se računalniški sistem  upočasnil do neuporabnosti. Razlog za dve vrsti skladiščenja je predvsem ta razlika v hitrosti in zmogljivosti.




Med delovanjem programov v računalniku ti niti ne potrebujejo vseh podatkov (pomnjenih na disku) naenkrat. Zato so podatki na zunanjem mediju organizirani v podatkovne bloke. Ko potrebujemo podatke iz datoteke, prenesemo v glavni pomnilnik le ustrezen podatkovni blok. In s temi podatki rokuje program, kot da bi bili to podatki iz datoteke (vendar ima hiter dostop, saj sta tako program kot tudi tak blok v glavnem pomnilniku).  Po morebitni spremembi takega podatkovnega bloka je (najkasneje na koncu) potrebno blok spet prepisati v datoteko (in jo tako posodobiti). 

Medtem ko procesor računalnik obdeluje z enim blokom podatkov v glavnem pomnilniku, se lahko naslednji blok podatkov z diska prebere v drug del glavnega pomnilnika in pripravi za procesor. Eno od opravil operacijskega sistema je upravljanje glavnega pomnilnika in diskov na ta način.

Kadar CPE potrebuje dostop do pomnilnika, najprej preveri predpomnilnik. Če podatkov ne najde v predpomnilniku, pogleda  v glavni pomnilnik. Prav tako prenese blok nedavnih podatkov v predpomnilnik. Za namestitev kopije novih podatkov briše  stare podatke v predpomnilniku.

Opomba: Prav zato, ker programi uporabljajo "kopijo podatkov" iz datoteke, moramo poskrbeti za posodobitev datotek pred izklopom računalnika ali preden izvlečemo ključek iz USB vrat.



Predpomnilnik (cache memory)

Podatki ali vsebina glavnega pomnilnika, ki jih CPE ponovno in vedno znova uporablja, so shranjeni v (hitrem)  predpomnilniku,. Tako lahko do njih zlahka dostopamo v krajšem času.

Razmerje zadetkov (Hit Ratio)

Učinkovitost predpomnilnika merimo z veličino, ki ji pravimo hit ratio. Ko CPE naslovi pomnilnik in najde podatek v predpomnilniku, pravimo temu zadetek (hit). Če pa iskanega podatka še ni štejemo to kot zgrešitev (miss). Razmerje zadetkov je računano po naslednji formuli:

Hit Ratio = Hit/(Hit + Miss)



Pomnilniška hierarhija


V načrtovanju računalniškega sistema je hierarhija pomnilnika izboljšava , ki lahko skrajša čas dostopa. Hierarhija pomnilnika temelji na obnašanju programa, ki je znano kot lokalnost naslovov. Leva slika prikazuje različne ravni hierarhije pomnilnika.

Pomožni oziroma sekundarni pomnilnik je običajno cca 1000 krat počasnejši od glavnega pomnilnika. Zato je na dnu hierarhije.

Predpomnilnik (cache) je približno 10 krat hitrejši od glavnega pomnilnika.


Kaj je s čim povezano?

Memory Organization Centralna procesna enota komunicira z glavnim pomnilnikom.
Pogosto uporabljeni podatki so CPE na voljo v hitrejšem predpomnilniku.

Trajno pomnjeni podatki so na sekundarnih pomnilnikih, do katerih ima CPE dostopa posredno preko vhodno izhodnih kanalov.




Metode dostopa do pomnilnika

Vsak tip pomnilnika je v bistvu zbirka številnih pomnilniških lokacij. Do dostopa do kakršnegakoli podatka v kateremkoli pomnilniku mora biti tak podatek lociran (vedeti moramo njegov naslov). Šele zatem lahko podatek berermo iz pomnilnika. Poznamo naslednje metode dostopanja do podatkov iz pomnilniških lokacij:

  1. Naključni dostop (Random Access): Glavni pomnilnik ima naključni dostop, pri čemer ima vsaka lokacija pomnilnika unikaten naslov. Do kateregakoli pomnilniškega naslova dostopamo v enakim času.
  2. Zaporedni dostop (Sequential Access): Pri tej metidi dostopamo do pomnilniških lokacij po vrsti. Tipično srečamo to pri trakovih
  3. Direktni dostop (Direct Acces):Pri tem načinu so podatki pomnjeni v sledeh. Vsaka sled ima ločeno bralno/pisalno glavo. Tipično srečamo to pri trdih diskih


Pomožen pomnilnik

Napravam,  ki zagotavljajo varnostno kopiranje, pravimo pomožni pomnilnik. Na primer: Magnetni diski in trakovi so pogosto uporabljene pomožne naprave. Druge naprave, ki so uporabne kot pomožni pomnilnik, so : magnetni bobni,  optični diski.

Tak pomožni pomnilnik ni  neposredno dostopen CPE. Dostopen je preko vhodno / izhodnih kanalov.