Să luăm în considerare una dintre posibilele scheme de lucru ale memorii cache pentru a înțelege principiile muncii sale:
Memoria cache conține RECORD-urile tuturor elementelor încărcate în ea.
Fiecare intrare include:
18. Informații suplimentare (un semn de modificare, un semn de valabilitate a datelor)
Procesul accesează memoria principală:
19. OS scanează conținutul cache-ului, indiferent dacă există date acolo.
1) Dacă există date, cache-ul a fost lovit. Datele sunt citite din cache și trimise solicitantului.
2) Dacă nu există date, există o pierdere de memorie cache. OS merge în memoria principală și extrage datele de acolo.
Atunci când se evaluează eficiența cache-ului, se folosesc în mod obișnuit următoarele caracteristici:
• rata de succes - raportul dintre numărul de accesări în memoria la care sa produs lovitura și numărul total de apeluri către stocarea unui anumit nivel de ierarhie;
• rata de pierdere - raportul dintre numărul de accesuri în memorie,
care a fost o greșeală; la numărul total de apeluri către memoria unui anumit nivel de ierarhie;
• timp de lovit - timpul necesar pentru o căutare
informațiile necesare în memoria de nivel superior (inclusiv determinarea dacă lovitura este o lovitură), plus timpul pentru citirea efectivă a datelor;
• pierderea pedepsei - timpul necesar înlocuirii unui bloc într-o memorie de nivel superior cu un bloc cu datele dorite, localizate în memoria inferioară următoare. Pierderea pierduta include:
a. Timpul de acces (timpul de acces) - timpul de acces la primul cuvânt al blocului cu o lipsă
b. timpul de transfer - timp suplimentar pentru trimiterea cuvintelor rămase ale blocului.
Timpul de acces este cauzat de întârzierea memoriei nivelului inferior, în timp ce timpul de transmisie este legat de banda de trecere a canalului dintre memoria celor două nivele adiacente.
Ce determină eficiența caching-ului? De la probabilitatea de a intra în memoria cache.
Utilizarea cache-ului are sens doar dacă există o mare probabilitate de cache hit-uri, deoarece în caz contrar, acesta este doar un timp suplimentar petrecut în căutarea cache-ului.
Probabilitatea apariției cache-urilor depinde de:
- cantitatea de memorie cache
- algoritmul de înlocuire a datelor în memoria cache
- caracteristicile programului
- timpul de lucru
În majoritatea implementărilor, procentul de hituri cache este mare, mai mult de 90%. Pentru a răsuci.
Acest lucru se datorează faptului că datele posedă proprietățile localității spațiale și temporale.