(57)【特許請求の範囲】
【請求項１】
ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部と、同時並行処理を行うことが可能な複数のメモリバンクから構成され複数の接続ポートを有する主記憶部と、前記ベクトル演算部と前記主記憶部間で複数のリクエストを前記主記憶部に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部とを備えるベクトル処理装置において、前記メモリアクセス制御部が、ベクトル要素毎のリクエストのメモリアクセスアドレスを前記ベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部と、各ベクトル要素毎に、メモリアクセスアドレスの一部であるルーティングアドレスの下位１ビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和をとる排他的論理和回路を備え、該排他的論理和回路の出力を前記ルーティングアドレスの下位１ビットと置き換えて新たなルーティングアドレスとするルーティングアドレス生成部と、前記ルーティングアドレス生成部により生成されたルーティングアドレスに従って前記主記憶部と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部と、前記競合調停部の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部とを備えることを特徴とするベクトル処理装置のルーティングアドレス生成方式。
【請求項２】
ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部と、同時並行処理を行うことが可能な複数のメモリバンクから構成され複数の接続ポートを有する主記憶部と、前記ベクトル演算部と前記主記憶部間で複数のリクエストを前記主記憶部に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部とを備えるベクトル処理装置において、前記メモリアクセス制御部に、ベクトル要素毎のリクエストのメモリアクセスアドレスを前記ベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部と、各ベクトル要素毎に、メモリアクセスアドレスの一部であるルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和をとる１つ以上の排他的論理和回路を備え、該１つ以上の排他的論理和回路の出力を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとするルーティングアドレス生成部と、前記ルーティングアドレス生成部により生成されたルーティングアドレスに従って前記主記憶部と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部と、前記競合調停部の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部とを備えることを特徴とするベクトル処理装置のルーティングアドレス生成方式。
【請求項３】
ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部と、同時並行処理を行うことが可能な複数のメモリバンクから構成され複数の接続ポートを有する主記憶部と、前記ベクトル演算部と前記主記憶部間で複数のリクエストを前記主記憶部に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部とを備えるベクトル処理装置において、前記メモリアクセス制御部が、ベクトル要素毎のリクエストのメモリアクセスアドレスを前記ベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部と、各ベクトル要素毎に、メモリアクセスアドレスの一部であるルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外のビットで、前記一部のビットと同数の複数ビットとの排他的論理和をとる１つ以上の排他的論理和回路を備え、該１つ以上の排他的論理和回路の出力を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとするルーティングアドレス生成部と、前記ルーティングアドレス生成部により生成されたルーティングアドレスに従って前記主記憶部と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部と、前記競合調停部の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部とを有することを特徴とするベクトル処理装置のルーティングアドレス生成方式。
【請求項４】
メモリアクセスアドレスの一部をルーティングアドレスとして選択するベクトル処理装置のルーティングアドレス生成方法において、ルーティングアドレスの下位１ビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和を前記ルーティングアドレスの下位１ビットと置き換えて新たなルーティングアドレスとすることを特徴とするベクトル処理装置のルーティングアドレス生成方法。
【請求項５】
メモリアクセスアドレスの一部をルーティングアドレスとして選択するベクトル処理装置のルーティングアドレス生成方法において、ルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとすることを特徴とするベクトル処理装置のルーティングアドレス生成方法。
【請求項６】
メモリアクセスアドレスの一部をルーティングアドレスとして選択するベクトル処理装置のルーティングアドレス生成方法において、ルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外のビットで、前記一部のビットと同数の複数ビットとの排他的論理和を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとすることを特徴とするベクトル処理装置のルーティングアドレス生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はベクトル処理装置に関し、特にベクトル処理装置のルーティングアドレス生成方式に関する。
【０００２】
【従来の技術】
従来のベクトル処理装置では、メモリアクセスアドレスの一部をルーティングアドレスとして選択し、主記憶部のメモリバンクとの接続ポートを決定していた。
【０００３】
たとえば、主記憶部のメモリバンクが８つである場合、図１０に示すように、メモリアクセスアドレスの下位３ビットをルーティングアドレスとして選択し、接続ポートを決定していた。このようなルーティングアドレスの生成方法は、メモリアクセスアドレスの、８を法とする剰余（ｍｏｄ８）をルーティングアドレスとして選択する方法であり、インターリーブ方式と呼ばれている。このインターリーブ方式によれば、接続ポート毎のメモリアクセスアドレスの割り付け（メモリマッピング）が、図１１に示すように、固定的に行われる。
【０００４】
いま、８つのベクトル要素ｖ０〜ｖ７，先頭要素アドレス０，要素間距離２のデータ転送リクエスト（以下、単にリクエストと略記する）があったとすると、従来のインターリーブ方式では、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，２，４，６，８，１０，１２，１４がそれぞれ生成され、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎のルーティングアドレスは８を法とする剰余（ｍｏｄ８）である０，２，４，６，０，２，４，６となる。このため、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎の接続ポートは、図１２に示すように、♯０，♯２，♯４，♯６，♯０，♯２，♯４，♯６となり、ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３とベクトル要素ｖ４，ｖ５，ｖ６，ｖ７とはそれそれ同じ接続ポート♯０，♯２，♯４，♯６で主記憶部と接続される。よって、リクエストの競合調停が行われ、たとえば、ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３のメモリアクセスアドレス０，２，４，６のリクエストが選択され、ベクトル要素ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス８，１０，１２，１４のリクエストは待たされ、性能の低下が生じていた。
【０００５】
また、８つのベクトル要素ｖ０〜ｖ７，先頭要素アドレス０，要素間距離４のリクエストがあったとすると、従来のインターリーブ方式では、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，４，８，１２，１６，２０，２４，２８がそれぞれ生成され、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎のルーティングアドレスは８を法とする剰余（ｍｏｄ８）である０，４，０，４，０，４，０，４となる。このため、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎の接続ポートは、図１３に示すように、♯０，♯４，♯０，♯４，♯０，♯４，♯０，♯４となり、ベクトル要素ｖ０，ｖ２，ｖ４，ｖ６は同じ接続ポート♯０で主記憶部と接続され、ベクトル要素ｖ１，ｖ３，ｖ５，ｖ７は同じ接続ポート♯４で主記憶部と接続される。よって、リクエストの競合調停が行われ、たとえば、ベクトル要素ｖ０，ｖ１のメモリアクセスアドレス０，４のリクエストが選択され、ベクトル要素ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス８，１２，１６，２０，２４，２８のリクエストは待たされ、性能の低下が生じていた。
【０００６】
さらに、８つのベクトル要素ｖ０〜ｖ７，先頭要素アドレス０，要素間距離１６のリクエストがあったとすると、従来のインターリーブ方式では、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，１６，３２，４８，６４，８０，９６，１１２がそれぞれ生成され、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎のルーティングアドレスは８を法とする剰余（ｍｏｄ８）である０，０，０，０，０，０，０，０となる。このため、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎の接続ポートは、図１４に示すように、♯０，♯０，♯０，♯０，♯０，♯０，♯０，♯０となり、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７は同じ接続ポート♯０で主記憶部と接続される。よって、リクエストの競合調停が行われ、たとえば、ベクトル要素ｖ０のメモリアクセスアドレス０のリクエストが選択され、ベクトル要素ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス１６，３２，４８，６４，８０，９６，１１２のリクエストは待たされ、性能の低下が生じていた。
【０００７】
このように、従来のインターリーブ方式では、先頭要素アドレスおよび要素間距離を用いてリクエストを行う際に、要素間距離がメモリアクセス単位の２倍あるいは２のｎ（正整数）乗倍のとき（以下、２飛びメモリアクセスあるいは２のｎ乗飛びメモリアクセスという）、要素間距離がメモリアクセス単位の１倍のとき（以下、連続メモリアクセスという）に比べて性能低下が生じていて、性能低下を回避するためには主記憶部２との接続ポートを増やすなどの大幅なハードウェア量の増加が必要とされていた。
【０００８】
【発明が解決しようとする課題】
従来のインターリーブ方式では、先頭要素アドレスおよび要素間距離を用いてリクエストを行う際に、２飛びメモリアクセスは主記憶部との接続ポートにおいて競合が発生してしまい、連続メモリアクセスに比べて性能低下が生じるという問題点があった。
【０００９】
たとえば、複素数演算においては、実数０，虚数０，実数１，虚数１，…，実数ｍ，虚数ｍの順にメモリバンクに配置するが、このとき、複素数の総和計算を行う場合、まず実数０〜実数ｍの和をとり、次に虚数０〜虚数ｍの和をとるため、メモリアクセスは実数０〜実数ｍをメモリバンクから取り出し、次に虚数０〜虚数ｍをメモリバンクから取り出すため、２飛びメモリアクセスとなり、データ供給ネックとなって性能の低下を引き起こしていた。
【００１０】
同様に、２のｎ（正整数）乗に関しても、主記憶部との接続ポートにおいて競合が発生してしまい、性能低下が生じるという問題点があった。
【００１１】
本発明の目的は、２飛びメモリアクセスの性能を向上させるベクトル処理装置のルーティングアドレス生成方式を提供することにある。
【００１２】
また、本発明の他の目的は、２のｎ乗飛びメモリアクセスの性能を向上させるベクトル処理装置のルーティングアドレス生成方式を提供することにある。
【００１３】
なお、先行技術として、特開平２００１−４３２１０に、不規則なアドレスを有するベクトル要素を検出し、ベクトル要素のアドレス生成部への振り分けの際に生じる不規則なアドレスを規則化するようにしたアドレス生成装置が開示されている。しかし、このアドレス生成装置は、２飛びメモリアクセスまたは２のｎ乗飛びメモリアクセスの性能を向上させるようにしたものではなく、本発明とはその目的，構成および効果を異にするものである。
【００１４】
【課題を解決するための手段】
本発明のベクトル処理装置のルーティングアドレス生成方式は、ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部と、同時並行処理を行うことが可能な複数のメモリバンクから構成され複数の接続ポートを有する主記憶部と、前記ベクトル演算部と前記主記憶部間で複数のリクエストを前記主記憶部に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部とを備えるベクトル処理装置において、前記メモリアクセス制御部が、ベクトル要素毎のリクエストのメモリアクセスアドレスを前記ベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部と、各ベクトル要素毎に、メモリアクセスアドレスの一部であるルーティングアドレスの下位１ビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和をとる排他的論理和回路を備え、該排他的論理和回路の出力を前記ルーティングアドレスの下位１ビットと置き換えて新たなルーティングアドレスとするルーティングアドレス生成部と、前記ルーティングアドレス生成部により生成されたルーティングアドレスに従って前記主記憶部と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部と、前記競合調停部の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部とを備えることを特徴とする。
【００１５】
また、本発明のベクトル処理装置のルーティングアドレス生成方式は、ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部と、同時並行処理を行うことが可能な複数のメモリバンクから構成され複数の接続ポートを有する主記憶部と、前記ベクトル演算部と前記主記憶部間で複数のリクエストを前記主記憶部に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部とを備えるベクトル処理装置において、前記メモリアクセス制御部に、ベクトル要素毎のリクエストのメモリアクセスアドレスを前記ベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部と、各ベクトル要素毎に、メモリアクセスアドレスの一部であるルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和をとる１つ以上の排他的論理和回路を備え、該１つ以上の排他的論理和回路の出力を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとするルーティングアドレス生成部と、前記ルーティングアドレス生成部により生成されたルーティングアドレスに従って前記主記憶部と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部と、前記競合調停部の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部とを備えることを特徴とする。
【００１６】
さらに、本発明のベクトル処理装置のルーティングアドレス生成方式は、ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部と、同時並行処理を行うことが可能な複数のメモリバンクから構成され複数の接続ポートを有する主記憶部と、前記ベクトル演算部と前記主記憶部間で複数のリクエストを前記主記憶部に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部とを備えるベクトル処理装置において、前記メモリアクセス制御部が、ベクトル要素毎のリクエストのメモリアクセスアドレスを前記ベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部と、各ベクトル要素毎に、メモリアクセスアドレスの一部であるルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外のビットで、前記一部のビットと同数の複数ビットとの排他的論理和をとる１つ以上の排他的論理和回路を備え、該１つ以上の排他的論理和回路の出力を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとするルーティングアドレス生成部と、前記ルーティングアドレス生成部により生成されたルーティングアドレスに従って前記主記憶部と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部と、前記競合調停部の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部とを有することを特徴とする。
【００１８】
一方、本発明のベクトル処理装置のルーティングアドレス生成方法は、メモリアクセスアドレスの一部をルーティングアドレスとして選択するベクトル処理装置のルーティングアドレス生成方法において、ルーティングアドレスの下位１ビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和を前記ルーティングアドレスの下位１ビットと置き換えて新たなルーティングアドレスとすることを特徴とする。
【００１９】
また、本発明のベクトル処理装置のルーティングアドレス生成方法は、メモリアクセスアドレスの一部をルーティングアドレスとして選択するベクトル処理装置のルーティングアドレス生成方法において、ルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外の１ビットとの排他的論理和を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとすることを特徴とする。
【００２０】
さらに、本発明のベクトル処理装置のルーティングアドレス生成方法は、メモリアクセスアドレスの一部をルーティングアドレスとして選択するベクトル処理装置のルーティングアドレス生成方法において、ルーティングアドレスの一部のビットとメモリアクセスアドレスのルーティングアドレス以外のビットで、前記一部のビットと同数の複数ビットとの排他的論理和を前記ルーティングアドレスの前記一部のビットと置き換えて新たなルーティングアドレスとすることを特徴とする。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２３】
（１）第１の実施の形態
図１は、本発明の第１の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置の構成を示す回路ブロック図である。このベクトル処理装置は、ベクトル要素，先頭要素アドレスおよび要素間距離を出力してリクエストを行うベクトル演算部１と、同時並行処理を行うことが可能な複数のメモリバンク２１から構成され複数の接続ポートを有する主記憶部２と、ベクトル演算部１と主記憶部２間で複数のリクエストを主記憶部２に接続する各接続ポート毎に独立にアクセス制御するメモリアクセス制御部３とから、その主要部が構成されている。
【００２４】
なお、本実施の形態では、説明を簡単にするために、同時処理可能なベクトル要素を８要素、主記憶部２との接続ポートを８ポートとして、メモリアクセスアドレスの下位３ビットをプレルーティングアドレス（ルーティングアドレスを生成する元となるアドレスをいう）とし、それ以外を主記憶内アドレスとした場合を例として述べる。
【００２５】
ベクトル演算部１は、８つのベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７，先頭要素アドレス，および要素間距離を出力して、ベクトル要素毎のリクエストを行う。
【００２６】
メモリアクセス制御部３は、ベクトル要素毎のリクエストのメモリアクセスアドレスをベクトル演算部１から送られてくる先頭要素アドレスと要素間距離との加算によって生成するアダー部４と、各ベクトル要素毎に、プレルーティングアドレスの下位１番目のビットと主記憶内アドレスの下位１番目のビットとの排他的論理和をプレルーティングアドレスの下位１番目のビットと置き換えてルーティングアドレスとするルーティングアドレス生成部５と、ルーティングアドレス生成部５により生成されたルーティングアドレスに従って主記憶部２と接続する各接続ポート毎にリクエストの競合調停を行う競合調停部６と、競合調停部６の競合調停に従ってベクトル要素毎のリクエストを各接続ポートに出力するクロスバ部７とを備える。
【００２７】
主記憶部２は、たとえば、８バイトをメモリアクセス単位として８つのメモリバンク２１から構成されていて、主記憶部２とクロスバ部７とは、８つの接続ポート♯０〜♯７を介して接続されている。
【００２８】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎に、図２に示すような、プレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとる排他的論理和回路５１を備える。
【００２９】
ルーティングアドレス生成部５は、排他的論理和回路５１によりプレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとったビットをルーティングアドレスの下位１番目のビットｂ１とし、プレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位２番目のビット）ａ２をそのままルーティングアドレスの下位２番目のビットｂ２とし、プレルーティングアドレスの下位３番目のビット（メモリアクセスアドレスの下位３番目のビット）ａ３をそのままルーティングアドレスの下位３番目のビットｂ３とすることによって、ルーティングアドレス（ｂ３，ｂ２，ｂ１）を生成する。
【００３０】
次に、このように構成された第１の実施の形態に係るベクトル処理装置のルーティングアドレス生成方式の動作について説明する。
【００３１】
ベクトル演算部１から各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７，先頭要素アドレス０，要素間距離２のリクエストがあると、メモリアクセス制御部３では、アダー部４が、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，２，４，６，８，１０，１２，１４をそれぞれ生成する。
【００３２】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス０，２，４，６，８，１０，１２，１４から、ルーティングアドレス０，２，４，６，１，３，５，７を生成する。
【００３３】
詳しくは、ルーティングアドレス生成部５は、ベクトル要素ｖ０のメモリアクセスアドレス０に対して排他的論理和回路５１により０を出力してルーティングアドレス０を生成し、ベクトル要素ｖ１のメモリアクセスアドレス２に対して排他的論理和回路５１により０を出力してルーティングアドレス２を生成し、ベクトル要素ｖ２のメモリアクセスアドレス４に対して排他的論理和回路５１により０を出力してルーティングアドレス４を生成し、ベクトル要素ｖ３のメモリアクセスアドレス６に対して排他的論理和回路５１により０を出力してルーティングアドレス６を生成し、ベクトル要素ｖ４のメモリアクセスアドレス８に対して排他的論理和回路５１により１を出力してルーティングアドレス１を生成し、ベクトル要素ｖ５のメモリアクセスアドレス１０に対して排他的論理和回路５１により１を出力してルーティングアドレス３を生成し、ベクトル要素ｖ６のメモリアクセスアドレス１２に対して排他的論理和回路５１により１を出力してルーティングアドレス５を生成し、ベクトル要素ｖ７のメモリアクセスアドレス１４に対して排他的論理和回路５１により１を出力してルーティングアドレス７を生成する。
【００３４】
クロスバ部７は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストに対して接続ポート♯０，♯２，♯４，♯６，♯１，♯３，♯５，♯７を使用して主記憶部２のメモリバンク２１をアクセスする。このため、図３に示すように、どの接続ポートにおいてもアクセス競合が生じていないので、全ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストを一度に処理することが可能になり、性能低下が発生しない。
【００３５】
（２）第２の実施の形態
本発明の第２の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置は、ルーティングアドレス生成部５以外、図１に示した第１の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置と同様に構成されているので、その詳しい説明を割愛する。
【００３６】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎に、図４に示すように、プレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとる排他的論理和回路５１と、プレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位２番目のビット）ａ２と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとる排他的論理和回路５２とを備える。
【００３７】
ルーティングアドレス生成部５は、排他的論理和回路５１によりプレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとったビットをルーティングアドレスの下位１番目のビットｂ１とし、排他的論理和回路５２によりプレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位２番目のビット）ａ２と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとったビットをルーティングアドレスの下位２番目のビットｂ２とし、プレルーティングアドレスの下位３番目のビットａ３をそのままルーティングアドレスの下位３番目のビットｂ３とすることによって、ルーティングアドレス（ｂ３，ｂ２，ｂ１）を生成する。
【００３８】
次に、このように構成された第２の実施の形態に係るベクトル処理装置のルーティングアドレス生成方式の動作について説明する。
【００３９】
ベクトル演算部１から各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７，先頭要素アドレス０，要素間距離２のリクエストがあると、メモリアクセス制御部３では、アダー部４が、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，２，４，６，８，１０，１２，１４をそれぞれ生成する。
【００４０】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス０，２，４，６，８，１０，１２，１４から、ルーティングアドレス０，２，４，６，３，１，７，５を生成する。
【００４１】
詳しくは、ルーティングアドレス生成部５は、ベクトル要素ｖ０のメモリアクセスアドレス０に対して排他的論理和回路５２，５１により０，０を出力してルーティングアドレス０を生成し、ベクトル要素ｖ１のメモリアクセスアドレス２に対して排他的論理和回路５２，５１により１，０を出力してルーティングアドレス２を生成し、ベクトル要素ｖ２のメモリアクセスアドレス４に対して排他的論理和回路５２，５１により０，０を出力してルーティングアドレス４を生成し、ベクトル要素ｖ３のメモリアクセスアドレス６に対して排他的論理和回路５２，５１により１，０を出力してルーティングアドレス６を生成し、ベクトル要素ｖ４のメモリアクセスアドレス８に対して排他的論理和回路５２，５１により１，１を出力してルーティングアドレス３を生成し、ベクトル要素ｖ５のメモリアクセスアドレス１０に対して排他的論理和回路５２，５１により０，１を出力してルーティングアドレス１を生成し、ベクトル要素ｖ６のメモリアクセスアドレス１２に対して排他的論理和回路５２，５１により１，１を出力してルーティングアドレス７を生成し、ベクトル要素ｖ７のメモリアクセスアドレス１４に対して排他的論理和回路５２，５１により０，１を出力してルーティングアドレス５を生成する。
【００４２】
クロスバ部７は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストに対して接続ポート♯０，♯２，♯４，♯６，♯３，♯１，♯７，♯５を使用して主記憶部２のメモリバンク２１をアクセスする。このため、図５に示すように、どの接続ポートにおいてもアクセス競合が生じていないので、全ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストを一度に処理することが可能になり、性能低下が発生しない。
【００４３】
（３）第３の実施の形態
本発明の第３の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置は、ルーティングアドレス生成部５以外、図１に示した第１の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置と同様に構成されているので、その詳しい説明を割愛する。
【００４４】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎に、図６に示すように、プレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとる排他的論理和回路５１と、プレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位２番目のビット）ａ２と主記憶内アドレスの下位２番目のビット（メモリアクセスアドレスの下位５番目のビット）ａ５との排他的論理和をとる排他的論理和回路５３とを備える。
【００４５】
ルーティングアドレス生成部５は、排他的論理和回路５１によりプレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１と主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４との排他的論理和をとってルーティングアドレスの下位１番目のビットｂ１とし、排他的論理和回路５３によりプレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位２番目のビット）ａ２と主記憶内アドレスの下位２番目のビット（メモリアクセスアドレスの下位５番目のビット）ａ５との排他的論理和をとってルーティングアドレスの下位２番目のビットｂ２とし、プレルーティングアドレスの下位３番目のビット（メモリアクセスアドレスの下位３番目のビット）ａ３をそのままルーティングアドレスの下位３番目のビットｂ３とすることによって、ルーティングアドレス（ｂ３，ｂ２，ｂ１）を生成する。
【００４６】
次に、このように構成された第３の実施の形態に係るベクトル処理装置のルーティングアドレス生成方式の動作について説明する。
【００４７】
ベクトル演算部１から各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７，先頭要素アドレス０，要素間距離４のリクエストがあると、メモリアクセス制御部３では、アダー部４が、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，４，８，１２，１６，２０，２４，２８をそれぞれ生成する。
【００４８】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス０，４，８，１２，１６，２０，２４，２８から、ルーティングアドレス０，４，１，５，２，６，３，７を生成する。
【００４９】
詳しくは、ルーティングアドレス生成部５は、ベクトル要素ｖ０のメモリアクセスアドレス０に対して排他的論理和回路５３，５１により０，０を出力してルーティングアドレス０を生成し、ベクトル要素ｖ１のメモリアクセスアドレス４に対して排他的論理和回路５３，５１により１，０を出力してルーティングアドレス４を生成し、ベクトル要素ｖ２のメモリアクセスアドレス８に対して排他的論理和回路５３，５１により０，１を出力してルーティングアドレス１を生成し、ベクトル要素ｖ３のメモリアクセスアドレス１２に対して排他的論理和回路５３，５１により１，１を出力してルーティングアドレス５を生成し、ベクトル要素ｖ４のメモリアクセスアドレス１６に対して排他的論理和回路５３，５１により１，０を出力してルーティングアドレス２を生成し、ベクトル要素ｖ５のメモリアクセスアドレス２０に対して排他的論理和回路５３，５１により１，０を出力してルーティングアドレス６を生成し、ベクトル要素ｖ６のメモリアクセスアドレス２４に対して排他的論理和回路５３，５１により１，１を出力してルーティングアドレス３を生成し、ベクトル要素ｖ７のメモリアクセスアドレス２８に対して排他的論理和回路５３，５１により１，１を出力してルーティングアドレス７を生成する。
【００５０】
クロスバ部７は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストに対して接続ポート♯０，♯４，♯１，♯５，♯２，♯６，♯３，♯７を使用して主記憶部２のメモリバンク２１をアクセスする。このため、図７に示すように、どの接続ポートにおいてもアクセス競合が生じていないので、全ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストを一度に処理することが可能になり、性能低下が発生しない。
【００５１】
（４）  第４の実施の形態
本発明の第４の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置は、ルーティングアドレス生成部５以外、図１に示した第１の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置と同様に構成されているので、その詳しい説明を割愛する。
【００５２】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎に、図８に示すように、プレルーティングアドレスの下位１番目のビット（メモリアクセスアドレスの下位１番目のビット）ａ１，主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４，主記憶内アドレスの下位４番目のビット（メモリアクセスアドレスの下位７番目のビット）ａ７の排他的論理和をとる排他的論理和回路５４と、プレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位２番目のビット）ａ２，主記憶内アドレスの下位２番目のビット（メモリアクセスアドレスの下位５番目のビット）ａ５，主記憶内アドレスの下位５番目のビット（メモリアクセスアドレスの下位８番目のビット）ａ８の排他的論理和をとる排他的論理和回路５５と、プレルーティングアドレスの下位２番目のビット（メモリアクセスアドレスの下位３番目のビット）ａ３，主記憶内アドレスの下位２番目のビット（メモリアクセスアドレスの下位６番目のビット）ａ６，主記憶内アドレスの下位６番目のビット（メモリアクセスアドレスの下位９番目のビット）ａ９の排他的論理和をとる排他的論理和回路５６とを備える。
【００５３】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７毎に、メモリアクセスアドレスの下位１番目のビットａ１，主記憶内アドレスの下位１番目のビット（メモリアクセスアドレスの下位４番目のビット）ａ４，および主記憶内アドレスの下位４番目のビット（メモリアクセスアドレスの下位７番目のビット）ａ７の排他的論理和をとってルーティングアドレスの下位１番目のビットｂ１とし、メモリアクセスアドレスの下位２番目のビットａ２，主記憶内アドレスの下位２番目のビット（メモリアクセスアドレスの下位５番目のビット）ａ５，および主記憶内アドレスの下位５番目のビット（メモリアクセスアドレスの下位８番目のビット）ａ８の排他的論理和をとってルーティングアドレスの下位２番目のビットｂ２とし、ルーティングアドレスの下位３番目のビットａ３，主記憶内アドレスの下位３番目のビット（メモリアクセスアドレスの下位６番目のビット）ａ４，および主記憶内アドレスの下位６番目のビット（メモリアクセスアドレスの下位９番目のビット）ａ９のとの排他的論理和をとってルーティングアドレスの下位３番目のビットｂ３とすることによって、ルーティングアドレス（ｂ３，ｂ２，ｂ１）を生成する。
【００５４】
次に、このように構成された第４の実施の形態に係るベクトル処理装置のルーティングアドレス生成方式の動作について説明する。
【００５５】
ベクトル演算部１から各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７，先頭要素アドレス０，要素間距離１６のリクエストがあると、メモリアクセス制御部３では、アダー部４が、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７に対して、メモリアクセスアドレス０，１６，３２，４８，６４，８０，９６，１１２をそれぞれ生成する。
【００５６】
ルーティングアドレス生成部５は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のメモリアクセスアドレス０，１６，３２，４８，６４，８０，９６，１１２から、ルーティングアドレス０，２，４，６，１，３，５，７を生成する。
【００５７】
詳しくは、ルーティングアドレス生成部５は、ベクトル要素ｖ０のメモリアクセスアドレス０に対して排他的論理和回路５６，５５，５４により０，０，０を出力してルーティングアドレス０を生成し、ベクトル要素ｖ１のメモリアクセスアドレス１６に対して排他的論理和回路５６，５５，５４により０，１，０を出力してルーティングアドレス２を生成し、ベクトル要素ｖ２のメモリアクセスアドレス３２に対して排他的論理和回路５６，５５，５４により１，０，０を出力してルーティングアドレス４を生成し、ベクトル要素ｖ３のメモリアクセスアドレス４８に対して排他的論理和回路５６，５５，５４により１，１，０を出力してルーティングアドレス６を生成し、ベクトル要素ｖ４のメモリアクセスアドレス６４に対して排他的論理和回路５６，５５，５４により０，０，１を出力してルーティングアドレス１を生成し、ベクトル要素ｖ５のメモリアクセスアドレス８０に対して排他的論理和回路５６，５５，５４により０，１，１を出力してルーティングアドレス３を生成し、ベクトル要素ｖ６のメモリアクセスアドレス９６に対して排他的論理和回路５６，５５，５４により１，０，１を出力してルーティングアドレス５を生成し、ベクトル要素ｖ７のメモリアクセスアドレス１１２に対して排他的論理和回路５６，５５，５４により１，１，１を出力してルーティングアドレス７を生成する。
【００５８】
クロスバ部７は、各ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストに対して接続ポート♯０，♯２，♯４，♯６，♯１，♯３，♯５，♯７を使用して主記憶部２のメモリバンク２１をアクセスする。このため、図９に示すように、どの接続ポートにおいてもアクセス競合が生じていないので、全ベクトル要素ｖ０，ｖ１，ｖ２，ｖ３，ｖ４，ｖ５，ｖ６，ｖ７のリクエストを一度に処理することが可能になり、性能低下が発生しない。
【００５９】
なお、上記各実施の形態では、同時処理可能なベクトル要素を８要素、主記憶部２との接続ポートを８ポートとした場合を例として説明したが、ベクトル要素数，接続ポート数がそれら以外の場合であっても本発明が同様に適用できることはいうまでもない。
【００６０】
また、メモリアクセスアドレスの下位３ビットをプレルーティングアドレスとし、それ以外を主記憶内アドレスとした場合を例として説明したが、メモリアクセスアドレス内でのプレルーティングアドレスおよび主記憶内アドレスの位置およびサイズがそれら以外の場合であっても本発明が同様に適用できることはいうまでもない。
【００６１】
【発明の効果】
本発明を用いることにより、少量のハードウェアの増加のみで、２飛びアクセスの性能を向上させることが可能となるという効果がある。その理由は、排他的論理和を使用して重複したルーティングアドレスの生成を排除するようにしたからである。
【００６２】
また、本発明を用いることにより、少量のハードウェアの増加のみで、２のｎ飛びアクセスの性能を向上させることが可能となるという効果がある。その理由は、排他的論理和を使用して重複したルーティングアドレスの生成を排除するようにしたからである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るルーティングアドレス生成方式が適用されるベクトル処理装置の構成を示す回路ブロック図である。
【図２】図１中のルーティングアドレス生成部の詳細を示す回路図である。
【図３】図１中のクロスバ部でのメモリアクセスアドレスと接続ポートとの関係を表す図である。
【図４】本発明の第２の実施の形態に係るルーティングアドレス生成方式におけるルーティングアドレス生成部の詳細を示す回路図である。
【図５】第２の実施の形態に係るルーティングアドレス生成方式におけるクロスバ部でのメモリアクセスアドレスと接続ポートとの関係を表す図である。
【図６】本発明の第３の実施の形態に係るルーティングアドレス生成方式におけるルーティングアドレス生成部の詳細を示す回路図である。
【図７】第３の実施の形態に係るルーティングアドレス生成方式におけるクロスバ部でのメモリアクセスアドレスと接続ポートとの関係を表す図である。
【図８】本発明の第４の実施の形態に係るルーティングアドレス生成方式におけるルーティングアドレス生成部の詳細を示す回路図である。
【図９】第４の実施の形態に係るルーティングアドレス生成方式におけるクロスバ部でのメモリアクセスアドレスと接続ポートとの関係を表す図である。
【図１０】従来のルーティングアドレス生成方式におけるルーティングアドレス生成部の詳細を示す回路図である。
【図１１】従来のルーティングアドレス生成方式における接続ポート毎のメモリアクセスアドレスの割り付けを表す図である。
【図１２】従来のルーティングアドレス生成方式における競合調停部でのメモリアクセスアドレスの競合状態の一例を表す図である。
【図１３】従来のルーティングアドレス生成方式における競合調停部でのメモリアクセスアドレスの競合状態の他の例を表す図である。
【図１４】従来のルーティングアドレス生成方式における競合調停部でのメモリアクセスアドレスの競合状態のさらに他の例を表す図である。
【符号の説明】
１  ベクトル演算部
２  主記憶部
３  メモリアクセス制御部
４  アダー部
５  ルーティングアドレス生成部
６  競合調停部
７  クロスバ部
５１，５２，５３，５４，５５，５６  排他的論理和回路
【図１】
0003789316.tif 000002
【図２】
0003789316.tif 000003
【図３】
0003789316.tif 000004
【図４】
0003789316.tif 000005
【図５】
0003789316.tif 000006
【図６】
0003789316.tif 000007
【図７】
0003789316.tif 000008
【図８】
0003789316.tif 000009
【図９】
0003789316.tif 000010
【図１０】
0003789316.tif 000011
【図１１】
0003789316.tif 000012
【図１２】
0003789316.tif 000013
【図１３】
0003789316.tif 000014
【図１４】
0003789316.tif 000015