JP5646656B2 - 複数の命令セットにより使用されるレジスタ間のマッピング - Google Patents
複数の命令セットにより使用されるレジスタ間のマッピング Download PDFInfo
- Publication number
- JP5646656B2 JP5646656B2 JP2012557603A JP2012557603A JP5646656B2 JP 5646656 B2 JP5646656 B2 JP 5646656B2 JP 2012557603 A JP2012557603 A JP 2012557603A JP 2012557603 A JP2012557603 A JP 2012557603A JP 5646656 B2 JP5646656 B2 JP 5646656B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- registers
- program
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims description 90
- 238000012545 processing Methods 0.000 claims description 134
- 238000000034 method Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims 6
- 238000004590 computer program Methods 0.000 claims 2
- 230000003068 static effect Effects 0.000 claims 1
- 210000003813 thumb Anatomy 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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, look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
Description
処理対象のデータ値を格納するように構成される複数のレジスタと、前記複数のレジスタに結合され、前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するように構成される処理回路と、
前記処理回路に結合され、前記データ処理操作を実行するように前記処理回路を制御するためのプログラム命令のストリームに応答する、命令デコーダと、を備え、
前記命令デコーダは、前記複数のレジスタにより提供されるNビットアーキテクチャレジスタを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第1の命令セットのプログラム命令に応答し、Nは、正の整数値であり、
前記命令デコーダは、前記複数のレジスタにより提供されるMビットアーキテクチャレジスタを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第2の命令セットのプログラム命令に応答し、Mは、正の整数値であり、前記複数のレジスタの少なくともいくつかは、前記第1の命令セットのプログラム命令および前記第2の命令セットのプログラム命令により共有され、
前記命令デコーダは、前記第1の命令セットのプログラム命令による使用に提示されるNビットアーキテクチャレジスタの第1のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記第2の命令セットのプログラム命令による使用に提示されるMビットアーキテクチャレジスタの第2のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第1のマッピングと、前記第2の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第2のマッピングとを提供し、前記第1のマッピングは、前記第2のマッピングとは異なり、前記第1のマッピングおよび前記第2のマッピングは、前記第1のセットの各レジスタが、前記第2のセットのレジスタに対し所定の1対1のマッピングを有し、前記第2のセットの前記レジスタと、前記複数のレジスタ内の共通レジスタの共有部分を共有し(前記共通レジスタの非共有部分は前記第1の命令セットを使用してアクセス不可である)、前記第2のセットのレジスタを使用してアクセス可能である値を格納するようなマッピングである、データ処理装置を提供する。
処理対象のデータ値を格納するための複数のレジスタ手段と、
前記複数のレジスタ手段に格納されたデータ値に対してデータ処理操作を実行するための処理手段と、
プログラム命令のストリームに応答して前記データ処理操作を実行するように前記処理回路を制御するための命令デコーディング手段と、を備え、
前記命令デコーディング手段は、前記複数のレジスタ手段により提供されるNビットアーキテクチャレジスタ手段を使用して前記データ処理操作を実行するように前記処理手段を制御するための、第1の命令セットのプログラム命令に応答し、Nは、正の整数値であり、
前記命令デコーディング手段は、前記複数のレジスタ手段により提供されるMビットアーキテクチャレジスタ手段を使用して前記データ処理操作を実行するように前記処理手段を制御するための、第2の命令セットのプログラム命令に応答し、Mは、正の整数値であり、前記複数のレジスタ手段の少なくともいくつかは、前記第1の命令セットのプログラム命令および前記第2の命令セットのプログラム命令により共有され、
前記命令デコーディング手段は、前記第1の命令セットのプログラム命令による使用に提示されるNビットアーキテクチャレジスタ手段の第1のセットの一部として前記複数のレジスタ手段のどれにアクセスするかを決定する時に、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーディング手段は、前記第2の命令セットのプログラム命令による使用に提示されるMビットアーキテクチャレジスタ手段の第2のセットの一部として前記複数のレジスタ手段のどれにアクセスするかを決定する時に、前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーディング手段は、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタ手段との間の第1のマッピングと、前記第2の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタ手段との間の第2のマッピングとを提供するように構成され、前記第1のマッピングは、前記第2のマッピングとは異なり、前記第1のマッピングおよび前記第2のマッピングは、前記第1のセットの各レジスタ手段が、前記第2のセットのレジスタ手段に対し所定の1対1のマッピングを有し、前記第2のセットの前記レジスタ手段と、前記複数のレジスタ手段内の共通レジスタ手段の共有部分を共有し(前記共通レジスタ手段の非共有部分は前記第1の命令セットを使用してアクセス不可である)、前記第2のセットのレジスタ手段を使用してアクセス可能である値を格納するようなマッピングである、データ処理装置を提供する。
複数のレジスタ内で処理対象のデータ値を格納するステップと、
前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するステップと、前記データ処理操作を実行する前記ステップを制御するためのプログラム命令のストリームをデコードするステップと、を含み、
前記デコードするステップは、前記複数のレジスタにより提供されるNビットアーキテクチャレジスタを使用して前記データ処理操作を実行する前記ステップを制御するための、第1の命令セットのプログラム命令に応答し、Nは、正の整数値であり、
前記デコードするステップは、前記複数のレジスタにより提供されるMビットアーキテクチャレジスタを使用して前記データ処理操作を実行する前記ステップを制御するための、第2の命令セットのプログラム命令に応答し、Mは、正の整数値であり、前記複数のレジスタの少なくともいくつかは、前記第1の命令セットのプログラム命令および前記第2の命令セットのプログラム命令により共有され、
前記デコードするステップは、前記第1の命令セットのプログラム命令による使用に提示されるNビットアーキテクチャレジスタの第1のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードし、
前記デコードするステップは、前記第2の命令セットのプログラム命令による使用に提示されるMビットアーキテクチャレジスタの第2のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードし、
前記デコードするステップは、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第1のマッピングと、前記第2の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第2のマッピングとを提供し、前記第1のマッピングは、前記第2のマッピングとは異なり、前記第1のマッピングおよび前記第2のマッピングは、前記第1のセットの各レジスタが、前記第2のセットのレジスタに対し所定の1対1のマッピングを有し、前記第2のセットの前記レジスタと、前記複数のレジスタ内の共通レジスタの共有部分を共有し(前記共通レジスタの非共有部分は前記第1の命令セットを使用してアクセス不可である)、前記第2のセットのレジスタを使用してアクセス可能である値を格納するようなマッピングである、データ処理方法を提供する。
処理対象のデータ値を格納するように構成される複数のレジスタと、
前記複数のレジスタに結合され、前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するように構成される処理回路と、
前記処理回路に結合され、前記データ処理操作を実行するように前記処理回路を制御するためのプログラム命令のストリームに応答する、命令デコーダと、を備え、
前記命令デコーダは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第1の命令セットのプログラム命令に応答し、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作するように構成され、前記命令デコーダは、どのアーキテクチャレジスタを使用するかを決定する時に、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記複数のレジスタにより提供され、前記第1の命令セットのプログラム命令と共有される、アーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第2の命令セットのプログラム命令に応答し、
前記命令デコーダは、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードし、どのアーキテクチャレジスタを使用するかを決定するように構成される、データ処理装置を提供する。
処理対象のデータ値を格納するための複数のレジスタ手段と、
前記複数のレジスタ手段に格納されたデータ値に対してデータ処理操作を実行するための処理手段と、
プログラム命令のストリームに応答して前記データ処理操作を実行するように前記処理回路を制御するための命令デコーディング手段と、を備え、
前記命令デコーダ手段は、前記複数のレジスタ手段により提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行するように前記処理手段を制御するための、第1の命令セットのプログラム命令に応答し、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作するように構成され、前記命令デコーダ手段は、どのアーキテクチャレジスタを使用するかを決定する時に、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするように構成され、
前記命令デコーダ手段は、前記複数のレジスタ手段により提供され、前記第1の命令セットのプログラム命令と共有される、アーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行するように前記処理手段を制御するための、第2の命令セットのプログラム命令に応答し、
前記命令デコーダ手段は、どのアーキテクチャレジスタを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成される、データ処理装置を提供する。
複数のレジスタ内で処理対象のデータ値を格納するステップと、
前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するステップと、前記データ処理操作を実行する前記ステップを制御するためのプログラム命令のストリームをデコードするステップと、を含み、
前記デコードするステップは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行する前記ステップを制御するための、第1の命令セットのプログラム命令に応答し、
前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作し、どのアーキテクチャレジスタを使用するかを決定するために、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするステップと、を含み、
前記デコードするステップは、前記複数のレジスタにより提供され、前記第1の命令セットのプログラム命令と共有される、アーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行する前記ステップを制御するための、第2の命令セットのプログラム命令に応答し、
前記デコードするステップは、どのアーキテクチャレジスタを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードする、データ処理方法を提供する。
4 プロセッサ
6 メモリ
8 汎用レジスタ
10 処理回路
12 乗算器
14 シフター
16 加算器
18 命令デコーダ
20 制御信号
22 命令パイプライン
24 プログラム
26 プログラム
28 命令セット選択回路
30 ビット例外モード回路
50 変換回路
52 マルチプレクサ
54 バンクレジスタマッピング回路
56 マルチプレクサ
58 レジスタリネーミング回路
60 複数のレジスタ
500 アプリケーションプログラム
510 仮想機械プログラム
520 ホストオペレーティングシステム
530 ホストプロセッサ
Claims (36)
- データ処理装置であって、
処理対象のデータ値を格納するように構成される複数のレジスタと、
前記複数のレジスタに結合され、前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するように構成される処理回路と、
前記処理回路に結合され、前記データ処理操作を実行するように前記処理回路を制御するためのプログラム命令のストリームに応答する、命令デコーダと、を備え、
前記命令デコーダは、前記複数のレジスタにより提供されるNビットアーキテクチャレジスタを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第1の命令セットのプログラム命令に応答し、Nは、正の整数値であり、
前記命令デコーダは、前記複数のレジスタにより提供されるMビットアーキテクチャレジスタを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第2の命令セットのプログラム命令に応答し、Mは、正の整数値であり、前記複数のレジスタの少なくともいくつかは、前記第1の命令セットのプログラム命令および前記第2の命令セットのプログラム命令により共有され、
前記命令デコーダは、前記第1の命令セットのプログラム命令による使用に提示されるNビットアーキテクチャレジスタの第1のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記第2の命令セットのプログラム命令による使用に提示されるMビットアーキテクチャレジスタの第2のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第1のマッピングと、前記第2の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第2のマッピングとを提供するように構成され、前記第1のマッピングは、前記第2のマッピングとは異なり、前記第1のマッピングおよび前記第2のマッピングは、前記第1のセットの各レジスタが、前記第2のセットのレジスタに対し所定の1対1のマッピングを有し、前記第2のセットの前記レジスタと、前記複数のレジスタ内の共通レジスタの共有部分を共有し(前記共通レジスタの非共有部分は前記第1の命令セットのプログラム命令を使用することによってはアクセス不可である)、前記第2のセットのレジスタを使用してアクセス可能である値を格納するようなマッピングであり、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態のうちの1つにおいて動作するように構成され、前記命令デコーダは、前記複数のレジスタのどれにアクセスするかを決定する時に、前記複数の例外状態のうちの現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするように構成され、前記第1のセット内のレジスタのグループであって、当該グループに含まれる各レジスタは、互いに、当該レジスタにマッピングされる、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は同じであるが、当該レジスタにマッピングされる、例外状態は異なるものである、前記第1のセット内のレジスタのグループにより、レジスタのバンクグループが形成され、
前記レジスタのバンクグループ内の各レジスタにマッピングされている、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値と、前記レジスタの同じバンクグループ内の各レジスタにマッピングされている、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値について、最下位ビットの値は同じであり、
前記所定の1対1のマッピングが為されている前記第1のセットのレジスタと前記第2のセットのレジスタのある範囲について、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値が1ずつ増える昇順であるのに対し、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている、前記第1のセットのレジスタの一群の各レジスタにマッピングされている前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は、2つの値が交互に現れるものであるように、前記命令デコーダは前記マッピングを提供する、データ処理装置。 - M=2Nである、請求項1に記載の装置。
- 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項1または2に記載の装置。
- 前記複数のレジスタは、複数のMビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記Mビットレジスタの最下位Nビットにアクセスするためのものである、請求項1、2および3のいずれか一項に記載の装置。
- N=32である、請求項1から4のいずれか一項に記載の装置。
- 前記複数のレジスタは、ヌル値レジスタを含み、
前記第2の命令セットのプログラム命令に基づいて前記ヌル値レジスタを読み出すときには、前記ヌル値レジスタは常にヌル値を返すものである、請求項1から5のいずれか一項に記載の装置。 - 前記レジスタの第1のセットは、前記ヌル値レジスタにマッピングされたアーキテクチャレジスタを有さない、請求項6に記載の装置。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタにマッピングされる前記第1のセットの外にある、請求項1から7のいずれか一項に記載の装置。
- 前記共通レジスタが前記第1の命令セットのプログラム命令によりアクセスされる時に、前記非共有部分をゼロ化するか、前記非共有部分の値を不変のままとするか、または、前記非共有部分の値を未定義値に設定するかのうちのいずれか1つを行う、請求項1から8のいずれか一項に記載の装置。
- データ処理装置であって、
処理対象のデータ値を格納するための複数のレジスタ手段と、
前記複数のレジスタ手段に格納されたデータ値に対してデータ処理操作を実行するための処理手段と、
プログラム命令のストリームに応答して前記データ処理操作を実行するように前記処理手段を制御するための命令デコーディング手段と、を備え、
前記命令デコーディング手段は、前記複数のレジスタ手段により提供されるNビットアーキテクチャレジスタ手段を使用して前記データ処理操作を実行するように前記処理手段を制御するための、第1の命令セットのプログラム命令に応答し、Nは、正の整数値であり、
前記命令デコーディング手段は、前記複数のレジスタ手段により提供されるMビットアーキテクチャレジスタ手段を使用して前記データ処理操作を実行するように前記処理手段を制御するための、第2の命令セットのプログラム命令に応答し、Mは、正の整数値であり、前記複数のレジスタ手段の少なくともいくつかは、前記第1の命令セットのプログラム命令および前記第2の命令セットのプログラム命令により共有され、
前記命令デコーディング手段は、前記第1の命令セットのプログラム命令による使用に提示されるNビットアーキテクチャレジスタ手段の第1のセットの一部として前記複数のレジスタ手段のどれにアクセスするかを決定する時に、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーディング手段は、前記第2の命令セットのプログラム命令による使用に提示されるMビットアーキテクチャレジスタ手段の第2のセットの一部として前記複数のレジスタ手段のどれにアクセスするかを決定する時に、前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーディング手段は、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタ手段との間の第1のマッピングと、前記第2の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタ手段との間の第2のマッピングとを提供するように構成され、前記第1のマッピングは、前記第2のマッピングとは異なり、前記第1のマッピングおよび前記第2のマッピングは、前記第1のセットの各レジスタ手段が、前記第2のセットのレジスタ手段に対し所定の1対1のマッピングを有し、前記第2のセットの前記レジスタ手段と、前記複数のレジスタ手段内の共通レジスタ手段の共有部分を共有し(前記共通レジスタ手段の非共有部分は前記第1の命令セットを使用することによってはアクセス不可である)、前記第2のセットのレジスタ手段を使用してアクセス可能である値を格納するようなマッピングであり、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態のうちの1つにおいて動作するように構成され、前記命令デコーディング手段は、前記複数のレジスタのどれにアクセスするかを決定する時に、前記複数の例外状態のうちの現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするように構成され、前記第1のセット内のレジスタのグループであって、当該グループに含まれる各レジスタは、互いに、当該レジスタにマッピングされる、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は同じであるが、当該レジスタにマッピングされる、例外状態は異なるものである、前記第1のセット内のレジスタのグループにより、レジスタのバンクグループが形成され、
前記レジスタのバンクグループ内の各レジスタにマッピングされている、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値と、前記レジスタの同じバンクグループ内の各レジスタにマッピングされている、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値について、最下位ビットの値は同じであり、
前記所定の1対1のマッピングが為されている前記第1のセットのレジスタと前記第2のセットのレジスタのある範囲について、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値が1ずつ増える昇順であるのに対し、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている、前記第1のセットのレジスタの一群の各レジスタにマッピングされている前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は、2つの値が交互に現れるものであるように、前記命令デコーディング手段は前記マッピングを提供する、データ処理装置。 - データ処理方法であって、
複数のレジスタ内で処理対象のデータ値を格納するステップと、
プログラム命令のストリームをデコードするステップと、
前記デコードするステップによりデコードされる前記プログラム命令に基づいて制御されるデータ処理操作であって、前記複数のレジスタに格納されたデータ値に対するデータ処理操作を実行するステップとを含み、
前記デコードするステップは、前記複数のレジスタにより提供されるNビットアーキテクチャレジスタを使用して前記データ処理操作を実行する前記ステップを制御するための、第1の命令セットのプログラム命令に応答し、Nは、正の整数値であり、
前記デコードするステップは、前記複数のレジスタにより提供されるMビットアーキテクチャレジスタを使用して前記データ処理操作を実行する前記ステップを制御するための、第2の命令セットのプログラム命令に応答し、Mは、正の整数値であり、前記複数のレジスタの少なくともいくつかは、前記第1の命令セットのプログラム命令および前記第2の命令セットのプログラム命令により共有され、
前記デコードするステップは、前記第1の命令セットのプログラム命令による使用に提示されるNビットアーキテクチャレジスタの第1のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードし、
前記デコードするステップは、前記第2の命令セットのプログラム命令による使用に提示されるMビットアーキテクチャレジスタの第2のセットの一部として前記複数のレジスタのどれにアクセスするかを決定する時に、前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードし、
前記デコードするステップは、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第1のマッピングと、前記第2の命令セットのプログラム命令内の前記レジスタ指定フィールドの値と、前記複数のレジスタとの間の第2のマッピングとを提供し、前記第1のマッピングは、前記第2のマッピングとは異なり、前記第1のマッピングおよび前記第2のマッピングは、前記第1のセットの各レジスタが、前記第2のセットのレジスタに対し所定の1対1のマッピングを有し、前記第2のセットの前記レジスタと、前記複数のレジスタ内の共通レジスタの共有部分を共有し(前記共通レジスタの非共有部分は前記第1の命令セットを使用することによってはアクセス不可である)、前記第2のセットのレジスタを使用してアクセス可能である値を格納するようなマッピングであり、
前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態のうちの1つにおいて動作し、前記デコードするステップは、前記複数のレジスタのどれにアクセスするかを決定する時に、前記複数の例外状態のうちの現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードし、前記第1のセット内のレジスタのグループであって、当該グループに含まれる各レジスタは、互いに、当該レジスタにマッピングされる、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は同じであるが、当該レジスタにマッピングされる、例外状態は異なるものである、前記第1のセット内のレジスタのグループにより、レジスタのバンクグループが形成され、
前記レジスタのバンクグループ内の各レジスタにマッピングされている、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値と、前記レジスタの同じバンクグループ内の各レジスタにマッピングされている、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値について、最下位ビットの値は同じであり、
前記所定の1対1のマッピングが為されている前記第1のセットのレジスタと前記第2のセットのレジスタのある範囲について、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値が1ずつ増える昇順であるのに対し、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている、前記第1のセットのレジスタの一群の各レジスタにマッピングされている前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は、2つの値が交互に現れるものであるように、前記デコードするステップは前記マッピングを提供する、データ処理方法。 - M=2Nである、請求項11に記載の方法。
- 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項11または12に記載の方法。
- 前記複数のレジスタは、複数のMビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記Mビットレジスタの最下位Nビットにアクセスするためのものである、請求項11、12および13のいずれか一項に記載の方法。
- N=32である、請求項11から14のいずれか一項に記載の方法。
- 前記複数のレジスタは、ヌル値レジスタを含み、
前記第2の命令セットのプログラム命令に基づいて前記ヌル値レジスタを読み
出すときには、前記ヌル値レジスタは常にヌル値を返すものである、請求項11から15のいずれか一項に記載の方法。 - 前記レジスタの第1のセットは、前記ヌル値レジスタにマッピングされたアーキテクチャレジスタを有さない、請求項16に記載の方法。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタにマッピングされるレジスタの前記第1のセットの外にある、請求項11から17のいずれか一項に記載の方法。
- 前記共通レジスタが前記第1の命令セットのプログラム命令によりアクセスされる時に、前記非共有部分をゼロ化するか、前記非共有部分の値を不変のままとするか、または、前記非共有部分の値を未定義値に設定するかのうちのいずれか1つを行う、請求項11から18のいずれか一項に記載の方法。
- データ処理装置上で実行されるコンピュータプログラムにより提供される仮想機械であって、請求項1から9のいずれか一項に記載の装置に対応する命令実行環境を提供する仮想機械。
- データ処理装置であって、
処理対象のデータ値を格納するように構成される複数のレジスタと、
前記複数のレジスタに結合され、前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するように構成される処理回路と、
前記処理回路に結合され、前記データ処理操作を実行するように前記処理回路を制御するためのプログラム命令のストリームに応答する、命令デコーダと、を備え、
前記命令デコーダは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第1の命令セットのプログラム命令に応答し、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態のうちの1つにおいて動作するように構成され、前記命令デコーダは、どのアーキテクチャレジスタを使用するかを決定する時に、前記複数の例外状態のうちの現在の例外状態とともに、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第2の命令セットのプログラム命令に応答し、
前記第1のセットのアーキテクチャレジスタの各レジスタと、前記第2のセットのアーキテクチャレジスタの各レジスタが、所定の1対1のマッピングを有することにより、前記第1の命令セットのプログラム命令と前記第2の命令セットのプログラム命令が前記複数のレジスタの少なくともいくつかを共有するものであり、
前記命令デコーダは、どのアーキテクチャレジスタを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記第1のセット内のレジスタのグループであって、当該グループに含まれる各レジスタは、互いに、当該レジスタにマッピングされる、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は同じであるが、当該レジスタにマッピングされる、例外状態は異なるものである、前記第1のセット内のレジスタのグループにより、レジスタのバンクグループが形成され、
前記レジスタのバンクグループ内の各レジスタにマッピングされている、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値と、前記レジスタの同じバンクグループ内の各レジスタにマッピングされている、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値について、最下位ビットの値は同じであり、
前記所定の1対1のマッピングが為されている前記第1のセットのレジスタと前記第2のセットのレジスタのある範囲について、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値が1ずつ増える昇順であるのに対し、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている、前記第1のセットのレジスタの一群の各レジスタにマッピングされている前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は、2つの値が交互に現れるものであるように、前記命令デコーダはマッピングを提供する、データ処理装置。 - 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項21に記載の装置。
- 前記複数のレジスタは、複数の2Nビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記2Nビットレジスタの最下位Nビットにアクセスするためのものである、請求項21または22に記載の装置。
- N=32である、請求項23に記載の装置。
- 前記複数のレジスタは、ヌル値レジスタを含み、
前記第2の命令セットのプログラム命令に基づいて前記ヌル値レジスタを読み出すときには、前記ヌル値レジスタは常にヌル値を返すものである、請求項21から24のいずれか一項に記載の装置。 - 前記第1のセットは、前記ヌル値レジスタに対応するアーキテクチャレジスタを有さない、請求項25に記載の装置。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタに対応する前記第1のセットの外にある、請求項21から26のいずれか一項に記載の装置。
- データ処理装置であって、
処理対象のデータ値を格納するための複数のレジスタ手段と、
前記複数のレジスタ手段に格納されたデータ値に対してデータ処理操作を実行するための処理手段と、
プログラム命令のストリームに応答して前記データ処理操作を実行するように前記処理手段を制御するための命令デコーダ手段と、を備え、
前記命令デコーダ手段は、前記複数のレジスタ手段により提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行するように前記処理手段を制御するための、第1の命令セットのプログラム命令に応答し、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態の1つにおいて動作するように構成され、前記命令デコーダ手段は、どのアーキテクチャレジスタを使用するかを決定する時に、前記複数の例外状態のうちの現在の例外状態とともに、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダ手段は、前記複数のレジスタ手段により提供されるアーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行するように前記処理手段を制御するための、第2の命令セットのプログラム命令に応答し、
前記第1のセットのアーキテクチャレジスタの各レジスタと、前記第2のセットのアーキテクチャレジスタの各レジスタが、所定の1対1のマッピングを有することにより、前記第1の命令セットのプログラム命令と前記第2の命令セットのプログラム命令が前記複数のレジスタ手段の少なくともいくつかを共有するものであり、
前記命令デコーダ手段は、アーキテクチャレジスタのどれを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記第1のセット内のレジスタのグループであって、当該グループに含まれる各レジスタは、互いに、当該レジスタにマッピングされる、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は同じであるが、当該レジスタにマッピングされる、例外状態は異なるものである、前記第1のセット内のレジスタのグループにより、レジスタのバンクグループが形成され、
前記レジスタのバンクグループ内の各レジスタにマッピングされている、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値と、前記レジスタの同じバンクグループ内の各レジスタにマッピングされている、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値について、最下位ビットの値は同じであり、
前記所定の1対1のマッピングが為されている前記第1のセットのレジスタと前記第2のセットのレジスタのある範囲について、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値が1ずつ増える昇順であるのに対し、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている、前記第1のセットのレジスタの一群の各レジスタにマッピングされている前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は、2つの値が交互に現れるものであるように、前記命令デコーダ手段はマッピングを提供する、データ処理装置。 - データ処理方法であって、
複数のレジスタ内で処理対象のデータ値を格納するステップと、
プログラム命令のストリームをデコードするステップと、
前記デコードするステップによりデコードされる前記プログラム命令に基づいて制御されるデータ処理操作であって、前記複数のレジスタに格納されたデータ値に対するデータ処理操作を実行するステップと、を含み、
前記デコードするステップは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行する前記ステップを制御するための、第1の命令セットのプログラム命令に応答し、
前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態のうちの1つにおいて動作し、
前記デコードするステップは、どのアーキテクチャレジスタを使用するかを決定するために、前記複数の例外状態のうちの現在の例外状態とともに、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするステップを含み、
前記デコードするステップは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行する前記ステップを制御するための、第2の命令セットのプログラム命令に応答し、
前記第1のセットのアーキテクチャレジスタの各レジスタと、前記第2のセットのアーキテクチャレジスタの各レジスタが、所定の1対1のマッピングを有することにより、前記第1の命令セットのプログラム命令と前記第2の命令セットのプログラム命令が前記複数のレジスタの少なくともいくつかを共有するものであり、
前記デコードするステップは、どのアーキテクチャレジスタを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードし、
前記第1のセット内のレジスタのグループであって、当該グループに含まれる各レジスタは、互いに、当該レジスタにマッピングされる、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は同じであるが、当該レジスタにマッピングされる、例外状態は異なるものである、前記第1のセット内のレジスタのグループにより、レジスタのバンクグループが形成され、
前記レジスタのバンクグループ内の各レジスタにマッピングされている、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値と、前記レジスタの同じバンクグループ内の各レジスタにマッピングされている、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値について、最下位ビットの値は同じであり、
前記所定の1対1のマッピングが為されている前記第1のセットのレジスタと前記第2のセットのレジスタのある範囲について、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値が1ずつ増える昇順であるのに対し、その範囲内の第2のセットのレジスタの一群の各レジスタにマッピングされている、前記第1のセットのレジスタの一群の各レジスタにマッピングされている前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの値は、2つの値が交互に現れるものであるように、前記デコードするステップはマッピングを提供する、データ処理方法。 - 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項29に記載の方法。
- 前記複数のレジスタは、複数の2Nビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記2Nビットレジスタの最下位Nビットにアクセスするためのものである、請求項29または30に記載の方法。
- N=32である、請求項31に記載の方法。
- 前記複数のレジスタは、ヌル値レジスタを含み、
前記第2の命令セットのプログラム命令に基づいて前記ヌル値レジスタを読み出すときには、前記ヌル値レジスタは常にヌル値を返すものである、請求項29から32のいずれか一項に記載の方法。 - 前記第1のセットは、前記ヌル値レジスタに対応するアーキテクチャレジスタを有さない、請求項33に記載の方法。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタに対応する前記第1のセットの外にある、請求項29から34のいずれか一項に記載の方法。
- データ処理装置上で実行されるコンピュータプログラムにより提供される仮想機械であって、請求項21から27のいずれか一項に記載の装置に対応する命令実行環境を提供する仮想機械。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1004293.5 | 2010-03-15 | ||
GB1004293.5A GB2478726B (en) | 2010-03-15 | 2010-03-15 | Mapping between registers used by multiple instruction sets |
PCT/GB2011/050306 WO2011114121A1 (en) | 2010-03-15 | 2011-02-16 | Mapping between registers used by multiple instruction sets |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013522749A JP2013522749A (ja) | 2013-06-13 |
JP5646656B2 true JP5646656B2 (ja) | 2014-12-24 |
Family
ID=42261608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012557603A Active JP5646656B2 (ja) | 2010-03-15 | 2011-02-16 | 複数の命令セットにより使用されるレジスタ間のマッピング |
Country Status (10)
Country | Link |
---|---|
US (1) | US9092215B2 (ja) |
EP (1) | EP2524303B1 (ja) |
JP (1) | JP5646656B2 (ja) |
KR (1) | KR101812569B1 (ja) |
CN (1) | CN103098020B (ja) |
GB (1) | GB2478726B (ja) |
IL (1) | IL220987A (ja) |
MY (1) | MY156118A (ja) |
TW (1) | TWI489386B (ja) |
WO (1) | WO2011114121A1 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9631528B2 (en) * | 2009-09-03 | 2017-04-25 | Clean Emissions Technologies, Inc. | Vehicle reduced emission deployment |
US9158541B2 (en) * | 2010-11-03 | 2015-10-13 | Apple Inc. | Register renamer that handles multiple register sizes aliased to the same storage locations |
US9032189B2 (en) | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US8924695B2 (en) | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US8914615B2 (en) * | 2011-12-02 | 2014-12-16 | Arm Limited | Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format |
US9430243B2 (en) * | 2012-04-30 | 2016-08-30 | Apple Inc. | Optimizing register initialization operations |
EP2704001B1 (en) * | 2012-08-31 | 2016-10-19 | VIA Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
EP3179363B1 (en) * | 2012-08-31 | 2019-04-24 | VIA Technologies, Inc. | Microprocessor that enables arm isa program to access general purpose registers written by x86 isa program |
US10228941B2 (en) * | 2013-06-28 | 2019-03-12 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9916185B2 (en) | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
KR102180972B1 (ko) * | 2014-04-23 | 2020-11-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 |
GB2538237B (en) * | 2015-05-11 | 2018-01-10 | Advanced Risc Mach Ltd | Available register control for register renaming |
GB2546465B (en) * | 2015-06-05 | 2018-02-28 | Advanced Risc Mach Ltd | Modal processing of program instructions |
GB2540971B (en) * | 2015-07-31 | 2018-03-14 | Advanced Risc Mach Ltd | Graphics processing systems |
US20170046160A1 (en) * | 2015-08-14 | 2017-02-16 | Qualcomm Incorporated | Efficient handling of register files |
GB2547912B (en) * | 2016-03-02 | 2019-01-30 | Advanced Risc Mach Ltd | Register access control |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0827716B2 (ja) | 1985-10-25 | 1996-03-21 | 株式会社日立製作所 | データ処理装置及びデータ処理方法 |
GB2289354B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
GB2349252B (en) * | 1996-06-10 | 2001-02-14 | Lsi Logic Corp | An apparatus and method for detecting and decompressing instructions from a variable-length compressed instruction set |
US6499046B1 (en) | 1999-05-20 | 2002-12-24 | International Business Machines Corporation | Saturation detection apparatus and method therefor |
US6981132B2 (en) * | 2000-08-09 | 2005-12-27 | Advanced Micro Devices, Inc. | Uniform register addressing using prefix byte |
US20030126520A1 (en) * | 2001-12-31 | 2003-07-03 | Globespanvirata | System and method for separating exception vectors in a multiprocessor data processing system |
JP2004157636A (ja) * | 2002-11-05 | 2004-06-03 | Renesas Technology Corp | データ処理装置 |
EP1447742A1 (en) * | 2003-02-11 | 2004-08-18 | STMicroelectronics S.r.l. | Method and apparatus for translating instructions of an ARM-type processor into instructions for a LX-type processor |
TWI224281B (en) * | 2003-07-16 | 2004-11-21 | Sunplus Technology Co Ltd | A processor executing script with different length and method thereof |
TW200511111A (en) * | 2003-07-30 | 2005-03-16 | Koninkl Philips Electronics Nv | Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set |
US7263621B2 (en) * | 2004-11-15 | 2007-08-28 | Via Technologies, Inc. | System for reducing power consumption in a microprocessor having multiple instruction decoders that are coupled to selectors receiving their own output as feedback |
CN101882456B (zh) | 2005-08-09 | 2012-11-28 | 松下电器产业株式会社 | 记录介质,重放设备、方法及程序 |
US8245016B2 (en) * | 2007-09-28 | 2012-08-14 | International Business Machines Corporation | Multi-threaded processing |
GB2478731B (en) * | 2010-03-15 | 2013-08-21 | Advanced Risc Mach Ltd | Operand size control |
-
2010
- 2010-03-15 GB GB1004293.5A patent/GB2478726B/en active Active
-
2011
- 2011-02-16 MY MYPI2012003358A patent/MY156118A/en unknown
- 2011-02-16 JP JP2012557603A patent/JP5646656B2/ja active Active
- 2011-02-16 CN CN201180014383.2A patent/CN103098020B/zh active Active
- 2011-02-16 KR KR1020127025937A patent/KR101812569B1/ko active IP Right Grant
- 2011-02-16 WO PCT/GB2011/050306 patent/WO2011114121A1/en active Application Filing
- 2011-02-16 EP EP11705237.3A patent/EP2524303B1/en active Active
- 2011-02-22 US US12/929,865 patent/US9092215B2/en active Active
- 2011-03-15 TW TW100108781A patent/TWI489386B/zh active
-
2012
- 2012-07-17 IL IL220987A patent/IL220987A/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
TW201203110A (en) | 2012-01-16 |
EP2524303A1 (en) | 2012-11-21 |
TWI489386B (zh) | 2015-06-21 |
MY156118A (en) | 2016-01-15 |
US20110225397A1 (en) | 2011-09-15 |
CN103098020A (zh) | 2013-05-08 |
CN103098020B (zh) | 2016-04-27 |
GB2478726B (en) | 2013-12-25 |
WO2011114121A1 (en) | 2011-09-22 |
KR101812569B1 (ko) | 2017-12-27 |
IL220987A0 (en) | 2012-09-24 |
EP2524303B1 (en) | 2019-08-07 |
US9092215B2 (en) | 2015-07-28 |
GB201004293D0 (en) | 2010-04-28 |
JP2013522749A (ja) | 2013-06-13 |
KR20130016246A (ko) | 2013-02-14 |
IL220987A (en) | 2016-05-31 |
GB2478726A (en) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5646656B2 (ja) | 複数の命令セットにより使用されるレジスタ間のマッピング | |
US9804851B2 (en) | Operand size control | |
US8078828B1 (en) | Memory mapped register file | |
JP5808348B2 (ja) | マシン状態に基づいた命令の分割 | |
KR101597774B1 (ko) | 마스킹된 전체 레지스터 액세스들을 이용한 부분적 레지스터 액세스들을 구현하기 위한 프로세서들, 방법들 및 시스템들 | |
IL256163A (en) | A device and method for transferring multiple data structures between memory and multiple vector registers | |
JP6849275B2 (ja) | インデックスおよび即値を用いてベクトル置換を実行するための方法および装置 | |
GB2529777A (en) | Processor with granular add immediates capability and methods | |
KR20110055629A (ko) | 단일 명령 다중 데이터(simd)데이터 처리기에서 확장된 어드레싱 모드들의 제공 | |
CN107851013B (zh) | 数据处理装置和方法 | |
KR20180066146A (ko) | 벡터 데이터 전송 명령어 | |
WO2012136975A1 (en) | A data processing apparatus and method for performing vector operations | |
JP2018506096A (ja) | ベクトルビットシャッフルを実行するための方法および装置 | |
KR20180067582A (ko) | 벡터 로드 명령어 | |
KR101528130B1 (ko) | 권한 레벨에 관계없는 세그먼트 레지스터 판독 및 기입용 시스템, 장치, 및 방법 | |
CN112148369A (zh) | 用于远程处理器的异构cpuid伪装 | |
US11451241B2 (en) | Setting values of portions of registers based on bit values | |
JP2017538215A (ja) | 逆分離演算を実行するための命令及びロジック | |
EP3329361B1 (en) | Vector operand bitsize control | |
JP2018500666A (ja) | ベクトルビットギャザーを実行するための方法および装置 | |
US20210132985A1 (en) | Shadow latches in a shadow-latch configured register file for thread storage | |
TW202307653A (zh) | 陳述技術 | |
KR20070092093A (ko) | 다중 마이크로컨트롤러 시스템, 명령어, 및 그의 명령어실행 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140909 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141006 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5646656 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |