JPH0748197B2 - データ・バスを確保する方法 - Google Patents

データ・バスを確保する方法

Info

Publication number
JPH0748197B2
JPH0748197B2 JP4228140A JP22814092A JPH0748197B2 JP H0748197 B2 JPH0748197 B2 JP H0748197B2 JP 4228140 A JP4228140 A JP 4228140A JP 22814092 A JP22814092 A JP 22814092A JP H0748197 B2 JPH0748197 B2 JP H0748197B2
Authority
JP
Japan
Prior art keywords
data
data bus
bus
storage control
sce
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.)
Expired - Lifetime
Application number
JP4228140A
Other languages
English (en)
Other versions
JPH05242022A (ja
Inventor
ロバート・ドブ・ハーツル
ダビッド・アンドリュー・シュローター
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 JPH05242022A publication Critical patent/JPH05242022A/ja
Publication of JPH0748197B2 publication Critical patent/JPH0748197B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、他のプロセツサからの
相互問い合わせ(cross interrogate-XI)要求を夫々
のプロセツサが調整しなければならない多重プロセツサ
(MP)のデータ処理システムに係る。詳細に言えば、
データ・バスの確保(reservation)を要求する要求源
のストレージ制御エレメント(SCE)が、1マシン・
サイクルよりも長い伝播遅延を生じる距離で互に離隔し
ている場合、データ・バスを留保する複数の要求の間で
の優先問題を解決するために有効な技術に関する。更に
具体的に言えば、本発明は、データ・バスの確保を要求
する2つの要求源が、2つの双方向性データ・バスの内
の一方のデータ・バスを確保するのに競合した場合の優
先問題を解決する方法に関する。本発明の基本的な技術
は、複数の要求源が複数個のデータ・バスを確保しよう
とすることに関する技術である。
【0002】
【従来の技術】別個のプロセツサ中で同時に実行するこ
とのできる動作を並列に遂行することによつてスループ
ツトを向上するような高性能の多重プロセツサ(MP)
のコンピユータ・システムが開発されている。MPコン
ピユータ・システムにおける各中央プロセツサ(CP)
は独立して並列に動作するが、データを交換する必要が
生じた時には、プロセツサ相互間、または主ストレージ
(MS)とプロセツサの間で通信を行なう。CP及びM
Sは、データを交換するために接続される入/出力(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)は、主ストレージ(M
S)のストア要求を待ち行列にして、適当なストア・ス
タツクを維持し、そして、バツフア制御エレメント(B
CE)と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の間の接続は、双方向性のデータ・バスを与える
ケーブルを通して行なわれている。例えば、2つのSC
Eを有するMPシステムのためには、2つのSCEの間
に2つの双方向性の(BIDI)データ・バスがある。
SCEの間の物理的な接続が長い非常に大型のMPシス
テムの場合には、物理的なパツケージ制限のために、S
CEが同じマシン・サイクルで相互に通信することがで
きないのに反して、従来のマシンにおけるSCEの間の
ケーブルは、1つのSCEによつて発生された要求及び
データが同じマシン・サイクルで他のSCEに到達する
ような短い長さであつた。この問題に対する他の原因
は、最近のMPシステムのプロセツサのクロツク速度が
高速になつたことである。これらの高いクロツク速度
は、データ・バスを確保する複数の要求を、従来のマシ
ンでは1マシン・サイクルの間で通信できるほど充分に
短いケーブルであつてさえも、マシン・サイクル中で大
きな伝播遅延を生じることを意味する。BIDIバスを
通る通信は、要求源のSCEによりいずれか一方のバス
を確保することによつて行なわれる。然しながら、プロ
セツサの間の通信が1マシン・サイクルよりも長い伝播
遅延を生じる時には、ケーブルの長さによつて生じた伝
播遅延は、SCEの間の通信に問題を生じる。特に、B
IDIバスの確保を要求する優先権の競合を解決する問
題がある。通信を1マシン・サイクルで達成することの
できないような大型のマシンにおいては、データ・バス
の確保を要求する複数の要求に対して優先権を付与する
問題を効果的に解決する技術が必要である。
【0010】
【発明が解決しようとする課題】本発明の目的は、デー
タ・バスの確保を要求する要求源の間の通信を1マシン
・サイクルで達成することができない場合において、複
数の要求源の間における双方向性のデータ・バスを効率
的に確保するシステムを提供することにある。
【0011】
【課題を解決するための手段】本発明に従つて、データ
・バスの確保を要求する各要求源には、他のデータ・バ
スの確保を試行する前に、その要求源が確保しようと試
みなければならないデイフオルト・データ・バスが割り
当てられる。若し、デイフオルト・データ・バスが利用
可能でなければ、バスの確保を要求する要求源は、デー
タ・バスが利用可能になり、トークンが要求源に転送さ
れることとを待たなければならない。トークンは、要求
源が利用可能なデータ・バスを確保する優先権を持つた
ことを知らせる。トークンは各マシン・サイクルに要求
源の間を循環する。
【0012】良好な実施例において、バスの確保を要求
する2つの要求源の各々はデイフオルト・データ・バス
を割り当てられ、この割り当てに従つて、いずれか一方
の要求源が「マスタ」モードにされ、他方の要求源が
「スレーブ」モードにされる。マスタ・モードにある要
求源はデイフオルトによつて第1のデータ・バスを割り
当てられ、他方、スレーブ・モードにある要求源はデイ
フオルトによつて第2のデータ・バスを割り当てられ
る。各要求源は、それら自身の優先権制御ロジツク及び
他の要求源の優先権制御ロジツクからデータ・バスの確
保を要求する。両方のデータ・バスが利用可能な場合に
は、優先権制御ロジツクは、両方の要求源にそのデイフ
オルト・データ・バスを自由に確保させる。若し、デー
タ・バスが1つだけしか利用できなければ、要求源は、
トークンが転送されることによつて、利用可能なデータ
・バスを確保する優先権を持つたことをその要求源に通
知されるまで、待機しなければならない。トークンは各
マシン・サイクル毎に2つの要求源の間で循環される。
トークンは、要求源の間の同期を維持するために、「マ
スタ」モードにある要求源によつて制御される。
【0013】更に、本発明は簡単なエラー検査回路を与
える。バスの確保を要求する要求源の優先権制御ロジツ
クは1つの要求源によつて受け取られた確保が、確認信
号によつて確認される。エラー検査回路は、要求源の間
の遅延を考慮に入れて、1つの要求源によるデータ・バ
スの確保と、他の要求源からの確認とを相関させる簡単
な比較ロジツクを使用する。
【0014】
【実施例】図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中のオペランドの取り出し動作及びストア動作を要
求するインストラクシヨンを発生するハードウエア及び
マイクロコードを含んでいる。
【0015】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)30に要求す
る。ラインの単位は、ライン境界の所で主ストレージ5
0中に見い出されるが、しかし、ミスされたライン転送
が完了するまではIE要求を進行状態に保持するため
に、必要なDWは、要求したBCEに返還されるべき取
り出されたライン中の最初のDWである。
【0016】SCE30はCP10乃至13と、主スト
レージ50とに接続されている。主ストレージ50は、
複数個の基本ストレージ・モジユール(BSM)のコン
トローラBSC0、BSC1、BSC2及びBSC3(BS
C51、52、53及び54)を含んでおり、基本スト
レージ・モジユールの各コントローラは、2つのBSM
0(60、62、64及び65)及びBSM1(61、
63、65及び67)で構成されている。4つのBSC
51乃至54の各々はSCE30に接続されている。
【0017】従来の多重システムにおいて、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に対して、コマンドを再度発生する。
BSMが動作中である場合、SCE30はコマンドの待
ち行列中にラインのアクセス要求を保持し、そして、必
要とするBSM60乃至67が利用可能になつた後でラ
インのアクセス要求を再度発生する。また、SCE30
は、通常の態様で主ストレージのコマンドを順序付ける
ので、特定のBSMへのすべてのコマンドは、XIロジ
ツクによつてキヤツシユの競合が見出された場合を除
き、先入れ先き出し(FIFO)の順序で発生される。
主ストレージの要求を処理する通常の順序の間で、SC
E30は、常に、主ストレージの状態を監視し、保護キ
イの問い合わせの結果及びすべてのキヤツシユ・デイレ
クトリを分析し、そして、SCE中に現在保持している
すべての待機中のコマンドの更新された状態を検査し、
そしてまた、SCE30により受け取られるようにBC
E20乃至23中で待たされているすべての新しいBC
Eコマンドを検査する。
【0018】SCE30は複数個のストア・スタツク
(SS0、SS1、SS2及びSS3)35、36、37及
び38を保持しており、各ストア・スタツクは、対応す
るCPに対して16個のDWまでの主ストレージのスト
ア要求を保持する。SCE30は、主ストレージのアド
レス及び有効性の表示のストア・スタツクのために充分
なデイレクトリ情報を保持している。ストア・スタツク
が溢れそうになつた時SCE30は、ストア・スタツク
の満杯状態を除去するSCE30からの信号をBCEが
受け取るまで、BCEからのそれ以上のストア要求の転
送を保留するために、関連するBCE20乃至23に対
して優先的な要求を送る。ストア・スタツク中のデータ
はそれに到来した順序を守りつつ適正なスケジユールで
主ストレージに対して更新される。ストア・スタツクに
おいて、ラインに対して存在するすべてのストアが関連
するBSM60乃至67に送られたことを、SCEが確
認するまで、CPによるライン取り出し要求はSCE3
0によつて保留される。
【0019】以下に記載される説明によつて理解される
ように、本発明は2つ以上のSCEを必要とするような
多重プロセツサ・システムに関連している。そのような
システムにおいて、上述したような機能を遂行するため
相互に通信するためのSCEが必要である。ある種の大
型の高性能のMPシステムにおいては、物理的なパツケ
ージの制限によつて、SCEは、同じマシン・サイクル
内で相互に通信することを妨害される。この通信遅延
は、ケーブルの長さによつて発生し、そして、データ・
バスを確保するための優先方式を必要とする。
【0020】図2は、SCE0及びSCE1で示された
2つのSCE70及び71を用いた多重プロセツサ(M
P)システムを示している。SCE70はバツフア制御
エレメント(BCE)72及び73、通信チヤンネル
(CC)74及び基本ストレージ・モジユール制御(B
SC)75及び76と通信し、そして、SCE71はB
CE77及び78、CC79及びBSC80及び81と
通信する。SCE70及び71は2つの双方向性バス8
2及び83により相互接続され、これにより、各SCE
によつてすべてのBCE、BSC及びCCを効果的に通
信させる。
【0021】従来のマシンにおいて、SCE70から送
られた信号は、同じマシン・サイクルにおいてSCE7
1によつて受け取ることができる。2つのSCEの間の
データ・バスの確保は、両側から要求される双方向性バ
スの確保要求を1サイクル毎のベースでデコードする優
先権制御ロジツクによつて行なわれる。
【0022】本発明が実施されるマシンにおいては、S
CE70及びSCE71は同じマシン・サイクルの間で
は相互に通信することができない。これは、システムの
物理的なパツケージの制限に起因している。2つのSC
Eの間のケーブルは3メートルの長さである。従つて、
SCEの間のすべての信号は、ケーブルの中で、最小限
1マシン・サイクルを費す。
【0023】図3は本発明に従つたBIDIの確保制御
回路のブロツク図を示す。この実施例において、SCE
70及びSCE71を相互接続する2つのBIDIデー
タ・バス82及び83がある。SCEのいずれか一方
は、「マスタ」と呼ばれ、他方は「スレーブ」と呼ばれ
る。この実施例の説明を簡単にするために、マスタSC
Eは、SCE0と表示されたSCE70とし、スレーブ
SCEはSCE1と表示されたSCE71とするが、こ
の関係を反対にすることができるのは容易に理解できる
であろう。
【0024】各SCEには双方向性(BIDI)バスの
優先権制御ロジツクが与えられている。図3において、
SCE0のBIDIバスの優先権制御ロジツク91は、
SCE70から、BIDIバスを確保するための要求を
受け取り、そして、バス82及び83の状態を通知す
る。同様に、SCE1のBIDIバスの優先権制御ロジ
ツク92は、SCE71から、BIDIバスを確保する
ための要求を受け取り、そして、バス82及び83の状
態を通知する。加えて、BIDIバスの優先権制御ロジ
ツク91はBIDIバスの優先権制御ロジツク92へ通
知し、バス82及び83の状態を受け取り、かつ、BI
DIバスの優先権制御ロジツク92はBIDIバスの優
先権制御ロジツク91へ通知し、バス82及び83の状
態を受け取るように、2つのSCEは相互に通信する。
【0025】BIDIの優先権制御ロジツク91と関連
してトークン制御ロジツク93があり、そして、対応す
るトークン制御ロジツク94はBIDIの優先権制御ロ
ジツク92と関連されている。トークン制御ロジツク9
3は、BIDIバスの優先権制御ロジツク91及び92
の両方と通信する。トークン制御ロジツク94も同じよ
うに優先権制御ロジツク91及び92と通信する。優先
権制御ロジツク91及び優先権制御ロジツク92の両方
のロジツクはトークン制御ロジツクに関連しているが、
マスタ・モードにある優先権制御ロジツクのトークン制
御ロジツクのみが動作し、これによりSCEの間の同期
を保証する。また、BIDIバスの優先権制御ロジツク
91と関連してエラー検査ロジツク95があり、対応す
るエラー検査ロジツク96はBIDIバスの優先権制御
ロジツク92と関連している。
【0026】マスタ・モードにあるSCEは、先ずBI
DIバス82を確保することを試行し、そして、次にB
IDIバス83を確保することを試行する。反対に、ス
レーブ・モードにあるSCEは、先ずBIDIバス83
の確保を試行し、そして、次にBIDIバス82の確保
を試行する。これは、BIDIバスを確保する時に、S
CE間の競合の可能性を減少するために行なわれる。こ
の実施例の場合、SCE0、即ちSCE70はマスタで
あるから、BIDIバス83の確保を試行する前にBI
DIバス82の確保を試行し、そして、SCE71はB
IDIバス82の確保を試行する前にBIDIバス83
の確保を試行する。
【0027】SCEは、与えられた1マシン・サイクル
の間で、BIDIバスを確保する要求を1つだけしか要
求することができない。若し、2つのBIDIバス82
及び83が利用可能ならば、SCEは、そのデイフオル
トBIDIバスを確保する要求を任意の時にすることが
できる。若し、ただ1つのBIDIバスが利用可能なら
ば、SCEは、そのバスがデイフオルト・バスであつて
も、あるいは他のバスであつても、BIDIバスを確保
するためには、トークンを受け取るまで待機しなければ
ならない。トークンは、1マシン・サイクル毎にSCE
70及び71の間で切り換り、マスタ・モードにあるS
CEのトークン制御ロジツク93、または94によつて
制御される。図3に示した2つのSCEによる簡単な実
施例においては、トークン制御ロジツクは各マシン・サ
イクル毎に切り換る単純なフリツプ・フロツプ回路であ
る。3個、または4個のSCEに対しては、トークン制
御ロジツクは例えば2段カウンタであつてよい。代案と
して、トークン制御ロジツクはリング・カウンタの形式
を取つてもよい。3個以上のSCEの場合にも各SCE
は他のSCEの各々と2つのBIDIバスで互いに接続
される。
【0028】図4はBIDIバスの優先権制御ロジツク
の流れ図である。若し、データ・バス82及び83の両
方が利用可能ならば(決定ボツクス100)、ロジツク
は、バスの確保要求をしたSCEがマスタSCEか、ス
レーブSCEかを判断する。この判断の結果、そのSC
Eのデイフオルト・データ・バスが確保される。バスの
確保要求が行なわれた時に、若し、両方のデータ・バス
が利用可能でなければ、ロジツクは、利用可能なデータ
・バスがあるか否かを検査する(ボツクス120)。若
し、現在、利用可能なバスがなければ、要求源は、バス
が利用可能になり、要求源がトークンを保持するまで待
機しなければならない。若し、バスの確保要求が行なわ
れた時に少なくとも1つのデータ・バスが利用可能なら
ば、ロジツクは、要求源が現在トークンを保持している
か否かを検査する(ボツクス150)。若し、バスの確
保要求源がトークンを保持していなければ、その要求
は、トークンが要求源に転送される次のマシン・サイク
ルまで待機しなければならない(ボツクス170)。若
し、1つのバスが利用可能であり、かつ、要求源がトー
クンを持つていれば、そのデータ・バスは要求源によつ
て確保される(ボツクス160)。
【0029】若し、SCEが同じマシン・サイクルでB
IDIバス確保要求の受信、送信が競合したならば、S
CEはバスの確保要求の受信を優先する。つまり、BI
DIバスの優先権制御ロジツク91、または92によつ
て、バスの確保要求を受け取るための優先権が与えられ
るということである。2つのSCEの間の接続線は、バ
スの確保要求を1マシン・サイクルの間、効果的に「ス
トア」する、即ち遅延するので、SCEによつて受け取
られた確保要求は、より以前のサイクルにおいて他のS
CEにより転送されたものであり、時間的に早い順序に
あるためである。
【0030】BIDIバスの優先権制御ロジツク91及
び92が両方のSCEに適正に動作するのを保証するた
めに、エラー検査ロジツク95及び96が、BIDIバ
スの優先権制御ロジツクによつて転送されたBIDIバ
スの状態を検査する。エラー検査ロジツク95及び96
は単純な比較ロジツクによつて実行される。BIDIバ
ス確保要求が他のSCEから受け取られた時には、バス
が確保されたことを確認する信号が要求SCEに送り戻
される。確保信号及び確認信号は、SCEの間の遅延を
考慮に入れて比較される。これは、システムの両側の優
先権制御ロジツクが同じ決定をすることを保証するため
に行なわれる。若し、エラーがエラー検査ロジツク9
5、または96で検出されたならば、エラー信号が対応
するSCEのエラー・ロジツクに送られる。
【0031】以上、本発明の1実施例について説明して
きたが、本発明の技術的思想の範囲内で、当業者によつ
て、この実施例に種々の変更を施すことができる。例え
ば、実施例においては、2つのSCEと2つの双方向デ
ータ・バスとを用いたが、本発明の技術思想の範囲内
で、当業者は2以上のSCE、あるいは、2以上の双方
向データ・バスを持つシステムに容易に拡張することが
できる。
【0032】
【発明の効果】本発明は、双方向性のデータ・バスによ
つてストレージ制御エレメント相互の通信を行なう大型
の多重プロセツサのデータ処理システムにおいて、通信
を1マシン・サイクルの間で達成することができない場
合に、データ・バスの確保要求の競合の問題を効果的に
解決することができる。
【図面の簡単な説明】
【図1】本発明が実施例される多重プロセツサ・システ
ムのブロツク図である。
【図2】4路の多重プロセツサ・システムを示すブロツ
ク図である。
【図3】本発明を適用した双方向性バスを確保する優先
権の制御を説明するためのブロツク図である。
【図4】双方向性バスの確保システムのための優先権制
御ロジツクを説明するための流れ図である。
【符号の説明】
10乃至13 中央プロセツサ(CP) 14乃至17 インストラクシヨン実行ユニツト(I
E) 20乃至23、72、73、77、78 バツフア制御
ユニツト(BCE) 30、70、71 ストレージ制御エレメント(SC
E) 31乃至34 コピー・デイレクトリ(CD) 35乃至38 ストア・スタツク(SS) 40 I/Oチヤンネル・プロセツサ 50 主ストレージ(MS) 51乃至54、75、76、80、81 基本ストレー
ジ・モジユールのコントローラ(BSC) 60乃至67 基本ストレージ・モジユール(BSM) 74、79 通信チヤンネル 82、83 双方向性バス 91、92 優先権制御ロジツク 93、94 トークン制御ロジツク 95、96 エラー検査ロジツク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダビッド・アンドリュー・シュローター アメリカ合衆国ニューヨーク州、ワッペン ジー・フォールス、ダニエル・サビア・ド ライブ 2番地

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数個のストレージ制御エレメントを相互
    接続する複数個のデータ・バスを含み、上記ストレージ
    制御エレメントの各々にそれぞれ異なるデイフオルト・
    データ・バスが割り当てられており、ストレージ制御エ
    レメントから他のストレージ制御エレメントにマシン・
    サイクル毎にトークンを渡すトークン制御ロジックが上
    記ストレージ制御エレメントの各々に備えられている多
    重プロセツサのデータ処理システムにおいて、前記スト
    レージ制御エレメント間のデータ転送に1マシンサイク
    ル以上の遅延が生じる場合に、データを転送するデータ
    ・バスを確保する方法において、 要求源である1つのストレージ制御エレメントからデー
    タを転送するための要求を検出することと、 上記複数個のデータ・バスのすべてが利用可能である
    時、上記要求されたデータを伝送するために上記要求源
    のデイフオルト・データ・バスを確保することと、 若し、上記複数個のデータ・バスのすべてが利用可能で
    あるのでなければ、上記トークンが上記要求源に与えら
    れるまで、上記データ・バスの確保の試みを禁止するこ
    とと 上記要求源が上記トークンを受け取ったとき、先ず該要
    求源のデイフオルト・データ・バスを確保することを試
    み、該デイフオルト・データ・バスが利用可能でなけれ
    ば次に代替のデータ・バスを確保することを試みること
    と、 を含むことを特徴とするデータ・バスを確保する方法。
  2. 【請求項2】上記複数のストレージ制御エレメントは第
    1及び第2のストレージ制御エレメントを含み、上記複
    数のデータ・バスは第1及び第2のデータ・バスを含
    み、 上記第1のストレージ制御エレメントをマスタとして指
    定し、上記第2のストレージ制御エレメントをスレーブ
    として指定すると共に、上記第1のデータ・バスは上記
    第1のストレージ制御エレメントのためのデイフオルト
    ・データ・バスとして割り当てられ、かつ、上記第2の
    データ・バスは上記第2のストレージ制御エレメントの
    ためのデイフオルト・データ・バスとして割り当てられ
    る、 ことを特徴とする請求項1に記載のデータ・バスを確保
    する方法。
  3. 【請求項3】上記データ・バスの状態を上記要求源に通
    知することと、 エラーを検出するために上記状態を検査することと を含むことを特徴とする請求項1に記載のデータ・バス
    を確保する方法。
JP4228140A 1991-09-05 1992-08-27 データ・バスを確保する方法 Expired - Lifetime JPH0748197B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US755237 1991-09-05
US07/755,237 US5953510A (en) 1991-09-05 1991-09-05 Bidirectional data bus reservation priority controls having token logic

Publications (2)

Publication Number Publication Date
JPH05242022A JPH05242022A (ja) 1993-09-21
JPH0748197B2 true JPH0748197B2 (ja) 1995-05-24

Family

ID=25038276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4228140A Expired - Lifetime JPH0748197B2 (ja) 1991-09-05 1992-08-27 データ・バスを確保する方法

Country Status (3)

Country Link
US (2) US5953510A (ja)
EP (1) EP0531003A1 (ja)
JP (1) JPH0748197B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091588A (ja) * 1996-09-13 1998-04-10 Nec Ic Microcomput Syst Ltd データ転送装置
US6453409B1 (en) * 1996-11-07 2002-09-17 Yamaha Corporation Digital signal processing system
EP0977401B1 (en) * 1997-03-21 2007-02-14 Hitachi, Ltd. Electronic device, electronic device using method, and electronic device system
US6321344B1 (en) * 1998-12-10 2001-11-20 Lucent Technologies Inc. Reliable distributed processing system
US6704810B1 (en) * 2002-08-27 2004-03-09 Lsi Logic Corporation Method for handling persistent reservation registrations in a storage device
US20050114627A1 (en) * 2003-11-26 2005-05-26 Jacek Budny Co-processing
JP2006153927A (ja) * 2004-11-25 2006-06-15 Sanyo Electric Co Ltd 表示装置
US7738483B2 (en) 2005-09-08 2010-06-15 Kabushiki Kaisha Toshiba Systems and methods for managing communication between master and slave devices
US8560776B2 (en) * 2008-01-29 2013-10-15 International Business Machines Corporation Method for expediting return of line exclusivity to a given processor in a symmetric multiprocessing data processing system
US8209496B2 (en) * 2008-12-22 2012-06-26 International Business Machines Corporation Method and system for accessing data
GB2479301B (en) * 2009-01-16 2012-12-12 Korea Electronics Telecomm Resource reservation method in centralized network
US20120210028A1 (en) * 2009-11-11 2012-08-16 Zte Corporation Service scheduling system and method, and control device
US9213660B2 (en) 2013-06-14 2015-12-15 Arm Limited Receiver based communication permission token allocation
US11580058B1 (en) 2021-08-30 2023-02-14 International Business Machines Corporation Hierarchical ring-based interconnection network for symmetric multiprocessors
CN113904762B (zh) * 2021-09-28 2023-09-26 中孚信息股份有限公司 一种带环形缓冲区的全双工485总线通信系统及方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3771137A (en) * 1971-09-10 1973-11-06 Ibm Memory control in a multipurpose system utilizing a broadcast
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4263649A (en) * 1979-01-05 1981-04-21 Mohawk Data Sciences Corp. Computer system with two busses
FR2490434B1 (fr) * 1980-09-12 1988-03-18 Quinquis Jean Paul Dispositif de resolution des conflits d'acces et d'allocation d'une liaison de type bus interconnectant un ensemble de processeurs non hierarchises
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
US4494193A (en) * 1982-09-30 1985-01-15 At&T Bell Laboratories Deadlock detection and resolution scheme
US4500985A (en) * 1982-12-08 1985-02-19 At&T Bell Laboratories Communication path continuity verification arrangement
FR2539887B1 (fr) * 1983-01-20 1985-07-26 Tech Europ Commutation Procede pour assurer la securite du fonctionnement d'un automate programmable et automate pour la mise en oeuvre du procede
EP0124806B1 (de) * 1983-05-06 1987-09-30 BBC Brown Boveri AG Vergabeschaltung für Parallelbusse von Datenverarbeitungsanlagen
US4654788A (en) * 1983-06-15 1987-03-31 Honeywell Information Systems Inc. Asynchronous multiport parallel access memory system for use in a single board computer system
US4571673A (en) * 1983-09-29 1986-02-18 Tandem Computers Incorporated Enhanced CPU microbranching architecture
GB2162406B (en) * 1984-06-18 1988-03-09 Logica Computer system
JPS6194433A (ja) * 1984-10-15 1986-05-13 Mitsubishi Electric Corp シリアルバスの制御方式
US4652874A (en) * 1984-12-24 1987-03-24 Motorola, Inc. Serial communication interface for a local network controller
US4837682A (en) * 1987-04-07 1989-06-06 Glen Culler & Associates Bus arbitration system and method
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4837736A (en) * 1987-05-01 1989-06-06 Digital Equipment Corporation Backplane bus with default control
US5003467A (en) * 1987-05-01 1991-03-26 Digital Equipment Corporation Node adapted for backplane bus with default control
GB2217152A (en) * 1988-02-10 1989-10-18 Plessey Co Plc Data packet switching
US4979100A (en) * 1988-04-01 1990-12-18 Sprint International Communications Corp. Communication processor for a packet-switched network
KR930002316B1 (ko) * 1989-05-10 1993-03-29 미쯔비시덴끼 가부시끼가이샤 버스제어방법 및 화상처리 장치
US5131085A (en) * 1989-12-04 1992-07-14 International Business Machines Corporation High performance shared main storage interface

Also Published As

Publication number Publication date
US5835714A (en) 1998-11-10
US5953510A (en) 1999-09-14
JPH05242022A (ja) 1993-09-21
EP0531003A1 (en) 1993-03-10

Similar Documents

Publication Publication Date Title
US5375215A (en) Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank
US4881163A (en) Computer system architecture employing cache data line move-out queue buffer
CA2262314C (en) High speed remote storage cluster interface controller
US5796977A (en) Highly pipelined bus architecture
EP0283628B1 (en) Bus interface circuit for digital data processor
US6480927B1 (en) High-performance modular memory system with crossbar connections
US4394731A (en) Cache storage line shareability control for a multiprocessor system
CA1165456A (en) Local bus interface for controlling information transfer between units in a central subsystem
KR100286962B1 (ko) 캐쉬 제어기
US20050021913A1 (en) Multiprocessor computer system having multiple coherency regions and software process migration between coherency regions without cache purges
JPH02253356A (ja) 階層キャッシュメモリ装置とその制御方式
JPH0748197B2 (ja) データ・バスを確保する方法
US5659707A (en) Transfer labeling mechanism for multiple outstanding read requests on a split transaction bus
JPH02166539A (ja) フェッチ方法
EP0131277B1 (en) Computer hierarchy control
JPH0532775B2 (ja)
JP2746530B2 (ja) 共有メモリマルチプロセッサ
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
US4964042A (en) Static dataflow computer with a plurality of control structures simultaneously and continuously monitoring first and second communication channels
US5367701A (en) Partitionable data processing system maintaining access to all main storage units after being partitioned
US5361368A (en) Cross interrogate synchronization mechanism including logic means and delay register
KR100978082B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 비동기 원격 절차 호출 방법 및 비동기 원격 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
AU606083B2 (en) Interface between processor and special instruction processor in digital data processing system
JP3714235B2 (ja) マルチプロセッサシステム
KR100978083B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체