[發(fā)明專利]一種容忍cache缺失快速清空流水線的異常處理方法及其處理結(jié)構(gòu)在審
| 申請?zhí)枺?/td> | 201410628863.3 | 申請日: | 2014-11-10 |
| 公開(公告)號: | CN104461758A | 公開(公告)日: | 2015-03-25 |
| 發(fā)明(設(shè)計)人: | 肖建青;裴茹霞;李紅橋;張洵穎;婁冕 | 申請(專利權(quán))人: | 中國航天科技集團公司第九研究院第七七一研究所 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F9/30 |
| 代理公司: | 西安通大專利代理有限責(zé)任公司 61200 | 代理人: | 徐文權(quán) |
| 地址: | 710000 *** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 容忍 cache 缺失 快速 流水線 異常 處理 方法 及其 結(jié)構(gòu) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及哈佛結(jié)構(gòu)的RISC處理器在進行異常處理時能夠快速清空流水線的結(jié)構(gòu)及方法,具體為一種容忍cache缺失快速清空流水線的異常處理方法及其處理結(jié)構(gòu)。
背景技術(shù)
目前高性能微處理器普遍使用層次化的多級cache來作為數(shù)據(jù)和指令的緩沖,以減小處理器和存儲器之間的速率差異。其中,第一級cache具有很小的訪問延遲,基本上與處理器的速率保持一致,為了獲得指令和數(shù)據(jù)的并行訪問,它通常會分成獨立的指令cache和數(shù)據(jù)cache,即所謂的哈佛結(jié)構(gòu);第二級cache一般將指令和數(shù)據(jù)統(tǒng)一存放在一起,它可以在片內(nèi)也可以在片外;在未來的高端設(shè)計中,將大容量的第三級cache集成在片內(nèi)也很有可能成為一種普遍的技術(shù)手段。但無論怎樣,一級cache的缺失始終是影響處理器性能的重要因素,這種影響不僅表現(xiàn)在處理器執(zhí)行正常功能的過程中,而且還表現(xiàn)在它處理異常情況的方式上。對于當(dāng)前絕大多數(shù)主流的RISC微處理器而言,它們一般都采用精確異常的處理方式,即在發(fā)生異常時,要保證異常指令之前的所有指令都已經(jīng)成功執(zhí)行,而異常指令之后所有進入流水線的指令都不能執(zhí)行,必須被清空掉;此后處理器才從異常入口地址處取新指令并開始執(zhí)行異常處理子程序。在流水線清空過程中,由于潛在的cache缺失,就可能導(dǎo)致整個流水線被阻塞,使得異常處理也停滯不前,最終影響計算機系統(tǒng)處理異常事件的實時性。
為了降低cache缺失所導(dǎo)致的性能損失,目前從體系結(jié)構(gòu)的層面上已經(jīng)提出了兩種技術(shù)手段:(1)非阻塞cache技術(shù),即發(fā)生cache缺失時,流水線不被阻塞,可以繼續(xù)執(zhí)行其后續(xù)無關(guān)的指令,以此來隱藏cache缺失的開銷。它通過一個專門的“缺失隊列”來存儲缺失指令,直到缺失的數(shù)據(jù)塊從主存中讀回,因此cache缺失能夠被隱藏的周期數(shù)取決于缺失指令后續(xù)的無關(guān)指令的條數(shù)。顯然,這種結(jié)構(gòu)在處理器執(zhí)行正常功能時是有助于性能提升的,但在異常處理中卻無濟于事,因為缺失指令的后續(xù)指令都要被流水線清空掉,它們本身并不占用有效的執(zhí)行時間,也就無法隱藏缺失的開銷;另一方面,非阻塞本質(zhì)上是一種亂序執(zhí)行的思想,對于嚴格保證指令順序性的精確異常來說,只會增加控制的復(fù)雜度。(2)預(yù)取cache技術(shù),它通過提前激發(fā)將來可能產(chǎn)生的cache缺失行為,使缺失處理與缺失指令之前的其它指令并行執(zhí)行,從而隱藏cache缺失的開銷。為了實現(xiàn)預(yù)取功能,它需要“存儲器參考預(yù)測表”和“預(yù)取隊列”兩個硬件邏輯。每次使用分支預(yù)測器產(chǎn)生的取指地址去訪問存儲器參考預(yù)測表,如果有匹配項,則說明其對應(yīng)指令是將要執(zhí)行的,于是將該指令放入預(yù)取隊列中,以提前觸發(fā)潛在的cache缺失。遺憾的是,該技術(shù)也只適用于處理器執(zhí)行正常功能的情況,在進行異常處理時并不湊效,這是因為異常事件是少有的隨機事件,不具有統(tǒng)計特性,那么分支預(yù)測器產(chǎn)生的取指地址在訪問存儲器參考預(yù)測表時,很可能沒有匹配項,而不能預(yù)測到將要執(zhí)行哪條指令,最終也就無法提前觸發(fā)潛在的cache缺失行為。
如何有效的減少cache缺失開銷、快速的進行異常處理,是實時計算機系統(tǒng)的必然要求。然而,以上兩種技術(shù)針對異常事件的處理,仍然無法避免cache缺失導(dǎo)致的流水線停頓,經(jīng)檢索相關(guān)文獻,目前也沒有能很好解決該問題的方法。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種通過在常規(guī)的阻塞式cache中設(shè)置“假命中”狀態(tài)來消除因無效指令的cache訪問缺失所導(dǎo)致的流水線停頓,不增加額外復(fù)雜的硬件邏輯即能夠在偶發(fā)的異常事件中快速的清空流水線,從而加快異常處理的速度,提高計算機系統(tǒng)實時性的容忍cache缺失快速清空流水線的異常處理方法及其處理結(jié)構(gòu)。
本發(fā)明容忍cache缺失快速清空流水線的異常處理方法通過以下技術(shù)方案來實現(xiàn):
首先,修改cache的命中判斷邏輯:定義“假命中”狀態(tài),標識被流水線清空的無效指令對cache的訪問結(jié)果;
然后,定義“假命中”狀態(tài)下cache的行為:cache無需給流水線提供正確的指令碼或數(shù)據(jù)字,直接將訪問地址對應(yīng)的緩存信息進行輸出;
其次,實現(xiàn)指令cache“假命中”狀態(tài)的流水線控制:取指操作中將處理器生成的流水線清空信號直接作用于指令cache,使當(dāng)前周期無效指令在訪問cache時能夠選擇“假命中”狀態(tài);
再次,實現(xiàn)數(shù)據(jù)cache“假命中”狀態(tài)的流水線控制:在異常處理開始時,使用處理器生成的流水線清空信號與存儲器訪問級無效標識信號的“或”邏輯作為數(shù)據(jù)cache“假命中”狀態(tài)的選擇控制;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國航天科技集團公司第九研究院第七七一研究所,未經(jīng)中國航天科技集團公司第九研究院第七七一研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410628863.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 調(diào)整最大報文長度的方法及裝置
- 在無線通信系統(tǒng)中基于延遲容忍信息處理操作的方法和支持該方法的設(shè)備
- 一種基于核內(nèi)存儲的SYN-Flood攻擊的容忍系統(tǒng)及容忍方法
- 通信終端和通信方法
- 一種網(wǎng)絡(luò)業(yè)務(wù)質(zhì)量風(fēng)險容忍度的評估方法和系統(tǒng)
- 一種出行等候容忍時間預(yù)測方法、系統(tǒng)、裝置及存儲介質(zhì)
- 基于容忍機制的環(huán)回檢測方法及系統(tǒng)
- 一種數(shù)據(jù)傳輸?shù)姆椒ā⒔尤腩悇e創(chuàng)建的方法及裝置
- 光學(xué)鄰近修正、光掩膜版制作及圖形化方法
- 通過非透明橋設(shè)備傳輸信息的系統(tǒng)、方法和該設(shè)備
- 一種基于CACHE的數(shù)據(jù)處理系統(tǒng)及其方法
- Cache的自適應(yīng)插入策略的實現(xiàn)方法
- 用于多核處理器的網(wǎng)絡(luò)共享Cache及其目錄控制方法
- 高速緩沖存儲器cache中cache塊的替換處理方法和裝置
- 一種Cache集群中刪除數(shù)據(jù)的方法及系統(tǒng)
- 一種資源分配方法和高速緩沖存儲器Cache
- 一種基于Cache空間預(yù)約算法的計算方法
- Cache數(shù)據(jù)處理方法以及Cache
- 數(shù)據(jù)塊寫入方法、裝置、處理器芯片及Cache
- 一種提升Cache命中率的方法、系統(tǒng)、設(shè)備及介質(zhì)





