(57)【特許請求の範囲】
【請求項１】
プロセッサと、
複数のキャッシュ・エレメントを有するキャッシュ・グループであって、前記キャッシュ・グループ内のデータ要求を解決するために要求待ち時間および電力消費量の考慮事項に基づいて事前選択された複数のアクセス構成の１つで相互に且つ前記プロセッサに接続された少なくとも１つの低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含む、キャッシュ・グループと、
前記データ要求に応答して、前記キャッシュ・グループにおける前記複数のキャッシュ・エレメントの１つまたは複数個へのアクセスを、事前選択されたアクセス構成に対応する順序で開始するロジックと、
前記キャッシュ・エレメントの事前選択された設計構成に基づいて特定の順序で前記キャッシュ・エレメントを選択的にアクセスするためのロジックと、
を含み、前記キャッシュ・エレメントを選択的にアクセスするためのロジックは、
前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイが第１の構成を介して前記低レベル・キャッシュと相互接続されているとき、前記低レベル・キャッシュにおけるキャッシュ・ミスに続いて、前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイを同時にアクセスするステップと、
前記リージョン・コヒーレンス・アレイのアクセスよりも前に、第２の構成を介して相互接続された前記リージョン・キャッシュおよび前記低レベル・キャッシュを同時にアクセスするステップであって、前記リージョン・コヒーレンス・アレイへのアクセスが前記リージョン・キャッシュおよび前記低レベル・キャッシュの１つまたは複数個におけるキャッシュ・ミスの後に生じる、ステップと、
第３の構成を介して相互接続された前記リージョン・コヒーレンス・アレイ、前記リージョン・キャッシュ、および前記低レベル・キャッシュを同時にアクセスするステップと、
前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイが第４の構成を介して相互接続されているとき、前記低レベル・キャッシュから前記リージョン・キャッシュへのアクセス、次に前記リージョン・コヒーレンス・アレイへの順次アクセスを遂行するステップであって、前記リージョン・キャッシュのアクセスが前記低レベル・キャッシュにおけるキャッシュ・ミスの後にだけ生じ、前記リージョン・コヒーレンス・アレイのその後のアクセスが前記リージョン・キャッシュにおけるキャッシュ・ミスの後にだけ生じる、ステップと、
前記リージョン・コヒーレンス・アレイのアクセスよりも前に、第５の構成を介して相互接続されている前記リージョン・キャッシュおよび前記低レベル・キャッシュを同時にアクセスするステップであって、前記リージョン・コヒーレンス・アレイへのアクセスが前記リージョン・キャッシュにおけるキャッシュ・ミスの後に生じる、ステップと
のうちの１つを遂行するためのロジックを含み、前記構成の各々はデータ要求を解決するための電力消費量および要求待ち時間の異なる平衡を与える、データ処理システム。
【請求項２】
キャッシュ・メモリ・システムを構成するための方法であって、
データ処理システム内のロジックが、低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含む複数のキャッシュ・エレメントを持ったキャッシュ・グループにおけるデータ要求を解決するために望ましい最適の要求待ち時間および電力消費量の要件を決定するステップと、
前記ロジックが、前記キャッシュ・エレメントの事前選択された設計構成に基づいて特定の順序で前記キャッシュ・エレメントを選択的にアクセスするためのロジックを提供するステップと
を含み、前記提供するステップにより提供されたロジックは、
前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイが第１の構成を介して前記低レベル・キャッシュと相互接続されているとき、前記低レベル・キャッシュにおけるキャッシュ・ミスに続いて、前記リージョン・キャッシュおよびリージョン・コヒーレンス・アレイを同時にアクセスするステップ、または
第２の構成を介して相互接続された前記リージョン・キャッシュおよび前記低レベル・キャッシュを、前記リージョン・コヒーレンス・アレイのアクセスよりも前に、同時にアクセスするステップであって、前記リージョン・コヒーレンス・アレイへのアクセスが前記リージョン・キャッシュおよび前記低レベル・キャッシュの１つまたは複数個におけるキャッシュ・ミスの後に生じる、ステップ、または
第３の構成を介して相互接続された前記リージョン・コヒーレンス・アレイ、前記リージョン・キャッシュ、および前記低レベル・キャッシュを同時にアクセスするステップ、または
前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイが第４の構成を介して相互接続されているとき、前記低レベル・キャッシュから前記リージョン・キャッシュへのアクセス、次に前記リージョン・コヒーレンス・アレイへの順次アクセスを行なうステップであって、前記リージョン・キャッシュのアクセスが前記低レベル・キャッシュにおけるキャッシュ・ミスの後にだけ生じ、前記リージョン・コヒーレンス・アレイのその後のアクセスが前記リージョン・キャッシュにおけるキャッシュ・ミスの後にだけ生じる、ステップ、または
第５の構成を介して相互接続されている前記リージョン・キャッシュおよび前記低レベル・キャッシュを、前記リージョン・コヒーレンス・アレイのアクセスよりも前に、同時にアクセスするステップであって、前記リージョン・コヒーレンス・アレイへのアクセスが前記リージョン・キャッシュにおけるキャッシュ・ミスの後に生じる、ステップ、
のうちの１つを遂行するためのロジックを含み、前記構成の各々はデータ要求を解決するための電力消費量及び要求待ち時間の異なる平衡を与える、方法。
【請求項３】
プロセッサを有し、前記プロセッサに結合されたキャッシュ・グループのキャッシュ・エレメント間におけるキャッシュ・アクセスの順序を実施するためのデータ処理システムにおいて、
前記キャッシュ・エレメントの第１のアクセス順序を持つ第１の構成を選択するステップであって、選択された前記第１の構成は、前記キャッシュ・グループ内のデータ要求を解決するための要求待ち時間を最小にすることが前記キャッシュ・グループ内の電力消費量を最小にすることに関する優先考慮事項であるとき、データ要求に関連した要求待ち時間の量を最小にし、前記キャッシュ・エレメントは、低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含む、ステップと、
キャッシュ・エレメントの第２のアクセス順序を有する第２の構成を選択するステップであって、前記第２のアクセス順序は、前記キャッシュ・グループ内のデータ要求を解決すると共に前記キャッシュ・グループの電力消費量を削減することが前記キャッシュ・グループ内の電力消費量の最小化に関する優先考慮事項であるとき、前記キャッシュ・エレメント内のデータ要求の処理に関連した電力消費量のレベルを削減する、ステップと、
前記要求待ち時間の最小化と前記電力消費量の削減との間における設計ベースのトレードオフを可能にするために、各々がキャッシュ・エレメントの異なるアクセス順序を有する複数の他の構成の１つを選択するステップと、
を含み、
前記第１のアクセス順序が順次アクセスである場合、
前記データ要求が先ず前記低レベル・キャッシュにおいてキャッシュ・ミスを生じ、次に前記リージョン・コヒーレンス・アレイにおいてキャッシュ・ミスを生じるとき、先ず前記低レベル・キャッシュから前記リージョン・キャッシュへのアクセス、次に前記リージョン・コヒーレンス・アレイへの順次アクセス順序を可能にするように前記キャッシュ・エレメントを構成するステップであって、前記順次アクセス順序は、前記キャッシュ・エレメントの１つが他のキャッシュ・エレメントよりも前にアクセスされることを可能にする、ステップと、
前記第１のアクセス順序が部分的同時アクセスである場合、前記データ要求が前記低レベル・キャッシュおよび前記リージョン・キャッシュにおいてキャッシュ・ミスを生じるとき、前記リージョン・コヒーレンス・アレイへのアクセスよりも前に先ず前記低レベル・キャッシュおよび前記リージョン・キャッシュに関する同時アクセスを可能にするように前記キャッシュ・エレメントを構成するステップと、
前記第１のアクセスの順序が完全同時アクセスである場合、前記低レベル・キャッシュ、前記リージョン・キャッシュ、および前記リージョン・コヒーレンス・アレイに関する同時アクセスを可能にするように前記キャッシュ・エレメントを構成するステップであって、前記複数のキャッシュ・エレメントが実質的に同時にアクセスされる、ステップと、
を含む、方法。
【請求項４】
前記キャッシュ・エレメントの事前選択された設計構成に基づいて下記の順序の１つで前記キャッシュ・エレメントを選択的にアクセスするステップと、
前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイが第１の構成を介して前記低レベル・キャッシュと相互接続されているとき、前記低レベル・キャッシュにおけるキャッシュ・ミスに続いて前記リージョン・キャッシュおよび前記リージョン・コヒーレンス・アレイを同時にアクセスするステップと、
第２の構成を介して相互接続された前記リージョン・キャッシュおよび前記低レベル・キャッシュを前記リージョン・コヒーレンス・アレイのアクセスよりも前に同時にアクセスするステップであって、前記リージョン・コヒーレンス・アレイへのアクセスが前記リージョン・キャッシュおよび前記低レベル・キャッシュの１つまたは複数個におけるキャッシュ・ミスの後に生じる、ステップと、
第３の構成を介して相互接続された前記リージョン・コヒーレンス・アレイ、前記リージョン・キャッシュ、および前記低レベル・キャッシュを同時にアクセスするステップと、
前記リージョン・キャッシュおよびリージョン・コヒーレンス・アレイが第４の構成を介して相互接続されているとき、前記低レベル・キャッシュから前記リージョン・キャッシュへのアクセス、次に前記リージョン・コヒーレンス・アレイへの順次アクセスを遂行するステップであって、前記リージョン・キャッシュのアクセスが前記低レベル・キャッシュにおけるキャッシュ・ミスの後にだけ生じ、前記リージョン・コヒーレンス・アレイのその後のアクセスが前記リージョン・キャッシュにおけるキャッシュ・ミスの後にだけ生じる、ステップと、
第５の構成を介して相互接続された前記リージョン・キャッシュおよび前記低レベル・キャッシュを前記リージョン・コヒーレンス・アレイのアクセスよりも前に同時にアクセスするステップであって、前記リージョン・コヒーレンス・アレイへのアクセスが前記リージョン・キャッシュにおけるキャッシュ・ミスの後に生じる、ステップと、
を更に含み、
前記構成の各々はデータ要求を解決するための電力消費量および要求待ち時間の種々の平衡化を行なう、請求項３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはデータ処理システムに関し、特に、クラスタ構成の共用メモリ・マルチプロセッサに関する。更に詳しくいえば、本発明は、クラスタ構成の共用メモリ・マルチプロセッサ・システムにおけるキャッシュ・アクセスの順序付けに関する。
【背景技術】
【０００２】
コンピュータ・システムにおけるグローバル帯域幅要件を削減するために、多くの最新型の共用メモリ・マルチプロセッサ・システムはクラスタ化されている。プロセッサは、対称マルチプロセッシング・ノード（ＳＭＰノード）と呼ばれるグループに分けられ、従って、同じＳＭＰノード内のプロセッサが、物理的なキャビネット、回路基板、マルチチップ・モジュール、またはチップを共用し得るし、それにより、同じＳＭＰノード内でのプロセッサ間における低待ち時間の高帯域通信を可能にする。２レベル・キャッシュ・コヒーレンス・プロトコルは、グローバル帯域幅を浪費しないようにクラスタリング構成を活用する。先ず、データ・ラインに関するメモリ要求をプロセッサからローカルＳＭＰノードにブロードキャストし、必要に応じて（例えば、要求されたラインがローカルＳＭＰノードにおいてキャッシュされてないことが最初のブロードキャストに対する応答から判断される場合）、メモリ要求を他のＳＰＭノードに送るだけで、このタイプの２レベル・キャッシュ・コヒーレンス・プロトコルは、コンピュータ・システムのグローバル帯域幅要件を削減するが、いずれ他のＳＭＰノードにブロードキャストされなければならないメモリ要求は、先ずその要求されたラインに関してローカルＳＭＰノードをチェックすることにより遅らされ、コンピュータ・システムに大量のＳＭＰノード帯域幅および電力を消費量させる。キャッシュされたデータが最も見つかりそうなその共用メモリ・コンピュータ・システムの適切な部分に先ずメモリ要求を送ることが、パフォーマンス、スケーラビリティ、および電力消費量にとって重要である。
【０００３】
リージョン・コヒーレンス・アレイ（Region CoherenceArray）の助けによる粗粒度コヒーレンス・トラッキング（Coarse-Grain Coherence Tracking）は、ブロードキャスト・ベースの共用メモリ・マルチプロセッサ・システムのパフォーマンス、スケーラビリティ、および電力消費量を改善し得る技術である。リージョン・コヒーレンス・アレイは、要求待ち時間を最小にし、相互接続帯域幅（interconnect bandwidth）を維持し、および電力消費量を削減するために、この情報を使ってメモリ要求を経路指定する。
【０００４】
リージョン・コヒーレンス・アレイにより促進される粗コヒーレンス・トラッキングに関連した３つの実施上の考慮事項、即ち、領域、待ち時間、および電力消費量が存在する。 第１に、リージョン・コヒーレンス・アレイは、プロセッサのキャッシュ階層に含まれたデータをそのリージョン・コヒーレンス・アレイが何回もマップし得るように効果的であるためには多少大きいことが必要である。（１２８バイトのキャッシュ・ラインを仮定すると）、４ＫＢのリージョンを有するリージョン・コヒーレンス・アレイは効果的であるためにはプロセッサのキャッシュ階層のロケーションの数の少なくとも４分の１を必要とするということを、経験的な結果は示している。従って、リージョン・コヒーレンス・アレイは、粗コヒーレンス・トラッキングを促進する場合にかなりの領域を消費量する。第２に、そのサイズの理由の一部として、リージョン・コヒーレンス・アレイは、外部の要求に付加される待ち時間を最小にするには、最低レベルのキャッシュと同時にアクセスされる必要がある。外部の要求を経路指定するためにキャッシュ・ミスが検知されるとき、リージョン・コヒーレンス状態が使用される。 第３に、リージョン・コヒーレンス・アレイは電力欠乏になることがある。リージョン・コヒーレンス・アレイの異常なサイズおよび最低レベルのキャッシュと同時にアクセスされる必要性はかなり大きな電力消費量を導くことがある。従って、最低レベルのキャッシュのヒット時にリージョン・コヒーレンス・アレイをアクセスすると、電力が浪費される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、効率的にプロセッサ要求を処理するようにキャッシュ・メモリ・システムを構成する方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００６】
リージョン・キャッシュ、リージョン・コヒーレンス・アレイ、および最低レベル・キャッシュを含むキャッシュ・エレメントのグループが、待ち時間および電力消費量の要件のトレードオフに基づいたプロセッサ・アクセスのために構成される。１つの選択された構成は、キャッシュ・エレメントを相互にアクセスする順序が他の可能な構成とは異なる。リージョン・コヒーレンス・アレイの電力消費量、待ち時間、および帯域幅要件を削減するために、リージョン・キャッシュは多くの構成で使用される。リージョン・キャッシュは、電力消費量を削減すると共にリージョン・キャッシュにおいてヒットした要求にリージョン・コヒーレンス状態を効率的に供給して、大きなリージョン・コヒーレンス・アレイよりも前に（またはそれと同時に）プロセッサ要求によってアクセスされる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施例に従って、データ処理システムのブロック図を示す。
【図２】本発明の実施例に従って、リージョン・コヒーレンス・アレイおよび最低レベル・キャッシュに関するシステムにおけるリージョン・キャッシュおよびそのリージョン・キャッシュの可能な配置を示すブロック図である。
【図３】一実施例に従って、プロセッサおよび他のキャッシュ・エレメントに関連したリージョン・キャッシュの配置を示す第１のキャッシュ構成を示すブロック図である。
【図４】一実施例に従って、プロセッサに関連したリージョン・キャッシュおよび他のキャッシュ・エレメントの配置を示す第２のキャッシュ構成を示すブロック図である。
【図５】一実施例に従って、プロセッサに関連したリージョン・キャッシュおよび他のキャッシュ・エレメントの配置を示す第３のキャッシュ構成を示すブロック図である。
【図６】一実施例に従って、プロセッサに関連したリージョン・キャッシュおよび他のキャッシュ・エレメントの配置を示す第４のキャッシュ構成を示すブロック図である。
【図７】一実施例に従って、プロセッサに関連したリージョン・キャッシュおよび他のキャッシュ・エレメントの配置を示す第５のキャッシュ構成を示すブロック図である。
【図８】一実施例に従って、キャッシュ共用構成を示すブロック図である。
【図９】一実施例に従って、第１のキャッシュ構成における要求の処理を示すフローチャートである。
【図１０】一実施例に従って、キャッシュ構成を決定および具体化するための方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
図示の実施例は、プロセッサ要求を効率的に処理するようにキャッシュ・メモリ・システムを構成する方法およびシステムを提供する。リージョン・キャッシュ、リージョン・コヒーレンス・アレイ、および最低レベル・キャッシュを含むキャッシュ・エレメントのグループは、待ち時間および電力消費量の要件のトレードオフに基づいてプロセッサ・アクセスを行なうように構成される。１つの選択されたキャッシュ構成は、キャッシュ・エレメントを相互にアクセスする順序が他の可能な構成とは異なる。リージョン・キャッシュは、リージョン・コヒーレンス・アレイの電力消費量、待ち時間、および帯域幅の要件を削減するために、多くのキャッシュ構成で使用される。リージョン・キャッシュは、リージョン・キャッシュにおいてヒットした要求にリージョン・コヒーレンス状態を効率的に供給して、大型のリージョン・コヒーレンス・アレイよりも前に（または、それと同時に）プロセッサ要求によってアクセスされる。
【０００９】
本発明の実施例に関する詳細な説明において、本発明を実施し得る特定の実施例が、当業者が本発明を実施することを可能にするように十分に詳しく記述されており、他の実施例が利用され得ること、および、本発明の技術的範囲から逸脱することなく、論理的、体系的、プログラム的、機械的、電気的、およびその他の変更が行われ得ることは当然である。従って、以下の詳細な説明は、限定的な意味に解釈されるべきではなく、本発明の技術的範囲は、「特許請求の範囲」の記載によってのみ定義される。
【００１０】
図の説明では、同様のエレメントが先出の図と同様の名称および参照番号を与えられている。後出の図がそのエレメントを異なるコンテキストでまたは異なる機能に関連して利用する場合、そのエレメントは図番を表わす先行数字（例えば、図１に関しては１xxおよび図２に関しては２xx）を与えられる。それらのエレメントに割り当てられた特定の数字は、単に記述を補足するためだけに用いられており、本発明に関して如何なる限定（構造的または機能的限定）を暗示することを意味するものではない。
【００１１】
特定のコンポーネント、デバイス、および／またはパラメータの名称の使用が単なる例示であって、本発明に関して如何なる限定も示唆するものではない、ということは当然である。本発明は、この明細書においてコンポーネント／デバイス／パラメータを説明するために、限定なく利用された種々の命名法／用語を用いて具現化され得る。本明細書において利用された各用語は、その用語が利用される際に与える最も広義の解釈を与えられるべきものである。
【００１２】
次に図１を参照すると、データ処理システム（および接続されたネットワーク）のブロック図が示される。データ処理システム（ＤＰＳ）１００は、システム相互接続バス１０２を介してシステム・メモリ１０６に接続された少なくとも１つのプロセッサまたは中央処理装置（ＣＰＵ）１０１を含む。ＤＰＳ１００は、システム・バス１０２に接続されたキャッシュ・サブシステム／階層１０３も含む。他の実施態様では、キャッシュ・サブシステム１０３は、いくつかの可能な構成の１つにおいて、１つまたは複数のプロセッサ（ＣＰＵ１０１）およびメモリ１０６の間に直接接続され得る。更に、オンチップ・プロセッサ・キャッシュ（例えば、レベル１（Ｌ１）キャッシュ）および最低レベル・キャッシュ１０４、並びに１つまたは複数の他のキャッシュまたはキャッシュ構造（例えば、リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ（ＲＣＡ）１０７）を含む複数レベルのキャッシュが提供され得る。 
【００１３】
ＤＰＳ１００が、ネットワーク・インターフェース装置（ＮＩＤ）１２５と共に示される。ＮＩＤ１２５により、ＤＰＳ１００はアクセス・ネットワーク１３０を介して１つまたは複数のプロセッサ１３３に接続している。図１に示されたハードウェアおよび基本構成が変更可能であることは、当業者には明らかであろう。例えば、図示のハードウェアに加えてまたはそのハードウェアの代わりに、他の装置／コンポーネントを使用することも可能である。図示の例は、本発明に関して体系上の限定を暗示することを意味するものではない。
【００１４】
開示された実施例は、ＤＰＳ１００のコンポーネントを利用して具現化されるいくつもの機能的特徴を提供する。特に、ＣＰＵ１０１およびキャッシュ・サブシステム１０３は、種々の機能的な特徴を提供するためのロジック（例えば、キャッシュ・コントローラ・ロジック）を含み、そのロジックは、（ａ）待ち時間および電力消費量の要件に基づいてプロセッサ要求を効率的に処理するようにキャッシュ・メモリ・システムを構成するためのロジック、および（ｂ）構成されたキャッシュ・メモリ・システムを具現化するためのロジックを含む。本実施例によれば、それらの機能的特徴および付加的な特徴／機能も図２乃至図１０に関する説明において後述される。
【００１５】
次に図２を参照すると、本発明の実施例に従って、リージョン・キャッシュ、並びに、システム内のリージョン・コヒーレンス・アレイおよび最低レベル・キャッシュに関するそのリージョン・キャッシュの適切な配置が示される。キャッシュ・エレメント２００はプロセッサ１０１およびキャッシュ・サブシステム１０３を含む。キャッシュ・サブシステム１０３は、更に、リージョン・キャッシュ１０５、リージョン・コヒーレンス・アレイ１０７、および最低レベル・キャッシュ１０４を含む。更に、キャッシュ・エレメント２００内にはリージョンＩＤ２０２が示される。
【００１６】
リージョン・キャッシュ１０５は、プロセッサ１０１によって最近使用されたリージョンに関する（リージョンＩＤ２０２によって表わされ、識別される）状態情報を格納する小型のタグ付けされたセット・アソシエイティブ・アレイである。リージョン・キャッシュ１０５は、本質的にはリージョン・コヒーレンス・アレイ１０７のための小型キャッシュである。プロセッサ要求は、大型のリージョン・コヒーレンス・アレイ１０７にアクセスする前に（または、アクセスと同時に）その要求されたリージョンに関してリージョン・キャッシュ１０５をチェックする。各エントリは、（１）リージョン・アドレス・タグ２１２、（２）リージョン・コヒーレンス状態２１４、（３）最低使用頻度（ＬＲＵ）置換ポリシ２１３を具現化すためのビット、（４）有効ビット２１０、および（５）１つまたは複数のパリティ・ビット２１１を含む。リージョン・キャッシュ１０５におけるエントリは、リージョン・コヒーレンス・アレイ１０７から得られた状態情報を用いてプロセッサ要求により割り当てられる。リージョン・キャッシュ１０５における情報は、単にリージョン・コヒーレンス・アレイ１０７における情報のサブセットであり、リージョンは、リージョン・コヒーレンス・アレイ１０７を更新することなくリージョン・キャッシュ１０５から取り除かれ得る。リージョン・コヒーレンス・アレイのエントリにおける情報が変化する場合、対応するリージョン・キャッシュ・エントリ（それが存在する場合）は、更新または無効化され得る。リージョン・キャッシュ１０５は、それが小型であるために、リージョン・コヒーレンス・アレイ１０７よりもアクセスが高速であり、必要とする電力が少ない。リージョン・コヒーレンス・アレイ１０７は、リージョン・キャッシュ１０５をバックアップしたり外部要求を処理したりするにために必要な容量を提供する。
【００１７】
リージョン・キャッシュ１０５は大型のリージョン・コヒーレンス・アレイよりも前に（または、それと同時に）プロセッサ要求によってアクセスされて、リージョン・コヒーレンス状態が、リージョン・キャッシュ１０５においてヒットした要求を素早く且つ電力的に効率よく処理することを可能にする。プロセッサ要求は、外部要求を経路指定するためにそのリージョンと関連したリージョン・コヒーレンス状態を得ることを必要とするだけである。従って、リージョン・キャッシュ１０５は、システムにおける他のプロセッサからの要求も処理しなければならないリージョン・コヒーレンス・アレイ１０７が必要とするようなライン・カウントまたは存在ビットを必要としない。リージョン・キャッシュ１０５は、リージョン・コヒーレンス・アレイの電力消費量、待ち時間、および帯域幅の要件を削減するフィルタとも考えられ得る。
【００１８】
リージョン・キャッシュ１０５は、電力消費量および／または待ち時間をトレードオフするために５つのキャッシュ構成のうちの１つにおいて使用され得る。これらの５つのキャッシュ構成は、後述される図３乃至図７に示される。そのキャッシュ構成は、リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７がプロセッサ要求によって相互におよび最低レベル・キャッシュに関連してアクセスされる態様／順序が異なる。そのキャッシュ構成は電力および待ち時間に関して順序付けられる。第１のキャッシュ構成から第５のキャッシュ構成まで、電力消費量は増加および待ち時間は減少する。
【００１９】
それらのキャッシュ構成のうちの２つ（図３のキャッシュ構成１（３００）および図５のキャッシュ構成３（５００））では、リージョン・コヒーレンス・アレイ１０７は、領域を節約するために単一のチップ上のプロセッサによって任意選択的に共用され得るし、リージョン・キャッシュ１０５は、共用のリージョン・コヒーレンス・アレイ１０７への要求をフィルタする。
【００２０】
図３は、一実施例に従って、プロセッサおよび他のキャッシュ・エレメントに関連したリージョン・キャッシュの配置を示す第１のキャッシュ構成である。キャッシュ構成１（３００）は、プロセッサ１０１（図示されてない）からの要求を最初に受け取る最低レベル・キャッシュ１０４を含む。最低レベル・キャッシュ１０４にリージョン・キャッシュ１０５が接続されている。更に、リージョン・キャッシュ１０５は、リージョン・コヒーレンス・アレイ１０７にも接続されている。
【００２１】
キャッシュ構成１（３００）では、キャッシュ・ミスが検知された後、リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７は相互に順次アクセスされる。キャッシュ構成１（３００）は、外部要求に付加される待ち時間のコストでシステムの電力消費量に関する２つの構造（リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７）の影響を最小にする。 しかし、リージョン・キャッシュ１０５内におけるキャッシュ・ヒットの場合、リージョン・コヒーレンス・アレイ１０７内のキャッシュ・ヒットに起因する待ち時間よりも少ない待ち時間が外部要求に付加される。 キャッシュ構成１（３００）では、図８に示されるように、リージョン・コヒーレンス・アレイ１０７が、領域を節約するために１つのチップ上のプロセッサ・コア間で任意選択的に共用され得る。その後、リージョン・キャッシュ１０５は、共用のリージョン・コヒーレンス・アレイ１０７の付加される待ち時間のペナルティを緩和し、共用のリージョン・コヒーレンス・アレイ１０７における帯域幅要求を削減する。
【００２２】
図４は、一実施例に従って、プロセッサおよび他のキャッシュ・エレメントに関連したリージョン・キャッシュの配置を示す第２のキャッシュ構成である。キャッシュ構成２（４００）は、プロセッサ１０１（図示されてない）からの要求を最初に受け取る最低レベル・キャッシュ１０４を含む。最低レベル・キャッシュ１０４には、それぞれリージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７を含む一対の分岐が接続されている。その一対の分岐は、リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７への並列的アクセスを可能にする。
【００２３】
キャッシュ構成２（４００）において、リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７は、最低レベル・キャッシュ１０４でキャッシュ・ミスが検出された後、並列的に（或いは同時にまたはほぼ同時に）相互にアクセスされる。キャッシュ構成２（４００）は、電力を節約するためにキャッシュ・ミスが検出された後にしかその構造がアクセスされないので、キャッシュ構成１（３００）と同じであるが、わずかに多い電力のコストでより少ない平均待ち時間およびより少ない最悪時の待ち時間となる。
【００２４】
図５は、一実施例に従って、プロセッサおよび他のキャッシュ・エレメントに関連したリージョン・キャッシュの配置を表わす第３のキャッシュ構成を示す。キャッシュ構成３（５００）は、最低レベル・キャッシュ１０４およびリージョン・キャッシュ１０５を含む一対の分岐を含む。その一対の分岐は、最低レベル・キャッシュ１０４およびリージョン・キャッシュ１０５への並列的アクセスを可能にする。その一対の分岐の各エレメントは、リージョン・コヒーレンス・アレイ１０７に接続される。
【００２５】
キャッシュ構成３（５００）において、リージョン・キャッシュ１０５は、最低レベル・キャッシュと並列的にアクセスされるが、大型のリージョン・コヒーレンス・アレイ１０７は、キャッシュ・ミスが検知され且つリージョン・キャッシュ・ミスが生じた後にだけ、アクセスされる。リージョン・キャッシュのヒット時には、キャッシュ・ミスが検知される前にリージョン・コヒーレンス状態が得られる。キャッシュ構成３（５００）は第２のキャッシュ構成（キャッシュ構成２（４００））より多くの電力を使用するが、第２のキャッシュ構成よりも少ない待ち時間を外部要求に及ぼす。更に、第１のキャッシュ構成のように、リージョン・コヒーレンス・アレイ１０７は、領域を節約するためにチップ上のプロセッサ・コア間で任意選択的に共用され得る（図８）。従って、リージョン・キャッシュ１０５は、共用のリージョン・コヒーレンス・アレイ１０７における付加的な待ち時間ペナルティを緩和し、すべてのプロセッサ・コアの帯域幅の要件を削減する。
【００２６】
図６は、一実施例に従って、プロセッサおよび他のキャッシュ・エレメントに関連したリージョン・キャッシュの配置を表わす第４のキャッシュ構成を示す。キャッシュ構成４（６００）は最低レベル・キャッシュ１０４を含む。 更に、プロセッサ１０１（図示されてない）がリージョン・キャッシュ１０５に接続されている。リージョン・キャッシュ１０５は、更にリージョン・コヒーレンス・アレイ１０７に接続されている。
【００２７】
キャッシュ構成４（６００）において、リージョン・キャッシュ１０５はリージョン・コヒーレンス・アレイ１０７と順次にアクセスされる。しかし、リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７は最低レベル・キャッシュ１０４と並列的にアクセスされる。キャッシュ構成４（６００）は第３のキャッシュ構成より多くの電力を使用する。それは、両方の構造（リージョン・キャッシュ１０５およびリージョン・コヒーレンス・アレイ１０７）が最低レベル・キャッシュ１０４（キャッシュ・ヒット時に電力を浪費する）と並列的にアクセスされるためである。しかし、キャッシュ構成４（６００）は、リージョン・キャッシュ１０５においてヒットした要求に対して（リージョン・コヒーレンス・アレイ１０７だけを備えたシステムよりも）電力を節約するが、リージョン・キャッシュ１０５においてキャッシュ・ミスした要求に対してわずかな電力の増加を伴う。
【００２８】
図７は、一実施例に従って、プロセッサおよび他のキャッシュ・エレメントに関連したリージョン・キャッシュの配置を表す第５のキャッシュ構成を示す。そのキャッシュ構成５（７００）は、最低レベル・キャッシュ１０４、リージョン・キャッシュ１０５、およびリージョン・コヒーレンス・アレイ１０７を含む。
【００２９】
キャッシュ構成５（７００）において、リージョン・キャッシュ１０５は、リージョン・コヒーレンス・アレイ１０７および最低レベル・キャッシュ１０４と並列的にアクセスされる。キャッシュ構成５（７００）では、リージョン・キャッシュ１０５は、ヒット時にリージョン・コヒーレンス・アレイ１０７より速くリージョン・コヒーレンス・アレイ状態情報を提供することができ、リージョン・コヒーレンス・アレイ１０７が、最低レベル・キャッシュ１０４のアクセス待ち時間よりも少ないまたはそれと同等のアクセス待ち時間を有するという要件を緩和する。キャッシュ構成５（７００）は、すべての構造体を即座にアクセスすることにより待ち時間を最小にするが、他のキャッシュ構成よりも多くの電力を必要とする。
【００３０】
リージョン・キャッシュ１０５を有することの主な利点は、ほとんどのプロセッサ要求がリージョン・キャッシュ１０５においてヒットし、リージョン・コヒーレンス・アレイ１０７よりも少ない待ち時間または少ない電力消費量のいずれかでもって満たされるということである。経験的なデータは、わずか１２８個のエントリでプロセッサ要求の半分以上がヒットすることを示唆している。他の利点はプロセッサ要求のフィルタリングを含む。そのフィルタリングは、領域を節約するために１つのチップ当たり１つの共用のリージョン・コヒーレンス・アレイ１０７を持つことを可能にする。
【００３１】
図８は、一実施例に従って、キャッシュ共用構成を示す。キャッシュ構成６（８００）は、第１のプロセッサ１０１、第２のプロセッサ８０１、および第３のプロセッサ８０２を含む複数のプロセッサを含む。キャッシュ構成６（８００）は、更に、第１のリージョン・キャッシュ１０５、第２のリージョン・キャッシュ８０３、および第３のリージョン・キャッシュ８０４を含む複数のリージョン・キャッシュを含む。キャッシュ構成６（８００）には、キャッシュ構成６（８００）におけるすべてのプロセッサの間で共用されるリージョン・コヒーレンス・アレイ１０７が含まれる。
【００３２】
キャッシュ構成１（３００）およびキャッシュ構成３（５００）では、キャッシュ構成６（８００）に示されるように、リージョン・コヒーレンス・アレイ１０７は１つのチップ上のプロセッサ・コアの間で（任意選択的に）共用され得る。１つの大型のリージョン・コヒーレンス・アレイを共用することによって、リージョン・コヒーレンス・アレイ１０７の遠隔の部分をアクセスする大きい待ち時間というを犠牲を払って、共通のコードおよびデータのために小型の記憶装置が使用される。共用のリージョン・コヒーレンス・アレイ１０７により、リージョン・キャッシュ（例えば、リージョン・キャッシュ１０５）は、待ち時間のペナルティを緩和し、リージョン・コヒーレンス・アレイ１０７をアクセスするためにオンチップ通信を削減し、１つのリージョン・コヒーレンス・アレイ１０７における多数のプロセッサ・コアの帯域幅の要件の増加を緩和することができる。
【００３３】
図９は、一実施例に従って、第１のキャッシュ構成における要求の処理を示すフローチャートである。図９のプロセスは、開始ブロック９０１で始まり、ブロック９０２に進む。そこでは、プロセッサ要求が、先ず、最低レベル・キャッシュに送られる。判断ブロック９０３において、データ処理システムは、キャッシュ・ヒットが最低レベル・キャッシュにおいて生じたかどうかを判断する。ブロック９０３において、キャッシュ・ヒットが最低レベル・キャッシュにおいて生じたということをデータ処理システムが判断した場合、プロセスはブロック９０４に進む。そこでは、プロセッサ要求が最低レベル・キャッシュによって満たされる。ブロック９０３において、キャッシュ・ミスが最低レベル・キャッシュにおいて生じたということをデータ処理システムが判断した場合、プロセスはブロック９０５に進み、そこでは、その要求がリージョン・キャッシュに送られる。
【００３４】
判断ブロック９０６では、データ処理システムは、キャッシュ・ヒットがリージョン・キャッシュにおいて生じたかどうかを判断する。ブロック９０６において、キャッシュ・ヒットがリージョン・キャッシュにおいて生じたということをデータ処理システムが判断した場合、プロセスはブロック９０７に進み、そこでは、要求を満たすためにリージョン・キャッシュ状態が利用される。ブロック９０６において、キャッシュ・ミスがリージョン・キャッシュにおいて生じたということをデータ処理システムが判断した場合、プロセスはブロック９０８に進み、そこでは、要求がリージョン・コヒーレンス・アレイに送られる。
【００３５】
判断ブロック９０９では、データ処理システムは、キャッシュ・ヒットがリージョン・コヒーレンス・アレイにおいて生じたかどうかを判断する。ブロック９０９において、キャッシュ・ヒットがリージョン・コヒーレンス・アレイで生じたということをデータ処理システムが判断した場合、プロセスはブロック９１１に進み、そこでは、要求を満たすためにリージョン・コヒーレンス・アレイ状態が利用される。ブロック９０９において、キャッシュ・ミスがリージョン・コヒーレンス・アレイで生じたということをデータ処理システムが判断した場合、プロセスはブロック９１０に進み、そこでは、（データ領域が共用される可能性のある）データ領域に対するサーチが、データ処理システムに関連した共用のメモリ・クラスタにおいて継続する。プロセスは、ブロック９１２において終了する。
【００３６】
図１０は、一実施例に従って、キャッシュ構成を決定および具現化する方法を示すフローチャートである。図１０に示された方法は、図１乃至図９に示されたコンポーネントに関連して説明され得るが、当然のことながら、これが単に便宜的なものであること、および種々な方法を具現化するとき、代替のコンポーネントおよび／またはそれのキャッシュ構成が使用されてもよい。
【００３７】
図１０のプロセスは開始ブロック１００１において始まり、ブロック１００２に進む。そこでは、データ処理システムの設計者が、システムにとって望ましい待ち時間および電力消費量の要件のセットを決定／識別する。ブロック１００３では、待ち時間および電力消費量の要件を満たすようにキャッシュ構成が選択される。そのキャッシュ構成は、多数の設計／構成のうちの選択された１つにおいて最低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含むキャッシュ・エレメントのセットを相互接続する。ブロック１００４において示されるように、選択された構成はデータ処理システムにおいて具現化される。プロセスはブロック１００５において終了する。
【００３８】
上記のフローチャートでは、本方法の１つまたは複数個がコンピュータ可読コードを含み、そのコンピュータ可読コードがコンピューティング装置において実行されるときに一連のステップが遂行されるよう、コンピュータ・プログラムとしてコンピュータ可読媒体において具体化される。或る実施態様では、本方法における幾つかのステップが、本発明の主旨および技術的範囲から逸脱することなく、結合されるか、または同時にもしくは種々の順序で遂行されたり、省略されたりすることもある。従って、本方法ステップは特定のシーケンスで記述および図解されているが、特定のステップ・シーケンスの使用が本発明に対する如何なる限定も暗示することを意味しない。本発明の主旨および技術的範囲から逸脱することなく、ステップ・シーケンスに関する変更が行なわれ得る。従って、特定のシーケンスの使用は限定の意味として解されるべきではなく、本発明の技術的範囲は「特許請求の範囲」の記載によってのみ定義される。
【００３９】
「特許請求の範囲」における記載に示されるように、本実施例は、プロセッサと、キャッシュ・グループと、ロジックとを含むデータ処理システムを提供する。キャッシュ・グループは、そのキャッシュ・グループ内のデータ要求を解決するために要求待ち時間および電力消費量の考慮事項に基づいて事前選択された多数のアクセス構成の１つで相互に且つプロセッサに接続された少なくとも１つの低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含む複数のキャッシュ・エレメントを有する。上記ロジックは、データ要求に応答して、キャッシュ・グループにおける複数のキャッシュ・エレメントの１つまたは複数個へのアクセスを、事前選択されたアクセス順序に対応する順序で開始する。
【００４０】
更に、本実施例の特徴は、キャッシュ・メモリ・システムを設計するための方法をカバーする。その方法は、低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含む複数のキャッシュ・エレメントを持ったキャッシュ・グループにおけるデータ要求を解決するために望ましい最適の要求待ち時間および電力消費量の要件を決定するステップと、要求待ち時間および電力消費量の要件の考慮事項に基づいて、要求待ち時間および電力消費量の要件を満たすアクセス順序がデータ要求を解決することを可能にするために、キャッシュ・グループのキャッシュ・エレメントが相互接続され得る複数の可能なキャッシュ構成の中から第１のキャッシュ構成を選択するステップと、第１のキャッシュ構成を有するキャッシュ・メモリ・システムを設計するステップとを含む。更に、その方法は、プロセッサと、第１のキャッシュ構成で配列されたキャッシュ・エレメントを有するキャッシュ・グループを含むキャッシュ・メモリ・システムとを持った処理装置の製造をカバーする。
【００４１】
一実施例では、上記設計するプロセス（ステップ）は、データ要求が先ず低レベル・キャッシュにおいてキャッシュ・ミスを生じ、次にリージョン・キャッシュにおいてキャッシュ・ミスを生じるとき、低レベル・キャッシュから、それぞれ、リージョン・キャッシュへのアクセス、次にリージョン・コヒーレンス・アレイへの順次アクセス順序を可能にするようにキャッシュ・エレメントを構成するステップであって、上記順次アクセス順序は、キャッシュ・エレメントの１つが他のキャッシュ・エレメントよりも前にアクセスされることを可能にする、ステップ、または、データ要求が低レベル・キャッシュおよびリージョン・キャッシュにおいてキャッシュ・ミスを生じるとき、リージョン・コヒーレンス・アレイへのアクセスの前に低レベル・キャッシュおよびリージョン・キャッシュに関する同時アクセスを可能にするようにキャッシュ・エレメントを構成するステップ、または、低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイに関する同時アクセスを可能にするようにキャッシュ・エレメントを構成するステップであって、キャッシュ・エレメントが実質的に同時にアクセスされる、ステップ、を含む。
【００４２】
更に別の実施例では、本発明の方法は、キャッシュ・エレメントの事前選択された設計構成に基づいて特定の順序でキャッシュ・エレメントを選択的にアクセスするためのロジックを提供するステップを含み、そのロジックは、リージョン・キャッシュおよびリージョン・コヒーレンス・アレイが第１のキャッシュ構成を介して最低レベル・キャッシュと相互接続されているとき、最低レベル・キャッシュにおけるキャッシュ・ミスに続いてリージョン・キャッシュおよびリージョン・コヒーレンス・アレイを同時にアクセスするステップ、または、第２のキャッシュ構成を介して相互接続されたそのリージョン・キャッシュおよび最低レベル・キャッシュを、リージョン・コヒーレンス・アレイのアクセスよりも前に、同時にアクセスするステップであって、リージョン・コヒーレンス・アレイへのアクセスがリージョン・キャッシュおよび最低レベル・キャッシュの１つまたは複数個におけるキャッシュ・ミスの後に生じる，ステップ、または、第３のキャッシュ構成を介して相互接続されたリージョン・コヒーレンス・アレイ、リージョン・キャッシュ、および最低レベル・キャッシュを同時にアクセスするステップ、または、リージョン・キャッシュおよびリージョン・コヒーレンス・アレイが第４のキャッシュ構成を介して相互接続されているとき、最低レベル・キャッシュからリージョン・キャッシュへのアクセス、次に、リージョン・コヒーレンス・アレイへの順次アクセスを行なうステップであって、リージョン・キャッシュのアクセスが最低レベル・キャッシュにおけるキャッシュ・ミスの後にだけ生じ、リージョン・コヒーレンス・アレイのその後のアクセスがリージョン・キャッシュにおけるキャッシュ・ミスの後にだけ生じる、ステップと、第５のキャッシュ構成を介して相互接続されているリージョン・キャッシュおよび最低レベル・キャッシュを、リージョン・コヒーレンス・アレイのアクセスよりも前に、同時にアクセスするステップであって、リージョン・コヒーレンス・アレイへのアクセスがリージョン・キャッシュにおけるキャッシュ・ミスの後に生じる、ステップ、のうちの１つを遂行するためのロジックを含み、それらのキャッシュ構成の各々はデータ要求を解決するための電力消費量および要求待ち時間の異なる平衡を与える。
【００４３】
別の実施例は、プロセッサを有し、プロセッサに結合されたキャッシュ・グループのキャッシュ・エレメント間におけるキャッシュ・アクセスの順序を実施するためのデータ処理システムにおける方法を提供する。その方法は、キャッシュ・エレメントの第１のアクセス順序を持つ第１のキャッシュ構成を選択するステップであって、その選択された第１のキャッシュ構成は、キャッシュ・グループ内のデータ要求を解決するための要求待ち時間を最小にすることがキャッシュ・グループ内の電力消費量を最小にすることに関する優先考慮事項であるとき、データ要求に関連した要求待ち時間の量を最小にし、前記キャッシュ・エレメントは、最低レベル・キャッシュ、リージョン・キャッシュ、およびリージョン・コヒーレンス・アレイを含む、ステップと、キャッシュ・エレメントの第２のアクセス順序を有する第２のキャッシュ構成を選択するステップであって、第２のアクセス順序は、キャッシュ・グループ内のデータ要求を解決すると共にキャッシュ・グループの電力消費量を削減することがキャッシュ・グループ内の電力消費量の最小化に関する優先考慮事項であるとき、キャッシュ・エレメント内のデータ要求の処理に関連した電力消費量のレベルを削減する、ステップと、要求待ち時間の最小化と電力消費量の削減との間における設計ベースのトレードオフを可能にするために、各々がキャッシュ・エレメントの異なるアクセス順序を有する複数の他のキャッシュ構成の１つを選択するステップとを含む。
【００４４】
更に明らかなように、本発明の実施例の各プロセスは、ソフトウェア、ファームウェア、またはハードウェアの任意の組み合わせを使って具現化され得る。本発明をソフトウェアで実施する準備段階として、プログラム・コード（ソフトウェアまたはファームウェアのいずれも）は、一般には、本発明に従って、固定（ハード）ディスク・ドライブ、ディスケット、光ディスク、磁気テープ、半導体メモリ（例えば、ＲＯＭ、ＰＲＯＭ等）のような１つまたは複数の機械読取可能な記憶媒体に記憶され、それによって生産品（または、コンピュータ・プログラム製品）となるであろう。プログラム・コードを含むその生産品は、そのコードを記憶装置から直接に実行することによって、そのコードを記憶装置からハード・ディスク、ＲＡＭ等のような別の記憶装置にコピーすることによって、または、デジタルおよびアナログ通信リンクのような伝送タイプの媒体を使って、そのコードを遠隔実行のために伝送することによって使用される。本発明の方法は、本発明によるコードを含む１つまたは複数の機械読取可能な記憶装置を、そのコードを実行するための適切な処理ハードウェアと組み合わせることによって実施され得る。本発明を実施するための装置は、本発明に従ってコード化されたプログラムへのネットワーク・アクセスを含むまたは有する１つまたは複数の処理装置および記憶システムであってもよい。
【００４５】
従って、本発明の実施例はインストールされた（または実行された）ソフトウェアを有する完全に機能的なコンピュータ（サーバ）システムとの関連で説明されたが、重要なこととして、本発明の実施例のソフトウェア態様がコンピュータ・プログラムとして種々の形式で配布され得ること、および本発明の実施例が実際に配布を行なうために使用される媒体の特定のタイプに関係なく等しく適用し得ることは当業者には明らかであろう。例えば、媒体のタイプに関する非排他的なものは、フロッピ・ディスク、サム・ドライブ、ハード・ディスク・ドライブ、ＣＤ−ＲＯＭ、ＤＶＤのような記録可能タイプの（実体的な）媒体、並びに、デジタルおよびアナログ通信リンクのような伝送タイプの媒体を含む。
【００４６】
本発明は例示的な実施例に関して説明されたが、本発明の技術的範囲から逸脱することなく、種々の変更が行なわれ得ることおよび均等物がそのエレメントに対して代用され得ることは当業者には明らかであろう。更に、本発明の本質的な技術的範囲から逸脱することなく、特定のシステム、デバイス、またはコンポーネントを本発明の教示事項に適合させるように多くの修正を行なうことも可能である。従って、本発明は、本発明を実行するための開示された特定の実施例に限定されず、「特許請求の範囲」に記載された技術的範囲内にあるすべての実施例を含むものである。更に、第１、第２等の用語の使用は如何なる順番または重要性も表わさず、むしろ、第１、第２等の用語は或るエレメントを別のエレメントから区別するために使用された。
【図１】
0005706322.tif 000002
【図２】
0005706322.tif 000003
【図３】
0005706322.tif 000004
【図４】
0005706322.tif 000005
【図５】
0005706322.tif 000006
【図６】
0005706322.tif 000007
【図７】
0005706322.tif 000008
【図８】
0005706322.tif 000009
【図９】
0005706322.tif 000010
【図１０】
0005706322.tif 000011