JP2002259210A - キャッシュ間でクリーンデータをコピーするデータ記憶装置 - Google Patents

キャッシュ間でクリーンデータをコピーするデータ記憶装置

Info

Publication number
JP2002259210A
JP2002259210A JP2001378394A JP2001378394A JP2002259210A JP 2002259210 A JP2002259210 A JP 2002259210A JP 2001378394 A JP2001378394 A JP 2001378394A JP 2001378394 A JP2001378394 A JP 2001378394A JP 2002259210 A JP2002259210 A JP 2002259210A
Authority
JP
Japan
Prior art keywords
data
processor
memory
signal
clean
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.)
Pending
Application number
JP2001378394A
Other languages
English (en)
Inventor
Daniel V Zilavy
ダニエル・ヴィ・ザイラビー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002259210A publication Critical patent/JP2002259210A/ja
Pending 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/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration

Landscapes

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

Abstract

(57)【要約】 【課題】変更されていないクリーンデータを、キャッシ
ュ間でコピーする。 【解決手段】データ記憶装置は、それぞれが内部メモリ
を持つ複数のコンピュータプロセッサと、該複数のコン
ピュータプロセッサに接続された複数の非共用「クリー
ンデータ有り」インジケータを備える。それぞれの非共
用「クリーンデータ有り」インジケータは、複数のコン
ピュータプロセッサのそれぞれに対応する。それぞれの
コンピュータプロセッサは、要求されたデータが、変更
されていない状態で自身の内部メモリに含まれていると
き、対応する非共用「クリーンデータ有り」インジケー
タをアサートするよう適合される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、キャッシュメモ
リ間のクリーンデータをコピーすることに関し、より具
体的には、1つの共用クリーンキャッシュヒット信号を
持つバス・アーキテクチャにおいて、キャッシュ間でク
リーンデータをコピーすることに関する。
【0002】
【従来の技術】コンピュータプロセッサおよびソフトウ
ェアが高速になるにつれ、それらは一層複雑になり、か
つメモリを多量に使うようになってきた。今日の極めて
高速なコンピュータプロセッサは、信じられないほどの
スピードで、大量のデータを扱うことができる。その結
果、より高速のメモリチップおよびより効率のよいメモ
リ制御回路を開発するのに、多くの努力が払われてい
る。しかしながら、コンピュータの主メモリ(たとえ
ば、ランダムアクセスメモリ(RAM))は、プロセッ
サに組み込まれるのではなく、独立してパッケージ化さ
れ、アドレスバスおよびデータバスを含む電気信号によ
ってプロセッサに接続される。メモリ制御装置は、しば
しば、主メモリにおけるデータをリフレッシュするだけ
でなく、プロセッサおよび主メモリ間のメモリアクセス
をバッファリングすることを要求される。プロセッサが
主メモリにおけるデータをアクセスするたびに、遅延お
よび待ち時間を引き起こす多数の要因がある。たとえ
ば、この要因には、主メモリの比較的低いスピード、メ
モリ制御装置によって引き起こされる遅延、プロセッサ
および主メモリ間の電気信号の転送時間、およびプロセ
ッサおよび主メモリ間の電気バスにおける本質的な遅延
などが含まれる。
【0003】このメモリアクセスの待ち時間の影響を減
らすため、現代のコンピュータプロセッサのほとんどに
小さいキャッシュメモリが搭載されている。キャッシュ
メモリは、プロセッサと同じパッケージの中に設けられ
たメモリであり、キャッシュメモリでは、高速アクセス
のため、頻繁に使用されるデータ値のコピーがとられ
る。頻繁にアクセスされるデータ項目のコピーが、外部
RAMにおけるオリジナルのデータ項目のアドレスと共
に、キャッシュに格納される。プロセッサが主メモリに
おけるアドレスを参照したとき、キャッシュが、当該ア
ドレスを保持しているかどうか調べられる。キャッシュ
が当該アドレスを保持しているならば、そのデータが、
キャッシュからプロセッサに渡される。キャッシュが当
該アドレスを保持していなければ、プロセッサは、主メ
モリから該データを読み出さなければならない。キャッ
シュメモリにおけるデータへのアクセスは、該キャッシ
ュメモリがより高速であり、かつプロセッサと共にパッ
ケージングされているので、主メモリにおけるデータを
アクセスするよりも速い。これにより、より低速のバス
を介した外部メモリの使用を減らすことができる。
【0004】コンピュータの主メモリ(典型的には、R
AM)を、以下単に「メモリ」と呼び、キャッシュメモ
リを、以下「キャッシュ」と呼ぶ。
【0005】
【発明が解決しようとする課題】キャッシュおよびより
高速な外部メモリが有利な点を持つにもかかわらず、メ
モリアクセスの待ち時間の問題が、いくつかの形態で増
えてきている。たとえば、複数のコンピュータプロセッ
サを、1つのメモリを有する1つのコンピュータシステ
ムに含める傾向は、メモリアクセスの待ち時間を増大さ
せる。これは、複数のプロセッサが1つのメモリを共用
しなければならないからである。また、それぞれのプロ
セッサは一般に自身のキャッシュを有するけれども、そ
れぞれのキャッシュにおいてコピーされたデータは、該
キャッシュ自身のプロセッサに対してのみ有益であり、
いかなるクリーンデータ(すなわち、変更されていない
データ)もキャッシュ間で共用されることはない。
【0006】コンピュータシステムがより複雑になって
きて、ネットワークがより一般的になるにつれ、リモー
トのメモリも、メモリアクセスの待ち時間問題を増や
す。たとえば、高性能のコンピュータシステム・インフ
ラストラクチャにおいては、1つのメモリ制御装置を用
い1つのバスを介しただけでは、メモリをプロセッサの
近くに設けることはできない。メモリが遠隔にあると、
プロセッサは、光リンクのようなネットワークデバイス
を介していくつかのメモリ制御装置を経由し、該メモリ
にアクセスしなければならなくなる。
【0007】したがって、データへの高速アクセスを有
するコンピュータプロセッサを提供する装置が必要とさ
れている。また、コンピュータシステムにおいて、一方
のプロセッサのキャッシュから他方のプロセッサのキャ
ッシュへデータをコピーする装置が必要とされている。
さらに、クリーンデータを、キャッシュ間でコピーする
装置が必要とされている。
【0008】
【課題を解決するための手段】上記の課題を解決するた
め、発明者は、コンピュータシステムにおけるコンピュ
ータプロセッサのキャッシュ間でクリーンデータをコピ
ーするシステムを発明した。こうして、外部メモリの低
速な読み出しを必要とすることなく、変更されていない
データを、コンピュータプロセッサのキャッシュ間で高
速に共用することが可能となる。
【0009】この発明は、複数のコンピュータプロセッ
サを持つデータ記憶装置を備えることができる。それぞ
れのコンピュータプロセッサは内部メモリを有してお
り、複数の非共用「クリーンデータ有り」インジケータ
が、複数のコンピュータプロセッサに接続される。複数
の非共用「クリーンデータ有り」インジケータのそれぞ
れは、該複数のコンピュータプロセッサのそれぞれに対
応する。複数のコンピュータプロセッサのそれぞれは、
要求されたデータが、変更されていない状態で自身の内
部メモリに含まれているとき、該プロセッサの対応する
非共用「クリーンデータ有り」インジケータをアサート
するよう適合される。
【0010】この発明は、また、コンピュータシステム
におけるデータを共用する方法を備える。この方法は、
複数のコンピュータプロセッサを有するコンピュータシ
ステムを設けるステップを含む。コンピュータプロセッ
サのそれぞれは内部メモリを有しており、該複数のコン
ピュータプロセッサには外部メモリが接続されている。
コンピュータシステムは、また、該複数のコンピュータ
プロセッサに接続された複数の非共用「クリーンデータ
有り」インジケータを有する。該複数の非共用「クリー
ンデータ有り」インジケータのそれぞれは、該複数のコ
ンピュータプロセッサのそれぞれに対応する。コンピュ
ータシステムは、また、複数のコンピュータプロセッサ
および外部メモリに接続された共用「変更済みデータ有
り」インジケータを有する。コンピュータシステムは、
また、複数のコンピュータプロセッサおよび外部メモリ
に接続されたデータバスおよびアドレスバスを備える。
この方法は、また、複数の非共用「クリーンデータ有
り」インジケータ、共用「変更済みデータ有り」インジ
ケータ、およびアドレスバス上に置かれた信号にしたが
って、コンピュータシステムにおけるデータを共用する
ことを含む。
【0011】この発明は、また、複数のコンピュータプ
ロセッサを有するコンピュータシステムを備えることが
できる。それぞれのコンピュータプロセッサは内部キャ
ッシュメモリを有しており、該システムは、該複数のコ
ンピュータプロセッサに接続された外部メモリを有す
る。非共用「クリーンデータ有り」インジケータ手段
は、複数のコンピュータプロセッサに接続される。
【0012】
【発明の実施の形態】以下の説明および図は、一般に、
複数のコンピュータプロセッサを有するデータ記憶装置
を開示する。ここで、それぞれのコンピュータプロセッ
サは内部メモリを有しており、複数の非共用「クリーン
データ有り」インジケータは、複数のコンピュータプロ
セッサに接続されている。複数の非共用「クリーンデー
タ有り」インジケータのそれぞれは、複数のコンピュー
タプロセッサのそれぞれに対応する。複数のコンピュー
タプロセッサのそれぞれは、要求されたデータが、変更
されていない状態で自身の内部メモリに含まれるとき、
自身の対応する非共用「クリーンデータ有り」をアサー
トするよう適合されている。
【0013】また、以下の説明および図は、コンピュー
タシステムにおいてデータを共用する方法を開示する。
この方法は、複数のコンピュータプロセッサを有するコ
ンピュータシステムを設けることを含む。それぞれのコ
ンピュータプロセッサは内部メモリを有しており、該複
数のコンピュータプロセッサには外部メモリが接続され
ている。このコンピュータシステムはまた、複数のコン
ピュータプロセッサに接続された複数の非共用「クリー
ンデータ有り」インジケータを有する。複数の非共用
「クリーンデータ有り」インジケータのそれぞれは、複
数のコンピュータプロセッサのそれぞれに対応する。こ
のコンピュータシステムは、また、複数のコンピュータ
プロセッサおよび外部メモリに接続された、共用「変更
済みデータ有り」インジケータを有する。このコンピュ
ータシステムは、また、複数のコンピュータプロセッサ
および外部メモリに接続されたデータバスおよびアドレ
スバスを備える。この方法は、複数の非共用「クリーン
データ有り」インジケータ、共用「変更済みデータ有
り」インジケータ、およびアドレスバスに置かれた信号
に従って、コンピュータシステムにおけるデータを共用
することを含む。
【0014】以下の説明および図は、また、複数のコン
ピュータプロセッサ備えるコンピュータシステムを開示
する。それぞれのコンピュータプロセッサは、内部キャ
ッシュメモリを有する。コンピュータシステムは、ま
た、複数のコンピュータプロセッサに接続された外部メ
モリを有し、非共用「クリーンデータ有り」インジケー
タ手段は、該複数のコンピュータプロセッサに接続され
ている。
【0015】好ましい典型的な実施形態において、1つ
の共用クリーンキャッシュヒット信号を持つバス・アー
キテクチャを備えたコンピュータシステムにおける複数
のコンピュータプロセッサ間に、サイドバンド(sideba
nd)信号が加えられる。このサイドバンド信号は、クリ
ーンデータが、該システムのメモリからではなく、該シ
ステムにおけるコンピュータプロセッサ間で直接的にコ
ピーされることを可能にする。1つの共用クリーンキャ
ッシュヒット信号を有するバス・アーキテクチャは周知
であり、Pentium(商標)ProおよびPent
ium(商標)(これらは、カリフォルニアのサンタク
ララにあるインテル・コーポレーションから入手可能で
ある)のようなコンピュータプロセッサで使用されてい
る。クリーンデータをキャッシュ間でコピーすることを
可能にするサイドバンド信号の使用による著しく有利な
点は、外部メモリからデータを読み出すことなく、シス
テムにおけるプロセッサが、キャッシュされたデータを
共用することができることである。これは、外部メモリ
で大きな待ち時間を持つシステムにおいて、非常に高速
なデータ抽出を可能にする。
【0016】ここで使用される用語「信号」は、物理的
な導線、および導線によって伝達される情報の両方を指
す。
【0017】図1を参照すると、クリーンデータをキャ
ッシュ間でコピーする、第1の好ましい典型的な実施形
態が詳細に示されている。この例におけるコンピュータ
システム10は、4個のコンピュータプロセッサ12、
14、16および20を有する。代替的に、コンピュー
タシステム10は、任意の数のコンピュータプロセッサ
を有してよい。プロセッサ12〜20は、内部メモリキ
ャッシュ22、24、26および30をそれぞれ有す
る。外部メモリ32およびメモリ制御装置34は、アド
レスバス36およびデータバス38によって、プロセッ
サ12〜20に接続されている。メモリ制御装置34
は、外部メモリ32に関連付けられており、コマンドの
読み書き、エラー訂正、インターリービング、仮想アド
レスの物理アドレスへのマッピング、メモリ32のリフ
レッシュ等の制御機能を実行する。メモリおよびメモリ
制御装置は、様々な種類および構成のものが利用可能で
あり、分離した構成または一体化した構成のいずれでも
よい。たとえば、外部メモリの中には、別のメモリ制御
装置を用いることなく、必要な制御機能のすべてを実行
するよう複雑な制御回路を備えたものがある。この発明
のクリーンデータのキャッシュ間コピーは、任意の種類
の外部メモリで使用することができ、特定の種類の外部
メモリおよびメモリ制御装置による使用に限定されると
考えるべきではない。実際、クリーンデータのキャッシ
ュ間コピーを、すべてのデータ記憶が外部メモリではな
くてコンピュータプロセッサ内に含まれるコンピュータ
システムに適用することができる。
【0018】コンピュータシステム10においては、デ
ータは、普通に保持される。すなわちコンピュータシス
テム10においては、そのデータが外部メモリ32にあ
ろうと、プロセッサキャッシュ22〜30にあろうと、
またはこれらのメモリデバイスの何らかの組合せの中に
あろうと、データの1つのバージョンのみが保持され
る。実際には、このマルチプロセッサのコンピュータシ
ステム10において普通に使用されるデータのコピー
は、しばしば、外部メモリ32と、プロセッサキャッシ
ュ22〜30のいずれかに同時に見つけられる。プロセ
ッサ12〜20のうちの1つプロセッサのみが、任意の
所与の時にデータを変更するようにし、同じデータの複
数のバージョンを持つことを回避するのが重要である。
したがって、共用される「変更済みデータ有り」信号、
すなわちHITM信号40は、プロセッサ12〜20の
それぞれ、およびメモリ制御装置34(または、前述し
たように、外部メモリの構成によっては外部メモリ3
2)に接続される。HITM40信号により、プロセッ
サ(たとえば、プロセッサ12)は、他のプロセッサ1
4〜20に、自身のキャッシュ22におけるデータのコ
ピーを変更したことを示すことができる。他のプロセッ
サ14〜20が次にそのデータのコピーを要求したなら
ば、該データを変更したプロセッサ12から、その変更
済み状態の該データが抽出される。
【0019】好ましい実施形態におけるバス上のすべて
の信号は、HITM信号40を含めて、オープンドレイ
ン型のアクティブローである。したがって、アサートさ
れた信号は、電気的にロー(低)状態にあり、デアサー
トされると、電気的にハイ(高)状態になる。バス上の
信号は、すべて、電気的にハイのデアサートされた状態
に引き上げられる。それらを電気的にロー状態に引き下
げることにより、バス上の複数デバイスによって信号を
同時にアサートすることができる。代替的に、バスにお
ける信号は、該バス上のデバイス間で情報を通すための
任意の所望の構造を持ってよい。たとえば、バスは、様
々な信号がシリアルな形態で単一の導線上をコードワー
ドとして転送されるシリアルバスであってもよい。
【0020】共用「クリーンデータ有り」信号、すなわ
ちHIT信号42は、プロセッサ12〜20のそれぞれ
およびメモリ制御装置34に接続される。HIT信号4
2は、プロセッサ12〜20のうちの1つまたは複数の
プロセッサが、要求されたデータ(以下、要求データと
呼ぶ)のクリーンすなわち変更されていないコピーを自
身のキャッシュ22〜30に有していることを示す。プ
ロセッサ12〜20は、自身のキャッシュ22〜30に
読み出して以来変更していない要求データのコピーを有
するとき、HIT信号42をアサートする。
【0021】アドレスバス36は、要求データのアドレ
スを伝達するのに使用され、データバス38は、要求デ
ータを転送するのに使用される。
【0022】動作において、アドレスバス36、データ
バス38、HIT信号42およびHITM信号40によ
り、プロセッサは、コンピュータシステム10全体にお
けるデータの転送を調整することができる。第1の例
は、クリーンデータのキャッシュ間コピーを可能にする
サイドバンド信号(後述される)を用いることなく、共
用「クリーンデータ有り」信号42を持つコンピュータ
システム10の挙動について説明する。この第1の例に
おいて、データは、外部メモリ32およびプロセッサ1
4およびプロセッサ16のキャッシュ24および26に
含まれている(両方とも、データはクリーンな形態にあ
る)。プロセッサ12は、データのコピーを必要とし、
よってプロセッサ12は、該データのアドレスをアドレ
スバス36上に置く。プロセッサ14および16は、該
要求されたデータを、自身のキャッシュ24および26
にクリーンな形態で有している。よって、プロセッサ1
4および16は、共用HIT信号42をアサートし、コ
ンピュータシステム10におけるプロセッサ12〜20
のうちの1つまたは複数のプロセッサが、要求データの
クリーンなコピーを持っていることを示す。HITM信
号40がアサートされないので、データは変更されてお
らず、コンピュータシステム10には、該データの1つ
のバージョンのみが存在する。したがって、メモリ制御
装置34は、メモリ32からデータバス38に要求デー
タをコピーし、要求側プロセッサ12は、データバス3
8から自身のキャッシュ22に該データをコピーする。
この例は、後述されるサイドバンド信号を用いることな
く共用「クリーンデータ有り」信号42を持つバス・ア
ーキテクチャの不利な点を示している。要求データは、
2つのプロセッサ14および16のキャッシュ24およ
び26にクリーンな形態で含まれているにもかかわら
ず、より低速なメモリが、該データを供給する必要があ
る。
【0023】データのアドレスをアドレスバス36に置
くことによってデータが要求されることに注意された
い。好ましい実施形態では、アドレスバス36に置かれ
たアドレスは、該データのメモリ32における場所に対
応する。プロセッサのキャッシュ22〜30におけるデ
ータのコピーは、キャッシュメモリにおけるそれらの物
理的な場所が異なっていても、メモリ32のアドレスで
ラベル表示される。しかしながら、ここで説明するクリ
ーンデータのキャッシュ間コピーは、データのアドレシ
ングまたはデータ要求の特定の方式に制限されない。し
たがって、様々なバス構成に容易に適用されうるよう、
ここでは広範に説明する。したがって、メモリ操作の異
なるフェーズのようなバス・アーキテクチャの詳細の多
くをここでは説明しないが、クリーンデータのキャッシ
ュ間コピーが、典型的には、読み出し操作のスヌープお
よびデータフェーズにのみ影響することに注意を向ける
のは、役立つであろう。
【0024】第2の例では、データは、外部メモリ32
およびプロセッサ14のキャッシュ24に含まれる。し
かしながら、この第2の例では、プロセッサ14は、該
データを外部メモリ32から自身のキャッシュ24にコ
ピーした後に、該データを変更している。プロセッサ1
2は、該データのコピーを要求するため、アドレスバス
上に該データのアドレスを置く。プロセッサ14はHI
TM信号40をアサートし、自身が、変更済みの形態で
要求データを有していることを示す。次に、プロセッサ
14は、該変更済み要求データをデータバス38上に置
き、プロセッサ12は、該変更済みデータを、データバ
ス38から自身のキャッシュ22にコピーする。メモリ
制御装置34も、該変更済みデータを外部メモリ32に
コピーし、該データの以前のコピーを上書きし、コンピ
ュータシステム10全体に該データの一意なバージョン
が存在するようにする。(メモリ32における該データ
の以前のバージョンに対する変更済みデータのこのコピ
ー動作は、暗黙のライトバックと呼ばれる)。この第2
の例は、上記の第1の例とは異なり、サイドバンド信号
が含まれようと含まれまいと、第1の好ましい典型的な
実施形態におけるコンピュータシステム10に適用され
る。
【0025】非共用「クリーンデータ有り」サイドバン
ド信号、すなわちHITC信号(導線44、46、50
および52)がコンピュータシステム10に加えられ、
クリーンデータのキャッシュ間コピーを可能にする。
(用語「サイドバンド」は、この信号が、好ましい典型
的な実施形態における標準のバス・アーキテクチャの一
部でないという事実を示す。それぞれのサイドバンド信
号の導線(たとえば、44)は、1つのプロセッサ(た
とえば、12)にのみ関連付けられ、該関連付けられた
プロセッサ12によってのみアサートされる。データが
要求されたとき、自身のキャッシュ22〜30に該デー
タのクリーンなコピーを有するプロセッサ12〜20の
それぞれは、HITM信号40と共に、自身のHITC
0信号60、70、80または90を(導線44〜52
上に)アサートする。プロセッサ12〜20のうち、該
データのクリーンなコピーを有する1つのプロセッサ
が、該クリーンなデータをデータバス38にコピーし、
これは、要求側プロセッサによって読み出されることが
できる。導線44〜52上のサイドバンドHITC信号
が、クリーンデータのキャッシュ間コピーを可能にし、
外部メモリ32からのメモリ読み出しの回数を減らす。
これは、コンピュータシステム10において、特に外部
メモリ32が大きな待ち時間を有する場合に、メモリ動
作のスピードを大きく向上させることができる。
【0026】マルチプロセッサ12〜20が要求データ
のクリーンなコピーを有するとき、該プロセッサのうち
の1つのみがデータバス38上に要求データを供給す
る。そうでないと、複数の供給源が互いに衝突を起こし
てしまう。したがって、クリーンな要求データを持つプ
ロセッサ12〜20のそれぞれの優先順位を決めなけれ
ばならない。最も高い優先順位を持つプロセッサのみが
データを供給する。この調停プロセスを、任意の所望の
やり方で実行することができる。好ましい典型的な実施
形態では、4個のプロセッサ12〜20のそれぞれがク
リーンな要求データを有するときには、常に自身のHI
TC0信号60、70、80および90をアサートす
る。それぞれのプロセッサ12〜20は、入力HITC
1(62、72、82および92)、HITC2(6
4、74、84および94)、およびHITC3(6
6、76、86および96)信号を調べ、自身よりも高
い優先順位を持つプロセッサが該データのコピーを有す
るかどうか判断する。有しなければ、該プロセッサが、
要求データをデータバス38上に供給する。(プロセッ
サ12から20についてのHITC0信号60、70、
80および90は出力であり、HITC1、HITC2
およびHITC3信号62〜66、72〜76、82〜
86および92〜96は入力である)。
【0027】プロセッサ12〜20は、自身のソケット
に配線される識別信号(図示せず)を持っているので、
それぞれが、自身の優先順位を認識することができる。
プロセッサ20は最も高い優先順位を持ち、プロセッサ
12は最も低い優先順位を持ち、残りは、「プロセッサ
20>プロセッサ16>プロセッサ14>プロセッサ1
2」の関係となっている。したがって、プロセッサ20
は、他のプロセッサ12〜16のうちのいずれかがクリ
ーンデータのコピーを有しているかどうかにかかわりな
く、該クリーンデータを供給する。プロセッサ16は、
プロセッサ20がクリーンデータを有していない場合に
のみ該クリーンデータを供給する。プロセッサ14は、
プロセッサ16および20がクリーンデータを有してい
ない場合にのみ該クリーンデータを供給する。プロセッ
サ12は、プロセッサ14、16および20がクリーン
データを有していない場合にのみ該クリーンデータを供
給する。
【0028】この典型的な実施形態において、第1のH
ITC信号導線44は、プロセッサ12に関連づけられ
ている。これは、プロセッサ12のHITC0信号60
に接続され、プロセッサ14のHITC3信号76に接
続され、プロセッサ16のHITC2信号84に接続さ
れ、プロセッサ20のHITC1信号92に接続されて
いる。第2のHITC信号導線46は、プロセッサ14
に関連づけられている。これは、プロセッサ14のHI
TC0信号70に接続され、プロセッサ12のHITC
1信号62に接続され、プロセッサ16のHITC3信
号86に接続され、プロセッサ20のHITC2信号9
4に接続されている。第3のHITC信号導線50は、
プロセッサ16に関連づけられている。これは、プロセ
ッサ16のHITC0信号80に接続され、プロセッサ
12のHITC2信号64に接続され、プロセッサ14
のHITC1信号72に接続され、プロセッサ20のH
ITC3信号96に接続されている。第4のHITC信
号導線52は、プロセッサ20に関連づけられている。
これは、プロセッサ20のHITC0信号90に接続さ
れ、プロセッサ12のHITC3信号66に接続され、
プロセッサ14のHITC2信号74に接続され、プロ
セッサ16のHITC1信号82に接続されている。
【0029】プロセッサ20が最も高い優先順位を持つ
ので、プロセッサ20は、データバス38にデータを供
給する前に、自身のHITC1、HITC2およびHI
TC3信号92、94および96を調べる必要はない。
同様に、プロセッサ16は、自身のHITC2およびH
ITC3信号84および86を調べる必要はなく、プロ
セッサ14は自身のHITC3信号76を調べる必要が
ない。したがって、後述する図4に示されるように、H
ITC信号導線を、所望の場合には、これらの入力から
切り離したままにしてもよい。
【0030】プロセッサ12〜22は、同一であって、
交換可能であるのが好ましいことに注意されたい。ソケ
ットに配線される識別信号(図示せず)およびサイドバ
ンド信号の配線は、データバス38にクリーンな要求デ
ータを供給すべきかどうか判断するのにそれぞれのプロ
セッサが必要とする情報を提供する。
【0031】上記の調停方式が単に例示的なものであ
り、該調停方式を実現するのにそれぞれのプロセッサに
必要な回路については、ここでは説明しない。しかしな
がら、上記の調停方式の詳細な説明が与えられたので、
プロセッサの設計に係わる当業者ならば、必要とされる
シンプルなハードウェアを簡単に付け加えることができ
るであろう。上記の調停方式により、プロセッサは、ソ
ケットにおける識別信号から自身の優先順位を判断し
て、より高い優先順位を持つプロセッサからのHITC
信号のみを調べればよい。この4個のプロセッサの例で
は、あるプロセッサが最も高い優先順位を持つ場合、該
プロセッサはいかなるHITC入力をも調べない。ある
プロセッサが3番目に高い優先順位を持つ場合、該プロ
セッサは自身のHITC1入力を調べる。あるプロセッ
サが2番目に高い優先順位を持つ場合、該プロセッサは
自身のHITC1およびHITC2入力を調べる。最後
に、あるプロセッサが最も低い優先順位を持つ場合、該
プロセッサは自身のすべてのHITC入力を調べる。調
べられたHITC入力のいずれかがアサートされたなら
ば、要求データはより高い優先順位のプロセッサによっ
て供給されるので、該プロセッサは要求データを供給し
ない。
【0032】共用「クリーンデータ有り」信号を持つ既
存のバス・アーキテクチャにサイドバンド信号を付加す
ると、プロセッサ12〜20は、自身のHITC信号6
0、70、80および90をアサートするときは常に、
HITM信号40をアサートする必要がある。これによ
り、プロセッサ12〜20のうちの1つのプロセッサが
クリーンデータを供給するのと同じ時に、メモリ制御装
置34が該クリーンデータを供給しようとするのが回避
され、よってメモリ制御装置34およびプロセッサ12
〜20の間のバス衝突が回避される。この第1の好まし
い典型的な実施形態は、共用「クリーンデータ有り」信
号を持つバス・アーキテクチャに基づいているので、メ
モリ制御装置34は、上記の第1の例で述べたように、
クリーンな要求データのすべてを供給しようとする。し
たがって、プロセッサは、クリーンデータを供給する前
に、自身のHITM信号40をアサートして、メモリ制
御装置34に、プロセッサが変更済みデータを供給する
ことを示さなければならない(変更済みデータが全く存
在しないとしても)。これは、暗黙のライトバックを発
生させるという副次的効果を持ち、メモリ制御装置34
は、データバス38からメモリ32にデータをコピーす
る。この場合、メモリ32における既存のデータに対し
て、該データの同じクリーンなバージョンをコピーする
こととなり、メモリ32におけるデータは事実上変更さ
れないままである。
【0033】HITMおよびHITC0信号のアサート
処理を、図2のフローチャートに示す。この処理は、典
型的には、「スヌーピング」と呼ばれ、メモリ操作の
「スヌープ」フェーズ中に実行される。コンピュータシ
ステム10におけるあるデバイスが、アドレスバス36
上にアドレスを置くことによって読み出し操作を実行し
たとき、それぞれのプロセッサ12〜20は、自身のキ
ャッシュ22〜30におけるアドレスをスヌープし、そ
の結果を、HIT、HITMおよびHITC信号42、
40および44〜52で報告する。こうして、それぞれ
のプロセッサ(たとえば、12)が、アドレスバス36
上にデータの要求を見たとき、該プロセッサは、該要求
データについて自身のキャッシュ22を調べる。該要求
データが、変更済みの形態で格納されていたならば(1
00)、プロセッサ12はHITM40信号をアサート
する(102)。該要求データがクリーンな形態で格納
されていたならば(104)、該プロセッサ12は、H
ITM信号40およびHITC0信号60をアサートす
る。前述したように、HITM信号40がアサートされ
ると、暗黙のライトバックを発生させるけれども、メモ
リ制御装置34が該データを供給することが回避され
る。
【0034】典型的なコンピュータプロセッサは、メモ
リ制御装置34に類似したキャッシュ制御装置(図示せ
ず)を備え、これは、スヌーピング機能の多くまたはす
べてを実行する。
【0035】以下のスヌープ結果表は、それぞれの起こ
りうるスヌープ結果のコンピュータシステム10に対す
る影響を要約したものである。
【0036】
【表1】
【0037】この表は、トランザクションのいくつかの
種類についての結果を要約したものであり、メモリの読
み出し、書き込み、読み出しかつ無効化、および無効化
を含んでいる。後者の2つのトランザクションは、デー
タを変更しようとしているプロセッサによって実行され
る。この種類のトランザクションを検知したコンピュー
タシステム10の他のプロセッサは、自身のキャッシュ
から、該データのクリーンなコピーを消去し、該データ
の異なるバージョンが該システムに存在するのを回避す
る。こうして、プロセッサが、要求データの変更済みコ
ピーを実際に持つ場合には、他のプロセッサのいずれ
も、クリーンまたは変更済みの該データのコピーを持つ
ことはない。(読み出しかつ無効化トランザクションお
よび無効化トランザクションは、要求側プロセッサが、
共用モードではなく排他的モードで該データを持つこと
を示す)。
【0038】いかなる信号もアサートされない一番目の
行(メモリ読み出し状態000とする)は、どのプロセ
ッサも、クリーンおよび変更済み形態のいずれの要求デ
ータも持たず、メモリ制御装置34が該データを供給す
る。メモリ読み出し状態001においては、HITM信
号のみがアサートされ、変更済みデータを持つプロセッ
サが該データを供給する。メモリ読み出し状態010は
不正状態を示す。なぜならば、プロセッサが要求データ
のクリーンなコピーを持つ場合には該プロセッサは自身
のHITCおよびHITM信号をアサートするはずだか
らである。メモリ読み出し状態011は、スヌープのス
トール(stall;機能停止)であり、これは、少なくと
も1つのプロセッサが、自身のスヌープ結果を配信する
準備ができていないことを意味する。メモリ読み出し状
態100も不正状態を示す。これは、HITC信号がア
サートされて、メモリ制御装置34がプロセッサと同じ
時にデータバスにデータを供給しようとするのを回避す
るときは常に、HITM信号がアサートされるはずだか
らである。メモリ読み出し状態101は、少なくとも1
つのプロセッサが要求データのクリーンなコピーを持
ち、最も高い優先順位を持つプロセッサが該データを供
給することを示す。再び言うと、この状態におけるHI
TMのアサートは、メモリ制御装置34とのバス衝突を
回避するための偽のアサートである。メモリ読み出し状
態110は不正状態である。これは、メモリ制御装置3
4とのバス衝突を再び発生させるからである。最後に、
メモリ読み出し状態111はスヌープのストールであ
る。この表は、また、メモリ書き込みのトランザクショ
ン中にHITC信号をアサートすることが不正であるこ
とを示す。前述したように、クリーンデータのキャッシ
ュ間コピーを可能にするサイドバンドHITC信号は、
メモリ読み出し操作にのみ影響を及ぼす。
【0039】コンピュータシステム10におけるメモリ
読み出し操作を、図3に示す。最初に、コンピュータシ
ステム10において、データがプロセッサにより要求さ
れる(110)。HITM信号40が調べられ、それが
アサートされたかどうか判断する(112)。HITM
信号40がアサートされていなければ、メモリ制御装置
34が、要求データをデータバス38に供給する(11
4)。次に、データを要求するプロセッサが、データバ
ス38からデータをコピーする(116)。HITM4
0信号がアサートされ、少なくとも1つのHITC信号
がアサートされたならば(120)、クリーンな形態で
要求データを持つ最も優先順位の高いプロセッサが、デ
ータバス38にデータを供給する(126)。次に、該
データを要求したプロセッサは、データバス38から該
データをコピーし(116)、メモリ制御装置34は、
データバス38からメモリ32に該クリーンデータをコ
ピーする(130)。HITM40信号がアサートさ
れ、HITC信号がアサートされなければ(120)、
変更済みの形態で要求データを持つプロセッサが、デー
タバス38にデータを供給する(122)。次に、該デ
ータを要求したプロセッサが、データバス38から該デ
ータをコピーし(116)、メモリ制御装置34は、デ
ータバス38からメモリ32に該変更済みデータをコピ
ーする(124)。
【0040】第2の好ましい典型的な実施形態におい
て、HITC信号は、サイドバンド信号として付加され
るのではなく、バス・アーキテクチャに含まれ、HIT
信号42は除外される。これにより、メモリ制御装置
が、不必要な暗黙のライトバックを回避することが可能
となる・図4を参照すると、この典型的な実施形態にお
けるコンピュータシステム210は、4個のプロセッサ
212、214、216および220を含む。該プロセ
ッサ212〜220のそれぞれは、内部メモリキャッシ
ュ222、224、226および230を含む。また、
コンピュータシステム210は、メモリ制御装置234
と、関連する外部メモリ232を含む。コンピュータシ
ステム210のこれらの構成要素を相互接続するバス
は、アドレスバス236、データバス238、共用「変
更済みデータ有り」(HITM)信号240、および4
個の非共用「クリーンデータ有り」(HITC)信号導
線244、246、250および252を含む。アドレ
スバス236、データバス238、およびHITM信号
240は、メモリ制御装置234と、4個のプロセッサ
212〜220のそれぞれに接続される。HITC信号
導線244〜252は、メモリ制御装置234およびプ
ロセッサ212〜220に必要に応じて接続される。
【0041】前述したように、ここで示される典型的な
調停方式は、それぞれのHITC信号導線244〜25
2が4個のプロセッサ212〜220のすべてに接続さ
れることを必要としない。第1のHITC信号導線24
4は、第1のプロセッサ212に関連付けられており、
第1のプロセッサ212のHITC0信号出力260
と、メモリ制御装置234に接続される。第2のHIT
C信号導線246は、第2のプロセッサ214に関連付
けられており、第2のプロセッサ214のHITC0信
号出力270と、第1のプロセッサ212のHITC1
信号入力262と、メモリ制御装置234に接続され
る。第3のHITC信号導線250は、第3のプロセッ
サ216に関連付けられており、第3のプロセッサ21
6のHITC0信号出力280と、第2のプロセッサ2
12のHITC2信号入力264と、第2のプロセッサ
214のHITC1信号入力272と、メモリ制御装置
234に接続される。第4のHITC信号導線252
は、第4のプロセッサ220に関連付けられており、第
4のプロセッサ220のHITC0信号出力290と、
第1のプロセッサ212のHITC3信号入力266
と、第2のプロセッサ214のHITC2信号入力27
4と、第3のプロセッサ216のHITC1信号入力2
82と、メモリ制御装置234に接続される。こうし
て、プロセッサ214〜220のうちの3個のプロセッ
サについて、HITC1信号入力292、HITC2信
号入力284および294、HITC3信号入力27
6、286および296は、未使用のままにされる。
【0042】この実施形態のHITMおよびHITC0
信号のアサート処理を、図5のフローチャートに示す。
コンピュータシステム210におけるデバイスが、アド
レスバス236上にアドレスを置くことによって読み出
し操作を実行するとき、それぞれのプロセッサ212〜
220は、自身のキャッシュ222〜230におけるア
ドレスをスヌープし、その結果を、HITMおよびHI
TC信号240および244〜252で報告する。こう
して、それぞれのプロセッサ(たとえば、212)が、
アドレスバス236上にデータの要求を見たとき、該プ
ロセッサは自身のキャッシュを調べて、要求データが変
更済みの形態でそこに格納されているかどうか判断する
(300)。格納されているならば、プロセッサ212
は、HITM240信号をアサートする(302)。格
納されていなければ、プロセッサ212は自身のキャッ
シュを調べて、要求データがクリーンな形態で格納され
ているかどうか判断する(304)。該キャッシュがク
リーンなデータを含むならば、プロセッサ212は、自
身のHITC0信号260をアサートする。このこと
は、メモリ制御装置234とのバス衝突を回避するのに
必要な偽のHITM信号のアサートを必要としない点
で、第1の典型的な実施形態と異なる。HITC信号導
線244〜252がメモリ制御装置234に接続されて
いるので、プロセッサがクリーンな要求データをデータ
バス238に供給することがわかる。言い換えると、メ
モリ制御装置234は、HITM信号240およびHI
TC信号導線244〜252がデアサートされたままで
あるときに、要求データをデータバス238に供給すれ
ばよい。メモリ制御装置234は、HITM信号240
がアサートされたとき、前述したように、暗黙のライト
バックを行って、変更済みデータをメモリ23にコピー
する。
【0043】以下のスヌープ結果の表は、それぞれの起
こりうるスヌープ結果の、コンピュータシステム210
に対する影響を要約したものである。
【0044】
【表2】
【0045】コンピュータシステム210におけるメモ
リ読み出し操作を、図6のフローチャートに示す。最初
に、コンピュータシステム210において、データがプ
ロセッサにより要求される(310)。HITM230
信号がアサートされると(312)、変更済みの形態で
要求データを持つプロセッサは、データバス238にデ
ータを供給する(314)。次に、データを要求するプ
ロセッサは、データバス238から該データをコピーし
(320)、メモリ制御装置234は、データバス23
8からメモリ232に変更済みデータをコピーする(3
16)。HITM信号240がアサートされず(31
2)、かつ少なくとも1つのHITC信号がアサートさ
れたならば(322)、要求データをクリーンな形態で
持つ優先順位の最も高いプロセッサが、データバス23
8にデータを供給する。次に、該データを要求したプロ
セッサは、データバス238から該データをコピーする
(320)。HITM信号240およびHITC信号が
デアサートされたままならば(312および322)、
メモリ制御装置234は、データバス238に要求デー
タを供給する(326)。次に、データを要求したプロ
セッサは、データバス238から該データをコピーする
(320)。
【0046】この発明の好ましい実施形態を詳細で説明
してきたが、創意にとんだ概念を様々に具現化して利用
することができること、および特許請求の範囲は、従来
技術によって制限されるような場合を除き、このような
様々な形態を含むよう解釈されるべきであることは理解
されるであろう。
【0047】本発明は、以下の実施態様を含む。 (1)それぞれが内部メモリを持つ複数のコンピュータ
プロセッサと、前記複数のコンピュータプロセッサに接
続された複数の非共用「クリーンデータ有り」インジケ
ータとを備え、前記複数の非共用「クリーンデータ有
り」インジケータのそれぞれは、前記複数のコンピュー
タプロセッサのそれぞれに対応しており、前記複数のコ
ンピュータプロセッサのそれぞれは、要求されたデータ
が、変更されていない状態で自身の内部メモリに含まれ
るとき、自身の対応する非共用「クリーンデータ有り」
インジケータをアサートするよう適合される、データ記
憶装置。 (2)前記要求データを有するコンピュータプロセッサ
が、該データを変更していないとき、該要求データは前
記変更されていない状態にある、上記(1)に記載のデ
ータ記憶装置。 (3)前記複数の非共用「クリーンデータ有り」インジ
ケータのそれぞれは、前記複数のコンピュータプロセッ
サのうちの1つのみによってアサートされるよう適合さ
れている、上記(1)に記載のデータ記憶装置。 (4)前記複数のコンピュータプロセッサに接続された
外部メモリを備える、上記(1)に記載のデータ記憶装
置。 (5)前記複数の非共用「クリーンデータ有り」インジ
ケータは、前記外部メモリに接続される、上記(4)に
記載のデータ記憶装置。
【0048】(6)前記複数のコンピュータプロセッサ
に接続された共用「変更済みデータ有り」インジケータ
をさらに備える、上記(4)に記載のデータ記憶装置。 (7)前記共用「変更済みデータ有り」インジケータ
は、前記外部メモリに接続される、上記(6)に記載の
データ記憶装置。 (8)前記共用「変更済みデータ有り」インジケータ
は、アサート状態および非アサート状態を含み、該アサ
ート状態は、変更済みデータがあることを示す、上記
(4)に記載のデータ記憶装置。 (9)前記共用「変更済みデータ有り」インジケータ
は、前記複数のコンピュータプロセッサのいずれかによ
ってアサートされるよう適合される、上記(4)に記載
のデータ記憶装置。 (10)前記複数のコンピュータプロセッサに接続され
た共用「クリーンデータ有り」インジケータをさらに備
え、前記複数のコンピュータプロセッサのそれぞれは、
前記要求されたデータが、前記変更されていない状態で
自身の内部メモリに含まれるとき、前記共用「クリーン
データ有り」インジケータをアサートするよう適合され
る、上記(1)に記載のデータ記憶装置。
【0049】(11)前記共用「クリーンデータ有り」
インジケータは、前記複数のコンピュータプロセッサの
いずれかにより同時にアサートされるよう適合される、
上記(10)に記載のデータ記憶装置。 (12)前記共用「クリーンデータ有り」インジケータ
は、少なくとも1つの外部メモリに接続される、上記
(10)に記載のデータ記憶装置。 (13)コンピュータシステムにおいてデータを共用す
る方法であって、それぞれが内部メモリを持つ複数のコ
ンピュータプロセッサと、該複数のコンピュータプロセ
ッサに接続された外部メモリと、該複数のコンピュータ
プロセッサに接続された複数の非共用「クリーンデータ
有り」インジケータと、該複数のコンピュータプロセッ
サおよび前記外部メモリに接続された共用「変更済みデ
ータ有り」インジケータと、該複数のコンピュータプロ
セッサおよび該外部メモリに接続されたデータバスと、
該複数のコンピュータプロセッサおよび該外部メモリに
接続されたアドレスバスとを備える前記コンピュータシ
ステムを設けるステップと、前記複数の非共用「クリー
ンデータ有り」インジケータ、前記共用「変更済みデー
タ有り」インジケータ、および前記アドレスバスに置か
れた信号に従って、前記コンピュータシステムにおける
データを共用するステップと、を含み、前記複数の非共
用「クリーンデータ有り」インジケータのそれぞれは、
前記複数のコンピュータプロセッサのそれぞれに対応す
る、データを共用する方法。 (14)前記複数のコンピュータプロセッサのそれぞれ
は、要求されたデータが変更されていない状態で自身の
内部メモリに含まれるとき、前記非共用「クリーンデー
タ有り」インジケータをアサートするステップをさらに
含む、上記(13)に記載の方法。 (15)前記複数のコンピュータプロセッサのそれぞれ
は、要求されたデータが変更済みの状態で自身の内部メ
モリに含まれるとき、前記共用「変更済みデータ有り」
インジケータをアサートするステップをさらに含む、上
記(13)に記載の方法。
【0050】(16)前記データを共用するステップ
は、データ要求について前記アドレスバスを前記複数の
コンピュータプロセッサおよび前記外部メモリが監視す
るステップと、前記データバスに要求されたデータを転
送するかどうか、前記複数のコンピュータプロセッサの
それぞれおよび前記外部メモリが判断するステップと、
を含む、上記(13)に記載の方法。 (17)前記複数の非共用「クリーンデータ有り」イン
ジケータおよび前記共用「変更済みデータ有り」インジ
ケータがアサートされていなければ、前記アドレスバス
上に前記要求されたデータのアドレスが現れた後、該要
求されたデータを前記外部メモリが前記データバスに転
送するステップを含む、上記(16)に記載の方法。 (18)前記要求されたデータが、前記複数のコンピュ
ータプロセッサのうちの1つのプロセッサの前記内部メ
モリに格納され、前記複数のコンピュータプロセッサの
うちの前記1つのプロセッサが、前記内部メモリにおけ
る前記要求されたデータを変更しており、前記複数の非
共用「クリーンデータ有り」インジケータがアサートさ
れておらず、前記共用「変更済みデータ有り」インジケ
ータがアサートされたならば、前記複数のコンピュータ
プロセッサのうちの前記1つのプロセッサが、前記要求
されたデータを前記データバスに転送する、上記(1
6)に記載の方法。 (19)前記外部メモリが、前記データバスから前記要
求されたデータをコピーするステップをさらに含む、上
記(18)に記載の方法。 (20)前記要求されたデータが、前記複数のコンピュ
ータプロセッサのうちの1つのプロセッサの前記内部メ
モリに格納され、前記複数のコンピュータプロセッサの
うちの前記1つのプロセッサが、前記内部メモリにおけ
る前記要求されたデータを変更しておらず、前記複数の
コンピュータプロセッサのうちの前記1つのプロセッサ
に対応する前記複数の非共用「クリーンデータ有り」イ
ンジケータのうちの1つがアサートされ、前記要求され
たデータのアドレスが前記アドレスバス上に現れた後、
前記複数のコンピュータプロセッサのうちの前記1つの
プロセッサが、前記要求されたデータを前記データバス
に転送するステップをさらに含む、上記(16)に記載
の方法。
【0051】(21)前記要求されたデータが、前記複
数のコンピュータプロセッサのうちの少なくとも2つの
前記内部メモリに格納され、前記複数の非共用「クリー
ンデータ有り」インジケータのうちの少なくとも2つが
アサートされ、前記複数のコンピュータプロセッサのう
ちの前記少なくとも2つのどれが最も高い優先順位を持
つかを判断するために、前記複数の非共用「クリーンデ
ータ有り」インジケータのうちの前記アサートされた少
なくとも2つを調べ、前記複数のコンピュータプロセッ
サのうちの前記少なくとも2つが、前記要求されたデー
タを前記データバス上に転送するかどうか判断する、上
記(20)に記載の方法。 (22)前記複数の非共用「クリーンデータ有り」イン
ジケータは優先順位をつけられ、前記複数のコンピュー
タプロセッサは優先順位をつけられ、前記複数のコンピ
ュータプロセッサのうちの前記少なくとも2つのどれが
最も高い優先順位を持つかを判断するためにアサートさ
れた前記複数の非共用「クリーンデータ有り」インジケ
ータのうちの前記少なくとも2つを調べる前記ステップ
は、前記複数のコンピュータプロセッサのうちの前記少
なくとも2つのそれぞれが、自身の優先順位と、アサー
トされた複数の非共用「クリーンデータ有り」インジケ
ータのうちの前記少なくとも2つのうちの最も高い優先
順位とを比較することを含み、自身の非共用「クリーン
データ有り」インジケータをアサートした最も高い優先
順位を持つコンピュータプロセッサが、前記データバス
上に前記要求データを転送するようにする、上記(2
1)に記載の方法。 (23)前記コンピュータシステムは、前記複数のコン
ピュータプロセッサおよび前記外部メモリに接続された
共用「クリーンデータ有り」インジケータをさらに備え
ており、要求されたデータが、変更されていない状態で
自身の内部メモリに含まれるとき、前記複数のコンピュ
ータプロセッサのそれぞれが、前記共用「クリーンデー
タ有り」インジケータをアサートする、上記(13)に
記載の方法。 (24)要求されたデータが、変更されていない状態で
自身の内部メモリに含まれるとき、前記複数のコンピュ
ータプロセッサのそれぞれが、自身の非共用「クリーン
データ有り」インジケータおよび共用「変更済みデータ
有り」インジケータをアサートするステップをさらに含
む、上記(23)に記載の方法。 (25)前記共用「変更済みデータ有り」インジケータ
および前記複数の非共用「クリーンデータ有り」インジ
ケータのうちの少なくとも1つがアサートされたとき、
前記外部メモリが、前記要求データを前記データバスか
らコピーするステップをさらに含む、上記(24)に記
載の方法。
【0052】(26)前記コンピュータシステムにおけ
る複数のコンピュータプロセッサに関連付けられた非共
用「クリーンデータ有り」インジケータに複数の信号を
置くステップと、前記複数の信号に基づいて、前記コン
ピュータシステムにおけるデータバスにデータを置くス
テップと、を含む、コンピュータシステムを操作する方
法。 (27)それぞれが内部キャッシュメモリを持つ複数の
コンピュータプロセッサと、前記複数のコンピュータプ
ロセッサに接続された外部メモリと、前記複数のコンピ
ュータプロセッサに接続された、非共用「クリーンデー
タ有り」インジケータと、を備えるコンピュータシステ
ム。
【0053】
【発明の効果】プロセッサのキャッシュ間において、ク
リーンデータをコピーすることができる。
【図面の簡単な説明】
【図1】1つの共用クリーンキャッシュヒット信号を持
つバス・アーキテクチャを備えたコンピュータシステム
のブロック図。
【図2】図1に示されるコンピュータシステムのプロセ
ッサが、自身の共用「変更済みデータ有り」信号および
自身の非共用「クリーンデータ有り」信号をアサートす
る場合を示すフローチャート。
【図3】図1のコンピュータシステムにおけるデータ読
み出し操作を示すフローチャート。
【図4】複数の非共用クリーンキャッシュヒット信号を
持つバス・アーキテクチャを備えたコンピュータシステ
ムのブロック図。
【図5】図4に示されるコンピュータシステムのプロセ
ッサが、自身の共用「変更済みデータ有り」信号および
自身の非共用「クリーンデータ有り」信号をアサートす
る場合を示すフローチャート。
【図6】図4のコンピュータシステムにおけるデータ読
み出し操作を示すフローチャート。
【符号の説明】
12〜20 プロセッサ 32 外部メモリ 34 メモリ制御装置 36 アドレスバス 38データバス 40 HITM信号線 42 HIT信号線 44〜52 HITC信号線
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/177 682 G06F 15/177 682J Fターム(参考) 5B005 JJ12 KK14 MM01 NN12 NN45 NN53 PP11 5B045 DD12 DD13

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】それぞれが内部メモリを持つ複数のコンピ
    ュータプロセッサと、 前記複数のコンピュータプロセッサに接続された複数の
    非共用「クリーンデータ有り」インジケータと、を備
    え、 前記複数の非共用「クリーンデータ有り」インジケータ
    のそれぞれは、前記複数のコンピュータプロセッサのそ
    れぞれに対応しており、 前記複数のコンピュータプロセッサのそれぞれは、要求
    されたデータが、変更されていない状態で自身の内部メ
    モリに含まれるとき、自身の対応する非共用「クリーン
    データ有り」インジケータをアサートするよう適合され
    る、データ記憶装置。
JP2001378394A 2001-02-23 2001-12-12 キャッシュ間でクリーンデータをコピーするデータ記憶装置 Pending JP2002259210A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/792,319 2001-02-23
US09/792,319 US20020161975A1 (en) 2001-02-23 2001-02-23 Cache to cache copying of clean data

Publications (1)

Publication Number Publication Date
JP2002259210A true JP2002259210A (ja) 2002-09-13

Family

ID=25156484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001378394A Pending JP2002259210A (ja) 2001-02-23 2001-12-12 キャッシュ間でクリーンデータをコピーするデータ記憶装置

Country Status (2)

Country Link
US (1) US20020161975A1 (ja)
JP (1) JP2002259210A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112013005093T5 (de) * 2012-10-22 2015-10-22 Intel Corporation Hochleistungszusammenschaltungsbitübertragungsschicht

Also Published As

Publication number Publication date
US20020161975A1 (en) 2002-10-31

Similar Documents

Publication Publication Date Title
US6070231A (en) Method and apparatus for processing memory requests that require coherency transactions
US5802577A (en) Multi-processing cache coherency protocol on a local bus
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US8799589B2 (en) Forward progress mechanism for stores in the presence of load contention in a system favoring loads
US20070204111A1 (en) Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US7536514B2 (en) Early return indication for read exclusive requests in shared memory architecture
US20050166020A1 (en) Methods and apparatus for cache intervention
JP2982868B2 (ja) メモリ待ち時間を短縮する方法およびコンピュータ・システム
JPH11272557A (ja) キャッシュ・コヒ―レンシを維持する方法及びシステム
JPH10333985A (ja) データ供給方法及びコンピュータ・システム
US20070083715A1 (en) Early return indication for return data prior to receiving all responses in shared memory architecture
JPH09114736A (ja) パケット交換型キャッシュコヒーレントマルチプロセッサシステムのデータプロセッサ用高速デュアルポート型キャッシュコントローラ
JPH10289155A (ja) Smpバスの共用状態でのキャッシュ・ラインの共用介入方法及びシステム
JPH10289156A (ja) Smpバスの最近読取り状態でのキャッシュ・ラインの共用介入方法及びシステム
US11687457B2 (en) Hardware coherence for memory controller
JPH10289154A (ja) Smpバスの排他状態でのキャッシュ・ラインの共用を行う方法及び装置
JP2001167077A (ja) ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
US20100211742A1 (en) Conveying critical data in a multiprocessor system
US6351791B1 (en) Circuit arrangement and method of maintaining cache coherence utilizing snoop response collection logic that disregards extraneous retry responses
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
US8266386B2 (en) Structure for maintaining memory data integrity in a processor integrated circuit using cache coherency protocols
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
JP2023509334A (ja) 特定のリクエストに対するコヒーレンス保護を拡張するキャッシュ・スヌーピング・モード
US8108618B2 (en) Method and apparatus for maintaining memory data integrity in an information handling system using cache coherency protocols
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法