JP2000259495A - キャッシュメモリ制御方法及びマルチプロセッサシステム - Google Patents
キャッシュメモリ制御方法及びマルチプロセッサシステムInfo
- Publication number
- JP2000259495A JP2000259495A JP11061900A JP6190099A JP2000259495A JP 2000259495 A JP2000259495 A JP 2000259495A JP 11061900 A JP11061900 A JP 11061900A JP 6190099 A JP6190099 A JP 6190099A JP 2000259495 A JP2000259495 A JP 2000259495A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache memory
- processor
- entry
- system bus
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims description 23
- 239000000284 extract Substances 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 238000013479 data entry Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- VVNRQZDDMYBBJY-UHFFFAOYSA-M sodium 1-[(1-sulfonaphthalen-2-yl)diazenyl]naphthalen-2-olate Chemical compound [Na+].C1=CC=CC2=C(S([O-])(=O)=O)C(N=NC3=C4C=CC=CC4=CC=C3O)=CC=C21 VVNRQZDDMYBBJY-UHFFFAOYSA-M 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 マルチプセッサシステムにおいて他プロセッ
サのメモリ読出しを利用してキャッシュメモリの無効エ
ントリを自動的に有効化する。 【解決手段】 システムバスを介して前記共有メモリに
読出し要求が供給されると前記共有メモリが当該要求に
係るアドレスのデータを取出して前記システムバスを介
して送信するマルチプロセッサシステムにおける1のプ
ロセッサ(以下、自プロセッサと呼ぶ。)のキャッシュ
メモリを制御する方法であって、前記システムバスを監
視して前記自プロセッサ以外のプロセッサ(以下、他の
プロセッサと呼ぶ。)が前記共有メモリに発した読出し
要求を検出する工程と、前記キャッシュメモリのエント
リデータ更新の必要性の有無を判断する工程と、ここで
エントリデータ更新が必要と判断された場合に前記共有
メモリから前記読出し要求に応じて送出されるデータを
取り込んで前記キャッシュメモリのエントリデータを更
新する工程とを行うようにする。
サのメモリ読出しを利用してキャッシュメモリの無効エ
ントリを自動的に有効化する。 【解決手段】 システムバスを介して前記共有メモリに
読出し要求が供給されると前記共有メモリが当該要求に
係るアドレスのデータを取出して前記システムバスを介
して送信するマルチプロセッサシステムにおける1のプ
ロセッサ(以下、自プロセッサと呼ぶ。)のキャッシュ
メモリを制御する方法であって、前記システムバスを監
視して前記自プロセッサ以外のプロセッサ(以下、他の
プロセッサと呼ぶ。)が前記共有メモリに発した読出し
要求を検出する工程と、前記キャッシュメモリのエント
リデータ更新の必要性の有無を判断する工程と、ここで
エントリデータ更新が必要と判断された場合に前記共有
メモリから前記読出し要求に応じて送出されるデータを
取り込んで前記キャッシュメモリのエントリデータを更
新する工程とを行うようにする。
Description
【0001】
【発明の属する技術分野】本発明はキャッシュメモリ制
御方法及びマルチプロセッサシステムに関し、特に、複
数のプロセッサがシステムバスを介してメインメモリに
接続されるマルチプロセッサシステムにおいてキャッシ
ュメモリの無効エントリを自動的に有効化する制御方法
及びシステムに関する。
御方法及びマルチプロセッサシステムに関し、特に、複
数のプロセッサがシステムバスを介してメインメモリに
接続されるマルチプロセッサシステムにおいてキャッシ
ュメモリの無効エントリを自動的に有効化する制御方法
及びシステムに関する。
【0002】
【従来の技術】一般的に、コンピュータシステムではC
PUとメインメモリとの間に高速のバッファメモリであ
るキャッシュメモリを設けて使用頻度の高いデータを入
れておき、アクセスに時間がかかるメインメモリへの参
照をできるだけ少なくしてシステムの性能向上を図るよ
うにしている。このキャッシュメモリはシステム処理速
度の向上のために有効であるが、複数のCPUが1又は
それ以上の共有メモリに接続されているマルチプロセッ
サシステムの場合は問題が生じることになる。キャッシ
ュメモリは各CPUに設けられるため、例えば複数のC
PUがメインメモリの同一場所を参照し、しかもその1
つが値を変更したとき、他のCPUが有するキャッシュ
メモリの値(エントリ)に矛盾が生じてしまうからであ
る。このため、マルチプロセッサシステムでは1のプロ
セッサがメインメモリの書換えを行うと、当該書換え部
分に係る他プロセッサのキャッシュメモリを無効にする
ようにしている。
PUとメインメモリとの間に高速のバッファメモリであ
るキャッシュメモリを設けて使用頻度の高いデータを入
れておき、アクセスに時間がかかるメインメモリへの参
照をできるだけ少なくしてシステムの性能向上を図るよ
うにしている。このキャッシュメモリはシステム処理速
度の向上のために有効であるが、複数のCPUが1又は
それ以上の共有メモリに接続されているマルチプロセッ
サシステムの場合は問題が生じることになる。キャッシ
ュメモリは各CPUに設けられるため、例えば複数のC
PUがメインメモリの同一場所を参照し、しかもその1
つが値を変更したとき、他のCPUが有するキャッシュ
メモリの値(エントリ)に矛盾が生じてしまうからであ
る。このため、マルチプロセッサシステムでは1のプロ
セッサがメインメモリの書換えを行うと、当該書換え部
分に係る他プロセッサのキャッシュメモリを無効にする
ようにしている。
【0003】
【発明が解決しようとする課題】従来のキャッシュメモ
リ装置では、このような原因から無効となったエントリ
については再度メインメモリにアクセスし、有効なデー
タを取得し直す必要があった。その場合にメインメモリ
へのアクセスはキャッシュメモリへのアクセスに対して
時間がかかるため、性能向上への大きな妨げとなってい
た。また、無効となるエントリは、主に他プロセッサと
の共有メモリエリアの写しとなっており、上記のように
他プロセッサが共有メモリエリアへの書込みを行った結
果として無効化されるケースが多い。
リ装置では、このような原因から無効となったエントリ
については再度メインメモリにアクセスし、有効なデー
タを取得し直す必要があった。その場合にメインメモリ
へのアクセスはキャッシュメモリへのアクセスに対して
時間がかかるため、性能向上への大きな妨げとなってい
た。また、無効となるエントリは、主に他プロセッサと
の共有メモリエリアの写しとなっており、上記のように
他プロセッサが共有メモリエリアへの書込みを行った結
果として無効化されるケースが多い。
【0004】そこで、本発明は、マルチプセッサシステ
ムにおいて他プロセッサのメモリ読出しを利用して無効
エントリを自動的に有効化するようにして、自らメイン
メモリにアクセスすることなく有効なエントリを極力増
やしてシステムの処理性能を向上させる方法及びシステ
ムを提供することを目的とする。
ムにおいて他プロセッサのメモリ読出しを利用して無効
エントリを自動的に有効化するようにして、自らメイン
メモリにアクセスすることなく有効なエントリを極力増
やしてシステムの処理性能を向上させる方法及びシステ
ムを提供することを目的とする。
【0005】
【課題を解決するための手段】この目的を達成するため
に、本発明のキャッシュメモリ制御方法は、各々がキャ
ッシュメモリを有する複数のプロセッサがシステムバス
を介して1以上の共有メモリに接続され、前記システム
バスを介して前記共有メモリに読出し要求が供給される
と前記共有メモリが当該要求に係るアドレスのデータを
取出して前記システムバスを介して送信するマルチプロ
セッサシステムにおける1のプロセッサ(以下、自プロ
セッサと呼ぶ。)のキャッシュメモリを制御する方法で
あって、前記システムバスを監視して前記自プロセッサ
以外のプロセッサ(以下、他のプロセッサと呼ぶ。)が
前記共有メモリに発した読出し要求を検出する工程と、
前記キャッシュメモリのエントリデータ更新の必要性の
有無を判断する工程と、ここでエントリデータ更新が必
要と判断された場合に前記共有メモリから前記読出し要
求に応じて送出されるデータを取り込んで前記キャッシ
ュメモリのエントリデータを更新する工程と、を具える
ことを特徴とする。
に、本発明のキャッシュメモリ制御方法は、各々がキャ
ッシュメモリを有する複数のプロセッサがシステムバス
を介して1以上の共有メモリに接続され、前記システム
バスを介して前記共有メモリに読出し要求が供給される
と前記共有メモリが当該要求に係るアドレスのデータを
取出して前記システムバスを介して送信するマルチプロ
セッサシステムにおける1のプロセッサ(以下、自プロ
セッサと呼ぶ。)のキャッシュメモリを制御する方法で
あって、前記システムバスを監視して前記自プロセッサ
以外のプロセッサ(以下、他のプロセッサと呼ぶ。)が
前記共有メモリに発した読出し要求を検出する工程と、
前記キャッシュメモリのエントリデータ更新の必要性の
有無を判断する工程と、ここでエントリデータ更新が必
要と判断された場合に前記共有メモリから前記読出し要
求に応じて送出されるデータを取り込んで前記キャッシ
ュメモリのエントリデータを更新する工程と、を具える
ことを特徴とする。
【0006】このように、本発明ではシステムバスを監
視し、自プロセッサのキャッシュメモリ内で無効となっ
ているエントリに係る共有メモリのデータが、他プロセ
ッサと共有メモリとの間でやり取りされる際にこれを取
込んでエントリを更新することにより、自身はメインメ
モリにアクセスすることなく無効エントリを自動的に有
効化することができる。従ってこのキャッシュメモリの
ヒット率が向上し、システムの処理能力を高めることが
できる。
視し、自プロセッサのキャッシュメモリ内で無効となっ
ているエントリに係る共有メモリのデータが、他プロセ
ッサと共有メモリとの間でやり取りされる際にこれを取
込んでエントリを更新することにより、自身はメインメ
モリにアクセスすることなく無効エントリを自動的に有
効化することができる。従ってこのキャッシュメモリの
ヒット率が向上し、システムの処理能力を高めることが
できる。
【0007】また、本発明のキャッシュメモリ制御方法
では、前記キャッシュメモリのエントリデータ更新の必
要性の有無を判断する工程は、前記他プロセッサが発し
た読出し要求に係るデータと前記自プロセッサのキャッ
シュメモリが記憶しているエントリデータとを比較し
て、この比較においてデータが一致した場合に、このエ
ントリデータの有効性を判断することを特徴とする。こ
のように判断を行うことにより適切にキャッシュメモリ
内の無効エントリを有効化することができる。
では、前記キャッシュメモリのエントリデータ更新の必
要性の有無を判断する工程は、前記他プロセッサが発し
た読出し要求に係るデータと前記自プロセッサのキャッ
シュメモリが記憶しているエントリデータとを比較し
て、この比較においてデータが一致した場合に、このエ
ントリデータの有効性を判断することを特徴とする。こ
のように判断を行うことにより適切にキャッシュメモリ
内の無効エントリを有効化することができる。
【0008】また、本発明のキャッシュメモリ制御方法
では、前記読出し要求に係るデータと前記自プロセッサ
のキャッシュメモリが記憶しているエントリデータとの
比較は、前記読出し要求に係るアドレスデータと前記キ
ャッシュメモリのアドレスアレイのデータとを比較して
行うことが望ましい。このように、システムバス及びキ
ャッシュメモリの全データを参照して比較するよりもア
ドレス同士を比較することにより、この比較処理の簡単
化、高速化を図ることができる。
では、前記読出し要求に係るデータと前記自プロセッサ
のキャッシュメモリが記憶しているエントリデータとの
比較は、前記読出し要求に係るアドレスデータと前記キ
ャッシュメモリのアドレスアレイのデータとを比較して
行うことが望ましい。このように、システムバス及びキ
ャッシュメモリの全データを参照して比較するよりもア
ドレス同士を比較することにより、この比較処理の簡単
化、高速化を図ることができる。
【0009】また、本発明のキャッシュメモリ制御方法
では、前記自プロセッサのキャッシュメモリのエントリ
データを更新する工程は、前記キャッシュメモリのエン
トリデータ更新の必要性を判断する工程において更新が
必要と判断された場合にそのエントリデータのアドレス
を一時的に保存しておき、当該アドレスに係るデータが
前記共有メモリから前記システムバスに供給されたとき
に、前記一時的に保存したアドレスと前記システムバス
に供給された当該アドレスに係るデータとを関連させて
前記キャッシュメモリに書込むことを特徴とする。上述
したように本発明ではシステムバス上のメモリ読出し要
求を検出してエントリデータ更新の必要性を判断してお
り、また共有メモリが読出し要求を受けてから当該要求
に係るデータを供給するまでにある程度の時間がかか
る。そのため本発明では読出し要求に示されるアドレス
を一時的に保存して、このアドレスに係るデータがシス
テムバスを流れるときに取込んでキャッシュメモリに書
き込むようにする。
では、前記自プロセッサのキャッシュメモリのエントリ
データを更新する工程は、前記キャッシュメモリのエン
トリデータ更新の必要性を判断する工程において更新が
必要と判断された場合にそのエントリデータのアドレス
を一時的に保存しておき、当該アドレスに係るデータが
前記共有メモリから前記システムバスに供給されたとき
に、前記一時的に保存したアドレスと前記システムバス
に供給された当該アドレスに係るデータとを関連させて
前記キャッシュメモリに書込むことを特徴とする。上述
したように本発明ではシステムバス上のメモリ読出し要
求を検出してエントリデータ更新の必要性を判断してお
り、また共有メモリが読出し要求を受けてから当該要求
に係るデータを供給するまでにある程度の時間がかか
る。そのため本発明では読出し要求に示されるアドレス
を一時的に保存して、このアドレスに係るデータがシス
テムバスを流れるときに取込んでキャッシュメモリに書
き込むようにする。
【0010】更に、本発明に係るマルチプロセッサシス
テムは、各々がキャッシュメモリを有する複数のプロセ
ッサがシステムバスを介して1以上の共有メモリに接続
され、前記システムバスを介して前記共有メモリに読出
し要求が供給されると前記共有メモリが当該要求に係る
アドレスのデータを取出して前記システムバスを介して
送信するマルチプロセッサシステムにおいて、前記プロ
セッサの各々が、前記システムバスを監視してそのプロ
セッサ(以下、自プロセッサと呼ぶ。)以外のプロセッ
サ(以下、他のプロセッサと呼ぶ。)が発した読出し要
求を検出するデコーダと、前記自プロセッサのキャッシ
ュメモリのエントリデータ更新の必要性の有無を判断す
る判断手段と、この判断手段の判断に応じて前記共有メ
モリからシステムバスを介して送信されるデータを取り
込んで前記キャッシュメモリのエントリデータを更新す
る手段を具えることを特徴とする。
テムは、各々がキャッシュメモリを有する複数のプロセ
ッサがシステムバスを介して1以上の共有メモリに接続
され、前記システムバスを介して前記共有メモリに読出
し要求が供給されると前記共有メモリが当該要求に係る
アドレスのデータを取出して前記システムバスを介して
送信するマルチプロセッサシステムにおいて、前記プロ
セッサの各々が、前記システムバスを監視してそのプロ
セッサ(以下、自プロセッサと呼ぶ。)以外のプロセッ
サ(以下、他のプロセッサと呼ぶ。)が発した読出し要
求を検出するデコーダと、前記自プロセッサのキャッシ
ュメモリのエントリデータ更新の必要性の有無を判断す
る判断手段と、この判断手段の判断に応じて前記共有メ
モリからシステムバスを介して送信されるデータを取り
込んで前記キャッシュメモリのエントリデータを更新す
る手段を具えることを特徴とする。
【0011】また、前記判断手段は、前記デコーダが前
記他のプロセッサが発した読出し要求を検出し、かつ、
当該読出し要求に係るアドレスと一致するエントリデー
タが前記自プロセッサのキャッシュメモリに存在し、か
つ、当該エントリデータが無効である場合に、前記自プ
ロセッサのキャッシュメモリのエントリデータを更新す
るよう判断することを特徴とする。
記他のプロセッサが発した読出し要求を検出し、かつ、
当該読出し要求に係るアドレスと一致するエントリデー
タが前記自プロセッサのキャッシュメモリに存在し、か
つ、当該エントリデータが無効である場合に、前記自プ
ロセッサのキャッシュメモリのエントリデータを更新す
るよう判断することを特徴とする。
【0012】
【発明の実施の形態】本発明の実施の形態を、添付の図
面を参照しながら以下に説明する。図1は本発明のキャ
ッシュメモリ制御方法を適用したマルチプロセッサシス
テムの一例を示す図である。図1に示すマルチプロセッ
サシステムでは、複数のプロセッサ(3、4、5・・)
とメインメモリ2とがシステムバス1を介して相互に接
続されている。以下に1つのプロセッサ3の構成を詳細
に述べるが、その他のプロセッサ4、5・・も基本的に
は同じ動作をするものとする。
面を参照しながら以下に説明する。図1は本発明のキャ
ッシュメモリ制御方法を適用したマルチプロセッサシス
テムの一例を示す図である。図1に示すマルチプロセッ
サシステムでは、複数のプロセッサ(3、4、5・・)
とメインメモリ2とがシステムバス1を介して相互に接
続されている。以下に1つのプロセッサ3の構成を詳細
に述べるが、その他のプロセッサ4、5・・も基本的に
は同じ動作をするものとする。
【0013】プロセッサ3は、キャッシュメモリ31
と、デコーダ32と、コンパレータ33と、キャッシュ
ライト待ち合わせ機構34とを具えている。デコーダ3
2はシステムバス1を監視し、該システムバス1を流れ
る種々のコマンドをデコードして他プロセッサ(4、5
・・)が発するリードコマンドがあれば検出する。コン
パレータ33はシステムバス1を流れるリードコマンド
が示すアドレスと、キャッシュメモリ31に格納された
データエントリとを比較して、一致するものを検出す
る。キャッシュライト待ち合わせ機構34は、上記デー
タエントリが一致した場合にキャッシュメモリ31のデ
ータエントリが無効であるか有効であるか判断し、エン
トリが無効である場合に、他プロセッサとメインメモリ
2間で転送されるリードデータがシステムバス1を流れ
てくるのを待ち合わせ、そのデータを取込んでキャッシ
ュメモリ31に書込むことにより前記無効なエントリを
有効化する。
と、デコーダ32と、コンパレータ33と、キャッシュ
ライト待ち合わせ機構34とを具えている。デコーダ3
2はシステムバス1を監視し、該システムバス1を流れ
る種々のコマンドをデコードして他プロセッサ(4、5
・・)が発するリードコマンドがあれば検出する。コン
パレータ33はシステムバス1を流れるリードコマンド
が示すアドレスと、キャッシュメモリ31に格納された
データエントリとを比較して、一致するものを検出す
る。キャッシュライト待ち合わせ機構34は、上記デー
タエントリが一致した場合にキャッシュメモリ31のデ
ータエントリが無効であるか有効であるか判断し、エン
トリが無効である場合に、他プロセッサとメインメモリ
2間で転送されるリードデータがシステムバス1を流れ
てくるのを待ち合わせ、そのデータを取込んでキャッシ
ュメモリ31に書込むことにより前記無効なエントリを
有効化する。
【0014】図2は、図1に示すマルチプロセッサシス
テムの構成をより詳細に説明するブロック図である。図
2に示すように、システムバス1はアドレスバス11
と、コマンドバス12と、データバス13と、データレ
ディバス14とから構成されている。このシステムで
は、あるプロセッサが共有メインメモリ2の書換えを行
ったらその部分に係る他プロセッサのキャッシュメモリ
のエントリに無効を示すフラグがセットされる。また、
あるプロセッサがメインメモリ2のデータ読込みを行う
場合には、システムコマンドバス12にリードコマンド
を発するとともにシステムアドレスバス11にリード希
望データのアドレスを示す。メインメモリ2は指定され
たアドレスのデータを取出し、システムデータレディバ
ス14にリードデータを送信する旨を告げるとともにシ
ステムデータバス13を用いてリードデータを送信す
る。
テムの構成をより詳細に説明するブロック図である。図
2に示すように、システムバス1はアドレスバス11
と、コマンドバス12と、データバス13と、データレ
ディバス14とから構成されている。このシステムで
は、あるプロセッサが共有メインメモリ2の書換えを行
ったらその部分に係る他プロセッサのキャッシュメモリ
のエントリに無効を示すフラグがセットされる。また、
あるプロセッサがメインメモリ2のデータ読込みを行う
場合には、システムコマンドバス12にリードコマンド
を発するとともにシステムアドレスバス11にリード希
望データのアドレスを示す。メインメモリ2は指定され
たアドレスのデータを取出し、システムデータレディバ
ス14にリードデータを送信する旨を告げるとともにシ
ステムデータバス13を用いてリードデータを送信す
る。
【0015】図2において、キャッシュメモリ31は、
アドレスアレイ311と、データアレイ312とを具え
ている。コンパレータ33はこのアドレスアレイ311
のエントリデータとシステムアドレスバス11を流れる
アドレスデータとを比較し、両データが一致するか否か
を判定する。ANDゲート35は、コンパレータ33で
の比較によりアドレスデータが一致し、かつここで一致
したエントリデータが無効となっており、かつ前記デコ
ーダ32からコマンドバス12上にリードコマンドが有
る場合に、キャッシュライト待ち合わせ機構34に信号
を出力する。キャッシュライト待ち合わせ機構34はA
NDゲートからの信号を受けると、システムデータレデ
ィバス14の信号をトリガとして、書込み指示信号WR
T及びシステムアドレスバス11上のアドレスデータ
(書込みアドレス信号WAD)をアドレス選択機構36
に送出する。アドレス選択機構36は、キャッシュライ
ト待ち合わせ機構34からの信号WRTを受けると書込
みアドレス信号WADを、その他のときはシステムアド
レスバス11のいずれかを選択してキャッシュメモリ3
1に入力する。
アドレスアレイ311と、データアレイ312とを具え
ている。コンパレータ33はこのアドレスアレイ311
のエントリデータとシステムアドレスバス11を流れる
アドレスデータとを比較し、両データが一致するか否か
を判定する。ANDゲート35は、コンパレータ33で
の比較によりアドレスデータが一致し、かつここで一致
したエントリデータが無効となっており、かつ前記デコ
ーダ32からコマンドバス12上にリードコマンドが有
る場合に、キャッシュライト待ち合わせ機構34に信号
を出力する。キャッシュライト待ち合わせ機構34はA
NDゲートからの信号を受けると、システムデータレデ
ィバス14の信号をトリガとして、書込み指示信号WR
T及びシステムアドレスバス11上のアドレスデータ
(書込みアドレス信号WAD)をアドレス選択機構36
に送出する。アドレス選択機構36は、キャッシュライ
ト待ち合わせ機構34からの信号WRTを受けると書込
みアドレス信号WADを、その他のときはシステムアド
レスバス11のいずれかを選択してキャッシュメモリ3
1に入力する。
【0016】このように構成されたマルチプロセッサシ
ステムの稼働時において、プロセッサ3のキャッシュメ
モリ31の無効エントリを有効化する工程を説明する。
メインメモリ2のデータに他のプロセッサがアクセスす
るときには、当該他のプロセッサはシステムコマンドバ
ス12にメモリリードコマンドを、システムアドレスバ
ス12上にリードアドレスを送出する。このリードコマ
ンドがプロセッサ3のデコーダ32に検出され、AND
ゲート35に信号REDが送信される。
ステムの稼働時において、プロセッサ3のキャッシュメ
モリ31の無効エントリを有効化する工程を説明する。
メインメモリ2のデータに他のプロセッサがアクセスす
るときには、当該他のプロセッサはシステムコマンドバ
ス12にメモリリードコマンドを、システムアドレスバ
ス12上にリードアドレスを送出する。このリードコマ
ンドがプロセッサ3のデコーダ32に検出され、AND
ゲート35に信号REDが送信される。
【0017】このとき、キャッシュメモリ31のアドレ
スアレイ311はシステムアドレスバス11を流れるア
ドレスデータを取込み、自己が保有するエントリデータ
をコンパレータ33に、また、エントリデータの有効性
を示す信号VALをANDゲート35に送出する。コン
パレータ33は、アドレスアレイ311のエントリデー
タとシステムアドレスバス11の値(他プロセッサが発
したリード希望アドレス)とを比較し、一致した場合に
ANDゲート35に信号HITを出力する。
スアレイ311はシステムアドレスバス11を流れるア
ドレスデータを取込み、自己が保有するエントリデータ
をコンパレータ33に、また、エントリデータの有効性
を示す信号VALをANDゲート35に送出する。コン
パレータ33は、アドレスアレイ311のエントリデー
タとシステムアドレスバス11の値(他プロセッサが発
したリード希望アドレス)とを比較し、一致した場合に
ANDゲート35に信号HITを出力する。
【0018】ANDゲート35は信号RED、HIT、
VALを入力とし、信号RED及びHITが有効であ
り、信号VALが無効である場合に、信号UDTを出力
する。すなわち、信号REDがシステムコマンドバス1
2にリードコマンドが存在することを示し、信号HIT
がキャッシュメモリ31のエントリデータと一致するデ
ータがシステムデータバス13に流れることを示し、か
つ、信号VALが当該一致するエントリデータが無効で
あることを示す場合に、この無効エントリを有効化させ
るべく指示(信号UDT)が出力される。
VALを入力とし、信号RED及びHITが有効であ
り、信号VALが無効である場合に、信号UDTを出力
する。すなわち、信号REDがシステムコマンドバス1
2にリードコマンドが存在することを示し、信号HIT
がキャッシュメモリ31のエントリデータと一致するデ
ータがシステムデータバス13に流れることを示し、か
つ、信号VALが当該一致するエントリデータが無効で
あることを示す場合に、この無効エントリを有効化させ
るべく指示(信号UDT)が出力される。
【0019】キャッシュライト待ち合わせ機構34に
は、信号UDTと、システムデータレディバス14と、
システムアドレスバス11とが入力される。前述したよ
うにメインメモリ2からリードデータが送出されるとき
には、システムデータレディバス14に信号が流れる。
この待ち合わせ機構34は、ANDゲート35から信号
UDTを受取った場合にシステムアドレスバス11上の
アドレスデータを一時的に保存しておき、システムレデ
ィバス14の信号を検知した(メインメモリ2から前記
アドレスに係るデータが送信される)時点で、キャッシ
ュメモリ書込み信号WRT及び書込みアドレス信号WA
Dをアドレス選択機構36に出力する。
は、信号UDTと、システムデータレディバス14と、
システムアドレスバス11とが入力される。前述したよ
うにメインメモリ2からリードデータが送出されるとき
には、システムデータレディバス14に信号が流れる。
この待ち合わせ機構34は、ANDゲート35から信号
UDTを受取った場合にシステムアドレスバス11上の
アドレスデータを一時的に保存しておき、システムレデ
ィバス14の信号を検知した(メインメモリ2から前記
アドレスに係るデータが送信される)時点で、キャッシ
ュメモリ書込み信号WRT及び書込みアドレス信号WA
Dをアドレス選択機構36に出力する。
【0020】アドレス選択機構36はこれらの信号WR
T及びWADと、システムアドレスバス11とを入力と
し、信号WRTの有効時に限り信号WADを有効、それ
以外の場合はシステムアドレスバス11の値を有効とし
てキャッシュメモリ31の書込みを制御する。信号WR
Tが有効になると、キャッシュメモリ31のデータアレ
イ312はシステムデータバス13上を流れるデータを
取り込み、信号WADに示されるエントリに保存する。
同時に、キャッシュメモリ31のアドレスアレイ311
では信号WADに示されるエントリが有効であることを
示すフラグがセットされる。このようにして、プロセッ
サ3のキャッシュメモリ31は自らメインメモリ2にア
クセスすることなく自己のデータエントリを有効化す
る。
T及びWADと、システムアドレスバス11とを入力と
し、信号WRTの有効時に限り信号WADを有効、それ
以外の場合はシステムアドレスバス11の値を有効とし
てキャッシュメモリ31の書込みを制御する。信号WR
Tが有効になると、キャッシュメモリ31のデータアレ
イ312はシステムデータバス13上を流れるデータを
取り込み、信号WADに示されるエントリに保存する。
同時に、キャッシュメモリ31のアドレスアレイ311
では信号WADに示されるエントリが有効であることを
示すフラグがセットされる。このようにして、プロセッ
サ3のキャッシュメモリ31は自らメインメモリ2にア
クセスすることなく自己のデータエントリを有効化す
る。
【0021】以上本発明の実施例の構成・動作について
詳細に説明したが、キャッシュメモリ31に対する書込
み/読出しの排他制御は、システムバス1上にライトコ
マンドが検出された際のキャッシュ無効化手法として当
業者にとって周知であるので、その説明はここでは省略
する。
詳細に説明したが、キャッシュメモリ31に対する書込
み/読出しの排他制御は、システムバス1上にライトコ
マンドが検出された際のキャッシュ無効化手法として当
業者にとって周知であるので、その説明はここでは省略
する。
【0022】
【発明の効果】上記に詳細に説明したように、本発明で
はシステムバスを監視し、自プロセッサのキャッシュメ
モリ内の無効エントリに係るデータが他プロセッサと共
有メモリとの間でやり取りされる際にこれを取込むよう
にしているため、自身はメインメモリにアクセスするこ
となく無効エントリを自動的に有効化することができ
る。従ってこのキャッシュメモリのヒット率が向上し、
システムの処理能力を飛躍的に高めることができる。
はシステムバスを監視し、自プロセッサのキャッシュメ
モリ内の無効エントリに係るデータが他プロセッサと共
有メモリとの間でやり取りされる際にこれを取込むよう
にしているため、自身はメインメモリにアクセスするこ
となく無効エントリを自動的に有効化することができ
る。従ってこのキャッシュメモリのヒット率が向上し、
システムの処理能力を飛躍的に高めることができる。
【図1】本発明に係るマルチプロセッサシステムの概略
を示すブロック図である。
を示すブロック図である。
【図2】本発明に係るマルチプロセッサシステムを詳細
に示すブロック図である。
に示すブロック図である。
1 システムバス 2 メインメモリ 3、4、5 プロセッサ 11 システムアドレスバス 12 システムコマンドバス 13 システムデータバス 14 システムデータレディバス 31 キャッシュメモリ 32 デコーダ 33 コンパレータ 34 キャッシュライト待ち合わせ機構 35 ANDゲート 36 アドレス選択機構 311 アドレスアレイ 123 データアレイ
Claims (6)
- 【請求項1】 各々がキャッシュメモリを有する複数の
プロセッサがシステムバスを介して1以上の共有メモリ
に接続され、前記システムバスを介して前記共有メモリ
に読出し要求が供給されると前記共有メモリが当該要求
に係るアドレスのデータを取出して前記システムバスを
介して送信するマルチプロセッサシステムにおける1の
プロセッサ(以下、自プロセッサと呼ぶ。)のキャッシ
ュメモリを制御する方法であって、前記システムバスを
監視して前記自プロセッサ以外のプロセッサ(以下、他
のプロセッサと呼ぶ。)が前記共有メモリに発した読出
し要求を検出する工程と、前記キャッシュメモリのエン
トリデータ更新の必要性の有無を判断する工程と、ここ
でエントリデータ更新が必要と判断された場合に前記共
有メモリから前記読出し要求に応じて送出されるデータ
を取り込んで前記キャッシュメモリのエントリデータを
更新する工程と、を具えることを特徴とするキャッシュ
メモリ制御方法。 - 【請求項2】 請求項1に記載のキャッシュメモリ制御
方法において、前記キャッシュメモリのエントリデータ
更新の必要性の有無を判断する工程は、前記他プロセッ
サが発した読出し要求に係るデータと前記自プロセッサ
のキャッシュメモリが記憶しているエントリデータとを
比較して、この比較においてデータが一致した場合に、
このエントリデータの有効性を判断することを特徴とす
ることを特徴とするキャッシュメモリ制御方法。 - 【請求項3】 請求項2に記載のキャッシュメモリ制御
方法において、前記読出し要求に係るデータと前記自プ
ロセッサのキャッシュメモリが記憶しているエントリデ
ータとの比較は、前記読出し要求に係るアドレスデータ
と前記キャッシュメモリのアドレスアレイのデータとを
比較して行うことを特徴とするキャッシュメモリ制御方
法。 - 【請求項4】 請求項1乃至3のいずれかに記載のキャ
ッシュメモリ制御方法において、前記自プロセッサのキ
ャッシュメモリのエントリデータを更新する工程は、前
記キャッシュメモリのエントリデータ更新の必要性を判
断する工程において更新が必要と判断された場合にその
エントリデータのアドレスを一時的に保存しておき、当
該アドレスに係るデータが前記共有メモリから前記シス
テムバスに供給されたときに、前記一時的に保存したア
ドレスと前記システムバスに供給された当該アドレスに
係るデータとを関連させて前記キャッシュメモリに書込
むことを特徴とするキャッシュメモリ制御方法。 - 【請求項5】 各々がキャッシュメモリを有する複数の
プロセッサがシステムバスを介して1以上の共有メモリ
に接続され、前記システムバスを介して前記共有メモリ
に読出し要求が供給されると前記共有メモリが当該要求
に係るアドレスのデータを取出して前記システムバスを
介して送信するマルチプロセッサシステムにおいて、前
記プロセッサの各々が、前記システムバスを監視してそ
のプロセッサ(以下、自プロセッサと呼ぶ。)以外のプ
ロセッサ(以下、他のプロセッサと呼ぶ。)が発した読
出し要求を検出するデコーダと、前記自プロセッサのキ
ャッシュメモリのエントリデータ更新の必要性の有無を
判断する判断手段と、この判断手段の判断に応じて前記
共有メモリからシステムバスを介して送信されるデータ
を取り込んで前記キャッシュメモリのエントリデータを
更新する手段を具えることを特徴とするマルチプロセッ
サシステム。 - 【請求項6】 請求項5に記載のマルチプロセッサシス
テムにおいて、前記判断手段は、前記デコーダが前記他
のプロセッサが発した読出し要求を検出し、かつ、当該
読出し要求に係るアドレスと一致するエントリデータが
前記自プロセッサのキャッシュメモリに存在し、かつ、
当該エントリデータが無効である場合に、前記自プロセ
ッサのキャッシュメモリのエントリデータを更新するよ
う判断することを特徴とするマルチプロセッサシステ
ム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11061900A JP2000259495A (ja) | 1999-03-09 | 1999-03-09 | キャッシュメモリ制御方法及びマルチプロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11061900A JP2000259495A (ja) | 1999-03-09 | 1999-03-09 | キャッシュメモリ制御方法及びマルチプロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000259495A true JP2000259495A (ja) | 2000-09-22 |
Family
ID=13184497
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11061900A Pending JP2000259495A (ja) | 1999-03-09 | 1999-03-09 | キャッシュメモリ制御方法及びマルチプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000259495A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007036067A1 (en) * | 2005-09-28 | 2007-04-05 | Intel Corporation | Updating entries cached by a network processor |
| JP2007272643A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | Usbデバイス共有システム、これで用いるサーバのインタフェース装置、及びその動作方法 |
-
1999
- 1999-03-09 JP JP11061900A patent/JP2000259495A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007036067A1 (en) * | 2005-09-28 | 2007-04-05 | Intel Corporation | Updating entries cached by a network processor |
| JP2007272643A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | Usbデバイス共有システム、これで用いるサーバのインタフェース装置、及びその動作方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1029280B1 (en) | Cache memory operation | |
| US20090307433A1 (en) | Cache memory system | |
| US5678025A (en) | Cache coherency maintenance of non-cache supporting buses | |
| US6345320B1 (en) | DMA address buffer and cache-memory control system | |
| US6516391B1 (en) | Multiprocessor system and methods for transmitting memory access transactions for the same | |
| JPH03225542A (ja) | データ記憶方法及びビットエンコードデータの処理回路 | |
| US5367657A (en) | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems | |
| JPH10501914A (ja) | 共用キャッシュ・メモリ装置 | |
| US5893154A (en) | CPU write-back cache coherency mechanism that transeers data from a cache memory to a main memory before access of the main memory by an alternate bus master | |
| JP2000259495A (ja) | キャッシュメモリ制御方法及びマルチプロセッサシステム | |
| JPH07121443A (ja) | 情報処理システム及びその動作方法 | |
| JPH02110646A (ja) | メモリの先行読出し装置 | |
| KR20040047398A (ko) | 캐쉬 메모리를 이용한 데이터 억세스 방법 | |
| JPH03230238A (ja) | キャッシュメモリ制御方式 | |
| JPS60701B2 (ja) | デ−タ処理装置 | |
| JPH0628258A (ja) | マイクロプロセッサ | |
| US6266777B1 (en) | Information processing apparatus to control bus latency | |
| JP3219422B2 (ja) | キャッシュメモリ制御方式 | |
| JP2642851B2 (ja) | キャッシュメモリ制御方式 | |
| KR0140952B1 (ko) | 다중 프로세서 시스템의 단일 캐시 공유 장치 및 그 장치를 이용한 데이타 기록/판독 방법 | |
| JPH03147153A (ja) | キャッシュメモリ装置 | |
| JP2982197B2 (ja) | キャッシュ用バスモニタ回路 | |
| JPH04268296A (ja) | 消去可能形読出し専用メモリ | |
| JPS6135583B2 (ja) | ||
| JPH0528043A (ja) | 命令キヤツシユメモリの無効化制御方法 |