(57)【要約】【課題】メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、メモリアクセスの高速化を図ることができる共有メモリ装置を提供する。【解決手段】処理モジュール２１の入出力ポート２１１と、各メモリインタフェース２２２，２３２と、各メモリバンク２２１−１〜２２１−ｎ，２３１−１〜２３１−ｎとは、複数のメモリマクロ２２１，２３１の配置領域（の上層）にＹ方向（第１方向）およびＸ方向（第２方向）にマトリクス状（格子状）に配線された接続配線により接続されている。接続配線は、指示情報配線（コマンドアドレス配線）とデータ配線（ライト配線とリード配線、あるいは共用配線）が多層配線される。【選択図】図４
2007072616.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続されている
共有メモリ装置。
【請求項２】
上記複数のメモリマクロのマトリクス配置に対応するメモリバンクは、上記第２方向に配線されたバスにより接続されている
請求項１記載の共有メモリ装置。
【請求項３】
上記接続配線は、指示情報配線とデータ配線が多層配線されている
請求項１記載の共有メモリ装置。
【請求項４】
上記データ配線は、ライトデータ配線とリードデータ配線が多層配線されている
請求項３記載の共有メモリ装置。
【請求項５】
上記複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有する
請求項１記載の共有メモリ装置。
【請求項６】
複数のアクセスクラスタを有し、
上記各アクセスクラスタは、
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、
上記複数のアクセスクラスタは、上記第２方向に並列に配置され、互いに記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている
共有メモリ装置。
【請求項７】
上記接続配線は、指示情報配線とデータ配線が多層配線されている
請求項６記載の共有メモリ装置。
【請求項８】
上記データ配線は、ライトデータ配線とリードデータ配線が多層配線されている
請求項７記載の共有メモリ装置。
【請求項９】
上記複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有する
請求項６記載の共有メモリ装置。
【請求項１０】
複数のアクセスクラスタを有し、
上記各アクセスクラスタは、
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、
上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続されている
共有メモリ装置。
【請求項１１】
上記複数のアクセスクラスタの各メモリシステムは、上記メモリインタフェースを共用している
請求項１０記載の共有メモリ装置。
【請求項１２】
上記共用のメモリインタフェースは、他のメモリシステムへのアクセスを調停する調停部を含む
請求項１１記載の共有メモリ装置。
【請求項１３】
上記接続配線は、指示情報配線とデータ配線が多層配線されている
請求項１１記載の共有メモリ装置。
【請求項１４】
上記データ配線は、ライトデータ配線とリードデータ配線が多層配線されている
請求項１３記載の共有メモリ装置。
【請求項１５】
上記複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有する
請求項１１記載の共有メモリ装置。
【請求項１６】
複数のアクセスクラスタを有し、
上記各アクセスクラスタは、
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、
上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続され、
残りのアクセスクラスタは、上記第２方向に並列に配置され、互いに上記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている
共有メモリ装置。
【請求項１７】
対称的に配置された上記複数のアクセスクラスタの各メモリシステムは、上記メモリインタフェースを共用している
請求項１６記載の共有メモリ装置。
【請求項１８】
上記共用のメモリインタフェースは、他のメモリシステムへのアクセスを調停する調停部を含む
請求項１７記載の共有メモリ装置。
【請求項１９】
上記接続配線は、指示情報配線とデータ配線が多層配線されている
請求項１７記載の共有メモリ装置。
【請求項２０】
上記データ配線は、ライトデータ配線とリードデータ配線が多層配線されている
請求項１９記載の共有メモリ装置。
【請求項２１】
上記複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有する
請求項１７記載の共有メモリ装置。
【請求項２２】
複数のアクセスクラスタを含む複数のアクセスクラスタ群を有し、
上記複数のアクセスクラスタ群はネットワーク配線を介して接続され、
上記複数のアクセスクラスタ群の各アクセスクラスタは、
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、
上記複数のアクセスクラスタは、上記第２方向に並列に配置され、互いに記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている
共有メモリ装置。
【請求項２３】
上記各アクセスクラスタ群は、複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有し、
上記各アクセスクラスタ群は、上記サブ処理モジュールが上記ネットワーク結合されている
請求項２２記載の共有メモリ装置。
【請求項２４】
複数のアクセスクラスタを含む複数のアクセスクラスタ群を有し、
上記複数のアクセスクラスタ群はネットワーク配線を介して接続され、
上記複数のアクセスクラスタ群の各アクセスクラスタは、
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、
上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続されている
共有メモリ装置。
【請求項２５】
上記各アクセスクラスタ群は、複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有し、
上記各アクセスクラスタ群は、上記サブ処理モジュールが上記ネットワーク結合されている
請求項２４記載の共有メモリ装置。
【請求項２６】
複数のアクセスクラスタを含む複数のアクセスクラスタ群を有し、
上記複数のアクセスクラスタ群はネットワーク配線を介して接続され、
上記複数のアクセスクラスタ群の各アクセスクラスタは、
少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、
上記各メモリシステムは、
複数のメモリバンクを含むメモリマクロと、
上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、
上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、
上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、
上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、
上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続され、
残りのアクセスクラスタは、上記第２方向に並列に配置され、互いに上記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている
共有メモリ装置。
【請求項２７】
上記各アクセスクラスタ群は、複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有し、
上記各アクセスクラスタ群は、上記サブ処理モジュールが上記ネットワーク結合されている
請求項２６記載の共有メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ等の処理装置を含む複数のメモリシステムを混載し、各システムのメモリを共有する共有メモリ装置に関するものである。
【背景技術】
【０００２】
複数のメモリシステムを混載するシステムにおいて、並列処理を重視したアーキテクチャを採用すると、たとえば図１に示すような構成となる。
図１の構成においては、ロジック回路（プロセッサ）１−１〜１−４とメモリマクロ２−１〜２−４は並列処理を優先するため、１対１で接続される。
図１の構成において、ロジック回路１とメモリマクロ２は並列処理を優先するため１対１で接続されるが、ロジック回路１は隣接しているロジックのデータを参照するためには、上位装置を介したパスを使う必要がある。
【０００３】
そこで、ロジック回路１から直接、隣接メモリまでの接続を、一般的に、図２に示すように、クロスバー（Ｘｂａｒ）３で行う構成が採用される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１の構成においては、上述したように、ロジック回路１とメモリマクロ２は並列処理を優先するため１対１で接続されるが、ロジック回路１は隣接しているロジック回路１のデータを参照するためには、上位装置を介したパスを使う必要があるため、実際のアクセスを実現するのは困難である。
【０００５】
また、図２の構成においては、上位装置を介することなく、ロジック回路１は隣接しているロジック回路１のデータを参照することが可能であるが、ロジック回路１からメモリ２までの配線が非常に複雑となり、面積増加と長距離配線による性能低下（周波数低下等）を招くという不利益がある。
【０００６】
また、図３に示すように、複数のロジック回路（プロセッサ）から同一メモリに同時アクセスしたときは、各メモリマクロが競合していない場合でもメモリインタフェースおよびメモリ内バスの競合が発生するため通常同時にはアクセスできない。
【０００７】
これを解決するため同時アクセスを許す数だけ各メモリインタフェースおよび各メモリ内バスを増やすと、さらに面積増加とこれに伴う配線長の増大による性能低下（周波数低下）を引き起こす。
【０００８】
本発明の目的は、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、メモリアクセスの高速化を図ることができる共有メモリ装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の観点の共有メモリ装置は、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続されている。
【００１０】
本発明の第２の観点の共有メモリ装置は、複数のアクセスクラスタを有し、上記各アクセスクラスタは、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、上記複数のアクセスクラスタは、上記第２方向に並列に配置され、互いに記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている。
【００１１】
好適には、上記接続配線は、指示情報配線とデータ配線が多層配線されている。
【００１２】
好適には、上記データ配線は、ライトデータ配線とリードデータ配線が多層配線されている。
【００１３】
好適には、上記複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有する。
【００１４】
本発明の第３の観点の共有メモリ装置は、複数のアクセスクラスタを有し、上記各アクセスクラスタは、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続されている。
【００１５】
好適には、上記複数のアクセスクラスタの各メモリシステムは、上記メモリインタフェースを共用している。
【００１６】
好適には、上記共用のメモリインタフェースは、他のメモリシステムへのアクセスを調停する調停部を含む。
【００１７】
本発明の第４の観点の共有メモリ装置は、複数のアクセスクラスタを有し、上記各アクセスクラスタは、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続され、残りのアクセスクラスタは、上記第２方向に並列に配置され、互いに上記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている。
【００１８】
好適には、対称的に配置された上記複数のアクセスクラスタの各メモリシステムは、上記メモリインタフェースを共用している。
また、上記共用のメモリインタフェースは、他のメモリシステムへのアクセスを調停する調停部を含む。
【００１９】
本発明の第５の観点の共有メモリ装置は、複数のアクセスクラスタを含む複数のアクセスクラスタ群を有し、上記複数のアクセスクラスタ群はネットワーク配線を介して接続され、上記複数のアクセスクラスタ群の各アクセスクラスタは、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、上記複数のアクセスクラスタは、上記第２方向に並列に配置され、互いに記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている。
【００２０】
本発明の第６の観点の共有メモリ装置は、複数のアクセスクラスタを含む複数のアクセスクラスタ群を有し、上記複数のアクセスクラスタ群はネットワーク配線を介して接続され、上記複数のアクセスクラスタ群の各アクセスクラスタは、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続されている。
【００２１】
本発明の第７の観点の共有メモリ装置は、複数のアクセスクラスタを含む複数のアクセスクラスタ群を有し、上記複数のアクセスクラスタ群はネットワーク配線を介して接続され、上記複数のアクセスクラスタ群の各アクセスクラスタは、少なくとも一つの入出力ポートを有する少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な複数のメモリシステムと、を有し、上記各メモリシステムは、複数のメモリバンクを含むメモリマクロと、上記処理モジュールおよび各メモリバンクと接続されるメモリインタフェースと、を含み、上記メモリインタフェースは、上記メモリマクロの配置領域を挟んで上記処理モジュールの配置位置と対向する位置に配置され、上記複数のメモリシステムの各メモリマクロは、上記処理モジュールと、入出力ポートの配置位置と対向配置されたメモリインタフェースとの接続方向である第１方向に略直交する第２方向に並列に配置され、上記処理モジュールの入出力ポートと、上記各メモリインタフェースと、各メモリバンクとは、上記複数のメモリマクロの配置領域に第１方向および第２方向にマトリクス状に配線された接続配線により接続され、上記複数のアクセスクラスタは、上記第１方向にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士が接続され、残りのアクセスクラスタは、上記第２方向に並列に配置され、互いに上記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、上記第２方向に配線されたバスにより接続されている。
【００２２】
好適には、上記各アクセスクラスタ群は、複数のメモリマクロの配置領域の上記第２方向の少なくとも一側に、上記複数のメモリマクロの所定の少なくとも一のメモリバンクを第２方向に選択的にアクセス可能なサブ処理モジュールを有し、上記各アクセスクラスタ群は、上記サブ処理モジュールが上記ネットワーク結合されている。
【発明の効果】
【００２３】
本発明によれば、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、メモリアクセスの高速化を図ることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２５】
図４は、本発明の第１の実施形態に係る共有メモリ装置のシステム構成図である。
【００２６】
図４の共有メモリシステム１０は、複数（図４では４）のアクセスクラスタ２０、３０、４０、および５０を主構成要素として有している。
【００２７】
アクセスクラスタ２０は、一つの入出力ポート２１１を有する処理モジュール（ＰＭ０）２１と、処理モジュール２１によりアクセス可能なＤＲＡＭやＳＲＡＭ等の複数（図４では２）のメモリシステム(Memory System)２２，２３と、を有している。
【００２８】
メモリシステム２２は、図４中に設定した直交座標系のＹ方向（第１方向）に一列に配列された複数のバンク２２１−１〜２２１−ｎ（本例ではｎ＝４）を含むメモリマクロ２２１と、メモリマクロ２２１の各バンク２２１−１〜２２１−ｎと処理モジュール２１とのデータ転送の整合や各バンク２２１−１〜２２１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)２２２と、を備えている。
メモリインタフェース２２２は、メモリマクロ２２１の配置領域を挟んで処理モジュール２１の配置位置と対向する位置に配置されている。
【００２９】
メモリシステム２３は、メモリシステム２２に対して図４中に設定した直交座標系のＸ方向（第２方向）に並列に配置されている。
メモリシステム２３は、Ｙ方向（第１方向）に一列に配列された複数のバンク２３１−１〜２３１−ｎ（本例ではｎ＝４）を含むメモリマクロ２３１と、メモリマクロ２３１の各バンク２３１−１〜２３１−ｎと処理モジュール２１とのデータ転送の整合や各バンク２３１−１〜２３１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)２３２と、を備えている。なお、図面では、複雑化を避けるためメモリマクロ２３１のバンク等の符号は省略している。
メモリインタフェース２３２は、メモリマクロ２３１の配置領域を挟んで処理モジュール２１の配置位置と対向する位置に配置されている。
【００３０】
複数（本例では２）のメモリシステム２２，２３の各メモリマクロ２２１，２３１は、処理モジュール２１と、入出力ポート２１１の配置位置と対向配置されたメモリインタフェース２２２，２３２との接続方向であるＹ方向（第１方向）に略直交するＸ方向（第２方向）に並列に配置されている。
メモリマクロ２２１の各バンク２２１−１〜２２１−ｎとメモリマクロ２３１の各バンク２３１−１〜２３１−ｎは、それぞれＹ方向の２次元的な高さを同じにして、Ｘ方向に並列に配置されている。
そして、Ｘ方向に並列配置されたメモリマクロ２２１の各バンク２２１−１〜２２１−ｎとメモリマクロ２３１の各バンク２３１−１〜２３１−ｎ間の接続配線にはバッファとしてのフリップフロップＦＦが配置されている。
【００３１】
処理モジュール２１の入出力ポート２１１と、各メモリインタフェース２２２，２３２と、各メモリバンク２２１−１〜２２１−ｎ，２３１−１〜２３１−ｎとは、複数のメモリマクロ２２１，２３１の配置領域（の上層）にＹ方向（第１方向）およびＸ方向（第２方向）にマトリクス状（格子状）に配線された接続配線により接続されている。
図４の例では、処理モジュール２１の入出力ポート２１１とメモリシステム２３のメモリインタフェース２３２とがＹ方向（第１方向）の接続配線により直線的に接続されている。
接続配線は、指示情報配線（コマンドアドレス配線）とデータ配線（ライトデータ配線とリードデータ配線、あるいは共用配線）が多層配線されるが、接続配線については、後で詳述する。
【００３２】
アクセスクラスタ３０は、一つの入出力ポート３１１を有する処理モジュール（ＰＭ１）３１と、処理モジュール３１によりアクセス可能なＤＲＡＭやＳＲＡＭ等の複数（図４では２）のメモリシステム(Memory System)３２，３３と、を有している。
【００３３】
メモリシステム３２は、図４中に設定した直交座標系のＹ方向（第１方向）に一列に配列された複数のバンク３２１−１〜３２１−ｎ（本例ではｎ＝４）を含むメモリマクロ３２１と、メモリマクロ３２１の各バンク３２１−１〜３２１−ｎと処理モジュール３１とのデータ転送の整合や各バンク３２１−１〜３２１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)３２２と、を備えている。なお、図面では、複雑化を避けるためメモリマクロ３２１のバンク等の符号は省略している。
メモリインタフェース３２２は、メモリマクロ３２１の配置領域を挟んで処理モジュール３１の配置位置と対向する位置に配置されている。
【００３４】
メモリシステム３３は、メモリシステム３２に対して図４中に設定した直交座標系のＸ方向（第２方向）に並列に配置されている。
メモリシステム３３は、Ｙ方向（第１方向）に一列に配列された複数のバンク３３１−１〜３３１−ｎ（本例ではｎ＝４）を含むメモリマクロ３３１と、メモリマクロ３３１の各バンク３３１−１〜３３１−ｎと処理モジュール３１とのデータ転送の整合や各バンク３３１−１〜３３１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)３３２と、を備えている。
メモリインタフェース３３２は、メモリマクロ３３１の配置領域を挟んで処理モジュール３１の配置位置と対向する位置に配置されている。
【００３５】
複数（本例では２）のメモリシステム３２，３３の各メモリマクロ３２１，３３１は、処理モジュール３１と、入出力ポート３１１の配置位置と対向配置されたメモリインタフェース３２２，３３２との接続方向であるＹ方向（第１方向）に略直交するＸ方向（第２方向）に並列に配置されている。
メモリマクロ３２１の各バンク３２１−１〜３２１−ｎとメモリマクロ３３１の各バンク３３１−１〜３３１−ｎは、それぞれＹ方向の２次元的な高さを同じにして、Ｘ方向に並列に配置されている。
そして、Ｘ方向に並列配置されたメモリマクロ３２１の各バンク３２１−１〜３２１−ｎとメモリマクロ３３１の各バンク３３１−１〜３３１−ｎ間の接続配線にはバッファとしてのフリップフロップＦＦが配置されている。
【００３６】
処理モジュール３１の入出力ポート３１１と、各メモリインタフェース３２２，３３２と、各メモリバンク３２１−１〜３２１−ｎ，３３１−１〜３３１−ｎとは、複数のメモリマクロ３２１，３３１の配置領域（の上層）にＹ方向（第１方向）およびＸ方向（第２方向）にマトリクス状（格子状）に配線された接続配線により接続されている。
図４の例では、処理モジュール３１の入出力ポート３１１とメモリシステム３３のメモリインタフェース３３２とがＹ方向（第１方向）の接続配線により直線的に接続されている。
接続配線は、指示情報配線（コマンドアドレス配線）とデータ配線（ライトデータ配線とリードデータ配線、あるいは共用配線）が多層配線されるが、接続配線については、後で詳述する。
アクセスクラスタ３０は、アクセスクラスタ２０とＸ方向（第２方向）に並列に配置され、互いに上記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、Ｘ方向（第２方向）に配線されたバスにより接続されている。
【００３７】
また、アクセスクラスタ３０のメモリマクロ３２１の各バンク３２１−１〜３２１−ｎとアクセスクラスタ２０のメモリマクロ２３１の各バンク２３１−１〜２３１−ｎは、それぞれＹ方向の２次元的な高さを同じにして、Ｘ方向に並列に配置されている。
そして、Ｘ方向に並列配置されたメモリマクロ３２１の各バンク３２１−１〜３２１−ｎとメモリマクロ２３１の各バンク２３１−１〜２３１−ｎ間の接続配線にはバッファとしてのフリップフロップＦＦが配置されている。
【００３８】
アクセスクラスタ４０は、一つの入出力ポート４１１を有する処理モジュール（ＰＭ２）４１と、処理モジュール４１によりアクセス可能なＤＲＡＭやＳＲＡＭ等の複数（図４では２）のメモリシステム(Memory System)４２，４３と、を有している。
【００３９】
メモリシステム４２は、図４中に設定した直交座標系のＹ方向（第１方向）に一列に配列された複数のバンク４２１−１〜４２１−ｎ（本例ではｎ＝４）を含むメモリマクロ４２１と、メモリマクロ４２１の各バンク４２１−１〜４２１−ｎと処理モジュール４１とのデータ転送の整合や各バンク４２１−１〜４２１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)４２２と、を備えている。
メモリインタフェース４２２は、メモリマクロ４２１の配置領域を挟んで処理モジュール４１の配置位置と対向する位置に配置されている。
【００４０】
メモリシステム４３は、メモリシステム４２に対して図４中に設定した直交座標系のＸ方向（第２方向）に並列に配置されている。
メモリシステム４３は、Ｙ方向（第１方向）に一列に配列された複数のバク４３１−１〜４３１−ｎ（本例ではｎ＝４）を含むメモリマクロ４３１と、メモリマクロ４３１の各バンク４３１−１〜４３１−ｎと処理モジュール４１とのデータ転送の整合や各バンク４３１−１〜４３１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)４３２と、を備えている。なお、図面では、複雑化を避けるためメモリマクロ４３２のバンク等の符号は省略している。
メモリインタフェース４３２は、メモリマクロ４３１の配置領域を挟んで処理モジュール４１の配置位置と対向する位置に配置されている。
【００４１】
複数（本例では２）のメモリシステム４２，４３の各メモリマクロ４２１，４３１は、処理モジュール４１と、入出力ポート４１１の配置位置と対向配置されたメモリインタフェース４２２，４３２との接続方向であるＹ方向（第１方向）に略直交するＸ方向（第２方向）に並列に配置されている。
メモリマクロ４２１の各バンク４２１−１〜４２１−ｎとメモリマクロ４３１の各バンク４３１−１〜４３１−ｎは、それぞれＹ方向の２次元的な高さを同じにして、Ｘ方向に並列に配置されている。
そして、Ｘ方向に並列配置されたメモリマクロ４２１の各バンク４２１−１〜４２１−ｎとメモリマクロ４３１の各バンク４３１−１〜４３１−ｎ間の接続配線にはバッファとしてのフリップフロップＦＦが配置されている。
【００４２】
処理モジュール４１の入出力ポート４１１と、各メモリインタフェース４２２，４３２と、各メモリバンク４２１−１〜４２１−ｎ，４３１−１〜４３１−ｎとは、複数のメモリマクロ４２１，４３１の配置領域（の上層）にＹ方向（第１方向）およびＸ方向（第２方向）にマトリクス状（格子状）に配線された接続配線により接続されている。
図４の例では、処理モジュール４１の入出力ポート４１１とメモリシステム４３のメモリインタフェース４３２とがＹ方向（第１方向）の接続配線により直線的に接続されている。
接続配線は、指示情報配線（コマンドアドレス配線）とデータ配線（ライトデータ配線とリードデータ配線、あるいは共用配線）が多層配線されるが、接続配線については、後で詳述する。
【００４３】
そして、アクセスクラスタ２０とアクセスクラスタ４０とは、Ｙ方向（第１方向）にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士２２２と４２２、２３２と４３２が接続されている。
本実施形態においては、対称的に配置された複数のアクセスクラスタ２０と４０の各メモリシステムは、メモリインタフェースを共用している。
具体的には、メモリシステム２２のメモリインタフェース２２２と、メモリシステム４２のメモリインタフェース４２２とが、互いに共用するように構成されている。同様に、メモリシステム２３のメモリインタフェース２３２と、メモリシステム４３のメモリインタフェース４３２とが、互いに共用するように構成されている。
これらの共用のメモリインタフェースは、他のメモリシステムへのアクセスを調停する調停部を含む。調停部については後で説明する。
【００４４】
アクセスクラスタ５０は、一つの入出力ポート５１１を有する処理モジュール（ＰＭ３）５１と、処理モジュール５１によりアクセス可能なＤＲＡＭやＳＲＡＭ等の複数（図４では２）のメモリシステム(Memory System)５２，５３と、を有している。
【００４５】
メモリシステム５２は、図４中に設定した直交座標系のＹ方向（第１方向）に一列に配列された複数のバンク５２１−１〜５２１−ｎ（本例ではｎ＝４）を含むメモリマクロ５２１と、メモリマクロ５２１の各バンク５２１−１〜５２１−ｎと処理モジュール５１とのデータ転送の整合や各バンク５２１−１〜５２１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)５２２と、を備えている。なお、図面では、複雑化を避けるためメモリマクロ５２１のバンク等の符号は省略している。
メモリインタフェース５２２は、メモリマクロ５２１の配置領域を挟んで処理モジュール４１の配置位置と対向する位置に配置されている。
【００４６】
メモリシステム５３は、メモリシステム５２に対して図４中に設定した直交座標系のＸ方向（第２方向）に並列に配置されている。
メモリシステム５３は、Ｙ方向（第１方向）に一列に配列された複数（図４では）のバク５３１−１〜５３１−ｎ（本例ではｎ＝４）を含むメモリマクロ５３１と、メモリマクロ５３１の各バンク５３１−１〜５３１−ｎと処理モジュール５１とのデータ転送の整合や各バンク５３１−１〜５３１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface：Ｉ／Ｆ)５３２と、を備えている。
メモリインタフェース５３２は、メモリマクロ５３１の配置領域を挟んで処理モジュール５１の配置位置と対向する位置に配置されている。
【００４７】
複数（本例では２）のメモリシステム５２，５３の各メモリマクロ５２１，５３１は、処理モジュール５１と、入出力ポート５１１の配置位置と対向配置されたメモリインタフェース５２２，５３２との接続方向であるＹ方向（第１方向）に略直交するＸ方向（第２方向）に並列に配置されている。
メモリマクロ５２１の各バンク５２１−１〜５２１−ｎとメモリマクロ５３１の各バンク５３１−１〜５３１−ｎは、それぞれＹ方向の２次元的な高さを同じにして、Ｘ方向に並列に配置されている。
そして、Ｘ方向に並列配置されたメモリマクロ５２１の各バンク５２１−１〜５２１−ｎとメモリマクロ５３１の各バンク５３１−１〜５３１−ｎ間の接続配線にはバッファとしてのフリップフロップＦＦが配置されている。
【００４８】
処理モジュール５１の入出力ポート５１１と、各メモリインタフェース５２２，５３２と、各メモリバンク５２１−１〜５２１−ｎ，５３１−１〜５３１−ｎとは、複数のメモリマクロ５２１，５３１の配置領域（の上層）にＹ方向（第１方向）およびＸ方向（第２方向）にマトリクス状（格子状）に配線された接続配線により接続されている。
図４の例では、処理モジュール５１の入出力ポート５１１とメモリシステム５３のメモリインタフェース５３２とがＹ方向（第１方向）の接続配線により直線的に接続されている。
接続配線は、指示情報配線（コマンドアドレス配線）とデータ配線（ライトデータ配線とリードデータ配線、あるいは共用配線）が多層配線されるが、接続配線については、後で詳述する。
【００４９】
アクセスクラスタ５０は、アクセスクラスタ４０とＸ方向（第２方向）に並列に配置され、互いに上記複数のメモリマクロのマトリクス配置に対応するメモリバンクが、Ｘ方向（第２方向）に配線されたバスにより接続されている。
また、アクセスクラスタ５０のメモリマクロ５２１の各バンク５２１−１〜５２１−ｎとアクセスクラスタ４０のメモリマクロ４３１の各バンク４３１−１〜４３１−ｎは、それぞれＹ方向の２次元的な高さを同じにして、Ｘ方向に並列に配置されている。
そして、Ｘ方向に並列配置されたメモリマクロ５２１の各バンク５２１−１〜５２１−ｎとメモリマクロ４３１の各バンク４３１−１〜４３１−ｎ間の接続配線にはバッファとしてのフリップフロップＦＦが配置されている。
【００５０】
そして、アクセスクラスタ３０とアクセスクラスタ５０とは、Ｙ方向（第１方向）にインタフェースを介して対称的に配置され、互いの対応する位置に配置されたメモリインタフェース同士３２２と５２２、３３２と５３２が接続されている。
本実施形態においては、対称的に配置された複数のアクセスクラスタ３０と５０の各メモリシステムは、メモリインタフェースを共用している。
具体的には、メモリシステム３２のメモリインタフェース３２２と、メモリシステム５２のメモリインタフェース５２２とが、互いに共用するように構成されている。同様に、メモリシステム３３のメモリインタフェース３３２と、メモリシステム５３のメモリインタフェース５３２とが、互いに共用するように構成されている。
これらの共用のメモリインタフェースは、他のメモリシステムへのアクセスを調停する調停部を含む。調停部については後で説明する。
【００５１】
以上説明した本実施形態の共有メモリ装置１０は、次のような特徴をもって構成されている。
【００５２】
共有メモリ装置１０は、メモリとロジックが混載であることを利用して、一般的なクロスバー（X-bar）によるバスシステムを、図４に示すように、メモリ上にマッピングしている。
近年の製造技術ではロジック回路規模の増大により配線層が増加しているが、メモリ回路は規模が増大しても必要となる配線層数はほとんど増えない。このためメモリ上の上部側の配線層は未使用であることが多い。これを利用してメモリシステム上にバスシステムの配線を通すことにより、メモリの面積をほとんど増やすことなくバスシステムを構築できる。
本実施形態においては、配線長増大による周波数低下を回避するため、接続配線であるバスはパイプライン化している。
また、配線面積増大を回避するため各処理モジュール-メモリシステム間の配線は１対１接続ではなく共有配線としている。
【００５３】
各メモリシステムのメモリインタフェースＩ／Ｆは、Ｙ方向（第１方向）におけるレイアウト上中心に配置している。これは各処理モジュールと各メモリインタフェースＩ／Ｆまでの間を等距離かつ最短にして、配線量を減らすためである。
メモリインタフェースＩ／Ｆがレイアウト中心にあることによりメモリ内資源が２倍に有効活用できる。これは、図４の複数のアクセスクラスタ２０，３０，４０，５０をＹ方向（第１方向）およびＸ方向（第２方向）構成においてメモリインタフェースＩ／Ｆを境界としてメモリ内資源が２分割されるので、同一メモリに複数のアクセスが同時に行われてもメモリインタフェースＩ／Ｆを境界として別々の方へのアクセスであれば、同時にアクセスできるからである。
【００５４】
図４において、Ｘ方向（第２方向または横方向）の接続配線は、各処理モジュールＰＭ（０〜３）を起点として、全てのメモリシステムにアクセスできるようにＸ方向（第２方向）に縦貫されている。
この配線を利用して、図５中、配線ＬＮＸで示すように、Ｘ方向（第２方向）メモリ−メモリ間転送も行うことが可能である。
Ｘ方向（第２方向）の同一配線をモードの設定によって図４の接続形態と図５の接続形態を切り替えるだけであることから、ほとんど面積を増大させることなく高速なメモリ−メモリ間転送を実現できる。
このＸ方向転送モード（横転送モード）は必要のない用途には削除可能である。
【００５５】
共有メモリ装置１０は、メモリシステム上にバスシステムをマッピングしているので、図６に示すように、データバスとメモリインタフェースＩ／Ｆ間にアクセス先のバンクがあればダイレクトにアクセスできる。
この図６の例においては、アクセスクラスタ２０の処理モジュール２１（ＰＭ０）が左端にあるメモリマクロ２２１のバンク２２１−２にアクセスを行い、アクセスクラスタ３０の処理モジュール３１（ＰＭ１）が同メモリマクロ２２１のバンク２２１−１にアクセスを行っている。
これは通常のX-barシステムでは、図７に示すように、メモリインタフェースＩ／Ｆをスキップしたアクセスになる。
その結果、アクセスレイテンシの短縮が実現できる。
【００５６】
本実施形態の共有メモリ装置１０においては、経路途中にアクセス先があれば同一メモリに属する同時アクセスでもバンクが異なり、かつＹ方向（第１方向または縦方向）の配線ＬＮＹが競合しなければ同時アクセスが可能となる。
これにより、図６および図８に示すように、単純にX-barをマッピングするのと比較して、面積を増やすことなく、スループットを向上させることができる。
上述したように、図６の例においては、アクセスクラスタ２０の処理モジュール２１（ＰＭ０）が左端にあるメモリマクロ２２１のバンク２２１−２にアクセスを行い、アクセスクラスタ３０の処理モジュール３１（ＰＭ１）が同メモリマクロ２２１のバンク２２１−１にアクセスを行っている。
通常のX-barにおいては、図３および図９に示すように、Ｙ方向（第２方向または縦方向）の配線資源が１系統しかない場合は同時にアクセスできない。
これに対して、本実施形態においては、図８に示すように、同程度の面積で同時アクセスが実現でき、かつレイテンシの短縮も実現できる。
【００５７】
また、Ｘ方向（第２方向または横方向）の配線は各処理モジュールＰＭに個別(Private)に持たせる必要があるが、Ｙ方向（第１方向または縦方向）の配線は求める性能、および許される資源（面積）により、図１０および図１１の（Ａ）〜（Ｃ）に示すように、プライベート（private）配線ＰＲＬ、パブリック（public）配線ＰＢＬ、およびコモン（common）配線ＣＭＬの３形態をとることが可能となる。
【００５８】
プライベート（Private）の場合、図１０（Ａ），（Ｂ）に示すように、各処理モジュールＰＭに対して個別（専用）の配線を引くことになり、性能は最も高くなるが配線資源（面積）も最も必要となる。
【００５９】
パブリック（Public）の場合、メモリインタフェースＩ／Ｆを越える領域にアクセスする場合に，各処理モジュールＰＭのリード（Read）データ配線、ライト（Write）データ配線 を共用することができる。
たとえば、図中の上側のアクセスクラスタ２０，３０の処理モジュール２１，３１（ＰＭ０，ＰＭ１）から下側の領域へのアクセスの場合、リード（Read）、ライト（Write）で括ると共用できる。
同時にアクセスがある場合は、パブリック（public）の系統数だけしかアクセスできないが、面積を抑えられる。
【００６０】
コモン（Common）の場合、メモリインタフェースＩ／Ｆへ向かう方向(up)、離れていく方向(down)、によって、それぞれ共用化を行う。リード（Read）、ライト（Write）の区別は関係ない。図１０（Ｃ）に示すように、方向さえ一致すれば全ての処理モジュールＰＭ間で資源を共用できる。
図１０（Ａ）〜（Ｃ）に示すプライベート（private）配線、パブリック（public）配線、およびコモン（common）配線による実施例を図１１（Ａ）〜（Ｃ）にそれぞれ示している。
【００６１】
図４に示す共有メモリ装置１０は、各アクセスクラスタの処理モジュール２１，３１，４１，５１が一つの入出力ポート２１１，３１１，４１１，５１１を有する場合を一例として示しているが、各処理モジュール２１，３１，４１，５１に複数の入出力ポートを持たせるように構成することも可能である。
【００６２】
図１２は、各処理モジュールが複数の入出力ポートを持つ共有メモリ装置の構成例を示す図である。
図１２の共有メモリ装置１０Ａは、各アクセスクラスタ２０Ａ，３０Ａ，４０Ａ，５０Ａの処理モジュール２１Ａ，３１Ａ，４１Ａ，５１Ａが２つの入出力ポート２１１，２１２、３１１，３１２、４１１，４１２、および５１１，５１２を有する。
【００６３】
このように、各処理モジュールＰＭが複数のポートを持つことにより、スループットをさらに向上させることができる。この場合、図１２に示すように、アクセス先の領域を分割するだけなのでほとんど面積は増えない。
【００６４】
また、図４の共有メモリ装置１０は、アクセスクラスタが４つを含む構成を一例として示しているが、アクセスクラスタが１個、２個、６個、あるいはそれ以上を含む構成を採用することも可能である。
【００６５】
図１３は、アクセスクラスタを１個含む共有メモリ装置の構成例を示す図である。
図１４および図１５は、アクセスクラスタを２個含む共有メモリ装置の構成例を示す図である。
図１６および図１７は、アクセスクラスタを６個含む共有メモリ装置の構成例を示す図である。
【００６６】
図１３の共有メモリ装置１０Ｂは、アクセスクラスタ２０を１個含む。
図１４の共有メモリ装置１０Ｃは、Ｙ方向（第１方向）にメモリインタフェースＩ／Ｆを共用するアクセスクラスタ２０とアクセスクラスタ４０の２個を含む。
図１５の共有メモリ装置１０Ｄは、Ｘ方向（第２方向）に並列配置されたアクセスクラスタ２０とアクセスクラスタ３０の２個を含む。
図１６および図１７の共有メモリ装置１０Ｅ、１０Ｆは、３つのアクセスクラスタ２０，３０，４０をＸ方向（第２方向）に並列に配置し、これらのアクセスクラスタ２０，３０，４０とＹ方向（第１方向）にメモリインタフェースＩ／Ｆを共用する３つのアクセスクラスタ５０，６０,７０を配置した、アクセスクラスタを６個含む構成を有する。
このように、アクセスクラスタの数、換言すれば、処理モジュールＰＭの数に応じたシステムを構成することが可能である。
【００６７】
以上、共有メモリ装置のシステム構成を中心に説明したが、以下に、重複する部分もあるが、バンク構成、接続配線、メモリインタフェースの構成、機能についてさらに具体的に説明する。
【００６８】
＜メモリマクロ構成＞
本実施形態においては、図１８に示すように、メモリマクロは複数のメモリバンクＢＮＫと１個のメモリインタフェースＩ／Ｆにより構成される。
本実施形態においては、Ｙ方向（第１方向）に配列配置されるメモリシステムでメモリインタフェースＩ／Ｆを共用している。
図１８に示すように、物理的にメモリインタフェースＩ／Ｆを中心として原則同数（半数ずつ）のバンクが配置される。
【００６９】
＜バンク構成＞
図１９は、本実施形態に係るメモリバンクの構成例を示す図である。
【００７０】
各バンクＢＮＫは、メモリアレイ１０１、書込回路１０２、読出回路１０３、およびセレクタ（Ｓ）１０４〜１０９を含んで構成されている。
【００７１】
また、図１９において、ＰＲＬ−ＷＸはＸ方向（第２方向または横方向）のプライベートのライトデータバス（配線）を、ＰＲＬ−ＲＸはＸ方向（第２方向または横方向）のプライベートのリードデータバスを、ＰＲＬ−ＷＹはＹ方向（第１方向または縦方向）のプライベートのライトデータバスを、ＰＢＬ−ＷＹはＹ方向（第１方向または縦方向）のパブリックのライトデータバスを、ＰＲＬ−ＲＹはＹ方向（第１方向または縦方向）のプライベートのリードデータバスを、ＰＢＬ−ＲＹはＹ方向（第１方向または縦方向）のパブリックのリードデータバスを、ＣＭＬ−ＵはＹ方向（第１方向または縦方向）におけるアップ方向のコモンのコマンドアドレスバスを、ＣＭＬ−ＤはＹ方向（第１方向または縦方向）におけるダウン方向のコモンのコマンドアドレスバスを、それぞれ示している。
【００７２】
本実施形態においては、指示情報配線（コマンドアドレス配線）とデータ配線（ライトデータ配線とリードデータ配線、あるいは共用配線）が多層配線されるが、バンクＢＮＫ上に多層配線されている立体的な様子を図２０に示す。
【００７３】
各バンクＢＮＫにおいては、横方向（Ｘ方向）のライトデータバスＰＲＬ−ＷＸ、縦方向（Ｙ方向）のライトデータバス(private, public)ＰＲＬ−ＷＹ,ＰＢＬ−ＷＹ、縦方向のコモン（common）のコマンドアドレスバスＣＭＬ−Ｕ，ＣＭＬ−Ｄ(up, down)から、セレクタ１０４を通して選択的に書き込みに関する情報を書込回路１０２に送る。
また，横方向（Ｘ方向）のリードバスＰＲＬ−ＲＸ、縦方向（Ｙ方向）のリードデータバス(private, public)ＰＲＬ−ＲＹ，ＰＢＬ−ＲＹ、縦方向のコモン（common）のコマンドアドレスバスＣＭＬ−Ｕ，ＣＭＬ−Ｄ(up, down)にセレクタ１０５〜１０９を介して選択的にデータを転送する。
【００７４】
＜横方向（Ｘ方向、第２方向）コマンドアドレスバス配線＞
コマンドアドレスバスＣＭＬ−Ｘにはアクセス先のマクロ、バンク、アドレス、リード／ライト（Read/Write）、ライトマスク（Write Mask）、ID、バースト長、等の情報が含まれる。
コマンドアドレスバスＣＭＬ−Ｘは、図２１に示すように、各処理モジュールＰＭからＸ方向（第２方向または横方向）の全てのメモリシステムのメモリマクロに対して接続される。
処理モジュールＰＭと各メモリインタフェースＩ／Ｆ間は“Point to Point”（以下P2Pと略する）接続では配線量が膨大になる。したがって共有接続する。
横方向（Ｘ方向）は処理モジュールＰＭごとに専用(private)である。各分岐ＢＲＮＣではアクセス先のマクロに応じて分岐する。
分岐した後、メモリインタフェースＩ／Ｆまではプライベート（private）バス配線で接続される。
【００７５】
＜横方向（Ｘ方向、第２方向）ライトデータバス配線＞
横方向のライトデータバスＰＲＬ−ＷＸはプライベート配線であるが、図２２に示すように、アクセス先ごとにP2Pで接続するのではなく共有である。
分岐ＢＲＮＣからメモリインタフェースＩ／Ｆまでの縦方向（Ｙ方向、第１方向）配線は、利用可能な配線リソースに応じて、プライベート（private）,パブリック（public）,コモン（common）のバス配線で接続される。
【００７６】
＜縦方向（Ｙ方向、第２方向）ライトデータバス配線＞
処理モジュールＰＭから直下のメモリインタフェースＩ／Ｆまでの縦方向（Ｙ方向、第１方向）のライトデータバスは、図２３に示すように、プライベート（private）バスＰＲＬ−ＷＹで接続して構成する。
プライベートのライトデータバスＰＲＬ−ＷＹは横方向（Ｘ方向、第２方向）に配線されるライトデータバスＰＲＬ−ＷＸと直接接続される（図２３のから２つ目のバンクＢＮＫ２）。
処理モジュールＰＭ直下以外のプライベート縦配線では、図２４に示すように、横方向（Ｘ方向）からデータを転送するライトデータバスと直接接続され、そこから縦方向（Ｙ方向）にライトデータが転送される。
メモリインタフェースＩ／Ｆを越える縦方向ライトバスは横方向配線と接続されることはない。
また、図２５に示すように、遅延のレベルによってはメモリインタフェースＩ／ＦにおいてフリップフロップＦＦで一旦ラッチして転送する。
メモリインタフェースＩ／Ｆを越える場合、図２６に示すように、配線リソースの状況に応じて、メモリインタフェースＩ／Ｆ手前の複数のプライベート配線をセレクタＳでセレクトして、パブリック配線で形成する。
プライベート配線は、処理モジュールＰＭに対する専用配線なので、処理モジュールＰＭの数が増えてきた場合、全てをプライベート（private）で結線すると膨大な配線リソースが必要となる。この場合、直下以外に関してはコモン（common）の形態をとる。
【００７７】
＜横方向（Ｘ方向、第２方向）リードデータバス配線＞
リードデータバスは処理モジュールＰＭ直下のメモリインタフェースＩ／Ｆに対しては、図２７に示すように、プライベート配線ＰＲＬ−ＲＸで接続される。横方向（Ｘ方向）のリードデータバス配線はプライベートであるが、アクセス先ごとにP2Pで接続するのではなく共有である。
図２７に示すように、縦方向（Ｙ方向、第２方向）配線との接続部分はセレクタＳＬＣで構成され、横方向（Ｘ方向）から転送されてくるデータと縦方向（Ｙ方向）から転送されてくるデータをセレクトする。
【００７８】
＜縦方向（Ｙ方向、第１方向）リードデータバス配線＞
処理モジュールＰＭから直下のメモリインタフェースＩ／Ｆまでの縦方向（Ｙ方向）リードデータバスは、図２８に示すように、プライベートバスＰＲＬ−ＲＹで接続して構成する。
プライベートのリードデータバスＰＲＬ−ＲＹは、横方向（Ｘ方向）に配線されたリードデータバスＰＲＬ−ＲＸとセレクタＳで接続される（図２８の上から２つ目のバンクＢＮＫ２）。
処理モジュールＰＭ直下以外のプライベート縦配線では、図２９に示すように、横方向（Ｘ方向）からデータが転送されるリードデータバスＰＲＬ−ＲＸとセレクタＳで接続され、そこから選択的に次の横方向（Ｘ方向）にリードデータが転送される。
メモリインタフェースＩ／Ｆを越える縦方向（Ｙ方向）のリードデータバスは横方向（Ｘ方向）配線と接続されることはない。
また、図３０に示すように、遅延のレベルによってはメモリインタフェースＩ／ＦにおいてフリップフロップＦＦで一旦ラッチして転送する。
メモリインタフェースＩ／Ｆを越える場合、図３１に示すように、配線リソースの状況に応じて、メモリインタフェースＩ／Ｆ手前の複数のプライベート配線に分配して、パブリック配線で形成する。
プライベート配線は、処理モジュールＰＭに対する専用配線なので、処理モジュールＰＭの数が増えてきた場合、全てをプライベート（private）で結線すると膨大な配線リソースが必要となる。この場合、直下以外に関してはコモン（common）の形態をとる。
【００７９】
＜縦方向（Ｙ方向、第１方向）データバス配線(common)＞
縦方向（Ｙ方向）のデータバスは配線資源が限られている場合、コモン配線によって配線量を減らすことが可能となる。
コモンではリードとライトで区別するのではなく、図３２および図３３に示すように、データの流れる方向で配線を形成する。便宜上、メモリインタフェースＩ／Ｆへ向かう方向を“上り(up)”、離れる方向を“下り(down)”と呼ぶ。
コモン配線では横方向（Ｘ方向）をライトデータバスが配線されている場合は、図３２の＜１＞、図３３の＜１＞の構成をとる。
コモン配線では横方向（Ｘ方向）をリードデータバスが配線されている場合は、図３２の＜２＞、図３３の＜２＞の構成をとる。
【００８０】
＜I/F構成＞
メモリインタフェースＩ／Ｆにおいては、各処理モジュールＰＭから送られてくるコマンドを調停し、マクロ内のバンクのリソースが空いている場合に発行する処理を行う。
基本構成として、図３４に示すように、各処理モジュールＰＭに対応したコマンドバッファ（Command Buffer：以下CBと略）１１１−０〜１１１−ｎを最低１つずつ有し、さらにアービタ（arbiter）１１２、並びにセレクタ（Ｓ）１１３，１１４を有する。
また、アービタ１１２はＣＢ１１１−０〜１１１−ｎ内の命令のうち発行可能な命令を選択信号Ｓ１１２ａ，Ｓ１１２ｂにより選択して発行する。メモリインタフェースＩ／Ｆを中心としてＹ方向（第１方向）の上側（第１側）のメモリシステムのバンクと下側（第２側）のメモリシステムのバンクに対して同時に発行可能である。
また、図３５に示すように、配線リソースが許す場合、上側と下側のそれぞれに対し複数の命令配線を配線する（引く）ことも可能となる。
さらに、面積的に許されるのであれば、図３６に示すように、CBを複数持たせることも可能である。この場合、たとえば上側の処理モジュールＰＭへの転送経路にＯＲゲート１１５−０〜１１５−ｎが設けられる。
【００８１】
＜縦方向（Ｙ方向、第１方向）アドレスバス配線＞
図３７に示すように、基本的に、メモリインタフェースＩ／Ｆから発行されたアドレス（コマンド）は縦方向（Ｙ方向）に転送され、分岐にＢＲＮＣにおいてアクセス先のバンクに応じて分かれる。
また、図３５または図３６に示すように、配線リソースに余裕があり、複数アドレス配線が引ける場合は、図３８に示すように、セレクタ（Ｓ）を通して最終的にバンクに入力される。
【００８２】
図３９は、上述した本実施形態に係る共有メモリ装置の基本構成および接続配線の特徴をまとめて示す図である。
【００８３】
図３９において、ＣＭＤはコマンド系配線を、ＷＤＴはライトデータ系配線を、ＲＤＴはリードデータ系配線をそれぞれ示している。
【００８４】
本実施形態に係る共有メモリ装置の基本構成および接続配線の特徴（１）〜（９）は以下のとおりである。
【００８５】
（１）：データのＸ方向（横）配線は、他の処理モジュールＰＭとの横方向の競合を回避するため、プライベート配線とする。
（２）：メモリインタフェースＩ／Ｆ手前にターゲットがある場合は直接アクセスする。これにより、レイテンシを短縮し、資源競合を低減できる。
（３）：データのＹ方向（縦）配線は配線資源でプライベートか束ねるかを決める。これにより、配線資源の効率化を図ることができる。
（４）：メモリインタフェースＩ／Ｆからのコマンド発行は、資源が許せば複数とする。これにより、スループットの向上を図れる。
（５）：コマンドはＹ方向（縦方向）、Ｘ方向（横方向）ともすべてプライベート配線とする。これにより、他の処理モジュールＰＭとの競合を回避できる。
（６）：データの処理モジュールＰＭ直下のＹ（縦）方向配線はプライベート配線とする。これにより、他の処理モジュールＰＭとの競合を回避できる。
（７）：メモリインタフェースＩ／ＦをＹ方向（第１方向）の中央に配置する。これにより、配線資源を２倍に有効利用できる。
（８）：Ｘ（横）方向のデータ配線は横転送モードとして使用可能である。これにより、メモリーメモリ間転送性能の向上を図ることができる。
（９）：処理モジュールＰＭに複数ポートを持たせてもよい。これにより、スループットの向上を図ることができる。
【００８６】
以上説明したように、本第１の実施形態によれば、複数のメモリバンクを搭載するメモリシステムにおいて、メモリマクロ上にバスシステムを構築することにより、通常のX-barなどによる共有メモリシステムよりも高速に（高スループット）メモリアクセスを実行できる。
また、図４等のように構成されるバスシステムの配線を利用して、メモリバンク間のバスを構築することにより、回路規模をほとんど増大させることなく、高速なメモリ−メモリ間データ転送を実現できる。
また、メモリマクロ上に配線しているので、アクセス先のバンク上を配線が通るときにはダイレクトにアクセスできるので低レイテンシを実行できる。
また、要求される性能と配線性とのトレードオフにより配線方法を変更したシステム、すなわち、処理モジュールＰＭ数、配線リソースと要求性能に応じてシステムを構築できる。
さらに、１つの処理モジュールＰＭにメモリシステムとのポートを複数持たせることにより、資源（面積）を消費することなく、さらに高い性能を構築したシステムを実現することができる。
また、処理モジュールＰＭ数が増加すると配線も増大するが、バス幅に応じてバス構成を変えたシステムを構築することができる。
【００８７】
図４０は、本発明の第２の実施形態に係る共有メモリ装置のシステム構成図である。
【００８８】
本第２の実施形態が上述した第１の実施形態と異なる点は、アクセスクラスタ２０，４０のメモリマクロの配置領域のＸ方向（第２方向）の少なくとも一側（図４０では左側）に、複数のメモリマクロの所定の少なくとも一のメモリバンクをＸ方向（第２方向）に選択的にアクセス可能なサブ処理モジュール群８０，８１を配置したことにある。
【００８９】
サブ処理モジュール群８０は、アクセスクラスタ２０，３０のメモリマクロのバンク数に応じて４つのサブ処理モジュール８０−１〜８０−４を配置している。
サブ処理モジュール群８１は、アクセスクラスタ４０、５０のメモリマクロのバンク数に応じて４つのサブ処理モジュール８１−１〜８１−４を配置している。
【００９０】
図４０において、左端のメモリバンク群のうち、アクセスクラスタ４０のメモリマクロ４２１のバンク４２１−２，４２１−３，４２１−４が横転送モード（以下MSTとする）でアクセスする領域で、残りのメモリバンクが通常アクセス領域である。
各処理モジュール２１，３１，４１，５１は通常アクセス領域にアクセスしつつ、横方向からデータの入出力を行い、これらのモード切替を各バンクに対し順次行うことにより、処理を止めることなく、メモリのデータの入れ替えを行うことができる。
このように、横転送モードを使う場合は横（Ｘ）方向にサブ処理モジュールを配置することになる。
この場合、サブ処理モジュールは転送モードを切り替えた領域（バンク）に対し、独自にアクセスを行っても良いし、各処理モジュールＰＭからリクエストを受けてアクセスを行っても良い。
【００９１】
処理モジュールＰＭ数が少ないとき、たとえば２のときは必要とされる縦方向配線も減るのでメモリ上の配線領域も余裕ができることが多い。この場合、図４１に示すように、複数のプライベート配線を配線してより性能を向上させることもできる。
逆に、処理モジュールＰＭ数が多いとき、たとえば６のときは必要とされる縦（Ｙ）方向配線が増えるのでメモリ上の配線領域も逼迫してくる。この場合、たとえば図１６に示すように、バス幅を減らしてプライベート配線の系統数を増やしても良い。
また、図１７に示すように、バス幅は減らさずにプライベート配線を最小限に減らして、コモン配線を増やすこともできる。
これらの選択はシステム要求によって任意である。
【００９２】
以下に、第２の実施形態における転送モードの切り替えについて説明する。
【００９３】
＜転送モードの切替＞
横（Ｘ）方向のリードデータバス、ライトデータバスは、前述したように、モードの切り替えにより横方向への転送に利用可能である。
モードの切り替えは、図４２および図４３に示すように、横（Ｘ）方向配線全てに対して行うことが可能である。
また、モードの切り替えは、図４４および図４５に示すように、部分的に行うことも可能である。
横方向の転送用に切り替えた場合、その配線はサブ処理モジュールＳ−ＰＭの管理下に置かれるため、処理モジュールＰＭは横方向データバスを使えない。しかし、図４６に示すように、直下のバンクに対しては常にアクセス可能である。
横方向転送の需要が少ない場合は、図４７に示すように、メモリインタフェースＩ／Ｆ上に横方向専用のデータバスＤＢＳを敷設することも可能である。
この場合、転送モードの切替は実装してもしなくても良い。
【００９４】
図４８は、図４０に示すように、４つの処理モジュールＰＭ構成で各処理モジュールＰＭが2port持つ場合の例を示す図である。
この例では、処理モジュール２１（ＰＭ０）は図中の＜１＞で示す領域に対しては縦（Ｙ）方向バスしか使わないので、横（Ｘ）方向バスをサブ処理モジュールＳ−ＰＭに解放しても常にアクセスは可能であるが、＜２＞で示す領域に対しては対応する横方向バスを処理モジュールＰＭ側の支配下に置く必要がある。
【００９５】
部分的に横転送モードにした場合(partial MST)、図４９に示すようなデータフローで処理を行うと、処理モジュールＰＭでの処理を止めることなくデータを処理できる。
【００９６】
＜アクセスクラスタ群間接続＞
アクセスララスタ、換言すると、処理モジュールＰＭ数が増えてくると配線リソースが膨大となってくる。
したがって、現実的にはある程度の数のアクセスクラスタ（処理モジュールＰＭ）のまとまりであるアクセスクラスタ群９０で構成し、図５０〜図５３に示すように、アクセスクラスタ群９０間をサブ処理モジュール８０（Ｓ−ＰＭ）を通して接続した方が、配線量を抑えられる。
【００９７】
図５０および図５１は、サブ処理モジュールＳ−ＰＭ経由による２つのアクセスクラスタ群間での転送例を示す図である。この例ではアクセスクラスタ群９０−１，９０−２は、図４等の共有メモリ装置と同様の構成を有している。
【００９８】
図５０の例では、アクセスクラスタ群９０−１の処理モジュールＰＭ１がアクセスクラスタ群９０−２の領域に書き込みを行っている。
この場合、最初にサブ処理モジュールＳ−ＰＭに書込要求を発行し（ＳＴ１）、サブ処理モジュールＳ−ＰＭが書き込む（ＳＴ２）。
また、同図でアクセスクラスタ群９０−２の処理モジュールＰＭ２がアクセスクラスタ群９０−１の領域から読み出ししている。
この場合、最初にサブ処理モジュールＳ−ＰＭに読み出し要求を発行し（ＳＴ３）、サブＳＹ利モジュールＳ−ＰＭが該当領域にリードコマンドを発行し（ＳＴ４）、該当領域からデータが読み出され（ＳＴ５）、サブ処理モジュールＳ−ＰＭがアクセスクラスタ群９０−２の処理モジュールＰＭ２にデータを返している（ＳＴ６）。
【００９９】
図５１は、アクセスクラスタ群間の転送手段として、サブ処理モジュール８０（Ｓ−ＰＭ）内にローカルメモリ（Local Memory）８２を配置した例を示している。
【０１００】
図５１の例では、アクセスクラスタ群９０−２の処理モジュールＰＭ０がサブ処理モジュール８０（Ｓ−ＰＭ）のローカルメモリ８２に書き込み（ＳＴ１１）、同処理モジュールＰＭ０がアクセスクラスタ群９０−１の処理モジュールＰＭ１に通知し（ＳＴ１２）、通知を受けた同処理モジュールＰＭ１がサブ処理モジュール８０（Ｓ−ＰＭ）のローカルメモリ８２から読み出している（ＳＴ１３）。
【０１０１】
さらにアクセスクラスタ群の数が増えてくると、図５２に示すように、サブ処理モジュール８０−１，８０−２同士を、ネットワーク配線部（interconnect）９１により接続することによっても可能である。
【０１０２】
図５２の例では、アクセスクラスタ群９０−１の処理モジュールＰＭ０がサブ処理モジュール８０−１に書き込みを要求し（ＳＴ２１）、サブ処理モジュール８０−１がネットワーク配線部９１に書き込みを要求し（ＳＴ２２）、ネットワーク配線部９１がサブ処理モジュール８０−２に書き込みを要求し（ＳＴ２３）、サブ処理モジュール８０−２がアクセスクラスタ群９０−４の所定の領域で書き込みを行っている（ＳＴ２４）。
【０１０３】
このように、アクセスクラスタ群の数を増やすと必要となる配線領域も増大する。しかしながら必ずしも全てのBM間で全てのメモリを等価に共有する必要性はない。
たとえば、いくつかのアクセスクラスタ群でひとまとまりの処理を行うケースでは、このアクセスクラスタ郡の外側にあるメモリに対してはメモリアクセスの頻度は著しく低い。
このような場合では、図５２に例のように、サブ処理モジュールＳ−ＰＭを通して、アクセスクラスタ群９０−１〜９０−４をネットワーク結合することによりアクセスをするようにすれば、配線領域の増大を抑えられる。
【０１０４】
また、図５３に示すように、アクセスクラスタ群間の接続は、横（Ｘ）方向（第２方向）であれば、アクセスクラスタ群９０−１，９０−２、・・とサブ処理モジュール８０−１，８０−２を数珠繋ぎにすることによって、さらに接続することも可能である。
【０１０５】
また、図５４に示すように、サブ処理モジュール８０（Ｓ−ＰＭ）は、アクセスクラスタ群９０間の接続だけでなく、バスブリッジ９２を経由して他のバスに接続することも可能であるし、外部メモリI/F９３を接続して外部メモリ９４にアクセスすることも可能である。
この場合、アクセスクラスタ群内のメモリ、バスブリッジ９２に繋がる各周辺回路９５、外部メモリ９４を統一されたアドレス空間上に配置できる。
【０１０６】
本第２の実施形態によれば、第１の実施形態の効果に加えて、転送モードはメモリシステム全体で切り替えられるだけでなく、部分的にも切り替えが可能である。これを利用してシステムの動作を止めることなく、システムと外部とのデータ転送が可能となる。
また、アクセスクラスタ群数を増加させた場合、配線が増大するが、いくつかのアクセスクラスタ群をまとまりとして、これらの間をネットワーク結合することにより、配線の増大を抑制できる。
【０１０７】
本実施形態の共有メモリ装置は、SOCに搭載された複数のメモリマクロをメモリ独自のデータ線で接続することにより、高速な共有メモリを実現できる。またバスマスタを介することなくメモリ−メモリ間転送を実現できる。
【図面の簡単な説明】
【０１０８】
【図１】マルチプロセッサの一般的なアーキテクチャを示す図である。
【図２】クロスバーを用いたアーキテクチャを示す図である。
【図３】図２のシステムの課題を説明するための図である。
【図４】本発明の第１の実施形態に係る共有メモリ装置のシステム構成図である。
【図５】図４におけるＸ方向（第２方向または横方向）の接続配線を利用して、Ｘ方向（第２方向）メモリ−メモリ間転送も行う例を示す図である。
【図６】図４の共有メモリ装置において、データバスとメモリインタフェースＩ／Ｆ間にアクセス先のバンクがあればダイレクトにアクセスできることを説明するための図である。
【図７】通常のX-barシステムでは、図６のアクセスと異なりメモリインタフェースＩ／Ｆをスキップしたアクセスになることを示す図である。
【図８】本実施形態の共有メモリ装置が、単純にX-barをマッピングするのと比較して、面積を増やすことなく、スループットを向上させることができることを説明するための図である。
【図９】通常のX-barにおいては、Ｙ方向（第２方向または縦方向）の配線資源が１系統しかない場合は同時にアクセスできないことを示す図である。
【図１０】本実施形態の接続配線として、プライベート（private）配線ＰＲＬ、パブリック（public）配線ＰＢＬ、およびコモン（common）配線ＣＭＬの３形態を示す図である。
【図１１】プライベート（private）配線ＰＲＬ、パブリック（public）配線ＰＢＬ、およびコモン（common）配線ＣＭＬの実施例を示す図である。
【図１２】各処理モジュールが複数の入出力ポートを持つ共有メモリ装置の構成例を示す図である。
【図１３】アクセスクラスタを１個含む共有メモリ装置の構成例を示す図である。
【図１４】アクセスクラスタを２個含む共有メモリ装置の構成例を示す図である。
【図１５】アクセスクラスタを２個含む共有メモリ装置の構成例を示す図である。
【図１６】アクセスクラスタを６個含む共有メモリ装置の構成例を示す図である。
【図１７】アクセスクラスタを６個含む共有メモリ装置の構成例を示す図である。
【図１８】Ｙ方向（第１方向）に配列配置されるメモリシステムでメモリインタフェースＩ／Ｆを共用しているメモリマクロの構成例を示す図である。
【図１９】本実施形態に係るメモリバンクの構成例を示す図である。
【図２０】本実施形態においては、指示情報配線（コマンドアドレス配線）とデータ配線（ライトデータ配線とリードデータ配線、あるいは共用配線）がバンク上に多層配線されている立体的な様子を示す図である。
【図２１】横方向（Ｘ方向、第２方向）のコマンドアドレスバス配線について説明するための図である。
【図２２】横方向（Ｘ方向、第２方向）のライトデータバス配線について説明するための図である。
【図２３】縦方向（Ｙ方向、第２方向）のライトデータバス配線について説明するための図であって、処理モジュールら直下のメモリインタフェースＩ／Ｆまでの縦方向（Ｙ方向、第１方向）のライトデータバスについて説明するための図である。
【図２４】縦方向（Ｙ方向、第２方向）のライトデータバス配線について説明するための図であって、処理モジュールら直下以外の縦方向（Ｙ方向、第１方向）のライトデータバスについて説明するための図である。
【図２５】遅延のレベルによってはメモリインタフェースＩ／ＦにおいてフリップフロップＦＦを設ける例を示す図である。
【図２６】縦方向（Ｙ方向、第２方向）のライトデータバス配線について説明するための図であって、配線リソースの状況に応じて、メモリインタフェースＩ／Ｆ手前の複数のプライベート配線をセレクトして、パブリック配線で形成する例を示す図である。
【図２７】横方向（Ｘ方向、第２方向）のリードデータバス配線について説明するための図である。
【図２８】縦方向（Ｙ方向、第２方向）のリードデータバス配線について説明するための図であって、処理モジュールら直下のメモリインタフェースＩ／Ｆまでの縦方向（Ｙ方向、第１方向）のリードデータバスについて説明するための図である。
【図２９】縦方向（Ｙ方向、第２方向）のリードデータバス配線について説明するための図であって、処理モジュールら直下以外の縦方向（Ｙ方向、第１方向）のリードデータバスについて説明するための図である。
【図３０】遅延のレベルによってはメモリインタフェースＩ／ＦにおいてフリップフロップＦＦを設ける例を示す図である。
【図３１】縦方向（Ｙ方向、第２方向）のリードデータバス配線について説明するための図であって、配線リソースの状況に応じて、メモリインタフェースＩ／Ｆ手前の複数のプライベート配線に分配して、パブリック配線で形成する例を示す図である。
【図３２】縦方向（Ｙ方向、第１方向）におけるアップ方向のデータバス配線(common)について説明するための図である。
【図３３】縦方向（Ｙ方向、第１方向）におけるダウン方向のデータバス配線(common)について説明するための図である。
【図３４】本実施形態に係るメモリインタフェースＩ／Ｆの基本構成を示す図である。
【図３５】本実施形態に係るメモリインタフェースＩ／Ｆの他の構成例を示す図である。
【図３６】本実施形態に係るメモリインタフェースＩ／Ｆのさらに他の構成例を示す図である。
【図３７】縦方向（Ｙ方向、第１方向）の基本的なコマンドアドレスバス配線について説明するための図である。
【図３８】縦方向（Ｙ方向、第１方向）の複数発行構成のコマンドアドレスバス配線について説明するための図である。
【図３９】本実施形態に係る共有メモリ装置の基本構成および接続配線の特徴をまとめて示す図である。
【図４０】本発明の第２の実施形態に係る共有メモリ装置のシステム構成図である。
【図４１】本発明の第２の実施形態に係る共有メモリ装置のシステム構成図であって、複数のプライベート配線を配線してより性能を向上させる構成例を示す図である。
【図４２】第２の実施形態におけるライトデータバスと横転送モードの切り替えを示す図である。
【図４３】第２の実施形態におけるリードデータバスと横転送モードの切り替えを示す図である。
【図４４】第２の実施形態におけるライトデータバスと横転送モードの部分的な切り替えを示す図である。
【図４５】第２の実施形態におけるリードデータバスと横転送モードの部分的な切り替えを示す図である。
【図４６】サブ処理モジュールＳ−ＰＭの管理下に置かれるため、処理モジュールＰＭは横方向データバスを使えない場合でも直下のバンクに対しては常にアクセス可能であること示す図である。
【図４７】メモリインタフェースＩ／Ｆ上に横方向専用のデータバスＤＢＳを敷設する例を示す図である。
【図４８】図４０に示すように、４つの処理モジュールＰＭ構成で各処理モジュールＰＭが2port持つ場合の例を示す図である。
【図４９】部分的に横転送モードにした場合(partial MST)の処理例を示す図である。
【図５０】サブ処理モジュールＳ−ＰＭ経由による２つのアクセスクラスタ群間での第１の転送例を示す図である。
【図５１】サブ処理モジュールＳ−ＰＭ経由による２つのアクセスクラスタ群間での第２の転送例を示す図である。
【図５２】サブ処理モジュールＳ−ＰＭ経由による４つのアクセスクラスタ群間でネットワーク結合した構成および転送例を示す図である。
【図５３】サブ処理モジュールＳ−ＰＭ経由による複数のアクセスクラスタ群間での他の接続構成例を示す図である。
【図５４】サブ処理モジュールＳ−ＰＭ経由によるアクセスクラスタ群と外部メモリや周辺回路との接続構成例を示す図である。
【符号の説明】
【０１０９】
１０・・・共有メモリ装置、２０，４０，５０・・・アクセスクラスタ、２１，３１，４１，５１、ＰＭ・・・処理モジュール、２２，２３、３２，３３、４２，４３、５２，５３・・・メモリシステム、２２１，２３１、３２１，３３１、４２１，４３１、５２１，５３１・・・メモリマクロ、２２２，２３２、３２２，３３２、４２２，４３２、５２２，５３２、Ｉ／Ｆ・・・メモリインタフェース、８０，８１，Ｓ−ＰＭ・・・サブ処理モジュール、９０−１〜９０−４・・・アクセスクラスタ群、９１・・・ネットワーク配線部、９２・・・バスブリッジ。
【図１】
2007072616.tif 000003
【図２】
2007072616.tif 000004
【図３】
2007072616.tif 000005
【図４】
2007072616.tif 000006
【図５】
2007072616.tif 000007
【図６】
2007072616.tif 000008
【図７】
2007072616.tif 000009
【図８】
2007072616.tif 000010
【図９】
2007072616.tif 000011
【図１０】
2007072616.tif 000012
【図１１】
2007072616.tif 000013
【図１２】
2007072616.tif 000014
【図１３】
2007072616.tif 000015
【図１４】
2007072616.tif 000016
【図１５】
2007072616.tif 000017
【図１６】
2007072616.tif 000018
【図１７】
2007072616.tif 000019
【図１８】
2007072616.tif 000020
【図１９】
2007072616.tif 000021
【図２０】
2007072616.tif 000022
【図２１】
2007072616.tif 000023
【図２２】
2007072616.tif 000024
【図２３】
2007072616.tif 000025
【図２４】
2007072616.tif 000026
【図２５】
2007072616.tif 000027
【図２６】
2007072616.tif 000028
【図２７】
2007072616.tif 000029
【図２８】
2007072616.tif 000030
【図２９】
2007072616.tif 000031
【図３０】
2007072616.tif 000032
【図３１】
2007072616.tif 000033
【図３２】
2007072616.tif 000034
【図３３】
2007072616.tif 000035
【図３４】
2007072616.tif 000036
【図３５】
2007072616.tif 000037
【図３６】
2007072616.tif 000038
【図３７】
2007072616.tif 000039
【図３８】
2007072616.tif 000040
【図３９】
2007072616.tif 000041
【図４０】
2007072616.tif 000042
【図４１】
2007072616.tif 000043
【図４２】
2007072616.tif 000044
【図４３】
2007072616.tif 000045
【図４４】
2007072616.tif 000046
【図４５】
2007072616.tif 000047
【図４６】
2007072616.tif 000048
【図４７】
2007072616.tif 000049
【図４８】
2007072616.tif 000050
【図４９】
2007072616.tif 000051
【図５０】
2007072616.tif 000052
【図５１】
2007072616.tif 000053
【図５２】
2007072616.tif 000054
【図５３】
2007072616.tif 000055
【図５４】
2007072616.tif 000056