Sto cercando di risolvere una domanda di tipo obiettivo, è venuto In esame. In realtà non conosco la risposta giusta e non so come ottenerlo, ho bisogno del tuo aiuto. Grazie .Razione di errore nella cache e calcolo del tempo medio
Domanda: In un determinato sistema il tempo di accesso alla memoria principale è 100 ns. La cache è 10 volte più veloce della memoria principale e utilizza il protocollo di scrittura. Se il rapporto di hit per la richiesta di lettura è 0.92 e l'85% delle richieste di memoria generate dalla CPU sono in lettura, il rimanente è per la scrittura; poi la considerazione tempo medio di lettura e scrittura richieste è
a) 14.62ns
b) 348.47ns
c) 29.62ns
d) 296.2ns
Il mio lavoro ::::
Bene, tempo di accesso alla memoria = 100ns
cache di tempo di accesso sarebbe = 10 ns (10 tempo più veloce)
In order to find avg time we have a formula
Tavg = hc+(1-h)M
where h = hit rate
(1-h) = miss rate
c = time to access information from cache
M = miss penalty (time to access main memory)
scrittura tramite le operazioni di: posizione della cache e la posizione di memoria principale viene aggiornato contemporaneamente.
È dato che la richiesta dell'85% generata dalla CPU è richiesta di lettura e il 15% è richiesta di scrittura.
Tavg = 0.85(avg time for read request)+ 0.15(avg time for write request)
= 0.85(0.92*10+0.08*100)+0.15(avg time for write request)
// * 0.92 è un rapporto di successo per richiesta di lettura, ma ha colpito il rapporto per la richiesta di scrittura non è dato ??
Se assumo tale hit rapporto colpire per richiesta di scrittura è la stessa percentuale di successi per richiesta di lettura allora,
= 0.85(0.92*10+0.08*100)+0.15(0.92*(10+100)+0.08*100)
=31 ns
Se assumo che hit ratio è 0% per richiesta di scrittura allora,
= 0.85(0.92*10+0.08*100)+0.15(0*110+1*100)
=29.62 ns
Perché si parla niente di disco? La domanda non dice che la memoria è supportata dal disco, quindi dovresti pensare che non lo sia. per esempio. una mappatura 'MAP_PRIVATE' (come la sezione dei dati di un eseguibile) o' MAP_ANONYMOUS' (malloc, o la sezione bss). I sistemi operativi normali non scrivono pagine anonime sporche da scambiare a meno che non ci sia una pressione di memoria, anche se riservano abbastanza swap per evitare l'overcommit. –
@PeterCordes Bene, ho assunto esattamente quello. Tuttavia, la cache write-through scrive sull'archiviazione di backup e ho pensato che con "memoria" si intendesse la memoria principale interna *, che è volatile. Ecco perché come memoria di supporto comune, ho pensato al disco. Ma ancora non l'ho assunto nella soluzione. – user8