CSC/ECE 506 Spring 2010/8a fu

From Expertiza_Wiki
Revision as of 18:22, 18 March 2012 by Jcledfo3 (talk | contribs) (Created page with "=Introduction to bus-based cache coherence in real machines= ==SMP Architecture== Most parallel software in the commercial market relies on the shared-memory programming model ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction to bus-based cache coherence in real machines

SMP Architecture

Most parallel software in the commercial market relies on the shared-memory programming model in which all processors access the same physical address space. And the most common multiprocessors today use SMP architecture which use a common bus as the interconnect. In the case of multicore processors ("chip multiprocessors," or CMP) the SMP architecture applies to the cores treating them as separate processors. The key problem of shared-memory multiprocessors is providing a consistent view of memory with various cache hierarchies. This is called cache coherence problem. It is critical to achieve correctness and performance-sensitive design point for supporting the shared-memory model. The cache coherence mechanisms not only govern communication in a shared-memory multiprocessor, but also typically determine how the memory system transfers data between processors, caches, and memory.


At any point in logical time, the permissions for a cache block can allow either a single writer or multiple readers. The coherence protocol ensures the invariants of the states are maintained. The different coherent states used by most of the cache coherence protocols are as shown in Table 1:

States Access Type Invariant
Modified read, write all other caches in I state
Exclusive read all other caches in I state
Owned read all other caches in I or S state
Shared read no other cache in M or E state
Invalid - -


The first widely adopted approach to cache coherence is snooping on a bus. We will now discuss how some real time machines maintain cache coherence using snooping based coherence protocols. For more information on snooping based protocols refer to Solihin text book Chapter 8.