999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種嵌入式系統的滑動Cache機制設計

2015-07-01 23:32:05何青松鄧超邱志
單片機與嵌入式系統應用 2015年3期
關鍵詞:嵌入式指令機制

何青松,鄧超,邱志

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

一種嵌入式系統的滑動Cache機制設計

何青松,鄧超,邱志

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

為了提高嵌入式系統中Cache的使用效率,針對不同類型的應用程序對指令和數據Cache的容量實時需求不同,提出一種滑動Cache組織方案。均衡考慮指令和數據Cache需求,動態地調整一級Cache的容量和配置。采用滑動Cache結構,不但降低了一級Cache的動態和靜態泄漏功耗,而且還降低了整個處理器的動態功耗。模擬仿真結果表明,該方案在有效降低Cache功耗的同時能夠提高Cache的綜合性能。

滑動Cache;可重構;低功耗

引 言

對于便攜式嵌入式設備,降低其整體功耗具有越來越重要的實際意義。而在設計的嵌入式設備中,Cache的功耗占整體功耗的40%左右[1-2],因此,研究如何降低Cache功耗的各種技術成為嵌入式設備設計者關注的重點。針對嵌入式系統運行的特征,很多應用系統都曾經提出過多種可重構Cache結構[2-5],例如通過調節Cache的容量[3]、相聯度[2]、塊大小[4]、替換策略、緩存塊數[5]等技術方式,適應不同的嵌入式程序對Cache資源的需求,達到提高性能和降低功耗的目的。

由于不同嵌入式程序對指令Cache和數據Cache的需求是不平衡的,從而導致某種Cache的容量不足而另一種Cache卻空閑。嵌入式系統通常采用制定容量的指令Cache和數據Cache,本文引入動態重構的概念,實現了一種可重新劃分指令Cache和數據Cache大小的高速緩存模塊,可動態配置指令Cache和數據Cache的大小。對于較小的應用程序,如果指令Cache和數據Cache過大,雖然命中率很高,但是也造成了功耗的增加;而對于較大的應用程序,如果指令Cache和數據Cache過小,則會造成命中率的明顯降低,在很大程度上影響處理器的性能。動態可重構Cache可以在程序運行的過程中隨著Cache命中率的變化隨時重構,既保證較高的命中率,又保證較低的功耗。

1 滑動Cache方案

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

1.1 滑動Cache基本思想

處理器及其Cache系統的設計在運行各種不同的應用程序時,其性能表現還是有很大差異的,某些程序需要的指令比較少但是卻要處理大量的數據,比如壓縮解壓縮算法。相反,還有一些程序需要執行的指令非常多,但數據量較少,例如一些編譯程序。因此在運行各種程序時都使用同一容量和結構的Cache,會造成某種Cache缺失率非常高,但同時另外一種Cache卻有部分閑置。如果設計一種Cache結構能隨著不同程序的需求,將一種Cache的閑置部分提供給另外一個需要增大容量的Cache使用,而不是簡單地關閉這些部分,那么處理器性能將會大大提高。滑動Cache組織結構圖如圖1 所示。

圖1 滑動Cache組織結構圖

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

1.2 滑動Cache仲裁機制

滑動Cache仲裁機制是核心部分,通過它來判斷Cache容量何時需要滑動、何時休眠,以及按照什么原則進行滑動。利用缺失率作為監視Cache性能的基本尺度,通過設計和使用一套參數來監視、反映和調整系統的動態行為和需求。這套參數如下所示:

① 敏感間隔計數器(Sense Intervals Num,SIN):為了監視Cache性能,就必須把一個應用程序的整個運行周期分成一些固定的長度,稱為敏感間隔(例如100萬條指令為一個間隔[6])。運算邏輯單元每執行一條指令,敏感間隔計數器就會自動加1。并且強制規定,只有一個敏感間隔結束以后,才可以啟動仲裁機制調整一級Cache的容量。

② Icache缺失計數器(Icache Miss Num,IMN):用來統計一個敏感間隔內Icache的缺失次數,每當Icache發生缺失時計數器自動加1,并且在每個敏感間隔開始時仲裁機制將其清0。

③ Dcache缺失計數器(Dcache Miss Num,DMN):用來統計一個敏感間隔內Dcache的缺失次數,每當Dcache發生缺失時計數器自動加1,并且每個敏感間隔開始時仲裁機制將其清0。

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

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

⑥ Scache狀態標志寄存器(Slide State,SS):用來存儲當前Scache的狀態,當敏感間隔結束時,仲裁機制會根據IMB、DMB、IMN和DMN的值判斷發生哪種情況,進而將Scache設置成相應的狀態。Scache的狀態有以下5種:

狀態1:如果IMN>IMB且DMN

狀態2:如果IMNDMB,SS被標志成2,下一個敏感間隔Scache作為Dcache使用。

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

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

狀態5:如果IMN

1.3 滑動Cache工作過程

滑動Cache的工作流程如圖2所示。

圖2 滑動Cache的工作流程圖

(1) 設置各個狀態寄存器(SS,IMB,DMB)

首先,清空各個計數器(SIN,IMN,DMN),在程序運行初期將SS置為0(即休眠狀態),因為在程序剛開始時初始化Cache會導致缺失率非常大,這期間根據缺失率來設置SS是不正確的。通過實驗發現大部分程序運行幾個敏感間隔后,缺失率趨近于穩定。本文在過了第3個敏感間隔后,每個敏感間隔結束時都啟用仲裁機制。

(2) 設置仲裁策略

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

敏感間隔結束后,如果IMB、DMB、IMN和DMN的值滿足狀態2或狀態4,仲裁機制將SS設置為2,Scache作為Dcache使用。如果這時增加的地址位是0,則表明來自CPU的地址是對Dcache的操作,Dcache與總線交互數據,Scache片選信號關閉。當狀態5發生時SS被設置為0,整個Scache休眠,Icache和Dcache正常工作。

2 模擬測試及結果

為了對上述設計進行性能評測,在兼容MIPS指令集的嵌入式CPU模擬器上進行測試和數據采集。該模擬器精確到了周期,為提取Cache模型的詳細運行數據提供了極大的方便。模擬測試分別實現了3種傳統Cache結構模型和可配置Cache結構模型在模擬器上運行兩個測試應用程序的性能比較,為了簡單起見,主要是對CPI進行比較[7]。

測試過程如下:A、B、C均為傳統結構的Cache模型,模型A的Cache大小是4 KB,采用直接映象的組織方式,二級Cache大小為28 KB;模型B的一級Cache大小為8 KB,采用直接映象的組織方式,二級Cache大小為24 KB;模型C的一級Cache大小為8 KB,采用兩路組相聯映象的組織方式,二級Cache為24 KB;模型D為滑動Cache配置結構的Cache模型,測試數據比較見圖3。

圖3 測試數據比較圖

從模擬器測試的結果看,在采用滑動Cache配置結構的Cache模型上運行的兩個應用程序的CPI值為最小,相較典型的A、B 和C三個傳統Cache模型,其性能改進是明顯的。

結 語

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

猜你喜歡
嵌入式指令機制
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 亚洲国产一区在线观看| 国产亚洲欧美日韩在线一区| 91精品国产一区| 五月天在线网站| 欧美在线一二区| 久精品色妇丰满人妻| 欧美国产在线一区| 国产福利小视频在线播放观看| 国产精品中文免费福利| 国产亚洲精品自在久久不卡| 美女毛片在线| 无码粉嫩虎白一线天在线观看| 亚洲成年人网| 国产精品无码制服丝袜| 一级高清毛片免费a级高清毛片| 国产无遮挡猛进猛出免费软件| 制服丝袜一区二区三区在线| 四虎永久在线视频| 亚洲欧洲国产成人综合不卡| 国产三级a| 农村乱人伦一区二区| 亚洲精品午夜天堂网页| 久久久久青草大香线综合精品| 91香蕉国产亚洲一二三区| 国产精品性| 综合色在线| 自拍中文字幕| 综合网久久| 国产玖玖玖精品视频| 亚洲色偷偷偷鲁综合| 日韩在线欧美在线| 18黑白丝水手服自慰喷水网站| 91亚洲国产视频| 在线不卡免费视频| 中文字幕中文字字幕码一二区| 欧美日本在线观看| 国产人妖视频一区在线观看| 国产日本欧美亚洲精品视| 秋霞国产在线| 2020最新国产精品视频| 又猛又黄又爽无遮挡的视频网站| 有专无码视频| 久久成人国产精品免费软件| 亚洲国产天堂久久综合226114| 久久成人国产精品免费软件| 91亚洲视频下载| 毛片久久网站小视频| 久久人体视频| 国产在线精品人成导航| 一级片免费网站| 欧美亚洲欧美| www.国产福利| 欧美翘臀一区二区三区| 欧美成人h精品网站| 国产成人亚洲精品蜜芽影院| 国产亚洲欧美日本一二三本道| 99色亚洲国产精品11p| 久久精品这里只有精99品| 波多野结衣第一页| 国产日韩精品欧美一区喷| 97视频精品全国在线观看| 久久亚洲国产视频| 免费在线观看av| 国产福利在线观看精品| 91青青在线视频| аⅴ资源中文在线天堂| 国产波多野结衣中文在线播放| 精品国产免费观看| 五月天综合网亚洲综合天堂网| 亚洲天堂视频在线观看免费| 国产网站免费观看| 国产精品免费久久久久影院无码| 九色视频线上播放| 青青青国产视频手机| 国产精品成人免费综合| 91av国产在线| 久久综合九九亚洲一区| 亚洲成人精品| 四虎精品国产AV二区| a级毛片免费网站| 国产微拍一区| 91探花在线观看国产最新|