Intel Core & Enhanced Core微架構(10)
阿新 • • 發佈:2019-01-06
Intel® Advanced Memory Access
Intel Core微架構中的每個處理器核都包含一個指令快取和一個一級資料快取。兩個處理器核共享一個2M或4M位元組大小的二級混合式快取(既存放資料也儲存指令)。兩級快取都是回寫式更新策略且是非包含式快取(即一級快取中的快取行未必一定包含在二級快取中)。每個處理器核包括:
- 一級資料快取,也叫資料快取單元DCU – DCU可以同時處理多個未完成快取未命中事件,持續為讀存操作和寫存操作提供服務,而且維護快取一致性。DCU的規格如下:
- 32K位元組大小
- 8路組相聯
- 64位元組長度的快取行
- 資料(地址)轉換旁查快取區DTLB – Intel Core微架構的DTLB分為兩級:內級DTLB0和外級DTLB1。每級DTLB都有多個條目,可以支援4K位元組大小的儲存器頁,或更大的頁。內級DTLB0的條目用於讀存操作。外級DTLB1的條目支援寫存操作以及在DTLB0中未命中的讀存操作。所有的條目都是4路相聯。下面是每級DTLB的條目特徵:
- DTLB0的大頁條目:16個
- DTLB0的4K頁面條目:16個
- DTLB1的4K頁面條目:256個
- DTLB1的大頁條目:32個
DTLB0未命中但是DTLB1命中會導致到2個週期的損失。只有當DTLB0被用於分發情況時,軟體才會感受到這種損失。由於Intel智慧儲存器訪問機制,與DTLB1未命中以及缺頁處理程式相關的延遲大部分都是非阻塞的。
- 缺頁處理程式(page miss handler - PMH)
- 訪存排序快取區MOB –
- 允許投機式且亂序地發射讀存和訪存操作
- 確保讀存與訪存操作在退役時有正確的資料
- 確保讀存和訪存操作遵守Intel 64和IA32架構的訪存排序規則
Intel Core微架構的儲存器簇具有下列特性來加速訪存操作:
- 128位(16位元組)的讀存和訪存操作
- 資料預取到一級快取
- 資料預取邏輯,預取資料到二級快取
- 儲存轉發
- 訪存消歧(memory disambiguation)
- 8個行填充緩衝區(fill buffer)條目
- 20儲存緩衝區條目
- 訪存操作的亂序執行
- 流水線化的屬主讀請求(read-for-ownership)操作