新四季網

對來自多個指令集的指令進行解碼的製作方法

2023-04-26 19:44:41

專利名稱:對來自多個指令集的指令進行解碼的製作方法
技術領域:
本發明涉及數據處理領域,尤其涉及對來自不同指令集的指令進行解碼。
背景技術:
可使用來自不同指令集的指令的處理器是已知的。例如,英國劍橋的ARM 具有使用ARM指令集和Thumb指令集的處理器,其中Thumb指令為16位寬,而ARM指令為32位寬。為了使解碼器知道正在使用哪個指令集,在對指令進行編碼時使用自由位來指示該指令為ARM指令還是Thumb指令。
在某些處理器架構中,存在明確定義該架構所支持的指令的編碼集合,並且存在允許該架構的用戶定義它們自身的指令的自由編碼集合。在提供允許用戶定義它們自身的指令的編碼空間的處理器架構中,使用指令編碼的位指示特定指令集會產生一些自身的問題。
因此,希望能夠在不過分增加編碼空間的同時允許用戶定義它們自己的指令的條件下,提供多個指令集。發明內容
從第一方面看,本發明提供了一種數據處理設備,包括:用於對指令進行解碼的指令解碼器;以及用於響應於由所述指令解碼器解碼的指令而處理數據的處理器;所述指令解碼器被配置為對來自多個不同指令集的指令進行解碼,所述指令集包括基本指令集以及至少一個進階指令集;所述基本指令集包括多個指令,其中每個指令包括用於唯一地標識所述指令的預定操作碼,並且所述至少一個進階指令集包括多個指令,其中每個指令包括用於標識所述至少一個進階指令集中的所述指令的操作碼;所述指令解碼器被配置為根據基本解碼規則集合對具有所述多個預定操作碼中的一個預定操作碼的指令進行解碼,以及根據由指示符值判定的解碼規則集合對具有所述至少一個進階指令集的所述操作碼中的一個操作碼的指令進行解碼,其中所述指示符值指示所述至少一個進階指令集中的哪個進階指令集當前將被解碼。
本發明認識到提供用戶可定義它們自身的指令的編碼空間是有利的,然而本發明也認識到如果存在總是可被解碼的基本指令集也是有利的。
本發明通過提供基本指令集和至少一個進階指令集(further instruction set)來解決這些相互矛盾的需求,其中指令解碼器根據基本規則集合來對基本指令集進行解碼,解碼器根據指示符值所判定的規則集合來對進階指令集進行解碼。
這樣,通過簡單地使用指示符值,可提供數種由不同規則解碼的不同指令集。這意味著,相同的編碼可被用來根據指示符值所指定的以及所選擇的指令集定義不同的指令。這樣,系統的用戶可定義它們自身的指令,並且這些指令可具有指示符值將觸發其使用的解碼規則。
通過提供基本指令集從而使得它們可總是被解碼,並且提供在指示符位被適當設置的情況下可被解碼的進階指令,在不過度增大編碼空間的條件下提供了具有總是被定義的指令以及具有非常大量的進階指令的優點。
在某些實施例中,所述指令解碼器被配置為對至少兩個進階指令集進行解碼,所述至少兩個進階指令集至少具有一些共同的操作碼。
如果用於進階指令集的編碼空間被共享從而使得用於不同指令集中的指令的操作碼相同但映像至不同指令也是有利的。這是編碼空間的有效使用,並且意味著通過使用指示符值可定義大量的不同指令。
在某些實施例中,所述數據處理設備包括用於存儲所述指示符值的狀態寄存器。
雖然指示符值可被存儲於許多地方,但在某些實施例中該指示符值被存儲於狀態寄存器中。這是存儲指示符值的方便的地方且允許指示符值被簡單地設置與讀取。
在某些實施例中,所述指令解碼器響應於指令集更新指令,將存儲於所述狀態寄存器中的所述指示符值設置為所述指令中指定的值,所述指令集更新指令為來自所述基本指令集的指令。
指示符值可由指令集更新指令更新。這樣,希望使用特定指令集的程序設計者可簡單地更新指示符值來指示此指令集,隨後解碼器將根據指示符值所指示的解碼規則在進階指令集的解碼空間中對指令進行解碼。當需要新的指令集時,指令集更新指令被簡單地再次用以改變指示符值,以指示該新需要的指令集。
在某些實施例中,所述處理器被配置為響應於指示所述程序流將分支的分支指令而存儲返回地址和所述指示符值,從而使得在從所述分支返回時,所述返回地址和指示符值能夠被恢復。
當程序分支到子例程時,由於此子例程可使用不同的進階指令集,所以可能會出現潛在問題。為了解決此問題,除了存儲指示在該分支完成後程序應返回的下一指令的地址的返回地址之外,當前指示符值也被存儲,從而使得在指示符值於子例程期間中被改變的情況下,指示符值可於該程序從該子例程返回時被重置為其初始值。
在某些實施例中,所述數據處理設備被配置為在所述分支之前重置所述指示符值。
雖然指示符值可在分支處保持不變,但在某些實施例中數據處理設備被配置為在分支之前重置指示符值。子例程可能無法順利使用程序分支時使用的進階指令集,並且在分支之前重置指示符值可能更為方便。然而,使指示符值保持原樣也可能是方便的,因為基本指令集仍然可被解碼,並且如果需要不同的進階指令集,則無論如何都將需要重置指示符值。
在某些實施例中,所述返回地址和指示符值被存儲於相同的連結寄存器中。
存儲返回地址和指示符值的一種方式為將返回地址和指示符值存儲於連結寄存器中。在本發明的實施例中,連結寄存器足夠寬以存儲指示符值和返回地址兩者,因而將這兩個值存儲於容易存取的位置是有效且高效的方式。
在某些實施例中,所述連結寄存器的較高有效位(more significant bits)存儲所述指示符值,並且所述連結寄存器的較低有效位(lower significant bits)存儲所述返回地址。
連結寄存器的最高有效位可能不需要存儲返回地址,因而可方便地被用於存儲指示符值。
在其他實施例中,所述返回地址和指示符值響應於所述分支而被存儲於堆棧中,並且在從所述分支返回時被從所述堆棧中讀取。
如果本實施例不使用連結寄存器,則返回地址和指示符值可響應於分支而被推出堆棧。在此情形中,一旦從分支返回,它們將被從堆棧讀回。
在某些實施例中,所述指令解碼器響應於指示所述至少一個進階指令集中的一個進階指令集的所述指示符以及對所述至少一個進階指令集中的具有以下操作碼的指令的接收而生成例外,其中不存在用於該操作碼的解碼規則。
可設置數據處理設備以截獲這樣的指示符值,其中所述指示符值指定其中存在不具有解碼規則的操作碼的指令集。在此情形中,例外被生成,並且處理設備隨後判定存在由不具有解碼規則的指令所指定的操作碼的原因。
在某些實施例中,所述指令解碼器響應於檢測到所述指示符值轉變為指示以下的進階指令集的值而生成例外,其中所述指令解碼器不具有用於該指令集的解碼規則。
替代地和/或另外地,可設置數據處理設備,以判定指示符值何時轉變為指令解碼器不具有解碼規則的值。在此情形中,例外被生成,並且處理器再次判定此錯誤發生的原因。
在某些實施例中,用於所述基本指令集中的指令的所述預定操作碼位於預定基本編碼空間中,並且所述至少一個進階指令集的所述操作碼位於預定延伸編碼空間中。
通過使用用於基本指令集的基本編碼空間、和用於對多個進階指令集進階編碼的進階編碼空間,可以方便地對基本指令集及進階指令集兩者的使用進行編碼。這樣,來自進階指令空間的任何操作碼都可被用於根據特定指令所在的指令集來指定該特定指令。該特定指令所在的指令集是由指示符值指示的,並且該指示符值將觸發解碼器使用適當的解碼規則集合。
在某些實施例中,多個不同的指示符值標識所述至少一個進階指令集中的一個進階指令集。
雖然在某些實施例中存在單個指示符值標識指令集,但在其他實施例中可存在數個不同的指示符值。例如,如果處理器支持負地址(negative address),則由2所指示的指令集可方便地被2或-2所指示(取決於當前支持該負地址還是正地址)。
本發明的第二方面提供了一種對來自不同指令集的指令進行解碼的方法,包括:接收指令;如果所述指令的操作碼為來自基本指令集的指令的操作碼,則根據用於所述基本指令集的解碼規則對所述指令進行解碼;以及如果所述指令的所述操作碼為來自至少一個進階指令集的指令的操作碼,則根據指示符值所判定的解碼規則集合對所述指令進行解碼,其中所述指示符值指示所述至少一個進階指令集中的哪個進階指令集當前將被解碼。
本發明的第三方面提供了一種虛擬機,該虛擬機由數據處理設備上執行的電腦程式提供,所述虛擬機根據本發明的第一方面的數據處理設備提供指令執行環境。
本發明的第四方面提供了 一種電腦程式產品,所述電腦程式產品包括指令集更新指令,所述指令集更新指令在數據處理器上運行時控制所述數據處理器將狀態寄存器中的指示符值設置為所述指令集更新指令所指示的值;所述數據處理器的解碼器根據基本解碼規則集合對具有指示來自基本指令集的指令的操作碼的指令進行解碼,且根據所述指示符值所判定的解碼規則集合對具有指示來自進階指令集的指令的操作碼的指令進行解碼。
本發明的第五方面提供一種用於處理數據的裝置,該裝置包括:指令解碼裝置,用於對指令進行解碼;以及處理裝置,用於響應於指令解碼裝置所解碼的指令而處理數據;所述指令解碼裝置用於對來自多個不同指令集的指令進行解碼;所述指令集包括基本指令集以及至少一個進階指令集;所述基本指令集包括多個指令,其中每個指令包含用於唯一地標識所述指令的預定操作碼,而所述至少一個進階指令集包括多個指令,其中每個指令包含用於標識所述至少一個進階指令集中的所述指令的操作碼;所述指令解碼裝置用於根據基本解碼規則集合對具有所述多個預定操作碼之一的指令進行解碼;並且用於根據指示符值所判定的解碼規則集合對具有所述至少一個進階指令集的所述操作碼之一的指令進行解碼,其中該指示符值指示所述至少一個進階指令集中的哪一個進階指令集當前將被解碼。


參考附圖中所示的實施例,僅通過示例進一步描述本發明,其中:
圖1示出了根據本發明實施例的數據處理設備;
圖2示意性地示出了根據本發明實施例的指令解碼器以及使用該指令解碼器進行解碼;
圖3示意性地示出了根據本發明實施例的處理器解碼器及寄存器;
圖4示意性地示出了如何響應於無效的指令集指示符值而生成例外;
圖5示意性地示出了包括分支指令的指令流;
圖6示意性地示出了包括分支的指令流的執行,其中返回地址及值被推送至堆棧;
圖7示出了說明根據本發明實施例的用於對指令進行解碼的方法中的步驟的流程圖8示意性地示出了根據本發明實施例的包括分支指令的指令流的解碼及執行;以及
圖9示出了本發明實施例的虛擬機實現。
具體實施方式
圖1示出了具有處理器12的數據處理設備10。具有指令的程序被存儲於數據儲存裝置20中,並且這些指令被提取單元(fetch unit) 16提取並被發送至解碼器14。解碼器14對這些指令進行解碼,並且將解碼後的指令發送至處理器12以供執行。
在此實施例中,解碼器14被配置為根據基本解碼規則集合對來自基本指令集的指令進行解碼,並且根據專用於多個進階指令集的解碼規則對來自這些特定指令集之一的指令進行解碼。因此,解碼器14能夠存取儲存於寄存器庫30中的狀態寄存器32中的指令集指示符值ISASEL,並且能夠存取與不同的指示符值相關的多個解碼規則。指示符值指示哪個進階指令集當前將被解碼器14解碼,並且響應於該值,解碼器選擇用於該進階指令集編碼空間中的指令的適當解碼規則並相應地對它們進行解碼。
數據處理髮備10還包括堆棧40,其中處理器使用該堆棧來存儲分支時的返回地址和指示符值(如將參照後面的附圖在下文中描述)。
圖2示意性地示出了根據本發明實施例的解碼器14。用於指令編碼的編碼空間示意性地由塊50示出。這示出了存在用於基本指令集的操作碼的基本編碼空間,並且存在用於進階指令集的操作碼的延伸編碼空間(extension encoding space)。因此,每個進階指令集可將整個延伸編碼空間用於其操作碼。
在當前正被解碼的指令集的指示被提供給解碼器,從而使得位於延伸編碼空間中的任意指令能夠根據正確規則被解碼的情況下,上述情況是可能的。
這在圖2中由解碼器14中存儲的基本解碼規則60示出。這些解碼規則對基本編碼空間中的編碼進行解碼,並且解碼器一直能夠存取這些解碼規則。
關於延伸編碼空間中的編碼的其他解碼規則在圖中被示意性地示出為62、64及66。解碼器14可經由多路復用器72存取這些解碼規則。多路復用器72響應於圖1的狀態寄存器32中存儲的指令集標識符或指示符值70來選擇供解碼器14使用的解碼規則集合。此標識符指示哪個特定指令集當前正被使用、以及哪些解碼規則應該被用於落入延伸編碼空間中的任意指令。因此,大量的不同指令可在相對較小的延伸編碼空間中被編碼,並且如果指示符值被適當設置,則該些指令可被解碼器14解碼。再者,解碼器14可以一直對源自基本指令集的任意指令進行解碼。
圖3示意地示出了根據本發明實施例的數據處理設備10的一部分。在此示圖中,可看出如何在狀態寄存器74中定位指令集指示符值ISASEL70、以及處理器12如何響應於指令集更新指令而設置此值。因此,響應於指令集更新指令,此指令所指示的值被寫入狀態寄存器74中。此值隨後被解碼器14用來選擇用於位於延伸編碼空間中的指令的解碼規則,此值指示指令從屬的進階指令集。
寄存器庫30還包括分支連結寄存器76,該分支連結寄存器76被用於在程序流分支時存儲當前指令集指示符值和返回地址。當程序分支時,該程序需要能夠返回到原始的程序流,因此返回地址總是被存儲。然而,由於在本發明的實施例中存在可被解碼的不同的指令集,所以在程序分支時存儲當前指令集指示符值從而使得當程序返回到原始的程序流時,該解碼器可使用正確的解碼規則是非常重要的。因此,除了存儲返回地址外,也存儲指令集指示符值。由於分支連結寄存器的尺寸以及該些地址的尺寸,分支連結寄存器中有足夠的空間來方便地同時存儲返回地址和指示符值。
應注意到,在本實施例中僅有單個分支連結寄存器72,因而如果程序再次分支,則該寄存器中的數據被寫入至堆棧40中,並且分支連結寄存器隨後被分支時的下一返回地址和指令集指示符值覆寫。
圖4示出了數據處理設備10的一部分,並且示出了不被處理器支持的指令集指示符值ISASEL如何被檢測到以及如何生成陷阱(trap)。因此,在此實施例中,響應於指令集更新指令,處理器12發送新的ISASEL值至寄存器72以更新所存儲的值。此新值傳送通過比較器90且被與存儲於儲存裝置80中的ISASEL值的集合相比較。儲存裝置80存儲所有可能的指令集值,因而如果不存在匹配,則不匹配信號被比較器90發送並且生成了例外。如果存在匹配,則比較器90發送指示符值至寄存器72,且ISASEL的新值被設置。
圖5示意性地示出了正被執行中的指令流,所述指令流包括分支指令。因此,在此實施例中,在功能2存在分支,並且連結寄存器存儲返回地址和當前指令集指示符,且該當前指令集指示符在此情形中為O,指示當前不支持進階指令集。該分支跳至的子例程隨後被執行,且此子例程將指令集指示符值設置為3,指示其希望使用源自指示符值3所指定的進階指令集的指令。該指令集隨後再次分支,並且連結寄存器於此時被更新以存儲用於此分支的返回地址以及指示符3(該指示符指示指令集指示符值於該程序返回該指令流的此部份時應被重置為3)。應注意,在此實施例中僅有單個連結寄存器,因此先前被存儲於該連結寄存器中的值在此連結寄存器被覆寫這些新值之前會被推送至堆棧。
已經跳至的子例程隨後被執行,並且此子例程包括指令集更新指令,該指令集更新指令指示被指定為4的進階指令集將被使用。因此,指令集指示符值被設置為4。響應於此子例程末尾的返回指令,來自連結寄存器的值被加載至關於返回地址的程序計數器以及關於指示符值的狀態寄存器中(該指示符值在此情形中為3)。
圖6示意性地示出了不具有分支連結寄存器的處理設備中的分支子例程。在此情形中,原始的指令流已將指令集指示符值設置為3,因而響應於分支指令,此指示符值與返回地址一起被推送至堆棧。在從子例程返回時,指示符值被從堆棧中彈出並被存儲於狀態寄存器74中,並且返回地址被存儲於程序計數器中。
圖7示出了說明根據本發明實施例的用於對指令進行解碼的方法。指令在解碼器處被接收,且該解碼器根據指令的操作碼來判斷該指令是否源自於基本指令集。如果指令源自於基本指令集,則解碼器根據基本指令集解碼規則對指令進行解碼。如果指令並非源自於基本指令集,則該指令必定源自於進階指令集,所以解碼器讀取狀態寄存器中的指示符值以判定此指令源自於哪個進階指令集。隨後,解碼器根據此指示符值所指示的解碼規則對該指令進行解碼。
圖8指示出了根據本發明實施例的在處理指令時執行的方法的步驟。最初,指令集更新指令被接收,且指示符值被響應於此指令而設置。響應此指示符值,源自進階指令集編碼空間的指令被根據該指示符所標識的解碼規則而解碼。
分支指令隨後被接收,並且當前指示符值以及返回地址被存儲。隨後跳至該分支所指示的指令並執行後續指令。這些指令包括更新該指示符值的指令,因而該指示符值被更新。當指示從該分支返回時,指示符值從所存儲的值恢復為該分支之前的值,而返回地址也被從儲存裝置中擷取並被用以重置程序計數器。
圖9示出了可被使用的虛擬機實現。雖然前述實施例通過支持相關技術的用於操作特定處理硬體的設備和方法來實現本發明,但是也可提供硬體裝置的所謂虛擬機實現。這些虛擬機實現在主機處理器530上運行,所述主機處理器530運行支持虛擬機程序510的主機作業系統520。一般,需要大型高速處理器來提供以合理速度執行的虛擬機實現,但此方式在某些情形中可被證明是合理的,例如當出於兼容性或重複使用的原因而希望運行另一處理器處的程序代碼時。虛擬機程序510提供至應用程式500的應用程式接口,其中該應用程式接口與真實硬體所提供的應用程式接口相同,該真實硬體是虛擬機程序510所模擬的裝置。因此,包括對於前述存儲器存取的控制在內的程序指令可使用虛擬機程序510於應用程式500中加以執行,以模擬它們與虛擬機硬體之間的互動。
本發明的各種進一步的方面和特徵在所附權利要求中被限定。在不脫離本發明的範圍的條件下,可以對前面描述的實施例做出各種修改。
權利要求
1.一種數據處理設備,包括: 指令解碼器,用於對指令進行解碼;以及 處理器,用於響應於指令解碼器所解碼的指令而處理數據; 所述指令解碼器被配置為對來自多個不同指令集的指令進行解碼,所述指令集包括基本指令集以及至少一個進階指令集; 所述基本指令集包括多個指令,所述基本指令集中的每個指令包含用於唯一地標識所述指令的預定操作碼,並且所述至少一個進階指令集包括多個指令,所述至少一個進階指令集中的每個指令包含用於標識所述至少一個進階指令集中的所述指令的操作碼; 所述指令解碼器被配置為根據基本解碼規則集合對具有所述多個預定操作碼中的一個預定操作碼的指令進行解碼,以及根據指示符值所判定的解碼規則集合對具有所述至少一個進階指令集的所述操作碼中的一個操作碼的指令進行解碼,其中所述指示符值指示所述至少一個進階指令集中的哪個進階指令集當前將被解碼。
2.如權利要求1所述的數據處理設備,其中所述指令解碼器被配置為對至少二個進階指令集進行解碼,所述至少二個進階指令集至少具有一些共同的操作碼。
3.如任一前述權利要求所述的數據處理髮備,其中所述數據處理設備包括狀態寄存器,用於存儲所述指示符值。
4.如權利要求3所述的數據處理設備,其中所述指令解碼器響應於指令集更新指令,將存儲於所述狀態寄存器中的所述指示符值設置為所述指令中指定的值,所述指令集更新指令為來自所述基本指令集的指令。
5.如任一前述權利要求所述的數據處理設備,其中所述處理器被配置為響應於指示所述程序流將要分支的分支指令,存儲返回地址和所述指示符值,從而使得在從所述分支返回時所述返回地址和指示符值能夠被恢復。
6.如權利要求5所述的數據處理設備,其中所述數據處理設備被配置為在所述分支之前重置所述指示符值。
7.如權利要求5所述的數據處理設備,其中所述返回地址和指示符值被存儲於相同的連結寄存器中。
8.如權利要求7所述的數據處理設備,其中所述連結寄存器的較高有效位存儲所述指示符值,並且所述連結寄存器的較低有效位存儲所述返回地址。
9.如權利要求7所述的數據處理設備,其中所述返回地址和指示符值響應於所述分支而被存儲到堆棧,並且在從 所述分支返回時被從所述堆棧讀出。
10.如任一前述權利要求所述的數據處理設備,所述指令解碼器響應於指示所述至少一個進階指令集中的一個進階指令集的所述指示符以及對所述至少一個進階指令集中的具有以下操作碼的指令的接收而生成例外,其中不存在用於該操作碼的解碼規則。
11.如任一前述權利要求所述的數據處理設備,所述指令解碼器響應於檢測到所述指示符值變換為指示以下進階指令集的值而生成例外,其中所述指令解碼器不具有用於該進階指令集的解碼規則。
12.如任一前述權利要求所述的數據處理設備,其中用於所述基本指令集中的指令的所述預定操作碼位於預定基本編碼空間中,並且所述至少一個進階指令集的所述操作碼位於預定延伸編碼空間中。
13.如任一前述權利要求所述的數據處理設備,其中多個不同的指示符值標識所述至少一個進階指令集中的一個進階指令集。
14.一種對來自不同指令集的指令進行解碼的方法,包括: 接收指令; 如果所述指令的操作碼為來自基本指令集的指令的操作碼,則根據用於所述基本指令集的解碼規則對所述指令進行解碼;以及 如果所述指令的所述操作碼為來自至少一個進階指令集的指令的操作碼,則根據指示符值所判定的解碼規則集合對所述指令進行解碼,其中所述指示符值指示所述至少一個進階指令集中的哪個進階指令集當前將被解碼。
15.一種根據權利要求14對來自不同指令集的指令進行解碼並處理解碼後的指令的方法,包括響應於對指令集更新指令的接收而執行以下步驟: 根據用於所述基本指 令集的解碼規則對所述指令進行解碼;以及 響應於解碼後的指令集更新指令,將所述狀態寄存器中的所述指示符值設置為所述解碼後的指令所指示的值。
16.如權利要求14或15所述的方法,其中響應於對指示所述程序流將分支的分支指令的接收: 存儲返回地址和所述指示符的當前值,從而使得在從所述分支返回時所述返回地址和指示符值能夠被恢復。
17.如權利要求16所述的方法,其中所述存儲所述返回地址和指示符值的步驟包括:將所述值存儲於相同的連結寄存器中。
18.如權利要求16所述的方法,其中所述存儲所述返回地址和指示符值的步驟包括:將所述數存儲到堆棧,並且響應於從分支指令返回而從所述堆棧讀取所述值。
19.如權利要求14至18中任一項所述的方法,包括響應於指示所述至少一個進階指令集中的一個進階指令集的所述指示符以及對所述至少一個進階指令集中的具有以下操作碼的指令的接收而生成例外的步驟,其中不存在用於所述操作碼的解碼規則。
20.如權利要求14至19中任一項所述的方法,包括響應於檢測到所述指示符值變換為指示以下進階指令集的值而生成例外的步驟,其中所述指令解碼器不具有用於該進階指令集的解碼規則。
21.一種虛擬機,所述虛擬機由在數據處理設備上執行的電腦程式提供,所述虛擬機根據權利要求1至12中任一項所述的數據處理設備提供指令執行環境。
22.—種電腦程式產品,包含指令集更新指令,所述指令集更新指令在數據處理器上運行時控制所述數據處理器將狀態寄存器中的指示符值設置為所述指令集更新指令所指示的值,所述數據處理器的解碼器根據基本解碼規則集合對具有指示來自基本指令集的指令的操作碼的指令進行解碼,並且根據所述指示符值所判定的解碼規則集合對具有指示來自進階指令集的指令的操作碼的指令進行解碼。
23.一種處理數據的裝置,包括: 指令解碼裝置,用於對指令進行解碼;以及 處理裝置,用於響應於指令解碼裝置所解碼的指令而處理數據; 所述指令解碼裝置用於對來自多個不同指令集的指令進行解碼,所述指令集包括基本指令集以及至少一個進階指令集; 所述基本指令集包括多個指令,所述基本指令集中的每個指令包含用於唯一地標識所述指令的預定操作碼,所述至少一個進階指令集包括多個指令,所述至少一個進階指令集中的每個指令包含用於標識所述至少一個進階指令集中的所述指令的操作碼; 所述指令解碼裝置用於根據基本解碼規則集合對具有所述多個預定操作碼中的一個預定操作碼的指令進行解碼,以及用於根據指示符值所判定的解碼規則集合對具有所述至少一個進階指令集的所述操作碼中的一個操作碼的指令進行解碼,所述指示符值指示所述至少一個進階指令集中的哪個進階指令集當前將被解碼。
24.一種基本如參考圖1至9描述的數據處理設備。
25.—種基本如參考圖1至9描述的方法。
26.—種基本如參考圖1至9描述的虛擬機。
27.—種基本如參考圖1至9描述 的電腦程式產品。
全文摘要
描述了能夠對來自不同指令集的指令進行解碼的數據處理設備、方法和電腦程式。該方法包括接收指令;如果所述指令的操作碼為來自基本指令集的指令的操作碼,則根據用於所述基本指令集的解碼規則對所述指令進行解碼;以及如果所述指令的所述操作碼為來自至少一個進階指令集的指令的操作碼,則根據指示符值所判定的解碼規則集合對所述指令進行解碼,其中該指示符值指示所述至少一個進階指令集中的哪個進階指令集當前將被解碼。
文檔編號G06F9/30GK103154883SQ201180048887
公開日2013年6月12日 申請日期2011年9月29日 優先權日2010年10月12日
發明者西蒙·約翰·克拉斯克 申請人:Arm 有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀