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:
- 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 - Similmente,
Miss Penalty di L1 = 4 + (0.08*23) = 5.84 cicli di clockIo 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
- 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.0004Spero di aver chiarito i vostri dubbi.