(57)【特許請求の範囲】
【請求項１】
複数のベクトルレジスタを含むベクトルレジスタファイルと、アライメント制御部と、ベクトル演算部と、を備える演算処理装置であって、
演算対象となる１つのベクトルが第１要素群と第２要素群の２つの要素群に分かれて、前記第１要素群が第１ベクトルレジスタに一方に寄せてロードされており、前記第２要素群が第２ベクトルレジスタに前記第１要素群と異なる他方に寄せてロードされている場合に、
前記アライメント制御部は、
第１サイクルにおいて、前記第１ベクトルレジスタの内容を一時レジスタに転送し、
前記第１サイクルの次のサイクルである第２サイクルにおいて、前記第２ベクトルレジスタを読み出し、前記一時レジスタの内容と結合してシフトすることによりアライメントされたアライメント要素群を生成し、
前記ベクトル演算部は、
前記第２サイクルにおいて、前記アライメント要素群と、第３ベクトルレジスタから読み出した第３要素群の対応する各要素を並列に演算してライトバックする、
ことを特徴とする演算処理装置。
【請求項２】
前記第１サイクルと前記第２サイクルにおける、ベクトルのアライメントと演算をパイプライン処理にて連続的に行う場合に、
前記第１サイクルの当初のサイクルでは、前記複数の演算器の出力をライトバックしないようにフラグが制御され、
前記当初のサイクルより後のサイクルでは、前記複数の演算器の出力をライトバックするようにフラグが制御される、
ことを特徴とする請求項１に記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願で言及する実施例は、演算処理装置に関する。
【背景技術】
【０００２】
従来、演算処理装置として、ベクトルのような連続するデータに対して、同じ操作をまとめて一度に行うことで、比較的簡単な制御系で高いスループットを達成するベクトルプロセッサが利用されている。
【０００３】
このようなベクトルプロセッサは、気象予測や流体解析といった科学技術計算に適用されているが、近年、携帯端末のソフトウェア無線（ＳＤＲ：Software Defined Radio）への適用も考えられている。
【０００４】
ところで、従来、ベクトルプロセッサ（演算処理装置）としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７１９７６２５号明細書
【特許文献２】米国特許第５８９３１４５号明細書
【特許文献３】米国特許第７２１９２１２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、ベクトルプロセッサとしては、様々なものが提案されているが、例えば、２つのベクトルを並列的に加算（演算）するとき、それぞれのベクトルの足し合わせたい要素のインデックスがずれている場合がある。
【０００７】
このように、ベクトルの足し合わせたい要素のインデックスがずれていると、その演算を行うために実行する命令の数が増加し、或いは、レジスタファイルへのアクセス数が増加して、処理時間が長くなるといった課題がある。
【課題を解決するための手段】
【０００８】
一実施形態によれば、複数のベクトルレジスタを含むベクトルレジスタファイルと、アライメント制御部と、ベクトル演算部と、を備える演算処理装置が提供される。
【０００９】
前記アライメント制御部は、第１サイクルにおいて、前記第１ベクトルレジスタの内容を一時レジスタに転送し、前記第１サイクルの次のサイクルである第２サイクルにおいて、前記第２ベクトルレジスタを読み出し、前記一時レジスタの内容と結合してシフトすることによりアライメントされたアライメント要素群を生成する。
【００１０】
前記ベクトル演算部は、前記第２サイクルにおいて、前記アライメント要素群と、第３ベクトルレジスタから読み出した第３要素群の対応する各要素を並列に演算してライトバックする。
【発明の効果】
【００１１】
開示の演算処理装置は、レジスタファイルのアクセス回数を低減することで処理時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】演算処理装置の一例を示すブロック図である。
【図２】演算処理の一例を示す図である。
【図３】演算処理の他の例を示す図である。
【図４】図３に示す演算処理を実現する動作の一例を説明するための図である。
【図５】図４に示す演算処理を実行する演算処理装置の一例を示すブロック図である。
【図６】図３に示す演算処理を実現する動作の他の例を説明するための図である。
【図７】図６に示す演算処理を実行する演算処理装置の一例を示すブロック図である。
【図８】図６および図７に示す演算処理装置における課題を説明するための図（その１）である。
【図９】図６および図７に示す演算処理装置における課題を説明するための図（その２）である。
【図１０】本実施例の演算処理装置を示すブロック図である。
【図１１】図１０に示す演算処理装置の要部を示すブロック図である。
【図１２】図１０および図１１に示す演算処理装置の動作を説明するための図である。
【図１３】図１０および図１１に示す演算処理装置の動作を説明するためのタイミング図である。
【発明を実施するための形態】
【００１３】
まず、演算処理装置の実施例を詳述する前に、演算処理装置およびその問題点を図１〜図９を参照して説明する。
【００１４】
図１は、演算処理装置の一例を示すブロック図である。図１において、参照符号１は命令メモリ、２０は演算処理装置（ベクトルプロセッサ）、３はデータメモリ、２１はデコードロジック部（デコーダ）、２２はスカラレジスタ、２３はベクトルレジスタ、そして、２４はスカラ演算部を示す。
【００１５】
また、参照符号２５はベクトル演算部、２６はスカラロードストア部、そして、２７はベクトルロードストアユニットを示す。ここで、演算処理装置２０には、例えば、デコードロジック部２１，ベクトルレジスタ２３、ベクトル演算部２５、ベクトルロードストアユニット２７およびデータメモリ３を通る４つの並列なデータパスが形成されている。
【００１６】
なお、本明細書では、演算処理装置としてベクトルプロセッサを例として説明するが、この演算処理装置には、例えば、ＳＩＭＤ（Single Instruction Multiple Data）プロセッサも含まれる。
【００１７】
この４つの並列なデータパスにより、ベクトルプロセッサは、ベクトルのような連続するデータに対して、同じ操作をまとめて一度に行うことで、比較的簡単な制御系で高いスループットを達成するようになっている。
【００１８】
図２は、演算処理の一例を示す図であり、また、図３は、演算処理の他の例を示す図であり、上述した４つの並列なデータパスのベクトル演算部２５における処理を示すものである。ここで、参照符号ａ０〜ａ３およびｂ０〜ｂ３は、それぞれベクトルの１つ１つの要素を示す。
【００１９】
図２は、ベクトル演算部２５における４つの演算器（加算器）５０〜５３により、それぞれ２つの要素（ベクトル）ａ０〜ａ３とｂ０〜ｂ３を演算（加算）する処理を示す。また、図３は、演算器５０〜５３により、それぞれ２つの要素ａ０〜ａ３とｂ２〜ｂ５を加算する処理を示す。
【００２０】
このように、例えば、２つのベクトルを加算する場合、各演算器５０〜５３は、独立して演算処理を行い、図２の例では、ａ０＋ｂ０〜ａ３＋ｂ３の演算結果が得られ、図３の例では、ａ０＋ｂ２〜ａ３＋ｂ５の演算結果が得られる。
【００２１】
ここで、図２の例において、ベクトルの加算を行う２つの要素ａ０〜ａ３およびｂ０〜ｂ３は、ベクトル中の対応する位置にあるためそのまま加算することができる。しかしながら、図３の例において、ベクトルの加算を行う２つの要素ａ０〜ａ３およびｂ２〜ｂ５は、ベクトル中の対応する位置にないため、そのまま加算することはできない。
【００２２】
すなわち、図３の例では、要素ａ０〜ａ３に対して、足し合わせたい要素ｂ２〜ｂ５のインデックスが２つずつずれている場合であり、ａ０＋ｂ２〜ａ３＋ｂ５という結果を得るためには、さらなる処理を行わなければならない。
【００２３】
図３では、予め一方のベクトル（ｂｎ）を２要素分シフトし、図２のｂ０〜ｂ３の位置にｂ２〜ｂ５が来るように、ベクトルをシフトする操作（アラインメント）が行われている。すなわち、図３の例では、ベクトルｂｎを２要素分シフトして加算を行うことにより、所望のａ０＋ｂ２〜ａ３＋ｂ５という結果を得ている。
【００２４】
図４は、図３に示す演算処理を実行する演算処理装置の動作の一例を説明するための図であり、また、図５は、図４に示す演算処理を実行する動作の一例を示すブロック図である。ここで、図４および図５に示す演算処理装置では、２つの命令を実行するようになっている。
【００２５】
まず、図４（ａ）に示されるように、１番目の命令ＩＳＴ１としてシフト命令を与え、このシフト命令ＩＳＴ１によりシフタ５４を用いて、ベクトルｂｎを２要素分シフトするアライメント処理を行う。
【００２６】
すなわち、図５に示されるように、ベクトルレジスタ２３から読み出したｂ２〜ｂ５をパイプラインレジスタ５５２〜５５５を介してシフタ５４に供給し、２要素分シフトしてセレクタ５６０〜５６３に供給する。
【００２７】
そして、セレクタ５６０〜５６３からパイプラインレジスタ５７０〜５７３を介してベクトルレジスタ２３に書き戻す（ライトバックする）。このように、１番目の命令ＩＳＴ１では、専用のアラインメント命令によりアラインメントだけが行われる。
【００２８】
次に、図４（ｂ）に示されるように、２番目の命令として演算（加算）命令ＩＳＴ２を与え、この加算命令ＩＳＴ２により演算器５０〜５３を用いて、それぞれａ０〜ａ３とｂ２〜ｂ５の加算を行い、演算結果ａ０＋ｂ２〜ａ３＋ｂ５を得る。
【００２９】
すなわち、図５に示されるように、ベクトルレジスタ２３からパイプラインレジスタ５５０〜５５３を介して読み出したａ０〜ａ３と、パイプラインレジスタ５５４〜５５７を介して読み出したｂ２〜ａ５を演算器５０〜５３に供給して加算を実行する。
【００３０】
そして、演算器５０〜５３の出力は、セレクタ５６０〜５６３からパイプラインレジスタ５７０〜５７３を介してレジスタにライトバックされる。このように、２番目の命令ＩＳＴ２では、本来の加算命令により加算を実行する。
【００３１】
すなわち、図４および図５に示す演算処理装置では、演算ステージにはアラインメントを行うシフタ５４および演算器５０〜５３が並列に並べられる。そして、ベクトルレジスタ２３から読み出したデータは、選択的に、専用のアラインメント命令（ＩＳＴ１）を実行する際はシフタ５４に投入され、また、加算命令（ＩＳＴ２）を実行する際は演算器５０〜５３に投入されることになる。
【００３２】
このように、図４および図５の演算処理装置は、２つの命令を使用するため、単純に増えた余計な命令（アラインメント命令）の分だけ演算が遅れることになる。
【００３３】
図６は、図３に示す演算処理を実行する演算処理装置の動作の他の例を説明するための図であり、また、図７は、図６に示す演算処理を実行する動作の一例を示すブロック図である。
【００３４】
図６および図７に示す演算処理装置では、１つの命令によりベクトルのアラインメントと加算の両方が実行されるが、加算命令の動作の一部にベクトルのアラインメントが含まれている。
【００３５】
図７に示されるように、演算ステージにおいて、シフタ５４’と演算器５０〜５３は並列ではなく直列に接続されており、どちらか一方の動作を選択するようにはなっていない。
【００３６】
この図６および図７に示す演算処理装置では、図４および図５の演算処理装置のように専用のアラインメント命令を実行しなくてもよいが、やはり実行すべき命令の数が増えることになってしまう。すなわち、ベクトルがずれていると、本来１つのレジスタに収まる大きさのベクトルが、２つのレジスタに跨がることになる。
【００３７】
図８および図９は、図６および図７に示す演算処理装置における課題を説明するための図である。図８に示されるように、例えば、要素ａ０〜ａ３に加算される要素ｂ２〜ａ５は、レジスタＲ０のｂ２およびｂ３、並びに、レジスタＲ１のｂ４およびｂ５の２つのレジスタに跨がっている。
【００３８】
すなわち、演算に用いる要素ｂ２〜ｂ５は、レジスタＲ０およびＲ１の２つのレジスタに跨がって格納されているため、要素ｂ２〜ｂ５のアラインメントを行うには、２つのレジスタＲ０およびＲ１を読み出さなければならない。
【００３９】
同様に、例えば、要素ａ４〜ａ７に加算される要素ｂ６〜ａ９は、レジスタＲ１のｂ６およびｂ７、並びに、レジスタＲ２のｂ８およびｂ９の２つのレジスタに跨がっている。
【００４０】
すなわち、演算に用いる要素ｂ６〜ｂ９は、レジスタＲ１およびＲ２の２つのレジスタに跨がって格納されているため、要素ｂ６〜ｂ９のアラインメントを行うには、２つのレジスタＲ１およびＲ２を読み出さなければならない。
【００４１】
ここで、同時に読み出せるレジスタの数には制限があり、一度に２つのレジスタを読み出すことはできない。従って、レジスタＲ０およびＲ１に格納されている要素（ベクトル）の断片、並びに、レジスタＲ１およびＲ２に格納されている要素の断片はそれぞれ別の命令により読み出される。
【００４２】
具体的に、１回目のａ０＋ｂ２〜ａ３＋ｂ５を得るには、レジスタＲ０に格納されているｂ２およびｂ３と、レジスタＲ１に格納されているｂ２およびｂ３を別に読み出すために２回演算を行うことになる。
【００４３】
同様に、２回目のａ４＋ｂ６〜ａ７＋ｂ９を得るには、レジスタＲ１に格納されているｂ６およびｂ７と、レジスタＲ２に格納されているｂ８およびｂ９を別に読み出すために２回演算を行うことになる。
【００４４】
このように、図６および図７に示す演算処理装置では、実行すべき命令の数が増えるため、処理時間が長くなってしまう。また、例えば、ＳＩＭＤプロセッサのデータパス数よりも大きなベクトルを扱う場合、そのベクトルを分割した分、何度もアラインメントを行うことになるため、大きなベクトルに対してアラインメントを行う場合のオーバヘッドは特に大きくなる。
【００４５】
以下、演算処理装置の実施例を、添付図面を参照して詳述する。図１０は、本実施例の演算処理装置を示すブロック図であり、また、図１１は、図１０に示す演算処理装置の要部を示すブロック図である。なお、本実施例の演算処理装置には、例えば、ＳＩＭＤプロセッサも含まれる。
【００４６】
図１０において、参照符号１は命令メモリ、２は演算処理装置（ベクトルプロセッサ）、３はデータメモリ、４はアライメント制御部、２１はデコードロジック部（デコーダ）、２２はスカラレジスタ、そして、２３はベクトルレジスタを示す。
【００４７】
また、参照符号２４はスカラ演算部、２５はベクトル演算部、２６はスカラロードストア部、そして、２７はベクトルロードストアユニットを示す。
【００４８】
ここで、演算処理装置２には、例えば、デコードロジック部２１、ベクトルレジスタ２３、アライメント制御部４、ベクトル演算部２５、ベクトルロードストアユニット２７およびデータメモリ３を通る４つの並列なデータパスが形成されている。
【００４９】
また、スカラレジスタ２２は、例えば、デコードロジック部２１でデコードされたアドレス等のデータが格納される。なお、セレクタ４２に供給されるシフト信号ＳＳは、スカラレジスタ２２から出力される。
【００５０】
図１１は、図１０におけるベクトルレジスタ２３、アライメント制御部４、および、ベクトル演算部２５（演算器５０〜５３）を示し、後述する図１２および図１３における２サイクル目の処理を行っている状態を示す。
【００５１】
図１１に示されるように、アライメント制御部４は、フリップフロップ４１０〜４１３を有する一時レジスタ４１、および、セレクタ（シフタ）４２を含む。一時レジスタ４１は、前のサイクルで読み込んだ要素を一時的に保持し、次のサイクルでセレクタ４２に供給する。
【００５２】
ここで、セレクタ４２には、シフト量を示すシフト信号ＳＳが供給され、そのシフト信号ＳＳにより指定された要素分（ビット数）だけ入力値がシフトされるようになっている。なお、このセレクタ４２は、例えば、マルチプレクサの組み合わせによって実現することができる。
【００５３】
また、ベクトルレジスタ２３は、そのサイクルが演算の１サイクル目であるかどうかを示すフラグＦＳを出力し、例えば、このフラグＦＳが高レベル『１』のときに、演算器５０〜５３の出力をベクトルレジスタ２３にライトバックしないように制御する。
【００５４】
図１２は、図１０および図１１に示す演算処理装置の動作を説明するための図であり、また、図１３は、図１０および図１１に示す演算処理装置の動作を説明するためのタイミング図である。
【００５５】
図１２および図１３に示されるように、クロックＣＬＫの１サイクル目（１回目の演算処理）において、ベクトルレジスタ２３のソース１からは、要素ｂ０〜ｂ３が読み出され、セレクタ４２および一時レジスタ４１に供給される。
【００５６】
これにより、一時レジスタ４１におけるフリップフロップ４１０〜４１３は、１サイクル目のクロックＣＬＫにより要素ｂ０〜ｂ３を一時的に保持する。なお、図１１および図１３における参照符号ＶＳ１は、各サイクルにおいて、ベクトルレジスタ２３のソース１から読み出された要素を示す。
【００５７】
このとき、ベクトルレジスタ２３のソース０からは、要素の読み出しは行われず、また、フラグＦＳは高レベル『１』になっているので、演算器５０〜５３の出力のライトバックは行われない。
【００５８】
なお、図１１および図１３における参照符号ＶＳ０は、各サイクルにおいて、ベクトルレジスタ２３のソース０から読み出された要素を示す。また、セレクタ４２に供給されるシフト信号ＳＳは、一例として、各要素を＋２だけシフトしてアラインメントを行うための信号であり、スカラレジスタ２２から出力される。
【００５９】
次に、クロックＣＬＫの２サイクル目において、ベクトルレジスタ２３のソース１からは、要素ｂ４〜ｂ７が読み出され、セレクタ４２および一時レジスタ４１に供給される。なお、前述したように、図１１は、この２サイクル目の処理を行っている様子を示す。
【００６０】
このとき、セレクタ４２には、一時レジスタ４１からのｂ０〜ｂ３（前のサイクルで読み出された要素ＶＰ：第１要素）と、ベクトルレジスタ２３のソース１からのｂ４〜ｂ７（そのサイクルで読み出された要素ＶＳ１：第２要素）が供給されている。
【００６１】
そして、セレクタ４２は、ｂ０〜ｂ７からシフト信号ＳＳで示される＋２のシフト量だけシフトしたｂ２〜ｂ５（アライメント要素ＶＡ）を選択して出力する。
【００６２】
これにより、演算器５０〜５３には、レジスタ５５０〜５５３を介したソース０からのａ０〜ａ３（第３要素ＶＳ０）と、レジスタ５５０’〜５５３’を介したセレクタ４２からのｂ２〜ｂ５（アライメント要素ＶＡ）が入力され、それぞれ加算処理される。
【００６３】
すなわち、演算器５０〜５３は、ａ０＋ｂ２〜ａ３＋ｂ５を出力する。このとき、フラグＦＳは低レベル『０』になっているため、演算器５０〜５３による演算結果ａ０＋ｂ２〜ａ３＋ｂ５のライトバックが行われる。なお、１サイクル目で読み出された要素ｂ２，ｂ３がライトバックされるのは、要素ａ０〜ａ３，ｂ４，ｂ５が読み出される２サイクル目の読み出しステージ、並びに、ａ０＋ｂ２〜ａ３＋ｂ５の演算が行われる３サイクル目の演算ステージの後になる。
【００６４】
また、一時レジスタ４１のフリップフロップ４１０〜４１３は、２サイクル目のクロックＣＬＫにより、ソース１から読み出されたｂ４〜ｂ７を保持することになる。
【００６５】
さらに、図１２および図１３に示されるように、クロックＣＬＫの３サイクル目において、ベクトルレジスタ２３のソース１からは、要素ｂ８〜ｂ１１が読み出され、セレクタ４２および一時レジスタ４１に供給される。
【００６６】
このとき、セレクタ４２には、一時レジスタ４１からのｂ４〜ｂ７（前のサイクルで読み出された要素ＶＰ：第１要素）と、ベクトルレジスタ２３のソース１からのｂ８〜ｂ１１（そのサイクルで読み出された要素ＶＳ１：第２要素）が供給されている。
【００６７】
そして、セレクタ４２は、ｂ４〜ｂ１１からシフト信号ＳＳで示される＋２のシフト量だけシフトしたｂ６〜ｂ９（アライメント要素ＶＡ）を選択して出力する。
【００６８】
すなわち、前のサイクルで読み出した要素（第１要素ＶＰ）は、一時レジスタ４１に保存して再利用する。これにより、同じレジスタに２回アクセスする必要がなくなり、レジスタファイルのアクセス回数を低減することができる。
【００６９】
従って、２サイクル目以降の処理では、１回のアラインメントごとにアクセスするレジスタの数は１つで済むことになる。
【００７０】
そして、演算器５０〜５３には、レジスタ５５０〜５５３を介したソース０からのａ４〜ａ７（第３要素ＶＳ０）と、レジスタ５５０’〜５５３’を介したセレクタ４２からのｂ６〜ｂ９（アライメント要素ＶＡ）が入力され、それぞれ加算処理される。
【００７１】
すなわち、演算器５０〜５３は、ａ４＋ｂ６〜ａ７＋ｂ９を出力する。このとき、フラグＦＳは低レベル『０』になっているため、演算器５０〜５３による演算結果ａ４＋ｂ６〜ａ７＋ｂ９のライトバックが行われる。
【００７２】
このように、本実施例の演算処理装置によれば、１サイクル目の一時レジスタ４１に対する書き込み処理を行わなければならないが、２サイクル目以降では、１サイクルの処理により、ベクトルのアラインメントと演算（加算）の両方を行うことができる。
【００７３】
ここで、処理を行う要素（ベクトル）のビット数が多いほど、すなわち、繰り返して行う処理回数が多いほど、１サイクル目の一時レジスタ４１への書き込みに要する時間の比率が小さくなる。
【００７４】
そして、本実施例の演算処理装置によれば、アラインメントおよび加算（演算）を行う場合、図１〜図９を参照して説明した演算処理装置よりもレジスタファイルのアクセス回数を低減することで処理時間を短縮することが可能になる。
【００７５】
以上の説明において、演算器の数（パイプラインの数）やレジスタ（ベクトルレジスタおよび一時レジスタ）の容量（ビット数）、或いは、セレクタに与えるシフト量等は、単なる例であり、様々に変更することができるのはいうまでもない。
【００７６】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
ベクトルレジスタと、
前記ベクトルレジスタから任意の第１サイクルで読み出された第１要素，および，前記ベクトルレジスタから前記第１サイクルの次の第２サイクルで読み出された第２要素を結合して所定要素分だけシフトしてアライメントさせたアライメント要素を生成するアライメント制御部と、
前記アライメント要素，および，前記ベクトルレジスタから前記第２サイクルで読み出された第３要素を並列に演算する複数の演算器を有するベクトル演算部と、を有することを特徴とする演算処理装置。
【００７７】
（付記２）
前記アライメント制御部は、
前記第１サイクルで読み出された前記第１要素を一時的に保持する一時レジスタと、
該一時レジスタに保持された前記第１要素，および，前記第２サイクルで読み出された前記第２要素を受け取るセレクタと、を有することを特徴とする付記１に記載の演算処理装置。
【００７８】
（付記３）
前記セレクタは、シフト量を示すシフト信号を受け取り、前記第１要素および前記第２要素から、該シフト信号に従った要素分だけシフトしてアライメントさせた前記アライメント要素を出力することを特徴とする付記２に記載の演算処理装置。
【００７９】
（付記４）
前記シフト信号は、命令をデコードするデコードロジック部からのアドレスを格納するスカラレジスタから出力されることを特徴とする付記３に記載の演算処理装置。
【００８０】
（付記５）
前記ベクトルレジスタは、
前記第１サイクルが，前記第１要素を前記ベクトルレジスタから最初に読み出す１サイクル目のとき、前記複数の演算器の出力をライトバックしないようにフラグを制御すると共に、
前記第１サイクルが、前記第１要素を前記ベクトルレジスタから最初に読み出す１サイクル目よりも後のサイクルのとき、前記複数の演算器の出力をライトバックするようにフラグを制御することを特徴とする付記１〜４のいずれか１項に記載の演算処理装置。
【００８１】
（付記６）
前記各演算器は、前記アライメント要素および前記第３要素を並列に加算する加算器であることを特徴とする付記１〜５のいずれか１項に記載の演算処理装置。
【符号の説明】
【００８２】
１    命令メモリ
２，２０    演算処理装置（ベクトルプロセッサ）
３    データメモリ
４    アライメント制御部
２１    デコードロジック部（デコーダ）
２２    スカラレジスタ
２３    ベクトルレジスタ
２４    スカラ演算部
２５    ベクトル演算部
２６    スカラロードストア部
２７    ベクトルロードストアユニット
４１    一時レジスタ
４２    セレクタ（シフタ）
５０〜５３    演算器（加算器）
ＦＳ    フラグ
ＳＳ    シフト信号
ＶＡ    アライメント処理された要素（アライメント要素）
ＶＰ    前のサイクルで読み出された要素（第１要素）
ＶＳ０    ソース０から読み出された要素（第３要素）
ＶＳ１    ソース１から読み出された要素（そのサイクルで読み出された要素：第２要素）
【図１】
0005659772.tif 000002
【図２】
0005659772.tif 000003
【図３】
0005659772.tif 000004
【図４】
0005659772.tif 000005
【図５】
0005659772.tif 000006
【図６】
0005659772.tif 000007
【図７】
0005659772.tif 000008
【図８】
0005659772.tif 000009
【図９】
0005659772.tif 000010
【図１０】
0005659772.tif 000011
【図１１】
0005659772.tif 000012
【図１２】
0005659772.tif 000013
【図１３】
0005659772.tif 000014