JP5659772B2 - 演算処理装置 - Google Patents

演算処理装置 Download PDF

Info

Publication number
JP5659772B2
JP5659772B2 JP2010281723A JP2010281723A JP5659772B2 JP 5659772 B2 JP5659772 B2 JP 5659772B2 JP 2010281723 A JP2010281723 A JP 2010281723A JP 2010281723 A JP2010281723 A JP 2010281723A JP 5659772 B2 JP5659772 B2 JP 5659772B2
Authority
JP
Japan
Prior art keywords
vector
cycle
register
arithmetic processing
alignment
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 - Fee Related
Application number
JP2010281723A
Other languages
English (en)
Other versions
JP2012128790A (ja
Inventor
一生 堀尾
一生 堀尾
都市 雅彦
雅彦 都市
宏政 高橋
宏政 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010281723A priority Critical patent/JP5659772B2/ja
Publication of JP2012128790A publication Critical patent/JP2012128790A/ja
Application granted granted Critical
Publication of JP5659772B2 publication Critical patent/JP5659772B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Description

この出願で言及する実施例は、演算処理装置に関する。
従来、演算処理装置として、ベクトルのような連続するデータに対して、同じ操作をまとめて一度に行うことで、比較的簡単な制御系で高いスループットを達成するベクトルプロセッサが利用されている。
このようなベクトルプロセッサは、気象予測や流体解析といった科学技術計算に適用されているが、近年、携帯端末のソフトウェア無線(SDR:Software Defined Radio)への適用も考えられている。
ところで、従来、ベクトルプロセッサ(演算処理装置)としては、様々なものが提案されている。
米国特許第7197625号明細書 米国特許第5893145号明細書 米国特許第7219212号明細書
従来、ベクトルプロセッサとしては、様々なものが提案されているが、例えば、2つのベクトルを並列的に加算(演算)するとき、それぞれのベクトルの足し合わせたい要素のインデックスがずれている場合がある。
このように、ベクトルの足し合わせたい要素のインデックスがずれていると、その演算を行うために実行する命令の数が増加し、或いは、レジスタファイルへのアクセス数が増加して、処理時間が長くなるといった課題がある。
一実施形態によれば、複数のベクトルレジスタを含むベクトルレジスタファイルと、アライメント制御部と、ベクトル演算部と、を備える演算処理装置が提供される。
前記アライメント制御部は、第1サイクルにおいて、前記第1ベクトルレジスタの内容を一時レジスタに転送し、前記第1サイクルの次のサイクルである第2サイクルにおいて、前記第2ベクトルレジスタを読み出し、前記一時レジスタの内容と結合してシフトすることによりアライメントされたアライメント要素群を生成する。
前記ベクトル演算部は、前記第2サイクルにおいて、前記アライメント要素群と、第3ベクトルレジスタから読み出した第3要素群の対応する各要素を並列に演算してライトバックする
開示の演算処理装置は、レジスタファイルのアクセス回数を低減することで処理時間を短縮することができるという効果を奏する。
演算処理装置の一例を示すブロック図である。 演算処理の一例を示す図である。 演算処理の他の例を示す図である。 図3に示す演算処理を実現する動作の一例を説明するための図である。 図4に示す演算処理を実行する演算処理装置の一例を示すブロック図である。 図3に示す演算処理を実現する動作の他の例を説明するための図である。 図6に示す演算処理を実行する演算処理装置の一例を示すブロック図である。 図6および図7に示す演算処理装置における課題を説明するための図(その1)である。 図6および図7に示す演算処理装置における課題を説明するための図(その2)である。 本実施例の演算処理装置を示すブロック図である。 図10に示す演算処理装置の要部を示すブロック図である。 図10および図11に示す演算処理装置の動作を説明するための図である。 図10および図11に示す演算処理装置の動作を説明するためのタイミング図である。
まず、演算処理装置の実施例を詳述する前に、演算処理装置およびその問題点を図1〜図9を参照して説明する。
図1は、演算処理装置の一例を示すブロック図である。図1において、参照符号1は命令メモリ、20は演算処理装置(ベクトルプロセッサ)、3はデータメモリ、21はデコードロジック部(デコーダ)、22はスカラレジスタ、23はベクトルレジスタ、そして、24はスカラ演算部を示す。
また、参照符号25はベクトル演算部、26はスカラロードストア部、そして、27はベクトルロードストアユニットを示す。ここで、演算処理装置20には、例えば、デコードロジック部21,ベクトルレジスタ23、ベクトル演算部25、ベクトルロードストアユニット27およびデータメモリ3を通る4つの並列なデータパスが形成されている。
なお、本明細書では、演算処理装置としてベクトルプロセッサを例として説明するが、この演算処理装置には、例えば、SIMD(Single Instruction Multiple Data)プロセッサも含まれる。
この4つの並列なデータパスにより、ベクトルプロセッサは、ベクトルのような連続するデータに対して、同じ操作をまとめて一度に行うことで、比較的簡単な制御系で高いスループットを達成するようになっている。
図2は、演算処理の一例を示す図であり、また、図3は、演算処理の他の例を示す図であり、上述した4つの並列なデータパスのベクトル演算部25における処理を示すものである。ここで、参照符号a0〜a3およびb0〜b3は、それぞれベクトルの1つ1つの要素を示す。
図2は、ベクトル演算部25における4つの演算器(加算器)50〜53により、それぞれ2つの要素(ベクトル)a0〜a3とb0〜b3を演算(加算)する処理を示す。また、図3は、演算器50〜53により、それぞれ2つの要素a0〜a3とb2〜b5を加算する処理を示す。
このように、例えば、2つのベクトルを加算する場合、各演算器50〜53は、独立して演算処理を行い、図2の例では、a0+b0〜a3+b3の演算結果が得られ、図3の例では、a0+b2〜a3+b5の演算結果が得られる。
ここで、図2の例において、ベクトルの加算を行う2つの要素a0〜a3およびb0〜b3は、ベクトル中の対応する位置にあるためそのまま加算することができる。しかしながら、図3の例において、ベクトルの加算を行う2つの要素a0〜a3およびb2〜b5は、ベクトル中の対応する位置にないため、そのまま加算することはできない。
すなわち、図3の例では、要素a0〜a3に対して、足し合わせたい要素b2〜b5のインデックスが2つずつずれている場合であり、a0+b2〜a3+b5という結果を得るためには、さらなる処理を行わなければならない。
図3では、予め一方のベクトル(bn)を2要素分シフトし、図2のb0〜b3の位置にb2〜b5が来るように、ベクトルをシフトする操作(アラインメント)が行われている。すなわち、図3の例では、ベクトルbnを2要素分シフトして加算を行うことにより、所望のa0+b2〜a3+b5という結果を得ている。
図4は、図3に示す演算処理を実行する演算処理装置の動作の一例を説明するための図であり、また、図5は、図4に示す演算処理を実行する動作の一例を示すブロック図である。ここで、図4および図5に示す演算処理装置では、2つの命令を実行するようになっている。
まず、図4(a)に示されるように、1番目の命令IST1としてシフト命令を与え、このシフト命令IST1によりシフタ54を用いて、ベクトルbnを2要素分シフトするアライメント処理を行う。
すなわち、図5に示されるように、ベクトルレジスタ23から読み出したb2〜b5をパイプラインレジスタ552〜555を介してシフタ54に供給し、2要素分シフトしてセレクタ560〜563に供給する。
そして、セレクタ560〜563からパイプラインレジスタ570〜573を介してベクトルレジスタ23に書き戻す(ライトバックする)。このように、1番目の命令IST1では、専用のアラインメント命令によりアラインメントだけが行われる。
次に、図4(b)に示されるように、2番目の命令として演算(加算)命令IST2を与え、この加算命令IST2により演算器50〜53を用いて、それぞれa0〜a3とb2〜b5の加算を行い、演算結果a0+b2〜a3+b5を得る。
すなわち、図5に示されるように、ベクトルレジスタ23からパイプラインレジスタ550〜553を介して読み出したa0〜a3と、パイプラインレジスタ554〜557を介して読み出したb2〜a5を演算器50〜53に供給して加算を実行する。
そして、演算器50〜53の出力は、セレクタ560〜563からパイプラインレジスタ570〜573を介してレジスタにライトバックされる。このように、2番目の命令IST2では、本来の加算命令により加算を実行する。
すなわち、図4および図5に示す演算処理装置では、演算ステージにはアラインメントを行うシフタ54および演算器50〜53が並列に並べられる。そして、ベクトルレジスタ23から読み出したデータは、選択的に、専用のアラインメント命令(IST1)を実行する際はシフタ54に投入され、また、加算命令(IST2)を実行する際は演算器50〜53に投入されることになる。
このように、図4および図5の演算処理装置は、2つの命令を使用するため、単純に増えた余計な命令(アラインメント命令)の分だけ演算が遅れることになる。
図6は、図3に示す演算処理を実行する演算処理装置の動作の他の例を説明するための図であり、また、図7は、図6に示す演算処理を実行する動作の一例を示すブロック図である。
図6および図7に示す演算処理装置では、1つの命令によりベクトルのアラインメントと加算の両方が実行されるが、加算命令の動作の一部にベクトルのアラインメントが含まれている。
図7に示されるように、演算ステージにおいて、シフタ54’と演算器50〜53は並列ではなく直列に接続されており、どちらか一方の動作を選択するようにはなっていない。
この図6および図7に示す演算処理装置では、図4および図5の演算処理装置のように専用のアラインメント命令を実行しなくてもよいが、やはり実行すべき命令の数が増えることになってしまう。すなわち、ベクトルがずれていると、本来1つのレジスタに収まる大きさのベクトルが、2つのレジスタに跨がることになる。
図8および図9は、図6および図7に示す演算処理装置における課題を説明するための図である。図8に示されるように、例えば、要素a0〜a3に加算される要素b2〜a5は、レジスタR0のb2およびb3、並びに、レジスタR1のb4およびb5の2つのレジスタに跨がっている。
すなわち、演算に用いる要素b2〜b5は、レジスタR0およびR1の2つのレジスタに跨がって格納されているため、要素b2〜b5のアラインメントを行うには、2つのレジスタR0およびR1を読み出さなければならない。
同様に、例えば、要素a4〜a7に加算される要素b6〜a9は、レジスタR1のb6およびb7、並びに、レジスタR2のb8およびb9の2つのレジスタに跨がっている。
すなわち、演算に用いる要素b6〜b9は、レジスタR1およびR2の2つのレジスタに跨がって格納されているため、要素b6〜b9のアラインメントを行うには、2つのレジスタR1およびR2を読み出さなければならない。
ここで、同時に読み出せるレジスタの数には制限があり、一度に2つのレジスタを読み出すことはできない。従って、レジスタR0およびR1に格納されている要素(ベクトル)の断片、並びに、レジスタR1およびR2に格納されている要素の断片はそれぞれ別の命令により読み出される。
具体的に、1回目のa0+b2〜a3+b5を得るには、レジスタR0に格納されているb2およびb3と、レジスタR1に格納されているb2およびb3を別に読み出すために2回演算を行うことになる。
同様に、2回目のa4+b6〜a7+b9を得るには、レジスタR1に格納されているb6およびb7と、レジスタR2に格納されているb8およびb9を別に読み出すために2回演算を行うことになる。
このように、図6および図7に示す演算処理装置では、実行すべき命令の数が増えるため、処理時間が長くなってしまう。また、例えば、SIMDプロセッサのデータパス数よりも大きなベクトルを扱う場合、そのベクトルを分割した分、何度もアラインメントを行うことになるため、大きなベクトルに対してアラインメントを行う場合のオーバヘッドは特に大きくなる。
以下、演算処理装置の実施例を、添付図面を参照して詳述する。図10は、本実施例の演算処理装置を示すブロック図であり、また、図11は、図10に示す演算処理装置の要部を示すブロック図である。なお、本実施例の演算処理装置には、例えば、SIMDプロセッサも含まれる。
図10において、参照符号1は命令メモリ、2は演算処理装置(ベクトルプロセッサ)、3はデータメモリ、4はアライメント制御部、21はデコードロジック部(デコーダ)、22はスカラレジスタ、そして、23はベクトルレジスタを示す。
また、参照符号24はスカラ演算部、25はベクトル演算部、26はスカラロードストア部、そして、27はベクトルロードストアユニットを示す。
ここで、演算処理装置2には、例えば、デコードロジック部21、ベクトルレジスタ23、アライメント制御部4、ベクトル演算部25、ベクトルロードストアユニット27およびデータメモリ3を通る4つの並列なデータパスが形成されている。
また、スカラレジスタ22は、例えば、デコードロジック部21でデコードされたアドレス等のデータが格納される。なお、セレクタ42に供給されるシフト信号SSは、スカラレジスタ22から出力される。
図11は、図10におけるベクトルレジスタ23、アライメント制御部4、および、ベクトル演算部25(演算器50〜53)を示し、後述する図12および図13における2サイクル目の処理を行っている状態を示す。
図11に示されるように、アライメント制御部4は、フリップフロップ410〜413を有する一時レジスタ41、および、セレクタ(シフタ)42を含む。一時レジスタ41は、前のサイクルで読み込んだ要素を一時的に保持し、次のサイクルでセレクタ42に供給する。
ここで、セレクタ42には、シフト量を示すシフト信号SSが供給され、そのシフト信号SSにより指定された要素分(ビット数)だけ入力値がシフトされるようになっている。なお、このセレクタ42は、例えば、マルチプレクサの組み合わせによって実現することができる。
また、ベクトルレジスタ23は、そのサイクルが演算の1サイクル目であるかどうかを示すフラグFSを出力し、例えば、このフラグFSが高レベル『1』のときに、演算器50〜53の出力をベクトルレジスタ23にライトバックしないように制御する。
図12は、図10および図11に示す演算処理装置の動作を説明するための図であり、また、図13は、図10および図11に示す演算処理装置の動作を説明するためのタイミング図である。
図12および図13に示されるように、クロックCLKの1サイクル目(1回目の演算処理)において、ベクトルレジスタ23のソース1からは、要素b0〜b3が読み出され、セレクタ42および一時レジスタ41に供給される。
これにより、一時レジスタ41におけるフリップフロップ410〜413は、1サイクル目のクロックCLKにより要素b0〜b3を一時的に保持する。なお、図11および図13における参照符号VS1は、各サイクルにおいて、ベクトルレジスタ23のソース1から読み出された要素を示す。
このとき、ベクトルレジスタ23のソース0からは、要素の読み出しは行われず、また、フラグFSは高レベル『1』になっているので、演算器50〜53の出力のライトバックは行われない。
なお、図11および図13における参照符号VS0は、各サイクルにおいて、ベクトルレジスタ23のソース0から読み出された要素を示す。また、セレクタ42に供給されるシフト信号SSは、一例として、各要素を+2だけシフトしてアラインメントを行うための信号であり、スカラレジスタ22から出力される。
次に、クロックCLKの2サイクル目において、ベクトルレジスタ23のソース1からは、要素b4〜b7が読み出され、セレクタ42および一時レジスタ41に供給される。なお、前述したように、図11は、この2サイクル目の処理を行っている様子を示す。
このとき、セレクタ42には、一時レジスタ41からのb0〜b3(前のサイクルで読み出された要素VP:第1要素)と、ベクトルレジスタ23のソース1からのb4〜b7(そのサイクルで読み出された要素VS1:第2要素)が供給されている。
そして、セレクタ42は、b0〜b7からシフト信号SSで示される+2のシフト量だけシフトしたb2〜b5(アライメント要素VA)を選択して出力する。
これにより、演算器50〜53には、レジスタ550〜553を介したソース0からのa0〜a3(第3要素VS0)と、レジスタ550’〜553’を介したセレクタ42からのb2〜b5(アライメント要素VA)が入力され、それぞれ加算処理される。
すなわち、演算器50〜53は、a0+b2〜a3+b5を出力する。このとき、フラグFSは低レベル『0』になっているため、演算器50〜53による演算結果a0+b2〜a3+b5のライトバックが行われる。なお、1サイクル目で読み出された要素b2,b3がライトバックされるのは、要素a0〜a3,b4,b5が読み出される2サイクル目の読み出しステージ、並びに、a0+b2〜a3+b5の演算が行われる3サイクル目の演算ステージの後になる。
また、一時レジスタ41のフリップフロップ410〜413は、2サイクル目のクロックCLKにより、ソース1から読み出されたb4〜b7を保持することになる。
さらに、図12および図13に示されるように、クロックCLKの3サイクル目において、ベクトルレジスタ23のソース1からは、要素b8〜b11が読み出され、セレクタ42および一時レジスタ41に供給される。
このとき、セレクタ42には、一時レジスタ41からのb4〜b7(前のサイクルで読み出された要素VP:第1要素)と、ベクトルレジスタ23のソース1からのb8〜b11(そのサイクルで読み出された要素VS1:第2要素)が供給されている。
そして、セレクタ42は、b4〜b11からシフト信号SSで示される+2のシフト量だけシフトしたb6〜b9(アライメント要素VA)を選択して出力する。
すなわち、前のサイクルで読み出した要素(第1要素VP)は、一時レジスタ41に保存して再利用する。これにより、同じレジスタに2回アクセスする必要がなくなり、レジスタファイルのアクセス回数を低減することができる。
従って、2サイクル目以降の処理では、1回のアラインメントごとにアクセスするレジスタの数は1つで済むことになる。
そして、演算器50〜53には、レジスタ550〜553を介したソース0からのa4〜a7(第3要素VS0)と、レジスタ550’〜553’を介したセレクタ42からのb6〜b9(アライメント要素VA)が入力され、それぞれ加算処理される。
すなわち、演算器50〜53は、a4+b6〜a7+b9を出力する。このとき、フラグFSは低レベル『0』になっているため、演算器50〜53による演算結果a4+b6〜a7+b9のライトバックが行われる。
このように、本実施例の演算処理装置によれば、1サイクル目の一時レジスタ41に対する書き込み処理を行わなければならないが、2サイクル目以降では、1サイクルの処理により、ベクトルのアラインメントと演算(加算)の両方を行うことができる。
ここで、処理を行う要素(ベクトル)のビット数が多いほど、すなわち、繰り返して行う処理回数が多いほど、1サイクル目の一時レジスタ41への書き込みに要する時間の比率が小さくなる。
そして、本実施例の演算処理装置によれば、アラインメントおよび加算(演算)を行う場合、図1〜図9を参照して説明した演算処理装置よりもレジスタファイルのアクセス回数を低減することで処理時間を短縮することが可能になる。
以上の説明において、演算器の数(パイプラインの数)やレジスタ(ベクトルレジスタおよび一時レジスタ)の容量(ビット数)、或いは、セレクタに与えるシフト量等は、単なる例であり、様々に変更することができるのはいうまでもない。
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
(付記1)
ベクトルレジスタと、
前記ベクトルレジスタから任意の第1サイクルで読み出された第1要素,および,前記ベクトルレジスタから前記第1サイクルの次の第2サイクルで読み出された第2要素を結合して所定要素分だけシフトしてアライメントさせたアライメント要素を生成するアライメント制御部と、
前記アライメント要素,および,前記ベクトルレジスタから前記第2サイクルで読み出された第3要素を並列に演算する複数の演算器を有するベクトル演算部と、を有することを特徴とする演算処理装置。
(付記2)
前記アライメント制御部は、
前記第1サイクルで読み出された前記第1要素を一時的に保持する一時レジスタと、
該一時レジスタに保持された前記第1要素,および,前記第2サイクルで読み出された前記第2要素を受け取るセレクタと、を有することを特徴とする付記1に記載の演算処理装置。
(付記3)
前記セレクタは、シフト量を示すシフト信号を受け取り、前記第1要素および前記第2要素から、該シフト信号に従った要素分だけシフトしてアライメントさせた前記アライメント要素を出力することを特徴とする付記2に記載の演算処理装置。
(付記4)
前記シフト信号は、命令をデコードするデコードロジック部からのアドレスを格納するスカラレジスタから出力されることを特徴とする付記3に記載の演算処理装置。
(付記5)
前記ベクトルレジスタは、
前記第1サイクルが,前記第1要素を前記ベクトルレジスタから最初に読み出す1サイクル目のとき、前記複数の演算器の出力をライトバックしないようにフラグを制御すると共に、
前記第1サイクルが、前記第1要素を前記ベクトルレジスタから最初に読み出す1サイクル目よりも後のサイクルのとき、前記複数の演算器の出力をライトバックするようにフラグを制御することを特徴とする付記1〜4のいずれか1項に記載の演算処理装置。
(付記6)
前記各演算器は、前記アライメント要素および前記第3要素を並列に加算する加算器であることを特徴とする付記1〜5のいずれか1項に記載の演算処理装置。
1 命令メモリ
2,20 演算処理装置(ベクトルプロセッサ)
3 データメモリ
4 アライメント制御部
21 デコードロジック部(デコーダ)
22 スカラレジスタ
23 ベクトルレジスタ
24 スカラ演算部
25 ベクトル演算部
26 スカラロードストア部
27 ベクトルロードストアユニット
41 一時レジスタ
42 セレクタ(シフタ)
50〜53 演算器(加算器)
FS フラグ
SS シフト信号
VA アライメント処理された要素(アライメント要素)
VP 前のサイクルで読み出された要素(第1要素)
VS0 ソース0から読み出された要素(第3要素)
VS1 ソース1から読み出された要素(そのサイクルで読み出された要素:第2要素)

Claims (2)

  1. 複数のベクトルレジスタを含むベクトルレジスタファイルと、アライメント制御部と、ベクトル演算部と、を備える演算処理装置であって、
    演算対象となる1つのベクトルが第1要素群と第2要素群の2つの要素群に分かれて、前記第1要素群第1ベクトルレジスタに一方に寄せてロードされており、前記第2要素群第2ベクトルレジスタに前記第1要素群と異なる他方に寄せてロードされている場合に、
    前記アライメント制御部は、
    第1サイクルにおいて、前記第1ベクトルレジスタの内容を一時レジスタに転送し、
    前記第1サイクルの次のサイクルである第2サイクルにおいて、前記第2ベクトルレジスタを読み出し、前記一時レジスタの内容と結合してシフトすることによりアライメントされたアライメント要素群を生成し、
    前記ベクトル演算部は、
    前記第2サイクルにおいて、前記アライメント要素群と、第3ベクトルレジスタから読み出した第3要素群の対応する各要素を並列に演算してライトバックする、
    ことを特徴とする演算処理装置。
  2. 前記第1サイクルと前記第2サイクルにおける、ベクトルのアライメントと演算をパイプライン処理にて連続的に行う場合に、
    前記第1サイクルの当初のサイクルでは、前記複数の演算器の出力をライトバックしないようにフラグが制御され、
    前記当初のサイクルより後のサイクルでは、前記複数の演算器の出力をライトバックするようにフラグが制御される、
    ことを特徴とする請求項1に記載の演算処理装置。
JP2010281723A 2010-12-17 2010-12-17 演算処理装置 Expired - Fee Related JP5659772B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010281723A JP5659772B2 (ja) 2010-12-17 2010-12-17 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010281723A JP5659772B2 (ja) 2010-12-17 2010-12-17 演算処理装置

Publications (2)

Publication Number Publication Date
JP2012128790A JP2012128790A (ja) 2012-07-05
JP5659772B2 true JP5659772B2 (ja) 2015-01-28

Family

ID=46645709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010281723A Expired - Fee Related JP5659772B2 (ja) 2010-12-17 2010-12-17 演算処理装置

Country Status (1)

Country Link
JP (1) JP5659772B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6492943B2 (ja) 2015-05-07 2019-04-03 富士通株式会社 計算機、コンパイル方法、コンパイルプログラム、およびパイプライン処理プログラム
WO2020116025A1 (ja) * 2018-12-07 2020-06-11 日本電気株式会社 コンパイル装置、コンパイル方法、及び非一時的なコンピュータ可読媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2010A (en) * 1841-03-18 Machine foe
JPS6180452A (ja) * 1984-09-28 1986-04-24 Hitachi Ltd ベクトル処理装置
JP2636789B2 (ja) * 1995-03-31 1997-07-30 日本電気株式会社 マイクロプロセッサ
JP3776732B2 (ja) * 2001-02-02 2006-05-17 株式会社東芝 プロセッサ装置
JP2002358288A (ja) * 2001-05-31 2002-12-13 Hitachi Ltd 半導体集積回路及びコンピュータ読取り可能な記録媒体
JP3958662B2 (ja) * 2002-09-25 2007-08-15 松下電器産業株式会社 プロセッサ

Also Published As

Publication number Publication date
JP2012128790A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
US8984043B2 (en) Multiplying and adding matrices
CN109062608B (zh) 用于独立数据上递归计算的向量化的读和写掩码更新指令
KR101597774B1 (ko) 마스킹된 전체 레지스터 액세스들을 이용한 부분적 레지스터 액세스들을 구현하기 위한 프로세서들, 방법들 및 시스템들
KR102118836B1 (ko) Simd 아키텍처에서 레인 셔플을 위한 셔플러 회로
JP2017010573A (ja) 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
KR102592056B1 (ko) 패킹된 데이터 정렬 플러스 계산 명령어, 프로세서,방법, 및 시스템
TWI603262B (zh) 緊縮有限脈衝響應(fir)濾波器處理器,方法,系統及指令
KR102318531B1 (ko) 스트리밍 메모리의 치환 동작
CN107145335B (zh) 用于大整数运算的向量指令的装置和方法
CN115686633A (zh) 用于实现链式区块操作的系统和方法
US7043627B2 (en) SIMD operation system capable of designating plural registers via one register designating field
US10749502B2 (en) Apparatus and method for performing horizontal filter operations
US9965275B2 (en) Element size increasing instruction
JP2013174961A (ja) ベクトルプロセッサ、ベクトルプロセッサの処理方法
US11106465B2 (en) Vector add-with-carry instruction
US20240004663A1 (en) Processing device with vector transformation execution
JP5659772B2 (ja) 演算処理装置
US20100115232A1 (en) Large integer support in vector operations
US8055883B2 (en) Pipe scheduling for pipelines based on destination register number
KR20200028965A (ko) 데이터 처리장치에서의 벡터 인터리빙
US11544065B2 (en) Bit width reconfiguration using a shadow-latch configured register file
JP2011209859A (ja) 情報処理装置
CN112579168A (zh) 指令执行单元、处理器以及信号处理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141016

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: 20141104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141117

R150 Certificate of patent or registration of utility model

Ref document number: 5659772

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees