JPH0555899B2 - - Google Patents

Info

Publication number
JPH0555899B2
JPH0555899B2 JP2123225A JP12322590A JPH0555899B2 JP H0555899 B2 JPH0555899 B2 JP H0555899B2 JP 2123225 A JP2123225 A JP 2123225A JP 12322590 A JP12322590 A JP 12322590A JP H0555899 B2 JPH0555899 B2 JP H0555899B2
Authority
JP
Japan
Prior art keywords
memory
cache
status value
type
data
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
JP2123225A
Other languages
English (en)
Other versions
JPH036756A (ja
Inventor
Ryuu Rishiingu
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 OR CALCULATING; 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)

Description

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

Claims (1)

  1. 【特許請求の範囲】 1 主メモリ、複数のプロセツサおよびこれら複
    数のプロセツサにそれぞれ設けられたキヤツシ
    ユ・メモリを含むマルチプロセツサ・コンピユー
    タ・システムにおいて、各プロセツサが、対応す
    るキヤツシユ・メモリにおいて見つからないデー
    タをアクセスする際につぎのステツプ(a)〜(d)を当
    該キヤツシユ・メモリに対して実行することを特
    徴とするキヤツシユ・メモリ制御方法。 (a) 当該プロセツサによる第1の形式のメモリ・
    アクセス要求に応じて、上記データを含むメモ
    リ・ワード・ラインを、主メモリまたは他のプ
    ロセツサのキヤツシユ・メモリから、当該プロ
    セツサのキヤツシユ・メモリに転送するステツ
    プ。 (b) 上記第1の形式のメモリ・アクセス要求に応
    じて、上記メモリ・ワード・ラインに第1の状
    況値を割り当てるステツプ。上記第1の状況値
    は、上記第1の形式のメモリ・アクセスと異な
    る第2の形式のメモリ・アクセスが可能なこと
    を示し、かつ以下のステツプ(c)またはステツプ
    (d)に応じて異なる状況値に設定され直される。 (c) 上記第1の形式のメモリ・アクセスののち所
    定の寿命期間内に上記第2の形式のメモリ・ア
    クセスがないときに、上記メモリ・ワード・ラ
    インに第2の状況値を割り当てるステツプ。上
    記第2の状況値は、上記第1の形式のメモリ・
    アクセスのみが可能なことを示す。 (d) 上記第1の形式のメモリ・アクセスののち上
    記寿命期間内に上記第2の形式のメモリ・アク
    セスがあつたときに、上記メモリ・ワード・ラ
    インに第3の状況値を割り当てるステツプ。上
    記第3の状況値は、上記第2の形式のメモリ・
    アクセスが可能なことを示す。 2 第1のプロセツサ、第2のプロセツサ、なら
    びにこれら第1のプロセツサおよび第2のプロセ
    ツサにそれぞれ設けられた第1のキヤツシユ・メ
    モリおよび第2のキヤツシユ・メモリを含むデー
    タ処理装置において、上記第1のプロセツサのキ
    ヤツシユ・メモリになく、上記第2のプロセツサ
    のキヤツシユ・メモリにあるデータに対して、上
    記第1のプロセツサが第1の形式のメモリ・アク
    セスを行う際に、つぎのステツプを実行すること
    を特徴とするキヤツシユ・メモリ制御方法。 (a) 上記データを上記第2のキヤツシユ・メモリ
    から上記第1のキヤツシユ・メモリにコピーす
    るステツプ。 (b) 上記第1のキヤツシユ・メモリの上記コピー
    されたデータに第1の一時的状況値を割り当
    て、かつ上記第2のキヤツシユ・メモリの上記
    データに第2の一時的状況値を割り当てるステ
    ツプ。上記第1の一時的状況値は第1の形式の
    メモリ・アクセスと異なる第2のメモリ・アク
    セスが可能なことを示す。上記第2の一時的状
    況値は上記第1の形式のメモリ・アクセスのみ
    が可能なことを示す。上記第1および第2の一
    時的状況値は以下のステツプ(c)またはステツプ
    (d)に応じて異なる状況値に設定され直される。 (c) 上記第1の形式のメモリ・アクセスののち所
    定の寿命期間内に上記第1のプロセツサが上記
    データについて上記第2の形式のメモリ・アク
    セスを行わないときに、上記第1のキヤツシ
    ユ・メモリの上記データの状況値を、上記第1
    の一時的状況値から第1の確定状況値に変更
    し、かつ上記第2のキヤツシユ・メモリの上記
    データの状況値も、上記第2の一時的状況値か
    ら上記第1の確定状況値に変更するステツプ。
    上記第1の確定状況値は、上記第1の形式のメ
    モリ・アクセスのみが可能なことを示す。 (d) 上記第1の形式のメモリ・アクセスののち上
    記寿命期間内に上記第1のプロセツサが上記デ
    ータについて上記第2の形式のメモリ・アクセ
    スを行つたときに、上記第1のキヤツシユ・メ
    モリの上記データの状況値を、上記第1の一時
    的状況値から第2の確定状況値に変更し、上記
    第2のキヤツシユ・メモリの上記データの状況
    値を、上記第2の一時的状況値から第3の確定
    状況値に変更するステツプ。上記第2の確定状
    況値は、上記第2の形式のメモリ・アクセスが
    可能なことを示す。上記第3の確定状況値は、
    上記データが無効であることを示す。 3 複数のプロセツサ、主メモリおよび上記複数
    のプロセツサのそれぞれに設けられたキヤツシ
    ユ・メモリを含み、さらに、各プロセツサが、対
    応するキヤツシユ・メモリにおいて見つからない
    データをアクセスするために以下の手段を有する
    ことを特徴とするマルチプロセツサ・コンピユー
    タ・システム。 (a) 当該プロセツサによる第1の形式のメモリ・
    アクセス要求に応じて、上記データを含むメモ
    リ・ワード・ラインを、主メモリまたは他のプ
    ロセツサのキヤツシユ・メモリから、当該プロ
    セツサのキヤツシユ・メモリに転送する手段。 (b) 上記第1の形式のメモリ・アクセス要求に応
    じて、上記メモリ・ワード・ラインに第1の状
    況値を割り当てる手段。上記第1の状況値は、
    上記第1の形式のメモリ・アクセスと異なる第
    2の形式のメモリ・アクセスが可能なことを示
    し、かつ以下の手段(c)または手段(d)によつて異
    なる状況値に設定され直される。 (c) 上記第1の形式のメモリ・アクセスののち所
    定の寿命期間内に上記第2の形式のメモリ・ア
    クセスがないときに、上記メモリ・ワード・ラ
    インに第2の状況値を割り当てる手段。上記第
    2の状況値は、上記第1の形式のメモリ・アク
    セスのみが可能なことを示す。 (d) 上記第1の形式のメモリ・アクセスののち上
    記寿命期間内に上記第2の形式のメモリ・アク
    セスがあつたときに、上記メモリ・ワード・ラ
    インに第3の状況値を割り当てる手段。上記第
    3の状況値は、上記第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 JPH036756A (ja) 1991-01-14
JPH0555899B2 true 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
EP0671030A1 (en) * 1992-11-30 1995-09-13 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
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
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
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
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
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
US9021211B2 (en) 2013-01-11 2015-04-28 International Business Machines Corporation Epoch-based recovery for coherent attached processor proxy
US8990513B2 (en) 2013-01-11 2015-03-24 International Business Machines Corporation Accelerated recovery for snooped addresses in a 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
EP0397994A3 (en) 1992-05-20
EP0397994A2 (en) 1990-11-22
EP0397994B1 (en) 1996-06-05
DE69027253T2 (de) 1996-12-05
US5130922A (en) 1992-07-14
JPH036756A (ja) 1991-01-14
DE69027253D1 (de) 1996-07-11

Similar Documents

Publication Publication Date Title
JPH0555899B2 (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
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
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
US7310708B2 (en) Cache system with groups of lines and with coherency for both single lines and groups of lines
US6088769A (en) Multiprocessor cache coherence directed by combined local and global tables
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5043886A (en) Load/store with write-intent for write-back caches
JP5445581B2 (ja) コンピュータシステム、制御方法、記録媒体及び制御プログラム
KR102888552B1 (ko) 기록 연산의 처리 장치 및 방법
US6629212B1 (en) High speed lock acquisition mechanism with time parameterized cache coherency states
JPH0743670B2 (ja) ストアスルーキャッシュ管理システム
US6105108A (en) Method and apparatus for releasing victim data buffers of computer systems by comparing a probe counter with a service counter
EP0905628A2 (en) Reducing cache misses by snarfing writebacks in non-inclusive memory systems
US6061765A (en) Independent victim data buffer and probe buffer release control utilzing control flag
US6202126B1 (en) Victimization of clean data blocks
JP2007035026A (ja) 対称型マルチプロセッシングシステムにおける排他的読み出し要求の待ち時間を削減するためのシステム
US6101581A (en) Separate victim buffer read and release control
JPH04230549A (ja) 多重レベル・キャッシュ
JP4577729B2 (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
US6477622B1 (en) Simplified writeback handling
US6934810B1 (en) Delayed leaky write system and method for a cache memory