JP2599553B2 - 主通信データ経路の外で複合機能を実行するピコプロセッサを利用したカプラ - Google Patents

主通信データ経路の外で複合機能を実行するピコプロセッサを利用したカプラ

Info

Publication number
JP2599553B2
JP2599553B2 JP5136161A JP13616193A JP2599553B2 JP 2599553 B2 JP2599553 B2 JP 2599553B2 JP 5136161 A JP5136161 A JP 5136161A JP 13616193 A JP13616193 A JP 13616193A JP 2599553 B2 JP2599553 B2 JP 2599553B2
Authority
JP
Japan
Prior art keywords
bus
memory
data
coupler
transmitting
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
JP5136161A
Other languages
English (en)
Other versions
JPH0660041A (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 JPH0660041A publication Critical patent/JPH0660041A/ja
Application granted granted Critical
Publication of JP2599553B2 publication Critical patent/JP2599553B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ通信に関し、具体
的には、論理的に主データ経路の外に置かれたピコプロ
セッサを使用して、主データ経路から切り離された形
で、あるいは分離された形で計算および制御機能を実行
することによって、データ転送を容易化するシステムに
関する。
【0002】なお、本明細書の記述は本件出願の優先権
の基礎たる米国特許出願第07/909,887号の明
細書の記載に基づくものであって、当該米国特許出願の
番号を参照することによって当該米国特許出願の明細書
の記載内容が本明細書の一部分を構成するものとする。
さらに、本発明は、欧州特許出願第91480154.
3号を基礎とする米国特許出願第07/909,884
号「通信システムの接続機能を拡張する方法および装
置」に関連するものである。
【0003】
【従来の技術】通信システムは、通信機器およびデータ
が実際に伝送される物理的媒体が向上するのに伴って、
ますます高速化している。通信機器はより「賢く、すな
わちインテリジェント」になっており、各通信機器は独
自のマイクロプロセッサを搭載し、そのアクティビィテ
ィ(活動)の制御を行っている。
【0004】例えば、マイクロプロセッサは、通信機器
内で種々機能を実行するために利用されている。マイク
ロプロセッサが特に有用とされているのは、マイクロプ
ロセッサがもつ柔軟性とその動作速度のためである。機
器を動かしているソフトウェアに変更を加えるだけで、
つまり、ハードウェアに変更を加えないで機器のパフォ
ーマンスを向上することが可能である。マイクロプロセ
ッサがデータを転送する速度も、相対的に高速である。
【0005】
【発明が解決しようとする課題】しかし、従来技術に
は、通信機器に搭載されたマイクロプロセッサがデータ
転送のボトルネックになったときに問題がある。この問
題が発生する理由としては、いくつかが考えられる。例
えば、マイクロプロセッサに負担させるタスク(仕事)
が多すぎるときや、急激に活動量が増加したときや、デ
ータの転送に必要な速度がマイクロプロセッサから得ら
れる速度よりも高速化したとき、などである。
【0006】そこで、本発明の目的は、主通信データ経
路から切り離して複合機能を実行するためにピコプロセ
ッサを使用した通信システムを提供することにある。
【0007】
【課題を解決するための手段】請求項1記載の発明は、
通信コントローラ及び拡張コントローラを有する通信シ
ステムにおいて用いられ、かつ該通信コントローラと該
拡張コントローラとの間を高速でデータの個々のセグメ
ントを転送するカプラであって、第1バス及び第2バス
により該通信コントローラに接続され、かつ第3バスに
より該拡張コントローラに接続される該カプラにおい
て、a)前記第1バス、前記第2バス及び前記第3バス
から受信したコマンド及びデータ・セグメントを一時的
にストアするメモリと、b)前記第2バスと前記メモリ
(a)との間に接続され、前記第2バスからコマンドを
取出して一時的にストアし前記第2バスへコマンドを送
信する手段と、c)前記メモリ(a)及び前記第2バス
の取出し送信する手段(b)に結合され、前記第2バス
から受信したコマンドを前記第2バスの取出し送信する
手段(b)から取出し、該受信したコマンドを前記メモ
リ(a)内のキューにおく第1ピコプロセッサと、d)
前記第1バスと前記メモリ(a)との間に接続され、デ
ータ・セグメントを前記第1バスから取出して該データ
・セグメントを前記メモリへ送信しかつデータ・セグメ
ントを前記メモリから取出して該データ・セグメントを
前記第1バスへ送信する手段と、e)前記第3バスと前
記メモリ(a)との間に接続され、データ・セグメント
を前記第3バスから取出して該データ・セグメントを前
記メモリへ送信しかつデータ・セグメントを前記メモリ
から取出して該データ・セグメントを前記第3バスへ送
信する手段と、f)前記メモリ(a)と、前記第1バス
の取出し送信する手段(d)と、前記第3バスの取出し
送信する手段(e)とで構成し、前記第1バスと前記第
3バスとの間の前記データ・セグメントが通過する主デ
ータ経路と、g)前記第2バスから受信しキューに入れ
られたコマンドに応答して前記主データ経路上のデータ
・セグメントのフローを管理及び制御する、前記主デー
タ経路の外に論理的に置かれ、前記メモリ(a)に結合
された第2ピコプロセッサ、前記第1バスの取出し送信
する手段(d)、及び前記第3バスの取出し送信する手
段(e)とを備えたことを特徴とする。
【0008】ここで、請求項1において、前記第2バス
は入出力(I/O)バスであり、かつ、前記第2バスの
コマンドを取出しストアする手段(b)はI/Oインタ
フェースを備え、該I/Oインタフェースは該I/Oバ
スに接続されていることとすることができる。
【0009】ここで、請求項1において、前記第1バス
は直接メモリ・アクセス(DMA)バスであり、かつ、
前記第1バスのデータ・セグメントを取出しストアする
手段(c)は該DMAバスに接続されたDMAインタフ
ェースを備えたこととすることができる。
【0010】ここで、請求項1において、前記拡張コン
トローラは少なくとも1つの回線インタフェース・モジ
ュール(LIM)を備え、前記第3バスはLIMバスで
あり、かつ前記第3バスのデータ・セグメントを取出す
手段(e)は該LIMバスに接続されたLIMインタフ
ェースを備えたこととすることができる。
【0011】ここで、請求項1において、前記第2ピコ
プロセッサ(g)は、前記データ・セグメントの前記フ
ローを、前記第1バス又は前記第3バスから取出されバ
ッファされたデータをチェイニング及びディチェイニン
グすることにより管理し及び制御することを特徴とする
カプラ。とすることができる。
【0012】
【0013】
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【作用】本発明によれば、データ伝送のための通信シス
テムは、主データ経路から論理的に外に置かれた1つま
たは2つ以上のピコプロセッサ(picoproces
sor)を使用し、主データ経路から切り離された形
で、あるいはそこから分離された形で、計算や制御機能
を実行するようにしている。特に、本発明による通信シ
ステムは、バッファ管理と高性能バッファ・チェイニン
グ(連鎖)プロセスを主データ経路から切り離して行う
ために複数のピコプロセッサを利用して、主データ経路
をこれらのプロセスと並行に継続的に使用することを可
能にしている。このようにすると、主システム・プロセ
ッサが負担する機能と仕事を解放し、不要なトラフィッ
ク(通信量)を主データ経路から除くことができるの
で、データ転送が向上することになる。
【0020】
【実施例】本発明の技術的特徴事項は、特許請求の範囲
の請求項に明確に定義されているが、以下では、本発明
をより具体的に説明するために、本発明の好適実施例に
ついて添付図面を参照して詳述する。
【0021】本発明の好適実施例による通信システム
は、IBM 3745通信制御装置などの通信コントロ
ーラ(communication controll
er)、および追加の通信回線が通信コントローラと通
信することを可能にするコントローラ拡張部分(con
troller extension−以下、拡張コン
トローラと呼ぶ)と共に動作する。1つの例として、通
信コントローラは複数の通信アダプタを使用し、この通
信アダプタを通して、ホストが各種タイプの通信回線へ
アクセスすることを可能にしている。通信アダプタは、
通信回線とコントローラとの間のインタフェースの働き
をするものである。
【0022】図1に示すように、通信コントローラ11
は中央制御ユニット(CCU)10を備え、メモリ12
にストアされたネットワーク制御プログラム(Netw
ork Control Program − NC
P)がこのユニット上で稼働している。メモリ12への
アクセスはメモリ・コントローラ14によって管理され
る。
【0023】上述したように、通信コントローラ11は
複数の通信アダプタを使用し、この通信アダプタを通し
て通信回線へのアクセスを可能にしている。この場合、
例えば、低速アダプタ16は、低速の通信回線へのアク
セスを可能にするために利用され、入出力(I/O)バ
ス18を通してCCU 10に接続されている。入出力
バス18を通して行われる、このアダプタとCCU 1
0との情報のやりとりは、入出力インタフェース20に
よって管理される。米国特許第4,593,352号
は、入出力バス上で情報とデータをやりとりするシステ
ムと方法を詳しく説明している。
【0024】さらに、高速回線アダプタ22が使用さ
れ、入出力バス18を通してCCU10に接続されてい
る。高速回線上を伝送されるデータの速度は高速である
ために、高速回線アダプタ22は、メモリ・コントロー
ラ14に接続されたDMAバス24を通してメモリを直
接メモリ・アクセス(direct memoryac
cess−DMA)することができる。
【0025】NCPの機能の1つは、物理情報単位(p
hysical information unit−
PIU)と呼ばれる制御メッセージまたはデータ・メッ
セージからなるメッセージを、アダプタおよびCPUに
接続されたエンド・ユーザとの間で送受信することであ
る。これは、メモリ12内に構築されたバッファ連鎖
(buffer chain)を待ち行列として、NC
Pの制御の下で、これらのメッセージを置いておき(エ
ンキュー(enqueuing))、そこからメッセー
ジを取り出す(デキュー(dequeuing))こと
によって行われる。
【0026】米国特許第4,593,352号に記載さ
れているように、初期設定時に、NCPは、回線アダプ
タ16、22に対応する各通信回線に割り当てられたメ
モリ・ロケーションからなる回線ベクトル・テーブル
(line vector table−LNVT)を
作成する。割り当てられたメモリ・ロケーションには、
対応する通信回線の送受信方向に対応するパラメータと
ステータス(状況)情報をストアしておくためにメモリ
12に予約されているパラメータ/ステータス域(pa
rameter/status area−PSA)の
アドレスがストアされている。
【0027】PSAは、米国特許第4,593,352
号に詳しく説明されているように、メッセージのやりと
りを制御するために、CCUと回線アダプタ内のマイク
ロプロセッサとの間のコマンドとステータスの転送のた
めに使用される。
【0028】本発明の好適実施例によれば、本発明を具
現化した拡張コントローラ41は、通信コントローラ1
1の通信回線能力を拡張するために使用することができ
る。拡張コントローラ41は入出力バス18を介して通
信コントローラ11に接続され、通信コントローラの通
信機能を強化するために複数の通信アダプタ30−1〜
30−nを備えている。カプラ32は、拡張コントロー
ラ41と通信コントローラ11とを結ぶインタフェース
の働きをし、メモリ12とアダプタ30−1〜30−n
との間でメッセージをやりとりをすることを可能にす
る。
【0029】拡張コントローラ41内で、アダプタ30
−1〜30−nは、それぞれ相互接続メカニズム、つま
り、スイッチ28を通してカプラと通信することができ
る。この相互接続を行う機能を備えたメカニズムの詳細
は、EP−A−0 000387464に記載されてい
る。
【0030】回線インタフェース・モジュール(lin
e interface module−LIM)34
−1〜34−nは、アダプタ30−1〜30−nとスイ
ッチ28間を結ぶインタフェースの働きをする。同様
に、LIM 36は、カプラ32とスイッチ28間を結
ぶインタフェースの働きをする。LIM 34−1〜3
4−nの各々の主要機能は、それぞれに対応するアダプ
タ30−1〜30−nからメッセージを受け取り、カプ
ラ32へ転送するために出力待ち行列にこれらのメッセ
ージを置いておき(エンキュー)、スイッチ28によっ
て切り替えられたメッセージを受け取って、これらのメ
ッセージを通信アダプタからそこに接続されたユーザへ
送信できるようにすることである。これらの機能を実行
するためのメカニズムは、EP−A−0 000365
761に記載されている。
【0031】以下で説明するように、NCPはコマンド
とデータを編成して、NCP−動的パラメータ・ステー
タス域(NDPSA)と連鎖された一連のNCP−パラ
メータ・ステータス域(NPSA)またはLIM−パラ
メータ・ステータス域(LPSA)あるいはPIUと連
鎖されたLIM−動的パラメータ・ステータス域(LD
PSA)に入れておく。カプラはNCP構造とのインタ
フェースとなって、NCPメモリをアクセスし、送信方
向では、ターゲットLIM向けのメッセージを連結し、
組み立てる。受信方向では、LIMからのメッセージを
NCPメモリ内に配列する。
【0032】NCPからLIMへ送られるメッセージは
NCPメモリ12内でNPSAと連鎖される。これらの
メッセージはこのメモリ12からカプラ32によって読
み取られ、LIM 36およびスイッチ28によってL
IM34−1〜34−nへ転送される。
【0033】次に、図2はカプラ32および対応するL
IM 36を示す詳細図である。以下で説明するよう
に、カプラ3は主データ経路の外部に置かれたピコプ
ロセッサを使用して、コマンドのチェイニング(cha
ining−連鎖)とアンチェイニング(unchai
ning−連鎖解除)をハードウェアで行い、アダプタ
とコントローラ・メモリ12との間でやりとりされるメ
ッセージをフォーマッティング(形式化)する。ピコプ
ロセッサは、一度に最大1024回線までを多重化する
機能を備えている。
【0034】上述したように、カプラは、入出力バス1
8およびDMAバス24を経由する通信コントローラ1
1と拡張コントローラ41間のデータの流れ(フロー)
を制御する。データの流れがいったん確立されると、ピ
コプロセッサは解放されて、すべてのバッファ・チェイ
ニング/アンチェイニングの計算を実行し、やりとりさ
れるメッセージのフォーマッティングを行う。
【0035】入出力バス18およびDMAバス24との
インタフェースとなるために、カプラ32は入出力イン
タフェース・ステート・マシン70およびDMAインタ
フェース・ステート・マシン60を備えている。同様
に、LIMインタフェース64はLIM 36とのイン
タフェースとなるために使用される。
【0036】さらに、カプラ32は、汎用ピココード化
ステート・マシン(generalpicocoded
state machine−GPSM)50、入出
力ピココード化ステート・マシン(IPSM)72、メ
モリ54、およびメモリ・インタフェース・ステート・
マシン58を使用して、メモリ54と他のカプラ・コン
ポーネントとを結ぶインタフェースの働きをする。GP
SM 50とIPSM72は、一般にピコプロセッサと
も呼ばれている。
【0037】GPSM 50は、制御バス62を通して
DMAインタフェース・ステート・マシン60を制御す
ると共に、制御バス66を通してLIMインタフェース
・ステート・マシン64を制御し、ステート・マシン
(SM)51とローカル(局所)ストア52から構成さ
れている。SM 51はロジック回路および関連のレジ
スタとカウンタを備えている。ローカル・ストア52
は、GPSM 50をデータ・バス56経由でメモリ5
4と結ぶと共に、メモリ・インタフェース・ステート・
マシン58とを結ぶインタフェースとなり、小容量ラン
ダム・アクセス・メモリ(RAM)から構成され、SM
51によってスクラッチ・パッドとして使用される。例
えば、パラメータをメモリ54からローカル・ストア5
2に移しておき、制御バス62と制御バス66上にコマ
ンドを生成するために使用できる。また、DMAインタ
フェース・ステート・マシン60とLIMインタフェー
ス64からのステータス情報を、SM 51による分析
のためにローカル・ストア52に置いておくことができ
る。
【0038】DMAインタフェース・ステート・マシン
60は、メモリ・インタフェース・ステート・マシン5
8を通るデータ・バス68によってメモリ54に接続さ
れている。同様に、LIMインタフェース・ステート・
マシン64は、メモリ・インタフェース・ステート・マ
シン58を通るデータ・バス71によってメモリ54に
接続されている。GPSM 50から出されたコマンド
が制御バス66を経由してLIMインタフェース64に
渡され、制御バス62を経由してDMAインタフェース
・ステート・マシン60に渡されると、これを受けて、
データはLIMインタフェース64とメモリ・インタフ
ェース・ステート・マシン58間でデータ・バス71上
を転送され、同様に、データはDMAインタフェース・
ステート・マシン60とメモリ・インタフェース・ステ
ート・マシン58間でデータ・バス68上を転送され
る。
【0039】GPSM 50と同じように、IPSM
72はステート・マシン(SM)73から構成され、ロ
ジック回路、カウンタとレジスタ、およびメモリ54と
のインタフェースとなるローカル・ストア74を備えて
いる。GPSMローカル・ストア52の場合と同様に、
IPSMローカル・ストア74はSM 73によってス
クラッチ・パッドとして使用される小容量RAMを備え
ているので、データを処理のためにそこに移すことがで
きる。IPSM 72は、入出力バス18と内部制御バ
ス76を通して、CCU 10内の入出力インタフェー
ス20(図1)とやりとりする。制御バス76を経由し
てIPSM 72からコマンドが出されると、これを受
けて、データは入出力インタフェース・ステート・マシ
ン70、ローカル・ストア74およびメモリ・インタフ
ェース・ステート・マシン58との間でやりとりされ
る。このようにして、NCPとLIMとの間のコマンド
と割込みメカニズムが維持される。
【0040】DMAインタフェース・ステート・マシン
60は、コントローラDMAバス24とのインタフェー
スを維持するためのロジック回路を備え、コントローラ
・メモリ12とカプラ・メモリ54との間でデータを転
送するために必要な制御パラメータの初期設定は、GP
SM 50に一任している。
【0041】入出力インタフェース・ステート・マシン
70はコントローラ入出力バス18とのインタフェース
を維持するロジック回路を備え、NCPから出された入
出力命令をIPSM 72に受け渡す働きをする。ま
た、入出力バス18を経由してコントローラへ転送され
るデータも、入出力インタフェース・ステート・マシン
70を介して受け渡しされる。
【0042】LIMインタフェース64はLIM 36
とのインタフェースを維持するロジック回路を備えてい
る。GPSM 50は転送を行うために必要な制御パラ
メータを初期設定するために使用される。宛先アドレス
とソース(送信元)アドレス、データ・カウント、読取
りまたは書込みコマンドはGPSM 50から与えられ
る。制御フィールドがGPSMによってメモリ54に作
られると、LIMインタフェース64に対する開始(s
tart)コマンドが出される。GPSM50は転送が
完了したかどうかをポーリングし、そのあと、ローカル
・ストア52に入っているステータス(状況)を収集し
て、転送が正しく行われたかどうかを判断する。
【0043】メモリは、ユーザ・データ、拡張コントロ
ーラ41に関する構成テーブル、拡張コントローラ41
の可能なポートのアドレス・テーブルを収めておくため
に使用される。メモリ入力データはローカル・ストア5
2または74、DMAインタフェース・ステート・マシ
ン60またはLIMインタフェース64からデータ・バ
スを経由して送られてくる。メモリ出力データはデータ
・バス82を経由してローカルストア52または74、
DMAインタフェース・ステート・マシン60またはL
IMインタフェース64へ送られる。メモリ54のアド
レスとコントロールはバス81を経由して送られる。
【0044】メモリ・インタフェース・ステート・マシ
ン58は、可能な限りのソースおよび宛先からメモリ5
4に入出力されるトラフィック(通信量)の維持、仲裁
および制御を行う。この仲裁は、すべてのユーザとメモ
リ・インタフェース・ステート・マシン58とを結ぶ公
知のハンドシェーク・インタフェースを通して行うこと
ができる。
【0045】LIMインタフェース・モジュール36は
マイクロプロセッサ83を備えている。このマイクロプ
ロセッサ83上で、記憶装置85にストアされた制御コ
ードが実行され、バス86を通してLIMインタフェー
ス64に接続されている。
【0046】データ・ストア・インタフェース87は、
バス40と86から送られてきたメッセージまたはPI
Uを記憶装置85内で連鎖し(チェイニング)、待ち行
列に置いておくことを制御し、またバス40と86上に
送出されるメッセージまたはPIUを記憶装置85内で
連鎖解除し(ディチェイニング)、待ち行列から取り出
すことによって、NCPからLIMへの送信通信量とL
IMからNCPへの受信通信量を制御する。
【0047】NCPがターゲットLIMと通信するため
には、通信コントローラ・メモリ12内に一連のエンテ
ィティ(entity)を作成する必要がある。これら
のエンティティの連鎖は図3に示されている。まず第1
に、NPSAはターゲット通信回線を制御し、一連の各
コマンド列がNCPから出されると、回線状況をやりと
りする仕組みになっている。第2に、このNPSAは回
線メッセージを収めていて、データをポイントしている
NCP−動的パラメータ・ステータス域(NDPSA)
をポイントしている。第3のエンティティはPIUであ
り、ここにはターゲットLIM宛の実際のデータを収め
ている。このPIU(PIU 1)は、拡張制御ブロッ
クECBによって別のPIU(PIU 2)と連鎖さ
れ、ECBはPIU 2の最初のバッファをポイントし
ている。逆方向では、LIMがNCPと通信するため
に、NCPはメモリ12に同様の区域、すなわち、PI
Uバッファの連鎖、一連のLIM−動的パラメータ・ス
テータス域(LDPSA)およびLIMパラメータ・ス
テータス域(LPSA)を予約している。
【0048】NPSA、LPSA、NDPSA、LDP
SA、およびデータの処理はカプラ32を通して行われ
る。カプラ32は入出力コマンドIOH(図3)をバス
18から受け取ると、NPSA、NDPSAおよびPI
Uをアクセスし、ターゲットLIMによって処理できる
メッセージを組み立てる。逆方向では、カプラはターゲ
ットLIMからメッセージを受け取ると、メッセージを
NCPが判読できる正しい順序にメッセージをフォーマ
ッティングする。
【0049】本発明が実現される以前は、バッファのチ
ェイニングとアンチェイニングは、NCPとマイクロプ
ロセッサがアプリケーション・プログラムを利用するこ
とによって行われていた。アプリケーション・プログラ
ムは低速であり、非効率であるため、主メモリと回線ア
ダプタ間のデータ転送を高スループット量で行うことが
できない。ハードウェア・チェイニング手法によると、
パフォーマンスが達成されるが、能力に限界があるた
め、チェイニングできるのは、固定バッファ・サイズを
使用した単一回線のデータ・バッファだけに限られてい
た。
【0050】本発明によれば、主メモリと回線アダプタ
間のデータ転送を高スループット量で行うことができ
る。さらに、主データ経路、このケースでは、DMAバ
スから切り離されたピコプロセッサを使用しているの
で、データ・バッファのサイズを要求に応じて可変にで
きるという柔軟性が得られる。
【0051】本発明が実現される以前に起こっていたも
う1つの問題は、バッファ管理とデータ転送であった。
直接メモリ・アクセス(DMA)によってメモリからア
ダプタへのデータ転送は、DMAコントローラを使用し
て逐次に行われていた。この方法によると、ロジックが
新しいデータ・バッファ・アドレスを計算し、DMAコ
ントローラを再初期設定している間、DMAバスはアイ
ドル状態のままになっているので非常に非効率である。
【0052】しかるに、主データ移動データ経路から切
り離された計算ロジック経路を使用するピコプロセッサ
を使用すると、バッファ管理を先読みして行うことがで
きるので、バッファを逐次に管理する必要がなくなり、
DMAバス上のスループット量が向上することになる。
【0053】上述したように、カプラ32はNCP構造
とのインタフェースとなって、DMAバス24経由で主
メモリ12をアクセスし、ターゲットLIMのマイクロ
プロセッサ宛のメッセージを連結して組み立てる。ター
ゲットLIMは、拡張コントローラ41内の各種通信ア
ダプタ30−1〜30−n用の導入されたLIM 34
−1〜34−nのいずれであっもよい。コントローラ
(11)からLIMへの通信の場合は、NCPには、複
数の通信回線用に連鎖されたPIUバッファ列が用意さ
れている(図3参照)。カプラ32はこれらのバッファ
の連鎖を解除し、メモリからのDMAデータであると解
釈すると、対応するLIM 34−1〜34−n宛のメ
ッセージを組み立てる。カプラ32はこれらのタスクを
NCPおよびDMAバスから切り離して実行するので、
他の作業を並行に実行することができる。
【0054】逆方向(LIMからコントローラ(11)
への通信)の場合は、NCPには、連鎖された空のバッ
ファ列が用意されている。カプラ32はアクティブ状態
のLIM 34−1〜34−nからメッセージを受け取
ると、コントローラ・メモリ12内にメッセージを正し
く連鎖して1つにする必要がある。この場合も、これら
のタスクは主データ経路の外で実行される。
【0055】図4は、NCP、カプラ32およびLIM
36の間のメッセージのやりとりにおいて、データが
NCPから特定の通信アダプタへ送信される様子を示し
ている。図5はピコプロセッサがNCPからLIMへの
流れに介入して、NPSA、NDPSAおよびPIUを
フェッチする部分(GPSM 50)を示している。図
4(1)に示すように、NCPはブロードキャスト入出
力オペレーション(IOHコマンドを出し、EXECU
TE REQコード・オペレーションはデータを特定の
LIMへ転送することを要求している。IOHコマンド
は入出力バス18を経由して送信され、入出力インタフ
ェース・ステート・マシン70によって受信される。I
PSM 72はこのコマンドを受け取ると、そのパリテ
ィ、アドレス有効性などを検査し、メモリ54内のアド
レス参照テーブル(address look−up
table)(これは、初期プログラム・ロード(IP
L)時にNCPによって作成されている)にコマンドを
ストアしておき、あとで処理される。アドレス・テーブ
ル(図)には、その後の処理に備えて、最大1024
個までのコマンドをスタックすることができる。(従来
技術では、各コマンドを即時に処理する必要があったの
で、多くの場合、NCPのオペレーションが遅くなって
いた。)カプラ32は、別のピコプロセッサ(GPSM
50)を通して、アドレス参照テーブルに入っている
NPSAのアドレスを取得する。そのあと、NPSAを
DMA(直接メモリ・アクセス)して、それをローカル
・ストア52に入れてから(2)、複数のNDPSAの
うち最初に処理すべきNDPSAのアドレスを取得す
る。次に、カプラ32はNDPSAをDMAし(3)、
それを対応するLIMへ送信する(4)。LIMへ転送
すべきデータはカプラによってDMAされ、LIMへ送
信される(5〜12)。データがすべてLIMへ送信さ
れると、カプラは転送のNCP状況を通知し、転送が完
了する(13〜16)。NCPからのデータは、カプラ
によって多くのオペレーション、つまり、NDPSAと
PIUの連鎖解除などが行われてから、LIMへ送られ
るが、これらのオペレーションが並行に行われていると
き、DMAは他の目的に使用するために解放される。
【0056】直接メモリ・アクセス(DMA)の期間に
おけるGPSM 50の活動を示したのが図5である。
この場合には、例えば、NPSAは、カプラによる処理
のためにNCPからDMAされている。送信コマンドの
場合のGPSMプロセスは、大きく分けると、次の5つ
の機能からなっている。すなわち、(1)RAM 54
内のテーブルからNPSAアドレスを読み取って、ロー
カル・ストア52に入れ、(2)NPSAのDMA読取
りを行うために制御ワードを作り、(3)NPSAの読
取りを行うようにDMAインタフェースをセットアップ
し、(4)DMAが完了したかどうかをポーリングし、
(5)RAM 54からNPSAを読み取ってローカル
・ストア52に入れる。DMAインタフェース60、G
PSM50、ローカル・ストア52およびRAMメモリ
54の間で実際にやりとりされるメッセージは、データ
または制御ワードがやりとりされる方向を示す矢印で示
されている。
【0057】NPSAをRAM 54から読み取ってロ
ーカル・ストア52に入れるために、GPSM 50は
アドレスを受け入れるようにそのローカル・ストア52
を構成し、RAM54からアドレスを要求し、アドレス
を受け取ってそのローカル・ストアに入れる。
【0058】次に、GPSM 50は、DMAを行うと
きに正しいNPSAアドレス形式が使用されるように制
御ワード(CW)を作成しなければならない。これは、
NPSAアドレスを並べ替えてローカル・ストア52に
入れ、NPSAアドレスを要求してRAM 54に戻す
ことによって行われる。
【0059】DMAインタフェース60をセットアップ
するとき、GPSM 50はDMAインタフェース60
の制御レジスタとコマンド・レジスタおよびアドレス・
カウンタとバイト・カウンタをロードし、DMAインタ
フェース60がNPSAの読取りを行えるようにする。
【0060】GPSM 50は、DMAが完了したかど
うかをポーリングすることによってDMAのステータス
を保持している。
【0061】NPSAのDMAが完了すると、GPSM
50はNPSAを読み取ってそのローカル・ストア5
2に入れておき、その処理ができるようにする。すなわ
ち、次回に、同じプロセスがNDPSAアドレスを取り
出して、そのNDPSAをDMAできるようにする。こ
のようにして、バッファは、ピコプロセッサGPSM5
0によって主データ経路の外で連鎖が解かれるので(d
echaining)、通信システムを流れるデータ・
フローが向上する。
【0062】受信方向にデータを転送する場合は、カプ
ラ32には、各回線ごとに複数の空き(空の)バッファ
がメモリ54内に割り振られる。メッセージがターゲッ
トLIMから受信されると、GPSM 50は、上述し
たのと同じように、メッセージをNCPバッファ・サイ
ズに分解し、バッファ単位でメッセージをDMAし、メ
ッセージをNCP記憶装置内で連鎖して1つにする。一
連のメッセージが転送されると、ピコプロセッサは開始
バッファ・アドレスと終了バッファ・アドレスをLDP
SAに加える。そのあと、LDPSAはメモリにストア
され、このLDPSAは更新される。これらのメッセー
ジは、ターゲットLIMが転送すべき「最後のメッセー
ジ」をNCPに送るまで、メモリにストアされている。
GPSMはPIUをストアし、LDPSAとLPSAを
更新しストアする。そのあと、IPSMは、メッセージ
全体が入出力バス上の割込みよって処理される準備状態
にあることをNCPに通知する。
【0063】これらの機能を実行するプログラムはメモ
リ54にロードされている。ピココードによって制御さ
れるピコプロセッサを使用すると、ハードウェア・チェ
イニング手法では、その処理がデータ・バッファ(PI
U)だけであったのに対し、システムはメッセージの連
鎖(NPSA、NDPSA、PIU)を処理し、ハード
ウェア設計では達成できなかった、各回線ごとに可変バ
ッファ・サイズを処理できるという柔軟性が得られる。
さらに、ピコプロセッサは、外部マイクロプロセッサで
は達成できなかった、高パフォーマンスでこれらのオペ
レーションを実行できるという利点が得られる。
【0064】
【発明の効果】本発明によれば、データ伝送のための通
信システムは、主データ経路から論理的に外に置かれた
1つまたは2つ以上のピコプロセッサ(picopro
cessor)を使用し、主データ経路から切り離され
た形で、あるいはそこから分離された形で、計算や制御
機能を実行するようにしている。特に、本発明による通
信システムは、バッファ管理と高性能バッファ・チェイ
ニング(連鎖)プロセスを主データ経路から切り離して
行うために複数のピコプロセッサを利用して、主データ
経路をこれらのプロセスと並行に継続的に使用すること
を可能にしている。このようにすると、主システム・プ
ロセッサが負担する機能と仕事を解放し、不要なトラフ
ィック(通信量)を主データ経路から除くことができる
ので、データ転送が向上することになる。
【0065】図面に示す本発明の好適実施例を参照して
本発明を具体的に説明してきたが、この好適実施例は、
本発明の精神と範囲を逸脱しない限り種々態様に改良
し、変更することが可能であることはもちろんである。
【図面の簡単な説明】
【図1】本発明の方法および装置を使用した通信システ
ムを示すブロック図である。
【図2】本発明を使用した通信システムで使用されてい
る拡張コントローラを示すブロック図である。
【図3】ネットワーク制御プログラムにおけるバッファ
連鎖を示す図である。
【図4】カプラ、NCP、およびLIMの間でやりとり
されるメッセージを示す図である。
【図5】主データ経路の外で本発明のピコプロセッサに
よって実行されるオペレーションの例を示す図である。
【符号の説明】
10 中央制御ユニット(CCU) 11 通信コントローラ 12 メモリ 14 メモリ・コントローラ 16 低速アダプタ 18 入出力(I/O)バス 22 高速回線アダプタ 24 DMA(直接メモリ・アクセス)バス 28 スイッチ 30−1〜30−n アダプタ 32 カプラ 34−1〜34−n,36 LIM(回線インタフェー
ス・モジュール) 38−1〜38−n,40 バス 41 拡張コントローラ(コントローラ拡張部分) 50 GPSM(汎用ピココード化ステート・マシン)51 ステート・マシン 52 ローカル・ストア 54 メモリ 56,68,71,78,80,82 データ・バス 58 メモリ・インタフェース・ステート・マシン 60 DMAインタフェース・ステート・マシン 62,66,76 制御バス 64 LIMインタフェース・ステート・マシン 70 入出力インタフェース・ステート・マシン 72 IPSM(入出力ピココード化ステート・マシ
ン) 73 ステート・マシン 74 ローカル・ストア 81 バス 83 マイクロプロセッサ 85 記憶装置 86 バス 87 インタフェース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケネス ジェイムズ バーカー アメリカ合衆国 27511 ノースカロラ イナ州 カリイ ウッドランド コート 406 (72)発明者 ジョアン マリー ベリングハウゼン アメリカ合衆国 27513 ノースカロラ イナ州 カリイ マスター コート 107 (72)発明者 ジョージ マイケル カルホウン アメリカ合衆国 27613 ノースカロラ イナ州 ローリー ベイリーウィック ロード 10217 (72)発明者 ベルナール ジャック ノーディン フランス エフ06700 サン ローラン デュ ヴァル ダグリモン コルニッ シュ レ プロヴァンサル 10 (72)発明者 エドワード スタンレー サファーン フランス 06140 ヴァンス シンヌ シュマン ドゥ ラ プリュ オート 915 (56)参考文献 米国特許4896262(US,A) 欧州特許出願公開326696(EP,A)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 通信コントローラ及び拡張コントローラ
    を有する通信システムにおいて用いられ、かつ該通信コ
    ントローラと該拡張コントローラとの間を高速でデータ
    の個々のセグメントを転送するカプラであって、第1バ
    ス及び第2バスにより該通信コントローラに接続され、
    かつ第3バスにより該拡張コントローラに接続される該
    カプラにおいて、 a)前記第1バス、前記第2バス及び前記第3バスから
    受信したコマンド及びデータ・セグメントを一時的にス
    トアするメモリと、 b)前記第2バスと前記メモリ(a)との間に接続さ
    れ、前記第2バスからコマンドを取出して一時的にスト
    アし前記第2バスへコマンドを送信する手段と、 c)前記メモリ(a)及び前記第2バスの取出し送信す
    る手段(b)に結合され、前記第2バスから受信したコ
    マンドを前記第2バスの取出し送信する手段(b)から
    取出し、該受信したコマンドを前記メモリ(a)内のキ
    ューにおく第1ピコプロセッサと、 d)前記第1バスと前記メモリ(a)との間に接続さ
    れ、データ・セグメントを前記第1バスから取出して該
    データ・セグメントを前記メモリへ送信しかつデータ・
    セグメントを前記メモリから取出して該データ・セグメ
    ントを前記第1バスへ送信する手段と、 e)前記第3バスと前記メモリ(a)との間に接続さ
    れ、データ・セグメントを前記第3バスから取出して該
    データ・セグメントを前記メモリへ送信しかつデータ・
    セグメントを前記メモリから取出して該データ・セグメ
    ントを前記第3バスへ送信する手段と、 f)前記メモリ(a)と、前記第1バスの取出し送信す
    る手段(d)と、前記第3バスの取出し送信する手段
    (e)とで構成し、前記第1バスと前記第3バスとの間
    の前記データ・セグメントが通過する主データ経路と、 g)前記第2バスから受信しキューに入れられたコマン
    ドに応答して前記主データ経路上のデータ・セグメント
    のフローを管理及び制御する、前記主データ経路の外に
    論理的に置かれ、前記メモリ(a)に結合された第2ピ
    コプロセッサ、前記第1バスの取出し送信する手段
    (d)、及び前記第3バスの取出し送信する手段(e)
    と を備えたことを特徴とするカプラ。
  2. 【請求項2】 請求項1記載のカプラにおいて、 前記第2バスは入出力(I/O)バスであり、かつ、前
    記第2バスのコマンドを取出しストアする手段(b)は
    I/Oインタフェースを備え、該I/Oインタフェース
    は該I/Oバスに接続されていることを特徴とするカプ
    ラ。
  3. 【請求項3】 請求項1記載のカプラにおいて、 前記第1バスは直接メモリ・アクセス(DMA)バスで
    あり、かつ、前記第1バスのデータ・セグメントを取出
    しストアする手段(c)は該DMAバスに接続されたD
    MAインタフェースを備えたことを特徴とするカプラ。
  4. 【請求項4】 請求項1記載のカプラにおいて、 前記拡張コントローラは少なくとも1つの回線インタフ
    ェース・モジュール(LIM)を備え、前記第3バスは
    LIMバスであり、かつ前記第3バスのデータ・セグメ
    ントを取出す手段(e)は該LIMバスに接続されたL
    IMインタフェースを備えたことを特徴とするカプラ。
  5. 【請求項5】 請求項1記載のカプラにおいて、 前記第2ピコプロセッサ(g)は、前記データ・セグメ
    ントの前記フローを、前記第1バス又は前記第3バスか
    ら取出されバッファされたデータをチェイニング及びデ
    ィチェイニングすることにより管理し及び制御すること
    を特徴とするカプラ。
JP5136161A 1992-07-07 1993-06-07 主通信データ経路の外で複合機能を実行するピコプロセッサを利用したカプラ Expired - Lifetime JP2599553B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90988792A 1992-07-07 1992-07-07
US909887 1992-07-07

Publications (2)

Publication Number Publication Date
JPH0660041A JPH0660041A (ja) 1994-03-04
JP2599553B2 true JP2599553B2 (ja) 1997-04-09

Family

ID=25427985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5136161A Expired - Lifetime JP2599553B2 (ja) 1992-07-07 1993-06-07 主通信データ経路の外で複合機能を実行するピコプロセッサを利用したカプラ

Country Status (3)

Country Link
US (1) US5488734A (ja)
EP (1) EP0582535A1 (ja)
JP (1) JP2599553B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19846914C2 (de) 1998-10-12 2003-10-02 Oce Printing Systems Gmbh Datenbus und Verfahren zum Kommunizieren zweier Baugruppen mittels eines solchen Datenbusses
DE19846913A1 (de) * 1998-10-12 2000-04-20 Oce Printing Systems Gmbh Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
US6427180B1 (en) 1999-06-22 2002-07-30 Visteon Global Technologies, Inc. Queued port data controller for microprocessor-based engine control applications
US6529945B1 (en) 1999-07-26 2003-03-04 International Business Machines Corporation Data buffer management between two different systems
KR101199363B1 (ko) * 2005-08-29 2012-11-09 엘지전자 주식회사 최적화된 명암비를 제공하는 투사형 디스플레이 장치 및 그제어방법
US9843518B2 (en) * 2014-03-14 2017-12-12 International Business Machines Corporation Remotely controlled message queue
US9542243B2 (en) 2014-03-14 2017-01-10 International Business Machines Corporation Coalescing stages in a multiple stage completion sequence
US9997782B2 (en) 2014-04-08 2018-06-12 Hitachi Chemical Company, Ltd Bisphenol-based resin, electrode, lead storage battery, production methods for these, and resin composition
US11866383B1 (en) 2018-04-04 2024-01-09 Synsus Private Label Partners, Llc Nitrification inhibiting compositions and their use in agricultural applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896262A (en) 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4126779A (en) * 1976-06-04 1978-11-21 Amer-O-Matic Corporation Remittance processor
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4527237A (en) * 1979-10-11 1985-07-02 Nanodata Computer Corporation Data processing system
US4509113A (en) * 1982-02-02 1985-04-02 International Business Machines Corporation Peripheral interface adapter circuit for use in I/O controller card having multiple modes of operation
DE3272517D1 (en) * 1982-03-24 1986-09-18 Ibm Method and device for the exchange of information between terminals and a central control unit
US4651276A (en) * 1982-10-06 1987-03-17 Mcdonnell Douglas Corporation Computer read next instruction system
US4562450A (en) * 1983-03-07 1985-12-31 International Business Machines Corporation Data management for plasma display
US4750107A (en) * 1985-01-07 1988-06-07 Unisys Corporation Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels
US4908823A (en) * 1988-01-29 1990-03-13 Hewlett-Packard Company Hybrid communications link adapter incorporating input/output and data communications technology
US5003465A (en) * 1988-06-27 1991-03-26 International Business Machines Corp. Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
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
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
GB9000643D0 (en) * 1990-01-11 1990-03-14 Racal Milgo Ltd Computer bus system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896262A (en) 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory

Also Published As

Publication number Publication date
JPH0660041A (ja) 1994-03-04
EP0582535A1 (en) 1994-02-09
US5488734A (en) 1996-01-30

Similar Documents

Publication Publication Date Title
US6526451B2 (en) Method and network device for creating circular queue structures in shared memory
US7669000B2 (en) Host bus adapter with multiple hosts
US6717910B1 (en) Method and apparatus for controlling network data congestion
US6356962B1 (en) Network device and method of controlling flow of data arranged in frames in a data-based network
US4470114A (en) High speed interconnection network for a cluster of processors
US7337253B2 (en) Method and system of routing network-based data using frame address notification
US6327615B1 (en) Method and system of controlling transfer of data by updating descriptors in descriptor rings
CN108595353A (zh) 一种基于PCIe总线的控制数据传输的方法及装置
US7133943B2 (en) Method and apparatus for implementing receive queue for packet-based communications
JPH03130863A (ja) 制御要素転送システム
JP2599553B2 (ja) 主通信データ経路の外で複合機能を実行するピコプロセッサを利用したカプラ
US6856619B1 (en) Computer network controller
EP1891503B1 (en) Concurrent read response acknowledge enhanced direct memory access unit
US5432910A (en) Coupling apparatus and method for increasing the connection capability of a communication system
JPH09167139A (ja) システムバス用ソフトウエアドライバ
JPH03127154A (ja) 転送制御システム
JPH09224066A (ja) 通信プロトコル並列処理装置
JP3360727B2 (ja) パケット転送システム及びそれを用いたパケット転送方法
JPS6298444A (ja) デ−タ通信方式
JP2012205142A (ja) データ転送装置、データ転送方法および情報処理装置
JP2002176464A (ja) ネットワークインタフェース装置
JP2003289315A (ja) パケット転送装置およびパケット転送方法
JPH09269936A (ja) リモートリード処理方法およびその装置
KR100205055B1 (ko) 송신 연결망 인터페이스에서의 긴급 메시지 송신 제어 방법
KR0170595B1 (ko) 고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 애뮬레이션 방법