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

        ?

        一種嵌入式系統(tǒng)的滑動(dòng)Cache機(jī)制設(shè)計(jì)

        2015-07-01 23:32:05何青松鄧超邱志
        關(guān)鍵詞:功耗仲裁間隔

        何青松,鄧超,邱志

        (中國船舶重工集團(tuán)公司 第七二二研究所,武漢 430205)

        一種嵌入式系統(tǒng)的滑動(dòng)Cache機(jī)制設(shè)計(jì)

        何青松,鄧超,邱志

        (中國船舶重工集團(tuán)公司 第七二二研究所,武漢 430205)

        為了提高嵌入式系統(tǒng)中Cache的使用效率,針對(duì)不同類型的應(yīng)用程序?qū)χ噶詈蛿?shù)據(jù)Cache的容量實(shí)時(shí)需求不同,提出一種滑動(dòng)Cache組織方案。均衡考慮指令和數(shù)據(jù)Cache需求,動(dòng)態(tài)地調(diào)整一級(jí)Cache的容量和配置。采用滑動(dòng)Cache結(jié)構(gòu),不但降低了一級(jí)Cache的動(dòng)態(tài)和靜態(tài)泄漏功耗,而且還降低了整個(gè)處理器的動(dòng)態(tài)功耗。模擬仿真結(jié)果表明,該方案在有效降低Cache功耗的同時(shí)能夠提高Cache的綜合性能。

        滑動(dòng)Cache;可重構(gòu);低功耗

        引 言

        對(duì)于便攜式嵌入式設(shè)備,降低其整體功耗具有越來越重要的實(shí)際意義。而在設(shè)計(jì)的嵌入式設(shè)備中,Cache的功耗占整體功耗的40%左右[1-2],因此,研究如何降低Cache功耗的各種技術(shù)成為嵌入式設(shè)備設(shè)計(jì)者關(guān)注的重點(diǎn)。針對(duì)嵌入式系統(tǒng)運(yùn)行的特征,很多應(yīng)用系統(tǒng)都曾經(jīng)提出過多種可重構(gòu)Cache結(jié)構(gòu)[2-5],例如通過調(diào)節(jié)Cache的容量[3]、相聯(lián)度[2]、塊大小[4]、替換策略、緩存塊數(shù)[5]等技術(shù)方式,適應(yīng)不同的嵌入式程序?qū)ache資源的需求,達(dá)到提高性能和降低功耗的目的。

        由于不同嵌入式程序?qū)χ噶頒ache和數(shù)據(jù)Cache的需求是不平衡的,從而導(dǎo)致某種Cache的容量不足而另一種Cache卻空閑。嵌入式系統(tǒng)通常采用制定容量的指令Cache和數(shù)據(jù)Cache,本文引入動(dòng)態(tài)重構(gòu)的概念,實(shí)現(xiàn)了一種可重新劃分指令Cache和數(shù)據(jù)Cache大小的高速緩存模塊,可動(dòng)態(tài)配置指令Cache和數(shù)據(jù)Cache的大小。對(duì)于較小的應(yīng)用程序,如果指令Cache和數(shù)據(jù)Cache過大,雖然命中率很高,但是也造成了功耗的增加;而對(duì)于較大的應(yīng)用程序,如果指令Cache和數(shù)據(jù)Cache過小,則會(huì)造成命中率的明顯降低,在很大程度上影響處理器的性能。動(dòng)態(tài)可重構(gòu)Cache可以在程序運(yùn)行的過程中隨著Cache命中率的變化隨時(shí)重構(gòu),既保證較高的命中率,又保證較低的功耗。

        1 滑動(dòng)Cache方案

        本文引入了一種新的Cache組織結(jié)構(gòu)(稱做滑動(dòng)Cache),是對(duì)動(dòng)態(tài)可重構(gòu)Cache的一種擴(kuò)展方式,應(yīng)用于嵌入式處理器中Icache和Dcache分離的片上一級(jí)Cache,主要包含指令Cache塊(Icache)、數(shù)據(jù)Cache塊(Dcache)和滑動(dòng)Cache塊(Scache)3個(gè)部分,使Scache能夠在Icache和Dcache之間滑動(dòng)。滑動(dòng)Cache結(jié)構(gòu)的特別之處在于它可以綜合考慮程序?qū)cache和Dcache的實(shí)時(shí)需要,進(jìn)而通過仲裁機(jī)制動(dòng)態(tài)決定Scache是用來擴(kuò)充Icache的容量,還是用來擴(kuò)充Dcache的容量,或者是休眠。這種方法不但降低了Cache的動(dòng)態(tài)功耗和靜態(tài)泄漏功耗,而且處理器的性能也有所提高,它不需要任何軟件編譯的支持,也不需要改動(dòng)除Cache之外的其他硬件。

        1.1 滑動(dòng)Cache基本思想

        處理器及其Cache系統(tǒng)的設(shè)計(jì)在運(yùn)行各種不同的應(yīng)用程序時(shí),其性能表現(xiàn)還是有很大差異的,某些程序需要的指令比較少但是卻要處理大量的數(shù)據(jù),比如壓縮解壓縮算法。相反,還有一些程序需要執(zhí)行的指令非常多,但數(shù)據(jù)量較少,例如一些編譯程序。因此在運(yùn)行各種程序時(shí)都使用同一容量和結(jié)構(gòu)的Cache,會(huì)造成某種Cache缺失率非常高,但同時(shí)另外一種Cache卻有部分閑置。如果設(shè)計(jì)一種Cache結(jié)構(gòu)能隨著不同程序的需求,將一種Cache的閑置部分提供給另外一個(gè)需要增大容量的Cache使用,而不是簡單地關(guān)閉這些部分,那么處理器性能將會(huì)大大提高?;瑒?dòng)Cache組織結(jié)構(gòu)圖如圖1 所示。

        圖1 滑動(dòng)Cache組織結(jié)構(gòu)圖

        Scache有3種狀態(tài):當(dāng)Icache缺失率較高時(shí)Scache作為Icache使用;當(dāng)Dcache缺失率較高時(shí)Scache作為Dcache使用;如果Icache和Dcache缺失率都不高,Scache就休眠。當(dāng)Scache與原有的Icache和Dcache結(jié)合使用時(shí),只擴(kuò)大組數(shù),不改變相聯(lián)度。Scache的容量要小于等于Icache和Dcache中容量較大的一個(gè),即Cslide≤max(Cinst,Cdata)。例如Icache容量為32 KB,Dcache容量為64 KB,則Scache容量可選范圍小于等于64 KB。假設(shè)Scache選定為64 KB,當(dāng)Scache被指定用做Icache時(shí), Scache中只有32 KB與原Icache結(jié)合使用,其余超出原Icache容量的32 KB處于休眠狀態(tài)。由于不同容量的Cache需要的Tag長度不同,Scache的容量可能會(huì)在Icache和Dcache兩個(gè)不同容量之間變動(dòng),導(dǎo)致滑動(dòng)Cache的Tag長度也不固定。為了保證Scache既可充當(dāng)Icache使用,又可充當(dāng)Dcache使用,Scache的Tag長度應(yīng)該等于指令和數(shù)據(jù)Tag中較長的,即Lslide tag=max(Linst tag,Ldata tag)。

        1.2 滑動(dòng)Cache仲裁機(jī)制

        滑動(dòng)Cache仲裁機(jī)制是核心部分,通過它來判斷Cache容量何時(shí)需要滑動(dòng)、何時(shí)休眠,以及按照什么原則進(jìn)行滑動(dòng)。利用缺失率作為監(jiān)視Cache性能的基本尺度,通過設(shè)計(jì)和使用一套參數(shù)來監(jiān)視、反映和調(diào)整系統(tǒng)的動(dòng)態(tài)行為和需求。這套參數(shù)如下所示:

        ① 敏感間隔計(jì)數(shù)器(Sense Intervals Num,SIN):為了監(jiān)視Cache性能,就必須把一個(gè)應(yīng)用程序的整個(gè)運(yùn)行周期分成一些固定的長度,稱為敏感間隔(例如100萬條指令為一個(gè)間隔[6])。運(yùn)算邏輯單元每執(zhí)行一條指令,敏感間隔計(jì)數(shù)器就會(huì)自動(dòng)加1。并且強(qiáng)制規(guī)定,只有一個(gè)敏感間隔結(jié)束以后,才可以啟動(dòng)仲裁機(jī)制調(diào)整一級(jí)Cache的容量。

        ② Icache缺失計(jì)數(shù)器(Icache Miss Num,IMN):用來統(tǒng)計(jì)一個(gè)敏感間隔內(nèi)Icache的缺失次數(shù),每當(dāng)Icache發(fā)生缺失時(shí)計(jì)數(shù)器自動(dòng)加1,并且在每個(gè)敏感間隔開始時(shí)仲裁機(jī)制將其清0。

        ③ Dcache缺失計(jì)數(shù)器(Dcache Miss Num,DMN):用來統(tǒng)計(jì)一個(gè)敏感間隔內(nèi)Dcache的缺失次數(shù),每當(dāng)Dcache發(fā)生缺失時(shí)計(jì)數(shù)器自動(dòng)加1,并且每個(gè)敏感間隔開始時(shí)仲裁機(jī)制將其清0。

        ④ Icache缺失邊界寄存器(Icache Miss Bound,IMB):用來存儲(chǔ)預(yù)先設(shè)定的Icache缺失邊界。

        ⑤ Dcache缺失邊界寄存器(Dcache Miss Bound,DMB):用來存儲(chǔ)預(yù)先設(shè)定的Dcache缺失邊界。

        ⑥ Scache狀態(tài)標(biāo)志寄存器(Slide State,SS):用來存儲(chǔ)當(dāng)前Scache的狀態(tài),當(dāng)敏感間隔結(jié)束時(shí),仲裁機(jī)制會(huì)根據(jù)IMB、DMB、IMN和DMN的值判斷發(fā)生哪種情況,進(jìn)而將Scache設(shè)置成相應(yīng)的狀態(tài)。Scache的狀態(tài)有以下5種:

        狀態(tài)1:如果IMN>IMB且DMN

        狀態(tài)2:如果IMNDMB,SS被標(biāo)志成2,下一個(gè)敏感間隔Scache作為Dcache使用。

        狀態(tài)3:如果IMN>IMB且DMN>DMB,并且Icache超過邊界的比例大于Dcache,則SS被標(biāo)志成1,下一個(gè)敏感間隔把Scache作為Icache使用。

        狀態(tài)4:如果IMN>IMB且DMN>DMB,并且Dcache超過邊界的比例大于Icache,則SS被標(biāo)志成2,下一個(gè)敏感間隔把Scache作為Dcache使用。

        狀態(tài)5:如果IMN

        1.3 滑動(dòng)Cache工作過程

        滑動(dòng)Cache的工作流程如圖2所示。

        圖2 滑動(dòng)Cache的工作流程圖

        (1) 設(shè)置各個(gè)狀態(tài)寄存器(SS,IMB,DMB)

        首先,清空各個(gè)計(jì)數(shù)器(SIN,IMN,DMN),在程序運(yùn)行初期將SS置為0(即休眠狀態(tài)),因?yàn)樵诔绦騽傞_始時(shí)初始化Cache會(huì)導(dǎo)致缺失率非常大,這期間根據(jù)缺失率來設(shè)置SS是不正確的。通過實(shí)驗(yàn)發(fā)現(xiàn)大部分程序運(yùn)行幾個(gè)敏感間隔后,缺失率趨近于穩(wěn)定。本文在過了第3個(gè)敏感間隔后,每個(gè)敏感間隔結(jié)束時(shí)都啟用仲裁機(jī)制。

        (2) 設(shè)置仲裁策略

        啟動(dòng)仲裁機(jī)制,如圖1所示,如果IMB、DMB、IMN和DMN的值滿足狀態(tài)1或狀態(tài)3,仲裁機(jī)制將SS設(shè)置為1,Scache作為Icache使用。由于Scache比原Icache容量要大,因此只需要截取與原Icache容量相同的部分作為Icache使用,其余部分休眠。為了正確讀取Icache和Scache,就要保證能夠正確尋址,因此增加一位地址位用來尋址。本方案將來自CPU地址中的Tag字段的最低位作為增加的地址位尋址,用來判斷是對(duì)原Icache讀取,還是對(duì)Scache讀取。如果地址中Tag字段的最低位是1,表明來自CPU的地址是對(duì)Scache的操作,Scache片選信號(hào)選中,Icache片選信號(hào)關(guān)閉。與之相應(yīng),送到總線上的輸出數(shù)據(jù)也應(yīng)該是從Scache讀出的數(shù)據(jù)。這時(shí)IMN統(tǒng)計(jì)的數(shù)據(jù)應(yīng)該是Icache和Scache的缺失數(shù)目之和。

        敏感間隔結(jié)束后,如果IMB、DMB、IMN和DMN的值滿足狀態(tài)2或狀態(tài)4,仲裁機(jī)制將SS設(shè)置為2,Scache作為Dcache使用。如果這時(shí)增加的地址位是0,則表明來自CPU的地址是對(duì)Dcache的操作,Dcache與總線交互數(shù)據(jù),Scache片選信號(hào)關(guān)閉。當(dāng)狀態(tài)5發(fā)生時(shí)SS被設(shè)置為0,整個(gè)Scache休眠,Icache和Dcache正常工作。

        2 模擬測試及結(jié)果

        為了對(duì)上述設(shè)計(jì)進(jìn)行性能評(píng)測,在兼容MIPS指令集的嵌入式CPU模擬器上進(jìn)行測試和數(shù)據(jù)采集。該模擬器精確到了周期,為提取Cache模型的詳細(xì)運(yùn)行數(shù)據(jù)提供了極大的方便。模擬測試分別實(shí)現(xiàn)了3種傳統(tǒng)Cache結(jié)構(gòu)模型和可配置Cache結(jié)構(gòu)模型在模擬器上運(yùn)行兩個(gè)測試應(yīng)用程序的性能比較,為了簡單起見,主要是對(duì)CPI進(jìn)行比較[7]。

        測試過程如下:A、B、C均為傳統(tǒng)結(jié)構(gòu)的Cache模型,模型A的Cache大小是4 KB,采用直接映象的組織方式,二級(jí)Cache大小為28 KB;模型B的一級(jí)Cache大小為8 KB,采用直接映象的組織方式,二級(jí)Cache大小為24 KB;模型C的一級(jí)Cache大小為8 KB,采用兩路組相聯(lián)映象的組織方式,二級(jí)Cache為24 KB;模型D為滑動(dòng)Cache配置結(jié)構(gòu)的Cache模型,測試數(shù)據(jù)比較見圖3。

        圖3 測試數(shù)據(jù)比較圖

        從模擬器測試的結(jié)果看,在采用滑動(dòng)Cache配置結(jié)構(gòu)的Cache模型上運(yùn)行的兩個(gè)應(yīng)用程序的CPI值為最小,相較典型的A、B 和C三個(gè)傳統(tǒng)Cache模型,其性能改進(jìn)是明顯的。

        結(jié) 語

        Design of Sliding Cache Mechanism in Embedded System

        He Qingsong,Deng Chao,Qiu Zhi

        (No.722 Research Institute of CSIC,Wuhan 430205,China)

        In order to improve the using efficiency of Cache in the embedded system,a novel sliding Cache structure is proposed,which is based on the fact that different programs need different sizes of instruction and data Cache.This scheme can dynamically adjust the capacity and structure of Cache by balancing the instruction and data Cache requirement.The results indicate that the dynamic power and static leakage power of Level 1 Cache can be reduced using sliding Cache structure.Simulation results show that it decreases the average energy consumption and improves the comprehensive performance of the Cache.

        sliding Cache;reconfigurable;low power consumption

        TP302

        A

        猜你喜歡
        功耗仲裁間隔
        間隔問題
        間隔之謎
        一種多通道共享讀寫SDRAM的仲裁方法
        電子制作(2018年19期)2018-11-14 02:36:44
        ICSID仲裁中的有效解釋原則:溯源、適用及其略比
        揭開GPU功耗的面紗
        數(shù)字電路功耗的分析及優(yōu)化
        電子制作(2016年19期)2016-08-24 07:49:54
        “功耗”說了算 MCU Cortex-M系列占優(yōu)
        電子世界(2015年22期)2015-12-29 02:49:44
        IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
        兩岸四地間相互執(zhí)行仲裁裁決:過去、現(xiàn)在及將來(上)
        仲裁研究(2015年4期)2015-04-17 02:56:33
        上樓梯的學(xué)問
        一边做一边说国语对白| 男人的av天堂狠狠操| 美国黄色av一区二区| 国产欧美日韩一区二区加勒比| 国产成人无码精品久久久露脸| 精产国品一二三产区m553麻豆| 国产91吞精一区二区三区| av在线男人的免费天堂| 日韩精品在线免费视频| 亚洲精品美女久久久久久久| 久久er国产精品免费观看8| 日韩精品中文字幕免费人妻| 日韩极品视频免费观看| 性大毛片视频| 国产精品无码久久久久免费AV| 亚洲天堂av中文字幕| 丰满人妻熟妇乱又仑精品| 无码国产午夜福利片在线观看| 亚洲av日韩av一卡二卡| 亚洲精品中文字幕一二| 无套内谢老熟女| 4444亚洲人成无码网在线观看| 99在线无码精品秘 入口九色| 免费人妖一区二区三区| 日韩国产精品无码一区二区三区| 最近中文av字幕在线中文| av日本一区不卡亚洲午夜| 国产精品亚洲三级一区二区三区| 四虎影视永久在线观看| 丁香婷婷色| 精品亚洲一区二区三区在线播放| 亚洲 欧美 日韩 国产综合 在线| 精品推荐国产精品店| 玩弄放荡人妻一区二区三区| 中文字幕在线乱码一区| 日韩免费无码一区二区三区| 在线毛片一区二区不卡视频| 全亚洲最大的私人影剧院在线看 | 欧美成年黄网站色视频| 国产 在线播放无码不卡| 一本一道久久综合久久|