Design and Verification of Adaptive Cache Coherence Protocols ...
Design and Verification of Adaptive Cache Coherence Protocols ...
Design and Verification of Adaptive Cache Coherence Protocols ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Migratory Imperative Rule CRF Rules<br />
IP1 (Loadl-on-Clean) CRF-<strong>Cache</strong> + CRF-Loadl + CRF-Purge<br />
IP2 (Loadl-on-Dirty) CRF-<strong>Cache</strong> + CRF-Loadl + CRF-Purge<br />
IP3 (Storel-on-Clean) CRF-<strong>Cache</strong> + CRF-Storel + CRF-Writeback + CRF-Purge<br />
IP4 (Storel-on-Dirty) CRF-<strong>Cache</strong> + CRF-Storel + CRF-Writeback + CRF-Purge<br />
IP5 (Commit-on-Clean) CRF-Commit<br />
IP6 (Commit-on-Dirty) CRF-Commit<br />
IP7 (Commit-on-Invalid) CRF-Commit<br />
IP8 (Reconcile-on-Clean) CRF-Reconcile<br />
IP9 (Reconcile-on-Dirty) CRF-Reconcile<br />
IP10 (Reconcile-on-Invalid) CRF-Reconcile<br />
IC1 (C-Send-Purge)<br />
IC2 (C-Send-Flush)<br />
IC3 (C-Receive-<strong>Cache</strong>)<br />
IM1 (M-Send-<strong>Cache</strong>)<br />
IM2 (M-Receive-Purge)<br />
IM3 (M-Receive-Flush)<br />
Message-Mem-to-<strong>Cache</strong><br />
Message-<strong>Cache</strong>-to-Mem<br />
6.4.4 Soundness <strong>of</strong> Migratory<br />
Figure 6.6: Simulation <strong>of</strong> Migratory in CRF<br />
The Migratory protocol de ned in Figure 6.4 contains integrated rules that are derived from<br />
the imperative <strong>and</strong> directive rules <strong>of</strong> Migratory. The imperative rules are given in Section 6.2.<br />
There are four directive rules that can be used to generate or discard directive messages.<br />
C-Send-<strong>Cache</strong>Req Rule<br />
Site(id , cache, in, out, pmb, mpb, proc)<br />
! Site(id , cache, in, out Msg(id ,H,<strong>Cache</strong>Req,a), pmb, mpb, proc)<br />
C-Receive-FlushReq Rule<br />
Site(id , cache, Msg(H,id ,FlushReq,a) in, out, pmb, mpb, proc)<br />
! Site(id , cache, in, out, pmb, mpb, proc)<br />
M-Send-FlushReq Rule<br />
Msite(mem, in, out)<br />
! Msite(mem, in, out Msg(H,id ,FlushReq,a))<br />
M-Receive-<strong>Cache</strong>Req Rule<br />
Msite(mem, Msg(id ,H,<strong>Cache</strong>Req,a) in, out)<br />
! Msite(mem, in, out)<br />
Figure 6.7 gives the imperative <strong>and</strong> directive rules used in the derivation for each Migratory<br />
rule. In the derivation, <strong>Cache</strong>Pending <strong>and</strong> T[id ] used in the integrated rules are mapped<br />
to Invalid <strong>and</strong> C[id ] <strong>of</strong> the imperative rules, respectively. Therefore, Migratory is a sound<br />
implementation <strong>of</strong> the CRF model.<br />
125