2015-07-21 65 views
0


我對操作系統虛擬頁面和CPU緩存行有疑問。
基本上,OS管理4kb大小的虛擬頁面。
但是,緩存行只有64b。
所以我可以看到一個頁面由64 * 64b緩存行組成。
如果一個頁面的OS請求,頁面是否被映射到64個cachlines?
頁面如何映射到緩存行?
然後內存控制器請求64次內存?虛擬頁面和緩存行之間的關係

謝謝!

回答

3

操作系統爲物理內存(RAM)中的新頁分配空間,該物理內存未按高速緩存行組織。在分配新頁面時,操作系統將爲這個新頁面在物理內存中分配4kB空間。

當處理器首次讀取或寫入此新分配頁面中的某個地址時,會導致緩存未命中。高速緩存將向內存控制器發送高速緩存行提取請求。內存控制器然後將從該頁面獲取合適的64字節(緩存行)並將其發送到請求緩存。

+0

正確的,我只會補充說,物理內存*是*按邏輯組織在緩存行中(儘管物理上它被分成銀行和行等等)。每行在物理內存空間中都有一個地址,並且與它關聯。因此,當分配一個頁面時,該4k範圍內的所有行都「屬於」操作系統,並且一旦OS負責頁面映射,它(或請求該範圍的應用程序)可能開始寫入該範圍。 – Leeor