PCIE 64字节单脉冲串事务

问题描述 投票:0回答:1

我想在PCIe上执行64字节事务。我正在使用Intel i7第9代CPU。

通过使它成为WC区域并像这样写入数据,我能够对PCIe设备内存进行64字节的写入事务:

_mm256_store_si256(pcie_memory_address, ymm0); 
_mm256_store_si256(pcie_memory_address+32, ymm1);
_mm_mfence();

我尝试使用指令读取64字节:

_mm256_loadu_si256();

[用作写操作,但此处读操作为2 * 32字节读。

有人可以帮我吗?我想一次读取64字节。

我从此链接引用了英特尔文档:https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/pcie-burst-transfer-paper.pdf

x86 intel avx pci pci-e
1个回答
0
投票

正如你们说过的,我已经将_mm256_stream_load_si256()与wc内存一起使用,我现在也能够读取64字节。这是我的用法]

__m256i a =   _mm256_stream_load_si256 ((__m256i*)mem_base + 0);
__m256i b =   _mm256_stream_load_si256 ((__m256i*)mem_base + 1);
_mm_mfence();

谢谢你们的帮助

© www.soinside.com 2019 - 2024. All rights reserved.