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.

Processor Rules<br />

Rule Name Instruction Cstate Action Next Cstate<br />

GCRF-Loadl Loadl(a) Cell(a,v,cs) retire Cell(a,v,cs)<br />

GCRF-Storel Storel(a,v) Cell(a,-,-) retire Cell(a,v,S)<br />

GCRF-Commit Commit(a) Cell(a,v, ) retire Cell(a,v, )<br />

a =2 sache retire a =2 sache<br />

GCRF-Reconcile Reconcile(a) Cell(a,v,cs) (cs 6= ) retire Cell(a,v,cs)<br />

a =2 sache retire a =2 sache<br />

Background Rules<br />

Rule Name Cstate Mstate Next Cstate Next Mstate<br />

GCRF-<strong>Cache</strong> a =2 sache Cell(a,v) Cell(a,v, ) Cell(a,v)<br />

GCRF-Writeback Cell(a,v,id jcs) Cell(a,-) Cell(a,v,cs) Cell(a,v)<br />

GCRF-Purge Cell(a,-, ) Cell(a,v) a =2 sache Cell(a,v)<br />

GCRF-Writeback Rule<br />

Figure 3.8: Summary <strong>of</strong> GCRF Rules (except reordering rules)<br />

Site(id , mem, Cell(a,v,id jcs) j sache, pmb, mpb, proc)<br />

! Site(id , mem[a:=v], Cell(a,v,cs) j sache, pmb, mpb, proc)<br />

Site(id , mem, Cell(a,v,id1jcs) j sache, pmb, mpb, proc) j<br />

Site(id1, mem1, sache1, pmb1, mpb1, proc1)<br />

! Site(id , mem, Cell(a,v,cs) j sache, pmb, mpb, proc) j<br />

Site(id1, mem1[a:=v], sache1, pmb1, mpb1, proc1)<br />

GCRF-Purge Rule<br />

Site(id , mem, Cell(a,-, ) j sache, pmb, mpb, proc)<br />

! Site(id , mem, sache, pmb, mpb, proc)<br />

The GCRF model also allows instructions to be reordered the reordering rules <strong>of</strong> CRF all<br />

remain unchanged. The GCRF rules are summarized in Figure 3.8. In the tabular description,<br />

for the cache <strong>and</strong> purge rules, the memory state re ects the memory cell in the same site as<br />

the sache cell for the writeback rule, the memory state re ects the memory cell in site id .<br />

The GCRF model also allows instructions to be reordered the reordering rules are exactly<br />

thesameasthose <strong>of</strong> CRF. In addition, we can de ne a new commit instruction that commits<br />

an address with respect to an individual memory. The semantics <strong>of</strong> the instruction can be<br />

speci ed as follows:<br />

Site(id , mem, sache, ht,Commit(a,id )ipmb, mpb, proc) if Cell(a,-,id j-) =2 sache<br />

! Site(id , mem, sache, pmb, mpbjht,Acki, proc)<br />

The Commit(a,id ) instruction guarantees that the dirty copy is written back to the memory<br />

at site id before the instruction completes. The normal commit instruction can be de ned by<br />

a sequence <strong>of</strong> the ner-grain commit instructions.<br />

64

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

Saved successfully!

Ooh no, something went wrong!