JP3208397B2 - 制御要素転送システム - Google Patents

制御要素転送システム

Info

Publication number
JP3208397B2
JP3208397B2 JP24898190A JP24898190A JP3208397B2 JP 3208397 B2 JP3208397 B2 JP 3208397B2 JP 24898190 A JP24898190 A JP 24898190A JP 24898190 A JP24898190 A JP 24898190A JP 3208397 B2 JP3208397 B2 JP 3208397B2
Authority
JP
Japan
Prior art keywords
request
control element
transfer
server
response
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
JP24898190A
Other languages
English (en)
Other versions
JPH03130863A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03130863A publication Critical patent/JPH03130863A/ja
Application granted granted Critical
Publication of JP3208397B2 publication Critical patent/JP3208397B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/064Linked list, i.e. structure using pointers, e.g. allowing non-contiguous address segments in one logical buffer or dynamic buffer space allocation

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は計算システムのコマンド転送機構に関し、特
に、パーソナルコンピュータ・クラスの機械と複数の知
能サブシステムとの間で、コマンド、応答、および状況
情報を非同期的に転送する技術に関する。
B.従来の技術およびその課題 ホスト・システムおよび少なくとも1つのサブシステ
ムを含むデータ処理システムあるいは計算機システムに
おいては、直接コマンドおよび間接コマンドを通常はI/
Oチャネルを介して個々のサブシステムに送ることが要
求されている。
直接コマンドは、1回のオペレーションで直接サブシ
ステムに送ることができ、完全に自己充足型であって、
サブシステムで実行すべきオペレーションを完全に指定
する。これに対して間接コマンドは、オペレーションを
指定するのに、1つのチャネルI/Oサイクルで供給でき
るよりも多くのデータを必要とする。間接コマンドは、
システム・メモリにおいて、サブシステムで実行すべき
オペレーションを指定するのに必要なすべてのパラメー
タを含むブロックを指し示すポインタである。このメモ
リ・ブロックはしばしば「制御ブロック」と呼ばれる。
従来の代表的な計算機システムにおいては、制御ブロ
ックの転送に関するインタフェース・バス・オーバーヘ
ッドが、サブシステムおよびその各I/Oのスループット
を制限していた。この制限は、プロセッサおよびサブシ
ステムが、競合する他のサブシステムまたはプロセッサ
のタスクのために、バスでの同期接続を確立できないこ
とから生じている。プロセッサは、アダプタおよびI/O
からのサービスを得られないためにその性能を損なわ
れ、またアダプタおよびI/Oの場合は、プロセッサによ
るデータの送受信の速度がアダプタおよびI/Oのデータ
処理速度ほど速くないため、それらの性能が損なわれ
る。従って、プロセッサやアダプタがそれぞれの性能を
十分に発揮できない原因となっているインタフェース・
バスのボトルネックを解消する必要があった。
従って、本発明の目的は、プロセッサとそれに接続さ
れたサブシステムとの間における制御情報の転送方法を
改善することにある。
C.課題を解決するための手段 本発明によれば、上述の課題は、バス・インタフェー
スに分散パイプを生成することによって解決される。こ
のパイプは、FIFO循環待行列の形をとる分散共用メモリ
によって実現される。プロセッサおよびサブシステム
は、直接コマンドおよび間接コマンドについての制御ブ
ロック(説明の都合上、以下、制御要素という)を非同
期的にパイプにおく。各制御要素は、転送元および転送
先などの自己記述情報を含む固定フィールドを有する。
固定フィールドに続いて、データまたはパイプの外部に
あるバッファを指し示すポインタを含む可変フィールド
がある。このバッファは、データや実行されるべきコマ
ンド(間接コマンド)のリストを記憶することができ
る。固定フィールドは、プロセッサおよびサブシステム
が必要なときに制御要素の反復リストを同期的に実行で
きるようにする制御ビットも含む。パイプに対する制御
要素の非同期的な送受信は、プロセッサおよびサブシス
テムの自由な走行を可能にし、従って割込みの遅延が避
けられる。更に、様々なタイプのサブシステムが同じパ
イプを使用できるようにする制御要素構造により共通イ
ンタフェースが実現される。
本発明は、プロセッサおよびサブシステムがデータお
よび制御情報を非同期的に転送するのを可能にし、それ
により、プロセッサおよびサブシステムのパフォーマン
スを低下する割込み遅延を阻止する。更に、プロセッサ
の介入なしに、データおよび制御情報をサブシステム間
で非同期的に転送することもできる。後で説明する実施
例では、システム・メモリおよび独立したバッファ・メ
モリを有するプロセッサ・ユニットと、メモリを有する
1以上のサブシステム・アダプタ・ユニットと、アダプ
タに接続可能なオプションのI/O装置と、マイクロチャ
ネルのようなバス・インタフェースとを含む。プロセッ
サおよびアダプタにあるメモリ、すなわちローカル・メ
モリは、分散FIFO循環待行列(パイプ)として構成さ
れ、それがプロセッサおよびアダプタにより共用される
ようになっている。本明細書では、そのようなメモリを
共用メモリと呼ぶことにする。要求、応答および状況情
報を表す制御要素をパイプに置くことにより、ユニット
間の非同期通信が行われる。ユニットは他のユニットか
ら独立して制御要素を送受信し、これにより、ユニット
間における制御情報およびデータの非同期的な転送を自
由に行うことができる。共用メモリを各ユニット対の間
のパイプ対として構成すると、全2重動作が可能にな
る。すなわち、一方のパイプを出力制御要素に使用し、
他方のパイプを入力制御要素に使用する。制御要素は、
標準固定ヘッダ・フィールドおよびそれに続く可変フィ
ールドを有する。固定ヘッダは、異なったハードウェア
・アダプタが共通のインタフェース・プロトコルを使用
できるようにする。パイプおよび共通インタフェース・
プロトコルの組み合わせは、多くの異なったタイプのハ
ードウェア・アダプタによる非同期通信を可能にし、割
込みのオーバーヘッドが低くなるので、全体的なスルー
プットが向上する。
本発明の重要な特徴は、共用メモリに制御情報を保持
することにある。このような共用メモリは、物理的にプ
ロセッサとサブシステムとの間に分散されており、以
下、分散パイプまたは単にパイプとも呼ぶ。プロセッサ
またはサブシステム・アダプタのような、システムのユ
ニットは、後で他のユニットが検索するのに備えて、自
己記述制御要素を分散パイプに送ることができる。制御
要素は、コマンド、データ、またはパイプの外部にある
バッファに記憶されているデータのアドレスを含む。制
御要素を受け取る予定のユニットは、受け取りが可能に
なると直ちにパイプからそれを検索するが、送信ユニッ
トは受信ユニットが活動するのを待つ必要はない。従っ
て、送信ユニットは制御要素を分散パイプに置いた後、
他のユニットからの応答を待つことなく別の作業に進む
ことができる。
D.実施例 第1図は、送信ユニット、受信ユニットおよびパイプ
を1つずつ備えた簡単な例を示している。送信ユニット
102は、アプリケーション・プログラム等の単一のクラ
イアント・エンティティを有し、受信ユニット108は、
サブシステムに接続されたI/O装置等の単一のサーバ・
エンティティを有する。実際には、送信ユニットおよび
受信ユニットだけでなく、パイプ、クライアントおよび
サーバも複数設けられることになろう。第1図が示して
いるのは、本発明におけるデータおよび制御情報の一般
的な流れである。送信ユニット102および受信ユニット1
08は、プロセッサ・ユニットとサブシステム・ユニッ
ト、あるいは2つのサブシステム・ユニットのようなユ
ニット対を構成している。送信ユニット102は、制御要
素104を共用メモリ(分散パイプ)106に置くことによっ
て、受信ユニット108がなんらかの作業を行うことを要
求する。制御要素104はコマンドおよび制御情報を含
む。送信ユニット102から受信ユニット108にデータを転
送するには2つの方法がある。第1の方法は、制御要素
104の可変長フィールド内でデータを直接転送する。デ
ータを含む制御要素104の詳細については後で説明す
る。第2の方法は、送信ユニット102がデータをバッフ
ァ110に置くものである。送信ユニット102は、制御要素
104を分散パイプ106に送る前に、バッファ110に含まれ
るデータのアドレスおよび長さを制御要素104に置く。
バッファやパイプとの間のデータの実際の転送は、DMA
などの通常の方法で実行することができる。分散パイプ
106の大きさは限られており、多くのアプリケーション
で行われているような大量のデータ転送があるとすぐに
一杯になるので、一般には、外部バッファ110を用いて
データ転送を行うのが好ましい。このとき、送信ユニッ
ト102は受信ユニット108が応答するのを待つ必要はな
く、別のタスクに進むことができる。例えば、送信ユニ
ット102は、他の作業要求を制御要素104の形で分散パイ
プ106に置くことができる。
受信ユニット108はパイプ106から制御要素104を取り
出し、その中に含まれる作業要求を実行し、送信ユニッ
ト102に応答する。制御要素104がバッファ110のあるデ
ータをアドレス指定していると、受信ユニット108はそ
のデータの読取または書込みを実行する。作業要求が完
了すると、受信ユニット108は、制御要素116をパイプ11
2に置くことによって送信ユニット102に応答する。制御
要素104および116は、パイプ106および112と同じく、機
能的には同一であるが、パイプは物理的にはシステムの
異なったユニットにあるため、それらは別のものとして
識別される。更に、良好な実施例においては、制御要素
の送受信に使用されるパイプは論理的には別のものであ
る。送信ユニット102の場合と同じく、受信ユニット108
は送信ユニット102からの応答を待つことなく、直ちに
他の作業(パイプ106からの制御要素104の取り出しな
ど)に進むことができる。
送信ユニット102は、自身の要求への応答を含む制御
要素116をパイプ112から取り出すと、その応答に応じた
適切な行動を取ることができる。
上述の論理ステップは転送支援機構118(送信機構お
よび受信機構を含む)およびバス114によって支援され
る。本実施例における転送支援機構は当該分野でよく知
られている状態論理である。制御情報およびデータは、
送信ユニット102と受信ユニット108の間で、バス114を
使って、バッファ110およびパイプ106、112を介して物
理的に移動される。更に、転送支援機構118は、制御要
素をパイプ106、112のFIFO待ち行列に置くのを制御する
ためのエンキュー/デキュー論理(図示せず)を含む。
第2図、第3図および第4図は、シグナリング、状態
論理および割込み処理のために本発明で使用する基本機
構を示している。第2図に示した制御要素の基本フロー
は、送信インタフェース202およびエンキュー論理204を
用いて制御要素をパイプ220に置き、そしてデキュー論
理206および受信インタフェース論理208を用いて制御要
素をパイプ220から取り出す。エンキュー論理およびデ
キュー論理は第3図に示した状態情報を使用する。パイ
プにおける何らかの状態変化(例えば、パイプの空きス
ペースが新たな制御要素を保持するには不十分になった
こと、パイプが空になったことなど)を認識して他方の
側に知らせる、すなわちシグナリングするための論理21
0、214もある。このシグナリングは、状態変化代理状態
情報を代理エンキュー論理212、216へプッシュし、次に
理由コードを当該ユニットに対する理由領域(第4図)
へプッシュすることにより行われる。代理情報および理
由情報が一旦プッシュされると、ハードウェア・レベル
の要素が割込みを起こす(第4図参照)。ハードウェア
要素は割込み制御装置ハードウェアの場合もあり、また
ハードウェア割込みを起こしたI/Oポートまたは写像メ
モリ位置への書込みによって行われる場合もある。な
お、第3図に示したラップ要素については後で説明す
る。
第5図は、実際の使用という面で、第1図よりももう
少し具体的に本発明を示している。しかし第1図と同様
に、エンティティの実際の数は、特定のシステム・コン
ポーネントのハードウェア容量に応じて決まり、図示の
ものに限定されることはない。第5図に示したプロセッ
サ・ユニット502は複数のクライアント・エンティティ5
04、506、508、510を含んでいる。各エンティティは、
サブシステム・ユニットとの会話を必要とするプログラ
ムその他のシステム・タスクであってもよい。第5図で
は、サブシステムはアダプタ・カード512、514として表
わされている。各アダプタは複数のサーバ・エンティテ
ィ516、518、520、522、524、526を持っている。これら
のサーバ・エンティティは、通信ライン、プリンタ、タ
ーミナルなどのI/O装置であってもよい。第5図は、共
用メモリ534内での複数の分散パイプ528、530、532の使
用も示している。図示のように、ユニット対のためのパ
イプは、プロセッサ/サブシステム・ユニット対502/51
2および502/514、またはサブシステム/サブシステム・
ユニット対512/514によって使用できる。第1図のとこ
ろで述べたように、各パイプはバス114を介して制御要
素536を移動させる。
第6図は循環パイプとシステムの間の関係を示してい
る。1対の循環パイプ602、604は制御要素を互いに反対
の方向に転送する。それぞれの基本動作は同じである。
状態情報606、608、610、612、614、616、618、620は制
御要素のエンキューおよびデキューに必要である。これ
らの状態情報は2つのユニット622、624の間に分散され
ている。転送支援部626、628、630、632は複数のエンテ
ィティ対634、636、638、640、642、644、646、648の間
で共用される。これらの転送支援部はマイクロチャネル
650を介して互いに通信する。
第7図は制御要素のフィールドの配置を示している。
次に、本発明がどのように制御要素を使用するかについ
て一般的な説明を行う。
作業オーダ: 要求およびそれに対する応答は、SCBアーキテクチャ
の転送サービスを用いて、システム・ユニットまたはア
ダプタのクライアント(エンティティ)と、アダプタ又
はシステム・ユニットのサーバ(エンティティ)との間
で交換される。これらの要求及び対応する応答を作業オ
ーダと呼ぶ。各作業オーダは、要求されている作業単位
を記述するのに用いる1つの制御要素と、要求された作
業単位の完了または現状態を示すのに用いる1以上の制
御要素とから成っている。作業単位の処理状態における
エラー条件または変更はそれぞれエラー制御要素および
事象制御要素で報告される。この定義を用いると、下記
のそれぞれは有効作業オーダである。
・応答要素のない単一要求要素 ・単一要求要素および単一応答要素 ・単一要求要素および複数の応答要素 ・単一要求要素およびエラー要素 ・単一要求要素および事象要素 ・単一要求要素ならびに事象要素およびエラー要素 ・単一要求要素ならびに事象要素、応答要素およびエラ
ー要素 要求要素が連鎖されている場合、その各要求要素は単
一作業オーダの一部として扱われる。
要素: 要素(より正確には制御要素)は、クライアントとサ
ーバの間で制御情報および場合によってはデータを交換
するのに用いられる。それらは窓付き封筒のようなもの
で、転送サービスは、窓内の情報だけを用いて制御要素
を転送することができ、それ以外の情報については知る
必要はない。一般に、制御要素は次のフィールドを含ん
でいる。
・16ビットのタイプ・フィールド ・16ビットの長さフィールド ・16ビットの転送元フィールド ・16ビットの転送先フィールド ・32ビットの相関フィールド ・可変長の値フィールド 固定長の5つのフィールドは転送サービスならびにク
ライアントおよびサーバによって使用される。これらは
封筒の窓から見える情報に相当する。残りのフィール
ド、即ち値フィールドは封筒の中味を含み、その情報は
クライアントおよびサーバにとってのみ意味がある。
次に、上述の各フィールドのフォーマットおよび内容
について詳しく説明する。
タイプ・フィールド タイプ・フィールドは、要素を識別し且つ要素内の残
りのフィールドをどのように解釈するかを示すのに用い
られる16ビット・ワードであって、次のようなサブ要素
から成っている。
EID(要素識別子)−要素のタイプを識別する2ビット
のサブフィールド。要素のタイプには次の4種類があ
る。
1−要求(00)−クライアントからサーバに送られ、ク
ライアントのためにサーバで作業単位を実行するよう要
求する要素。クライアントとサーバの間でデータおよび
制御情報を転送する必要がある。
2−応答(01)−何らかの要求要素に応答してサーバが
送る要素。すべての要求要素に対して応答があるわけで
はなく、情報を要求した要求要素だけが応答をもらう。
3−事象(10)−要求の経過、前の要求の副次効果、ま
たはエンティティの状況に関する情報を含む要素。サー
バおよびクライアントのいずれも送れる。
4−エラー(11)−前の要求、またはサーバもしくは転
送サービスの状態に関するエラー情報を提供する要素。
S(応答抑止フラグ)−当該要求要素の処理が首尾よく
完了したときに、クライアントがサーバからの応答要素
の返信を望んでいるかどうかを示す。1にセットされて
いると、応答は抑止され、応答要素は返されない。0に
セットされていると、応答が返されるかどうかはエンテ
ィティ間のプロトコルによって決まる。
C(連鎖フラグ)−コマンド連鎖があるかどうかを示
す。連鎖があると、連鎖中のすべての要素は、その出現
順に処理される単一の作業要素を表わす。2ビットの連
鎖フラグは次のように解釈される。
00−連鎖なし。
01−コマンド連鎖の開始(第1要素)を示す。
11−連鎖中の要素(中間要素)を示す。
10−連鎖の終り(最終要素)を示す。
I(間接フラグ)−当該要素の値フィールドが、指定さ
れた機能のためのパラメータを含むのか、または実際の
パラメータを記憶しているデータ域の長さおよびそれを
指し示すポインタだけを含むのかを示す。1にセットさ
れていると、値フィールドはデータ域へのポインタを含
む。
N(通知フラグ)−クライアントがサーバによる当該要
素の処理開始の通知を望んでいるかどうかを示す。1に
セットされていると、通知事象要素を用いてクライアン
トに通知されることになる。
W(待機フラグ)−クライアントが、後で再開事象要素
を出すまで、当該要求要素または同じクライアントから
の他の要求要素の処理を待つようにサーバに要求してい
るかどうかを示す。1にセットされていると、処理を待
つことになる。
E(早急フラグ)−サーバが当該制御要素をできるだけ
早く、すなわち他のどの制御要素よりも前に処理するこ
とをクライアントが望んでいることを示す。1にセット
されていると、制御要素の処理が早められることにな
る。
FC(機能コード)−遂行すべき機能を識別し、値フィー
ルドの内容をどのように解釈するかを示す7ビットのサ
ブフィールド。
長さフィールド: 長さフィールドは、要素の全長をバイト数で示す16ビ
ット・ワードである。タイプ・フィールド(2バイ
ト)、長さフィールド(2バイト)、転送元フィールド
(2バイト)、転送先フィールド(2バイト)、および
相関フィールド(4バイト)の合計は12バイトであり、
これに値フィールドのバイト数を加えた値が長さフィー
ルドに含まれる。
転送元フィールド: 転送元フィールドは要素の発信源を示す16ビット・ワ
ードである。これはユニット識別子及びエンティティ識
別子を含む構造化フィールドである。マイクロチャネル
の場合、ユニットIDは0から15までのバス・ユニットを
識別し、エンティティIDは256の可能な転送元のうちの
1つを識別する。ゼロ(0)のエンティティIDは管理の
ために予約されている。これらのIDは、バス・ユニット
と、該バス・ユニット内で要素を発信すべきエンティテ
ィとを明確に識別するのに十分な情報を与える。
転送先フィールド: 転送先フィールドは要素の宛先を識別するのに用いる
16ビット・ワードであり、転送元フィールドと同様に、
ユニット識別子及びエンティティ識別子を含む構造化フ
ィールドである。マイクロチャネルの場合、ユニットID
は0から15までのバス・ユニットを識別し、エンティテ
ィIDは256の可能な転送先のうちの1つを識別する。ゼ
ロ(0)のエンティティIDは管理のために予約されてい
る。これらのIDは、バス・ユニットと、該バス・ユニッ
ト内で要素を受け取るエンティティとを明確に識別する
のに十分な情報を与える。
相関フィールド: 相関フィールドは、応答を前の要求と関連付けるため
の識別子を提供する32ビット・ダブルワードである。相
関識別子のフォーマットおよび内容は要求元のエンティ
ティによって決められ、例えば、シーケンス番号、制御
ブロックあるいは要素パケットのアドレス、データ・バ
ッファのアドレスなどが含まれる。相関識別子は、応答
要素、エラー要素または事象要素で要求元に返される。
値フィールド: 値フィールドは、タイプ・フィールド中の機能コード
によって指定されたオペレーションに必要な付加的な引
数、パラメータまたはデータを保持する可変長フィール
ドである。その情報のタイプ、長さおよびフォーマット
は指定された機能に応じて変わる。
機能コード: 機能コードは実行すべきオペレーションを識別すると
ともに、値フィールドの内容をどのように解釈すべきか
を示す。機能コードの上位ビット(ビット6)は、共通
使用機能コードとインプリメンテーションで定義される
機能コードを区別するのに用いる。ビット6が1にセッ
トされていると、残りのビット(ビット0〜5)は非体
系化機能コードを表わす。ビット6が0にセットされて
いると、残りのビットは下記の共通使用機能コードのう
ちの1つを表わす。
・即時SCBコマンド(FC=1) ・初期設定(FC=2) ・基本SCBコマンド(FC=3) ・読取(FC=4) ・リスト読取(FC=5) ・即時読取(FC=6) ・書込み(FC=7) ・リスト書込み(FC=8) ・即時書込み(FC=9) ・リスト実行(FC=10) ・マーク(FC=11) ・取消し(FC=12) ・リセット(FC=13) ・構成読取(FC=14) ・診断(FC=15) ・延期(FC=16) ・再開(FC=17) ・通知(FC=18) ・報告(FC=19) ・ラップ(FC=31) 機能コード0、20〜30、および32〜63は予約されてお
り、もし制御要素で見つかると、エラー条件として扱わ
れる。
延期、再開、通知、報告及びラップのコードは事象要
素と共にのみ用いられる。そのほかの機能コードは要求
要素、応答要素及びエラー要素と共に用いられる。
次に、拡張SCBアーキテクチャ支援の様々な要素タイ
プにおける上述の機能のフォーマット、内容および使用
の詳細について説明する。
即時SCB: 即時SCB要素は特定の形のアダプタ移送のためのパス
を提供する。これは既存のSCBと共に転送サービスを使
えるようにする。この要素のフォーマットおよび内容を
第8図に示す。
初期設定: 初期設定機能は要求要素、応答要素およびエラー要素
に見られる。要求要素の場合、サーバの初期設定機能が
呼び出される。転送元、転送先、相関識別子、及びサー
バ初期設定機能に必要な付加的なパラメータを含む値フ
ィールドが要求要素でサーバに送られる。要求要素の値
フィールドに含まれる初期設定パラメータはサーバに依
存しており、従ってサーバ毎に定義する必要がある。
初期設定要求要素のタイプ・フィールドで間接フラグ
がセットされていると、値フィールドは実際の初期設定
パラメータの代りに、それを記憶しているデータ域の記
憶位置および長さを含む。
サーバは、応答要素を要求元に返すことにより、初期
設定要求が首尾よく完了したことを知らせる。その応答
要素の値フィールドには、転送元、転送先、初期設定要
求要素からの相関識別子および任意の返信値が含まれ
る。返信パラメータはサーバに依存しており、サーバ毎
に定義する必要がある。
クライアントは、応答要素の返信を抑止したい場合
は、初期設定要求要素のタイプ・フィールドで抑止フラ
グをセットしておけばよい。
初期設定がうまくいかなかった場合は、転送元、転送
先、初期設定要求要素からの相関識別子、及び失敗の原
因を示す状況情報がエラー要素の値フィールドで返され
る。
基本SCB: 基本SCB要素は特定の形のアダプタ移送のためのパス
を提供する。これは既存のSCBと共に転送サービスを使
えるようにする。そのフォーマットおよび内容を第9図
に示す。
読取: 読取機能は要求要素、応答要素およびエラー要素に見
られる。要求要素の場合、読取機能はサーバからクライ
アントへのデータおよび制御情報の転送開始をセットア
ップする。転送元、転送先、相関識別子、及びサーバ読
取機能に必要なパラメータを含む値フィールドが要求要
素でサーバに送られる。値フィールドに含まれるパラメ
ータは上述のものに限らない。それぞれのクライアント
/サーバ関係の要求を満たす付加的なパラメータも送る
ことができる。
読取要求要素のタイプ・フィールドで間接フラグがセ
ットされていると、値フィールドは、バイト・カウン
ト、データ・アドレスおよび任意選択パラメータの代り
に、それらを記憶しているデータ域の記憶位置および長
さを含む。サーバは、転送を首尾よく完了すると、転送
元、転送先、読取要求要素からの相関識別子、及び実際
に転送したバイト数を応答要素の値フィールドで返す。
クライアントは、応答要素の返信を抑止したい場合に
は、読取要求要素のタイプ・フィールドで抑止フラグを
セットしておけばよい。
転送に失敗すると、転送元、転送先、読取要求要素か
らの相関識別子、および失敗の原因を示す状況情報を値
フィールドに含むエラー要素が要求元に返される。
リスト読取: リスト読取機能は要求要素、応答要素およびエラー要
素に見られる。これは、サーバからメモリの複数の領域
(連続していなくてもよい)へのデータおよび制御情報
の転送開始をセットアップする。この転送はしばしばデ
ータ連鎖と呼ばれる。転送元、転送先、相関識別子、お
よびリスト読取機能に必要なバイト・カウント/データ
・アドレス対のリストを含む値フィールドが要求要素で
サーバに送られる。リスト読取要求要素のタイプ・フィ
ールドで間接フラグがセットされていると、値フィール
ドは上述のリストの代りに、それを記憶している領域の
記憶位置および長さを含む。
サーバは、転送を首尾よく完了すると、転送元、転送
先、リスト読取要求要素からの相関識別子、および残余
バイト・カウントを値フィールドに含応答要素を返す。
この応答要素のフォーマットおよび内容は読取応答と同
じである。
クライアントは、応答要素の返信を抑止したければ、
リスト読取要求要素のタイプ・フィールドで抑止フラグ
をセットしておけばよい。
転送に失敗すると、転送元、転送先、リスト読取要求
要素からの相関識別子、および失敗の原因を示す状況情
報を値フィールドに含むエラー要素が要求元に返され
る。このエラー要素のフォーマットおよび内容は読取エ
ラーと同じである。
即時読取: 即時読取機能は、要求要素、応答要素およびエラー要
素に見られる。これは、サーバからクライアントへのデ
ータまたは制御情報の転送を要求する。読取要求と異な
っている点は、データが応答要素の値フィールドで返さ
れ、クライアントに対して直ちに使用可能になるという
ことである。転送元、転送先、相関識別子、および即時
読取で必要なパラメータを含む値フィールドが要求要素
でサーバに送られる。
即時読取要求要素を用いて返すことができるデータの
量は構成によって異なる。すなわち、それは転送待ち行
列の大きさに直接関係する。従って、この要求要素を用
いる場合は注意が必要である。サーバは、読取を首尾よ
く完了すると、転送元、転送先、即時読取要求要素から
の相関識別子、ならびに値フィールドに転送する実際の
バイト数およびデータ自身を含む応答要素を返す。
即時読取においては、常に応答要素が返されるので、
たとえ即時読取要求要素のタイプ・フィールドで抑止フ
ラグがセットされていても、それは無視される。
転送に失敗すると、転送元、転送先、即時読取要求要
素からの相関識別子、および失敗の原因を示す状況情報
を値フィールドに含むエラー要素が要求元に返される。
書込み: 書込み機能は、要求要素、応答要素およびエラー要素
に見られる。これは、クライアントからサーバへのデー
タおよび制御情報の転送をセットアップし、開始する。
転送元、転送先、相関識別子、および書込み機能により
転送されるデータの量および記憶位置を含む値フィール
ドが要求要素でサーバに送られる。
要求要素の値フィールドに含まれるパラメータは上述
ものに限らない。それぞれのクライアント/サーバ関係
の要求を満たす付加的なパラメータも送ることができ
る。
書込み要求要素のタイプ・フィールドで間接フラグが
セットされていると、値フィールドは、バイト・カウン
ト、データ・アドレスおよび任意選択パラメータの代わ
りに、それらを記憶しているデータ域の記憶位置および
長さを含む。
サーバは、転送を首尾よく完了すると、転送元、転送
先、書込み要求要素からの相関識別子、および転送した
実際のバイト数を含む応答要素を返す。
クライアントは、応答要素の返信を抑止したければ、
書込み要求要素のタイプ・フィールドで抑止フラグをセ
ットしておけばよい。
転送に失敗すると、転送元、転送先、書込み要求要素
からの相関識別子、および失敗の原因を示す状況情報を
値フィールドに含むエラー要素が要求元に返される。
リスト書込み: リスト書込み機能は、要求要素、応答要素およびエラ
ー要素に見られる。これは、メモリの複数の領域(不連
続でもよい)からサーバへのデータおよび制御情報の転
送をセットアップし、開始する。この転送はしばしばデ
ータ連鎖と呼ばれる。転送元、転送先、相関識別子、お
よびリスト書込み機能で必要なバイト・カウント/デー
タ・アドレス対のリストを含む値フィールドが要求要素
でサーバに送られる。
リスト書込み要求要素のタイプ・フィールドで間接フ
ラグがセットされていると、値フィールドは、バイト・
カウントおよびデータ・アドレスの代わりに、実際のリ
ストを記憶している領域の記憶位置および長さを含む。
サーバは、転送を首尾よく完了すると、転送元、転送
先、リスト書込み要求要素からの相関識別子、および残
余バイト・カウントを含む応答要素を返す。この応答要
素のフォーマットおよび内容は書込み応答と同じであ
る。
クライアントは、応答要素の返信を抑止したければ、
リスト書込み要求要素のタイプ・フィールドで抑止フラ
グをセットしておけばよい。
転送に失敗すると、転送元、転送先、リスト書込み要
求要素からの相関識別子、および失敗の原因を示す状況
情報を値フィールドに含むエラー要素が要求元に返され
る。このエラー要素のフォーマットおよび内容は書込み
エラーと同じである。
即時書込み: 即時書込み機能は、要求要素、応答要素およびエラー
要素に見られる。これは、クライアントからサーバにデ
ータまたは制御情報を転送するのに用いる。書込み要求
と異なっている点は、データが要求要素の値フィールド
にあって、直ちにサーバで使用可能になるということで
ある。転送元、転送先、相関識別子、およびデータが要
求要素でサーバに送られる。
要求要素の値フィールドに含まれるデータのフォーマ
ットおよび意味はクライアント/サーバによって異なる
ため、ここでは定義しない。
即時書込み要求要素を用いて転送できるデータの量は
構成によって異なる。すなわち、それは転送待ち行列の
大きさに直接関係している。従って、この要求要素を用
いる場合は注意が必要である。サーバは、データを首尾
よく受け取ると、転送元、転送先、即時書込み要求要素
からの相関識別子、および受け取った実際のバイト数を
含む応答要素を返す。
クライアントは、応答要素の返信を抑止したければ、
即時書込み要求要素のタイプ・フィールドで抑止フラグ
をセットしておけばよい。
受け取りに失敗すると、転送元、転送先、即時書込み
要求要素からの相関識別子、および失敗の原因を示す状
況情報を値フィールドに含むエラー要求が要求元に返さ
れる。
リスト実行: リスト実行の例を第10図に示す。リスト実行機能は、
要求要素および応答要素のタイプ・フィールドに示され
る。これは、当該要素によって指し示される要求要素の
リストを1回以上実行するための繰り返しループをセッ
トアップする。転送元、転送先、相関識別子、ならびに
リスト実行機能で必要な記憶位置、長さおよびカウント
を含む値フィールドが要求要素でサーバに送られる。
実行すべき要求のリストは、メモリ中で連続していな
ければならない1以上の要求要素で構成できる。リスト
中の各要素は自身の長さフィールドを含んでおり、従っ
て、次の要素の開始位置を容易に決定できる。リスト・
サイズはどこでリストが終るかを示す。リストの繰り返
しの度に繰り返しカウントが1ずつ減分され、ゼロにな
っていなければ再びリストが実行される。初期繰り返し
カウントが負またはゼロであれば、要求は実行されるこ
となく終了する。
リストを構成する要求要素は、ここで述べたどのよう
な機能コードを含んでいてもよく、またそれらに関連す
るどのようなフラグも使用できる。
繰り返しカウントがゼロになると、リストは終了し、
サーバは転送元、転送先、およびリスト実行要求要素か
らの相関識別子を含む応答要素を返す。
クライアントは、応答要素の返信を抑止したければ、
リスト実行要求要素のタイプ・フィールドで抑止フラグ
をセットしておけばよい。
リスト内の要素の処理中にエラーが生じた場合は、リ
ストは終了する。しかし返されるエラー要素はエラーを
起こした要求要素のものである。
マーク: マーク機能は要求要素でのみ使用され、クライアント
とサーバの間の可能同期点をマークあるいは指示するた
めの手段を提供する。その働きは相関識別子をサーバに
送ることだけである。
この機能のパワーは、通知フラグおよび待機フラグを
利用して、サーバの現処理状況をクライアントに知らせ
る方法にある。
マーク機能は、マーク要求要素で間接フラグ、抑止フ
ラグおよび早急フラグがセットされていてもそれらを無
視する。
取消し: 取消し機能は、要求要素、応答要素およびエラー要素
で使用される。要求要素の場合、これは1以上の未了要
求要素の取消しを要求する。転送元、転送先、相関識別
子、ならびに取消し修飾語および任意選択の要求要素相
関識別子リストを含む値フィールドが要求要素でサーバ
に送られる。
取消し修飾語ビットは、どの要求要素を取り消すかを
決める。
・すべての未了要求−(ビット0=1) ・転送元IDに合う要求(ビット1=1) ・取消しリスト値に合う最初の要求(ビット2=1) ・取消しリスト値に合うすべての要求(ビット3=1) 取消し修飾語のビット2又は3が1にセットされてい
ると、取消しリストが存在する。ビット1がセットされ
る場合はビット2または3もセットされねばならない。
取消し要求要素のタイプ・フィールドで間接フラグが
セットされていると、値フィールドは取消しリストの代
りに、実際のリストを記憶しているデータ域の記憶位置
および長さを含む。
サーバは、取消し機能を首尾よく完了すると、応答要
素を要求元に返す。応答要素で返されるのは、転送元、
転送先、及び取消し要求要素からの相関識別子である。
サーバは、取消し要求の値フィールドに相関識別子が
あるすべての要求を取り消そうとする。もし何らかの理
由でそれができなければ、サーバは、状況および取消し
ができなかった相関識別子のリストを含むエラー要素を
返す。空のリストは取消しができなかったことを示す。
しかし、すべての未了要素の修飾語を持った取消し要
求は、取り消された要素のリストを持ったエラー要素を
返さない。
リセット: リセット機能は、要求要素、応答要素およびエラー要
素で使用される。要求要素の場合、これはサーバを既知
の状態におくことを要求する。転送元、転送先、相関識
別子、および所望の状態を含む値フィールドが要求要素
でサーバに送られる。サーバは、リセットを首尾よく完
了すると、転送元、転送先、及びリセット要求要素から
の相関識別子を含む応答要素を要求元に返す。
リセット機能は、リセット要求要素で抑止フラグおよ
び間接フラグがセットされていてもそれらを無視する。
リセットに失敗すると、転送元、転送先、リセット要
求要素からの相関識別子、および失敗の原因を示す状況
情報を値フィールドに含むエラー要素が要求元に返され
る。
構成読取: 構成読取機能は、要求要素、応答要素およびエラー要
素で使用される。要求要素で使用される場合、これはサ
ーバからクライアントに構成情報を返させる。転送元、
転送先、相関識別子、ならびにバイト・カウント、デー
タ・アドレスおよび任意選択の返信すべき構成情報を含
む値フィールドが要求要素でサーバに送られる。
要求要素の値フィールドに含まれるパラメータは上述
のものに限らない。それぞれのクライアント/サーバ関
係の要求を満たす付加的なパラメータも送ることができ
る。
構成読取要求要素のタイプ・フィールドで間接フラグ
がセットされていると、値フィールドは、任意選択パラ
メータの代りに、実際のパラメータを記憶しているデー
タ域の記憶位置および長さを含む。
サーバは、応答要素を要求元に返すことによって、構
成読取要求が首尾よく完了したことを報告する。転送
元、転送先、及び構成読取要求要素からの相関識別子が
応答要素の値フィールドで返される。
クライアントは、応答要素の返信を抑止したければ、
構成読取要求要素のタイプ・フィールドで抑止フラグを
セットしておけばよい。
サーバが構成情報を送り返すことができなければ、転
送元、転送先、構成読取要求要素からの相関識別子、及
び理由を値フィールドに含むエラー要素が要求元に返さ
れる。
診断: 診断機能は、要求要素、応答要素およびエラー要素で
使用される。要求要素の場合、これはサーバによる診断
ルーチンの実行を開始する。転送元、転送先、相関識別
子、ならびに実行すべき特定の診断テストおよび任意選
択パラメータを含む値フィールドが要求要素でサーバに
送られる。
診断要求要素のタイプ・フィールドで間接フラグがセ
ットされていると、値フィールドは、任意選択パラメー
タの代りに、実際のパラメータを記憶しているデータ域
の記憶位置および長さを含む。サーバは、応答要素を要
求元に返すことにより、診断テストの実行結果を報告す
る。転送元、転送先、診断要求要素からの相関識別子、
およびテスト結果を含む値フィールドが応答要素で返さ
れる。
クライアントは、応答要素の返信を抑止したければ、
診断要求要素のタイプ・フィールドで抑止フラグをセッ
トしておけばよい。
サーバが要求された診断テストを実行できなければ、
転送元、転送先、診断要求要素からの相関識別子、及び
理由を含む値フィールドがエラー要素で要求元に返され
る。
事象: 要求要素、応答要素およびエラー要素の他に、転送サ
ービスは、要求の経過、前の要求の副次効果、またはエ
ンティティの状態に関する情報を伝えるための要素、す
なわち事象要素も提供する。事象要素は、通信している
エンティティの1つ(クライアントまたはサーバ)にお
ける状態の変化を報告するという点で他の要素とは異な
っている。このような状態変化のインパクトを考える
と、それを相手のエンティティにできるだけ早く知らせ
なければならない。次に、事象要素のフォーマット、内
容および機能コードの使用について説明する。
延期: 延期事象は、サーバにおける処理状態の変化をクライ
アントに知らせるのに用いる。サーバは、タイプ・フィ
ールドの待機フラグが1にセットされた要求要素をクラ
イアントから受け取る度に状態を変える。サーバは、現
要求および指定された転送元からのそれに続くすべての
要求の処理を延期する。この状態変化は延期事象要素に
よってクライアントに伝えられる。転送元、転送先、お
よび延期を起こした要求要素の相関識別子を値フィール
ドに含む事象要素がクライアントに返される。
再開: 再開事象は、クライアントの処理状態における変化を
サーバに知らせるのに用いる。クライアントはこの事象
を用いて、自分が要求要素の処理を再開できる状態にな
ったことをサーバに知らせる。転送元、転送先、および
延期を起こした要求要素の相関識別子を値フィールドに
含む再開事象がサーバに返される。
延期状態を起こした転送元とは別のところから受け取
った再開事象や、延期状態にない転送先で受け取った再
開事象は無視される。
通知: 通知事象は、タイプ・フィールドの通知フラグが1に
セットされた要求要素をクライアントから受け取ったこ
とを確認するのに用いる。サーバはこれを通知事象要素
によってクライアントに伝える。転送元、転送先、およ
び通知フラグを含んでいた要求要素の相関識別子を値フ
ィールドに含む事象要素がクライアントに返される。
報告: 報告事象は、クライアントまたはサーバの処理状態に
関する情報を相手に伝えるための手段を提供する。
ラップ: ラップ事象は転送システムの内部で使用される管理制
御事象であり、入力または出力の転送パイプ(待ち行
列)に関連するオペレーションを同期するのに用いる。
ラップ事象要素は転送支援手段だけが送れる。ラップ
事象は、関連する転送待ち行列がラップ(循環)したた
め、そのトップから次の要素をデキューしなければなら
ないことを転送先の転送支援手段に知らせるもので、転
送待ち行列における空きスペースが新たな制御要素を保
持するには不十分なときに、そのスペースの終りにラッ
プ要素が置かれる。
コマンド連鎖 サーバによる要求要素の処理は、コマンド連鎖がある
かどうかに応じて、同期的又は非同期的に行われる。普
通は、サーバは自身にとって有意な任意の順序で(非同
期的に)要求を処理できる。しかし、サーバが要求を受
け取った順序で(同期的に)処理することをクライアン
トが望む場合もある。コマンド連鎖はこの目的で使用さ
れる。要求中でコマンド連鎖フラグがセットされている
と、サーバあるいは装置が現要求要素の処理を完了し
て、適当な応答をクライアントに返すまでは、連鎖中の
次の要素の処理を開始できないことを示す。連鎖は、要
素中で2ビットの連鎖フラグを特定の値、すなわちBC
(連鎖の開始)、MC(連鎖の中間)またはEC(連鎖の終
り)にセットすることにより示される。その例を第11図
に示す。要求の処理は、連鎖中の次の要求要素から再開
する。これは、連鎖中のすべての要素が処理されてしま
うか、またはエラー条件に出会うまで続けられる。エラ
ー条件に出会うとエラー要素が返され、連鎖内の残りの
要求要素は捨てられる。
データ連鎖 メモリの幾つかの連続していない領域からデータを集
めて、それらを単一の宛先に送ったり(書込み)、それ
と反対に、単一の転送元からのデータをメモリの幾つか
の連続していない領域に送ったりすること(読取)がし
ばしば必要となる。これは一般にデータ連鎖と呼ばれ
る。SCBアーキテクチャは2つのデータ連鎖、すなわち
直接データ連鎖および間接データ連鎖を支援する。
直接データ連鎖: 直接データ連鎖では、それぞれの不連続データ域が連
鎖リスト中のエントリによって記述される。このエント
リは、バイト・カウントおよびデータ域へのアドレス・
ポインタを含む。あるエントリによって記述されたデー
タ域の転送が終わると、リスト中の次のエントリが処理
される。これは、リスト中のすべてのエントリが処理さ
れてしまうか、またはデータが存在しなくなるまで続け
られる。直接データ連鎖は、リスト読取およびリスト書
込みの機能コードを用いることによって呼び出される。
直接データ連鎖のためのリスト読取要素のフォーマット
を第12図に示す。
間接データ連鎖: 間接データ連鎖は、連鎖リストの記憶位置を除くと、
直接データ連鎖と同様である。リストは要求要素の一部
ではなく、別に保持され、要求要素の値フィールドにあ
る間接リスト・ポインタによって参照される。間接デー
タ連鎖は、リスト読取またはリスト書込みの要求要素で
間接フラグをセットすることにより呼び出される。間接
データ連鎖のためのリスト読取要素のフォーマットを第
13図に示す。
通知および待機の使用 クライアントは、適当な要求要素のタイプ・フィール
ドで通知フラグをセットすることにより、要素が処理さ
れようとしていることの通知を要求することができる。
それによりサーバは、転送元、転送先、および通知フラ
グを含んでいた要素の相関識別子を値フィールドに含む
事象通知要素をクライアントに返す。
クライアントは、要求要素を転送サービスに送る前
に、そのタイプ・フィールドで待機フラグをセットする
ことにより、リスト中の特定の点において1組の要求要
素の処理を一時中止(延期)させることができる。それ
によりサーバは、要求要素のそれ以上の処理を中止し
て、延期フラグを含んでいた要素の相関識別子を値フィ
ールドに含む事象通知要素を返し、元のクライアントか
らの再開事象を待つ。待機フラグを含んでいた元の要求
要素は、この再開事象が受け取られるまでは処理されな
い。通知および待機の使用例を第14図に示す。
以上、本発明の良好な実施例について説明してきた
が、もちろん本発明は上述の実施例に限定されるもので
はない。例えば、これまでにも多くの待ち合わせ方式が
知られているが、少なくともその幾つかは、実施例で用
いたFIFO循環待ち行列の代りになり得る。また、制御要
素のフォーマットも必要に応じて変えることができるも
のである。
E.発明の効果 本発明によれば、計算機システムのエンティティ間
(例えばプロセッサとサブシステムの間)で相手の使用
可能性を考慮せずに制御情報およびデータを転送するこ
とができ、従って転送効率が改善される。
【図面の簡単な説明】
第1図は、単一送信ユニットおよび単一受信ユニットを
含む本発明の簡単な実施例を示すブロック図。 第2図は、シグナリング機構の概略を示すブロック図。 第3図は、第2図のシグナリング機構で用いる状態情報
を示すブロック図。 第4図は、割込み論理を示すブロック図。 第5図及び第6図は、複数のサブシステムおよびエンテ
ィティを用いた実施例を示すブロック図。 第7図は、制御要素のフォーマットを示す図。 第8図は、即時SCBコマンドのフォーマットを示す図。 第9図は、基本SCBのフォーマットを示す図。 第10図は、リスト実行の例を示す図。 第11図は、コマンド連鎖のために使用される制御要素を
示す図。 第12図は、リスト読み取り要求のフォーマットを示す
図。 第13図は、間接データ連鎖のために使用される制御要素
のフォーマットを示す図。 第14図は、通知および待機の使用例を示す図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジヨセフ・パトリツク・マクゴーヴアー ン アメリカ合衆国フロリダ州ボカ・ラト ン、ヴイラ・ノヴバ・ドライブ・ノース 7730番地 (72)発明者 ユージン・ミツチエル・トーマス アメリカ合衆国フロリダ州ボカ・ラト ン、サウス・ウエスト・サーテイーン ス・ドライブ1333番地 (56)参考文献 特開 昭63−73458(JP,A) 特開 昭58−97944(JP,A)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】計算機システムの異なったユニットに含ま
    れるエンティティ間で、要求、応答、または非同期通知
    を表わす制御要素を非同期的に転送するためのシステム
    であって、 プロセッサ・ユニットと、 I/O装置を接続できるアダプタ・ユニットと、 前記プロセッサ・ユニット及び前記アダプタ・ユニット
    を相互接続するインタフェース・バスと、 前記プロセッサ・ユニット及び前記アダプタ・ユニット
    にあるメモリを対として構成され、該メモリが前記プロ
    セッサ・ユニット及び前記アダプタ・ユニットによって
    共用される分散パイプと、 前記インタフェース・バスに接続され、前記分散パイプ
    から独立して、前記制御要素に関連するパラメータを記
    憶するためのバッファ手段とを具備し、 各ユニットが、少なくとも1つのエンティティと、前記
    制御要素を前記分散パイプへ非同期的にエンキューする
    送信手段と、前記制御要素を前記分散パイプから非同期
    的にデキューする受信手段とを含み、 前記制御要素は、前記要求、前記応答または前記非同期
    通知に関連するパラメータを内部に含むか、または前記
    バッファ手段を介して転送するのかを示すフラグを含
    み、 前記フラグが前記バッファ手段を介する転送を示してい
    ると、前記送信手段は前記バッファ手段における前記関
    連するパラメータのアドレスを含む制御要素を前記分散
    パイプへ非同期的にエンキューすると共に、前記関連す
    るパラメータを前記バッファ手段に書き込み、前記受信
    手段は前記分散パイプからデキューした制御要素中の前
    記アドレスを用いて前記関連するパラメータを前記バッ
    ファ手段から読み出す、 制御要素転送システム。
  2. 【請求項2】前記制御要素は固定部分および可変部分を
    含み、前記固定部分は、制御要素を識別し且つ制御要素
    内の残りのフィールドをどのように解釈するかを示すタ
    イプ・フィールドと、制御要素の転送先を示す長さを示
    す長さフィールドと、制御要素の転送元を示す転送元フ
    ィールドと、制御要素の転送先フィールドと、要求およ
    び応答を関連づける相関フィールドとを含み、前記フラ
    グは前記タイプ・フィールドに含まれる、請求項1に記
    載のシステム。
  3. 【請求項3】前記可変部分は、前記フラグの状態に応じ
    て、前記関連するパラメータまたは前記アドレスを含
    む、請求項2に記載のシステム。
JP24898190A 1989-09-22 1990-09-20 制御要素転送システム Expired - Fee Related JP3208397B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US411145 1982-08-25
US41114589A 1989-09-22 1989-09-22

Publications (2)

Publication Number Publication Date
JPH03130863A JPH03130863A (ja) 1991-06-04
JP3208397B2 true JP3208397B2 (ja) 2001-09-10

Family

ID=23627758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24898190A Expired - Fee Related JP3208397B2 (ja) 1989-09-22 1990-09-20 制御要素転送システム

Country Status (13)

Country Link
US (1) US5325492A (ja)
EP (1) EP0419066A2 (ja)
JP (1) JP3208397B2 (ja)
KR (1) KR950002391B1 (ja)
CN (1) CN1025518C (ja)
AU (1) AU630493B2 (ja)
BR (1) BR9004685A (ja)
CA (1) CA2025711C (ja)
GB (1) GB9012970D0 (ja)
MY (1) MY107143A (ja)
NZ (1) NZ235002A (ja)
PH (1) PH30203A (ja)
SG (1) SG44433A1 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491799A (en) * 1992-01-02 1996-02-13 Amdahl Corporation Communication interface for uniform communication among hardware and software units of a computer system
FR2696256B1 (fr) * 1992-09-30 1994-11-25 Bull Sa Utilisation de "tubes" pour le transfert d'états entre différents systèmes distants.
US5448708A (en) * 1992-10-30 1995-09-05 Ward; James P. System for asynchronously delivering enqueue and dequeue information in a pipe interface having distributed, shared memory
US5574862A (en) * 1993-04-14 1996-11-12 Radius Inc. Multiprocessing system with distributed input/output management
CA2125607A1 (en) * 1993-06-30 1994-12-31 David Thielen Method and system for buffering transient data
US5617570A (en) * 1993-11-03 1997-04-01 Wang Laboratories, Inc. Server for executing client operation calls, having a dispatcher, worker tasks, dispatcher shared memory area and worker control block with a task memory for each worker task and dispatcher/worker task semaphore communication
US5706432A (en) * 1993-11-04 1998-01-06 International Business Machines Corporation Mechanism for receiving messages at a coupling facility
US5787300A (en) * 1993-11-10 1998-07-28 Oracle Corporation Method and apparatus for interprocess communications in a database environment
US5606666A (en) * 1994-07-19 1997-02-25 International Business Machines Corporation Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US6163793A (en) * 1994-08-05 2000-12-19 Intel Corporation Method and apparatus for using a driver program executing on a host processor to control the execution of code on an auxiliary processor
US5764907A (en) * 1994-10-17 1998-06-09 Chrysler Corporation Computer to microcomputer interface
US5671441A (en) * 1994-11-29 1997-09-23 International Business Machines Corporation Method and apparatus for automatic generation of I/O configuration descriptions
JPH11506552A (ja) * 1995-01-23 1999-06-08 タンデム コンピューターズ インコーポレイテッド pipes及びfifosを用いてマルチプロセッサ・コンピュータ・システムのファイルをアクセスする方法
US5794069A (en) * 1995-12-13 1998-08-11 International Business Machines Corp. Information handling system using default status conditions for transfer of data blocks
US5802546A (en) * 1995-12-13 1998-09-01 International Business Machines Corp. Status handling for transfer of data blocks between a local side and a host side
US5857213A (en) * 1996-12-06 1999-01-05 International Business Machines Corporation Method for extraction of a variable length record from fixed length sectors on a disk drive and for reblocking remaining records in a disk track
US5860088A (en) * 1996-12-06 1999-01-12 International Business Machines Corporation Method for extraction of a variable length record from fixed length sectors on a disk drive
US6170045B1 (en) 1997-04-30 2001-01-02 International Business Machines Corporation Cross-system data piping using an external shared memory
US6092166A (en) * 1997-04-30 2000-07-18 International Business Machines Corporation Cross-system data piping method using an external shared memory
US6061771A (en) * 1997-04-30 2000-05-09 International Business Machines Corporation Cross-system data piping system using an external shared memory
US6389482B1 (en) * 1997-08-28 2002-05-14 International Business Machines Corp. Dynamic transitioning from a local pipe to a cross-system pipe
US6345312B1 (en) * 1997-08-28 2002-02-05 International Business Machines Corporation Selectively dummying a data pipe transparent to a writer application
US6088370A (en) 1997-09-22 2000-07-11 Intel Corporation Fast 16 bit, split transaction I/O bus
US7107371B1 (en) * 1997-09-22 2006-09-12 Intel Corporation Method and apparatus for providing and embedding control information in a bus system
US6108736A (en) * 1997-09-22 2000-08-22 Intel Corporation System and method of flow control for a high speed bus
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6804769B1 (en) 2000-02-18 2004-10-12 Hewlett-Packard Development Company, L.P. Unified buffer for tracking disparate long-latency operations in a microprocessor
WO2006129226A2 (en) * 2005-05-30 2006-12-07 Nxp B.V. Data pipeline management system and method for using the system
US20070168536A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation Network protocol stack isolation
US7613840B2 (en) * 2006-08-17 2009-11-03 General Electric Company Methods and apparatus for dynamic data acquisition configuration parameters
US10848811B2 (en) 2007-07-05 2020-11-24 Coherent Logix, Incorporated Control information for a wirelessly-transmitted data stream
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8312189B2 (en) * 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8214562B2 (en) * 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
EP2301222B1 (en) 2008-06-07 2012-01-18 Coherent Logix Incorporated Transmitting and receiving control information for use with multimedia streams
US20100070502A1 (en) * 2008-09-16 2010-03-18 Beckman Coulter, Inc. Collision Free Hash Table for Classifying Data
US8332542B2 (en) * 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) * 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) * 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8364853B2 (en) * 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
JP2015127898A (ja) 2013-12-27 2015-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
JP2015127899A (ja) * 2013-12-27 2015-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
JP2015127900A (ja) 2013-12-27 2015-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、サーバシステムおよび情報処理システム
CN108833578B (zh) * 2018-06-30 2021-07-23 武汉斗鱼网络科技有限公司 基于fifo命名管道进行双工通信的方法及相关设备
CN110691002B (zh) * 2018-07-05 2021-07-23 武汉斗鱼网络科技有限公司 一种中断检测方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
IT1126475B (it) * 1979-12-03 1986-05-21 Honeywell Inf Systems Apparato di comunicazione tra piu' processori
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
JPS56140459A (en) * 1980-04-04 1981-11-02 Hitachi Ltd Data processing system
JPS5789128A (en) * 1980-11-25 1982-06-03 Hitachi Ltd Controlling system for information interchange
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems
AU4907285A (en) * 1984-11-09 1986-05-15 Spacelabs, Inc. Communications bus broadcasting
US4649473A (en) * 1985-06-17 1987-03-10 International Business Machines Corporation Flexible data transmission for message based protocols
US4809217A (en) * 1985-10-31 1989-02-28 Allen-Bradley Company, Inc. Remote I/O port for transfer of I/O data in a programmable controller
US5155807A (en) * 1986-02-24 1992-10-13 International Business Machines Corporation Multi-processor communications channel utilizing random access/sequential access memories
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
US4783730A (en) * 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
US4876644A (en) * 1987-10-30 1989-10-24 International Business Machines Corp. Parallel pipelined processor
US5003463A (en) * 1988-06-30 1991-03-26 Wang Laboratories, Inc. Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus
JP2572292B2 (ja) * 1990-05-14 1997-01-16 株式会社小松製作所 非同期データ伝送装置

Also Published As

Publication number Publication date
US5325492A (en) 1994-06-28
AU6130990A (en) 1991-03-28
CA2025711C (en) 1998-03-31
CA2025711A1 (en) 1991-03-23
EP0419066A2 (en) 1991-03-27
CN1050450A (zh) 1991-04-03
AU630493B2 (en) 1992-10-29
NZ235002A (en) 1992-08-26
SG44433A1 (en) 1997-12-19
BR9004685A (pt) 1991-09-10
JPH03130863A (ja) 1991-06-04
CN1025518C (zh) 1994-07-20
EP0419066A3 (ja) 1994-04-20
MY107143A (en) 1995-09-30
PH30203A (en) 1997-02-05
KR950002391B1 (ko) 1995-03-17
GB9012970D0 (en) 1990-08-01
KR910006842A (ko) 1991-04-30

Similar Documents

Publication Publication Date Title
JP3208397B2 (ja) 制御要素転送システム
EP0543512B1 (en) Multiprocessor system
JP3606541B2 (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法
US5918028A (en) Apparatus and method for smart host bus adapter for personal computer cards
JP3553634B2 (ja) 相互接続インターフェース
EP0272834B1 (en) Inter-processor communication protocol
US5948060A (en) Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US5968143A (en) Information handling system for transfer of command blocks to a local processing side without local processor intervention
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
US5940866A (en) Information handling system having a local address queue for local storage of command blocks transferred from a host processing side
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
US20030051076A1 (en) Methods and system for pre-fetching descriptors
US7640549B2 (en) System and method for efficiently exchanging data among processes
JPH0673123B2 (ja) バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法
US5907485A (en) Method and apparatus for flow control in packet-switched computer system
JPH0816540A (ja) 並列計算機におけるメッセージ通信方式
US5448708A (en) System for asynchronously delivering enqueue and dequeue information in a pipe interface having distributed, shared memory
US6856619B1 (en) Computer network controller
EP2383659B1 (en) Queue depth management for communication between host and peripheral device
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
JPH0786867B2 (ja) 作業フロー制御方法、作業要求フロー制御方法及び装置、並びに通信管理装置
US6105071A (en) Source and destination initiated interrupt system for message arrival notification
US20030093492A1 (en) System, method, and computer program product for high speed backplane messaging
US6098105A (en) Source and destination initiated interrupt method for message arrival notification
JP2924783B2 (ja) リモートリード処理方法およびその装置

Legal Events

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