So come calcolare CPI o cicli per istruzione da i rapporti di successo e di errore, ma non so esattamente come calcolare il miss ratio che sarebbe 1 - hit ratio se non sbaglio. So che il rapporto di successo viene calcolato dividendo i risultati / accessi, ma il problema dice che dato il numero di risultati e mancati, calcola il rapporto di mancati.

Il mio ragionamento è che avendo il numero di risultati e mancati abbiamo effettivamente il numero di accessi = hit + misses, quindi la formula effettiva sarebbe:

hit_ratio = hits / (hits + misses)

Quindi il rapporto di errore sarebbe

miss_ratio = 1 – hit_ratio

Se il mio ragionamento è corretto, giusto?

Qual è la latenza incostante? Perché mi servono per calcolare mean access time utilizzando i rapporti hit e miss e latenze hit e miss (in cicli) …

Risposta

Sì. Il rapporto di successo è la frazione di accessi che sono un successo. Il miss ratio è la frazione di accessi che sono mancati. Ritiene che $$ \ text {miss rate} = 1- \ text {hit rate}. $$

La latenza (hit / miss) (tempo di accesso AKA) è il tempo necessario per recuperare il dati in caso di hit / miss. Se laccesso è stato un successo, questa volta è piuttosto breve perché i dati sono già nella cache. Ma se è stato un errore, quel tempo è molto più lungo poiché è necessario accedere alla (lenta) memoria L3. La latenza dipende dalle specifiche della tua macchina: la velocità della cache, la velocità della memoria lenta, ecc.

Commenti

  • Puoi mostrami un semplice esempio di come calcoleresti il mean access time di te lho detto?
  • tempo medio di accesso == il tempo medio necessario per accedere alla memoria . Se sono necessari X cicli per un risultato positivo e Y cicli per un risultato mancato e il 30% delle volte è un risultato mancato (quindi il 70% è mancato) – > qual è la media (medio) tempo necessario per accedere ??
  • Bene, sappiamo che $ X * 0,30 $ è il numero totale di cicli in cui abbiamo un riscontro e che rispettivamente $ Y * 0,70 $ è il totale numero di cicli in cui abbiamo un errore, quindi il numero totale di cicli è la somma di entrambi: total_number_of_cycles = $ X * 0,30 $ + $ Y * 0,70 $. Ma non abbiamo ancora una media di qualcosa, dobbiamo dividerla per il tempo totale: mean_access_time = total_number_of_cycles / 1.0, è giusto?
  • @RanG. Puoi dare unocchiata alla mia domanda di caching hit / miss? cs.stackexchange.com/questions/43235/…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *