JPH05210639A - 複数キャッシュメモリ型式を含む多重プロセッサコンピューターシステム - Google Patents

複数キャッシュメモリ型式を含む多重プロセッサコンピューターシステム

Info

Publication number
JPH05210639A
JPH05210639A JP4266885A JP26688592A JPH05210639A JP H05210639 A JPH05210639 A JP H05210639A JP 4266885 A JP4266885 A JP 4266885A JP 26688592 A JP26688592 A JP 26688592A JP H05210639 A JPH05210639 A JP H05210639A
Authority
JP
Japan
Prior art keywords
cache
write
processor
memory
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4266885A
Other languages
English (en)
Inventor
Craig A Walrath
エイ.ウォールラス クレイグ
Jimmy D Pike
ディー.パイク ジミー
Terry S Strickland
エス.ストリックランド テリー
Jr Arthur F Cochcroft
エフ.コウチクロフト,ジュニア アーサー
Gene F Young
エフ.ヤング ジーン
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.)
NCR International Inc
Original Assignee
NCR International Inc
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 NCR International Inc filed Critical NCR International Inc
Publication of JPH05210639A publication Critical patent/JPH05210639A/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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols

Landscapes

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

Abstract

(57)【要約】 【目的】多重プロセッサ46、50およびこれらプロセ
ッサに関連する多重型式のキャッシュメモリを有するコ
ンピューターシステムを与える。 【構成】データコヒーレンシーを犠牲にすることなくシ
ステム40内でいろいろの型式のキャッシュ48、5
2、54の作動を可能にする一組のバスオペレーション
および多重レベルキャッシュ構成体が与えられる。ユー
ザーは必要に応じてシステムバス42にプロセッサ-キ
ャッシュメモリ資産を加えることができる。さらにプロ
セッサアーキテクチャが高度化するに伴い、処理能力を
増大するため、それまでのプロセッサ-キャッシュ構成
体を保持したままで新たなプロセッサを追加できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は多重プロセッサ付きコン
ピューターシステムに関し、特にいろいろの型式のキャ
ッシュメモリを含む多重プロセッサコンピューターシス
テムに関する。
【0002】
【従来の技術】処理を受けるためのデータが転送される
のをシステムのプロセッサが待っている時間を低減する
ため、またそれによって全体の処理時間を低減するた
め、1960年代後半にコンピューターシステムにキャ
ッシュメモリが導入された。その当時は典型的なコンピ
ューターシステムは中央処理演算ユニットと呼ばれるた
だ一つのプロセッサを持っていた。これらのシステムは
ただ一つのプロセッサを持っていたので、多重プロセッ
サ間のいろいろの型式のキャッシュの混在は問題となら
なかった。
【0003】一層大きなデータ処理能力が必要となりそ
の需要が高まるに伴って、中央処理演算ユニットを補助
するため他のデバイスが付加されるに至った。これらの
他のデバイスはある特別のプロセッサ分野において用い
られ、前記中央処理ユニットの機能を果たした。直接メ
モリアクセスコントローラ及び数学コプロセッサはその
ような特別のデバイスの例である。これら特定用途のプ
ロセッサまたはコントローラは、中央処理ユニットがコ
ンピューターシステム主メモリと相互作用するのと同じ
ようには相互作用しないので、これらの特別のデバイス
は実際のキャッシュメモリを有していない。従ってやは
り多重プロセッサ間にいろいろの型式のキャッシュが混
在することによる問題は生じなかった。
【0004】データ処理能力の需要がさらに高まるにつ
れ、通常、さらに一層高速のコンポーネントを使用する
ことによって単一主プロセッサ及びその関連のキャッシ
ュメモリをもっと高い能力レベルに改善し、これをもっ
て能力向上戦略とした。集中的なオペレーションのみが
高処理能力を必要とするので、単一プロセッサがその限
界に達したときは、高速のキャッシュ及びコンポーネン
トがコンピューターシステムに付加され、これをもって
集中的オペレーションのための多重処理能力を与える手
段とされた。システムの能力向上戦略には、最初に最高
速のプロセッサ-キャシュの組み合わせ(fastest proce
ssor-and cache combination)に達するステップと、次
いでその最高速プロセッサ-キャッシュの組み合わせか
らなるユニットを一つ以上付加してシステムを構築する
ステップとが含まれる。従って付加されるプロセッサは
それらが付加される対象の当該プロセッサ-キャッシュ
構成と同じプロセッサ-キャッシュアーキテクチャを持
っていた。 それゆえやはり多重キャッシュのうちのい
かなる型式の多重キャッシュに対してコンピューターシ
ステムをいかに作動させるかと言う問題は生じなかっ
た。
【0005】
【発明が解決しようとする課題】コンピューターシステ
ムに多重プロセッサを追加するときは一プロセッサ当た
りの処理能力は実際には低下することが良く知られてい
る。その理由は、タスクの組織化およびリソースの共有
化に処理時間が費やされるため、プロセッサは本来の処
理能力を発揮できないからである。すべてのプロセッサ
が同一でそれらがすべて同一のパラメーターを有すると
きは、一定単位で量った処理能力当たりの価格はプロセ
ッサが追加されるに伴って増加する。従っていろいろの
多重プロセッサ間で構築されるプロセッサ-キャッシュ
メモリ構成で作動するコンピューターシステムであっ
て、需要に応じて、かつ最もコスト上効果のある方法で
処理能力を増大できるコンピューターシステムを実現し
たい要請がある。
【0006】従って本発明は混在型プロセッサ-キャッ
シュメモリ構成を具えた多重プロセッサを有するコンピ
ューターシステム構成を与えることを課題とする。
【0007】本発明の別の課題は異なるプロセッサ-キ
ャッシュ構成を具えた多重プロセッサを有するコンピュ
ーターシステムを作動させる方法を与えることである。
【0008】
【課題を解決するための手段】簡単に述べると、本発明
の一局面で前記課題は、データ格納用の主メモリとこの
主メモリに接続されたデータ通信用システムバスとを有
するコンピューターシステムを与えることにより達成さ
れる。このコンピューターシステムはまた、いかなる関
連のキャッシュの補助をも受けないで直接に前記主メモ
リのアドレスに書き込みされたデータ及び主メモリアド
レスから読み取りされたデータを処理する第一主プロセ
ッサと、ある関連のキャッシュの援助により前記主メモ
リのアドレスに書き込まれ及び主メモリのアドレスから
読み取りされたデータを処理する第二主プロセッサとを
含む。
【0009】本発明の別の局面では前記課題は、データ
格納用の主メモリとこの主メモリに接続されたデータ通
信用システムバスとを有するコンピューターシステムを
与えることにより達成される。このコンピューターシス
テムはまた、第一型式の第一関連キャッシュの補助を受
けてその主メモリのアドレスに書き込みされたデータ及
び主メモリアドレスから読み取りされたデータを処理す
る第一主プロセッサと、第二型式の第二関連のキャッシ
ュの援助の下で前記主メモリのアドレスに書き込まれた
データ及び主メモリのアドレスから読み取りされたデー
タを処理する第二主プロセッサとを含む。
【0010】本発明のさらに別の局面では上記諸課題
は、データ格納用の主メモリとこの主メモリに接続され
たデータ通信用システムバスとを有するコンピューター
システムを与えることにより達成される。このコンピュ
ーターシステムはまた、いかなる関連キャッシュの補助
も受けないで直接に前記主メモリのアドレスに書き込み
されたデータ及び主メモリアドレスから読み取られたデ
ータを処理する第一主プロセッサと、第一レベルでは第
一キャッシュの援助、第二レベルでは第二キャッシュの
援助の下で前記主メモリのアドレスに書き込まれたデー
タ及び主メモリのアドレスから読み取られたデータを処
理する第二主プロセッサとを含む。
【0011】本発明の前記課題解決手段の項に記した諸
課題その他の課題、本発明の適用可能範囲等は以下の詳
細な説明から明かとなろう。ただし以下の詳細な説明は
例示のためであり、本発明の技術範囲内で種々の設計変
更が可能であることを了解されたい。
【0012】本発明は前記特許請求の範囲に確定される
ものであるが、添付の図面及び以下の説明からよりよく
理解されよう。
【0013】
【実施例】図1にはコンピューターシステム10がブロ
ック線図で示されている。コンピューターシステム10
は高速並列バスであるシステムバス12を有する。シス
テムバス12には主メモリ14が接続される。このよう
にして主メモリ14はシステムバス12に接続されるす
べてのデバイスに共用され、かつこれらデバイスにアク
セスできる。
【0014】システムバス12にはプロセッサ16が直
接に接続される。プロセッサ16はこのように接続する
ことにより、システムバス12を介して主メモリ14と
の間でデータビットの書き込み、読み取りができる。プ
ロセッサ16はローカルキャッシュを欠いているか、あ
るいはそのローカルキャッシュが停止されているので、
プロセッサ16はアクセスを行う度に主メモリに至る全
行路を経由しなければならず、これには時間がかかる。
【0015】別のプロセッサ20がライトスルーキャッ
シュ(write-through cache)22に接続され、ライト
スルーキャッシュ22はシステムバス12に接続され
る。このような接続により、プロセッサ20はもしも読
み取りヒット(read hit)があればそのライトスルーキ
ャッシュ22から得られるデータに迅速にアクセスでき
る。プロセッサ20はまた、書き込みヒット(write hi
t)があればそのライトスルーキャッシュ22から得ら
れるデータに迅速にアクセスできる。もしも書き込みヒ
ットがあれば、ライトスルーキャッシュ22はそのプロ
セッサ20にデータラインを返し、主メモリ14にその
データラインを届けて書き込む(write through)。こ
の時点で主メモリ14内のステータス表は、ライトスル
ーキャッシュ22が最新版の書き込みデータラインを有
する旨、更新される。ライトスルーキャッシュ22は最
新版の書き込みデータラインを有するので、他のすべて
のキャッシュ内の他のすべての版が無効化される。この
無効化は主メモリ14内の中央ステータス表及びメモリ
コントローラの援助の下に行うことができるが、コンピ
ューターシステム10がこれらのキャッシュメモリに関
連したスヌーパ(snoopers)を有していれば、分布型
(distributed)のステータス表及びコントローラを使
用することもできることを了解されたい。
【0016】別のプロセッサ28が書き戻しキャッシュ
(write-back cache)30に接続され、書き戻しキャッ
シュ30はシステムバス12に接続される。このように
接続されたプロセッサ28はもしも読み取りヒットまた
は書き込みヒットがあればその書き戻しキャッシュ30
から得られるデータに極めて迅速にアクセスできる。
【0017】書き戻しキャッシュはまたコピーバックキ
ャッシュとして知られ、読み取りヒットおよび書き込み
ヒットがいずれもシステムバス12に到達するのを防止
する。プロセッサ28は自由にその書き戻しキャッシュ
内にあるデータを修正できるので、一ライン内のデータ
を自由に修正する能力はいかなる時刻においてもただ一
つのプロセッサ及びその関連のキャッシュのみに限定す
るため、グローバルキャッシュコヒーレンシーデバイス
を設けなければならない。もしもプロセッサ28及びそ
のキャッシュ30が自由にデータラインを修正できるな
ら、これらのプロセッサ及びキャッシュは「当該データ
の所有権を有する」と言われる。プロセッサ28及び書
き戻しキャッシュ30が所有するデータラインを他のプ
ロセッサ-キャッシュ構成体が使用することはできる
が、いかなるかかるプロセッサ-キャッシュ構成体も無
効化オペレーション等によって所有権が更新されたこと
をグローバルキャッシュコヒーレンシーデバイスに報告
しなければならない。
【0018】プロセッサ28及び書き戻しキャッシュ3
0は所有する任意のデータラインを自由に修正できるの
で、「最古に使用されたキャッシュライン置換プロセス
(least-recently-used cache line replacement)」等
によりもしも所有するラインが修正置換されると、書き
戻しキャッシュ30はこのデータラインを主メモリ14
に書き戻すことを要求される。これが要求されるのは、
この修正されたラインが最新版のデータだからである。
【0019】書き込みキャッシュ(write chache)には
二つの型式がある。それらは、ノン-アロケート-オン-
ライト-ミス型式(non-allocate-on-write-miss type)
およびアロケート-オン-ライト-ミス型式(allocate-on
-write-miss type)である。ノン-アロケート-オン-ラ
イト-ミス型式は書き込みミス(write-miss)が生じた
場合でも何のアクションも取らず、したがってその書き
込みはシステムバス12を経由して主メモリ14へ送信
される。他方、アロケート-オン-ライト-ミス型式は書
き込みミスが生じたときは格納空間を用意し、書き込み
ミスの生じたラインをキャッシュ中に読み込ませる。次
いでプロセッサからのすべての書き込みミスデータは、
書き込みミスの結果として主メモリ14から読み込まれ
たデータと統合され、統合されたデータラインはキャッ
シュ内に用意された格納空間に格納される。
【0020】さらに別のプロセッサ34が書き込みキャ
ッシュ36に接続され、書き込みキャッシュ36はシス
テムバス12に接続される。システムバス12は新規な
型式のキャッシュメモリであり、「書き込みキャッシュ
メモリのための装置及び方法」と題するクレイグ エイ
ウォルラス、リー ホーベル、ランディ ヤングによ
る同時係属出願に完全に開示されており、その出願を参
考とされたい。書き込みキャッシュ36はその名称が示
唆するように、書き込みヒットのみをシステムバス12
から引き離しておく。プロセッサ34からのすべての読
み取りは書き込みキャッシュ36により主メモリ14に
通過される。もしもこの読み取りがヒットであると、い
かなる修正データも主メモリ14から返されるデータラ
インに統合される。書き込みキャッシュはキャッシュ無
しのプロセッサあるいはライトスルーキャッシュ付きの
プロセッサのいずれの性能も改善できる安価な方法であ
る。
【0021】このようにしてコンピューターシステム1
0は、キャッシュなしプロセッサ、ライトスルーキャッ
シュ付きプロセッサ、書き戻しキャッシュ付きプロセッ
サ、及び書き込みキャッシュ付きプロセッサの任意の混
成体を含むことができる。これらの混成体は一緒にデー
タを処理すると共に主メモリ14を共用するものであ
る。
【0022】図2を見ると、コンピューターシステム4
0がブロック線図型式で示されている。コンピューター
システム40は高速並列バスであるシステムバス42を
有する。システムバス42には主メモリ44が接続され
る。このようにして主メモリ44は、図1のコンピュー
ターシステム10と同様に、システムバス42に接続さ
れているすべてのデバイスに共通し、これらデバイスに
アクセスできる。
【0023】プロセッサ46が第一レベルキャッシュメ
モリ48に接続され、この第一レベルキャッシュメモリ
48はシステムバス42に接続される。一つ以上のプロ
セッサを各第一レベルキャッシュに接続することができ
るが、簡単のため、図2にはプロセッサ46及びキャッ
シュ48のみを示す。この第一レベルキャッシュはライ
トスルー型でも、ノン-アロケート-オン-ライト-ミス-
書き戻しキャッシュでも、アロケート-オン−ライト-ミ
ス-書き戻しキャッシュでも、あるいは書き込みキャッ
シュでもよい。従ってプロセッサ46は図1に関して説
明した任意の単一レベルプロセッサ-キャッシュ組み合
わせ体でよい。
【0024】第二プロセッサ50が第一レベルキャッシ
ュメモリ52に接続される。第一レベルキャッシュメモ
リ52は第二レベルキャッシュメモリ54に接続され、
第二レベルキャッシュメモリ54はシステムバス42に
接続される。第一及び第二レベルキャッシュメモリ5
2、54のある組み合わせは特に有利である。例えばも
しも第二プロセッサ50がカリフォルニア州サンタクラ
ラ市のインテルコーポレーション製造の80486であ
れば、これは図3に示すように同じ集積回路上に配置さ
れた強力なマイクロプロセッサおよびライトスルーキャ
ッシュを有しており、その第一レベルキャッシュはオン
-チップ ライトスルーキャッシュとなる。バス通行量を
低減するためライトスルーキャッシュを第一レベルにす
ると、第二レベルキャッシュは書き戻しキャッシュある
いは書き込みキャッシュとなりえる。
【0025】図4を見るとコンピューターシステム60
がブロック線図型式で示されている。コンピューターシ
ステム60は高速並列バスであるシステムバス62を有
する。システムバス62には主メモリ64が接続され
る。このようにして主メモリ64はシステムバス62に
接続されるすべてのデバイスに共通し、これらデバイス
にアクセスできる。これは図1及び図3のコンピュータ
ーシステム10及び40におけると同様である。
【0026】プロセッサ66が第一レベルキャッシュメ
モリ68に接続され、第一レベルキャッシュメモリ68
は第二レベルキャッシュメモリ70に接続される。第二
レベルキャッシュメモリ70はシステムバス62に接続
される。
【0027】もう一つのプロセッサ72が第一レベルキ
ャッシュメモリ74に接続され、第一レベルキャッシュ
メモリ74は第二レベルキャッシュメモリ78に接続さ
れる。第二レベルキャッシュメモリ78はシステムバス
62に接続される。図に示した以上のプロセッサ66、
72及び二組のレベルキャッシュメモリ68、70及び
74、78を三つ以上含めてもよいが、簡単のため、こ
れら二つのみを説明する。
【0028】第一及び第二レベルキャッシュメモリ6
8、70及び74、78のある組み合わせは特に有利で
ある。例えばもしもプロセッサ66、72が前記インテ
ルコーポレーション製80486であれば、これは同じ
集積回路上に図3に示す強力なマイクロプロセッサ及び
ライトスルーキャッシュを有しており、第一レベルキャ
ッシュメモリ68、74がオンチップ ライトスルーキ
ャッシュとなることができる。ライトスルーキャッシュ
メモリを第一レベルとするならば、70、78のごとき
第二レベルキャッシュメモリとしてはライト-スルー-キ
ャッシュ、ノン-アロケート-オン-ライト-ミス型式の書
き戻しキャッシュ、アロケート-オン-ライト-ミス型式
の書き戻しキャッシュ、あるいは書き込みキャッシュで
よい。プロセッサ66、72にとって有利なもう一つの
組み合わせがある。それはある型の書き戻しキャッシュ
を第一レベルキャッシュ68、74として、またある型
の書き戻しキャッシュを第二レベルキャッシュ70、7
8として、その集積回路の一部に持たせ持たせることで
ある。
【0029】
【動作】多重主プロセッサを有するコンピューターシス
テムにおいていろいろのプロセッサ-キャッシュメモリ
階層を一体的に使用することができるようにするために
は、これらキャッシュメモリのすべてと主メモリとの間
でキャッシュコヒーレンシーを与えるための手順に従わ
なければならない。この手順によりコンピューターシス
テムがキャッシュメモリ無しのプロセッサ(non-cacbe
prosessors)、関連のライトスルーキャッシュメモリ付
きプロセッサ、いずれかの型式の関連の書き戻しキャッ
シュ付きプロセッサ、関連の書き込みキャッシュ付きプ
ロセッサ、及び多重レベルキャッシュメモリ階層プロセ
ッサを一体的に作動させてデータコヒーレンシーを維持
することが可能となる。
【0030】多重プロセッサ及びそれらのいろいろのキ
ャッシュメモリを作動させるためのこの手順は一組のバ
スオペレーションを含む。これらのバスオペレーション
は任意の主プロセッサ構成体により開始される。この主
プロセッサ構成体はキャッシュメモリを含んでもよく、
含まなくてもよい。これらのバスオペレーションはキャ
ッシュ内のラインをヒットしないプロセッサの読み取
り、入出力オペレーション、任意のロックオペレーショ
ン、またはシステムバスを通る同報通信リクエストを要
求するオペレーションに応答して開始される。各バスオ
ペレーションは他の主プロセッサ構成体にそのオペレー
ションがそれらのキャッシュメモリ内のデータのコヒー
レンシーにどのように影響するかを通知する。
【0031】キャッシュなしプロセッサ構成体にはその
プロセッサに起因するするデータコヒーレンシー問題は
存在しない。そのような構成の場合、起こりえる二つの
主なカテゴリーのバスオペレーションがある。それらは
書き込み及び読み取りである。従ってオペレーションに
は次のものが含まれる。 (a)ノン-キャッシングマスターによるパーシャルラ
イン書き込み(Non-Caching Master Partial Line Writ
e)。これはキャッシュなし主プロセッサ構成体により
開始され、メモリに部分的データラインを書き込む。 (b)ノン-キャッシングマスターによるフルライン書
き込み(Non-Caching Master Full Line Write)。これ
はキャッシュなし主プロセッサ構成体により開始され、
メモリにフルデータラインを書き込む。 (c)ノン-キャッシングマスターによるパーシャルラ
イン読み取り(Non-Caching Master Partial Line Rea
d)。これはキャッシュなし主プロセッサ構成体により
開始され、メモリから部分的データラインを読み取る。 (d)ノン-キャッシングマスターによるフルライン読
み取り(Non-Caching Master Full Line Read)。これ
はキャッシュなし主プロセッサ構成体により開始され、
ライン全体をローカルにバッファできなくてもメモリか
らフルデータラインを読み取る。
【0032】キャッシュなし主プロセッサ構成体及びキ
ャッシュメモリプロセッサ構成体の両方を有するコンピ
ューターシステムにいては、キャッシュなしプロセッサ
構成体及び例えばキャッシュ化しないステータスデータ
ラインにアクセスする等のキャッシュなしオペレーショ
ンを行うキャッシュなしプロセッサ構成体は、上記四つ
のバスオペレーションを発行することができる。
【0033】ライトスルーキャッシュメモリ付きプロセ
ッサ構成体の場合、ある種のメモリコヒーレンシーデバ
イスが使用されなければならない。前述したように、ラ
イトスルーキャッシュメモリは読み取りヒットがシステ
ムバスに到達することを防止するだけである。書き込み
ヒットはライトスルーキャッシュメモリ内で更新される
が、システムバス上にも伝播する。すべての書き込みは
主メモリまで伝播されるので、ライトスルーキャッシュ
はデータラインを所有する必要がない。さらに、主メモ
リは常に各データラインの最新コピーを有する。必要と
される唯一のキャッシュコヒーレンシー機構は、別のプ
ロセッサ構成体により書き込まれるいきなるキャッシュ
内のデータラインをも無効にする機構である。かかるキ
ャッシュコヒーレンシー機構は、複数キャッシュ、すな
わちスヌーパーを基礎とするもの、集中化された無効化
サイクルを使用する主メモリを基礎とするもの、あるい
はこれらの両方を組み合わせたもの、に分布させること
ができる。
【0034】キャッシュなしプロセッサ構成体のバスオ
ペレーションはライトスルーキャッシュプロセッサ構成
体を具えたシステム内で有効である。しかしキャッシュ
なしプロセッサ構成体及びノン-キャッシングオペレー
ション、例えば「キャッシュ化しないステータスデータ
ライン」にアクセスするオペレーション、を行うキャッ
シュプロセッサ構成体が、そのようなバスオペレーショ
ンを開始することができる。
【0035】ライトスルーキャッシュメモリプロセッサ
構成体付きコンピューターシステムに加えられなければ
ならないバスオペレーションは次のとおりである。 (a)読み取り共有(Read Shared)。これはライトス
ルーキャッシュ付きプロセッサにより、そのキャッシュ
中にデータラインを読み取るため、読み取りミスの結果
として開始される。 (b)フルライン読み取り(Read Through Full Lin
e)。これは主メモリからのデータラインの読み取りで
あるが、そのデータラインはキャッシュ中に入れられな
い。すなわちデータラインはキャッシュに格納されず、
既に格納されているならキャッシュ内のデータラインは
使用も更新もされない。 (c)パーシャルラインの読み取り(Read Through Par
tial Line)。これは主メモリからの部分的データライ
ンの読み取りであるが、そのデータラインはキャッシュ
中に入れられない。すなわち部分的データラインはキャ
ッシュに格納されず、既に格納されているならキャッシ
ュ内の部分的データラインは使用も更新もされない。 (d)フルラインのライトスルー(Write Through Full
Line)。これはライトスルーキャッシュを有するプロ
セッサによる主メモリへのフルデータラインの書き込み
である。そのデータラインはそのプロセッサのライトス
ルーキャッシュ内に格納されることも格納されないこと
もある。 (e)パーシャルラインのライトスルー(Write throug
h Partial Line)。これはライトスルーキャッシュを有
するプロセッサによる主メモリへの部分的データライン
の書き込みである。その部分的データラインはそのプロ
セッサのライトスルーキャッシュ内に格納されることも
格納されないこともある。
【0036】書き戻しキャッシュメモリ付きプロセッサ
構成体の場合、ライトスルーキャッシュメモリに必要と
されるメモリコヒーレンシーデバイスに加えて、別のメ
モリコヒーレンシーデバイスを使用しなければならな
い。書き戻しキャッシュメモリは、読み取りヒット及び
書き込みヒットがシステムバスに到達することを防止す
る。書き込みヒットは書き戻しキャッシュメモリに格納
されているデータラインを更新するが、同時に修正され
たラインにマークを付ける。書き戻しキャッシュが個々
に所有しており、コンピューターシステムの残り部分に
通知することなく自由に修正できるデータラインを他の
すべてのキャッシュに対して同定することができるよう
にするため、グローバルキャッシュコヒーレンシー機構
が使用されなければならない。書き戻しキャッシュメモ
リはデータラインの有効なコピーのみを含むことができ
るので、修正したデータで置換を行ったときは常に主メ
モリを更新しなければらない。
【0037】書き戻しキャッシュメモリに使用されたキ
ャッシュコヒーレンシーは、ローカルキャッシュタグ
(local cache tags)を含む。これらのタグはいずれの
データラインがローカルに所有されているかを示すもの
である。グローバル機構もまた書き込みキャッシュのう
ちでラインを所有しているものがあればいずれが所有し
ているかを示さなければならない。
【0038】書き戻しキャッシュメモリには二つの型式
がある。それらはノン-アロケート-オン-ライト-ミス型
式とアロケート-オン-ライト-ミス型式である。いずれ
の型式もそれらのキャッシュメモリに対して共通する一
組のバスオペレーションを使用するが、各型式に固有な
一組のバスオペレーションがある。書き戻しバスオペレ
ーションには次のものが含まれる。 (a)コピーバック無効の書き込み(Write Copy-Back
Invalid)。これは修正されたステータスを持つデータ
ラインを異なるデータラインで置換した書き戻しキャッ
シュを有するプロセッサ構成体により開始される。置換
されたラインは無効の旨のマークを付けられる。当該バ
スオペレーションは置換されたデータラインを格納する
主メモリコントローラにより完了される。 (b)書き込みコピーバック共有(Write Copy--Back S
hared)。これは修正されたステータスを持つデータラ
インを異なるデータラインで置換した書き戻しキャッシ
ュを有するプロセッサ構成体により開始される。そのラ
インは共有されるので、置換されたラインはそのプロセ
ッサ構成体により無効のマークを付けられない。例え
ば、第二レベルキャッシュ内でデータラインを置換でき
るが、依然第一レベルキャッシュ内で共有されている旨
のマークを付けておくことができ、従ってシステムの観
点からすればそのデータラインは依然として共有されて
いる。このバスオペレーションは置換されたデータライ
ンを格納する主メモリコントローラにより完了される。 (c)所有データのリードスルー(Read Through Owne
d)。これは自身で現在所有するデータラインを読み取
る書き戻しキャッシュを有するプロセッサ構成体により
開始される。そのデータラインは当該システムバス上の
あるプロセッサ構成体が所有している旨マークを付けら
れていても、このオペレーションはメモリに基づくコヒ
ーレンシーシステムの主メモリコントローラに対し、そ
のコントローラがそのデータライン読み取りリクエスト
をする必要がないことを示す。 (d)所有権の書き込み(Write for Ownership)。こ
れは、共有ステータスを持つ書き戻しキャッシュライン
をデータラインへの書き込みがヒットすると、書き戻し
キャッシュを有するプロセッサ構成体により開始され
る。そのような場合、所有権をリクエストするデータが
システムバスを通して主メモリに書き込まれる。主メモ
リがこのデータを受領するとき、リクエストをしている
プロセッサ構成体がそのデータラインのステータスを、
当該書き戻しキャッシュにより所有されている、とのス
テータスに変更する。これで共通する組の書き戻しバス
オペレーションが終了する。
【0039】ノン-アロケート-オン-ライト-ミス書き戻
しキャッシュの場合は、さらに二つの追加使用されるバ
スオペレーションがある。それらは次の二つである。 (a)フルデータのライトスルー(Write Through Ful
l)。これはもしもノン-アロケート-オン-ライト-ミス
書き戻しキャッシュを有するプロセッサ構成体があるデ
ータラインを主メモリへの書き込みを行うと、その同じ
データラインがそのローカルキャッシュ内に格納されて
いても格納されてなくても、そのプロセッサ構成体によ
り開始される。 (b)パーシャルデータのライトスルー(Write Throug
h Partial)。これはもしもノン-アロケート-オン-ライ
ト-ミス書き戻しキャッシュを有するプロセッサ構成体
があるパーシャルデータラインを主メモリへの書き込み
を行うと、その同じパーシャルデータラインがそのロー
カルキャッシュ内に格納されていても格納されてなくて
も、そのプロセッサ構成体により開始される。
【0040】アロケート-オン-ライト-ミス書き戻しキ
ャッシュの場合、「所有権読み取り」と呼ばれるもう一
つ追加すべきバスオペレーションがある。 (a)所有権読み取り(Read for Ownership)。これは
アロケート-オン-ライト-ミス書き戻しキャッシュを有
するプロセッサ構成体により、書き込みミスが生じ、そ
の書き込みミスがシステムバスを伝播することを防止す
る場合に、開始される。このときは主メモリからの読み
取りが行われ、そのデータが返されると当該書き込みミ
スデータがそのキャッシュ内でローカルに統合され、格
納される。そのラインのキャッシュステータスは直ちに
修正され、既存のメモリタグはこのオペレーションを開
始したプロセッサ構成体がその所有権者であることを示
すように設定される。この所有権読み取りオペレーショ
ンは常に主メモリからフルデータラインが返されること
を期待する。
【0041】書き込みキャッシュメモリ付きプロセッサ
構成体は、そのメモリコヒーレンシーデバイスの条件が
書き戻しキャッシュの場合と非常に類似している。書き
込みメモリは書き込みヒットがシステムバスに到達する
ことを防止するのみなので、従って書き戻しキャッシュ
よりも簡単である。書き込みヒットは書き込みキャッシ
ュメモリに格納されているラインデータを更新し、その
ラインに修正した旨のマークを付ける。所有されている
データラインをすべてのキャッシュを考慮して同定する
ため、書き戻しキャッシュの場合と同様にグローバルキ
ャッシュコヒーレンシー機構が使用されなければならな
い。所有権ある書き込みキャッシュメモリはラインデー
タの有効なコピーのみを含むことができるので、書き込
みキャッシュは修正したデータラインを置換する度に主
メモリを更新しなければならない。
【0042】他方、読み取りは主メモリに指向される
が、もしも読み取りがローカル書き込みキャッシュ内に
格納されているデータラインをたまたまヒットすると、
上記修正されたデータが主メモリから返されたデータと
統合される。
【0043】書き込みキャッシュメモリに使用されるキ
ャッシュコヒーレンシーは、ローカルキャッシュタグ及
びグローバル機構を含む。ローカルキャッシュタグはい
ずれのデータラインがローカルに所有されているかを示
すものであり、グローバル機構はラインがキャッシュに
より所有されているとすればいずれのキャッシュに所有
されているかを示すものである。書き込みキャッシュ付
きプロセッサ構成体を作動させるに必要なバスオペレー
ションには次のものが含まれる。 (a)コピーバック無効の書き込み(Write Copy-Back
Invalid)。これは修正されたステータスを持つデータ
ラインを異なるデータラインで置換する書き戻しキャッ
シュまたは書き込みキャッシュを具えたプロセッサ構成
体により開始される。置換されたラインは無効のマーク
を付けられ、このバスオペレーションはその置換データ
ラインを格納する主メモリコントローラにより完了され
る。 (b)共有コピーバックの書き込み(Write Copy-Back
Shared)。これは修正されたステータスを持つデータラ
インを異なるデータラインで置換する書き戻しキャッシ
ュまたは書き込みキャッシュを具えたプロセッサ構成体
により開始される。そのラインは共有されているので、
置換されたラインはそのプロセッサ構成体により無効の
マークを付けられない。例えば、第二レベルキャッシュ
内のデータラインを置換することができるが、依然とし
て第一レベルキャッシュ内では共有されている旨マーク
されていてもよく、従ってシステムの観点からすればそ
のデータラインは依然共有される。このバスオペレーシ
ョンはその置換されたデータラインを格納する主メモリ
コントローラにより完了される。 (c)所有データのリードスルー(Read Through Owne
d)。これは自身で現在所有するデータラインを読み取
る書き戻しキャッシュまたは書き込みキャッシュを具え
たプロセッサ構成体により開始される。これは、そのデ
ータラインがシステムバス上のあるプロセッサ構成体に
より所有されている旨のマークが付けられているにもか
かわらず、メモリに基づくコヒーレンシーシステムの主
メモリコントローラはそのデータライン読み取りリクエ
ストをする必要がない、ということをそのコントローラ
に対して示すオペレーションである。 (d)パーシャルデータのライトスルー(Write Throug
h Partial)。これはノン-アロケート−オン-ライト-ミ
ス-書き戻しキャッシュまたは書き込みキャッシュを具
えたプロセッサ構成体により、それが主メモリへのパー
シャルでたを書き込むとき、開始される。これはそのロ
ーカルキャッシュ内に同じパーシャルデータラインが格
納されていてもいなくても開始される。
【0044】これらすべてのバスオペレーションがいろ
いろの型式のキャッシュメモリ構成およびコヒーレンシ
ー機構の下で作動することができる能力をコンピュータ
ーシステムに与えるので、このシステムはライトスルー
キャッシュ、ノン-アロケート-オン-ライト-ミス-書き
戻しキャッシュ、アロケート-オン-ライト-ミス-書き戻
しキャッシュ、書き込みキャッシュを有するプロセッサ
キャッシュ構成体、およびキャッシュ無しのプロセッサ
構成体を含むことができる。さらにまた多重レベルキャ
ッシュ構成体たとえばライト-スルー第一レベルキャッ
シュおよび書き戻し第二レベルキャッシュ、ライトスル
ー第一レベルキャッシュおよび書き込み第二レベルキャ
ッシュ等を、上記オペレーションの下に同一システム内
で一つ以上の上記単一レベルキャッシュ構成体と結合さ
せ、動作させることができる。
【0045】
【効果】以上に開示したように、本発明はいろいろの型
式のプロセッサキャッシュメモリを有する多重プロセッ
サ構成体を混在させたまま含むことのできる新規なコン
ピューターシステムおよびそのようなコンピューターシ
ステムのオペレーションの方法を与えることができる。
【0046】本発明は任意の型式のプロセッサと使用で
きるが、オン-チップライト-スルーキャッシュメモリま
たはオン-チップ-書き戻しキャッシュメモリを有するプ
ロセッサに関して使用するとき、非常に有利である。本
発明は特に好ましい実施例に関して例示し、説明した
が、当業者は本発明のいろいろの設計変更、用途変更が
可能であることが了解できよう。例えば本発明は主メモ
リがN-ポート付きのものであるとき、主メモリがすべ
てのプロセッサに共用できるようにNシステムバスを具
えたシステムで実現できる。
【図面の簡単な説明】
【図1】システムバスを介して共通の主メモリに接続さ
れた、キャッシュメモリ無しの第一主メモリプロセッサ
とキャッシュメモリを具えた少なくとも一つ以上の他の
主プロセッサとを有するコンピューターシステムのブロ
ック線図である。
【図2】システムバスを介して共通の主メモリに接続さ
れた、第一キャッシュメモリ付き第一主プロセッサと第
二キャッシュメモリを第一レベルに具えるとともに第三
キャッシュメモリを第二レベルに備えた第二主プロセッ
サとを有するコンピューターシステムのブロック線図で
ある。
【図3】主プロセッサがそれと同一の集積回路上に第一
レベルキャッシュを有する場合の主プロセッサのブロッ
ク線図である。
【図4】第一レベルの第一キャッシュメモリおよび第二
レベルの第二キャッシュメモリを具えた第一主プロセッ
サと、第一レベルの第三キャッシュメモリおよび第二レ
ベルの第四キャッシュメモリを具えた第二主プロセッサ
とを有するコンピューターシステムのブロック線図であ
る。
【符号の説明】
10 コンピューターシステム 12 システムバス 40 コンピューターシステム 42 システムバス 50 第二プロセッサ 60 コンピューターシステム 62 システムバス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジミー ディー.パイク アメリカ合衆国 29212 サウス カロラ イナ、コロンビア、ファイアブランチ ロ ード 119 (72)発明者 テリー エス.ストリックランド アメリカ合衆国 29607 サウス カロラ イナ、グリーンヴィル、ダブリュー.バト ラー ロード 1011、アパートメント 718 (72)発明者 アーサー エフ.コウチクロフト,ジュニ ア アメリカ合衆国 29170 サウス カロラ イナ、ウエスト コロンビア、ウィトン ロード 3209 (72)発明者 ジーン エフ.ヤング アメリカ合衆国 29073 サウス カロラ イナ、レキシントン、スイート スプリン グス ロード 3412

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】データ格納用の主メモリとデータ通信のた
    め該主メモリに接続されたシステムバスとを具えたコン
    ピューターシステムであって、 該主メモリのアドレスに、また主メモリのアドレスか
    ら、関連のキャッシュの助け無しに直接に読み取られ及
    び書き込まれるデータを処理する第一主プロセッサと、 該主メモリのアドレスに、また主メモリのアドレスか
    ら、第一関連キャッシュの助けを得て読み取られ及び書
    き込まれるデータを処理する第二主プロセッサとを含む
    ことを特徴とするコンピューターシステム。
  2. 【請求項2】データ格納用の主メモリとデータ通信のた
    め該主メモリに接続されたシステムバスとを具えたコン
    ピューターシステムであって、 該主メモリのアドレスに、また主メモリのアドレスか
    ら、関連のキャッシュの助け無しに直接に読み取られ及
    び書き込まれるデータを処理する第一主プロセッサと、 該主メモリのアドレスに、また主メモリのアドレスか
    ら、第一レベルの第一キャッシュ及びこれに関連された
    第二レベルの第二キャッシュの助けを得て読み取られ及
    び書き込まれるデータを処理する第二の主プロセッサと
    を含むことを特徴とするコンピューターシステム。
JP4266885A 1991-09-18 1992-09-10 複数キャッシュメモリ型式を含む多重プロセッサコンピューターシステム Pending JPH05210639A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US762100 1985-08-02
US76210091A 1991-09-18 1991-09-18

Publications (1)

Publication Number Publication Date
JPH05210639A true JPH05210639A (ja) 1993-08-20

Family

ID=25064135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4266885A Pending JPH05210639A (ja) 1991-09-18 1992-09-10 複数キャッシュメモリ型式を含む多重プロセッサコンピューターシステム

Country Status (2)

Country Link
EP (1) EP0533373A3 (ja)
JP (1) JPH05210639A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323717B2 (en) 2011-09-19 2016-04-26 Samsung Electronics Co., Ltd. Processor and system for processing stream data at high speed

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US6115795A (en) 1997-08-06 2000-09-05 International Business Machines Corporation Method and apparatus for configurable multiple level cache with coherency in a multiprocessor system
US9116738B2 (en) 2012-11-13 2015-08-25 International Business Machines Corporation Method and apparatus for efficient execution of concurrent processes on a multithreaded message passing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0407067A3 (en) * 1989-07-06 1992-07-29 Digital Equipment Corporation Cache support architecture
US5136700A (en) * 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories
JP2708943B2 (ja) * 1990-08-08 1998-02-04 三菱電機株式会社 キャッシュメモリ制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323717B2 (en) 2011-09-19 2016-04-26 Samsung Electronics Co., Ltd. Processor and system for processing stream data at high speed

Also Published As

Publication number Publication date
EP0533373A3 (en) 1993-04-21
EP0533373A2 (en) 1993-03-24

Similar Documents

Publication Publication Date Title
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US5303362A (en) Coupled memory multiprocessor computer system including cache coherency management protocols
US6345342B1 (en) Cache coherency protocol employing a read operation including a programmable flag to indicate deallocation of an intervened cache line
EP0945805B1 (en) A cache coherency mechanism
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US5671391A (en) Coherent copyback protocol for multi-level cache memory systems
US7003632B2 (en) Method and apparatus for scalable disambiguated coherence in shared storage hierarchies
US6760819B2 (en) Symmetric multiprocessor coherence mechanism
US6976131B2 (en) Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system
US7310708B2 (en) Cache system with groups of lines and with coherency for both single lines and groups of lines
US20050188159A1 (en) Computer system supporting both dirty-shared and non dirty-shared data processing entities
US6321306B1 (en) High performance multiprocessor system with modified-unsolicited cache state
JPH07253928A (ja) 2重化キャッシュ・スヌープ機構
US7895400B2 (en) Hybrid cache coherence using fine-grained hardware message passing
JPH02141845A (ja) マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
US6345341B1 (en) Method of cache management for dynamically disabling O state memory-consistent data
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
US5713004A (en) Cache control for use in a multiprocessor to prevent data from ping-ponging between caches
US8332592B2 (en) Graphics processor with snoop filter
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
US20050080998A1 (en) Method and apparatus for coherent memory structure of heterogeneous processor systems
Al-Waisi et al. An overview of on-chip cache coherence protocols
US6397303B1 (en) Data processing system, cache, and method of cache management including an O state for memory-consistent cache lines
US6345344B1 (en) Cache allocation mechanism for modified-unsolicited cache state that modifies victimization priority bits