本發明專利技術涉及一種執行新增指令的系統及執行新增指令的方法,該方法包含:接收一指令;根據該接收指令的操作碼判斷該接收指令是否為新增指令;以及當該接收指令為新增指令時:將該接收指令的基本譯碼信息存入一私有寄存器,其中,該基本譯碼信息包含該操作碼;以及進入一系統管理模式,并在該系統管理模式下根據該私有寄存器中存儲的該基本譯碼信息模擬該接收指令的執行。由此,在不對處理器的微體系結構進行修改的情況下,就可以在前代處理器上實現后代處理器所新增支持的指令,從而大大減少了用于設計、測試等工作的工作量,所以可以節省大量的成本。省大量的成本。省大量的成本。
【技術實現步驟摘要】
執行新增指令的系統及執行新增指令的方法
[0001]本專利技術有關于一種執行指令的方法及系統,且特別有關于一種執行新增指令的方法及執行新增指令的系統。
技術介紹
[0002]隨著處理器功能的增強,后代處理器往往會在前代處理器的基礎上增加新的指令。在前代處理器上實現后代處理器所新增支持的新增指令時,往往需要對前代處理器的微體系結構進行修改。而對微體系結構進行修改,需要進行大量的設計、測試等工作,因而成本極高。
[0003]因此,如何在不修改前代處理器的微體系結構的前提下,在前代處理器的基礎上實現后代處理器所新增支持的指令,已成為本領域需要解決的問題。
技術實現思路
[0004]為了解決上述問題,本專利技術提供一種執行新增指令的方法和執行新增指令的系統。
[0005]本專利技術提供一種執行新增指令的方法,包含:接收一指令;根據該接收指令的操作碼判斷該接收指令是否為新增指令;以及當該接收指令為新增指令時:將該接收指令的基本譯碼信息存入一私有寄存器,其中,該基本譯碼信息包含該操作碼;以及進入一系統管理模式,并在該系統管理模式下根據該私有寄存器中存儲的該基本譯碼信息模擬該接收指令的執行。
[0006]本專利技術提供一種執行新增指令的系統,包含:一指令監視單元(monitor),接收一指令,根據該接收指令的操作碼判斷該接收指令是否為新增指令;一指令譯碼單元,當該接收指令為新增指令時,該指令譯碼單元將該接收指令的基本譯碼信息存入一私有寄存器;該執行新增指令的系統進入一系統管理模式,并在該系統管理模式下根據該私有寄存器中存儲的該基本譯碼信息模擬該接收指令的執行,其中,該基本譯碼信息包含該操作碼。
[0007]通過本專利技術提供的執行新增指令的方法與執行新增指令的系統,在不對處理器的微體系結構進行修改的情況下,就可以在前代處理器上實現后代處理器所新增支持的指令。從而大大減少了用于設計、測試等工作的工作量,所以可以節省大量的成本。
附圖說明
[0008]圖1是顯示根據本專利技術一實施例所述的執行新增指令的系統的示意圖。
[0009]圖2A是顯示根據本專利技術第一實施例所述的處理器的結構圖。
[0010]圖2B是顯示根據本專利技術第二實施例所述的處理器的結構圖。
[0011]圖2B1是顯示根據本專利技術第二實施例所述的指令監視單元的結構圖。
[0012]圖2C是顯示根據本專利技術第三實施例所述的處理器的結構圖。
[0013]圖2D是顯示根據本專利技術第四實施例所述的處理器的結構圖。
[0014]圖2D1是顯示根據本專利技術第四實施例所述的指令監視單元的結構圖。
[0015]圖3是顯示根據本專利技術一實施例所述的處理接收指令的流程圖。
[0016]圖4是顯示根據本專利技術一實施例所述的進入系統管理模式的流程圖。
[0017]圖5是顯示根據本專利技術一實施例所述的模擬器的處理流程圖。
[0018]圖6是顯示根據本專利技術一實施例所述的在系統管理模式下模擬執行接收指令的例子。
[0019]圖7是顯示根據本專利技術一實施例所述的退出系統管理模式的流程圖。
[0020]圖8是顯示根據本專利技術一實施例所述的執行新增指令的流程圖。
[0021]圖9是顯示根據本專利技術另一實施例所述的執行新增指令的流程圖。
[0022]圖10是顯示根據本專利技術另一實施例所述的執行新增指令的流程圖。
[0023]其中,附圖中符號的簡單說明如下:
[0024]100:執行新增指令的系統;110:處理器;112:指令監視單元;114:系統管理模式出/入口;1142:系統管理模式入口;1144:系統管理模式出口;116:專用硬件;120:操作系統;130:應用程序;132:新增指令;142:模擬器;201:指令旁路轉換緩沖;202、202B、202D:指令快?。?03:分支預測器;204、204C、204D:重命名單元;205:保留站;206:執行單元;207:訪存單元;210、210B、210C、210D:指令監視單元;2101B、2101D:指令解析單元;2102B、2102D:指令判斷單元;211:專用寄存器組;220、220B、220D:私有寄存器;221、221C、221D:微碼控制單元;230、230B、230D:指令譯碼單元;240、240C、240D:重排緩沖區;245、245C、245D:指令提交單元;260:架構寄存器;EF、EF1~EFN:模擬標識;S301~S315、S401~S411、S501~S519、S701~S729、S801~S809、S901~S913、S1001~S1009:步驟。
具體實施方式
[0025]以下說明為完成專利技術的較佳實現方式,其目的在于描述本專利技術的基本精神,但并不用以限定本專利技術。實際的
技術實現思路
必須參考之后的權利要求范圍。
[0026]必須了解的是,使用于本說明書中的”包含”、”包括”等詞,是用以表示存在特定的技術特征、數值、方法步驟、作業處理、元件以及/或組件,但并不排除可加上更多的技術特征、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
[0027]于權利要求中使用如”第一”、"第二"、"第三"等詞是用來修飾權利要求中的元件,并非用來表示元件之間具有優先權順序,先行關系,或者是一個元件先于另一個元件,或者是執行方法步驟時的時間先后順序,僅用來區別具有相同名字的元件。
[0028]為了更好地描述本專利技術的實施例,下面先對本專利技術中用到的專用名詞進行定義。
[0029]舊指令:被前代處理器原生支持的指令被稱為原生指令(native instruction),也被稱為已存在指令或舊指令。
[0030]未知指令:不被前代處理器原生支持的指令。
[0031]新增指令:與前代處理器相比,后代處理器所新增支持的指令。新增指令無法被前代處理器所辨識,因此對前代處理器而言屬于未知指令。
[0032]新增架構寄存器:與前代處理器相比,后代處理器所新增支持的架構寄存器。新增架構寄存器在前代處理器中并不存在,因此在前代處理器上模擬執行使用新增架構寄存器的新增指令時,需要模擬新增架構寄存器。
[0033]無法辨識指令:未知指令中,除去新增指令之后剩余的那部分指令。即,無法辨識指令是指不被后代處理器原生支持的指令。
[0034]模型特別寄存器:處理器中的一類寄存器,可用于完成一些特定的功能。
[0035]陷阱:陷阱一般由軟中斷指令(比如INT指令)引起。當一條指令引起陷阱異常時,并不表示這條指令本身的執行出現錯誤。因此,當一條指令出現陷阱異常后,處理器會繼續執行這條指令的下一條指令。舉例來說,軟件開發人員對軟件程序碼進行調試時,可在程序碼中設置斷點。在處理器上執行設置了斷點的程序碼時,執行到斷點時,將產生一個陷阱,從而使得程序碼在斷點處暫停執行。軟件開發人員通過處理陷阱的微碼處理程序,可以查看程序碼執行到斷點時處理器中各架構寄存器的值或程序碼中各個變量的值。并根據各架本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種執行新增指令的方法,其特征在于,包含:接收指令;根據該接收指令的操作碼判斷該接收指令是否為新增指令;以及當該接收指令為新增指令時:將該接收指令的基本譯碼信息存入私有寄存器,其中,該基本譯碼信息包含該操作碼;以及進入系統管理模式,并在該系統管理模式下根據該私有寄存器中存儲的該基本譯碼信息模擬該接收指令的執行。2.如權利要求1所述的執行新增指令的方法,當該接收指令為新增指令時,還包含:對該接收指令進行譯碼,獲得該接收指令的該基本譯碼信息;以及從該私有寄存器讀取該基本譯碼信息,并將讀取到的該基本譯碼信息存入系統管理內存。3.如權利要求1所述的執行新增指令的方法,當該接收指令為新增指令時,還包含:將私有寄存器中的模擬標識設置為第一數值;以及根據該私有寄存器中的該模擬標識進入該系統管理模式。4.如權利要求1所述的執行新增指令的方法,當該接收指令為新增指令時,該執行新增指令的方法還包含:如果該接收指令需要訪問內存,則將該接收指令譯碼為特殊微指令,其中,該特殊微指令包含模擬標識;當該特殊微指令的該模擬標識為第一數值時,使用該特殊微指令對該接收指令進行權限檢查,生成檢查結果;以及將該檢查結果存儲到該私有寄存器中。5.如權利要求1所述的執行新增指令的方法,其中,當該接收指令為新增指令,且該接收指令的操作數為新增架構寄存器時,在該系統管理模式下,該新增架構寄存器是利用專用寄存器或系統管理內存進行模擬的。6.如權利要求5所述的執行新增指令的方法,當該新增架構寄存器為該接收指令的目的操作數時,還包含:模擬該接收指令的執行完成后,將該接收指令的模擬執行結果存入該專用寄存器或該系統管理內存。7.如權利要求6所述的執行新增指令的方法,當該新增架構寄存器為該接收指令的目的操作數時,還包含:退出該系統管理模式時,不把保存在該專用寄存器或該系統管理內存中的該模擬執行結果存入架構寄存器。8.如權利要求6所述的執行新增指令的方法,還包含:接收另一指令;以及當該另一指令為新增指令,且該新增架構寄存器為該另一指令的源操作數時,直接使用該專用寄存器或該系統管理內存中保存的該模擬執行結果,來模擬該另一接收指令的執行。9.如權利要求1所述的執行新增指令的方法,還包含:
將該接收指令譯碼為微指令,其中,該微指令中包含模擬標識;根據該微指令的該模擬標識,發起系統管理中斷;以及根據該系統管理中斷,進入該系統管理模式。10.如權利要求9所述的執行新增指令的方法,當該接收指令為新增指令時,還包含:當提交該微指令時,根據該微指令的該模擬標識,發起該系統管理中斷。11.一種執行新增指令的系統,其特征在于,包含:指令監視單元,接收指令,根據該接收指令的操作碼判斷該接收指令是否為新增指令;以及指令譯碼單元,當該接收指...
【專利技術屬性】
技術研發人員:王惟林,管應炳,楊夢晨,
申請(專利權)人:上海兆芯集成電路有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。