首页 理论教育PCIExpress工作原理简介

PCIExpress工作原理简介

【摘要】:图12-1 Capric卡的组成结构Capric卡基于PCIe总线,主要功能是通过DMA读写方式与HOST处理器进行数据交换。Capric卡由LogiCORE、发送部件、接收部件、BAR空间、DMA控制逻辑和FPGA片内SRAM组成,其工作原理较为简单。Capric卡仅使用了BAR0空间,处理器使用存储器映像寻址方式,而不是I/O映像寻址方式访问BAR0空间。

Capric卡的组成结构如图12-1所示。

978-7-111-29822-9-Part02-159.jpg

图12-1 Capric卡的组成结构

Capric卡基于PCIe总线,主要功能是通过DMA读写方式与HOST处理器进行数据交换。Capric卡由LogiCORE、发送部件、接收部件、BAR空间、DMA控制逻辑和FPGA片内SRAM组成,其工作原理较为简单。

Capric卡首先使用DMA读方式,将主存储器中的数据搬移到FPGA的片内SRAM中,然后使用DMA写方式,将FPGA的片内SRAM中的数据写入主存储器中。在Capric卡中,一次DMA操作可以传送的数据区域的最大值为0x7FFB(0x2047B)。

Capric卡的各个组成模块的功能描述如下所示。(www.chuimin.cn)

●LogiCORE。其主要功能是处理PCIe设备的物理层、链路层与部分事务层的逻辑,并向外提供必要的接口。PCIe设备配置空间的初始化,以及与配置和中断请求相关的总线事务也由LogiCORE完成。LogiCORE是PCIe总线的接管者,其他部件通过Log-iCORE与PCIe链路进行通信。LogiCORE通过“Host Interface”实现PCIe设备的初始化配置。

●Capric卡的发送部件负责发送TLP报文,包括“存储器读请求”和“存储器写请求TLP”,但是并不包含配置和消息报文的发送。MSI报文由发送部件通过LogiCORE发送。

●接收部件负责接收“存储器读完成TLP”。Capric卡不支持I/O读写TLP。

●DMA控制逻辑协调发送与接收部件,以完成DMA写与DMA读操作,该逻辑的实现是Capric卡的设计重点。

●BAR空间中存放了一组操纵DMA控制逻辑的寄存器,这组寄存器由HOST处理器和Capric卡共同读写,从而完成相应的DMA操作。Capric卡仅使用了BAR0空间,处理器使用存储器映像寻址方式,而不是I/O映像寻址方式访问BAR0空间。