JP2675981B2 - スヌープ・プッシュ・オペレーションを回避する方法 - Google Patents

スヌープ・プッシュ・オペレーションを回避する方法

Info

Publication number
JP2675981B2
JP2675981B2 JP6153220A JP15322094A JP2675981B2 JP 2675981 B2 JP2675981 B2 JP 2675981B2 JP 6153220 A JP6153220 A JP 6153220A JP 15322094 A JP15322094 A JP 15322094A JP 2675981 B2 JP2675981 B2 JP 2675981B2
Authority
JP
Japan
Prior art keywords
data
memory
snoop
cache
ownership
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
JP6153220A
Other languages
English (en)
Other versions
JPH07105089A (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.)
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 JPH07105089A publication Critical patent/JPH07105089A/ja
Application granted granted Critical
Publication of JP2675981B2 publication Critical patent/JP2675981B2/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
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュ・コヒーレン
ス(coherence )を維持するためにシステム・バスをモ
ニタする複数のデータ・キャッシュ装置を有するデータ
処理システムに関する。より詳細には、本発明は、バス
をモニタする別の装置によるデータの要求に応答して、
バス・トランザクションの再順序化の必要性を除去する
ように、データ転送オペレーションを制御する方法に関
する。
【0002】
【従来の技術】装置が変更しているデータのメモリ・ア
ドレスのためにシステム・バスをモニタする、一般に"
スヌーピング(snooping)"と呼ばれる従来システムが
知られている。一般にキャッシュを含む複数の装置が特
定のメモリ・アドレスに記憶されるデータを変更するこ
とが可能であり、これらの装置は、変更を実行している
装置により所有される同一のデータ(装置はデータへの
アクセスを許可される)を別の装置が要求したかどうか
を判断するために、バス・スヌーピングを実行する。要
求する装置は所望のデータに対応するメモリ・アドレス
をシステム・バス上に出力し、データを所有する装置は
このアドレスに対応してバスをモニタする。データを所
有する装置はバス上のメモリ・アドレスを、変更される
データのメモリ・アドレスと比較し、これらのアドレス
が同じであると"スヌープ・ヒット"が発生する。スヌー
プ・ヒットに対する従来の応答では"スヌープ・プッシ
ュ"・オペレーションを実行し、これは変更する装置に
即時にデータをメモリにプッシュまたは転送して戻させ
る。このスヌープ・プッシュは、スヌープ・プッシュを
導入するトランザクションが最初に実行されるように、
全ての保留のバス・トランザクション・オペレーション
を再順序化することを要求する。バス・トランザクショ
ンのこの再順序化を達成するために、膨大な量の複雑な
論理が要求される。
【0003】例えば、変更する装置(例えば中央処理ユ
ニット)が、システム・メモリからデータを読出し、デ
ータのコピーをそのキャッシュに記憶する変更目的読出
し(RWITM:read with intent to modify)オペレ
ーションを実行する。次に変更する装置はバスのスヌー
プを開始し、更にデータの変更を開始する。装置が現在
自身が所有するデータのメモリ・アドレスを確認する場
合、スヌープ・ヒットが発生する。スヌープ・ヒット
は、通常、要求データのメモリ・アドレスをシステム・
バス上に出力することにより、メモリからデータを要求
する別の装置により引起こされる。
【0004】一般に、スヌープ・ヒットが発生する時、
データを変更した装置は要求する装置が最新のデータの
コピーを有するように、そのバス・トランンザクション
・キューを再順序化し、変更データをシステム・メモリ
に返送しなければならない。これはスヌープ・プッシュ
を用いて達成される。従って、要求する装置は、メモリ
に現在記憶されている既存のまたは未変更のデータのコ
ピーの読出しを阻止されなければならない。しばしば、
データを変更したCPUまたは他の装置は、他のオペレ
ーションを同様に実行している。これらのオペレーショ
ンを実行するため、プロセッサは実行されるバス・トラ
ンザクションのシーケンスをキューに待機する。スヌー
プ・ヒットが発生する時、これらの従来の処理システム
は、そのキャッシュ内の変更データをシステム・メモリ
に最優先で転送しなければならない(スヌープ・プッシ
ュ)。これはスヌープ・プッシュを導入するために要求
されるこれらのトランザクションが最初に実行されるよ
うに、プロセッサがそのキュー内に既に存在する全ての
バス・トランザクションを再順序化する機構を有するこ
とを強要する。スヌープ・プッシュ・オペレーションを
導入するためには、膨大な量の複雑な論理が必要とな
る。
【0005】従って、常にスヌープ・プッシュ・オペレ
ーションを実行する必要を回避するために、特定の制御
信号を使用するシステムが、如何に有利かが容易に理解
される。なぜなら、その結果、システムの複雑化が著し
く低減され、従って、物理ハードウェア・コンポーネン
ト、ハードウェア開発時間及びコストが低減されるから
である。
【0006】米国特許第5025365号は、キャッシ
ュ・コヒーレンス・プロトコルについて述べており、そ
こではデータをメモリに返却し、またデータを変更する
装置にそのコピーを無効と記させるために、パージ・コ
マンド("Purge command" )が使用される。米国特許第
5072369号は、バス間のキャッシュ・コヒーレン
スを提供するインタフェースを提示する。バス・インタ
フェース回路が主メモリ・アクセスを実行する以前に、
バス・マスタに対しキャッシュから主メモリにデータを
コピーするように伝える信号を、バスの1つに出力す
る。欧州特許出願第0309994号は、キャッシュ・
コヒーレンスを維持するために、特定の制御信号の状態
にもとづき、キャッシュの内容をクリアまたはフラッシ
ュする特定の機能を有するコンピュータについて述べて
いる。米国特許第5097532号はまた、フラッシュ
信号を使用して全ての有効ビットをクリアすることによ
り、キャッシュを可能化及び不能化し、コヒーレンスを
保証する。
【0007】更に、PowerPC 601 縮小命令セット・コン
ピュータ(RISC)マイクロプロセッサ(POWERPC は
IBM社の登録商標)は、スヌーピング・オペレーショ
ンによりヒットされるキャッシュの変更セクタをコピー
し戻すスヌープ・プッシュ・オペレーションを使用す
る。スヌープ・ヒットが発生すると、このプロセッサは
信号を発行し、それによりシステムはデータをそのキャ
ッシュからシステム・メモリにプッシュするように、そ
のデータ・バス・オペレーションを再純序化する。POWE
RPC 601マイクロプロセッサに関する詳しい情報につい
ては、Motorola 社発行の"POWERPC 601 Microprocessor
User's Guide"を参照されたい。
【0008】
【発明が解決しようとする課題】従来のシステムは、処
理システムがスヌープ・ヒットに応答してスヌープ・プ
ッシュを導入することを回避するプロトコルを提供しな
いことが明らかである。
【0009】
【課題を解決するための手段】従来技術と比較して、本
発明はスヌープ・ヒットに対し、フラッシュまたはスヌ
ープ・プッシュ・オペレーションにより応答する必要性
を回避するシステムを提供する。
【0010】概して、中央処理ユニット、メモリ・シス
テム、及び入出力(I/O)制御装置を含むシステムが
提供され、I/O制御装置及びCPUの両者はレベル1
(L1)キャッシュを含む。多数のI/O周辺装置がI
/O制御装置に接続され、それに含まれるL1キャッシ
ュへの書込みを行うことができる。I/O周辺装置によ
り書込まれるデータはメモリ内の特定のロケーション
(記憶位置)にマップ化され、次にデータが実際にI/
O装置により制御装置のL1キャッシュに書込まれる。
I/O装置が制御装置キャッシュに書込んでいるこの期
間の間、制御装置は実際には特定のメモリ・ロケーショ
ンに記憶されるデータを所有しない。任意のメモリ・セ
クタに対する書込みオペレーションが完了すると、I/
O制御装置は次に、指定メモリ・ロケーションのデータ
の所有権を獲得するために要求されるバス・オペレーシ
ョンを実行する。メモリから読出されたデータが次にI
/O装置から書込まれたデータと併合され、メモリに書
戻される。I/O制御装置がメモリ・セクタ内にデータ
を所有すると、制御装置キャッシュ内のデータを要求す
るCPUなどの他の装置が存在するかを判断するため
に、バス上において "スヌーピング" ・オペレーション
が開始される。I/O制御装置によりスヌープ・ヒット
が識別される場合、通常の応答ではデータをメモリに提
供するために即時にスヌープ・プッシュを実行するよう
に、要求されたメモリ・アクセスを阻止するために介入
し、キューに待機されるバス・トランザクション・オペ
レーションを再順序化する。しかしながら、本発明によ
れば、I/O制御装置はメモリ・アクセスを阻止するた
めに介入するだけである。本発明の本質は、スヌープ・
ヒットが発生する時間間隔または"ウィンドウ"を、デー
タを所有する装置が既に原子的読取り修正書込み(Read
-Modify-Write )オペレーションを実行している時に限
定し、それによりキューに待機されるバス・トランザク
ション・オペレーションの再順序化を不要とする。
【0011】本発明はI/O制御装置が既にI/Oから
のデータをシステム・メモリからのデータと併合し、更
新されたコピーをメモリに書戻す処理に関連する事実を
利用する。この書戻しオペレーションはスヌープ・ヒッ
トとは独立にスケジュールされる。従って、併合データ
がシステム・メモリに書戻されるまでの短期間だけ、要
求装置をホールドオフするだけで済む。I/O制御装置
上の複雑な再順序化論理または他のスヌーピング装置を
含む必要性が排除され、それにより制御装置をより効率
的且つ安価にすることができる。
【0012】従って前述の要約から、当業者には続く説
明及び添付される図を参照することにより、本発明の目
的、特徴及び利点が明らかとなろう。
【0013】
【実施例】図1を参照すると、本発明を実施するデータ
処理システムのブロック図が示される。中央処理ユニッ
ト(CPU)1はレベル1(L1)キャッシュ3を有
し、システム・バス5に接続されるように示される。C
PU1は数多くの市販の処理ユニットの任意の1つであ
るが、好適な実施例では、IBM社により設計されたPo
werPC 601マイクロプロセッサである(PowerPCはIBM
社の登録商標である)。更に本発明は、複数のCPU
(参照番号1aで示される)がシステム・バス5に接続
されるマルチプロセッサ・システムを考慮する。またシ
ステム・バス5には入出力制御チップ(IOCC)9が
接続されて示され、これには複数のメモリ・セクタNを
有するL1キャッシュ11が含まれる。入出力バス13
は周辺装置15、17、19、21をIOCC9に相互
接続するように示される。これらの周辺装置にはキーボ
ード、マウス、小型コンピュータ・システム・インタフ
ェース(SCSI)、シリアル・ポート、パラレル・ポ
ート、通信などが含まれる。IOCC9は、これらの周
辺装置がシステム・バス5を介してCPU1に接続さ
れ、それと通信することを可能とする。更に様々な他の
装置がバス5には接続可能であり、それらにはL1キャ
ッシュ4を有するグラフィック・アダプタ2などが含ま
れる。メモリ・サブシステム7が更にシステム・バス5
に接続されて示され、メモリ制御ユニット及びスタティ
ック・ランダム・アクセス・メモリ(SRAM)・チッ
プなどの対応するメモリ装置を含む。ここで本発明はI
OCC9に関して述べられるが、本発明の範囲が、例え
ば中央処理ユニットなどのスヌーピング・プロトコルを
有する任意のL1キャッシュ装置にも適用されることを
理解されたい。
【0014】周辺バス・マスタ装置15、17、19、
21はメモリ7からデータを読出し、それに対応してデ
ータをそこに書込む。もちろん、バス・マスタ装置はI
OCC9と通信する以前に、I/Oバス13の所有権を
調停しなければならない。読出しオペレーションの間、
バス・マスタ周辺装置は直接メモリ・アクセス(DM
A)読出し要求を発行する。IOCC9は次に、所望の
データが配置されるメモリ7の32バイト・セクタの特
定のメモリ・アドレスにおける、DMAマスタ装置によ
り要求されるデータの所有権を調停し、獲得しなければ
ならない。IOCC9はDMAスレーブ装置により読出
されるデータの所有権を獲得するために、RWITM
(read with intent to modify)オペレーションを使用
する。データが次にIOCCキャッシュ11にロードさ
れ、メモリからフェッチされるメモリの次に要求される
32バイト・セクタに進むために、I/O読出しサイク
ルが許可される。読出しオペレーションの間、IOCC
9は、キャッシュ11内に存在するIOCC9により所
有されるデータに対し発生する任意のスヌープ・ヒット
に対するアドレス再試行(ARTRY)により、DMA
バス・マスタにより要求されるデータの所有権を保護す
る。ARTRY信号は他の加入者がそのデータのコピー
を獲得するのを阻止する。また、オペレーションが読出
しなので、キャッシュ11により所有されるのと同じデ
ータがメモリ7内に存在し、スヌープ・プッシュは要求
されない。すなわち、DMAバス・マスタによる読出し
オペレーションの間は、キャッシュ11内のデータをメ
モリ7にプッシュして戻す必要はない。なぜなら、デー
タが同一のコピーであり、データを要求する他の装置
は、IOCC7がARTRY信号を非活動化することに
よりバス5を解放するや否や、メモリ7からそれを読出
すことができるからである。更に読出しオペレーション
に続き、IOCC9はデータの自身のコピーを無効化す
る。これはスヌープ・ヒットを生じた要求装置がデータ
を変更する可能性があるためである。従って、バス・マ
スタ周辺装置はデータの新たなバージョンが使用可能と
なるのを待機し、次に読出しオペレーションを再開す
る。
【0015】しかしながら、DMAバス・マスタ周辺装
置15、17、19、21の1つによる書込みオペレー
ションはより複雑な状況となる。なぜなら、バス・マス
タ装置が、データをメモリ7のデータを変更するIOC
C9のキャッシュ11に書込むからである。CPU1、
グラフィックス・アダプタ2などの他の装置が、DMA
バス・マスタが書込み中のデータのメモリ・アドレスを
要求する時、バス・マスタ装置により変更されたコピー
が、要求する装置にとって使用可能となることが必要で
ある。通常、別の装置がキャッシュ11内のデータへの
アクセスを要求する時(スヌープ・ヒット)、対応する
スヌープ・プッシュ・オペレーションが発生し、IOC
C9は全ての他のバス・トランザクション・オペレーシ
ョンを延期し、キャッシュ11内のデータの変更された
コピーをメモリ・サブシステム7に即時に転送するため
に、そのキュー内のトランザクションを再順序化する。
本発明は、スヌープ・プッシュ・オペレーションを導入
するために、バス・トランザクションを再順序化するた
めの複雑な論理の必要性を排除する。
【0016】最初に、本発明は、バス・マスタが任意の
データをキャッシュ11に書込むことを許可される以前
に、特定のメモリ・アドレスへの書込みのためのI/O
バス・マスタ装置要求をマップ化する。
【0017】I/Oバス・マスタにより要求される32
バイト・データ・セクタのメモリ・アドレスがメモリ内
の特定のロケーションにマップ化されると、IOCC9
はデータを"ダーティ"(dirty )状態として扱う。ダー
ティ状態では、DMAバス・マスタから受信されたデー
タはシステム・メモリ・データの有効なコピーとして考
慮されず、IOCC9はダーティ状態であるキャッシュ
11内のデータに対するスヌープ・ヒットを検出する。
より詳しくは、ダーティ状態の間、IOCC9は特定の
メモリ・アドレスのデータを所有していると見なされな
い。
【0018】従ってDMAバス・マスタ装置は、データ
がダーティ(無効)状態である間、キャッシュ11への
書込みが可能であり、スヌープ・ヒットはこのデータに
対し発生しない。なぜなら、これはIOCC9により所
有されていないからである。バス・マスタがメモリのマ
ップ化された32バイト・セクタへの書込みを完了する
と、IOCC9はシステム・バス5を調停し、データの
実際の所有権を獲得しなければならない。バス・マスタ
装置が完全にメモリの32バイト・セクタを新たなデー
タにより充填すると、IOCC9は書込みオペレーショ
ンを導入し、バス・マスタにより書込まれた新たなデー
タに対応するメモリのセクタが完全に重ね書きされる。
しかしながら、バス・マスタが32バイト・セクタの1
部だけを新たなデータにより充填した場合には、RWI
TMオペレーションが使用される。このRWITMはI
OCC9がデータの所有権を獲得し、メモリからキャッ
シュ11に既存のコピーを読出すことを許可する。この
32バイト・セクタ内のデータが、次にバス・マスタ装
置により書込まれたデータにより変更される。次にIO
CC9は書込みオペレーションにより、更新データ(D
MAバス・マスタにより書込まれたデータと併合され
る)をメモリ7に配置する。IOCC9がデータを読出
し変更する間、IOCCはデータを要求した装置をホー
ルドオフ(待機)するためのARTRY信号の発行だけ
により、スヌープ・ヒットに応答する。
【0019】図2は、スヌープ・プッシュ・オペレーシ
ョンを回避するためにIOCC9により使用される制御
信号のタイミングを示す。データがダーティ状態である
期間aの間、IOCC9はシステム・バス5をスヌープ
しない。なぜなら、IOCC9はまだデータを所有して
おらず、スヌープ・ヒットが発生できないからである。
例えば装置15、17、19、21の1つのI/Oバス
・マスタがキャッシュ11への書込みを許可されるが、
データがIOCC9により所有されていないために、そ
れはデータの有効なコピーとは見なされない。従って、
期間aの間に別の装置がこのダーティ・データを要求す
る場合、要求装置はコピーをメモリ7から獲得する。な
ぜなら、それは有効と見なされるコピーであるからであ
る。
【0020】I/Oバス・マスタがキャッシュ11への
データの書込みを完了するか、元々IOCC9によりマ
ップ化された全てのメモリ・セクタが充填されると、次
のステップで、メモリ・サブシステム7に記憶されるデ
ータのコピーを、I/Oバス・マスタによりキャッシュ
11に書込まれたデータにより置換する。ここでDMA
バス・マスタがメモリの完全なマップ化された32バイ
ト・セクタを充填する場合、メモリ内のそのロケーショ
ンは新たなデータにより重ね書きされることが理解され
よう。しかしながら、32バイト・セクタの1部だけが
バス・マスタにより書込まれた場合には、新たなコピー
を生成するために、メモリからの既存のコピーがバス・
マスタから新たに書込まれたデータと併合されなければ
ならない。
【0021】DMAバス・マスタがセクタの書込みを完
了すると、メモリが更新されなければならない。IOC
C9は図2のポイントbにおいて、調停機構を用いてバ
ス5を要求する。バスがIOCC9に授与されると、R
WITM信号を用いて、I/Oバス・マスタ装置により
キャッシュ11に書込まれたデータと同じメモリ・アド
レスを有するデータの排他的所有権を獲得する。ここで
RWITM信号はバス・マスタがメモリの32バイト・
セクタの全部でなく、1部を書込んだ時に使用される点
に注意をされたい。この場合、データの更新されたコピ
ーを生成するために、メモリから完全なセクタがフェッ
チされ、I/Oバス・マスタにより書込まれたキャッシ
ュ11内のデータのその部分と併合されなければならな
い。バス・マスタが新たなデータにより完全な32バイ
ト・セクタを充填した場合には、書込み信号が使用さ
れ、これがメモリ・サブシステム7の既存のセクタを新
たなデータにより重ね書きするので、既存のデータと新
たなデータとの併合は要求されない。しかしながら、3
2バイト・セクタの全部でないバイト、例えば図1のセ
クタNがバス・マスタにより書込まれると、RWITM
信号がデータの併合のために使用されなければならな
い。図2に戻り、期間cに続く期間(調停)、及び期間
cの間、IOCC9はデータを所有し、単にARTRY
信号を発行することにより、任意のスヌープ・ヒットに
応答することが理解される。併合オペレーションが完了
すると、(期間dの間)IOCC9は調停によりバス5
を要求し、バスが授与されると、書込み期間eの間に、
IOCC9は新たな併合データをメモリ・サブシステム
7に書込む。従って本発明のIOCC9は、スヌープ・
ヒットを生じたメモリ・アクセスを効果的にホールドオ
フするARTRY信号を発行することにより、スヌープ
・プッシュ・オペレーションを回避し、その間、IOC
C9はデータを併合し、併合されたデータをメモリ・サ
ブシステムに書戻す処理を完了することが理解される。
すなわち、データがメモリ7へ書戻されている処理の最
中なので、IOCC9はそのバス・トランザクションを
再順序化することによりスヌープ・ヒットに応答する必
要性を回避する。従って、この再順序化を導入するため
に要求される複雑な論理が、IOCC9(または、L1
キャッシュを更新し、内容をシステム・メモリに書戻す
他の装置)により要求されない。
【0022】上述のように、I/Oバス・マスタがメモ
リ・セクタの全32バイトを充填する場合は、IOCC
9は期間aのダーティ状態から、システム・バスの所有
権が調停される期間dに即座に移行する。期間eの間、
書込みオペレーションが導入され、それによりメモリ・
サブシステム7内の既存のデータが重ね書きされる。こ
こでスヌープ・プッシュはデータがメモリに書戻されて
いる期間中(図2の期間e)は発生しないことを述べて
おく。なぜなら、スヌープ・プッシュの目的は要求デー
タの最新のコピーをメモリに配置することであり、これ
は既に書込みオペレーションにより達成されつつあるか
らである。
【0023】図3及び図4は図2の単純化バージョンで
あり、保留のバス・トランザクションを再順序化するこ
とによりスヌープ・プッシュ・オペレーションを説明し
なければならない従来のシステムと、全てのスヌープ・
プッシュ・オペレーションを回避する本発明との間の対
比を示す。図3はダーティ状態、すなわちキャッシュが
書込まれるデータの所有権を有することなしに、データ
がキャッシュに書込まれる状態を含まないシステムであ
る。RWITM信号が発行される期間aの間、スヌープ
・プッシュ・オペレーションが潜在的に存在する。すな
わち、期間aの間にスヌープ・ヒットが発生すると、従
来のシステムは変更データが即座にメモリ7にプッシュ
して戻されるように、全ての他のバス・トランザクショ
ン・オペレーションを中止し、これらのトランザクショ
ンを再順序化しなければならない。ここで読出し/変更
のために要求される時間間隔は不定である。なぜなら、
スヌープ・ヒットは任意のポイントにおいて受信され、
スヌープ・プッシュを生じ、読出し/変更オペレーショ
ンを中断するからである。上述のように、従来システム
では書込み期間bの間は、スヌープ・ヒットは発生しな
い。なぜなら、スヌーピングの目的はデータをメモリに
書戻すことであり、メモリの書戻しが現在進行中である
からである。
【0024】それに対し、図4は期間aの間にデータが
ダーティ状態と見なされるために、この間にスヌープ・
ヒットが発生しない様子を表している。ダーティ状態で
はデータはIOCC9により所有されず、スヌーピング
・オペレーションは実行されない。データの排他的所有
権が期間bの間、すなわちデータがメモリから読戻さ
れ、DMAバス・マスタにより書込まれたデータと併合
される間に獲得されると、IOCC9はスヌープ・ヒッ
トに応答してアドレス再試行信号(ARTRY)を発行
することにより、キャッシュ・コヒーレンスを維持す
る。それにより、データを要求する装置は、変更データ
がメモリ・サブシステム7からのデータの元のコピーと
併合されるまで待機することを強要される。図3に従い
動作するシステムに対し、本発明は読出し及び変更オペ
レーションが実行される期間bを一定時間とする。この
期間中にシステムがARTRY信号を発行しなければな
らない場合にも、スヌープ・プッシュ・オペレーション
を実行するために、バス・オペレーションを再順序化す
る必要はない。期間cの間、変更データがメモリ・サブ
システム7に書戻され、新たな有効コピーとなる。再
度、書戻し期間では、スヌープ・ヒットは発生しない。
なぜなら、データが既にメモリ・サブシステム7に提供
されつつあるからである。
【0025】図5乃至図7は、本発明が実行しなければ
ならないオペレーションのシーケンスを表す流れ図であ
る。当業者は、図5乃至図7に表されるステップが如何
に論理回路において導入され、IOCC9またはスヌー
ピング・プロトコルを導入する別のキャッシュ装置に含
まれるかを、容易に理解されることであろう。
【0026】ステップ1において、処理が開始され、バ
ス・マスタ装置、例えば装置15、17、19、または
21がIOCC9のキャッシュ11への書込みを開始す
る(ステップ2)。ステップ3では、バス・マスタがデ
ータの書込みを完了したかどうかを判断する。完了した
場合には、次にバス・マスタ装置により書込まれたメモ
リ・セクタがフルであるかが確認され、フルでない場合
すなわちバス・マスタが書込みを完了しておらず、メモ
リ・セクタがフルでない場合には、処理はステップ2に
ループして戻り、バス・マスタは書込みを継続する。し
かしながら、バス・マスタがIOCC9のキャッシュ1
1への書込みを完了するか(ステップ3)、または新た
なセクタをアドレスすると(ステップ4)、本発明の処
理はステップ5に移行する。次に完全なメモリ・セクタ
が変更されたか、すなわちメモリ・セクタがバス・マス
タからの新たなデータにより完全に充填されたかどうか
が判断される。ステップ5が完全なメモリ・セクタが置
換されたと判断すると、次に処理はステップ8にジャン
プし、ここでIOCC9はシステム・バス5を調停し、
データの所有権を獲得し、メモリ・セクタ内のデータを
メモリ7に書戻さなければならない。それにより、メモ
リ内の全ての既存のデータが重ね書きされる。完全なメ
モリ・セクタがバス・マスタからのデータにより書込ま
れる場合には、併合が不要であることが理解される。
【0027】ステップ5でバス・マスタ装置がメモリ・
セクタを完全に充填しないと判断されると、処理はステ
ップ6に移行し、IOCC9はRWITM信号によりデ
ータの所有権を獲得し、データをメモリ7からキャッシ
ュ11に読出す。ステップ7で、データの更新コピーを
生成するために、バス・マスタにより書込まれたデータ
と、メモリから読出されたデータが併合される。ステッ
プ6及び7により示されるオペレーションの間、本発明
は更新されるデータを要求する装置をホールドオフする
ために、任意のスヌープ・ヒットに応答してARTRY
信号を発行する。次にステップ7で併合されたデータの
更新されたコピーが、ステップ9でメモリに書戻され
る。両方の書戻しステップ8及び9に続き、処理はステ
ップ10で、バス・マスタがキャッシュ11へのデータ
の書込みを終了したかを判断する。終了していない場
合、処理はステップ2にループして戻り、前述のように
継続する。バス・マスタがデータの書込みを完了する
と、本発明の方法がステップ11で終了する。
【0028】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0029】(1)スヌープ・ヒットに応答してスヌー
プ・プッシュ・オペレーションを導入することを回避す
るために、メモリ・コヒーレント・キャッシュを管理す
る方法であって、スヌープ・ヒットが発生しないよう
に、前記キャッシュ内のデータを該データの所有権を獲
得する以前に変更するステップと、システム・メモリか
ら前記データのオリジナル・コピーを読出し、前記変更
データを該データの該オリジナル・コピーと併合するス
テップと、前記併合データを前記システム・メモリに書
込むオペレーションを開始するステップと、を含み、前
記要求、併合及び開始ステップが、スヌープ・ヒットに
は無関係である管理方法。 (2)前記変更ステップが、前記キャッシュ内の変更さ
れる前記データを、該データの前記オリジナル・コピー
を含むメモリ・セクタ・アドレスに対応するアドレスに
マップ化するステップと、前記メモリ・セクタが完全に
前記変更データにより充填されるか否かを判断するステ
ップと、を含む、前記(1)記載の管理方法。 (3)前記読出しステップが、前記データの前記オリジ
ナル・コピーが前記システム・メモリから読出されるよ
うに、システム・バスの所有権を調停するステップと、
前記データの前記オリジナル・コピーの所有権を獲得す
るステップと、を含む、前記(2)記載の管理方法。 (4)前記併合ステップが、前記メモリ・セクタに部分
的に充填された前記変更データと、該メモリ・セクタの
残りの部分に含まれる前記データの前記オリジナル・コ
ピー部分とを結合するステップを含む、前記(3)記載
の管理方法。 (5)前記開始ステップが、前記併合データが前記シス
テム・メモリの前記メモリ・セクタ・アドレスに書込ま
れるように、前記システム・バスの所有権を調停するス
テップを含む、前記(4)記載の管理方法。 (6)スヌープ・ヒットには無関係に前記併合データを
前記システム・メモリに書込むステップを含む、前記
(5)記載の管理方法。 (7)スヌープ・ヒットに応答してスヌープ・プッシュ
・オペレーションを導入することを回避するために、メ
モリ・コヒーレント・キャッシュを管理する方法であっ
て、システム・メモリのセクタ内のデータを前記キャッ
シュにマップ化するステップと、スヌープ・ヒットが発
生しないように、前記キャッシュ内のデータを該データ
の所有権を獲得する以前に変更するステップと、前記メ
モリ・セクタが完全に前記変更データにより充填された
か否かを判断するステップと、前記併合データを前記シ
ステム・メモリに書込むオペレーションを開始するステ
ップと、を含み、前記マップ化、変更及び開始ステップ
が、スヌープ・ヒットには無関係である管理方法。 (8)前記開始ステップが、前記変更データが前記シス
テム・メモリの前記メモリ・セクタ・アドレスに書込ま
れるように、前記システム・バスの所有権を調停するス
テップを含む、前記(7)記載の管理方法。 (9)スヌープ・ヒットには無関係に前記併合データを
前記システム・メモリに書込むステップを含む、前記
(8)記載の管理方法。 (10)スヌープ・ヒットに応答してスヌープ・プッシ
ュ・オペレーションを導入することを回避するために、
メモリ・コヒーレント・キャッシュを管理するシステム
であって、スヌープ・ヒットが発生しないように、前記
キャッシュ内のデータを該データの所有権を獲得する以
前に変更する手段と、システム・メモリから前記データ
のオリジナル・コピーを読出し、前記変更データを該デ
ータの該オリジナル・コピーと併合する手段と、前記併
合データを前記システム・メモリに書込むオペレーショ
ンを開始する手段と、を含み、前記要求、併合及び開始
手段が、スヌープ・ヒットには無関係である方法。 (11)スヌープ・ヒットには無関係に前記併合データ
を前記システム・メモリに書込む手段を含む、前記(1
0)記載の管理システム。 (12)管理のための前記システムが、中央処理ユニッ
トと、内部キャッシュを有する少なくとも1つの制御装
置と、前記中央処理ユニット、前記システム・メモリ及
び前記少なくとも1つの制御装置を接続するシステム
と、を含む、前記(11)記載の管理システム。 (13)前記変更手段が、前記少なくとも1つの制御装
置の内部キャッシュにデータを書込む入出力装置と、前
記入出力装置により書込まれる前記データがスヌープ・
ヒットに従わないと分類するためのバス制御信号を発行
するための前記制御装置内の回路手段と、を含む、前記
(12)記載の管理システム。 (14)前記読出し手段が、RWITH(read with in
tent to modify)バス制御信号を発行するための前記制
御装置内の回路手段を含む、前記(13)記載の管理シ
ステム。 (15)前記読出し手段及び前記開始手段が、前記シス
テム・バスの所有権の調停のための回路手段を含む、前
記(14)記載の管理システム。 (16)前記書込み手段が、書込み制御信号を発行する
ための前記制御装置内の回路手段を含む、前記(15)
記載の管理システム。 (17)前記スヌープ・ヒットが前記制御装置の内部キ
ャッシュ内のデータのメモリ・アドレスが、前記中央処
理ユニットまたは他の該制御装置により発行されるデー
タの所有権を求める要求に対応する前記システム・バス
上のメモリ・アドレスに一致する、前記(16)記載の
管理システム。 (18)前記スヌープ・プッシュが、前記制御装置が前
記スヌープ・ヒットに対応するデータを含む場合に、該
データが他のバス・トランザクションの状態に関係なく
システム・メモリに即時に書込まれるように、バス・ト
ランザクションの再順序化を含む、前記(17)記載の
管理システム。
【0030】
【発明の効果】スヌーピング装置内のL1キャッシュへ
のデータ転送オペレーションを独特に制御することによ
り、本発明は従来システムにより使用された複雑なバス
・トランザクション再順序化論理を排除する。この複雑
な論理は、スヌープ・プッシュ・オペレーションを導入
するために使用されるバス・トランザクションをキュー
の前に配置する。すなわち、IOCC9、CPU1など
の装置は現在のバス・トランザクション活動を停止し、
スヌープ・プッシュ・トランザクションをそれが即時実
行される位置に配置しなければならない。従って、本発
明の実施が、如何にデータ転送オペレーションの設計及
び導入に関わる相当量のオーバヘッドを低減するかが理
解されよう。更に本発明は性能を向上させる。なぜな
ら、図3及び図4で対比して示したように、データがメ
モリから読戻され変更される時間間隔が不定ではなく、
比較的短い一定の時間間隔であるからである。
【図面の簡単な説明】
【図1】本発明を導入可能なシステムのコンポーネント
を示すブロック図である。
【図2】本発明によりスヌープ・プッシュ・オペレーシ
ョンが回避される事象シーケンスを表すタイミング図で
ある。
【図3】リード・モディファイ・ライト・オペレーショ
ン中にスヌープ・プッシュが発生する従来システムのタ
イミング図である。
【図4】本発明によりスヌープ・プッシュが回避され
る、図3と同じオペレーションに対応するタイミング図
である。
【図5】スヌープ・プッシュ・オペレーションを回避す
るために本発明の制御装置により実行されるオペレーシ
ョンのシーケンスを示す流れ図である。
【図6】スヌープ・プッシュ・オペレーションを回避す
るために本発明の制御装置により実行されるオペレーシ
ョンのシーケンスを示す流れ図である。
【図7】スヌープ・プッシュ・オペレーションを回避す
るために本発明の制御装置により実行されるオペレーシ
ョンのシーケンスを示す流れ図である。
【符号の説明】
1 中央処理ユニット(CPU) 2 グラフィック・アダプタ 5 システム・バス 7 メモリ・サブシステム 9 入出力制御チップ(IOCC) 13 入出力バス 15、17、19、21 周辺装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デニス・ジェラルド・グレゴイル アメリカ合衆国78758、テキサス州オー スティン、ステーリング・ヒル・ドライ ブ 11800 (72)発明者 アミイ・メイ・ヤングス アメリカ合衆国78759、テキサス州オー スティン、フローラル・パーク・ドライ ブ 10638 (56)参考文献 情報処理、24〜8! (1983−8) PP.1020−1037,「共有データベース の諸問題に対する理論」 高橋義造編 「MARUZEN AD BANCED TECHNOLOGY 〈電子・情報・通信編〉並列処理機構」 (平元−8−25) 丸善 PP.186 −198

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】スヌープ・ヒットに応答してスヌープ・プ
    ッシュ・オペレーションを導入することを回避するため
    に、メモリ・コヒーレント・キャッシュを管理する方法
    であって、 スヌープ・ヒットが発生しないように、前記キャッシュ
    内のデータの属性をダーティ状態にすることにより、該
    データの所有権を獲得する以前に変更するステップと、 システム・メモリから前記データのオリジナル・コピー
    を読出し、前記変更データを該データの該オリジナル・
    コピーと併合するステップと、 前記併合データを前記システム・メモリに書込むオペレ
    ーションを開始するステップと、 を含み、前記要求、併合及び開始ステップが、スヌープ
    ・ヒットには無関係である管理方法。
  2. 【請求項2】前記変更ステップが、 前記キャッシユ内の変更される前記データを、該データ
    の前記オリジナル・コピーを含むメモリ・セクタ・アド
    レスに対応するアドレスにマップ化するステップと、 前記メモリ・セクタが完全に前記変更データにより充填
    されるか否かを判断するステップと、 を含む、前記請求項1記載の管理方法。
  3. 【請求項3】前記読出しステップが、 前記データの前記オリジナル・コピーが前記システム・
    メモリから読出されるように、システム・バスの所有権
    を調停するステップと、 前記データの前記オリジナル・コピーの所有権を獲得す
    るステップと、 を含む、請求項2記載の管理方法。
  4. 【請求項4】前記併合ステップが、前記メモリ・セクタ
    に部分的に充填された前記変更データと、該メモリ・セ
    クタの残りの部分に含まれる前記データの前記オリジナ
    ル・・コピー部分とを結合するステップを含む、請求項
    3記載の管理方法。
  5. 【請求項5】前記開始ステップが、前記併合データが前
    記システム・メモリの前記メモリ・セクタ・アドレスに
    書込まれるように、前記システム・バスの所有権を調停
    するステップを含む、請求項4記載の管理方法。
  6. 【請求項6】スヌープ・ヒットには無関係に前記併合デ
    ータを前記システム・メモリに書込むステップを含む、
    請求項5記載の管理方法。
  7. 【請求項7】スヌープ・ヒットに応答してスヌープ・プ
    ッシュ・オペレーションを導入することを回避するため
    に、メモリ・コヒーレント・キャッシュを管理する方法
    であって、 システム・メモリのセクタ内のデータを前記キャッシュ
    にマップ化するステップと、 スヌープ・ヒットが発生しないように、前記キャッシュ
    内のデータの属性をダーティ状態にすることにより、該
    データの所有権を獲得する以前に変更するステップと、 前記メモリ・セクタが完全に前記変更データにより充填
    されたか否かを判断するステップと、 前記併合データを前記システム・メモリに書込むオペレ
    ーションを開始するステップと、 を含み、前記マップ化、変更及び開始ステップが、スヌ
    ープ・ヒットには無関係である管理方法。
  8. 【請求項8】前記開始ステップが、前記変更データが前
    記システム・メモリの前記メモリ・セクタ・アドレスに
    書込まれるように、前記システム・バスの所有権を調停
    するステップを含む、請求項7記載の管理方法。
  9. 【請求項9】スヌープ・ヒットには無関係に前記併合デ
    ータを前記システム・メモリに書込むステップを含む、
    請求項8記載の管理方法。
  10. 【請求項10】スヌープ・ヒットに応答してスヌープ・
    プッシュ・オペレーションを導入することを回避するた
    めに、メモリ・コヒーレント・キャッシュを管理するシ
    ステムであって、 スヌープ・ヒットが発生しないように、前記キャッシュ
    内のデータの属性をダーティ状態にすることにより、該
    データの所有権を獲得する以前に変更する手段と、 システム・メモリから前記データのオリジナル・コピー
    を読出し、前記変更データを該データの該オリジナル・
    コピーと併合する手段と、 前記併合データを前記システム・メモリに書込むオペレ
    ーションを開始する手段と、 を含み、 前記要求、併合及び開始手段が、スヌープ・ヒットには
    無関係である管理システム。
  11. 【請求項11】スヌープ・ヒットには無関係に前記併合
    データを前記システム・メモリに書込む手段を含む、請
    求項10記載の管理システム。
  12. 【請求項12】管理のための前記システムが、 中央処理ユニットと、 内部キャッシュを有する少なくとも1つの制御装置と、 前記中央処理ユニット、前記システム・メモリ及び前記
    少なくとも1つの制御装置を接続するシステムと、 を含む、請求項11記載の管理システム。
  13. 【請求項13】前記変更手段が、 前記少なくとも1つの制御装置の内部キャッシュにデー
    タを書込む入出力装置と、 前記入出力装置により書込まれる前記データがスヌープ
    ・ヒットに従わないと分類するためのバス制御信号を発
    行するための前記制御装置内の回路手段と、 を含む、請求項12記載の管理システム。
  14. 【請求項14】前記読出し手段が、RWITH(rea
    d with intent tomodify)バス
    制御信号を発行するための前記制御装置内の回路手段を
    含む、請求項13記載の管理システム。
  15. 【請求項15】前記読出し手段及び前記開始手段が、前
    記システム・バスの所有権の調停のための回路手段を含
    む、請求項14記載の管理システム。
  16. 【請求項16】前記書込み手段が、書込み制御信号を発
    行するための前記制御装置内の回路手段を含む、請求項
    15記載の管理システム。
  17. 【請求項17】前記スヌープ・ヒットが前記制御装置の
    内部キャッシュ内のデータのメモリ・アドレスが、前記
    中央処理ユニットまたは他の該制御装置により発行され
    るデータの所有権を求める要求に対応する前記システム
    ・バス上のメモリ・アドレスに一致する、請求項16記
    載の管理システム。
JP6153220A 1993-09-20 1994-07-05 スヌープ・プッシュ・オペレーションを回避する方法 Expired - Lifetime JP2675981B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12381793A 1993-09-20 1993-09-20
US123817 1993-09-20

Publications (2)

Publication Number Publication Date
JPH07105089A JPH07105089A (ja) 1995-04-21
JP2675981B2 true JP2675981B2 (ja) 1997-11-12

Family

ID=22411071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6153220A Expired - Lifetime JP2675981B2 (ja) 1993-09-20 1994-07-05 スヌープ・プッシュ・オペレーションを回避する方法

Country Status (3)

Country Link
US (1) US5617556A (ja)
EP (1) EP0644490A1 (ja)
JP (1) JP2675981B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
EP0782079A1 (en) * 1995-12-18 1997-07-02 Texas Instruments Incorporated Burst access in data processing systems
DE69721595T2 (de) * 1996-11-07 2003-11-27 Matsushita Electric Ind Co Ltd Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
US5937199A (en) * 1997-06-03 1999-08-10 International Business Machines Corporation User programmable interrupt mask with timeout for enhanced resource locking efficiency
US6370625B1 (en) * 1999-12-29 2002-04-09 Intel Corporation Method and apparatus for lock synchronization in a microprocessor system
US6347360B1 (en) * 2000-02-25 2002-02-12 Sun Microsystems, Inc. Apparatus and method for preventing cache data eviction during an atomic operation
US6738869B1 (en) * 2000-08-29 2004-05-18 Intel Corporation Arrangements for out-of-order queue cache coherency and memory write starvation prevention
US6907502B2 (en) * 2002-10-03 2005-06-14 International Business Machines Corporation Method for moving snoop pushes to the front of a request queue
US20060259658A1 (en) * 2005-05-13 2006-11-16 Connor Patrick L DMA reordering for DCA
US7406571B2 (en) * 2006-02-09 2008-07-29 International Business Machines Corporation Memory system and method for controlling the same, and method for maintaining data coherency
GB2545061B (en) * 2014-08-19 2018-02-07 Imagination Tech Ltd Cache sparing
US9665280B2 (en) * 2014-09-30 2017-05-30 International Business Machines Corporation Cache coherency verification using ordered lists
US20160371222A1 (en) * 2015-06-22 2016-12-22 Qualcomm Incorporated COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US9904635B2 (en) * 2015-08-27 2018-02-27 Samsung Electronics Co., Ltd. High performance transaction-based memory systems
US11354239B2 (en) 2020-09-18 2022-06-07 Microsoft Technology Licensing, Llc Maintaining domain coherence states including domain state no-owned (DSN) in processor-based devices

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4747043A (en) * 1984-02-10 1988-05-24 Prime Computer, Inc. Multiprocessor cache coherence system
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
EP0309994A3 (en) * 1987-09-28 1990-08-22 Compaq Computer Corporation Method and apparatus for implementing memory coherency
US4992930A (en) * 1988-05-09 1991-02-12 Bull Hn Information Systems Inc. Synchronous cache memory system incorporating tie-breaker apparatus for maintaining cache coherency using a duplicate directory
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5097532A (en) * 1989-03-03 1992-03-17 Compaq Computer Corporation Circuit for enabling a cache using a flush input to circumvent a late noncachable address input
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5247648A (en) * 1990-04-12 1993-09-21 Sun Microsystems, Inc. Maintaining data coherency between a central cache, an I/O cache and a memory
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
DE69127936T2 (de) * 1990-06-29 1998-05-07 Digital Equipment Corp Busprotokoll für Prozessor mit write-back cache
US5265235A (en) * 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors
US5341487A (en) * 1991-12-20 1994-08-23 International Business Machines Corp. Personal computer having memory system with write-through cache and pipelined snoop cycles
EP0559409B1 (en) * 1992-03-04 1998-07-22 Motorola, Inc. A method and apparatus for performing a bus arbitration protocol in a data processing system
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US5353415A (en) * 1992-10-02 1994-10-04 Compaq Computer Corporation Method and apparatus for concurrency of bus operations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
情報処理、24〜8! (1983−8) PP.1020−1037,「共有データベースの諸問題に対する理論」
高橋義造編 「MARUZEN ADBANCED TECHNOLOGY〈電子・情報・通信編〉並列処理機構」 (平元−8−25) 丸善 PP.186−198

Also Published As

Publication number Publication date
US5617556A (en) 1997-04-01
EP0644490A1 (en) 1995-03-22
JPH07105089A (ja) 1995-04-21

Similar Documents

Publication Publication Date Title
US6199144B1 (en) Method and apparatus for transferring data in a computer system
KR0163231B1 (ko) 입/출력 채널 제어기, 멀티 프로세싱 시스템 및 데이타 프로세싱 방법
US5276852A (en) Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
JP3640997B2 (ja) データ処理システム
US5909699A (en) Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency
JP2675981B2 (ja) スヌープ・プッシュ・オペレーションを回避する方法
KR100360064B1 (ko) 고도로파이프라인된버스구조
US5463753A (en) Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
JP4316016B2 (ja) 複数のシステムバスを有するコンピュータシステムにおいてメモリコヒーレンスを維持するためのシステムおよび方法
KR100243853B1 (ko) 개량된메모리아키텍쳐를위한방법및장치
US5557769A (en) Mechanism and protocol for maintaining cache coherency within an integrated processor
JPH10301849A (ja) キャッシュ・コヒーレンシを維持する方法及び装置
JP2002259211A (ja) キャッシュ階層で首尾一貫性を維持する方法、コンピュータ・システム、及び処理ユニット
JP3723700B2 (ja) プロセッサ・インターフェース・バスを通じてデータを転送する方法および装置
US20040111563A1 (en) Method and apparatus for cache coherency between heterogeneous agents and limiting data transfers among symmetric processors
JPH08249231A (ja) マルチプロセッサ・システムにおける古いデータの処理システム及び方法
US5845107A (en) Signaling protocol conversion between a processor and a high-performance system bus
JPH08115289A (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
EP0624845A1 (en) Information processing system comprising one or more cached devices
JP3759193B2 (ja) アトミック動作バス・システム
US5923857A (en) Method and apparatus for ordering writeback data transfers on a bus
JPH07105090A (ja) 非同期dmaキャッシュ
US20040059872A1 (en) Method and system for improving input/output performance by proactively flushing and locking an entire page out of caches of a multiprocessor system
JP3202943B2 (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
EP0280821A2 (en) Interface between processor and special instruction processor in digital data processing system