CSC/ECE 506 Spring 2010/chapter 8

From Expertiza_Wiki
Revision as of 21:36, 26 March 2010 by Shebbur (talk | contribs)
Jump to navigation Jump to search

**Implementation of bus-based coherence protocols in real machines**

Introduction

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 (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 coherent protocols are :