Jag vet hur man beräknar CPI eller cykler per instruktion från hit and miss-förhållandena, men jag vet inte exakt hur man beräknar miss ratio som skulle vara 1 - hit ratio om jag inte har fel. Jag vet att träffförhållandet beräknas dividera träffar / åtkomst, men problemet säger att med tanke på antalet träffar och missar, beräkna missförhållandet.

Mitt resonemang är att ha antalet träffar och missar, vi har faktiskt antalet access = hits + missar, så den faktiska formeln skulle vara:

hit_ratio = hits / (hits + misses)

Så missförhållandet skulle vara

miss_ratio = 1 – hit_ratio

Om mitt resonemang är korrekt, eller hur?

Vad är träff och missfördröjning? Eftersom jag behöver dem för att beräkna mean access time med hjälp av träff- och missförhållandena och träff och missfördröjningar (i cykler) …

Svara

Ja. träffförhållandet är den bråkdel av åtkomst som är en träff. missförhållandet är den bråkdel av åtkomst som är miss. Det hävdar att $$ \ text {miss rate} = 1- \ text {hit rate}. $$

Latens (hit / miss) (AKA access time) är den tid det tar att hämta data vid en träff / miss. Om åtkomsten var en hit – den här gången är ganska kort eftersom data redan finns i cachen. Men om det var en miss – den tiden är mycket kvar eftersom det (långsamma) L3-minnet måste nås. Latens beror på maskinens specifikation: cacheminnets hastighet, det långsamma minnets hastighet osv.

Kommentarer

  • Kan du visa mig ett enkelt exempel på hur skulle du beräkna mean access time som jag sa till dig?
  • betyder åtkomsttid == den genomsnittliga tid det tar att komma åt minnet . Om det tar X-cykler för en träff och Y-cykler för en miss och 30% av tiden är en träff (alltså 70% är en miss) – > vad är genomsnittet (medelvärde) det tar tid att komma åt ??
  • Nåväl, vi vet att $ X * 0,30 $ är det totala antalet cykler där vi har en träff, och att respektive $ Y * 0,70 $ är det totala antalet cykler där vi har miss, därför är det totala antalet cykler summan av båda: total_number_of_cycles = $ X * 0,30 $ + $ Y * 0,70 $. Men vi har fortfarande inte ett genomsnitt av något, vi måste dela det för hela tiden: mean_access_time = total_number_of_cycles / 1.0, är det eller hur?
  • @RanG. Kan du titta på min caching hit / miss fråga? cs.stackexchange.com/questions/43235/…

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *