物理主体: host switch endpoint
host: cpu, pcie rc(root complex) core, ram
endpoint:pcie endpoint core, ram, io dev
逻辑主体: host cpu, 内存空间, io空间
endpoint: 配置空间, bar空间(io空间, 内存空间)
顶层逻辑,将endpoint的 内存空间,和io空间,映射到 host 的内存空间,io空间中。使得host无感操作endpoint。
实现逻辑,分两阶段,
第一阶段上电配置阶段(也可以是热插拔配置),即初始rc枚举endpoint,并配置建立endpoint空间到host空间的映射关系。
第二阶段,正常操作,当cpu访问ram的空间,发现被访问的是endpoint映射空间,将请求告诉rc,由rc发起事务,组包解包tlp,完成远程空间搬运。
xilinx 相关 pcie的 ip cores 在层次上有2个切分点,3层,4层。
xilinx xdma ip core 在pcie的三层stack上包上一层,属于4层切分,提供了三个bar,可进行任意组合。
提供了axi-lite(control path),axi-stream(data path),axi-memory map(data path),中断接口(control path)。
提供了通用的X86 host 端linux驱动,且不需要user自己去配置endpoint pcie的配置空间。