JPS61175842A - 高速の直列バス構造およびデ−タ転送方法 - Google Patents

高速の直列バス構造およびデ−タ転送方法

Info

Publication number
JPS61175842A
JPS61175842A JP1272285A JP1272285A JPS61175842A JP S61175842 A JPS61175842 A JP S61175842A JP 1272285 A JP1272285 A JP 1272285A JP 1272285 A JP1272285 A JP 1272285A JP S61175842 A JPS61175842 A JP S61175842A
Authority
JP
Japan
Prior art keywords
serial bus
agent
bus
data
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1272285A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Priority to JP1272285A priority Critical patent/JPS61175842A/ja
Publication of JPS61175842A publication Critical patent/JPS61175842A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔利用分野〕 本発明は、ソースと複数の受信データ処理装置の間でデ
ータを転送する装置および方法に関するものであり、更
に詳しくいえば、多重バス構造を用いてソースと複数の
データ処理装置および複数の周辺装置の間でバスに沿っ
てデータを転送することに関するものである。
〔従来技術〕
コンピュータの分野においては、喪とえばコンピュータ
のような複数のデータ処理装置と、複数のプリンタと、
複数のメモリなど・との間で、システムバスすなわちデ
ータバスを介してデータと指令を転送することは、全く
一般的なことである。
データ処理装置は、メモリのアドレスに格納されている
命令を実行するプロセッサを通常含んでいる。処理され
るデータは、データ処理装置を他のデジタルハードウェ
アを相互に接続するバスを介して、入力装置/出力装置
によりシステムとの間で転送される。バスに結合されて
いるデータ処理装置の間のデータ転送の速度に対する共
通の制約は、データ処理装置の間で実際にデータの交換
が行なわれる前の指定された時間内に、所定の事象系列
が起ることを必要とするプロトコルすなわち「ハンドシ
ェーキング」制約である。
データ処理装置と、たとえば記憶装置と第2のプロセッ
サおよびディスクドライブなどのような周辺装置との間
で、データのやシと夛を行なうために種々の方法が考え
られている。そのうちの1つでは、処理装置の記憶装置
と周辺装置の間で大量の情報を動かせるようにする直接
メモリ転送を利用する。しかし、従来の直接メモリ転送
の欠点の1つは、直接メモリ転送ごとに何らかのプロセ
ッサの活動が必要なことである。転送をスタートおよび
ストップさせる各種の命令その他の信号が必要とされ、
しかもそれらの信号の発生には処理装置への割込みを必
要とする。複数のプロセッサを利用するデータ処理装置
においては、第1のプロセッサのメモリと第2のプロセ
ッサのメモリとの間における直接メモリ転送には、あい
まいさを避けるために、複雑なシステムプロトコルとア
ドレッシングとを必要とする。たとえば、第1のプロセ
ッサAのローカルリソースメモリと第2のプロセッサB
のローカルリソースメモリの間の共通バスに沿うデータ
の転送には、第2のメモリをアクセスして、バスに沿う
第2のプロセッサの転送を開始させるために、第2のプ
ロセッサの機能への割込みを必要とするのが普通である
。また、第1のプロセッサのメモリと第2のプロセッサ
のメモリとの間のメモリアドレスの何らかの重なシ合い
のために、同じ番号をつけられている場所における各メ
モリの内容に何らあいまいさがないようにするには、デ
ータ転送プロトコルが複雑になる。
L7たがって、多数のプロセッサを有するデータ処理装
置においては、データ転送の効率を最高にするためには
、システムリソースの適切な割当ておよびアクセスが重
要であることは明らかである。
〔概要〕
本発明は、多数のプロセッサの間のデータおよびメツセ
ージの転送を最適にするために、かつ、システムリソー
スを各バスに結合の全ての装置へ秩序正しく割当てるた
めK、多重バス構造を含むデータ処理装置アーキテクチ
ャを提供するものである。本発明のバス構造は、汎用並
列バスと、通信プロトコル訃よびデータ転送プロトコル
を定めるシステムイシター7エイスを介して相互に接続
される特殊バスとを有する。
複数のデータ処理装置の間でデータを転送するための多
重バスシステム・アーキテクチャおよび改良したデータ
転送方法が、本発明により開示される。本発明のバス構
造は、実際のデータ転送に先立って最少の「ハンドシェ
イク」を用いてデータおよびメツセージの変換を高速度
で行なえるようにするために、データ処理装置と周辺装
置(それらをま2めて[エージェント(agent)J
と呼ぶことにする)を相互に接続する並列バスと直列バ
スを含む。直列バスプロトコルおよヒ並列バスプロトコ
ルは、各通信エージェントに結合されているメツセージ
制御器により制御される。並列バスを介して行なわれる
データトラフィックに大きい影響を与えることなしに、
ローカルメモリと第2の処理リソースをアクセスできる
ように、ローカルバスがシステム内の処理エージェント
に結合される。あるエージェントのローカルバスに結合
されているリソースに対する他のバスエージェントから
の直接アクセスも、メツセージ制御器により制御される
ある要求バスエージェントが並列バスに沿うデータ交換
を開始することを希望したとすると、その要求バスエー
ジェントは、バス要求(BREQ)信号を表明し、それ
の独特のエージェント仲裁番号に対応するデジタルコー
ドを全てのシステムエージェントに結合されているI、
D、(識別)バスへ送る。バス要求エージェントの仲裁
番号が所定の最高優先度を有するのであれば、バス要求
エージェントは並列バスを使用できる。それから要求エ
ージェントはそれ自身のアドレスとともに応答エージェ
ントのアドレスをアドレス/データバス上に表明すると
同時に、応答エージェントへの指令を指令バス上に表明
する。データ交換を継続する用意ができた時に、要求エ
ージェントは要求エージェントレディ(REQ  RD
Y)信号を表明する。
同様に、応答エージェントがデータ転送を続行する用意
ができた時に、応答エージェントは応答エージェントレ
ディ(REPLY RDY)信号を表明する。両方のレ
ディ信号が表明された時のみ、アドレス/データバス上
のデータが受画であると考えられる。REQ RDY 
 9号と関連してサイクルの終p (IOC)信号を表
明する要求エージェントにより、データ転送動作が終ら
される。
本発明の直列バスを用いて、メツセージを別のエージェ
ントへ送ることを希望しているバスエージェントが、デ
ータメツセージを包み、直列バスが使用されていないこ
とを確認してから、そのデータメツセージを送る。メツ
セージを受けた応答エージェントは、その直列メツセー
ジに続くフレーム間期間中に確認応答(ACK)信号を
送る。そのバスに沿う要求が衝突することが検出される
と、直列バスエージェントが衝突再送仲裁サイクルを開
始する。その衝突再送仲裁サイクルにおいて直列バスの
使用権が適当なやシ方で割付けられる。
本発明のローカルバスは、あるエージェントの一第1の
プロセッサのために、ローカルメモリと処理リソースへ
の、高速、広帯域幅の並列バスを与える。データは、第
1の(またはjg2の)プロセッサとローカルメモリリ
ソースの間で、ローカルバスプロトコルに従って転送さ
れる。ローカルバス上の全ての事象は、第1のプロセッ
サの内部クロックサイクルに合わせてクロックされる。
応答エージェントが、求められているデータ動作(たと
えば読出し動作まなは書込み動作)をバスクロックによ
り定められる速度で実行することができないものとする
と、その応答エージェントは、ローカルバスの状態と情
報内容とを次のクロックサイクルの間不変のまま保つこ
とを要求する待期信号を表明する。待期信号を使用する
ことにより、待期信号が表明されている間に遅延を導入
するととくよって、応答エージェントが第1のプロセッ
サよシも遅い速度で動作できるようにする。
〔実施例〕
以下、図面を参照して本発明の詳細な説明する。
以下K、複数のデータ処理装置の間でデータを転送する
ための多重バスシステム・アーキテクチャおよび改良し
たデータ転送方法について説明する。以下の説明におい
ては、本発明を完全に理解できるように、特定の数、特
定のバイト、特定のレジスタ、特定のアドレス、特定の
時間、特定の信号等について述べるが、本発明がそれら
の特定の具体例に拘束されずに実施できることは、当業
者には明らかであろう。また、本発明を不必要に不明確
にしないために、周知の回路や装置はブロック図で示す
ことにする。
まず第1図を参照して、本発明は、複数の処理装fi(
プロセシングユニット)25.26!=、包括的記憶装
置30(または、たとえばプリンタ。
ディスクドライブなどのような他の装置)のような周辺
装置とを含む。ここでの説明のために、本発明のバス構
造に結合されている全てのデータ処理装置および全ての
周辺装置のことを、まとめて「1−ジエント(agen
ts) Jと呼ぶことにする。
図示のように、処理装置25.26および包括的記憶装
置30は、データ転送のために、並列バス35および直
列バス3Tにより互いに相互接続される。各処理装置2
5.26は、第1のプロセッサ40.41をそれぞれ含
む。それらの第1のプロセッサは、それぞれのバスイン
ターフェイス装置44を介して並列バス35と直列バス
3Tに結合される。バスインターフェイス装置44は、
後に詳述するようKI10ロジック46およびメツセー
ジ制御ロジック50を含む。図示のように、各処理装置
は、メモリ54のようなローカルデータ処理リソースへ
ローカルバス56を介して結合され、処理装置25の場
合にはローカルバス56を介してメモリ54のほか第2
のプロセッサ57にも結合される。プロセッサ40.4
1は、o −カルバスインターフェイス回路58を介し
てメモリ54のようなそれぞれのローカルリソースに結
合される。
後で説明するようK、本発明のバスアーキテクチャによ
り、メツセージをバスに結合されている全てのエージェ
ントの間で高速直列転送でき、データをエージェントの
間で高速並列転送することができる。更に5本発明のア
ーキテクチャにより、各処理装置のためのローカルリソ
ースを構成するローカルメモリ54に格納されているデ
ータのアク七そを含めて、バスエージェントの間でデー
タ転送を行なうためのプロセッサ割込みが最少になる。
また、後で説明するように、データ転送を行なうために
は最少のハンドシエイク動作だけが要求されるように、
並列バス35と、直列バス3T、およびローカルバス5
6に対してのデータ転送プロトコルが定められている。
j11図には、バスに結合されている処理装置が2つだ
け示されているが、本発明の構造により、複数の処理装
置と、メモリ、ディスクドライブ、プリンタなどのよう
な複数の周辺装置を、ここで説明するバス構造の1つま
たは全てを用いて、相互に接続できることがわかるであ
ろう、 並列バス 次に第3図を参照する。並列バス35はアドレス/デー
タ線60を含む。このアドレス/データ線60は、ここ
で説明している実施例では、32本のアドレス・データ
線(プラス4本のパリティ線)を有し、それらのアドレ
ス・データ線へはアドレスとデータが交互に多重化され
て与えられる。
また、並列バス35に結合されている各エージェントが
バス獲得のために独特のエージェント仲裁番号(アービ
トレーション会ナンバー)を伝えられるようにするエー
ジェント仲裁線62を含み、高優先度線64(これにつ
いては後で説明する)は全体的な仲裁プロトコルとは無
関係に各エージエン?が並列バスの使用権を獲得できる
ようにすルC1ハスノ使用権ハ、ハスロック線69にバ
スロック信号を表明(アサート)することにより保持で
き、それにより他のエージェントをバスの獲得から効果
的に閉め出す。また、エージェントが並列バス制御を要
求できるようにするためにバス要求線(BREQ)6 
Bが設けられ、処理装置25゜2 g−1)1他f)A
スェージエンドへ指令(コマンド)を伝えるようにする
ために指令バス68が設けられる。誤シ状態を示すため
に異議線(イクセグション働ライン)70が設けられ、
適切な同期をとり、制御を行なえるようにシステム制御
MA72が設けられる。
並列バス35は、3種類のバスサイクルをサポートする
。それらのサイクルは、たとえば処理装置25のような
あるエージェントの要求で開始される、「仲!!(アー
ビトレーション)」サイクルと、「転送(トランスファ
ー)」サイクルと、「異議(イクセプション)」サイク
ルとである。とこでの説明のために、仲裁サイクルは、
並列バス35を専用的に制御する試みがあるエージェン
トにより行なわれる、並列バスサイクルとして定義され
る。仲裁ティク/I/により、1度にただ1つの要求エ
ージェントが並列バス35によりデータ転送サイクルを
実行できるようにする。仲裁サイクルが閉じると、ただ
1つのエージェント(たとえば処理装置26)が、並列
バスを利用して、他のエージェントとの間でデータをヤ
シとシできるようになる。データ転送の処理中にシステ
ム・エラーが起ることがある。システム・工2−が起る
と、異議サイクルが開始される。どのエージェントが次
に並列バスの使用権を持てるかを決定するために、現在
性なわれている転送サイクル中罠他のエージェントが仲
裁サイクルを行なうことができるように、全部で3つの
並列バスサイクルが重なシ合って一緒に実行される、1 第2図に示されているようK、メツセージ制御ロジック
50は、通常のバスにより、バッファメモリ82に結合
されるメツセージ制御器80と、バス制御器84と、直
接メモリアクセス(DMA)インターフェイス86と、
FIFOポインタ88とを含む。メツセージ制御ロジッ
ク50は、直列および並列バスグ日トコルの実施と、そ
れぞれのバスへのアクセスを行なうことと、並列(およ
び直列)バスに結合されている他のエージェントとメモ
リ54の間でDMAインターフェイス86とローカルバ
ス56を介して行なうデータ転送とをとり扱う。
ここで、処理装置25が、包括的記憶装置30に格納さ
れているデータを並列バス35を用いてフェッチするこ
とを、求められていると仮定する。
処理装置25は、それのバス制御器84を介して、仲裁
サイクルを開始する仁とにより、並列バス35のアクセ
スを最初に行なわなければならない。第5a図および第
5b図に示す流れ図に最もよく示されているように、処
理装置25内のバス制御器84が、バス要求(BREQ
)線66に現在表明(アサート)がされているか否かを
最初に決定する。処理装置25が高い優先度要求を持っ
ていないと仮定すると、処理装置25は、BREQ線6
6線表6がされなくなるまで待ってから、仲裁サイクル
の解決段階に入らなければならない。BRIQ線66線
表6がされていないと仮定すると、処理装置25が、B
REQ線66線表6をして、同時に、それの独特なエー
ジェント仲裁番号に対応するデジタルコードをエージェ
ント仲裁!62へ与える(第4図および第5a図参照)
。並列バス35に結合されている各エージェントのバス
制御器84内の適切なロジックが、仲裁サイクルが開始
された後の一定数のクロックサイクル内で、最高の所定
優先度を有する(高優先度線64に表明がされていない
と仮定して)要求エージェントの仲裁番号を選択する。
他のエージェント、たとえば処理装置26が並列バス獲
得を要求すると同時に別のエージェントがより高い優先
度の仲裁番号を有するものとすると、処理装置25は、
データ交換の終シを示すサイクルの終り(IOC)信号
を、またはバスがアイドル状態になることを待たなけれ
ばならない1、同様に、前のバス使用エージェントがバ
スロック線69に表明をしてい九とすると、並列バスに
結合されている全てのエージェントは、アクセスを行な
う前に並列バスの表明解除(ロック解除)を待ち、自己
の仲裁番号をエージェント仲裁線62上に表明するとと
Kよシ、バスをアクセスする試みを繰シ返えさなければ
ならない。
ζこで説明している実施例においては、並列バス35に
結合されているエージェントの間の優先度は、それぞれ
の仲裁番号により決定される。各エージェントは、バス
35上の位置(「スロット」)に結合され、各スロット
位置に専用の「T」ビン線が結合される。電源が投入さ
れると、バスに結合されている中央サービスモジュール
(C8M)(図示せず)Kよシ、エージェントスロット
識別番号と独特の仲裁番号とが与えられる。中央サービ
スモジュール(C8M) は、エージェントスロット識
別番号をエージェント仲裁線62へ与え、そのスロット
識別番号を関連させねばならカいエージェントに対応す
るTビン線を低レベルに駆動する。
Tピン線を低レベルに駆動することにより、そのエージ
ェント内のレジスタにスロット識別番号が保持される。
同様に、C8Mは、独特の仲裁番号をエージェント仲裁
線62へ与え、仲裁番号を関連させるべきエージェント
に対応するTビン線を低レベルに駆動する。そのTビン
線を高レベルに駆動することにより仲裁番号が保持され
る。ここて説明している実施例においては、仲裁線62
の1本の状態は、仲裁線の残シの線上に表明されている
数が、エージェントスロット番号であるのか、または仲
裁番号に一致するのかを示す。この動作は、全てのエー
ジェントに、それぞれのスロット識別番号と仲裁番号と
が割付けられるまで繰シ返えされる。処理装置25.2
6のようなエージェントの間で、種々の優先度階層を定
め得ることが当業者には明らかであろう。
処理装置25が(それの仲裁番号により優先権を有する
ことによ))バスの使用権を得たとすると、処理装置2
5は、バスの使用権エージェントとなって、BREQ信
号が表明解除(デアサート)のままである限シは転送が
終った後でも、バスの使用権を保持する。Eoc信号が
検出され九時、ま喪はバスが現在アイドル状態である時
、応答エージェントのアドレス(宛先(デイテイネーシ
ョン)アドレス)と、データがメツセージを含んでいる
のであれば更に処理装置25のアドレス(ソースアドレ
ス)とに対応するデジタルコードを処理装置25はアド
レス/データバスへ与える。それと同時に、処理装置2
5は、応答エージェント(ここで説明している実施例に
おいては包括的記憶装置30)により実行されるべき特
定の機能に対応するデジタルコードを、指令バスへ与え
る。第4図に示すように、処理装置25のような要求エ
ージェントが種々のアドレスコードと種々の指令コード
を並列バス35へ与えると、指令バス線が実動的に分割
されて、要求エージェントと応答エージェントにより種
々の確認応答信号を送ることができるようにする。要求
エージェント(ここで説明している実施例においては処
理装置25)によるアドレスと指令の付与により、「要
求段階」と呼ばれるものが終る。ここで説明している実
施例においては、実際の要求段階は1クロツクサイクル
の間だけ持続する。
要求段階が終ると、指令バス68を構成する線が、第6
図に示すように再割付けされる。とくに、エージェント
の間でデータの転送を行なうために要求されるハンドシ
ェイクを完了するために、要求エージェントに5本の指
令線が割当てられ、応答エージェントに5本の指令線が
割当てられる。
とくに、要求エージェント(ここで説明している実施例
においては処理装置25)は、要求エージェントレディ
(REQ RDY)信号を適切な指令線上に表明するこ
とにより、要求エージェントがアドレス/データバス6
0上のデータを受ける用意ができていることを、応答エ
ージェントへ指示する。同様に、応答エージェント(こ
こで説明している実施例においては包括的記憶装置30
)が、応答エージェントレディ(REPLY RDY)
信号を表明(第7図参照)、アドレスデータバス60上
のデータが妥当であり、受けることができることを要求
エージェントに指示する。したがって、並列バス35の
プロトコルは、アドレス/データバス60上のデータを
妥当であると考えて保持する前に、応答エージェントレ
ディ信号と要求エージェントレディ信号の表明を必要と
する。その後に行なわれる応答エージェントレディ信号
と要求エージェントレディ信号の表明解除(デアサーシ
ョン)と再表IM(リアサーション)により、付加デー
タパケットを並列バス35を介して要求エージェントと
応答エージェントの間に送ることができる(第4図)。
図示のように、それ以上のデータ送信が行なわれないと
すると、要求エージェント(ここで説明している実施例
においては処理装置25)が、REQ RDY信号の表
明と同時に、サイクルの終j9(EOC)信号を表明す
る。EQC信号の発生と送信によって、現在の転送サイ
クルの終シが、並列バス35に結合されている他のエー
ジェントへ知らされ、バスの使用権の移転可能性が知ら
される。第5b図に最もよく示されているように、妥当
なデータが標本化されると、応答エージェント(ここで
説明している実施例においては包括的記憶装置30)が
、応答エージェントレディ信号により通常示されている
それのハンドシェイクの部分の間中に、データ転送の誤
シ(「異議」)全要求エージェントへ知らせることがで
きる。要求エージェント(ここで説明している実施例に
おいては処理装置25)によりその期間中に検出された
データ転送サイクルのilDによって、次のクロックサ
イクルにおけるIOC信号の表明が行わされることによ
り、それ以上のデータ転送を中断させ、前記仲裁サイク
ルをうまく完了した任意の待機シテいるエージェントへ
バスの使用権を与える。
以上の説明は並列バス35に結合されている応答エージ
ェントから要求エージェントへのデータ転送を示すもの
であるが、要求エージェント(たとえば処理装置26)
から応答エージェント(たとえば処理装置25)へのデ
ータ転送が、第4図に示されているようなほぼ同一のプ
ロトコルに従うことがわかるであろう。というのは、本
発明の並列バスプロトコルが、データの保持を並列バス
から解除する前に、REQ RDY信号とREPLY 
RDY信号の表明を単に要求するだけだからである。し
たがって、本発明により、要求エージェントと応答エー
ジェントの動作速度を、同じ転送プロトコルを用いて、
異ならせることができる。
本発明のメツセージ制御ロジック50により、並列バス
35(および後で説明するように、直列バス)に結合さ
れているエージェントの間で、処理装置内の第1のプロ
セッサの割込みを最歩限に抑えて、数多くのメツセージ
転送とデータ転送を行なうことができる。たとえば、第
1のプロセッサ40に割込む必要なしに、データを40
のメモリへ転送でき、または専用リソースメモリ54と
の間でデータをヤシとシできる3、後で説明するように
、ある特定のエージェントをメツセージ転送動作に含ま
せるべきかどうかを決定するために、メツセージ制御ロ
ジック50内のメツセージ制御器80が、データパケッ
ト内で並列ノ(ス35と直列バス3Tに沿って送られる
メツセージアドレスを調べる。ある特定のメツセージ制
御器がアドレスされるものとすると、そのメツセージ制
御器は、そのメツセージパケットに含まれている種類(
タイプ)フィールドを調べ、第1のプロセッサに対して
求められる必要な任意の割込みを行なう。あるいは、割
込みが求められないとすると、リソースメモリ54を外
部要求エージェントがアクセスできるようにするために
、適切な情報が直接メモリアクセス(DMA)インター
フェイス86へ転送される。。
次に、メツセージ制御ロジック50を用いるメツセージ
転送動作の流れ図を示す第8図を参照する。まず、処理
装置26内の第1のプロセッサ41が、処理装置25に
より直接アクセスできるメモリへデータを転送すること
を希望していると仮定する。要求エージェント(処理装
置26)がそれのメツセージ制御器8Gへ「バッファ要
求」を発する。そのバッファ要求は、図示のように、宛
先の応答エージェントに対応する宛先バイトと、要求さ
れた特定の動作(この場合にはデータ書込み動作)に対
応する指令「樵類」バイトと、要求エージェントの独特
の識別番号に対応する識別バイトと、要求エージェント
によるアクセス対象のデータが格納されているローカル
データアドレスを示すバイトと、オプションとしてのフ
ァイル名および長さバイトと、最後に任意のデータ(デ
ータを転送するのであれば)とを含む。それらのメツセ
ージアドレス、ローカル内部バス29に沿って要求エー
ジェントのメツセージ制御ロジック50へ送られる。そ
の特定の要求エージェント(この例では処理装置26)
のメツセージ制御器80は。
ローカルアドレスと長さ情報とをメツセージ制御ロジッ
ク50のバッファメモリ82またはDMAa6に格納す
る。メツセージ制御器8aは、現在の要求を識別する独
特の連絡転送番号(I D/S )を含むバイトを要求
パケットへ更に加える。メツセージ制御器8aは、バッ
ファ要求パケットを、第4図、第5a図、第5b図、第
6図および第7図を参照して先に説明したデータ転送プ
ロトコルを用いて、バス制御器84と並列バスとを介し
て応答エージェント(この場合には処理装置25〕へ送
る。応答エージェントのメツセージ制御ロジック50は
、要求を応答処理装置25の第1のプロセッサ40へそ
のtt送る。そのメツセージを受けた処理装置25の第
1のプロセッサ40は、長さバイト「長さ−1」によυ
定められている十分な長さを有する適切なメモリバッフ
ァを割付けることができるか否かを決定する。第1のプ
ロセッサ40が要求されたメモリスペースを割付けると
、バッファ許可メツセージが発生される。そのバッファ
許可メツセージにおいては、種類バイトは、バッファ許
可を識別する独特のコードに対応する。
また、ローカル応答エージェントのアドレス1所は、割
付けられたバッファ長(「長さ−2」)とともに、指定
される3、そのバッファ長は、応答エージェントが実際
に割付けたメモリのサイズを示す。この割付けられたメ
モリサイズは、要求エージェントにより要求されたメモ
リサイズとは、異なることがある。最後に、連絡転送識
別番号(ID/S)を示すバイトが繰シ返えされる。そ
のバイトはある特定のバッファ要求を個別に識別する。
それから、バッファ許可データパケットが、ローカル内
部ハス29に沿って応答エージェントメツセージ制御器
80へ転送される。その応答エージェントメツセージ制
御器は、バッファのローカルアドレスと、連絡転送番号
I D/S 、および長さ−2をl)MA86に格納し
、かつ図示のようK、連絡転送要求者番号(ID/R)
 を、発生されているバッファ要求パケットに加える。
バッファ許可メツセージは、要求エージェントのメツセ
ージ制御ロジック50へ転送される。メツセージ制御ロ
ジック50は、それからDMAインターフェイス86を
使用することにより、応答エージェントへ転送すべきデ
ータを7エツチして、そのデータをバス制御器84へ送
ル、第4図、第5図、第6図および第7図を参照して先
に説明したプロトコルに従ってそのデータを応答エージ
ェントへ送ることができる。データ転送は、第8図に示
すようK、1つまたはそれ以上のデータパケットで構成
できる。
希望していたデータ転送が終ると、両方のエージェント
のためのそれぞれのメツセージ制御器80は、全体的な
終了メツセージを発生することにより、転送が終了した
ことを要求エージェントおよ’Cfi応答エージェント
の第1のプロセッサに知らせる1、シたがって、メツセ
ージとデータは、本発明のバス構造に結合されているエ
ージェントの間で、第1のプロセッサの動作への割込み
を最少限にして転送でき、メツセージ制御ロジック50
によ多制御されるデータ転送のための直接メモリアクセ
スを含むことができる。第8図に示されている以上説明
したメツセージ転送動作は、直列バス37によっても利
用されることに注意されたい。
直列バス 第1図を参照して先に説明したようK、本発明のバス構
造内の各エージェントは、前記並列バスはもちろん、ま
たは並列バスの代夛に、直列バス3Tにより結合できる
。並列バス35の構造と動作は、並列バスに結合さてい
るエージエン)fiJlで大量のデータを高速で転送さ
せるために主として構成されるが、本発明の直列バスは
、エージェント間の高速かつ高効率のメツセージ転送の
ために主として構成される。ここで説明している実施例
においては、直列バス3Tは、rsDAJおよびrSD
BJという記号で示されている線を有する2線直列リン
クを備えている。第9図に示すように、各エージェント
のメツセージ制御ロジック50内のメツセージ制御器8
0は、種々のエージェントとの間で直列バス37を介し
てメツセージのやシとシを行なうための直列メツセージ
制御器100を含む。直列バス37の両方の線は、バス
状態検出器110に結合される。このバス状態検出器は
、3種類の基本的な信号出力を生ずる。直列バス3Tか
ら受けた符号化され九データは、キャリヤセンス(検知
)信号を示す信号とともに、デコーダ115へ送られる
。後で詳しく説明するように、バス状態検出器110は
、直列バス3Tを介して送られるメツセージの間で衝突
が起きたか否かの判定も行なう1.衝突検出線117が
ノ(ス状態検出器110から直列メツセージ制御ロジッ
ク124へ結合される。この直列メツセージ制御ロジッ
ク124は、後で説明するように、本発明の衝突再送仲
裁サイクルを制御する。メツセージを直列)(ス3Tに
より送ることができるようにするためK、直列送信器1
28カ、直列メツセージ制御ロジック124と各直列線
SDA 、 SDRに結合される。図示のようK、直列
バス37を介して直列に送るべきメツセージは、第2図
に示されているメツセージ制御ロジック50内の他のメ
ツセージ制御器80の回路に直結されている内部メツセ
ージ制御線(図示せず)を介゛して、直列メツセージ制
御ロジック124へまず与えられる3、 ここで説明している実施例においては、直列ノ(ス37
を介して送られるデータは、線SDAとSDBにおいて
位相が180度異なるようにドライブされる。更に、直
列メツセージ制御ロジック124は、送るべきメツセー
ジを、ここで説明している実施例においては、周知のマ
ンチェスタ(Pi!anchester)符号化技術を
用いて符号化する3、ここで第10a図を参照して、バ
ス状態検出器11Gは、受けた直列メツセージから、符
号化されたデータ信号と、衝突検出信号と、キャリヤセ
ンス信号とを発生する。
希望によっては、バス状態検出器110は、一対のrD
J−ラッチ131(同期のため)を含むことができる。
それらのD−?ツチは、図示のように一対の類似のD−
ラッチ132に直列に結合される。
第3の一対のrDJ−ラッチ133が、ラッチ132そ
れぞれの出力端子と検出器論理回路136とに結合され
る。線SDAとSDBのためのD−5rツチ132の出
力端子が、検出器論理回路136の入力端子A2.B2
に結合される。同様に、D−’yラッチ33の出力端子
が、検出器論理回路136の入力端子AI、B1に結合
される。検出器論理回路136tたは外部クロックによ
り発生されたクロック信号(その周波数は典型的には2
0MHz )により、全てのラッチは同時にクロックさ
れる。D−ランチ131 、132 、133を使用す
ることにより、線SDAとSDRにおいて同時に受けら
れる逐次データビットを比較できる。
本発明のバス状態検出器110により、直列バス31に
沿って直列に送られた符号化されたデータをとり出す簡
単な方法と、直列バス37に沿うメツセージの衝突を検
出する簡単な方法が得られる。
第10a図および第10b図に示すように1バス状態検
出器110の衝突検出の(CD)ポートの出力を調べる
ことにより、直列データバスに沿うメツセージの衝突を
容易に検出できる。検出器論理回路136の全ての入力
AI、A2.B1.B2が低レベル(論理0)であると
すると、両方の線SDAとSDRは低レベルに引き下げ
られておシ、それにより、両方のデータ線がそれぞれの
エージェント内の各直列送信器128により位相が18
0度異なるように通常ドライブされるから、衝突を指示
する。したがって、検出器論理回路136の全ての入力
AI。
A2.B1.B2が低レベルである唯一の場合は、バス
に沿う衝突の場合である。その理由は、設計により、線
SDAに論理1が存在するには線SDRに論理0が存在
することが必要だからである。同様に、直列バスのアイ
ドル期間は、バス状態検出器11Gのキャリヤセンス(
CS)ポートの出力を調べることにより検出される。図
示のように、バスのアイドル期間は、両方の線SDA 
、 SDRが高レベル状態であることにより示される。
バス状態検出器110のキャリヤセンス(CS)ポート
は、論理0(低)信号を発生することによりアイドル状
態を示す。
特定の論理状態についてのバス状態検出器110の動作
を説明したが、論理状態の池の組合わせも等しく使用で
きることがわかるであろう。
ここで第11a図を参照する、直列バス37に沿って送
られる全てのメツセージは、マンチェスタ符号化を行な
うために必要な同期(r 5yne J )前書き20
0と、それに続くバイト210とを含む。バイト210
は宛先エージェント(たとえば処理装置26)のアドレ
スを構成する。また、メツセージを送る発信元を識別す
るソースエージェントアドレス22Gが含まれる。1種
類(タイプ)」バイト225が、エージェントの間で送
られるメツセージのキャラクタを識別する。種類指令の
例では、バッファ要求と、バッファ許可などが含まれる
。種類バッファ225の後には、特定の送信エージェン
トの独特の識別番号に対応する識別(ID)バイト23
0と、データフィールド235が続く。直列バス3Tに
沿って誤シのない送信を行なうために、メツセージは、
周知の誤シチェックCRC(16ビツトCCITT) 
 コード240で終る。エージェントの間で直列バス3
7に沿って送られる各メツセージの後K、rフレーム間
スペース(インターフレームスペース)J(IFS)と
呼ばれる無メツセージ送信期間が続く。ここで説明して
いる実施例においては、その無メツセージ送信期間は、
約4バイト時間を構成する。直列バス3Tに沿って送ら
れる全てのメツセージは、受信エージェントにより、第
11b図に示されている確認応答メツセージ書式(フォ
ーマット)を用いて確認応答される。図示のように、確
認応答信号は、同期前書き200と、それに続く簡単な
確認応答フィールド260とを含む。その確認応答フィ
ールドは、希望により設けられるものであって、メツセ
ージ確認応答信号を表す独特のデジタルコードを含む。
ここで説明している装置においては、確認応答フィール
ドは使用されず、その代シに同期前書き200と、それ
に続くフレーム間スペース時間内のバスアイドル期間に
より示される。IFS時間時間内周期前書き20Gとア
イドル期間の少なくとも一方が検出されないとすると、
誤シがあると想定される。
次に第12m図を参照して、直列バス37に沿ってメツ
セージを送るために1メツセージ制御ロジツク50によ
り実行される一連の論理動作について説明する。まず、
処理装置25が直列バス3Tを用いてメツセージを処理
装置26へ送らなければならないと仮定する。処理装置
25は、バス状態検出器110のキャリヤセンス(CS
)出力ヲ調べることKよシ、直列バス37が現在使用さ
れているか否かをまず判定する。ここで説明している実
施例においては、直列バス3Tに沿って送られるデータ
が無いと、線SDAとSDBが共に高レベル状態を保つ
ことになる(第10a図参照)。線SDAとSDRとに
ついての検出器論理回路136によるナンド動作が、直
列バス37にキャリヤ信号が存在しないことを示す低レ
ベル状態を示す。直列バス3Tが使用されていないこと
を処理装置25が判定すると、処理装置25の直列メツ
セージ制御ロジック124が第11a図に示すメツセー
ジ書式を用いてメツセージを包み(eneapaula
te ) 、そのメツセージを、直列送信器128へ送
って線SDA 、 SDB上に表明する。処理装置25
がそれのメツセージを直列バス37に沿って送ると、第
11b図に示す書式を用いているメツセージに続くフレ
ーム間スペースの間、処理装置26からの確認応答メツ
セージの受信を処理装置25は待つ。その7レ一ム間ス
ペース(IFS )内に確認応答が受けられたと仮定す
ると、それで直列メツセージサイクルが終ったことにな
る。
処理装置25が確認応答メツセージをフレーム間スペー
ス中に受けず、かつバス状態検出器110が直列バス3
7に沿う衝突を検出しないとすると、処理装置25は、
メツセージ[類バイト225で第2の送信を複製された
パケットとして識別のためフラグビットをセットした後
、データ送信を繰シ返えす。しかし、バス状態検出器1
10が衝突を検出したとすると、処理装置25(および
直列バス37に結合されている他のエージェント)が、
直列バス再送仲裁ティクルを開始する( $ 12b図
第12c図および第13図)。
データが直列バスに沿って送られる時の性質、すなわち
、データの位相が線SDAとSDRに沿って逆にされる
ためK、1つまたはそれ以上の送信ステーションの間の
衝突メツセージの合計が線SDA。
SDRを低レベルにする。衝突の発生を検出すると、直
列バス31に結合されている全てのエージェントが「ジ
ャムサイクル」を開始する。そのジャムサイクルのはじ
まシは、線SDAとSDRを低レベルに駆動して、所定
のビット時間の間直列バスを「詰らせる(ジャムとする
)」。そうするとエージェントはアイドル状態となって
所定時間バスの状態を調べて衝突を直すことができるよ
うにし、受画なジャムサイクルが起き念ことを確かめる
ために付加期間(IFSに等しい)を待つ。ジャムサイ
クルが終ると、各送信ステーションが、所定の時間スロ
ット0番からN番の計数を、同時に開始する(第13図
)。直列バス37に結合されている各エージェントには
、それのメツセージを再送する期間である独特の時間の
1つが割付けられる。
第13図に示すように、各時間スロットは、複数の副時
間スロット(0番からM番)K分割できる。
各副時間スロツ)Kは、直列バスに結合されている特定
のエージェントが関連させられている。その場合にはそ
れに関連する副時間スロットを有する時間スロットまで
計数した時に、全てのステーションはジャムサイクルを
再び開始し、第1の時間スロット(第13図においては
時間スロット2番)内の副時間スロットの計数を開始す
る。その結果、本発明の送信仲裁を、直列バス37に結
合されている数多ぐのエージェントに効率良く使用でき
る。
第13図は副時間スロットを使用することを示している
が、ここで説明している実施例においては、ただ1つの
エージェントがある特定のスロットに割轟てられるよう
にただ1つのレベルが使用される。
ここで直列バス3Tに沿ってエージエン)Aとエージェ
ントBとによ)送られたメツセージの間で、衝突が起き
たと仮定する。その衝突を検出し九後、直列バス37に
結合されている全てのエージェントはジャムサイクルを
続け、時間スロット(ここで説明している実施例におい
ては、各時間スロットは約8ビツト時間を有する)の計
数を時間スロット0番から始める。ここで説明している
実施例においては、エージェント人に時間スロット0番
が割付けられている。したがって、直列バス37に結合
している全てのエージェントは、エージエン)Aがそれ
のメツセージを再送し終わるまで、時間スロットの計数
を停止する。エージエン)Aが第12図に示されている
プロトコルを用いてそれのメツセージを再送し終ると、
全てのエージェントは、時間スロット1番から時間スロ
ットの計数を再び継続する。(第13図に示す時間スロ
ット2番の場合のように副時間スロットが割付けられて
いる場合には、特定の副時間スロットを割付けられてい
るエージェントがそれらのメツセージを送ることができ
るようにするために、休止してから、副時間スロットが
全てのエージェントにより同様にカウントダウンされる
。)したがって、本発明の衝突再送仲裁プロト;ルは、
直列バス31に結合されている各エージェントに、それ
がメツセージを送る所定の時間スロットを割付けること
を、はぼ決定する。この決定の仕方は、たとえば、1つ
のエージェントが終局的にバスをアクセスするように、
再送信の前にあるランダムに重みづけられた時間を、全
ての送信エージェントが待つことを単に要求するr E
th@rn@t Jのような従来のC8MA/CDプロ
トコル(米国特許第4 、063 、220号)とは、
基本的に異なる。
本発明のローカルバス56は、第1図に示されている処
理装置25.26のよう表処理装置内の任意の第1のプ
ロセッサのためのローカルメそりとリソースに対する高
速・広帯域の並列バスを4見る。ローカルバス56で行
なわれる全ての情報転送には、要求エージェントと応答
エージェントが必要である。たとえば、典型的な要求エ
ージェントは、第1のプロセッサ40、またはデータ動
作の実行において第1のプロセッサ40のリソースとし
て使用するためにローカルバス56に結合される@2の
プロセッサ5Tである。同様に、ローカルバス56に沿
う典型的な応答エージェントは、メモリリソース54で
ある。したがって、ローカルバス56により、jKlの
プロセッサ40というエージェントと、I@2のプロセ
ッサ5T(もしローカルバス56にこれが結合されてい
れば)というエージェントとの多重専用データ処理リン
ースである。こζで説明している実施例においては、最
大で2個の「要求エージェント」(プロセッサ)を1度
にローカルバス56に結合できる。
第14図に示すようK、ローカルバス56は、アドレス
線30Gと、指令線310と、データ線315と、ロー
カルバス56のためのプロトコルに従ってシステムの制
御を維持する之めの複数の制御線320とを含む。第2
の要求エージェント57と第1の要求エージェント40
(処理装置25の場合)の間に、バス要求線(BUS 
 REQ) 325がローカルバスインターフェイス5
8(第4図)を介して結合される。同様に、バス確認応
答(BUS ACK)線330が、第2の要求エージエ
ン)57と第1の要求エージェント40の間で信号を与
えてバス使用権の確認応答を示す。ローカルバス56を
第1のプロセッサの内部クロックと同期できるように、
バスクロック線335が11clの要求エージェントに
結合される。したがって、全てのバス事象がバスクロッ
ク周期の整数倍で定められ、各事象の開始と終了、また
はそれの妥当性の持続時間は、バスクロックの信号の縁
部に対して定められた関係を有する。
全てのバス転送動作は、「仲裁(アービトレーション」
)サイクル、「転送(トランスファー)」サイクル、「
異議(イクセグション)」サイクルと呼ばれる3種類の
事象よシ成る。仲裁サイクル社、与えられた任意の時刻
には、1つの、そしてただ1つの要求エージェント(第
1のプロセッサまたは第2のプロセッサのいずれか)が
、ローカルバス56に沿ってデータ転送の開始を許され
るようにする喪めのものである。ここで説明している実
施例においては、第2の要求エージェント51による要
求が無い時は、第1の要求エージェント40がローカル
バス56の制御をまかされる。したがって、第2の要求
エージェント5Tがローカルバスに結合されているもの
とし、ローカルバスが第2の要求エージェントの制御の
下Km在使用中である場合においてのみ、第1の要求エ
ージェント40は、仲裁サイクルに入ることを必要とす
る(第1図に示す逃理装f!1c26は、それのローカ
ルバスンζ第2のプロセッサを含まず、それの第1のプ
ロセッサがバス使用権のために決して仲裁を行なわなく
てすむことに注意されたい)。
次に本発明のローカルバス仲裁ティクルが示されている
第15図を参照する。第2の要求エージェント57がロ
ーカルバス56の使用を要求したとすると、それはバス
要求(BUS  REQ)信号をバス要求線325上に
表明(アサート)する。第1の要求エージェント40は
、バス確認応答(BUSACK)信号をバス確認応答線
330上に生ずることにより、第2の要求エージェント
のバス要求n認応答する。それKよシ、バス使用権が第
2の要求エージェント57へ有効に移転される。それか
ら、要求されている所定のバス動作を開始させるために
、第2の要求エージェント57は、適切なアドレス信号
と指令信号を、それぞれアドレス線300  と指令線
310を介して、メモリ54のようなローカルバスリソ
ースへ与よる。!!求エージェント(プロセッサ)によ
るアドレスおよび指令情報の表明は、「要求段階」と呼
ばれ、ここで説明している実施例においては、少なくと
も2クロツクサイクル持続する。それから、応答エージ
ェント(fcとえばメモリリソース54)が、(「読出
し」動作の場合には)適切なデータをデータ線315上
に表明する。そのデータは、後述するプロトコルを用い
て第2の要求エージェント57により受けられる。第2
の要求エージェント57は、応答エージェントによる要
求した動作が終了した時に、バス要求線325上の表明
解除(デアサート)をすることによりバス使用権を第1
の要求エージェント40へ譲シ渡す。
次に、本発明の待機(wArT)信号の独特な使用を示
す第16図を参照する。待機(WAIT)信号は、遅延
クロックサイクルを導入するととKよシ応答段階を延長
することを要求するためK、ローカルパルス56に結合
されている全ての「応答」エージェントにより使用でき
る。パイプライン処理が実行されると(現在のバス動作
の要求段階は先のバス動作の応答段階に重なシ合ってい
ると)、先のバス動作を行なっている応答エージェント
ニよる待機信号の表明によって、現在のバス動作の要求
段階を延長させることができる。第16図に示すように
、第1のプロセッサ4Gは、(アドレスM300と指令
線310を用いて)ローカルバス56に結合されている
応答エージェントに対する要求を表明している。先のバ
ス動作にサービスしている応答エージェントが、現在の
バス動作の要求段階の第1のクロックサイクル中に待機
信号を表明している。これは、先のバス動作でサービス
中の応答エージェントが、現在のバスクロックサイクル
中にアドレスおよび指令情報を受けることができなかっ
たことを第1の要求エージェントに知らせる。要求され
たデータをアクセスして、そのデータをローカルバスに
与えるために、アドレスされた応答エージェントが付加
時間を要求するものとすると、その応答エージェントは
、要求段階の最後のクロックサイクルにおいて待機(W
AIT)信号を表明せねばならない。要求エージェント
は、適切な数のアクセス遅延サイクルが導入されるまで
、待機信号の表明を続行せねばならない。ローカルバス
56において遅延サイクルを効果的に与えるために待機
信号を使用することは、第1のプロセッサ40が、九と
えばローカルメモリリソース54のアクセス時間よシ速
い速度で動作している場合には、一般的なものである。
というのは、ローカルバス56が第4のプロセッサ40
と同じ速度でクロックされるからである。
第16図に示す゛ように、要求段階の第1のクロックサ
イクルにおける待機信号の表明により、更に付加される
2つのクロックサイクルの間、第1の要求エージェント
の要求段階が縦続して表明される結果となる。したがっ
て、待機信号は、バス線の状態に遅延を実効的にさしは
さむが、ローカルバスの標準的なプロトコルを変更する
ことはない。ローカルバス56上べおけるあらゆる要求
は最少限2クロック周期の間表明されるが、応答エージ
ェントは、要求を受けた後の任意の時刻に、その要求に
応答できる。いいかえると、要求エージェント(第1の
プロセッサまたは第2のプロセッサ)が要求を依然とし
て表明をしていても、応答エージェントは要求の表明の
後1クロツクサイクルはど速く応答できる(零サイクル
遅延)。
要求段階の第1のクロックサイクルの後(すなわち、そ
れのM2のクロックサイクル中)の待機信号の表明は、
その特定の要求段階には何の作用も及はさず、遅延の導
入によりその応答段階を延長することにより応答段階に
作用を及ぼすだけであることに気づくであろう。たとえ
ば、第16図に示すように、第1の要求エージェントの
第2のバス動作の要求段階が、前のバス動作の応答段階
を終了させるべきであったクロックサイクル中に始まる
。待機信号が前のバス動作の応答段階を更に1サイクル
またはそれ以上のクロックサイクルだけ遅延させ九とす
ると、第2のバス動作の要求段階がそれに対応して延長
させられることになる。
応答段階の第1のクロックサイクル(要求段階の最後の
クロックサイクル)中に待機信号が表明されると、待機
信号が応答エージェントにより表明解除をされるまで、
応答エージェントの応答が遅延させられる結果をなる。
ここで説明している実施例においては、現在の応答エー
ジェントが与えられたバス動作の応答段階中に待機信号
を表明する権利を有する。
第17図は、応答段階中における応答エージェントによ
る待機信号の使用と、本発明の異議サイクルを示すもの
である。図示のように、第1の要求エージェントが、ア
ドレス@ 300と指令[310において、要求(アド
レスおよび指令情報)を表明している。第1のプロセッ
サの要求の第1のクロックサイクル中に待機信号は表明
されていないから、要求段階は最少限の2クロツクサイ
クルの間だけ持続する。応答エージェントは要求に応じ
て応答段階の第1のクロックサイクル(要求段階の最後
のクロックサイクル)の間に待機信号を表明するととく
よル、要求されたバス動作が待機信号が表明解除される
まで実行されないことと、それに従って他の全ての機能
が遅延させられることとを、全てのバスエージェントに
知らせる。ここで説明している実施例においては、第1
の要求エージェントにより読取られるデータを得るため
に応答エージェントは、ただ1サイクルのアクセス遅延
を要求し、それの応答をデータ線315に与えるのと同
時に待機信号の表明解除をする。応答段階中の待機信号
の表明解除により、ローカルバスに読出され良データが
妥当であって標本化できること、ま九は、要求エージェ
ントによりト2イブされる「書込みデータ」が標本化さ
れて、応答エージェントにより書込み動作が終了させら
れることを、要求エージェントに知らせる。
第17図に示すように、応答段階の第1のデータ転送期
間中に、出された要求段階に関連する任意の誤9または
異議を、応答エージェントは要求エージェント(プロセ
ッサ)に知らせなければならない。いいかえると、こと
で説明している実施例においては、応答段階の第1のデ
ータ転送期間中には、要求に対するどのような異議(イ
クセプション)も報知される。要求段階の最後のクロッ
クサイクル中に待機信号が表明されない場合には、その
要求段階に対する異議がこの最後のクロックサイクル中
に報知される。第17図に示すように、データに対する
異議は、データバス315にデータが加えられた直後の
クロックサイクル中に報知される1、 第18図および第21図は、本発明による要求。
データに対する異議ならびに「継続」異議プロトコルを
示すものである。第14図に示すように。
制御線320がアドレス誤p(AERR)@とデータ誤
j5 (DERR)線を含んでいる。それらの線はロー
カルバス56上の全てのエージェントに結合されている
。前記したように、たとえば第1のプロセッサという要
求エージェント40により表明されな要求段階に対する
J!議は、応答段階の第1のデータ転送期間中に、要求
エージェントへ報知される。同様に、データ線315へ
与えられるデータに対する異議は、そのデータを与えた
直後のクロックサイクル中に報知される。本発明におい
ては、ローカルバスに沿ってバス動作を実行している要
求エージェントへ、継続異議はアドレス誤シ信号線(A
ERR)を介して報知される。AERR信号は、データ
バスに与えられたデータは予測された応答エージェント
により駆動されていないことを示し、かつ継続v4シ(
すなわち、物理的境界(あふれ)誤シ)が起きたこ・と
を実際には報知する。継続誤ルは、応答エージェントが
各動作の後で応答エージェントのデータアドレスを増し
、そのデータアドレスが応答エージェントの許容アドレ
ス範囲を超えるようなブロック転送の場合に起るととが
ある。その場合には、継続誤りが生じたことを、要求さ
れたデータが妥当であるべき期間中にAERR線に表明
をすることにより、応答エージェントは要求エージェン
トに知らせる。したがって、そうでなければデータが妥
当であるようなりロックサイクルと同時に全ての継続@
シが報知される。継続誤りは、ブロック転送要求が行な
われた場合に、ブロック転送を支持しない応答エージェ
ントにより報知することもできる3、待機信号が表明さ
れ九とすると、この期間はそれに従って遅延させられる
1、 次に第19図を参照して、与えられた要求エージェント
のバス動作の要求段階と、それに先立つバス動作の応答
段階との重なシ合いを許すことにより、ローカルバス5
6倉rパイプライン」制御できる性能について説明する
。ここで説明している実施例においては、第1のプロセ
ッサ40は、それの第1の要求段階を、アドレス線と指
令線上にドライブする。第1の要求エージェント(プロ
セッサ)40は、第1のバス動作がブロック転送でなけ
れば、現在の要求段階が終了した直後にそれの第2のバ
ス動作を開始できる。第1のバス動作がブロック転送で
あれば、第1のバス動作の最後のデータ転送期間と予測
されるクロックサイクルまで、第2のバス動作の要求段
階を開始できないことがある。
第20図は、第1の要求エージエン)4Gがローカルバ
子56をアクセスしておシ、第2の要求エージエン)5
Fがバスアクセスを要求している場合を示すものである
。図示のように、K2のプロセッサ57は、第1の要求
エージェントの要求段階中に、RUS  REQ線に表
明をする6、第1の要求エージェントは、それの応答段
階の終シに続くクロックサイクルよシ早く、第2の要求
エージェントにローカルバスの使用権を譲シ渡さないこ
とを要求されている。図に示すように、第2の要求エー
ジェント57の要求段階は、クロックサイクルを開始さ
せ、そのクロックサイクルに続いてBUS  ACKが
第1の要求エージェント40により異明される。
第20図は、第1の要求エージェント57の応答段階が
終了した時K、第2の要求エージェント57が線を第1
の要求エージェント(プロセッサ)40へ騙るためのタ
イミングをも示している。図に示すように、第2の要求
エージェントがバスの使用権を第4の要求エージェント
へ譲ることができる最も早いクロックサイクルは、それ
の応答段階の最後のクロックサイクルに続くクロックサ
イクルである、これは、BUS  REQ信号の表明解
除をする第2の要求エージェント57によプ達成される
3、以後のクロックサイクルにおいては、第4の要求エ
ージェント40は、BUS ACK信号の表明解除をし
なければならず、かつ新しいバス動作の要求段階を開始
できる。
!I20図に示す実施例においては、第2の要求エージ
ェントの応答段階の第1のクロックサイクル中に、応答
エージェント40は待機信号を表明することにより、付
加クロックサイクルの間データの表明を遅延させる。次
のサイクルにおける待機(WAIT)信号の表明解除は
、データ線に「読出された」データが妥当であって、要
求エージェントが受けなければならないことを指示する
1、待機信号は、第2の要求エージェントのバス動作の
応答段階に1クロツクサイクルを導入するためにも用い
られる、 待機制御信号に加えて、ローカルバス56は、LOCK
のような他の制御線を含む。それらの制御線は、それを
介して相互に排他的なバス動作を行なわせることができ
る信号機構である。LOCK信号は、要求エージェント
によりトライブされ、かつローカルバス56に結合され
ている全ての応答エージェントにより受けられる。LO
CK信号は、与えられた任意の時刻にバスの使用権を有
する要求エージェントによ)、表明されることができる
全ての応答エージェントは、LOCK信号を監視しなけ
ればならず、LOCK信号が表明されているバス動作に
含まれている。応答エージェントは、非ローカルバスポ
ートをロックせねばならず、LOCK信号が表明解除さ
れるまでロックを保持する。第1の要求エージェントと
第2の要求エージェントとに関連する相互に排他的なバ
ス動作が終了され、かつLOCK信号が表明解除される
まで、自己のバスの使用権を譲り渡さないことは、第4
および第2の要求エージェントの責任である。第22図
に示すように、LOCK信号の作用は、与えられたバス
エージェントが、他の任意の要求エージェントによる応
答エージェントの当脛の間の使用を許すことなしに、一
連のバス動作を応答エージェントに対して実行すること
を許す相互に排他的な状態を求めることである。更に詳
しくいえば、ローカルバス56が多重ボートをもつ応答
エージェントを有するものとすると、相互に排他的な機
能が全ての非ローカルバスポートの閉め出しを要求する
以上、第15〜22図を参照してメモリリソース54な
どからのデータの第1のエージェントまたは第2のエー
ジェントのデータのアクセスと受信について説明したが
、要求エージェント(プロセン?)がメモリリソース5
4.プロセツサまたはその他のデータ処理装置へデータ
を書込む場合にも同じデータ転送プロトコルを使用でき
ることがわかるであろう。書込み動作の場合には、応答
エージェントは、待機信号を用いることKよシ、バッフ
ァを割付けて、データが受けられて誤シを調べられるよ
うに、バス状態に休止を導入できる。
書込み動作中にデータをドライブする要求エージェント
は、待機信号がそのクロックサイクルにおいて表明され
るならば、データのドライブを次のクロックサイクルま
で延長せねばならない(第21図)。
まとめ 以上の説明に従って1本発明は、従来知られていなかっ
た独特なシステムデータバスアーキテクチャとデータ転
送プロトコルを提供するものであることが当業者には明
らかであろう。本発明はその並列バス35により、バス
に結合されているエージェントの間で大量のデータを高
速で転送できるようKするものである。それには、たと
えば処理装置と、包括的記憶装置、またはその他のデー
タ処理装置との間でのデータ転送を含めることができる
。同様に、本発明はその直列バス37により、バス構造
内のエージェント間でのメツセージを効率良く転送でき
、それによりメッセージが並列バス35を通ることを無
くす。更に、ローカルバス56は、第1のプロセッサと
複数のローカルリソースの間で、他のシステムバスの利
用できる帯域幅に衝撃を与えることなしにデータを転送
するための高速かつ広帯域幅の並列バスを構成する。
【図面の簡単な説明】
第1図は本発明を実施するためのデータ処理装置のブロ
ック図、第2図は本発明のメツセージ制御ロジックを構
成する主な部品のブロック図、第3図は本発明の並列バ
スを構成する各種の副バス構造を示す略図、第4図は並
列バスに結合されているエージェントの間のデータ転送
のための並列システムバスプロトコルを示すタイミング
図、第5a図および第5b図は応答エージェントからバ
スに沿ってデータを受けるために、並列バスに結合され
ている要求エージェントにょ夛実行される一連の動作を
示す流れ図、第6図は要求段階と応答段階における1!
IJ御バスを#IIJRする線を示す説明図、第7図は
データを要求エージェントへ転送するために、並列バス
に結合されている応答エージェントにより実行される一
連の論理動作を示す流れ図、第8図は並列バスに沿う依
頼されたメツセージ転送を示す説明図、第9図は本発明
の直列バスに沿ってメツセージを送るための直列メツセ
ージ制御器を構成する主な部品のブロック図、第10a
図は直列メツセージ制御器のバス状態検出回路を示す略
図、M 10b図は検出器論理回路の動作説明図、第1
1a図は本発明のバス構造に結合されているエージェン
トの間でメツセージを送る九めの本発明のデータを包む
構造を示す線図、第11b図は直列バスに沿うメツセー
ジ転送を確認応答するための直列バスにおいて使用され
る確認応答メツセージ構造を示す線図、第12a図は本
発明の直列バスに沿って送信エージェントによシ夷行さ
れる一連の論理動作を示す流れ図、第12b図はメツセ
ージ衝突を検出するために直列バスに沿うエージェント
により同時に実行される一連の論理動作を示す流れ図、
第12c図はメツセージの検出と受信を行なうために直
列バスに沿うエージェントによシ同時に実行される一連
の論理動作を示す流れ図、#113図は本発明の直列バ
スにより使用される決定論的な衝突再送仲裁のサイクル
を示す線図、第14図は本発明のローカルバスを構成す
る各種の副バス構造を示す略図、第15図は本発明のロ
ーカルバスにアクセスするための仲裁サイクルを示すタ
イミング図、第16図は待機のローカルバスの使用を示
すタイミング図、第17図は待機状態と異議状態でのロ
ーカルバス読出しアクセスを示すタイミング図、第18
図はローカルバスブロック転送および継続誤シ報知を示
すタイミング図、第19図は第1の要求エージェントの
制御の下にローカルバスが機能するバス仲裁、パイプラ
イン処理および待機を示すタイミング図、第20図はロ
ーカルバスが最初に第1の要求ニージエントノ制御の下
にあるローカルバス仲裁と待機を示すタイミンク図、第
21図はローカルバスブロック転送状、態と異議状態を
示すタイミング図、M22図はLOCK信号の制御の下
におけるローカルバス相互排他的動作を示すタイミング
図である3、25.26・・・・処理装置、30・ms
・包括的記憶装置、35・・・・並列バス、37・・・
・直列バス、40.41・・・・第1のプロセ’)t、
44・・・・インターフェイス装置、46・・φ・l1
0Oシツク、50・拳・・メツセージ制御ロジック、5
4・・・・メモリ、56・・・・ローカルバス、5T・
・・・第2のプロセッサ、60・Φ・・アドレス/デー
タ線、62・・・・エージェント仲裁線、64・・・・
高優先度線、66・・・・バス要求線、68・・・・指
令バス、69・・−・バスロック線、10・・・・異議
線、72番・・・ψシステム制御線、80・・・・メツ
セージ制御器、82・・・・パックアメモリ、84・・
・・バス制御器、86・・・・直接メモリアクセス(D
MA)インターフェイス、88・・・・FIFOポイン
タ、100・・・・直列メツセージ制御器、110・・
・・バス状態検出器、115・・・・デコーダ、117
・・・・衝突検出線、124・・・・直列メツセージ制
御ロジック、128・・・・直列送信器、131 、1
32 、133・・・・D−ラッチ、136・・・・検
出器論理回路、300・・・・アドレス線、310・・
・・指令線、315・・・・データ線、320・・・・
制御線、325・・・・バス要求線、330・・・・バ
ス確認応答線、335・00.バスクロック線、。

Claims (22)

    【特許請求の範囲】
  1. (1)複数のデータ処理装置(エージェント)に結合さ
    れて、それらのデータ処理装置の間でデータを転送する
    ための高速の直列バス構造において、前記各エージェン
    トと前記直列バスの間に結合され、前記直列バスに沿つ
    て前記エージェントの間でデータをデータパケットの形
    でデータを転送するメッセージ制御器を備え、このメッ
    セージ制御器は、 エージェントにより与えられた前記データパケットを前
    記直列バスに沿つて送るために前記直列バスに結合され
    る送信器と、 種々のエージェントにより前記直列バスに沿つて送られ
    るデータパケットの間の衝突を検出する衝突検出器を含
    んでいて、前記直列バスに結合されて、前記直列バスに
    沿つて送られるデータパケットを検出するバス状態検出
    器と、 このバス状態検出器に結合される受信器と を含み、前記データパケットは前記直列バス上で逆相と
    なるようにドライブされ、前記受信器は、前記直列バス
    上の逆相にドライブされた前記受けたデータパケットを
    復号し、それらのデータパケットを再構成し、それによ
    りデータパケットは前記バス構造に結合されているエー
    ジェントの間を直列に転送されることを特徴とする複数
    のデータ処理装置に結合されて、それらのデータ処理装
    置の間でデータを転送するための高速の直列バス構造。
  2. (2)特許請求の範囲第1項記載の直列バス構造であつ
    て、前記データパケットを構成するデータは直列形式で
    あり、かつ前記直列バス上において位相が180度異な
    ることを特徴とする直列バス構造。
  3. (3)特許請求の範囲第2項記載の直列バス構造におい
    て、前記バス状態検出器は、同時にクロックされて、直
    列に結合されるD−ラッチを含み、それらのD−ラッチ
    は前記直列バスの各線に結合されて、前記直列バス上で
    受けた逐次データビットの比較を行なえるようにされて
    いることを特徴とする直列バス構造。
  4. (4)特許請求の範囲第3項記載の直列バス構造におい
    て、前記直列結合されているD−ラッチに結合され、前
    記直列バスから前記符号化されたデータパケットをとり
    出して、前記直列バスに沿う衝突を検出する検出論理手
    段を含むことを特徴とする直列バス構造。
  5. (5)特許請求の範囲第4項記載の直列バス構造におい
    て、前記検出論理手段が同じ第1の論理状態にある両方
    の直列バス線を検出した時に前記直列バスに沿う衝突が
    検出されることを特徴とする直列バス構造。
  6. (6)特許請求の範囲第5項記載の直列バス構造におい
    て、前記第1の論理状態とは逆の同じ第2の論理状態に
    ある両方の前記直列バス線を前記検出論理手段が検出し
    た時にアイドルバス状態が検出されることを特徴とする
    直列バス構造。
  7. (7)特許請求の範囲第6項記載の直列バス構造におい
    て、前記メッセージ制御器は、送信エージェントのため
    の前記直列バスを秩序正しく割付けるための仲裁手段を
    含むメッセージ直列制御ロジックを含むことを特徴とす
    る直列バス構造。
  8. (8)特許請求の範囲第7項記載の直列バス構造におい
    て、前記検出論理手段は、メッセージ衝突が検出された
    時に、前記直列バスに結合されている各エージェントが
    、前記両方の直列バス線を所定時間だけ同じ論理状態に
    ドライブするジャム信号を発生し、前記直列バス線を電
    気的にクリヤできるように前記直列バスを所定時間だけ
    アイドル状態に保つように、前記仲裁手段により仲裁サ
    イクルを開始することを特徴とする直列バス構造。
  9. (9)特許請求の範囲第8項記載の直列バス構造におい
    て、前記仲裁サイクルは、逐次時間スロットの割付けを
    含み、それらの時間スロットのうちの少なくともいくつ
    かは、前記直列バスに結合されている特定のエージェン
    トに対応し、前記仲裁サイクルが特定のエージェントの
    割付けられている時間スロットまでカウントした時にそ
    れのデータパケットを再び送り、時間スロットの前記逐
    次カウントは、それの時間スロット内のエージェントに
    よるデータパケットの送信中は一時的に止められること
    を特徴とする直列バス構造。
  10. (10)特許請求の範囲第9項記載の直列バス構造にお
    いて、前記時間スロットは複数の副時間スロットを含み
    、それらの副時間スロットのうちの少なくともいくつか
    は前記バスに結合されている種々のエージェントに対応
    することを特徴とする直列バス構造。
  11. (11)特許請求の範囲第10項記載の直列バス構造に
    おいて、第1の要求エージェントがメッセージ要求を発
    生して、その要求を前記第1の要求エージェントの前記
    メッセージ制御器へ送り、前記第1の要求エージェント
    は前記要求を前記直列バスに沿つて送るために前記要求
    を包むことを特徴とする直列バス構造。
  12. (12)特許請求の範囲第11項記載の直列バス構造に
    おいて、前記包むことは特定のメッセージ要求を識別す
    る第1の連絡番号の加算を含むことを特徴とする直列バ
    ス構造。
  13. (13)特許請求の範囲第12項記載の直列バス構造に
    おいて、前記包まれた要求は前記応答エージェントの前
    記メッセージ制御器により受けられ、内部バスに沿つて
    前記応答エージェントのプロセッサへ送られることを特
    徴とする直列バス構造。
  14. (14)特許請求の範囲第12項記載の直列バス構造に
    おいて、前記応答エージェントの前記プロセッサは前記
    受けたメッセージ要求に対する応答を発生し、かつその
    応答を包む前記応答エージェントのための前記メッセー
    ジ制御器へ前記応答を送り、特定の応答を識別する第2
    の連絡番号の付加を含むことを特徴とする直列バス構造
  15. (15)複数のデータ処理装置(エージェント)の間で
    多重バス構造によりデータを転送する方法において、前
    記データ処理装置は直列バス上に送出エージェントと応
    答エージェントを含み、 直列データパケットを発生し、逆相の前記データパケッ
    トを前記直列バス上で送る過程と、所定のフレーム間ス
    ペース(IFS)期間中に前記応答エージェントにより
    送られた確認応答(ACK)データメッセージを前記直
    列バス上の前記直列データパケットと任意の以後の直列
    データパケットの間で検出するために前記直列バスを調
    べる過程と を備え、それにより直列データパケットが送出エージェ
    ントから応答エージェントへ転送されることを特徴とす
    る複数のデータ処理装置の間での多重バス構造によるデ
    ータ転送方法。
  16. (16)特許請求の範囲第15項記載の方法において、
    前記メッセージが前記フレーム間スペース内で前記AC
    Kメッセージが検出されない場合に前記直列データパケ
    ットを前記応答エージェントへ再び送り、再び送られた
    前記パケットは、その再び送られたパケットを再試行送
    信として識別するフラグビットを含むことを特徴とする
    方法。
  17. (17)特許請求の範囲第16項記載の方法において、
    前記直列バスは2本の線を含み、各線は互いに位相が1
    80度異なるようにドライブされることを特徴とする方
    法。
  18. (18)特許請求の範囲第17項記載の方法において、
    前記種々のエージェントにより送られたデータパケット
    の間の衝突について前記直列バスを監視する過程を備え
    ることを特徴とする方法。
  19. (19)特許請求の範囲第18項記載の方法において、
    衝突が検出された時に前記各エージェントは衝突仲裁サ
    イクルを開始し、その衝突仲裁サイクルは、「ジャム」
    信号を発生して、その信号を前記直列バス上に送ること
    により前記直列バスを第1の所定時間だけ既知の状態に
    ドライブする過程と、前記バスを電気的にクリヤできる
    ように、前記直列バスを第2の所定時間だけアイドル状
    態に維持する過程と、 第3の所定時間の時間スロットを逐次カウントする過程
    と を含み、前記各エージェントには独特の時間スロットが
    割付けられ、その独特の時間スロット内に直列バス制御
    が前記特定のエージェントへ割付けられ、時間スロット
    の前記逐次カウントは送出エージェントによるデータパ
    ケットの再送信中に一時的に中断されることを特徴とす
    る方法。
  20. (20)特許請求の範囲第19項記載の方法であつて、
    アイドル期間について前記直列バスを監視する過程を含
    み、前記アイドル期間は、前記各線が前記第1の論理状
    態とは逆の第2の論理状態にある時に検出されることを
    特徴とする方法。
  21. (21)特許請求の範囲第20項記載の方法において、
    前記ACKメッセージは同期前書き部を含み、その同期
    前書き部の後には前記フレーム間スペース時間内のバス
    アイドル期間が続くことを特徴とする方法。
  22. (22)特許請求の範囲第21項記載の方法において、
    複数のエージェントを副時間スロットに割付けることが
    できるように、少なくとも1つの時間スロットが多くの
    副時間スロットに分けられることを特徴とする方法。
JP1272285A 1985-01-28 1985-01-28 高速の直列バス構造およびデ−タ転送方法 Pending JPS61175842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1272285A JPS61175842A (ja) 1985-01-28 1985-01-28 高速の直列バス構造およびデ−タ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1272285A JPS61175842A (ja) 1985-01-28 1985-01-28 高速の直列バス構造およびデ−タ転送方法

Publications (1)

Publication Number Publication Date
JPS61175842A true JPS61175842A (ja) 1986-08-07

Family

ID=11813319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1272285A Pending JPS61175842A (ja) 1985-01-28 1985-01-28 高速の直列バス構造およびデ−タ転送方法

Country Status (1)

Country Link
JP (1) JPS61175842A (ja)

Similar Documents

Publication Publication Date Title
US4807109A (en) High speed synchronous/asynchronous local bus and data transfer method
US4570220A (en) High speed parallel bus and data transfer method
US4785396A (en) Push-pull serial bus coupled to a plurality of devices each having collision detection circuit and arbitration circuit
US4590467A (en) Local area network interface controller
JP2709820B2 (ja) 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器
US5020020A (en) Computer interconnect system with transmit-abort function
US5193149A (en) Dual-path computer interconnect system with four-ported packet memory control
JP3340738B2 (ja) 並行パケットバスに関する方法及び装置
CA2166343C (en) Carrier sense collision avoidance with auto abort
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
US4560985A (en) Dual-count, round-robin distributed arbitration technique for serial buses
US4332027A (en) Local area contention network data communication system
JP3604398B2 (ja) 並列パケット化されたモジュール期調停高速制御およびデータバス
US4744023A (en) Processor access control arrangement in a multiprocessor system
EP0194462A2 (en) System bus means for inter-processor communication
US4593281A (en) Local area network interframe delay controller
JPH0625985B2 (ja) 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置
JPH04230557A (ja) 直接メモリアクセス・コントローラ
JPH0246974B2 (ja)
US4736365A (en) Method and apparatus for controlling access to an asynchronous communication network
JPH0954745A (ja) コンピュータシステム
JPS61175842A (ja) 高速の直列バス構造およびデ−タ転送方法
JPS5986940A (ja) マルチドロツプ方式の情報伝送方式
JP3080827B2 (ja) ファイル装置用多重化インタフェース及びその制御方法
JPS61177560A (ja) 高速の並列バス構造およびデ−タ転送方法