【发布时间】: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