A method of maintaining cache-coherency in a multi-processor computer
system provides new states to indicate that a sector in an upstream cache
has been modified, without executing unnecessary bus transactions for the
lower-level cache(s). These new "U" states can indicate which sector in
the cache line was modified, or if the cache line was the subject of a
cachable write-through operation. The protocol is implemented as an
improvement to the prior-art "MESI" cache-coherency protocol. The new
protocol is especially useful in handling allocate-and-zero instructions
wherein data is modified in the cache (zeroed out) without first fetching
the old data from memory. In the embodiment wherein there are only two
sectors in a given cache line, three new states are provided to indicate
which sector was modified, or whether any cachable write-through operation
was performed on the cache line of the first-level cache.
Un metodo di effettuare la nascondiglio-coerenza in un sistema di elaborazione del multiprocessore fornisce nuovo dichiara per indicare che un settore in un nascondiglio verso l'alto è stato modificato, senza eseguire le transazioni inutili del bus per il cache(s) a livello più basso. Questo la nuova "U" dichiara può indicare quale settore nella linea del nascondiglio è stato modificato, o se la linea del nascondiglio fosse l'argomento di funzionamento cachable di write-through. Il protocollo è effettuato come miglioramento al protocollo di nascondiglio-coerenza di anteriore-arte "MESI". Il nuovo protocollo è particolarmente utile nel maneggiamento assegn-e-zero nelle istruzioni in cui i dati sono modificati nel nascondiglio (azzerato fuori) senza in primo luogo prendere i vecchi dati dalla memoria. Nell'incorporamento in cui ci sono soltanto due settori in una data linea del nascondiglio, tre nuovi dichiarano sono forniti per indicare quale settore è stato modificato, o se qualunque funzionamento cachable di write-through è stato realizzato sulla linea del nascondiglio del nascondiglio first-level.