JPH036756A - キヤツシユ・メモリ・アクセス方法およびキヤツシユ・メモリ・システム - Google Patents

キヤツシユ・メモリ・アクセス方法およびキヤツシユ・メモリ・システム

Info

Publication number
JPH036756A
JPH036756A JP2123225A JP12322590A JPH036756A JP H036756 A JPH036756 A JP H036756A JP 2123225 A JP2123225 A JP 2123225A JP 12322590 A JP12322590 A JP 12322590A JP H036756 A JPH036756 A JP H036756A
Authority
JP
Japan
Prior art keywords
cache
data
memory
row
status
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.)
Granted
Application number
JP2123225A
Other languages
English (en)
Other versions
JPH0555899B2 (ja
Inventor
Lishing Liu
リシイング・リユー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH036756A publication Critical patent/JPH036756A/ja
Publication of JPH0555899B2 publication Critical patent/JPH0555899B2/ja
Granted 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
    • G06F12/0817Cache consistency protocols using directory methods

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、一般に多重プロセッサ・データ処理システム
中のキャッシュ・メモリに関し、具体的には、データが
ストアイン・キャッシュ・メモリを介してどのようにア
クセスできるかを示すために一時的アクセス状態を使用
することに関する。
B、従来技術 現代の高性能プログラム記憶式ディジタル・コンピュー
タでは、従来から、キャッシュ・メモリを使用して主記
憶装置に存在する命令とデータにアクセスしている。キ
ャッシュ・メモリとは、コンピュータの主記憶装置より
通常はるかに小型で高速の、プロセッサにきわめて近い
位置にあるメモリである。はとんどすべての高性能ディ
ジタル・コンピュータは、キャッシュ・メモリを使用し
、市販のマイクロプロセッサでさえそのアーキテクチャ
にキャッシュ・メモリを含んでいる。
キャッシュ・メモリが開発されたのは、データ・アクセ
ス時間が現在のパイプライン式プロセッサと整合する、
きわめて大きなメモリを妥当な価格で構築するのが不可
能だったが、プロセッサの速度についていける安価で小
さなメモリをつくるのは可能だからである。
キャッシュ・メモリの設計は、データ処理システムで認
められる2つの特徴を利用する。第1の特徴は、参照の
時間的局所性と呼ばれている。この特性は、プロセッサ
が比較的小さい時間間隔内に繰り返しである命令または
データ値にアクセスする傾向を言う。第2の特徴は、参
照の空間的局所性と呼ばれている。この特性は、プロセ
ッサが小さな時間間隔内に主記憶装置内のアドレスが比
較的小さい値だけ異なるデータまたは命令にアクセスす
る傾向を言う。こうした第1及び第2の特性が、最近に
アクセスされたデータ及び命令を含むメモリ・ワードと
、プロセッサのアドレス空間中で最近にアクセスされた
ワードにすぐ隣接する各メモリ行を、キャッシュ・メモ
リに保持することの理論的根拠である。
キャッシュ・メモリは、単一プロセッサでも多重プロセ
ッサ・システムでも使用されている。緊密結合システム
として知られているあるタイプの多重プロセッサでは、
それぞれ独自のキャッシュ・メモリをもついくつかの中
央プロセッサが共通のオペレーティング・システムと共
通の主記憶装置を共用する。緊密結合システムでは、各
キャ。
シュ・メモリが、他のすべてのキャッシュ・メモリと協
調して動作することが望ましい。特に、各プロセッサが
、主記憶装置にあろうとまた他のプロセッサのキャッシ
ュ・メモリにあろうと、データ値の最近に更新されたバ
ージロンを獲得できなければならない。したがって、キ
ャッシュ間でデータの整合性を絶えず監視することが望
ましい。この監視動作はキャッシュ整合性制御と呼ばれ
ている。
従来技術では様々な形式のキャッシュ・メモリがある。
1つの形式は、ストアスルー(ST)キヤノンユであり
、データ記憶命令は、命令を起動するプロセッサに関連
するキャッシュ・メモリへの記憶、主記憶装置への記憶
、及びシステムの他のキャッシュ・メモリ中のデータの
局所コピーを無効にする一連の相互照会(XI)動作の
3つの部分をもつ。通常、STキャッシュ・メモリ設計
では、実質的な主記憶帯域幅が効率的に機能することが
必要である。
もう1つの形式の設計は、ストアイン(SI)キャッシ
ュである。SIキャッシュ設計及び多重プロセッサ・シ
ステムによるその使用は、米国特許第450497号明
細書に記載されている。この明細書を引用により本明細
書に合体する。SIキャッシュでは、データ値がキャッ
シュ間(cTC)転送バスを介して様々なキャッシュ・
メモリ間で転送される。この形式のキャッシュも、様々
なキャッシュ・メモリの内容を調整するためにX■動作
を使用する。すべてのメモリ・アクセスを制御する中央
記憶制御装置は、様々なキャッシュ・メモリの内容のデ
ィレクトリを含んでいる。上記の特許に記載されたシス
テムでは、キャッシュ・メモリによって保持された隣接
するメモリ・ワードの各行(ライン)が、そのアクセス
が、排他的/読取り専用(EX/RO)フラグ・ビット
によって制御される。通常、データ値は、メモリ・ワー
ドの行がキャッシュ・メモリから置換され、それらの行
のデータが修正されたときだけ、主記憶装置で更新され
る。
メモリ・ワードの行は、たとえばLRU方式にしたがっ
てキャッシュから置換され主記憶装置に書き込まれる。
キャッシュから主記憶装置へのメモリ・ワードの行の転
送は、キャストアウト動作として呼ばれている。データ
が主記憶装置に書き込まれるのは、それがキャッシュか
らキャストアウトされるときだけなので、SIキャッン
ユ・メモリを使用する多重プロセッサ・システムの記憶
帯域幅要件は、STキャッシュ・メモリを使用する対応
するシステムのそれより小さい。しかし、帯域幅要件の
この低下を得るためには、キャッシュ整合性制御システ
ムがより複雑になり、キャッシュ間コピー動作と付属X
I事象によってプロセッサの実行速度が犠牲になる。
SIキャッシュ・メモリを使用した代表的な多重プロセ
ッサ・システムでは、各キャッシュは、メモリ・ワード
の行へのアクセスが読取り専用(RO)か、排他的(E
X)か、それとも無効(INV)かに関する情報を含む
キャッシュ・ディレクトリを含む。さらに、メモリ・ワ
ードの行がEX状況の場合、そのディレクトリは、その
行中のデータが変更されたかどうかを示す情!9 (c
Hビット)を含む。
行の状況がROの場合、その行のデータは読取りしかで
きない。一般に、命令ワードの行はこの状況をとる。R
Oキャッシュ行は様々なキヤ、。
シュ・メモリで同時に存在することができる。
メモリ・ワードの行がEXの状況をとる場合、その行は
1つのプロセッサのキャッシュのみに現れる。そのキャ
ッシュ中にこの行をもつプロセッサだけが、メモリ・ワ
ードの行からデータを取り出し、またはその行にデータ
を記憶することができる。さらに、その行に対するディ
レクトリ項目CHが、行中のデータが変更されたことを
示す場合、そのキャッシュ行中のデータは、主記憶装置
中の対応するデータと一致しない。CHビットがセット
された行がキャッシュ中で置換されると、キャストアウ
ト動作によってコピーが主記憶装置に送られる。
メモリ・ワードの行は、それが無効のとき、■NV状況
をとる。1つのキャッシュ・メモリ中のある行のEXま
たはROの状況は、その行が他のキャッシュ・メモリに
よってEX状況で獲得されたとき、INVに変わる。
SIキャッシュ・メモリ(たとえば、上記の米国特許第
4503497号におけるような)を使用する代表的な
多重プロセッサ・システムは、以下のように動作する。
まず、あるプロセッサが、たとえばデータ取出し命令を
使ってデータ・ワードを要求する。この要求に応えて、
そのプロセッサはそれ自体のキャッシュを検査して、そ
のワードを含む行を探す。キャッシュがその行を含む場
合、そのデータ・ワードが通常の命令実行中にプロセッ
サに送られる。しかし、プロセッサがそれ自体のキャッ
シュ中にその行を見つけられなかった場合は、その要求
が記憶制御装置に渡される。
記憶制御装置は、その要求をすべてのキャッシュの内容
を示すディレクトリと突き合わせて検査する。目標行が
遠隔キャッシュで見つかり、その状況がROである場合
、それが要求側キャッシュにコピーされる。その状況が
EXであり、CHビットがリセットされている場合は、
その行がRO状況で要求側キャッシュにコピーされ、遠
隔キャッシュ中のその行の状況がROに変更される。C
Hビットがセットされている場合は、その行が、EX状
況でCHビットがセットされて要求側キャッシュにコピ
ーされる。遠隔キャッシュ中のその行のコピーは無効に
なる。その行をEX状況のままにしCHビットをセット
されたままに保持することにより、システムは、プロセ
ッサは、近い将来にその行にデータを記憶することを予
期する。最後に、データの目標行がどのキャッシュにも
見つからない場合、その行は、主記憶装置からアクセス
され、Roの状況が割り当てられる。
上記に概略を述べた方法の結果、多重プロセッサ・キャ
ッシュ・メモリ・システムの並行性が不必要に失われる
ことがある。たとえば、ある行のデータが頻繁にアクセ
スされ、稀にしか修正されないときにこのことが起こる
。ある行がプロセッサによって修正されると、それはE
X状況をとり、そのCHビットがセットされる。この状
態は、その行がLRU置換アルゴリズムによってキャッ
シュから置換されるまで続く。この例では、その行に対
する頻繁な取出しの1回ごとに、XI事象が遠隔キャッ
シュ中のその行のコピーを無効にする。
この異常が発生するのは、EXの状況をもつ行のデータ
が変わった後、その行が主記憶装置にキャストアウトさ
れるまで、そのCHビットがセットされたままの状態と
なるためである。キャッシュが大きくなり、多重プロセ
ッサ・システムで使用されるプロセッサの数が増大する
につれて、この問題は大きくなる。キャッシュが大きく
なっても、行の寿命はそれほど迅速に進まず、プロセッ
サの数が増加するにつれて、ある行の寿命が尽きる機会
がないままに、XI事象によってプロセッサ間で回され
る傾向が大きくなる。
米国特許第4484287号明細書は、ある行のデータ
がある状況ではストアイソ・キャッシュ内と同様に扱わ
れ、他の状況ではストアスルー・キャッシュ内と同様に
扱われる、混成キャッシュ・アーキテクチャに関するも
のである。上記特許に記載されているシステムでは、キ
ャッシュ・ディレクトリ中のEX/ROビットの代りに
共用(SH)ビットが使用される。あるデータ行が最初
にアクセスされるとき、その行に対するSHビットがゼ
ロにセットされる。このため、その行は、SIキャッシ
ュ中にあり、EX状況をもつかのように扱われる。他の
プロセッサがその行のデータにアクセスする場合、記憶
制御要素がSHビットを1にセットして、他のプロセッ
サに結合されたキャッシュがCTCバスを介してその行
をコピーできるようにする。次にどちらかのプロセッサ
がその行のデータに対する記憶動作を要求する場合、新
しいデータがSTキャッシュ内と同様に要求側キャッシ
ュ及び主記憶装置中の行に記憶される。
同時に、XI事象が他のキャッシュ中のその行のすべて
のコピーを無効にする。しかし、要求側キャッシュ中の
SHビットはセットされたままであり、その結果、他の
キャッシュがそのデータにアクセスする場合には、CT
Cバスを介してその行をコピーすることにより、その要
求が満たされる。
米国特許第4394731号明細書は、多重プロセッサ
SIキャッシュ・メモリ・システムに関するものである
。このシステムでは、EX状況をもつある行が2つの場
合に獲得できる。第1に、いずれかの遠隔キャッシュに
その行のコピーがないとき、第2に、その行が遠隔キャ
ッシュにあり、EX状況という状況をもち、そのCHビ
ットがセットされているときである。このキャン/具・
ンステムはキャッシュ間バスを含まないので、上記の第
2のケースでは、CH行は主記憶装置にキャストアウト
され、次いで要求側キャッシュにEX状況で割り当てら
れる。遠隔キャッシュ中のデータ行がEXの状況をとり
CHビットがリセットされている場合、遠隔キャッシュ
の状況はROに格下げされ、その行は主記憶装置から要
求側キャッシュにRO状況でコピーされる。
米国特許第4503497号明細書は、キャッシュ間転
送バスを含む多重プロセッサSIキャッシュ・メモリ・
システムに関するものである。このシステムは、その行
の状況またはそのCHビットの状態を変えることなく、
また主記憶装置にアクセスすることなく、EX状況をも
ちCHビットがセットされている目標行を遠隔キャッシ
ュから要求キャッシュに転送する。遠隔キャッシュ中の
目標行は無効にされる。
C9発明が解決しようとする課題 本発明の目的は、不必要なXI及び無効化事象を回避す
ることにより、予期される排他的状況の獲得を有効に利
用する、多重プロセッサ・キャラツユ・メモリ・システ
ムを提供することにある。
03課題を解決するための手段 本発明は、キャッシュ・ミスに応えてアクセスされるデ
ータ行に一時的排他的(TEX)状況が割り当てられる
、多重プロセッサ・キャッシュ・メモリ・システムで具
体化される。この状況は寿命が迅速に進む。状況の寿命
が尽きる前にTEX行への記憶が試みられる場合、その
状況がEX(排他的、専宵)に格上げされる。その行の
寿命が尽きる前に行への記憶が試みられない場合、その
状況はRO(リード・オンリ)に格下げされる。
本発明の他の特徴によると、アクセスされた行が遠隔キ
ャッシュ中に存在するとき、遠隔キャッシュ中のその状
況は一時的読取り専用(TRO)に設定され、その行は
要求側キャッシュ中ではTEX状況をとる。TEX状況
がEXに格上げされる場合、遠隔キャッシュ中の行は無
効とマークされる。
TEX状況がROに格下げされる場合、TRO状況はR
Oに格上げされる。
E5実施例 以下に、本発明による例示的ストアイン・キャッシュ・
メモリ・システムについて説明を示す。本明細書で記載
するシステムは、米国特許第4503497号明細書に
記載されたシステムの改良である。上記明細書を引用に
より本明細書に合体する。
キャッシュイン・メモリ・システムは、IBM社製の3
090システムなど最新の多重プロセッサ・メインフレ
ーム・コンピュータで通常使用されている。こうしたシ
ステムでは、各プロセッサごとに1個ずつキャッシュ・
メモリがある。
各キャッシュ・メモリにディレクトリが付随し、ディレ
クトリの各項目は、INV、RO及びEXの3つの可能
な状況のうちの1つをとることができる。INV状況は
、ディレクトリ中のその項目が無効であることを示す。
この状況は、たとえば、あるキャッシュ中でRO状況を
とる行がEX状況をもつ他のキャッシュによって獲得さ
れるとき、最初のキャッシュ中のデータ行に割り当てら
れる。
RO状況は、そのデータ行が読取り専用状態で有効なこ
とを示す。そのプロセッサは、その行からデータの取出
ししかできない。データの行は、各キャッシュ・ディレ
クトリ中でRO状況をとる場合、複数のキャッシュ中に
同時に存在することができる。
データ行がそのキャッシュ・ディレクトリ項目でEX状
況をもつときは、その行は、他のキャッシュに存在する
ことができない。そのキャッシュを所存するプロセッサ
だけが、XI事象の介入なしでデータをその行に記憶す
ることができる。
キャッシュ・ディレクトリ中のCHビットは、EX状況
をもつデータ行に対してのみ働く。CHビットは、セッ
トされると、データがその行に記憶されていることを示
す。このビットがある行のディレクトリ項目でセットさ
れると、キャッシュ中のデータ行が、主記憶装置中の対
応するデータ行と同じでない可能性があることを示す。
CHビットがセットされた行がキャッシュ中で置換され
ると、その行に対する修正がキャストアウト動作によっ
て主記憶装置に送られる。
本発明によるシステムは、−時的排他的(TEX)及び
−時的読取り専用(TRO)の2つの状況を追加するこ
とにより、SIキャッンユ設計の機能を高める。TEX
状況は、EX状況をもちCHビットがセットされた遠隔
キャッシュ中で見つかり、要求側キャッシュにコピーさ
れた、ある行に割り当てられる。遠隔キャッシュ中の行
は無効にならず、その状況がTROに設定される。
TEXの状況は過渡的状況にすぎない。行がTEX状況
をもつ間にデータをその行に記憶する試みが行なわれな
い場合、要求側キャッシュ中のその行の状況はROに格
下げされ、遠隔キャッシュ中のその状況はROに格上げ
される。その状況がTEXである間にその行にデータが
記憶された場合は、要求側の行の状況はEXに格上げさ
れ、遠隔行の状況はINVに設定される。その行にEX
状況を割り当てることにより、データ取出し要求に応え
てアクセスされた行への記憶を予期するというこの戦略
は、多重プロセッサ・システムで認められる傾向を活用
したものである。本発明者の観察によると、あるプロセ
ッサが、取出し要求で最初にデータにアクセスした後で
データを変更するとき、そのプロセッサは、取出し要求
の後で比較的速やかにその変更を行なう。
この戦略は、不必要なXI事象及び無効化動作を減らす
。というのは、そのデータ行は、−時的EX状況が割り
当てられるとき、依然として遠隔キャッシュ・メモリと
要求側キャッシュ・メモリの両方に存在しているからで
ある。すなわち、ある行のデータが頻繁に取り出される
が、稀にしか変更されない場合、その行はROの状況を
とり、大部分の取出し要求で複数のプロセッサがそのデ
ータを共用できるようにする。その行は、その行のデー
タが変更されるとき、稀にしかEX状況をとらない。
第1図は、本発明の実施例を含む2プロセッサ・システ
ムの構成図である。以下に示す例では、方のプロセッサ
10が要求側プロセッサで、他方のプロセッサ12が遠
隔プロセッサである。以下に提示する例は2プロセッサ
・システムの状況におけるものであるが、当業者なら、
より多数のプロセッサを含むように、このシステムを容
易に拡張することができる。
第1図を参照すると、キャッシュ・メモリ18と20が
、共通記憶制御装置(SC)24に接続されている。キ
ャッシュ18と20は、それぞれバッファ制御装置(B
C)14と16を介して当該のプロセッサ14と16に
接続されている。バッファ制御装置14と16は、その
関連するキャッシュ・メモリに対するディレクトリを維
持する。
記憶制御装置24は、バッファ制御装置18と20のそ
れぞれからのディレクトリの一部分のコピーを保持する
プロセッサ10と12によって生成されるすべてのメモ
リ・アクセスは、その関連するキャッシュ・メモリ18
と20を介して処理される。あるデータ項目がキャッシ
ュ中で見つからない場合(すなわち、キャッシュ・ミス
時)、バッファ制御装置は、記憶制御装置24に対する
そのデータへのアクセス要求を生成するように、キャッ
シュを条件付ける。記憶制御装置24は、要求されたデ
ータ項目を含むデータの行のコピーを得るのに必要な処
置を講じる。この行は遠隔キヤツシユから得られること
もあり、遠隔キャッシュ中で見つからない場合は、主記
憶装置26から獲得される。
要求されたデータが遠隔キャッシュ中で見つかると、主
記憶装置26にアクセスすることなく、キャッシュ間(
cTC)バス22を介してそのデータが要求側キャッシ
ュに送られる。キャンシュ・メモリ28と20は、それ
ぞれ−時スタツク・メモリ19と20に接続されている
。記憶制御装置24は、−時ディレクトリ・メモリ25
に結合されている。これらのメモリの機能について次に
述べる。
キャッシュ18または20からの要求を受は取ると、記
憶制御装置24は、要求されたデータへの要求されたア
クセスを許可するのにどんな動作が必要かを決定する。
記憶制御装置24は、プロセッサ・キヤツシユに対する
ディレクトリの部分コピーを維持しているので、他のキ
ャッシュ中に要求されたデータを含む目標行のコピーが
あるかどうか判定することができる。さらに、記憶制御
装置24は、どのキャッシュが目標行を含み、それにど
んな状況が割り当てられているかを判定する。
本発明にとって、命令取出しくI取出し)、データまた
はオペランド取出しくD取出し)及びデータまたはオペ
ランド記憶(D記憶)の3つの形式のメモリ・アクセス
が重要である。■取出しとD取出しはデータへの読取り
アクセスを要求し、D記憶は書込みアクセスを要求する
ものである。したがって、■取出しでアクセスされたデ
ータ行は一般にRO状況を割り当てられ、D記憶でアク
セスされたデータ行はEX状況を割り当てられる。
D取出し要求でアクセスされたデータ行は、RO状況を
割り当てられることも、EX状況を割り当てられること
もある。
たとえば、IBM社製の3081型コンピユータでは、
D取出し要求時にキャッシュ・ミスが発生し、そのデー
タを含む行が、EX状況でCHビットがセットされて遠
隔キャッシュ中にあるとき、要求側キャッシュは要求側
プロセッサからの将来の記憶要求を予期してEX状況を
割り当てる。この戦略は、1つのプロセッサによって修
正されたデータ行が、最初のアクセス要求がD取出しで
あるときでさえ再び修正される傾向があるという知見に
基づいている。ただし、この予期戦略の結果、その行に
対する記憶要求が生成されなくなったとき、上記のよう
に、不必要な相互照会(XI)事象と不必要な無効化動
作が生じることがある。
次に第2図ないし第4図に関して様々な取出し動作及び
記憶動作について説明する。第2図のステップ100で
、プロセッサ10は■取出し要求を行なう。ステップ1
02で、バッファ制御装置14は、要求されたデータを
含む行を探してキャッシュ18のディレクトリを検査す
る。その行がキャッシュ18中に存在することがわかる
と、ステップ104で、そのデータへのアクセスが許可
される。
ステップ106で、キャッシュ18中にそのデータ行が
見つからなかった場合(すなわち、キャッシュ・ミス時
)、バッファ制御装置14は、記憶制御装置24からデ
ータを要求する。ステップ108で、記憶制御装置24
は、要求された行が遠隔キャッシュ20にあるかどうか
判定する。その行が遠隔キャッシュにない場合は、ステ
ップ110で、記憶制御装置24は、主記憶装置(MS
)26からのデータを要求する。要求された行が遠隔キ
ャッシュ20中に見つかった場合、それはRO杖況であ
る。というのは、そのデータ行は工取出し要求に応えて
獲得されたからである。この検査は、判断ブロック11
4からのN分岐で表される。この場合、ステップ118
で、その行がCTCバス22を介して遠隔キャッシュ2
0から要求側キャッシュ18にコピーされる。その状況
は変更されない。
しかし、■取出し要求に応えてアクセスされた行が遠隔
キャッシュ20中でEX状況をもっこともあり得る。こ
の場合、CHビットはセットされていることもリセット
されていることもある。その遠隔行がEX状況をもちC
Hビットがリセットされている場合、判断ブロック11
4からN分岐をとってステップ118に進む。ステップ
118で、その行が遠隔キャッシュ20からCTCバス
22を介して要求側キャッシュ18にコピーされ、両方
のキャッシュ中の行の状況がROに変更される。判断ブ
ロック114でY分岐をとる場合は、ステップ116で
、変更された行を主記憶装置26にキャッシュアウトす
るように遠隔バッファ制御装置を条件付けし、ステップ
118を実行する。
ステップ110または118の結果としてデータ行がR
Oの状況で要求キャッシュ中にあるとき、プロセッサ1
0は要求された命令を取り出すことができる。
第3図は、ステップ200でプロセッサ10がキャッシ
ュ・メモリへのD取出し要求を開始するとき、第1図に
示したシステムが取るステップを示したものである。ス
テップ202で、バッファ制御装置14は、要求された
データがキャッシュ・メモリ18中にあるかどうか判定
する。そのデー夕がキャッシュ18中で見つからない場
合は、ステップ204で、バッファ制御装置14は、遠
隔キャッシュ20または主記憶装置26からのデータへ
のアクセス要求を記憶制御装置24に送る。
この要求に応えて、ステップ206で、記憶制御装置2
4は、要求されたデータを含む行が遠隔キャッシュ20
中にあるかどうか判定する。そのデータが遠隔キャッシ
ュ中にない場合は、ステップ208で、記憶制御装置2
4は、TEX状況をもつキャッシュ18にデータを供給
するため、主記憶装置26からのデータの取出し要求を
発行する。この状況指定では、要求された行のワードが
、キャッシュにもたらされた直後に記憶されるものと仮
定する。この仮定が誤っている場合、TEX状況は自動
的にRO状況に格下げされる。
ステップ20Bで記憶制御装置24が遠隔キャッシュ1
8中に要求されたデータを見つけた場合、次にステップ
24で、その行の状況を決定する。
状況がROである場合、ステップ212で、記憶制御装
置24はその行を要求側キャッシュにコピーし、要求側
キャッシュ中でそれにROの状況を割り当てる。
遠隔キャッシュ中のその行の状況が、EXまたはTEX
であるとステップ210で判定された場合、ステップ2
18で、記憶制御装置24は、その行へのアクセスを望
んでいるとバッファ制御装置16に知らせる。ステップ
220で、バッファ制御装置16は、その行のCHビッ
トを検査する。
CHビットがリセットされている場合、ステップ224
で、制御装置16は、行の状況をROに変更して、その
行をRO状況で要求側キャッシュ18にコピーする。要
求側キャッシュ中の状況はROである。CHビットがセ
ットされている場合、遠隔バッファ制′m装置1eは、
要求側キャッシュ18にその行をTEX状況でコピーす
るように記憶制御装置24に知らせる。CHビットはセ
ットされたままである。要求側キャッシュはその行のそ
のコピーの状況をTROに変更する。
ステップ202で、要求側バッファ制御装置14が要求
側キャッシュ18中でその行を見つけた場合は、ステッ
プ226に進む。ステップ226で、制御装置14はそ
の行の状況を検査する。その行の状況がROlEXまた
はTEXである場合、そのプロセッサがその行にアクセ
スすることができる。この条件は判断ブロック226の
N分岐で表される。この分岐をとると、ステップ228
が実行されて、要求されたデータをプロセ、ツサ10に
供給する。
しかし、要求側キャッシュ中のその行の状況がTROで
あると判定された場合、バッファ制御装置14はデータ
へのアクセスをすぐには許可しない。というのは、この
状況は、その行がTEX状況で遠隔キャッシュ中にある
可能性があることを示しているからである。したがって
、制御装置14は、ステップ226.230,232及
び234を含むループを実行する。このループは、遠隔
キャッシュ中のその行の状況を検査するよう記憶制御装
置24に指示し、その状況の寿命が尽きてEXまたはR
Oに変わるのを待つ。以下に述べるように、その寿命は
迅速に進み、かつTEX状況は比較的稀にしか発生しな
いので、このループは、行中のデータへのアクセスを許
可する際に大きな遅延を引き起さないはずである。遠隔
行の状況がROに変わった場合、記憶制御装置24は、
要求側状況をROに変更し、要求側キャッシュがデータ
にアクセスできるようになる。一方遠隔キャッシュ中の
状況がEXである場合は、ステップ232からステップ
218に移り、上記のように要求側キャッシュのその行
へのアクセスを許可する。
あるプロセッサによって生成されるデータ要求の最後の
形式はD記憶である。第4図のステップ300で、プロ
セッサ10がD記憶要求を生成する。この要求に応えて
、ステップ302で、バッファ制御装置14は、そのデ
ィレクトリを検査して、データを含む行がキャッシュ1
8中に存在するかどうか判定する。存在する場合、判断
ブロック318で、バッファ制御装置14は、その行の
状況がTEXであるかどうか検査する。TEXの状況を
見出した場合、ステップ320で、バッファ制御装置は
状況をEXに変更して、その行へのアクセスを許可し、
ステップ324で記憶動作が行なえるようにする。一方
、その行の状況がTEXでないことを見出した場合、バ
ッファ制御装置14は、判断ブロック322で、行の状
況がEXであるかどうか検査する。EX状況を見出した
場合、ステップ324で、バッファ制御装置は記憶動作
が行なえるようにする。その行の状況がEXでない場合
は、RoまたはTROである。どちらの場合でも、ステ
ップ326で、バッファ制御装置は、その行にEX状況
を与えるように記憶制御装置24に要求する。この要求
に応えて、制御装置24は、遠隔キャッシュ・メモリ中
のその行のコピーを無効にし、次いで要求キャッシュ1
8中のその行の状況をEXに設定する。
ブロック302での初期検査でキャッシュ18中にその
行が見つかると、ステップ304で、バッファ制御装置
14は、EX状況をもつ行に対する要求を記憶制御装置
24に発行する。この要求に応えて、ステップ30Bで
、記憶制御装置24は、データをそこに記憶すべきメモ
リ位置を含む行がメモリ・キャッシュ20中に存在する
かどうか判定する。その行が遠隔キャッシュ中にない場
合、記憶制御装置24は主記憶装置26からその行を取
り出して、それをEX状況で要求側キャッシュに割り当
てる。記憶制御装置24が遠隔キャッシュ中でその行を
見つけた場合、ステップ310で、行の状況を検査する
。ステップ310でEXまたはTEX状況が見つかった
場合、ステップ314で、記憶制御装置24は、その行
を要求側キャッシュ18に転送し、その行の遠隔コピー
の状況をINVに変更する(ステップ316)ように遠
隔バッファ制御装置16に指示する。
記憶制御装置24が、ROまたはTROの状況をもつ遠
隔行を見つけた場合、ステップ312で、遠隔キャッシ
ュから要求キャッシュへの行のコピーを開始し、その行
の遠隔コピーがあればそれを無効にし、要求側キャッシ
ュ中のその行の状況をEXに設定する。
ステップ308.312.316、または328の任意
のステップの後で、要求側キャッシュがEX状況の行を
持つとき、そのキャッシュは、そのデータに対する要求
側プロセッサ10のアクセスを許可する。
上記の流れ図には明らかに示してないが、記憶制御装置
24が、バッファ制御装置14と16の一方から発行さ
れた要求を修正することが可能である。この形式の修正
が行なわれるのは、その要求が発行されてからそれにシ
ステム制御装置24が作用するまでの間に、その行の状
況が変更されるときである。たとえば、第3図のステッ
プ226で行の状況がTROであると判定され、バッフ
ァ制御装置14が、記憶制御装置24にその行の遠隔状
況を検査するように要求するものと仮定する。
この要求が行なわれる前に、要求側キャッシュ中のその
行の状況がINVに変更されて、その行がそのキャッシ
ュからアクセス不能になっていることがあり得る。この
場合、システム制御装置24は、その要求を、ステップ
230の遠隔状況検査要求ではなく、(たとえば、ステ
ップ206の)ミス要求として扱う。
上記の説明は、多重プロセッサ環境中の1つのプロセッ
サからのI取出し、D取出し及びD記憶要求を処理する
際の、記憶制御装置24及びバッファ制御装置14と1
6を通る制御フローに関するものである。第3図の命令
ループを除いて、この説明は、TEX状況およびTRO
状況に寿命を設けることには関係しない。しかし、これ
らの状況に寿命を設けることは、本発明にしたがって動
作するSIキャッシュ・メモリ・システムの動作におけ
る重要な要因である。
本発明のこの実施例では、記憶制御装置24及びバッフ
ァ制御装置14と18が、別々のデータ構造を使ってT
EX状況及びTRO状況に寿命を設けかつ記録する。こ
れらのデータ構造は、それぞれ−時ディレクトリ25及
び−時スタック19と21である。−時スタック19と
21はそれぞれ、たとえば小さなスタックの対を含む。
各バッファ制御装置中の一方のスタックは、どの行がT
EXの状況をもつかを示すデータを保持し、他方のスタ
ックは、どの行がTROの状況をもつかを示すデータを
保持する。各スタックは、連想メモリとして配列された
N個のレジスタを含む。−時ディレクトリは、PXN個
の項目をもつ連想メモリであり、Pは多重プロセッサ・
システム中のプロセッサの数である。このディレクトリ
は、複数のプロセッサ・システム中でTEX状況をもつ
各行ごとに1つずつ項目を保持するのに十分な空間をも
つ。本発明の実施例では、Nが1で、Pは2である。
ある行が、たとえばTEX状況をもつキャッシュ18中
に取り出されるとき、バッファ制御装置14の局所ディ
レクトリ中のその状況が、たとえばROに設定され、そ
の行を識別するトークン(たとえば、その行アドレスま
たはキャッシュ座標)が制御装置14のTEXスタック
に押し込まれる。
さらに、その行に対する項目が記憶制御装置24の一時
ディレクトリ中に作成される。同様に、すでにキャッシ
ュ18中にある行にTRO状況が与えられると、そのデ
ィレクトリ項目にINV状況が与えられ、その行を識別
するトークンがTROスタックに押し込まれる。
上記の例では、その状況を決定するために、ある行への
どのアクセスもどちらかのスタックに自動的に捕捉され
る(すなわち、関連スタック中を通る経路が設定される
)。この動作方法は、ある行の寿命が尽きたときの省略
時状況値を確立する。
TEX行It RO行ニナリ、TRO行は187行にな
る。この状況指定は、TROスタックからある行が削除
されてからそのディレクトリ項目が変更されるまでの間
に、プロセッサがその行への許可不能なアクセスを得る
ことを妨げる、フェイルセーフ機能をもたらす。これら
の例では、ある項目に対するディレクトリ項目が変更さ
れるのは、TEX状況がEXに格上げされたとき、また
はTRO状況がROに格上げされたときだけである。
TEX状況をもつ行にデータが記憶されると、TEXス
タックツクその行の項目を削除し、ディレクトリ項目を
変更することにより、その行に対する状況が直ちにEX
に変更される。同時に、−時ディレクトリから対応する
項目を除去し、遠隔キャッシュ中にその行のコピーがあ
ればそれを無効にするようにと記憶制御装置24に指示
が行なわれる。この動作により、当該のTROスタック
から対応する項目を単に削除するだけで、遠隔プロセッ
サに関連するキャッシュ制御装置ディレクトリ中のその
行が無効にされる。
TEX状況及びTRO状況は置換動作により寿命が尽き
る。スタックへの新しい項目が作成されるとき、古い項
目の1つが削除(置換)される。
たとえば、制御装置14のTROスタックツクある項目
が置換されるとき、制御装置14の局所ディレクトリ中
の対応する項目中の状況が自動的にINVになる。バッ
ファ制御装置工4のTEXスタックツクある項目が置換
されるとき、対応する行に自動的にROの状況が与えら
れる。この場合、遠隔キャッシュに存在する以前のTE
X項目のコピーがあればその状況をTROからROに変
更することが望ましい。このステップは多重プロセッサ
・システムの全体的効率にとって有益であるが、このス
テップがなくとも、遠隔TRO項目は省略時の値として
INVをとるので、不必要である。
第3図のステップ222で、EXの状況をもちCHビッ
トがセットされている行が、要求側キャッシュ中でTE
Xの状況をもち、遠隔キャッシュ中でTROの状況をも
つように変更することができる。それ以上の介入なしに
寿命が尽きる場合は、その結果、状況がROでCHビッ
トがセットされた行のコピーが2つできることになる。
すなわち、主記憶装fi!2e中の対応するf−夕とは
異なるデータを含む読取り専用行が2行できる。この異
常な状況を防止するため、この実施例では、TEX状況
をもちCHビットがセットされた行が、その寿命が尽き
てそのTEXスタックから押し出されるときに、キャス
トアウト動作を実行する。
本発明者は、−時的状況に寿命を設けるこの方法が、取
出し要求の後に変更される行を十分な時間排他的状況に
保持し、予期される排他的状況を使用しないシステムに
比べて大きな性能の改良をもたらすものと判断した。し
かし、本明細書に記載した方法はまた、不必要なXI及
び無効化事象の数を、予想に基づいてEX状況を割り当
てる従来のシステムに比べて減少させる。
−時的状況に寿命を設は記録するこの方法が好ましいが
、それが本発明者が企図する唯一の方法ではない。たと
えば、その行に対するディレクトリ項目中の追加ビット
で一時的状況の存在を示すことができる。この項目は、
記憶制御装置のディレクトリ中だけにあっても、また記
憶制御装置とバッファ制御装置の両方のディレクトリ中
にあってもよい。この代替実施例では、あるディレクト
リ中のすべての一時ビットを定期的にリセットし、必要
に応じて対応する項目の状況を変更することにより、状
況の寿命を進める。この動作は、たとえばある行がTE
X状況でキャッシュ中に取り出される度に、またはすで
にキャッシュ中にある行の状況がTROに変わる度に実
行される。−時スタックから一時的状況(特にTEX)
の寿命を定期的に進める他の方法は、タイマでそれをト
リガするものである。バッファ制御装置にTEX状況が
あるときにタイマがセットされ、タイマが鳴る度に1つ
のTEX状況が解放される。
特定のアプリケーションでTROとTEXの両方の状態
を使用する必要はない。たとえば、ある設計ではTEX
状態だけを使用する。第3図のステップ222で、D取
出し要求にTEX状況が与えられるときは、遠隔EXフ
ピーが、TRO状況に変更されず、従来の設計己同様に
無効になる。
あるTEX状況を早期に解放する(ROに変更する)こ
とにより、不必要なXI動作をさらに減らすことができ
る。こうすると、他のバッファ制御装置がTEX状況を
RO状況に変えるときに、TRO状況をRO状況に変更
するように遠隔バッファ制御装置に指示する必要がなく
なる。一方、不必要なキャッシュ行無効化を回避する利
点が失われる。
上記のシステムはストアイン(SI)キャッシュ・メモ
リ・システムに関するものであるが、同じ形式のシステ
ムがストアスルー・キャッシュ・メモリ・システムでも
有利に使用できることが企図されている。ストアスルー
・キャッシュ・システム用の実施態様での唯一の重要な
違いは、キャストアウト動作がなくせることである。と
いうのは、ストアスルー・キャッシュ・システムでは、
データは自動的にキャッシュを介して主記憶装置に記憶
されるからである。
【図面の簡単な説明】
第1図は、本発明の実施例を含む多重プロセッサ・シス
テムの構成図である。 第2図ないし第4図は、第1図に示した多重プロセッサ
・システムで使用されるキャッシュ・メモリ・システム
の動作を記述する流れ図である。 10.12・・・・プロセッサ、14.16・・・・バ
ッファ制#装置(BC)、18.20・・・・キャッシ
ュ、19.21・・・・−時スタック・メモリ、22・
・・・キャッシュ間(cTC)バス、24・・・・記憶
制御装置(SC)、25・・・・−時ブイレフ) IJ
・メモリ、26・・・・主記憶装置(MS)。 FIG、  i FIG。 2

Claims (3)

    【特許請求の範囲】
  1. (1)(a)第1の形式のメモリ・アクセス要求に応じ
    て、アクセスすべきデータを含むメモリ・ワードの行を
    キャッシュ・メモリに記憶するステップ、 (b)メモリ・ワードの前記行に含まれるデータに対し
    て、前記第1の形式とは異なる第2の形式のメモリ・ア
    クセス要求が許されることを示す、第1の状況値を割り
    当てるステップ、 (c)前記メモリ・ワードの前記行の前記第1状況値の
    寿命を設けるステップ、及び (d)前記行に含まれるデータに対して、前記第2形式
    の第1データ・アクセス要求に応えてメモリ・ワードの
    前記行に、メモリ・ワードの前記行のデータへの前記第
    2形式のアクセスが許されることを示す第2状況値を割
    り当てるステップ、を含む、キャッシュ・メモリ・アク
    セス方法。
  2. (2)それぞれ第1及び第2キャッシュ・メモリ手段に
    結合された第1及び第2プロセッサ手段を含むデータ処
    理システムにおいて、前記第1プロセッサからの第1形
    式のメモリ・アクセス要求に応えて、前記第1キャッシ
    ュ・メモリ手段中には存在せず、前記第2キャッシュ・
    メモリ手段中に存在するデータにアクセスする方法であ
    って、 (a)第2キャッシュ・メモリから第1キャッシュ・メ
    モリに前記データをコピーするステップ、 (b)第2形式のアクセスが前記コピーされたデータに
    対して許可できることを示す第1状況値を、前記第1キ
    ャッシュ・メモリ手段中のコピーされたデータに割り当
    てるステップ、 (c)前記第2形式のアクセスが第2キャッシュ・メモ
    リ手段中のデータに対して許可できないことを示す第2
    状況値を、第2キャッシュ・メモリ手段のデータに割り
    当てるステップ、 (d)前記第1状況値の寿命を設けるステップ、 (e)第1状況値の寿命が尽きる前に前記第2形式のア
    クセスが前記第1プロセッサによって要求されない場合
    、前記第2形式のアクセスが第1キャッシュ・メモリ手
    段中のコピーされたデータに対して許可できないことを
    示す第3の状況値を、前記第1キャッシュ・メモリ手段
    中のコピーされたデータに割り当てるステップ、 を含むキャッシュ・メモリ・アクセス方法。
  3. (3)バッファ・メモリ手段と、 第1の形式のメモリ・アクセス要求に応じて、アクセス
    すべきデータを含むメモリ・ワードの行を前記バッファ
    ・メモリ手段に記憶するバッファ制御手段とを含み、 前記バッファ・メモリ手段が、 メモリ・ワードの前記行に含まれるデータに対して、前
    記第1の形式とは異なる第2の形式のメモリ・アクセス
    要求が許されることを示す、第1の状況値を割り当てる
    手段と、 前記メモリ・ワードの前記行の前記第1状況値の寿命を
    設ける手段と、 前記行に含まれるデータに対して、前記第2形式の第1
    データ・アクセス要求に応えてメモリ・ワードの前記行
    に、メモリ・ワードの前記行のデータへの前記第2形式
    のアクセスが許されることを示す第2状況値を割り当て
    る手段とを有することを特徴とするキャッシュ・メモリ
    ・システム。
JP2123225A 1989-05-17 1990-05-15 キヤツシユ・メモリ・アクセス方法およびキヤツシユ・メモリ・システム Granted JPH036756A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US353380 1989-05-17
US07/353,380 US5130922A (en) 1989-05-17 1989-05-17 Multiprocessor cache memory system using temporary access states and method for operating such a memory

Publications (2)

Publication Number Publication Date
JPH036756A true JPH036756A (ja) 1991-01-14
JPH0555899B2 JPH0555899B2 (ja) 1993-08-18

Family

ID=23388859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2123225A Granted JPH036756A (ja) 1989-05-17 1990-05-15 キヤツシユ・メモリ・アクセス方法およびキヤツシユ・メモリ・システム

Country Status (4)

Country Link
US (1) US5130922A (ja)
EP (1) EP0397994B1 (ja)
JP (1) JPH036756A (ja)
DE (1) DE69027253T2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291442A (en) * 1990-10-31 1994-03-01 International Business Machines Corporation Method and apparatus for dynamic cache line sectoring in multiprocessor systems
US5287473A (en) * 1990-12-14 1994-02-15 International Business Machines Corporation Non-blocking serialization for removing data from a shared cache
US5276835A (en) * 1990-12-14 1994-01-04 International Business Machines Corporation Non-blocking serialization for caching data in a shared cache
US5361368A (en) * 1991-09-05 1994-11-01 International Business Machines Corporation Cross interrogate synchronization mechanism including logic means and delay register
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
GB2271201B (en) * 1992-10-01 1995-12-13 Digital Equipment Int Low-overhead,non-coherent cache refreshment mechanism
WO1994012923A2 (en) * 1992-11-30 1994-06-09 Base 10 Systems, Inc. A safety critical processor and processing method for a data processing system
JPH06180669A (ja) * 1992-12-14 1994-06-28 Nec Niigata Ltd キャッシュシステム
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
JPH086854A (ja) * 1993-12-23 1996-01-12 Unisys Corp アウトボードファイルキャッシュ外部処理コンプレックス
JP2778913B2 (ja) * 1994-04-26 1998-07-23 株式会社東芝 マルチプロセッサシステム及びメモリアロケーション方法
JP3030229B2 (ja) * 1994-06-20 2000-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを転送する方法及びデータ記憶システム
US5671231A (en) * 1994-07-07 1997-09-23 Dell Usa, L.P. Method and apparatus for performing cache snoop testing on a cache system
US5895496A (en) * 1994-11-18 1999-04-20 Apple Computer, Inc. System for an method of efficiently controlling memory accesses in a multiprocessor computer system
USRE38514E1 (en) 1994-11-18 2004-05-11 Apple Computer, Inc. System for and method of efficiently controlling memory accesses in a multiprocessor computer system
US5655103A (en) * 1995-02-13 1997-08-05 International Business Machines Corporation System and method for handling stale data in a multiprocessor system
JP3872118B2 (ja) * 1995-03-20 2007-01-24 富士通株式会社 キャッシュコヒーレンス装置
US5835941A (en) * 1995-11-17 1998-11-10 Micron Technology Inc. Internally cached static random access memory architecture
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US6122711A (en) * 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
JPH1173370A (ja) * 1997-08-29 1999-03-16 Fujitsu Ltd 情報処理装置
US6098152A (en) * 1997-10-17 2000-08-01 International Business Machines Corporation Method and apparatus for miss sequence cache block replacement utilizing a most recently used state
US6304948B1 (en) * 1998-10-06 2001-10-16 Ricoh Corporation Method and apparatus for erasing data after expiration
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US6438650B1 (en) * 1998-12-16 2002-08-20 Intel Corporation Method and apparatus for processing cache misses
US6857051B2 (en) * 1998-12-23 2005-02-15 Intel Corporation Method and apparatus for maintaining cache coherence in a computer system
US6708254B2 (en) * 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system
US6651145B1 (en) 2000-09-29 2003-11-18 Intel Corporation Method and apparatus for scalable disambiguated coherence in shared storage hierarchies
US6643747B2 (en) * 2000-12-27 2003-11-04 Intel Corporation Processing requests to efficiently access a limited bandwidth storage area
US6799247B1 (en) * 2001-08-23 2004-09-28 Cisco Technology, Inc. Remote memory processor architecture
US20040128448A1 (en) * 2002-12-31 2004-07-01 Intel Corporation Apparatus for memory communication during runahead execution
US20060156381A1 (en) * 2005-01-12 2006-07-13 Tetsuro Motoyama Approach for deleting electronic documents on network devices using document retention policies
US8272028B2 (en) * 2008-10-15 2012-09-18 Ricoh Company, Ltd. Approach for managing access to electronic documents on network devices using document retention policies and document security policies
US9135172B2 (en) * 2012-08-02 2015-09-15 Qualcomm Incorporated Cache data migration in a multicore processing system
US8990513B2 (en) 2013-01-11 2015-03-24 International Business Machines Corporation Accelerated recovery for snooped addresses in a coherent attached processor proxy
US9021211B2 (en) 2013-01-11 2015-04-28 International Business Machines Corporation Epoch-based recovery for coherent attached processor proxy

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache

Also Published As

Publication number Publication date
DE69027253T2 (de) 1996-12-05
US5130922A (en) 1992-07-14
EP0397994A2 (en) 1990-11-22
EP0397994B1 (en) 1996-06-05
EP0397994A3 (en) 1992-05-20
JPH0555899B2 (ja) 1993-08-18
DE69027253D1 (de) 1996-07-11

Similar Documents

Publication Publication Date Title
JPH036756A (ja) キヤツシユ・メモリ・アクセス方法およびキヤツシユ・メモリ・システム
US5317716A (en) Multiple caches using state information indicating if cache line was previously modified and type of access rights granted to assign access rights to cache line
US6249846B1 (en) Distributed data dependency stall mechanism
EP0349122B1 (en) Method and apparatus for filtering invalidate requests
US7366847B2 (en) Distributed cache coherence at scalable requestor filter pipes that accumulate invalidation acknowledgements from other requestor filter pipes using ordering messages from central snoop tag
US7076613B2 (en) Cache line pre-load and pre-own based on cache coherence speculation
US5802582A (en) Explicit coherence using split-phase controls
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US6629212B1 (en) High speed lock acquisition mechanism with time parameterized cache coherency states
JP5445581B2 (ja) コンピュータシステム、制御方法、記録媒体及び制御プログラム
US6105108A (en) Method and apparatus for releasing victim data buffers of computer systems by comparing a probe counter with a service counter
JP7320508B2 (ja) 書込み動作を処理するための装置及び方法
JP2007193805A (ja) デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法
US6629209B1 (en) Cache coherency protocol permitting sharing of a locked data granule
JPH02141845A (ja) マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法
JP2007035026A (ja) 対称型マルチプロセッシングシステムにおける排他的読み出し要求の待ち時間を削減するためのシステム
US6202126B1 (en) Victimization of clean data blocks
US6061765A (en) Independent victim data buffer and probe buffer release control utilzing control flag
JP4577729B2 (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
KR20070040340A (ko) 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템
US6101581A (en) Separate victim buffer read and release control
JPH04230549A (ja) 多重レベル・キャッシュ
US6477622B1 (en) Simplified writeback handling
US6934810B1 (en) Delayed leaky write system and method for a cache memory
EP0355320B1 (en) Improved multiprocessor cache and method for maintaining coherence