JPH0764861A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JPH0764861A
JPH0764861A JP5239143A JP23914393A JPH0764861A JP H0764861 A JPH0764861 A JP H0764861A JP 5239143 A JP5239143 A JP 5239143A JP 23914393 A JP23914393 A JP 23914393A JP H0764861 A JPH0764861 A JP H0764861A
Authority
JP
Japan
Prior art keywords
data
processor
processors
cache
response
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
JP5239143A
Other languages
English (en)
Inventor
Yoshiyuki Ejima
良之 江島
Eriko Matsushita
恵理子 松下
Yoshiyuki Yajima
良之 谷島
Nariaki Obara
成朗 小原
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 JP5239143A priority Critical patent/JPH0764861A/ja
Publication of JPH0764861A publication Critical patent/JPH0764861A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 データの保全性を向上させるとともに処理能
力を向上させる。 【構成】 各プロセッサ0、1は、自分のキャッシュメ
モリ70、71にアクセス対象であるデータが存在する
ときは、そのデータのみをアクセスし、ライト処理のと
きはそのデータを更新する。従って、この場合システム
バス10は使用されない。また、各プロセッサ0、1
は、入出力装置12に対して処理要求を出すと、入出力
装置12の処理が完了するまで待機中となる。この間、
他のプロセッサ1、0に対し、応答待機中信号を出力す
る。一方、各プロセッサ0、1は、他のプロセッサ1、
0が出力する応答待機中信号を監視し、他のプロセッサ
1、0が応答待機中となったとき、キャッシュメモリ7
0、71上の各エントリの更新ビットを参照し、更新さ
れたエントリを共有メモリ11にコピーバックする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、主記憶の写しを保持す
るキャッシュメモリを備えたマルチプロセッサシステム
に関するものである。
【0002】
【従来の技術】従来、複数のプロセッサによりデータ処
理を並列して同時に行なえるようにしたマルチプロセッ
サシステムがある。図2は、従来のマルチプロセッサシ
ステムのブロック図である。図2に示すように、一般
に、マルチプロセッサシステムでは、複数のプロセッサ
20、21、22、2nが備えられており、これらが1
つの主記憶装置を共有している。この場合の主記憶装置
を共有メモリという。一方、各プロセッサには、キャッ
シュメモリ30、31が備えられており、これらのキャ
ッシュメモリ30、31には共有メモリ40に記憶され
たデータの一部の写しが保持される。そして、各プロセ
ッサ20、21は、それぞれ各自のキャッシュメモリ3
0、31に保持されたデータをリードしてデータ処理を
行ない、その結果、データの更新が必要なときはこれら
のキャッシュメモリ30、31に保持されたデータを更
新する。このようなキャッシュメモリ30、31上での
データの更新が行なわれると、更新後にキャッシュメモ
リ30、31に保持されているデータD0′、D1′は
これに対応する共有メモリ40に記憶されたデータD
0、D1と内容が異なることになる。
【0003】また、例えば、プロセッサ20のデータ処
理の途中でキャッシュメモリ30上に存在しないデータ
D2に対してアクセス要求が生じたときは、共有メモリ
40にあるアクセス対象のデータD2とキャッシュメモ
リ30にあるいずれかのデータとを入れ替える。この場
合、キャッシュメモリ30上の入れ替え対象となったデ
ータがこれに対応する共有メモリ40上のデータと内容
が同じであれば、全く同じデータが共有メモリ40上に
あるのであるから、単に共有メモリ40にあるアクセス
対象のデータD2をキャッシュメモリ30上の入れ替え
対象のデータ位置に転送し、キャッシュメモリ30上の
その位置にあったデータは捨ててしまってよい。ところ
が、キャッシュメモリ30上の入れ替え対象となったデ
ータがキャッシュメモリ30上で更新されており、これ
に対応する共有メモリ40上のデータと内容が異なって
いるときは、キャッシュメモリ30上の入れ替え対象の
データ位置にあるデータを共有メモリ40上の対応する
アドレスに書き戻す。例えば、データD0′をデータD
2と入れ替えるときは、データD0′を共有メモリ40
上のデータD0のアドレスに転送する。
【0004】このように、共有メモリ40のデータで、
更新したデータをキャッシュメモリ30、31から共有
メモリ40に書き戻すことをコピーバックという。デー
タの入れ替え時にコピーバックが必要か否かを判定する
ため、キャッシュ制御部50、51はデータの転送単位
ごとに更新ビットを備えており、プロセッサ20、21
がキャッシュメモリ30、31上でデータの更新を行な
ったときはこの更新ビットをオンにするようにしてい
る。そして、キャッシュ制御部50、51がデータの入
れ替え時に更新フラグを参照し、オンであれば、コピー
バックを行なう。また、コピーバックは、データの入れ
替え時に限らず、それ以前に行なうようにすることもで
きる。例えば、バスに空きができたときに、キャッシュ
制御部50、51がキャッシュメモリ30、31の更新
ビットをすべて参照し、オンとなっているデータをすべ
て共有メモリ40にコピーバックする。このような動作
をキャッシュフラッシュという。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、上
述したシステムでは、コピーバックがなかなか行なわれ
ず、キャッシュメモリ30、31と共有メモリ40とで
対応するデータの内容が異なり、図3(a)に示すよう
にキャッシュメモリ30、31にのみ最新のデータが存
在する状態が長く続く場合がある。この場合、プロセッ
サ20、21の故障等の障害が発生すると、キャッシュ
メモリ30、31に存在する最新のデータが失われてし
まう。従って、データの保全性が低下するという問題が
あった。特に、前述したデータ入れ替え時にコピーバッ
クする方式では、データの入れ替えが必要な状態になら
ない限り、コピーバックが行なわれないので、この問題
は大きい。また、前述したキャッシュフラッシュにより
コピーバックを行なう方式でも、キャッシュフラッシュ
がなかなか生じない場合はこの問題がある。
【0006】また、図2に示すマルチプロセッサシステ
ムにおいて、例えば、あるプロセッサ20がコピーバッ
クを行なっている間は、そのプロセッサ20がバス及び
共有メモリ40を占有しているので、他のプロセッサ2
1等は共有メモリ40をアクセスすることができず、処
理が待たされるという問題があった。特に、前述したよ
うに、バスに空きができた都度キャッシュフラッシュを
生じさせるようにする方式では、コピーバックによるバ
ス及び共有メモリ40の使用頻度が高くなり、本来のデ
ータ処理に支障をきたすという問題がある。また、デー
タ入れ替え時にコピーバックを行なう方式でも、この時
に他のプロセッサ21等が共有メモリ40をアクセスし
ようとする場合、それが待たされるという問題がある。
本発明は、以上の点に着目してなされたもので、プロセ
ッサの障害によるキャッシュメモリ上の最新のデータの
消失のおそれを低減するとともに、コピーバックによる
データ処理待ち時間の発生を少なくするようにしたマル
チプロセッサシステムを提供することを目的とするもの
である。
【0007】
【課題を解決するための手段】本発明のマルチプロセッ
サシステムは、バスを介して複数のプロセッサが共有メ
モリをアクセスするものにおいて、前記各プロセッサ
は、入出力装置からの応答待ちを行なっているとき、応
答待機中信号を他のプロセッサに対して出力し、いずれ
かのプロセッサが自己のキャッシュメモリの内容を前記
共有メモリにコピーバックする際に、前記他のプロセッ
サの出力する応答待機中信号を監視して、他の全てのプ
ロセッサが応答待機中のとき、前記コピーバックを実行
することを特徴とするものである。
【0008】
【作用】本発明のマルチプロセッサシステムにおいて
は、各プロセッサが次のようにデータ処理を行なう。各
プロセッサは、自分のキャッシュメモリにアクセス対象
であるデータが存在するときは、自分のキャッシュメモ
リ上のデータのみをアクセスし、ライト処理のときはそ
のデータを更新する。従って、この場合、システムバス
は使用されない。また、各プロセッサは、入出力装置に
対して処理要求を出すと、入出力装置の処理が完了する
まで待機中となる。この間、他のすべてのプロセッサに
対し、応答待機中信号を出力する。一方、各プロセッサ
は、他のプロセッサが出力する応答待機中信号を監視
し、他のすべてのプロセッサが応答待機中となったと
き、キャッシュメモリ上の各エントリの更新ビットを参
照し、更新されたエントリを共有メモリにコピーバック
する。
【0009】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のマルチプロセッサシステ
ムの一実施例のブロック図である。システムバス10に
は、複数のプロセッサ0、1、2、n、共有メモリ1
1、及び入出力装置12が接続されている。
【0010】各プロセッサ0、1、2、nは、図2に示
す従来のものと同様にコピーバック方式のキャッシュ制
御部60、61を備えている。各キャッシュ制御部6
0、61には、それらのプロセッサが入出力装置12か
らの応答待ちで動作していないことを示す応答待機中信
号を出力する信号出力部80、81を備えている。入出
力装置12は、ディスク装置、ディスプレイ装置、プリ
ンタ装置等であり、各プロセッサの要求に応じて動作す
る。このような入出力装置12は、各プロセッサに比較
して非常に動作が遅いため、各プロセッサは、入出力装
置12への処理要求後その処理が完了するまで待機する
ことになる。この待機中においてはプロセッサの処理は
休止しており、このような状態にあることを他のプロセ
ッサに知らせるため、応答待機中信号を出力する。
【0011】また、各キャッシュ制御部60、61に
は、他のプロセッサの応答待機中信号を監視するための
信号入力部90、91が設けられている。即ち、この信
号入力部90、91には、他のすべてのプロセッサから
の応答待機中信号が入力される。例えば、プロセッサ0
の信号入力部90には、プロセッサ1の信号出力部81
の信号が入力される他、プロセッサ2からプロセッサn
までの図示しない信号出力部の信号が入力される。同様
に、プロセッサ1の信号入力部91には、プロセッサ0
の信号出力部80の信号が入力される他、プロセッサ2
からプロセッサnまでの図示しない信号出力部の信号が
入力される。また、他のプロセッサ2からプロセッサn
までの図示しない信号入力部に入力される信号について
も同様である。キャッシュ制御部60、61は、他のプ
ロセッサの応答待機中信号の出力状態に応じてコピーバ
ックのタイミングを決定する。
【0012】図4に、本発明に係るキャッシュ制御部の
詳細な構成を示す。他のすべてのプロセッサから出力さ
れる信号は、AND回路41に入力される。AND回路
41の出力は、データ制御部42に入力される。データ
制御部42はAND回路41を介してすべての応答待機
中信号が“1”であることを検出すると、起動信号を出
力し、カウンタ43を起動させる。カウンタ43は、切
替器44及びLRU制御回路45を介してキャッシュメ
モリ46もしくは47の各エントリをアクセスする。キ
ャッシュメモリ46、47は、2ウェイセットアソシア
ティブ方式となっており、各ウェイは共有メモリ11の
各所定の領域のエントリのみをそれぞれ格納するように
なっている。また、図示しないキャッシュ管理テーブル
等にエントリごとに更新ビットが設けられており、デー
タ制御部42はこれらの更新ビットを参照して当該更新
ビットがオンになっているエントリをコピーバックデー
タとしてキャッシュメモリ46、47から取り出す。そ
して、データ制御部42はこのデータをシステムバス1
0を介して共有メモリ11にコピーバックする。
【0013】次に、上述したマルチプロセッサシステム
の動作を説明する。以下においては、簡単のために、プ
ロセッサ0とプロセッサ1のみが動作する場合について
説明する。プロセッサ0においてキャッシュメモリ70
上に存在しないデータに対するアクセス要求が発生した
場合、キャッシュメモリ70上の最も古く参照されたエ
ントリと共有メモリ11上のアクセス対象のデータを含
むエントリとを入れ替える必要がある。この際、その最
も古く参照されたエントリの更新ビットがオンになって
いるときは、そのエントリをコピーバックする必要があ
る。
【0014】一方、プロセッサ1が処理中であるとき
は、当該プロセッサ1の信号出力部81が出力する応答
待機中信号が“0”になっている。従って、プロセッサ
0の信号入力部90は信号“0”を入力し、コピーバッ
クを抑える。その後、プロセッサ1が入出力装置12に
対して処理要求を出し、当該入出力装置12に対する処
理完了待ちとなると、応答待機中信号を“1”にする。
この信号は、プロセッサ0の信号入力部90に入力され
る。これにより、キャッシュ制御部60は、最も古く参
照されたエントリをキャッシュメモリ70から共有メモ
リ11の対応するアドレスに転送する。そして、キャッ
シュメモリ70上のそのエントリがあった位置にアクセ
ス対象であるデータを含むエントリを共有メモリ11か
ら転送する。
【0015】また、プロセッサ0のアクセス対象である
データを含むエントリがキャッシュメモリ70上に存在
する場合でも、プロセッサ1から応答待機中信号“1”
が出力されたときは、プロセッサ0はキャッシュメモリ
70上の更新データをコピーバックする。即ち、プロセ
ッサ0は応答待機中信号“1”を入力したとき、キャッ
シュメモリ70上の更新ビットがオンのエントリをコピ
ーバックする。そして、各エントリをコピーバックする
毎に、そのエントリの更新ビットをオフにする。これに
より、図3に示すようなプロセッサの障害によりキャッ
シュメモリ70上のデータがすべて消失した場合にも、
図3(b)に示すようにコピーバックの後であればプロ
セッサ0はアクセス対象であるデータを含むエントリを
共有メモリ11からキャッシュメモリ70に転送するだ
けでよい。従って、データの回復のための特別な措置を
採る必要はない。
【0016】この結果、プロセッサ0、1の動作は、図
5に示すようになる。即ち、プロセッサ0、1は、いず
れも他のプロセッサが入出力装置12の動作完了に対す
る待機中の間においてのみ、コピーバックを行なう。従
って、コピーバックにより他のプロセッサのデータ処理
を妨げることがない。更に、3つ以上のプロセッサが動
作する場合にも、各プロセッサは、他のすべてのプロセ
ッサから応答待機中信号“1”が出力されている場合
に、キャッシュメモリ上の更新データを含むエントリを
すべてコピーバックする。従って、コピーバックが比較
的早期に行なわれ、また、それがデータ処理を妨げるこ
とがない。
【0017】尚、上述した実施例においては、キャッシ
ュ制御部が2ウェイセットアソシアティブ方式の場合に
ついて説明したが、本発明はこれに限定されるものでは
なく、一般のNウェイセットアソシアティブ方式、フル
アソシアティブ方式、ダイレクトマッピング方式の場合
にも同様であることは勿論である。また、エントリの入
れ替えアルゴリズムとしてLRUに限らず、FIFO
(First In First Out)等の他のアルゴリズムを使用し
てもよく、また、ランダムでもよい。
【0018】
【発明の効果】以上説明したように、本発明のマルチプ
ロセッサシステムによれば、各プロセッサが出力する応
答待機中信号を出力し、各プロセッサが他のプロセッサ
の応答待機中信号を検出してコピーバックするようにた
ので、コピーバックが早期に行なわれ、最新のデータが
キャッシュメモリにしか存在しない状態の期間を短縮す
ることができ、プロセッサの障害によるデータの消失の
確率を低くすることができ、データの保全性の低下を防
止することができる。また、各プロセッサは他のプロセ
ッサが処理を休止している間にコピーバックを行なうの
で、コピーバックにより他のプロセッサのデータ処理が
待たされることを防止することができ、コピーバックに
よるデータ処理能力の低下を防止することができる。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサシステムの一実施例
のブロック図である。
【図2】従来のマルチプロセッサシステムのブロック図
である。
【図3】従来及び本発明のコピーバックタイミングの説
明図である。
【図4】本発明に係るキャッシュ制御部の詳細な構成を
示すブロック図である。
【図5】本発明のシステムの動作を説明するタイムチャ
ートである。
【符号の説明】
0、1、2、n プロセッサ 10 システムバス 11 共有メモリ 12 入出力装置 60、61 キャッシュ制御部 70、71 キャッシュメモリ 80、81 信号出力部 90、91 信号入力部
フロントページの続き (72)発明者 小原 成朗 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 バスを介して複数のプロセッサが共有メ
    モリをアクセスするものにおいて、 前記各プロセッサは、入出力装置からの応答待ちを行な
    っているとき、応答待機中信号を他のプロセッサに対し
    て出力し、 いずれかのプロセッサが自己のキャッシュメモリの内容
    を前記共有メモリにコピーバックする際に、前記他のプ
    ロセッサの出力する応答待機中信号を監視して、 他の全てのプロセッサが応答待機中のとき、前記コピー
    バックを実行することを特徴とするマルチプロセッサシ
    ステム。
JP5239143A 1993-08-31 1993-08-31 マルチプロセッサシステム Pending JPH0764861A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5239143A JPH0764861A (ja) 1993-08-31 1993-08-31 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5239143A JPH0764861A (ja) 1993-08-31 1993-08-31 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH0764861A true JPH0764861A (ja) 1995-03-10

Family

ID=17040403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5239143A Pending JPH0764861A (ja) 1993-08-31 1993-08-31 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH0764861A (ja)

Similar Documents

Publication Publication Date Title
US12007907B2 (en) Victim cache with write miss merging
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
KR100190350B1 (ko) 고성능 프레임 버퍼 및 캐쉬메모리 시스템
JP2004533079A (ja) マルチプロセッサシステムにおける推測的な格納を容易にする方法および装置
CA2289402C (en) Method and system for efficiently handling operations in a data processing system
JP2005520222A (ja) マルチプロセッサシステムにおける推測的な格納を容易にするl2ディレクトリの利用
JPH09114665A (ja) 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
EP1703405B1 (en) Information processing device and data control method in information processing device
JP3236287B2 (ja) マルチプロセッサシステム
KR20060102565A (ko) 라이트 백 캐시 내에서 동시 발생하는 스누프 푸시 또는스누프 킬 연산중에 라이트 백 연산을 취소하는 시스템 및방법
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
JPH05324468A (ja) 階層化キャッシュメモリ
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
JPH0764861A (ja) マルチプロセッサシステム
US5907853A (en) Method and apparatus for maintaining duplicate cache tags with selectable width
JP3162459B2 (ja) データ処理装置
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
JPH08297642A (ja) 共有メモリ型マルチプロセッサシステム
JPH0793215A (ja) 半導体記憶装置
JPH0535697A (ja) マルチプロセツサシステム
KR20000015263A (ko) 캐쉬 일관성 유지 방법
KR940011050B1 (ko) 외부 멀티뱅크형 캐쉬메모리 장치 및 그 제어방법
JPH04245350A (ja) キャッシュ一致化方式