Skip to content

PCIe · Module 2

PCIe Architecture Overview — The System Map

The complete high-level picture of a PCIe system: a hierarchy rooted at the host side, with endpoints reached over dedicated links either directly or through switches, and transactions travelling along paths through that structure.

Module 1 derived an architecture. Chapter 1.8 established that a scalable interconnect needs dedicated links rather than a shared medium, switching to provide fan-out, packetized transactions because the shared wires are gone, and capability provisioned per connection.

That told you what the architecture must be. This chapter shows what it actually looks like:

What does a complete PCIe system look like once the shared bus has been replaced?

This is a map, deliberately. Its job is to put every major component in your head at once, in the right relationship to the others, so that the chapters which follow have somewhere to attach. Each component named here gets its own chapter; none of them is fully explained here.

1. The Cast

A PCIe system is built from a small number of architectural roles. Read these as roles, not as part numbers — what matters is the job each performs in the structure.

Root Complex. The host-side anchor of the hierarchy. It connects the processor and memory domain to PCIe, and every path into the structure begins here. This is where system software's view of PCIe starts. → Chapter 2.2

Endpoint. A device-side participant that terminates a path. An endpoint is where a transaction's journey through the hierarchy ends — it consumes or generates traffic for the device it represents rather than passing traffic onward. → Chapter 2.3

Switch. An intermediate component that provides fan-out. It has several connections and forwards traffic between them, so one connection from the host side can reach many devices. → Chapter 2.4

Link. The dedicated connection joining exactly two of these components. Every edge in a PCIe system is a Link, and nothing else attaches to it. → Chapter 2.8

Bridge. A component that connects a PCIe hierarchy to a different bus architecture — most importantly to legacy PCI, which is how the ecosystem transition Module 1 described was managed in practice. → Chapter 2.5

Two terminology notes worth fixing now, because they save confusion later. A PCIe Link is not a bus: it joins two components and nothing else taps it, so "the PCIe bus" is a phrase to avoid except when deliberately contrasting with legacy PCI. And a hierarchy is the tree-shaped structure these components form — the word is doing real work, not decorating.

2. The Shape of a System

Put the cast together and a PCIe system has a characteristic form: a tree, rooted at the host side.

The Root Complex sits at the top. From it, Links run outward. Some reach an Endpoint directly — a device attached straight to a host-side connection, with nothing in between. Others reach a Switch, which fans out into further Links, each reaching an Endpoint or another Switch. Repeat as needed and the structure grows downward and outward.

A PCIe system map: CPU and system memory connect to a Root Complex. From the Root Complex, one dedicated link reaches Endpoint A directly, and another reaches a Switch, which fans out over further dedicated links to Endpoint B and Endpoint C.CPU + systemmemoryprocessor/memory domainRoot Complexhost-side anchorEndpoint Adirect-attachedSwitchfans out the hierarchyEndpoint Breached via the switchEndpoint Creached via the switchLink12
Figure 1 — the canonical PCIe system map. The Root Complex anchors the structure on the host side. Endpoint A is reached by a Link directly; Endpoints B and C are reached through a Switch that fans one host-side connection out into several. Every edge is a dedicated Link joining exactly two components, and every Endpoint terminates its path rather than passing traffic onward.

Three properties of that shape are worth naming explicitly, because they are what distinguish it from everything in Module 1:

  • Every edge joins exactly two components. There is no point in the picture where several devices attach to one common medium. That absence is the whole architectural change.
  • Depth is a design choice. Endpoint A sits one Link from the Root Complex; Endpoints B and C sit two. Both arrangements are ordinary, and a system can be deeper still.
  • The structure is a tree. Paths run between the root and the leaves. This matters for how traffic moves, which is the next section.

3. How Traffic Moves Through the Structure

On a shared bus, a transaction was visible to everything attached, because everything shared the wires. In this structure, that is no longer true — a component on one Link cannot observe another Link. So traffic travels a path.

Consider a transaction from the host toward Endpoint C. It leaves the Root Complex on a Link, arrives at the Switch, and the Switch forwards it onto the Link that leads toward Endpoint C. Two hops, each across a dedicated connection, with a forwarding decision in between. A transaction toward Endpoint A takes a shorter path: one Link, no intermediate component.

Traffic also flows the other way. An Endpoint can generate transactions of its own — typically toward system memory — which travel back up the same structure toward the Root Complex. The hierarchy is not a broadcast medium in either direction; it is a set of paths that traffic is moved along.

Two consequences follow, and they are worth carrying forward:

Concurrency is available where paths do not overlap. A transfer between the Root Complex and Endpoint A uses different Links than one between the Switch and Endpoint B. Both can proceed at the same time, which no shared medium could offer.

Convergence points are where traffic contends. The Link between the Root Complex and the Switch carries traffic for everything below that Switch. If Endpoints B and C are both busy, that upstream Link is where their demands meet. This is Module 1's "localized contention" made concrete: contention did not vanish, it moved to identifiable places in the structure — and now you can point at them on a diagram.

4. Where the Hierarchy Begins and Ends

The tree has two distinguished kinds of position, and the difference between them is the cleanest way to keep the cast straight.

The root is the host side. The Root Complex is where the structure begins, where system software's view of PCIe originates, and where the processor and memory domain meets the hierarchy. There is exactly one root to any given hierarchy — that is what makes it a hierarchy rather than an arbitrary graph.

The leaves are Endpoints. An Endpoint terminates a path: traffic arriving at one has reached its destination, and is not forwarded onward to something else.

Switches occupy the middle. They are neither the origin nor the termination — they exist to forward between connections, which is what lets one host-side connection serve many devices.

That three-way distinction — root, intermediate forwarding, termination — is the load-bearing idea of Module 2. If you can classify any component in a PCIe block diagram into one of those three, you can read the diagram, and Chapters 2.2 through 2.4 then tell you what each one actually does.

5. Common Misconceptions

6. Real Engineering Relevance

The concrete skill this chapter should leave you with is the ability to read a PCIe system diagram — which you will meet constantly in datasheets, platform documentation, and system architecture specifications.

Given any such diagram, you should now be able to identify:

  • the host-side root — where the hierarchy begins and where software's view starts
  • the endpoints — the devices that terminate paths
  • any intermediate switches — the components providing fan-out
  • the individual links — every edge, each joining exactly two components
  • the convergence points — upstream links carrying combined traffic from everything below them

That last item is the one that separates reading a diagram from understanding it. When a system underperforms, the structure tells you where to look: not at the medium, because there isn't one, but at the specific segments where traffic from several sources meets. An engineer who can find those on a diagram is asking better questions than one who cannot.

7. Understanding Check

8. Summary

A PCIe system is a hierarchy: a tree rooted at the host side. The Root Complex anchors it, connecting the processor and memory domain to PCIe and serving as the origin of software's view. Endpoints terminate paths — they consume and generate traffic for the devices they represent rather than forwarding it. Switches sit in between, forwarding among their several connections so that one host-side connection can reach many devices. Links are the edges: dedicated connections joining exactly two components, with nothing else attached. Bridges connect a hierarchy to a different bus architecture where that is needed.

Traffic travels paths through this structure rather than appearing on a medium everyone observes. Transfers on non-overlapping paths proceed concurrently, and contention concentrates at convergence points — most visibly the upstream Link above a Switch, which carries everything below it.

Hold the model: a PCIe system is a hierarchy rooted at the host side, with endpoints connected through dedicated links either directly or through switches, and transactions moving through that structure along paths.

9. What Comes Next

This chapter placed the cast; the rest of Module 2 develops each member.

Chapter 2.2 — Root Complex takes the host-side anchor: what it actually is, why the hierarchy needs a root at all, and how the processor and memory domain meets PCIe through it. Chapter 2.3 — Endpoint then takes the device side. Chapter 2.4 develops the Switch, 2.5 the Bridge, 2.6 how a hierarchy is organised and identified, 2.7 the fabric view, 2.8 the Link itself in depth, and 2.9 the switched-architecture contrast.

Revisit The Emergence of PCIe for the derivation this structure satisfies. Browse the full path on the PCIe tutorials index.