JP3905552B2 - 複数の命令セットを有するデータ処理装置内における命令エンコード - Google Patents
複数の命令セットを有するデータ処理装置内における命令エンコード Download PDFInfo
- Publication number
- JP3905552B2 JP3905552B2 JP2006516359A JP2006516359A JP3905552B2 JP 3905552 B2 JP3905552 B2 JP 3905552B2 JP 2006516359 A JP2006516359 A JP 2006516359A JP 2006516359 A JP2006516359 A JP 2006516359A JP 3905552 B2 JP3905552 B2 JP 3905552B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data processing
- program
- instructions
- common
- 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.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 83
- 238000000034 method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 238000003672 processing method Methods 0.000 claims 1
- 210000003813 thumb Anatomy 0.000 description 53
- 238000012546 transfer Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006399 behavior Effects 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
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 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
- 238000005457 optimization Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000009466 transformation 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/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
「ARM Architecture Reference Manual」
データ処理動作を実行するように動作可能なデータ処理ロジックと、
前記データ処理ロジックによって実行され、前記データ処理動作を実行するように前記データ処理ロジックを制御するデータ処理動作を指定するプログラム命令をデコードするように動作可能な命令デコーダとを含む装置であって、
前記命令デコーダは、第1命令セットのプログラム命令がデコードされる第1モードおよび第2命令セットのプログラム命令がデコードされる第2モードで動作可能であり、前記第1命令セットのプログラム命令のサブセットは、前記第2命令セットのプログラム命令のサブセットによる共通格納順序補償済みエンコードを有し、また少なくとも1クラスの命令を表す共通命令サブセットを形成し、前記共通命令サブセットは、前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに関係なく、同じデータ処理動作を実行するように前記データ処理ロジックを制御する。
データ処理ロジックを用いてデータ処理動作を実行するステップと、
前記データ処理ロジックによって実行されるデータ処理動作を指定し、前記データ処理動作を実行するように前記データ処理ロジックを制御する命令デコーダプログラム命令を用いてデコードするステップとを含むデータ処理方法であって、
第1モードでは第1命令セットのプログラム命令がデコードされ、第2モードでは第2命令セットのプログラム命令がデコードされ、前記第1命令セットのプログラム命令のサブセットは、前記第2命令セットのプログラム命令のサブセットによる共通格納順序補償済みエンコードを有し、また少なくとも1クラスの命令を表す共通命令サブセットを形成し、前記共通命令サブセットは、前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに関係なく、同じデータ処理動作を実行するように前記データ処理ロジックを制御する。
前記データ処理動作を実行するように前記データ処理ロジックを制御する、第1命令セットのプログラム命令および第2命令セットのプログラム命令を含み、
前記第1命令セットのプログラム命令のサブセットは、前記第2命令セットのプログラム命令のサブセットによる共通格納順序補償済みエンコードを有し、また少なくとも1クラスの命令を表す共通命令サブセットを形成し、前記共通命令サブセットは、前記第1命令セットの命令がデコードされているか、それとも前記第2命令セットの命令がデコードされているかに関係なく、同じデータ処理動作を実行するようにデータ処理ロジックを制御する。
STC命令 データ値をコプロセッサからメモリに転送する。
MCR命令 データ値をプロセッサコアレジスタからコプロセッサに転送する。
MCRR命令 2つのデータ値をプロセッサコアレジスタからコプロセッサに転送する。
MRC命令 データ値をコプロセッサからプロセッサコアレジスタに転送する。
MRRC命令 2つのデータ値をコプロセッサからプロセッサコアレジスタに転送する。
CDP命令 コプロセッサ内で、コプロセッサに転送されるまたはコプロセッサから転送されるデータ値を必要としない命令を実行する。
未定義命令 プロセッサコア3で未定義命令例外を発生させる。
これらすべてのコプロセッサ命令は、その命令が対象とするコプロセッサを識別するcpnumフィールドと、condフィールドとを含んでいる。condの値は、無条件コプロセッサ命令の場合は1110または1111であり、一方、範囲0000〜1101の値は、cond=1110である等価な命令の条件付きバージョンを生成する(cond=1111をもつ無条件命令は、条件付きバージョンをもたない)。
3 プロセッサコア
4 レジスタバンク
6 乗算器
8 シフタ
10 加算器
12 命令デコーダ
13 共通サブセット命令デコーダ
14 命令プリフェッチバッファ
16 命令プリフェッチユニット
18 プログラムステータスレジスタ
20 プログラムカウンタレジスタ
22 コプロセッサ
200 汎用コンピュータ
202 中央処理装置
204 ランダムアクセスメモリ
206 読取り専用メモリ
208 ネットワークインターフェースカード
210 ハードディスクドライブ
212 ディスプレイドライバ
214 モニタ
216 ユーザ入出力回路
218 キーボード
220 マウス
222 共通バス
Claims (33)
- データ処理動作を実行するように動作可能なデータ処理ロジックと、
前記データ処理ロジックによって実行され、前記データ処理動作を実行するように前記データ処理ロジックを制御するデータ処理動作を指定するプログラム命令をデコードするように動作可能な命令デコーダとを含む装置であって、
前記命令デコーダは、第1命令セットのプログラム命令がデコードされる第1モードおよび第2命令セットのプログラム命令がデコードされる第2モードで動作可能であり、前記第1命令セットのプログラム命令のサブセットは、前記第2命令セットのプログラム命令のサブセットによる共通格納順序補償済みエンコードを有し、また少なくとも1クラスの命令を表す共通命令サブセットを形成し、前記共通命令サブセットは、前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに関係なく、同じデータ処理動作を実行するように前記データ処理ロジックを制御する、データを処理するための装置。 - 前記命令デコーダが、前記共通命令サブセットの命令を実行するために前記データ処理ロジックの共通部分を使用するように動作可能である、請求項1に記載の装置。
- 前記共通命令サブセットが、前記第1命令セットおよび前記第2命令セットに共通のコプロセッサロジックを用いてコプロセッサデータ処理動作を制御するように動作可能なコプロセッサ命令である1クラスの命令を含む、請求項1および2のいずれか一項に記載の装置。
- すべての無条件コプロセッサ命令が前記共通サブセット中にある、請求項3に記載の装置。
- 前記第1命令セットが、Nビット命令の固定長命令セットである、請求項1から4のいずれか一項に記載の装置。
- Nが32または16の一方である、請求項5に記載の装置。
- 前記第2命令セットが可変長命令セットである、請求項1から6のいずれか一項に記載の装置。
- 前記共通命令サブセット中の少なくとも1つのプログラム命令が、前記第1モードまたは前記第2モードのどちらかで共通データ処理動作を実行するが、前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに応じて異なる結果データ値を生成する、請求項1から7のいずれか一項に記載の装置。
- 互いに異なる結果データ値を生成する前記少なくとも1つのプログラム命令が、入力オペランドとしてのプログラムカウンタ値を含む、請求項8に記載の装置。
- 前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに応じて、前記プログラムカウンタ値と実行される命令のアドレスとの間で異なる関係が維持される、請求項9に記載の装置。
- 互いに異なる結果データ値を生成する前記少なくとも1つのプログラム命令が、入力オペランドとしてのプログラムステータスレジスタ値を含む、請求項8に記載の装置。
- データ処理ロジックを用いてデータ処理動作を実行するステップと、
前記データ処理ロジックによって実行されるデータ処理動作を指定し、前記データ処理動作を実行するように前記データ処理ロジックを制御する、命令デコーダプログラム命令を用いてデコードするステップとを含むデータ処理方法であって、
第1モードでは第1命令セットのプログラム命令がデコードされ、第2モードでは第2命令セットのプログラム命令がデコードされ、
前記第1命令セットのプログラム命令のサブセットは、前記第2命令セットのプログラム命令のサブセットによる共通格納順序補償済みエンコードを有し、また少なくとも1クラスの命令を表す共通命令サブセットを形成し、前記共通命令サブセットは、前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに関係なく、同じデータ処理動作を実行するように前記データ処理ロジックを制御する方法。 - 前記データ処理ロジックの共通部分を使用して、前記共通命令サブセットの命令を実行する、請求項12に記載の方法。
- 前記共通命令サブセットが、前記第1命令セットおよび前記第2命令セットに共通のコプロセッサロジックを用いてコプロセッサデータ処理動作を制御するように動作可能なコプロセッサ命令である1クラスの命令を含む、請求項12および13のいずれか一項に記載の方法。
- すべての無条件コプロセッサ命令が前記共通サブセット中にある、請求項14に記載の方法。
- 前記第1命令セットが、Nビット命令の固定長命令セットである、請求項12から15のいずれか一項に記載の方法。
- Nが32または16の一方である、請求項16に記載の方法。
- 前記第2命令セットが可変長命令セットである、請求項12から17のいずれか一項に記載の方法。
- 前記共通命令サブセット中の少なくとも1つのプログラム命令が、前記第1モードまたは前記第2モードのどちらかで共通データ処理動作を実行するが、前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに応じて異なる結果データ値を生成する、請求項12から18のいずれか一項に記載の方法。
- 互いに異なる結果データ値を生成する前記少なくとも1つのプログラム命令が、入力オペランドとしてのプログラムカウンタ値を含む、請求項19に記載の方法。
- 前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに応じて、前記プログラムカウンタ値と実行される命令のアドレスとの間で異なる関係が維持される、請求項20に記載の方法。
- 互いに異なる結果データ値を生成する前記少なくとも1つのプログラム命令が、入力オペランドとしてのプログラムステータスレジスタ値を含む、請求項19に記載の方法。
- 第1命令セットのプログラム命令および第2命令セットのプログラム命令によって指定されたデータ処理動作を実行するように動作可能なデータ処理ロジックを含むデータ処理装置を制御するためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記第1命令セットのプログラム命令のサブセットは、前記第2命令セットのプログラム命令のサブセットによる共通格納順序補償済みエンコードを有しているとともに、少なくとも1クラスの命令を表す共通命令サブセットが形成されており、
前記コンピュータプログラムは、
前記共通命令サブセットに属するプログラム命令によって指定されたデータ処理動作を実行するために動作される場合、前記データ処理装置が、前記第1命令セットのプログラム命令によって指定されたデータ処理動作を実行するように動作されているか、または前記第2命令セットのプログラム命令によって指定されたデータ処理動作を実行するように動作されているかに関係なく、同じデータ処理動作を実行するように、前記データ処理ロジックを制御する機能を実現させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記データ処理ロジックの共通部分を使用して、前記共通命令サブセットの命令を実行する、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記共通命令サブセットが、前記第1命令セットおよび前記第2命令セットに共通のコプロセッサロジックを用いてコプロセッサデータ処理動作を制御するように動作可能なコプロセッサ命令である1クラスの命令を含む、請求項23および24のいずれか一項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- すべての無条件コプロセッサ命令が前記共通サブセット中にある、請求項25に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記第1命令セットが、Nビット命令の固定長命令セットである、請求項23から26のいずれか一項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- Nが32または16の一方である、請求項27に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記第2命令セットが可変長命令セットである、請求項23から28のいずれか一項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記共通命令サブセット中の少なくとも1つのプログラム命令は、前記第1命令セットの命令または前記第2命令セットの命令のどちらかがデコードされているとき、共通データ処理動作を実行するが、異なる結果データ値を生成する、請求項23から29のいずれか一項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 互いに異なる結果データ値を生成する前記少なくとも1つのプログラム命令が、入力オペランドとしてのプログラムカウンタ値を含む、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記命令デコーダが前記第1モードで動作しているか、それとも前記第2モードで動作しているかに応じて、前記プログラムカウンタ値と実行される命令のアドレスとの間で異なる関係が維持される、請求項31に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 互いに異なる結果データ値を生成する前記少なくとも1つのプログラム命令が、入力オペランドとしてのプログラムステータスレジスタ値を含む、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (2)
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 |
PCT/GB2004/000206 WO2004111836A2 (en) | 2003-06-13 | 2004-01-20 | Apparatus and method that accommodate multiple instruction sets and multiple decode modes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006527435A JP2006527435A (ja) | 2006-11-30 |
JP3905552B2 true JP3905552B2 (ja) | 2007-04-18 |
Family
ID=27636510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006516359A Expired - Lifetime JP3905552B2 (ja) | 2003-06-13 | 2004-01-20 | 複数の命令セットを有するデータ処理装置内における命令エンコード |
Country Status (11)
Country | Link |
---|---|
US (1) | US7788472B2 (ja) |
EP (1) | EP1680735B1 (ja) |
JP (1) | JP3905552B2 (ja) |
KR (1) | KR100971626B1 (ja) |
CN (1) | CN100380315C (ja) |
DE (1) | DE602004028951D1 (ja) |
GB (1) | GB2402764B (ja) |
MY (1) | MY131744A (ja) |
RU (1) | RU2006101165A (ja) |
TW (1) | TWI314702B (ja) |
WO (1) | WO2004111836A2 (ja) |
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 |
US8819399B1 (en) | 2009-07-31 | 2014-08-26 | Google Inc. | Predicated control flow and store instructions for native code module security |
US8561183B2 (en) | 2009-07-31 | 2013-10-15 | Google Inc. | Native code module security for arm instruction set architectures |
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位混合架构指令预取缓冲器装置 |
CN106447037B (zh) * | 2015-10-08 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有多个可选择输出的神经网络单元 |
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 |
WO1991019244A1 (en) * | 1990-06-04 | 1991-12-12 | 3Com Corporation | Method for optimizing software for any one of a plurality of variant architectures |
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 |
EP1755617A4 (en) * | 2004-04-30 | 2009-02-25 | Univ Southern California | PERFLUORCARBON-SOLUBLE COMPOUNDS |
-
2003
- 2003-06-13 GB GB0313770A patent/GB2402764B/en not_active Expired - Lifetime
-
2004
- 2004-01-20 RU RU2006101165/09A patent/RU2006101165A/ru not_active Application Discontinuation
- 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 CN CNB2004800165437A patent/CN100380315C/zh not_active Expired - Lifetime
- 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-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 |
---|---|
KR100971626B1 (ko) | 2010-07-22 |
GB2402764B (en) | 2006-02-22 |
RU2006101165A (ru) | 2006-05-27 |
WO2004111836A2 (en) | 2004-12-23 |
CN1806225A (zh) | 2006-07-19 |
WO2004111836A3 (en) | 2005-11-03 |
TW200428277A (en) | 2004-12-16 |
EP1680735B1 (en) | 2010-09-01 |
EP1680735A2 (en) | 2006-07-19 |
GB2402764A (en) | 2004-12-15 |
CN100380315C (zh) | 2008-04-09 |
KR20060021370A (ko) | 2006-03-07 |
JP2006527435A (ja) | 2006-11-30 |
DE602004028951D1 (de) | 2010-10-14 |
GB0313770D0 (en) | 2003-07-23 |
US20040255097A1 (en) | 2004-12-16 |
TWI314702B (en) | 2009-09-11 |
MY131744A (en) | 2007-08-30 |
US7788472B2 (en) | 2010-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3905552B2 (ja) | 複数の命令セットを有するデータ処理装置内における命令エンコード | |
US9092215B2 (en) | Mapping between registers used by multiple instruction sets | |
US7493474B1 (en) | Methods and apparatus for transforming, loading, and executing super-set instructions | |
US7447871B2 (en) | Data access program instruction encoding | |
JP2816248B2 (ja) | データプロセッサ | |
JPS6339931B2 (ja) | ||
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
US7574583B2 (en) | Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor | |
JPH0496825A (ja) | データ・プロセッサ | |
US6292845B1 (en) | Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively | |
JPH07120278B2 (ja) | データ処理装置 | |
JPH0673105B2 (ja) | 命令パイプライン方式のマイクロプロセッサ | |
EP1220091B1 (en) | Circuit and method for instruction compression and dispersal in VLIW processors | |
JP2017539016A (ja) | 結合した乗算−乗算命令のための装置および方法 | |
JP2556182B2 (ja) | デ−タ処理装置 | |
KR20040111559A (ko) | 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치 | |
US20040024992A1 (en) | Decoding method for a multi-length-mode instruction set | |
US7120779B2 (en) | Address offset generation within a data processing system | |
JP2018506762A (ja) | 結合した加算−加算命令のための装置および方法 | |
JP2000112754A (ja) | データ処理装置 | |
US20020087834A1 (en) | System and method for encoding constant operands in a wide issue processor | |
Hussain et al. | Design and FPGA Implementation of Five Stage Pipelined RISC-V Processor | |
TW202307653A (zh) | 陳述技術 | |
JP2696578B2 (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061110 |
|
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: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070111 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3905552 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100119 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
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 |
|
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 |
|
EXPY | Cancellation because of completion of term |