JPH09190379A - キャッシュシステム - Google Patents
キャッシュシステムInfo
- Publication number
- JPH09190379A JPH09190379A JP8002311A JP231196A JPH09190379A JP H09190379 A JPH09190379 A JP H09190379A JP 8002311 A JP8002311 A JP 8002311A JP 231196 A JP231196 A JP 231196A JP H09190379 A JPH09190379 A JP H09190379A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- state
- invalidation
- request
- 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.)
- Abandoned
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 キャッシュや主記憶間において効率的なデー
タ転送を行ない、データ転送によるオーバーヘッドを増
加させないようなキャッシュシステムを提供することを
課題とする。 【解決手段】 リプレースされるキャッシュメモリ上の
キャッシュラインのアドレスを格納する記憶手段を備
え、リプレースされたキャッシュラインのステートが変
更または無効化されたとき上記格納されたアドレスに基
づいてそのキャッシュラインを変更または無効化される
前のステートに戻す。また、データを取り込むバスの状
態を監視するバス監視手段を備え、バスがアイドル状態
又はバストラフィックが低負荷状態のときデータの読み
込み及びデータの無効化を行なうものである。
タ転送を行ない、データ転送によるオーバーヘッドを増
加させないようなキャッシュシステムを提供することを
課題とする。 【解決手段】 リプレースされるキャッシュメモリ上の
キャッシュラインのアドレスを格納する記憶手段を備
え、リプレースされたキャッシュラインのステートが変
更または無効化されたとき上記格納されたアドレスに基
づいてそのキャッシュラインを変更または無効化される
前のステートに戻す。また、データを取り込むバスの状
態を監視するバス監視手段を備え、バスがアイドル状態
又はバストラフィックが低負荷状態のときデータの読み
込み及びデータの無効化を行なうものである。
Description
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムにおけるキャッシュメモリ制御に関するもので
ある。
システムにおけるキャッシュメモリ制御に関するもので
ある。
【0002】
【従来の技術】今日では、計算機システムにおける性能
向上を得るために、プロセッサを複数個備えて並列処理
を行なうマルチプロセッサシステムが使われるようにな
ってきている。マルチプロセッサシステムの中でも、複
数のプロセッサがメモリを共有し、この共有メモリによ
ってジョブのスケジューリングやデータの共有を行なう
共有メモリ型マルチプロセッサシステム(以下、単にマ
ルチプロセッサと言う)が、従来のマルチプログラミン
グにおけるプログラミング・モデルとの親和性の高さか
ら広く受け入れられている。
向上を得るために、プロセッサを複数個備えて並列処理
を行なうマルチプロセッサシステムが使われるようにな
ってきている。マルチプロセッサシステムの中でも、複
数のプロセッサがメモリを共有し、この共有メモリによ
ってジョブのスケジューリングやデータの共有を行なう
共有メモリ型マルチプロセッサシステム(以下、単にマ
ルチプロセッサと言う)が、従来のマルチプログラミン
グにおけるプログラミング・モデルとの親和性の高さか
ら広く受け入れられている。
【0003】この型のマルチプロセッサでは、共有のメ
モリに対するアクセスがシステムのボトルネックになり
易い。通常、このボトルネックを解消するために、共有
メモリのコピーをプロセッサ毎にキャッシュメモリに置
き、共有メモリへのアクセスをキャッシュメモリへのア
クセスで代替して、実際の共有メモリへのアクセスを低
減する方法がとられる。この時、複数のプロセッサが同
一のデータブロックのコピーを各々のキャッシュメモリ
に置くため、全部のプロセッサが共有メモリを基準とし
て矛盾のないメモリ管理をしなければならない。これは
マルチプロセッサにおけるキャッシュのコンシステンシ
問題と呼ばれ、アーチボルト、バエル(Archibald, Bae
r)他の論文「キャッシ ュ・コンシステンシ・プロトコ
ル:マルチプロセッサ・シミュレーションを 使った評
価」(■Cache Consistency Protocols:Evaluation Usi
ng a Multip urocessor Simulation■,ACM Transaction
son Computer Systems. Vol4,No. 4,Nov.1986.Pages273
-298)に各種の解決案が提案、記載されている。
モリに対するアクセスがシステムのボトルネックになり
易い。通常、このボトルネックを解消するために、共有
メモリのコピーをプロセッサ毎にキャッシュメモリに置
き、共有メモリへのアクセスをキャッシュメモリへのア
クセスで代替して、実際の共有メモリへのアクセスを低
減する方法がとられる。この時、複数のプロセッサが同
一のデータブロックのコピーを各々のキャッシュメモリ
に置くため、全部のプロセッサが共有メモリを基準とし
て矛盾のないメモリ管理をしなければならない。これは
マルチプロセッサにおけるキャッシュのコンシステンシ
問題と呼ばれ、アーチボルト、バエル(Archibald, Bae
r)他の論文「キャッシ ュ・コンシステンシ・プロトコ
ル:マルチプロセッサ・シミュレーションを 使った評
価」(■Cache Consistency Protocols:Evaluation Usi
ng a Multip urocessor Simulation■,ACM Transaction
son Computer Systems. Vol4,No. 4,Nov.1986.Pages273
-298)に各種の解決案が提案、記載されている。
【0004】マルチプロセッサにおけるキャッシュのコ
ンシステンシ問題を解決、制御する方法の1つとして、
MESIプロトコルと呼ばれる方式がある。このプロトコル
では、「Pentiumアーキテクチャの徹底理解」(CQ出版
社インターフェ ース■9311月号別冊付録,Pages20-21)
に記載されているように以下に示す4つのステートがキ
ャッシュライン単位で設定される。データキャッシュの
各セットのタグエントリには、4つのステートを表すた
めに2ビットのステートビットを備えている。 M(Modified):変更状態を示す。Mステートのラインのデ
ータは、そのキャッシュにのみ含まれ、メインメモリに
は含まれない。このステートのライン に対するリード
/ライトはメインメモリへのアクセスを発生させない。 E(Exclusive):排他状態を示す。Eステートのラインの
データは、システム内でそのキャッシュおよびメインメ
モリにのみ含まれ、他のプロセッサのキャッシュには含
まれない。このステートのラインに対するリード/ライ
トは、メインメモリへのアクセスを発生させない。Eス
テートのラインへライトを行なうと、そのラインはMス
テートに変更される。 S(Shared):共有状態を示す。Sステートのラインのデー
タは、そのキャッシュとメインメモリには必ず含まれて
いるが、さらに他のプロッセッサのキャッシュにも含ま
れている可能性がある。このステートのラインからのリ
ードは、メインメモリへのアクセスを発生させない。一
方、このステートのラインへのライトは、キャッシュと
メインメモリをともに更新する。Sステートのブロック
へのライトによって、他のプロッセッサのキャッシュの
対応するラインがインバリデートされることがある。 I(Invalid):無効状態を示す。キャッシュ内のIステート
のラインは、有効なデータが含まれていない。ラインが
無効化されるとこのステートになる。このステートのラ
インに対してリード/ライトを行なうとキャッシュミス
になり、メインメモリへのアクセスが発生する。Iステ
ートのラインに対してリードを行なうときに、そのライ
ンに対してキャッシュがイネーブルであれば、メインメ
モリからの1ライン分がそのラインに取り込まれる。
ンシステンシ問題を解決、制御する方法の1つとして、
MESIプロトコルと呼ばれる方式がある。このプロトコル
では、「Pentiumアーキテクチャの徹底理解」(CQ出版
社インターフェ ース■9311月号別冊付録,Pages20-21)
に記載されているように以下に示す4つのステートがキ
ャッシュライン単位で設定される。データキャッシュの
各セットのタグエントリには、4つのステートを表すた
めに2ビットのステートビットを備えている。 M(Modified):変更状態を示す。Mステートのラインのデ
ータは、そのキャッシュにのみ含まれ、メインメモリに
は含まれない。このステートのライン に対するリード
/ライトはメインメモリへのアクセスを発生させない。 E(Exclusive):排他状態を示す。Eステートのラインの
データは、システム内でそのキャッシュおよびメインメ
モリにのみ含まれ、他のプロセッサのキャッシュには含
まれない。このステートのラインに対するリード/ライ
トは、メインメモリへのアクセスを発生させない。Eス
テートのラインへライトを行なうと、そのラインはMス
テートに変更される。 S(Shared):共有状態を示す。Sステートのラインのデー
タは、そのキャッシュとメインメモリには必ず含まれて
いるが、さらに他のプロッセッサのキャッシュにも含ま
れている可能性がある。このステートのラインからのリ
ードは、メインメモリへのアクセスを発生させない。一
方、このステートのラインへのライトは、キャッシュと
メインメモリをともに更新する。Sステートのブロック
へのライトによって、他のプロッセッサのキャッシュの
対応するラインがインバリデートされることがある。 I(Invalid):無効状態を示す。キャッシュ内のIステート
のラインは、有効なデータが含まれていない。ラインが
無効化されるとこのステートになる。このステートのラ
インに対してリード/ライトを行なうとキャッシュミス
になり、メインメモリへのアクセスが発生する。Iステ
ートのラインに対してリードを行なうときに、そのライ
ンに対してキャッシュがイネーブルであれば、メインメ
モリからの1ライン分がそのラインに取り込まれる。
【0005】図19にMESIプロトコルを用いたマルチプロ
セッサシステムの一構成例を示す。100aおよび10
0bはプロッセッサであり、それぞれMESIプロトコルを
用いたキャッシュ(以下単にキャッシュと言う)101
a、101bを内蔵している。また、102は主記憶で
あり、103はプロセッサ100a、100b、主記憶
102をつなぐシステムバスである。
セッサシステムの一構成例を示す。100aおよび10
0bはプロッセッサであり、それぞれMESIプロトコルを
用いたキャッシュ(以下単にキャッシュと言う)101
a、101bを内蔵している。また、102は主記憶で
あり、103はプロセッサ100a、100b、主記憶
102をつなぐシステムバスである。
【0006】このような構成によってシステムを実現
し、プロセッサが他のプロセッサや主記憶に対してリー
ド/ライト要求した際には、キャッシュのコンシステン
シを保つために、データ転送の他に各キャッシュのステ
ートを遷移させる必要がある。
し、プロセッサが他のプロセッサや主記憶に対してリー
ド/ライト要求した際には、キャッシュのコンシステン
シを保つために、データ転送の他に各キャッシュのステ
ートを遷移させる必要がある。
【0007】以下の表はプロセッサからリード/ライト
の要求があった際のキャッシュのステートの遷移例を示
す。表から自明のように、MESIプロトコルを用いたプロ
セッサシステムでは、要求内容、自プロセッサの現在の
キャッシュステート、他プロセッサの現在のキャッシュ
ステートの状態によって、自プロセッサのキャッシュス
テートおよび他プロセッサのキャッシュステートを変更
しなくてはならない場合がある。すなわち、各プロセッ
サは、システムバス上に単にリード/ライト要求の発行
およびそれに伴うデータ転送以外に自キャッシュおよび
他キャッシュのステート変更をするための動作が必要で
ある。
の要求があった際のキャッシュのステートの遷移例を示
す。表から自明のように、MESIプロトコルを用いたプロ
セッサシステムでは、要求内容、自プロセッサの現在の
キャッシュステート、他プロセッサの現在のキャッシュ
ステートの状態によって、自プロセッサのキャッシュス
テートおよび他プロセッサのキャッシュステートを変更
しなくてはならない場合がある。すなわち、各プロセッ
サは、システムバス上に単にリード/ライト要求の発行
およびそれに伴うデータ転送以外に自キャッシュおよび
他キャッシュのステート変更をするための動作が必要で
ある。
【0008】
【表1】
【0009】図20に任意のプロセッサがリード/ライト
要求を発行した際に、各プロセッサがキャッシュのステ
ートを変更するために必要となる動作の一例を示す。本
例では、図19によるマルチプロセッサのシステム構成に
おいて、プ ロセッサ100aがリードまたはライト要
求を発行した際に自プロセッサ100aおよび他プロセ
ッサ100bが行なう動作を示している。図20内におい
て、「該当キャッシュのステートを調査し、他のプロセ
ッサに結果を知らせる」という手段は一般にスヌープ方
式と呼ばれ、この方式の実現方法としては、該キャッシ
ュのラインがSまたはEステートのときにはHIT#、該
キャッシュのラインがMステートのときにはHITM#
信号と呼ばれる信号線を用いて知らせる例が「Pentium
ファミリー ユーザーズマニュアル 中巻82496/82497キ
ャッシュコントローラと82491/82492キャッシュSRAMデ
ータブック」(インテルジャパン株式会社 資料番号:24
1429J-003 Pages1-22,5-10 4,5-105)に記載されてい
る。
要求を発行した際に、各プロセッサがキャッシュのステ
ートを変更するために必要となる動作の一例を示す。本
例では、図19によるマルチプロセッサのシステム構成に
おいて、プ ロセッサ100aがリードまたはライト要
求を発行した際に自プロセッサ100aおよび他プロセ
ッサ100bが行なう動作を示している。図20内におい
て、「該当キャッシュのステートを調査し、他のプロセ
ッサに結果を知らせる」という手段は一般にスヌープ方
式と呼ばれ、この方式の実現方法としては、該キャッシ
ュのラインがSまたはEステートのときにはHIT#、該
キャッシュのラインがMステートのときにはHITM#
信号と呼ばれる信号線を用いて知らせる例が「Pentium
ファミリー ユーザーズマニュアル 中巻82496/82497キ
ャッシュコントローラと82491/82492キャッシュSRAMデ
ータブック」(インテルジャパン株式会社 資料番号:24
1429J-003 Pages1-22,5-10 4,5-105)に記載されてい
る。
【0010】以上のように、MESIプロトコルを用い、図
19に示すマルチプロセッサシステムの構成において、各
プロセッサ内のキャッシュのコンシステンシを保つため
には、各キャッシュのステートは、上記表に基づいて遷
移しなければならず、また図20に基づいてプロセッサ間
の連絡をし、動作しなければならない。
19に示すマルチプロセッサシステムの構成において、各
プロセッサ内のキャッシュのコンシステンシを保つため
には、各キャッシュのステートは、上記表に基づいて遷
移しなければならず、また図20に基づいてプロセッサ間
の連絡をし、動作しなければならない。
【0011】図21は階層構造化したマルチプロセッサの
構成例である。図21において、300a、300b、3
00cおよび300dはプロセッサ、301a 、30
1b、301cおよび301dはそれぞれのプロセッサ
に内蔵しているMESIプロトコルを用いた1次キャッシュ
である。304a、304bはバスブリッジであり、そ
れぞれのバスブリッジは2次キャッシュ305aおよび
305bを内蔵している。302は主記憶である。ま
た、303aはプロセッサ300a、300bおよびバ
スブリッジ304aをつなぐバスであり、303bはプ
ロセッサ300c、300dおよびバスブリッジ304
bを つなぐバスである。さらに306はバスブリッジ
304a、304bおよび 主記憶302をつなぐバス
である。
構成例である。図21において、300a、300b、3
00cおよび300dはプロセッサ、301a 、30
1b、301cおよび301dはそれぞれのプロセッサ
に内蔵しているMESIプロトコルを用いた1次キャッシュ
である。304a、304bはバスブリッジであり、そ
れぞれのバスブリッジは2次キャッシュ305aおよび
305bを内蔵している。302は主記憶である。ま
た、303aはプロセッサ300a、300bおよびバ
スブリッジ304aをつなぐバスであり、303bはプ
ロセッサ300c、300dおよびバスブリッジ304
bを つなぐバスである。さらに306はバスブリッジ
304a、304bおよび 主記憶302をつなぐバス
である。
【0012】このような構成の場合、1次キャッシュ中
の全てのデータを、2次キャッシュで常に保持している
多重レベル包含性を満たした方がよいことが「コンピュ
ータ・アーキテクチャ設計・実現・評価の定量的アプロ
ーチ」(David A.Patterson., John L. Hennessy著 日
経BP社1992年12月25日1版1刷, Page475)に記述され
ている。また、主記憶が2次キャッシュを包含している
ことは周知のことである。
の全てのデータを、2次キャッシュで常に保持している
多重レベル包含性を満たした方がよいことが「コンピュ
ータ・アーキテクチャ設計・実現・評価の定量的アプロ
ーチ」(David A.Patterson., John L. Hennessy著 日
経BP社1992年12月25日1版1刷, Page475)に記述され
ている。また、主記憶が2次キャッシュを包含している
ことは周知のことである。
【0013】以下の表は上記の包含関係を考慮し、1
次、2次キャッシュのMESIプロトコルを考えた場合、1
次キャッシュと2次キャッシュの取り得るステートの関
係を示している。
次、2次キャッシュのMESIプロトコルを考えた場合、1
次キャッシュと2次キャッシュの取り得るステートの関
係を示している。
【0014】
【表2】
【0015】
【発明が解決しようとする課題】以上のように、MESIプ
ロトコルを用いた従来のマルチプロセッサにおいては、
無効化されたキャッシュのラインを持つどのプロセッサ
においても、その無効化されたラインを再度アクセスし
ようとした際にキャッシュミスを引き起こし、そのデー
タを共有メモリまたはMステートのキャッシュラインを
持つキャッシュから読み出す必要があり、データ転送が
発生する。
ロトコルを用いた従来のマルチプロセッサにおいては、
無効化されたキャッシュのラインを持つどのプロセッサ
においても、その無効化されたラインを再度アクセスし
ようとした際にキャッシュミスを引き起こし、そのデー
タを共有メモリまたはMステートのキャッシュラインを
持つキャッシュから読み出す必要があり、データ転送が
発生する。
【0016】従来、この場合にデータを必要とするプロ
セッサはそのデータの転送に使用するバスの負荷を考慮
していない。また、自プロセッサの内蔵キャッシュに空
きがあったとしても、実際に自プロセッサがリード/ラ
イト要求を発行するまで、キャッシュ内にデータを確保
しない。従って、リード/ライト要求に伴い、キャッシ
ュや主記憶間でデータ転送が発生するような場合、バス
の負荷を考慮した効率的なデータ転送とは限らない。
セッサはそのデータの転送に使用するバスの負荷を考慮
していない。また、自プロセッサの内蔵キャッシュに空
きがあったとしても、実際に自プロセッサがリード/ラ
イト要求を発行するまで、キャッシュ内にデータを確保
しない。従って、リード/ライト要求に伴い、キャッシ
ュや主記憶間でデータ転送が発生するような場合、バス
の負荷を考慮した効率的なデータ転送とは限らない。
【0017】本発明は、かかる問題を解決するためにな
されたものであり、キャッシュや主記憶間において効率
的なデータ転送を行ない、データ転送によるオーバーヘ
ッドを増加させないようなキャッシュシステムを提供す
ることを目的とする。
されたものであり、キャッシュや主記憶間において効率
的なデータ転送を行ない、データ転送によるオーバーヘ
ッドを増加させないようなキャッシュシステムを提供す
ることを目的とする。
【課題を解決するための手段】この発明に係るキャッシ
ュシステムにおいては、主記憶に接続された複数のプロ
セッサにそれぞれ設けられたキャッシュメモリにおい
て、リプレースされる上記キャッシュメモリ上のアドレ
スを格納する記憶手段を備え、リプレースされたキャッ
シュメモリのステートが変更または無効化されたとき上
記格納されたアドレスに基づいてそのキャッシュライン
を変更または無効化される前のステートに戻すものであ
る。
ュシステムにおいては、主記憶に接続された複数のプロ
セッサにそれぞれ設けられたキャッシュメモリにおい
て、リプレースされる上記キャッシュメモリ上のアドレ
スを格納する記憶手段を備え、リプレースされたキャッ
シュメモリのステートが変更または無効化されたとき上
記格納されたアドレスに基づいてそのキャッシュライン
を変更または無効化される前のステートに戻すものであ
る。
【0018】また、上記複数のプロセッサにおけるキャ
ツシュメモリを制御する方式がMESIプロトコルから
なるものである。
ツシュメモリを制御する方式がMESIプロトコルから
なるものである。
【0019】さらに、上記キャツシュメモリがセットア
ソシアティブ構造からなるものである。
ソシアティブ構造からなるものである。
【0020】また、主記憶に接続された複数のプロセッ
サにそれぞれ設けられMESIプロトコルにより制御さ
れるキャッシュメモリ、このキャッシュメモリを構成す
るキャッシュラインがリプレースされたときそのリプレ
ースされたアドレスを格納する記憶手段、この記憶手段
に格納されたアドレスと無効化要求のあったアドレスと
が一致したとき有意となる判断手段、この判断手段が有
意となりかつ無効化検知手段により無効化要求が有意に
なったとき上記リプレースされたアドレスに対応する他
の上記キャッシュメモリ又は上記主記憶のデータを読み
込む読み込み要求手段を備えてなるものである。
サにそれぞれ設けられMESIプロトコルにより制御さ
れるキャッシュメモリ、このキャッシュメモリを構成す
るキャッシュラインがリプレースされたときそのリプレ
ースされたアドレスを格納する記憶手段、この記憶手段
に格納されたアドレスと無効化要求のあったアドレスと
が一致したとき有意となる判断手段、この判断手段が有
意となりかつ無効化検知手段により無効化要求が有意に
なったとき上記リプレースされたアドレスに対応する他
の上記キャッシュメモリ又は上記主記憶のデータを読み
込む読み込み要求手段を備えてなるものである。
【0021】さらにまた、上記判断手段が有意となりか
つ無効化検知手段により無効化要求が有意になったと
き、その無効化要求のあったアドレスの他のプロセッサ
上のキャッシュメモリでのステートの情報を得るための
リクエスト信号を出力し、上記読み込み要求手段にM入
力信号が入力されたときは、読み込むことを抑止するも
のである。
つ無効化検知手段により無効化要求が有意になったと
き、その無効化要求のあったアドレスの他のプロセッサ
上のキャッシュメモリでのステートの情報を得るための
リクエスト信号を出力し、上記読み込み要求手段にM入
力信号が入力されたときは、読み込むことを抑止するも
のである。
【0022】また、主記憶に接続された複数のプロセッ
サにそれぞれ設けられMESIプロトコルにより制御さ
れるキャッシュメモリ、このキャッシュメモリを構成す
るキャッシュラインに対する無効化要求があったとき有
意な信号を出力する無効化検知手段、無効化要求があっ
たアドレスを記憶手段に格納するとともに上記キャッシ
ュメモリに対してそのアドレスに対応するキャッシュラ
インのステートがSであるとき有意になるS出力信号を
出力させその後上記アドレスに対応する自己のキャッシ
ュラインのステートを無効化するアクセス手段、上記無
効化検知手段から出力される有意な信号と上記キャッシ
ュメモリから出力されるS出力信号とを入力する判断手
段、この判断手段が有意になったとき上記アドレスのデ
ータを読み込む読み込み要求手段を備えてなるものであ
る。
サにそれぞれ設けられMESIプロトコルにより制御さ
れるキャッシュメモリ、このキャッシュメモリを構成す
るキャッシュラインに対する無効化要求があったとき有
意な信号を出力する無効化検知手段、無効化要求があっ
たアドレスを記憶手段に格納するとともに上記キャッシ
ュメモリに対してそのアドレスに対応するキャッシュラ
インのステートがSであるとき有意になるS出力信号を
出力させその後上記アドレスに対応する自己のキャッシ
ュラインのステートを無効化するアクセス手段、上記無
効化検知手段から出力される有意な信号と上記キャッシ
ュメモリから出力されるS出力信号とを入力する判断手
段、この判断手段が有意になったとき上記アドレスのデ
ータを読み込む読み込み要求手段を備えてなるものであ
る。
【0023】さらに、主記憶に接続された複数のプロセ
ッサにそれぞれ設けられMESIプロトコルにより制御
されるキャッシュメモリ、このキャッシュメモリを構成
するキャッシュラインに対する無効化要求があったとき
有意な信号を出力する無効化検知手段、無効化要求があ
ったアドレスを記憶手段に格納するとともに上記キャッ
シュメモリに対してそのアドレスに対応するキャッシュ
ラインのステートがMであるとき有意になるM出力信号
を出力させその後上記アドレスに対応する自己のキャッ
シュラインのステートを無効化するアクセス手段、上記
無効化検知手段から出力される有意な信号と上記キャッ
シュメモリから出力されるM出力信号とを入力する判断
手段、この判断手段が有意になったとき上記アドレスの
データを読み込みその後他の上記キャッシュメモリ及び
上記主記憶に対して上記アドレスに対応するキャッシュ
ラインの無効化を要求する読み込み及び無効化要求手段
を備えてなるものである。
ッサにそれぞれ設けられMESIプロトコルにより制御
されるキャッシュメモリ、このキャッシュメモリを構成
するキャッシュラインに対する無効化要求があったとき
有意な信号を出力する無効化検知手段、無効化要求があ
ったアドレスを記憶手段に格納するとともに上記キャッ
シュメモリに対してそのアドレスに対応するキャッシュ
ラインのステートがMであるとき有意になるM出力信号
を出力させその後上記アドレスに対応する自己のキャッ
シュラインのステートを無効化するアクセス手段、上記
無効化検知手段から出力される有意な信号と上記キャッ
シュメモリから出力されるM出力信号とを入力する判断
手段、この判断手段が有意になったとき上記アドレスの
データを読み込みその後他の上記キャッシュメモリ及び
上記主記憶に対して上記アドレスに対応するキャッシュ
ラインの無効化を要求する読み込み及び無効化要求手段
を備えてなるものである。
【0024】また、主記憶に接続されMESIプロトコ
ルにより制御されるキャッシュメモリから構成される複
数の第一のキャッシュシステム、この第一のキャッシュ
システムに包含されMESIプロトコルにより制御され
るキャッシュメモリから構成される複数の第二のキャッ
シュシステムからなる階層構造のキャッシュシステムに
おいて、上記第一又は第二のキャッシュシステムを構成
するキャッシュラインに対する無効化要求があったとき
有意な信号を出力する無効化検知手段、無効化要求があ
ったアドレスを記憶手段に格納するとともにその無効化
要求を上記第二のキャッシュシステムに送信する第一の
アクセス手段、この第一のアクセス手段からの信号を受
信し上記第二のキャッシュシステムを構成するキャッシ
ュメモリに対して上記アドレスに対応するキャッシュラ
インのステートがSであるとき有意になるS出力信号又
はそのステートがMであるとき有意になるM出力信号を
出力させ、その後上記アドレスに対応する上記第二のキ
ャッシュシステムのキャッシュラインのステートを無効
化する第二のアクセス手段、上記無効化検知手段から出
力される有意な第一の信号と上記S出力信号とを入力す
る第一の判断手段、上記無効化検知手段から出力される
有意な第二の信号と上記M出力信号とを入力する第二の
判断手段、上記第一の判断手段が有意になったとき上記
アドレスのデータを読み込む読み込み要求手段、上記第
二の判断手段が有意になったとき上記アドレスのデータ
を読み込みその後他の上記第一又は第二のキャッシュシ
ステム及び上記主記憶に対して上記アドレスに対応する
キャッシュラインの無効化を要求する読み込み及び無効
化要求手段を備えてなるものである。
ルにより制御されるキャッシュメモリから構成される複
数の第一のキャッシュシステム、この第一のキャッシュ
システムに包含されMESIプロトコルにより制御され
るキャッシュメモリから構成される複数の第二のキャッ
シュシステムからなる階層構造のキャッシュシステムに
おいて、上記第一又は第二のキャッシュシステムを構成
するキャッシュラインに対する無効化要求があったとき
有意な信号を出力する無効化検知手段、無効化要求があ
ったアドレスを記憶手段に格納するとともにその無効化
要求を上記第二のキャッシュシステムに送信する第一の
アクセス手段、この第一のアクセス手段からの信号を受
信し上記第二のキャッシュシステムを構成するキャッシ
ュメモリに対して上記アドレスに対応するキャッシュラ
インのステートがSであるとき有意になるS出力信号又
はそのステートがMであるとき有意になるM出力信号を
出力させ、その後上記アドレスに対応する上記第二のキ
ャッシュシステムのキャッシュラインのステートを無効
化する第二のアクセス手段、上記無効化検知手段から出
力される有意な第一の信号と上記S出力信号とを入力す
る第一の判断手段、上記無効化検知手段から出力される
有意な第二の信号と上記M出力信号とを入力する第二の
判断手段、上記第一の判断手段が有意になったとき上記
アドレスのデータを読み込む読み込み要求手段、上記第
二の判断手段が有意になったとき上記アドレスのデータ
を読み込みその後他の上記第一又は第二のキャッシュシ
ステム及び上記主記憶に対して上記アドレスに対応する
キャッシュラインの無効化を要求する読み込み及び無効
化要求手段を備えてなるものである。
【0025】さらにまた、主記憶に接続された複数のプ
ロセッサにそれぞれ設けられMESIプロトコルにより
制御されるキャッシュメモリ、このキャッシュメモリを
構成するキャッシュラインに対する読み込み要求があっ
たとき有意な信号を出力する読み込み要求検知手段、読
み込み要求があったアドレスを記憶手段に格納するとと
もに上記キャッシュメモリに対してそのアドレスに対応
するキャッシュラインのステートがMであるとき有意に
なるM出力信号を出力させ読み込み処理後上記アドレス
に対応する自己のキャッシュラインのステートをSに変
更するアクセス手段、上記読み込み要求検知手段から出
力される有意な信号と上記キャッシュメモリから出力さ
れるM出力信号とを入力する判断手段、この判断手段が
有意になったとき他の上記キャッシュメモリ及び上記主
記憶に対して上記アドレスに対応するキャッシュライン
の無効化を要求する無効化要求手段を備え、無効化後自
己のキャッシュラインのステートを元に戻すものであ
る。
ロセッサにそれぞれ設けられMESIプロトコルにより
制御されるキャッシュメモリ、このキャッシュメモリを
構成するキャッシュラインに対する読み込み要求があっ
たとき有意な信号を出力する読み込み要求検知手段、読
み込み要求があったアドレスを記憶手段に格納するとと
もに上記キャッシュメモリに対してそのアドレスに対応
するキャッシュラインのステートがMであるとき有意に
なるM出力信号を出力させ読み込み処理後上記アドレス
に対応する自己のキャッシュラインのステートをSに変
更するアクセス手段、上記読み込み要求検知手段から出
力される有意な信号と上記キャッシュメモリから出力さ
れるM出力信号とを入力する判断手段、この判断手段が
有意になったとき他の上記キャッシュメモリ及び上記主
記憶に対して上記アドレスに対応するキャッシュライン
の無効化を要求する無効化要求手段を備え、無効化後自
己のキャッシュラインのステートを元に戻すものであ
る。
【0026】また、主記憶に接続された複数のプロセッ
サにそれぞれ設けられMESIプロトコルにより制御さ
れるキャッシュメモリ、このキャッシュメモリを構成す
るキャッシュラインに対する無効化要求があったとき上
記キャッシュメモリから出力される無効化要求があった
キャッシュラインのステートがM又はS又はEのとき有
意な信号を出力する無効化検知手段、この無効化検知手
段から有意な信号が出力されたとき上記無効化要求のあ
ったキャッシュラインのアドレスのデータを読み込む読
み込み要求手段を備えてなるものである。
サにそれぞれ設けられMESIプロトコルにより制御さ
れるキャッシュメモリ、このキャッシュメモリを構成す
るキャッシュラインに対する無効化要求があったとき上
記キャッシュメモリから出力される無効化要求があった
キャッシュラインのステートがM又はS又はEのとき有
意な信号を出力する無効化検知手段、この無効化検知手
段から有意な信号が出力されたとき上記無効化要求のあ
ったキャッシュラインのアドレスのデータを読み込む読
み込み要求手段を備えてなるものである。
【0027】さらに、データを取り込むバスの状態を監
視するバス監視手段を備え、バスがアイドル状態又はバ
ストラフィックが低負荷状態のときデータの読み込みを
行なうものである。
視するバス監視手段を備え、バスがアイドル状態又はバ
ストラフィックが低負荷状態のときデータの読み込みを
行なうものである。
【0028】また、データを取り込むバスの状態を監視
するバス監視手段を備え、バスがアイドル状態又はバス
トラフィックが低負荷状態のときデータの無効化を行な
うものである。
するバス監視手段を備え、バスがアイドル状態又はバス
トラフィックが低負荷状態のときデータの無効化を行な
うものである。
【0029】さらにまた、バス上のトランザクションの
リクエスト数をカウントし予め設定したリクエスト基準
値以上カウントされているときは読み込み又は無効化を
行なわないものである。
リクエスト数をカウントし予め設定したリクエスト基準
値以上カウントされているときは読み込み又は無効化を
行なわないものである。
【0030】また、上記リクエスト基準値を任意に設定
できるものである。
できるものである。
【0031】さらに、上記リクエスト基準値をトランザ
クションの負荷状況に応じて動的に変化させるものであ
る。
クションの負荷状況に応じて動的に変化させるものであ
る。
【0032】また、上記バス監視手段がバス上のデータ
転送中であることを示す信号を監視するものである。
転送中であることを示す信号を監視するものである。
【0033】また、上記S出力信号とあるのがキャッシ
ュラインのステートがEであるとき有意になるE出力信
号であるものである。
ュラインのステートがEであるとき有意になるE出力信
号であるものである。
【0034】
実施の形態1.図1はこの発明の一実施の形態を示すキ
ャッシュシステムの構成図であり、図において1a,1b,1
c,1d,1e,1fはMESIプロトコルにより制御されるL1
キャッシュシステム、2a,2bはL2キャッシュシステ
ム、3は主記憶、4a,4bはL1キャッシュシステム1a,1b,
1c,1d,1e,1fとL2キャッシュシステム2a,2bをつなぐレ
ベル1のバス、5はL2キャッシュシステム2a,2bと主記
憶3をつなぐレベル2のバスである。さらに1001は送受
信手段の1つであるアドレスで指定されたキャッシュラ
インの状態を示すステートの情報を得るためのリクエス
ト信号、1002は送受信手段の1つであるアドレスで指定
されたキャッシュラインの状態を示すステートがMであ
ることを報告するM信号である。
ャッシュシステムの構成図であり、図において1a,1b,1
c,1d,1e,1fはMESIプロトコルにより制御されるL1
キャッシュシステム、2a,2bはL2キャッシュシステ
ム、3は主記憶、4a,4bはL1キャッシュシステム1a,1b,
1c,1d,1e,1fとL2キャッシュシステム2a,2bをつなぐレ
ベル1のバス、5はL2キャッシュシステム2a,2bと主記
憶3をつなぐレベル2のバスである。さらに1001は送受
信手段の1つであるアドレスで指定されたキャッシュラ
インの状態を示すステートの情報を得るためのリクエス
ト信号、1002は送受信手段の1つであるアドレスで指定
されたキャッシュラインの状態を示すステートがMであ
ることを報告するM信号である。
【0035】図2はこの発明の実施の形態1におけるL
2キャッシュシステム2a,2bの内部の構成図であり、図
において1101a,1101bはL2キャッシュ、1102a,1102bは
キャッシュラインに対して無効化要求が発行されたこと
を検知するための無効化検知手段、1104a,1104bはL2
キャッシュにデータの読み書きやキャッシュラインの状
態を示すステートの変更を行うL2キャッシュアクセス
手段、1105a,1105bはキャッシュのセット内に新たにデ
ータを格納したいときそのデータを格納するキャッシュ
ラインに空きがない場合L2キャッシュアクセス手段11
04a,1104b が出力するリプレースされるキャッシュライ
ンのアドレス、1106a,1106bはリプレースされるキャッ
シュラインのアドレス110 5a,1105b を格納するための
レジスタ、1107a,1107b はレベル2のバス5から送られ
てくるアドレス中のキャッシュのセット値、1108a,1108
b はレジスタ1106a,1106bにあるアドレス中のキャッシ
ュのセット値、1109a,1109bはレベル2のバス5から送ら
れてくるアドレス中のキャッシュのセット値1107a,1107
bとレジスタ1106a,1106bにあるアドレス中のキャッシュ
のセット値1108a,1108bを比較するための判断手段であ
る比較器、1110a,1110bはANDゲートである。1111a,1
111b はキャッシュラインの状態を示すステートの情報
を他系のL2キャッシュシステム2a,2bから得るための
リクエスト出力信号、1112a,1112bは自系のL2キャッ
シュシステム2a,2b のキャッシュラインの状態を示すス
テートの情報を送る要求がきたことを示すリクエスト入
力信号、1113a, 1113bは他系のキャッシュラインの状態
を示すステートがMであることを受信するM入力信号、
1114a,1114bは自系のキャッシュラインの状態を示すス
テートがMであることを報告するM出力信号、1117a,11
17bはL2キャッシュシステム2a,2b 内のキャッシュラ
インの状態を示すステートの情報を得るための送受信手
段であり、ANDゲート1110a,1110b が論理「1」を出
力する場合リクエスト信号1001に論理「1」を出力し、
ANDゲート1110a,1110b が論理「0」を出力するとき
はリクエスト信号1001の値を受信しリクエスト入力信号
1112a,1112bに伝え、リクエスト入力信号1112a,1112bが
論理「1」を出力する場合M出力信号1114a,1114bの値
をM信号1002に伝え、リクエスト入力信号1112a,1112b
が論理「0」を出力する場合M信号1002の値をM入力信
号1113a,1113bに伝える。1103a,1103b はレジスタ1106a
からリプレースされたキャッシュラインのアドレスを
入力し、ANDゲート1110 a,1110b が論理「1」を出
力しM入力信号1113a,1113b が論理「0」を出力すると
きキャッシュラインのデータを読み込むためにレベル2
のバス5に要求を発行する読み込み要求手段である。
2キャッシュシステム2a,2bの内部の構成図であり、図
において1101a,1101bはL2キャッシュ、1102a,1102bは
キャッシュラインに対して無効化要求が発行されたこと
を検知するための無効化検知手段、1104a,1104bはL2
キャッシュにデータの読み書きやキャッシュラインの状
態を示すステートの変更を行うL2キャッシュアクセス
手段、1105a,1105bはキャッシュのセット内に新たにデ
ータを格納したいときそのデータを格納するキャッシュ
ラインに空きがない場合L2キャッシュアクセス手段11
04a,1104b が出力するリプレースされるキャッシュライ
ンのアドレス、1106a,1106bはリプレースされるキャッ
シュラインのアドレス110 5a,1105b を格納するための
レジスタ、1107a,1107b はレベル2のバス5から送られ
てくるアドレス中のキャッシュのセット値、1108a,1108
b はレジスタ1106a,1106bにあるアドレス中のキャッシ
ュのセット値、1109a,1109bはレベル2のバス5から送ら
れてくるアドレス中のキャッシュのセット値1107a,1107
bとレジスタ1106a,1106bにあるアドレス中のキャッシュ
のセット値1108a,1108bを比較するための判断手段であ
る比較器、1110a,1110bはANDゲートである。1111a,1
111b はキャッシュラインの状態を示すステートの情報
を他系のL2キャッシュシステム2a,2bから得るための
リクエスト出力信号、1112a,1112bは自系のL2キャッ
シュシステム2a,2b のキャッシュラインの状態を示すス
テートの情報を送る要求がきたことを示すリクエスト入
力信号、1113a, 1113bは他系のキャッシュラインの状態
を示すステートがMであることを受信するM入力信号、
1114a,1114bは自系のキャッシュラインの状態を示すス
テートがMであることを報告するM出力信号、1117a,11
17bはL2キャッシュシステム2a,2b 内のキャッシュラ
インの状態を示すステートの情報を得るための送受信手
段であり、ANDゲート1110a,1110b が論理「1」を出
力する場合リクエスト信号1001に論理「1」を出力し、
ANDゲート1110a,1110b が論理「0」を出力するとき
はリクエスト信号1001の値を受信しリクエスト入力信号
1112a,1112bに伝え、リクエスト入力信号1112a,1112bが
論理「1」を出力する場合M出力信号1114a,1114bの値
をM信号1002に伝え、リクエスト入力信号1112a,1112b
が論理「0」を出力する場合M信号1002の値をM入力信
号1113a,1113bに伝える。1103a,1103b はレジスタ1106a
からリプレースされたキャッシュラインのアドレスを
入力し、ANDゲート1110 a,1110b が論理「1」を出
力しM入力信号1113a,1113b が論理「0」を出力すると
きキャッシュラインのデータを読み込むためにレベル2
のバス5に要求を発行する読み込み要求手段である。
【0036】L2キャッシュ1101aのセット内に新たに
データを格納したいときそのデータを格納するキャッシ
ュラインに空きがない場合の動作について説明する。レ
ベル1のバス4aからL2キャッシュ1101aへデータの書
き込み要求が発行されたとき、L2キャッシュアクセス
手段1104aはL2キャッシュ1101aへデータの書き込みを
行うためにデータを格納するキャッシュラインに空きが
あるかどうかを調べ、空きがない場合はリプレースされ
るキャッシュラインのアドレス1105aを出力する。L2
キャッシュアクセス手段1104aから出力された、リプレ
ースされるキャッシュラインのアドレス1105aはレジス
タ1106aに格納される。
データを格納したいときそのデータを格納するキャッシ
ュラインに空きがない場合の動作について説明する。レ
ベル1のバス4aからL2キャッシュ1101aへデータの書
き込み要求が発行されたとき、L2キャッシュアクセス
手段1104aはL2キャッシュ1101aへデータの書き込みを
行うためにデータを格納するキャッシュラインに空きが
あるかどうかを調べ、空きがない場合はリプレースされ
るキャッシュラインのアドレス1105aを出力する。L2
キャッシュアクセス手段1104aから出力された、リプレ
ースされるキャッシュラインのアドレス1105aはレジス
タ1106aに格納される。
【0037】次にレシスタ1106a に格納されたアドレス
中のキャッシュのセット値と同じセット値のキャッシュ
ラインに対して無効化の処理が行われたときの動作につ
いて説明する。レベル2のバス5 からL2キャッシュ11
01a へキャッシュラインの無効化の要求が発行されたと
き、L2キャッシュアクセス手段1104aはL2キャッシ
ュ1101aへキャッシュラインの状態を示すステートをI
に変えるための要求を発行し、アドレスにより指定され
たL2キャッシュ1101a内のキャッシュラインはL2キ
ャッシュアクセス手段1104aによりキャッシュラインの
状態を示すステートをIに変更される。また、無効化検
知手段1102aはレベル2のバス5 からの無効化要求を検
知し論理「1」を出力する。比較器1109aはL2キャッ
シュアクセス手段1104a から送られてくるアドレス中の
キャッシュのセット値1107aとレジスタ1106aにあるアド
レス中のキャッシュのセット値1108aを比較し同じ値で
あるため論理「1」を出力する。無効化検知手段1102a
と比較器1109aからともに論理「1」を入力したAND
ゲート1110aは論理「1」を送受信手段1117a に対して
出力する。ANDゲート1110aから論理「1」を入力し
た送受信手段1117aはリクエスト信号1001に論理1」を
出力する。また送受信手段1117aはレジスタ1106からリ
プレースされたキャッシュラインのアドレスをアドレス
信号1115aにより入力し、レベル2のバス5に出力する
。リクエスト信号11001 はL2キャッシュシステム2b
につながれており送受信手段1117bに論理「1」が入力
される。送受信手段1117bにはANDゲ ート1110bから
論理「0」を入力しておりリクエスト信号1001はリクエ
スト入力信号1112bに論理「1」を伝える。リクエスト
入力信号1112bから論理「1」を、レベル2のバス5から
アドレスを入力したL2キャッシュアクセス手段1104b
はL2キャッシュ1101bへアドレスを送り、L2キャッ
シュ1101bからM出力信号1114bにステートがMであれば
論理「1」がMでなければ論理「0」が出力される。
中のキャッシュのセット値と同じセット値のキャッシュ
ラインに対して無効化の処理が行われたときの動作につ
いて説明する。レベル2のバス5 からL2キャッシュ11
01a へキャッシュラインの無効化の要求が発行されたと
き、L2キャッシュアクセス手段1104aはL2キャッシ
ュ1101aへキャッシュラインの状態を示すステートをI
に変えるための要求を発行し、アドレスにより指定され
たL2キャッシュ1101a内のキャッシュラインはL2キ
ャッシュアクセス手段1104aによりキャッシュラインの
状態を示すステートをIに変更される。また、無効化検
知手段1102aはレベル2のバス5 からの無効化要求を検
知し論理「1」を出力する。比較器1109aはL2キャッ
シュアクセス手段1104a から送られてくるアドレス中の
キャッシュのセット値1107aとレジスタ1106aにあるアド
レス中のキャッシュのセット値1108aを比較し同じ値で
あるため論理「1」を出力する。無効化検知手段1102a
と比較器1109aからともに論理「1」を入力したAND
ゲート1110aは論理「1」を送受信手段1117a に対して
出力する。ANDゲート1110aから論理「1」を入力し
た送受信手段1117aはリクエスト信号1001に論理1」を
出力する。また送受信手段1117aはレジスタ1106からリ
プレースされたキャッシュラインのアドレスをアドレス
信号1115aにより入力し、レベル2のバス5に出力する
。リクエスト信号11001 はL2キャッシュシステム2b
につながれており送受信手段1117bに論理「1」が入力
される。送受信手段1117bにはANDゲ ート1110bから
論理「0」を入力しておりリクエスト信号1001はリクエ
スト入力信号1112bに論理「1」を伝える。リクエスト
入力信号1112bから論理「1」を、レベル2のバス5から
アドレスを入力したL2キャッシュアクセス手段1104b
はL2キャッシュ1101bへアドレスを送り、L2キャッ
シュ1101bからM出力信号1114bにステートがMであれば
論理「1」がMでなければ論理「0」が出力される。
【0038】ステートがMでない場合論理「0」がM出
力信号1114bに出力され、リクエスト入力信号1112bが論
理「1」を出力しているのでM信号1002 にば論理
「0」が出力される。M信号1002はL2キャッシュシス
テム2aにつながれており送受信手段1117aに論理「0」
が入力される。リクエスト入力信号1112aは論理「0」
を出力しておりM信号1002はM入力信号1113bに論理
「0」を伝える。ANDゲート1110aから論理「1」を
M入力信号1113bから論理「0」を入力した読み込み要
求手段1103aはレジスタ1106aからリプレースされたキャ
ッシュラインのアドレスを入力し、レベル2のバス5に
読み込み要求を出力する。レベル2のバス5 に発行され
た読み込み要求に従い主記憶3からデータがレベル2の
バス5に送られ、L2キャッシュアクセス手段1104aはL
2キャッシュ1101a にそのデータの書き込みを行う。以
上のようにキャッシュラインのアドレスを格納するため
の記憶手段と、キャッシュラインの無効化処理要求が発
行されたことを検知する手段とキャッシュラインを読み
込むための処理手段を設けたことにより、一度リプレ
ースされたキャッシュラインを再びL2キャッシュ内に
置くことが可能となった。
力信号1114bに出力され、リクエスト入力信号1112bが論
理「1」を出力しているのでM信号1002 にば論理
「0」が出力される。M信号1002はL2キャッシュシス
テム2aにつながれており送受信手段1117aに論理「0」
が入力される。リクエスト入力信号1112aは論理「0」
を出力しておりM信号1002はM入力信号1113bに論理
「0」を伝える。ANDゲート1110aから論理「1」を
M入力信号1113bから論理「0」を入力した読み込み要
求手段1103aはレジスタ1106aからリプレースされたキャ
ッシュラインのアドレスを入力し、レベル2のバス5に
読み込み要求を出力する。レベル2のバス5 に発行され
た読み込み要求に従い主記憶3からデータがレベル2の
バス5に送られ、L2キャッシュアクセス手段1104aはL
2キャッシュ1101a にそのデータの書き込みを行う。以
上のようにキャッシュラインのアドレスを格納するため
の記憶手段と、キャッシュラインの無効化処理要求が発
行されたことを検知する手段とキャッシュラインを読み
込むための処理手段を設けたことにより、一度リプレ
ースされたキャッシュラインを再びL2キャッシュ内に
置くことが可能となった。
【0039】ステートがMの場合論理「1」がM出力信
号1114bに出力され、リクエスト入力信号1112bが論理
「1」を出力しているのでM信号1002には論理「1」が
出力される。M信号1002はL2キャッシュシステム2aに
つながれており送受信手段1117aに論理「1」が入力さ
れる。リクエスト入力信号1112aは論理「0」を出力し
ておりM信号1002はM入力信号1113bに論理「1 」を伝
える。ANDゲート1110aから論理「1」を入力してい
るがM入力信号1113bから論理「0」ではなく論理
「1」を入力しているため、読み込み要求手段1103aは
レベル2のバス5に読み込み要求を出力しない。従って
レジスタ1106aに格納してあるリプレースされたキャッ
シュラインのアドレスに対するデータの読み込み処理が
抑止される。以上のようにL2キャッシュシステム内の
キャッシュラインの状態を示すステートの情報を得るた
めの送受信手段を設けたことにより、Mであるキャッシ
ュが存在した場合には一度リプレースされたキャッシュ
ラインを再びL2キャッシュ内に置くことを行わないよ
うにすることによりMであるキャッシュのステートを変
更しないままにすることができる。
号1114bに出力され、リクエスト入力信号1112bが論理
「1」を出力しているのでM信号1002には論理「1」が
出力される。M信号1002はL2キャッシュシステム2aに
つながれており送受信手段1117aに論理「1」が入力さ
れる。リクエスト入力信号1112aは論理「0」を出力し
ておりM信号1002はM入力信号1113bに論理「1 」を伝
える。ANDゲート1110aから論理「1」を入力してい
るがM入力信号1113bから論理「0」ではなく論理
「1」を入力しているため、読み込み要求手段1103aは
レベル2のバス5に読み込み要求を出力しない。従って
レジスタ1106aに格納してあるリプレースされたキャッ
シュラインのアドレスに対するデータの読み込み処理が
抑止される。以上のようにL2キャッシュシステム内の
キャッシュラインの状態を示すステートの情報を得るた
めの送受信手段を設けたことにより、Mであるキャッシ
ュが存在した場合には一度リプレースされたキャッシュ
ラインを再びL2キャッシュ内に置くことを行わないよ
うにすることによりMであるキャッシュのステートを変
更しないままにすることができる。
【0040】実施の形態2.図3 はこの発明の実施の
形態2におけるL2キャッシュシステム2a,2bの内部の
構成図であり、図において1101a,1101bはL2キャッシ
ュ、1102a,1102bはキャッシュラインに対して無効化要
求が出されたことを検知するための無効化検知手段、11
04a,1104b はL2キャッシュにデータの読み書きやキャ
ッシュラインの状態を示すステートの変更を行うL2キ
ャッシュアクセス手段、1121a,1121bはL2キャッシュ
アクセス手段がレベル1のバス4a,4b 、またはレベル2
のバス5から取り込んだアドレス、1125a,1125bはアドレ
ス1121a,1121bを格納するためのレジスタ、1122a,1122b
は自系のキャッシュラインの状態を示すステートがSで
あることを報告するS出力信号、1123a,1123bはAND
ゲート、1124a,1124bはレジスタ1125a,1125b からアド
レスを入力し、ANDゲート1123a,1123bが論理「1」
を出力するときキャッシュラインのデータを読み込むた
めにレベル2のバス5に要求を発行する読み込み要求手
段である。
形態2におけるL2キャッシュシステム2a,2bの内部の
構成図であり、図において1101a,1101bはL2キャッシ
ュ、1102a,1102bはキャッシュラインに対して無効化要
求が出されたことを検知するための無効化検知手段、11
04a,1104b はL2キャッシュにデータの読み書きやキャ
ッシュラインの状態を示すステートの変更を行うL2キ
ャッシュアクセス手段、1121a,1121bはL2キャッシュ
アクセス手段がレベル1のバス4a,4b 、またはレベル2
のバス5から取り込んだアドレス、1125a,1125bはアドレ
ス1121a,1121bを格納するためのレジスタ、1122a,1122b
は自系のキャッシュラインの状態を示すステートがSで
あることを報告するS出力信号、1123a,1123bはAND
ゲート、1124a,1124bはレジスタ1125a,1125b からアド
レスを入力し、ANDゲート1123a,1123bが論理「1」
を出力するときキャッシュラインのデータを読み込むた
めにレベル2のバス5に要求を発行する読み込み要求手
段である。
【0041】L2キャッシュ1101aにおいてキャッシュ
ラインの状態を示すステートがSのキャッシュラインに
対して無効化の処理が要求されたときの動作について説
明する。レベル2のバス5 からL2キャッシュ1101aへ
キャッシュラインの無効化の要求が発行されたとき、L
2キャッシュアクセス手段1104aはL2キャッシュ1101a
へアドレスを送り、L2キャッシュ1101aからS出力信
号1122aにキャッシュラインの状態を示すステートがS
であるので論理「1」が出力される。またL2キャッシ
ュアクセス手段1104aはキャッシュラインの状態 を示す
ステートをIに変えるための要求を発行し、アドレスに
より指定されたL2キャッシュ1101a 内のキャッシュラ
インはL2キャッシュアクセス手段1104aによりキャッ
シュラインの状態を示すステートをIに変更される。レ
ジスタ1125a,1125bはL2キャッシュアクセス手段1104a
からアドレス1121aを入力する。無効化検知手段1102aは
レベル2のバス5 からの無効化要求を検知し論理「1」
を出力する。無効化検知手段1102aとS出力信号1122aか
らともに論理「1」を入力したANDゲート1123aは論
理「1」を読み込み要求手段1124aに対して出力する。
ANDゲート1123aから論理「1」を入力した読み込み
要求手段1124aはレジスタ1125a,1125bからアドレスを入
力し、レベル2のバス5に読み込み要求を出力する。レ
ベル2のバス5 に 発行された読み込み要求に従いL2
キャッシュシステム2bまたは主記憶3からデータがレベ
ル2のバス5に送られ、L2キャッシュアクセス手段110
4aはL2キャッシュ1101aにそのデータの書き込みを行
い、キャッシュの状態を示すステートをIからSに変更
する。以上のようにキャッシュラインの無効化処理要求
が発行されたことを検知する手段と、キャッシュライン
を読み込むための処理手段を設けたことにより、L2キ
ャッシュに対して無効化の処理が要求される前の状態に
することが可能となった。
ラインの状態を示すステートがSのキャッシュラインに
対して無効化の処理が要求されたときの動作について説
明する。レベル2のバス5 からL2キャッシュ1101aへ
キャッシュラインの無効化の要求が発行されたとき、L
2キャッシュアクセス手段1104aはL2キャッシュ1101a
へアドレスを送り、L2キャッシュ1101aからS出力信
号1122aにキャッシュラインの状態を示すステートがS
であるので論理「1」が出力される。またL2キャッシ
ュアクセス手段1104aはキャッシュラインの状態 を示す
ステートをIに変えるための要求を発行し、アドレスに
より指定されたL2キャッシュ1101a 内のキャッシュラ
インはL2キャッシュアクセス手段1104aによりキャッ
シュラインの状態を示すステートをIに変更される。レ
ジスタ1125a,1125bはL2キャッシュアクセス手段1104a
からアドレス1121aを入力する。無効化検知手段1102aは
レベル2のバス5 からの無効化要求を検知し論理「1」
を出力する。無効化検知手段1102aとS出力信号1122aか
らともに論理「1」を入力したANDゲート1123aは論
理「1」を読み込み要求手段1124aに対して出力する。
ANDゲート1123aから論理「1」を入力した読み込み
要求手段1124aはレジスタ1125a,1125bからアドレスを入
力し、レベル2のバス5に読み込み要求を出力する。レ
ベル2のバス5 に 発行された読み込み要求に従いL2
キャッシュシステム2bまたは主記憶3からデータがレベ
ル2のバス5に送られ、L2キャッシュアクセス手段110
4aはL2キャッシュ1101aにそのデータの書き込みを行
い、キャッシュの状態を示すステートをIからSに変更
する。以上のようにキャッシュラインの無効化処理要求
が発行されたことを検知する手段と、キャッシュライン
を読み込むための処理手段を設けたことにより、L2キ
ャッシュに対して無効化の処理が要求される前の状態に
することが可能となった。
【0042】実施の形態3.図4はこの発明の実施の形
態3におけるL2キャッシュシステム2a,2bの内部の構
成図であり、図において1101a,1101bはL2キャッシ
ュ、1102a,1102bはキャッシュラインに対して無効化要
求が出されたことを検知するための無効化検知手段、11
04a,1104bはL2キャッシュにデータの読み書きやキャ
ッシュラインの状態を示すステートの変更を行うL2キ
ャッシュアクセス手段、1121a,1121bはL2キャッシュ
アクセス手段がレベル1のバス4a,4b 、またはレベル2
のバス5 から取り込んだアドレス、1125a,1125bはアド
レス1121a,1121bを格納するためのレジスタ、1114a,111
4bは自系のキャッシュラインの状態を示すステートがM
であることを報告するM出力信号、1131a,1131bはAN
Dゲート、1132a,1132bはレジスタ1125a,1125b からア
ドレスを入力し、ANDゲート1131a,1131bが論理
「1」を出力するときキャッシュラインのデータを読み
込み、他系のL2キャッシュシステム2a,2b 及び主記憶
3 に対してキャッシュラインの無効化処理を行うために
レベル2のバス5に要求を発行する読み込み及び無効化
要求手段である。
態3におけるL2キャッシュシステム2a,2bの内部の構
成図であり、図において1101a,1101bはL2キャッシ
ュ、1102a,1102bはキャッシュラインに対して無効化要
求が出されたことを検知するための無効化検知手段、11
04a,1104bはL2キャッシュにデータの読み書きやキャ
ッシュラインの状態を示すステートの変更を行うL2キ
ャッシュアクセス手段、1121a,1121bはL2キャッシュ
アクセス手段がレベル1のバス4a,4b 、またはレベル2
のバス5 から取り込んだアドレス、1125a,1125bはアド
レス1121a,1121bを格納するためのレジスタ、1114a,111
4bは自系のキャッシュラインの状態を示すステートがM
であることを報告するM出力信号、1131a,1131bはAN
Dゲート、1132a,1132bはレジスタ1125a,1125b からア
ドレスを入力し、ANDゲート1131a,1131bが論理
「1」を出力するときキャッシュラインのデータを読み
込み、他系のL2キャッシュシステム2a,2b 及び主記憶
3 に対してキャッシュラインの無効化処理を行うために
レベル2のバス5に要求を発行する読み込み及び無効化
要求手段である。
【0043】L2キャッシュ1101aにおいてキャッシュ
ラインの状態を示すステートがMのキャッシュラインに
対して無効化の処理が要求されたときの動作について説
明する。レベル2のバス5からL2キャッシュ1101aへキ
ャッシュラインの無効化の要求が発行されたとき、L2
キャッシュアクセス手段1104aはL2キャッシュ1101aへ
アドレスを送り、L2キャッシュ1101aからM出力信号1
114aにキャッシュラインの状態を示すステートがMであ
るので論理「1」が出力される。またL2キャッシュア
クセス手段1104aはキャッシュラインの状態を示すステ
ートをIに変えるための要求を発行し、キャッシュライ
ンのデータが主記憶3に移されたのちアドレスにより指
定されたL2キャッシュ1101a内のキャッシュラインは
L2キャッシュアクセス手段1104aによりキャッシュラ
インの状態を示すステートをIに変更される。レジスタ
1125a,1125bはL2キャッシュアクセス手段1104aからア
ドレス1121aを入力する。無効化検知手段1102aはレベル
2のバス5からの無効化要求を検知し論理「1」を出力
する。無効化検知手段1102aとM出力信号1114aからとも
に論理「1 」を入力したANDゲート1131aは論理
「1」を読み込み及び無効化要求手段1132aに対して出
力する。ANDゲート1131aから論理「1」を入力した
読み込み及び無効化要求手段1132aはレジスタ1125a,112
5bからアドレスを入力し、レベル2のバス5に読み込み
及び無効化要求を出力する。レベル2のバス5に発行さ
れた読み込み及び無効化要求に従いL2キャッシュシス
テム2bまたは主記憶3からデータがレベル2のバス5に送
られ、L2キャッシュアクセス手段1104aはL2キャッ
シュ1101aにそのデータの書き込みを行いその後、L2
キャッシュシステム2b及び主記憶3に対してキャッシュ
ラインの無効化処理を要求しキャッシュの状態を示すス
テートをIからMに変更される。以上のようにキャッシ
ュラインの無効化処理要求が発行されたことを検知する
手段と、キャッシュラインを読み込み及び無効化するた
めの処理手段を設けたことにより、L2キャッシュに対
して無効化の処理が要求される前の状態にすることが可
能となった。
ラインの状態を示すステートがMのキャッシュラインに
対して無効化の処理が要求されたときの動作について説
明する。レベル2のバス5からL2キャッシュ1101aへキ
ャッシュラインの無効化の要求が発行されたとき、L2
キャッシュアクセス手段1104aはL2キャッシュ1101aへ
アドレスを送り、L2キャッシュ1101aからM出力信号1
114aにキャッシュラインの状態を示すステートがMであ
るので論理「1」が出力される。またL2キャッシュア
クセス手段1104aはキャッシュラインの状態を示すステ
ートをIに変えるための要求を発行し、キャッシュライ
ンのデータが主記憶3に移されたのちアドレスにより指
定されたL2キャッシュ1101a内のキャッシュラインは
L2キャッシュアクセス手段1104aによりキャッシュラ
インの状態を示すステートをIに変更される。レジスタ
1125a,1125bはL2キャッシュアクセス手段1104aからア
ドレス1121aを入力する。無効化検知手段1102aはレベル
2のバス5からの無効化要求を検知し論理「1」を出力
する。無効化検知手段1102aとM出力信号1114aからとも
に論理「1 」を入力したANDゲート1131aは論理
「1」を読み込み及び無効化要求手段1132aに対して出
力する。ANDゲート1131aから論理「1」を入力した
読み込み及び無効化要求手段1132aはレジスタ1125a,112
5bからアドレスを入力し、レベル2のバス5に読み込み
及び無効化要求を出力する。レベル2のバス5に発行さ
れた読み込み及び無効化要求に従いL2キャッシュシス
テム2bまたは主記憶3からデータがレベル2のバス5に送
られ、L2キャッシュアクセス手段1104aはL2キャッ
シュ1101aにそのデータの書き込みを行いその後、L2
キャッシュシステム2b及び主記憶3に対してキャッシュ
ラインの無効化処理を要求しキャッシュの状態を示すス
テートをIからMに変更される。以上のようにキャッシ
ュラインの無効化処理要求が発行されたことを検知する
手段と、キャッシュラインを読み込み及び無効化するた
めの処理手段を設けたことにより、L2キャッシュに対
して無効化の処理が要求される前の状態にすることが可
能となった。
【0044】実施の形態4.図5はこの発明の一実施の
形態を示すキャッシュシステムの構成図であり、図にお
いて1a,1b,1c,1d,1e,1fはMESIプロトコルにより制
御されるL1キャッシュシステム、2a,2bはL2キャッ
シュシステム、3は主記憶、4a,4bはL1キャッシュシス
テム1a,1b,1c,1d,1e,1fとL2キャッシュシステム2a,2b
をつなぐレベル1のバス、5はL2キャッシュシステム2
a,2bと主記憶3をつなぐレベル2のバス、1143a,1143bは
自系のL1キャッシュのキャッシュラインの状態を示す
ステートがMであることを報告するL1のM出力信号、
1144a,1144b は自系のL1キャッシュのキャッシュライ
ンの状態を示すステートがSであることを報告するL1
のS出力信号である。
形態を示すキャッシュシステムの構成図であり、図にお
いて1a,1b,1c,1d,1e,1fはMESIプロトコルにより制
御されるL1キャッシュシステム、2a,2bはL2キャッ
シュシステム、3は主記憶、4a,4bはL1キャッシュシス
テム1a,1b,1c,1d,1e,1fとL2キャッシュシステム2a,2b
をつなぐレベル1のバス、5はL2キャッシュシステム2
a,2bと主記憶3をつなぐレベル2のバス、1143a,1143bは
自系のL1キャッシュのキャッシュラインの状態を示す
ステートがMであることを報告するL1のM出力信号、
1144a,1144b は自系のL1キャッシュのキャッシュライ
ンの状態を示すステートがSであることを報告するL1
のS出力信号である。
【0045】図6はこの発明の実施の形態4におけるL
1キャッシュシステム1a,1b,1c,1d,1e,1fの内部の構成
図であり、図において1141a,1141b,1141c,1141d,1141e,
1141fはL1キャッシュ、1142a,1142b,1142c,1142d,114
2e,1142fはL1キャッシュにデータの読み書きやキャッ
シュラインの状態を示すステートの変更を行うL1キャ
ッシュアクセス手段、1143a,1143bは自系のL1キャッ
シュのキャッシュラインの状態を示すステートがMであ
ることを報告するL1のM出力信号、1144a,1144b は自
系のL1キャッシュのキャッシュラインの状態を示すス
テートがSであることを報告するL1のS出力信号であ
る。
1キャッシュシステム1a,1b,1c,1d,1e,1fの内部の構成
図であり、図において1141a,1141b,1141c,1141d,1141e,
1141fはL1キャッシュ、1142a,1142b,1142c,1142d,114
2e,1142fはL1キャッシュにデータの読み書きやキャッ
シュラインの状態を示すステートの変更を行うL1キャ
ッシュアクセス手段、1143a,1143bは自系のL1キャッ
シュのキャッシュラインの状態を示すステートがMであ
ることを報告するL1のM出力信号、1144a,1144b は自
系のL1キャッシュのキャッシュラインの状態を示すス
テートがSであることを報告するL1のS出力信号であ
る。
【0046】図7はこの発明の実施の形態4におけるL
2キャッシュシステム2a,2bの内部の構成図であり、図
において1101a,1101bはL2キャッシュ、1102a,1102bは
キャッシュラインに対して無効化要求が発行されたこと
を検知するための無効化検知手段、1104a,1104bはL2
キャッシュにデータの読み書きやキャッシュラインの状
態を示すステートの変更を行うL2キャッシュアクセス
手段、1121a,1121bはL2キャッシュアクセス手段がレ
ベル1のバス4a,4b、またはレベル2のバス5から取り込
んだアドレス、1125a,1125bはアドレス1121a,1121b を
格納するためのレジスタ、1143a,1143bは自系のL1キ
ャッシュのキャッシュラインの状態を示すステートがM
であることを報告するL1のM出力信号、1144a,1144b
は自系のL1キャッシュのキャッシュラインの状態を示
すステートがSであることを報告するL1のS出力信号
である。1147a,1147b,1148a,1148bはANDゲート、113
2a,1132bはレジスタ1125a,1125bからアドレスを入力
し、ANDゲート1147a,1147bが論理「1」を出力する
ときキャッシュラインのデータを読み込み、他系のL2
キャッシュシステム2a,2b 及び主記憶3に対してキャッ
シュラインの無効化処理を要求するためにレベル2のバ
ス5に要求を発行する読み込み及び無効化要求手段、112
4a,1124bはレジスタ1125a,1125bからアドレスを入力
し、ANDゲート1148a,1148bが論理「1」を出力する
ときキャッシュラインのデータを読み込むためにレベル
2のバス5に要求を発行する読み込み要求手段である。
2キャッシュシステム2a,2bの内部の構成図であり、図
において1101a,1101bはL2キャッシュ、1102a,1102bは
キャッシュラインに対して無効化要求が発行されたこと
を検知するための無効化検知手段、1104a,1104bはL2
キャッシュにデータの読み書きやキャッシュラインの状
態を示すステートの変更を行うL2キャッシュアクセス
手段、1121a,1121bはL2キャッシュアクセス手段がレ
ベル1のバス4a,4b、またはレベル2のバス5から取り込
んだアドレス、1125a,1125bはアドレス1121a,1121b を
格納するためのレジスタ、1143a,1143bは自系のL1キ
ャッシュのキャッシュラインの状態を示すステートがM
であることを報告するL1のM出力信号、1144a,1144b
は自系のL1キャッシュのキャッシュラインの状態を示
すステートがSであることを報告するL1のS出力信号
である。1147a,1147b,1148a,1148bはANDゲート、113
2a,1132bはレジスタ1125a,1125bからアドレスを入力
し、ANDゲート1147a,1147bが論理「1」を出力する
ときキャッシュラインのデータを読み込み、他系のL2
キャッシュシステム2a,2b 及び主記憶3に対してキャッ
シュラインの無効化処理を要求するためにレベル2のバ
ス5に要求を発行する読み込み及び無効化要求手段、112
4a,1124bはレジスタ1125a,1125bからアドレスを入力
し、ANDゲート1148a,1148bが論理「1」を出力する
ときキャッシュラインのデータを読み込むためにレベル
2のバス5に要求を発行する読み込み要求手段である。
【0047】L2キャッシュ1101aのキャッシュライン
に対して無効化処理が要求されたとき、L1キャッシュ
1141aのキャッシュラインの状態を示すステートがMの
キャッシュラインに対して無効化の処理が要求されたと
きの動作について説明する。レベル2のバス5からL2
キャッシュ1101aへキャッシュラインの無効化の要求が
発行されたとき、L2キャッシュアクセス手段1104aを
経てレベル1のバス4aに無効化の要求が発行される。さ
らにレベル1のバス4a からL1キャッシュ1141a へキ
ャッシュラインの無効化の要求が発行される。このとき
L1キャッシュアクセス手段1142aはL1キャッシュ114
1aへアドレスを送り、L1キャッシュ1141a からL1の
M出力信号1143aにキャッシュラインの状態を示すステ
ートがMであるので論理「1」が出力される。またL1
キャッシュアクセス手段1141aはキャッシュラインの状
態を示すステートをIに変えるための要求を発行し、キ
ャッシュラインのデータが主記憶3に移されたのちアド
レスにより指定されたL1キャッシュ1141a内のキャッ
シュラインはL1キャッシュアクセス手段1141aにより
キャッシュラインの状態を示すステートをIに変更され
る。レジスタ1125a,1125bはL2キャッシュアクセス手
段1104aからアドレス1121aを入力する。無効化検知手段
1102aはレベル2のバス5からの無効化要求を検知し論理
「1」を出力する。無効化検知手段1102aとL1のM出
力信号1143aからともに論理「1」を入力したANDゲ
ート1147aは論理「1」を読み込み及び無効化要求手段1
132aに対して出力する。ANDゲート1147aから論理
「1」を入力した読み込み及び無効化要求手段1132a は
レジスタ1125a,1125bからアドレスを入力し、レベル2
のバス5に読み込み及び無効化要求を出力する。レベル
2のバス5に出された読み込み及び無効化要求に従いL
2キャッシュシステム2bまたは主記憶3からデータがレ
ベル2のバス5に送られ、L2キャッシュアクセス手段1
104a及びレベル1のバス4aを経てL1キャッシュ1141a
にそのデータの書き込みを行いその後、L2キャッシュ
システム2b及び主記憶3に対してキャッシュラインの無
効化処理が行われキャッシュの状態を示すステ ートを
IからMに変更される。以上のようにキャッシュライン
の無効化処理要求が発行されたことを検知する手段と、
キャッシュラインを読み込み及び無効化するための処理
手段と 、L1次キャッシュ内のキャッシュラインの状
態を示すステートの情報を得るための手段を設けたこと
により、L1キャッシュに対して無効化の処理が要求さ
れる前の状態にすることが可能となった。
に対して無効化処理が要求されたとき、L1キャッシュ
1141aのキャッシュラインの状態を示すステートがMの
キャッシュラインに対して無効化の処理が要求されたと
きの動作について説明する。レベル2のバス5からL2
キャッシュ1101aへキャッシュラインの無効化の要求が
発行されたとき、L2キャッシュアクセス手段1104aを
経てレベル1のバス4aに無効化の要求が発行される。さ
らにレベル1のバス4a からL1キャッシュ1141a へキ
ャッシュラインの無効化の要求が発行される。このとき
L1キャッシュアクセス手段1142aはL1キャッシュ114
1aへアドレスを送り、L1キャッシュ1141a からL1の
M出力信号1143aにキャッシュラインの状態を示すステ
ートがMであるので論理「1」が出力される。またL1
キャッシュアクセス手段1141aはキャッシュラインの状
態を示すステートをIに変えるための要求を発行し、キ
ャッシュラインのデータが主記憶3に移されたのちアド
レスにより指定されたL1キャッシュ1141a内のキャッ
シュラインはL1キャッシュアクセス手段1141aにより
キャッシュラインの状態を示すステートをIに変更され
る。レジスタ1125a,1125bはL2キャッシュアクセス手
段1104aからアドレス1121aを入力する。無効化検知手段
1102aはレベル2のバス5からの無効化要求を検知し論理
「1」を出力する。無効化検知手段1102aとL1のM出
力信号1143aからともに論理「1」を入力したANDゲ
ート1147aは論理「1」を読み込み及び無効化要求手段1
132aに対して出力する。ANDゲート1147aから論理
「1」を入力した読み込み及び無効化要求手段1132a は
レジスタ1125a,1125bからアドレスを入力し、レベル2
のバス5に読み込み及び無効化要求を出力する。レベル
2のバス5に出された読み込み及び無効化要求に従いL
2キャッシュシステム2bまたは主記憶3からデータがレ
ベル2のバス5に送られ、L2キャッシュアクセス手段1
104a及びレベル1のバス4aを経てL1キャッシュ1141a
にそのデータの書き込みを行いその後、L2キャッシュ
システム2b及び主記憶3に対してキャッシュラインの無
効化処理が行われキャッシュの状態を示すステ ートを
IからMに変更される。以上のようにキャッシュライン
の無効化処理要求が発行されたことを検知する手段と、
キャッシュラインを読み込み及び無効化するための処理
手段と 、L1次キャッシュ内のキャッシュラインの状
態を示すステートの情報を得るための手段を設けたこと
により、L1キャッシュに対して無効化の処理が要求さ
れる前の状態にすることが可能となった。
【0048】L2キャッシュ1101aのキャッシュライン
に対して無効化処理が要求されたとき、L1キャッシュ
1141aのキャッシュラインの状態を示すステートがSの
キャッシュラインに対して無効化の処理が要求されたと
きの動作について説明する。レベル2のバス5からL2
キャッシュ1101aへキャッシュラインの無効化の要求が
発行されたとき、L2キャッシュアクセス手段1104aを
経てレベル1のバス4aに無効化の要求が発行される。さ
らにレベル1のバス4aからL1キャッシュ1141aへキャ
ッシュラインの無効化の要求が発行される。このときL
1キャッシュアクセス手段1142aはL1キャッシュ1141a
へアドレス を送り、L1キャッシュ1141a からL1の
S出力信号1144aにキャッシュラインの状態を示すステ
ートがSであるので論理「1」が出力される。またL1
キャッシュアクセス手段1141aはキャッシュラインの状
態を示すステートをIに変えるための要求を発行し、ア
ドレスにより指定されたL1キャッシュ1141a内のキャ
ッシュラインはL1キャッシュアクセス手段1141aによ
りキャッシュラインの状態を示すステートをIに変更さ
れる。レジスタ1125a,1125bはL2キャッシュアクセス
手段1104aからアドレス1121aを入力する。無効化検知手
段1102aはレベル2のバス5 からの無効化要求を検知し
論理「1」を出力する。無効化検知手段1102aとL1の
S出力信号1144aからともに論理「1」を入力したAN
Dゲート1148aは論理「1」を読み込み要求手段1124a
に対して出力する。ANDゲート1148aから論理「1」
を入力した読み込み要求手段1124aはレジスタ1125a,112
5bからアドレスを入力し、レベル2のバス5に読み込み
要求を出力する。レベル2のバス5に発行された読み込
み要求に従いL2キャッシュシステム2bまたは主記憶3
からデータがレベル2のバス5に送られ、L2キャッシ
ュアクセス手段1104a及びレベル1のバス4aを経てL1
キャッシュ1141aにそのデータの書き込みを行い、キャ
ッシュの状態を示すステートをIからSに変更される。
以上のようにキャッシュラインの無効化処理要求が発行
されたことを検知する手段と、キャッシュラインを読み
込むための処理手段と、L1次キャッシュ内のキャッシ
ュラインの状態を示すステートの情報を得るための手段
を設けたことにより、L1キャッシュに対して無効化の
処理が要求される前の状態にすることが可能となった。
に対して無効化処理が要求されたとき、L1キャッシュ
1141aのキャッシュラインの状態を示すステートがSの
キャッシュラインに対して無効化の処理が要求されたと
きの動作について説明する。レベル2のバス5からL2
キャッシュ1101aへキャッシュラインの無効化の要求が
発行されたとき、L2キャッシュアクセス手段1104aを
経てレベル1のバス4aに無効化の要求が発行される。さ
らにレベル1のバス4aからL1キャッシュ1141aへキャ
ッシュラインの無効化の要求が発行される。このときL
1キャッシュアクセス手段1142aはL1キャッシュ1141a
へアドレス を送り、L1キャッシュ1141a からL1の
S出力信号1144aにキャッシュラインの状態を示すステ
ートがSであるので論理「1」が出力される。またL1
キャッシュアクセス手段1141aはキャッシュラインの状
態を示すステートをIに変えるための要求を発行し、ア
ドレスにより指定されたL1キャッシュ1141a内のキャ
ッシュラインはL1キャッシュアクセス手段1141aによ
りキャッシュラインの状態を示すステートをIに変更さ
れる。レジスタ1125a,1125bはL2キャッシュアクセス
手段1104aからアドレス1121aを入力する。無効化検知手
段1102aはレベル2のバス5 からの無効化要求を検知し
論理「1」を出力する。無効化検知手段1102aとL1の
S出力信号1144aからともに論理「1」を入力したAN
Dゲート1148aは論理「1」を読み込み要求手段1124a
に対して出力する。ANDゲート1148aから論理「1」
を入力した読み込み要求手段1124aはレジスタ1125a,112
5bからアドレスを入力し、レベル2のバス5に読み込み
要求を出力する。レベル2のバス5に発行された読み込
み要求に従いL2キャッシュシステム2bまたは主記憶3
からデータがレベル2のバス5に送られ、L2キャッシ
ュアクセス手段1104a及びレベル1のバス4aを経てL1
キャッシュ1141aにそのデータの書き込みを行い、キャ
ッシュの状態を示すステートをIからSに変更される。
以上のようにキャッシュラインの無効化処理要求が発行
されたことを検知する手段と、キャッシュラインを読み
込むための処理手段と、L1次キャッシュ内のキャッシ
ュラインの状態を示すステートの情報を得るための手段
を設けたことにより、L1キャッシュに対して無効化の
処理が要求される前の状態にすることが可能となった。
【0049】実施の形態5.図8はこの発明の実施の形
態5におけるL2キャッシュシステム2a,2bの内部の構
成図であり、図において1101a,1101bはL2キャッシ
ュ、1151a,1151bはキャッシュラインに対して読み込み
要求が発行されたことを検知するための読み込み要求検
知手段、1104a,1104bはL2キャッシュにデータの読み
書きやキャッシュラインの状態を示すステートの変更を
行うL2キャッシュアクセス手段、1121a,1121bはL2
キャッシュアクセス手段がレベル1のバス4a,4b 、また
はレベル2のバス5 から取り込んだアドレス、1125a,11
25bはアドレス1121a,1121b を格納するためのレジス
タ、1114a,1114bは自系のキャッシュラインの状態を示
すステートがMであることを報告するM出力信号、1152
a,1152bはANDゲート、1153a,1153b はレジスタ1125
a,1125bからアドレスを入力し、ANDゲート1152a,115
2bが論理「1」を出力するとき相手系のL2キャッシュ
システム2a,2b及び主記憶3に対してキャッシュラインの
無効化処理を要求するためにレベル2のバス5に要求を
発行する無効化要求手段である。
態5におけるL2キャッシュシステム2a,2bの内部の構
成図であり、図において1101a,1101bはL2キャッシ
ュ、1151a,1151bはキャッシュラインに対して読み込み
要求が発行されたことを検知するための読み込み要求検
知手段、1104a,1104bはL2キャッシュにデータの読み
書きやキャッシュラインの状態を示すステートの変更を
行うL2キャッシュアクセス手段、1121a,1121bはL2
キャッシュアクセス手段がレベル1のバス4a,4b 、また
はレベル2のバス5 から取り込んだアドレス、1125a,11
25bはアドレス1121a,1121b を格納するためのレジス
タ、1114a,1114bは自系のキャッシュラインの状態を示
すステートがMであることを報告するM出力信号、1152
a,1152bはANDゲート、1153a,1153b はレジスタ1125
a,1125bからアドレスを入力し、ANDゲート1152a,115
2bが論理「1」を出力するとき相手系のL2キャッシュ
システム2a,2b及び主記憶3に対してキャッシュラインの
無効化処理を要求するためにレベル2のバス5に要求を
発行する無効化要求手段である。
【0050】L2キャッシュ1101aにおいてキャッシュ
ラインの状態を示すステートがMのキャッシュラインに
対して読み込みの処理が要求されたときの動作について
説明する。レベル2のバス5からL2キャッシュ1101aへ
キャッシュラインの読み込みの要求が発行されたとき、
L2キャッシュアクセス手段1104aはL2キャッシュ110
1aへアドレスを送り、L2キャッシュ1101aからM出力
信号1114aにキャッシュラインの状態を示すステートが
Mであるので論理「1」が出力される。キャッシュライ
ンの読み込み処理が行われた後、L2キャッシュアクセ
ス手段1104aはキャッシュラインの状態を示すステート
をSに変えるための要求を発行し、アドレスにより指定
されたL2キャッシュ1101a内のキャッシュラインはL
2キャッシュアクセス手段1104aによりキャッシュライ
ンの状態を示すステートをSに変更される。レジスタ11
25a,1125bはL2キャッシュアクセス手段1104aからアド
レス1121aを入力する。読み込み要求検知手段1151aはレ
ベル2のバス5からの読み込み要求を検知し論理「1」
を出力する。読み込み要求検知手段1151aとM出力信号1
114a からともに論理「1」を入力したANDゲート115
2aは論理「1」を無効化要求手段1153aに対して出力す
る。ANDゲート1152aから論理「1」を入力した無効
化要求手段1153aはレジスタ1125a,1125bからアドレスを
入力し、レベル2のバス5に無効化要求を出力する。レ
ベル2のバス5に発行された無効化要求に従いL2キャ
ッシュシステム2b及び主記憶3に対してキャッシュライ
ンの無効化処理が要求され、その後、キャッシュシステ
ム2aのキャッシュラインの状態を示すステートをSか
らMに変更する。以上のようにキャッシュラインの読み
込み要求が発行されたことを検知する手段と、キャッシ
ュラインを無効化するための処理手段を設けたことによ
り、L2キャッシュに対して読み込み処理が要求される
前の状態にすることが可能となった。
ラインの状態を示すステートがMのキャッシュラインに
対して読み込みの処理が要求されたときの動作について
説明する。レベル2のバス5からL2キャッシュ1101aへ
キャッシュラインの読み込みの要求が発行されたとき、
L2キャッシュアクセス手段1104aはL2キャッシュ110
1aへアドレスを送り、L2キャッシュ1101aからM出力
信号1114aにキャッシュラインの状態を示すステートが
Mであるので論理「1」が出力される。キャッシュライ
ンの読み込み処理が行われた後、L2キャッシュアクセ
ス手段1104aはキャッシュラインの状態を示すステート
をSに変えるための要求を発行し、アドレスにより指定
されたL2キャッシュ1101a内のキャッシュラインはL
2キャッシュアクセス手段1104aによりキャッシュライ
ンの状態を示すステートをSに変更される。レジスタ11
25a,1125bはL2キャッシュアクセス手段1104aからアド
レス1121aを入力する。読み込み要求検知手段1151aはレ
ベル2のバス5からの読み込み要求を検知し論理「1」
を出力する。読み込み要求検知手段1151aとM出力信号1
114a からともに論理「1」を入力したANDゲート115
2aは論理「1」を無効化要求手段1153aに対して出力す
る。ANDゲート1152aから論理「1」を入力した無効
化要求手段1153aはレジスタ1125a,1125bからアドレスを
入力し、レベル2のバス5に無効化要求を出力する。レ
ベル2のバス5に発行された無効化要求に従いL2キャ
ッシュシステム2b及び主記憶3に対してキャッシュライ
ンの無効化処理が要求され、その後、キャッシュシステ
ム2aのキャッシュラインの状態を示すステートをSか
らMに変更する。以上のようにキャッシュラインの読み
込み要求が発行されたことを検知する手段と、キャッシ
ュラインを無効化するための処理手段を設けたことによ
り、L2キャッシュに対して読み込み処理が要求される
前の状態にすることが可能となった。
【0051】実施の形態6.図9はこの発明の実施の形
態6におけるキャッシュシステムの構成図である。この
システムはMESIプロトコルで制御される<N−1>次
キャッシュ システム1a,1b,1cとN次キャッシュシステ
ム2aとそれをつなぐレベル< N−1>バス4aからなるA
系クラスタがある。また、MESIプロトコルで制御さ
れる<N−1>次キャッシュシステム1d,1e,1fとN次キャ
ッシュシステム2b とそれをつなぐレベル<N−1>バス4
bからなるB系クラスタがある。A系クラスタとB系ク
ラスタとメモリ3とそれらをつなぐレベル Nバス5によ
って構成されるシステムである。以下、実施の形態6で
は、N=2として1次キャッシュシステム,2次キャッ
シュシステムとして例にあげる。
態6におけるキャッシュシステムの構成図である。この
システムはMESIプロトコルで制御される<N−1>次
キャッシュ システム1a,1b,1cとN次キャッシュシステ
ム2aとそれをつなぐレベル< N−1>バス4aからなるA
系クラスタがある。また、MESIプロトコルで制御さ
れる<N−1>次キャッシュシステム1d,1e,1fとN次キャ
ッシュシステム2b とそれをつなぐレベル<N−1>バス4
bからなるB系クラスタがある。A系クラスタとB系ク
ラスタとメモリ3とそれらをつなぐレベル Nバス5によ
って構成されるシステムである。以下、実施の形態6で
は、N=2として1次キャッシュシステム,2次キャッ
シュシステムとして例にあげる。
【0052】図10は2次キャッシュシステム2a,2bの構
成図であり、無効化検知手段3120と読み込み要求手段11
24,L2キャッシュ1101を具備する。無効化検知手段3120
はL2キャッシュ1101ラインステータスを3121を通して入
力する。図11は無効化検知手段3120の回路図とL2キャッ
シュ1101の構成図である。図12は読み込み要求手段3130
の回路図である。図12において無効化検知手段回路3120
ではレベル2バス5よりアドレス3221と、トランザクシ
ョンがキャッシュライン無効化要求をするトランザクシ
ョンかどうかのトランザクションリクエスト情報3228が
入力され、無効化要求し読み込み要求リクエスト信号
「REQ信号」3334を入力する。
成図であり、無効化検知手段3120と読み込み要求手段11
24,L2キャッシュ1101を具備する。無効化検知手段3120
はL2キャッシュ1101ラインステータスを3121を通して入
力する。図11は無効化検知手段3120の回路図とL2キャッ
シュ1101の構成図である。図12は読み込み要求手段3130
の回路図である。図12において無効化検知手段回路3120
ではレベル2バス5よりアドレス3221と、トランザクシ
ョンがキャッシュライン無効化要求をするトランザクシ
ョンかどうかのトランザクションリクエスト情報3228が
入力され、無効化要求し読み込み要求リクエスト信号
「REQ信号」3334を入力する。
【0053】無効化要求トランザクション検出回路3229
はトランザクションリクエスト情報3228内から無効化要
求トランザクションであることを検出し3231を有意にす
る。キャッシュラインのステータスの情報を持つレジス
タ3223はアドレス3221によって、該当するアドレスのス
テータスを比較器 3227へ出力する。比較器3227はステ
ータスの情報を持つレジスタ3223からでたステータス
が、無効化ステート(Iステート)以外かどうか比較す
る。IステートでないM,S,Eステートの場合、無効
化要求トランザクションを示す信号3231が有意のとき無
効化検知信号ラッチ3230を通り、無効化検知信号3128を
有意にする。本来はレベルNバスと無効化検知手段312
0,L2キャッシュ1101,読み込み要求手段3130の間にバ
スインタフェース回路が存在しドライバ、レシーバが存
在するが、説明の都合上省略した。
はトランザクションリクエスト情報3228内から無効化要
求トランザクションであることを検出し3231を有意にす
る。キャッシュラインのステータスの情報を持つレジス
タ3223はアドレス3221によって、該当するアドレスのス
テータスを比較器 3227へ出力する。比較器3227はステ
ータスの情報を持つレジスタ3223からでたステータス
が、無効化ステート(Iステート)以外かどうか比較す
る。IステートでないM,S,Eステートの場合、無効
化要求トランザクションを示す信号3231が有意のとき無
効化検知信号ラッチ3230を通り、無効化検知信号3128を
有意にする。本来はレベルNバスと無効化検知手段312
0,L2キャッシュ1101,読み込み要求手段3130の間にバ
スインタフェース回路が存在しドライバ、レシーバが存
在するが、説明の都合上省略した。
【0054】読み込み要求手段3130の回路図では、アド
レスレジスタ3331とリクエストラッチ3332を持つ。入力
のアドレス3221はレベル2バス5より入力され、無効化
検知信号3128,バス信号3333を入力とする、出力はREQ
信号3334とアドレスを出力する。アドレスレジスタ3331
は無効化検知信号3128が有意に変化するときアドレスを
取り込むレジスタである。
レスレジスタ3331とリクエストラッチ3332を持つ。入力
のアドレス3221はレベル2バス5より入力され、無効化
検知信号3128,バス信号3333を入力とする、出力はREQ
信号3334とアドレスを出力する。アドレスレジスタ3331
は無効化検知信号3128が有意に変化するときアドレスを
取り込むレジスタである。
【0055】次に動作について説明する。A系2次キャ
ッシュシステム2aがメモリ3と同じデータが書かれてお
り、B系2次キャッシュシステム2bにも同じデータがあ
るばあい(2a,2bともにSステート)を例にする。1次
キャッシュシステム1aがデータ書き込みしたとする。こ
のときA系2次キャッシュシステム2aはキャッシュ内容
を無効化(Iステート)しなければならない。このとき
トランザクションリクエスト情報3228にはキャッシュラ
インの無効化要求トランザクションであることが伝えら
れ、無効化要求トランザクション検出回路3229で検出さ
れる。アドレス3221により該当するキャッシュラインの
ステータスが比較器3227へ送られる。比較器3227でキャ
ッシュのラインのステートで無効化する必要があるかど
うか比較する。無効化する必要があれば、無効化検知信
号3128が有意になる。
ッシュシステム2aがメモリ3と同じデータが書かれてお
り、B系2次キャッシュシステム2bにも同じデータがあ
るばあい(2a,2bともにSステート)を例にする。1次
キャッシュシステム1aがデータ書き込みしたとする。こ
のときA系2次キャッシュシステム2aはキャッシュ内容
を無効化(Iステート)しなければならない。このとき
トランザクションリクエスト情報3228にはキャッシュラ
インの無効化要求トランザクションであることが伝えら
れ、無効化要求トランザクション検出回路3229で検出さ
れる。アドレス3221により該当するキャッシュラインの
ステータスが比較器3227へ送られる。比較器3227でキャ
ッシュのラインのステートで無効化する必要があるかど
うか比較する。無効化する必要があれば、無効化検知信
号3128が有意になる。
【0056】有意になった無効化検知信号3128は無効化
要求されて読み込み要求をするアドレスをアドレスレジ
スタ3331にラッチするのに使われる。これをリクエスト
可能時に有意になる、バス信号3333が有意になると、読
み込み要求を行なうリクエスト信号「REQ 信号」3334を
有効にする。有効になった「REQ 信号」3334はバス信号
3333をラッチするクロックに同期したリクエストラッチ
3332のリセット入力につながり、「REQ信号」をディア
サートする。また、無効化検知信号の出力3128もその信
号のラッチ3230のリセット入力に「REQ 信号」3334がつ
ながり無効検知信号をディアサートする。上記実施例の
キャッシュシステムは、他系によるキャッシュ無効化要
求が行なわれると直ちにデータの読み込み要求を行な
う。
要求されて読み込み要求をするアドレスをアドレスレジ
スタ3331にラッチするのに使われる。これをリクエスト
可能時に有意になる、バス信号3333が有意になると、読
み込み要求を行なうリクエスト信号「REQ 信号」3334を
有効にする。有効になった「REQ 信号」3334はバス信号
3333をラッチするクロックに同期したリクエストラッチ
3332のリセット入力につながり、「REQ信号」をディア
サートする。また、無効化検知信号の出力3128もその信
号のラッチ3230のリセット入力に「REQ 信号」3334がつ
ながり無効検知信号をディアサートする。上記実施例の
キャッシュシステムは、他系によるキャッシュ無効化要
求が行なわれると直ちにデータの読み込み要求を行な
う。
【0057】実施の形態7.図9はこの発明の実施の形
態7におけるキャッシュシステムの構成図でもある。以
下、実施の形態7では、N=2として1次キャッシュシ
ステム,2次キャッシュシステムとして例にあげる。図
13は実施の形態7における2次キャッシュシステム2
a,2bの構成図である。2次キャッシュシステム2a,2bは
実施の形態6と同様の無効化検知手段3120と、読み込み
要求手段3130を具備する。また加えてバス監視手段3440
を具備する。
態7におけるキャッシュシステムの構成図でもある。以
下、実施の形態7では、N=2として1次キャッシュシ
ステム,2次キャッシュシステムとして例にあげる。図
13は実施の形態7における2次キャッシュシステム2
a,2bの構成図である。2次キャッシュシステム2a,2bは
実施の形態6と同様の無効化検知手段3120と、読み込み
要求手段3130を具備する。また加えてバス監視手段3440
を具備する。
【0058】図14はバス監視手段3440の回路図である。
入力にはリクエスト可能時に有意となるバス信号3541,
読み込み要求を遅延させるためのカウント基準値3542,
トランザクションリクエスト要求信号REQ3549,トラン
ザクションの終了を示すTF信号3550を用いる。出力には
読み込み要求手段3130に読み込み要求の実行を開始させ
るための信号3333をバス信号として出力する。
入力にはリクエスト可能時に有意となるバス信号3541,
読み込み要求を遅延させるためのカウント基準値3542,
トランザクションリクエスト要求信号REQ3549,トラン
ザクションの終了を示すTF信号3550を用いる。出力には
読み込み要求手段3130に読み込み要求の実行を開始させ
るための信号3333をバス信号として出力する。
【0059】動作について説明する。例えば、トランザ
クションで、トランザクションの要求時にREQ信号3549
が、終了時にTF信号3550がアサートされるものとする。
3546〜3548でアップダウンカウンタを構成している。リ
クエストカウンタ3546はトランザクションリクエスト要
求信号REQ3549またはトランザクション終了のTF信号355
0が有意となる場合に更新される。アキュームレータ354
7はREQ信号3549、TF信号3550を選択条件とするセレクタ
3548の出力とリクエストカウンタ3546を加算する。セレ
クタ3548が加算する値は、REQ信号3549がアサートされ
ると1加算し、TF信号3550がアサートされると1減算す
る。リクエストカウンタ値は固定的に決められたカウン
タ基準値3542と比較器3545で比較し、基準値以下であれ
ば比較器3545の出力(読み込み要求イネーブル)を有意
にする。またバス信号3541がアサートされると、リクエ
ストできるタイミングであることを検知し読み込み要求
手段3130にバス信号3333を出力する。
クションで、トランザクションの要求時にREQ信号3549
が、終了時にTF信号3550がアサートされるものとする。
3546〜3548でアップダウンカウンタを構成している。リ
クエストカウンタ3546はトランザクションリクエスト要
求信号REQ3549またはトランザクション終了のTF信号355
0が有意となる場合に更新される。アキュームレータ354
7はREQ信号3549、TF信号3550を選択条件とするセレクタ
3548の出力とリクエストカウンタ3546を加算する。セレ
クタ3548が加算する値は、REQ信号3549がアサートされ
ると1加算し、TF信号3550がアサートされると1減算す
る。リクエストカウンタ値は固定的に決められたカウン
タ基準値3542と比較器3545で比較し、基準値以下であれ
ば比較器3545の出力(読み込み要求イネーブル)を有意
にする。またバス信号3541がアサートされると、リクエ
ストできるタイミングであることを検知し読み込み要求
手段3130にバス信号3333を出力する。
【0060】無効化検知手段3120で無効化が検知され読
み込み要求が発行されるタイミングでトランザクション
が多く発生しバスがビジー状態であるようなとき、つま
りリクエストカウンタが次々に加算され、カウンタ基準
値以上のトランザクションリクエストがあるとき読み込
み要求の発行は待たされる。
み込み要求が発行されるタイミングでトランザクション
が多く発生しバスがビジー状態であるようなとき、つま
りリクエストカウンタが次々に加算され、カウンタ基準
値以上のトランザクションリクエストがあるとき読み込
み要求の発行は待たされる。
【0061】次にトランザクションが終了し、TF信号35
50がアサートされるとリクエストカウンタは減算され、
カウンタ基準値以下となると、再読み込み要求の発行が
開始される。このようにバス監視手段3440を具備するこ
とで、バスのトラヒックを分散させ読み込み要求を可能
にできる。
50がアサートされるとリクエストカウンタは減算され、
カウンタ基準値以下となると、再読み込み要求の発行が
開始される。このようにバス監視手段3440を具備するこ
とで、バスのトラヒックを分散させ読み込み要求を可能
にできる。
【0062】実施の形態8.図9はこの発明の実施の形
態8におけるキャッシュシステムの構成図でもある。以
下、実施の形態8では、N=2として1次キャッシュシ
ステム,2次キャッシュシステムとして例にあげる。図
15は実施の形態8における2次キャッシュシステムであ
る。2次キャッシュシステムは実施の形態7と同様な無
効化検知手段3120,読み込み要求手段3130,バス監視手
段3440を具備する。また加えて読み込み要求遅延基準変
更回路3650とカウンタ基準値生成回路3660を具備する。
態8におけるキャッシュシステムの構成図でもある。以
下、実施の形態8では、N=2として1次キャッシュシ
ステム,2次キャッシュシステムとして例にあげる。図
15は実施の形態8における2次キャッシュシステムであ
る。2次キャッシュシステムは実施の形態7と同様な無
効化検知手段3120,読み込み要求手段3130,バス監視手
段3440を具備する。また加えて読み込み要求遅延基準変
更回路3650とカウンタ基準値生成回路3660を具備する。
【0063】図16は読み込み要求遅延基準変更回路3650
の構成図である。入力にはカウンタ基準値格納レジスタ
ラッチイネーブル信号3753,カウンタ基準値設定信号37
52を入力し、カウンタ基準値3542を出力する。
の構成図である。入力にはカウンタ基準値格納レジスタ
ラッチイネーブル信号3753,カウンタ基準値設定信号37
52を入力し、カウンタ基準値3542を出力する。
【0064】図17はカウンタ基準値生成回路3660を示す
構成図である。カウンタ基準値生成回路3660は実施例と
して、ローテートするアップカウンタ(レジスタで構
成)の出力をもとにカウンタ基準値を生成する場合につ
いて述べる。レジスタ3861は出力値に1を加算する加算
器3863の出力を入力とする。3862は加算出力をレジスタ
に取り込むイネーブル信号である。つまりカウントアッ
プイネーブル信号である。3864はレジスタ出力をカウン
タ基準値にデーコードするカウンタ基準値デコーダであ
るその出力は3752に出力される。
構成図である。カウンタ基準値生成回路3660は実施例と
して、ローテートするアップカウンタ(レジスタで構
成)の出力をもとにカウンタ基準値を生成する場合につ
いて述べる。レジスタ3861は出力値に1を加算する加算
器3863の出力を入力とする。3862は加算出力をレジスタ
に取り込むイネーブル信号である。つまりカウントアッ
プイネーブル信号である。3864はレジスタ出力をカウン
タ基準値にデーコードするカウンタ基準値デコーダであ
るその出力は3752に出力される。
【0065】次に動作について述べる。レジスタ3861の
出力値はカウントアップイネーブル信号3862が有意とな
ると、1加算された値がカウンタ基準値デコーダ3864に
入力される。デコーダ3864によってデコードされたカウ
ンタ基準値は基準値設定信号3752に伝わる。カウンタ基
準値格納レジスタラッチイネーブル信号3753が有意とな
るときカウンタ基準値格納レジスタに取り込まれ、カウ
ンタ基準値出力3542に出力される。この値がバス監視手
段で読み込み要求を遅延する基準となる。
出力値はカウントアップイネーブル信号3862が有意とな
ると、1加算された値がカウンタ基準値デコーダ3864に
入力される。デコーダ3864によってデコードされたカウ
ンタ基準値は基準値設定信号3752に伝わる。カウンタ基
準値格納レジスタラッチイネーブル信号3753が有意とな
るときカウンタ基準値格納レジスタに取り込まれ、カウ
ンタ基準値出力3542に出力される。この値がバス監視手
段で読み込み要求を遅延する基準となる。
【0066】カウントアップイネーブル信号3862を例え
ば自系キャッシュシステムによるリクエスト信号に接続
したとする。またカウンタ基準値格納レジスタラッチイ
ネーブル信号3753も、同リクエスト信号の1サイクルお
くれ信号に接続すれば、自系キャッシュシステムのリク
エストによって読み込み要求を遅延する基準値を変更す
ることが可能である。このようにして、他系キャッシュ
システムとの間で読み込み要求のリクエスト優先順位を
動的に変化させることが可能である。
ば自系キャッシュシステムによるリクエスト信号に接続
したとする。またカウンタ基準値格納レジスタラッチイ
ネーブル信号3753も、同リクエスト信号の1サイクルお
くれ信号に接続すれば、自系キャッシュシステムのリク
エストによって読み込み要求を遅延する基準値を変更す
ることが可能である。このようにして、他系キャッシュ
システムとの間で読み込み要求のリクエスト優先順位を
動的に変化させることが可能である。
【0067】実施の形態9.図9はこの発明の実施の形
態9におけるキャッシュシステムの構成図でもある。以
下、実施の形態9では、N=2として1次キャッシュシ
ステム,2次キャッシュシステムとして例にあげる。図
13に実施の形態9における2次キャッシュシステムの構
成図を示す。図18はバス監視手段の実現回路例である。
インバータ3970はバス上にデータが転送中であることを
示すBBSY信号3975が無効である時有意になる。レジスタ
3971は加算器3978で1加算された値をクロック3976と同
期し、バス上にデータがドライブされていない時に取り
込む。つまりBBSY信号のディアサートをイネーブル条件
とするタイマである。バスビジー基準値格納レジスタ39
72は、ある一定の間BBSY信号がバス上に出ていないこと
を観測するための時間を規定するためのレジスタであ
る。バスビジー基準値の設定は、バス監視手段3440の外
部からバスビジー基準値3977として入力し設定する。比
較器3973はバスビジー基準値格納レジスタ出力3972とレ
ジスタの出力3971を比較し、タイマ値が基準値より大き
い時有意に出力する。リクエストが出せる状態を示すバ
ス信号3974と比較器 3973 の出力との論理積を読み込み
要求手段1124のバス信号3333の入力とし、バスがビジー
状態の時に読み込み要求を遅延させることができる。
態9におけるキャッシュシステムの構成図でもある。以
下、実施の形態9では、N=2として1次キャッシュシ
ステム,2次キャッシュシステムとして例にあげる。図
13に実施の形態9における2次キャッシュシステムの構
成図を示す。図18はバス監視手段の実現回路例である。
インバータ3970はバス上にデータが転送中であることを
示すBBSY信号3975が無効である時有意になる。レジスタ
3971は加算器3978で1加算された値をクロック3976と同
期し、バス上にデータがドライブされていない時に取り
込む。つまりBBSY信号のディアサートをイネーブル条件
とするタイマである。バスビジー基準値格納レジスタ39
72は、ある一定の間BBSY信号がバス上に出ていないこと
を観測するための時間を規定するためのレジスタであ
る。バスビジー基準値の設定は、バス監視手段3440の外
部からバスビジー基準値3977として入力し設定する。比
較器3973はバスビジー基準値格納レジスタ出力3972とレ
ジスタの出力3971を比較し、タイマ値が基準値より大き
い時有意に出力する。リクエストが出せる状態を示すバ
ス信号3974と比較器 3973 の出力との論理積を読み込み
要求手段1124のバス信号3333の入力とし、バスがビジー
状態の時に読み込み要求を遅延させることができる。
【0068】実施の形態10.実施の形態3における図
4の1114a、1114bが自系のキャッシュラインの状態を示
すステートがEであるとき有意になるE出力信号の場合
であり、無効化される前のEステートの状態にすること
ができる。
4の1114a、1114bが自系のキャッシュラインの状態を示
すステートがEであるとき有意になるE出力信号の場合
であり、無効化される前のEステートの状態にすること
ができる。
【0069】実施の形態11.実施の形態4における図
5、図6、図7の1143a、1143bが自系のキャッシュライ
ンの状態を示すステートがEであるとき有意になるE出
力信号の場合であり、無効化される前のEステートの状
態にすることができる。
5、図6、図7の1143a、1143bが自系のキャッシュライ
ンの状態を示すステートがEであるとき有意になるE出
力信号の場合であり、無効化される前のEステートの状
態にすることができる。
【0070】実施の形態12.実施の形態5における図
8の1143a、1143bが自系のキャッシュラインの状態を示
すステートがEであるとき有意になるE出力信号の場合
であり、無効化される前のEステートの状態にすること
ができる。
8の1143a、1143bが自系のキャッシュラインの状態を示
すステートがEであるとき有意になるE出力信号の場合
であり、無効化される前のEステートの状態にすること
ができる。
【0071】実施の形態13.実施の形態4における図
5、図6、図7の1144a、1144bが自系のキャッシュライ
ンの状態を示すステートがEであるとき有意になるE出
力信号の場合であり、主記憶からのデータの読み込みを
要求することにより無効化される前のEステートの状態
にすることができる。
5、図6、図7の1144a、1144bが自系のキャッシュライ
ンの状態を示すステートがEであるとき有意になるE出
力信号の場合であり、主記憶からのデータの読み込みを
要求することにより無効化される前のEステートの状態
にすることができる。
【0072】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。
れているので、以下に示すような効果を奏する。
【0073】有効であったキャッシュラインのステート
が何らかの理由で変更または無効化されたときに、その
キャッシュラインのアドレスを上記記憶手段に格納し、
後に上記記憶手段に格納されたアドレスを用いて変更ま
たは無効化される前のステートにそのキャッシュライン
を取り戻す構成にしたので、キャッシュラインのステー
トが変更または無効化される前の状態にすることがで
き、あたかも上記ステートの変更または無効化が発生し
なかったように制御できる。
が何らかの理由で変更または無効化されたときに、その
キャッシュラインのアドレスを上記記憶手段に格納し、
後に上記記憶手段に格納されたアドレスを用いて変更ま
たは無効化される前のステートにそのキャッシュライン
を取り戻す構成にしたので、キャッシュラインのステー
トが変更または無効化される前の状態にすることがで
き、あたかも上記ステートの変更または無効化が発生し
なかったように制御できる。
【0074】また、MESIプロトコルにより制御され
るキャツシュメモリにおいて、有効であったキャッシュ
ラインのステートが何らかの理由で変更または無効化さ
れたときに、そのキャッシュラインのアドレスを上記記
憶手段に格納し、後に上記記憶手段に格納されたアドレ
スを用いて変更または無効化される前のステートにその
キャッシュラインを取り戻す構成にしたので、キャッシ
ュラインのステートが変更または無効化される前の状態
にすることができ、あたかも上記ステートの変更または
無効化が発生しなかったように制御できる。
るキャツシュメモリにおいて、有効であったキャッシュ
ラインのステートが何らかの理由で変更または無効化さ
れたときに、そのキャッシュラインのアドレスを上記記
憶手段に格納し、後に上記記憶手段に格納されたアドレ
スを用いて変更または無効化される前のステートにその
キャッシュラインを取り戻す構成にしたので、キャッシ
ュラインのステートが変更または無効化される前の状態
にすることができ、あたかも上記ステートの変更または
無効化が発生しなかったように制御できる。
【0075】さらに、セットアソシアティブ構造である
キャツシュメモリにおいて、有効であったキャッシュラ
インのステートが何らかの理由で変更または無効化され
たときに、そのキャッシュラインのアドレスを上記記憶
手段に格納し、後に上記記憶手段に格納されたアドレス
を用いて変更または無効化される前のステートにそのキ
ャッシュラインを取り戻す構成にしたので、キャッシュ
ラインのステートが変更または無効化される前の状態に
することができ、あたかも上記ステートの変更または無
効化が発生しなかったように制御できる。
キャツシュメモリにおいて、有効であったキャッシュラ
インのステートが何らかの理由で変更または無効化され
たときに、そのキャッシュラインのアドレスを上記記憶
手段に格納し、後に上記記憶手段に格納されたアドレス
を用いて変更または無効化される前のステートにそのキ
ャッシュラインを取り戻す構成にしたので、キャッシュ
ラインのステートが変更または無効化される前の状態に
することができ、あたかも上記ステートの変更または無
効化が発生しなかったように制御できる。
【0076】また、新たにデータを格納したいときその
データを格納するキャッシュラインに空きがない場合、
そのデータをキャッシュラインに入れるためにリプレー
スされるキャッシュラインのアドレスを記憶手段に格納
し、上記リプレースされたキャッシュラインと同じセッ
ト中のキャッシュラインが無効化されたとき、上記記憶
手段に格納していたアドレスを用いてデータの読み込み
を行う構成にしたので、一度リプレースされたキャッシ
ュラインのデータを、再び同じセット中のキャッシュラ
インに置くことができる。
データを格納するキャッシュラインに空きがない場合、
そのデータをキャッシュラインに入れるためにリプレー
スされるキャッシュラインのアドレスを記憶手段に格納
し、上記リプレースされたキャッシュラインと同じセッ
ト中のキャッシュラインが無効化されたとき、上記記憶
手段に格納していたアドレスを用いてデータの読み込み
を行う構成にしたので、一度リプレースされたキャッシ
ュラインのデータを、再び同じセット中のキャッシュラ
インに置くことができる。
【0077】さらにまた、キャッシュラインの状態を示
すステートがMであるキャッシュラインが存在した場合
上記記憶手段に格納していたアドレスを用いてデータの
読み込みを行うことを抑止しMでなければ読み込むこと
を行う構成にしたので、Mであるキャッシュラインが存
在した場合にはそのステートを変更しないままにするこ
とができる。
すステートがMであるキャッシュラインが存在した場合
上記記憶手段に格納していたアドレスを用いてデータの
読み込みを行うことを抑止しMでなければ読み込むこと
を行う構成にしたので、Mであるキャッシュラインが存
在した場合にはそのステートを変更しないままにするこ
とができる。
【0078】また、キャッシュラインの状態を示すステ
ートがSのキャッシュラインに対して無効化処理が行わ
れキャッシュラインの状態を示すステートがSからIに
変わったとき、上記キャッシュラインのステートをSに
戻すために上記キャッシュラインの読み込み処理を行う
構成にしたので、無効化の処理が行われる前のSステー
トの状態にすることができる。
ートがSのキャッシュラインに対して無効化処理が行わ
れキャッシュラインの状態を示すステートがSからIに
変わったとき、上記キャッシュラインのステートをSに
戻すために上記キャッシュラインの読み込み処理を行う
構成にしたので、無効化の処理が行われる前のSステー
トの状態にすることができる。
【0079】さらに、キャッシュラインの状態を示すス
テートがMのキャッシュラインに対して無効化処理が行
われキャッシュラインの状態を示すステートがMからI
に変わったとき、上記キャッシュラインのステートをM
に戻すために上記キャッシュラインの読み込み及び他系
のキャッシュラインに対して無効化処理を要求する構成
にしたので、無効化の処理が行われる前のMステートの
状態にすることができる。
テートがMのキャッシュラインに対して無効化処理が行
われキャッシュラインの状態を示すステートがMからI
に変わったとき、上記キャッシュラインのステートをM
に戻すために上記キャッシュラインの読み込み及び他系
のキャッシュラインに対して無効化処理を要求する構成
にしたので、無効化の処理が行われる前のMステートの
状態にすることができる。
【0080】また、N次キャッシュのキャッシュライン
に対して無効化処理が行われたとき、上記N次キャッシ
ュに接続された<Nー1>次キャッシュのキャッシュラ
インの状態を示すステートがMからIに変わる場合、上
記<Nー1>次キャッシュのキャッシュラインのステー
トをMに戻すために上記キャッシュラインの読み込み及
び他系のN次キャッシュに対して無効化処理を要求する
構成にしたので、<Nー1>次キャッシュにおいて無効
化の処理が行われる前のMステートの状態にすることが
できる。また、上記ステートがSからIに変わる場合、
上記<Nー1>次キャッシュのキャッシュラインのステ
ートをSに戻すために上記キャッシュラインの読み込み
処理を行う構成にしたので、<Nー1>次キャッシュに
おいて無効化の処理が行われる前のSステートの状態に
することができる。
に対して無効化処理が行われたとき、上記N次キャッシ
ュに接続された<Nー1>次キャッシュのキャッシュラ
インの状態を示すステートがMからIに変わる場合、上
記<Nー1>次キャッシュのキャッシュラインのステー
トをMに戻すために上記キャッシュラインの読み込み及
び他系のN次キャッシュに対して無効化処理を要求する
構成にしたので、<Nー1>次キャッシュにおいて無効
化の処理が行われる前のMステートの状態にすることが
できる。また、上記ステートがSからIに変わる場合、
上記<Nー1>次キャッシュのキャッシュラインのステ
ートをSに戻すために上記キャッシュラインの読み込み
処理を行う構成にしたので、<Nー1>次キャッシュに
おいて無効化の処理が行われる前のSステートの状態に
することができる。
【0081】さらにまた、キャッシュラインの状態を示
すステートがMのキャッシュラインに対して読み込み処
理が行われキャッシュラインの状態を示すステートがM
からSに変わったとき、上記キャッシュラインのステー
トをMに戻すために他系のキャッシュラインに対して無
効化処理を要求する構成にしたので、読み込み処理が行
われる前のMステートの状態にすることができる。
すステートがMのキャッシュラインに対して読み込み処
理が行われキャッシュラインの状態を示すステートがM
からSに変わったとき、上記キャッシュラインのステー
トをMに戻すために他系のキャッシュラインに対して無
効化処理を要求する構成にしたので、読み込み処理が行
われる前のMステートの状態にすることができる。
【0082】また、本発明のキャッシュシステムは、キ
ャッシュラインの無効化要求検知手段によって、キャッ
シュラインの無効化要求が行なわれると、データの読み
込み要求手段によって、データを読み込みを完了させて
おくことが出来るので、その直後に再びアクセス要求が
あった際にデータ転送によるオーバヘッドが存在せず、
システム全体として効率よくデータを共有できる。
ャッシュラインの無効化要求検知手段によって、キャッ
シュラインの無効化要求が行なわれると、データの読み
込み要求手段によって、データを読み込みを完了させて
おくことが出来るので、その直後に再びアクセス要求が
あった際にデータ転送によるオーバヘッドが存在せず、
システム全体として効率よくデータを共有できる。
【0083】さらに、バス監視手段がバスの状態を監視
し、トラヒックが低負化状態のときにデータの読み込み
要求を行なうので、アクセス要求があった際にデータ転
送によるオーバヘッドが存在せず、システム全体として
効率よくデータを共有できる効果を実現できる。
し、トラヒックが低負化状態のときにデータの読み込み
要求を行なうので、アクセス要求があった際にデータ転
送によるオーバヘッドが存在せず、システム全体として
効率よくデータを共有できる効果を実現できる。
【0084】また、バス監視手段がバスの状態を監視
し、トラヒックが低負化状態のときにデータの読み込み
要求及び無効化要求を行なうので、データ転送によるオ
ーバヘッドが存在せず、システム全体として効率よくキ
ャッシュラインのステートをMに戻すことができる。
し、トラヒックが低負化状態のときにデータの読み込み
要求及び無効化要求を行なうので、データ転送によるオ
ーバヘッドが存在せず、システム全体として効率よくキ
ャッシュラインのステートをMに戻すことができる。
【0085】さらにまた、バス上のトランザクションの
リクエスト数をカウントし、予め設定した基準値と比較
することによりトランザクションの負荷状態に応じて、
データの読み込み要求の発行を遅延させることができ
る。
リクエスト数をカウントし、予め設定した基準値と比較
することによりトランザクションの負荷状態に応じて、
データの読み込み要求の発行を遅延させることができ
る。
【0086】また、バス上のトランザクションのリクエ
スト数をカウントし、設定した基準値を任意に変更する
ことによりトランザクションの負荷状態に応じて柔軟
に、データの読み込み要求の発行を遅延させることがで
きる。
スト数をカウントし、設定した基準値を任意に変更する
ことによりトランザクションの負荷状態に応じて柔軟
に、データの読み込み要求の発行を遅延させることがで
きる。
【0087】さらに、バス上のトランザクションのリク
エスト数をカウントすることにより、設定した基準値が
トランザクションの負荷状態に応じて動的に変化するこ
とにより、データの読み込み要求の発行を遅延させるこ
とができる。
エスト数をカウントすることにより、設定した基準値が
トランザクションの負荷状態に応じて動的に変化するこ
とにより、データの読み込み要求の発行を遅延させるこ
とができる。
【0088】また、バス監視手段がバス上のデータ転送
中であることを示す信号を監視し、トラヒックが低負化
状態のときにデータの読み込み要求及び無効化要求を行
なうので、システム全体として効率よくデータ転送を行
うことができる。
中であることを示す信号を監視し、トラヒックが低負化
状態のときにデータの読み込み要求及び無効化要求を行
なうので、システム全体として効率よくデータ転送を行
うことができる。
【0089】さらにまた、キャッシュラインの状態を示
すステートがEのキャッシュラインに対して無効化処理
が行われキャッシュラインの状態を示すステートがEか
らIに変わったとき、上記キャッシュラインのステート
をEに戻すために主記憶からのデータの読み込みを要求
する構成にしたので、無効化の処理が行われる前のEス
テートの状態にすることができる。
すステートがEのキャッシュラインに対して無効化処理
が行われキャッシュラインの状態を示すステートがEか
らIに変わったとき、上記キャッシュラインのステート
をEに戻すために主記憶からのデータの読み込みを要求
する構成にしたので、無効化の処理が行われる前のEス
テートの状態にすることができる。
【図1】 この発明の実施の形態1、2、3を示すシス
テム構成図である。
テム構成図である。
【図2】 この発明の実施の形態1を示す構成図であ
る。
る。
【図3】 この発明の実施の形態2を示す構成図であ
る。
る。
【図4】 この発明の実施の形態3を示す構成図であ
る。
る。
【図5】 この発明の実施の形態4を示すシステム構成
図である。
図である。
【図6】 この発明の実施の形態4を示す構成図であ
る。
る。
【図7】 この発明の実施の形態4を示す構成図であ
る。
る。
【図8】 この発明の実施の形態4を示す構成図であ
る。
る。
【図9】 この発明の実施の形態5、6、7、8、9を
示すシステム構成図である。
示すシステム構成図である。
【図10】 この発明の実施の形態6を示す構成図であ
る。
る。
【図11】 この発明の実施の形態6を示す回路図であ
る。
る。
【図12】 この発明の実施の形態6を示す回路図であ
る。
る。
【図13】 この発明の実施の形態7を示す構成図であ
る。
る。
【図14】 この発明の実施の形態7を示す回路図であ
る。
る。
【図15】 この発明の実施の形態8を示す構成図であ
る。
る。
【図16】 この発明の実施の形態8を示す回路図であ
る。
る。
【図17】 この発明の実施の形態8を示す回路図であ
る。
る。
【図18】 この発明の実施の形態9を示す回路図であ
る。
る。
【図19】 この発明の従来のキャッシュシステムを示
すシステム構成図である。
すシステム構成図である。
【図20】 この発明の従来のキャッシュシステムを示
すブロック図である。
すブロック図である。
【図21】 この発明の従来のキャッシュシステムを示
すシステム構成図である。
すシステム構成図である。
1 キャッシュシステム、2 キャッシュシステム、3
主記憶、1101 キャッシュメモリ、1141 キャッシュ
メモリ、1001 リクエスト信号、1102 無効化検知手
段、3120 無効化検知手段、1103 読み込み要求手段、
1124 読み込み要求手段、3130 読み込み要求手段、11
05 記憶手段、1125 記憶手段、1109 判断手段、1123
判断手段、1147、1148 判断手段、1152 判断手段、
1113 M入力信号、1114 M出力信号、1143 M出力信
号、1122 S出力信号、1144 S出力信号、1104 アク
セス手段、1142 アクセス手段、1132 読み込み及び無
効化要求手段、1151 読み込み要求検知手段、1153 無
効化要求手段、3440 バス監視手段
主記憶、1101 キャッシュメモリ、1141 キャッシュ
メモリ、1001 リクエスト信号、1102 無効化検知手
段、3120 無効化検知手段、1103 読み込み要求手段、
1124 読み込み要求手段、3130 読み込み要求手段、11
05 記憶手段、1125 記憶手段、1109 判断手段、1123
判断手段、1147、1148 判断手段、1152 判断手段、
1113 M入力信号、1114 M出力信号、1143 M出力信
号、1122 S出力信号、1144 S出力信号、1104 アク
セス手段、1142 アクセス手段、1132 読み込み及び無
効化要求手段、1151 読み込み要求検知手段、1153 無
効化要求手段、3440 バス監視手段
フロントページの続き (72)発明者 近江谷 康人 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内
Claims (17)
- 【請求項1】 主記憶に接続された複数のプロセッサに
それぞれ設けられたキャッシュメモリにおいて、リプレ
ースされる上記キャッシュメモリ上のアドレスを格納す
る記憶手段を備え、リプレースされたキャッシュメモリ
のステートが変更または無効化されたとき上記格納され
たアドレスに基づいてそのキャッシュメモリを変更また
は無効化される前のステートに戻すことを特徴とするキ
ャッシュシステム。 - 【請求項2】 上記複数のプロセッサにおけるキャツシ
ュメモリを制御する方式がMESIプロトコルであるこ
とを特徴とする請求項1記載のキャッシュシステム。 - 【請求項3】 上記キャツシュメモリがセットアソシア
ティブ構造であることを特徴とする請求項1または請求
項2記載のキャッシュシステム。 - 【請求項4】 主記憶に接続された複数のプロセッサに
それぞれ設けられMESIプロトコルにより制御される
キャッシュメモリ、このキャッシュメモリを構成するキ
ャッシュラインがリプレースされたときそのリプレース
されたアドレスを格納する記憶手段、この記憶手段に格
納されたアドレスと無効化要求のあったアドレスとが一
致したとき有意となる判断手段、この判断手段が有意と
なりかつ無効化検知手段により無効化要求が有意になっ
たとき上記リプレースされたアドレスに対応する他の上
記キャッシュメモリ又は上記主記憶のデータを読み込む
読み込み要求手段を備えたことを特徴とするキャッシュ
システム。 - 【請求項5】 上記判断手段が有意となりかつ無効化検
知手段により無効化要求が有意になったとき、その無効
化要求のあったアドレスの他のプロセッサ上のキャッシ
ュメモリでのステートの情報を得るためのリクエスト信
号を出力し、上記読み込み要求手段にM入力信号が入力
されたときは、読み込むことを抑止することを特徴とす
る請求項4記載のキャッシュシステム。 - 【請求項6】 主記憶に接続された複数のプロセッサに
それぞれ設けられMESIプロトコルにより制御される
キャッシュメモリ、このキャッシュメモリを構成するキ
ャッシュラインに対する無効化要求があったとき有意な
信号を出力する無効化検知手段、無効化要求があったア
ドレスを記憶手段に格納するとともに上記キャッシュメ
モリに対してそのアドレスに対応するキャッシュライン
のステートがSであるとき有意になるS出力信号を出力
させその後上記アドレスに対応する自己のキャッシュラ
インのステートを無効化するアクセス手段、上記無効化
検知手段から出力される有意な信号と上記キャッシュメ
モリから出力されるS出力信号とを入力する判断手段、
この判断手段が有意になったとき上記アドレスのデータ
を読み込む読み込み要求手段を備えたことを特徴とする
キャッシュシステム。 - 【請求項7】 主記憶に接続された複数のプロセッサに
それぞれ設けられMESIプロトコルにより制御される
キャッシュメモリ、このキャッシュメモリを構成するキ
ャッシュラインに対する無効化要求があったとき有意な
信号を出力する無効化検知手段、無効化要求があったア
ドレスを記憶手段に格納するとともに上記キャッシュメ
モリに対してそのアドレスに対応するキャッシュライン
のステートがMであるとき有意になるM出力信号を出力
させその後上記アドレスに対応する自己のキャッシュラ
インのステートを無効化するアクセス手段、上記無効化
検知手段から出力される有意な信号と上記キャッシュメ
モリから出力されるM出力信号とを入力する判断手段、
この判断手段が有意になったとき上記アドレスのデータ
を読み込みその後他の上記キャッシュメモリ及び上記主
記憶に対して上記アドレスに対応するキャッシュライン
の無効化を要求する読み込み及び無効化要求手段を備え
たことを特徴とするキャッシュシステム。 - 【請求項8】 主記憶に接続されMESIプロトコルに
より制御されるキャッシュメモリから構成される複数の
第一のキャッシュシステム、この第一のキャッシュシス
テムに包含されMESIプロトコルにより制御されるキ
ャッシュメモリから構成される複数の第二のキャッシュ
システムからなる階層構造のキャッシュシステムにおい
て、上記第一又は第二のキャッシュシステムを構成する
キャッシュラインに対する無効化要求があったとき有意
な信号を出力する無効化検知手段、無効化要求があった
アドレスを記憶手段に格納するとともにその無効化要求
を上記第二のキャッシュシステムに送信する第一のアク
セス手段、この第一のアクセス手段からの信号を受信し
上記第二のキャッシュシステムを構成するキャッシュメ
モリに対して上記アドレスに対応するキャッシュライン
のステートがSであるとき有意になるS出力信号又はそ
のステートがMであるとき有意になるM出力信号を出力
させ、その後上記アドレスに対応する上記第二のキャッ
シュシステムのキャッシュラインのステートを無効化す
る第二のアクセス手段、上記無効化検知手段から出力さ
れる有意な第一の信号と上記S出力信号とを入力する第
一の判断手段、上記無効化検知手段から出力される有意
な第二の信号と上記M出力信号とを入力する第二の判断
手段、上記第一の判断手段が有意になったとき上記アド
レスのデータを読み込む読み込み要求手段、上記第二の
判断手段が有意になったとき上記アドレスのデータを読
み込みその後他の上記第一又は第二のキャッシュシステ
ム及び上記主記憶に対して上記アドレスに対応するキャ
ッシュラインの無効化を要求する読み込み及び無効化要
求手段を備えたことを特徴とするキャッシュシステム。 - 【請求項9】 主記憶に接続された複数のプロセッサに
それぞれ設けられMESIプロトコルにより制御される
キャッシュメモリ、このキャッシュメモリを構成するキ
ャッシュラインに対する読み込み要求があったとき有意
な信号を出力する読み込み要求検知手段、読み込み要求
があったアドレスを記憶手段に格納するとともに上記キ
ャッシュメモリに対してそのアドレスに対応するキャッ
シュラインのステートがMであるとき有意になるM出力
信号を出力させ読み込み処理後上記アドレスに対応する
自己のキャッシュラインのステートをSに変更するアク
セス手段、上記読み込み要求検知手段から出力される有
意な信号と上記キャッシュメモリから出力されるM出力
信号とを入力する判断手段、この判断手段が有意になっ
たとき他の上記キャッシュメモリ及び上記主記憶に対し
て上記アドレスに対応するキャッシュラインの無効化を
要求する無効化要求手段を備え、無効化後自己のキャッ
シュラインのステートを元に戻すことを特徴とするキャ
ッシュシステム。 - 【請求項10】 主記憶に接続された複数のプロセッサ
にそれぞれ設けられMESIプロトコルにより制御され
るキャッシュメモリ、このキャッシュメモリを構成する
キャッシュラインに対する無効化要求があったとき上記
キャッシュメモリから出力される無効化要求があったキ
ャッシュラインのステートがM又はS又はEのとき有意
な信号を出力する無効化検知手段、この無効化検知手段
から有意な信号が出力されたとき上記無効化要求のあっ
たキャッシュラインのアドレスのデータを読み込む読み
込み要求手段を備えたことを特徴とするキャッシュシス
テム。 - 【請求項11】 データを取り込むバスの状態を監視す
るバス監視手段を備え、バスがアイドル状態又はバスト
ラフィックが低負荷状態のときデータの読み込みを行な
うことを特徴とする請求項4又は請求項6又は請求項7
又は請求項8又は請求項10記載のキャッシュシステ
ム。 - 【請求項12】 データを取り込むバスの状態を監視す
るバス監視手段を備え、バスがアイドル状態又はバスト
ラフィックが低負荷状態のときデータの読み込み及びデ
ータの無効化を行なうことを特徴とする請求項8〜請求
項10記載のキャッシュシステム。 - 【請求項13】 バス上のトランザクションのリクエス
ト数をカウントし予め設定したリクエスト基準値以上カ
ウントされているときは読み込み又は無効化を行なわな
いことを特徴とする請求項11又は請求項12に記載の
キャッシュシステム。 - 【請求項14】 上記リクエスト基準値を任意に設定で
きることを特徴とする請求項13記載のキャッシュシス
テム。 - 【請求項15】 上記リクエスト基準値をトランザクシ
ョンの負荷状況に応じて動的に変化させることを特徴と
する請求項13記載のキャッシュシステム。 - 【請求項16】 上記バス監視手段がバス上のデータ転
送中であることを示す信号を監視することを特徴とする
請求項11又は請求項12に記載のキャッシュシステ
ム。 - 【請求項17】 上記S出力信号とあるのがキャッシュ
ラインのステートがEであるとき有意になるE出力信号
であることを特徴とする請求項6又は請求項8に記載の
キャッシュシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8002311A JPH09190379A (ja) | 1996-01-10 | 1996-01-10 | キャッシュシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8002311A JPH09190379A (ja) | 1996-01-10 | 1996-01-10 | キャッシュシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09190379A true JPH09190379A (ja) | 1997-07-22 |
Family
ID=11525814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8002311A Abandoned JPH09190379A (ja) | 1996-01-10 | 1996-01-10 | キャッシュシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09190379A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004529435A (ja) * | 2001-05-16 | 2004-09-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュ中のラインを投機的に無効にする方法とシステム |
JP2009116398A (ja) * | 2007-11-01 | 2009-05-28 | Nec Computertechno Ltd | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
-
1996
- 1996-01-10 JP JP8002311A patent/JPH09190379A/ja not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004529435A (ja) * | 2001-05-16 | 2004-09-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュ中のラインを投機的に無効にする方法とシステム |
JP2009116398A (ja) * | 2007-11-01 | 2009-05-28 | Nec Computertechno Ltd | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3269967B2 (ja) | キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム | |
US6631447B1 (en) | Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed | |
US6466825B1 (en) | Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system | |
US5706464A (en) | Method and system for achieving atomic memory references in a multilevel cache data processing system | |
US5335335A (en) | Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed | |
KR100194253B1 (ko) | 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템 | |
US5848254A (en) | Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space | |
US6408345B1 (en) | Superscalar memory transfer controller in multilevel memory organization | |
EP0817077B1 (en) | A multiprocessing system configured to perform prefetching operations and method therefor | |
EP0817073B1 (en) | A multiprocessing system configured to perform efficient write operations | |
JP3737834B2 (ja) | 2重化キャッシュ・スヌープ機構 | |
US5671391A (en) | Coherent copyback protocol for multi-level cache memory systems | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US7549025B2 (en) | Efficient marking of shared cache lines | |
US20080120441A1 (en) | Cache coherence protocol with write-only permission | |
US20070005908A1 (en) | Method and apparatus to enable I/O agents to perform atomic operations in shared, coherent memory spaces | |
US6751705B1 (en) | Cache line converter | |
JPH0247756A (ja) | 多重プロセツサ・システム用書込み共用キヤツシユ回路 | |
JPH08185359A (ja) | メモリサブシステム | |
JPH01239663A (ja) | 集積回路、コンピュータシステム、および集積回路内のキャッシュにおけるキャッシュブロックステータスを更新する方法 | |
JP4043225B2 (ja) | キャッシュ装置および方法 | |
US5778437A (en) | Invalidation bus optimization for multiprocessors using directory-based cache coherence protocols in which an address of a line to be modified is placed on the invalidation bus simultaneously with sending a modify request to the directory | |
JPH11506852A (ja) | 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減 | |
US6922755B1 (en) | Directory tree multinode computer system | |
US5761724A (en) | Write-invalidate cache system for a split transaction bus based shared memory multiprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040217 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20040423 |