(57)【要約】【課題】複数のプロセッサエレメントを使用した場合においても、キャッシュアクセス時間を短縮することができ、且つキャッシュコヒレンシの低減をはかる。【解決手段】複数のプロセッサエレメント１１と、プロセッサエレメント１１との間でデータの授受を行う複数のキャッシュメモリ１３と、プロセッサエレメント１１とキャッシュメモリ１３との間に設けられ、プロセッサエレメント１１とキャッシュメモリ１３との接続関係を切り替える３次元クロスバーバス回路１２と、プロセッサエレメント１１からの要求に応じてクロスバーバス回路１２の接続の切り替えを制御するスイッチ制御部１４と、を具備したキャッシュシステムであって、キャッシュメモリ１３はそれぞれ一定範囲のアドレスのデータ又はインストラクションを格納可能で、キャッシュメモリ１３毎に異なるアドレスが割り当てられている。【選択図】      図１
2010198129.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが動作するための演算処理機能を有する複数のプロセッサエレメントと、
前記プロセッサエレメントとの間でデータの授受を行う複数のキャッシュメモリと、
前記プロセッサエレメントとキャッシュメモリとの間に設けられ、前記プロセッサエレメントとキャッシュメモリとの接続関係を切り替える３次元クロスバーバス回路と、
前記プロセッサエレメントからの要求に応じて前記クロスバーバス回路の接続の切り替えを制御するスイッチ制御部と、
を具備し、
前記キャッシュメモリはそれぞれ一定範囲のアドレスのデータ又はインストラクションを格納可能で、前記キャッシュメモリ毎に異なるアドレスが割り当てられていることを特徴とするキャッシュシステム。
【請求項２】
コンピュータが動作するための演算処理機能を有し、異なるｍ層に配置されたｍ個（ｍは偶数）のプロセッサエレメントと、前記ｍ層にそれぞれ配置され、前記プロセッサエレメントとの間でデータの授受を行うｍ個のＬ２キャッシュメモリと、前記プロセッサエレメントとＬ２キャッシュメモリとの間に前記ｍ層に亘って設けられ、前記プロセッサエレメントとＬ２キャッシュメモリとの接続関係を切り替える３クロスバーバス回路と、を有するキャッシュシステム要素と、
前記プロセッサエレメントからの要求に応じて前記クロスバーバス回路の接続の切り替えを制御するスイッチ制御部と、
を具備し、
前記Ｌ２キャッシュメモリは、それぞれ一定範囲のアドレスのデータ又はインストラクションを格納可能で、前記Ｌ２キャッシュメモリ毎に異なるアドレスが割り当てられていることを特徴とするキャッシュシステム。
【請求項３】
請求項２に記載のキャッシュシステム要素をｎ個と、
前記キャッシュシステム要素内のプロセッサエレメント及びＬ２キャッシュメモリとは異なる層に配置され、前記キャッシュシステム要素のＬ２キャッシュメモリとの間でデータの授受を行う２つのＬ３キャッシュメモリと、
前記キャッシュシステム要素のうちのｍ／２個のキャッシュシステム要素内の各Ｌ２キャッシュメモリを一方のＬ３キャッシュメモリに接続し、残りのキャッシュシステム要素内の各Ｌ２キャッシュメモリを他方のＬ３キャッシュメモリに接続する３次元コモンバスと、
を具備したことを特徴とするキャッシュシステム。
【請求項４】
請求項２に記載のキャッシュシステム要素をｎ個と、
前記キャッシュシステム要素のＬ２キャッシュメモリと同じｍ層に設けられ、前記Ｌ２キャッシュメモリとの間でデータの授受を行うｍ個のＬ３キャッシュメモリと、
前記Ｌ２キャッシュメモリのｎ個を１組にして１つのＬ３キャッシュメモリに接続すると共に、前記キャッシュシステム要素内の同一アドレスが割り当てられた同一層のＬ２キャッシュメモリ同士を同じ層のＬ３キャッシュメモリに接続する２次元コモンバスと、
を具備したことを特徴とするキャッシュシステム。
【請求項５】
請求項２に記載のキャッシュシステム要素をｎ個と、
前記キャッシュシステム要素のＬ２キャッシュメモリとは異なる層に設けられ、前記Ｌ２キャッシュメモリとの間でデータの授受を行うｍ個のＬ３キャッシュメモリと、
前記Ｌ２キャッシュメモリのｎ個を１組にして１つのＬ３キャッシュメモリに接続すると共に、前記キャッシュシステム要素内の同一アドレスが割り当てられた同一層のＬ２キャッシュメモリ同士を同じＬ３キャッシュメモリに接続する３次元コモンバスと、
を具備したことを特徴とするキャッシュシステム。
【請求項６】
請求項２に記載のキャッシュシステム要素をｎ個と、
前記キャッシュシステム要素のＬ２キャッシュメモリと同じｍ層にｎ個ずつ設けられ、前記Ｌ２キャッシュメモリとの間でデータの授受を行うｍ×ｎ個のＬ３キャッシュメモリと、
前記キャッシュシステム要素のＬ２キャッシュメモリと前記Ｌ３キャッシュメモリとの間に設けられ、前記Ｌ２キャッシュメモリと前記Ｌ３キャッシュメモリとの接続関係を切り替えるＬ３キャッシュ用２次元クロスバーバス回路と、
を具備し、
前記Ｌ３キャッシュメモリは同じ層のｎ個を１組にしてｍ組が設けられ、各々の組には前記Ｌ２キャッシュメモリと同じｍ種のアドレスが別々に割り当てられ、各々の組のＬ３キャッシュメモリには、対応するＬ２キャッシュメモリのアドレスが別々に割り当てられ、
前記Ｌ３キャッシュ用２次元クロスバーバス回路は、前記キャッシュメモリ要素の同じ層のｎ個のＬ２キャッシュメモリのデータを同じ層のｎ個のＬ３キャッシュメモリの何れかに接続するものであることを特徴とするキャッシュシステム。
【請求項７】
請求項２に記載のキャッシュシステム要素をｎ個と、
前記キャッシュシステム要素のＬ２キャッシュメモリとは異なる層に設けられ、前記キャッシュシステム要素のＬ２キャッシュメモリとの間でデータの授受を行うｍ×ｎ個のＬ３キャッシュメモリと、
前記キャッシュシステム要素のＬ２キャッシュメモリと前記Ｌ３キャッシュメモリとの間に設けられ、前記Ｌ２キャッシュメモリと前記Ｌ３キャッシュメモリとの接続関係を切り替えるＬ３キャッシュ用３次元クロスバーバス回路と、
を具備し、
前記Ｌ３キャッシュメモリはｎ個を１組にしてｍ組が設けられ、各々の組には前記Ｌ２キャッシュメモリと同じｍ種のアドレスが別々に割り当てられ、各々の組のＬ３キャッシュメモリには、対応するＬ２キャッシュメモリのアドレスが別々に割り当てられ、
前記Ｌ３キャッシュ用３次元クロスバーバス回路は、同一アドレス範囲が割り付けられたｎ個のＬ２キャッシュメモリを対応する組の何れかのＬ３キャッシュメモリに接続するものであることを特徴とするキャッシュシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサ化に適合したクロスバーバス回路を用いたキャッシュシステムに関する。
【背景技術】
【０００２】
近年、マルチプロセッサ化に伴い、階層化キャッシュが用いられるようになっている。階層化キャッシュを用いると、キャッシュコヒレンシの問題が表れ、それによりキャッシュアクセスがより複雑にかつ時間のかかるものとなってきている。
【０００３】
キャッシュアクセスの時間を短縮するために、複数のプロセッサエレメントとプロセッサエレメント専用のＬ２キャッシュを持ち、Ｌ２キャッシュが主記憶若しくはＬ３キャッシュと接続されているような占有キャッシュ型のマルチプロセッサ回路が使用されている。各プロセッサエレメントは、データ読み出し若しくは書き込み要求を専用のキャッシュに要求する。仮に読み出し要求の時、もしＬ２キャッシュに該当データがあった場合、そのデータを直ぐにプロセッサエレメントに転送することができるため、非常に高速に要求実行を行うことができる。
【０００４】
反面、プロセッサエレメントの数が増えると、専用のキャッシュがその分必要となるため、１つ１つの占有キャッシュの容量をさほど増やすことができなくなる。そのため、キャッシュに格納可能な総データ容量を増やすことができず、キャッシュヒット率が低くなってしまう。さらに、プロセッサエレメントからデータの書き込み要求が行われ、キャッシュの値が更新された場合、それを他のキャッシュ上のデータにも反映させる、いわゆるキャッシュコヒレンシの問題が生じるため、時間がかかってしまう欠点も存在する。
【０００５】
別の方法として、複数のプロセッサエレメントと複数のＬ２キャッシュをクロスバーバス回路で連結し、アクセスするキャッシュ先を、アドレスの一部のビットを使用して決定し、クロスバーバス回路を介してアクセスする方法が提案されている。しかしこの方法は、プロセッサエレメント外のシステムとして使用すると、クロスバー制御のアービトレーション時間に加えて、プロセッサエレメントが大きいためプロセッサエレメント数が増加すると、クロスバーバス回路内の配線長が長くなり、その影響で配線遅延が増大するという問題が発生する。このため、クロスバーバス化したことによるアクセス時間短縮の利点が相殺されてしまうという欠点がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１６３１４９号公報
【特許文献２】特開２００６−１７９０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、プロセッサエレメントの数が増えた場合においても、キャッシュアクセス時間を短縮することができ、且つキャッシュコヒレンシの低減をはかり得るキャッシュシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係わるキャッシュシステムは、コンピュータが動作するための演算処理機能を有する複数のプロセッサエレメントと、前記プロセッサエレメントとの間でデータの授受を行う複数のキャッシュメモリと、前記プロセッサエレメントとキャッシュメモリとの間に設けられ、前記プロセッサエレメントとキャッシュメモリとの接続関係を切り替える３次元クロスバーバス回路と、前記プロセッサエレメントからの要求に応じて前記クロスバーバス回路の接続の切り替えを制御するスイッチ制御部と、を具備し、前記キャッシュメモリはそれぞれ一定範囲のアドレスのデータ又はインストラクションを格納可能で、前記キャッシュメモリ毎に異なるアドレスが割り当てられていることを特徴とする。
【０００９】
また、本発明の別の一態様に係わるキャッシュシステムは、コンピュータが動作するための演算処理機能を有し、異なるｍ層に配置されたｍ個（ｍは偶数）のプロセッサエレメントと、前記ｍ層にそれぞれ配置され、前記プロセッサエレメントとの間でデータの授受を行うｍ個のＬ２キャッシュメモリと、前記プロセッサエレメントとＬ２キャッシュメモリとの間に前記ｍ層に亘って設けられ、前記プロセッサエレメントとＬ２キャッシュメモリとの接続関係を切り替える３クロスバーバス回路と、を有するキャッシュシステム要素と、前記プロセッサエレメントからの要求に応じて前記クロスバーバス回路の接続の切り替えを制御するスイッチ制御部と、を具備し、前記Ｌ２キャッシュメモリは、それぞれ一定範囲のアドレスのデータ又はインストラクションを格納可能で、前記Ｌ２キャッシュメモリ毎に異なるアドレスが割り当てられていることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のプロセッサエレメントを使用した場合においても、キャッシュアクセス時間を短縮することができ、且つキャッシュコヒレンシの低減をはかることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係わるキャッシュシステムの回路構成を示すブロック図。
【図２】図１のキャッシュシステムの層構造を示す斜視図。
【図３】第１の実施形態に用いた３次元クロスバーバス回路の構成を示す図。
【図４】第１の実施形態の動作を説明するためのフローチャート。
【図５】第２の実施形態に係わる３次元クロスバーバス・３次元コモンバス複合型階層化キャッシュシステムの回路構成を示すブロック図。
【図６】図５のキャッシュシステムの層構造を示す斜視図。
【図７】第３の実施形態に係わる３次元クロスバーバス・２次元コモンバス複合型階層化キャッシュシステムの回路構成を示すブロック図。
【図８】図７のキャッシュシステムの層構造を示す斜視図。
【図９】第４の実施形態に係わる３次元クロスバーバス・３次元コモンバス複合型階層化キャッシュシステムの層構造を示す斜視図。
【図１０】第５の実施形態に係わる３次元クロスバーバス・２次元クロスバーバス複合型階層化キャッシュシステムの回路構成を示すブロック図。
【図１１】図１０のキャッシュシステムの層構造を示す斜視図。
【図１２】第６の実施形態に係わる３次元クロスバーバス階層化キャッシュシステムの層構造を示す斜視図。
【発明を実施するための形態】
【００１２】
以下、本発明の詳細を図示の実施形態によって説明する。
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる３次元キャッシュシステムの回路構成を示すブロック図である。
【００１４】
図中の１１（１１−１，１１−２，１１−３，１１−４）はプロセッサエレメント、１２は３次元クロスバーバス回路、１３（１３−１，１３−２，１３−３，１３−４）はＬ２キャッシュ（レベル２キャッシュメモリ：２次キャッシュメモリ）、１４は３次元クロスバーバス回路１２のスイッチ状態を制御するスイッチ制御部、１５はＬ３キャッシュ（レベル３キャッシュメモリ：３次キャッシュメモリ）である。
【００１５】
プロセッサエレメント１１は、コンピュータが動作するための演算処理機能を有するもので、３次元クロスバーバス回路１２のプロセッサ用バス１６に接続されている。Ｌ２キャッシュ１３は、プロセッサエレメント１１との間でデータ又はインストラクションの授受を行うもので、３次元クロスバーバス回路１２のキャッシュ用バス１７に接続されている。また、Ｌ２キャッシュ１３とＬ３キャッシュ１５とは、コモンバス１８によって接続されている。
【００１６】
図２は、図１のキャッシュシステムの層構造を示す斜視図である。プロセッサエレメント１１はそれぞれ異なる層に配置されており、同じようにＬ２キャッシュ１３もまたそれぞれ異なる層に配置されている。そして、プロセッサエレメント１１とＬ２キャッシュ１３は３次元クロスバーバス回路１２を挟んで配置されている。３次元クロスバーバス回路１２は、２次元クロスバーバス回路を４つの領域に分割して、４層の３次元積層回路に振り分けたものであり、４対のプロセッサエレメント１１とＬ２キャッシュ１３との間の接続を可能にする回路となっている。
【００１７】
３次元クロスバーバス回路１２のスイッチは、スイッチ制御部１４によって出力される状態信号線Ｄによって制御される。各Ｌ２キャッシュ１３は、それぞれ異なるアドレス範囲のデータを格納可能であり、全キャッシュ１３で全アドレス範囲をカバーするようになっている。即ち、３次元クロスバーバス回路１２は、格納データアドレス指定キャッシュ付きとなっている。
【００１８】
プロセッサエレメント１１からの転送要求は、転送要求線Ａによりスイッチ制御部１４に与えられる。スイッチ制御部１４からの転送許可は、転送許可信号線Ｂによりプロセッサエレメント１１に与えられる。Ｌ２キャッシュ１３からの転送可能は、転送可能線Ｃによりスイッチ制御部１４に与えられる。スイッチ制御部１４からの切り換え信号は、状態信号線Ｄにより２次元クロスバーバス回路１２に与えられる。
【００１９】
なお、３次元クロスバーバス回路１２は一般的な構成であればよく、例えば図３に示すように、ＴＳＶ（Ｓｉ貫通ビア）配線４０１の先に各層のマルチプレクサ４０２をおいて、マルチプレクサ４０２によりアクセスを制御させる構造となっている。
【００２０】
配線４０１の（１）の部分はＰＥ１（プロセッサエレメント１１−１）若しくはＬ２−１（Ｌ２キャッシュ１３−１）と接続、（２）の部分はＰＥ−２若しくはＬ２−２と接続、（３）の部分はＰＥ−３若しくはＬ２−３と接続、（４）の部分はＰＥ−４若しくはＬ２−４と接続されている。
【００２１】
この回路において、全てのプロセッサエレメントは要求があった場合、ＴＳＶ配線４０３を使用して要求フラグを送る。それぞれのＴＳＶは各プロセッサエレメント若しくはキャッシュに固有に割り当てられている。各層のアービタ４０４は、配線４０３からの信号に要求信号があった場合、４０５からのアドレス信号から、その層のＬ２キャッシュへのアクセス要求があるかどうかを確認する。アクセス要求有の場合、Ｌ２キャッシュからの空き信号を確認し、空いていたら転送するために、マルチプレクサ４０２に選択信号を転送し、アクセスを開始させる。このとき、複数のアクセス要求があったならば、アービタ４０４により１つを選択する。アクセス要求がなかった場合は、何もしない。データが転送完了したら、アービタ４０４を通してプロセッサエレメントまで終了信号を送る。
【００２２】
次に、上記構成されたキャッシュシステムの動作について、図４のフローチャートを参照して説明する。
【００２３】
まず、プロセッサエレメント１１からデータの読み出し若しくは書き込み信号が出たとする（ステップＳ１）。このとき、読み出し，書き込みに拘わらず、アドレスビットから参照先のＬ２キャッシュ１３を決定する（ステップＳ２）。そして、該当Ｌ２キャッシュ１３からの転送可能線Ｃがアイドル状態か否かを判定する（ステップＳ３）。Ｓ３において、アイドル状態でない場合は、アイドル状態になるまで待つ。アイドル状態ならば、スイッチ制御部１４においてそこまでの経路を決定し、その経路をとるようなスイッチの切り替え信号を３次元クロスバーバス回路１２のスイッチに反映させる。さらに、転送許可信号をプロセッサエレメント１１に出力し、データ処理を開始させる（ステップＳ４）。
【００２４】
このように本実施形態によれば、４個のプロセッサエレメント１１と４個のＬ２キャッシュ１３を３次元クロスバーバス回路１２により接続しているため、１つ１つの占有キャッシュの容量をさほど増やすことなく、キャッシュアクセス時間を短縮することができる。
【００２５】
また、各キャッシュにそれぞれ異なるアドレス範囲のデータを格納可能とし、データ格納キャッシュの場所が１つに限定されるため、該当データにアクセスするために複数回キャッシュにアクセスする必要性がある欠点を回避することができる。さらに、データは複数のキャッシュ上に格納されることがないため、Ｌ２キャッシュでのキャッシュコヒレンシの問題を回避することが可能となる。しかも、３次元クロスバーバス回路１２を用いることにより、２次元クロスバーバス回路を用いた場合と比較して、クロスバー部分の配線遅延を減らすことが可能となる。
【００２６】
なお、本実施形態においてはクロスバーの経路演算に若干の時間が必要となるが、数ビット分の比較作業によるスイッチ切り替えの演算が必要になる以外は、余分に必要な時間は発生しない。このため、全体のアクセス時間への影響を少なく済ませることが可能である。
【００２７】
（第２の実施形態）
図５及び図６は、本発明の第２の実施形態に係わる３次元キャッシュシステムを説明するためのもので、図５は回路構成を示すブロック図、図６は層構造を示す斜視図である。なお、図１及び図２と同一部分には同一符号を付して、その詳しい説明は省略する。
【００２８】
本実施形態は、１６個のプロセッサエレメント、１６個のＬ２キャッシュ、２個のＬ３キャッシュからなる３次元クロスバーバス・３次元コモンバス複合型階層化キャッシュシステムである。
【００２９】
このシステムは、４つの３次元クロスバーバスサブ回路１００（１００−１，１００−２，１００−３，１００−４）と、サブ回路１００内の各Ｌ２キャッシュ１３と２つのＬ３キャッシュ３５（３５−１，３５−２）とを結ぶ３次元コモンバス３８とからなっている。
【００３０】
３次元クロスバーバスサブ回路１００は、前記図１及び図２で説明したように、４つのプロセッサエレメント１１，４つのＬ２キャッシュ１３，及び３次元クロスバーバス回路１２によって構成され、図２と同じ配置で接続されている回路である。２個のＬ３キャッシュ３５はクロスバーバスサブ回路１００とは異なる層に配置され、３次元コモンバス３８を通して、それぞれ２個のサブ回路１００内の全てのＬ２キャッシュ８個とコモンバスで接続されている。即ち、Ｌ３キャッシュ３５−１はサブ回路１００−１，１００−２のＬ２キャッシュ１３と接続され、Ｌ３キャッシュ３５−２はサブ回路１００−３，１００−４のＬ２キャッシュ１３と接続されている。
【００３１】
このような構成であれば、第１の実施形態と同様の効果が得られるのは勿論のこと、Ｌ３キャッシュ３５を共有することにより、より多くのマルチプロセッサ化が可能となる。
【００３２】
（第３の実施形態）
図７及び図８は、本発明の第３の実施形態に係わる３次元キャッシュシステムを説明するためのもので、図７は回路構成を示すブロック図、図８は層構造を示す斜視図である。なお、図１及び図２と同一部分には同一符号を付して、その詳しい説明は省略する。
【００３３】
本実施形態は、１６個のプロセッサエレメント、１６個のＬ２キャッシュ、４個のＬ３キャッシュからなる３次元クロスバーバス・２次元コモンバス複合型階層化キャッシュシステムである。
【００３４】
このシステムは、前記図６と同じように配置された４つの３次元クロスバーバスサブ回路１００（１００−１，１００−２，１００−３，１００−４）と、サブ回路１００内の各Ｌ２キャッシュ１３と４つのＬ３キャッシュ５５（５５−１，５５−２，５５−３，５５−４）とを結ぶ４つの２次元コモンバス５８とからなっている。
【００３５】
また、各バス回路１００上のＬ２キャッシュ部分が向かい合うように配置され、同じ層には同じアドレス範囲のデータを格納するＬ２キャッシュを配置している。さらに、４つのＬ３キャッシュ５５は、Ｌ２キャッシュ１３と同じ４層に配置されている。そして、各層上で２次元コモンバス５８を用いて、同一層の４つのＬ２キャッシュ１３と１つのＬ３キャッシュ５５を接続している。ここで、Ｌ３キャッシュ５５の格納可能アドレス範囲は、接続されているＬ２キャッシュ１３の領域と同じである。また、Ｌ３キャッシュ５５はバスを介してＤＲＡＭ３６と接続されている。これにより、４つのバス回路１００内の同一アドレスが割り当てられたＬ２キャッシュ１３同士を同じＬ３キャッシュ５５に接続するものとなっている。
【００３６】
このような構成であれば、先の第１の実施形態と同様の効果が得られるのは勿論のこと、次のような効果も得られる。即ち、コヒレンシ制御を行わなければならないが、その制御先が決められているため、プロセッサエレメント数が増えてもその時間が爆発的に増えない利点がある。また、それ以外のキャッシュに関するキャッシュアクセスは行うことができ、キャッシュアクセスの並列化が可能である。
【００３７】
（第４の実施形態）
図９は、本発明の第４の実施形態に係わる３次元キャッシュシステムの層構造を示す斜視図である。なお、図８と同一部分には同一符号を付して、その詳しい説明は省略する。
【００３８】
本実施形態は、基本的な回路構成は前記図７と同様であり、１６個のプロセッサエレメント、１６個のＬ２キャッシュ、４個のＬ３キャッシュからなる３次元クロスバーバス・３次元コモンバス複合型階層化キャッシュシステムである。
【００３９】
このシステムは、前記図８と同じように配置された４つの３次元クロスバーバスサブ回路１００（１００−１，１００−２，１００−３，１００−４）と、サブ回路１００内の各Ｌ２キャッシュ１３と４つのＬ３キャッシュ５５（５５−１，５５−２，５５−２，５５−３）とを結ぶ３次元コモンバス７８とからなっている。
【００４０】
また、各バス回路１００上のＬ２キャッシュ部分が向かい合うように配置され、同じ層には同じアドレス範囲のデータを格納するＬ２キャッシュを配置している。さらに、４つのＬ３キャッシュ５５は、第３の実施形態とは異なり、Ｌ２キャッシュ１３とは異なる層に配置されている。Ｌ３キャッシュ５５は、２つの層に２つずつ配置されているが、４つの層にそれぞれ配置するようにしてもよい。そして、各層上で３次元コモンバス７８を用いて、同一層の４つのＬ２キャッシュ１３と１つのＬ３キャッシュ５５を接続している。ここで、Ｌ３キャッシュ５５の格納可能アドレス範囲は、接続されているＬ２キャッシュ１３の領域と同じである。
【００４１】
このような構成であっても、第３の実施形態と同様の効果が得られる。
【００４２】
（第５の実施形態）
図１０及び図１１は、本発明の第５の実施形態に係わる３次元キャッシュシステムを説明するためのもので、図１０は回路構成を示すブロック図、図１１は層構造を示す斜視図である。なお、図１及び図２と同一部分には同一符号を付して、その詳しい説明は省略する。
【００４３】
本実施形態は、１６個のプロセッサエレメント、１６個のＬ２キャッシュ、１６個のＬ３キャッシュからなる３次元クロスバーバス・２次元クロスバーバス複合型階層化キャッシュシステムである。
【００４４】
このシステムは、前記図７及び図８の構成において、Ｌ３キャッシュを４個ではなく１６個設け、２次元コモンバス５８の代わりに４つの２次元クロスバーバス回路８８（８８−１，８８−２，８８−３，８８−４）を設けたものとなっている。
【００４５】
ここで、Ｌ３キャッシュ８５は同じ層の４個が１組で４つの層にそれぞれ設けられており、同一層の１組がＬ２キャッシュ１３の１つ分のアドレスに対応するものとなっている。即ち、Ｌ３キャッシュ８５の各々の組には前記Ｌ２キャッシュ１３と同じ４種のアドレスが別々に割り当てられ、各々の組のＬ３キャッシュ８５には、対応するＬ２キャッシュ１３のアドレスが別々に割り当てられている。
【００４６】
また、各層上で２次元クロスバーバス回路８８を用いて、４つのＬ２キャッシュと４つのＬ３キャッシュを接続している。ここで、同じ層上の４つのＬ３キャッシュの格納可能アドレス範囲は接続されているＬ２キャッシュのアドレス範囲の一部であり、かつそれぞれのＬ３キャッシュのアドレス範囲は重複することなく、またＬ２キャッシュに格納可能なデータも必ず、Ｌ３キャッシュに格納可能であることを保障するようになっているとする。
【００４７】
即ち、２次元クロスバーバス回路８８−１には、４つのサブ回路１００内の各Ｌ２キャッシュ１３−１と、Ｌ３キャッシュ８５の第１組（８５−１）が接続される。２次元クロスバーバス回路８８−２には、４つのサブ回路１００内の各Ｌ２キャッシュ１３−２と、Ｌ３キャッシュ８５の第２組（８５−２）が接続される。２次元クロスバーバス回路８８−３には、４つのサブ回路１００内の各Ｌ２キャッシュ１３−３と、Ｌ３キャッシュ８５の第３組（８５−３）が接続される。２次元クロスバーバス回路８８−４には、４つのサブ回路１００内の各Ｌ２キャッシュ１３−４と、Ｌ３キャッシュ８５の第４組（８５−４）が接続される。
【００４８】
このような構成であっても、第３の実施形態と同様の効果が得られる。
【００４９】
（第６の実施形態）
図１２は、本発明の第１０の実施形態に係わる３次元キャッシュシステムの層構造を示す斜視図である。なお、図１１と同一部分には同一符号を付して、その詳しい説明は省略する。
【００５０】
本実施形態は、１６個のプロセッサエレメント、１６個のＬ２キャッシュ、１６個のＬ３キャッシュからなる３次元クロスバーバス階層化キャッシュシステムである。
【００５１】
このシステムは、前記図１１と同じように配置された４つの３次元クロスバーバスサブ回路１００（１００−１，１００−２，１００−３，１００−４）と、サブ回路１００内の各Ｌ２キャッシュ１３と１６個のＬ３キャッシュ８５とを結ぶ３次元クロスバーバス回路９９とからなっている。
【００５２】
ここで、Ｌ３キャッシュ８５はＬ２キャッシュ１３とは異なる層に設けられ、Ｌ３キャッシュ８５は同じ層の４個が１組で４つの層にそれぞれ設けられており、１組でＬ２キャッシュ１３の１つ分のアドレスに対応するものとなっている。即ち、Ｌ３キャッシュ８５の各々の組には前記Ｌ２キャッシュ１３と同じ４種のアドレスが別々に割り当てられ、各々の組のＬ３キャッシュ８５には、対応するＬ２キャッシュ１３のアドレスが別々に割り当てられている。
【００５３】
即ち、図１１の例と同様に、同じ層上の４つのＬ３キャッシュの格納可能アドレス範囲は接続されるＬ２キャッシュのアドレス範囲の一部であり、かつそれぞれのＬ３キャッシュのアドレス範囲は重複することなく、またＬ２キャッシュに格納可能などのデータも必ず、Ｌ３キャッシュに格納可能であることを保障するようになっている。
【００５４】
このような構成であっても、第５の実施形態と同様の効果が得られる。
【００５５】
（変形例）
なお、本発明は上述した各実施形態に限定されるものではない。第１の実施形態では、プロセッサエレメントとＬ２キャッシュメモリを共に４個としたが、これに限らず複数個であれば実現することができる。さらに、プロセッサエレメントとＬ２キャッシュメモリの数は必ずしも同一である必要はなく、Ｌ２キャッシュメモリの数をプロセッサエレメントの数より少なくすることも可能である。同様に、第２〜第６の実施形態において、キャッシュシステム要素の数は必ずしも４個に限るものではなく、仕様に応じて適宜変更可能である。
【００５６】
また、本発明に用いるプロセッサエレメントとＬ２キャッシュメモリとを接続するためのクロスバーバス回路の構成は実施形態に何ら限定されるものではなく、仕様に応じて適宜変更可能である。同様に、Ｌ２キャッシュメモリとＬ３キャッシュメモリとを接続するためのコモンバスやクロスバーバス回路の構成も、仕様に応じて適宜変更可能である。
【００５７】
その他、本発明の要旨を逸脱しない範囲で、種々変形して実施することができる。
【符号の説明】
【００５８】
１１…プロセッサエレメント
１２…３次元クロスバーバス回路
１３…Ｌ２キャッシュ（キャッシュメモリ）
１４…スイッチ制御部
１５，３５，５５，８５…Ｌ３キャッシュ
１６…プロセッサ用バス
１７…キャッシュ用バス
１８…コモンバス
３６…ＤＲＡＭ
５８…Ｌ３キャッシュ用２次元コモンバス
３８，７８…Ｌ３キャッシュ用３次元コモンバス
８８…Ｌ３キャッシュ用２次元クロスバーバス回路
９９…Ｌ３キャッシュ用３次元クロスバーバス回路
１００…３次元クロスバーバスサブ回路
【図１】
2010198129.tif 000003
【図２】
2010198129.tif 000004
【図３】
2010198129.tif 000005
【図４】
2010198129.tif 000006
【図５】
2010198129.tif 000007
【図６】
2010198129.tif 000008
【図７】
2010198129.tif 000009
【図８】
2010198129.tif 000010
【図９】
2010198129.tif 000011
【図１０】
2010198129.tif 000012
【図１１】
2010198129.tif 000013
【図１２】
2010198129.tif 000014