PCI Express endpoint 2026-11-05
A PCI Express endpoint is a device at which PCI Express transactions originate or terminate, rather than a port whose principal role is forwarding traffic between links. Storage controllers, network adapters and accelerators can expose endpoint functions. The host discovers their configuration information and assigns resources for communication.
For example, a device driver can configure an endpoint's addressable control region and then exchange commands with the device. The Linux endpoint framework distinguishes the endpoint controller from the function implemented over it and supplies operations for configuration headers, address windows and interrupts.[ref] An endpoint is a role in the interconnect topology; one chip can expose several functions, and some controllers support either endpoint or root-complex operation.
PCI Express root complex 2026-11-05
A PCI Express root complex connects a host's CPU and memory system to a PCI Express hierarchy. A PCI Express root port originates a downstream link from that complex; one root complex can expose several such ports. Endpoints may attach directly or through switches.[ref]
For example, an operating system discovers a device through the hierarchy and configures resources through which the host and device communicate. Device-initiated memory transfers also depend on the platform's address mappings and protection mechanisms. The root complex is the host-facing architectural component, while a switch distributes links within the hierarchy and a PCI Express lane is one unit of a link's physical signaling. Keeping those levels separate prevents confusing a port count with a CPU count or a guaranteed bandwidth.
PCI Express root port 2026-11-05
A PCI Express root port is a port in a root complex that starts a PCI Express link leading toward downstream devices or a switch. The PCI Express root port is represented as a logical bridge in the hierarchy. It is distinct from the PCI Express endpoint that provides a device function.[ref]
For example, a storage PCI Express endpoint can attach directly to one PCI Express root port, while another root port connects to a switch serving several devices. Port services such as error reporting, hot plugging or power management concern that hierarchy and its links. Requiring a root-port service driver is therefore a different task from writing the device driver for the storage endpoint.
PCI Express switch 2026-11-05
A PCI Express switch routes transactions between PCI Express links in a hierarchy. In a conventional single-root arrangement, an upstream port connects toward the root complex and downstream ports connect toward endpoints or further switches. Software sees logical bridge relationships that describe this structure.[ref]
For example, two devices can have separate downstream links while sharing one upstream link to the host. Their local links can operate independently, but simultaneous host-bound transfers compete for the upstream capacity. Adding ports does not manufacture unlimited host bandwidth. A PCI Express switch routes the interconnect's transactions; its role and addressing model differ from those of an Ethernet switch.