为什么使用非临时存储指令不能减少内存带宽使用?(写入似乎正在生成额外的读取)
作者:Frontier_Setter 提问时间:10/20/2023
我想使用非临时指令来减少 memcpy 过程中写入分配产生的读取带宽。优化后的预期读写带宽应相同,均等于实际数据处理带宽。 但我在实验中发现,内存读取带宽仍然是写入带宽的 1.7 倍。 我的代码是...
x86 问答列表
作者:Frontier_Setter 提问时间:10/20/2023
我想使用非临时指令来减少 memcpy 过程中写入分配产生的读取带宽。优化后的预期读写带宽应相同,均等于实际数据处理带宽。 但我在实验中发现,内存读取带宽仍然是写入带宽的 1.7 倍。 我的代码是...
作者:aganm 提问时间:10/25/2023
我有我想除以的浮点数,其中一些可能是零。我怎样才能使除以零,当它们发生时,在x86-64上只返回零而不是NaN? 我尝试设置 MXCSR 的 FZ 和 DAZ 标志,但无济于事。我是不是误会了什么?...
作者:Zayed Aldhaheri 提问时间:10/27/2023
我已经在 C 中获得了这段代码,我需要计算分配给函数算术堆栈帧的字节数。我到处寻找一种方法,但每个人都有不同的答案。 long arith(long x, long y, long z){ lon...
作者:Martin Brown 提问时间:10/29/2023
这是求解开普勒方程的三个经典启动器,S3 提供了一个有趣的示例,即具有奇怪时序行为的看似短的代码片段。这个问题涉及在 Microsoft C 编译器 x86 模式下编译它们,其中观察到异常行为 - 即...
作者:Kolodez 提问时间:10/30/2023
在指令后检查理论结果(EAX 乘以(2 次方 CL))是否适合 EAX 的简单方法是什么?问题是关于无符号整数的。SHL EAX, CL 我希望在指令的情况下检查进位标志或在指令的情况下检查 EDX...
作者:Cecil Ward 提问时间:5/30/2023
我正在使用内联 asm 围绕各种x86_64指令编写一些简单的 D (DLang) 包装例程。这运行良好,但是如果我想为缺少任何指令的旧处理器提供替代路径,那么检查和分支的开销将完全消除操作码可用的好...
作者:Gendai 提问时间:11/2/2023
我正在做一个项目,我第一次尝试使用矢量化来加快计算时间。 总体思路是给出一个足够大的数组,应用一些按位掩码,并计算具有位奇偶校验的uint16_t数。 以下代码是检查性能的测试用例,它生成给定大小的随...
作者:thequestioner 提问时间:10/31/2023
我是否可以将一个 2048 位数字加载到 8 个 AVX ymm 寄存器中,并在所有这些寄存器之间左右移动位? 我一次只需要移动 1 位。 我试图在 AVX 上找到准确的信息,但很多时候 xmm/...
作者:user2052436 提问时间:11/3/2023
没有__m512填充位测试的内在函数(如)。_mm512_testz_si512 最好的方法是什么?...
作者:Bastien Portigo 提问时间:11/3/2023
我不明白在我的虚拟软盘 img 上使用 Int 13H AH=00h。 我从命令行创建了一个 img 虚拟软盘: copy amorce.com/B+programme.com/B disk.im...