Vahemälu vs virtuaalne mälu
Vahe vahemälu ja virtuaalse mälu vahel on nende kahe kasutamise otstarbel ja füüsilises eksisteerimises. Vahemälu on teatud tüüpi mälu, mida kasutatakse põhimälu juurdepääsuaja parandamiseks. See asub keskseadme ja põhimälu vahel ning vahemälusid võib olla mitmel tasandil nagu L1, L2 ja L3. Vahemälu jaoks kasutatava riistvara tüüp on palju kulukam kui põhimäluks kasutatav RAM (Random Access Memory), kuna vahemälu on palju kiirem. Sel põhjusel on vahemälu maht väga väike. Virtuaalmälu on mäluhaldustehnika, mida kasutatakse RAM-i (põhimälu) tõhusaks kasutamiseks, pakkudes samal ajal iga programmi jaoks eraldi mäluruumi, mis on isegi suurem kui tegelik füüsiline RAM (põhimälu) maht. Siin kasutatakse kõvaketast mälu laiendamiseks. Füüsilises RAM-is olevad üksused edastatakse kõvakettaga edasi-tagasi.
Mis on vahemälu?
Vahemälu on mälu tüüp, mis jääb keskseadme (CPU) ja RAM-i (juhusliku juurdepääsuga mälu) vahele. Vahemälu eesmärk on vähendada protsessori mälule juurdepääsu aega RAM-ist. Vahemälu on palju kiirem kui RAM. Seega on vahemälu juurdepääsuaeg palju väiksem kui RAM-i juurdepääsuaeg. Kuid vahemälu jaoks kasutatava mälu hind on palju suurem kui RAM-i jaoks kasutatava mälu hind ja seetõttu on vahemälu maht väga väike. Vahemälu jaoks kasutatavat tüüpi mälu nimetatakse SRAM-iks (Static Random Access Memory).
Alati, kui protsessor soovib mälule juurde pääseda, kontrollib ta kõigepealt, kas see, mida ta vajab, asub vahemälus. Kui jah, oleks tal juurdepääs sellele kõige väiksema viivitusega. Kui see ei asu vahemälus, kopeeritakse taotletud sisu RAM-ist vahemällu ja siis pääseb sellele vahemälust juurde ainult protsessor. Siin kopeeritakse vahemälust sisu kopeerimisel vahemällu mitte ainult soovitud mäluaadressi sisu, vaid ka läheduses oleva sisu. Niisiis on järgmine kord vahemälu tabamise tõenäosus suur, kuna enamik arvutiprogramme pääseb enamasti ligi läheduses olevatele andmetele või viimati andmetele. Nii et vahemälu tõttu väheneb keskmine mälu latentsus.
CPU-s on kolme tüüpi vahemälusid: juhiste vahemälu programmi juhiste salvestamiseks, Andmete vahemälu andmeüksuste salvestamiseks ja Tõlkeotsingu puhver mälukaardistuste salvestamiseks. Andmevahemiku jaoks on üldiselt mitmetasandilised vahemälud. See tähendab, et vahemälusid on mitu nagu L1, L2 ja L3. L1 vahemälu on kiireim, kuid väikseim vahemälu, mis on protsessorile kõige lähemal. L2 vahemälu on aeglasem kui L1, kuid suurem kui L1 ja asub pärast L1 vahemälu. Selle hierarhia tõttu saab parema keskmise mälule juurdepääsu aja saavutada väiksemate kuludega.
Mis on virtuaalne mälu?
Virtuaalmälu on arvutisüsteemides kasutatav mäluhaldustehnika. Puudub riistvara, mida nimetatakse virtuaalseks mäluks, kuid see on kontseptsioon, mis kasutab RAM-i ja kõvaketast programmide jaoks virtuaalse aadressiruumi pakkumiseks. Kõigepealt jagatakse RAM tükkideks, mida nimetatakse lehtedeks ja need tuvastatakse füüsilise mälu aadresside järgi. Kõvakettal on reserveeritud spetsiaalne osa, kus Linuxis nimetatakse seda swapiks ja Windowsis lehefailiks. Programmi käivitamisel antakse talle virtuaalne aadressiruum, mis võib olla isegi suurem kui tegelik füüsiline mälu. Virtuaalmäluruum on jagatud ka tükkideks, mida nimetatakse lehtedeks ja iga selle virtuaalse mälu lehe saab kaardistada füüsilise lehega. Leht tabel nimega tabel jälgib seda kaardistamist. Kui füüsilises mälus saab ruumi otsa, siis tehakseteatud füüsilised lehed lükatakse kõvaketta sellesse spetsiaalsesse ossa. Kui mõnda kõvakettale lükatud lehte vajatakse uuesti, viiakse see füüsilisse mällu, asetades teise valitud lehe füüsilisest mälust kõvakettale.
Mis vahe on vahemälul ja virtuaalsel mälul?
• Vahemälu on teatud tüüpi mälu, mida kasutatakse peamise mälu juurdepääsuaja parandamiseks. See on kiirem mälutüüp, mis asub keskprotsessori ja RAM-i vahel, et vähendada keskmist mälule juurdepääsu latentsust. Virtuaalmälu on mäluhaldusmeetod, kus see on kontseptsioon, mis võimaldab programmidel saada oma virtuaalmäluruum, mis on isegi suurem kui tegelik saadaolev füüsiline RAM.
• Vahemälu on füüsiliselt tegelikult olemas olev riistvaramälu. Teisest küljest pole riistvara, mida nimetatakse virtuaalseks mäluks, kuna see on kontseptsioon, mis kasutab virtuaalset tüüpi mälu pakkumiseks RAM-i, kõvaketast, mäluhaldusseadet ja tarkvara.
• Vahemälu haldab täielikult riistvara. Virtuaalset mälu haldab operatsioonisüsteem (tarkvara).
• Vahemälu asub RAM-i ja protsessori vahel. Andmeedastus hõlmab RAM-i, vahemälu ja protsessorit. Virtuaalne mälu seevastu hõlmab andmete edastamist RAM-i ja kõvaketta vahel.
• Vahemälud võivad olla väikesed, näiteks kilobaiti ja megabaiti. Virtuaalmälu seevastu hõlmab tohutut suurust, mis võtab gigabaiti.
• Virtuaalmälu hõlmab selliseid andmestruktuure nagu lehe tabelid, mis salvestavad kaardistamise füüsilise mälu ja virtuaalse mälu vahel. Kuid seda tüüpi andmestruktuurid pole vahemälu jaoks vajalikud.
Kokkuvõte:
Vahemälu vs virtuaalne mälu
Vahemälu kasutatakse peamise mälu juurdepääsuaja parandamiseks, samas kui virtuaalne mälu on mäluhalduse meetod. Vahemälu on tegelik riistvara, kuid puudub riistvara, mida nimetatakse virtuaalseks mäluks. RAM, kõvaketas ja mitmesugused muud riistvarad koos opsüsteemiga toodavad kontseptsiooni, mida nimetatakse virtuaalseks mäluks, et pakkuda igale programmile suuri ja isoleeritud virtuaalmäluruume. Vahemälus olevat sisu haldab riistvara, virtuaalmälus olevat sisu opsüsteem.
Pildid viisakalt:
- Vahemälu protsess Hellispi poolt (CC BY-SA 3.0)
- Ehambergi virtuaalne mälu (CC BY-SA 3.0)