JPH035850A - キャッシュ無効化のためのバス制御方式 - Google Patents

キャッシュ無効化のためのバス制御方式

Info

Publication number
JPH035850A
JPH035850A JP1140042A JP14004289A JPH035850A JP H035850 A JPH035850 A JP H035850A JP 1140042 A JP1140042 A JP 1140042A JP 14004289 A JP14004289 A JP 14004289A JP H035850 A JPH035850 A JP H035850A
Authority
JP
Japan
Prior art keywords
bus
system bus
queue
processor
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
Application number
JP1140042A
Other languages
English (en)
Inventor
Masayori Fukuda
福田 正順
Masanobu Yuhara
雅信 湯原
Kenji Isane
健治 井實
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1140042A priority Critical patent/JPH035850A/ja
Publication of JPH035850A publication Critical patent/JPH035850A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概要] 主記憶装置を共有する複数の中央処理装置からなるデー
タ処理システムにおけるキャッシュの無効化制御方式の
改良に関し、 キャッシュ無効化処理のためのアドレス待ち行列の待ち
数を待ち行列の容量以下に保つことを目的とし、 タグ装置を、システムバス上を監視し他のプロセッサに
よる主記憶装置の更新時にデータの不一致が生じた場合
に発生する不一致アドレス通知要求の待ち数をカウント
するカウント手段と、このカウント手段のカウント値が
ある一定の上限値あるいは下限値に達したことを検出す
る比較手段と、前記カウント値が上限値に達したことが
検出されたときにはバスアービタを通してバス使用権を
得てシステムバスの使用権を優先取得してシステムバス
をウェイト状態にし、カウント値が下限値に達したこと
が検出されたときにはシステムバスの使用権を解放して
システムバスのウェイト状態を解除する制御手段より構
成する。
[産業上の利用分野J 本発明は、主記憶装置を共有する複数の中央処理装置(
CP U)からなるデータ処理システムに係り、特に外
部タグ装置の制御と主記憶装置アクセスのバス調停(バ
スアービトレーション)によるキャッシュの無効化制御
方式の改良に関する。
データ処理システムにおいては、処理速度の改善のため
に中央処理装置の中にアクセスタイムの短い高速のRA
M (Random  Access  Memory
)を内蔵する技術が広く用いられる。また、システムバ
スに複数の中央処理装置が接続されると、データが内蔵
RAMに依存しない場合やライト(write)動作の
ためにシステムバスのアクセスが頻繁に起こってバスの
転送限界に達し、各プロセッサ(データ処理器)の性能
が落ちることがある。そのため、各プロセッサはそれぞ
れ中央処理装置の外部に比較的高速でかなりの容量を持
つローカルメモリを接続して、処理速度を向上させる手
法をとることが珍しくなくなった。
このようなローカルメモリは主記憶装置のコピーを保持
するいわゆるキャッシュとして働くが、そのようなキャ
ッシュを使用するプロセッサは、他のプロセッサによっ
て主記憶装置が更新されたとき、キャッシュに保持され
ている当該データ(更新前のデータ)を無効とする処理
が必要である。
[従来の技術] 第6図は計算機システムの従来の構成の一例を示した図
である。この例では、同一構成の2台のプロセッサ(デ
ータ処理器)1A,1B、主記憶装置2及びシステムバ
ス3から構成されている。
また、各プロセッサは、中央処理装置4、主記憶装置2
のデータのコピーを保持するローカルメモリ5、タグ装
置6、非常に高速で小容量の内部キャッシュ7及びロー
カルバス8より構成されている。ローカルメモリ5は比
較的高速でかなり大きい容量(シかし主記憶装置2の容
量には及ばない)のメモリである。
タグ装置6は、ローカルメモリ5に保持されるデータの
対応する主記憶装置2上のアドレス等を更新管理するア
ドレス情報記録部と、システムバス3上を監視し他のプ
ロセッサによる主記憶装置2の更新時にデータの不一致
が生じた場合には不一致アドレス通知要求を中央処理装
置4に順次伝えるための待ち行列手段を有する。
このような各プロセッサは内部キャッシュ7とローカル
メモリ5及び主記憶装置2の3階層のメモリを用いてデ
ータ処理を行なう。このときのアクセス動作は次のよう
になる。
まず、内部キャッシュ7にアクセスデータが存在すれば
そのままデータを中央処理装置4が用いる。このときロ
ーカルバス8、システムバス3は用いられない。
内部キャッシュ7Iこアクセスデータが存在しない場合
は、ローカルバス8を用いてローカルメモリ5をアクセ
スする。
ローカルメモリ5にアクセスデータがあればデータを中
央処理装置4が用いると共に内部キャッシュ7を更新す
ることが一般に行なわれ、タグ装置6は更新される。
一方、他のプロセッサにより主記憶装置2の更新が行な
われた場合には、必ずタグ装置6を通じて内部キャッシ
ュ7の一部のデータの無効化処理が行なわれる。システ
ムバス3よりタグ装置6に通知された更新アドレスはタ
グ装置6の待ち行列のアドレスと比較され、もし一致す
れば主記憶装置2と一貫性のとれていないデータが内部
キャッシュ7上に存在することになり、無効化アドレス
待ち行列に登録される。
[発明が解決しようとする課題] しかしながら、従来のこのような計算機システムにおけ
るキャッシュ無効化方式においては、待ち行列がオーバ
ーフローしてしまう欠点があった。
すなわち、システムバス3を他のプロセッサが長期間専
有して書き込みを行っているとき、プロセッサがローカ
ルバス8を使用している場合には、待ち行列が増えるこ
とはあっても減少することはないので、待ち行列の構成
数を越えてしまうことがある。そのため、主記憶装置2
と内部キャッシュ7のデータの一貫性が完全に保証され
ないという欠点があった。
本発明の目的は、各プロセッサにおいてプロセッサのデ
ータ処理能力は落とさずにキャッシュ無効化処理のため
のアドレス待ち行列の待ち数を待ち行列の容量以下に保
つようにしたキャッシュ無効化のためのバス制御方式を
提供することにある。
[課題を解決するための手段] 第1図は本発明の原理構成図である。図において、1A
,1Bはそれぞれプロセッサ(データ処理器)、2は主
記憶装置、3はプロセッサと主記憶装置2を相互結合す
るシステムバスである。9はシステムバス3の使用権を
調停するバスアービタである。
各プロセッサ1A,1Bは、内部キャッシュ7を有する
中央処理装置4と、ローカルメモリ5及びタグ装置6よ
り構成され、中央処理装置4はローカルバス8によりロ
ーカルメモリ5及びタグ装置6と結合されている。
タグ装置6は、システムバス3上を監視し他のプロセッ
サによる主記憶装置2の更新時にデータの不一致が生じ
た場合に発生する不一致アドレス通知要求の待ち数をカ
ウントするカウント手段6■と、そのカウント値がある
一定の上限値あるいは下限値に達したことを検出する比
較手段62と、カウント値が上限値に達したことが検出
されたときにはバスアービタ9を通してバス使用権を得
てシステムバス権を優先取得してシステムバス3をウェ
イト状態にし、カウント値が下限値に達したことが検出
されたときにはシステムバス権を解放してシステムバス
のウェイト状態を解除する制御手段63とから構成され
ている。
〔作用] 比較手段62においてカウント値が待ち行列の上限に達
したとき、プロセッサIA(IB)はシステムバス3を
ウェイト状態とする。そのウェイト期間中は、各プロセ
ッサ共に新たな待ち行列追加はなく、プロセッサIA(
IB)はそれぞれのローカルバス8の空き具合いにより
待ち行列の消化(中央処理装置4によるデータ処理)を
行ない、待ち行列を減少させることができる。
このようにして、次の新たな無効化のためのウェイト要
求を必要とするまでは、十分な期間にわたりシステムバ
ス3を解放することができるようになる。
[実施例] 第2図は本発明のキャッシュ無効化のためのバス制御方
式に係る計算機システムの一実施例を示す要部構成図で
ある。図において、第1図と同等部分には同一符号を付
しである。1A,1B、ICはプロセッサ、6A、6B
、6Cは同一構成のタグ装置、8A、8B、8Cはロー
カルバスである。
第3図はタグ装置の詳細を示すブロック図である。カウ
ント手段61において、611は待ち行列で、ここでは
10個の待ち行列が確保されているが、ローカルメモリ
5に保持されるデータの対応する主記憶装置2上のアド
レスが登録される。
この待ち行列はいわゆるシフトレジスタで構成され、新
たなアドレスが登録されるときは各データがシフトされ
る。612は外部タグRAMで、待ち行列にアドレス登
録された主記憶装置上のアドレスが記憶される。613
は更新管理制御部で、中央処理装置4によりデータ処理
の終了した待ち行列のアドレスを更新するために外部タ
グRAMを更新するための管理を行なう。614は待ち
行列に残っている待ち数をカウントするカウンタである
このような構成における動作を、第4図に示すバス権と
待ち数の推移の図及び第5図に示す待ち行列の推移の図
をそれぞれ参照して、次に説明する。なお、ここでは待
ち数の上限値を8、下限値を3とする。
初期状態として、プロセッサIAの待ち行列ハ未処理が
6個残っている状態より始める。最初に、システムバス
3を用いてプロセッサICが主記憶装置2の更新を行な
う。この場合システムバス3のアドレスがプロセッサI
Aの外部タグRAM612に登録中であったとすると、
そのアドレスは無効化待ち行列に入力される。一方、プ
ロセッサIAのローカルバス8Aを中央処理装置4がア
クセスしていてキャッシュの無効化が行なわれないため
、待ち行列の先頭データ1435E78(h) (hは
その数値が16進数表記であることを示す記号)は待ち
行列内をシフトするだけである。
第4サイクルには待ち数のカウント値が上限値に達、す
るので、プロセッサIAはアービタ9を通してシステム
バス権を獲得し、バスをウェイト状態にする。これによ
り待ち行列の数が8より大きくなることを防ぐ。更に、
システムバス権を持ったタグ装置はローカルバス8A上
でもキャッシュ無効化のためのバス要求を請求し、この
状態では中央処理装置と同じ優先度を持つ。
これにより、第6サイクルから第18サイクルまでタグ
装置によるキャッシュの無効化が行なわれ、待ち数のカ
ウント値が減少して下限値に達する。これを受けてプロ
セッサIAはウェイト状態を解除してバス使用権をプロ
セッサIBに明は渡す。
第20サイクルから第21サイクルまではプロセッサI
Cが主記憶装置2にアクセスするが、プロセッサIAの
タグ装置6Aにおける待ち数のカウント値は増えない。
これはアクセスがリードオペレーションであったか、あ
るいはライトオペレーションであって、更新光のアドレ
スがプロセッサIAの外部タグRAM612に登録され
ていなかったためである。
なお、実施例では待ち行列の個数を10個、待ち数の上
限値を8、待ち数の下限値を3としたが、本発明はこれ
に限定されるものではなく、適宜任意の個数及び値とし
て何等差し支えない。
[発明の効果] 以上説明したように、本発明によれば、従来の計算機シ
ステムに少量のハードウェアを追加するだけでキャッシ
ュの待ち行列の待ち数を柔軟に管理することができ、そ
の結果複数の各プロセッサのデータ処理能力を落とすこ
となく一貫性のある計算機システムを構築することがで
きる。
【図面の簡単な説明】
第1図は本発明の原理構成図、 第2図は本発明のキャッシュ無効化のためのバス制御方
式に係る計算機システムの一実施例を示す要部構成図、 第3図はタグ装置の詳細を示すブロック図、第4図はバ
ス権と待ち数の推移の図、 第5図は待ち行列の推移を示す図、 第6図は計算機システムの従来の構成の一例を示す図で
ある。 第1図において、 1A,1B、ICはプロセッサ、 2は主記憶装置、 3はシステムバス、 4は中央処理装置、 5はローカルメモリ、 6Aはタグ装置、 7はキャッシュ、 8はローカルバス、 61はカウント手段、 62は比較手段、 63は制御手段である。

Claims (1)

  1. 【特許請求の範囲】 主記憶装置(2)と、 高速のキャッシュ(7)を有した中央処理装置(4)と
    ローカルメモリ(5)及びタグ装置(6)を有し、デー
    タ処理を行なう複数のプロセッサ(1A,1B)と、 それらを相互に結合するシステムバス(3)と、バス使
    用権を調停するアービタ(9) より構成された計算機システムにおいて、 前記各プロセッサ(1A,1B)の中央処理装置(4)
    はローカルバス(8)経由でローカルメモリ(5)及び
    タグ装置(6)と結合し、 前記タグ装置(6)は、システムバス(3)上を監視し
    他のプロセッサによる主記憶装置(2)の更新時にデー
    タの不一致が生じた場合に発生する不一致アドレス通知
    要求の持ち数をカウントするカウント手段(61)と、
    このカウント手段(61)のカウント値がある一定の上
    限値あるいは下限値に達したことを検出する比較手段(
    62)と、前記カウント値が上限値に達したことが検出
    されたときには前記バスアービタ(9)を通してバス使
    用権を得てシステムバス(3)の使用権を優先取得して
    システムバス(3)をウェイト状態にし、前記カウント
    値が下限値に達したことが検出されたときにはシステム
    バス(3)の使用権を解放してシステムバス(3)のウ
    ェイト状態を解除する制御手段(63)より構成され、 待ち数を待ち行列の構成数以下に保つように制御するこ
    とを特徴とするキャッシュ無効化のためのバス制御方式
JP1140042A 1989-06-01 1989-06-01 キャッシュ無効化のためのバス制御方式 Pending JPH035850A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1140042A JPH035850A (ja) 1989-06-01 1989-06-01 キャッシュ無効化のためのバス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1140042A JPH035850A (ja) 1989-06-01 1989-06-01 キャッシュ無効化のためのバス制御方式

Publications (1)

Publication Number Publication Date
JPH035850A true JPH035850A (ja) 1991-01-11

Family

ID=15259620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1140042A Pending JPH035850A (ja) 1989-06-01 1989-06-01 キャッシュ無効化のためのバス制御方式

Country Status (1)

Country Link
JP (1) JPH035850A (ja)

Similar Documents

Publication Publication Date Title
US20250342081A1 (en) Delayed snoop for multi-cache systems
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
EP0817073B1 (en) A multiprocessing system configured to perform efficient write operations
US6272579B1 (en) Microprocessor architecture capable of supporting multiple heterogeneous processors
US6615319B2 (en) Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture
CA1322058C (en) Multi-processor computer systems having shared memory and private cache memories
US5761731A (en) Method and apparatus for performing atomic transactions in a shared memory multi processor system
US5893153A (en) Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
EP0817071B9 (en) A multiprocessing system configured to detect and efficiently provide for migratory data access patterns
JP3871305B2 (ja) マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化
US6928520B2 (en) Memory controller that provides memory line caching and memory transaction coherency by using at least one memory controller agent
US6249520B1 (en) High-performance non-blocking switch with multiple channel ordering constraints
US20020169935A1 (en) System of and method for memory arbitration using multiple queues
US8375171B2 (en) System and method for providing L2 cache conflict avoidance
US6915396B2 (en) Fast priority determination circuit with rotating priority
CN120803974A (zh) 阶层式存储器系统中的存储器管线控制
JPH04306748A (ja) 情報処理装置
US5987544A (en) System interface protocol with optional module cache
US7644221B1 (en) System interface unit
US20060236039A1 (en) Method and apparatus for synchronizing shared data between components in a group
US6553473B1 (en) Byte-wise tracking on write allocate
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US6862646B2 (en) Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
US20010049742A1 (en) Low order channel flow control for an interleaved multiblock resource
US6345340B1 (en) Cache coherency protocol with ambiguous state for posted operations