You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AMD Ryzen平台64位内存非原子增量性能异常的技术问询

非原子内存增量操作的位宽性能异常疑问

在AMD Ryzen处理器上测试非原子与原子内存增量指令的性能时,观察到以下现象:

  • 非原子操作中,8位、16位、32位内存增量的耗时接近,但64位内存增量的速度是前三者的8倍;
  • 带lock前缀的原子内存增量操作在所有位宽下耗时一致,符合预期。

测试结果

R[0]= 4015626 R[1]= 8891591 ratio:2.21425 // 8 bits 
 R[2]= 4014659 R[3]= 8885804 ratio:2.21334 // 16 bits
 R[4]= 4015744 R[5]= 8869814 ratio:2.20876 // 32 bits
 R[6]=  541994 R[7]= 8865181 ratio:16.3566 // 64 bits

对应汇编代码

64位非原子内存增量汇编:

3550:   48 8b 44 24 08          mov    0x8(%rsp),%rax
3555:   48 83 c0 01             add    $0x1,%rax
3559:   48 89 44 24 08          mov    %rax,0x8(%rsp)

8位非原子内存增量汇编:

5470:   0f b6 44 24 0f          movzbl 0xf(%rsp),%eax
5475:   83 c0 01                add    $0x1,%eax
5478:   88 44 24 0f             mov    %al,0xf(%rsp)

不同处理器上该现象存在差异,目前无法理解为何64位非原子内存增量操作会比窄位宽版本快这么多,希望得到技术层面的解释。

内容的提问来源于stack exchange,提问作者George Kourtis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 13:35:27