The Coherency Mesh Network (CMN) block provides the functionality required for the CCIX accelerator side cache-coherent home node. It is responsible for maintaining cache coherency between all of the requester nodes in the system. The main functions of CMN are:
- Point of Coherency
- (PoC) is responsible for coordinating coherence actions for address ranges mapped to the home node. It includes serializing requests to any single address, snooping all of the other caches in the system, accessing memory for read/write access when required, and sending appropriate completion indication to the requesting agent.
- Snoop Filter
- (SF) keeps track of addresses mapped to local memory that have been cached by caches in the system. CCB snoop filters are split into two halves to provide the required snoop bandwidth with 2 MB equivalent tags for each SF, tracking a total of 4 MB cache tags. It has precise tracking for up to 2 local request agents and 16 remote request agents out of a maximum possible 64 CCIX request agents. When the number of remote RA exceeds 16, the SF sends unicast snoops to all CCIX request agents present.
- Coherent Multi-chip Link
- (CML) provides bridge functionality between CHI-B and CCIX protocol. The CCIX streaming interface (CXS) is implemented as an interface to the CCIX transport layer (PCIe in this case). The CML block receives transactions from CMN over CHI-B and converts them to a CXS stream sent to the PCIe controller. In the other direction, it receives a CXS stream from the PCIe controller and converts it to CHI-B transactions to be consumed by the CMN.