JPH0528419B2 - - Google Patents

Info

Publication number
JPH0528419B2
JPH0528419B2 JP62057031A JP5703187A JPH0528419B2 JP H0528419 B2 JPH0528419 B2 JP H0528419B2 JP 62057031 A JP62057031 A JP 62057031A JP 5703187 A JP5703187 A JP 5703187A JP H0528419 B2 JPH0528419 B2 JP H0528419B2
Authority
JP
Japan
Prior art keywords
channel
data
frame
bytes
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.)
Expired - Lifetime
Application number
JP62057031A
Other languages
English (en)
Other versions
JPS62251951A (ja
Inventor
Ansonii Karuta Sarubatoa
Ansonii Guretsugu Toomasu
Sukaashinsuki Reon
Sutorangueizu Richaado
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

Description

【発明の詳細な説明】 以下の順序に従つて本発明を説明する。
A 産業上の利用分野 B 従来技術及び問題点 C 問題点を解決するための手段 D 実施例 D1 実施例の概要 D2 第1図に示すシステム D3 第2図の構成要素 D4 第1図および第2図と第3図との関係 D5 チヤネルカウンタおよびバイトカウントに
関するチヤネルオペレーシヨン(第5図) D6 第3図のカウンタ D7 事前取出しを伴う書込みオペレーシヨン
(第4図) D8 エンデイングシーケンス D9 チヤネル前段部 D10 他のオペレーシヨン E 発明の効果 A 産業上の利用分野 本発明は並列バスを有するコントロールユニツ
トと、直列リンクで動作するデータチヤネルとを
相互接続するための改善された機構を具備するデ
ータ処理システムに関する。
B 従来技術及び問題点 デイスク記憶装置などのI/O装置が中央プロ
セツサの主メモリにバスを介して接続され、その
バスが集合的にデータチヤネルと呼ばれている構
成要素の1つであるようなデータ処理システムに
おいて本発明を適用することができる。“入力”
とは、コントローラからデータチヤネルへ向かう
方向でのデータ転送をいい、また“出力”とはデ
ータチヤネルからコントローラへ向かう方向での
データ転送をいう。データチヤネルは、バスの中
央プロセツサ側におけるデータ転送を処理するチ
ヤネルプロセツサと呼ばれるプロセツサを有す
る。装置の観点からいうと、“チヤネル”なる用
語はバス、チヤネルプロセツサ、又はその双方の
いずれをも意味するものとして使用されるのが普
通である。一般にデータ処理システムは幾つかの
チヤネルを有している。
チヤネルプロセツサはこのようなデータ転送の
ため中央プロセツサと協働して、たとえば、チヤ
ネルオペレーシヨンを開始し完了したデータ転送
のステータスを後で報告するのに必要な情報を取
得する。そういう機能は、チヤネルプロセツサ、
中央プロセツサ、および付加的なプロセツサの間
で割り振ることができる。
バスの装置側では、データ転送は装置コントロ
ールユニツト又はコントローラと呼ばれるプロセ
ツサで処理される。チヤネル、装置、コントロー
ラ、および関連する構成要素はチヤネルサブシス
テムと呼ばれる。
直列および並列形式のメツセージ 本発明は次のようなシステムにおいて有益であ
る。すなわち、並列的な複数の導体を有するケー
ブルと、1本の入力ライン及び1本の出力ライン
を有する直列リンクとを含むようなバスを具備す
るシステムである。“バス”という用語は直列バ
ス又は並列バスのいずれを指す場合にも使用され
る。“メツセージ”という用語は、バスのうちの
直列部分及び並列部分の両方を介して転送される
データの単位を一般化するのに役立つように使用
される。並列バスでは、メツセージはそのケーブ
ルの全ての導体の2値信号によつて、又はより簡
便には、記述される特定のオペレーシヨンに関係
する特定の信号によつて表わされる。直列リンク
では、1つのメツセージは多重ビツト直列フレー
ムの形で伝送される。また、或るシステムでは、
直列フレームは並列バスのメツセージビツト又は
それらをコード化したものを伝達する。
本発明の一般的な目的は、直列リンクなしの並
列バス上のコントローラによつて用いられる従来
のプロトコルを維持しながら新たな機能を加える
ための付加的な情報を伝達する新規な直列フレー
ムを提供することにある。より具体的には、チヤ
ネルとコントロールユニツトとが従来の並列バス
を介して交換されるバイトカウント情報を提供す
ることである。
後で述べる本発明の理解を助けるため、まず従
来の並列バス及び直列バスの構造及びオペレーシ
ヨンを概説しておく。
並列バス及び標準的なインターフエースプロトコ
ル 好適な並列チヤネルの物理的な構造はよく知ら
れており、そのバスのオペレーシヨンに関する好
適なプロトコルはたとえば、“IBM System/
360 and system/370 I/O Interface
Channel to Control Unit Original Equipment
Manufactures′ Information”(GA22−6974)に
記載されている。
並列バスを介するメツセージは、データ転送の
際には1バイト以上のデータを運び他のオペレー
シヨンの際にはアドレス又はコマンドもしくはス
テータスを運ぶ1つのフイールドを有している。
チヤネルからコントローラへこのフイールドを伝
送するラインは“バスアウト(Bus Out)”と呼
ばれ、コントローラからチヤネルへこのフイール
ドを伝送するラインは“バスイン(Bus In)”と
呼ばれる。このフイールドが2バイト以上の幅を
有する場合は、これらのバイトはバス#0イン、
バス#1イン(以下同様)のようにいう。普通、
1バイトは8ビツトであるが、もつと一般的にい
えば、1バイトとは、そのシステムによつて取り
扱われる多重ビツトデータの最小単位のことをい
う。メツセージはまた、バスイン及びバスアウト
を介するデータの意味を伝える制御ビツトフイー
ルドを有する。このフイールドはデータ、アドレ
ス、ステータスまたはコマンドとして解釈でき、
そのような信号がない場合は無効なものとなる。
一例を挙げれば、“サービスアウト(Service
Out)”および“サービスイン(Service In)”と
呼ばれるタグは、バスアウト又はバスインが有効
なデータバイトを伝達することを示すチヤネル、
およびそのバイトが受信されたという肯定応答を
するコントロールユニツトによつて活動化または
非活動化される。
バス上のメツセージからいえば、データ転送は
3つの段階を踏む。すなわち、チヤネルによる
I/O装置の初期選択と、データ転送と、エンデ
イングシーケンスである。コントローラはこのエ
ンデイングシーケンスにおいてオペレーシヨンに
ついての成功不成功を報告する。遂行すべきオペ
レーシヨンは部分には、チヤネルコマンドワード
(以下、「CCW」という)と呼ばれる制御ブロツ
クによつて定義される。データ転送に関する
CCWは、読取り、書込み、および逆読みと呼ば
れる。他のCCWは関連するオペレーシヨンにつ
いての情報を供給する。たとえば、デイスクの読
取り/書込み機構を、読取り又は書込みオペレー
シヨンが起こるデータ単位の始点に位置付けると
いうオペレーシヨンについての情報である。
書込みオペレーシヨンの間、コントローラは自
分の受け取るバイトを1つ1つ要求し、読取りオ
ペレーシヨンの間、チヤネルは自分の受け取るバ
イトに1つ1つの肯定応答する。コントローラ
は、エンデイングシーケンスによつて、そのオペ
レーシヨンが成功したか又は何らかの障害が発生
したのかを報告できる。たとえば、コントローラ
が或るバイトを受け取つたがデータを装置に実際
には書き込むことができなかつたという場合であ
る。かかる場合にはエンデイングステータスで何
らかの措置が必要であることを示すこととなる。
直列リンクおよび直列フレームのフオーマツト 直列リンクの物理的な構造もよく知られてい
る。LynchおよびThornの論文“Serial Channel
to I/O Interface”、IBM Technical
Disclosure Bulletin、1977年1月、第3139頁な
いし第3143頁に、並列バスの拡張手段として並列
バスシステムに接続される直列リンクについての
記載がある。この直列リンクはIBM3044チヤネ
ルリンク拡張機構として販売されている。
直列リンクは1本の入力ラインと1本の出力ラ
インを有している。直列リンクはまたその両端に
直列フレームを処理するレシーバとトランスミツ
タを有する。入力ラインと出力ラインはまとめて
リンク接続と呼ばれる。好適なリンク接続は光学
的信号を伝達する2つの光フアイバを有してい
る。あるいは、リンクは電気的信号を伝達する銅
線を有するものでもよい。また、複数のフレーム
を並列して伝達するため、またはフレームとは別
にタグを伝達するために数本のラインを各方向に
有するものでもよい。リンクのチヤネル側にある
機構は、コントロールユニツトがシステムにおけ
る並列バスを直列リンクなしに取り扱うのと同じ
一般的な方法で、チヤネルへの並列バスを取り扱
う。同様に、リンクのコントロールユニツト側に
ある機構は、チヤネルがシステムにおける並列バ
スを直列リンクなしに取り扱うのと同じ一般的な
方法で、コントロールユニツトへの並列バスを取
り扱う。
直列リンクの両端にある機構は様々な名前で呼
ばれる。本明細書ではリンクのチヤネル側にある
機構のことを“インボードボツクス”、リンクの
コントローラ側にある機構のことを“アウトボー
ドボツクス”ということにする。
バイトカウント、装置カウント、および残余カウ
ント 本発明の目的は正確なバイトカウントを維持す
ることである。そこで、チヤネルおよびコントロ
ールユニツトに関する従来のバイトカウントオペ
レーシヨンを概説しておく。従来のチヤネルおよ
びコントロールユニツトでは、カウントの制御は
入力オペレーシヨンでも出力オペレーシヨンでも
同じである。読取りおよび書込みの場合、チヤネ
ルはCCWから抽出されたバイトカウントを有す
る。チヤネルは書込みオペレーシヨンの際にはこ
のバイト数の送信を試行し、読取りオペレーシヨ
ンの際にはこのバイト数の受信を試行する。
コントロールユニツトもまたバイトカウントを
有し、読取りオペレーシヨンの際にはチヤネルへ
このバイト数の送信を試行し、書込みオペレーシ
ヨンの際にはチヤネルからこのバイト数の受信を
試行する。コントロールユニツトについてのバイ
トカウントはその物理的な特性または記録媒体に
よつて決まる。たとえば、80列の読取り/パンチ
カードは常に1列ごとに1バイトで80バイトの送
信または受信を試行する。
テープ駆動装置のバイトカウントはテープの長
さが有限であるといことに適している。テープの
書込みオペレーシヨン(出力オペレーシヨン)の
際、コントロールユニツトのバイトカウントはテ
ープの長さである。テープの読取りオペレーシヨ
ンの際、、コントロールユニツトのバイトカウン
トはテープ媒体それ自身のレコード長で決まる。
また別の例として、デイスク記憶装置のコント
ロールユニツトがある。デイスクをフオーマツテ
イングすると、入出力オペレーシヨンの特定のバ
イトカウントが設定される。
各I/Oオペレーシヨンの結果は、チヤネルス
テータスワード(CSW)と呼ばれる制御ブロツ
クを介してチヤネルによつてI/O制御プログラ
ムに伝えられる。これに関係するフイールドは残
余バイトカウントと長さが正しくないことを示す
標識(IL標識という)である。
残余バイトカウントおよびIL標識に関してい
うと、全てのI/Oデータ転送(入力オペレーシ
ヨンおよび出力オペレーシヨンの双方)は次の3
つの異なるケースでしか終了できない。
(1) CCWカウントが装置カウントに等しい:書
込みオペレーシヨンにおいて、コントロールユ
ニツトはチヤネルが受諾するバイト数を転送し
たか、または読取りオペレーシヨンにおいてコ
ントロールユニツトが、チヤネルがそのCCW
で指定されたバイト数を受信したときデータの
転送を停止した。
この場合、チヤネルは残余バイトをゼロにセ
ツトして、そのI/Oオペレーシヨンの全ての
データの転送が終了したことを示す。チヤネル
はCSWにあるIL標識をゼロにセツトして、コ
ントロールユニツトがCCWにあるカウント値
よりも多いバイト数を要求しないかまたはその
送信を試行しなかつたことを示す。
(2) CCWのカウントが装置カウントよりも小さ
い:読取りオペレーシヨンにおいてコントロー
ルユニツトがチヤネルが受諾するよりも多いバ
イトの送信を試行したか、または書込みオペレ
ーシヨンにおいてチヤネルがCCWにおいて指
定されたバイト数を転送しコントロールユニツ
トがよりたくさんのデータの要求を試行した
(これは“ステータスイン”ではなく、“サービ
スイン”または“データイン”を活動化するこ
とによつて行われる)。チヤネルは“コマンド
アウト”を活動化することによつてサービスイ
ンまたはデータインを応答して、データ転送が
終了したことをコントロールユニツトに知らせ
る。
この場合、チヤネルはCSWにある残余バイ
トカウントをゼロにセツトする(転送すべきデ
ータはもうない)。チヤネルもまたCSWにある
IL標識を真1にセツトして、“コマンドアウ
ト”を活動化することによりデータ転送を終了
しなければならないということを示す。
(3) CCWのカウントが装置カウントより大き
い:チヤネルがCCWで指定されたバイト数の
転送を終了する前にコントロールユニツトがデ
ータ転送を停止した。(コントロールユニツト
はサービスインまたはデータインではなくステ
ータスインを活動化することによつて書込みオ
ペレーシヨンを停止する。) この場合、チヤネルはCSWにある残余バイ
トカウントを、転送されなかつたバイト数にセ
ツトする。すなわち、もとのCCWのカウント
から、コントロールユニツトとの間で転送され
たバイト数を引いたものである。チヤネルもま
た、CSWにあるIL標識を真にセツトする(残
余バイトカウントが非ゼロだつたのでステータ
スインは早く受信された)。
以上示した如く、従来のチヤネルサブシステム
においてはバイトカウントの取扱いに問題があ
る。
C 問題点を解決するための手段 本発明の目的は直列リンクを具備した従来のチ
ヤネルサブシステムにおいてバイトのカウントを
維持して従来のプロトコルとの整合をとることに
ある。
この目的を達成するため、コントロールユニツ
トの並列バスとチヤネルの直列リンクとを相互接
合する相互接続機構を有する本発明のデータ処理
システムはバイト数を記憶するバイト数記憶手段
と、バツフアメモリと、該バツフアメモリに記憶
すべきデータのための並列バスと、該バツフアメ
モリから取り出されるデータのための並列バス
と、所定のプロトコルによつて読取りオペレーシ
ヨン及び書込みオペレーシヨンを処理するため、
前記バツフアメモリの前記並列バスと前記コント
ロールユニツトの前記並列バスとを接続する手段
と、前記直列リンクを介して伝送されるフレーム
の送受を行う送受手段であつて、前記直列リンク
におけるフレームの直列フオーマツトと前記並列
リンクにおけるフレームの並列フオーマツトとの
間のフオーマツト変換を行う手段を含むものと、
を具備し、前記フレームがデータフイールド、及
びコマンドフイールドを含み該コマンドフイール
ドにより前記データフイールドがデータ転送につ
いてのバイト数を有するものであるか又はデータ
転送についてのデータを有するものであるのかを
識別して前記バイト数を前記バイト数記憶手段に
転送するようにしたことを特徴としている。
以下、本発明の作用を実施例と共に説明する。
D 実施例 D1 実施例の概要 本実施例によるチヤネルサブシステムは、1
つの方向でメツセージを送信し他方の方向で肯
定応答を送信するため付加的な期間によつてチ
ヤネルとコントロールユニツトの間の通信を遅
らせる通常の直列式拡張リンクを設けたもの
で、さらに、バツフアとそれに関連した構成要
素(チヤネルのアウトボードボツクスと呼ばれ
る)を具備する。これは肯定応答ルーチンを待
つことなくプロセツサのメモリから又は周辺装
置からのデータの事前取出しの際に使用される
もので、インターロツクされたデータ転送又は
インターロツクされていないデータ転送(デー
タストリームと呼ばれる)の両方で共通に使用
される。カウンタシステム及びその他の構成要
素ならびに関連するオペレーシヨンは、事前取
出しバツフアがなく短い直列リンクだけを具備
したシステムにおいて保持されていたであろう
正しいバイトカウントを維持するように設けら
れている。また、カウントフレーム及びステー
タスフレームは、チヤネルとアウトボードボツ
クスとの間でのバイトカウント及びその他のス
テータス情送を送るために設けられる。
本発明の目的は、データバツフアを有するア
ウトボードボツクスおよび直列リンクによつて
コントロールユニツトおよびチヤネルが分離さ
れるようなシステムにおいて正しいバイトカウ
ントを維持することである。これらの構成要素
はこれまでに説明してきたバイトカウント情報
の直列の交換を禁ずる。実施例において、直列
リンクおよび並列バス上のメツセージは以下の
ようにして転送される。
アウトボードボツクスのデータバツフアは、
書込みオペレーシヨンの際には主プロセツサの
メモリからのデータの取出しに使用され、読取
りオペレーシヨンの際にはコントロールユニツ
トからのデータの取出しに使用される。このオ
ペレーシヨンが“取出し”と呼ばれるのは次の
ような理由による。すなわち、チヤネルは書込
みオペレーシヨンの際にはアウトボードボツク
スからの従来の肯定応答を持たず、読取りオペ
レーシヨンの際にはチヤネルからの肯定応答を
待つことがないからである。
チヤネル前段部は、従来のチヤネルと協働す
る物理的には別の構成要素である。あるいは、
チヤネル前段部は、チヤネルのプロセツサと論
理的または物理的に統合してもよい。アウトボ
ードボツクスの側からみれば、これらの2つの
態様は同じことである。大部分、本発明はアウ
トボートボツクスの立場からのものであり、
“チヤネル”という用語は(1)チヤネルおよび論
理的または物理的に分離したチヤネル前段部、
(2)チヤネル前段部の構成要素および機能を有す
る等価なチヤネルの両方を意味する。また“分
離したチヤネル前段部”および“統合されたチ
ヤネル”はこれらの実施例がさらに詳細に説明
される際に使用される。この概説では、分離し
たチヤネル前段部は一般的にはアウトボードボ
ツクスと同様なものと考えることができる。
チヤネルはフレームカウンタと呼ばれるカウ
ンタを有している。フレームカウンタは、受信
はされたが肯定応答のされなかつたバイト数を
追跡するものである。チヤネルもまた、CCW
における通常のバイトカウントを維持する。ア
ウトボードボツクスのバツフアが一杯になるこ
とがフレームカウンタによつて示されたとき、
または現在のバイト数が転送された後(すなわ
ちCCWのカウンタが従来のようにカウントし
つくされたとき)、チヤネルはプロセツサのメ
モリからのデータ転送を停止する。読取りオペ
レーシヨンの際、チヤネルはフレームカウンタ
を用いてチヤネルバツフアに関する可能なオー
バーランを検出する。これは後で説明する。
分離したチヤネル前段部を具備するシステム
においては、チヤネルは従来と同様にCCWの
バイトカウンフイールドを保持し、チヤネル前
段部はフレームカウンタを保持する。チヤネル
前段部は高レートのデータ転送を維持するた
め、並列バス上のデータ転送タグを上げ下げす
る(そうでなければコントロールユニツトがこ
れをしていたものである)。チヤネル前段部は
また、従来のタグシーケンスを用いてバツフア
が一杯になるとフレームカウンタが示したとき
データ転送を停止または遅延する。統合システ
ムの場合は、チヤネルはデータのフレームを直
接送る。両方の実施例においては、コントロー
ルユニツトが並列バスを介してアウトボートボ
ツクスに通常の肯定応答をした後、アウトボー
ドボツクスはチヤネルに実際の肯定応答を供給
する。
インターロツクされた書込みオペレーシヨン インターロツクされた書込みオペレーシヨン
においては、チヤネルは主プロセツサのメモリ
からバイトを取り出してこれより従来と同様の
直列フレームを構成し、そのバイトをアウトボ
ードボークスの構成要素に転送する。そうして
これらのバイトはアウトボードボツクスにおけ
るバツフアに記憶される。アウトボードボツク
スはオペレーシヨンのこのステツプでは転送を
肯定応答しないが、チヤネルは高データ速度で
バイトをアウトボードボツクスに送り続けてい
る。即時的な肯定応答を使わないバイト転送に
よつてデータ転送の高速化が図れるけれども、
バイトカウントの維持の問題は面倒になる。
アウトボードボツクスは次の3つのバイト数
を知らせるためのカウンタを具備する。1つ
は、チヤネルから受け取つたバイト数、1つ
は、コントロールユニツトへ転送したバイト
数、もう1つは、バツフアにあるバイトの数で
ある。書込みオペレーシヨンの際には、アウト
ボードボツクスはこれらのカウンタを使つてバ
ツフアからコントロールユニツトへのデータ転
送を制御する。アウトボードボツクスはまた、
バイトカウントを維持するためにもこれらのカ
ウンタを利用する。
アウトボードボツクスはバイトをコントロー
ルユニツトへ送つた後にのみ、チヤネルへ肯定
応答フレームを送信する。1つの実施例では、
アウトボードボツクスはコントロールユニツト
へ送られる各バイトごとに肯定応答フレームを
送信する。肯定応答フレームは空のデータフレ
ームでもよい。
1つの実施例では、アウトボードボツクス
は、コントロールユニツトへ送られたバイトの
数のカウント値を有する肯定応答フレームを送
信する。好適にはシステムのデータブロツクの
サイズは固定である。
インターロツクされた読取りオペレーシヨン インターロツクされた読取りオペレーシヨン
においては、アウトボードボツクスにあるバツ
フアの使い方は次の2つのいずれでもよい。1
つの実施例では、アウトボードボツクスにある
バツフアはバイパスされ、数バイトがチヤネル
に直接送られる。各フーム中の1つのバイト
は、それらがコントロールユニツトから受け取
つたのと同程度の速さでアウトボードボツクス
から送信される。バツフアが使用されない場合
でも、チヤネルサブシステムにおいてはバツフ
アリングの効果がある。というのは長い直列ラ
インは数バイトを保持するからである。
好適には、入力バイト用に通常のバツフアを
有している。チヤネルはバイトの要求およびバ
イトの受取りに応じてフレームカウンタを歩進
させる。そしてチヤネルは、チヤネルのバツフ
アがオーバーランに近づいてきたとフレームカ
ウントにより知らされたとき、肯定応答フレー
ムを停止してアウトボードボツクスを減速させ
る。
1つの実施例では、コントロールユニツトか
らのバイトはアウトボードボツクスのバツフア
の中に所定の個数になるまで記憶され、これら
のバイトは1ブロツクとしてチヤネルへ送られ
る。バイトカウントオペレーシヨンは後で説明
する。
1つの実施例では、チヤネルはCCWからの
バイトカウントをアウトボードボツクスに送
る。具体的には、チヤネルはバイトがバツフア
に送られるに応じて増分的なカウント値を送
る。
エンデイングシーケンス データ転送が完了すると、アウトボードボツ
クスは次のようなステータスフレームを構成す
る。すなわち、最後のバイトの後コントロール
ユニツトがステータスを活動化したか否かまた
はアウトボードボツクスがデータ転送終了のた
めのコマンドアウトを活動化したか否かをチヤ
ネルに伝えるステータスフレームである。アウ
トボードボツクスはまた、残余カウントに関す
る情報をチヤネルに送る。これらのオペレーシ
ヨンでバイトカウントは維持される。これはチ
ヤネル拡張リンクまたはバツフアがなければ並
列チヤネルにおいて発生していたであろうバイ
トカウントである。
データのストリーム化 データストリームオペレーシヨンは2つのモ
ードのいずれかで処理できる。1つのモードで
は、バツフアはバイパスされる。データのスト
リーム化は元来高速で、バツフアはデータ転送
速度を直接には改善しない。もう1つのモード
では、バツフアは読取りオペレーシヨンまたは
書込みオペレーシヨンで使用される。アウトボ
ードボツクスはコントロールユニツトからバツ
フアへバイトを転送し、インターロツクされた
読取りオペレーシヨンの場合すでに説明したよ
うにして肯定応答を行う。このオペレーシヨン
は、わずか1個または2〜3個のバイトが受信
された後、コントロールユニツトへの肯定応答
を供給する。これに対し第1のモードでは(す
なわちバツフアをバイパスするモード)、多数
のバイトが直列ラインを介してチヤネルに伝搬
され、かつ、ほぼ等しい数の肯定応答バイトが
直列ラインを介してチヤネルから伝搬されるま
で、コントロールユニツトはその最初の肯定応
答を受け取らない。肯定応答なしに送られたバ
イトの数をカウントし、このカウント値が普通
の直列リンクの妥当な長さに対応する所定の値
に達すればエラーを指示するようなコントロー
ルユニツトにしてもよい。
以下、図面を参照しながら実施例を詳細に説
明する。
D2 第1図に示すシステム 第1図は、チヤネル12と、双方向直列リン
ク接続機構14と、コントロールユニツト18
が示してある。リンク接続機構14は1本の入
力ライン15および1本の出力ライン16を有
している。コントロールユニツト18によつて
管理される装置は図では省略してある。リンク
接続機構は既に説明したように従来と同様なも
のである。チヤネルは中央プロセツサおよび中
央プロセツサの主メモリに接続される。中央プ
ロセツサおよび中央プロセツサの主メモリは第
1図の構成要素に対して従来と同様の関係にあ
る(ただし図示せず)。
第1図にはチヤネル前段部の事前取出し部2
1およびチヤネルのアウトボードボツクスの事
前取出し部22も示されている。事前取出し部
21およびチヤネル12は標準的インターフエ
ースに基づく入力ライン24および出力ライン
25によつて相互に接続されている。同様に、
アウトボードボツクスの事前取出し部22およ
びコントロールユニツト18は標準的インター
フエースに基づく入力ライン26および出力ラ
イン27のセツトによつて相互に接続されてい
る。
図中、チヤネルからの出力ライン25は
“SO”なる名称を付してある。すなわち、出力
ライン25は、データの事前取出しオペレーシ
ヨン中バスによつて伝達される信号の1つであ
るタグライン“サービスアウト”である。同様
に、コントロールユニツトからアウトボードボ
ツクスの事前取出し部への入力ライン27は
“SI”なる名称を付してある(これは“サービ
スイン”である。入力ラインには“PSI(擬似
サービスイン)”、出力ライン26には“PSO
(擬似サービスアウト)”なる名称が付してあ
る。チヤネルの事前取出し部はタグPSIを形成
し、アウトボードボツクスの事前取り出し部は
タグPSOを形成する。これらのオペレーシヨ
ンについては後で説明する。チヤネルはPSIに
応答し、コントロールユニツトはPSOに応答
する。この応答の仕方はこれらの構成要素が直
列リンクなしにサービスインまたはサービスア
ウトに応答していたのと同じである。
読取りオペレーシヨンの間、アウトボードボ
ツクスおよびコントロールユニツトはタグ
PSOおよびSIのやりとりをして、コントロー
ルユニツト18および装置からアウトボードボ
ツクス22へのデータバイトの転送を行う。転
送速度はこれらの構成要素にとつて適当なもの
である。アウトボードボツクスはバツフアの中
にそれらのバイトを任意選択的に記憶し(これ
については後で説明する)、入力ラインを介し
てデータをチヤネル前段部に送信する。装置か
ら転送すべきデータが存在し、コントロールユ
ニツトからデータを受け取れるようバツフアが
空のロケーシヨンを有し、かつチヤネルへ転送
すべきバイトを有する限り、上記読取りオペレ
ーシヨンの2つの部分は独立に進行し、チヤネ
ルに対してもほとんど独立に進行する。
同様に、書込みオペレーシヨンの際にはチヤ
ネル前段部はプロセツサのメモリからデータを
事前取出しして、これを直列フレームの形でア
ウトボードボツクスへ送信する。アウトボード
ボツクスはそのデータを直列から並列に変換
し、その事前取出し部がバツフアメモリにデー
タを記憶し、タグPSIおよびSOを使つてこの
データをコントロールユニツトへ送信する。
あるいは、チヤネルとチヤネルの事前取出し
部との間の接続24,25は、特定のチヤネル
については標準的なインターフエースでなくて
もよく、チヤネルおよびチヤネル前段部は前述
の如く物理的または論理的に統合してもよい。
同様に、チヤネルのアウトボードボツクスは、
標準的なプロトコルに基づいてチヤネルと協働
するコントロールユニツトに統合することがで
き、標準的なインターフエースのライン26,
27に対応するレジスタ位置および信号ライン
を有することができる。
D3 第2図の構成要素 第2図は第1図の構成要素をさらに詳細に示
したものである。並列バスのうち24ないし2
7はさらに添字bおよびcを付して細かく分け
てある。25bおよび26bは“バスアウト”
を表わし、27bおよび24bは“バスイン”
を表わし、25cおよび26cは送出される制
御信号を表わし、27cおよび24cは入力さ
れる制御信号を表す。これらのラインの対(た
とえば25bと26b)を、直列リンクなしの
並列バスにあるのと同じように、チヤネルとコ
ントロールユニツトとの間で連続的であるとみ
なした方が都合がよい場合もある。
チヤネル前断部21およびアウトボードボツ
クス22は、リンク14上の直列フレームを取
り扱うため、フレーム送信部28およびフレー
ム受信部29をそれぞれ持つている。直列リン
クの入力ライン15および出力ライン16は、
フレーム受信部への入力ラインとして、および
フレーム送信部からの出力ラインとして一般化
できる。チヤネル前段部およびアウトボードボ
ツクスのこれらの構成要素は通常と同様のもの
である。
チヤネル前段部およびアウトボードボツクス
は、並列バスの形でメツセージの処理を行うイ
ンターフエース処理部30aおよび30bを含
む。第2図のインターフエース処理部はサービ
スアウトおよびサービスインを受け取つて第1
図、PSOおよび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を介してバス2
7mから送出データフレームに経路指定され
る。
後で説明する1つの実施例においては、イン
ターフエース処理部は、そのバイトが第2図の
バス27c上のタグで示される特定のオペレー
シヨンのためのものであるということを知らせ
る。後でさらに詳しく説明するが、たとえば、
インターフエース処理部は、読取りオペレーシ
ヨンがデータストリームモードにあるというこ
とを知らせる。読取りオペレーシヨンの一部と
しては転送されるバイトは、バス27mを介し
てバツフア39へ任意選択的に経路指定され
る。これらのバイトは後でバツフアから読み取
られ、バス36を介してフレーム送信部へ転送
される。コントロールユニツトからのデータ転
送の一部をなすものでないバイトは既に説明し
たようにバツフア39をバイパスする。バツフ
アをバイパスするオペレーシヨンの例は、I/
O装置の初期選択の際に起こる情報の交換であ
る。この場合、2〜3個のバイトしか転送され
ないので、普通はバツフアを使う理由はない。
直列フレーム 従来と同様、コマンドフイールドは、データ
フイールドの意味を伝える2進コードを有す
る。従来型のデコーダ37はバス34を介して
入力フレーム31からコマンドフイールド31
aを受け取つて1以上のラインに信号を供給
し、そのコマンドの要求したオペレーシヨンの
ためのゲートを制御する。或るオペレーシヨン
または全てのオペレーシヨンの場合、フイール
ド31aのコマンドコードは、ライン16を介
して最も最近に受け取られたバイトの内容と関
係なく、デコーダへの入力を供給するレジスタ
に転送される。第3図の読取りオペレーシヨン
の場合、デコーダ37はライン38に“ロード
カウント”を出力する。この信号でシステムの
ゲート41が開いて、データフイールド31b
の内容が、ゲートの出力に接続された回路に転
送される。ゲート41は通常のものであり、バ
ス35の各ラインごとにADN回路を共通に含
んでいる。この特定のオペレーシヨンについて
は後に説明する。
必要なのは、わずか数個のコマンドで、好適
なシステムは従来と同様、各方向において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つのフレームで開
始することが知られている。すなわち、コマン
ドフイールド、関連するフイールド(たとえば
開始フイールド)、およびチエツクビツトフイ
ールドを有するかデータは持たないヘツダと呼
ばれるフレームである。その後、コマンドフイ
ールドを繰り返すことなく一連のデータフイー
ルドが送られる。これらのフレームのシーケン
スは、データフイールドに多数のバイトを有す
る単一のフレームと等価であるので、コマンド
フイールドおよびデータフイールドを有するフ
レームによつて説明を続けても一般性は失わな
い。
用語“データ”はフイールド31bとコマン
ドフイールド31aとを区別するのに使用さ
れ、さらに、データコマンドコードを有するフ
レームと、タグ、カウント値、または制御情報
のためのコマンドコードを有するフレームとを
区別するのにも使用されている。コマンドフレ
ームにあるCNTLビツトでさらに、データフ
イールドにおけるデータの種類が区別される。
CNTLデータ転送の場合、1つの2進値(0
または1)にセツトされ、初期選択およびエン
デイングシーケンス中は他方の値にセツトされ
る。初期選択およびエンデイングシーケンスの
間、データフレームのデータフイールドは、タ
グフレームで識別されるコマンドの如き情報を
運ぶ。コマンドフレームは、I/Oオペレーシ
ヨンの各段階の始まりのところで適切な値にセ
ツトされたCNTLビツトと共に伝送され、ア
ウトボードボツクスはこのビツトの値を記憶
し、これを使つてデータフレームのデータフイ
ールドを解釈する。(あるいは、従来と同様、
そのデータが特定のオペレーシヨンのためのも
のであることを付記的なコマンドコードで識別
してもよい。) 第3図のバツフア データ事前取出し部のデータバツフア39は
主プロセツサのメモリとコントローラとの間で
転送されるデータ(転送方向はいずれでも構わ
ない)を一時的に保持する。バツフアメモリは
よく知られており、また事前読出しのためのバ
ツフアリング機能も様々なやり方で実現でき
る。好適なバツフアは1バイトの幅のものであ
る。(より一般的いえば、“バイト”という用語
は一回のメモリアクセスオペレーシヨンで取出
しまたは記憶されるデータの単位を意味する。
普通、ハツフア39はバスインおよびバスアウ
トと同じ幅を有し、1バイトまたは2バイトで
ある。)バツフアは書込みアドレスポインタ4
2および読取りアドレスポインタ43を有す
る。これらのポインタは、読取りオペレーシヨ
ンおよび書込みオペレーシヨンの進行に応じて
増分される循環式のカウンタで実現される。こ
れらのポインタは通常と同様のものであるが、
1つの実施例では、後で説明するようにバイト
カウントオペレーシヨンの際に使用できる。通
常のバツフアの構成によれば、読取りアドレス
が書込みアドレスを越えないように制御され
る。
バツフアはフルカウンタ45を有する。フル
カウンタ45は事前取出しを伴う読取りオペレ
ーシヨンのはじめでは全ゼロ(または他の定常
的な基準値)にセツトされている。その後、バ
ツフアにバイトが記憶されるときは増分され、
バツフアからバイトが取出されるときは減分さ
れる。フルカウンタ45のこのようなオペレー
シヨンは通常のものである。したがつてフルカ
ウンタ45のカウント値はバツフアにあるバイ
トの数に等しく、これによりバツフアのうまり
具合がわかる。読取りオペレーシヨンでは、フ
ルカウンタ45に保持されるカウント値を使つ
て、ハツフアが一杯であれば装置からの読取り
オペレーシヨンを停止する。
D5 チヤネルカウンタおよびバイトカウントに
関するチヤネルオペレーシヨン(第5図) チヤネルおよびアウトボードボツクスは、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つの
別々のカウンタで実現されることができる。チ
ヤネルポインタはチヤネルに送られるバイトに
関連するものであり、インタースポインタはコ
ントロールユニツトから受け取られるバイトに
関連するものである。“ポインタ”という語を
使つたのは後述されるように、カウント値がバ
ツフア39でアドレス指定できる事実を意味す
るからである。
好適には、チヤネルは1つのフレームにおい
てCCWのフルカウントをアウトボードボツク
スに送る。第3図に示した例では、チヤネルは
複数のバイトからなる1ブロツク転送に対応す
るカウント値をアウトボードボツクスに送り、
チヤネルは読取りオペレーシヨンの進行に応じ
て1ブロツク転送又は部分的なエンデイングブ
ロツクごとに他のカウント値を送る。
インターフエースポインタは1つのバイトが
受信されたとき1つの信号を受け取つて、並列
インターフエースを介してコントロールユニツ
トからアウトボードボツクスに送信されたバイ
トをカウントする。インターフエースポインタ
はデータ転送オペレーシヨンのはじめにゼロに
リセツトされる(ただし、データ連鎖の場合、
チヤネルによつて新たなCCWが取り出された
ときはリセツトされない)。読取りオペレーシ
ヨンの場合、1つのバイトがバツフアに記憶さ
れるとインターフエースポインタが増分され
る。書込みオペレーシヨンの場合、並列バスを
介してコントロールユニツトによつて1つのバ
イトが送られると、インターフエースポインタ
が増分される。
読取りオペレーシヨン又は書込みオペレーシ
ヨンにおいて、これら2つのカウンタの値の差
はバツフアへ転送すべき残りのバイト数又はコ
ントロールユニツトから転送すべき残りのバイ
ト数を表わす。
計数値の小さいカウンタによるシステム 第3図の読取りオペレーシヨンにおいて、書
込みポインタ42はコントロールユニツトから
受け取られたバイトの個数を保持するので、こ
れはインターフエースポインタとして機能す
る。読取りポインタ43はチヤネルへ送られた
バイトの個数を保持するので、これはチヤネル
ポインタとして機能する。
CCWのバイトカウントフイールドは、その
オペレーシヨン中に1つのCCWで転送可能な
バイトの最大数を設定する所定の長さを有して
いる。好適なデータ処理システムでは、CCW
のバイトカウントフイールドは16ビツトの長さ
を有しており、1つのCCWで最大64kバイトを
転送することができる。普通、バツフア39は
1つのCCWで転送可能なバイトの最大数より
も小さめに作られているので、バツフアのアド
レスはCCWのカウントフイールドよりも短い
こととなる。このような状況では、アウトボー
ドボツクスにおけるこれらのカウンタはCCW
のバイトカウントフイールドの長さとなる場合
もあり、又は短くなる場合もある(たとえば8
ビツト)。後者のカウンタ(以下「短カウンタ」
という)の桁上げ伝播回路は前者のカウンタ
(以下「長カウンタ」という)のそれに比べて
ずつと簡単である。
例として、カウンタ47が8ビツト、チヤネ
ルのバイトカウントが16ビツトの場合を考え
る。この場合、読取りオペレーシヨンは、チヤ
ネルにおけるカウント値がカウンタのサイズ以
下になるまでカウントフレームなしに進行す
る。CCWのカウント値がチヤネルポインタで
表わすことのできる値よりも小さくなると、チ
ヤネルは最終カウントフレームでそのカウント
値を送る。このオペレーシヨンの場合、終端ポ
インタと呼ばれるレジスタが提供され、そのカ
ウントフレームにおけるカウント値がこの終端
ポインタにロードされる。アウトボードボツク
スはインターフエースポインタと終端ポインタ
を比較して、最後のバイトがコントロールユニ
ツトからアウトボードボツクスへ転送されたと
きエンデイングシーケンスを開始する。終端ポ
インタは要求カウンタ47と類似するものであ
る。アウトボードボツクスが最後のカウント値
に対して1つのフレームを受信すると、このス
テータスを適当な方法で(好適にはラツチをセ
ツトすることによつて)記録する。アウトボー
ドボツクスは既に説明したようなやり方でこれ
らのカウンタを操作し、付加的に適当な方法で
インターフエースポインタと終端ポインタとを
比較して最後のバイトがコントロールユニツト
から転送されたことを検出する。最後のバイト
がコントロールユニツトから転送されると、ア
ウトボードボツクスは後述されるようにエンデ
イングシーケンスを開始する。チヤネルは最終
カウントフレームでこのカウント値を送る。最
終カウントフレームは、これが異なるコマンド
フイールド31aで識別されるという点を除
き、第3図に示したフレーム31と同様なもの
である。
最後のバイトが受信されるとすぐ、全てのバ
イトがバツフアから取り出されるよりも前に次
のデータ転送に備えてアウトボードボツクスが
バツフアのロードを開始することが好ましい。
チヤネルポインタが225に達した後、次のバ
イトでチヤネルポインタはゼロに戻る(長カウ
ンタなら、ビツト位置8に桁上げ出力を生ず
る)。この状況は通常のバツフア管理手法で正
しく処理される。通常のバツフア管理手法と
は、書込みポインタが読取りポインタより常に
先行していることをいう。しかしながらカウン
ト値が循環したとき何らかの障害が発生するこ
ともあるので、バイト数はこのような障害が生
じないチエツクとして後述のようなチヤネルに
送られる。(もし障害が検知されれば、通常の
回復手法が使用される。) D7 事前取出しを伴う書込みオペレーシヨン
(第4図) 第4図は第3図とほぼ同様な図である。ただ
し、第4図は書込みオペレーシヨンの場合にお
ける構成要素とその相互接続の様子を示すもの
である。書込みオペレーシヨンを始めるにあた
つて、チヤネル前段部は書込みコマンドを有す
るフレーム52をアウトボードボツクスに送
る。第3図に示す如く、このフレームはアウト
ボードボツクスでデコードされ、データ送信カ
ウンタ47がゼロにリセツトされる。チヤネル
前段部はプロセツサのメモリからバイトを事前
に取出して1以上のフレーム51をアウトボー
ドボツクスのフレーム受信部へ送る。フレーム
51には1個又は適切な個数のバイトを載せる
ことができる。フレーム処理部は直列データフ
レーム51のデータ部分を並列形式に変換しこ
れをバス27を介してバツフア39の入力レジ
スタに送る。
アウトボードボツクスはバツフアが空でない
限りバイトをコントローラへ送信する。バツフ
ア39のおかげによりチヤネル前段部はコント
ローラを伴うアウトボードボツクスのオペレー
シヨンと独立して動作することができる。
1つのバイトがバツフア39から取り出され
てコントローラに送られると、データ送信カウ
ンタが増分される。カウント値が或るしきい値
に等しいとき、そのカウント値がフレーム処理
部にゲートされてステータスフレームのフイー
ルド53bが構成される。これはチヤネル前段
部に送られる。チヤネル前段部がフレーム53
を受信したときさらにデータを転送すべき場合
は、別のフレーム52を送つて今説明したオペ
レーシヨンを続行する。
書込みオペレーシヨン(2つのカウンタを有す
る場合) もし終端ポインタが考え得る最大長のバイト
カウントを保持するに十分な長さを有するな
ら、読取りオペレーシヨンのところで説明した
ように、CCWにおけるカウント値はアウトボ
ードボツクスに送られて終端ポインタにロード
される。
D8 エンデイングシーケンス 最後のバイトを転送する場合、コントロール
ユニツトは、普通、“サービスイン”を活動化
し、アウトボードボツクスはそのバイトをバス
アウトに出して“サービスアウト”を活動化す
る。前述のように、コントロールユニツトは別
のバイトが予想されるときは“サービスイン”
を活動化し別のバイトが予想されないときは
“ステータスイン”を活動化する。アウトボー
ドボツクスが“ステータスイン”を予想してい
るときにもしコントロールユニツトが“サービ
スイン”を活動化すると、アウトボードボツク
スは“コマンドアウト”を活動化して読取りオ
ペレーシヨンを停止する(バツフア式リンクを
具備しないシステムではこれはチヤネルによつ
て行われていたものである)“コマンドアウト”
に応答して、コントロールユニツトはデバイス
ステータスをバスインに出して“ステータスイ
ン”を活動化する。
以上のオペレーシヨンの後、アウトボードボ
ツクスはビツトCOSが所定の値にセツトされ
たステータスフレームをチヤネルに送る。第1
の例では、ビツトCOSは、“コマンドアウト”
がコントロールユニツトへ送られなかつたとい
うことを表わし、第2の例では、“コマンドア
ウト”が送られたということを表わす。
チヤネルポインタとインターフエースポイン
タとの差はバツフアにおけるバイトの個数を表
わす。アウトボードボツクスは残りのカウント
を計算しそれを流入残余カウントフレームで送
る。これらの計算を行うため、アウトボードボ
ツクスは通常の算術論理演算装置又はその他の
適切な手段を具備するが説明は省略する。
書込みオペレーシヨンが完了すると、チヤネ
ルは普通にアウトボードボツクスの残余カウン
トから残余バイトを計算する。チヤネルの残余
カウントは主プロセツサのメモリにおけるステ
ータスワードに記憶される。ステータスワード
はこの残余バイトカウントと、一定のエラーが
検出されたかどうかを知らせるためのフラグと
を有している。
D9 チヤネル前段部 チヤネル前段部は前述したような構成要素を
有している。これはアウトボードボツクスが直
列リンクとの通信を行うためである。アウトボ
ードボツクスは、アウトボツクスとコントロー
ラとの間、通信を行うための前述の構成要素を
具備するチヤネルと通信する。チヤネル前段部
は第3図および第4図に示したバツフア39
と、フレームカウンタとを具備する。これらに
ついては既に説明した通りである。
チヤネル チヤネルはバイトカウントを処理するための
通常の手段を有する。その他、チヤネルは2つ
の事前取出し部におけるバツフアにあるバイト
のバイトカウントを生成するよう修正されてい
る。
データ転送の終りに、アウトボードボツクス
は、エンデイング装置カウントに関する情報を
含むエンデイングステータスバイトをチヤネル
に送る。
書込みオペレーシヨンのはじめでは、CCW
は転送すべきバイト数を有しており、チヤネル
のアウトボードボツクスにおけるデータ送信/
要求カウンタと、チヤネル前段部におけるフレ
ームカウンタは両方ともゼロであり、2つの事
前取出しバツフアは空である。チヤネル前段部
はチヤネルからバイトを事前に取り出すと、こ
れに応じてチヤネルはそのCCWのバイトカウ
ント値を減分する。この例ではこの時点で、コ
ントロールユニツトへは実際には1つのバイト
も転送されなかつたので、CCWにおけるカウ
ント値は転送された実際の個数にすぎない。
CCWのカウントが減分された場合のバイトは
チヤネルのアウトボードボツクスのバツフアに
あり、アウトボードボツクスにあるバイト送信
カウンタはゼロである。というのはバイトが1
つも転送されなかつたからである。
アウトボードボツクスはこれらのバイトを考
えに入れている。チヤネルのアウトボードボツ
クスはコントローラに1つのバイトを送ると、
フレームカウンタを減分する。よつて一般に、
CCWおよびフレームカウンタは正しいバイト
カウントを与えることとなる。
読取りオペレーシヨンが異常に終了するなら
ば、コントローラによつて実際に送られたバイ
ト数は、もとのバイトカウントからチヤネルに
よつて減分された数に、チヤネルのアウトボー
ドボツクスのカウンタおよびチヤネルのフレー
ムカウンタのカウント値を加えたものに等し
い。アウトボードボツクスのバイト要求カウン
トはステータスフレームでチヤネル前段部に送
られる。
D10 他のオペレーシヨン(データのストリーム
化) データストリーム化と呼ばれる従来のデータ
転送オペレーシヨンでは、1つのバイトは“サ
ービスイン”又は“サービスアウト”で転送さ
れる。これらのタグの他方は既に説明したよう
にして使用されるが、コントロールユニツトは
先行するバイトの肯定応答を待たずに次のバイ
ト(すなわち要求)を送る。(“サービスイン”
および“サービスアウト”というタグは、これ
と同様な“データイン”および“データアウ
ト”というタグと交互に存在する。)通常の並
列バスは、コントロールユニツトからの一連の
データバイト(すなわち一連のタグ)とチヤネ
ルからの一連のバイト(すなわち一連の肯定応
答用のタグ)とを保持するデイレイラインとし
て機能するのに十分な長さを有している。2本
のライン上でのタグ数は、コントロールユニツ
トが送つたバイトすなわち要求数と、コントロ
ールユニツトが受け取つた肯定応答数との差に
なる。普通、この差が所定の値に達したときコ
ントロールユニツトはエラーの発生を表示す
る。以上のデータストリーム化のオペレーシヨ
ンはバツフアをバイパスしたものである。
入力バスおよび出力バスを組合せた長さもま
た、最初のバイトすなわち要求を送つてから最
初のバイトすなわち肯定応答を受け取るまでの
時間的な遅れを招くので、コントロールユニツ
トには、肯定応答が所定の間隔内に受け取られ
なかつた場合にエラーを知らせるためのタイマ
機構を具備してもよい。
これらの遅延は、多くのアプリケーシヨンで
は直列リンクの長さを考えると、たいていの場
合その範囲内に入つている。これまでに説明し
たようなインターロツク式の読取りデータ転送
の場合はこのような問題は生じない。何故な
ら、アウトボードボツクスはコントロールユニ
ツトからの要求の受取りに応じて肯定応答する
からである。
データストリーム化の場合にアウトボードボ
ツクスのバツフアを使用するにあたつて、アウ
トボードボツクスはインターロツクされたデー
タ転送のために既に説明したようなやり方でデ
ータストリーム化するバイトを取り扱う。これ
により、コントロールユニツトの立場からいえ
ば、リンク上の時間的な遅れならびに要求数お
よび肯定応答数が減少される。
E 発明の効果 本発明によればコントロールユニツトとチヤネ
ル間のデータ転送においてそのバイトカウントを
維持できるので、従来のプロトコルを維持しなが
らデータ転送を行うことが可能となる。
【図面の簡単な説明】
第1図は本発明を適用したシステムにおけるチ
ヤネルとコントロールユニツトとの間のデータの
一般的なフローを示すチヤネルサブシステムの概
観を表すブロツク図、第2図はチヤネル前段部と
アウトボードボツクスとの相互接続の様子を示す
図、第3図はアウトボードボツクスの読取りオペ
レーシヨンにおける事前取出しを説明する図、第
4図はアウトボードボツクスの書込みオペレーシ
ヨンにおける事前取出しを説明する図、第5図は
チヤネルの構成の一部を表わす図である。

Claims (1)

  1. 【特許請求の範囲】 1 コントロールユニツトの並列バスとチヤネル
    の直列リンクとを相互に接続する装置を有するデ
    ータ処理システムにおいて、 転送されるべき所定のバイト数のデータを記憶
    するバツフアメモリと、 このバツフアメモリに1バイトのデータが記憶
    される毎に減分あるいは増分されるカウンタと、 前記バツフアメモリに記憶されるべきデータの
    ための並列バスと、 前記バツフアメモリから取出されるデータのた
    めの並列バスと、 前記バツフアメモリの前記並列バスと前記コン
    トロールユニツトの前記並列バス間に接続され、
    所定のプロトコルに従つて前記並列バスのデータ
    転送動作を処理する手段と、 前記直列リンクに接続され、前記直列リンクに
    入出力するフレームの直列フーマツトと前記コン
    トロールユニツトの並列バス及び前記バツフアメ
    モリにおけるフレームの並列フオーマツト間のフ
    オーマツト変換を行う手段を含み、前記直列リン
    クを介してフレームを送受信する手段と、 前記直列リンクに入力されるフレームのコマン
    ドフイールドをデコードする手段とを備え、 前記フレームはデータフイールド及びコマンド
    フイールドを含み、このコマンドフイールドは前
    記データフイールドの内容を示し、データ転送の
    ためのバイトカウントを含むデータフイールドを
    示す第1のコマンドコード及びインターロツクモ
    ード又は非インターロツクモードで前記コントロ
    ールユニツト間でのデータ転送を制御するための
    データを含むデータフイールドを示す第2のコマ
    ンドコードのうち選択された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 JPS62251951A (ja) 1987-11-02
JPH0528419B2 true 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)

Families Citing this family (12)

* 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
US5170469A (en) * 1987-05-06 1992-12-08 Fujitsu Ten Limited Data transfer apparatus and data transfer system
JP2595321B2 (ja) * 1988-08-20 1997-04-02 富士通株式会社 計算機システム
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
DE69132236T2 (de) * 1990-08-22 2000-11-30 Sanyo Electric Co Übertragungssteuerungssystem
JP2531903B2 (ja) * 1992-06-22 1996-09-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムおよびシステム拡張装置
JPH0690695B2 (ja) * 1992-06-24 1994-11-14 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムおよびシステム拡張装置
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
JP4561645B2 (ja) * 2006-01-30 2010-10-13 ソニー株式会社 通信装置、データ処理装置、近接通信装置、通信方法、およびプログラム

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US4866609A (en) Byte count handling in serial channel extender with buffering for data pre-fetch
US5434980A (en) Apparatus for communication between a device control unit having a parallel bus and a serial channel having a serial link
US4631666A (en) Data transfer network for variable protocol management
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
US8140713B2 (en) System and program products for facilitating input/output processing by using transport control words to reduce input/output communications
US4860244A (en) Buffer system for input/output portion of digital data processing system
US7502873B2 (en) Facilitating access to status and measurement data associated with input/output processing
US6715000B2 (en) Method and device for providing high data rate for a serial peripheral interface
JPS604624B2 (ja) 正しくない情報フレ−ムを再送するシステム
US6487615B1 (en) Apparatus and method for accepting physical write package when the posted write error queue is full
JPH0528419B2 (ja)
EP0534529A1 (en) Apparatus and method for burst data transfer
US7444440B2 (en) Method and device for providing high data rate for a serial peripheral interface
US5555374A (en) System and method for coupling a plurality of peripheral devices to a host computer through a host computer parallel port
EP0539782B1 (en) Circuit for controlling data transfer from VME bus to SCSI disk drive
US6137804A (en) System and method for automatic retry of transmit, independent of a host processor, after an underrun occurs in a LAN
US6751686B2 (en) Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium
EP0680636B1 (en) Interface apparatus
US6256685B1 (en) Delay data block release system in a disk drive
US6233628B1 (en) System and method for transferring data using separate pipes for command and data
EP0974910A2 (en) Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
JP2502932B2 (ja) デ―タ転送方法及びデ―タ処理システム
JP2558062B2 (ja) システム・バスを介して他のアダプタに可変サイズのデータ・ブロックを転送するためのアダプタ
JP3261665B2 (ja) データ転送方法及びデータ処理システム
US6745263B2 (en) Automated multiple data unit transfers between a host device and a storage medium