Compute Express Link or CXL What it is?

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. – 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

About the Author


24 years of experience in various layers of software. Primarily experienced in system side software design and development on server management software. Interested in linux development in x86 and arm architecture.