CSAPP Cache Lab

次林梦叶發表於2024-03-22
CSAPP Cache Lab
春が來る

知識點

在這裡我會回答以下幾個問題:

  • 計算機的範圍記憶體的整個流程是什麼?計算機中虛擬地址實體地址(P573),以及訪問快取的地址(P426) 他們之間的關係是什麼,又是如何進行轉換的?

  • 我們在兩個C語言程式中列印某個變數的記憶體,發現他們的記憶體顯示是一樣的,難道不會衝突嗎?


PS:圖均來自九曲闌干

讓我們先來了解下快取

我們要知道,為了解決CPU與儲存器之間速度的巨大差異,我們的儲存器並不再是單純地指記憶體了。

我們也不再是單純地將我們執行程式時訪問記憶體抽象成直接訪問一個陣列了,而是訪問一個儲存器層次結構

CSAPP Cache Lab

其中,快取貫穿儲存器層次結構,甚至可以說第Li-1層就是第Li層的快取

不同層次之間的資料交流是以為單位,為此各個層次的儲存器都對資料進行了分塊(特殊的是在記憶體和磁碟之間的資料交流單位也被稱為頁,這主要是因為有虛擬記憶體技術)

相鄰的層次之間塊的大小是一樣的

CSAPP Cache Lab

我們來看看我們的記憶體是如何組成的

首先我們的記憶體是由許多記憶體晶片封裝而成,被稱之為記憶體模組

CSAPP Cache Lab CSAPP Cache Lab