JPH0387949A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置

Info

Publication number
JPH0387949A
JPH0387949A JP2115879A JP11587990A JPH0387949A JP H0387949 A JPH0387949 A JP H0387949A JP 2115879 A JP2115879 A JP 2115879A JP 11587990 A JP11587990 A JP 11587990A JP H0387949 A JPH0387949 A JP H0387949A
Authority
JP
Japan
Prior art keywords
data
cache memory
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.)
Granted
Application number
JP2115879A
Other languages
English (en)
Other versions
JPH0442694B2 (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)

Abstract

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

Description

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7285204B2 (en) 2002-08-06 2007-10-23 Denso Corporation Apparatus for detecting deterioration of air-fuel ratio sensor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7285204B2 (en) 2002-08-06 2007-10-23 Denso Corporation Apparatus for detecting deterioration of air-fuel ratio sensor

Also Published As

Publication number Publication date
JPH0442694B2 (ja) 1992-07-14

Similar Documents

Publication Publication Date Title
US4142234A (en) Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
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
US4481573A (en) Shared virtual address translation unit for a multiprocessor system
JPS58212694A (ja) メモリシステム
EP0408058A2 (en) Microprocessor
EP0474450A2 (en) Processor system with improved memory transfer means
EP0533427B1 (en) Computer memory control system
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US4658356A (en) Control system for updating a change bit
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH0387949A (ja) キャッシュメモリ制御装置
JPH0760411B2 (ja) バッファ記憶制御装置
JPS644214B2 (ja)
JPS60701B2 (ja) デ−タ処理装置
JPH0127455B2 (ja)
JPS6012670B2 (ja) マルチcpuシステムにおけるバツフア・インバリデ−ト方式
JP2703255B2 (ja) キャッシュメモリ書込み装置
JPS5818710B2 (ja) 記憶システム
JP3226557B2 (ja) マルチプロセッサシステム
JPS63247852A (ja) キヤツシユメモリ制御方法
JPS5842546B2 (ja) ストア制御方式
KR100201671B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법
JPH0454259B2 (ja)