[發明專利]支持多級頁表的TLB架構在審
| 申請號: | 202010114500.3 | 申請日: | 2020-02-25 |
| 公開(公告)號: | CN111241012A | 公開(公告)日: | 2020-06-05 |
| 發明(設計)人: | 楊思博;常俊豪;李世平 | 申請(專利權)人: | 江蘇華創微系統有限公司;中國電子科技集團公司第十四研究所 |
| 主分類號: | G06F12/1009 | 分類號: | G06F12/1009;G06F12/1027 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210000 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 支持 多級 tlb 架構 | ||
本發明公開了支持多級頁表的TLB架構,包括多級頁表,多級頁表的每一級頁表分別對應有子TLB,當多級頁表為3級頁表時,所述多級頁表包括根頁表、中間頁表和葉子頁表,所述根頁表、中間頁表和葉子頁表分別對應有相應的子TLB為根頁表TLB、中間頁表TLB和葉子頁表TLB,各個子TLB的容量可以根據需求來制定:越是高等級的頁表(靠近根頁表),它的每一項代表的頁目錄層次越高,即對應更多PTE或PTE對應的內存頁越大,由此相應的在TLB中的需求就少,對應的子TLB的容量可以越小。容量較小的子TLB可以使用全相聯結構,容量較大的子TLB使用組相聯結構。
技術領域
本發明涉及多級頁表的TLB架構技術領域,具體為支持多級頁表的TLB架構。
背景技術
頁表是用來保存虛擬地址到物理地址的映射關系的數據結構,一般來說,每個頁表項(Page Table Entry,簡稱PTE)記錄一個內存頁面的地址映射關系,它的內容一般包括PTE的有效位、該頁的物理頁號、以及該頁的屬性位:比如可讀、可寫、可執行、是否為臟等。
內存頁面的大小往往會在很長的時間內保持穩定,而并不隨著計算機系統中的內存容量的增加而增加,這就導致頁表所包含的PTE的數量不斷增長。最常見的內存頁表大小是4KB,映射4GB的虛擬內存需要1M項PTE,如果PTE的容量是8字節,則需要8MB的額外空間來保存。多任務操作系統中每個進程都有自己的頁表,如果這些頁表同時保存在內存中,會占用大量的內存空間,為了解決頁表占據大量內存空間的問題,現代的體系結構往往采用多級頁表,圖1是以三級頁表為例的示意圖,圖中頁表為三級架構:最頂層為根頁表、下一層是中間頁表,最底層是葉子頁表。每張頁表的大小正好等于一個內存頁面的大小。其中根頁表只有一張表,它保存的是頁目錄,每一項索引到一張中間頁表。中間頁表保存的也是頁目錄,每一項索引到一張葉子頁表。葉子頁表的每一項就是一個PTE。
當程序加載到內存時,操作系統只會對當前使用到的虛擬地址建立頁表,而還沒有使用到的虛擬地址對應的PTE或頁目錄的有效位被設為0,表示對應的地址映射關系或下級頁表不存在。當頁目錄的有效當應用程序需要加載更多的頁面時,操作系統會將更多的頁目錄和PTE的有效位設為1,同時建立映射關系。當頁目錄項的有效位為0時,對應的下級頁表不會被加載到內存,從而只在內存中保留頁表中正在使用的部分,減少無效頁表對內存空間的浪費。
多級頁表還有一個功能:支持同時使用不同大小的頁面,這是通過將一頁頁目錄標記為巨頁實現的。頁目錄中的某一項被標記為巨頁表示該頁沒有對應的下一級頁表,而是直接表示一個比常規頁更大的連續地址的映射關系。對于那些主要處理地址連續數據的應用程序來說,使用巨頁可以減小TLB缺失的頻率。
傳統實現方案在使用多級頁表時,TLB缺失時需要從根頁表開始一級級的訪問內存,或者通過與TLB分離的MMU cache緩存頁目錄以加快TLB的加載過程;而對巨頁的支持通過全相聯TLB實現。比如MIPS64 Release5的TLB就是既定義了全相聯的VTLB,又定義了組相聯的FTLB。組相聯的FTLB可以獲得較大的容量,而全相聯的VTLB可以用來緩存巨頁的PTE從而靈活支持各種不同的頁大小。
傳統技術的缺點是加速PTE加載和對巨頁的支持采用不同的硬件實現,而頁目錄和巨頁PTE的需求量相對普通頁的PTE小得多,所以存在硬件資源浪費的現象。比如MIPS的VTLB在不使用巨頁的情況下,只能用于對FTLB的補充,而要想加速PTE的加載還需要額外的cache緩存頁目錄。同樣的,在程序中使用巨頁的目的是減少保存在TLB中的PTE數量,當程序使用大量巨頁時實際需要的頁目錄減少(因為巨頁取代了頁目錄的位置),但是用于緩存頁目錄的MMU cache的資源也不同用于保存巨頁。此外,當TLB不命中(普通頁和巨頁都不命中時),要想從內存中加載PTE還要先訪問MMU cache以判斷是否可以加速PTE的加載過程,使得PTE加載的步驟增加。
發明內容
本發明的目的在于提供支持多級頁表的TLB架構,以解決上述背景技術中提出的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇華創微系統有限公司;中國電子科技集團公司第十四研究所,未經江蘇華創微系統有限公司;中國電子科技集團公司第十四研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010114500.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種低溫工況耐磨斗齒的制備方法
- 下一篇:一種穿戴式攝像機支架





