JPH05197664A - ホスト・プロセッサと複数の入/出力装置間でデータを転送するための入/出力制御方法及び装置 - Google Patents

ホスト・プロセッサと複数の入/出力装置間でデータを転送するための入/出力制御方法及び装置

Info

Publication number
JPH05197664A
JPH05197664A JP4235163A JP23516392A JPH05197664A JP H05197664 A JPH05197664 A JP H05197664A JP 4235163 A JP4235163 A JP 4235163A JP 23516392 A JP23516392 A JP 23516392A JP H05197664 A JPH05197664 A JP H05197664A
Authority
JP
Japan
Prior art keywords
dma
controller
instruction
transfer
data
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.)
Withdrawn
Application number
JP4235163A
Other languages
English (en)
Inventor
Joseph M Lamb
ジョゼフ・エム・ラム
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.)
Ascend Communications Inc
Original Assignee
Stratus Computer Inc
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 Stratus Computer Inc filed Critical Stratus Computer Inc
Publication of JPH05197664A publication Critical patent/JPH05197664A/ja
Withdrawn 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/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
    • 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/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 時間的に高い効率でデータ転送を行うための
I/Oコントローラを提供することである 【構成】 ホスト・プロセッサと1つまたは複数の入/
出力装置との間でデータを転送するためのI/Oコント
ローラ。本コントローラは、反復的にデータ移動を行う
のではなく、直接メモリ・アクセス(DMA)転送の途
中でプロセッサ・コマンドの転送(PIO)をインター
リーブする。優先PIO転送中、DMA転送は一時的に
中断される。種々な入/出力装置を走査するための割込
みスキャナーにも、DMA及びPIO転送に関し優先レ
ベルが割当てられる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサ部、即ちホ
スト・プロセッサと、I/O部、即ち、1つまたは複数
の周辺装置もしくは入/出力装置との間でデータを転送
するためのコンピュータ方式及び装置に関する。
【0002】特に、本発明は、直接メモリ・アクセス
(DMAと称する)転送として知られている複数バイト
のデータ・ブロックを高い時間効率で転送することがで
き且つPIO転送と称されているプロセッサ指令転送を
高い時間効率で実行することができるI/O(入/出
力)コントローラに関する。
【0003】
【従来技術及び本発明が解決しようとする問題点】プロ
セッサ指令転送、即ち、PIO転送及び複数バイト・ブ
ロック転送、即ち、DMA転送双方を行うためのI/O
コントローラは知られている。一般に、PIO転送は、
I/Oコントローラにおいてローカル・プロセッサから
の指令に応答して実行され、ローカル・プロセッサと、
指定されたI/O装置との間でワード単位或るいは他の
単位で情報の交換を行う。PIO転送の実行は、一般に
短時間であり、例えば、16MHzのクロックで動作す
るシステムにおいては、約5マイクロ秒が所要時間であ
る。他方、直接メモリ・アクセス転送、即ち、DMA転
送は、ホスト・プロセッサの主記憶装置と、指定された
I/O装置との間で、通常、特定数のバイトを有するブ
ロックと称される相当大量のデータの転送を行う。この
DMA転送速度は、16MHzのクロックで動作するシ
ステムにおいて毎秒約4メガバイトである。
【0004】時間的に効率の良い動作、即ち、高いシス
テム速度を実現するためには、DMA転送を迅速に実行
できるのが望ましい。同様に、PIO転送も迅速に実行
するのが望ましい。更に加えて、PIO転送は、数ミリ
秒を要し得る進行中のDMA転送の完了を待たずに、直
ちに実行するのが有利である。そうでないとすると、例
えば、DMA転送が1つのディスク・ドライブ・アドレ
スに対して行われていると仮定すると、他のディスク・
ドライブ・アドレスに対するPIO転送は停止し待機し
なければならない。例えば、主システムが、I/Oコン
トローラに対して、別のディスク・ドライブに指令を送
るように命令しても、I/Oコントローラは、DMA転
送の終了まで指令の送出を待たねばならない。しかしな
がら、同時にまた、PIO転送を行うために一旦DMA
転送を放棄して、PIO転送後に上記DMA転送を最初
から再開するのは効率的ではない。
【0005】DMA転送及びPIO転送を取り扱う公知
のI/Oコントローラとして、ストラタス・コンピュー
タ・インコーポレーション(Stratus Computer Inc. )
社のモデル「XA2000」コンピュータ・システム並びに
米国特許第4,926,315 号、第4,309,754 号及び第4,371,
932 号各明細書に開示されている技術が挙げられる。上
記米国特許第4,371,932 号明細書には、I/Oコントロ
ーラがデータ・ブロックでのデータ転送を実行している
際にホスト・プロセッサが、直接プログラム制御データ
転送をサイクル・スチール・ベースで遂行することを可
能にするインターリーブ機構が開示されている。この米
国特許明細書にはまた、DMA及びPIOデータ転送の
実行に当たって一時的記憶の役割を果たすデュアル・ポ
ート・ランダム・アクセス・メモリ記憶機構が記述して
ある。
【0006】本発明の目的は、ディジタル・データ処理
システムにおいて、ホスト・プロセッサと複数のI/O
装置との間で、直接メモリ・アクセス(DMA)ベー
ス、及びプロセッサ・コマンド(PIO)ベースで、時
間的に高い効率で、データの転送を行うための改良され
た方法もしくは方式及び装置を提供することにある。
【0007】本発明の他の目的は、PIO転送に対する
待ち時間を最小にし且つDMA転送に対する遅延を最小
にしてDMA及びPIO転送を行うことを可能にする方
式及び装置を提供することにある。
【0008】本発明の更に他の目的は、PIO型転送と
DMA型転送とを、両型式の転送に対し遅延が最小にな
るようにインターリーブするI/Oコントローラを提供
することにある。
【0009】本発明の他の目的は、記述が進むに伴い明
らかにされるであろう。
【0010】
【発明の構成及び概要】本発明によるI/Oコントロー
ラは、直接メモリ・アクセス型(DMA型)転送(DM
A転送)の実行中、プロセッサ指令データ転送(PIO
転送)に対する要求に応答して、該DMA転送を、その
活動状態を変えることなく休遊して、PIO転送を実行
し、次いで休遊した状態からDMA転送を再開する。
【0011】上記コントローラにおいては、最小の動作
時間付加でDMA転送の休遊及びそれに続く回復を達成
するための制御ハードウエア及び状態ハードウエアを用
いる。
【0012】I/Oコントローラは、上記動作を、進行
中のDMA転送に関する状態情報を記憶し、該状態情報
を更新し、そして更に、DMA転送に関与するシステム
構成要素を、割込みPIO転送のための休遊もしくはア
イドリング期間中、実際のDMA転送実行期間中と同じ
DMA転送可能状態に維持することにより実現される。
【0013】本発明によるI/Oコントローラは、ロー
カル記憶装置、即ち、アドレッシング可能なメモリで動
作するローカル・プロセッサを有し、ホスト・メモリを
有するホスト・プロセッサと、周辺装置、即ち、I/O
デバイスとの間で、直接メモリ・アクセス(DMA)ベ
ース並びにプロセッサ指令(PIO)ベースでデータの
転送を行う。I/Oコントローラはまた、割込みに関し
複数の周辺装置の各々の状態を走査することができる。
I/Oコントローラは、これらデータ転送及び走査動作
を高い時間効率レベルで行う。
【0014】I/Oコントローラは、第1のデータ転送
回路、例えば、DMAエンジンを有する共に、第2のデ
ータ転送回路、例えば、I/Oバス制御装置を有し、こ
れら第1及び第2のデータ転送回路は、初期設定されD
MA命令の実行可能状態に設定された後に、ローカル・
プロセッサによる制御を必要とすることなくDMA転送
中データの移動を行う。従って、ローカル・プロセッサ
は、DMA転送中他のタスクを遂行するのに利用するこ
とができる。
【0015】ローカル・プロセッサは、PIO動作を実
行するためにDMA動作を中断することができ、それに
よって、さもなければPIO動作を待機する必要から生
ずる動作遅延を回避することができる。更にまた、DM
Aエンジンは、中断時点において中断されたDMA動作
を回復することができ、それにより、さもなければDM
A動作を最初から再開することから生ずる動作遅延を回
避することができる。
【0016】本発明の他の様相によれば、DMAエンジ
ンは、DMA命令と関連する情報を格納し進行中のDM
A転送のバイトを計数するための表もしくはテーブル
(もしくはリスト)を用いて動作する。このDMAテー
ブルは、DMA動作の中断時に擾乱されることはなく、
DMAテーブルの内容はそのまま維持される。
【0017】DMAテーブルは、DMA動作中、再起動
もしくは再開或るいは他のハウスキーピング或るいはオ
ーバーヘッド動作が最小となるように、DMAエンジン
を反復的に中断及び復旧、即ち、再可能化もしくは再セ
レクト(再選択)することが可能な仕方で、DMAエン
ジンを転送すべき各バイトに対して適応化する。
【0018】本発明の他の様相においては、DMAエン
ジンは、DMA動作中転送されるDMAバイトのための
カウンタが設けられる。このカウンタは、DMAエンジ
ンのセレクト解除中は休遊し、DMA転送中は活動す
る。この場合、DMAエンジンは、DMA転送の途中で
停止し、次いで停止した箇所から再起動することができ
る。所与のDMA転送でのデータ移動は、冗長操作或る
いは他の反復操作を必要とすることなく終了させること
ができる。
【0019】本発明の他の様相においては、DMAエン
ジンは、DMA転送を実行するために選択情報を格納す
ることができる。追って述べる図示の事例においては、
DMAエンジンは、所与のDMA転送の完了状態、例え
ば、DMA転送が完了したか否か或るいは転送したデー
タにエラーが存在するか否かに関する完了状態を指示す
ることができる。
【0020】本発明の他の様相によれば、I/Oコント
ローラは、潜在的に実行可能なDMA命令、即ち、候補
DMA命令のリストを具備する。DMAエンジンは、ロ
ーカル・プロセッサによってセットされたポインタを介
してリストにアクセスする。DMAエンジンは、POL
L状態(ポーリング状態)において、ポインタにより指
示されるDMA命令を監視する。当該DMA命令が実行
可能であれば、DMAエンジンは該DMA命令を処理し
て、ポインタをリスト内の次のDMA命令に向け増分す
る。DMA命令が実行可能でない場合に、DMAエンジ
ンは、DMA命令が実行可能になるまで、相続くIDL
E(休遊)及びPOLL(ポーリング)状態を通してD
MA命令を走査し続ける。DMA命令リストの終わりで
DMAエンジンは、最初のDMA命令をポーリングする
ためにリストの始めにループバックする。
【0021】リスト内のDMA命令は、ローカル・プロ
セッサから書込まれる。該ローカル・プロセッサは更
に、或るDMA命令が実行可能であることをGOコード
を用いて指定する。このGOコードは、DMAエンジン
が記述項を走査している間でもDMA命令に書込むこと
ができる。
【0022】DMA命令リスト内の任意箇所において、
DMAエンジンが同じ命令に戻り、実行可能な記述項に
関してポーリングを行わない場合には、DMAエンジン
は、ローカル・プロセッサがDMA命令リスト内に他の
記述項を入力するまで、該リスト内の当該箇所で待機す
る。ローカル・プロセッサがリスト内に他の記述項を登
録すると、DMAエンジンは再びPOLL/IDLE状
態に入ってDMA命令の走査を再開する。
【0023】本発明の他の様相においては、I/Oコン
トローラはローカル・プロセッサからの情報を受け取っ
て記憶し且つ候補DMA命令リストを記憶するためのデ
ュアル・ポートRAM(ランダム・アクセス・メモリ)
を具備する。このRAMは、アクセス競合、特に、ロー
カル・プロセッサとDMAエンジンとの間における書込
み競合を阻止するクロッキング機構に結合される。
【0024】本発明の更に他の様相に従うI/Oコント
ローラにおいては、ローカル・プロセッサとI/Oプロ
セッサとの間におけるデータ書込み動作による対して書
込みパイプもしくはWRITEPIPEバッファが用い
られる。この論理構成によれば、ローカル・プロセッサ
のオーバーヘッド動作並びにDMAエンジンと関連する
書込み動作に起因しホスト・バスに本来的に存在する遅
延が取り除かれる。
【0025】本発明の更に他の様相によれば、I/Oコ
ントローラは、該I/Oコントローラにより選択可能で
あってI/Oバスを介して転送されるバイトの算術和を
記憶するCHECKSUM記憶動作を行う。このCHE
CKSUM動作は、総てのバイトが確実に移動されるよ
うに、複数のデータ転送中バイト内容を監視するのに有
用である。
【0026】本発明の更に他の様相によれば、複数バイ
トの情報を転送し、且つホスト・プロセッサ及びホスト
・メモリと通信するためにディジタル論理装置が設けら
れる。この装置は、DMA命令リストのための記憶装置
と、DMA命令リストとのインターフェースとして動作
するDMAエンジン論理回路とを含む。相続くIDLE
/POLL状態中、DMAエンジンは、リスト内の候補
DMA命令を走査して実行可能なDMA命令を指示する
コードを探索する。実行可能なDMA命令が見付かる
と、DMAエンジンは当該命令を処理して、リスト内の
次の記述項を走査する。DMAエンジンは、DMA命令
リスト内の最後の記述項の実行後に、リストの出発点に
ループバックする。DMAエンジンがリストの走査をし
終わって実行可能な記述項を見出せない場合には、該D
MAエンジンは、ローカル・プロセッサが候補DMA命
令リストに書込みを行うのを待つ。書込みが行われる
と、DMAエンジンは、そのDMA命令走査を再開す
る。
【0027】ディジタル論理装置は、他の様相におい
て、シーケンス制御論理を具備する。DMAエンジンが
相続くIDLE及びPOLL状態にある時には、該DM
Aエンジンは、DMA命令を走査して実行可能な命令を
指示するコードを探索する。実行可能なDMA命令が選
択されると、DMAエンジンは該DMA命令に関する或
る種の情報をDMAエンジン・カウンタにロードする。
本発明の1つの例示的実施例においては、この或る種の
情報は、バス・スロット並びにDMA転送のためのI/
O側のソース/転送先アドレスを特定するPKADR
と、DMA転送のデータ型もしくはタイプ(データ種と
も称する)及びバイト計数を指定するBCOUNTと、
システム・メモリ内のDMA転送用記憶場所を特定する
MEMADRとを含む。
【0028】更に、DMA論理回路は、DMA命令が選
択されると該命令に対し論理的データ移動動作を開始す
る。DMAエンジンが、I/Oデバイスに書込みを行っ
ている場合には、該DMAエンジンはホスト・メモリか
らデータを読出す。他方、DMAエンジンがデータを読
取っている場合には、DMAエンジンは利用可能なバッ
ファに該データをロードする。バッファが満配になる
と、データは、バイト計数が零になるまでホスト・メモ
リに書込まれる。
【0029】本発明のこの様相によれば、DMA転送が
完了したか或るいはまた不正なタイプのデータまたはメ
モリ・アドレスが指定されたかを表す完了状態が、DM
A命令リストに書込まれる。この時点で、最終のDMA
転送がクリアされ、DMA命令リスト内の現在の場所を
指しているポインタは増分されて、DMAエンジンは、
IDLE(休遊)及びPOLL(ポーリング)状態での
動作を再開する。
【0030】本発明の更に他の様相においては、ディジ
タル論理装置は、CHECKSUM論理を含む。この論
理は、選択された場合に、現在のDMA転送命令にDM
A転送データ・バイトに関する情報を書込む。
【0031】本発明の他の様相によれば、DMAエンジ
ンは、I/Oコントローラの優先動作により選択的に動
作停止されるカウンタを具備する。優先動作の完了で、
DMAエンジン及びカウンタは中断箇所においてDMA
転送を再開する。
【0032】
【発明の効果及び作用】叙上の特徴を有するI/Oコン
トローラには幾つかの利点がある。第1に、DMAエン
ジンは一時的に停止されて、DMA状態の損失や冗長な
データ転送を伴うことなく再開することができる。更
に、PIO指令による比較的小量のデータ転送は、時間
の掛かる大きなデータ・ブロックの転送を含み得るDM
A転送に対して効率的に優先化することができる。更に
また、CPU、DMAエンジン及びスキャナーによって
遂行される動作は、PIO指令もしくはコマンドが発行
された場合でも禁止されない状態に留どまり、これらC
PU、DMAエンジン及びスキャナーの各々は、優先要
求があたかも生じなかったように動作可能な状態に存続
する。
【0033】本発明の叙上の様相及び他の様相は、添付
図面及び以下に述べる説明において明らかになろう。
【0034】本発明の叙上及び他の目的、各種特徴並び
に本発明自体の概念は、添付図面を参照しての以下の詳
細な説明から充分に理解することができよう。
【0035】
【実施例】図1は、本発明によるI/O(入/出力)コ
ントローラ10を利用したディジタル・データ処理シス
テムのブロック・ダイヤグラムを示す。図示のシステム
は、ホスト・メモリ14に結合されたホスト・プロセッ
サ12と、上記I/Oコントローラ10と複数のI/O
装置(入/出力装置)15乃至18から構成される。ホ
スト・プロセッサ12は、I/Oコントローラ10に接
続されているホスト・バス20並びに、I/Oコントロ
ーラ10と各種I/O装置15乃至18との間に接続さ
れているI/O(入/出力)バス22を介して上記複数
のI/O装置15乃至18と通信する。I/Oコントロ
ーラ10は、ホスト・ バス拡張部20' 及びI/Oバス
拡張部22’を有する。
【0036】I/Oコントローラ10は、モトローラ
(Motorola)社製の「MC68030 」型の32ビットのマ
イクロプロセッサのようなローカル・プロセッサ24及
びローカル・ランダム・アクセス・メモリ26と共に動
作する。マイクロプロセッサ24は、ローカル・プロセ
ッサ・バス28を介してホスト・プロセッサ12と複数
のI/O装置15乃至18との間で通信を行う。コント
ローラ10に設けられているゲート・アレイ(配列)3
0は、ローカル・プロセッサ・バス28と、ホスト・バ
ス20及び拡張部20’と、I/Oバス22及び拡張部
22’との間にインターフェース路を提供する。I/O
バスを介してデータの転送を行うのに、2つの機構があ
る。即ち、大ブロックのデータからなるデータのDMA
(直接メモリ・アクセス)転送と、例えば、アクセス当
たり1乃至4バイトのような比較的小量のデータのPI
O(周辺I/Oコマンド)転送である。
【0037】図示のゲート・アレイ30は、I/Oバス
22と拡張部20’との間並びにローカル・プロセッサ
・バス28かまたはホスト・ プロセッサ・ バス20と拡
張部20’との間でDMAデータを転送するための第1
のデータ転送コプロセッサ32、例えば、DMAエンジ
ンを有している。また、ゲート・アレイ30は、I/O
バス22及び拡張部22’を介してローカル・プロセッ
サ24によるPIO(周辺I/Oコマンド)データの転
送を可能にするために第2のデータ転送コプロセッサ3
4、即ち、PBUSコントローラを有している。
【0038】以降、説明を明瞭にするために、第1のデ
ータ転送論理回路32を「DMAエンジン」と称する。
ゲート・アレイ30の或る種の特徴は、慣用のDMAエ
ンジンを用いても達成することができるが、以下に述べ
るDMAエンジン32は、本発明の特徴を更に具現して
おり、慣用のDMAエンジンより有利である。
【0039】このように、I/Oコントローラ10は、
DMA転送及びPIO転送に対し実質的に分離した別個
の論理回路を具備している。即ち、DMA転送用の論理
回路はDMAエンジン32であり、PIO転送用の論理
回路にはローカル・プロセッサ24が対応する。ローカ
ル・プロセッサ24及びDMAエンジン32は双方共
に、ゲート・アレイ30内に設けられているPBUSコ
ントローラ34を介してI/Oコントローラ10の他の
要素並びにバス20及び22と通信する。
【0040】ゲート・アレイ30内にPBUSコントロ
ーラ34と関連して設けられている他の論理回路は、D
MAエンジンのセレクト(選択)解除及び再セレクト能
力を有しており、この能力により、DMAエンジンの論
理回路の動作を、DMA転送の途中で一時的に凍結する
ことができる。DMAエンジンのこの凍結もしくは中断
で、PBUSコントローラ34は優先データ転送、例え
ば、PIOデータ転送処理を行うことができる。このよ
うに、I/Oコントローラ10は、ローカル・プロセッ
サ24がDMA転送に有利なようにPIOデータ転送に
優先を与えることを可能にするものである。この動作に
おいて、ゲート・アレイ30は進行中のDMA転送を中
断し且つ停止して、PIOアクセスを行い、次いで、D
MA転送を中断された箇所から回復する。その場合デー
タの損失は伴わず、極く小数の冗長もしくは繰り返し動
作が要求されるだけである。
【0041】更に、図示のI/Oコントローラ10は、
PBUSコントローラ34にも連結されているスキャナ
ー36を有している。図示のスキャナー36は、割込み
をかけるために、複数のI/O装置15乃至18を走査
するための別個に設けられた論理装置である。図示のス
キャナー36は、走査中、複数のI/O装置の割込み状
態情報を格納するための4ワード長のレジスタを具備す
る。図示の好適な実施例においては、スキャナー36
は、DMA転送か或るいはPIO転送が進行中である場
合には、スキャナーサイクルを行うためにI/Oバス2
2にアクセスすることはない。
【0042】従って、I/Oコントローラ10は、最も
高い優先レベルをローカル・プロセッサ24及び関連の
PIO転送に与え、次に高い優先レベルをDMAエンジ
ン32のアクセスに割当て、そして最も低い優先レベル
をスキャナー(36)のサイクルに与えるようにして、
アクセス要求優先を割当てる。このようにして、ローカ
ル・プロセッサ24、DMAエンジン32及びスキャナ
ー36は、あたかもそれぞれが割込みをかけられないか
のようにI/Oバス22に対しアクセスを行う。しかし
ながら、DMAエンジンは、高い優先レベルを有する動
作中は中断もしくは凍結される。スキャナー36の走査
サイクルは、PIO転送及びDMA転送と競合しない場
合にのみ解放される。
【0043】I/Oコントローラ10の動作の一層深い
理解は、米国特許第4,926,315 号明細書を参照しての以
下の説明から得られるであろう。なお、この米国特許明
細書の開示内容は、参考のために本明細書に援用する。
上記米国特許は、本願の出願人に譲渡されており、その
明細書には従来のI/Oコントローラが開示されてい
る。例えば、I/Oバス22の好適な実施例として、上
記米国特許第4,926,315明細書に記述されているよう
に、唯一のアドレス転送に対し(n)個のデータ与える
故障許容を有する多重化されたバースト・モードのバス
がある。ここで(n)は正の整数である。
【0044】図2には、I/Oコントローラ10が更に
詳細に示してあり、幾つかの主要な構成要素間における
制御接続及びデータ路が示されている。図示のローカル
・プロセッサ24は16MHzで動作する「MC68030
」チップである。このプロセッサ24は、幾本かの制
御線を有するローカル・プロセッサ・バス28を介して
ゲート・アレイ30に結合されている。このゲート・ア
レイ30は、ホスト・バス拡張部20’及びホスト・バ
ス20(図1)を介して接続されたホスト・プロセッサ
12(図1)、I/Oバス拡張部22’及びI/Oバス
22(図1)を介して接続された複数のI/O装置及び
ローカル・プロセッサ・バス28を介して接続されたロ
ーカル・プロセッサ24間におけるインターフェース要
素である。ホスト・バス20及びゲート・アレイ30に
接続されているホスト・バス拡張部20’にはインター
フェース段38が接続されている。また、I/Oバス2
2及びゲート・アレイ30に接続されているI/Oバス
拡張部22’にはインターフェース段40が接続されて
いる。
【0045】図2において、I/Oコントローラ10
は、上述の米国特許第4,926,315 号明細書に開示されて
いるのと同じ仕方で同じコントローラに接続されるもの
として示されている。これは、後者のコントローラと協
働して故障許容動作を実現するためのものである。上記
2つのプロセッサ間には、エラーチェックの目的でデー
タ比較回路が接続されている。更にまた、公知のよう
に、これら2つのプロセッサはフラッシュ・バスに接続
されている。なお、図2に示した構成は本発明の特定の
好適な実施例の例示に過ぎず、本発明は図2の構成に限
定されるものではないことを述べておく。
【0046】図3には、図1のゲート・アレイ30及び
該ゲート・アレイ30内の幾つかのデータ路が示してあ
る。DMAエンジン32、PBUSコントローラ34及
びスキャナー36はゲート・アレイ30内部で機能す
る。図3の左側の部分41には、ローカル・プロセッサ
24に接続されるローカル・プロセッサ・バス28のデ
ータ路が示してある。図3の右下の部分42には、I/
Oバス拡張部22’のデータ路が示してある。図3の右
上の部分43には、ホスト・バス拡張部20’のデータ
路が示してある。
【0047】DMAエンジン32は、ゲート・アレイ3
0内に常駐するデータ移動用コプロセッサである。この
DMAエンジン32は、ローカル・プロセッサから受け
るポインタにより指定されるDMA命令を実行する。こ
のポインタは、ローカル・プロセッサによりアクセス可
能な読出し/書込みポインタである。図示のDMA命令
リスト44は、転送制御ブロック(TCB)32の記述
項を有する円形のリストを格納するゲート・アレイ30
内の記憶要素である。ローカル・プロセッサ24は、D
MA命令リスト44のアドレスに対しDMAポインタを
設定し、しかる後にDMAエンジン32は、DMA命令
リストを走査して、DMA命令が実行準備完了であるこ
とを指示する「GO」コードを探索する。ローカル・プ
ロセッサは、この「GO」コードをDMA命令に書込
む。
【0048】各TCB記述項は4つの長ワードからな
り、そしてこれら4つの長ワードは、PKADR(I/
Oバス・スロット及び転送開始アドレス)と、MEMA
DR(メモリ内アドレス)と、BCOUNT(バイト計
数を行い転送データ種を指示する)と、STATUS
(所与のDMA転送及びCHECKSUMバイト計数も
しくはGOコードの完了状態を表す)とから構成されて
いる。CHECKSUMは総てのDMA転送に際して算
出されて、完了状態と共にSTATUSという長ワード
に記憶される。このCHECKSUMは、DMA書込み
動作中自動的にDMA転送に割当てることができ、CH
ECKSUM DMAが選択された場合には、読取り動
作中比較器として使用される。CHECKSUM計数
は、例えば、適切なバイト計数もしくはカウントが転送
されたことをチェックするのに使用することができ、磁
気媒体転送において有用である。
【0049】STATUS記述項は、DMAエンジン3
2が、リスト44から妥当なもしくは実行可能な記述項
を選択するのを可能にする。所与のTCB記述項が妥当
でない場合には、有効なGOコードがローカル・プロセ
ッサにより入力されるまで、DMAエンジンは、相続く
POLL(ポーリング)及びIDLE(アイドル)状態
で、当該TCB記述項を走査する。一旦有効な「GO」
コードが読込まれると、DMAエンジン32は、他の3
つの記述項を、DMA命令から、DMAエンジン32の
カウンタ、即ち、PKADR、MEMADR及びBCO
UNTカウンタにロードする。次いで、PBUSコント
ローラ34は、I/Oバス・スロット及び転送開始アド
レスを含むPKADRフィールドに基づいて転送に適切
なI/Oアドレスを選択する。
【0050】DMAエンジン32が、DMA命令リスト
44内に妥当な記述項を見付けると、DMAエンジン3
2は、PBUSコントローラ34の論理フローに対しD
MA転送要求を発行する。DMA転送中、DMAエンジ
ン32は上述のカウンタを更新し、それにより、DMA
が中断された場合には、該DMAを中断された時と同じ
転送位置から再起動することができる。実際にDMAエ
ンジン32が中断された場合、この中断はエンジンに対
して透明であると言うことができる。と言うのは、該エ
ンジンは、割込み要求の完了後に、中断されたDMA転
送を単純に続行するだけで良いからである。中断もしく
は割込み中、カウンタは増分されず、データの損失或る
いはCHECKSUMの変更は生じない。DMA転送が
完了すると、完了状態がDMAエンジン32によりST
ATUS記述項に書込まれ、DMAポインタは次の記述
項に設定(bumped)される。即ち、次の記述項へ
と増分される。DMAエンジン32は、バイト・カウン
タが零で書込みバッファが空きである場合に、DMA転
送の書込み動作が完了しているを認識する。
【0051】DMAエンジン32は、DMA命令リスト
44を辿り、各実行されたTCBの長ワードであるST
ATUSに完了状態をマークする。記述項#31が完了
した場合に、次にチェックされる記述項は#0である。
DMAエンジンが或る時点でリストから出て、妥当な長
ワードであるSTATUSワードを読込まない場合、即
ち、リスト44内の記述項が実行不可能になった場合に
は、DMAエンジンは、ローカル・プロセッサ24がD
MA命令リスト44に次の記述項を入力するまで待機す
る。この記述項の入力が行われると、DMAエンジンは
妥当なDMA命令、即ち、GOコードに対しリスト44
内の記述項のチェックを復旧する。妥当なDMA命令記
述項は、TCBの最後の長ワード内にあり、そして有利
な実施態様においては、GO記述項に対し 0000474Fで
表される。ローカル・プロセッサ24は、妥当な記述項
をSTATUS長ワードに書込む前に、最初から3つの
長ワードの記述項をTCBに書込む。所与のDMA転送
が完了或るいは放棄されると、完了状態は非零となり、
CHECKSUMは転送されたデータのCHECKSU
Mとなる。従って、DMAエンジンがSTATUS長ワ
ード、即ち、CHECKSUM及び完了状態を入力する
と、その記述項はGOコードとは異なってくる。
【0052】CHECKSUM情報を用いるDMA転送
は、他のDMA転送に類似している。DMAエンジンが
I/Oアドレスに書込みを行い、バイト計数が零になる
と、発生されるCHECKSUMの2つのバイトは、I
/Oアドレスの選択解除前に転送に割当てられる。即
ち、CHECKSUMは、TCB記述項内でSTATU
S長ワードに付加される。
【0053】I/Oアドレスからの読取り時には、ゲー
ト・アレイ30は、バイト計数が零になるまでデータの
バイトを読取り続ける。DMA種から、CHECKSU
Mが含まれていることが明示されると、ゲート・アレイ
30は更に、I/Oアドレスから次の2つのバイトを読
取って、これら2つのバイトを発生したCHECKSU
Mと比較する。両者の値が一致しない場合には、関連の
記述項を、TCBのSTATUS完了記述項に設定す
る。他方、DMA種がCHECKSUMを特定していな
い場合には比較は行われない。
【0054】DMAエンジン32は、DMA種により、
DMA転送の完了が特定された場合、該DMA転送の完
了で、ローカル・プロセッサ24に割込みを発生する。
【0055】ローカル・プロセッサ24によりDMA命
令リスト44がデュアル・ポート記憶RAM内に格納さ
れている。この構成によれば、共通の8MHzクロック
で異なったクロック信号縁を用いた場合に、ローカル・
プロセッサ24とDMAエンジン32との間に生ずるで
あろうところの書込みアクセスの競合が回避される。こ
のクロックは、ローカル・プロセッサの16MHzシス
テム・クロックに整相された派生クロックである。DM
Aエンジン32は、8MHzクロックの立上り縁で動作
を開始し、そのPOLL状態において立下り縁で情報を
取り込む。ローカル・プロセッサが情報をDMA命令リ
スト44に書込む場合には、この書込み動作は、8MH
zクロックの立下り縁30ナノ秒(ns)後に開始され
て、立上り縁、即ち、DMAエンジン32が読出しアク
セスを開始する時点で上記書込み動作は完了する。
【0056】DMAエンジン32が完了状態及びCHE
CKSUMをリスト44内のTCB記述項に書込む間、
リスト44を記憶しているRAMの読出しアクセス競合
を回避するために、DMAエンジン32は、ローカル・
プロセッサ・バス(図1の28)を制御して、ローカル
・プロセッサによる該バスへの読出しアクセス競合を阻
止する。
【0057】ゲート・アレイ30は、以下に述べるよう
な他の演算もしくは動作制御を行うと共に付加的な回路
構成を有する。 A.ゲート・ アレイは、クロック分配システムであるS
YNCH CLOCK(同期クロック)45を有する。
例えば、この同期クロックもしくはSYNCHCLOC
K45は、DMA命令リスト44を格納しているデュア
ル・ ポート記憶RAMにおけるアクセス競合回避方式で
ゲート・アレイ30により利用される8MHzのクロッ
クを発生する。 B.優先割込みコントローラ46が設けられており、こ
のコントローラ46は、ローカル・プロセッサに割込み
を送出する下位デバイスに対しプログラム可能に割込み
優先レベルを割当てる。ローカル・プロセッサは、特定
のデバイスに割当てられた優先レベルに応じて割込みを
処理する。例えば、幾つかの割込みが待機中である場合
には、スキャナー36の要求がタイマ47の要求よりも
高い優先度で選択することができる。但し、その場合、
コントローラ46が、スキャナー36に比較的高い優先
レベルを付与するようにプログラムされていることが条
件である。 C.2つのアイテム、即ち、時間を単調に計数するため
に15.259マイクロ秒のJIFFYクロック48の時間間
隔を利用する48ビットDELTAタイマ及び割込み間
隔をローカル・プロセッサ毎に設定する24ビット間隔
タイマを含むタイマ47が設けられる。これらの機能
は、主にイベント(事象)プロセス時間を計測するため
のものである。 D.JIFFYクロック48は、ローカル・プロセッサ
からの16MHzクロックを処理してタイマ47のJI
FFYクロック間隔を発生する。 E.ローカル・プロセッサによりセットされる5ビット
・カウンタであるDMA記述項カウンタ49が設けられ
る。このカウンタ49は、DMAエンジン32によって
増分されて、DMA命令リスト44内のDMA記述項に
対するアドレスとして7ビットの内の5ビットを与え
る。 F.ローカル・プロセッサ・バス28とDMAエンジン
32との間の調停を取扱う一連のマルチプレクサを有す
るXBUSコントローラ50が設けられている。 G.I/Oコントローラ10がホスト・バス20のアド
レスに対する書込みの必要がある時には常に用いられる
パイプ・ライン機構であるWRITEPIPE装置51
が設けられている。このWRITEPIPE装置もしく
はユニット51は、ローカル・プロセッサ24とホスト
・バス20及び拡張部20’(図1参照)との間でバッ
ファとしての働きをして、ローカル・プロセッサのオー
バーヘッド並びにWMA書込み動作に起因するホスト・
バス動作における固有の遅延を除去する働きをなす。W
RITEPIPEユニット51は、一度に1つの動作を
緩衝する1レベル動作バッファである。 H.ゲート・アレイ30内の書込み可能デバイスに対す
るローカル・プロセッサからのアクセス要求を解読する
DECODE制御ユニット52が設けられる。 I.DMAエンジンからのアドレッシングがI/Oバス
に対するものであるか或るいはローカル・プロセッサ・
バス28に対するものであるかを決定するDMAバス制
御ユニット53設けられている。 J.ローカル・プロセッサからのPIO要求を取込ん
で、このPIO要求を、転送のためにPBUSコントロ
ーラ34に引渡すPIO制御ユニット54が設けられて
いる。
【0058】図4は、ゲート・アレイ30の一部である
DMAエンジン32を示す。更に具体的には、図4に
は、DMAエンジン32のデータ路及びカウンタが示し
てある。例えば、図3のDMA命令リスト44からのP
KADR長ワードは、PKADRカウンタ55に格納さ
れる。同様にMEMADR長ワードはカウンタ部56に
格納される。DMA種/バイト・カウンタはBCOUN
Tカウンタ57に格納される。STATUS長ワード
は、2つの16ビット・ワードの併合により形成され
る。CHECKSUM発生器58は、CHECKSUM
の長ワードの半ワード分を発生し、そしてDMA状態エ
ラーハンドラ59が完了状態におけるCHECKSUM
長ワードの他の半ワード分を発生する。更に、図4に
は、4つの長ワード読取りバッファ60及び書込みバッ
ファ61が、PBUSコントローラ34(図3及び図
1)と組合わせて示してある。
【0059】図5には、DMAエンジン動作フローダイ
ヤグラム及び状態表62が示してある。フローダイヤグ
ラムの始りで、DMAエンジンは、相続く状態IDLE
63及びPOLL64で、DMA命令リスト内のTCB
記述項を走査する。これらの状態中、DMAエンジンは
ローカル・プロセッサからのポインタにより割り出され
るDMA命令を走査する。妥当な記述項が見出され、P
OLL状態が肯定の結果を発生すると、言い換えるなら
ば、TCBのSTATUS長ワードが「GO/STAT
US」を指示すると、DMAエンジンはそれぞれ動作ブ
ロック66、68及び70で示すように他の3つの長ワ
ード、即ち、PKADR、BCOUNT及びMEMAD
Rのロードを開始する。DMAエンジンが不適切なデー
タ種をロードすると、処理は分枝し(72)、DMAエ
ンジンはこのことを表す記述項を作成する。この記述項
は、ブロック74において、完了状態及びCHECKS
UM双方に対し適切な値を入力することにより作成され
る。また、誤ったメモリ・アドレスが指定される場合に
も類似の分枝処理76が行われる。DMAエンジンがS
TATUS長ワードに書込みを行うと、該STATUS
長ワードは最早やGOコードを指示しない。
【0060】DMAエンジン論理は、上記の長ワードの
ロードが成功裡に終了した後に、データ移動状態78に
遷移する。現在のDMA転送が、CHECKSUM状態
でない場合またはDMA転送がエラーである場合には、
ステップ80で示すように、DMAエンジンがCHEC
KSUMを移動することはなく、ステップ82で示すよ
うに分枝して対応の情報をSTATUS記述項74書込
む。CHECKSUM動作が指定されていない場合で
も、TCBは、STATUS記述項74において、エラ
ー状態及びCHECKSUM値でマークされる。CHE
CKSUM動作での有効なDMA転送で、CHECKS
UM移動動作80が実行されて、STATUS記述項へ
の書込み動作74が行われる。完了状態は、TCBのS
TATUS長ワードに書込まれる。
【0061】DMA転送が失敗した場合、或るいはエラ
ーとなった場合には、動作もしくは処理はDMA NO
TOK( NOKと略称する)状態(DMA準備未了状態
84に入り、バンプ入力動作86を側路し、その結果、
候補DMA命令リスト内のDMA記述項に対するポイン
タは増分されない。ポインタが設定されたTCBは最早
や有効ではない。従って、ポインタは同じ位置に停どま
る必要がある。しかしながら、DMA転送が成功裡に完
了した場合には、カウンタを動作86で増分して、DM
A命令リスト内の次のDMA命令にポインタをセットす
る。ポインタの内部状態は、進行中(DIP)のCHE
CKSUM及びDMAが位置88でクリアされ、従っ
て、DMAエンジンがそのIDLE状態63及びPOL
L状態64に戻ることができることを表す。
【0062】図6には、PBUS制御フローダイヤグラ
ム及び状態表が示してある。PIO及びDMA動作のイ
ンターリーブ(交互実行)は、PBUSコントローラ3
4の論理(図1及び図3参照)によって制御される。D
MAエンジン自体は、PIOインターリーブが生起した
ことを論理的に検知しない。即ち、エンジン内における
信号レベルの変化は生じない。PBUSコントローラが
可能化されると、該コントローラはIDLE状態92で
起動する。IDLE状態92から、PBUSコントロー
ラは、ローカル・プロセッサか、DMAエンジンか、或
るいはスキャナーの何れかからの指令(優先レベルはこ
の順序にある)に応答してSELECT状態に切換わる
ことができる。
【0063】更に具体的に述べると、判断ステップ96
で、PBUSコントローラに対し高い優先レベルを有す
るPIO指令もしくはコマンドに対するローカル・プロ
セッサ要求で、PBUSコントローラはPIOセレクト
状態98に切換わる。次いで、該コントローラは、ステ
ップ100に示すようにPIO転送を実行してIDLE
状態92に戻る。
【0064】PIO転送要求が存在せず、判断ステップ
96の結果が否定である場合には、コントローラは、判
断ステップ102においてDMA転送に対する指令に応
答し、DMAセレクト状態107に切換わる。しかしな
がら、PIO転送要求は、DMA転送よりも高い優先レ
ベルを有するので、判断ステップ104に示すように、
PIO転送要求で、PBUSコントローラはIDLE状
態92に戻り、この状態92から、判断ステップ96を
経て、ステップ90及び100に示すようにPIO転送
を実行する。DMA動作に割込みがかけられない場合に
は、判断ステップ104の結果は否となり、コントロー
ラの動作は、ステップ108に示すようにDMA動作に
対しデータ・バイトを移動する処理に進む。
【0065】DMA転送動作は、判断ステップ110で
判断ステップ104の動作を繰り返し、その場合、相続
くデータ・バイトを転送するためにステップ108で示
すようにPIO転送実行がインターリーブされる。最後
のバイトが転送されると、ステップ110の動作でコン
トローラはIDLE状態92に戻る。
【0066】図6はまた、PIO要求及びDMA要求双
方が存在しない場合において、PBUSコントローラの
動作は、判断ステップ102から、走査が要求されてい
るか否かの判断ステップ111へと進む。ステップ11
1の結果が肯定である場合には、コントローラはステッ
プ106で示すように走査サイクルを実行する。肯定で
ない場合には、コントローラIDLE状態92に戻る。
【0067】DMA REQ(DMA要求)が検出され
た時にSCAN( 走査)動作が進行中であった場合に
は、ステップ106の走査サイクルは通常通りに終末
し、DMA REQは、判断ステップ102に示すよう
に、判断ステップ104でローカル・プロセッサによる
割込み要求が無いと判断された場合には完結するまで実
行される。走査サイクルは、相続くDMA要求間の期間
中に行われるが、ステップ106の走査サイクルがDM
A動作を中断することはない。
【0068】CPU REQ(CPU要求)が確認され
ると(判断ステップ96参照) 、PBUSコントローラ
状態論理は、IDLE状態に無い場合、IDLE状態に
戻るまで待機し(ステップ92)、次いでSELECT
(セレクト)状態に進む。SELECT状態中、SEL
ECTコードは、選択すべきI/Oアドレスのスロット
番号をも報知するローカル・プロセッサからPBUSコ
ントローラに送られる。この時点で、I/Oアドレスに
関する状態情報が格納されてデコードされる。次の3つ
の動作は、それぞれ書込み機能を有するWRITE A
DDRESSBYTES HI動作、MID動作及びL
O動作である。次いで、ローカル・プロセッサにより要
求された実際の読出し或るいは書込み動作が例えばブロ
ック100に示すように処理される。このシーケンス
は、IDLE機能コードで終末し、PBUSコントロー
ラ状態論理はIDLEに戻って次の要求を待つ。
【0069】同様に、判断ステップ102に示すDMA
REQ指令もしくはコマンドで、I/Oアドレス、サ
イクル種及びスロット番号がローカル・プロセッサでは
なくDMAエンジンから到来する点を除いて、CPU
REQ(CPU要求)と同じSELECT(セレクト)
シーケンスが行われる。ステップ107に示すように、
DMA転送に対して選択がなされると、判断ブロック1
10でDMA転送のバイト計数が零と判断されるまで、
DMAエンジンは、ステップ108に示すように、DM
AデータをPBUSコントローラ中を移動し、DMA転
送のバイト計数が零になると、このサイクルは終末し、
マシンはIDLE状態92に戻る。DMA転送の途中
で、判断ブロック104に示すようにCPU REQ
(CPU要求)が生ずると、それにより、DMAエンジ
ンはこの割込みを意識しないが、PBUSコントローラ
におけるサイクル間に大きな遅延が現れる。DMA S
ELECT(DMAセレクト)に対する総ての同じ情報
が、再起動情報をも含めてDMAエンジンから到来す
る。
【0070】PBUSコントローラは、同様にして、判
断ブロック111に示すように、スキャナーREQ(ス
キャナー要求)をも処理する。CPU REQ(CPU
要求)が確認され且つDMA REQ(DMA要求)が
確認された場合には、PBUSコントローラ論理はスキ
ャナーREQ(スキャナー要求)を無視する。
【0071】図7は、スキャナー36(図1及び図3参
照)のフローチャート及び状態表112を示す。出発ブ
ロック113でローカル・プロセッサによりスキャナー
がオンに切換えられる(ステップ113)と、該スキャ
ナーは先ず、ブロック114に示すようにSRVC C
LR SET判定を受ける。ここでSRVC CLRS
ETは、ローカル・プロセッサがスキャナー停止動作を
指示して、待ち状態の累積した割込みを処理する場合に
スキャナーを停止するステイタス・ビットである。待ち
状態にある割込みの処理後、ローカル・プロセッサは、
SRVC CLR SETビットをクリアすることによ
りスキャナーを再起動し、その結果、判断ステップ11
4の結果は肯定となり、しかる後にスキャナーは、該ス
キャナーが停止された場所から走査を続ける。
【0072】更に具体的に述べると、図示のスキャナー
は、図3のスキャナー制御装置36に設けられているレ
ジスタに、接続されたI/O装置上の割込み状態情報の
8ビットを収集して格納する。スキャナーが割込みを探
知すると、該スキャナーは、当該割込みを、優先割込み
コントローラ46(図3)においてスキャナー割込みに
割当てられている優先レベルに従い、PBUSコントロ
ーラを介してローカル・プロセッサに通報する。ローカ
ル・プロセッサが、先に認識した割込みを処理していな
い場合にも、スキャナーは、他のデバイスから割込み状
態を収集し続ける。ローカル・プロセッサがスキャナー
割込み処理可能になると、該ローカル・プロセッサは1
つまたは複数の待ち状態にある割込みを有するスキャナ
ーレジスタに問いかけを行う。ここで、各割込みは、接
続されたI/O装置に対する8ビットの状態情報でスキ
ャナーにより記憶されている。SRVC CLR SE
Tは、セットされ、それにより、スキャナーレジスタに
対する問いかけで、ローカル・プロセッサがスキャナー
停止を指示している場合には、該スキャナーは停止され
る。そうでない場合には、スキャナーは、I/O装置か
ら同じ待ち状態にある割込みを取得し続けることにな
る。
【0073】更に図7を参照するに、ローカル・プロセ
ッサがSRVC CLR SETビットをセットしてい
ない場合には、スキャナーは、PARIAHED判断ブ
ロック116により、特定のI/O装置を側路すべき
(走査しない)と判定されない限り、接続されているI
/O装置からI/O割込み要求を収集する。ここで、P
ARIAHED情報は、各接続されているI/O装置毎
に1ビットずつ、スキャナー制御装置36(図3)内の
16ビット・レジスタのより保持される。PARIAH
EDレジスタにおいてクリアされるビットは、どのI/
O装置が走査されるかを指示する。PARIAHEDビ
ットの状態で、スキャナーは、走査を行うべくPBUS
コントローラに要求を通報すべきか否かの信号を受け
る。当該ビットがPARIAHEDとして選択される
と、スキャナーはPBUSコントローラに対し上記特定
のI/O装置を走査する要求を発生しない。
【0074】このようにして、PARIAHEDレジス
タがPARIAHED I/Oを指示し、判断ブロック
116の判定が肯定である場合には、スキャナーは、ス
テップ120において、スロット計数を増分し、PAR
IAHEDレジスタ内の次の記述項をチェックする。さ
もなければ、スキャナーはI/OがUN−PARIAH
EDである場合、PBUSコントローラに走査要求を送
信する(判断ブロック122参照)。PBUSコントロ
ーラは、他の要求、即ち、DMAかまたはPIO要求が
発行されていない場合、少なくとも3つのスロットを走
査するのに充分な遅延期間でスキャナーを選択する。こ
の選択後、スキャナーは、関連のスロットを走査し(ス
テップ124)、そしてステップ126において、記憶
されている走査クロックでの走査を行う。次いで、次の
走査サイクルに対しスロット位置を増分する。
【0075】図8は、本発明の一実施例におけるDMA
−PIOデータ転送間のインターリーブ状態中の動作サ
イクル及び対応の信号レベルのシーケンスを示す図であ
る。更に具体的には、論理信号波形132及び134
は、ローカル・プロセッサが、DMA転送中PIO要求
を発生した場合のPBUSコントローラのセレクト状態
を示す。
【0076】進行中のDMA転送はDATAサイクル1
30、130として示してある。PBUSコントローラ
論理は、DMAセレクト状態に対し高レベルに設定され
(波形132参照)、そしてDMA転送サイクル13
0、130中は、ローカル・プロセッサ・セレクト状態
に対し低レベルに設定される(波形134参照)。ロー
カル・プロセッサが波形136に示すように要求を発生
すると、PBUSコントローラはIDLE状態に入り
(サイクル138参照)、それにより、DMA転送サイ
クル130、130のバイトNで選択不能、低レベルを
設定を行う(DMAセレクト状態波形132参照)。
【0077】ローカル・プロセッサ要求の発生後(例え
ば、PIOコマンド波形136参照)、PBUSコント
ローラ論理は、サイクル140においてローカル・プロ
セッサ・セレクト状態に対し高レベルに設定される(波
形134参照)。インターバル・サイクル142後、I
/Oアドレスに対する状態情報がサイクル144、14
4で取得され検査されて、それにより、読出しまたは書
込み動作、例えば、ローカル・プロセッサのサイクル1
46、146のPIO転送が行われる。動作146、1
46は1つまたは複数のサイクルを取り得る。
【0078】動作サイクル146、146の完了後、P
BUSコントローラはIDLE状態に入り(サイクル1
48参照)、そこで、ローカル・プロセッサ・セレクト
状態波形134は低レベルにセットされ、そしてDMA
セレクト状態波形132は高レベルにセットされる。D
MA動作はサイクル150で選択される。インターバル
・サイクル152の後に、サイクル130、130にお
いて、中断されていたDMA転送に対し、サイクル15
4、154でI/Oアドレスの状態情報が取得される。
DMAセレクト状態波形132は、サイクル130、1
30の選択を無視されたDMA転送のバイト計数N+1
で、DMA転送の続行中高レベルに留どまる(サイクル
152、152)。
【0079】DMAセレクト状態波形132もまたロー
カル・プロセッサ・セレクト状態波形134のいずれも
高レベルにセットされない場合には、スキャナーサイク
ルを選択することができる。
【0080】以上本発明の好ましい実施例に関し説明し
たが、本発明の精神或るいは本質的特徴から逸脱するこ
となく本発明は他の特定の形態で実施可能である。従っ
て、ここに開示した実施例は有らゆる点において例示的
なものであり、制限的なものではないと解釈されるべき
である。本発明の範囲は以上に述べた記載により制約さ
れるものではなく、本発明の範囲並びにその均等物の範
囲に入る有らゆる変更は本発明により包摂されるもので
あることを意図する。例えば、4つのI/O装置を図1
に例示的に示したが、本発明の教示は、図示の実施例と
は異なった数のI/O装置が接続されているI/Oコン
トローラ10にも同様に適用可能であることは理解され
るべきである。
【図面の簡単な説明】
【図1】本発明に従って構築されたI/Oコントローラ
を利用するディジタル・データ処理システムの簡略ブロ
ック・ダイヤグラムである。
【図2】図1のシステムで使用するためのI/Oコント
ローラ並びに種々なデータ路を示す図である。
【図3】図2のI/Oコントローラで使用されるゲート
・ アレイ論理を示す図である。
【図4】図2のI/Oコントローラで使用されるDMA
エンジンを示す図である。
【図5】図4のDMAエンジンの動作を説明するフロチ
ャートである。
【図6】図1に示したPBUSコントローラ論理の動作
を説明するフロチャートである。
【図7】図1に示したスキャナーの動作を説明するフロ
チャートである。
【図8】図1に示したPBUSコントローラの論理の動
作を説明するサイクル・インターリーブ・チャートであ
る。
【符号の説明】
10 I/Oコントローラ 12 ホスト・プロセッサ 14 ホスト・メモリ 15、18 I/O装置 20 ホスト・バス 22 I/Oバス 24 ローカル・プロセッサ 26 ローカル・ランダム・アクセス・メモリ 28 ローカル・プロセッサ・バス 30 ゲート・アレイ 32 DMAエンジン(データ転送論理回路) 32 第1のデータ転送コプロセッサ(DMAエンジ
ン) 34 第2のデータ転送コプロセッサ(PBUSコン
トローラ) 36 スキャナー 46 優先割込みコントローラ 47 タイマ 49 DMA記述項カウンタ 50 XBUSコントローラ 51 ライト・パイプ 53 DMAバス制御ユニット 54 PIO制御ユニット 55 PKADRカウンタ 56 カウンタ 58 CHECKSUM発生器 59 DMA状態エラーハンドラ 60 長ワード読取りバッファ 61 書込みバッファ

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 I/O(入/出力)装置と、ホスト・プ
    ロセッサ・バスに接続されてホスト記憶装置を有するホ
    スト・プロセッサとの間でデータの転送を行うためにI
    /O(入/出力)バスと前記ホスト・プロセッサ・バス
    とに接続され、ローカル記憶装置を用いて動作するロー
    カル・プロセッサを具備するI/O(入/出力)コント
    ローラにおいて、 選択された際に、前記I/Oバスと前記ホスト・バスと
    の間で複数のデータ・バイトを転送するためにDMA転
    送命令によるデータ移動動作を実行する第1のデータ転
    送手段と、 選択された場合に、前記ローカル・プロセッサと前記I
    /Oバスとの間でデータ・バイトを転送するためのコン
    トローラ命令を実行する第2のデータ転送手段と、 前記第2のデータ転送手段が選択されない場合に、前記
    第1のDMA転送命令のデータ移動動作を実行するよう
    に前記第1のデータ転送手段を選択するための論理回路
    とを含み、 前記論理回路は、前記第1のDMA転送命令を実行する
    前記第1のデータ転送手段の選択中、前記コントローラ
    命令に対する要求に応答して、順次、前記第1のデータ
    転送手段の選択の解除、前記要求されたコントローラ命
    令を実行するための前記第2のデータ転送手段の選択、
    及び前記選択解除された時点における状態から出発して
    前記第1DMA転送命令のデータ移動動作の続行するた
    めの前記第1のデータ転送手段の再選択を行うことを特
    徴とするI/Oコントローラ。
  2. 【請求項2】 請求項1に記載のI/Oコントローラに
    おいて、前記I/Oバスに接続された複数のI/Oデバ
    イスと信号の交換を行うように構成され、更に、 選択された場合に、前記I/Oバスに接続されている複
    数のI/Oデバイスの各々のデバイスの状態を走査する
    ための走査手段を含み、 前記論理回路は、前記コントローラ命令要求及びDMA
    転送命令要求が存在しない場合に前記走査手段を選択す
    るための手段を具備していることを特徴とするI/Oコ
    ントローラ。
  3. 【請求項3】 請求項1に記載のI/Oコントローラに
    おいて、前記第1のデータ転送手段は、DMA命令を実
    行するための情報を記憶するテーブル手段と、データ・
    バイトの転送に伴い、前記テーブル手段内に格納されて
    いる情報の状態を更新するための手段とを有し、 前記第1のデータ転送手段は、選択解除時に、前記テー
    ブル手段の内容を保持して、それにより、前記データ転
    送手段が選択解除され、しかる後再度選択された場合
    に、前記テーブル手段で、前記選択解除時に進行中であ
    ったDMA命令の後続のデータ転送動作を識別すること
    を特徴とするI/Oコントローラ。
  4. 【請求項4】 請求項1に記載のI/Oコントローラに
    おいて、前記第1のデータ転送手段は、DMA転送中、
    バイト計数を増分するためのカウンタ手段を備え、該カ
    ウンタ手段の内容は、前記第1のデータ転送手段の選択
    解除中不変に保持されて、それにより、前記第1データ
    転送手段の再選択時に、前記DMA転送の続行を容易に
    することを特徴とするI/Oコントローラ。
  5. 【請求項5】 請求項1に記載のI/Oコントローラに
    おいて、前記第1のデータ転送手段は更に、DMA命令
    を実行するための情報を格納し、該DMA命令の完了状
    態を書込むための手段を具備することを特徴とするI/
    Oコントローラ。
  6. 【請求項6】 請求項1に記載のI/Oコントローラに
    おいて、前記I/Oコントローラは、候補DMA命令の
    リストを格納するための手段を具備することを特徴とす
    るI/Oコントローラ。
  7. 【請求項7】 請求項6に記載のI/Oコントローラに
    おいて、前記第1のデータ転送手段は、前記ローカル・
    プロセッサから発生されるポインタを受取った際に前記
    候補DMA命令リストからの情報にアクセスするための
    手段を具備していることを特徴とするI/Oコントロー
    ラ。
  8. 【請求項8】 請求項6に記載のI/Oコントローラに
    おいて、前記第1のデータ転送手段は、前記候補DMA
    命令リスト内の記述項を走査して、該記述項が実行可能
    であることを指示するコードを探索するIDLE及びP
    OLL手段を具備することを特徴とするI/Oコントロ
    ーラ。
  9. 【請求項9】 請求項6に記載のI/Oコントローラに
    おいて、前記第1のデータ転送手段は、前記候補DMA
    命令リストを反復的に走査するためのループ手段を具備
    することを特徴とするI/Oコントローラ。
  10. 【請求項10】 請求項6に記載のI/Oコントローラ
    において、前記第1のデータ転送手段は更に、 前記候補DMA命令リスト内の記述項を走査して、該記
    述項が実行可能であることを指示するコードを探索する
    ためのIDLE及びPOLL手段と、 WAIT手段とを具備し、 前記第1のデータ転送手段は、前記候補DMA命令リス
    トが実行可能な記述項を含んでいない場合にそのことを
    判定し、 前記第1のデータ転送手段は、前記判定の時点で前記第
    1のデータ転送手段が指定されてた場所で待機し、 前記第1のデータ転送手段は、前記候補DMA命令リス
    トへの新たな情報の書込みに応答して、前記POLL及
    びIDLE手段による前記候補DMA命令リスト内の記
    述項の走査を回復することを特徴とするI/Oコントロ
    ーラ。
  11. 【請求項11】 請求項6に記載のI/Oコントローラ
    において、前記候補DMA命令リストは、前記ローカル
    ・プロセッサからの情報を受けて該情報を前記候補DM
    A命令リストに格納するための手段を有することを特徴
    とするI/Oコントローラ。
  12. 【請求項12】 請求項1に記載のI/Oコントローラ
    において、該I/Oコントローラは、 (i)候補DMA命令リストを格納し、前記ローカル・
    プロセッサ及び前記第1のデータ転送手段からの情報を
    受けて記憶するための双対ポート記憶RAM手段と、 (ii)前記ローカル・プロセッサと前記第1のデータ転
    送手段との間におけるアクセス競合を阻止するためのク
    ロック手段とを含むことを特徴とするI/Oコントロー
    ラ。
  13. 【請求項13】 請求項1に記載のI/Oコントローラ
    において、該I/Oプロセッサは、書込みパイプを含
    み、該書込みパイプは、前記ローカル・プロセッサと前
    記I/Oコントローラとの間でデータ書込み動作バッフ
    ァとして働くことを特徴とするI/Oコントローラ。
  14. 【請求項14】 請求項1に記載のI/Oコントローラ
    において、前記I/Oプロセッサは、CHECKSUM
    手段を含み、 (i)前記CHECKSUM手段は前記I/Oコントロ
    ーラの動作において選択可能であり、 (ii)前記CHECKSUM手段は、前記I/Oバスを
    介してのDMA転送中に転送されるDMAバイトを格納
    することを特徴とするI/Oコントローラ。
  15. 【請求項15】 ホスト・プロセッサ及びホスト・メモ
    リと通信可能で複数の情報バイトを転送するためのディ
    ジタル論理装置において、 A. 候補DMA命令のリストを格納するためのリスト
    手段と、 B. データ移動論理を含むDMAエンジンを備え、該
    DMAエンジンは、 (i)前記候補DMA命令リストに対するポインタを受
    け取って解釈するポインタ読取り手段と、 (ii)前記候補DMA命令リスト内の記述項を走査して
    次の実行可能なDMA命令を選択するためのPOLL及
    びIDLE手段と、 (iii )WAIT手段とを含み、 (a)前記DMAエンジンは前記候補DMA命令リスト
    における実行可能なDMA命令の不在を判定し、 (b)前記DMAエンジンは、実行可能なDMA命令の
    前記不在が判定された場合に、前記候補DMA命令リス
    ト内の当該箇所で待ち状態(WAIT)に入り、 (c)前記待ち状態は、前記候補DMA命令リストに新
    たな情報が書込まれる際に終了して、前記IDLE及び
    POLL手段による前記走査が回復されることを特徴と
    するディジタル論理装置。
  16. 【請求項16】 請求項15に記載のディジタル論理装
    置において、前記候補DMA命令リストに選択されたD
    MA命令を書込み且つ該選択されたDMA命令を識別す
    るための書込み手段を含むことを特徴とするディジタル
    論理装置。
  17. 【請求項17】 請求項15に記載のディジタル論理装
    置において、前記DMAエンジンは、ホスト・プロセッ
    サ、ホスト・メモリ及びI/Oデバイスと通信し、更に
    前記IDLE及びPOLL手段と関連して前記POLL
    手段によるDMA命令の選択に応答するシーケンス制御
    手段を含み、更に、 A. 前記DMAエンジンに選択されたDMA命令のア
    ドレス及びバス・スロットをロードするためのPKAD
    Rロード手段と、 B. 前記DMAエンジンに選択されたDMA命令の型
    とバイトをロードするためのBCOUNTロード手段と
    を含み、該DMAエンジンは、誤った型のデータの受信
    に際して完了状態を書込んで前記IDLE状態の戻り、 C. 選択されたDMA命令のメモリ・アドレスをロー
    ドするためのMEMADRロード手段を有し、該DMA
    エンジンは、正しくないメモリ・アドレスの受信に際し
    て完了状態を書込んで前記IDLE状態に戻り、 D. 前記選択されたDMA命令の前記バス・スロット
    を選択するためのMOVEデータ手段を含み、該MOV
    Eデータ手段は、前記DMAエンジンが前記I/Oデバ
    イスに書込みを行っている場合に前記ホスト・メモリか
    らデータを読取るかまたは前記MOVEデータ手段はバ
    ッファ・ロードを行って該バッファが満配になるまで前
    記ホスト・メモリに書込みを行い、 E. 現在のDMA転送の完了状態を前記選択されたD
    MA命令に書込むためのCOMPLETION STA
    TUS( 完了状態)手段と、 F. 進行状態においてDMAをクリアするためのDI
    P手段と、 G. 前記ポインタを、前記候補DIP命令リストにお
    ける次の逐次位置に増分するBUMP(バンプ)手段と
    を含むことを特徴とするディジタル論理装置。
  18. 【請求項18】 請求項17に記載のディジタル論理装
    置において、前記シーケンス制御手段がCHECKSU
    M論理回路を含むと共に、更に、 A. 前記CHECKSUM論理回路を選択し起動する
    ための起動手段と、 B. 選択されたDMA命令をCHECKSUMに書込
    むためのCHECKSUM書込み手段と、 C. CHECKSUM状態をクリアするためのCLE
    AR CHECKSUM手段とを含み、前記CHECK
    SUMは、前記選択されたDMA転送中に転送されたデ
    ータ・バイトであって完了状態で前記DMA命令に登録
    される前記データ・バイトに関して、前記DMAエンジ
    ンが利用可能な情報であることを特徴とするディジタル
    論理装置。
  19. 【請求項19】 データ移動論理を含み、I/Oコント
    ローラと共に動作するDMAエンジンにおいて、DMA
    転送中にバイトを計数するバイト・カウンタ手段を備
    え、 (i)該カウンタ手段は前記I/Oコントローラによっ
    て決定される優先動作中は不変に固定され、 (ii)前記カウンタは前記優先動作の終了で、前記DM
    A転送バイトの計数を再開し、 以て前記優先動作の開始時における前記DMA転送の続
    行を容易にすることを特徴とするDMAエンジン。
JP4235163A 1991-08-12 1992-08-12 ホスト・プロセッサと複数の入/出力装置間でデータを転送するための入/出力制御方法及び装置 Withdrawn JPH05197664A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US743992 1976-11-22
US07/743,992 US5379381A (en) 1991-08-12 1991-08-12 System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations

Publications (1)

Publication Number Publication Date
JPH05197664A true JPH05197664A (ja) 1993-08-06

Family

ID=24991013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4235163A Withdrawn JPH05197664A (ja) 1991-08-12 1992-08-12 ホスト・プロセッサと複数の入/出力装置間でデータを転送するための入/出力制御方法及び装置

Country Status (5)

Country Link
US (1) US5379381A (ja)
EP (1) EP0530543A1 (ja)
JP (1) JPH05197664A (ja)
AU (1) AU2096792A (ja)
CA (1) CA2075449A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659690A (en) * 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5535333A (en) * 1993-03-30 1996-07-09 International Business Machines Corporation Adapter for interleaving second data with first data already transferred between first device and second device without having to arbitrate for ownership of communications channel
US5535417A (en) * 1993-09-27 1996-07-09 Hitachi America, Inc. On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
US5513374A (en) * 1993-09-27 1996-04-30 Hitachi America, Inc. On-chip interface and DMA controller with interrupt functions for digital signal processor
US5664223A (en) * 1994-04-05 1997-09-02 International Business Machines Corporation System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
US5860022A (en) * 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
DE69614291T2 (de) * 1995-03-17 2001-12-06 Lsi Logic Corp (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung
US5864712A (en) * 1995-03-17 1999-01-26 Lsi Logic Corporation Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment
US5692121A (en) * 1995-04-14 1997-11-25 International Business Machines Corporation Recovery unit for mirrored processors
US5961614A (en) 1995-05-08 1999-10-05 Apple Computer, Inc. System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal
US5765022A (en) * 1995-09-29 1998-06-09 International Business Machines Corporation System for transferring data from a source device to a target device in which the address of data movement engine is determined
US6185634B1 (en) * 1996-09-27 2001-02-06 Emc Corporation Address triggered DMA controller with an indicative signal including circuitry for calculating a new trigger address value based on the sum of the current trigger address and the descriptor register data with a trigger address register
US6393455B1 (en) 1997-03-28 2002-05-21 International Business Machines Corp. Workload management method to enhance shared resource access in a multisystem environment
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6434592B1 (en) * 1998-01-05 2002-08-13 Intel Corporation Method for accessing a network using programmed I/O in a paged, multi-tasking computer
US6260126B1 (en) 1998-06-05 2001-07-10 International Busines Machines Corporation Data storage subsystem having apparatus for enabling concurrent housekeeping processing while an input/output data transfer occurs
US7181548B2 (en) 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
US6542940B1 (en) * 1999-10-25 2003-04-01 Motorola, Inc. Method and apparatus for controlling task execution in a direct memory access controller
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6687851B1 (en) * 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
KR100403620B1 (ko) * 2001-02-28 2003-10-30 삼성전자주식회사 채널 활용율을 높이는 통신 시스템 및 그 방법
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US7739451B1 (en) * 2002-12-27 2010-06-15 Unisys Corporation Method and apparatus for stacked address, bus to memory data transfer
US7058735B2 (en) * 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
JP2005309847A (ja) * 2004-04-22 2005-11-04 Sharp Corp データ処理装置
DE102004046822A1 (de) * 2004-09-27 2006-03-30 Infineon Technologies Ag Verfahren zum Übertragen von Daten zwischen einem Speicher und mehreren peripheren Einheiten mit Hilfe einer Direct Memory Access-Steuerung sowie entsprechende Direct Memory Access-Steuervorrichtung
US7386642B2 (en) 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
JP2006216042A (ja) 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
US7376762B2 (en) * 2005-10-31 2008-05-20 Sigmatel, Inc. Systems and methods for direct memory access
JP4908017B2 (ja) * 2006-02-28 2012-04-04 富士通株式会社 Dmaデータ転送装置及びdmaデータ転送方法
US9007646B2 (en) * 2006-03-14 2015-04-14 Core Wireless Licensing S.A.R.L. System and method for enabling the fast extraction of interleaved image data
CN101558396B (zh) * 2006-12-15 2011-12-14 密克罗奇普技术公司 直接存储器存取控制器
US9141572B2 (en) * 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
US8117475B2 (en) 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
US20090083470A1 (en) * 2007-09-24 2009-03-26 Ali Corporation System on chip device and method for multiple device access through a shared interface
US8321605B2 (en) * 2010-12-13 2012-11-27 Apple Inc. PIO interjection between beats of a DMA operation
EP3218826A4 (en) 2014-11-13 2018-04-11 Virtual Software Systems, Inc. System for cross-host, multi-thread session alignment
JP6544246B2 (ja) * 2016-01-15 2019-07-17 富士通株式会社 不揮発性ストレージおよび不揮発性ストレージの処理方法
KR102447465B1 (ko) * 2017-09-08 2022-09-27 삼성전자주식회사 호스트로부터의 읽기 요청에 대한 짧은 읽기 응답 시간을 제공하기 위해 내부 동작을 일시적으로 중단하는 스토리지 장치
DE102017008945B3 (de) * 2017-09-23 2018-12-13 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Schaltung zur Kopplung eines Feldbusses und eines Lokalbusses
US10833703B2 (en) * 2017-12-13 2020-11-10 Canon Kabushiki Kaisha DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
US11726713B2 (en) 2021-06-25 2023-08-15 Western Digital Technologies, Inc. Systems and methods for priority command data fetching management

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3705388A (en) * 1969-08-12 1972-12-05 Kogyo Gijutsuin Memory control system which enables access requests during block transfer
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
US4275440A (en) * 1978-10-02 1981-06-23 International Business Machines Corporation I/O Interrupt sequencing for real time and burst mode devices
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
US4309754A (en) * 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4920540A (en) * 1987-02-25 1990-04-24 Stratus Computer, Inc. Fault-tolerant digital timing apparatus and method
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
US4931922A (en) * 1981-10-01 1990-06-05 Stratus Computer, Inc. Method and apparatus for monitoring peripheral device communications
US4866604A (en) * 1981-10-01 1989-09-12 Stratus Computer, Inc. Digital data processing apparatus with pipelined memory cycles
US4503499A (en) * 1982-09-14 1985-03-05 Eaton Corporation Controlled work flow system
US4716523A (en) * 1985-06-14 1987-12-29 International Business Machines Corporation Multiple port integrated DMA and interrupt controller and arbitrator
US4703418A (en) * 1985-06-28 1987-10-27 Hewlett-Packard Company Method and apparatus for performing variable length data read transactions
US4987530A (en) * 1985-11-15 1991-01-22 Data General Corp. Input/output controller for a data processing system
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US5020024A (en) * 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
AU1671688A (en) * 1987-06-03 1988-12-08 Honeywell Bull Inc. Peripheral controller and adapter interface
US5119480A (en) * 1989-11-13 1992-06-02 International Business Machines Corporation Bus master interface circuit with transparent preemption of a data transfer operation

Also Published As

Publication number Publication date
US5379381A (en) 1995-01-03
CA2075449A1 (en) 1993-02-13
EP0530543A1 (en) 1993-03-10
AU2096792A (en) 1993-02-18

Similar Documents

Publication Publication Date Title
JPH05197664A (ja) ホスト・プロセッサと複数の入/出力装置間でデータを転送するための入/出力制御方法及び装置
US4888691A (en) Method for disk I/O transfer
US6088740A (en) Command queuing system for a hardware accelerated command interpreter engine
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US5524268A (en) Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
JP4119945B2 (ja) タスク処理装置
JPS59136859A (ja) バツフア制御装置
JPH02267634A (ja) 割込み処理装置
US6728791B1 (en) RAID 1 read mirroring method for host adapters
JPH07504527A (ja) 高性能の不揮発性ram保護式の書き込みキャッシュアクセラレータシステム
GB2348306A (en) Batch processing of tasks in data processing systems
JPH03201130A (ja) データ処理システム
JP4127848B2 (ja) タスク処理装置
JPH06504640A (ja) アウトオブオーダジョブ処理方法および装置
US20050246578A1 (en) Method and system of exchanging information between processors
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
EP0239078A2 (en) Register saving/restoring system
JPH05173961A (ja) データ・ブロック転送制御方法
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
US6871238B1 (en) Method for configuring a single hardware I/O control block architecture for use with both mirrored and non-mirrored data transfers
JP2986930B2 (ja) 対称型マルチプロセッサのタスクスケジューリング方式
JPS6336023B2 (ja)
JP3206580B2 (ja) Dmaデータ転送制御方法及び入出力処理装置
JP2003131893A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
JP2785738B2 (ja) 分散メモリ型マルチプロセッサ情報処理システム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991102