JPH09507939A - マルチプロセッサ・システムにおける入出力オペレーションの実行 - Google Patents

マルチプロセッサ・システムにおける入出力オペレーションの実行

Info

Publication number
JPH09507939A
JPH09507939A JP53141996A JP53141996A JPH09507939A JP H09507939 A JPH09507939 A JP H09507939A JP 53141996 A JP53141996 A JP 53141996A JP 53141996 A JP53141996 A JP 53141996A JP H09507939 A JPH09507939 A JP H09507939A
Authority
JP
Japan
Prior art keywords
bus
adapter
hierarchically configured
command
multiprocessor system
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
JP53141996A
Other languages
English (en)
Inventor
ヒルゲンドルフ、ロルフ
ゴールドリアン、ゴットフリード
フリッツ、ロルフ
ヨルグ ゲッツァラフ、クラウス
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH09507939A publication Critical patent/JPH09507939A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

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

Abstract

(57)【要約】 改良されたI/Oパフォーマンスを持ったマルチプロセッサ・システムを提供する。本発明はマルチプロセツサ・システムにおけるI/Oオペレーションに関する。これらのシステムは、階層的に構成されたI/Oバス構造を含み、I/Oバスのノードには、I/Oオペレーションをサポートするアダプタが設けられる。それらアダプタはI/Oオペレーションを受諾するかどうかを決定し、受諾の場合に、それらはI/Oバスを介してそのオペレーションを送ることを指示し、このノードとそのI/Oバス手段の前のノードとの間の線を一時的に切り離す。

Description

【発明の詳細な説明】 マルチプロセッサ・システムにおける入出力オペレーションの実行 技術分野 本発明は、階層的に構成された入出力(I/O)バスを有するマルチプロセッ サ・システムに関するものである。そのI/Oバスのノードには、I/Oオペレ ーションをサポートするアダプタが設けられる。更に、本発明は、マルチプロセ ッサ・システムにおいてI/Oオペレーションを遂行するための改良された方法 に関するものである。 背景技術 従来技術において知られたマルチプロセッサ・コンピュータでは、I/Oオペ レーションを開始し或いは遂行するためには、処理装置がI/Oアダプタとコミ ュニケートする。それらのシステムは、例えば、「センス/制御命令」に対する ものでもよい適当なI/O命令を与える。なお、制御命令は1ワードのデータを I/Oアダプタに転送し、センス命令はアダプタに1ワードのデータを処理装置 へ転送させる。 複数の処理装置が単一のシステム・バスによって主記憶装置及び複数のI/O チャネルに接続されるコンピュータ・システムでは、すべての処理装置は、それ らの1つがそのよう なセンス/制御オペレーションを遂行する場合、そのバスが転送オペレーション を実行するために数サイクルの間占有されるので、記憶装置又はI/Oのアクセ ス可能度を悪くしている。 従来技術の方法では、I/Oアダプタがセンス/制御オペレーションを終了し てしまうまで、システム・バスはビジー/占有済みを保持される。センスに対し ては、これは、リクエストされたデータが配送されるまでである。制御に対して は、これは、データがバス上に置かれた後の1サイクルから肯定応答信号が真に なるまでの範囲を占める。正確な時間はバス・プロトコル及びアダプタ設計に依 存する。 それらの既知の装置の更なる欠点は、それぞれが異なるタイミングを持ち得る 幾つかの階層的に構成されたバスより成るシステムでは、処理装置に最も近いバ スが占有される時間は格段に増加する。このために、それらのシステムは、処理 装置の数の増加に伴いパフォーマンスが直線的に増強されることにはなり得ず、 更に複雑なI/Oバス構造を利用することができない。 発明の開示 従って、本発明の目的は、I/Oパフォーマンスが改善されたマルチプロセッ サ・システムを提供すること、及び共通システム・バスのアクセス可能度を高め る階層的I/Oバス構造のI/Oアダプタと複数の処理装置とのコミュニケーシ ョンのための改良された方法を提供することにある。これにより、システム設計 に対して特に照準を合わせることがI/Oバスの占有を最小期間にすることであ る。 この問題は、請求の範囲の独立項に記載された特徴によって解決される。その 提案された解決法の利点は、本発明の好適な実施例が図面を参照してより詳細に 説明される以下の説明部分に関連して更に明らかになろう。 図面の簡単な説明 第1図は、階層的に構成されたI/Oシステム・バスより成る従来技術による マルチプロセッサ・コンピュータ・システムの概略的表示である。 第2図及び第3図は、階層的I/Oシステムにおける幾つかのレベルを通した 信号の伝搬を示すブロック図である。 第4図は、第1図に示された複雑なI/Oバス構造を処理するための本発明に よる改良された方法を説明するバス・プロトコルのためのタイミング図である。 発明を実施するための最良の形態 第1図は、複数の処理装置CPU1乃至CPUnより成る従来のマルチプロセ ッサ・コンピュータ・システムを示す。それらの処理装置は、幾つものメモリ・ バンクより成るメモリ装置MEMに接続される。それらの処理装置は、バス・ア ダプタ1及び単一のシステム・バス1を介して階層的I/O バス構造にも接続される。アダプタ1において、I/Oバスはツリー状のサブ・ バスに分かれる。それらのサブ・バスの各々は、複数の第2ステージ・アダプタ 2を介してターミナル・バス・パーティションI/Oアダプタに接続される。こ の構造は、複雑な階層的構造のI/Oバス・システムを、単なる例示として示し 、従って、図示の構造は、その図示の構造の底部において更なるサブ・バスの層 を加えることによって拡張可能である。 第2図及び第3図を参照すると、処理装置CPU1乃至CPUnの1つがバス 1を介してI/Oシステムにコマンドを配送し、今や、そのセンス・コマンドに 対する返答を待っているものと仮定する。この状況において、バス1はこの時点 ではリクエストした処理装置によって占有されるので、他の処理装置はすべて一 時的にバス1へのアクセスを持つことはできない。従って、バス1は、先ず、他 の処理装置がメイン.メモリMEMをアクセスすることを可能にするために自由 にされなければならない。更に、第2図に示されるように、センス/制御コマン ドが階層的I/Oシステムにおける幾つかのレベルを通して伝播する場合、宛先 のI/Oアダプタからの返答が受領されるまで、各レベルはブロックされる。 従来技術の方法によれば、この状況における可能な解決法は、センス・オペレ ーションが正常に開始し、そのコマンドがアダプタ1によって受諾された後にバ ス1をフリーにすることである。そこで、そのコマンドは、バス3を通してそれ の宛先ロケーション、例えば、I/Oアダプタの1つへ駆動される。しかし、返 答はアダプタ1にだけ戻り、そこに一時的に記憶される。従って、その結果を必 要とする処理装置は、その結果が既に到達しているかどうかを見つけるためにア ダプタ1を頻繁にポーリングしなければならず、そしてその場合に、最終的には 、それをアダプタ1における事前定義された記憶ロケーションからフェッチする 。従って、上記の方法は重い負荷をバス1に課する。 別の方法として、アダプタ1は割込信号を処理装置に送ってもよい。システム 設計次第で、1つ又はすべての処理装置がその割込に反応するであろう。すべて の処理装置が反応する場合、それらの各々は、それの現在のプログラムを停止し そして割込ハンドラにスイッチしなければならない。割込ハンドラは、それが知 っているすべての割込ソースをセンスしなければならず、そしてこの方法は、何 らかのアクションがそれに後続しなければならないかどうかを決定しなければな らない。遅かれ早かれ、その返答を待つている1つの処理装置を除くすべての処 理装置がそれらのプログラムを元に戻しそして継続するであろう。その待ってい る処理装置はそれのセンス/制御オペレーションを終了し、同様に継続すること も可能である。 1つの処理装置だけが反応するように選択される場合、それはそれの現在のオ ペレーションを停止し、割込に対するソースを見つけなければならない。そこで 、割込をした装置か ら集められたデータから、それは、どの処理装置がその割込を受けてそれを更に 処理しなければならないかを決定しなければならない。 その際、上記の方法は、同時にアクティブとなり得る最大数のセンス/制御命 令に対して十分な記憶ロケーションをアダプタ1が与えなければならないという 制限を有する。この結果、利用可能なロケーションがない場合、センス命令は拒 否機構により拒否可能である。 一般に、I/Oアダプタに対するセンス/制御命令は、2つのオペレーション 、即ち、処理装置からのセンス及び返答を転送するアダプタからの制御に分かれ る。本発明の提案によれば、「切離しセンス」と呼ばれるバス1に対する新しい オペレーションが定義される。 その提案された方法によって、センス/制御コマンドは、その階層的I/Oシ ステムにおいて幾つかのレベルを通して伝播する。その場合、各レベルは早期ス テータス信号(第3図)によって自由にされる。1つのオペレーションの第1サ イクル、即ち、それのコマンド・フェーズでは、I/Oアダプタの宛先アドレス 、オペレーション・コード、コマンドを発した処理装置のアドレス、及びオペレ ーションが「切離しセンス」として遂行する情報がアダプタ1に転送される。 第2サイクルでは、指定されたオペレーション・コードがI/Oアダプタに対 する制御オペレーションである場合、制御データ・ワードが転送される。第1サ イクルを受け取った 後、アタプタ1はそのコマンドを解釈し、そして第2サイクルを受け取った後、 それは早期ステータス信号をコマンドを発した処理装置に送る。この早期ステー タスは、受諾信号、エラー信号、又は拒否信号であろう。別の方法として、コマ ンドが受諾され、ともかく、アダプタ1に予備的に記憶される。現在アクセスを 試みられているI/Oアダプタと同じアダプタ2に接続されたI/Oアダプタの 1つに対する保留のセンス・オペレーションが既に存在する場合、拒否信号が送 られる。 早期ステータスを転送してしまうと、バス1は更なるオペレーションのために 切り離される。「切離しセンス」命令を発生した処理装置は、それがアダプタ1 からの制御コマンドを待つ静止状態になる。 アダプタ1は受け取ったコマンド及びデータを取り上げ、識別のための一連の 番号を加え、そして、例えば、バス2を使用して適当なアダプタ2へすべてを送 る。このパッケージを送った後、バス2は再び自由になる。これは、アダプタ2 からアダプタ1に早期ステータス信号を送ることによって達成される。 アダプタ2はそのコマンドを調べ、そのアドレスされたI/Oアダプタが接続 されている適当なバス、例えば、バス3にそれを転送する。このバスは、宛先の I/Oアダプタが返答を引き出せるまで占有されたままである。一方、アダプタ 2は、その受け取ったコマンドを、アダプタ1に返送される 制御コマンドに変換する。これによって、ソース処理装置のアドレスは、その制 御コマンドに対する宛先アドレスになるように変換される。 処理装置から制御コマンドが発せられた場合、宛先のI/Oアダプタの返答は 簡単なステータス情報である。センス・コマンドに対しては、それはリクエスト されたデータ・ワード又はエラー状態である。その受領された返答はアダプタ2 によって作成されたその制御コマンドに対するデータとみなされ、アダプタ1へ 送られる。 アダプタ1がその制御信号を正しく受領する場合、それはバス1をリクエスト し、その制御信号を待機処理装置に送る。アダプタ2とアダプタ1との間のデー タ転送は不良ステータス表示を持った制御信号を待機処理装置に送る。両方の場 合とも、アダプタ1は適当な「センス保留」ラッチをリセットし、新しいセンス ・コマンドを可能にする。 第4図には、本発明による改良された方法を説明するバス・プロトコルのタイ ミング図が示される。3つのバス層、即ち、バス1、バス2、及びバス3より成 る基礎的なI/Oバス構造に対して、それは前述の図を参照する。この実施例の 3つのバス層がそれぞれ異なるバス・サイクル・タイムより成ることは注目に値 する。しかし、本発明は、全面的に同期したバス・サイクルを与えるバス構造に も適用可能である。その図の例は、例示の「切離しセンス」オペレーションの場 合、時間に従ってこれらのバスにおける保留の信号を示す。 処理装置CPU1乃至CPUnの1つは、バス1を介して「切離しセンス」命 令を配送することによってI/Oオペレーションを開始するものと仮定する。こ の命令には切離しデータが後続する。その切離しデータは、例えば、宛先のI/ O装置からの着信データが記憶されるべきメモリ・ロケーシヨンを定義するメモ リ・アドレスを含むCPUレジスタの内容でもよい。アダプタ1はこのコマンド を取り上げて解釈し、早期ステータス・コマンドをコマンドを発した処理装置に 返送する。 アダプタ1が早期状態信号を転送し終えるとバス1は自由になり、更なるオペ レーション信号によって占有可能である。更に、「切離しセンス」命令を発生し た処理装置は、アダプタ1からの制御コマンドを待つ静止状態になる。バス2を 使用して、アダプタ1は、宛先のアダプタへの途中にある適当なアダプタにこの パッケージを送る。このパッケージを送った後、バス2も信号から自由になる。 バス3のプロトコルは2つの例示的ケースに対して説明される。第1の例では 、発行処理装置が制御コマンドを配送した。なお、データ・パッケージ、例えば 、順序付けられたI/Oオペレーション又はI/Oによってフェッチされたデー タが記憶される主記憶装置におけるアドレスが後続する制御コマンドCCはバス 3上にある。ここでは、宛先のI/Oアダプタは、ステータス信号、例えば、ア ダプタのエラー状態又は既にビジーの状態によるコマンドの受諾又は非受諾を配 送する。宛先のI/Oアダプタは、その宛先のI/Oアダプタの内部状態を記述 したデータを配送する。端末I/Oアダプタは、I/Oチャネルとコミュニケー トするSCSIコントローラ又はアダプタであってもよい。 処理装置そのものは「切離しセンス」オペレーションを処理するための論理的 回路を与える。コマンドを発した処理装置がコマンドの受諾による正しい早期ス テータス・ワードを受け取った時、CPU内部「切離しセンス」保留ラッチがセ ットされる。このセットされたラッチは、アドレスされたアダプタ1からこのC PUへの制御コマンドを受諾するようにCPUの専用L2キャッシュ・メモリに 指示する。これを通して、L2キャッシュ・メモリはデータをCPUのレジスタ 対に記憶し、「切離しセンス」保留ラッチをリセットする。 更に、CPUマイクロコードは「切離しセンス」保留ラッチをポーリングし、 そしてそのラッチがリセットされると直ちに、マイクロコードは、受け取ったデ ータ或いは不良ステータス信号をそれぞれ使用し続ける。マイクロコード・ポー リング・ループはタイム・アウト制御される。即ち、そのラッチが定義された時 間的期間内に落ちない場合、マイクロコード・ポーリングは停止し、この目的の ためだけの特別制御が、前述のように、アダプタ1における「切離しセンス」保 留ラッチをクリアするために発生される。 正規のオペレーションでは、アダプタ1がバス2におけるセンス/制御コマン ドを駆動する時、アダプタ1におけるセ ンス保留ラッチがセットされる。リセットの場合、シーケンス番号が返答として 戻り、センス保留ラッチがリセットされる。 問題のオペレーション状況では、処理装置からのセンスのようなものは宛先の アダプタによって応答されず、バス2が一時的にブロックされる。そこで、処理 装置は、宛先アダプタへのバス・パスにおけるアダプタの保留ラッチをすべてリ セットする。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フリッツ、ロルフ ドイツ国ヴァルデンバッハ、モーツアルト シュトラーセ 33 (72)発明者 ゲッツァラフ、クラウス ヨルグ ドイツ国シュナイッヒ、フリーゼンヴェッ ク 26

Claims (1)

  1. 【特許請求の範囲】 1.I/Oオペレーションをサポートする少なくとも2つの処理手段と、 前記処理手段によって処理される情報を記憶するためのメイン・メモリ手段と 、 前記処理手段と前記メモリ手段との間で情報を送るための共通のバス手段と、 前記共通のバス手段に接続され、I/O情報を送るための階層的に構成された I/Oバス手段と、 前記階層的に構成されたI/Oバス手段の線を介してI/O情報を送るための 前記I/Oバス手段のノードにおけるアダプタ手段にして、I/O命令を分析し 且つ応答を発生するための手段及び前記階層的に構成されたI/Oバス手段の次 に低いバス・レベル上へのI/O命令を駆動するための手段を有するものと、 を含むマルチプロセッサ・システム。 2.前記処理手段は、前記階層的に構成されたI/Oバス手段の次に高いバス・ レベルからI/Oオペレーションを切離すためのI/O命令を与えることを特徴 とする請求の範囲第1項に記載のマルチプロセッサ・システム。 3.前記処理手段は、切離しI/O命令が前記階層的に構成されたI/Oバス手 段に配送されることを表すためのラッチ手段を含むことを特徴とする請求の範囲 第2項に記載のマル チプロセッサ・システム。 4.前記アダプタ手段は、目標とするアダプタがビジーである場合、I/O命令 を拒否するための手段を与えることを特徴とする請求の範囲第1項乃至第3項の 1つに記載のマルチプロセッサ・システム。 5.駆動I/O命令から前記階層的に構成されたI/Oバス手段の次に低いバス ・レベルへの2フェーズ応答を待つための手段を具備したことを特徴とする請求 の範囲第1項乃至第4項の1つに記載のマルチプロセツサ・システム。 6.前記請求の範囲第1項乃至第5項の1つに記載のマルチプロセッサ・システ ムを含むコンピュータ・システム。 7.マルチプロセッサ・システムにおいてI/O命令を遂行するための方法にし て、前記システムは共通のバス手段によって相互接続された処理手段及びメイン ・メモリ手段を含み、前記共通のバス手段は階層的に構成されたI/Oバス手段 に接続され、I/Oオペレーションをサポートし且つ前記階層的に構成されたI /Oバス手段の線を介してI/O情報を送るアダプタ手段が前記階層的に構成さ れたI/Oバス手段のノードに設けられたシステムにおける方法において、 処理手段から配送されたI/O命令を分析するステップと、 前記命令に対する応答を発生するステップと、 前記階層的に構成されたI/Oバス手段の次に低いバス・レベル上に前記I/ O命令を駆動するステップと、 2フェーズの応答を待つステップと を含む方法。 8.前記処理手段は、前記階層的に構成されたI/Oバス手段の次に高いバス・ レベルからI/Oオペレーションを切離すためのI/O命令を与えることを特徴 とする請求の範囲第7項に記載の方法。 9.前記階層的に構成されたI/Oバス手段の各レベルは関連のアダプタ手段の 各々によって配送された早期ステータス信号によって自由にされることを特徴と する請求の範囲第8項に記載の方法。 10.前記階層的に構成されたI/Oバス手段は異なるバス・サイクル・タイム を含むことを特徴とする請求の範囲第7項乃至第9項に記載の方法。
JP53141996A 1995-04-18 1995-04-18 マルチプロセッサ・システムにおける入出力オペレーションの実行 Pending JPH09507939A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP1995/001454 WO1996033466A1 (en) 1995-04-18 1995-04-18 Performing input/output operations in a multiprocessor system

Publications (1)

Publication Number Publication Date
JPH09507939A true JPH09507939A (ja) 1997-08-12

Family

ID=8165995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53141996A Pending JPH09507939A (ja) 1995-04-18 1995-04-18 マルチプロセッサ・システムにおける入出力オペレーションの実行

Country Status (2)

Country Link
JP (1) JPH09507939A (ja)
WO (1) WO1996033466A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263362B2 (ja) * 1998-06-05 2002-03-04 三菱電機株式会社 データ処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4396984A (en) * 1981-03-06 1983-08-02 International Business Machines Corporation Peripheral systems employing multipathing, path and access grouping
US5269011A (en) * 1990-09-24 1993-12-07 Emc Corporation Dynamically reconfigurable data storage system with storage system controllers selectively operable as channel adapters on storage device adapters

Also Published As

Publication number Publication date
WO1996033466A1 (en) 1996-10-24

Similar Documents

Publication Publication Date Title
AU598857B2 (en) Move-out queue buffer
EP0258736B1 (en) Parallel computer with distributed shared memories and distributed task activating circuits
US6772237B2 (en) Host controller interface descriptor fetching unit
CA1224572A (en) Fast path means for storage accesses
JP3218773B2 (ja) キャッシュ・コントローラ
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
US5664200A (en) Apparatus and method for providing more effective reiterations of interrupt requests in a multiprocessor system
US5269005A (en) Method and apparatus for transferring data within a computer system
JPS6327738B2 (ja)
JPH07311751A (ja) 共用メモリを有するマルチプロセッサ・システム
US6247101B1 (en) Tagged access synchronous bus architecture
US6061757A (en) Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts
JPH06131244A (ja) 共有メモリの非同期アクセス方式
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US6282144B1 (en) Multi-ported memory with asynchronous and synchronous protocol
US6327636B1 (en) Ordering for pipelined read transfers
JPH09507939A (ja) マルチプロセッサ・システムにおける入出力オペレーションの実行
US5943509A (en) Small size inter-processor data transfer system
JPH0581178A (ja) パイプラインバス
US5671370A (en) Alternating data valid control signals for high performance data transfer
US6240474B1 (en) Pipelined read transfers
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JPH056333A (ja) マルチプロセサシステム
JPS6126104B2 (ja)