[發明專利]一種超前指針法實現前端流水線中指令預取的方法有效
| 申請號: | 201811389862.2 | 申請日: | 2018-11-21 |
| 公開(公告)號: | CN111209043B | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 費曉龍 | 申請(專利權)人: | 華夏芯(北京)通用處理器技術有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京科家知識產權代理事務所(普通合伙) 11427 | 代理人: | 陳娟 |
| 地址: | 100080 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 超前 指針 實現 前端 流水線 指令 方法 | ||
本發明公開了前端流水線技術領域的一種超前指針法實現前端流水線中指令預取的方法,該超前指針法實現前端流水線中指令預取的方法如下:在底層硬件通過超前預取指針超前訪問cache的tag邏輯實現提前預知cache miss以及預知fetch的pc所要訪問的數據在data sram中的具體位置以及超前分支預測提前預知分支跳轉,因此可以減少由于分支跳轉而擦除icache模塊中流水訪問的數據,進一步減少了icache的功耗,縮短了前端流水線的流水級數以及當預知icache miss后可以做到真正pc指向miss的cache line之前提前將數據L2調度回來,因此很大程度上減少了前端流水線上由于icache miss造成的流水線bubble,提高了前端流水線的執行效率。
技術領域
本發明公開了一種超前指針法實現前端流水線中指令預取的方法,具體為前端流水線技術領域。
背景技術
由于目前絕大多數關于cpu在體系結構設計中,CPU的前端流水線采用icache和分支預測同時進行的方式,而icache/分支預測無論采用串行或者并行訪問,通常需要2-3個時鐘的延時,也就是說假設分支指令跳轉的情況下,需要在訪問完icache和分支預測器之后才能知道指令跳轉結果,如果跳轉此時需要擦除在這條跳轉指令之前訪問icache的三級流水,這樣勢必浪費期間產生的動態功耗,另外當icache發生cache miss時才去訪問L2cache,此時的icache缺失代價會使前端流水線產生相應等cycle的bubble,因此需要解決上述問題,需要對icache的tag邏輯在體系結構的算法流程上進行改進,也就是需要一個硬件預取pc對cache的tag index以及分支預測器進行快速訪問并將訪問的結果存入預取緩存中,當instruction buffer有空閑entry時才基于預取緩沖中取出cache的位置信息訪問cache的data ram將數據真正的取出,因此這種方式fetch訪問icache只有一級流水,并且由于預取緩存的填充是在分支預測之后,因此真正的icache數據訪問已經過濾掉了分支跳轉的那些線性訪問icache的pc,因此降低了由于分支跳轉造成的icache的功耗浪費,綜合考慮采用硬件預取pc超前訪問解決了傳統流水線暴露的三個問題,1.傳統pc訪問方式icache會由于分支指令跳轉造成icache內部指令流水被擦除,因此浪費大量線性訪問所做的功,2.分支預測錯誤造成的代價過大,由于傳統設計中為了解決icache miss后需要較長時間才能夠將指令從L2cache中取回,因此需要一個較深的instruction buffer,但是代價是一旦發生分支預測錯誤就需要將前端流水線擦除,因此instruction buffer越深,擦除流水線的代價就越大,造成大量的功耗浪費,而現有方式中由于預取緩存中只有除pc外的額外4個bit的開銷就可以等效代替預取緩存中存儲的一個line的指令,因此當分支預測錯誤擦除流水線時也只需要額外擦除這4bit相比于擦除256bit大大節省了功耗開銷。3.由于無法預知cache miss因此icache miss會將大量bubble送入前端流水線,影響前端流水線的執行效率。
發明內容
本發明的目的在于提供一種超前指針法實現前端流水線中指令預取的方法,以解決上述背景技術中提出的傳統pc訪問方式icache會由于分支指令跳轉造成icache內部指令流水被擦除,分支預測錯誤造成的代價過大,無法預知cache miss因此icache miss會將大量bubble送入前端流水線,影響前端流水線的執行效率的問題。
為實現上述目的,本發明提供如下技術方案:一種超前指針法實現前端流水線中指令預取的方法,該超前指針法實現前端流水線中指令預取的方法如下:
Fetch發送1個節拍的訪問模式,連續的采用預取模式訪問cache和分支預測器,分支預測器將訪問結果以及icache_tag訪問結果返回給fetch之后fetch基于訪問結果決定下一步操作;
如果分支預測器方向預測不跳轉并且cache命中則將分支預測方向結果以及cache_tag命中哪一路的信息以及當前pc寫入預取緩存;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華夏芯(北京)通用處理器技術有限公司,未經華夏芯(北京)通用處理器技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811389862.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種低溫氣化介質輸送泵
- 下一篇:一種便于擴展和配置的性能檢測方法





