Diferența dintre memoria cache și memoria virtuală

Cuprins:

Diferența dintre memoria cache și memoria virtuală
Diferența dintre memoria cache și memoria virtuală

Video: Diferența dintre memoria cache și memoria virtuală

Video: Diferența dintre memoria cache și memoria virtuală
Video: Personal Vs Professional Ethics 2024, Noiembrie
Anonim

Memorie cache vs memoria virtuală

Diferenta dintre memoria cache si memoria virtuala exista in scopul pentru care acestea doua sunt folosite si in existenta fizica. Memoria cache este un tip de memorie folosit pentru a îmbunătăți timpul de acces al memoriei principale. Se află între CPU și memoria principală și pot exista mai multe niveluri de cache, cum ar fi L1, L2 și L3. Tipul de hardware folosit pentru memoria cache este mult mai costisitoare decât RAM (Random Access Memory) folosită pentru memoria principală, deoarece memoria cache este mult mai rapidă. Din acest motiv, capacitatea memoriei cache este foarte mică. Memoria virtuală este o tehnică de gestionare a memoriei utilizată pentru a utiliza eficient RAM (memoria principală), oferind în același timp un spațiu de memorie separat pentru fiecare program, care este chiar mai mare decât capacitatea reală a RAM fizică (memoria principală). Aici hard disk-ul este folosit pentru a extinde memoria. Elementele din memoria RAM fizică sunt transferate înainte și înapoi cu hard diskul.

Ce este memoria cache?

Memoria cache este un tip de memorie care se află între CPU (unitatea centrală de procesare) și RAM (memoria cu acces aleatoriu). Scopul memoriei cache este de a reduce timpul de acces la memorie al CPU din RAM. Memoria cache este mult mai rapidă decât RAM. Deci, timpul de acces pe cache este mult mai mic decât timpul de acces pe RAM. Dar costul memoriei utilizate pentru memoria cache este mult mai mare decât costul memoriei utilizate pentru RAM și, prin urmare, capacitatea memoriei cache este foarte mică. Tipul de memorie folosit pentru memoria cache se numește SRAM (Memorie Statică cu acces aleatoriu).

Ori de câte ori CPU dorește să acceseze memorie, mai întâi verifică dacă ceea ce are nevoie se află în memoria cache. Dacă da, ar putea să-l acceseze cu cea mai mică latență. Dacă nu se află în cache, atunci conținutul solicitat va fi copiat din RAM în cache și apoi doar CPU-ul îl va accesa din cache. Aici, atunci când copiați conținut din cache, nu numai conținutul din adresa de memorie solicitată, ci și conținutul din apropiere este copiat în cache. Deci, data viitoare, există o probabilitate mare ca o lovitură de cache să apară, deoarece majoritatea programelor de calculator accesează datele din apropiere sau ultimele date accesate de cele mai multe ori. Prin urmare, datorită memoriei cache, latența medie a memoriei este redusă.

Diferența dintre memoria cache și memoria virtuală
Diferența dintre memoria cache și memoria virtuală
Diferența dintre memoria cache și memoria virtuală
Diferența dintre memoria cache și memoria virtuală

În CPU, există trei tipuri de cache: cache de instrucțiuni pentru a stoca instrucțiunile programului, cache de date pentru a stoca elementele de date și Buffer-ul pentru traducere pentru a stoca mapările de memorie. Pentru memoria cache de date, în general, există cache-uri pe mai multe niveluri. Adică, există mai multe cache ca L1, L2 și L3. Cache-ul L1 este cea mai rapidă, dar cea mai mică memorie cache care este cea mai apropiată de procesor. Cache-ul L2 este mai lent decât L1, dar mai mare decât L1 și se află după memoria cache L1. Datorită acestei ierarhii, se poate obține un timp mediu de acces la memorie mai bun la un cost mai mic.

Ce este memoria virtuală?

Memoria virtuală este o tehnică de gestionare a memoriei utilizată în sistemele computerizate. Nu există hardware numit memorie virtuală, dar este un concept care utilizează RAM și hard disk pentru a oferi un spațiu de adrese virtuale pentru programe. Mai întâi RAM este împărțită în bucăți numite pagini și sunt identificate prin adresele memoriei fizice. Pe hard disk este rezervată o porțiune specială unde, în Linux, se numește swap și, în Windows, se numește fișier de pagină. Când un program este pornit, i se oferă un spațiu de adresă virtuală care poate fi chiar mai mare decât memoria fizică reală. Spațiul de memorie virtuală este, de asemenea, împărțit în bucăți numite pagini și fiecare dintre aceste pagini de memorie virtuală poate fi mapată la o pagină fizică. Tabelul numit tabel de pagini ține evidența acestei mapări. Când memoria fizică rămâne fără spațiu, ceea ce se face este că anumite pagini fizice sunt împinse în acea porțiune specială din hard disk. Când este necesară din nou orice pagină împinsă pe hard disk, aceasta este adusă în memoria fizică prin introducerea unei alte pagini selectate din memoria fizică pe hard disk.

Memoria cache vs memoria virtuală
Memoria cache vs memoria virtuală
Memoria cache vs memoria virtuală
Memoria cache vs memoria virtuală

Care este diferența dintre memoria cache și memoria virtuală?

• Memoria cache este un tip de memorie folosit pentru a îmbunătăți timpul de acces la memoria principală. Este un tip mai rapid de memorie care se află între CPU și RAM pentru a reduce latența medie de acces la memorie. Memoria virtuală este o metodă de gestionare a memoriei în care este un concept care permite programelor să obțină propriul spațiu de memorie virtuală, care este chiar mai mare decât memoria RAM fizică reală disponibilă.

• Memoria cache este un tip de memorie hardware care există de fapt fizic. Pe de altă parte, nu există hardware numit memorie virtuală, deoarece este un concept care utilizează RAM, hard disk, unitate de gestionare a memoriei și software pentru a oferi un tip de memorie virtuală.

• Gestionarea memoriei cache este realizată integral de hardware. Memoria virtuală este gestionată de sistemul de operare (software).

• Memoria cache se află între RAM și procesor. Transferurile de date implică RAM, memoria cache și procesorul. Memoria virtuală, pe de altă parte, implică transferul de date între RAM și hard disk.

• Memoriile cache au dimensiuni mici, cum ar fi Kilobytes și Megabytes. Memoria virtuală, pe de altă parte, implică dimensiuni uriașe care ocupă gigaocteți.

• Memoria virtuală implică structuri de date, cum ar fi tabele de pagini care stochează maparea dintre memoria fizică și memoria virtuală. Dar acest tip de structuri de date nu este necesar pentru memoria cache.

Rezumat:

Memorie cache vs memoria virtuală

Memoria cache este folosită pentru a îmbunătăți timpul de acces la memoria principală, în timp ce memoria virtuală este o metodă de gestionare a memoriei. Memoria cache este un hardware real, dar nu există hardware numit memorie virtuală. RAM, hard disk și diverse alte componente hardware împreună cu sistemul de operare produc conceptul numit memorie virtuală pentru a oferi spații mari și izolate de memorie virtuală fiecărui program. Conținutul din memoria cache este gestionat de hardware, în timp ce conținutul din memoria virtuală este gestionat de sistemul de operare.

Recomandat: