09.08.2013 Views

Design and Verification of Adaptive Cache Coherence Protocols ...

Design and Verification of Adaptive Cache Coherence Protocols ...

Design and Verification of Adaptive Cache Coherence Protocols ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

(Rule MM32). The memory can choose to acknowledge the last writeback with a WbAckw mes-<br />

sage to allow the cache to retain a WP copy (Rule MM33).<br />

The memory processes an incoming Downwb, Downmw or DownVmw message as follows:<br />

When the memory receives a Downwb message, if the memory state shows that the cache<br />

contains a WP copy for the address, the memory removes the cache identi er from the<br />

corresponding directory (Rules MM21 <strong>and</strong> MM22). If the memory state shows that<br />

the cache contains a Migratory copy for the address, the memory updates the memory<br />

state to indicate that the address is no longer cached in any cache (Rules MM23, MM24<br />

<strong>and</strong> MM25). This can happen because the memory can voluntarily send an upgrade<br />

message to upgrade a cache cell from WP to Migratory, while the cache has downgraded<br />

the cache cell from WP to Base. The downgrade operation has higher priority than the<br />

upgrade operation.<br />

When the memory receivesaDownmw message, it sets the memory state to indicate that<br />

the cache contains a WP copy for the address (Rules MM26, MM27 <strong>and</strong> MM28).<br />

When the memory receives a DownVmw message, it updates the memory value <strong>and</strong> sets the<br />

memory state to indicate that the cache contains a WP copy for the address (Rules MM29,<br />

MM30 <strong>and</strong> MM31).<br />

In addition, the Tw[ , ] state can be converted to C[ ]. This is necessary to ensure that a<br />

transient memory state will become a stable memory state eventually so that stalled cache<br />

requests can be serviced.<br />

Voluntary Rules There are ve voluntary rules that allow the memory to supply a cache<br />

copy to a cache, to upgrade a cache cell or to downgrade a cache cell.<br />

If the memory state is Cw[dir], the memory can send a <strong>Cache</strong>w message to supply a WP<br />

copy to cache site id , where id =2 dir.<br />

If the memory state is Cw[id ], the memory can send an Upwm message to cache site id<br />

to upgrade the cache cell from WP to Migratory.<br />

If the memory state is Cw[dir], the memory can multicast a DownReqwb message to cache<br />

sites dir to downgrade the cache cells from WP to Base.<br />

If the memory state is Cm[id ], the memory can send a DownReqmw message to cache site<br />

id to downgrade the cache cell from Migratory to WP.<br />

If the memory state is T 0 m[id ], the memory can send a DownReqwb message to cache site<br />

id to downgrade the cache cell from WP to Base.<br />

The memory state can be imprecise since it maintains no information about the existence<br />

<strong>of</strong> Base cells. In addition, when the memory state shows that a cache contains a WP or<br />

Migratory cell for an address, it is possible that the cache cell has already been downgraded.<br />

152

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!