在PCIe架构中,Root Complex(RC) 作为CPU与PCIe设备间的核心枢纽,其寄存器系统可分为多个类别,每类寄存器的访问机制和功能各不相同。以下基于PCIe协议规范及硬件实现,对RC寄存器的分类及访问方式进行系统性总结:
🧩 一、配置空间基础寄存器
位于每个PCIe设备的4KB配置空间中,分为标准头区(64字节)和扩展区(剩余空间)。
-
标准配置头寄存器(Type 0/1)
-
公共字段:
-
Vendor ID、Device ID:标识设备厂商和型号(只读) -
Class Code:设备类型(如网卡/显卡)(只读) -
Header Type:区分设备类型(Type 0为EP,Type 1为桥设备)
-
-
Type 0独有(Endpoint设备):
-
BAR0-BAR5:定义设备内存/IO映射窗口(6个32位或3个64位)
-
Expansion ROM Base Address:预启动固件映射地址
-
-
Type 1独有(RC/Switch):
-
Primary/Secondary/Subordinate Bus:管理下游总线号范围 -
Memory/I/O Base/Limit:控制下游设备地址窗口
-
-
-
扩展配置空间寄存器(偏移256B~4KB)
-
PCIe能力寄存器链:
-
通过
Capability Pointer遍历链表,支持高级功能扩展
-
-
⚙️ 二、能力扩展寄存器
通过Capability结构链表组织,分为两类:
-
PCI兼容能力寄存器(偏移64B~255B)
-
电源管理(PM):控制设备功耗状态(D0-D3)
-
MSI/MSI-X:配置消息中断向量表和地址
-
PCI Express:包含链路控制/状态(如链路宽度、速率)
-
-
PCIe扩展能力寄存器(偏移256B~4KB)
-
高级错误报告(AER):错误检测/纠正状态寄存器
-
虚拟通道(VC):服务质量(QoS)流量控制
-


419

被折叠的 条评论
为什么被折叠?



