Compute Express Link is a cache-coherent link meant to help systems, especially those with accelerators, operate more efficiently.
CXL uses 3 main protocol.
1. CXL.io – used for initialization, link-up, device discovery and enumeration, and register access.
2. CXL.cache – defines interactions between a Host (usually a CPU) and Device (such as a CXL memory module or accelerator.
3. CXL.memory – protocol that provides a Host processor (usually a CPU) with direct access to Device-attached memory using load/ store commands.
Typical use case
Type 1 one can think of as an accelerator like a NIC that accesses the host CPU’s memory directly. Type 2 is a case where we have an accelerator, like a GPU with memory, and the GPU can access host memory while the host CPU can access GPU memory. Type 3 one can think of as a memory module where its primary purpose is to expose the CXL memory device’s media to the host CPU. Nice detailed article and video can be found in the below source.
Source: Compute Express Link or CXL What it is and Examples – ServeTheHome