Vahemälu ja virtuaalse mälu vahel on erinevus nende kahe kasutamise eesmärgil ja füüsilises eksistentsis. 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älu võib olla mitmel tasemel, näiteks L1, L2 ja L3. Vahemälu jaoks kasutatav riistvara tüüp on palju kallim kui põhimälu jaoks 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äluhaldusmeetod, mida kasutatakse RAM-i (põhimälu) tõhusaks kasutamiseks, pakkudes igale programmile eraldi mäluruumi, mis on isegi suurem kui tegelik füüsilise RAM-i (põhimälu) maht. Siin kasutatakse kõvaketast mälu laiendamiseks. Füüsilises RAM-is olevad üksused edastatakse kõvakettaga edasi-tagasi.
Vahemälu on a mälu tüüp mis asub keskseadme (CPU) ja RAMi (muutmälu) vahel. 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älule juurdepääsu aeg palju väiksem kui RAM-i juurdepääsu aeg. Vahemälu jaoks kulunud mälu maksumus on aga palju suurem kui RAM-i jaoks kasutatava mälu hind ja seetõttu on vahemälu maht väga väike. Vahemälu jaoks kasutatava mälu tüüp on SRAM (staatiline juhusliku juurdepääsu mälu).
Kui CPU soovib mälu juurde pääseda, kontrollib ta esmalt, kas see, mida ta vajab, asub vahemälus. Kui jah, pääseb ta sellele juurde väikseima latentsusajaga. Kui see ei asu vahemälus, siis kopeeritakse taotletud sisu RAM-ist vahemällu ja vahemälust pääseb sellele juurde vaid CPU-le. Kui vahemälus sisu kopeeritakse, siis vahemällu kopeeritakse mitte ainult soovitud mäluaadressi sisu, vaid ka läheduses olev sisu. Niisiis on vahemälu tabamuse tekkimise tõenäosus järgmine kord, kuna enamus arvutiprogramme pääseb ligi läheduses olevatele andmetele või viimati andmetele juurdepääsuga. Seega on vahemälu tõttu vähenenud keskmine mälu latentsusaeg.
CPU-s on kolme tüüpi vahemälu: Juhendi vahemälu programmi juhiste talletamiseks, Andmete vahemälu andmeühikute salvestamiseks ja Tõlge välimuspuhver mälukaardistuste salvestamiseks. Andme vahemälu jaoks on üldiselt olemas mitmetasandilised vahemälud. See tähendab, et mitu vahemälu on L1, L2 ja L3. L1 vahemälu on kiireim, kuid väikseim vahemälu, mis on CPU-le 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älu juurdepääsu aja saavutada väiksemate kuludega.
Virtuaalne mälu on a mäluhaldustehnika kasutatakse arvutisüsteemides. Puudub riistvara, mida nimetatakse virtuaalmäluks, kuid see on kontseptsioon, mis kasutab RAM-i ja kõvaketast programmide virtuaalse aadressiruumi pakkumiseks. Esimene RAM jaguneb tükkideks, mida nimetatakse lehtedeks ja need identifitseeritakse füüsilise mälu aadresside järgi. Kõvakettale on reserveeritud spetsiaalne osa, kus Linuxi puhul nimetatakse seda swapiks ja Windowsis nimetatakse seda lehefailiks. Programmi käivitamisel antakse sellele virtuaalne aadressiruum, mis võib olla isegi suurem kui tegelik füüsiline mälu. Virtuaalne mäluruum jaguneb ka tükkideks, mida nimetatakse lehtedeks ja iga selle virtuaalse mälu lehe saab kaardistada füüsiliseks leheks. Tabel nimega leht tabel jälgib seda kaardistamist. Kui füüsilisel mälul hakkab ruumi otsa saama, siis tehakse see, siis tehakse teatud füüsilised lehed kõvaketta spetsiaalsesse ossa. Kui mõnda kõvakettale surutud lehte on jälle vaja, tuuakse see füüsilisse mällu, pannes füüsilisest mälust teine valitud leht kõvakettale.
• Vahemälu on mälu tüüp, mida kasutatakse põhimälule juurdepääsu aja parandamiseks. See on kiirem mälu tüüp, mis asub keskseadme ja RAM-i vahel, et vähendada mälule juurdepääsu keskmist latentsusaega. Virtuaalne mälu on mäluhaldusmeetod, kus kontseptsioon võimaldab programmidel hankida oma virtuaalse mäluruumi, mis on isegi suurem kui saadaolev reaalne füüsiline RAM.
• Vahemälu on tegelikult füüsiliselt eksisteeriv riistvaramälu tüüp. Teisest küljest puudub riistvara, mida nimetatakse virtuaalmäluks, kuna see on kontseptsioon, mis kasutab virtuaalse mälu pakkumiseks RAM-i, kõvaketast, mäluhaldusüksust ja tarkvara.
• Vahemäluhaldus toimub täielikult riistvara abil. Virtuaalset mälu haldab operatsioonisüsteem (tarkvara).
• Vahemälu jääb RAM-i ja protsessori vahele. Andmeedastus hõlmab RAM-i, vahemälu ja protsessorit. Virtuaalne mälu seevastu hõlmab andmete edastamist RAM-i ja kõvaketta vahel.
• Vahemälu mälud on väikese suurusega nagu kilobaidid ja megabaidid. Virtuaalne mälu hõlmab seevastu tohutuid vorminguid, mis võtavad gigabaiti.
• Virtuaalne mälu hõlmab andmestruktuure, näiteks lehetabeleid, mis salvestavad kaardid füüsilise mälu ja virtuaalse mälu vahel. Kuid seda tüüpi andmestruktuurid pole vahemälu jaoks vajalikud.
Kokkuvõte:
Vahemälu kasutatakse põhimälule juurdepääsu aja parandamiseks, samal ajal kui virtuaalne mälu on mäluhaldusmeetod. Vahemälu on tegelik riistvara, kuid puudub riistvara, mida nimetatakse virtuaalmäluks. RAM, kõvaketas ja mitmesugused muud riistvarad toodavad koos opsüsteemiga kontseptsiooni nimega virtuaalne mälu, et pakkuda igale programmile suuri ja eraldatud virtuaalseid mäluruume. Vahemälu sisu haldab riistvara, virtuaalse mälu sisu aga operatsioonisüsteem.
Pildid viisakalt: