首頁  >  文章  >  使用cache改善系統效能的依據是什麼

使用cache改善系統效能的依據是什麼

青灯夜游
青灯夜游原創
2021-05-12 11:26:514119瀏覽

使用cache改善系統效能的依據是程式的局部性原理。當CPU需要讀取資料時,首先在cache中尋找是否有所需內容,如果有,則直接從cache中讀取。如果CPU需要存取的內容大多能在cache中找到(稱為存取命中),則可以大幅提高系統效能。

使用cache改善系統效能的依據是什麼

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

使用cache改善系統效能的依據是程式的局部性原理。依據局部性原理,把主記憶體中存取機率高的內容存放在cache中。當CPU需要讀取資料時,首先在cache中查找是否有所需內容,如果有,則直接從cache讀取;若沒有,再從主記憶體讀取該數據,然後同時送往CPU和cache 。如果CPU需要存取的內容大多能在cache中找到(稱為存取命中),則可以大幅提高系統效能。

系統的平均儲存週期與命中率有很密切的關係,命中率的提高即使很小也能帶來效能上較大的改善。

在CPU發出存取請求後,記憶體位址先被送到cache控制器以決定所需資料是否已在cache中,若命中則直接對cache進行存取。這個過程稱為cache的位址映射。常見的映射方法有直接映射、相聯映射和群組相聯映射。

在cache記憶體產生了一次存取未命中之後,對應的資料應同時讀入CPU和cache。但在cache已存滿資料後,新資料必須淘汰cache中的某些舊資料。最常用的淘汰演算法有隨機淘汰法、先進先出法(FIFO)和近期最少使用淘汰法(LRU)。

因為需要保證快取在cache中的資料與主記憶體中的內容一致,所以相對讀取操作而言,cache的寫入操作比較複雜,常用的有以下幾種方法:

(1)寫直達(write through)。當要寫cache時,資料同時寫回主記憶體,有時也稱為寫通。

(2)寫回(write back)。 CPU修改cache的某一行後,對應的資料並不會立即寫入主記憶體單元,而是在該行被從cache淘汰時,才把資料寫回主記憶體。

(3)標記法。對cache中的每一個資料設定一個有效位元。當資料進入cache後,有效位置1;而當CPU要對該資料進行修改時,只需將其寫入主記憶體並同時將此有​​效位元清除0。當要從cache讀取資料時需要測試其有效位元:若為1則直接從cache中取數,否則從主記憶體取數。

更多相關知識,請造訪常見問題欄位!

以上是使用cache改善系統效能的依據是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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