JPS62236065A - マルチプロセツサ計算機システム - Google Patents

マルチプロセツサ計算機システム

Info

Publication number
JPS62236065A
JPS62236065A JP62075777A JP7577787A JPS62236065A JP S62236065 A JPS62236065 A JP S62236065A JP 62075777 A JP62075777 A JP 62075777A JP 7577787 A JP7577787 A JP 7577787A JP S62236065 A JPS62236065 A JP S62236065A
Authority
JP
Japan
Prior art keywords
bus
processor
ready
transmit
processors
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
JP62075777A
Other languages
English (en)
Other versions
JPH0766367B2 (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.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPS62236065A publication Critical patent/JPS62236065A/ja
Publication of JPH0766367B2 publication Critical patent/JPH0766367B2/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)
  • Small-Scale Networks (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般には、マルチプロセッサ計算機システム
におけるデジタル・プロセッサ間の通信、詳しく言えば
、マルチプロセッサ・バスのためのプロトコルに関する
ものである。
発明が解決しようとする問題点 多くのデジタル計算機システムでは、計算機の操作を実
行するため複数の独立したプロセッサを使用している。
その例として、障害許容システム、モジューラ・システ
ム、並行処理システムがある。
これらの独立したプロセッサは、システム操作を実行す
るために、ときどきデータを交換する必要がある。
一般に、プロセッサ間のデータの交換は、バスを通じて
行われる。マルチプロセッサ計算機システムのプロトコ
ルは、プロセッサによるバスに対するアクセスを制御し
、センダとレシーバのプロセッサ対を容易に形成し、か
つセンタからバスへ、バスからレシーバへデータを転送
するためのタイミング基準を与える。
多くの既存システムにおいては、バスに接続された専用
バス・コントローラがプロセッサをポールして、どのプ
ロセッサがデータを送信する準備ができているかを決定
する機能を果たす。一般に、センダに対するポールは、
全プロセッサに共通な専用ラインを通じてバス・コント
ローラへ合図を送る送信準備を完了したプロセッサによ
って促される。
バス・コントローラは、専用の選択ラインを通じてプロ
セッサを順次ポーリングし、どのプロセッサが送信準備
を完了したかを決定する。
米国特許第4,228,496号明細書に開示されてい
るマルチプロセッサ・バスのプロ1ヘコルの例では、バ
ス・コントローラは、センダを使用可能にすることによ
って、データの交換を開始する。この使f%     
  用可能操作は、センタに対する個々の選択ラインを
通じて行われ、センダは、もし準備が完了していれば、
肯定応答する。また、バス・コントローラは、レシーバ
に対する個々の選択ラインを通じてレシーバを使用可能
にする。レシーバは、もしデータ受信の準備が完了して
いれば、バスコントローラへ肯定応答信号で合図する。
上記の方式の場合、バス伝送はシステム・クロックで同
期化される。このクロック信号は、個々のクロック・ラ
インで各プロセッサへ提供される。
これらのラインは、各プロセッサにおけるクロック信号
の到達時間がずれないように、全部同じ長さである。
システム・クロック信号の周期は、バスの両端に配置さ
れたプロセッサの間を信号が伝ぱすることができ、かつ
バスの整定時間を見越して、十分に長くしなければなら
ない。このため、最大データ伝送速度は、バスの長さで
決まる。
あらゆるマルチプロセッサ・バスのプロトコルの主たる
目的は、バスを通じてプロセッサ間でデータを高速度で
伝送することである。従来のプロトコル・システムは、
そのいくつかの面で、高いデータ伝送速度の達成が妨げ
られている。第1に、ポール前のセンダの要求、センタ
の肯定応答、および伝送前のレシーバの肯定応答を出ず
必要があるために、バス・オーバヘッド時間が生じる。
第2に、レシーバの場所がバスのどこにあるかもしれな
いので、同期転送方式では、レシーバへ転送される前、
データがバス全体について有効である必要がある。この
ため、最大データ伝送速度は、バスの全長を伝ぱする信
号の伝搬遅れによって決まる。
それに加えて、各プロセッサに対し、同じ長さの独立ク
ロック・ラインと個々の選択ラインを設ける必要がある
ので、バスを構成するために多数の導線が必要で、その
結果バス・ハードウェアの製造の複雑さが増し、製造コ
ストが高くなる。
問題点を解決するための手段 本発明は、連続オープン・ループ方式でプロセッサをポ
ールして、送信準備の完了したプロセッサを識別し、準
備完了プロセッサを送信プロセッサとして順次選択する
バス・プロトコル装置である。
本バス・プロトコル装置は、全プロセッサに共通なバス
・ラインのみを使用し、放射状ラインを使用していない
。このため、使用するバス・ラインが従来の装置より少
ないので、製造コストが低く、複雑さが減り、信頼性が
高い。
本発明の第1の特徴として、送信プロセッサと受信プロ
セッサとの間で語のパケットを伝送するために、非同期
タイミング方式を使用している。
パケット内の語は、送信信号のパルスによって送信プロ
セッサからバスにストローブされ、そして受信信号のパ
ルスによって受信プロセッサにロードされる。この受信
信号は、送信プロセッサ側で、送信信号を時間遅れDR
だけ遅延させることによって、送信信号から得られる。
本発明の第2の特徴として、バス・コントローラは、ど
のプロセッサが送信準備を完了したかを確認するため、
ポール信号をコントロール・バスに表明(assert
) して全プロセッサを同時にポールする。送信準備完
了プロセッサは、そのプロセッサに指定された特定のバ
ス・ラインに準備完了信号を表明する。この特定のバス
・ラインに表明された準備完了信号は、送信マスクを形
成する。
本発明の第3の特徴として、バス・コントローラは、送
信マスクを受信して、送信準備完了プロセッサを識別し
、各準備完了プロセッサを送信プロセッサとして順番に
選択する。バス・コントローラは、選択されたとき、す
べての準備完了プロセッサは、パケットを送信する準備
が完了しているものと仮定して動作する。したがって、
特定の準備完了プロセッサを送信プロセッサとして選択
したあと、バスコントローラは、データ転送サイクルを
自動的に開始し、選択されたプロセッサがパケットをバ
スへ転送することを許容する。
本発明の第4の特徴として、選択されたとき、送信準備
が未了であれば、選択されたプロセッサは、送信準備が
未了であることを指示する否定応答信号を発する。この
否定応答信号はバス・コントローラへ転送される。バス
・コントローラは、l(否定応答信号を受け取ると、そ
のプロセッサに対するデータの転送を中止し、別の準備
完了プロセッサを送信プロセッサとして選択する。
本発明の第5の特徴として、バス・コントローラは、前
回のポールに応答した全プロセッサが選択されたならば
、再びプロセッサをポールする。
このポーリングおよび選択過程は、オープン・ループ方
式で進行する。
上記のポーリング方式は、プロセッサからのアクセスの
積極的な要求を必要とせず、ポーリングが自動的に進行
すること、およびプロセッサからの積極的な準備完了肯
定応答を必要とせず、選択および許容が自動的に進行す
ることから、従来の方式よりも伝送効率が良い。もしバ
ス・コントローラ側で選択されたプロセッサが送信準備
未了であることを指示する否定応答信号を受れ取れば、
自動シーケンスが中止されるだけである。
本発明の第6の特徴として、選択された準備完了送信プ
ロセッサは、そのデータ・パケットを受け取る別のプロ
セッサを選択する。選択された受信プロセッサがパケッ
ト受信準備が未了であることを指示しない限り、自動的
に選択された受信プロセッサへ転送される。ここでも、
積極的な準備完了肯定応答信号の必要がないので、デー
タ伝送速度を高められる。
本発明の第7の特徴として、前述の時間遅れDRは、そ
の値が送信信号の周期の約1/2になるように制御され
る。この結果、送信プロセッサ側では、データ信号と送
信パルスとが一致し、また受信パルスは2つの送信パル
スの中間にある。
本発明の第8の特徴として、送信信号の周期は、受信プ
ロセッサ側で、バス・スキュー時間とタイミング・マー
ジンの相にほぼ等しくなるように制御される。従来の同
期式バス・システムでは、受信プロセッサ側でバス伝搬
時間とタイミング・マージンの和にほぼ等しい周期をも
つ送信信号を使用するよう制限される。したがって、本
方式では、バス・スキュー時間がバス伝搬時間より短い
ので、従来方式よりも送信信号の周期が短く、したがっ
てデータ伝送速度が大きい。
本発明のその他の特徴と利点は、添付図面を参照し、以
下の詳細説明を読まれれば明らかになろう。
実施例 第1図は、マルチプロセッサ・バス・システムの略図で
ある。マルチプロセッサ・バス・システム31は、独立
したプロセッサ・モジュール33を備えている。各プロ
セッサ・モジュール33は、中央処理装置(CPU) 
105と、メモリ10フと、プロセッサ間制御装置55
とで構成される。独立したプロセッサ・モジュール33
は、プロセッサ間の通信のため、プロセッサ間バス35
によって相互に連絡されている。
マルチプロセッサ・バス・システム31の特定実施例の
場合、最大16個のプロセッサ・モジュール33が2つ
のプロセッサ間バス35(第1図では、Xバスと、Yバ
スで示しである)で相互に連絡されている。各プロセッ
サ間バス35には、バス・コントローラ37が結合され
ている。
各プロセッサ33のCPuは、ホスト・プロセッサ  
・113と、関連マイクロプログラム115を含んでい
る。
バス・コントローラ37、プロセッサ間バス35、およ
びプロセッサ間制御装置55は、関連ホスト・プロセッ
サ113とマイクロプログラム115と共に、1つのプ
ロセッサ間バス・システムを構成する。次に、このシス
テムの構成およびと作用をより詳しく説明する。
バスを経由して転送される情報は、マルチワードパケッ
トに伝えられる1本発明の好ましい実施例の場合、各パ
ケットは、16語のパケットであり、そのうち15語は
、データ語である。
バス・コントローラ37および個々のプロセッサ・モジ
ュール33のプロセッサ間制御装置55内の制御論理回
路は、詳細なプロトコルに従っている。プロトコルは、
データのパケットを転送するセンダとレシーバの対とタ
イムフレームの確立について定めている。
Xバス35とYバス35は、構造が同じであるから、一
方のバスについてだけ詳しく述べることにする。
第1図に示すように、各バス35は、16本の個別バ1
      ス・データライン57.3本のエンコード
・コントロール・ラインと1本のパリティ・ライン(E
BUS)59.1本ノ受信命令(RCVCMD) ライ
ン62.1本ノNへにライン64.2本のクロック・ラ
イン(SCLK66 。
RCLK68)で構成される。
第1図に示すように、各プロセッサ・モジュール33の
プロセッサ間制御装置55は、2つのIN待ち行列部6
5(XIN待ち行列部と、Y IN待ち行列部で示す)
と、1つの共用OUT待ち行列部67とから成る。
各IN待ち行列部65の入力は、データ・バス59トR
CLK ライン68トRCvCMDライン62ニ接続さ
れ、出力は、対応するプロセッサ間バス35のN^にラ
イン66に接続されている。共用OUT待ち行列部67
の出力は、データバス57と、NAKライン64と、R
CLK ライン88ト、RCVCMDライン62とに接
続され、入力は、E Bus 57ト、D Bus 5
7ト、NAK ライン64と対応するバスの5CLKラ
イン66とに接続されている。
データバスのすべてのラインは、すべてのプロセッサ・
モジュール33に共用される。バス・コントローラ37
から個々のプロセッサ・モジュール33に対する放射状
ラインすなわち専用ラインは存在しない。放射状ライン
が無いので、電気的雑音が少なく、システムの信頼性が
高く、システムのコストが安くなる。
第2図は、バス・コントローラ3フの略図である。
図示のように、バス・コントローラ37は、状態マシン
70、発振器72、遅延素子76、パイプライン・レジ
スタ74で構成される6発振器72の出力は、状態マシ
ン70のクロック入力と、パイプライン・レジスタ74
のクロック入力と、遅延素子76を介して5CLKライ
ン66とに接続されている。パイプライン・レジスタフ
4の出力は、出力トランシーバ78を介してデータコン
1〜ロール・ライン5フ、59に接続されている。状態
マシン70の入力は、出力トランシーバ80を介してデ
ータコントロール・ライン57.59に接続されている
第3図は、プロセッサ閏制御装置55の共用IN待ち行
列部65の略図である。IN待ち行列バッファ90は、
記憶機能を果たす。IN待ち行列バッファ90のデータ
入力は、IN待ち行列パイプライン・レジスタ92によ
ってDバス5フに接続され、そのデータ出力は5N−S
JXバス94接続され、バス94によって、IN待ち行
列バッファ90とプロセッサ・モジュール33の主メモ
リ107との間でデータが転送される。
IN待ち行列部65には、受信状態論理マシン96とC
Puコントロール状態論理マシン98が含まれている。
受信状態論理マシン96のクロック入力は、RCLに6
8に接続され、CPt1論理マシン98のクロック入力
は、CPUクロックに接続されている。
CPU 105は、プロセッサ間バス・クロックとは異
なるクロックに基づいて動作する。 cpuによるプロ
セッサ間制御装置55におけるOUT待ち行列のファイ
リングまたはIN待ち行列のエンプティングにおける動
作は、CP[Iクロック速度で行われる。しかし、プロ
セッサ間バスを経由するパケットの転送は、常にバス・
クロック速度で行われる。
本装置には、2つのバス・クロック、5CLKとRCL
にがある。5CLKとRCLKは、同じ速度で刻時する
が、2つの信号には、相対的な位相差が存在する。
パイプライン・レジスタ92に対するクロック入力は、
トランシーバ・クロックバッファを介してRCLKライ
ンにも接続されている。この結果、受信状態論理マシン
96とパイプライン・レジスタ92は、RCLK信号で
刻時される。
受信状態論理マシン96は、受信命令ライン62、Dバ
ス57、SJババス00、受信ライン102、およびR
EQ−IQライン104にそれぞれ接続された入力を有
し、CLRライン106、NAKライン64、およびC
PU−0MN5−IQライン108に接続された出力を
有する。
CPU制御状態論理マシン98は、5−FUNバス10
0およびCF’tl−0111NS−IQライン108
に接続された入力を有し、受信ライン102、CLRラ
イン107、REQ−IQライン104に接続された出
力を有する。 IN待ち行列カウンタ110ハ、MUX
 111を介しテCNT−EN−CLRライン106,
107に接続された入力と、アドレスバス112に接続
された出力とを有する。MIX 111の制、・、  
   御入力は、CPUCPU−0W IQライン10
8に接続されている。アドレス・バス112は、IN待
ち行列バッファ90のアドレス入力に接続されている。
各IN待ち行列バッファ90は、1パケツトを記憶する
、奥行が16語のバッファである。各IN待ち行列バッ
ファ90のアドレッシングは、直線的で、語アドレスを
作るため 4ビツトのカウンタ110を使用している。
このカウンタ110は、バスが待ち行列に書き込むたび
に、またプロセッサが待ち行列に書き込むたびに、また
はそこから読み出すたびに、自動的に増分される。
第4A図は、プロセッサ間制御装置55の共用OUT待
ち行列部67の略図である。第4八図を参照すると、O
UT待ち行列バッファ160のデータ出力は、OQパイ
プライン・レジスタ162およびMIX 163を介し
てDバス5フに接続されている。送信マスク発生器16
3aは、MIJX 163を介してロバスに接続されて
いる。 OQバッファ160のデータ入力ボートは、5
N−SJババス4に接続されている。送信状態マシン1
64のクロック入力は、5CLKライン66に接続され
ている。CPu制御送信状態マシン166のクロック入
力は、CPUクロックに接続されている。OQパイプラ
イン・レジスタ162のクロック入力は、1〜ランシー
バ・クロックバッファを介して5CLKラインに接続さ
れている。
送信状態マシン164は、NへKINライン168、E
バス59、Dバス57、送信ライン170、REQ−Q
Qライン172.0UTQ−N0丁−EMPTY ライ
ン173、およびC0UNTZEROライン174にそ
れぞれ接続された入力を有し、N^にOUTライン17
6、Oバス57、受信命令ライン62、CPIJ−Ok
4NS−OQ ライン176、CNT−EN−CLR5
イン178、RESPOND−To−POLLライン1
79、およびTIME 0tlTライン180にそれぞ
れ接続された出力を有する。
CPu制御送信状態? シフ 16Bハ、5FUNハス
100およびCP[l−0WNS−OQライン108に
接続された入力と、5ENDライン170、REQ−O
Qライン172、およびCNT−EN−CLRライン1
82に接続された出力を有する。
01lT待ち行列カウンタ184)入力は、CNT−E
N−CLR174,182t−5よびMtlX 186
を介しテ5cLK オよびCP[1CLKに接続されて
いる。MIX 186の制御入力は、CPU−0HNS
−OQライン176に接続されている。アドレス、バス
186は、OUT待ち行列バッファ160のアドレス入
力に接続されている。各OUT待ち行列部は、以上のほ
かに、SCLにライン66に接続された入力とRCLに
ライン68に接続された出力をもつ01lT待ち行列遅
延素子190から成るRCLK発生回路を備えている。
第4B図および第4C図は、OUT待ち行列アドレッシ
ング・カウンタ184および0[IT待ち行列バッファ
160の論理的および物理的手段を示す。第48図を参
照すると、OUT待ち行列バッファ160は、奥行が2
56語、幅が16ビツト(2パリテイ・ビットが加わる
)の単一メモリ配列から成る。0tlT待ち行列バッフ
ァ160は、各16語のパケットを16個記憶すること
が可能である。この配列のアドレッシング論理回路が、
循環待合せを実行する。バスは、待ち行列の最下位から
パケットを除去し、プロセッサは、待ち行列の最上位に
パケットを加える。次に、第4C図を参照すると、OQ
バッファ160に対するアドレスを作るために、3個の
カウンタ、CPU−PACKPNT 力’F 7918
4a、 Bus−PACKPNT 力’7 ンタ184
b、および0Q−CNTカウンタ184cが使用されて
いる。
CPU−PACKPNTカウンタ184aは、待ち行列
内の次のフリーパケット記憶場所を指し、プロセッサが
OUT待ち行列バッファ160から読み出すとき、また
は書き込むときのアドレスの上4ビットを与エル。コノ
カウンタハ、RESET OUT QUEIJE ?イ
クロオペレーションを用いてクリアすることができ、ま
たNEXTマイクロオペレーションを用いて増分するこ
とができる。
BIIS−PACKPNTカウンタ184bは、バス上
に送信される待機中の次のパケットを指し、バス・コン
トローラ状態マシン70が待ち行列を読み出すときのO
UT待ち行列の上4アドレス・ビットを与える。
このカウンタは、RESET OUT Q(IEUEマ
イクロオペレーションでクリアされ、パケットが送信さ
れたあと自動的に増分される。
0Q−CNTカウンタ184cは、OUT待ち行列の下
位″′      、)4アトいビットを提供し、した
が9て2<−fヮトの1語を指す。  このカウンタは
、RESET 0UTQUEtlEマイクロオペレーシ
ヨンかRESET C0UNTマイクロオペレーシヨン
を用いてリセットされる。
0Q−CNTカウンタ184Cは、語がOUT待ち行列
バッファ160に書き込まれるか、または呼び出される
たびに自動的に増分される。16回の呼び出しまたは書
き込みのあと、このカウンタは、Oまで−回りする。こ
の結果、パケットの16番目の語は、最初の語と同じで
ある。
第5図、第6図、および第7図は、バス・コントローラ
37、IN待ち行列部65、OUT待ち行列部67の動
作をそれぞれ明らかにする状態図である。
各図において、矢印付きの実線は、現在の状態から次の
状態への遷移を示す。実線の上で終わっている点線矢印
は、指示された遷移を実行するために満たさなければな
らない条件を示す。
第8八図は、Eバス59、Dバス57、受信命令ライン
62、およびNAKライン64上の信号の遷移を示すタ
イミング図である。
次に、第1図に示したプロセッサ33間でパケットを首
尾よく転送するためのシステム・プロトコルを説明する
。転送を首尾よく行うために、IN待ち行列バッファ9
0は空であり、受信状態マシン9BハWAIT−FOR
−CHD状態ニあり、OUT待チ行列バッファ160は
一杯であり、送信状態マシン164はWAIT−FOR
−CHD状態にあり、バスコントローラ状態マシン70
はPOLL−PROC状態にある。
伝送のとき、バス・コントローラ状態マシンは、コード
化信号をEバス59へ送る。表1に、上記コード化信号
の名称、信号コードを列挙し、各コード化信号の機能を
簡単に説明する(*は、データが低値で表明されている
( low asserting)ことを示す)。表2
に、受信状態マシンの状態の遷移を列挙し、表3に、送
信状態マシンの状態の遷移を列挙する。
表1 DATA(00:15)本 これらの16本のラインは、最上位のビット以外のDA
TA(00)とIPBデータを伝える。
CNTL(0:Z、P)京 これらのコード化コントロール・ラインは、バス・コン
トローラによってのみ表明され、以下の説明において、
′1°′は、信号が表明されることを意味し、□11は
、信号が表明されないことを意味する。信号は、低値で
表明されている( low asserting)こと
に留意されたい。CNTL(P)*、は、3本のコント
ロール・ラインの奇数パリティである。
000.1−−HULL バス・コントローラは、この命令を表明することで、バ
スに何も生じてないことを指示する。これは、ポーリン
グ・サイクルのときの伝搬遅れを見越すのに用いられる
ooo、o −−(予約) 001.0−− DATA−XFER バス・コントローラは、この命令を表明することで、デ
ータの転送が進行中であることを指示する。
101.1−− RESET バス・コントローラは、この命令を表明することで、各
プロセッサについて送信状態マシンをリセットする。状
態マシンのリセットは、5CLKと同期している。
110.1−− POLL−PROC バス・コントローラによって、この命令が表明されると
、送信するパケットを有する各プロセッサは、そのプロ
セッサ番号に対応するデータ・ラインを表明する。
111.0−− SNDCMD バス・コントローラは、プロセッサ番号と、この指令を
0^T^(04:07)およびDATA(12:15)
に表明することで、送信するプロセッサを選択する。
表2 CPIJ−REQIQ ’      R−SELECT=RCVCMD & 
RCVSELRECEIVE IQ−CI4T15 伏ffl民 MUX−DELAY  1     0001    
 X0XX    00000001     XIX
X    0100−^IT−FOR−IQ    0
000    X0OX   00000000   
  X0IX     10000000     X
l0X    oto。
0000     XIIX     0100NAK
  1         0100     XXXX
    0101NAK 2         010
1     XXXX    0000MUX−DEL
AY 2     1000     X0XX   
 10101000     XIXX     11
00CLEAR−CNT       1010   
  X0XX    11111010     XI
XX     1100NAK  3        
  1100     XXXX     1101N
AK 4          1101     XX
XX     1010−^IT−FOR−CMD  
   1111    00XX     11111
111    01XX     10111111 
   10XX    00011111     1
1XX     1011LO^D−IQ      
  1011    XXX0   10111011
     XXXI    1001CNT−DELA
Y      1001    XXXX    00
01非使用状態からの遷移 0010    XXXX   00000011  
  XXXX   00100110    XXXX
   01000111    XXXX   011
0111Q    XXXX   1111表3 CPU−REQOQ S−SELECT=SNDCHD & 5NDSELM
PTY TIMEOUT POLL−PROC END AK−IN CNT 0 WAIT−FOR−OQ   0000   X0XX
XOXX   00000000    X0XXXI
XX    10000000    XlXXX0X
X    01100000    XIXXXIXX
    011ONAK 1     0110   
 XXXXXXXX    0100NAK  2  
        0100      XXXXXXX
X      0000−AIT−FOR−CMD  
1000   00000XXX    1000to
oo    toxxxxxx    ooo。
tooo    xxixxxxx    ooo。
tooo    oxotxxxx    too。
1000   1XOIXXXX    0000to
oo    oxooxxxx    ioo。
1000   1100XXXX    0000to
oo    0OOOIXXX    1100100
0   01001XXX    10001000 
  11001XXX    00001000   
 X100OXXX    1101RESPOND−
To−POLLIloo      XXXX0XXX
      10001100     XXXXIX
XX     1100B[l5−DELAY    
 1101    XXXXXXXX    1110
POLL−RCVR1110XXXXXXXX    
1111SEND        1111    X
XXXXX0O11111111XXXXXX0I  
  10011111    XXXXXXl0   
10001111    XXXXXX11   10
0100OCLR−TI    1001   XXX
XXXXX   1000非使用状悪からの遷移 0001   XXXXXXXX   1000001
1   XXXXXXXX   10000010  
 XXXXXXXX   01000101   XX
XXXXXX   11100111   XXXXX
XXX   10001011   XXXXXXXX
   100G”             1010
   XXXXXXXX   0111ここで、第5図
〜第8図および表1〜表3を参照すると、バス・コント
ローラ状態マシンは、クロックサイクル1〜3において
ポール・プロセッサ信号を表明する。このポール・プロ
セッサ信号は、送信状態マシンに受け取られ、  −^
IT−FOR−COMMAND状態からRESPOND
−TO−POLL状態への遷移が起こる。
次に、状態マシンは、OUT Qバッファ(RAM)1
60に記憶されたパケットを送信する準備が完了してい
るか否か決定する。もしそのパケットを送信する準備が
完了していれば、 送信状態マシン164は、ライン1
75のRESPOND−TO−POLL信号の状態を制
御して、MIX 163に送信マスク発生器163aを
Dバス57に接続させる。送信マスク発生器163aは
、そのプロセッサに割り当てられたDバス57の特定ラ
インに信号を表明し、その特定プロセッサが送信準備が
完了していることを指示する。もしそのプロセッサが送
信準備が未了であれば、送信状態マシン164は、ライ
ン173のRESPOND−TO−POLL信号の状態
を制御して、MIX 163にレジスタ162をDバス
57に接続させる。 レジスタ162は、Dバス57の
特定ラインに信号を表明して、そのプロセッサが送信準
備が未了であることを指示する。前述のように、Dバス
57は、16本の個別ラインを有し、各ラインは、バス
5フに接続された16個のプロセッサの定められた1つ
に割り当てられている。したがって、送信準備完了プロ
セッサに割り当てられたデータ・ラインが表明され、送
信準備未了プロセッサに割り当てられたデータ・ライン
が表明されない場合に、送信マスクが作られる。この送
信マスクは、第8八図のグラフ202に示すように、ク
ロックサイクル2〜4のとき、データ・バスに表明され
る。第8B図に、送信マスクを示す、送信マスクは、バ
ス・コントローラに受け取られ、バス・コントローラは
、クロックサイクル4〜6のとき、POLL−PROC
状態からNULL状態へ遷移する。NDLL状態のとき
、バス・コントロール状態マシンは、送信マスクを読み
取り、どのプロセッサがデータを送信する準備ができて
いるかを決定する。そのあと、バス・コントローラは、
5END状態へ遷移し、Eバスの上に5END C0M
M^ND信号を発生する。
また、バス・コンI・ローラは、第8八図のグラフ20
2に示すように、クロックサイクル6と7のとき、送信
プロセッサのアドレスをDバスに表明することで、準備
完了プロセッサの中から送信プロセッサを選択する。、
Dバスに表明されたアドレスで識別された送信プロセッ
サ状態マシンは、FLUS−DELAV状態へ遷移し、
1クロツクサイクルの間バスが整定するままにし、その
あと、  POLL−RECEIVER状態へ遷移する
POLL−RECEIVER状aニオイテ、送信フロセ
ッサは、第8A図のグラフ202に描いであるように、
0υT待ち行列バッファ160内の最初の語をDバスに
転送する。第8C図に、パケットの語OOの書式を示す
、同時に、バス・コントローラ状態マシンは、5END
状態からロ^T^−XFER状態へ移行し、第8八図の
グラフ200に描いであるように、Eバスにデータ転送
信号を表明する。これで、バス・コントローラ3フは、
バスに対する送信プロセッサのアクセスに同意した。も
し送信準備未了であれば、送信プロセッサは、N^にラ
イン64にNAK信号を表明して、準備未了であること
をバス・コントローラに指示する。N^に信号を受け取
らない限り、バス・コントローラ37は、自動的にDA
TA−XFERサイクルの問、DATA−XFER状態
のままである。その場合には、送信プロセッサからの転
送は中止される。
バス・コントローラ37は、5END状態を表明し、別
の準備完了プロセッサを選択して送信プロセッサにする
6もしNAK信号を受け取らなければ、送信プロセッサ
は、このクロックサイクルのとき、受信命令ライン62
に表明し、データ・パケットの第1語でD Bus 5
7を駆動し続ける。そのあと、受信状態マシン96は、
IIIAIT−FOR−CHD状態からしO^D−IQ
状態へ移行する。クロックサイクル9では、IN待ち行
列カウンタ110、OUT待ち行列カウンタ184、お
よびバス・コン1〜ロール状態マシン70内のカウンタ
が、16クロツクサイクル(カラン、ト00からカウン
ト15まで)のカウントを開始する・IN待ち行列カウ
ンタとOUT待ち行列カウンタは、それぞれIN待ち行
列バッファ90とOUT待ち行列バッファ160のアド
レス空間に及んでいる。以下詳しく述べる5CLK/R
CLKタイミング方式に従って、OUT待ち行列バッフ
ァ160からパケットの語が、バスへ転送され、IN待
ち行列バッファ90に刻時される。16クロツクサイク
ルの終りに、カウンタから出力されたカウント15によ
り、バス・コントロール状態マシンハ、DATA−XF
ER状態からNULL状態へ、送信バッファ状態マシン
は、5END状態からCLR−TIMER状態へ、受信
バッファ状態マシンは、LO^D−IQ状態からCNT
−DELAV状態へ、それぞれ移行する。上記のDEL
AV状態およびNULL状態によって、バスは、別のパ
ケットを転送する前に、整定することができる。
続いて、バス・コントロール状態マシン70は、5EN
D状態へ戻り、送信準備の完了した次のプロセッサのア
ドレスをEバスに置く。すべてのプロセッサがパケット
を転送してしまうまで、各送信準備完了プロセッサにつ
いて上記のサイクルが続行される。そのあと、バス・コ
ントロール状態マシンは、5END状態からPOL−P
ROC状態へ移行し、上記のプロセスを繰り返す。
このように、データの転送は、第1のプロセッサがデー
タの16語のパケットを第2のプロセッサへ送信するこ
とから成る。データの転送は、プロセッサが一括ポール
に応答したあと、バス・コントローラが送信する第1の
プロセッサを選択すると、開始される。バス・コントロ
ーラは、5ENDコードをEバスに表明し、かつ第1の
プロセッサのアドレスをデータ・ライン04〜0フおよ
び12〜15に表明することによって、送信するプロセ
ッサを選択する。もし送信準備が未了であれば、第1の
プロセッサは、2つのサイクルについて選択を承認しな
い旨のNAKを表明する。 NAK信号を受け取ると、
バス・コントローラは、送信プロセッサすなわちセンタ
の選択を中止し、配列内の次のセンダの選択を進める。
もし送信準備を完了していれば、第1のプロセッサは、
  RECEIVECMM^NDラインおよびそのIN
待ち行列のパケットの第1語をDバスに表明する。パケ
ットの第1語は、第2の受信プロセッサのアドレスを含
んでオリ、RECEIvECMM^NDライントパケッ
トノ第1語との組み合わせによって、受信するプロセッ
サが独自に選択される。もし受信準備が未了であれば、
第2のプロセッサは、2つのサイクルについてNAKを
表明する。そのNAKを受け取ると、第1のプロセッサ
は、現在のデータ転送を中止し、WAIT−FOR−C
HD状態でバス・コントローラがらの次の一括ポールを
待つ、バス・コントローラは、NAKを受け取ると、転
送が不成功であったと仮定し、現在のデータ転送を中止
したあと、次のセンダを選択する。第1のプロセッサと
バス・コントローラは、共にNAKを監視していなけれ
ばならないことに留意されたい。
もしパケットの受信が可能であれば、第2のプロセッサ
は、下記のように、RCLにの能動端線を使用してデー
タをそのIN待ち行列に刻時する。
パケットを読み取ったあと、第2のプロセッサは、その
IN待ち行列バッファがホストCPυによって空にされ
るまで、受信に使用することができなくなる。
以上のデータ転送は、もしNAKを受け取らなければ、
第1のプロセッサは転送が成功したちのと仮定する、オ
ーブン・ループ方式で行われる。
このオーブン・ループ動作によって、バス・プロコトル
は、積極的肯定応答を必要とした場合よりも、効率よく
操作することが許される。
各受信状態マシンは、実際には、2個のインタロック状
態マシンで構成される。第1の受信状態マシンは、プロ
セッサ・クロックで刻時され、マイクロ操作命令に応答
する。第2の受信状態マシンは、RCLKで刻時され、
第1受信状態マシンからの命令のほか、バスからの命令
に応答する。
2個のマシン間の命令は、二重に同期されている。第6
図は、受信状態マシンの状態遷移図を示す。
第2の受信状態マシンは、プロセッサとバスの間で、I
N待ち行列の所有を調停する。もしこのマシンがMUX
−DELAY 、貼IT−FOR−IQ 、 NAK 
1.4Jl       またはNAK 2の状態であ
れば、待ち行列は、プロセッサによって所有される。も
しこのマシンがその他の状態であれば、待ち行列は、バ
スによって所有される。
第2の受信状態マシンが一^IT−FOR−IQ状態で
あると仮定する。もし別のプロセッサが、このプロセッ
サを、この状態にあるとき、レシーバとして選択しよう
とすれば、マシンは2つのサイクルについてNAK信号
を表明する。 NAKの表明によって、送信中のプロセ
ッサは、転送を中止する。
IN待ち行列を空にし、別のパケットを受信する準備が
できると、プロセッサは、GIVE−IQマイクロ操作
を実行する。この操作により、第1の受信状態マシンは
、IDLE状態からRECEIVE状態へ移行する。こ
の遷移により、第2の受信状態マシ7Lt、WAIT−
FOR−IQ状態カラMUX−DELAY 2状態へ移
行t6. 、、:ノMUX−DELAY 2状態により
、第1の受信状態マシンは、l0LE状態へ戻り、次の
マイクロ操作命令を待つ、第2の受信状態マシンは、M
UX−DELAY 2状態から、CLEAR−CNT状
態を経由しテI!IAIT−FOR−CHI)状態へ移
行する。もし14(IX−[)ELAYlまたはCLE
AR−CNT状態にあるときに選択されれば、受信プロ
セッサは、NAKを表明する6バスで刻時されたマシン
が一^IT−FOR−CHD状態にある限り、IN待ち
行列は、バスによって所有される。プロセッサは、CP
U−REQ−IQマイクロ操作命令を実行することによ
って、待ち行列の所有権を再び所得することができる。
この命令により、第2の受信状態マシンは、WAIT−
FOR−IQ状態へ移行し、ここでプロセッサが待ち行
列を所有する。
そのあと、第1の受信状態マシンは、l0LE状態へ戻
る。
第2の受信状態マシンは、バス上の別のプロセッサによ
って受信するよう選択されると、−^IT−FOR−C
MD状態からLO^D−IQ状態へ移行し、16語をI
N待ち行列にロードしてしまうまでLO^ローtq状態
のままである。そのあと、第2の受信状態マシンは、C
WT−DELAV状態を経由して貼IT−FOR−IQ
状態へ移行するので、待ち行列の所有権は、プロセッサ
に戻る。CNT−DELAY状態は、クロック入力をス
イッチする前に、IN待ち行列アドレス・カウンタへの
許容入力が、確実に取り下げられるようにする。
送信状態マシンは、実際には、2個のインタロック状態
マシンで構成される。第1のマシンは、プロセッサ・ク
ロックで刻時され、マイクロ操作命令に応答する。第2
のマシンは、5CLKで刻時され、バス上の実際の信号
を制御する。2個のマシン間の信号は、適当なりロック
で二重に同期される。
OUT待ち行列の所有権は、第2の状態マシンで制御さ
れる。第2の状態マシンが一^IT−FOR−OQ、N
AK 1 、まり?、tNAK 2 ノ状態にある限り
、OUT待ち行列は、プロセッサによって所有され、も
し他の状態にあれば、バスによって所有される。パケッ
トは、待ち行列がバスによって所有されているときだけ
、送信することができ、プロセッサは、待ち行列を所有
しているときだけ待ち行列を処理することができる。
第2の状態マシンがIIIAIT−FOR−CHD状態
であると仮定する。もしバス・コントローラからポール
命令を受け取り、待ち行列が空でなく、かつ時間が終了
していなければ、第2の状態マシンは、RESPOND
−To−POLL状態へ移行する。この状態で、第2の
状態マシンは、バス・コントローラによつてポール命令
が引き下げられるまで、ポール・マスクをバスへ送り出
し、そのあと、WAIT−FOR−CHD状憇へ戻り、
別の命令を待つ。
バス状態マシンは、バス・コントローラによって送信す
るよう選択され、待ち行列が空でなく、かつタイマが終
了していない場合にだけ、−^IT−FOR−CHD状
態からパケットを送信する状態へ移行する。13US−
DELAY状態は、新しいプロセッサ(すなわち、この
プロセッサ)がバスを駆動し始めたとき、バス上の伝搬
遅れに対し、1バスサイクルを見越している。受信プロ
セッサは、POLL−RCVR状態で選択される。送信
プロセッサは、レシーバは受信準備が完了しているもの
と仮定して、パケットの残りを送信し始める。もし送信
過程中いつでもNAKが表明されれば、プロセッサは、
 −^IT−FOR−CHD状態へ戻ることによって、
パケットの送“ゝ   信を中止する。もしNAKが表
明されずに、すべでの語が送信されれば、プロセッサは
、送信がうまく行ったものと想定する6そのあと、プロ
セッサは、CLR−TIMER状態で、送信タイマをク
リアし、そして待ち行列内の次のパケットを指すためn
us−PACKPNTカウンタを増分する。
バス状態マシンは、−^IT−FOR−CMD状憇にあ
るときだけ、プロセッサからの所有要求に応答し、その
あと、誓^IT−FOR−OQ状態へ移行し、待ち行列
の所有権をプロセッサに与える。もし−^IT−FOR
−Oq状態にある間に送信するよう選択されれば、バス
状態マシンは、2つのサイクルについてNAK信号を表
明する。このNAKにより、バス・コントローラは、こ
のセンダの選択を中止する。プロセッサは、OUT待ち
行列を完成すると、−^(T−FOR−CHD状態へ移
行することによってその待ち行列をバスマシンに与える
。この状態によって、バス状態マシンはパケットの送信
を始める。OUT待ち行列が空になると、バス状態マシ
ンは、WAIT−FOR−OQ状態に移行する。この結
果、OUT待ち行列が空になると、OUT待ち行列の所
有権は、プロセッサのものになる。
バス・コントローラからのバス・リセット命令は、OU
T待ち行列の所有者しだいで送信状態マシンに対してい
くらか異なる効果を有する。もしプロセッサがOUT待
ち行列を所有していれば、バス・リセット命令は、送信
状態マシンをIIIAIT−FOR−OQ状態にする。
これに対し、もしバスがOUT待ち行列を所有していれ
ば、バス・リセット命令は送信状態マシンを一^IT−
FOR−CHD状態にする。
上記のプロトコルは、データ転送すなわち送信サイクル
を開始する前に、選択されたプロセッサから積極的肯定
応答を要求せず、その代わり、否定応答で、選択された
プロセッサが要求された機能を実行する準備が完了して
ないことを指示しない限り、自動的に送信サイクルを開
始させる。この否定応答方式の使用により、プロトコル
に付随するオーバヘッド時間が短縮されるので、システ
ムのデータ転送速度が高められる。
次に、第1のプロセッサ(センダ)内の語をバスへ転送
し、そのバス上の語を第2のプロセッサ(レシーバ)へ
転送するためのタイミング基準を確立することに関する
システム・プロトコルの特徴について述べる。
第9図は、各種のクロック信号とデータの遷移を示すタ
イミング図である。REFCLに300は、バス。
コントローラ発振器72の出力である。 SCLに30
2とRCLK 304は、共にREFCLK 300か
ら得られたものであるから、相対的位′相は異なるが、
周波数は同じである。
各5CLKパルスの前縁は、対応するREFCLKパル
スの前縁に対して時間遅れOSと他の回路素子によって
生じた時間遅れだけ遅れている。この時間遅れDSは、
バス・コントローラ遅延素子76(第2図)によって作
られる。
同様に、REFCLにパルスの前縁は、SCLにパルス
の前縁に対して遅延素子190によって作られた量DR
と他の回路素子によって生じた時間遅れだけ遅れている
第4図に示したように、5CLKパルスは、センダのO
UT待ち行列パイプライン・レジスタ162からDバス
にデータを刻時するストローブとして使用される。 R
CLKパルスは、5CLKパルスを遅延素子190を通
してRCLにライン68へ転送して、センダ側で作られ
る。
第3図を参照すると、RCLKパルスは、Dバスからレ
シーバのIN待ち行列パイプライン・レジスタ192に
データを刻時するストローブとして使用される6 再び第9図を参照すると、5CLKパルスの前縁を受け
取ると、センダの0■T待ち行列パイプラインレジスタ
162からパケット内の連続語が転送される。したがっ
て、各データ語サイクルの時間は、クロック・サイクル
の周期に等しい。各データ語サイクルの前縁は、5CL
Kパルスの前縁に一致している。
バスへ転送される各語は、Dバス57の個々のラインに
表明された1組の高低の電圧レベル信号で構成される。
これらの信号の伝搬は、伝送路内に各構成部品によって
遅れる。特に、Dバス自体に1      よって生じ
る時間遅れ(Tbus)は、センダとレシーバ間のバス
の長さで左右される。
本方式では、任意の2つのプロセッサ間で伝送を行うこ
とがある。したがって、値Tbusは、最大値(センタ
とレシーバは、バスの両端に位置している)から最小値
(センダとレシーバは、バス上で隣接している)まで変
化することがある。
信号RCLKは、センダ側で作られ、データ語サイクル
に対して同調される。データ語がレシーバで有効である
時間の中ごろにRCLKパルスの前縁が到着するように
、値[IRが選ばれる。データ語とRCLKパルスは、
センタ側で作られ、共にバス上をレシーバまで伝ぱする
ので、バス伝搬遅れ(Tbus)は、両信号についてほ
ぼ同じである。このように、本方式は、バス上のセンタ
とレシーバの相対的位置に起因するバス伝搬遅れの変動
を補償し、その変動に対するあらゆる従属関係を取り去
っている。
どのバス方式でも、バスの種々のライン上の2点間の伝
搬遅れは、厳密に言えば等しくなく、製造上の不完全さ
やその他の物理的作用のために異なる。任意の2信号に
関する伝搬遅れ間の最大の変動は、バスのスキュー時間
である。したがって、センダ側でデータ語とRCLKパ
ルスとの間に確立された位相関係は、両信号がバスに沿
って伝ぱするので、保たれない。
第10図は、プロセッサ対プロセッサのデータ転送のと
き、レシーバIQパイプライン・レジスタにおけるデー
タ語とRCLK信号との相対的タイミング関係を示す。
スキューのために、RCLK信号の前縁の位置は、時間
間隔TRmax −TRm1nにわたって変わることが
ある。
第10図に示すように、IN待ち行列パイプライン・レ
ジスタ92の電気的特性は、RCLKパルスの前縁が到
達する前、最小準備時間TSUの間、データ語がIN待
ち行列パイプライン・レジスタ92の入力側で有効であ
ることを必要とする。さらに、データ語は、RCLKパ
ルスの到達後、最小保留時間THの間、有効のままでな
ければならない。
TSUとT11の和は、IN待ち行列パイプライン・レ
ジスタ92が必要とするタイミング・マージンである。
5CLKの周期は、少なくともタイミング・マージンと
バスの最大スキュー時間との和に等しくなければならな
い。このため、データ転送速度は、レシーバ側のRCL
にパルスとデータ語間の最大スキューによって制限され
る。また、バスの両端に位置するプロセッサ間のデータ
転送のときに最大スキューが生じるので、最大データ転
送速度は、バスの長さで左右される。
本発明に使用されるデータ転送方式は、非同期式である
。データ語とRCLKパルスとの相対的タイミングは、
送信プロセッサによって確立される。
データ語は、決められたすべての時間に全バス上で有効
である必要はないが、ただ両信号がバスに沿って伝ぱす
るときRCLKに対して有効であることが必要である。
したがって、決められた時間に数個のデータ語がバスに
沿って伝ばしていることがある。バスは、決められた時
間に数個の語を記憶するパイプライン・レジスタとして
機能することができる。
同期式バス・プロコトルの場合は、1つのクロック信号
ですべてのデータ伝送を制御する。レシーバは、バスに
沿ってどの点に配置されるかも知れないので、データ語
は、レシーバのIN待ち行列部に記憶される前に全バス
上で有効でなければならない。同期式システム・クロッ
クの周期は、少なくともタイミング・マージン要求に等
しい時間間隔の間にDバス57の全長にわたってデータ
信号が十分に整定できる長さを有しなければならない。
したがって、クロックの最大周波数は、バスの一端から
他端までの信号の伝搬遅れで決まる。
発明の効果 同期式バス・システムより優れている本システムの利点
は、明らかである。システムの最大データ転送速度は、
バスの長さによって決まる。しかし、本システムでは、
この最大転送速度は、決められたプロセッサ側のタイミ
ング・マージンと、バスの長さによる最大スキューによ
って決まるのに対し、同期式システムの場合は、バスの
両端間の伝搬遅れによって転送速度が決まる。一般に、
禾    スキュー時間は、伝搬遅れより短いので、本
システムの最大転送速度は、従来のバス・システムの転
送速度より大きい。
以上特定の実施例について発明を説明したが、関連分野
の専門家は、さまざまな修正や代替を思い浮かべるであ
ろう。たとえば、データ・パケット内の語数は、任意の
長さにすることができよう。
本発明にとって、個々の状態遷移テーブルや状態マシン
は、決定的に重要ではない。したがって、本発明は、特
許請求の範囲の記載以外には、限定されないものと考え
る。
【図面の簡単な説明】
第1図は、マルチプロセッサ・バス・システムの略図、 第2図は、バス・コントローラの略図、第3図は、プロ
セッサ間制御装置の共用IN待ち行列部の略図、 第4^図は、プロセッサ間制御装置の共用01JT待ち
行列部の略図、 第4B図は、OUT待ち行列アドレッシングのための論
理の略図、 第4C図は、OUT待ち行列アドレッシングのための実
際の回路網の略図 第5図は、バス・コントローラの動作を示す状態図、 第6図は、受信状態マシンについてIN待ち行列部の動
作を示す状態図、 第7図は、OUT待ち行列部の動作を示す状態図、第8
八図は、Eバス、Dバス、受信命令ライン、およびNA
Kライン上の信号の遷移を示すタイミング図、 第8B図は、送信マスクの略図、 第8C図は、パケットの語00の略図、第9図は、各種
のクロック信号と、データ遷移を示すタイミング図、 第10図は、レシーバ側におけるRCLKパルスとデー
タ語との相対的位置関係を示すタイミング図である。 符号の説明 31・・・マルチプロセッサ・システム、33・・・プ
ロセッサ・モジュール、 35・・・プロセッサ間バス、37・・・バスコントロ
ーラ、55・・・プロセッサ間制御装置、 57・・・バスデータライン(Dバス)、59・・・制
御ラインとパリティライン(Eバス)、62・・・受信
命令ライン、 64・・・NAKライン、65・・・I
N待ち行列部、66・・・クロック(SCLK)ライン
、67・・・共用OUT待ち行列部、 68・・・クロック(RCLに)ライン、70・・・状
態マシン、   72・・・発振器、74・・・パイプ
ラインレジスタ、 76・・・遅延素子、    78・・・出力トランシ
ーバ、80・・・入力トランシーバ、90・・・IN待
ち行列バッファ、92・・・IN待ち行列パイプライン
レジスタ、94・・・5N−SJ t<ス、   96
・・・受信状態論理マシン、98・・・CPU制御状態
論理マシン、100・・・5−FUNバス、  102
・・・受信ライン、104・REQ−IQ ライン、1
05.、、中央処理装置(cpυ)、106・・・CL
Rライン、  107・・・主メモリ、CLRライン、
108・・・CPU−0WNS−IQライン、110・
・・IN待ち行列カウンタ、 111・・・MUX、      112・・・アドレ
スバス、113・・・ホストプロセッサ、 115・・・マイクロプログラム、 160、、、OUT待ち行列バッファ、162・・・O
Qパイプラインレジスタ、 163・・・MuX、16
3a・・・送信マスク発生器、 164・・・バス送信状態マシン、 166・・・CPU制御制御送信状シマシン68・・・
NAK−INライン、 170・・・5ENDライン、
172・・・REQ−OQライン、 173・OUTQ−NOT−EMPTY ライン、17
4・C0UNT ZEROライン、175・・・RES
P−TO−POLLライン、176−NAK−QIJT
 ライン、CPU−0WNS−OQ ライン、178・
・・CNT−EN−CLRライン、179・・・RES
POND−TO−POLLライン、180−TIMEO
UT−>イア、182−GMT−EN−CLR−yイン
、184・・・OUT待ち行列(Q)カウンタ、184
a 、 184b 、 184c・・・カウンタ、18
B、、、 MUX 、アドレスバス、190・・・0t
lT待ち行列遅延素子、200.202,204,20
6・・・各信号の遷移を示す線、300.302,30
4・・・クロック信号。 0UT−0バツフア FIG、、4B。 FIG  4C プロセッサ OOプロセッサ 14 送信準備完了         送信準備完了FIG−
θa FIG、−θC FIG、  9゜ FIG  10゜

Claims (14)

    【特許請求の範囲】
  1. (1)バスと、前記バスに接続され、パケット転送サイ
    クルのときデータ語のパケットを交換することができる
    第1プロセッサと第2プロセッサを含む2以上のプロセ
    ッサと、前記プロセッサによるバスに対するアクセスを
    制御してセンダとレシーバのプロセッサ対を確立するバ
    ス・プロトコル装置とを有する形式のマルチプロセッサ
    計算機システムであって、前記バス・プロトコル装置は
    、 前記プロセッサに最初のポールを行い、どのプロセッサ
    がパケットを前記バスを通じて送信する準備が完了した
    かを決定する手段、 選択されたプロセッサが送信準備未了であることを指示
    する手段、 前記準備完了プロセッサの中から特定の1つを送信プロ
    セッサとして順番に選択し、データ転送サイクルのとき
    前記選択されたプロセッサがそのパケットを送信するこ
    とができるように前記選択されたプロセッサのバスに対
    するアクセスを許容し、前記選択されたプロセッサの1
    つが送信準備未了を指示しない限り前記準備完了プロセ
    ッサの全部がそれらのパケットを送信するまで、センダ
    ・プロセッサにすべき前記準備完了プロセッサの別の1
    つをオープン・ループ方式で選択する手段、 バスに対するアクセスを拒否して選択されたプロセッサ
    が送信準備未了であることを指示し、データ転送サイク
    ルの終了前に前記準備完了プロセッサの別の1つを送信
    プロセッサとして選択する手段、 前記準備完了プロセッサの全部がそれらのパケットを送
    信してしまったか、または送信準備未了であることを指
    示したとき、プロセッサに第2のポールを行う手段、 から成ることを特徴とするマルチプロセッサ計算機シス
    テム。
  2. (2)バスと、前記バスに接続され、パケット転送サイ
    クルのときデータ語のパケットを交換することができる
    第1および第2プロセッサを含む2以上のプロセッサと
    、前記プロセッサによるバスに対するアクセスを制御し
    てセンダとレシーバのプロセッサ対を確立するバス・プ
    ロトコル装置とを有する形式のマルチプロセッサ計算機
    システムであって、前記バス・プロトコル装置は、 全プロセッサを同時にポーリングして、どのプロセッサ
    がパケットを前記バスを通じて別のプロセッサへ送信す
    る準備が完了したかを決定する手段、 前記各準備完了プロセッサを送信プロセッサとして順番
    に選択する手段、 選択された送信プロセッサ側で、前記選択された送信プ
    ロセッサが送信準備未了であることを指示する手段、 前記選択された送信プロセッサが送信準備未了であるこ
    とを指示しない限り、各選択された準備完了プロセッサ
    についてデータ転送サイクルを開始し、前記選択された
    プロセッサがデータの送信をできるようにする手段、 前記選択されたプロセッサがデータ転送サイクルを終了
    したとき、または送信準備未了であることを指示したと
    き、別の準備完了プロセッサを送信プロセッサとして選
    択するよう前記選択手段を制御する手段、 から成ることを特徴とするマルチプロセッサ計算機シス
    テム。
  3. (3)前記バス・プロトコル装置は、さらに、前記デー
    タ転送サイクルのとき、前記パケットを受け取る特定の
    受信プロセッサを選択する手段、 前記受信プロセッサが前記パケットを受信する準備がで
    きていないことを指示する手段、前記受信プロセッサが
    受信準備未了であることを指示しない限り、選択された
    送信プロセッサと受信プロセッサと間でデータの転送を
    自動的に開始する手段、 を備えていることを特徴とする特許請求の範囲第2項記
    載のマルチプロセッサ計算機システム。
  4. (4)前記バス・プロトコル装置は、さらに、複数の送
    信クロック・パルスから成る送信クロック・タイミング
    信号を発生する手段、 前記送信クロック信号を前記送信クロック信号発生手段
    から前記送信プロセッサへ転送する手段、 前記送信プロセッサ側で、選択された送信クロック・パ
    ルスを受け取ると、前記バスへ前記パケットのデータ語
    をストローブする手段、前記送信プロセッサ側で、前記
    選択された送信クロック・パルスから一定の時間遅れD
    Rだけ遅延した受信クロック・パルスを発生する手段、 前記受信クロック・パルスを前記送信プロセッサから前
    記受信プロセッサへ転送する手段、前記送信プロセッサ
    側で、前記受信クロック・パルスを受け取ると、前記バ
    スからデータ語をロードする手段、 を備えていることを特徴とする特許請求の範囲第2項記
    載のマルチプロセッサ計算機システム。
  5. (5)前記バス・プロトコル装置は、さらに、第1バス
    ・ラインと第2バス・ラインを備えており、前記送信ク
    ロック信号転送手段は、前記第1バス・ラインであり、
    前記第1バス・ラインによって前記送信クロック信号発
    生手段が前記各プロセッサ側で前記語ロード手段に接続
    されていること、 前記受信パルス転送手段は、前記第2バス・ラインであ
    り、前記第2バス・ラインによって、前記受信パルス発
    生手段が前記各プロセッサ側で前記語ロード手段に接続
    されていること、を特徴とする特許請求の範囲第4項記
    載のマルチプロセッサ計算機システム。
  6. (6)前記バスは、異なるバス・ラインを一端から他端
    へ伝ぱする信号の最大伝ぱ時間差である最大スキュー時
    間によって特性が表され、前記受信パルス転送手段は、
    準備時間と保留時間との和であるタイミング・マージン
    によって特性が表され、前記送信クロック信号の周期は
    、スキュー時間と前記タイミング・マージンとの和にほ
    ぼ等しいことを特徴とする特許請求の範囲第5項記載の
    マルチプロセッサ計算機システム。
  7. (7)前記DRの長さは、前記送信クロック信号の周期
    の1/2にほぼ等しいことを特徴とする特許請求の範囲
    第6項記載のマルチプロセッサ計算機システム。
  8. (8)データ・バスとコントロール・バス、前記バスに
    接続されたバス・コントローラ、前記バスに接続された
    1組のプロセッサを有する形式のマルチプロセッサ計算
    機システムに使用するバス・プロトコル装置であって、 前記バス・コントローラ側で、第1ポーリング信号を発
    生し、前記第1ポーリング信号を前記コントロール・バ
    スに表明するポーリング手段、 前記各プロセッサ側で、前記第1ポーリング信号を受け
    取る手段、 前記各プロセッサ側で、前記第1ポーリング信号を受け
    取ると、応答信号を発生する手段、各プロセッサの前記
    応答発生手段は、前記データ・バスの特定の1つのライ
    ンに接続されており、前記応答信号の状態は、特定のプ
    ロセッサが送信準備を完了したかどうかを指示しており
    、データ・バスの各ラインに表明された個々の応答信号
    が、送信マスクを形成する、 前記バス・コントローラ側で、前記送信マスクを受け取
    り、どのプロセッサが送信準備を完了したかを識別する
    手段、 前記バス・コントローラ側で、前記各識別された準備完
    了プロセッサを順次選択し、各準備完了プロセッサにつ
    いてデータ転送サイクルを自動的に開始する選択手段、 選択された準備完了プロセッサ側で、選択されたとき前
    記選択されたプロセッサが送信準備未了であるかどうか
    を判断する手段、 もし選択されたプロセッサが送信準備未了であれば、前
    記バス・コントローラへ指示する手段、 前記バス・コントローラ側で、前記指示を受け取り、選
    択されたプロセッサについてデータ転送サイクルを中止
    させ、前記選択手段に次の準備完了プロセッサを選択さ
    せる手段、 前記プロセッサがオープンループ方式で連続的にポール
    され、送信準備未了の指示を受け取らない限り、前記プ
    ロセッサの選択およびデータ転送サイクルの開始が自動
    的に進行するように、前記各識別された準備完了プロセ
    ッサについて前記データ転送サイクルを開始したあと、
    前記ポーリング信号発生手段に第2ポーリング信号を発
    生させる手段、 から成ることを特徴とするバス・プロトコル装置。
  9. (9)さらに、 送信準備の完了した各選択された送信プロセッサからデ
    ータ・パケットを受け取る受信プロセッサを選択する手
    段を備えていることを特徴とする特許請求の範囲第8項
    記載のバス・プロトコル装置。
  10. (10)前記受信プロセッサ選択手段は、 選択された送信プロセッサ側で、希望する受信プロセッ
    サを選択し、前記受信プロセッサが前記バスからデータ
    をロードするのを許容する手段、 前記受信プロセッサ側で、前記受信プロセッサがデータ
    をロードする準備が未了であることを指示する手段、 前記送信プロセッサ側で、前記受信プロセッサがデータ
    をロードする準備が未了であることを指示しない限り、
    前記受信プロセッサの選択および許容のあと、パケット
    を自動的に前記バスに転送する手段、 を備えていることを特徴とする特許請求の範囲第9項記
    載のバス・プロトコル装置。
  11. (11)前記送信プロセッサは、さらに前記パケットを
    記憶するための記憶素子を備えており、選択された送信
    プロセッサが送信準備未了であることを指示する前記手
    段は、 前記送信プロセッサ側で、前記記憶素子が記憶されたパ
    ケットを有しているかどうかを決定する手段、 前記送信プロセッサ側で、もし前記記憶素子が記憶され
    たパケットを有していなければ、前記プロセッサが送信
    準備未了であることを指示する否定応答信号を発生する
    手段、 を備えていることを特徴とする特許請求の範囲第10項
    記載のバス・プロトコル装置。
  12. (12)バスと、前記バスに接続され、パケット転送サ
    イクルのときデータ語のパケットを交換することができ
    る第1および第2プロセッサを含む2以上のプロセッサ
    と、前記プロセッサによる前記バスに対するアクセスを
    制御し、センダとレシーバのプロセッサ対を確立するバ
    ス・プロトコル装置と、センダとレシーバとの間で語を
    高速度で転送するためのタイミング信号を与えるタイミ
    ング装置とを備えた形式のマルチプロセッサ計算機シス
    テムであって、前記タイミング装置は、 第1および第2バス・ライン、 複数の送信クロック・パルスから成る送信クロックタイ
    ミング信号を発生して、前記第1バス・ラインに表明す
    る手段、 前記第1バス・ラインに接続された前記送信プロセッサ
    側で、選択された送信クロック・パルスを受け取ると前
    記パケットの語を前記バスへストローブする手段、 前記送信プロセッサ側で、前記送信クロック・パルスか
    ら一定の時間遅れDRだけ遅延した受信クロック・パル
    スを発生して、前記第2バス・ラインに表明する手段、 前記第2バス・ラインに接続されていて、前記受信プロ
    セッサ側で、前記受信クロック・パルスを受け取ると前
    記バスから語をロードする手段、 で構成されていることを特徴とするマルチプロセッサ計
    算機システム。
  13. (13)前記バスは、異なるバス・ラインを一端から他
    端へ伝ぱする信号の最大伝ぱ時間差である最大スキュー
    時間によって特性が表され、前記受信パルス転送手段は
    、準備時間と保留時間との和である時間マージンによっ
    て特性が表され、前記送信クロック信号の周期は、スキ
    ュー時間と前記時間マージンとの和にほぼ等しいことを
    特徴とする特許請求の範囲第12項記載のマルチプロセ
    ッサ計算機システム。
  14. (14)前記DRの長さは、前記送信クロック信号の周
    期の1/2にほぼ等しいことを特徴とする特許請求の範
    囲第13項記載のマルチプロセッサ計算機システム。
JP62075777A 1986-03-28 1987-03-28 マルチプロセッサ計算機システム Expired - Lifetime JPH0766367B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US845906 1986-03-28
US06/845,906 US4888684A (en) 1986-03-28 1986-03-28 Multiprocessor bus protocol

Publications (2)

Publication Number Publication Date
JPS62236065A true JPS62236065A (ja) 1987-10-16
JPH0766367B2 JPH0766367B2 (ja) 1995-07-19

Family

ID=25296386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62075777A Expired - Lifetime JPH0766367B2 (ja) 1986-03-28 1987-03-28 マルチプロセッサ計算機システム

Country Status (5)

Country Link
US (1) US4888684A (ja)
EP (2) EP0596871B1 (ja)
JP (1) JPH0766367B2 (ja)
AU (2) AU583714B2 (ja)
DE (2) DE3752205T2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754396A (en) * 1986-03-28 1988-06-28 Tandem Computers Incorporated Overlapped control store
US5640585A (en) * 1988-02-09 1997-06-17 Ast Research, Inc. State machine bus controller
US5006982A (en) * 1988-10-21 1991-04-09 Siemens Ak. Method of increasing the bandwidth of a packet bus by reordering reply packets
US5101347A (en) * 1988-11-16 1992-03-31 National Semiconductor Corporation System for reducing skew in the parallel transmission of multi-bit data slices
US5253347A (en) * 1988-11-18 1993-10-12 Bull Hn Information Systems Italia S.P.A. Centralized arbitration system using the status of target resources to selectively mask requests from master units
EP0378398B1 (en) * 1989-01-13 1996-07-24 International Business Machines Corporation Data processing system with means for detecting status of data processing device receiving commands
US5559962A (en) * 1989-10-09 1996-09-24 Yamaha Corporation Data transmission system selecting both source and destination using addressing mechanism
JPH03142504A (ja) * 1989-10-30 1991-06-18 Toshiba Corp プログラマブルコントローラ
CA2023998A1 (en) * 1989-11-13 1991-05-14 Thomas F. Lewis Apparatus and method for guaranteeing strobe separation timing
US5278974A (en) * 1989-12-04 1994-01-11 Digital Equipment Corporation Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths
JPH03235152A (ja) * 1990-02-13 1991-10-21 Fujitsu Ltd バス制御方式
JPH03241448A (ja) * 1990-02-20 1991-10-28 Fujitsu Ltd Ipl方式
JPH03270431A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd プロセッサ間通信方式
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
JPH04119445A (ja) * 1990-09-11 1992-04-20 Canon Inc 計算機システム
JPH0823859B2 (ja) * 1990-09-28 1996-03-06 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム
US6453406B1 (en) 1990-10-17 2002-09-17 Compaq Computer Corporation Multiprocessor system with fiber optic bus interconnect for interprocessor communications
JPH0689269A (ja) * 1991-02-13 1994-03-29 Hewlett Packard Co <Hp> プロセッサの制御装置、プロセッサの休止装置およびそれらの方法
US5319785A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Polling of I/O device status comparison performed in the polled I/O device
DE69227996T2 (de) * 1991-07-26 1999-08-26 Tandem Computers Inc Vorrichtung und verfahren zur vermittlung von datenblöcken
US5202966A (en) * 1991-09-06 1993-04-13 Rockwell International Corporation Centralized bus arbitration circuit
AU4454993A (en) * 1992-08-10 1994-02-17 Lucent Technologies Inc. A radio communication system and a radio base station for use in such a system
US5631935A (en) * 1993-05-06 1997-05-20 Run-Rad Unlimited Networking, Ltd. Method and apparatus for governing information transfer using an efficient transport protocol
US5455914A (en) * 1993-07-23 1995-10-03 Unisys Corporation Tie-breaking control circuit for bus modules which share command execution
US5590289A (en) * 1993-11-12 1996-12-31 Intel Corporation Method and apparatus for initializing a computer system having central and distributed address decode memory bus resources
KR0140571B1 (ko) * 1995-01-19 1998-07-01 김광호 버스제어수단을 구비한 다중프로세서시스템
US5694614A (en) * 1995-02-15 1997-12-02 Ast Research, Inc. Minimum latency bus interface circuit with reduced I/O pin count through multi-mode operation
JPH08256155A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd ディジタル処理装置のポーリング方法及びその装置
US5768529A (en) * 1995-05-05 1998-06-16 Silicon Graphics, Inc. System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers
US6175883B1 (en) * 1995-11-21 2001-01-16 Quantum Corporation System for increasing data transfer rate using sychronous DMA transfer protocol by reducing a timing delay at both sending and receiving devices
US6477143B1 (en) 1998-01-25 2002-11-05 Dror Ginossar Method and apparatus for packet network congestion avoidance and control
US7076716B1 (en) * 1998-04-13 2006-07-11 Intel Corporation Early acknowledgement of primary packets
US6640325B1 (en) * 1999-06-04 2003-10-28 Advanced Micro Devices, Inc. Immediate negative acknowledgement for a communication network
US9722850B2 (en) * 2004-08-09 2017-08-01 Arris Enterprises Llc Method and system for transforming video streams using a multi-channel flow-bonded traffic stream
US9699102B2 (en) * 2004-08-09 2017-07-04 Arris Enterprises Llc Very high speed cable modem for increasing bandwidth

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668649A (en) * 1970-06-26 1972-06-06 Burroughs Corp Multiple terminal computer control system for group polling
FR2425018A1 (fr) * 1978-05-05 1979-11-30 Bourcier Carbon Christian Perfectionnement aux pistons pour amortisseurs
JPS5857770B2 (ja) * 1979-06-22 1983-12-21 パナファコム株式会社 情報転送制御方式
JPS56109057A (en) * 1980-02-04 1981-08-29 Hitachi Ltd Data communication system
JPS56140459A (en) * 1980-04-04 1981-11-02 Hitachi Ltd Data processing system
US4481572A (en) * 1981-10-13 1984-11-06 Teledyne Industries, Inc. Multiconfigural computers utilizing a time-shared bus
US4636939A (en) * 1982-07-16 1987-01-13 At&T Bell Laboratories Parallel bus protocol
DE3584690D1 (de) * 1984-06-20 1992-01-02 Convex Computer Corp Ein-/ausgabebus fuer rechner.
JPH0670787B2 (ja) * 1984-06-29 1994-09-07 富士通株式会社 処理装置間指令転送制御システム

Also Published As

Publication number Publication date
AU7012787A (en) 1987-10-01
EP0596871A2 (en) 1994-05-11
AU605961B2 (en) 1991-01-24
JPH0766367B2 (ja) 1995-07-19
DE3750680D1 (de) 1994-12-01
AU2991889A (en) 1989-05-25
DE3750680T2 (de) 1995-03-09
EP0596871A3 (en) 1994-08-10
DE3752205D1 (de) 1998-09-03
US4888684A (en) 1989-12-19
AU583714B2 (en) 1989-05-04
EP0239300A3 (en) 1990-04-18
EP0596871B1 (en) 1998-07-29
DE3752205T2 (de) 1999-04-22
EP0239300B1 (en) 1994-10-26
EP0239300A2 (en) 1987-09-30

Similar Documents

Publication Publication Date Title
JPS62236065A (ja) マルチプロセツサ計算機システム
US4965793A (en) Method and apparatus for interfacing a system control unit for a multi-processor
US4868742A (en) Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed
US5392422A (en) Source synchronized metastable free bus
EP0165600A2 (en) Input/output bus for computer
EP0617368B1 (en) Arbitration process for controlling data flow through an I/O controller
JPH02501245A (ja) マルチバスコンピュータシステムにおいてバスを相互接続する方法及び装置
US6088370A (en) Fast 16 bit, split transaction I/O bus
EP1010085B1 (en) System and method of flow control for a high speed bus
EP0490988A1 (en) Enhanced vmebus protocol utilizing pseudosynchronous handshaking and block mode data transfer
EP0592213B1 (en) Synchronous/asynchronous partitioning of an asynchronous bus interface
WO2004046950A1 (en) Mailbox interface between processors
JP2001142845A (ja) コンピュータシステムおよびデータ転送制御方法
CN114185830A (zh) 基于mailbox的多处理器通信方法、设备、***和存储介质
JPH04297942A (ja) 待ち行列を使用してトランザクションを発生する装置及びその方法
US7302508B2 (en) Apparatus and method for high speed data transfer
WO1999015980A1 (en) Method and apparatus for providing and embedding control information in a bus system
JPS63263555A (ja) 多重プロセッサシステム用のプロセッサモジュール自動判定システム
JPH05505478A (ja) バスロッキングfifoマルチプロセッサー通信システム
AU640693C (en) Pseudosynchronus Handshaking
Wirth et al. Interfaces Between Asynchronous Units
JPH077954B2 (ja) 制御装置
IE901534A1 (en) Method and apparatus for interfacing a system control unit¹for a multiprocessor system with input/output units
JPH01119846A (ja) システム間通信制御装置