摘要 |
A directory tag for each cache line in a memory within a multiprocessor distributed memory system includes a share mask and an alias signature. The share mask is used to keep track of entities of the system that share the cache line, and is encoded into a fixed length field having a number of bits that is significantly less than the number of the entities. The share mask is utilized for maintaining coherency among shared data in the system. Before a request to access a location of a memory is granted, the share mask is used to identify each entity or a group of entities that share the particular location, and an invalidate message is sent to each of the identified entity or group of entities, eliminating the need to broadcast the message to all entities in the system, and thus conserving the communication bandwidth of the system. The alias signature in the directory tag is compared with an alias signature computed from the memory access request to prevent data corruptions that may occur due to incorrect memory aliasing.
|