(57)【要約】【課題】メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を向上できる共有メモリ装置を提供する。【解決手段】各メモリシステム１１−１〜１１−ｎは、データを記憶するたとえばＤＲＡＭやＳＲＡＭ等のメモリマクロ１２、メモリマクロ１２のアクセスを行って所定のデータ処理を行うプロセッサ１３、並びに、自ステージのプロセッサ１２とメモリマクロ１１間の情報（データ、並びに、コマンドおよびアドレス）の授受を行い、かつ、異なるメモリシステムのメモリコントロールユニットとの情報（コマンドおよびアドレスのみ）の授受を行うメモリコントロールユニット１４を含み、メモリマクロ１２は、データ転送が可能なメモリインタフェース１５を備えており、異なるメモリシステムのメモリマクロのメモリインタフェース同士が接続されている。【選択図】図１
2006221432.tif 000002
【特許請求の範囲】
【請求項１】
メモリマクロと、プロセッサと、メモリマクロのアクセスを制御するメモリコントロールユニットとを含むメモリシステムを複数有し、
上記各メモリシステムのメモリコントロールユニットは、プロセッサとメモリマクロ間の情報の授受、並びに、異なるメモリシステムのメモリコントロールユニットとの情報の授受を行い、
上記各メモリシステムのメモリマクロは、データ転送が可能なメモリインタフェースを有し、
異なるメモリシステムのメモリマクロのメモリインタフェース同士が接続されている
共有メモリ装置。
【請求項２】
上記メモリコントロールユニットは、少なくとも、自メモリシステムのメモリマクロに対するコマンドおよびアドレスを受けると、入力コマンドを解読し、コマンドに応じた当該メモリマクロに対するアクセスにおいて、衝突が起こらないアクセスタイミングを生成し、当該タイミングをもってコマンドおよびアドレスを当該メモリマクロに転送する
請求項１記載の共有メモリ装置。
【請求項３】
上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または／および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわるデータを自メモリシステムのメモリマクロ、メモリコントロールユニット、または異なるメモリシステムのメモリインタフェースに転送する
請求項１記載の共有メモリ装置。
【請求項４】
上記複数のメモリマクロにおけるメモリインタフェースのうち、他のメモリマクロと接続関係にない入出力部が外部のメモリと接続されている
請求項１記載の共有メモリ装置。
【請求項５】
アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストする
請求項１記載の共有メモリ装置。
【請求項６】
メモリマクロと、プロセッサと、メモリマクロのアクセスを制御するメモリコントロールユニットとを含むメモリシステムを複数有し、
上記各メモリシステムのメモリコントロールユニットは、プロセッサとメモリマクロ間の情報の授受、並びに、異なるメモリシステムのメモリコントロールユニットとの情報の授受を行い、
上記各メモリシステムのメモリマクロは、データ転送が可能なメモリインタフェースを有する複数のポートを備え、
異なるメモリシステムのメモリマクロの対応するポート同士が接続されている
共有メモリ装置。
【請求項７】
上記メモリコントロールユニットは、少なくとも、自メモリシステムのメモリマクロに対するコマンドおよびアドレスを受けると、入力コマンドを解読し、コマンドに応じた当該メモリマクロに対するアクセスにおいて、衝突が起こらないアクセスタイミングを生成し、当該タイミングをもってコマンドおよびアドレスを当該メモリマクロに転送する
請求項６記載の共有メモリ装置。
【請求項８】
上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または／および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわるデータを自メモリシステムのメモリマクロ、メモリコントロールユニット、または異なるメモリシステムのメモリインタフェースに転送する
請求項６記載の共有メモリ装置。
【請求項９】
上記複数のメモリマクロにおけるポートのうち、他のメモリマクロと接続関係にない入出力部が外部のメモリと接続されている
請求項６記載の共有メモリ装置。
【請求項１０】
アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストする
請求項６記載の共有メモリ装置。
【請求項１１】
複数のバンクを含むメモリマクロと、プロセッサと、メモリマクロのアクセスを制御するメモリコントロールユニットとを含むメモリシステムを複数有し、
上記各メモリシステムのメモリコントロールユニットは、プロセッサとメモリマクロ間の情報の授受、並びに、異なるメモリシステムのメモリコントロールユニットとの情報の授受を行い、
上記各メモリシステムのメモリマクロの各バンクは、データ転送が可能なメモリインタフェースを有し、
異なるメモリシステムのメモリマクロに対応する各バンクのメモリインタフェース同士が接続されている
共有メモリ装置。
【請求項１２】
上記メモリコントロールユニットは、少なくとも、自メモリシステムのメモリマクロに対するコマンドおよびアドレスを受けると、入力コマンドを解読し、コマンドに応じた当該メモリマクロに対するアクセスにおいて、衝突が起こらないアクセスタイミングを生成し、当該タイミングをもってコマンドおよびアドレスを当該メモリマクロに転送する
請求項１１記載の共有メモリ装置。
【請求項１３】
上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または／および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわるデータを自メモリシステムのメモリマクロ、メモリコントロールユニット、または異なるメモリシステムのメモリインタフェースに転送する
請求項１１記載の共有メモリ装置。
【請求項１４】
上記複数のメモリマクロにおけるバンクのうち、他のメモリマクロと接続関係にない入出力部が外部のメモリと接続されている
請求項１１記載の共有メモリ装置。
【請求項１５】
アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストする
請求項１１記載の共有メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサを含む複数のメモリシステムを混載し、各システムのメモリを共有する共有メモリ装置に関するものである。
【背景技術】
【０００２】
複数のメモリシステムを混載するシステムにおいて、並列処理を重視したアーキテクチャを採用すると、たとえば図１７に示すような構成となる。
図１７の構成においては、ロジック回路（プロセッサ）１−１〜１−４とメモリマクロ２−１〜２−４は並列処理を優先するため、１対１で接続される。
図１７の構成において、ロジック回路１とメモリマクロ２は並列処理を優先するため1対1で接続されるが、ロジック回路１は隣接しているロジックのデータを参照するためには、上位装置を介したパスを使う必要がある。
【０００３】
そこで、ロジック回路１から直接、隣接メモリまでの接続を、一般的に、図１８に示すように、クロスバー（Ｘｂａｒ）３で行う構成が採用される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１７の構成においては、上述したように、ロジック回路１とメモリマクロ２は並列処理を優先するため1対1で接続されるが、ロジック回路１は隣接しているロジック回路１のデータを参照するためには、上位装置を介したパスを使う必要があるため、実際のアクセスを実現するのは困難である。
【０００５】
また、図１８の構成においては、上位装置を介することなく、ロジック回路１は隣接しているロジック回路１のデータを参照することが可能であるが、ロジック回路１からメモリ２までの配線が非常に複雑となり、面積増加と長距離配線による性能低下を招くという不利益がある。
また、図１８のクロスバー３を用いた構成では、システムのスケーラビリティーの拡張性を上げることが難しくなる。
【０００６】
本発明の目的は、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることが可能な共有メモリ装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点の共有メモリ装置は、メモリマクロと、プロセッサと、メモリマクロのアクセスを制御するメモリコントロールユニットとを含むメモリシステムを複数有し、上記各メモリシステムのメモリコントロールユニットは、プロセッサとメモリマクロ間の情報の授受、並びに、異なるメモリシステムのメモリコントロールユニットとの情報の授受を行い、上記各メモリシステムのメモリマクロは、データ転送が可能なメモリインタフェースを有し、異なるメモリシステムのメモリマクロのメモリインタフェース同士が接続されている。
【０００８】
好適には、上記メモリコントロールユニットは、少なくとも、自メモリシステムのメモリマクロに対するコマンドおよびアドレスを受けると、入力コマンドを解読し、コマンドに応じた当該メモリマクロに対するアクセスにおいて、衝突が起こらないアクセスタイミングを生成し、当該タイミングをもってコマンドおよびアドレスを当該メモリマクロに転送する。
【０００９】
好適には、上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または／および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわるデータを自メモリシステムのメモリマクロ、メモリコントロールユニット、または異なるメモリシステムのメモリインタフェースに転送する。
【００１０】
好適には、上記複数のメモリマクロにおけるメモリインタフェースのうち、他のメモリマクロと接続関係にない入出力部が外部のメモリと接続されている。
【００１１】
好適には、アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストする。
【００１２】
本発明の第２の観点の共有メモリ装置は、メモリマクロと、プロセッサと、メモリマクロのアクセスを制御するメモリコントロールユニットとを含むメモリシステムを複数有し、上記各メモリシステムのメモリコントロールユニットは、プロセッサとメモリマクロ間の情報の授受、並びに、異なるメモリシステムのメモリコントロールユニットとの情報の授受を行い、上記各メモリシステムのメモリマクロは、データ転送が可能なメモリインタフェースを有する複数のポートを備え、異なるメモリシステムのメモリマクロの対応するポート同士が接続されている。
【００１３】
本発明の第３の観点の共有メモリ装置は、複数のバンクを含むメモリマクロと、プロセッサと、メモリマクロのアクセスを制御するメモリコントロールユニットとを含むメモリシステムを複数有し、上記各メモリシステムのメモリコントロールユニットは、プロセッサとメモリマクロ間の情報の授受、並びに、異なるメモリシステムのメモリコントロールユニットとの情報の授受を行い、上記各メモリシステムのメモリマクロの各バンクは、データ転送が可能なメモリインタフェースを有し、異なるメモリシステムのメモリマクロの対応する各バンクのメモリインタフェース同士が接続されている。
【００１４】
本発明によれば、各メモリシステムのメモリマクロにデータ転送可能なメモリインタフェースを通して、メモリマクロ間でデータ転送が行われる。
また、たとえばアクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストされる。
【発明の効果】
【００１５】
本発明によれば、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることができる利点がある。
また、本発明によれば、プロセッサは直近のローカルマクロにデータをアクセスすることが可能となり、その結果、無駄なデータ転送を軽減することができるようになり、システムバスの負荷を軽減することもでき、処理能力の向上を図れる利点がある。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態を、図面に関連付けて説明する。
【００１７】
＜第１実施形態＞
図１は、本発明に係る共有メモリ装置の第１の実施形態を示すシステム構成図である。
【００１８】
本共有メモリ装置１０は、複数のメモリシステム１１−１〜１１−ｎを混載し、各メモリシステム１１−１〜１１−ｎ間でアクセスが可能で、並列処理を重視したマルチプロセッサ構造のアーキテクチャを採用している。
【００１９】
各メモリシステム１１−１〜１１−ｎは、基本的に、データを記憶するたとえばＤＲＡＭやＳＲＡＭ等のメモリマクロ(Memory Macro: MM)１２、メモリマクロ１２のアクセスを行って所定のデータ処理を行うプロセッサ(Processor: PRC)１３、並びに、自ステージのプロセッサ１２とメモリマクロ１１間の情報（データ、並びに、コマンドおよびアドレス）の授受を行い、かつ、異なるメモリシステムのメモリコントロールユニットとの情報（コマンドおよびアドレスのみ）の授受を行うメモリコントロールユニット(Memory Control Unit: MCU)１４を含んで構成されている。
そして、本実施形態におけるメモリマクロ１２は、データ転送が可能なメモリインタフェース(Memory Interface: MIF)１５を備えており、異なるメモリシステム（本実施形態においては隣接するメモリシステム）のメモリマクロのメモリインタフェース同士が接続されている。
なお、図１は概念的な図であり、メモリマクロ１２におけるメモリインタフェース１５の配置位置は、実装する場合には図１とは異なる。
【００２０】
具体的には、メモリシステム１１−１は、メモリマクロ１２−１、プロセッサ１３−１、およびメモリコントロールユニット１４−１を有する。
メモリシステム１１−２は、メモリマクロ１２−２、プロセッサ１３−２、およびメモリコントロールユニット１４−２を有する。
同様にして、メモリシステム１１−ｎは、メモリマクロ１２−ｎ、プロセッサ１３−ｎ、およびメモリコントロールユニット１４−ｎを有する。
【００２１】
そして、メモリシステム１１−１のメモリマクロ１２−１のメモリインタフェース１５−１が、隣接するメモリシステム１１−２のメモリマクロ１２−２のメモリインタフェース１５−２に接続されている。
メモリシステム１１−２のメモリマクロ１２−２のメモリインタフェース１５−２が、隣接する図示しないメモリシステム（１１−３）のメモリマクロ（１２−３）のメモリインタフェース（１５−３）に接続されている。
同様にして、メモリシステム１１−ｎのメモリインタフェース１５−ｎが、隣接する図示しないメモリシステム（１１−n-1）メモリマクロ（１２−n-1）のメモリインタフェース（１５−n-1）に接続されている。
【００２２】
以上のように、本第１の実施形態の共有メモリ装置１０においては、各メモリシステムのメモリマクロにデータ転送可能なメモリインタフェースを設けて、メモリマクロ間でデータ転送可能に構成されている。また、本第１の実施形態においては、アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストするように構成されている。
以下、メモリコントロールユニット１４（−１〜−ｎ）、およびメモリマクロ１２（−１〜−ｎ）のメモリインタフェース１５（−１〜−ｎ）の具体的な構成および機能について説明する。
【００２３】
まず、各メモリシステムのメモリコントロールユニット１４について説明する。なお、各メモリシステムのメモリコントロールユニットは同様の構成を有する。
【００２４】
図２は、本発明に係るメモリコントロールユニットの一例を示す構成図である。
【００２５】
図２のメモリコントロールユニット１４は、コマンドＦＩＦＯ(Command First In First Out: CMD FIFO)１４１、ライトレイテンシィカウンタ(Write Latency Counter: WLC)１４２、メモリアクセスマネージメントユニット(Memory Access Management Unit: MAMU)１４３、ラッチ１４４〜１４６、およびＡＮＤゲート１４７を有する。
【００２６】
コマンドＦＩＦＯ１４１は、自メモリシステム１１のプロセッサ１３により発行されるコマンドおよびアドレスを格納し、ＭＡＭＵ１４３によるＦＩＦＯリード信号ＦＩＦＯ−ＲＤを受けて格納したコマンドおよびアドレス(C/AあるいはCMD/ADDR)をラッチ１４５に出力する。
また、コマンドＦＩＦＯ１４１は、レディ状態時はＦＩＦＯレディ(FIFO Ready)信号ＦＩＦＯ−ＲＤＹをプロセッサ１３に出力し、現在のステートを示すＦＩＦＯステート信号ＦＩＦＯ−ＳＴをＭＡＭＵ１４３に出力する。
【００２７】
ライトレイテンシィカウンタ１４２は、自システムのメモリマクロ１２に対するライトコマンドが発行された場合に、ＭＡＭＵ１４３からライトイネーブル(Write Enable)信号ＷＲ−ＥＮＢＬを受けて書き込みのレイテンシィを考慮して所定数カウントし、データ入力がレディ状態となったことを示すデータインレディ信号ＤＩ−ＲＤＹをプロセッサ１３に出力する。
このデータインレディ(Data In Ready)信号ＤＩ−ＲＤＹを受けたプロセッサ１３は、ライトデータを発行し、このライトデータ(Data In: DT IN)は一旦ラッチ１４６にラッチされてメモリマクロ１２に供給される。
【００２８】
ＭＡＭＵ１４３は、自メモリシステム１１のメモリマクロ１２に対するコマンドおよびアドレス（ＣＭＤ／ＡＤＤＲ）およびその有効信号（バリッド信号）ＬＤを受けると、入力コマンドを解読し、コマンドに応じた、ライト、リード動作等に応じたメモリマクロ１２に対するアクセスにおいて、衝突が起こらないアクセスタイミングを生成し、このタイミングをもってコマンドおよびアドレスをメモリマクロ１２に転送するようにＦＩＦＯリード信号ＦＩＦＯ−ＲＤをコマンドＦＩＦＯ１４１、およびラッチ１４５に出力する。
ＭＡＭＵ１４３は、有効と判断したコマンドがライトコマンドの場合には、ライトイネーブル信号ＷＲ−ＥＮＢＬをライトレイテンシィカウンタ１４２に出力する。
【００２９】
図３は、本発明に係るメモリコントロールユニットにおけるＭＡＭＵ（メモリアクセスマネージメントユニット）の構成例を示す図である。
図４は、図３におけるレディチェックブロックの構成例を示す図である。
【００３０】
ＭＡＭＵ１４３は、図３に示すように、基本的に、メモリシステムの数ｎ（図３ではｎ＝４）に応じたレディチェックブロック(Ready Check Block: RCB)１４３１−０〜１４３１−３、セレクタ１４３２、ダウンカウンタ(Down Counter: DCNT)１４３３、およびＭＡＭＵステートマシーン(State Machine: SMCN)１４３４を有する。
【００３１】
各ＲＣＢ１４３１（−０〜−３）は、図３および図４に示すように、自メモリシステム１１のメモリマクロ１２にアクセスしているコマンドおよびアドレス（ＣＭＤ／ＡＤＤＲ）の数（図３および図４の例では４）に相当するユニットＵＮＴ０〜ＵＮＴ３、デコーダ１４３１１、およびＡＮＤゲート１４３１２を有する。
ＲＣＢ１４３１（−０〜−３）は、各メモリシステム１１−１〜１１−ｎのメモリマクロ１２−１〜１２−ｎ（本実施形態ではｎ＝４）に対応して設けられており、図４に示すように、それぞれ対応するマクロデータ（ユニット番号（Ｕｎｉｔ−Ｎｏ）、並びに、アドレスおよびコマンド（ＡＤＤＲ／ＣＭＤ））Ｍａｃ？ Ｄｉ（＝３，２，１，０）、マクロ有効信号Ｍａｃ？ ｌｄｉ、レディ信号ＲＤＹｉ、および実行中のコマンドｉＣＭＤが供給される。
【００３２】
デコーダ１４３１１は、マクロデータＭａｃ？ Ｄｉを受けてユニット番号をデコードし、デコード結果に従って対応するユニットＵＮＴにたとえばハイレベルのユニットイネーブル信号ＵＥ０〜３を出力する。
【００３３】
ＡＮＤゲート１４３１２は、マクロ有効信号Ｍａｃ？ ｌｄｉおよびレディ信号ＲＤＹｉの論理積をとり、両入力信号がハイレベルのときハイレベルの信号Ｓ１４３１２を各ユニットＵＮＴ０〜ＵＮＴ３に出力する。
【００３４】
各ユニットＵＮＴ０〜３は、同様の構成を有し、それぞれＡＮＤゲート１４３１３、コマンドレジスタ（ＣＭＤｒｅｇ）１４３１４、ステップカウンタ（ＳＴＥＰｃｏｕｎｔ）１４３１５、リファレンステーブル(Reference Table)１４３１６、および減算器（Ｓｕｂ）１４３１７を含んで構成されている。
【００３５】
ＡＮＤゲート１４３１３は、ＡＮＤゲート１４３１２の出力信号Ｓ１４３１２とデコーダ１４３１１によるユニットイネーブル信号ＵＥ（０〜３）の論理積をとり、両信号がハイレベルのときハイレベルのイネーブル信号ＳＥＮをコマンドレジスタ１４３１４およびステップカウンタ１４３１５に出力する。
【００３６】
コマンドレジスタ１４３１４は、イネーブル端子ＥＮにＡＮＤゲート１４３１３によるハイレベルのイネーブル信号ＳＥＮを受けてイネーブル状態となり、データ端子Ｄａｔａに供給されるマクロデータＭａｃ？ Ｄｉのアドレスおよびコマンド情報（ＡＤＤＲ／ＣＭＤ）を取り込み保持し、保持データをリファレンステーブル１４３１６に出力する。
【００３７】
ステップレジスタ１４３１５は、ロード端子ＬＤにＡＮＤゲート１４３１３によるハイレベルのイネーブル信号ＳＥＮを受けてイネーブル状態となり、データ端子Ｄａｔａに供給されるマクロデータＭａｃ？ Ｄｉを取り込み保持し、コマンドが何ステップかをカウントし、その結果を減算器１４３１７に出力する。
【００３８】
リファレンステーブル１４３１６は、コマンドレジスタ１４３１４の保持データと実行中のコマンドｉＣＭＤとを入力して、次に発行されるコマンドと今実行しているコマンドとに何クロック差があり、次のコマンドを何クロック目に発行すべきかをスケジューリングし、その結果である発行タイミングを減算器１４３１７に出力する。
【００３９】
減算器１４３１７は、リファレンステーブル１４３１６による発行タイミングとコマンドｉＣＭＤを入力して、発行タイミングと実行中のコマンド（およびアドレス）の実行中時間の差分をとり、その結果を図３のセレクタ１４３２に出力する。
【００４０】
図３のセレクタ１４３２は、各ＲＣＢ１４３１（−０〜−３）の複数（本実施形態では４）のユニットＵＮＴの減算器１４３１７の出力値のうち、最大値を選択してダウンカウンタ１４３３に出力する。
【００４１】
ダウンカウンタ１４３３は、ステートマシーン１４３４によりイネーブル状態に制御され、ロード端子ｌｄへのロード信号によりセレクタ１４３２の出力をロードしてゼロになるまでダウンカウントしてゼロになるとその旨を信号Ｓ１４３３としてステートマシーン１４３４に出力する。
【００４２】
ステートマシーン１４３４は、ＭＡＭＵ１４３のステートを管理し、ダウンカウンタ１４３３により信号Ｓ１４３３を受けると、自メモリシステム１１のレディ信号ＲＤＹ ｉ（図３の例ではメモリシステム１１−１のレディ信号ＲＤＹ ０）を出力し、また、ＦＩＦＯ  リード信号ＦＩＦＯ−ＲＤをコマンドＦＩＦＯ１４１に出力する。
【００４３】
なお、図３の例では、メモリシステム１１−１のＭＡＭＵを想定しており、この場合ＲＣＢ１４３１−０からマクロデータＭａｃ０ Ｄ、マクロ有効信号Ｍａｃ０ ｌｄ０が出力される。
【００４４】
ここで、上記構成を有するＭＡＭＵ１４３、およびＲＣＢ１４３１のおける動作の概要を、図５および図６に関連付けて説明する。
図５は、本実施形態におけるＭＡＭＵの動作を説明するためのフローチャートである。また、図６は、本実施形態におけるＲＣＢの動作を説明するためのフローチャートである。
【００４５】
ＭＡＭＵ１４３においては、まず、プロセッサ１３により発行されたコマンド／アドレス（ｉＣ／Ａ）を入力するか否かの判別を行う（ＳＴ１）。
ステップＳＴ１において、プロセッサ１３により発行されたコマンド／アドレス（ｉＣ／Ａ）を入力すると、ＲＣＢ１４３１の処理に移行する（ＳＴ２）。
【００４６】
ＲＣＢ１４３１においては、まず、ステップＳＴ２１でコマンド／アドレス（Ｃ／Ａ）のリフレッシュがあるか否かの判別を行う。
ステップＳＴ２１において、リフレッシュがあると判別すると、コマンド／アドレス（Ｃ／Ａ）をリフレッシュし（ＳＴ２２）、ステップカウンタ１４３１５をリセットして（ＳＴ２３）、ステップＳＴ２４の処理に移行する。
また、ステップＳＴ２１において、リフレッシュがないと判別すると、ステップＳＴ２２，ＳＴ２３の処理を行うことなくステップＳＴ２４の処理に直接移行する。
ステップＳＴ２４において、リファレンステーブル１４３１６にプロセッサ１３により発行されたコマンド／アドレス（ｉＣ／Ａ）と実行中のコマンド／アドレス（ｒｅｆＣ／Ａ）をロードする。
そして、リファレンステーブル１４３１６によりコマンド／アドレス（Ｃ／Ａ）の発行タイミングを検出する（ＳＴ２５）。
次に、減算器１４３１７において、発行タイミングと実行中のコマンド／アドレス（ｒｅｆＣ／Ａ）の実行中時間の差分をとる（ＳＴ２６）。この処理は、メモリマクロ１２のアクセスタイムを得る処理である。このアクセスタイムが、セレクタ１４３２に入力される（ＳＴ２７）。
【００４７】
ＭＡＭＵ１４３のセレクタ１４３２において、ＲＣＢ１４３１の出力から最大のカウントする時間をセレクトする（ＳＴ３）。
そして、セレクトされた最大のアクセス時間をダウンカウンタ１４３３にセットする（ＳＴ４）。
ダウンカウンタ１４３３においては、カウント値がゼロ（０）になるまでダウンとカウントし、ゼロになると（ＳＴ５）、ステートマシーン１４３４において自メモリシステム１１のレディ信号ＲＤＹ ｉを出力し、かつ、ＦＩＦＯリード信号ＦＩＦＯ−ＲＤをコマンドＦＩＦＯ１４１に出力することにより、メモリマクロ１２のアクセスを行う（ＳＴ６）。
【００４８】
次に、メモリマクロ１２（−１〜−ｎ）のメモリインタフェース１５（−１〜−ｎ）の具体的な構成および機能について説明する。
【００４９】
図７は、本発明に係るメモリインタフェースの構成例を示す図である。
【００５０】
図７のメモリインタフェース１５は、コマンド／アドレスセレクタ（Ｃ／Ａ  ＳＥＬ）１５１、データパスタイミングジェネレータ(Data Path Timing Generator: DPTG)１５２、メモリタイミングジェネレータ(Memory Timing Generator: MTG)１５３、およびデータパスセレクタ(Data Path Selector: DPS)１５４を含んで構成されている。
【００５１】
コマンド／アドレスセレクタ１５１は、図７に示すように、コマンド／アドレスパスセレクタ(Command Address Path Selector: CAPS)１５１１、およびコマンド／アドレスデコーダ(Command Address Decoder: CAD)１５１２を有する。
【００５２】
コマンド／アドレスパスセレクタ１５１１は、コマンドアドレスデコーダ１５１２によるイネーブル信号に基づいて、自メモリシステム１１のプロセッサ１３、右、または／および左側に隣接して配置されたメモリシステムのメモリマクロ１２のメモリインタフェース１５から転送されたコマンドおよびアドレスを、いずれの方向に出力するかを決定し、右または左側に配置されたメモリシステムのメモリインタフェース１５に転送する。
【００５３】
コマンド／アドレスデコーダ１５１２は、自メモリシステム１１のプロセッサ１３、右、または／および左側に隣接して配置されたメモリシステムのメモリマクロ１２のメモリインタフェース１５から転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステム１１にあるか否かを判別し、その結果をデータパスタイミングジェネレータ１５２、およびメモリタイミングジェネレータ１５３に報知する。
【００５４】
データパスタイミングジェネレータ１５２は、コマンド／アドレスデコーダ１５１２により、入力したコマンドおよびアドレスに対応したパスがある旨を報知されると、自メモリシステム１１のプロセッサ１３、右または／および左側に隣接して配置されたメモリシステムのメモリマクロ１２のメモリインタフェース１５から転送されたデータを、自メモリシステムのメモリマクロ１２、あるいはプロセッサ１３、または左あるいは右側に配置されたメモリシステム１１のメモリマクロ１２のメモリインタフェース１５に転送すべきパスを選択し、パスするタイミングを制御する信号Ｓ１５２を生成し、信号Ｓ１５２をデータパスセレクタ１５４に出力する。
【００５５】
メモリタイミングジェネレータ１５３は、コマンド／アドレスデコーダ１５１２により、入力したコマンドおよびアドレスに対応したパスがある旨を報知されると、自メモリシステム１１のメモリマクロ１２にアクセスするタイミングを制御する信号Ｓ１５３を生成し、メモリマクロ１２に供給する。
【００５６】
データパスセレクタ１５４は、データパスタイミングジェネレータ１５２による信号Ｓ１５２を受けて、自メモリシステム１１のプロセッサ１３、右または／および左側に隣接して配置されたメモリシステムのメモリマクロ１２のメモリインタフェース１５から転送されたデータを、自メモリシステムのメモリマクロ１２、あるいはプロセッサ１３、または左あるいは右側に配置されたメモリシステム１１のメモリマクロ１２のメモリインタフェース１５に選択的に転送する。
【００５７】
図８は、本実施形態におけるデータパスセレクタの具体的な構成例を示す回路図である。
【００５８】
図８のデータパスセレクタ１５４は、第１ラッチ（ＬＴＣ１）１５４１、第２ラッチ（ＬＴＣ２）１５４２、第３ラッチ（ＬＴＣ３）１５４３、第４ラッチ（ＬＴＣ４）１５４４、第１セレクタ（ＳＥＬ１）１５４５、第２セクレタ（ＳＥＬ２）１５４６、第３セレクタ（ＳＥＬ３）１５４７、第４セレクタ（ＳＥＬ４）１５４８、ライト用冗長回路１５４９、ライトバッファ(Write Buffer: WR)１５５０、リードアンプ(Read Amplifier: RA)１５５１、およびリード用冗長回路１５５２を有する。
図８のデータパスセレクタ１５４は１ビット分の回路であり、たとえば２５６ビットに対応する場合には同様の回路が２５６個設けられる。
なお、図８においては、メモリマクロ１２のメモリ部はＤＲＡＭを想定しており、ＳＡ０〜ＳＡｍはセンスアンプを示している。また、ＢＬはビット線を示している。
【００５９】
データパスセレクタ１５４において、第１〜第４セレクタ１５４５〜１５４８が選択すべきデータおよびパスは、データパスタイミングジェネレータ１５２による制御信号Ｓ１５２により制御される。
【００６０】
第１セレクタ１５４５は、自メモリシステム１１のプロセッサ１３により発行され、メモリコントロールユニット１４を介したグローバルライトデータＧＷＤ、左側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＬＤＴＩ、および右側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＲＤＴＩが供給され、制御信号Ｓ１５２の指示に従ったデータを選択して第１ラッチ１５４１に出力する。
第１ラッチ１５４１にラッチされたライトデータは、冗長回路１５４９を介してライトバッファ１５５０に供給され、センスアンプＳＡ０〜ＳＡｍに転送されて、アドレス指定されたメモリセルにデータが書き込まれる。
【００６１】
第２セレクタ１５４６は、左側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＬＤＴＩ、および右側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＲＤＴＩが供給され、制御信号Ｓ１５２の指示に従ったいずれかのデータを選択して第２ラッチ１５４２に出力する。
第２ラッチ１５４２にラッチされたデータＬＴＤＩまたはＲＴＤＩは、第３セレクタ１５４７、および第４セレクタ１５４８に供給される。
【００６２】
第３ラッチ１５４３は、自メモリシステム１１のメモリマクロ１２のメモリ部から読み出されリードアンプ１５５１、冗長回路１５５２を介したリードデータをラッチする。第３ラッチ１５４３にラッチされたデータは第３セレクタ１５４７、および第４セレクタ１５４８に供給される。
第４ラッチ１５４４は、自メモリシステム１１のプロセッサ１３により発行され、メモリコントロールユニット１４を介したグローバルライトデータＧＷＤをラッチする。第４ラッチ１５４４にラッチされたデータは第３セレクタ１５４７に供給される。
【００６３】
第３セレクタ１５４７は、自メモリシステム１１で発行されたグローバルライトデータＧＷＤ、自メモリシステムのメモリ部から読み出したリードデータ、左側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＬＤＴＩ、または右側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＲＤＴＩのいずれかを選択し、左側のメモリシステムのメモリマクロのメモリインタフェースへのデータＬＴＤＯ、または右側のメモリシステムのメモリマクロのメモリインタフェースへのデータＲＴＤＯとして選択し、左側のメモリインタフェース、または右側のメモリインタフェースに転送する。
【００６４】
第４セレクタ１５４８は、後で説明する下位側バンクからのグローバルリードデータＧＲＤ、自メモリシステムのメモリ部から読み出したリードデータ、左側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＬＤＴＩ、または右側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータＲＤＴＩのいずれかを選択し、自メモリシステム１１のメモリコントロールユニット１４を通してプロセッサ１３に転送する。
【００６５】
図９は、以上の構成を有するメモリインタフェース１５を備えたメモリマクロ間の接続例を示す図である。
図９の例においては、メモリタイミングジェネレータ１５３はメモリマクロ１２のメモリ部に配置されている場合を示している。したがって、図９の各メモリインタフェース１５−ｉ，１５−i+1には図示していない。
【００６６】
次に、図１の構成を有する共有メモリ装置１０の動作を説明する。
【００６７】
まず、たとえば、メモリシステム１１−１のプロセッサ１３−１が自システムのメモリマクロ１２−１の所望のアドレスのメモリセルにアクセスする場合について説明する。
【００６８】
この場合、プロセッサ１３−１において、ライトあるいはリードコマンド、およびアクセスすべきアドレスが発行され、メモリコントロールユニット１４−１に出力される。
メモリコントロールユニット１４−１においては、プロセッサ１３−１で発行された自メモリシステム１１−１のメモリマクロ１２−１に対するコマンドおよびアドレス（ＣＭＤ／ＡＤＲ）およびその有効信号（バリッド信号）ＬＤに基づいて、入力コマンドが解読され、コマンドに応じた、ライト、リード動作等に応じたメモリマクロ１２に対するアクセスにおいて、衝突が起こらないアクセスタイミングが生成される。そして、メモリコントロールユニット１４−１から生成したタイミングをもってコマンドおよびアドレスをメモリマクロ１２−１に転送するように制御されて、コマンドおよびアドレスがメモリマクロ１２−１のメモリインタフェース１５−１に出力される。
なお、メモリコントロールユニット１４−１においては、コマンドがライトあるいはリードであっても、プロセッサ１３−１により発行されたライトデータ、あるいはメモリマクロ１２−１から読み出され、あるいはメモリマクロ１２−１を通したリードデータは、基本的に素通りする形でメモリマクロ１２−１、あるいはプロセッサ１３−１に伝播される。
【００６９】
メモリインタフェース１５−１においては、メモリコントロールユニット１４−１から転送されたコマンドおよびアドレスに基づいて、入力したコマンドおよびアドレスに対応したパスが自メモリシステム１１−１にあるか否かが判別される。この場合、自メモリシステム１１−１にパスがあるものと判別される。
そして、メモリインタフェース１５−１においては、判別結果に基づいて、自メモリシステム１１−１のプロセッサ１３−１により発行されたライトデータがメモリマクロ１２−１のメモリ部に転送されて所望のアドレスのメモリセルにデータが書き込まれる。
あるいは、自メモリシステム１１−１のメモリマクロ１２−１から読み出されたリードデータがメモリコントロールユニット１４−１を介してプロセッサ１３−１に転送される。
【００７０】
次に、たとえば、メモリシステム１１−１のプロセッサ１３−１が右側に隣接するメモリシステム１１−２のメモリマクロ１２−２の所望のアドレスのメモリセルにアクセスする場合について説明する。
【００７１】
この場合、プロセッサ１３−１において、ライトあるいはリードコマンド、およびアクセスすべきアドレスが発行され、メモリコントロールユニット１４−１に出力される。
メモリコントロールユニット１４−１においては、自メモリシステム１１−１のメモリマクロ１２−１に対するコマンドおよびアドレスでないことから、プロセッサ１３−１により発行されたコマンドおよびアドレスは、隣接するメモリシステム１１−２のメモリコントロールユニット１４−２に転送される。
【００７２】
メモリコントロールユニット１４−２においては、プロセッサ１３−１で発行された自メモリシステム１１−２のメモリマクロ１２−２に対するコマンドおよびアドレス（ＣＭＤ／ＡＤＲ）およびその有効信号（バリッド信号）ＬＤに基づいて、入力コマンドが解読され、コマンドに応じた、ライト、リード動作等に応じたメモリマクロ１２に対するアクセスにおいて、衝突が起こらないアクセスタイミングが生成される。そして、メモリコントロールユニット１４−２から生成したタイミングをもってコマンドおよびアドレスをメモリマクロ１２−２に転送するように制御されて、コマンドおよびアドレスがメモリマクロ１２-２のメモリインタフェース１５−２に出力される。
【００７３】
なお、メモリコントロールユニット１４−１においては、コマンドがライトあるいはリードであっても、プロセッサ１３−１により発行されたライトデータ、あるいはメモリマクロ１２−２から読み出されメモリマクロ１２−１を通したリードデータは、基本的に素通りする形でメモリマクロ１２−１、あるいはプロセッサ１３−１に伝播される。
【００７４】
メモリインタフェース１５−１においては、メモリコントロールユニット１４-１から転送されたコマンドおよびアドレスを基づいて、入力したコマンドおよびアドレスに対応したパスが自メモリシステム１１−１にあるか否かが判別される。この場合、自メモリシステム１１−１にパスがないもと判別される。
その結果、メモリインタフェース１５−１においては、判別結果に基づいて、自メモリシステム１１−１のプロセッサ１３−１により発行されたライトデータが右側のメモリシステム１１−２のメモリマクロ１２−２のメモリインタフェース１５−２に転送される。
あるいは、隣接のメモリシステム１１−２のメモリマクロ１２−２から読み出され、メモリインタフェース１５−２から転送されてきたリードデータがメモリコントロールユニット１４−１を介してプロセッサ１３−１に転送される。
【００７５】
メモリインタフェース１５−２においては、メモリコントロールユニット１４−２から転送されたコマンドおよびアドレスを基づいて、入力したコマンドおよびアドレスに対応したパスが自メモリシステム１１−２にあるか否かが判別される。この場合、自メモリシステム１１−２にパスがあるものと判別される。
そして、メモリインタフェース１５−２においては、判別結果に基づいて、隣接メモリシステム１１−１のプロセッサ１３−１により発行され、メモリインタフェース１５−１を介してメモリインタフェース１５−２に入力されたライトデータがメモリマクロ１２−２のメモリ部に転送されて所望のアドレスのメモリセルにデータが書き込まれる。
あるいは、メモリシステム１１−２のメモリマクロ１２−２から読み出されたリードデータがメモリインタフェース１５−２を介して隣接メモリシステム１１−１のメモリインタフェース１５−１に転送され、メモリコントロールユニット１４−１を介してプロセッサ１３−１に転送される。
【００７６】
以上説明したように、本第１の実施形態によれば、各メモリシステム１１−１〜１１−ｎは、データを記憶するたとえばＤＲＡＭやＳＲＡＭ等のメモリマクロ１２、メモリマクロ１２のアクセスを行って所定のデータ処理を行うプロセッサ１３、並びに、自ステージのプロセッサ１２とメモリマクロ１１間の情報（データ、並びに、コマンドおよびアドレス）の授受を行い、かつ、異なるメモリシステムのメモリコントロールユニットとの情報（コマンドおよびアドレスのみ）の授受を行うメモリコントロールユニット１４を含み、メモリマクロ１２は、データ転送が可能なメモリインタフェース１５を備えており、異なるメモリシステム（本実施形態においては隣接するメモリシステム）のメモリマクロのメモリインタフェース同士が接続されていることから、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることができる。
【００７７】
また、本第１の実施形態のように、マルチプロセッサ構造のシステムにおいて、拡張性を確保するために、プロセッサに最適化されたメモリシステムを対になるように組み込むことにより、アプリケーションの必要とする処理能力に最適な数のプロセッサを搭載することができる。あるいは、半導体プロセスの進化により搭載可能なプロセッサ数が増えると、アーキテクチャを変更することなく、処理能力の向上を見込むことが可能となる。この際、メモリシステムへのアクセスする時間を軽減するためにメモリシステム階層構造を採用することが望ましい。
【００７８】
また、本第１の実施形態によれば、アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストすることから、以下の効果を得ることも可能である。
すなわち、マルチプロセッサ構造のシステムにおいて、一般的なメモリシステムにはあるデータが複数のプロセッサに参照される場合、システムバスを使用して何回も同じデータをアクセスしなければならない。
これに対して、本第１の実施形態においては、メモリシステムにはメモリマクロ間のデータ線を通してライトブロードキャストでデータを複数のメモリマクロにコピーすることが可能になる。これによって、プロセッサは直近のローカルマクロにデータをアクセスすることが可能となる。その結果、無駄なデータ転送を軽減することが可能となってシステムバスの負荷を軽減することもでき、処理性能が向上となる。
【００７９】
＜第２実施形態＞
図１０は、本発明に係る共有メモリ装置の第２の実施形態を示すシステム構成図である。
また、図１１は、第２の実施形態において、本発明に係るメモリインタフェースを備えたメモリマクロ間の接続例を示す図である。
【００８０】
本第２の実施形態が上述した第１の実施形態と異なる点は、各メモリマクロ１２A−１〜１２A−nが、異なるメモリマクロとデータ転送可能なポートＰＴを複数有することにある。
【００８１】
この場合、メモリインタフェース１５は、ポート毎に対応して配置され、その基本的構成は、図7および図８に関連付けて説明した構成と同様である。したがって、その詳細な説明は省略する。
【００８２】
本第２の実施形態においては、メモリタイミングジェネレータ１５３はメモリマクロ１２Ａのメモリ部に配置されている場合を示している。したがって、図１１の各メモリインタフェース１５には図示していない。
【００８３】
その他の構成は第１の実施形態と同様であり、本第２の実施形態によれば、上述した第１の実施形態の効果と同様の効果を得ることができる。
【００８４】
＜第３実施形態＞
図１２は、本発明に係る共有メモリ装置の第３の実施形態を示すシステム構成図である。
また、図１３は、第３の実施形態において、本発明に係るメモリインタフェースを備えたメモリマクロ間の接続例を示す図である。
【００８５】
本第３の実施形態が上述した第１の実施形態と異なる点は、各メモリマクロ１２Ｂ−１〜１２Ｂ−nが複数のバンクＢＮＫ１〜ＢＮＫｍを有し、異なるメモリマクロの対応するバンクとデータ転送可能に構成したことにある。
【００８６】
この場合、メモリインタフェース１５は、バンクＢＮＫ１〜ＢＮＫｍ毎に配置され、基本的構成は、図７および図８に関連付けて説明した構成と同様である。したがって、その詳細な説明は省略する。
【００８７】
本第３の実施形態においては、各バンクのメモリインタフェースごとにデータパスタイミングジェネレータ１５２とメモリタイミングジェネレータ１５３が配置されている。
【００８８】
その他の構成は第１の実施形態と同様であり、本第３の実施形態によれば、上述した第１の実施形態の効果と同様の効果を得ることができる。
【００８９】
＜第４実施形態＞
図１４は、本発明に係る共有メモリ装置の第４の実施形態を示すシステム構成図である。
【００９０】
本第４の実施形態が上述した第１の実施形態と異なる点は、メモリマクロの使用していなかったメモリインタフェースのポート、具体的には第１の実施形態においてメモリシステム１１−１のメモリマクロ１２−１に配置されたメモリインタフェース１５−１の左側の入出力部(ポート)、並びに、メモリシステム１１−ｎのメモリマクロ１２−ｎに配置されたメモリインタフェース１５−ｎの右側の入出力部(ポート)を、外部のメモリ２０，２１とのインタフェースとして用いたことにある。
【００９１】
その他の構成は第１の実施形態と同様であり、本第４の実施形態によれば、上述した第１の実施形態の効果と同様の効果を得られることはもとより、以下の効果を得ることができる。
一般的には、外部メモリのデータ転送にシステムバスを使用するため、ピーク性能は、バスネックになる可能性が高い。
これに対して、本第４の実施形態によれば、システムバスの負荷を軽減することが可能となり、結果として処理能力が上がるという利点がある。
【００９２】
＜第５実施形態＞
図１５は、本発明に係る共有メモリ装置の第５の実施形態を示すシステム構成図である。
【００９３】
本第５の実施形態が上述した第２の実施形態と異なる点は、メモリマクロの使用していなかったメモリインタフェースのポート、具体的には第２の実施形態においてメモリシステム１１−１のメモリマクロ１２Ａ−１の各ポートに配置されたメモリインタフェース１５の左側の入出力部(ポート)、並びに、メモリシステム１１−ｎのメモリマクロ１２Ａ−ｎの各ポートに配置されたメモリインタフェース１５の右側の入出力部(ポート)を、外部のメモリ２０Ａ，２１Ａとのインタフェースとして用いたことにある。
【００９４】
その他の構成は第２の実施形態と同様であり、本第５の実施形態によれば、上述した第１および２の実施形態の効果と同様の効果を得られることはもとより、以下の効果を得ることができる。
一般的には、外部メモリのデータ転送にシステムバスを使用するため、ピーク性能は、バスネックになる可能性が高い。
これに対して、本第５の実施形態によれば、システムバスの負荷を軽減することが可能となり、結果として処理能力が上がるという利点がある。
【００９５】
＜第６実施形態＞
図１６は、本発明に係る共有メモリ装置の第６の実施形態を示すシステム構成図である。
【００９６】
本第６の実施形態が上述した第３の実施形態と異なる点は、メモリマクロの使用していなかったメモリインタフェースのポート、具体的には第３の実施形態においてメモリシステム１１Ｂ−１のメモリマクロ１２Ｂ−１の各バンクＢＮＫ１〜ＢＮＫｍに配置されたメモリインタフェース１５の左側の入出力部(ポート)、並びに、メモリシステム１１Ｂ−ｎのメモリマクロ１２Ｂ−ｎの各バンクＢＮＫ１〜ＢＮＫｍに配置されたメモリインタフェース１５の右側の入出力部(ポート)を、外部のメモリ２０Ｂ，２１Ｂとのインタフェースとして用いたことにある。
【００９７】
その他の構成は第３の実施形態と同様であり、本第６の実施形態によれば、上述した第１および３の実施形態の効果と同様の効果を得られることはもとより、以下の効果を得ることができる。
一般的には、外部メモリのデータ転送にシステムバスを使用するため、ピーク性能は、バスネックになる可能性が高い。
これに対して、本第６の実施形態によれば、システムバスの負荷を軽減することが可能となり、結果として処理能力が上がるという利点がある。
【図面の簡単な説明】
【００９８】
【図１】本発明に係る共有メモリ装置の第１の実施形態を示すシステム構成図である。
【図２】本発明に係るメモリコントロールユニットの一例を示す構成図である。
【図３】本発明に係るメモリコントロールユニットにおけるメモリアクセスマネージメントユニット（ＭＡＭＵ）の構成例を示す図である。
【図４】図３におけるレディチェックブロック（ＲＣＢ）の構成例を示す図である。
【図５】本実施形態におけるＭＡＭＵの動作を説明するためのフローチャートである。
【図６】本実施形態におけるＲＣＢの動作を説明するためのフローチャートである。
【図７】本発明に係るメモリインタフェースの構成例を示す図である。
【図８】本実施形態におけるデータパスセレクタの具体的な構成例を示す回路図である。
【図９】第１の実施形態において、本発明に係るメモリインタフェースを備えたメモリマクロ間の接続例を示す図である。
【図１０】本発明に係る共有メモリ装置の第２の実施形態を示すシステム構成図である。
【図１１】第２の実施形態において、本発明に係るメモリインタフェースを備えたメモリマクロ間の接続例を示す図である。
【図１２】本発明に係る共有メモリ装置の第３の実施形態を示すシステム構成図である。
【図１３】第３の実施形態において、本発明に係るメモリインタフェースを備えたメモリマクロ間の接続例を示す図である。
【図１４】本発明に係る共有メモリ装置の第４の実施形態を示すシステム構成図である。
【図１５】本発明に係る共有メモリ装置の第５の実施形態を示すシステム構成図である。
【図１６】本発明に係る共有メモリ装置の第６の実施形態を示すシステム構成図である。
【図１７】マルチプロセッサの一般的なアーキテクチャを示す図である。
【図１８】クロスバーを用いたアーキテクチャを示す図である。
【符号の説明】
【００９９】
１０，１０Ａ〜１０Ｅ…共有メモリ装置、１１−１〜１１−ｎ，１１Ａ−１〜１１Ａ−ｎ，１１Ｂ−１〜１１Ｂ−ｎ…メモリシステム、１２−１〜１２−ｎ，１２Ａ−１〜１２Ａ−ｎ，１２Ｂ−１〜１２Ｂ−ｎ…メモリマクロ、１３−１〜１３−ｎ…プロセッサ、１４−１〜１４−ｎ…メモリコントロールユニット、１５−１〜１５−ｎ…メモリインタフェース、２０，２０Ａ，２０Ｂ…外部メモリ。
【図１】
2006221432.tif 000003
【図２】
2006221432.tif 000004
【図３】
2006221432.tif 000005
【図４】
2006221432.tif 000006
【図５】
2006221432.tif 000007
【図６】
2006221432.tif 000008
【図７】
2006221432.tif 000009
【図８】
2006221432.tif 000010
【図９】
2006221432.tif 000011
【図１０】
2006221432.tif 000012
【図１１】
2006221432.tif 000013
【図１２】
2006221432.tif 000014
【図１３】
2006221432.tif 000015
【図１４】
2006221432.tif 000016
【図１５】
2006221432.tif 000017
【図１６】
2006221432.tif 000018
【図１７】
2006221432.tif 000019
【図１８】
2006221432.tif 000020