JP2934317B2 - 情報システムにおけるメモリ管理方法、該方法を利用する情報システム - Google Patents

情報システムにおけるメモリ管理方法、該方法を利用する情報システム

Info

Publication number
JP2934317B2
JP2934317B2 JP7504378A JP50437894A JP2934317B2 JP 2934317 B2 JP2934317 B2 JP 2934317B2 JP 7504378 A JP7504378 A JP 7504378A JP 50437894 A JP50437894 A JP 50437894A JP 2934317 B2 JP2934317 B2 JP 2934317B2
Authority
JP
Japan
Prior art keywords
memory
mode
copy
invalidation
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP7504378A
Other languages
English (en)
Other versions
JPH07507174A (ja
Inventor
アビリ,ジヤツク
ペロール,ジヤン−ジヤツク
パロードウ,ジヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Publication of JPH07507174A publication Critical patent/JPH07507174A/ja
Application granted granted Critical
Publication of JP2934317B2 publication Critical patent/JP2934317B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は、情報システムにおける、電子メモリ間にお
けるデータ交換の管理方法ならびに該方法を利用する情
報システム、メモリ、記録媒体に関する。本発明は特に
論理的分割メモリまたは物理的分散メモリあるいはその
両方をもつマルチプロセッサ情報システムに適用され
る。
情報システムは、入出力装置を介して1つまたは複数
の外部サブシステムと交信ができる中央のサブシステム
から成る。大型システムの中央のサブシステムは通常、
中央メモリおよび入出力装置に接続された複数のプロセ
ッサを含む。
各プロセッサは、中央メモリに格納されているプログ
ラムの命令を実行する機能をもつ。これらの命令および
それらの実行に必要なデータは、プロセッサにより中央
メモリのアドレシング手段を使用することによってアク
セスすることができる。しかしながら、中央メモリへの
アクセス時間が比較的長いため、プロセッサは通常、は
るかに高速ではあるが中央メモリの内容のうちのある数
の主要部分のみを内容とする、前置メモリ(キャッシュ
メモリ)を備えている。例えば中央メモリは、各々が通
常16メガビットのダイナミックメモリDRAMの集積回路か
ら成り、ビットアクセス時間が現状ではおよそ60ナノ秒
である、記憶素子で構成されているが、キャッシュメモ
リは通常、ビットアクセス時間が10ナノ秒程度のスタテ
ィックRAM(SRAM)からなる。キャッシュメモリは、デ
ータ記憶域とこれらのデータのアドレス管理機構とで構
成されている。キャッシュメモリのデータ記憶域は、所
定の大きさを持ちそれぞれが中央メモリとの一定量のデ
ータ交換に対応するブロックに分割される。したがって
1ブロックのメモリは、基本的にアドレス部とデータ用
部分とを含む構造によって規定される論理的エンティテ
ィである。したがって各ブロックはそのアドレスによっ
て識別され、あるメモリブロックに特有な内容はコピー
である。すなわち、各ブロックは1つまたは複数のコピ
ーから成る。キャッシュメモリは、「ダイレクトマップ
式キャッシュメモリ」という名称で知られている単一レ
ベルに関連する形式のもの、あるいは複数のレベルに関
連する形式のものが可能である。キャッシュメモリの内
部のアドレス管理機構は、通常ディレクトリまたは「キ
ャッシュタグ」と呼ばれている。
プロセッサは各種の処理回路から成る。例えば本出願
人の特許出願EP−A−0434483号にはマイクロプログラ
ム化プロセッサに適合させた回路の記載がある。同出願
においては、プロセッサはそのキャッシュメモリを介し
て、中央メモリとのデータ交換を可能にするバスに接続
されている。各々のプロセッサとそのキャッシュメモリ
は、複数のICパッケージを接続する同一のプリント回路
カード上に実装されている。回路の集積度は絶えず向上
しているため、今日では各プロセッサを1つのチップに
組み込み、さらにそこにキャッシュメモリの少なくとも
一部を加えることが可能である。
今日の進化した情報システムは、メモリとプロセッサ
のキャッシュメモリとの間に別レベルのメモリを介在さ
せている。例えば中間キャッシュメモリが上述出願に記
載されている。同出願においては、プロセッサの近くに
あるキャッシュメモリが中間キャッシュメモリを介して
中央メモリとデータ交換を行っている。この場合、プロ
セッサの近くにある各キャッシュメモリは私用キャッシ
ュメモリと呼称され、中間キャッシュメモリを共有する
ので、後者は共有キャッシュメモリと呼称される。私用
キャッシュメモリもデータ記憶域とアドレス管理機構で
構成される。一般的に、あるプロセッサと中央メモリと
の接続を行うメモリ間には多少複雑な階層が存在する。
この階層においてはプロセッサに近いほどレベルが高い
という。一方、最も低いレベルの構成要素である中央メ
モリも共有することができ、その諸要素は情報システム
内で分散させることができる。本発明は一般的に、ある
情報システムの電子メモリの任意の階層の2つのレベル
間でのデータ交換の管理に適用される。
本発明はこのようなデータの一貫性管理によって課さ
れる問題に関する。その問題とは、あるプロセッサによ
って要求されたメモリブロックのコピーが、そのプロセ
ッサによって変更され、その結果、他のプロセッサが通
常使うことのできるキャッシュメモリに保存されている
コピーと対応をしなくなる可能性があることである。
現状の解決方法は、更新モードによる方法と、無効化
モードによる方法という2つの相反する方法のいずれか
一方を利用するというものである。あるブロックのコピ
ーが第一プロセッサによって変更されると、コピーが基
準コピーとなるが、無効化とは、同ブロックの更新され
ていない他のコピーを全て無効にする作業である。無効
果は、管理すべきコピーの数を軽減し、その結果トラフ
ィックを軽減するという簡単な方法である、その実施
も、ディレクトリ内の状態ビットを変更することにより
行われるので簡単である。無効化は、基準コピーを持つ
キャッシュメモリが肯定応答メッセージを受け取った時
点で終了する。肯定応答は、例えば機械の構造上暗示的
に行われることも、所定時間の経過後に行われることも
ある。しかしながら第二のプロセッサがそのブロックの
コピーを要求する場合、そのキャッシュメモリは第一プ
ロセッサのキャッシュメモリ内に基準コピーを検索しに
行かなければならない。その結果、第二プロセッサのキ
ャッシュメモリへのアクセスのヒット率が低下し、処理
速度が遅くなる。あるブロックについて存在する全ての
コピーの更新は、他のプロセッサでもこれらコピーの利
用が可能になり、したがって同ブロックのコピーを要求
するプロセッサが基準コピーを検索するため他のプロセ
ッサのレベルに行かなくともよいという利点を提供す
る。しかしながら、その更新には、同ブロックのコピー
を持つ全てのメモリに大量のメッセージを送り、全てが
良好なコピーを持つと肯定応答する必要がある。これら
メッセージは、メモリ間のトラフィックの大きな妨げと
なり、したがって直接利用できないブロックのコピーを
あるプロセッサがアクセスする際の平均アクセス時間が
遅くなる。この不利益は更新された全てのコピーが使用
される訳ではないので更に重大なものとなる。
先行技術においては、管理方式は予め決められてい
て、メモリに格納されているブロック全体あるいは1ペ
ージ分のメモリなどの部分集合に適用される。例えば、
ページが複数のプロセッサによって共有される時は更新
モード、またページがほとんどまたは全く共有されるこ
とがない時には無効化モードの使用を決定するようにソ
フトウェアを設計することができる。あるページについ
て一旦モードが選択されると、ソフトウェアはそのペー
ジにおけるプログラムの実行の開始から終了までそのモ
ードを使用する。したがってこのモードはそのページの
すべてのブロックに適用され、かつ一般に1つのプログ
ラムの実行中ずっと適用される。したがってこの2つの
モードは静的な方法であり、使用が簡単である。選択さ
れたモードは各メモリの制御回路内で利用される。各メ
モリの制御回路内での利用手段のハードウェアが単純で
あることも、静的モード使用の利点である。しかしなが
ら、選択されたモードは、プログラムのあるフェーズお
よび同一ページの限られたブロック数にしか適合させる
ことができない。ソフトウェア開発者がそのモードをプ
ログラムの各フェーズに適合させようとすれば、プログ
ラムははるかに複雑なものとなる。
本発明は、使用状況により良く適合した管理モードを
各ブロックに動的に適用することにより、ある情報シス
テムのメモリ間のデータの一貫性管理の問題を解決する
ものである。したがって本発明は各ブロックに適用され
るものであり、各ブロックごとに、もはや静的ではな
く、ブロックの使用法に応じて動的に変化するモードに
よって管理の選択を行うものである。
特許出願EP−A−0443755号は、各ブロックに使用さ
れるモードの非有効性(無効性)を示すしきい値に基い
てメモリブロックのコピーの更新モードと無効化モード
とを切り換えることにより、ある情報システムのメモリ
間のデータの一貫性管理を行う方法を記載している。し
かしながらこの方法は「スヌーピー(snoopy)」と呼ば
れるキャッシュメモリ技術に基いている。この技術は全
てのキャッシュメモリによって共有されるバスの使用に
基いたものでありしたがってキャッシュメモリは、全て
のメッセージがこのバスを通過し、バスが関係のあるメ
ッセージを取り込むのを見ることになる。そのため「ス
ヌーピー」という語が生まれた。したがって共有バスの
使用は、一貫性データ交換においてそれを共有する全て
のキャッシュメモリが情報の供給を受けることを意味す
る。その結果、全てのキャッシュメモリがこれらデータ
交換が通過するのを見ることができ、管理モードの選択
のため、他のキャッシュメモリとは独立して分散した形
で(最下位メモリとは無関係に)個別の決定を下すこと
ができる。これは当業者には周知の事実であり、同出願
の記述から明らかである。この方法の変形はComputer A
rchitecture Conference Proceedings誌、第17巻、第3
号、1989年6月、米国ワシントンの2〜15ページに所載
のEggersらの論文“Evaluating the performance of fo
ur snooping cache coherency protocols"にも記載され
ている。
本発明は、各一貫性データ交換において全て情報の供
給を受けるメモリの数が平均して情報システム内の一定
数のメモリよりも少ないことを特徴とする、各ブロック
に使用されるモードの非有効性(無効性)を示すパラメ
ータのしきい値に基いてメモリブロックのコピーの更新
モードと無効化モードとを切り換えることにより、情報
システム内の所与の数のメモリ間のデータの一貫性管理
を行う方法を目的とする。
この特徴の定義は単に、この方法が、各一貫性データ
交換において全てのキャッシュメモリが情報の供給を受
ける、共有バス(「スヌーピー」技術)を使用したシス
テムには適用されないことを意味している。様々な例に
よって本発明による方法を例示する。
本発明はまた、管理手段が本発明による方法を利用す
ることを特徴とする、メモリ階層と、メモリブロックの
コピーの更新モードと無効化モードとを切り換えること
によりメモリ間のデータの一貫性管理を行う手段とを含
む情報システムを目的とする。本発明は、制御回路が本
発明による方法を実施するためのハードウェアアルゴリ
ズムを含むことを特徴とする、メモリブロックのコピー
を格納するためのデータメモリと制御回路とを含むメモ
リ回路を他の目的とする。
換言すれば、本発明はメモリのハードウェア内におい
て簡単なハードウェアアルゴリズムの形で実現され、こ
れによりメモリのブロックの使用中にメモリブロックの
管理をメモリブロックの確認された挙動に動的に適合さ
せることが可能となるという利点を提供する。
本発明は、例として示し添付図面を参照して行う以下
の説明から明らかになろう。
第1図は、本発明による管理方法を受け取るための例
として取り上げられた情報システムの一覧図および部分
図である。
第2図は、本発明の実施に使用することができるメモ
リブロックのコピーの概略図である。
第3図は、発明による方法の第一の実施例を示す線図
である。
第4図は、第2図に示す方法の第二の実施例を示す線
図である。
第5図は、第4図に示す方法の第二の実施例の第二の
変形を示す線図である。
第6図は、第4図に示す方法の第二の実施例の第二の
変形を示す線図である。
第7図は、第6図に示す方法の変形の実施に使用され
るメモリブロックの概略図である。
第1図に示されている情報システム10の内部では、各
々キャッシュメモリ12を備えた4つのプロセッサ11がメ
モリ13に接続されている。作動時には、各プロセッサ11
に必要なデータが付属のキャッシュメモリ12に要求され
る。キャッシュメモリがそのデータを持っていない場合
には、キャッシュメモリはメモリ13からこのデータを読
み出し、所定の大きさのメモリブロック毎にコピー14を
作成する。メモリブロックのコピー14の構造は第2図に
示されているが、従来のものと同様、アドレス部Adとデ
ータ用部分Dを含む。
情報システムのメモリ12と13の間のデータ交換の管理
方法は、あるメモリブロックのコピーの更新モードまた
は無効化モードを使用するというものである。無効化が
選択された場合には、例えば、各ブロック14のアドレス
Adにそのブロックの状態を示す2つのビットSTを入れる
ことが知られている。従来より4つの基本的な状態が区
別され、それが現在はMESIコードによって規格化されて
いる。同コードにおいては変更後の状態Mは、キャッシ
ュメモリ、基準コピーと呼ばれる、あるブロックについ
ての変更されたコピーの唯一の保持媒体となり、システ
ム内で使用可能な他のコピーは更新されない状態に相当
する。この場合、Mの状態のコピーを保持するキャッシ
ュメモリは、そのコピーをクリヤしようとする際に、メ
モリを供給しこれを更新する責任を負う。排他的状態E
のコピーも、キャッシュメモリが保持する基準コピーで
あるが、この場合は中央メモリが未更新コピーを持って
いる。共有状態Sは、場合によっては中央メモリも含む
複数の保持装置をもつコピーを指す。保持装置は採用さ
れる管理方法によってはポテンシャルによるものとなる
ことがある。さらに、対応するメモリが、更新されなか
ったブロックのコピーを持ち、したがって基準コピーを
保持するメモリではない場合の無効コピー状態がある。
この他にも、別のキャッシュメモリ内に同一のコピーを
もつが中央メモリには持たない基準コピーに影響を及ぼ
す、規格化された任意選択の状態が存在する。このケー
スは、中央メモリ内に保持されているコピーを除くキャ
ッシュメモリのコピーの更新モードにおいて発生する。
この場合、更新されたコピーは共有状態Sとなり、通常
Mと記された基準コピーを保持するキャッシュメモリ
が、その他のキャッシュメモリ、および場合によっては
中央メモリを更新する責任を負う。このケースは、更新
が、例えば同一の共有キャッシュメモリに関連する使用
キャッシュメモリのみに限定するというように、部分的
であってもよいことを明らかにしている。したがって無
効化は基準コピー以外のコピーの状態を示す2つのビッ
トの状態を変更するに過ぎない。
本発明は、使用されるモードの非有効性を表すパラメ
ータVを示す少なくとも1つのしきい値Tを決定しこの
しきい値Tに達した時点で第二のモードを使用すること
から成る方法に基く。第2図および第3図に本発明によ
る方法の実施例を示す。
第3図の線図においては当初の管理モードとして更新
が選択されている。非有効性を表すパラメータVが決定
され、次にしきい値Tと比較される。非有効性を表すパ
ラメータVがしきい値Tよりも低い限り、更新が継続す
る。そうでない場合には無効化という管理モードにな
る。第3図に示す例においては、管理モードは、しきい
値Tに達した時、同一のメモリブロックの未更新コピー
を全て一度でまとめて無効化し、更新モードに復帰する
ものである。したがって、一度でまとめて行う無効化で
は、不必要またはほとんど使用されていないと判断され
た、同一ブロックの未更新コピーは全て除外される。性
能が向上したが同時により複雑になったオプションで
は、不必要なもののみを除外することが可能である。こ
の無効化は、システムのあるブロックのコピー全体に関
するのではなく、あるプロセッサにとってまたはその他
の基準に沿って不必要と判断されるコピーのみを無効化
するというように、選択的部分のみを対象とすることが
できるということが一般的に理解される。このように、
無効化により、残存しているあるいは復元された有効な
コピーを後で変更する際、更新を節約することが可能と
なるとともに、更新にとって好都合な状態に復帰するこ
とが可能となる。一般的にこの管理方法の例は、更新の
非有効性を表すパラメータのしきい値に達した時に、関
連するメモリーのブロックの未更新コピーを全て一度に
まとめて無効化し、更新モードに復帰するものである。
まとめて無効化する場合、全体を対象とする場合と選択
部分を対象とする場合がある。全体を対象とする無効化
が最も容易に実施できる。
第2図は、発明による方法のある管理モードの非有効
性の決定のために用いられるブロックのコピー14の構造
の例を示したものである。図示されたメモリブロックの
コピー14は、2つの状態ビットSTの他に1つのユーティ
リティビットUをアドレスAdに含んでいる。ユーティリ
ティビットUは、例えば最初のコピーの供給時または更
新時に第一状態(例えば0)になり、そのコピーの読み
込み時に第二の状態(1)になる。その結果、例えばプ
ロセッサ11がそのキャッシュメモリ12内でブロックコピ
ー14を読み取ると、ユーティリティビットUが当初第一
の状態0であった場合は同ビットは第二の状態1にな
り、あるいは第二の状態1を維持する。後にプロセッサ
がブロックコピー14のデータを変更すると、コピーの変
更状態Mを記録するために状態ビットSTは変化するが、
ユーティリティビットUについては、そのまま変化させ
ずにおくか、第二状態1にあった時は第一状態0にする
かを選択することができる。その他のコピーを全面的ま
たは部分的に更新することにより、これらコピーのユー
ティリティビットUは第一状態0になる。したがってユ
ーティリティビットUの第一の状態0は、ブロックのコ
ピーの更新の非有効性を示し、第二状態は、更新の有効
性さらには必要性を示すものである。さらに一般的に
は、あるコピーの中に組み込まれたユーティリティビッ
トUはそのコピーの使用状態を示し、その結果、コピー
の管理モードの有効性をも示す。
更新の非有効性を表すパラメータVおよび非有効性を
表すパラメータのしきい値Tの決定は、様々な基準に基
いて行われる。実際にはハードウエア的基準と時間的基
準が混用され相互に適合されているが、両者は区別する
必要がある。ハードウエア基準の例としては、ユーティ
リティビットUが第一状態であるブロックコピーの絶対
数、既存のブロックコピーの百分率、あるいは例えばシ
ステム内で一つのブロックが持ち得る最大コピー数な
ど、各ブロックごとに予め決められたコピー数に対する
百分率などがしきい値と成り得る。また、キャッシュメ
モリ12レベルでのブロック数、または様々なプロセッサ
11間におけるコピーの予想分配率によっても決定するこ
とができる。一つだけのコピー上での更新の非有効性を
勘案して管理モードを変更するのではなく、あるブロッ
クのコピー全体の全面的更新または有意部分の更新の非
有効性を勘案して管理モードを変更することが好まし
い。
時間的基準を用いると、あるモードの非有効性の決定
のタイミングを決めることができる。例えば現在のモー
ドが更新である場合、更新済みコピーのユーティリティ
ビットに関する情報を回収するために肯定応答を利用す
ることにより、新しく更新が行われる度毎に非有効性の
決定を行うことができる。またこれら情報は、関連する
メモリ12または13の制御回路に格納され、所定の更新回
数の後、格納されている情報の全体およびこの場合に適
用されるハードウェア基準に基づいて、使用モードの非
有効性についての決定を行うことができることが理解さ
れよう。例えば、所定の更新回数のうち、行った更新の
回数または百分率が更新の非有効性を決定する上で有用
であったかどうかを知るだけで充分である。別の時間的
基準は、システムの作動におけるイベントまたは管理モ
ードに依存するあるいは依存しない予め定められた時間
の間隔毎にあるモードの非有効性を決定するというもの
である。例えば更新の非有効性の循環的分析を行い、コ
ピー14が使用された場合は更新モードのままに留めるこ
とができる。しかしながら、ブロックの使用頻度はブロ
ックにより大きく異なるので、あるブロック上で作業が
行われた時、その作業とは関係なく、あるブロックのコ
ピー上のそのモードの非有効性を評価することが好まし
い。本発明は、管理モードを各ブロックの使用頻度に動
的に適合させるという利点を提供する。例えばあるモー
ドの有効性または非有効性の評価および適当なモードの
決定は、2つのメモリ間でのデータ交換の際により有利
に行うことができる。
しきい値Tは、システム10のメモリ12および13の例え
ば制御回路に格納することが好ましい。同様に、各メモ
リの制御回路内のハードウェアアルゴリズムにより、よ
り有利に有効性または非有効性の評価を行うことができ
る。あるモードの非有効性の評価を、各ブロックコピー
14にユーティリティビットUを組み込むのとは異なる方
法で行うことができることも明らかである。ビットUは
コピーの有効性または非有効性を決定するための簡単な
手段となり、ブロックコピー14の状態ビットSTと同じ処
理手段が利用できるという利点がある。ユーティリティ
ビットUは状態ビットSTに類似した状態ビットとみなす
ことができるため、その状態はビットとともに組み込む
ことが可能である。さらに、あるユーティリティビット
Uに基づいてあるモードの非有効性の決定が行われる場
合でも、各ブロックコピー14にこのビットを組み込む必
要はない。例えばユーティリティビットUは、各ブロッ
クのただ一つのコピー内だけに存在することができ、メ
モリ13内または少なくとも3つのメモリレベルの階層に
おいて共有されているキャッシュメモリ内に存在するこ
とが好ましい。これにより、各キャッシュメモリは、ブ
ロックのコピーが基準コピーであるとの通知を行うメッ
セージにより、メモリ13が各更新を行うのを防止しなけ
ればならなくなる。この作業は非同期式が有利である。
その場合ユーティリティビットUの代りに、モードある
いはそのユーティリティの非有効性を表すパラメータV
の決定のためのさらに性能がすぐれさらに正確な別の手
段を使用できることを理解されたい。例えばユーティリ
ティビットUが使用される場合に、通常これを少なくと
も1つのブロックコピー14または各ブロックのコピー全
体に組み込むことができる。
第4図の線図は、本発明による方法の第二の実施例を
示したものである。システムの初期化時にはシステムソ
フトウェアにより第一管理モードが選択される。この第
一モードの非有効性を表すパラメータV1が決定され、次
にユーティリティの第一しきい値T1と比較される。有効
であれば(V1<T1)第一モードが継続する。そうでなけ
れば第二モードにより管理が行われる。第二モードの非
有効性を表すパラメータV2が決定され、次にユーティリ
ティの第二しきい値T2と比較される。有効であれば(V2
<T2)第二モードが継続し、第二モードがもはや有効で
なければ(V2=T2)、管理方法は第一モードに復帰す
る。この方法は第2図および第3図の例に関わる方式と
同様の方式で実施することができる。第4図の例におい
て通常使用される無効化は、第2図および第3図に記述
されている無効化と同じ方式では行われていない点に留
意されたい。第4図の例においては無効化は更新の代案
として通常使われているものである。更新は費用がかか
り、更新の使用をそれが有利であることがわかっている
場合にのみ限定したいので、最初のモードとしてこのモ
ードを選択することが好ましい。
第5図の線図は第3図および第4図に示されている例
を組み合わせた方法の変形実施例を示したものである。
この変形によれば、管理方法は、初めに無効モードに設
定される。第3図に示されている方法と同様、無効化の
非有効化を表すパラメータV1が決定され、次にしきい値
T1と比較される。無効化が有効であれば(V1<T1)その
モードが維持される。そうでなければモードは更新にな
る。更新の非有効性は異なる基準により2つの方法で決
定される。まず、非有効性を表すパラメータV2およびし
きい値T2が更新の反生産性基準に従って決定される。別
の言い方をすれば、これらの基準は、更新が現在の状態
に適合していないので無効であるということになる。し
たがって第5図に示すように、非有効性を表すパラメー
タV2がしきい値2を上回ると、管理モードは無効化モー
ドになる。逆の場合には、非有効性を表すパラメータV
としき値Tは、不必要な更新をするならば、更新が最も
適合したモードであり続けるということになるように決
定される。その意味では、非有効性を表すパラメータV
としきい値Tは第3図に示すものと同じ性質のものであ
る。このように、更新が有効に連続するためには、メモ
リブロックのコピー全体を一度にまとめて無効化するだ
けでよい。一般的に非有効性を表すパラメータVとしき
い値V2およびT2と同じ方法でも異なる方法でも決定する
ことができる。例えばあるブロックの6つのコピーの更
新は、その内の少なくとも2つが読み取られたことがあ
るならば、これらコピーの管理に適したモードであると
みなされる。更新が不適当とされるための非有効性を表
すパラメータのしきい値T2を既読コピー0個とすること
ができる。その場合V2=T2となり、管理モードは通常の
無効化モードに復帰する。非有効性を表すパラメータの
しきい値Tを既読コピー1とし、更新は行われたが管理
が難しいとすることも可能である。その場合V=Tとな
り、ブロックのその他のコピーは全体にまたは選択的に
一度に無効化され、モードは更新に復帰する。
第6図の線図は第4図に示されている方法の別の変形
を示したものである。第6図の変形はキャッシュメモリ
の読み出し失敗に関する2つの状態の区別に基いてい
る。第一の状態では、要求されたメモリブロックのコピ
ー14がそこに無く、要求は最終的には失敗となり、これ
はハードミスと呼ばれる。第二の状態では、要求された
Adのアドレスをもつメモリブロックのコピーはキャッシ
ュメモリ内に存在するが、未更新コピーであるため、そ
の読み出しは無効化されている。コピーの要求はこの場
合も失敗となるが、今度はソフトミスと呼ばれる。一
方、例えば第7図に示されているような構造をもつ各ブ
ロックコピー14を使用して、第6図に示されている方法
の変形が実施される。この構造は第2図の構造であり、
アドレス区域Ad内に状態ビットSTとユーティリティビッ
トUの他に、好ましい例にあるような2ビットコードC
を含んでいる。
第6図に示す方法を記述するため、メモリ13のメモリ
ブロック14がまだコピーされていない時、コードCの2
つのビットは0であり、現在のモードは無効化モードで
あると仮定する。プロセッサ11がそのキャッシュメモリ
12の読み出し時にハードミスに遭遇すると、キャッシュ
メモリはメモリ13にブロック14のコピーを作成するが、
モードは変わらず無効化モードのままである。ブロック
のコピーが使われることがほとんどない場合には、後で
キャッシュメモリ12がブロックのコピーを他のブロック
のコピーと置き換える。その結果、次に同じプロセッサ
11が一つ前のコピーを再度要求するとき、再びハードミ
スに遭遇する。したがってこの場合は無効化が最適なモ
ードである。
今度はプロセッサ11がそのキャッシュメモリ12の読み
出し中、探していたコピー14を見つけたが、そのデータ
Dが無効化されていたと仮定する。このイベントはソフ
トミスに相当し、更新によってこのミスは回避すること
ができ、システム10のパフォーマンスを向上させること
ができたかもしれないことを示している。別の言い方を
すれば、更新がこの状況に最も適合したモードであった
かもしれないということである。このイベントは直接、
管理モードを更新に変更するためのしきい値と成り得
る。ただし、この方法の安定性を確保するため、それが
確認されない場合、この場合は無効化となっている現在
の管理モードを維持する、有効トリガ条件によってしき
い値が遅延される。図示の例においては、コードCが01
の状態に変化しているが、これはしきい値に達し、モー
ドを変更するための有効トリガ条件が満たされるのを待
っていることを示している。この場合、しきい値は条件
付きで、モードは過渡的なものであると表現す。同一キ
ャッシュメモリ内または他のキャッシュメモリ12内の同
一ブロック上で再度ソフトミスが発生した場合、そのイ
ベントはしきい値のトリガー条件となり、更新が最適な
モードであったことを確認する。したがって管理モード
は更新になる。図示の例においては、モードが更新であ
ることを示すため、コードCが10の状態に変えられる。
逆にコードC=01の状態の時ハードミスが発生すると、
このイベントは無効化が適したモードであることを意味
し、その結果無効化モードが維持される。図示の例にお
いてはコードCは固定無効化状態00に復帰する。
今度はシステム10がコードC=10に相当する更新モー
ドで作動していると仮定する。後に、プロセッサ11の内
のいずれかにより各ブロックメモリの単数または複数の
コピー14が変更されると、これに引き続いてキャッシュ
メモリ12内で更新が行われ、プロセッサ11によって行わ
れる読み込みはミスではなくヒットとなる。この状態で
発生する疑問は、更新が有効がどうかを知るということ
である。初めて情報を要求するプロセッサ11側から発生
する可能性のあるミスはもはや考慮に入れられず、とく
に、第2図から第5図で記述したユーティリティの基準
により、更新モードの有用性を示す少なくとも1つのし
きい値を決めることが出来る。例えば、あるキャッシュ
メモリ12内のあるメモリブロックのコピー14が更新され
る毎に、キャッシュメモリが前述の例に従ってブロック
のユーティリティビットU全体の状態を分析する。更新
が有効であると判断された場合、第6図に示すようにこ
のコード値を含むループにより、コードCの値は10に保
たれる。この変形によれば更新のしきい値は条件付きで
ある。しきい値に達すると、ある条件によりモード変更
が遅延される。例えばモードの非有効性を表すパラメー
タVの測定値を条件として使用することができ、したが
ってこの測定値の変化によりモードの非有効性が確認さ
れるとき、この条件は満たされる。図示の例において更
新が無効と判断された場合、コードCの値は、過渡適更
新を意味する11に変更される。別の言い方をすれば、モ
ーを変更する代わりに、方法の安定性を確保し、方法が
更新と通常の無効化との間を「揺れ動く」のを防ぐ過渡
的状態に更新モードが保たれるのである。
今度は更新モードがコードC=11に相当する過渡的状
態にあると仮定する。次の更新時にユーティリティビッ
トが変化し、有効な更新であることを示すと、コードC
は確定的更新モードに相当する10の値に復帰する。反対
に、次の更新も無効であると判断された場合、管理モー
ドは無効化モードとなり、コードCは00の値をとる。す
ると先述の初期状態に再度復帰する。システムによって
選択される初期モードを更新にすることができることは
明らかである。初期モードはまた、システムが素早く最
適なモードで立ち上がることができるどんな過渡的状態
にすることもできる。先述の過渡的状態は短期間である
が、延長することも可能である。ただし戦略をあまりに
複雑にして、全てのメモリの作動が過度に込み入ったも
のにならないよう注意しなければならない。そうでない
とメモリ間のデータ交換の管理において待機を生じるこ
とがある。また、1つまたは2つの過渡的状態をなくす
ことができることは明らかである。例えばコードC=11
の過渡的更新状態をなくすことが可能である。無効化モ
ードに関しては、一定回数のソフトミス後に過渡的モー
ドに移行し、一定回数のハードミス後に確定的モードに
復帰することが可能である。過渡的モードから更新モー
ドへの移行についても同様である。この方法に第3図の
方法を組み合わせて補完することも可能である。第6図
は点線によりこの組み合わせを示したものである。更新
モードにおいてコードが10で更新が有効である(第4図
においてV2<T2)と判断されると、更新が維持される。
更新が有効ではあるが管理が難しすぎる(第4図におい
てV<T)と判断されると、全体に一度に行う無効化が
行われ、モードは更新に復帰する。更新モードが無効
(V2>T2)だと、更新は過渡的状態になり、コードは11
となる。その時更新が有効である(V2<T2)と判断され
ると、引き続き更新モードとなり、コードは10になる。
更新が有効ではあるが難しすぎる(V<T)と判断され
ると、全体を一度に行う無効化が行われ、コードが10の
ままモードは更新に復帰する。
先述の2ビットコードCにおいて、第一ビットの状態
は2つのモードを示しており、第二ビットの状態は2つ
の過渡的モードを示している。さらに一般的には、コー
ドCは、その状態、例えば2つのモードまたは1つのモ
ードとその過渡的モードとを示す1ビットに限定するこ
とも可能である。この方法は先述のものとは別のコード
Cを使用することができることを理解されたい。同様
に、コードCは各コピー14に含まれてはいるが、このコ
ードをメモリ13内にのみ設定することも可能である。そ
の場合、あるブロックの全てのコピーにコードCが関係
するので有利である。さらに一般的には、コードCは管
理モードについての意思決定を行う場所に設定すること
が好ましい。この意思決定はキャッシュメモリ内でも行
えることが後述から理解されよう。要約すれば、本発明
による方法は、任意選択で、少なくとも1つのブロック
コピー内に、過渡的モードとも成り得るような少なくと
も1つのモードを示す、少なくとも1ビットのコードC
を含めることから成る。ビットUは、メモリ13ではなく
キャッシュメモリ12内に含まれるコピー、あるいはメモ
リ12および13内に含まれるコピー全体、あるいはさら
に、例えばあるグループのプロセッサに関するコピーの
ように少なくとも1以上のある数のコピーに含めること
ができる。コードCが常にビットUに関連付けられてい
る場合には、両者をさらにコンパクトな形でまたはさら
にパフォーマンスの高い形で組み合わせることが出来る
ことも理解されよう。上述の記載から、コードCは、ユ
ーティリティビットUと同様、少なくとも過渡的モード
を示す別のソフトウェアおよび/またはハードウェア手
段で置き換えることが可能であることがわかる。
さらに一般的には、上述の記載から、本発明による、
情報システムのメモリ間でのデータ交換の管理のための
方法は、従来通り、あるメモリブロックのコピーの更新
モードまたは無効化モードの使用を含むことがわかる。
しかしながら本発明は、使用するモードの非有効性を示
すしきい値を決め、そのしきい値に達した時点で第二の
モードを使用することから成る点で先行技術とは異な
る。第3図においてしきい値は例えば数値、数、百分率
であってよく、その値はハードウェア的および時間的基
準によって決定できることがわかっている。第3図に示
す例においては、この方法は、あるメモリブロックの各
コピーの中に、その状態が対応するコピーの使用方法を
示す、ユーティリティビットUを含めることから成る。
しかしながらさらに一般的には、あるメモリブロックの
少なくとも1つのコピーの中に1つのユーティリティー
ビットを含めることができることがわかっている。他
方、図示の例においては、非有効性の基準はユーティリ
ティビットの状態の利用に基いている。ユーティリティ
ビットとは無関係に別の基準を設定できることは明らか
である。使われているモードが無効化である場合、この
方法は、あるメモリの読み出しの失敗の中から、検索中
のブロックのコピーが存在しない場合に相当するハード
ミスと、そのようなコピーは存在するが、無効化されて
いる場合に相当するソフトミスを区別し、ソフトミスを
無効化モードの非有効性基準とみなすものであることも
第6図に関して見てきた。別の言い方をすれば、しきい
値は、単数または複数のソフトミス、あるいはその他の
基準の中でもとりわけ非有効性の基準としておよび/ま
たはトリガ条件としてのソフトミスを暗示する値により
直接決定することができる。ソフトミス以外のイベント
も付加基準または代替基準と成り得る。第2図および第
3図に示す第一例により、使われているモードが更新で
ある場合、この方法は該モードが有効であるが、管理が
難しすぎることを示すしきい値Tを使用し、しきい値T
に達すると、あるブロックのコピーをまためて一度に行
う無効化を行い、更新モードに復帰することから成るこ
とがわかっている。コピーをまとめて行う無効化とは無
効化が全体を網羅するものでも、ブロックの少なくとも
1つのコピーだけの限定的なものでもよいことを意味す
る。他方、一度に行う無効化は複数の段階で行うことが
できる。第4図ないし第7図に示す第二例では情報シス
テムで通常使われている無効化を使用している。この第
二例は、モードのしきい値が有効トリガ条件によって遅
延され、その条件が確認されない場合は方法は現在のモ
ードに維持され、その条件が確認されれば方法はモード
を変えることを示している。このようなしきい値は方法
の第一例においても使用できることは明らかである。逆
の場合が第7図で点線の段階で示されている。しきい値
および非有効性の決定と同様、しきい値のトリガ条件も
数値および/またはソフトミスなど単数または複数のイ
ベントとすることができる。
また、本発明による方法を2つのレベルだけのメモリ
階層をもつ情報システム10について説明してきたが、さ
らに多くの数のレベルをもつ本発明による方法を使用す
ることも可能である。上述の記載から、メモリ13をある
最下位の大容量メモリに接続された中間レベルのキャッ
シュメモリにキャッシュメモリとして含めることが可能
であることがわかる。本発明の第一の実施例によれば、
Nレベルのメモリ階層を、隣接する2つの部分、すなわ
ち各モードの非有効性を決定するための指示(イベン
ト、数値、またはビットUおよびコードCの状態)をも
たらす上位部分と、これら指示に基づいて使用するモー
ドを決定する下位部分とに分割することができる。第1
図の例においては、意思決定はメモリ13内でなされる。
別の例によれば、階層は分岐または分岐群に分割され、
決定はそれらの自発性にまかされている。このようにし
て、単数または複数の分岐内のコピーは適当なモードで
管理することが可能であるが、このモードは他で使われ
ているモードと違っていてもよい。この例と第一例を組
み合わせると、下位部分で最上位のレベルをもつキャッ
シュメモリに決定の自発性を与えることになる。第三の
例によれば、意思決定は各キャッシュメモリまたは予め
決められた単数または複数のキャッシュメモリによって
なされる。例えば、肯定応答が、更新を要求するキャッ
シュメモリに直接戻されるあるいは更新するよう準備す
るシステムにおいては、13のような下位メモリは、もは
やこのような肯定応答すなわちユーティリティビットを
通過することはなく、このキャッシュメモリが率先し
て、使用するモードについての決定を下す。「ディレク
トリベースの」一貫性システムのように、下位メモリが
全てのコピーの所在を知っている場合、決定を実行でき
るように下位メモリに決定を移すことも可能である。例
えばバスの「同報通信」という名称で知られているシス
テムあるいは「スヌーピー」のいう名称で知られている
状態を使用するシステムなど、コピーの所在をメモリが
把握できないシステムにおいては、全てのキャッシュメ
モリがユーティリティビットがパスするのを見るため、
キャッシュメモリがモードについて決定を下すことがで
きる。これらの例から一般的に、各ブロックメモリのコ
ピーの管理モードの決定は、各点が例えばメモリ13のよ
うな予め決められたものであるか、あるいは最新の更新
の発進元であるような、メモリ階層の単数または複数の
点に集中することも、分散して同時に且つ同様に、メモ
リ12、13によって下すことも可能である。
フロントページの続き (56)参考文献 特開 平3−172943(JP,A) 特開 平4−191946(JP,A) 特開 平3−253963(JP,A) The 20th Annual In ternational Sympos ium on COMPUTER AR CHITECTURE,(1993−5− 16)(米)pp.98−108,”Adap tive Cache Coheren cy for Detecting M igratory Shared Da ta" 情報処理学会研究報告92−ARC− 95,92[64](1992−8−19)pp.9 −16「95−2 イベント対応型キャッシ ュ・コヒーレンス制御方式とそのバリア 同期への応用」 (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 - 12/12

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】それぞれのプロセッサ(11)用の複数のキ
    ャッシュメモリ(12)とメモリ(13)とを有する情報処
    理システム(10)における、前記キャッシュメモリ(1
    2)と前記メモリ(13)に記憶されたデータの一貫性管
    理のために、 あるプロセッサがデータの書き込みを行う際に他のプロ
    セッサに対応する前記キャッシュメモリの該当するデー
    タを更新する更新モードと、あるプロセッサがデータの
    書き込みを行う際に他のプロセッサに対応する前記キャ
    ッシュメモリの該当データを無効化する無効化モードの
    いずれかをデータの一貫性管理のために使用し、 前記更新モードの非有効性を示す第1のパラメータにつ
    いての第1のしきい値及び第1のトリガ条件を決定し、 前記更新モードを使用中に、前記第1のパラメータが前
    記第1のしきい値に到達した場合に、前記更新モードか
    ら前記無効化モードへの第1の切替ステップをすぐに行
    わずに、前記第1のパラメータが前記第1のトリガ条件
    に到達するか否かにより前記第1の切替ステップを行う
    べきであるか否かを決定し、 前記第1のトリガ条件が満たされた場合にのみ前記第1
    の切替ステップを行い、 前記無効化モードの非有効性を示す第2のパラメータに
    ついての第2のしきい値及び第2のトリガ条件を決定
    し、 前記無効化モードを使用中に、前記第2のパラメータが
    前記第2のしきい値に到達した場合に、前記無効化モー
    ドから前記更新モードへの第2の切替ステップをすぐに
    行わずに、前記第2のパラメータが前記第2のトリガ条
    件に到達するか否かにより前記第2の切替ステップを行
    うべきであるか否かを決定し、 前記第2のトリガ条件が満たされた場合にのみ前記第2
    の切替ステップを行うメモリ管理方法であって、 前記無効化モードを使用する場合に、プロセッサが対応
    する前記キャッシュメモリにおいてメモリブロックを読
    み出す際のミスを、検索している前記メモリブロックの
    コピーが前記キャッシュメモリに存在しない場合に相当
    するハードミスと、検索している前記メモリブロックの
    無効なコピーが前記キャッシュメモリに存在する場合に
    相当するソフトミスとに区別し、 前記ソフトミスが発生することに応じて前記第2のパラ
    メータを変化させるメモリ管理方法。
  2. 【請求項2】前記キャッシュメモリに格納されている前
    記メモリブロックの前記コピーの少なくとも一つの内
    に、前記更新モード及び前記無効化モードの少なくとも
    一つのモード、および、対応する切替ステップを遅らせ
    ているモードを示すコードビット(C)を少なくとも一
    つ含めることを特徴とする、請求項1に記載された方
    法。
  3. 【請求項3】それぞれのプロセッサ(11)用の複数のキ
    ャッシュメモリ(12)とメモリ(13)とを有する情報処
    理システム(10)における、前記キャッシュメモリ(1
    2)と前記メモリ(13)に記憶されたデータの一貫性管
    理のために、 あるプロセッサがデータの書き込みを行う際に他のプロ
    セッサに対応する前記キャッシュメモリの該当するデー
    タを更新する更新モードと、あるプロセッサがデータの
    書き込みを行う際に他のプロセッサに対応する前記キャ
    ッシュメモリの該当データを無効化する無効化モードの
    いずれかをデータの一貫性管理のために使用し、 前記更新モードの非有効性を示す第1のパラメータにつ
    いての第1のしきい値を決定し、 前記更新モードを使用中に、前記第1のパラメータが前
    記第1のしきい値に到達した場合に、前記更新モードか
    ら前記無効化モードへの切替を行い、 前記無効化モードの非有効性を示す第2のパラメータに
    ついての第2のしきい値を決定し、 前記無効化モードを使用中に、前記第2のパラメータが
    前記第2のしきい値に到達した場合に、前記無効化モー
    ドから前記更新モードへの切替を行うメモリ管理方法で
    あって、 前記無効化モードを使用する場合に、プロセッサが対応
    する前記キャッシュメモリにおいてメモリブロックを読
    み出す際のミスを、検索している前記メモリブロックの
    コピーが前記キャッシュメモリに存在しない場合に相当
    するハードミスと、検索している前記メモリブロックの
    無効なコピーが前記キャッシュメモリに存在する場合に
    相当するソフトミスとに区別し、 前記ソフトミスが発生することに応じて前記第2のパラ
    メータを変化させるメモリ管理方法。
  4. 【請求項4】スヌープによる一貫性管理のために使用さ
    れることを特徴とする請求項1から3のいずれか一項に
    記載された方法。
  5. 【請求項5】ディレクトリベースによる一貫性管理のた
    めに使用されることを特徴とする請求項1から3のいず
    れか一項に記載された方法。
  6. 【請求項6】それぞれのプロセッサ(11)用の複数のキ
    ャッシュメモリ(12)とメモリ(13)と、前記更新モー
    ドと前記無効化モードとの切替による、前記キャッシュ
    メモリと前記メモリに記憶されたデータの一貫性管理手
    段とを含み、前記一貫性管理手段が請求項1から5のい
    ずれか一項に記載された方法を実行する手段を有する情
    報処理システム(10)。
JP7504378A 1993-07-15 1994-07-11 情報システムにおけるメモリ管理方法、該方法を利用する情報システム Expired - Lifetime JP2934317B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR93/08709 1993-07-15
FR9308709A FR2707776B1 (fr) 1993-07-15 1993-07-15 Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
PCT/FR1994/000868 WO1995002865A1 (fr) 1993-07-15 1994-07-11 Procede de gestion de memoires d'un systeme informatique, systeme informatique et memoire mettant en ×uvre le procede

Publications (2)

Publication Number Publication Date
JPH07507174A JPH07507174A (ja) 1995-08-03
JP2934317B2 true JP2934317B2 (ja) 1999-08-16

Family

ID=9449274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7504378A Expired - Lifetime JP2934317B2 (ja) 1993-07-15 1994-07-11 情報システムにおけるメモリ管理方法、該方法を利用する情報システム

Country Status (6)

Country Link
US (1) US6240491B1 (ja)
EP (1) EP0662227B1 (ja)
JP (1) JP2934317B2 (ja)
DE (1) DE69427454T2 (ja)
FR (1) FR2707776B1 (ja)
WO (1) WO1995002865A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873117A (en) * 1996-07-01 1999-02-16 Sun Microsystems, Inc. Method and apparatus for a directory-less memory access protocol in a distributed shared memory computer system
JP2002032265A (ja) * 2000-07-14 2002-01-31 Hitachi Ltd キャッシュ・アクセス制御方式およびデータ処理システム
US6763435B2 (en) * 2001-10-16 2004-07-13 International Buisness Machines Corporation Super-coherent multiprocessor system bus protocols
US6779086B2 (en) * 2001-10-16 2004-08-17 International Business Machines Corporation Symmetric multiprocessor systems with an independent super-coherent cache directory
US6785774B2 (en) * 2001-10-16 2004-08-31 International Business Machines Corporation High performance symmetric multiprocessing systems via super-coherent data mechanisms
GB0228110D0 (en) * 2002-12-02 2003-01-08 Goodrich Control Sys Ltd Apparatus for and method of transferring data
US20050120182A1 (en) * 2003-12-02 2005-06-02 Koster Michael J. Method and apparatus for implementing cache coherence with adaptive write updates
JP6099844B2 (ja) * 2014-10-31 2017-03-22 三菱電機株式会社 データ管理システム、計算機、データ管理方法及びプログラム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445174A (en) 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4644496A (en) 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
JPS61290550A (ja) 1985-06-19 1986-12-20 Hitachi Ltd 階層記憶制御方式
US4755930A (en) 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
CA1293819C (en) 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US5165018A (en) 1987-01-05 1992-11-17 Motorola, Inc. Self-configuration of nodes in a distributed message-based operating system
AU598101B2 (en) 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
JP2552704B2 (ja) 1988-03-08 1996-11-13 富士通株式会社 データ処理装置
EP0343567A3 (en) 1988-05-25 1991-01-09 Hitachi, Ltd. Multi-processing system and cache apparatus for use in the same
JPH0721781B2 (ja) 1989-03-13 1995-03-08 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセツサ・システム
JPH02253356A (ja) 1989-03-28 1990-10-12 Toshiba Corp 階層キャッシュメモリ装置とその制御方式
EP0429733B1 (en) 1989-11-17 1999-04-28 Texas Instruments Incorporated Multiprocessor with crossbar between processors and memories
JPH03172943A (ja) 1989-12-01 1991-07-26 Mitsubishi Electric Corp キャッシュメモリ制御方式
US5136700A (en) 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories
JPH061463B2 (ja) 1990-01-16 1994-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
US5161156A (en) 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
JPH03230238A (ja) 1990-02-05 1991-10-14 Nippon Telegr & Teleph Corp <Ntt> キャッシュメモリ制御方式
JPH0625984B2 (ja) * 1990-02-20 1994-04-06 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン マルチプロセツサ・システム
CA2047888A1 (en) 1990-07-27 1992-01-28 Hirosada Tone Hierarchical memory control system
US5291442A (en) 1990-10-31 1994-03-01 International Business Machines Corporation Method and apparatus for dynamic cache line sectoring in multiprocessor systems
JPH04191946A (ja) 1990-11-27 1992-07-10 Agency Of Ind Science & Technol スヌープキャッシュメモリ制御方式
CA2051209C (en) * 1990-11-30 1996-05-07 Pradeep S. Sindhu Consistency protocols for shared memory multiprocessors
US5261109A (en) 1990-12-21 1993-11-09 Intel Corporation Distributed arbitration method and apparatus for a computer bus using arbitration groups
US5303362A (en) 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5265232A (en) * 1991-04-03 1993-11-23 International Business Machines Corporation Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
US5437045A (en) 1992-12-18 1995-07-25 Xerox Corporation Parallel processing with subsampling/spreading circuitry and data transfer circuitry to and from any processing unit
US5394555A (en) 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5511224A (en) 1993-02-18 1996-04-23 Unisys Corporation Configurable network using dual system busses with common protocol compatible for store-through and non-store-through cache memories
US5483640A (en) 1993-02-26 1996-01-09 3Com Corporation System for managing data flow among devices by storing data and structures needed by the devices and transferring configuration information from processor to the devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The 20th Annual International Symposium on COMPUTER ARCHITECTURE,(1993−5−16)(米)pp.98−108,"Adaptive Cache Coherency for Detecting Migratory Shared Data"
情報処理学会研究報告92−ARC−95,92[64](1992−8−19)pp.9−16「95−2 イベント対応型キャッシュ・コヒーレンス制御方式とそのバリア同期への応用」

Also Published As

Publication number Publication date
DE69427454D1 (de) 2001-07-19
JPH07507174A (ja) 1995-08-03
EP0662227A1 (fr) 1995-07-12
DE69427454T2 (de) 2002-04-18
FR2707776A1 (fr) 1995-01-20
EP0662227B1 (fr) 2001-06-13
FR2707776B1 (fr) 1995-08-18
WO1995002865A1 (fr) 1995-01-26
US6240491B1 (en) 2001-05-29

Similar Documents

Publication Publication Date Title
US7698508B2 (en) System and method for reducing unnecessary cache operations
KR100318789B1 (ko) 멀티프로세서 데이타 처리 시스템에서의 캐쉬를 관리하는시스템과 방법
US5940856A (en) Cache intervention from only one of many cache lines sharing an unmodified value
EP0780769B1 (en) Hybrid numa coma caching system and methods for selecting between the caching modes
US6826651B2 (en) State-based allocation and replacement for improved hit ratio in directory caches
US7827354B2 (en) Victim cache using direct intervention
US6295582B1 (en) System and method for managing data in an asynchronous I/O cache memory to maintain a predetermined amount of storage space that is readily available
US6678799B2 (en) Aggregation of cache-updates in a multi-processor, shared-memory system
US7305523B2 (en) Cache memory direct intervention
US5946709A (en) Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing
US7281092B2 (en) System and method of managing cache hierarchies with adaptive mechanisms
US5806086A (en) Multiprocessor memory controlling system associating a write history bit (WHB) with one or more memory locations in controlling and reducing invalidation cycles over the system bus
US20040268054A1 (en) Cache line pre-load and pre-own based on cache coherence speculation
US20090037664A1 (en) System and method for dynamically selecting the fetch path of data for improving processor performance
US5940864A (en) Shared memory-access priorization method for multiprocessors using caches and snoop responses
US6574710B1 (en) Computer cache system with deferred invalidation
KR19980079610A (ko) 멀티프로세서 데이터 처리 시스템의 캐쉬 일관성을 유지하기 위한 캐쉬 일관성 프로토콜 제공 방법 및 시스템
US5943685A (en) Method of shared intervention via a single data provider among shared caches for SMP bus
US7380068B2 (en) System and method for contention-based cache performance optimization
JP3236287B2 (ja) マルチプロセッサシステム
US6625694B2 (en) System and method for allocating a directory entry for use in multiprocessor-node data processing systems
WO1999035578A1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
US7325102B1 (en) Mechanism and method for cache snoop filtering
US5802563A (en) Efficient storage of data in computer system with multiple cache levels