Skip to main content

Daniel J. Sorin

Professor of Electrical and Computer Engineering
Pierre R. Lamond Department of Electrical and Computer Engineering
Box 90291, Durham, NC 27708-0291
403 Wilkinson Building, Durham, NC 27708

Scholarly Works - Book sections


Coherence Basics

Book section · January 1, 2009 In this chapter, we introduce enough about cache coherence to understand how consistency models interact with caches. We start in Section 2.1 by presenting the system model that we consider throughout this primer. To simplify the exposition in this chapter ... Full text Cite

Relaxed Memory Consistency

Book section · January 1, 2009 The previous two chapters explored the memory consistency models sequential consistency (SC) and total store order (TSO). These chapters presented SC as intuitive and TSO as widely implemented (e.g., in x86). Both models are sometimes called strong because ... Full text Cite

Introduction to Consistency and Coherence

Book section · January 1, 2009 Many modern computer systems and most multicore chips (chip multiprocessors) support shared memory in hardware. In a shared memory system, each of the processor cores may read and write to a single shared address space. These designs seek various goodness ... Full text Cite

Advanced Topics in Coherence

Book section · January 1, 2009 In Chapters 7 and 8, we have presented snooping and directory coherence protocols in the context of the simplest system models that were sufficient for explaining the fundamental issues of these protocols. In this chapter, we extend our presentation of coh ... Full text Cite

Snooping Coherence Protocols

Book section · January 1, 2009 In this chapter, we present snooping coherence protocols. Snooping protocols were the first widely-deployed class of protocols and they continue to be used in a variety of systems. Snooping protocols offer many attractive features, including low-latency co ... Full text Cite

Total Store Order and the x86 Memory Model

Book section · January 1, 2009 A widely implemented memory consistency model is total store order (TSO). TSO is used in SPARC implementations and, more importantly, appears to match the memory consistency model of the widely used x86 architecture. This chapter presents this important co ... Full text Cite

Directory Coherence Protocols

Book section · January 1, 2009 In this chapter, we present directory coherence protocols. Directory protocols were originally developed to address the lack of scalability of snooping protocols. Traditional snooping systems broadcast all requests on a totally ordered interconnection netw ... Full text Cite

Coherence Protocols

Book section · January 1, 2009 In this chapter, we return to the topic of cache coherence that we introduced in Chapter 2. We defined coherence in Chapter 2, in order to understand coherence’s role in supporting consistency, but we did not delve into how specific coherence protocols wor ... Full text Cite

Memory Consistency Motivation and Sequential Consistency

Book section · January 1, 2009 This chapter delves into memory consistency models (a.k.a. memory models) that define the behavior of shared memory systems for programmers and implementors. These models define correctness so that programmers know what to expect and implementors know what ... Full text Cite