Host Bridge(主机桥,PCI/PCIe语境下常称HOST主桥或Root Complex的一部分)的本质是CPU/内存域PCI/PCIe设备域之间的协议转换网关,负责地址翻译、事务生成和配置空间访问。三种架构在来源与设计哲学上有明显分化:

一、来源与组成

  • x86:源于PC芯片组“北桥”

    • 来源:早期x86主板采用南北桥架构,Host Bridge集成在北桥(North Bridge / MCH)中,后来内存控制器移入CPU,剩余功能并入PCH,但逻辑上仍保留Host Bridge角色。

    • 组成:包含存储器控制器(早期在北桥)PCI/PCIe Root Complex/主桥逻辑、前端总线接口;负责CPU↔内存↔PCIe高速设备互联,实现存储器域到PCI域的地址窗口映射(MEM/IO BASE-LIMIT)与配置空间访问(0xCF8/0xCFC或ECAM)。

  • ARM:SoC内置的PCIe控制器/RC

    • 来源:ARM作为片上系统(SoC)架构,无独立“北桥”,Host Bridge以PCIe Root Complex/PCIe控制器形式集成在SoC内部,是IP核之一。

    • 组成:通常包含AXI/ACE主接口(连CPU互连总线)、PCIe控制器PHY接口;通过ECAM内存映射访问配置空间;与AMBA总线族(AXI/AHB→APB桥)衔接,CPU通过内存映射I/O直接访问Root Complex寄存器。

  • RISC-V:自定义SoC互连中的PCIe IP

    • 来源:RISC-V本身只定义ISA与特权架构,不规定互连标准;Host Bridge来自SoC集成者选择的第三方PCIe IP或自研模块,常见于SiFive等SoC中。

    • 组成:类似ARM,一端接RISC-V核心的TileLink或AXI总线(需桥接),另一端实现PCIe Root Complex;组成包括总线桥(TileLink↔AXI/PCIe)地址解码与域转换逻辑配置访问控制器;配置空间访问由平台自定义(通常模仿ARM的ECAM或x86的端口方式)。

二、核心区别对比

维度

x86

ARM

RISC-V

物理形态

曾为独立北桥,现为CPU+PCH内逻辑

SoC内集成PCIe控制器/IP

SoC内自定义集成,无统一形态

互连总线

早期FSB/HT/IOMMU,现片内总线

AMBA(AXI/AHB/APB)

TileLink、AXI或自定义

配置访问

0xCF8/0xCFD端口 + ECAM

内存映射ECAM

平台自定义(多仿ECAM)

标准化程度

高(BIOS/ACPI/PCI Firmware规范)

高(SBSA/SBBR/设备树)

低(由SoC厂商自行定义)

地址转换

固定窗囗(MEM/IO/Prefetch)+ IOMMU

SMMU(IOMMU)+地址窗囗

IOMMU可选,窗囗实现依赖SoC

三、本质总结

  • x86的Host Bridge是PC兼容生态遗留的产物,强调与旧有BIOS/操作系统(Windows/Linux x86)的无缝兼容,南北桥演进而逻辑不变。

  • ARM的Host Bridge是SoC标准化互连(AMBA)的一部分,与设备树、SBSA规范深度绑定,偏向移动/嵌入式/服务器统一架构。

  • RISC-V的Host Bridge是完全解耦的模块,ISA不约束硬件互连,灵活性最高但也最碎片化,依赖各芯片厂商实现PCIe Root Complex与域转换。

如果在驱动开发里看pci_host_bridge结构体,在x86上它背后是固定的MCH/PCH逻辑,在ARM上是设备树里描述的PCIe控制器节点,在RISC-V上则完全取决于具体SoC的DTS和实现。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐