Ik weet hoe ik de CPI
of cycli per instructie uit de hit-and-miss-ratios, maar ik weet niet precies hoe ik de miss ratio
moet berekenen die 1 - hit ratio
zou zijn als ik me niet vergis. Ik weet dat de trefferratio wordt berekend door treffers / toegangen te delen, maar het probleem zegt dat gezien het aantal treffers en missers, de misserratio moet worden berekend.
Mijn redenering is dat met het aantal treffers en missers, we hebben eigenlijk het aantal toegangen = hits + missers, dus de eigenlijke formule zou zijn:
hit_ratio = hits / (hits + missers)
Dus de miss ratio zou zijn
miss_ratio = 1 – hit_ratio
Als mijn redenering juist is, toch?
Wat zijn de wisselvallige latenties? Omdat ik ze nodig heb om de mean access time
te berekenen met behulp van de hit- en miss-ratios en de hit- en miss-latenties (in cycli) …
Antwoord
Ja. De hit ratio is de fractie van toegangen die een hit zijn. De miss ratio is de fractie van toegangen die een misser zijn. Er geldt dat $$ \ text {miss rate} = 1- \ text {hit rate}. $$
De (hit / miss) latentie (AKA-toegangstijd) is de tijd die nodig is om de gegevens in het geval van een treffer / misser. Als de toegang een hit was, is deze tijd vrij kort omdat de gegevens al in de cache staan. Maar als het een misser was – die tijd blijft nog lang hangen omdat het (langzame) L3-geheugen moet worden benaderd. De latentie hangt af van de specificatie van uw machine: de snelheid van de cache, de snelheid van het trage geheugen, enz.
mean access time
zou berekenen van wat ik je heb verteld?total_number_of_cycles
= $ X * 0,30 $ + $ Y * 0,70 $. Maar we hebben nog steeds geen gemiddelde van iets, we moeten het verdelen over de totale tijd:mean_access_time
=total_number_of_cycles
/ 1.0, is het toch?