Hardware Reference
In-Depth Information
Modiied —Exactly one node has a copy of the cache block, and it has writen the block, so
the memory copy is out of date. The processor is called the owner of the block.
In addition to tracking the state of each potentially shared memory block, we must track
which nodes have copies of that block, since those copies will need to be invalidated on a
write. The simplest way to do this is to keep a bit vector for each memory block. When the
block is shared, each bit of the vector indicates whether the corresponding processor chip
(which is likely a multicore) has a copy of that block. We can also use the bit vector to keep
track of the owner of the block when the block is in the exclusive state. For efficiency reasons,
we also track the state of each cache block at the individual caches.
The states and transitions for the state machine at each cache are identical to what we used
for the snooping cache, although the actions on a transition are slightly different. The pro-
cesses of invalidating and locating an exclusive copy of a data item are different, since they
both involve communication between the requesting node and the directory and between the
directory and one or more remote nodes. In a snooping protocol, these two steps are combined
through the use of a broadcast to all the nodes.
Before we see the protocol state diagrams, it is useful to examine a catalog of the message
types that may be sent between the processors and the directories for the purpose of handling
misses and maintaining coherence. Figure 5.21 shows the types of messages sent among
nodes. The local node is the node where a request originates. The home node is the node where
the memory location and the directory entry of an address reside. The physical address space
is statically distributed, so the node that contains the memory and directory for a given phys-
ical address is known. For example, the high-order bits may provide the node number, while
the low-order bits provide the offset within the memory on that node. The local node may also
be the home node. The directory must be accessed when the home node is the local node, since
copies may exist in yet a third node, called a remote node .
Search WWH ::




Custom Search