Sicsile Koliko sam ja shvatio, ideja je da klasicna virtualna memorija nije memorijski isplativa kada se radi o procesima sa malim zauzecem memorije.. iz razloga sto u racunalu sa npr. 32 bitnim virtualnim adresama za proces koji je dimenzija tocno jedne stranice, npr. 4KiB memorije (dimenzija standardne stranice, kad u zadatku nije navedeno, to sam dns saznao) bi tablica stranicenja bila veca od samog procesa..
za navedeni primjer… 32 bita virtualna adresa i 4KiB stranica -> 12 bitova za adresiranje pomaka unutar stranice i 20 bitova za indeksiranje tablice preslikavanja -> 220 unosa u tablici preslikavanja -> uz pretpostavku 4B za jedan unos u tablici (to je neka standardna dimenzija, fizicka adresa u gl. memoriji + zastavice + bit valjanosti) -> sama tablica preslikavanja zauzima 220 unosa * 4B = 4MiB + jos dimenzije samog procesa a to je 4Kib
u principu za jedan proces koji zauzima samo jednu stranicu imamo citavu tablicu stranicnog preslikavanja koja ima popunjen samo jedan unos koji pokazuje na tu nasu jednu ucitanu stranicu…
RJESENJE PROBLEMA: dvorazinsko stranicenje
umjesto tablice stranicenja (stranicnog preslikavanja kako god) imamo stranicni imenik sa primjerice 512., relativno malo unosa (recimo istih pojedinacnih dimenzija - 4B) od kojih svaki referencira jednu (ili nijednu) tablicu stranicenja za minimalano 1 i maksimalno 512 potencijalnih tablica.. on i tablica sad dijele adresni prostor virtualne adrese, pa tako sada imamo 12 bitova za adresirati pomak unutar stranice dimenzija 4Kib (A0-A11), 9 bitova za adresirati 512 elemenata stranicnog imenika (A23-A31) i 11 bitova za adresiranje unosa u samoj tablici stranicenja (A12-A22) koja sad umjesto 220 ima 211 elemenata..
Za isti slucaj naveden gore sada nam zauzece glavne memorije izgleda ovako… 512 * 4B za stranicni imenik + 211 * 4B za tablicu = 2KiB + 8KiB = 10 KiB
kada tome dodamo zauzece same tablice dobivamo 10KiB + 4KiB = 14KiB sto znaci da smo smanjili zauzece memorije za isti proces sa priblizno 4MiB na 14KiB…
*** DISCLAIMER ***
s obzirom da ja nisam bio na predavanjima i da sam ucio po knjizi Građa racunala od Ribarica di se viserazinsko stranicenje niti ne spominje izuzev TLBa, ovo je samo moje tumacenje izvuceno na temelju prezentacije na temu virtualne memorije, ali sam poprilicno siguran da je ispravno.. kako tocno izgleda sadrzaj unosa u imeniku, kojim mehanizmima se osigurava da se ucita samo jedna tablica, a ne primjerice 511 praznih i jedna sa jednim unosom za ovaj konkretan primjer, neznam..
eto just my two cents..
ako netko vidi gresku u mojoj logici tu iznad, molim da me ispravite ispit je sutra 😮