JP2013522749A - 複数の命令セットにより使用されるレジスタ間のマッピング - Google Patents
複数の命令セットにより使用されるレジスタ間のマッピング Download PDFInfo
- Publication number
- JP2013522749A JP2013522749A JP2012557603A JP2012557603A JP2013522749A JP 2013522749 A JP2013522749 A JP 2013522749A JP 2012557603 A JP2012557603 A JP 2012557603A JP 2012557603 A JP2012557603 A JP 2012557603A JP 2013522749 A JP2013522749 A JP 2013522749A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- registers
- program
- instruction set
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims description 134
- 238000000034 method Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 17
- 238000003672 processing method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims 2
- 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/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
-
- 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 or 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 or 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
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 (48)
- データ処理装置であって、
処理対象のデータ値を格納するように構成される複数のレジスタと、
前記複数のレジスタに結合され、前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するように構成される処理回路と、
前記処理回路に結合され、前記データ処理操作を実行するように前記処理回路を制御するためのプログラム命令のストリームに応答する、命令デコーダと、を備え、
前記命令デコーダは、前記複数のレジスタにより提供される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のセットのレジスタを使用してアクセス可能である値を格納するようなマッピングである、データ処理装置。 - M=2Nである、請求項1に記載の装置。
- 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項1または2に記載の装置。
- 前記複数のレジスタは、複数のMビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記Mビットレジスタの最下位Nビットにアクセスする、請求項1、2および3のいずれか一項に記載の装置。
- N=32である、請求項1から4のいずれか一項に記載の装置。
- 前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作するように構成され、前記命令デコーダは、前記複数のレジスタのどれにアクセスするかを決定する時に、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするように構成され、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの共通の値および異なる例外状態に対応する前記第1のセット内のレジスタのグループは、レジスタのバンクグループである、請求項1から5のいずれか一項に記載の装置。
- 前記レジスタのバンクグループ内で、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値は、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値と共通である、請求項6に記載の装置。
- 前記命令デコーダは、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの増分値のシーケンスに対応する前記第2のセットの前記レジスタの部分に対して、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの対応する値が2つの値の間で交互するように、前記マッピングを提供するように構成される、請求項7に記載の装置。
- 前記複数のレジスタは、前記第2の命令セットのプログラム命令にアクセスしたときに、所定のヌル値を格納するヌル値レジスタを含む、請求項1から8のいずれか一項に記載の装置。
- 前記レジスタの第1のセットは、前記ヌル値レジスタにマッピングされたアーキテクチャレジスタを有さない、請求項9に記載の装置。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタにマッピングされる前記第1のセットの外にある、請求項1から10のいずれか一項に記載の装置。
- 前記共通レジスタが前記第1の命令セットのプログラム命令によりアクセスされる時に、前記非共有部分が、ゼロ化される、不変である、および未定義値に設定されるうちの1つである、請求項1から11のいずれか一項に記載の装置。
- データ処理装置であって、
処理対象のデータ値を格納するための複数のレジスタ手段と、
前記複数のレジスタ手段に格納されたデータ値に対してデータ処理操作を実行するための処理手段と、
プログラム命令のストリームに応答して前記データ処理操作を実行するように前記処理回路を制御するための命令デコーディング手段と、を備え、
前記命令デコーディング手段は、前記複数のレジスタ手段により提供される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のセットのレジスタを使用してアクセス可能である値を格納するようなマッピングである、データ処理方法。 - M=2Nである、請求項14に記載の方法。
- 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項14または15に記載の方法。
- 前記複数のレジスタは、複数のMビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記Mビットレジスタの最下位Nビットにアクセスする、請求項14、15および16のいずれか一項に記載の装置。
- N=32である、請求項14から17のいずれか一項に記載の方法。
- 前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態の1つにおいて動作し、前記デコードするステップは、前記複数のレジスタのどれにアクセスするかを決定する時に、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードし、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの共通の値および異なる例外状態に対応する前記第1のセット内のレジスタのグループは、レジスタのバンクグループである、請求項14から18のいずれか一項に記載の方法。
- 前記レジスタのバンクグループ内で、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値は、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値と共通である、請求項19に記載の方法。
- 前記デコードするステップは、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの増分値のシーケンスに対応する前記第2のセットの前記レジスタの部分に対して、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの対応する値が2つの値の間で交互するように、前記マッピングを提供する、請求項20に記載の方法。
- 前記複数のレジスタは、前記第2の命令セットのプログラム命令にアクセスした時に、所定のヌル値を格納するヌル値レジスタを含む、請求項14から21のいずれか一項に記載の方法。
- 前記レジスタの第1のセットは、前記ヌル値レジスタにマッピングされたアーキテクチャレジスタを有さない、請求項22に記載の方法。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタにマッピングされるレジスタの前記第1のセットの外にある、請求項14から23のいずれか一項に記載の方法。
- 前記共通レジスタが前記第1の命令セットのプログラム命令によりアクセスされる時に、前記非共有部分が、ゼロ化される、不変である、および未定義値に設定されるうちの1つである、請求項14から24のいずれか一項に記載の装置。
- データ処理装置上で実行されるコンピュータプログラムにより提供される仮想機械であって、請求項1から12のいずれか一項に記載の装置に対応する命令実行環境を提供する仮想機械。
- データ処理装置であって、
処理対象のデータ値を格納するように構成される複数のレジスタと、
前記複数のレジスタに結合され、前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するように構成される処理回路と、
前記処理回路に結合され、前記データ処理操作を実行するように前記処理回路を制御するためのプログラム命令のストリームに応答する、命令デコーダと、を備え、
前記命令デコーダは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第1の命令セットのプログラム命令に応答し、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作するように構成され、前記命令デコーダは、どのアーキテクチャレジスタを使用するかを決定する時に、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成され、
前記命令デコーダは、前記複数のレジスタにより提供され、前記第1の命令セットのプログラム命令と共有される、アーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行するように前記処理回路を制御するための、第2の命令セットのプログラム命令に応答し、
前記命令デコーダは、どのアーキテクチャレジスタを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成される、データ処理装置。 - 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項27に記載の装置。
- 前記複数のレジスタは、複数の2Nビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記2Nビットレジスタの最下位Nビットにアクセスする、請求項27または28に記載の装置。
- N=32である、請求項29に記載の装置。
- 前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの共通の値および異なる例外状態に対応する前記第1のセット内のレジスタのグループは、レジスタのバンクグループである、請求項27から30のいずれか一項に記載の装置。
- 前記レジスタのバンクグループ内で、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値は、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値と共通である、請求項31に記載の装置。
- 前記命令デコーダは、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの増分値のシーケンスに対応する前記第2のセットの前記レジスタの部分に対して、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの対応する値が2つの値の間で交互するように構成される、請求項32に記載の装置。
- 前記複数のレジスタは、前記第2の命令セットのプログラム命令にアクセスした時に、所定のヌル値を格納するヌル値レジスタを含み、前記第1のセットは、前記ヌル値レジスタに対応するレジスタを有さない、請求項27から33のいずれか一項に記載の装置。
- 前記第1のセットは、前記ヌル値レジスタに対応するアーキテクチャレジスタを有さない、請求項34に記載の装置。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタに対応する前記第1のセットの外にある、請求項27から35のいずれか一項に記載の装置。
- データ処理装置であって、
処理対象のデータ値を格納するための複数のレジスタ手段と、
前記複数のレジスタ手段に格納されたデータ値に対してデータ処理操作を実行するための処理手段と、
プログラム命令のストリームに応答して前記データ処理操作を実行するように前記処理回路を制御するための命令デコーダ手段と、を備え、
前記命令デコーダ手段は、前記複数のレジスタ手段により提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行するように前記処理手段を制御するための、第1の命令セットのプログラム命令に応答し、
前記装置は、前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作するように構成され、前記命令デコーダ手段は、どのアーキテクチャレジスタを使用するかを決定する時に、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内の前記レジスタ指定フィールドをデコードするように構成され、
前記命令デコーダ手段は、前記複数のレジスタ手段により提供され、前記第1の命令セットのプログラム命令と共有される、アーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行するように前記処理手段を制御するための、第2の命令セットのプログラム命令に応答し、
前記命令デコーダ手段は、アーキテクチャレジスタのどれを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするように構成される、データ処理装置。 - データ処理方法であって、
複数のレジスタ内で処理対象のデータ値を格納するステップと、
前記複数のレジスタに格納されたデータ値に対してデータ処理操作を実行するステップと、
前記データ処理操作を実行する前記ステップを制御するためのプログラム命令のストリームをデコードするステップと、を含み、
前記デコードするステップは、前記複数のレジスタにより提供されるアーキテクチャレジスタの第1のセットを使用して前記データ処理操作を実行する前記ステップを制御するための、第1の命令セットのプログラム命令に応答し、
前記第1の命令セットのプログラム命令を実行する時に、複数の例外状態において動作し、どのアーキテクチャレジスタを使用するかを決定するために、前記複数の例外状態の現在の例外状態とともに、前記第1の命令セットのプログラム命令内のレジスタ指定フィールドをデコードするステップと、を含み、
前記デコードするステップは、前記複数のレジスタにより提供され、前記第1の命令セットのプログラム命令と共有される、アーキテクチャレジスタの第2のセットを使用して前記データ処理操作を実行する前記ステップを制御するための、第2の命令セットのプログラム命令に応答し、
前記デコードするステップは、どのアーキテクチャレジスタを使用するかを決定する時に、例外状態に依存せずに前記第2の命令セットのプログラム命令内のレジスタ指定フィールドをデコードする、データ処理方法。 - 前記第1のセットおよび前記第2のセットは、同数のレジスタを含む、請求項38に記載の方法。
- 前記複数のレジスタは、複数の2Nビットレジスタを備え、前記第1の命令セットのプログラム命令は、前記2Nビットレジスタの最下位Nビットにアクセスする、請求項38または39に記載の方法。
- N=32である、請求項40に記載の方法。
- 前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの共通の値および異なる例外状態に対応する前記第1のセット内のレジスタのグループは、レジスタのバンクグループである、請求項38から41のいずれか一項に記載の方法。
- 前記レジスタのバンクグループ内で、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値は、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの最下位ビットの値と共通である、請求項42に記載の方法。
- 前記デコードするステップは、前記第2の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの増分値のシーケンスに対応する前記第2のセットの前記レジスタの部分に対して、前記第1の命令セットの前記プログラム命令内の前記レジスタ指定フィールドの対応する値が2つの値の間で交互するようなステップである、請求項43に記載の方法。
- 前記複数のレジスタは、前記第2の命令セットのプログラム命令にアクセスした時に、所定のヌル値を格納するヌル値レジスタを含み、前記第1のセットは、前記ヌル値レジスタに対応するレジスタを有さない、請求項38から44のいずれか一項に記載の方法。
- 前記第1のセットは、前記ヌル値レジスタに対応するアーキテクチャレジスタを有さない、請求項45に記載の方法。
- 前記第1の命令セットのプログラム命令を実行する時に、プログラムカウンタレジスタは、実行されているプログラム命令のメモリアドレスを示す値を格納し、前記プログラムカウンタレジスタは、前記第2のセットのレジスタに対応する前記第1のセットの外にある、請求項38から46のいずれか一項に記載の方法。
- データ処理装置上で実行されるコンピュータプログラムにより提供される仮想機械であって、請求項27から36のいずれか一項に記載の装置に対応する命令実行環境を提供する仮想機械。
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 true JP2013522749A (ja) | 2013-06-13 |
JP5646656B2 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 (34)
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 |
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 |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
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 |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
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) |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US9032189B2 (en) | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
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 |
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 |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
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 |
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 |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution 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 |
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 |
EP2704002B1 (en) * | 2012-08-31 | 2016-10-26 | VIA Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
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 |
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 |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
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 |
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 |
CN115525343B (zh) * | 2022-10-31 | 2023-07-25 | 海光信息技术股份有限公司 | 一种并行译码的方法、处理器、芯片及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126520A1 (en) * | 2001-12-31 | 2003-07-03 | Globespanvirata | System and method for separating exception vectors in a multiprocessor data processing system |
US20040186981A1 (en) * | 2000-08-09 | 2004-09-23 | Christie David S. | Uniform register addressing using prefix byte |
WO2011114125A1 (en) * | 2010-03-15 | 2011-09-22 | Arm Limited | Operand size control |
Family Cites Families (11)
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 |
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 |
EP1922731A1 (en) | 2005-08-09 | 2008-05-21 | Matsushita Electric Industrial Co., Ltd. | Recording medium, playback apparatus, method and program |
US8245016B2 (en) * | 2007-09-28 | 2012-08-14 | International Business Machines Corporation | Multi-threaded processing |
-
2010
- 2010-03-15 GB GB1004293.5A patent/GB2478726B/en active Active
-
2011
- 2011-02-16 JP JP2012557603A patent/JP5646656B2/ja active Active
- 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-16 MY MYPI2012003358A patent/MY156118A/en unknown
- 2011-02-16 KR KR1020127025937A patent/KR101812569B1/ko active IP Right Grant
- 2011-02-16 CN CN201180014383.2A patent/CN103098020B/zh 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
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040186981A1 (en) * | 2000-08-09 | 2004-09-23 | Christie David S. | 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 |
WO2011114125A1 (en) * | 2010-03-15 | 2011-09-22 | Arm Limited | Operand size control |
Non-Patent Citations (8)
Title |
---|
CSNB200100112001; 大貫徹、外4名著,山岸誠仁編: SuperHプロセッサ 第2版, 20000801, Pages:98-100, 122-123,186-193, 204-205, CQ出版株式会社 * |
CSNB200500446001; 中森章: インターフェース増刊 TECH I vo.20 マイクロプロセッサ・アーキテクチャ入門 初版, 20040401, Pages:179-180, CQ出版株式会社 * |
JPN5013004018; Manfred Schlett: 'The architecture of the SH-5 links the future and the past' electronic engineering Vol:72, No:877, 200002, Pages:22,24,26,29,31,33, MORGAN-GRAMPIAN LTD. * |
JPN6014022794; SuperH(SH) 64-Bit RISC Series SH-5 CPU Core, Volume 1: Architecture , 20020222, Pages:1〜7, 13〜30, 64〜65,189〜191, Super H, Inc. * |
JPN6014022795; SuperH(SH) 64-Bit RISC Series SH-5 CPU Core, Volume 3: SHcompact , 20020222, Pages:1〜10, 67〜68, 134〜135, 233, 243, Super H, Inc. * |
JPN6014022796; 大貫徹、外4名著,山岸誠仁編: SuperHプロセッサ 第2版, 20000801, Pages:98-100, 122-123,186-193, 204-205, CQ出版株式会社 * |
JPN6014022797; 中森章: インターフェース増刊 TECH I vo.20 マイクロプロセッサ・アーキテクチャ入門 初版, 20040401, Pages:179-180, CQ出版株式会社 * |
JPN6014022798; Phil Gomes, J.P. Rossomme: The SH-5 Architecture (Thechnology/Marketing White Paper) , 199910, all 13 pages, Hitachi, Ltd. and ST Microelectronics Ltd. * |
Also Published As
Publication number | Publication date |
---|---|
WO2011114121A1 (en) | 2011-09-22 |
IL220987A (en) | 2016-05-31 |
US9092215B2 (en) | 2015-07-28 |
EP2524303B1 (en) | 2019-08-07 |
TWI489386B (zh) | 2015-06-21 |
CN103098020B (zh) | 2016-04-27 |
TW201203110A (en) | 2012-01-16 |
KR20130016246A (ko) | 2013-02-14 |
IL220987A0 (en) | 2012-09-24 |
CN103098020A (zh) | 2013-05-08 |
MY156118A (en) | 2016-01-15 |
KR101812569B1 (ko) | 2017-12-27 |
EP2524303A1 (en) | 2012-11-21 |
GB2478726A (en) | 2011-09-21 |
JP5646656B2 (ja) | 2014-12-24 |
US20110225397A1 (en) | 2011-09-15 |
GB2478726B (en) | 2013-12-25 |
GB201004293D0 (en) | 2010-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5646656B2 (ja) | 複数の命令セットにより使用されるレジスタ間のマッピング | |
JP6227621B2 (ja) | 複数の試験ソースに対するor試験及びand試験機能を提供するために命令をフュージングする方法及び装置 | |
US8078828B1 (en) | Memory mapped register file | |
JP6849274B2 (ja) | 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック | |
US9804851B2 (en) | Operand size control | |
KR101597774B1 (ko) | 마스킹된 전체 레지스터 액세스들을 이용한 부분적 레지스터 액세스들을 구현하기 위한 프로세서들, 방법들 및 시스템들 | |
JP5808348B2 (ja) | マシン状態に基づいた命令の分割 | |
JP6849275B2 (ja) | インデックスおよび即値を用いてベクトル置換を実行するための方法および装置 | |
JP6673574B2 (ja) | ベクトルビットシャッフルを実行するための方法および装置 | |
JP6419205B2 (ja) | プロセッサ、方法、システム、コンピュータシステム、およびコンピュータ可読記憶媒体 | |
GB2529777A (en) | Processor with granular add immediates capability and methods | |
CN107851013B (zh) | 数据处理装置和方法 | |
KR20180066146A (ko) | 벡터 데이터 전송 명령어 | |
JP2018506094A (ja) | 多倍長整数(big integer)の算術演算を実行するための方法および装置 | |
JP2009536774A (ja) | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム | |
KR101528130B1 (ko) | 권한 레벨에 관계없는 세그먼트 레지스터 판독 및 기입용 시스템, 장치, 및 방법 | |
US9081581B2 (en) | Size mis-match hazard detection | |
US11451241B2 (en) | Setting values of portions of registers based on bit values | |
JP2017538215A (ja) | 逆分離演算を実行するための命令及びロジック | |
JP2000207210A (ja) | マイクロプロセッサ | |
US9880843B2 (en) | Data processing apparatus and method for decoding program instructions in order to generate control signals for processing circuitry of the data processing apparatus | |
JP2018500666A (ja) | ベクトルビットギャザーを実行するための方法および装置 | |
JP5753603B2 (ja) | データ要素内のビットをゼロ化するためのシステム、装置、および方法 |
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 |