JP2010503107A - 複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法 - Google Patents
複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法 Download PDFInfo
- Publication number
- JP2010503107A JP2010503107A JP2009527311A JP2009527311A JP2010503107A JP 2010503107 A JP2010503107 A JP 2010503107A JP 2009527311 A JP2009527311 A JP 2009527311A JP 2009527311 A JP2009527311 A JP 2009527311A JP 2010503107 A JP2010503107 A JP 2010503107A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- mode
- program
- register
- result
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 title claims description 158
- 238000003672 processing method Methods 0.000 title claims description 4
- 230000008859 change Effects 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 130
- 230000015654 memory Effects 0.000 claims description 33
- 230000001419 dependent effect Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 2
- 230000007704 transition Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000006837 decompression Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program 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/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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch 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/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/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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- 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/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Communication Control (AREA)
- Advance Control (AREA)
Abstract
Description
最初に、スタートモードがロードされる。次に、通常、モード値は変化しない(例えば、モードレジスタ48からロードされる)が、実行ユニットが分岐命令の成功を示すと、実行ユニットから供給されたジャンプターゲットアドレスを伴うモード値がロードされる。好ましくは、ジャンプターゲットモード値は、ジャンプ命令において、ジャンプターゲットアドレスと組み合わせて(絶対アドレスか相対アドレスの形で)、例えば、命令の一部を形成するリテラルデータとして特定される。
連続した横列の命令は、連続的に実行される。OP1、OP2、OP3、OP4、およびJMPはオペレーションレジスタ選択コードである。A11、A12、A13、A14、A23、A24、A31、A41はオペランド選択コードである。R11、R12、R22、およびR32は結果レジスタ選択コードである。この例では、選択された処理は一周期レイテンシを有すると仮定する。R21はOP1によって選択された処理のための結果レジスタを選択し、R22はOP2によって選択された処理のための結果レジスタを選択し、R32はOP3によって選択された処理のための結果レジスタを選択する。R11とR12は以前に選択された処理(不図示)のための結果レジスタを選択する。
表II
Claims (24)
- 複数の機能ユニット(20)を有する実行回路(18)と、
前記実行ユニット(18)に接続され、連続して実行される命令に応じて前記実行ユニット(18)を制御する命令デコーダ(17)と、
前記命令デコーダ(17)に接続されるモード制御回路(12)とを備え、
前記命令デコーダ(17)は、少なくとも第1および第2の命令モードで動作可能で、前記第1の命令モードで実行される命令は、各フィールドで前記機能ユニット(20)のそれぞれを制御する命令を含み、前記第2の命令モードで実行される命令は、それぞれ、前記複数の機能ユニット(20)のサブセットを制御する1つ以上のフィールドのみを含み、
前記モード制御回路(12)は、ジャンプコマンドの実行によって得られた命令モード選択情報に応じた命令における、前記ジャンプコマンドに続いて実行される複数の命令のための命令モードの選択制御を行うように構成されることを特徴とするデータ処理回路。 - 請求項1に記載のデータ処理回路において、
前記第1および第2の命令モードで実行される前記命令は、互いに異なる長さを有することを特徴とするデータ処理回路。 - 請求項2に記載のデータ処理回路において、
プログラムカウンタレジスタ(40)と、前記プログラムカウンタレジスタ(40)とメモリアドレスポートとの間に接続された命令モード依存シフト回路(400)とを有するシーケンサ(10)をさらに備え、
前記命令モード依存シフト回路(400)は、前記モード制御回路(12)に接続されるシフト制御入力部を有することを特徴とするデータ処理回路。 - 請求項2に記載のデータ処理回路において、
プログラムカウンタレジスタ(40)と、命令モード依存プログラムカウンタインクリメント回路(42)とを有するシーケンサ(10)をさらに備え、
前記命令モード依存プログラムカウンタインクリメント回路(42)は、前記モード制御回路(12)に接続されるインクリメントサイズ制御入力部を有することを特徴とするデータ処理回路。 - 請求項2に記載のデータ処理回路において、
前記命令デコーダ(17)は、少なくとも第3の命令モードで動作可能であり、
前記第3の命令モードで実行される命令は、前記第2の命令モードで実行される命令の長さと同じであり、
前記命令デコーダ(17)は、前記第2および第3の命令モードによる命令によってそれぞれ、前記機能ユニット(20)の互いに異なる部分を制御し、および/またはレジスタ(19)の互いに異なる範囲を選択するよう構成されていることを特徴とするデータ処理回路。 - 請求項1に記載のデータ処理回路において、
前記機能ユニット(20)に接続されるレジスタセット(19)をさらに備え、
前記命令デコーダ(17)は、処理選択のためのフィールドおよび処理結果の書き込み用の宛先レジスタの選択のためのフィールドについて、タイムステーショナリデコーディングを利用するよう構成されており、
前記第1および第2のモードにおける命令は、それぞれ異なる数の、宛先レジスタを選択するためのフィールドを有することを特徴とするデータ処理回路。 - 複数の処理を並列に実行可能な複数の機能ユニット(20)を用いたデータ処理方法であって、
複数の命令の1つからジャンプコマンドを実行し、
前記ジャンプコマンドの実行によって得られた情報による制御の下、第1または第2の命令モードを選択し、
前記ジャンプコマンドの実行に続く命令に、前記選択された命令モードを適用し、
前記複数の機能ユニット(20)の各ユニットが、第1の命令モードが適用されるときに実行される同じ命令のそれぞれのフィールドを利用するように、前記複数の機能ユニット(20)を制御し、
前記第2の命令モードが適用されるときに実行される命令から前記複数の機能ユニットのサブセットのみを制御することを特徴とするデータ処理方法。 - 複数の異なる命令モードにおいて動作可能なプログラマブルデータプロセッサの処理スケジューリング方法であって、
処理を定義する入力プログラムを受け取り、
前記入力プログラムの各部分に命令モードを割り当て、
前記プログラムに定義された処理のうちの1つ以上の処理グループから命令を組立て、前記命令モードのうちの第1のモードが割り当てられた前記入力プログラムの部分に定義された前記処理の少なくとも一部のためのグループ毎の命令の数を、前記命令モードのうちの第2のモードが割り当てられた前記入力プログラムの一部に定義された処理を含む命令よりも多くし、
ジャンプコマンドを、モード変更コマンドが前記各部分の間の境界で実行されるように配置されたターゲットプログラムの命令の中に挿入し、
前記ジャンプが実行されるときに前記割り当てられたモードの選択を制御するように、前記割り当てられた命令モードに依存する情報を前記ジャンプコマンドに含めることを特徴とする処理スケジューリング方法。 - レジスタセット(19)と、
前記レジスタセットと接続される実行回路(18)と、
前記実行回路(18)に接続され、前記実行回路(18)によって実行される処理の選択、および前記実行ユニット(18)によって結果が生成されると、前記レジスタセット(19)からの前記処理結果の書き込み用の宛先レジスタの選択について、タイムステーショナリデコーディングを利用するよう構成された命令デコーダ(17)と、
前記命令デコーダ(17)に接続されるモード制御回路(12)とを備え、
前記命令デコーダ(17)は、少なくとも第1および第2の命令モードで動作可能であり、前記第1および第2の命令モードにおいて実行される命令は、互いに異なる数のアドレッシング可能な宛先レジスタを指定し、
前記モード制御回路(12)は、プログラム実行中に、命令に応答して前記命令モード間での切換えを制御するよう構成されていることを特徴とするデータ処理回路。 - 請求項9に記載のデータ処理回路において、
前記第1および第2の命令モード間での切換を行うための切換命令を含むプログラムがプログラミングされた命令メモリ(14)を備え、
各切換命令は、前記切換命令が実行される前および後にそれぞれ実行されるプログラムの第1および第2の部分の間で、境界を定義し、
前記プログラムの第1の部分には、対応する前記プログラムの第2の部分からの命令によって選択される宛先レジスタに結果が書き込まれる処理を選択する命令は含まれないことを特徴とするデータ処理回路。 - 請求項9に記載のデータ処理回路において、
前記第1の命令モードにおいて実行され、処理の選択のための第1のフィールドを含む第1の命令と、前記第2の命令モードにおいて実行され、前記第1の命令によって選択された前記処理の結果を、その結果の生成の際に書き込むための宛先レジスタを選択するための第2のフィールドを含む第2の命令とを有するプログラムがプログラミングされた命令メモリ(14)を備えることを特徴とするデータ処理回路。 - 請求項11に記載のデータ処理回路において、
前記モード制御回路は、前記プログラムのうちジャンプコマンドに続く命令について、前記ジャンプコマンドの実行によって得られた命令モード選択情報に応じて、前記命令モードの間での選択を制御するよう構成され、
前記第1および第2の命令は、それぞれ、前記プログラムにおいて前記ジャンプコマンドが実行されるポイントの前および後に、配置されることを特徴とするデータ処理回路。 - 請求項12に記載のデータ処理回路において、
前記プログラムにおいて前記ジャンプコマンドのターゲットは、前記ジャンプコマンドを介して前記プログラムフローに排他的に到達できることを特徴とするデータ処理回路。 - 請求項9に記載のデータ処理回路において、
前記実行ユニットは、複数の機能ユニット(20)を備え、
前記命令デコーダ(17)は、前記第1の命令モードで実行される各命令から、各機能ユニットからの結果を前記結果の生成の際に書き込むための宛先レジスタアドレスを選択するための第1のフィールドを抽出するように構成され、
前記命令デコーダ(17)は、前記第2の命令モードで実行される各命令から、前記各機能ユニットのサブセットのみからの結果を前記結果の生成の際に書き込むための宛先レジスタアドレスを選択するための1つ以上の第3のフィールドを抽出するように構成されることを特徴とするデータ処理回路。 - 請求項9に記載のデータ処理回路において、
前記命令デコーダ(17)は、前記第1および第2の命令モードの命令から、それぞれ宛先レジスタアドレスを選択するための第1および第2のフィールドを抽出するように構成され、
前記第1および第2のフィールドは、それぞれアドレッシング可能レジスタの第1および第2の範囲をセットし、
前記第1の範囲は、前記第2の範囲に含まれないレジスタを含むことを特徴とするデータ処理回路。 - 複数の異なる命令モードにおいてタイムステーショナリ命令の制御の下でプログラムを実行するように動作するプログラマブルデータプロセッサのスケジューリング処理方法であって、
各命令モードは、処理の選択および結果レジスタの選択について命令のフィールドの割り当てをそれぞれ定義し、
前記方法は、
処理を定義する入力プログラムを受け取り、
前記入力プログラムの各部分に命令モードを割り当て、
前記入力プログラムから生じる前記処理について結果レジスタを割り当て、
選択された各部分からの処理が命令位置の各範囲に割り当てられるという条件で、前記入力プログラムから生じる処理を、ターゲットプログラムにおける連続した命令位置に割り当て、
異なる部分の各範囲は互いに重複することなく、
前記処理を選択するための処理選択コードの各々を、各処理の第1のフィールドに、前記処理に割り当てられた位置で挿入し、
モード変更コマンドを、前記ターゲットプログラムの命令に、前記モード変更コマンドが前記各範囲の間の境界で実行されるような配置で挿入し、
結果レジスタアドレス選択コードを、前記ターゲットプログラムの命令の第2のフィールドに、前記対応する選択コードが挿入される命令に対してオフセットして挿入し、
前記オフセットは、前記対応する選択コードによって選択される前記処理において結果を生成するために必要な命令サイクルの数に対応することを特徴とする処理スケジューリング方法。 - 請求項16に記載の処理スケジューリング方法において、
前記データプロセッサは、各モード変更コマンドの実行と、前記モード変更の発生との間にそれぞれレイテンシインターバルを定義し、
前記方法は、前記結果レジスタアドレス選択コードの少なくとも1つを前記レイテンシインターバルの少なくとも1つに挿入し、
前記命令における前記レジスタアドレス選択コードは、前記レイテンシインターバル内に、前記モード変更コマンドによって発生する前記モード変更の前に適用される命令モードに対応して挿入されることを特徴とする処理スケジューリング方法。 - 請求項17に記載の処理スケジューリング方法において、
前記モード変更コマンドは、ジャンプの発生後に実行される命令に適用される前記命令モードを示す情報を含むジャンプ命令であり、
前記方法は、
命令位置への処理の割り当てに際して、前記プログラムによって利用される結果を生成する処理の処理選択コードを全て、前記境界前の少なくとも所定範囲に挿入するという更なる制約条件を課し、
前記所定の範囲は、前記対応する選択コードによって選択された前記処理で結果を生成するために必要な命令サイクルの数に等しい値であることを特徴とする処理スケジューリング方法。 - 請求項16に記載の処理スケジューリング方法において、
前記処理の結果を生成するために必要な前記命令サイクルの数よりも小さい前記境界からの範囲に前記命令に処理選択コードを挿入する処理を決定し、
前記処理の結果レジスタアドレス選択コードを、前記選択コードから前記境界を跨いで適用される前記命令モードに応じて、前記第2のフィールドの前記範囲のうちの次の1つに挿入することを特徴とする処理スケジューリング方法。 - 請求項19に記載の処理スケジューリング方法において、
前記モード変更コマンドは、ジャンプの発生後に実行される命令に適用される命令モードを示す情報を含むジャンプコマンドを含み、
操作選択コードが、前記命令サイクルの数よりも小さい前記境界からの範囲で前記命令に挿入される前記処理の決定に際して、前記ジャンプコマンドのターゲットは、前記ジャンプコマンドによって選択的に前記プログラムフローに到達できるかを判断する処理スケジューリング方法。 - 請求項19に記載の処理スケジューリング方法において、
前記モード変更コマンドは、サブルーチンコマンドからのリターンを含み、
前記命令サイクルの数よりも小さい前記境界からの距離で、前記処理選択コードを前記命令に挿入する前記処理は、サブルーチン呼出しプログラム部分で使用される前記サブルーチンの結果を生成する処理であり、
前記結果レジスタアドレス選択コードは、前記呼出しプログラム部分に挿入されることを特徴とする処理スケジューリング方法。 - 請求項16に記載の処理スケジューリング方法において、
前記ターゲットプログラムを前記データプロセッサの命令メモリにプログラミングすることを特徴とする処理スケジューリング方法。 - 請求項16に記載の方法を実行するよう構成されていることを特徴とするコンピュータ。
- コンピュータプログラム製品であって、
プログラム可能なコンピュータによって実行されるときに、前記プログラム可能なコンピュータに請求項16に記載の方法を実行させる命令を含むことを特徴とするコンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06120236 | 2006-09-06 | ||
EP06120236.2 | 2006-09-06 | ||
PCT/NL2007/050434 WO2008030093A2 (en) | 2006-09-06 | 2007-09-06 | Data processing circuit with a plurality of instruction modes |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013104864A Division JP5638108B2 (ja) | 2006-09-06 | 2013-05-17 | 処理スケジューリング方法、コンピュータおよびコンピュータプログラム |
JP2013104863A Division JP5638107B2 (ja) | 2006-09-06 | 2013-05-17 | データ処理回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010503107A true JP2010503107A (ja) | 2010-01-28 |
JP5388851B2 JP5388851B2 (ja) | 2014-01-15 |
Family
ID=38535383
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009527311A Expired - Fee Related JP5388851B2 (ja) | 2006-09-06 | 2007-09-06 | 複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法 |
JP2013104864A Expired - Fee Related JP5638108B2 (ja) | 2006-09-06 | 2013-05-17 | 処理スケジューリング方法、コンピュータおよびコンピュータプログラム |
JP2013104863A Expired - Fee Related JP5638107B2 (ja) | 2006-09-06 | 2013-05-17 | データ処理回路 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013104864A Expired - Fee Related JP5638108B2 (ja) | 2006-09-06 | 2013-05-17 | 処理スケジューリング方法、コンピュータおよびコンピュータプログラム |
JP2013104863A Expired - Fee Related JP5638107B2 (ja) | 2006-09-06 | 2013-05-17 | データ処理回路 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8145888B2 (ja) |
EP (1) | EP2069912B1 (ja) |
JP (3) | JP5388851B2 (ja) |
KR (4) | KR101419668B1 (ja) |
AT (1) | ATE466331T1 (ja) |
DE (1) | DE602007006215D1 (ja) |
WO (1) | WO2008030093A2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013161479A (ja) * | 2012-02-08 | 2013-08-19 | Arm Ltd | セキュアドメインおよび低セキュアドメインを使用するデータ処理装置および方法 |
JP2015511358A (ja) * | 2012-02-07 | 2015-04-16 | クアルコム,インコーポレイテッド | プロセッサモードを切り替えるための、呼び出される関数のアドレスの最下位ビットの使用 |
US10025923B2 (en) | 2012-02-08 | 2018-07-17 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US10083040B2 (en) | 2012-02-08 | 2018-09-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US10169573B2 (en) | 2012-02-08 | 2019-01-01 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010096119A1 (en) * | 2008-10-29 | 2010-08-26 | Adapteva Incorporated | Variable instruction width digital signal processor |
US8832475B1 (en) * | 2009-05-10 | 2014-09-09 | Cypress Semiconductor Corporation | Programmable power mode sequencer |
GB2474666B (en) * | 2009-10-21 | 2015-07-15 | Advanced Risc Mach Ltd | Hardware resource management within a data processing system |
KR101647818B1 (ko) * | 2010-04-13 | 2016-08-12 | 삼성전자주식회사 | 멀티 코어 사이의 데이터 전송 장치 및 방법 |
US20130061213A1 (en) * | 2011-08-26 | 2013-03-07 | Cognitive Electronics, Inc. | Methods and systems for optimizing execution of a program in a parallel processing environment |
KR102179385B1 (ko) | 2013-11-29 | 2020-11-16 | 삼성전자주식회사 | 명령어를 실행하는 방법 및 프로세서, 명령어를 부호화하는 방법 및 장치 및 기록매체 |
US20170185400A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Mode-specific endbranch for control flow termination |
US9785800B2 (en) | 2015-12-23 | 2017-10-10 | Intel Corporation | Non-tracked control transfers within control transfer enforcement |
US10534610B2 (en) | 2016-07-20 | 2020-01-14 | International Business Machines Corporation | PC-relative addressing and transmission |
GB2553010B (en) * | 2017-01-16 | 2019-03-06 | Imagination Tech Ltd | Efficient data selection for a processor |
CN111079908B (zh) * | 2018-10-18 | 2024-02-13 | 上海寒武纪信息科技有限公司 | 片上网络数据处理方法、存储介质、计算机设备和装置 |
EP4009186A1 (en) | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
CN111210012B (zh) * | 2018-11-21 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
CN111209231B (zh) * | 2018-11-21 | 2021-05-11 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
CN114020330B (zh) * | 2021-11-04 | 2023-11-03 | 苏州睿芯集成电路科技有限公司 | Risc-v处理器验证中模式切换的方法、电子设备以及存储介质 |
WO2024028565A1 (en) * | 2022-08-05 | 2024-02-08 | Arm Limited | No-operation-compatible instruction |
CN117714711B (zh) * | 2024-02-05 | 2024-04-30 | 北京象帝先计算技术有限公司 | 解码方法、解码系统、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001075804A (ja) * | 1999-06-29 | 2001-03-23 | Toshiba Corp | 拡張命令を処理する並列プロセッサ |
JP2001516920A (ja) * | 1997-09-17 | 2001-10-02 | ソニー エレクトロニクス インク | 可変幅インストラクションを備えるデジタルシグナルプロセッサ |
US20020116436A1 (en) * | 2001-02-20 | 2002-08-22 | Siroyan Limited | Context preservation |
JP2004511043A (ja) * | 2000-10-05 | 2004-04-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | リターゲッタブルコンパイルシステム及び方法 |
JP2004514986A (ja) * | 2000-11-27 | 2004-05-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多くのオペランドを扱う命令を有するデータ処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
US6401196B1 (en) * | 1998-06-19 | 2002-06-04 | Motorola, Inc. | Data processor system having branch control and method thereof |
JP2002280415A (ja) | 2001-03-16 | 2002-09-27 | Matsushita Electric Ind Co Ltd | 半導体装置 |
KR100991700B1 (ko) | 2002-08-16 | 2010-11-04 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 처리 장치, 처리 방법 및 컴퓨터로 판독가능한 기록 매체 |
JP4828409B2 (ja) | 2003-04-16 | 2011-11-30 | シリコン ハイブ ビー・ヴィー | タイムステーショナリプロセッサにおける条件動作のためのサポート |
-
2007
- 2007-09-06 DE DE602007006215T patent/DE602007006215D1/de active Active
- 2007-09-06 WO PCT/NL2007/050434 patent/WO2008030093A2/en active Application Filing
- 2007-09-06 EP EP07808567A patent/EP2069912B1/en not_active Not-in-force
- 2007-09-06 US US12/440,205 patent/US8145888B2/en not_active Expired - Fee Related
- 2007-09-06 JP JP2009527311A patent/JP5388851B2/ja not_active Expired - Fee Related
- 2007-09-06 AT AT07808567T patent/ATE466331T1/de not_active IP Right Cessation
- 2007-09-06 KR KR1020137023899A patent/KR101419668B1/ko active IP Right Grant
- 2007-09-06 KR KR1020097006743A patent/KR101306354B1/ko active IP Right Grant
- 2007-09-06 KR KR1020137015566A patent/KR101398770B1/ko not_active IP Right Cessation
- 2007-09-06 KR KR1020137015565A patent/KR101326414B1/ko active IP Right Grant
-
2012
- 2012-03-13 US US13/419,135 patent/US8838945B2/en not_active Expired - Fee Related
-
2013
- 2013-05-17 JP JP2013104864A patent/JP5638108B2/ja not_active Expired - Fee Related
- 2013-05-17 JP JP2013104863A patent/JP5638107B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001516920A (ja) * | 1997-09-17 | 2001-10-02 | ソニー エレクトロニクス インク | 可変幅インストラクションを備えるデジタルシグナルプロセッサ |
JP2001075804A (ja) * | 1999-06-29 | 2001-03-23 | Toshiba Corp | 拡張命令を処理する並列プロセッサ |
JP2004511043A (ja) * | 2000-10-05 | 2004-04-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | リターゲッタブルコンパイルシステム及び方法 |
JP2004514986A (ja) * | 2000-11-27 | 2004-05-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多くのオペランドを扱う命令を有するデータ処理装置 |
US20020116436A1 (en) * | 2001-02-20 | 2002-08-22 | Siroyan Limited | Context preservation |
Non-Patent Citations (2)
Title |
---|
JPN6012059269; Edward A. Lee: 'Programmable DSP architectures : Part I' ASSP Magazine Vol:5, Issue:4, 199810, Pages:4-19, IEEE * |
JPN6012059270; Edward A. Lee: 'Programmable DSP architectures : Part II' ASSP Magazine Vol:6, Isuue:1, 198901, Pages:4-14, IEEE * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015511358A (ja) * | 2012-02-07 | 2015-04-16 | クアルコム,インコーポレイテッド | プロセッサモードを切り替えるための、呼び出される関数のアドレスの最下位ビットの使用 |
US10055227B2 (en) | 2012-02-07 | 2018-08-21 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
JP2013161479A (ja) * | 2012-02-08 | 2013-08-19 | Arm Ltd | セキュアドメインおよび低セキュアドメインを使用するデータ処理装置および方法 |
US10025923B2 (en) | 2012-02-08 | 2018-07-17 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US10083040B2 (en) | 2012-02-08 | 2018-09-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US10169573B2 (en) | 2012-02-08 | 2019-01-01 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
Also Published As
Publication number | Publication date |
---|---|
WO2008030093A2 (en) | 2008-03-13 |
KR101419668B1 (ko) | 2014-07-15 |
KR20130109251A (ko) | 2013-10-07 |
KR20130087568A (ko) | 2013-08-06 |
DE602007006215D1 (de) | 2010-06-10 |
US20100185835A1 (en) | 2010-07-22 |
EP2069912A2 (en) | 2009-06-17 |
WO2008030093A3 (en) | 2008-05-02 |
EP2069912B1 (en) | 2010-04-28 |
US8145888B2 (en) | 2012-03-27 |
JP2013218711A (ja) | 2013-10-24 |
US8838945B2 (en) | 2014-09-16 |
KR101398770B1 (ko) | 2014-05-27 |
JP2013218710A (ja) | 2013-10-24 |
KR101306354B1 (ko) | 2013-09-09 |
KR20090092753A (ko) | 2009-09-01 |
JP5388851B2 (ja) | 2014-01-15 |
KR101326414B1 (ko) | 2013-11-11 |
ATE466331T1 (de) | 2010-05-15 |
JP5638108B2 (ja) | 2014-12-10 |
US20120179894A1 (en) | 2012-07-12 |
JP5638107B2 (ja) | 2014-12-10 |
KR20130087569A (ko) | 2013-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5638108B2 (ja) | 処理スケジューリング方法、コンピュータおよびコンピュータプログラム | |
US8161266B2 (en) | Replicating opcode to other lanes and modifying argument register to others in vector portion for parallel operation | |
US5958048A (en) | Architectural support for software pipelining of nested loops | |
JP3976082B2 (ja) | 異なった幅のvliwプロセッサコマンド | |
US6615333B1 (en) | Data processing device, method of executing a program and method of compiling | |
US6453407B1 (en) | Configurable long instruction word architecture and instruction set | |
KR0149658B1 (ko) | 데이터 처리장치 및 데이터 처리방법 | |
US5649135A (en) | Parallel processing system and method using surrogate instructions | |
US7509483B2 (en) | Methods and apparatus for meta-architecture defined programmable instruction fetch functions supporting assembled variable length instruction processors | |
US9329866B2 (en) | Methods and apparatus for adapting pipeline stage latency based on instruction type | |
KR101579589B1 (ko) | 파이프라인 프로세서를 위한 정적 분기 예측 방법과 이를 위한 컴파일 방법 | |
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 | |
WO2020166159A1 (ja) | マイクロプロセッサ及びその動作方法 | |
JP2002024008A (ja) | データ処理装置およびプログラム変換装置 | |
JP5105359B2 (ja) | 中央処理装置、選択回路および選択方法 | |
JP4283226B2 (ja) | アドレス範囲に依存した命令並行処理を行うデータ処理装置 | |
JP2003517679A (ja) | 分離された条件及びアドレスを有する分岐命令 | |
WO1998006040A1 (en) | Architectural support for software pipelining of nested loops |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100831 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130219 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130226 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130315 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130325 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130418 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130903 |
|
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: 20130917 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131008 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5388851 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
LAPS | Cancellation because of no payment of annual fees |