Domanda

Domanda 1: Qual è il tempo medio di accesso per un sistema di memoria a 3 livelli con tempo di accesso $ T_1 $, $ 2T_1 $ e $ 3T_1 $? (Rapporto Hit $ H_1 $ = $ H_2 $ = 0.9)

La soluzione data è: $ 0.9 [T_1] + 0,1 (0,9 [2 * T_1] + 0,1 [3 * T_1]) = 1.11 [T_1] $ (Metodo 1)

Qui, hanno considerato la pagina non verrà copiato al livello inferiore. In caso contrario, sarebbe stato simile al seguente

If a page is not there in cache, it would be copied from main memory to cache and then accessed. $ T_1 + 2T_1 $

If a page is not there even in main memory, it would be brought to main memory, then cache and then accessed. $ T_1 + 2T_1 + 3T_1 $

$ 0.9 [T_1] + 0,1 (0,9 [T_1 + 2 * T_1] + 0,1 [T_1 + 2 * T_2 + 3 * T_1]) = 1,23 [T_1] $ (metodo 2)

Sono andato attraverso un altro problema simile.

Domanda 2

Cache Access Time = 20ns
Memory Access Time = 120ns
Hit Ratio = 0.8
Some other useless information below...
Cache Block size = 16 words
Set size = 2 blocks
Number of sets = 128
Size of main memory address = 21bits
What is the hit ratio if the average access time is increased by 40ns?
(A) Remains same      (B) 0.921     (C) 0.467      (D) 0.592

Ho semplicemente calcolato usando Metodo 1 come segue

Effective access time = 0.8*20 + 0.2*(120) = 40ns
Increase by 40ns, so new time = 80ns
80 = h*20 + (1-h)*120
Hit ratio = 0.4

Ma questo non è nelle opzioni

Ma quando ho calcolato utilizzando Metodo 2

Effective access time = 0.8*20 + 0.2*(20 + 120) = 44ns
Increase by 40ns, so new time = 84ns
84 = h*20 + (1-h)*120
Hit ratio = 0.467

Questa è l'opzione (C)

Ecco, la risposta è in arrivo utilizzando il metodo 2, ma alla domanda di cui sopra che stanno utilizzando il metodo 1.

Come faccio a sapere quale metodo di prendere mentre risolvere tali problemi? Sia che avrebbe pagina persa essere portato nella memoria inferiore (cache) o no?

È stato utile?

Soluzione

Credo, che il with some other useless information... parte nella vostra specifica problema deve contenere alcune informazioni sul risolvere il tuo problema. Mentre stavo cercando di calcolare i numeri che hai ho trovato alcuni errori, e ho pensato che ci deve essere qualche altro ingresso. Permettetemi innanzitutto di spiegare:

I tuoi formule sono corrette sia per Method 1 e Method 2. Quando si accede a un certo livello di memoria sempre accesso a questo livello, non con probabilità! Spiegazione più o meno così: si accede $ L1 $, se si perde (una certa probabilità), si va a $ L2 $. Su $ L2 $ di nuovo prendere un'ACCESS, e se si perde (con una certa probabilità), si sposta a $ L3) ...

Quindi Method 1 con il tuo primo problema sarebbe: $$ [T1] +0.1 ([2 * T1] + 0,1 * [3 * T1]) = 1,23 [T1] $$

E Method 2 per primo problema: $$ [T1] 0,1 ([T1 + 2 * T1] 0,1 [T1 + 2 * T1 + 3 * T1]) = 1,36 [T1] $$

Quindi, ora guardando il tuo secondo problema, è possibile risolverlo utilizzando Method 1:

Nuovo Metodo 1

Effective access time = 20 + 0.2*(120) = 44ns
Increase by 40ns, so new time = 84ns
84 = 20 + (1-h)*120
Hit ratio = 0.467

Si noti che qui ho assunto hai fatto un errore con la risposta $ (C) $ nella vostra descrizione del problema (non è $ 0,4467 $, ma è $ 0,467 $).

Ora, se si avrebbe sanzioni miss definiti nella vostra dichiarazione del problema, quindi si può usare Method 2. pena la signorina dice solo, che se non si ottiene il risultato nel vostro livello attuale, allora devi copiarlo dal livello superiore. Ora supponiamo, che rigore sbagliato sul secondo livello è 300ns (che significa copiare il contenuto al livello 1 e di accesso a esso). Tutto il resto rimane lo stesso. I calcoli andrebbero:

Nuovo Metodo 2

Effective access time = 20 + 0.2*(120+0.2*300) = 56ns
Increase by 40ns, so new time = 96ns
96 = 20 + (1-h)*(120+(1-h)*300)
Hit ratio = 0.65840

Un altro avvertimento ... È necessario utilizzare la stessa formula per il calcolo del tempo di accesso medio se si è scelto un metodo. (Nella tua Method 2 si è calcolato il tempo di accesso per Method 2 e quindi calcolato il nuovo rapporto di successo con Method 1)

Quindi, come si fa a sapere quale metodo scegliere? Dalla descrizione del problema! Se avete rigore sbagliato data, poi si prende il secondo approccio. Se non si dispone di rigore sbagliato, allora utilizzare il primo approccio.

Altri suggerimenti

E 'una scelta di design per la cache. Quindi, se si sta progettando una cache, fare entrambe le cose ed esaminare le conseguenze in termini di prestazioni, la complessità della progettazione e altri impatti al fine di rendere la vostra scelta.

Se si sta tentando la previsione per un dato cache, un'occhiata alla sua spec.

E nota comunque che la cache hanno spesso un comportamento più complesso di quello che così tutto ciò che è il risultato, non prendere per una verità assoluta, ci sono fattori non si è tenuto in considerazione con un semplice calcolo come mentalità (la grazia tamponi, prefetch, autobus contesa, ...)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top