Reputation: 41
In the x86 architecture, what is term root complex and system agent?
I guess, System agent is basic barebone base foundation of SOC, on top of this many other buildinf blocks like Memory controller, cache controller, prepheral IO controller resides. Root complex dont know?
Upvotes: 3
Views: 1937
Reputation: 124
Both terms are just secondary collective terms.
So basically only Root Port matters; and Root Complex exists only to unite Root Ports with some auxiliary devices, e.g. a 1 error handler device — so that all the Root Ports of the Root Complex can share 1 error handler device for all of them instead of having 1 per each.
Agent is a term for SOC/chip. It's a node in internal chip interconnect network. Typically there is 1 (or more) of separate devices dedicated for I/O, which can be called something like an I/O agent. And so Root Complex is a main part of 1 I/O agent.
Note that:
A system agent exists only in some of chip architectures, like Intel's Sandy Bridge. (I guess this term is actually Intel-specific.) See this image for example. It's just a device that besides a PCIe Root Complex includes also a Memory Controller and probably some other devices. It's a non-essential internal term — just about how grouping of a few devices on one particular chip architecture was made.
Upvotes: 4
Reputation: 12435
The Root Complex is defined by the PCIe specification. It comprises the root ports, root complex event collectors, and root complex integrated endpoints (for example, USB and SATA controllers).
The System Agent is the name for the Intel implementation of the PCIe Root Complex and the connections between it and the rest of the system. It also contains other components such as IOMMUs and power control unit.
Upvotes: 2