首頁  >  文章  >  為解決cpu與主記憶體的速度匹配可採用什麼

為解決cpu與主記憶體的速度匹配可採用什麼

王林
王林原創
2020-12-11 15:23:4313547瀏覽

為解決cpu與主記憶體的速度匹配可採用cache記憶體。 cache記憶體是位於cpu和主記憶體DRAM之間,規模較小,但速度很高的記憶體,通常由靜態記憶體組成。靜態記憶體是位於cpu與記憶體間的一種容量較小但速度很高的記憶體。

為解決cpu與主記憶體的速度匹配可採用什麼

本教學操作環境:windows7系統、Dell G3電腦。

為解決CPU與主記憶體的速度匹配問題,其實作可採用介於CPU和主記憶體之間的Cache。

cache是​​什麼

Cache記憶體,電腦中是高速緩衝記憶體,位於CPU和主記憶體DRAM(Dynamic Random Access Memory)之間,規模較小,但速度很高的記憶體,通常由SRAM(Static Random Access Memory 靜態記憶體)組成。它是位於CPU與記憶體間的一種容量較小但速度很高的記憶體。

CPU的速度遠高於內存,當CPU直接從內存中訪問數據時要等待一定時間週期,而Cache則可以保存CPU剛用過或循環使用的一部分數據,如果CPU需要再次使用該部分數據時可從Cache中直接調用,這樣就避免了重複訪問數據,減少了CPU的等待時間,從而提高了系統的效率。

cache的功能

Cache的功能是提高CPU資料輸入輸出的速率。 Cache容量小但速度快,記憶體速度較低但容量大,透過最佳化調度演算法,系統的效能會大大改善,彷彿其儲存系統容量與記憶體相當且存取速度近似Cache。

CPU的速度遠高於內存,當CPU直接從內存中訪問數據時要等待一定時間週期,而Cache則可以保存CPU剛用過或循環使用的一部分數據,如果CPU需要再次使用該部分數據時可從Cache中直接調用,這樣就避免了重複訪問數據,減少了CPU的等待時間,從而提高了系統的效率。 Cache又分為L1Cache(一級快取)和L2Cache(二級快取),L1Cache主要是整合在CPU內部,而L2Cache整合在主機板上或是CPU上。

cache的基本原則

      cache除包含SRAM外,還要有控制邏輯。若cache在CPU晶片外,它的控制邏輯一般與主記憶體控制邏輯合成在一起,稱為主記憶體/chace控制器;若cache在CPU內,則由CPU提供它的控制邏輯。

       CPU與cache之間的資料交換是以字為單位,而cache與主記憶體之間的資料交換是以區塊為單位。一個塊由若干字組成,是定長的。當CPU讀取記憶體中一個字時,便發出此字的記憶體位址到cache和主記憶體。此時cache控制邏輯依據位址判斷此字目前是否在cache中:若是,則cache命中,此字立即傳送給CPU;若非,則cache缺失(未命中),用主存讀週期把此字從主存讀出送到CPU,同時,把含有這個字的整個資料塊從主記憶體讀出送到cache中。

為解決cpu與主記憶體的速度匹配可採用什麼

圖3.29顯示了cache的原理圖。假設cache讀出時間為50ns,主存讀出時間為250ns。儲存系統是模組化的,主記憶體中每個8K模組和容量16字的cache相聯繫。 cache分為4行,每行4個字(W)。分配給cache的位址存放在一個相聯記憶體CAM中,它是按內容尋址的記憶體。當CPU執行存取指令時,就把所要存取的字的位址送到CAM;如果W不在cache中,則將W從主記憶體傳送到CPU。同時,把包含W的由前後相繼的4個字所組成的一行資料送入cache,替換原來cache中的一行資料。在這裡,由始終管理cache使用情況的硬體邏輯電路來實現替換演算法。

cache結構設計必須解決的問題

#從cache的基本運作原理可以看出, cache的設計需要遵循兩個原則:一是希望cache的命中率盡可能高,實際應接近於1;二是希望cache對CPU而言是透明的,即不論是否有cache, CPU訪存的方法都是一樣的,軟體不需增加任何指令就可以存取cache。解決了命中率和透明性問題,就CPU存取的角度而言,記憶體將具有主記憶體的容量和接近cache的速度。為此,必須增加一定的硬體電路完成控制功能,也就是cache控制器。

在設計cache結構時,必須解決幾個問題:①主存的內容調入cache時如何存放?②訪存時如何找到cache中的信息?③當cache空間不足時如何替換cache中已有的內容?④需要寫入操作時如何改寫cache的內容?

其中,前兩個問題是相互關聯的,也就是如何將主記憶體資訊定位在cache中,如何將主記憶體位址轉換為cache位址。與主記憶體相比, cache的容量很小,它保存的內容只是主記憶體內容的子集,且cache與主記憶體的資料交換是以區塊為單位。為了把主存塊放到cache中,必須應用某種方法把主記憶體位址定位到cache中,稱為位址對映。 「映射」一詞的物理意義是確定位置的對應關係,並用硬體來實現。這樣當CPU存取記憶體時,它所給的一個字的記憶體位址就會自動變換成cache的位址,也就是cache位址變換。

cache替換問題主要是選擇和執行替換演算法,以便在cache不命中時取代cache中的內容。最後一個問題涉及cache的寫入操作策略,重點是在更新時保持主記憶體與cache的一致性。

(學習影片分享:程式設計影片

以上是為解決cpu與主記憶體的速度匹配可採用什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:office是指什麼下一篇:office是指什麼