[發明專利]微處理器以及快速執行條件分支指令的方法有效
| 申請號: | 201010111907.7 | 申請日: | 2010-01-28 |
| 公開(公告)號: | CN101876891A | 公開(公告)日: | 2010-11-03 |
| 發明(設計)人: | G·葛蘭·亨利;泰瑞·派克斯;布蘭特·比恩 | 申請(專利權)人: | 威盛電子股份有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京林達劉知識產權代理事務所(普通合伙) 11277 | 代理人: | 劉新宇;王璐 |
| 地址: | 中國臺*** | 國省代碼: | 中國臺灣;71 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 微處理器 以及 快速 執行 條件 分支 指令 方法 | ||
技術領域
本發明主要關于微處理器的技術,特別有關于一種執行條件分支指令的微處理器與方法。
背景技術
當沒有控制流程指令時,微處理器依序地提取指令并執行該指令。換言之,預設動作就是讓微處理器先提取一指令,接著再提取下一個循序指令,然后再提取下一個循序指令,以此類推。然而,控制流程指令會命令微處理器脫離此循序提取制度。微處理器在其指令集架構(instruction?set?architecture)中包括某種型式的條件分支指令,用以指定一分支條件狀態(通常是一條件旗標(condition?flag)或是一通用暫存器中的數值)及一分支條件(舉例而言,位設定、位清除、等于零或大于一定值)。條件分支指令也指定一分支目標地址(branch?targetaddress)。微處理器根據分支條件檢查分支條件狀態,用以決定分支條件狀態是否滿足被條件分支指令所指定的分支條件。若分支條件狀態滿足分支條件,微處理器開始提取分支目標地址上的指令,而不是提取下一個循序指令。
正如眾所皆知的微處理器技術,現今的微處理器包括一具有多個階段的管線(pipeline),每一階段執行有關程序指令的不同的工作。在標準的管線式微處理器中,階段包括指令提取(instruction?fetch)、指令解碼(instruction?decode)、運算元提取(operand?fetch)、執行(execute)以及寫回結果(resultwrite-back)這五個階段。一程序中的條件分支指令會大大地增加微處理器執行程序所需的時間。這是因為在傳統上,執行階段(execute?stage)用以分析條件分支指令,即決定分支條件狀態是否滿足分支條件。其中一個原因是程序中的指令在程序順序(program?order)中的順序可能會比條件分支指令還要老舊(older),而這些比條件分支指令還要老舊的指令用以更新分支條件狀態。因此,在運算元提取階段可以提取條件分支指令的來源運算元(source?operands)之前,微處理器必須等待直到執行單元產生上述比較老舊的指令的結果(這些比較老舊的指令的結果為條件分支指令中用以構成(constitute)分支條件狀態的來源運算元),以便發出條件分支指令用以執行。然而,特別是在高度管線化(deeply?pipelined)及/或亂序執行(out-of-orderexecution)微處理器中,微處理器可能已經提取以及處理許多程度不同的下一個循序指令(位于條件分支指令之后),并且在執行單元分析條件分支指令時,這些循序指令在程序順序中的順序要比條件分支指令還要新(newer)。若執行單元決定分支條件狀態滿足分支條件(即代表條件分支指令將會被取用(taken)),微處理器必須清除所有位于條件分支指令之后依序提取的指令,并開始提取分支目標地址上的指令。這大大地增加了微處理器執行程序所需的時間。
為了解決此問題,現今的微處理器包括分支預測器(branchpredictors)用以預測方向(direction)(即分支條件狀態滿足分支條件(稱為“被取用”),或不滿足分支條件(稱為“不被取用(nottaken)”))。然而,分支預測器可能會誤預測(mispredict)方向,在此情況下,因為微處理器必須清除管線中錯誤提取的指令,并開始提取正確地址上的指令(即根據是否發生正確的方向來決定該正確地址為下一個地址或分支目標地址),所以微處理器需要承擔一分支誤預測代價(branch?mispredictionpenalty)。再者,這會大大地增加程序執行時間,特別是在程序中具有一些難以準確預測的條件分支指令的情況下。因此,需要一種能夠及早正確地分析管線中的條件分支指令的方法,用以置換(override)分支預測器的分支預測信息。舉例而言,該方法已揭露于Bose?et?al.所獲得的美國專利第5,805,876號“一種適用于一處理器的方法與系統,用以減少平均分支解析時間及有影響的誤預測代價”。然而,Bose?et?al.所提出的微處理器有一個缺點,就是該微處理器會選擇性地(條件性地)提早分析條件分支指令。換言之,該微處理器只在分支指令滿足一組特定的條件時,才會提早分析條件分支指令,例如第一個偵測到的條件分支指令設置在一指令緩沖器中的第一可配送位置(dispatchable?position)中。
因此,需要一種具有一改良技術的微處理器,用以允許程序條件性地分支。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于威盛電子股份有限公司,未經威盛電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010111907.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:電容型隔離電路
- 下一篇:一種指定源組的組播用戶快速離開的方法和裝置





