[發(fā)明專利]分離式指令cache結構在審
| 申請?zhí)枺?/td> | 202010114531.9 | 申請日: | 2020-02-25 |
| 公開(公告)號: | CN111190645A | 公開(公告)日: | 2020-05-22 |
| 發(fā)明(設計)人: | 楊思博;商家瑋;何國強 | 申請(專利權)人: | 江蘇華創(chuàng)微系統(tǒng)有限公司;中國電子科技集團公司第十四研究所 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210000 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分離 指令 cache 結構 | ||
本發(fā)明公開了分離式指令cache結構,將指令cache拆分為兩部分,一部分稱為BIC(Branch Information Cache),另一部分稱為RIC(Remainder Information Cache)。由于BIC只保存指令的一部分內(nèi)容,因此BIC的容量和讀寫寬度都比傳統(tǒng)的指令cache小的多,可以有更低的訪問延遲,有利于減少取指流水線的級數(shù),BIC和RIC的內(nèi)容合起來是傳統(tǒng)的1級指令cache的內(nèi)容,由于RIC的面積優(yōu)化,分離式指令cache的總面積甚至可能小于傳統(tǒng)的1級指令cache。與傳統(tǒng)的0級+1級的兩級指令cache方案對比,本發(fā)明可達到類似的時序優(yōu)化效果,但是避免了0級指令cache命中率低的問題,同時在面積和功耗上大大低于兩級指令cache的方案。
技術領域
本發(fā)明涉及指令cache技術領域,具體為分離式指令cache結構。
背景技術
指令cache是CPU中用于緩存指令的部件,CPU在運行時根據(jù)PC從指令cache中取得地址;之后會對這些地址進行預譯碼,并根據(jù)預譯碼的結果進行分支預測;分支預測會給出新的PC,使用新的PC再次訪問指令cache獲得新的指令。以上過程周而復始,使得CPU能夠在指令cache命中時持續(xù)地獲得指令供給。
如圖1中所示,從獲得PC開始到對應的指令到達分支預測器進行預測獲得預測的取指PC需要經(jīng)過多個步驟,這些步驟難以在一個時鐘周期內(nèi)完成,因此普遍被劃分到多級流水線當中,這就導致指令到達分支預測器時后面還有多級流水線需要填充。由于進行分支預測前無法預測指令是否發(fā)生跳轉以及跳轉的目標地址,因此只能假設指令不發(fā)生跳轉來按照PC自然增加的方向繼續(xù)取指。當分支預測器預測指令發(fā)生跳轉時,要改變?nèi)≈傅姆较?,此時已經(jīng)填充到取指流水線中的指令將被無效化,新的指令要重新經(jīng)過圖1中的流程,這會導致后面的流水線級有幾個時鐘周期沒有指令經(jīng)過。在現(xiàn)代CPU中,從獲得PC到進行分支預測往往需要經(jīng)過3~4個周期,如果分支指令被預測為跳轉則至少會有1~2個周期沒有有效指令進入后面的流水線中。在實際的程序運行過程中,分支指令占到很高的比例,一般認為在定點程序的運行中有25%的指令是分支指令,現(xiàn)代的超標量CPU一般都能做到每周期執(zhí)行4條或更多的指令,這就表示平均每周期都遇到一條分支指令。在這種情況下取指流水線會因為分支預測為跳轉而被頻繁排空,這造成處理器的取指很不連續(xù),對處理器的性能造成很大影響。
為了減小上述情況對CPU性能的影響, 有些CPU在指令cache之外又增加了一個容量更小、結構更簡單的0級指令cache(傳統(tǒng)的指令cache被視為1級cache),0級指令cache有更短的訪問時間,當它命中時可以減少從獲得PC到進行分支預測的延遲。
0級指令cache為了相對1級指令cache減小訪問延遲必須減小容量和設計復雜度,比如減少組相聯(lián)度,使用路預測直接提前預測命中的路并只讀取該路以減小讀出的數(shù)據(jù)寬度等。這些方法毫無疑問使得0級指令cache的命中率比1級指令cache的命中率低,而采用0級指令cache的CPU的1級指令cache的訪問延遲往往會加長,因此如果0級指令cache的命中率低則對性能提高有限甚至在某些場景下會影響性能。此外,實現(xiàn)0級指令cache需要占用很大的芯片面積。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供分離式指令cache結構,以解決上述背景技術中提出的問題。
為實現(xiàn)上述目的,本發(fā)明提供如下技術方案:分離式指令cache結構,將指令cache拆分為兩部分,一部分稱為BIC,另一部分稱為RIC。
優(yōu)選的,當取指的指令為分支指令時,所述BIC內(nèi)保存指令中可能與分支預測相關的信息,所述RIC指令則保存指令中的其他部分,在分支預測時只獲取BIC指令內(nèi)的數(shù)據(jù),然后將BIC與RIC中的數(shù)據(jù)拼裝為完整的指令進行譯碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇華創(chuàng)微系統(tǒng)有限公司;中國電子科技集團公司第十四研究所,未經(jīng)江蘇華創(chuàng)微系統(tǒng)有限公司;中國電子科技集團公司第十四研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010114531.9/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





