JP6933263B2 - データ処理装置、ループ制御装置、データ処理方法、ループ制御方法およびプログラム - Google Patents
データ処理装置、ループ制御装置、データ処理方法、ループ制御方法およびプログラム Download PDFInfo
- Publication number
- JP6933263B2 JP6933263B2 JP2019552388A JP2019552388A JP6933263B2 JP 6933263 B2 JP6933263 B2 JP 6933263B2 JP 2019552388 A JP2019552388 A JP 2019552388A JP 2019552388 A JP2019552388 A JP 2019552388A JP 6933263 B2 JP6933263 B2 JP 6933263B2
- Authority
- JP
- Japan
- Prior art keywords
- loop
- nth
- value
- counter
- loop counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000003672 processing method Methods 0.000 title claims description 3
- 230000008569 process Effects 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 description 34
- 229940050561 matrix product Drugs 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 101150046913 ecpA gene Proteins 0.000 description 2
- 101150105575 ecpB gene Proteins 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 101150029831 ecpR gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- 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
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30058—Conditional 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/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/30101—Special purpose registers
-
- 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
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
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)
Description
[構成の説明]
図1を参照すると、本発明における第1の実施形態に係るデータ処理装置100は、制御部110と、プログラムカウンタ120と、演算器130と、ループカウンタ群140と、ループ制御部150と、を含む。
演算器130は、データメモリ220に接続されている。
rd==0:LCNT_A
rd==1:LCNT_B
rd==2:LCNT_C
rd==4:LMAX_A
rd==5:LMAX_B
rd==6:LMAX_C
rd==8:LSTEP_A
rd==9:LSTEP_B
rd==10:LSTEP_C
図5は、データ処理装置100を用いて行列積を実行する場合のアセンブリプログラム例を示す図である。ここでは、1階層目(最内ループ)が4回、2階層目のループが2回、3階層目(最外ループ)が2回繰り返す場合を例に示す。
以上より、データ処理装置100により、アドレス更新命令を完全に取り除いたうえで、行列積の演算を実行できる。
本発明における第2の実施形態は、上記第1の実施形態と比べ、MAC命令にBRNEST命令が統合されている点が異なる他は同様である。
110 制御部
112 命令レジスタ
114 命令デコーダ
116 演算器制御信号生成部
120 プログラムカウンタ
130 演算器
140 ループカウンタ群
141−1、141−2、141−3 ループカウンタ
142−1、142−2、142−3 ループカウント最大値レジスタ
143−1、143−2、143−3 ループステップレジスタ(ループ変数増分レジスタ)
150 ループ制御部
151−1〜151−3 加算器
152−1〜152−3 比較器
153−1〜153−3 マルチプレクサ
154−1、154−2 論理和ゲート
210 命令メモリ
220 データメモリ
LCNT_A〜LCNT_C ループカウンタ値
LMAX_A〜LMAX_C ループカウント最大値
LSTEP_A〜LSTEP_C ループ変数増分値
Claims (7)
- ループ制御レジスタ組を含むループカウンタ群と、
該ループカウンタ群の値に基づいて、前記ループカウンタ群を制御すると共に、ループ終了信号を生成するループ制御手段と、
命令メモリから取り出した命令語と前記ループ終了信号とに基づいて、前記ループカウンタ群と前記ループ制御手段とを制御すると共に、演算器制御信号とプログラムカウンタ制御信号とを生成する制御手段と、
前記演算器制御信号に基づいて演算を実行する演算器と、
前記プログラムカウンタ制御信号に応答してカウント動作を行い、次に実行すべき命令語が格納されている前記命令メモリの番地を保持するプログラムカウンタと、を備え、
前記ループカウンタ群は、多重ループの第1乃至第N(Nは2以上の整数)の階層のために、前記ループ制御レジスタ組として、第1乃至第Nのループカウンタと、第1乃至第Nのループカウント最大値レジスタと、第1乃至第Nのループ変数増分レジスタとを含み、
前記ループ制御手段は、前記多重ループのループ制御を行うよう、前記ループ制御レジスタ組中の第n(1≦n≦N)のループカウンタの第nのループカウンタ値と第nのループカウント最大値レジスタの第nのループカウント最大値とを比較することでループ終了の判定を行い、ループ終了の場合は前記第nのループカウンタのゼロリセットを行い、ループ終了ではない場合は、前記第nのループカウンタ値に第nのループ変数増分レジスタの第nのループ変数増分値を加算して得られる第nの加算値を、新たな第nのループカウンタ値である第nの更新値として前記第nのループカウンタに保持させ、
前記ループ制御手段は、ループ終了判定およびループカウンタ更新を、前記第1乃至第Nの階層にそれぞれ対応する前記第1乃至第Nのループカウンタに対して同時に行い、
前記制御手段は、前記第1乃至第Nのループカウンタの第1乃至第Nのカウンタ値を、前記命令語の対応するフィールドに対して作用させることで、前記多重ループに対応する前記演算器制御信号を生成して、前記演算器に出力し、
前記ループ制御手段は、
前記第nのループカウンタ値と前記第nのループ変数増分値とを加算して、前記第nの加算値を出力する第nの加算器と、
前記第nのループカウンタ値と前記第nのループカウント最大値とを比較して、第nの比較結果を出力する第nの比較器と、
前記第1乃至第nの比較結果に基づいて、前記第nのループカウンタ値、前記第nの加算値、およびゼロのいずれかを選択して、選択した値を前記第nの更新値として前記nのループカウンタに供給する第nのマルチプレクサと、
前記第1乃至第Nの比較結果の論理和を求めて、少なくとも前記ループ終了信号を出力する論理和ゲート群と、
を備える、
データ処理装置。 - 前記制御手段は、前記多重ループを脱出する条件が揃わない場合に有効信号を出力し、
前記ループ制御手段は、前記有効信号に応答して、前記ループカウンタ群中の前記第1乃至第Nのループカウンタを、それぞれ、第1乃至第Nの更新値で更新する、
請求項1に記載のデータ処理装置。 - ループ制御レジスタ組を含むループカウンタ群と、
該ループカウンタ群の値に基づいて、前記ループカウンタ群を制御すると共に、ループ終了信号を生成するループ制御手段と、を備え、
前記ループカウンタ群は、多重ループの第1乃至第N(Nは2以上の整数)の階層のために、前記ループ制御レジスタ組として、第1乃至第Nのループカウンタと、第1乃至第Nのループカウント最大値レジスタと、第1乃至第Nのループ変数増分レジスタとを含み、
前記ループ制御手段は、前記多重ループのループ制御を行うよう、前記ループ制御レジスタ組中の第n(1≦n≦N)のループカウンタの第nのループカウンタ値と第nのループカウント最大値レジスタの第nのループカウント最大値とを比較することでループ終了の判定を行い、ループ終了の場合は前記第nのループカウンタのゼロリセットを行い、ループ終了ではない場合は、前記第nのループカウンタ値に第nのループ変数増分レジスタの第nのループ変数増分値を加算して得られる第nの加算値を、新たな第nのループカウンタ値である第nの更新値として前記第nのループカウンタに保持させ、
前記ループ制御手段は、ループ終了判定およびループカウンタ更新を、前記第1乃至第Nの階層にそれぞれ対応する前記第1乃至第Nのループカウンタに対して同時に行い、
前記ループ制御手段は、
前記第nのループカウンタ値と前記第nのループ変数増分値とを加算して、前記第nの加算値を出力する第nの加算器と、
前記第nのループカウンタ値と前記第nのループカウント最大値とを比較して、第nの比較結果を出力する第nの比較器と、
前記第1乃至第nの比較結果に基づいて、前記第nのループカウンタ値、前記第nの加算値、およびゼロのいずれかを選択して、選択した値を前記第nの更新値として前記nのループカウンタに供給する第nのマルチプレクサと、
前記第1乃至第Nの比較結果の論理和を求めて、前記ループ終了信号を出力する論理和ゲート群と、
を備える、
ループ制御装置。 - ループ制御レジスタ組を含むループカウンタ群と、
該ループカウンタ群の値に基づいて、前記ループカウンタ群を制御すると共に、ループ終了信号を生成するループ制御手段と、
命令メモリから取り出した命令語と前記ループ終了信号とに基づいて、前記ループカウンタ群と前記ループ制御手段とを制御すると共に、演算器制御信号とプログラムカウンタ制御信号とを生成する制御手段と、
前記演算器制御信号に基づいて演算を実行する演算器と、
前記プログラムカウンタ制御信号に応答してカウント動作を行い、次に実行すべき命令語が格納されている前記命令メモリの番地を保持するプログラムカウンタと、を備え、
前記ループカウンタ群は、多重ループの第1乃至第N(Nは2以上の整数)の階層のために、前記ループ制御レジスタ組として、第1乃至第Nのループカウンタと、第1乃至第Nのループカウント最大値レジスタと、第1乃至第Nのループ変数増分レジスタとを含むデータ処理装置において、
前記ループ制御手段が、前記多重ループのループ制御を行うよう、前記ループ制御レジスタ組中の第n(1≦n≦N)のループカウンタの第nのループカウンタ値と第nのループカウント最大値レジスタの第nのループカウント最大値とを比較することでループ終了の判定を行い、ループ終了の場合は前記第nのループカウンタのゼロリセットを行い、ループ終了ではない場合は、前記第nのループカウンタ値に第nのループ変数増分レジスタの第nのループ変数増分値を加算して得られる第nの加算値を、新たな第nのループカウンタ値である第nの更新値として前記第nのループカウンタに保持させ、
前記ループ制御手段において、ループ終了判定およびループカウンタ更新を、前記第1乃至第Nの階層にそれぞれ対応する前記第1乃至第Nのループカウンタに対して同時に行い、
前記制御手段が、前記第1乃至第Nのループカウンタの第1乃至第Nのカウンタ値を、前記命令語の対応するフィールドに対して作用させることで、前記多重ループに対応する前記演算器制御信号を生成して、前記演算器に出力し、
前記ループ制御手段が、
前記第nのループカウンタ値と前記第nのループ変数増分値とを加算して、前記第nの加算値を出力し、
前記第nのループカウンタ値と前記第nのループカウント最大値とを比較して、第nの比較結果を出力し、
前記第1乃至第nの比較結果に基づいて、前記第nのループカウンタ値、前記第nの加算値、およびゼロのいずれかを選択して、選択した値を前記第nの更新値として前記nのループカウンタに供給し、
前記第1乃至第Nの比較結果の論理和を求めて、前記ループ終了信号を出力する
データ処理方法。 - ループ制御レジスタ組を含むループカウンタ群と、
該ループカウンタ群の値に基づいて、前記ループカウンタ群を制御すると共に、ループ終了信号を生成するループ制御手段と、を備え、
前記ループカウンタ群において、多重ループの第1乃至第N(Nは2以上の整数)の階層のために、前記ループ制御レジスタ組として、第1乃至第Nのループカウンタと、第1乃至第Nのループカウント最大値レジスタと、第1乃至第Nのループ変数増分レジスタとを含むループ制御装置において、
前記ループ制御手段が、前記多重ループのループ制御を行うよう、前記ループ制御レジスタ組中の第n(1≦n≦N)のループカウンタの第nのループカウンタ値と第nのループカウント最大値レジスタの第nのループカウント最大値とを比較することでループ終了の判定を行い、ループ終了の場合は前記第nのループカウンタのゼロリセットを行い、ループ終了ではない場合は、前記第nのループカウンタ値に第nのループ変数増分レジスタの第nのループ変数増分値を加算して得られる第nの加算値を、新たな第nのループカウンタ値である第nの更新値として前記第nのループカウンタに保持させ、
前記ループ制御手段が、ループ終了判定およびループカウンタ更新を、前記第1乃至第Nの階層にそれぞれ対応する前記第1乃至第Nのループカウンタに対して同時に行い、
前記ループ制御手段が、
前記第nのループカウンタ値と前記第nのループ変数増分値とを加算して、前記第nの加算値を出力し、
前記第nのループカウンタ値と前記第nのループカウント最大値とを比較して、第nの比較結果を出力し、
前記第1乃至第nの比較結果に基づいて、前記第nのループカウンタ値、前記第nの加算値、およびゼロのいずれかを選択して、選択した値を前記第nの更新値として前記nのループカウンタに供給し、
前記第1乃至第Nの比較結果の論理和を求めて、前記ループ終了信号を出力する
ループ制御方法。 - ループ制御レジスタ組を含むループカウンタ群と、
該ループカウンタ群の値に基づいて、前記ループカウンタ群を制御すると共に、ループ終了信号を生成するループ制御手段と、
命令メモリから取り出した命令語と前記ループ終了信号とに基づいて、前記ループカウンタ群と前記ループ制御手段とを制御すると共に、演算器制御信号とプログラムカウンタ制御信号とを生成する制御手段と、
前記演算器制御信号に基づいて演算を実行する演算器と、
前記プログラムカウンタ制御信号に応答してカウント動作を行い、次に実行すべき命令語が格納されている前記命令メモリの番地を保持するプログラムカウンタと、を備え、
前記ループカウンタ群は、多重ループの第1乃至第N(Nは2以上の整数)の階層のために、前記ループ制御レジスタ組として、第1乃至第Nのループカウンタと、第1乃至第Nのループカウント最大値レジスタと、第1乃至第Nのループ変数増分レジスタとを含むデータ処理装置において、
前記ループ制御手段に、前記多重ループのループ制御を行うよう、前記ループ制御レジスタ組中の第n(1≦n≦N)のループカウンタの第nのループカウンタ値と第nのループカウント最大値レジスタの第nのループカウント最大値とを比較することでループ終了の判定する処理と、ループ終了の場合は前記第nのループカウンタのゼロリセットする処理と、ループ終了ではない場合は、前記第nのループカウンタ値に第nのループ変数増分レジスタの第nのループ変数増分値を加算して得られる第nの加算値を、新たな第nのループカウンタ値である第nの更新値として前記第nのループカウンタに保持する処理とを実行させ、
前記ループ制御手段に、ループ終了判定およびループカウンタ更新を、前記第1乃至第Nの階層にそれぞれ対応する前記第1乃至第Nのループカウンタに対して同時に行わせる処理を実行させ、
前記制御手段に、前記第1乃至第Nのループカウンタの第1乃至第Nのカウンタ値を、前記命令語の対応するフィールドに対して作用させることで、前記多重ループに対応する前記演算器制御信号を生成して、前記演算器に出力する処理を実行させ、
前記ループ制御手段に、
前記第nのループカウンタ値と前記第nのループ変数増分値とを加算して、前記第nの加算値を出力する処理と、
前記第nのループカウンタ値と前記第nのループカウント最大値とを比較して、第nの比較結果を出力する処理と、
前記第1乃至第nの比較結果に基づいて、前記第nのループカウンタ値、前記第nの加算値、およびゼロのいずれかを選択して、選択した値を前記第nの更新値として前記nのループカウンタに供給する処理と、
前記第1乃至第Nの比較結果の論理和を求めて、前記ループ終了信号を出力する処理とを実行させる
プログラム。 - ループ制御レジスタ組を含むループカウンタ群と、
該ループカウンタ群の値に基づいて、前記ループカウンタ群を制御すると共に、ループ終了信号を生成するループ制御手段と、を備え、
前記ループカウンタ群において、多重ループの第1乃至第N(Nは2以上の整数)の階層のために、前記ループ制御レジスタ組として、第1乃至第Nのループカウンタと、第1乃至第Nのループカウント最大値レジスタと、第1乃至第Nのループ変数増分レジスタとを含むループ制御装置において、
前記ループ制御手段に、前記多重ループのループ制御を行うよう、前記ループ制御レジスタ組中の第n(1≦n≦N)のループカウンタの第nのループカウンタ値と第nのループカウント最大値レジスタの第nのループカウント最大値とを比較することでループ終了の判定する処理と、ループ終了の場合は前記第nのループカウンタのゼロリセットする処理と、ループ終了ではない場合は、前記第nのループカウンタ値に第nのループ変数増分レジスタの第nのループ変数増分値を加算して得られる第nの加算値を、新たな第nのループカウンタ値である第nの更新値として前記第nのループカウンタに保持する処理と実行させ、
前記ループ制御手段に、ループ終了判定およびループカウンタ更新を、前記第1乃至第Nの階層にそれぞれ対応する前記第1乃至第Nのループカウンタに対して同時に行う処理を実行させ、
前記ループ制御手段に、
前記第nのループカウンタ値と前記第nのループ変数増分値とを加算して、前記第nの加算値を出力する処理と、
前記第nのループカウンタ値と前記第nのループカウント最大値とを比較して、第nの比較結果を出力する処理と、
前記第1乃至第nの比較結果に基づいて、前記第nのループカウンタ値、前記第nの加算値、およびゼロのいずれかを選択して、選択した値を前記第nの更新値として前記nのループカウンタに供給する処理と、
前記第1乃至第Nの比較結果の論理和を求めて、前記ループ終了信号を出力する処理とを実行させる
プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017218089 | 2017-11-13 | ||
JP2017218089 | 2017-11-13 | ||
PCT/JP2018/041574 WO2019093451A1 (ja) | 2017-11-13 | 2018-11-09 | データ処理装置、ループ制御装置、データ処理方法、ループ制御方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019093451A1 JPWO2019093451A1 (ja) | 2020-11-19 |
JP6933263B2 true JP6933263B2 (ja) | 2021-09-08 |
Family
ID=66439213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019552388A Active JP6933263B2 (ja) | 2017-11-13 | 2018-11-09 | データ処理装置、ループ制御装置、データ処理方法、ループ制御方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11048511B2 (ja) |
JP (1) | JP6933263B2 (ja) |
WO (1) | WO2019093451A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11961420B2 (en) * | 2019-01-07 | 2024-04-16 | Cryptography Research, Inc. | Efficient squaring with loop equalization in arithmetic logic units |
EP3896565B1 (en) * | 2020-04-16 | 2024-03-06 | NXP USA, Inc. | Memory address generator |
JP7494287B2 (ja) * | 2020-04-23 | 2024-06-03 | 長江存儲科技有限責任公司 | メモリデバイスおよびそのプログラミング方法 |
US11907718B2 (en) * | 2020-12-31 | 2024-02-20 | Micron Technology, Inc. | Loop execution in a reconfigurable compute fabric using flow controllers for respective synchronous flows |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58127245A (ja) | 1982-01-26 | 1983-07-29 | Hitachi Ltd | マイクロプログラム制御デ−タ処理装置 |
JPS618451A (ja) | 1984-06-22 | 1986-01-16 | Toyota Motor Corp | 内燃機関の減速制御装置 |
JPS6232506A (ja) | 1985-08-06 | 1987-02-12 | Mitsubishi Electric Corp | 数値制御装置 |
JPS6353644A (ja) | 1986-08-23 | 1988-03-07 | Nec Corp | 命令制御装置 |
JPS6359174A (ja) | 1986-08-29 | 1988-03-15 | Toshiba Corp | カラ−受像管 |
JPH0661449B2 (ja) | 1988-06-30 | 1994-08-17 | 株式会社芦田製作所 | オートクレーブのガス循環方法及びその装置 |
JPH07160585A (ja) | 1993-12-13 | 1995-06-23 | Hitachi Ltd | 低電力データ処理装置 |
US5802375A (en) * | 1994-11-23 | 1998-09-01 | Cray Research, Inc. | Outer loop vectorization |
EP0992894A1 (en) | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Apparatus and method for loop execution |
US6842895B2 (en) * | 2000-12-21 | 2005-01-11 | Freescale Semiconductor, Inc. | Single instruction for multiple loops |
JP2002304293A (ja) | 2001-04-05 | 2002-10-18 | Toshiba Corp | プロセッサ装置、並びにアドレス更新方法及び繰り返しカウンタ更新方法 |
JP2004021890A (ja) | 2002-06-20 | 2004-01-22 | Pacific Design Kk | データ処理装置 |
JP4673007B2 (ja) | 2004-06-10 | 2011-04-20 | キヤノン株式会社 | ループ制御装置及びその制御方法 |
EP2144172A1 (en) | 2008-07-07 | 2010-01-13 | Mitsubishi Electric R&D Centre Europe B.V. | Computation module to compute a multi radix butterfly to be used in DTF computation |
JP2010277124A (ja) | 2009-05-26 | 2010-12-09 | Seiko Epson Corp | 演算装置及び電子機器 |
US20140188961A1 (en) * | 2012-12-27 | 2014-07-03 | Mikhail Plotnikov | Vectorization Of Collapsed Multi-Nested Loops |
US10241793B2 (en) * | 2013-03-15 | 2019-03-26 | Analog Devices Global | Paralleizing loops in the presence of possible memory aliases |
GB2548602B (en) * | 2016-03-23 | 2019-10-23 | Advanced Risc Mach Ltd | Program loop control |
-
2018
- 2018-11-09 JP JP2019552388A patent/JP6933263B2/ja active Active
- 2018-11-09 US US16/762,317 patent/US11048511B2/en active Active
- 2018-11-09 WO PCT/JP2018/041574 patent/WO2019093451A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2019093451A1 (ja) | 2020-11-19 |
US11048511B2 (en) | 2021-06-29 |
US20200293317A1 (en) | 2020-09-17 |
WO2019093451A1 (ja) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6933263B2 (ja) | データ処理装置、ループ制御装置、データ処理方法、ループ制御方法およびプログラム | |
US10140251B2 (en) | Processor and method for executing matrix multiplication operation on processor | |
US9355061B2 (en) | Data processing apparatus and method for performing scan operations | |
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
JP6373425B2 (ja) | 複数のビットを左にシフトし、複数の1を複数の下位ビットにプルインするための命令 | |
TWI502490B (zh) | 用以處理加法指令之方法、及用以執行加法指令之裝置與系統 | |
JP2005332361A (ja) | プログラム命令圧縮装置および方法 | |
US10489155B2 (en) | Mixed-width SIMD operations using even/odd register pairs for wide data elements | |
TWI791694B (zh) | 向量帶進位加法指令 | |
JP6712052B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US20230289191A1 (en) | Vertical and horizontal broadcast of shared operands | |
KR102365306B1 (ko) | 데이터 처리장치 및 벡터 스캔 연산의 수행방법 | |
JP2020527797A (ja) | データ処理装置におけるベクトル・インタリーブ | |
JP4444305B2 (ja) | 半導体装置 | |
US11354126B2 (en) | Data processing | |
US9348558B2 (en) | Processor with efficient arithmetic units | |
US20140281368A1 (en) | Cycle sliced vectors and slot execution on a shared datapath | |
JP6060853B2 (ja) | プロセッサおよびプロセッサの処理方法 | |
JP4703735B2 (ja) | コンパイラ、コード生成方法、コード生成プログラム | |
Benson et al. | OpenSPLySER: The Integrated OpenSPARC and DySER Design | |
JPWO2021160300A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200422 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210701 |
|
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: 20210720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6933263 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |