1. Arm架构PCIe寄存器实现基础解析
PCI Express作为现代计算系统中最重要的高速串行总线标准,其寄存器实现规范直接决定了设备的兼容性与性能表现。在Arm架构下实现PCIe设备时,需要严格遵循规范要求,同时考虑Arm特有的系统架构特性。
1.1 Root Port与Endpoint的基本寄存器要求
在Arm Base System Architecture中,PCIe设备的寄存器实现分为Root Port(根端口)和Endpoint(端点设备)两种类型,它们有着不同的寄存器实现要求:
- Root Control/Status寄存器:必须完全按照PCIe规范实现,用于控制根端口的基本操作状态
- Device Capabilities 2寄存器:需要参考规范G.2.1.11节的实现要求
- Link Capabilities 2寄存器:需遵循G.2.1.16节的规范要求
对于电源管理能力寄存器(PMC),规范要求i-EP Endpoint和i-EP Root Port必须完整实现PCI电源管理能力结构中的所有寄存器,具体包括:
markdown复制1. Power Management Capabilities (PMC) - 参考G.2.1.2节
2. Next Capability Pointer - 按PCIe规范实现
3. Capability ID - 按PCIe规范实现
4. Data - 参考G.2.1.4节
5. Power Management Control/Status (PMCSR) - 参考G.2.1.3节
重要提示:在Arm架构实现中,PMC寄存器的Aux_Current字段必须硬连线为0,表明i-EP Root Port/Endpoint是自供电设备。这是Arm架构与x86架构的一个重要区别点。
1.2 高速链路支持的扩展能力要求
当设备声明支持8GT/s或更高链路速度时,需要实现额外的扩展能力结构:
8GT/s及以上速度必须实现:
- Secondary PCI Express Extended Capability结构
- PCI Express Extended Capability Header
- Link Cont
