谁能给我访问 L1、L2 和 L3 缓存以及 Intel i7 处理器上的主内存的大致时间(以纳秒为单位)?
虽然这不是一个专门的编程问题,但了解这些速度细节对于一些低延迟编程挑战是必要的。
这是 i7 和 Xeon 系列处理器的性能分析指南。我应该强调,这有你需要的东西和更多(例如,查看第 22 页的一些时间和周期)。
此外,此页面包含有关时钟周期等的一些详细信息。第二个链接提供以下数字:
Core i7 Xeon 5500 Series Data Source Latency (approximate) [Pg. 22] local L1 CACHE hit, ~4 cycles ( 2.1 - 1.2 ns ) local L2 CACHE hit, ~10 cycles ( 5.3 - 3.0 ns ) local L3 CACHE hit, line unshared ~40 cycles ( 21.4 - 12.0 ns ) local L3 CACHE hit, shared line in another core ~65 cycles ( 34.8 - 19.5 ns ) local L3 CACHE hit, modified in another core ~75 cycles ( 40.2 - 22.5 ns ) remote L3 CACHE (Ref: Fig.1 [Pg. 5]) ~100-300 cycles ( 160.7 - 30.0 ns ) local DRAM ~60 ns remote DRAM ~100 ns
EDIT2 : 最重要的是引用表下的通知,说:
EDIT2
“注意:这些值是 粗略的近似值。它们取决于核心和非核心频率、内存速度、BIOS 设置、DIMM 数量等。 您的里程可能会有所不同。 ”
编辑:我要强调的是,除了时序/周期信息之外,上述英特尔文档还解决了 i7 和 Xeon 系列处理器的更多(非常)有用的细节(从性能的角度来看)。