(57)【要約】【課題】メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を向上できる共有メモリ装置を提供する。【解決手段】複数のメモリバンク１１１−１〜１１１−ｎを含むメモリシステム１１において、メモリバンク１１１のビット線とワード線の方向をそれぞれ水平方向と垂直方向に配置し、各メモリバンク１１１−１〜１１１−ｎの入出力ポート（ＩＦ）２１はメモリインタフェース１１２と直接に接続することにより複数のデータを並列に入出力する多ポートメモリマクロを実現可能となっている。【選択図】図１
2007034943.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの処理モジュールと、
上記処理モジュールによりアクセス可能な少なくとも一つのメモリシステムと、を有し、
上記メモリシステムは、
複数のメモリバンクと、
上記処理モジュールと接続される少なくとも一つのメモリインタフェースと、を含み、
上記各メモリバンクの入出力ポートと上記メモリインタフェースとがそれぞれ直接接続されている
共有メモリ装置。
【請求項２】
上記メモリシステムを複数含み、
上記各メモリシステムの各メモリインタフェースは、バスとの接続部を少なくとも一つ有し、
各メモリインタフェースは、上記バスで並列的に接続されている
請求項１記載の共有メモリ装置。
【請求項３】
上記処理モジュールが上記各メモリシステムに対応するように少なくとも一つずつ対応するように設けられ、
上記各メモリシステムのメモリインタフェースは、対応する上記メモリシステムと接続されている
請求項２記載の共有メモリ装置。
【請求項４】
上記メモリシステムは各メモリバンクそれぞれに直接接続される複数のメモリインタフェースを有し、
上記処理モジュールは、異なるチャネルで上記複数のメモリインタフェースとそれぞれ接続されている
請求項１記載の共有メモリ装置。
【請求項５】
上記メモリシステムを複数含み、
上記各メモリシステムの各メモリインタフェースは、バスとの接続部を少なくとも一つ有し、
各メモリインタフェースは、上記バスで並列的に接続されている
請求項４記載の共有メモリ装置。
【請求項６】
上記処理モジュールが上記各メモリシステムに対応するように少なくとも一つずつ対応するように設けられ、
上記各メモリシステムのメモリインタフェースは、対応する上記メモリシステムと接続されている
請求項５記載の共有メモリ装置。
【請求項７】
上記メモリシステムを複数含み、
上記各メモリシステムの各メモリインタフェースは、複数のバスとそれぞれ接続可能な接続部を複数有し、
各メモリインタフェースは、上記複数の接続部を通して上記各バスで並列的に接続され、
上記メモリインタフェースは、マルチ処理モジュールシステムのバス制御部と、システムバス制御部と、を有する
請求項１記載の共有メモリ装置。
【請求項８】
上記メモリシステムを複数含み、
上記メモリシステムは各メモリバンクそれぞれに直接接続される複数のメモリインタフェースを有し、
上記処理モジュールは、異なるチャネルで上記複数のメモリインタフェースとそれぞれ接続され、
上記各メモリシステムの各メモリインタフェースは、複数のバスとそれぞれ接続可能な接続部を複数有し、
各メモリインタフェースは、上記複数の接続部を通して上記各バスで並列的に接続され、
上記メモリインタフェースは、マルチプロセッサシステムのバス制御部と、システムバス制御部と、を有する
請求項１記載の共有メモリ装置。
【請求項９】
上記複数のバスには、マルチ処理モジュール間のデータ転送バスとシステムバスと、を含み、
上記データ転送バスとシステムバスは異なる周波数で駆動される
請求項７記載の共有メモリ装置。
【請求項１０】
上記複数のバスには、マルチ処理モジュール間のデータ転送バスとシステムバスと、を含み、
上記データ転送バスとシステムバスは異なる周波数で駆動される
請求項８記載の共有メモリ装置。
【請求項１１】
上記メモリシステムの複数のメモリバンクにそれぞれ異なるタイミングでコマンド／アドレスを発行することにより、上記メモリバンクの配列方向におけるバスインタリーブデータ転送を行う
請求項２記載の共有メモリ装置。
【請求項１２】
上記メモリシステムの複数のメモリバンクにそれぞれ異なるタイミングでコマンド／アドレスを発行することにより、上記メモリバンクの配列方向におけるバスインタリーブデータ転送を行う
請求項４記載の共有メモリ装置。
【請求項１３】
上記メモリシステムの複数のメモリバンクにそれぞれ異なるタイミングでコマンド／アドレスを発行することにより、上記メモリバンクの配列方向におけるバスインタリーブデータ転送を行う
請求項７記載の共有メモリ装置。
【請求項１４】
上記メモリシステムの複数のメモリバンクにそれぞれ異なるタイミングでコマンド／アドレスを発行することにより、上記メモリバンクの配列方向におけるバスインタリーブデータ転送を行う
請求項８記載の共有メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ等の処理装置を含む複数のメモリシステムを混載し、各システムのメモリを共有する共有メモリ装置に関するものである。
【背景技術】
【０００２】
複数のメモリシステムを混載するシステムにおいて、並列処理を重視したアーキテクチャを採用すると、たとえば図１に示すような構成となる。
図１の構成においては、ロジック回路（プロセッサ）１−１〜１−４とメモリマクロ２−１〜２−４は並列処理を優先するため、１対１で接続される。
図１の構成において、ロジック回路１とメモリマクロ２は並列処理を優先するため1対1で接続されるが、ロジック回路１は隣接しているロジックのデータを参照するためには、上位装置を介したパスを使う必要がある。
【０００３】
そこで、ロジック回路１から直接、隣接メモリまでの接続を、一般的に、図２に示すように、クロスバー（Ｘｂａｒ）３で行う構成が採用される。
【０００４】
また、図３に示すように、現在、特定用途によって演算を行う複数演算ユニット（DSP,CPU）４，５がワンチップ化して、各演算ユニット間のデータ通信はシステムデータバス６と接続することでデータ転送を行う。なお、図３においては、システムデータバス６に対して、演算ユニット４，５の他に入出力部（Ｉ／Ｏ）７やメモリ８が接続されている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図１の構成においては、上述したように、ロジック回路１とメモリマクロ２は並列処理を優先するため１対１で接続されるが、ロジック回路１は隣接しているロジック回路１のデータを参照するためには、上位装置を介したパスを使う必要があるため、実際のアクセスを実現するのは困難である。
【０００６】
また、図２の構成においては、上位装置を介することなく、ロジック回路１は隣接しているロジック回路１のデータを参照することが可能であるが、ロジック回路１からメモリ２までの配線が非常に複雑となり、面積増加と長距離配線による性能低下を招くという不利益がある。
また、図２のクロスバー３を用いた構成では、システムのスケーラビリティーの拡張性を上げることが難しくなる。
【０００７】
また、図３のシステムにおいては、演算データ量が多くなるとともに外部メモリからデータのロード／ストアでバスの占有される時間が長くなり、さらにシステムデータバス６を使用して演算ユニット間のデータ転送時間も長くなってしまう。
その結果、演算ユニット４，５のストール時間が長くなり、データ転送のオーバーヘッドでシステム全体の処理性能が低下になる。
複数バスをシステムに配置することによってバスアクセスの衝突を軽減することができるが、システムバスで占有される面積が大きくなってしまう。
【０００８】
本発明の目的は、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることが可能な共有メモリ装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の観点の共有メモリ装置は、少なくとも一つの処理モジュールと、上記処理モジュールによりアクセス可能な少なくとも一つのメモリシステムと、を有し、上記メモリシステムは、複数のメモリバンクと、上記処理モジュールと接続される少なくとも一つのメモリインタフェースと、を含み、上記各メモリバンクの入出力ポートと上記メモリインタフェースとがそれぞれ直接接続されている。
【００１０】
好適には、上記メモリシステムを複数含み、上記各メモリシステムの各メモリインタフェースは、バスとの接続部を少なくとも一つ有し、各メモリインタフェースは、上記バスで並列的に接続されている。
【００１１】
好適には、上記処理モジュールが上記各メモリシステムに対応するように少なくとも一つずつ対応するように設けられ、上記各メモリシステムのメモリインタフェースは、対応する上記メモリシステムと接続されている。
【００１２】
好適には、上記メモリシステムは各メモリバンクそれぞれに直接接続される複数のメモリインタフェースを有し、上記処理モジュールは、異なるチャネルで上記複数のメモリインタフェースとそれぞれ接続されている。
【００１３】
好適には、上記メモリシステムを複数含み、上記各メモリシステムの各メモリインタフェースは、バスとの接続部を少なくとも一つ有し、各メモリインタフェースは、上記バスで並列的に接続されている。
【００１４】
好適には、上記メモリシステムを複数含み、上記各メモリシステムの各メモリインタフェースは、複数のバスとそれぞれ接続可能な接続部を複数有し、各メモリインタフェースは、上記複数の接続部を通して上記各バスで並列的に接続され、上記メモリインタフェースは、マルチ処理モジュールシステムのバス制御部と、システムバス制御部と、を有する。
【００１５】
好適には、上記メモリシステムを複数含み、上記メモリシステムは各メモリバンクそれぞれに直接接続される複数のメモリインタフェースを有し、上記処理モジュールは、異なるチャネルで上記複数のメモリインタフェースとそれぞれ接続され、上記各メモリシステムの各メモリインタフェースは、複数のバスとそれぞれ接続可能な接続部を複数有し、各メモリインタフェースは、上記複数の接続部を通して上記各バスで並列的に接続され、上記メモリインタフェースは、マルチプロセッサシステムのバス制御部と、システムバス制御部と、を有する。
【００１６】
好適には、上記複数のバスには、マルチ処理モジュール間のデータ転送バスとシステムバスと、を含み、上記データ転送バスとシステムバスは異なる周波数で駆動される。
【００１７】
好適には、上記メモリシステムの複数のメモリバンクにそれぞれ異なるタイミングでコマンド／アドレスを発行することにより、上記メモリバンクの配列方向におけるバスインタリーブデータ転送を行う。
【００１８】
本発明によれば、たとえば、複数のメモリバンクを含むメモリシステムにおいて、メモリバンクのたとえばビット線とワード線の方向をそれぞれ水平方向と垂直方向に配置し、各メモリバンクの入出力ポートはメモリマクロインタフェースと直接に接続することにより複数のデータを並列に入出力する多ポートメモリマクロが実行できる。
【発明の効果】
【００１９】
本発明によれば、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることができる利点がある。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を、図面に関連付けて説明する。
【００２１】
以下の説明においては、まず、本第１〜第５の実施形態に係る共有メモリの構成の概要について説明し、その後、第３の実施形態を例とした各部の具体的な構成および機能について説明する。
【００２２】
＜第１実施形態＞
図４は、本発明の第１の実施形態に係る共有メモリ装置を示すシステム構成図である。図４は、共有メモリ装置の基本的な概念を示している。
【００２３】
本共有メモリ装置１０は、基本的に、データを記憶するたとえばＤＲＡＭやＳＲＡＭ等のメモリシステム(Memory System)１１、メモリシステム１１のアクセスを行って所定のデータ処理を行うＣＰＵ，ＧＰＵ，ＤＳＰ等のプロセッサ(Processor)または特定用途の演算ユニットからなる一または複数の処理モジュール１２を、主構成要素として有している。
そして、本実施形態におけるメモリシステム１１は、複数のメモリバンク１１１−１〜１１１−ｎ（ＢＮＫ１〜ＢＮＫｎ）と、各バンク１１１−１〜１１１−ｎと処理モジュール１２とのデータ転送の整合や各バンク１１１−１〜１１１−ｎへのアクセス制御等を行うメモリインタフェース(Memory Interface)１１２と、を備えている。
本実施形態においては、基本的にメモリインタフェース１１２と各バンク１１１−１〜１１１−ｎはそれぞれプライベート配線ＰＬ１〜ＰＬｎにより接続されている。
【００２４】
本第１の実施形態の共有メモリ装置１０は、複数のメモリバンク１１１−１〜１１１−ｎを含むメモリシステム１１において、図５および図６に示すように、メモリバンク１１１のビット線とワード線の方向をそれぞれ水平方向と垂直方向に配置し、各メモリバンク１１１−１〜１１１−ｎの入出力ポート（ＩＦ）はメモリインタフェース１１２と直接に接続することにより複数のデータを並列に入出力する多ポートメモリマクロを実現可能となっている。
【００２５】
すなわち、本実施形態においては、メモリバンク１１１を通常の配置から９０度回転させた状態で配置し、ビット線の幅に入出力ポート（ＩＦ）配置している。
このような構成を採用することにより、入出力ポートのビット幅を変更可能となり、また、多ポート構造となっているため並列処理の効率が向上する。また、メモリアレイ上に余分な領域があり、この領域にシステムの配線を配置することが可能となっている。
【００２６】
図５は、本実施形態に係るメモリバンクの基本構成を示す図である。また、図６は、本実施形態に係るメモリバンクの具体的な構成例を示す図である。
【００２７】
メモリバンク１１１は、図５および図６に示すように、基本的にメモリインタフェース１２と個別のプライベート配線ＰＬにて接続される入出力ポート（ＩＦ）２１、メモリセルアレイ２２−１，２２−２、各メモリセルアレイ２２−１，２２−２のたとえば両側（図５では左右両側）に配置されたセンスアンプ（ＳＡ）２３−１，２３−２，２４−１，２４−２、カラムセレクタ２５、カラムデコーダ２６、ロウデコーダ２７、ドライバ２８−１，２８−２、リードデータラッチ回路２９、ライトデータラッチ回路３０、コマンド／アドレス（ＣＭＤ／ＡＤＤ）ラッチ回路３１、およびコマンドデコーダ３２を有している。
また、図６において、Ｏ Ｑは出力データを、Ｉ Ｑは入力データを、Ｉ ＣＡ１は入力コマンドおよびアドレスを示している。
【００２８】
このような構成を有する共有メモリ装置１０の動作の概要を説明する。
【００２９】
プロセッサまたは特定用途の演算ユニットである処理モジュール１２は高速にメモリアクセスが可能であり、メモリシステム１１におけるメモリバンク１１１−１〜１１１−ｎの上位にあるメモリインタフェースは１１２とデータ転送を行う。
上位の処理モジュール１２から発行されたコマンド／アドレスはメモリインタフェース１１２を通して、メモリバンクにあるコマンド／アドレスラッチ回路３１で取り込まれ、処理モジュール１２からのアクセス情報ＲＡＳ（Row Address Strobe）はロウデコーダ２７に転送される。一方、処理モジュール１２からのアクセス情報ＣＡＳ（Column Address Strobe）はカラムデコーダ２６に転送される。
メモリバンク１１１のデータの読み出しをする際に読み出されたデータが両サイドのセンスアンプ２３−１，２３−２あるいは２４−１，２４−２で増幅される。カラムセレクタ２５は読み出されたデータからCAS情報によって要求されるデータを選択し、リードデータラッチ回路２９にデータを転送する。
メモリバンク１１１へのデータの書き込み動作も読み出しと同様である。ただし、処理モジュール１２から発行されたライトデータがメモリセルアレイに書き込む前にライトラッチ回路３０でデータを保持する。
【００３０】
本第１の実施形態によれば、複数の垂直のメモリバンクをプロセッサや演算ユニットの直下に置くことによって多ポート入出力のメモリマクロを実現できる。そこで、1つのプロセッサあるいは演算ユニットに対するデータの読み出しおよび書き込みを並列に動作させることが可能となる。
さらに、このメモリバンクレイアウトを実現する際、メモリバンクまたはマクロ間を接続することによって横のデータ転送のバス面積はメモリアレイ上に隠蔽することができ、一般的なマルチプロセッサのクロスバーの面積の問題やSoCのチップのシステムバスの面積増加を改善することが可能となる。
【００３１】
＜第２実施形態＞
図７は、本発明の第２の実施形態に係る共有メモリ装置を示すシステム構成図である。
【００３２】
本第２の実施形態においては、複数のメモリバンク１１１を含む複数メモリシステムを搭載する共有メモリ装置１０Ａにおいて、メモリインタフェース間に複数ポートを接続することによりメモリ間データ転送および演算ユニットの通信をメモリ外部回路の介在なしに実行できるように構成されている。
【００３３】
本共有メモリ装置１０Ａは、複数のメモリシステム１１−１，１１−２、・・・、および複数（図７の例では４）の処理モジュール１２−１〜１２−４を有している。
メモリシステム１１−１の図中の上下に処理モジュール１２−１，１２−２が配置され、メモリシステム１１−２の図中の上下に処理モジュール１２−３，１２−４が配置されている。
そして、メモリシステム１１−１のメモリインタフェースは、２つの処理モジュール１２−１，１２−２からアクセス可能で、かつ、他の図中の右側に隣接するメモリシステム１１−２および／または図示しない左側に隣接するメモリインタフェース間でデータ配線３−１，１３−２、システムバス１４−１，１４−２と接続される、アクセスパスコントローラ１１２Ａ−１として構成されて、複数のメモリバンクセットを共有できるように形成されている。
同様に、メモリシステム１１−１のメモリインタフェースは、２つの処理モジュール１２−３，１２−４からアクセス可能で、かつ、他の図中の左側に隣接するメモリシステム１１−１および／または図示しない右側に隣接するメモリインタフェース間でデータ配線１３−２，１３−３、システムバス１４−２，１４−３と接続される、アクセスパスコントローラ１１２Ａ−２として構成されて、複数のメモリバンクセットを共有できるように形成されている。
【００３４】
マルチプロセッサと特定用途の演算ユニット（DSP, I/O回路など）を搭載するシステムにはプロセッサ（たとえば、図７における処理モジュール１２−１，１２−３）間の通信と演算ユニット（たとえば、図７における処理モジュール１２−２，１２−４）間の通信が同じデータバスを使用すると、データバスのアクセス衝突が多くなってしまう。
そこで、本実施形態においては、プロセッサ間のデータバスとシステムバスを別々にしている。図７のメモリシステム１１−１，１１−２のメモリアレイ上に配置される複数のデータ配線はマルチプロセッサ間のデータバスと特定の演算ユニット間のシステムバスそれぞれ上下に配置している。
図７共有メモリ装置１０Ａにおいてプロセッサ間のデータの衝突を軽減するために各プロセッサ間のデータ配線はプライベート（Private）配線にする。両端にある左右のメモリバンクのインタフェース（アクセスパスコントローラ）を隣接のバンクのインタフェース（アクセスパスコントローラ）と接続することによって複数のメモリバンクセットを共有することができる。
【００３５】
すなわち、本第２の実施形態に係る共有メモリ装置１０Ａは、第１の実施形態の複数のメモリバンクを含むメモリシステム間において、独自のインタフェース回路間のデータ配線を接続するシステムとして構成される。
バスシステムは、いわゆるプライベートとパブリック(Public)の概念を導入して全てのデータバスは共有にアクセスが可能になっている。
コントロール方式は、データ転送の１クロック前にバスチェック信号をアクセスパスコントローラ１１２Ａに送り、アクセスパスコントローラ１１２Ａは全てのバスの状態をチェックして転送可能のバスを選択して次に来るデータのためにバスの使用をロックする。
このようなシステムは、ＰＵ間の通信の多いシステムに適している。
【００３６】
＜第３実施形態＞
図８は、本発明の第３の実施形態に係る共有メモリ装置を示すシステム構成図である。
【００３７】
本第３の実施形態の共有メモリ装置１０Ｂが第２の実施形態の共有メモリ装置１０Ａと異なる点は、各メモリシステム１１Ｂ−１、１１Ｂ−２においてメモリインタフェースとしてのアクセスパスコントローラを、複数のメモリバンクで共有する代わりに、各メモリバンク１１１−１〜１１１−４ごと対応してアクセスパスコントローラ１１２Ｂ−１１〜１１２Ｂ−１４，１１２Ｂ−２１〜１１２Ｂ−２４を設け、メモリ領域を共有することが可能なシステムとしてことにある。
したがって、各処理モジュール１２Ｂ−１〜１２Ｂ−４も複数(この例では４)のポート(チャネル)を有し、それぞれのポートが対応するアクセスパスコントローラ１１２Ｂ−１１〜１１２Ｂ−１４，１１２Ｂ−２１〜１１２Ｂ−２４と接続されている。
【００３８】
そして、本実施形態においては、データ配線としてはプライベート配線の使いわけがなく、全データ線はパブリック配線となる。
アクセスパスコントローラ１１２Ｂ−１１〜１１２Ｂ−１４，１１２Ｂ−２１〜１１２Ｂ−２４間は、コマンド／アドレス線１５とパブリックデータバス１６によって接続されている。
【００３９】
本第３の実施形態は、マルチプロセッサ構造のシステムにおいて、拡張性を確保するために構成されている。
各処理モジュール１２Ｂ−１〜１２Ｂ−４は、上述したように、１つのバンクセットに対する入出力ポートの数がバンクセットの幅に合わせて多数ポートにすることができる。
図８においては、各メモリシステム１１Ｂ−１，１１Ｂ−２内にあるメモリバンクのインタフェースがそれぞれ処理モジュール１２Ｂ−１〜１２Ｂ−４と接続される。
【００４０】
このように、本第３の実施形態によれば、複数メモリバンクを搭載するメモリシステムにおいて、メモリインタフェース間に複数ポートを接続することによりメモリ間データ転送および演算ユニットの通信をメモリ外部回路の介在なしに実行できる。
なお、さらに、具体的な構成については後で詳述する。
【００４１】
＜第４実施形態＞
図９は、本発明の第４の実施形態に係る共有メモリ装置を示すシステム構成図である。
【００４２】
本第４の実施形態の共有メモリ装置１０Ｃが第２の実施形態の共有メモリ装置１０Ａと異なる点は、メモリシステムのメモリインタフェースとしてのアクセスパスコントローラ１１２Ｃ−１，１１２Ｃ−２のパス回路を変更してプロセッサ間の通信用バスとシステムバス用の使い分けを可能にするために、図７の構成にプライベートバス１７−１，１−７２，１７−３・・・を配線したことにある。
【００４３】
メモリシステムのアクセスパスコントローラ１１２Ｃ−１，１１２Ｃ−２の制御方式は、たとえばラウンドーロビン(Round-Robin)などが適用可能である。
【００４４】
本第４の実施形態においては、外部モジュール間の転送方向は２方向に転送可能となり、いわゆる図中の縦方向の転送は、アクセスパスコントローラ１１２Ｃ−１，１１２Ｃ−２でデータ情報をドライブする。一方、横方向の転送は必ず転送バス１３−１，１３−２，１３−３・・・で転送する。
プライベートバス１７−１，１７−２，１７−３・・・と転送バス１３−１，１３−２，１３−３・・・の周波数は、それぞれ異なる周波数で転送することができるように、用途によって任意に設定することが可能である。
【００４５】
＜第５実施形態＞
図１０は、本発明の第５の実施形態に係る共有メモリ装置を示すシステム構成図である。
【００４６】
本第５の実施形態の共有メモリ装置１０Ｄが第３の実施形態の共有メモリ装置１０Ｂと異なる点は、プライベート配線を概念を導入し、それぞれプロセッサユニット（ＰＵ）間の通信用バス１８と、ＰＵ間以外の演算ユニット間のデータ転送バス１９により各アクセスパスコントローラ１１２Ｄ−１１〜１１４Ｄ−１４、１１２Ｄ−２１〜１１２Ｄ−２４を接続したことにある。
【００４７】
メモリシステムのアクセスパスコントローラ１１２Ｄ−１１〜１１４Ｄ−１４、１１２Ｄ−２１〜１１２Ｄ−２４の制御方式は、たとえばラウンドーロビン(Round-Robin)などが適用可能である。
また、各アクセスパスコントローラ１１２Ｄ−１１〜１１４Ｄ−１４、１１２Ｄ−２１〜１１２Ｄ−２４はＱ回路を有し、コマンドはバンクにアクセスできない場合、そのアクセス情報はＱ回路に保持される。
アクセス先のＱ回路がいっぱいになると、アクセス先の１つ前のＱラッチにアクセスコマンド情報がとまる。
プライベートパス１８とデータ転送バス１９の周波数をそれぞれ異なる場合もある。
【００４８】
＜第６実施形態＞
以下に、第６の実施形態として、上述した第３の実施形態の要部の具体的な構成例につついて、図面に関連つけて説明する。
【００４９】
図１１は、第３の実施形態の共有メモリ装置１０Ｂに対応したマルチプロセッサ構造のシステム構成例を示す図である。
【００５０】
図１１においては、理解を容易にするために、４個のメモリシステム１１Ｅ−１〜１１１Ｅ−４を並列に配置した例を示している。
すなわち、図１１の共有メモリ装置１０Ｅは、マルチプロセッサ構造のシステムにおいて、拡張性を確保するための構成で、複数バンクセットからなるメモリシステム１１Ｅ−１〜１１Ｅ−４の図中の上部に複数の処理モジュール（Logic回路）１２Ｅ−１〜１２−にと接続されている。
【００５１】
各処理モジュール１２Ｅ−１〜１２Ｅ−４は、１つのバンクセットに対する入出力ポートの数がバンクセットの幅に合わせて多数ポートにすることができる。
図１１においては、各バンクセット内にあるメモリバンクのインタフェース（アクセスパスコントローラ）がそれぞれ対応する処理モジュール１２Ｅ−１〜１２Ｅ−４と接続される。
前述したように、マルチプロセッサと特定用途の演算ユニット（DSP, I/O回路など）を搭載するシステムにはプロセッサ間の通信と演算ユニット間の通信が同じデータバスを使用すると、データバスのアクセス衝突が多くなってしまう。
そこで、図１１のシステムにおいては、プロセッサ間のデータバス系システム３０とシステムバス系システム４０を別々にしている。
図１１に示しているメモリシステム１１Ｅ−１〜１１Ｅ−４のメモリアレイ上に配置される複数のデータ配線はマルチプロセッサ間のデータバスと特定の演算ユニット間のシステムバスをそれぞれ上下に配置している。
【００５２】
図１１のシステムにおいて、演算ユニット間の通信バスやI/Oと接続するシステムは図中の下位部に示している。
第１の実施形態において説明したように、基本的に本実施形態のメモリシステムはメモリバンクを垂直方向に回転することによって下位部の面積が確保できるため、メモリアレイ領域上にシステムバスとして使用することができる。
演算ユニット間の通信バスやI/Oと接続するシステム４０は、各メモリシステム１１Ｅ−１〜１１Ｅ−４ごとにバスアービタ回路４１−１〜４１−４を有している。
【００５３】
図１２は、図１１のバスアービタ回路の構成例を示す図である。
図１２のバスアービタ４１は、バスコントローラ４１１およびバススイッチ４１２を有している。
【００５４】
バスコントローラ４１１は、リードコマンドＲＤ ＣＭＤおよびライトコマンドＷＴ ＣＭＤに応じてバススイッチ４１２を制御する。
バスコントローラは４１２は、リードコマンドＲＤ ＣＭＤの方をライトコマンドＷＴより優先して処理するように制御する。したがって、両コマンドを受けた場合には、リード処理を実行するために、ストップライトＳＴＯＰ ＷＴを発行する。
【００５５】
バススイッチ４１２は、バスコントローラ４１１の制御に従って、リードデータＲＤ ＤＡＴＡ、ライトデータＷＴ ＤＡＴＡの転送方向を切り替える。
【００５６】
図１１のシステムにおいて、プロセッサ間のデータの衝突を軽減するために各プロセッサ間のデータ配線はプライベート（Private）配線にする。
両端にある左右のメモリバンクのインタフェースを隣接のバンクのインタフェースと接続することによって複数のメモリバンクセットを共有することができる。
【００５７】
図１３は、図１１のプロセッサ間のデータバス系システム３０の１つのメモリバンクセットにおけるインタフェースであるアクセスパスコントローラの構成例を示す図である。
図１３の例では、左側バンク用のアクセスパスコントローラ１１２Ｌ、中間バンク用アクセスコントローラ１１２Ｍ、および右側バンク用アクセスパスコントローラ１１２Ｒを有する構成例を示している。
【００５８】
各アクセスパスコントローラ１１２Ｌ，１１２Ｍ，１１２Ｌは、基本的に共通の構成を有し、コマンドパス制御部５１（Ｌ，Ｍ，Ｒ）と複数のデータパス制御部５２（Ｌ，Ｍ，Ｒ）により構成される。
データパス制御部５２に関してはリード制御回路５２Ｒとライト制御回路５２Ｗにそれぞれ分けられる。リード制御回路５２ＲＤとライト制御回路５２ＷＴ対はデータバス１セット制御部である。
【００５９】
図１４は、図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのコマンドパス制御部５１Ｌの構成例を示す回路図である。
図１５は、図１３の中間バンク用のアクセスパスコントローラ１１２Ｍのコマンドパス制御部５１Ｍの構成例を示す回路図である。
図１６は、図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのコマンドパス制御部５１Ｒの構成例を示す回路図である。
また、図１７は、コマンドパス制御部５１（Ｌ，Ｍ，Ｒ）の処理の概要を説明するためのフローチャートである。
【００６０】
コマンドパス制御部５１Ｌは、図１４に示すように、コンパレータ５０１Ｌ，５０２Ｌ、２入力ＯＲ５０３Ｌ，５０４Ｌ、セレクタ５０５Ｌ，５０６Ｌ、ラッチおよびＱステートチェッカ５０７Ｌ，５０８Ｌ、Ｑラッチ（データラッチ）５０９Ｌ，５１０Ｌ、ステートイネーブルセンダ５１１Ｌ，５１２Ｌ、３入力ＡＮＤ５１３Ｌ、バンクアクセスラッチ５１４Ｌ、および転送ラッチ５１５Ｌを有している。
【００６１】
コマンドパス制御部５１Ｍは、図１５に示すように、コンパレータ５２１，５２２，５２３、３入力ＯＲ５２４、セレクタ５２５、ラッチおよびＱステートチェッカ５２６、Ｑラッチ（データラッチ）５２７、ステートイネーブルセンダ５２８、およびバンクアクセスラッチ５２９を有している。
【００６２】
コマンドパス制御部５１Ｒは、図１６に示すように、コンパレータ５０１Ｒ，５０２Ｒ、入力ＯＲ５０３Ｒ，５０４Ｒ、セレクタ５０５Ｒ，５０６Ｒ、ラッチおよびＱステートチェッカ５０７Ｒ，５０８Ｒ、Ｑラッチ（データラッチ）５０９Ｒ，５１０Ｒ、ステートイネーブルセンダ５１１Ｒ，５１２Ｒ、３入力ＡＮＤ５１３Ｒ、バンクアクセスラッチ５１４Ｒ，および転送ラッチ５１５Ｒを有している。
【００６３】
左側バンク用コマンドパス制御部５１Ｌと右側バンク用コマンドパス制御部５１Ｒは、同様の構成を有しており、コマンドの出力方向が左側か右側かで異なるのみである。
また中間バンク用コマンドパス制御部５１Ｍは、３つのコンパレータを有し、セレクタ５２５、ラッチおよびＱステートチェッカ５２６、Ｑラッチ（データラッチ）５２７、ステートイネーブルセンダ５２８、およびバンクアクセスラッチ５２９を１組のみ有し、転送ラッチを有するか否かの構成が、コマンドパス制御部５１Ｌ，５１Ｒと構成が異なるが、基本的な動作は３つの制御部とも同様に行われることから、コマンドパス制御部５１（Ｌ，Ｍ，Ｒ）の処理の概要を図１７のフローチャートに関連付けて説明する。
【００６４】
図１７に示すように、各方向のアドレスをコマンドパス制御部５１に取り込み（ＳＴ１）、コンパレータ５０１，５０２，５２１〜５２３でアクセス先をチェックする（ＳＴ２）。
入力したアドレスが自バンクのアドレスＲＥＦ ＩＤであるか否かの判別を行う（ＳＴ３）。
ステップＳＴ３で肯定的な判別結果を得た場合、チェッカ５０７，５０８，５２８でアクセスラッチ５１４，５２９と、Ｑラッチ５０９，５１０，５２７の状態をチェックする（ＳＴ４）。
アクセスラッチがフルであるか否かをチェックし（ＳＴ５）、アクセスラッチがフルの場合、Ｑラッチがフルか否かをチェック（ＳＴ６）、Ｑラッチがフルの場合、アクセスラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ７）。
ステップＳＴ５でアクセスラッチがフルでない場合には、セレクタ５０５，５０６，５２５で選択されたコマンドアドレスＣＡをアクセスラッチに取り込み（ＳＴ８）、メモリバンクにアクセスする（ＳＴ９）。
また、ステップＳＴ６でＱラッチがフルでない場合には、セレクタ５０５，５０６，５２５で選択された選択されたコマンドアドレスＣＡをＱラッチに取り込み（ＳＴ１０）、ステップＳＴ５の処理に移行する。
【００６５】
ステップＳＴ３において否定的な判別結果を得た場合には、チェッカ５０７，５０８で転送ラッチ５１５と、Ｑラッチ５０９，５１０の状態をチェックする（ＳＴ１１）。
転送ラッチがフルであるか否かをチェックし（ＳＴ１２）、転送ラッチがフルの場合、Ｑラッチがフルか否かをチェック（ＳＴ１３）、Ｑラッチがフルの場合、転送ラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ１４）。
ステップＳＴ１２で転送ラッチがフルでない場合には、セレクタ５０５，５０６で選択されたコマンドアドレスＣＡを転送ラッチに取り込み（ＳＴ１６）、転送先のアクセスおよび転送が可能であるか否かを判別し、可能であればコマンドアドレスＣＡを転送して（ＳＴ１７）、Ｑラッチがフルの場合、転送ラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ１４）。
また、ステップＳＴ１３でＱラッチがフルでない場合には、セレクタ５０５，５０６で選択された選択されたコマンドアドレスＣＡをＱラッチに取り込み（ＳＴ１８）、ステップＳＴ１２の処理に移行する。
【００６６】
次に、リード制御回路５２Ｒの具体的には構成例について説明する。
【００６７】
図１８は、図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＝ＲＥＦ ＩＤ（自バンクへのアクセス）の場合の状態を示す図である。
図１９は、図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＞ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合の状態を示す図である。
図２０は、図１３のンク用のアクセスパスコントローラ１１２のリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＜ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合で他のバンクへのアクセスする場合の状態を示す図である。
図２１は、図１３のンク用のアクセスパスコントローラ１１２のリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＞ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合で他のバンクへのアクセスする場合の状態を示す図である。
図２２は、図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＝ＲＥＦ ＩＤ（自バンクへのアクセス）の場合の状態を示す図である。
図２３は、図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＜ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合の状態を示す図である。
また、図２４は、リード制御回路５２ＲＤの処理の概要を説明するためのフローチャートである。
【００６８】
図１８、図１９、図２２、および図２３のリード制御回路５２ＲＤは、コンパレータ６０１、ラウンドロビンセレクタ６０２、セレクタ６０３、ラッチおよびＱステートチェッカ６０４、Ｑラッチ（データラッチ）６０５、転送ラッチ６０６、ステートイネーブルセンダ６０７、および２入力ＡＮＤ６０８を有している。
また、図２０および図２１のリード制御回路５２ＲＤは、図１８、図１９、図２２、および図２３のリード制御回路５２ＲＤの構成の２入力ＡＮＤ６０８の代わりに、セレクタ６０９を有する。
基本的な動作は３つのリード制御回路とも同様に行われることから、リード制御回路の処理の概要を図２４のフローチャートに関連付けて説明する。
【００６９】
図２４に示すように、各方向のアドレスをリード制御回路５２ＲＤに取り込み（ＳＴ２１）、コンパレータ６０１でアクセス先をチェックする（ＳＴ２２）。
入力したアドレスが自バンクのアドレスＲＥＦ ＩＤであるか否かの判別を行う（ＳＴ２３）。
ステップＳＴ２３で肯定的な判別結果を得た場合、チェッカ６０４で転送ラッチ６０６と、Ｑラッチ６０５の状態をチェックする（ＳＴ２４）。
そして、次のクロックＣＬＫの転送ラッチ６０６とＱラッチ６０５の状態を後段のバンクに転送する（ＳＴ２５）。
次に転送ラッチ６０６がフルであるか否かをチェックし（ＳＴ２６）、転送ラッチラッチがフルの場合、Ｑラッチ６０５がフルか否かをチェック（ＳＴ２７）、Ｑラッチがフルの場合、転送ラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ２８）。
ステップＳＴ２６で転送ラッチがフルでない場合には、次のクロックＣＬＫに転送されたデータを転送ラッチに取り込み（ＳＴ２９）、図中の上方向に転送し（ＳＴ３０）、転送ラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ２８）。
また、ステップＳＴ２７でＱラッチがフルでない場合には、転送されたデータをＱラッチに取り込み（ＳＴ３１）、ステップＳＴ２６の処理に移行する。
【００７０】
ステップＳＴ２３において否定的な判別結果を得た場合には、チェッカ６０４で転送ラッチ６０６と、Ｑラッチ６０５の状態をチェックする（ＳＴ３２）。
そして、次のクロックＣＬＫの転送ラッチ６０６とＱラッチ６０５の状態を後段のバンクに転送する（ＳＴ３３）。
転送ラッチ６０６がフルであるか否かをチェックし（ＳＴ３４）、転送ラッチがフルの場合、Ｑラッチ６０５がフルか否かをチェック（ＳＴ３５）、Ｑラッチがフルの場合、転送ラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ３６）。
ステップＳＴ３４で転送ラッチがフルでない場合には、次のクロックＣＬＫに転送されたデータを転送ラッチに取り込み（ＳＴ３７）、図中の横方向に転送し（ＳＴ３８）、転送ラッチとＱラッチがフル状態であることを後段のバンクに転送する（ＳＴ３６）。
また、ステップＳＴ３５でＱラッチがフルでない場合には、転送されたデータをＱラッチに取り込み（ＳＴ３９）、ステップＳＴ３４の処理に移行する。
【００７１】
次に、ライト制御回路５２ＷＴの具体的には構成例について説明する。
【００７２】
図２５は、図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのライト制御回路５２ＷＴの構成例を示す回路図であって、直下のＰＵ（処理モジュール）に対応した状態を示す図である。
図２６は、図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）に対応した状態を示す図である。
図２７および図２８は、図１３のンク用のアクセスパスコントローラ１１２のライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）の場合で他のバンクへのアクセスする場合の状態を示す図である。
図２９は、図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのライト制御回路５２ＷＴの構成例を示す回路図であって、直下のＰＵ（処理モジュール）に対応した状態を示す図である。
図３０は、図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）に対応した状態を示す図である。
また、図３１は、ライト制御回路５２ＷＴの処理の概要を説明するためのフローチャートである。
【００７３】
図２５、図２６、図２９、および図３０のライト制御回路５２ＷＴは、コンパレータ７０１、セレクタ７０２，７０３、Ｑステートチェッカ７０４、Ｑラッチ（データラッチ）７０５、転送ラッチ７０６，７０７、およびライトラッチ７０８を有している。
また、図２７および図２８のライト制御回路５２ＷＴは、図２５、図２６、図２９、および図３０のライト制御回路５２ＷＴの構成のコンパレータ７０１とライトラッチ７０８のみを有する。
基本的な動作は３つのライト制御回路とも同様に行われることから、ライト制御回路の処理の概要を図３１のフローチャートに関連付けて説明する。
【００７４】
処理モジュール（ＰＵ）１２でライトバリッド信号を受け取り（ＳＴ４１）、自ＰＵに対する信号である否かの判別を行う（ＳＴ４２）。
ステップＳＴ４２において、自ＰＵへの信号であると判別すると、アドレスチェック信号をライト制御回路５２ＷＴに発行する（ＳＴ４３）。
そして、コンパレータ７０１でデータの転送先のアドレスをチェックする（ＳＴ４４）。
次に、入力したアドレスが自バンクのアドレスＲＥＦ ＩＤであるか否かの判別を行う（ＳＴ４５）。
ステップＳＴ４５で肯定的な判別結果を得た場合、次のクロックＣＬＫでライトラッチ７０８にライトデータを取り込む（ＳＴ４６）。
ステップＳＴ４５で否定的な判別結果を得た場合、次のクロックＣＬＫで転送ラッチにライトデータを取り込む（ＳＴ４７）。
また、ステップＳＴ４２において、自ＰＵへの信号ではないと判別すると、ライトバリッド信号を横方向に転送する（ＳＴ４８）。
【００７５】
以上に説明した各実施形態によれば、以下に示すような効果を得ることができる。
複数の垂直のメモリバンクをプロセッサや演算ユニットの直下に置くことによって多ポート入出力のメモリマクロを実現できる。その結果、１つのプロセッサあるいは演算ユニットに対するデータの読み出しおよび書き込みを並列に動作することが可能となる。
さらに、このメモリバンクレイアウトを実現する際、メモリバンクまたはマクロ間の接続することによって横のデータ転送のバス面積はメモリアレイ上に隠蔽することができ、一般的なマルチプロセッサのクロスバーの面積の問題やSoCのチップのシステムバスの面積増加を改善することが可能となる。
【００７６】
また、本実施形態のメモリシステムにおいて隣接のメモリマクロまたはバンクの横方向を接続することにより、図３２に示すように複数プロセッサ（ＰＥ）が処理している間にメモリマクロ（バンク）間のデータバスを使用して新たなデータが同時に外部とのデータロード／ストアを行うことが可能となる。
図３２の構成によって複数メモリバンクを搭載するメモリマクロの中に処理用のメモリバンクとロード／ストアバンクにすることでプロセッサがストールなしに連続にデータを処理することが可能になる（ダブルバッファ機能）。
この機能を使用する際、データのロード／ストアの配線は下位部のシステムバスでデータ転送することによって本実施形態のメモリシステムの共有メモリの特徴を生かしながら、ロード／ストア時間を隠蔽することが可能である。
【００７７】
本実施形態のメモリシステムにおいて図３３に示す構成のようなマルチプロセッサのパイプライン処理をすることができる構造になる。その上に、全く関係のない複数のパイプライン処理を同じシステム上に並列処理することが実現できる。
【００７８】
また、図３４に示すように本実施形態のメモリシステムにおいてパイプライン処理の段数が可変できるシステムになっている。
本実施形態のメモリシステムにおいて隣接のメモリマクロまたはバンクの横方向を接続することにより、図３５に示すように、メモリ領域を共有することができる。各プロセッサのメモリ領域が異なる際、共有メモリ領域を適切に割り当てることによって共有メモリの容量使用効率を上げることが可能となる（メモリのパーティション）。
【００７９】
また、マルチプロセッサの並列処理の性能に反映する重要な要素のひとつはデータの入出と処理のバランスの問題である。データの入出またはプロセッサ間のデータ転送によって処理がオーバーヘッドになることを解決するために複数種類のデータバスを分けてバスの使用効率を上げられる。
さらに、各種類のバスの周波数をチューニングすることを可能にすることでデータ転送のロードバランスを最適化し、SoCシステムの性能を向上することが可能となる。
【００８０】
また、本実施形態のメモリシステムにおいて、集積度の高DRAMを使用する際、隣接のメモリアクセスのレイテンシーとDRAMのアクセスレイテンシーを軽減するために水平方向の複数バンクにある時間ごとにコマンド／アドレスを次々のメモリバンクに発行することで水平方向のメモリバンクインターリーブを実現することができる。水平方向（横方向：バンクの配列方向）のメモリバンクインターリーブのデータ転送をすることにより、メモリアクセスのレイテンシーを隠蔽することが可能である。そこで、システムの処理性能を向上することができる。
【図面の簡単な説明】
【００８１】
【図１】マルチプロセッサの一般的なアーキテクチャを示す図である。
【図２】クロスバーを用いたアーキテクチャを示す図である。
【図３】複数演算ユニットをワンチップ化したシステム例を示す図である。
【図４】本発明の第１の実施形態に係る共有メモリ装置を示すシステム構成図である。
【図５】本実施形態時に係るメモリバンクの基本構成を示す図である。
【図６】本実施形態に係るメモリバンクの具体的な構成例を示す図である。
【図７】本発明の第２の実施形態に係る共有メモリ装置を示すシステム構成図である。
【図８】本発明の第３の実施形態に係る共有メモリ装置を示すシステム構成図である。
【図９】本発明の第４の実施形態に係る共有メモリ装置を示すシステム構成図である。
【図１０】本発明の第５の実施形態に係る共有メモリ装置を示すシステム構成図である。
【図１１】第３の実施形態の共有メモリ装置に対応したマルチプロセッサ構造のシステム構成例を示す図である。
【図１２】図１１のバスアービタ回路の構成例を示す図である。
【図１３】図１１のプロセッサ間のデータバス系システムの１つのメモリバンクセットにおけるインタフェースであるアクセスパスコントローラの構成例を示す図である。
【図１４】図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのコマンドパス制御部５１Ｌの構成例を示す回路図である。
【図１５】図１３の中間バンク用のアクセスパスコントローラ１１２Ｍのコマンドパス制御部５１Ｍの構成例を示す回路図である。
【図１６】図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのコマンドパス制御部５１Ｒの構成例を示す回路図である。
【図１７】図１７はコマンドパス制御部５１（Ｌ，Ｍ，Ｒ）の処理の概要を説明するためのフローチャートである。
【図１８】図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＝ＲＥＦ ＩＤ（自バンクへのアクセス）の場合の状態を示す図である。
【図１９】図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＞ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合の状態を示す図である。
【図２０】図１３のンク用のアクセスパスコントローラ１１２のリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＜ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合で他のバンクへのアクセスする場合の状態を示す図である。
【図２１】図１３のンク用のアクセスパスコントローラ１１２のリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＞ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合で他のバンクへのアクセスする場合の状態を示す図である。
【図２２】図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＝ＲＥＦ ＩＤ（自バンクへのアクセス）の場合の状態を示す図である。
【図２３】図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのリード制御回路５２ＲＤの構成例を示す回路図であって、ＰＵ ＩＤ＜ＲＥＦ ＩＤ（自バンクへのアクセスでない）の場合の状態を示す図である。
【図２４】リード制御回路５２ＲＤの処理の概要を説明するためのフローチャートである。
【図２５】図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのライト制御回路５２ＷＴの構成例を示す回路図であって、直下のＰＵ（処理モジュール）に対応した状態を示す図である。
【図２６】図１３の左側バンク用のアクセスパスコントローラ１１２Ｌのライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）に対応した状態を示す図である。
【図２７】図１３のンク用のアクセスパスコントローラ１１２のライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）の場合で他のバンクへのアクセスする場合の状態を示す図である。
【図２８】図１３のンク用のアクセスパスコントローラ１１２のライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）の場合で他のバンクへのアクセスする場合の状態を示す図である。
【図２９】図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのライト制御回路５２ＷＴの構成例を示す回路図であって、直下のＰＵ（処理モジュール）に対応した状態を示す図である。
【図３０】図１３の右側バンク用のアクセスパスコントローラ１１２Ｒのライト制御回路５２ＷＴの構成例を示す回路図であって、直下以外の他のＰＵ（処理モジュール）に対応した状態を示す図である。
【図３１】ライト制御回路５２ＷＴの処理の概要を説明するためのフローチャートである。
【図３２】本実施形態に係る共有メモリ装置の効果を説明するための図である。
【図３３】本実施形態に係る共有メモリ装置の他の効果を説明するための図である。
【図３４】本実施形態に係る共有メモリ装置のさらに他の効果を説明するための図である。
【図３５】本実施形態に係る共有メモリ装置のさらに他の効果を説明するための図である。
【符号の説明】
【００８２】
１０，１０Ａ〜１０Ｅ・・・共有メモリ装置、１１−１〜１１−ｎ・・・メモリシステム、１１１−１〜１１１−ｎ・・・メモリバンク、１１２・・・メモリインタフェース、１１２Ａ−１，１１２Ａ−２、１２１Ｂ−１１〜１２１Ｂ−１４、１２１Ｂ−１４〜１２１Ｂ−２４・・・アクセスパスコントローラ、１２、１２−１〜１２−４・・・処理モジュール。
【図１】
2007034943.tif 000003
【図２】
2007034943.tif 000004
【図３】
2007034943.tif 000005
【図４】
2007034943.tif 000006
【図５】
2007034943.tif 000007
【図６】
2007034943.tif 000008
【図７】
2007034943.tif 000009
【図８】
2007034943.tif 000010
【図９】
2007034943.tif 000011
【図１０】
2007034943.tif 000012
【図１１】
2007034943.tif 000013
【図１２】
2007034943.tif 000014
【図１３】
2007034943.tif 000015
【図１４】
2007034943.tif 000016
【図１５】
2007034943.tif 000017
【図１６】
2007034943.tif 000018
【図１７】
2007034943.tif 000019
【図１８】
2007034943.tif 000020
【図１９】
2007034943.tif 000021
【図２０】
2007034943.tif 000022
【図２１】
2007034943.tif 000023
【図２２】
2007034943.tif 000024
【図２３】
2007034943.tif 000025
【図２４】
2007034943.tif 000026
【図２５】
2007034943.tif 000027
【図２６】
2007034943.tif 000028
【図２７】
2007034943.tif 000029
【図２８】
2007034943.tif 000030
【図２９】
2007034943.tif 000031
【図３０】
2007034943.tif 000032
【図３１】
2007034943.tif 000033
【図３２】
2007034943.tif 000034
【図３３】
2007034943.tif 000035
【図３４】
2007034943.tif 000036
【図３５】
2007034943.tif 000037