"外部から受け付けた複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路と、前記受け付けた複数の命令のうち複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令について、当該リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、当該抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、前記命令保持回路に格納するアドレス抽出回路と、前記命令保持回路に格納された最大アドレス及び最小アドレスに基づき、前記リストベクトル命令と、当該リストベクトル命令の後続命令との追い越し判定を行う追い越し判定回路と、を備えるベクトル命令制御回路。前記リストアドレスには、N個Nは、2以上の自然数のアドレスの指定を含み、前記アドレス抽出回路は、アドレスを保持するためのM個Mは、2以上かつN未満の自然数のアドレス保持回路と、前記リストアドレスからM個ごとにアドレスを選択して前記M個のアドレス保持回路に格納する選択回路と、前記M個のアドレス保持回路に保持されたアドレスのうち最大値及び最小値を選択する第1の最大最小アドレス選択回路と、前記最大アドレス及び前記最小アドレスを保持する最大最小アドレス保持回路と、前記最大最小アドレス保持回路に保持された最大アドレスと、前記第1の最大最小アドレス選択回路により選択された最大値とのうち最大値を前記最大アドレスとして選択し、前記最大最小アドレス保持回路に保持された最小アドレスと、前記第1の最大最小アドレス選択回路により選択された最小値とのうち最小値を前記最小アドレスとして選択し、当該選択された最大アドレス及び最小アドレスにより前記最大最小アドレス保持回路を更新する第2の最大最小アドレス選択回路と、を有することを特徴とする請求項1に記載のベクトル命令制御回路。前記リストベクトル命令におけるストアデータを保持するストアデータ保持回路をさらに備え、前記命令保持回路は、前記リストベクトル命令におけるストアデータが前記ストアデータ保持回路に格納されたことを示すストアデータ格納完了情報を当該リストベクトル命令に対応付けてさらに保持し、前記追い越し判定回路は、前記命令保持回路に、前記リストベクトル命令に対応付けられた最大アドレス及び最小アドレスが保持されており、かつ、前記ストアデータ格納完了情報が格納されていた場合に、当該リストベクトル命令について前記追い越し判定の対象とすることを特徴とする請求項1又は2に記載のベクトル命令制御回路。前記命令保持回路は、前記アクセス先のメモリのアドレスとして、当該アドレスの一部のビットを保持し、前記アドレス抽出回路は、前記リストアドレス内のアドレスの一部のビットを比較して、当該一部のビットを前記最大アドレス及び前記最小アドレスとして抽出することを特徴とする請求項1乃至3のいずれか1項に記載のベクトル命令制御回路。前記一部のビットは、上位の所定数のビットであることを特徴とする請求項4に記載のベクトル命令制御回路。複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路を有するベクトル命令制御回路におけるリストベクトルの追い越し制御方法であって、前記ベクトル命令制御回路において、外部から複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令を受け付け、前記リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、前記抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、前記命令保持回路に格納し、前記外部から前記リストベクトル命令の後続命令を受け付け、前記命令保持回路に格納された最大アドレス及び最小アドレスに基づき、前記リストベクトル命令と、前記後続命令との追い越し判定を行うリストベクトルの追い越し制御方法。前記リストアドレスには、N個Nは、2以上の自然数のアドレスの指定を含み、前記ベクトル命令制御回路は、前記最大アドレス及び前記最小アドレスを保持する最大最小アドレス保持回路をさらに有し、前記ベクトル命令制御回路において、前記リストアドレスからM個Mは、2以上かつN未満の自然数のアドレスを第1のグループとして選択し、前記第1のグループのうち最大値及び最小値を第1の最大アドレス及び第1の最小アドレスとして選択し、前記選択された第1の最大アドレス及び第1の最小アドレスを前記最大最小アドレス保持回路へ格納し、前記リストアドレスから前記第1のグループ以外のM個以内のアドレスを第2のグループとして選択し、前記第2のグループのうち最大値及び最小値を第2の最大アドレス及び第2の最小アドレスとして選択し、前記第1の最大アドレスと前記第2の最大アドレスとのうち最大値を前記リストベクトル命令における最大アドレスとして抽出して、当該最大アドレスにより前記最大最小アドレス保持回路を更新し、前記第1の最小アドレスと前記第2の最小アドレスとのうち最小値を前記リストベクトル命令における最小アドレスとして抽出して、当該最小アドレスにより前記最大最小アドレス保持回路を更新することを特徴とする請求項6に記載のリストベクトルの追い越し制御方法。前記ベクトル命令制御回路は、前記リストベクトル命令におけるストアデータを保持するストアデータ保持回路をさらに有し、前記命令保持回路は、前記リストベクトル命令におけるストアデータが前記ストアデータ保持回路に格納されたことを示すストアデータ格納完了情報を当該リストベクトル命令に対応付けてさらに保持し、前記ベクトル命令制御回路において、前記命令保持回路に、前記リストベクトル命令に対応付けられた最大アドレス及び最小アドレスが保持されており、かつ、前記ストアデータ格納完了情報が格納されていた場合に、当該リストベクトル命令について前記追い越し判定の対象とすることを特徴とする請求項6又は7に記載のリストベクトルの追い越し制御方法。前記命令保持回路は、前記アクセス先のメモリのアドレスとして、当該アドレスの一部のビットを保持し、前記ベクトル命令制御回路において、前記リストアドレス内のアドレスの一部のビットを比較して、当該一部のビットを前記最大アドレス及び前記最小アドレスとして抽出することを特徴とする請求項6乃至8のいずれか1項に記載のリストベクトルの追い越し制御方法。前記一部のビットは、上位の所定数のビットであることを特徴とする請求項9に記載のリストベクトルの追い越し制御方法。上述したように、特許文献1では、リストベクトルの追い越し制御を実現できない。そして、特許文献2及び3では、リストベクトルの追い越し制御を実現するには、メモリアクセス性能やプログラム処理速度が犠牲になってしまうという問題点があった。具体的には、特許文献2にかかる方法には以下の問題点がある。まず、ベクトルスキャタ命令がアクセスするアドレス範囲を入手するためには、演算性能等が犠牲になる可能性が高くなる。その理由は、ベクトルスキャタ命令の1命令に対してスカラレジスタを2個消費するため、貴重な資源であるスカラレジスタの使用効率が低下するからである。また、コンパイラは、ベクトルスキャタ命令の先頭/最終アドレスの認識できる精度が低くなる。その理由は、コンパイラが認識する先頭/最終アドレスは、配列をメモリに割り付ける際の先頭/最終アドレスであるため、当該配列を実際にベクトルスキャッタ命令でメモリへストアする際のアドレス範囲より広いアドレス範囲が指定されることになり得るからである。そのため、実際には追い越し可能なケースであっても、追い越し不可と判定されるケースがあり得る。よって、特許文献2の実施例においては、コンパイラによりベクトルストア命令の先頭/最終アドレスを認識できるにも関わらず、ハードウェアにおいてベクトルストア命令実行時にアクセスする領域を計算する手段を備えている。また、特許文献3では、特許文献2のようなスカラレジスタを使用することは無いため、特許文献2で発生するスカラレジスタの使用効率低下の問題は回避される。しかし、コンパイラにて常にアドレス依存関係が判別できる訳ではなく、あくまでも判別が可能な場合においてのみ追い越しフラグを設定するものである。そして、特許文献3には、コンパイラで判別できない場合に、当該ビットを設定しない0を設定との記載もある。そのため、プログラム中の全てに適用できず、その効果も限定的である。また、特許文献3の実施例においても、ベクトルストア命令については、コンパイラで後続命令とのアドレス依存解析をおこなうのではなく、ハードウェアが命令実行時におこなうとの記載になっている。これは、コンパイラで判断するには限界があること示唆している。本発明は、このような問題点を解決するためになされたものであり、メモリアクセスの性能及びプログラムの処理速度への影響を抑えた上で、リストベクトルの追い越し制御を実現するためのベクトル命令制御回路及びリストベクトルの追い越し制御方法を提供することを目的とする。本発明の第1の態様にかかるベクトル命令制御回路は、外部から受け付けた複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路と、前記受け付けた複数の命令のうち複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令について、当該リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、当該抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、前記命令保持回路に格納するアドレス抽出回路と、前記命令保持回路に格納された最大アドレス及び最小アドレスに基づき、前記リストベクトル命令と、当該リストベクトル命令の後続命令との追い越し判定を行う追い越し判定回路と、を備える。本発明の第2の態様にかかるリストベクトルの追い越し制御方法は、複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路を有するベクトル命令制御回路におけるリストベクトルの追い越し制御方法であって、前記ベクトル命令制御回路において、外部から複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令を受け付け、前記リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、前記抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、前記命令保持回路に格納し、前記外部から前記リストベクトル命令の後続命令を受け付け、前記命令保持回路に格納された最大アドレス及び最小アドレスに基づき、前記リストベクトル命令と、前記後続命令との追い越し判定を行う。本発明により、メモリアクセスの性能及びプログラムの処理速度への影響を抑えた上で、リストベクトルの追い越し制御を実現するためのベクトル命令制御回路及びリストベクトルの追い越し制御方法を提供することができる。以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。<発明の実施の形態1>図1は、本発明の実施の形態1にかかるベクトル命令制御回路100の構成を示すブロック図である。ベクトル命令制御回路100は、外部からメモリへのアクセスを行う命令を受け付けて、具体的なアクセス先のアドレスに対するメモリアクセスリクエストを発行する回路である。特に、ベクトル命令制御回路100は、ベクトルスキャタ命令及びベクトルギャザー命令といったリスクベクトル命令の追い越し制御を行う。ベクトル命令制御回路100は、命令保持回路101と、アドレス抽出回路102と、追い越し判定回路103とを備える。命令保持回路101は、外部から受け付けた複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する。アドレス抽出回路102は、受け付けた複数の命令のうち複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令について、当該リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、当該抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、命令保持回路101に格納する。追い越し判定回路103は、命令保持回路101に格納された最大アドレス及び最小アドレスに基づき、リストベクトル命令と、当該リストベクトル命令以外である当該リストベクトル命令の後続命令との追い越し判定を行う。図2は、本発明の実施の形態1にかかるリストベクトルの追い越し制御方法の処理の流れを示すフローチャートである。まず、ベクトル命令制御回路100は、外部からリストベクトル命令を受け付けるS11。次に、アドレス抽出回路102は、リストアドレス内のアドレスを比較して、最大アドレス及び最小アドレスを抽出するS12。そして、アドレス抽出回路102は、最大アドレス及び最小アドレスをリストベクトル命令に対応付けて命令保持回路101に格納するS13。続いて、ベクトル命令制御回路100は、リストベクトル命令以外の後続命令を受け付けるS14。そして、追い越し判定回路103は、最大アドレス及び最小アドレスに基づき、リストベクトル命令と後続命令の追い越し判定を行うS15。これにより、追い越し判定回路103は、後続命令におけるメモリのアクセス先のアドレスの範囲が、先行するリストベクトル命令における最大アドレスと最小アドレスの間と重なるか否かを判定することができる。そして、追い越し判定回路103は、先行するリストベクトル命令における最大アドレスと最小アドレスの間と重ならないと判定した場合、当該後続命令を先行するリストベクトル命令を追い越して、先に実行させることができる。このように、本発明の実施の形態1では、リストアドレスにおけるアクセス先の不規則性に対して、アドレス抽出回路102というハードウェアによりリストアドレス内の各アドレスについての最大値及び最小値を抽出する。そのため、特許文献2のようなコンパイラによる最大アドレス及び最小アドレスの特定と比べて、正確かつ高速にリストベクトル命令のアクセス範囲を特定することができる。よって、本発明の実施の形態1により、メモリアクセスの性能及びプログラムの処理速度への影響を抑えた上で、リストベクトルの追い越し制御を実現することができる。<発明の実施の形態2>続いて、上述した実施の形態1の一実施例として本発明の実施の形態2について説明する。本発明の実施の形態2は、ベクトル処理装置及び当該ベクトル処理装置を用いたメモリアクセス命令の追い越し制御方法に関するものである。本発明の実施の形態2では、ハードウェアにてベクトルスキャタ命令及びベクトルギャザー命令のアクセス範囲を判定することにより、当該ベクトルスキャタ命令およびベクトルギャザー命令とその前後のメモリアクセス命令との追い越しを可能にすることを特徴とする。本発明の実施の形態2に係るデータ処理装置は、その好ましい一実施の形態において、HPCHighPerformanceComputer向け中央演算処理装置などがあり、以下に本発明の一構成例を示す。図3は、本発明の実施の形態2にかかるベクトル処理装置10の構成を示すブロック図である。図3によると、本発明の実施の形態2にかかるベクトル処理装置10は、命令発行部1と、ベクトル処理部2と、メモリアクセス処理部3とを備え、メモリ部4へのメモリアクセス命令を発行する。命令発行部1は、命令の発行およびスカラ系処理を担うスカラ処理部である。命令発行部1は、スカラレジスタ群11を備える。スカラレジスタ群11は、命令発行部1がスカラ系命令を処理する際に用いるレジスタ群である。ベクトル処理部2は、命令発行部1よりベクトル系命令を受け付け、ベクトル演算他ベクトル処理全般を担う。ベクトル処理部2は、ベクトルレジスタ群21を備える。ベクトルレジスタ群21は、ベクトル処理部2がベクトル系命令を処理する際に用いるレジスタ群である。例えば、ベクトルレジスタ群21には、ベクトル系命令に含まれるリストアドレスやストアデータが格納される。メモリアクセス処理部3は、命令発行部1よりメモリアクセス系命令を受け付け、メモリアクセス命令間の追い越し制御を行い、メモリ部4に対して具体的なアドレスを指定したメモリアクセスリクエストを発行する。次に、メモリアクセス処理部3は、命令保持及び追い越し制御手段30と、VLD/VSTアクセス領域計算手段31と、リストアドレス保持手段32と、ストアデータ保持手段33と、最大/最小アドレス抽出手段34と、メモリロード/ストアリクエスト生成手段35とを備える。命令保持及び追い越し制御手段30は、命令発行部1より発行されたメモリアクセス命令を受け付けて、保持する。併せて、命令保持及び追い越し制御手段30は、それぞれのメモリアクセス命令のアクセス領域情報からメモリアクセス命令間の依存関係を解析し、命令発行順序を制御する。VLD/VSTアクセス領域計算手段31は、ベクトルロード命令図中はVLDと表記及びベクトルストア命令図中はVSTと表記について、命令内で指定される先頭アドレス、ディスタンス及びベクトル長の情報より、当該命令がメモリアクセスする領域を計算する。リストアドレス保持手段32は、ベクトル処理部2よりベクトルギャザー命令及びベクトルスキャタ命令のリストアドレスを受け付け、保持する記憶装置である。ストアデータ保持手段33は、ベクトル処理部2よりベクトルストア命令及びベクトルスキャタ命令のストアデータを受け付け、保持する記憶装置である。最大/最小アドレス抽出手段34は、ベクトル処理部2より転送されるリストアドレスのアクセス領域を判定するため、転送されるリストアドレスの中から最小アドレスと最大アドレスを抽出する。メモリロード/ストアリクエスト生成手段35は、命令保持及び追い越し制御手段30より発行された命令59を受け付ける。メモリロード/ストアリクエスト生成手段35は、当該命令がベクトルギャザー命令であれば、リストアドレス保持手段32からリストアドレス62の転送を受け付ける。メモリロード/ストアリクエスト生成手段35は、当該命令がベクトルスキャタ命令であれば、リストアドレス保持手段32からリストアドレス62及びストアデータ保持手段33からストアデータ63の転送を受け付ける。メモリロード/ストアリクエスト生成手段35は、当該命令がベクトルストア命令であれば、ストアデータ保持手段33からストアデータ63の転送を受け付ける。そして、メモリロード/ストアリクエスト生成手段35は、転送された情報からメモリロードリクエスト又はメモリストアリクエストを生成して、メモリ部4へのリクエスト発行64を行う。続いて、図3を参照してベクトル処理装置10の動作について説明する。まず、命令発行部1は、メモリ部4からフェッチした命令を解読し、その命令種に応じて命令をベクトル処理部2又はメモリアクセス処理部3に発行する。具体的には、命令発行部1は、解読した命令種がスカラ系の命令を示す場合、自己でスカラ系処理を行った後に、メモリアクセス処理部3に対してアクセス先のアドレスを指定したメモリアクセス命令を発行命令発行51及び命令52する。また、命令発行部1は、解読した命令種がベクトルロード命令又はベクトルストア命令を示す場合、メモリアクセス処理部3に対してアクセス先を示す情報含むベクトルロード命令又はベクトルストア命令をメモリアクセス命令として発行命令発行51する。また、命令発行部1は、解読した命令種がベクトルスキャタ命令又はベクトルロード命令を示す場合、ベクトル処理部2に対してベクトルスキャタ命令又はベクトルロード命令を発行命令発行54する。また、命令発行部1は、発行するそれぞれの命令に、命令の識別ができるよう命令IDと呼ぶ識別子を付与した上で発行するものとする。ここで、命令発行部1からベクトル処理部2へ発行される命令は、ベクトル処理部2の内部に有するベクトルレジスタに格納されたデータに対して様々な演算処理を施す各種ベクトル演算命令の他、ベクトルストア命令、ベクトルスキャタ命令及びベクトルギャザー命令と呼ばれるメモリアクセス命令がある。ベクトルストア命令とは、ベクトルレジスタに格納されたデータをメモリに書き込む命令である。ベクトルスキャタ命令とは、ベクトルレジスタに格納されたデータを別のベクトルレジスタに格納されたリストアドレスで指定されるメモリ番地へ書き込む命令である。ベクトルギャザー命令とは、ベクトルレジスタに格納されたリストアドレスで指定されるメモリ番地からベクトルレジスタにデータを読み出す命令である。ベクトル処理部2は、ベクトルストア命令を受け付けた場合、命令内で指定されるベクトルレジスタからストアデータを読み出し、メモリアクセス処理部3へ転送するストアデータ転送56。ここで、ベクトル処理部2は、ストアデータの他、その制御情報として転送データが有効であることを示すValidビット、1命令分のストアデータの最初/最後の転送であることを示すStart/Endビット、どの命令に対するストアデータかを示す命令IDを付与する。そして、転送されたストアデータは、メモリアクセス処理部3内のストアデータ保持手段33で保持される。ベクトル処理部2は、ベクトルギャザー命令を受け付けた場合、命令内で指定されるベクトルレジスタからリストアドレスを読み出し、メモリアクセス処理部3へ転送するリストアドレス転送55。ここで、ベクトル処理部2は、リストアドレスの他、その制御情報として転送データが有効であることを示すValidビット、1命令分のストアデータの最初/最後の転送であることを示すStart/Endビット、どの命令に対するストアデータかを示す命令IDを付与する。そして、転送されたリストアドレスは、メモリアクセス処理部3内の、リストアドレス保持手段32で保持される。ベクトル処理部2は、ベクトルスキャタ命令を受け付けた場合、命令内で指定される2つのベクトルレジスタから、それぞれリストアドレス/ストアデータを読み出し、それぞれメモリアクセス処理部3へ転送するリストアドレス転送55及びストアデータ転送56。ただし、ベクトル処理部2の内部処理の状況によって、それぞれの転送可能なタイミングは異なるため、リストアドレス転送55の転送タイミングとストアデータ転送56の転送タイミングは非同期である。リストアドレス/ストアデータの他、その制御情報として転送データが有効であることを示すValidビット、1命令分のストアデータの最初/最後の転送であることを示すStart/Endビット、どの命令に対するリストアドレス/ストアデータかを示す命令IDを付与する。そして、転送されたリストアドレス及びストアデータは、それぞれメモリアクセス処理部3内の、リストアドレス保持手段32およびストアデータ保持手段33で保持される。また、ベクトル処理部2からメモリアクセス処理部3へリストアドレスが転送された場合、リストアドレス保持手段32の他、最大/最小アドレス抽出手段34へも当該リストアドレスが転送される。最大/最小アドレス抽出手段34は、受け取った1命令分のリストアドレス群の中から、アドレス値が最大のアドレスと最小のアドレスを抽出し、当該最大/最小アドレスを命令保持及び追い越し制御手段30へ転送する最大/最小アドレス57。一般に、ベクトル処理部2は、内部に複数のベクトルパイプを有し、各パイプが並列動作しており、同時に複数のリストアドレスが転送されてくる。その中から最大/最小リストアドレスを抽出する。図4は、本発明の実施の形態2にかかる最大/最小アドレス抽出手段34の構成を示すブロック図である。最大/最小アドレス抽出手段34は、選択回路341と、フリップフロップF11~F18と、最小アドレス選択回路群343と、最小アドレス選択回路344と、セレクタ345と、フリップフロップF21~26と、論理積回路346とを備える。ここで、フリップフロップF11及びF21には、上述したValidビット、フリップフロップF12及びF22には、上述したStartビット、フリップフロップF13及びF23には、上述したEndビット、フリップフロップF14及びF24には、上述した命令IDが格納される。また、フリップフロップF15~F18には、リストアドレスに含まれるアドレスのうち4個が保持される。ここで、フリップフロップF15~F18は、アドレス保持回路342ということができる。尚、4個は一例であり、これに限定されない。そのため、リストアドレスに、N個Nは、2以上の自然数のアドレスの指定が含まれる場合、アドレス保持回路342は、アドレスを保持するためのM個Mは、2以上かつN未満の自然数のフリップフロップを備えればよい。また、フリップフロップF25には、最大アドレスが格納される。フリップフロップF26は、最小アドレスが格納される。そのため、フリップフロップF25及びF26は、最大最小アドレス保持回路ということができる。選択回路341は、ベクトル処理部2からリストアドレスを受け付け、リストアドレスから4個ごとにアドレスを選択してアドレス保持回路342に格納する。併せて、選択回路341は、フリップフロップF11~F14に値を格納する。このとき、選択回路341は、リストアドレス内の最初の4個を選択した場合、フリップフロップF12にStartビットを有効にして格納する。また、選択回路341は、リストアドレス内の2番目以降の4個を選択した場合、フリップフロップF12にStartビットを無効にして格納する。また、選択回路341は、リストアドレスからアドレスを選択した際に、未選択のアドレスがなくなった場合、フリップフロップF13にEndビットを有効にして格納する。また、選択回路341は、同一のリストアドレス内からアドレスを選択する間は、フリップフロップF14に同一の命令IDを格納する。最小アドレス選択回路群343は、アドレス保持回路342に保持された4個のアドレスのうち最小値を選択する。最小アドレス選択回路群343は、最小アドレス選択回路3431~3433を含む。最小アドレス選択回路3431は、フリップフロップF15に格納されたアドレス0とフリップフロップF16に格納されたアドレス1とを比較し、より小さい値を選択する。最小アドレス選択回路3432は、フリップフロップF17に格納されたアドレス2とフリップフロップF18に格納されたアドレス3とを比較し、より小さい値を選択する。そして、最小アドレス選択回路3433は、最小アドレス選択回路3431により選択された最小値と、最小アドレス選択回路3432により選択された最小値とを比較し、より小さい値を選択する。セレクタ345は、フリップフロップF12に格納されたStartビットが有効である場合、最小アドレス選択回路群343により選択された最小値を最小アドレスとしてフリップフロップF25に格納する。最小アドレス選択回路344は、最小アドレス選択回路群343により選択された最小値と、フリップフロップF25に格納された最小アドレスとを比較して最小値によりフリップフロップF25を更新する。尚、図4では、最小アドレス選択回路群343、最小アドレス選択回路344、セレクタ345に対応する構成である最大アドレス選択回路群、最大アドレス選択回路、セレクタについては、図示を省略する。最大アドレス選択回路群は、アドレス保持回路342に保持された4個のアドレスのうち最大値を選択する。また、最大アドレス選択回路及びセレクタを用いて、最大アドレス選択回路群により選択された最大値と、フリップフロップF26に格納された最大アドレスとを比較して最大値によりフリップフロップF26を更新する。そのため、最小アドレス選択回路群343及び最大アドレス選択回路群は、アドレス保持回路342に保持された4個のアドレスのうち最大値及び最小値を選択する第1の最大最小アドレス選択回路である。また、最小アドレス選択回路344及び最大アドレス選択回路は、フリップフロップF26に保持された最大アドレスと、最大アドレス選択回路群により選択された最大値とのうち最大値を最大アドレスとして選択し、フリップフロップF25に保持された最小アドレスと、最小アドレス選択回路群343により選択された最小値とのうち最小値を最小アドレスとして選択し、当該選択された最大アドレス及び最小アドレスによりフリップフロップF26及びF25を更新する第2の最大最小アドレス選択回路である。また、図4のステージ1及びステージ2は、各クロックサイクルで保持される情報を示している。以下では、最大/最小アドレス抽出手段34における処理の流れを説明する。選択回路341は、ベクトル処理部2から転送されたリストアドレス及びその制御情報Valid、Start、End、命令IDを、ステージ1のフリップフロップF11~F18に格納する。その後、ステージ1にて、最小アドレス選択回路群343及び最大アドレス選択回路群は、図4のアドレス0~3について大小比較を繰り返すことにより、最終的に1つの最小及び最大アドレスを選択する。ここで、ステージ1のStartビットが点灯している場合、1命令のリストアドレス転送の初回を示しており、セレクタ345は、上記で選択された最小アドレス及び最大アドレスをステージ2のフリップフロップF25及びF26に格納する。ステージ1のStartビットが消灯している場合、1命令のリストアドレス転送の初回以外であることを示しており、この場合はステージ2のフリップフロップF25及びF26に格納されている最小アドレス及び最大アドレスと、ステージ1で選択された最小アドレス及び最大アドレスのとの間でさらに大小比較を行った上で、ステージ2のフリップフロップF25及びF26に格納する。最終的に1命令のリストアドレス転送が完了し、ステージ2のフリップフロップF23に格納されるEndビットが点灯した時点で、最小アドレス、最大アドレスフリップフロップフリップフロップF25及びF26に格納されている最小アドレス及び最大アドレスを命令保持及び追い越し制御手段30へと転送する。また、命令発行部1からメモリアクセス処理部3へ発行される命令はメモリアクセスに関する命令全般であり、上述のベクトルストア命令、ベクトルスキャタ命令、ベクトルギャザー命令の他、ベクトルロード命令、スカラロード命令、スカラストア命令がある。ここで、ベクトルロード命令とは、命令発行部1から指定される先頭アドレス、ディスタンス要素間距離、ベクトル長要素数から計算されるアドレスで指定されるメモリ番地からベクトルレジスタへ読み出す命令である。スカラロード命令とは、命令処理部1に有するスカラレジスタへのデータ格納を行う命令である。逆に、スカラストア命令は、スカラレジスタに格納されたデータをメモリに書き込む命令である。VLD/VSTアクセス領域計算手段31は、命令発行部1から発行されたベクトルロード命令及びベクトルストア命令について、命令内で指定される先頭アドレス、ディスタンス要素間距離及びベクトル長要素数、要素長の情報から当該命令がアクセスする領域を計算し、その結果得られるアクセス領域の最小アドレス及び最大アドレスを、命令保持及び追い越し制御手段30へ出力する最大/最小アドレス53。アクセス領域は、例えば、以下の1式により計算できる。{先頭アドレスベクトル長-1×ディスタンス要素長}1また、スカラロード命令及びスカラストア命令の場合は、ベクトル長要素数=1として計算することで、同様の計算でアクセス領域が求まる。また、命令発行部1から発行された命令は、命令保持及び追い越し手段30にて一旦保持され、当該命令のアドレス、さらにメモリへストアする命令であればストアデータの準備が整うまで待機する。ここで、スカラロード命令及びスカラストア命令については、命令の内部でメモリへのアドレスが指定され、スカラストア命令はさらにストアデータが指示されているため、命令保持及び追い越し手段30に格納された時点で全ての準備が整っていることになる。また、ベクトルロード命令についても、先頭アドレス、ディスタンス要素間距離、ベクトル長要素数が命令で指定されているため、命令保持及び追い越し手段30に格納された時点で各ベクトル要素のアドレスを計算する準備が整っていることになる。一方、ベクトルストア命令、ベクトルギャザー命令及びベクトルスキャタ命令の3命令については、ベクトル処理部2が当該命令を受け付けた後、ベクトルレジスタからリストアドレス及び/又はストアデータがメモリアクセス処理部3へ転送され、それぞれリストアドレス保持手段32及び/又はストアデータ保持手段33に格納されることで準備が整うことになる。よって、当該3命令については、他の命令に比べて命令保持及び追い越し手段30で待機する時間が長く、特にベクトルスキャタ命令については、リストアドレスとストアデータの両方を待たなければならないため特に待ち時間が長くなる傾向にある。次に、命令保持及び追い越し手段30で保持する情報の例を、図5を用いて説明する。つまり、図5は、本発明の実施の形態2にかかる命令保持手段の例を示す図である。命令保持及び追い越し手段30は、命令間の追い越しを行うため、少なくとも2命令を保持する必要がある。図5では、N個の命令を保持する例としてN個のエントリを持つバッファとして記載している。Nは、各装置において、命令を保持すべき数、必要な追い越し数等、要求性能に応じで決定される数である。このNエントリのバッファは、命令保持及び追い越し制御手段30が命令を受け付けた順に若番エントリから登録する一方、命令の出力は命令間の追い越しをおこなうため入力順とは異なり、任意のエントリ番号から命令を出力できるバッファとして制御を行う。任意のエントリから出力されるので、ある時点では、各エントリの登録が歯抜け状態になる例えばエントリ2が発行された直後は、エントリ2は登録がなく、エントリ0,1,3,4は登録があるという状態。そこで、歯抜けの状態になったら若番エントリへ詰める制御も行う。1エントリに登録する情報は、図5に示すとおりであるが個々の意味は以下に説明する。命令登録Vは、エントリに、後述の命令種別、命令IDを登録したことを示す。例えば、命令発行部1から命令を受け付けると当該ビットを点灯し、同エントリから命令を発行すると消灯する。命令種別は、ベクトルロード命令、ベクトルスキャタ命令等、命令種類を示す。命令種別には、例えば、オペコードを登録する。命令IDは、命令の識別子を示す。命令IDには、例えば、命令発行部1から発行される命令に付随する命令IDが登録される。命令種別が同じ場合、この命令IDにより区別できる。アクセス領域登録Vは、最小アドレス及び最大アドレスで指定されるアクセス領域が登録されていることを示す。同エントリから命令を発行すると当該Vビットも消灯する。ベクトルギャザー命令、ベクトルスキャタ命令の場合は、当該命令のリストアドレスがリストアドレス保持手段32に転送完了したことも意味する。最大アドレス及び最小アドレスには、命令のアクセス領域を示す最大アドレス及び最小アドレスが登録される。ストアデータ転送完了Vは、ベクトルストア命令及びベクトルスキャタ命令の場合に、当該命令のストアデータが、ストアデータ保持手段33に転送完了したことを示す。例えば、命令保持及び追い越し制御手段30は、ベクトル処理部2からストアデータ転送完了指示58を受け付けたときに点灯し、当該命令を発行したら消灯する。以上の情報から、命令保持及び追い越し手段30から発行可能な命令を判定する。そして、あるエントリMに登録された命令が、発行可能か否かは、1自分の発行準備が整っているかつ、2自分より前にいる全ての命令とアドレス依存関係が無いことを満たすことにより判定される。ここで、1自分の発行準備が整っているとは、自命令のアドレスとストア命令であれば、さらにストアデータが準備できている状態である。例えば、発行準備が完了するとエントリMの発行準備完了フラグに1が点灯することにより、1の条件を満たすことを示すものとする。ここで、エントリMの発行準備完了フラグは、以下の2式で表すことができる。エントリMの発行準備完了フラグ=エントリMの命令登録VエントリMのアクセス領域登録VエントリMのストアデータ転送完了V2次に、2自分より前にいる全ての命令とアドレス依存関係が無いについては、自命令の最大/最小アドレスと、先行命令の最大/最小アドレスとの大小比較を行うことで判定する。例えば、自命令エントリMと先行命令エントリM-1とのアドレス依存関係が無いこと場合に、エントリMとエントリM-1の依存関係フラグに1を点灯する。一方、アドレス依存関係がある場合にエントリMとエントリM-1の依存関係フラグに0を点灯する。エントリMとエントリM-1の依存関係フラグは、以下の3式で表すことができる。エントリMとエントリM-1の依存関係フラグ=エントリM-1の命令登録VエントリM-1のアクセス領域登録VエントリMの最大アドレス<エントリM-1の最小アドレス|エントリMの最小アドレス>エントリM-1の最大アドレス|エントリM-1の命令登録V3ここで、3式の最右項は、エントリM-1に命令の登録が無い場合に、アドレス依存関係無しとみなすためのものである。以上の判定結果を用いて、あるエントリMに登録された命令の発行可能条件は、以下の4式にて表される。エントリMの発行可能条件は、発行可能場合に1が点灯する。エントリMの発行可能条件=エントリMの発行準備完了フラグエントリMとエントリM-1の依存関係フラグエントリMとエントリM-2の依存関係フラグエントリMとエントリM-3の依存関係フラグエントリMとエントリ2の依存関係フラグエントリMとエントリ1の依存関係フラグエントリMとエントリ0の依存関係フラグ4以上の判定により、あるエントリに登録されている命令の発行可能条件が整うと1が点灯、それ以外は0となる。命令保持及び追い越し手段30は、発行可能条件が点灯した命令を、メモリロード/ストアリクエスト生成手段35に送出する。複数エントリの命令の発行可能条件が同時に点灯する場合もあり得るが、その場合は複数の発行可能命令の中から1命令を選抜したうえでメモリロード/ストアリクエスト生成手段35に送出する。その選抜方法は、古い命令を優先する先入先出方式やストア系命令よりもロード系命令を優先させるロード優先方式など、様々な方法が考えられる。また、ベクトルギャザー命令及びベクトルスキャタ命令の場合は、メモリロード/ストアリクエスト生成手段35への命令59を送出すると同時に、リストアドレス保持手段32へリストアドレス転送指示60を送出する。また、ベクトルストア命令及びベクトルスキャタ命令の場合は、ストアデータ保持手段33へストアデータ転送指示61を送出する。リストアドレス転送指示60及びストアデータ転送指示61により命令IDも通知する。リストアドレス保持手段32は、リストアドレス転送指示60を受けると、通知された命令IDから当該命令のリストアドレス62を即座にメモリロード/ストアリクエスト生成手段35に転送する。また、ストアデータ保持手段33は、ストアデータ転送指示61を受けると、通知された命令IDから当該命令のストアデータ63を即座にメモリロード/ストアリクエスト生成手段35に転送する。メモリロード/ストアリクエスト生成手段35は、命令保持及び追い越し手段30から命令を受け付けると、メモリ部4向けのリクエストを生成する。ベクトルロード命令、ベクトルストア命令、ベクトルギャザー命令、ベクトルスキャタ命令の各命令は、1命令で複数のメモリ番地へアクセスをおこなう必要があり、メモリロード/ストアリクエスト生成手段35にて、1つの命令から複数のメモリロード/ストアリクエストに分解する。リクエストは、メモリへのロード/ストアなど種類を識別するためのリクエストコマンド及びアクセスするアドレス又はストア系命令の場合はストアデータを少なくとも含むものである。その際、ベクトルギャザー命令及びベクトルスキャタ命令の場合は、リストアドレス保持手段32から転送されたリストアドレス62を、また、ベクトルストア命令及びベクトルスキャタ命令の場合は、ストアデータ保持手段33から転送されたストアデータ63を用いて、それぞれのリクエストを生成する。また、ベクトルロード命令及びベクトルストア命令の場合は、当該命令がアクセスするアドレスは、メモリロード/ストアリクエスト生成手段35から送出される命令内にて、先頭アドレス、ディスタンス要素間距離及びベクトル長要素数の形で指示されるため、これら情報により各要素のアドレスを以下の5式のように算出する。要素番号0のアドレス=先頭アドレス要素番号1のアドレス=先頭アドレスディスタンス×1要素番号2のアドレス=先頭アドレスディスタンス×2要素番号Aのアドレス=先頭アドレスディスタンス×A5メモリロード/ストアリクエスト生成手段35は、生成したリクエストをメモリ部4へ発行するリクエスト発行64。本発明の実施の形態2により、以下の効果がある。1メモリアクセス性能を向上させる。2ソフトウェアコンパイラへの負担を無くす。本発明の実施の形態2により、リストアドレスの転送が完了したが、ストアデータの転送を待っている状態でベクトルスキャタ命令の実行を保留している間、後続命令は当該ベクトルスキャタ命令とのアドレス依存判定をおこなった上で、当該ベクトルスキャタ命令を追い越して実行することができる。また、リストアドレスの転送が完了したベクトルギャザー命令は、ストアデータ待ちで待機中の先行するベクトルストア命令またはベクトルスキャタ命令とのアドレス依存判定をおこなった上で追い越して実行することができる。さらに、そのアドレス依存判定はハードウェアが実行時に実際のアドレスを用いるため、精度の高いアドレス依存チェックが可能となる。特許文献2では、追い越し可能とソフトウェアコンパイラが確実に認識できる場合にのみ、追い越しを実施するというものであったのに対し、本発明の実施の形態2のハードウェアによる精度の高いアドレス依存チェックにより、追い越し可能なケースが増加し、その結果メモリアクセス性能を高めることが可能である。また、上述の通り、追い越し可否判定を全てハードウェアで実現しているため、ソフトウェアコンパイラはアドレスを意識する必要が無くなり、特許文献2及び3にて説明したような負担が一切なくなる。尚、本発明の実施の形態2は、次のように言い換えることもできる。本発明の実施の形態2にかかるベクトル処理装置は、先行するベクトルスキャタ命令と後続のロード命令との追い越し制御をおこなうベクトル処理装置である。そして、ベクトルスキャタ命令実行時に、実際にアクセスするアドレスから当該命令がアクセスする領域を、ハードウェアにて判定する機能を有する。当該機能により判定されたアクセス領域を用いて後続ロード命令とのアドレス依存解析を行い、その結果アドレス依存が無ければ後続ロード命令を優先して実行する手段を有するものである。さらに、本発明の実施の形態2にかかるベクトル処理装置は、リストベクトル命令におけるストアデータを保持するストアデータ保持回路をさらに備え、命令保持回路は、リストベクトル命令におけるストアデータがストアデータ保持回路に格納されたことを示すストアデータ格納完了情報を当該リストベクトル命令に対応付けてさらに保持し、追い越し判定回路は、前記命令保持回路に、前記リストベクトル命令に対応付けられた最大アドレス及び最小アドレスが保持されており、かつ、前記ストアデータ格納完了情報が格納されていた場合に、当該リストベクトル命令について前記追い越し判定の対象とする。また、本発明の実施の形態2にかかるリストベクトルの追い越し制御方法は、次のように言い換えることもできる。すなわち、リストアドレスには、N個Nは、2以上の自然数のアドレスの指定を含み、前記ベクトル命令制御回路は、前記最大アドレス及び前記最小アドレスを保持する最大最小アドレス保持回路をさらに有し、前記ベクトル命令制御回路において、前記リストアドレスからM個Mは、2以上かつN未満の自然数のアドレスを第1のグループとして選択し、前記第1のグループのうち最大値及び最小値を第1の最大アドレス及び第1の最小アドレスとして選択し、前記選択された第1の最大アドレス及び第1の最小アドレスを前記最大最小アドレス保持回路へ格納し、前記リストアドレスから前記第1のグループ以外のM個以内のアドレスを第2のグループとして選択し、前記第2のグループのうち最大値及び最小値を第2の最大アドレス及び第2の最小アドレスとして選択し、前記第1の最大アドレスと前記第2の最大アドレスとのうち最大値を前記リストベクトル命令における最大アドレスとして抽出して、当該最大アドレスにより前記最大最小アドレス保持回路を更新し、前記第1の最小アドレスと前記第2の最小アドレスとのうち最小値を前記リストベクトル命令における最小アドレスとして抽出して、当該最小アドレスにより前記最大最小アドレス保持回路を更新する。<発明の実施の形態3>続いて、本発明の実施の形態3では、上述した実施の形態2に改良を加えて、ハードウェア量の削減を行うものである。本発明の実施の形態3では、命令保持回路は、アクセス先のメモリのアドレスとして、当該アドレスの一部のビットを保持し、アドレス抽出回路は、リストアドレス内のアドレスの一部のビットを比較して、当該一部のビットを最大アドレス及び最小アドレスとして抽出する。これにより、比較対象にビット幅を減少し、高速な処理を実現できる。また、最大/最小アドレスの下位ビットを参照しないことにより、ハードウェア量の削減を実現することができる。特に、一部のビットは、上位の所定数のビットであることが望ましい。例えば、アドレスの下位8ビットを参照しないことで、図5に示す命令保持手段における最大アドレス側の8ビット最小アドレス側の8ビット×Nエントリ=16×Nビットのフリップフロップ削減が可能である。さらに、図4に示す最小アドレス選択回路3431~3433及び最小アドレス選択回路344の比較対象ビットを8ビット削減することができ、ハードウェアを削減可能である。ただし、8ビットを削減することにより、64B境界以下が無視され、アドレス依存関係の分解能が低下するため、ハードウェア量と性能とのトレードオフがある。<その他の発明の実施の形態>さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。"