JPH04195576A - キャッシュメモリ方式 - Google Patents

キャッシュメモリ方式

Info

Publication number
JPH04195576A
JPH04195576A JP2327926A JP32792690A JPH04195576A JP H04195576 A JPH04195576 A JP H04195576A JP 2327926 A JP2327926 A JP 2327926A JP 32792690 A JP32792690 A JP 32792690A JP H04195576 A JPH04195576 A JP H04195576A
Authority
JP
Japan
Prior art keywords
message
data
inter
processor
cache 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
JP2327926A
Other languages
English (en)
Inventor
Eiji Kawamura
英二 川村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2327926A priority Critical patent/JPH04195576A/ja
Publication of JPH04195576A publication Critical patent/JPH04195576A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサを用いた、マルチプロセッ
サ構成のシステムにおいて、特にプロセッサ間通信を行
なうマイクロプロセッサに用いるキャッシュメモリに関
する。
〔従来の技術〕
マイクロプロセッサを用いた計算機システムにおいて、
その性能を高めるため複数のプロセッサを使用するシス
テムがある。これらは、大別して主記憶を共有する密結
合型マルチプロセッサシステムと、各プロセッサが個別
に主記憶を持つ疎結合型のシステムがある。
密結合型は、従来のシングルプロセッサシステムからの
移行が容易なため、多くのマルチプロセッサシステムで
この方式がとられている。以下では、この方式を前提と
する。
マルチプロセッサにおいて発生する問題点に、プロセス
間の同期及び通信がある。これは、複数のプロセッサが
独立に動作するため、処理の手順に従って同期をとった
り、データのやり取りをする必要が発生するためである
プロセッサ間通信を実現する方法として、共有メモリ上
にメツセージ交換用の領域を用意し、これを郵便受けの
様にして使用するものがある。この方式では、まずメツ
セージの送り側が、交換領域上の中から受は側の番号と
同じ番号のエントリを選び、ここにメツセージを書込む
。次に送り側が全プロセッサに対して割り込みをかける
割り込みを受けたプロセッサは、それぞれ個別に交換領
域上の自分のエントリを読む。各プロセッサはエントリ
の内容からメツセージがあったかどうかを判断し、メツ
セージのあったプロセッサはそのメツセージを受取る。
以下図面を参照して従来実施例を説明する。第3図は従
来実施例を示している。
マルチプロセッサ301〜303はそれぞれ独立に処理
を実行する。いまマイクロプロセッサ301から同30
3に対し、メツセージを送るとする。
マイクロプロセッサ301は、主記憶304上にあるメ
ツセージ交換領域のエリア3にメ、ツセージを書込む。
エリア3はマルチプロセッサ303専用のメツセージ書
込み領域である。書込み終了後、エリア3の更新ビット
をセットする。これはメツセージ書込みの最中に、内容
を読まれても無効であることを示す為である。
メツセージ書込み完了後、割り込みを掛けることによっ
て、プロセッサ303にメ、ッセージヲ読ませる。マル
チプロセッサ301は専用の割り込み信号線を使って、
割り込み制御回路305に割り込み要求を圧す。同時に
他のプロセッサが割り込み要求を出して、競合が起こっ
た場合は、この制御回路305が調停を行なう。調停が
終了すると、割り込み禁止信号が各プロセッサに対して
圧力される。
この調停の開缶プロセッサは割り込みを掛けることが出
来ない為、新たなメツセージ送信は出来ない。
割り込みを受けた各プロセッサは、メツセージ交換領域
上の各々に対応するエリアを読み込む。
この時更新ヒツトがセットされている場合は、メツセー
ジが有効であり、リセットされているときは無効である
と認識する。
メツセージ読み込み後、更新ビットはリセットされる。
メツセージ読み込みから、更新ビットの書込みまでの一
連の操作は、バスをロックしたまマ行なう。このバスロ
ックにより、メツセージ読み込み中に新しいメツセージ
が入らないようにしている。
この方式では、従来の密結合型システムをそのまま使用
することが出来、メツセージ交換領域もソフトウェアに
より主記憶の任意の場所に置くことが出来る。
従って柔軟性の高い通信方式を提供することが出来る。
〔発明が解決しようとする課題〕
先のプロセッサ間通信の方式では、共有メモリを仲介と
してメツセージ交換を行なうため、通信時間が長くなる
傾向がある。また割り込みがあった場合、全てのプロセ
ッサがメツセージ交換領域をアクセスするため、−時期
にバスの使用量が増大する。
このとき、各プロセッサは同時に交換領域をアクセス出
来ないため、n個のプロセッサがあった場合、−回のメ
ツセージ送信に対し、メツセージ交換が完了までにn倍
の時間が必要となる。
さらに、各アクセスはバスをロックして実行される為、
一つのプロセッサがアクセスを終了するまで、他のプロ
セッサはバスを使用することができない。
マルチプロセッサシステムにおいて、バスの使用率が増
大すると性能低下が著しく、システム全体に与える影響
は極めて致命的である。
マルチプロセッサシステムでは、相互に関連しあったプ
ロセスが各プロセッサに割当てられて実行されるため、
プロセッサ間の同期/データ交換は増大する傾向にある
。このようにプロセッサ間通信が頻繁に行なわれるよう
になると、通信に伴うオーバーヘッドの問題が大きくな
る。
以上の問題はプロセッサの数が増えるにしたがって深刻
になり、本来プロセッサ数を増やすことによって性能を
上げるマルチプロセッサシステムにとって、解決すべき
重要な問題となっている。
〔課題を解決するための手段〕
本発明は、マルチプロセッサ構成のマイクロコンピュー
タシステムにおけるキャッシュメモリにおいて、プロセ
ッサ間通信アクセスを判断するデコ−f、各キャッシュ
・ブロック毎にプロセッサ間通信データであることを識
別する専用メモリ、プロセス間通信の制御用論理回路、
前記ブロック検索用カウンタを持ち、プロセッサ間通信
が発行されたとき、データを一旦キャッシュメモリに保
持し、その後通信先のキャッシュメモリに自動的にデー
タを転送することにより、高速に主記憶を介することな
く大容量のデータのプロセッサ間通信を行なうという特
徴を有する。
〔実施例〕
以下に本発明の構成並びに動作について、図面を参照し
て詳細に説明する。
(実施例1) 第1図は、本実施例のキャッシュメモリの構成を表す。
第4図は第1図のキャッシュメモリを用いたマルチプロ
セッサのシステム構成である。
各プロセッサ301〜303には各々キャッシュメモリ
404〜406が接続され、キャッシュメモリがシステ
ムバスに接続している。
以下では第1図を参照して、キャッシュメモリの動作を
説明する。
本キャッシュメモリはキャッシュ本来の機能すなわち、
プロセッサにたいし命令/データを供給する機能の他に
、プロセッサ間通信を行なう機能を持っている。
以下では、通常のキャッシュ動作、メツセージ送信動作
、メツセージ受信動作の3つの動作を順に説明する。
プロセッサからのアクセスのアドレス、データはそれぞ
れアドレス入力端子130、データ入出力端子131か
ら入る。デコーダ112が入力アドレスから、このアク
セスが通常のキャッシュアクセスか、プロセッサ間通信
アクセスかを判断する。
通常のキャッンユ動作では、アドレスによりタグメモリ
101.バリッドビットメモリ102゜メツセージ書込
みビットメモリ103.データメモリ104をアクセス
する。
メツセージ書込みビットは対応するブロックの内容が通
常のデータか、メツセージデータかを識別するビットで
ある。
タグメモリ101の内容とアドレスを比較器113で比
較し、その結果とバリッドビット。
メツセージ書込みビットの内容から制御回路110が、
キャツシュヒツト信号を生成する。タグの内容が一致し
、バリッドビットがセットさせていて、かつデータがメ
ツセージでないときに限り、ヒツト信号出力端子140
がアクティブになり、プロセッサにこの結果が伝わる。
プロセッサからのアクセスがメツセージ送信である場合
は、アドレスからデコーダ112がこのことを認識する
。このときアドレス入力端子130からのアドレスによ
り、特定のブロックが選ばれる。このアクセスはプロセ
ッサによる、キャッシュブロックへのライトアクセスに
なる。
キャッシュメモリはブロック単位に分れていて、アドレ
スの下位でこれを選択する。プロ、ツタはそのブロック
のデータに対応するアドレスの上位を保持するタグ部と
、データ部、ブロックの状態を示すステータス部からな
っている。
先のタグメモリ101.バリッドビットメモリ102、
メツセージ書込みビットメモリ103゜データメモ!、
1104はブロックのそれぞれの部分に対応している。
選択されたブロックには強制的に、データ端子131か
らのデータを書込む。これと同時にタグメモリ101.
バリッドヒツトメモリ102゜メツセージ書込みビット
メモリ103を更新する。
タグメモリ101にはアドレス入力i子130からのア
ドレスの上位部分を書込み、バリッドビットメモリ10
2.メツセージ書込みビットメモリ103は共にセット
し、このフロックにメツセージが入っていることを記録
する。
メツセージデータは一時に書込む必要はなく、データ書
込みの中に他のアクセスをすることも可能である。−度
タグメモリにアドレスが書込まれると、次回からは、デ
ータを書込むだけで良い。
メツセージのキャッシュメモリに対する書込みが終了す
ると、プロセッサは書込み終了信号入力端子132をア
クティブにし、書込みが完結したことを通知する。これ
と同時に従来例と同様にして、他のプロセッサに対し割
り込みを掛ける。
終了通知を受けた制御回路110はカウンタ115をリ
セットし、フロックを指定する下位アドレスを0から順
に生成させる。生成させた下位アドレスは、マルチプロ
セッサ121を通ってメモリ部に供給される。制御回路
110はカウンタをインクリメントすることにより、順
番にブロックのメツセージ書込みビットを調べ、ビット
がセットされている場合は、そのブロックのタグアドレ
スとデータ内容をそれぞれ、外部アドレス端子15G、
外部データ端子151からシステムバスに出力する。メ
ツセージ書込みビットがセットされていなげれば次のフ
ロックを調べる。
このようにして全ブロックを調べ、メツセージが入って
いるブロックのアドレスとデータを、全てシステムバス
に出力する。
全てのメツセージデータを含むブロックを出力すると、
制御回路110はブロックのメツセージ書込みビットを
リセットする。
メツセージ書込みビットがセットされているブロックは
、通常のキャッシュアクセスに伴う入替えの対象となら
ない。つまり、書込みビットがリセットされるまで、こ
のブロックが追出されることはない。
次にメツセージ受信動作を説明する。
システムバス上に出力されたアドレスとデータは、他の
キャッシュメモリの外部アドレス端子150、外部デー
タ端子151を通して取込まれる。
取込まれたアドレスはデコーダ111によって評価され
、このデータがメツセージであるか通常のデータである
かが判定される。メツセージであることが認識されると
、制御回路110はプロセッサからのアクセスを止めて
、メツセージデータの取込を最優先で実行する。データ
の取込は先のブロックに対するメツセージ書込みと同様
に行なわれる。
但しアドレスはプロセッサからのもではなく、外部アド
レス端子150からのアドレスを使用する。
この時同様にしてメツセージ書込みビットをセットする
。但しこのビットのセットは、必ず、ブロックのメツセ
ージを書込んでしまってから行なう。
このことにより、プロセッサはメツセージが到着したか
否かを判断することが出来る。
ここまでのメツセージデータ取込動作は、プロセッサに
関係無くキャッシュが自動的に、システムバスを監視す
ることによって行なわれる。したがってメツセージの送
信側と受信側で、同期を取る必要はない。
受信側のプロセッサは割り込み信号を受けると、キャッ
シュメモリをアクセスし、メツセージが到着しているか
否かを確認する。プロセッサからメツセージを読み込む
アクセスがキャッシュに対して発行されると、先に説明
したプロセッサからの書込み時と同様に、デコーダ11
2によりアクセスがメツセージの読み込みであることを
認識する。制御回路110はプロセッサからのアドレス
に対応するブロックをアクセスし、アドレスの比較結果
と、メツセージ書込みビットの内容をプロセッサに出力
する。もしアドレスに対応するブロックが存在し、ブロ
ック内容がメツセージである場合、メツセージ信号出力
端子141からプロセッサに対して信号が出力される。
プロセッサは到着したメツセージ内容を基に処理を行な
い、処理終了後メツセージ無効化信号入力端子133を
アクティブにして、メツセージが入っているブロックの
バリッドビットとメツセージ書込みビットをクリアする
。この時どのブロックを無効化するかを指定するため、
アドレス入力端子130からアドレスを入力する。
メツセージ書込みビットがクリアされるまで、このブロ
ックはキャッシュ上に存在し続ける。
(実施例2) 前記実施例1では、メツセージ書込み完了をプロセッサ
からの通知により判断していたが、本実施例ではメツセ
ージの長さを予めレジスタ上に保持し、これを利用して
自動的にメツセージの転送を開始している。
プロセッサによるメツセージの書込みが始ると、制御回
路110はプロセッサからのメツセージ書込みアクセス
の回数をカウントする。このときメツセージ読み込みア
クセス、通常のキャッシュアクセス回数はカウントしな
い。
レジスタ115にはメッセージ長が保持され、先のカウ
ント値との比較を行なう。カウント値がメッセージ長に
達した時、実施例1で書込み終了信号入力端子132を
アクティブにした時と同じ様に、メツセージの入ったフ
ロックだけをシステムバスに出力する。
メツセージを受信する側も、同様にレジスタ115の内
容を使用して、メツセージ受信の終了を検出する。
〔発明の効果〕
通常プロセッサ間通信でやり取りするデータのサイズは
、■ワード程度でありこの他にメツセージの識別子など
を追加しても、キャッシュの1フロツクに十分大れるこ
とが出来る。通常ブロックのデータサイズは4ワ一ド以
上である。
本発明では、メツセージの送信はハードウェアにより高
速に行なうが、メツセージの宛先等はメツセージ自身の
中に置き、ソフトウェアでメツセージの受取選別を行な
う。このためにハードウェアの負担が軽く、かつ従来の
システムバスをそのまま使用することが可能である。
将来的にメツセージの種類が増加し、データサイズがブ
ロックサイズを上回るような場合でも、複数のブロック
にまたがってメツセージデータを保持、転送することが
可能である。更にデータサイズをダイナミックに変更す
ることが可能である為、メモリ資源を効率よく使用する
ことができる。
従来例では、メツセージを一旦主記憶上におくため、常
に一定量のメモリ資源を使用し、かつ個々のメツセージ
のデータサイズをダイナミックに変更することは出来な
い。
これに対し本実施例では、メツセージをキャッシュメモ
リ上におくため主記憶を使用せず、メツセージの送信が
終了すると送信側のキャッシュメモリは開放され、使用
したブロックを他の目的で使用することが出来る。
受信側でもメツセージはキャッシュ上にあるため、何度
でも高速にメツセージを参照することが出来る。したが
って、長く複雑なメツセージを各プロセッサが個別に、
バス競合によって干渉しあうこと無く処理できる。
このデータは必要がなくなればいつでも捨てることが出
来、データが入っていたブロックを別の目的で使用する
ことが出来る。
従来実施例では常に主記憶をアクセスすることを前提と
している為、各プロセッサによる処理が実行される度に
、ハスが使用される。
本実施例では、データの送付は1回の転送で済み、送り
先が複数あっても1回のバス操作で終了する。また受信
したプロセッサは、メツセージがキャッシュ上に直接届
くため、これを取り出すためにバスを使用する必要がな
い。
プロセッサ数がn個であるマルチプロセッサシステムで
、1つのプロセッサから、全てのプロセッサにメツセー
ジを送信する場合に必要なバス使用回数は、従来実施例
では更新ビットの操作も入れると3x(n−1)回であ
るのに対し、本実施例では使用するブロック数が1個の
場合1回となる。
本実施例では、メツセージアクセスを識別する為にデコ
ーダを使用している。したがって、各メツセージに対し
デコータで識別できる範囲内で任意のアドレスをメツセ
ージに割当てることが出来る。このことは高度なプロセ
ス間通信を実現する上で、有利である。
【図面の簡単な説明】
第1図は実施例1の構成図、第2図は実施例2の構成図
、第3図は従来例を示す図、第4図は本発明の全体構成
を示す図である。 101.102,1.03,104・・・・・・メモリ
、110・・・・・・論理回路、111,112・・・
・・デコータ、113・・・・・・比較器、114・・
・・・・カウンタ、1.20,122,123,125
・・・・・・バッファ、121.124・・・・・・マ
ルチプレクサ、215・・・・・・レジスタ、301,
302.303・・・・・・マイクロプロセッサ、30
5・・・・・・論理回路、304・・・・・・メモ’J
、404,405,406・・・・・・キャッシュメモ
リ。 代理人 弁理士  内 原   晋 第5図 第4図

Claims (1)

    【特許請求の範囲】
  1. マルチプロセッサ構成のマイクロコンピュータシステム
    におけるキャッシュメモリにおいて、プロセッサ間通信
    アクセスを判断するデコーダ、各キャッシュ・ブロック
    毎にプロセッサ間通信データであることを識別する専用
    メモリ、プロセス間通信の制御用論理回路、前記ブロッ
    ク検索用カウンタを持ち、プロセッサ間通信が発行され
    たとき、データを一旦キャッシュメモリに保持し、その
    後通信先のキャッシュメモリに自動的にデータを転送す
    ることにより、高速に主記憶を介することなく大容量の
    データのプロセッサ間通信を行なうことを特徴とするキ
    ャッシュメモリ方式。
JP2327926A 1990-11-28 1990-11-28 キャッシュメモリ方式 Pending JPH04195576A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2327926A JPH04195576A (ja) 1990-11-28 1990-11-28 キャッシュメモリ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2327926A JPH04195576A (ja) 1990-11-28 1990-11-28 キャッシュメモリ方式

Publications (1)

Publication Number Publication Date
JPH04195576A true JPH04195576A (ja) 1992-07-15

Family

ID=18204549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2327926A Pending JPH04195576A (ja) 1990-11-28 1990-11-28 キャッシュメモリ方式

Country Status (1)

Country Link
JP (1) JPH04195576A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006501568A (ja) * 2002-09-30 2006-01-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド キャッシュを備えたデータ処理システムのオーバーヘッドを小さくするための方法及び装置
JP2006065850A (ja) * 2004-07-28 2006-03-09 Renesas Technology Corp マイクロコンピュータ
JP2006513510A (ja) * 2003-01-27 2006-04-20 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 書き込みデータをキャッシュにインジェクトする方法及び装置
WO2007110914A1 (ja) * 2006-03-27 2007-10-04 Fujitsu Limited マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006501568A (ja) * 2002-09-30 2006-01-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド キャッシュを備えたデータ処理システムのオーバーヘッドを小さくするための方法及び装置
JP2006513510A (ja) * 2003-01-27 2006-04-20 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 書き込みデータをキャッシュにインジェクトする方法及び装置
JP4663329B2 (ja) * 2003-01-27 2011-04-06 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 書き込みデータをキャッシュにインジェクトする方法及び装置
JP2006065850A (ja) * 2004-07-28 2006-03-09 Renesas Technology Corp マイクロコンピュータ
WO2007110914A1 (ja) * 2006-03-27 2007-10-04 Fujitsu Limited マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法

Similar Documents

Publication Publication Date Title
KR930006384B1 (ko) 큐 관리 방법 및 장치
US4912632A (en) Memory control subsystem
US7533197B2 (en) System and method for remote direct memory access without page locking by the operating system
KR100962769B1 (ko) 수퍼차지 메시지 교환기
EP0351955B1 (en) Multiprocessor systems with cross-interrogated store-in-caches
US20010039604A1 (en) Consistency control device merging updated memory blocks
JP4474570B2 (ja) キャッシュコヒーレンシ制御方法
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
US6502168B1 (en) Cache having virtual cache controller queues
JPH0944424A (ja) 遠隔情報処理システム間のメッセージ伝送方法
EP0489556B1 (en) Consistency protocols for shared memory multiprocessors
JP2695017B2 (ja) データ転送方式
JP2587190B2 (ja) システム間チャネルページング機構
JPH0532775B2 (ja)
JP2708943B2 (ja) キャッシュメモリ制御装置
JPH07152647A (ja) 共有メモリマルチプロセッサ
US6839806B2 (en) Cache system with a cache tag memory and a cache tag buffer
JPH04195576A (ja) キャッシュメモリ方式
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
US20040059871A1 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
JPH0511337B2 (ja)
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JPH06309231A (ja) キャッシュメモリ制御方法
US7089387B2 (en) Methods and apparatus for maintaining coherency in a multi-processor system
JPH03230238A (ja) キャッシュメモリ制御方式