A cache and method of maintaining cache coherency in a data processing
system are described. The data processing system includes a system memory,
a plurality of processors, and a plurality of caches coupled to an
interconnect. According to the method, a first data item is stored in a
first of the caches in association with an address tag indicating an
address of the first data item. A coherency indicator in the first cache
is set to a first state that indicates that the address tag is valid and
that the first data item is invalid. If, while the coherency indicator is
set to the first state, the first cache detects a data transfer on the
interconnect associated with the address indicated by the address tag,
where the data transfer includes a second data item that is modified with
respect to a corresponding data item in the system memory, the second data
item is stored in the first cache in association with the address tag. In
addition, the coherency indicator is updated to a second state indicating
that the second data item is valid and that the first cache can supply the
second data item in response to a request.
Un escondrijo y un método de mantener coherencia del escondrijo en un sistema de proceso de datos se describen. El sistema de proceso de datos incluye una memoria de sistema, una pluralidad de procesadores, y una pluralidad de escondrijos juntados a una interconexión. Según el método, un primer artículo de datos se almacena en un primer de los escondrijos en la asociación con una etiqueta de la dirección que indica una dirección del primer artículo de datos. Un indicador de la coherencia del primer escondrijo se fija a un primer estado que indique que la etiqueta de la dirección es válida y que el primer artículo de datos es inválido. Si, mientras que el indicador de la coherencia se fija al primer estado, el primer escondrijo detecta una transferencia de datos en la interconexión asociada a la dirección indicada por la etiqueta de la dirección, donde la transferencia de datos incluye un segundo artículo de datos que se modifique con respecto a un artículo de datos correspondiente en la memoria de sistema, el segundo artículo de datos se almacena en el primer escondrijo en la asociación con la etiqueta de la dirección. Además, el indicador de la coherencia se pone al día a un segundo estado que indica que el segundo artículo de datos es válido y que el primer escondrijo puede proveer el segundo artículo de datos en respuesta a una petición.