JPH05216794A - 相互問い合わせ要求に優先権を与える方法及び装置 - Google Patents

相互問い合わせ要求に優先権を与える方法及び装置

Info

Publication number
JPH05216794A
JPH05216794A JP4228126A JP22812692A JPH05216794A JP H05216794 A JPH05216794 A JP H05216794A JP 4228126 A JP4228126 A JP 4228126A JP 22812692 A JP22812692 A JP 22812692A JP H05216794 A JPH05216794 A JP H05216794A
Authority
JP
Japan
Prior art keywords
request
register
remote
delay
requests
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.)
Granted
Application number
JP4228126A
Other languages
English (en)
Other versions
JPH0680503B2 (ja
Inventor
Robert Dov Herzl
ロバート・ドブ・ハーツル
Linda L Quinn
リンダ・リゴールト・クイン
Russell E Schroter
ラッセル・エバン・シュローター
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 JPH05216794A publication Critical patent/JPH05216794A/ja
Publication of JPH0680503B2 publication Critical patent/JPH0680503B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • 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/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 相互問い合わせ(XI)要求を1マシン・サ
イクル内で受け取ることができないほど長いケーブルの
使用によつて伝播遅延が生じる場合に、複数のXI要求
に対して優先順序を付ける。 【構成】 近接地及び遠隔地からのXI要求は、それら
に優先順序が付けられる前に、ストレージ制御エレメン
ト(SCE)の臨時レジスタ85、86にラツチされ
る。近接地からのXI要求は、近接地の遅延レジスタ8
7によつて段階付けされる。遠隔地のXI要求が近接地
のXI要求よりも1マシン・サイクル早く発生される場
合か、または、近接地及び遠隔地の両方からのXI要求
が同時に発生された場合であつて、遠隔地のXI要求が
マスタSCE0制御81からの要求の場合には、近接地
のXI要求は、臨時レジスタ85、86からではなく、
同期制御ロジツク89の制御の下で、近接地の遅延レジ
スタ87から選択される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、他のプロセツサからの
相互問い合わせ(cross interrogate、XI)要求を各プ
ロセツサが処理する多重プロセツサ(MP)データ処理
システムに係るものである。より詳細に言えば、相互問
い合わせ要求を1マシン・サイクル内で受け取ることが
できない程長いケーブルの使用によつて伝播遅延が生じ
る場合に、複数の問い合わせ要求間に優先順序を与える
技術に関する。
【0002】
【従来の技術】別個のプロセツサ中で同時に実行するこ
とのできる動作を並列に遂行することによつてスループ
ツトを向上するような高性能の多重プロセツサ(MP)
のコンピユータ・システムが開発されている。MPコン
ピユータ・システムにおける各中央プロセツサ(CP)
は独立して並列に動作するが、データを交換する必要が
生じた時には、プロセツサ相互の間、または主ストレー
ジ(MS)とプロセツサの間で通信を行なう。CP及び
MSは、データを交換するために接続される入/出力
(I/O)ポートを持つている。
【0003】夫々のCPがそれら自身のキヤツシユ・メ
モリを持つていることを特徴とする強結合の多重プロセ
ツサ・システムとして知られているタイプのMPシステ
ムにおいては、システムの種々のレベルにおけるデータ
の整合性の問題がある。この問題をより特定して言え
ば、多重プロセツサのコンピユータ・システムにおい
て、メモリ階層の隣接レベルの間でデータの一貫性が保
てないことがあり得ると言う問題である。例えば、複数
のCPの内の1つのCPがあるデータのコピーを変更す
ることによつて、これら複数のキヤツシユが同じデータ
について異なつたバージヨンのものを持つことがある。
従つて、各プロセツサのキヤツシユは、複数のキヤツシ
ユ中のラインにおいて何が発生したかを同時期に知つて
いなければならない。同じ主ストレージを共有する多数
のCPを持つMPシステムにおいて、各CPは、アクセ
スが生じた時、アーキテクチヤの仕様に従つたデータの
更新された最新のバージヨンを得ることが要求される。
このためにキヤツシユの間のデータの一貫性を常に監視
することが必要となる。
【0004】キヤツシユのデータの一貫性の問題につい
て幾つかの解決方法が提案されている。初期の解決方法
は、1976年のAGIPSの会報に記載されたタング
(C.K.Tang)の「Cache System Design in the Tightly
Coupled Multi-processor System」と題する記事と、
1978年12月の「IEEE Transactions on Computer
s」におけるセンシア(L.M.Censier)等の「A New Solu
tion to Coherence Problems in Multicache Systems」
と題する記事(1112頁乃至1118頁)とに記載さ
れている。センシア等は、中央に纒められた大域アクセ
ス権限テーブルを使用することにより、共有された書き
込み可能なデータを複数個のキヤツシユ中に存在させる
ことを可能にする方法を記載している。また、タングは
メモリ・ブロツクの状態を維持するためにキヤツシユの
コピー・デイレクトリを使用することを提案している
が、センシア等は、同じ状態ビツトで各メモリ・ブロツ
クをタグすることを提案している。
【0005】これらの初期の提案による解決方法は、必
要がある時に、相互問い合わせ(XI)要求を達成する
ためにどのようにして記録するかについての問題を解決
する。このアイデアは、どのプロセツサのキヤツシユが
ラインのコピーを所有しているか、そして、その中のど
のキヤツシユがそのラインを変更したかについての情報
をコピー・タグ、またはメモリ・タグとして大域デイレ
クトリに記録することに着想の原点がある。基本的な動
作は、プロセツサがラインにストアする時の状態を大域
テーブルに記録(MODIFIEDビツトによつて)させること
である。ストア・イン・キヤツシユが使用されているの
で、プロセツサのキヤツシユ・コントローラは、どのラ
インが変更されたのか、またはどのラインが専用ライン
であるかをそれ自身のキヤツシユ・デイレクトリから知
る。プロセツサの非変更ラインにストアすることは、ス
トレージ・コントローラと同期することが必要であり、
先ず、MODIFIED状態を得る。従つて、キヤツシユがシス
テムのラインのコピーだけしか持つていない場合でも、
プロセツサがストレージ・ブロツクに対してストアを実
際に発生しなければ、ストレージ・ブロツクをプロセツ
サに対して排他的状態、即ち変更可能状態にすることは
できない。
【0006】米国特許第4394731号に記載されて
いるように、より一般的な意味におけるEX(排他的)
状態は、ラインがキヤツシユの中にストアされていない
場合でも、ストレージ制御エレメント(SCE)に知ら
せることなく、プロセツサによつてキヤツシユにストア
することができる。これは、例えばIBM/3081シ
ステムにおいて可能なので、微妙な差異であるが概念的
な観点からは重要なことであり、後続のストアが到来す
る「可能性がある(likely)」場合に、プロセツサのラ
インのEX状態を獲得する。
【0007】従来のMPシステムにおいては幾つかのキ
ヤツシユのタイプがある。キヤツシユの1つのタイプ
は、IBM/370のモデル3033MPに関する米国
特許第4142234号に記載されているようなストア
・スルー(store through-ST)キヤツシユである。S
Tキヤツシユのデザインは、主ストレージへのデータの
更新の際のCPが主ストレージに直接にデータをストア
する動作を妨げるものではない。主ストレージに対して
ストア・スルー・キヤツシユを更新する時、ストアされ
たキヤツシユ・ラインの遠隔コピーを無効にするため
に、相互問い合わせ(XI)要求の動作が行なわれる。
ストレージ制御エレメント(SCE)は、主ストレージ
(MS)のストア要求を待ち行列にして、適当なストア
・スタツクを維持し、そして、バツフア制御エレメント
(BCE)とSCEとの間の標準的な通信によつて、ス
トア・スタツクが溢れ状態になるのを回避する。SCE
のストア・スタツクが一杯になつた時、満杯の状態が除
去されるまで、関連するBCEは、そのMSのストアを
保留する。
【0008】キヤツシユの他のタイプは、米国特許第3
735360及び同第4771137号に記載されてい
るようなストア・イン・キヤツシユ(SIC)である。
SICキヤツシユ・デイレクトリは、米国特許第439
4731号に記載されているように、ストア・イン・キ
ヤツシユ中の各ラインは、排他的/読取専用(EX/R
O)フラグ・ビツトによつて制御される多重プロセツサ
の共有率(shareability)を持つている。STキヤツシ
ユとSICキヤツシユとの間の主な相違は、SIC中の
すべてのストアがキヤツシユそれ自身に差し向けられる
という点である(ストアされたラインがSICキヤツシ
ユになければ、キヤツシユ・ミスを発生する)。また、
米国特許第4503497号において、取り出しミスの
場合のデータ転送は、コピーが遠隔地のキヤツシユ中に
あれば、キヤツシユからキヤツシユへの転送(CTC)
によつて行なわれる。各キヤツシユ中のデイレクトリの
コピーを含むSCEが使用される。これは、相互問い合
わせ(XI)要求の決定によりSCEにおいて解決され
るのを可能にする。通常、キヤツシユ・ラインの変更
は、ラインがキヤツシユから置換されたときにだけ、主
ストレージに対して更新される。
【0009】非常に大型の多重プロセツサ(MP)シス
テムにおいて、複数のSCEが使用され、そして、これ
らのSCEは相互に通信しなければならない。SCEの
間の物理的な接続が長い場合には、相互問い合わせ(X
I)要求の優先権付与に関して問題が生じる。従来のマ
シン中のSCEの間のケーブルは、一方のSCEによつ
て発生されたXI要求が同じマシン・サイクルにおいて
他方のマシンに到着する程に充分に短いものであつた。
然しながら、1マシン・サイクルよりも長い遅延がプロ
セツサの間の接続体に発生した場合には、ケーブルの長
さによつて発生した遅延によつて、時間的なシーケンス
から外れた遠隔かつ、ローカルな処理要求が発生するこ
とになる。そのような大型のマシンにおいては、相互問
い合わせ要求の時間的な順序を適当に維持するために、
相互問い合わせ要求の優先権を与える機構が必要であ
る。
【0010】
【発明が解決しようとする課題】従つて、本発明の目的
は、相互問い合わせ要求源を相互に接続するケーブルの
伝播遅延のために、相互問い合わせ要求が1マシン・サ
イクル内で受け取ることができない場合に、複数の相互
問い合わせ要求源の間の相互問い合わせ要求に優先順序
を与える効果的な機構を与えることにある。
【0011】
【課題を解決するための手段】本発明に従つて、近接
地、又は遠隔地からの相互問合わせ(XI)要求は、そ
れらの要求に優先順序が付けられる前に、ストレージ制
御エレメント(SCE)の臨時的なレジスタ、即ち、近
接地用レジスタ及び遠隔地用レジスタにラツチされる。
近接地からのXI要求は、近接地の遅延レジスタに順序
付けされる。遠隔地のXI要求が近接地のXI要求より
も1マシン・サイクル早く発生される場合か、または、
近接地及び遠隔地の両方からのXI要求が同時に発生さ
れた場合には、近接地からのXI要求は、臨時的なレジ
スタからではなく、同期制御ロジツクの制御の下で、近
接地の遅延レジスタから選択される。なお遠隔地のXI
要求はマスタSCEから行なわれる。近接地からのXI
要求の順序付けは、SCEの間のケーブルの長さに対応
した複数のマシン・サイクルに拡張することができる。
【0012】
【実施例】図1を参照すると、本発明を適用するための
多重プロセツサ(MP)システムのブロツク図が示され
ている。このMPシステムは、4つの中央プロセツサ
(CP0、CP1、CP2及びCP3)CP10、11、1
2及び13を含み、各CPはインストラクシヨン実行
(IE)ユニツト14、15、16及び17と、バツフ
ア制御ユニツト(BCE)20、21、22及び23と
を含んでいる。各IEユニツトは主ストレージ(MS)
50中のオペランドの取り出し動作及びストア動作を要
求するインストラクシヨンを発生するハードウエア及び
マイクロコードを含んでいる。
【0013】IEユニツト14乃至17は、関連するキ
ヤツシユ制御、BCE20乃至23に対して、フエツチ
・コマンド、即ち取り出しコマンド、あるいはストア・
コマンドを発生することによつて取り出し動作、または
ストア動作を開始する。BCE20乃至23は、関連す
るプロセツサのキヤツシユ・デイレクトリ(PD)を持
つプロセツサのストア・イン・キヤツシユ(SIC)
と、関連するCP10乃至13によつて排他的に使用さ
れるすべてのプロセツサのキヤツシユ制御とを含んでい
る。一般に、CPはオペランドが必要とする各ダブルワ
ード(DW)単位の取り出しコマンド、またはストア・
コマンドを発生する。若し、DWを含むキヤツシユ・ラ
インがPDの中にあれば(この場合を「キヤツシユヒツ
ト」という)、DWは、コマンドに従つてキヤツシユ中
に取り出され、またはストアされる。キヤツシユのオペ
ランド取り出しヒツトに対して、ストレージ・アクセス
は、BCEの外部に行くのを必要とせずに完了される。
時々、必要とされるDWがキヤツシユ中にはないことが
ある(この場合をキヤツシユ・ミスという)。IEの取
り出しコマンド、またはストア・コマンドの実行が完了
する前に、DWは主ストレージから取り出されていなけ
ればならない。これを行なうために、BCEは、対応す
る取り出しコマンド、またはストア・ミス・コマンドを
発生し、取り出しコマンド、またはストア・ミス・コマ
ンドは、IEユニツトによつて必要とされるDWを有す
るデータのライン・ユニツトを主ストレージ50から獲
得するために、ストレージ制御エレメント(SCE)3
0を要求する。ラインの単位は、ライン領域に従つて主
ストレージ50中にストアされるが、しかし、ミスされ
たライン転送が完了する前に現在進行中のIE要求を保
持するために、必要なDWは、要求したBCEに返還さ
れるべき取り出されたライン中の最初のDWである。
【0014】SCE30はCP10乃至13と、主スト
レージ50とに接続されている。主ストレージ50は、
複数個の基本ストレージ・モジユール(BSM)のコン
トローラBSC0、BSC1、BSC2及びBSC3(BS
C51、52、53及び54)を含んでおり、基本スト
レージ・モジユールの各コントローラは、2つのBSM
0(60、62、64及び66)及びBSM1(61、
63、65及び67)で構成されている。4つのBSC
51乃至54の各々はSCE30に接続されている。
【0015】従来の多重システムにおいて、SCE30
は4つのコピー・デイレクトリ(CD)31、32、3
3及び34を含んでおり、各CDは、米国特許第439
4731号に記載されたものと同じ態様でBCEの1つ
の中の対応するプロセツサ・キヤツシユ・デイレクトリ
(PD)の内容の1つのイメージを含んでいる。ダブル
ワード幅の双方向性のデータ・バスは、主ストレージ中
の各BSM60乃至67及び対応するSCEポートの間
と、SCEポートからI/Oチヤンネル・プロセツサ4
0への間、及び対応するCP10乃至13の各々の間と
に与えられている。データ・バスと共に、制御信号とア
ドレス信号のために1組のコマンド・バスがある。CP
がDWのアクセス要求に際してキヤツシユ・ミスに遭遇
した時、そのBCEはSCE30へミス・コマンドを送
ることによつて、主ストレージに対してライン・アクセ
ス要求を開始し、SCE30は、次に、主ストレージ中
の所定のBSMに対してコマンドを再度発生する。BS
Mが動作中である場合、SCE30はコマンドの待ち行
列中にライン・アクセス要求を保持し、そして、必要と
するBSM60乃至67が利用可能になつた後でその要
求を再度発生する。また、SCE30は、通常の態様で
主ストレージのコマンドを順序付けるので、特定のBS
Mへのすべてのコマンドは、XIロジツクによつてキヤ
ツシユの競合が見出された場合を除き、先入れ先き出し
(FIFO)の順序で発生される。主ストレージの要求
を処理する通常の順序の間で、SCE30は、常に、主
ストレージの状態を監視し、保護キイの問い合わせの結
果及びすべてのキヤツシユ・デイレクトリを分析し、そ
して、SCE中に現在保持しているすべての待機中のコ
マンドの更新された状態を検査し、そしてまた、SCE
30により受け取られるようにBCE20乃至23中で
待たされているすべての新しいBCEコマンドを検査す
る。
【0016】SCE30は複数個のストア・スタツク
(SS0、SS1、SS2及びSS3)35、36、37及
び38を保持しており、各ストア・スタツクは、対応す
るCPに対して16個のDWまでの主ストレージのスト
ア要求を保持する。SCE30は、主ストレージのアド
レス及び有効性の表示のストア・スタツクのために充分
なデイレクトリ情報を保持している。ストア・スタツク
が溢れそうになつた時SCE30は、ストア・スタツク
の満杯状態を除去するSCE30からの信号をBCEが
受け取るまで、BCEからのそれ以上のストア要求の転
送を保留するために、関連するBCE20乃至23に対
して優先的な要求を送る。ストア・スタツク中のデータ
はそれに到来した順序を守りつつ適正なスケジユールで
主ストレージに対して更新さる。ストア・スタツクにお
いて、ラインに対して存在するすべてのストアが関連す
るBSM60乃至67に送られたことを、SCEが確認
するまで、CPによるライン取り出し要求はSCE30
によつて保留される。
【0017】以下に記載される本発明の実施例の説明か
ら明らかになるように、本発明は、2つ以上のSCEを
有する多重プロセツサ(MP)データ処理システムに関
する。このようなシステムにおいて、SCEは、複数の
装置を相互接続する物理的なケーブルを経て他のSCE
と通信する。このタイプの従来のシステムにおいて、ケ
ーブルの長さは、1マシン・サイクル内でSCEの間の
通信が可能なほど物理的に充分に短いものであつた。本
発明が実施される特別な環境において、ケーブルの長さ
は、システムの実装の関係で約3メートルの長さであ
る。このように長いケーブルは1マシン・サイクルの間
に相互問い合わせ要求を完全に「ストア」することにな
る。つまり、このように長いケーブルにおいては、ケー
ブルにより生じる伝播遅延が1マシン・サイクルよりも
長くなるということである。
【0018】図2は、本発明が実施される上述のような
多重プロセツサ(MP)の環境を示す図である。2つの
多重プロセツサ(MP)システム70及び72はケーブ
ル74及び76によつて相互接続されている。多重プロ
セツサ70中のストレージ制御エレメント(SCE)は
2つの部分、即ち、SCE0制御81及びSCE0制御
82を含んでいる。同様に、多重プロセツサ72の中の
ストレージ制御エレメントは、2つの部分、即ち、SC
E1制御83及びSEC1制御84を含んでいる。図示
された記号において、SCE0はMPシステムにおける
複数個のSCEの中の「マスタ」SCEを表わしてい
る。マスタSCEは、本発明の良好な実施例において実
施されたロジツクによつて優先権が与えられている。
【0019】ケーブル74及び76は夫々、SCE0制
御81及びSCE1制御84を相互接続し、SCE1制
御83及びSCE0制御82を相互接続している。SC
Eの間のケーブル74及び76は可成り長いケーブルな
ので、一方のSCE、例えばSCE0制御81によつ
て、他方のSCE1制御84へ発生された相互問い合わ
せ要求即ち、XI要求は、1マシン・サイクルの間ケー
ブル中に「ストア」され、SCE1制御84に1サイク
ル後に到達する。このために、XIの同期機構が相互問
い合わせに関して優先順序を設定する必要が生じる。
【0020】近接地及び遠隔地の両方のXI要求は、優
先順序が付けられる前に、SCEの臨時的なレジスタの
中にラツチされる。このSCEの臨時的なレジスタは、
図3において、SCE1制御84のXI要求について示
されているが、SCE0制御82の臨時的なレジスタも
同様なロジツクで実施されることは自明であろう。図3
を参照して細部を説明すると、SCE0制御81からの
遠隔地のXI要求は、臨時的なレジスタである遠隔地用
レジスタ85中にラツチされ、他方、SCE1制御83
からの近接地のXI要求は、臨時的なレジスタである近
接地用レジスタ86中にラツチされる。近接地のXI要
求は、近接地の遅延レジスタ87の中に1サイクルの間
ストアされる。近接地用レジスタ86及び近接地の遅延
レジスタ87の内容は同期制御ロジツク89の制御の下
でセレクタ88によつて選択される。
【0021】近接地からのXI要求が、近接地用レジス
タ86からではなく、近接地の遅延レジスタ87から選
択されるのは以下の2つの場合である。遠隔地からのX
I要求が近接地からのXI要求よりも1マシン・サイク
ルだけ早く発生される時には、同期制御ロジツク89
は、近接地の遅延レジスタ87を選択する。また、近接
地及び遠隔地からのXI要求の両方が同時に発生された
場合であつて、遠隔地からの要求がマスタSCE0、8
1からの要求である場合には、同期制御ロジツク89
は、近接地の遅延レジスタ87を選択する。
【0022】相互問い合わせ(XI)の同期を制御する
ロジツク89の動作は、図5の流れ図に示されている。
この流れ図は、遠隔地のSCEからのXI要求が1マシ
ン・サイクル遅延された時に必要とされるロジツクを示
している。図5の流れ図に示した決定ブロツク90にお
いて、このロジツクは、XI要求が遠隔地のSCEから
1マシン・サイクル早く受け取られたか否かを検出す
る。図3に示したSCE1制御84の場合、遠隔地用レ
ジスタ85は遠隔地のSCEのXI要求をラツチするレ
ジスタだから、このロジツクは、遠隔地用レジスタ85
を監視する。若し、XI要求が遠隔地のSCEから1マ
シン・サイクル早く受け取られたのならば、決定ブロツ
ク92において、ロジツクは、近接地からのXI要求が
受け取られているか否かをチエツクする。図3に示した
SCE1制御84の場合において、ロジツクは、近接地
のXI要求をラツチするレジスタである近接地用レジス
タ86を監視する。若し、決定ブロツク90と、決定ブ
ロツク92との両方が、肯定的な結果を示したならば、
決定ブロツク94において、遅延レジスタ87の内容が
選択され、これにより、遠隔地からのXI要求に優先権
が与えられる。
【0023】図5の流れ図に示された他方の分岐路は、
遅延レジスタ87が選択される他の状態があることを示
している。決定ブロツク96において、ロジツクは、遠
隔地からのXI要求が受け取られたか否かを決定するた
めのチエツクを行ない、若し、遠隔地からのXI要求が
受け取られていれば、決定ブロツク98において、ロジ
ツクは近接地のXI要求が受け取られているか否かをチ
エツクする。若し、決定ブロツク96及び98の両方の
結果が肯定的ならば、両方のXI要求の間で競合が生じ
るので、優先権の問題を解決しなければならない。従つ
て、決定ブロツク100において、遠隔地からのXI要
求がマスタSCE0からの要求であるか否かを決定する
次のテストが行なわれ、若し、マスタSCE0からの要
求であれば、近接地用レジスタ86の内容ではなく、近
接地の遅延レジスタ87の内容が選択され、これにより
SCE0制御81から受け取つた遠隔地のXI要求に優
先権が与えられる。決定ブロツク100において、若
し、マスタSCE0からの要求ではないことが決定され
たならば、ブロツク95において、近接地からのXI要
求に優先権が与えられる。
【0024】図3に戻つて説明を続けると、XIの同期
制御ロジツク89は、相互問い合わせ(XI)優先権制
御ロジツク101も制御する。このロジツクは、セレク
タ88の出力か、または遠隔地用のレジスタ85の内容
かのいずれかを選択する。図4のロジツクによつて示し
た2つの状態を除いて、優先権制御ロジツク101は、
通常、セレクタ88の出力を選択し、これは転じて、近
接地用レジスタ86の内容を選択する。
【0025】図3及び図5は、遠隔地からのXI要求が
1マシン・サイクルだけ遅延される場合における本発明
の実施例を説明するための図であるけれども、図4は、
遠隔地からのXI要求が2マシン・サイクルの間だけ遅
延される時に必要とされるロジツクを示している。既に
説明したように、遠隔地のSCEからのXI要求は、2
マシン・サイクルの場合を示したこの実施例において、
ある時間の間ケーブルの中にストアされる。臨時の同期
を行なうために、近接地からのXI要求は、2マシン・
サイクルまで遅延レジスタの中にストアされなければな
らない。この処理を行なうことが、図4の遅延レジスタ
110を付加した目的である。
【0026】付加された遅延レジスタ110は、遠隔地
ケーブルの長さ74及び76によつて発生される付加的
なマシン・サイクルによる伝播遅延を与えるように、図
4のロジツク中に付加されなければならない。各遅延レ
ジスタは、近接地からのXI要求が処理のために選択さ
れるまで、後続の遅延レジスタ中にその内容を従続して
(カスケード)並べる。図5に示した流れ図は、2つの
マシン・サイクルの遅延と実質的には同じ処理を示す。
同期を保証するために、少なくとも1マシン・サイクル
の間、近接地のXI要求毎に付加的な遅延ステツプを取
ることだけが異なつている。
【0027】本発明の相互問い合わせ(XI)同期ロジ
ツクによつて、走査オフの後に走査オンにするサイクル
のシユミレーシヨンが行なわれる。本発明のXI要求の
同期機構は、相互問い合わせ要求の競合に関して効果的
な優先順序付けをするので、XI要求はより早く完了さ
れる。
【0028】以上、本発明の実施例について説明した
が、当業者であれば図示し説明された実施例に幾多の自
明な変更を施すことができる。例えば、上述の実施例は
2つのSCEを持つ例を説明したが、多重プロセツサの
システムの大きさ及び他の要件に応じて、2つ以上のS
CEを用いるような実施例の変更は自明な変更である。
そのようなシステムにおいて、別個の臨時レジスタ85
が各遠隔地のSCEに与えられる。加えて、ケーブル7
4及び76により生じる伝播遅延は1マシン・サイク
ル、あるいは2マシン・サイクル以上でもよく、3マシ
ン・サイクル以上の場合には、本発明に従つて、複数個
の遅延レジスタ87が従属接続される。
【0029】
【発明の効果】本発明は、1マシン・サイクル内で相互
問い合わせ要求を受け取ることができないほど長いケー
ブルによつて、ケーブル内の伝播遅延が生じる多重プロ
セツサ・システムにおいて、複数の相互問い合わせ要求
の間で生じる競合に対して、効果的な優先順序を与え
る。
【図面の簡単な説明】
【図1】ストレージ制御エレメントの動作を説明するた
めの代表的な多重プロセツサ・システムのブロツク図で
ある。
【図2】多重プロセツサ・システムにおいて2つのスト
レージ制御エレメントを示す高レベルのブロツク図であ
る。
【図3】本発明に従つたストレージ制御エレメントの1
つのための相互問い合わせの同期ロジツクを示すブロツ
ク図である。
【図4】2マシン・サイクルの間遅延された遠隔地の相
互問い合わせ要求を調整することのできる相互問い合わ
せの同期ロジツクを示すブロツク図である。
【図5】本発明の相互問い合わせ要求の同期ロジツクの
動作を説明するための流れ図である。
【符号の説明】
10乃至13 中央プロセツサ(CP) 14乃至17 インストラクシヨン実行ユニツト(I
E) 20乃至23 バツフア制御ユニツト(BCE) 30 ストレージ制御エレメント(SCE) 31乃至34 コピー・デイレクトリ(CD) 35乃至38 ストア・スタツク(SS) 40 チヤンネル 50 主ストレージ(MS) 51乃至54 基本ストレージ・モジユールのコントロ
ーラ(BSC) 60乃至67 基本ストレージ・モジユール(BSM) 70、72 多重プロセツサ・システム 74、76 ケーブル 81乃至84 SCE制御 85 遠隔地用レジスタ 86 近接地用レジスタ 87、110 遅延レジスタ 88 セレクタ 89 同期制御ロジツク 101 問い合わせ要求の優先権制御ロジツク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リンダ・リゴールト・クイン アメリカ合衆国ユューヨーク州、レッド・ フック、スロー・ブルバード 1番地 (72)発明者 ラッセル・エバン・シュローター アメリカ合衆国ニューヨーク州、キングス トン、ステファン・ストリート 14番地

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 各ストレージ制御エレメントは近接地用
    レジスタと、少なくとも1つの遠隔地用レジスタと、少
    なくとも1つの遅延レジスタとを有し、問い合わせ要求
    が少なくとも1マシン・サイクルの伝播遅延により遅延
    される通信リンクを介して相互接続された複数個の上記
    ストレージ制御エレメントを含む多重プロセツサ・シス
    テムにおける相互問い合わせ要求に優先権を与える方法
    において、 上記近接地用及び上記遠隔地用レジスタ中に近接地から
    の相互問い合わせ要求及び遠隔地からの相互問い合わせ
    要求をラツチすることと、 上記近接地用レジスタの内容を上記遅延レジスタの中に
    ラツチすることと、 遠隔地の要求が近接地の要求の前の少なくとも1マシン
    ・サイクル以前に発生した時には、上記遠隔地用レジス
    タの内容を選択し、次に、上記遅延レジスタの内容を選
    択して、上記遠隔地の要求に優先権を与えることとから
    なる相互問い合わせ要求に優先権を与える方法。
  2. 【請求項2】 上記ストレージ制御エレメントの1つが
    マスタ・ストレージ制御エレメントとして指定された相
    互問い合わせに優先権を与える方法であつて、 同じマシン・サイクルの間で、上記近接地用レジスタ及
    び遠隔地用レジスタ中の近接地からの相互問い合わせ要
    求及び遠隔地からの相互問い合わせ要求が同一マシン・
    サイクルでラツチされたかどうかを検出することと、 遠隔地の相互問い合わせ要求が上記マスタ・ストレージ
    要求エレメントからの問い合わせ要求である時には、上
    記遠隔地用レジスタの内容を選択し、次に遅延レジスタ
    からの内容を選択して、上記遠隔地の要求に優先権を与
    えることとを含むことを特徴とする請求項1に記載の相
    互問い合わせ要求に優先権を与える方法。
  3. 【請求項3】 上記遠隔地の相互問い合わせ要求の内の
    少なくとも1つの要求が1マシン・サイクルよりも多く
    遅延し、上記ストレージ制御エレメントが複数のマシン
    ・サイクルに対応する複数個の従属接続された遅延レジ
    スタを有し、遅延レジスタにより、上記遠隔地の相互問
    い合わせ要求の上記少なくとも1つの要求が遅延される
    ような、相互問い合わせ要求の優先権を与える方法であ
    つて、各遅延レジスタの内容を後続する遅延レジスタの
    中に従属的に入力することと、 上記遠隔地の要求の内の上記少なくとも1つの要求に生
    じた遅延分の複数のマシン・サイクルに相当する数の整
    数分以下、近接地の要求の出力を遅延させるために、従
    属接続された複数個の遅延レジスタの内の少なくとも1
    つのレジスタの内容を出力することとを含むことを特徴
    とする請求項1に記載の相互問い合わせ要求に優先権を
    与える方法。
  4. 【請求項4】 相互問い合わせ要求が少なくとも1マシ
    ン・サイクルの遅延を持つ通信リンクによつて相互接続
    されている複数個のストレージ制御エレメントを含む多
    重プロセツサ・システムにおける相互問い合わせ要求に
    優先権を与える装置において、 各ストレージ制御エレメント内の近接地用レジスタ、少
    なくとも1つの遠隔地用レジスタ及び少なくとも1つの
    遅延レジスタと、 上記近接地用レジスタ及び遠隔地用レジスタ中に、それ
    ぞれ近接地及び遠隔地の相互問い合わせ要求をラツチす
    る手段と、 上記近接地用レジスタの内容を上記遅延レジスタの中に
    ラツチする手段と、 近接地の要求の前の少なくとも1マシン・サイクル以前
    に遠隔地の要求が発生された時に、上記遠隔地用レジス
    タの内容を選択し、次に、上記遅延レジスタの内容を選
    択して、上記遠隔地の要求に優先権を与えるロジツク手
    段とを含む相互問い合わせ要求に優先権を与える装置。
  5. 【請求項5】 上記ストレージ制御エレメントの1つ
    は、マスタ・ストレージ制御エレメントとして指定され
    た多重プロセツサ・システムにおける相互問い合わせ要
    求に優先権を与える装置において、 同じマシン・サイクルの間で、上記近接地用レジスタ及
    び上記遠隔地用レジスタ中の近接地及び遠隔地の相互問
    い合わせ要求のラツチが同一マシン・サイクルでなされ
    たかどうかを決定する手段と、 遠隔地の相互問い合わせ要求が上記マスタ・ストレージ
    制御エレメントからの要求である時に、上記遠隔地用レ
    ジスタの内容を選択し、次に上記遅延レジスタからの内
    容を選択して、上記遠隔地の要求に優先権を与えるロジ
    ツク手段とを含むことを特徴とする請求項4に記載の相
    互問い合わせ要求に優先権を与える装置。
  6. 【請求項6】 上記遠隔地の相互問い合わせ要求の内の
    少なくとも1つは、1マシン・サイクルよりも大きく遅
    延することと、上記ストレージ制御エレメントは、複数
    のマシン・サイクルに対応するカスケード接続された複
    数個の遅延レジスタを有することと、上記遠隔地の相互
    問い合わせ要求の上記少なくとも1つの要求は、遅延レ
    ジスタにより遅延されることと、各遅延レジスタの内容
    は、次の遅延レジスタにカスケードされることと、カス
    ケード接続された上記複数個の遅延レジスタの少なくと
    も1つの内容は、上記遠隔地の要求の内の上記少なくと
    も1つを発生してから受け取るまでのマシン・サイクル
    数に対応する整数によつて、近接地の要求を段付けする
    よう選択するための出力であることとを含むことを特徴
    とする請求項4に記載の相互問い合わせ要求に優先権を
    与える装置。
JP4228126A 1991-09-05 1992-08-27 相互問い合わせ要求に優先権を与える方法及び装置 Expired - Lifetime JPH0680503B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/755,236 US5361368A (en) 1991-09-05 1991-09-05 Cross interrogate synchronization mechanism including logic means and delay register
US755236 1991-09-05

Publications (2)

Publication Number Publication Date
JPH05216794A true JPH05216794A (ja) 1993-08-27
JPH0680503B2 JPH0680503B2 (ja) 1994-10-12

Family

ID=25038271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4228126A Expired - Lifetime JPH0680503B2 (ja) 1991-09-05 1992-08-27 相互問い合わせ要求に優先権を与える方法及び装置

Country Status (3)

Country Link
US (1) US5361368A (ja)
EP (1) EP0531004A2 (ja)
JP (1) JPH0680503B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100263030B1 (ko) * 1996-01-26 2000-08-01 윤종용 중앙처리장치 구동 주파수 자동 선택 장치 및 그 제어방법
US5787477A (en) * 1996-06-18 1998-07-28 International Business Machines Corporation Multi-processor cache coherency protocol allowing asynchronous modification of cache data
US6055607A (en) * 1996-12-23 2000-04-25 Unisys Corporation Interface queue with bypassing capability for main storage unit
US7098924B2 (en) * 2002-10-19 2006-08-29 Via Technologies, Inc. Method and programmable device for triangle interpolation in homogeneous space
US8032709B2 (en) * 2008-02-22 2011-10-04 International Business Machines Corporation System, method and computer program product for handling shared cache lines in a multi-processor environment
US8930627B2 (en) 2012-06-14 2015-01-06 International Business Machines Corporation Mitigating conflicts for shared cache lines

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4654778A (en) * 1984-06-27 1987-03-31 International Business Machines Corporation Direct parallel path for storage accesses unloading common system path
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
US5175826A (en) * 1988-05-26 1992-12-29 Ibm Corporation Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5130922A (en) * 1989-05-17 1992-07-14 International Business Machines Corporation Multiprocessor cache memory system using temporary access states and method for operating such a memory
US5197139A (en) * 1990-04-05 1993-03-23 International Business Machines Corporation Cache management for multi-processor systems utilizing bulk cross-invalidate

Also Published As

Publication number Publication date
EP0531004A3 (ja) 1994-03-02
JPH0680503B2 (ja) 1994-10-12
EP0531004A2 (en) 1993-03-10
US5361368A (en) 1994-11-01

Similar Documents

Publication Publication Date Title
US6480927B1 (en) High-performance modular memory system with crossbar connections
EP0283628B1 (en) Bus interface circuit for digital data processor
US7076597B2 (en) Broadcast invalidate scheme
US5375215A (en) Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
US6029204A (en) Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries
KR100286962B1 (ko) 캐쉬 제어기
JP3729891B2 (ja) マルチプロセッサコンピュータシステム
JP2002510079A (ja) メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置
JPH11282821A (ja) 同時トランザクションを依存性で管理するための低占有度プロトコル
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
JPH0743670B2 (ja) ストアスルーキャッシュ管理システム
US20060064518A1 (en) Method and system for managing cache injection in a multiprocessor system
JPH02166539A (ja) フェッチ方法
US5659707A (en) Transfer labeling mechanism for multiple outstanding read requests on a split transaction bus
US5835714A (en) Method and apparatus for reservation of data buses between multiple storage control elements
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
US6546465B1 (en) Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US20060200633A1 (en) Address snoop method and multi-processor system
JP2746530B2 (ja) 共有メモリマルチプロセッサ
US4964042A (en) Static dataflow computer with a plurality of control structures simultaneously and continuously monitoring first and second communication channels
JPH06119297A (ja) データ処理システムにおける命令の実行順序を決定する方法および装置
JPH05216794A (ja) 相互問い合わせ要求に優先権を与える方法及び装置
JP2001109662A (ja) キャッシュ装置及び制御方法
US5638538A (en) Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus