关于缓存的几个基本疑问

时间:2011-06-04 01:31:04

标签: algorithm caching

请耐心等待,这些问题可能非常基本。我只是想了解基本面。

  1. 缓存逐出算法(如LRU)是否由OS实现?如果是这样,我们如何找出当前使用的算法,并且程序员可以更改它吗?

  2. 由于缓存是与处理器一起使用的,因此读写策略是硬编码的,还是操作系统决定的?

  3. 是否有单独的数据和指令缓存?或者他们共享相同的缓存?

  4. 当前在操作系统中采用什么算法来解决缓存一致性问题?

  5. 感谢您耐心回答我的问题。

    • Sethu

2 个答案:

答案 0 :(得分:1)

通常,缓存策略由硬件决定。通常有单独的数据和指令缓存,以及转换后备缓冲区(TLB)缓存。操作系统无法直接控制缓存,但可以在虚拟内存映射中做出决策以优化缓存使用。

答案 1 :(得分:0)

只有一个答案?井

1。)没有硬件实现。它们应该由供应商记录,如果没有,那么microbenchmarking是一个选项。

2。)硬件

3。)如上所述,L1高速缓存具有用于数据和指令的单独高速缓存。还有用于虚拟内存的TLB。

4。)我参加了上学期的课程,涵盖了这些主题。幻灯片可在线获取:http://www.systems.ethz.ch/education/past-courses/hs09/mmdbms