您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機配件>cpu>

cache基本知識培訓(xùn)教程[1]

2010年04月13日 16:23 srfitnesspt.com 作者:佚名 用戶評論(0
關(guān)鍵字:Cache(27804)

cache基本知識培訓(xùn)教程[1]

? 學(xué)習(xí)目標:

??? 掌握全相聯(lián)映象、直接映象以及組相聯(lián)映象的思想和特點;

??? 理解路數(shù)和組數(shù)的概念及其關(guān)系;

??? 掌握在各種映象規(guī)則的情況下Cache的查找方法;

??? 掌握隨機法、先進先出、LRU 等替換算法;

??? 理解Cache對“寫”操作的處理方法。

??? 正文:

??? 4.2.1 cache基本知識

??? 如前所述,為了填補 CPU 和主存在速度上的巨大差距,現(xiàn)代計算機都在 CPU 和主存之間設(shè)置一個高速、小容量的緩沖存儲器 Cache 。 Cache 對于提高整個計算機系統(tǒng)的性能有重要的意義,幾乎是一個不可缺少的部件。Cache 是按塊進行管理的。 Cache 和主存均被分割成大小相同的塊。信息以塊為單位調(diào)入 Cache 。相應(yīng)地, CPU 的訪存地址被分割成兩部分:塊地址和塊內(nèi)位移,如下所示:

???主存塊地址用于查找該塊在 Cache 中的位置,塊內(nèi)位移用于確定所訪問的數(shù)據(jù)在該塊中的位置。

4.2.1映象規(guī)則

??? 一般來說,主存容量遠大于 Cache 的容量。因此,當要把一個塊從主存調(diào)入 Cache 時,就有個如何放置的問題。這就是映象規(guī)則所要解決的。映象規(guī)則有以下三種。

??? 1. 全相聯(lián)映象

??? 全相聯(lián)是指主存中的任一塊可以被放置到 Cache 中的任意一個位置的方法。如圖4.2.1所示。

??? 實際的 Cache 常包含幾百個塊,而主存則一般包含上百萬個塊。

2. 直接映象

??? 直接映象是指主存中的每一個塊只能被放置到 Cache 中唯一的一個位置,如圖4.2.2所示。圖中帶箭頭的虛線表示映象關(guān)系。

??? 一般地,對于主存的第 i 塊(即塊地址為 i ),設(shè)它映象到 Cache 的第 j 塊,則

??? j =i mod ( M )

??? 其中M為 Cache 的塊數(shù)。

設(shè) M = 2m,則當表示為二進制數(shù)時,j 實際上就是 i 的低 m 位,如下所示:

??? 因此,可以直接用主存塊地址的低 m 位去選擇直接映象 Cache 中的相應(yīng)塊。

??? 3. 組相聯(lián)映象

??? 組相聯(lián)是指主存中的每一塊可以被放置到 Cache 中唯一的一個組中的任何一個位置(Cache 被等分為若干組,每組由若干個塊構(gòu)成)。

組相聯(lián)是直接映象和全相聯(lián)的一種折衷:一個主存塊首先是映象到唯一的一個組上(直接映象的特征),然后這個塊可以被放入這個組中的任何一個位置(全相聯(lián)的特征)。組的選擇常采用位選擇算法,即:若主存第 i 塊映象到 Cache 的第 k 組,則

??? k =i mod ( G )

??? 其中 G 為 Cache 的組數(shù)。

??? 設(shè) G = 2g,則當表示為二進制數(shù)時,k 實際上就是 i 的低 g 位,如下所示:

??? 因此,可以直接用主存塊地址的低 g 位去選擇組相聯(lián)Cache中的相應(yīng)組。這里的低 g 位以及上述直接映象中的低 m 位通常稱為索引。

??? 如果每組中有 n 個塊(n=M/G),則稱該映象規(guī)則為 n 路組相聯(lián)。

??? n 的不同取值構(gòu)成了一系列不同相聯(lián)度的組相聯(lián)。直接映象和全相聯(lián)實際上是組相聯(lián)的兩種極端情況。表4.2中列出了各種情況下,路數(shù) n 和組數(shù) G 的取值。表中 M 為 Cache 的塊數(shù)。

非常好我支持^.^

(2) 18.2%

不好我反對

(9) 81.8%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?