A
programozás és a cache összefüggései
A
cache memóriakapacitásával és a cache-ben elhelyezett
központi tár
blokkmásolatok méretével
közvetlen összefüggésben van az a megfigyelés, hogy egy
program végrehajtása során a vezérlés igen nagy valószínűséggel
egy meghatározott memóriatartományon belül marad. Ez
azt jelenti, hogy ha például az ábrán látható 2 K memóriablokkot
bemásoljuk a cache-be, akkor a processzor több száz esetben innen tudja
gyorsan lehívni az utasításokat és adatokat és nem szükséges a lassúbb,
központi memóriához fordulnia.
A
példa alapján megfogalmazhatjuk a program lokalitás elvét:
A
programok egy kis időintervallumban a címtérnek,
memóriának csak egy
relatíve kis részét veszik igénybe
(Ez a programutasításokra és az ezek által felhasznált
adatokra is igaz.). Ennek két oldala van:
Ha
egy adatra vagy egy utasításra hivatkozás történik, akkor ez nagy
valószínűséggel rövid időn belül ez újra megtörténik.
(Ciklus)
Helyi
lokalitás: Ha
egy adatra vagy egy utasításra hivatkozás történik, akkor ez nagy
valószínűséggel a környezetében lévő címekre is megtörténik
(gondoljunk a soros utasításvégrehajtásra).
|