999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于連續頁面合并以及緩存的硬件載入技術

2014-08-29 18:45:31黨倩楊婷
現代電子技術 2014年15期

黨倩+楊婷

摘 要: 提出了一種基于連續頁面合并以及PTE基址緩存的硬件載入技術。對硬件載入改進有兩種方法,分別是:合并Main TLB中物理頁號、虛擬頁號均連續的兩個表項,擴大了Main TLB容量,降低TLB缺失率,減少硬件載入次數;緩存硬件載入過程中第一次查詢頁表得到的PTE基址,有相同PTE基址的虛擬頁號將不需要進行第一次頁表查詢,節省了一半時間。

關鍵詞: 旁路緩沖器; 連續頁面歸并; 頁面回收; 硬件載入; PTE基址緩存

中圖分類號: TN711?34 文獻標識碼: A 文章編號: 1004?373X(2014)15?0150?03

Hardware loading technology based on consecutive page merging and caching

DANG Qian1, YANG Ting2

(1. Shaanxi Vocational Technical Institute, Xian 710100, China; 2. Institute of Super?large?scale Integrated Circuit design, Hangzhou 310027, China)

Abstract: A hardware loading technology based on consecutive page merging and PTE base address caching is proposed in this paper. The improvement of hardware loading has two methods: Merge two table iterms whose VPN and PPN are both consecutive in Main TLB during hardware loading, which can expand the Main TLBs capacity, reduce TLB missing rate and decrease hardware loading times; Cache the page table entry (PTE) base address getting from the first query to the page table. The VPNs whose PTE base addresses are the same will not need to access page table to get PTE base address, which can save half of the hardware loading time.

Keywords: TLB; consecutive page merging; page recycling; hardware refill; PTE base address caching

1 旁路轉換單元載入技術概述

曾有研究表明TLB控制時間占普通系統運行時間的5%~10%,然而最顯著的開銷是在處理TLB缺失上。顯示TLB缺失程序是最常見的執行原語,表明TLB確實處理可以占到總運行時間的40%。因此對處理TLB缺失的問題的研究具有重要意義。

當TLB出現缺失時,有兩種處理方式,分別是硬件載入TLB和軟件載入TLB。硬件載入TLB不需要清空流水線,它對流水線的干擾是相當小的。硬件載入TLB由硬件實現頁表的查詢、表項填入TLB操作,在進行這一系列過程時,處理器并不需要清空流水線,只需要凍結流水線,暫時不執行下一條指令即可。本文主要研究硬件載入TLB技術。

TLB prefetching技術通過硬件上的預測以及預載入翻譯的方式來隱藏TLB缺失造成的時間開銷。其主要思想是一個基于時效性的TLB缺失預測算法。時效性的概念是利用一個基于LRU替換算法計算出特定應用中每個被使用到的TLB表項的歷史使用頻繁度。

SpecTLB 針對TLB缺失的情況提供了投機的地址翻譯,而不通過跟蹤部分填充的大頁面保留頁表。當一次TLB缺失出現時,SpecTLB檢查該缺失的虛擬頁是否是大頁面保留頁表的一部分,如果是這樣,缺頁的物理地址可以使用大范圍內保留的小頁面的相對位置在該保留大頁面的開始和結束物理地址之間進行插值。

2 基于連續頁面合并以及緩存的硬件載入技術

針對硬件載入時間在整個TLB訪問過程總時間中占有巨大比例的問題,本文提出對硬件載入改進的兩種方法:

(1) 合并Main TLB中物理頁號、虛擬頁號均連續的兩個表項,擴大了Main TLB容量,降低TLB缺失率,減少硬件載入次數;

(2) 緩存硬件載入過程中第一次查詢頁表的到的PTE基址,有相同PTE基址的虛擬頁號將不需要進行第一次頁表查詢,節省了一半時間。

這兩種方法分別從減少硬件載入次數和縮短單次硬件載入時間上提升了旁路轉換單元的性能,同時降低了缺失率。

2.1 基于連續頁面合并的硬件載入技術

為減少硬件載入次數,本文提出一種用于連續頁面合并的LTLB(Large Page TLB),當TLB缺失時,進行TLB硬件載入,首先從頁表中獲得所需要的翻譯信息,在將該信息填回MTLB之前先檢查MTLB中是否有其連續頁面,若有則將兩個頁面合并之后填入LTLB,同時將合并前原本在MTLB中的表項無效掉,使其可以在未來存放新的翻譯信息。這樣做也就是將LTLB作為一個頁面是MTLB兩倍的大頁面TLB進行查詢,可以部分擴大頁面大小,增加第二級TLB容量,減少TLB 缺失次數。

在硬件載入到MTLB之前先檢查MTLB中該表項的前后頁面是否存在MTLB中,若在,則合并這兩個頁面存入LTLB,同時釋放掉被合并的那個表項。兩路組相聯的MTLB中若有連續的頁面,這兩個頁面一定出現在組地址連續的幾個表項中,因此只需要根據要填入的表項的虛擬頁號(VPN)最低位選擇跟組地址減1或是組地址加1的兩個表項進行比較。當Micro TLB命中,直接返回物理地址。當Micro TLB缺失,則同時查找MTLB和LTLB。若LTLB命中或者MTLB命中則可直接得到物理地址;若二者都缺失則需要進行硬件載入;在該機制下不會出現二者都命中的情況,一旦出現屬于硬件錯誤。若要進行硬件載入到MTLB,首先根據虛擬頁號找到要填的表項,查看該表項附近是否有連續頁面,若有,則將兩個頁面合并放入LTLB,并將原MTLB中的表項置為空,若沒有,則直接填入。

如果要進行合并檢查,則先根據VPN的最低位判定奇偶頁面,若是奇頁面,那么檢查是否跟前面一組中的兩個表項虛擬頁面、物理頁面都連續;若是偶頁面,那么檢查是否跟后面一組中的兩個表項虛擬頁面、物理頁面都連續。如果有連續頁面則進行合并后再填入LTLB,否則不合并直接填入MTLB。

2.2 PTE基址緩存的硬件載入技術

對于兩級頁表,需要進行兩次查找,硬件載入時查找頁表是非常耗時、影響性能的。首先將MPGD寄存器中的14~31位PBA與虛擬地址中的20~31位拼起來組成30位地址,再左移兩位得到32位地址。用這個地址查詢頁目錄表,將得到表項的10~31位與虛擬地址中的12~19位拼起來組成30位地址,再左移兩位得到32位地址才是頁表表項的地址。用這個地址查詢頁表,將得到表項的12~31位物理頁號與虛擬地址的0~11位頁內偏移拼起來組成32位地址,這個地址就是轉換好的物理地址。

針對兩級頁表查詢耗時的缺點,本文提出PTE基址緩存的硬件載入技術,就是在第一次查詢得到頁目錄表表項地址之前先查找一個PTE基址緩存表PTLB(PTE Base Address TLB),若命中則直接得到頁目錄表表象地址,而不需要再進行第二次查找。這可以大大減少頁表查詢的時間。

其中PTLB每個表項含兩部分,分別是12位的VPN1和22位的PTE基址。四個表項同時與所要查找的虛擬地址中的VPN1進行比較,若命中,則不許查找頁目錄表,直接得到PTE基址,與虛擬地址中的VPN2拼接作為頁表表項地址,得到所需要的頁表表項。

2.3 實驗與分析

本文選取EEMBC中的部分多媒體應用以及網絡應用測試基準程序,以32位高性能嵌入式處理CK510及其平臺為基礎,在原有兩級TLB 的基礎上設計實現連續頁面合并以及緩存及其控制邏輯進行實驗。

表1是5種不同TLB結構的缺失率比較,這5種TLB均是兩級結構,第一級相同,不同在第二級的結構。如圖1所示,這5種TLB的第二級分別是:

圖1 各種TLB結構的硬件載入周期比較

① 2路組相聯32表項的MTLB;

② 4路組相聯32表項的MTLB;

③ 全相聯32表項的MTLB;

④ 2路組相聯32表項MTLB與4表項RTLB;

⑤ 2路組相聯32表項MTLB與4表項LTLB及4表項PTLB。

由圖1和表1可以看到,應用了本文提出的硬件載入技術的TLB在硬件載入總周期上相比傳統的TLB結構有明顯縮減。第2種4路組相聯的TLB結構是最差的,毫無疑問這是路太多導致的。本文提出的TLB結構也是基本都優于其他TLB結構的。這兩個測試基準的共同特點就是本身硬件載入的次數并不多,這可能是由于程序本身比較小、程序中所用到的數據量也比較少,因此在本身硬件載入次數不多的情況下,上文的方法效果不會太好,并且還要消耗非常多的硬件資源。

3 結 語

本文首先對旁路轉換單元載入技術做了介紹。然后對提出的基于連續頁面合并一級緩存的硬件載入技術進行了詳細說明。一是連續頁面合并,當TLB缺失時,進行TLB硬件載入,首先從頁表中獲得所需要的翻譯信息,在將該信息填回MTLB之前先檢查MTLB中是否有其連續頁面,若有則將兩個頁面合并并填入LTLB,同時將合并前原本在MTLB中的表項無效掉,使其可以在未來存放新的翻譯信息。二是將PTE機制進行緩存,在第一次查詢得到頁目錄表表項地址之前先查找一個PTE基址緩存表PTLB,若命中則直接得到頁目錄表表象地址,而不需要再進行第二次查找。最后通過實驗證明本文提出的基于連續頁面合并以及緩存的硬件載入技術能有效降低訪問時間。

參考文獻

[1] BARR T W, COX A L, RIXNER S. SpecTLB: a mechanism for speculative address translation [C]// 2011 38th Annual International Symposium on Computer Architecture (ISCA). [S.l.]: IEEE, 2011: 307?317.

[2] 武淑麗,孟建熠,王榮華,等.基于預測緩存的低功耗TLB快速訪問機制[J].計算機應用研究,2011,28(8):2964?2966.

[3] 葛海通.32位高性能嵌入式CPU及平臺研發[D].杭州:浙江大學,2009.

[4] SAULSBURY A, DAHLGREN F, STENSTR?M P. Recency?based TLB preloading [J]. ACM SIGARCH Computer Architecture News, 2000, 28(2): 117?127.

[5] 何軍,張曉東,郭勇.一種TLB結構優化方法[J]. Computer Engineering,2012,38(21):56?58.

[6] 崔更申,黃廷輝,王力.一種通用的嵌入式操作系統內存保護設計[J].計算機工程,2005(24):34?36.

如果要進行合并檢查,則先根據VPN的最低位判定奇偶頁面,若是奇頁面,那么檢查是否跟前面一組中的兩個表項虛擬頁面、物理頁面都連續;若是偶頁面,那么檢查是否跟后面一組中的兩個表項虛擬頁面、物理頁面都連續。如果有連續頁面則進行合并后再填入LTLB,否則不合并直接填入MTLB。

2.2 PTE基址緩存的硬件載入技術

對于兩級頁表,需要進行兩次查找,硬件載入時查找頁表是非常耗時、影響性能的。首先將MPGD寄存器中的14~31位PBA與虛擬地址中的20~31位拼起來組成30位地址,再左移兩位得到32位地址。用這個地址查詢頁目錄表,將得到表項的10~31位與虛擬地址中的12~19位拼起來組成30位地址,再左移兩位得到32位地址才是頁表表項的地址。用這個地址查詢頁表,將得到表項的12~31位物理頁號與虛擬地址的0~11位頁內偏移拼起來組成32位地址,這個地址就是轉換好的物理地址。

針對兩級頁表查詢耗時的缺點,本文提出PTE基址緩存的硬件載入技術,就是在第一次查詢得到頁目錄表表項地址之前先查找一個PTE基址緩存表PTLB(PTE Base Address TLB),若命中則直接得到頁目錄表表象地址,而不需要再進行第二次查找。這可以大大減少頁表查詢的時間。

其中PTLB每個表項含兩部分,分別是12位的VPN1和22位的PTE基址。四個表項同時與所要查找的虛擬地址中的VPN1進行比較,若命中,則不許查找頁目錄表,直接得到PTE基址,與虛擬地址中的VPN2拼接作為頁表表項地址,得到所需要的頁表表項。

2.3 實驗與分析

本文選取EEMBC中的部分多媒體應用以及網絡應用測試基準程序,以32位高性能嵌入式處理CK510及其平臺為基礎,在原有兩級TLB 的基礎上設計實現連續頁面合并以及緩存及其控制邏輯進行實驗。

表1是5種不同TLB結構的缺失率比較,這5種TLB均是兩級結構,第一級相同,不同在第二級的結構。如圖1所示,這5種TLB的第二級分別是:

圖1 各種TLB結構的硬件載入周期比較

① 2路組相聯32表項的MTLB;

② 4路組相聯32表項的MTLB;

③ 全相聯32表項的MTLB;

④ 2路組相聯32表項MTLB與4表項RTLB;

⑤ 2路組相聯32表項MTLB與4表項LTLB及4表項PTLB。

由圖1和表1可以看到,應用了本文提出的硬件載入技術的TLB在硬件載入總周期上相比傳統的TLB結構有明顯縮減。第2種4路組相聯的TLB結構是最差的,毫無疑問這是路太多導致的。本文提出的TLB結構也是基本都優于其他TLB結構的。這兩個測試基準的共同特點就是本身硬件載入的次數并不多,這可能是由于程序本身比較小、程序中所用到的數據量也比較少,因此在本身硬件載入次數不多的情況下,上文的方法效果不會太好,并且還要消耗非常多的硬件資源。

3 結 語

本文首先對旁路轉換單元載入技術做了介紹。然后對提出的基于連續頁面合并一級緩存的硬件載入技術進行了詳細說明。一是連續頁面合并,當TLB缺失時,進行TLB硬件載入,首先從頁表中獲得所需要的翻譯信息,在將該信息填回MTLB之前先檢查MTLB中是否有其連續頁面,若有則將兩個頁面合并并填入LTLB,同時將合并前原本在MTLB中的表項無效掉,使其可以在未來存放新的翻譯信息。二是將PTE機制進行緩存,在第一次查詢得到頁目錄表表項地址之前先查找一個PTE基址緩存表PTLB,若命中則直接得到頁目錄表表象地址,而不需要再進行第二次查找。最后通過實驗證明本文提出的基于連續頁面合并以及緩存的硬件載入技術能有效降低訪問時間。

參考文獻

[1] BARR T W, COX A L, RIXNER S. SpecTLB: a mechanism for speculative address translation [C]// 2011 38th Annual International Symposium on Computer Architecture (ISCA). [S.l.]: IEEE, 2011: 307?317.

[2] 武淑麗,孟建熠,王榮華,等.基于預測緩存的低功耗TLB快速訪問機制[J].計算機應用研究,2011,28(8):2964?2966.

[3] 葛海通.32位高性能嵌入式CPU及平臺研發[D].杭州:浙江大學,2009.

[4] SAULSBURY A, DAHLGREN F, STENSTR?M P. Recency?based TLB preloading [J]. ACM SIGARCH Computer Architecture News, 2000, 28(2): 117?127.

[5] 何軍,張曉東,郭勇.一種TLB結構優化方法[J]. Computer Engineering,2012,38(21):56?58.

[6] 崔更申,黃廷輝,王力.一種通用的嵌入式操作系統內存保護設計[J].計算機工程,2005(24):34?36.

如果要進行合并檢查,則先根據VPN的最低位判定奇偶頁面,若是奇頁面,那么檢查是否跟前面一組中的兩個表項虛擬頁面、物理頁面都連續;若是偶頁面,那么檢查是否跟后面一組中的兩個表項虛擬頁面、物理頁面都連續。如果有連續頁面則進行合并后再填入LTLB,否則不合并直接填入MTLB。

2.2 PTE基址緩存的硬件載入技術

對于兩級頁表,需要進行兩次查找,硬件載入時查找頁表是非常耗時、影響性能的。首先將MPGD寄存器中的14~31位PBA與虛擬地址中的20~31位拼起來組成30位地址,再左移兩位得到32位地址。用這個地址查詢頁目錄表,將得到表項的10~31位與虛擬地址中的12~19位拼起來組成30位地址,再左移兩位得到32位地址才是頁表表項的地址。用這個地址查詢頁表,將得到表項的12~31位物理頁號與虛擬地址的0~11位頁內偏移拼起來組成32位地址,這個地址就是轉換好的物理地址。

針對兩級頁表查詢耗時的缺點,本文提出PTE基址緩存的硬件載入技術,就是在第一次查詢得到頁目錄表表項地址之前先查找一個PTE基址緩存表PTLB(PTE Base Address TLB),若命中則直接得到頁目錄表表象地址,而不需要再進行第二次查找。這可以大大減少頁表查詢的時間。

其中PTLB每個表項含兩部分,分別是12位的VPN1和22位的PTE基址。四個表項同時與所要查找的虛擬地址中的VPN1進行比較,若命中,則不許查找頁目錄表,直接得到PTE基址,與虛擬地址中的VPN2拼接作為頁表表項地址,得到所需要的頁表表項。

2.3 實驗與分析

本文選取EEMBC中的部分多媒體應用以及網絡應用測試基準程序,以32位高性能嵌入式處理CK510及其平臺為基礎,在原有兩級TLB 的基礎上設計實現連續頁面合并以及緩存及其控制邏輯進行實驗。

表1是5種不同TLB結構的缺失率比較,這5種TLB均是兩級結構,第一級相同,不同在第二級的結構。如圖1所示,這5種TLB的第二級分別是:

圖1 各種TLB結構的硬件載入周期比較

① 2路組相聯32表項的MTLB;

② 4路組相聯32表項的MTLB;

③ 全相聯32表項的MTLB;

④ 2路組相聯32表項MTLB與4表項RTLB;

⑤ 2路組相聯32表項MTLB與4表項LTLB及4表項PTLB。

由圖1和表1可以看到,應用了本文提出的硬件載入技術的TLB在硬件載入總周期上相比傳統的TLB結構有明顯縮減。第2種4路組相聯的TLB結構是最差的,毫無疑問這是路太多導致的。本文提出的TLB結構也是基本都優于其他TLB結構的。這兩個測試基準的共同特點就是本身硬件載入的次數并不多,這可能是由于程序本身比較小、程序中所用到的數據量也比較少,因此在本身硬件載入次數不多的情況下,上文的方法效果不會太好,并且還要消耗非常多的硬件資源。

3 結 語

本文首先對旁路轉換單元載入技術做了介紹。然后對提出的基于連續頁面合并一級緩存的硬件載入技術進行了詳細說明。一是連續頁面合并,當TLB缺失時,進行TLB硬件載入,首先從頁表中獲得所需要的翻譯信息,在將該信息填回MTLB之前先檢查MTLB中是否有其連續頁面,若有則將兩個頁面合并并填入LTLB,同時將合并前原本在MTLB中的表項無效掉,使其可以在未來存放新的翻譯信息。二是將PTE機制進行緩存,在第一次查詢得到頁目錄表表項地址之前先查找一個PTE基址緩存表PTLB,若命中則直接得到頁目錄表表象地址,而不需要再進行第二次查找。最后通過實驗證明本文提出的基于連續頁面合并以及緩存的硬件載入技術能有效降低訪問時間。

參考文獻

[1] BARR T W, COX A L, RIXNER S. SpecTLB: a mechanism for speculative address translation [C]// 2011 38th Annual International Symposium on Computer Architecture (ISCA). [S.l.]: IEEE, 2011: 307?317.

[2] 武淑麗,孟建熠,王榮華,等.基于預測緩存的低功耗TLB快速訪問機制[J].計算機應用研究,2011,28(8):2964?2966.

[3] 葛海通.32位高性能嵌入式CPU及平臺研發[D].杭州:浙江大學,2009.

[4] SAULSBURY A, DAHLGREN F, STENSTR?M P. Recency?based TLB preloading [J]. ACM SIGARCH Computer Architecture News, 2000, 28(2): 117?127.

[5] 何軍,張曉東,郭勇.一種TLB結構優化方法[J]. Computer Engineering,2012,38(21):56?58.

[6] 崔更申,黃廷輝,王力.一種通用的嵌入式操作系統內存保護設計[J].計算機工程,2005(24):34?36.

主站蜘蛛池模板: 美女国产在线| 久久女人网| 99ri国产在线| 在线观看亚洲天堂| 五月婷婷综合网| 国产精品乱偷免费视频| 永久免费无码成人网站| 无码在线激情片| 亚洲午夜福利精品无码不卡| 国产精品无码在线看| 精品一区二区三区无码视频无码| 日韩成人在线一区二区| 国产精品自拍合集| 亚洲中文字幕久久精品无码一区| 亚洲一区色| 国产区精品高清在线观看| 国产电话自拍伊人| 美女被操黄色视频网站| 国产精品区网红主播在线观看| 亚洲精品国产自在现线最新| 2020精品极品国产色在线观看 | 欧美精品黑人粗大| 亚洲视频免费播放| 亚洲 日韩 激情 无码 中出| 99久久精品免费视频| 精品视频在线观看你懂的一区| 国产不卡在线看| 麻豆精品在线播放| 亚洲综合在线最大成人| 亚洲成a人片7777| www欧美在线观看| 亚洲成人在线网| 国产精品手机视频一区二区| 伊人色综合久久天天| 欧美色图第一页| 国精品91人妻无码一区二区三区| 亚洲天堂首页| 中文字幕 欧美日韩| 免费三A级毛片视频| 久久中文电影| 国产精彩视频在线观看| 久综合日韩| 国产精品免费电影| 香蕉伊思人视频| 午夜一区二区三区| 免费无遮挡AV| 久久精品aⅴ无码中文字幕| 国产精品永久久久久| www.99在线观看| 久久久久中文字幕精品视频| 亚洲清纯自偷自拍另类专区| 欧美成人手机在线观看网址| 亚洲人视频在线观看| 亚洲成aⅴ人在线观看| 日本在线免费网站| 少妇精品网站| 久久久久久尹人网香蕉 | 久久精品人人做人人| 国产好痛疼轻点好爽的视频| 日韩少妇激情一区二区| 免费人成网站在线高清| 婷婷六月激情综合一区| 国产在线啪| 久久无码av三级| 免费看久久精品99| 2020亚洲精品无码| 亚洲欧美日韩中文字幕一区二区三区 | 日本午夜在线视频| 欧美在线三级| 亚洲看片网| 国产啪在线91| 国产在线观看人成激情视频| 综合亚洲网| 国产精品精品视频| 中文一级毛片| 久久久久九九精品影院 | 午夜日b视频| 亚洲无码四虎黄色网站| 国产精品高清国产三级囯产AV| 亚洲国产欧美国产综合久久 | 国产av剧情无码精品色午夜| 日韩精品一区二区三区免费在线观看|