[發明專利]無預測延時的分支預測控制方法無效
| 申請號: | 200910095786.9 | 申請日: | 2009-01-22 |
| 公開(公告)號: | CN101477455A | 公開(公告)日: | 2009-07-08 |
| 發明(設計)人: | 嚴曉浪;項曉燕;葛海通;孟建熠 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 杭州天正專利事務所有限公司 | 代理人: | 王 兵;王利強 |
| 地址: | 310027浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 預測 延時 分支 控制 方法 | ||
技術領域
本發明涉及一種嵌入式處理器的分支處理過程。
背景技術
目前,包括嵌入式處理器在內的所有處理器,都使用流水線方式使指令的執行可以重疊進行以提高效率。而程序中分支指令的存在,導致了流水線的停頓,破壞了指令的并行執行。分支預測的引入,使分支指令后面的指令可以投機的執行,無需等待后級流水線返回分支指令的跳轉信息,從而提高了處理器的效率。
分支預測的準確率很大程度上影響了處理器的性能,為提高分支預測的準確率,分支預測機制經歷了從簡單的靜態預測機制到動態預測機制的發展過程。目前常見的動態分支預測機制有局部分支預測機制、全局分支預測機制、結合歷史相關和地址相關的兩級分支預測機制(如Gselect分支預測機制和Gshare分支預測機制)以及各種預測機制的組合機制如Alpha21264處理器中的分支預測器。分析這些分支預測機制,發現對于較短的分支預測,只有在前續分支預測結果被后級流水線確認的情況下,才能對當前分支指令做出準確的預測,即都為有延時的分支預測。
發明內容
為了克服已有的嵌入式處理器的分支預測機制的存在預測延時問題、預測準確率較低的不足,本發明提供一種消除預測延時,提高預測準確率的無預測延時的分支預測控制方法。
本發明解決其技術問題所采用的技術方案是:
一種無預測延時的分支預測控制方法,其特征在于:所述分支預測控制方法包括:
1)、設置兩級分支預測機制:
設置用于記錄經過后級流水線確認的分支預測歷史信息的全局歷史寄存器,以及用于記錄預測邏輯產生的未經后級流水線確認的預測歷史信息的虛擬歷史寄存器,設置用于記錄分支預測信息的分支預測存儲器;
虛擬歷史寄存器作為分支預測存儲器的全局讀索引,全局歷史寄存器作為分支預測存儲器的全局寫索引;
2)、如果前續分支指令的預測結果尚未被后級流水線確認,虛擬歷史寄存器讀取預測結果,預測邏輯進行分支預測;
當分支預測出現錯誤時,用全局歷史寄存器的值更新虛擬歷史寄存器以及分支預測存儲器的分支預測信息。
作為優選的一種方案:將分支跳轉歷史記錄作為分支預測的全局相關索引,索引當前分支預測器所在的存儲區;分支在程序中的空間地址作為局部相關索引,索引當前分支預測器所在特定存儲區下的特定位置。
作為優選的另一種方案:在上述優選的方案基礎上設置用于記錄預測邏輯產生的未經后級流水線確認的預測歷史信息的虛擬歷史寄存器,當虛擬歷史寄存器的值被錯誤預測結果污染時,用全局歷史寄存器實現對于虛擬歷史寄存器的更新,后續預測繼續正確的預測分支跳轉。
進一步,所述的全局歷史寄存器為第一移位寄存器,分支指令被后級流水線執行單元執行后,分支跳轉的結果被保存進入所述第一移位寄存器的最低位或最高位,所述第一移位寄存器中原先保持的跳轉歷史信息各左移或右移一位,記錄最近若干次跳轉的真實歷史信息。
再進一步,所述虛擬歷史寄存器為第二移位寄存器,在每次分支預測后,將當前未經后級流水線確認的分支預測的結果保存進入所述第二移位寄存器的最低位或最高位,所述第二移位寄存器中原先保持的分支預測歷史信息各左移或右移一位,記錄最近若干次分支預測的歷史信息。
所述第一移位寄存器和第二移位寄存器具有同樣大小的存儲空間。
在分支預測出現錯誤時,分支預測存儲器內的預測器的預測結果需要被更新,用記錄分支跳轉正確信息的全局歷史寄存器作為索引,改寫預測器的預測值。
本發明的技術構思為:在前續分支預測結果未得到后級流水線確認的情況下,利用虛擬歷史寄存器可以繼續下一次準確的預測,從而實現了無延時的分支預測。
本發明的有益效果主要表現在:克服了兩級分支預測機制中存在的預測延時問題,從而可以處理更短的分支預測,提高了分支預測器預測的準確率。
附圖說明
圖1是無預測延時分支預測機制的結構圖。
圖2是兩級分支預測機制的框架圖。
具體實施方式
下面結合附圖對本發明作進一步描述。
參照圖1,一種無預測延時的分支預測控制方法,所述分支預測控制方法包括:
1)、設置兩級分支預測機制:
設置用于記錄經過后級流水線確認的分支預測歷史信息的全局歷史寄存器,以及用于記錄預測邏輯產生的未經后級流水線確認的預測歷史信息的虛擬歷史寄存器;設置用于記錄分支預測信息的分支預測存儲器;
虛擬歷史寄存器作為分支預測存儲器的全局讀索引,全局歷史寄存器作為分支預測存儲器的全局寫索引;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910095786.9/2.html,轉載請聲明來源鉆瓜專利網。





