Cache Coherence in Multiprocessors: A Survey

Mazin S. Yousif, M. J. Thazhuthaveetil, C. R. Das

Research output: Contribution to journalArticlepeer-review

1 Scopus citations


Shared-memory multiprocessor systems use private (or per processor) caches to enhance system performance by reducing average memory access time. In-cache modification of shared data in such systems leads to a data inconsistency problem referred to as the cache coherence problem. A solution to the cache coherence problem must ensure that any read access to shared data is satisfied with the most recent version of that data item. Both hardware-based and software-assisted solutions have been developed, reported in the literature, and implemented in multiprocessors. This paper surveys the impact of cache coherence on multiprocessor architecture design. First, general hardware approaches to dealing with cache coherence in shared-memory multiprocessors are presented. The approaches presented are interconnection medium-dependent, as follows: bus-based, multistage interconnection network (MIN)-based, and crossbarbased. The possibility of implementing protocols in hypercubes is also discussed. Software solutions to cache coherence are also dealt with. Coherency requirements and correctness of protocols are later described. Finally, a performance analysis summary is included.

Original languageEnglish (US)
Pages (from-to)127-179
Number of pages53
JournalAdvances in Computers
Issue numberC
StatePublished - 1995

All Science Journal Classification (ASJC) codes

  • General Computer Science


Dive into the research topics of 'Cache Coherence in Multiprocessors: A Survey'. Together they form a unique fingerprint.

Cite this