Pomnilniška hierarhija
V računalniških sistemih srečamo več vrst pomnilniških enot, ki jih lahko razdelimo glede na hitrost dostopa do njih in pa glede na trajnost hranjenja zapisanih informacij na njih. Pomnilniška hierarhija je definirana kot zaporedje pomnilnikov, v katerem vsak pomnilnik komunicira samo s svojima sosedoma.
S pomnilniško hierarhijo želimo doseči, da CPE vidi velik, cenen in počasen pomnilnik ravno tako kot hiter in drag (zato tudi majhen) pomnilnik. To je možno doseči samo zaradi lokalnosti pomnilniških dostopov – brez lokalnosti bi bila pomnilniška hierarhija zanesljivo neuspešna. Celo z upoštevanjem lokalnosti se cilj hierarhije sliši preveč lep, da bi lahko ostalo samo pri tem. V resnici so s pomnilniškimi hierarhijami povezani tudi problemi, zaradi katerih postane računalnik bolj zapleten. Poleg tega delovanje pomnilniške hierarhije ni čisto enako kot pri običajnem enonivojskem glavnem pomnilniku.
Na sliki so na vrhu procesorjevi registri, ki so najhitrejše pomnilniške podenote. čisto na dnu hierarhične piramide so magnetni trakovi kot najpočasnejše enote. Enote od magnetnih diskov navzdol so trajni pomnilniki (z izjemo ROM), navzgor pa le začasni, ki hranijo informacijo le, dokler so priključeni na električno napajanje.
Gledano iz CPE se pomnilniška hierarhija od enonivojskega pomnilnika razlikuje v naslednjem:
Ta razlika je posledica nepopolnosti pri realizaciji hierarhije in seveda ni nekaj, kar bi si želeli. Kljub temu so ekonomske prednosti pomnilniške hierarhije tako velike, da skoraj vedno odtehtajo slabosti.
Z oddaljenostjo od CPE se torej zmanjšujeta cena in hitrost, povečuje pa se velikost pomnilnika. Najenostavnejši primer pomnilniške hierarhije so predpomnilniki. CPE, vedno poskuša najti podatek v predpomnilniku. Če je beseda, ki jo zahteva CPE, ni v njem, se naredi dostop do glavnega pomnilnika. Če je ni v glavnem pomnilniku, se mora najprej prenesti v glavni pomnilnik iz navideznega pomnilnika. Če je ni tudi predpomnilniku ...
V bistvu pa so lahko vse hitrejše pomnilniške enote predpomnilniki za počasnejše; recimo delovni pomnilnik za sekundarne pomnilnike (diske in trakove). Obratno pa služijo počasnejši pomnilniki, sploh stalni, za hranjenje kopij podatkov, ki se le kratkotrajno zadržujejo v obdelavah in s tem v hitrih pomnilnikih (denimo v procesorjevih registrih). S pametno izrabo pomnilniške hierarhije lahko dosežemo bistveno večjo zmogljivost programske opreme. če na primer zna prevajalnik čim več kode prevesti tako, da teče obdelava le znotraj procesorjevih registrov, se izognemo zamudnejšim branjem iz delovnega pomnilnika in vpisom vanj, kar zelo pospeši izvajanje. Na stalne pomnilnike pa podatke kopiramo (backup) za trajno shranjevanje.
SERŠ Maribor, Strokovna gimnazija, leto: 2004, avtor: Damjan Žmavc