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.

proc proc proc<br />

pmb mpb<br />

pmb mpb<br />

pmb mpb<br />

cache cache cache<br />

out in out in out in<br />

network<br />

in<br />

out<br />

memory<br />

SYS Sys(MSITE, SITEs) System<br />

MSITE Msite(MEM, IN, OUT) Memory Site<br />

MEM [] Cell(a,v) j MEM Memory<br />

SITEs SITE [] SITE j SITEs Set <strong>of</strong> <strong>Cache</strong> Sites<br />

SITE Site(id , CACHE, IN, OUT, PMB, MPB, PROC) <strong>Cache</strong> Site<br />

CACHE [] Cell(a,v,CSTATE) j CACHE <strong>Cache</strong><br />

IN [] MSG IN Incoming Queue<br />

OUT [] MSG OUT Outgoing Queue<br />

MSG Msg(src,dest,CMD,a,v) Message<br />

CSTATE Clean [] Dirty [] <strong>Cache</strong>Pending [] WbPending <strong>Cache</strong> State<br />

CMD <strong>Cache</strong>Req [] <strong>Cache</strong> [] Wb [] WbAck Comm<strong>and</strong><br />

Figure 4.2: System Con guration <strong>of</strong> Base<br />

Message passing can happen betweenacache <strong>and</strong> the memory. A message passing rule de-<br />

livers a message from the source's outgoing queue to the destination's incoming queue. Message<br />

passing can be non-FIFO orFIFO. Non-FIFO message passing allows messages to be delivered<br />

in arbitrary order, while FIFO message passing ensures messages between the same source <strong>and</strong><br />

destination to be received in the order in which they are issued.<br />

Message-<strong>Cache</strong>-to-Mem Rule<br />

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

if Dest(msg)=H<br />

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

Message-Mem-to-<strong>Cache</strong> Rule<br />

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

if Dest(msg)=id<br />

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

Non-FIFO vs. FIFO Message Passing We use outgoing queues to model non-FIFO <strong>and</strong><br />

FIFO networks. Non-FIFO message passing provides no guarantee on the order in which mes-<br />

sages are delivered. This can be e ectively characterized by allowing messages to be reordered<br />

68

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

Saved successfully!

Ooh no, something went wrong!