JP5720111B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5720111B2
JP5720111B2 JP2010095032A JP2010095032A JP5720111B2 JP 5720111 B2 JP5720111 B2 JP 5720111B2 JP 2010095032 A JP2010095032 A JP 2010095032A JP 2010095032 A JP2010095032 A JP 2010095032A JP 5720111 B2 JP5720111 B2 JP 5720111B2
Authority
JP
Japan
Prior art keywords
instruction
vector
value
information processing
processing apparatus
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
JP2010095032A
Other languages
English (en)
Other versions
JP2011227610A (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 JP2010095032A priority Critical patent/JP5720111B2/ja
Publication of JP2011227610A publication Critical patent/JP2011227610A/ja
Application granted granted Critical
Publication of JP5720111B2 publication Critical patent/JP5720111B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この出願で言及する実施例は、情報処理装置に関する。
従来、情報処理装置(プロセッサ)として、ベクトルユニット(ベクタユニット)が提供されている。このベクトルユニットは、配列型のデータを効率的に並列処理するための演算装置であり、ベクトル型スーパーコンピュータに広く用いられている。
具体的に、ベクトルユニットは、配列データ(例えば、64要素の1次元配列)を処理する4本の演算実行パイプラインを有し、各パイプラインの演算ステージには、8個のSIMD(Single Instruction Multiple Data)演算器を搭載している。そして、ベクトル命令を、1サイクルに1命令毎、適切な実行パイプラインに発行する。
1つのベクトル命令は、1つの実行パイプラインで複数サイクルに渡って実行され、また、各実行パイプラインは、並列に動作する。例えば、ベクトル長(VL長)が64の配列であれば、64要素/8演算器=8サイクルで配列に対する演算を実行する。ここで、1サイクル1命令発行とした場合は、通常、レジスタ干渉があっても、データのフォワーディングが可能なため、ストールは生じない。
ところで、従来、ベクトル長更新命令に注目して命令実行速度の短縮を図った情報処理装置が提案されている。
特開平02−250174号公報
前述したようなベクトルユニット(プロセッサ)において、ベクトルレジスタファイルがベクトル長(VL長)により物理番号と論理番号が変化するような構成となっているものがある。
この場合、ベクトル長を指定するレジスタ(VLレジスタ)の内容を変化させる命令(setVL命令)を発行すると、ベクトルレジスタファイルの物理番号と論理番号の対応が変化してしまうため、発行可能かどうかを判断するレジスタ干渉の検出が困難になる。
このような問題を避けるため、通常、先行する全てのベクトル命令の実行が完了するまでストールするように制御している。そのため、ベクトルユニットの処理性能が大きく低下、すなわち、ベクトルユニットにより処理されるプログラムの実行速度が低下することになる。
そこで、setVL命令を命令バッファに入れる際に、命令バッファ内の先行のsetVL命令により更新されるVL値が、現在、実行パイプラインに設定されているVL値と同じかどうかを検出する情報処理装置が提案されている。
この情報処理装置は、setVL命令により更新されるVL値が実行パイプラインに設定されているVL値と同じであれば、そのsetVL命令自体を無効化する(命令バッファに入れない)という制御を行うものである。
しかしながら、この方式では、VL値が変化しない場合に効果が限定されることになり、また、命令を無効化してしまうために、VL値が変化しない場合にしか対応することができないという問題がある。
さらに、命令の無効化により、そのsetVL命令の1命令を減らすことが可能であったとしても、それは、ベクトルレジスタファイルがVL長により物理番号と論理番号が変化しない構成を前提とするものである。
すなわち、ベクトルレジスタファイルがVL長により物理番号と論理番号が変化する場合には、setVL命令によるストールを回避しなければならず、その点の考慮がなされていない。
一実施形態の情報処理装置によれば、ベクトルレジスタファイルがベクトル長により物理番号と論理番号が変化する情報処理装置であって、ベクトル長レジスタと、比較器と、発行可否判定回路と、を有する情報処理装置が提供される。
前記ベクトル長レジスタは、ベクトル長を指定し、また、前記比較器は、前記ベクトル長レジスタによるベクトル長の第1値と、ベクトル長を変化させる命令によるベクトル長の第2値を比較する。さらに、前記発行可否判定回路は、前記比較器からの比較結果に従って、実行中の先行命令に続く後続命令の発行可否を判定する。前記比較結果が、前記第2値が前記第1値よりも大きいか,或いは,等しいとき、前記発行可否判定回路は、前記先行命令の実行完了を待つことなく前記後続命令を発行し、前記比較結果が、前記第2値が前記第1値よりも小さいとき、前記発行可否判定回路は、前記先行命令の実行完了を待って前記後続命令を発行し、前記ベクトルレジスタファイルを、前記ベクトルレジスタファイルの論理番号で指定し、前記ベクトルレジスタファイルの論理番号と、前記ベクトル長以上の最初の2のべき乗数の積により、前記ベクトルレジスタファイルの物理番号を規定する。
開示の情報処理装置は、処理速度、或いは、プログラムの実行速度を向上させることができるという効果を奏する。
情報処理装置の一例を概略的に示すブロック図である。 図1の情報処理装置におけるレジスタファイルの動作を説明するための図である。 図1の情報処理装置における演算器の動作を説明するための図である。 setVL命令によりVL値が途中で変化する場合を説明するための図である。 setVL命令がストールする原因を説明するための図である。 本実施例の情報処理装置を概略的に示すブロック図である。 図6の情報処理装置の要部を説明するためのブロック図である。 本実施例の情報処理装置におけるVLの変化による命令発行タイミングを説明するための図である。 本実施例の情報処理装置の動作を説明するための図である。 VL値が小から大に変化する場合の具体例を説明するための図である。
まず、情報処理装置の実施例を詳述する前に、情報処理装置およびその問題点を図1〜図5を参照して説明する。
図1は、情報処理装置(プロセッサ)の一例を概略的に示すブロック図である。図1において、参照符号1は命令バッファ、2はスケジューラ、3はレジスタファイル群、psはスカラ実行パイプライン、そして、p0〜p3はベクトル実行パイプラインを示す。
なお、図1におけるIF,IDおよびEXは、プロセッサの内部処理部を示し、IFは、命令を命令バッファ(命令キャッシュ)1から読み出す命令フェッチ(Instruction Fetch)部を示す。
また、IDは、例えば、スケジューラ2により制御信号を生成し、レジスタファイルをレジスタ指定子で参照する命令デコード(Instruction Decode)部を示す。
さらに、EXは、例えば、スカラ実行パイプラインps、並びに、ベクトル実行パイプラインp0〜p3により、数値の計算やロード/ストアのデータ或いはアドレスの分岐先の計算を行う実行(Execution)部を示す。
図1に示すプロセッサは、ベクトル実行パイプラインが4本(p0,p1,p2,p3)で通常のベクトル命令を実行し、また、スカラ実行パイプラインが1本(ps)でsetVL命令を含む1データ処理の命令を実行する場合を想定している。ここで、setVL命令は、ベクトルユニットにおいてベクトル長を変化させる命令である。
なお、命令は、1サイクルで1命令を発行し、また、各ベクトル実行パイプラインp0〜p3は、それぞれ8個(8並列)の演算器を有するものを想定している。
図2は、図1の情報処理装置におけるレジスタファイルの動作を説明するための図であり、VL長(ベクトル長)によりベクトルレジスタファイルの物理番号と論理番号が変化する様子を説明するためのものである。
なお、図2は、ベクトルレジスタVRが、1ワード×512エントリの場合を示す。ここで、VL長,レジスタファイルの物理番号および論理番号は、次の関係を有している。
(物理VR番号)=(論理VR番号)*(VL以上の最初の2のべき乗数)
具体的に、VL=64の時、論理番号0はベクトルレジスタファイルの物理番号0〜63に対応し、論理番号1はベクトルレジスタファイルの物理番号64〜127に対応し、そして、論理番号2はベクトルレジスタファイルの物理番号128〜191に対応する。
また、VL=32の時、論理番号0はベクトルレジスタファイルの物理番号0〜31に対応し、論理番号1はベクトルレジスタファイルの物理番号32〜63に対応し、そして、論理番号2はベクトルレジスタファイルの物理番号64〜95に対応する。
すなわち、図1のプロセッサにおいて、ベクトルレジスタファイルの物理番号,VL=64の時の論理番号,および,VL=32の時の論理番号は、図2のような関係になっている。
図3は、図1の情報処理装置における演算器の動作を説明するための図であり、1サイクル1命令発行で、各ベクトル実行パイプラインp0〜p3がVL/8サイクルを実行し、1サイクルで8データ演算するSIMD構成(並列動作の演算器が8個)を想定している。なお、各段は、それぞれベクトル実行パイプラインp0〜p3の処理を表している。
まず、1サイクル1命令発行の構成では、通常、レジスタ干渉していても、フォワーディングが可能なため、命令の連続発行が可能である。すなわち、もし、レジスタ干渉していたら、レジスタファイルに書き込まれていないタイミングでフォワーディングすればよい。従って、フォワーディングのためだけにレジスタ干渉を検出することになる。
なお、フォワーディングとは、レジスタファイルにまだ書き戻されていないが、既に生成されている演算結果を次に発行する命令のソースとして使用するように制御する手法である。
図3の例では、全てVL=64であり、各ベクトル実行パイプラインp0〜p3が1サイクルで8データ演算するSIMD構成となっているので、それぞれ8サイクルで命令を実行している。
従って、1サイクル毎に各命令の先頭領域PP1〜PP4が順に配置(発行)される。ここで、例えば、領域PP1では、物理番号192(=3×64)から199のデータが生成される。また、例えば、領域PP2では、物理番号192から199が参照されても、ストールせずに命令発行が可能であることが分かる。
図4は、setVL命令によりVL値が途中で変化する場合を説明するための図である。図4に示されるように、VL値を途中でVL=32からVL=64に変化させるsetVL命令(setVL#64)は、先行するベクトル命令vadd,vmul(VL=32)が全て完了するまで発行されない。
図4の例では、VL=32の(先行)命令vaddおよびvmulは、1サイクル毎に領域PP5およびPP6として順に発行される。
これに対して、VL=32からVL=64に変化させるsetVL命令(setVL#64)は、VL=32の先行するベクトル命令vaddおよびvmulが全て完了した後のサイクル6で領域PP7として発行される。さらに、VL=64の後続命令vmulは、次のサイクル(サイクル7)で領域PP8として発行される。
従って、図4における第3〜第5サイクルにバブルが発生し、プロセッサの処理速度の低下、或いは、プログラムの実行速度の低下を招くことになる。
図5は、setVL命令がストールする原因を説明するための図であり、ベクトルレジスタVRが、1ワード×512エントリの場合を示している。まず、VL長が変化すると、最適な発行制御をするためには、複雑な依存関係の検出が必要になる。
具体的に、図5の例では、VL=64の先行命令のデスティネーション(dst)のvr1(論理番号1:物理番号64〜127)が、VL=32となった後の後続命令のソース(src)のvr3(論理番号3:物理番号96〜127)に干渉するのが分かる。
すなわち、VL長が変化すると、単に、ベクトルレジスタファイルの先頭の物理番号の干渉検出だけでなく、VL値の変化や命令間の距離を加味した複雑な干渉検出が必要になる。そこで、制御を容易にするために、一律にレジスタ干渉があると想定し、先行命令が完了するまで後続命令(setVL命令)をブロックするのが一般的である。
このように、ベクトル長を変化させる命令(setVL命令)を発行する場合、通常は先行する全てのベクトル命令の実行が完了するのを待って発行するため、プロセッサの処理速度,或いは,プログラムの実行速度が低下することになっている。
以下、情報処理装置の実施例を、添付図面を参照して詳述する。図6は、本実施例の情報処理装置(プロセッサ,ベクトルユニット)を概略的に示すブロック図である。図6において、参照符号1は命令バッファ、20はスケジューラ、30はレジスタファイル群、psはスカラ実行パイプライン、そして、p0〜p3はベクトル実行パイプラインを示す。
なお、図6におけるIF,IDおよびEXは、プロセッサの内部処理部を示し、IFは、命令を命令バッファ1から読み出す命令フェッチ部を示す。また、IDは、例えば、スケジューラ2により制御信号を生成し、レジスタファイルをレジスタ指定子で参照する命令デコード部を示す。
さらに、EXは、例えば、スカラ実行パイプラインps、並びに、ベクトル実行パイプラインp0〜p3により、数値の計算やロード/ストアのデータ或いはアドレスの分岐先の計算を行う実行部を示す。
図6に示すプロセッサは、図1のプロセッサと同様に、4本のベクトル実行パイプラインp0〜p3、および、1本のスカラ実行パイプラインpsを有する。ここで、setVL命令は、ベクトルユニットにおいてベクトル長を変化させる命令である。
なお、命令は、1サイクルで1命令を発行し、また、各ベクトル実行パイプラインp0〜p3は、それぞれ8個の演算器を有するものを想定している。もちろん、プロセッサは、このような構成に限定されないのはいうまでもない。
図6に示されるように、レジスタファイル群30のベクトル長レジスタ(VLレジスタ)の値は、setVL命令によりその値が変化してしまうため、例えば、命令発行時にその時点のVL値を各ベクトル実行パイプラインp0〜p3に分配するようになっている。
なお、前述した図1,図4および図5を参照して説明したsetVL命令の発行により常にストールするプロセッサでは、VLレジスタ31の値を各ベクトル実行パイプラインp0〜p3に分配する必要はない。
図7は、図6の情報処理装置の要部を説明するためのブロック図である。図7に示されるように、レジスタファイル群30は、VLレジスタ31およびベクトルレジスタ(VR)32を有し、また、スケジューラ20は、比較器21および発行可否判定回路21を有する。
比較器21は、例えば、命令バッファ1からのsetVL#i命令によるVL’値(i)とVLレジスタ31からのVL値を比較し、その比較結果を発行可否判定回路21に供給する。
発行可否判定回路21は、比較器21からの比較結果により、VL値が小から大に変化するか等しい場合、すなわち、VL≦VL’に変化する場合を検出し、この場合には、ストールすることなくそのsetVL命令を発行するようになっている。
これにより、ベクトルレジスタファイルがVL長により物理番号と論理番号が変化するプロセッサにおいて、setVL命令が発行されても複雑なレジスタ干渉の検出を行わずに、後続命令の発行可能なケースを検出し、ストールせずに発行すること可能になる。
例えば、レジスタ干渉の検出はVL値が変化しない通常の場合と同様に先頭レジスタ番号のみとし、レジスタが干渉していたら通常の場合と同様の発行制御を行い、干渉していない場合は一律に先頭以外のレジスタが干渉しているとみなし、レジスタファイルに書き戻されるのが保障されるタイミングを待って発行する。VL長、パイプライン段数、実行パイプラインの演算器個数に依存するが、多くの場合に連続して発行が可能である。
なお、発行可否判定回路21は、比較器21からの比較結果により、VL値が大から小に変化する場合、すなわち、VL>VL’に変化する場合には、例えば、従前と同様に、後続命令の発行を停止する処理(ストール処理)等を行うことになる。
図8は、本実施例の情報処理装置におけるVLの変化による命令発行タイミングを説明するための図である。
ここで、図8(a)はsetVL命令以外の命令が発行された場合を示し、また、図8(b)はVL値が大から小に変化するsetVL命令が発行された場合を示し、そして、図8(c)はVL値が小から大に変化するsetVL命令が発行された場合を示す。
まず、図8(a)のように、ベクトル長を指定するVLを変化させるsetVL命令以外の命令発行の場合、レジスタ干渉(vr1:論理番号1)がある時でも、次サイクルで連続発行が可能である(図8(a)中の領域PP11→領域PP12を参照)。
従って、setVL命令以外の命令発行の場合、レジスタ干渉の検出は、先頭番号のみでよく、また、この例ではレイテンシが1なのでフォワーディングのためだけに使用されることになる。
次に、図8(b)のように、setVL命令の発行であって、そのsetVL命令によるVL値の変化が大から小の場合(例えば、VL=64からVL=32に変化する場合)、前述した図4および図5と同様に、命令発行可能なタイミングの検出が複雑になる。
すなわち、図8(b)の例では、パイプラインp1による処理のベクトルレジスタファイルの先頭論理番号1,0,7(vr1,vr0,vr7)と、パイプラインp3による処理の先頭論理番号4,3,2(vr4,vr3,vr2)は干渉していない。
しかしながら、例えば、パイプラインp1による領域PP21は、パイプラインp3による処理の領域PP22と干渉することになる。
すなわち、setVL命令によるVL値の変化が大から小の場合、先頭の論理番号のみの照合では不十分であり、例えば、先行命令の全ての物理番号との干渉検出が必要になる。
そのため、命令発行がsetVL命令でVL値の変化が大から小の場合、例えば、サイクル9が終了するタイミングL1まで命令発行をブロックし、setVL命令を含む後続命令は、サイクル10以降に発行されるようになっている。
すなわち、命令setVL32は、サイクル3の領域PP24で発行できず、最適にはサイクル7で発行可能であるが、サイクル10の領域PP25で発行され、また、命令vaddは、サイクル4の領域PP22から発行できず、最適にはサイクル8で発行可能であるが、サイクル11の領域PP23から発行されることになる。
そして、図8(c)のように、setVL命令の発行であって、そのsetVL命令によるVL値の変化が小から大の場合(例えば、VL=32からVL=64に変化する場合)、並びに、変化しない場合には、setVL命令以外の命令と同様に処理する。
すなわち、図8(c)に示されるように、VL=32からVL=64に変化する場合、例えば、パイプラインp1の処理による領域PP31がパイプラインp3の処理による領域PP32に干渉する(レジスタ干渉がある)時でも、次サイクルで連続発行が可能である。
従って、setVL命令によってVL値の変化が小から大の場合(VL値が変化しない場合も含む)には、後続命令の発行可/不可の判定に依存関係の検出が不要であり、setVL命令以外の命令が発行される場合と同様に命令発行を行う。
このように、本実施例のプロセッサは、VL値が小から大に変化するsetVL命令が発行される場合を検出し、その場合には、ストールしないように制御することで、プロセッサの性能(プログラムの実行速度)の低下を軽減することができる。すなわち、プロセッサの処理速度,或いは,プログラムの実行速度を向上させることができる。
図9は、本実施例の情報処理装置の動作を説明するための図であり、命令発行処理を説明するための図である。
図9に示されるように、命令発行処理が開始すると、まず、オペレーションOPAにおいて、発行命令がsetVL命令かどうかを判別する。オペレーションOPAにおいて、発行命令がsetVL命令ではないと判別されるとオペレーションOPBに進み、また、setVL命令であると判別されるとオペレーションOPCに進む。
オペレーションOPBにおいて、発行可否判定回路22は、その命令の発行可/不可を判定して処理を終了する。これは、前述した図8(a)の処理に対応する。
オペレーションOPCにおいて、比較器21により現在のVL値とsetVL命令により更新されるVL’値との大小を比較してオペレーションOPDに進む。
オペレーションOPDにおいて、VLとVL’の大小比較により、VL値が大から小に変化する(VL>VL’)と判別されるとオペレーションOPEに進み、VL値が小から大に変化するか等しい(VL≦VL’)と判別されるとオペレーションOPFに進む。
まず、オペレーションOPEにおいて、発行可否判定回路22は、先行命令が全て実行完了するまで、そのsetVL命令をストールすると判定して処理を終了する。これは、前述した図8(b)の処理に対応する。
また、オペレーションOPFにおいて、発行可否判定回路22は、先行命令の実行完了を待たずに、そのsetVL命令を発行可と判定して処理を終了する。すなわち、発行命令がsetVL命令以外の命令の場合と同様の処理を行う。これは、前述した図8(c)の処理に対応する。なお、上記の各オペレーションは、ステップであってもよい。
図10は、VL値が小から大に変化する場合の具体例を説明するための図であり、図10(a)は、一般的な情報処理装置による処理の具体例を示し、また、図10(b)は、本実施例の情報処理装置による処理の具体例を示す。
まず、図10(a)および図10(b)に示す具体例は、1サイクルで1命令を発行し、演算器構成が8−SIMD(8データ/サイクル処理)で、ベクトル命令によるパイプラインの占有サイクル数がVL/8となっている。
さらに、ベクトルレジスタ(VR)が1ワード×512エントリで、(物理VR番号)=(論理VR番号)*(VL以上の最初の2のべき乗数)の関係を有している。そして、一般的なおよび本実施例のプロセッサが、以下のプログラム列を実行する例を示している。
1:setVL 32 //VL = 32
2:vadd vr3, vr0, vr7 //vr3 = vr0 + vr7
3:setVL 64 //VL = 64
4:vadd vr4, vr1, vr2 //vr4 = vr1 + vr2
なお、4番目のvaddのvr1が、2番目のvaddのvr3にレジスタ干渉している場合を想定する。
まず、図10(a)に示されるように、一般的なプロセッサでは、例えば、サイクル1でsetVL命令によりVL値が32に更新され、また、サイクル2でvadd命令が発行され、そして、VL=32なので、4サイクルかけてその命令vaddが実行される。
次に、サイクル3〜5では、setVL命令なので、先行の命令1(setVL)および2(Vadd)が完了するサイクル5まで発行を停止し、そして、サイクル6でsetVL命令が発行される。
さらに、サイクル7でvadd命令が発行され、VL=64なので、8サイクルかけてその命令vaddが実行される。そして、サイクル14で、処理が完了する。このように、一般的なプロセッサでは、サイクル3〜5にバブルが発生することになる。
一方、図10(b)に示されるように、本実施例のプロセッサでは、例えば、サイクル1でsetVL命令によりVLが32に更新され、また、サイクル2でvadd命令が発行され、そして、VL=32なので、4サイクルかけてその命令vaddが実行される。
次に、サイクル3において、setVL命令であるが更新するVL値は32から64へと小から大に変化するので、setVL命令を発行し、VLを64に更新する。
さらに、サイクル4でvadd命令が発行され、VL=64なので、8サイクルかけてその命令vaddが実行される。そして、サイクル11で、処理が完了する。
このように、本実施例の情報処理装置によれば、setVL命令が発行されても、VL値が変化する際に、完全にレジスタ干渉を検出する場合に比べて、命令をストールさせないケースを増やすことで、処理速度の向上を図ることができる。
すなわち、本実施例の情報処理装置によれば、例えば、ループにおいてsetVL命令が使われているようなプログラムを実行する場合でも、命令をストールさせないケースを増やすことで、プログラムの実行速度を向上させることができる。
なお、本実施例の情報処理装置は、ベクトルレジスタファイルがベクトル長により物理番号と論理番号が変化するものであれば、様々な構成を有する情報処理装置に対して幅広く適用することができる。
1 命令バッファ
2,20 スケジューラ
3,30 レジスタファイル群
21 比較器
22 発行可否判定回路
31 ベクトル長レジスタ(VLレジスタ)
32 ベクトルレジスタ(VR)
p0〜p3 ベクトル実行パイプライン
ps スカラ実行パイプライン

Claims (4)

  1. ベクトルレジスタファイルがベクトル長により物理番号と論理番号が変化する情報処理装置であって、
    ベクトル長を指定するベクトル長レジスタと、
    前記ベクトル長レジスタによるベクトル長の第1値と、ベクトル長を変化させる命令によるベクトル長の第2値を比較する比較器と、
    前記比較器からの比較結果に従って、実行中の先行命令に続く後続命令の発行可否を判定する発行可否判定回路と、を有し、
    前記比較結果が、前記第2値が前記第1値よりも大きいか,或いは,等しいとき、前記発行可否判定回路は、前記先行命令の実行完了を待つことなく前記後続命令を発行し、
    前記比較結果が、前記第2値が前記第1値よりも小さいとき、前記発行可否判定回路は、前記先行命令の実行完了を待って前記後続命令を発行し、
    前記ベクトルレジスタファイルを、前記ベクトルレジスタファイルの論理番号で指定し、
    前記ベクトルレジスタファイルの論理番号と、前記ベクトル長以上の最初の2のべき乗数の積により、前記ベクトルレジスタファイルの物理番号を規定する、
    ことを特徴とする情報処理装置。
  2. 前記命令は、SIMD命令である、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、複数のベクトル実行パイプラインを有し、
    前記ベクトル長レジスタは、ベクトル命令が発行される際、該ベクトル長レジスタによるベクトル長の前記第1値を前記各ベクトル実行パイプラインに分配する、
    ことを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記各ベクトル実行パイプラインは、ベクトル長が前記第1値から前記第2値に変化しても、実行中の前記先行命令に対して前記ベクトル長レジスタから分配された前記第1値を用いてマルチサイクル動作を行う、
    ことを特徴とする請求項に記載の情報処理装置。
JP2010095032A 2010-04-16 2010-04-16 情報処理装置 Expired - Fee Related JP5720111B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010095032A JP5720111B2 (ja) 2010-04-16 2010-04-16 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010095032A JP5720111B2 (ja) 2010-04-16 2010-04-16 情報処理装置

Publications (2)

Publication Number Publication Date
JP2011227610A JP2011227610A (ja) 2011-11-10
JP5720111B2 true JP5720111B2 (ja) 2015-05-20

Family

ID=45042901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010095032A Expired - Fee Related JP5720111B2 (ja) 2010-04-16 2010-04-16 情報処理装置

Country Status (1)

Country Link
JP (1) JP5720111B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2540944B (en) 2015-07-31 2018-02-21 Advanced Risc Mach Ltd Vector operand bitsize control

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS592180A (ja) * 1982-06-29 1984-01-07 Fujitsu Ltd ベクトルデ−タ処理装置におけるベクトル長変更制御方式
JPS63225865A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd ベクトル命令発信制御方式
JPH03127171A (ja) * 1989-10-12 1991-05-30 Koufu Nippon Denki Kk ベクトル処理装置
JP3279616B2 (ja) * 1992-01-31 2002-04-30 富士通株式会社 データ処理装置
JP3341847B2 (ja) * 1992-01-31 2002-11-05 富士通株式会社 データ処理装置
JP2006268168A (ja) * 2005-03-22 2006-10-05 Nec Computertechno Ltd ベクトル命令管理回路、ベクトル処理装置、ベクトル命令管理方法、ベクトル処理方法、ベクトル命令管理プログラム、および、ベクトル処理プログラム

Also Published As

Publication number Publication date
JP2011227610A (ja) 2011-11-10

Similar Documents

Publication Publication Date Title
JP5889986B2 (ja) 実行された命令の結果を選択的にコミットするためのシステムおよび方法
US20090132796A1 (en) Polling using reservation mechanism
GB2553783A (en) Vector multiply-add instruction
JP2000330790A (ja) コンピュータシステム動作方法、コンピュータシステムにおける命令スケジューリング方法およびコンピュータシステム
EP3834083B1 (en) Commit logic and precise exceptions in explicit dataflow graph execution architectures
TWI764966B (zh) 用於控制矢量記憶體存取之資料處理裝置及方法
US20070016760A1 (en) Central processing unit architecture with enhanced branch prediction
TW201514850A (zh) 用於控制推測向量運算效能的資料處理設備及方法
US7028167B2 (en) Core parallel execution with different optimization characteristics to decrease dynamic execution path
JPH04153734A (ja) 並列処理装置
JP2007102333A (ja) データ処理装置およびデータ処理方法
JP5720111B2 (ja) 情報処理装置
US20210042123A1 (en) Reducing Operations of Sum-Of-Multiply-Accumulate (SOMAC) Instructions
US8055883B2 (en) Pipe scheduling for pipelines based on destination register number
TWI770079B (zh) 向量產生指令
US8966230B2 (en) Dynamic selection of execution stage
CN112579168B (zh) 指令执行单元、处理器以及信号处理方法
JP5644571B2 (ja) プロセッサ
JP5598114B2 (ja) 演算ユニット
JP2019510313A (ja) ベクトル命令の処理
JP6340887B2 (ja) 演算処理装置及び演算処理装置の制御方法
US20100185834A1 (en) Data Storing Method and Processor Using the Same
JP2015184979A (ja) 演算装置および命令フェッチ方法
KR20140113609A (ko) 오버로드 체크를 수행하기 위한 명령어
JP4502983B2 (ja) ベクトル制御回路、ベクトル処理装置、ベクトル制御方法、および、ベクトル制御プログラム。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140422

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150127

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150309

R150 Certificate of patent or registration of utility model

Ref document number: 5720111

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees