JPS62251951A - デ−タ処理システム - Google Patents

デ−タ処理システム

Info

Publication number
JPS62251951A
JPS62251951A JP62057031A JP5703187A JPS62251951A JP S62251951 A JPS62251951 A JP S62251951A JP 62057031 A JP62057031 A JP 62057031A JP 5703187 A JP5703187 A JP 5703187A JP S62251951 A JPS62251951 A JP S62251951A
Authority
JP
Japan
Prior art keywords
channel
data
bytes
frame
byte
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.)
Granted
Application number
JP62057031A
Other languages
English (en)
Other versions
JPH0528419B2 (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 JPS62251951A publication Critical patent/JPS62251951A/ja
Publication of JPH0528419B2 publication Critical patent/JPH0528419B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/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
    • 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/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 以下の順序に従って本発明を説明する。
A、産業上の利用分野 B、従来技術及び問題点 C0問題点を解決するための手段 り、実施例 Di、実施例の概要 D2.第1図に示すシステム D3.第2図の構成要素 D4.第1図および第2図と第3図との関係D5.チャ
ネルカウンタおよびバイトカウントに関するチャネルオ
ペレーション(第5図)D6.第3図のカウンタ D7.事前取出しを伴う書込みオペレーション(第4図
) D8.エンディングシーケンス D9.チャネル前段部 Dlo、他のオペレーション E0発明の効果 A、産業上の利用分野 本発明は並列バスを有するコントロールユニットと、直
列リンクで動作するデータチャネルとを相互接続するた
めの改善された機構を具備するデータ処理システムに関
する。
B、従来技術及び問題点 ディスク記憶装置などのI10装置が中央プロセッサの
主メモリにバスを介して接続され、そのバスが集合的に
データチャネルと呼ばれている構成要素の1つであるよ
うなデータ処理システムにおいて本発明を適用すること
ができる。″入力″とは、コントローラからデータチャ
ネルへ向かう方向でのデータ転送をいい、またパ出力″
とはデータチャネルからコントローラへ向かう方向での
データ転送をいう6データチヤネルは、バスの中央プロ
セッサ側におけるデータ転送を処理するチャネルプロセ
ッサと呼ばれるプロセッサを有する。
装置の観点からいうと、″チャネル”なる用語はバス、
チャネルプロセッサ、又はその双方のいずれをも意味す
るものとして使用されるのが普通である。一般にデータ
処理システムは幾つかのチャネルを有している。
チャネルプロセッサはこのようなデータ転送のため中央
プロセッサと協働して、たとえば、チャネルオペレーシ
ョンを開始し完了したデータ転送のステータスを後で報
告するのに必要な情報を取得する。そういう機能は、チ
ャネルプロセッサ、中央プロセッサ、および付加的なプ
ロセッサの間で割り振ることができる。
バスの装置側では、データ転送は装置コントロールユニ
ット又はコントローラと呼ばれるプロセッサで処理され
る。チャネル、装置、コントローラ、および関連する構
成要素はチャネルサブシステムと呼ばれる。
直 および並列形式のメツセージ 本発明は次のようなシステムにおいて有益である。すな
わち、並列的な複数の導体を有するケーブルと、1本の
入力ライン及び1本の出力ラインを有する直列リンクと
を含むようなバスを具備するシステムである。″バス″
という用語は直列バス又は並列バスのいずれを指す場合
にも使用される。パメッセージ″という用語は、バスの
うちの直列部分及び並列部分の両方を介して転送される
データの単位を一般化するのに役立つように使用される
。並列バスでは、メツセージはそのケーブルの全ての導
体の2短信号によって、又はより簡便には、記述される
特定のオペレーションに関係する特定の信号によって表
わされる。直列リンクでは、1つのメツセージは多重ビ
ツト直列フレームの形で伝送される。また、成るシステ
ムでは、直列フレームは並列バスのメツセージビット又
はそれらをコード化したものを伝達する。
本発明の一般的な目的は、直列リンクなしの並列バス上
のコントローラによって用いられる従来のプロトコルを
維持しながら新たな機能を加えるための付加的な情報を
伝達する新規な直列フレームを提供することにある。よ
り具体的には、チャネルとコントロールユニットとが従
来の並列バスを介して交換されるバイトカウント情報を
提供することである。
後で述べる本発明の理解を助けるため、まず従来の並列
バス及び直列バスの構造及びオペレーションを概説して
おく。
並Jバス び 丘なインターフェースプロトコ、火− 好適な並列チャネルの物理的な構造はよく知られており
、そのバスのオペレーションに関する好適なプロトコル
はたとえば、” I B M  System/360
 and System/370  Ilo Inte
rfaceChannel to Control U
nit Original Equipa+entMa
nufactures’  Information“
(GA22−6974)に記載されている。
並列バスを介するメツセージは、データ転送の際には1
バイト以上のデータを運び他のオペレーションの際には
アドレス又はコマンドもしくはステータスを運ぶ1つの
フィールドを有している。
チャネルからコントローラへこのフィールドを伝送する
ラインは7′バスアウト(BusOut)”と呼ばれ、
コントローラからチャネルへこのフィールドを伝送する
ラインは“バスイン(B u sI n)+1と呼ばれ
る。このフィールドが2バイト以上の幅を有する場合は
、これらのバイトはバス#0イン、バス#1イン(以下
同様)のようにいう。普通、1バイトは8ビツトである
が、もっと一般的にいえば、1バイトとは、そのシステ
ムによって取り扱われる多重ビツトデータの最小単位の
ことをいう。メツセージはまた、バスイン及びバスアウ
トを介するデータの意味を伝える制御ビットフィールド
を有する。このフィールドはデータ、アドレス、ステー
タスまたはコマンドとして解釈でき、そのような信号が
ない場合は無効なものとなる9−例を挙げれば、゛サー
ビスアウト(Service  0ut)”および1′
サービスイン(Service  In)”と呼ばれる
タグは、バスアウト又はバスインが有効なデータバイト
を伝達することを示すチャネル、およびそのバイトが受
信されたという肯定応答をするコントロールユニットに
よって活動化または非活動化される。
バス上のメツセージからいえば、データ転送は3つの段
階を踏む。すなわち、チャネルによる工10装置の初期
選択と、データ転送と、エンディングシーケンスである
。コントローラはこのエンディングシーケンスにおいて
オペレーションについての成功不成功を報告する。遂行
すべきオペレーションは部分的には、チャネルコマンド
ワード(以下、rccwJという)と呼ばれる制御ブロ
ックによって定義される。データ転送に関するCCWは
、読取り、書込み、および逆読みと呼ばれる。他のCC
Wは関連するオペレーションについての情報を供給する
。たとえば、ディスクの読取り/書込み機構を、読取り
又は書込みオペレーションが起こるデータ単位の始点に
位置付けるというオペレーションについての情報である
書込みオペレーションの間、コントローラは自分の受は
取るバイトを1つ1つ要求し、読取りオペレーションの
間、チャネルは自分の受は取るバイトに1つ1つ肯定応
答する。コントローラは、エンディングシーケンスによ
って、そのオペレーションが成功したか又は何らかの障
害が発生したのかを報告できる。たとえば、コントロー
ラが成るバイトを受は取ったがデータを装置に実際には
書き込むことができなかったという場合である。
かかる場合にはエンディングステータスで何らかの措置
が必要であることを示すこととなる。
直 リンクおよび直 フレームのフォーマント直列リン
クの物理的な4il造もよく知られている。
LynchおよびThornの論文”5erial C
hannel t。
I / OInterface” + I B M  
TechnicalDisclosure l3ull
etin、 1997年1月、第3139頁ないし第3
143頁に、並列バスの拡張手段として並列バスシステ
ムに接続される直列リンクについての記載がある。この
直列リンクはIBM3044チャネルリンク拡張機構と
して販売されている。
直列リンクは1本の入力ラインと1本の出力ラインを有
している。直列リンクはまたその両端に直列フレームを
処理するレシーバとトランスミッタを有する。入力ライ
ンと出力ラインはまとめてリンク接続と呼ばれる。好適
なリンク接続は光学的信号を伝達する2つの光ファイバ
を有している。
あるいは、リンクは電気的48号を伝達する銅線を有す
るものでもよい。また、複数のフレームを並列して伝達
するため、またはフレームとは別にタグを伝達するため
に数本のラインを各方向に有するものでもよい。リンク
のチャネル側にある機構は、コントロールユニットがシ
ステムにおける並列バスを直列リンクなしに取り扱うの
と同じ一般的な方法で、チャネルへの並列バスを取り扱
う。
同様に、リンクのコントロールユニット側にある機構は
、チャネルがシステムにおける並列バスを直列リンクな
しに取り扱うのと同じ一般的な方法で、コントロールユ
ニットへの並列バスを取り扱う。
直列リンクの両端にある機構は様々な名前で呼ばれる。
本明細書ではリンクのチャネル側にある機構のことを″
インボードボックス″、リンクのコントローラ側にある
機構のことを“アウトボードボックス”ということにす
る。
バイトカウント、装置カウント、および  カラZΣ 本発明の目的は正確なバイトカウントを維持することで
ある。そこで、チャネルおよびコントロールユニットに
関する従来のバイトカウントオペレージjンを概説して
おく。従来のチャネルおよびコントロールユニットでは
、カウントの制御は入力オペレーションでも出力オペレ
ーションでも同じである。読取りおよび書込みの場合、
チャネルはCCWから抽出されたバイトカウントを有す
る。チャネルは書込みオペレーションの際にはこの数の
バイトの送信を試行し、読取りオペレーションの際には
この数のバイトの受信を試行する。
コントロールユニットもまたパイトウントを有し、読取
りオペレーションの際にはチャネルへこの数のパイ1〜
の送信を試行し、書込みオペレーションの際にはチャネ
ルからこの数のバイトの受信を試行する。コントロール
ユニットについてのバイトカウントはその物理的な特性
または記録媒体によって決まる。たとえば、80列の読
取り/パンチカードは常に1列ごとに1バイトで80バ
イトの送信または受信を試行する。
テープ駆動装置のバイトカウントはテープの長さが有限
であるといことに適している。テープの書込みオペレー
ション(出力オペレーン3ン)の際、コントロールユニ
ットのバイトカウントはテープの長さである。テープの
読取りオペレーションの際、コントロールユニットのバ
イ1−カウントはテープ媒体それ自身のレコード長で決
まる。
また別の例として、ディスク記憶装置のコントロールユ
ニットがある。ディスクをフォーマツティングすると、
入出力オペレーションの特定のバイトカウントが設定さ
れる。
各I10オペレーションの結果は、チャネルステータス
ワード(CS W)と呼ばれる制御ブロックを介してチ
ャネルによってI10制御プログラムに伝えられる。こ
れに関係するフィールドは残余バイトカウントと長さが
正しくないことを示す標m(IL標識という)である。
残余バイトカウントおよびIL標識に関していうと、全
てのI10データ転送(入力オペレーションおよび出力
オペレーションの双方)は次の3つの異なるケースでし
か終了できない。
1)CCVカウントが装置カウントに等しい:書込みオ
ペレーションにおいて、コントロールユニットはチャネ
ルが受諾する数のバイトを転送したが、または読取りオ
ペレーションにおいてコントロールユニットが、チャネ
ルがそのCCWで指定された数のバイトを受信したとき
データの転送を停止した。
この場合、チャネルは残余バイトをゼロにセットして、
そのI10オペレーションの全てのデータの転送が終了
したことを示す。チャネルはC8WにあるIL標識をゼ
ロにセットして、コントロールユニットがCCWにある
カウント値よりも多い数のバイトを要求しないかまたは
その送信を試行しなかったことを示す。
2)CCWのカウントが装置カウントよりも小さい:読
取りオペレーションにおいてコントロールユニットがチ
ャネルが受諾するよりも多いバイトの送信を試行したか
、または書込みオペレーションにおいてチャネルがCC
Wにおいて指定された数のバイトを転送しコントロール
ユニットがよりたくさんのデータの要求を試行した(こ
れは″ステータンイン″ではなく“サービスイン″また
は″データイン″を活動化することによって行われる)
チャネルは″コマンドアウト″を活動化することによっ
てサービスインまたはデータインに応答して、データ転
送が終了したことをコントロールユニットに知らせる。
この場合、チャネルはC5Wにある残余バイトカウント
をゼロにセットする(転送すべきデータはもうない)。
チャネルもまたC8WにあるILaSを真(1)にセン
トして、″コマンドアウト“を活動化することによりデ
ータ転送を終了しなければならないということを示す。
3)CCWのカウントが装置カウントより大きい:チャ
ネルがCCWで指定された数のバイトの転送を終了する
前にコントロールユニットがデータ転送を停止した。(
コントロールユニットはサービスインまたはデータイン
ではなくステータスインを活動化することによって書込
みオペレーションを停止する。) この場合、チャネルはC8Wにある残余バイトカウント
を、転送されなかったバイトの数にセットする。すなわ
ち、もとのCCWのカウントから、コントロールユニッ
トとの間で転送されたバイトの数を引いたものである。
チャネルもまた、C8WにあるIL標識を真にセットす
る(残余バイトカウントが非ゼロだったのでステータス
インは早く受信された)。
以上示した如く、従来のチャネルサブシステムにおいて
はバイトカウントの取扱いに問題がある。
C0問題点を解決するための手段 本発明の目的は直列リンクを具備した従来のチャネルサ
ブシステムにおいてバイトのカウントを維持して従来の
プロトコルとの整合をとることにある。
この目的を達成するため、コントロールユニットの並列
バスとチャネルの直列リンクとを相互接続する相互接続
機構を有する本発明のデータ処理システムはバイト数を
記憶するバイト数記憶手段と、バッファメモリと、該バ
ッファメモリに記憶すべきデータについての並列バスと
、該バッファメモリから取り出されるデータについての
並列バスと、所定のプロトコルに基づいて読取りオペレ
ーション及び書込みオペレーションを処理するため、前
記バッファメモリの前記並列バスと前記コントロールユ
ニットの前記並列バスとを接続する手段と、前記直列リ
ンクを介して伝送されるフレームの送受を行う送受手段
であって、前記直列リフオーマット変換を行う手段を含
むものと、を具備し、前記フレームがデータフィールド
、及びコマンドフィールドを含み該コマンドフィールド
により前記データフィールドがデータ転送についてのバ
イト数を有するものであるか又はデータ転送1こついて
のデータを有するものであるのかを識別して前記バイト
数を前記バイト数記憶手段に転送するようにしたことを
特徴としている。
以下、本発明の作用を実施例と共に説明する。
D、実施例 Di、実施例の概要 本実施例によるチャネルサブシステムは、1つの方向で
メツセージを送信し他方の方向で肯定応答を送信するた
め付加的な期間によってチャネルとコントロールユニッ
トとの間の通信を遅らせる通常の直列式拡張リンクを設
けたもので、さらに。
バッファとそれに関連した構成要素(チャネルのアウト
ボードボックスと呼ばれる)を具備する。
これは肯定応答ルーチンを待つことなくプロセッサのメ
モリから又は周辺装置からのデータの事前取出しの際に
使用されるもので、インターロックされたデータ転送又
はインターロックされていないデータ転送(データスト
リームと呼ばれる)の両方で共通に使用される。カウン
タシステム及びその他の構成要素ならびに関連するオペ
レーションは、事前取出しバッファがなく短い直列リン
クだけを具備したシステムにおいて保持されていたであ
ろう正しいバイトカウントを維持するように設けられて
いる。また、カウントフレーム及びステータスフレーム
は、チャネルとアウトボードボックスとの間でのバイト
カウント及びその他のステータス悄送を送るために設け
られる。
本発明の目的は、データバッファを有するアウトボード
ボックスおよび直列リンクによってコントロールユニッ
トおよびチャネルが分離されるようなシステムにおいて
正しいバイトカウントを維持することである。これらの
構成要素はこれまでに説明してきたバイトカウント情報
の直列の交換を禁する。実施例において、直列リンクお
よび並列バス上のメツセージは以下のようにして転送さ
れる。
アウトボードボックスのデータバッファは、書込みオペ
レーションの際には主プロセツサのメモリからのデータ
の取出しに使用され、読取りオペレーションの際にはコ
ントロールユニットからのデータの取出しに使用される
。このオペレーションが1取出し″と呼ばれるのは次の
ような理由による。すなわち、チャネルは書込みオペレ
ーションの際にはアウトボードボックスからの従来の肯
定応答を待たず、読取りオペレーションの際にはチャネ
ルからの肯定応答を待つことがないからである。
チャネル前段部は、従来のチャネルと協働する物理的に
は別の構成要素である。あるいは、チャネル前段部は、
チャネルのプロセッサと論理的または物理的に統合して
もよい、アウトボードボックスの側からみれば、これら
の2つの態様はおなしことである。大部分、本発明はア
ウトボートボックスの立場からのものであり、“チャネ
ル”という用語は(1)チャネルおよび論理的または物
理的に分離したチャネル前段部、(2)チャネル前段部
の構成要素および機能を有する等価なチャネルの両方を
意味する。また゛′分離したチャネル前段部”および゛
′統合されたチャネル′″はこれらの実施例がさらに詳
細に説明される際に使用される。この概説では、分離し
たチャネル前段部は一般的にはアウトボードボックスと
同様なものと考えることができる。
チャネルはフレームカウンタと呼ばれるカウンタを有し
ている。フレームカウンタは、受信はされたが肯定応答
のされなかったバイトの数を追跡するものである。チャ
ネルもまた、CCWにおける通常のバイトカウントを維
持する。アウトボードボックスのバッファが一杯になる
ことがフレームカウンタによって示されたとき、または
現在の数のバイトが転送された後(すなわちCCWのカ
ウンタが従来のようにカウントしつくされたとき)、チ
ャネルはプロセッサのメモリからのデータ転送を停止す
る。読取りオペレーションの際、チャネルはフレームカ
ウンタを用いてチャネルバッファに関する可能なオーバ
ーランを検出する。これは後で説明する。
分離したチャネル前段部を具備するシステムにおいては
、チャネルは従来と同様にccwのパイトカウンフィー
ルドを保持し、チャネル前段部はフレームカウンタを保
持する。チャネル前段部は高レートのデータ転送を維持
するため、並列バス上のデータ転送タグを上げ下げする
(そうでなければコントロールユニットがこれをしてい
たものである)。チャネル前段部はまた、従来のタグシ
ーケンスを用いてバッファが一杯になるとフレームカウ
ンタが示したときデータ転送を停止または遅延する。統
合システムの場合は、チャネルはデータのフレームを直
接送る。両方の実施例においては、コントロールユニッ
トが並列バスを介してアウトボートボックスに通常の肯
定応答をした後。
アウトボードボックスはチャネルに実際の肯定応答を供
給する6 インターロックされた ゛みオペレーシエインターロッ
クされた書込みオペレーションにおいては、チャネルは
主プロセツサのメモリからバイトを取り出してこれより
従来と同様の直列フレームを構成し、そのバイトをアウ
トボートボックスの構成要素に転送する。そうしてこれ
らのバイトはアウトボードボックスにおけるバッファに
記憶される。アウトボードボックスはオペレーションの
このステップでは転送を肯定応答しないが。
チャネルは高データレートでバイトをアウトボードボッ
クスに送り続けている。即時的な肯定応答を使わないバ
イト転送によってデータ転送の高速化が図れるけれども
、バイトカウント 題は面倒になる。
アウトボードボックスは次の3つのバイト数を知らせる
ためのカウンタを具備する。1つは、チャネルから受は
取ったバイ]−の数、1つは、コントロールユニットへ
転送したバイトの数、もう1つは、バッファに存するバ
イトの数である。書込みオペレーションの際には、アウ
トボードボックスはこれらのカウンタを使ってバッファ
からコントロールユニットへのデータ転送を制御する。
アウドボードボックスはまた、バイトカウントを維持す
るためにもこれらのカウンタを利用する。
アラ1−ボードボックスはバイトをコントロールユニッ
トへ送った後にのみ、チャネルへ肯定応答フレームを送
信する。1つの実施例では、アウトボードボックスはコ
ントロールユニットへ送られる各バイトごとに肯定応答
フレームを送信する。
肯定応答フレームは空のデータフレームでもよい。
1つの実施例では、アウトボードボックスは、コントロ
ールユニットへ送られたバイトの数のカウント値を有す
る肯定応答フレームを送信する。
好適にはシステムのデータブロックのサイズは固定であ
る。
インター口・りされた  リオペレーションインターロ
ックされた読取りオペレーションにおいては、アウトボ
ードボックスにあるバッファの使い方は次の2つのいず
れでもよい、1つの実施例では、アウトボードボックス
にあるバッファはバイパスされ、バイトがチャネルに直
接送られる。各ワーム中の1つのバイトは、それらがコ
ン)−ロールユニットから受は取ったのと同程度の速さ
でアウトボードボックスから送信される。バッファが使
用されない場合でも、チャネルサブシステムにおいては
バッファリングの効果がある。というのは長い直列ライ
ンは複数のバイトを保持するからである。
好適には、入力バイト用に通常のバッファを有している
。チャネルはバイトの要求に応じておよびバイトの受取
りに応じてフレームカウンタを歩進させる。そしてチャ
ネルは、チャネルのバッファがオーバーランに近づいて
きたとフレームカウントにより知らされたとき、肯定応
答フレームを停止してアウトボードボックスを減速させ
る61つの実施例では、コントロールユニットからのバ
イトはアウトボードボックスのバッファの中に所定の個
数になるまで記憶され、これらのバイトは1ブロツクと
してチャネルへ送られる。バイトカウントオペレーショ
ンは後で説明する。
1つの実施例では、チャネルはccwがらのバイトカウ
ントをアウトボードボックスに送る。具体的には、チャ
ネルはバイトがバッファに送られるに応じて増分的なカ
ウント値を送る。
エンディングシーケンス データ転送が完了すると、アウトボードボックスは次の
ようなステータスフレームを構成する。
すなわち、最後のバイトの後コントロールユニツ1−が
ステータスを活動化したか否かまたはアウトボードボッ
クスがデータ転送終了のためのコマンドアウトを活動化
したか否かをチャネルに伝えるステータスフレームであ
る。アウトボードボックスはまた、残余カウントに関す
る情報をチャネルに送る。これらのオペレーションでバ
イトカウントは維持される。これはチャネル拡張リンク
またはバッファがなければ並列チャネルにおいて発生し
ていたであろうバイトカウントである。
データのストリーム化 データストリームオペレーションは2つのモードのいず
れかで処理できる。1つのモードでは。
バッファはバイパスされる。データのストリーム化は元
来高速で、バッファはデータ転送の速度を直接には改善
しないいもう1つのモードでは、バッファは読取りオペ
レーションまたは書込みオペレーションで使用される。
アウトボードボックスはコントロールユニットからバッ
ファへバイトを転送し、インターロックされた読取りオ
ペレーションの場合すでに説明したようにして肯定応答
を行う、このオペレーションは、わずか1個または2〜
3個のバイトが受信された後、コントロールユニットへ
の肯定応答を供給する。これに対し第1のモードでは(
すなわちバッファをバイパスするモード)、多数のバイ
トが直列ラインを介してチャネルに伝搬され、かつ、は
ぼ等しい数の肯定応答バイトが直列ラインを介してチャ
ネルから伝搬されるまで、コントロールユニットはその
最初の肯定応答を受は取らない。肯定応答なしに送られ
たバイトの数をカウントし、このカウント値が普通の直
列リンクの妥当な長さに対応する所定の値に達すればエ
ラーを指示するようなコントロールユニットにしてもよ
い。
以下、図面を参照しながら実施例を詳細に説明する。
D2.第1図に示すシステム 第1図は、チャネル12と、双方向直列リンク接続機構
14と、コントロールユニット18が示しである。リン
ク接続機構14は1本の入力ライン15および1本の出
力ライン16を有している。
コントロールユニット18によって管理される装置は図
では省略しである。リンク接続機構は既に説明したよう
に従来と同様なものである。チャネルは中央プロセッサ
および中央プロセッサの主メモリに接続される。中央プ
ロセッサおよび中央プロセッサの主メモリは第1図の構
成要素に対して従来と同様の関係にある(ただし図示せ
ず)。
第1図にはチャネル前段部の事前取出し部21およびチ
ャネルのアウトボードボックスの事前取出し部22も示
されている。事前取出し部21およびチャネル12は標
準的インターフェースに基づく入力ライン24および出
力ライン25によって相互に接続されている。同様に、
アウトボードボックスの事前取出し部22およびコント
ロールユニット18標準的インターフエースに基づく入
力ライン26および出力ライン27のセット−によって
相互に接続されている。
図中、チャネルからの出力ライン25はLL S 01
1なる名称を付しである。すなわち、出力ライン25は
、データの事前取出しオペレーション中バスによって伝
達されるイコ号の1つであるタグライン11サービスア
ウト”である。同様に、コントロールユニットからアウ
トボードボックスの事前取出し部への入力ライン27は
II S I IFなる名称を付しである(これは″サ
ービスイン″である。入力ラインには”PSII似サー
ビスイン)′、出力ライン26には”PSO(121サ
ービスアウト)”なる名称が付しである。チャネルの事
前取出し部はタグPSIを形成し、アウトボードボック
スの事前取り出し部はタグPSOを形成する。これらの
オペレーションについては後で説明する。チャネルはP
SIに応答し、コントロールユニットはPSoに応答す
る。この応答のし方はこれらの構成要素が直列リンクな
しにサービスインまたはサービスアウトに応答していた
のと同じである。
読取りオペレーションの間、アウトボードボックスおよ
びコントロールユニットはタグPS○およびS工のやり
とりをして、コントロールユニット18および装置から
アウトボードボックス22へのデータバイトの転送を行
う。転送の速度はこれらの構成要素にとって適当なもの
である。アウトボードボックスはバッファの中にそれら
のバイトを任意選択的に記憶しくこれについては後で説
明する)、入力ラインを介してデータをチャネル前段部
に送信する。装置から転送すべきデータが存在し、コン
トロールユニットからデータを受は取れるようバッファ
が空のロケーションを有し。
かつチャネルへ転送すべきバイトを有する限り。
上記読取りオペレーションの2つの部分は独立に進行し
、チャネルに対してもほとんど独立に進行する。
同様に、書込みオペレーションの際にはチャネル前段部
はプロセッサのメモリからデータを事前取出しして、こ
れを直列フレームの形でアウトボードボックスへ送信す
る。アウトボードボックスはそのデータを直列から並列
に変換し、その事前取出し部がバッファメモリにデータ
を記憶し、タグPSIおよびSOを使ってこのデータを
コントロールユニットへ送信する。
あるいは、チャネルとチャネルの事前取出し部との間の
接続(24,25)は、特定のチャネルについては[準
的なインターフェースでなくてもよく、チャネルおよび
チャネル前段部は前述の如く物理的または論理的に統合
してもよい。同様に、チャネルのアウトボードボックス
は、標準的なプロトコルに基づいてチャネルと協働する
コントロールユニットに統合することができ、標準的な
インターフェースのライン(26,27)に対応するレ
ジスタ位置および信号ラインを有することができる。
D3.第2図の構成要素 第2図は第1図の構成要素をさらに詳細に示したもので
ある。並列バスのうち24ないし27はさらに添字すお
よびCを付して細かく分けである。
25bおよび26bは″バスアウト”を表わし。
27bおよび24bは1′バスイン″を表わし、25c
および26cは送出される制御信号を表わし、27cお
よび24cは入力される制御信号を表す。
これらのラインの対(たとえば25bと26b)を、直
列リンクなしの並列バスにあるのと同じように、チャネ
ルとコントロールユニットとの間で連続的であるとみな
した方が都合がよい場合もある。
チャネル前段部21およびアウトボードボックス22は
、リンク14上の直列フレームを取り扱うため、フレー
ム送信部28およびフレーム受信部29をそれぞれ持っ
ている。直列リンクの入力ライン15および出力ライン
16は、フレーム受信部への入力ラインとして、および
フレーム送信部からの出力ラインとして一般化できる。
チャネル前段部およびアウトボードボックスのこれらの
構成要素は通常と同様のものである。
チャネル前段部およびアウトボードボックスは。
並列バスの形でメツセージの処理を行うインターフェー
ス処理部30aおよび30bを含む。第2図のインター
フェース処理部はサービスアウトおよびサービスインを
受は取って第1図、P S OおよびPSIを生成する
。チャネル前段部21のインターフェース処理部30a
は、並列バス26.27を取り扱う通常のコントロール
ユニット18のものとほとんど同じであり、アウトボー
ドボックスのインターフェース処理部30bは並列バス
24.25を取扱うチャネルのものとほとんど同じであ
る。両者の差異については後で説明する。
D4.第1図および第2図と第3図との関係第3図では
、第1図の出力ライン16は右方向へ向かう矢印で表わ
され、第1図の入力ライン15は左方向へ向かう矢印で
表わされている。第2図のフレーム受信部29は直列フ
レーム31によって部分的に表わされている。フレーム
は本明細書の最初に説明した一般的なフォーマットを有
しており、図ではコマンドフィールドおよびデータフィ
ールドをそれぞれ参照番号に添字を付けて31aおよび
31bと表わしである。フレーム受信部は、さらに、フ
レームのコマンドフィールドからの出力バス34および
フレームのデータフィールドからの出力バス35によっ
て表わされている。
フレーム送信部29は2つのフレーム32.33と、送
出されるフレームのデータフィールドのバイトを伝達す
るバス36および46とで表わされている。フレームを
処理する回路はよく知られているので、フレーム送信部
およびフレーム受信部のオペレーションはアウトボード
ボックスの説明から十分理解されるであろう。
第3図のバス27mは第2図のバスイン27を拡張する
ものである。バス27mは1バイトの幅を有し、第3図
に示す回路と第2図のインターフェース処理部30bと
を接続する。コントロールユニットが第2図のバスイン
27に1データバイトを出すと、インターフェース処理
部30bはバス27mにそのバイトを出す。1つの実施
例によれば、コントロールユニットからの全てのバイト
はゲート54を介してバス27mから送出データフレー
ムに経路指定される。
後で説明する1つの実施例においては、インターフェー
ス処理部は、そのバイトが第2図のバス27c上のタグ
で示される特定のオペレージ3ンのためのものであると
いうことを知らせる。後でさらに詳しく説明するが、た
とえば、インターフェース処理部は、読取りオペレーシ
ョンがデータストリームモードにあるということを知ら
せる。
読取りオペレーションの一部として転送されるバイトは
、バス27mを介してバッファ39へ任意選択的に経路
指定される。これらのバイトは後でバッファから読み取
られ、バス36を介してフレーム送信部へ転送される。
コントロールユニットからのデータ転送の一部をなすも
のでないバイトは既に説明したようにバッファ39をバ
イパスする。バッファをバイパスするオペレーションの
例は、I10装置の初期選択の際に起こる情報の交換で
ある。この場合、2〜3個のバイトしか転送されないの
で、普通はバッファを使う理由はない。
虱舅ユ又二ム 従来と同様、コマンドフィールドは、データフイールド
の意味を伝える2進コードを有する。従来型のデコーダ
37はバス34を介して入力フレーム31からコマンド
フィールド31aを受は取って1以上のラインに信号を
供給し、そのコマンドの要求したオペレーションのため
のゲートを制御する。成るオペレーションまたは全ての
オペレーションの場合、フィールド31aのコマンドコ
ードは、ライン16を介して最も最近に受は取られたバ
イトの内容と関係なく、デコーダへの入力を供給するレ
ジスタに転送される。第3図の読取りオペレーションの
場合、デコーダ37はライン38に″ロードカウント″
を出力する。この信号でシステムのゲート41が開いて
、データフィールド3Lbの内容が、ゲートの出力に接
続された回路に転送される。ゲート41は通常のもので
あり、バス35の各ラインごとにAND回路を共通に含
んでいる。この特定のオペレーションについては後で説
明する。
必要なのは、わずか数個のコマンドで、好適なシステム
は従来と同様、各方向において8つまでのフレームフォ
ーマットを与える3ビツトのコマンドフィールドを使用
する。出力されるフレーム(アウトバウンドフレーム又
は流出フレーム)のフォーマットは、データフィールド
がバスアウト25bからのデータ(1)と、標準的なイ
ンターフェース25cからのタグ(2)と、幾つかの実
施例では終了カウント(4)および中間カウント(5)
に分けられているカウントフレーム(第3図)と、その
他の制御情報(6)を含むことを識別するコマンドを有
する。その他の制御情報は、次のオペレーションをデー
タ転送モードまたは非データ転送モード(非データ転送
モードはバッファをバイパスする)として指定すること
、次のデータ転送を、読取りまたは書込みオペレーショ
ンとしておよびインターロックされたモードまたはデー
タリストームモトードとして指定することを含む。第3
図において、フレーム31は終了カウントフレームおよ
び中間カウントフレームの両方を示している。これらの
フレームはバス44に対して同様の接続機構を有し、フ
ィールド31aのコマンドフィールドが異なることだけ
である。
入ってくるフレーム(インバウンドフレーム又は流入フ
レーム)のフォーマットは、データフィールドがバスイ
ン27bからのデータ(1)と、標準的なインターフェ
ース27cからのタグ(2)と、成る実施例では残余カ
ウントフレーム(3)およびカウント検査フレーム(4
)に分けられているカウントフレームと、アウトボード
ボックスからのステータス(5)を含むことを識別する
コマンドを有する。アウトボードボックスのステータス
フレーム(5)は、並列バスを介する従来の装置ステー
タスではなく、対応するタグフレームの後に続くデータ
フレームとして直列リンクを介して送られるものである
流出データフレームおよび流入データフレームはバスイ
ンおよびバスアウトからのデータをそれぞれ運ぶ。流出
タグフレームおよび流入タグフレームは初期選択および
終了シーケンスにおいて使用されるタグを運ぶ。
流入ステータスフレームのデータフィールドは次の3つ
のビットを有する(これらのビットは後で説明するオペ
レーションにおいて使用される)。
すなわち、ビットLBS (最後のバイトの送信)と、
ビットCOS (コマンドアウトの送信)と。
ビットRTC(読取り転送チェック)である。ステータ
スフレーム中の他のビット、たとえばパリティエラービ
ットはバイトカウントオペレーションとは無関係である
流出制御フレームのデータフィールドは次の2つのビッ
トを有する(これらのビットは後で説明するオペレーシ
ョンにおいて使用される)。すなわち、オペレーション
が入力用であるのか出力用であるのかを識別するビット
INと、後続のフレームがデータ転送オペレーションの
ためのものかまたは初期選択もしくはエンディングシー
ケンスに必要な制御オペレーションのためのものなのか
を識別するビットCNTLである。
データ転送を次のような1つのフレ7ムで開始すること
が知られている。すなわち、コマンドフィールド、関連
するフィールド(たとえば開始)イールド)、およびチ
ェックピットフィールドを有するかデータは持たないヘ
ッダと呼ばれるフレームである。その後、コマンドフィ
ールドを繰り返すことなく一連のデータフィールドが送
られる。
これらのフレームのシーケンスは、データフィールドに
多数のバイトを有する単一のフレームと等価であるので
、コマンドフィールドおよびデータフィールドを有する
フレームによって説明を続けても一般性は失わない。
用語″データ″はフィールド31bとコマンドフィール
ド31aとを区別するのに使用され、さらに、データコ
マンドコードを有するフレームと。
タグ、カウント値、または制御情報のためのコマンドコ
ードを有するフレームとを区別するのにも使用されてい
る。コマンドフレームにあるCNTLビットでさらに、
データフィールドにおけるデータの種類が区別される。
CNTLはデータ転送の場合、1つの2進値(Oまたは
1)にセットされ、初期選択およびエンディングシーケ
ンス中は他方の値にセットされる。初期選択およびエン
ディングシーケンスの間、データフレームのデータフィ
ールドは、タグフレームで識別されるコマンドの如き情
報を運ぶ。コマンドフレームは、I10オペレーション
の各段階の始まりのところで適切な値にセットされたC
NTLビットと共に伝送され、アウトボードボックスは
このビットの値を記憶し、これを使ってデータフレーム
のデータフィールドを解釈する。(あるいは、従来と同
様。
そのデータが特定のオペレーションのためのものである
ことを付記的なコマンドコードで識別してもよい。) 笈m已εム乙L データ事前取出し部のデータバッファ39は主プロセツ
サのメモリとコントローラとの間で転送されるデータ(
転送方向はいずれでも構わない)を一時的に保持する。
バッファメモリはよく知られており、また事前取出しの
ためのバッファリング機能も様々なやり方で実現できる
。好適なバッファは1バイトの幅のものである。、(よ
り一般的いえば、“バイト”という用語は一回のメモリ
アクセスオペレーションで取出しまたは記憶されるデー
タの単位を意味する。普通、バッファ39はバスインお
よびバスアウトと同じ幅を有し、1バイトまたは2バイ
トである。)バッファは書込みアドレスポインタ42お
よび読取リアドレスポインタ43を有する。これらのポ
インタは、読取りオペレーションおよび書込みオペレー
ションの進行に応じて増分される循環式のカウンタで実
現される。これらのポインタは通常と同様のものである
が、1つの実施例では、後で説明するようにバイトカウ
ントオペレーションの際に使用できる。
通常のバッファの構成によれば、読取リアドレスが書込
みアドレスを越えないように制御される。
バッファはフルカウンタ45を有する。フルカウンタ4
5は事前取出しを伴う読取りオペレーションのはじめで
は全ゼロ(または他の定常的な基準値)にセットされて
いる。その後、バッファにバイトが記憶されるときは増
分され、バッファからバイトが取出されるときは減分さ
れる。フルカウンタ45のこのようなオペレーションは
通常のものである。したがってフルカウンタ45のカウ
ント値はバッファにあるバイトの数に等しく、これによ
りバッファのうまり具合がわかる。読取りオペレーショ
ンでは、フルカウンタ45に保持されるカウント値を使
って、バッファが一杯であれば装置からの読取りオペレ
ーションを停止する。
D5.チャネルカウンタおよびパイトカウン1へに関す
るチャネルオペレーション(第5図)チャネルおよびア
ウトボードボックスは、1バイトごとまたはバイトの1
ブロツクごとに肯定応答フレームを始動するための適切
な手段を具備する。1つの実施例では、1ケ定応答フレ
ームは空のデータフレームである。(後で説明する具体
的な例では、カウントフレームを使って1ブロツクのバ
イトを肯定応答する。)複数のバイトを肯定応答するた
めの手段は並列バスを介する複数のバイトを肯定応答す
るための通常の手段と同様のものである。通常の並列バ
スを介するデータ転送の間、チャネルはサービスアウト
またはデータアウトを送出することによって1つのバイ
トを肯定応答し、コントロールユニットはサービスイン
またはデータインを送出することによって1つのバイト
を要求する。肯定応答タグが送られるときバスアウトは
空であり、要求タグが送られるとき、バスインは空であ
る。)第5図はチャネルの通常の構成に変更を加えたも
のである。
チャネルはフレームカウンタと呼ばれるアップダウン式
のカウンタを具備する。書込みオペレーションまたは読
取りオペレーションのはじめでチャネルはフレームカウ
ンタをゼロにリセットする。
書込みオペレーションの場合、1つのバイトが送られる
ときチャネルはフレームカウンタを増分し。
肯定応答が受は取られるときフレームカウンタを減分す
る。送信されたまた受信された全てのバイトが肯定応答
されたときは、フレームカウンタはゼロである。フレー
ムカウンタが読取りオペレーションの際に+1であるか
または書込みオペレーションの際に−1であるときは、
チャネルは受信したよりも多い数のバイトを肯定応答し
たのであり、したがってチャネルはエラーを指示する。
読取りオペレーションの場合、所定のカウント値でチャ
ネルのバッファが一杯またはほぼ一杯であることを知ら
せる。書込みオペレーションの場合。
所定のカウント値でアウトボードボックスのバッファが
一杯またはほぼ一杯であることを知らせる。
第5図に示すように、デコーダはこれら3つのカウンタ
の値およびこれらの値の範囲を検出する。
エラー信号に応答してチャネルは通常のエラー回復プロ
シージャを開始する。バッファ満杯信号に応答して、チ
ャネルは成るオペレーションを実行する。このオペレー
ションについては後で説明する。
書込みオペレーションの場合、チャネルはフレームカウ
ンタのカウント値とチャネルのアウトボードボックスに
おけるバッファのサイズを比較して、バッファ39に信
号を出し両者が一致したときフレームの送信を停止する
。バッファ39は一杯またはほぼ一杯になるがオーバー
ランすることはできない。(幾つかの肯定応答フレーム
が直列入力ライン15上に存在することがあるので、バ
ッファにおけるバイトの数はチャネル側では正確にはわ
からない。)バッファ満杯信号を補数化したものは、バ
ッファ39が一杯ではないということを意味する。した
がってアウトボードボックスにおけるバッファが一杯で
なくかっccwのカウントがゼロでない間は、チャネル
はアウトボードボックスにフレームを送信する。このよ
うな比較を行うには、たとえば、フレームカウンタのデ
コーダが、バッファが一杯であることに対応するカウン
ト値の範囲を検出することである。もし、フレームカウ
ンタがそのバッファと同じサイズに作られていれば、全
てが1のカウント値は、バッファが一杯であることを意
味する(ただし、これは第5図にはあられれていない)
D6.第3図のカウンタ 本発明の1つの実施例においては、アウトボードボック
スにカウンタ47が具備されている。このカウンタ47
は読取りオペレーションの場合。
要求カウンタといい、書込みオペレーションの場合、デ
ータ送信カウンタという。好適には同じカウンタが両方
の機能を遂行する。1つのカウントフレームが受は取ら
れると、そのカウント値がカウンタ47にセットされ又
はカウンタ47に既にあるカウント値に加えられる。(
加算器は通常のものなので第3図では図示していない。
)ライン34を介する信号に応答して、カウントフレー
ム31のフィールド31bがバス35にゲートされ要求
カウンタ47に入る。論理回路49は要求カウンタ47
の非ゼロ状態およびフルカウンタ45の非満杯状態に応
答して、第2図のインターフェース処理部を付勢し、コ
ントローラからのバイトの受は取りと(チャネルにより
要求されたカウント値はまだ条件を満たしていない)、
これらのバイトのバッファへの記憶と(バッファは満杯
でない)を行わしめる。1つのバイトがバッファ中に記
憶されると、要求カウンタ47は減分される。要求カウ
ンタがゼロになると、事前取出し部はコントローラから
の転送を停止する。
バッファが空になるまで、第1図に示したフレーム送信
部はバス36を介してバッファからデー夕を取出し、そ
れらのバイトを直列フレーム32として構成し入力ライ
ン15を介してその直列フレームをチャネル前段へ送信
する。
要求カウンタ47のカウント値がゼロに到達すると、そ
のカウンタの保持している値はフレーム送信部にゲート
される。フレーム送信部はフレーム33を構成し直列リ
ンク15を介してこれをチャネル前段部に送る。もし読
取りオペレーションが続くのであれば、チャネル前段部
は別の読取りフレーム16をアウトボードボックスに送
る。
2つのカウンタによるシステム 以上に示した計数機能は、チャネルポインタおよびイン
ターフェースポインタと呼ばれる2つの別々のカウンタ
で実現してもよい。チャネルポインタはチャネルに送ら
れるバイトに関連するものであり、インタースポインタ
はコントロールユニットから受は取られるバイトに関連
するものである。″ポインタ″という語を使ったのは後
の第7C節で説明するように、カウント値がバッファ3
9内のロケーションをアドレス指定できるこれを意味す
るからである。
好適には、チャネルは1つのフレームにおいてCCWの
フルカウントをアウトボードボックスに送る。第3図に
示した例では、チャネルは複数個のバイトから成る1ブ
ロツクの転送に対応するカウント値をアウトボードボッ
クスに送り、チャネルは読取りオペレーションの進行に
応じて1ブロツク転送又は部分的なエンディングブロッ
クごとに他のカウント値を送る。
インターフェースポインタは1つのバイトが受信された
とき1つの信号を受は取って、並列インターフェースを
介してコントロールユニットからアウトボードボックス
に送信されたバイトをカウントする。インターフェース
ポインタはデータ転送オペレーションのはじめにゼロに
リセットされる(ただし、データ連鎖の場合、チャネル
によって新たなCCWが取り出されたときはリセットさ
れない)、読取りオペレーションの場合、1つのバイト
がバッファに記憶されるとインターフェースポインタが
増分される。書込みオペレーションの場合、並列バスを
介してコントロールユニットによって1つのバイトが送
られたと、インターフェースポインタが増分される。
読取りオペレーション又は書込みオペレーションにおい
て、これら2つのカウンタの値の差はバッファへ転送す
べき残りのバイト数又はコントロールユニットから転送
すべき残りのバイト数を表わす。
計数値の小さいカウンタによるシステム第3図の読取り
オペレーションにおいて、書込みポインタ42はコント
ロールユニットから受は取られたバイトの個数を保持す
るので、これはインターフェースポインタとして機能す
る。読取りポインタ43はチャネルへ送られたバイトの
個数を保持するので、これはチャネルポインタとして機
能する。
CCWのバイトカウントフィールドは、そのオペレーシ
ョン中に1つのCCWで転送可能なバイトの最大数を設
定する所定の長さを有している。
好適なデータ処理システムでは、CCWのバイトカウン
トフィールドは16ビツトの長さを有しており、1つの
CCWで最大64にバイトを転送することができる。普
通、バッファ39は1つのCCWで転送可能なバイトの
最大数よりも小さめに作られているので、バッファのア
ドレスはCCWのカウントフィールドよりも短いことと
なる。このような状況では、アウトボードボックスにお
けるこれらのカウンタはCCWのバイトカウントフィー
ルドの長さとなる場合もあり、又は短くなる場合もある
(たとえば8ビツト)。後者のカウンタ(以下「短カウ
ンタ」という)の桁上げ伝播回路は前者のカウンタ(以
下「長カウンタJという)のそれに比べてずっと簡単で
ある。
例として、カウンタ47が8ビツト、チャネルのバイト
カウントが16ビツトの場合を考える。
この場合、読取りオペレーションは、チャネルにおける
カウント値がカウンタのサイズ以下になるまでカウント
フレームなしに進行する。CCWのカウント値がチャネ
ルポインタで表わすことのできる値よりも小さくなると
、チャネルは最終カウントフレームでそのカウント値を
送る。このオペレーションの場合、終端ポインタと呼ば
れるレジスタが提供され、そのカウントフレームにおけ
るカウント値がこの終端ポインタにロードされる。
アウトボードボックスはインターフェースポインタと終
端ポインタを比較して、最後のバイトがコントロールユ
ニットからアウトボードボックスへ転送されたときエン
ディングシーケンスを開始する。終端ポインタは要求カ
ウンタ47と類似するものである。アウトボードボック
スが最後のカウント値に対して1つのフレームを受信す
゛ると、このステータスを適当な方法で(好適にはラッ
チをセットすることによって)記録する。アウトボード
ボックスは既に説明したようなやり方でこれらのカウン
タを操作し、付加的に適当な方法でインターフェースポ
インタと終端ポインタとを比較して最後のバイトがコン
トロールユニットから転送されたことを検出する。最後
のバイトがコントロールユニットから転送されると、ア
ウトボードボックスは後の第10節で説明するようにエ
ンディングシーケンスを開始する。チャネルは最終カウ
ントフレームでこのカウント値を送る。最終カウントフ
レームは、これが異なるコマンドフィールド31aで識
別されるという点を除き、第3図に示したフレーム31
と同様なものである。
最後のバイトが受信されるとすぐ、全てのバイトがバッ
ファから取り出されるよりも前に次のデータ転送に備え
てアウトボードボックスがバッファのロードを開始する
ことが好ましい。
チャネルポインタが225に達した後5次のバイトでチ
ャネルポインタはゼロに戻る(長カウンタなら、ビット
位1日に桁上げ出力を生ずる)。
この状況は通常のバッファ管理手法で正しく処理される
0通常のバッファ管理手法とは、書込みポインタが読取
りポインタより常に先行していることをいう。しかしな
がらカウント値が循環したとき何らかの障害が発生する
こともあるので、後で説明するように障害を生じさせて
いないためのチェック用としてバイトの個数をチャネル
に知らせる。(もし障害が検知されれば1通常の回復手
法が使用される。) D7.事前取出しを伴う書込みオペレーション(第4図
) 第4図は第3図とほぼ同様な図である。ただし。
第4図は書込みオペレーションの場合における構成要素
とその相互接続の様子を示すものである。
書込みオペレーションを始めるにあたって、チャネル前
段部は書込みコマンドを有するフレーム52をアウトボ
ードボックスに送る。第3図に示す如く、このフレーム
はアウトボードボックスでデコードされ、データ送信カ
ウンタ47がゼロにリセットされる。チャネル前段部は
プロセッサのメモリからバイトを事前に取出して1以上
のフレーム51をアウトボードボックスのフレーム受信
部へ送る。フレーム51には1個又は適切な個数のバイ
トを載せることができる。フレーム処理部は直列データ
フレーム51のデータ部分を並列形式に変換しこれをバ
ス27を介してバッファ39の入力レジスタに送る。
アウトボードボックスはバッファが空でない限すバイト
をコントローラへ送信する。バッファ39のおかげによ
りチャネル前段部はコントローラを伴うアウトボードボ
ックスのオペレーションと独立して動作することができ
る。
1つのバイトがバッファ39から取り出されてコントロ
ーラに送られると、データ送信カウンタが増分される。
カウント値が成るしきい値に等しいとき、そのカウント
値がフレーム処理部にゲートされてステータスフレーム
のフィールド53bが構成される。これはチャネル前段
部に送られる。
チャネル前段部がフレーム53を受信したときさらにデ
ータを転送すべき場合は、別のフレーム52を送って全
説明したオペレーションを続行する。
もし終端ポインタが考え得る最大炎のバイトカウントを
保持するに十分な長さを有するなら、読取りオペレーシ
ョンのところで説明したように、CCWにおけるカウン
ト値はアウトボードボックスに送られて終端ポインタに
ロードされる。
D8.エンディングシーケンス 最後のバイトを転送する場合、コントロールユニットは
、普通、″サービスイン″を活動化し、アウトボードボ
ックスはそのバイトをバスアウトに出してパサービスア
ウト″を活動化する。既に説明したように、コントロー
ルユニットは別のバイトが予想されるときは゛サービス
イン”を活動化し別のバイトが予想されないときはパス
テータスイン″を活動化する。アウトボードボックスが
11ステータスイン″を予想しているときにもしコント
ロールユニットが“サービスイン”を活動化すると、ア
ウトボードボックスはパコマンドアウト″を活動化して
読取りオペレーションを停止する(バッファ式リンクを
具備しないシステムではこれはチャネルによって行われ
ていたものである)″コマンドアウト″に応答して、コ
ントロールユニットはデバイスステータスをバスインに
出して゛′ステータスイン”を活動化する。
以上のオペレーションの後、アウトボードボックスはビ
ットCoSが所定の値にセットされたステータスフレー
ムをチャネルに送る。先の第1の例では、ビットCO8
は、″コマンドアウト″がコントロールユニットへ送ら
れなかったということを表わし、先の第2の例では、″
コマンドアウト”が送られたということを表わす。
チャネルポインタとインターフェースポインタとの差は
バッファにおけるバイトの個数を表わす。
アウトボードボックスは残りのカウントを計算しそれを
流入残余カウントフレームで送る。これらの計算を行う
ため、アウトボードボックスは通常の算術論理演算装置
又はその他の適切な手段を具備するが説明は省略する。
書込みオペレーションが完了すると、チャネルは普通に
アウトボードボックスの残余カウントから残余バイトを
計算する。チャネルの残余カウントは主プロセツサのメ
モリにおけるステータスワードに記憶される。ステータ
スワードはこの残余バイトカウントと、一定のエラーが
検出されたかどうかを知らせるためのフラグとを有して
いる。
D9.チャネル1 チャネル前段部は既に説明したような構成要素を有して
いる。これはアウトボードボックスが直列リンクとの通
信を行うためである。アウトボードボックスは、アウト
ボックスとコントローラとの間1通信を行うための前述
の構成要素を具備するチャネルと通信する。チャネル前
段部は第3図および第4図に示したバッファ49と、フ
レームカウンタとを具備する。これらについては既に説
明した通りである。
チャネル チャネルはバイトカウントを処理するための通常の手段
を有する。その他、チャネルは2つの事前取出し部にお
けるバッファにあるバイトのバイトカウントを生成する
よう修正されている。
データ転送の終りに、アウトボードボックスは、エンデ
ィング装置カウントに関する情報を含むエンディングス
テータスバイトをチャネルに送る。
書込みオペレーションのはじめでは、CCWは転送すべ
きバイトの個数を有しており、チャネルのアウトボード
ボックスにおけるデータ送信/要求カウンタと、チャネ
ル前段部におけるフレームカウンタは両方ともゼロであ
り、2つの事前取出しバッファは空である。チャネル前
段部はチャネルからバイトを事前に取り出すと、これに
応じてチャネルはそのCCWのバイトカウント値を減分
する。この例ではこの時点で、コントロールユニットへ
は実際には1つのバイトも転送されなかったので、CC
Wにおけるこのカウント値は転送された実際の個数にす
ぎない、CCWのカウントが減分された場合のバイトは
チャネルのアウトボードボックスのバッファ存在し、ア
ウトボードボックスにあるバイト送信カウンタはゼロで
ある。というのはバイトが1つも転送されなかったから
である。
アウトボードボックスはこれらのバイトを考えに入れて
いる。チャネルのアウトボードボックスはコントローラ
に1つのバイトを送ると、フレームカウンタを減分する
。かくして一般に、CCWおよびフレームカウンタは正
しいバイトカウントを与えることとなる。
読取りオペレーションの終了のし方が正常でないときは
、コントローラによって実際に送られたバイトの個数は
、もとのバイトカウントからチャネルによって減分され
た数に、チャネルのアウトボードボックスのカウンタお
よびチャネルのフレームカウンタのカウント値を加えた
ものに等しい。
アウトボードボックスのバイト要求カウントはステータ
スウフレームでチャネル前段部に送られる。
データストリーム化と呼ばれる通常のデータ転送オペレ
ーションにおいては、1つのバイトは″サービスイン″
又は″サービスアウト″で転送される。これらのタグの
他方は既に説明したようにして使用されるが、コン1−
ロールユニットは先行するバイトの肯定応答を待たずに
次のバイト(すなわち要求)を送る。(“サービスイン
”および″サービスアウト″というタグは、これと同様
な″データイン″および“データアウト”というタグと
交互に存在する。)通常の並列バスは、コントロールユ
ニットからの一連のデータバイト(すなわち一連のタグ
)とチャネルからの一連のバイト(すなわち一連の肯定
応答用のタグ)とを保持するディレィラインとして機能
するのに十分な長さを有している。2本のライン上での
タグの数は、コントロールユニットが送ったバイトすな
わち要求の数と、コントロールユニットが受は取った肯
定応答の数との差になる。普通、この差が所定の値に達
したときコントロールユニットはエラーの発生を表示す
る0以上のデータストリーム化のオペレーションはバッ
ファをバイパスしたものである。
入力バスおよび出力バスを組合せた長さもまた、最初の
バイトすなわち要求を送ってから最初のバイトすなわち
19定応答を受は取るまでの時間的な遅れを招来するの
で、コントロールユニットには。
肯定応答が所定の間隔内に受は取られなかった場合にエ
ラーを知らせるためのタイマ機構を具備してもよい。
これらの遅延は、多くのアプリケーションでは直列リン
クの長さを考えると、たいていの場合その範囲内に入っ
ている。これまでに説明したようなインターロック式の
読取りデータ転送の場合はこのような問題は生じない。
何故なら、アウトボードボックスはコントロールユニッ
トからの要求の受取りに応じて肯定応答するからである
データストリーム化の場合にアウトボードボックスのバ
ッファを使用するにあたって、アウトボードボックスは
インターロックされたデータ転送のために既に説明した
ようなやり方でデータストリーム化するバイトを取り扱
う、これにより、コントロールユニットの立場からいえ
ば、リンク上の時間的な遅れならびに要求および背定応
答の個数が減少される。
E2発明の効果 本発明によればコントロールユニットとチャネルとの間
のデータ転送においてそのバイトカウントを維持できる
ので、従来のプロトコルを維持しながらデータ転送を行
うことが可能となる。
【図面の簡単な説明】
第1図は本発明を適用したシステムにおけるチャネルと
コントロールユニットとの間のデータの一般的なフロー
を示すチャネルサブシステムの概観を表すブロック図、
第2図はチャネル前段部とアウトボードボックスとの相
互接続の様子を示す図、第3図はアウトボードボックス
の読取りオペレーションにおける事前取出しを説明する
図、第4図はアウトボードボックスの書込みオペレーシ
ョンにおける事前取出しを説明する図、第5図はチャネ
ルの梼成の一部を表わす図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名) FIG。1 千人・本IL 切フレステム

Claims (1)

  1. 【特許請求の範囲】 コントロールユニットの並列バスとチャネルの直列リン
    クとを相互接続する相互接続機構を有するデータ処理シ
    ステムであって、 バイト数を記憶するバイト数記憶手段と、バッファメモ
    リと、該バッファメモリに記憶すべきデータについての
    並列バスと、該バッファメモリから取り出されるデータ
    についての並列バスと、所定のプロトコルに基づいて読
    取りオペレーション及び書込みオペレーションを処理す
    るため、前記バッファメモリの前記並列バスと前記コン
    トロールユニットの前記並列バスとを接続する手段と、 前記直列リンクを介して伝送されるフレームの送受を行
    う送受手段であって、前記直列リンクにおけるフレーム
    の直列フォーマットと前記並列リンクにおけるフレーム
    の並列フォーマットとの間のフォーマット変換を行う手
    段を含むものと、を具備し、前記フレームがデータフィ
    ールド及びコマンドフィールドを含み該コマンドフィー
    ルドにより前記データフィールドがデータ転送について
    のバイト数を有するものであるのか又はデータ転送につ
    いてのデータを有するものであるかを識別して前記バイ
    ト数を前記バイト数記憶手段に転送するようにしたこと
    を特徴とするデータ処理システム。
JP62057031A 1986-04-22 1987-03-13 デ−タ処理システム Granted JPS62251951A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85464686A 1986-04-22 1986-04-22
US854646 1997-05-12

Publications (2)

Publication Number Publication Date
JPS62251951A true JPS62251951A (ja) 1987-11-02
JPH0528419B2 JPH0528419B2 (ja) 1993-04-26

Family

ID=25319233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62057031A Granted JPS62251951A (ja) 1986-04-22 1987-03-13 デ−タ処理システム

Country Status (3)

Country Link
EP (1) EP0242634B1 (ja)
JP (1) JPS62251951A (ja)
DE (1) DE3784182T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256042A (ja) * 1988-08-20 1990-02-26 Fujitsu Ltd 計算機システム
US5524217A (en) * 1992-06-24 1996-06-04 International Business Machines Corporation System having different signal transfer modes for detecting and restoring logical levels and blocking operation when restored signal outputs are on a predetermined level
US5557754A (en) * 1992-06-22 1996-09-17 International Business Machines Corporation Computer system and system expansion unit
JP2007200200A (ja) * 2006-01-30 2007-08-09 Sony Corp 通信装置、データ処理装置、近接通信装置、通信方法、およびプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077656A (en) * 1986-03-20 1991-12-31 Channelnet Corporation CPU channel to control unit extender
EP0313668B1 (en) * 1987-05-06 1997-08-06 Fujitsu Ten, Ltd. Data transfer device
US4965793A (en) * 1989-02-03 1990-10-23 Digital Equipment Corporation Method and apparatus for interfacing a system control unit for a multi-processor
EP0412269A3 (en) * 1989-08-11 1992-02-26 International Business Machines Corporation Channel and extender unit operable with byte mode or non-byte mode control units
EP0473059B1 (en) * 1990-08-22 2000-05-31 Sanyo Electric Co., Limited. Communication control system
US5588120A (en) * 1994-10-03 1996-12-24 Sanyo Electric Co., Ltd. Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
US6134607A (en) * 1998-04-03 2000-10-17 Avid Technology, Inc. Method and apparatus for controlling data flow between devices connected by a memory
US6173354B1 (en) * 1998-12-04 2001-01-09 Intel Corporation Method and apparatus for decoupling internal latencies of a bus bridge from those on an external bus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393464A (en) * 1980-12-12 1983-07-12 Ncr Corporation Chip topography for integrated circuit communication controller
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
US4712176A (en) * 1985-02-11 1987-12-08 International Business Machines Corp. Serial channel interface with method and apparatus for handling data streaming and data interlocked modes of data transfer

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256042A (ja) * 1988-08-20 1990-02-26 Fujitsu Ltd 計算機システム
US5557754A (en) * 1992-06-22 1996-09-17 International Business Machines Corporation Computer system and system expansion unit
US5524217A (en) * 1992-06-24 1996-06-04 International Business Machines Corporation System having different signal transfer modes for detecting and restoring logical levels and blocking operation when restored signal outputs are on a predetermined level
JP2007200200A (ja) * 2006-01-30 2007-08-09 Sony Corp 通信装置、データ処理装置、近接通信装置、通信方法、およびプログラム
JP4561645B2 (ja) * 2006-01-30 2010-10-13 ソニー株式会社 通信装置、データ処理装置、近接通信装置、通信方法、およびプログラム
US8559875B2 (en) 2006-01-30 2013-10-15 Sony Corporation Communication device, data processing device, near field communication device, and method and program for communication

Also Published As

Publication number Publication date
EP0242634A2 (en) 1987-10-28
DE3784182D1 (de) 1993-03-25
DE3784182T2 (de) 1993-08-19
EP0242634B1 (en) 1993-02-17
JPH0528419B2 (ja) 1993-04-26
EP0242634A3 (en) 1990-03-07

Similar Documents

Publication Publication Date Title
US4866609A (en) Byte count handling in serial channel extender with buffering for data pre-fetch
EP0412268B1 (en) Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
US6715000B2 (en) Method and device for providing high data rate for a serial peripheral interface
US4860244A (en) Buffer system for input/output portion of digital data processing system
US8140713B2 (en) System and program products for facilitating input/output processing by using transport control words to reduce input/output communications
US5604866A (en) Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver
US20080147890A1 (en) Facilitating access to status and measurement data associated with input/output processing
JPS604624B2 (ja) 正しくない情報フレ−ムを再送するシステム
US7444440B2 (en) Method and device for providing high data rate for a serial peripheral interface
JPS62251951A (ja) デ−タ処理システム
EP0539782B1 (en) Circuit for controlling data transfer from VME bus to SCSI disk drive
US6751686B2 (en) Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium
US6137804A (en) System and method for automatic retry of transmit, independent of a host processor, after an underrun occurs in a LAN
JPS6292022A (ja) データ転送制御方法
US5023829A (en) Data transfer system having a channel adapter with varying data transfer lengths
CA2045063C (en) Dual interleaved output queue
US6256685B1 (en) Delay data block release system in a disk drive
US4751632A (en) Data processor having multiple cycle operand cycles
EP0974910A2 (en) Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
JP3261665B2 (ja) データ転送方法及びデータ処理システム
US6745263B2 (en) Automated multiple data unit transfers between a host device and a storage medium
JPH069036B2 (ja) 入出力制御装置
CA1233265A (en) Data processor having multiple bus cycle operand cycles
JP3442099B2 (ja) データ転送記憶装置
US20030172071A1 (en) Buffer management for data transfers between a host device and a storage medium