现代CPU的每个刻度的缓存带宽

时间:2010-03-01 00:51:02

标签: performance caching cpu cpu-architecture cpu-cache

现代CPU的缓存访问速度是多少?英特尔P4,Core2,Corei7,AMD每个处理器时钟周期内可从内存中读取或写入多少字节?

请回答理论上(ld / sd单位的宽度及其uOPs / tick的吞吐量)和实际数字(即使是memcpy速度测试,或STREAM基准测试),如果有的话。

PS是问题,与汇编程序中的最大加载/存储指令率有关。可以有理论加载速率(所有每个Tick的指令都是最宽的负载),但是处理器只能提供部分这样的,实际的加载限制。

2 个答案:

答案 0 :(得分:7)

最宽的读/写是128位(16字节)SSE加载/存储。 L1 / L2 / L3高速缓存具有不同的带宽和延迟,这些当然是CPU特定的。现代CPU上典型的L1延迟为2-4个时钟,但每个时钟通常可以发出1或2个加载指令。

我怀疑这里潜藏着一个更具体的问题 - 你实际上想要实现的是什么?你只是想写尽可能快的memcpy吗?

答案 1 :(得分:7)

对于nehalem:rolfed.com/nehalem/nehalemPaper.pdf

Each core in the architecture has a 128-bit write port and a
128-bit read port to the L1 cache. 

128位= 16字节/时钟读取 和 128位= 16字节/时钟写入 (我可以在单个周期中组合读写吗?)

The L2 and L3 caches each have a 256-bit port for reading or writing, 
but the L3 cache must share its port with three other cores on the chip.

可以在单个时钟中使用L2和L3读写端口吗?

Each integrated memory controller has a theoretical bandwidth
peak of 32 Gbps.

延迟(时钟滴答),一些由CPU-Z latencytool或lmbench的lat_mem_rd测量 - 都使用长链接列表来正确测量现代无序内核,如Intel Core i7

           L1     L2     L3, cycles;   mem             link
Core 2      3     15     --           66 ns           http://www.anandtech.com/show/2542/5
Core i7-xxx 4     11     39          40c+67ns         http://www.anandtech.com/show/2542/5
Itanium     1     5-6    12-17       130-1000 (cycles)
Itanium2    2     6-10   20          35c+160ns        http://www.7-cpu.com/cpu/Itanium2.html
AMD K8            12                 40-70c +64ns     http://www.anandtech.com/show/2139/3
Intel P4    2     19     43          200-210 (cycles) http://www.arsc.edu/files/arsc/phys693_lectures/Performance_I_Arch.pdf
AthlonXP 3k 3     20                 180 (cycles)     --//--
AthlonFX-51 3     13                 125 (cycles)     --//--
POWER4      4     12-20  ??          hundreds cycles  --//--
Haswell     4     11-12  36          36c+57ns         http://www.realworldtech.com/haswell-cpu/5/    

延迟数据的良好来源是7cpu web-site,例如对于Haswell:http://www.7-cpu.com/cpu/Haswell.html

有关lat_mem_rd计划的更多信息,请参见man pagehere on SO