米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 富士通株式会社

発明の名称 コンピュータシステム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−6045(P2003−6045A)
公開日 平成15年1月10日(2003.1.10)
出願番号 特願2002−143188(P2002−143188)
出願日 平成14年5月17日(2002.5.17)
代理人 【識別番号】100077517
【弁理士】
【氏名又は名称】石田 敬 (外4名)
【テーマコード(参考)】
5B005
5B045
【Fターム(参考)】
5B005 JJ11 KK13 MM05 MM52 TT02 
5B045 DD02 DD12 EE03
発明者 パトリック エヌ.コンウェイ / カズノリ マスヤマ / タケシ シミズ / トシオ オガワ / マーティン ソドス / サダール クマール ラオ ミルヤラ / ジェレミー ファーレル
要約 課題
本発明の目的は、区分けされたコンピュータシステムにおけるメモリ構成の割り当てを改善するシステム及び方法を提供することにある。

解決手段
本発明はコンピュータドメイン間での共有メモリ構成を論理的に区分けするシステム及び方法である。各ドメインには固有のアドレス空間識別子が割り当てられる。この固有のアドレス空間識別子は好適にはタグ拡張ビット及びインデックス拡張ビットを有する。これにより、従来のローカルドメインアドレスのタグ及びインデックスビットはタグ拡張及びインデックスビットとともに拡張することが可能となる。共有メモリ構成のデータエントリは拡張されたインデックス値を使用してアクセスされる。拡張されたタグ値を使用してヒットを判定する。
特許請求の範囲
【請求項1】 コンピュータシステムであって、各々のデータの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを有するキャッシュメモリであって、各データの組みがデータの組みをアクセスするためのインデックス値を有し、かつ各データエントリがヒットを判定するタグ値を有するものと、前記キャッシュメモリを共有する少なくとも2つのドメインであって、各ドメインは複数のメモリアドレスを含むアドレス空間をもち、各メモリアドレスはタグビットをもつタグフィールドとインデックスビットをもつインデックスフィールドを有し、リクエストがアドレス空間に固有の少なくとも1つのビットを有するアドレス空間識別子で生じるドメインのメモリアドレスを拡張することにより、各ドメインは前記キャッシュメモリからデータをリクエストするように構成されるコンピュータシステム。
【請求項2】 前記アドレス空間識別子は、複数のインデックス拡張ビットと複数のタグ拡張ビットを備え、キャッシュメモリにてデータの組みをアクセスするインデックス値はインデックス拡張ビットにより拡張されたメモリアドレスのインデックスビットであり、ヒットを判定するタグ値はタグ拡張ビットにより拡張されたメモリアドレのタグビットである、請求項1に記載のコンピュータシステム。
【請求項3】 前記インデックス拡張ビットがゼロの値を有する請求項2に記載のコンピュータシステム。
【請求項4】 コンピュータシステムであって、相互接続によって結合された複数のノードであって、複数のノードは複数のドメインにより区分けされ、各ドメインは各々メモリアドレスをもつアドレス空間を有し、アドレス空間にはタグビットをもつタグとインデックスビットをもつインデックスを有するものと、少なくとも2つのドメイン間を共有するキャッシュメモリであって、各データの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを含み、各データの組みはデータの組みをアクセスためのインデックス値を有し、各データエントリはヒットを判定するタグ値を有するものと、各データリクエストのメモリアドレスを拡張するように構成された少なくとも1つの論理回路であって、前記データリクエストがアドレス空間識別子とともに前記キャッシュメモリになされ、前記アドレス空間識別子は、前記リクエストを生じる前記ドメインに固有の少なくとも1つのビットを有し、前記インデックス値は前記アドレス空間識別子の第1の機能及び前記ドメインのメモリアドレスのインデックスであり、そしてタグ値は前記固有のアドレス空間識別子の第2の機能及び前記ドメインのメモリアドレスのタグであるものと、を具備するコンピュータシステム。
【請求項5】 コンピュータシステムであって、各データの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを有するキャッシュメモリと、コンピュータシステムにおける複数のコンピュータドメインであって、各ドメインはアドレス空間及び複数のビットをもつ固有のアドレス空間識別子を有するものと、前記キャッシュメモリからデータをリクエストするために構成された各ドメインであって、前記固有のアドレス空間識別子のビットによりローカルメモリアドレスを拡張する拡張アドレスフォーマットを使用するものと、を具備するコンピュータシステム。
【請求項6】 コンピュータシステムであって、コンピュータシステムを複数のドメインに区分けするドメイン区分手段であって、各ドメインは、各メモリアドレスがインデックス及びタグを備えた複数のメモリアドレスを含むアドレス空間を有するものと、複数のデータを記憶するキャッシュメモリ手段と、各データリクストのメモリアドレスを拡張するアドレス拡張手段であって、前記データリクストは、リクエストを生じるドメイン固有のアドレス空間識別子のビットによりキャッシュメモリ手段になされるものと、を具備するコンピュータシステム。
【請求項7】 各ドメインが複数のメモリアドレスをもつアドレス空間を有する複数のドメインに区分けされたコンピュータシステムにおいて、2つ又はそれ以上のドメイン間でキャッシュメモリを共有する方法であって、前記方法は、インデックスビット及びタグビットを含むメモリアドレスを有するデータリクエストを選択する段階と、拡張されたメモリアドレスを形成するために生じたデータリクエストで、ドメインに固有のアドレス空間識別子とともにメモリアドレスを拡張する拡張段階と、前記拡張されたメモリアドレスを備えキャッシュメモリにデータエントリをアクセスする段階と、を具備する方法。
【請求項8】 複数のドメインに区分けされたコンピュータシステムにおいて、ドメイン間でキャッシュメモリを共有する方法であって、前記方法は、ローカルドメインでメモリアドレスを有するデータリクエストを選択する段階と、拡張アドレスを形成するためにローカルドメインに固有のアドレス空間識別子とともにメモリアドレスを拡張する段階と、前記拡張アドレスとともにキャッシュメモリでデータエントリをアクセスする段階を、具備する方法。
【請求項9】 複数のドメインに区分けされたコンピュータシステムであって、各ドメインは複数のメモリアドレスをもつアドレス空間を有し、各メモリアドレスはインデックスをもつインデックスフィールドと、タグビットをもつタグフィールドとを含み、2つ又はそれ以上のドメインでキャッシュメモリを共有する方法であって、前記方法は、各ドメインに対する固有のドメイン空間識別子を選択する段階であって、前記固有のドメイン空間識別子はタグ拡張ビットをもつタグ拡張フィールドとインデックス拡張ビットをもつインデックス拡張フィールドを有するものと、ドメインの1つでデータリクエストを選択する段階と、リクエストが生じたドメインの固有のドメイン空間識別子のタグ拡張ビット及びインデックス拡張ビットをもつデータリクエストのメモリアドレスを拡張し、メモリアドレスのインデックスビット及びタグビットを含みかつ固有のドメイン空間識別子のインデックス拡張ビット及びタグ拡張ビットを含む拡張されてメモリアドレスを形成する段階と、インデックスビット及びインデックス拡張ビットを含むインデックス値を使用してメモリ構成にてデータの組みを選択する段階と、タグ拡張ビット及びタグビットを含むタグ値と、データの組みのデータエントリに関連したタグを比較する段階と、タグ整合へヒット応答を示す信号を出力する段階と、を具備する方法。
【請求項10】 区分けされたコンピュータシステムにおいて、2つ又はそれ以上のドメイン間でキャッシュメモリを共有する方法であって、前記方法は、ドメインに固有のアドレス空間識別子の各々を割り当てる段階と、前記キャッシュメモリのデータの組みを複数のデータエントリに記憶し、各データエントリとタグ値を関連づける段階と、前記キャッシュメモリからのデータをリクエストし、各リクエストは、ローカルメモリアドレス及びリクエストが生じたドメインのアドレス空間識別子を含むデータに対してなされるものと、データの組みの1つを選択するインデックス値を計算する段階であって、ローカルメモリアドレスのインデックスフィールドのビット値及びアドレス空間識別子のインデックス拡張フィールドのビット値の関数であるデータ組みの1つを計算する段階と、ローカルドメインアドレスのタグフィールドのビット値及びアドレス空間識別子のタグ拡張フィールドのビット値の関数であるタグ値を計算する段階と、インデックス値を使用してキャッシュメモリのデータの組みの1つを選択する段階と、タグと組みの各データエントリに関連したタグを比較する段階と、タグの整合のヒット応答を示す信号を出力する段階と、を具備する方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明はコンピュータシステムの共有メモリ構造の論理的な区分けに関するものである。特に、本発明はコンピュータシステムのドメイン間でキャッシュメモリを論理的に適切に区分けすることを指向している。
【0002】
【従来の技術】マルチノードのコンピュータネットワークは複数のドメインに区分けされることが多く、各ドメインはそれ自身のアドレス空間で独立のマシンとして機能している。OSは各ドメイン上で独立に運用される。区分けによって、ネットワークの資源が種々のタスクに効率的に割り当てられるようになり、コンピュータシステムの使用における柔軟性を提供し、かつ全体システムの動作との干渉による、ネットワークの一部におけるハードウェア及びソフトウェア障害の影響を制限するために資源間でアイソレーションできるようになっている。
【0003】図1はマルチノードコンピュータシステムを示し、コンピュータシステムは、中央処理装置(CPU)ノード105、メモリノード110及びシステム相互接続構成120に結合された入出力(I/O)ノード115、を含む。区分け定義レジスタ(図1に示さず)はマルチノードコンピュータシステムをドメイン130、135、140に区分けする。
【0004】従来、各ドメインはそれ自身のメモリ構成を有する。各ドメインのスパースディレクトリ147を経て固有に保持された1つもしくはそれ以上ローカルキャッシュメモリ145として実現されている。
【0005】図2はドメイン内のメモリ構成をアドレスする従来のアドレス技術を示す。キャッシュメモリ200はデータの組み205を記憶するデータアレイである。各組み205はしばしばデータラインと称される。一般的なキャッシュメモリ構成では、キャッシュメモリの各キャッシュラインエントリ202は関連タグフィールド206を有する。アドレス中のインデックス207の値は、どのデータの組み205かをアドレスマップ上に示す。
【0006】キャッシュメモリのK−ウェイにおいて、各組み(キャッシュアドレス)は、K―ラインのデータエントリの組みからなり、各データエントリはそれ自身のタグフィールド206を有する。新たなワードがキャッシュに入力されると、タグビットがデータビットとともに記憶される。CPUがメモリリクエストを発生すると、メモリアドレスのインデックス210はキャッシュにおいて組み205を選択するために使用される。即ち、キャッシュの組み205はインデックス207で呼ばれるメモリアドレスの一部によりインデックスされる。CPUメモリアドレスのタグ210はエントリ202のタグ206と比較される。もしタグ206及び210が整合するならばヒットであり、ワードはキャッシュにエントリされる。関連キャッシュのK−ウェイ組みに対して、組みの各K−ラインはそれ自身のタグを有し、各エントリに対するタグは、タグの1つが整合するときに発生するヒットとともに入来アドレスに並行して比較される。インターリーブが含まれ、多重独立リクエストが処理される。結果的に、インターリーブフィールド215はどちらのリーフを使用するかを特定する。オフセットフィールド220はどのデータ構成がアクセスされるキャッシュラインをもったデータ構成かを特定する。
【0007】図3はコンパレータとマルチプレクサを有する従来のハードウェアシステムを示す。もしアドレスのタグ部分がアドレスされるエントリのタグに整合しているならばヒットを示す信号を出力する。図2は種々のメモリ構成を含む一般的なアドレスシステムを示していることが分かる。例えば、キャッシュメモリはインターリーブされるべきもの(Y=0)を持たない。もしキャッシュメモリ構成がタグを使用しないならば(W=0)、キャッシュは、アクセスごとにヒットするランダムアクセスメモリ(RAM)のように作用する。さらに、キャッシュメモリ構成がインデックス(X=0)を持たないならば、これは完全な関連メモリ又は連想記憶メモリ(CAM)として作用する。
【0008】
【発明が解決しようとする課題】コンピュータシステム100の欠陥はドメイン区分けの変更、及び使用パッターンによって結果的にメモリハードウェアの非効率的な使用となることである。図1において、一般的なコンピュータシステムではシステムのドメイン区分けは、新たなニーズがあったときに変更する。即ち、コンピュータシステムは新たなニーズがあったときにドメインの数を変更するように構成されている。
【0009】しかしながら各ドメインは少なくとも1つのキャッシュメモリ構成を必要とし、キャッシュメモリの総数は、コンピュータシステム100がサポートする少なくともドメインの最大数に等しいように選択されねばならない。ドメインの数が最大値より少ないときは1つまたはそれ以上のアイドルメモリを生じる。これはキャッシュメモリハードウェアの効率的な使用に不十分である。
【0010】従って、本発明の目的は、区分けされたコンピュータシステムにおけるメモリ構成の割り当てを改善するシステム及び方法を提供することにある。
【0011】
【課題を解決するための手段】本発明の一つの態様によれば、コンピュータシステムであって、各々のデータの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを有するキャッシュメモリであって、各データの組みがデータの組みをアクセスするためのインデックス値を有し、かつ各データエントリがヒットを判定するタグ値を有するものと、前記キャッシュメモリを共有する少なくとも2つのドメインであって、各ドメインは複数のメモリアドレスを含むアドレス空間をもち、各メモリアドレスはタグビットをもつタグフィールドとインデックスビットをもつインデックスフィールドを有し、リクエストがアドレス空間に固有の少なくとも1つのビットを有するアドレス空間識別子で生じるドメインのメモリアドレスを拡張することにより、各ドメインは前記キャッシュメモリからデータをリクエストするように構成される。
【0012】好適には、前記アドレス空間識別子は、複数のインデックス拡張ビットと複数のタグ拡張ビットを備え、キャッシュメモリにてデータの組みをアクセスするインデックス値はインデックス拡張ビットにより拡張されたメモリアドレスのインデックスビットであり、ヒットを判定するタグ値はタグ拡張ビットにより拡張されたメモリアドレのタグビットである。
【0013】好適には、前記インデックス拡張ビットがゼロの値を有する。
【0014】
【発明の実施の形態】本発明はコンピュータドメイン間のメモリ構成の論理的な区分けの方法及びシステムである。
【0015】図4において、本発明の一実施形態によれば、マルチノードネットワークシステムは、複数のCPUノード105、メモリノード110、システム相互接続120に結合された入出力(I/O)ノード115、を含む。システム相互接続構成120は、例えば、メッシュ、リング、又は、ルータ又はスイッチを使用して実現されるハイパーキューブである。区分け定義レジスタ(図4に示さず)はマルチノードシステムを複数のドメイン130、135、140区分けする。
【0016】本発明の一つの実施形態として、共有メモリ構成の論理的な区分け、例えばドメイン間のキャッシュメモリ305及びスパースディレクトリテーブル310により支持される。本図はメモリ構成を通るドメイン間の境目を示している。さらに、論理区分けによって、いかにして特定のメモリ構成が柔軟に制御され区分けされるかを示している。
【0017】コンピュータシステム300の各ドメインは独立のマシンとして機能し、結果的に各マシンはそれ自身のアドレス空間を有する。各ドメインはそれ自身のアドレス空間を有する。各アドレス空間は、ドメイン内にメモリ構成をアクセスするためのメモリアドレスの組み、例えばキャッシュメモリを有する。従って、ドメイン130は関連アドレス空間を有し、ドメイン135も関連アドレス空間を有し、ドメイン140も関連アドレス空間を有する。異なるドメイン内における同じメモリアドレスは物理的同等ではなく、これはリクストが異なるアドレス空間から生じるからである。
【0018】本発明の一つの実施形態として、ドメインから生じるデータリクエストの従来のメモリアドレスを拡張する方法であり、リクエストが生じるアドレス空間を参照する追加のビットフィールドを含む。本発明によれば、各ドメイン130、135、140は固有のアドレス空間識別子で割り当てられる。固有のアドレス空間識別子は、リクエストが生じるアドレス空間と固有に関連した数値である。一例として、固有のアドレス空間識別子は各ドメインに割り当てられた固有の数値ラベルである。他の例として、メモリがノードをまたがって物理的に分散している分散共有メモリマルチノードシステムにおいて、各ノードはアドレス空間識別子として使用されるシステムにおける固有の全域識別子で割り当てられる。ドメインは選択されたノードのサブセットを取り囲むので、ノードの固有の全域識別子はリクエストのターゲットアドレス空間を特定する。
【0019】実施形態において、メモリリクエストが共有メモリ構成のドメインのアドレス空間になされるときはいつでも、メモリアドレスは、接頭語ビットのような付加ビットフィールドとして付加された固有のアドレス空間識別子のビットフィールドを有する。
【0020】拡張されたアドレスの固有のアドレス空間識別子は、共有メモリ間での種々の方法にて共有メモリ構成が割り当てできるようにする付加情報を含む。一般的に、固有のアドレス空間識別子からのビットは、共有メモリ構成で組みをアクセスするインデックス値を形成するためにメモリアドレスのインデックスビットと結合され、一方、固有のアドレス空間識別子からのビットは、ヒットを決めるためのタグ値を形成するためにタグビットと結合される。
【0021】図5は本発明によるアドレスフォーマット400の一例を示し、複数のデータの組み401を有するメモリ構成418をアクセスする。メモリ構成418は、データの組み401がインデックス値によりアクセス可能なキャッシュ又は他のメモリ構成である。実施形態において、メモリ構成は、各組み401がK−ラインをもつデータエントリのデータキャッシュでK−ウェイが構成される。アドレスフォーマット400は好ましくは従来のドメインメモリアドレス450のビットを含み、ドメインメモリアドレスは、タグビットのためのタグフィールド405、インデックスビットのためのインデックスフィールド410、インターリーブビットのためのインターリーブフィールド415、及びオフセットビットのためのオフセットフィールド420を含む。従来のドメインメモリアドレス450は固有のアドレス空間識別子460のビットにより拡張される。一実施形態として、固有のアドレス空間識別子460はタグ拡張フィールド465を有し、ビットの整数“A”をもったタグ拡張フィールドがタグ拡張として使用され、ビットの整数“B”をもったインデックス拡張フィールド470がインデックス拡張として使用される。
【0022】図4において、固有のアドレス空間識別子460のフィールドは、固有のアドレス空間識別子460のビットとローカルドメインアドレス450をシングルワードとして結合する従来の論理回路320を使用して、接頭語ビットとしてローカルドメインメモリアドレス450に加えられる。例えば、固有のアドレス空間識別子は制御インタフェース(図3に示さず)によりプログラマブルルーティンテーブルに記録される。ルーティンテーブルの出力は、ドメインから生じるキャッシュリクエストへの付加ビットとして自動的に使用される。ルーティンテーブルはドメインの区分けが変更されるときは再プログラムされる。一方、宛先ノード識別子はアドレス空間識別子として使用される。
【0023】図5は、キャッシュでデータラインを選択するために使用されるインデックスのビット値が、従来のインデックスビットとインデックス拡張ビットの結合であることを示す一例である。図5において、インデックス410がXビット幅で、インデックス拡張フィールド470がBビット幅であるとき、データの組みを選択するために使用されるインデックス値は、B+Xのビット幅を有する。図5に示す実施形態において、2X+Bのデータ組み(キャッシュに関連したK−ウェイのデータ組み)があり、B+Xのビット幅をもつインデックス値を有する拡張されたアドレス空間に対応する。図示の例では、もしコンピュータシステムが8より少ないか等しい最大数のドメインを有するならば、インデックス拡張460はシステム上で3ビット幅(即ち、各ポテンシャルドメインに対して1つの固有値)である。本実施形態において、A=3,B=0ならば、ローカルドメインインデックス値が等しい2つはキャッシュにて同じデータの組みをアクセスする。
【0024】キャッシュの組み401の各データエントリ480は、好ましくはタグフィールドビット405及びタグ拡張フィールド465を含むタグ値485を記憶する。これは、固有のアドレス空間識別子のタグ拡張ビットと結合したローカルドメインアドレスのタグ値を含むため、リクエストとキャッシュエントリを比較するために使用される効果的なタグ値を可能とする。例えば、タグ405がビット幅Wで、タグ拡張465がビット幅Aのとき、タグ値485はA+Wのビット幅となる。
【0025】本発明は、種々の異なる方法で使用されるメモリ構成を可能とする。もしインデックス拡張が非ゼロであれば、データの組みのエントリは2まで分割され、ここで、Bはインデックス拡張470のビット数である。
【0026】図5に示すように、従って、関連メモリのK−ウェイに、2X+Bの組みのエントリが存在する。アドレス空間IDが同じインデックス拡張子をもつ全てのドメインは同じエントリのサブセットを共有する。しかしながら、所望するならば、各ドメインは固有のインデックス拡張値に割り当てられ、ドメインはAにゼロを設定することにより、エントリのサブセットを共有する。
【0027】実施形態において、インデックス拡張フィールド470は、メモリ構成を共有する全てのドメインに対して同じ値に設定される(例えば、Bビットはゼロに設定される)。もしBビットが全ての固有のドメイン空間識別子に対して同じであれば(例えば、ゼロ)、インデックスフィールド410のビット値はデータセット401をアクセスするために使用され、一方、整合に使用されるタグ値485は、タグフィールド405の値プラスタグ拡張フィールド465(即ち、ビットA+W)の値である。これによって、個々のデータの組み401のデータエントリが自由にかつダイナミックにドメインをわたって割り当てられることができる。即ち、単一のデータの組みは、1つ以上のドメインと関連した組みにエントリをもつ。これは、システムが全てのエントリにダイナミックに割り当てることができる点で有利である。
【0028】もしタグ拡張フィールド465のビット値が(例えば、Aビットであれば)同じ(例えば、ゼロ)であれば全てのドメインに対して同じ値であるように設定され、ドメインタグフィールド405のビット値のみ(Wビット)がヒットを決めるために使用される。この場合、2つのドメインのインデックス拡張フィールド470の値が同じであれば、2つのドメインはキャッシュにて同じデータの組みをアクセスすることができる。例えば、Aビットがゼロであれば、2つのドメインは同じタグ値485を有する。これによって、ドメインをわたって共有メモリ構成の幅で、インタフェースのスタティックな区分けを賦課すること無しに、エントリのスタティックな割り当てができるようになる。これは、他のドメインに割り当てられたエントリの追い立ての原因となる1つのドメインからのリクストのような、ドメイン間で性能の相互作用を減ずる利益を有する。これはまた、アイソレーションの欠陥を改善する利点と1つのドメインのエラーが他のエラーに影響を与えない利点を有する。
【0029】他の例として、最大で4つのドメインを有するシステム300を考察する。この場合、インデックス拡張フィールド470は、インデックス拡張の4つの異なる値を提供するために、2ビット長であることを必要とする。このようなシステムの各ドメインは種々のインデックス拡張エンコーディングに割り当てられる。これは、結果的に各メモリがメモリ構成の異なる組みをインデックスすることになる。しかしながら、2つのドメインが同じインデックス拡張ビット(B=1)に割り当てられるなら、2つのドメインは同じキャッシュの組みをアクセスする。幾つかの場合では、これはドメイン間でエントリをダイナミックに割り当てるために望ましいことである。(もし、インデックス拡張ビットが2つのドメインに対して同じであれば、キャッシュの組みの半分が、一対のドメインの間でダイナミックに割り当てられ、キャッシュの組みの他の半分がたの対のドメイン間でダイナミックに割り当てられる)。
【0030】本発明の他の利点は、大容量のキャッシュメモリ構成を有するコンピュータシステムに関する。本発明を使用して、少数で大容量のキャッシュメモリ構成が、2つ又はそれ以上のドメインに対して割り当てられたキャッシュメモリに論理的に区分される。一つの実施形態として、各ドメインの固有のアドレス空間識別子が制御インタフェースにより選択可能であることに注目すべきである。従って、データが共有キャッシュにてドメイン間で割り当てられる方法は、固有のアドレス空間識別子のビットを変更することにより変化する。
【0031】本発明の一つの一実施形態として、その形態がプログラマブルである単一のハードウェア装置であり、サーバーを複数のドメインに柔軟にダイナミックに区分けする。本実施形態では、フルアドレス空間識別子460(即ち、A及びBビット)は各組の各タグエントリ485の一部で作成されている。キャッシュメモリ構成の区分けは、アドレス空間識別子460のインデックス拡張フィールド470(例えば、Bビット)の幅の関数となる。この場合、データの組み401は、インデックス拡張フィールド470及びインデックスフィールド410のロービット(X−B)のビットの連鎖によりインデックスされる。構成の選択は、構成レジスタのインデックス拡張フィールド470の値を設定することにより選択される。図6はプログラマブル区分けとともにメモリアレイ及びアドレスフォーマットの実施形態を示す。個々のデータの組は、インデックスフィールド410のBビット及びX−Bビットの連鎖によりインデックスされる。図7はインデックスフィールドを生成するハードウェア機構を示す。構成の選択は構成レジスタのBビットの値を設定することにより選択される。
【0032】本発明の実施形態及び応用を説明してきたが、本発明は、ここに開示された精確な構成と構成要素に限定されるものではなく、当業者であれば明らかな種々の修正、変更及び変形が、本発明の範囲と精神を逸脱することなく、本発明の方法及び装置における配置、動作及び詳細においてなされうる。
(付記1)コンピュータシステムであって、各々のデータの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを有するキャッシュメモリであって、各データの組みがデータの組みをアクセスするためのインデックス値を有し、かつ各データエントリがヒットを判定するタグ値を有するものと、前記キャッシュメモリを共有する少なくとも2つのドメインであって、各ドメインは複数のメモリアドレスを含むアドレス空間をもち、各メモリアドレスはタグビットをもつタグフィールドとインデックスビットをもつインデックスフィールドを有し、リクエストがアドレス空間に固有の少なくとも1つのビットを有するアドレス空間識別子で生じるドメインのメモリアドレスを拡張することにより、各ドメインは前記キャッシュメモリからデータをリクエストするように構成されるコンピュータシステム。
(付記2)前記アドレス空間識別子は、複数のインデックス拡張ビットと複数のタグ拡張ビットを備え、キャッシュメモリにてデータの組みをアクセスするインデックス値はインデックス拡張ビットにより拡張されたメモリアドレスのインデックスビットであり、ヒットを判定するタグ値はタグ拡張ビットにより拡張されたメモリアドレのタグビットである、付記1に記載のコンピュータシステム。
(付記3)前記インデックス拡張ビットがゼロの値を有する付記2に記載のコンピュータシステム。
(付記4)前記タグ拡張ビットがゼロの値を有する付記2に記載のコンピュータシステム。
(付記5)前記キャッシュメモリをアクセスする各アドレス空間が固有のインデックス拡張ビットの値を有する付記2に記載のコンピュータシステム。
(付記6)前記キャッシュメモリをアクセスする少なくとも2つのアドレス空間が同じ値のインデックス拡張ビットを有する付記2に記載のコンピュータシステム。
(付記7)少なくとも2つのデータが、同じタグ値をもつ少なくとも2つのアドレス空間からエントリされる付記6に記載のコンピュータシステム。
(付記8)前記タグ値は、インデックス拡張ビット及びアドレス空間識別子のタグ拡張ビットを含む付記2に記載のコンピュータシステム。
(付記9)前記インデックスビットのビット値が前記インデックス値として使用される付記8に記載のコンピュータシステム。
(付記10)コンピュータシステムであって、相互接続によって結合された複数のノードであって、複数のノードは複数のドメインにより区分けされ、各ドメインは各々メモリアドレスをもつアドレス空間を有し、アドレス空間にはタグビットをもつタグとインデックスビットをもつインデックスを有するものと、少なくとも2つのドメイン間を共有するキャッシュメモリであって、各データの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを含み、各データの組みはデータの組みをアクセスためのインデックス値を有し、各データエントリはヒットを判定するタグ値を有するものと、各データリクエストのメモリアドレスを拡張するように構成された少なくとも1つの論理回路であって、前記データリクエストがアドレス空間識別子とともに前記キャッシュメモリになされ、前記アドレス空間識別子は、前記リクエストを生じる前記ドメインに固有の少なくとも1つのビットを有し、前記インデックス値は前記アドレス空間識別子の第1の機能及び前記ドメインのメモリアドレスのインデックスであり、そしてタグ値は前記固有のアドレス空間識別子の第2の機能及び前記ドメインのメモリアドレスのタグであるものと、を具備するコンピュータシステム。
(付記11)前記固有のアドレス空間識別子は、インデックスのビット値を拡張するためのインデックス拡張ビットと、タグのビット値を拡張するためのタグ拡張ビットと、を具備する付記10に記載のコンピュータシステム。
(付記12)前記インデックス拡張ビットがゼロの値を有する付記11に記載のコンピュータシステム。
(付記13)前記タグ拡張ビットがゼロの値を有する付記11に記載のコンピュータシステム。
(付記14)前記キャッシュメモリをアクセスするための各アドレス空間が固有のインデックス拡張ビットの値を有する付記11に記載のコンピュータシステム。
(付記15)前記キャッシュメモリをアクセスするための少なくとも2つのアドレス空間が同じ値のインデックス拡張ビットを有する付記11に記載のコンピュータシステム。
(付記16)前記タグ値は、インデックス拡張ビット及びアドレス空間識別子のタグ拡張ビットを含む付記11に記載のコンピュータシステム。
(付記17)前記インデックスビットのビット値が前記インデックス値として使用される付記16に記載のコンピュータシステム。
(付記18)コンピュータシステムであって、各データの組みが少なくとも1つのデータエントリをもつ複数のデータの組みを有するキャッシュメモリと、コンピュータシステムにおける複数のコンピュータドメインであって、各ドメインはアドレス空間及び複数のビットをもつ固有のアドレス空間識別子を有するものと、前記キャッシュメモリからデータをリクエストするために構成された各ドメインであって、前記固有のアドレス空間識別子のビットによりローカルメモリアドレスを拡張する拡張アドレスフォーマットを使用するものと、を具備するコンピュータシステム。
(付記19)前記固有のアドレス空間識別子は、前記インデックスのビット値を拡張するインデックス拡張ビットと、前記タグのビット値を拡張するタグ拡張ビットと、を具備する付記18に記載のコンピュータシステム。
(付記20)前記インデックス拡張ビットがゼロの値を有する付記19に記載のコンピュータシステム。
(付記21)前記タグ拡張ビットがゼロの値を有する付記19に記載のコンピュータシステム。
(付記22)前記キャッシュメモリをアクセスする各アドレス空間は、固有のインデックス拡張ビットの値を有する付記19に記載のコンピュータシステム。
(付記23)前記キャッシュメモリをアクセスする少なくとも2つのアドレス空間が同じ値のインデックス拡張ビットを有する付記19に記載のコンピュータシステム。
(付記24)少なくとも2つのアドレス空間にエントリした少なくとも2つのデータが同じタグ値を有する付記19に記載のコンピュータシステム。
(付記25)コンピュータシステムであって、コンピュータシステムを複数のドメインに区分けするドメイン区分手段であって、各ドメインは、各メモリアドレスがインデックス及びタグを備えた複数のメモリアドレスを含むアドレス空間を有するものと、複数のデータを記憶するキャッシュメモリ手段と、各データリクストのメモリアドレスを拡張するアドレス拡張手段であって、前記データリクストは、リクエストを生じるドメインの固有のアドレス空間識別子のビットによりキャッシュメモリ手段になされるものと、を具備するコンピュータシステム。
(付記26)各ドメインが複数のメモリアドレスをもつアドレス空間を有する複数のドメインに区分けされたコンピュータシステムにおいて、2つ又はそれ以上のドメイン間でキャッシュメモリを共有する方法であって、前記方法は、インデックスビット及びタグビットを含むメモリアドレスを有するデータリクエストを選択する段階と、拡張されたメモリアドレスを形成するために生じたデータリクエストで、ドメインに固有のアドレス空間識別子とともにメモリアドレスを拡張する拡張段階と、前記拡張されたメモリアドレスを備えキャッシュメモリにデータエントリをアクセスする段階と、を具備する方法。
(付記27)前記アドレス空間識別子がタグ拡張ビット及びインデックスを含み、さらに、インデックスビット及びインデックス拡張ビットを有するインデックスを形成する段階と、タグビット及びタグ拡張ビットを有するタグ値を形成する段階と、具備する付記26に記載の方法。
(付記28)2つもしくはそれ以上の同等なドメインのインデックス拡張ビットを選択する段階を具備する付記27に記載の方法。
(付記29)異なるキャッシュメモリをアクセスするドメインの各々のインデックス拡張ビットを選択する段階をさらに具備する付記27に記載の方法。
(付記30)前記キャッシュメモリをアクセスする全てのアドレス空間に対して同じタグ拡張ビットを選択する段階をさらに具備する付記27に記載の方法。
(付記31)前記キャッシュメモリをアクセスする全てのドメインに対して同じインデックス拡張ビットを選択する段階をさらに具備する付記27に記載の方法。
(付記32)少なくとも2つのドメインに対して同じインデックス拡張ビットを選択する段階をさらに具備する付記27に記載の方法。
(付記33)少なくとも2つの同等なドメインの少なくとも2つのデータエントリのタグ拡張ビットを選択する段階をさらに具備する付記32に記載の方法。
(付記34)複数のドメインに区分けされたコンピュータシステムにおいて、ドメイン間でキャッシュメモリを共有する方法であって、前記方法は、ローカルドメインでメモリアドレスを有するデータリクエストを選択する段階と、拡張アドレスを形成するためにローカルドメインに固有のアドレス空間識別子とともにメモリアドレスを拡張する段階と、前記拡張アドレスとともにキャッシュメモリでデータエントリをアクセスする段階を、具備する方法。
(付記35)複数のドメインに区分けされたコンピュータシステムであって、各ドメインは複数のメモリアドレスをもつアドレス空間を有し、各メモリアドレスはインデックスをもつインデックスフィールドと、タグビットをもつタグフィールドとを含み、2つ又はそれ以上のドメインでキャッシュメモリを共有する方法であって、前記方法は、各ドメインに対する固有のドメイン空間識別子を選択する段階であって、前記固有のドメイン空間識別子はタグ拡張ビットをもつタグ拡張フィールドとインデックス拡張ビットをもつインデックス拡張フィールドを有するものと、ドメインの1つでデータリクエストを選択する段階と、リクエストが生じたドメインの固有のドメイン空間識別子のタグ拡張ビット及びインデックス拡張ビットをもつデータリクエストのメモリアドレスを拡張し、メモリアドレスのインデックスビット及びタグビットを含みかつ固有のドメイン空間識別子のインデックス拡張ビット及びタグ拡張ビットを含む拡張されてメモリアドレスを形成する段階と、インデックスビット及びインデックス拡張ビットを含むインデックス値を使用してメモリ構成にてデータの組みを選択する段階と、タグ拡張ビット及びタグビットを含むタグ値と、データの組みのデータエントリに関連したタグを比較する段階と、タグ整合へヒット応答を示す信号を出力する段階と、を具備する方法。
(付記36)区分けされたコンピュータシステムにおいて、2つ又はそれ以上のドメイン間でキャッシュメモリを共有する方法であって、前記方法は、ドメインに固有のアドレス空間識別子の各々を割り当てる段階と、前記キャッシュメモリのデータの組みを複数のデータエントリに記憶し、各データエントリとタグ値を関連づける段階と、前記キャッシュメモリからのデータをリクエストし、各リクエストは、ローカルメモリアドレス及びリクエストが生じたドメインのアドレス空間識別子を含むデータに対してなされるものと、データの組みの1つを選択するインデックス値を計算する段階であって、ローカルメモリアドレスのインデックスフィールドのビット値及びアドレス空間識別子のインデックス拡張フィールドのビット値の関数であるデータ組みの1つを計算する段階と、ローカルドメインアドレスのタグフィールドのビット値及びアドレス空間識別子のタグ拡張フィールドのビット値の関数であるタグ値を計算する段階と、インデックス値を使用してキャッシュメモリのデータの組みの1つを選択する段階と、タグと組みの各データエントリに関連したタグを比較する段階と、タグの整合のヒット応答を示す信号を出力する段階と、を具備する方法。
(付記37)少なくとも1つのデータエントリを備えうるデータセットを複数組有するメモリからデータをリクエストする装置であって、アドレス空間と複数のビットを有する固有のアドレス空間識別子と、前記固有のアドレス空間識別子のビットによりローカルメモリアドレスを拡張する拡張アドレスフォーマットとを具備することを特徴とする装置。
【0033】
【発明の効果】本発明によれば、区分けされたコンピュータシステムにおけるメモリ構成の割り当てを改善するシステム及び方法を提供することができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013