Localitatea de referință
Să aruncăm o privire la următoarea pseudo-cod pentru a vedea de ce localitate din lucrări de referință (a se vedea Cum funcționează programare C pentru a obține într-adevăr în ea):
Ieșire pentru ecran "Introduceți un număr între 1 și 100» Citește de intrare de la valoare userPut de utilizator în valoare XPut variabilă 100 în valoare YPut variabilă 1 în variabila număr Zloop Y de timp Divide Z de X În cazul în care restul de diviziune = 0 atunci de ieșire "Z este un multiplu de X» Adaugă 1 la ZReturn la loopEndAcest mic program cere utilizatorului să introducă un număr între 1 și 100. Se citește valoarea introdusă de către utilizator. Apoi, programul imparte fiecare număr între 1 și 100 de numărul introdus de utilizator. Acesta verifică dacă restul este 0 (diviziune modulo). Dacă este așa, rezultatele programului " Z este un multiplu de X " (de exemplu, 12 este un multiplu de 6), pentru fiecare număr între 1 și 100. Apoi, programul se termină.
Chiar dacă nu știu prea multe despre programare, este ușor de înțeles că, în cele 11 linii ale acestui program, partea buclă (linii 7 la 9) sunt executate de 100 de ori. Toate celelalte linii sunt executate doar o singură dată. Linii 7 la 9 vor rula mult mai rapid, din cauza cache.
Acest program este foarte mic și poate potrivi cu ușurință în întregime în cele mai mici de cache L1, dar să spunem că acest program este foarte mare. Rezultatul rămâne același. Când programați, o mulțime de acțiune are loc în interiorul bucle. Un procesor de text petrece 95 la suta din timpul de așteptare pentru dvs. de intrare și afișarea pe ecran. Această parte a programului de cuvânt-procesor este în memoria cache.
Acest raport de 95% până la 5% (aproximativ) este ceea ce noi numim localitatea de referință, și este de ce un cache funcționează atât de eficient. Acesta este, de asemenea, de ce un astfel de cache mic poate cache eficient un astfel de sistem de memorie de mare. Puteți vedea de ce nu merită a construi un calculator cu cea mai rapidă memorie de pretutindeni. Putem livra 95 la suta din aceasta eficacitate pentru o fractiune din costul.
Pentru mai multe informații despre cache și subiecte conexe,