亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ARM+DSP系統(tǒng)MMU在射頻一致性測(cè)試儀表的實(shí)現(xiàn)

        2014-06-01 09:19:30陳發(fā)堂郭麗強(qiáng)
        自動(dòng)化儀表 2014年1期
        關(guān)鍵詞:指令系統(tǒng)

        陳發(fā)堂 郭麗強(qiáng)

        (重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)

        0 引言

        隨著計(jì)算技術(shù)的高速發(fā)展,虛擬化在存儲(chǔ)系統(tǒng)中扮演著日益重要的角色。目前,越來越多的處理器集成了內(nèi)存管理單元(memory management unit,MMU),用于為虛擬化提供支持[1]。以ARM處理器流水結(jié)構(gòu)和DSP處理器強(qiáng)大的數(shù)據(jù)處理能力相結(jié)合的非對(duì)稱雙核架構(gòu)[2],既能保持算法的靈活性,又能提供強(qiáng)大的處理能力。ARM負(fù)責(zé)外圍接口及外圍存儲(chǔ)設(shè)備和子處理器(DSP)的配置和控制,DSP則負(fù)責(zé)算法加速。DSP的算法代碼作為ARM端OS文件系統(tǒng)的一個(gè)文件存在,通過應(yīng)用程序進(jìn)行DSP程序的下載和DSP芯片的控制[3]。

        以往的文獻(xiàn)大多只介紹傳統(tǒng)單核MMU的應(yīng)用和研究,相關(guān)成熟的研究成果不再詳述,本文重點(diǎn)介紹雙核系統(tǒng)MMU及其在具體環(huán)境中與不同技術(shù)方案的對(duì)比分析。

        1 射頻一致性測(cè)試儀表簡(jiǎn)介

        TD-LTE射頻一致性測(cè)試儀表主要是針對(duì)LTE終端和網(wǎng)絡(luò)端的射頻測(cè)試,通過硬件方面的射頻開關(guān)設(shè)備和軟件方面的完整測(cè)試軟件,實(shí)現(xiàn)TD-LTE和TDSCDMA互操作條件下的射頻測(cè)試功能。射頻一致性測(cè)試儀表硬件平臺(tái)整體架構(gòu)如圖1所示。圖1中,C6A8168為ARM+DSP雙核架構(gòu),其中 ARM負(fù)責(zé)MAC層之上的協(xié)議棧代碼的處理,DSP部分處理完成MAC層和L1C調(diào)度的處理等。FPGA芯片則負(fù)責(zé)完成層算法的硬件加速、基帶數(shù)據(jù)借口控制等。各芯片之間通過外圍接口進(jìn)行數(shù)據(jù)交互。各射頻測(cè)功能模塊與FPGA芯片相連。

        本雙核系統(tǒng)中,ARM為主處理器,DSP為輔處理器,主處理器負(fù)責(zé)輔處理器的電源域控制、復(fù)位控制以及入口點(diǎn)的設(shè)置等。雙核系統(tǒng)通過各自MMU,實(shí)現(xiàn)虛擬地址和物理地址間的映射,以便對(duì)存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)交互,處理器間通過郵箱中斷或硬件自旋鎖實(shí)現(xiàn)通信。兩個(gè)處理器采用了不同的MMU,以管理各自的存儲(chǔ)系統(tǒng),實(shí)現(xiàn)虛擬地址和物理地址間的轉(zhuǎn)換和讀寫訪問。由系統(tǒng)MMU結(jié)構(gòu)圖可知,在對(duì)存儲(chǔ)設(shè)備(包括外存和內(nèi)存)進(jìn)行訪問時(shí),各處理器通過對(duì)應(yīng)的MMU系統(tǒng)互連總線進(jìn)行數(shù)據(jù)的交互,MMU經(jīng)過地址間的翻譯后由系統(tǒng)互連總線實(shí)現(xiàn)進(jìn)程或CPU對(duì)存儲(chǔ)設(shè)備的數(shù)據(jù)交互。

        圖1 系統(tǒng)整體架構(gòu)圖Fig.1 Overall system architecture

        2 ARM端MMU

        ARM端引入了存儲(chǔ)管理單元。MMU主要是在L1和L2內(nèi)存系統(tǒng)范圍內(nèi)進(jìn)行虛擬地址到物理地址間的轉(zhuǎn)換和外存的屬性、訪問權(quán)限控制等,其中MMU通過一系列的虛擬物理地址的映射和旁路轉(zhuǎn)換緩沖(translation lookaside buffer,TLB)[4-5],提供一個(gè)精確的內(nèi)存訪問控制機(jī)制。ARM與DSP的MMU總體架構(gòu)如圖2所示。

        圖2 雙核系統(tǒng)MMU架構(gòu)Fig.2 Architecture of dual core MMU system

        2.1 MMU在內(nèi)存訪問中的作用

        在非安全模式下,ARM端存儲(chǔ)系統(tǒng)分為三級(jí),分別為 PL0、PL1、PL2,MMU 則負(fù)責(zé)完成所有相對(duì)應(yīng)的三級(jí)存儲(chǔ)系統(tǒng)的控制。每個(gè)級(jí)別對(duì)應(yīng)的存儲(chǔ)系統(tǒng)控制是由不同的抽象MMU提供的,各個(gè)MMU提供獨(dú)立的不同的控制。但是在安全模式下,只有一個(gè)存儲(chǔ)系統(tǒng)控制的級(jí)別,出于TD-LTE系統(tǒng)的需求,各級(jí)存儲(chǔ)系統(tǒng)需要在安全狀態(tài)模式下行使虛擬地址和物理地址之間的轉(zhuǎn)換與訪問權(quán)限的控制。

        MMU中頁表遍歷硬件系統(tǒng)是在翻譯表中查詢所需地址變換條目的過程,查詢開始的級(jí)別是根據(jù)系統(tǒng)所采用的翻譯表格式的不同而定的。當(dāng)系統(tǒng)采用短地址描述符翻譯表格式時(shí),從第一級(jí)開始查詢,否則從第一級(jí)或第二級(jí)開始。此次查詢由硬件自動(dòng)完成,這會(huì)消耗很大一部分時(shí)間;同時(shí),為了獲得更好的虛擬地址到物理地址間的映射,一個(gè)地址轉(zhuǎn)換就需要對(duì)翻譯表進(jìn)行多次訪問,從而影響了MMU的工作效能。為了解決這個(gè)問題,需要采用TLB機(jī)制。

        2.2 地址變換過程

        基于TD-LTE系統(tǒng)的需求和雙核系統(tǒng)ARM處理器MMU的特點(diǎn),在介紹地址變換過程前,需要事先說明翻譯表基地址較以往的不同點(diǎn)。翻譯表基地址用于存放翻譯表在存儲(chǔ)設(shè)備中的地址,傳統(tǒng)地址翻譯表只有一個(gè),本文不再詳細(xì)介紹。本系統(tǒng)中有兩個(gè)基地址,在非安全模式下第三級(jí)存儲(chǔ)翻譯系統(tǒng)中只有一個(gè)基地址,在第一級(jí)和第二級(jí)存儲(chǔ)系統(tǒng)的第二翻譯段也是一個(gè)翻譯地址。在安全和非安全模式下第一、二級(jí)存儲(chǔ)系統(tǒng)的第一段翻譯中有兩個(gè)翻譯表基地址(也可以使用一個(gè)),第一個(gè)地址存放的基地址是對(duì)應(yīng)于整個(gè)地址空間的前半部分,第二個(gè)地址存放的值是相對(duì)應(yīng)的地址空間的后半部分。以一個(gè)以大頁為單位的地址翻譯過程為例,詳細(xì)分析具體的地址翻譯過程。

        2.2.1 一級(jí)頁表地址變換過程

        MMU所實(shí)現(xiàn)的一級(jí)地址變換過程如圖3所示。協(xié)處理器CP15中C2寄存器存放變換頁表的基地址,該虛擬地址被分為二級(jí)三部分:第一級(jí)頁表索引,第二級(jí)頁表索引和大頁頁表索引。在第一級(jí)頁表翻譯時(shí),CP15的寄存器C2的位[31∶14]與第一級(jí)頁表索引結(jié)合為第一級(jí)翻譯頁表址的高30位和低兩位數(shù)據(jù)位00,由于本頁表是以大頁為單位的地址變換,所以從該條目地址中可得到一個(gè)指向二級(jí)頁表的指針[5]。

        圖3 地址翻譯過程Fig.3 Address translation process

        2.2.2 二級(jí)頁表地址變換過程

        二級(jí)頁表地址變換過程與一級(jí)過程基本相似,如圖3所示,不同的是輸出的地址描述符中高16位數(shù)據(jù)與虛擬地址中的頁表索引結(jié)合形成所需的地址[5],即物理地址。

        圖3中地址描述符中的屬性控制著被映射存儲(chǔ)區(qū)的內(nèi)存屬性(例如是否被ARM和DSP共享,是否屬于安全模式等)和訪問權(quán)限。MMU做完映射后的存儲(chǔ)區(qū)域在被ARM處理器或DSP處理器訪問時(shí)是否需要進(jìn)行權(quán)限檢查是根據(jù)ARM協(xié)處理器中的域控制器和地址描述符中相應(yīng)的域控制位而定的,而相對(duì)儲(chǔ)存區(qū)的訪問權(quán)限則由該地址描述符中AP[2∶0]決定。雙核系統(tǒng)MMU中的多位地址描述符用來配置對(duì)應(yīng)的存儲(chǔ)器能否為雙核所共享,不同于傳統(tǒng)單核處理器MMU。

        本雙核系統(tǒng)內(nèi)置了ICaches(指令Cache)、DCaches(數(shù)據(jù)Cache)和Write buffer(寫高速緩存),操作時(shí)需要用到描述符中的C位和B位。ICaches一般在MMU開啟后使用,此時(shí)描述符的C位用來表示一段內(nèi)存是否可以被Cache。ICaches開啟后,CPU每次取指時(shí)都會(huì)先在ICaches中查看是否能找到所用指令,而不管C是0還是1。如果找到所用指令,則稱為Cache命中,找不到則稱為Cache丟失。ICaches被開啟后,CPU取指有如下三種情況:Cache命中且C為1時(shí),從ICaches中取指,返回CPU;Cache丟失且C為1時(shí),CPU從主存中取指,并且把指令高速緩存到Cache中;C為0時(shí),CPU從主存中取指。對(duì)于DCaches,與ICaches相似,Write buffer中的內(nèi)容也是被廢棄不用的。往C位(CP15協(xié)處理器中寄存器1的第二位)寫1,啟動(dòng)DCaches;寫 0,停止 DCaches。Write buffer和 DCaches緊密結(jié)合,沒有專門的控制來開啟和停止它。與ICaches不同,DCaches功能必須在MMU開啟之后才能被使用。DCaches被開啟后,CPU每次讀寫數(shù)據(jù)時(shí)都會(huì)事先在DCaches中查看是否能找到所要的數(shù)據(jù),不管C是0還是1。如果找到了所需數(shù)據(jù),則稱為Cache命中,找不到則稱為Cache丟失。

        2.3 高速緩存的清除和使無效

        MMU中所使用的高速緩存包括原理和目的都是和傳統(tǒng)的高速緩存類似的,理論上也可以不用高速緩存,但是TD-LTE系統(tǒng)對(duì)數(shù)據(jù)處理的速度要求較高。考慮到開啟了MMU后虛擬地址到物理地址之間的轉(zhuǎn)換時(shí)需要多次訪問內(nèi)存,大大降低了CPU的性能,所以應(yīng)該開通高速緩存,但是開通后雙核系統(tǒng)需要對(duì)緩存進(jìn)行各種處理,這就需要花費(fèi)時(shí)間。因此,在MMU功能實(shí)現(xiàn)中有以下兩個(gè)方案可選。

        第一個(gè)方案:不開通高速緩存,這樣無論指令和數(shù)據(jù)的讀取都要訪問內(nèi)存,雙核處理器的強(qiáng)大數(shù)據(jù)處理和控制性能得不到發(fā)揮,但是可以節(jié)省對(duì)緩存的各種處理時(shí)間。

        第二個(gè)方案:開通高速緩存。開通高速緩存功能后,系統(tǒng)需要花費(fèi)時(shí)間去做相應(yīng)的處理,如清除和使無效以及緩存錯(cuò)誤處理等。由示波器觀察所需時(shí)間可知,開啟緩存后,數(shù)據(jù)讀寫的速度成倍提升。所以在TD-LTE系統(tǒng)中選擇第二個(gè)方案。

        使能緩存前需要通過清除和使無效兩個(gè)操作保證高速緩存中內(nèi)容和主存中內(nèi)容的一致性,否則高速緩存的內(nèi)容就是之前的舊數(shù)據(jù)。清除是指把已經(jīng)寫入高速緩存中的而未寫入主存的數(shù)據(jù)寫入主存;使無效是指高速緩存停止其功能。傳統(tǒng)嵌入式處理器的MMU關(guān)于高速緩存的清除和使無效是通過簡(jiǎn)單ARM協(xié)處理器指令完成的,例如:

        僅此一條指令便可以把數(shù)據(jù)緩存和指令緩存全部清除和使無效,但是由于TD-LTE系統(tǒng)要求具有ARM+DSP雙核系統(tǒng),這就使得高速緩存的清除和使無效機(jī)制變得很復(fù)雜。

        清除和使無效機(jī)制有兩種,一是由虛擬地址實(shí)現(xiàn),二是由Cache Line和Cache Way實(shí)現(xiàn)。由于第一種實(shí)現(xiàn)方式的效率不符合TD-LTE系統(tǒng)需求,所以本系統(tǒng)采用第二種方式。但是該方式需要對(duì)高速緩存的具體結(jié)構(gòu)有清晰的了解。高速緩存中的基本存儲(chǔ)單位是Cache Line,所有不同序號(hào)的Cache Line組成高速緩存中的Cache Way,所有不同 Cache Way的相同 Cache Line組成Cache Set。先以Cache Way為第一層循環(huán),再以Cache Set中的Cache Line為基本單位進(jìn)行清除和使無效操作。雙重循環(huán)之后,系統(tǒng)中大小為32 kB的高速緩存便可被清除和使無效,這一點(diǎn)是與ARM核處理器所屬的架構(gòu)相關(guān)的。

        3 DSP處理器MMU

        當(dāng)雙核系統(tǒng)啟動(dòng)時(shí),系統(tǒng)在對(duì)ARM和DSP進(jìn)行最簡(jiǎn)單的初始化后,ARM作為主處理器先啟動(dòng),DSP此時(shí)被禁止而進(jìn)入到復(fù)位模式。ARM啟動(dòng)完成后配置DSP處理器退出復(fù)位狀態(tài),待DSP初始化完成后DSP端MMU才算進(jìn)入到可以使能的環(huán)境。

        DSP端處理器MMU的功能和功能原理與ARM端MMU基本相似,但是在功能和控制的方式上有很大區(qū)別。在控制方面,ARM中MMU主要是通過ARM系統(tǒng)協(xié)處理器配合完成對(duì)MMU的使能等控制;在功能方面,翻譯表和頁表遍歷硬件系統(tǒng)都可以選擇使能與否,DSP端MMU翻譯表中地址描述符必須要定義相對(duì)應(yīng)存儲(chǔ)區(qū)的存儲(chǔ)格式(大小端)的選擇與配置(大小端可以配置為基于存儲(chǔ)器的大小端或基于訪問端的大小端);在訪問大小上,DSP端MMU可選擇8位、16位和32位。

        DSP端MMU在第一級(jí)描述符和第二級(jí)描述符中都要定義相對(duì)應(yīng)存儲(chǔ)區(qū)的大小段選擇、訪問大小等。不同于ARM端的MMU,DSP端MMU有兩個(gè)時(shí)鐘域。這兩個(gè)時(shí)鐘域分別負(fù)責(zé)系統(tǒng)互連總線的數(shù)據(jù)訪問及訪問控制。一個(gè)輸入時(shí)鐘通過兩個(gè)時(shí)鐘使能信號(hào)控制兩個(gè)時(shí)鐘域的開啟與否。

        4 測(cè)試結(jié)果與分析

        以上介紹了雙核MMU的不同點(diǎn),其需要注意的地方也很多,例如在頁表、緩存等都配置好后,使能MMU時(shí)必須注意使能MMU指令的虛擬地址要和其物理地址一樣,否則系統(tǒng)會(huì)報(bào)錯(cuò)。因?yàn)榧僭O(shè)使能MMU的指令物理地址為Addr_ph,根據(jù)映射關(guān)系它的虛擬地址為Addr_vr,沒有啟動(dòng)MMU時(shí)CPU發(fā)出的地址都是物理地址,CPU會(huì)在地址Addr_ph取出使能MMU的指令,執(zhí)行后再發(fā)出的指令地址便為虛擬地址。由于處理器的流水線結(jié)構(gòu),故下一次應(yīng)該從地址(虛擬)Addr_vr+4處取得,但是此時(shí)PC寄存器存放的原Addr_ph+4并沒有改變,即CPU所執(zhí)行的指令的地址仍為Addr_ph+4,但是此時(shí)Addr_ph+4已經(jīng)成為非法地址。使能MMU時(shí)PC跳轉(zhuǎn)示意圖如圖4所示。

        圖4 使能MMU時(shí)PC跳轉(zhuǎn)示意圖Fig.4 Soft reset of PC when the MMU is enabled

        圖4中,“→”右側(cè)為使能MMU指令的下一條指令取址的跳轉(zhuǎn)情況。由于處理器的流水線結(jié)構(gòu),PC寄存器應(yīng)該按照箭頭所示取指令,但此時(shí)PC已經(jīng)存放了Addr_ph+4,且該地址在使能MMU后為非法地址。為了防止類似問題出現(xiàn),需要保證使能MMU的指令及其附近指令的虛擬地址和物理地址必須相同,即等價(jià)映射[6-7]。

        以上MMU設(shè)計(jì)已通過代碼實(shí)現(xiàn),在負(fù)責(zé)實(shí)現(xiàn)TDLTE射頻一致性測(cè)試儀表啟動(dòng)代碼重映射時(shí),把系統(tǒng)0地址映射為RAM中存放啟動(dòng)代碼的位置,以便系統(tǒng)順利啟動(dòng)。啟動(dòng)完成后通過雙核芯片外圍接口GPIO接收中斷,中斷順利跳轉(zhuǎn)到經(jīng)過MMU映射的中斷向量表,再配置可提高系統(tǒng)內(nèi)存效率的功能,MMU的實(shí)現(xiàn)達(dá)到了LTE測(cè)試儀要求。

        5 結(jié)束語

        在嵌入式系統(tǒng)中,MMU是提高整體性能不可或缺的一部分[7],在ARM+DSP雙核系統(tǒng)中也起著相同的作用。針對(duì)TD-LTE系統(tǒng)的需求,本文在考慮了硬件和軟件兩方面特征后,設(shè)計(jì)并實(shí)現(xiàn)了雙核MMU。這兩種MMU在雙核非對(duì)稱架構(gòu)系統(tǒng)的內(nèi)存管理中有較高的參考價(jià)值。以上啟動(dòng)過程已經(jīng)實(shí)現(xiàn)為程序代碼,并在Code Composer Studio 5.2中順利經(jīng)過編譯調(diào)試和測(cè)試板驗(yàn)證,所得結(jié)果均與理論值一致。雙核系統(tǒng)在保證具有較強(qiáng)的穩(wěn)定性前提下,滿足了國(guó)家重大科技專項(xiàng)“TD-LTE射頻一致性測(cè)試儀表”對(duì)包括硬件和軟件在內(nèi)的系統(tǒng)需求并得到了應(yīng)用。

        [1]王華斌,夏清泉,李希然.內(nèi)存管理單元MMU虛擬化代價(jià)研究[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào),2012(28):67-70.

        [2]蔣建春,曾索華,岑明.一種基于異構(gòu)雙處理器嵌入式操作系統(tǒng)架構(gòu)[J].計(jì)算機(jī)應(yīng)用,2008,28(10):2686 -2689.

        [3]基于 ARM+DSP進(jìn)行應(yīng)用開發(fā)[EB/OL].[2011-07-16].http://www.cnblogs.com/just4fun/archive/2011/07/16/2108223.html.

        [4]王慶民,劉福巖.ARM MMU虛擬地址轉(zhuǎn)換研究[J].機(jī)械工程與自動(dòng)化,2007(1):44 -46.

        [5]Lee J H H,Park S B B,Shin D D.A selective filter-bank TLB system embedded processor MMU for low power[C]∥Low Power Electronic and Design,Processor of the 2003 International Symposium on Digital Object Identifier,2003:312 -317.

        [6]杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003:179-180.

        [7]Lee Y H,Jeong W,Ahn S.Shared tag for MMU and cache memory[C]∥Semiconductor Conference,1997.

        猜你喜歡
        指令系統(tǒng)
        聽我指令:大催眠術(shù)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        殺毒軟件中指令虛擬機(jī)的脆弱性分析
        亚洲发给我的在线视频| 久久99人妖视频国产| 亚洲性日韩一区二区三区| 人成在线免费视频网站| 日本伊人精品一区二区三区| 久久久久国产综合av天堂| 男人扒开添女人下部免费视频| 夜鲁很鲁在线视频| 久久夜色撩人精品国产小说| 国产亚洲第一精品| 亚洲乱码中文字幕综合69堂| 男女深夜视频网站入口| 男女av一区二区三区| 久久不见久久见免费影院国语| 亚洲高潮喷水无码av电影| 98色花堂国产精品首页| 国产成人综合日韩精品无| 亚洲av一二三四又爽又色又色| 亚洲中文字幕乱码一二三| 久久国产精品一国产精品金尊| 人妻有码中文字幕| 大地资源网更新免费播放视频| 久久亚洲国产欧洲精品一| 蜜桃av一区二区三区| 91精品国产综合久久久密臀九色| 成人在线免费电影| 国产精品久久国产精品99| 玩两个丰满老熟女| 国产一区二区三区爆白浆| 丰满少妇人妻无码专区| 国产最新一区二区三区| 在线你懂| 成人综合亚洲欧美一区h| 亚洲天堂av大片暖暖| 在线观看免费不卡网站| 香蕉视频在线观看亚洲| 在线观看成人无码中文av天堂| 高清偷自拍第1页| 成人伊人亚洲人综合网站222| 亚洲精品国产不卡在线观看| 国产精品午夜高潮呻吟久久av|