Average memory access time = Hit time + Miss rate * miss penalty
Anta en datamaskin med bare ett cache-nivå. Hva er den eksakte betydningen av trefftid? Er det antall klokkesykluser for å få tilgang til data fra hurtigbufferen? ELLER klokkesykluser for å utføre en instruksjon? Hvordan kommer antallet klokkesykluser per instruksjon inn i denne ligningen?
Kommentarer
- It ' s vanligvis antall klokkesykluser for å få tilgang til dataene og er gitt i ns.
Svar
Først av alt ligningen din er for den hierarkiske hurtigbufferen der du uansett må søke i hele hurtigbufferen uansett treff eller savning.
For samtidig hurtigbuffer blir den første termen på høyre side multiplisert med trefftid også. Trefftid er ikke annet enn tiden det tar å registrere tilstedeværelsen av data i hurtigbufferen hvis det er.
Svar
Det er tilbake til mekanismen for hurtigbufferen. Når prosessoren ønsker data i hurtigbufferen, kan du prøve å lese data fra hurtigbufferen. Hvis det er data i hurtigbufferen, vil den hente data fra hurtigbufferen. Denne gangen du leser data fra hurtigbufferen (forskjellen mellom hastigheten til hurtigbufferminnet og registeret!) blir betegnet med Hit time
.
Hvis ønsket minne i den relaterte instruksjonen ikke eksisterer i hurtigminnet, bør det leses fra RAM, det tar derfor mer CPU-klokke å lese den angitte adressen og denne gangen beregnes ved multiplikasjonen av miss rate
og straffen for dette savnet i tid for å lese data fra RAM som er betegnet med miss penalty
.