JP2509569B2 - 情報処理システム用i/o構造 - Google Patents

情報処理システム用i/o構造

Info

Publication number
JP2509569B2
JP2509569B2 JP15129586A JP15129586A JP2509569B2 JP 2509569 B2 JP2509569 B2 JP 2509569B2 JP 15129586 A JP15129586 A JP 15129586A JP 15129586 A JP15129586 A JP 15129586A JP 2509569 B2 JP2509569 B2 JP 2509569B2
Authority
JP
Japan
Prior art keywords
bus
subsystem
communication
data
address
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 - Fee Related
Application number
JP15129586A
Other languages
English (en)
Other versions
JPS628252A (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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25016551&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2509569(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS628252A publication Critical patent/JPS628252A/ja
Application granted granted Critical
Publication of JP2509569B2 publication Critical patent/JP2509569B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 発明の背景 産業上の利用分野 本発明は、情報処理システムに関し、より詳細には、
情報処理システムのための入力/出力構造に関する。
先行技術の説明 情報処理システムによって実行されなければならない
2つの主なタスクは、情報の処理及び情報のシステムへ
の且つシステムからの移動であり、大抵のシステムは、
これらのオペレーションを反映するように構造的にも且
つ動作的にも編成されている。即ち、斯かるシステム
は、CPU及びメモリ等の内部情報処理エレメント及びこ
れら内部エレメント間の通信のための内部システムバ
ス、及び入出力(I/O)構造からなる。このI/O構造は、
通常、内部システムバスから接続されたI/Oバス、及び
複数の周辺装置を含んでいる。周辺装置の例は、ディス
クドライブ、ディスプレイ、プリンタ、通信リンク、テ
ープストリーマ及びユーザ端末装置等の入出力装置を含
んでいる。これらの周辺装置は更に、他の汎用コンピュ
ータ等の独立した又は関連する処理ユニット、又はスキ
ャナ及び専用の演算プロセッサ又は信号プロセッサ等の
専用の処理装置を含み得る。
如何なる情報処理システムにおいてもその性能に対し
てくり返し生ずる制限が、I/Oシステムの能力によって
設定される。即ち、I/Oシステムが如何に効率的に、情
報を、処理すべきシステムに移動するか、且つ処理され
た情報を如何に効率的にシステムから出すかによって設
定される。更に他に関連する問題は、I/Oオペレーショ
ンの命令及び制御に費やされなければならないシステム
リソース及び処理時間の量である。更に、多くのシステ
ムは、更に周辺装置を加え且つシステム拡大の必要性を
加えることに関して、システムの容量及びI/O構造によ
って増大能力が限定される。
本発明の目的は、情報処理システムのための改良され
たI/O構造を提供することにある。
本発明の別の目的は、同一のI/Oバスから接続された
周辺装置間、異なったI/Oバスから接続された周辺装置
間、及び、周辺装置とシステムの内部処理エレメントと
の間での、データやメッセージの通信を可能にする改良
されたI/O構造を提供することにある。
本発明の更に別の目的は、周辺装置をI/Oバスに接続
するための改良されたインテリジェントインターフェー
ス制御装置を提供することにある。
発明の概要 本発明によると、情報処理システムは、内部処理手
段、上記内部処理手段間での通信のための内部システム
バス手段、及び上記システムへ且つ上記システムから情
報を伝えるための周辺手段を含む。入出力(I/O)手段
は、周辺手段及び内部処理手段間で情報を伝えるため
に、内部バス手段から周辺手段へ接続されている。この
I/O手段は、I/O手段から接続された周辺手段間で制御ワ
ードを伝えるための制御バス手段を含んでおり、各制御
ワードは、I/O手段から接続された周辺手段を識別する
情報を含むターゲット(target)アイデンティフィケー
ションフィールド、及び実行されるべきI/Oオペレーシ
ョンの種類を識別する情報を含む命令フィールド(コマ
ンドフィールド)を含んでいる。I/O手段は更に、I/O手
段から接続された周辺手段間でアドレス/データワード
を伝えるためのアドレス/データバス手段を更に含んで
いる。アドレス/データワードの各通信は、対応の制御
ワードの通信に伴われている。
I/Oオペレーションの実行は、少なくとも1つのアド
レス/データワードの送信を含んでおり、各アドレス/
データワードは、転送されるべき情報を含んでおり、こ
の情報は、データ、又はメッセージ、又は転送されるべ
き情報の内部処理手段のアドレススペースにおける宛先
を識別するアドレス情報を含んでいる。各アドレス/デ
ータワードと共に、制御ワードが送信される。各制御ワ
ードは、I/O手段から接続された周辺手段を識別する情
報を含むターゲット識別(アイデンティフィケーショ
ン)フィールド、及び実行されるべきI/Oオペレーショ
ンの種類を識別する情報を含む命令(コマンド)フィー
ルドを有する。
同一のI/O手段から接続された周辺手段間のデータの
転送は、少なくとも1つのアドレス/データワード、及
び各データワードに対して随伴する制御ワードを送信す
るステップを含んでおり、各アドレス/データワード
は、通信されるべきデータを含んでいる。各制御ワード
は、I/O手段から接続された周辺手段の識別を含むター
ゲット識別(アイデンティフィケーション)フィール
ド、及びI/O手段から接続された周辺手段とのデータ転
送を指定する情報を含む命令(コマンド)フィールドを
含んでいる。
同一のI/O手段から接続された周辺手段間のメッセー
ジの転送は、通信されるべきメッセージを含む単一のア
ドレス/データワードの送信を含んでいる。随伴する制
御ワードは、I/O手段から接続された周辺手段のアイデ
ンティフィケーションを含むターゲット識別(アイデン
ティフィケーション)フィールドを含んでいる。I/O手
段から接続された周辺手段と内部バス手段から接続され
た内部処理手段、又は別のI/O手段から接続された別の
周辺デバイスとの間のデータの転送は、少なくとも2つ
のアドレス/データワードの送信を含む。このアドレス
/データワードには、内部処理手段のアドレススペース
におけるデータの宛て先を識別するアドレス情報を含む
第1のアドレス/データワードと、転送されるべきデー
タを含む少なくとも1つの接続するアドレス/データワ
ードが含まれる。各随伴する制御ワードは、システムバ
スインターフェース手段を識別する情報を含むターゲッ
トアイデンティフィケーションフィールド、及びI/O手
段から接続された周辺手段と内部バス手段から接続され
た内部処理手段との間のデータ転送を指定する情報を含
む命令(コマンド)フィールドを含んでいる。
別の特徴によると、本発明は、I/Oオペレーションの
実行を制御するための、I/Oバス手段と周辺装置手段と
の間に接続されたインターフェース制御手段に関する。
このインターフェース制御手段は、インターフェース制
御手段とI/Oバス手段との間でアドレス/データワード
を伝えるための、I/Oバス手段から接続されたインター
フェース手段と、周辺装置とインターフェース手段との
間でデータを伝えるための、インターフェース手段から
接続されたデバイスアダプタ手段と、制御ワード及びア
ドレスを発生するための、且つ制御ワードに応答してデ
バイスアダプタ手段及びインターフェース手段のオペレ
ーションを制御するための信号を与えるための制御手段
と、を含んでいる。
インターフェース手段は、デバイスアダプタ手段から
データを受けるための、かつ、制御手段から初期アドレ
ス情報を受けてそこから連続アドレスを発生するため
の、且つ、制御手段からメッセージを受るための、且つ
メッセージの内容を、オペレーションのアドレス/デー
タワードとしてアドレス/データバス手段に与えるアド
レス/データバス手段に接続された出力を有する第1レ
ジスタ手段を含んでいる。第2レジスタ手段は、アドレ
ス/データワードを受け、且つデータをデバイスアダプ
タ手段に、そしてメッセージを制御手段に与えるため
の、アドレス/データバス手段から接続された入力を有
している。
制御手段は、I/Oバス手段のオペレーションの状態に
関する情報を受けかつ記憶するための状態レジスタ手段
を含んでいる。この状態レジスタ手段は更に、制御手段
によって開始されるI/Oオペレーションの状態に関する
情報を記憶するためのバス転送レジスタ手段を含んでお
り、このバス転送レジスタ手段は、制御手段によって、
オペレーションが開始されるべきであることを示す第1
状態にセット可能であり、且つインターフェース手段に
よって、上記オペレーションが終了したことを示す第2
状態にセット可能である。このインターフェース手段は
バス転送レジスタ手段の第1状態に応答してオペレーシ
ョンを開始し、且つ制御手段は第2状態に応答して後続
のオペレーションを開始できるようにする。
制御手段は更に、制御ワードバス手段に接続された出
力を有し、且つ制御手段のオペレーションに応答し、制
御ワードを記憶し且つ制御ワードバス手段に与えるため
の、バス制御レジスタ手段を含んでいる。
好適な実施例の説明 以下の発明は、本発明のこの好適な実施例を含むシス
テム全体の構造及びオペレーションを表し、この説明の
次に、本発明の入出力(I/O)構造の構造及びオペレー
ションの説明が続く。
ここで銘記すべきことは、これらの図面及び以下の説
明に現われる参照数字が3桁からなっていることであ
る。最小(最右)の2桁は、特定の図面に現われる特定
のエレメントを示し、最大(最左)の桁は、そのエレメ
ントが最初に現われる図面を示す。例えば、エレメント
124は、第1図の24番目のエレメントであり、第1図に
最初に現われる。参照数字は、その参照エレメントが図
面に現われる最初に割り当てられ、それに続く説明及び
図面にわたってそのエレメントを参照するのに用いられ
る。
A.システム102のエレメント及び一般的オペレーション
(第1図) 第1図について説明する。第1図には、本発明のI/O
構造を含む例示システム102のブロック図が示されてい
る。ここに示されるように、システム102は、複数の内
部エレメント、即ち、プログラムの実行に直接関係する
エレメントと、システムこれらの内部エレメント間の通
信のためのシステムバス構造と、を含んでいる。システ
ム102は、複数の周辺エレメント、即ち、入力/出力及
び支援機能を行うエレメントと、システムのこれらの周
辺エレメントと内部エレメントとの間の通信のためのI/
O構造と、を更に含む。
まず、システムバス及びこのシステムバスから接続さ
れているシステム102の内部エレメントについて説明す
る。このレベルにおいて見ることができるシステムバス
構造の主なエレメントは、システムバス104及びシステ
ムバス優先(SBP)バス106である。システムバス104
は、システム102の内部エレメントが互いに通信する時
に用いられる手段であり、一方、SBPバス106は、システ
ム104から接続された内部エレメントがシステムバス104
へのアクセスを決定する時に通るリンクである。
システムバス104に直接接続されたシステム102の内部
エレメントについて考慮すると、斯かる各エレメント
は、システム102の他のエレメントから独立して少なく
とも限定された機能を実行するために、例えば、マイク
ロコード制御の形態の、十分な内部インテリジェンスを
含んでいる。第1図に示されるような斯かるエレメント
の例は、メモリユニット(MEM)(1乃至n+2)108、
中央処理ユニット(CPU)(1乃至n+1)110、局部シ
ステム制御装置(LSC)112、遠隔システム制御装置(RS
C)114、及びシステムバスインターフェース(SBI)
(1乃至n+1)116を含んでいる。
MEM108及びCPU110等のエレメントの設計及びこれらの
エレメントによって実行される機能は、当技術において
は公知であるため、これ以上の説明を要しない。LSC112
及びRSC114は、例えば、特定のシステム制御機能、例え
ば、ユーザ制御インターフェース、即ち、「ソフト制御
パネル」の提供を実施するのに適する、パーソナル又は
プロフェッショナルクラスの小型コンピュータであり得
る。この点について述べると、RSC114は、通信リンク
(TC)を通して、例えば、診断の目的で、遠隔のユーザ
/制御装置に接続されている、という点でLSC112と異な
る。
システム102のI/O構造は、第1図に示すように、1つ
又はそれ以上のI/Oバス構造からなる。各I/Oバス構造
は、システムバス104からシステムバスインターフェー
スユニット(SBI)を通して接続されているサテライト
プロセッサユニット(SPU)バス120を含んでいる。この
バス120には、1つ又はそれ以上のサテライトプロセッ
サユニット(SPU)118、即ち、周辺エレメントが接続さ
れている。
後に詳細に述べるように、各SPU118は、周辺装置と、
この周辺装置をSPUバス120に接続するインテリジェント
インターフェース制御装置(IIC)と、を含んでいる。
この周辺装置は、例えばデータ速度又は機能のために、
それらの機能を実行するのにシステムバス104への直接
アクセスを必要としない装置又はシステムエレメントを
含んでいる。周辺デバイスの例は、例えば、ディスクド
ライブ、ディスプレイ、プリンタ、通信リンク、テープ
ストリーマ及びユーザ端末装置のような入出力装置を含
んでいる。これらの周辺装置は、独立又は関連の処理ユ
ニット、例えば、他の汎用コンピュータあるいは専用処
理装置、例えば、スキャナや専用演算プロセッサ又は信
号プロセッサを更に含み得る。前にも説明したように、
各周辺装置は、システム102の他のエレメントから独立
して少なくとも限定された機能を実行するために、例え
ば、マイクロコード制御の形態の、十分な内部インテリ
ジェンスを含み得る。
システム102の全体の構造及びオペレーションについ
て述べてきたので、次に、SPUバス120及びSPU118の構造
及びオペレーション、並びにこれらのエレメントによっ
て実行されるI/O通信オペレーションの説明を通して、
システム102のI/O構造について説明する。次に、システ
ム102の内部バス構造、即ち、システムバス104及びSPU
バス106について説明することにより、I/O構造が動作す
る設定の例を提供する。最後に、I/O構造とシステム102
の内部バス構造との間のインターフェースについて説明
する。
B.システム102のI/O構造、一般的説明(第2図及び第3
図) 前に説明したように、本発明に係る、I/O構造の機能
は、I/Oオペレーションの性能及び、間接的に、システ
ム102の全体の性能を高めることにある。この点につい
て、且つ以下に述べるように、I/O構造によって、複数
のSPUバス120及び関連のSPU118をシステム102に簡単に
インターフェースすることができ、これにより、システ
ム102のI/O機能を、システムに大きな修正を必要とせず
に拡大することができる。更に、本発明のI/O構造は、
多くのI/Oオペレーションの制御及び実行を、システム1
02の内部エレメント、例えば、CPU106から、I/O構造に
転送し、これにより、CPU106の必要とする非プログラム
実行オペレーションを減ずる。この点について、且つ以
下に述べるように、I/O構造、特にSPU118は、システムC
PUオペレーション、即ち、システム102のCPU110によっ
て開始するI/Oオペレーションを、待ち行列に入れるた
めの手段を提供する。この機能は、マルチタスクのシス
テムオペレーションを支援する。最後に、本発明のI/O
構造は、周辺装置と、MEM108及びCPU110等のシステム10
2の内部エレメントとの間、及び、同一のSPUバス120か
ら接続された周辺装置間、及び、異なったSPUバス120か
ら接続された周辺装置間、のデータ及びメッセージ/命
令の両方の通信を行え、これにより、I/O関連の通信オ
ペレーションのフレキシビリティ及びパワーの両方を高
める。これらが共になり、これらの特性は、周辺インタ
ーフェースのレベルにおける多くの前処理能力、従っ
て、大きく増大した性能をシステム102に与える。
上に述べたように、システム102のI/O構造は、1つ又
はそれ以上のI/Oバス構造からなる。各I/Oバス構造は、
システムバス104からシステムバスインターフェースユ
ニット(SBI)を通して接続されたサテライトプロセッ
サユニット(SPU)バス120を含んでおり、各SPUバス120
には、1つ又はそれ以上のサテライトプロセッサユニッ
ト(SPU)118が接続されている。本発明のI/O構造の次
の説明は、先ず、SPUバス120の全体的構造、及び関連の
SPU118によってこのバスを通して実施される一般的なデ
ータ/メッセージ/命令(コマンド)I/Oオペレーショ
ンについて述べる。次に、SPU118の構造及びオペレーシ
ョンが述べられており、次に関連のSBI118を介して与え
られるSPUバス120/システムバス104インターフェースに
ついて述べられる。
B.1 SPUバス120の一般的説明(第2図) 第2図について説明する。第2図には、SPUバス120の
構造が示されている。この図に示されるように、SPUバ
ス120は、32ビット双方向多重化アドレス/データ(A/
D)バス202及び9ビート双方向命令(コマンド)/識別
(アイデンティフィケーション)(C/I)バス204)を含
んでいる。更に以下に述べるように、且つ第3図に示す
ように、C/Iバス204は、4ビット双方向ターゲットアイ
デンティフィケーション(TI)バス206及び5ビット双
方向コマンドコード(CC)バス208からなっている。SPU
バス120は更に、単一ビット双方向肯定(acknowledge)
(ACK)ライン210、単一ビット双方向ビジーライン21
2、及び単一ビット双方向保持ライン214を含んでいる。
SPUバス120の他のエレメントは必要に応じてI/O構造の
次の詳細な説明で述べられている。
特定のI/O通信オペレーションの次の説明で述べるよ
うに、I/O通信オペレーションは、A/Dバス202を通して
伝達される1つ又はそれ以上の32ビットA/Dワードのシ
ーケンスからなっており、各A/Dワードには、C/Iバス20
4を通して伝達される9ビットC/Iワードが伴なってい
る。このシーケンスのA/Dワードは、通信の内容を含ん
でおり、そして、通信に応じて、シーケンスの各A/Dワ
ードは、メッセージ、データ又はメモリアドレスを含み
得る。各A/Dワードに伴なうC/Iワードは、通信を受ける
ように意図された受け取り装置、及び実行されるべき通
信の種類を識別する情報を含んでいる。
1つのC/Iワードは、TIバス206に現われる4ビットTI
フィールド、及びCCバス208に現われる5ビットCCワー
ドを含んでいる。TIフィールドは、通信を受けるように
意図された受け取り装置を識別する情報を含んでおり、
一方、CCフィールドは、実行される通信の種類を識別す
る情報を含んでいる。従って、C/Iワードは、32個迄の
可能な通信オペレーションを規定することができ、ある
通信の16個迄の受け取り装置を識別することができるこ
とが明らかである。
ここで銘記すべきことは、TIフィールドの内容は、伝
送するSPU118に関する局部アドレスとしてオペレート
し、即ち、TIフィールドは、送信側SPU118と同一のSPU
バス120に存在する受け取り装置を識別する、というこ
とである。従って、1つのSPUバス120は、15個迄の一意
的に識別可能なSPU118を接続せしめることができ、SPU
バス120のSBI116は、SPU118と同じようにTIフィールド
によって識別される。
次に述べるように、送信するSPU118と同じSPUバス120
に接続していない受け取り装置は、送信側SPU118のSBI1
16を介して間接的にアドレスされる。即ち、送信側SPU1
18によって送信されるC/IワードのTI及びCCフィールド
は、それぞれ、SPU118の局部SBI116を通信の受け取り装
置として、且つ通信オペレーションが、例えば、別のSP
Uバス120に位置しているSPU118あるいはシステム102の
内部エレメント、例えば、MEM108に対してであること
を、識別する。随伴するA/Dワードに含まれるアドレス
情報が次に用いられ、これにより通信をするよう意図さ
れた受け取り装置を識別し且つ突き止める。
次にまた述べられるように、それぞれACKライン210、
ビジーライン212及び保持ライン214をそれぞれ通して伝
達される肯定応答(acknowledge)(ACK)信号、BUSY信
号及びHOLD(保持)信号が用いられ、通信オペレーショ
ンを制御し且つ調整する。簡単に説明すると、ACK及びB
USYは、通信オペレーションの要求に応答して、意図さ
れた受け取り装置によって、通信要求を送出した送出装
置に伝達される。ACK及びBUSYはそれぞれ、意図された
受け取り装置がその要求を受けたところ、及び意図され
た受け取り装置が、使用中(ビジイ)あるいは使用中で
ないこと、即ち、オペレーションを実行可能又は実行不
能であることを示す。HOLDは、特定のオペレーションに
おいて必要に応じて、送出装置によってアサートされ、
これによりそのオペレーションにおいて用いられている
バスの、送出装置による制御を拡張する。
SPU120及びこのバスを介して実行される通信オペレー
ションの基本構造及びオペレーションについて述べてき
たので、特定の通信オペレーションについて次に簡単に
述べ、かつI/O構造のオペレーションの以下の別の説明
において更に詳しく述べることにする。
B.2 基本I/O通信オペレーション(第3A図乃至第3H図) 第3A図乃至第3H図は、特定の基本I/O通信オペレーシ
ョンの実行を示している。詳細にはそれぞれ、(A)SP
U118からMEM108への書き込み、(B)SPU118からMEM108
への連続書き込み、(C)MEM108からSPU118への読み出
し、(D)同一のSPUバス120から接続された2つのSPU1
18間の通信、(E)異なったSPUバス120から接続された
SPU118の通信、(F)テストオペレーション、(G)ブ
ロック転送を実施する2つのSPU118間のアンドシェー
ク、(H)I/O初期化オペレーション、を示している。
これらの図において、A/Dバス202、CIバス204のTIバ
ス206及びCCバス208、ACKライン210、ビジイライン212
及び保持ライン214の各々に現れる情報又は信号は、示
された様式で時間が頂部から底部に増加する、示された
オペレーションの連続的バスサイクルに対して示されて
いる。
第3A図について説明する。SPU118からMEM108への書き
込みは、2つあるいは3つのバスサイクルを必要とし、
メモリアドレス情報は第1サイクルにおいて転送され、
1つ又は2つの32ビットのデータワードがそれぞれ、次
の1つ乃至2つのサイクルにおいて転送される。ここで
銘記すべきことは、第3A図及び次の図において、WRT64
が64ビット(2ワード)の転送に対する命令であり、一
方WRT32/8が32ビット(単一ワード)又は8ビット(1
バイト)の転送に対する命令であることである。TIフィ
ールドにおける符号Sは、通信ソースのアイデンティフ
ィケーション、即ち、送出側SPU118を表す。
第3B図について説明する。SPU118からMEM108への連続
の書き込みにおいて、I/O構造は、メモリ書き込みオペ
レーションの幾つかのオーバーラッピングを可能にす
る。即ち、1つのSPU118が書き込みオペレーションに携
さわっている間、第2のSPU118はその仲裁サイクルを実
施することができ、それを通じて、第1のSPU118の書き
込みオペレーションの最後のサイクルの間にSPUバス120
へのアクセスを得る。ここで銘記すべきことは、第3B図
及び以下の図において、符号ARは、SPU118のバス仲裁サ
イクルを表すことである。
第3C図について説明する。MEM108からSPU118への読み
出しの結果、MEM108からSPU118への1つ又は2つの32ビ
ットワードの転送がおき、また、この読み出しは、2つ
の独立のバス仲裁オペレーションを含む。先ず、SPU118
は、そのSPUバス120へのアクセスを仲裁し、第1バスサ
イクルにおいてMEM108アドレスを伴なう読み出し命令を
発する。次に、SBI116が命令及びアドレスを受け且つ読
んだ後、SBI116は、この説明の次の部分に述べるよう
に、システムバス104データ転送オペレーションを実行
し、これによりMEM108からデータを得る。最初の要求
と、SBI116がデータを得る時との間の遅延は、前述した
ように、システムバス104のトラフィックに依存する。
次に、SPU118は、SPUバス120へのアクセスを仲裁し、SP
U118へデータを転送する命令を発行する。尚、この転送
に要するサイクルの数は、データの読み出しに依存す
る。第3C図で銘記すべきことは、RD64がMEM108からのダ
ブルワード(64ビット)の読み出しを要求する命令であ
るのに対し、RD32は1つのワードを読み出す命令である
ことである。参照文字LDIR1及びLDIR2は、SBI116からSP
U118へのデータの転送を指定し、これに関してはSPU118
の次の説明で更に述べる。TIフィールドにおける符号DE
Sは、宛先アドレス、即ち、データを受け取って読むSPU
118のアイデンティフィケーションを示すものである。
ここで銘記すべきことは、次に述べるように、MEM108
からの読み出しがオーバーラップされ得ることである。
即ち、異なるMEM108の読み出し又は書き込みが、MEM108
のアドレス指定とアドレス指定されたデータの帰還との
間の待機期間において実施され得る。
第3D図について説明する。同一のSPUバス120から接続
された2つのSPU118間のプロセッサ間通信(IPC)は、3
2ビットのデータ又はメッセージを転送し、1つのSPU12
0バスサイクルを必要とする。このオペレーションにお
いては制御信号ACK及びBUSYが用いられ、これにより、
メッセージ/データが宛先SPU118によって受け取られた
かあるいは拒否されたかを、メッセージのソースに示
す。ここで銘記すべきことは、符号IPCが、プロセッサ
間通信命令を示していることである。
第3E図について説明する。異なったSPUバス120から接
続されたSPU118間の通信は、システムバス104及びSPU11
8のそれぞれのSBI116を介して行なわれ、それらはシス
テムバスプロセッサ間通信(SB IPC)オペレーション
と呼ばれる。1つのSB IPCオペレーションは、64ビッ
トを1サイクルにおいて転送し、完了するために2つ又
は3つのバスサイクルを必要とする。再び、制御信号AC
K(肯定)及びBUSY(ビジイ)がSB IPCオペレーション
において用いられる。ターゲットのSBI116あるいはソー
スのSBI116のいずれかが通信を拒否し得る。SB IPCオ
ペレーションは更に、ターゲットのSPU118が通信を受け
るか否かを判定するために、ターゲットのSPU118によっ
て発生され且つターゲットのSBI116によってサンプリン
グされるプロセッサ間通信レデイ(IPCRDY)制御信号を
用いる。ここで更に銘記すべきことは、C/IワードのTI
フィールドは、ターゲットのSPU118のアイデンティフィ
ケーションではなくソースのSPU118のアイデンティフィ
ケーションを含むことであり、次の説明においてより完
全に説明されるように、ターゲットのSPU118のアドレス
が、ソースのSPU118によって記憶されるC/Iワードの中
に存在することである。前に説明したように、このオペ
レーションを完了するのに要する遅延は、システムバス
104のトラフィックに依存する。
第3F図について説明する。テスト及びセットオペレー
ションは、MEM106からのダブルワードのテスト読み出し
であり、前に説明したMEM106からのダブルワードの読み
出しに類似している。このオペレーションにおいて、SP
U118は、MEM106のアドレスを発し、MEM106から2つのデ
ータワードを受け取る。SBI116は、この2つのワードを
受け、修正されていないデータをSPU118に伝送し、この
ダブルワードの最上位ビットをセットし、このダブルワ
ードをMEM106における同一位置に戻すように書き込む。
SBI116は、データ完全性を維持するためにこのオペレー
ションの期間中、システムバス104の制御を保持する。
第3F図に現われる符号T/Sは、テスト及びセットオペレ
ーション命令を示している。
第3G図について説明する。2つのSPU118間のブロック
データ転送の実行の期間中、I/O制御読み出し要求命令
(IOCRD)がハンドシェークオペレーションとして用い
られる。1つのブロックの転送は、データの2つ又はそ
れ以上のシングルワード(32ビット)の転送からなり、
ブロック転送を受けるSPU118は、各ワードを受けた後に
この命令を発行し、これによりソースSPU118から次のデ
ータワードの転送を要求する。このオペレーションの期
間中データは転送されず、次のワード転送を開始する命
令を復号化するためにだけ、ソースSPU118が必要とな
る。
最後に、第3H図について説明する。選択されたSPU118
をリセットするために、システム102の内部装置によっ
て、I/O初期化(SELINIT)オペレーションが用いられ
る。この命令は、前に述べたように、SBI116がシステム
内部バスの適切な「リセットターゲットSPU」命令を検
出する時にSBI116によって発せられるものであり、どの
SPU118も別のSPU118をリセットしない。このオペレーシ
ョンは、選択初期化(SELINIT)と呼ばれる更に別の制
御信号を用いる。SELINITは、SPU118リセットが命令さ
れる時にSBI116によって発せられ、そして、そのSBI116
のSPUバス120から接続されたSPU11によってサンプリン
グされる。選択されたSPU118は、SELINIT及びC/Iワード
のTIフィールドのSPU118のアイデンティフィケーション
の両方の発生する際にリセットされる。
SPUバス120の構造及びオペレーション並びに特定のI/
O通信オペレーションについて述べてきたので、SPU118
の構造及びオペレーションについて次に述べる。
C.3 SPU118(第4図及び第5図) 前に説明したように、各SPU118は、周辺装置と、この
周辺装置をSPUバス120に接続するインテリジェントイン
ターフェース制御装置(IIC)とからなっている。この
周辺装置は、例えば、データ速度又は機能の故に、それ
らの機能を実行するためにシステムバス104への直接ア
クセスを必要としないデバイス又はシステムエレメント
を含んでいる。周辺装置の例は、入力/出力デバイス、
例えば、ディスクドライブ、ディスプレー、プリンタ、
通信リンク、テープストリーマ及びユーザ端末装置を含
んでいる。この周辺装置は更に、独立又は関連の処理ユ
ニット、例えば、他の汎用コンピュータ又は専用処理装
置、例えば、スキャナ及び専用演算プロセッサ又は信号
プロセッサを含み得る。前に説明したように、各周辺装
置は、システム102の他のエレメントから独立して少な
くとも限定された機能を実行するために、例えば、マイ
クロコード制御形式の、十分な内部インテリジェンスを
含み得る。
また前に説明したように、SPU118のIIC404部分は、特
定のI/O及び通信オペレーションの制御及び実行を、SPU
118に転送することにより、周辺のインターフェースの
レベルにおける前処理機能をシステム102に与えるよう
に、意図されている。更に、IICは、オペレーションの
待ち行列を与える。オペレーション待ち行列の機能は、
システム102に対するマルチタスク能力を支援し得る。
更に、且つ次に述べるように、IICの構造は、モジュー
ル構造であり且つ異なった周辺装置の間においてIIC構
造の最大の共有性を与える柔軟性がある。
C.3.a SPU118の全体構造(第4図) 第4図について説明する。第4図には、例示のSPU118
全体のブロック図が示されている。この図に示されるよ
うに、SPU118は、周辺装置(PD)402及びインテリジェ
ントインターフェース制御装置(IIC)404からなってい
る。上に述べたように且つ以下に更に詳しく述べるよう
に、IIC404は、PD402とSPUバス118との間のカップリン
グ及びインターフェースを行ない、その関連のPD402に
関するI/O通信オペレーションを命令し且つ実行する。
第4図に示すように、IIC404は、インテリジェントI/
Oオペレーション制御装置(IOC)406、デバイスアダプ
タ(DA)408及び仲裁/インターフェースロジック(A
I)410からなる。以下に更に詳しく述べるように、IOC4
04は、SPU118のI/O通信オペレーションを制御し且つ命
令する機能を提供し、一方DA408及びAI410は、それぞれ
が、PD402及びSPUバス120に、制御及び通信インターフ
ェースを提供する。
第4図に示すように、AI410は、SPUバス120に双方向
的に接続されており、一方DA408は、PD402に双方向的に
接続されている。AI410は更に、AIバス412を介してIOC4
06及びDA408への双方向経路が与えられており、IOC406
及びDA408は、それぞれIIC内部(IIC)バス414及びDAバ
ス416を介してAIバス412に双方向的に接続されている。
従って、IOC406及びDA408は、AI410及びAIバス412によ
って与えられるSPUバス120への制御/通信インターフェ
ースを共有する。
IIC404のこの好適な実施例において、IOC406及びAI41
0は両方共、多くの、好適にはほとんどのIIC404の中で
共通である。しかしながら、この種々のPD402の異なる
インターフェース及びオペレーションの要求の故に、DA
408は、IIC404の中では異なり、特定のDA408の設計及び
オペレーションは、そこから接続された特定のPD402に
依存する。この点について述べると、以下に述べるよう
に次のことが銘記される。即ち、IOC406によって実行さ
れる機能は、関連のPD402に関する特定の制御オペレー
ションを含む。この故に、且つ以下に述べるように、IO
C406によって実行されるオペレーションの少なくとも諸
部分は、システム102からIOC406のメモリにロードされ
るプログラムによって決定される。更に、IIC404のこの
好適な実施例において、特定のIIC404、関連のPD402の
特定の設計の故に、IOC406を含まない。これらの実施例
において、PD402は、IOC406によって実行される制御機
能を行う機能を有する。
SPU118の全体の構造及びオペレーションを述べてきた
ので、IIC404の構造及びオペレーションについて以下に
述べる。
C.3.b IIC404の構造及びオペレーション(第5図) 第5図について説明する。第5図には、IIC404の好適
な実施例のブロック図が示されている。第5図におい
て、IIC404のIOC406及びAI410の部分が詳細に示されて
おり、一方、DA408部分は、DA408の詳細な設計が多種で
あるので一般的なブロックとして示されている。ここで
銘記すべきことは、DA408は、この説明の以下の部分に
おいて別に述べられることである。更に銘記すべきこと
は、説明の簡潔性を期すために、当業者にとっては一般
的であり且つ公知であるIOC406及びAI410の特定のエレ
メント、例えば、クロックドライバ回路及びメモリアド
レス/制御/リフレッシュ回路を、ここでは図示しない
ことである。
以下の説明において、IIC404のIOC406及びAI410の部
分が一般的レベルにおいて先に説明され、この後に、各
これらのエレメントの詳細な説明が続く。
C.3.b.1 IOC406の概括的説明(第5図) 上述のように、IOC406は、IIC404のオペレーションを
制御する制御機能を本質的に与える。第5図に示すよう
に、IOC406は、IIC404のオペレーションの詳細な制御を
行うマイクロプロセッサ(MP)502を含んでいる。尚MP5
02は、例えば、インテル8086−2でよい。第5図に示す
ように、MP502には、クロック及び読み出し制御入力が
与えられており、MP502は、IIC404の他の諸部分に、ACK
NOWLEDGE及びREADY等の特定のバス信号を含む制御出力
を与える。また第5図に示すように、MP502のデータ入
力/出力部が、トランシーバ(XCVR)512を介して双方
向16ビットIIC内部(IIC)バス414に双方向に接続され
ている。
MP502には、制御記憶(CS)装置506が関連している。
制御記憶508は、その主な機能が制御記憶としてIIC40
4、特に、MP502、のオペレーションを命令するプログラ
ムを記憶することにある、ダイナミックランダムアクセ
スメモリ(DRAM)である。第5図に示すように、DRAMに
は、MP502からのアドレス入力が配設されており、DRAM
は、IICIバス414から双方向的に接続されているデータ
入力/出力を有している。
IOC406のためのパワーアップ診断及び初期プログラム
ロードルーチンを含めるために、診断/パワーアップメ
モリ(DPUM)508が与えられており、この診断/パワー
アップメモリ508は、例えば、IOC406制御プログラムをC
S506にロードするための制御ルーチンを与える。示され
ているように、DPUM508は、MP502からのアドレス力を有
しており且つIICIバス414から双方向的に接続されてい
るデータ入力/出力を有している。
局部メモリ(LM)510は、IOC406、特にMP502と、DA40
8との間に共有される高速アクセススタティックランダ
ムアクセスメモリ(RAM)である。LM510は、主に、SPU1
18、即ち、PD402から伝達されたあるいはPD402に受け取
られるデータを記憶し且つバッファリングするように動
作する。LM510の共有オペレーション及び使用を反映し
て、LM510のデータ入力/出力は、トランシーバ(XCV
R)512を介してIICIバス414、デバイスアダプタ(DA)
バス416及びAIバス412に双方向的に接続されている。
IOC406はまた、MP502と関連して、割り込みロジック
(IL)514を含んでいる。割り込みロジック514は、DA40
8を含むIIC404の他の諸部分から、及びSBI116から、割
り込み入力を受け取る。この実施例の場合、IL514は、M
P502に対して作動するように設計されているインテル82
59を含み得る。
最後に、IOC406は、次の説明において詳細に説明され
るように、I/O通信オペレーションの制御及び実行にお
いて用いられる複数のレジスタを含んでいる。第5図に
示すように、これらのレジスタの大部分は、IICバス414
から接続されており、斯くしてMP502と、IOC406及びAI4
10の他のエレメントによってアクセス可能となってい
る。以下に更に詳細に説明されるこれらのレジスタは、
アイデンティフィケーションレジスタ(IDR)516、プロ
セッサ間通信レジスタ高(H)及び低(L)(IPCR−H
及びIPCR−L)518、バス状態レジスタ(BSR)522、イ
ンターバルタイマ(INT)524、及びバス制御レジスタ
(BCR)528を含んでいる。ここで銘記すべきことは、IN
T524は、レジスタではなくカウンタであり、且つBCR528
は、AIバス412から接続されていることである。更に銘
記すべきことは、IPCR−H及びIPCR−L518のデータ入力
が、AI410を介してSPUバス120から接続されていること
である。
C.3.b.2 AI410の概括的説明(第5図) 前に述べたように、AI410は、ハンドシェーク・プロ
トコルを実行し、SBUバス120とDA408の間でデータを転
送するのに必要な機能、即ち、関連のSBI116を介するシ
ステムバス104への及びシステムバス104からのデータ転
送を含む、機能を与える。これらの目的のために、AI41
0は、AIバス412とSPUバス120との間に接続された複数の
入力/出力レジスタを含んでいる。
SPUバス120からの入力経路において、AI410レジスタ
は、出力レジスタ1(OR1)530、出力レジスタ(OR2)5
32及び出力レジスタ3(OR3)534を含んでいる。OR1 5
30、OR2 532及びOR3 534の各々は、高(H)及び低
(L)半分のレジスタとして構成されており、且つAIバ
ス412から接続されたデータ入力、及び双方向AIバスド
ライバ/レシーバ(AIDR)536を介してSPUバス120に接
続されたデータ出力を有している。AI412はまた、OR1
530に関連して、AIカウンタ(AIC)538を含んでいる。A
ICカウンタ538は、AIバス412から接続されたデータ入力
を有し、且つOR1−H及びOR1−L530のデータ入力に接続
されたデータ出力を有している。ここで銘記すべきこと
は、IPCR−H及びIPCR−L518のデータ入力が、AID536を
介してSPUバス120から接続されていることである。
SPUバス120への出力経路において、AI410のレジスタ
は、入力レジスタ1(IR1)540及び入力レジスタ2(IR
2)542を含んでいる。これらのレジスタの各々もまた高
(H)及び低(L)半分のレジスタとして構成されてい
る。IR1−H及びIR1−L540及びIR2−H及びIR2−L542は
各々、AIDR536を介してSPUバス120から接続されたデー
タ入力、及びAIバス412に接続されたデータ出力を有し
ている。
概括的レベルにおけるIOC406及びAI410について述べ
てきたので、IOC406及びAI410について以下に詳細に述
べる。
C.3.b.3 IOC406の詳細な説明(第5図) 上で述べたように、I/O通信オペレーション及び機能
は全て、IIC404のIOC406によって開始され且つ制御され
る。ただし、プロセッサ間通信(IPC)メッセージの受
信を除く。即ち、IOC406は、DA408及びAI410のオペレー
ションを制御し、システム102のCPU106に応答する。IOC
406は、システム102のメモリの読み出し及び書き込みを
開始し、IPCメッセージを、同一のSPUバス120上の他のS
PU118へ、あるいはシステムバス104を介して他のSPUバ
ス120上のSPU118に送信し、診断オペレーションを実行
し、且つPD402とMEM108又はLM510との間の直接メモリア
クセス(DMA)オペレーションを実行し得る。
これらのオペレーションの実行において、IOC406は、
先ず、SPUバス120に対する適当な出力レジスタの内容、
即ち、OR1 530、OR2 532及びOR3 534及びBCR528の内
容を、設定しなければならない。以下に説明するよう
に、OR1 530はメモリアドレスレジスタとして作動し、
一方OR2 532及びOR3 534は、データレジスタとして作
動する。BCR528は、実行されるべきオペレーションを定
めるC/IワードのTI及びCCフィールドの9ビットを記憶
するのに用いられる。次にIOC406は、以下に説明するよ
うに、バス転送開始(SBT)命令及びI/Oマップド(mapp
ed)コマンドを発することにより、I/O通信オペレーシ
ョンを開始する。これらの命令によって、AI410は、BCR
528に記憶されているI/Oバスコマンドを実行する。次
に、以下にまた設明されるように、IOC406は、命令され
オペレーションが完了したか否か、且つ次のI/O通信オ
ペレーションを行うためにSPUバス120が自由であるか否
かを決定するために、SPUバス120のオペレーションの状
態を反映する情報を記憶するBSR522の内容を検査する。
IIC404のオペレーションを説明するために、以下の説
明は、IOC406及びAI410に存在する各々のレジスタの内
容及びオペレーション、オペレーションを実施する際に
IIC404によって発生される命令、及び、これらのレジス
タ及び命令に関してのIIC404及びシステムのオペレーシ
ョンを述べる。ここで銘記すべきことは、説明の簡潔性
を期すために、第5図には、全ての制御ライン及び信号
が図示されていないことである。しかしながら、必要な
制御ライン及び命令は全て、次の説明に述べられてい
る。
C.3.b.3a IDR516 IDR516は、SPUバス120上におけるSPU118の相対的物理
的アドレスを識別する情報をIOC406に与える。尚、SPU1
18の相対的物理的アドレスは、SPUバス120へのアクセス
に関するSPU118の相対的優先度を決定する。ここで銘記
すべきことは、この実施例においては、IIC404をSPUバ
ス120に接続する物理的コネクタによって、物理的アド
レス位置情報が固定値にハードワイヤ接続(hard−wire
d)されていることであり、且つSPUバス120上のSPU118
の相対的物理的アドレスが低ければ低い程、SPUバス120
へのアクセスのためのSPU118の相対的優先度が高くなる
ことである。本実施例の場合、有るSPUバス120のSBI116
は、物理的位置0に位置しており、SBI116にアクセスの
最高優先度を与えている。
IDR516はまた、デバイスタイプフィールドにおいて、
SPU118に含まれるPD402及びDA408の型を示す情報を与え
る。この情報は、初期化においてCS508にロードされるP
D402制御プログラムの型を検証するために、DPUM508に
存在する初期プログラムロードルーチンによって用いら
れる。
C.3.b.3b BSR522 BSR522は、SPUバス120の現在の状態に関する情報を記
憶し且つMP502、DA408及びIIC404の他の諸部分に提供す
る。MP502は、BSR522においてビットをセットすること
により、I/O通信オペレーションの実行およびDA408のオ
ペレーションを制御する。BSR522には、バス転送開始ロ
ジック(SBT)526が関連しており、SBT526は、以下に説
明するように、BSR522においてSBTビットをリセットす
るための手段を提供する。以下に述べるように、SBTビ
ットは、通信オペレーションを開始するために、IOC40
6、即ち、MP502によってセットされる。SBTビットは後
に、IOC406によって監視され、そして、通信の終りにお
いてSBTR526を介してリセットされ、これにより通信が
完了したことをIOC406に合図する。如何なる通信も、オ
ペレーションの完了、オペレーションの実行不能、また
はオペレーションの実行のエラーを含む多くの理由によ
って、終了され得る。SBTR526は、オペレーションの終
了を引きおこす条件を各々が示している複数の入力を受
ける。例えば、タイムアウト状態を示すSBTR526への1
つの入力がINT524から与えられ、一方、指定数のブロッ
クのデータがブロック転送において転送されたことを示
す別の入力がAIC538から与えられる。また、IR1 540及
び/又はIR2 542がSPUバス120からロードされたことを
示す更に別のSBTR526への入力状態が、IR1 540及びIR2
542から与えられており、これによりオペレーション
を完了する。
BSR522い記憶されているバス状態情報の16ビットの名
前及び機能は以下のものを含んでいる。
BIT15 EIPCR IOC406がIPCR518に入るメッセージを受けていること
を示す。入力メッセージは、このビットがセットされ且
つIPCR518が空(メッセージのペンディングが無い)で
ある場合受けられる。このビットがリセットされている
場合、入ってくるメッセージは全て拒否される。このビ
ットはMP502によって書き込むことができる。
BIT14 INT** CPU106からの割1込みサービスを要求する時にMP502
によってセットされる。MP502アウト命令「SINT」によ
ってセットされ、CPU106 CLRINTメッセージがAI410に
よって検出される時IOC046によってクリアされる。この
ビットは、MP502から状態レジスタをロードすることに
よって修正され得ない。
BIT13 SER** 入ってくるシステムCPUのIPCメッセージがIOC406によ
って拒否される時にIOC406によってセットされる。この
ビットは、アウト命令「CSER」によってのみクリアされ
る。このビットは、MP502からバス状態レジスタをロー
ドすることによって修正され得ない。
BIT12 32/▲▼ DMA転送タイプをMEM108への32又は64ビット転送とし
て規定するものであり、MP502によってセットされる。
BIT11 LR/SM DMA転送ソース又は宛先をMEM108又はLM510と規定する
ものであり、MP502によってセットされる。DMAモードに
あるとき、LM510又はMEM106のアドレスは、OR1 530に
含まれる。
BIT10 IOC READY このビットは、SBI116に対して発せられるIOC404のIP
CR518フラグをイネーブル/ディスエーブルする。リセ
ットされている場合、IPCR518は、システムバス104には
使用中に見えるが、同一のSPUバス120の他のSPU18には
そう見えない。セットされている場合、IPCR518は、BSR
(ビット15=1)によってイネーブルされ且つ未だ充満
していないことを条件とする時、SBL116からメッセージ
を自由に受けられる。
BIT09 EIT INT 564をイネーブルして、前にロードされた計数値
(8ビット)からのカウントを12.5マイクロ秒/カウン
トの速度で開始せしめ、全てが1のカウントにおいてMP
502を中断するようにするものであり、MP502によってセ
ットされる。
BIT08 SOI** このビットがセットされると、I/O SPUバス120の少
なくとも1つのSPU118は中断のペンディングにある。SO
Iは、SBUバス120 CPU106中断ラインである。
BIT07 IOC/IOC このビットは、AI410がSPU118からSPU118へのデータ
通信において従事するようにするものであり、MP502に
よってセットされる。
BIT06 IOC RD REQ このビットはSPU118からSPU118へのデータ転送の期間
中に用いられ、宛先SPU118が次のデータ転送に対して準
備完了していることをソースSPU118に示す。セットされ
ると、宛先SPU118は、次のデータ転送に対して準備完了
状態にある。ソースSPU118は、次のデータ転送を発する
前にIOC RD REQビットをリセットする。
BIT05 SBT このバス転送開始ビットは、AI410に前に設定された
オペレーションを実行せしめるようにするためのもので
あり、MP502によってセットされる。要求されたオペレ
ーションが完了した後、AI410は、自動的にビットをリ
セットする。全てのオペレーションに対して、MP502
は、SBTビットをサンプリングし、別のI/Oバスオペレー
ションを試みる前にそれがリセットされていることを見
出さなければならない。
BIT04 ACK 肯定(ACK)は、IPCメッセージを別のIIC406又はシス
テムバス104の装置に発することに従事しているIIC406
によって受け取られる信号である。ACKがセットされる
と、ターゲットデバイスが首尾よくIPC命令を復号化し
たことを送信側SPU118に示す。ACKバス状態ビットは、I
PC及びSB IPC命令を発した後にのみ中断される。各場
合、ACKは、SBTビットがゼロに戻った後にのみ有効であ
る。
BIT03 BUSY ビジイは、IPCメッセージを別のIIC406又はシステム
バス104の装置に発することに従事しているIIC406によ
って受け取られる信号である。ビジイはセットされる
と、ターゲットデバイスのIPCR518がIPCメッセージデー
タを拒否し、再送信しなければならないことを送信側SP
U118に示す。ビジイバス状態ビットは、IPC及びSB IPC
命令を発した後にのみ中断する。各場合、ACKは、SBTビ
ットがゼロに戻った後にのみ有効である。
BIT01 IOCS DA408が、IIC406が開始したオペレーションを完了し
た時に「1」にセットされる。
BIT02&00 IOSS1&2 スペア **−I/O構造が、I/O割り込みでなく、本明細書に述
べられるように全部IPCメッセージプロトコルを用いる
時、これらのバス状態ビットは用いられない。
C.3.b.3c BCR 528 BCR528は、前に述べられたC/Iワードを記憶し且つ提
供するのに用いられる9ビットレジスタである。上記の
ように、各C/Iワードは、I/O通信オペレーションの期間
中にC/Iバス204のCCバス208及びTIバス206に読み出され
る5ビットCC(命令コード)フィールド及び4ビットTI
(ターゲットアイデンティフィケーション)フィールド
からなる。BCR528は、従って、5ビットフィールド及び
4ビットフィールドとして構成され、C/Iワードが、IOC
406のMP502によって要求されるように且つIICIバス414
及びAIバス412を経て書き込まれる。第5図に示すよう
に、BCR528のTI及びCCフィールド出力は、それぞれTIバ
ス206及びCCバス208に接続されている。
現在実行されているI/O通信オペレーションの各々に
対するCC及びTIフィールドは、以下のものを含む。
ここで銘記すべきことは、CCフィールドのコードは、
二進法の形で表現されており、TIフィールドにおいて、
符号Sは、ソースSPU118のアイデンティフィケーション
を表わし、一方符号Dは、宛先SPU118のアイデンティフ
ィケーションを表すことである。
第5図に示すように、TI比較器(TIC)544及び命令コ
ード復号器(CCD)546は、BCR528に作動的に関連してい
る。第5図に示すように、TIC544の第1入力は、現われ
るTIワードを受けるためにTIバス206から接続されてお
り、TIC544の第2入力は、前に述べたようにIIC404がSP
Uバス120に接続されるように介在するコネクタから与え
られるハードワイヤードされた相対的物理的アドレスか
ら接続されている。前に述べたように、この相対的物理
的位置は、IIC404が接続されているSPUバス120の特定の
IIC404のアイデンティフィケーションとして用いられ
る。
IIC404のTIC544は、TIワードを、そのコネクタから与
えられる相対的物理的位置の入力と比較することによ
り、SPUバス120に現われる全てのTIワードを監視する。
TIワードと相対的物理的アドレスの間に一致がある時、
TIC544は、出力MATCHを発生し、これにより、SPUバス12
0に現われている通信、即ち、C/Iワード及び関連のA/D
ワードがそのSPU118に対するものであるように意図され
ている、ということを示す。この通信の場合、銘記すべ
きことは、A/Dワードは、メッセージあるいはデータを
含むが、アドレスを含まないことである。出力MATCH
は、I/O通信オペレーションの実行を開始するためにIOC
406に与えられ、そして、この初期化の一部として、CCD
546に与えられ、これにより、CCD546がCCバス208に存在
する関連のCCワードをロードするようにする。
第5図に示すように、CCD546の入力は、CCワードを受
けるためにCCバス208から接続されている。C/Iバス204
に現われているC/IワードがそのSPU118に対するもので
あるように意図されていることを示すMATCH信号をTIC54
4から受ける際、CCD546は、CCバス208に存在するCCワー
ドを復号化し、且つ実行されるべきI/Oオペレーション
のタイプを示す出力を与える。CCD546の諸出力は、示さ
れたI/Oオペレーションを開始するためにI/O406に与え
られる。
C.3.b.3d INT524 INT524は、当技術において公知であるように、I/O構
造によって実行されている特定のオペレーションをタイ
ムアウトするように作動する。INT524は、IOC406によっ
て任意の所望のインターバル(間隔)に予めロードされ
得る、且つ選択されたインターバルが経過した時にIOC4
06、特に、MP502に割り込み(interrupt)を与える8ビ
ットタイマである。
C.3.b.3e OR1 530、OR2 532及びOR3 534 AI410におけるOR1 530、OR2 532及びOR3 534は、M
EM108アドレス情報を保持し、且つMEM108アドレス情報
を、MEM108の関連するI/OオペレーションにおいてSPUバ
ス120に与えるのに用いられ、且つI/Oオペレーションに
おいて転送されているデータを保持し且つSPUバス120に
与えるのに用いられる32ビットレジスタである。従っ
て、OR1 530、OR2 532及びOR3 534のデータ出力は、
AIDR536を介して32ビットA/Dバス202に接続されてい
る。
システムメモリ、即ち、MEM108へのあるいはMEM108か
らのI/Oオペレーションにおいて、OR1 530は32ビット
システムメモリアドレス、即ち、MEM108アドレスを含み
得る。このシステムメモリアドレスは、DMAタイプの転
送の間にAIC538によって自動的に増分され、また、この
目的のために、OR1 530は、最上位の8のアドレスビッ
トを含む8ビットラッチ及び最下位の24のアドレスビッ
トを含む24ビットラッチ/カウンタとして構成される。
プロセッサ間通信(IPC)オペレーション、即ち、同
一のSPUバス120上の別のSPU118へのあるいは別のSPU118
からのI/Oオペレーション、又は、システムバス(SB)I
PCオペレーション、即ち、異なったSPUバス120上の別の
SPU118へのあるいは別のSPU118からのI/Oオペレーショ
ンにおいて、OR1 530は、以下に述べられるように、制
御情報を記憶し且つ提供するのに用いられる。
最後に、OR2 532及びOR3 534は、I/Oオペレーショ
ンにおいて送信されるべきデータを保持し且つ提供する
のに用いられる。
C.3.b.3f IR1 540及びIR2 542 AI410におけるIR1 540及びIR2 542は、I/Oオペレー
ションにおいてSPU118に送信されたデータを受け取り且
つ保持するのに用いられる32ビットレジスタである。従
って、IR1 540およびIR2 542のデータ入力は、AIDR53
6を介してA/Dバス202から接続されている。
C.3.b.3g IPCR 518 IPCR518は、上記のように、全ての入ってくるIPCメッ
セージを受け取り且つ保持するために、AIDR536を介し
てA/Dバス202から接続されている。IR1 540及びIR2 5
42と異なり、IPCRは、IPCメッセージの受信によって自
動的にロードされない。即ち、IPCメッセージは、前の
メッセージが取り扱われる迄受けられない。この理由の
ために、宛先側SPU118は、前に述べたように、ソース側
SPU118にIPCメッセージを送る試みの毎に、制御信号ACK
及びBUSYを与える。ACK及びBUSYは、ソース側SPU118のB
SR522に書き込まれ、そこで、ソース側SPU118のIOC406
によってサンプリングされて、このメッセージが宛先側
SPU118によって受け取られたか否かを判定する。ソース
側SPU118は、ACK及びBUSYがメッセージの受信を示す
迄、メッセージを送ることを試み続けなければならな
い。前に述べたように、IPCR518は、EIPCあるいはBSR52
2が与えられたレディビット(Ready bit)によってリセ
ットされ得る。IPCR518の内容のフォーマット及び定義
は、伝達されたメッセージによってのみ決定され、各メ
ッセージに対するIIC404の応答は、CS506に存在するプ
ログラムによって決定される。
IOC406及びAI410レジスタの内容及び使用について述
べてきたので、IIC404、特に、AI410のオペレーション
を制御するのにIOC406によって用いられる特定の内部制
御信号を次に述べる。
C.3.b.3h バス転送開始(SBT) SBT命令は、IOC406がBCR528、OR1 530、OR2 532及
びOR3 534にオペレーションに適当な情報をロードした
後にI/Oオペレーションを開始するために、IOC406、即
ち、MP502によって発せられる。AI410は、SBT命令に応
答してオペレーションを実行し、IOC406は、上記のよう
に、BSR522の内容を検査することによって、オペレーシ
ョンを完了する時を求める。
C.3.b.3i 増分OR1 530 上記のように、OR1 530は、MEM108及びDA408のアド
レスのアドレスフィールドを含み、そこに含まれている
アドレスの一部は、AIC538のオペレーションによって増
分され得る。斯かるアドレス増分オペレーションは、関
連のDA408及びPD402の関係するDMAオペレーションの間
に実行され得る。OR1 530に含まれるアドレスは、DMA
オペレーションに依って、1あるいは2増分され得る。
C.3.b.3j D408の初期化(INIT DA) INIT DAは、関連のDA408をリセットせしめ、且つ制
御プログラムがDA408にロードされるパワーアップ初期
化状態をとらしめる。
C.3.b.3k セット割り込みビット(SINT) SINT命令は、BSR522INT(割り込み(interrupt))状
態ビットをセットする。セットされると、INTビット
は、システムの再初期化によってのみ、あるいはCPU110
による割り込みクリア(CLR INT)メッセージの発行に
よってのみ、リセットすることができる。SINT命令の目
的は、関連のSPU118へのSPU118の割り込みラインに割り
込み信号がアサートされるようにすることであり、これ
によりタスクが完了したことをCPU110に知らせることで
ある。この命令は、システムが割り込み命令でなく、タ
スク完了を示すためのIPCメッセージを用いて実行され
る場合は、必要でない。
C.3.b.3l サービス状態ビットクリア(CSER) CSER命令は、BSR522サービスビットをセットあるいは
リセットして、これにより、SPU118がCPU110に割り込み
を送ることを試みている間にSBIPCあるいはIPC命令がAI
410によって受け取られたことを、IOC406に示すのに、
用いられる。
IIC404、特にAI410のオペレーションを制御するのにI
OC406によって用いられる特定の内部制御信号について
述べてきたので、特定の割り込みオペレーションについ
て次に述べる。ここで銘記すべきことは、全ての割り込
みオペレーションを以下に述べるのではなく、特定の他
の割り込みは、この説明の他の部分で述べられているこ
とである。
ここでまた銘記すべきことは、IOC406は、例えば、AI
410及びDA408に、特定の事象及び事件を示す通信として
割り込みを与えることである。更に、DA408は、割り込
みをIOC406の割り込みロジックに発行することによっ
て、タスクが完了したことを、IOC406に示す。例えば、
特定のPD402は、データ転送において完全にバッファ記
憶せず、割り込みは、斯かるPD408及びIOC406のオペレ
ーションの調整において重要である。
C.3.b.3m メモリ関連割り込み CS508は、そこに検出されるパリティエラーの発生の
際にIOC406に割り込み指示を与える。更に、且つMEM108
が関連するデータ転送が実行されている時に、MEM108及
びSBI116は、例えば、違法メモリページ交差、違法命
令、システムバス104パリティエラー、MEM108読み出し
パリティエラー、又はMEM108アドレスエラー、の発生
を、割り込みを介してIOC406に示す。
C.3.b.3n IPCR518ロード割り込み IPCRロード割り込みは、上記のように、受け取られた
IPC又はSB IPCメッセージがIPCR518にロードされた時
に発生される。基本的には、IPCR518は、ロードされた
メッセージが読み出されるまで、更にメッセージをロー
ドしないように抑止される。
IOC406及びAI410に存在する各々のレジスタの内容及
びオペレーションを含むIIC404のオペレーションについ
て述べてきたので、オペレーションを実行する際にIIC4
04によって発せられる命令、及びこれらのレジスタ及び
命令に関するIIC404及びシステムのオペレーション、I/
O構造のI/Oオペレーションについて次に更に詳しく述べ
る。
C.4 I/Oオペレーション 前に述べたように、本発明に係るI/O構造は、以下のI
/Oオペレーションを実行することができる。
a)システムメモリ(MEM108)データ読み出し b)システムメモリ(MEM108)データ書き込み c)システムメモリ(MEM108)テスト/セット読み出し d)局部IPCメッセージ送信(同一のSPUバス120上のSPU
118へのIPC) e)自己テスト f)遠隔システムバスIPCメッセージ送信(他のSPUバス
120上におけるSPU118へのIPC命令) g)読み出し要求(SPU118からSPU118へのデータ通信に
用いられるハンドシエーク) h)初期化(SBI116によって出されるプログラマブルの
セット) i)SPU118からSPU118へのデータ通信、及び j)システムメモリ(MEM108)又は局部RAM(LM510)か
らDA408への又はそれへのDA408からのDMA 次の説明は、上記I/Oオペレーションを実行する時に
実施されるオペレーションを前に説明された内容よりも
更に詳しく説明し且つ定義するものである。
C.4.a システムメモリ読み出し(第6A図) I/O構造によって支援されるシステムメモリ読み出し
モードには2種類ある。即ち、単一ワード(32ビット)
及びダブルワード(64ビット)システムメモリ読み出し
である。各々の場合、IIC404は、バス制御レジスタ(BC
R)528の内容と共に、OR1 530に配置された32ビットシ
ステムメモリアドレスを発行する。前に述べたように、
BCR528は、CCワード及びTIワード(ID)の両方を含んで
いる。オペレーションは、バス転送開始(SBT)アウト
(Start Bus Transfer Out)命令を発することによって
開始され、トランザクションの完了は、バス状態レジス
タの(BSR)522SBTビット(SBT=1=プロセス中、SBT
=0=完了)の調査によって決定する。このオペレーシ
ョンにおける種々のレジスタの内容は、第6A図に示され
ており、次の手順が、I/Oバスシステムメモリ読み出し
オペレーションを実行するために用いられる。
a)IIC404は、BCR528及び出力/レジスタ1(OR1)530
を適当な情報でもってセットアップしなければならな
い。
b)IIC404は、システムバスエラー割り込みをイネーブ
ルにする。
c)IIC404書き込みは、SBTを発行する。
d)IIC404は、トランザクションの完了を待機するBSR5
22のSBTビットを調べる。
e)IIC404がBSRのSBTビット=0を見い出した時、読み
出されたデータはIR1 540/IR2 542の中にある。
C.4.b システムメモリ書き込み(第6B図) I/O構造によって支援されるシステムメモリ書き込み
オペレーションには3種類ある。即ち、バイト書き込
み、単一ワード(32ビット)書き込みおよびダブルワー
ド(64ビット)書き込みである。各書き込みオペレーシ
ョンは、OR1 530に配置されているシステムメモリ(ME
M108)アドレス、並びにOR2 532、又はOR2 532及びOR
3 534に配置されている出力データを発行する。バイト
書き込み及び単一ワード書込みは、OR1 530及びOR2 5
32を用い、一方ダブルワード書き込みは、OR1 530、OR
2 532及びOR3 534を用いる。BCR528は、TIワード及び
CCワードの両方を含み、オペレーションは、SBTを発す
ること及びIOC406によって開始される。オペレーション
の完了もまた、BSR522のSBTビットの調査によって決定
される。種々のレジスタの内容は、第6B図に示されてお
り、次の手順が、システムメモリ書き込みオペレーショ
ンを実行するのに実施される。
a)IIC404は、BCR528、OR1 530及びOR2 532そして必
要に応じて、OR3 534をセットアップする。
b)IIC404は、システムバスエラー割り込みをイネーブ
ルにする。
c)IIC404は、SBT命令を発行する。
d)IIC404は、オペレーションの完了に対してBSR522の
SBTビットを調べる。
e)IIC404がBSR522のSBTビットを見い出した時、OR2
532及びOR3 534に含まれる書き込みデータが転送され
ている。
C.4.c プロセッサ間通信メッセージ(局部IPC)(第6C
図) 第6C図について説明する。IPCメッセージ又は命令
は、同一のSPUバス120上に物理的に配置されているSPU1
18間に、或いはシステムバス104上のデバイスからSPUバ
ス120上に配置されたデバイスに、制御情報を送る方法
として用いられ、このオペレーションのためにIPCR518
を用いる。データ入力レジスタIR1 540及びIR2 542と
異なり、IPCR518はオーバーライト(overwrite)されな
いように保護される。ソースIIC404は、所望のIPCメッ
セージをOR1 530に、且つTIワード及びCCワードをBCR5
28にロードしなければならない。オペレーションは、SB
T命令を発することによて開始される。IIC404は、IPC命
令を同一のSPUバス120上の別のSPU118に発した後、先
ず、BSR522のSBTを調査して、IPC通信における試みが完
了したか否かを求めなければならず、そして次に、SBR5
22を調査して、IPCメッセージが受け取られたか或いは
拒否されたかを判定しなければならない。BSR522のビッ
ト4及びビット3にそれぞれ現われ、その意味が第6C図
に示されている「肯定」(ACK)及び「ビジィ」信号
は、IPC転送が成功であったか否かをIIC404に示す。
受け取られたIPC命令によって、IPC割り込みが生じ、
これにより、IPC518が一杯であることをIIC404のMP502
に警告する。IPCR518は、IOC406がレジスタの内容を読
み出す迄、再びロードすることができない。IOCプログ
ラムがIPC割り込みを抑止することを含む場合、IPCR518
は、PIPCR BSR522ビットをリセットすることにより、
メッセージを受け取ることをデイスエーブルに、又はブ
ロックされ得る。
これら種々のレジスタの内容は、第6C図に示されてお
り、以下の手順が、IPCメッセージオペレーションを実
行するために実施される。
a)IIC404は、BCR 528及びOR1 530をセットアップす
る。IPCメッセージのフォーマットは、IIC404のプログ
ラムによって定義され且つオペレーション自体に影響す
ることなく変更することができる。
b)IIC404は、SBT命令を発する。
c)IIC404は、オペレーションの完了に対してBSR522の
SBTビットを調べる。
d)IIC404がBSR522のSBTビット=0を見い出すと、IIC
404は、BSR522のACK及びBUSYビットを調べて、メッセー
ジが受け取られたかあるいは拒否されたかを判定しなけ
ればならない。
C.4.2 自己テスト(第6D図) このオペレーションは診断の目的に用いられる。自己
テストでは、OR2 532及びOR3 534の内容をシステムバ
ス104に出力し、次にSBI116を通ってそれぞれIR1 540
及びIR2 542に戻す。
種々のレジスタの内容は、第6D図に示されており、以
下の手順が、自己テストオペレーションを実行するため
に実施される。
a)IIC404は、BCR528及びOR2 532及びOR3 534をセッ
トアップする。
b)IIC404はSBTを発する。
c)IIC404は、トランザクションの完了に対してBSR522
のSBTビットを調べる。
d)IIC404がBSRのSBTビット=0を見い出すと、OR2 5
32及びOR3 534に含まれる書き込みデータは、それぞれ
IR1 540及びIR2 544に転送されている。
別の可能な自己テスト転送経路は、OR1 530の内容
を、IR1 540、IR2 542あるいはIPCR518のどれかに転
送することであり、この手順は、上記の手順に類似して
いる。
C.4.e テスト/セット(第6E図) テスト/セットオペレーションは、基本的には、I/O
制御装置のダブルワード(64ビット)システムメモリ読
み出しオペレーションである。この命令における相違
は、SBI116がシステムメモリ読み出しデータを取り扱う
方法である。SBI116は先ず、OR1 530に含まれるシステ
ムメモリアドレスによって指定されたシステムメモリダ
ブルワードデータを検索する。次に、システムバス104
の制御をリリースする前に、SBI116は、検索されたダブ
ルワードの最上位ビットをセットし、且つ変更されたワ
ードを同一のシステムメモリ位置に書き戻す。次にSBI1
16は、システムメモリから検索された変更されていない
ダブルワードを、オペレーションを開始したSPU118に戻
す。
このオペレーションの目的は、SPU118にセマフオ命令
を与えることである。即ち、SPU118がテスト/セットを
実行し且つ読み出されたデータのMSBが「1」である場
合、別のデバイスがシステムバスの制御を有する。MSB
が「0」である場合、SPU118は制御を得、同一の位置を
サンプリングして制御を得ることを試みる任意の他のデ
バイスは、MSBが既に「1」であることを見い出し、こ
れによりSPU118が制御を有することを示す。
種々のレジスタの内容は、第6E図に示されており、以
下の手順が、自己テストオペレーションを実行するため
に実施される。
a)IIC404は、TEST/SET CCワード及びそれ自体を識別
するTIワードでもってBCR528をセットアップしなければ
ならず、且つOR1 530にシステムメモリ(MEM108)アド
レスをロードしなければならない。
b)IIC404は次にシステムバスエラー割り込みをイネー
ブルにする。
c)IIC404は次に、SBT命令を発する。
d)IIC404は次に、トランザクションの完了に対してBS
R522のSBTビットを調べる。
e)IIC404がBSRのSBTビット=0を見い出すと、読み出
されたデータはIR1 540/IR2 542の中にある。
C.4.f IOC読み出し要求(同一のSPUバス120上のSPU118
からSPU118へのデータ転送(第6F図) 読み出し要求は、同一のSPUバス118上に配置されてい
る2つのSPU118間のデータ通信の期間中にのみ用いられ
る命令である。この読み出し要求命令は、宛先側SPU118
が次のデータ転送に対して準備完了状態であることを示
すために、この宛先側SPU118からソース側SPU118に発せ
られる応答命令として機能する。この命令と共に実際の
データは何も転送されず、この読み出し要求命令は、SP
U118からSPU118へのブロック転送の期間中に用いられる
ものである。
読み出し要求命令の使用可能なSPU118からSPU118への
転送には二種類ある。1つは、SPU118のDA408によって
実行されるブロック転送であり、第2は、トランザクシ
ョン当り1つのダブルワードを基にするSPU118のIOC406
によって制御されるブロック転送である。DA408の制御
の下でのブロック転送モードの場合、BCR528は、IOC406
がDA408を始動してDMAブロック転送を開始させる前に、
セットアップされる。DA408がデータの交換に従事する
と、SPU118のAI410は自動的に、読み出し要求命令を適
当な時間に発する。SPU118のIOC406の制御の下で実行さ
れるブロック転送は、IOC406の読み出し要求によるBCR5
28のセットアップ並びにSPU118のIR1 540及びIR2 542
がデータを含む時を求めるためのBSR522のサンプリング
を含む。。入力データを検索した後、IOC406は次に、次
の転送を要求するバス転送開始を発行せねばならない。
種々のレジスタの内容は第6F図に示されており、以下
の手順が、読み出し要求オペレーションを実行するため
に実施される。
a)宛先側IOCは、IOC読み出し要求命令及びソース側I/
Oアドレスでもって制御レジスタをセットアップしなけ
ればならない。OR1は、命令を発する前に如何なるデー
タによってもロードされる必要がない。これは、I/Oが
その内容をI/Oバスに転送しても、目標とされたI/Oは、
I/Oバスオペレーションの間に、そのIR1をロードしない
からである。
b)IOCは、(データ=何でもよい)をバス転送開始ポ
ート(SBT)に書き込む。
c)IOCは、トランザクションの完了に対してBSRのSBT
ビットを調べる。
d)IOCがBSRのSBTビット=0を見い出すと、I/Oバスオ
ペレーションが完了している。
C.4.g システムバス(SB)IPC(第6G図) このオペレーションは、システムバス、即ち、システ
ムバス104を介して、異なったSPUバス120上に常駐する
別のSPU118のIR1 540及びIR2 542に転送されるべきソ
ース側SPU118のOR2 532及びOR3 534に含まれるデータ
の転送を、可能にするものである。SB IPCは、ACK及び
BUSYのBSRビットがSBTビットと共にこのオペレーション
の許容(許可)あるいは拒否を示すという点において、
局部IPCと同様に機能する。ターゲット側SPU118のIR1
540及びIR2 542は、ACK及びBUSYの応答を行わないが、
SB IPCの実施に関与するSBI116は、障害を防ぐために
通信の期間中ACK及びBUSY状態の応答を発する。宛先側S
BI116あるいは宛先側SPU118のどちらかは、ソース側SPU
118のSB IPCの試みを拒否し得る。拒否の場合、ソース
SPU118は、命令を再び出さなければならない。
第6G図は、SBC IPC中のBSR533におけるACK及びBUSY
ビットの翻訳(interpretation)を示しており、ここで
銘記されることは、BSR522のSBTビット6がゼロに戻っ
て、発せられたSB IPC命令が完了したことを示す時に
のみBSR522ビット4及び3が有効であることである。
SB IPCダブルワード(64ビット)オペレーション
は、SPU118のOR1 530、OR2 532及びOR3 534の内容を
ソース側SBI116に転送する3つのバスサイクルからなっ
ている。OR1 530は、システムバスアドレンシング及び
命令情報を含んでおり、データOR2 532及びOR3 534の
中に存在する。このSB IPCデータ命令は、2つの関与
するSPU118が、前に発せられたSB IPC制御メッセージ
を介して同意を確立した後にのみ、用いられる。OR1 5
30に記憶されている情報は、ソース側SBI116によって翻
訳され、これにより、データ宛先側SBI116に、及び最終
的には宛先側SPU118に送ることを可能にする。
これら種々のレジスタの内容は、第6G図に示されてお
り、以下の手順が、SB IPCオペレーションを実行する
ために実施される。
a)IOC406は、BCR528、OR1 530、OR2 532及びOR3 5
34をセットアップする。
b)IOC406は、システムバスエラー割り込みをイネーブ
ルにする。
c)IOC406は、SBT命令を発する。
d)IOC406は、I/Oバストランザクションの完了に対し
てBSR522のSBTビットを調べる。且つ e)IOC406がBSR522のSBTビット=0を見い出すと、IOC
406は、BSR522のACK及びBUSYビットを調べて、メッセー
ジが受け入れられたかあるいは拒否されたかを判定しな
ければならない。
C.4.h システムバス(SB)IPC(W32)(遠隔IRCメッセ
ージ、制御又はデータ転送(第6H図) システムバスIPC単一ワード(32ビット)オペレーシ
ョンは、4つの種類を有している。これら全ては、シス
テムバス、即ち、システムバス104にわたるトランザク
ションを含んでいる。これら4種類のSB IPCの各々
は、OR1 530及びOR2 532の内容をSBI116に転送する。
SB IPCダブルワード命令と同じように、BSRのACK及びB
USYビットは、命令の受け入れ又は拒否を示す。
第6H図は、BSR522におけるACK及びBUSYビットの翻訳
を示しており、ここで銘記すべきことは、BSR522のSBT
ビット6=0、即ち、発せられたSB IPC命令が完了し
たことを示す場合にのみ、BSR522のビット4及び3が有
効であることである。
単一ワードSB IPC命令の4つの形は全て、ソース側S
PUバス120のレベルにおいて同等に見える。しかしなが
ら、SBI116及びシステムバス104のレベルにおいて、各
命令の型によって、別々のシステムバスオペレーション
が行われる結果になる。この異なったシステムバス命令
は、SPU118のOR1 530のワードにコード化され、SPUバ
ス120のレベルにおいては翻訳されない。前に論じられ
たSB IPCダブルワード命令と同じように、OR1 530
は、システムメモリアドレスではなく、システムバスア
ドレシング及び命令情報を含んでいる。OR1 530におい
て規定されるシステムバス・ターゲット及び命令に応じ
て、OR2 532に存在するデータは、異なったシステムバ
スの装置の宛先に送られる。これら4つの種類のSB IP
C単一ワード命令は以下の通りである。
(A) SB IPC制御メッセージ システムバスCPU110又はコンソールユニット(SCU)1
12/114をターゲットとする。この種類の命令は、制御情
報の送信に用いられ、OR1 530及びOR2 532のメッセー
ジ部分のフォーマッティングは、ソフトウェア及び宛先
側デバイスの規定に依存する。
(B) SB IPC制御メッセージ 異なったSPUバス120上に配置されるIPCR518レジスタ
をターゲットとする。この命令は、IOC406間の制御情報
の送信に用いられ、OR1 530及びOR2 532のメッセージ
部分のフォーマッティングは、プログラム制御に依存す
る。
(C) SB IPC応答メッセージ 異ったSPUバス120上に配置されるSPU118のI/Oをター
ゲットとし、且つSPU118からSPU118へのデータ転送中に
用いられ、宛先側SPU118が次のデータ転送に対して準備
されていることをソース側SPU118に示す。
(D) SB IPCデータ転送 異ったSPUバス120上に配置されているSPU118のIR1 5
40をターゲットとする。
これら種々のレジスタの内容は、第6H図に示されてお
り、以下の手順は、SB IPC単一ワードオペレーション
を実行するために実施される。
a)IOC406は、BCR528、OR1 530及びOR2 532をセット
アップする。
b)IOC406は、システムバスエラー割り込みをイネーブ
ルにする。
c)IOC406は、SBT命令を発する。
d)IOC406は、トランザクションの完了に対してBSR522
のSBTビットを調べる。
e)IOC406がBSR522のSBTビット=0を見い出すと、IOC
406は、BSR522のACK及びBUSYビットを調べて、メッセー
ジが受け取られたかあるいは拒否されたかを判定しなけ
ればならない。
C.4.i1 初期化(プログラマブルリセット) I/O初期化命令は、システムバスインターフェースボ
ードによってI/Oバスにのみ出すことができる。この命
令は、システムバスデバイス、特に、CPU及びSCUに、個
々のI/O制御装置を選択的に初期化又はリセットする機
能を与える。この命令を実施すると、I/O制御装置のIOC
及びデバイスアダプタ部分の両方は、それらがパワーア
ップされたかのように再開始する。進行中の如何なるオ
ペレーションも失われる。I/O初期化命令を実行するた
めに、SBIは、I/O初期化命令コード、所望のI/Oアドレ
ス(ID)、をI/Oバスに置き、I/Oバス信号「SEL INI
T」をアサートする。このバスオペレーションの間、I/O
バスにはデータは何も置かれない。
C.4.i2 SPU118からSPU118へのデータ通信(第6I図) 本発明のI/O構造は、システムメモリ、即ちMEM108が
関与することなくSPU118間のデータブロック転送を支援
する。3つの基本的な種類のSPU118からSPU118へのデー
タ転送は、現在、I/O構造によって支援されている。
(1)デバイスアダプタ(DA)408の相互間 (2)IOC406とDA408の相互間 (3)IOC406とIOC406の相互間 これらの3つの独立の場合に対するSPU118への/から
のSPU118のデータブロック転送を実行するのに必要な手
順及びレジスタフォーマットは以下の通りである。
DA 408の相互間 バージョン(1)は、DA408及びAI410の制御の下で
の、あるSPU118のDA408からの直接の別のSPU118のDA408
への又はその逆の、データのブロック化からなる。
DA408からDA408へのブロック転送は、IPC命令を、ブ
ロック転送を要求する別のIOC406に発するソース側IOC4
06によって、開始される。これら3つの種類のブロック
転送の全ては、ブロック転送を行なう前に、IOC406間で
少なくとも1つのIPCメッセージが送られなければなら
ない。ブロック転送の実施の前にIOC406間で送られるIP
Cメッセージのフォーマット及び数は、IOC406を制御プ
ログラムによって決定される。IOC406が必要な制御パラ
メータを交換すると、ソースと宛先とのIOC406は両方
共、第6I図に示すように、DAブロック転送を開始する前
に、「IOC/IOC」BSR522ビット7をセツトし且つそれら
のBCR528をロードしなければならない。
ここで銘記すべきことは、DA408からDA408へのブロッ
ク転送オペレーションは、OR1 530(メモリアドレス)
情報の送信を必要としないことである。従って、OP1 5
30は、転送の開始に先立ってIOC406によってロードされ
る必要がない。ソースSPU118は、一旦転送が進行する
と、OR2 532及びOR3 534のデータのみを宛先側SPU118
のIR1 540及びIR2 542に送信する。宛先側のDA408
は、入力データを検出し、それを処理し、次に、ブロッ
クにおける次のデータ転送を要求するようにソース側DA
408にIOC読み出し要求命令を出して返す。この手順は、
ブロック全体(IPCメッセージに規定されるサイズ)が
転送されるまで継続する。
IOC406とDA408の相互間 バージョン(2)は、あるSPU118のIOC406から別のSP
U118のDA408への又はその逆のデータのブロック化を可
能にする。一方のSPU118は、従って、IOC406、即ちMP50
2の制御の下にあり、一方、他方のSPU118は、DA408の制
御の下にある。DA408の制御の下にあるSPU118は、ブロ
ック転送の開始に先立ち、前のセクション(バージョン
1)に述べられたように、そのIOC406によってセットア
ップされなければならない。IOC406の制御の下にあるSP
U11は、異なったプロトコルを用いてブロック転送オペ
レーションを実行する。IOC406制御の下にあるSPU118に
おいて、「IOC/IOC」及び「IOC RD REQ」(ビット7
及び6)と呼ばれる2つのBSR522ビットは、SPU118への
及びからのデータの流れを制御するのに用いられる。IO
C406に制御されるSPU118は、ソースあるいは宛先のどち
らかであり得る。
IOC406がソースである場合、 a)IOC406は、前に述べたように、BSR522のIOC/IOCビ
ット7をセットしなければならない。
b)IOC406は、前に述べたように、BSR528を、且つOR2
532及びOR3 534をセットアップしなければならな
い。
c)IOC406は、SBT命令を発する。
d)オペレーションの完了に対してBSR522のSBTビット
を調べるかわりに、BSR522のIOC RD REQビット6が調
べられる。即ち、OR2 532及びOR3 534データが転送さ
れたことを知るのに十分でない。宛先側SPU118は、ソー
ス側SPU118が送信を許可される前に、次のデータワード
を受け取る準備が完了しなければならない。即ち、IOC4
06が、BSR522のビット6がセットされたことを検出する
と、IOC406は、次のデータ転送を試みることができる。
ソース側IOC406が次の転送を発する前に、BSR522のビッ
ト6は、次のREAD REQUEST信号に対して準備するよう
にリセットされなければならない。
IOCが宛先である場合、 a)IOC406は、BSR522のIOC/IOCビット7をセットしな
ければならない。
b)IOC406はBSR528をセットアップする。
c)IOC406は、次に、BSR522のIOC RD REQビット6を
調べ、それがセットされるのを待機する。1が1つある
場合、これは、IR1 540及びIR2 542がソース側SPU118
のI/Oによってロードされており、ロードされるべきで
ないことをIOC406に示す。
d)ソース側SPU118に次のデータ転送を行わせるため
に、IOC406は、その関連のAI410にREAD REQUEST命令を
出させるべくSBT命令を出す。
IOC 406とIOC 406の相互間 2つのIOC406間のブロック転送であるバージョン3は
バージョン2において概説されたのと同一の手順に従
う。一方のIOC406はソース側IOC406の手順に従い、他方
のIOC406は宛先側IOC406の手順に従う。
C.4.j MEM108又はLM510とDA408との相互間の転送(第6
J図) システムメモリ(MEM108)又はLM510とDA408との相互
間の直接メモリアクセス(DMA)は、CPU110の部分又はS
PU118のIOC406上の介在なしに、DA408のデータをMEM108
に及び(又は)から直接転送せしめる。前に述べたよう
に、システムメモリアドレスカウンタ/レジスタ(AIC5
38/OR1 530)は、AI410セクションの中に存在し、従っ
て、DA408によってロードすることができない。これは
全ての新しいDMAシステムメモリアドレスは、DA408の開
始の前に、IOC406によってOR1 530にロードされなけれ
ばならない、ということを意味している。この点につい
て述べると、システムメモリは2Kバイトのページに分割
されることを銘記すべきである。OR1 530がDMA転送の
間に2Kバイトまでカウントすると必ず、システムメモリ
ページ交差(crossing)を信号するページブレーク信号
「MA10」がDA408に発せられる。AI410は、DA408が別の
転送を試みるSPUバス120のアクセスを自動的にブロック
する。このブロッキングが始動すると、OR1 530を発す
ると(即ち、IOC406によるOR1 530のロード)によって
AI410がバスアクセスのためにリリースされる。このペ
ージ交差機構は、DMA転送の間にDA408によって抑止する
ことができる。この機能を実行することにより、DA408
は2Kバイトより大きいDMA転送を行うことができ、従っ
て、この機能は、例えば、テープDMA転送に有用であ
る。
システムメモリとDA408間のDMAを実行するためには、 a)IOC406は、DA408のDMAの開始に先立ち、OR1 530、
BCR528及びBSR522をセットアップしなければならない。
DMAデータがシステムメモリに又はシステムメモリから
移動すると、AI410は、次のシステムメモリアドレスを
指すためにOR1 530の中に存在するシステムメモリアド
レスを自動的に増分する。次にBCR528には適当なCC及び
TIワードがロードされなければならない。システムメモ
リへの単一/ダブルワードのDMAの場合、BSR522の32/64
ビット12は、それが単一(ビット12=1)ワード転送
か、又はダブル(ビット12=0)ワード転送からなるか
を決定するために、DMA転送に先立ちセット又はリセッ
トされなければならない。また、BSR522のLM/SMビット1
1は、LM510の領域(ビット11=1)又はシステムメモリ
(ビット11=0)のどちらかを、DMAに対するソース/
宛先として選択するために、セット又はリセットされな
ければならない。これらのフラグは、DA408のDMAオペレ
ーションの期間中、SPUバス120のアクセス及びOR1 530
の更新を調整するために、AI410によって用いられる。
b)IOC406は、完了及びタイムアウト(INTT524)割り
込みをイネーブルにしなければならない。
c)IOC406は次に、DMAを開始するために必要なDA408制
御情報を発する。これらIOC命令の内容及び順序は、付
加された周辺装置の特定の種類に関連し、個々の手順
は、特定のPD402及びDA408の要求条件によって決定され
る。
d)一旦DA408がDMAを開始すると、IOCは、SPUバス120
又はDA408のどちらかをアクセスしなくてもよい。DA408
がオペレーションを完了すると、完了割り込みがIOC406
に発せられる。IOC406は、次に、DMAオペレーションの
状態を判定するためにDA408のデバイス(装置)状態レ
ジスタをサンプリングする。
IIC404のIOC406及びAI410並びにこれによって実行さ
れるオペレーションについて述べてきたので、DA408、
及びSPUバス120に対するアクセスがそこから取り付けら
れているSPU118によって仲裁される時に用いられる手段
について、次に論じる。
C.5 DA 408 前に述べたように、各IIC404は、AI410及び可能なIOC
406に加えて、デバイスアダプタ(DA)408を含んでい
る。上記のように、IIC404は、SPU118のI/O通信オペレ
ーションを制御し且つ命令する機能を提供し、一方、DA
408及びAI410は、それぞれ、PD402及びSPUバス120に対
する制御及び通信インターフェースを提供する。
これもまた前に述べたように、IIC404のこの好適な実
施例において、IOC406及びAI410は両方共、多くの、且
つ好ましくは殆どのIIC404の間で共通である。しかしな
がら、種々のPD402の異なるインターフェース及びオペ
レーションの要求条件の故に、DA408は、IIC404の間で
異なり、特定のDA408の計数及びオペレーションは、そ
こから接続された特定のPD402に依存する。この点につ
いてここで銘記すべきことは、IOC406によって実行され
る機能は、関連のPD402に関する特定の制御オペレーシ
ョンを含んでいることである。この故に、IOC406によっ
て実行されるオペレーションの少なくとも諸部分は、シ
ステム102からIOC406のメモリにロードされるプログラ
ムによって決定される。更に、IIC404のこの好適な実施
例において、特定のIIC404は、関連のPD402の特定の設
計の故に、IOC406を含まない。これらの実施例におい
て、PD402は、IOC406によって実行される制御機能を提
供する機能を含んでいる。
例えば、モニタ、端末装置、ディスク又はテープドラ
イブ、または通信リンクのような周辺デバイス制御装置
の構造及びオペレーションは、当業者にとっては公知で
ある。更に、IOC406及びAI410に対する任意の特定のDA4
08の必要な制御及びデータインターフェース及びオペレ
ーションは、IOC406及びAI408並びにこれらのオペレー
ションに関する上記の説明には当業者によって了解され
得よう。従って、DA408についてはこれ以上説明しな
い。
C.6 SPU118によるSPUバスへのアクセスの仲裁 上記の説明は、SPUバス120から接続されたSPU118がI/
Oオペレーションを実行するために該バスへのアクセス
を得なければならないことを説明した。しかしながら、
SPU118がSPUバス120に対するアクセスを得る時に用いら
れる手段及び方法については本発明に関係しないためこ
こでは詳細には説明しないる。しかしながら、例えば、
当業者にとって公知の任意のデイジーチェーンバスアク
セス仲裁方法もこの目的のために用いられ得ることが示
唆される。別の例によると、システムバス104の次の説
明で述べられているバスアクセス方法は、SPUバス120に
関して用いられる。
D.システム102の内部バスの一般的構造及びオペレーシ
ョン(第1図) 前に述べたように、システム102の内部バス構造、即
ち、システムバス104及びSBPバス106が、I/O構造がオペ
レートするセッティングの例を提供するためここで述べ
られる。システム102の内部バス構造の説明に続き、I/O
構造とシステム102の内部バス構造とのインターフェー
ス、即ちSBI116が説明される。
システムバス104の説明に戻る。上記のように、シス
テムバス104は、システム102の内部エレメントが通信す
る時に用いる手段である。システム102のこの実施例に
おいて、且つ第1図に示すように、システムバス104
は、システム102の内部エレメントの各々がそこから接
続されている線形バスであり、システムバス104への接
続は、このエレメントの機能によって要求されるように
単方向性あるいは双方向性である。システムバス104
は、システム102の特定の構成によって要求されるよう
に、即ち、システムエレメントを加えたり又は減らした
り、あるいは2つ又はそれ以上のシステム102を単一シ
ステムに接続するように拡大され得る。
ここで銘記すべきことは、以下に説明するように、シ
ステムバス104のロジック構成は、SBPバス106によって
定義され、システム102の機能によって要求される任意
の位相幾何学的構造を取り得ることである。例えば、シ
ステムバス104は、ループ及び星形構成に物理的に配列
させ得る。ループ構成において、システムバス104の端
部は結ばれ、これにより、システムエレメント(SE)、
即ち、システムに含まれるエレメントが接続されると元
となる閉ループを形成する。星形構成の場合、システム
バス104は、共通のジャンクションから放射する幾つか
のバスセグメントからなり、SEは、システム構成によっ
て要求されるように放射セグメントから接続されてい
る。
D.1 システムバス優先(SBP)バス106(第1図) 再度第1図の説明に戻る。以下に更に詳しく述べるよ
うに、SBPバス106は、システムバス104に接続されたシ
ステム102のエレメントがシステムバス104に対するアク
セスを決定する時に用いられる手段である。第1図に示
すように、本実施例において、SBPバス106は、システム
バス104から接続されたエレメントの全てがSBPバス106
ループにおいて直列に接続されているループを形成して
いる。
本明細書に与えられた例示システム102において以下
のように仮定する。即ち、システムバス104から接続さ
れた全ての処理エレメントは、プロセッサ間通信を独立
に開始する能力を有している。即ち、システムバス104
から接続された全てのエレエントは、SBPバス106ループ
において接続されているように示されている。特定の場
合において、例えば、メモリエレメントにおいて、処理
エレメントは、プロセッサ間通信を開始はしないが斯か
る通信を受け且つ応答するだけのものとなり得る。斯か
るエレメントは斯かる通信を受け、例えば、メモリエレ
メントからCPUエレメントへのデータを読み出すことに
よって、斯かる通信に応答するために、システムバス10
4へのアクセスを必要とする。しかし、システムバス104
へのアクセスを要求することは要求とされず、即ち、シ
ステムバス104へのアクセスは、応答されている通信を
送る側のエレメントに寄って与えられる。斯かる場合、
これらの「応答のみ」のエレメントは、SBPバス106ルー
プにおいて接続される必要がないが、システムバス104
には接続される。
以下に説明するように、システムバス104へのアクセ
スの優先度は、システム102のあるエレメントから、
「回転デイジーチェーン」の形にあるSBPバス106ループ
における次のエレメントに送られる。即ち、或るエレメ
ントが現在システムバス104に対するアクセスを有して
いる場合、このエレメントに続くSBPバス106ループに沿
った次のエレメントが、システムバス104に対する次の
アクセスび対する最高優先度を有し、この後、SBPバス1
06に沿った次のエレメントが続き、以下、元のエレメン
トに再び達するようにSBPバス106ループをまわる。アク
セスを現在有しているエレメントがシステムバス104を
リリースすると、次のアクセスを得る機会は、SBPバス1
06を通りSBPバス106に沿った次のエレメントに送られ
る。該次のエレメントは、システムバス104に対するア
クセスをとることができ、そうしない場合は、アクセス
の機会をSBPバス106に沿ったその次のエレメントに送
り、以下、初めにアクセスを有しているエレメントに再
び達するかあるいはSBPバス109に沿ったあるエレメント
がシステムバス104に対するアクセスをとる迄、同様に
続く。
これにより、システムバス104に対するアクセスの優
先順位は、各エレメントがシステムバス104に対するア
クセスを得る機会を有するという状態でもって、SBPバ
ス106の回りを回転する。斯くして、そこに接続された
全てのエレメントのシステムバス104へのアクセスの平
均優先順位は、等しく、特定の諸時点における諸エレメ
ントの相対的優先順位は、システムバス104に対する実
際のアクセスあるいはアクセスする権利を現在有するエ
レメントに対する相対的なSBPバス106上の位置によって
決定される。
SBPバス106から接続されたシステム102の諸エレメン
トの中でのシステムバス104に対するアクセス優先順位
が回転シフトする故に、システムバス104に接続された
諸エレメントは、システムバス104に対するアクセスを
争わず、全て、システムバス104へのアクセスに関して
同等であるとみなされる。その結果、システム106及びS
BPバス106に接続された各エレメントは、システムバス1
04に対するアクセスを得る機会を等しく有し、どのエレ
メントも長い期間にわたってシステムバス104に対する
アクセスからロックアウトされることはない。
更に、且つまた、システム102の諸エレメントの中で
システムバス104に対するアクセス優先順位が回転シフ
トするので、SBPバス106あるいはシステムバス104のど
ちらかに沿ったシステム102のエレメントの位置は、シ
ステムバス104に対するアクセスのそのエレメントの平
均優先順位に無関係である。即ち、且つ上記のように、
システムバス104に接続され且つSBPバス106ループ上に
ある全てのエレメントは、平均的には、システムバス10
4への等しいアクセス権利を有している同等のものであ
る。従って、あるエレメントは、このエレメントの、あ
るいはシステムバス104に接続された他の諸エレメント
のシステムバス104に対するアクセスの平均的相対優先
順位に影響することなく、システム102に加えられ、あ
るいはシステムバス104及びSBPバス106に沿ったある点
から別の点に移動させられ得る。
この点について述べると、SBPバス106は、第1図にお
いて、システム102の各エレメントが回りに直列に接続
されている1つの時計方向ループを構成しているように
表わされている。しかしながらここで銘記すべきこと
は、この表現は、説明の簡潔性を期すためにのみ選ばれ
ていることである。システムバス104から接続されたシ
ステム102の諸エレメントは、実際、任意の所望の順序
においてSBPバス106に沿って直列に接続され得る。
最後に、SBPバス106の第2エレメントが第1図に示さ
れており、局部優先リンク(LPL)124と呼ばれる。LPL1
24は、SBPバス106によって決定される回転する優先順位
とは対照的に、基本的には、LPL124を通して相互接続さ
れている諸エレメントの相対的優先順位を固定する時に
用いられる手段である。そこから接続されている各エレ
メントに存在するSBPバス106エレメントの次の説明にお
いて詳細に説明されるように、LPL124は、1つのエレメ
ントによるシステムバス104へのアクセスに対するペン
ディングの要求の事実を、LPL124に沿って接続されてい
る別のエレメントに送らせて、これにより第2エレメン
トにおけるシステム104に対する任意のペンディングの
アクセスを抑止する。
D.2 システム102の内部バス構造(第7図) 第7図について説明する。第7図には、システム102
の内部バス構造の線図が示されている。上記に述べられ
ているように且つ第1図に示されているように、この構
造は、システムバス104、SBPバス106及び、特定の場
合、関連のLPL124を含んでいる。
D.2.a メモリ制御バス702、メモリオペレーション及び
プロセッサ間通信 第7図に示されているように、システムバス104は、
複数の多重及び単一ラインサブバスを含んでいる。これ
らのサブバスの最初のサブバスは、システムバス104の
アクセスを得るシステム102のエレメントの発生の際
に、実行されるべきシステムバス104のオペレーション
の種類を通信するのに用いられるメモリ制御(MC)バス
702である。
即ち、あるエレメントがシステムバス104の制御を得
ると、このエレメントは、SBPバス106をこの事実を示す
状態に駆動することによりこのアクセスを表示し、且つ
実行されるべきシステムバス104のオペレーションのタ
イプを示すコードをMCバス702上に置く。システムバス1
04に接続されたシステム102のエレメントは、SBPバス10
6の状態を監視することにより、システムバス104のアク
セスの発生を検出し、そして、アクセスが示されると、
システムバス104に対するアクセスを有するエレメント
によってMCバス702に置かれたコードを読み出すことに
より、実行されるべきシステムバス104のオペレーショ
ンのタイプを決定する。
大抵のシステムバス104のオペレーションは、メモリ
に関連しており、即ち、それらオペレーションはMEM108
からの読み出しあるいはMEM108への書き込みである。従
って、且つMCバス702コードの所で以下に示されるよう
に、非メモリ関連オペレーションの全クラスは、「プロ
セッサ間」通信が実施されるべきであること、即ち、2
つの非メモリエレメント、例えばSBI116とCPU110と、の
間の通信が実施されるべきであることを示す1つのコー
ドによって示される。以下に述べられるように、システ
ムバス104に接続された諸エレメントは、斯かる場合、
プロセッサ間通信を決定し且つ実施するためにシステム
バス401サブバスの他のものを参照しなければならな
い。
システム102の本実施例において与えられているMCバ
ス702コードは以下のものを含む。
ここで銘記すべきことは、上記のコードが、16進の形
で表わされていることであり且つコード1,2,9及びAが
将来用いられているために保存されることである。
プロセッサ間通信(コード8)は、これにより、メモ
リ関連オペレーションからのデフォールトの場合として
実施される。即ち、短い「決定ブランチ」、即ち、MCバ
ス702上のコードに対する参照、がメモリ関連オペレー
ションを識別し且つ開始するために与えられており、ま
た、より長い「決定ブランチ」、即ち、システムバス14
の他のサブバス上の別の情報に対する参照、が非メモリ
関連オペレーションに要求される。この方法は、これに
より、システムバス104オペレーションの大部分、即
ち、メモリ関連オペレーションが同時にすべてのタイプ
のシステムバス104オペレーションを定義し且つ実行す
るフレキシビリティを保持しつつ、斯かるオペレーショ
ンに対する短い方の決定経路を与えることにより、開始
されて実行されるスピードを、効果的に増加する。
D.2.b システムアドレス(SA)バス704及びシステムデ
ータ(SD)バス706 システムバス104の次の主なサブバスは、システムア
ドレス(SA)バス704及びシステムデータ(SD)バス706
である。最初のメモリ関連オペレーションを考慮する
と、SAバス704は、読み出し及び書き込みアドレスが、
メモリオペレーションを要求するエレメントと、これら
のオペレーションを実行するMEM108との間で通信される
時に用いられる手段であり、一方、SDバス706は、情報
が、MEM108とシステム102の他のエレメントとの間で通
信される時に用いられる手段である。
D.2.b.1 メモリオペレーション メモリオペレーションにおいて、上記のように、メモ
リオペレーションを要求するシステム102は先ず、以下
に更に詳しく述べるSBPバス106のオペレーションを通じ
てシステムバス104へのアクセスを得、そして、適当なM
Cバス702コードをMCバス702の上に置き、これにより、
実行されるべきオペレーションのタイプを示す。次にこ
の要求側エレメントは、SAバス704に読み出し又は書き
込みアドレスを置き、このオペレーションが書き込みで
ある場合、書き込まれるべきデータSDバス706に置く。
アドレスされたMEM108は次に、このデータをその中の対
応する記憶位置に書き込む。このオペレーションが読み
出しである場合、アドレス指定されたMEM108は、アドレ
スされた記憶位置からその情報を読み出し、そして、こ
の情報をSDバス706に置く。この情報は要求側エレメン
トによってこのSDバス706から読み出される。システム1
02の本実施例において、例えば、SAバスは24ビット幅で
あり、これは31ビットに拡大可能であり、SDバス706は6
4ビット幅、即ち、ダブルワード幅である。
SAバス704及びSDバス706には、それらの主な機能がメ
モリオペレーションに関連している3つの別の単一ライ
ンサブバスが関連している。これらの内の第1のものは
WAIT708である。この信号は、メモリ読み出しオペレー
ションの期間中に、要求された情報が得られず且つ要求
側エレメントによって監視される場合に、アドレスされ
たMEM108によってアサートされ、従って、要求側エレメ
ントは情報が得られる迄待機モードに置かれる。
第2のメモリオペレーション制御は、BUSY710であ
り、これは、メモリオペレーションの期間中且つシステ
ムバス104の送信が開始される前に、アドレスされたMEM
108によってアサートされる。BUS710は、システムバス1
04が使用可能ではないことを示し且つシステム102の該
エレメントによって監視されることを示す。
第3のメモリオペレーション制御は、有効メモリアク
セス(VMA)712であり、これは要求されたメモリオペレ
ーションが有効であること、即ち、アドレス又はデータ
が有効であることを示すために、アドレスされたMEM108
によってアサートされる。VMAは、要求が成功であった
か否か、即ち、有効であったか否かを判定するために、
メモリオペレーションを要求するエレメントによって監
視される。
D.2.b.2 プロセッサ間通信(第7A図) ここで、非メモリ関連オペレーション、即ち、プロセ
ッサ間通信を考慮すると、SAバス704及びSDバス706は、
プロセッサ間オペレーションが実行されるべきときに、
特定の点において、上記とは異なるようにオペレートす
る。上記のようにプロセッサ間オペレーションは、メモ
リ関連オペレーションからのデフォールトとして扱われ
る。即ち、1つのMCバス702コードは、非メモリタイプ
のオペレーションの全クラスを示す。これもまた上記の
ように、MCバス702の上にプロセッサ間通信コードが出
現すると、システムバス104に接続され諸エレメント
は、実行されるべきプロセッサ間オペレーションのタイ
プを判定するために、要求側エレメントによってSAバス
704及びSDバス706に存在している情報を参照しなければ
ならない。
第7A図について説明する。第7A図には、プロセッサ間
オペレーションの際にSAバス704及びSDバス706に与えら
れ得る情報が表されている。この図に示すように、SAバ
ス704に現れる情報は、ターゲット、即ち、メッセージ
の意図された受け取り装置を識別する4ビットのターゲ
ットアドレス(TA)フィールド714、ターゲットに送ら
れるべきメッセージのタイプを識別する4ビットのメッ
セージタイプ(MT)フィールド716、及び1つのメッセ
ージを含み得る16ビットのメッセージ(ME)フィールド
718を含んでいる。データがあるエレメントから別のエ
レメントに送信される特定のプロセッサ間通信オペレー
ションにおいて、SDバス706は、8バイト迄のデータフ
ィールドを含み得る。
D.2.c. TAフィールド714コード ここでSAバス704に現れる種々のプロセッサ間通信フ
ィールドを考慮すると、TAフィールド714は、例えば次
のターゲット識別コードを含み得る。コード 識別ターゲット 0 支援制御ユニット(例 LSC112又はRSC114) 1 全てのCPU110への同報通信 2 CPU1 110 3 CPU2 110 4 CPU3 110 5 CPU4 110 6 CPU5 110 7 CPU6 110 8 CPU7 110 9 CPU8 110 A 将来の使用のために保存される B SBI1 116 C SBI2 116 D SBI3 116 E SBI4 116 F 全てのSBI116への同報通信 ここで銘記すべきことは、上記のコードは16進フォー
マットで与えられていることである。
上記のコードフォーマットから明らかなことは、上記
のコード割当てにおいて意図された例示システムが、1
つの支援制御ユニット112又は114と、8個迄のCPU110
と、4個迄のSBI116を含むことである。ターゲットコー
ドの割当ては、特定のシステム102の意図された構成に
応じて、意のままに変化し得る。
ここで銘記すべきことは、SPU118はターゲットとさ
れ、且つSPU118の関連のSBI116を介してメッセージが送
信されることである。また銘記すべきことは、プロセッ
サ間通信によって、すべての或る種類のエレメント、例
えば、全てのCPU110又は全てのSBI116へのメッセージの
同期の同報通信を可能にする。
メモリエレメントに、即ち、MEM108に対するターゲッ
ト識別コードは、例示のTAフィールド714コードにおい
て存在しない。前に述べたように、全てのメモリ関連オ
ペレーションは、MCバス702コードレベル、及びSAバス7
04に同時に現れるアドレスによって識別されたターゲッ
ト側MEM108において、開始される。
D.2.d MTフィールド716コード MTフィールド716の内容は、関連のTAフィールド714に
おいて識別された特定の種類の受け取り装置に依存す
る。即ち、本実施例においては、ターゲットとされた受
け取り装置が、SBI116、即ち、SBI116に接続されたSPU1
18か、CPU110か、又は支援制御ユニット112又は114か、
に依存する。以下に表される例示のMTフィールド216コ
ードにおいて現れるように、MTフィールド716コード
は、メッセージを、メッセージの転送、データの転送、
又は受け取り側エレメントのその部分の動作又は動作状
態の変化に対する命令として識別する。
SBI116タイプのエレメントに送信され得るMTコードの
諸種類の第1実施例を考慮すると、以下のようになる。コード メッセージタイプ 0 ターゲット側SPU118へのメッセージ転送 1 ターゲット側SPU118へのデータ転送 8 ターゲット側SPI116をリセットせよ 9 ターゲット側SPU118をリセットせよ A 入力/出力(I/O)保護ターンオフ B I/O保護ターンオフ C 指定されたメモリページへのI/Oアクセス をイネーブルにせよ D 指定されたメモリページへのI/Oアクセス をディスエーブルにせよ 前に説明したように、上記のMTフィールド716コード
は、16進フォーマットで与えられ、コード2,3,4,5,6,7,
E及びFは、将来の使用のために保存される。
ここで、ターゲットとされた受け取り装置がCPU110で
ある時に用いられ得るMTフィールド716コードの実施例
について考慮すると、以下のようになる。コード メッセージタイプ 0 クラス1 I/O中断 1 クラス2 I/O中断 8 プロセッサ間通信 9 クロックを同期せよ 前に説明したように、これらのコードは、16進フォー
マットで与えられ、コード2乃至7及びA乃至Fは、将
来の使用のために保存される。
ここで銘記すべきことは、上記のCPU110メッセージタ
イプは、2つのクラスのI/O中断(interrupt)、即ち、
エラーがI/Oオペレーションに現れない時のクラス1及
びエラーがI/Oオペレーション、例えば、データに生じ
る時のクラス2を与えることである。これら2つのクラ
スは、これらの事象がターゲット側CPU110によって異な
った取扱いを受けるために与えられる。
MEフィールド718を占めるプロセッサ間メッセージの
更に別の実施例は、I/Oメッセージであり、基本的に
は、これらのエレメントのオペレーションを開始し又は
制御するためのCPU110からSBI116又はSPU118への命令で
ある。
最後に、且つ再び第7図について説明する。メモリ関
連オペレーションについて上で述べたように、システム
バス104の特定の単一ラインサブバスは、プロセッサ間
通信オペレーションに関連している。これらの中には、
肯定(ACK)720及びターゲットビジイ(TB)722があ
る。ACK720は、このターゲット側エレメントが存在する
時にプロセッサ間通信のターゲット側エレメントによっ
て表され(assert)、そして、この送信側エレメントが
このターゲット側エレメントにプロセッサ間通信を送る
ことを試みていることを肯定(アクノレッジ)する。そ
の送信側エレメントは、ACK720を監視し、これにより、
プロセッサ間通信を送る試みが成功であったか否かを求
める。
TB722は、ターゲットエレメントがビジイであり従っ
てプロセッサ間通信を受けることができないことを示す
ために、プロセッサ間通信のターゲット側エレメントに
よってアサートされる。この送信側エレメントはTB722
を監視し、TB722がターゲット側エレメントによってア
サートされる場合は、送信側エレメントの特性及び機能
に応じてその状態を取り扱う。
同様に、プロセッサ間通信とメモリ関連オペレーショ
ンの両方に関連しているのはLOCK(ロック)724であ
る。LOCK724は、システムバス104の全ての他のユーザを
ロックアウトするために、メモリ関連オペレーションは
又プロセッサ間通信のイニシエータによってアサートさ
れ得る。LOCK724は、例えば、あるエレメントが一連の
プロセッサ間通信又は一連のメモリオペレーションを通
信することを望む時に、アサートされ得る。LOCK724
は、システムバス104に接続された全てのエレメントに
よって監視され、そして、あるエレメントがLOCK724を
アサートている間は、何れのユーザもシステムバス104
に対するアクセスを得ることを試みない。
最後に、第7図に示すように、システムバス104は、
システムバス104の全てのユーザに与えられるシステム
クロック(SYSCLK)726を含み、これにより全ての斯か
るエレメントのための共通のタイミングを達成し得る。
SPUバス120とシステム102の内部バスの両方の構造及
びオペレーションについて述べてきたので、これらのバ
ス間のインターフェース、即ち、SBI116について以下に
述べる。
E. システムバスインターフェース(SBI)116(第8
図) 上記のように、システム102のI/O構造は、1つ又はそ
れ以上のI/Oバス構造からなる。各I/Oバス構造は、シス
テムバスインターフェースユニット(SBI)を介してシ
ステムバス104から接続されたサテライトプロセッサユ
ニット(SPU)バス120を含んでいる。尚、1つ又はそれ
以上のサテライトプロセッサ(SP)118が、各SPUバス12
0から接続されている。従って、各SBI116は、その関連
のSPUバス120とシステム102の内部バス構造、即ち、シ
ステムバス104、との間のインターフェースとして効果
的にオペレートする。
第8図について説明する。第8図にはSBI116のブロッ
ク図が示されている。尚、SPUバス120の基本的エレメン
ト、即ち、A/Dバス202及びC/Iバス204は左に現れてお
り、システムバス104の基本的エレメント、即ち、MCバ
ス702、SAバス704及びSDバス706は右に現れている。
先ず、SPUバス120からのシステムバス104へのデータ
及びアドレスの流れを考慮すると、第8図に示すよう
に、SBI116は、アドレス及びデータ情報を受け取るため
に、即ち、SPU118のOR1 530、OR2 532及びOR3 534か
らアドレス及びデータ情報を受け取るために、A/Dバス2
02から接続されたアドレス/データ出力バッファ(ADO
B)802を有している。ADOB802の出力は、アドレス又は
データ情報のどちらかであり、ADOB802の出力は、従っ
て、アドレスレジスタラッチ(ARL)804及びシステムデ
ータ出力レジスタ(SDOR)806の入力に接続されてい
る。それらの名称によって示唆されるように、ARL804
は、アドレス情報を受け且つ記憶するために与えられ、
一方SDOR806は、データを受け且つ記憶するために与え
られる。
ARL804のアドレス情報出力は、システムアドレス情報
が、SPUバス120のA/Dバス202からシステムバス104のSA
バス704に与えられる時に通る経路を完成するために、
システムアドレス出力バッファ(SAOB)808を介してシ
ステムアドレス(SA)バス704に接続されている。これ
を通して与えられるシステムアドレス情報は、この説明
のセクションDにおいて述べられている方法で、システ
ム102の内部バス機構によって用いられる。
SDOR806のデータ出力は、第8図に示すように、デー
タがSPUバス120のA/Dバス202からシステムバス104のSD
バス706に与えられる時に当る経路を完成するために、
双方向システムデータバッファ(SDB)810を介してシス
テムデータ(SD)バス706に与えられる。この時点で銘
記すべきことは、SPUバス120のデータ経路、即ち、A/D
バス202は、32ビット(1ワード)幅であり、一方、シ
ステムバス104のデータ経路、即ち、SDバス706は、64ビ
ット(2ワード)幅であることである。更に、且つ前に
説明したように、SPU118からシステム102の内部バスへ
の64ビットデータ転送が実施され得る。この理由のため
に、SDOR806は、デュアルの32ビット幅レジスタ、即
ち、64ビット幅であり且つ、2つの並列の32ビットレジ
スタとして構成されており、SDOR806を構成する32ビッ
トレジスタの各々が個別的に書き込まれる。従って、SP
バス120からシステムバス104への64ビット書き込みにお
いて、A/Dバス202に連続的に現れる2つの32ビットワー
ドは、1つの64ビットワードを形成するためにSDOR806
に連続的に書き込まれ且つ保持され得る。この64ビット
ワードは、次に、1つの64ビットワードとしてSDOR806
からSDバス706へ書き込まれ得る。この経路を介してA/D
バス202からSDバス706へ与えられるデータは、この説明
のセクションDで述べた方法でもって、システム102の
内部バス機構によって用いられる。
次に、データがシステムバス104からSPUバス120に与
えられる時に経路を考慮すると、第8図に示すように、
SPI116には、システムデータ入力レジスタ(SDIR)812
が与えられており、SDIR812は、双方向SDB810を介してS
Dバス706から接続されているデータ入力を有している。
SDIR812のデータ出力は、データ入力バッファ(DIB)81
4を介してA/Dバス202に接続されている。また、SDバス7
06によって与えられているデータ経路は、64ビット幅で
あり、A/Dバス202によって与えられているデータ経路は
32ビット幅である。この理由により、SDIR812は、デュ
アルの32ビット並列レジスタとして構成されており、こ
の2つのレジスタは、個別に読み出され得る。従って、
SDバス706から現れる64ビットワードは、1つの書き込
みオペレーションにおいてSDバス706からSDIR812へ書き
込まれ、各32ビットワードを2つの連続的読み出しでSD
IRからA/Dバス202へ読み出す。
ここで、システムアドレスがSAバス704からSPUバス12
0に与えられる時に用いられる手段を考慮すると、この
オペレーションは、特定のシステムアドレスがC/Iバス2
04に現れ得るTIフィールド及び/又はA/Dバス202に現れ
る随伴のアドレスに、変換されなければならないので、
アドレス変換を要求される。従って、システムアドレス
のSPU118アドレスへの変換は、SPU118とシステム102の
内部バスとの間の制御情報の送信に関連して以下に述べ
られる。この時点で銘記すべきことは、このSBI116は、
システムアドレスを受け取るために、SAバス704から接
続されたシステムアドレス入力バッファ(SAIB)816を
含むことである。
システム102のI/O構造及びシステム102の内部バス構
造のオペレーションの、前の説明から明らかなことは、
I/O構造において用いられるC/Iワードの命令コード(CC
フィールド)及びアドレス(TIフィールド)と、MCバス
702及びSAバス704現れ且つシステム102に対して内部的
に用いられる内部バスコード及びアドレスと、の間に変
換がなければならないことである。
先ず、SPUバス120からシステムバス104への制御経路
を考慮すると、SBI116には、C/IワードのCC及びTIフィ
ールドを受けとるために、C/Iバス204から接続された制
御入力バッファ(CIB)818が与えられている。CIB818の
出力は、制御入力レジスタ(CIR)820の入力に接続され
ており、CIR820は、CIB818から受け取られたC/Iワード
を受け且つ記憶する。
第8図に示すように、CIR820の出力は、命令/アイデ
ンティティデコーダ(CID)822に与えられ、CID822は、
SPUバス120及びシステムバス104のオペレーションを命
令する制御出力を与えるために、C/IワードのTI及びCC
フィールドを復号化する。特に、CID822は、実行される
べきオペレーションに対応するMCバス702コードを発生
し、これらのコードを、MC出力バッファ(MCOB)824を
介してMCバス702に与える。
次に、SPUバス120への制御情報の提供を考慮すると、
前に述べたように、SPU118によって現在要求されている
オペレーションのタイプ、このオペレーションに関与す
るシステムアドレス、及び、オペレーションが命令され
るシステムアドレスは、特定のオペレーションにおい
て、SPU118によって実行されるオペレーションを制御す
るためにSPUバス120に現れるC/IワードのCC及びTIフィ
ールドを、制御し得る。
第8図に示すように、ARL804のシステムアドレス出
力、CID822の復号化された命令出力、及びCIR820におい
て現在ラッチされているC/Iワードからの特定のCC及びT
Iフィールド情報は、メモリオペレーションバッファ(M
OB)826への入力として与えられる。MOB826は、この情
報を受け且つ記憶し、且つシステムバス104とSPUバス12
0との相互間のオペレーションのためのパイプラインバ
ッファとして作動する。この点において銘記すべきこと
は、前に述べたように、特定のオペレーションは、完了
するために、種々の数のバスサイクルを要求することで
ある。部分的には、MOB826は斯かるオペレーションを記
憶するパイプラインとして作動し、これにより、遅延さ
れたオペレーションが完了を待機している間にSPUバス1
20及びシステムバス104を他のオペレーションのために
自由にする。
第8に示すように、MOB826に記憶された情報は、プロ
セッサ間命令ジェネレータ(IPCCG)828及びアイデンテ
ィティマルチプレクサ(IM)830に対する入力として与
えられる。これに関連して、SAIB816のシステムアドレ
ス出力は、メモリオペレーション命令ジェネレータ(MO
CG)832及びIM830への入力として与えられる。
IPC CG828及びMO CG832は、C/Iバス204に与えられ
るべきC/IワードのCCフィールドを発生するように協働
し、そこから接続されたSPU118のオペレーションを、前
に述べられた方法でもって制御する。この点について述
べると、IPC CG828は、関連がある場合、MOB826から与
えられた関連のターゲットアイデンティフィケーション
及びシステムアドレスを有する情報、即ち、SPU118によ
って指定されたオペレーションに関する情報を用いて、
SPU118の開始したオペレーションのためのC/IワードのC
Cフィールドを発生する。MO CG832は、システム102の
内部エレメントによって開始されたオペレーション、即
ち、システムバス104から接続されたエレメントによっ
てシステムバス104から開始されたオペレーション、に
関して類似の機能を実行する。
第8図に示すように、IPC CG828及びMO CG832の出
力は、命令レジスタ(CR)834に与えられており、CR834
は、命令出力バッファ(COB)836を介して次にCCバス20
8に与えられるべきCCフィールドを記憶する。
IM830は、C/Iバス204に与えられるべきC/IワードのTI
フィールドを発生するために、IPC CG828及びMO CG83
2と並列に作動する。この点について述べると、IM830に
は、MOB826からのオペレーションのタイプの情報及びSA
IB824からのシステムアドレス情報の、ターゲットアイ
デンティフィケーションが与えられている。IM830のTI
フィールド出力は、アイデンティティレジスタ(IR)83
8及びアイデンティティ出力バッファ(IOB)840を介し
てTIバス206に与えられる。
最後に、SPUバス120及びシステムバス104の前に説明
したオペレーションから明らかなように、これらのバス
の各々はSPI116に対して独立に、即ち、非同期的に作動
することが好ましい。この理由により、システムバス10
4とインターフェースするSPI116のこれらのエレメン
ト、及びSPUバス120とインターフェースするSBI116のこ
れらのエレメントには、別々の制御ロジックエレメント
が与えられている。これらのエレメントは、第8図にお
いて、システムバス応答ロジック(SBRL)842及びSPUバ
ス応答ロジック(SPUBRL)844として識別される。第8
図に示されているように、SBRL842には、SAIB816、即
ち、SAバス704からの、及びMCバス702から接続されてい
るMCバス入力バッファ(MCIB)846からの制御入力が与
えられている。SPUBRL844には、CIB818、即ち、CCバス2
08及びTIバス206からの制御入力が与えられている。SBR
L842及びSPUBRL844の詳細な設計及び動作は当業者には
よく了解されるであろうため、本明細書にはこれ以上詳
細に論じられない。
【図面の簡単な説明】
第1図は、本発明を含む例示的なシステムのブロック
図。第2図は、SPUバス120の線図、第3図乃至第3H図
は、特定の基本I/O通信オペレーションの実行を示す
図。第4図は、IIC404のブロック図。第5図は、IOC406
及びAI410のブロック図。第6A図乃至第6J図は、特定のI
/Oオペレーションに用いられる制御及びデータ情報構造
を示す図。第7図は例示的なシステムの内部バス構造の
図。第7A図は、例示的なシステムの内部バス構造を通し
て伝達される内部のプロセッサ間通信の図。第8図は、
SBI116の図。 102……システム、104……システムバス、106……シス
テムバス優先バス、108……メモリユニット、110……中
央処理ユニット、112……局部制御装置、114……遠隔シ
ステム制御装置、116……システムデバスインターフェ
ース、118……サテライトプロセッサユニット、120……
SPUバス、402……周辺デバイス、404……インテリジェ
ントインターフェース制御装置、406……インテリジェ
ントI/Oオペレーション制御装置、408……デバイスアダ
プタ、410……仲裁/インターフェースロジック、502…
…マイクロプロセッサ、506……トランシーバ、508……
制御記憶装置、516……識別レジスタ、518……プロセッ
サ間通信レジスタ、522……バス状態レジスタ、524……
インタバルタイマ、528……バス制御レジスタ、530、53
2、534……出力レジスタ、536……AIバスドライバ/レ
シーバ、538……AIカウンタ、540、542……入力レジス
タ、544……TI比較器、546……命令コード復号器、802
……アドレス/データ出力バッファ、804……アドレス
レジスタラッチ、806……システムデータ出力レジス
タ、808……システムアドレス出力バッファ、810……シ
ステムデータバッファ、812……システムデータ入力レ
ジスタ、814……データ入力バッファ、816……システム
アドレス入力バッファ、818……制御入力バッファ、820
……制御入力レジスタ、822……命令/識別復号器、824
……MC出力バッファ、826……メモリオペレーションバ
ッファ、828……プロセッサ間命令ジェネレータ、830…
…識別マルチプレクサ、832……メモリオペレーション
命令ジェネレータ、834……命令レジスタ、836……命令
出力バッファ、838……識別レジスタ、840……識別出力
バッファ、842……システムバス応答ロジック、844……
SPUバス応答ロジック、846……MCバス入力バッファ、
フロントページの続き (72)発明者 ジェームズ・ビー・マックドナルド アメリカ合衆国マサチューセッツ州 01851,ローウェル,ギブソン・ストリ ート 218 (72)発明者 ロバート・シー・ナシュ アメリカ合衆国マサチューセッツ州 01824,チェルムスフォード,エルム・ ストリート 37 (72)発明者 スティーヴン・ダブリュー・オルソン アメリカ合衆国マサチューセッツ州 01887,ウィルミントン,チェスナッ ト・ストリート 55エイ (72)発明者 ビコー・ジェイ・パテル アメリカ合衆国マサチューセッツ州 01852,ローウェル,ブロードビュー・ ロード 23 (72)発明者 ロバート・アール・トロッティアー アメリカ合衆国マサチューセッツ州 01850,ローウェル,ホウィットニー・ アベニュー 19 (72)発明者 ケヴィン・ティー・マハニー アメリカ合衆国マサチューセッツ州 01876,テュークスベリー,シンシア・ ロード 51

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】デジタルデータ処理システム(102)の1
    つ以上の周辺装置(402)への通信の転送及びそこから
    の通信の転送のための、デジタルデータ処理システム
    (102)のI/Oサブシステムのシステムコンポーネント
    (116、118、120)であって、前記I/Oサブシステムのシ
    ステムコンポーネント及び他のシステムコンポーネント
    は(108、110、112、114)はシステムバス(104)に接
    続され、該システムバスは、前記I/Oサブシステムのシ
    ステムコンポーネントと前記他のシステムコンポーネン
    トとの間で通信を転送し、前記I/Oサブシステムのシス
    テムコンポーネントは、前記I/Oサブシステムのシステ
    ムコンポーネントを前記システムバスに結合するための
    システムバスインターフェース装置(116)と、周辺装
    置(402)と他の周辺装置及び前記システムコンポーネ
    ントとの間で通信を転送するための、前記システムバス
    インターフェース装置から接続されたI/Oサブシステム
    バス(120)とを含む、I/Oサブシステムのコンポーネン
    トにおいて、 対応する周辺装置と前記I/Oサブシステムバスとの間に
    接続され、通信データ及びメッセージを前記I/Oサブシ
    ステムバスと前記周辺装置の間で転送する1つ以上のI/
    O処理装置(118)であって、 各I/O処理装置は前記I/Oサブシステムバスから接続さ
    れ、 I/Oサブシステムバス通信を前記I/Oサブシステムバスか
    ら受信し、対応する周辺装置通信を対応する周辺装置に
    与え、かつ 前記対応する周辺装置から受信した周辺装置通信に応答
    し、対応するI/Oサブシステムバス通信を生成しかつ前
    記I/Oサブシステムバスに提供する、 I/O処理装置を特徴とし、 前記I/Oサブシステムバスは、 アドレス/データバスを形成し、前記I/O処理装置と前
    記システムバスインターフェース装置との間で前記I/O
    サブシステムバス上においてアドレス/データワードを
    転送するための第1の複数のライン(202)と、 アイデンティフィケーションバスを形成し、前記I/O処
    理装置と前記システムバスインターフェース装置との間
    で前記I/Oサブシステムバス上においてアイデンティフ
    ィケーションワードを転送するための第2の複数のライ
    ン(206)と、 コマンドバスを形成し、前記I/O処理装置と前記システ
    ムバスインターフェース装置との間で前記I/Oサブシス
    テムバス上においてコマンドワードを転送するための第
    3の複数ライン(208)と、 を含み、各I/Oサブシステムバス通信は、前記I/Oサブシ
    ステムバスにおける1つ以上の送信のシーケンスを含
    み、 前記I/Oサブシステムバスにおける各送信は、 データを含むアドレス/データワード、又は 前記通信がシステムコンポーネント又は前記システムバ
    スを通じてアクセスされる周辺装置とのときには、シス
    テムコンポーネント又は前記システムバスを通じてアク
    セス可能な周辺装置のアドレス を含み、 コマンドワードは、前記通信で行われるべきオペレーシ
    ョンを識別するコマンドを含み、 アイデンティフィケーションワードは、前記I/Oサブシ
    ステムバスから接続されたI/O処理装置のアイデンティ
    フィケーションを含み、 前記アイデンティフィケーションワードは、前記通信
    が、前記I/Oサブシステムバスから接続されたI/O処理装
    置間においてであるとき、前記通信を受信するI/O処理
    装置のアイデンティフィケーションを含み、 前記アイデンティフィケーションワードは、電気通信
    が、前記システムバスを通じてアクセス可能なシステム
    コンポーネント又は周辺装置とにおいてであるとき、前
    記通信を開始する前記I/O処理装置のアイデンティフィ
    ケーションを含む、 ことを特徴とするI/Oサブシステムのコンポーネント。
  2. 【請求項2】特許請求の範囲第1項に記載のI/Oサブシ
    ステムのコンポーネントにおいて、前記I/Oサブシステ
    ムバスから接続されたI/O処理装置間の通信は、 単一の送信であって、 前記通信のオペレーションを、同じ前記I/Oサブシステ
    ムバスから接続されたI/O処理装置間の通信として識別
    するコマンドを含むコマンドワードと、 前記通信を受信する前記I/O処理装置のアイデンティフ
    ィケーションを含むアイデンティフィケーションワード
    と、 前記通信を受信する前記I/O処理装置に通信されるメッ
    セージ又はデータを含むアドレス/データワードと、 を含む単一の送信、 を更に特徴とする前記I/Oサブシステムのコンポーネン
    ト。
  3. 【請求項3】特許請求の範囲第1項に記載のI/Oサブシ
    ステムのコンポーネントにおいて、前記I/Oサブシステ
    ムバスから接続されたI/O処理装置と前記システムバス
    から接続されたシステムコンポーネント(108、110)と
    の間の通信は更に、 第1の送信であって、 前記通信のオペレーションを、I/O処理装置と前記シス
    テムバスから接続されたコンポーネントとの間の通信と
    して識別するコマンドを含むコマンドワードと、 前記通信を開始する前記I/O処理装置のアイデンティフ
    ィケーションを含むアイデンティフィケーションワード
    と、 前記システムバスから接続された前記システムコンポー
    ネントにおけるアドレスを含むアドレス/データワード
    と、 を含む第1の送信と、 少なくとも1つの後続する送信であって、 前記通信のオペレーションを、I/O処理装置と前記シス
    テムバスから接続されたコンポーネントとの間の通信と
    して識別するコマンドを含むコマンドワードと、 前記通信を開始する前記I/O処理装置のアイデンティフ
    ィケーションを含むアイデンティフィケーションワード
    と、 前記I/O処理装置と前記システムバスから接続された前
    記システムコンポーネントとの間において通信されるア
    ドレス/データワードのデータ又はメッセージと、 を含む少なくとも1つの後続する送信と、 を特徴とする前記I/Oサブシステムのコンポーネント。
  4. 【請求項4】特許請求の範囲第1項に記載のI/Oサブシ
    ステムのコンポーネントにおいて、前記I/Oサブシステ
    ムバスから接続されたI/O処理装置と、別のI/Oサブシス
    テムバスから接続されたI/O処理装置との間の通信は更
    に、 第1の送信であって、 前記通信のオペレーションを、I/O処理装置と、別のI/O
    サブシステムバスから接続されたI/O処理装置との間の
    通信として識別するコマンドを含むコマンドワードと、 前記通信を開始する前記I/O処理装置のアイデンティフ
    ィケーションを含むアイデンティフィケーションワード
    と、 前記別のI/Oサブシステムバスから接続された前記I/O処
    理装置におけるアドレスを含むアドレス/データワード
    と、 を含む第1の送信と、 少なくとも1つの後続する送信であって、 前記通信のオペレーションを、I/O処理装置と、別のI/O
    サブシステムバスから接続されたI/O処理装置との間の
    通信として識別するコマンドを含むコマンドワードと、 前記通信を開始する前記I/O処理装置のアイデンティフ
    ィケーションを含むアイデンティフィケーションワード
    と、 前記I/O処理装置と前記別のI/Oサブシステムバスから接
    続された前記I/O処理装置との間において通信されるデ
    ータ又はメッセージを含むアドレス/データワードと、 を含む少なくとも1つの後続する送信と、 を特徴とする前記I/Oサブシステムのコンポーネント。
  5. 【請求項5】特許請求の範囲第1項に記載のI/Oサブシ
    ステムのコンポーネントにおいて、各I/O処理装置は更
    に、 前記I/Oサブシステムバスに接続されたインターフェー
    ス手段(528、536、544、546)であって、 現在のI/Oサブシステムバスの通信で要求されると、 I/Oサブシステムバスの通信の送信の間に前記コマンド
    バスにコマンドワードと、 I/Oサブシステムバスの通信の送信の間に前記アイデン
    ティフィケーションバスにアイデンティフィケーション
    ワードと、 I/Oサブシステムバスの通信の送信の間に前記アドレス
    /データバスにアドレス/データワードと、 を提供し、 I/Oサブシステムバスの通信の送信の間に前記コマンド
    バスからコマンドワードと、 I/Oサブシステムバスの通信の送信の間に前記アイデン
    ティフィケーションバスからアイデンティフィケーショ
    ンワードと、 I/Oサブシステムバスの通信の送信の間に前記アドレス
    /データバスからアドレス/データワードと、 を受信する、 インターフェース手段と、 前記周辺装置(402)と前記インターフェース手段との
    間に接続され、前記周辺装置にデータを提供し且つ前記
    周辺装置からデータを受信するための装置アダプタ手段
    (408)と、 前記インターフェース手段及び前記装置アダプタ手段に
    接続され、前記インターフェース手段及び前記装置アダ
    プタ手段に応答し、前記I/O処理装置が、I/Oサブシステ
    ムバスの通信を開始し、かつI/Oサブシステムバスの通
    信に応答するように制御するための制御手段(406)
    と、 を特徴とする前記I/Oサブシステムのコンポーネント。
  6. 【請求項6】特許請求の範囲第1項に記載のI/Oサブシ
    ステムのコンポーネントにおいて、前記システムバスの
    インターフェース装置(116)は、 前記I/Oサブシステムバスの前記データ/アドレスバス
    と、前記システムバス(104)のアドレスバス(704)及
    びデータバス(706)との間に接続されたアドレス/バ
    ッファ手段(802、804、814、812、806、810、808)で
    あって、 システムコンポーネント及び前記システムバスを通じて
    アクセス可能な周辺装置のアドレスを、前記I/Oサブシ
    ステムバスのアドレス/データバスと前記システムバス
    のアドレスバスとの間で、及び データを、前記I/Oサブシステムバスのアドレス/デー
    タバスと前記システムバスのデータバスとの間で、 転送するためのアドレス/バッファ手段と、 前記I/Oサブシステムバスのコマンドバス及びアイデン
    ティフィケーションバスから、及び前記システムバスの
    アドレスバス及びシステムバスの制御バス(702)か
    ら、接続された制御手段(818、820、822、826、844、8
    36、834、828、832、840、838、830、816、824、846、8
    42)であって、 前記I/Oサブシステムバスのコマンドバスに現れるコマ
    ンドワードと、 前記I/Oサブシステムバスのアイデンティフィケーショ
    ンバスに現れるアイデンティフィケーションワードと、 前記システムバスのアドレスバスに現れるアドレスと、 前記システムバスの制御バスに現れる制御信号と、 に応答し、 I/Oサブシステム送信を、対応するシステムバス通信
    に、及び システムバス通信を、対応するI/Oサブシステム送信
    に、 変換する、 制御手段と、 を特徴とする前記I/Oサブシステムのコンポーネント。
JP15129586A 1985-06-28 1986-06-27 情報処理システム用i/o構造 Expired - Fee Related JP2509569B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75011285A 1985-06-28 1985-06-28
US750112 1985-06-28

Publications (2)

Publication Number Publication Date
JPS628252A JPS628252A (ja) 1987-01-16
JP2509569B2 true JP2509569B2 (ja) 1996-06-19

Family

ID=25016551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15129586A Expired - Fee Related JP2509569B2 (ja) 1985-06-28 1986-06-27 情報処理システム用i/o構造

Country Status (5)

Country Link
EP (1) EP0206345B1 (ja)
JP (1) JP2509569B2 (ja)
AU (1) AU583108B2 (ja)
CA (1) CA1272299A (ja)
DE (1) DE3689808T2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062076A (en) * 1985-07-12 1991-10-29 Wang Laboratories, Inc. Cascadable, high-bandwidth, multi-channel image transfer controller
US10063376B2 (en) 2015-10-01 2018-08-28 International Business Machines Corporation Access control and security for synchronous input/output links
US10120818B2 (en) 2015-10-01 2018-11-06 International Business Machines Corporation Synchronous input/output command
US9734030B2 (en) 2015-10-01 2017-08-15 International Business Machines Corporation Synchronous input/output diagnostic controls
US9898227B2 (en) 2016-04-27 2018-02-20 International Business Machines Corporation Synchronous input/output virtualization

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US4232366A (en) * 1978-10-25 1980-11-04 Digital Equipment Corporation Bus for a data processing system with overlapped sequences
EP0060535A3 (en) * 1981-03-12 1985-03-06 Recognition Equipment Incorporated Multiprocessor network
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4719622A (en) * 1985-03-15 1988-01-12 Wang Laboratories, Inc. System bus means for inter-processor communication

Also Published As

Publication number Publication date
DE3689808D1 (de) 1994-06-01
AU5609086A (en) 1987-01-08
CA1272299A (en) 1990-07-31
EP0206345B1 (en) 1994-04-27
JPS628252A (ja) 1987-01-16
EP0206345A3 (en) 1989-06-14
DE3689808T2 (de) 1994-12-08
EP0206345A2 (en) 1986-12-30
AU583108B2 (en) 1989-04-20

Similar Documents

Publication Publication Date Title
US5101478A (en) I/O structure for information processing system
EP0194462B1 (en) System bus means for inter-processor communication
US5918028A (en) Apparatus and method for smart host bus adapter for personal computer cards
US4860244A (en) Buffer system for input/output portion of digital data processing system
US5001624A (en) Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
JP3204961B2 (ja) I/oバス対システムバス・インタフェース
US5469542A (en) Serial diagnostic interface bus for multiprocessor systems
EP0752667B1 (en) Method and apparatus for hybrid packet-switched and circuit-switched flow control in a computer system
US5093910A (en) Serial data transmission between redundant channels
US4485438A (en) High transfer rate between multi-processor units
JPH0435782B2 (ja)
JPH0666821B2 (ja) デ−タ通信コントロ−ラ
EP0301610B1 (en) Data processing apparatus for connection to a common communication path in a data processing system
JPH10293744A (ja) Pciバス・システム
EP0438538B1 (en) Priority apparatus having programmable node dwell time
CA1311310C (en) Peripheral controller and adapter interface
US6606677B1 (en) High speed interrupt controller
JPH0997184A (ja) 効率的な割込み処理を含む情報処理システム
JP2509569B2 (ja) 情報処理システム用i/o構造
US5590372A (en) VME bus transferring system broadcasting modifiers to multiple devices and the multiple devices simultaneously receiving data synchronously to the modifiers without acknowledging the modifiers
EP0546354B1 (en) Interprocessor communication system and method for multiprocessor circuitry
CA1114517A (en) Data processing system with read operation splitting
US6654845B1 (en) System and method implementing a secondary bus to avoid read data latency
EP0376003A2 (en) Multiprocessing system with interprocessor communications facility
JPS634219B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees