【问题标题】:Can Power8 use atomic operations to communicate with ASIC/FPGA connected by PCI Express?Power8 能否使用原子操作与通过 PCI Express 连接的 ASIC/FPGA 进行通信?
【发布时间】:2017-06-09 19:06:01
【问题描述】:

众所周知,Power8 支持相干加速器处理器接口 (CAPI):https://www.nextplatform.com/2015/06/22/the-secret-of-power8-capi-is-addressing/

硬件管理缓存一致性

  • 使加速器能够作为普通线程参与“锁定”降低 IO 通信模型的延迟

https://www.microway.com/download/presentation/IBM_POWER8_CPU_Architecture.pdf

“锁”是什么意思?这是否意味着,我们可以使用自旋锁来保护共享内存,以便使用它从 CPU 内核和 PCIe 设备(ASIC、FPGA 等)安全访问它?

即这是否意味着我们可以在 PCI Express 总线上使用自旋锁、原子操作,甚至 LL/SC 原子操作?

【问题讨论】:

  • 看看来自 IBM 的 at the whitepaper:“从根本上说,加速器可以发送到 PSL 的丰富命令集反映了 POWER8 内核本身可用的所有内存访问类型(例如读取、修改意图读取、保留、锁定、写入和写入最高一致性点)"
  • @Margaret Bloom 谢谢!看来这就是答案。 IE。 PCIe 允许使用任何原子操作,包括复合原子操作 LL/SC(保留),因此可以跨 PCIe(外部 FPGA CPU)实现自旋锁,第 6 页。但在这种情况下,只保证从 FPGA 原子访问 CPU 内存/缓存的可能性,并且仅当 FPGA 包含 PSL(电源服务层)并且 CPU Power8 包含 CAPP(相干加速器处理器代理)时。 CAPP+PSL = CAPI(相干加速器处理器接口)。

标签: device cpu-architecture powerpc pci-e


【解决方案1】:

所以 P8 不支持 PCIe sig 定义的 PCIe 原子(PCIe 的可选功能)。

它确实支持 CAPI 使用的一些专有原子原语。我不知道是否可以从 P8 上的非 CAPI 适配器中利用它们。

【讨论】:

  • 谢谢! IE。是否未知 CAPI 是否使用 PCI sig 支持的复合原子操作,或者 CAPI 通过在 CPU 上使用 CAPP 和在设备上使用 PLS 实现自己的 PCIe 复合原子操作协议?
猜你喜欢
  • 1970-01-01
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多