POMNILNIŠKA HIERARHIJA |
Avtorji: Rok Dervarič, Bojan Petrovčič, Miha Vesel |
OPIS NALOGE:
Prikazati želimo delovanje predpomnilnika, pomnilnika in navideznega pomnilnika. S tem je mišljeno predvsem dogajanje ob zgrešitvah, glede na različne strategije zamenjav blokov. Pri tem bi lahko opazovali različne dejavnike, ki vplivajo na dostop do podatkov; prisotnost predpomnilnikov, širina vodila,... . Poskušali želimo tudi predstaviti dogajanje ob prekinitvah.
Opis računalnika:
Najprej naj navedem nekaj značilnosti računalnika, ki ga simulira spodnji applet. Velikost navideznega pomnilnika je 32 bajtov, kar pomeni, da potrebujemo za naslavljanje enega izmed bajtov 5 bitov. Navidezni naslov se mora pred samim dostopom do primarnega pomnilnika preslikati v fizični naslov. V našem primeru je dolžina fizičnega naslova enaka 4 bite, saj je glavni pomnilnik velikosti 16 baytov. Glavni pomnilnik je razdeljen na štiri bloke, izmed katerih sta dva zasedena s preslikovalno tabelo. V hierarhiji se nam pojavlja tudi asociativni predpomnilnik, ki je razdeljen na dva bloka. Vsak je velikosti dveh besed. Za naslavljanje v predpomnilniku tako rabimo v našem primeru le tri bite.
Preslikovalni predpomnilnik je najbližji procesorju. Skozi njega se vrši pospešena preslikava navideznega naslova v fizični naslov. V našem primeru vsebuje le eno preslikavo.
Navodila:
Pred začetkom simulacije je potrebno nastaviti nekatere parametre. V pomoč naj vam bo naslednji opis:
Strategije za zamenjavo strani ob zgrešitvi v glavnem pomnilniku
Zamenja se stran do katere najdlje
ni bil narejen dostop. Realizacija: Sklad. Tisto stran, ki je na dnu sklada
se zamenja in se jo da na vrh sklada, ostale pa se pomakne za eno mesto
navzdol.
Zamenja se stran, ki je najdlje
v glavnem pomnilniku. Realizacija: Ravno tako s skladom, le da se gleda
na čas prihoda.
Zamenja se stran, do katere
je bilo opravljenih najmanj dostopov. Realizacija: Pomnimo frekvence dostopov
do posameznih strani.
Stran
za zamenjavo se izbere naključno. Realizacija: Generator naključnih števil
nam da številko strani, ki jo bomo zamenjali.
Uporabljata se dve strategiji:
Tudi tu se uporabljata dve strategiji:
Natančno razlago delovanja pomnilniške hierarhije si oglejte v naslednjih knjigah: