新四季網

一種降低指令cache功耗的控制邏輯的製作方法

2023-06-01 16:22:01

專利名稱:一種降低指令cache功耗的控制邏輯的製作方法
技術領域:
本發明涉及一種降低指令cache功耗的控制邏輯。
背景技術:
cache可以提供比主存快得多的訪問速度,已經成為現代CPU的必要組成部件。但同時cache也成為晶片的主要耗電部件,在有些設計中,cache的耗電量佔了整個晶片的30%以上。在對功耗非常敏感的應用中,cache的應用受到了限制,結果往往是減少cache的容量來求得折衷的效果。
Cache的基本結構一般由數據存儲器和索引標誌存儲器兩部分組成。下面以一塊32位CPU中的指令cache為例來說明其工作原理,該cache容量8K字節,行大小為16位元組,映像方式是2路組關聯,如圖1所示。
1)來自CPU的地址被分為28位行幀地址和4位行內地址,行幀地址又分成20位標誌和8位索引。
2)根據8位索引同時訪問cache中的兩路組,讀取相應索引標誌存儲器的有效位、標誌以及數據存儲器的數據。
3)行幀地址的標誌域與步驟2讀取的兩個行標誌作相等比較。為保證相應行的數據有效,對應行的有效位必須是被置位的,否則比較結果無效。
4)假設有一行標誌與行幀地址的標誌相匹配,則由2選1多路選擇器選取相應的數據行。兩個行標誌同時匹配的情況是不可能發生的,因為替換算法保證了一個數據行只有一個行標誌。
5)讀cache失配時,cache向CPU發出一個停頓信號通知CPU等待,並從主存中讀入數據。
在圖1中,兩塊索引標誌存儲器可以用一個靜態RAM來實現。
除去cache的控制通路外,cache的數據通路就是幾塊靜態RAM。節省功耗的辦法可以是改進靜態RAM的內部結構,這一方法已被廣泛地研究和討論。另外在低功耗SRAM基礎上,設法減少對cache的訪問次數。
在此之前,對減少cache訪問次數的研究集中在分步訪問上。即先訪問索引標誌存儲器,以訪問的結果來確定是否訪問某一組數據存儲器,如圖2所示。這樣會不可避免地把索引標誌存儲器和數據存儲器放在不同的流水節拍上,從而增加流水線級數,影響系統性能。

發明內容
本發明提出了一種降低指令cache功耗的控制邏輯。
它的步驟如下1)根據程序順序執行的特點,在一個cache行內只訪問一次索引標誌存儲器,保存行匹配和組選擇結果;2)當下一個指令仍然在該cache行內,利用所保存的組選擇結果來減少對數據存儲器的訪問;3)根據程序順序執行的特點,作出對下一個要訪問的cache行的預測並利用間隙提前訪問索引標誌存儲器,從而提前得到下一個cache行的行匹配和組選擇結果;4)當取下一cache行的指令時,利用步驟3的組選擇結果來減少對數據存儲器的訪問;5)使用環形歷史緩衝區來保存組選擇的歷史記錄,並通過保存歷史記錄來減少對索引標誌存儲器的訪問本發明的優點在於硬體開銷小,方法簡單,節省功耗效果明顯,適用於16位,64位等不同字長,多路組相關的指令cache的設計。本發明適用於不同字長的CPU或ASIC晶片。


圖1是cache的基本結構示意圖;圖2是已公布的低功耗cache的結構示意圖;圖3是利用組選擇環形歷史緩衝區的低功耗指令cache的結構示意圖;圖4是對組選擇環形歷史緩衝區的工作狀態示意圖;圖5是cache控制通路的狀態示意圖;具體實施方式
本發明充分利用了指令執行的行為特點。
對於地址上相鄰的兩條指令,設前一條指令為A,後一條指令為B,在cache裡的存放可能有兩種情況。即A和B可能在同一行內,也可能在相鄰的行內。由於指令執行具有順序性的特點,據研究結果,80%左右的程序代碼都是順序執行的。本發明利用這個特點對行內和相鄰行之間的cache訪問進行優化。
對於A和B在行內的情況,因為一個行只有一個標誌,對索引標誌存儲器的一次訪問得到的信息就可以代表這個行內其它地址的信息。在訪問A後,保持所選中的組選擇和行匹配(命中)信息,並把這兩個信息位用於這個行的其它地址的指令的讀取。因為指令的順序性,在大部分情況下,下一個要取的指令就是指令B。在取B時,與圖1所示的cache基本結構的工作過程不同,步驟2對索引標誌存儲器的訪問可以略去,對數據存儲器的訪問也只要訪問其中被選中的那組就可以了。
對於A和B分別在相鄰行的情況,也可以利用指令順序的特點。由於一個行內只需要訪問一次索引標誌存儲器,所以在大部分情況下,索引標誌存儲器處於空閒狀態。所以在取A所在的行的指令時,預測下一條要取的指令B在順序的下一個行中,提前訪問索引標誌存儲器以得到B所在行的組選擇和行匹配信息。這樣,當取指令B時,對數據存儲器的訪問也只要訪問其中被選中的那組就可以了。所以說,提前訪問索引標誌存儲器可以大大減少數據存儲器上的功耗,這是本發明的一個顯著特徵。
另外根據對程序行為的研究得出,向後的跳轉遠遠多於向前的跳轉,所以如果能夠能把以前訪問索引標誌存儲器的結果記錄下來,就可以避免重複訪問索引標誌存儲器。本發明利用環形歷史緩衝區來記錄組選擇的歷史。
利用組選擇環形歷史緩衝區的低功耗指令cache的結構如圖3所示。環形歷史緩衝區在說明之前,先定義跳轉指令分類1)相對位移指令,作相對地址的跳轉,如MIPS中的b,beq等指令。
2)絕對位移指令,作絕對地址的跳轉,如MIPS中的j,jal等指令。
本發明通過環形歷史緩衝區來記錄組選擇的結果。如圖4所示。環形歷史緩衝區中設置三個指針,一個頭指針,一個尾指針和一個當前行指針。在頭指針和尾指針之間的部分是有效區,代表了一段連續的地址區域。環形歷史緩衝區中位於有效區的信息單元記錄著這個連續地址區域內的cache行上的組選擇信息。
1)程序復位後,環形歷史緩衝區的三個指針都為0。如圖4a2)當索引標誌緩衝區在空閒狀態,如果下一行在有效區以外,即頭指針與當前行指針相等,則提前訪問下一行的一個組,訪問所預測的組的索引標誌存儲器。
3)在開始訪問下一行的指令時,環形歷史緩衝區的當前行指針下移。如果步驟2預測成功,組選擇結果存入環形歷史緩衝區的頭指針所指的位置,頭指針下移,如圖4b;如果步驟2預測失敗,環形歷史緩衝區等待正確的組選擇結果,頭指針直到得到行匹配和組選擇結果後才下移,如圖4c。
4)如果發生相對位移指令,只要位移量落在環形歷史緩衝區的有效區內,當前行指針作相應變動,如圖4d。
5)如果環形歷史緩衝區滿了,頭指針和尾指針指向同一單元,如圖4e。
6)如果發生絕對位移指令,或者相對位移指令落在環形歷史緩衝區的有效區外,將環形歷史緩衝區清空,跳到步驟2開始執行。
因為環形歷史緩衝區記錄的是順序的行,可以推理得出只要環形歷史緩衝區的信息單元個數小於cache行數,在除了絕對位移和相對位移跳出有效區的情況外,即使發生cache不命中,有效區內的信息仍然維持有效。控制狀態機仍然以上述的32位CPU為例,以下作舉例說明。在舉例說明前,先定義Cache的訪問模式1)基本模式指同時訪問所有組的索引標誌存儲器和數據存儲器,以索引標誌存儲器的結果來選擇數據存儲器的輸出。
2)組選擇省電模式指只訪問一個組的索引標誌存儲器和數據存儲器。
3)數據省電模式指只訪問一個組的數據存儲器。
4)索引省電模式指在訪問當前行的一個組的數據存儲器的同時,根據預測訪問下一行的一個組的索引標誌存儲器。
5)行替換模式在cache不命中時,從主存取數據來替換cache行。
Cache控制通路狀態機如圖5所示,在狀態機中共有五個狀態,對應五種訪問模式,狀態的切換過程如下1)狀態機被復位到正常模式訪問cache.
2)如果正常模式訪問cache沒有命中,就進入行替換模式。
3)在行替換完成後,根據低位地址來區別是進入數據省電模式還是索引省電模式。更新環形歷史緩衝器。
4)在數據省電模式下,由低位地址判斷是否進入索引省電模式。
5)如果在索引省電模式下預測命中,回到數據省電模式,否則進入組選擇省電模式。更新環形歷史緩衝器。
6)如果在組選擇省電模式下命中,回到數據省電模式,否則,進入行替換模式。更新環形歷史緩衝器。
7)如果發生絕對跳轉或相對轉移跳出有效區,進入正常模式,清空環形歷史緩衝器。
在順序執行時,只需要地址的低位就可以判斷訪問地址是否落在上次訪問的行內了。比如說在介紹基本結構時拿來舉例的cache裡,對32位指令,地址線A1,A0是沒有實際意義的。所以如果次低的兩位地址線(A3,A2)都為O,則沒有落在上次訪問的行內,反之,則落在上次訪問的行內。同理,在判斷何時進入索引省電模式時,也可以用地址的低位來判斷。
如果程序控制發生轉移,可以通過流水線其它節拍來的轉移控制信號和地址偏移量來判斷是否落在環形歷史緩衝區內。例如,在上例中如果實現了一個包括8個信息單元的環形歷史緩衝區,在向後位移時,先用一個3位減法器計算當前行指針和尾指針的位移 將行位移量和當前低位地址合併得到當前地址相對尾指針的偏移量 如果程序位移偏移量的低5位小於當前地址相對尾指針的偏移量,就說明程序位移仍然在有效區內。
可以看出,在例子中,如果一行有8個指令,在順序執行的情況下,第一個指令在預測成功時工作在數據省電模式,在預測失敗時工作在組選擇省電模式下;取接著的6個指令時,工作在最省電的數據省電模式下;第8個指令工作在索引省電模式下。所以在順序執行的情況下,每個cache行指令越多越省電。當然在系統設計中,還有性能方面的考慮。對下一行所在的組進行預測的分析在索引省電模式下,可以對下一個cache行所在的組進行預測,並只訪問所預測的組的索引標誌存儲器。如果預測命中,就不需要訪問另一個組的索引標誌存儲器;如果不命中,進入組選擇省電模式。在例子中,如果隨機作出預測,指令在所預測的組內的概率應該為50%。採用更準確的預測算法可以節省遠遠高於50%的索引標誌存儲器訪問次數。
權利要求
1.一種降低指令cache功耗的控制邏輯,其特徵在於,它的步驟如下1)在一個cache行內只訪問一次索引標誌存儲器,保存行匹配和組選擇結果;2)利用所保存的組選擇結果來減少對數據存儲器的訪問;3)作出對下一個要訪問的cache行的預測並利用間隙提前訪問索引標誌存儲器,從而得到下一行的cache行的行匹配和組選擇結果;4)在行與行切換時,利用步驟3的組選擇結果來減少對數據存儲器的訪問;5)使用環形歷史緩衝區來保存組選擇的歷史記錄和預測結果。
2.根據權利要求1所述的一種降低指令cache功耗的控制邏輯,其特徵在於所說的利用所保存的組選擇結果來減少對數據存儲器的訪問,即設置一存儲單元保存上次訪問過的數據存儲器的組號,在同一cache行內,只需訪問該存儲單元所指的數據存儲器,而不需要訪問索引標誌存儲器和其它組的數據存儲器。
3.根據權利要求1所述的一種降低指令cache功耗的控制邏輯,其特徵在於所說的作出對下一個要訪問的cache行的預測並提前訪問索引標誌存儲器,從而提前得到所預測的cache行的行匹配和組選擇結果。
4.根據權利要求1所述的一種降低指令cache功耗的控制邏輯,其特徵在於所說的在行與行切換時,利用預先獲得的組選擇結果來減少對數據存儲器的訪問。就是在取下一行的指令時,只需訪問預先得到的組選擇結果所指的數據存儲器,而不需要訪問索引標誌存儲器和其它組的數據存儲器。
5.根據權利要求1所述的一種降低指令cache功耗的控制邏輯,其特徵在於所說的使用環形歷史緩衝區來保存組選擇的歷史記錄和預測結果,在順序執行和相對位移跳轉仍然落在有效區內時,利用環形歷史緩衝區的輸出來替代訪問索引標誌存儲器。
6.根據權利要求1或3所述的一種降低指令cache功耗的控制邏輯,其特徵在於所說的作出對下一個要訪問的cache行的預測並提前訪問索引標誌存儲器,一次只訪問一個組的索引標誌存儲器,在命中的情況下,不對其它組的索引存儲器進行訪問。
7.根據權利要求1或5所述的一種降低指令cache功耗的控制邏輯,其特徵在於所說的相對位移跳轉落在有效區內,其判斷方法是利用相對位移的偏移量及跳轉地址的低位。
全文摘要
本發明公開了一種降低指令cache功耗的控制邏輯。一方面利用訪問索引標誌存儲器的間隙來提前訪問索引標誌存儲器,得到並保存下一個cache行的行匹配和組選擇信息,這使得在取指過程中,只需開啟一個組的數據存儲器就可以得到指令,從而減少對數據存儲器的訪問;在提前訪問索引標誌存儲器時,還可利用預測機制來減少對索引標誌存儲器的訪問。另一方面利用環形歷史緩衝區來記錄每次訪問索引標誌存儲器得到的組選擇信息及地址範圍,在程序跳轉時如果地址落在環形歷史緩衝區內,組選擇信息可以被重用,從而減少對索引標誌存儲器的訪問次數來節省功耗。利用本發明可以極大地節省功耗,而且具有硬體代價小,實現簡單的優點。
文檔編號G06F9/38GK1445661SQ0311656
公開日2003年10月1日 申請日期2003年4月21日 優先權日2003年4月21日
發明者張宇弘, 王界兵, 嚴曉浪 申請人:杭州中天微系統有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀