Glavni pomnilnik je v veliki meri določen že s samo definicijo von Neumamiovega računalnika. Glavni pomnilnik je s stališča CPE videti kot enodimenzionalno zaporedje pomnilniških besed, od katerih ima vsaka svoj naslov. Pogosto se namesto izraza pomnilniška beseda uporablja tudi izraz pomnilniška lokacija. Pomnilniška beseda je običajno sestavljena iveč pomnilniških celic, od katerih je vsaka sposobna hraniti en bit informacije.
slika: Glavni pomnilnik
Dolžina pomnilniške besede je izraz, ki pove, koliko je pomnilniških Število celic v pomnilniški besedi. Dandanes je na aktualnih računalnikih od enega bita do 64 bitov, najpogostejša dolžina besede danes pa je 8 bitov. Razdelitvi bitov na besede se obravnava tudi kot organizacija pomnilnika. Pojem pomnilniška beseda običajno ne pomeni isto kot pojem dolžina besede računalnika. Dolžina besede računalnika za programerja največkrat enaka dolžini registrov v CPE. Pri računalnikih imamo torej opraviti z več različnimi pojmi dolžine besede. Je pa običajno, da sta obe dolžini pomnilniške besede povezani s celoštevilnčnim množilnikom, zelo nepraktično bi bilo, če bi imel 32-bitni računalnik priključen 10-bitni pomnilnik. Pomnilniško besedo se lahko določi kot najmanjše število bitov s svojim naslovom. Razlikovanje med naslovom besede in vsebino besede je zelo pomembno za pravilno razumevanje delovanja glavnega pomnilnika.
Velja naslednje:
Dolžine pomnilniške besede ne smemo zamenjevati z dolžino registrov v CPE. Pri mnogih računalnikih namreč CPE lahko dostopa do več sosednjih pomnilniških besed naenkrat. Drugače povedano: dostopiti ni mogoče do manj kot ene besede, možni pa so dostopi do več sosednjih besed naenkrat. Pri CPE z 32-bitnimi registri, ki ima 8-bitno dolžino pomnilniškebesede, so npr. lahko možni dostopi do 4 besed naenkrat (lahko tudi samo do 1, 2 ali 3). Seveda mora biti glavni pomnilnik temu ustrezno narejen. Predstavljamo si ga lahko kot 4 paralelno delujoče pomnilnike, v katerih so 4 sosednje besede. Ker imamo pri vsakem dostopu samo 1 naslov, je ta seveda enak za vse 4 pomnilnike - zato je možno naenkrat možno dostopiti samo do sosednjih besed in ne do poljubnih. Pri delovanju potrebuje tak pomnilnik dodatne signale, ki povedo, do koliko besed se dostopa. Te signale, enako kot naslove, generira CPE, pri enobesednih dostopih se z njimi izbere eden od štirih pomnilnikov. pri večbesednih dostopih ti signaliaktivirajo vse 4 pomnilnike, lahko pa tudi samo 2 ali 3.
CPE komunicira z glavnim pomnilnikom tako, da poda naslov besede in vrsto komuniciranja. Pod vrsto komuniciranja mislimo smer prenosa informacije in pri mnogih računalnikih tudi število besed, ki naj se prenesejo naenkrat. Smer prenosa je ali branje (prenos v CPE), ali pisanje (prenos iz CPE). Namesto branje in pisanje pogosto rečemo dostop do pomnilnika.
Zelo pomembna lastnost komuniciranja s pomnilnikom je njegova nedeljivost. S tem želimo reči, da dostop do pomnilnika potem, ko se je pričel, ni mogoče prekiniti. Na mnogih računalnikih poznamo poleg bralnih in pisalnih dostopov tudi tako imenovanih bralno-spreminjevalni in pisalni dostop (angl. read-modify-write). Pri tem dostopu se podatek prebere, spremeni in vpiše nazaj na isti naslov v enem nedeljivim dostopu.
komunikacija med CPE in glavnim pomnilnikom je običajno realizirana s povezavami.
V CPE imamo za ta namen dva registra: naslovni register (angl. address register) in podatkovni register (angl. Data Register). Kot že ime pove, se v AR nahaja naslov lokacije v katero ali iz katere želimo prenesti podatek. Podatkovni register vsebuje podatke, ki ga pišemo ali beremo iz naslovljene lokacije. Ta registra se včasih označujeta tudi MAR in MDR (angl. Memory Address Register, Memory Data Register). Signali, ki jih aktivira kontrolna enota, določajo vrsto prenosa in tudi njegov začetek in konec. Dolžina naslovnega registra AR je enaka dolžini naslova in določa največje število pomnilniških lokacij, ki jih CPE lahko naslovi. Pri n-bitov dolgih naslovih lahko CPE naslovi 2n besed glavnega pomnilnika. Pravimo tudi, da dolžina naslova določa velikost naslovnega prostora. Ker se ukazi praviloma lahko nahajajo kjerkoli v pomnilniku, morabiti programerski števec PC najmanj tako dolg kot AR.Samo tako namreč lahko PC vsebuje naslov poljubnega ukaza v glavnem pomnilniku. Ta ugotovitev je sicer očitna, vendar zato nič manj važna. Kot kaže vrsta primerov iz sveta resničnih računalnikov (npr. PDP11, NOVa, hP2100, IBM 1130), je gledano s stališča možnosti za nadaljnji razvoj, najhujša napaka, ki jo lahko zagrešijo razvijalci, prav v izbiri prekratkih AR in PC ter s tem premajhnega naslovnega prostora.
Dolžina podatkovnega registra DR določa število bitov, ki se naenkrat lahko prenesejo med CPE in glavnim pomnilnikom. dolžina DR je praktično vedno enaka mnogokratniku dolžine pomnilniškebesede in očitno vpliva na zmogljivost računalnika. Njeno povečevanje pa je, v nasprotju s povečevanjem AR, preprosta zadeva. Poznamo vrsto računalnikov (npr. serija IBM 370), ki so za programerja na nivoju strojnega jezika videti identično, imajo pa zelo različno dolge registre DR. Pri seriji IBM 370 se dolžina DR giblje od 8 bitov pri najmanjših modelih (npr. 360/25) do 8×64 bitov pri največjih modelih (npr. 3033). Kljub temu so za programerja vsi videti identični. Seveda je pri krajših DR v resnici potrebno po več dostopov od pomnilnika pri prenosu npr. 32-bitnega operanda, vendar programer tega ne vidi.
Lastnosti glavnega pomnilnika v von Neumannovem računalniku lahko povzamemo v naslednjih štirih točkah:
Zaradi teh lastnosti so von Neumannovi računalniki zelo splošno v smislu, da dovoljujejo praktično vse vrste operacij. Po mnenju mnogih je ta splošnost prevelika. S tem želimo reči, dabibilo po njihovem mnenju koristno semantični prepad zmanjšani z drugačno zasnovo pomnilnika in CPE, namesto da se njegovo premoščenje vceloti prepušča programski opremi. Tako smo pravzaprav že zašli v kritiko von Neumannove arhitekture, ki je danes vroča tema računalništva in ki jobomo načenjali še večkrat.
Pomnilniki so razporejeni v dve skupini. V prvi so tisti z zaporednim dostopom, v drugi pa tisti z naključnim dostopom. Za pomnilnike za naključnim dostopom je značilno, da podatek shranijo ali ga preberejo s katerekoli lokacije vedno v istem času, imenovanem dostopni čas.
Glavni pomnilnik je sestavljen izbralnega pomnilnika ROM (angl. read-only memory) in bralno pisalnega pomnilnika RWM (angl. read-write memory), običajno je bralno-pisalni pomnilnik RAM (angl. random access memory).
Program za zagon in za vodenje računalnika je shranjen v stalnem pomnilniku, običajno v ROM. V RAM pa so shranjeni uporabniški programi in podatki. Ti so v pomnilniku samo začasno, dokler ima pomnilnik napajanje.
SERŠ Maribor, Strokovna gimnazija, leto: 2002, avtor: Rok Teržan