关于Host Bridge
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和实现。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)