JPH0442694B2 - - Google Patents

Info

Publication number
JPH0442694B2
JPH0442694B2 JP2115879A JP11587990A JPH0442694B2 JP H0442694 B2 JPH0442694 B2 JP H0442694B2 JP 2115879 A JP2115879 A JP 2115879A JP 11587990 A JP11587990 A JP 11587990A JP H0442694 B2 JPH0442694 B2 JP H0442694B2
Authority
JP
Japan
Prior art keywords
data
memory
cache memory
processor
address
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.)
Expired - Lifetime
Application number
JP2115879A
Other languages
English (en)
Other versions
JPH0387949A (ja
Inventor
Tetsuya Kawakami
Tadaaki Bando
Yasushi Fukunaga
Yoshinari Hiraoka
Hidekazu Matsumoto
Takeshi Kato
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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi 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 Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP2115879A priority Critical patent/JPH0387949A/ja
Publication of JPH0387949A publication Critical patent/JPH0387949A/ja
Publication of JPH0442694B2 publication Critical patent/JPH0442694B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はキヤツシユメモリの制御方法に係り、
特に共有メモリとキヤツシユメモリとの内容の一
致をとるためのキヤツシユメモリ制御装置に関す
るものである。
マルチプロセツサシステムは、複数台のプロセ
ツサと共有メモリを基本とするシステムで、各プ
ロセツサが共有メモリを使用して並列的に処理を
行えるため高性能が得られる。この様なマルチプ
ロセツサでは、各プロセツサと共有メモリを結ぶ
信号線を個別に設けると物量が増大するため、各
プロセツサに共通なバスが多く使用されている。
しかし、多数のプロセツサが唯一つの共通バス
と共有メモリを使用するため、メモリアクセスの
競合が発生し、メモリアクセス時間が長くなると
いう欠点がある。
この様な欠点を解決するためには、各プロセツ
サに共有メモリのデータの一部分をコピーして置
くためのキヤツシユメモリを設けるのが有効であ
る。なぜならば、キヤツシユメモリによつてメモ
リアクセス時間は短縮され、また大部分のメモリ
アクセスがキヤツシユメモリを使用して行われる
ので、共通バスや共有メモリの使用回数が減り、
これによりメモリアクセスの競合を減らすことが
出来るからである。
しかし、この様なキヤツシユメモリ構成では、
他のプロセツサが共有メモリにデータを書込んだ
場合、そのデータのコピーが自分のキヤツシユメ
モリにあると、共有メモリとのデータの不一致が
生じるため、キヤツシユメモリ上のデータを更新
するか、無効化する必要がある。
一般に、この一致化処理は、共通バス上のメモ
リアクセスを取込み、データの更新を行つたり、
無効化したりすることで行われるが、従来の構成
では、この一致化処理はプロセツサからのメモリ
アクセスの処理と競合するため、プロセツサから
の処理を待たせる必要があつた。この処理性能の
低下は、共通バスからのメモリアクセスを貯える
バツフアを設ける等の方法で多少は減らすことが
可能であるが、プロセツサ台数の増大とともにそ
の影響は無視出来ないものとなつている。
本発明の目的は、上記した従来技術の欠点をな
くし、プロセツサの台数が増大した場合でも、プ
ロセツサの処理性能の低下を起こさずに、キヤツ
シユメモリと共有メモリとのデータの一致を保て
るようにしたキヤツシユメモリの制御装置を提供
することにある。
本発明は複数個のプロセツサのうち少なくとも
1個に設けられたキヤツシユメモリと、各プロセ
ツサに共通バスを介して接続された共有メモリを
有し、該キヤツシユメモリは、該共有メモリのデ
ータの一部であるコピーデータを格納するデータ
記憶部と、コピーデータの共有メモリ上での位置
を示す情報(アドレス)を格納するデイレクトリ
とを有する、データ処理装置のキヤツシユメモリ
制御装置において、該デイレクトリを2個設け、
一方のデイレクトリは、自プロセツサからのキヤ
ツシユメモリへのメモリアクセス時のアドレスを
取込みアドレスチエツクを行う自己アドレスチエ
ツク手段を備え、他方のデイレクトリは、該共通
バスを介しての他プロセツサからのアドレスを取
込み他プロセツサからの共有メモリアクセスに基
づくキヤツシユメモリと共有メモリとのデータの
一致化または該キヤツシユメモリの対応するデー
タの無効化を行う一致化処理時の共通バス上のア
ドレスチエツクを行う他プロセツサアドレスチエ
ツク手段を備え、てなる。
以下、本発明を図面によつて詳細に説明する。
第1図は、共通バスを用いたマルチプロセツサ
システムの代表的な構成を示した図である。各プ
ロセツサ10,20,30は共通バス60を通し
て共有メモリ70にアクセスし、またプロセツサ
10,20には、共有メモリ70の一部データの
コピーを持つキヤツシユメモリ40,50が接続
されている。これらのキヤツシユメモリ40,5
0は、それぞれプロセツサ10,20からのメモ
リアクセスに対して次の様に動作する。
(1) リードアクセスの時 キヤツシユメモリ上に必要なデータが揃つてい
る場合は、そのデータをプロセツサに渡す。ない
場合には共有メモリから当該データを読出してプ
ロセツサに渡すと共に、キヤツシユメモリ上にも
保持して置く。この時、データと共にそのデータ
の共有メモリ上でのアドレスも保持して置く。
(2) ライトアクセス時 ライトアクセス時には、そのデータがキヤツシ
ユメモリ上にある場合には、キヤツシユメモリと
共有メモリを、ない場合には共有メモリのみを更
新する。これはストアスルー、ライトスルーと呼
ばれる方式である。
第2図は、同期式の共通バスの例を示したもの
である。このバスBはアドレスとデータを分離し
て周期T(=T1=T2=……)ごとに転送するもの
であるが、本発明は同期式の共通バスであるなら
ば良く、バスの構成には因らない。そして各周期
T1,T2,……が2つの区間t1,t2に分割され、こ
れによつてキヤツシユメモリの時分割制御が後述
のように行われる。
第3図、第4図、第5A図、第5B図および第
5C図は本発明の一実施例の構成及び動作を説明
した図である。第3図のキヤツシユメモリは、共
有メモリのデータの一部分をコピーしておくデー
タ記憶部100と、そのデータの共有メモリ上で
のアドレスを貯えるデイレクトリ80と、そのデ
ータの有効性を示す有効ビツト90を持ち、これ
らはプロセツサからのメモリアクセス処理と、共
通バス60上を同期式に転送されるメモリアクセ
スにもとづくキヤツシユメモリと共有メモリとの
データの一致化処理とで、第4図に示す様に周期
Tをt1とt2に時分割して使用される。ただし第4
図では、前者の処理はP1,P2,……と書かれた
時間帯を使用し、後者はB0,B1,……と書かれ
た時間帯を使用する。これらの後に付加されてい
る数字は、それぞれのメモリアクセスの順番を示
している。
次に各場合の動作について第5A図〜第5C図
のフローを参考にしながら説明する。
(1) ライトアクセス時(第5A図) プロセツサからのライトアクセス時には、アド
レスが第3図のプロセツサアドレスレジスタ10
1に、ライトデータがライトデータレジスタ12
1に、アクセスキーがアクセスキーレジスタ10
3にラツチされる。
そこでまず第4図のデイレクトリ80、有効ビ
ツト90のラインの上のP1で示すt2時間におい
て、プロセツサアドレスレジスタ101のカラム
ビツト部分で、セレクタ108を通して、アドレ
スとともにプロテクシヨンビツトを含むデイレク
トリ80と有効ビツト90をアクセスし、読み出
したアドレスをセレクタ107を通してやつて来
るプロセツサアドレスレジスタ101のロービツ
ト部分とコンパレータ112を用いて一致するか
どうか比較する。これが第5A図のステツプA1
である。ステツプA2では、この比較結果が一致
し、かつ有効ビツト90が有効であることを示し
ている(これをビツトと呼ぶ)ならば、デイレク
トリ80から読出したプロテクシヨンビツトと、
セレクタ110を通してやつて来るアクセスキー
レジスタ103の内容をコンパレータ113で比
較し、プロテクシヨンエラーが発生していたなら
ば、ステツプA3へ移つてそのアクセスを中止し
プロセツサに報告する。エラーがなければ、共通
バス60が使用可能となるまで共通バス占有要求
を出し続ける。すなわちステツプA4で共通バス
占有要求を出し、ステツプA5でバス使用可能か
否かを判定し、これをくり返す。そして共通バス
60が使用可能となつたサイクルから、ステツプ
A6においてアドレスとライトデータとアクセス
キーをゲート123,122,124を通して共
通バス60へ送出する。以上がバスサイクルの各
t2時間内に行われる。そしてヒツトした場合の
み、上記最後のt2時間の次のt1時間にライトデー
タレジスタ121の内容をセレクタ120を通し
てデータ記憶部100に書込む。これは第4図の
記憶部100のライン上のP1に相当する。また
このデータ記憶部100への書込みの位置は、セ
レクタ109を通してプロセツサアドレスレジス
タ101から与えられる。
(2) リードアクセス時(第5B図) プロセツサからのリードアクセス時には、アド
レスがプロセツサアドレスレジスタ101に、ア
クセスキーがアクセスキーレジスタ103にラツ
チされる。以降のデイレクトリ、有効ビツトチエ
ツク(ステツプA1)、プロテクシヨンチエツク
(ステツプA2)、およびエラー時の報告(ステツ
プA3)は、(1)のライトアクセス時と同じで、例
えば第4図のデイレクトリ80等のライン上のP
1(t2時間)に行われる。そしてヒツトか否かが
ステツプA8で(t2時間)検査され、ヒツトの時
はステツプA9へ移つて、次のサイクルのt1時間
(第4図記憶部100のライン上のP1)にプロ
セツサアドレスレジスタ101からセレクタ10
9を通して与えられるアドレスでデータ記憶部1
00の内容を読出し、セレクタ111を通してプ
ロセツサにデータを返送する。逆にステツプA8
でミスの場合には、(1)の場合と同様にステツプ
A4,A5により共通バス60を占有し、ステツプ
A10でアドレスとアセクスキーを共有メモリへ転
送する。そして、次のサイクルのt2時間にデイレ
クトリ80にアドレスを、有効ビツト90を有効
である方にセツトし、デイレクトリ80のプロテ
クシヨンビツト部分には只今共有メモリをアクセ
ス中であることを示すダミーのプロテクシヨンビ
ツトを格納する(ステツプA11)。これが何故必
要かは次の(3)で説明する。その後、共有メモリか
らリードデータと、プロテクシヨンビツトが転送
されて来たら、ステツプA12でそれぞれをリード
データレジスタ105とプロテクシヨンレジスタ
104にラツチし、次のステツプA13でt1時間に
データ記憶部100へ、またt2時間にデイレクト
リ80に格納するとともに、ステツプA14でプロ
セツサにそのデータを返送する。
(3) データ更新(第5C図) メモリアクセスが共通バス60上を転送されて
いる(ステツプA15)場合は、ステツプA16でそ
のアドレスを共通バスアドレスレジスタ102
に、アクセスキーをプロテクシヨンレジスタ10
4に、データをリードデータレジスタ105にラ
ツチする。この他、第3図には示していないが、
そのメモリアクセスがリードであるかライトであ
るかを示す情報やどのプロセツサから出されたか
を示す情報もラツチされる。そして、ステツプ
A17でセレクタ107,108,110を共通バ
ス側に倒し、t1時間にデイレクトリ、有効ビツ
ト、プロテクシヨンチエツクを前と同様に行う。
これは例えば第4図のデイレクトリ80等のライ
ン上のB1に行われる。チエツクしたメモリアク
セスがヒツトしプロテクシヨンエラーがなく、か
つそれが他プロセツサからのライトアセクスであ
るならば、ステツプA18でセレクタ109を共通
バス側に倒し次のt2時間に、リードデータレジス
タ105の内容でデータ記憶部100を更新を行
う。これは第4図の記憶部100のライン上のB
1で行われる。チエツクした結果が上記の場合以
外には、メモリアクセスが他プロセツサからのラ
イトアクセスであり、かつヒツトしているが、さ
らにステツプA19(t2時間)でプロテクシヨンエ
ラーをチエツクし、エラー発生時には、それが只
今共有メモリをアクセス中であることを示すダミ
ーのプロテクシヨンビツトによつて起こされたも
のでない限り(ステツプA21で判定)、そのライ
トアクセスは共有メモリ上でも拒絶されるので処
理を行わない(A20)。プロテクシヨンエラーが
ダミーのプロテクシヨンビツトによつて起こされ
た場合には、そのプロセツサがそのデータを共有
メモリ上から読出している最中であり、現時点で
データの更新を行つても、このリードアクセスで
古いリードデータを読出して来て、再度データの
更新を行つてしまい、キヤツシユメモリ上には古
いデータが残つてしまう。従つて、この場合には
ステツプA22(t1時間)で有効ビツト90をクリ
アすることによつて無効化を行う。なお、プロセ
ツサには古いデータが戻されることになるが、プ
ロセツサから共有メモリにそのメモリアクセスが
出された時点はライトアセクスより前であるので
問題はない。
以上説明した様に、プロセツサからのメモリア
クセス処理と、キヤツシユメモリと共有メモリと
の一致化処理とは、時分割的に記憶部100とデ
イレクトリ80等を交互に作動させているから競
合することはない。
さらに本実施例によれば、キヤツシユメモリの
無効化の回数が減少するので、ヒツト率が向上す
る効果がある。
第6図、第7図、第8図は本発明の他の実施例
の構成及び動作を説明した図である。第6図のキ
ヤツシユメモリは前の場合と同様にデイレクトリ
80、有効ビツト90、データ記憶部100を持
つが、異なる点はデータ記憶部100がプロセツ
サからのメモリアクセスの処理だけに使用される
ことである。従つてキヤツシユメモリと共有メモ
リとのデータの一致化処理は、有効ビツト90を
クリアすること、すなわち無効化することによつ
て行う。各部分の時分割の様子を第7図に示すが
この図で用いている記号は第4図のものと同じで
ある。
次に無効化の処理をこれらの図を用いて説明す
る。メモリアクセスが共通バス60上を転送され
ている場合(A30)は、そのアドレスを共通バス
アドレスレジスタ102にラツチする(ステツプ
A31)。この他、第6図には示していないが、そ
のメモリアクセスがリードであるかライトである
かを示す情報などのプロセツサから出されたかを
示す情報もラツチされる。そしてセレクタ10
7,108を共通バス側に倒し、ステツプA32で
t2時間にデイレクトリ80のチエツクを行う。そ
して、そのメモリアクセスが他プロセツサのライ
トアクセスであり、かつコンパレータ112の結
果が一致している場合には、ステツプA33で共通
バスアドレスレジスタ102のカラムビツト部分
を無効化カラムアドレスレジスタ117にラツチ
し、ステツプA34で次のt1時間に有効ビツトのク
リアを行う。
従つて、この場合もプロセツサからのメモリア
クセス処理と、キヤツシユメモリと共有メモリと
の一致化処理の競合が発生しない。
第9図、第10図、第11図は本発明の他の実
施例の構成及び動作を説明した図である。前の場
合と同様に第9図のキヤツシユメモリはデイレク
トリ80、有効ビツト90、データ記憶部100
を持ち、さらに無効化を行うためデイレクトリ8
0と同一内容の無効化デイレクトリ81を持つ。
そしてプロセツサからのメモリアクセスの処理と
キヤツシユメモリと共有メモリとのデータの一致
化処理とで時分割される部分は、有効ビツト90
のみである。各部分の時分割の様子を第10図で
示す。
この実施例の無効化処理の動作は、第6図で示
した実施例の場合とほぼ同じであり、ただデイレ
クトリのチエツクを、ステツプA35(第11図)
で無効化デイレクトリ81を使用して行う点が違
うだけである。
動作について以下詳述する。
メモリアクセスが共通バス60上に転送されて
いる場合(A30)は、そのアドレスを共通バスア
ドレスレジスタ102にラツチする(ステツプ
A31)。ラツチした内容の中のカラム(Column)
を指定する部分は、2個有したデイレクトリの一
方81にそのまま送られ、読み出された内容とロ
ーアドレス(Row)の内容が比較器118でチ
エツクされる(ステツプA35)。
この時、デイレクトリ81を占有して使用でき
るため、遅いメモリ素子、論理素子を使用するこ
とができる。
デイレクトリが一致した場合は制御部114に
よつて、有効ビツト90の内容がクリアされる動
作は、第6図〜第8図の動きと同様である(ステ
ツプA33,A34)。不一致の場合は何も行われな
い。
一方、CPUからのアクセスはレジスタ101
にアドレスがセツトされ、カラムを指定する部分
(Column)はそのまま、デイレクトリ80のア
ドレスとして使われる。比較器112によつて一
致がとられた場合はデータ部100の内容が読み
出され、不一致の場合はメモリに対するアクセス
が行われる。この動作については周知である。
以上の実施例においては、80,81と同一の
内容を有するデイレクトリを2つ有するようにし
たため、第7図のデイレクトリが1タイムスケー
ルTiを2分割して前半部をプロセツサからのア
クセスPi、後半部をバスからのアクセスBiに使
用しているのに対し、第10図に示すように、8
0,81のデイレクトリはそれぞれプロセツサか
らのアクセス、バスからのアクセスに1タイムス
ケールTiを占有して使用できるようになつてい
る。この実施例によれば、メモリアクセス処理と
一致化処理との競合をさけることができる効果を
有する。更に比較的低速なメモリ素子でデイレク
トリを構成でき、また各回路部分112,11
4,118、等の制御部分も低速な素子を使い得
るとの効果を有する。
以上述べて来た様に、本発明によれば、プロセ
ツサからのメモリアクセス処理と、キヤツシユメ
モリと共有メモリとのデータの一致化処理とを競
合させない条件のもとで、無効化処理を矛盾なく
行うことのできるマルチプロセツサシステムを実
現できる効果がある。
【図面の簡単な説明】
第1図は共通バスを用いたマルチプロセツサシ
ステムの代表的な構成を示した図、第2図は同期
式の共通バスの一例を示す図、第3図は本発明に
よるキヤツシユメモリの構成の一実施例を示す
図、第4図は第3図の構成における各部分の時分
割動作の説明図、第5A図〜第5C図は第3図の
キヤツシユメモリの動作説明のためのフローチヤ
ート、第6図は本発明によるキヤツシユメモリの
構成の他の実施例を示す図、第7図は第8図の構
成における各部分の時分割動作の説明図、第8図
は第6図のキヤツシユメモリの動作説明のための
フローチヤート、第9図は本発明によるキヤツシ
ユメモリの構成のもう1つの別の実施例を示す
図、第10図は第9図の構成における各部分の時
分割動作の説明図、第11図は第9図のキヤツシ
ユメモリの動作説明のためのフローチヤートであ
る。 10,20,30……プロセツサ、40,50
……キヤツシユメモリ、60……共通バス、70
……共有メモリ、80,81……デイレクトリ、
90……有効ビツト、100……データ記憶部。

Claims (1)

  1. 【特許請求の範囲】 1 複数個のプロセツサのうち少なくとも1個に
    設けられたキヤツシユメモリと、各プロセツサに
    共通バスを介して接続された共有メモリを有し、
    該キヤツシユメモリは、該共有メモリのデータの
    一部であるコピーデータを格納するデータ記憶部
    と、コピーデータの共有メモリ上での位置を示す
    情報(アドレス)を格納するデイレクトリとを有
    する、データ処理装置のキヤツシユメモリ制御装
    置において、該デイレクトリを2個設け、一方の
    デイレクトリは、自プロセツサからのキヤツシユ
    メモリへのメモリアクセス時のアドレスを取込み
    アドレスチエツクを行う自己アドレスチエツク手
    段を備え、他方のデイレクトリは、該共通バスを
    介しての他プロセツサからのアドレスを取込み他
    プロセツサからの共有メモリアクセスに基づくキ
    ヤツシユメモリと共有メモリとのデータの一致化
    または該キヤツシユメモリの対応するデータの無
    効化を行う一致化処理時の共通バス上のアドレス
    チエツクを行う他プロセツサアドレスチエツク手
    段を備え、てなることを特徴とするキヤツシユメ
    モリ制御装置。 2 上記複数個のプロセツサは、3台以上とする
    特許請求の範囲第1項記載のキヤツシユメモリ制
    御装置。
JP2115879A 1990-05-07 1990-05-07 キャッシュメモリ制御装置 Granted JPH0387949A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2115879A JPH0387949A (ja) 1990-05-07 1990-05-07 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2115879A JPH0387949A (ja) 1990-05-07 1990-05-07 キャッシュメモリ制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP56055667A Division JPS57172582A (en) 1981-04-15 1981-04-15 Cash memory control method

Publications (2)

Publication Number Publication Date
JPH0387949A JPH0387949A (ja) 1991-04-12
JPH0442694B2 true JPH0442694B2 (ja) 1992-07-14

Family

ID=14673437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2115879A Granted JPH0387949A (ja) 1990-05-07 1990-05-07 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JPH0387949A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3855877B2 (ja) 2002-08-06 2006-12-13 株式会社デンソー 空燃比検出装置の劣化検出装置

Also Published As

Publication number Publication date
JPH0387949A (ja) 1991-04-12

Similar Documents

Publication Publication Date Title
EP0029517B1 (en) Store-in-cache mode data processing apparatus
EP0072179B1 (en) Clearing invalid addresses in cache memory
US5146603A (en) Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
US4142234A (en) Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
AU628528B2 (en) Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US6564306B2 (en) Apparatus and method for performing speculative cache directory tag updates
US5802582A (en) Explicit coherence using split-phase controls
US4959777A (en) Write-shared cache circuit for multiprocessor system
US4768148A (en) Read in process memory apparatus
JP2553274B2 (ja) 高速データ・アクセス・システム
KR100496116B1 (ko) 멀티프로세서 장치
US3947823A (en) Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage
JPS58212694A (ja) メモリシステム
US6463506B1 (en) Arrangement of data within cache lines so that tags are first data received
CA2182841C (en) Multi-processor system and method for synchronizing among processors
EP0474450A2 (en) Processor system with improved memory transfer means
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5241639A (en) Method for updating data from a cache address location to main memory and maintaining the cache address in registration memory
US6594732B1 (en) Computer system with memory system in which cache memory is kept clean
EP0153109B1 (en) Cache coherence system
JPH0442694B2 (ja)
JPH0127455B2 (ja)
AU633898B2 (en) Method and means for interfacing a system control unit for a multi-processor system with the system main memory
JPS60701B2 (ja) デ−タ処理装置