Cache Coherency Protocols

MESI

MSI

SISC - Non Speculative

Local read

Read hit
I :!: DONE
S S DONE PrRd/–
St St DONE PrRd/–
M M DONE PrRd/–
MC MC DONE PrRd/–
Read miss
I –StlL→ S
I –StlH→ St when req goes to L2 and some speculative threads have new specultive data.
S :!: DONE
St :!: DONE
M :!: DONE
MC :!: DONE

Distant read

BusR
I :!: DONE no invalid on bus (if answer), I→I if req
S S
St :!: not possible for speculative threads
MC S
M :!: not possible for speculative threads

Local write

Write hit
M M DONE
MC M
S M like MSI
St St
Write miss
I –StlL→ M same story as read miss
I –StlH→ St
S :!: DONE
St :!: DONE
M :!: DONE
MC :!: DONE

Distant write => readx

Bus on Write hit
I :!: DONE
S INV ok. ditant goes to modified ⇒ invalidate, Regular MSI
St INV ok. ditant goes to modified ⇒ invalidate
M :!: DONE. Distant write hit impossible on local modified
MC :!: impossible on write hit, only on miss
Bus on Write miss
MC INV Is there a writeback ?
S INV

questions

  • Word-based cache coherency:
    • Let’s configure the cache to have a cache line containing only a word.
  • States
    • which states imply you have an exclusive copy ? M MC
  • Read / Write Miss
    • INV → S/St : It s a matter of checking an extra signal.
    • Then, the mechanism of distributed arbitration chooses the supplier thread and allows it to put the requested cache word on the shared bus.
      • controller on speculation support at the bus level.

action points

  • Build the FSA to be translated into source code
    • Matching transitions with existing ones if possible.
  • Add additional signals to the bus

SISC - Speculative

 
modules/cycle/network/cachewb/coherency_protocols.txt · Last modified: 2008/02/07 11:57 by girbal     Back to top
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki