PCIe体系结构解析:TLP路由策略

需积分: 48 511 下载量 199 浏览量 更新于2024-08-10 收藏 4.96MB PDF 举报
"本文档主要介绍了TLP(Transaction Layer Packet)在赛灵思Zynq7020芯片中如何进行路由,重点讲述了PCI Express(PCIe)总线的三种路由方式:基于地址的路由、基于ID的路由以及隐式路由,并详细阐述了基于地址的路由机制。" PCIe总线在传输数据时,采用TLP作为基本的数据包单位。TLP路由是决定这些数据包如何通过Switch或PCIe桥到达Endpoint (EP) 或 Root Complex (RC) 的过程。总线定义了三种路由策略来确保数据准确无误地传输。 **基于地址的路由**主要应用于存储器和I/O读写请求。这种路由方式利用TLP中的Address字段来确定数据包的目的地。当TLP携带存储器或I/O地址时,PCIe设备会根据地址将数据包转发到正确的Egress端口。在多级Switch架构中,每个Switch内部都有多个虚拟PCI-to-PCI桥,这些桥的配置寄存器存储了它们可以接收的物理地址范围。系统软件在初始化阶段会设置这些寄存器,使得TLP在传输过程中能依据地址找到正确路径。 **基于ID的路由**则适用于配置读写报文、Vendor_Defined Messages、Completion (Cpl) 和 CplD报文。这些类型的TLP使用PCI总线号来进行路由选择。在Switch或多端口RC的配置空间内,包含了关于如何根据总线号进行路由的信息。 **隐式路由**主要服务于Message报文,如INTx中断信号、电源管理消息和错误信号消息等(除Vendor_Defined Messages外)。隐式路由通常是从下游端口到上游端口的数据传递,或RC向EP发送的广播报文。 PCIe体系结构在设计上与PCI总线有相似之处,但使用TLP而非总线周期进行数据传输。在PCIe中,HOST主桥、PCI总线、PCI设备和HOST处理器共同构成了系统的核心组件。HOST主桥连接着HOST处理器和PCI总线,负责协调两者之间的通信。 在实际应用中,了解这些路由机制对于理解和优化PCIe设备的性能至关重要,特别是在涉及多级Switch和复杂拓扑的系统中。理解如何通过配置寄存器设置正确的地址范围,能够有效地提升系统效率并减少数据传输错误。因此,对于Zynq7020这样的高性能芯片来说,掌握TLP路由技术是实现高效PCIe通信的基础。