• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式操作系統(tǒng)中基于MIPS處理器的內(nèi)存管理機(jī)制實(shí)現(xiàn)

      2020-09-02 06:16:08王宏偉黃保壘齊曉斌
      無線互聯(lián)科技 2020年11期
      關(guān)鍵詞:頁表嵌入式操作系統(tǒng)內(nèi)存

      郭 鋒,王宏偉,黃保壘,齊曉斌

      (中國航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)

      1 嵌入式操作系統(tǒng)在內(nèi)存管理中的特點(diǎn)

      嵌入式操作系統(tǒng)通常具有實(shí)時(shí)性強(qiáng)、安全性高、資源受限等特點(diǎn),因此,大部分嵌入式操作系統(tǒng)在內(nèi)存管理方面具有以下特征:

      (1)對存儲(chǔ)器采用實(shí)地址平板方式進(jìn)行管理,操作系統(tǒng)和用戶應(yīng)用都運(yùn)行在核心態(tài)。當(dāng)需要操作系統(tǒng)接管時(shí),避免了用戶態(tài)向核心態(tài)切換帶來的開銷,確保了系統(tǒng)響應(yīng)的實(shí)時(shí)性。

      (2)對堆空間統(tǒng)一進(jìn)行管理,系統(tǒng)堆和用戶堆不作區(qū)分,降低了系統(tǒng)維護(hù)的復(fù)雜度。

      (3)提供頁面管理功能,支持內(nèi)存管理單元(Memory Management Unit,MMU)存儲(chǔ)保護(hù),防止用戶對關(guān)鍵內(nèi)存進(jìn)行非法訪問,保證了系統(tǒng)的安全。

      2 MIPS處理器內(nèi)存管理的特點(diǎn)

      2.1 MIPS的基本地址空間

      無內(nèi)部互鎖流水級的微處理器(Microprocessor without Interlocked Pipelined Stages,MIPS)運(yùn)行在用戶態(tài)或核心態(tài),在32位模式下,程序地址空間被劃分為4個(gè)區(qū)域。在不同模式下,程序可以訪問的地址空間是有區(qū)別的:用戶態(tài)只能訪問低2G的地址空間,核心態(tài)可以訪問所有4G的地址空間[1],如圖1所示。根據(jù)各區(qū)域地址空間的特點(diǎn),對空間訪問屬性進(jìn)行總結(jié):(1)Kuseg,只有用戶態(tài)可以訪問,經(jīng)過cache,需要MMU映射。

      圖1 32位模式下MIPS處理器的地址空間

      (2)Kseg0,用戶態(tài)和核心態(tài)都可訪問,經(jīng)過cache,不需要MMU映射。

      (3)Kseg1,用戶態(tài)和核心態(tài)都可訪問,不經(jīng)過cache,不需要MMU映射。

      (4)Kseg2,用戶態(tài)和核心態(tài)都可訪問,經(jīng)過cache,需要MMU映射。

      2.2 MIPS處理器的內(nèi)存管理機(jī)制

      現(xiàn)在的計(jì)算機(jī)都是通過MMU把程序地址轉(zhuǎn)換成存儲(chǔ)器的物理地址,轉(zhuǎn)譯后備緩沖器(Translation Lookaside Buffer,TLB)是MMU中一個(gè)重要的加速轉(zhuǎn)換部件。MIPS處理器采用雙倍存儲(chǔ)的TLB管理,每一個(gè)TLB表項(xiàng)可以容納一對相鄰的虛擬頁面對應(yīng)的兩個(gè)單獨(dú)的物理地址,TLB可管理的頁大小為4~16 KB。4 K頁大小的TLB結(jié)構(gòu),輸入域中VPN2為虛擬頁號,ASID為地址空間標(biāo)識,PageMask用于設(shè)置頁大小,G位表示進(jìn)程共享的地址空間;輸出域中的PFN對應(yīng)兩個(gè)連續(xù)的奇偶物理頁,flag域包含3個(gè)頁屬性,分別為頁有效(V)、寫允許(D)和頁的cache屬性(C)。MIPS的TLB表項(xiàng)如圖2所示。

      圖2 MIPS的TLB表項(xiàng)

      3 嵌入式操作系統(tǒng)中MIPS處理器的內(nèi)存管理機(jī)制實(shí)現(xiàn)

      3.1 頁面設(shè)計(jì)

      傳統(tǒng)的操作系統(tǒng)采用4 K頁大小。在32位地址空間模式下,若采用一級頁表方式,需要連續(xù)的4 MB內(nèi)存來存放頁表,這對內(nèi)存資源的要求比較高;若采用二級頁表的方式,最大連續(xù)空間只需要4 KB,雖然對存儲(chǔ)的要求大大降低,但是在TLB未命中需要換頁時(shí),多了一次訪存操作,系統(tǒng)的效率降低,二級頁表也有可能引發(fā)TLB二次充填問題,增加了系統(tǒng)維護(hù)的復(fù)雜程度[2]。

      在實(shí)際使用中,很少有程序用到整個(gè)32位的尋址空間,多數(shù)程序在自己的地址空間內(nèi)部有巨大的空洞?;谶@一特性,在地址映射時(shí),避免對空洞的映射,可以有效減少頁表帶來的內(nèi)存開銷。

      綜合考慮存儲(chǔ)效率與訪問效率,本研究使用16 K頁大小、一級頁表的方式進(jìn)行頁面管理。在內(nèi)存占用率方面,考慮到kseg0和kseg1地址區(qū)域不需要進(jìn)行映射,每個(gè)頁表項(xiàng)可以映射兩個(gè)物理地址,因此,最多需要存儲(chǔ)96 K 6個(gè)頁表項(xiàng),每個(gè)頁表項(xiàng)占用4 B空間,最多需要384 KB的地址空間用于存儲(chǔ)頁表,如果能有效避開程序中的空洞映射,存儲(chǔ)頁表所需的空間還會(huì)大大減少。16 K頁表比4 K頁表能容納更多的內(nèi)容,因此,可以減少換頁的次數(shù),從而減少時(shí)間開銷[3]。采用這種方式,既減少了換頁時(shí)訪存次數(shù)帶來的時(shí)間開銷,又可以避免TLB二次充填問題,因此,是一種合理的設(shè)計(jì)方案。

      3.2 基于MMU的內(nèi)存管理

      需要MMU進(jìn)行管理的地址空間只能位于kseg2或kuseg區(qū)域,只有合法的地址空間才允許進(jìn)行頁面操作。對頁面的操作主要有以下6種情況:(1)創(chuàng)建頁映射;(2)刪除頁映射;(3)獲取頁屬性;(4)設(shè)置頁屬性;(5)使能cache屬性;(6)禁止cache屬性。除了創(chuàng)建頁映射外,其他幾種操作僅當(dāng)頁面存在時(shí)才有效。頁屬性與上文中的描述一致,對cache屬性的操作也屬于設(shè)置頁屬性的范疇。對頁面cache的設(shè)置是用戶比較關(guān)心的操作,因此,將其單獨(dú)提取出來?;贛MU的內(nèi)存管理流程如圖3所示。

      圖3 基于MMU的內(nèi)存管理流程

      3.3 嵌入式操作系統(tǒng)中的地址映射與虛實(shí)地址轉(zhuǎn)換

      在嵌入式操作系統(tǒng)中MIPS處理器的地址映射中,kseg0區(qū)域和kseg1區(qū)域直接映射到低端物理地址,kseg2和kuseg區(qū)域可以映射到任意空間。以LS2H處理器地址映射為例,kseg0空間和kseg1空間都映射到0x0地址空間,其他地址空間的映射關(guān)系如圖4所示[4]。以0地址開始的第一個(gè)頁面不做映射,可以避免用戶使用空指針帶來的問題。

      圖4 一種MIPS處理器的地址映射關(guān)系

      針對上述地址映射關(guān)系,在虛擬地址和實(shí)地址進(jìn)行轉(zhuǎn)換時(shí),不同區(qū)域區(qū)別對待,其中,kuseg區(qū)域被分為3個(gè)部分,分別為kuseg0,kuseg1和kuseg2,具體轉(zhuǎn)換方法如表1所示。

      表1 虛實(shí)地址轉(zhuǎn)換

      4 內(nèi)存拷貝速率測試結(jié)果

      本研究設(shè)計(jì)并實(shí)現(xiàn)了一種在嵌入式操作系統(tǒng)中基于MIPS處理器的存管理方法,在LS2H開發(fā)平臺完成了測試。經(jīng)測試驗(yàn)證,內(nèi)存管理部分的功能基本正確。對各區(qū)域的內(nèi)存拷貝速率進(jìn)行了測量,如圖5所示,使用MMU的區(qū)域存儲(chǔ)訪問速度和非映射cache區(qū)域的訪問速率基本相當(dāng),表明MMU的功能正確且性能符合系統(tǒng)需求。kseg1區(qū)域的訪問速度遠(yuǎn)小于其他區(qū)域,是因?yàn)樵搮^(qū)域空間的訪問是不經(jīng)過cache的。

      圖5 內(nèi)存拷貝速率測試結(jié)果

      猜你喜歡
      頁表嵌入式操作系統(tǒng)內(nèi)存
      更正
      中國糖料(2022年4期)2022-03-15 22:37:37
      作者更正
      勘 誤
      “春夏秋冬”的內(nèi)存
      更正
      典型實(shí)時(shí)嵌入式操作系統(tǒng)應(yīng)用分析
      電子測試(2018年23期)2018-12-29 11:11:30
      基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計(jì)
      應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索
      基于內(nèi)存的地理信息訪問技術(shù)
      計(jì)算機(jī)嵌入式操作系統(tǒng)研究
      南宁市| 博罗县| 怀仁县| 新津县| 屏边| 中超| 宝清县| 讷河市| 旬阳县| 忻州市| 和顺县| 德格县| 德惠市| 韶关市| 松滋市| 湾仔区| 寿宁县| 博罗县| 安仁县| 罗甸县| 灌阳县| 平乐县| 岳西县| 滕州市| 许昌市| 澄江县| 布尔津县| 仙桃市| 屏东市| 九龙县| 普安县| 肇州县| 大悟县| 怀安县| 徐州市| 三亚市| 金坛市| 房产| 兴安县| 贺兰县| 罗山县|