[發(fā)明專利]微處理器以及相關(guān)指令執(zhí)行的方法有效
| 申請?zhí)枺?/td> | 201310401305.9 | 申請日: | 2010-03-04 |
| 公開(公告)號: | CN103543985A | 公開(公告)日: | 2014-01-29 |
| 發(fā)明(設(shè)計)人: | G·葛蘭·亨利;泰瑞·派克斯;布蘭特·比恩 | 申請(專利權(quán))人: | 威盛電子股份有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京林達(dá)劉知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11277 | 代理人: | 劉新宇 |
| 地址: | 中國臺灣新北*** | 國省代碼: | 中國臺灣;71 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 微處理器 以及 相關(guān) 指令 執(zhí)行 方法 | ||
本申請是申請日為2010年3月4日、申請?zhí)枮?01010126866.9、發(fā)明名稱為“微處理器以及相關(guān)指令執(zhí)行的方法”的申請的分案申請。
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于微處理器,特別有關(guān)于一管線(pipelined)微處理器中的呼叫以及返回指令的處理。
背景技術(shù)
程序通常包含子程序呼叫指令(subroutine?call?instructions)以及從子程序返回指令(return?instruction)。一個呼叫指令會使得一個程序流程從目前的程序或指令序列改變至一個與目前提取及執(zhí)行的程序不同的一指令序列或程序。一呼叫指令指定(specify)一個呼叫地址或稱目的地址,其為子程序的第一個指令的地址。此外,呼叫指令指示處理器儲存在呼叫指令之后的下一個指令地址,此地址稱為返回地址。一返回指令也會使得一個程序流程改變至一個與目前提取及執(zhí)行的程序不同的一個指令序列。然而,一個返回指令并沒有明確的指定目的地址(target?address)。此外,一個返回指令指示微處理器使用最近一個儲存的返回地址當(dāng)做不同指令序列的第一指令的地址,或是一現(xiàn)在返回(now-returning)子程序的地址。上述現(xiàn)在返回子程序中的返回指令使得處理器開始提取在最近一個已執(zhí)行的呼叫指令的次一指令。
呼叫以及返回指令將更新系統(tǒng)的結(jié)構(gòu)狀態(tài)(architectural?state)。例如,于一個傳統(tǒng)x86架構(gòu)中的處理器,一個呼叫指令更新一個結(jié)構(gòu)堆疊指針暫存器以及更新存儲器(即:將一個返回地址推入(push)至存儲器中的一個堆疊的堆疊指針值上)。一個返回指令亦會更新結(jié)構(gòu)堆疊指針暫存器。
許多傳統(tǒng)處理器也預(yù)測地(speculatively)執(zhí)行指令。也就是說,當(dāng)傳統(tǒng)處理器遇到一個條件分支指令,其預(yù)測分支指令的結(jié)果(即方向以及目的地址),并根據(jù)預(yù)測結(jié)果繼續(xù)提取以及執(zhí)行指令。當(dāng)一個呼叫或返回指令發(fā)生在指令的預(yù)測路徑上,直到處理器不再預(yù)測的執(zhí)行時,處理器才更新關(guān)聯(lián)于呼叫或返回指令的結(jié)構(gòu)狀態(tài),亦即直到處理器解析(resolve)完所有在呼叫或返回指令之前的條件分支指令。也就是說,傳統(tǒng)的處理器將呼叫或返回指令送至其多個執(zhí)行單元,并且在執(zhí)行單元解析完所有在呼叫或返回指令之前被提取且未引退的條件分支指令之后,更新關(guān)聯(lián)于呼叫或返回指令的結(jié)構(gòu)狀態(tài)。因此,呼叫以及返回指令像其他指令(例如條件分支指令),會通過執(zhí)行階段(stage)以及引退(retirement)階段以被執(zhí)行以及引退。因此,就時脈周期來說,呼叫或返回指令的延遲與其他指令相同。再者,呼叫或返回指令消耗相當(dāng)多的資源,例如,執(zhí)行單元的時間槽(time?slot)、暫存器別名表(register?alias?table,以下簡稱RAT)項目(entry)、保留站項目或重排序緩沖器項目。
因此,需要一種具有更佳技術(shù)的微處理器,以允許程序來呼叫子程序以及從子程序返回。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種微處理器,包括一指令集結(jié)構(gòu),其中包括一呼叫指令類型、一返回指令類型以及其他指令類型。且該微處理器包括一執(zhí)行單元,其用以正確地執(zhí)行其他指令類型的程序指令;以及一呼叫/返回堆疊,其具有多個以后進(jìn)先出方式設(shè)置的項目。呼叫/返回堆疊為微處理器的結(jié)構(gòu)狀態(tài),其不可被其他指令類型的程序指令所修改,但其可被呼叫以及返回指令類型的程序指令所修改。微處理器也包括一提取單元,用以提取程序指令以及傳送其他指令類型的程序指令至執(zhí)行單元以被正確地執(zhí)行。提取單元正確地執(zhí)行呼叫以及返回指令類型的程序指令,而不傳送呼叫以及返回指令類型的程序指令至執(zhí)行單元以被正確地執(zhí)行。
本發(fā)明另一實施例提供一種指令執(zhí)行的方法,用以立即地執(zhí)行一微處理器的一提取單元中呼叫以及返回指令類型的程序指令。方法包含由提取單元提取程序指令,其中程序指令包括微處理器的一指令集結(jié)構(gòu)的一呼叫指令類型、一返回指令類型以及其他指令類型。方法包含由提取單元傳送其他指令類型的程序指令至微處理器的執(zhí)行單元以被正確地執(zhí)行。方法也包含正確地執(zhí)行呼叫以及返回指令類型的程序指令,而不傳送上述呼叫以及返回指令類型的程序指令至執(zhí)行單元以被正確地執(zhí)行。其中正確地執(zhí)行上述呼叫以及返回指令類型的程序指令由提取單元所執(zhí)行。呼叫以及返回指令類型的程序指令修改一呼叫/返回堆疊,此呼叫/返回堆疊為微處理器的結(jié)構(gòu)狀態(tài)。其中,呼叫/返回堆疊具有多個個以后進(jìn)先出方式設(shè)置的項目,且其中呼叫/返回堆疊為不可被其他指令類型的程序指令所修改的結(jié)構(gòu)狀態(tài)。
該專利技術(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/201310401305.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:停車場信息發(fā)布的方法及裝置
- 下一篇:一種摩托車安全系統(tǒng)





