JPH06282528A - データ転送方法及びそのシステム - Google Patents

データ転送方法及びそのシステム

Info

Publication number
JPH06282528A
JPH06282528A JP5319619A JP31961993A JPH06282528A JP H06282528 A JPH06282528 A JP H06282528A JP 5319619 A JP5319619 A JP 5319619A JP 31961993 A JP31961993 A JP 31961993A JP H06282528 A JPH06282528 A JP H06282528A
Authority
JP
Japan
Prior art keywords
data
processors
buffer
common bus
data transfer
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
JP5319619A
Other languages
English (en)
Inventor
Michael S Allen
マイケル・エス・アレン
Charles R Moore
チャールズ・アール・ムーア
Robert J Reese
ロバート・ジェイ・リース
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06282528A publication Critical patent/JPH06282528A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Abstract

(57)【要約】 【目的】 データ処理システムにおいてデータ転送の効
率を向上させる方法及びシステムを提供すること。 【構成】 多数のプロセッサのそれぞれが、共通バスを
介して転送されるデータを記憶するための付属のバッフ
ァを有している。共通バスはプロセッサとメモリを互い
に接続している。多数のプロセッサの各々は、他の1つ
のプロセッサが作業を試みた後の特定の期間中、共通バ
スを継続的にモニタし、そしてその試みた作業がデータ
処理システム内のデータ・コヒーレンスに違背しそうな
場合に選択された制御信号を出すことができる。該制御
信号が共通バス上に出された場合は、バッファからその
プロセッサへのデータ転送が禁止される。該制御信号が
共通バス上に出されない場合は、バッファからそのプロ
セッサへデータのデータ転送が許可される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、広くはデータ処理シス
テムにおいてデータ転送の効率を向上させることに関
し、特に、マルチプロセッサ・データ処理システムにお
いてデータ転送の効率を向上させるための方法及びシス
テムに関するものである。さらに特定すると、マルチプ
ロセッサ・データ処理システム内におけるデータ転送に
よってデータ・コヒーレンス(データの同一性)問題が
生じるか否かを判断するに先立って試行的にデータ転送
を行い、引き続いて、この試みられた作業がマルチプロ
セッサ・データ処理システム内のデータ・コヒーレンス
に違背する可能性を示す選択された制御信号が共通バス
上に現れた場合には、これに対応してマルチプロセッサ
の1つに対してデータ転送の完了を禁止するための方法
及びシステムに関する。
【0002】
【従来の技術】現在、データ処理システムの設計者は、
システムの性能の面を強化するための試みを続けてい
る。データ処理システムの効率を高める技術の1つとし
て、システム内に多数のプロセッサを設ける技術があ
る。このマルチプロセッサ・データ処理システムにおけ
る各プロセッサは、通常、小さい特別なメモリもしくは
「キャッシュ」を有している。これは好適には、当業者
に周知の方法によって、システム・メモリ内のデータや
命令にアクセスするために用いられるものである。キャ
ッシュ・メモリ・システムの大きさの設定や利用方法に
ついては、データ処理システム技術においてよく知られ
た派生的専門技術であり、従って本出願中では触れない
ことにする。しかしながら当業者であれば、昨今の関連
のキャッシュ技術を利用することにより、一時的にキャ
ッシュもしくはメモリ・インターフェース内に記憶され
たデータを用いることによって、システム・メモリへの
アクセスをかなりの割合で実行できることが理解できよ
う。
【0003】メモリがより小さなキャッシュに分散して
いるマルチプロセッサ・システムにおいて生じる問題の
1つは、あるキャッシュ動作が、あるプロセッサを過負
荷状態にしたり及び/またはそれに関係するキャッシュ
内のデータのブロックを無効にしたりしてしまうことで
ある。単一プロセッサの環境においてはデータのブロッ
クが1カ所か2カ所にしか存在しないので、この動作は
比較的直接的な動作である。即ち、データのブロックは
キャッシュ内にあるかもしくは主メモリ内にあるかのい
ずれかである。しかしながらマルチプロセッサの環境に
おいては他のプロセッサがその関連するキャッシュ内に
同じデータのブロックを有しているかも知れず、且つデ
ータのブロックが変更されるかされないか不明であるた
め、これらの機能は複雑になる。
【0004】マルチプロセッサ・システムにおけるデー
タ・コヒーレンスを維持するための1つの方法は、デー
タを要求しているプロセッサに実際に転送する前に、そ
のデータが「適したデータ」であることを検証するもの
である。この方法によるシステムにおいては、検証プロ
セスがあるために時間的遅延を生じてしまう。各プロセ
ッサがそれぞれのキャッシュを備えているマルチプロセ
ッサ・システムにおいては各キャッシュ毎に検査を要す
るために、この時間的遅延が増大する。このことは、デ
ータ・コヒーレンス問題を生じる可能性のあるアドレス
にあるデータに向けられた要求を調べるために、各プロ
セッサが共通バス上における作業を「詮索」できるよう
にすることで克服される。
【0005】従って、マルチプロセッサ・データ処理シ
ステム内におけるデータ転送によってデータ・コヒーレ
ンス問題が生じるか否かを判断するに先立って試行的に
データ転送することを可能にし、引き続いて、この試み
られた作業がデータ・コヒーレンスに違背する可能性を
示す選択された制御信号が共通バス上に現れた場合に
は、これに対応してデータ転送の完了を禁止することに
よって、データ転送の効率を向上させる方法及びシステ
ムが必要であることが明らかであろう。
【0006】
【発明が解決しようとする課題】本発明の目的は、デー
タ処理システムにおけるデータ転送の効率を向上させる
ことである。さらに本発明の目的は、マルチプロセッサ
・データ処理システムにおいてデータ転送の効率を向上
させるための方法及びシステムを提供することである。
さらに本発明の目的は、マルチプロセッサ・データ処理
システム内におけるデータ転送によってデータ・コヒー
レンス問題が生じるか否かを判断するに先立って試行的
にデータ転送を行い、引き続いて、この試みられた作業
がマルチプロセッサ・データ処理システム内のデータ・
コヒーレンスに違背する可能性を示す選択された制御信
号が共通バス上に現れた場合には、これに対応してマル
チプロセッサの1つに対してデータ転送の完了を禁止す
るための、優れた方法及びシステムを提供することであ
る。
【0007】
【課題を解決するための手段】上記の目的は、以下の記
載の通りに達成される。即ちデータ処理システムにおい
て、メモリからプロセッサへのデータ転送の効率を向上
させるための方法及びシステムが設けられる。多数のプ
ロセッサの各々は、そのプロセッサとメモリを互いに接
続する共通バスを介して転送されるデータを記憶するた
めにバッファを備えている。多数のプロセッサの各々
は、他の1つのプロセッサが作業を試みた後の特定の期
間中、共通バスを継続的にモニタし、そしてその試みた
作業がデータ処理システム内のデータ・コヒーレンスに
違背しそうな場合に選択された制御信号を出すことがで
きる。従って、データは、多数のプロセッサの1つによ
る要求に応じてメモリからそのプロセッサに付属するバ
ッファへ転送され、そして特定の期間が終了するまで
は、即ちこの転送がデータ・コヒーレンス問題を生じる
可能性があるか否かが判断されるまではそのバッファ内
に記憶される。この特定の期間の間、共通バスは継続的
にモニタされる。この特定の期間の終了前に、選択され
た制御信号が共通バス上に出された場合は、バッファか
らそのプロセッサへのデータ転送が禁止される。この選
択された制御信号が共通バス上に出されない場合は、バ
ッファからそのプロセッサへデータのデータ転送が許可
される。本発明の目的、特徴、及び利点は以下の詳細な
説明により明らかになるであろう。
【0008】
【実施例】図1は、本発明による方法を実施するために
利用できるマルチプロセッサ・データ処理システム6の
ハイレベルのブロック図である。図示の通り、マルチプ
ロセッサ・データ処理システム6は、多数のスカラ・プ
ロセッサ10を用いて構築され、それらの各々がバス8
を用いてシステム・メモリ18に接続されている。マル
チプロセッサ・データ処理システム6のような強く結合
された対称的マルチプロセッサ・システムにおいては、
システム6内の各プロセッサ10をメモリ18に対する
読取り及び書込みのために用いることができる。
【0009】図1に示されたように、そして以下に詳細
に述べるように、マルチプロセッサ・データ処理システ
ム6内の各プロセッサは、キャッシュ・メモリ40を備
えている。キャッシュ・メモリ40は、システム・メモ
リ18から選択された命令やデータに対し効率的且つ一
時的にアクセスしたり記憶したりするために用いられ
る。キャッシュ・メモリがメモリ空間を構築するという
観点において、マルチプロセッサ・データ処理システム
6の正確な動作を保証するために各キャッシュ・メモリ
40間のコヒーレンス(同一性)を維持することは重要
である。キャッシュ・メモリ40に加えて、レベル2キ
ャッシュ20もしくは2次キャッシュをシステム・メモ
リ18とバス8との間に設けてもよい。レベル2キャッ
シュ20は、データ転送の効率を改善するために設けら
れる。通常、レベル2キャッシュ20はキャッシュ40
よりも大きく且つ多くのデータを記憶することができる
が、応答速度は遅い。レベル2キャッシュ20は、プロ
セッサ10の1つから要求されそうな他のデータに加え
てキャッシュ・メモリ40に記憶されたデータの複写も
含んでいる。従って、レベル2キャッシュ20を追加す
ることにより、キャッシュ・メモリ40またはレベル2
キャッシュ20のいずれかにおいてプロセッサ10の1
つからのデータ要求の可能性が増すことになるだろう。
【0010】図2は、図1のマルチプロセッサ・データ
処理システム内のキャッシュ・メモリもしくはバス・イ
ンターフェースのハイレベルのブロック図である。キャ
ッシュ・メモリ40はメモリ待ち行列60を介してバス
8へ接続されている。本発明の重要な特徴であるが、キ
ャッシュ・メモリ40に対するロード及び記憶は入力待
ち行列42を介して行われる。キャッシュ・メモリ40
へのアクセスは、周知の方法によりキャッシュ調停制御
装置48を介して行われる。
【0011】キャッシュ・メモリ40内に示されている
ように、一般的に複数のキャッシュ・タグ52が設けら
れている。各キャッシュ・タグは、キャッシュ・メモリ
40内のキャッシュ・データ50へのアクセスを指示し
且つ制御するために用いられる。キャッシュ状態領域5
4は、キャッシュ・メモリ40内の各エントリに対して
キャッシュ状態を標示するために用いられる。図示され
た本発明の実施例では、通常「MESI」と呼ばれる4
状態キャッシュ・プロトコルが用いられている。当業者
であれば、これらの4個のアルファベットの各々がキャ
ッシュ・メモリ40内のデータについての特定の状態に
対応することを理解できるであろう。即ち、4つの状態
とは、「変更」、「専有」、「共有」、「無効」であ
る。さらに、最新使用プロトコル56もまたキャッシュ
・メモリ40内に示されている。最新使用プロトコル5
6は、キャッシュ内に要求されたデータがないため追加
のデータをキャッシュ内に入力する場合、どのデータを
キャッシュ・メモリから取り除かねばならないかを決定
するために用いられるものである。
【0012】マルチプロセッサ・システムにおいては、
複数のマルチプロセッサが、ほとんど同時に同じデータ
に対してアクセスまたは変更を行おうとする場合があり
得る。データ・コヒーレンスを維持するために、プロセ
ッサ10は、バス8上の全てのデータを読取りバッファ
64に入力することによって他のプロセッサの作業をモ
ニタする、あるいは「詮索」する。そして各プロセッサ
10は、他のプロセッサ10による作業がデータ・コヒ
ーレンスに違背するか否かを判断することができる。デ
ータ・コヒーレンスに違背する場合、プロセッサ10
は、データ・コヒーレンス問題の可能性を示す選択され
た制御信号をバス8上に出すことができる。読取りバッ
ファ64内のデータは、再ロードバッファ66内に置か
れる。データ・コヒーレンスに違背する場合、再ロード
バッファ66内のデータは、プロセッサ10への転送を
禁止される。
【0013】バス制御論理62は、再ロードバッファに
対して、他のプロセッサによる作業の試行後の特定期間
の間、選択された制御信号がバス上に存在するか否かを
示す。もしその期間の間、選択された制御信号が存在し
なかった場合、再ロードバッファ66内のデータはキャ
ッシュ調停制御装置48に置かれる。
【0014】図3は、本発明によるデータ転送を示した
タイミング図である。信号70は同期バスであり、図示
されている他の信号のクロック信号となる。信号71
は、アドレス信号及びアドレス一致制御信号を示してい
る。信号72は、アドレス・バス・サイクルの開始を示
している。プロセッサの1つ10が、データのアドレス
を転送することによってデータ要求するとする。次に信
号74は、そのアドレス転送の終了の認知を示してい
る。信号76は、通常データ転送に対して出されるデー
タ・バスの許可を示している。次に信号78は、データ
がプロセッサ10に転送されたことの認知を示してい
る。この認知は、実際のデータ転送と同時に行われる。
信号80は、信号72及び信号74で示した転送された
アドレスに関するデータがバス8上に存在することを示
している。
【0015】次に信号82は、現在読取りバッファ64
に存在している、バス8からのデータを示している。図
示の通り、データは、クロック・サイクル3の間に読取
りバッファ64内に転送される。因みに、このデータ転
送の認知は既にクロック・サイクル2で行われている。
その後データは、信号84で示されるようにクロック・
サイクル4の間に再ロードバッファ66内に転送され
る。この間、プロセッサ10はバス8をモニタしてお
り、そして図示の信号86の存在を検知することができ
る。信号86は、データ・コヒーレンス問題が検知され
た場合に出されるものである。信号86が検知された場
合には信号88が出されず、そして信号88が出されな
いことによってプロセッサへのデータ転送が禁止され
る。しかしながら、もし信号86が検知されない場合は
信号88が出され、そして信号90で示されるようにデ
ータがプロセッサへ転送される。
【0016】図4は、本発明の方法及びシステムによ
る、システム・メモリからプロセッサの持つバッファへ
のデータ転送を示すハイレベルの流れ図である。このプ
ロセスはブロック100で開始され、ブロック102に
進む。ブロック102は、マルチプロセッサ・データ処
理システム6内のプロセッサによるデータ転送要求の開
始を示している。これは、データ要求とそのデータのア
ドレスをバス8上に転送することによって開始される。
【0017】次に、本発明の重要な特徴であるところの
2つのプロセスが同時に生じる。即ちブロック104で
は、他のプロセッサがそのデータ転送に関わるデータ・
コヒーレンス問題を指摘するかも知れない特定の期間
中、共通バスを継続的にモニタする。同時にブロック1
06では、他のプロセッサがそのデータ転送に関わるデ
ータ・コヒーレンス問題を指摘するために許容された期
間中に、即ち保留期間中に、プロセスを開始したプロセ
ッサのバッファにデータが転送される。この方法におい
て、データ・コヒーレンス問題が存在するか否かを判断
するために必要な遅延期間が終了する前に、データを高
速キャッシュ・メモリから速やかに転送でき、それによ
ってデータ転送効率を著しく向上させることは、当業者
であれば理解できるであろう。
【0018】次に、ブロック108において、他のプロ
セッサがそのデータ転送に関わるデータ・コヒーレンス
問題を指摘するために許容された期間の終了前に、アド
レス再試行もしくは「ARETRY」信号が共通バス上
に在るか否かを判断する。ARETRY信号は、このよ
うなシステムにおいてプロセッサがデータ・コヒーレン
ス問題の可能性を示すために通常用いる信号である。そ
して、このARETRY信号を開始したプロセッサによ
ってデータ・コヒーレンス問題が解決されるまで、繰り
返し出すようにしてもよい。ARETRY信号がこのシ
ステム内の別のプロセッサによって出された場合には、
プロセスはブロック110に進む。
【0019】ブロック110は、バッファからそのプロ
セッサへのデータ転送の禁止を示している。このよう
に、データは、データ・コヒーレンス問題が存在するか
否かを実際に判断する前に、メモリからそのプロセッサ
に付属するバッファに転送することができる。そしてそ
の後、データ・コヒーレンスの可能性を示す信号がバス
上に出された場合にはバッファからそのプロセッサへの
データ転送が選択的に禁止される。そしてそのプロセス
はブロック112へ進み、次の転送が行われるのを待つ
ために戻る。
【0020】再びブロック108において、ARETR
Y信号が許容される時間が終了する前に別のプロセッサ
からARETRY信号が出されなかった場合、プロセス
はブロック114へ進む。ブロック114は、バッファ
からそのプロセッサへの高速のデータ転送を示してお
り、それによってデータをプロセッサに転送する速度と
効率が著しく向上する。バッファからそのプロセッサへ
のデータ転送の後に、プロセスは再びブロック112へ
進み、次のデータ転送を待つために戻る。
【0021】以下、本発明に関して以下の事項を開示す
る。 (1)共通バスを介して互いに接続されたメモリ及び多
数のプロセッサを有し、該多数のプロセッサのそれぞれ
がデータを記憶するための付属のバッファを備え、該多
数のプロセッサのそれぞれが該共通バスを継続的にモニ
タし、該多数のプロセッサの中の別のプロセッサが試行
した作業がデータ処理システム内のデータ・コヒーレン
スに違背する可能性がある場合には、該試行された作業
後の特定の期間中に選択された制御信号を出すことがで
きる、該メモリから該多数のプロセッサの1つへのデー
タ転送効率を向上させるためのデータ処理システムにお
ける方法であって、前記多数のプロセッサの1つからの
要求に応じて、前記特定の期間中に前記メモリから該多
数のプロセッサの1つに付属するバッファへデータを転
送するステップと、前記データを前記バッファに記憶す
るステップと、前記特定の期間中に前記共通バスをモニ
タするステップと、前記共通バス上に前記選択された制
御信号が存在する場合には、前記バッファから前記多数
のプロセッサの前記1つへのデータ転送を禁止するステ
ップと、前記特定の期間中に前記共通バス上に前記選択
された制御信号が存在しない場合には、前記バッファか
ら前記多数のプロセッサの前記1つへのデータ転送を許
可することによって、データ転送効率を著しく向上させ
るステップとを含む、データ処理システムにおけるデー
タ転送効率を向上させる方法。 (2)前記多数のプロセッサの1つからの要求に応じ
て、前記特定の期間中に前記メモリから前記多数のプロ
セッサの1つに付属するバッファへデータを転送するス
テップが、前記多数のプロセッサの前記1つによるデー
タ・アドレスの転送に応じて前記メモリから前記多数の
プロセッサの1つに付属するバッファへデータを転送す
るステップを含む、請求項1に記載のデータ処理システ
ムにおけるデータ転送効率を向上させる方法。 (3)前記共通バス上に前記選択された制御信号が存在
する場合に、前記多数のプロセッサの1つに付属するバ
ッファから該多数のプロセッサの該1つへのデータ転送
を禁止するステップが、前記共通バス上にアドレス再試
行(ARETRY)信号が存在する場合に、前記バッフ
ァから前記多数のプロセッサの前記1つへのデータ転送
を禁止するステップを含む、請求項1に記載のデータ処
理システムにおけるデータ転送効率を向上させる方法。 (4)前記特定の期間中に前記共通バス上に前記選択さ
れた制御信号が存在しない場合に、前記多数のプロセッ
サの1つに付属するバッファから該多数のプロセッサの
該1つへのデータ転送を許可するステップが、前記特定
の期間中に前記共通バス上に前記選択された制御信号が
存在しない場合に、前記データの調停を前記多数のプロ
セッサの前記1つに付属するキャッシュ・メモリに選択
的に許可するステップを含む、請求項1に記載のデータ
処理システムにおけるデータ転送効率を向上させる方
法。 (5)共通バスを介して互いに接続されたメモリ及び多
数のプロセッサを有し、該多数のプロセッサのそれぞれ
がデータを記憶するための付属のバッファを備え、該多
数のプロセッサのそれぞれが該共通バスを継続的にモニ
タし、該多数のプロセッサの中の別のプロセッサが試行
した作業がデータ処理システム内のデータ・コヒーレン
スに違背する可能性がある場合には、該試行された作業
後の特定の期間中に選択された制御信号を出すことがで
きる、該メモリから該多数のプロセッサの1つへのデー
タ転送効率を向上させるデータ処理システムであって、
前記多数のプロセッサの1つからの要求に応じて、前記
特定の期間中に前記メモリから該多数のプロセッサの1
つに付属するバッファへデータを転送する手段と、前記
データを前記バッファに記憶する手段と、前記特定の期
間中に前記共通バスをモニタする手段と、前記共通バス
上に前記選択された制御信号が存在する場合には、前記
バッファから前記多数のプロセッサの前記1つへのデー
タ転送を禁止する手段と、前記特定の期間中に前記共通
バス上に前記選択された制御信号が存在しない場合に
は、前記バッファから前記多数のプロセッサの前記1つ
へのデータ転送を許可することによって、データ転送効
率を著しく向上させる手段とを含む、データ処理システ
ム。 (6)前記多数のプロセッサの1つからの要求に応じ
て、前記特定の期間中に前記メモリから前記多数のプロ
セッサの1つに付属するバッファへデータを転送する手
段が、前記多数のプロセッサの前記1つによるデータ・
アドレスの転送に応じて前記メモリから前記多数のプロ
セッサの1つに付属するバッファへデータを転送する手
段を含む、請求項5に記載のデータ処理システム。 (7)前記共通バス上に前記選択された制御信号が存在
する場合に、前記多数のプロセッサの1つに付属するバ
ッファから該多数のプロセッサの該1つへのデータ転送
を禁止する手段が、前記共通バス上にアドレス再試行
(ARETRY)信号が存在する場合に、前記バッファ
から前記多数のプロセッサの前記1つへのデータ転送を
禁止する手段を含む、請求項5に記載のデータ処理シス
テム。 (8)前記特定の期間中に前記共通バス上に前記選択さ
れた制御信号が存在しない場合に、前記多数のプロセッ
サの1つに付属するバッファから該多数のプロセッサの
該1つへのデータ転送を許可する手段が、前記特定の期
間中に前記共通バス上に前記選択された制御信号が存在
しない場合に、前記データの調停を前記多数のプロセッ
サの前記1つに付属するキャッシュ・メモリに選択的に
許可する手段を含む、請求項5に記載のデータ処理シス
テム。
【0022】
【発明の効果】以上のように、本発明による方法及びシ
ステムは、別のプロセッサがデータ・コヒーレンス問題
の可能性を指摘する期間中待機した後にシステム・メモ
リからプロセッサへのデータ転送を開始するのではな
く、試行的にシステム・メモリからそのプロセッサのバ
ッファへのデータ転送を行い、そしてそのバッファから
プロセッサへのデータ転送の制御については、データ・
コヒーレンス問題の可能性を示す信号が存在するか否か
を利用して実行される。この方法及びシステムによっ
て、マルチプロセッサ・データ処理システムにおけるデ
ータ転送の効率を著しく向上させることができる。
【図面の簡単な説明】
【図1】本発明の方法及びシステムを実施するために利
用可能なマルチプロセッサ・データ処理システムを示す
ハイレベルのブロック図である。
【図2】図1のマルチプロセッサ・データ処理システム
におけるキャッシュ・メモリもしくはバス・インターフ
ェースのハイレベルのブロック図である。
【図3】本発明によるデータ転送のタイミング図であ
る。
【図4】本発明による、バッファからその付属するプロ
セッサへのデータ転送を示すハイレベルの流れ図であ
る。
【符号の説明】 6 マルチプロセッサ・データ処理システム 8 共通バス 10 プロセッサ 18 システム・メモリ 20 レベル2キャッシュ 40 キャッシュ・メモリ 48 キャッシュ調停制御装置 50 キャッシュ・データ 64 読取りバッファ 66 再ロードバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ・アール・ムーア アメリカ合衆国78750 テキサス州、オー スチン、ロイヤルウッド・ドライブ 8802 (72)発明者 ロバート・ジェイ・リース アメリカ合衆国78717 テキサス州、オー スチン、エフレイム・ロード 8100

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】共通バスを介して互いに接続されたメモリ
    及び多数のプロセッサを有し、該多数のプロセッサのそ
    れぞれがデータを記憶するための付属のバッファを備
    え、該多数のプロセッサのそれぞれが該共通バスを継続
    的にモニタし、該多数のプロセッサの中の別のプロセッ
    サが試行した作業がデータ処理システム内のデータ・コ
    ヒーレンスに違背する可能性がある場合には、該試行さ
    れた作業後の特定の期間中に選択された制御信号を出す
    ことができる、該メモリから該多数のプロセッサの1つ
    へのデータ転送効率を向上させるためのデータ処理シス
    テムにおける方法であって、 前記多数のプロセッサの1つからの要求に応じて、前記
    特定の期間中に前記メモリから該多数のプロセッサの1
    つに付属するバッファへデータを転送するステップと、 前記データを前記バッファに記憶するステップと、 前記特定の期間中に前記共通バスをモニタするステップ
    と、 前記共通バス上に前記選択された制御信号が存在する場
    合には、前記バッファから前記多数のプロセッサの前記
    1つへのデータ転送を禁止するステップと、 前記特定の期間中に前記共通バス上に前記選択された制
    御信号が存在しない場合には、前記バッファから前記多
    数のプロセッサの前記1つへのデータ転送を許可するス
    テップとを含む、 データ処理システムにおけるデータ転送効率を向上させ
    る方法。
  2. 【請求項2】前記多数のプロセッサの1つからの要求に
    応じて、前記特定の期間中に前記メモリから前記多数の
    プロセッサの1つに付属するバッファへデータを転送す
    るステップが、 前記多数のプロセッサの前記1つによるデータ・アドレ
    スの転送に応じて前記メモリから前記多数のプロセッサ
    の1つに付属するバッファへデータを転送するステップ
    を含む、 請求項1に記載のデータ処理システムにおけるデータ転
    送効率を向上させる方法。
  3. 【請求項3】前記共通バス上に前記選択された制御信号
    が存在する場合に、前記多数のプロセッサの1つに付属
    するバッファから該多数のプロセッサの該1つへのデー
    タ転送を禁止するステップが、 前記共通バス上にアドレス再試行(ARETRY)信号
    が存在する場合に、前記バッファから前記多数のプロセ
    ッサの前記1つへのデータ転送を禁止するステップを含
    む、 請求項1に記載のデータ処理システムにおけるデータ転
    送効率を向上させる方法。
  4. 【請求項4】前記特定の期間中に前記共通バス上に前記
    選択された制御信号が存在しない場合に、前記多数のプ
    ロセッサの1つに付属するバッファから該多数のプロセ
    ッサの該1つへのデータ転送を許可するステップが、 前記特定の期間中に前記共通バス上に前記選択された制
    御信号が存在しない場合に、前記データの調停を前記多
    数のプロセッサの前記1つに付属するキャッシュ・メモ
    リに選択的に許可するステップを含む、 請求項1に記載のデータ処理システムにおけるデータ転
    送効率を向上させる方法。
  5. 【請求項5】共通バスを介して互いに接続されたメモリ
    及び多数のプロセッサを有し、該多数のプロセッサのそ
    れぞれがデータを記憶するための付属のバッファを備
    え、該多数のプロセッサのそれぞれが該共通バスを継続
    的にモニタし、該多数のプロセッサの中の別のプロセッ
    サが試行した作業がデータ処理システム内のデータ・コ
    ヒーレンスに違背する可能性がある場合には、該試行さ
    れた作業後の特定の期間中に選択された制御信号を出す
    ことができる、該メモリから該多数のプロセッサの1つ
    へのデータ転送効率を向上させるデータ処理システムで
    あって、 前記多数のプロセッサの1つからの要求に応じて、前記
    特定の期間中に前記メモリから該多数のプロセッサの1
    つに付属するバッファへデータを転送する手段と、 前記データを前記バッファに記憶する手段と、 前記特定の期間中に前記共通バスをモニタする手段と、 前記共通バス上に前記選択された制御信号が存在する場
    合には、前記バッファから前記多数のプロセッサの前記
    1つへのデータ転送を禁止する手段と、 前記特定の期間中に前記共通バス上に前記選択された制
    御信号が存在しない場合には、前記バッファから前記多
    数のプロセッサの前記1つへのデータ転送を許可する手
    段とを含む、 データ処理システム。
  6. 【請求項6】前記多数のプロセッサの1つからの要求に
    応じて、前記特定の期間中に前記メモリから前記多数の
    プロセッサの1つに付属するバッファへデータを転送す
    る手段が、 前記多数のプロセッサの前記1つによるデータ・アドレ
    スの転送に応じて前記メモリから前記多数のプロセッサ
    の1つに付属するバッファへデータを転送する手段を含
    む、 請求項5に記載のデータ処理システム。
  7. 【請求項7】前記共通バス上に前記選択された制御信号
    が存在する場合に、前記多数のプロセッサの1つに付属
    するバッファから該多数のプロセッサの該1つへのデー
    タ転送を禁止する手段が、 前記共通バス上にアドレス再試行(ARETRY)信号
    が存在する場合に、前記バッファから前記多数のプロセ
    ッサの前記1つへのデータ転送を禁止する手段を含む、 請求項5に記載のデータ処理システム。
  8. 【請求項8】前記特定の期間中に前記共通バス上に前記
    選択された制御信号が存在しない場合に、前記多数のプ
    ロセッサの1つに付属するバッファから該多数のプロセ
    ッサの該1つへのデータ転送を許可する手段が、 前記特定の期間中に前記共通バス上に前記選択された制
    御信号が存在しない場合に、前記データの調停を前記多
    数のプロセッサの前記1つに付属するキャッシュ・メモ
    リに選択的に許可する手段を含む、 請求項5に記載のデータ処理システム。
JP5319619A 1993-01-29 1993-12-20 データ転送方法及びそのシステム Pending JPH06282528A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1091893A 1993-01-29 1993-01-29
US010918 1993-01-29

Publications (1)

Publication Number Publication Date
JPH06282528A true JPH06282528A (ja) 1994-10-07

Family

ID=21748030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5319619A Pending JPH06282528A (ja) 1993-01-29 1993-12-20 データ転送方法及びそのシステム

Country Status (6)

Country Link
US (1) US5793986A (ja)
EP (1) EP0608638A1 (ja)
JP (1) JPH06282528A (ja)
KR (1) KR0130737B1 (ja)
CN (1) CN1054224C (ja)
CA (1) CA2113867C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09128354A (ja) * 1995-11-07 1997-05-16 Hitachi Ltd 多重化コンピュータシステム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10501914A (ja) * 1995-07-19 1998-02-17 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 共用キャッシュ・メモリ装置
JPH11501141A (ja) * 1996-03-15 1999-01-26 サン・マイクロシステムズ・インコーポレーテッド 分割トランザクション・スヌーピング・バスおよび調停方法
DE69717124T2 (de) * 1997-12-11 2003-07-17 Bull Sa Verfahren zum Lesen von Daten auf einem gemeinsamen Speicher in einem Multiprozessor-Rechnersystem
US6338122B1 (en) 1998-12-15 2002-01-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node
US20080077749A1 (en) * 2006-09-22 2008-03-27 Daniel Scott Cohen Access control of memory space in microprocessor systems
FR3021773B1 (fr) * 2014-05-27 2017-10-06 Bull Sas Interrogation speculative en memoire centrale d'un systeme multiprocesseur

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230345A (ja) * 1989-03-02 1990-09-12 Nec Corp 装置間通信・キャッシュ一致処理方式
JPH02281356A (ja) * 1989-04-24 1990-11-19 Matsushita Graphic Commun Syst Inc 共有メモリ装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161778A (en) * 1977-07-19 1979-07-17 Honeywell Information Systems, Inc. Synchronization control system for firmware access of high data rate transfer bus
US4807109A (en) * 1983-11-25 1989-02-21 Intel Corporation High speed synchronous/asynchronous local bus and data transfer method
US4816993A (en) * 1984-12-24 1989-03-28 Hitachi, Ltd. Parallel processing computer including interconnected operation units
CN85101065A (zh) * 1985-04-01 1987-01-10 国际商业机器公司 高速处理器
US4992930A (en) * 1988-05-09 1991-02-12 Bull Hn Information Systems Inc. Synchronous cache memory system incorporating tie-breaker apparatus for maintaining cache coherency using a duplicate directory
US5018063A (en) * 1988-12-05 1991-05-21 International Business Machines Corporation Method for reducing cross-interrogate delays in a multiprocessor system
US5283886A (en) * 1989-08-11 1994-02-01 Hitachi, Ltd. Multiprocessor cache system having three states for generating invalidating signals upon write accesses
EP0448743B1 (de) * 1990-03-26 1996-11-06 Siemens Nixdorf Informationssysteme Aktiengesellschaft Multiprozessorsystem mit einem Leitungssystem zur Kopplung mehrerer Verarbeitungseinheiten mit zugehörigen privaten Cachespeichern und eines gemeinsamen Arbeitsspeichers
US5289585A (en) * 1990-03-26 1994-02-22 Siemens Nixdorf Informationssysteme Ag Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230345A (ja) * 1989-03-02 1990-09-12 Nec Corp 装置間通信・キャッシュ一致処理方式
JPH02281356A (ja) * 1989-04-24 1990-11-19 Matsushita Graphic Commun Syst Inc 共有メモリ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09128354A (ja) * 1995-11-07 1997-05-16 Hitachi Ltd 多重化コンピュータシステム

Also Published As

Publication number Publication date
CA2113867C (en) 1999-02-16
CN1092883A (zh) 1994-09-28
KR940018763A (ko) 1994-08-18
KR0130737B1 (ko) 1998-04-15
CN1054224C (zh) 2000-07-05
EP0608638A1 (en) 1994-08-03
US5793986A (en) 1998-08-11
CA2113867A1 (en) 1994-07-21

Similar Documents

Publication Publication Date Title
US5426765A (en) Multiprocessor cache abitration
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
US6070231A (en) Method and apparatus for processing memory requests that require coherency transactions
US5133074A (en) Deadlock resolution with cache snooping
JP3999821B2 (ja) データ処理システム内でバス仲裁プロトコルを実行する方法および装置
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
US6651115B2 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
EP0616709B1 (en) Semaphore bypass
JPH06214960A (ja) 多重プロセッサシステム
US6260117B1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
JPH0272453A (ja) 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム
US5822765A (en) System and method for resolving contention arising from execution of cache coherency operations in a multiple cache computer system
US20040111563A1 (en) Method and apparatus for cache coherency between heterogeneous agents and limiting data transfers among symmetric processors
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
JPH11328106A (ja) グラフィックス・バスにアクセスするために多重のバス・マスタを可能とするアービトレーション機構を備えたコンピュータ・システム
JPH06282528A (ja) データ転送方法及びそのシステム
US6021466A (en) Transferring data between caches in a multiple processor environment
US5699540A (en) Pseudo-concurrent access to a cached shared resource
JPH06309231A (ja) キャッシュメモリ制御方法
KR100277446B1 (ko) 데이타 처리 시스템 내의 캐쉬 메모리 데이타를 추론적으로공급하기 위한 방법 및 장치
US6546469B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers
US6546468B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers performing directory update
CA2181704C (en) Highly pipelined bus architecture