Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

4.1.5.3. Cache Coherency Protocol

CCU components communicate and enforce cache coherence via the cache coherence protocol, which defines a number of protocol transactions, each of which accesses a single directory cache-line and is classified as follows:

  • A coherent read transaction fetches a coherent copy of data for an agent and may or may not invalidate copies in other caching agents
  • A coherent clean transaction transfers any modified data from a caching agent to memory and may or may not invalidate the copies in other caching agents
  • A coherent write transaction transfers any modified data from a caching agent to memory, invalidating copies in other caching agents
  • A memory update transaction transfers modified data from a caching agent to memory but does not invalidate the copies in the other caching agents

At a high level, each native transaction received by a CAIU or an NCAIU is translated into one or more protocol transactions, based on the alignment and length of the original coherent transaction. Protocol transactions are completed in accordance with the requirements of the original native protocol, including sequencing responses from multiple transactions, if necessary.

Each transaction consists of one or more protocol messages, divided into protocol control messages and protocol data messages exchanged between pairs of CCU components.

Note: The following section refers to CAIU and NCAIU as AIU.

Protocol control messages are classified as follows:

  • A command message (CMD) initiates a coherent or non-coherent transaction. CMDs flow between AIU and DCE/DMI/DII/DVE
  • A snoop message (SNP) transmits coherence operations to caching agents and consists of a request and response phase. It flows between DCE/DVE and AIU
  • A memory read message (MRD) performs a non-speculative memory read. It flows between DCE and DMI
  • A request buffer message (RB) handles memory write buffer allocation. It flows between DCE and DMI
  • A state reply message (STR) communicates transaction progresses information to the requesting agent and consists of a request and response phase. It flows between DCE/DMI/DII and AIU
  • An update message (UPD) communicates cache state information to a directory. It flows between AIU and DCE

Protocol data messages are classified as follows:

  • A data reply message (DTR) transfers data to the requesting agent. It flows between AIU/DMI/DII and AIU
  • A data write message (DTW) transfers data from the requesting agent to memory or device. It flows between AIU and DMI/DII/DVE

The sequence of protocol messages associated with a native transaction depends on the type of protocol transaction and the state of the snoop filters.