0

是否有任何方法可以从 PCI 设备的用户空间读取和写入超过 1 个 DW?我目前正在使用https://github.com/numato-viya/pcimem此代码从 PCI 设备的用户空间访问数据,但此代码的限制是它只能从用户空间访问 1 个 DW。但是我想在一个 TLP 中从用户空间访问多个 DW。你能帮我如何在一个 TLP 中访问超过 1DW 吗?

4

2 回答 2

0

您可以使用 AVX 指令来执行更大的内存传输。AVX512 可以在一次操作中移动 64 个字节。

于 2018-01-21T21:03:26.093 回答
0

您可以轻松地向该代码添加“d”选项以使用 uint64_t。在 64 位处理器上,它将生成一个 8 字节的访问。不过,该设备没有义务支持 8 字节访问。

于 2018-01-16T07:52:34.777 回答