[發明專利]微處理器及其執行方法有效
| 申請號: | 201010185596.9 | 申請日: | 2010-05-19 |
| 公開(公告)號: | CN101866280A | 公開(公告)日: | 2010-10-20 |
| 發明(設計)人: | 杰拉德·M·卡爾;羅德尼·E·虎克;布萊恩·W·伯格 | 申請(專利權)人: | 威盛電子股份有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 錢大勇 |
| 地址: | 中國臺*** | 國省代碼: | 中國臺灣;71 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 微處理器 及其 執行 方法 | ||
技術領域
本發明涉及非循序執行的微處理器領域,特別涉及其分支指令的執行。
背景技術
超標量微處理器(superscalar?microprocessors)具有多個執行單元(execution?units),用以執行微處理器的指令集(instruction?set)。超標量微處理器通過多重執行單元(multiple?execution?unit)來改善處理效能,因此超標量微處理器能夠在每一個時鐘周期中同時地執行多重指令。使得超標量微處理器具有這種潛在效能改善的關鍵是必須讓指令持續地供應給執行單元來執行;否則,超標量微處理器的效能并不會比標量微處理器的效能更好,并且超標量微處理器會比標量微處理器花費更多的硬件成本。舉例而言,執行單元用以載入并存儲指令運算元(instruction?operands)、計算地址、執行邏輯和計算操作,以及解析(resolve)分支指令(branch?instructions)。如果使用愈多數量及類型的執行單元,在每一個時鐘周期,微處理器要為每一個執行單元找回指令的程序指令串流(program?instruction?stream)的范圍也愈大。這通常稱為微處理器的預尋找能力(lookahead?capability)。
有一種方法已經被用來改善微處理器的預尋找能力,其允許指令不依照程序的順序執行,并且通稱為非循序執行微處理器(out-of-order?executionmicroprocessor)。雖然指令可以非循序地執行,但是多數微處理器架構仍需將指令依照程序順序引退(retired?in?program?order)。換句話說,被指令結果影響的微處理器架構的狀態僅能依照程序順序被更新。
非循序執行暨循序引退微處理器通常包括相當多的管線級(pipelinestages),所以有時候稱為超級管線化(super-pipelining)。微處理器具有這么多管線級的原因之一是:若微處理器的指令集架構允許指令改變長度,則在管線前端通常便需要相當多的管線級,用以將未差異化指令字節(undifferentiated?instruction?bytes)的串流作語法分析(parse),并且將已語法分析的指令(parsed?instructions)轉譯成微指令。
雖然在微處理器設計領域,使用分支預測器對效能是有助益的,但在超級管線化的微處理器中,發生分支指令對效能的不利影響是眾所皆知的。具體而言,在用以根據分支預測器所提供的預測分支目標地址(predictedbranch?target?address)提取指令的級,與使得提取器(fetcher)在不同于預測分支目標地址的解析出的目標地址(resolved?target?address)開始提取指令的級之間,如果管線級的數量越多,則相關于分支錯誤預測(branch?mispredictions)的效能損失(penalty)也越大。
因此,亟需一種有效的執行方法,用以在非循序執行暨循序引退的微處理器內執行分支指令。
發明內容
本發明一實施例提供一種管線化非循序執行暨循序引退的微處理器,包括:分支預測器、提取單元以及至少一執行單元。分支預測器用以預測分支指令的預測目標地址。提取單元耦接于分支預測器,用以從上述預測目標地址提取分支指令。執行單元,耦接于提取單元,用以:解析分支指令的目標地址,并且預測目標地址與所解析出的目標地址是否不同;當預測目標地址與所解析出的目標地址不同時,判斷是否具有程序順序較舊于分支指令且需要被校正的未引退指令;若沒有程序順序較舊于分支指令且需要被校正的未引退指令,則清除由預測目標地址所提取的錯誤預測的分支指令,并使得提取單元由所解析出的目標地址進行提取,以便執行分支指令;以及若有程序順序較舊于上述分支指令且需要被校正的指令,則暫緩執行分支指令。
本發明另一實施例提供一種執行方法,用以在管線化非循序執行暨循序引退微的處理器中執行分支指令,包括:預測分支指令將被解析至第一提取路徑且根據上述預測由第一提取路徑提取分支指令;在上述預測和提取步驟之后,解析分支指令至第二提取路徑,第二提取路徑不同于第一提取路徑;判斷是否具有程序順序較舊于分支指令且需要被校正的未引退指令;若沒有程序順序較舊于分支指令且需要被校正的未引退指令,則清除由第一提取路徑所提取的錯誤預測分支指令,并改由第二提取路徑提取分支指令,以執行分支指令;以及若有程序順序較舊于分支指令且需要被校正的未引退指令,則暫緩執行分支指令。
附圖說明
圖1為根據本發明的微處理器的方塊圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于威盛電子股份有限公司,未經威盛電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010185596.9/2.html,轉載請聲明來源鉆瓜專利網。





