1樓:孝榮花飛寅
cache替換演算法是影響**快取系統效能的乙個重要因素,乙個好的cache替換演算法可以產生較高的命中率。目前已經提出的演算法可以劃分為以下三類:
1)傳統替換演算法及其直接演化,其代表演算法有:①lru(leastrecently
used)演算法:將最近最少使用的內容替換出cache;②lfu(lease
frequently
used)演算法:將訪問次數最少的內容替換出cache;③pitkow/recker[10]提出了一種替換演算法:如果cache中所有內容都是同一天被快取的,則將最大的文件替換出cache,否則按lru演算法進行替換。
2樓:瀧穆招高旻
找本操縱系統原理之類的書看看。
演算法還是很多了,看你的需求來選用一種和幾種結合起來用。
最簡答的就是先進先出(fifo),最近最少使用(lru)等,再還有很多,像lfu、opt、lru—min、lru—threshold、lowest
lacency
first、hybrid、lowest
relative
value等等。
簡要介紹cache替換演算法,及幾種不同替換演算法。
3樓:匿名使用者
cache替換演算法是影響**快取系統效能的乙個重要因素,乙個好的cache替換演算法可以產生較高的命中率。目前已經提出的演算法可以劃分為以下三類: (1)傳統替換演算法及其直接演化,其代表演算法有:
lru(least recently used)演算法:將最近最少使用的內容替換出cache;②lfu(lease frequently used)演算法:將訪問次數最少的內容替換出cache;③pitkow/recker[10]提出了一種替換演算法:
如果cache中所有內容都是同一天被快取的,則將最大的文件替換出cache,否則按lru演算法進行替換。 (2)基於快取內容關鍵特徵的替換演算法,其代表演算法有:①size[10]替換演算法:
將最大的內容替換出cache;②lru— min[11]替換演算法:該演算法力圖使被替換的文件個數最少。設待快取文件的大小為s,對cache中快取的大小至少是s的文件,根據lru演算法進行替換;如果沒有大小至少為s的物件,則從大小至少為s/2的文件中按照lru演算法進行替換;③lru—threshold[11] 替換演算法:
和lru演算法一致,只是大小超過一定閾值的文件不能被快取 ..
什麼是cache?cache有什麼用?說明cache的幾種替換策略
4樓:文件類共創空間
cache是什麼。
cache是一種特殊的儲存器,它由cache 儲存部件和cache控制部件組成。cache 儲存部件一般採用與cpu同型別的半導體儲存器件,訪問速度比記憶體快幾倍甚至十幾倍。而cache 控制器部件包括主存位址暫存器、cache 位址暫存器,主存—cache位址變換部件及替換控制部件等。
至於它們各自又是怎樣工作的、有何作用等等,我想我們就沒有必要做進一步的研究,知道一般cache分為l1 cache(其中又分為資料cache、**cache)、l2 cache就行了。
根據程式區域性性規律可知:程式在執行中,總是頻繁地使用那些最近被使用過的指令和資料。這就提供了替換策略的理論依據。
綜合命中率、實現的難易及速度的快慢各種因素,替換策略可有隨機法、先進先出法、最近最少使用法等。
1.隨機法(rand法)
隨機法是隨機地確定替換的儲存塊。設定乙個隨機數產生器,依據所產生的隨機數,確定替換塊。這種方法簡單、易於實現,但命中率比較低。
2.先進先出法(fifo法)
先進先出法是選擇那個最先調入的那個塊進行替換。當最先調入並被多次命中的塊,很可能被優先替換,因而不符合區域性性規律。這種方法的命中率比隨機法好些,但還不滿足要求。
先進先出方法易於實現,例如solar-16/65機cache採用組相聯方式,每組4塊,每塊都設定乙個兩位的計數器,當某塊被裝入或被替換時該塊的計數器清為0,而同組的其它各塊的計數器均加1,當需要替換時就選擇計數值最大的塊被替換掉。
3.最近最少使用法(lru法)
lru法是依據各塊使用的情況, 總是選擇那個最近最少使用的塊被替換。這種方法比較好地反映了程式區域性性規律。
實現lru策略的方法有多種。 下面簡單介紹計數器法、暫存器棧法及硬體邏輯比較對法的設計思路。
計數器方法:快取的每一塊都設定乙個計數器,計數器的操作規則是:
1) 被調入或者被替換的塊, 其計數器清「0」,而其它的計數器則加「1」。
2) 當訪問命中時,所有塊的計數值與命中塊的計數值要進行比較,如果計數值小於命中塊的計數值,則該塊的計數值加「1」;如果塊的計數值大於命中塊的計數值,則數值不變。最後將命中塊的計數器清為0。
3) 需要替換時,則選擇計數值最大的塊被替換。
5樓:匿名使用者
1、cache叫高速緩衝儲存器 位於cpu與記憶體之間 是一種特殊的儲存器子系統。
2、作用是提高cpu對儲存器的訪問速度。
3、隨機替換策略、fifo(即:先進先出 )lur(即:最近最少使用策略)
6樓:匿名使用者
是快取記憶體,匹配cpu與記憶體的之間的速度。
簡要說明cache的位址對映方式。cache的替換演算法主要有哪些?為何要進行替換
7樓:哈哈呵呵你好
二、全相聯映像:
三、組相聯映像:
cache的替換演算法有:
hybrid演算法:演算法對cache中的每乙個物件賦予乙個效用函式,將效用最小的物件替換出cache;
lowestrelativevalue演算法:將效用值最低的物件替換出cache;
leastnormalizedcostreplacement(lcnr)演算法:該演算法使用乙個關於文件訪問頻次、傳輸時間和大小的推理函式來確定替換文件;
bolot等人提出了一種基於文件傳輸時間代價、大小、和上次訪問時間的權重推理函式來確定文件替換;
sizeadjustlru(slru)演算法:對快取的物件按代價與大小的比率進行排序,並選取比率最小的物件進行替換。
cache 替換演算法和寫策略
8樓:新科技
還記得組相聯嗎?就是主存中的一塊可以放在 cache 中的一組中的任意一行。但是 cache 滿了怎麼辦?就得覆蓋掉乙個,覆蓋掉哪乙個?這就是替換演算法要解決的。
不去說什麼先進先出、隨機替換的演算法。直接上最難的——最近最少用演算法 lru(least-recently used)
關鍵就是:總是把最近最少用的那一塊淘汰掉
在具體到硬體的時候,cache 每一行都有乙個計數器。用來記錄少用的次數。
具體看這個圖:
現在有四個格仔,但是有 5 個不一樣的塊要進來,我一步一步給你解釋。
為了鞏固上面的知識,我們來做題
mru 的演算法我們就不做了
主存位址 = 主存標籤 + 組號 + 塊內位址。
所以得到
現在要迴圈訪問 0~4351 10次。
第一次迴圈結束。
第二次迴圈開始的時候,一共會有 20 個塊要替換。
每次迴圈都是這樣。
所以:命中率為:
再放個圖感受一下。。。我是不是沒講清楚。。。
寫操作也有兩種情況:
寫命中:
寫不命中
現代的計算機當然存在多級 cache,我就不繼續深挖了。。。
處方有哪幾種處方有哪幾種
處方從種類上劃分,大致可分為 古方 經方 時方 驗方 偏方 秘方 醫師處方 協定處方和法定處方。而今較為普遍應用的是醫師處方 協定處方和法定處方 法定處方 是指經國家法定部門審核批准發布的如 國家藥典 製劑規範 中的處方,一般多用於配製製劑,具有法律約束力,這類處方配製的製劑又稱為 法定製劑 如藥品...
有哪幾種笑笑分為哪幾種
一 微笑 不明顯的 不出聲的笑,輕微地笑,微笑是一種國際禮儀,它體現了人類最真誠的相互尊重與親近。二 大笑 放開胸懷 放肆地狂笑。通常笑的幅度很大,甚至有一點誇張的成分,表情豐富,爆發式地狂笑,持續時間通常比較久。三 苦笑 苦笑是指心情不佳,而勉強做出的笑容。通常發出苦笑的人心裡難過,但表現出的是一...
衛星有哪幾種功能,人造衛星有幾種?分別是哪幾種?有什麼用處?
有通訊衛星 地球資源衛星 氣象衛星 導航衛星 偵察衛星 廣播衛星 測地衛星 天文衛星等 科學探測衛星 科學探測衛星是用來進行空間物理環境探測的衛星,主要任務是探測空間環境中的中性粒子,高能帶電粒子,固體顆粒,低頻電磁波和等離子體波,磁場,電場等。應用衛星 應用衛星是直接為國民經濟和軍事服務的人造地球...