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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Notations Given a system term s, we use Mem(s), Min(s) <strong>and</strong> Mout(s) to represent the<br />

memory, the memory's incoming queue <strong>and</strong> the memory's outgoing queue, respectively. For<br />

a cache site id , we use <strong>Cache</strong>id (s), Cinid(s), Coutid(s), Pmbid(s), Mpbid(s) <strong>and</strong> Procid(s) to<br />

represent the cache, the incoming queue, the outgoing queue, the processor-to-memory bu er,<br />

the memory-to-processor bu er <strong>and</strong> the processor, respectively. More precisely, let s be the<br />

term<br />

Sys(Msite(mem, min, mout), Site(id , cache, cin, cout, pmb, mpb, proc) j sites)<br />

We de ne the following notations:<br />

Mem(s) mem<br />

Min(s) min<br />

Mout(s) mout<br />

<strong>Cache</strong> id(s) cache<br />

Cin id(s) cin<br />

Cout id(s) cout<br />

Pmb id(s) pmb<br />

Mpb id (s) mpb<br />

Proc id(s) proc<br />

We say a message is in transit from a cache to the memory if the message is in the cache's<br />

outgoing queue or the memory's incoming queue. We say a message is in transit from the<br />

memory to a cache if the message is in the memory's outgoing queue or the cache's incoming<br />

queue. We use shorth<strong>and</strong> notation MoutCinid(s) to represent the messages in transit from the<br />

memory to cache site id , <strong>and</strong> MinCoutid(s) the messages in transit from cache site id to the<br />

memory. That is:<br />

msg 2 MoutCin id(s) i msg 2 Mout(s) _ msg 2 Cin id (s)<br />

msg 2 MinCout id(s) i msg 2 Min(s) _ msg 2 Cout id(s)<br />

Let msg1 <strong>and</strong> msg2 be messages between the same source <strong>and</strong> destination regarding the same<br />

address. We say messagemsg1 precedes message msg2 (or msg2 follows msg1), if the following<br />

condition is satis ed:<br />

msg1 <strong>and</strong> msg2 arebothinthesource's outgoing queue, <strong>and</strong> msg1 is in front <strong>of</strong>message<br />

msg2 or<br />

msg1 <strong>and</strong> msg2 are both in the destination's incoming queue, <strong>and</strong> msg1 is in front <strong>of</strong><br />

message msg2 or<br />

msg1 is in the destination's incoming queue <strong>and</strong> msg2 is in the source's outgoing queue.<br />

We use notation msg" to represent that message msg has no preceding message, <strong>and</strong> notation<br />

msg# to represent that message msg has no following message. Notation msg l means that<br />

message msg has no preceding or following message (that is, it is the only message regarding<br />

the address between the source <strong>and</strong> destination).<br />

70

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

Saved successfully!

Ooh no, something went wrong!