【发布时间】:2010-12-02 22:11:37
【问题描述】:
假设一个 512KB 的 64 位双精度类型的 LUT。一般来说,CPU是如何缓存L1或L2中的结构的呢?
例如:我访问中间元素,它是尝试缓存整个 LUT 还是只缓存其中的一部分 - 比如中间元素,然后是 n 个后续元素?
CPU 使用什么样的算法来确定它在二级缓存中保存的内容?它是否遵循某种前瞻性策略
注意:我假设是 x86,但我想知道其他架构如何工作 POWER、SPARC 等。
【问题讨论】:
-
通常它会在那个位置加载一个cache line字节。在大多数 x86 处理器上,它是 64 字节。
标签: c++ caching lookup-tables cpu-cache