首页 接线图文章正文

PA数据链路解密之PCI-E总线

接线图 2023年12月31日 18:22 154 admin

1.1 架构

PA数据链路解密之PCI-E总线  第1张

图 1 框架图

1、 Root Complex(RC)

PCI-E根控制器,集成在主处理器系统中,管理处理器与PCIE设备的连接。

2、 Switch

PCI-E交换设备,用于PCI-E总线的扩展。

3、 Bridge

PCI-E桥设备,用于PCI-E与其它总线的桥接。例如:PCIE to PCI桥。

4、 Endpoint(EP)

PCI-E终端设备,例如网卡等通讯板卡或其它数据采集板卡。

实际应用中,我们关注较多的则是此类设备。

1.2 通讯

1、 地址映射

EP设备可通过配置自身PCI-E控制器,将设备内部一段内存地址映射到CPU保留地址空间。CPU通过访问该映射后的地址,便可透明地读写设备,而不必关心物理传输细节。

2、 直接内存访问

EP设备具有总线主控能力,即能够主动访问CPU地址空间。通过修改PCI-E控制器的地址映射,配合DMA控制器,可以实现无需CPU干预的数据传输。

3、 MSI(Message Signaled Interrupt)中断

EP设备可以将某个特定消息写到特定地址,触发一个CPU中断。

1.3 枚举

1、 配置空间

PA数据链路解密之PCI-E总线  第2张

图 2 1 配置空间

如图2所示,配置空间是由EP设备定义,用于描述EP设备资源及特性的一组寄存器。在枚举过程中,RC会扫描PCI-E总线上的所有设备。通过访问该设备的配置空间,可以获得加载EP设备驱动所需的DeviceID、VendorID等信息。

2、 BAR(Base Address RegiSTers)

EP设备可向RC请求将自身的1~6段设备地址映射到CPU的地址空间,这1~6个CPU地址由RC软件在枚举过程中分配并回写到配置空间中的BAR寄存器。

3、 枚举流程

PA数据链路解密之PCI-E总线  第3张

图 3 枚举流程

如图3所示,CPU以一定顺序扫描系统内的PCI-E总线,为发现的设备分配总线号、设备号,构建设备树,分配地址空间并回写BAR。操作系统启动后,将根据DeviceID、VendorID找到匹配的驱动程序并加载运行。

版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

标签: PCI-E 驱动程序 设备树

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349