cpu緩存相關內容筆記

一,cpu緩存架構

1.level-1 data cache: 一級數據緩存

2.level-1 inst cache: 一級指令緩存

3.MMU: 內存管理單元

4.TLB(translation lookaside buffer): 轉換後援緩存

5.level-2 cache:二級緩存

6.level-3 cache:三級緩存

二.處理器讀取數據過程

  1. CPU根據虛擬地址嘗試從一級緩存(存放的是虛擬地址的索引)中讀取數據;
  2. 如果一級緩存中查找不到,則需向MMU請求數據;
  3. MMU從TLB中查找虛擬地址的緩存(換言之,TLB是負責改進虛擬地址到物理地址轉換速度、存放虛擬地址的緩存);
  4. 如果TLB中存在該虛擬地址的緩存,則MMU將該虛擬地址轉化爲物理地址,如果地址轉換失敗,則發生缺頁(圖中的fault分支),由內核進行處理,見上文所述;如果地址轉換成功,則從二級緩存(存放的是物理地址的索引)中讀取;如果二級緩存中也沒有,則需要從三級緩存甚至物理內存中請求;
  5. 如果TLB中不存在該虛擬地址的緩存,則MMU從物理內存中的轉換表(translation tables,也稱爲頁表page tables)中獲取,同時存入TLB;(注意,這個操作是硬件實現的,可以由MMU通過硬件直接從物理內存中讀取);
  6. 跳到第4步。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章