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

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

Info

Publication number
JPH0766367B2
JPH0766367B2 JP62075777A JP7577787A JPH0766367B2 JP H0766367 B2 JPH0766367 B2 JP H0766367B2 JP 62075777 A JP62075777 A JP 62075777A JP 7577787 A JP7577787 A JP 7577787A JP H0766367 B2 JPH0766367 B2 JP H0766367B2
Authority
JP
Japan
Prior art keywords
processor
bus
ready
transmission
data
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
JP62075777A
Other languages
English (en)
Other versions
JPS62236065A (ja
Inventor
ジェイ リーリャ デイヴィッド
エイ ザッカー リチャード
ダブリュー ウィーレンガ スティーヴン
Original Assignee
タンデム コンピューターズ インコーポレーテッド
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 タンデム コンピューターズ インコーポレーテッド filed Critical タンデム コンピューターズ インコーポレーテッド
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)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般には、マルチプロセッサ計算機システム
におけるデジタル・プロセッサ間の通信、詳しく言え
ば、マルチプロセッサ・バスのためのプロトコルに関す
るものである。
発明が解決しようとする問題点 多くのデジタル計算機システムでは、計算機の操作を実
行するため複数の独立したプロセッサを使用している。
その例として、障害許容システム、モジューラ・システ
ム、並行処理システムがある。これらの独立したプロセ
ッサは、システム操作を実行するために、ときどきデー
タを交換する必要がある。
一般に、プロセッサ間のデータの交換は、バスを通じて
行われる。マルチプロセッサ計算機システムのプロトコ
ルは、プロセッサによるバスに対するアクセスを制御
し、センダとレシーバのプロセッサ対を容易に形成し、
かつセンダからバスへ、バスからレシーバへデータを転
送するためのタイミング基準を与える。
多くの既存システムにおいては、バスに接続された専用
バス・コントローラがプロセッサをポールして、どのプ
ロセッサがデータを送信する準備ができているかを決定
する機能を果たす。一般に、センダに対するポールは、
全プロセッサに共通な専用ラインを通じてバス・コント
ローラへ合図を送る送信準備を完了したプロセッサによ
って促される。
バス・コントローラは、専用の選択ラインを通じてプロ
セッサを順次ポーリングし、どのプロセッサが送信準備
を完了したかを決定する。
米国特許第4,228,496号明細書に開示されているマルチ
プロセッサ・バスのプロトコルの例では、バス・コント
ローラは、センダを使用可能にすることによって、デー
タの交換を開始する。この使用可能操作は、センダに対
する個々の選択ラインを通じて行われ、センダは、もし
準備が完了していれば、肯定応答する。また、バス・コ
ントローラは、レシーバに対する個々の選択ラインを通
じてレシーバを使用可能にする。レシーバは、もしデー
タ受信の準備が完了していれば、バスコントローラへ肯
定応答信号で合図する。
上記の方式の場合、バス伝送はシステム・クロックで同
期化される。このクロック信号は、個々のクロック・ラ
インで各プロセッサへ提供される。これらのラインは、
各プロセッサにおけるクロック信号の到達時間がずれな
いように、全部同じ長さである。
システム・クロック信号の周期は、バスの両端に配置さ
れたプロセッサの間を信号が伝ぱすることができ、かつ
バスの整定時間を見越して、十分に長くしなければなら
ない。このため、最大データ伝送速度は、バスの長さで
決まる。
あらゆるマルチプロセッサ・バスのプロトコルの主たる
目的は、バスを通じてプロセッサ間でデータを高速度で
伝送することである。従来のプロトコル・システムは、
そのいくつかの面で、高いデータ伝送速度の達成が妨げ
られている。第1に、ポール前のセンダの要求、センダ
の肯定応答、および伝送前のレシーバの肯定応答を出す
必要があるために、バス・オーバヘッド時間が生じる。
第2に、レシーバの場所がバスのどこにあるかもしれな
いので、同期転送方式では、レシーバへ転送される前、
データがバス全体について有効である必要がある。この
ため、最大データ伝送速度は、バスの全長を伝ぱする信
号の伝搬遅れによって決まる。
それに加えて、各プロセッサに対し、同じ長さの独立ク
ロック・ラインと個々の選択ラインを設ける必要がある
ので、バスを構成するために多数の導線が必要で、その
結果バス・ハードウェアの製造の複雑さが増し、製造コ
ストが高くなる。
問題点を解決するための手段 本発明は、連続オープン・ループ方式でプロセッサをポ
ールして、送信準備の完了したプロセッサを識別し、準
備完了プロセッサを送信プロセッサとして順次選択する
バス・プロトコル装置である。本バス・プロトコル装置
は、全プロセッサに共通なバス・ラインのみを使用し、
放射状ラインを使用していない。このため、使用するバ
ス・ラインが従来の装置より少ないので、製造コストが
低く、複雑さが減り、信頼性が高い。
本発明の第1の特徴として、送信プロセッサと受信プロ
セッサとの間で語のパケットを伝送するために、非同期
タイミング方式を使用している。パケット内の語は、送
信信号のパルスによって送信プロセッサからバスにスト
ローブされ、そして受信信号のパルスによって受信プロ
セッサにロードされる。この受信信号は、送信プロセッ
サ側で、送信信号を時間遅れDRだけ遅延させることによ
って、送信信号から得られる。
本発明の第2の特徴として、バス・コントローラは、ど
のプロセッサが送信準備を完了したかを確認するため、
ポール信号をコントロール・バスに表明(assert)して
全プロセッサを同時にポールする。送信準備完了プロセ
ッサは、そのプロセッサに指定された特定のバス・ライ
ンに準備完了信号を表明する。この特定のバス・ライン
に表明された準備完了信号は、送信マスクを形成する。
本発明の第3の特徴として、バス・コントローラは、送
信マスクを受信して、送信準備完了プロセッサを識別
し、各準備完了プロセッサを送信プロセッサとして順番
に選択する。バス・コントローラは、選択されたとき、
すべての準備完了プロセッサは、パケットを送信する準
備が完了しているものと仮定して動作する。したがっ
て、特定の準備完了プロセッサを送信プロセッサとして
選択したあと、バスコントローラは、データ転送サイク
ルを自動的に開始し、選択されたプロセッサがパケット
をバスへ転送することを許容する。
本発明の第4の特徴として、選択されたとき、送信準備
が未了であれば、選択されたプロセッサは、送信準備が
未了であることを指示する否定応答信号を発する。この
否定応答信号はバス・コントローラへ転送される。バス
・コントローラは、否定応答信号を受け取ると、そのプ
ロセッサに対するデータの転送を中止し、別の準備完了
プロセッサを送信プロセッサとして選択する。
本発明の第5の特徴として、バス・コントローラは、前
回のポールに応答した全プロセッサが選択されたなら
ば、再びプロセッサをポールする。このポーリングおよ
び選択過程は、オープン・ループ方式で進行する。
上記のポーリング方式は、プロセッサからのアクセスの
積極的な要求を必要とせず、ポーリングが自動的に進行
すること、およびプロセッサからの積極的な準備完了肯
定応答を必要とせず、選択および許容が自動的に進行す
ることから、従来の方式よりも伝送効率が良い。もしバ
ス・コントローラ側で選択されたプロセッサが送信準備
未了であることを指示する否定応答信号を受け取れば、
自動シーケンスが中止されるだけである。
本発明の第6の特徴として、選択された準備完了送信プ
ロセッサは、そのデータ・パケットを受け取る別のプロ
セッサを選択する。選択された受信プロセッサがパケッ
ト受信準備が未了であることを指示しない限り、自動的
に選択された受信プロセッサへ転送される。ここでも、
積極的な準備完了肯定応答信号の必要がないので、デー
タ伝送速度を高められる。
本発明の第7の特徴として、前述の時間遅れDRは、その
値が送信信号の周期の約1/2になるように制御される。
この結果、送信プロセッサ側では、データ信号と送信パ
ルスとが一致し、また受信パルスは2っの送信パルスの
中間にある。
本発明の第8の特徴として、送信信号の周期は、受信プ
ロセッサ側で、バス・スキュー時間とタイミング・マー
ジンの和にほぼ等しくなるように制御される。従来の同
期式バス・システムでは、受信プロセッサ側でバス伝搬
時間とタイミング・マージンの和にほぼ等しい周期をも
つ送信信号を使用するよう制限される。したがって、本
方式では、バス・スキュー時間がバス伝搬時間より短い
ので、従来方式よりも送信信号の周期が短く、したがっ
てデータ伝送速度が大きい。
本発明のその他の特徴と利点は、添付図面を参照し、以
下の詳細説明を読まれれば明らかになろう。
実施例 第1図は、マルチプロセッサ・バス・システムの略図で
ある。マルチプロセッサ・バス・システム31は、独立し
たプロセッサ・モジュール33を備えている。各プロセッ
サ・モジュール33は、中央処理装置(CPU)105と、メモ
リ107と、プロセッサ間制御装置55とで構成される。独
立したプロセッサ・モジュール33は、プロセッサ間の通
信のため、プロセッサ間バス35によって相互に連絡され
ている。
マルチプロセッサ・バス・システム31の特定実施例の場
合、最大16個のプロセッサ・モジュール33が2っのプロ
セッサ間バス35(第1図では、Xバスと、Yバスで示し
てある)で相互に連絡されている。各プロセッサ間バス
35には、バス・コントローラ37が結合されている。
各プロセッサ33のCPUは、ホスト・プロセッサ113と、関
連マイクロプログラム115を含んでいる。バス・コント
ローラ37、プロセッサ間バス35、およびプロセッサ間制
御装置55は、関連ホスト・プロセッサ113とマイクロプ
ログラム115と共に、1っのプロセッサ間バス・システ
ムを構成する。次に、このシステムの構成およびと作用
をより詳しく説明する。
バスを経由して転送される情報は、マルチワードパケッ
トに伝えられる。本発明の好ましい実施例の場合、各パ
ケットは、16語のパケットであり、そのうち15語は、デ
ータ語である。
バス・コントローラ37および個々のプロセッサ・モジュ
ール33のプロセッサ間制御装置55内の制御論理回路は、
詳細なプロトコルに従っている。プロトコルは、データ
のパケットを転送するセンダとレシーバの対とタイムフ
レームの確立について定めている。
Xバス35とYバス35は、構造が同じであるから、一方の
バスについてだけ詳しく述べることにする。第1図に示
すように、各バス35は、16本の個別バス・データライン
57、3本のエンコード・コントロール・ラインと1本の
パリティ・ライン(EBUS)59、1本の受信命令(RCVCM
D)ライン62、1本のNAKライン64、2本のクロック・ラ
イン(SCLK66,RCLK68}で構成される。
第1図に示すように、各プロセッサ・モジュール33のプ
ロセッサ間制御装置55は2っのIN待ち行列部65(X IN待
ち行列部と、Y IN待ち行列部で示す)と、1っの共用OU
T待ち行列部67とから成る。
各IN待ち行列部65の入力は、データ・バス59とRCLKライ
ン68とRCVCMDライン62に接続され、出力は、対応するプ
ロセッサ間バス35のNAKライン66に接続されている。共
用OUT待ち行列部67の出力は、データバス57と、NAKライ
ン64と、RCLKライン68と、RCVCMDライン62とに接続さ
れ、入力は、E BUS 57と、D BUS 57と、NAKライン64と
対応するバスのSCLKライン66とに接続されている。
データバスのすべてのラインは、すべてのプロセッサ・
モジュール33に共用される。バス・コントローラ37から
個々のプロセッサ・モジュール33に対する放射状ライン
すなわち専用ラインは存在しない。放射状ラインが無い
ので、電気的雑音が少なく、システムの信頼性が高く、
システムのコストが安くなる。
第2図は、バス・コントローラ37の略図である。図示の
ように、バス・コントローラ37は、状態マシン70、発振
器72、遅延素子76、バイプライン・レジスタ74で構成さ
れる。発振器72の出力は、状態マシン70のクロック入力
と、パイプライン・レジスタ74のクロック入力と、遅延
素子76を介してSCLKライン66とに接続されている。パイ
プライン・レジスタ74の出力は、出力トランシーバ78を
介してデータコントロール・ライン57,59に接続されて
いる。状態マシン70の入力は、入力トランシーバ80を介
してデータコントロール・ライン57,59に接続されてい
る。
第3図は、プロセッサ間制御装置55の共用IN待ち行列部
65の略図である。IN待ち行列バッファ90は、記憶機能を
果たす。IN待ち行列バッファ90のデータ入力は、IN待ち
行列パイプライン・レジスタ92によってDバス57に接続
され、そのデータ出力はSM−SJバス94に接続され、バス
94によって、IN待ち行列バッファ90とプロセッサ・モジ
ュール33の主メモリ107との間でデータが転送される。
IN待ち行列部65には、受信状態論理マシン96とCPUコン
トロール状態論理マシン98が含まれている。受信状態論
理マシン96のクロック入力は、RCLK68に接続され、CPU
論理マシン98のクロック入力は、CPUクロックに接続さ
れている。
CPU105は、プロセッサ間バス・クロックとは異なるクロ
ックに基づいて動作する。CPUによるプロセッサ間制御
装置55におけるOUT待ち行列のファイリングまたはIN待
ち行列のエンプティングにおける動作は、CPUクロック
速度で行われる。しかし、プロセッサ間バスを経由する
パケットの転送は、常にバス・クロック速度で行われ
る。本装置には、2っのバス・クロック、SCLKとRCLKが
ある。SCLKとRCLKは、同じ速度で刻時するが、2っの信
号には、相対的な位相差が存在する。
パイプライン・レジスタ92に対するクロック入力は、ト
ランシーバ・クロックバッファを介してRCLKラインにも
接続されている。この結果、受信状態論理マシン96とパ
イプライン・レジスタ92は、RCLK信号で刻時される。
受信状態論理マシン96は、受信命令ライン62、Dバス5
7、SJバス100、受信ライン102、およびREQ−IQライン10
4にそれぞれ接続された入力を有し、CLRライン106、NAK
ライン64、およびCPU−OWNS−IQライン108に接続された
出力を有する。CPU制御状態論理マシン98は、S−FUNバ
ス100およびCPU−OWNS−IQライン108に接続された入力
を有し、受信ライン102、CLRライン107、REQ−IQライン
104に接続された出力を有する。IN待ち行列カウンタ110
は、MUX 111を介してCNT−EN−CLRライン106,107に接続
された入力と、アドレスバス112に接続された出力とを
有する。MUX 111の制御入力は、CPU−OWNS−IQライン10
8に接続されている。アドレス・バス112は、IN待ち行列
バッファ90のアドレス入力に接続されている。
各IN待ち行列バッファ90は、1パケットを記憶する、奥
行が16語のバッファである。各IN待ち行列バッファ90の
アドレッシングは、直線的で、語アドレスを作るため4
ビットのカウンタ110を使用している。このカウンタ110
は、バスが待ち行列に書き込むたびに、またプロセッサ
が待ち行列に書き込むたびに、またはそこから読み出す
たびに、自動的に増分される。
第4A図は、プロセッサ間制御装置55の共用OUT待ち行列
部67の略図である。第4A図を参照すると、OUT待ち行列
バッファ160のデータ出力は、OQパイプライン・レジス
タ162およびMUX 163を介してDバス57に接続されてい
る。送信マスク発生器163aは、MUX 163を介してDバス
に接続されている。OQバッファ160のデータ入力ポート
は、SM−SJバス94に接続されている。送信状態マシン16
4のクロック入力は、SCLKライン66に接続されている。C
PU制御送信状態マシン166のクロック入力は、CPUクロッ
クに接続されている。OQパイプライン・レジスタ162の
クロック入力は、トランシーバ・クロックバッファを介
してSCLKラインに接続されている。
送信状態マシン164は、NAK INライン168、Eバス59、D
バス57、送信ライン170、REQ−OQライン172、OUTQ−NOT
−EMPTYライン173、およびCOUNT ZEROライン174にそれ
ぞれ接続された入力を有し、NAK OUTライン176、Dバス
57、受信命令ライン62、CPU−OWNS−OQライン176、CNT
−EN−CLRライン178、RESPOND−TO−POLLライン179、お
よびTIME OUTライン180にそれぞれ接続された出力を有
する。
CPU制御送信状態マシン166は、SFUNバス100およびCPU−
OWNS−OQライン108に接続された入力と、SENDライン17
0、REQ−OQライン172、およびCNT−EN−CLRライン182に
接続された出力を有する。OUT待ち行列カウンタ184の入
力は、CNT−EN−CLR174,182およびMUX 186を介してSCLK
およびCPU CLKに接続されている。MUX 186の制御入力
は、CPU−OWNS−OQライン176に接続されている。アドレ
ス・バス186は、OUT待ち行列バッファ160のアドレス入
力に接続されている。各OUT待ち行列部は、以上のほか
に、SCLKライン66に接続された入力とRCLKライン68に接
続された出力をもつOUT待ち行列遅延素子190から成るRC
LK発生回路を備えている。
第4B図および第4C図は、OUT待ち行列アドレッシング・
カウンタ184およびOUT待ち行列バッファ160の論理的お
よび物理的手段を示す。第4B図を参照すると、OUT待ち
行列バッファ160は、奥行が256語、幅が16ビット(2パ
リティ・ビットが加わる)の単一メモリ配列から成る。
OUT待ち行列バッファ160は、各16語のパケットを16個記
憶することが可能である。この配列のアドレッシング論
理回路が、循環待合せを実行する。バスは、待ち行列の
最下位からパケットを除去し、プロセッサは、待ち行列
の最上位にパケットを加える。次に、第4C図を参照する
と、OQバッファ160に対するアドレスを作るために、3
個のカウンタ、CPU−PACKPNTカウンタ184a、BUS−PACKP
NTカウンタ184b、およびOQ−CNTカウンタ184cが使用さ
れている。
CPU−PACKPNTカウンタ184aは、待ち行列内の次のフリー
パケット記憶場所を指し、プロセッサがOUT待ち行列バ
ッファ160から読み出すとき、または書き込むときのア
ドレスの上4ビットを与える。このカウンタは、RESET
OUT QUEUEマイクロオペレーションを用いてクリアする
ことができ、またNEXTマイクロオペレーションを用いて
増分することができる。
BUS−PACKPNTカウンタ184bは、バス上に送信される待機
中の次のパケットを指し、バス・コントローラ状態マシ
ン70が待ち行列を読み出すときのOUT待ち行列の上4ア
ドレス・ビットを与える。
このカウンタは、RESET OUT QUEUEマイクロオペレーシ
ョンでクリアされ、パケットが送信されたあと自動的に
増分される。
OQ−CNTカウンタ184cは、OUT待ち行列の下位の4アドレ
スビットを提供し、したがってパケットの1語を指す。
このカウンタは、RESET OUT QUEUEマイクロオペレーシ
ョンがRESET COUNTマイクロオペレーションを用いてリ
セットされる。OQ−CNTカウンタ184cは、語がOUT待ち行
列バッファ160に書き込まれるか、または呼び出される
たびに自動的に増分される。16回の呼び出しまたは書き
込みのあと、このカウンタは、0まで一回りする。この
結果、パケットの16番目の語は、最初の語と同じであ
る。
第5図、第6図、および第7図は、バス・コントローラ
37、IN待ち行列部65、OUT待ち行列部67の動作をそれぞ
れ明らかにする状態図である。
各図において、矢印付きの実線は、現在の状態から次の
状態への遷移を示す。実線の上で終わっている点線矢印
は、指示された遷移を実行するために満たさなければな
らない条件を示す。
第8A図は、Eバス59、Dバス57、受信命令ライン62、お
よびNAKライン64上の信号の遷移を示すタイミング図で
ある。
次に、第1図に示したプロセッサ33間でパケットを首尾
よく転送するためのシステム・プロトコルを説明する。
転送を首尾よく行うために、IN待ち行列バッファ90は空
であり、受信状態マシン96はWAIT−FOR−CMD状態にあ
り、OUT待ち行列バッファ160は一杯であり、送信状態マ
シン164はWAIT−FOR−CMD状態にあり、バスコントロー
ラ状態マシン70はPOLL−PROC状態にある。
伝送のとき、バス・コントローラ状態マシンは、コード
化信号をEバス59へ送る。表1に、上記コード化信号の
名称、信号コードを列挙し、各コード化信号の機能を簡
単に説明する(*は、データが低値で表明されている
(low asserting)ことを示す)。表2に、受信状態マ
シンの状態の遷移を列挙し、表3に、送信状態マシンの
状態の遷移を列挙する。
表1 DATA(00:15)* これらの16本のラインは、最上位のビット以外のDATA
(00)とIPBデータ伝える。
CNTL(0:2,P)* これらのコード化コントロール・ラインは、バス・コン
トローラによってのみ表明され、以下の説明において、
“1"は、信号が表明されることを意味し、“0"は、信号
が表明されないことを意味する。信号は、低値で表明さ
れている(low asserting)ことに留意されたい。CNTL
(P)*は、3本のコントロール・ラインの奇数パリテ
ィである。
000,1−−NULL バス・コントローラは、この命令を表明することで、バ
スに何も生じてないことを指示する。これは、ポーリン
グ・サイクルのときの伝搬遅れを見越すのに用いられ
る。
000,0−−(予約) 001,0−−DATA−XFER バス・コントローラは、この命令を表明することで、デ
ータの転送が進行中であることを指示する。
101,1−−RESET バス・コントローラは、この命令を表明することで、各
プロセッサについて送信状態マシンをリセットする。状
態マシンのリセットは、SCLKと同期している。
110,1−−POLL−PROC バス・コントローラによって、この命令が表明される
と、送信するパケットを有する各プロセッサは、そのプ
ロセッサ番号に対応するデータ・ラインを表明する。
111,0−−SNDCMD バス・コントローラは、プロセッサ番号と、この指令を
DATA(04:07)およびDATA(12:15)に表明することで、
送信するプロセッサを選択する。
ここで、第5図〜第8図および表1〜表3を参照する
と、バス・コントローラ状態マシンは、クロックサイク
ル1〜3においてポール・プロセッサ信号を表明する。
このポール・プロセッサ信号は、送信状態マシンに受け
取られ、WAIT−FOR−COMMAND状態からRESPOND−TO−POL
L状態への遷移が起こる。
次に、状態マシンは、OUT Qバッファ(RAM)160に記憶
されたパケットを送信する準備が完了しているか否か決
定する。もしそのパケットを送信する準備が完了してい
れば、送信状態マシン164は、ライン175のRESPOND−TO
−POLL信号の状態を制御して、MUX 163に送信マスク発
生器163aをDバス57に接続させる。送信マスク発生器16
3aは、そのプロセッサに割り当てられたDバス57の特定
ラインに信号を表明し、その特定プロセッサが送信準備
が完了していることを指示する。もしそのプロセッサが
送信準備が未了であれば、送信状態マシン164は、ライ
ン173のRESPOND−TO−POLL信号の状態を制御して、MUX
163にレジスタ162をDバス57に接続させる。レジスタ16
2は、Dバス57の特定ラインに信号を表明して、そのプ
ロセッサが送信準備が未了であることを指示する。前述
のように、Dバス57は、16本の個別ラインを有し、各ラ
インは、バス57に接続された16個のプロセッサの定めら
れた1っに割り当てられている。したがって、送信準備
完了プロセッサに割り当てられたデータ・ラインが表明
され、送信準備未了プロセッサに割り当てられたデータ
・ラインが表明されない場合に、送信マスクが作られ
る。この送信マスクは、第8A図のグラフ202に示すよう
に、クロックサイクル2〜4のとき、データ・バスに表
明される。第8B図に、送信マスクを示す。送信マスク
は、バス・コントローラに受け取られ、バス・コントロ
ーラは、クロックサイクル4〜6のとき、POLL−PROC状
態からNULL状態へ遷移する。NULL状態のとき、バス・コ
ントロール状態マシンは、送信マスクを読み取り、どの
プロセッサがデータを送信する準備ができているかを決
定する。そのあと、バス・コントローラは、SEND状態へ
遷移し、Eバスの上にSEND COMMAND信号を発生する。
また、バス・コントローラは、第8A図のグラフ202に示
すように、クロックサイクル6と7のとき、送信プロセ
ッサのアドレスをDバスに表明することで、準備完了プ
ロセッサの中から送信プロセッサを選択する。Dバスに
表明されたアドレスで識別された送信プロセッサ状態マ
シンは、BUS−DELAY状態へ遷移し、1クロックサイクル
の間バスが整定するままにし、そのあと、POLL−RECEIV
ER状態へ遷移する。
POLL−RECEIVER状態において、送信プロセッサは、第8A
図のグラフ202に描いてあるように、OUT待ち行列バッフ
ァ160内の最初の語をDバスに転送する。第8C図に、パ
ケットの語00の書式を示す。同時に、バス・コントロー
ラ状態マシンは、SEND状態からDATA−XFER状態へ移行
し、第8A図のグラフ200に描いてあるように、Eバスに
データ転送信号を表明する。これで、バス・コントロー
ラ37は、バスに対する送信プロセッサのアクセスに同意
した。もし送信準備未了であれば、送信プロセッサは、
NAKライン64にNAK信号を表明して、準備未了であること
をバス・コントローラに指示する。NAK信号を受け取ら
ない限り、バス・コントローラ37は、自動的にDATA−XF
ERサイクルの間、DATA−XFER状態のままである。その場
合には、送信プロセッサからの転送は中止される。
バス・コントローラ37は、SEND状態を表明し、別の準備
完了プロセッサを選択して送信プロセッサにする。もし
NAK信号を受け取らなければ、送信プロセッサは、この
クロックサイクルのとき、受信命令ライン62に表明し、
データ・パケットの第1語でD BUS 57を駆動し続ける。
そのあと、受信状態マシン96は、WAIT−FOR−CMD状態か
らLOAD−IQ状態へ移行する。クロックサイクル9では、
IN待ち行列カウンタ110、OUT待ち行列カウンタ184、お
よびバス・コントロール状態マシン70内のカウンタが、
16クロックサイクル(カウント00からカウント15まで)
のカウントを開始する。IN待ち行列カウンタとOUT待ち
行列カウンタは、それぞれIN待ち行列バッファ90とOUT
待ち行列バッファ160のアドレス空間に及んでいる。以
下詳しく述べるSCLK/RCLKタイミング方式に従って、OUT
待ち行列バッファ160からパケットの語が、バスへ転送
され、IN待ち行列バッファ90に刻時される。16クロック
サイクルの終りに、カウンタから出力されたカウント15
により、バス・コントロール状態マシンは、DATA−XFER
状態からNULL状態へ、送信バッファ状態マシンは、SEND
状態からCLR−TIMER状態へ、受信バッファ状態マシン
は、LOAD−IQ状態からCNT−DELAY状態へ、それぞれ移行
する。上記のDELAY状態およびNULL状態によって、バス
は、別のパケットを転送する前に、整定することができ
る。
続いて、バス・コントロール状態マシン70は、SEND状態
へ戻り、送信準備の完了した次のプロセッサのアドレス
をEバスに置く。すべてのプロセッサがパケットを転送
してしまうまで、各送信準備完了プロセッサについて上
記のサイクルが続行される。そのあと、バス・コントロ
ール状態マシンは、SEND状態からPOL−PROC状態へ移行
し、上記のプロセスを繰り返す。
このように、データの転送は、第1のプロセッサがデー
タの16語のパケットを第2のプロセッサへ送信すること
から成る。データの転送は、プロセッサが一括ポールに
応答したあと、バス・コントローラが送信する第1のプ
ロセッサを選択すると、開始される。バス・コントロー
ラは、SENDコードをEバスに表明し、かつ第1のプロセ
ッサのアドレスをデータ・ライン04〜07および12〜15に
表明することによって、送信するプロセッサを選択す
る。もし送信準備が未了であれば、第1のプロセッサ
は、2っのサイクルについて選択を承認しない旨のNAK
を表明する。NAK信号を受け取ると、バス・コントロー
ラは、送信プロセッサすなわちセンダの選択を中止し、
配列内の次のセンダの選択を進める。もし送信準備を完
了していれば、第1のプロセッサは、RECEIVE CMMANDラ
インおよびそのIN待ち行列のパケットの第1語をDバス
に表明する。パケットの第1語は、第2の受信プロセッ
サのアドレスを含んでおり、RECEIVE CMMANDラインとパ
ケットの第1語との組み合わせによって、受信するプロ
セッサが独自に選択される。もし受信準備が未了であれ
ば、第2のプロセッサは、2っのサイクルについてNAK
を表明する。そのNAKを受け取ると、第1のプロセッサ
は、現在のデータ転送を中止し、WAIT−FOR−CMD状態で
バス・コントローラからの次の一括ポールを待つ。バス
・コントローラは、NAKを受け取ると、転送が不成功で
あったと仮定し、現在のデータ転送を中止したあと、次
のセンダを選択する。第1のプロセッサとバス・コント
ローラは、共にNAKを監視していなければならないこと
に留意されたい。
もしパケットの受信が可能であれば、第2のプロセッサ
は、下記のように、RCLKの能動端線を使用してデータを
そのIN待ち行列に刻時する。パケットを読み取ったあ
と、第2のプロセッサは、そのIN待ち行列バッファがホ
ストCPUによって空にされるまで、受信に使用すること
ができなくなる。
以上のデータ転送は、もしNAKを受け取らなければ、第
1のプロセッサは転送が成功したものと仮定する、オー
プン・ループ方式で行われる。
このオープン・ループ動作によって、バス・プロコトル
は、積極的肯定応答を必要とした場合よりも、効率よく
操作することが許される。
各受信状態マシンは、実際には、2個のインタロック状
態マシンで構成される。第1の受信状態マシンは、プロ
セッサ・クロックで刻時され、マイクロ操作命令に応答
する。第2の受信状態マシンは、RCLKで刻時され、第1
受信状態マシンからの命令のほか、バスからの命令に応
答する。
2個のマシン間の命令は、二重に同期されている。第6
図は、受信状態マシンの状態遷移図を示す。
第2の受信状態マシンは、プロセッサとバスの間で、IN
待ち行列の所有を調停する。もしこのマシンがMUX−DEL
AY、WAIT−FOR−IQ、NAK 1、またはNAK 2の状態であれ
ば、待ち行列は、プロセッサによって所有される。もし
このマシンがその他の状態であれば、待ち行列は、バス
によって所有される。
第2の受信状態マシンがWAIT−FOR−IQ状態であると仮
定する。もし別のプロセッサが、このプロセッサを、こ
の状態にあるとき、レシーバとして選択しようとすれ
ば、マシンは2っのサイクルについてNAK信号を表明す
る。NAKの表明によって、送信中のプロセッサは、転送
を中止する。
IN待ち行列を空にし、別のパケットを受信する準備がで
きると、プロセッサは、GIVE−IQマイクロ操作を実行す
る。この操作により、第1の受信状態マシンは、IDLE状
態からRECEIVE状態へ移行する。この遷移により、第2
の受信状態マシンは、WAIT−FOR−IQ状態からMUX−DELA
Y 2状態へ移行する。このMUX−DELAY 2状態により、第
1の受信状態マシンは、IDLE状態へ戻り、次のマイクロ
操作命令を待つ。第2の受信状態マシンは、MUX−DELAY
2状態から、CLEAR−CNT状態を経由してWAIT−FOR−CMD
状態へ移行する。もしMUX−DELAY 1またはCLEAR−CNT状
態にあるときに選択されれば、受信プロセッサは、NAK
を表明する。
バスで刻時されたマシンがWAIT−FOR−CMD状態にある限
り、IN待ち行列は、バスによって所有される。プロセッ
サは、CPU−REQ−IQマイクロ操作命令を実行することに
よって、待ち行列の所有権を再び所得することができ
る。この命令により、第2の受信状態マシンは、WAIT−
FOR−IQ状態へ移行し、ここでプロセッサが待ち行列を
所有する。そのあと、第1の受信状態マシンは、IDLE状
態へ戻る。
第2の受信状態マシンは、バス上の別のプロセッサによ
って受信するよう選択されると、WAIT−FOR−CMD状態か
らLOAD−IQ状態へ移行し、16語をIN待ち行列にロードし
てしまうまでLOAD−IQ状態のままである。そのあと、第
2の受信状態マシンは、CNT−DELAY状態を経由してWAIT
−FOR−IQ状態へ移行するので、待ち行列の所有権は、
プロセッサに戻る。CNT−DELAY状態は、クロック入力を
スイッチする前に、IN待ち行列アドレス・カウンタへの
許容入力が、確実に取り下げられるようにする。
送信状態マシンは、実際には、2個のインタロック状態
マシンで構成される。第1のマシンは、プロセッサ・ク
ロックで刻時され、マイクロ操作命令に応答する。第2
のマシンは、SCLKで刻時され、バス上の実際の信号を制
御する。2個のマシン間の信号は、適当なクロックで二
重に同期される。
OUT待ち行列の所有権は、第2の状態マシンで制御され
る。第2の状態マシンがWAIT−FOR−OQ、NAK 1、または
NAK 2の状態にある限り、OUT待ち行列は、プロセッサに
よって所有され、もし他の状態にあれば、バスによって
所有される。パケットは、待ち行列がバスによって所有
されているときだけ、送信することができ、プロセッサ
は、待ち行列を所有しているときだけ待ち行列を処理す
ることができる。
第2の状態マシンが、WAIT−FOR−CMD状態であると仮定
する。もしバス・コントローラからポール命令を受け取
り、待ち行列が空でなく、かつ時間が終了していなけれ
ば、第2の状態マシンは、RESPOND−TO−POLL状態へ移
行する。この状態で、第2の状態マシンは、バス・コン
トローラによってポール命令が引き下げられるまで、ポ
ール・マスクをバスへ送り出し、そのあと、WAIT−FOR
−CMD状態へ戻り、別の命令を待つ。
バス状態マシンは、バス・コントローラによって送信す
るよう選択され、待ち行列が空でなく、かつタイマが終
了していない場合にだけ、WAIT−FOR−CMD状態からパケ
ットを送信する状態へ移行する。BUS−DELAY状態は、新
しいプロセッサ(すなわち、このプロセッサ)がバスを
駆動し始めたとき、バス上の伝搬遅れに対し、1バスサ
イクルを見越している。受信プロセッサは、POLL−RCVR
状態で選択される。送信プロセッサは、レシーバは受信
準備が完了しているものと仮定して、パケットの残りを
送信し始める。もし送信過程中いつでもNAKが表明され
れば、プロセッサは、WAIT−FOR−CMD状態へ戻ることに
よって、パケットの送信を中止する。もしNAKが表明さ
れずに、すべての語が送信されれば、プロセッサは、送
信がうまく行ったものと想定する。そのあと、プロセッ
サは、CLR−TIMER状態で、送信タイマをクリアし、そし
て待ち行列内の次のパケットを指すためBUS−PACKPNTカ
ウンタを増分する。
バス状態マシンは、WAIT−FOR−CMD状態にあるときだ
け、プロセッサからの所有要求に応答し、そのあと、WA
IT−FOR−OQ状態へ移行し、待ち行列の所有権をプロセ
ッサに与える。もしWAIT−FOR−OQ状態にある間に送信
するよう選択されれば、バス状態マシンは、2っのサイ
クルについてNAK信号を表明する。このNAKにより、バス
・コントローラは、このセンダの選択を中止する。プロ
セッサは、OUT待ち行列を完成すると、WAIT−FOR−CMD
状態へ移行することによってその待ち行列をバスマシン
に与える。この状態によって、バス状態マシンはパケッ
トの送信を始める。OUT待ち行列が空になると、バス状
態マシンは、WAIT−FOR−OQ状態に移行する。この結
果、OUT待ち行列が空になると、OUT待ち行列の所有権
は、プロセッサのものになる。
バス・コントローラからのバス・リセット命令は、OUT
待ち行列の所有者しだいで信号状態マシンに対していく
らか異なる効果を有する。もしプロセッサがOUT待ち行
列を所有していれば、バス・リセット命令は、送信状態
マシンをWAIT−FOR−OQ状態にする。これに対し、もし
バスがOUT待ち行列を所有していれば、バス・リセット
命令は送信状態マシンをWAIT−FOR−CMD状態にする。
上記のプロトコルは、データ転送すなわち送信サイクル
を開始する前に、選択されたプロセッサから積極的肯定
応答を要求せず、その代わり、否定応答で、選択された
プロセッサが要求された機能を実行する準備が完了して
ないことを指示しない限り、自動的に送信サイクルを開
始させる。この否定応答方式の使用により、プロトコル
に付随するオーバヘッド時間が短縮されるので、システ
ムのデータ転送速度が高められる。
次に、第1のプロセッサ(センダ)内の語をバスへ転送
し、そのバス上の語を第2のプロセッサ(レシーバ)へ
転送するためのタイミング基準を確立することに関する
システム・プロトコルの特徴について述べる。
第9図は、各種のクロック信号とデータの遷移を示すタ
イミング図である。REFCLK 300は、バス・コントローラ
発振器72の出力である。SCLK 302とRCLK 304は、共にRE
FCLK 300から得られたものであるから、相対的位相は異
なるが、周波数は同じである。
各SCLKパルスの前縁は、対応するREFCLKパルスの前縁に
対して時間遅れDSと他の回路素子によって生じた時間遅
れだけ遅れている。この時間遅れDSは、バス・コントロ
ーラ遅延素子76(第2図)によって作られる。
同様に、REFCLKパルスの前縁は、SCLKパルスの前縁に対
して遅延素子190によって作られた量DRと他の回路素子
によって生じた時間遅れだけ遅れている。
第4図に示したように、SCLKパルスは、センダのOUT待
ち行列パイプライン・レジスタ162からDバスにデータ
を刻時するストローブとして使用される。RCLKパルス
は、SCLKパルスを遅延素子190を通してRCLKライン68へ
転送して、センダ側で作られる。
第3図を参照すると、RCLKパルスは、Dバスからレシー
バのIN待ち行列パイプライン・レジスタ192にデータを
刻時するストローブとして使用される。
再び第9図を参照すると、SCLKパルスの前縁を受け取る
と、センダのOUT待ち行列パイプラインレジスタ162から
パケット内の連続語が転送される。したがって、各デー
タ語サイクルの時間は、クロック・サイクルの周期に等
しい。各データ語サイクルの前縁は、SCLKパルスの前縁
に一致している。
バスへ転送される各語は、Dバス57の個々のラインに表
明された1組の高低の電圧レベル信号で構成される。こ
れらの信号の伝搬は、伝送路内に各構成部品によって遅
れる。特に、Dバス自体によつて生じる時間遅れ(Tbu
s)は、センダとレシーバ間のバスの長さで左右され
る。
本方式では、任意の2っのプロセッサ間で伝送を行うこ
とがある。したがって、値Tbusは、最大値(センダとレ
シーバは、バスの両端に位置している)から最小値(セ
ンダとレシーバは、バス上で隣接している)まで変化す
ることがある。
信号RCLKは、センダ側で作られ、データ語サイクルに対
して同調される。データ語がレシーバで有効である時間
の中ごろにRCLKパルスの前縁が到着するように、値DRが
選ばれる。データ語とRCLKパルスは、センダ側で作ら
れ、共にバス上をレシーバまで伝ぱするので、バス伝搬
遅れ(Tbus)は、両信号についてほぼ同じである。この
ように、本方式は、バス上のセンダとレシーバの相対的
位置に起因するバス伝搬遅れの変動を補償し、その変動
に対するあらゆる従属関係を取り去っている。
どのバス方式でも、バスの種々のライン上の2点間の伝
搬遅れは、厳密に言えば等しくなく、製造上の不完全さ
やその他の物理的作用のために異なる。任意の2信号に
関する伝搬遅れ間の最大の変動は、バスのスキュー時間
である。したがって、センダ側でデータ語とRCLKパルス
との間に確立された位相関係は、両信号がバスに沿って
伝ぱするので、保たれない。
第10図は、プロセッサ対プロセッサのデータ転送のと
き、レシーバIQパイプライン・レジスタにおけるデータ
語とRCLK信号との相対的タイミング関係を示す。スキュ
ーのために、RCLK信号の前縁の位置は、時間間隔TRmax
−TRminにわたって変わることがある。
第10図に示すように、IN待ち行列パイプライン・レジス
タ92の電気的特性は、RCLKパルスの前縁が到達する前、
最小準備時間TSUの間、データ語がIN待ち行列パイプラ
イン・レジスタ92の入力側で有効であることを必要とす
る。さらに、データ語は、RCLKパルスの到達後、最小保
留時間THの間、有効のままでなければならない。
TSUとTHの和は、IN待ち行列パイプライン・レジスタ92
が必要とするタイミング・マージンである。SCLKの周期
は、少なくともタイミング・マージンとバスの最大スキ
ュー時間との和に等しくなければならない。このため、
データ転送速度は、レシーバ側のRCLKパルスとデータ語
間の最大スキューによって制限される。また、バスの両
端に位置するプロセッサ間のデータ転送のときに最大ス
キューが生じるので、最大データ転送速度は、バスの長
さで左右される。
本発明に使用されるデータ転送方式は、非同期式であ
る。データ語とRCLKパルスとの相対的タイミングは、送
信プロセッサによって確立される。データ語は、決めら
れたすべての時間に全バス上で有効である必要はない
が、ただ両信号がバスに沿って伝ぱするときRCLKに対し
て有効であることが必要である。したがって、決められ
た時間に数個のデータ語がバスに沿って伝ぱしているこ
とがある。バスは、決められた時間に数個の語を記憶す
るパイプライン・レジスタとして機能することができ
る。
同期式バス・プロコトルの場合は、1っのクロック信号
ですべてのデータ伝送を制御する。レシーバは、バスに
沿ってどの点に配置されるかも知れないので、データ語
は、レシーバのIN待ち行列部に記憶される前に全バス上
で有効でなければならない。同期式システム・クロック
の周期は、少なくともタイミング・マージン要求に等し
い時間間隔の間にDバス57の全長にわたってデータ信号
が十分に整定できる長さを有しなければならない。した
がって、クロックの最大周波数は、バスの一端から他端
までの信号の伝搬遅れで決まる。
発明の効果 同期式バス・システムより優れている本システムの利点
は、明らかである。システムの最大データ転送速度は、
バスの長さによって決まる。しかし、本システムでは、
この最大転送速度は、決められたプロセッサ側のタイミ
ング・マージンと、バスの長さによる最大スキューによ
って決まるのに対し、同期式システムの場合は、バスの
両端間の伝搬遅れによって転送速度が決まる。一般に、
スキュー時間は、伝搬遅れより短いので、本システムの
最大転送速度は、従来のバス・システムの転送速度より
大きい。
以上特定の実施例について発明を説明したが、関連分野
の専門家は、さまざまな修正や代替を思い浮かべるであ
ろう。たとえば、データ・パケット内の語数は、任意の
長さにすることができよう。本発明にとって、個々の状
態遷移テーブルや状態マシンは、決定的に重要ではな
い。したがって、本発明は、特許請求の範囲の記載以外
には、限定されないものと考える。
【図面の簡単な説明】
第1図は、マルチプロセッサ・バス・システムの略図、 第2図は、バス・コントローラの略図、 第3図は、プロセッサ間制御装置の共用IN待ち行列部の
略図、 第4A図は、プロセッサ間制御装置の共用OUT待ち行列部
の略図、 第4B図は、OUT待ち行列アドレッシングのための論理の
略図、 第4C図は、OUT待ち行列アドレッシングのための実際の
回路網の略図 第5図は、バス・コントローラの動作を示す状態図、 第6図は、受信状態マシンについてIN待ち行列部の動作
を示す状態図、 第7図は、OUT待ち行列部の動作を示す状態図、 第8A図は、Eバス、Dバス、受信命令ライン、およびNA
Kライン上の信号の遷移を示すタイミング図、 第8B図は、送信マスクの略図、 第8C図は、パケットの語00の略図、 第9図は、各種のクロック信号と、データ遷移を示すタ
イミング図、 第10図は、レシーバ側におけるRCLKパルスとデータ語と
の相対的位置関係を示すタイミング図である。 符号の説明 31……マルチプロセッサ・システム、 33……プロセッサ・モジュール、 35……プロセッサ間バス、37……バスコントローラ、 55……プロセッサ間制御装置、 57……バスデータライン(Dバス)、 59……制御ラインとパリティライン(Eバス)、 62……受信命令ライン、64……NAKライン、 65……IN待ち行列部、66……クロック(SCLK)ライン、 67……共用OUT待ち行列部、 68……クロック(RCLK)ライン、 70……状態マシン、72……発振器、 74……パイプラインレジスタ、 76……遅延素子、78……出力トランシーバ、 80……入力トランシーバ、90……IN待ち行列バッファ、 92……IN待ち行列パイプラインレジスタ、 94……SM−SJバス、96……受信状態論理マシン、 98……CPU制御状態論理マシン、 100……S−FUNバス、102……受信ライン、 104……REQ−IQライン、105……中央処理装置(CPU)、 106……CLRライン、107……主メモリ、CLRライン、 108……CPU−OWNS−IQライン、 110……IN待ち行列カウンタ、 111……MUX、112……アドレスバス、 113……ホストプロセッサ、 115……マイクロプログラム、 160……OUT待ち行列バッファ、 162……OQパイプラインレジスタ、163……MUX、 163a……送信マスク発生器、 164……バス送信状態マシン、 166……CPU制御送信状態マシン、 168……NAK−INライン、170……SENDライン、 172……REQ−OQライン、 173……OUTQ−NOT−EMPTYライン、 174……COUNT ZEROライン、 175……RESP−TO−POLLライン、 176……NAK−OUTライン、CPU−OWNS−OQライン、 178……CNT−EN−CLRライン、 179……RESPOND−TO−POLLライン、 180……TIMEOUTライン、182……CNT−EN−CLRライン、 184……OUT待ち行列(Q)カウンタ、 184a,184b,184c……カウンタ、 186……MUX、アドレスバス、 190……OUT待ち行列遅延素子、 200,202,204,206……各信号の遷移を示す線、 300,302,304……クロック信号。
フロントページの続き (72)発明者 リチャード エイ ザッカー アメリカ合衆国 カリフォルニア州 95030 ロス ガトス マッドローン ア ベニュー 16731 (72)発明者 スティーヴン ダブリュー ウィーレンガ アメリカ合衆国 カリフォルニア州 94087 サニーヴェイル レノックス ウ ェイ 1381 (56)参考文献 米国特許4471425(US,A) 英国特許3668649(GB,A)

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】バスと、前記バスに接続され、パケット転
    送サイクルのときデータ語のパケットを交換することが
    できる第1プロセッサと第2プロセッサを含む2以上の
    プロセッサと、前記プロセッサによるバスに対するアク
    セスを制御してセンダとレシーバのプロセッサ対を確立
    するバス・プロトコル装置とを有する形式のマルチプロ
    セッサ計算機システムであって、前記バス・プロトコル
    装置は、 前記プロセッサに第1のポーリングを行い、どのプロセ
    ッサがパケットを前記バスを通じて送信する準備が完了
    したかを決定する手段、 選択されたプロセッサが送信準備未了であることを指示
    する手段、 前記準備完了プロセッサの中から特定の1つを送信プロ
    セッサとして順番に選択し、データ転送サイクルのとき
    前記選択されたプロセッサがそのパケットを送信するこ
    とができるように前記選択されたプロセッサのバスに対
    するアクセスを許容し、前記選択されたプロセッサの1
    つが送信準備未了を指示しない限り前記準備完了プロセ
    ッサの全部がそれらのパケットを送信するまで、センダ
    ・プロセッサにすべき前記準備完了プロセッサの別の1
    つをオープン・ループ方式で選択する手段、 バスに対するアクセスを拒否し、選択されたプロセッサ
    が送信準備未了であることを指示したとき、データ転送
    サイクルの終了前に前記準備完了プロセッサの別の1つ
    を送信プロセッサとして選択する手段、 前記準備完了プロセッサの全部がそれらのパケットを送
    信してしまったか、または前記準備完了プロセッサの全
    部が送信準備未了であることを指示したとき、プロセッ
    サに第2のポーリングを行う手段、 から成ることを特徴とするマルチプロセッサ計算機シス
    テム。
  2. 【請求項2】バスと、前記バスに接続され、パケット転
    送サイクルのときデータ語のパケットを交換することが
    できる第1および第2プロセッサを含む2以上のプロセ
    ッサと、前記プロセッサによるバスに対するアクセスを
    制御してセンダとレシーバのプロセッサ対を確立するバ
    ス・プロトコル装置とを有する形成のマルチプロセッサ
    計算機システムであって、前記バス・プロトコル装置
    は、 全プロセッサを同時にポーリングして、どのプロセッサ
    がパケットを前記バスを通じて別のプロセッサへ送信す
    る準備が完了したかを決定する手段、 前記各準備完了プロセッサを送信プロセッサとして順番
    に選択する手段、 選択された送信プロセッサ側で、前記選択された送信プ
    ロセッサが送信準備未了であることを指示する手段、 前記選択された送信プロセッサが送信準備未了であるこ
    とを指示しない限り、各選択された準備完了プロセッサ
    についてデータ転送サイクルを開始し、前記選択された
    プロセッサがデータの送信をできるようにする手段、 前記選択されたプロセッサがデータ転送サイクルを終了
    したとき、または送信準備未了であることを指示したと
    き、別の準備完了プロセッサを送信プロセッサとして選
    択するよう前記選択手段を制御する手段、 から成ることを特徴とするマルチプロセッサ計算機シス
    テム。
  3. 【請求項3】前記バス・プロトコル装置は、さらに、 前記データ転送サイクルのとき、前記パケットを受け取
    る特定の受信プロセッサを選択する手段、 前記受信プロセッサが前記パケットを受信する準備がで
    きていないことを指示する手段、 前記受信プロセッサが受信準備未了であることを指示し
    ない限り、選択された送信プロセッサと受信プロセッサ
    との間でデータの転送を自動的に開始する手段、 を備えていることを特徴とする特許請求の範囲第2項記
    載のマルチプロセッサ計算機システム。
  4. 【請求項4】前記バス・プロトコル装置は、さらに、 複数の送信クロック・パルスから成る送信クロック・タ
    イミング信号を発生する手段、 前記送信クロック信号を前記送信クロック信号発生手段
    から前記送信プロセッサへ転送する手段、 前記送信プロセッサ側で、選択された送信クロック・パ
    ルスを受け取ると、前記バスへ前記パケットのデータ語
    をストローブする手段、 前記送信プロセッサ側で、前記選択された送信クロック
    ・パルスから一定の時間遅れDRだけ遅延した受信クロッ
    ク、パルスを発生する手段、 前記受信クロック・パルスを前記送信プロセッサから前
    記受信プロセッサへ転送する手段、 前記受信プロセッサ側で、前記受信クロック・パルスを
    受け取ると、前記バスからデータ語をロードする手段、 を備えていることを特徴とする特許請求の範囲第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項記
    載のバス・プロトコル装置。
JP62075777A 1986-03-28 1987-03-28 マルチプロセッサ計算機システム Expired - Lifetime JPH0766367B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPS62236065A JPS62236065A (ja) 1987-10-16
JPH0766367B2 true 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
WO1993003439A1 (en) * 1991-07-26 1993-02-18 Tandem Computers Incorporated Apparatus and method for frame switching
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
US9699102B2 (en) * 2004-08-09 2017-07-04 Arris Enterprises Llc Very high speed cable modem for increasing bandwidth
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

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
EP0165600B1 (en) * 1984-06-20 1991-11-21 Convex Computer Corporation Input/output bus for computer
JPH0670787B2 (ja) * 1984-06-29 1994-09-07 富士通株式会社 処理装置間指令転送制御システム

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH0766367B2 (ja) マルチプロセッサ計算機システム
US4965793A (en) Method and apparatus for interfacing a system control unit for a multi-processor
US5745708A (en) Method for and apparatus for operating a local communications module in arbitrating for mastership of a data transfer across a back plane bus in industrial automation controller
US5764927A (en) Backplane data transfer technique for industrial automation controllers
US4050097A (en) Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
EP0476990B1 (en) Dynamic bus arbitration
US7882278B2 (en) Utilizing programmable channels for allocation of buffer space and transaction control in data communications
US5250943A (en) GVT-NET--A Global Virtual Time Calculation Apparatus for Multi-Stage Networks
EP0165600A2 (en) Input/output bus for computer
EP0358715A1 (en) INTERRUPTION NODE FOR PROVIDING INTERRUPTION REQUESTS TO THE SYSTEM BUS.
US5881247A (en) System having a plurality of frame bytes capable of identifying addressed recipients and assert a busy signal onto the backplane bus to forthrightly abort the message transfer
JPH09179816A (ja) データ処理システム(非対称バス・アービトレーション・プロトコル)
EP0592213A1 (en) Synchronous/asynchronous partitioning of an asynchronous bus interface
US7167939B2 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
JPS6290742A (ja) 中央処理装置の性能を向上させる方法および装置
JPH0750462B2 (ja) マルチプロセッサ・システム
US7302508B2 (en) Apparatus and method for high speed data transfer
JP2002141922A (ja) ループ型バスシステム
JP2000285087A (ja) ノード間データ通信方法
JP2699873B2 (ja) バス制御回路
JP2752456B2 (ja) チャネル装置
IE901534A1 (en) Method and apparatus for interfacing a system control unit¹for a multiprocessor system with input/output units
Habchi et al. Some practical considerations for the implementer of the SCI network
JPH09507939A (ja) マルチプロセッサ・システムにおける入出力オペレーションの実行
WO2001050286A1 (en) Method and apparatus for differential strobing in a communications bus