JPH0727503B2 - データ転送制御方法及びインタフェース・システム - Google Patents

データ転送制御方法及びインタフェース・システム

Info

Publication number
JPH0727503B2
JPH0727503B2 JP3023721A JP2372191A JPH0727503B2 JP H0727503 B2 JPH0727503 B2 JP H0727503B2 JP 3023721 A JP3023721 A JP 3023721A JP 2372191 A JP2372191 A JP 2372191A JP H0727503 B2 JPH0727503 B2 JP H0727503B2
Authority
JP
Japan
Prior art keywords
task
communication
port
priority
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3023721A
Other languages
English (en)
Other versions
JPH04215158A (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 JPH04215158A publication Critical patent/JPH04215158A/ja
Publication of JPH0727503B2 publication Critical patent/JPH0727503B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にディジタル・コン
ピュータ・システム、特にホスト・コンピュータ・シス
テムを直列通信ライン(回線)とインタフェースさせる
サブシステムに関する。
【0002】
【従来の技術】最新のコンピュータ・システムにとって
外部との通信は極めて重要である。システムによっては
同時に動作する幾つかの直列通信リンクを持っている。
同時に動作する多重リンクを制御することは全体のシス
テム・パフォーマンスを低下させる要求をシステム・プ
ロセッサに負わせることがある。
【0003】このパフォーマンス問題の1つの解決方法
は "高性能" 通信アダプタを使用することである。これ
らのアダプタは通信セッションの低いレベルの項目の全
てを処理する。該アダプタはこれらのホスト・システム
と通信し、割合に大きなブロックでデータを転送する。
受取ったデータ及び送信されるデータはどちらも該アダ
プタとホスト・システムの間でブロック転送により転送
される。前記転送に直接メモリ・アクセス(DMA)を
用いてホスト中央プロセッサの負担を更に軽減すること
ができる。
【0004】アダプタの数が限定されているシステムで
複数の通信ポートを提供するためには、1つのアダプタ
に幾つかのポートを接続することができる。しかしなが
ら、このアプローチは重要な問題を提起することがあ
る。幾つかの独立したポートに関するデータ及びコマン
ドの処理は、特に高い通信速度で、かなり複雑になるこ
とがある。異なる速度及びプロトコルが異なる通信ポー
トに用いられると、問題は非常に深刻になる。アダプタ
が全ての通信ポートのタイミングのよい処理を保証する
ことは困難になる。
【0005】データを喪失せずに複数の独立したポート
を処理できる通信ポート・アダプタとして用いるのに適
したシステムが提供されることが望ましい。
【0006】
【発明が解決しようとする課題】本発明の目的はホスト
・コンピュータ・システムで通信ポート・アダプタとし
て用いるのに適したシステムを提供することである。
【0007】本発明のもう1つの目的は1つのアダプタ
で複数の通信ポートが支援され、各々のポートは他のポ
ートに関係なく動作するシステムを提供することであ
る。
【0008】更に本発明のもう1つの目的はどのポート
でもデータが失われないことを保証するように通信ポー
トが処理されるシステムを提供することである。
【0009】
【課題を解決するための手段】本発明に従って、直列通
信アダプタは物理的な通信ポートとのインタフェースを
提供する。アダプタで実行するスケジューラは異なる優
先順位レベルでタスクをスケジュールし、時間が重要な
タスクはデータを喪失しないように速やかに実行され
る。通信ポートを介して送信されるデータ又は受信され
たデータはアダプタのバッファに記憶され、アダプタと
ホスト・システムの間のデータ及びコマンドの通信はD
MAチャネルによって実行されることが望ましい。
【0010】
【実施例】図2で、一般にホスト・システムと呼ばれる
コンピュータ・システムは参照番号10で示す。ホスト
・システム10はシステム・バス16に接続された中央
プロセッサ12及びメイン・メモリ14を含む。1以上
のユーザ・インタフェース入出力装置18もシステム・
バス16に接続される。これらのユーザ・インタフェー
ス入出力装置18は一般に表示装置及びキーボードを含
み、そして大抵はマウスのような指示装置を含む。
【0011】大容量記憶入出力装置20もシステム・バ
ス16に接続され、ホスト・システム10及び1以上の
大容量記憶装置をインタフェースすることが望ましい。
これらの装置は一般に磁気ディスク装置又は光学ディス
ク装置を含む。システムによっては、前記大容量記憶入
出力装置20を含まず、代りにネットワークに接続され
た遠隔の大容量記憶装置に依存する。直列入出力アダプ
タ22もシステム・バス16に接続することが望まし
い。良好な実施例では、前記アダプタ22はホスト・シ
ステム10と複数の直列通信ポートの間の通信を提供す
る。技術的に既知の種々の他の装置がホスト・システム
10に含まれることもある。
【0012】図2のシステムはメインのシステム・バス
16に接続される全ての入出力装置を示す。多くの高い
パフォーマンスのシステムは中央プロセッサ12とメイ
ン・メモリ14の間に高速バスを設ける。前記システム
では、入出力制御装置(図示せず)は該高速バスに接続
され、次いで別の入出力バス(図示せず)を介して種々
の入出力装置18、20、22に接続する。前記システ
ムでは、メイン・メモリ14と種々の入出力装置の間で
転送されたデータは入出力制御装置を介して送られ、且
つ入出力制御装置により制御される。下記の複数ポート
の直列アダプタはどちらのタイプのシステムでも同等に
良好に作用することができる。多くの異なるタイプのコ
ンピュータ・システムでインタフェースの使用を可能に
するためには、アダプタとバスの間に適切なインタフェ
ースを設けるだけでよい。
【0013】図1は良好な直列入出力アダプタ22を示
す。アダプタ22はシステム・バス・インタフェース2
4を介してシステム・バス16に接続される。インタフ
ェース24は高速バスのアダプタ・バス26に接続され
る。アダプタ・バス26には中央プロセッサ28および
アダプタ・メモリ30も接続される。中央プロセッサ2
8は INTEL 80186プロセッサのような市販のマイクロプ
ロセッサを使用することができる。アダプタ・メモリ3
0は、技術的に既知のコンピュータ・システム・メモリ
であり、後で説明する機能を支援する容量が十分にある
ので使用可能である。一般的な使用例では、アダプタ・
メモリ30が持つ 512K バイトの容量は4つの通信ポー
トにとって十分である。中央プロセッサ28はアダプタ
・メモリ30に記憶されたプログラムを用いてアダプタ
22の機能を実行する。
【0014】4つの直列ポート・インタフェース32、
34、36及び38もアダプタ・バス26に接続され
る。図2には4つのポートが示されているが、必要なら
ば、もっと多くのポートを1つのアダプタに接続するこ
とができる。1枚の直列入出力アダプタ22のカードに
接続できるポート数は、これらのポートに供給できる処
理能力とアダプタ22のカードに接続できる物理的なポ
ート数によってのみ制限される。
【0015】直列ポートDMA制御装置40はアダプタ
・バス26に接続され、アダプタ・メモリ30とポート
32、34、36、38の間のDMA転送の制御に用い
られる。各々のポートは受信バッファにデータが使用可
能な時期及び送信バッファがデータ受信に使用可能な時
期を示す2つの信号ラインが直にDMA制御装置40に
接続される。DMA制御装置40は前記信号を用いて通
信ポートとアダプタ・メモリ30の間のDMA転送を開
始する時期を決める。
【0016】DMA転送を実行するために、DMA制御
装置40及びシステム・バス・インタフェース24はど
ちらも、アダプタ・バス26のバス・マスタとして動作
することができる。システム・バス・インタフェース2
4及びDMA制御装置40はDMAを用いてデータをア
ダプタ・メモリ30へ転送するか又はアダプタ・メモリ
30から転送する。更に、インタフェース24もシステ
ム・バス16のバス・マスタになり、DMAチャネルを
用いてメイン・メモリ14へ又はメイン・メモリ14か
らデータを転送することができる。本明細書に記述され
た実施例では、システム・バス・インタフェース24に
より1つのDMAチャネルが用いられ、通信ポート3
2、34、36及び38の全てのデータを転送する。
【0017】アダプタ22の動作を制御するために、中
央プロセッサ28は後で説明する幾つかの異なるルーチ
ンを実行する。次にどのタスクを実行すべきかを決める
タスク・スケジューラ・ルーチンは非常に重要である。
システム・バス・インタフェース24を介してシステム
・バス16へ又はシステム・バス16からのDMA転送
をセットアップし、アダプタ・メモリ30と通信ポート
の間の送受信動作をセットアップし且つ種々の誤り条件
を処理するための種々のルーチンは中央プロセッサ28
によって実行される。
【0018】図3はアダプタでタスクをスケジュールす
るのに用いることが望ましいスケジューラ作業テーブル
50を示す。異なるタスクは図3に示すレベル0からレ
ベル6までの異なる優先順位レベルで動作する。実際に
使用される優先順位の数は特定の実施例に適合するよう
に必要に応じて変更できる。優先順位レベル0は最高の
優先順位であり、優先順位レベル6は最低の優先順位で
ある。
【0019】優先順位の各々は実行待ちのタスクを示す
エントリーを有する。優先順位レベル1〜6の各々はア
ダプタの各々の通信ポートに対応する1つのエントリー
を持つビットマップから成る。もしどれか特定のビット
の値が1であれば、対応するポートはスケジュールされ
た対応するタスクを持っている。
【0020】スケジューラ作業テーブル50にあるビッ
トは種々の割込みハンドラ及び後で詳細に説明するタス
クの実行によりセットされる。ハードウェア割込みが起
きると、適切なハンドラは、どのルーチンを呼出して処
理するかを決定し、スケジューラ作業テーブル50にあ
るビットをセットして前記ルーチンをスケジュールす
る。ルーチンが実行されると、該ハンドラはテーブル5
0にあるビットをセットして他のルーチンをスケジュー
ルできる。一般にそれ自身のビットをリセットすること
により、それ自身がスケジュール解除(unschedule)され
る。
【0021】最高の優先順位レベル、レベル0は現にス
ケジュールされた、当該優先順位レベルのタスクの数を
示すカウンタとして用いられる。この動作の相違点は後
で詳細に説明する。実施例によっては、他の優先順位レ
ベルをこのように用いるか又は全く用いないことが望ま
しいことがある。
【0022】最高の優先順位レベルはシステム・バスD
MA転送を実行するタスクである。タスクがシステム・
バスDMA転送を必要とする毎にレベル0カウンタが増
分され、必要な識別情報がアダプタ・メモリ30にある
リストに加えられる。1つのシステム・バスDMAチャ
ネルだけが使用可能であるから、任意の所与の時刻に1
つのシステム・バスDMAタスクだけが動作できる。残
りのタスクはどれも現に実行中のシステム・バスDMA
タスクが終了し、該残りのタスクが実行できるようにな
るまで待たなければならない。後で説明するようにシス
テム・バスDMAタスクを実行している間に他のタスク
もアダプタで実行することができる。
【0023】通信ポートがフレームを受信し終ったとき
レベル1のタスクが呼出され、受信されたフレームの妥
当性を種々のステップを用いて検査しなければならな
い。データ受信タスクは受信されたフレームを検査し、
誤りがあればフラグを立てる。データ受信タスクはシス
テム・バスにより該受信フレームをホストにDMA転送
することもスケジュールする。
【0024】次の優先順位レベル2のタスクはデータ送
信タスクである。このタスクはアダプタ・メモリ30か
ら適切な通信ポートへのデータ転送を開始する。ポート
を介して通信されるデータのフレームのアセンブルが終
るか又は前のフレームが送信を終了すると、データ送信
タスクがスケジュールされる。
【0025】レベル3のタスクは通信ポートに誤りが現
われる毎に呼出される誤り/状況タスクである。このタ
スクによって処理される誤りのタイプは制御信号の予期
しない変更並びにデータ伝送誤りのようなライン誤りを
含むことが望ましい。
【0026】後に説明する状況では、ポートによって生
成される種々の事象即ちデータの送信又は受信はキュー
(待ち行列)に入れて後の処理を待たなければならな
い。レベル4はポート応答キューでエントリーを処理す
るタスクである。同様に、レベル5は後の処理を待つた
めにキューに入れられているポートに送られるコマンド
を処理するタスクである。ポート応答キュー及びポート
・コマンド・キューの使用は通信ポートがその最新の動
作を終了するのを待たことなく種々のタイプの処理を実
行できるようにする。例えば、ホスト・システムに都合
のよいときにコマンドをポートに送ることができ、それ
らのコマンドはポートに印加されるまでキューに駐在す
る。到来する事象は直列入出力アダプタ22で中央プロ
セッサ28がそれらを処理できるまでポート応答キュー
に記憶される。
【0027】最低の優先順位、レベル6は非活動状態に
なっているタスクを活動化するために使用される。時に
は所定の事象が起きるまでタスクの動作を延期させるこ
とが望ましい。後で説明するように、このタスクは非活
動状態にすることができるので延期されたままである。
所定の事象が起きると、該事象に関連した割込みハンド
ラはポート応答キュー・タスクをスケジュールし、スケ
ジューラ作業テーブル50のレベル6の適切なビットを
セットする。当該ポートの活動化タスクが選択され実行
されると、該延期されたタスクは実行を再開する。
【0028】図4、図5及び図6はタスクをスケジュー
ルし実行する方法を示す。スケジューラは図4で無限ル
ープを実行する。現に選択されたタスク又はプロセスは
終了に至るまでステップ60で実行される。タスクの実
行が終了すると、スケジューラはタスクがスケジュール
される最高の優先順位レベルをステップ62で選択す
る。次にステップ64でスケジューラは実行されるタス
クを当該優先順位レベルの範囲内で選択する。選択され
た優先順位レベルで2以上のタスクが実行されるように
選択されると、ラウンドロビン方式が用いられ、次にど
のタスクを実行すべきかを決定する。これは、全てのポ
ートを同等に処理すること、及び同じ優先順位レベルで
タスクがスケジュールされている全ての他のポートがサ
ービスされるまでどのポートも所与の優先順位レベルの
どれかでタスクを実行しないことを保証する。タスクが
選択されたのち、制御はステップ60に戻り、該選択さ
れたタスクが実行される。
【0029】ステップ62および64は極めて速やかに
動作し、割込みできないことが望ましい。なぜなら、し
ばしば起きることがある種々の割込みはスケジューラ作
業テーブル50の更新によってタスクをスケジュール
し、この動作はステップ62及び64の選択プロセスを
妨げるからである。ステップ60のプロセス実行は割込
み可能であり、システム及び通信ポートにより生成され
た種々のハードウェア割込みが用いられ、スケジューラ
作業テーブル50内のタスクが更にスケジュールされ
る。
【0030】図5は割込みを処理する一般的な方法を示
す。アダプタ22でハードウェア割込みが起きると、中
央プロセッサ28の制御は汎用割込みルーチンに移され
る。このルーチンはステップ66で割込みの種類を識別
し、適切な割込みハンドラを実行する。ステップ68で
実行する割込みハンドラは非常に短く且つ割込み不可能
にすることが望ましい。割込みハンドラは一般に割込み
の原因を明らかにし、定期的にスケジュールされたタス
クの1つが見つけることができる適切な領域に1つか2
つのデータ項目をコピーし、ステップ70でスケジュー
ラ作業テーブル50を更新して適切なタスクをスケジュ
ールする。従って、ステップ60でタスクが実行されて
いる間に、追加して実行されるタスクが種々の割込みハ
ンドラによって作業テーブル50でスケジュールされ
る。
【0031】図5の方法は種々のタスクの優先使用を不
可能にするときに使用される。換言すれば、実行中のタ
スクが終了してから別のタスクがスケジューラにより開
始される。大抵のタスクはかなり短いから、これによっ
て大抵のシステムでは問題は生じない。しかしながら、
希望があれば種々のタスクの優先使用を可能にすること
ができる。もしそうなれば、より高い優先順位のタスク
の割込みによるスケジューリングは現在のタスクの実行
を延期させ、より高い優先順位のタスクが直ちに実行さ
れる。図6はこのような状況における割込み処理の流れ
図を示す。
【0032】ハードウェア割込みが起きると、割込みの
種類がステップ72で識別され、ステップ74で適切な
割込みハンドラが実行される。前述のように、割込みハ
ンドラを実行することにより、ステップ76でスケジュ
ーラ作業テーブル50が更新される。そしてステップ7
8で、現に実行中のタスクよりも高い優先順位を持つ作
業がスケジュールされているかどうかを検査する。ステ
ップ80で、より高い優先順位のタスクがスケジュール
されていなければ、現在のタスクの実行が再開される。
もしステップ74で、より高い優先順位のタスクが割込
みハンドラの実行中にスケジュールされたならば、現に
実行中のプロセスはステップ82で中断され、該より高
い優先順位のプロセスの実行を開始するために再びスケ
ジューラが呼出される。
【0033】図7はアダプタ・メモリ30内に記憶され
た重要なデータ構造の一部を示す。メモリ30の主要部
分は送受信バッファ90によって取出すことが望まし
い。これらのバッファ90はメモリ30内で自由に使用
できる空間から動的に割振られる。送受信バッファ90
のために自由に使用できる空間のリストは技術的に既知
の方法で維持される。
【0034】ベクトル・テーブル91は種々のタスク及
び割込みで使用するために割振られる。スタック92は
一時的にデータを記憶するためにポート毎に独立して割
振られる。従って、アダプタ22に4つの通信ポートが
設けられると、メモリ30内に4つのスタックが割振ら
れる。別のスタック93はスケジューラによって使用さ
れ、他のポートも、対応するポートがアクセスする種々
のデータ構造を指すポインタを含むポート制御ブロック
94を有する。ポート・コマンド・キュー96はポート
毎に、該ポートに送られたコマンドを含むFIFOキュ
ーを提供する。ポートに送られたコマンドの各々は、ポ
ート・コマンド・エレメントと呼ばれる標準的なサイズ
のデータ構造に入れられ、各々のキューのコマンドは循
環バッファに入れられる。
【0035】ホストに又はホストから送られるデータを
必要とするポート・コマンドが実行されると、該データ
転送プロセスが終了するまで、前記ポートのそれ以上の
コマンドは実行することができない。システムによって
は、ポートを介してデータを転送するピンポン・バッフ
ァを用いることができる。前記の場合、もしポートの1
チャネルが活動状態であれば、他のチャネルは次の転送
のためにセットアップすることができる。ポート・コマ
ンド・キュー96で待っているポート・コマンドは他の
バッファを準備するために実行することができる。
【0036】ポートの各々はポート・コマンド・キュー
96と同様に循環バッファから成る対応するポート応答
キュー98も持っている。ポート応答キュー98はシス
テムが処理せねばならない対応するポートによって生成
されたエントリーを含む。もしポートのシステム・バス
DMA転送が実行中であれば、該ポートが生成している
全ての前記応答はポート応答キュー98に送付されねば
ならない。そのうえ、もしポートが非活動状態であれ
ば、所定の事象の発生によって活動化させるために該ポ
ートによって生成された全ての応答は適切なポート応答
キュー98に送付される。
【0037】アダプタ・メモリ30内には、スケジュー
ラ、種々のスケジュールされたタスク及び割込みハンド
ラの実行可能コード100もある。技術的に既知の一時
変数記憶に用いる幾つかの他の位置はアダプタ・メモリ
30にあるが、図7には特に図示しない。スケジューラ
作業テーブル50もメモリ30に含まれる。
【0038】図8はシステム・バスDMAタスクの動作
を示す。前述のように、システム・バスDMAタスクは
スケジューラ作業テーブル50を他のレベルとは異なる
ように使用し、スケジューラ作業テーブル・エントリー
は、タスクがスケジュールされるポートを識別するので
はなく、スケジュールされるタスクの数を示す。システ
ム・バスDMAタスクがスケジュールされると、要求さ
れたタスクの表示は別のデータ構造(図示せず)に記憶
され、該スケジュールされたシステム・バスDMAタス
クの1つは希望する任意の優先順位方式により選択され
る。
【0039】ひとたびシステム・バスDMAタスクが開
始されると、該転送が行われている間に他のアダプタ処
理を開始することができる。スケジューラはできればレ
ベル0をスケジュールしようと試みるから、システム・
バスDMA転送の期間はレベル0のエントリーを0にセ
ットする必要がある。従って、図8で、選択されたシス
テム・バスDMAタスクが実行する最初のステップ10
8は、スケジューラ作業テーブル50のレベル0に反映
される現在のDMAカウントを保管することである。次
に、ステップ110でスケジューラ作業テーブル50の
レベル0に0が入力され、ステップ112でシステム・
バスDMAタスクが開始される。ステップ112でひと
たびDMAが開始されると、制御はスケジューラに戻
り、新たに実行されるタスクを選択する。
【0040】しばらくして、ステップ114でシステム
・バスDMA転送が終了する。この時点で、追加のタス
クをステップ116でスケジュールする必要がある。そ
してスケジューラ作業テーブル50のレベル0エントリ
ーがステップ118で復元される。テーブル50のレベ
ル0に戻される値はそれが復元される前に減分されるこ
とが望ましい。
【0041】もしデータをホスト・システムからアダプ
タ22に転送するDMA送信が発生していれば、ポート
・コマンド・キュー96にかかっているロック(後で説
明する)を外す必要がある。そしてポート・コマンド・
キューのタスクがスケジュールされる。データをアダプ
タ22からホスト・システムに転送するDMA受信が終
了すると、ポート応答キュー98のタスクがスケジュー
ルされる。そして当該ポートの応答事象のポート応答キ
ュー98への送付を生じる大域フラグがクリアされ、ポ
ート応答を通常通り処理することができる。これらの動
作の全てはステップ116で行われる。
【0042】図9はデータ送信タスクの動作を示す。フ
レーム割込みの終りがポートによる送信動作の終了を示
すとき、このタスクがスケジュールされる。最初にステ
ップ120で、タスクは関連情報をポート制御ブロック
に入れて終了を合図する。そしてステップ122で、送
信バッファがクリアされ自由になる。ステップ124
で、スケジューラ作業テーブル50に適切なビットをセ
ットすることによりポート・コマンド・キューのタスク
がスケジュールされる。もしステップ126でもう1つ
のフレームが送信可能であれば、ステップ128で送信
を開始し、タスクは終了する。もしステップ126で送
信可能なフレームがなければ、タスクは単にリターンす
る。
【0043】図10はデータ受信タスクにより実行され
るステップを示す。最初にステップ130で、通信ポー
トに用いる通信プロトコルを特に処理するためにコード
化されている手順が呼出される。通信ポートに用いるプ
ロトコルは対応するポート制御ブロック94に含まれた
適切な値で指示される。ブロック132に示すステップ
は実際にプロトコル特定手順によって実行される。受信
フレームはステップ134で処理され、ステップ136
で適切なエントリーがポート応答キュー98に加えられ
る。もし受信データ・フレーム内に誤りが起これば、誤
り/状況タスクをスケジュールできる。
【0044】図11は誤り/状況タスクにより実行され
るステップを示す。ステップ140で誤り識別子は割込
みハンドラによってポート制御ブロック94にコピーさ
れ、誤りが生じたポートは当該ポートを後にアクセスす
るタスクを指示する。誤り識別子は発生した誤りのタイ
プを指示する。ステップ142で対応する可能な誤りソ
ースが検査される。ひとたび誤りのソースが識別される
と、ステップ144で当該ポートのポート応答キュー9
8に適切なエントリーが加えられる。これらのエントリ
ーの処理が終了すると、該ポート誤りはホスト・システ
ム10に通知される。
【0045】図12はポート応答キュー98のタスクの
動作を示す。最初にステップ150でポート応答キュー
98が空であるかどうかを検査する。もし空であれば、
自動的にポート応答を該キューに再送するために用いる
フラグがステップ152でクリアされ、ポート応答は通
常の方法で処理される。そしてタスクはステップ154
でそれ自身をスケジューラ作業テーブル50からスケジ
ュール解除して終了する。もしステップ150で該キュ
ーにエントリーがあれば、ステップ156で次のエント
リーが選択される。ステップ158で次のエントリーが
ホスト・システム10へのDMA転送を必要とする応答
であるかどうかを検査する。もしそうなら、バス・マス
タDMAタスクがステップ160でスケジュールされ、
現在のタスクはステップ154でスケジュール解除され
る。もし次のエントリーがDMA転送ではないならば、
ステップ162で該ポートのタスクが非活動状態である
かどうかを検査する。もし非活動状態ではないならば、
ステップ164で該応答はホスト・システム10に送ら
れる。もしタスクが非活動状態であるならば、ステップ
166で非活動状態/活動化タスクがスケジュールさ
れ、現在のタスクはステップ154でスケジュール解除
される。
【0046】図13はポート・コマンド・キュー96の
タスクにより実行されるステップを示す。一般に、この
タスクはポート・コマンド・キュー96で次のエントリ
ーを選択し実行する。種々の事象の発生は次のポート・
コマンド・エントリーの実行を妨げることがある。最初
に、ステップ170でポート・コマンド・キュー96か
ら次のエントリーを選択する。もしステップ172で次
のエントリーがロックされていなければ、システム・バ
スDMA動作を必要とするかどうかをステップ174で
検査する。前期動作が必要ではなく且つステップ176
でポートが使用可能であれば、ステップ177で次のデ
ータ・ブロックの送信がセットアップされ、ステップ1
78でデータ送信タスクがスケジュールされる。前述の
ように、もしポート毎に2つのピンポン・バッファが設
けられるならば、送信は2つまで前処理することができ
る。
【0047】多くの場合、システム・バスDMA転送を
実行しアダプタ22にデータを転送した後にデータを送
信することができる。もしステップ174の検査結果が
肯定応答であれば、ステップ180で適切なシステムD
MA動作をスケジュールし、ステップ182で現に選択
されたポート・コマンド・キュー96のエントリーをロ
ックする必要がある。そしてこのポートのレベル5のタ
スクはステップ184でスケジュール解除される。図8
に関連して前述したように、システム・バスDMAタス
クの終了により、ステップ182でセットされたロック
が外され、このポートのポート・コマンド・キューのタ
スクは再びスケジュールされる。図13の次回のプロセ
スでは、ステップ174のシステムDMA検査の結果は
否定応答になる。もしステップ172で次のエントリー
がロックされているか又はステップ176で該ポートが
使用できなければ、制御はステップ184に移り、ステ
ップ184でこのポートのスケジューラ作業テーブル5
0内のレベル5のエントリーはスケジュール解除され
る。
【0048】図14はタスクがそれ自身を非活動化し次
いで活動化されるときに実行されるステップを示す。最
初にステップ190でポートの SLEEP-ENABLE(非活動化
イネーブル) 変数がセットされる。タスクはステップ1
91で非活動状態に移行し、ステップ192で該ポート
の現在のコンテキスト(情況)はスタックに保管され
る。SLEEP-ENABLE変数をステップ190でセットするこ
とにより、該ポートで生成された応答はどれもポート応
答キュー98に送られる。そして非活動状態に移行して
いるタスクはステップ194で脱出し、他の処理が行わ
れる。他の処理が行われている間、ステップ192で保
管されたコンテキストはそのままポート・スタック92
に残る。
【0049】新しい事象がポート応答キュー98に加え
られると、ポート応答キュー98のタスクは非活動状態
のタスクを活動化し、ステップ196で前記コンテキス
トはスタックから復元される。ステップ198でこの活
動化事象が終末条件に達したかどうかを判定する検査が
行われる。もし達していなければ、タスクは単にステッ
プ191に戻り非活動状態に移行する。もし前記事象に
より実際にタスクが活動化されれば、ステップ200で
その実行が再開される。タスクが終了すると、SLEEP-EN
ABLE変数はリセットされる。タスクはその実行中の後の
段階でそれ自身を再び非活動状態にし、前述のシーケン
スの事象を反復させることができる。
【0050】非活動状態のタスクの活動化はスケジュー
ル可能な最下位レベルのタスクであるから、前記タスク
が活動化されたとき、ホスト・システム10はステップ
192でスタックに保管されたコンテキストをスタック
の最上部のフレームとして取得することが保証される。
活動化は他のタスク又は割込みによってもスケジュール
され、スケジューラ作業テーブル50のレベル6に適切
なビットをセットする。
【0051】前述のシステムはアダプタ22で種々の通
信サブタスクの優先順位スケジューリングを可能にす
る。支援可能な優先順位レベルの数及び通信ポート数は
基本的なスケジューラを変更することなく容易に拡張さ
れる。良好な実施例のアダプタは2つの異なるレベルの
DMA転送を支援する。1つのレベルはアダプタ・バス
26によって実行されるDMA転送であり、もう1つの
レベルはシステム・バス・インタフェース24によって
実行されるシステム・バス16によるDMA転送であ
る。
【0052】タスクは時間的に最も重要なタスクが最高
の優先順位を持つように良好なスケジューラ作業テーブ
ル50によって優先順位が決められている。通信ポート
によるデータ損失を避けるためにタイミングよく実行す
る必要があるデータ送信タスク及びデータ受信タスク
は、キュー96及びキュー98に配列された種々のコマ
ンド及び応答の処理よりも高い優先順位を有する。それ
自身を非活動状態にするタスクは、当該タスクの時間が
重要な要素ではないことを意味し、全体のうちで最低の
優先順位を有する。システム・バスDMA転送は1つの
資源が全てのポート間で共用されるので隘路になる傾向
があり、従ってシステム・バスDMAタスクは最高の優
先順位が与えられる。システム・バスDMA転送が行わ
れている間に他のタスクがアダプタ22で実行される機
構が設けられる。優先順位レベル毎にラウンドロビン方
式が用いられるから、ポートが不足することはない。
【0053】
【発明の効果】以上説明したように本発明によれば、ホ
スト・コンピュータ・システムで通信ポート・アダプタ
として用いるのに適したシステムを提供することができ
る。
【図面の簡単な説明】
【図1】図2のシステムで使用する良好な直列通信アダ
プタのブロック図である。
【図2】本発明を適用することのできるホスト・コンピ
ュータ・システムのブロック図である。
【図3】本発明による良好なスケジューラ作業テーブル
を示す図である。
【図4】良好なアダプタ・システムにおけるタスク実行
の流れ図である。
【図5】良好なアダプタ・システムにおける割込みの流
れ図である。
【図6】良好なアダプタ・システムにおける割込みの流
れ図である。
【図7】良好なアダプタに含まれたメモリの内容を示す
図である。
【図8】本発明によりスケジュール可能な選択機能の動
作の流れ図である。
【図9】本発明によりスケジュール可能な選択機能の動
作の流れ図である。
【図10】本発明によりスケジュール可能な選択機能の
動作の流れ図である。
【図11】本発明によりスケジュール可能な選択機能の
動作の流れ図である。
【図12】本発明によりスケジュール可能な選択機能の
動作の流れ図である。
【図13】本発明によりスケジュール可能な選択機能の
動作の流れ図である。
【図14】本発明によりスケジュール可能な選択機能の
動作の流れ図である。
【符号の説明】
10 ホスト・システム 12 中央プロセッサ 14 メイン・メモリ 16 システム・バス 18 ユーザ・インタフェース入出力装置 20 大容量記憶入出力装置 22 直列入出力アダプタ 24 システム・バス・インタフェース 26 アダプタ・バス 28 中央プロセッサ 30 アダプタ・メモリ 32 直列ポート・インタフェース 34 直列ポート・インタフェース 36 直列ポート・インタフェース 38 直列ポート・インタフェース 40 直列ポートDMA制御装置 50 スケジューラ作業テーブル 90 送受信バッファ 91 ベクトル・テーブル 92 スタック 93 スタック 94 ポート制御ブロック 96 ポート・コマンド・キュー 98 ポート応答キュー 100 実行可能コード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェムス・スタンレイ・ポゴゼルスキ アメリカ合衆国テキサス州ジョージ・タウ ン、ウエスト・エスパラダ・ドライブ 102番地 (72)発明者 ジャクリーン・ヘゲジュス・ウイルソン アメリカ合衆国テキサス州オースチン、 ベル・マウンテン・ドライブ 9504番地 (56)参考文献 特開 平1−193955(JP,A) 特開 昭63−56736(JP,A)

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】ホスト・データ処理システムとの間で、複
    数の通信セッションに関するデータ・ブロックを転送す
    る通信アダプタであって、 (a)前記ホスト・データ処理システムとの間のインタ
    フェースと、 (b)中間メモリと、 (c)複数の通信ポートと、 (d)前記通信ポートに対するタスクを実行するプロセ
    ッサと、 (e)前記インタフェース、前記中間メモリ、前記プロ
    セッサ及び前記通信ポートに接続されたバスと、 (f)前記バスを介して前記通信ポートと前記中間メモ
    リとの間でデータ・ブロックを転送するDMAコントロ
    ーラと、 (g)最高優先順位はデータ・ブロック転送の未処理の
    要求の数を示すカウンタを含む1つのエントリを有し、
    該最高優先順位より低い優先順位は前記通信ポートのタ
    スクを呼び出すための各通信ポート用エントリ記憶位置
    を有する複数のタスク優先順位を含むスケジュール用優
    先順位テーブルを、前記中間メモリ中に生成する手段
    と、 (h)前記通信ポートにおける事象に応答して割込みを
    生成する手段と、 (i)前記割込みに応答して、前記低い優先順位のエン
    トリ記憶位置にエントリを追加し、前記最高優先順位の
    前記カウンタを増分する割込み処理手段と、 (j)データ・ブロックの転送中は、前記最高優先順位
    のカウンタを一時的に0に設定する手段と、 (k)前記スケジュール用優先順位テーブルに応答し
    て、前記優先順位に従って前記通信ポートに対するタス
    クの実行をスケジュールする手段と、 を有することを特徴とする通信アダプタ。
  2. 【請求項2】前記通信アダプタが、実行中のタスクに応
    答して前記エントリ記憶位置にエントリを追加する手段
    を含むことを特徴とする請求項1に記載の通信アダプ
    タ。
  3. 【請求項3】前記通信アダプタが、ラウンド・ロビン方
    式により各通信ポートに対するタスクの呼び出しをスケ
    ジュールする手段を含むことを特徴とする請求項1に記
    載の通信アダプタ。
  4. 【請求項4】前記通信アダプタが、ユーザの選択した条
    件に従い、最低の優先順位のタスクを通信ポートに割り
    当てる手段を含むことを特徴とする請求項1に記載の通
    信アダプタ。
  5. 【請求項5】前記通信アダプタが、前記スケジュール用
    優先順位テーブル中の優先順位を選択する手段を含むこ
    とを特徴とする請求項1に記載の通信アダプタ。
  6. 【請求項6】ホスト・データ処理システムと複数の通信
    回線との間に接続されたプログラム可能な通信コントロ
    ーラにおいて、該通信コントローラに含まれる複数の通
    信ポートを介して、該通信回線と該ホスト・データ処理
    システムとの間でデータ転送を制御する方法であって、 (a)中間メモリ内に前記通信ポートと該中間メモリと
    の間、及び該中間メモリと前記ホスト・データ処理シス
    テムとの間のデータ転送動作の一部分を実行する複数の
    タスクを規定するステップと、 (b)最高優先順位は1つのエントリ記憶位置しか持た
    ず、タスクのための複数の該最高優先順位より低い優先
    順位は各々通信ポートのための1つのエントリ記憶位置
    を有し、前記中間メモリと前記通信ポートとの間のデー
    タ・ブロック転送が該最高優先順位の要求である優先順
    位テーブルを、前記中間メモリ内に生成するステップ
    と、 (c)前記ホスト・データ処理システムの前記通信ポー
    トで発生する事象に応答して実行されるタスクにより識
    別されるエントリを、前記低い優先順位のエントリ記憶
    位置に挿入するステップと、 (d)前記データ・ブロック転送の未処理の要求の数を
    追跡するために、前記最高優先順位のエントリ記憶位置
    にカウンタを設けるステップと、 (e)前記データ・ブロック転送のための前記優先順位
    テーブルの外にデータ・ブロック転送の未処理の要求の
    ためのキューを設けるステップと、 (f)前記データ・ブロック転送の間に、前記低い優先
    順位のタスクがスケジュールされる様に、1つのデータ
    ・ブロック転送の実行に応答して、該データ・ブロック
    転送の間にデータ・ブロック転送の未処理の要求の前記
    カウンタをゼロにリセットするステップと、 (g)前記優先順位テーブル中のエントリにより識別さ
    れるタスクの中から、優先順位に従い、実行するタスク
    を選択するステップと、 を含むことを特徴とするデータ転送制御方法。
  7. 【請求項7】請求項6に記載の方法が、ラウンドロビン
    方式で前記複数の通信ポートのタスクを実行するステッ
    プを含むデータ転送制御方法。
  8. 【請求項8】請求項6に記載の方法が、前記ホスト・デ
    ータ処理システム又は前記通信ポートにより発生したハ
    ードウェア割込みに応答して、前記優先順位テーブルの
    エントリ記憶位置にエントリを挿入、又は、前記最高優
    先順位の前記カウンタの値を1つ増分するステップを含
    むデータ転送制御方法。
  9. 【請求項9】請求項8に記載の方法が、スケジュールさ
    れたタスクの実行に応答して、他のタスクのエントリを
    前記優先順位テーブルに挿入するステップを含むデータ
    転送制御方法。
JP3023721A 1990-02-14 1991-01-25 データ転送制御方法及びインタフェース・システム Expired - Fee Related JPH0727503B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/479,777 US5247671A (en) 1990-02-14 1990-02-14 Scalable schedules for serial communications controller in data processing systems
US479777 1990-02-14

Publications (2)

Publication Number Publication Date
JPH04215158A JPH04215158A (ja) 1992-08-05
JPH0727503B2 true JPH0727503B2 (ja) 1995-03-29

Family

ID=23905385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3023721A Expired - Fee Related JPH0727503B2 (ja) 1990-02-14 1991-01-25 データ転送制御方法及びインタフェース・システム

Country Status (10)

Country Link
US (1) US5247671A (ja)
EP (1) EP0442615B1 (ja)
JP (1) JPH0727503B2 (ja)
KR (1) KR950002713B1 (ja)
CN (1) CN1021536C (ja)
AU (1) AU649642B2 (ja)
DE (1) DE69130620T2 (ja)
MY (1) MY105323A (ja)
NZ (1) NZ236764A (ja)
SG (1) SG42809A1 (ja)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3055917B2 (ja) * 1990-05-22 2000-06-26 日本電気株式会社 データ転送制御装置
WO1992017796A1 (en) * 1991-03-28 1992-10-15 The Commonwealth Of Australia Radar control task scheduling
US5293486A (en) * 1991-06-28 1994-03-08 Digital Equipment Corporation Deterministic method for allocation of a shared resource
US5469571A (en) * 1991-07-15 1995-11-21 Lynx Real-Time Systems, Inc. Operating system architecture using multiple priority light weight kernel task based interrupt handling
US5313627A (en) * 1992-01-02 1994-05-17 International Business Machines Corp. Parity error detection and recovery
US5471586A (en) * 1992-09-22 1995-11-28 Unisys Corporation Interface system having plurality of channels and associated independent controllers for transferring data between shared buffer and peripheral devices independently
US5471618A (en) * 1992-11-30 1995-11-28 3Com Corporation System for classifying input/output events for processes servicing the events
US5631897A (en) * 1993-10-01 1997-05-20 Nec America, Inc. Apparatus and method for incorporating a large number of destinations over circuit-switched wide area network connections
US5717870A (en) * 1994-10-26 1998-02-10 Hayes Microcomputer Products, Inc. Serial port controller for preventing repetitive interrupt signals
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
US5603051A (en) * 1995-06-06 1997-02-11 Hewlett-Packard Company Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
DE19535546B4 (de) * 1995-09-25 2004-04-08 Siemens Ag Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
US5802282A (en) * 1995-12-28 1998-09-01 Intel Corporation Recovering missing data during background data transfer in multipoint conferencing
US5754776A (en) * 1995-12-28 1998-05-19 Intel Corporation Re-prioritizing background data transfers in multipoint conferencing
US5925105A (en) * 1995-12-28 1999-07-20 Intel Corporation Preventing processor domination during background data transfer in multipoint conferencing
US6400819B1 (en) * 1996-03-28 2002-06-04 Hitachi, Ltd. Method and apparatus for executing communication in real-time and data structure for real-time data communication
US7116635B2 (en) * 1996-03-28 2006-10-03 Hitachi, Ltd. Process execution method and apparatus
US5974496A (en) * 1997-01-02 1999-10-26 Ncr Corporation System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6243751B1 (en) 1997-06-11 2001-06-05 Oracle Corporation Method and apparatus for coupling clients to servers
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access
US6266715B1 (en) 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
US6098142A (en) * 1998-08-25 2000-08-01 Leggett; John D. Apparatus and method for using a communications port in polling mode and without interrupts
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
KR100617228B1 (ko) * 1999-03-19 2006-08-31 엘지전자 주식회사 실시간 운영체계 커널의 이벤트 전달 체계 구현방법
JP3356110B2 (ja) 1999-04-21 2002-12-09 日本電気株式会社 機能拡張システム及びそれに用いるデータ転送方法
US6603771B1 (en) 1999-07-02 2003-08-05 Cypress Semiconductor Corp. Highly scalable architecture for implementing switch fabrics with quality of services
US6584517B1 (en) 1999-07-02 2003-06-24 Cypress Semiconductor Corp. Circuit and method for supporting multicast/broadcast operations in multi-queue storage devices
US6628656B1 (en) 1999-08-09 2003-09-30 Cypress Semiconductor Corp. Circuit, method and/or architecture for improving the performance of a serial communication link
US6625177B1 (en) 1999-08-09 2003-09-23 Cypress Semiconductor Corp. Circuit, method and/or architecture for improving the performance of a serial communication link
US7546444B1 (en) 1999-09-01 2009-06-09 Intel Corporation Register set used in multithreaded parallel processor architecture
CA2383531A1 (en) 1999-09-01 2001-03-08 Intel Corporation Instruction for multithreaded parallel processor
US6477610B1 (en) * 2000-02-04 2002-11-05 International Business Machines Corporation Reordering responses on a data bus based on size of response
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
US7236976B2 (en) * 2000-06-19 2007-06-26 Aramark Corporation System and method for scheduling events and associated products and services
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US7522480B2 (en) 2001-01-25 2009-04-21 Dphi Acquisitions, Inc. Digital tracking servo system with multi-track seek with an acceleration clamp
US6741530B2 (en) * 2001-01-25 2004-05-25 Dphi Acquisitions, Inc. Time critical and non-time critical tasks control system for an optical disk using first and second processors
US7225281B2 (en) * 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US7216204B2 (en) 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7487505B2 (en) * 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US6868476B2 (en) 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US20030065809A1 (en) * 2001-10-03 2003-04-03 Adc Telecommunications, Inc. Scheduling downstream transmissions
US7610451B2 (en) 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7243367B2 (en) * 2002-01-31 2007-07-10 Brocade Communications Systems, Inc. Method and apparatus for starting up a network or fabric
US7437724B2 (en) 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
DE10218646A1 (de) * 2002-04-25 2003-11-13 Infineon Technologies Ag An einen Bus angeschlossene Einrichtung
US6792481B2 (en) * 2002-05-30 2004-09-14 Freescale Semiconductor, Inc. DMA controller
US7337275B2 (en) * 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
WO2004072852A1 (en) * 2003-02-11 2004-08-26 Thomson Licensing S.A. Asynchronous communications technique
US20040184462A1 (en) * 2003-03-17 2004-09-23 Network Equipment Technologies Sliding window implementation for regulating packets for protocol-based connections
US20050021842A1 (en) * 2003-03-17 2005-01-27 Network Equipment Technologies Real-time packet classification and rate-limiting control packets in a network processor based data-plane
US7353285B2 (en) * 2003-11-20 2008-04-01 International Business Machines Corporation Apparatus, system, and method for maintaining task prioritization and load balancing
TWI283394B (en) * 2004-03-31 2007-07-01 Mstar Semiconductor Inc Data processing method and structure of a multi-function display
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US7730257B2 (en) * 2004-12-16 2010-06-01 Broadcom Corporation Method and computer program product to increase I/O write performance in a redundant array
EP1846838A4 (en) * 2004-12-22 2012-09-12 Pika Technologies Inc SYSTEM AND METHOD FOR SYNCHRONOUS PROCESSING OF MULTIMEDIA DATA ON AN ASYNCHRONOUS PROCESSOR
DE102004062116B3 (de) * 2004-12-23 2006-05-11 Ab Skf Lageranordnung für einen Computertomographen
US7386642B2 (en) * 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
GB2433333B (en) 2005-12-13 2011-07-13 Advanced Risc Mach Ltd Distributed direct memory access provision within a data processing system
US7809068B2 (en) * 2005-12-28 2010-10-05 Intel Corporation Integrated circuit capable of independently operating a plurality of communication channels
US7861113B2 (en) * 2007-03-16 2010-12-28 Dot Hill Systems Corporation Method and apparatus for operating storage controller system in elevated temperature environment
US8549038B2 (en) 2009-06-15 2013-10-01 Oracle International Corporation Pluggable session context
US8490107B2 (en) 2011-08-08 2013-07-16 Arm Limited Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels
US20130060587A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Determining best time to reach customers in a multi-channel world ensuring right party contact and increasing interaction likelihood
US10387387B2 (en) 2015-12-17 2019-08-20 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
US10303894B2 (en) 2016-08-31 2019-05-28 Oracle International Corporation Fine-grained access control for data manipulation language (DML) operations on relational data
US20180089117A1 (en) * 2016-09-26 2018-03-29 Wave Computing, Inc. Reconfigurable fabric accessing external memory
US10949328B2 (en) 2017-08-19 2021-03-16 Wave Computing, Inc. Data flow graph computation using exceptions
US10997102B2 (en) 2019-04-01 2021-05-04 Wave Computing, Inc. Multidimensional address generation for direct memory access
US11934308B2 (en) 2019-04-01 2024-03-19 Wave Computing, Inc. Processor cluster address generation
CN111444124A (zh) * 2020-03-25 2020-07-24 苏州琅润达检测科技有限公司 一种高频自主请求的串口分流装置
US11914864B2 (en) 2021-07-01 2024-02-27 Samsung Electronics Co., Ltd. Storage device and method of data management on a storage device
TWI792684B (zh) * 2021-11-17 2023-02-11 瑞昱半導體股份有限公司 資料傳輸方法以及資料傳輸系統
CN116166587A (zh) * 2021-11-25 2023-05-26 瑞昱半导体股份有限公司 数据传输方法以及数据传输系统
CN115658576B (zh) * 2022-09-27 2025-07-08 中国电子科技集团公司第五十四研究所 PCIe和RapidIO复合任务包传递系统及方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3587054A (en) * 1968-09-06 1971-06-22 Bell Telephone Labor Inc Scheme allowing real time alteration of a data processing system operating strategy
US3599162A (en) * 1969-04-22 1971-08-10 Comcet Inc Priority tabling and processing of interrupts
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
US4261033A (en) * 1977-01-19 1981-04-07 Honeywell Information Systems Inc. Communications processor employing line-dedicated memory tables for supervising data transfers
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4560985B1 (en) * 1982-05-07 1994-04-12 Digital Equipment Corp Dual-count, round-robin ditributed arbitration technique for serial buses
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4494194A (en) * 1982-09-30 1985-01-15 Burroughs Corporation Line support processor for data transfer system
US4479211A (en) * 1982-10-29 1984-10-23 At&T Bell Laboratories Method and apparatus for controlling ports in a digital conference arrangement
US4493036A (en) * 1982-12-14 1985-01-08 Honeywell Information Systems Inc. Priority resolver having dynamically adjustable priority levels
US4667321A (en) * 1983-11-14 1987-05-19 Tandem Computers Incorporated Input-output multiplexer-demultiplexer communications channel
US4636944A (en) * 1984-01-17 1987-01-13 Concurrent Computer Corporation Multi-level priority micro-interrupt controller
US4870566A (en) * 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
US4980820A (en) * 1985-02-28 1990-12-25 International Business Machines Corporation Interrupt driven prioritized queue
CA1241761A (en) * 1985-02-28 1988-09-06 International Business Machines Corporation Interrupt driven prioritized work queue
US4642756A (en) * 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
DE3688759T2 (de) * 1985-03-20 1994-01-05 Hitachi Ltd Ein-/Ausgabe-Steuerungssystem.
US4751634A (en) * 1985-06-14 1988-06-14 International Business Machines Corporation Multiple port communications adapter apparatus
US4719569A (en) * 1985-10-11 1988-01-12 Sun Microsystems, Inc. Arbitrator for allocating access to data processing resources
US4747130A (en) * 1985-12-17 1988-05-24 American Telephone And Telegraph Company, At&T Bell Laboratories Resource allocation in distributed control systems
US4739323A (en) * 1986-05-22 1988-04-19 Chrysler Motors Corporation Serial data bus for serial communication interface (SCI), serial peripheral interface (SPI) and buffered SPI modes of operation
JPS6356736A (ja) * 1986-08-28 1988-03-11 Alps Electric Co Ltd マルチタスクosにおける入力装置とプログラムとの結合方式
US4821177A (en) * 1986-09-02 1989-04-11 Honeywell Bull Inc. Apparatus for controlling system accesses having multiple command level conditional rotational multiple port servicing priority hierarchy
US4803623A (en) * 1986-10-31 1989-02-07 Honeywell Bull Inc. Universal peripheral controller self-configuring bootloadable ramware
WO1988003682A1 (en) * 1986-11-04 1988-05-19 Unisys Corp I/o system for off-loading operating system functions
US4901226A (en) * 1987-12-07 1990-02-13 Bull Hn Information Systems Inc. Inter and intra priority resolution network for an asynchronous bus system
JPH01193955A (ja) * 1988-01-28 1989-08-03 Nec Software Ltd 受信データの蓄積方式

Also Published As

Publication number Publication date
AU6935991A (en) 1991-08-15
DE69130620T2 (de) 1999-07-22
KR920000035A (ko) 1992-01-10
EP0442615B1 (en) 1998-12-16
JPH04215158A (ja) 1992-08-05
KR950002713B1 (ko) 1995-03-24
NZ236764A (en) 1995-07-26
EP0442615A2 (en) 1991-08-21
CN1054160A (zh) 1991-08-28
DE69130620D1 (de) 1999-01-28
MY105323A (en) 1994-09-30
CN1021536C (zh) 1993-07-07
SG42809A1 (en) 1997-10-17
EP0442615A3 (en) 1992-12-16
US5247671A (en) 1993-09-21
AU649642B2 (en) 1994-06-02

Similar Documents

Publication Publication Date Title
US5247671A (en) Scalable schedules for serial communications controller in data processing systems
EP0426323B1 (en) Portable, resource sharing file server using co-routines
US5513368A (en) Computer I/O adapters for programmably varying states of peripheral devices without interfering with central processor operations
US6182120B1 (en) Method and system for scheduling queued messages based on queue delay and queue priority
EP0617361B1 (en) Scheduling method and apparatus for a communication network
US5619647A (en) System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait
US8949833B2 (en) Method and system for polling network controllers to a dedicated tasks including disabling of interrupts to prevent context switching
US5513328A (en) Apparatus for inter-process/device communication for multiple systems of asynchronous devices
US5768572A (en) Timer state control optimized for frequent cancel and reset operations
EP0287295A2 (en) Multiple I/O bus virtual broadcast of programmed I/O instructions
CA2126174C (en) Method and system for interrupt-responsive execution of communications protocols
US8090801B1 (en) Methods and apparatus for performing remote access commands between nodes
CN121263780A (zh) Gpu电路在上下文取消映射期间自上下文保存
JPH04215160A (ja) 情報処理装置
JP2003067199A (ja) アプリケーションプログラム
JPH0381856A (ja) データ転送制御方式
JPH07129480A (ja) ファイル転送装置
WO2003034217A1 (en) Event queue managing system
JPH04370836A (ja) タスク・スケジューリング方式及び方法
JPH02211564A (ja) 割込み回線アドレス通知方式
JPH01248730A (ja) 情報処理装置
WO1995010085A1 (en) Apparatus for inter-process/device communication for multiple systems of asynchronous devices
JPH01217637A (ja) プロセス間通信方式

Legal Events

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