JPH0247756A - 多重プロセツサ・システム用書込み共用キヤツシユ回路 - Google Patents
多重プロセツサ・システム用書込み共用キヤツシユ回路Info
- Publication number
- JPH0247756A JPH0247756A JP63189562A JP18956288A JPH0247756A JP H0247756 A JPH0247756 A JP H0247756A JP 63189562 A JP63189562 A JP 63189562A JP 18956288 A JP18956288 A JP 18956288A JP H0247756 A JPH0247756 A JP H0247756A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- ram
- bus
- signal line
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 3
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 230000005764 inhibitory process Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache 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)
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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
技術分野
本発明は、−船釣にはディジタル・データ処理の領域に
関するものであり、特に、多重プロセッサ・システムの
キャッシュ・メモリの回路の改良に関する。
関するものであり、特に、多重プロセッサ・システムの
キャッシュ・メモリの回路の改良に関する。
発明の背景
典型的にバスを基本とする多重プロセッサ・システムに
おいては、プロセッサがしばしば命令及びデータ用のメ
モリをアクセスする、必要性のため、バス帯域幅は、少
数のプロセッサによりその限度を超過する。この問題を
克服するため、キャッシュ・メモリは、各プロセッサに
組み合せられ、プロセッサとシステム・バスの間のバッ
ファとして作用する。理想的には、キャッシュ(c a
c he)は大部分のランダム・アクセス・メモリ(
RAM)のアクセスに“ビット”し、バスは、時間の極
めて僅かの部分のみ使用されるだけである。
おいては、プロセッサがしばしば命令及びデータ用のメ
モリをアクセスする、必要性のため、バス帯域幅は、少
数のプロセッサによりその限度を超過する。この問題を
克服するため、キャッシュ・メモリは、各プロセッサに
組み合せられ、プロセッサとシステム・バスの間のバッ
ファとして作用する。理想的には、キャッシュ(c a
c he)は大部分のランダム・アクセス・メモリ(
RAM)のアクセスに“ビット”し、バスは、時間の極
めて僅かの部分のみ使用されるだけである。
多重プロセッサ・システムにおけるキャッシュ・メモリ
の使用に関連する問題は、データの整合性である。ある
プロセッサが、他のプロセッサのキャッシュに通報せず
自分のキャッシュに書込む場合には、データは不一致と
なるであろう。例えば以下のようなことが考えられる。
の使用に関連する問題は、データの整合性である。ある
プロセッサが、他のプロセッサのキャッシュに通報せず
自分のキャッシュに書込む場合には、データは不一致と
なるであろう。例えば以下のようなことが考えられる。
プロセッサ“1”は、全体の(qlobal)RAMよ
りデータ・ブロック′A”を読出し、それを蓄積する(
c a c h e)。それから、そのプロセッサはそ
のブロックに書込み、自分のキャッシュだけを更新する
。それから、プロセッサ“2”は、全体のRAMより同
じブロック@A”を読出し、それを蓄積する(c a
c h e)。プロセッサ″2″は、プロセッサ“1″
とは異なるA”キャッシュが同一のデータ・ブロックを
保持し、プロセッサの片方のみが自分のキャッシュのそ
のブロックを更新すれば、他の方法でもキャッシュは不
一致になることもある。両君すると、キャッシュ整合性
の問題が生ずる。
りデータ・ブロック′A”を読出し、それを蓄積する(
c a c h e)。それから、そのプロセッサはそ
のブロックに書込み、自分のキャッシュだけを更新する
。それから、プロセッサ“2”は、全体のRAMより同
じブロック@A”を読出し、それを蓄積する(c a
c h e)。プロセッサ″2″は、プロセッサ“1″
とは異なるA”キャッシュが同一のデータ・ブロックを
保持し、プロセッサの片方のみが自分のキャッシュのそ
のブロックを更新すれば、他の方法でもキャッシュは不
一致になることもある。両君すると、キャッシュ整合性
の問題が生ずる。
キャッシュ整合性の問題に対しては、従来技術による解
決策がいくつか存在する。これらの各解決策は、“書込
み”の全部または1部を全メモリにすっかり書込むこと
により問題解決を試みる。
決策がいくつか存在する。これらの各解決策は、“書込
み”の全部または1部を全メモリにすっかり書込むこと
により問題解決を試みる。
これら全書込み(write−throughニライト
スルー)は、他のキャッシュに通知し同じブロックを無
効にするのに使用される。しかしながら、解決を試みる
方策の各々は、キャッシュ・ヒツト比及びバス利用度に
影響する1つまたはそれ以上の問題を有する。
スルー)は、他のキャッシュに通知し同じブロックを無
効にするのに使用される。しかしながら、解決を試みる
方策の各々は、キャッシュ・ヒツト比及びバス利用度に
影響する1つまたはそれ以上の問題を有する。
従来技術の解決策は3種類に分類できる。即ち、(11
ライト・スルー(全書込み)、(2)グローバル・ディ
レクトリ (総括的辞書:qlobal direc
tory)及び(3)ライト・インバリデート(書込み
無効)。
ライト・スルー(全書込み)、(2)グローバル・ディ
レクトリ (総括的辞書:qlobal direc
tory)及び(3)ライト・インバリデート(書込み
無効)。
ライト・スルー構成は(scheme)は、実現は最も
簡単であるが、しかし、その有効性はまた最小である。
簡単であるが、しかし、その有効性はまた最小である。
この機構では全“書込み”は、キャッシュを通じ全RA
Mに向けられる。すべての他のキャッシュ制御器はバス
(即ちスノープ)をモニタし、いかなる6書込み”でも
それらのキャッシュでヒツトすれば、その対応エントリ
(項目)を無効にする。その結果の“書込み”に不一
致となるデータは全て、無効とされる。かくして、整合
性問題は解決される。しかしながら、全ての“書込み”
は全(グローバル)RAMに通される故に、バス利用度
は実質的に増加する。全アクセスの約15%は“書込み
”であり、全“書込み”はミスとしてバス上をライト・
スルーする故に、この型の機構のキャッシュの最大ヒツ
ト率は約85%である。ヒツト率が約75%〜85%で
あり、バス・アクセス・タイムをキャッシュ・アクセス
・タイムの2倍と仮定すれば、この型の機構のバス利用
度は、各プロセッサにたいし約30%より40%であろ
う。そこで、2個より3個のプロセンサのみが、バスの
帯域幅の限度が越えられる前に、このバスを利用できる
ことになる。高バス競合のため、このライト・スルー機
構は低性能を与え、4個またはそれ以上のプロセッサを
有する多重プロセッサ・システムでは受入れられない。
Mに向けられる。すべての他のキャッシュ制御器はバス
(即ちスノープ)をモニタし、いかなる6書込み”でも
それらのキャッシュでヒツトすれば、その対応エントリ
(項目)を無効にする。その結果の“書込み”に不一
致となるデータは全て、無効とされる。かくして、整合
性問題は解決される。しかしながら、全ての“書込み”
は全(グローバル)RAMに通される故に、バス利用度
は実質的に増加する。全アクセスの約15%は“書込み
”であり、全“書込み”はミスとしてバス上をライト・
スルーする故に、この型の機構のキャッシュの最大ヒツ
ト率は約85%である。ヒツト率が約75%〜85%で
あり、バス・アクセス・タイムをキャッシュ・アクセス
・タイムの2倍と仮定すれば、この型の機構のバス利用
度は、各プロセッサにたいし約30%より40%であろ
う。そこで、2個より3個のプロセンサのみが、バスの
帯域幅の限度が越えられる前に、このバスを利用できる
ことになる。高バス競合のため、このライト・スルー機
構は低性能を与え、4個またはそれ以上のプロセッサを
有する多重プロセッサ・システムでは受入れられない。
グローバル・デイクレクトリ (辞書)機構は、主メモ
リ及びメモリ制御器の各ブロックに対し余分のビットを
使用し、いくつのプロセッサが各ブロックをキャッシュ
・ (蓄積)しているかと云うことに関する情報を維持
する。この機構の主な問題は、大きい全RAMは高価な
ことである。全RAMの各32ビツト・ブロックに対し
2個の余分のビットが必要とされ、メモリ制御器ハード
ウェアもまた要求される。これら余分の費用のため、“
ライト・スルー機構以上に性能向上があるとしても、そ
れは僅かである。。
リ及びメモリ制御器の各ブロックに対し余分のビットを
使用し、いくつのプロセッサが各ブロックをキャッシュ
・ (蓄積)しているかと云うことに関する情報を維持
する。この機構の主な問題は、大きい全RAMは高価な
ことである。全RAMの各32ビツト・ブロックに対し
2個の余分のビットが必要とされ、メモリ制御器ハード
ウェアもまた要求される。これら余分の費用のため、“
ライト・スルー機構以上に性能向上があるとしても、そ
れは僅かである。。
“ライト・インバリデート”機構は、他のキャッシュに
在るかもしれないブロックを無効にするためにのみ全書
込み(ライト・スルー)する。この機構の1つの可能な
実現は、存在する同じコピーを無効にするため第1“書
込み”でライト・スルーを演することであろうがしかし
、つぎの“書込み”はキャッシュにのみ書込まれる。新
問題はこの変更で生ずる。“書込み”がキャッシュに対
してのみである時には、そのブロックは“ダーティ”に
なる(それは、キャッシュ内において全RAM内で同じ
でない)。他のプロセッサがそのブロックを要求すれば
、保有プロセッサはRAMを抑止し、そのブロック自体
を供給するか、または、要求プロセッサを停止し、全R
AMにそのブロックを書込みし、それから、要求プロセ
ッサに再びブロックを要求させるようにしなければなら
ない。
在るかもしれないブロックを無効にするためにのみ全書
込み(ライト・スルー)する。この機構の1つの可能な
実現は、存在する同じコピーを無効にするため第1“書
込み”でライト・スルーを演することであろうがしかし
、つぎの“書込み”はキャッシュにのみ書込まれる。新
問題はこの変更で生ずる。“書込み”がキャッシュに対
してのみである時には、そのブロックは“ダーティ”に
なる(それは、キャッシュ内において全RAM内で同じ
でない)。他のプロセッサがそのブロックを要求すれば
、保有プロセッサはRAMを抑止し、そのブロック自体
を供給するか、または、要求プロセッサを停止し、全R
AMにそのブロックを書込みし、それから、要求プロセ
ッサに再びブロックを要求させるようにしなければなら
ない。
このスノープ(s n o o p)要求は長たらしく
、また、多くのバス・アクセスを用いるが、キャッシュ
整合性維持のために必要である。
、また、多くのバス・アクセスを用いるが、キャッシュ
整合性維持のために必要である。
他の1ライト・インバリデート”変形は、第1書込みが
要求される回数を減少するように発展された。例えば、
カリフォルニア大学バークレーにて開発されたルーチン
は、′所有権(owners h i p)の概念を導
入した。バークレー機構は2種の読出しく“共用読出し
”及び“所有のための読出し”)及び2種の書込み(“
無効のための書込み”及び“無効のない書込み”)を含
み、バス利用度を減少する。バークレー・ルーチンの問
題は、データが読出され専用としてキャッシュされれば
、第1“書込み”だけが除去されうるであろうと云うこ
とである。ブロックが共用さ七ケイ限り、他のキャッシ
ュの中のブロックの潜在能力を無効にするため、第1書
込みはなお要求されるであろう。さらにまた、いつデー
タが共用であるか、または、いつそれが専用であるか決
定可能な、カスタム・コンパイラが要求される。
要求される回数を減少するように発展された。例えば、
カリフォルニア大学バークレーにて開発されたルーチン
は、′所有権(owners h i p)の概念を導
入した。バークレー機構は2種の読出しく“共用読出し
”及び“所有のための読出し”)及び2種の書込み(“
無効のための書込み”及び“無効のない書込み”)を含
み、バス利用度を減少する。バークレー・ルーチンの問
題は、データが読出され専用としてキャッシュされれば
、第1“書込み”だけが除去されうるであろうと云うこ
とである。ブロックが共用さ七ケイ限り、他のキャッシ
ュの中のブロックの潜在能力を無効にするため、第1書
込みはなお要求されるであろう。さらにまた、いつデー
タが共用であるか、または、いつそれが専用であるか決
定可能な、カスタム・コンパイラが要求される。
発明の要約
本発明は、複数のキャッシュ制御器の間の連絡のため特
別のバス・ライン及び対応論理を利用する多重プロセッ
サシステムのキャッシュ回路に閏。
別のバス・ライン及び対応論理を利用する多重プロセッ
サシステムのキャッシュ回路に閏。
/お
その時点でプロセッサ間に共用されない全部のライト・
スルーの除去を可能にする。
スルーの除去を可能にする。
データは共用されるか、また、データは共用できるにし
ても、その時点ではないことを決定する特別のコンパイ
ラは何も要せず、書込み共用ルーチンは、まだ、データ
を“プライベート(私的専用:private)(又は
1オンリ(only)”として記録することが可能であ
る。
ても、その時点ではないことを決定する特別のコンパイ
ラは何も要せず、書込み共用ルーチンは、まだ、データ
を“プライベート(私的専用:private)(又は
1オンリ(only)”として記録することが可能であ
る。
そこで、本発明の目的は、バス・アクセスを減少し、多
方データ整合性を確保する多重プロセッサ・システムの
ための新規かつ改良されたキャッシュ回路を提供するこ
とである。
方データ整合性を確保する多重プロセッサ・システムの
ための新規かつ改良されたキャッシュ回路を提供するこ
とである。
本発明の他の目的は、特別のコンパイラを必要とせずバ
ス・アクセスを減少する多重プロセッサ・システムのた
めの新規かつ改良されたキャッシュ回路を提供すること
である。
ス・アクセスを減少する多重プロセッサ・システムのた
めの新規かつ改良されたキャッシュ回路を提供すること
である。
本発明のこれら及び他の目的は、添付の明細書、特許請
求の範囲及び図面を考慮すれば、当業技術者には明確と
なるであろう。
求の範囲及び図面を考慮すれば、当業技術者には明確と
なるであろう。
発明の概要
多重プロセッサ・システム用の“書込み共用”キャッシ
ュ回路は、システム全体のデータ整合性を維持し、シス
テムのキャッシュの間の追加バス・ラインを利用し、ま
た、キャッシュ相互間の連結を高めるための追加論理を
利用することにより、非本質的なバス・アクセスを除外
する。データが“共用”のラベルを付けられる時には、
データはシステム・バスにのみライト・スルーされる。
ュ回路は、システム全体のデータ整合性を維持し、シス
テムのキャッシュの間の追加バス・ラインを利用し、ま
た、キャッシュ相互間の連結を高めるための追加論理を
利用することにより、非本質的なバス・アクセスを除外
する。データが“共用”のラベルを付けられる時には、
データはシステム・バスにのみライト・スルーされる。
書込みミスは“無効にする”サイクルにてシステム・バ
ス上で一度だけ読出され、それから、それは要求するキ
ャッシュにのみ書込まれる。
ス上で一度だけ読出され、それから、それは要求するキ
ャッシュにのみ書込まれる。
好ましい実施例の説明
第1図を参照するに、lOと指定された多重プロセッサ
・システムの構成図が図示される。そのシステム10は
、システム・バス14により一連のCPU16に接続さ
れる全RAM12を持つ。
・システムの構成図が図示される。そのシステム10は
、システム・バス14により一連のCPU16に接続さ
れる全RAM12を持つ。
一連のCPU16の各々は、それに関連するキャッシュ
・メモリ22を有する。キャッシュ・メモリ22は、共
用(SHARED)バス・ライン24及びINV(無効
にする)バス・ライン26の両方により相互接続される
。キャッシュ・メモリ22は、INHIBIT(抑止)
バス・ライン18及びTCOMPパスライン20により
RAMI2へ接続される。
・メモリ22を有する。キャッシュ・メモリ22は、共
用(SHARED)バス・ライン24及びINV(無効
にする)バス・ライン26の両方により相互接続される
。キャッシュ・メモリ22は、INHIBIT(抑止)
バス・ライン18及びTCOMPパスライン20により
RAMI2へ接続される。
5HAREDバス・ライン24はオープン・コレクタ・
ラインであり、どのキャッシュ制御器(第2図のエレメ
ント30)もそれを低に駆動しない時には、高にされる
。他のライト・バック機能のように各プロセッサに関連
するキャッシュ制御器は、バス上のあらゆるアクセスを
モニタ(スノーブ)する。スノープがヒツトしたら(即
ち、ある他のプロセッサが、このスノープするキャッシ
ュで有効なあるデータを要求していれば)ヒツト・キャ
ッシュ制御器は5HAREDバス・ライン24を主張す
る。要求するプロセッサは、そこで、そのデータ・ブロ
ックを“共用”とマーク(mark)する。要求するプ
ロセッサがそこでそのブロックに書込むとしたら、その
ブロックの全ての他のコピーを無効にするように、それ
はライト・スルーしなければならない。しかしながら、
5HAREDバス・ライン24が読出しを主張しなけれ
ば、データは1オンリ” (o n 1 y)とマーク
され、以下の“書込み”はライト・スルーされない。
ラインであり、どのキャッシュ制御器(第2図のエレメ
ント30)もそれを低に駆動しない時には、高にされる
。他のライト・バック機能のように各プロセッサに関連
するキャッシュ制御器は、バス上のあらゆるアクセスを
モニタ(スノーブ)する。スノープがヒツトしたら(即
ち、ある他のプロセッサが、このスノープするキャッシ
ュで有効なあるデータを要求していれば)ヒツト・キャ
ッシュ制御器は5HAREDバス・ライン24を主張す
る。要求するプロセッサは、そこで、そのデータ・ブロ
ックを“共用”とマーク(mark)する。要求するプ
ロセッサがそこでそのブロックに書込むとしたら、その
ブロックの全ての他のコピーを無効にするように、それ
はライト・スルーしなければならない。しかしながら、
5HAREDバス・ライン24が読出しを主張しなけれ
ば、データは1オンリ” (o n 1 y)とマーク
され、以下の“書込み”はライト・スルーされない。
“共用”の場合には、読出し及び書込みデータは、前に
説明されたライト・バック機構と同じ多くのサイクルを
必要とする。しかし“非共用”の場合には、システム1
0はシステム・バスのアクセスを1回少なく使用する。
説明されたライト・バック機構と同じ多くのサイクルを
必要とする。しかし“非共用”の場合には、システム1
0はシステム・バスのアクセスを1回少なく使用する。
他のキャッシュ22がいづれも要求データ・ブロックを
含まないとすれば、要求するプロセッサは新データを1
オンリ”とマークするであろう。そこでそのプロセッサ
16がそのブロックを書込むときは、プロセッサはライ
ト・スル−はしないものである。それは自分のキャッシ
ュにのみ書込み、他のバス・サイクルは用いないであろ
う。
含まないとすれば、要求するプロセッサは新データを1
オンリ”とマークするであろう。そこでそのプロセッサ
16がそのブロックを書込むときは、プロセッサはライ
ト・スル−はしないものである。それは自分のキャッシ
ュにのみ書込み、他のバス・サイクルは用いないであろ
う。
上述の従来技術のシステムは、データが共用と仮定して
それを読出し、常に一度はそれをライト・スルーする。
それを読出し、常に一度はそれをライト・スルーする。
本発明においてはシステム10は、5HAREDバス・
ライン24に供給されるキャッシュ間連絡により、各デ
ータ・ブロックが共用が否かを知るので、“共用”デー
タに対しライト・スルーするだけである。′非共用”デ
ータのライト・スルーは、5HAREDバス・ライン2
4の使用により除去される。
ライン24に供給されるキャッシュ間連絡により、各デ
ータ・ブロックが共用が否かを知るので、“共用”デー
タに対しライト・スルーするだけである。′非共用”デ
ータのライト・スルーは、5HAREDバス・ライン2
4の使用により除去される。
INV(無効にする)バス・ライン26は、また、不必
要なバス・アクセスを除去する。ライン26は、また、
オープン・コレクタであり、ライト・ミスの間使用され
る。若し、データ・プロッタへの第一アクセスが、読出
しの代りに書込みであれば、データ・ブロックはキャッ
シュ22に書込まれる前に、全RAM12より読出され
なければならないだろう。書込みの大きさがブロックの
大きさより小さければ(例えば、1バイトのみ書込み)
、書込みに影響されないブロックの部分は第1に書込ま
れるべきで、そこでキャッシュ内の全ブロックは正しい
であろう。例えば、CPUl6が1バイトの書込を実行
しているとすれば、そのキャッシュ22は全ブロックに
おいて第1読出しをしなければならず、それからそのバ
イトをCPU16に書込まなければならない。そのブロ
ックがキャッシュ−誠→22への第1読出でない場合に
は、全ブロックではなく書込みバイトのみが、キャッシ
ュ22で有効となるであろう。
要なバス・アクセスを除去する。ライン26は、また、
オープン・コレクタであり、ライト・ミスの間使用され
る。若し、データ・プロッタへの第一アクセスが、読出
しの代りに書込みであれば、データ・ブロックはキャッ
シュ22に書込まれる前に、全RAM12より読出され
なければならないだろう。書込みの大きさがブロックの
大きさより小さければ(例えば、1バイトのみ書込み)
、書込みに影響されないブロックの部分は第1に書込ま
れるべきで、そこでキャッシュ内の全ブロックは正しい
であろう。例えば、CPUl6が1バイトの書込を実行
しているとすれば、そのキャッシュ22は全ブロックに
おいて第1読出しをしなければならず、それからそのバ
イトをCPU16に書込まなければならない。そのブロ
ックがキャッシュ−誠→22への第1読出でない場合に
は、全ブロックではなく書込みバイトのみが、キャッシ
ュ22で有効となるであろう。
書込みミスは、実は、読出し一書込みシーケンスである
故に、それはシステム・バス14の2サイクルを必要と
する。第1サイクルはデータの読出しに使用されるであ
ろうし、また第2サイクルは共用ブロックを無効にする
ため必要とされるであろう。システム・バス14のこの
第2アクセスを除去するため、INVバス・ライン26
は使用される。INVバス・ライン26は、読出し一書
込みシーケンスの読出し部分の間、共用ブロックはどれ
でも全部の無効を主張する。そこで“書込み”は、要求
するキャッシュ22のみに書込まれ、そのブロックは“
ダーティ(d i r t y)”としてセットされる
。
故に、それはシステム・バス14の2サイクルを必要と
する。第1サイクルはデータの読出しに使用されるであ
ろうし、また第2サイクルは共用ブロックを無効にする
ため必要とされるであろう。システム・バス14のこの
第2アクセスを除去するため、INVバス・ライン26
は使用される。INVバス・ライン26は、読出し一書
込みシーケンスの読出し部分の間、共用ブロックはどれ
でも全部の無効を主張する。そこで“書込み”は、要求
するキャッシュ22のみに書込まれ、そのブロックは“
ダーティ(d i r t y)”としてセットされる
。
TCOMP (転送完了)バス・ライン20は、全部の
受信キャッシュ22がそのデータ転送スノーブを完了し
たことを信号するため使用される。
受信キャッシュ22がそのデータ転送スノーブを完了し
たことを信号するため使用される。
例えば、システム10のあらゆるキャッシュ・スノーブ
は勿論全RAM12は、すべてのバス・アクセスごとに
転送完了を信号するTCOMP信号の権利を主張しなけ
ればならない。
は勿論全RAM12は、すべてのバス・アクセスごとに
転送完了を信号するTCOMP信号の権利を主張しなけ
ればならない。
5HAREDバス・ライン24及びINVライン26は
、複数のキャッシュ22の間の調整のため使用される。
、複数のキャッシュ22の間の調整のため使用される。
INHIBIT(抑止)ライン18は、各個キャッシュ
22及び全RAM12の調整に使用される。そしてTC
OMPライン20は、全受信ユニットが転送を完了した
のを信号するようにシステム中で使用される。全プロセ
ッサ16に関係するキャッシュ制御器(例えば、第2図
の30)は、5HARED (共用)、INV、及びT
COMPラインを駆動及び受信する論理を含み、またそ
れらはINHIBITラインを駆動する論理を含む。R
AMカード70は、INHIBITライン18を受信し
、また、TCOMPライン20を駆動するための論理を
含む。INHIBITバス・ライン18は、RAMカー
ド70の応答を抑止するため使用される。ライン18及
び2oの機能は、第2及び3図に関連しより詳細に以下
で説明される。
22及び全RAM12の調整に使用される。そしてTC
OMPライン20は、全受信ユニットが転送を完了した
のを信号するようにシステム中で使用される。全プロセ
ッサ16に関係するキャッシュ制御器(例えば、第2図
の30)は、5HARED (共用)、INV、及びT
COMPラインを駆動及び受信する論理を含み、またそ
れらはINHIBITラインを駆動する論理を含む。R
AMカード70は、INHIBITライン18を受信し
、また、TCOMPライン20を駆動するための論理を
含む。INHIBITバス・ライン18は、RAMカー
ド70の応答を抑止するため使用される。ライン18及
び2oの機能は、第2及び3図に関連しより詳細に以下
で説明される。
特に第2図を参照するに、バス・ライン18.20.2
4及び26にインタフェースのための各CPUに関連す
る論理の構成図が図示される。この論理の3個の主ユニ
ットは第2図に見られる。
4及び26にインタフェースのための各CPUに関連す
る論理の構成図が図示される。この論理の3個の主ユニ
ットは第2図に見られる。
即ち、キャッシュ32、キャッシュ制御器30゜及びス
ノープ制御器34である。プロセッサ、標準バス・イン
タフェース等のようなCPUの他のセクションは、5業
技術者には通常知られているから第2図には図示されな
い。
ノープ制御器34である。プロセッサ、標準バス・イン
タフェース等のようなCPUの他のセクションは、5業
技術者には通常知られているから第2図には図示されな
い。
キャッシュ32のキャッシュ論理ユニットは、キャッシ
ュ・アドレスの上半部を収容するキャッシュ・タグ(t
a g)RAM40、ブロックの状態を示すブロック
あたり2ビツトを収容するキャッシュ状態ビット論理4
2及び、キャッシュ・データを収容するキャッシュ・デ
ータRAM44を含む。アドレス・ライン36でキャッ
シュ32にくる全部のアドレスの“インデックス”とラ
ベルを付けられた下位部分は、キャッシュ論理ユニット
40.42、及び44をアドレスする。コンパレータ(
比較器)50は、キャッシュ・タグ・RAM40より供
給される入力及びアドレス・ライン36の上位部分より
供給される他の入力を有する。若し、これらの入力が一
致すれば〔即ち、ADDRTAG (7ドlzス−タグ
)がCACHETAG (キャッシュ・タグ)に一致す
れば〕、そのアクセスはキャッシュ32において有効で
ある。
ュ・アドレスの上半部を収容するキャッシュ・タグ(t
a g)RAM40、ブロックの状態を示すブロック
あたり2ビツトを収容するキャッシュ状態ビット論理4
2及び、キャッシュ・データを収容するキャッシュ・デ
ータRAM44を含む。アドレス・ライン36でキャッ
シュ32にくる全部のアドレスの“インデックス”とラ
ベルを付けられた下位部分は、キャッシュ論理ユニット
40.42、及び44をアドレスする。コンパレータ(
比較器)50は、キャッシュ・タグ・RAM40より供
給される入力及びアドレス・ライン36の上位部分より
供給される他の入力を有する。若し、これらの入力が一
致すれば〔即ち、ADDRTAG (7ドlzス−タグ
)がCACHETAG (キャッシュ・タグ)に一致す
れば〕、そのアクセスはキャッシュ32において有効で
ある。
キャッシュ制御器30は、そのブロックに対する論理回
路42よりキャッシュ状態ビットを調べ、適切な処置を
行なう。例えば、アクセスが“ライト−ヒツト”であり
、ブロック状態が“オンリ”であれば、キャッシュ制?
1130はキャッシュ32に書込むだけである。ブロッ
ク状態が“共用”であるとすれば、キャッシュ制御器3
0はキャッシュ32に書込まなければならず、また、シ
ステム・バス14にライト・スルーしなければならない
。
路42よりキャッシュ状態ビットを調べ、適切な処置を
行なう。例えば、アクセスが“ライト−ヒツト”であり
、ブロック状態が“オンリ”であれば、キャッシュ制?
1130はキャッシュ32に書込むだけである。ブロッ
ク状態が“共用”であるとすれば、キャッシュ制御器3
0はキャッシュ32に書込まなければならず、また、シ
ステム・バス14にライト・スルーしなければならない
。
スノープ制御器34は、システム・バス・ライン14の
アドレス・ストローブ・ライン(“AS”とラベルされ
る)を監視する。“AS”が権利を主張されている時に
は、それは、他のCPUがシステム・バス・ラインをア
クセスしていることを意味する。全キャッシュはキャッ
シュ整合性を維持するため、バス上で調査(snoop
)Lなければならないから、スノープ制御器34は、他
のCPUによるバス・アクセスのためのキャッシュを介
して“Bus Addr (バス・アドレス)”ラ
インを走行(run)させなければならない。これを実
行するため、スノープ制御器34は、“CPU/5no
op”ライン38を低に駆動することにより、“CPU
Addr”ラインを使用禁止(ディスエーブル)に
し、また、“BusAddr”ライン37をアドレス・
ライン36上でイネーブルにする。スノープ制御器34
は、また、“スノープがバスを保有”するライン39を
主張し、次のキャッシュ・アクセスがスノープであるこ
とをキャッシュ制御器30に通知する。
アドレス・ストローブ・ライン(“AS”とラベルされ
る)を監視する。“AS”が権利を主張されている時に
は、それは、他のCPUがシステム・バス・ラインをア
クセスしていることを意味する。全キャッシュはキャッ
シュ整合性を維持するため、バス上で調査(snoop
)Lなければならないから、スノープ制御器34は、他
のCPUによるバス・アクセスのためのキャッシュを介
して“Bus Addr (バス・アドレス)”ラ
インを走行(run)させなければならない。これを実
行するため、スノープ制御器34は、“CPU/5no
op”ライン38を低に駆動することにより、“CPU
Addr”ラインを使用禁止(ディスエーブル)に
し、また、“BusAddr”ライン37をアドレス・
ライン36上でイネーブルにする。スノープ制御器34
は、また、“スノープがバスを保有”するライン39を
主張し、次のキャッシュ・アクセスがスノープであるこ
とをキャッシュ制御器30に通知する。
”Bus Addr (バス・アドレス)″37ラ
インがAddr”ライン36にだいしイネーブルにされ
た時に、キャッシュ32は上述したようにチエツクされ
る。スノープがキャッシュ32において“ヒツト”であ
れば、キャッシュ制御器30はヒツト・ブロックのキャ
ッシュ状態ビット42をチエツクし、それから再び適当
な処置を行なう。例えば、ヒツトが“読出し共用(r
e a dshared) ”であれば、キャッシュ
制御器30は“共用(shared) ”バス・ライ
ン24を引き出し、要求するCPUはデータ項(ite
m)を“共用”としてキャッシュ(蓄積)すべきである
とCPUに通知させるようにする。若し“ヒツト”キャ
ッシュ・ブロックが“ダーティ(d i r t y)
であれば、キャッシュ制御器3oはINHIBIT”バ
ス・ライン18(RAMI2に応答させないため)を主
張し、それから、ダーティ”データ自体を供給する。最
終的にはキャッシュ制御器30は、“共用”としてその
ブロックをリセットするのである。
インがAddr”ライン36にだいしイネーブルにされ
た時に、キャッシュ32は上述したようにチエツクされ
る。スノープがキャッシュ32において“ヒツト”であ
れば、キャッシュ制御器30はヒツト・ブロックのキャ
ッシュ状態ビット42をチエツクし、それから再び適当
な処置を行なう。例えば、ヒツトが“読出し共用(r
e a dshared) ”であれば、キャッシュ
制御器30は“共用(shared) ”バス・ライ
ン24を引き出し、要求するCPUはデータ項(ite
m)を“共用”としてキャッシュ(蓄積)すべきである
とCPUに通知させるようにする。若し“ヒツト”キャ
ッシュ・ブロックが“ダーティ(d i r t y)
であれば、キャッシュ制御器3oはINHIBIT”バ
ス・ライン18(RAMI2に応答させないため)を主
張し、それから、ダーティ”データ自体を供給する。最
終的にはキャッシュ制御器30は、“共用”としてその
ブロックをリセットするのである。
全てのスノープにたいし、キャッシュ制御器30は、T
COMPバス・ライン20を主張し、スノープを完了し
たことを信号する。(全RAMI2と同様に)全ての他
のキャッシュ制御器がTCOMPを主張するまでは、要
求するCPUはそのバス・サイクルを完了しないであろ
う。それがバス・マスクである場合、バス要求者(re
questar)55は、キャッシュ制御器3oに通知
するように使用される。各CPUがバス・マスクであれ
ば、それはスノープせず、また、TCOMPを主張しな
い。
COMPバス・ライン20を主張し、スノープを完了し
たことを信号する。(全RAMI2と同様に)全ての他
のキャッシュ制御器がTCOMPを主張するまでは、要
求するCPUはそのバス・サイクルを完了しないであろ
う。それがバス・マスクである場合、バス要求者(re
questar)55は、キャッシュ制御器3oに通知
するように使用される。各CPUがバス・マスクであれ
ば、それはスノープせず、また、TCOMPを主張しな
い。
第3図を特に参照するに、RAM及び関連論理70が、
ブロック図形式で図示される。RAM論理70は、“I
NHIBIT”バス・ライン18力びアドレス・デコー
ド”論理72に含まれる点において、普通のRAM論理
とは異なる。”INHIBIT”が主張されれば、RA
M論理7oを選択のためシステム・バス14のアドレス
が正しくデコードされても、RAM論理7oは応答すべ
きではない。また、“INHIBIT”信号が主張され
るときは、それは、あるキャッシュ制御器が、前に他の
キャッシュに対し、′ダーティ”データを供給している
ことを意味する。システム・バス14上で主張されてい
るこのデータは、全RAM12に書込まれなければなら
ず、その結果、キャッシュの共用データは全RAM12
において整合性を維持するであろう。この“書込み”の
完了のため、全RAM12は“TCOMP″を防止し、
その間にシステム・バス14上で主張されるデータを適
当なアドレスに書込む。書込みが完了され、そのデータ
・ブロックが全システムを通じ整合していると、RAM
カード7oは“TCOMP′を主張し、バス・サイクル
は完了する。
ブロック図形式で図示される。RAM論理70は、“I
NHIBIT”バス・ライン18力びアドレス・デコー
ド”論理72に含まれる点において、普通のRAM論理
とは異なる。”INHIBIT”が主張されれば、RA
M論理7oを選択のためシステム・バス14のアドレス
が正しくデコードされても、RAM論理7oは応答すべ
きではない。また、“INHIBIT”信号が主張され
るときは、それは、あるキャッシュ制御器が、前に他の
キャッシュに対し、′ダーティ”データを供給している
ことを意味する。システム・バス14上で主張されてい
るこのデータは、全RAM12に書込まれなければなら
ず、その結果、キャッシュの共用データは全RAM12
において整合性を維持するであろう。この“書込み”の
完了のため、全RAM12は“TCOMP″を防止し、
その間にシステム・バス14上で主張されるデータを適
当なアドレスに書込む。書込みが完了され、そのデータ
・ブロックが全システムを通じ整合していると、RAM
カード7oは“TCOMP′を主張し、バス・サイクル
は完了する。
全ての正常バス・サイクルごとに、また、RAM論理7
0はTCOMP (正常DTACK−データ転送確認と
ともに)を主張し、転送が完了であることを通報しなけ
ればならない。
0はTCOMP (正常DTACK−データ転送確認と
ともに)を主張し、転送が完了であることを通報しなけ
ればならない。
要約すれば、本発明の“書込み一共用”回路はハードウ
ェアを使用し、専用キャッシュを用いるバスを中心とす
る多重プロセッサ・システムにおいて、必須でないバス
・アクセスを全て除去する。
ェアを使用し、専用キャッシュを用いるバスを中心とす
る多重プロセッサ・システムにおいて、必須でないバス
・アクセスを全て除去する。
キャッシュ1iIJ御器の間の連絡のための特別のバス
・ラインの使用により、“書込み一共用”回路はデータ
・ブロックの共用か、または、専用がをダイナミックに
決定する。専用としてキャッシュされたデータ・ブロッ
クは、他のキャッシュの他の同じブロックを無効にする
ため特別のライト・スルーを必要としない。バス利用度
が低いだけ、高システム性能が達成され、単一バスでよ
り多くのプロセッサが使用可能である。
・ラインの使用により、“書込み一共用”回路はデータ
・ブロックの共用か、または、専用がをダイナミックに
決定する。専用としてキャッシュされたデータ・ブロッ
クは、他のキャッシュの他の同じブロックを無効にする
ため特別のライト・スルーを必要としない。バス利用度
が低いだけ、高システム性能が達成され、単一バスでよ
り多くのプロセッサが使用可能である。
付録は、本発明の“書込み一共用”回路に用いるキャッ
シュ・アクセス及びスノーブ・アクセスに対する状態及
び詳細状態移行を与える。
シュ・アクセス及びスノーブ・アクセスに対する状態及
び詳細状態移行を与える。
図面の説明を通じ、多重プロセッサ・システムのための
改善されたキャッシュ回路が開示された。
改善されたキャッシュ回路が開示された。
これ以上の回路の変更及び改良が、5業技術者には起こ
らないであろう。それ故に、本発明は図示された特別の
形式に制限されないことを理解することが望ましいし、
さらに、添付の特許請求の範囲において、本発明の精神
及び範囲より逸脱しない全ての変更を包含することを本
発明は意図している。
らないであろう。それ故に、本発明は図示された特別の
形式に制限されないことを理解することが望ましいし、
さらに、添付の特許請求の範囲において、本発明の精神
及び範囲より逸脱しない全ての変更を包含することを本
発明は意図している。
付 録
状B:
無効
(invalid)
RAMはキャッシュ中にない。
共用 −RAMはキャッシュへ読出されてお(shar
ed) リ、オンリ、共用、または、Wn ノー1
−ヤツシュにおいてダーティであった。
ed) リ、オンリ、共用、または、Wn ノー1
−ヤツシュにおいてダーティであった。
オンリ −RAMはキャッシュへ読出されてお(onl
y) リ、それは唯一のキャッシュ・コピーであ
る。
y) リ、それは唯一のキャッシュ・コピーであ
る。
ターティ −キャッシュは書込まれており、現在(di
rty) はRAMコピーとことなる。
rty) はRAMコピーとことなる。
インターナル:
(internal)
置換え 無効、オンリ、または共用−単(Rep
laceIIlen t) 純にブロックを書き直す;ダー ティ−RAMにライト・バック し1、それから書き直す。
laceIIlen t) 純にブロックを書き直す;ダー ティ−RAMにライト・バック し1、それから書き直す。
読出し無効
(Read Invalid)
RAMより全ブロック読出し、
5HARED主張であれば、共
用をセットし、5HARED主
張なければ、オンリをセット。
書込み無効 RAMより全ブロック読出し、(Wr
ite Invalid)そしてINV主張、キャッシ
ュへ書込み、ダーティをセット。
ite Invalid)そしてINV主張、キャッシ
ュへ書込み、ダーティをセット。
はのこす。
オンリ書込み
キャッシュへ書込み、ダーティ
をセット。
ダーティ読出し キャッシュより読出し、ダーティはの
こす。
こす。
ダーティ書込み キャッシュへ書込み、ダーティはのこ
す。
す。
読出し共用 キャッシュより読出し、共用は(Re
ad 5hared) のこす。
ad 5hared) のこす。
書込み共用 RAM及びキャッシュへ書込み、(W
rite 5hared) オンリをセット。
rite 5hared) オンリをセット。
オンリ続出し
キャッシュより読出し、
オンリ
付 録
キャッシュ・スノープ(Cache 5noop)読出
し無効 (Read Invalid) (またはミス) なにもしない 書込み無効 (Wrete Invalid) なにもしない(
またはミス) 読出し共用 5HARED (共用)を主張、(
Read 5hared) 共用はのこす。
し無効 (Read Invalid) (またはミス) なにもしない 書込み無効 (Wrete Invalid) なにもしない(
またはミス) 読出し共用 5HARED (共用)を主張、(
Read 5hared) 共用はのこす。
INV
&
Read
Shared S HA RE D (共用)無効をセ
ット。
ット。
を主張、
書込み共用
(Write 5hared)
無効をセット。
オンリ続出し
くRead only)
INV & Read only
オンリ書込み
(Write only)
ダーティ読出し
als。
5HARED主張、共用にセ
ット。
5HARED主張、無効をセ
ット。
可能でない
RAM抑止(INHIBIT
主張により)、データ及びD
TACK供給、共用をセット;
データはRAMへ書込まれる
(そこでコピーはRAMでも
また有効である)。
INV
&
Read
only
上と同じ、ただし無効をセラ
ト。
ダーティ書込み
(Write Dirty)
不可能
FIC!−
RAMボードブロック図
第1図は、本発明を実施するシステム・レベルのブロッ
ク図である。 第2図は、第1図のシステムに関連し実現される中央処
理装置(CP U)インタフェース論理を図示するブロ
ック図である。 第3図は、第1図のシステムに関連し実現されるRAM
を図示するブロック図である。 図において 12はRAM及びRAMアレー 16はCPU 22はキャッシュ 30はキャッシュ制御器 34はスノープ制御器 40はキャッシュ・ダク・RAM 42はキャッシュ状態ビット 44はキャッシュ・データ・RAM 50はコンパレータ 55はバス要求者 cpuボードブロック呪 ノ”IC。 手 続 ?i!i 正 iF(方式) %式% 1、明細書第26頁〜第31頁の付録の記載を削除する
。 1゜ 2゜ 事件の表示 昭和63年特許願第189562号 発明の名称 多重プロセッサ・システム用書込み共用
キャッシュ回路 3゜ 4、 補正をする者 事件との関係 特許出願人 住所 アメリカ合衆国イリノイ州60195.シャン
バーブ。 スィート・101ウイレイ・ロード、12011名称
コンビエータ・エックス・ インコーポレーテソド 代表者 レヴイ・カツィール
ク図である。 第2図は、第1図のシステムに関連し実現される中央処
理装置(CP U)インタフェース論理を図示するブロ
ック図である。 第3図は、第1図のシステムに関連し実現されるRAM
を図示するブロック図である。 図において 12はRAM及びRAMアレー 16はCPU 22はキャッシュ 30はキャッシュ制御器 34はスノープ制御器 40はキャッシュ・ダク・RAM 42はキャッシュ状態ビット 44はキャッシュ・データ・RAM 50はコンパレータ 55はバス要求者 cpuボードブロック呪 ノ”IC。 手 続 ?i!i 正 iF(方式) %式% 1、明細書第26頁〜第31頁の付録の記載を削除する
。 1゜ 2゜ 事件の表示 昭和63年特許願第189562号 発明の名称 多重プロセッサ・システム用書込み共用
キャッシュ回路 3゜ 4、 補正をする者 事件との関係 特許出願人 住所 アメリカ合衆国イリノイ州60195.シャン
バーブ。 スィート・101ウイレイ・ロード、12011名称
コンビエータ・エックス・ インコーポレーテソド 代表者 レヴイ・カツィール
Claims (1)
- 【特許請求の範囲】 1、ランダム・アクセス・メモリ(RAM)、複数の中
央処理装置(CPU)、複数のキャッシュ・メモリを具
え 前記キャッシュ・メモリの1つは、前記複数のCPUの
各々に組み合されており、前記RAM、前記複数のCP
U及び前記複数のキャッシュ・メモリが接続されるシス
テム・バス、前記RAM、前記複数のCPU及び前記複
数のキャッシュ・メモリの間に交換されるべきアドレス
及びデータ情報をイネーブルにするシステム・バス、を
含む多重プロセッサ・システムにおいて、前記複数のキ
ャッシュ・メモリが接続される第1信号ライン、 前記キャッシュ・メモリの第1の1つに組合わされ、か
つ前記システム・バスに接続され、前記第1キャッシュ
・メモリが前記キャッシュ・メモリの第2の1つとデー
タを共用しているかどうか検査し、もしそうであれば、
前記第1信号ラインに第1信号レベルを発生し、そうで
なければ、前記第1信号ラインに第2信号レベルを発生
する論理手段、 前記第2キャッシュ・メモリに関連し、かつ前記システ
ム・バスに接続され、前記第1信号レベルが前記第1信
号ラインに存在すれば前記RAMを介してデータを書込
むように前記第2キャッシュ・メモリに関連するプロセ
ッサをイネーブルにし、前記第2信号レベルが前記第1
信号ラインに存在ならば、前記関連プロセッサがデータ
を前記RAMに書込むことを抑止する論理手段、 を具備する多重プロセッサ・システムのキャッシュ・メ
モリ回路 2、前記複数のキャッシュ・メモリが接続される第2信
号ライン(TCOMP)を具え、前記第1キャッシュ・
メモリに関連した前記論理手段は、前記第2信号ライン
上に第1信号レベルを発生する手段を具え、他方、前記
論理手段は、前記第1キャッシュ・メモリが前記第2キ
ャッシュ・メモリとデータを共用するかどうかを決定し
、そうでなければ、前記第2信号ライン上に第2信号レ
ベルを発生するものであり、 前記第2キャッシュ・メモリに関連した前記論理手段は
、前記第1信号レベルが前記第2信号ライン上に存在す
れば、前記第2キャッシュ・メモリに関連したプロセッ
サの動作を抑止し、前記第2信号レベルが前記第2信号
ライン上に存在すれば、そのバス・サイクルを完了する
ように前記関連プロセッサを可能にする手段を具える、
前記特許請求の範囲第1項記載の多重プロセッサ・シス
テム・キャッシュ・メモリ回路。 3、前記複数のキャッシュ・メモリ及び前記RAMが接
続される第2信号ライン、を具え、前記第1キャッシュ
・メモリに関連した前記論理手段は、前記第1キャッシ
ュ・メモリに蓄積されたデータが、前記RAMに蓄積さ
れたデータと異なるかどうかを決定し、若しそうなら、
前記第2信号ライン上に第1信号レベルを発生し、そう
でなければ、前記第2信号ライン上に第2信号レベルを
発生する手段を具え、 前記RAMに関連し、かつ前記第2信号ラインに接続さ
れ、前記第1信号レベルが前記第2信号レベル上に存在
すれば、前記RAMの動作を抑止し、前記第2信号レベ
ルが前記第2信号ライン上に存在すれば、前記RAMの
動作を可能にする手段、を具備する前記特許請求の範囲
第1項記載の多重プロセッサ・システムのキャッシュ・
メモリ回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US078436 | 1987-07-27 | ||
US07/078,436 US4959777A (en) | 1987-07-27 | 1987-07-27 | Write-shared cache circuit for multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0247756A true JPH0247756A (ja) | 1990-02-16 |
Family
ID=22144015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63189562A Pending JPH0247756A (ja) | 1987-07-27 | 1988-07-27 | 多重プロセツサ・システム用書込み共用キヤツシユ回路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4959777A (ja) |
EP (1) | EP0301354A3 (ja) |
JP (1) | JPH0247756A (ja) |
CA (1) | CA1306312C (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0272452A (ja) * | 1988-06-27 | 1990-03-12 | Digital Equip Corp <Dec> | 無効要求を選別する方法及び装置 |
JPH02238534A (ja) * | 1989-03-13 | 1990-09-20 | Nippon I B M Kk | マルチプロセツサ・システム |
JPH086856A (ja) * | 1994-06-15 | 1996-01-12 | Nec Corp | バスインタフェースアダプタ |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2714952B2 (ja) * | 1988-04-20 | 1998-02-16 | 株式会社日立製作所 | 計算機システム |
EP0343567A3 (en) * | 1988-05-25 | 1991-01-09 | Hitachi, Ltd. | Multi-processing system and cache apparatus for use in the same |
IT1227360B (it) * | 1988-11-18 | 1991-04-08 | Honeywell Bull Spa | Sistema multiprocessore di elaborazione dati con replicazione di dati globali. |
US5535359A (en) * | 1988-12-02 | 1996-07-09 | Mitsubishi Denki Kabushiki Kaisha | Computer system with cache memory having address mask register |
JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
US5247639A (en) * | 1989-06-20 | 1993-09-21 | Nec Corporation | Microprocessor having cache bypass signal terminal |
EP0412353A3 (en) * | 1989-08-11 | 1992-05-27 | Hitachi, Ltd. | Multiprocessor cache system having three states for generating invalidating signals upon write accesses |
US5283886A (en) * | 1989-08-11 | 1994-02-01 | Hitachi, Ltd. | Multiprocessor cache system having three states for generating invalidating signals upon write accesses |
JP2789479B2 (ja) * | 1989-08-14 | 1998-08-20 | 松下電器産業株式会社 | 処理装置およびマルチプロセッサシステム |
JPH0697449B2 (ja) * | 1989-09-20 | 1994-11-30 | 株式会社日立製作所 | 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法 |
JPH03188546A (ja) * | 1989-12-18 | 1991-08-16 | Fujitsu Ltd | バスインターフェイス制御方式 |
JPH061463B2 (ja) * | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
US5261067A (en) * | 1990-04-17 | 1993-11-09 | North American Philips Corp. | Method and apparatus for providing synchronized data cache operation for processors in a parallel processing system |
US5611070A (en) * | 1990-05-10 | 1997-03-11 | Heidelberger; Philip | Methods and apparatus for performing a write/load cache protocol |
US5452463A (en) * | 1990-05-25 | 1995-09-19 | Dell Usa, L.P. | Processor and cache controller interface lock jumper |
CA2045756C (en) * | 1990-06-29 | 1996-08-20 | Gregg Bouchard | Combined queue for invalidates and return data in multiprocessor system |
US5276833A (en) * | 1990-07-02 | 1994-01-04 | Chips And Technologies, Inc. | Data cache management system with test mode using index registers and CAS disable and posted write disable |
US5276852A (en) * | 1990-10-01 | 1994-01-04 | Digital Equipment Corporation | Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions |
JPH04353947A (ja) * | 1991-02-13 | 1992-12-08 | Hewlett Packard Co <Hp> | メモリページ特性タグ付けシステム |
JPH0776942B2 (ja) * | 1991-04-22 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセッサ・システムおよびそのデータ伝送装置 |
US5319768A (en) * | 1991-05-01 | 1994-06-07 | Sgs-Thomson Microelectronics, Inc. | Control circuit for resetting a snoop valid bit in a dual port cache tag memory |
US5353423A (en) * | 1991-06-21 | 1994-10-04 | Compaq Computer Corporation | Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses |
US5426765A (en) * | 1991-08-30 | 1995-06-20 | Compaq Computer Corporation | Multiprocessor cache abitration |
US5335335A (en) * | 1991-08-30 | 1994-08-02 | Compaq Computer Corporation | Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed |
US5386540A (en) * | 1991-09-18 | 1995-01-31 | Ncr Corporation | Method and apparatus for transferring data within a computer using a burst sequence which includes modified bytes and a minimum number of unmodified bytes |
US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
US5584017A (en) * | 1991-12-19 | 1996-12-10 | Intel Corporation | Cache control which inhibits snoop cycles if processor accessing memory is the only processor allowed to cache the memory location |
US5469555A (en) * | 1991-12-19 | 1995-11-21 | Opti, Inc. | Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system |
US5546560A (en) * | 1993-06-22 | 1996-08-13 | Advance Micro Devices, Inc. | Device and method for reducing bus activity in a computer system having multiple bus-masters |
US5581734A (en) * | 1993-08-02 | 1996-12-03 | International Business Machines Corporation | Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity |
US5748937A (en) * | 1993-08-26 | 1998-05-05 | Intel Corporation | Computer system that maintains processor ordering consistency by snooping an external bus for conflicts during out of order execution of memory access instructions |
US5522057A (en) * | 1993-10-25 | 1996-05-28 | Intel Corporation | Hybrid write back/write through cache having a streamlined four state cache coherency protocol for uniprocessor computer systems |
US5692154A (en) * | 1993-12-20 | 1997-11-25 | Compaq Computer Corporation | Circuit for masking a dirty status indication provided by a cache dirty memory under certain conditions so that a cache memory controller properly controls a cache tag memory |
US5751995A (en) * | 1994-01-04 | 1998-05-12 | Intel Corporation | Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively |
JP2634141B2 (ja) * | 1994-01-19 | 1997-07-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセッサ・システム |
US5797026A (en) * | 1994-02-28 | 1998-08-18 | Intel Corporation | Method and apparatus for self-snooping a bus during a boundary transaction |
US5572702A (en) * | 1994-02-28 | 1996-11-05 | Intel Corporation | Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency |
KR960009659B1 (ko) * | 1994-04-11 | 1996-07-23 | 김광호 | 멀티프로세서 시스템의 스누프회로 |
DE69519816T2 (de) * | 1994-05-03 | 2001-09-20 | Hewlett-Packard Company (A Delaware Corporation), Palo Alto | Anordnung mit Duplikat des Cache-Etikettenspeichers |
US5574922A (en) * | 1994-06-17 | 1996-11-12 | Apple Computer, Inc. | Processor with sequences of processor instructions for locked memory updates |
US5893147A (en) * | 1994-12-22 | 1999-04-06 | Intel Corporation | Method and apparatus for distinguishing system memory data from alternative memory data in a shared cache memory |
JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
US5592616A (en) * | 1995-06-07 | 1997-01-07 | Dell Usa, Lp | Method for performing efficient memory testing on large memory arrays using test code executed from cache memory |
FI102788B (fi) * | 1995-09-14 | 1999-02-15 | Nokia Telecommunications Oy | Yhteisen levydatan hallinta kahdennetussa tietokoneyksikössä |
US5778437A (en) * | 1995-09-25 | 1998-07-07 | International Business Machines Corporation | Invalidation bus optimization for multiprocessors using directory-based cache coherence protocols in which an address of a line to be modified is placed on the invalidation bus simultaneously with sending a modify request to the directory |
US5822763A (en) * | 1996-04-19 | 1998-10-13 | Ibm Corporation | Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors |
JP3590203B2 (ja) * | 1996-07-16 | 2004-11-17 | 株式会社東芝 | 記憶手段の制御方法及びその装置 |
US5875469A (en) * | 1996-08-26 | 1999-02-23 | International Business Machines Corporation | Apparatus and method of snooping processors and look-aside caches |
US5787470A (en) * | 1996-10-18 | 1998-07-28 | At&T Corp | Inter-cache protocol for improved WEB performance |
US5996049A (en) * | 1997-04-14 | 1999-11-30 | International Business Machines Corporation | Cache-coherency protocol with recently read state for data and instructions |
US6658536B1 (en) | 1997-04-14 | 2003-12-02 | International Business Machines Corporation | Cache-coherency protocol with recently read state for extending cache horizontally |
US6216218B1 (en) | 1997-11-03 | 2001-04-10 | Donald L. Sollars | Processor having a datapath and control logic constituted with basis execution blocks |
US6067601A (en) * | 1997-11-03 | 2000-05-23 | Brecis Communications | Cache memory based instruction execution |
US6421798B1 (en) | 1999-07-14 | 2002-07-16 | Computer Service Technology, Inc. | Chipset-based memory testing for hot-pluggable memory |
US7310706B1 (en) * | 2001-06-01 | 2007-12-18 | Mips Technologies, Inc. | Random cache line refill |
US7080210B2 (en) * | 2002-02-12 | 2006-07-18 | Ip-First, Llc | Microprocessor apparatus and method for exclusive prefetch of a cache line from memory |
US7089368B2 (en) * | 2002-02-12 | 2006-08-08 | Ip-First, Llc | Microprocessor apparatus and method for exclusively prefetching a block of cache lines from memory |
US7089371B2 (en) * | 2002-02-12 | 2006-08-08 | Ip-First, Llc | Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory |
US7080211B2 (en) * | 2002-02-12 | 2006-07-18 | Ip-First, Llc | Microprocessor apparatus and method for prefetch, allocation, and initialization of a cache line from memory |
US7111125B2 (en) * | 2002-04-02 | 2006-09-19 | Ip-First, Llc | Apparatus and method for renaming a data block within a cache |
US7188215B2 (en) * | 2003-06-19 | 2007-03-06 | Ip-First, Llc | Apparatus and method for renaming a cache line |
US20050144397A1 (en) * | 2003-12-29 | 2005-06-30 | Rudd Kevin W. | Method and apparatus for enabling volatile shared data across caches in a coherent memory multiprocessor system to reduce coherency traffic |
US20060195662A1 (en) * | 2005-02-28 | 2006-08-31 | Honeywell International, Inc. | Method for deterministic cache partitioning |
JP5520747B2 (ja) * | 2010-08-25 | 2014-06-11 | 株式会社日立製作所 | キャッシュを搭載した情報装置及びコンピュータ読み取り可能な記憶媒体 |
KR20150090491A (ko) * | 2014-01-29 | 2015-08-06 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 데이터를 액세스하는 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4257095A (en) * | 1978-06-30 | 1981-03-17 | Intel Corporation | System bus arbitration, circuitry and methodology |
JPS55134459A (en) * | 1979-04-06 | 1980-10-20 | Hitachi Ltd | Data processing system |
US4399506A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Store-in-cache processor means for clearing main storage |
US4484267A (en) * | 1981-12-30 | 1984-11-20 | International Business Machines Corporation | Cache sharing control in a multiprocessor |
US4608688A (en) * | 1983-12-27 | 1986-08-26 | At&T Bell Laboratories | Processing system tolerant of loss of access to secondary storage |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
-
1987
- 1987-07-27 US US07/078,436 patent/US4959777A/en not_active Expired - Fee Related
-
1988
- 1988-05-31 CA CA000568258A patent/CA1306312C/en not_active Expired - Fee Related
- 1988-07-18 EP EP88111523A patent/EP0301354A3/en not_active Withdrawn
- 1988-07-27 JP JP63189562A patent/JPH0247756A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0272452A (ja) * | 1988-06-27 | 1990-03-12 | Digital Equip Corp <Dec> | 無効要求を選別する方法及び装置 |
JPH02238534A (ja) * | 1989-03-13 | 1990-09-20 | Nippon I B M Kk | マルチプロセツサ・システム |
JPH086856A (ja) * | 1994-06-15 | 1996-01-12 | Nec Corp | バスインタフェースアダプタ |
Also Published As
Publication number | Publication date |
---|---|
CA1306312C (en) | 1992-08-11 |
EP0301354A2 (en) | 1989-02-01 |
EP0301354A3 (en) | 1990-08-22 |
US4959777A (en) | 1990-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0247756A (ja) | 多重プロセツサ・システム用書込み共用キヤツシユ回路 | |
US5623632A (en) | System and method for improving multilevel cache performance in a multiprocessing system | |
US5659710A (en) | Cache coherency method and system employing serially encoded snoop responses | |
US7032074B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
US6760819B2 (en) | Symmetric multiprocessor coherence mechanism | |
US6519685B1 (en) | Cache states for multiprocessor cache coherency protocols | |
US6434672B1 (en) | Methods and apparatus for improving system performance with a shared cache memory | |
US6571322B2 (en) | Multiprocessor computer system with sectored cache line mechanism for cache intervention | |
US6681292B2 (en) | Distributed read and write caching implementation for optimized input/output applications | |
US5561779A (en) | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system | |
US6463510B1 (en) | Apparatus for identifying memory requests originating on remote I/O devices as noncacheable | |
US5940864A (en) | Shared memory-access priorization method for multiprocessors using caches and snoop responses | |
US6470429B1 (en) | System for identifying memory requests as noncacheable or reduce cache coherence directory lookups and bus snoops | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
US8015364B2 (en) | Method and apparatus for filtering snoop requests using a scoreboard | |
US5943685A (en) | Method of shared intervention via a single data provider among shared caches for SMP bus | |
US5829027A (en) | Removable processor board having first, second and third level cache system for use in a multiprocessor computer system | |
JP2000250884A (ja) | 不均等メモリ・アクセス・コンピュータ・システムにおいてエヴィクション・プロトコルを提供するための方法およびシステム | |
US5590310A (en) | Method and structure for data integrity in a multiple level cache system | |
US6807608B2 (en) | Multiprocessor environment supporting variable-sized coherency transactions | |
US20020129210A1 (en) | Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls | |
US6484241B2 (en) | Multiprocessor computer system with sectored cache line system bus protocol mechanism | |
EP1067459B1 (en) | Symmetric multiprocessing system with unified environment and distributed system functions | |
US6553462B2 (en) | Multiprocessor computer system with sectored cache line mechanism for load and store operations | |
KR20010015008A (ko) | 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템 |