JP2017228213A - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP2017228213A JP2017228213A JP2016125576A JP2016125576A JP2017228213A JP 2017228213 A JP2017228213 A JP 2017228213A JP 2016125576 A JP2016125576 A JP 2016125576A JP 2016125576 A JP2016125576 A JP 2016125576A JP 2017228213 A JP2017228213 A JP 2017228213A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- repeat
- instructions
- register
- operand
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000003252 repetitive effect Effects 0.000 claims abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 5
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 5
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 5
- 108700012361 REG2 Proteins 0.000 description 4
- 101150108637 REG2 gene Proteins 0.000 description 4
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 4
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 4
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 description 2
- 101100468275 Caenorhabditis elegans rep-1 gene Proteins 0.000 description 1
- 101100534229 Caenorhabditis elegans src-2 gene Proteins 0.000 description 1
- 101100301524 Drosophila melanogaster Reg-5 gene Proteins 0.000 description 1
- 108091058543 REG3 Proteins 0.000 description 1
- 102100027336 Regenerating islet-derived protein 3-alpha Human genes 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response 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/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/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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- 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/3824—Operand accessing
- G06F9/383—Operand prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【課題】演算命令を繰り返し実行させる場合に演算に寄与しない無駄な命令サイクルを削減し、演算の実行効率を向上させることができる演算処理装置を提供する。【解決手段】複数の命令を記憶する記憶部と、デコード対象の命令を計数値により特定する計数部と、記憶部から計数値に基づいて読み出された命令をデコードするデコード部と、デコードした命令が繰り返し命令である場合、繰り返し命令の後続の命令のうち、指定される命令数分の繰り返し対象命令を指定される繰り返し回数だけ繰り返すように計数部の計数値を更新させるとともに、2回目以降に繰り返し実行する繰り返し対象命令の被演算対象である更新オペランドを生成し、2回目以降の繰り返し対象命令を実行する場合、2回目以降の繰り返し対象命令のオペランドを生成した更新オペランドにそれぞれ更新して出力する制御部とを有する。【選択図】図2
Description
本発明は、演算処理装置及び演算処理装置の制御方法に関する。
演算処理装置としてのプロセッサにおいて、複数の演算命令を繰り返し実行させる繰り返し演算処理は、例えば図14(A)に示すように実装されている。すなわち、(1)演算データの参照先オフセットであるデータ参照先の初期設定P1401、(2)演算命令P1402、(3)データ参照先の更新P1403、(4)繰り返しカウンタの減算命令P1404、(5)繰り返し分岐命令P1405の5つのフェーズで実装されている。
例えば、図14(A)に示したフローで演算を行うように演算器を実装した場合、実際に繰り返される4つのフェーズP1402〜P1405のうち、実質的に演算を行うフェーズは(2)演算命令P1402のみである。各フェーズの処理に1サイクル以上を要するため、1回の演算命令あたり最低でも4サイクルを必要とし、演算の実行効率が25%以下となり演算器を効果的に使用できない。
例えば、多数の浮動小数点レジスタを有するプロセッサにおいて、図14(B)に示すように個々に独立した浮動小数点レジスタに対し、レジスタ番号を1ずつ進めて乗算を繰り返し行い、64回の乗算を行う処理を考える。図14(C)にコーディング例を示すように、演算に使用する浮動小数点レジスタ番号を汎用レジスタに格納して、演算命令から間接参照させて演算を行い、演算命令を行う毎に汎用レジスタに格納する値を更新することで、個々の64回の乗算が行える。
図14(C)において、命令mulが(2)演算命令P1402に対応し、3つの命令addが(3)データ参照先の更新P1403に対応し、命令subが(4)繰り返しカウンタの減算命令P1404に対応し、命令brnzaが(5)繰り返し分岐命令P1405に対応する。この場合、ループ処理で繰り返される命令数は6命令であり、各命令の処理が1サイクルで実行できたとしても、6サイクルに1回しか演算命令を実行することができない。
繰り返し演算処理を実行させる場合の演算の実行効率を改善するため、対象の命令を繰り返し実行させる繰り返し命令(リピート命令)を持つプロセッサが提案されている(例えば、特許文献1〜3参照)。
繰り返し命令(リピート命令)を持つプロセッサとして、例えば命令デコード部の出力を記憶する記憶部を有し、命令デコード部が繰り返し命令であることを解読した場合、それより前の所定数の命令を記憶部から指定回数だけ繰り返し出力するプロセッサが提案されている。このプロセッサでは、繰り返し命令以降は、記憶部に保持した命令列を隙間なく指定回数だけ繰り返し出力するため、図15(A)に示すように繰り返しカウンタの減算命令及び繰り返し分岐命令は削減される。繰り返し演算処理は、(1)データ参照先の初期設定P1501、(2)演算命令P1502、(3)データ参照先の更新P1503の3つのフェーズで実装される。
例えば、図14(B)に示した処理を行う場合、図15(B)にコーディング例を示すように命令sub及び命令brnzaが削減される。ループ処理で繰り返される命令数は4命令であり、各命令の処理が1サイクルで実行できたとしても、4サイクルに1回しか演算命令を実行することができない。このように繰り返し命令(リピート命令)を適用した場合でも演算に寄与しない無駄な命令サイクルが存在して演算の実行効率を改善できないことがある。1つの側面では、本発明の目的は、演算命令を繰り返し実行させる場合に演算に寄与しない無駄な命令サイクルを削減し、演算の実行効率を向上させることができる演算処理装置を提供することにある。
演算処理装置の一態様は、複数の命令を記憶する記憶部と、デコード対象の命令を計数値により特定する計数部と、記憶部から計数値に基づいて読み出された命令をデコードするデコード部と、命令に係る制御を行う制御部とを有する。制御部は、デコード部がデコードした命令が繰り返し命令である場合、繰り返し命令の後続の命令のうち、指定される命令数分の繰り返し対象命令を指定される繰り返し回数だけ繰り返すように計数部の計数値を更新させるとともに、2回目以降に繰り返し実行する繰り返し対象命令の被演算対象である更新オペランドを生成し、2回目以降の繰り返し対象命令を実行する場合、2回目以降の繰り返し対象命令のオペランドを生成した更新オペランドにそれぞれ更新して出力する。
発明の一態様においては、演算命令を繰り返し実行させる場合に演算に寄与しないデータ参照先の更新や分岐に係る処理を行う命令サイクルを削減し、演算の実行効率を向上させることができる。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における演算処理装置としてのプロセッサの構成例を示す図である。本実施形態におけるプロセッサ100は、命令フェッチステージ、命令デコードステージ、レジスタリードステージ、及び命令処理ステージのパイプライン構成を有するプロセッサである。
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における演算処理装置としてのプロセッサの構成例を示す図である。本実施形態におけるプロセッサ100は、命令フェッチステージ、命令デコードステージ、レジスタリードステージ、及び命令処理ステージのパイプライン構成を有するプロセッサである。
命令フェッチステージでは、プログラムカウンタ(PC)101の値に基づいて、命令列が格納されている命令領域102から命令を読み出す。本実施形態におけるプロセッサが実行可能な命令には、後続の所定数の命令を指定回数だけ繰り返し実行させる繰り返し命令(リピート命令)を含む。命令デコードステージでは、命令フェッチステージにおいて読み出した命令をデコード部103がデコードする。
デコードした結果、命令が整数演算命令である場合、レジスタリードステージでは、汎用レジスタ104や即値データレジスタ108からデータを読み出し、命令処理ステージでは、読み出したデータ等を用いて整数演算処理部105が命令によって指示された演算処理を行う。デコードした結果、命令が浮動小数点演算命令である場合、レジスタリードステージでは、浮動小数点レジスタ106や即値データレジスタ108からデータを読み出し、命令処理ステージでは、読み出したデータ等を用いて浮動小数点演算処理部107が命令によって指示された演算処理を行う。
また、デコードした結果、命令がロード命令又はストア命令である場合、レジスタリードステージでは、汎用レジスタ104や即値データレジスタ108からデータを読み出し、命令処理ステージでは、読み出したデータ等に基づいてアドレスを生成してロード処理部109又はストア処理部110がメモリ120に対するロード処理又はストア処理を行う。ロード処理によりメモリ120から読み出されたデータは、例えば汎用レジスタ104や浮動小数点レジスタ106に格納される。また、命令デコード部230によりデコードした結果、命令が分岐命令である場合、レジスタリードステージでは、汎用レジスタ104や即値データレジスタ108からデータを読み出し、命令処理ステージでは、読み出したデータ等に基づいて分岐処理部111が分岐処理を行い、処理結果に応じてプログラムカウンタ101の値を適宜更新する。
図2は、本実施形態におけるプロセッサにおいて、実行する命令に係る制御を行う命令制御部の構成例を示す図である。本実施形態における命令制御部は、プログラムカウンタ制御部210、命令デコード部230、及びリピート制御部240を有する。
プログラムカウンタ制御部210は、プログラムカウンタ211に係る制御を行う。プログラムカウンタ制御部210は、通常はサイクル毎に命令バイト数の値だけ増加させるようにプログラムカウンタ211の値を制御し、分岐命令である場合には処理結果に応じてプログラムカウンタ211の値を制御する。
プログラムカウンタ制御部210は、命令デコード部230によりデコードした結果、リピート命令である場合、命令デコード部230からの信号SGN、SGRに基づいて、次の命令である後続命令から指定個数Nの繰り返し対象命令を指定回数Rだけ繰り返すようにプログラムカウンタ211の値を更新する制御を行う。また、プログラムカウンタ制御部210は、リピート命令である場合、リピート制御部240に対して、実行する繰り返し対象命令のオペランドのオペランド更新バッファ241における格納場所を示すアドレス情報を信号SADにより通知するとともに、実行した繰り返し回数を信号RCNTにより通知する。
命令デコード部230は、プログラムカウンタ211の値に基づいて命令領域220から読み出された命令をデコードする。命令デコード部230は、デコードした結果、命令がリピート命令以外の命令231である場合、命令のオペコード(OpCode)、オペランド(Operand)、及びオペランドのステップ数(step)をリピート制御部240に供給する。
また、命令デコード部230は、命令デコード部230によりデコードした結果、命令がリピート命令232である場合、プログラムカウンタ制御部210に対して、命令がリピート命令であることを信号SGRPTにより通知するとともに、リピート命令により指定される繰り返す命令数N及び繰り返し回数Rを信号SGN、SGRによりそれぞれ通知する。なお、信号SGN、SGRは、リピート命令により指定可能な命令数N及び繰り返し回数Rに応じたビット幅を有する。
リピート制御部240は、オペランド更新バッファ241、加算器242、及びセレクタ243を有する。オペランド更新バッファ241は、複数のエントリを有し、リピート命令によって繰り返し実行される繰り返し対象命令のオペランドを格納する。オペランド更新バッファ241は、プログラムカウンタ制御部210からの信号SADが指定するエントリに格納されている値を、実行する繰り返し対象命令のオペランドとして出力する。また、オペランド更新バッファ241は、実行する繰り返し対象命令のオペランドとその繰り返し対象命令のオペランドのステップ数(step)とを加算器242で加算した値を後続命令の更新オペランドとして、プログラムカウンタ制御部210からの信号SADが指定するエントリに格納する。
セレクタ243は、プログラムカウンタ制御部210からの信号RCNTに基づいて、命令デコード部230から供給されるオペランド又はオペランド更新バッファ241から供給されるオペランドを選択する。具体的には、セレクタ243は、リピート命令によって繰り返し対象命令を繰り返し実行されている期間であって、かつ信号RCNTにより繰り返し回数が2回目以上であることが示された場合、オペランド更新バッファ241からの更新オペランドを選択し、それ以外は命令デコード部230からのオペランドを選択する。そして、リピート制御部240は、セレクタ243により選択されたオペランドと命令デコード部230から供給されるオペコードと結合した命令244を命令処理部へ出力する。
このようにオペランド更新バッファ241を設け、リピート命令によって繰り返される繰り返し対象命令の更新オペランドをすべて保持するとともに、繰り返し対象命令を実行する度に繰り返し対象命令に指定されたステップ数を加算器242により加算することで繰り返し対象命令のオペランドを更新オペランドに更新する。そして、リピート命令による2回目以降の繰り返し対象命令の繰り返しでは、繰り返し対象命令のオペランドをオペランド更新バッファ241が格納する更新オペランドに置き換えて命令を出力する。これにより、リピート命令を用いた繰り返し演算処理において、データ参照先の更新を行うための命令が不要となり、演算に寄与しない無駄な命令サイクルを削減することができる。
例えば、本実施形態におけるプロセッサにおいて、図14(B)に示した処理を行う場合、図3(A)にコーディング例を示すようにリピート命令rep及び演算命令mulで実現でき、図3(B)に示すように繰り返し演算処理は、(1)リピート命令P301、(2)演算命令P302の2つのフェーズで実装できる。このとき、ループ処理で繰り返される命令は演算命令だけになり、毎サイクル連続で演算器に演算指示を出すことが可能になる。このように本実施形態におけるプロセッサによれば、繰り返し演算処理を実行させる場合、演算に寄与しないデータ参照先の更新や分岐に係る処理を行う命令サイクルを削減でき、繰り返し演算処理全体での演算の実行効率を向上させることができる。
なお、図3(A)に示す命令<rep 1, 64>は、後続の1つの命令を64回繰り返し実行することを示す。また、命令<mul %f0, %f64, %f128, 1, 1, 1>は、オペランドが%f0、%f64、%f164、それぞれのオペランドのステップ数が1である演算命令であり、浮動小数点レジスタ%f0、%f64に格納されている値を乗算した結果を浮動小数点レジスタ%f128に格納し、オペランド%f0、%f64、%f128を+1ずつ増加させて同様の演算を行うことを示す。
図4は、リピート命令repの実装例を示す図である。図4(A)には、リピート命令repによる繰り返し回数を汎用レジスタgsrc2から取得する例を示しており、命令データには、リピート命令repのオペコードopcode、繰り返す命令数length、レジスタアドレスsrc2を含む。このリピート命令repでは、後続の命令うち、命令数lengthで指定した命令数分の繰り返し対象命令を、汎用レジスタgsrc2から取得した値の回数だけ繰り返す。
また、図4(B)には、リピート命令repによる繰り返し回数を命令中に指定する例を示しており、命令データには、リピート命令repのオペコードopcode、繰り返す命令数length、繰り返し回数countを含む。このリピート命令repでは、後続の命令のうち、命令数lengthで指定した命令数分の繰り返し対象命令を、繰り返し回数countで指定した回数だけ繰り返す。
なお、前述したものに限らず、例えば繰り返す命令数を汎用レジスタから取得するようにしてもよい。また、リピート命令repにおいて、繰り返す命令数及び繰り返し回数の少なくとも一方の値が0である場合、そのリピート命令repはNop(no operation)処理となり、次の命令から処理が継続される。
図5は、第1の実施形態におけるオペランド更新バッファ241を説明する図である。最大で2つのソース(src1、src2)と1つのディスティネーション(dst)との3つのオペランドの演算命令をプロセッサがサポートする場合、オペランド更新バッファ241は、図5に示すように各エントリにソースsrc1が格納されるフィールド501、ソースsrc2が格納されるフィールド502、ディスティネーションdstが格納されるフィールド503を有する。
また、オペランド更新バッファ241のエントリは、リピート命令によって繰り返される繰り返し対象命令の各々に対して割り当てられる。例えば図6に示すように命令0〜命令7の8個の命令をリピート命令repによって繰り返す場合、繰り返される命令0〜命令7のオペランドは、図7に示すようにオペランド更新バッファ241に格納される。すなわち、命令0のオペランドがエントリ700に格納され、命令1のオペランドがエントリ701に格納される。他の命令2〜命令7のオペランドも同様に、繰り返される繰り返し対象命令の実行順序に従って、それぞれエントリ702〜707に格納される。
なお、本例においては、オペランド更新バッファ241が128個のエントリを有する例を示しているが、これは一例であり、プロセッサの仕様等に応じて適切な数のエントリを設ければよい。また、オペランド更新バッファ241が128個のエントリを有する場合、プログラムカウンタ制御部210からの信号SADのビット幅は少なくとも7ビットである。すなわち、信号SADは、オペランド更新バッファ241が有するエントリを一意に指定できるビット幅を有していればよい。
次に、第1の実施形態におけるプログラムカウンタ制御部210について説明する。図8は、プログラムカウンタ制御部210の構成例を示す図である。プログラムカウンタ制御部210は、PCレジスタ801、スタートPCレジスタ802、繰り返し指定命令数レジスタ803、繰り返し実行命令数レジスタ804、繰り返し回数レジスタ805、セレクタ806、810、比較回路807、808、論理積演算回路(AND回路)809、及び論理和演算回路(OR回路)811を有する。
PCレジスタ801は、プログラムカウンタ値を保持する。スタートPCレジスタ802は、リピート命令によって繰り返す繰り返し対象命令の先頭の命令(リピート命令の次の命令)のプログラムカウンタ値を保持する。繰り返し指定命令数レジスタ803は、リピート命令によって指定された繰り返す命令数を保持する。リピート命令によって繰り返す命令数Nは、命令デコード部230から信号SGNにより通知される。
繰り返し実行命令数レジスタ804は、リピート命令によって繰り返し対象命令を繰り返しているとき、実行している繰り返し対象命令が繰り返す繰り返し対象命令の内の実行順序で何番目の命令であるかを保持する。なお、繰り返し対象命令のうち、実行順序で一番先の命令は0番目とし、以降、1番目、2番目、…とする。繰り返し回数レジスタ805は、リピート命令によって繰り返し対象命令を繰り返しているとき、繰り返した回数を保持する。なお、繰り返し回数レジスタ805は、リピート命令によって指定された繰り返し回数から実際に繰り返した回数を減算した値を保持する。繰り返し実行命令数レジスタ804及び繰り返し回数レジスタ805の値は、それぞれ信号SAD、RCNTとしてリピート制御部240に供給される。
セレクタ806は、命令デコード部230からの信号SGRPTに応じて、命令デコード部230から信号SGRにより通知される繰り返し回数R又は繰り返し回数レジスタ805の値から1減算した値の一方を出力する。セレクタ810は、AND回路809の出力信号pcselに応じて、スタートPCレジスタ802の値又はPCレジスタ801の値に命令バイト数を加算した値の一方を出力する。
比較回路807は、繰り返し指定命令数レジスタ803の値と繰り返し実行命令数レジスタ804の値に1加算した値とを比較し、一致する場合、出力信号cmp1を“1”にし、一致しない場合、出力信号cmpを“0”にする。比較回路808は、繰り返し回数レジスタ805の値から1減算した値に係る比較動作を行い、繰り返し回数レジスタ805の値から1減算した値が0の場合、出力信号cmp2を“1”にし、0より大きい場合、出力信号cmp2を“0”にする。
AND回路809は、比較回路807の出力信号cmp1、比較回路808の出力信号cmp2、及び命令デコード部230からの信号SGRPTが入力され、演算結果を出力する。AND回路809は、出力信号cmp1が“1”であり、かつ出力信号cmp2及び信号SGRPTが“0”である場合、出力信号pcselを“1”にし、それ以外の場合、出力信号pcselを“0”にする。すなわち、AND回路809は、繰り返し指定命令数レジスタ803の値と繰り返し実行命令数レジスタ804の値に1加算した値とが一致し、かつ繰り返し回数レジスタ805の値から1減算した値が0でなく、かつ命令デコード部230によりデコードされた命令がリピート命令でないとき、出力信号pcselを“1”にする。
OR回路811は、命令デコード部230からの信号SGRPT及び比較回路807の出力信号cmp1が入力され、演算結果を出力する。OR回路811は、信号SGRPT及び出力信号cmp1の一方が“1”である場合、出力信号updateを“1”にし、信号SGRPT及び出力信号cmp1がともに“0”である場合、出力信号updateを“0”にする。すなわち、OR回路811は、命令デコード部230によりデコードされた命令がリピート命令である場合、又は繰り返し指定命令数レジスタ803の値と繰り返し実行命令数レジスタ804の値に1加算した値とが一致した場合、出力信号updateを“1”にする。
命令デコード部230でリピート命令がデコードされたとき、命令がリピート命令であることを示すように信号SGRPTが“0”から“1”に変化する。プログラムカウンタ制御部210は、信号SGRPTが“0”から“1”に変化することで、リピート命令によって繰り返す繰り返し対象命令の先頭の命令(リピート命令の次の命令)のプログラムカウンタ値をスタートPCレジスタ802に保持し、リピート命令によって繰り返す命令数Nを繰り返し指定命令数レジスタ803に保持する。また、信号SGRPTが“1”になることでOR回路811の出力信号updateが“1”になり、リピート命令による繰り返し回数Rを繰り返し回数レジスタ805に保持し、繰り返し実行命令数レジスタ804の値が0にリセットされる。
次のサイクルで信号SGRPTが“0”に変化すると、OR回路811の出力信号updateも“0”になる。そして、サイクル毎にPCレジスタ801の値に命令バイト数を加算してプログラムカウンタ値を順次更新し処理を行う。また、このとき、繰り返し実行命令数レジスタ804の値がサイクル毎に1ずつ加算され、繰り返し指定命令数レジスタ803の値に達すると、比較回路807の出力信号cmp1が“1”になる。
比較回路807の出力信号cmp1が“1”になったとき、リピート命令による繰り返し回数に達していなければ、AND回路809の出力信号pcselが“1”になることで、PCレジスタ801の値がスタートPCレジスタ802の値に更新される。また、比較回路807の出力信号cmp1が“1”になることでOR回路811の出力信号updateが“1”になり、繰り返し回数レジスタ805の値が1減算した値に更新され、繰り返し実行命令数レジスタ804の値が0にリセットされる。
次のサイクルで比較回路807の出力信号cmp1が“0”になると、OR回路811の出力信号updateが“0”になる。そして、サイクル毎にPCレジスタ801の値に命令バイト数を加算してプログラムカウンタ値を順次更新し処理を行い、繰り返し実行命令数レジスタ804の値が繰り返し指定命令数レジスタ803の値に達する度に、スタートPCレジスタ802の値でのPCレジスタ801の値の更新、繰り返し回数レジスタ805の値の1減算、及び繰り返し実行命令数レジスタ804の値の0リセットを行う。
前述した動作を繰り返し、比較回路807の出力信号cmp1が“1”になったときに、リピート命令による繰り返し回数に達し比較回路808の出力信号cmp2が“0であると、AND回路809の出力信号pcselは“0”のままである。したがって、PCレジスタ801の値がスタートPCレジスタ802の値で更新されることはなく、次の命令列の処理に移行する。なお、PCレジスタ801の値は、通常はサイクル毎に命令バイト数を加算するように更新され、PCレジスタ801の値に応じた命令の処理が実行される。
図9に、第1の実施形態におけるプロセッサにおいて、図6に示したリピート命令の処理、すなわちリピート命令に続く繰り返し対象命令である命令0〜命令7の8個の演算命令を64回繰り返し行う場合のタイムチャートを示す。クロックにおける0サイクル目でリピート命令repがデコードされて、1サイクル目〜8サイクル目において命令0〜命令7が順に実行され1回目のループ処理loop<1>が実行される。また、1サイクル目〜8サイクル目における1回目のループ処理loop<1>が実行されることで、オペランド更新バッファ241のエントリ0〜エントリ7には、命令0〜命令7の初期のオペランドに対して(ステップ数×1)を加算した値(更新オペランド)が格納される。
1サイクル目〜8サイクル目において1回目のループ処理loop<1>が実行された後、繰り返し回数レジスタ(count)の値が1減算されて63になり、PCレジスタ(PC)の値がスタートPCレジスタ(start PC)の値で更新される。そして、9サイクル目〜16サイクル目において命令0〜命令7が順に実行されて2回目のループ処理loop<2>が実行される。このとき、オペランド更新バッファ241のエントリ0〜エントリ7に格納されている値(更新オペランド)が命令0〜命令7のオペランドとして用いられて処理が実行される。また、9サイクル目〜16サイクル目における2回目のループ処理loop<2>が実行されることで、オペランド更新バッファ241のエントリ0〜エントリ7には、命令0〜命令7の初期のオペランドに対して(ステップ数×2)を加算した値が格納される。
以降、同様に処理を行い、63回目のループ処理が実行された後、繰り返し回数レジスタ(count)の値が1減算されて1になり、PCレジスタ(PC)の値がスタートPCレジスタ(start PC)の値で更新される。そして、505サイクル目〜512サイクル目において命令0〜命令7が順に実行されて64回目のループ処理loop<64>が実行される。このとき、オペランド更新バッファ241のエントリ0〜エントリ7に格納されている値、すなわち命令0〜命令7の初期のオペランドに対して(ステップ数×63)を加算した値が命令0〜命令7のオペランドとして用いられて処理が実行される。そして、505サイクル目〜512サイクル目における64回目のループ処理loop<64>が終了すると、次の命令列の処理に移行する。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。以下に説明する第2の実施形態は、リピート命令によるループ処理の内に他のリピート命令によるループ処理が入る、リピート命令による多重のループ処理を可能とするものである。以下では、第2の実施形態において、前述した第1の実施形態と異なる点についてのみ説明する。
次に、本発明の第2の実施形態について説明する。以下に説明する第2の実施形態は、リピート命令によるループ処理の内に他のリピート命令によるループ処理が入る、リピート命令による多重のループ処理を可能とするものである。以下では、第2の実施形態において、前述した第1の実施形態と異なる点についてのみ説明する。
図10は、第2の実施形態におけるプログラムカウンタ制御部210の構成例を示す図である。図10において、図8に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。プログラムカウンタ制御部210は、PCレジスタ801、スタートPCレジスタ802、繰り返し指定命令数レジスタ803、繰り返し実行命令数レジスタ804、繰り返し回数レジスタ805、セレクタ806、810、比較回路807、808、AND回路809、OR回路811、及び選択処理部1001を有する。
また、第2の実施形態におけるプログラムカウンタ制御部210は、スタートPCレジスタ802、繰り返し指定命令数レジスタ803、繰り返し実行命令数レジスタ804、及び繰り返し回数レジスタ805を1組とした制御レジスタセットを複数有しており、図10に示す例では8個の制御レジスタセットREG0〜REG7を有している。なお、図10に示す例は一例であり、許容するリピート命令によるループ処理の多重数に応じた数の制御レジスタセットを有していればよい。
また、PCレジスタ801、セレクタ806、810、比較回路807、808、AND回路809、及びOR回路811は、制御レジスタセットREG0〜REG7のそれぞれに対応して設ける必要はなく、選択処理部1001の出力信号regselにより選択されている制御レジスタセットREG0〜REG7について第1の実施形態と同様に制御を行えばよい。また、8個の制御レジスタセットREG0〜REG7を設けた場合、リピート制御部240のオペランド更新バッファ241のエントリ数も8倍に拡張し、それに合わせて信号SADのビット幅も拡張する。
ここで、本実施形態では、制御レジスタセットREG0〜REG7は、制御レジスタセットREG0、REG1、REG2、…の順に使用されるものとする。例えば、第1のリピート命令では制御レジスタセットREG0を使用し、第1のリピート命令内の第2のリピート命令では制御レジスタセットREG1を使用し、さらに第2のリピート命令内の第3のリピート命令では制御レジスタセットREG2を使用する。
選択処理部1001は、制御レジスタセットREG0〜REG7が有する繰り返し回数レジスタ805の値を評価し、図11に示す制御レジスタセットの選択論理に従って、制御レジスタセットREG0〜REG7の内から制御対象の制御レジスタセットを選択する。また、選択処理部1001は、選択した制御対象の制御レジスタセットの番号を繰り返し実行命令数レジスタ804の値と合わせて信号SADとしてリピート制御部240に出力する。
選択処理部1001は、例えば命令デコード部230からの信号SGRPTが“1”である、すなわちデコードされた命令がリピート命令である場合、繰り返し回数レジスタ805の値が0である(未使用である)制御レジスタセットREG0〜REG7の内から制御レジスタセットREG0、REG1、REG2、…、REG7の順で1つの制御レジスタセットを出力信号regselにより選択する。また、選択処理部1001は、命令デコード部230からの信号SGRPTが“0”である場合、繰り返し回数レジスタ805の値が0より大きい制御レジスタセットREG0〜REG7の内から制御レジスタセットREG7、REG6、REG5、…、REG0の順で1つの制御レジスタセットを出力信号regselにより選択する。したがって、命令デコード部230からの信号SGRPTが“0”である場合、例えば制御レジスタセットREG3が選択されている状態で繰り返し回数レジスタ805の値が0になると、次に制御レジスタセットREG2が選択されて制御が行われる。
このように制御することで、第2の実施形態におけるプロセッサは、複数の制御レジスタセットを設け、それらを切り替えて制御することで、リピート命令による多重のループ処理を実行することが可能となる。また、それぞれのリピート命令による動作は第1の実施形態と同様であるので、繰り返し演算処理を実行させる場合、演算に寄与しないデータ参照先の更新や分岐に係る処理を行う命令サイクルを削減でき、繰り返し演算処理全体での演算の実行効率を向上させることができる。
図13に、第2の実施形態におけるプロセッサにおいて、図12に示すリピート命令の処理を行う場合のタイムチャートを示す。図12に示す処理は、リピート命令<rep 7,3>によって命令0〜命令3、リピート命令<rep 2,4>、及び命令6〜命令7を繰り返し対象命令として3回繰り返し実行する際に、命令3と命令6との間にリピート命令<rep 2,4>によって命令4及び命令5を繰り返し対象命令として4回繰り返し実行する。すなわち、命令0〜命令3を実行し、命令4及び命令5を4回繰り返し実行し、命令6及び命令7を実行する一連の処理を3回繰り返し実行する。
クロックにおける0サイクル目でリピート命令<rep 7,3>がデコードされて、制御レジスタセットREG0を使用し、1サイクル目からリピート命令<rep 7,3>に係る1回目の第1のループ処理loop1<1>が実行される。また、1サイクル目からの1回目の第1のループ処理loop1<1>が実行されることで、オペランド更新バッファ241のエントリ0〜エントリ6には、命令0〜命令3、命令6〜命令7の初期のオペランドに対して(ステップ数×1)を加算した値(更新オペランド)が格納される。
この1回目の第1のループ処理loop1<1>において、命令3を実行した後の5サイクル目でリピート命令<rep 2,4>がデコードされて、制御対象の制御レジスタセットをREG0からREG1に切り替え、6サイクル目からリピート命令<rep 2,4>に係る1回目の第2のループ処理loop2<1>が実行される。また、6サイクル目からの1回目の第2のループ処理loop2<1>が実行されることで、オペランド更新バッファ241のエントリ128、129には、命令4、5の初期のオペランドに対して(ステップ数×1)を加算した値(更新オペランド)が格納される。
続いて、8サイクル目からリピート命令<rep 2,4>に係る2回目の第2のループ処理loop2<2>が実行され、オペランド更新バッファ241のエントリ128、129には、命令4、5の初期のオペランドに対して(ステップ数×2)を加算した値が格納される。同様にして、10サイクル目からリピート命令<rep 2,4>に係る3回目の第2のループ処理loop2<3>が実行され、12サイクル目からリピート命令<rep 2,4>に係る4回目の第2のループ処理loop2<4>が実行される。
12サイクル目からのリピート命令<rep 2,4>に係る4回目の第2のループ処理loop2<4>が終了した14サイクル目で制御対象の制御レジスタセットをREG1からREG0に切り替え、1回目の第1のループ処理loop1<1>に係る命令6及び命令7を実行する。
1回目の第1のループ処理loop1<1>が実行された後、第1のループ処理に係る制御レジスタセットREG0の繰り返し回数レジスタ(count)の値が1減算されて2になる。その後、16サイクル目において同様の処理を行い、2回目の第1のループ処理loop1<2>及びそれぞれの第1のループ処理における4回の第2のループ処理が実行される。このとき、オペランド更新バッファ241のエントリ0〜エントリ7、エントリ128、129には、次に繰り返し対象命令が実行される場合の更新オペランドが格納される。そして、45番目のサイクルにてリピート命令による命令7の処理が終了すると、次の命令列の処理に移行する。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
210 プログラムカウンタ制御部
211 プログラムカウンタレジスタ
220 命令領域
230 命令デコード部
240 リピート制御部
241 オペランド更新バッファ
242 加算器
243 セレクタ
211 プログラムカウンタレジスタ
220 命令領域
230 命令デコード部
240 リピート制御部
241 オペランド更新バッファ
242 加算器
243 セレクタ
Claims (5)
- 複数の命令を記憶する記憶部と、
デコード対象の命令を計数値により特定する計数部と、
前記記憶部から前記計数値に基づいて読み出された命令をデコードするデコード部と、
前記デコード部がデコードした命令が繰り返し命令である場合、前記繰り返し命令の後続の命令のうち、指定される命令数分の繰り返し対象命令を指定される繰り返し回数だけ繰り返すように前記計数部の計数値を更新させるとともに、2回目以降に繰り返し実行する繰り返し対象命令の被演算対象である更新オペランドを生成し、2回目以降の繰り返し対象命令を実行する場合、前記2回目以降の繰り返し対象命令のオペランドを生成した更新オペランドにそれぞれ更新して出力する制御部とを有する演算処理装置。 - 前記制御部は、
複数のエントリを有するとともに前記複数のエントリのうち各繰り返し対象命令に割り当てたエントリの各々に繰り返し対象命令のオペランドを保持し、繰り返し対象命令をそれぞれ実行する度に前記複数のエントリの各々に格納した各オペランドが更新オペランドに更新される保持部を有し、
各繰り返し対象命令を実行する場合、前記2回目以降の繰り返し対象命令の各オペランドを前記保持部に格納された更新オペランドに更新して出力する請求項1記載の演算処理装置。 - 各繰り返し対象命令において指定されるステップ数に基づいて、前記複数のエントリの各々に格納した各オペランドを更新する請求項2記載の演算処理装置。
- 前記制御部は、
前記繰り返し命令の後続の命令の計数部の計数値を保持するレジスタを有し、
前記繰り返し命令の後、前記命令数分の繰り返し対象命令を実行する毎に、実行する繰り返し命令の計数値を前記レジスタに保持した計数値に更新する請求項1〜3の何れか1項に記載の演算処理装置。 - 複数の命令を記憶する記憶部を有する演算処理装置の制御方法において、
前記演算処理装置が有する計数部が、デコード対象の命令を計数値により特定し、
前記演算処理装置が有するデコード部が、前記記憶部から前記計数値に基づいて読み出された命令をデコードし、
前記デコード部がデコードした命令が繰り返し命令である場合、前記演算処理装置が有する制御部が、前記繰り返し命令の後続の命令のうち、指定される命令数分の繰り返し対象命令を指定される繰り返し回数だけ繰り返すように前記計数部の計数値を更新させるとともに、2回目以降に繰り返し実行する繰り返し対象命令の被演算対象である更新オペランドを生成し、2回目以降の繰り返し対象命令を実行する場合、前記2回目以降の繰り返し対象命令のオペランドを生成した更新オペランドにそれぞれ更新して出力する演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016125576A JP2017228213A (ja) | 2016-06-24 | 2016-06-24 | 演算処理装置及び演算処理装置の制御方法 |
US15/606,097 US20170371655A1 (en) | 2016-06-24 | 2017-05-26 | Processor and control method of processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016125576A JP2017228213A (ja) | 2016-06-24 | 2016-06-24 | 演算処理装置及び演算処理装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017228213A true JP2017228213A (ja) | 2017-12-28 |
Family
ID=60676942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016125576A Pending JP2017228213A (ja) | 2016-06-24 | 2016-06-24 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170371655A1 (ja) |
JP (1) | JP2017228213A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020107306A (ja) * | 2018-12-27 | 2020-07-09 | グラフコアー リミテッドGraphcore Limited | マルチスレッドプロセッサの命令キャッシュ |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334633B (zh) * | 2018-02-26 | 2020-09-15 | 平安普惠企业管理有限公司 | 数据更新方法、装置、计算机设备和存储介质 |
US11269633B1 (en) * | 2021-06-07 | 2022-03-08 | Nxp B.V. | System and method for executing a number of NOP instructions after a repeated instruction |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59119449A (ja) * | 1982-12-27 | 1984-07-10 | Nec Corp | くり返し命令処理装置 |
JPH04251332A (ja) * | 1990-12-20 | 1992-09-07 | Fuji Electric Co Ltd | 演算処理装置 |
JPH04293124A (ja) * | 1991-03-20 | 1992-10-16 | Hitachi Ltd | データ処理プロセッサ |
JPH09212361A (ja) * | 1996-02-07 | 1997-08-15 | Mitsubishi Electric Corp | データ処理装置およびデータ処理方法 |
JPH1097423A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ |
JP2001273277A (ja) * | 2000-02-29 | 2001-10-05 | Internatl Business Mach Corp <Ibm> | 演算処理システム、演算処理方法およびそのプログラム格納装置 |
JP2002229779A (ja) * | 2001-02-02 | 2002-08-16 | Mitsubishi Electric Corp | 情報処理装置 |
JP2009054032A (ja) * | 2007-08-28 | 2009-03-12 | Toshiba Corp | 並列プロセッサ |
JP2013161453A (ja) * | 2012-02-08 | 2013-08-19 | Fujitsu Ltd | プロセッサ |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366885B1 (en) * | 2004-06-02 | 2008-04-29 | Advanced Micro Devices, Inc. | Method for optimizing loop control of microcoded instructions |
EP2041645B1 (en) * | 2006-07-11 | 2016-12-07 | Freescale Semiconductor, Inc. | Microprocessor and method for register addressing therein |
JP5159258B2 (ja) * | 2007-11-06 | 2013-03-06 | 株式会社東芝 | 演算処理装置 |
US20100122066A1 (en) * | 2008-11-12 | 2010-05-13 | Freescale Semiconductor, Inc. | Instruction method for facilitating efficient coding and instruction fetch of loop construct |
US9619229B2 (en) * | 2012-12-27 | 2017-04-11 | Intel Corporation | Collapsing of multiple nested loops, methods and instructions |
US9170811B2 (en) * | 2013-01-09 | 2015-10-27 | King Fahd University Of Petroleum And Minerals | Structured control instruction fetch unit |
US20150227373A1 (en) * | 2014-02-07 | 2015-08-13 | King Fahd University Of Petroleum And Minerals | Stop bits and predication for enhanced instruction stream control |
-
2016
- 2016-06-24 JP JP2016125576A patent/JP2017228213A/ja active Pending
-
2017
- 2017-05-26 US US15/606,097 patent/US20170371655A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59119449A (ja) * | 1982-12-27 | 1984-07-10 | Nec Corp | くり返し命令処理装置 |
JPH04251332A (ja) * | 1990-12-20 | 1992-09-07 | Fuji Electric Co Ltd | 演算処理装置 |
JPH04293124A (ja) * | 1991-03-20 | 1992-10-16 | Hitachi Ltd | データ処理プロセッサ |
JPH09212361A (ja) * | 1996-02-07 | 1997-08-15 | Mitsubishi Electric Corp | データ処理装置およびデータ処理方法 |
JPH1097423A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ |
JP2001273277A (ja) * | 2000-02-29 | 2001-10-05 | Internatl Business Mach Corp <Ibm> | 演算処理システム、演算処理方法およびそのプログラム格納装置 |
JP2002229779A (ja) * | 2001-02-02 | 2002-08-16 | Mitsubishi Electric Corp | 情報処理装置 |
JP2009054032A (ja) * | 2007-08-28 | 2009-03-12 | Toshiba Corp | 並列プロセッサ |
JP2013161453A (ja) * | 2012-02-08 | 2013-08-19 | Fujitsu Ltd | プロセッサ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020107306A (ja) * | 2018-12-27 | 2020-07-09 | グラフコアー リミテッドGraphcore Limited | マルチスレッドプロセッサの命令キャッシュ |
US11567768B2 (en) | 2018-12-27 | 2023-01-31 | Graphcore Limited | Repeat instruction for loading and/or executing code in a claimable repeat cache a specified number of times |
Also Published As
Publication number | Publication date |
---|---|
US20170371655A1 (en) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2569694B1 (en) | Conditional compare instruction | |
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
US8271571B2 (en) | Microprocessor | |
KR20000076285A (ko) | 기계 판독가능 매체 및 초대형 인스트럭션 워드 프로세서와, 컴퓨터 프로그램의 실행 방법 및 컴파일 방법 | |
JP2002333978A (ja) | Vliw型プロセッサ | |
JP2011090592A (ja) | 情報処理装置とその命令デコーダ | |
JP2009163624A (ja) | プロセッサ装置及び条件分岐処理方法 | |
JP6933263B2 (ja) | データ処理装置、ループ制御装置、データ処理方法、ループ制御方法およびプログラム | |
JP2017228213A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US20190391812A1 (en) | Conditional execution specification of instructions using conditional extension slots in the same execute packet in a vliw processor | |
JP5130757B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
CN101320324A (zh) | 处理机装置及复合条件处理方法 | |
JP6712052B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP2020502669A (ja) | ベクトル生成命令 | |
GB2523805A (en) | Data processing apparatus and method for performing vector scan operation | |
JP2004062909A (ja) | 複数の制御フローパスを有するソフトウェアパイプライン化ループのためのシステムおよび方法 | |
JP2014164659A (ja) | プロセッサ | |
JP3867804B2 (ja) | 集積回路装置 | |
JP3619343B2 (ja) | データ処理装置と方法 | |
JP2006285721A (ja) | 演算処理装置および演算処理方法 | |
JP5786719B2 (ja) | ベクトルプロセッサ | |
WO2011086808A1 (ja) | 情報処理装置 | |
JP2004302647A (ja) | ベクトルプロセッサおよびレジスタのアドレス指定方法 | |
JP6060853B2 (ja) | プロセッサおよびプロセッサの処理方法 | |
JPH0876996A (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200818 |