快取
快取分3
種:l1
cache
(一級快取
) ,l2
cache
(二級快取)和
l3cache
(**快取) l1
cache
(一級快取) ,
cpu核心整合的快取稱為一級快取,而外部的稱為二級快取。一級快取中還分資料快取(
data cache
,d-cache
)和指令快取(
instruction cache
,i-cache)
l2cache
(二級快取),是快速儲存記憶體
(基於sram
),二級快取也整合在
cpu核心中。二級快取是
cpu效能表現的關鍵之一,在
cpu核心不變化的情況下,增加二級快取容量能使效能大幅度提高。 l
3 cache
(**快取),cpu與主機板之間的快速訪問的快取。
(**和四級快取只在高階的伺服器
cpu裡)
電腦讀取資料的時候先在
cpu一級快取裡面尋找,找不到再到二級快取中找,最後才到記憶體中尋找
快取的機制
快取的目的就是儲存一些經常訪問的指令和資料,以提高運算效率。為了保證
cpu訪問時有較高的命中率,快取中的內容應該按一定的演算法替換。這些都是cpu或者作業系統來管理。 快取
2個基本原理:時間區域性性(
temporal locality
)和空間區域性性(
spatial locality)
時間區域性性是指如果程式中的某條指令一旦執行,則不久之後該指令可能再次被執
行;如果某資料被訪問,則不久之後該資料可能再次被訪問。空間區域性性
空間區域性性是指一旦程式訪問了某個儲存單元,則不久之後。其附近的儲存單元也將被訪問。
用在快取的技術最基本的就是標記。快取通過標記區分差別。當查詢快取裡的一條資料是,首先比較的是標記,當查詢成功時就快取命中成功
(hit),
否則就是命中失敗。為了保證
cpu訪問時有較高的命中率,快取中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(
lru演算法)。 參考
: (為什麼
cpu要分一級快取、二級快取和**快取
),為什麼cpu
要分一級快取、二級快取和**快取?
.html
(cpu
快取一般分為哪兩種),
快取一般分為哪兩種
.html
(cpu
快取的問題),
快取的問題
%3f%3f.html
OD筆記2 記憶體斷點與硬體斷點
精闢解釋 來自看雪論壇 記憶體訪問斷點是利用 virtualprotect 來把該記憶體位址所在的記憶體頁 大小為4096位元組 設定為不可讀 不可寫 不可執行 所以當訪問該記憶體的時候會產生乙個訪問異常 從而在異常處理函式中實現記憶體訪問斷點的操作 硬體斷點是利用 cpu自帶的除錯暫存器 dr 產...
記憶體斷點和硬體斷點
32位邏輯位址 16位段選擇器 偏移位址 16位段選擇器 13位全域性描述符表 區域性描述符表索引 1位gdt ldtflag 2位的訪問控制許可權 由16位得到段選擇器索引到全域性描述符表得到64位的段描述符,段描述符中包含了線性段基址 線性段基址 偏移位址 邏輯位址後半段 得到線性位址空間的乙個...
記憶體虛擬化硬體基礎 EPT
ept位址轉換 ept轉換開關 ept轉換時機 根據pdpt位址載入pdpt內容,也是512個條目,將gpa的次9位作為索引,在pdpt中索引pdt page directory table 的位址。根據pdt位址載入pdt內容,同樣是512個條目,將gpa從高到低的第3個9位作為索引,在pdt中索...