Sei sulla pagina 1di 2

SNOOPY CACHE I collegamenti tra una periferica di I/O possono essere di diversa natura a seconda di cosa si va a considerare.

Nel caso di un'operazione di output (la cosa pi semplice), si pu usare una tecnica della write through in quanto i dati dalla CPU scorrono velocemente nella cache, nell'adattatore I/O, sul bus dati e quindi pescati dalla periferica. Nel caso di un'operazione di input, la soluzione migliore per non avere dati scaduti in cache oppure per non avere dei ritardi sui dati diretti alla CPU, possiamo usare la tecnica della SNOOPY CACHE. Collegando direttamente l'adattatore I/O alla memoria RAM, avremo l'ottimizzazione del processo di trasferimento dati. La tecnica della snoopy cache consiste nella creazione di un collegamento tra appunto la cache e il bus dati dove collegato l'adattatore. A questo punto vediamo come avviene la tecnica di lettura/scrittura con questo metodo. LETTURA Per il primo caso, se si accorge di un blocco in transito che le interessa, allora si appropria nel vero senso della parola del bus, sul quale sar inviato quindi il dato aggiornato. SCRITTURA In maniera analoga avviene la scrittura. Nel caso in cui sia in viaggio un blocco dati il cui valore aggiornato, la snoopy cache invalider il corrispondente valore al suo interno e si "ruber" quello nuovo Un altro metodo si ha se la cache, accortasi che l'I/O sta scrivendo in RAM in un blocco che era stato precedenttemente caricato in essa (quindi accortasi di possedere il dato scaduto) invalida solo il blocco modicando il relativo dirty bit, ma non preleva il dato aggiornato dal bus: in questo caso si evita la scrittura in cache di un dato che probabilmente non verr utilizzato evitando scritture superue. Se poi la CPU ha bisogno di operare con un dato contenuto in quel blocco, allora, ma solo allora, essendo stato invalidato dal dirty bit, esso verr prelevato dalla ram e scritto in cache

Potrebbero piacerti anche