JPH01145746A - キャッシュ・メモリー - Google Patents
キャッシュ・メモリーInfo
- Publication number
- JPH01145746A JPH01145746A JP62305031A JP30503187A JPH01145746A JP H01145746 A JPH01145746 A JP H01145746A JP 62305031 A JP62305031 A JP 62305031A JP 30503187 A JP30503187 A JP 30503187A JP H01145746 A JPH01145746 A JP H01145746A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tag
- processor
- storage section
- flag
- 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
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は共有メモリーを有する密結合型のマルチ・プロ
セッサ・マルチ・キャッシュ・システムにおいて、他の
プロセッサが主記憶データを更新した時、自らのキャッ
シュ・メモリー中のデータを更新することを可能とした
キャッシュ・メモリーに関するものであり、特にタグ・
フラグ記憶部とデータ記憶部に2ポート・ラムを用いる
ものである。
セッサ・マルチ・キャッシュ・システムにおいて、他の
プロセッサが主記憶データを更新した時、自らのキャッ
シュ・メモリー中のデータを更新することを可能とした
キャッシュ・メモリーに関するものであり、特にタグ・
フラグ記憶部とデータ記憶部に2ポート・ラムを用いる
ものである。
従来の技術
近年、コンピュータ・システムの高性能化に対する要求
は高まる一方なので、コンピュータ・システムの設計に
おいては、特にそのアーキテクチャがますます重要視さ
れている。そして、32ビツトの高性能なマイクロプロ
セサの入手が容易になってきたことを背景に、これらを
複数個用いたマルチプロセサ・システムの開発が盛んに
なっている。
は高まる一方なので、コンピュータ・システムの設計に
おいては、特にそのアーキテクチャがますます重要視さ
れている。そして、32ビツトの高性能なマイクロプロ
セサの入手が容易になってきたことを背景に、これらを
複数個用いたマルチプロセサ・システムの開発が盛んに
なっている。
マルチ・プロセサの構成方式の1つに共有メモリを持つ
密結合方式がある。この方式は複数のプロセサと主記憶
をシステム・バスで結合して、各プロセサがシステム・
バスを介して対等に主記憶のデータを参照できるように
したものである。この方式はシステム・バスの利用率が
非常に高くなりプロセサの台数に比例した性能が得難い
ので、各プロセサにキャッシュ・メモリを持たせシステ
ム・バスの利用率を低下させることでこの性能低下を避
けることが一般的である。
密結合方式がある。この方式は複数のプロセサと主記憶
をシステム・バスで結合して、各プロセサがシステム・
バスを介して対等に主記憶のデータを参照できるように
したものである。この方式はシステム・バスの利用率が
非常に高くなりプロセサの台数に比例した性能が得難い
ので、各プロセサにキャッシュ・メモリを持たせシステ
ム・バスの利用率を低下させることでこの性能低下を避
けることが一般的である。
このようにすると同一データが複数のキャッシュ・メモ
リ内に点在する可能性がある。従ってシステムに分散し
た同一データの一致性を保つ必要が生しる。これを解決
するために、まず、あるプロセサが自身のキャッシュ・
メモリのデータを更新するときは必ず対応する主記憶デ
ータも更新することにする。その結果、あるキャッシュ
・メモリ内のデータが更新されると必ずシステム・バス
上を書込み信号が通過することになる。次に、常にシス
テム・バス上の書込み信号を監視する回路を設けて各キ
ャッシュ・メモリと連動させて、システム内のどこかで
更新されたデータが自身のキャッシュ・メモリに存在す
るか調べる。存在が判明すると、対応するデータの有効
・無効を示すフラグを無効化することで旧データがシス
テム内に残留しないことを保証する。あるいは、データ
を更新することも考えられる。
リ内に点在する可能性がある。従ってシステムに分散し
た同一データの一致性を保つ必要が生しる。これを解決
するために、まず、あるプロセサが自身のキャッシュ・
メモリのデータを更新するときは必ず対応する主記憶デ
ータも更新することにする。その結果、あるキャッシュ
・メモリ内のデータが更新されると必ずシステム・バス
上を書込み信号が通過することになる。次に、常にシス
テム・バス上の書込み信号を監視する回路を設けて各キ
ャッシュ・メモリと連動させて、システム内のどこかで
更新されたデータが自身のキャッシュ・メモリに存在す
るか調べる。存在が判明すると、対応するデータの有効
・無効を示すフラグを無効化することで旧データがシス
テム内に残留しないことを保証する。あるいは、データ
を更新することも考えられる。
以下図面を参照しながら、上述した従来のキャッシュ・
メモリの一例について説明する。
メモリの一例について説明する。
第2図は従来のデータを更新する方式のキャッシュ・メ
モリを用いたプロセッサ・システムの構成を示すもので
ある。第2回において、201はプロセサである。20
2は第1アドレス記憶部であり、プロセサからの下位ア
ドレス(以下、インデックスと呼ぶ)参照によりプロセ
サからの上位アドレス(以下、タグと呼ぶ)を記憶する
。
モリを用いたプロセッサ・システムの構成を示すもので
ある。第2回において、201はプロセサである。20
2は第1アドレス記憶部であり、プロセサからの下位ア
ドレス(以下、インデックスと呼ぶ)参照によりプロセ
サからの上位アドレス(以下、タグと呼ぶ)を記憶する
。
204は第1比較部であり、202に記憶されたタグと
201のプロセサからのタグとを比較する。
201のプロセサからのタグとを比較する。
209はデータ記憶部であり、202に記憶したタグと
それを参照するインデックスとで示すアドレスに対応す
るデータを記憶する。206は201のプロセサのイン
デックスにより参照される第1フラグ記憶部であり、2
02に記憶されているタグと209に記憶されているデ
ータの関係が有効か無効かを示すフラグを記tαする。
それを参照するインデックスとで示すアドレスに対応す
るデータを記憶する。206は201のプロセサのイン
デックスにより参照される第1フラグ記憶部であり、2
02に記憶されているタグと209に記憶されているデ
ータの関係が有効か無効かを示すフラグを記tαする。
211はバス・モニタであり、システム・バス上を書込
み信号が通過したときそのアドレス値とデータ値をラン
チする。203は第2アドレス記憶部であり、201の
プロセサからのインデックス参照により201のプロセ
サのタグを記憶する。また、203は211のバス・モ
ニタからのインデックス参照によりタグを出力する。2
05は第2比較部であり、203に記憶されたタグと2
11のバス・モニタからのタグとを比較する。210は
データ記憶部であり、202に記憶したタグとそれを参
照するインデックスとで示すアドレスに対応するデータ
を記憶する。207は201のプロセサのインデックス
あるいは211のバス・モニタのインデックスにより参
照される第2フラグ記憶部であり、203に記憶されて
いるタグと210に記憶されているデータの関係が有効
か無効かを示すフラグを記tαする。20Bは制御部で
ある。
み信号が通過したときそのアドレス値とデータ値をラン
チする。203は第2アドレス記憶部であり、201の
プロセサからのインデックス参照により201のプロセ
サのタグを記憶する。また、203は211のバス・モ
ニタからのインデックス参照によりタグを出力する。2
05は第2比較部であり、203に記憶されたタグと2
11のバス・モニタからのタグとを比較する。210は
データ記憶部であり、202に記憶したタグとそれを参
照するインデックスとで示すアドレスに対応するデータ
を記憶する。207は201のプロセサのインデックス
あるいは211のバス・モニタのインデックスにより参
照される第2フラグ記憶部であり、203に記憶されて
いるタグと210に記憶されているデータの関係が有効
か無効かを示すフラグを記tαする。20Bは制御部で
ある。
以上のように構成されたキャッシュ・メモリについて、
以下その動作について説明する。
以下その動作について説明する。
まず、システム起動時のデータの設定について説明する
。202の第1アドレス記憶部と203の第2アドレス
記憶部と209の第1データ記憶部と210の第2デー
タ記憶部はシステム起動時には内容は不定である。また
、206の第1フラグ記憶部と207の第2フラグ記憶
部はシステム起動後なんらかの方法によりフラグを無効
値に設定する。
。202の第1アドレス記憶部と203の第2アドレス
記憶部と209の第1データ記憶部と210の第2デー
タ記憶部はシステム起動時には内容は不定である。また
、206の第1フラグ記憶部と207の第2フラグ記憶
部はシステム起動後なんらかの方法によりフラグを無効
値に設定する。
次に、各構成要素間の信号経路を概略説明する。
202は201のインデックスで参照されて201のタ
グの入力あるいは出力を行う。203は通常バス・モニ
タからのインデックスで参照されて記憶しているタグを
出力する。また、202の内容が更新されたときには2
01のインデックスで参照されて201のタグを入力す
る。この処理の間はバス・モニタリングは停止される。
グの入力あるいは出力を行う。203は通常バス・モニ
タからのインデックスで参照されて記憶しているタグを
出力する。また、202の内容が更新されたときには2
01のインデックスで参照されて201のタグを入力す
る。この処理の間はバス・モニタリングは停止される。
204は202の出力と201のタグと比較する。
205は203の出力と211のタグとを比較する。2
04と205の比較結果は208の制御部への入力とな
る。206と207の一方は201と接続されていて、
他方は211に接続されている。この接続関係は108
の制御により動的に切り替えられる。206と207は
201ないし211のインデックスで参照されて208
とフラグ情報を人出力する。209と210の一方は2
01と接続されていて、他方は211に接続されている
。この接続関係は208の制御により動的に切り替えら
れる。206と209.207と210は連動している
。206と207は201ないし211のインデックス
で参照されて201ないし211のデータを入出力する
。211はシステム・バスからアドレスとデータを入力
する。
04と205の比較結果は208の制御部への入力とな
る。206と207の一方は201と接続されていて、
他方は211に接続されている。この接続関係は108
の制御により動的に切り替えられる。206と207は
201ないし211のインデックスで参照されて208
とフラグ情報を人出力する。209と210の一方は2
01と接続されていて、他方は211に接続されている
。この接続関係は208の制御により動的に切り替えら
れる。206と209.207と210は連動している
。206と207は201ないし211のインデックス
で参照されて201ないし211のデータを入出力する
。211はシステム・バスからアドレスとデータを入力
する。
いま、プロセッサがこのキャッシュ・メモリーからデー
タを読出す場合について説明する。
タを読出す場合について説明する。
201がまずアドレス(インデックスとタグ)を出力す
る。インデックスは202.206.209へ入力され
る。202はインデックスに対応するタグを204へ出
力する。204は201のタグと204の出力を比較し
て一致/不一致の信号を208へ出力する。206はイ
ンデックスに対応するフラグを208へ出力する。20
8は204より一致信号を受けかつ206より有効フラ
グ信号を受けた場合には209に出力許可をする。する
と209はインデックスに対応するデータをプロセッサ
・バス上に出力することができるので、201はこれを
取り込み、読出し処理を終了する。
る。インデックスは202.206.209へ入力され
る。202はインデックスに対応するタグを204へ出
力する。204は201のタグと204の出力を比較し
て一致/不一致の信号を208へ出力する。206はイ
ンデックスに対応するフラグを208へ出力する。20
8は204より一致信号を受けかつ206より有効フラ
グ信号を受けた場合には209に出力許可をする。する
と209はインデックスに対応するデータをプロセッサ
・バス上に出力することができるので、201はこれを
取り込み、読出し処理を終了する。
もし208が204より不一致信号を受けた場合かある
いは206より無効フラグ信号を受けた場合には209
に出力禁止をする。このときは201はシステム・バス
を経由して主記憶からデータを読出す。引続き208は
制御を書込みに移す。つまり、この主記憶へのアクセス
時に202は現在のタグを、206は有効フラグ信号を
、209は新データを書込む。
いは206より無効フラグ信号を受けた場合には209
に出力禁止をする。このときは201はシステム・バス
を経由して主記憶からデータを読出す。引続き208は
制御を書込みに移す。つまり、この主記憶へのアクセス
時に202は現在のタグを、206は有効フラグ信号を
、209は新データを書込む。
次に、プロセッサがこのキャッジトメモリーにデータを
書込む場合について説明する。ただし、書込みのアルゴ
リズムは4m’−であり、このアルゴリズムの差は制御
部の制御方法に帰着できるのでアルゴリズムによって本
発明は拘束されない。そこで、以下、プロセッサが書込
むときは無条件にキャッシュの更新を行いデータ記憶部
のデータ長と同一の長さのデータを書込む時はフラグを
有効とし、異なる長さのデータを書込む時はフラグを無
効とするアルゴリズムを例として書込み動作について説
明する。201がまずアドレス(インデックスとタグ)
を出力する。インデックスは202.206.209へ
入力される。202はインデックスに対応してタグを記
憶する。206はインデックスに対応してフラグを記憶
する。このとき208はプロセッサが書込むデータ長に
応じてフラグを有効値あるいは無効値に制御する。
書込む場合について説明する。ただし、書込みのアルゴ
リズムは4m’−であり、このアルゴリズムの差は制御
部の制御方法に帰着できるのでアルゴリズムによって本
発明は拘束されない。そこで、以下、プロセッサが書込
むときは無条件にキャッシュの更新を行いデータ記憶部
のデータ長と同一の長さのデータを書込む時はフラグを
有効とし、異なる長さのデータを書込む時はフラグを無
効とするアルゴリズムを例として書込み動作について説
明する。201がまずアドレス(インデックスとタグ)
を出力する。インデックスは202.206.209へ
入力される。202はインデックスに対応してタグを記
憶する。206はインデックスに対応してフラグを記憶
する。このとき208はプロセッサが書込むデータ長に
応じてフラグを有効値あるいは無効値に制御する。
209はインデックスに対応してデータを書込む。
こうして、202.206.209の更新を終了する。
本発明では、さらに、上記のようにして202.206
.209の各記憶部の内容が更新されたときは、203
.207.210の各記憶部も対応して内容を更新する
必要がある。その更新アルゴリズムは、本発明の特徴で
あるバス・モニタ側からのデータの更新機能と関連する
。その更新アルゴリズム自体は本発明を拘束するもので
はない。
.209の各記憶部の内容が更新されたときは、203
.207.210の各記憶部も対応して内容を更新する
必要がある。その更新アルゴリズムは、本発明の特徴で
あるバス・モニタ側からのデータの更新機能と関連する
。その更新アルゴリズム自体は本発明を拘束するもので
はない。
そこで、プロセッサが関与して202.206.209
の内容を更新した場合、次のステップでハス・モニタに
優先して203.207.210の更新を行うアルゴリ
ズムを用いる場合について説明する。この場合203.
207.210内部には、更新するに必要なインデック
ス、タグ、データ、フラグは一時的に保持することがで
きるようなレジスタを設けておき、208の制御下でこ
れらのデータを書込む。
の内容を更新した場合、次のステップでハス・モニタに
優先して203.207.210の更新を行うアルゴリ
ズムを用いる場合について説明する。この場合203.
207.210内部には、更新するに必要なインデック
ス、タグ、データ、フラグは一時的に保持することがで
きるようなレジスタを設けておき、208の制御下でこ
れらのデータを書込む。
以上でキャッシュ・アクセスに関連する本発明のキャッ
シュ・メモリーの動作説明を終える。
シュ・メモリーの動作説明を終える。
以下、バス・モニタリングに関連する本発明のキャッシ
ュ・メモリーの動作を説明する。
ュ・メモリーの動作を説明する。
211のバス・モニタは従来の場合アドレスをラッチす
る機能があれば良かったが本発明のキャッシュ・メモリ
ーを用いる時にはアドレスとデータをラッチする機能が
必要である。211のインデックスは203.210に
入力される。203はインデックスに対応するタグを2
05へ出力する。205は211のタグと203の出力
を比較して一致/不一致の信号を208へ出力する。
る機能があれば良かったが本発明のキャッシュ・メモリ
ーを用いる時にはアドレスとデータをラッチする機能が
必要である。211のインデックスは203.210に
入力される。203はインデックスに対応するタグを2
05へ出力する。205は211のタグと203の出力
を比較して一致/不一致の信号を208へ出力する。
20Bは205より不一致信号を受けた場合には、他の
プロセッサが更新したデータは自らのキャッシュ内には
存在しないのでバス・モニタリングの処理を終了する。
プロセッサが更新したデータは自らのキャッシュ内には
存在しないのでバス・モニタリングの処理を終了する。
もし208が205より一致信号を受けた場合には他の
プロセッサが更新したデータは自らのキャッシュ内に存
在することになるのでデータを更新する。208は制御
を書込みに移す、このとき、203の内容であるタグは
同一なので更新する必要はない、21Oには211のイ
ンデックスに対応して211からの新データを記憶する
。207には、適当なフラグを208の制御で書込む。
プロセッサが更新したデータは自らのキャッシュ内に存
在することになるのでデータを更新する。208は制御
を書込みに移す、このとき、203の内容であるタグは
同一なので更新する必要はない、21Oには211のイ
ンデックスに対応して211からの新データを記憶する
。207には、適当なフラグを208の制御で書込む。
ここでいう適当とは、以下のような意味である。データ
記憶部のデータ長と新データのデータ長が一致する場合
には有効フラグとし、−敗しないときは無効フラグとす
る。あるいは、システム・バス上に転送する書込みデー
タに対してデータの更新の可否などを示す情報が付随し
ている場合などはこれらの信号のデコード結果を考慮し
てフラグ種を決定する。
記憶部のデータ長と新データのデータ長が一致する場合
には有効フラグとし、−敗しないときは無効フラグとす
る。あるいは、システム・バス上に転送する書込みデー
タに対してデータの更新の可否などを示す情報が付随し
ている場合などはこれらの信号のデコード結果を考慮し
てフラグ種を決定する。
上記のようにして207.210の各記憶部の内容が更
新された時には、206.209の各記憶部の内容も更
新する必要がある。プロセッサ側からの更新とバス・モ
ニタ側からの更新が重複するようなときは、たとえば、
次のようなアルゴリズムをもちいれば良い。プロセッサ
側からの更新の間隙に206と209を更新する。この
とき、211は203と205を用いた比較期間と、2
07と210のデータ更新期間と、206と209のデ
ータ更新期間の間アドレスとデータを保持すればよい。
新された時には、206.209の各記憶部の内容も更
新する必要がある。プロセッサ側からの更新とバス・モ
ニタ側からの更新が重複するようなときは、たとえば、
次のようなアルゴリズムをもちいれば良い。プロセッサ
側からの更新の間隙に206と209を更新する。この
とき、211は203と205を用いた比較期間と、2
07と210のデータ更新期間と、206と209のデ
ータ更新期間の間アドレスとデータを保持すればよい。
次に、2組のフラグ記憶部とデータ記憶部の接続関係を
切り替える動作について説明する。2組のフラグ記jl
J部とデータ記憶部はプロセッサ側とバス・モニタ側で
対称的に構成する。207と210のデータを更新した
次のステップで、2組のデフラグ記憶部とデータ記憶部
の接続関係を反転する。このようにするとバス・モニタ
側からデータを更新した場合、そのデータが即座にプロ
セッサで利用可能である。
切り替える動作について説明する。2組のフラグ記jl
J部とデータ記憶部はプロセッサ側とバス・モニタ側で
対称的に構成する。207と210のデータを更新した
次のステップで、2組のデフラグ記憶部とデータ記憶部
の接続関係を反転する。このようにするとバス・モニタ
側からデータを更新した場合、そのデータが即座にプロ
セッサで利用可能である。
発明が解決しようとする問題点
しかしながら上記のような構成では、プロセサをバス・
モニタに優先したうえ、アドレス記憶部、比較部、フラ
グ記憶部、データ記憶部を各々2組もつことでプロセサ
がバスモニタリングに干渉されることはないもののバス
・モニタ内にはFIFOのようなハードウェアのキエウ
を持つ必要がある。
モニタに優先したうえ、アドレス記憶部、比較部、フラ
グ記憶部、データ記憶部を各々2組もつことでプロセサ
がバスモニタリングに干渉されることはないもののバス
・モニタ内にはFIFOのようなハードウェアのキエウ
を持つ必要がある。
もし、このキュウが詰ればシステム・バスを止めなけれ
ばならず、これによるシステムの性能低下を軽減するた
めには深いキュウが必要でコスト高になるという問題を
有していた。また、アドレス記憶部、比較部、フラグ記
憶部、データ記憶部を各々2&Ilもつことも回路規模
が大きくなるのみならず、コスト高になるという問題を
有していた。
ばならず、これによるシステムの性能低下を軽減するた
めには深いキュウが必要でコスト高になるという問題を
有していた。また、アドレス記憶部、比較部、フラグ記
憶部、データ記憶部を各々2&Ilもつことも回路規模
が大きくなるのみならず、コスト高になるという問題を
有していた。
本発明は上記問題点に鑑み、従来のアドレス記憶部・フ
ラグ記憶部・データ記憶部に2ボート・ラムを用いるこ
とでプロセサのキャッシュ・メモリへの参照動作を疎外
せずに、たま、バス・モニタ内部に大きいキエウを持た
なくてもバスモニタリング動作を行うことができるキャ
ッシュ・メモリを提供するものである。
ラグ記憶部・データ記憶部に2ボート・ラムを用いるこ
とでプロセサのキャッシュ・メモリへの参照動作を疎外
せずに、たま、バス・モニタ内部に大きいキエウを持た
なくてもバスモニタリング動作を行うことができるキャ
ッシュ・メモリを提供するものである。
問題点を解決するための手段
上記問題点を解決するために本発明のキャッシュ・メモ
リは、従来のキャッシュ・メモリのアドレス記憶部・フ
ラグ記憶部・データ記憶部を2ボート・ラムで構成する
。
リは、従来のキャッシュ・メモリのアドレス記憶部・フ
ラグ記憶部・データ記憶部を2ボート・ラムで構成する
。
作用
本発明は上記した構成によって、キャッシュ・アクセス
は、プロセンサが2ボート・ラムで構成されるタグ記憶
部とデータ記憶部の各々第1ボートを用いることで実現
できる。またバス・モニタリングは2ボート・ラムで構
成されるタグ・フラグ記憶部とデータ記憶部の各々第2
ボートを用いることで実現できる。従って、キャッシュ
・アクセスとバス・モニタリングは並行動作可能である
。
は、プロセンサが2ボート・ラムで構成されるタグ記憶
部とデータ記憶部の各々第1ボートを用いることで実現
できる。またバス・モニタリングは2ボート・ラムで構
成されるタグ・フラグ記憶部とデータ記憶部の各々第2
ボートを用いることで実現できる。従って、キャッシュ
・アクセスとバス・モニタリングは並行動作可能である
。
実施例
以下本発明の一実施例のキャッシュ・メモリについて、
図面を参照しながら説明する。
図面を参照しながら説明する。
第1図は本発明の第1の実施例におけるキャッシュ・メ
モリの構成を示すものである。第1図において、101
はプロセッサである。102はタグ・フラグ記憶部、1
03はデータ記憶部であり、104はバス・インターフ
ェイス、105はハス・モニタである。
モリの構成を示すものである。第1図において、101
はプロセッサである。102はタグ・フラグ記憶部、1
03はデータ記憶部であり、104はバス・インターフ
ェイス、105はハス・モニタである。
以上のように構成されたキャッシュ・メモリーについて
、以下第1図を用いてその動作を説明する。
、以下第1図を用いてその動作を説明する。
まず、プロセサがキャッシュ・メモリからデータを読む
動作について説明する。102のタグ・フラグ記憶部は
従来のアドレス記憶部とフラグ記憶部の機能を存するも
のである。101のプロセサがアドレス(インデックス
とタグ)を発生すると102はそのインデックスに応じ
たタグとフラグを110に出力する。110は102の
タグ出力値と101の発生したタグとを内部で比較して
それらの信号が一致し、かつフラグが有効であれば(キ
ャッシュ・ヒツト)、103のデータ記憶部に出力許可
を出す。103は出力許可を受けると101の発生して
いるインデックスに対応するデータを101に返す、も
し、キャッシュ・ヒントでないときは110は103へ
出力禁止を出して104のバス・インターフェイスを起
動する。
動作について説明する。102のタグ・フラグ記憶部は
従来のアドレス記憶部とフラグ記憶部の機能を存するも
のである。101のプロセサがアドレス(インデックス
とタグ)を発生すると102はそのインデックスに応じ
たタグとフラグを110に出力する。110は102の
タグ出力値と101の発生したタグとを内部で比較して
それらの信号が一致し、かつフラグが有効であれば(キ
ャッシュ・ヒツト)、103のデータ記憶部に出力許可
を出す。103は出力許可を受けると101の発生して
いるインデックスに対応するデータを101に返す、も
し、キャッシュ・ヒントでないときは110は103へ
出力禁止を出して104のバス・インターフェイスを起
動する。
101は104を介して主記憶よりデータを獲得する。
このとき、102と103のデータは更新される。
次に書込み動作について説明する。プロセサが上記↑Q
にデータを書込むときのキャッシュ・メモリの更新のア
ルゴリズムは様々である。いま、−例として、一つのタ
グに対応するデータ長のデータを書込むときはそのタグ
を102へ、有効フラグを102へ、さらにそのデータ
を103へ書込むとする。また、一つのタグに対応する
データ長以下のデータを書込む場合には少なくとも10
2へ無効フラグを書込むとする。以上のようなアルゴリ
ズムを仮定するとプロセサは書込みサイクルになると無
条件にデータを102と103に書込むことになる。こ
のときの書込みデータは104を介して、主記憶にも書
込まれる。110は上記書込みの制御を行う。その制御
は書込みアルゴリズムに依存するが本発明を拘束するも
のではない。
にデータを書込むときのキャッシュ・メモリの更新のア
ルゴリズムは様々である。いま、−例として、一つのタ
グに対応するデータ長のデータを書込むときはそのタグ
を102へ、有効フラグを102へ、さらにそのデータ
を103へ書込むとする。また、一つのタグに対応する
データ長以下のデータを書込む場合には少なくとも10
2へ無効フラグを書込むとする。以上のようなアルゴリ
ズムを仮定するとプロセサは書込みサイクルになると無
条件にデータを102と103に書込むことになる。こ
のときの書込みデータは104を介して、主記憶にも書
込まれる。110は上記書込みの制御を行う。その制御
は書込みアルゴリズムに依存するが本発明を拘束するも
のではない。
以上の動作においてプロセサは2ボート・ラムで構成さ
れたタグ・フラグ記憶部とデータ記憶部の第1ポートを
用いる。
れたタグ・フラグ記憶部とデータ記憶部の第1ポートを
用いる。
次に、バス・モニタリングの動作説明をする。
105のバス・モニタはシステム・バスのデータをバス
・クロック・サイクルごとにラッチしている。このシス
テム・バスに書込み信号が走るとそのときラッチしたア
ドレス値を102のタグ・フラグ記jlJ部に送る。1
02は105からのインデックスにより参照されるタグ
値とフラグを110に出力する。110はこのタグ値と
105からのタグとを比較する。その結果タグが一致し
てフラグが有効であれば(モニタ・ヒツト)、110は
103に書込み許可信号を発生して105からのデータ
を103へ書込む。もし、モニタ・ヒツトでなければ、
103のデータは更新しない。上記IO2を用いたモニ
タ・ヒントの有無のチエツク朋間と103へのデータ更
新期間が2サイクルかかるときには、105のバス・モ
ニタ内部に一段のラッチ回路を設ければ良い。また、以
上のバス・モニタリング動作は2ボート・ラムで構成さ
れるタグ記憶部とデータ記憶部の第2ボートを用いる。
・クロック・サイクルごとにラッチしている。このシス
テム・バスに書込み信号が走るとそのときラッチしたア
ドレス値を102のタグ・フラグ記jlJ部に送る。1
02は105からのインデックスにより参照されるタグ
値とフラグを110に出力する。110はこのタグ値と
105からのタグとを比較する。その結果タグが一致し
てフラグが有効であれば(モニタ・ヒツト)、110は
103に書込み許可信号を発生して105からのデータ
を103へ書込む。もし、モニタ・ヒツトでなければ、
103のデータは更新しない。上記IO2を用いたモニ
タ・ヒントの有無のチエツク朋間と103へのデータ更
新期間が2サイクルかかるときには、105のバス・モ
ニタ内部に一段のラッチ回路を設ければ良い。また、以
上のバス・モニタリング動作は2ボート・ラムで構成さ
れるタグ記憶部とデータ記憶部の第2ボートを用いる。
以上キャッシュ・アクセス動作とバス・モニタリング動
作について説明したが、これらは並行に動作可能である
。ただし、2ボート・ラムの機能か、ら同一アドレスに
対してプロセサとバス・モニタが同時にアクセスするこ
とだけは禁止する回路を110内部にもつ必要がある。
作について説明したが、これらは並行に動作可能である
。ただし、2ボート・ラムの機能か、ら同一アドレスに
対してプロセサとバス・モニタが同時にアクセスするこ
とだけは禁止する回路を110内部にもつ必要がある。
このときは、プロセサの動作を一時中断するか、システ
ム・バス動作を中断する必要がある。密結合のマルチプ
ロセサ・システムのシステム全体の性能を考慮すると、
プロセサの動作を一時中断するほうが得策だと思われる
。
ム・バス動作を中断する必要がある。密結合のマルチプ
ロセサ・システムのシステム全体の性能を考慮すると、
プロセサの動作を一時中断するほうが得策だと思われる
。
II iTD回路は、プロセサのキャッシュ・メモリへ
のアクセスのアルゴリズムやハス・モニタのキャッシュ
・メモリへのアクセスのアルゴリズムによって様変りす
る。しかしながら本発明はこれら制御方式によって制約
を受けるものではない。
のアクセスのアルゴリズムやハス・モニタのキャッシュ
・メモリへのアクセスのアルゴリズムによって様変りす
る。しかしながら本発明はこれら制御方式によって制約
を受けるものではない。
以上のように本実施例によれば、タグ・フラグ記憶部と
データ記憶部を有するキャッシュ・メモリのうち、上記
タグ・フラグ記憶部とデータ記憶部を各々2ボート・ラ
ムで構成しており、上記2ポート・ラムの一方のポート
をプロセサに接続して、かつもう一方をバス・モニタに
接続しであるので、プロセサのキャッシュ・アクセスと
バス・モニタリングを並行に行うことが可能である。ま
たバス・モニタ内部に深いキュウを設ける必要がないの
でバス・モニタ部の回路規模を小さくできる。
データ記憶部を有するキャッシュ・メモリのうち、上記
タグ・フラグ記憶部とデータ記憶部を各々2ボート・ラ
ムで構成しており、上記2ポート・ラムの一方のポート
をプロセサに接続して、かつもう一方をバス・モニタに
接続しであるので、プロセサのキャッシュ・アクセスと
バス・モニタリングを並行に行うことが可能である。ま
たバス・モニタ内部に深いキュウを設ける必要がないの
でバス・モニタ部の回路規模を小さくできる。
発明の効果
以上のように本発明は、タグ・フラグ記憶部とデータ記
憶部とを2ボート・ラムで構成することにより、メモリ
回路・バス・モニタ回路・制御回路などを簡略化でき、
プロセサとバス・モニタが並行にキャッシュ・メモリに
アクセスすることを可能とする。
憶部とを2ボート・ラムで構成することにより、メモリ
回路・バス・モニタ回路・制御回路などを簡略化でき、
プロセサとバス・モニタが並行にキャッシュ・メモリに
アクセスすることを可能とする。
第1図は本発明の第1の実施例におけるキャッシュ・メ
モリの構成図、第2図は、従来のキャッシュ・メモリの
構成図である。 101・・・・・・プロセサ、102・・・・・・タグ
・フラグ記憶部、103・・・・・・データ記憶部、1
04・・・・・・バス・インターフェイス、105・・
・・・・バス・モニタ、110・・・・・・は制御部。 代理人の氏名 弁理士 中尾敏男 はか1名第1図 第2図
モリの構成図、第2図は、従来のキャッシュ・メモリの
構成図である。 101・・・・・・プロセサ、102・・・・・・タグ
・フラグ記憶部、103・・・・・・データ記憶部、1
04・・・・・・バス・インターフェイス、105・・
・・・・バス・モニタ、110・・・・・・は制御部。 代理人の氏名 弁理士 中尾敏男 はか1名第1図 第2図
Claims (1)
- タグ・フラグ記憶部とデータ記憶部を有するキャッシュ
・メモリのうち、上記タグ・フラグ記憶部とデータ記憶
部を各々2ポート・ラムで構成しており、上記2ポート
・ラムの一方のポートをプロセサ側に接続して、かつも
う一方をバス・モニタ側に接続することを特徴とするキ
ャッシュ・メモリー。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62305031A JPH01145746A (ja) | 1987-12-01 | 1987-12-01 | キャッシュ・メモリー |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62305031A JPH01145746A (ja) | 1987-12-01 | 1987-12-01 | キャッシュ・メモリー |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01145746A true JPH01145746A (ja) | 1989-06-07 |
Family
ID=17940261
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62305031A Pending JPH01145746A (ja) | 1987-12-01 | 1987-12-01 | キャッシュ・メモリー |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01145746A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03219345A (ja) * | 1990-01-25 | 1991-09-26 | Toshiba Corp | 多ポートキャッシュメモリ制御装置 |
| EP0611026A1 (en) * | 1993-01-05 | 1994-08-17 | STMicroelectronics, Inc. | Dual-port data cache memory |
-
1987
- 1987-12-01 JP JP62305031A patent/JPH01145746A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03219345A (ja) * | 1990-01-25 | 1991-09-26 | Toshiba Corp | 多ポートキャッシュメモリ制御装置 |
| EP0611026A1 (en) * | 1993-01-05 | 1994-08-17 | STMicroelectronics, Inc. | Dual-port data cache memory |
| US5590307A (en) * | 1993-01-05 | 1996-12-31 | Sgs-Thomson Microelectronics, Inc. | Dual-port data cache memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5598550A (en) | Cache controller for processing simultaneous cache accesses | |
| JPH03219345A (ja) | 多ポートキャッシュメモリ制御装置 | |
| EP0303648B1 (en) | Central processor unit for digital data processing system including cache management mechanism | |
| EP0303661A1 (en) | CENTRAL UNIT FOR DIGITAL DATA PROCESSING SYSTEM, WITH WRITING BUFFER MANAGEMENT TECHNOLOGY. | |
| JP2825906B2 (ja) | 計算機システム | |
| JP2003108439A (ja) | プロセッサ・システム | |
| JP4179677B2 (ja) | マルチプロセッサ装置 | |
| JP3431941B2 (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
| JPS60124754A (ja) | バッファ記憶制御装置 | |
| JPH0659974A (ja) | コンピュータ・システム | |
| JPH01145746A (ja) | キャッシュ・メモリー | |
| US7073004B2 (en) | Method and data processing system for microprocessor communication in a cluster-based multi-processor network | |
| JPS63223846A (ja) | キヤツシユ・メモリ− | |
| JPH0195344A (ja) | キャッシュ・メモリー | |
| EP0735481B1 (en) | System level mechanism for invalidating data stored in the external cache of a processor in a computer system | |
| JP2636760B2 (ja) | マルチプロセッサシステム | |
| JP3061818B2 (ja) | マイクロ・プロセッサ用アクセス・モニタ装置 | |
| JP2507721B2 (ja) | バツフアメモリ装置 | |
| JPH02228761A (ja) | メモリ制御装置 | |
| JPH04340145A (ja) | キャッシュメモリ装置 | |
| JP2588547B2 (ja) | マルチcpuシステム | |
| JPH04195563A (ja) | メモリシステムの制御装置 | |
| JPH058459B2 (ja) | ||
| JP2008204488A (ja) | マルチプロセッサ装置 | |
| JPS63231650A (ja) | キヤツシユメモリ制御方式 |