[發(fā)明專利]執(zhí)行多個(gè)快速條件分支指令的方法以及相關(guān)的微處理器有效
| 申請(qǐng)?zhí)枺?/td> | 200910247051.3 | 申請(qǐng)日: | 2009-12-25 |
| 公開(kāi)(公告)號(hào): | CN101876889A | 公開(kāi)(公告)日: | 2010-11-03 |
| 發(fā)明(設(shè)計(jì))人: | G·葛蘭·亨利;泰瑞·派克斯;布蘭特·比恩 | 申請(qǐng)(專利權(quán))人: | 威盛電子股份有限公司 |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38 |
| 代理公司: | 北京林達(dá)劉知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11277 | 代理人: | 劉新宇;王璐 |
| 地址: | 中國(guó)臺(tái)*** | 國(guó)省代碼: | 中國(guó)臺(tái)灣;71 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 執(zhí)行 快速 條件 分支 指令 方法 以及 相關(guān) 微處理器 | ||
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于微處理器,特別關(guān)于在一微處理器中執(zhí)行條件分支指令(conditional?branch?instruction)。
背景技術(shù)
當(dāng)沒(méi)有控制流程指令時(shí),微處理器依序地提取指令并執(zhí)行該指令。換言之,預(yù)設(shè)動(dòng)作就是讓微處理器先提取一指令,接著再提取下一個(gè)循序指令,然后再提取下一個(gè)循序指令,以此類推。然而,控制流程指令會(huì)命令微處理器脫離此循序提取制度。微處理器在其指令集結(jié)構(gòu)(instruction?set?architecture)中包括某種型式的條件分支指令,用以指定一分支條件狀態(tài)(通常是一條件旗標(biāo)(condition?flag)或是一通用暫存器中的數(shù)值)及一分支條件(舉例而言,位設(shè)定、位清除、等于零或大于一定值)。條件分支指令也指定一分支目標(biāo)地址(branch?target?address)。微處理器根據(jù)分支條件檢查分支條件狀態(tài),用以決定分支條件狀態(tài)是否滿足被條件分支指令所指定的分支條件。若分支條件狀態(tài)滿足分支條件,微處理器開(kāi)始提取分支目標(biāo)地址上的指令,而不是提取下一個(gè)循序指令。
正如眾所皆知的微處理器技術(shù),現(xiàn)今的微處理器包括一個(gè)具有多個(gè)階段的管線(a?pipeline?of?stages),每一階段執(zhí)行有關(guān)程序指令的不同工作。在標(biāo)準(zhǔn)的管線式微處理器中,包括指令提取(instruction?fetch)、指令解碼(instruction?decode)、運(yùn)算元提取(operand?fetch)、執(zhí)行(execute)以及寫回結(jié)果(resultwrite-back)這五個(gè)階段。一程序中的條件分支指令會(huì)大大地增加微處理器執(zhí)行程序所需的時(shí)間。這是因?yàn)樵趥鹘y(tǒng)上,執(zhí)行階段(execute?stage)用以分析條件分支指令,即決定分支條件狀態(tài)是否滿足分支條件。其中一個(gè)原因是因?yàn)槌绦蛑械闹噶钤诔绦蝽樞?program?order)中的順序可能會(huì)比條件分支指令還要舊(older),因此,在運(yùn)算元提取階段可以提取條件分支指令的來(lái)源運(yùn)算元(source?operands)之前,微處理器必須等待直到執(zhí)行單元產(chǎn)生上述比較舊的指令的結(jié)果(這些比較舊的指令的結(jié)果為條件分支指令中用以構(gòu)成(constitute)分支條件狀態(tài)的來(lái)源運(yùn)算元),以便發(fā)出條件分支指令用以執(zhí)行。然而,特別是在高度管線化(deeply?pipelined)及/或亂序執(zhí)行(out-of-order?execution)微處理器中,微處理器可能已經(jīng)提取以及處理許多程度不同的下一個(gè)循序指令(位于條件分支指令之后),并且在執(zhí)行單元分析條件分支指令時(shí),這些循序指令在程序順序中的順序要比條件分支指令還要新(newer)。若執(zhí)行單元決定分支條件狀態(tài)滿足分支條件(即會(huì)發(fā)生(taken)條件分支指令),微處理器必須清除(flush)所有位于條件分支指令之后依序提取的指令,并開(kāi)始提取分支目標(biāo)地址上的指令。這大大地增加了微處理器執(zhí)行程序所需的時(shí)間。
為了解決此問(wèn)題,現(xiàn)今的微處理器包括分支預(yù)測(cè)器(branchpredictors)用以預(yù)測(cè)方向(direction)(即分支條件狀態(tài)是否會(huì)滿足分支條件(稱為“發(fā)生(taken)”)或不滿足分支條件(稱為“不發(fā)生(not?taken)”)。然而,分支預(yù)測(cè)器可能會(huì)誤預(yù)測(cè)(mispredict)方向,在此情況下,因?yàn)槲⑻幚砥鞅仨毲宄芫€中錯(cuò)誤提取的指令,并開(kāi)始提取正確地址上的指令(即根據(jù)是否發(fā)生正確的方向來(lái)決定該正確地址為下一個(gè)循序地址或分支目標(biāo)地址),所以微處理器需要承擔(dān)一分支誤預(yù)測(cè)代價(jià)(branch?mispredictionpenalty)。再者,這會(huì)大大地增加程序執(zhí)行時(shí)間,特別是在程序中具有一些難以準(zhǔn)確預(yù)測(cè)的條件分支指令的情況下。因此,需要一種能夠及早正確地分析管線中的條件分支指令的方法,用以置換(override)分支預(yù)測(cè)器。舉例而言,該方法已揭露于Boseet?al.所獲得的美國(guó)專利第5,805,876號(hào)“一種適用于一處理器的方法與系統(tǒng),用以減少平均分支解析時(shí)間及有影響的誤預(yù)測(cè)代價(jià)”。然而,Bose?et?al.所提出的微處理器有一個(gè)缺點(diǎn),就是該微處理器會(huì)選擇性地提早分析條件分支指令。換言之,該微處理器只在分支指令滿足一組特定的條件時(shí),才會(huì)提早分析條件分支指令,例如第一個(gè)偵測(cè)到的條件分支指令設(shè)置在一指令緩沖器中的第一可調(diào)度位置(dispatchable?position)中。
因此,需要一種具有一改良技術(shù)的微處理器,用以允許程序條件性地分支。
發(fā)明內(nèi)容
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于威盛電子股份有限公司,未經(jīng)威盛電子股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910247051.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 以注射方式執(zhí)行死刑的自動(dòng)執(zhí)行車的執(zhí)行床
- 過(guò)程執(zhí)行裝置、過(guò)程執(zhí)行方法以及過(guò)程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)
- 限制條件解決方法、限制條件解決裝置、以及限制條件解決系統(tǒng)
- 制造條件設(shè)定系統(tǒng)及制造條件設(shè)定方法
- 成形條件確定方法及成形條件確定系統(tǒng)
- 成形條件設(shè)定裝置、成形條件設(shè)定方法及成形條件設(shè)定畫面
- 攝影條件設(shè)定設(shè)備、攝影條件設(shè)定方法和攝影條件設(shè)定程序
- 生理?xiàng)l件監(jiān)視系統(tǒng)、生理?xiàng)l件傳感器和生理?xiàng)l件儀表
- 成形條件設(shè)定裝置、成形條件設(shè)定方法及成形條件設(shè)定畫面
- 條件訪問(wèn)設(shè)備
- 用于條件切換的裝置、方法、介質(zhì)和系統(tǒng)
- 基于條件分布的條件生成對(duì)抗網(wǎng)絡(luò)





