欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于數(shù)據(jù)處理裝置的附加指令緩存電路的制作方法

文檔序號:6523920閱讀:196來源:國知局
專利名稱:用于數(shù)據(jù)處理裝置的附加指令緩存電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及的是一種數(shù)據(jù)處理裝置(包括微處理器、微控制器和數(shù)字信號處理器)設(shè)計技術(shù),特別是一種低功耗微處理器設(shè)計技術(shù),屬于微處理器技術(shù)領(lǐng)域。
背景技術(shù)
內(nèi)嵌微處理器的系統(tǒng)級芯片(SOC)已經(jīng)被廣泛地用于各種電子產(chǎn)品。其中,由電池供電的手持式電子產(chǎn)品(移動電話、MP3播放器、手持式測量儀等)所占的比重很大。手持式電子產(chǎn)品要求所采用的芯片具有很低的功耗,這對作為這些電子產(chǎn)品核心部件的系統(tǒng)級芯片的低功耗設(shè)計技術(shù)提出了挑戰(zhàn)。在系統(tǒng)級芯片內(nèi)部,微處理器模塊的功耗占有很大比重,并且,微處理器功耗主要集中在其對存儲器的讀寫訪問上。通過改善這一部分電路,尤其是指令讀取電路的設(shè)計,可以使芯片的整體功耗大幅度降低。
研究表明,嵌入式微處理器工作時的一個重要特征是其很大一部分時間是在執(zhí)行循環(huán)(loop)操作(高級語言中表現(xiàn)為for語句,或者while語句),并且這些循環(huán)往往是循環(huán)體只有幾條或十幾條指令的小循環(huán)(或稱為短循環(huán),shortloop)。如

圖1所示一般應用中,微處理器有38%的時間用于執(zhí)行小循環(huán);而在數(shù)字信號處理應用中,這一比例會達到80%以上。利用這一特征,采用適當?shù)闹噶罹彺婕夹g(shù),可以大幅度減少微處理器對指令存儲器的讀取,從而降低芯片功耗。這里的指令存儲器,是指微處理器內(nèi)核可以直接訪問的指令存儲設(shè)備。在不同的系統(tǒng)中,它可以是一級緩存、片外/片內(nèi)隨機存儲器/只讀存儲器、片外/片內(nèi)閃存等。在這方面,國內(nèi)外芯片設(shè)計人員已經(jīng)作了大量的研究,并提出了各自的解決方法(見參考文獻)。但是,這些方法在降低功耗的同時,通常會導致微處理器性能下降(性能下降的一個重要后果是系統(tǒng)工作時間變長,從而導致系統(tǒng)功耗增加),并且往往由于設(shè)計較為復雜而使芯片成本增加。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種新型附加緩存電路,以克服現(xiàn)有技術(shù)的不足。這種緩存電路具有結(jié)構(gòu)簡單、易于實現(xiàn)的特點。通過只增加極少的芯片資源,就使微處理器的功耗明顯下降,并且對微處理器的性能沒有任何不利影響。
本發(fā)明所提出的附加緩存在系統(tǒng)級芯片中的位置處于微處理器內(nèi)核與指令存儲器之間。通過監(jiān)視指令總線接口及少數(shù)由微處理器內(nèi)核提供的輔助信號,發(fā)現(xiàn)并暫存程序中的小循環(huán)體,繼而在微處理器持續(xù)執(zhí)行該小循環(huán)體期間,改由附加緩存提供所需指令,避免微處理器進行指令存儲器的訪問操作,從而降低微處理器的功耗。圖2反映了微處理內(nèi)核與指令存儲器的傳統(tǒng)連接結(jié)構(gòu),圖3反映了使用附加緩存以后的連接結(jié)構(gòu)。
附加緩存由指令陣列和控制器兩部分組成。指令陣列用于暫存正在執(zhí)行中的小循環(huán)體,是一個直接映射的小型存儲器,一般可以存放十幾或幾十條指令,并且它與傳統(tǒng)緩存的最大不同處在于它不需要存儲相應的地址標識(TAG);控制器用于控制附加緩存的工作狀態(tài),決定微處理器對指令存儲器的訪問是否可以被避免,并決定對指令陣列的讀寫控制。
附加緩存的工作原理基于對小循環(huán)的識別。為了定義小循環(huán),我們首先定義向后短跳轉(zhuǎn)指令幾乎所有的微處理器都支持的相對跳轉(zhuǎn)指令。通常,相對跳轉(zhuǎn)指令的編碼由操作碼及偏移量兩部分組成(如圖4所示)。操作碼用于表明該指令是一條相對跳轉(zhuǎn)指令(可以是條件跳轉(zhuǎn)或者無條件跳轉(zhuǎn)),偏移量用于表明跳轉(zhuǎn)目標地址與當前程序地址的距離。我們進一步把相對跳轉(zhuǎn)指令的偏移量分成高位和低位兩部分,規(guī)定低位部分的長度為w,并且定義當高位部分為全′1′時,該跳轉(zhuǎn)指令為向后短跳轉(zhuǎn)指令。也即,向后短跳轉(zhuǎn)指令是指偏移量為絕對值≤2w的負數(shù)的相對跳轉(zhuǎn)指令。我們把向后短跳轉(zhuǎn)指令作為識別小循環(huán)的標志,由此可以定義小循環(huán)是指指令數(shù)量不超過2w條的循環(huán)體。進而還可以確定附加緩存的指令陣列應該具有2w條指令的容量,以確保小循環(huán)體可以全部暫存入附加緩存的指令陣列。
以下描述附加緩存的工作細節(jié)及實施方法
當附加緩存的控制器監(jiān)測到一條有效的向后短跳轉(zhuǎn)指令(無條件跳轉(zhuǎn),或者條件跳轉(zhuǎn)且條件滿足),就假定微處理器將開始執(zhí)行一個小循環(huán),進而啟動整個附加緩存開始工作。同時,我們定義該條向后短跳轉(zhuǎn)指令為觸發(fā)指令。附加緩存開始工作后,首先是讓微處理器繼續(xù)正常訪問指令存儲器,同時將微處理器從指令存儲器讀到的指令存入其指令陣列;一旦整個小循環(huán)體被存入指令陣列,附加緩存將把微處理器對指令存儲器的讀取請求轉(zhuǎn)向為對指令陣列的讀取請求,從而由指令陣列來提供所需的指令。微處理器對指令存儲器的訪問將持續(xù)停止,直到循環(huán)結(jié)束。
附加緩存的指令陣列最多可以存放2w條指令,圖5顯示了指令陣列的結(jié)構(gòu)及其如何通過微處理器發(fā)出的指令地址被訪問。
附加緩存在工作時,控制器需要隨時知道微處理器要讀取的下一條指令是否已經(jīng)在附加緩存中。如果下一條指令已經(jīng)在附加緩存中,則可以阻止微處理器向指令存儲器發(fā)出讀取請求,而直接由附加緩存提供下一條指令,以實現(xiàn)降低功耗的目的。為此,附加緩存需要以下信息a)下一條指令的地址是連續(xù)的,還是發(fā)生了跳轉(zhuǎn)?b)如果發(fā)生了跳轉(zhuǎn),該跳轉(zhuǎn)是否是由前面導致附加緩存進入工作狀態(tài)的那條指令(觸發(fā)指令)引起的?c)是否小循環(huán)體的全部指令都已經(jīng)可以從附加緩存的指令陣列中獲得?對于a),微處理器的指令解碼電路很容易知道程序是否發(fā)生了跳轉(zhuǎn),并將這一信息通過輔助信號通知附加緩存控制器。
對于b),我們在控制器中引入一個w位寬的計數(shù)器。當程序發(fā)生后向短跳轉(zhuǎn)時,相應的跳轉(zhuǎn)偏移量被裝載入該計數(shù)器。然后,每當微處理器讀取一條指令時,計數(shù)器自動加一。當計數(shù)器計到零時(需要注意到最初被裝載入計數(shù)器的偏移量是一負值),表明程序再次執(zhí)行到后向短跳轉(zhuǎn)指令。如果該指令再次有效(即無條件跳轉(zhuǎn),或者條件跳轉(zhuǎn)且條件滿足),則跳轉(zhuǎn)偏移量將再次被裝載入計數(shù)器,如此不斷循環(huán)。采用這種方法,如果在計數(shù)器未計到零時發(fā)生程序跳轉(zhuǎn),則表明該跳轉(zhuǎn)不是由觸發(fā)指令引起的,正常的循環(huán)執(zhí)行被打斷(諸如高級語言中的break語句)。圖6顯示了計數(shù)器部分的電路結(jié)構(gòu)。
對于c),我們在控制器中引入了一個狀態(tài)機來表明附加緩存的狀態(tài)。該狀態(tài)機包含三個狀態(tài)空閑狀態(tài),裝載狀態(tài)和激活狀態(tài)。當狀態(tài)機處于空閑狀態(tài)時,微處理器正常從指令存儲器讀取指令,附加緩存不產(chǎn)生任何影響。狀態(tài)機在空閑狀態(tài)下監(jiān)測到程序發(fā)生向后短跳轉(zhuǎn)時,進入裝載狀態(tài),同時將w位跳轉(zhuǎn)偏移量裝載入計數(shù)器。在裝載狀態(tài)下,微處理器依然從指令存儲器讀正常讀取指令,但是處理器讀到的指令將同時被逐條裝載入指令陣列,每裝一條,計數(shù)器自動加一。當計數(shù)器計到零時,表明程序再次執(zhí)行到觸發(fā)指令。如果該指令無效(跳轉(zhuǎn)條件且條件不滿足),表明循環(huán)結(jié)束,狀態(tài)機回到空閑狀態(tài),否則,就進入激活狀態(tài)。在裝載過程中,如果發(fā)生其他非觸發(fā)指令引起的跳轉(zhuǎn),也將導致狀態(tài)機回到空閑狀態(tài)。
在激活狀態(tài)下,微處理器所需指令由附加緩存提供,從而避免了指令存儲器的讀取。同時,在激活狀態(tài)下,當發(fā)生觸發(fā)指令跳轉(zhuǎn)無效(觸發(fā)指令為條件跳轉(zhuǎn)且條件不滿足),或者發(fā)生其他非觸發(fā)指令引起的跳轉(zhuǎn),都將導致狀態(tài)機回到空閑狀態(tài)。
圖7顯示了狀態(tài)機的狀態(tài)遷移流程。
為了驗證此項附加緩存技術(shù)的效果,我們采用XC16內(nèi)核(一款16位微處理器)進行仿真測試。在其指令總線上接16KB的Flash存儲器,數(shù)據(jù)總線上接1KB的SRAM存儲器,以模擬一個目前主流的閃存單片微機工作環(huán)境。并設(shè)定附加緩存指令陣列的容量可以存儲16條指令(w=4)。使用一般應用程序測試的結(jié)果表明使用了附加緩存后,微處理器對指令內(nèi)存的訪問次數(shù)減少了36%,從而使微處理器功耗下降了29%。
參考文獻[1]C.Su and A.M.Despain,“Cache Design Trade-offs for Power and PerformanceOptimizationA Case Study,”Proc.Int’l.Symp.on Low Power Design,pp.63-68,1995. J.Kin,M.Gupta and W.Mangione-Smith,“The Filter CacheAn EnergyEfficient Memory Structure,”Proc.Int’l.Symp.on Microarchitecture,pp.184-193,December,1997. N.Bellas,I.Hajj and C.Polychronopoulos,“A.New Scheme for I-Cache energyreduction in High-Performance Processors,”Power Driven MicroarchitectureWorkshop,held in conjunction with ISCA 98,Barcelona,Spain,June 28th 1998. L.H.Lee,J.Scott,B.Moyer and J.Arends,“Low-Cost Branch Folding forEmbedded Applications with Small Tight Loops,”Int’l Workshop on Compiler andArchitecture Support for Embedded Computing Systems,Washington D.C.,December 1998. B.Moyer,L.H.Lee and J.Arends,“Data Processing System Having a Cache andMethod Therefor,”US Patent,no.5,893,142,6th April,1999.
權(quán)利要求
1.一種用于數(shù)據(jù)處理裝置(包括微處理器、微控制器和數(shù)字信號處理器)的附加指令緩存電路(以下簡稱附加緩存)。該附加緩存位于嵌入式微處理器內(nèi)核與指令存儲器之間。包含一個用于控制整個附加緩存工作的控制器;以及一個可以存放2w(w為整數(shù))條指令的指令陣列。該附加緩存通過檢測并在指令陣列中暫存正在執(zhí)行的小循環(huán)體,繼而在微處理器持續(xù)執(zhí)行該小循環(huán)體期間,改由附加緩存提供所需指令,從而避免微處理器進行指令存儲器的訪問操作直至循環(huán)結(jié)束。
2.種實施權(quán)利要求1的方法的裝置,其指令的存儲采用直接映射緩存結(jié)構(gòu),并且不需要存儲被存指令的地址標識(TAG)。
3.種實施權(quán)利要求1的方法的裝置,其控制器采用一個具有3個狀態(tài)的狀態(tài)機,分別對應于空閑狀態(tài),裝載狀態(tài)和激活狀態(tài)。
全文摘要
一種用于數(shù)據(jù)處理裝置(包括微處理器、微控制器和數(shù)字信號處理器)的新型附加指令緩存電路(以下簡稱附加緩存)。該附加緩存在微處理器系統(tǒng)中位于微處理器內(nèi)核與指令存儲器之間。該附加緩存通過發(fā)現(xiàn)并暫存程序中的小循環(huán)體,繼而在微處理器持續(xù)執(zhí)行該小循環(huán)體期間,改由附加緩存提供所需指令,避免微處理器進行指令存儲器的訪問操作,從而降低微處理器的功耗。附加緩存的控制電路可以在微處理器訪問指令存儲器之前精確地知道是否將由其來提供下一條指令,無需進行任何預測,從而不會導致微處理器性能的損失。本發(fā)明實現(xiàn)了用較小的成本代價大幅度降低微處理器系統(tǒng)功耗的目的,并且對微處理器性能沒有任何不利影響。
文檔編號G06F12/08GK1916840SQ20051002896
公開日2007年2月21日 申請日期2005年8月19日 優(yōu)先權(quán)日2005年8月19日
發(fā)明者陳新, 顧萌 申請人:上海采微電子科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
安庆市| 恭城| 灌南县| 兴隆县| 通辽市| 阿巴嘎旗| 竹山县| 瓦房店市| 安新县| 曲沃县| 长寿区| 安庆市| 安泽县| 保山市| 夹江县| 什邡市| 江安县| 邵阳市| 航空| 抚远县| 恩施市| 桃江县| 察哈| 阿巴嘎旗| 大连市| 泽州县| 石林| 湘潭市| 邵东县| 龙川县| 南雄市| 五大连池市| 科技| 彭泽县| 平罗县| 长宁区| 兰西县| 镶黄旗| 福海县| 正定县| 墨脱县|