Date of this Version
In this paper, we develop a specification methodology that documents and specifies a cache coherence protocol in eight tables: the states, events, actions, and transitions of the cache and memory controllers. We then use this methodology to specify a detailed, modern three-state broadcast snooping protocol with an unordered data network and an ordered address network that allows arbitrary skew. We also present a detailed specification of a new protocol called Multicast Snooping  and, in doing so, we better illustrate the utility of the table-based specification methodology. Finally, we demonstrate a technique for verification of the Multicast Snooping protocol, through the sketch of a manual proof that the specification satisfies a sequentially consistent memory model.
cache coherence, protocol specification, protocol verification, memory consistency, multicast snooping
Sorin, Daniel J.; Plakal, Manoj; Condon, Anne E.; Hill, Mark D.; Martin, Milo; and Wood, David A., "Specifying and Verifying a Broadcast and a Multicast Snooping Cache Coherence Protocol" (2002). Departmental Papers (CIS). Paper 321.
Date Posted: 26 March 2007
This document has been peer reviewed.