上期答案
[053] 组关联映射中用于替换cache line的算法有什么不同?
以下是一些可用于替换cache line的算法
- LRU(Least Recently Used):将最近最少使用的内容替换出cache
- MRU (Most Recently Used):与MRU,将最近经常的内容提出cache
- PLRU (Pseudo LRU):关联性很大的时候,LRU的实现成本很高。如果实际情况在丢弃任一个最近最少使用的数据就能满足,那么伪LRU算法就派上用场了,它为每一个缓存数据设立一个标志位就可以工作。
- LFU (Least Frequently Used):这个缓存算法使用一个计数器来记录条目被访问的频率。通过使用LFU缓存算法,最低访问数的条目首先被移除。这个方法并不经常使用,因为它无法对一个拥有最初高访问率之后长时间没有被访问的条目缓存负责。
- Random replacement:在该算法中,不存储任何信息,并且在需要替换时选择一条随机行。
[054] 缓存一致性的问题是什么?
在多个处理器拥有自己的cache的共享多处理器系统中,相同数据(相同地址)的多个副本可能会同时存在于不同的cache中。 如果允许每个处理器*更新cache,则可能导致内存视图不一致。 这称为高速缓存一致性问题。 例如:如果允许两个处理器将值写入同一地址,则在不同处理器上读取同一地址可能会看到不同的值。
你答对了吗
本期题目
[055] Snoop based Coherence Protocol和Directory based Coherence Protocol之间有什么区别?
[056] 什么是MESI协议?
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案