(57)【要約】      （修正有）【課題】メモリアクセスを更に高速化すること。【解決手段】ベクトル処理装置に具備する追い越し制御回路１は、入力命令として第１命令を格納する第１格納部６１と、第２命令を格納する第２格納部６１と、第３命令であるベクトルロード命令を格納するベクトルロード命令格納部２２と、アドレス領域格納部５５、５６とを具備する。ベクトルロード命令に先立つ第１命令と第２命令はベクトルロード命令以外の命令である。追い越し制御回路１は、ベクトルロード命令に関連するアドレス領域とベクトルストア命令に関連するアドレス領域とが一致せず、ベクトルロード命令格納部２２にベクトルロード命令有効フラグが設定されている場合、出力命令としてベクトルロード命令と第１命令と第２命令との順に、命令実行部３に出力する。【選択図】図３
2005235135.tif 000002
【特許請求の範囲】
【請求項１】
入力命令を出力する命令発行部と、
前記入力命令に応じて出力命令を出力する追い越し制御回路と、
主記憶メモリに接続され、前記出力命令に従って前記主記憶メモリをアクセスする命令実行部とを具備し、
前記追い越し制御回路は、
前記入力命令として第１命令を格納する第１格納部と、
前記入力命令として前記第１命令の後の第２命令を格納する第２格納部と、前記第１命令と前記第２命令はベクトルロード命令以外の命令であり、
前記入力命令として前記第２命令の後の第３命令である前記ベクトルロード命令を格納するベクトルロード命令格納部と、前記ベクトルロード命令格納部はベクトルロード命令を格納したときにベクトルロード命令有効フラグを設定し、
前記第１命令と前記第２命令との少なくとも１つがベクトルストア命令である場合、前記ベクトルストア命令に関連するアドレス領域を格納するアドレス領域格納部と、
前記ベクトルロード命令格納部に格納された前記ベクトルロード命令に関連するアドレス領域と前記アドレス領域格納部に格納された前記ベクトルストア命令に関連するアドレス領域との少なくとも一部が一致するか否かを示す判定結果を出力するアドレス領域判定部と、
前記アドレス領域判定部からの判定結果が前記ベクトルロード命令に関連するアドレス領域と前記ベクトルストア命令に関連するアドレス領域とが一致しないことを示し、前記ベクトルロード命令格納部にベクトルロード命令有効フラグが設定されている場合、追い越し許可信号を出力する出力命令判定部と、
前記追い越し許可信号に応じて、前記ベクトルロード命令と前記第１命令と前記第２命令との順に、前記ベクトルロード命令と前記第１命令と前記第２命令とを前記出力命令として前記命令実行部に出力する出力選択部と
を具備するベクトル処理装置。
【請求項２】
請求項１に記載のベクトル処理装置において、
前記第１命令はベクトル収集命令であり、
前記第２命令は前記ベクトルストア命令である
ベクトル処理装置。
【請求項３】
請求項１に記載のベクトル処理装置において、
前記第１命令は前記ベクトルストア命令であり、
前記第２命令はベクトル収集命令である
ベクトル処理装置。
【請求項４】
請求項１に記載のベクトル処理装置において、
前記第１命令は前記ベクトルストア命令であり、
前記第２命令は前記ベクトルストア命令である
ベクトル処理装置。
【請求項５】
請求項１に記載のベクトル処理装置において、
前記第１命令はベクトル収集命令であり、
前記第２命令はベクトル収集命令である
ベクトル処理装置。
【請求項６】
請求項１に記載のベクトル処理装置において、
前記追い越し制御回路は、更に、
前記入力命令として前記第１命令と前記第２命令との間の第４命令を格納する第４格納部を具備し、
前記出力選択部は、前記追い越し許可信号に応じて、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令との順に、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令とを前記出力命令として前記命令実行部に出力する
ベクトル処理装置。
【請求項７】
請求項６に記載のベクトル処理装置において、
前記第１命令と前記第２命令は前記ベクトルストア命令であり、
前記第４命令はベクトル収集命令である
ベクトル処理装置。
【請求項８】
請求項６に記載のベクトル処理装置において、
前記第１命令は前記ベクトルストア命令であり、
前記第２命令と前記第４命令はベクトル収集命令である
ベクトル処理装置。
【請求項９】
請求項６に記載のベクトル処理装置において、
前記第２命令は前記ベクトルストア命令であり、
前記第１命令と前記第４命令はベクトル収集命令である
ベクトル処理装置。
【請求項１０】
請求項１に記載のベクトル処理装置において、
前記追い越し制御回路は、更に、
前記入力命令として前記第１命令と前記第２命令との間の第４命令を格納する第４格納部と、
前記入力命令として前記第２命令と前記ベクトルロード命令との間の第５命令を格納する第５格納部とを具備し、
前記出力選択部は、前記追い越し許可信号に応じて、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令と前記第５命令との順に、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令と前記第５命令とを前記出力命令として前記命令実行部に出力する
ベクトル処理装置。
【請求項１１】
請求項１０に記載のベクトル処理装置において、
前記第１命令と前記第２命令は前記ベクトルストア命令であり、
前記第４命令と前記第５命令はベクトル収集命令である
ベクトル処理装置。
【請求項１２】
請求項２、３、４、５、７〜９、１１のいずれか一項に記載のベクトル処理装置において、
前記ベクトルロード命令として、スカラ系ロード命令を含む
ベクトル処理装置。
【請求項１３】
請求項２、３、４、５、７〜９、１１のいずれか一項に記載のベクトル処理装置において、
前記ベクトルロード命令として、スカラ系ストア命令を含む
ベクトル処理装置。
【請求項１４】
入力命令を出力する命令発行部と、出力命令に従って主記憶メモリをアクセスする命令実行部とに接続され、前記入力命令に応じて前記出力命令を出力する追い越し制御回路であって、
前記入力命令として第１命令を格納する第１格納部と、
前記入力命令として前記第１命令の後の第２命令を格納する第２格納部と、前記第１命令と前記第２命令との少なくとも１つがベクトルストア命令である場合、
前記入力命令として前記第２命令の後の第３命令であるベクトルロード命令を格納するベクトルロード命令格納部と、前記ベクトルロード命令格納部はベクトルロード命令を格納したときにベクトルロード命令有効フラグを設定し、
前記第１命令と前記第２命令との少なくとも１つがベクトルストア命令である場合、前記ベクトルストア命令に関連するアドレス領域を格納するアドレス領域格納部と、
前記ベクトルロード命令格納部に格納された前記ベクトルロード命令に関連するアドレス領域と前記アドレス領域格納部に格納された前記ベクトルストア命令に関連するアドレス領域との少なくとも一部が一致するか否かを示す判定結果を出力するアドレス領域判定部と、
前記アドレス領域判定部からの判定結果が前記ベクトルロード命令に関連するアドレス領域と前記ベクトルストア命令に関連するアドレス領域とが一致しないことを示し、前記ベクトルロード命令格納部にベクトルロード命令有効フラグが設定されている場合、追い越し許可信号を出力する出力命令判定部と、
前記追い越し許可信号に応じて、前記ベクトルロード命令と前記第１命令と前記第２命令との順に、前記ベクトルロード命令と前記第１命令と前記第２命令とを前記出力命令として前記命令実行部に出力する出力選択部と
を具備する追い越し制御回路。
【請求項１５】
請求項１４に記載の追い越し制御回路において、
前記第１命令はベクトル収集命令であり、
前記第２命令は前記ベクトルストア命令である
追い越し制御回路。
【請求項１６】
請求項１４に記載の追い越し制御回路において、
前記第１命令は前記ベクトルストア命令であり、
前記第２命令はベクトル収集命令である
追い越し制御回路。
【請求項１７】
請求項１４に記載の追い越し制御回路において、
前記第１命令は前記ベクトルストア命令であり、
前記第２命令は前記ベクトルストア命令である
追い越し制御回路。
【請求項１８】
請求項１４に記載の追い越し制御回路において、
前記第１命令はベクトル収集命令であり、
前記第２命令はベクトル収集命令である
追い越し制御回路。
【請求項１９】
請求項１４に記載の追い越し制御回路において、
更に、
前記入力命令として前記第１命令と前記第２命令との間の第４命令を格納する第４格納部を具備し、
前記出力選択部は、前記追い越し許可信号に応じて、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令との順に、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令とを前記出力命令として前記命令実行部に出力する
追い越し制御回路。
【請求項２０】
請求項１９に記載の追い越し制御回路において、
前記第１命令と前記第２命令は前記ベクトルストア命令であり、
前記第４命令はベクトル収集命令である
追い越し制御回路。
【請求項２１】
請求項１９に記載の追い越し制御回路において、
前記第１命令は前記ベクトルストア命令であり、
前記第２命令と前記第４命令はベクトル収集命令である
追い越し制御回路。
【請求項２２】
請求項１９に記載の追い越し制御回路において、
前記第２命令は前記ベクトルストア命令であり、
前記第１命令と前記第４命令はベクトル収集命令である
追い越し制御回路。
【請求項２３】
請求項１４に記載の追い越し制御回路において、
更に、
前記入力命令として前記第１命令と前記第２命令との間の第４命令を格納する第４格納部と、
前記入力命令として前記第２命令と前記ベクトルロード命令との間の第５命令を格納する第５格納部とを具備し、
前記出力選択部は、前記追い越し許可信号に応じて、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令と前記第５命令との順に、前記ベクトルロード命令と前記第１命令と前記第４命令と前記第２命令と前記第５命令とを前記出力命令として前記命令実行部に出力する
追い越し制御回路。
【請求項２４】
請求項２３に記載の追い越し制御回路において、
前記第１命令と前記第２命令は前記ベクトルストア命令であり、
前記第４命令と前記第５命令はベクトル収集命令である
追い越し制御回路。
【請求項２５】
請求項１５、１６、１７、１８、２０〜２２、２４のいずれか一項に記載の追い越し制御回路において、
前記ベクトルロード命令として、スカラ系ロード命令を含む
追い越し制御回路。
【請求項２６】
請求項１５、１６、１７、１８、２０〜２２、２４のいずれか一項に記載の追い越し制御回路において、
前記ベクトルロード命令として、スカラ系ストア命令を含む
追い越し制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル命令によりロード／ストアを行うベクトル処理装置及び追い越し制御回路に関する。
【背景技術】
【０００２】
ベクトル処理装置は、ベクトル命令により主記憶装置をアクセスしてロード／ストアするメモリアクセスを実行する。このメモリアクセスを高速化する技術が特許文献１〜特許文献５に記載されている。
【０００３】
特許文献１に記載されたベクトル処理装置は、メモリアクセスを高速化するために、先行するストア系命令を後続のロード系命令が追い越す制御を行う。このベクトル処理装置では、第１の追い越し判定手段と、第２の追い越し判定手段とを有することを特徴としている。第１の追い越し判定手段は、ソフトウェアが命令語生成時に、先行するストア系命令及び後続のロード系命令のプログラム上でのアドレス領域の重なりを判断して追い越しビットを設定し、追い越しビットを参照して後続のロード系命令の追い越し制御を行う。第２の追い越し判定手段は、ストア系命令及びロード系命令のアドレス領域を計算し、計算したアドレス領域の重なりを参照して追い越し制御を行う。
【０００４】
特許文献２に記載されたベクトルストア命令追い越し制御装置は、メモリアクセスを高速化するために、先行するベクトルストア命令の領域に後続のロード系の命令のアクセス領域が重なっていない場合、後続のロード系命令に先にメモリアクセスを行なわせる。このベクトルストア命令追い越し制御装置は、リクエスト受付手段と、少なくとも一つのベクトルストア命令保持手段と、後続命令保持手段と、アクセス領域計算パイプライン手段と、領域保持手段と、追い越しチェック判定手段と、命令パイプライン保持手段と、選択手段を有することを特徴としている。リクエスト受付手段は、命令発行部から発行されたメモリリクエストを受け付ける。ベクトルストア命令保持手段は、リクエスト受付手段が受け付けたリクエストのうちベクトルストア命令だけを保持する。後続命令保持手段は、ベクトルストア命令を除いた後続の命令を保持する。アクセス領域計算パイプライン手段は、ベクトルストア命令保持手段に保持されているベクトルストア命令と後続命令保持手段に保持されているロード系命令のそれぞれのアドレスの領域計算をパイプラインで行う。領域保持手段は、アクセス領域計算パイプライン手段によりアドレスの領域計算を行ったベクトルストア命令と後続のロード系命令との領域をそれぞれ保持する。追い越しチェック判定手段は、領域保持手段で保持したアドレスにより、ベクトルストア命令が後続のロード系命令を追い越すことができることをパイプラインで検出する。命令パイプライン保持手段は、領域計算及び追い越しチェック中のリクエストをパイプラインで保持する。選択手段は、追い越しチェックの結果によって、ベクトルストア命令保持手段、命令パイプライン保持手段及びリクエスト受付手段のうちのいずれかから、メモリへアクセスするリクエストを選択する。
【０００５】
特許文献３に記載された命令処理順序制御システムは、メモリアクセスを高速化するために、先行するベクトルストア命令を後続のベクトルロード命令が追い越す制御を行う。この命令処理順序制御システムは、ベクトル演算器と、主記憶処理装置を備えている。ベクトル演算器は、１個以上のパイプライン化された演算器と複数のベクトルレジスタと演算器とベクトルレジスタを結合するネットワークから構成されている。主記憶処理装置は、ベクトルを単位とするロード／ストアを主記憶装置のベクトルレジスタとの間で行う。この命令処理順序制御システムは、第１の手段と、第２の手段と、第３の手段とを備えている。第１の手段は、ベクトル演算器及び主記憶処理装置へ投入する命令群を保持する。第２の手段は、実行中の命令により使用されているベクトルレジスタ、演算器、主記憶装置の状態を保持する。第３の手段は、第１の手段により保持されている命令群から第２の手段により保持されている各種資源の状態に基づきプログラムで指定された命令投入順序によらずベクトル演算器及び主記憶処理装置に投入する命令を決定する。この第３の手段は、第１の手段により保持されている命令群中のベクトルストア命令と、ベクトルストア命令よりも後から命令投入することをプログラムで指定された第１の手段により保持されている命令群中のベクトルロード命令に関し、ベクトルストア命令で指定されたベクトル要素間距離の大きさとベクトルロード命令で指定されたベクトル要素間距離の大きさが等しく、かつ、ベクトルストア命令で指定されたストア開始起点アドレスとベクトルロード命令で指定されたロード開始起点アドレスが等しくなく、かつ、ベクトルストア命令で指定されたストア開始起点アドレスとベクトルロード命令で指定されたロード開始起点アドレスの差の大きさがベクトルロード命令で指定されたベクトル要素間距離の大きさよりも小さい場合に、ベクトルロード命令をベクトルストア命令に先行してベクトル演算器及び主記憶処理装置へ投入する手段を持つことを特徴としている。
【０００６】
特許文献４に記載されたベクトル収集（ギャザー）命令追い越し回路は、メモリアクセスを高速化するために、先行するベクトルギャザー命令を後続のベクトルロード命令が追い越す制御を行う。ベクトルギャザー命令追い越し回路は、スカラユニット、ベクトルユニットおよびメモリアクセスリクエスト生成回路を備えている。このベクトルギャザー命令追い越し回路は、命令バッファと、第１のフリップフロップ群と、第１のデコーダと、第２のフリップフロップ群と、第２のデコードと、第３のフリップフロップ群と、ベクトルギャザー命令発行判断回路と、セレクト信号生成回路と、セレクタとを有することを特徴としている。命令バッファは、ベクトルユニットでベクトルギャザー命令のアドレスが揃うまでベクトルギャザー命令および後続の命令が待ち合わせる。第１のフリップフロップ群は、命令バッファの各段に格納された命令の有効／無効を示す命令有効フラグを保持する。第１のデコーダは、スカラユニットから入力された命令がベクトルギャザー命令であるかどうかを判断する。第２のフリップフロップ群は、第１のデコーダの出力信号に基づいて命令バッファの書く断に格納された命令がベクトルギャザー命令であるかどうかを示すベクトルギャザー命令フラグを保持する。第２のデコードは、スカラユニットから入力された命令がロード命令であるかどうかを判断する。第３のフリップフロップ群は、第２のデコーダの出力信号に基づいて命令バッファの各段に格納された命令がロード命令であるかどうかを示すロード命令フラグを保持する。ベクトルギャザー命令発行判断回路は、ベクトルユニットからのベクトルギャザー命令発行許可をカウントし命令バッファに格納されているベクトルギャザー命令の発行可否状態を判断する。セレクト信号生成回路は、ベクトルギャザー命令発行判断回路の出力信号、命令有効フラグ、ベクトルギャザー命令フラグおよびロード命令フラグに基づいて後続するロード命令フラグによる先行するベクトルギャザー命令の追い越しの可否を判定し、入力された命令および命令バッファに蓄積された命令からメモリアクセスリクエスト生成回路に送出する命令を選択するためのセレクト信号を生成する。セレクタは、セレクト信号生成回路からのセレクト信号に基づいて入力された命令および命令バッファに蓄積された命令からメモリアクセスリクエスト生成回路へ送出する命令を選択する。
【０００７】
特許文献５に記載されたベクトル収集（ギャザー）・拡散命令実行順序制御装置は、メモリアクセスを高速化するために、処理装置と、追い越し制御回路とを備えている。処理装置において、ベクトル収集命令とベクトル拡散命令の命令部分に、アクセスするメモリの先頭アドレスと終端アドレスを格納したレジスタを指定するフィールドを設けている。追い越し制御回路では、ベクトルロード命令及びベクトルストア命令と同様に、ベクトル収集命令及びベクトル拡散命令においても、命令で指定されているレジスタに基づき、命令がアクセスするメモリの領域を得ることで、ベクトル収集命令とベクトル拡散命令を、追い越し制御の対象としている。
【０００８】
メモリアクセスを更に高速化できることが望まれる。
【０００９】
【特許文献１】特開２００２−３６６５３８号公報
【特許文献２】特開平９−２３１２０３号公報
【特許文献３】特公平８−１２６６１号公報
【特許文献４】特開２００２−２９７５６６号公報
【特許文献５】特開２００２−３２３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の課題は、メモリアクセスを更に高速化することができるベクトル処理装置、及び、追い越し制御回路を提供することにある。
【課題を解決するための手段】
【００１１】
以下に、［発明を実施するための最良の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
本発明のベクトル処理装置は、命令発行部（２）と、本発明の追い越し制御回路（１）と、命令実行部（３）とを具備する。追い越し制御回路（１）は、命令発行部（２）と命令実行部（３）とに接続されている。命令実行部（３）は主記憶メモリ（２００）に接続されている。命令発行部（２）は、入力命令を出力する。追い越し制御回路（１）は、入力命令に応じて出力命令を出力する。命令実行部（３）は、出力命令に従って主記憶メモリ（２００）をアクセスする。
【００１３】
この追い越し制御回路（１）は、第１格納部（６１）と、第２格納部（６１）と、ベクトルロード命令格納部（２２）と、アドレス領域格納部（５５、５６）と、アドレス領域判定部（５７、５８、１０）と、出力命令判定部（１４）と、出力選択部（１５）とを具備する。
第１格納部（６１）は、入力命令として第１命令を格納する。
第２格納部（６１）は、入力命令として第１命令の後の第２命令を格納する。第１命令と第２命令はベクトルロード命令以外の命令である。
ベクトルロード命令格納部（２２）は、入力命令として第２命令の後の第３命令であるベクトルロード命令（ＶＬＤ１）を格納する。ベクトルロード命令格納部（２２）はベクトルロード命令（ＶＬＤ１）を格納したときにベクトルロード命令有効フラグを設定する。
アドレス領域格納部（５５、５６）は、第１命令と第２命令との少なくとも１つがベクトルストア命令である場合、ベクトルストア命令に関連するアドレス領域を格納する。
アドレス領域判定部（５７、５８、１０）は、ベクトルロード命令格納部（２２）に格納されたベクトルロード命令（ＶＬＤ１）に関連するアドレス領域とアドレス領域格納部（５５、５６）に格納されたベクトルストア命令に関連するアドレス領域との少なくとも一部が一致するか否かを示す判定結果を出力する。
出力命令判定部（１４）は、アドレス領域判定部（５７、５８、１０）からの判定結果がベクトルロード命令（ＶＬＤ１）に関連するアドレス領域とベクトルストア命令に関連するアドレス領域とが一致しないことを示し、ベクトルロード命令格納部（２２）にベクトルロード命令有効フラグが設定されている場合、追い越し許可信号を出力する。
出力選択部（１５）は、追い越し許可信号に応じて、ベクトルロード命令（ＶＬＤ１）と第１命令と第２命令との順に、ベクトルロード命令（ＶＬＤ１）と第１命令と第２命令とを出力命令として命令実行部（３）に出力する。
【００１４】
これにより、本発明のベクトル処理装置における命令実行処理（追い越し制御）では、後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を２つ追い越すことができる。このため、本発明のベクトル処理装置では、先行する２つのベクトル命令を実行するための準備時間の間にベクトルロード命令を実行することにより、ベクトルロード命令（ＶＬＤ１）が命令実行部（３）に転送されるまでの待ち時間を短縮でき、メモリアクセスに必要な処理時間を大きく改善することができることである。即ち、本発明のベクトル処理装置によれば、従来のベクトル処理装置よりもメモリアクセスを更に高速化することができる。
【００１５】
第１命令はベクトル収集命令（ＶＧＴ１）であり、第２命令はベクトルストア命令（ＶＳＴ１）である（図４参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ１）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ１）とが命令実行部３に転送されるのを待つ必要がない。
【００１６】
第１命令はベクトルストア命令（ＶＳＴ１）であり、第２命令はベクトル収集命令（ＶＧＴ１）である（図７参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とが命令実行部３に転送されるのを待つ必要がない。
【００１７】
第１命令はベクトルストア命令（ＶＳＴ１）であり、第２命令はベクトルストア命令（ＶＳＴ２）である（図１０参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトルストア命令（ＶＳＴ２）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトルストア命令（ＶＳＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００１８】
第１命令はベクトル収集命令（ＶＧＴ１）であり、第２命令はベクトル収集命令（ＶＧＴ２）である（図１０参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）、ベクトル収集命令（ＶＧＴ２）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトル収集命令（ＶＧＴ１）とベクトル収集命令（ＶＧＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００１９】
追い越し制御回路（１）は、更に、第４格納部（６１）を具備する。
第４格納部（６１）は、入力命令として第１命令と第２命令との間の第４命令を格納する。
出力選択部（１５）は、追い越し許可信号に応じて、ベクトルロード命令（ＶＬＤ１）と第１命令と第４命令と第２命令との順に、ベクトルロード命令（ＶＬＤ１）と第１命令と第４命令と第２命令とを出力命令として命令実行部（３）に出力する。
【００２０】
これにより、本発明のベクトル処理装置における命令実行処理（追い越し制御）では、後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を３つ追い越すことができる。このため、本発明のベクトル処理装置では、先行する３つのベクトル命令を実行するための準備時間の間にベクトルロード命令を実行することにより、ベクトルロード命令（ＶＬＤ１）が命令実行部（３）に転送されるまでの待ち時間を短縮でき、メモリアクセスに必要な処理時間を大きく改善することができることである。即ち、本発明のベクトル処理装置によれば、従来のベクトル処理装置よりもメモリアクセスを更に高速化することができる。
【００２１】
第１命令と第２命令はベクトルストア命令（ＶＳＴ１、ＶＳＴ２）であり、第４命令はベクトル収集命令（ＶＧＴ１）である（図１０参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ２）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００２２】
第１命令はベクトルストア命令（ＶＳＴ１）であり、第２命令と第４命令はベクトル収集命令（ＶＧＴ１、ＶＧＴ２）である（図１０参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）、ベクトル収集命令（ＶＧＴ２）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とベクトル収集命令（ＶＧＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００２３】
第２命令はベクトルストア命令（ＶＳＴ２）であり、第１命令と第４命令はベクトル収集命令（ＶＧＴ１、ＶＧＴ２）である（図１０参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ２）、ベクトル収集命令（ＶＧＴ２）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ２）とベクトル収集命令（ＶＧＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００２４】
追い越し制御回路（１）は、更に、第４格納部（６１）と、第５格納部（６１）とを具備する。
第４格納部（６１）は、入力命令として第１命令と第２命令との間の第４命令を格納する。
第５格納部（６１）は、入力命令として第２命令とベクトルロード命令（ＶＬＤ１）との間の第５命令を格納する。
出力選択部（１５）は、追い越し許可信号に応じて、ベクトルロード命令（ＶＬＤ１）と第１命令と第４命令と第２命令と第５命令との順に、ベクトルロード命令（ＶＬＤ１）と第１命令と第４命令と第２命令と第５命令とを出力命令として命令実行部（３）に出力する。
【００２５】
これにより、本発明のベクトル処理装置における命令実行処理（追い越し制御）では、後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を４つ追い越すことができる。このため、本発明のベクトル処理装置では、先行する４つのベクトル命令を実行するための準備時間の間にベクトルロード命令を実行することにより、ベクトルロード命令（ＶＬＤ１）が命令実行部（３）に転送されるまでの待ち時間を短縮でき、メモリアクセスに必要な処理時間を大きく改善することができることである。即ち、本発明のベクトル処理装置によれば、従来のベクトル処理装置よりもメモリアクセスを更に高速化することができる。
【００２６】
第１命令と第２命令はベクトルストア命令（ＶＳＴ１、ＶＳＴ２）であり、第４命令と第５命令はベクトル収集命令（ＶＧＴ１、ＶＧＴ２）である（図１０参照）。
この場合、本発明のベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ２）、ベクトル収集命令（ＶＧＴ２）を追い越すことが可能である。このため、本発明のベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ２）とベクトル収集命令（ＶＧＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００２７】
ベクトルロード命令（ＶＬＤ１）として、スカラ系ロード命令でを含む。
【００２８】
ベクトルロード命令（ＶＬＤ１）として、スカラ系ストア命令を含む。
【発明の効果】
【００２９】
本発明のベクトル処理装置、及び、追い越し制御回路によれば、後続のベクトルロード命令が、ベクトルストア命令とベクトル収集命令とを追い越すことができるため、従来のベクトル処理装置よりもメモリアクセスを更に高速化することができる。
【発明を実施するための最良の形態】
【００３０】
添付図面を参照して、本発明によるベクトル処理装置を実施するための最良の形態を以下に説明する。
【００３１】
本発明のベクトル処理装置は、ベクトル命令により主記憶装置をアクセスしてロード／ストアするメモリアクセスを実行する。本発明のベクトル処理装置では、従来のベクトル処理装置よりもメモリアクセスを更に高速化する。まず、本発明のベクトル処理装置におけるメモリアクセスに用いられるベクトル命令について説明する。
【００３２】
ベクトル命令としては、ベクトルロード命令、ベクトル収集命令、ベクトルストア命令およびベクトル拡散命令が挙げられる。図１は、本発明のベクトル処理装置におけるメモリアクセスに用いられるベクトル命令（ベクトルロード命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を実行するために必要なデータと、その命令を実行するための準備に必要な準備時間（その命令が発行されてから実行されるまでに必要な時間）との比較結果を示す。
ベクトル命令（ベクトルロード命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を実行するために必要なデータはアドレス、リストアドレスおよびストアデータであるが、このうちアドレスを準備するまでの時間は、リストアドレスおよびストアデータに比べて短い。
ベクトルロード命令に必要なデータは、アドレスであり、ベクトルロード命令における準備時間は、他の命令における準備時間に比べて短い。
ベクトルストア命令に必要なデータは、アドレスおよびストアデータであり、ベクトルストア命令における準備時間は、他の命令における準備時間に比べて長い。
ベクトル収集命令に必要なデータは、リストアドレスであり、ベクトル収集命令における準備時間は、他の命令における準備時間に比べて長い。
ベクトル拡散命令に必要なデータは、リストアドレスおよびストアデータであり、ベクトル拡散命令における準備時間は、他の命令における準備時間に比べて長い。
ベクトル収集命令とは、間接アドレス（リストベクトル）を用いたベクトルロード命令である。言い換えると、ベクトル収集命令とはメモリアドレスにベクトルレジスタの内容を使用してロードを行うベクトル命令である。
ベクトル拡散命令とは、間接アドレス（リストベクトル）を用いたベクトルストア命令である。言い換えると、ベクトル拡散命令とはメモリアドレスにベクトルレジスタの内容を使用してストアを行うベクトル命令である。
【００３３】
このことから先行命令として準備時間の長いベクトル命令（例示；ベクトル収集命令）が発行された後、後続命令として準備時間の短いベクトルロード命令が発行された場合、ベクトルロード命令がベクトル収集命令を追い越すことが出来れば、実行準備のための待ち時間を短縮することができ、メモリアクセスに必要な処理時間を大きく改善することができる。
【００３４】
図２は、本発明のベクトル処理装置におけるメモリアクセスに用いられるベクトル命令（ベクトルロード命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）が先行命令または後続命令となったときに追い越し可能な組み合わせとその効果を示す。追い越し可能な組み合わせとしては、ケース１、ケース２、ケース３、ケース４の４つの組み合わせが挙げられる。
ケ−ス１とは、後続のベクトルロード命令が先行のベクトル収集命令を追い越す場合をいう。
ケ−ス２とは、後続のベクトルロード命令が先行のベクトルストア命令を追い越す場合をいう。
ケ−ス３とは、後続のベクトル収集命令が先行のベクトルロード命令を追い越す場合をいう。
ケ−ス４とは、後続のベクトルストア命令が先行のベクトルロード命令を追い越す場合をいう。
【００３５】
このうちケ−ス１およびケ−ス２の組み合わせについては、上述したように、準備時間の観点から追い越しにより、メモリアクセスに必要な処理時間を短縮できると考えられる。
一方、ケ−ス３およびケ−ス４の組み合わせについては、上述したように、準備時間の観点から追い越しの効果が少ないと考えられる。
これより、メモリアクセスに必要な処理時間を短縮できる命令の組み合わせは、ケ−ス１およびケ−ス２の組み合わせであり、ベクトルロード命令がベクトル収集命令およびベクトルストア命令を追い越す制御を実現することにより性能向上を図ることができる。
このため、本発明のベクトル処理装置におけるメモリアクセスでは、ベクトルロード命令がベクトル収集命令およびベクトルストア命令を追い越す制御を行う。
【００３６】
次に本発明のベクトル処理装置におけるメモリアクセスについて説明する。そのメモリアクセスでは、追い越し不可能な条件を検出し、追い越し不可能な場合は追い越しを行わない。追い越し不可能な条件としては条件１、条件２の２つが挙げられ、２つの条件がともに成立しない場合のみ追い越しを行う。
条件１とは、先行命令としてベクトルストア命令が存在し、かつベクトルロード命令がアクセスするアドレス領域とベクトルストア命令がアクセスするアドレス領域との少なくとも一部が重なる（一致する）場合をいう。
条件２とは、先行命令としてベクトル拡散命令が存在する場合をいう。
【００３７】
条件１については、ベクトルストア命令がストア命令であるため、ベクトルストア命令がアクセスしたアドレス領域のデータをベクトルロード命令がロードする場合、ベクトルロード命令とベクトルストア命令の順番を入れ替えて実行すると、順番を入れ替えない場合と比べると結果が異なる場合がある。
ベクトルロード命令がベクトルストア命令を追い越すためには、ベクトルロード命令がアクセスするアドレス領域とベクトルストア命令がアクセスするアドレス領域が重なるかどうかを確認し、重ならない場合のみ、ベクトルロード命令がベクトルストア命令を追い越すことが好ましい。
条件２については、ベクトル拡散命令がストア命令であるため、ベクトル拡散命令がアクセスした領域のデータをベクトルロード命令がロードする場合については、ベクトルロード命令とベクトル拡散命令の順番を入れ替えて実行すると、順番入れ替えない場合と比べると結果が異なる場合がある。
ベクトル拡散命令はリストアドレスを用いたアクセスであるため、ベクトル拡散命令がアクセスするアドレス領域を特定することは困難である。このため、本発明のベクトル処理装置におけるメモリアクセスでは、先行命令としてベクトル拡散命令が存在する場合は追い越しを行わない。
なお、先行命令としてベクトル収集命令が存在する場合については、ベクトルロード命令およびベクトル収集命令ともにロード命令であるため、メモリ上のデータを書き換えることがない。このため、ベクトルロード命令とベクトル収集命令の順番を入れ替えて実行してもロードされるデータは変わらないので、適時ベクトルロード命令がベクトル収集命令を追い越すことが可能である。
【００３８】
図３は、本発明のベクトル処理装置の構成を示す。本発明のベクトル処理装置は、コンピュータであり、追い越し制御回路１、命令発行部２、命令実行部３、ストアデータ・アドレスデータ準備部４を具備する。追い越し制御回路１は、命令発行部２、命令実行部３およびストアデータ・アドレスデータ準備部４に接続されている。ストアデータ・アドレスデータ準備部４は命令発行部２に接続されている。命令実行部３は主記憶メモリ２００に接続されている。
追い越し制御回路１、命令発行部２、命令実行部３、ストアデータ・アドレスデータ準備部４は外部からのクロック（システムクロック）に同期して動作する。命令発行部２は、システムクロックに同期して、入力命令としてベクトル命令（ベクトルロード命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を追い越し制御回路１に出力（転送）する。追い越し制御回路１は、入力命令に応じて出力命令を出力する。命令実行部３は、出力命令に従って主記憶メモリ２００をアクセスする。出力命令については後述する。
【００３９】
命令発行部２は、ベクトル収集命令を追い越し制御回路１に転送したとき、ベクトル収集命令を転送した旨を表すベクトル収集命令転送情報をストアデータ・アドレスデータ準備部４に出力する。ストアデータ・アドレスデータ準備部４は、命令発行部２からのベクトル収集命令転送情報を受けて、所定時間が経過した後にシステムクロックに同期して、ベクトル収集命令に対応するリストアドレスを追い越し制御回路１に出力（転送）する。
命令発行部２は、ベクトルストア命令を追い越し制御回路１に転送したとき、ベクトルストア命令を転送した旨を表すベクトルストア命令転送情報をストアデータ・アドレスデータ準備部４に出力する。ストアデータ・アドレスデータ準備部４は、命令発行部２からのベクトルストア命令転送情報を受けて、所定時間が経過した後にシステムクロックに同期して、ベクトルストア命令に対応するストアデータを追い越し制御回路１に出力（転送）する。
命令発行部２は、ベクトル拡散命令を追い越し制御回路１に転送したとき、ベクトル拡散命令を転送した旨を表すベクトル拡散命令転送情報をストアデータ・アドレスデータ準備部４に出力する。ストアデータ・アドレスデータ準備部４は、命令発行部２からのベクトル拡散命令転送情報を受けて、所定時間が経過した後にシステムクロックに同期して、ベクトル拡散命令に対応するリストアドレスとストアデータとを追い越し制御回路１に出力（転送）する。
命令発行部２がベクトル命令を追い越し制御回路１に転送するタイミングは、本発明のベクトル処理装置の設計により決まる。ストアデータ・アドレスデータ準備部４がリストアドレス、ストアデータを追い越し制御回路１に転送するタイミングは、本発明のベクトル処理装置の設計とベクトル命令転送情報とにより決まる。
【００４０】
追い越し制御回路１は、更に、ベクトルロード命令デコ−ダ２０、ベクトルロード命令有効フラグ格納部２１、ベクトルロード命令レジスタ２２を具備する。ベクトルロード命令デコ−ダ２０は命令発行部２に接続されている。ベクトルロード命令有効フラグ格納部２１とベクトルロード命令レジスタ２２はベクトルロード命令デコ−ダ２０に接続されている。
ベクトルロード命令デコ−ダ２０は、命令発行部２から送られるベクトル命令を解析し、そのベクトル命令がベクトルロード命令である場合は、ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグをセットし、同時にベクトルロード命令レジスタ２２にベクトルロード命令をデータとして格納する。
【００４１】
追い越し制御回路１は、更に、ベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ６０、ベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１を具備する。ベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ６０は命令発行部２に接続されている。ベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１はベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ６０に接続されている。
ベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ６０は、命令発行部２から転送されたベクトル命令を解析し、そのベクトル命令がベクトル収集命令、ベクトルストア命令、ベクトル拡散命令である場合はその命令をデータとしてベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１に格納する。ベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１はＦＩＦＯ制御を行うことにより、格納された命令を格納された順番で出力する。
【００４２】
追い越し制御回路１は、更に、ベクトル収集命令デコ−ダ３０、上段ベクトル収集命令有効フラグ格納部、下段ベクトル収集命令有効フラグ格納部を具備する。上段ベクトル収集命令有効フラグ格納部、下段ベクトル収集命令有効フラグ格納部は１個以上あればよく、上段ベクトル収集命令有効フラグ格納部は上段ベクトル収集命令有効フラグ格納部３１、３３を含み、下段ベクトル収集命令有効フラグ格納部は下段ベクトル収集命令有効フラグ格納部３２、３４を含む。ベクトル収集命令デコ−ダ３０は命令発行部２に接続されている。上段ベクトル収集命令有効フラグ格納部３１、３３はベクトル収集命令デコ−ダ３０に接続されている。下段ベクトル収集命令有効フラグ格納部３２、３４はそれぞれ上段ベクトル収集命令有効フラグ格納部３１、３３に接続されている。
ベクトル収集命令デコ−ダ３０は、命令発行部２から転送されたベクトル命令を解析し、そのベクトル命令がベクトル収集命令である場合は、上段ベクトル収集命令有効フラグ格納部３１にベクトル収集命令有効フラグ（ステ−ジ１−＃１）をセットする。ベクトル収集命令有効フラグ（ステ−ジ１−＃１）は、システムクロックに同期して、ベクトル収集命令有効フラグ（ステ−ジ２−＃１）として下段ベクトル収集命令有効フラグ格納部３２に伝播される。
ベクトル収集命令デコ−ダ３０は、次に命令発行部２から転送されたベクトル命令がベクトル収集命令である場合は、上段ベクトル収集命令有効フラグ格納部３３にベクトル収集命令有効フラグ（ステ−ジ１−＃２）をセットする。ベクトル収集命令有効フラグ（ステ−ジ１−＃２）は、システムクロックに同期して、ベクトル収集命令有効フラグ（ステ−ジ２−＃２）として下段ベクトル収集命令有効フラグ格納部３４に伝播される。
ベクトル収集命令有効フラグは、ベクトル収集命令と他の命令の順序を決定するために使用する情報であり、ベクトル収集命令の存在を示す情報でもある。ベクトル収集命令については、上記のベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１に格納されている。
【００４３】
追い越し制御回路１は、更に、ベクトル拡散命令デコ−ダ４０、上段ベクトル拡散命令有効フラグ格納部、下段ベクトル拡散命令有効フラグ格納部を具備する。上段ベクトル拡散命令有効フラグ格納部、下段ベクトル拡散命令有効フラグ格納部は１個以上あればよく、上段ベクトル拡散命令有効フラグ格納部は上段ベクトル拡散命令有効フラグ格納部４１、４３を含み、下段ベクトル拡散命令有効フラグ格納部は下段ベクトル拡散命令有効フラグ格納部４２、４４を含む。ベクトル拡散命令デコ−ダ４０は命令発行部２に接続されている。上段ベクトル拡散命令有効フラグ格納部４１、４３はベクトル拡散命令デコ−ダ４０に接続されている。下段ベクトル拡散命令有効フラグ格納部４２、４４はそれぞれ上段ベクトル拡散命令有効フラグ格納部４１、４３に接続されている。
ベクトル拡散命令デコ−ダ４０は、命令発行部２から転送されたベクトル命令を解析し、そのベクトル命令がベクトル拡散命令である場合は、上段ベクトル拡散命令有効フラグ格納部４１にベクトル拡散命令有効フラグ（ステ−ジ１−＃１）をセットする。ベクトル拡散命令有効フラグ（ステ−ジ１−＃１）は、システムクロックに同期して、ベクトル拡散命令有効フラグ（ステ−ジ２−＃１）として下段ベクトル拡散命令有効フラグ格納部４２に伝播される。
ベクトル拡散命令デコ−ダ４０は、次に命令発行部２から転送されたベクトル命令がベクトル拡散命令である場合は、上段ベクトル拡散命令有効フラグ格納部４３にベクトル拡散命令有効フラグ（ステ−ジ１−＃２）をセットする。ベクトル拡散命令有効フラグ（ステ−ジ１−＃２）は、システムクロックに同期して、ベクトル拡散命令有効フラグ（ステ−ジ２−＃２）として下段ベクトル拡散命令有効フラグ格納部４４に伝播される。
ベクトル拡散命令有効フラグは、ベクトル拡散命令と他の命令の順序を決定するために使用する情報であり、ベクトル拡散命令の存在を示す情報でもある。ベクトル拡散命令については、上記のベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１に格納されている。
【００４４】
追い越し制御回路１は、更に、ベクトルストア命令デコ−ダ５０、上段ベクトルストア命令有効フラグ格納部、下段ベクトルストア命令有効フラグ格納部、ベクトルストア命令アドレス格納レジスタを具備する。上段ベクトルストア命令有効フラグ格納部、下段ベクトルストア命令有効フラグ格納部、ベクトルストア命令アドレス格納レジスタは１個以上あればよく、上段ベクトルストア命令有効フラグ格納部は上段ベクトルストア命令有効フラグ格納部５１、５３を含み、下段ベクトルストア命令有効フラグ格納部は下段ベクトルストア命令有効フラグ格納部５２、５４を含み、ベクトルストア命令アドレス格納レジスタはベクトルストア命令アドレス格納レジスタ５５、５６を含む。ベクトルストア命令デコ−ダ５０は命令発行部２に接続されている。上段ベクトルストア命令有効フラグ格納部５１、５３、ベクトルストア命令アドレス格納レジスタ５５、５６はベクトルストア命令デコ−ダ５０に接続されている。下段ベクトルストア命令有効フラグ格納部５２、５４はそれぞれ上段ベクトルストア命令有効フラグ格納部５１、５３に接続されている。
ベクトルストア命令デコ−ダ５０は、命令発行部２から転送されたベクトル命令を解析し、そのベクトル命令がベクトルストア命令である場合は、上段ベクトルストア命令有効フラグ格納部５１にベクトルストア命令有効フラグ（ステ−ジ１−＃１）をセットし、同時にベクトルストア命令アドレス格納レジスタ５５にベクトルストア命令に関連するアドレス領域（＃１）を格納する。ベクトルストア命令有効フラグ（ステ−ジ１−＃１）は、システムクロックに同期して、ベクトルストア命令有効フラグ（ステ−ジ２−＃１）として下段ベクトルストア命令有効フラグ格納部５２に伝播される。
ベクトルストア命令デコ−ダ５０は、次に命令発行部２から転送されたベクトル命令がベクトルストア命令である場合は、上段ベクトルストア命令有効フラグ格納部５２にベクトルストア命令有効フラグ（ステ−ジ１−＃２）をセットし、同時にベクトルストア命令アドレス格納レジスタ５６にベクトルストア命令に関連するアドレス領域（＃２）を格納する。ベクトルストア命令有効フラグ（ステ−ジ１−＃２）は、システムクロックに同期して、ベクトルストア命令有効フラグ（ステ−ジ２−＃２）として下段ベクトルストア命令有効フラグ格納部５４に伝播される。
ベクトル拡散命令有効フラグは、ベクトル拡散命令と他の命令の順序を決定するために使用する情報であり、ベクトルストア命令についてはベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１に格納されている。
【００４５】
追い越し制御回路１は、更に、アドレス領域判定部を具備する。アドレス領域判定部は、１個以上あればよく、アドレス領域判定部５７、５８を含む。アドレス領域判定部５７、５８はそれぞれベクトルストア命令アドレス格納レジスタ５５、５６に接続されている。アドレス領域判定部５７、５８はベクトルロード命令レジスタ２２接続されている。
【００４６】
アドレス領域判定部５７は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５５に格納されているアドレス領域（＃１）との少なくとも一部が重なる（一致する）か否かを照合し、ベクトルロード命令がベクトルストア命令を追い越し可能か否かを判定する。
アドレス領域判定部５７は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５５に格納されているアドレス領域（＃１）とが重なる場合、ベクトルストア命令追い越し禁止情報を照合結果として出力する。ベクトルストア命令追い越し禁止情報は、ベクトルロード命令がベクトルストア命令を追い越すことを禁止することを表す。
アドレス領域判定部５７は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５５に格納されているアドレス領域（＃１）とが重ならない場合、ベクトルストア命令追い越し許可情報を照合結果として出力する。ベクトルストア命令追い越し許可情報は、ベクトルロード命令がベクトルストア命令を追い越すことを許可することを表す。
【００４７】
アドレス領域判定部５８は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５６に格納されているアドレス領域（＃２）との少なくとも一部が重なる（一致する）か否かを照合し、ベクトルロード命令がベクトルストア命令を追い越し可能か否かを判定する。
アドレス領域判定部５８は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５６に格納されているアドレス領域（＃２）とが重なる場合、ベクトルストア命令追い越し禁止情報を照合結果として出力する。
アドレス領域判定部５８は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５６に格納されているアドレス領域（＃２）とが重ならない場合、ベクトルストア命令追い越し許可情報を照合結果として出力する。
【００４８】
追い越し制御回路１は、更に、ストアデータ・リストアドレス格納部７０を具備する。ストアデータ・リストアドレス格納部７０はストアデータ・アドレスデータ準備部４に接続されている。
ストアデータ・リストアドレス格納部７０は、ストアデータ・アドレスデータ準備部４から転送されたストアデータ、リストアドレスをデータとして格納し、同時に、格納したストアデータ、リストアドレスが有効であることを示す有効ビットを設定する。ストアデータ・リストアドレス格納部７０はＦＩＦＯ制御を行うことにより、格納された命令を格納された順番で出力する。
【００４９】
追い越し制御回路１は、更に、追い越し判定部１０を具備する。追い越し判定部１０は、ベクトルロード命令有効フラグ格納部２１と下段ベクトル拡散命令有効フラグ格納部４２、４４と下段ベクトルストア命令有効フラグ格納部５２、５４とアドレス領域判定部５７、５８とに接続されている。
追い越し判定部１０は、ベクトルロード命令有効フラグ格納部２１、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトルストア命令有効フラグ格納部５２、５４にセットされる上記のフラグと、アドレス領域判定部５７、５８からの照合結果（ベクトルストア命令追い越し許可情報／ベクトルストア命令追い越し禁止情報）とに基づいて、後続のベクトルロード命令がベクトルストア命令、ベクトル拡散命令を追い越し可能か否かを判定する。
【００５０】
例えば、ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグがセットされ、下段ベクトル拡散命令有効フラグ格納部４２、４４にベクトル拡散命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされ、下段ベクトルストア命令有効フラグ格納部５２、５４にベクトルストア命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされていない。この場合、追い越し判定部１０は、ベクトル拡散命令追い越し禁止情報を判定結果として出力する。ベクトル拡散命令追い越し禁止情報は、ベクトルロード命令がベクトル拡散命令を追い越すことを禁止することを表す。
【００５１】
例えば、ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグがセットされ、下段ベクトル拡散命令有効フラグ格納部４２、４４にベクトル拡散命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされず、下段ベクトルストア命令有効フラグ格納部５２、５４にベクトルストア命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされていてもアドレス領域判定部５７、５８からの照合結果がベクトルストア命令追い越し禁止情報を表す。この場合、追い越し判定部１０は、ベクトルストア命令追い越し禁止情報を判定結果として出力する。
【００５２】
例えば、ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグがセットされ、下段ベクトル拡散命令有効フラグ格納部４２、４４にベクトル拡散命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされ、下段ベクトルストア命令有効フラグ格納部５２、５４にベクトルストア命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされ、アドレス領域判定部５７、５８からの照合結果がベクトルストア命令追い越し禁止情報を表す。この場合、追い越し判定部１０は、ベクトル拡散命令追い越し禁止情報とベクトルストア命令追い越し禁止情報とを判定結果として出力する。
【００５３】
例えば、ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグがセットされ、下段ベクトル拡散命令有効フラグ格納部４２、４４にベクトル拡散命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされ、下段ベクトルストア命令有効フラグ格納部５２、５４にベクトルストア命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされていてもアドレス領域判定部５７、５８からの照合結果がベクトルストア命令追い越し許可情報を表す。この場合、追い越し判定部１０は、ベクトル拡散命令追い越し禁止情報とベクトルストア命令追い越し許可情報とを判定結果として出力する。
【００５４】
例えば、ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグがセットされ、下段ベクトル拡散命令有効フラグ格納部４２、４４にベクトル拡散命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされず、下段ベクトルストア命令有効フラグ格納部５２、５４にベクトルストア命令有効フラグ（ステ−ジ２−＃１、ステ−ジ２−＃２）がセットされていてもアドレス領域判定部５７、５８からの照合結果がベクトルストア命令追い越し許可情報を表す。この場合、追い越し判定部１０は、ベクトルストア命令追い越し許可情報を判定結果として出力する。
【００５５】
追い越し制御回路１は、更に、ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１を具備する。ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１は、下段ベクトル収集命令有効フラグ格納部３２、３４と下段ベクトル拡散命令有効フラグ格納部４２、４４と下段ベクトルストア命令有効フラグ格納部５２、５４とに接続されている。
ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１は、下段ベクトル収集命令有効フラグ格納部３２、３４、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトルストア命令有効フラグ格納部５２、５４にセットされる上記のフラグを監視する。ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１は、下段ベクトル収集命令有効フラグ格納部３２、３４、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトルストア命令有効フラグ格納部５２、５４に上記のフラグがセットされた順序を記憶し、その順序を表す順序情報を出力する。
【００５６】
追い越し制御回路１は、更に、許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２を具備する。許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２は、下段ベクトル収集命令有効フラグ格納部３２、３４と下段ベクトル拡散命令有効フラグ格納部４２、４４と下段ベクトルストア命令有効フラグ格納部５２、５４とに接続されている。
許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２は、下段ベクトル収集命令有効フラグ格納部３２、３４、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトルストア命令有効フラグ格納部５２、５４にセットされる上記のフラグを監視し、セットされるフラグによりベクトル収集命令、ベクトル拡散命令、ベクトルストア命令が存在するか（有効であるか）否かを判定する。許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２は、下段ベクトル収集命令有効フラグ格納部３２、３４、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトルストア命令有効フラグ格納部５２、５４に上記のフラグがセットされたとき、ベクトル命令有効情報を判定結果として出力する。ベクトル命令有効情報は、セットされたフラグによりベクトル命令（ベクトル収集命令、ベクトル拡散命令、ベクトルストア命令）が存在することを表す。
【００５７】
追い越し制御回路１は、更に、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３を具備する。ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３は、ストアデータ・リストアドレス格納部７０と許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２とに接続されている。
ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３は、許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２から出力された判定結果（ベクトル命令有効情報）とストアデータ・リストアドレス格納部７０から出力されたストアデータ・リストアドレス情報とに基づいて、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令を命令実行部３に転送できるか否かを判定する。
例えば、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３に、ベクトル収集命令の存在を表す判定結果が許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２から出力され、リストアドレスがストアデータ・リストアドレス格納部７０から出力される。この場合、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３は、ベクトル収集命令確認情報を判定結果として出力する。ベクトル収集命令確認情報は、ベクトル収集命令を命令実行部３に転送可能であることを表す。
例えば、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３に、ベクトルストア命令の存在を表す判定結果が許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２から出力され、ストアデータがストアデータ・リストアドレス格納部７０から出力される。この場合、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３は、ベクトルストア命令確認情報を判定結果として出力する。ベクトルストア命令確認情報は、ベクトルストア命令を命令実行部３に転送可能であることを表す。
例えば、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３に、ベクトル拡散命令の存在を表す判定結果が許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１２から出力され、リストアドレスとストアデータとがストアデータ・リストアドレス格納部７０から出力される。この場合、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３は、ベクトル拡散命令確認情報を判定結果として出力する。ベクトル拡散命令確認情報は、ベクトル拡散命令を命令実行部３に転送可能であることを表す。
【００５８】
追い越し制御回路１は、更に、出力命令判定部１４、出力命令選択部１５を具備する。出力命令判定部１４は、追い越し判定部１０とベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１と許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部１３とベクトルロード命令有効フラグ格納部２１とに接続されている。出力命令選択部１５は、命令発行部２と命令実行部３と出力命令判定部１４とベクトルロード命令レジスタ２２とベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１とに接続されている。
出力命令判定部１４は、追い越し判定部１０からの判定結果（ベクトル拡散命令追い越し禁止情報、ベクトルストア命令追い越し禁止情報、ベクトルストア命令追い越し許可情報）とベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果（ベクトル収集命令確認情報、ベクトルストア命令確認情報、ベクトル拡散命令確認情報）とベクトルロード命令有効フラグ２１に格納されたベクトルロード命令有効フラグとに基づいて、命令実行部３に転送すべきベクトル命令（ベクトルロード命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を表す判定結果を出力命令選択部１５に出力する。
出力命令選択部１５は、出力命令判定部１４からの判定結果に応じて、ベクトルロード命令レジスタ２２に格納されたベクトルロード命令、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からのベクトル命令（ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）又は、命令発行部２からのベクトルロード命令を選択し、出力命令として命令実行部３に出力（転送）する。
【００５９】
出力命令判定部１４、出力命令選択部１５の出力動作について詳細に説明する。本発明のベクトル処理装置のメモリアクセスにおいて、ベクトルロード命令がベクトル収集命令、ベクトルストア命令を追い越す制御としては、（１）後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を１つ追い越すこと、（２）後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を２つ追い越すこと、（３）後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を３つ追い越すこと、（４）後続の第３命令（ベクトルロード命令）が、先行するベクトル命令を４つ追い越すこと、ができる。
【００６０】
例として（２）について説明する。（２）の場合として、第１命令がベクトルストア命令であり、第２命令がベクトル収集命令であり、後続の第３命令（ベクトルロード命令）が、先行する第１命令（ベクトルストア命令）、第２命令（ベクトル収集命令）を追い越すことについて説明する。命令発行部２は、後述の第１命令、第２命令、第３命令の順に、第１命令、第２命令、第３命令を追い越し制御回路１に転送したものとする。第３命令は、ベクトルロード命令であるものとする。
【００６１】
この場合、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３は、第１命令（ベクトルストア命令）におけるベクトル収集命令確認情報と第２命令（ベクトル収集命令）におけるベクトル収集命令確認情報とを表す判定結果を出力命令判定部１４に転送する。
出力命令判定部１４は、追い越し判定部１０からの判定結果とベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果とベクトルロード命令有効フラグ２１に格納されたベクトルロード命令有効フラグとに基づいて、追い越し許可信号と、第１命令出力許可信号と、第２命令出力許可信号との順に、追い越し許可信号と第１命令出力許可信号と第２命令出力許可信号とを判定結果として出力命令選択部１５に出力する。
出力命令選択部１５は、出力命令判定部１４からの判定結果である追い越し許可信号に応じて、ベクトルロード命令レジスタ２２に格納された第３命令（ベクトルロード命令）を出力命令として命令実行部３に出力（転送）する。出力命令選択部１５は、出力命令判定部１４からの判定結果である第１命令出力許可信号に応じて、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からの第１命令（ベクトルストア命令）を出力命令として命令実行部３に出力（転送）する。出力命令選択部１５は、出力命令判定部１４からの判定結果である第２命令出力許可信号に応じて、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からの第２命令（ベクトル収集命令）を出力命令として命令実行部３に出力（転送）する。
【００６２】
このように、本発明のベクトル処理装置によれば、後続のベクトルロード命令が、ベクトルストア命令とベクトル収集命令とを追い越すことができるため、従来のベクトル処理装置よりもメモリアクセスを更に高速化することができる。このため、本発明のベクトル処理装置では、ベクトルストア命令とベクトル収集命令とを実行するための準備時間の間にベクトルロード命令を実行することにより、ベクトルロード命令が命令実行部３に転送されるまでの待ち時間を短縮でき、メモリアクセスに必要な処理時間を大きく改善することができる。
【００６３】
次に、本発明のベクトル処理装置の動作として命令実行処理（追い越し制御）について説明する。
【００６４】
まず、本発明のベクトル処理装置の動作として、上記の（２）の場合について図４を参照して説明する。上記の（２）の場合として、第１命令がベクトル収集命令であり、第２命令がベクトルストア命令であり、第３命令がベクトルロード命令であるものとする。ここで、命令発行部２は、第１命令としてベクトル収集命令（ＶＧＴ１）、第２命令としてベクトルストア命令（ＶＳＴ１）、第３命令としてベクトルロード命令（ＶＬＤ１）の順に、ベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ１）、ベクトルロード命令（ＶＬＤ１）を追い越し制御回路１に転送したものとする。また、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていないものとする。この場合、図４に示されるように、後続の第３命令（ベクトルロード命令）が、先行する第１命令（ベクトルストア命令）、第２命令（ベクトルストア命令）を追い越すことができる。
【００６５】
上記のシステムクロックであるクロックサイクルＴ１にて、命令発行部２からベクトル収集命令（ＶＧＴ１）が追い越し制御回路１に与えられる。命令発行部２は、ベクトル収集命令（ＶＧＴ１）を追い越し制御回路１に転送したとき、ベクトル収集命令（ＶＧＴ１）を転送した旨を表すベクトル収集命令転送情報をストアデータ・アドレスデータ準備部４に出力する。
【００６６】
ベクトル収集命令デコ−ダ３０は、命令発行部２からのベクトル収集命令（ＶＧＴ１）をデコ−ドし、クロックサイクルＴ１の次のクロックサイクルＴ２にて、上段ＶＧＴ（ベクトル収集）命令有効フラグ格納部３１にベクトル収集命令有効フラグ（ステ−ジ１−＃１）をセットする。
ベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ６０は、命令発行部２からのベクトル収集命令（ＶＧＴ１）をデコードし、クロックサイクルＴ２にて、デコ−ドされたベクトル収集命令（ＶＧＴ１）をデータとしてベクトル収集／ベクトルストア／ベクトル拡散命令格納部６１に格納する。
【００６７】
ベクトル収集命令有効フラグ（ステ−ジ１−＃１）は、クロックサイクルＴ２の次のクロックサイクルＴ３にて、ベクトル収集命令有効フラグ（ステ−ジ２−＃１）として下段ＶＧＴ（ベクトル収集）命令有効フラグ格納部３２に伝播される。
【００６８】
クロックサイクルＴ３の次のクロックサイクルＴ４にて、命令発行部２からベクトルストア命令（ＶＳＴ１）が追い越し制御回路１に与えられる。命令発行部２は、ベクトルストア命令（ＶＳＴ１）を追い越し制御回路１に転送したとき、ベクトルストア命令（ＶＳＴ１）を転送した旨を表すベクトルストア命令転送情報をストアデータ・アドレスデータ準備部４に出力する。
【００６９】
ベクトルストア命令デコ−ダ５０は、命令発行部２からのベクトルストア命令（ＶＳＴ１）をデコ−ドし、クロックサイクルＴ４の次のクロックサイクルＴ５にて、上段ＶＳＴ（ベクトルストア）命令有効フラグ格納部５１にベクトルストア命令有効フラグ（ステ−ジ１−＃１）をセットする。同時に、ベクトルストア命令デコ−ダ５０は、デコ−ドされたベクトルストア命令（ＶＳＴ１）に関連するアドレス領域（＃１）をＶＳＴ（ベクトルストア）命令アドレス格納レジスタ５５に格納する。
ベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ６０は、命令発行部２からのベクトルストア命令（ＶＳＴ１）をデコードし、クロックサイクルＴ５にて、デコ−ドされたベクトルストア命令（ＶＳＴ１）をデータとしてＶＧＴ／ＶＳＴ／ＶＳＣ（ベクトル収集／ベクトルストア／ベクトル拡散）命令格納部６１に格納する。
【００７０】
ベクトルストア命令有効フラグ（ステ−ジ１−＃１）は、クロックサイクルＴ５の次のクロックサイクルＴ６にて、ベクトルストア命令有効フラグ（ステ−ジ２−＃１）として下段ＶＳＴ（ベクトルストア）命令有効フラグ格納部５２に伝播される。
【００７１】
クロックサイクルＴ６の次のクロックサイクルＴ７にて、命令発行部２からベクトルロード命令（ＶＬＤ１）が追い越し制御回路１に与えられる。
【００７２】
ベクトルロード命令デコ−ダ２０は、命令発行部２からのベクトルロード命令（ＶＬＤ１）をデコ−ドし、クロックサイクルＴ７の次のクロックサイクルＴ８にて、ＶＬＤ（ベクトルロード）命令有効フラグ格納部２１にベクトルロード命令有効フラグをセットする。同時に、ベクトルロード命令デコ−ダ２０は、デコ−ドされたベクトルロード命令（ＶＬＤ１）をＶＬＤ（ベクトルロード）命令レジスタ２２に格納する。
【００７３】
クロックサイクルＴ８において、追い越し制御回路１は追い越し制御の判定を行う。
アドレス領域判定部５７は、ベクトルロード命令レジスタ２２に格納されているベクトルロード命令（ＶＬＤ１）に関連するアドレス領域と、ベクトルストア命令アドレス格納レジスタ５５に格納されているアドレス領域（＃１）を照合し、アドレス領域が重なっていないか否かを判定する。ここで、ベクトルロード命令（ＶＬＤ１）に関連するアドレス領域と、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域（＃１）とが重ならないため、アドレス領域判定部５７は、ベクトルストア命令追い越し許可情報を照合結果として出力する。
ベクトルロード命令有効フラグ格納部２１にベクトルロード命令有効フラグがセットされ、下段ベクトルストア命令有効フラグ格納部５２にベクトルストア命令有効フラグ（ステ−ジ２−＃１）がセットされていてもアドレス領域判定部５７からの照合結果がベクトルストア命令追い越し許可情報を表すため、追い越し判定部１０は、ベクトルストア命令追い越し許可情報を判定結果として出力する。
出力命令判定部１４は、追い越し判定部１０からの判定結果とベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果とベクトルロード命令有効フラグ２１に格納されたベクトルロード命令有効フラグとに基づいて、ベクトルロード命令（ＶＬＤ１）における追い越し許可信号を判定結果として出力命令選択部１５に出力する。ここで、ベクトルロード命令有効フラグ２１に格納されたベクトルロード命令有効フラグを出力命令判定部１４が読み出したとき、ベクトルロード命令有効フラグ２１に格納されたベクトルロード命令有効フラグがリセットされる。
【００７４】
クロックサイクルＴ８の次のクロックサイクルＴ９にて、出力命令選択部１５は、出力命令判定部１４からの判定結果である追い越し許可信号に応じて、ベクトルロード命令レジスタ２２に格納されたベクトルロード命令（ＶＬＤ１）を出力命令として命令実行部３に出力する。
【００７５】
ストアデータ・アドレスデータ準備部４は、クロックサイクルＴ１にて命令発行部２から出力されたベクトル収集命令転送情報を受けて、所定時間（図４において８サイクル）が経過した後にシステムクロックに同期して、ベクトル収集命令（ＶＧＴ１）に対応するリストアドレスを出力する。このとき、クロックサイクルＴ９の次のクロックサイクルＴ１０にて、ストアデータ・リストアドレス準備部４からベクトル収集命令（ＶＧＴ１）のリストアドレスが追い越し制御回路１に与えられる。
【００７６】
クロックサイクルＴ１０の次のクロックサイクルＴ１１にて、ストアデータ・リストアドレス格納部７０は、ストアデータ・アドレスデータ準備部４から転送されたベクトル収集命令（ＶＧＴ１）のリストアドレスをデータとして格納し、同時に、格納したベクトル収集命令（ＶＧＴ１）のリストアドレスが有効であることを示す有効ビットを設定する。
このとき、出力命令判定部１４は、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果およびストアデータ・リストアドレス格納部７０に設定された有効ビットにより、ベクトル収集命令（ＶＧＴ１）が出力可能であると判定する。
【００７７】
クロックサイクルＴ１１において、出力命令判定部１４は、ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果とに基づいて、ベクトル収集命令（ＶＧＴ１）における第１命令出力許可信号を判定結果として出力命令選択部１５に出力する。
【００７８】
クロックサイクルＴ１１の次のクロックサイクルＴ１２にて、出力命令選択部１５は、出力命令判定部１４からの判定結果である第１命令出力許可信号に応じて、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からのベクトル収集命令（ＶＧＴ１）を出力命令として命令実行部３に出力する。
【００７９】
ストアデータ・アドレスデータ準備部４は、クロックサイクルＴ４にて命令発行部２から出力されたベクトルストア命令転送情報を受けて、所定時間（図４において８サイクル）が経過した後にシステムクロックに同期して、ベクトルストア命令（ＶＳＴ１）に対応するリストアドレスを出力する。このとき、クロックサイクルＴ１２の次のクロックサイクルＴ１３にて、ストアデータ・リストアドレス準備部４からベクトルストア命令（ＶＳＴ１）のストアデータが追い越し制御回路１に与えられる。
【００８０】
クロックサイクルＴ１３の次のクロックサイクルＴ１４にて、ストアデータ・リストアドレス格納部７０は、ストアデータ・アドレスデータ準備部４から転送されたベクトルストア命令（ＶＳＴ１）のストアデータをデータとして格納し、同時に、格納したベクトルストア命令（ＶＳＴ１）のストアデータが有効であることを示す有効ビットを設定する。
このとき、出力命令判定部１４は、ベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果およびストアデータ・リストアドレス格納部７０に設定された有効ビットにより、ベクトルストア命令（ＶＳＴ１）が出力可能であると判定する。
【００８１】
クロックサイクルＴ１４において、出力命令判定部１４は、ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果とに基づいて、ベクトルストア命令（ＶＳＴ１）における第２命令出力許可信号を判定結果として出力命令選択部１５に出力する。
【００８２】
クロックサイクルＴ１４の次のクロックサイクルＴ１５にて、出力命令選択部１５は、出力命令判定部１４からの判定結果である第２命令出力許可信号に応じて、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からのベクトルストア命令（ＶＳＴ１）を出力命令として命令実行部３に出力する。
【００８３】
上記の（２）の場合として、第１命令がベクトル収集命令（ＶＧＴ１）であり、第２命令がベクトルストア命令（ＶＳＴ１）であり、第３命令がベクトルロード命令（ＶＬＤ１）であり、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていない場合、本発明における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ１）を追い越すことが可能である。このため、本発明における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ１）とが命令実行部３に転送されるのを待つ必要がない。
【００８４】
命令実行処理（追い越し制御）をベクトル処理装置に採用しない場合について説明する。即ち、ベクトル処理装置には、本発明における命令実行処理（追い越し制御）に必要な、追い越し判定部１０、出力命令判定部１４、出力命令選択部１５が設けられていない。
図５に示されるように、第１命令がベクトル収集命令（ＶＧＴ１）であり、第２命令がベクトルストア命令（ＶＳＴ１）であり、第３命令がベクトルロード命令（ＶＬＤ１）であり、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていない場合、命令実行処理（追い越し制御）を採用しないベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ１）を追い越すことが不可能である。即ち、追い越し制御を行わないと各命令は発行された順序で命令実行部３に転送される。このため、命令実行処理（追い越し制御）を採用しないベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ１）とが命令実行部３に転送されるのを待つ必要がある。
【００８５】
特許文献１〜５に記載された命令実行処理（追い越し制御）をベクトル処理装置に適用した場合について説明する。即ち、特許文献１〜５に記載されたベクトル処理装置には、本発明における命令実行処理（追い越し制御）に必要な、追い越し判定部１０、出力命令判定部１４が設けられておらず、特許文献１〜５に記載された判定部（判定回路、判断回路）が設けられている。
図６に示されるように、第１命令がベクトル収集命令（ＶＧＴ１）であり、第２命令がベクトルストア命令（ＶＳＴ１）であり、第３命令がベクトルロード命令（ＶＬＤ１）であり、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていない場合、特許文献１〜５における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）を追い越すことが可能である。しかし、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）を追い越すことは不可能である。このため、特許文献１〜５における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトル収集命令（ＶＧＴ１）が命令実行部３に転送されるのを待つ必要がある。
【００８６】
次に、本発明のベクトル処理装置の動作として、上記の（２）の場合について図７を参照して説明する。上記の（２）の場合として、第１命令がベクトルストア命令であり、第２命令がベクトル収集命令であり、第３命令がベクトルロード命令であるものとする。ここで、命令発行部２は、第１命令としてベクトルストア命令（ＶＳＴ１）、第２命令としてベクトル収集命令（ＶＧＴ１）、第３命令としてベクトルロード命令（ＶＬＤ１）の順に、ベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）、ベクトルロード命令（ＶＬＤ１）を追い越し制御回路１に転送したものとする。また、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていないものとする。
この場合、図７に示されるように、本発明における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）を追い越すことが可能である。このため、本発明における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とが命令実行部３に転送されるのを待つ必要がない。
【００８７】
命令実行処理（追い越し制御）をベクトル処理装置に採用しない場合について説明する。
図８に示されるように、命令実行処理（追い越し制御）を採用しないベクトル処理装置では、第１命令がベクトルストア命令（ＶＳＴ１）であり、第２命令がベクトル収集命令（ＶＧＴ１）であり、第３命令がベクトルロード命令（ＶＬＤ１）であり、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていない場合、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）を追い越すことが不可能である。即ち、追い越し制御を行わないと各命令は発行された順序で命令実行部３に転送される。このため、命令実行処理（追い越し制御）を採用しないベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とが命令実行部３に転送されるのを待つ必要がある。
【００８８】
特許文献１〜５に記載された命令実行処理（追い越し制御）をベクトル処理装置に適用した場合について説明する。
図９に示されるように、第１命令がベクトルストア命令（ＶＳＴ１）であり、第２命令がベクトル収集命令（ＶＧＴ１）であり、第３命令がベクトルロード命令（ＶＬＤ１）であり、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域とベクトルロード命令（ＶＬＤ１）に関連するアドレス領域は重なっていない場合、特許文献１〜５における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトル収集命令（ＶＧＴ１）を追い越すことが可能である。しかし、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）を追い越すことは不可能である。このため、特許文献１〜５における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）が命令実行部３に転送されるのを待つ必要がある。
【００８９】
次に、本発明のベクトル処理装置の動作として、上記の（４）の場合について図１０を参照して説明する。上記の（４）の場合として、第１命令がベクトルストア命令であり、第２命令がベクトル収集命令であり、第３命令がベクトルストア命令であり、第４命令がベクトル収集命令であり、第５命令がベクトルロード命令であるものとする。ここで、命令発行部２は、第１命令としてベクトルストア命令（ＶＳＴ１）、第２命令としてベクトル収集命令（ＶＧＴ１）、第３命令としてベクトルストア命令（ＶＳＴ２）、第４命令としてベクトル収集命令（ＶＧＴ２）、第５命令としてベクトルロード命令（ＶＬＤ１）の順に、ベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ２）、ベクトル収集命令（ＶＧＴ２）、ベクトルロード命令（ＶＬＤ１）を追い越し制御回路１に転送したものとする。また、ベクトルストア命令（ＶＳＴ１）に関連するアドレス領域と、ベクトルストア命令（ＶＳＴ２）に関連するアドレス領域と、ベクトルロード命令（ＶＬＤ１）に関連するアドレス領域とは、重なっていないものとする。
この場合、図１０に示されるように、本発明における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、後続のベクトルロード命令（ＶＬＤ１）が、先行するベクトルストア命令（ＶＳＴ１）、ベクトル収集命令（ＶＧＴ１）、ベクトルストア命令（ＶＳＴ２）、ベクトル収集命令（ＶＧＴ２）を追い越すことが可能である。このため、本発明における命令実行処理（追い越し制御）が適用されたベクトル処理装置では、ベクトルロード命令（ＶＬＤ１）は、ベクトルストア命令（ＶＳＴ１）とベクトル収集命令（ＶＧＴ１）とベクトルストア命令（ＶＳＴ２）とベクトル収集命令（ＶＧＴ２）とが命令実行部３に転送されるのを待つ必要がない。
【００９０】
本発明のベクトル処理装置の構成では、上記（４）の場合を可能にするために、ベクトル収集命令有効フラグを２ペア、ベクトルストア命令有効フラグを２ペアとしているが、ベクトル収集命令有効フラグおよびベクトルストア命令有効フラグを増やすことが可能であり、追い越しの対象となるベクトルストア命令およびベクトル収集命令の命令数を増やすことが可能である。
【００９１】
以上の説明により、本発明のベクトル処理装置における命令実行処理（追い越し制御）では、ベクトルロード命令が、ベクトル収集命令とベクトルストア命令の任意の組み合わせを追い越すことができる。このため、本発明のベクトル処理装置では、ベクトル収集命令、ベクトルストア命令を実行するための準備時間の間にベクトルロード命令を実行することにより、ベクトルロード命令が命令実行部３に転送されるまでの待ち時間を短縮でき、メモリアクセスに必要な処理時間を大きく改善することができることである。即ち、本発明のベクトル処理装置によれば、従来のベクトル処理装置よりもメモリアクセスを更に高速化することができる。
【００９２】
本発明のベクトル処理装置において、ベクトルロード命令がベクトルストア命令およびベクトル収集命令を追い越す制御を実施例として取り上げているが、本発明の他の実施例として、追い越しを行う命令であるベクトルロード命令に以下の２種類の命令を追加することが考えられる。２種類の命令の追加を追加１、追加２とする。
追加１とは、ベクトルロード命令が、ロード系であり、アクセスするアドレス領域が特定できる命令を表す（以下スカラ系ロード命令）。
追加２とは、ストア系であり、ストアデータが格納されていて、アクセスするアドレス領域が特定できる命令を表す（以下スカラ系ストア命令）。
【００９３】
追加１について説明する。
【００９４】
本発明の他の実施例に係るベクトル処理装置の構成として、追加１を考慮した構成を図１１に示す。図１１に示される本発明のベクトル処理装置では、図１に示される本発明のベクトル処理装置に対して、ベクトルロード命令デコ−ダ２０をベクトルロード／スカラロード命令デコ−ダ８０に置き換え、ベクトルロード命令有効フラグ格納部２１をベクトルロード／スカラロード命令有効フラグ格納部８１に置き換え、ベクトルロード命令レジスタ２２をベクトルロード／スカラロード命令レジスタ８２に置き換えている。
図１１に示される本発明のベクトル処理装置では、図１に示される本発明のベクトル処理装置と同じ構成要件については同一符号を付しており、重複する説明を割愛する。スカラ系ロード命令は、同じ領域にアクセスしているベクトルロード命令と同じであると考えられるので、ベクトルロード命令に関係する構成要素についてのみスカラ系ロード命令を考慮する。
【００９５】
ベクトルロード／スカラロード命令デコ−ダ８０は、命令発行部２から送られるベクトル命令を解析し、そのベクトル命令がベクトルロード／スカラロード命令である場合は、ベクトルロード／スカラロード命令有効フラグ格納部８１にベクトルロード／スカラロード命令有効フラグをセットし、同時にベクトルロード／スカラロード命令レジスタ８２にベクトルロード／スカラロード命令をデータとして格納する。
追い越し判定部１０は、ベクトルロード／スカラロード命令有効フラグ格納部８１、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトルストア命令有効フラグ格納部５２、５４にセットされるフラグと、アドレス領域判定部５７、５８からの照合結果（ベクトルストア命令追い越し許可情報／ベクトルストア命令追い越し禁止情報）とに基づいて、後続のベクトルロード／スカラロード命令がベクトルストア命令、ベクトル拡散命令を追い越し可能か否かを判定し、判定結果（ベクトル拡散命令追い越し禁止情報、ベクトルストア命令追い越し禁止情報、ベクトルストア命令追い越し許可情報）を出力する。
出力命令判定部１４は、追い越し判定部１０からの判定結果（ベクトル拡散命令追い越し禁止情報、ベクトルストア命令追い越し禁止情報、ベクトルストア命令追い越し許可情報）とベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果（ベクトル収集命令確認情報、ベクトルストア命令確認情報、ベクトル拡散命令確認情報）とベクトルロード／スカラロード命令有効フラグ格納部８１に格納されたベクトルロード／スカラロード命令有効フラグとに基づいて、命令実行部３に転送すべきベクトル命令（ベクトルロード／スカラロード命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を表す判定結果を出力命令選択部１５に出力する。
出力命令選択部１５は、出力命令判定部１４からの判定結果に応じて、ベクトルロード／スカラロード命令レジスタ８２に格納されたベクトルロード／スカラロード命令、又は、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からのベクトル命令（ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を選択し、出力命令として命令実行部３に出力（転送）する。
【００９６】
追加２について説明する。
【００９７】
本発明の他の実施例に係るベクトル処理装置の構成として、追加２を考慮した構成を図１２に示す。図１２に示される本発明のベクトル処理装置では、図１に示される本発明のベクトル処理装置に対して、ベクトルロード命令デコ−ダ２０をベクトルロード／スカラロード／スカラストア命令デコ−ダ９０に置き換え、ベクトルロード命令有効フラグ格納部２１をベクトルロード／スカラロード／スカラストア命令有効フラグ格納部９１に置き換え、ベクトルロード命令レジスタ２２をベクトルロード／スカラロード／スカラストア命令レジスタ９２に置き換えている。
図１２に示される本発明のベクトル処理装置では、図１に示される本発明のベクトル処理装置と同じ構成要件については同一符号を付しており、重複する説明を割愛する。
また、スカラ系ストア命令はベクトル収集命令を追い越すことは不可能である。このため、下段ベクトル収集命令有効フラグ格納部３２、３４から追い越し判定部１０にベクトル収集命令の存在を伝えるための信号線１００、１０１を追加している。即ち、追い越し判定部１０は、更に、下段ベクトル収集命令有効フラグ格納部３２、３４に接続されている。
先行命令としてベクトル収集命令が存在しないときは、スカラ系ストア命令はベクトルロード命令と同様に追い越しを行うことが可能である。先行命令としてベクトル収集命令が存在するときは、ベクトル収集命令が命令実行部３に転送されるまでスカラ系ストア命令は追い越しを行うことが不可能である。
【００９８】
ベクトルロード／スカラロード／スカラストア命令デコ−ダ９０は、命令発行部２から送られるベクトル命令を解析し、そのベクトル命令がベクトルロード／スカラロード／スカラストア命令である場合は、ベクトルロード／スカラロード／スカラストア命令有効フラグ格納部９１にベクトルロード／スカラロード／スカラストア命令有効フラグをセットし、同時にベクトルロード／スカラロード／スカラストア命令レジスタ９２にベクトルロード／スカラロード／スカラストア命令をデータとして格納する。
追い越し判定部１０は、ベクトルロード／スカラロード／スカラストア命令有効フラグ格納部９１、下段ベクトル拡散命令有効フラグ格納部４２、４４、下段ベクトル収集命令有効フラグ格納部３２、３４、下段ベクトルストア命令有効フラグ格納部５２、５４にセットされるフラグと、アドレス領域判定部５７、５８からの照合結果（ベクトルストア命令追い越し許可情報／ベクトルストア命令追い越し禁止情報）とに基づいて、後続のベクトルロード／スカラロード／スカラストア命令がベクトルストア命令、ベクトル拡散命令を追い越し可能か否かを判定し、判定結果（ベクトル拡散命令追い越し禁止情報、ベクトルストア命令追い越し禁止情報、ベクトルストア命令追い越し許可情報）を出力する。
出力命令判定部１４は、追い越し判定部１０からの判定結果（ベクトル拡散命令追い越し禁止情報、ベクトルストア命令追い越し禁止情報、ベクトルストア命令追い越し許可情報）とベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部１１からの順序情報とベクトル収集／ベクトルストア／ベクトル拡散命令出力判定部１３からの判定結果（ベクトル収集命令確認情報、ベクトルストア命令確認情報、ベクトル拡散命令確認情報）とベクトルロード／スカラロード／スカラストア命令有効フラグ格納部８１に格納されたベクトルロード／スカラロード／スカラストア命令有効フラグとに基づいて、命令実行部３に転送すべきベクトル命令（ベクトルロード／スカラロード／スカラストア命令、ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を表す判定結果を出力命令選択部１５に出力する。
出力命令選択部１５は、出力命令判定部１４からの判定結果に応じて、ベクトルロード／スカラロード／スカラストア命令レジスタ９２に格納されたベクトルロード／スカラロード／スカラストア命令、又は、ベクトル収集／ベクトルストア／ベクトル拡散命令情報格納手段６１からのベクトル命令（ベクトル収集命令、ベクトルストア命令、ベクトル拡散命令）を選択し、出力命令として命令実行部３に出力（転送）する。
【００９９】
このように、本発明のベクトル処理装置_では、追い越し制御を行うことができる命令の組み合わせを幅広く取ることが出来るので、これまで以上に多くの命令の組み合わせにおいてメモリアクセスに必要な処理時間を大きく改善することができる。
【図面の簡単な説明】
【０１００】
【図１】図１は、本発明のベクトル処理装置における命令実行処理に用いられるベクトル命令を実行するために必要なデータと、その命令を実行するための準備に必要な準備時間との比較結果を示す。
【図２】図２は、本発明のベクトル処理装置における命令実行処理に用いられるベクトル命令が先行命令または後続命令となったときに追い越し可能な組み合わせとその効果を示す。
【図３】図３は、本発明のベクトル処理装置の構成を示す。
【図４】図４は、本発明のベクトル処理装置における命令実行処理（追い越し制御）の動作を示すフローチャートである。
【図５】図５は、従来のベクトル処理装置の動作を示すフローチャートである。
【図６】図６は、従来のベクトル処理装置における命令実行処理（追い越し制御）の動作を示すフローチャートである。
【図７】図７は、本発明のベクトル処理装置における命令実行処理（追い越し制御）の動作を示すフローチャートである。
【図８】図８は、従来のベクトル処理装置の動作を示すフローチャートである。
【図９】図９は、従来のベクトル処理装置における命令実行処理（追い越し制御）の動作を示すフローチャートである。
【図１０】図１０は、本発明のベクトル処理装置における命令実行処理（追い越し制御）の動作を示すフローチャートである。
【図１１】図１１は、本発明のベクトル処理装置の他の構成を示す。
【図１２】図１２は、本発明のベクトル処理装置の更に他の構成を示す。
【符号の説明】
【０１０１】
１    追い越し制御回路
２    命令発行部
３    命令実行部
４    ストアデータ・アドレスデータ準備部
１０    追い越し判定部
１１    ベクトル収集／ベクトルストア／ベクトル拡散命令順序保持部
１２    許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部
１３    許可待ちベクトル収集／ベクトルストア／ベクトル拡散命令判定部
１４    出力命令判定部
１５    出力命令選択部
２０    ベクトルロード命令デコ−ダ
２１    ベクトルロード命令有効フラグ格納部
２２    ベクトルロード命令レジスタ
３０    ベクトル収集命令デコ−ダ
３１    上段ベクトル収集命令有効フラグ格納部
３２    下段ベクトル収集命令有効フラグ格納部
３３    上段ベクトル収集命令有効フラグ格納部
３４    下段ベクトル収集命令有効フラグ格納部
４０    ベクトル拡散命令デコ−ダ
４１    上段ベクトル拡散命令有効フラグ格納部
４２    下段ベクトル拡散命令有効フラグ格納部
４３    上段ベクトル拡散命令有効フラグ格納部
４４    下段ベクトル拡散命令有効フラグ格納部
５０    ベクトルストア命令デコ−ダ
５１    上段ベクトルストア命令有効フラグ格納部
５２    下段ベクトルストア命令有効フラグ格納部
５３    上段ベクトルストア命令有効フラグ格納部
５４    下段ベクトルストア命令有効フラグ格納部
５５    ベクトルストア命令アドレス格納レジスタ
５６    ベクトルストア命令アドレス格納レジスタ
５７    アドレス領域判定部
５８    アドレス領域判定部
６０    ベクトル収集／ベクトルストア／ベクトル拡散命令デコ−ダ
６１    ベクトル収集／ベクトルストア／ベクトル拡散命令格納部
７０    ストアデータ・リストアドレス格納部
８０    ベクトルロード／スカラロード命令デコ−ダ
８１    ベクトルロード／スカラロード命令有効フラグ格納部
８２    ベクトルロード／スカラロード命令レジスタ
９０    ベクトルロード／スカラロード／スカラストア命令デコ−ダ
９１    ベクトルロード／スカラロード／スカラストア命令有効フラグ格納部
９２    ベクトルロード／スカラロード／スカラストア命令レジスタ
１００、１０１    信号線
２００    主記憶メモリ
【図１】
2005235135.tif 000003
【図２】
2005235135.tif 000004
【図３】
2005235135.tif 000005
【図４】
2005235135.tif 000006
【図５】
2005235135.tif 000007
【図６】
2005235135.tif 000008
【図７】
2005235135.tif 000009
【図８】
2005235135.tif 000010
【図９】
2005235135.tif 000011
【図１０】
2005235135.tif 000012
【図１１】
2005235135.tif 000013
【図１２】
2005235135.tif 000014