为什么CAPI快

  • 加速器和CPU可以共享相同的有效内存,这样就可以对数据直接进行加速,例如先通过CPU进行处理,然后加速器直接对预处理的数据进行加速。
  • AFU MMIO space can be mapped into the current process memory, and AFUs can be configured and controlled via MMIO reads and writes.
  • AFU:主加速逻辑部分就是FPAG的加速芯片,用户可以把自己的加速逻辑和Firmware写进去
  • PSL: 提供接口给AFU用于读写主存和V2P地址翻译(与CPU侧使用同一个页表,并包含TLB 内存管理单元),同时负责Probe CAPP实现全局cc,并提供Cache。PSL由IBM作为硬核IP提供给FPGA开发者
  • CAPP:相当于FPGA侧的ccAgent,但是被放在了CPU侧,其维护一个filter目录并接受来自其他CPU的Probe,未过滤掉的Probe转发PSL。
  • CC: cache coherence 作用就是协调
  • EA : FPGA和CPU共享的地址,有效地址?它们的交流可能是在线程的层面上,这个有效地址不是实际的物理地址,进程EA要先转换为虚拟地址(VA),然后处理器再讲VA翻译成RA实地址。

  • 地址转换

  • 悬挂一个性能增强的加速器的典型场所就是将加速器作为I/O设备,但是对对I/O设备,也需要访问内存中和处理器相同的对象的时候,I/O设备是不具有这种功能的
  • 这个是本人看CAPI文档时候看到的东西,便记录了下来。

    文章转载自: https://blog.csdn.net/chosen34/article/details/65935098