JPH03113549A - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JPH03113549A
JPH03113549A JP1250583A JP25058389A JPH03113549A JP H03113549 A JPH03113549 A JP H03113549A JP 1250583 A JP1250583 A JP 1250583A JP 25058389 A JP25058389 A JP 25058389A JP H03113549 A JPH03113549 A JP H03113549A
Authority
JP
Japan
Prior art keywords
processor
cache
data
instruction
memory
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
JP1250583A
Other languages
English (en)
Inventor
Shosuke Kuzumi
来住 晶介
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP1250583A priority Critical patent/JPH03113549A/ja
Publication of JPH03113549A publication Critical patent/JPH03113549A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、共有メモリを備えたマルチプロセッサシステ
ムにおけるキャッシュ制御装置に関する。
(従来の技術) キャッシュとは、主記憶装置と演算装置との間に設けら
れた、アクセス速度の速い記憶装置である。演算装置は
、主記憶装置から使用頻度の高いデータを、予めキャッ
シュ上に転送しておき、できるだけキャッシュのみを参
照して処理を行なえるようにしている。キャッシュと主
記憶装置との間のデータの転送は、ハードウェアにより
自動的に行なわれる。
一方、演算装置がデータの更新を行なうときは、主記憶
装置上のデータを直接更新する方式と、キャッシュ上の
データのみを更新し、主記憶装置上のデータの更新は行
なわない方式がある。
後者の方式をコピーバック方式という。このようなコピ
ーバック方式をマルチプロセッサシステムに適用するに
は、以下に述べるような工夫が必要であった(例えば、
J、 R,Goodman、“Using cache
memory to  reduce process
or−memory traffic、”Proc、o
f  the  10th  Int、Symp、on
  ComputerArchitecture、 I
EEE、 1983参照)。
第2図は、従来のコピーバック方式のキャッシュ制御装
置を備えたマルチプロセッサシステムの構成を示すブロ
ック図である。
図示のシステムは、パスライン2に接続された、複数の
プロセッサl及び6と、主記憶装置である共有メモリ3
とから成る。
プロセッサ1及び6は、それぞれ共有メモリ3上のデー
タをアクセスして処理する。各プロセッサ1及び6は、
それぞれキャッシュ4及び7を備えている。これらのキ
ャッシュ4及び7は、それぞれパスライン2に接続され
ている。
共有メモリ3は、ランダム・アクセス・メモリ(RAM
)等から成り、プログラム命令やデータを記憶している
次に、このようなマルチプロセッサシステムの動作を説
明する。
[参照時] 例えば、プロセッサlが共有メモリ3上のデータを参照
しようとする場合には、キャッシュ4上に該当するデー
タがあるかどうかを調べる。該当するデータがキャッシ
ュ4上にある場合(以下、ヒツトという)、プロセッサ
lは、そのキャッシュ4上のデータを参照する。該当す
るデータがキャッシュ4上にない場合(以下、ミスヒツ
トという)、プロセッサlは、共有メモリ3上のデータ
を参照する。
[更新時] プロセッサ1が共有メモリ3のデータを更新しようとす
る場合にも、キャッシュ4上に該当するデータがあるか
どうかを調べる。キャッシュ4がヒツトしたときは、キ
ャッシュ4上のデータのみを更新する。キャッシュ4が
ヒツトしなかったときは、共有メモリ3上のデータを更
新する。
以上のようなコピーバック方式のキャッシュ制御装置の
利点は、以下のようなものである。
第1に、キャッシュ4がヒツトした場合には、データの
参照の場合だけでなく、データの更新の場合にも、プロ
セッサ1が共有メモリ3をアクセスすることがない。従
って、プロセッサ1は、アクセス速度の速いキャッシュ
4のみをアクセスでき、処理速度の向上を図ることがで
きる。
第2に、キャッシュ4がヒツトした場合には、共有メモ
リ3がアクセスされないので、パスライン2の負荷が軽
減できる。従って、より多くのプロセッサをパスライン
に接続することができ、システム全体の性能の向上を図
ることができる。
ところで、コピーバック方式のキャッシュ制御装置には
、次のような不具合がある。即ち、第2図に示すように
、一方のプロセッサ1でキャッシュ4がミスヒツトとな
った場合、該当するメモリブロック5を共有メモリ3か
ら読出そうとする。このとき、他のプロセッサ6のキャ
ッシュ7がそのメモリブロック5に対応するキャッシュ
ブロック8を有しているときは、コピーバック方式のた
め、そのキャッシュブロック8のみを更新しており、メ
モリブロック8は、更新していない場合がある。
この場合、そのメモリブロック8への読出し要求に対し
て、与えられるべきデータは、共有メモリ3上のメモリ
ブロック5でなく、他のプロセッサ6のキャッシュ7上
で更新されたデータである。
そこで、各プロセッサ1及び6は、パスライン2上の他
のプロセッサ6による共有メモリ3の読出し要求を常に
監視するようにしている。そして、他方のプロセッサ6
のキャッシュ7内でのみ更新したメモリブロック8への
読出し要求が一方のプロセッサlからあった場合には、
共有メモリ3からの応答を抑え、そのキャッシュブロッ
ク8のデータをパスライン2上に応答する。
この方式を具体的に実現するために、プロセッサのハー
ドウェアの構成は、以下のようになっている。
第3図は、プロセッサの内部のハードウェア構成の一例
の詳細を示すブロック図である。
図示のプロセッサ9は、演算装置12と、キャッシュ1
1と、選択器13等から成る。
図において、プロセッサ9は、パスライン2上のメモリ
読出し要求を常に経路10を介して受取る。そして、自
身のキャッシュ11を参照し、該当するメモリブロック
をキャッシュll内で保持し、かつ更新しているかを検
査する。このとき、演算装置12もキャッシュ11を参
照するので、選択器13によって、キャッシュ11への
参照要求の選択を行なう。経路10と、演算装置12か
らのキャッシュ参照が同時に起きた場合には、選択器1
3により所定の優先順位に従って逐次的に処理する。
第4図は、プロセッサの内部のハードウェア構成の他の
例の詳細を示すブロック図である。
図示のプロセッサ14は、演算装置200と、複数のデ
ィレクトリを持つキャッシュ15等から成る。
図において、プロセッサ14のキャッシュ15は、対応
するメモリアドレス等の情報を保持するディレクトリ1
6及び17と、データ自体を保持するデータアレイ18
とから成る。ディレクトリ16及び17については、内
容が同じになっている。そして、ディレクトリ16は、
経路19を介して、パスライン2上のメモリ読出し要求
の監視専用とする。そして、ディレクトリ17は、演算
装置200からのキャッシュ参照専用とする。従って、
第3図の方式とは異なり、演算装置200と、経路19
とからのキャッシュ参照を同時に処理することができる
(発明が解決しようとする課題) しかしながら、上述した従来の装置には、次のような問
題点があった。
第3図の方式では、キャッシュ11の参照が選択器13
により逐次的に行なわれるので、キャッシュ11の参照
が同時に起きた場合、一方の参照は待たされるため、シ
ステム全体の処理速度が遅くなるという問題があった。
一方、第4図の方式では、キャッシュ15がディレクト
リ16及び17を複数持つので、ハードウェアの量が多
くなるという問題があった。
本発明は以上の点に着目してなされたもので、マルチプ
ロセッサシステムにおいて、システム全体の処理速度の
低下及びハードウェアの量の増加を軽減することにより
、コストパーフォマンスの向上を図ったキャッシュ制御
装置を提供することを目的とするものである。
(課題を解決するための手段) 本発明のマルチプロセッサシステムは、複数のプロセッ
サと、共有メモリとを備えたマルチプロセッサシステム
におけるコピーバック方式のキャッシュ制御装置におい
て、前記共有メモリの参照の際に、命令の参照かデータ
の参照かを識別するための命令データ識別手段と、前記
各プロセッサが、他のプロセッサのキャッシュによる命
令の参照の場合は、その参照要求を受取らないようにす
るキャッシュ制御部とを備え、前記各プロセッサで実行
されるプログラムは、当該プロセッサあるいは他のプロ
セッサで実行中のプログラムの命令を書き換えないとい
うソフトウェア上の制約を設けたことを特徴とするもの
である。
(作用) 上述した装置においては、一方のプロセッサで実行され
るプログラムは、当該一方のプロセッサあるいは他方の
プロセッサで実行中のプログラムの命令を書き換えない
というソフトウェア上の制約により、あるプロセッサが
共有メモリから命令を読出す場合には、他のプロセッサ
は、自身のキャッシュの内容を参照しない。従って、あ
るプロセッサは、共有メモリから直接、命令を読出す。
これにより、他のプロセッサは、あるプロセッサがメモ
リから命令を読出す際に何等の処理も行なわなくて済む
。この結果、マルチプロセッサシステム全体の処理速度
の向上を図ることができる。
一方、あるプロセッサがメモリからデータを読出す場合
には、これに伴い、従来と同様に、他のプロセッサは、
自身のキャッシュの内容を参照する。そして、他のプロ
セッサでキャッシュがヒツトした場合には、あるプロセ
ッサは、共有メモリから直接、データを読出さず、当該
他のプロセラ 0 サのキャッシュからデータを読出す。
このようにして、第1図に示すように、第3図と同様の
単一のディレクトリ部のみを持つキャッシュでありなが
ら、命令の読出し時には、第4図に示すようなディレク
トリ部を複数持つキャッシュと同様の処理速度がもたら
される。従って、データに対し、命令の数が多いプログ
ラムについては、簡単な構成のハードウェアで処理能力
を向上でき、マルチプロセッサシステムのコストパアフ
ォーマンスの向上を図ることができる。
(実施例) 第1図は、本発明のキャッシュ制御装置を備えたマルチ
プロセッサシステムの構成を示すブロック図である。
図示のシステムは、パスライン2に接続された、プロセ
ッサ20及び20’ と、共有メモリ3とから成る。
パスライン2は、命令データ識別手段である信号線29
を備えている。信号線29は、信号線28によってキャ
ッシュ22に接続されている。
また、キャッシュ22と演算装置21との間には、信号
線23が接続されている。
信号線28は、演算装置21がキャッシュ22を参照す
る時に、その参照が命令についてのものかデータについ
てのものかを指示するものである。この指示は、信号線
23及び28を介して信号線29に送られる。
プロセッサ20及び20′は、全く同様の構成であるの
で、プロセッサ20の構成についてのみ説明し、プロセ
ッサ20′の構成については同一部分に同一の符号を付
し、重複する説明を省略する。
プロセッサ20は、演算装置21と、キャッシュ22と
、選択器24と、キャッシュ制御部26と、ゲート27
とから成る。
演算装置21は、キャッシュ22又は共有メモリ3から
プログラム命令を逐次読出ず。演算装置21は、このプ
ログラム命令に従って、キャッシュ22又は共有メモリ
3から読出したデータの演算処理を行なう。
キャッシュ22は、アクセス速度の速いランダム・アク
セス・メモリ等から成り、共有メモリ3上の命令やデー
タの一部であるメモリブロックを読出して記憶する。
選択器24は、演算装置21からのアドレス信号又は他
のプロセッサ20′からパスライン2を介して供給され
るアドレス信号を選択してキャッシュ22に供給する。
キャッシュ制御部26は、選択器24及びゲート27の
動作を制御するものである。このキャッシュ制御部26
は、信号線29を介して他のプロセッサ20′による参
照が命令かデータかの情報を受け、これにより、命令の
参照が識別されたときは、その参照要求を受取らないよ
うにする。
ゲート29は、キャッシュ22からパスライン2へのデ
ータの送出を制御するものである。
また、以上のように構成したシステムにおいて、実行さ
れるプログラムについては、そのプログラムの命令ある
いは実行中の他のプログラムの命令を書き換えないとい
う制約が設けられてい 3 る。この制約により、プロセッサは、実行中の命令や、
他のプロセッサで実行中の命令を書き換えることはない
。命令を書き換えるとは、例えば、アセンブリ言語にお
いて、命令をデータと同様に数値と見なし、プログラム
の実行中にこの命令を変更して別の演算を行なわせてい
くようにすることをいう。従って、プログラムの命令列
を書き換えないという制約を設けるとは、このような命
令の書き換えの手法を用いずに、各命令が特定の演算の
みを行なうようにプログラムを作成するように制約を設
けるということである。このような制約は、容易に実現
することが可能なものであることは、明かである。
次に、上述した装置の動作を説明する。
まず、演算装置21がキャッシュ22を参照する場合、
命令かデータかの区別を信号線23によりキャッシュ2
2に通知する。次に、キャッシュ制御部26は、選択器
24において演算装置21からのキャッシュ22の参照
を選択する。この結果、キャッシュ22がミスヒツトし
た場合、 4 キャッシュ制御部26は、次の処理を行なう。
まず、キャッシュ制御部26は、信号線28により、メ
モリ参照に 、ける命令及びデータの区別を示す。当然
、この信号線28上のデータ値は、先に信号線23によ
り演算装置21がキャッシュ22に与えたものと同じで
ある。そして、アドレヌ情報をパスライン2上に送出し
て、メモリ参照を行なう。
他方のプロセッサ20’は、パスライン2上を流れる上
記プロセッサ20からのメモリの参照要求については、
次のように動作する。
まず、キャッシュ制御部26′は、信号線29上のデー
タ値を調べ、それが、共有メモリ3上の命令の参照要求
であるならば、なんら動作せず、この結果、ゲート27
は開かれない。即ち、前述のプログラムに課した制約に
より、他方のプロセッサ20′では、自身のキャッシュ
22′内で上記一方のプロセッサ20の命令を書き換え
ていることはないので、上記一方のプロセッサ20によ
る命令についての共有メモリ3の参照では、当該他方の
プロセッサ20’はキャッシュ22′の参照を行なう必
要はない。従って、上記一方のプロセッサ20は、直ち
に共有メモリ3を参照できる。従って、プロセッサ20
の処理速度が速くなる。また、プロセッサ20′では、
プロセッサ20の命令参照に伴う処理は、行なう必要が
なくなり、その分他の処理を行なうことができるから、
処理能力が向上する。
以上のようにして、マルチプロセッサシステム全体の性
能の向上が図られる。
一方、他方のプロセッサ20′では、データについての
共有メモリ3への参照要求があるならば、選択器24′
によって経路25′からキャッシュ22′への参照を行
なう。
そして、キャッシュ22′は、キャッシュ22′のヒツ
ト及びミスヒツトの判定結果を信号線30′によってキ
ャッシュ制御部26′に通知する。キャッシュ22′が
ヒツトした場合には、キャッシュ制御部26′は、ゲー
ト27′を開いてデータをパスライン2上に送出する。
これによす、プロセッサ20は、他のプロセッサ20′
のキャッシュ22′上でヒツトしたデータを参照する。
一方、キャッシュ22′がミスヒツトした場合は、何も
行なわず、この結果、ゲート27′は、開かれない。こ
れにより、プロセッサ20は、共有メモリ3上のデータ
を参照する。
他方のプロセッサ20′で、自身の演算装置21からも
キャッシュ22′の参照要求があり、これと、パスライ
ン2からのキャッシュ22の参照要求が同時に起きた場
合には、選択器24′で所定の優先順位に従って上述し
た処理が行なわれる。
以上は、プロセッサ20が命令やデータを参照する場合
について述べたが、プロセッサ20’が命令やデータを
参照する場合も上記と同様の処理が行なわれる。
尚、本発明は、上述した実施例に限定されるものではな
い。
即ち、上述した実施例においては、2つのプロセッサを
備えたマルチプロセッサシステムにおけ 7 るキャッシュ制御装置について、説明したが、本発明は
これに限らず、3つ以上の複数のプロセッサを備えたマ
ルチプロセッサシステムにも適用できるものである。
(発明の効果) 以上説明したように、本発明のキャッシュ制御装置は、
計算機上で実行するプログラムに実行中に命令を書き換
えないという制約を課した上で、あるプロセッサが共有
メモリから命令を読出そうとしている場合は、それにつ
いて他のプロセッサはキャッシュの内容を調べないよう
にしたので、次のような効果がある。
即ち、キャッシュの参照において、演算装置からの参照
と、パスラインからの参照とが同時に起きる確率が小さ
くなる。一般に、パスライン上のメモリ参照要求のうち
、命令についてのものが約半数程度を占める。この約半
数のメモリ参照要求について、他のプロセッサのキャッ
シュの内容を調べないのであるから、メモリ参照が同時
に生じた場合のシステムの性能の低下を約半分程度にで
 8 きる。従って、ハードウェア量を増やすことなく、第4
図に示すディレクトリを複数備えたものの性能に近い性
能をシステムにもたらすことができる。
【図面の簡単な説明】
第1図は本発明のキャッシュ制御装置を備えたマルチプ
ロセッサシステムの構成を示すブロック図、第2図は従
来のキャッシュ制御装置を備えたマルチプロセッサシス
テムの構成を示すブロック図、第3図は第2図に示すプ
ロセッサの内部構成の一例を示すブロック図、第4図は
第2図に示すプロセッサの内部構成の他の例を示すブロ
ック図である。 20.20′・・・プロセッサ、 21.21′・・・演算装置、 22.22′・・・キャッシュ、 23.23’ 、28.28’  29.29′・・・
信号線(命令データ識別手段)、24.24′・・・選
択器、 26.26′・・・キャッシュ制御部、27. 27′ ・・・ゲート。

Claims (1)

  1. 【特許請求の範囲】 複数のプロセッサと、共有メモリとを備えたマルチプロ
    セッサシステムにおけるコピーバック方式のキャッシュ
    制御装置において、 前記共有メモリの参照の際に、命令の参照かデータの参
    照かを識別するための命令データ識別手段と、 前記各プロセッサが、他のプロセッサのキャッシュによ
    る命令の参照の場合は、その参照要求を受取らないよう
    にするキャッシュ制御部とを備え、 前記各プロセッサで実行されるプログラムは、当該プロ
    セッサあるいは他のプロセッサで実行中のプログラムの
    命令を書き換えないというソフトウェア上の制約を設け
    たことを特徴とするキャッシュ制御装置。
JP1250583A 1989-09-28 1989-09-28 キャッシュ制御装置 Pending JPH03113549A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1250583A JPH03113549A (ja) 1989-09-28 1989-09-28 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1250583A JPH03113549A (ja) 1989-09-28 1989-09-28 キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH03113549A true JPH03113549A (ja) 1991-05-14

Family

ID=17210048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1250583A Pending JPH03113549A (ja) 1989-09-28 1989-09-28 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH03113549A (ja)

Similar Documents

Publication Publication Date Title
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
US5043886A (en) Load/store with write-intent for write-back caches
JPH0285960A (ja) 情報処理システム
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
US6477622B1 (en) Simplified writeback handling
JP3814521B2 (ja) データ処理方法および装置
US5727179A (en) Memory access method using intermediate addresses
JP2846888B2 (ja) 分散共有メモリを持つマルチプロセッサシステム
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JPH03113549A (ja) キャッシュ制御装置
JP2552704B2 (ja) データ処理装置
JP3187446B2 (ja) キャッシュメモリ制御装置
EP0271187A2 (en) Split instruction and operand cache management
JPH03230238A (ja) キャッシュメモリ制御方式
JPH05314009A (ja) マルチプロセッサシステム
JP3088293B2 (ja) キャッシュメモリの記憶一致制御装置及び記憶一致制御方法
JP2517859B2 (ja) 並列プロセス管理方法
JP2636760B2 (ja) マルチプロセッサシステム
JPS6349257B2 (ja)
JPH0553912A (ja) キヤツシユメモリの制御方法
JPH01266643A (ja) キャッシュ制御方式
JP2689899B2 (ja) 情報処理装置
JPH10247182A (ja) マルチプロセッサシステム
JPH04291642A (ja) キャッシュ制御方式