[發明專利]BHT在具有可變長度指令集執行模式的處理器中的有效使用有效
| 申請號: | 200780034094.2 | 申請日: | 2007-09-28 |
| 公開(公告)號: | CN101517534A | 公開(公告)日: | 2009-08-26 |
| 發明(設計)人: | 羅德尼·韋恩·史密斯;布萊恩·邁克爾·斯坦普爾 | 申請(專利權)人: | 高通股份有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京律盟知識產權代理有限責任公司 | 代理人: | 劉國偉 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | bht 具有 可變 長度 指令 執行 模式 處理器 中的 有效 使用 | ||
技術領域
本發明通常涉及處理器領域,且特定來說涉及在具有可變長度指令集執行模式的處理器中分支歷史表的有效組織。?
背景技術
處理器的傳統指令集架構具有統一的指令長度。即,指令集中的每一指令均包括相同數目的位(例如,16或32)。所述技術中已知具有可變長度指令集執行模式的處理器-其中所述處理器可執行具有不同位長度的指令。例如,ARM架構的最近版本包含在16位指令集執行模式(Thumb模式)中執行的16位指令以及在32位指令集執行模式(ARM模式)中執行的傳統32位ARM指令。?
執行可變長度指令的處理器的一個問題是指令不會落在統一存儲器邊界上。因此,通過指令(或與指令相關聯的輔助構造)遞增或對所述指令隨機定址的電路或操作不能利用統一遞增或定址方案。相反,其必須基于當前正在執行的指令的長度(即當前指令集執行模式)改變定址方案。?
大多數現代處理器采用管線式架構,其中使各自具有多個執行步驟的順續指令交疊執行。為得到最大效能,指令應連續地流過管線。致使指令在管線中停止的任何情形均有害地影響效能。如果必須從管線清除并隨后重新提取指令,那么效能及功率消耗兩者均遭受損失。?
幾乎所有的現實世界程序均包含條件分支指令,且條件分支指令的實際分支行為直到在管線深處對所述指令進行評價時才獲知。為避免由等待分支指令的實際評價將引起的停止,大多數現代處理器采用某一形式的分支預測,借此在管線中較早地預測條件分支指令的分支行為。基于所預測的分支評價,處理器推測性地提取并執行來自預測的地址的指令,所述預測的地址是分支目標地址(如果預測采用所述分支)或者所述分支指令之后的下一順序地址(如果預測不采用所述分支)。當確定實際的分支行為時,如果對分支進行了錯誤地預測,那么必須從管線中清除所述推測性地提取的指令,且從正確的下一地址提取新的指令。響應于不正確的分支預測而推測性地提取指令會負面影響處理器效能和功率消耗。因此,改善分支預測的準確性是重要的設計目標。?
分支預測的數種方法是基于正在預測的分支指令及/或同一代碼中的其它分支指令的分支評價歷史。對實際代碼的廣泛分析指示,不久以前的分支評價樣式可能是未來分支指令的評價的良好指示符。?
已知一種形式的分支預測利用分支歷史表(BHT)來存儲對最近分支評價的預測。作為一個實例,BHT可包括多個飽和計數器,所述多個飽和計數器的MSB充當雙模態分支預測器。例如,每一計數器均可包括呈現四種狀態中的一者的2位計數器,所述四種狀態中的每一者被指派一加權預測值,例如:?
11-強預測采用?
10-弱預測采用?
01-弱預測不采用?
00-強預測不采用?
每當對應的分支指令評價為“采用”時,計數器均遞增,而每當所述指令評價為“不采用”時,計數器均遞減。計數器的MSB是雙模態分支預測器;其將預測待采用或者不采用的分支,而不管基本預測的強度或權重如何。飽和計數器減少罕見分支評價的預測錯誤,因為在一個方向上的單個分支評價不會改變在另一方向上為飽和的計數器的預測。?
在“局部”BHT的情況下,每一分支指令(正在預測其分支評價)與單個BHT計數器相關聯。因此,用分支指令地址(BIA)的一部分給BHT加索引。許多現代處理器在單個提取操作中提取塊或提取群組中的多個指令。在此情況下,認為與塊或提取群組相關聯的地址為BIA,如所述措辭在本文中所使用的。在“全局”BHT的情況下,在給BHT計數器加索引之前,最近全局分支評價歷史可與BIA級聯(g選擇)或與其散列(g共享)。?
具有不同指令長度的指令集使BHT的設計復雜。特定來說,在每一不同的指令集執行模式中對BHT進行不同的理想加索引,這是因為每一計數器均與一分支指令相關聯,且在不同的指令集執行模式中所述指令落在不同的存儲器邊界上。一個已知解決方案是簡單地基于最大指令長度確定BHT大小,而基于最小指令長度對其定址。此解決方案使得表的大部分空白,或具有與較長分支指令相關聯的復制條目。另一已知解決方案是在每一不同指令集執行模式中有效地使用指令地址的不同部分來多路復用BHT索引地址。此添加大量多路復用器,從而增加硅面積及功率消耗。然而,更關鍵地,其對關鍵路徑添加延遲,由此增加循環時間且負面地影響處理器效能。?
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于高通股份有限公司,未經高通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200780034094.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:到套接口的網絡路由
- 下一篇:具有3D連通陰影的鼠標指針





