Pomnilnik

V prejšnji enoti smo videli, da je pomnilnik eden od osnovnih gradnikov von Neumannovih računalnikov. Delimo ga na glavni pomnilnik (imenovan tudi primarni, delovni oz. hitri pomnilnik) in pomožni pomnilnik (sekundarni, zunanji pomnilnik). Do glavnega pomnilnika ima centralna procesna enota neposreden dostop, medtem ko je pomožni pomnilnik dostopen zgolj posredno prek vhodno-izhodnega sistema.

V glavnem pomnilniku so shranjeni ukazi programa, ki jih izvršuje centralna procesna enota, in podatki, ki jih program potrebuje, prav tako se vanj shranjujejo rezultati izvršenih ukazov. Glavni pomnilnik današnjih računalnikov je v obliki integriranih vezij, tj. elektronskih vezij, izdelanih na majhnih silicijevih ploščicah – čipih. Uporablja tehnologijo, ki ne omogoča trajnega hranjenja informacije. Ob odklopu napajanja se njegova vsebina izgubi. Zato potrebujemo pomožni pomnilnik, ki je obstojen, tj. ohranja vsebino tudi brez priključenega vira električne energije.

Pomožni pomnilnik predstavljajo naprave, kot so trdi diski, optični pogoni (CD, DVD, BluRay) in naprave s t.i. bliskovnim pomnilnikom (ang. flash memory), kot so USB-ključi (ang. USB flash drive), spominske kartice in diski SSD (ang. solid-state drive). Pomožni pomnilnik je običajno 100-krat do 1000-krat večji od glavnega pomnilnika, a obenem bistveno počasnejši. Dostop do podatkov, shranjenih v njem, traja do 1.000.000-krat dlje kot dostop do podatkov v glavnem pomnilniku.

Delitev pomnilnika na glavni pomnilnik in pomožni pomnilnik obstaja že skozi vso zgodovino računalništva in je posledica dejstva, da s trenutno obstoječimi tehnologijami še ne moremo izdelati pomnilnika, ki bi bil hkrati hiter, velik, obstojen in za povrhu še poceni. Glavni pomnilnik današnjih računalnikov je zato sestavljen iz več pomnilniških naprav, ki uporabljajo različne tehnologije. Naprave so med seboj povezane v t.i. pomnilniško hierarhijo, v kateri s pomočjo majhnih in hitrih pomnilniških naprav skušamo prikriti počasnost večjih pomnilnikov.


Glavni pomnilnik

Glavni pomnilnik je z vidika programerja videti kot linearno zaporedje pomnilniških besed, v katere zapisujemo in iz katerih beremo vsebino. Pri tem dolžina vsebine ni poljubna, temveč je omejena na število bitov, ki sestavlja pomnilniško besedo. Dolžina besede je danes največkrat 8 bitov.

Vsaka pomnilniška beseda ima svoj enoličen naslov. Branju in zapisovanju v pomnilnik pravimo pomnilniški dostop. Centralna procesna enota mora najprej izstaviti naslov pomnilniške besede, do katere želi dostopati, nato pa opravi sam dostop.

Organizacija pomnilnika, kot ga vidi programer.

Dolžina pomnilniške besede hkrati predstavlja najmanjšo količino bitov, do katerih dostopamo z enim pomnilniškim dostopom. To pomeni, da ne moremo dostopati do posameznih bitov v pomnilniški besedi. Drugače povedano, centralna procesna enota prebere vse bite iz ene besede ali pa zapiše v vse bite v besedi.