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





