[發(fā)明專利]微處理器以及微處理器操作方法有效
| 申請?zhí)枺?/td> | 201410718882.5 | 申請日: | 2014-06-06 |
| 公開(公告)號: | CN104461470B | 公開(公告)日: | 2017-07-07 |
| 發(fā)明(設(shè)計)人: | R.E.虎克;T.派克斯;J.M.吉爾 | 申請(專利權(quán))人: | 上海兆芯集成電路有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京市柳沈律師事務(wù)所11105 | 代理人: | 王珊珊 |
| 地址: | 201203 上海市張*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 微處理器 以及 操作方法 | ||
本申請是申請日為2014年6月6日、申請?zhí)枮?01410251303.0、發(fā)明名稱為“微處理器以及微處理器操作方法”的發(fā)明專利申請的分案申請。
技術(shù)領(lǐng)域
本發(fā)明涉及一種微處理器以及其操作方法,特別涉及根據(jù)微處理器中所累計已執(zhí)行的指令的特性的歷史記錄進行預(yù)測的微處理器以及其操作方法。
背景技術(shù)
現(xiàn)今微處理器利用不同的預(yù)測技術(shù)以改進執(zhí)行效能。舉例來說,分支預(yù)測器(branch predictor)用以預(yù)測是否會執(zhí)行分支指令,若執(zhí)行分支指令,則預(yù)測分支指令的目標(biāo)地址。動態(tài)分支預(yù)測累計不同分支指令執(zhí)行所輸出的歷史記錄,以及根據(jù)歷史記錄進行預(yù)測。動態(tài)分支預(yù)測的預(yù)測精準(zhǔn)度很大程度與可累計的歷史記錄的數(shù)量有關(guān)。只要在既定時間內(nèi)通過程序執(zhí)行小到可以包含在預(yù)測歷史記錄中的一組分支指令,則精準(zhǔn)度可能非常高。
然而,預(yù)測精準(zhǔn)度會因某些事件而大幅降低。上述事件之一為當(dāng)其他程序運行時,目前正在運行的程序暫時中斷的狀況。舉例來說,通過網(wǎng)絡(luò)接口控制器接收分組,將發(fā)出一中斷信號至處理器。處理器將操作系統(tǒng)的控制轉(zhuǎn)換為提供中斷,這將造成目前所運行的程序A暫時中斷,直到操作系統(tǒng)將控制恢復(fù)以運行程序A為止。當(dāng)處理器執(zhí)行操作系統(tǒng)的分支指令時,將影響程序A的分支預(yù)測的歷史記錄。對程序A的預(yù)測分支而言,很有可能會降低的分支預(yù)測器的精準(zhǔn)度。
發(fā)明內(nèi)容
本發(fā)明一實施例提供一種微處理器。微處理器包括一預(yù)測單元以及一控制單元??刂茊卧靡钥刂祁A(yù)測單元累計由微處理器所執(zhí)行的指令的特性的歷史記錄,以及在微處理器運行第一線程時根據(jù)歷史記錄預(yù)測后續(xù)指令??刂茊卧€檢測自運行第一線程至運行與第一線程不同的第二線程(thread)之間的第一轉(zhuǎn)變??刂茊卧€控制預(yù)測單元在運行第二線程時選擇性地暫停累計歷史記錄并利用歷史記錄進行預(yù)測??刂茊卧靡钥刂祁A(yù)測單元將響應(yīng)于第一轉(zhuǎn)變的預(yù)測單元的歷史記錄的第一狀況存儲至存儲器。控制單元檢測從運行第二線程至第三線程的第二轉(zhuǎn)變,以及檢測第一線程以及第三線程的處理是否部分相同。當(dāng)?shù)谝痪€程以及第三線程的處理部分相同,預(yù)測單元恢復(fù)累計上述歷史記錄及恢復(fù)利用歷史記錄進行預(yù)測。當(dāng)?shù)谝痪€程以及第三線程的處理部分不相同,預(yù)測單元將響應(yīng)于第二轉(zhuǎn)變的存儲器的歷史記錄的第二狀況載入至預(yù)測單元,以及預(yù)測單元恢復(fù)累計歷史記錄及恢復(fù)利用歷史記錄進行預(yù)測。
本發(fā)明另一實施例提供一種執(zhí)行微處理器的方法。方法包括累計由微處理器所執(zhí)行的指令的特性的歷史記錄,以及于微處理器運行第一線程時根據(jù)歷史記錄預(yù)測后續(xù)指令。方法還包括檢測自運行第一線程至運行第二線程之間的第一轉(zhuǎn)變。方法還包括于運行第二線程時選擇性地暫停累計歷史記錄并利用歷史記錄進行預(yù)測。方法還包括預(yù)測單元將響應(yīng)于第一轉(zhuǎn)變的預(yù)測單元的歷史記錄的第一狀況存儲至存儲器。方法還包括檢測從運行第二線程至第三線程的第二轉(zhuǎn)變,以及檢測第一線程以及第三線程的處理是否部分相同。當(dāng)?shù)谝痪€程以及第三線程的處理部分相同,預(yù)測單元恢復(fù)累計上述歷史記錄及恢復(fù)利用歷史記錄進行預(yù)測。當(dāng)?shù)谝痪€程以及第三線程的處理部分不相同,預(yù)測單元將響應(yīng)于第二轉(zhuǎn)變的存儲器的歷史記錄的第二狀況載入至預(yù)測單元,以及預(yù)測單元恢復(fù)累計歷史記錄及恢復(fù)利用歷史記錄進行預(yù)測。
附圖說明
圖1是顯示一微處理器的方塊圖。
圖2是描述圖1所示的微處理器的操作流程圖。
圖3是根據(jù)一替代實施例描述圖1所示的微處理器的操作流程圖。
圖4是根據(jù)另一替代實施例描述圖1所示的微處理器的操作流程圖。
【符號說明】
100~微處理器
102~分支預(yù)測單元
104~數(shù)據(jù)預(yù)取單元
106~存儲沖突預(yù)測單元
108~歷史記錄存儲器
109~預(yù)測單元
111~現(xiàn)有特權(quán)等級寄存器
112~保存最佳化信息的存儲器
113~引退指令計數(shù)器
114~效能計數(shù)器
124~控制單元
132A、132B、132C~預(yù)測歷史記錄
202、212、222、232、242、311、313、315、333、335、413、433、435~流程方塊
具體實施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海兆芯集成電路有限公司,未經(jīng)上海兆芯集成電路有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410718882.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





