Mis on mäluhaldusüksus?

Arvuti riistvara, mis vastutab arvuti mälusüsteemi haldamise eest, nimetatakse mäluhaldusüksuseks (MMU). See komponent toimib puhvrina CPU ja süsteemimälu vahel. Mäluhaldusüksuse poolt täidetavad funktsioonid võib tavaliselt jagada kolme valdkonda: riistvaramälu haldus, operatsioonisüsteemi mäluhaldus ja rakenduste mäluhaldus. Kuigi mäluhaldusüksus võib olla eraldiseisev kiibikomponent, on see tavaliselt integreeritud keskseadmesse (CPU).

Üldiselt sisaldab mäluhaldusega seotud riistvara muutmälu (RAM) ja mälu vahemälu. RAM on füüsiline salvestusruum, mis asub kõvakettal. See on arvuti peamine salvestusala, kus andmeid loetakse ja kirjutatakse. Mälu vahemälu kasutatakse teatud andmete koopiate hoidmiseks põhimälust. Protsessor pääseb ligi sellele mälu vahemälus olevale teabele, mis aitab kiirendada töötlemisaega.

Kui füüsilises mälus ehk RAM-is saab otsa, kasutab arvuti soovitud programmi käivitamiseks automaatselt kõvaketta virtuaalmälu. Mäluhaldusüksus eraldab mälu operatsioonisüsteemist erinevatele rakendustele. Virtuaalne aadressiala, mis asub keskseadmes, koosneb lehtedeks jagatud aadresside vahemikust. Lehed on sekundaarsed salvestusplokid, mis on võrdse suurusega. Automatiseeritud otsinguprotsess võimaldab operatsioonisüsteemil kasutada kõvakettale hajutatud salvestusruumi.

Selle asemel, et kasutaja saaks veateate, et mälu pole piisavalt, annab MMU süsteemile automaatselt korralduse luua rakenduse käivitamiseks piisavalt virtuaalset mälu. Rakenduse käitamiseks luuakse külgnev virtuaalmäluruum võrdse suurusega virtuaalmälu plokkidest. See funktsioon on selle protsessi tõhusaks ja tõhusaks toimimiseks peamine võti, kuna süsteem ei pea programmi nõuete täitmiseks looma ühtki virtuaalmälu tükki. Erineva suurusega mäluruumi loomine erineva suurusega programmide jaoks põhjustab probleemi, mida nimetatakse killustatuks. See võib kaasa tuua võimaluse, et suuremate programmide jaoks ei ole piisavalt vaba ruumi, kui kogu saadaolevast ruumist on tegelikult piisavalt.

Rakenduse mäluhaldus hõlmab programmi käitamiseks vajaliku mälu eraldamise protsessi olemasolevatest mäluressurssidest. Suuremates operatsioonisüsteemides võib töötada palju sama rakenduse koopiaid. Mäluhaldusüksus määrab sageli rakendusele mäluaadressi, mis vastab selle vajadustele kõige paremini. Lihtsam on määrata neile programmidele samad aadressid. Samuti saab mäluhaldusüksus jaotada mäluressursse programmidele vastavalt vajadusele. Kui toiming on lõpetatud, suunatakse mälu mujale kasutamiseks.
Mäluhaldusüksuse üks peamisi väljakutseid on tajuda, millal andmeid enam ei vajata ja neid saab ära visata. See vabastab mälu muudes protsessides kasutamiseks. Automaatne ja käsitsi mäluhaldus on selle probleemi tõttu muutunud omaette õppevaldkonnaks. Ebatõhus mäluhaldus kujutab endast suurt probleemi arvutisüsteemide optimaalse jõudluse osas.