[發明專利]對非控制流指令減少分支檢驗無效
| 申請號: | 200810190998.0 | 申請日: | 2008-12-25 |
| 公開(公告)號: | CN101763249A | 公開(公告)日: | 2010-06-30 |
| 發明(設計)人: | 王凱峰;孫紅霞;吳永強 | 申請(專利權)人: | 世意法(北京)半導體研發有限責任公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 中國專利代理(香港)有限公司 72001 | 代理人: | 張雪梅;蔣駿 |
| 地址: | 中國北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 控制 指令 減少 分支 檢驗 | ||
技術領域
本發明一般涉及微處理器,特別是為分支預測降低能耗。
背景技術
微處理器是響應于實現計算機程序的指令來執行各種計算操作的電子設備。實現計算機程序的通用技術是以預定序列發送多個指令到微處理器的執行單元,然后順序地執行這些指令。在一些情況下,程序跳出了次序來執行不是序列里的下條指令的指令。可以引起執行跳出序列的指令的一個例子是分支指令。當執行一分支指令時,微處理器可以跳到由分支指令標識的目標指令,并且微處理器下一步執行的是該目標指令,而非下一順序指令。
如圖示,圖1顯示程序執行序列的示例,其中以順序方式執行五個順序指令1-5,指令1首先執行,然后第二執行指令2等等。在該示例中,指令5是一分支指令,其指定指令2為其目標指令。執行分支指令5后,微處理器跳出了順序指令的次序,接下來執行程序執行順序中的指令2,而非下一順序指令6。
微處理器經常使用幾個階段來處理指令,其可包括:指令取階段,其中從指令高速緩存中取出指令;指令解碼階段,其中對取來的指令進行解碼;指令執行階段,其中執行指令。為了提高通過各種階段處理多個指令的速度,一些微處理器采用已知的流水線技術。流水線在流水線的多個階段對幾個不同的指令同時執行處理的不同部分的意義上類似于裝配線。流水線技術的一個例子是,在第一計算周期中由流水線的第一階段處理第一指令1。在第二周期中,第一指令1進入到流水線的第二階段,并且第二指令2開始流水線的第一階段。在第三周期中,第一指令1進入到流水線的第三階段,第二指令2進入到流水線的第二階段,并且第三指令3開始流水線的第一階段等等。流水線可以使得多個指令執行得比微處理器每次只處理一條指令的情況更快速。例如,流水線技術允許在每個周期完成不同指令的處理。
分支指令會降低流水線技術的效率。當執行一分支指令時,微處理器可能試圖跳出順序的次序,而執行并不在流水線中的目標指令。要跳到目標指令,微處理器可能放棄已經在流水線中的指令,然后開始重新啟動在目標指令開始的流水線。結果當目標指令被取和由流水線的初始階段進行處理時,可能發生延遲,導致通過流水線處理指令時速度的總體下降。
分支預測是已用來提高執行分支指令的流水線微處理器的速度的技術。分支預測通過使能微處理器在執行分支指令之前就取出分支指令后有可能執行的指令,可提高流水線微處理器的速度。分支預測可以包括預測條件分支是否采用、和/或預測分支目標,其是分支指令的目標指令。例如,當微處理器確定條件分支可能被采用時,可以在執行分支指令之前將預測的目標指令取入到流水線中,以為分支操作的流水線作準備。
分支歷史表是可以存儲關于之前分支是否被采用的歷史信息的分支預測單元,該歷史信息可用于預測未來的分支是否將被采用。分支目標緩沖器是可以預測分支指令的目標的分支預測單元。一些微處理器使用分支歷史表和分支目標緩沖器來執行分支預測。
發明內容
一些實施例涉及一種執行指令的微處理器。微處理器取一組指令,所述指令包括至少一個控制流指令和至少一個非控制流指令。微處理器包括控制指令標識單元和分支預測單元。控制指令標識單元存儲控制指令標識信息,所述控制指令標識信息標識已取指令組中該至少一個非控制流指令。分支預測單元檢驗對應該至少一個控制流指令的已存儲的分支預測信息,不檢驗對應該至少一個非控制流指令的已存儲的分支預測信息。
一些實施例涉及在微處理器中檢驗分支預測信息的方法,其中在該組已取指令中標識一個或多個控制流指令。對于控制流指令進行分支預測信息的檢驗,而對于非控制流指令不進行分支預測信息的檢驗。
附圖說明
附圖中,每個相同的或幾乎相同的組件在不同圖中用相似的數字表示。為了清楚起見,并非每個附圖的所有組件都進行標注。附圖中:
圖1.顯示包括分支指令的程序執行順序的示例;
圖2.顯示根據一些實施例的超標量微處理器的前端流水線;
圖3.顯示根據一些實施例,具有對于非控制流指令索引輸入可被禁止的分支目標緩沖器;
圖4.顯示根據一些實施例,具有對于非控制流指令索引輸入可被禁止的分支歷史表;
圖5.顯示根據一些實施例的指令高速緩存標簽數組,其存儲控制指令標識信息;
圖6.顯示根據一些實施例的控制指令標識單元的示例,其可以存儲控制標識信息以使(多個)索引輸入對BHT和/或BTB使能/禁止;
圖7.顯示根據一些實施例的電路,其為分支目標緩沖器和/或分支歷史表產生掩碼信號;
具體實施例
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于世意法(北京)半導體研發有限責任公司,未經世意法(北京)半導體研發有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810190998.0/2.html,轉載請聲明來源鉆瓜專利網。





