《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于多頁的龍芯2F軟TLB重載入異常處理改進
基于多頁的龍芯2F軟TLB重載入異常處理改進
來源:微型機與應用2011年第23期
何 煒
(江蘇自動化研究所,江蘇 連云港 222006)
摘要: 龍芯2F系統在TLB替換處理上開銷較大,現有軟TLB技術從減少TLB重載入異常處理時間方面考慮,利用軟TLB來緩存TLB表項,提高替換處理中Cached命中率,減少了重載入異常處理時間。為進一步提高TLB效率,設計采用多頁技術提高TLB的覆蓋率,減少TLB替換次數,進而減少重載入異常處理的次數,達到提高系統性能的目的。
Abstract:
Key words :

摘  要: 龍芯2F系統在TLB替換處理上開銷較大,現有軟TLB技術從減少TLB重載入異常處理時間方面考慮,利用軟TLB來緩存TLB表項,提高替換處理中Cached命中率,減少了重載入異常處理時間。為進一步提高TLB效率,設計采用多頁技術提高TLB的覆蓋率,減少TLB替換次數,進而減少重載入異常處理的次數,達到提高系統性能的目的。
關鍵詞: TLB;重載入異常處理;多頁技術;龍芯2F 

 隨著軟件規模增大,內存需求越來越大?,F代系統提出虛空間的概念,軟件運行在獨立的虛空間中,被訪問時才從物理內存中建立與之對應的空間。TLB(Translate Look-aside Buffer)是加速線性地址向物理地址轉換的緩沖器,即緩存最近使用過的頁的物理地址。使用線性地址和TLB中的存儲項進行比較,如果相同就直接獲得目標頁的物理地址,不需要訪問外存,這樣可大大提高地址轉換速度。
 龍芯2F是中科院計算所自主研發的高性能通用64位處理器[1],在龍芯2F的Linux系統中,最占TLB替換處理時間的就是訪存操作,減少訪存操作就可提高TLB使用效率,從而提高龍芯2F的整體系統性能?,F有軟TLB技術可減少TLB替換處理時間,多頁技術的采用更可以減少TLB替換次數,從而進一步提高TLB替換效率,幫助對龍芯2F系統進行優化。
1 龍芯2F TLB重載入異常處理
 龍芯2F系統采用Debian Linux,其TLB只負責地址轉譯,表項維護由操作系統負責,所以表頁發生修改時TLB內容必須被及時更新[2]。Linux系統通過flush_tlb_all、flush_tlb_mm、flush_tlb_page、flush_tlb_range等函數來操作TLB內容。龍芯2F為了提高TLB重載入異常處理效率,提供了兩個TLB專用寄存器K0和K1,這樣在進入重載入異常處理時就不需要對用戶寄存器進行保存,從而減少操作時間。
TLB重載入異常處理流程為:進入重載入異常處理后,首先獲取該進程頁全局目錄首地址,取得頁全局目錄和頁中間目錄內容,然后獲取兩個連續頁表項用來進行TLB替換寫入,處理完畢后返回異常處理現場。
2 軟TLB處理實現
 龍芯2F系統為64位,頁表為3級頁表,且操作地址不連續,每次訪問三級頁表內容時,TLB重載入需要5次訪存操作,產生3次左右的Cache失效,使得TLB重載入異常處理時間大大加長。
龍芯2F系統中設計用軟TLB技術來減少TLB替換處理時間,軟TLB技術在內存空間中開辟出一個全局TLB緩沖區域,作為硬件TLB的緩存,在系統進行TLB表項替換前,要先查詢該TLB緩沖區,如果所查內容在緩沖區內,則將內容寫入TLB,如果查詢不到,則按照原來的TLB查詢過程進行查詢。所以只訪問一次緩沖區且訪存操作連續的軟TLB方法產生Cache失效的幾率被大大降低了[3]。如果軟TLB查詢失敗,該次查詢只會造成系統多作一次訪問操作的額外開銷,因此軟TLB技術減少TLB替換處理時間的重點在于提高軟TLB查詢命中率。圖1為龍芯2F軟TLB重載入異常處理流程。

 系統在修改頁表項時,除修改硬件TLB對應項外,還要查詢該頁表項是否緩存于軟TLB中,若已有緩沖則修改軟TLB中的頁表項,否則就將該TLB表項緩存入軟TLB中。
3 分頁對Linux系統的影響
 龍芯2F采用軟硬協同實現內存管理,硬件完成TLB地址轉譯,軟件完成TLB表項替換。為了增大TLB的覆蓋率,必須增加每項TLB表項的覆蓋范圍,系統設計每個表項可以有不同的分頁大小,從4 KB~16 MB按4倍增長。CP0寄存器PageMask用于記錄映射的頁的大小,并且這個記錄在寫一個新的表項的同時載入TLB中[1]。因此操作系統可以支持不同大小的頁表項以適用于不同的目的,然而在同一運行的時刻只能是固定大小的頁。
 當TLB表項均采用4 KB分頁大小時,TLB可為512 KB的地址進行轉譯;16 MB分頁大小時可為2 GB地址進行轉譯。對于某個運算集合在4 MB和8 MB之間的程序來說,如果分頁大小為32 KB,則在運算集合大于4 MB時TLB重載入異常處理會大量產生,TLB替換次數會大量增加。如果分頁大小為64 KB,TLB就可以覆蓋整個8 MB運算集合,會大大減少TLB重載入異常的發生。但是分頁也不是越大越好,例如文件系統I/O操作與TLB無關,如果用戶讀取數據小于頁大小,分頁過大反而會增加系統I/O操作[4];同樣,大的分頁會使得系統每個進程所需資源增加,使系統能支持的進程數減少,降低系統多進程的性能;大頁還會造成內存使用緊張,碎片增多,頁的換入換出操作增多,降低系統內存使用率。
 不同分頁大小對系統TLB重載入異常處理和替換次數有不同影響,進而對系統性能有不同影響,所以應根據不同應用需求采用不同頁大小。
4 多頁技術的實現
 多頁技術針對TLB每個表項可分配頁大小,根據實際需求按需分配頁大小,該頁大小信息保存在頁表項中,用戶申請大空間時用大頁進行分配,申請小空間時用小頁進行分配,有利于減少內存碎片。系統最小的頁被定為基本頁,其他不同大小的頁用多個連續的基本頁來表示,在TLB頁表項中有頁大小的信息項。由于線性區內映射的TLB表項中的頁屬性在頁分配時并不分析該頁所屬線性區內的其他頁信息,所以在建立線性空間時就要將用戶所需的頁大小信息保存入頁表中,進行頁分配時再根據信息進行不同大小的頁分配。
 多頁技術主要通過修改Linux系統內存管理子系統實現。線性空間建立主要通過Linux內存分配函數mmap()實現,應用軟件的代碼段和數據段均通過mmap()實現線性空間的建立,并和文件系統關聯,使得線性空間成為文件內容的映射區域[5]。要實現多頁技術需要對mmap()進行修改,為了方便大頁的產生,在查找空閑的線性空間時,要根據申請空間大小找到滿足條件的頁大小對齊的線性地址,如果找不到,則從大到小進行頁對齊。在線性空間分配完成后,要建立多頁屬性的頁表,根據傳入的線性空間大小,盡量采用大頁,將分配好的頁信息保存至TLB頁表項的頁大小區域內。
 完成線性空間建立后,根據用戶需求來決定頁大小并將頁信息存入頁表中,根據這些信息進行實際頁分配。Linux系統有頁緩存頁和匿名頁兩種頁面,為了實現多頁技術,需對這兩種頁面的分配進行修改。多頁技術的修改主要在于對原有頁分配函數進行修改替換,通過對filemap_nopage()函數的修改實現將分配大頁后的文件數據讀入到連續頁緩存中,通過對do_no_page()函數的修改實現頁表的建立。具體多頁申請分配流程見圖2。

 

 

 現有龍芯Linux操作系統軟件規模日益增大與TLB覆蓋空間小的矛盾,使得系統在TLB替換處理上開銷很大,需要在系統內存管理方面進行性能優化[6]。通過軟件TLB重載入異常處理實現了TLB替換處理中命中率的提高,減少了處理時間。根據用戶需求進行分配的多頁技術進一步改進了軟TLB重載入異常處理,提高了TLB覆蓋率,減少了重載入異常處理次數,能夠發揮各種頁大小的優勢,使得系統性能得到明顯提升。
參考文獻
[1] 北京龍芯中科技術服務中心有限公司.龍芯2F處理器用戶手冊V1.0.2008.
[2] 蘇波,李凱.龍芯2F上的訪存優化[J].計算機系統應用,2010,19(1):171-175.
[3] 許先超.減少TLB失效開銷提高64位Linux系統性能的方法[J].計算機工程,2006,32(1):70-72.
[4] 孫益輝,陳凱,白英彩.嵌入式操作系統內存管理機制分析及改進[J].計算機應用與軟件,2006,23(3):98-99,115.
[5] 謝長生,劉志斌.Linux2.6內存管理研究[J].計算機應用研究,2005(3):58-60.
[6] 李小群,孫玉芳.Linux內存管理機制的分析與研究[J].計算機科學,2002,29(4),18-20.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          快she精品国产999| 国产主播在线一区| 欧美ab在线视频| 亚洲人成人99网站| 亚洲国产专区| 欧美视频在线看| 一级成人国产| 欧美日韩精品免费观看视频完整| 国产精品人人爽人人做我的可爱| 亚洲激情在线视频| 亚洲香蕉视频| 一区二区三区 在线观看视| 黑丝一区二区| 国产日韩欧美自拍| 午夜亚洲福利| 国产色综合天天综合网| 亚洲尤物视频在线| 国产精品v欧美精品v日韩精品| 狠狠色丁香久久婷婷综合_中| 欧美日本一区二区高清播放视频| 免费亚洲婷婷| 亚洲在线播放电影| 1024精品一区二区三区| 欧美激情精品久久久久久大尺度| 亚洲专区国产精品| 一区二区三区免费观看| 亚洲自拍三区| 亚洲欧美国产va在线影院| 国产精品美女午夜av| 国产精品www994| 国产精品制服诱惑| 国产精品美女| 亚洲欧洲一区| 久久国产综合精品| 欧美视频国产精品| 在线成人激情黄色| 欧美精品一二三| 亚洲高清电影| 久久青青草综合| 国产精品美腿一区在线看| 一区二区欧美精品| 免费成人激情视频| 亚洲高清在线播放| 亚洲精品乱码久久久久久蜜桃91| 宅男噜噜噜66国产日韩在线观看| 久久激情视频| 欧美—级在线免费片| 国产精品美女主播| 老司机精品久久| 亚洲一区欧美| 日韩一区二区精品葵司在线| 国产午夜精品美女视频明星a级| 国产一区二区三区久久久| 久久婷婷综合激情| 国产精品久久久久一区二区三区| 久久久久久夜| 欧美午夜在线观看| 宅男噜噜噜66国产日韩在线观看| 欧美午夜一区| 亚洲综合清纯丝袜自拍| 国产精品成人午夜| 亚洲人体影院| 亚洲视频一区二区免费在线观看| 中文av一区二区| 欧美电影免费观看高清完整版| 日韩视频在线一区二区| 欧美承认网站| 麻豆精品网站| 一区二区欧美在线观看| 欧美色精品天天在线观看视频| 亚洲第一页在线| 免费观看30秒视频久久| 欧美日韩亚洲网| 久久婷婷麻豆| 亚洲国产成人久久| 男女激情视频一区| 亚洲主播在线| 国产一区二区你懂的| 亚洲高清视频中文字幕| 性欧美暴力猛交另类hd| 国产精品大片免费观看| 米奇777超碰欧美日韩亚洲| 另类亚洲自拍| 在线观看国产成人av片| 亚洲欧美激情视频| 欧美激情在线| 国产精品综合网站| 亚洲国产精品一区二区第四页av| 久久久亚洲精品一区二区三区| 亚洲男女自偷自拍| 老司机成人网| 欧美日韩亚洲国产精品| 黄色精品一区二区| 老司机午夜精品视频| 亚洲欧美国产高清va在线播| 国产欧美日韩高清| 欧美日本亚洲| 欧美一级在线亚洲天堂| 亚洲激情在线激情| 欧美在线啊v一区| 欧美jjzz| 欧美在线短视频| 国产精品久久久久高潮| 欧美一区二区三区喷汁尤物| 雨宫琴音一区二区在线| 欧美大尺度在线观看| 日韩网站在线| 中国女人久久久| 欧美亚洲自偷自偷| 国产精品国产三级国产专区53| 一本色道久久综合精品竹菊| 欧美精品一区二区久久婷婷| 欧美日韩中文字幕精品| 久久久久女教师免费一区| 国产亚洲一二三区| 欧美网站在线| 久久精品国产69国产精品亚洲| 欧美a级片网站| 亚洲婷婷国产精品电影人久久| 国产欧美 在线欧美| 国产精品网曝门| 国产美女精品免费电影| 国产精品永久免费在线| 能在线观看的日韩av| 欧美日韩综合精品| 国产精品入口日韩视频大尺度| 欧美精品色综合| 激情成人亚洲| 久久精品一区二区三区四区| 国产欧美综合在线| 亚洲精品乱码久久久久久蜜桃91| 另类图片综合电影| 美女国产一区| 国产精品视频yy9099| 亚洲免费伊人电影在线观看av| 蜜臀91精品一区二区三区| 亚洲性线免费观看视频成熟| 欧美一区二区三区视频在线观看| 国产精品区免费视频| 国产精品老女人精品视频| 久久亚洲一区二区| 国产一区二区黄| 亚洲午夜精品久久| 欧美亚洲第一页| 亚洲国产你懂的| 一二三四社区欧美黄| 欧美性视频网站| 亚洲欧美一区二区在线观看| 国产精品影片在线观看| 性欧美8khd高清极品| 国产色视频一区| 先锋影音网一区二区| 欧美成人激情视频| 国产精品久久一卡二卡| 亚洲激情欧美| 亚洲精华国产欧美| 国产精品推荐精品| 亚洲三级视频| 妖精视频成人观看www| 亚洲国产精品一区二区尤物区| 欧美激情一级片一区二区| 欧美成人精品在线播放| 国产一区二区精品丝袜| 欧美日韩精品一区二区| 狠狠色综合网| 亚洲日本中文字幕| 国内自拍视频一区二区三区| 久久精品日韩一区二区三区| 亚洲欧美日韩天堂| 欧美一区二区三区久久精品| 在线视频欧美精品| 亚洲视频在线二区| 亚洲一区二区三区三| 国产精品分类| 亚洲小说春色综合另类电影| 日韩午夜电影| 国产一区二区三区四区在线观看| 国产曰批免费观看久久久| 亚洲自拍16p| av成人激情| 亚洲欧洲一二三| 91久久久一线二线三线品牌| 亚洲国产三级| 欧美激情视频一区二区三区在线播放| 牛人盗摄一区二区三区视频| 亚洲欧美日韩国产综合| 国产精品一区二区久久| 欧美亚洲自偷自偷| 久久av红桃一区二区小说| 久久免费视频网站| 国产精品一卡二卡| 欧美视频亚洲视频| 欧美国产大片| 国产精品成人免费精品自在线观看| 久久精品国产69国产精品亚洲| 性欧美xxxx视频在线观看| 999在线观看精品免费不卡网站| 亚洲午夜一区二区| 亚洲欧美在线高清| 久久综合色88| 欧美高清一区二区| 亚洲精品乱码久久久久久| 亚洲美女诱惑| 国产一区二区三区免费在线观看| 国产热re99久久6国产精品| 亚洲国产欧美一区二区三区久久| 欧美高清视频在线| 亚洲一区中文字幕在线观看| 欧美日韩成人一区| 久久久久国产精品厨房| 久久精品99无色码中文字幕| 欧美精品久久久久久| 亚洲欧美日韩精品久久奇米色影视| 999亚洲国产精| 亚洲第一网站免费视频| 中文精品视频一区二区在线观看| 在线观看日韩专区| 欧美一级日韩一级| 91久久在线观看| 欧美麻豆久久久久久中文| 国产综合香蕉五月婷在线| 欧美日韩一级黄| 老巨人导航500精品| 欧美色道久久88综合亚洲精品| 在线成人www免费观看视频| 亚洲国产精品国自产拍av秋霞| 欧美日韩在线一区二区| 亚洲欧洲综合另类| 欧美一级视频免费在线观看| 国产精品久久久久久av福利软件| 国产精品国产三级国产aⅴ无密码| 亚洲人成在线影院| 亚洲精品视频免费在线观看| 亚洲精品一品区二品区三品区| 欧美激情一区二区三区全黄| 午夜欧美精品久久久久久久| 欧美资源在线观看| 免费观看成人网| 亚洲一级免费视频| 欧美午夜不卡| 久久这里只有精品视频首页| 美女视频网站黄色亚洲| 欧美凹凸一区二区三区视频| 久久精品三级| 99视频在线精品国自产拍免费观看| 国产婷婷色一区二区三区四区| 欧美高清在线视频观看不卡| 久久综合九色综合欧美狠狠| 国产日韩欧美在线视频观看| 欧美三区免费完整视频在线观看| 亚洲每日在线| 欧美日韩一区在线| 欧美成人国产一区二区| 日韩小视频在线观看| 欧美视频日韩视频| 欧美日韩国产91| 韩国在线视频一区| 亚洲美女精品一区| 欧美日韩第一页| 免费观看亚洲视频大全| 欧美三日本三级少妇三2023| 日韩一区二区电影网| 亚洲视频1区| 国产一区 二区 三区一级| 蜜臀久久99精品久久久画质超高清| 国产精品高潮视频| 国内揄拍国内精品久久| 在线亚洲欧美视频| 亚洲精品一二| 亚洲午夜激情在线| 亚洲欧洲精品一区二区三区波多野1战4| 久久综合网络一区二区| 欧美性感一类影片在线播放| 欧美一区二区日韩| 国产精品入口麻豆原神| 久久久人成影片一区二区三区观看| 嫩草成人www欧美| 亚洲天堂av综合网| 久久人人爽人人爽爽久久| 国产丝袜一区二区三区| 欧美一区二区三区久久精品| 久久精品视频免费播放| 亚洲人成精品久久久久| 久久久久高清| 欧美激情视频给我| 欧美一区二区成人| 91久久极品少妇xxxxⅹ软件| 开心色5月久久精品| 欧美一区亚洲一区| 国产午夜精品一区理论片飘花| 国产精品一区在线观看| 亚洲欧美综合国产精品一区| 欧美四级电影网站| 在线看日韩av| 欧美日韩成人激情| 欧美亚洲动漫精品| 欧美插天视频在线播放| 另类尿喷潮videofree| 国产精品入口福利| 亚洲国产精品久久久久婷婷老年| 亚洲黄一区二区| 亚洲一区三区电影在线观看| 久久久噜噜噜| 国产亚洲激情视频在线| 欧美一级夜夜爽| 亚洲五月婷婷| 国产精品狠色婷| 亚洲一区二区高清| 国产精品久久97| 欧美成年人视频| 午夜精品久久久久久久99樱桃| 欧美成人伊人久久综合网| 国产主播一区二区三区四区| 亚洲精品自在在线观看| 国产综合亚洲精品一区二| 久久一本综合频道| 欧美日韩1区| 欧美日韩精品是欧美日韩精品| 亚洲图片欧洲图片日韩av| 日韩天堂在线视频| 亚洲国内自拍| 国产一区观看| 亚洲韩国一区二区三区| 欧美日韩精品免费看| 一区二区视频在线观看| 亚洲一级片在线看| 亚洲韩国精品一区| 欧美激情一区二区三区蜜桃视频|