説明

共有メモリ装置

【課題】メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を向上できる共有メモリ装置を提供する。
【解決手段】各メモリシステム11−1〜11−nは、メモリマクロ12とプロセッサ13とを含み、各メモリマクロ12は、DRAM等により構成されるメインメモリ(第1メモリ:MEM1)121と、たとえばメインメモリ121により記憶容量の少ない記憶手段としての第2メモリ(MEM2)122とを含む階層型メモリ構造を有し、第2メモリ121は、データ転送可能なメモリインタフェース14を含んで構成され、異なるメモリシステム(本実施形態においては隣接するメモリシステム)のメモリマクロのメモリインタフェース同士が接続されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置(プロセッサ)を含む複数のメモリシステムを混載し、各システムのメモリを共有する共有メモリ装置に関するものである。
【背景技術】
【0002】
複数のメモリシステムを混載するシステムにおいて、並列処理を重視したアーキテクチャを採用すると、たとえば図16に示すような構成となる。
図16の構成においては、ロジック回路(情報処理装置、プロセッサ)1−1〜1−4とメモリマクロ2−1〜2−4は並列処理を優先するため、1対1で接続される。
図16の構成において、ロジック回路1とメモリマクロ2は並列処理を優先するため1対1で接続されるが、ロジック回路1は隣接しているロジックのデータを参照するためには、上位装置を介したパスを使う必要がある。
【0003】
そこで、ロジック回路1から直接、隣接メモリまでの接続を、一般的に、図17に示すように、クロスバー(Xbar)3で行う構成が採用される。
【発明の開示】
【発明が解決しようとする課題】
【0004】
図16の構成においては、上述したように、ロジック回路1とメモリマクロ2は並列処理を優先するため1対1で接続されるが、ロジック回路1は隣接しているロジック回路1のデータを参照するためには、上位装置を介したパスを使う必要があるため、実際のアクセスを実現するのは困難である。
【0005】
また、図17の構成においては、上位装置を介することなく、ロジック回路1は隣接しているロジック回路1のデータを参照することが可能であるが、ロジック回路1からメモリ2までの配線が非常に複雑となり、面積増加と長距離配線による性能低下を招くという不利益がある。
また、図17のクロスバー3を用いた構成では、システムのスケーラビリティーの拡張性を上げることが難しくなる。
【0006】
本発明の目的は、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることが可能な共有メモリ装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の第1の観点の共有メモリ装置は、メモリマクロと、情報処理装置とを含むメモリシステムを複数有し、上記各メモリシステムのメモリマクロは、メインメモリと、データ転送可能なメモリインタフェースを含む記憶手段とを有し、異なるメモリシステムの上記記憶手段のメモリインタフェース同士が接続され、上記各メモリインタフェースは、上記情報処理装置とメインメモリまたは/および記憶手段間の情報の授受、並びに、異なるメモリシステムの記憶手段との情報の授受を行う。
【0008】
好適には、上記記憶手段は、上記メインメモリより記憶容量の少ないメモリを含む。
【0009】
好適には、上記記憶手段は、上記メインメモリより記憶容量が少なく、かつ、メインメモリより高速アクセスが可能なメモリを含む。
【0010】
好適には、上記記憶手段は、データを一時的に保持可能な保持回路を含む。
【0011】
好適には、上記複数のメモリマクロにおけるメモリインタフェースのうち、他のメモリマクロと接続関係にない入出力部が外部装置と接続されている。
【0012】
好適には、上記メモリインタフェースは、上記プロセッサと上記メインメモリとのデータパスと、上記プロセッサと上記記憶手段とのデータパスを独立して有する。
【0013】
本発明の第2の観点の共有メモリ装置は、メモリマクロと、プロセッサとを含むメモリシステムを複数有し、上記各メモリシステムのメモリマクロは、メインメモリと、データ転送可能なメモリインタフェースを含むキャッシュメモリとを有し、異なるメモリシステムの上記キャッシュメモリのメモリインタフェース同士が接続され、上記各メモリインタフェースは、前記プロセッサとメインメモリまたは/およびキャッシュメモリ間の情報の授受、並びに、異なるメモリシステムのキャッシュメモリとの情報の授受を行い、上記各メモリシステムのキャッシュメモリはタグ情報を記憶するタグ記憶部を有し、上記タグ記憶部に記憶される情報は異なるメモリシステムのキャッシュ情報を含んでいる。
【0014】
好適には、物理的な配置によりキャッシュメモリデータへのアクセス時間がアドレスによって変化する場合、上記タグ記憶部にアクセス時間情報が保持される。
【0015】
好適には、上記各メモリシステムのキャッシュメモリのタグ記憶部が異なるメモリシステムのキャッシュメモリのタグ記憶部と互いにタグ情報を転送可能に接続されている。
【0016】
好適には、上記各メモリシステムのメインメモリは固有のアドレスを持ち、複数のメモリシステム全体で一つのメモリ空間を形成する。
【0017】
好適には、上記メモリインタフェースは、上記プロセッサと上記メインメモリとのデータパスと、上記プロセッサと上記キャッシュメモリとのデータパスを独立して有する。
【0018】
好適には、上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または/および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわる情報を自メモリシステムのメインメモリ、記憶手段またはキャッシュメモリ、または異なるメモリシステムのメモリインタフェースに転送する。
【0019】
本発明によれば、たとえば異なるメモリシステム間においては、記憶手段またはキャッシュメモリに備えたメモリインタフェースを通してコマンド、アドレス、データの転送が行われる。
情報処理装置(プロセッサ)は、コモメモリインタフェースを通して自システムのメインメモリと記憶手段(またはキャッシュメモリ)、あるいは他のメモリシステムメインメモリと記憶手段(キャッシュメモリ)をアクセスする。
【発明の効果】
【0020】
本発明によれば、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることができる利点がある。
また、本発明によれば、プロセッサは直近のローカルマクロにデータをアクセスすることが可能となり、その結果、無駄なデータ転送を軽減することができるようになり、システムバスの負荷を軽減することもでき、処理能力の向上を図れる利点がある。
【発明を実施するための最良の形態】
【0021】
以下、本発明の実施形態を、図面に関連付けて説明する。
【0022】
<第1実施形態>
図1は、本発明に係る共有メモリ装置の第1の実施形態を示すシステム構成図である。
【0023】
本共有メモリ装置10は、複数(本実施形態においてはn+1個)のメモリシステム11−0〜11―nを混載し、各メモリシステム11−0〜11−n間でアクセスが可能で、並列処理を重視したマルチプロセッサ構造のアーキテクチャを採用している。
【0024】
各メモリシステム11−0〜11−nは、基本的に、データを記憶するメモリを含むメモリマクロ(Memory Macro: MM)12、メモリマクロ12のアクセスを行って所定のデータ処理を行う情報処理装置としてのプロセッサ(Processor: PRC)13を有している。
【0025】
本実施形態におけるメモリマクロ12は、DRAM等により構成されるメインメモリ(第1メモリ:MEM1)121と、たとえばメインメモリ121により記憶容量の少ない記憶手段としての第2メモリ(MEM2)122とを含む階層型メモリ構造を有している。
そして、第2メモリ122は、データ転送可能なメモリインタフェース(Memory Interface: MIF)14を含んで構成されており、異なるメモリシステム(本実施形態においては隣接するメモリシステム)のメモリマクロのメモリインタフェース同士が接続されている。
メモリインタフェース14は、自メモリシステムのプロセッサ13、または/および異なるメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、自システムの場合にはアクセスにかかわる情報(データ、あるいは、データ並びにコマンドおよびアドレス)を、自メモリシステムのプロセッサ13、メインメモリ121、または/および第2メモリ122に転送する。
一方、自システムでない場合には、異なるメモリシステムのメモリインタフェース14にコマンドおよびアドレスと共にデータを転送する。
【0026】
具体的には、メモリシステム11−0は、メモリマクロ12−0、およびプロセッサ13−0を有し、メモリマクロ12−0は、メインメモリ121−0と、メモリインタフェース14−0を含む第2メモリ122−0を有している。
メモリシステム11−1は、メモリマクロ12−1、およびプロセッサ13−1を有し、メモリマクロ12−1は、メインメモリ121−1と、メモリインタフェース14−1を含む第2メモリ122−1を有している。
同様にして、メモリシステム11−nは、メモリマクロ12−n、およびプロセッサ13−nを有し、メモリマクロ12−nは、メインメモリ121−nと、メモリインタフェース14−nを含む第2メモリ122−nを有している。
【0027】
そして、メモリシステム11−0のメモリマクロ12−0のメモリインタフェース14−0が、隣接するメモリシステム11−1のメモリマクロ12−1のメモリインタフェース14−1に接続されている。
メモリシステム11−1のメモリマクロ12−1のメモリインタフェース14−1が、隣接する図示しないメモリシステム(11−2)のメモリマクロ(12−2)のメモリインタフェース(14−2)に接続されている。
同様にして、メモリシステム11−nのメモリインタフェース14−nが、隣接する図示しないメモリシステム(11−n-1)のメモリマクロ(12−n-1)のメモリインタフェース(14−n-1)に接続されている。
【0028】
以上のように、本第1の実施形態の共有メモリ装置10においては、各メモリシステムの階層型構造を有するメモリマクロ12の第2メモリ122にデータ転送可能なメモリインタフェース14を設けて、外部回路の介在なしにメモリマクロ間でデータ転送可能に構成されている。
【0029】
また、本第1の実施形態においては、図2に示すように、メモリインタフェース14(−0〜−n)は、プロセッサ13(−0〜−n)とメインメモリ121(−0〜−n)とのデータパス15−1と、プロセッサ13(−0〜−n)と第2メモリ122(−0〜−n)とのデータパス15−2を独立して有している。
【0030】
SOCにおいて大容量メモリを混載する多くの場合、メモリの用途は単一ではない。
たとえばキャッシュメモリのようにランダムアクセス性を重視する場合と、画像データのようにスケジューリングし易いデータなどを混在して保持する。理想的にはそれぞれに最適なメモリを使用することが望ましいが、チップ面積の増大などの理由により大容量メモリに集約してしまうケースが考えられる。
このように違う用途のデータを集約した場合、図2に示すように第2メモリ(たとえば高速メモリ)122(−0〜−n)と大容量のメインメモリ121(−0〜−n)のそれぞれに独立したデータパス15−1,15−2を持つことで、データ転送効率を上げることができる。
また、図2に示すケースでは、ローカルメモリに対するパス(Local path)15−1と他プロセッサに接続されるメモリからのパス(Global Path)15−2といった区別をすることも可能である。
【0031】
以下、メモリマクロ12(−0〜−n)のメモリインタフェース14(−0〜−n)の具体的な構成および機能について説明する。
【0032】
図3は、本発明に係るメモリインタフェースの一例を示す構成図である。
【0033】
図3のメモリインタフェース14は、メインメモリ用コマンド/アドレスセレクタ(Command Address Selector: C/A SEL1)141、第2メモリ用コマンド・アドレスセレクタ(C/A SEL2)142、ライトデータパスセレクタ(Write Data Path Selector: WDPS)143、およびリードデータパスセレクタ(Read Data Path Selector: RDPS)144を有する。
【0034】
コマンド/アドレスセレクタ141は、自メモリシステム11のプロセッサ13、右、または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたコマンドおよびアドレスを、いずれの方向に出力するかを決定し、自メモリシステム11のメインメモリ121、右または左側に配置されたメモリシステムのメモリインタフェース14に転送する。
また、コマンド/アドレスセレクタ141は、自メモリシステム11のプロセッサ13、右、または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステム11にあるか否かを判別し、その結果をパスコントロール信号PCS1として、ライトデータパスセレクタ143、およびリードデータパスセレクタ144に出力する。
コマンド/アドレスセレクタ141は、パスコントロール信号PCS1の生成にあたって、入力したコマンドおよびアドレスに対応したパスがあると判別すると、自メモリシステム11のプロセッサ13、右または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたデータを、自メモリシステムのメインメモリ121、あるいはプロセッサ13、または左あるいは右側に配置されたメモリシステム11のメモリマクロ12のメモリインタフェース14に転送すべきパスを選択し、パスするタイミング、並びにメインメモリ121にアクセスするタイミングを制御する信号としてパスコントロール信号PCS1を生成する。
【0035】
コマンド/アドレスセレクタ142は、自メモリシステム11のプロセッサ13、右、または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたコマンドおよびアドレスを、いずれの方向に出力するかを決定し、自メモリシステム11の第2メモリ122、右または左側に配置されたメモリシステムのメモリインタフェース14に転送する。
また、コマンド/アドレスセレクタ142は、自メモリシステム11のプロセッサ13、右、または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース15から転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステム11にあるか否かを判別し、その結果をパスコントロール信号PCS2として、ライトデータパスセレクタ143、およびリードデータパスセレクタ144に出力する。
コマンド/アドレスセレクタ142は、パスコントロール信号PCS2の生成にあたって、入力したコマンドおよびアドレスに対応したパスがあると判別すると、自メモリシステム11のプロセッサ13、右または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたデータを、自メモリシステムの第2メモリ122、あるいはプロセッサ13、または左あるいは右側に配置されたメモリシステム11のメモリマクロ12のメモリインタフェース14に転送すべきパスを選択し、パスするタイミング、並びに第2メモリ122にアクセスするタイミングを制御する信号としてパスコントロール信号PCS2を生成する。
【0036】
ライトデータパスセレクタ143は、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1,PCS2を受けて、自メモリシステム11のプロセッサ13、右または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたライトデータWDを、自メモリシステムのメモリマクロ12のメインメモリ121あるいは第2メモリ122、または左あるいは右側に配置されたメモリシステム11のメモリマクロ12のメモリインタフェース14に選択的に転送する。
【0037】
リードデータパスセレクタ144は、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1,PCS2を受けて、自メモリシステム11のメモリマクロ12のメインメモリ121あるいは第2メモリ122、右または/および左側に隣接して配置されたメモリシステムのメモリマクロ12のメモリインタフェース14から転送されたリードデータRDを、自メモリシステムのプロセッサ13、または左あるいは右側に配置されたメモリシステム11のメモリマクロ12のメモリインタフェース14に選択的に転送する。
【0038】
図4は、本実施形態におけるライトデータパスセレクタの具体的な構成例を示す回路図である。
【0039】
図4のライトデータパスセレクタ143は、セレクタ(SEL)1431、ラッチ(LTC)1432、およびライトバッファ(Write Buffer: WRB)1433を有している。
図4のライトデータパスセレクタ143は1ビット分の回路であり、たとえば32ビットに対応する場合には同様の回路が32個設けられる。
【0040】
ライトデータパスセレクタ143において、セレクタ1431が選択すべきデータおよびパスは、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1,PCS2により制御される。
【0041】
ライトデータパスセレクタ143において、セレクタ1431は、自メモリシステム11のプロセッサ13により発行されたライトデータWD、左側のメモリシステムのメモリマクロのメモリインタフェース14から転送されたデータLDTI、および右側のメモリシステムのメモリマクロのメモリインタフェース14から転送されたデータRDTIが供給され、パスコントロール信号PCS1またはPCS2の指示に従ったデータを選択してラッチ1432、あるいは、左側のメモリシステムのメモリマクロのメモリインタフェースへのデータLDTO、または右側のメモリシステムのメモリマクロのメモリインタフェース14へのデータRDTOとして選択し、左側のメモリインタフェース、または右側のメモリインタフェースに転送する。
ラッチ1432にラッチされたライトデータは、ライトバッファ1433に供給され、たとえば図示しないセンスアンプに転送されて、アドレス指定されたメモリセルにデータが書き込まれる。
【0042】
図5は、本実施形態におけるリードデータパスセレクタの具体的な構成例を示す回路図である。
【0043】
図5のリードデータパスセレクタ144は、第1ラッチ(LTC1)1441、第2ラッチ(LTC2)1442、第1セレクタ(SEL1)1443、第2セクレタ(SEL2)1444、第3セレクタ(SEL3)1445、およびリードアンプ(Read Amplifier: RA)1446を有する。
図5のリードデータパスセレクタ144は1ビット分の回路であり、たとえば32ビットに対応する場合には同様の回路が32個設けられる。
【0044】
リードデータパスセレクタ144において、第1〜第3セレクタ1443〜1445が選択すべきデータおよびパスは、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1,PCS2により制御される。
【0045】
第1セレクタ1443は、左側のメモリシステムのメモリマクロのメモリインタフェース14から転送されたデータLDTI、および右側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータRDTIが供給され、パスコントロール信号PCS1またはPCS2の指示に従ったデータを選択して第1ラッチ1441に出力する。
第1ラッチ1441にラッチされたデータLTDIまたはRTDIは、第2セレクタ1444、および第3セレクタ1445に供給される。
【0046】
第2ラッチ1442は、自メモリシステム11のメモリマクロ12のメインメモリ121または第2メモリ122から読み出されリードアンプ1446を介したリードデータをラッチする。第2ラッチ1442にラッチされたデータは第2セレクタ1444、および第3セレクタ1445に供給される。
【0047】
第2セレクタ1444は、自メモリシステム11のメインメモリ121または第2メモリ122から読み出したリードデータ、左側のメモリシステムのメモリマクロのメモリインタフェース14から転送されたデータLDTI、または右側のメモリシステムのメモリマクロのメモリインタフェース14から転送されたデータRDTIのいずれかを選択し、左側のメモリシステムのメモリマクロのメモリインタフェースへのデータLTDO、または右側のメモリシステムのメモリマクロのメモリインタフェース14へのデータRTDOとして選択し、左側のメモリインタフェース、または右側のメモリインタフェースに転送する。
【0048】
第3セレクタ1445は、自メモリシステム11のメインメモリ121または第2メモリ122から読み出したリードデータ、左側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータLDTI、または右側のメモリシステムのメモリマクロのメモリインタフェースから転送されたデータRDTIのいずれかを選択し、自メモリシステム11のプロセッサ13に転送する。
【0049】
次に、図1の構成を有する共有メモリ装置10の動作を説明する。
【0050】
まず、たとえば、メモリシステム11−0のプロセッサ13−0が自システムのメモリマクロ12−0の所望のアドレスのメモリセルにアクセスする場合について説明する。
【0051】
この場合、プロセッサ13−0において、ライトあるいはリードコマンド、およびアクセスすべきアドレスが発行され、メモリインタフェース14−0に出力される。
メモリインタフェース14−0においては、コマンド/アドレスセレクタ141または142でプロセッサ13−0により発行された自メモリシステム11−0のメモリマクロ12−0に対するコマンドおよびアドレス(CMD/ADR)に基づいて、入力コマンドが解読され、コマンドに応じた、ライト、リード動作等に応じたメモリマクロ12に対するアクセスにおいて、衝突が起こらないアクセスタイミングが生成される。そして、コマンド/アドレスセレクタ141または142から生成したタイミングをもってコマンドおよびアドレスがメインメモリ121−0または第2メモリ122−0に転送される。
また、コマンド/アドレスセレクタ141または142からパスコントロール信号PCS1またはPCS2が生成されて、ライトデータパスセレクタ143および/またはリードデータパスセレクタ144に出力される。
【0052】
プロセッサ13−0で発行されたコマンドがライトコマンドの場合、ライトデータパスセレクタ143において、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1またはPCS2を受けて、自メモリシステム11のプロセッサ13から転送されたライトデータWDが、自メモリシステムのメモリマクロ12−0のメインメモリ121−0あるいは第2メモリ122−0に転送される。
そして、自メモリシステム11−0のプロセッサ13−0により発行されたライトデータがメモリマクロ12−0のメインメモリ121−0または第2メモリ122−0に転送されて所望のアドレスのメモリセルにデータが書き込まれる。
【0053】
プロセッサ13−0で発行されたコマンドがリードコマンドの場合、リードデータパスセレクタ144において、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1またはPCS2を受けて、自メモリシステム11−0のメモリマクロ12−0のメインメモリ121−0あるいは第2メモリ122−0から読み出されて転送されたリードデータRDが、自メモリシステムのプロセッサ13−0に転送される。
【0054】
次に、たとえば、メモリシステム11−0のプロセッサ13−0が右側に隣接するメモリシステム11−1のメモリマクロ12−1の所望のアドレスのメモリセルにアクセスする場合について説明する。
【0055】
この場合、プロセッサ13−0において、ライトあるいはリードコマンド、およびアクセスすべきアドレスが発行され、メモリインタフェース14−0に出力される。
メモリインタフェース14−0においては、コマンド/アドレスセレクタ141または142において、自メモリシステム11−0のメモリマクロ12−0に対するコマンドおよびアドレスでないことから、プロセッサ13−0により発行されたコマンドおよびアドレスは、隣接するメモリシステム11−1の第2メモリ122−1に付随するメモリインタフェース14−1に転送される。
また、コマンド/アドレスセレクタ141または142からパスコントロール信号PCS1またはPCS2が生成されて、ライトデータパスセレクタ143および/またはリードデータパスセレクタ144に出力される。
【0056】
プロセッサ13−0で発行されたコマンドがライトコマンドの場合、ライトデータパスセレクタ143において、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1またはPCS2を受けて、自メモリシステム11のプロセッサ13から転送されたライトデータWDが、隣接するメモリシステム11−1の第2メモリ122−1に付随するメモリインタフェース14−1に転送される。
【0057】
隣接のメモリシステム11−1のメモリインタフェース14−1においては、プロセッサ13−0で発行された自メモリシステム11−1のメモリマクロ12−1に対するコマンドおよびアドレス(CMD/ADR)に基づいて、入力コマンドが解読され、コマンドに応じた、ライト、リード動作等に応じたメモリマクロ12に対するアクセスにおいて、衝突が起こらないアクセスタイミングが生成される。そして、コマンド/アドレスセレクタ141または142から生成したタイミングをもってコマンドおよびアドレスがメインメモリ121−1または第2メモリ122−1に転送される。
また、コマンド/アドレスセレクタ141または142からパスコントロール信号PCS1またはPCS2が生成されて、ライトデータパスセレクタ143および/またはリードデータパスセレクタ144に出力される。
【0058】
プロセッサ13−0で発行されたコマンドがライトコマンドの場合、メモリインタフェース14−1のライトデータパスセレクタ143において、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1またはPCS2を受けて、メモリシステム11−0のメモリインタフェース14−0から転送されたライトデータWDが、自メモリシステムのメモリマクロ12のメインメモリ121−1あるいは第2メモリ122−1に転送される。
そして、メモリシステム11−0のプロセッサ13−0により発行されたライトデータがメモリマクロ12−1のメインメモリ121−1または第2メモリ122−1に転送されて所望のアドレスのメモリセルにデータが書き込まれる。
【0059】
プロセッサ13−0で発行されたコマンドがリードコマンドの場合、メモリインタフェース14−1のリードデータパスセレクタ144において、コマンド/アドレスセレクタ141,142のパスコントロール信号PCS1またはPCS2を受けて、自メモリシステム11−1のメモリマクロ12−1のメインメモリ121−1あるいは第2メモリ122−1から読み出されて転送されたリードデータRDが、隣接のメモリシステム11−0のメモリインタフェース14−0のリードデータパスセレクタ144に転送される。
メモリインタフェース14−0のリードデータパスセレクタ144においては、隣接(異なる)メモリインタフェース14−1から転送された所望のデータがプロセッサ13−0に転送される。
【0060】
以上説明したように、本第1の実施形態によれば、各メモリシステム11−1〜11−nは、メモリマクロ12とプロセッサ13とを含み、各メモリマクロ12は、DRAM等により構成されるメインメモリ(第1メモリ:MEM1)121と、たとえばメインメモリ121により記憶容量の少ない記憶手段としての第2メモリ(MEM2)122とを含む階層型メモリ構造を有し、第2メモリ121は、データ転送可能なメモリインタフェース14を含んで構成され、異なるメモリシステム(本実施形態においては隣接するメモリシステム)のメモリマクロのメモリインタフェース同士が接続されていることから、メモリ間転送を外部回路なしに実現でき、また、メモリまでの配線を簡単化でき、面積増加と長距離配線による性能低下を防止でき、システムのスケーラビリティーの拡張性を上げることができる。
【0061】
また、本第1の実施形態のように、マルチプロセッサ構造のシステムにおいて、拡張性を確保するために、プロセッサに最適化されたメモリシステムを対になるように組み込むことにより、アプリケーションの必要とする処理能力に最適な数のプロセッサを搭載することができる。あるいは、半導体プロセスの進化により搭載可能なプロセッサ数が増えると、アーキテクチャを変更することなく、処理能力の向上を見込むことが可能となる。この際、メモリシステムへのアクセスする時間を軽減するためにメモリシステム階層構造を採用することが望ましい。
【0062】
また、本第1の実施形態によれば、アクセスされるデータを異なる一または複数のメモリシステムのメモリマクロに書き込む際にメモリマクロ間のデータ線を通してライトブロードキャストすることも可能であり、この場合、以下の効果を得ることも可能である。
すなわち、マルチプロセッサ構造のシステムにおいて、一般的なメモリシステムにはあるデータが複数のプロセッサに参照される場合、システムバスを使用して何回も同じデータをアクセスしなければならない。
これに対して、本第1の実施形態においては、メモリシステムにはメモリマクロ間のデータ線を通してライトブロードキャストでデータを複数のメモリマクロにコピーすることが可能になる。これによって、プロセッサは直近のローカルマクロにデータをアクセスすることが可能となる。その結果、無駄なデータ転送を軽減することが可能となってシステムバスの負荷を軽減することもでき、処理性能が向上となる。
【0063】
<第2実施形態>
図6は、本発明に係る共有メモリ装置の第2の実施形態を示すシステム構成図である。
【0064】
本第2の実施形態が上述した第1の実施形態と異なる点は、メモリマクロ12におけるメインメモリ121A(−0〜−N)を第1の実施形態と同様に高密度(高記憶容量)のメモリ(High-Density Memory: HDM)により構成し、第2メモリ122A(−0〜−n)をメインメモリより高速にアクセス可能な高速メモリ(High-Speed Memory: HSM)により構成したことにある。
【0065】
その他の構成は第1の実施形態と同様であり、本第2の実施形態によれば、上述した第1の実施形態の効果と同様の効果を得られることはもとより、プロセッサは高速メモリに対して高速にアクセスすることが可能となる。
また、後で詳述するように、高密度メモリをDRAMにより構成し、高速メモリをDRAMよりランダムアクセス性に優れたSRAMを適用してキャッシュメモリシステムを構成することができる。
【0066】
<第3実施形態>
図7は、本発明に係る共有メモリ装置の第3の実施形態を示すシステム構成図である。
【0067】
本第3の実施形態が上述した第1の実施形態と異なる点は、メモリマクロ12におけるメインメモリ121(−0〜−N)と階層メモリ構造をとる記憶手段を、レジスタファイルのような、一時的にデータを保持可能なワークバッファ(Work Buffer: WBF)122B(−0〜−n)により構成したことにある。
ワークバッファ122Bは、レジスタやフリップフロップ等により構成することが可能である。
【0068】
その他の構成は第1の実施形態と同様であり、本第2の実施形態によれば、上述した第1の実施形態の効果と同様の効果を得ることができる。
【0069】
<第4実施形態>
図8は、本発明に係る共有メモリ装置の第4の実施形態を示すシステム構成図である。
【0070】
本第4の実施形態が上述した第1の実施形態と異なる点は、メモリマクロの使用していなかったメモリインタフェースのポート、具体的には第1の実施形態においてメモリシステム11−0のメモリマクロ12−0に配置されたメモリインタフェース14−0の左側の入出力部(ポート)、並びに、メモリシステム11−nのメモリマクロ12−nに配置されたメモリインタフェース14−nの右側の入出力部(ポート)を、外部のメモリ(External Memory: EXMEM)20,21とのインタフェースとして用いたことにある。
【0071】
その他の構成は第1の実施形態と同様であり、本第4の実施形態によれば、上述した第1の実施形態の効果と同様の効果を得られることはもとより、以下の効果を得ることができる。
一般的には、外部メモリのデータ転送にシステムバスを使用するため、ピーク性能は、バスがネックになる可能性が高い。
これに対して、本第4の実施形態によれば、システムバスの負荷を軽減することが可能となり、結果として処理能力が上がるという利点がある。
【0072】
<第5実施形態>
図9は、本発明に係る共有メモリ装置の第5の実施形態を示すシステム構成図である。
【0073】
本第5の実施形態が上述した第2の実施形態と異なる点は、メモリマクロの使用していなかったメモリインタフェースのポート、具体的には第2の実施形態においてメモリシステム11A−0のメモリマクロ12A−0に配置されたメモリインタフェース14−0の左側の入出力部(ポート)、並びに、メモリシステム11A−nのメモリマクロ12A−nに配置されたメモリインタフェース14−nの右側の入出力部(ポート)を、外部のメモリ(External Memory: EXMEM)20A,21Aとのインタフェースとして用いたことにある。
【0074】
その他の構成は第2の実施形態と同様であり、本第5の実施形態によれば、上述した第1および2の実施形態の効果と同様の効果を得られることはもとより、以下の効果を得ることができる。
一般的には、外部メモリのデータ転送にシステムバスを使用するため、ピーク性能は、バスがネックになる可能性が高い。
これに対して、本第5の実施形態によれば、システムバスの負荷を軽減することが可能となり、結果として処理能力が上がるという利点がある。
【0075】
<第6実施形態>
図10は、本発明に係る共有メモリ装置の第6の実施形態を示すシステム構成図である。
図11は、図10の共有メモリ装置をより具体的に示すシステム構成図であり、図12は図11のメモリインタフェースをより具体的に示すシステム構成図である。
なお、図11および図12においては、簡単化のため、メモリシステムが4つの場合を示している。
【0076】
本第6の実施形態は基本的には、上述した第1および第2の実施形態と同様に、メモリマクロ12E(−0〜−n)をメインメモリ121E(−0〜−n)と第2メモリ122E(−0〜−n)との階層構造を有し、第2メモリ122E(−0〜−n)がメモリインタフェース14(−0〜−n)を含んで構成されている。
本第6の実施形態が上述した第1および第2の実施形態と異なる点は、メインメモリ121E(−0〜−n)をDRAM(0〜n)により構成し、第2メモリ122E(−0〜−n)をDRAMよりランダムアクセス性に優れたSRAMによりキャッシュ(Cache: CCH0〜n)として構成したことにある。以下、第2メモリをキャッシュといい、符号は第2メモリに付した122E(−0〜−n)を用いることとする。
そして、各キャッシュ122E(−0〜−n)がメモリインタフェース14(−0〜−n)を含んで構成されている。
【0077】
また、本第6の実施形態における各キャッシュ122E(−0〜−n)のタグメモリ(記憶部)16(−0〜−n)に記憶されるタグ情報には、全てのメモリシステム11E−0〜11E−nのキャッシュ情報を含んでいる。
また、本第6の実施形態においては、物理的な配置によりキャッシュメモリデータへのアクセス時間がアドレスによって変化する場合、上記タグ記憶部にアクセス時間情報が保持されるように構成される。
さらに、本第6の実施形態においては、各メモリシステム11E−0〜11E−nのキャッシュメモリのタグ記憶部が異なるメモリシステムのキャッシュメモリのタグ記憶部と互いにタグ情報を転送可能に接続されている。
また、各メモリシステムのメインメモリ121E(−0〜−n)は固有のアドレスを持ち、複数のメモリシステム全体で一つのメモリ空間を形成する。
【0078】
上述したように、本第6の実施形態は基本的には、上述した第1および第2の実施形態と同様に、メモリマクロ12E(−0〜−n)をメインメモリ121E(−0〜−n)と第2メモリ122E(−0〜−n)との階層構造を有し、第2メモリ122E(−0〜−n)がメモリインタフェース14(−0〜−n)を含んで構成され、メモリインタフェースの構成および機能は、第1の実施形態で説明したものと同様である。
ただし、図3に関連付けて説明した構成のコマンド/アドレスセレクタ142が、キャッシュのコマンド/アドレスをセレクトする。
したがって、以下では、キャッシュシステムに特徴付けられる点を中心に説明する。
【0079】
本第6の実施形態のようなマルチプロセッサ構造のシステムにおいて、拡張性を確保することができる。
そして、本実施形態のように、プロセッサ13−0〜13−nに最適化されたメモリシステム11E−0〜11E−nを対になるように組み込むことにより、アプリケーションの必要とする処理能力に最適な数のプロセッサを搭載することができる。もしくは半導体プロセスの進化により搭載可能なプロセッサ数が増えると、アーキテクチャを変更することなく、プロセッシング能力の向上を見込むことが可能となる。この際、メモリに求められる性能は2つ、容量と高速ランダムアクセス性である。そこで容量を確保するために、DRAMを採用した場合、DRAMはその構造上、SRAMに対しランダムアクセス性に劣る。そのデメリットを軽減するため、ランダムアクセス性に優れたSRAMをキャッシュメモリとして介在させる構造を採用している。
そして、この構成を実現する際、キャッシュメモリ122E−0〜122E−nを、隣接プロセッサ13−0〜13−nと共有し、より大きな容量のキャッシュメモリとすることにより、他プロセッサと共通のデータを重複してキャッシュメモリに保持する必要がなくなるため、効率が良くなり、性能を向上させることが可能となる。
本実施形態においては、キャッシュをメモリインタフェース間で接続することにより、プロセッサ13−0〜13−nは接続されるすべてのキャッシュデータを参照することが可能となる。
【0080】
また通常、キャッシュメモリのデータ属性を保持しているタグ(TAG)メモリ16は、ローカルキャッシュメモリの情報しか保持しない。このためプロセッサが高速にアクセスできるキャッシュメモリはそのプロセッサ固有のキャッシュメモリのみであり、容量は限られる。またミスヒットした場合、データはシステムバスを経由して下位メモリへアクセスするため、システムバスへの負荷も大きくなる。
これに対して、本第6の実施形態においては、すべてのキャッシュメモリ122E(−0〜−n)をメモリ上で接続し、すべてのキャッシュメモリ情報をローカルTAGに保持することにより、プロセッサは接続されるすべてのキャッシュメモリ情報へ高速にアクセスすることが可能となる。
【0081】
キャッシュメモリを本発明のような構造で適用する場合、キャッシュメモリの容量を増大させることが可能になる反面、プロセッサとキャッシュメモリの物理的な配置が遠くなり、データ転送を規定周波数内に終了できなくなるケースが想定される。
そこで、たとえば高周波数動作のアプリケーションに対しては、メモリ間のデータ転送をパイプライン構造とすることにより、高周波数を確保する。しかしこのような構造はキャッシュ内のデータがアドレスに応じて、アクセス時間が変化することを意味する。
そこで、本第6の実施形態においては、キャッシュのタグメモリ16内にデータのアクセス時間情報を追加することにより、プロセッサはアクセスに対しリプライが返ってくる時間を把握することが可能となる。
この構成は、図11および図12に具体的に示されている。
タグメモリ自体の構造は通常のものと同等であるが、たとえばキャッシュのどのアドレスにヒットしたかをプロセッサに知らせるために”ヒットフラグ(Hit Flag)”を用意する。そのフラグ(Flag)によってプロセッサ13−0〜13−nはデータにアクセスするのに必要な時間を知ることができる。
【0082】
本第6の実施形態のように、各キャッシュ122E(−0〜−n)に配置されているタグメモリ16−0〜16−nが、同列に接続されるすべてのキャッシュの情報を保持する場合、キャッシュのデータが書き換えられるたびに、すべてのタグメモリ16−0〜16−nの情報を更新する必要がある。
このため、本実施形態においては、図13および図14に示すように、TAGを独立した信号線(Coherency Path)17で接続することによりキャッシュのコヒーレンシーを確保している。
また、図15にタグ情報の一例を示している。
この例では、有効ビットとメインメモリアドレスを組として各キャッシュメモリごとに設定できるように構成されている。
【0083】
図11および図12に示すように、本第6の実施形態において、メモリシステムマクロとして提供するのは、図中DRAM、SRAM、メモリインタフェース(Memory I/F)のすべてを含んだシステムである。
【0084】
以下に、レイテンシィコントロール(Latency Control )、メモリインタフェース14、キャッシュシステムの概要について説明する。
【0085】
<レイテンシィコントロール(Latency Control )>
プロセッサ13がメインメモリのデータを読み出す場合、プロセッサ13はメインメモリ121E(この場合DRAM)のアドレスを発行する。
発行されたアドレスはまずタグメモリ16を参照することによりキャッシュ122E内に該当データが存在するかしないかの判断を行う。
ヒットした場合、タグメモリ16よりキャッシュデータへのアクセス時間が示されることにより、プロセッサはデータの入手できる時間を正確に把握することが可能となるため、FIFOの段数を予め設定するなどの準備をするための回路設計が容易になる。
また、ミスヒットした場合も、発行した主記憶のアドレスによりメモリのアクセス時間が予測できるため、(主記憶の物理的な場所によりアクセス時間が変化する)プロセッサをストールさせずに別プロセスを実行するなどの処理が可能となる。
【0086】
<メモリインタフェース>
メモリインタフェース14は、第1の実施形態ですでに説明したように、4つの回路ブロック141〜144から構成されている。アドレスは2系統あり、メインメモリ121Eのアドレスを扱うパスと、キャッシュ122Eのアドレスを扱うパスに分かれている。これはタグメモリ16で参照した結果を用いてキャッシュ122Eにアクセスすることにより、必要なデータ以外は読み出しを防ぐことができる。
図11および図12に示すように、プロセッサ直下にあるローカルメモリシステム以外のメモリアクセスには、すべてキャッシュ122E上で接続されたBUSを経由してデータ転送が行われる。複数のメモリを跨いでアクセスする場合は中継されるメモリインタフェース14でのローカルアクセスを行っているデータと干渉をさけるため、アドレスが、自身のメモリを指していない場合は、データをスルーさせる機能を持つ。
また、複数のアクセスが同じメモリに対して行われた場合は、メモリインタフェース14内に備えているアービタ(Arbiter)を用いて、調停される。
【0087】
調停(Arbitration)をスムースに行うために、本システムにおいて、以下の制約を設けている。
(1)ローカルメモリシステムへのアクセスを優先的に行う。
(2)上位アドレスのプロセッサのコマンドを優先させる。
(3)メインメモリへの書き込みはアドレスを先行して発行することにより経路を確定させた上で書き込みデータを発行する。
(4)メモリからの読み出しは、データ転送が完了するまで、システムはデータパスを保持する。
【0088】
<キャッシュシステム(Cache System )>
キャッシュシステムは、図11および図12に示すように、メモリインタフェース14を介して接続される。
キャッシュ間のコヒーレンシーはタグメモリ16の情報を更新することによって確保する。図14および図15に示すように、プロセッサ13によりキャッシュeデータが更新された場合、データと同時にローカルのタグメモリのタグ情報が更新される。更新されたタグメモリ16の情報は、図14に示すように、前述した”Coherency Path”17を通じて、順次、隣接するタグメモリ16のデータを更新していく。
この機構を実現するため、タグメモリ16は2 ポート(Port) RAMを採用し、通常データアクセスと同時に情報の更新ができるように構成される。
【0089】
<メインメモリへのアクセス>
メインメモリ121Eへのアクセスに関して、データの流れを図11および図12に関連付けて以下に説明する。
【0090】
<キャッシュにヒットした場合>
プロセッサより読み出しコマンドとアドレスを発行する。アドレスはタグメモリ16を参照し、データがキャッシュ122Eに存在していることが、ヒットフラグ(Hit Flag)をモニタすることにより判る。また同時にキャッシュ122Eのどの部分に該当データが存在することが判るため、レイテンシ情報としてプロセッサは認識する。ここでは、コマンドの発行をプロセッサ13−0から、ターゲットデータがキャッシュ122E−3にある場合を想定する。
データがキャッシュ122E−3に存在するため、キャッシュのアドレスがキャッシュ用コマンド/アドレスセレクタ142を通じてメモリシステム11E−3のキャッシュ122E−3まで伝播する。また、リードコマンドも同じコマンド/アドレスセレクタ142を介してキャッシュ122E−3まで伝播する。
その際、メモリシステム11E−1のキャッシュ122E−1とメモリシステム11E−2のキャッシュ122E−2のローカルメモリ(メインメモリ)121E−1,122E−2へのアクセスは制限を受けない。このアドレスとコマンドが伝播することにより、リードパス(Read Path)は、このコマンドのために占有される。
コマンドとアドレスがキャッシュ122E−3まで到達することにより、キャッシュ122E−3より該当データが読み出されリードパス(Read Path)を介してプロセッサ13−3までデータが伝播する。この際もコマンドおよびアドレスと同様にキャッシュ122E−1とキャッシュ122E−2のローカルメモリ(メインメモリ)へのアクセスは制限を受けない。そしてすべてのデータ転送が完了した時点で、リードパスは開放される。
【0091】
<キャッシュをミスした場合>
プロセッサより読み出しコマンドとアドレスを発行する。アドレスはタグメモリ16を参照し、データがキャッシュに存在していないことが判る。その時点で、発行したアドレスが、直接、メインメモリをアクセスする際に必要となるレイテンシが判る。ここではコマンドの発行をプロセッサ13−0から、ターゲットデータがメモリシステム11E−3にある場合を想定する。レイテンシが判ることにより、プロセッサは読み出しデータが得られるまでの時間が判るため、その待ち時間を利用して、別プロセスを実行することが可能となる(e.g. Super Scalar Processor)。
発行されたコマンドとアドレスはメイン用コマンド/アドレスセレクタ141を通じてメインメモリ121E−3(DRAM 3)まで伝播する。その際、メモリシステム11E−1のキャッシュ122E−1とメモリシステム11E−2のキャッシュ122E−2のローカルメモリ(メインメモリ)へのアクセスは制限を受けない。このアドレスとコマンドが伝播することにより、リードパス(Read Path)は、このコマンドのために占有される。
コマンドとアドレスがキャッシュ122E−3まで到達することにより、キャッシュ122E−3より該当データが読み出されリードパス(Read Path)を介してプロセッサ13−3までデータが伝播する。この際もコマンドおよびアドレスと同様にキャッシュ122E−1とキャッシュ122E−2のローカルメモリ(メインメモリ)へのアクセスは制限を受けない。そしてすべてのデータ転送が完了した時点で、リードパスは開放される。
【0092】
以上の構成によれば、マルチプロセッサシステムにおいてScalabilityを容易にできる。
各プロセッサは独立してメインメモリ(ローカルメモリ)に対してアクセスができるため、全体としてのデータ転送レートが上がり、処理能力が向上する。
【図面の簡単な説明】
【0093】
【図1】本発明に係る共有メモリ装置の第1の実施形態を示すシステム構成図である。
【図2】データパスを各メモリごとに有している構成を説明するための図である。
【図3】本発明に係るメモリインタフェースの一例を示す構成図である。
【図4】本実施形態におけるライトデータパスセレクタの具体的な構成例を示す回路図である。
【図5】本実施形態におけるリードトデータパスセレクタの具体的な構成例を示す回路図である。
【図6】本発明に係る共有メモリ装置の第2の実施形態を示すシステム構成図である。
【図7】本発明に係る共有メモリ装置の第3の実施形態を示すシステム構成図である。
【図8】本発明に係る共有メモリ装置の第4の実施形態を示すシステム構成図である。
【図9】本発明に係る共有メモリ装置の第5の実施形態を示すシステム構成図である。
【図10】本発明に係る共有メモリ装置の第6の実施形態を示すシステム構成図である。
【図11】図10の共有メモリ装置をより具体的に示すシステム構成図である。
【図12】図11のメモリインタフェースをより具体的に示すシステム構成図である。
【図13】タグメモリを独立した信号線で接続することによりコヒーレンシーを確保する構成を説明するための図である。
【図14】タグメモリを独立した信号線で接続することによりコヒーレンシーを確保する構成を説明するための図である。
【図15】本実施形態におけるタグ情報の一例を示す図である。
【図16】マルチプロセッサの一般的なアーキテクチャを示す図である。
【図17】クロスバーを用いたアーキテクチャを示す図である。
【符号の説明】
【0094】
10,10A〜10E…共有メモリ装置、11−0〜11−n,11A−0〜11A−n,11B−0〜11B−n、11E−0〜11E−n…メモリシステム、12−0〜12−n,12A−01〜12A−n,12B−0〜12B−n,12E−0〜12E−n…メモリマクロ、121−0〜121−n,121A−0〜121A−n,121B−0〜121B−n、121E−0〜121E−n…メインメモリ、122−0〜122−n,122A−0〜122A−n,122E−0〜122E−n…第2メモリ(キャッシュメモリ)、メインメモリ、122B−0〜122B−n…ワークバッファ、13−0〜13−n…プロセッサ、14−0〜14−n…メモリインタフェース、15−1,15−2…データパス、16−0〜16−n…タグメモリ、メモリインタフェース、20,20A,20B…外部メモリ。

【特許請求の範囲】
【請求項1】
メモリマクロと、情報処理装置とを含むメモリシステムを複数有し、
上記各メモリシステムのメモリマクロは、メインメモリと、データ転送可能なメモリインタフェースを含む記憶手段とを有し、
異なるメモリシステムの上記記憶手段のメモリインタフェース同士が接続され、
上記各メモリインタフェースは、上記情報処理装置とメインメモリまたは/および記憶手段間の情報の授受、並びに、異なるメモリシステムの記憶手段との情報の授受を行う
共有メモリ装置。
【請求項2】
上記記憶手段は、上記メインメモリより記憶容量の少ないメモリを含む
請求項1記載の共有メモリ装置。
【請求項3】
上記記憶手段は、上記メインメモリより記憶容量が少なく、かつ、メインメモリより高速アクセスが可能なメモリを含む
請求項1記載の共有メモリ装置。
【請求項4】
上記記憶手段は、データを一時的に保持可能な保持回路を含む
請求項1記載の共有メモリ装置。
【請求項5】
上記複数のメモリマクロにおけるメモリインタフェースのうち、他のメモリマクロと接続関係にない入出力部が外部装置と接続されている
請求項1記載の共有メモリ装置。
【請求項6】
上記複数のメモリマクロにおけるメモリインタフェースのうち、他のメモリマクロと接続関係にない入出力部が外部装置と接続されている
請求項3記載の共有メモリ装置。
【請求項7】
上記メモリインタフェースは、上記プロセッサと上記メインメモリとのデータパスと、上記プロセッサと上記記憶手段とのデータパスを独立して有する
請求項1記載の共有メモリ装置。
【請求項8】
上記メモリインタフェースは、上記プロセッサと上記メインメモリとのデータパスと、上記プロセッサと上記記憶手段とのデータパスを独立して有する
請求項3記載の共有メモリ装置。
【請求項9】
上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または/および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわる情報を自メモリシステムのメインメモリ、記憶手段、または異なるメモリシステムのメモリインタフェースに転送する
請求項1記載の共有メモリ装置。
【請求項10】
メモリマクロと、プロセッサとを含むメモリシステムを複数有し、
上記各メモリシステムのメモリマクロは、メインメモリと、データ転送可能なメモリインタフェースを含むキャッシュメモリとを有し、
異なるメモリシステムの上記キャッシュメモリのメモリインタフェース同士が接続され、
上記各メモリインタフェースは、前記プロセッサとメインメモリまたは/およびキャッシュメモリ間の情報の授受、並びに、異なるメモリシステムのキャッシュメモリとの情報の授受を行い、
上記各メモリシステムのキャッシュメモリはタグ情報を記憶するタグ記憶部を有し、
上記タグ記憶部に記憶される情報は異なるメモリシステムのキャッシュ情報を含んでいる
共有メモリ装置。
【請求項11】
物理的な配置によりキャッシュメモリデータへのアクセス時間がアドレスによって変化する場合、上記タグ記憶部にアクセス時間情報が保持される
請求項10記載の共有メモリ装置。
【請求項12】
上記各メモリシステムのキャッシュメモリのタグ記憶部が異なるメモリシステムのキャッシュメモリのタグ記憶部と互いにタグ情報を転送可能に接続されている
請求項10記載の共有メモリ装置。
【請求項13】
上記各メモリシステムのメインメモリは固有のアドレスを持ち、複数のメモリシステム全体で一つのメモリ空間を形成する
請求項10記載の共有メモリ装置。
【請求項14】
上記メモリインタフェースは、上記プロセッサと上記メインメモリとのデータパスと、上記プロセッサと上記キャッシュメモリとのデータパスを独立して有する
請求項10記載の共有メモリ装置。
【請求項15】
上記メモリインタフェースは、自メモリシステムの上記プロセッサ、または/および異なるメモリシステムのメモリマクロのメモリインタフェースから転送されたコマンドおよびアドレスを受けて、入力したコマンドおよびアドレスに対応したパスが自メモリシステムにあるか否かの判別結果に応じてデータパスを選択して、アクセスにかかわる情報を自メモリシステムのプロセッサ、メインメモリ、または/およびキャッシュメモリに転送し、または異なるメモリシステムのメモリインタフェースに転送する
請求項10記載の共有メモリ装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−221433(P2006−221433A)
【公開日】平成18年8月24日(2006.8.24)
【国際特許分類】
【出願番号】特願2005−34446(P2005−34446)
【出願日】平成17年2月10日(2005.2.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】