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

        ?

        基于BWDSP指令Cache的PLRU替換算法研究

        2013-08-13 08:13:34洪興勇
        電子技術(shù)應(yīng)用 2013年1期
        關(guān)鍵詞:執(zhí)行程序存儲空間命中率

        洪興勇 ,洪 一 ,2

        (1.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009;2.中國電子科技集團(tuán)第38研究所,安徽 合肥 230031)

        自1978年以來,我國的集成電路用量和產(chǎn)量幾乎以平均每年20%的速度同步增長,集成電路生產(chǎn)中心也在向中國大陸轉(zhuǎn)移,使我國IC產(chǎn)業(yè)迅速發(fā)展。目前IC制造工藝水平已達(dá)到28 nm,為設(shè)計(jì)高性能DSP系統(tǒng)打下了牢固的基礎(chǔ)。DSP處理器速度與存儲器速度之間的差異是DSP體系結(jié)構(gòu)設(shè)計(jì)的一個瓶頸問題,在DSP處理器的存儲層次中,Cache是離處理器內(nèi)核最近的一層存儲器,而Cache技術(shù)是有效解決DSP處理器的存儲層問題的重要技術(shù)[1]。可以依據(jù)Cache的速度和命中率來配置Cache的參數(shù),使Cache的性能達(dá)到最佳[2]。

        1 BWDSP處理器總體結(jié)構(gòu)

        BWDSP處理器是中國電子集團(tuán)第38研究所自主研制的一款32 bit靜態(tài)超標(biāo)量處理器,采用8發(fā)射、11級流水線、SIMD架構(gòu)。處理器指令總線寬度為512 bit,數(shù)據(jù)總線位寬為256 bit;指令存儲空間和數(shù)據(jù)存儲空間在物理上是分開的,指令存儲空間大小為2 MB,指令Cache空間為512 KB,數(shù)據(jù)存儲空間為8 MB;取指程序計(jì)數(shù)器每變化一次,從指令Cache中取出8條指令為一個256 bit指令包進(jìn)入指令流水線。BWDSP處理器的執(zhí)行部件包含在4 個執(zhí)行宏中,分別為 macro x、macro y、macro z、macro t。指令譯碼單元解析從指令包中得到的并行指令,并決定指令在那些執(zhí)行宏中運(yùn)行,進(jìn)而為指令分配對應(yīng)執(zhí)行宏中的執(zhí)行資源,并且把指令翻譯為微操作,發(fā)射到4個執(zhí)行宏。高性能DSP處理器總體結(jié)構(gòu)如圖1所示。

        在高性能DSP處理器上對指令進(jìn)行重復(fù)訪問時,指令Cache的失效次數(shù)與指令空間大小的關(guān)系:首先計(jì)算第一次重復(fù)訪問時的失效次數(shù)。設(shè)程序指令大小為M,即M0=M/512個Cache行。當(dāng)M≤512 KB時,程序被訪問后,指令Cache每一組內(nèi)至多包含一個Cache行的有效指令數(shù)據(jù),不會因?yàn)闆_突失效而發(fā)生替換,所以再次執(zhí)行程序時,不會使指令Cache發(fā)生失效;當(dāng)M在512 KB~1 024 KB時,訪問完一遍之后,前 512個 Cache行的數(shù)據(jù)會填充每組內(nèi)的一個Cache行,而超過512個Cache行的部分,每個Cache行的指令數(shù)據(jù)有1/4的概率替換掉有效數(shù)據(jù),因此,被替換出去的Cache行數(shù)約為(M0-512)/4,即重復(fù)訪問的失效概率約為(M0-512)/4 M;對于M在 1 024 KB~1 536 KB、1 536 KB~2 048 KB、2 048 KB~∞的情況時,可用同樣的方法分析得到訪問一遍之后被替換出去的Cache行數(shù)目。

        由上述可知,當(dāng)執(zhí)行程序指令空間小于512 KB(即M0<512 KB)時,所有 Cache行都不會被替換掉;而當(dāng)執(zhí)行程序指令空間大于512 KB時,被替換出去Cache行數(shù)呈線性增長,并且不同區(qū)間內(nèi)增長的斜率依次變大。因此,當(dāng)執(zhí)行程序指令空間大于指令Cache大小時,指令Cache行被替換出去的概率與指令Cache的替換算法有關(guān)。

        指令 Cache參數(shù)包括:Cache容量大小、Cache塊大小、組相聯(lián)度和替換策略。在某種程度上,可通過優(yōu)化Cache參數(shù)提高Cache的性能,但當(dāng)Cache容量增加到某一程度時,Cache命中率將迅速降低[3]。指令Cache替換算法是影響指令Cache性能的主要因素,目前常見的指令Cache替換算法有Random、FIFO、LRU、LFU、MRU、SCK-4[4],此外還有比較新穎的LNC算法。FIFIO和Random算法硬件實(shí)現(xiàn)簡單,但其性能不佳;而常用的LRU算法性能最佳,但是硬件實(shí)現(xiàn)過于復(fù)雜,同時該算法占用時間較多。因此,LRU替換算法不是指令Cache最佳的替換算法[5]。預(yù)取技術(shù)是利用空間局部性,若利用預(yù)取技術(shù)來克服LRU算法,其缺點(diǎn)將導(dǎo)致缺失不斷增加[6]。而采用PLRU算法對LRU算法進(jìn)行改進(jìn),幾乎不會影響Cache的缺失率,并且簡化了硬件實(shí)現(xiàn)代價及復(fù)雜度[7]。

        2 PLRU替換算法

        LRU(Least Recently Used)替換算法是基于程序時間局部性原理(即現(xiàn)在使用指令代碼在不久時間里將再次訪問該條指令代碼),每次替換最近最少被使用的Cache塊。LRU替換算法是組相聯(lián)Cache中最常用的替換算法之一(即比較Cache組內(nèi)指令行中哪個指令行時間最長沒有被訪問過則被替換出去),而且每次都要記錄每個指令塊的使用情況。Cache是N組相聯(lián)映射,需要log2N位來描述LRU替換算法中組內(nèi)每塊的使用狀態(tài)[8]。嚴(yán)格意義上的LRU算法實(shí)現(xiàn)代價很大,因此考慮到硬件開銷,通常使用偽LRU替換算法,即PLRU(Pseudo-LRU)算法。PLRU算法與LRU算法相近,但簡化了數(shù)據(jù)預(yù)測的過程[9]。 PLRU 通過使用 MRU(Most Recently Used)位,使組中每個Cache塊都有自己的MRU位。4-way組相聯(lián)指令Cache的PLRU替換算法示意圖如圖2所示。

        4-way組相聯(lián)Cache 由 Data Array、Tag Array、LRU Array三部分組成,其中,LRU Array的入口數(shù)目與Tag Array的入口數(shù)目一致,每個LRU Array入口包含一個8 bit的 LRU矢量“l(fā)ru[0:7]。 “l(fā)ru[0:1]表示 way0的狀態(tài)(b00表示way0是最近最少使用,b01表示way0是最近第2少使用,b10表示way0是最近第3少使用,b11表示way0是最近經(jīng)常使用);lru[2:3]表示way1的狀態(tài);lru[4:5]表示way2的狀態(tài);lru[6:7]表示way3的狀態(tài)。其lru[0:7]結(jié)構(gòu)圖如圖3所示。

        PLRU替換算法的步驟如下:

        (1)上電復(fù)位時,將LRU Array所有入口值設(shè)置為8’b11100100,即 lru[0:7]=11100100。4路中最近經(jīng)常使用情況為 way0>way1>way2>way3。

        (2)如果命中Cache,則按照下述算法更新8 bit的矢量(lru[0:7])值。

        在BWDSP指令Cache采用4-way組相聯(lián)的Cache中,Cache命中可能在4路中的某一路命中,當(dāng)某一路命中時則要更新lru[0:7]的值。有如下4種情況:

        ①若命中 Cache的 way0,則根據(jù) lru[0:1]值為 b00、b01、b10、b11 4 種情況更新 lru[0:7]的值:

        ②若命中 Cache的 way1,則根據(jù) lru[2:3]值為 b00、b01、b10、b11 4 種情況更新 lru[0:7]的值:

        ③若命中Cache的way2,則根據(jù) lru[4:5]值為b00、b01、b10、b11 4 種情況更新 lru[0:7]的值:

        ④若命中 Cache的 way3,則根據(jù) lru[6:7]值為 b00、b01、b10、b11 4 種情況更新 lru[0:7]的值:

        (3)如果Cache缺失,則按照下述替換算法替換 Cache的數(shù)據(jù)塊,并更新對應(yīng)的lru[0:7]的值。

        3 仿真與實(shí)驗(yàn)結(jié)果

        BWDSP模擬器包含了編譯器、BWDSP指令集、匯編器,能夠編譯用高級語言(C語言)編寫的雷達(dá)信號處理的程序代碼和產(chǎn)生基于BWDSP體系結(jié)構(gòu)的目標(biāo)代碼。BWDSP模擬器的主頻為 1 MHz、11級流水線,其內(nèi)核發(fā)射的寬度為8條指令,指令存儲器為 1 Mb,指令 Cache大小為256 Kb,4路組相聯(lián)映射,數(shù)據(jù)存儲器為2 Mb。用4個典型雷達(dá)信號處理程序xd_lib_test2_1_Cache.out、xd_lib_test2_1_part_cache.out、xd_lib_test2_1_Cache.out、dsp.out在BWDSP模擬器驗(yàn)證平臺上對本文提出的PLRU替換算法進(jìn)行仿真實(shí)驗(yàn),并與直接映射、FIFO、RLU、Random替換算法進(jìn)行對比,從指令Cache的訪問次數(shù)、命中次數(shù)、缺失次數(shù)和命中率來統(tǒng)計(jì)指令Cache的性能,其仿真結(jié)果如表1所示。

        表1 指令Cache的仿真結(jié)果

        表1的仿真結(jié)果表明,本文提出的PLRU替換算法其命中率高于其他三種替換算法,且實(shí)現(xiàn)PLRU替換算法的硬件代價相對于LRU替換算法要低。通過驗(yàn)證,高性能BWDSP處理器其整體性能都高于其他三種方法的1.12倍。

        高性能DSP處理器是未來DSP發(fā)展趨勢,高速緩存器的多層次存儲器體系結(jié)構(gòu)是提高數(shù)字信號處理器系統(tǒng)性能的重要方法。本文在32 bit BWDSP基礎(chǔ)上提出了基于PLRU替換算法的512 bit指令包的指令Cache研究,通過實(shí)驗(yàn)仿真,指令Cache的PLRU替換算法在指令Cache的命中率比 FIFO、RLU、Random替換算法都要高出約5.0%。

        [1]PEREZ W J H,SANCHEZ E,REORDA M S.Functional test generation for the PLRU replacement mechanism of embedded Cache memories[C].Test Workshop(LATW),2011 12thLatin American,27-30 March 2011.

        [2]TAWADA M,YANAGISAWA M,OHTSUKI T,et al.Exact and fast L1 Cache configuration simulation for embedded systems with FIFO/PLRU Cache replacement policies[C].VLSI Desgin,Automation and Test(VLSI-DAT),International Symposium,2011:1-4.

        [3]KLEEN A,STIENBERG E,ANSCHEL M,et al.An improved instruction Cache replacement algorithm[C].Signal Processing Systems Design and Implementation,2-4 Nov.2005:573-578.

        [4]田小波,陳蜀宇.基于最小效用的流媒體緩存替換算法[J].計(jì)算機(jī)應(yīng)用,2007,27(3):733-736.

        [5]KLEEN A,STIENBERG E,ANSCHEL M,et al.An improved instruction Cache replacement algorithm[C].Signal Processing Systems Design and Implementation,2-4 Nov.2005:573-578.

        [6]ZUCKER D F,LEE R B,F(xiàn)LYNN M J.Hardware and software Cache prefetching techniques for MPEG benchmarks[J].IEEE Transactions on Circuitsand Systems for Video Technology,2000,10(5):782-796.

        [7]江喜平,高德遠(yuǎn).CISC中混合Cache的優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2006(10):109-111.

        [8]Zhang Xi,Li Chongmin,Wang Haixia.A Cache replacement policy using adaptive insertion and re-reference prediction[C].Computer Architecture and High Performance Computing.oct.2010:95-102.

        [9]MOLMEN S,MOHSEN S,HOSSEIN R M.Performance evaluation of Cache memory organizations in embedded systems[C].Information Technology,2007:1045-1050.

        猜你喜歡
        執(zhí)行程序存儲空間命中率
        基于多種群協(xié)同進(jìn)化算法的數(shù)據(jù)并行聚類算法
        蘋果訂閱捆綁服務(wù)Apple One正式上線
        執(zhí)行程序中的法律問題與律師的作用
        法制博覽(2019年27期)2019-12-13 23:37:40
        用好Windows 10保留的存儲空間
        夜夜“奮戰(zhàn)”會提高“命中率”嗎
        2015男籃亞錦賽四強(qiáng)隊(duì)三分球進(jìn)攻特點(diǎn)的比較研究
        長江叢刊(2018年31期)2018-12-05 06:34:20
        投籃的力量休斯敦火箭
        NBA特刊(2017年8期)2017-06-05 15:00:13
        國有劃撥土地使用權(quán)強(qiáng)制執(zhí)行問題研究
        執(zhí)行程序與破產(chǎn)程序銜接機(jī)制若干問題分析
        法制博覽(2016年11期)2016-11-14 10:45:46
        淺析執(zhí)行程序中對法定抵銷權(quán)的審查
        日本一区二区久久精品亚洲中文无| 白白在线视频免费观看嘛| 亚洲精品98中文字幕| 淫片一区二区三区av| 豆国产96在线 | 亚洲| 欧美精品人人做人人爱视频| 亚洲xxxx做受欧美| 日韩第四页| AⅤ无码精品视频| 久久99国产精品久久99密桃| 黄片视频大全在线免费播放| 97精品久久久久中文字幕 | 午夜一区二区三区福利视频| 国产av一区二区亚洲精品| 国产成人a在线观看视频免费 | 日日噜噜夜夜狠狠va视频v| 国产成人精品无码一区二区老年人 | 亚洲色大成网站www永久| 性高朝大尺度少妇大屁股| 国产探花在线精品一区二区| 久久久久亚洲精品天堂| 国产成人无码A区在线观| 日本岛国大片不卡人妻| 久久久麻豆精亚洲av麻花| 免费国产黄网站在线观看视频| 成人a级视频在线观看| 国产成人亚洲不卡在线观看| 蜜桃视频免费在线视频| 人妻少妇精品视频一区二区三| 亚洲av无码专区在线播放| 国产网站视频| 蜜桃av无码免费看永久| 性色av色香蕉一区二区蜜桃| 色播亚洲视频在线观看| 日韩精品国产自在久久现线拍| 青青草在线成人免费视频| 亚洲国产果冻传媒av在线观看| 精品福利视频一区二区三区| 欧洲亚洲色一区二区色99| 日韩一区二区中文字幕视频| 爆操丝袜美女在线观看|