JPH0195344A - キャッシュ・メモリー - Google Patents

キャッシュ・メモリー

Info

Publication number
JPH0195344A
JPH0195344A JP62252922A JP25292287A JPH0195344A JP H0195344 A JPH0195344 A JP H0195344A JP 62252922 A JP62252922 A JP 62252922A JP 25292287 A JP25292287 A JP 25292287A JP H0195344 A JPH0195344 A JP H0195344A
Authority
JP
Japan
Prior art keywords
data
processor
flag
address
index
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
Application number
JP62252922A
Other languages
English (en)
Inventor
Kiichi Hasegawa
喜一 長谷川
Kazuya Takahata
高畠 一哉
Akio Nishimura
明夫 西村
Shigeo Asahara
重夫 浅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62252922A priority Critical patent/JPH0195344A/ja
Publication of JPH0195344A publication Critical patent/JPH0195344A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は共有メモリーを有する密結合型のマルチ・プロ
セッサ・マルチ・キャッシュ・システムにおいて、稲の
プロセッサが主記憶データを更新した時、自らのキャッ
シュ・メモリー中のデータを更新することを可能とした
キャッシュ・メモリー・システムに関するものである。
従来の技術 近年、コンピュータ・システムの高性能化に対する要求
は高まる一方なので、コンピュータ・システムの設計に
おいては、特にそのアーキテクチャがますます重要視さ
れている。そして、32ビツトの高性能なマイクロプロ
セッサの入手が容易になってきたことを背景に、これら
を複数個用いたマルチプロセッサ・システムの開発が盛
んになっている。
マルチ・プロセッサの構成方式の1つに共有メモリーを
持つ密結合方式がある。この方式は複数のプロセッサと
主記憶をシステム・バスで結合して、各プロセッサがシ
ステム・バスを介して対等に主記憶のデータを参照でき
るようにしたものである。この方式はシステム・バスの
利用率が非常に高くなりプロセッサの台数に比例した性
能が得難いので、各プロセッサにキャッシュ・メモリー
を持たせシステム・バスの利用率を低下させることでこ
の性能低下を避けることが一般的である。
このようにすると同一データが複数のキャッシュ・メモ
リー内に点在する可能性がある。したがってシステムに
分散した同一データの一致性を保つ必要が生じる。これ
を解決するために、まず、あるプロセッサが自身のキャ
ッシュ・メモリーのデータを更新するときは必ず対応す
る主記憶データも更新することにする。その結果、ある
キャッシュ・メモリー内のデータが更新されると必ずシ
ステム・バス上を書仄み信号が通過することになる。次
に、常にシステム・バス上の書込み信号を監視する回路
を設けて各キャッシュ・メモリーと連動させて、システ
ム内のどこかで更新されたデータが自身のキャッシュ・
メモリーに存在するか調べる。存在が判明すると、対応
するデータの有効・無効を示すフラグを無効化すること
で旧データがシステム内に残留しないことを保証する。
以下図面を参照しながら、上述した従来のキャッシュ・
メモリーの一例について説明する。
第2図は従来のキャッシュ・メモリーを用いたプロセッ
サ・システムの構成を示すものである。
第2図において、21はプロセッサである。22は第1
アドレス記憶部であり、プロセッサからの下位アドレス
(以下、インデックスと呼ぶ)参照によりプロセッサか
らの上位アドレス(以下、タグと呼ぶ)を記憶する。2
4は第1比較部であり、22に記憶されたタグと21の
プロセッサからのタグとを比較する。26はフラグ記憶
部であり、22と23に記憶されているタグとそれを参
照するインデックスとで示すアドレスとデータの関係の
有効性をフラグで記憶する。28はデータ記憶部であり
、22に記憶したタグとそれを参照するインデックスと
で示すアドレスに対応するデータを記憶する。29はバ
ス・モニタであり、システム・バス上を書込み信号が通
過したときそのアドレス値をラッチする。23は第2ア
ドレス記憶部であり、21のプロセッサからのインデッ
クス参照により21のプロセッサのタグを記憶する。ま
た、23は29のバス・モニタからのインデックス参照
によりタグを出力する。25は第2の比較部であり、2
3に記憶されたタグと29のバス・モニタからのタグと
を比較する。27は制御部である。
以上のように構成されたキャッシュ・メモリーについて
、以下その動作について説明する。
まず、システム起動時には、22の第1アドレス記憶部
と23の第2アドレス記憶部と28のデータ記憶部の内
容は無意味である。また、26のフラグ記憶部は全て0
である。
22と26と28は21からのインデックスにより共通
に参照される。22のアドレス記憶部は21のインデッ
クスで参照されて21のタグを記憶する。また、28の
データ記憶部は21のインデックスで参照されて、21
のアドレスの内容を記憶する。つまり、22と28とで
、主記憶のあるアドレスとその内容を対として記憶する
。そして、26の第1比較部は21のインデックスで参
照されてデータの有効・無効を示すフラグを記憶する。
いま、21のプロセッサが外部データを読出す場合につ
いてその動作を説明する。22は21のインデックスを
用いて以前に記憶したタグを24へ出力する。このとき
同時に21のタグも24に入力される。24は両タグを
比較して、その比較結果を27へ出力する。また、26
は21のインデックスを用いてフラグ出力を27に入力
する。
27は24から一致信号を得たときでかつ26からデー
タ有効信号を得たとき(以下、キャッシュ・ヒツトと呼
ぶ)には、21のアドレスに対するデータが28に記憶
されていることになるので、27は28にそのデータの
出力要求を出す、この要求信号と21のインデックスと
から28が出力するデータを21は取り込む。
しかし、両タグが一致していないときかあるいはフラグ
が無効のとき(以下、キャッシュ・ミスと呼ぶ)には、
27は28にデータの出力要求を出さない、そして、2
Iは主記憶からデータを取り込む、また、22と23は
21が要求しているデータ対応するインデックスで参照
されてタグを記憶しなおす、さらに、26は同様のイン
デックスで参照されて27の制御下でフラグを有効にす
る。最後に、28は同様のインデックスで参照されて主
記憶からのデータを記憶する。
次に、21のプロセッサが外部にデータを書き込む場合
についてその動作を説明する。キャッシュ・ヒントのと
きは、28のデータと主記憶のデータを同時に書き換え
る。キャッシュ・ミスのときは、主記憶のデータのみを
書き換える。
以上、プロセッサが外部アクセスをする場合について動
作を説明した。以下、バス・モニタリングの動作につい
て説明する。
まず、29のバス・モニタはシステム・バス上を書込み
信号が走るかどうか常に監視している。
もし書込み信号がシステム・バス上を走ると、29はそ
のときのアドレスをラッチする。23は通常29からの
インデックスを入力としてすでに記憶しているタグを2
5へ出力する。25ば23からのタグ出力とバス・モニ
タからのタグ出力とを比較して、比較結果を27に人力
する。27は25から一致信号を得ると、つまり、他の
プロセッサがこのアドレスに対応するデータを更新した
ことを確認すると、26のフラグを無効にする。
27は25から一致信号を受けない間は26のフラグを
操作することはない。
発明が解決しようとする問題点 しかしながら上記のような構成では、キャッシュ内のデ
ータは対応するフラグのみでその有効性を示すだけなの
で、バス・モニタリングにより無効化されたデータをプ
ロセッサが再度利用しようとしたときにはキャッシュ・
ミスとなりシステム・バスを経由して主記憶よりデー久
を取込み直すことが必要である。その結果キャッシュ・
メモリーのヒント率は低下するのみならずシステム・バ
スの使用頻度は増大してシステムの性能も低下するとい
う問題点を有していた。
本発明は上記問題点に鑑み、プロセッサならびにバス・
モニタからアドレス参照される第1フラグ記憶部と第2
フラグ記憶部と、プロセッサならびにバス・モニタから
アドレス参照される第1データ記憶部と第2データ記憶
部とを持つことにより、プロセッサは通常のオペレーシ
ョンでは従来どうり動作するのみならず、バス・モニタ
がら他のプロセッサが更新したデータを取り込んで、キ
ャッシュ内のデータを更新することを可能にした。
本発明はこのようにしてキャッシュのヒツト率を向上さ
せるとともにシステム・バスの使用頻度を軽減すること
でマルチ・プロセッサ・システムの性能を図ることを目
的としたキャフ゛シュ・メモリーを提供するものである
問題点を解決するための手段 上記問題点を解決するために本発明のキャッシュ・メモ
リーは、従来のキャッシュ・メモリーのフラグ記憶部と
データ記憶部をプロセッサならびにバス・モニタから対
称的にアドレス参照できるよう各々2つの記憶部を有す
る構成を持つ。
作用 本発明は上記した構成によって、キャッシュ・アクセス
は、プロセッサが第1アドレス記憶部と、第1比較部と
、第1フラグ記憶部ないし第2フラグ記憶部と、第1デ
ータ記憶部ないし第2データ記憶部とを用いて常時行う
ことができる。また、バス・モニタリングは、バス・モ
ニタが第2アドレス記憶部と、第2比較部と、第1フラ
グ記憶部ないし第2フラグ記憶部と、第1データ記憶部
ないし第2データ記憶部とを用いて上記のキャッシュ・
アクセスと並行に処理できる。特にフラグ記憶部とデー
タ記憶部を2組もちいることでシステム・バスを書込み
信号が通過したときにアドレスとデータをランチして新
しいデータへキャッシュを更新できる。
実施例 以下本発明の一実施例のキャッシュについて、図面−を
参照しながら説明する。
第五図は本発明の第1の実施例におけるキャッシュ・メ
モリーの構成を示すものである。第1図において、10
1はプロセッサである。102は第1アドレス記憶部、
103は第2アドレス記憶部であり、104は第1比較
部、105は第2比較部である。また、106は第1フ
ラグ記憶部、107は第”2フラグ記憶部である。10
8は制御部であり、109は第1データ記憶部、110
は第2データ記憶部である。111はバス・モニタであ
る。
以上のように構成されたキャッシュ・メモリーについて
、以下第1図を用いてその動作を説明する。
まず、システム起動時のデータの設定について説明する
。102の第1アドレス記憶部と103の第2アドレス
記憶部と109の第1データ記憶部と110の第2デー
タ記憶部はシステム起動時には内容は不定である。また
、106の第1フラグ記憶部と107の第2フラグ記憶
部はシステム起動後なんらかの方法によりフラグを無効
値に設定する。
次に、各構成要素間の信号経路を概略説明する。
102は101のインデックスで参照されて101のタ
グの入力あるいは出力を行う。103は通常バス・モニ
タからのインデックスで参照されて記憶している夛グを
出力する。また、102の内容が更新されたときには1
01のインデックスで参照されて101のタグを入力す
る。この処理の間はバス・モニタリングは停止される。
104は102の出力と101のタグと比較する。10
5は103の出力と111のタグとを比較する。
104と105の比較結果は10Bの制御部への入力と
なる。106と107の一方は101と接続されていて
、他方は111に接続されている。
この接続関係は108の制御により動的に切り替えられ
る。106と107は101ないし111のインデック
スで参照されて108とフラグ情報を入出力する。10
9と110の一方は101と接続されていて、他方は1
11に接続されている。
この接続関係は108の制御により動的に切り替えられ
る。106と109,107と110は連動している。
106と107は101ないし111のインデックスで
参照されて101ないし111のデータを入出力する。
111はシステム・バスからアドレスとデータを入力す
る。
いま、プロセッサがこのキャッシュ・メモリーからデー
タを読出す場合について説明する。
101がまずアドレス(インデックスとタグ)を出力す
る。インデックスは102. 106.109へ入力さ
れる。102はインデックスに対応するタグを104へ
出力する。104は101のタグと104の出力を比較
して一致/不一致の信号を108へ出力する。106は
インデックスに対応するフラグを108へ出力する。1
08は104より一致信号を受けかつ106より有効フ
ラグ信号を受けた場合には109に出力許可をする。す
ると109はインデックスに対応するデータをプロセッ
サ・バス上に出力することができるので、101はこれ
を取り込み、読出し処理を終了する。
もし108が104より不一致信号を受けた場合か10
6より無効フラグ信号を受けた場合には109に出力禁
止をする。このときは101はシステム・バスを経由し
て主記憶からデータを続出す、引続き108は制御を書
込みに移す、つまり、この主記憶へのアクセス時に10
2は現在のタグを、106は有効フラグ信号を、109
は新データを書込む。
次に、プロセッサがこのキャッシュ・メモリーにデータ
を書込む場合について説明する。ただし、書込みのアル
ゴリズムは様々であり、このアルゴリズムの差は制御部
の制御方法に帰着できるのでアルゴリズムによって本発
明は拘束されない、そこで、以下、プロセッサが書込む
ときは無条件にキャッシュの更新を行いデータ記憶部の
データ長と同一の長さのデータを書込む時はフラグを有
効とし、異なる長さのデータを書込む時はフラグを無効
とするアルゴリズムを例として書込み動作について説明
する。101がまずアドレス(インデックスとタグ)を
出力する。インデックスは102.106.109へ入
力される。102はインデックスに対応してタグを記憶
する。106はインデックスに対応してフラグを記憶す
る。このとき108はプロセッサが書込むデータ長に応
してフラグを有効値あるいは無効値に制御する。
109はインデックスに対応してデータを書込む。
こうして、102,106,109の更新を終了する。
本発明では、さらに、上記のようにして102゜106
.109の各記憶部の内容が更新されたときは、103
.107,110の各記憶部も対応して内容を更新する
必要がある。その更新アルゴリズムは、本発明の特徴で
あるバス・モニタ側からのデータの更新機能と関連する
。その更新アルゴリズム自体は本発明を拘束するもので
はない。
そこで、プロセッサが関与して102,106゜109
の内容を更新した場合、次のステップでバス・モニタに
優先して103,107,110の更新を行うアルゴリ
ズムを用いる場合について説明する。この場合103,
107,110内部には、更新するに必要なインデック
ス、タグ、データ、フラグは一時的に保持することがで
きるようなレジスタを設けておき、108の制御下でこ
れらのデータを書込む。
以上でキャッシュ・アクセスに関連する本発明のキャッ
シュ・メモリーの動作説明を終える。
以下、バス・モニタリングに関連する本発明のキャッシ
ュ・メモリーの動作を説明する。
111のバス・モニタは従来の場合アドレスをラッチす
る機能があれば良かったが本発明のキャッシュ・メモリ
ーを用いる時にはアドレスとデータをラッチする機能が
必要である。111のインデックスは103,110に
入力される。103はインデックスに対応するタグを1
05へ出力する。105は111のタグと103の出力
を比較して一致/不一致の信号を108へ出力する。
10Bは105より不一致信号を受けた場合には、他の
プロセッサが更新したデータは自らのキャッシュ内には
存在しないのでバス・モニタリングの処理を終了する。
もし108が105より一致信号を受けた場合には他の
プロセッサが更新したデータは自らのキャッシュ内に存
在することになるのでデータを更新する。108は制御
を書込みに移す、このとき、103の内容であるタグは
同一なので更新する必要はない、110には111のイ
ンデックスに対応して111からの新データを記憶する
。107には、適当なフラグを108の制御で書込む。
ここでいう適当とは、以下のような意味である。データ
記憶部のデータ長と新データのデータ長が一致する場合
には有効フラグとし、一致しないときは無効フラグとす
る。あるいは、システム・バス上に転送する書込みデー
タに対してデータの更新の可否などを示す情報が付随し
ている場合などはこれらの信号のデコード結果を考慮し
てフラグ種を決定する。
上記のようにして107,110の各記憶部の内容が更
新された時には、本発明においては106.109の各
記憶部の内容も更新する必要がある。この更新アルゴリ
ズムはプロセッサ側からのデータ更新のアルゴリズムと
関連するが、本発明のバス・モニタ側からのデータ更新
機能を拘束するものではない。先に述べたように、プロ
セッサ側からの更新とバス・モニタ側からの更新が重複
するようなときはプロセッサ側からの更新を優先するこ
とにすれば、たとえば、次のようなアルゴリズムをもち
いれば良い、プロセッサ側からの更新の間隙に106と
109を更新する。このとき、111は103と105
を用いた比較期間と、107と110のデータ更新期間
と、106と109のデータ更新期間の間アドレスとデ
ータを保持すればよい。
次に、2組のフラグ記憶部とデータ記憶部の接続関係を
切り替える動作について説明する。システムの性能を向
上させるためには、プロセッサはバス・モニタからのデ
ータ更新の間待ち状態を生じることのないようにするこ
とが必要である。このために、2組のフラグ記憶部とデ
ータ記憶部はプロセッサ側とバス・モニタ側で対称的に
構成する。107と110のデータを更新した次のステ
ップで、2組のフラグ記憶部とデータ記憶部の接続関係
を反転する。このようにするとバス・モニタ側からデー
タを更新した場合、そのデータが即座にプロセッサで利
用可能となる。
以上のように本実施例によれば、プロセッサのアドレス
を記憶する第1アドレス記憶部と、プロセッサならびに
バス・モニタのアドレスを記憶する第2アドレス記憶部
と、プロセッサのアドレスと上記第1アドレス記憶部の
出力を比較する第1比較部と、バス・モニタのアドレス
と上記第2アドレス記憶部の出力を比較する第2比較部
と、上記第1比較部と上記第2比較部の出力により制御
を行う制御部と、プロセッサならびにバス・モニタのア
ドレスで参照されて上記制御部の出力であるフラグを記
憶する第1フラグ記憶部ならびに第2フラグ記憶部と、
プロセッサならびにバス・モニタのデータを記憶する第
1記憶部ならびに第2記憶部とを設けることにより、バ
ス・モニタ側からシステム・バス上を通過する書込みデ
ータをキャッシュ・メモリーに更新することを可能にす
る。
発明の効果 以上のように本発明は、2種類のアドレス記憶部と2個
の比較部と2組のフラグ記憶部と、2&llのデータ記
憶部と、mW部とを設けることにより、プロセッサの待
ち状態を回避し、キャッシュ・ヒント率を向上させ、シ
ステム・バスの使用頻度を軽減することを可能にする。
【図面の簡単な説明】
第1図は本発明の第1の実施例におけるキャッシュ・メ
モリーの構成図、第2図は従来のキャッシュ・メモリー
の構成図である。 101・・・・・・プロセッサ、102・・・・・・第
1アドレス記憶部、103・・・・・・第2アドレス記
憶部、104・・・・・・第1比較部、105・・・・
・・第2比較部、106・・・・・・第1フラグ記憶部
、107・・・・・・第2フラグ記憶部、108・・・
・・・制御部、109・旧・・第1データ記憶部、11
0・・・・・・第2データ記憶部、111・・・・・・
バス・モニタ、21・・・・・・プロセッサ、22・・
・・・・第1アドレス記憶部、23・・・・・・第2ア
ドレス記憶部、24・・・・・・第1比較部、25・・
・・・・第2比較部、26・・・・・・フラグ記憶部、
27・・・・・・制御部、28・・・・・・データ部、
29・旧・・バス・モニタ。 代理人の氏名 弁理士 中尾敏男 はか1名第1図 第2図

Claims (1)

    【特許請求の範囲】
  1. プロセッサのアドレスを記憶する第1アドレス記憶部と
    、プロセッサならびにバス・モニタのアドレスを記憶す
    る第2アドレス記憶部と、プロセッサのアドレスと上記
    第1アドレス記憶部の出力を比較する第1比較部と、バ
    ス・モニタのアドレスと上記第2アドレス記憶部の出力
    を比較する第2比較部と、上記第1比較部と上記第2比
    較部の出力により制御を行う制御部と、プロセッサなら
    びにバス・モニタのアドレスで参照されて上記制御部の
    出力であるフラグを記憶する第1フラグ記憶部ならびに
    第2フラグ記憶部と、プロセッサならびにバス・モニタ
    のデータを記憶する第1記憶部ならびに第2記憶部とを
    具備することを特徴とするキャッシュ・メモリー。
JP62252922A 1987-10-07 1987-10-07 キャッシュ・メモリー Pending JPH0195344A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62252922A JPH0195344A (ja) 1987-10-07 1987-10-07 キャッシュ・メモリー

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62252922A JPH0195344A (ja) 1987-10-07 1987-10-07 キャッシュ・メモリー

Publications (1)

Publication Number Publication Date
JPH0195344A true JPH0195344A (ja) 1989-04-13

Family

ID=17244035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62252922A Pending JPH0195344A (ja) 1987-10-07 1987-10-07 キャッシュ・メモリー

Country Status (1)

Country Link
JP (1) JPH0195344A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02166539A (ja) * 1988-12-05 1990-06-27 Internatl Business Mach Corp <Ibm> フェッチ方法
US5379402A (en) * 1989-07-18 1995-01-03 Fujitsu Limited Data processing device for preventing inconsistency of data stored in main memory and cache memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02166539A (ja) * 1988-12-05 1990-06-27 Internatl Business Mach Corp <Ibm> フェッチ方法
US5379402A (en) * 1989-07-18 1995-01-03 Fujitsu Limited Data processing device for preventing inconsistency of data stored in main memory and cache memory

Similar Documents

Publication Publication Date Title
JP2660662B2 (ja) コンピュータシステムを二重プロセッサシステムとして利用する装置及びその方法
US5751995A (en) Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
JP3086779B2 (ja) メモリ状態復元装置
JPH0342745A (ja) 複数キャッシュ・メモリ・アクセス方法
JPH02141845A (ja) マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
US20040068624A1 (en) Computer system supporting both dirty-shared and non dirty-shared data processing entities
JP2825906B2 (ja) 計算機システム
JP4434534B2 (ja) プロセッサ・システム
US5615167A (en) Method for increasing system bandwidth through an on-chip address lock register
JPH0195344A (ja) キャッシュ・メモリー
US5895486A (en) Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
JPH03163640A (ja) マルチプロセッサシステムおよびそれに用いるキャッシュメモリ
JPS63223846A (ja) キヤツシユ・メモリ−
JP3187446B2 (ja) キャッシュメモリ制御装置
JPH01145746A (ja) キャッシュ・メモリー
JP2707958B2 (ja) キャッシュ一致処理制御装置
JP3081635B2 (ja) キャッシュメモリの無効化処理装置および無効化制御方法
JPH04340145A (ja) キャッシュメモリ装置
JP3145479B2 (ja) マルチプロセッサシステムとそのキャッシュメモリ制御方法および装置
JPH04123151A (ja) システムバス
JPH01128156A (ja) マルチプロセッサシステムにおけるキャッシュ制御方式
JP3378270B2 (ja) マルチプロセッサシステム
JP3219422B2 (ja) キャッシュメモリ制御方式