JPS63132353A - キヤツシユメモリの制御方式 - Google Patents

キヤツシユメモリの制御方式

Info

Publication number
JPS63132353A
JPS63132353A JP61278400A JP27840086A JPS63132353A JP S63132353 A JPS63132353 A JP S63132353A JP 61278400 A JP61278400 A JP 61278400A JP 27840086 A JP27840086 A JP 27840086A JP S63132353 A JPS63132353 A JP S63132353A
Authority
JP
Japan
Prior art keywords
memory
block
control information
cache
cpu
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
JP61278400A
Other languages
English (en)
Inventor
Hideho Masuzawa
増沢 秀穂
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 JP61278400A priority Critical patent/JPS63132353A/ja
Publication of JPS63132353A publication Critical patent/JPS63132353A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 メインメモリ制御ユニット内にメインメモリのブロック
毎のリードアクセス回数を示す制御情報を置き、この制
御情報に従ってキャッシュメモリに対するインバリデー
ション指示を行なって該指示の回数を減少させる。
〔産業上の利用分野〕
本発明は、それぞれがキャッシュメモリを持つ複数のC
PUでメインメモリを共用する処理装置のキャッシュメ
モリ制御方式に関する。
〔従来の技術〕
コンピュータシステムはCPU 1つにメモリ(MEM
)1つがオーツドックスな形であるが、システムのパフ
ォーマンス向上要求に伴なって複数のCPUにメモリ1
つの構成のものが現われている。
このような複数のCPU (プロセッサ)で処理を分担
するシステムでも、各CPUにキャッシュメモリを持た
せると性能向上に有効である。第3図はこの種のシステ
ムの構成図で、MEMはメインメモリ、MCUはメイン
メモリ制御ユニット、CMは各CPU毎のキャッシュメ
モリである。
CPUがあるアドレスを示してメモリMEMをリードア
クセスするとその読取りデータはCPUへ送られると共
にキャッシュメモリCMへも送られ、そこに格納される
。このリードアクセスでメモリMEMから送られる読取
データはブロック単位であり、従って上記アドレスの次
のアドレスなどのデータはキャッシュメモリにあるから
CPUはそれを読出せばよく、メモリMMから取寄せる
必要がなく、アクセスタイムの短縮が可能になる。
CPUがデータを書込むときは、これはメモリMEMと
共にキャッシュCMに対して行なう。即ち、キャッシュ
の内容とメインメモリの当該ブロックの内容は常に同じ
でなければならないが、キャッシュと共にメインメモリ
も更新しておけばこの同一関係は確保される。
メインメモリMEMからのり−ドRはブロック単位で行
われ、このブロックリードRは複数のCPUが任意に行
えるので、同じメモリブロックMBが複数のキャッシュ
メモ90M11.12内に同時に存在することがあり得
る。この様な場合に例えばCPU2がキャッシュメモ9
0M12内のブロックに対しライトアクセスWを行うと
、例えば、ライトスル一方式では、メインメモリMEM
も書替えられるため、CPtT1のキャッシュメモリC
MIIの内容はメインメモリのそれと不一致になる。そ
こでメモリ制御ユニットMCUはCPU1に対しインバ
リデーション指示IVを出してキャッシュメモリCMI
I内の該当ブロックを無効にさせるようにしている。ス
ワップ方式の場合にも同様に適用出来る。但し、この場
合には、CPUのキャッシュへのライトアクセスがメモ
リに反映しないので、ライトアクセスの度にMCUにそ
の旨を知らせる。
〔発明が解決しようとする問題点〕
上述したインバリデーション操作がないと、CPUIは
キャッシュメモリCMII内の古いデータを使用するこ
とになり不都合であるが、上記操作によりこれは救われ
る。そこで従来方式ではMCUは、あるCPUがキャッ
シュのブロックにライトアクセスを行なうと、必らず他
のCPUに対してそのキャッシュが同じ内容を持ってい
る/いないに拘わらずキャッシュインバリデーションを
指示していた。
しかしながら、このようにライトアクセスが起る度にキ
ャッシュインバリデーション指示を行なうと、指示を受
けたCPUにとっては処理の妨害になる。例えばCPU
2がライトアクセスWをする前にCPUIが該当ブロッ
クをスワップアウトしていたり、もともとCPUIのキ
ャッシュメモリCMII内に該当ブロックがない場合等
は、MCUからのインバリデーション指示IVは無駄な
ものであり、しかもこの指示を受けたCPUは該当デー
タ有無のチェック等を行う必要があるので、本来の処理
が妨害される。一般には、複数のCPUによる同じブロ
ックの同時共有の確率は低いので、無駄なインバリデー
ションによるオーバーヘッドの増加は無視できない。
複数CPUシステムとしては、第3図のような各CPU
をMCUへたこ足状に接続する方式の他に、各CPUを
コモンバスを通してメモリ制御ユニットMCUに接続す
る構成もある。この場合も種々のキャッシュメモリ制御
方式が提案されているが、CPU間通信、バスへのブロ
ックアクセスの監視等の実現可能性が明確ではない。ま
た、コモンバス構成のために、CPU台数に関係してバ
スのトラフィックによる性能低下等の問題も明確ではな
(、実用化はされていない。
本発明は、メインメモリのリードブロック毎にMCUで
その使用状況を把握し、キャッシュメモリに対するライ
トアクセス発生時に、当該メモリブロックを保存してい
るキャッシュメモリが他になければ、インバリデーショ
ン指示を出さないようにして、他のCPUへのオーバー
ヘッドを減少させようとするものである。
〔問題点を解決するための手段〕
第1図は本発明の基本構成図で、CPUI〜CPU4は
プロセッサ、CMII〜CM14はそれぞれのキャッシ
ュメモリ、MCUはメインメモリ制御ユニット、MEM
はメインメモリユニットである。メインメモリ制御ユニ
ットMCUはブロックリード制御機構BRCとインバリ
デーション制御機構IVCの他に、インバリデーション
制御メモリIVMを備える。
インバリデーション制御メモリIVMはメインメモリM
EMのブロック(キャッシュメモリへの転送単位で第3
図のMB)単位毎に、リードアクセスの状況を記憶して
お(為の制御メモリである。
インバリデーション制御機構IVCはこの制御メモリI
VMの内容をもとに、キャッシュメモリCMに対するイ
ンバリデーションr旨示の制御を行う。
ブロックリード制御機構BRCは、CPUからメインメ
モリユニットMEMのブロックにリードアクセスがあっ
た時に、インバリデーション制御メモリIVM内の対象
ブロックの制御情報を更新する。インバリデーション制
御機構IVCは、CPUからメインメモリユニットME
Mのブロックにライトアクセスがあった時に、インバリ
デーション制御メモリIVM内の対象プロ・ツクの制御
情報を更新し、必要によって他CPUに対してそのブロ
ックのインバリデーション指示を行う。
〔作用〕
本発明ではインバリデーション制御メモリ■■Mに書込
まれている同一ブロックへのリードアクセス回数の制御
情報をもとに、そのブロックへのライトアクセスがあっ
たとき他のCPUのキャッシュメモリ内の対象ブロック
を無効にする(インバリデーション)指示を行なう。ラ
イトアクセスがあっても、その対象プロ・ツクの制御情
報が他のCPUのキャッシュメモリに当該ブロックが保
存されていることを示していなければ、インバリデーシ
ョン指示は出さない。このことでインバリデーション回
数を減らし、他CPUへのオーバーヘッドを少なくする
ことができる。他のCPUのキャッシュメモリに当該ブ
ロックが存在する/しないは当該ブロックへのリードア
クセス回数が2以上であることにより判定できる。即ち
あるCPUが該ブロックをアクセスすると該制御情報は
0から1に変り、再び該ブロックにアクセスがあると該
制御情報は1から2に変るが、このときアクセスしたC
PUは、同じCPUが同じブロックを2度アクセスする
ことはないから、他のCPUである。従って制御情報と
しては2ビツトを用窓し、それをカウンタのように使用
すれば、他のCPUにも該当ブロックがあるか否かの判
断をすることができる。
〔実施例〕 第2図は本発明の一実施例を示す図で、インバリデージ
・ヨン制御メモリ (IVM)内の1ブロック当りの制
御情報■の状態遷移を示している。本例では1ブロック
当りの制御情報lに2ビツトを割当て、それをカウンタ
のように使用する。即ち制御情報Iは最初はOであり、
リードアクセスがある毎に■、■、■のルートで1づつ
増加させる。
但し、3CPUがリード要求を出してI=3になったら
、次に他のCPUがリード要求を出しても1=3の状態
を保持させる(@lのループ)。従って、■のルートは
ない。キャッシュメモリではスペースがな(なると必要
度の低いブロックを追放してスペースを作り、そこへ新
ブロックを収容するが、このスワップアウトを行なうと
■、■のルートで1ずつ減少させる。但し、I=3の状
態ではスワップアウトがあっても不変とする。従って■
のルートはない。■のルートはI=0からI−3に変る
ことを示すが、増減は1ずつであるからこのルートもな
い。これらの状態遷移は全てブロックリード制御機構B
RCによって制御する。ブロックリード、スワップアウ
トで有効なものを一括して示すと次のようになる。
■、■、■: CPUから該ブロックに対するリードア
クセス要求 ■、■:該ブロツブロックるCPUからのスワンプアウ
ト要求 @l:i=3の状態でのCPUから該ブロックに対する
リードアクセス要求又は該ブロックに対するCPUから
のスワンプアウト要求。
ライトアクセス時にはインバリデーション制御機構■■
Cがインバリデーション制御メモリIVMの制御情報■
を見て無効指示を行なうか否か決める。I=2又はI=
3なら無効指示を出し、■=1なら(工=0は有り得な
い)無効指示を出さない。■とOはライトアクセス発生
時に1=2以上であったため、インバリデーション制御
機構IVCが他CPUに対して対象ブロックの無効指示
を出し、これに伴なって制御情報Iを1に更新した(無
効指示を出すとI=1にする)状態を示す。
■はI=1でライトアクセスが生じた場合である。
!=1のときのライトアクセス要求は対象ブロックを保
存しているCPUからのものであり、他のCPUは対象
ブロックを保持していないことを示しているので、この
ときはインバリデーション指示は出さず、そして対象ブ
ロックをI CPUが持っていることも確かであるから
1=1のま\にしておく。この■のケースの確率が高い
ほど無駄なインバリデーションが回避される率が高くな
る。
尚、上記の例では3CPU以上が同じブロックをリード
アクセスしてそのブロックに対する制御情報が1=3に
張り付いた後に、スワツプアウト等で結局そのブロック
を保持しているCPUが1つになっても、そのブロック
に対する制御情報はI=3のままであるから、当該ブロ
ックに対するライトアクセスが起ると他のCPUにイン
バリデーション指示を行ってしまう不都合は残る。この
問題を解決するためには1ブロック当りの制御情?11
のビット数を増やして例えば3ビツトにすればよく、こ
の様にすれば、第1図の様に4台のCPUを使用するシ
ステムならリードアクセスでI−4まで上昇し、スワッ
プアウトで1=4から順次低下でき、I=1に戻った状
態でのライトアクセスなら無効を誇示は出さないように
することができる(3ビツトなら7 CPLIまでこの
ように扱える)。しかし、一般に多数のCPUが同じブ
ロックを同一時間帯に重複して使用する確率は著しく小
さいことを考慮すれば、実施例のように1=3で停止さ
せることに起因する不要なインバリデーションの発生確
率は小さく、実用上問題ないと考えられる。
(発明の効果) 以上述べたように本発明によれば、メインメモリ制御ユ
ニット内にメインメモリの各ブロックの使用状況を示す
インバリデーション制御メモリを設け、この制御メモリ
の情報に従ってインバリデーション指示を行なうことに
より、不要なインバリデーション指示を回避し、CPU
に無意味な動作をさせないようにすることができる利点
が得られる。
【図面の簡単な説明】
第1図は本発明の基本構成図、 第2図は本発明の一実施例を示す制御情報の状態遷移図
、 第3図は従来のキャッシュメモリ制御方式を示す説明図
である。

Claims (1)

  1. 【特許請求の範囲】 それぞれがキャッシュメモリ(CM)を有する複数のプ
    ロセッサ(CPU)がメインメモリ制御ユニット(MC
    U)を介して共通のメインメモリ(MEM)をアクセス
    し、読出したデータブロックをキャッシュメモリに貯え
    ておくコンピュータシステムのキャッシュメモリ制御方
    式において、該制御ユニット(MCU)内にメモリブロ
    ック(MB)毎のアクセス状況を示す制御情報(I)を
    記憶する制御メモリ(IVM)を設け、プロセッサから
    メインメモリに対してブロックリード要求が起る度に該
    制御情報を更新し、ライト要求が起る度に該制御情報を
    逆方向に更新するようにしておき、 ライトアクセスがあったとき該制御情報を見て対象とな
    るメモリブロック(MB)が2以上のキャッシュメモリ
    (CM)内に保存されていないことが分ったときはイン
    バリデーション指示を送出しないことを特徴とするキャ
    ッシュメモリの制御方式。
JP61278400A 1986-11-21 1986-11-21 キヤツシユメモリの制御方式 Pending JPS63132353A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61278400A JPS63132353A (ja) 1986-11-21 1986-11-21 キヤツシユメモリの制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61278400A JPS63132353A (ja) 1986-11-21 1986-11-21 キヤツシユメモリの制御方式

Publications (1)

Publication Number Publication Date
JPS63132353A true JPS63132353A (ja) 1988-06-04

Family

ID=17596818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61278400A Pending JPS63132353A (ja) 1986-11-21 1986-11-21 キヤツシユメモリの制御方式

Country Status (1)

Country Link
JP (1) JPS63132353A (ja)

Similar Documents

Publication Publication Date Title
KR100567099B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
KR100704089B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치
JPH06243035A (ja) コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
US20020169935A1 (en) System of and method for memory arbitration using multiple queues
JP3236287B2 (ja) マルチプロセッサシステム
US20050144390A1 (en) Protocol for maintaining cache coherency in a CMP
US7325102B1 (en) Mechanism and method for cache snoop filtering
EP2354953B1 (en) Information processing device and memory control device
JPH0532775B2 (ja)
JP3295436B2 (ja) マイクロプロセッサキャッシュの一貫性
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
US6826654B2 (en) Cache invalidation bus for a highly scalable shared cache memory hierarchy
JPH0816885B2 (ja) キャッシュメモリ制御方法
JPH0532776B2 (ja)
JPS63132353A (ja) キヤツシユメモリの制御方式
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JPH0529943B2 (ja)
US6397295B1 (en) Cache mechanism for shared resources in a multibus data processing system
JPH0210446A (ja) バッファ記憶装置
JPH10222423A (ja) キャッシュメモリ制御方式
JP3782178B2 (ja) 情報処理装置
JP2636760B2 (ja) マルチプロセッサシステム
JPH0415496B2 (ja)