替换算法有哪几种?各有什么优缺点?
(1)随机法,这种方法随机地选择被替换的块。其优点是简单,易于用硬件实现,但这种方法没有考虑Cache过去被使用的情况,反映不了程序的局部性,所以命中率比较低。(2)先进先出法FIFO(First-In—First—Out),这种方法选择最早调入的块作为被替换的块。其优点也是容易实现。它虽然利用了同一组中各块进入Cache的先后顺序这一“历史”信息,但还是不能正确地反映程序的局部性,因为最先进入的块也可能是经常被调用的块。(3)最近最少使用法LRU(LeastRecentlyUsed),这种方法是选用最近使用次数最少的块作为被替换的块。但由于其实现比较复杂,现在实际上实现的LRU都只是选择最久没有被访问的块。