谁能给我大概的时间(以纳秒为单位),以访问L1,L2和L3高速缓存以及Intel i7处理器上的主内存?
虽然这不是专门针对编程的问题,但了解某些速度细节对于某些低延迟编程挑战而言是必需的。
最佳答案
i7和Xeon系列处理器的Here is a Performance Analysis Guide。我要强调,这是您需要的,还有更多(例如,请查看第22页上的一些时间和周期)。
此外,this page包含有关时钟周期等的一些详细信息。第二个链接提供了以下数字:
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
:最重要的是引用表下的通知,说:
编辑:我要强调的是,除了时序/周期信息之外,上述intel文档还(从性能的 Angular )介绍了i7和Xeon系列处理器的更多(极其)有用的细节。