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

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

Info

Publication number
JPH09146840A
JPH09146840A JP7300035A JP30003595A JPH09146840A JP H09146840 A JPH09146840 A JP H09146840A JP 7300035 A JP7300035 A JP 7300035A JP 30003595 A JP30003595 A JP 30003595A JP H09146840 A JPH09146840 A JP H09146840A
Authority
JP
Japan
Prior art keywords
data
processor
main memory
read
cache
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
JP7300035A
Other languages
English (en)
Inventor
Ayumi Sato
歩 佐藤
Hidetada Fukunaka
秀忠 福中
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7300035A priority Critical patent/JPH09146840A/ja
Publication of JPH09146840A publication Critical patent/JPH09146840A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】キャッシュメモリを備えた複数のプロセッサ
と、メモリコントローラとを共通のバスで接続して構成
されたマルチプロセッサシステムにおいて、効率の良い
メインメモリアクセスを行い、高速なデータ伝送を実現
する。 【解決手段】プロセッサ1からメインメモリ10へのリ
ードリクエストが発行されると、受信用バッファ4に要
求データのアドレスがセットされる。同時に、データプ
リフェッチ機能切替部8は、過去のキャッシュチェック
結果の累計により、受信制御部9を通して受信用バッフ
ァ4のアドレスで指定されるメインメモリ10からデー
タの読み出しの実行、抑止の切り替えを行う。判定部6
は各プロセッサからのキャッシュチェック結果報告から
最新データの場所を判定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
からなるマルチプロセッサシステムに関し、特にプロセ
ッサとメインメモリとの間にコントローラを備えた場合
に、メインメモリへのアクセスで高速なデータ転送を行
なうマルチプロセッサシステムに関する。
【0002】
【従来の技術】情報処理装置においては、一般にメモリ
アクセスを高速に行うために、小容量、高速アクセスの
キャッシュメモリを備えている。このキャッシュメモリ
は一定または任意の大きさのブロックに分割され、メイ
ンメモリのデータの一部を保持している。
【0003】マルチプロセッサを制御する一方式とし
て、各プロセッサが共通バスに接続される方式がある。
このマルチプロセッサシステムのキャッシュ制御の方法
としては、常にキャッシュメモリとメインメモリの内容
を一致させておく方法と、キャッシュメモリに書き込ま
れたデータをすぐにはメインメモリに書き戻さず、その
データが置き換えの対象となったときに、書き戻す方法
がある。前者の場合はキャッシュ一致制御は必要ない
が、後者の場合にはキャッシュメモリとメインメモリの
内容が必ずしも一致していないので、マルチプロセッサ
システムでは、メインメモリの内容と2台以上の複数の
プロセッサのデータが異なっていると矛盾が生じる。こ
のためキャッシュ一致制御が必要となる。
【0004】一般的には、キャッシュ内にそのデータが
システム内で最新のデータであることを示すタグを設
け、一時期には唯一台のプロセッサしか最新のデータを
持てないようにキャッシュ一致を行う。すなわち、自分
が最新のデータを持っている場合はキャッシュ内のデー
タを使う。データを持っていないか最新でない場合は、
他のプロセッサかメインメモリにあるデータが最新であ
るので、それを自分のキャッシュに入れ、最新のデータ
であることを示すタグを付けるなどすればよい。
【0005】共通バスを利用したシステムでは、各プロ
セッサが他のプロセッサのメインメモリへのリクエスト
要求をスヌープすることで、このキャッシュ一致制御を
行う。すなわち、メインメモリにデータ要求のリクエス
トが出た場合に、各プロセッサは自分のキャッシュのチ
ェックを行ない、最新のデータを持っているプロセッサ
はそのデータをバス上に出力し、キャッシュ内のタグを
リセットする。一方、リクエストを出したプロセッサは
このデータを取り込み、タグをリセットする。さらに、
メモリコントローラにより同時にメインメモリの内容も
更新される。また、最新のデータがメインメモリにある
ような場合には、メモリコントローラはメインメモリに
対してリードリクエストを発行し、このデータをプロセ
ッサに転送する。
【0006】このように、共通バスを利用した方式にお
いては、あるプロセッサのキャッシュメモリの内容を他
プロセッサへ転送するため、またはプロセッサとメイン
メモリとの間でデータを送受信するため等により、共通
バスの占有が生じ、その頻度によってはシステム全体の
処理能力を低下させる欠点があった。このような欠点を
解決するための従来技術として、1対1のプロセッサ間
における個別的なデータ転送または1対複数のプロセッ
サ間におけるデータ転送が可能になるように、共通バス
をコントロールするバスコントローラを備えたマルチプ
ロセッサシステムのデータ転送方式がある(例えば、特
開昭56- 44954号公報を参照)。
【0007】しかし、上記した方式は、特に1つのプロ
セッサから複数のプロセッサに一斉に同じデータを転送
する場合においては共通バスの占有時間の短縮には効果
があるものの、メインメモリのアクセス時間に対しては
あまり寄与することができない。このためマルチプロセ
ッサシステム全体の処理能力向上のためにはメインメモ
リへのアクセス時間を有効に用いることが重要な課題と
なっている。
【0008】
【発明が解決しようとする課題】前述したように、メイ
ンメモリへのアクセス時間を有効に用いるため、従来の
方式ではプロセッサのリクエストがメインメモリからの
リードリクエストである場合、メモリコントローラは各
プロセッサのキャッシュチェックの結果を待たずに、メ
インメモリに対してリードリクエストを出してデータの
先読み(プリフェッチ)を行っている。これは、各プロ
セッサのキャッシュチェックの結果、最新のデータがメ
インメモリにあることが判明した時点でメインメモリに
対してリードリクエストを出す場合に比べて素早いレス
ポンスを得ることができ、高速にデータを転送すること
が出来るからである。しかし最新のデータが他のプロセ
ッサにある場合、このプリフェッチは無駄になってしま
う。さらにプリフェッチによるメインメモリへのアクセ
スにより、他からのメインメモリアクセスを遅らせてし
まうという問題がある。
【0009】本発明の目的は、メモリコントローラ内に
メインメモリのデータプリフェッチの抑止、実行を切り
替える機能を設けることにより、データプリフェッチの
機能を有効に生かしつつ、その弊害となっているメイン
メモリアクセスの遅延を解消し、高速なメインメモリア
クセスを可能とするマルチプロセッサ装置を提供するこ
とである。
【0010】
【課題を解決するための手段】前記目的を達成するため
に、本発明によれば、複数のプロセッサと、各プロセッ
サ毎に設けられデータを一時保持するキャッシュメモリ
と、データを記憶するメインメモリと、該メインメモリ
に対するプロセッサからのアクセスを制御するメモリ制
御装置とを備え、前記各プロセッサと前記メモリ制御装
置とを共通のバスで接続して構成されたマルチプロセッ
サシステムにおいて、前記メモリ制御装置は、各プロセ
ッサに当該プロセッサが読みだしたいデータが当該プロ
セッサのキャッシュメモリに保持されていないキャッシ
ュミスが発生し、当該プロセッサからリードリクエスト
が発行されたとき、当該プロセッサが読みだしたいデー
タが他のプロセッサのキャッシュに存在するかメインメ
モリに存在するかをチェックするチェック手段と、該チ
ェック手段によりチェックした結果を累計し、読みだし
たいデータがメインメモリに存在した頻度を集計する集
計手段と、前記プロセッサからリードリクエストが発行
されたとき、前記頻度が所定の値以上である場合に、前
記チェック手段によるチェック結果を待たずに、前記メ
インメモリに対してリードリクエストを発行して該メイ
ンメモリから読みだしたいデータの先読みを実行する切
り替え制御手段と、前記チェック手段によるチェックの
結果、前記プロセッサが読みだしたいデータが他のプロ
セッサのキャッシュに存在する場合には、該他のプロセ
ッサのキャッシュから前記プロセッサが読みだしたいデ
ータを前記プロセッサに転送するように制御し、前記プ
ロセッサが読みだしたいデータが他のプロセッサのキャ
ッシュに存在しない場合には、前記メインメモリから先
読みしたデータを前記プロセッサに転送するように制御
する手段と、を有することができる。
【0011】
【発明の実施の形態】各プロセッサと共通のバスで接続
されたメモリコントローラ内に、プロセッサからメイン
メモリにリードリクエストが発行されたときに、メイン
メモリが最新のデータを持っているか否かを過去の頻度
から判定し、メインメモリからデータのプリフェッチの
抑止、実行の切り替えを制御する機能を設ける。この切
り替え機能によって、無駄のないメインメモリアクセス
が行われ、メインメモリアクセスの高速化が図られる。
また、これによりシステムの資源を効率良く利用でき、
その処理能力を最大限に発揮することができる。
【0012】以下、本発明の実施の形態を図面を用いて
具体的に説明する。
【0013】図1は、本発明の実施の形態の構成図であ
る。この構成図においては、2台のプロセッサと共通の
バスで接続されたメモリコントローラとメインメモリか
らなるマルチプロセッサシステムの構成を示す。
【0014】図1において、1、2はそれぞれキャッシ
ュメモリ1a、2aを備えたプロセッサであり、10はメ
インメモリである。3はプロセッサ1、2とメインメモ
リ10との間でデータのコントロールを行なうメモリコ
ントローラ(メモリ制御装置)である。4は受信用バッ
ファであり、5はメインメモリからのデータをプロセッ
サに送信するための送信用データバッファである。10
1はアドレス/データバス、102、103はそれぞれ
プロセッサ1、2のキャッシュチェック結果報告のため
の伝送路である。
【0015】6はプロセッサ1及び2のキャッシュチェ
ック結果の報告を受けて、最新データの場所を判定する
判定部であり、この判定結果により送信制御部8を通し
て送信用データバッファ5を制御しメインメモリ10の
データをプロセッサに転送するか、しないかの制御を行
う。
【0016】8は判定部6での過去の判定結果を累計
し、その結果から最新データがメインメモリに存在した
頻度を計算し、その頻度により、受信制御部9を通して
受信用バッファ4を制御しメインメモリ10のデータプ
リフェッチを行うか、行わないかを切り替えるデータプ
リフェッチ機能切替え部である。
【0017】図2に、本発明のリードリクエスト処理の
フローチャートを示す。以下に、図1、2を参照しなが
ら本発明の処理動作を説明する。
【0018】プロセッサ1からメインメモリ10へのリ
ードリクエストが発行されると、受信用バッファ4に要
求データのアドレスがセットされる(ステップ20
1)。同時に、データプリフェッチ機能切替部8は、過
去のキャッシュチェック結果の累計により、データプリ
フェッチを実行するか抑止するかの切り替えを行う(ス
テップ202)。データプリフェッチを行う場合には、
受信制御部9を通して該受信用バッファ4のアドレスで
指定されるメインメモリ10からデータを読み込み(ス
テップ203)、送信用データバッファ5にセットする
(ステップ207)。この間に、各プロセッサからのキ
ャッシュチェック結果報告が判定部6に集められる(ス
テップ204)。キャッシュチェック結果報告がそろう
と判定部6は最新データの場所を判定する(ステップ2
05)。最新データが他プロセッサ2にある場合には、
他プロセッサ2がプロセッサ1の要求データをアドレス
/データバス101に出力してデータの転送を行う(ス
テップ206)。この時、送信制御部7はデータプリフ
ェッチにより送信用データバッファ5にセットされてい
るデータを廃棄する。他プロセッサ2が最新データを持
っていない場合には、送信制御部7は送信用データバッ
ファ5にセットされているデータをアドレス/データバ
ス101を介してプロセッサ1に転送する(ステップ2
08)。
【0019】データプリフェッチを行わない場合には、
各プロセッサからのキャッシュチェック結果報告により
判定部6が最新データの場所を判定するまで、受信制御
部9は受信用バッファ4からメインメモリ10へのデー
タの読み出しを抑止する(ステップ205)。その後、
最新データの場所が判明して最新データが他プロセッサ
2にある場合には、他プロセッサ2がプロセッサ1の要
求データをアドレス/データバス101に出力してデー
タの転送を行う(ステップ206)。他プロセッサ2が
最新データを持っていない場合には、受信制御部9は受
信用バッファ4からメインメモリ10のデータの読み出
しを行って(ステップ203)送信用データバッファ5
にセットし(ステップ207)、送信制御部7は送信用
データバッファ5にセットされているデータをアドレス
/データバス101を介してプロセッサ1に転送する
(ステップ208)。
【0020】図3は、キャッシュミスによってプロセッ
サ1からリードリクエストが発行されたとき、データプ
リフェッチを行う場合に、プロセッサ2が最新のデータ
を持っていなかったときの転送動作のタイムチャートを
示す。図1、3を参照しながら動作を説明する。
【0021】プロセッサ1がキャッシュ1aをアクセス
したところ、キャッシュ1aに中にデータが存在せず、
キャッシュミスしたとする。このキャッシュミスによ
り、プロセッサ1はアドレス/データバス101にリー
ドリクエストを発行すると共に、リードすべきアドレス
を送出する。このアドレスは受信用バッファ4にセット
される。データプリフェッチ機能切替部8は、過去のキ
ャッシュチェック結果の累計により、データプリフェッ
チを実行するか抑止するかの切り替えを行う。ここで
は、データプリフェッチを行うので、受信制御部9から
受信用バッファ4を通して、メインメモリ10に対しデ
ータの読み出しを行う。同時に判定部6は各プロセッサ
からのキャッシュチェック結果報告により最新データの
場所を判定する。ここでは、プロセッサ2が最新のデー
タを持っていないので、メインメモリ10のデータの読
み出しが終わり、送信用データバッファ5にデータがセ
ットされたところで、送信制御部7は送信用データバッ
ファ5のデータをアドレス/データバス101を介して
プロセッサ1に送信する。
【0022】図4は、データプリフェッチを行わない場
合に、キャッシュミスによってプロセッサ1からリード
リクエストが発行され、プロセッサ2が最新のデータを
持っているときの転送動作のタイムチャートを示す。図
1、4を参照しながら動作を説明する。
【0023】プロセッサ1のキャッシュミスにより、プ
ロセッサ1はアドレス/データバス101にリードリク
エストを発行すると共に、リードすべきアドレスを送出
する。このアドレスは受信用バッファ4にセットされ
る。データプリフェッチ機能切替部8は、過去のキャッ
シュチェック結果の累計により、データプリフェッチを
実行するか抑止するかの切り替えを行う。ここでは、デ
ータプリフェッチを行わないので、受信制御部9を通し
て受信用バッファ4からメインメモリ10へのデータの
読み出しを抑止する。同時に判定部6は各プロセッサか
らのキャッシュチェック結果報告により最新データの場
所を判定する。ここでは、プロセッサ2が最新のデータ
を持っているので、プロセッサ2がプロセッサ1の要求
データをアドレス/データバス101に出力してデータ
の転送を行う。
【0024】上記したように、本発明においては、メモ
リコントローラ3中にデータプリフェッチ機能切替部8
を設けることにより、無駄のないメインメモリアクセス
が行われ、メインメモリアクセスの高速化を図ることが
できる。
【0025】なお、上記した実施の形態は、プロセッサ
が2台で構成されたマルチプロセッサシステムの例であ
るが、プロセッサが3台以上のマルチプロセッサシステ
ムにおいても、同様にキャッシュチェック結果報告を集
計し、データプリフェッチ機能を切り替えることにより
メインメモリアクセスの高速化を図ることができる。
【0026】
【発明の効果】以上、説明したように、本発明によれ
ば、メモリコントローラ中にデータプリフェッチを切り
替える機能を設けているので、無駄のないメインメモリ
アクセスが行われ、高速にメインメモリアクセスを行う
ことができる。また、これによりシステムの資源を効率
良く利用でき、その処理能力を最大限に発揮することが
できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の構成図である。
【図2】本発明のリードリクエスト処理のフローチャー
トを示す。
【図3】リードリクエスト発行時、データプリフェッチ
を行う場合に、プロセッサ2が最新のデータを持ってい
なかったときの転送動作のタイムチャートを示す。
【図4】リードリクエスト発行時、データプリフェッチ
を行わない場合に、プロセッサ2が最新のデータを持っ
ているときの転送動作のタイムチャートを示す。
【符号の説明】 1、2 プロセッサ 1a、2a キャッシュメモリ 3 メモリコントローラ 4 受信用バッファ 5 送信用データバッファ 6 キャッシュチェック結果判定部 7 送信制御部 8 データプリフェッチ機能切替部 9 受信制御部 10 メインメモリ 101 アドレス/データバス 102、103 キャッシュチェック結果報告のための
伝送路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、各プロセッサ毎に設
    けられデータを一時保持するキャッシュメモリと、デー
    タを記憶するメインメモリと、該メインメモリに対する
    プロセッサからのアクセスを制御するメモリ制御装置
    と、前記各プロセッサと前記メモリ制御装置とを共通に
    接続するバスとを有し、 前記メモリ制御装置は、 プロセッサが読みだしたいデータが当該プロセッサのキ
    ャッシュメモリに保持されていないキャッシュミスが発
    生し、当該プロセッサからリードリクエストが発行され
    たとき、当該プロセッサが読みだしたいデータが他のプ
    ロセッサのキャッシュに存在するかメインメモリに存在
    するかをチェックするチェック手段と、 前記プロセッサからリードリクエストが発行されたと
    き、前記チェック手段によるチェック結果を待たずに、
    前記メインメモリに対してリードリクエストを発行して
    該メインメモリから読みだしたいデータの先読みを実行
    する先読み手段と、 前記チェック手段によるチェックの結果、前記プロセッ
    サが読みだしたいデータが他のプロセッサのキャッシュ
    に存在する場合には、該他のプロセッサのキャッシュか
    ら前記プロセッサが読みだしたいデータを前記プロセッ
    サに転送するように制御し、前記プロセッサが読みだし
    たいデータが他のプロセッサのキャッシュに存在しない
    場合には、前記メインメモリから先読みしたデータを前
    記プロセッサに転送するように制御する手段と、 を有するマルチプロセッサシステムであって、 前記チェック手段によりチェックした結果を累計し、読
    みだしたいデータがメインメモリに存在した頻度を集計
    する集計手段と、 前記頻度が所定の値未満である場合に、前記先読み手段
    の前記先読みの実行を抑止する先読み抑止手段と、 を有することを特徴とするマルチプロセッサシステム。
JP7300035A 1995-11-17 1995-11-17 マルチプロセッサシステム Pending JPH09146840A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7300035A JPH09146840A (ja) 1995-11-17 1995-11-17 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7300035A JPH09146840A (ja) 1995-11-17 1995-11-17 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH09146840A true JPH09146840A (ja) 1997-06-06

Family

ID=17879925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7300035A Pending JPH09146840A (ja) 1995-11-17 1995-11-17 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH09146840A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880046B1 (en) 1999-12-13 2005-04-12 Fujitsu Limited Multiprocessor system and memory access method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880046B1 (en) 1999-12-13 2005-04-12 Fujitsu Limited Multiprocessor system and memory access method

Similar Documents

Publication Publication Date Title
CN105900076B (zh) 用于处理多个交易的数据处理系统及方法
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
EP0351955B1 (en) Multiprocessor systems with cross-interrogated store-in-caches
CN114756502A (zh) 片上原子事务引擎
US20090265293A1 (en) Access speculation predictor implemented via idle command processing resources
US6260117B1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
JPH06274461A (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
CN100380346C (zh) 用于使用分布式高速缓存器的方法和设备
US20060206663A1 (en) Disk array device and shared memory device thereof, and control program and control method of disk array device
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
JP3071752B2 (ja) ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
KR101087811B1 (ko) 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치
KR101858597B1 (ko) 프로세싱 인 메모리 시스템의 연산할 작업, 연산할 데이터 및 연산 결과 데이터 전달 방법 및 프로세싱 인 메모리 시스템
US8127106B2 (en) Access speculation predictor with predictions based on a domain indicator of a cache line
KR102069696B1 (ko) 캐시 제어 장치 및 방법
US20090327615A1 (en) Access Speculation Predictor with Predictions Based on a Scope Predictor
US8417920B2 (en) Management of speculative transactions
US11687460B2 (en) Network cache injection for coherent GPUs
US6904474B1 (en) Using write request queue to prevent bottlenecking on slow ports in transfer controller with hub and ports architecture
JP2000132531A (ja) マルチプロセッサ
JP3873589B2 (ja) プロセッサシステム
US7650483B2 (en) Execution of instructions within a data processing apparatus having a plurality of processing units
CN115442430A (zh) 向耦合到互连件的代理发送请求
JPH09146840A (ja) マルチプロセッサシステム
CN113238869A (zh) 一种计算加速方法、设备和系统及存储介质