Adulmecând autobuzul

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică, Bus sniffing sau Bus snooping este o tehnică utilizată în sistemele de memorie partajată distribuită și multiprocesor pentru a avea coerență cache . Deși există o memorie principală, există mai multe cache-uri (una pe procesor) și, cu excepția cazului în care există o acțiune preventivă, aceeași locație de memorie ar putea fi încărcată în două cache-uri diferite, cu două valori diferite. Pentru a preveni acest lucru, fiecare controler cache monitorizează magistrala pentru a citi transmisiile care pot cauza fenomenul, blocând astfel linia cache relevantă.

Fiecare linie cache poate presupune aceste stări: „murdar” (a fost actualizat de procesor), „valid”, „invalid” sau „partajat”, care se afirmă atunci când un bloc este încărcat în cache. Primul bloc încărcat este marcat ca valid.

În cazul unei ratări cache, cererea de citire este transmisă pe autobuz. Toate controlerele cache monitorizează magistrala. Dacă unul dintre aceștia verifică adresa și se află în „murdar”, îl schimbă în „valid” și trimite copia solicitantului. Starea „validă” înseamnă că linia cache este în curs de desfășurare.

Într-o scriere eșuată (o încercare de scriere a valorii, dar nu se află în cache), spionarea autobuzului asigură faptul că fiecare copie din toate celelalte cache este setată la „invalid”. „Invalid” înseamnă că a existat o copie în cache, dar nu mai este disponibilă.

Când scrieți un bloc setat la „valid”, starea acestuia se schimbă la „murdar” și o transmisie este trimisă tuturor controlerelor cache pentru a invalida copiile sale.

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT