JPS623361A - ステ−タス通報方式 - Google Patents

ステ−タス通報方式

Info

Publication number
JPS623361A
JPS623361A JP61150607A JP15060786A JPS623361A JP S623361 A JPS623361 A JP S623361A JP 61150607 A JP61150607 A JP 61150607A JP 15060786 A JP15060786 A JP 15060786A JP S623361 A JPS623361 A JP S623361A
Authority
JP
Japan
Prior art keywords
status
input
output device
word
command
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.)
Pending
Application number
JP61150607A
Other languages
English (en)
Inventor
Bui Jieimuzu Deibitsudo
デイビツド・ブイ・ジエイムズ
Ei Ruisu Fuerunando
フエルナンド・エイ・ルイス
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.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard Ltd
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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
Publication of JPS623361A publication Critical patent/JPS623361A/ja
Pending 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/38Information transfer, e.g. on bus
    • 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/126Program 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 and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は情報処理装置における入出力装置のステータス
通報方式に関する。
〔従来技術およびその問題点〕
通常入出力デバイスが、たとえばメモリへあるいはメモ
リからのデータ転送後等でプロセッサからサービスを受
け6準備ができたときには、その入出力デバイスはプロ
セッサにその旨通報する。普通はこの通報は特別に設け
られた信号線を介して行なわれる。
たとえば、各入出力デバイスからシステムのプロセッサ
へ割込み線を引いてもよい、入出力デバイスのひとつが
サービスの準備ができたとき、その入出力デバイスは割
込み線に信号を送る。するとプロセッサはソフトウェア
・ルーチンにその入出力デバイスへのサービスを行なわ
せる。通常、プロセッサによりある種の優先順位付けが
なされる。入出力デバイスへの優先レベルの割当ては、
ハードウェアによって固定されている。使用可能な優先
レベルの決定はしばしば各優先レベルを設けることによ
るハードウェア上の出費と、プロセッサがその作業を行
なうために優先レベルを区別することができる能力を得
ることにより受ける利益とのつり合いに関する解析に基
いて下される。
プロセッサが高優先レベルの入出力デバイスにサービス
を与えている場合は、それよりも低い優先レベルの入出
力デバイスはプロセッサに割込むことは許されない。従
って、プロセッサは、各種の入出力デバイスからの割込
みをバッファリングするか待ち行列に付ける必要がある
。さもなければ、入出力デバイスは、サービス要求をプ
ロセッサに対して通知し続ける必要がある。ハードウェ
アによるこのようなバッファリング方式は極めて複雑に
なり得る。
〔発明の目的〕
本発明は、上述した従来技術の問題点を解消し、構成が
単純で、ソフトウェア、ハードウェアの負担が小さいス
テータス通報方式を提供することを目的とする。
〔発明の概要〕 本発明の一実施例によれば、入出力デバイスがひとつず
つあるいはいくつかの入出力デバイスのグループ毎に、
システム・メモリ内に置かれたコマンド用リンク付きリ
スト(linked  1ist)に対応付けられてい
る。プロセッサはこれらのコマンド用リンク付きリスト
の夫々にコマンド・エレメントを置いている。通常、各
コマンド・エレメントは入出力デバイスとメモリ・ロケ
ーションとの間のデータ転送の方向、長さおよびメモリ
・アドレスを指定する。
コマンド・エレメントの一部のものは、データ転送のス
テータスの通報のために特に用いられる。このようなコ
マンド・エレメントの各々は、ステータス・エントリを
指示するためのポインタを含んでいる。ステータス・エ
ントリは、入出力デバイスによって更新されたときには
、同じくシステム・メモリ内に置かれているステータス
用リンク付きリスト上に置かれる。(とつの入出力デバ
イスが専用のステータス用リンク付きリストを持っても
よいし、あるいは、いくつかの人出デバイスでステータ
ス用リンク付きリストを共用してもよい。一般に、ステ
ータス用リンク付きリストを共用する入出力デバイスは
、プロセッサによるサービスに関して同じ優先レベルを
持っている。ステータス・エントリは、入出力デバイス
とメモリ・ロケーションとの間の転送に関するステータ
ス情報を含んでいる。ステータス・エントリをステータ
ス用リンク付きリストへ挿入する処理は、ハードウェア
による一連の不可分な(つまり中衛されない)操作によ
りなされる。実現形態によっては、ハードウェアがプロ
セッサ上で走る制御プログラムに対して、新しいステー
タス・エレメントがステータス用リンク付きリストに付
加されたという非同期の通報を与えてもよい。この通報
によりプロセッサ上で現在走行中のプロセスに割込みが
かかる。
本発明は、従来技術に対して様々な利点を有している。
コマンド用およびステータス用リンク付きリストの数は
ソフトウェアによって定められる。従って、その数の変
更は簡単になし得る。各々のステータス用リンク付きリ
ストに対応付けられる入出力デバイスの選択の基準とし
て、同じプロセスに関連付けられた入出力デバイス単位
、サービスの優先レベル、資源がたとえば、待ち時間等
にどれ程りリチカルか、あるいは別の基準、またあるい
は以上のものの組合わせ等を採用することができる。プ
ロセッサ上で走っている!11#プログラムは、ステー
タスを通報するのに使われたコマンド・エレメントがコ
マンド用リンク付きリスト上のどこにあるのか、またど
の情報がステータス・エントリ中に置かれるべきかを選
択する。これにより制御プログラムはこれらを用いて、
待ち状態のプロセスを知り、また、特定のステータス用
リンク付きリスト上のプロセスのステータスを監視する
ことができる。更に、制御プログラムは、新しいステー
タス・エントリがステータス用リンク付きリストに付加
されたときには割込みを受けないようにすることもでき
る。これによれば。
いつ入出カサ−ビスを行なうかをプロセッサが制御する
ことができる。この場合でも、ステータス情報が失なわ
れることはなく、ステータス用リンク付きリスト上にプ
ロセッサがアクセスするまで残っている。
〔発明の実施例〕
第4図に本発明のステータス通知方式を行なうためのコ
ンピュータ・システムの簡略ブロック図の−例を示す。
このコンピュータ・システムには、プロセッサ11、入
出力デバイス12.13.14、システム・メモリ15
が示されており、これは皆、データ転送バス16によっ
て結合されている。入出力デバイス12.13.14は
皆、DMA (直接メモリ・アクセス)デバイスである
。すなりちこれらは、いず九もシステム・メモリ15と
の間でデータ転送を行なうことができる。
第2図には、コマンド用リンク付きリストの例が示され
ている。同図中、コマンド用リンク付きリスト20はコ
マンド・エレメント21.22.23.24.25.2
6.27から成っており、システム・メモリ15内に置
かれている1本発明の実施例では、各コマンド・エレメ
ントは、第3図や第1図にあるように32ビツト語で4
語から成っているものとして示されている。コマンド・
エレメント21.22.23.25.27は皆同じフォ
ーマットである。
第3図にはコマンド・エレメント23のフォーマットが
代表例として示されている。コマンド・エレメント23
には32ビツトの語31.32.33.34が含まれて
いる。語31はコマンド用リンク付きリスト上・での次
のコマンド・エレメント24のメモリ・アドレスが入っ
ているポインタである。M3から読み出すというような
、どの操作が為されなければならないかということを入
出力デバイスに指令する。語33は、データの転送先あ
るいは転送元のシステム・メモリ15のアドレスある0
語34は転送されるべきデータ数を示すバイト・カウン
トである。
1!1図には、コマンド・エレメント24のフォーマッ
トが示されている。コマンド・エレメント24はステー
タスを通報するための特別なコマンド・エレメントであ
る。コマンド・エレメント24には32ビツトの語41
.42.43.44が含まれている。1i41は、コマ
ンド用リンク付きりスト20上の次のコマンド・エレメ
ント25のメモリ・アドレスが入っているポインタであ
る。語42はコード化されたコマンドが入っている。こ
のコマンドは、入出力デバイスに対しどの操作がなされ
なければならないのかを指令する。語43はステータス
用リンク付きりストロ9の頭部60のシステム・メモリ
15中におけるアドレスである。ステータス用リンク付
きりストロ9にはステータス・エントリ61.62.6
4が含まれている。語44は、入出力デバイスによって
ステータス情報が書込まれそしてステータス用リンク付
きりストロ9に挿入される新しいステータス・エントリ
63のアドレスである。
プロセッサ11はコマンド用リンク付きリスト20上に
コマンド・エレメント21ないし27のようなコマンド
・エレメントを置く。コマンド・エレメント21ないし
27は、たとえば入出力デバス12のような、単一の入
出力デバイスにかかbるデータ転送を制御する。入出力
デバイス12はコマンド用リンク付きリスト20上を進
んで行き、コマンド・エレメントによって指示された転
送を行なう。入出力デバイス12がコマンド・エレメン
ト24に達すると、入出力デバイス12は頭部60に入
っているデータを読出し1種々のステータス情報を新し
いステータス・エントリ63に入れる。新しいステータ
ス・エントリ6′3には、入出力デバイス12が転送エ
ラーを検出したか、また検出したのであれば、どのよう
な種類のエラーであったかについての情報を入れてもよ
い。また、入出力デバイス12は転送し残りのバイト数
である残余バイト数(r e s i d ual  
byte  count)を新しいステータス・エント
リ63にロードしてもよい。
たとえば、第5図には32ビツトの語51.52.53
.54を含んでいる新しいステータス・エントリ63が
示されている。語51には、頭部60内に入っているデ
ータがロードされる。このデータはステータス・エント
リ62のアドレスである。語52には、コード化された
ステータス情報がロードされる。語53はエラーが発生
しない限り未定義になっている。もしエラーが発生した
のであれば、エラーが発生した時に活動していたコマン
ド・エレメントを識別する識別子が語43にロードされ
る。語54へは、転送されたバイト数または残余バイト
数が口−ドされる。
語52中のステータス情報は、エラーによる転送終結(
error  termination)に関する情報
を含むことができる。このステータス情報により各種の
エラーを区別することができる。たとえば、語52中に
下記の3種類のエラーをコード化してロードするように
してよい。第1番目の種類のコードは、不完全なデータ
転送であったということを示す。この場合には、また転
送されていないデータのバイト数が残余バイトカウント
として語54に入る。第2番目の種類のコードは、デー
タ転送をしている特定の入出力デバイスでデバイス・エ
ラーがあったことを示す、コマンド・エレメントを実行
中に入出力デバイスによって検出されたデバイス・エラ
ーはプロセッサ11へステータスとして通知される。た
とえば、もしコマンド・ニレメン、ト21.22または
23を実行中に入出力デバイスによってデ、ススデータ
スとして通知される。デバイス・エラーが検出されると
、入出力デバイスはプロセッサの介入により、当該入出
力デバイスへのトランザクションが再開されるまでは、
コマンド実行を中止する。
第3番目の種類のコードは誤った電気的接続(たとえば
データが送られているバス上でのデータが損傷を受ける
かもしれないバス・エラー等)があったことを示す。こ
れは普通、パリティ・チェックにより検出される。入出
力デバイスはこの種のエラーを検出すると、システム・
メモリ15のこれ以上の損害を回避するため、これ以上
のデータトランザクションを停止する。プロセッサ11
は各入出力デバイス中のステータス・レジスタをポーリ
ングすることによりこの種のエラーを検出する。
一旦新しいステータス・エントリ63に値が入れられる
と、このステータス・エントリ63はステータス用リン
ク付きりストロ9中に置かれる。複数の入出力デバイス
が単一のステータス用リンク付きリストを共同で使用す
ることができる。たとえば、入出力デバイス12と13
の前者がステータス用リンク付きりストロ9を使用して
も良い。
第6A図、第6n図および第6C図には、新しいステー
タス・エントリ63をステータス用リンク付きりストロ
9に追加するひとつの方法が示されている。第6A図に
は、ステータス用リンク付きりストロ9に入れることが
できる状態になったステータス・エントリ63が示され
ている。入出力デバイス12と13はどちらも自分自身
のステータス・エントリをステータス用リンク付きりス
トロ9に置く、2つの入出力デバイスがステータス用リ
ンク付きりストロ9に同時に夫々のステータス・エント
リを追加することを回避するため、セマフォを用いるこ
とができる。たとえば、第7図に示すように、頭部60
内にセマフォとして用いる語71を、次のステータス・
エントリ(第1図では次のステータス・エントリはステ
ータス・エントリ62となっている)を指す語72とい
っしょに入れておいても良い。
入出力デバイス12がステータス・エントリ63をステ
ータス用リンク付きりストロ9に追加するために用いる
ことができるひとつの方法は、たとえば、以下に示す6
つのステップを組込んだものであって良い。
(1)  入出力デバイス12は語71、すなわちセマ
フォ、を続出して他の装置(たとえば他の入出力デバイ
スやプロセッサ11)がステータス用リンク付きりスト
ロ9にアクセス中かどうかの検知を行なう。
もし他の装置がステータス用リンク付きりストロ9にア
クセス中であれば、入出力デバイス12は少し待ってか
らこのステップを繰返す。
(2)  もし、ステータス用リンク付きりストロ9が
アクセス中でなければ、入出力デバイスは語71の内容
を変更してこのステータス用リンク付きりストロ9が現
在入出力デバイス12によってアクセス中であることを
示す(なお、ステップ1とステップ2は別々のステップ
として記載しであるが、これらは連続した、つまりその
間に他の装置によるアクセスのない、バス・トランザク
ションである)。
(η入出力デバイス12が語72の内容を読出す。
(v入出力デバイス12がステータス・エントリ63参
牛を更新する。すなおちステータス・エントリ63中の
語51にステータス・エントリ62を指している頭部6
0中の語72の値を入れる。
また、望むならば他のステータス情報もロードして良い
(第6B図)。
(5)頭部60中の語72をステータス・エントリ63
を指すように更新する(第6C図)。
(6)頭部6o中のセマフォである語71を再び初表示
する。
ステータス用リンク付きりストロ9にステータス・エン
トリ63を追加するため、入出力デバイス12が使用で
きる他の方法では、以下の3つのステップだけしか用い
られない。
(1)入出力デバイス12が「セマフォをロードすると
ともにクリアする(load  and  clear
  semaphore)J動作を行なう、すなわち単
一バス・トランザクションで語71を読出しまたクリア
する。このようにして読出された語71の内容により、
他の装置(たとえば他の入出力デバイスやプロセッサ1
1)がステータス用リンク付きリスト69をアクセス中
か否かが示される。もし他の装置がステータス用リンク
付きりストロ9をアクセス中であれば、入出力デバイス
12は少し待ってから再びこのチェックを行なう。この
動作と同時に入出力デバイス12はステータス用リンク
付きりストロ9の先頭ステータス・エントリを指してい
る語72の内容を読出す。
(2)入出力デバイス12はステータス・エントリ63
を更新する。すなわちステータス・エントリ63中の語
51にステータス・エントリ62を指している語72の
値を入れ、また望むならば他のステータス情報をロード
する。
(3)語72を新規に追加されたステータス・エントリ
63を指すように更新し、また同時に、語71の内容を
再び初期状態にしてステータス用リンク付きりストロ9
がアクセス中でない状態に復帰したことを表示するよう
にする。
4語ブロックのバースト転送がサポートされているバス
では、後に述べた方法の方が少ないステップで実現でき
る。これによれば、各入出力デバイスがステータス用リ
ンク付きりストロ9を更新するためにかける時間が少な
くなり従って複数の装置がステータス用リンク付きりス
トロ9にアクセスしようとして争うことも少なくなる。
〔発明の効果〕
以上説明したように、本発明によれば、従来技術に比較
して柔軟な入出力系を構成でき、また費用も低くおさえ
ることができるステータス通報方式が与えられる。
【図面の簡単な説明】
第1図は本発明の一実施例の主要な動作を説明する図、
第2図はコマンド用リンク付きリストの一例を示す図、
第3図はコマンド・エレメントの一例を示す図、第4図
は本発明を適用することができるコンピュータ・システ
ムの一例を示す簡略ブロック図、第5図はステータス・
エントリの一例を示す図、第6A図、第6B図および第
6C図は、ステータス用リンク付きリストのステータス
・エントリの付加動作を説明する図、第7図は、ステー
タス用リンク付きりストの頭部の一例を示す図である。 20:コマンド用リンク付きリスト、 21.22.23.24.25,26゜27:コマンド
・エレメント、 60:頭部、 61.62.63.64:ステータス・エントリ、69
:ステータス用リンク付きリスト。

Claims (1)

  1. 【特許請求の範囲】 プロセッサと、 メモリと、 データ転送を行なう装置 とを設けた情報処理装置のステータス通報方式において
    、 前記メモリにステータス情報のリンク付きリストを設け
    、 前記装置はステータス情報を前記リンク付きリストに付
    加し、 前記プロセッサは、前記リンク付きリストをアクセスす
    ることによって前記ステータス情報を得ることを特徴と
    するステータス通報方式。
JP61150607A 1985-06-28 1986-06-26 ステ−タス通報方式 Pending JPS623361A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75056585A 1985-06-28 1985-06-28
US750565 1985-06-28

Publications (1)

Publication Number Publication Date
JPS623361A true JPS623361A (ja) 1987-01-09

Family

ID=25018362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61150607A Pending JPS623361A (ja) 1985-06-28 1986-06-26 ステ−タス通報方式

Country Status (7)

Country Link
EP (1) EP0206657B1 (ja)
JP (1) JPS623361A (ja)
KR (1) KR870000650A (ja)
CN (1) CN86103678A (ja)
AU (1) AU595211B2 (ja)
CA (1) CA1273437A (ja)
DE (1) DE3668083D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234113A (ja) * 2007-03-19 2008-10-02 Fujitsu Ltd 周辺デバイス制御装置及び方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386514A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation Queue apparatus and mechanics for a communications interface architecture
US5657471A (en) * 1992-04-16 1997-08-12 Digital Equipment Corporation Dual addressing arrangement for a communications interface architecture
US5386524A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation System for accessing information in a data processing system
US6526518B1 (en) * 1997-05-22 2003-02-25 Creative Technology, Ltd. Programmable bus
US6480922B1 (en) 1999-08-12 2002-11-12 Honeywell International Inc. Computer software control and communication system and method
DE102004004796B4 (de) 2004-01-30 2007-11-29 Infineon Technologies Ag Vorrichtung zur Datenübertragung zwischen Speichern
CN112463064B (zh) * 2020-12-07 2022-02-08 无锡众星微系统技术有限公司 基于双链表结构的i/o指令管理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038642A (en) 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234113A (ja) * 2007-03-19 2008-10-02 Fujitsu Ltd 周辺デバイス制御装置及び方法

Also Published As

Publication number Publication date
DE3668083D1 (de) 1990-02-08
CN86103678A (zh) 1986-12-31
AU595211B2 (en) 1990-03-29
EP0206657B1 (en) 1990-01-03
AU5916886A (en) 1987-01-08
EP0206657A1 (en) 1986-12-30
KR870000650A (ko) 1987-02-19
CA1273437A (en) 1990-08-28

Similar Documents

Publication Publication Date Title
JP3335172B2 (ja) データ処理システム及びそれに使用するための入出力プロセッサ
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US6564271B2 (en) Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
EP0029331A1 (en) Inter-subsystem communication system
EP0141742A2 (en) Buffer system for input/output portion of digital data processing system
EP0464615A2 (en) Microcomputer equipped with DMA controller
US6105080A (en) Host adapter DMA controller with automated host reply capability
US6061757A (en) Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts
US20050050244A1 (en) Method for controlling data transfer unit, data transfer unit, channel control unit, and storage device control unit
JPS623361A (ja) ステ−タス通報方式
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
JPS6138510B2 (ja)
JPH02171846A (ja) トランザクション処理方式
US5592680A (en) Abnormal packet processing system
JPH0380353A (ja) 割り込み処理方法とデータチャネル装置
JPH0743687B2 (ja) データ記憶サブシステム
JPH0148574B2 (ja)
JPH0414378B2 (ja)
JPS616746A (ja) 部分書込み制御方式
JPH01158554A (ja) Dma装置を備えたデータ処理システム
JPS60169934A (ja) 分散形表示方法
JPH06105425B2 (ja) データ記憶サブシステムとホスト・データ処理システム間のデータ転送方法
JPH0589022A (ja) 情報処理装置
JPS5960623A (ja) バツフア制御装置
JPS58115570A (ja) プロセツサ割付け方式