TWI314702B - The same instruction encoding method for common instruction subsets within data processing apparatus having multiple instruction sets, relevant data processing apparatus, and computer program product for recording relevant programs - Google Patents
The same instruction encoding method for common instruction subsets within data processing apparatus having multiple instruction sets, relevant data processing apparatus, and computer program product for recording relevant programs Download PDFInfo
- Publication number
- TWI314702B TWI314702B TW093104149A TW93104149A TWI314702B TW I314702 B TWI314702 B TW I314702B TW 093104149 A TW093104149 A TW 093104149A TW 93104149 A TW93104149 A TW 93104149A TW I314702 B TWI314702 B TW I314702B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- data processing
- instructions
- program
- instruction set
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 102
- 238000000034 method Methods 0.000 title claims description 36
- 238000004590 computer program Methods 0.000 title claims description 23
- 239000000126 substance Substances 0.000 claims 2
- 210000003813 thumb Anatomy 0.000 description 52
- 238000013461 design Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 5
- 210000004556 brain Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000003811 finger Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000238413 Octopus Species 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- JIGDOBKZMULDHS-UHFFFAOYSA-N cyanogenosin-RR Natural products N1C(=O)C(CCCN=C(N)N)NC(=O)C(C)C(C(O)=O)NC(=O)C(CCCN=C(N)N)NC(=O)C(C)NC(=O)C(=C)N(C)C(=O)CCC(C(O)=O)NC(=O)C(C)C1C=CC(C)=CC(C)C(OC)CC1=CC=CC=C1 JIGDOBKZMULDHS-UHFFFAOYSA-N 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- JIGDOBKZMULDHS-UUHBQKJESA-N microcystin RR Chemical compound C([C@H](OC)[C@@H](C)\C=C(/C)\C=C\[C@H]1[C@@H](C(=O)N[C@H](CCC(=O)N(C)C(=C)C(=O)N[C@H](C)C(=O)N[C@@H](CCCN=C(N)N)C(=O)N[C@H]([C@H](C)C(=O)N[C@@H](CCCN=C(N)N)C(=O)N1)C(O)=O)C(O)=O)C)C1=CC=CC=C1 JIGDOBKZMULDHS-UUHBQKJESA-N 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
1314702 玖、發明說明 【發明所屬之技術領域】 本發明係有關於資料處理系統。更明確的說,本發明 係有關於一具有多重指令集的資料處理系統以及該多重指 令集被編譯的方法。 【先前技藝】 具有多重指令集的資料處理系統技術廣為大家所熟 知。由英國ARM Limited of Cambridge所製作之核心處理 器為該類資料處理系統之一例。該處理器同時支援 ARM 與Thumb指令集,ARM指令集為32位元指令集而Thumb 指令集為1 6位元指令集。支援多重指令集的資料處理系統 其優點為使得程式操作指令之表達方式更具有彈性並且更 進一步改善指令編碼密度。此即典型增加硬體數量以支援 多重指令集之方式。 【發明内容】 本發明係提供設備以進行資料處理,該設備至少包含: 一資料處理處理邏輯,可操作以執行資料處理操作; 及 一指令解譯器,可操作以解譯指示被該資料處理邏輯 所執行之資料處理操作的程式指令,以控制該資料處理邏 輯以執行該資料處理操作;其中 該指令解譯器可在一第一模式操作以解譯一第一指令 3 1314702 集之程式指令;該指令解譯器亦可在一第二模式操作 譯一第二指令集之程式指令;該第一指令集之程式指 集具有一共通指令儲存順序,其以該第二指令集之程 令子集補償編碼及形成代表其中至少一種類別之指令 共通指令子集,該共通的指令子集可控制該資料處理 執行相同的資料處理操作,無論該指令解譯器係在第 式或第二模式下操作。 本發明確認透過安排指令集編碼使共通的指令子 用相同之編碼方式(如,至少可透過補償字元儲存順> 此法將達到簡化系統開發與改善系統操作之優點。其 例為,相同的解碼邏輯及相同的處理邏輯將被應用以 處理操作指令,該設計將快速的減少需要支援多重指 之硬體數量。 本發明的具體實施例為,在共通的指令子集的指 別(類別為具有相似功能的一組指令,如:載入或儲 令集、乘法指令集等等)包含辅助處理器指令,因此 同之輔助處理器邏輯能夠應用在第一指令集與第二 集。由於許多輔助處理器已存在但只發展應用於單一 集;因此,重複利用這些相同的輔助處理器以處理更 步的指令集為該設計重要的優點。該設計尤其特別 為,當所有輔助處理器指令皆在共通的指令子集集中 得一組能夠完全溝通之輔助處理器群組可能為其中一 令集。 吾人將瞭解第一指令集舆第二指令集有許多不同 以解 令子 式指 的一 邏輯 一模 集共 ψ); 中一 開發 令集 令類 存指 ,相 指令 指令 進一 之處 ,使 種指 之特 4 1314702 性:第一指令集通常為限定指令長度之指令集,一般為3 2 位元或1 6位元指令;第二指令集則為可變動指令長度之指 令集。 吾人將瞭解當共通的指令子集集執行相同的資料處理 操作,這些相同的資料處理操作不必然總是產生相同結果 的資料數值。這並不違背節省硬體數量以及其它上述所示 之優點,但特定特性結果所產生的資料數值將被用來作為 輸入運算元並依據所使用之指令集決定該輸入之運算元數 值。因所使用之指令集不同而產生特定特性之結果並將該 資料數值作為輸入運算元的實例為程式計數器數值,因所 使用之指令集不同使得指令執行後產生不同結果之數值; 另一實例為程式狀態登錄器數值將保留一至多位元指明所 使用之指令集,因此,亦將因所使用之指令集不同而產生 不同結果之數值。 由另一觀點來看,本發明係提供資料處理的方法,該 方法至少包含以下步驟: 以資料處理邏輯執行資料處理操作;及 使用一指令解譯器程式指令進行解譯,該指令解譯器 程式指令指示該資料處理邏輯執行之資料處理操作及控制 該資料處理邏輯執行該資料處理操作;其中 一第一指令集之程式指令在一第一模式被解譯;及一 第二指令集之程式指令在一第二模式被解譯,該第一指令 集之一程式指令子集具有一共通儲存順序,其以該第二指 令集之一程式指令子集補償編碼,及形成代表至少一種類 5 1314702 別之指令的一共通指令子集,該共通的指令子集可控制該 資料處理邏輯執行相同的資料處理操作,無論該指令解譯 器在該第一模式或該第二模式下操作。 本發明更進一步提供一具有電腦程式之電腦程式產 品。透過該電腦程式之操作可控制資料處理裝置,而該資 料處理裝置包含執行資料處理操作之資料處理邏輯。該電 腦程式至少包含: 一種具有可操作以控制資料處理設備之一電腦程式的 電腦程式產品,該資料處理設備包含可執行資料處理操作 之資料處理邏輯,該電腦程式至少包含: 一第一指令集之程式指令及一第二指令集之程式指 令,其控制該資料處理邏輯,以執行該資料處理操作;其 中 該第一指令集之一程式指令子集具有一共通儲存順 序,其以該第二指令集之一程式指令子集補償編碼,及形 成代表至少一種類別之指令的一共通指令子集,該共通的 指令子集可控制該資料處理邏輯執行相同的資料處理操 作,無論該第一指令集或該第二指令集之指令被解譯與否。 以上所述以及其它與本發明相關之物件、特徵及優點 將清楚的在以下實施例中詳細說明之並且可根據伴隨實施 例的圖示閱讀之。 【實施方式】 6 1314702 第1圖所示為一資料處理設備2。該資料處理設備2 包含一核心處理器;該核心處理器包含一登錄區 4、一乘 法器6、一移位器8、一加法器10、指令解譯器12 (包含 一共通的指令子集解譯器1 3 )、一指令預取缓衝器1 4、一 指令預取單元1 6與程式狀態登錄器1 8。程式計數登錄器 2 0為位在登錄區4的其中一個登錄器。該程式計數登錄器 儲存與正在執行程式所在記憶體位址數值有預先定義的關 係。該預先定義之關係與程式執行期間所使用的指令集有 關,舉例而言,現行指令位址加4,.現行指令位址加8等 等。吾人將瞭解雖然圖一所示只有一個輔助處理器,亦可 附加多個輔助處理器。指令將依據在每一輔助處理器中的 輔助處理器編號欄位而被不同的輔助處理器所執行。 輔助處理器22與核心處理器3相連結並且與核心處理 器3共享指令字與資料字。該輔助處理器22負責協助處理 由指令預取單元1 6所取得的指令流。 核心處理器3與辅助處理器22共同執行輔助處理器指 令。在例示的處理設備中,輔助處理器22有一内部的登錄 區及一内部的資料處理邏輯。當執行輔助處理器指令時, 輔助處理器指令由共通的指令子集解譯器13所辨識並與 控制訊號一起傳送至輔助處理器。 部分輔助處理器指令由輔助處理器内的登錄區存取運 算元並將處理結果寫回登錄器,因此無需與核心處理器3 更進一步的溝通。其它輔助處理器指令則需要傳送資料數 值至輔助處理器2 2。這些資料數值可能的來源包含登錄區 7 1314702 4、程式狀態登錄器1 8與記憶體(未顯示於圖中)。在例示 的處理設備中,核心處理器3由預期的記憶體位址取得資 料數值並透過資料介面D將該資料數值傳送至輔助處理器 22。其它輔助處理器指令將由輔助處理器22所產生的資料 數值傳送至輔助處理器2 2所指定之外部目的地,如:登錄 區4、程式狀態登錄器1 8與記憶體。在例示的處理設備中, 資料數值將透過資料介面D傳送至核心處理器3並寫入預 期之目的地。 吾人將瞭解許多基於該輔助處理器操作型態的改變皆 可行並包含於本發明之中。舉例而言,輔助處理器2 2可能 缺少一内部的登錄區 4,其内部的資料處理邏輯必須透過 資料介面D取得核心處理器3的資料數值,並亦透過資料 介面D將結果寫回輔助處理器。第二個例子為輔助處理器 22有一單獨的介面與記憶體溝通,因此,該輔助處理器無 需經由核心處理器3可由記憶體存取資料數值。在此例 中,該資料介面D只被用來存取核心處理器的資料數值, 如登錄區4、程式狀態登錄器1 8。另一種情況為,該資料 介面D亦可能完全被省略,因此,核心處理器3與輔助處 理器2 2間的資料數值傳送只能藉由先將該數值儲存於記 憶體再由記憶體載入該數值來完成。 吾人將瞭解程式操作指令係由記憶體内某位址讀取 (未例示於圖中)並將之傳送到一指令預取缓衝器1 4。當 程式指令在指令預取緩衝器1 4到達解譯階段,該指令解譯 器1 2將解譯這些指令及產生控制訊號。該控制訊號必要時 8 1314702 並應用在位於核心處理器3與輔助處理器2 2的處理邏輯, 其主要控制其它元件執行所指明的資料處理操作。該核心 處理器3可在第一模式操作,第一指令集之程式指令在其 中被解譯;該指令解譯器亦可在第二模式操作,第二指令 集之程式指令在其中被解譯。藉由位於程式狀態登錄器1 8 的旗標值可以判斷核心處理器3在哪一種模式操作之。指 令解譯器1 2將根據正被啟動的指令集直譯指令。根據本技 術,所支援的兩種指令集分享同一種共同的指令子集編碼 方式,包含至少一種型態的指令,如所有無條件輔助處理 器指令。因此,可快速的重複使用相同的硬體來開發共通 的處理操作。吾人將瞭解不同指令集的程式指令儲存順序 可能不同,其可能起因於字元儲存順序的差異或指令字組 位元數的差異等等。但補償此類指令儲存順序使指令集共 通的子集共用一編碼之方式將於下文中揭露之。 在本實施例中,核心處理器3支援兩種指令集,分別 為ARM指令集與改良版本的Thumb指令集(ARM及Thumb 指令集細節參照ARM架構參考手冊)。改良的Thumb指令 集更動其BL與BLX指令,因此,可增加大量的32位元 指令。 改良前的Thumb指令集,其BL與BLX指令包含兩個 連續的半字組,指令串流形示如圖2所示。在正確的程式 中,指令半字組最高的5個位元為111 0 1,11 1 1 0或11 111, 並以成對方式出現在兩種形式指令。除了 BL與BLX指令 以外,其它指令包含一單獨半字組,其最高的5個位元範 9 1314702 圍為由〇〇〇〇〇到11100。 一實作設計可接續的執行BL或BLX指令的兩個半字 組,而該結合執行的方法將產生BL與BLX指令預期的效 果。即透過執行一副程式啤叫一 Thumb副程式(;81^或一 ARM副程式(BLX)。更準確的說,其目的為分支至目標位 址’如果該指令為BLX將轉換至ARM指令集,並於在登 錄器1 4中第二半字組之後的指令置放一指標,該登錄器為 在ARM/Thumb指令集架構中的副程式連接登錄器。該被 呼叫的副程式可以藉由跳至該指標回到原點。 同樣的,該實作設計可以將該兩個半字組視為32位元 指令同時解譯’並且可直接執行BL與BLX指令產生預期 的效果。在未改良版本的Thumb指令集中,該最佳化設計 使得BL與BLX指令更有效率的被執行,但並非必要的設 計。 一在改良版本的Thumb指令集,指令串流中兩個接續的 半字組被視為一 32位元指令,而非兩個依序被執行的16 位儿半字組。更明確的說,如圖3所示,如果下一個半字 組的引5個位疋被執行,且該前五位元數值位在〇〇〇〇〇與 範圍之間,該指令被視為1 6位元指令。如果半字組 的前五位元數值為111G1,1111G肖111η之任—數值,該 丰字余且盘-ΤΓ ' —個半字組將一起被視為一 32位元指令。所有 存在戶的机及BLX指令必須被視為32位元指令。 在未改良版本的Thumb指令集中的指令仍然會 存在於改良版本之中。其中BL…為32位元指令而 10 1314702 其它指令則為1 6位元指令。比較圖2與圖3之指令編碼方 式,很明顯的只有一部份的32位元指令為BL及BLX指 令。其它32位元指令可被用在改良版本的Thumb指令集 中,以提供沒有出現在未改良版本的額外功能。尤其特別 的是,該ARM指令集包含許多位改良的Thumb指令集沒 有的指令群組。此外,其它非BL及BLX之32位元指令 可提供Thumb等同於在改良版本Thumb中之指令集。 輔助處理器指令為此類指令群組之一例:它們出現在 ARM指令集中但沒有等同於在未改良版本Thumb中之指 令集。ARM指令集為32位元字組,當在該類指令的位元 於27至24區間的位元值為1100,1101或1110,該指令為 一輔助處理器指令。圖4所示為這些指令之主要群組,分 別為· LDC指令,負責將資料數值自記憶體傳送至辅助處理 益, STC指令,負責將資料數值自輔助處理器傳送至記憶 體; MCR指令,負責將資料數值自核心處理登錄器傳送至 辅助處理器; MCRR指令,負責將兩資料數值自核心處理登錄器傳 送至輔助處理器; MRC指令,負責將資料數值自輔助處理器傳送至核心 處理登錄器; MRRC指令,負責將兩資料數值自輔助處理器傳送至 1314702 核心處理 CDP 令,其並 未定 例外狀況 所有 定義輔助 理器指令 與1101』 之 cond= 所有 行,使用 同等 Thumb 指 之,並且 或 1111 t 的編碼方 存順序不 理器指令 32位元指 該儲 指令之半 憶體位址: 儲存記憶 登錄器; 指令,負責執行位右絲„ 在輔助處理器内的一段操作指 不需要自辅助處理蚀 > 斗、油, ’、 4傳入或傳出任何資料數值。 義的指令,其造成右Μ 战在核心處理器3未定義的指令 σ 這些輔助處理器指今 «Λ包含一 Cpnum欄位,該欄位 處理器指令之目的及— c〇nd欄位。無條件辅助處 的cond數值為111〇或 取 11而當數值在0000 圍之間時產生相同之沪八鱼 <扣令集的條件版本,該指令 111 0 ( cond=l 111 的 | 你 Α 社入 …、條件扣令沒有條件版本)。 以上輔助處理器指令 7 Τ以在貧料處理設備2執 之技術如上所揭露。 的無條件ARM輔助處理器指令也在改良版本的 令f中被編碼,如® 5所示。將圖5與圖4比較 留意無條件輔助處理器指令之c〇nd=1110 二情況’即每一個無條件ThUmb輔助處理器指令 ^與同等的ARM輔助處理器指令相同,除了错 同的考量。再者,所有這进_盖 , 心一…悚件Thumb輔助處 以脚1[15:11] = 111〇1 或 令根據如HI 2 β 1方式編碼,故 课如圖3所示之規則編碼。 存順序不间夕去真Β甘 字租,之考量疋基於ARM指令字與Thumb 最底層。裹/… #丨即最低位凡在記 體 歹,而S ’ - ARM無條件CDP指令其 。位址為A,將佔記憶1 4bytes分別為 12 1314702 A,A+l,A + 2,A + 3’如圖6左半部所示。相同扣入 J伯々在改良的
Thumb指令集中,其指令第一半字組位在記愔 Q k體A而第二 半字組在記憶體A + 2,將佔記憶體4bytes ,如固 如圖6右半部 所示。比較兩邊所示之圖,Thumb指令集血Δη、 节,、指令集 有相同的位元數,但有不同的儲存順序:在 °G傳體A與 A + 2之位元可互相置換,同樣的,在記憶體 i 與 A + 3 之位元可互相置換。吾人將瞭解,不同儲存 %廿’序的特性也 將存在於所有無條件輔助處理器指令中,1 …、,任何精準的 指令型態。 改良的 Thumb指令集為可變動長度之指人隹 7果’包含 16位元與32位元之指令。解譯該指令集的第一 ^ 步為定義 在指令預取緩衝器1 4的個別指令。在本實施例由 一 %肀,每一個 在預取緩衝器14的word-aligned word為事弁裱、^ ’亢遷過預取缓 衝單元1 6由記憶體取得之。緩衝器的前端攔位標記為字組 器12 的指令根據以下規則判斷之; 現行指 令集 指令位 址 mod 4 字組1 (WORD1) [15:11] 字組2 (WORD 1) [3 1:26] 傳送至解 [31:16] ARM Always 0 Any Any WORD 1 [3 1 :] Thumb 0 00000-11100 Any 0 Thumb 0 11101-11111 Any WORDl[15: WORD1 [15:0] WORD 1 [15:0] 15:0] 13 1314702 [3 1 : 16] Thumb 2 Any WORD 1 00000-11100 0 [31:16] WORD2 Thumb 2 any 1110 1-11111 WORD 1 [3 1 : 1 6] [15:0] 藉由補償儲存順序後,傳送正確的指令至指令解譯器 1 2。傳送之指令永遠為32位元,1 6位元的Thumb指令其 最高的16位元設定為0。吾人將瞭解,針對一 Thumb指 令集,並不需要一額外的位元告訴指令解譯器1 2該指令為 1 6位元指令或3 2位元指令:亦即當3 2位元之最高位元傳 送至指令解譯器12,若為16位元指令其最高位元值為0, 若為32位元指令其最高位元值為1。 吾人將瞭解核心處理器的的設計將考量預取指令的方 式及每次可解譯的指令數。因此,辨識個別指令的方法將 根據核心處理器的設計開發考量而修正。 有兩種相同並存的方式可用來開發指令解譯器12,因 此使之可同時處理ARM與Thumb指令集。其一為圖7所 示,一 Thumb-to-ARM的轉換器包含可將每一 Thumb指令 轉譯至對應的ARM指令的轉換邏輯。如果ARM之指令碼 被執行,多工器將選擇原來的指令;如果Thumb之指令碼 被執行,將選擇轉換的指令。ARM解碼器將解譯多工器的 輸出。 玆形式的指令解譯器可以修改為解譯包含在改良 Thumb 指令集的無條件輔助處理器指令。亦即通過 14 1314702
Thumb-to-ARM轉換器的原始指令若其原始指令的第27至 24位元其值為1100,1101或1110(在16位元Thumb指令 集中這些位元為〇〇〇〇,在非32位元Thumb輔助處理器指 令中這些位元為11 0 0,11 〇 1或111 0以外的數值)則多工器 將不進行切換。吾人將瞭解該改良的 Thumb指令集除了 BL,BLX及無條件輔助處理器指令,亦包含進階32位元指 令。因此,必須對Thumb-to-ARM轉換器作更進一步修正 以處理這些指令。 第二種用來開發指令解譯器12的方式為使用不同之 解譯器解譯ARM及Thumb指令集,如圖8所示。如果ARM 之指令碼被執行,多工器將選擇 ARM解譯器的輸出值; 如果Thumb之指令瑪被執行,多工器將選擇Thumb解譯 器的輸出值。 該形式的指令解譯器1 2可以經修改後以解譯無條件 輔助處理器指令。如圖9所示,該設計將指令器分割為一 部份解譯輔助處理器指令,一部份解譯非輔助處理器ARM 指令。如果改良的Thumb指令集包含除了 BL,BLX及無條 件輔助處理器指令以外的進階3 2位元指令,該非輔助處理 器Thumb解譯器可以經修改後處理該類指令。如果指令的 27至24位元其值為1100,1101或1110,多工器將選擇辅 助處理器解譯器的輸出;如果ARM指令碼被執行,多工 器將選擇非輔助處理器ARM解譯器的輸出值;如果Thumb 之指令碼被執行,多工器將選擇非輔助處理器Thumb解譯 器的輸出值。 15 1314702 在第一種形式之指令器解譯器12中,共通的指令子集 解譯器1 3為ARM解譯器的一部份,其負責解譯輔助處理 器指令。而在第二種形式中,則由輔助處理器解譯器負責。 在ARM指令集與改良的Thumb指令集中,用於無條 件輔助處理器指令之一共通儲存順序補償編碼,相較於在 每一指令集使用不同編碼方式的方法而言,對於兩種形式 之指令解譯器1 2具有顯著的優點。其優點在減少邏輯數量 與電源耗損量。該設計提供進一步之優點為輔助處理器2 2 只需能夠執行改良前Thumb指令集的指令即可。因此,亦 可減少邏輯閘數量與電源耗損量,這意味著現存之輔助處 理器不需修改便適用於改良的Thumb指令集。 吾人將瞭解可修改上文所揭露之内容,以在設計的其 它部分執行儲存順序補償,如圖7所示之Thumb-to-ARM 轉換器。就像其它類似的邏輯設計,該技術可以轉換至其 它邏輯相容技術。本發明技術包含所有這類的修正與轉換 技術。 圖1 0架構性例式一通用目的電腦2 0 0,該裝置可依據 以上所揭露之技術執行程式指令。該通用目的電腦200包 含一中央處理單元202、隨機存取記憶體(RAM)204、唯讀 記憶體(R〇M)206、一網路介面卡208、一硬碟機210、一 顯示器驅動器212、一顯示器214及一連結鍵盤218與滑 鼠220之使用者輸入輸出循環電路21 6。以上設備皆透過 共通匯流排222而連接。電腦程式指令將透過中央處理單 元202的操作而執行。該程式指令可能儲存至一個或多個 16 1314702 隨機存取記憶體(RAM)204、唯讀記憶體(ROM)206、 機2 1 0或透過網路介面卡2 0 8動態下載。而處理結果 透過顯示器驅動器2 1 2及顯示器2 1 4而顯示。控制通 的電腦200的使用者輸入將透過連結鍵盤2 1 8與滑鼠 之使用者輸入輸出循環電路216接收。吾人將瞭解電 式可以以不同之電腦程式語言撰寫之,該電腦程式可 儲存或散佈在一紀錄媒體上或者動態的下載至通用目 腦 200。當在適當的電腦程式控制之下,該通用目的 2 00可執行以上所揭露之技術並形成一適當設備完成 揭露之技術。該通用目的電腦2 0 0的架構可在適當考 而有所變化,圖1 0為其中一例。 雖然本發明之實施例已隨所附之例示圖詳細揭露 但本發明並不限定於所示之實施例。熟悉該項技術者 在不脫離本發明精神與範圍下進行本發明之改變與修 如所附之申請專利範圍所示。 【圖式簡單說明】 第1圖架構性例示一使用多重指令集並有一關聯 助處理器的資料處理設備。 第2圖例示Thumb指令集中BL與BLX指令編碼^ 第3圖例示如何分辨在改良版本的Thumb指令 1 6位元與3 2位元的指令編碼方式。 第4圖例示在ARM指令集中輔助處理器指令之 方式。 硬碟 可能 用目 220 腦程 能被 的電 電腦 上述 量下 之, 將可 正, 的輔 「式。 集中 編瑪 17 1314702 第5圖例示在改良版本的Thumb指令集中無條件輔助 處理器指令的編碼方式。 第6圖例示一無條件CDP輔助處理器指令在ARM指 令與改良的Thumb指令集中之不同的儲存順序。 第7圖例示一針對ARM及Thumb指令集之指令解譯 器的可行設計方法。 第8圖例示一針對ARM及Thumb指令集之指令解譯 器的第二種可行設計方法。 第9圖例示圖8所示之指令解譯器如何經改良後可以 解譯ARM指令集及改良後的Thumb指令集。 第 1 0圖架構性例示一通用目的電腦之架構並根據以 上所揭露之技術執行程式指令。 【元件代表符號簡單說明】 2 資料處理設備 3 核心處理器 4 登錄區 6 乘法器 8 移位器 10 加法器 12 指令解譯器 13 共通的指令子集解譯器 14 指令預取缓衝器 16 指令預取單元 18 程式狀態登錄器 20 程式計數登錄器 22 輔助處理器 200 通用目的電腦 202 中央處理單元 204 隨機存取記憶體 206 唯讀記憶體 208 網路介面卡 210 硬碟機 18 1314702 2 1 2顯示器驅動器 2 1 4顯示器 216輸入輸出循環電路 218鍵盤 220滑鼠 222共通匯流排
19
Claims (1)
- ΒΜ-7Θ2-——I 贷年Lf月丨石R修正本丨 拾、申請專利範圍: 1 . 一種資料處理設備,該設備至少包含: 一資料處理邏輯,可操作以執行資料處理操作; 一指令解譯器,可操作以解譯程式指令,該些程 指令指明由該資料處理邏輯執行之資料處理操作及 制該資料處理邏輯執行該資料處理操作;其中 該指令解譯器可在一第一模式操作以解譯一第 指令集之程式指令;該指令解譯器亦可在一第二模式 作以解譯一第二指令集之程式指令;該第一指令集之 式指令子集具有一共通儲存順序,其以該第二指令集 程式指令子集補償編碼及形成代表至少一種類別之 令的一共通指令子集,該共通的指令子集可控制該資 處理邏輯執行相同的資料處理操作,無論該指令解譯 在該第一模式或該第二模式下操作。 2. 如申請專利範圍第1項所述之設備,其中上述之指令 譯器可操作以使用該資料處理邏輯之共通部分,執行 共通的指令子集之指令。_ 3. 如申請專利範圍第1項所述之設備,其中該共通的指 子集包含用作輔助處理器指令之一類別的指令,其可 作以使用與該第一及該第二指令集共通之輔助處理 邏輯,控制輔助處理器資料處理操作。 及 式 控 操 程 之 指 料 器 解 該 令 操 器 20 1314702 4.如申請專利範圍第3項所述之設備,其中所有無條件輔 助處理器指令皆位於該共通的指令子集中。 5 .如申請專利範圍第1項所述之設備,其中該第一指令集 係N位元指令之一固定長度指令集。 6. 如申請專利範圍第5項所述之設備,其中N為3 2或16 泛,―― 〇 7. 如申請專利範圍第1項所述之設備,其中該第二指令集 為一變動長度指令集。 8. 如申請專利範圍第1項所述之設備,其中在該共通的指 令子集中的至少一程式指令在該第一或該第二模式之 一執行共通的資料處理操作,但該指令解譯器將因視其 係在在該第一模式或該第二模式下操作,而產生不同的 結果資料數值。 9. 如申請專利範圍第8項所述之設備,其中產生不同的 結果資料數值之該至少一程式指令包含作為一輸入運 算元之一程式計數器數值。 21 1314702 1 ο _如申請專利範圍第9項所述之設備,其中該程式計數 器數值與被執行之指令的一位址間的關係將因該指令 解譯器在該第一模式或該第二模式下操作而維特不同 的關係。 11. 如申請專利範圍第8項所述之設備,其中產生不同結 果資料數值之該至少一種程式指令包含作為一輸入運 算元之一程式狀態登錄值。 12. —種資料處理的方法,該方法至少包含以下步驟: 以資料處理邏輯執行資料處理操作;及 使用一指令解譯器程式指令進行解譯,該指令解 譯器程式指令指示該資料處理邏輯執行之資料處理操 作及控制該資料處理邏輯執行該資料處理操作;其中 一第一指令集之程式指令在一第一模式被解譯; 及一第二指令集之程式指令在一第二模式被解譯,該 第一指令集之一程式指令子集具有一共通儲存順序, 其以該第二指令集之一程式指令子集補償編碼,及形 成代表至少一種類別之指令的一共通指令子集,該共 通的指令子集可控制該資料處理邏輯執行相同的資料 處理操作,無論該指令解譯器在該第一模式或該第二 模式下操作。 22 1314702 1 3 .如申請專利範圍第1 2項所述之方法,其中該資料處理 邏輯之共通部分用以執行該共通的指令子集之指令。 1 4 ·如申請專利範圍第1 2項所述之方法,其中該共通的指 令子集包含用作輔助處理器指令之一類別的指令,其 可操作以使用與該第一及該第二指令集共通之輔助處 理器邏輯,控制輔助處理器資料處理操作。 1 5 .如申請專利範圍第1 4項所述之方法,其中所有無條件 輔助處理器指令皆位於該共通的子集中。 1 6 ·如申請專利範圍第1 2項所述之方法,其中該第一指令 集為N位元指令之一固定長度指令集。. 17.如申請專利範圍第16項所述之方法,其中N為32或 1 6 之一。 1 8.如申請專利範圍第1 2項所述之方法,其中該第二指令 集為一變動長度指令集。 1 9.如申請專利範圍第1 2項所述之方法,其中在該共通的 指令子集中至少一程式指令在該第一或該第二模式之 一執行共通的資料處理操作,但該指令解譯器將因其 23 1314702 在在該第一模式或該第二模式下操作,而產生不同的 結果資料數值。 2 0.如申請專利範圍第1 9項所述之方法,其中產生不同的 結果資料數值之該至少一程式指令包含作為一輸入運 算元之一程式計數器數值。 2 1.如申請專利範圍第2 0項所述之方法,其中該程式計 數器數值與被執行之一指令的一位址間的關係將因該 指令解譯器在該第一模式或該第二模式下操作而維特 不同的關係。 22.如申請專利範圍第19項所述之方法,其中產生不同 結果資料數值之該至少一種程式指令包含作為一輸入 運算元之一程式狀態登錄值。 2 3. —種具有可操作以控制資料處理設備之一電腦程式的 電腦程式產品,該資料處理設備包含可執行資料處理 操作之資料處理邏輯,該電腦程式至少包含: 一第一指令集之程式指令及一第二指令集之程式 指令,其控制該資料處理邏輯,以執行該資料處理操 作;其中 該第一指令集之一程式指令子集具有一共通儲存 順序,其以該第二指令集之一程式指令子集補償編碼 24 1314702 及形成代表至少一種類別之指令的一共通指令子集, 該共通的指令子集可控制該資料處理邏輯執行相同的 資料處理操作,無論該第一指令集或該第二指令集之 指令被解譯與否。 24. 如申請專利範圍第2 3項所述之電腦程式產品,其中該 資料處理邏輯之共通部分係用以執行該共通的指令子 集之指令。25 如申請專利範圍第2 3項所述之電腦程式產品,其中該 共通的指令子集包含用作輔助處理器指令之一類別的 指令,其可操作以使用與該第一及該第二指令集共通 之輔助處理器邏輯,控制輔助處理器資料處理操作。 26. 如申請專利範圍第2 5項所述之電腦程式產品,其中 所有無條件輔助處理器指令皆位於該共通的子集中。27. 如申請專利範圍第2 3項所述之電腦程式產品,其中該 第一指令集為N位元指令之一固定長度指令集。 如申請專利範圍第2 7項所述之電腦程式產品,其中N 為32或16之一。 25 28. 1314702 2 9 ·如申請專利範圍第2 3項所述之電腦程式產品,其中該 第二指令集為一變動長度指令集。 3 0.如申請專利範圍第2 3項所述之電腦程式產品,其中 當該第一指令集或該第二指令集之一的指令被解譯但 產生不同結果資料數值時,在該共通的指令子集,至 少一程式指令執行共通的資料處理操作。 3 1 .如申請專利範圍第3 0項所述之電腦程式產品,其中 產生不同的結果資料數值之該至少一程式指令包含作 為一輸入運算元之一程式計數器數值。 3 2 ·如申請專利範圍第31項所述之電腦程式產品,其中 該程式計數器數值與被執行之一指令的一位址間的關 係將因該指令解譯器在該第一模式或該第二模式下操 作而維特不同的關係。 3 3 .如申請專利範圍第3 0項所述之電腦程式產品,其中 產生不同結果資料數值之該至少一種程式指令包含作 為一輸入運算元之一程式狀態登錄值。 26 1314702 柒、指定代表圖: (一) 、本案指定代表圖為:第2圖。 (二) 、本代表圖之元件代表符號簡單說明: 無 捌、本案若有化學式時,請揭示最能顯示發明 特徵的化學式:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0313770A GB2402764B (en) | 2003-06-13 | 2003-06-13 | Instruction encoding within a data processing apparatus having multiple instruction sets |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200428277A TW200428277A (en) | 2004-12-16 |
TWI314702B true TWI314702B (en) | 2009-09-11 |
Family
ID=27636510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW093104149A TWI314702B (en) | 2003-06-13 | 2004-02-19 | The same instruction encoding method for common instruction subsets within data processing apparatus having multiple instruction sets, relevant data processing apparatus, and computer program product for recording relevant programs |
Country Status (11)
Country | Link |
---|---|
US (1) | US7788472B2 (zh) |
EP (1) | EP1680735B1 (zh) |
JP (1) | JP3905552B2 (zh) |
KR (1) | KR100971626B1 (zh) |
CN (1) | CN100380315C (zh) |
DE (1) | DE602004028951D1 (zh) |
GB (1) | GB2402764B (zh) |
MY (1) | MY131744A (zh) |
RU (1) | RU2006101165A (zh) |
TW (1) | TWI314702B (zh) |
WO (1) | WO2004111836A2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7793078B2 (en) | 2005-04-01 | 2010-09-07 | Arm Limited | Multiple instruction set data processing system with conditional branch instructions of a first instruction set and a second instruction set sharing a same instruction encoding |
US7958335B2 (en) * | 2005-08-05 | 2011-06-07 | Arm Limited | Multiple instruction set decoding |
US8914618B2 (en) | 2005-12-29 | 2014-12-16 | Intel Corporation | Instruction set architecture-based inter-sequencer communications with a heterogeneous resource |
GB2435116B (en) | 2006-02-10 | 2010-04-07 | Imagination Tech Ltd | Selecting between instruction sets in a microprocessors |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
KR100922862B1 (ko) * | 2007-11-14 | 2009-10-20 | 성균관대학교산학협력단 | 명령어의 부호화를 통한 시스템 보안방법 |
US8347067B2 (en) * | 2008-01-23 | 2013-01-01 | Arm Limited | Instruction pre-decoding of multiple instruction sets |
US8561183B2 (en) * | 2009-07-31 | 2013-10-15 | Google Inc. | Native code module security for arm instruction set architectures |
US8819399B1 (en) * | 2009-07-31 | 2014-08-26 | Google Inc. | Predicated control flow and store instructions for native code module security |
GB2479780B (en) | 2010-04-22 | 2018-04-04 | Advanced Risc Mach Ltd | Preload instruction control |
US20120159127A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Security sandbox |
CN102436367A (zh) * | 2011-09-26 | 2012-05-02 | 杭州中天微系统有限公司 | 16/32位混合架构指令预取缓冲器装置 |
CN106485318B (zh) * | 2015-10-08 | 2019-08-30 | 上海兆芯集成电路有限公司 | 具有混合协处理器/执行单元神经网络单元的处理器 |
CN106921482B (zh) * | 2017-02-17 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 一种基于arm指令构造数据加解密算法的方法及系统 |
US10261791B2 (en) * | 2017-02-24 | 2019-04-16 | International Business Machines Corporation | Bypassing memory access for a load instruction using instruction address mapping |
US11263014B2 (en) * | 2019-08-05 | 2022-03-01 | Arm Limited | Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021991A (en) * | 1983-04-18 | 1991-06-04 | Motorola, Inc. | Coprocessor instruction format |
US5781753A (en) * | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
DE69130673T2 (de) * | 1990-06-04 | 1999-05-20 | 3Com Corp., Santa Clara, Calif. | Verfahren zur software-optimierung für irgendeine einer vielfältigkeit von ändernden architekturen |
JPH07281890A (ja) | 1994-04-06 | 1995-10-27 | Mitsubishi Electric Corp | 命令セット及びそのマイクロコンピュータによる実行方法 |
GB2289354B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
GB2326253A (en) * | 1997-06-10 | 1998-12-16 | Advanced Risc Mach Ltd | Coprocessor data access control |
JP3781519B2 (ja) | 1997-08-20 | 2006-05-31 | 富士通株式会社 | プロセッサの命令制御機構 |
US6438678B1 (en) * | 1998-06-15 | 2002-08-20 | Cisco Technology, Inc. | Apparatus and method for operating on data in a data communications system |
US6282633B1 (en) | 1998-11-13 | 2001-08-28 | Tensilica, Inc. | High data density RISC processor |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US20020004897A1 (en) * | 2000-07-05 | 2002-01-10 | Min-Cheng Kao | Data processing apparatus for executing multiple instruction sets |
GB2376098B (en) * | 2001-05-31 | 2004-11-24 | Advanced Risc Mach Ltd | Unhandled operation handling in multiple instruction set systems |
US6895489B2 (en) * | 2002-08-07 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for operating in endian independent mode |
US20040059848A1 (en) * | 2002-09-23 | 2004-03-25 | Institute For Information Industry | Device for automatically switching endian order |
US6968444B1 (en) * | 2002-11-04 | 2005-11-22 | Advanced Micro Devices, Inc. | Microprocessor employing a fixed position dispatch unit |
US20060002881A1 (en) * | 2004-04-30 | 2006-01-05 | Ching-An Peng | Perfluorocarbon-soluble compounds |
-
2003
- 2003-06-13 GB GB0313770A patent/GB2402764B/en not_active Expired - Lifetime
-
2004
- 2004-01-20 JP JP2006516359A patent/JP3905552B2/ja not_active Expired - Lifetime
- 2004-01-20 EP EP04703434A patent/EP1680735B1/en not_active Expired - Lifetime
- 2004-01-20 KR KR1020057023835A patent/KR100971626B1/ko active IP Right Grant
- 2004-01-20 WO PCT/GB2004/000206 patent/WO2004111836A2/en active Application Filing
- 2004-01-20 DE DE602004028951T patent/DE602004028951D1/de not_active Expired - Lifetime
- 2004-01-20 RU RU2006101165/09A patent/RU2006101165A/ru not_active Application Discontinuation
- 2004-01-20 CN CNB2004800165437A patent/CN100380315C/zh not_active Expired - Lifetime
- 2004-02-11 MY MYPI20040436A patent/MY131744A/en unknown
- 2004-02-19 TW TW093104149A patent/TWI314702B/zh not_active IP Right Cessation
- 2004-02-20 US US10/781,883 patent/US7788472B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US7788472B2 (en) | 2010-08-31 |
GB2402764B (en) | 2006-02-22 |
US20040255097A1 (en) | 2004-12-16 |
CN1806225A (zh) | 2006-07-19 |
KR20060021370A (ko) | 2006-03-07 |
JP3905552B2 (ja) | 2007-04-18 |
RU2006101165A (ru) | 2006-05-27 |
WO2004111836A3 (en) | 2005-11-03 |
TW200428277A (en) | 2004-12-16 |
MY131744A (en) | 2007-08-30 |
GB2402764A (en) | 2004-12-15 |
JP2006527435A (ja) | 2006-11-30 |
WO2004111836A2 (en) | 2004-12-23 |
GB0313770D0 (en) | 2003-07-23 |
CN100380315C (zh) | 2008-04-09 |
DE602004028951D1 (de) | 2010-10-14 |
EP1680735A2 (en) | 2006-07-19 |
KR100971626B1 (ko) | 2010-07-22 |
EP1680735B1 (en) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI314702B (en) | The same instruction encoding method for common instruction subsets within data processing apparatus having multiple instruction sets, relevant data processing apparatus, and computer program product for recording relevant programs | |
TWI279715B (en) | Method, system and machine-readable medium of translating and executing binary of program code, and apparatus to process binaries | |
JP5512803B2 (ja) | ベクトル命令を取り扱うためのデータ処理装置および方法 | |
EP2524303B1 (en) | Mapping between registers used by multiple instruction sets | |
US6957321B2 (en) | Instruction set extension using operand bearing NOP instructions | |
JP5869125B2 (ja) | エントロピ符号化命令シーケンスの記憶および実行可能な形式への変換のための方法および装置 | |
US20090282220A1 (en) | Microprocessor with Compact Instruction Set Architecture | |
US8499293B1 (en) | Symbolic renaming optimization of a trace | |
US9965275B2 (en) | Element size increasing instruction | |
US7849292B1 (en) | Flag optimization of a trace | |
JP6491655B2 (ja) | 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 | |
JP4088418B2 (ja) | ソフトウェア・エミュレーションを改善するために異なるデータ・タイプの複数の結果を生成するコンピュータ命令 | |
US7937564B1 (en) | Emit vector optimization of a trace | |
KR19980069845A (ko) | 데이터 처리장치 | |
KR100308512B1 (ko) | 편집 기능을 위한 전문 밀리코드 지시 | |
KR20040079851A (ko) | 직접 명령어 렌더링 에뮬레이션 컴퓨터 기술 | |
KR100322726B1 (ko) | 번역 및 테스트를 위한 전문 밀리코드 명령 | |
KR100317769B1 (ko) | 압축 기억된 십진수 나눗셈에 대한 전문 밀리코드 명령 | |
JP2007122626A (ja) | マイクロプロセッサ | |
TWI428822B (zh) | 微處理器及其相關方法 | |
KR100322725B1 (ko) | 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 | |
TWI290288B (en) | Method, apparatus for generating address offset within a data system and readable medium for storing the associated instructions | |
JP2000112754A (ja) | データ処理装置 | |
TWI309802B (en) | Apparatus for removing unnecessary instruction and method thereof | |
JP2021057009A (ja) | 命令長デコーダシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK4A | Expiration of patent term of an invention patent |