Kešatmiņa vs virtuālā atmiņa
Atšķirība starp kešatmiņu un virtuālo atmiņu pastāv nolūkā, kādam šie divi tiek izmantoti, un fiziskajā esībā. Kešatmiņa ir atmiņas veids, ko izmanto, lai uzlabotu galvenās atmiņas piekļuves laiku. Tas atrodas starp CPU un galveno atmiņu, un kešatmiņām var būt vairāki līmeņi, piemēram, L1, L2 un L3. Kešatmiņā izmantotās aparatūras veids ir daudz dārgāks nekā RAM (Random Access Memory), ko izmanto galvenajai atmiņai, jo kešatmiņa ir daudz ātrāka. Šī iemesla dēļ kešatmiņas ietilpība ir ļoti maza. Virtuālā atmiņa ir atmiņas pārvaldības tehnika, ko izmanto, lai efektīvi izmantotu RAM (galveno atmiņu), vienlaikus nodrošinot katrai programmai atsevišķu atmiņas vietu, kas ir pat lielāka par faktisko fiziskās RAM (galvenās atmiņas) ietilpību. Šeit cietais disks tiek izmantots atmiņas paplašināšanai. Fiziskajā RAM atmiņā esošie vienumi tiek pārvietoti uz priekšu un atpakaļ ar cieto disku.
Kas ir kešatmiņa?
Kešatmiņa ir atmiņas veids, kas atrodas starp CPU (centrālais procesors) un RAM (brīvpiekļuves atmiņa). Kešatmiņas mērķis ir samazināt CPU atmiņas piekļuves laiku no RAM. Kešatmiņa ir daudz ātrāka nekā RAM. Tātad piekļuves laiks kešatmiņā ir daudz mazāks nekā RAM piekļuves laiks. Bet kešatmiņā izmantotās atmiņas izmaksas ir daudz lielākas nekā atmiņas, kas tiek izmantotas RAM, un līdz ar to kešatmiņas ietilpība ir ļoti maza. Kešatmiņā izmantoto atmiņas veidu sauc par SRAM (Static Random Access Memory).
Ikreiz, kad centrālais procesors vēlas piekļūt atmiņai, tas vispirms pārbauda, vai nepieciešamais atrodas kešatmiņā. Ja jā, tā tam varēs piekļūt ar vismazāko latentumu. Ja tas neatrodas kešatmiņā, pieprasītais saturs tiks kopēts no RAM uz kešatmiņu, un tad tikai kešatmiņa tam piekļūs. Šeit, kopējot saturu no kešatmiņas, kešatmiņā tiek kopēts ne tikai pieprasītās atmiņas adreses saturs, bet arī tuvumā esošais saturs. Tātad nākamajā reizē ir liela varbūtība, ka kešatmiņa trāpīs, jo lielākā daļa datorprogrammu lielākoties piekļūst tuvumā esošajiem datiem vai pēdējiem datiem. Tātad kešatmiņas dēļ vidējā atmiņas aizture tiek samazināta.
Centrālajā procesorā ir trīs veidu kešatmiņas: instrukciju kešatmiņa, lai saglabātu programmas instrukcijas, datu kešatmiņa, lai saglabātu datu vienumus, un tulkošanas meklētājprogrammu buferis, lai saglabātu atmiņas kartējumus. Datu kešatmiņai parasti ir daudzlīmeņu kešatmiņas. Tas ir, ir vairākas kešatmiņas kā L1, L2 un L3. L1 kešatmiņa ir ātrākā, bet mazākā kešatmiņa, kas ir vistuvāk CPU. L2 kešatmiņa ir lēnāka nekā L1, bet lielāka par L1 un atrodas pēc L1 kešatmiņas. Šīs hierarhijas dēļ labāku vidējo atmiņas piekļuves laiku var sasniegt ar mazākām izmaksām.
Kas ir virtuālā atmiņa?
Virtuālā atmiņa ir atmiņas pārvaldības tehnika, ko izmanto datorsistēmās. Nav aparatūras, ko sauc par virtuālo atmiņu, taču tā ir koncepcija, kas izmanto RAM un cieto disku, lai nodrošinātu virtuālo adrešu vietu programmām. Vispirms RAM tiek sadalīts gabalos, kurus sauc par lapām, un tos identificē pēc fiziskās atmiņas adresēm. Cietajā diskā ir rezervēta īpaša daļa, kur Linux to sauc par mijmaiņas darījumu, un sistēmā Windows - par lapas failu. Uzsākot programmu, tai tiek piešķirta virtuālā adreses telpa, kas var būt pat lielāka par faktisko fizisko atmiņu. Virtuālā atmiņa ir sadalīta arī daļās, kuras sauc par lapām, un katru šo virtuālās atmiņas lapu var kartēt ar fizisku lapu. Tabula ar nosaukumu table table izseko šo kartēšanu. Kad fiziskajā atmiņā pietrūkst vietas, tiek izdarīts,noteiktas fiziskās lapas tiek pārvietotas uz šo cietā diska īpašo daļu. Kad jebkura lapa, kas ievietota cietajā diskā, atkal ir nepieciešama, tā tiek ievietota fiziskajā atmiņā, ievietojot citu izvēlēto lapu no fiziskās atmiņas cietajā diskā.
Kāda ir atšķirība starp kešatmiņu un virtuālo atmiņu?
• Kešatmiņa ir atmiņas veids, ko izmanto, lai uzlabotu galvenās atmiņas piekļuves laiku. Tas ir ātrāks atmiņas veids, kas atrodas starp CPU un RAM, lai samazinātu vidējo atmiņas piekļuves latentumu. Virtuālā atmiņa ir atmiņas pārvaldības metode, kur tā ir koncepcija, kas ļauj programmām iegūt savu virtuālās atmiņas vietu, kas ir pat lielāka par reālo pieejamo fizisko RAM.
Kešatmiņa ir aparatūras atmiņas veids, kas faktiski pastāv fiziski. No otras puses, nav aparatūras, ko sauc par virtuālo atmiņu, jo tā ir koncepcija, kas virtuālās atmiņas veida nodrošināšanai izmanto RAM, cieto disku, Atmiņas pārvaldības bloku un programmatūru.
• Kešatmiņas pārvaldību pilnībā veic aparatūra. Virtuālo atmiņu pārvalda operētājsistēma (programmatūra).
Kešatmiņa atrodas starp RAM un procesoru. Datu pārsūtīšana ietver RAM, kešatmiņu un procesoru. Savukārt virtuālā atmiņa ietver datu pārsūtīšanu starp RAM un cieto disku.
• Kešatmiņas aizņem mazus izmērus, piemēram, kilobaitus un megabaitus. Savukārt virtuālā atmiņa ietver milzīgus izmērus, kas prasa gigabaitus.
• Virtuālā atmiņa ietver datu struktūras, piemēram, lapu tabulas, kurās tiek glabāta kartēšana starp fizisko atmiņu un virtuālo atmiņu. Bet šāda veida datu struktūras kešatmiņai nav nepieciešamas.
Kopsavilkums:
Kešatmiņa vs virtuālā atmiņa
Kešatmiņa tiek izmantota, lai uzlabotu galvenās atmiņas piekļuves laiku, savukārt virtuālā atmiņa ir atmiņas pārvaldības metode. Kešatmiņa ir faktiska aparatūra, taču nav aparatūras, ko sauc par virtuālo atmiņu. RAM, cietais disks un cita cita aparatūra kopā ar operētājsistēmu rada virtuālās atmiņas koncepciju, lai katrai programmai nodrošinātu lielas un izolētas virtuālās atmiņas vietas. Kešatmiņā esošo saturu pārvalda aparatūra, savukārt virtuālajā atmiņā esošo saturu - operētājsistēma.
Attēli Pieklājība:
- Kešatmiņas process, ko veicis Hellisp (CC BY-SA 3.0)
- Ehamberga virtuālā atmiņa (CC BY-SA 3.0)