0

我已经阅读了这个博客,但我仍然不确定位置的重要性。为什么局部性对缓存性能很重要?是因为它导致更少的缓存未命中吗?此外,如何编写程序以实现良好的局部性并因此获得良好的缓存性能?

4

1 回答 1

1

缓存比它们关联的主存储器更小,而且通常要小得多。例如,在 x86 芯片上,L1 缓存通常为 32 KiB,而 32 GiB 或更大的内存大小很常见,超过一百万倍。

如果没有空间局部性,内存请求将均匀分布在应用程序的内存中,然后考虑到内存大小和缓存大小之间的非常大的比率,缓存命中的机会将是微观的(例如大约百万分之一)以上)。所以缓存命中率是微观的,缓存是无用的。

于 2018-04-20T01:30:26.200 回答