JP4151362B2 - Bus arbitration method, data transfer device, and bus arbitration method - Google Patents

Bus arbitration method, data transfer device, and bus arbitration method Download PDF

Info

Publication number
JP4151362B2
JP4151362B2 JP2002281215A JP2002281215A JP4151362B2 JP 4151362 B2 JP4151362 B2 JP 4151362B2 JP 2002281215 A JP2002281215 A JP 2002281215A JP 2002281215 A JP2002281215 A JP 2002281215A JP 4151362 B2 JP4151362 B2 JP 4151362B2
Authority
JP
Japan
Prior art keywords
bus
value
priority
channel
counter
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
JP2002281215A
Other languages
Japanese (ja)
Other versions
JP2004118546A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002281215A priority Critical patent/JP4151362B2/en
Publication of JP2004118546A publication Critical patent/JP2004118546A/en
Application granted granted Critical
Publication of JP4151362B2 publication Critical patent/JP4151362B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はバス調停方式及びデータ転送装置に関し、特にバスに接続する各装置の特性に応じて優先度に関する固有値を与えてバスを効率的に調停する技術に関する。
【0002】
【従来の技術】
従来大型の情報処理装置から携帯型の情報処理装置にいたる情報処理装置や通信制御装置等を含むデータ転送装置に実装されるバスの調停においては、調停の対象となるバスを使用するバス使用装置(例えばチャネル装置)のバス要求が競合した場合予め決められた基準に従ってバスの使用を許可するバス使用装置を決定している。
【0003】
ラウンドロビン方式のように特定のバス使用装置が有利にならないようにバスの優先順位をバスの獲得実績に従って動的に変更し各バス使用装置が平均的にバスを獲得できるようにする方法や、バス使用装置が例えば異なる入出力装置や通信装置を制御するチャネル装置のようにそれぞれバスに要求される処理時間が異なるような場合は各バス使用装置に固定的に優先順位を与える方法が知られている。
【0004】
例えば、特開平11−65993号公報では、バス使用装置毎に優先順位を割り振っておき、複数のバス使用装置のバス要求が競合した場合この優先順位に従ってバスの使用許可を与えるバス使用装置を決定しているが、この公報では同じ特性を有するプロセッサ間での調停に関するものであり、バスの使用時間や待ち時間の制限等にそれぞれ異なった特性・条件を有する入出力装置やチャネル装置のような装置に対してそれぞれの特性を配慮した調停はされていない。
【0005】
【特許文献1】
特開平11−65993号公報
【0006】
【発明が解決しようとする課題】
このように、従来のバス調停の技術においては、バス使用装置の持つ特性や動作内容に基づいた条件に考慮してバス調停をしていなかったため、各バス使用装置の特性を配慮した効率的な調停が実行されていなかった。特に、入出力装置を制御するバス使用装置のように入出力装置の使用に応じて動作速度、バスの使用時間、待ち時間の条件等がそれぞれ異なるバス使用装置で構成されたバスでは効率のよい調停技術が無かった。
【0007】
例えば、優先順位を固定にすると、優先度の低いバス使用装置では待ち時間を超過することによりオーバーランやアンダーランが発生しやすくなり、優先度を均一にすると高速のデータ転送を必要とするバス使用装置ではバス使用時間の長いのバス使用装置が連続してバスを使用すると長時間バスの使用を待たされシステム全体の性能が悪化するといった問題があった。
【0008】
本発明の目的は、優先度の低いチャネル装置のオーバーランやアンダーランの発生を防止し、バス使用を効率的に使用可能としたバス調停方式及びデータ転送装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明の第1のバス調停方式は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有し、
前記優先値生成部は、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
バス使用装置に設定されたバスの優先度の基本値とカウンタの値とを加算してバス優先値を生成することを特徴とする。
【0010】
本発明の第2のバス調停方式は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有し、
前記優先値生成部は、バス使用装置に設定されたバスの優先度の基本値を保持する基本値レジスタと、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、基本値レジスタの値とカウンタの値とを加算してバス優先値を生成する加算器とを有することを特徴とする。
【0011】
本発明の第3のバス調停方式は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有し、
前記優先値生成部は、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
カウンタの値とバス使用装置に設定されたバスの優先度の基本値とを加算し、カウンタの値がバス使用装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とする。
【0012】
本発明の第4のバス調停方式は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有し、
前記優先値生成部は、バス使用装置に設定されたバスの優先度の基本値を保持する基本値レジスタと、バス使用装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とする。
【0013】
本発明の第5のバス調停方式は、バスに接続してデータを転送するバス使用装置と、バス使用装置のバス優先値を生成する優先値生成部をバス使用装置に対応して有するとともにそれぞれのバス使用装置からバス使用要求を受けるとバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有するバス制御装置とを有し、
前記優先値生成部は、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
バス使用装置に設定されたバスの優先度の基本値とカウンタの値とを加算してバス優先値を生成することを特徴とする。
【0014】
本発明の第6のバス調停方式は、バスに接続してデータを転送するバス使用装置と、バス使用装置のバス優先値を生成する優先値生成部をバス使用装置に対応して有するとともにそれぞれのバス使用装置からバス使用要求を受けるとバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有するバス制御装置とを有し、
前記優先値生成部は、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
カウンタの値とバス使用装置に設定されたバスの優先度の基本値とを加算し、カウンタの値がバス使用装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とする。
【0015】
本発明の第7のバス調停方式は、バスに接続してデータを転送するバス使用装置と、バス使用装置のバス優先値を生成する優先値生成部をバス使用装置に対応して有するとともにそれぞれのバス使用装置からバス使用要求を受けるとバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有するバス制御装置とを有し、
前記優先値生成部は、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
カウンタの値とバス使用装置に設定されたバスの優先度の基本値とを加算し、カウンタの値がバス使用装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とする。
【0016】
本発明の第8のバス調停方式は、バスに接続してデータを転送するバス使用装置と、バス使用装置のバス優先値を生成する優先値生成部をバス使用装置に対応して有するとともにそれぞれのバス使用装置からバス使用要求を受けるとバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有するバス制御装置とを有し、
前記優先値生成部は、バス使用装置に設定されたバスの優先度の基本値を保持する基本値レジスタと、バス使用装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とする。
【0017】
本発明の第1のデータ転送装置は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置と有するデータ転送装置であって、
前記優先値生成部は、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
チャネル装置に設定されたバスの優先度の基本値とカウンタの値とを加算してバス優先値を生成することを特徴とする。
【0018】
本発明の第2のデータ転送装置は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置と有するデータ転送装置であって、
前記優先値生成部は、チャネル装置に設定されたバスの優先度の基本値を保持する基本値レジスタと、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、基本値レジスタの値とカウンタの値とを加算してバス優先値を生成する加算器とを有することを特徴とする。
【0019】
本発明の第3のデータ転送装置は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置と有するデータ転送装置であって、
前記優先値生成部は、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
カウンタの値とチャネル装置に設定されたバスの優先度の基本値とを加算し、カウンタの値がチャネル装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とする。
【0020】
本発明の第4のデータ転送装置は、バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置と有するデータ転送装置であって、
前記優先値生成部は、チャネル装置に設定されたバスの優先度の基本値を保持する基本値レジスタと、チャネル装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とする。
【0021】
本発明の第5のデータ転送装置は、バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するデータ転送装置であって、
前記優先値生成部は、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
チャネル装置に設定されたバスの優先度の基本値とカウンタの値とを加算してバス優先値を生成することを特徴とする。
【0022】
本発明の第6のデータ転送装置は、バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するデータ転送装置であって、
前記優先値生成部は、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
カウンタの値とチャネル装置に設定されたバスの優先度の基本値とを加算し、カウンタの値がチャネル装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とする。
【0023】
本発明の第7のデータ転送装置は、バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するデータ転送装置であって、
前記優先値生成部は、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタを有し、
カウンタの値とチャネル装置に設定されたバスの優先度の基本値とを加算し、カウンタの値がチャネル装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とする。
【0024】
本発明の第8のデータ転送装置は、バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するデータ転送装置であって、
前記優先値生成部は、チャネル装置に設定されたバスの優先度の基本値を保持する基本値レジスタと、チャネル装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とする。
【0025】
【発明の実施の形態】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1の実施の形態の構成を示したブロック図である。図1を参照すれば、本発明のバス調停方式又はデータ転送装置は、チャネル制御装置10と、複数のバス使用装置であるチャネル装置20(図では20−1〜20−3の3つを記載)とを有し、バスX30で接続されデータ転送を実行する。チャネル制御装置10は主記憶装置38とCPU39(中央処理装置)39と接続する。
【0026】
また、チャネル制御装置10と各チャネル装置20との間はそれぞれ制御信号X31、X33、X35にて接続され、制御信号X31、X33、X35はそれぞれチャネル装置20からチャネル制御装置10に対してバス使用要求を行うバス要求信号とチャネル制御装置10からチャネル装置20へバス要求に対してバス使用を許可する使用許可信号とを含んでいる。X32、X34、X36はそれぞれのチャネル装置20のバス優先度の重み値をチャネル制御装置10へ伝えるバス優先値信号である。
【0027】
チャネル制御装置10は、チャネル装置20と主記憶装置38或いはCPU39との間のデータ転送を実行するデータ転送部12と、バスX40の調停を制御する優先順位判定部11とを有する。優先順位制御部11は、複数のチャネル装置20からバス要求が競合した場合、バス優先値信号X32、X34、X36を比較して一番大きなバス優先値を持つチャネル装置20にバス使用許可を与え、バス使用許可信号で通知する。
【0028】
チャネル装置20はバスX30に複数接続し、図1ではチャネル装置20−1とチャネル装置20−2とチャネル装置20−3の3つが接続した場合を示しているが接続数を限定するものではない。各チャネル装置20はバス接続部27と優先値生成部26とを有し、優先値生成部26は基本値レジスタ21と、許容値レジスタ22と、カウンタ23と、比較器24と、加算器25とを有している。チャネル装置20の内部の説明についてチャネル装置20−1を代表として説明する。
【0029】
バス接続部27は、バスX30と接続してデータの送受信を行い、バスの使用権について信号X31により制御する。例えば、主記憶装置38からデータの読み出しを実行する場合は、まずバス使用要求信号をX31で送り、チャネル制御装置10にて調停が行われバスの使用権を獲得した場合はバス使用許可信号をX31で受けてバスX30に主記憶の読み出し要求とアドレスを送出し、主記憶装置38からの読み出しデータの到着を知らせる信号をX31で受けるとともにデータを受け取る。
【0030】
基本値レジスタ21は、チャネル装置20に与えられた優先順位を数値化した基本値を保持するレジスタであり、基本値は大きいほど優先される。また、基本値はチャネル装置20が制御する入出力装置や通信装置の特性に応じて決めるべきものであり、例えば、キーボードのような入力装置は優先順位を高くする必要はないし、磁気ディスク装置のように高速なアクセスが求められる装置は優先順位を高くする必要があり、通信装置は通信速度を満足する程度の優先順位が必要となるので、システム構成や運用条件により決めるべきものであるが、ここでは決め方については限定しない。
【0031】
許容値レジスタ22は、チャネル装置20のバス要求の待ち時間の許容値を保持するレジスタである。待ち時間の許容値はチャネル装置20の配下の装置の動作において動作を正常に実行するための処理時間に対してバス使用待ち時間の最大値或いは最大値に余裕を持たせた最大値に近い値である。従ってバス使用待ち時間が許容値以上となった場合は最優先にてバス使用許可を得る必要がある。
【0032】
カウンタ23は、バス使用要求信号の発行によって起動され一定時間毎にカウントアップするカウンタであり、バス使用許可信号を受信するとリセットされる。比較器24は、許容値レジスタ22とカウンタ23とを比較しカウンタ23の値が許容値レジスタ22の値以上となった場合加算器25に固定値(ここでは“100”とするが値を制限するものではない)を加算するよう指示する。
【0033】
加算器25は、基本値レジスタ21の値とカウンタ23の値とを加算し、さらに比較器24から指示があった場合固定値“100”を加算してバス優先値を作成し、バス優先値信号として信号線X32を介してチャネル制御装置10へ送る。
【0034】
次に、本発明の第1の実施の形態の動作について図面を参照して説明する。まず、図2のフローチャートを参照してチャネル装置20のバス優先値を生成する優先値生成部26の内部の動作について説明し、次に具体的な状態における動作を図3を参照して説明する。
【0035】
まず、チャネル装置20のバス接続部27が主記憶装置38或いはCPU39とのデータ転送のためにバス使用要求を信号線X31に出力すると(S81)、バス接続部27はカウンタ23に対してカウント動作の開始を指示する(S82)。カウンタ23はカウント有効の指示を受けると一定時間毎にカウンタ23の内容に“1”を加算する。なお、カウンタ23のカウント周期は各チャネル装置20で同じでもいいし異なるように設定してもよい。基本値と許容値との関係でより効率のよい設定をすることができる。
【0036】
バス使用許可信号を受信するまでの間は(S83)、カウンタ23の値が許容値レジスタ22の値以上となるかを比較器24が監視し(S84)、カウンタ23の値が許容値レジスタ22未満の場合は加算器25は基本値レジスタ21の値とカウンタ23の値を加算してバス優先値を生成する。カウンタ23の値が許容値レジスタ22の値と同じ又は大きくなると比較器24は加算器25へ指示し、加算器25は指示を受けると基本値レジスタ21の値とカウンタ23の値に加えてさらに固定値“100”を加算してバス優先値を生成する。
【0037】
チャネル制御装置10からバス使用許可信号を受信すると(S83)、バス接続部27はカウンタ23に対してリセットを指示する(S86)。カウンタ23はリセット指示を受けると内容を“0”にリセットし、カウント動作を停止する。これ以降新たなバス使用要求を発行するまでの間はカウンタ23は“0”のままである。このようにバス優先値が各チャネル装置20で生成され、各チャネル装置20からチャネル制御装置10のデータ転送部12へバス優先値信号として出力される。
【0038】
次に、バス調停の動作を具体的な状態について説明する。図3は(1)から(4)までの4つの具体的な状態における、チャネル装置20−1からチャネル装置20−3のそれぞれの状態を表で示している。チャネル装置20−1は基本値=“40”、許容値=“30”が設定され、チャネル装置20−2は基本値=“25”、許容値=“50”が設定され、チャネル装置20−3は基本値=“10”、許容値=“100”が設定されているものとする。
【0039】
まず図3(1)は、バス使用要求がどのチャネル装置20からも出力されていない状態を示したものである。この状態では各チャネル装置20のカウンタ23の値は“0”なのでバス優先値=基本値となっており、チャネル装置20−1がバス優先値=“40”で最も優先順位が高く、次いでバス優先値=“25”のチャネル装置20−2が優先順位が高く、バス優先値=“15”のチャネル装置20−3が一番低い優先順位となっている。
【0040】
従って、この状態で各チャネル装置20から同時にバス使用要求が出力されると、優先順位判定部11はバス優先値の一番大きいチャネル装置20−1にバス使用許可を与えるよう調停する。この場合、バス使用許可を獲得できなかったチャネル装置20−2とチャネル装置20−2とはバス使用許可が得られるまでそれぞれのカウンタ23のカウントを開始し、カウントに伴ってそれぞれのバス優先値が大きくなり待ち時間に応じてバス優先値が大きくなるので、時間の経過とともにバスを獲得しやすいようになっていく。
【0041】
次に、図3(2)はチャネル装置20−3がバス要求を出力した状態で待ち続けカウンタ23の値が“10”になった際に、チャネル装置20−1のバス使用要求と競合した状態を示している。この時、チャネル装置20−3のバス優先値は基本値“10”+カウンタ23の値“10”=“20”となっておりチャネル装置20−1のバス優先値“40”より小さいため、チャネル装置20−1にバス使用権が与えられる。このように、バスが込み合った場合は基本値の小さいチャネル装置20はバス使用権がなかなか獲得できない状態が続くことが起こりうる。図1ではチャネル装置20は3つのみ示しているが多くのチャネル装置20がバスX40に接続し基本値の大きいチャネルの数が多くなるとこの傾向は顕著となる。
【0042】
次に、図3(3)は図3(2)の状態からチャネル装置20−3がバス要求を出力した状態でさらに待ち続けカウンタ23の値が“40”になった際に、チャネル装置20−1のバス使用要求と競合した状態を示している。この場合はバス優先値はチャネル装置20−3の方が“50”となりチャネル装置20−1よい大きいのでチャネル装置20−3にバス使用権が与えられる。このように、チャネル装置20−3は基本値が小さくても待ち続けることによりバス優先値が加算されて大きくなり基本値の大きなチャネル装置20と競合してもバス使用権を獲得できるようになる。
【0043】
次に、図3(4)はチャネル装置20−2とチャネル装置20−3がともにバス使用権を獲得できずに待たされチャネル装置20−2のカウンタ23の値が許容値になった状態を示している。この場合、チャネル装置20−2とチャネル装置20−3の基本値とカウンタ23の値との和はそれぞれ“75”と“80”であり、このままではチャネル装置20−3の方が優先順位が高くなるが、チャネル装置20−2はすでにバス待ち時間の限界になっておりこれ以上待たされるとチャネル装置20−2の処理が正常に終わらない可能性が大きくなる。従って、チャネル装置20−2の優先順位を上げる必要があり、この機能を比較器24によって実行する。比較器24はカウンタ23の値=許容値を検出し加算器25に固定値“100”を加算するように指示するので、チャネル装置20−2のバス優先値は“175”となりバスの使用権を獲得できる。
【0044】
以上説明したように、本発明第1の実施の形態の構成では、各チャネル装置20の特性に応じて基本値を割り振ったのでバスの調停を効率よく実行でき、基本値の低いチャネル装置20は待ち時間に応じて優先度を上げるようにしたので待ち時間に応じてバスを獲得できるようになり、さらにバスの待ち時間の許容値を設定し待ち時間すなわちカウンタ23の値が許容値に達すると優先度を大幅に上げて優先的にバスの使用権を与えるようにしたので優先度の低いチャネル装置20でもオーバーランやアンダーランを起こしにくくすることができる。
【0045】
次に、本発明の第2の実施の形態について図面を参照して説明する。図4は本発明の第2の実施の形態のバス調停方式又はデータ転送装置の構成を示す図である。第1の実施の形態では各チャネル装置20にて優先値生成部26を有していたのに対して、第2の実施の形態は優先値生成部26をチャネル制御装置10内に設けて、各チャネル装置20とチャネル制御装置10間の信号線数を減らした点に特徴がある。
【0046】
図4を参照すると、本発明の第2の実施の形態のバス調停方式又はデータ転送装置の構成は、チャネル制御装置40とチャネル装置50−1、チャネル装置50−2とチャネル装置50−3とを有し、これらをバスX70で接続する。また、チャネル制御装置40は、第1の実施の形態のチャネル制御装置10と同様に主記憶装置38,CPU39と接続し、各チャネル装置50と主記憶装置38又はCPU39との間のデータ転送を制御する。
【0047】
チャネル装置50は図4では3つ示しているが接続数は特に限定しない。チャネル装置50はバス接続部57と、チャネル装置50に設定された基本値を保持する元基本値レジスタ51と、チャネル装置50に設定された許容値保持する元許容値レジスタ52とを有し、バス接続部57は図1のバス接続部27に対応し、バス接続部27の機能に加えてチャネル制御装置40からに要求に応じて元基本値レジスタ51と元許容値レジスタ52の値を読み出して返送する機能を含んでいる。なお、元基本値レジスタ51と元許容値レジスタ52はチャネル装置50のメモリ手段等に設けてもよい。
【0048】
チャネル制御装置40は優先順位判定部41と、データ転送部42と、優先値生成部43−1と、優先値生成部43−2と、優先値生成部43−3と、初期設定部46を有している。優先値生成部43、優先値生成部43−2、優先値生成部43−3はそれぞれチャネル装置50−1、チャネル装置50−2、チャネル装置50−3に対応したバス優先値を生成し、内部の構成は図1の優先値生成部26と同じであり図1の各構成要素と同じ番号を付けているので説明は省略する。ただし、基本値レジスタ21と許容値レジスタ22は初期設定部46に従って値がセットされる。
【0049】
優先順位判定部41とデータ転送部42とはそれぞれ図1の優先順位判定部11とデータ転送部12に対応し同じ機能を有する。ただし、データ転送部42はバスX70から読み出したデータ(基本値と許容値)を優先値生成部43、優先値生成部43−2、優先値生成部43−3に供給する機能を有する。
【0050】
初期設定部46はシステムの初期化時又はチャネル装置50のシステム組み込みの際にチャネル装置50の元基本値レジスタ51と元許容値レジスタ52からそれぞれ基本値と許容値とをデータ転送部42とバスX70とバス接続部57を介して読み出し、読み出した値をそれぞれ基本値レジスタ21と許容値レジスタ22へ設定する。
【0051】
図4の構成では、図1の各チャネル装置20の優先値生成部26をチャネル制御装置40にまとめて実装しているので、バス優先値の信号線X32、X34、X36に相当する信号は不要となり、チャネル制御装置40と各チャネル装置50との間の信号線数が少なくなっている。信号線X71、X72、X73は図1の信号線X31、X33、X35に相当し、それぞれバス使用要求信号やバス使用許可信号を含んでいる。
【0052】
次に本発明の第2の実施の形態の動作について説明する。まず、図4に示すシステムの初期化の際に初期設定部46が動作し、バスX70に接続するチャネル装置50−1〜チャネル装置50−3に対してそれぞれの基本値と許容値とを読み出してそれぞれ対応する優先値生成部43−1〜優先値生成部43−3の基本値レジスタ21と許容値レジスタ22にセットする。なお、システム動作中にチャネル装置50を組み込む場合は、初期設定部46が同様に動作して組み込まれるチャネル装置50の基本値と許容値とをセットする。
【0053】
この後の優先値生成部43の動作は図2に示すフローチャートのように動作し、優先順位判定部41はチャネル装置50からのバス使用要求が競合した場合は、対応する優先値生成部43の優先値を比較して一番値の大きなチャネル装置50へバス使用許可信号を通知しバスの使用権を与える。このように初期化の処理を除くとバスの調停動作や優先値の生成の動作は第1の実施の形態と同様に動作するので詳細な説明は省略する。
【0054】
このように、第2の実施の形態の構成では第1の実施の形態と同様に優先度の低いチャネル装置でもオーバーランを抑えた効率のよい調停を可能とするとともに、優先値生成部43をチャネル制御装置40に集中して実装したので各チャネル装置50とチャネル制御装置40との間の信号線数を減らし遅延時間の少ない調停を可能とする。なお、図4ではチャネル装置50を3つ接続する構成を示したが、接続するチャネル装置50の数の最大値に応じて優先値生成部43をチャネル制御装置40に実装することにより論理的には多数のチャネル装置50に対応することが可能である。
【0055】
これに対して第1の実施例の構成では優先値生成部26を各チャネル装置20に実装しているので、第2の実施の形態のようにチャネル装置50の接続数に関わらず最大接続数の優先値生成部43を実装する必要が無く無駄な回路が省けるという特徴がある。従ってシステムの構成の特性に応じていずれかを選択することができる。
【0056】
以上第1又は第2の実施の形態の説明では、複数のチャネル装置間でバス使用要求が競合した場合に、優先値が等しくなった場合の動作について説明を省略したが、第1の実施の形態の場合は例えばチャネル装置の番号のように予め決められた情報に基づいて決める方法があり、第2の実施の形態ではさらに基本値の大きさによって決める方法もある。さらに、優先値が一致した場合にラウンドロビンのような方法を適用する方法もあるが特に制限しない。
【0057】
【発明の効果】
優先度の低いチャネル装置のオーバーランやアンダーランの発生を防止し、バス使用を効率的にした効率のよいバス調停を可能とする効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示す図である。
【図2】本発明の第1の実施の形態の動作を示すフローチャートである。
【図3】本発明の第1の実施の形態の競合状態の例を示す表である。
【図4】本発明の第2の実施の形態の構成を示す図である。
【符号の説明】
10 チャネル制御装置
11 優先順位判定部
12 データ転送部
20 チャネル装置
21 基本値レジスタ
22 許容値レジスタ
23 カウンタ
24 比較器
25 加算器
26 優先値生成部
27 バス接続部
38 主記憶装置
39 CPU
40 チャネル制御装置
41 優先順位判定部
42 データ転送部
43 優先値生成部
51 元基本値レジスタ
52 元許容値レジスタ
57 バス接続部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a bus arbitration method and a data transfer device, and more particularly, to a technique for efficiently arbitrating a bus by giving a specific value related to priority according to the characteristics of each device connected to the bus.
[0002]
[Prior art]
Conventionally, in arbitration of a bus mounted on a data transfer device including an information processing device and a communication control device from a large information processing device to a portable information processing device, a bus using device that uses the bus subject to arbitration When the bus requests of the channel devices (for example, channel devices) compete, the bus using device that permits the use of the bus is determined according to a predetermined criterion.
[0003]
A method of dynamically changing the priority of the bus according to the acquisition result of the bus so that a specific bus using device is not advantageous like the round robin method so that each bus using device can acquire the bus on average, There is known a method for giving priority to each bus using device when the bus using device has different processing time required for each bus such as a channel device for controlling different input / output devices and communication devices. ing.
[0004]
For example, in Japanese Patent Application Laid-Open No. 11-65993, priorities are assigned to each bus using device, and when bus requests of a plurality of bus using devices compete, a bus using device that gives permission to use the bus is determined according to this priority. However, this publication relates to arbitration between processors having the same characteristics, such as I / O devices and channel devices having different characteristics and conditions, such as restrictions on bus use time and waiting time. There is no arbitration for each device considering its characteristics.
[0005]
[Patent Document 1]
JP-A-11-65993
[0006]
[Problems to be solved by the invention]
As described above, in the conventional bus arbitration technology, the bus arbitration is not performed in consideration of the conditions based on the characteristics and operation contents of the bus using device. Mediation was not performed. In particular, it is efficient for buses configured with different bus use devices such as operating speed, bus use time, waiting time conditions, etc. according to the use of the input / output device, such as a bus use device that controls the input / output device. There was no mediation technology.
[0007]
For example, if the priority is fixed, a low-priority bus using device tends to cause overruns and underruns by exceeding the waiting time. If the priorities are uniform, a bus that requires high-speed data transfer There is a problem in that if the bus using device having a long bus use time continuously uses the bus, the use of the device waits for a long time to use the bus and the performance of the entire system deteriorates.
[0008]
An object of the present invention is to provide a bus arbitration method and a data transfer device that can prevent overrun and underrun of a channel device having a low priority and can efficiently use the bus.
[0009]
[Means for Solving the Problems]
The first bus arbitration method of the present invention includes a bus use device having a priority value generation unit that connects to a bus to transfer data and generates a bus priority value, and a bus use request and a bus from each bus use device. A priority determination unit that receives the priority value and gives the bus use permission to the bus using device having the largest bus priority value,
The priority value generation unit has a counter that counts up at a constant period from when the bus use device issues a bus use request until it receives permission to use the bus,
The bus priority value is generated by adding the basic value of the priority of the bus set to the bus using device and the value of the counter.
[0010]
According to a second bus arbitration system of the present invention, a bus use device having a priority value generation unit that connects to a bus to transfer data and generates a bus priority value, and a bus use request and a bus from each bus use device. A priority determination unit that receives the priority value and gives the bus use permission to the bus using device having the largest bus priority value,
The priority value generation unit includes a basic value register that holds a basic value of a priority of a bus set in a bus using device, and a period from when the bus using device issues a bus use request until a bus use permission is received. The counter includes a counter that counts up at a constant period, and an adder that generates a bus priority value by adding the value of the basic value register and the value of the counter.
[0011]
The third bus arbitration system of the present invention includes a bus use device having a priority value generating unit that connects to a bus to transfer data and generates a bus priority value, and a bus use request and a bus from each bus use device. A priority determination unit that receives the priority value and gives the bus use permission to the bus using device having the largest bus priority value,
The priority value generation unit has a counter that counts up at a constant period from when the bus use device issues a bus use request until it receives permission to use the bus,
The counter value and the basic value of the bus priority set for the bus using device are added. If the counter value exceeds the allowable bus waiting time set for the bus using device, the addition result is further fixed. The bus priority value is generated by adding the values.
[0012]
According to a fourth bus arbitration system of the present invention, a bus using device having a priority value generating unit that transfers data by connecting to a bus and generates a bus priority value, and a bus use request and a bus from each bus using device. A priority determination unit that receives the priority value and gives the bus use permission to the bus using device having the largest bus priority value,
The priority value generation unit includes a basic value register that holds a basic value of a bus priority set in a bus using device, and an allowable value register that holds an allowable value of a bus waiting time set in the bus using device. A counter that counts up in a certain period from when the bus using device issues a bus use request until it receives the bus use permission, and when the counter value exceeds the value in the allowable value register, instructs to add a fixed value It has a comparator, and an adder for adding a fixed value when there is an instruction to add a fixed value and a value in a basic value register and a counter, and generating a bus priority value.
[0013]
The fifth bus arbitration system of the present invention has a bus use device that transfers data by connecting to a bus, and a priority value generation unit that generates a bus priority value of the bus use device corresponding to the bus use device, respectively. A bus control device having a priority determination unit that gives a bus use permission to a bus use device having a maximum bus priority value when a bus use request is received from the bus use device of
The priority value generation unit has a counter that counts up at a constant period from when the bus use device issues a bus use request until it receives permission to use the bus,
The bus priority value is generated by adding the basic value of the priority of the bus set to the bus using device and the value of the counter.
[0014]
The sixth bus arbitration system of the present invention has a bus use device that connects to the bus and transfers data, and a priority value generation unit that generates a bus priority value of the bus use device corresponding to the bus use device, respectively. A bus control device having a priority determination unit that gives a bus use permission to a bus use device having a maximum bus priority value when a bus use request is received from the bus use device of
The priority value generation unit has a counter that counts up at a constant period from when the bus use device issues a bus use request until it receives permission to use the bus,
The counter value and the basic value of the bus priority set for the bus using device are added. If the counter value exceeds the allowable bus waiting time set for the bus using device, the addition result is further fixed. The bus priority value is generated by adding the values.
[0015]
The seventh bus arbitration system of the present invention has a bus using device that transfers data by connecting to the bus, and a priority value generating unit that generates a bus priority value of the bus using device corresponding to the bus using device, respectively. A bus control device having a priority determination unit that gives a bus use permission to a bus use device having a maximum bus priority value when a bus use request is received from the bus use device of
The priority value generation unit has a counter that counts up at a constant period from when the bus use device issues a bus use request until it receives permission to use the bus,
The counter value and the basic value of the bus priority set for the bus using device are added. If the counter value exceeds the allowable bus waiting time set for the bus using device, the addition result is further fixed. The bus priority value is generated by adding the values.
[0016]
The eighth bus arbitration system of the present invention has a bus using device that transfers data by connecting to a bus, and a priority value generating unit that generates a bus priority value of the bus using device corresponding to the bus using device, respectively. A bus control device having a priority determination unit that gives a bus use permission to a bus use device having a maximum bus priority value when a bus use request is received from the bus use device of
The priority value generation unit includes a basic value register that holds a basic value of a bus priority set in a bus using device, and an allowable value register that holds an allowable value of a bus waiting time set in the bus using device. A counter that counts up in a certain period from when the bus using device issues a bus use request until it receives the bus use permission, and when the counter value exceeds the value in the allowable value register, instructs to add a fixed value It has a comparator, and an adder for adding a fixed value when there is an instruction to add a fixed value and a value in a basic value register and a counter, and generating a bus priority value.
[0017]
A first data transfer device according to the present invention includes a channel device having a priority value generation unit for transferring data while being connected to a bus and generating a bus priority value, a bus use request and a bus priority value from each channel device. Control device for controlling data transfer between a channel device and a main storage device for storing programs and data, having a priority determination unit for giving permission to use the bus to the channel device having the largest bus priority value A data transfer device having
The priority value generation unit has a counter that counts up at a constant period from when the channel device issues a bus use request until receiving a bus use permission,
The bus priority value is generated by adding the basic value of the priority of the bus set in the channel device and the value of the counter.
[0018]
A second data transfer device according to the present invention includes a channel device having a priority value generation unit for transferring data while being connected to a bus and generating a bus priority value, a bus use request and a bus priority value from each channel device. Control device for controlling data transfer between a channel device and a main storage device for storing programs and data, having a priority determination unit for giving permission to use the bus to the channel device having the largest bus priority value A data transfer device having
The priority value generation unit includes a basic value register that holds a basic value of a priority of a bus set in a channel device, and a fixed period from when the channel device issues a bus use request until the bus use is permitted. And a counter that counts up in (1) and an adder that adds the value of the basic value register and the value of the counter to generate a bus priority value.
[0019]
A third data transfer device according to the present invention includes a channel device having a priority value generation unit that transfers data by connecting to a bus and generates a bus priority value, and a bus use request and a bus priority value from each channel device. Control device for controlling data transfer between a channel device and a main storage device for storing programs and data, having a priority determination unit for giving permission to use the bus to the channel device having the largest bus priority value A data transfer device having
The priority value generation unit has a counter that counts up at a constant period from when the channel device issues a bus use request until receiving a bus use permission,
The counter value and the basic priority value of the bus priority set in the channel device are added. When the counter value exceeds the allowable value of the bus waiting time set in the channel device, a fixed value is further added to the addition result. A bus priority value is generated by addition.
[0020]
A fourth data transfer device according to the present invention includes a channel device having a priority value generation unit for transferring data while being connected to a bus and generating a bus priority value, a bus use request and a bus priority value from each channel device. Control device for controlling data transfer between a channel device and a main storage device for storing programs and data, having a priority determination unit for giving permission to use the bus to the channel device having the largest bus priority value A data transfer device having
The priority value generation unit includes a basic value register that holds a basic value of a priority of a bus set in a channel device, an allowable value register that holds an allowable value of a bus waiting time set in the channel device, and a channel A counter that counts up in a certain period from when the device issues a bus use request until it receives a bus use permission, and a comparator that gives an instruction to add a fixed value when the counter value exceeds the value in the tolerance register And an adder for adding a fixed value and generating a bus priority value when there is an instruction to add a fixed value and a value of a basic value register and a counter.
[0021]
A fifth data transfer device according to the present invention has a channel device connected to a bus for transferring data, and a priority value generation unit for generating a bus priority value of the channel device corresponding to the channel device, and each channel device. Controls data transfer between a channel device and a main storage device that stores programs and data, having a priority determination unit that grants bus use permission to the channel device with the largest bus priority value when a bus use request is received from A data transfer device having a channel control device,
The priority value generation unit has a counter that counts up at a constant period from when the channel device issues a bus use request until receiving a bus use permission,
The bus priority value is generated by adding the basic value of the priority of the bus set in the channel device and the value of the counter.
[0022]
According to a sixth data transfer device of the present invention, each channel device has a channel device connected to the bus for transferring data, and a priority value generating unit for generating a bus priority value of the channel device corresponding to the channel device. Controls data transfer between a channel device and a main storage device that stores programs and data, having a priority determination unit that grants bus use permission to the channel device with the largest bus priority value when a bus use request is received from A data transfer device having a channel control device,
The priority value generation unit has a counter that counts up at a constant period from when the channel device issues a bus use request until receiving a bus use permission,
The counter value and the basic priority value of the bus priority set in the channel device are added. When the counter value exceeds the allowable value of the bus waiting time set in the channel device, a fixed value is further added to the addition result. A bus priority value is generated by addition.
[0023]
According to a seventh data transfer device of the present invention, each channel device has a channel device connected to the bus for transferring data, and a priority value generation unit for generating a bus priority value of the channel device corresponding to the channel device. Controls data transfer between a channel device and a main storage device that stores programs and data, having a priority determination unit that grants bus use permission to the channel device with the largest bus priority value when a bus use request is received from A data transfer device having a channel control device,
The priority value generation unit has a counter that counts up at a constant period from when the channel device issues a bus use request until receiving a bus use permission,
The counter value and the basic priority value of the bus priority set in the channel device are added. When the counter value exceeds the allowable value of the bus waiting time set in the channel device, a fixed value is further added to the addition result. A bus priority value is generated by addition.
[0024]
An eighth data transfer device according to the present invention has a channel device connected to a bus for transferring data, and a priority value generation unit for generating a bus priority value of the channel device corresponding to the channel device, and each channel device. Controls data transfer between a channel device and a main storage device that stores programs and data, having a priority determination unit that grants bus use permission to the channel device with the largest bus priority value when a bus use request is received from A data transfer device having a channel control device,
The priority value generation unit includes a basic value register that holds a basic value of a priority of a bus set in a channel device, an allowable value register that holds an allowable value of a bus waiting time set in the channel device, and a channel A counter that counts up in a certain period from when the device issues a bus use request until it receives a bus use permission, and a comparator that gives an instruction to add a fixed value when the counter value exceeds the value in the tolerance register And an adder for adding a fixed value and generating a bus priority value when there is an instruction to add a fixed value and a value of a basic value register and a counter.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the first embodiment of the present invention. Referring to FIG. 1, the bus arbitration method or data transfer device of the present invention includes a channel control device 10 and a channel device 20 (20-1 to 20-3 in the figure) as a plurality of bus using devices. ) And is connected via the bus X30 to execute data transfer. The channel control device 10 is connected to a main storage device 38 and a CPU 39 (central processing unit) 39.
[0026]
In addition, the channel control device 10 and each channel device 20 are connected by control signals X31, X33, and X35, respectively, and the control signals X31, X33, and X35 use the bus from the channel device 20 to the channel control device 10, respectively. It includes a bus request signal for making a request and a use permission signal for permitting use of the bus in response to the bus request from the channel control device 10 to the channel device 20. X 32, X 34, and X 36 are bus priority value signals that transmit the bus priority weight value of each channel device 20 to the channel control device 10.
[0027]
The channel control device 10 includes a data transfer unit 12 that executes data transfer between the channel device 20 and the main storage device 38 or the CPU 39, and a priority determination unit 11 that controls arbitration of the bus X40. The priority control unit 11 compares the bus priority value signals X32, X34, and X36 and gives a bus use permission to the channel device 20 having the largest bus priority value when bus requests compete from a plurality of channel devices 20. This is notified by a bus use permission signal.
[0028]
A plurality of channel devices 20 are connected to the bus X30, and FIG. 1 shows a case where three channel devices 20-1, 20-2, and 20-3 are connected, but the number of connections is not limited. . Each channel device 20 includes a bus connection unit 27 and a priority value generation unit 26. The priority value generation unit 26 includes a basic value register 21, an allowable value register 22, a counter 23, a comparator 24, and an adder 25. And have. The internal description of the channel device 20 will be described with the channel device 20-1 as a representative.
[0029]
The bus connection unit 27 is connected to the bus X30 to transmit and receive data, and controls the right to use the bus with a signal X31. For example, when reading data from the main storage device 38, a bus use request signal is first sent by X31, and when arbitration is performed by the channel control device 10 to acquire the bus use right, a bus use permission signal is sent. The main memory read request and address are transmitted to the bus X30 in response to X31, and a signal notifying the arrival of read data from the main storage device 38 is received and data is received in X31.
[0030]
The basic value register 21 is a register that holds a basic value obtained by quantifying the priority given to the channel device 20, and a higher basic value gives priority. The basic value should be determined according to the characteristics of the input / output device and communication device controlled by the channel device 20. For example, an input device such as a keyboard does not need to have a higher priority. Thus, a device that requires high-speed access needs to have a higher priority, and a communication device needs a priority that satisfies the communication speed, so it should be determined by the system configuration and operating conditions. Here, how to decide is not limited.
[0031]
The allowable value register 22 is a register that holds an allowable value of the waiting time of the bus request of the channel device 20. The allowable value of the waiting time is a value close to the maximum value of the bus use waiting time or the maximum value with a margin for the processing time for normally executing the operation of the devices under the channel device 20. It is. Therefore, when the bus use waiting time exceeds the allowable value, it is necessary to obtain the bus use permission with the highest priority.
[0032]
The counter 23 is a counter that is activated by issuing a bus use request signal and counts up every predetermined time, and is reset when a bus use permission signal is received. The comparator 24 compares the allowable value register 22 and the counter 23. When the value of the counter 23 is equal to or larger than the value of the allowable value register 22, the comparator 24 sets a fixed value (here, “100”, but limits the value). To add).
[0033]
The adder 25 adds the value of the basic value register 21 and the value of the counter 23, and further adds a fixed value “100” when instructed by the comparator 24 to create a bus priority value. The signal is sent to the channel controller 10 via the signal line X32.
[0034]
Next, the operation of the first exemplary embodiment of the present invention will be described with reference to the drawings. First, the internal operation of the priority value generation unit 26 that generates the bus priority value of the channel device 20 will be described with reference to the flowchart of FIG. 2, and then the operation in a specific state will be described with reference to FIG. .
[0035]
First, when the bus connection unit 27 of the channel device 20 outputs a bus use request to the signal line X31 for data transfer with the main storage device 38 or the CPU 39 (S81), the bus connection unit 27 counts the counter 23. Is started (S82). When the counter 23 receives the count valid instruction, it adds “1” to the contents of the counter 23 at regular intervals. Note that the count cycle of the counter 23 may be the same or different for each channel device 20. A more efficient setting can be made based on the relationship between the basic value and the allowable value.
[0036]
Until the bus use permission signal is received (S83), the comparator 24 monitors whether the value of the counter 23 is equal to or larger than the value of the allowable value register 22 (S84), and the value of the counter 23 is the allowable value register 22 If it is less than the value, the adder 25 adds the value of the basic value register 21 and the value of the counter 23 to generate a bus priority value. When the value of the counter 23 is the same as or larger than the value of the allowable value register 22, the comparator 24 instructs the adder 25, and when the adder 25 receives the instruction, in addition to the value of the basic value register 21 and the value of the counter 23, A fixed value “100” is added to generate a bus priority value.
[0037]
When a bus use permission signal is received from the channel controller 10 (S83), the bus connection unit 27 instructs the counter 23 to reset (S86). Upon receiving a reset instruction, the counter 23 resets the content to “0” and stops the counting operation. After that, the counter 23 remains “0” until a new bus use request is issued. In this way, the bus priority value is generated in each channel device 20 and is output from each channel device 20 to the data transfer unit 12 of the channel control device 10 as a bus priority value signal.
[0038]
Next, a specific state of the bus arbitration operation will be described. FIG. 3 is a table showing the states of the channel devices 20-1 to 20-3 in four specific states (1) to (4). The channel device 20-1 is set with the basic value = “40” and the allowable value = “30”, and the channel device 20-2 is set with the basic value = “25” and the allowable value = “50”. 3, the basic value = “10” and the allowable value = “100” are set.
[0039]
First, FIG. 3 (1) shows a state in which a bus use request is not output from any channel device 20. In this state, the value of the counter 23 of each channel device 20 is “0”, so that the bus priority value = basic value, the channel device 20-1 has the highest priority when the bus priority value = “40”, and then the bus The channel device 20-2 with the priority value = “25” has the highest priority, and the channel device 20-3 with the bus priority value = “15” has the lowest priority.
[0040]
Accordingly, when a bus use request is simultaneously output from each channel device 20 in this state, the priority determination unit 11 arbitrates to give the bus use permission to the channel device 20-1 having the largest bus priority value. In this case, the channel device 20-2 and the channel device 20-2 that have not acquired the bus use permission start counting of the respective counters 23 until the bus use permission is obtained, and the respective bus priority values according to the count. Since the bus priority value increases in accordance with the waiting time, it becomes easier to acquire the bus with the passage of time.
[0041]
Next, FIG. 3 (2) shows that the channel device 20-3 has competed with the bus use request of the channel device 20-1 when the value of the counter 23 continues to be "10" while outputting the bus request. Indicates the state. At this time, the bus priority value of the channel device 20-3 is the basic value “10” + the value of the counter 23 “10” = “20”, which is smaller than the bus priority value “40” of the channel device 20-1. The right to use the bus is given to the channel device 20-1. As described above, when the bus is crowded, it may happen that the channel device 20 having a small basic value cannot easily acquire the right to use the bus. Although only three channel devices 20 are shown in FIG. 1, this tendency becomes more prominent when many channel devices 20 are connected to the bus X40 and the number of channels having a large basic value increases.
[0042]
Next, FIG. 3 (3) shows the channel device 20 when the channel device 20-3 outputs a bus request from the state of FIG. 3 (2) and continues to wait for the value of the counter 23 to be “40”. This shows a state in which the bus use request of -1 conflicts. In this case, the bus priority value is “50” for the channel device 20-3, which is larger than the channel device 20-1, so that the right to use the bus is given to the channel device 20-3. As described above, the channel device 20-3 continues to wait even if the basic value is small, so that the bus priority value is added to increase the channel device 20-3, and the bus use right can be acquired even if the channel device 20-3 competes with the channel device 20 having a large basic value. .
[0043]
Next, FIG. 3 (4) shows a state in which both the channel device 20-2 and the channel device 20-3 have waited without acquiring the right to use the bus, and the value of the counter 23 of the channel device 20-2 becomes an allowable value. Show. In this case, the sum of the basic value of the channel device 20-2 and the channel device 20-3 and the value of the counter 23 is “75” and “80”, respectively, and the channel device 20-3 has a higher priority as it is. Although the channel device 20-2 has already reached the limit of the bus waiting time, the possibility that the processing of the channel device 20-2 does not end normally increases when the channel device 20-2 has waited longer. Therefore, it is necessary to raise the priority of the channel device 20-2, and this function is executed by the comparator 24. Since the comparator 24 detects the value of the counter 23 = allowable value and instructs the adder 25 to add the fixed value “100”, the bus priority value of the channel device 20-2 is “175” and the right to use the bus. Can be earned.
[0044]
As described above, in the configuration of the first embodiment of the present invention, the basic value is allocated according to the characteristics of each channel device 20, so that bus arbitration can be performed efficiently. Since the priority is increased according to the waiting time, it becomes possible to acquire the bus according to the waiting time, and when the allowable value of the waiting time of the bus is set and the waiting time, that is, the value of the counter 23 reaches the allowable value. Since the priority is greatly raised and the right to use the bus is given preferentially, even the channel device 20 with a low priority can be made unlikely to cause overrun or underrun.
[0045]
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 4 is a diagram showing the configuration of the bus arbitration system or data transfer apparatus according to the second embodiment of the present invention. In the first embodiment, each channel device 20 has the priority value generation unit 26, whereas in the second embodiment, the priority value generation unit 26 is provided in the channel control device 10, It is characterized in that the number of signal lines between each channel device 20 and the channel control device 10 is reduced.
[0046]
Referring to FIG. 4, the bus arbitration method or the data transfer device according to the second embodiment of the present invention includes a channel control device 40, a channel device 50-1, a channel device 50-2, and a channel device 50-3. Are connected by a bus X70. Further, the channel control device 40 is connected to the main storage device 38 and the CPU 39 in the same manner as the channel control device 10 of the first embodiment, and transfers data between each channel device 50 and the main storage device 38 or the CPU 39. Control.
[0047]
Although three channel devices 50 are shown in FIG. 4, the number of connections is not particularly limited. The channel device 50 includes a bus connection unit 57, an original basic value register 51 that holds a basic value set in the channel device 50, and an original allowable value register 52 that holds an allowable value set in the channel device 50. The bus connection unit 57 corresponds to the bus connection unit 27 of FIG. 1 and reads the values of the original basic value register 51 and the original allowable value register 52 from the channel controller 40 in response to a request in addition to the function of the bus connection unit 27. It includes a function to send back. The original basic value register 51 and the original allowable value register 52 may be provided in the memory means of the channel device 50 or the like.
[0048]
The channel control device 40 includes a priority order determination unit 41, a data transfer unit 42, a priority value generation unit 43-1, a priority value generation unit 43-2, a priority value generation unit 43-3, and an initial setting unit 46. Have. The priority value generation unit 43, the priority value generation unit 43-2, and the priority value generation unit 43-3 generate bus priority values corresponding to the channel device 50-1, the channel device 50-2, and the channel device 50-3, respectively. The internal configuration is the same as that of the priority value generation unit 26 of FIG. 1 and the same reference numerals as those of the components of FIG. However, the basic value register 21 and the allowable value register 22 are set according to the initial setting unit 46.
[0049]
The priority determination unit 41 and the data transfer unit 42 correspond to the priority determination unit 11 and the data transfer unit 12 of FIG. However, the data transfer unit 42 has a function of supplying data (basic value and allowable value) read from the bus X70 to the priority value generation unit 43, the priority value generation unit 43-2, and the priority value generation unit 43-3.
[0050]
The initial setting unit 46 initializes the basic value and the allowable value from the original basic value register 51 and the original allowable value register 52 of the channel device 50 when the system is initialized or when the channel device 50 is incorporated into the system. The data is read via X70 and the bus connection unit 57, and the read values are set in the basic value register 21 and the allowable value register 22, respectively.
[0051]
In the configuration of FIG. 4, the priority value generation unit 26 of each channel device 20 of FIG. 1 is collectively mounted on the channel control device 40, so that signals corresponding to the bus priority value signal lines X32, X34, and X36 are unnecessary. Thus, the number of signal lines between the channel control device 40 and each channel device 50 is reduced. The signal lines X71, X72, and X73 correspond to the signal lines X31, X33, and X35 in FIG. 1, and each include a bus use request signal and a bus use permission signal.
[0052]
Next, the operation of the second exemplary embodiment of the present invention will be described. First, when the system shown in FIG. 4 is initialized, the initial setting unit 46 operates to read out the respective basic values and allowable values to the channel devices 50-1 to 50-3 connected to the bus X70. Are set in the basic value register 21 and the allowable value register 22 of the corresponding priority value generation unit 43-1 to priority value generation unit 43-3. When the channel device 50 is incorporated during system operation, the initial setting unit 46 operates in the same manner to set the basic value and the allowable value of the channel device 50 to be incorporated.
[0053]
The subsequent operation of the priority value generation unit 43 operates as shown in the flowchart of FIG. 2, and the priority order determination unit 41 determines that the priority value generation unit 43 of the corresponding priority value generation unit 43 responds when a bus use request from the channel device 50 conflicts. The priority values are compared, a bus use permission signal is notified to the channel device 50 having the largest value, and the right to use the bus is given. As described above, except for the initialization process, the bus arbitration operation and the priority value generation operation are performed in the same manner as in the first embodiment, and thus detailed description thereof is omitted.
[0054]
As described above, the configuration of the second embodiment enables efficient arbitration while suppressing overrun even in a channel device having a low priority as in the first embodiment, and the priority value generation unit 43 Since the mounting is concentrated on the channel control device 40, the number of signal lines between each channel device 50 and the channel control device 40 is reduced, thereby enabling arbitration with a short delay time. Although FIG. 4 shows a configuration in which three channel devices 50 are connected, the priority value generation unit 43 is logically implemented in the channel control device 40 according to the maximum number of channel devices 50 to be connected. Can correspond to a number of channel devices 50.
[0055]
On the other hand, in the configuration of the first example, the priority value generation unit 26 is mounted in each channel device 20, so that the maximum number of connections regardless of the number of connections of the channel device 50 as in the second embodiment. There is a feature that it is not necessary to mount the priority value generation unit 43 and a useless circuit can be omitted. Therefore, either can be selected according to the characteristics of the system configuration.
[0056]
In the above description of the first or second embodiment, the description of the operation when the priority values are equal when a bus use request conflicts between a plurality of channel devices is omitted. In the case of the form, for example, there is a method of determining based on information determined in advance such as a channel device number. In the second embodiment, there is also a method of determining based on the size of the basic value. Furthermore, there is a method of applying a method such as round robin when the priority values match, but there is no particular limitation.
[0057]
【The invention's effect】
This has the effect of preventing the occurrence of overrun and underrun of a channel device having a low priority, and enabling efficient bus arbitration with efficient use of the bus.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a flowchart showing the operation of the first exemplary embodiment of the present invention.
FIG. 3 is a table showing an example of a race condition according to the first embodiment of this invention.
FIG. 4 is a diagram showing a configuration of a second exemplary embodiment of the present invention.
[Explanation of symbols]
10 channel controller
11 Priority order determination unit
12 Data transfer unit
20 channel equipment
21 Basic value register
22 Tolerance register
23 Counter
24 comparator
25 Adder
26 Priority value generator
27 Bus connection
38 Main memory
39 CPU
40 channel controller
41 Priority order determination unit
42 Data transfer unit
43 Priority value generator
51 yuan basic value register
52 original tolerance register
57 Bus connection

Claims (11)

バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有し、
前記優先値生成部は、バス使用装置毎に設定されたバスの優先度の基本値とバス使用装置に設定されたバスの待ち時間の許容値と予め決められた固定値とを記憶する手段と、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、バス優先値を生成する加算器と、比較器とを有し、
カウンタの値と基本値とを前記加算器で加算し、カウンタの値が許容値以上であることを前記比較器で検出すると、さらに固定値を前記加算器で加算してバス優先値を生成することを特徴とするバス調停方式。
A bus use device having a priority value generation unit for transferring data while connecting to a bus and generating a bus priority value, and receiving a bus use request and a bus priority value from each bus use device, the bus priority value is maximum. A priority determination unit that gives permission to use the bus to the bus use device of
The priority value generation unit stores a basic value of the bus priority set for each bus using device, an allowable value of the bus waiting time set for the bus using device, and a predetermined fixed value; A counter that counts up in a certain period from when the bus use device issues a bus use request until it receives a bus use permission, an adder that generates a bus priority value, and a comparator ;
The values and basic values of the counter are added by the adder, when detected by the comparator that the value of the counter is allowable value or more, a further bus priority value by adding a fixed value by the adder A bus arbitration method characterized by generating.
バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有し、
前記優先値生成部は、バス使用装置毎に設定されたバスの優先度の基本値を保持する基本値レジスタと、バス使用装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とするバス調停方式。
A bus use device having a priority value generation unit for transferring data while connecting to a bus and generating a bus priority value, and receiving a bus use request and a bus priority value from each bus use device, the bus priority value is maximum. A priority determination unit that gives permission to use the bus to the bus use device of
The priority value generating unit includes a basic value register for holding a basic value of the priority of the bus that is set to the bus use instrumentation 置毎 allowable value with the allowable value of the bus that is set to a bus use device latency A register, a counter that counts up in a certain period from when the bus using device issues a bus use request until it receives the bus use permission, and instructions for adding a fixed value when the counter value exceeds the value in the tolerance register And a comparator for performing a bus priority value by adding the fixed value to the basic value register value, the counter value, and a fixed value when instructed to add the fixed value. Bus arbitration method.
バスに接続してデータを転送するバス使用装置と、バス使用装置のバス優先値を生成する優先値生成部をバス使用装置に対応して有するとともにそれぞれのバス使用装置からバス使用要求を受けるとバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有するバス制御装置とを有し、
前記優先値生成部は、バス使用装置毎に設定されたバスの優先度の基本値とバス使用装置に設定されたバスの待ち時間の許容値と予め決められた固定値とを記憶する手段と、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、バス優先値を生成する加算器と、比較器とを有し、
カウンタの値と基本値とを前記加算器で加算し、カウンタの値が許容値以上であることを前記比較器で検出すると、さらに固定値を前記加算器で加算してバス優先値を生成することを特徴とするバス調停方式。
Corresponding to the bus using device, a bus using device that connects to the bus and transfers data, and a priority value generating unit that generates a bus priority value of the bus using device, and receives a bus use request from each bus using device A bus control device having a priority determination unit that gives a bus use permission to a bus using device having a maximum bus priority value,
The priority value generation unit stores a basic value of the bus priority set for each bus using device, an allowable value of the bus waiting time set for the bus using device, and a predetermined fixed value; A counter that counts up in a certain period from when the bus use device issues a bus use request until it receives a bus use permission, an adder that generates a bus priority value, and a comparator ;
The values and basic values of the counter are added by the adder, when detected by the comparator that the value of the counter is allowable value or more, a further bus priority value by adding a fixed value by the adder A bus arbitration method characterized by generating.
バスに接続してデータを転送するバス使用装置と、バス使用装置のバス優先値を生成する優先値生成部をバス使用装置に対応して有するとともにそれぞれのバス使用装置からバス使用要求を受けるとバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有するバス制御装置とを有し、
前記優先値生成部は、バス使用装置毎に設定されたバスの優先度の基本値を保持する基本値レジスタと、バス使用装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とするバス調停方式。
Corresponding to the bus using device, a bus using device that connects to the bus and transfers data, and a priority value generating unit that generates a bus priority value of the bus using device, and receives a bus use request from each bus using device A bus control device having a priority determination unit that gives a bus use permission to a bus using device having a maximum bus priority value,
The priority value generating unit includes a basic value register for holding a basic value of the priority of the bus that is set to the bus use instrumentation 置毎 allowable value with the allowable value of the bus that is set to a bus use device latency A register, a counter that counts up in a certain period from when the bus using device issues a bus use request until it receives the bus use permission, and instructions for adding a fixed value when the counter value exceeds the value in the tolerance register And a comparator for performing a bus priority value by adding the fixed value to the basic value register value, the counter value, and a fixed value when instructed to add the fixed value. Bus arbitration method.
バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置と有するデータ転送装置であって、
前記優先値生成部は、チャネル装置毎に設定されたバスの優先度の基本値とチャネル装置に設定されたバスの待ち時間の許容値と予め決められた固定値とを記憶する手段と、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、バス優先値を生成する加算器と、比較器とを有し、
カウンタの値と基本値とを前記加算器で加算し、カウンタの値が許容値以上であることを前記比較器で検出すると、さらに固定値を前記加算器で加算してバス優先値を生成することを特徴とするデータ転送装置。
A channel device having a priority value generation unit for transferring data while connecting to a bus and generating a bus priority value, and a channel having the largest bus priority value in response to a bus use request and a bus priority value from each channel device A data transfer device having a priority control unit for giving permission to use a bus to the device and a channel control device for controlling data transfer between the channel device and a main storage device for storing programs and data,
The priority value generation unit stores a basic value of the priority of the bus set for each channel device, an allowable value of the waiting time of the bus set for the channel device, and a predetermined fixed value; A counter that counts up in a certain period from when the device issues a bus use request until it receives a bus use permission, an adder that generates a bus priority value, and a comparator ;
The values and basic values of the counter are added by the adder, when detected by the comparator that the value of the counter is allowable value or more, a further bus priority value by adding a fixed value by the adder A data transfer device that generates the data transfer device.
バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置と有するデータ転送装置であって、
前記優先値生成部は、チャネル装置毎に設定されたバスの優先度の基本値を保持する基本値レジスタと、チャネル装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とするデータ転送装置。
A channel device having a priority value generation unit for transferring data while connecting to a bus and generating a bus priority value, and a channel having the largest bus priority value in response to a bus use request and a bus priority value from each channel device A data transfer device having a priority control unit for giving permission to use a bus to the device and a channel control device for controlling data transfer between the channel device and a main storage device for storing programs and data,
The priority value generating unit includes a basic value register for holding a basic value of the priority of the bus that is set to the channel instrumentation 置毎, a tolerance register for holding the tolerance of the bus that is set to the channel device latency , A counter that counts up in a certain period from when the channel device issues a bus use request until it receives the bus use permission, and a comparison that gives a fixed value addition instruction when the counter value exceeds the value in the tolerance register And a data transfer device comprising: an adder for adding a fixed value to a basic value register value, a counter value, and a fixed value when there is an instruction to add a fixed value; .
バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するであって、
前記優先値生成部は、チャネル装置毎に設定されたバスの優先度の基本値とチャネル装置に設定されたバスの待ち時間の許容値と予め決められた固定値とを記憶する手段と、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、バス優先値を生成する加算器と、比較器とを有し、
カウンタの値と基本値とを前記加算器で加算し、カウンタの値が許容値以上であることを前記比較器で検出すると、さらに固定値を前記加算器で加算してバス優先値を生成することを特徴とするデータ転送装置。
A channel device connected to the bus for transferring data, and a priority value generation unit for generating a bus priority value of the channel device corresponding to the channel device, and when a bus use request is received from each channel device, the bus priority value is A priority control unit that gives permission to use the bus to the largest channel device, and a channel control device that controls data transfer between the channel device and a main storage device that stores programs and data,
The priority value generation unit stores a basic value of the priority of the bus set for each channel device, an allowable value of the waiting time of the bus set for the channel device, and a predetermined fixed value; A counter that counts up in a certain period from when the device issues a bus use request until it receives a bus use permission, an adder that generates a bus priority value, and a comparator ;
The values and basic values of the counter are added by the adder, when detected by the comparator that the value of the counter is allowable value or more, a further bus priority value by adding a fixed value by the adder A data transfer device that generates the data transfer device.
バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するデータ転送装置であって、
前記優先値生成部は、チャネル装置毎に設定されたバスの優先度の基本値とチャネル装置に設定されたバスの待ち時間の許容値と予め決められた固定値とを記憶する手段と、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、バス優先値を生成する加算器と、比較器とを有し、
カウンタの値と基本値とを前記加算器で加算し、カウンタの値が許容値以上であることを前記比較器で検出すると、さらに固定値を前記加算器で加算してバス優先値を生成することを特徴とするデータ転送装置。
A channel device connected to the bus for transferring data, and a priority value generation unit for generating a bus priority value of the channel device corresponding to the channel device, and when a bus use request is received from each channel device, the bus priority value is A data transfer apparatus having a priority order determination unit that gives permission to use a bus to the largest channel apparatus and a channel control apparatus that controls data transfer between the channel apparatus and a main storage device that stores programs and data There,
The priority value generation unit stores a basic value of the priority of the bus set for each channel device, an allowable value of the waiting time of the bus set for the channel device, and a predetermined fixed value; A counter that counts up in a certain period from when the device issues a bus use request until it receives a bus use permission, an adder that generates a bus priority value, and a comparator ;
The values and basic values of the counter are added by the adder, when detected by the comparator that the value of the counter is allowable value or more, a further bus priority value by adding a fixed value by the adder A data transfer device that generates the data transfer device.
バスに接続してデータを転送するチャネル装置と、チャネル装置のバス優先値を生成する優先値生成部をチャネル装置に対応して有するとともにそれぞれのチャネル装置からバス使用要求を受けるとバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部とを有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有するデータ転送装置であって、
前記優先値生成部は、チャネル装置毎に設定されたバスの優先度の基本値を保持する基本値レジスタと、チャネル装置に設定されたバスの待ち時間の許容値を保持する許容値レジスタと、チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間一定周期でカウントアップするカウンタと、カウンタの値が許容値レジスタの値以上となると固定値の加算指示を行う比較器と、基本値レジスタの値とカウンタの値とさらに固定値の加算指示があった場合は固定値とを加算してバス優先値を生成する加算器とを有することを特徴とするデータ転送装置。
A channel device connected to the bus for transferring data, and a priority value generation unit for generating a bus priority value of the channel device corresponding to the channel device, and when a bus use request is received from each channel device, the bus priority value is A data transfer apparatus having a priority order determination unit that gives permission to use a bus to the largest channel apparatus and a channel control apparatus that controls data transfer between the channel apparatus and a main storage device that stores programs and data There,
The priority value generating unit includes a basic value register for holding a basic value of the priority of the bus that is set to the channel instrumentation 置毎, a tolerance register for holding the tolerance of the bus that is set to the channel device latency , A counter that counts up in a certain period from when the channel device issues a bus use request until it receives the bus use permission, and a comparison that gives a fixed value addition instruction when the counter value exceeds the value in the tolerance register And a data transfer device comprising: an adder for adding a fixed value to a basic value register value, a counter value, and a fixed value when there is an instruction to add a fixed value; .
バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するバス使用装置と、それぞれのバス使用装置からバス使用要求とバス優先値とを受けてバス優先値が最大のバス使用装置にバスの使用許可を与える優先順位判定部とを有する装置におけるバス調停方法であって、
バス使用装置がバス使用要求を発行してからバスの使用許可を受けるまでの間カウンタを一定周期でカウントアップし、カウンタの値とバス使用装置毎に設定されたバスの優先度の基本値とを加算し、カウンタの値がバス使用装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とするバス調停方法。
A bus use device having a priority value generation unit for transferring data while connecting to a bus and generating a bus priority value, and receiving a bus use request and a bus priority value from each bus use device, the bus priority value is maximum. a bus arbitration method in an apparatus for chromatic and priority determination unit that the bus use device gives permission to use the bus,
Bus device counts up at a fixed period between counter after issuing a bus use request until it receives permission to use the bus, the basic priority of the bus that is set to the value of the counter and bus instrumentation 置毎 A bus priority value is generated by adding a fixed value to the addition result when the counter value is equal to or greater than the allowable value of the bus waiting time set in the bus using device. Mediation method.
バスに接続してデータを転送するとともにバス優先値を生成する優先値生成部とを有するチャネル装置と、それぞれのチャネル装置からバス使用要求とバス優先値とを受けてバス優先値が最大のチャネル装置にバスの使用許可を与える優先順位判定部を有しチャネル装置とプログラムやデータを記憶する主記憶装置との間のデータ転送を制御するチャネル制御装置とを有する装置におけるバス調停方法であって、
チャネル装置がバス使用要求を発行してからバスの使用許可を受けるまでの間カウンタを一定周期でカウントアップし、カウンタの値とチャネル装置毎に設定されたバスの優先度の基本値とを加算し、カウンタの値がチャネル装置に設定されたバスの待ち時間の許容値以上となると前記加算結果にさらに固定値を加算してバス優先値を生成することを特徴とするバス調停方法。
A channel device having a priority value generation unit for transferring data while connecting to a bus and generating a bus priority value, and a channel having the largest bus priority value in response to a bus use request and a bus priority value from each channel device a bus arbitration method in an apparatus for have a channel controller for controlling data transfer between the main storage for storing channel devices and programs and data has a priority determining unit which gives permission to use the bus system And
Channel device counts up at a fixed period between counter after issuing a bus use request until it receives permission to use the bus, and the basic value of the priority of the bus that is set to the value of the counter and the channel instrumentation 置毎 The bus arbitration method is characterized in that a bus priority value is generated by adding a fixed value to the addition result when the counter value is equal to or greater than an allowable value of the bus waiting time set in the channel device.
JP2002281215A 2002-09-26 2002-09-26 Bus arbitration method, data transfer device, and bus arbitration method Expired - Fee Related JP4151362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002281215A JP4151362B2 (en) 2002-09-26 2002-09-26 Bus arbitration method, data transfer device, and bus arbitration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002281215A JP4151362B2 (en) 2002-09-26 2002-09-26 Bus arbitration method, data transfer device, and bus arbitration method

Publications (2)

Publication Number Publication Date
JP2004118546A JP2004118546A (en) 2004-04-15
JP4151362B2 true JP4151362B2 (en) 2008-09-17

Family

ID=32275720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002281215A Expired - Fee Related JP4151362B2 (en) 2002-09-26 2002-09-26 Bus arbitration method, data transfer device, and bus arbitration method

Country Status (1)

Country Link
JP (1) JP4151362B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100593777C (en) * 2005-01-31 2010-03-10 松下电器产业株式会社 Access arbiter and arbiterable condition verification device
JP4974508B2 (en) * 2005-10-28 2012-07-11 キヤノン株式会社 Bus master device, bus arbitration device, and bus arbitration method
JP5267328B2 (en) 2009-05-26 2013-08-21 富士通セミコンダクター株式会社 Interrupt notification control device and semiconductor integrated circuit
JP5265596B2 (en) * 2010-02-15 2013-08-14 京セラドキュメントソリューションズ株式会社 Bus arbitration apparatus and bus arbitration method
JP5842639B2 (en) 2012-01-31 2016-01-13 富士通株式会社 Connection device, storage device, connection request transmission control method, and connection request transmission control program

Also Published As

Publication number Publication date
JP2004118546A (en) 2004-04-15

Similar Documents

Publication Publication Date Title
US5572686A (en) Bus arbitration scheme with priority switching and timer
JP2625589B2 (en) Multiprocessor system
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
JP4313607B2 (en) Bus connection circuit and bus connection system
JP2008276391A (en) Memory access control device
KR100347473B1 (en) Fast pipelined distributed arbitration scheme
KR100708096B1 (en) Bus system and execution scheduling method for access commands thereof
JP2004318340A (en) Data transfer controller
JP4151362B2 (en) Bus arbitration method, data transfer device, and bus arbitration method
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JP3766377B2 (en) Bus control device and information processing system
JP5677007B2 (en) Bus arbitration device and bus arbitration method
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
JP2000132505A (en) Bus access method and device therefor, and device and system using the bus access method and device
JP2005004563A (en) Dma transfer controller
JPH09185580A (en) Bus system
JP3240863B2 (en) Arbitration circuit
JP7226084B2 (en) Information processing equipment
JPH0830549A (en) Bus control device
KR100243868B1 (en) Arbiter logic in main computer system
JP2006065453A (en) Data processor
JP2004185451A (en) Memory access arbitration method and memory access arbitration unit
JP2002091903A (en) Bus system
JP2002229932A (en) Dma transfer device and data transfer system
KR100583455B1 (en) Programmable Bus arbiter with simple hardware structure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040420

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061108

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

TRDD Decision of grant or rejection written
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080606

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080623

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees