什麼是LRU(最近最少使用)
逐出最長時間未被使用的資料的快取置換方式。能充分利用時間局部性,但路數多時難以精確管理,因此會使用近似的方式。
日文名稱: LRU(Least Recently Used)
「LRU(最近最少使用)」出現在2領域的6道練習題中(記憶體階層與效能, 作業系統與硬體等)。
這個名詞所屬的領域: 記憶體階層與效能
逐出最長時間未被使用的資料的快取置換方式。能充分利用時間局部性,但路數多時難以精確管理,因此會使用近似的方式。
日文名稱: LRU(Least Recently Used)
「LRU(最近最少使用)」出現在2領域的6道練習題中(記憶體階層與效能, 作業系統與硬體等)。
這個名詞所屬的領域: 記憶體階層與效能
正確答案:B. 5次
依序追蹤:A(未命中,[A])、B(未命中,[A,B])、A(命中,A變成最近使用)、C(未命中,逐出最舊的B,[A,C])、B(未命中,逐出最舊的A,[C,B])、A(未命中,逐出最舊的C,[B,A]),共未命中5次。算成4次,是例如在放入C時誤以為逐出了A等的算法,在LRU中重點在於命中的A已變成最新。6次是漏看第3次A的命中所得的次數。
正確答案:B. 雖然無法實現,但可作為其他方式未命中數下限的基準
最佳替換(Belady的OPT)假設已知未來的存取順序,逐出下次使用時間最遠的資料,未命中數在理論上最小。然而實際的硬體無法得知未來的存取,因此無法實現,而是套用到已記錄的存取序列上,用來評估LRU等方式距離最佳有多近。由於與LRU逐出的資料不同,未命中數一般也不相同。
算成4次,是例如在放入C時誤以為逐出了A等的算法,在LRU中重點在於命中的A已變成最新。
容量為2條快取行、採LRU替換的全相聯快取一開始為空,依A、B、A、C、B、A的順序參照區塊時,會發生幾次未命中?然而實際的硬體無法得知未來的存取,因此無法實現,而是套用到已記錄的存取序列上,用來評估LRU等方式距離最佳有多近。
相對於逐出最久未被使用者的LRU,逐出今後最長時間不會被使用者的方式(最佳替換,OPT),下列說明何者正確?精確的LRU每次存取都必須更新順序,分頁數量一多負擔就很大。
在分頁置換的時鐘演算法(第二次機會演算法)中,使用各分頁參照位元的目的為何?像LRU這類即使增加分頁數,保留的分頁集合也必定包含先前集合的方式(堆疊演算法),則不會發生。
在分頁置換使用FIFO方式時,即使增加了實體記憶體的分頁數,分頁錯誤有時反而會增加。這種現象稱為什麼?表示快取行是否有效的是有效位元(valid bit),存取的先後順序則由LRU等替換用的資訊管理。
在寫回(write-back)快取中,附加於各快取行的髒位元(dirty bit)的作用,下列何者正確?快取行 全相聯快取 更新(Refresh) 抖動(Jitter) 寫入時複製 失誤懲罰 平均記憶體存取時間(AMAT) 直接映射快取 空間局部性 非阻塞快取