Architettura di computer: Come si determina la penalità di miss della cache a 3 livelli?

Per prima cosa chiariamo le definizioni.

La frazione o percentuale di accessi che risultano in un hit è chiamata hit rate. La frazione o percentuale di accessi che risultano in un miss è chiamata tasso di miss. Il tempo "extra" richiesto per recuperare un blocco in un livello della gerarchia di memoria dal livello inferiore è chiamato miss penalty. Infine, la frazione di riferimenti che mancano in tutti i livelli di una cache multilivello è chiamata global miss rate.

Ora affrontiamo la tua domanda:

  1. Penalità di miss di L2 = Hit Time di L3 + (Miss rate di L3 * Miss Penalty di L3)
    qui,
    Penalità di miss di L2 = Hit time di L3 + (Miss rate di L3 * Miss Penalty di L3)
    = 8 + (0.1*150) = 23 cicli di clock
  2. Similmente,
    Miss Penalty di L1 = 4 + (0.08*23) = 5.84 cicli di clock

    Io personalmente penso alla penalità come: pensate al tempo extra di cui avreste bisogno dopo aver scoperto che il livello gerarchico di memoria superiore era un miss. Di solito è il tempo di hit più la penalità di miss del livello inferiore della gerarchia. O in termini più profani tempo medio per ottenere i dati dal livello inferiore (facendo attenzione che anche l'accesso al livello inferiore può risultare in un hit o un miss) In senso stretto, questo tempo include:

  • il tempo per accedere al blocco
  • trasmetterlo da un livello all'altro
  • inserirlo nel livello che ha subito il miss
  • passare il blocco al richiedente
  1. Il tasso di miss globale sarà il seguente:
    Supponiamo di avere 100 istruzioni, solo 100*0.05 istruzioni arriveranno a L2. Di queste, solo 100*0.05*0.08 istruzioni arriveranno a L3. Infine 100*0.05*0.08*0.1 istruzioni risulteranno in una mancanza a L3.

    Quindi,
    Global Miss Rate = 0.05*0.08*0.10 = 0.0004

    Spero di aver chiarito i vostri dubbi.