JPH0635729A - データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置 - Google Patents

データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置

Info

Publication number
JPH0635729A
JPH0635729A JP5108140A JP10814093A JPH0635729A JP H0635729 A JPH0635729 A JP H0635729A JP 5108140 A JP5108140 A JP 5108140A JP 10814093 A JP10814093 A JP 10814093A JP H0635729 A JPH0635729 A JP H0635729A
Authority
JP
Japan
Prior art keywords
user
line
level
users
category
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.)
Granted
Application number
JP5108140A
Other languages
English (en)
Other versions
JPH0816874B2 (ja
Inventor
Jean Calvignac
カルヴィニャック ジャン
Philippe Cuny
キュニィ フィリップ
Philippe Klein
クレン フィリップ
Jean-Pierre Lips
リップ ジャン−ピエール
Oliver M Maurel
ミッシェル モーレル オリヴィエ,
Bernard Naudin
ノーディン ベルナール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0635729A publication Critical patent/JPH0635729A/ja
Publication of JPH0816874B2 publication Critical patent/JPH0816874B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

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

Abstract

(57)【要約】 【目的】 異種ユーザから出された共通資源の要求をア
ービトレーションする。 【構成】 ユーザの選択は、資源要求を出したユーザの
優先レベルを分析し、最高優先レベルを持つユーザを判
断することによって行われる。資源へのアクセスは、最
高優先レベルを持つユーザである選択されたユーザに認
可される。選択されたユーザの特権レベルより高い特権
レベルをもつ少なくとも一人のユーザが資源の要求を行
ったときは、前記特定ユーザのタスクに割込みがかけら
れ、その割込みをかけられたユーザに、そのカテゴリに
属するユーザの通常優先権レベルより高い割込み優先権
レベルが割り当てられる。ついで、新しいユーザが選択
される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムに
おいて複数のユーザによって共用される、バスなどの資
源へのアクセスを管理する方法と装置に関し、特に、異
種ユーザのために資源占有を最適化する資源アクセス管
理方法と装置に関する。
【0002】なお、本明細書の記述は本件出願の優先権
の基礎たる仏国特許出願第92480096.4号の明
細書の記載に基づくものであって、当該仏国特許出願の
番号を参照することによって当該仏国特許出願の明細書
の記載内容が本明細書の一部分を構成するものとする。
【0003】
【従来の技術】データ処理システムでは、異なるユーザ
がバスのような共通資源を共用することは普通に行われ
ている。一般的に、これらのユーザはシステムバスを通
して相互に接続されている。各ユーザは、別のユーザと
の間で情報や要求を送信または/および受信するための
バスを要求する能力を有する。
【0004】従って、この環境では、一度に一人のユー
ザだけがバスにアクセスするように、バスへのアクセス
を管理しなければならない。
【0005】いくつかのアービトレーション手法が知ら
れており、これらは2つの方式に分類することができ
る。第1の方式は固定方式(fixed mode)と
呼ばれるもので、この方式では、各ユーザに固定された
優先度が割り当てられており、バスが解放されていると
き、その新しいバス優先使用権は、バスを要求している
ユーザのうちの最高優先度を有するユーザにより獲得さ
れる。第2の方式は巡回方式またはラウンドロビン方式
と呼ばれるもので、この方式では、バスが解放されてい
るとき、全ての保留要求がサービスされるまで、各ユー
ザには、一人ずつバスへのアクセスが認可される。この
第2の方式によると、ユーザ間の公平性が最適化される
が、オーバラン状態に対して保護はない。
【0006】
【発明が解決しようとする課題】ヨーロッパ特許出願第
0039635号は、階層ラウンドロビン・プロセスに
基づくアービトレーションシステムを記載している。こ
のアービトレーションシステムによれば、バスを要求し
たユーザ間で、作業時間が分割される。このシステムの
欠点は、ユーザが同種のユーザでなければならず、しか
も全てのユーザは選択されるまで待たされることであ
る。
【0007】
【課題を解決するための手段】本発明の目的は、異種ユ
ーザから出された共通資源の要求をアービトレーション
する方法と装置を提供することにある。
【0008】本発明の別の目的は、何人かのユーザが資
源が割り振られるまで待機する能力がないときに適した
方法と装置を提供することにある。
【0009】複数のユーザによる共通資源アクセス要求
をアービトレーションすることによって、選択されたユ
ーザにアクセスを認可する方法は、次のステップよりな
る。
【0010】a)ユーザを異なるカテゴリに分類するス
テップ、 b)あるカテゴリの選択されたユーザが実行するタスク
に割込みをかけて、最高特権レベルを持つカテゴリのユ
ーザに資源へのアクセスを認可するため、各カテゴリの
全てのユーザに、そのカテゴリのユーザの割込み能力を
特徴付けた同一の特権レベルを割り当てるステップ、 c)各カテゴリの各ユーザに、そのカテゴリのユーザの
選択順位を決定する通常優先権レベルを割り当て、前記
ユーザ・カテゴリの前記特権レベルと各ユーザの優先権
レベルは前記ユーザの優先レベルを構成し、最高特権レ
ベルを持つカテゴリ内で最高優先権レベルを持つユーザ
に最高優先レベルを割り当てるステップ、 d)資源を要求するユーザの優先レベルを分析して、最
高優先レベルをもつユーザを判定するステップ、 e)選択されたユーザであって、ステップd)で判定さ
れた最高優先レベルを持つユーザに資源へのアクセスを
認可し、前記選択されたユーザがそのタスクを完了した
とき、新しい分析ステップを実行するステップ、 f)ステップd)とステップe)で選択されたユーザの
特権レベルより高い特権レベルを持つ少なくとも一人の
ユーザが、資源の要求を行ったか否かを判定し、前記選
択されたユーザのタスクに割込みをかけ、割り込みをか
けられたユーザに、カテゴリ内のユーザの通常優先権レ
ベルより高い割込み優先レベルを割り当て、ステップ
d)とステップe)を実行することにより新しいユーザ
を選択するステップ。
【0011】アービトレーション装置は、上記ステップ
を論理回路によりインプリメントする。
【0012】
【実施例】本発明に係るアービトレーション装置は、異
種タイプのユーザがバスのような共用資源にアクセスで
きるデータ処理システムにおいて、共用資源へのアクセ
スを管理するアービトレーション方法をインプリメント
したものである。
【0013】このようなシステムを概略図で示したのが
図1である。同図に示すように、ユーザは異なるファミ
リに分類されている。例えば、ファミリ1はユーザ1−
1,1−2,1−3を備えており、ファミリ2はユーザ
2−1,2−2を備えており、ファミリ3はユーザ3−
1,3−2,3−3を備えている。これらのユーザは共
通バス4にアクセスすることができ、バス・アクセスは
アービタ5によってアービトレーションされる。アービ
タはスター構成になっている。つまり、各ユーザは、要
求RQラインと認可GRラインによってアービタに接続
されている。ファミリ1,2,3のユーザのRQライン
とGRラインは、それぞれ参照番号10,20,30お
よび11,21,31で示されている。これらの番号の
頭の数字1,2,3はそれぞれのファミリに属するユー
ザ1,2,3に対応している。バスへのアクセスを要求
したユーザは、その要求ライン上の信号をハイ・レベル
にし(例えば、このラインを「1」レベルにセットする
ことによって)、アービタはその要求を処理し、後述す
るようにユーザの要求を選択し、バス・マスタ・ユーザ
となる特定ユーザの認可ラインをハイ・レベルにする
(例えば、このラインを「1」レベルにセットすること
によって)。
【0014】各ユーザには特権レベルと通常優先権レベ
ルが割り当てられる。特権レベルは各ユーザの属性であ
って、バス・マスタ・ユーザに割り込む能力を表した各
ユーザの属性である。従って、要求を出したユーザは、
現バス・マスタ・ユーザの特権レベルがそのユーザの特
権レベルより低ければ、この特権レベルにより、現バス
・マスタ・ユーザのタスクに即時に割込みをかけること
ができる。
【0015】通常優先権レベルは別のユーザ属性であ
り、この属性により、アービタは同一特権レベルをもつ
要求間のアービトレーション問題を解決することができ
る。
【0016】特権レベルと優先権レベルにより、各ユー
ザの優先レベルが定義される。どの時点においても、ア
ービタ5への活動状態(アクティブ)の要求はすべて優
先レベル別に分類することができる。
【0017】同じファミリに属するユーザは同じ特権レ
ベルと異なる通常優先権レベルをもっている。例えば、
ファミリ1に属するユーザの特権レベルは最高レベルで
あり、このことは、ファミリ1のユーザには、割込みが
できないことを意味する。ファミリ3に属するユーザは
特権レベルが最も低い。このことは、ファミリ1とファ
ミリ2のユーザから出された要求によって、ファミリ3
のユーザに割り込むことができることを意味する。
【0018】また、各ファミリ内では、ユーザ1は通常
優先権レベルがユーザ2と3のそれよりも高いので、各
ユーザ・ファミリ内のアービトレーションはそのレベル
に従って行われる。
【0019】本発明によれば、バス・マスタ・ユーザに
は、同じファミリに属するユーザは割り込むことができ
ない。割込みをかけることができるのは、特権レベルの
高いファミリに属するユーザから要求が出された場合だ
けである。
【0020】あるユーザに割り込みがかけられると、そ
のファミリのユーザの通常優先権レベルより高い割込み
優先権レベルが自動的にそのユーザに割り当てられるの
で、割込みをかけたユーザがそのタスクを完了すると、
その割り込まれたユーザが選択されることになる。より
高い特権レベルのファミリに属するユーザから出された
要求が他にないときは、割り込まれたユーザのコンテキ
ストを保管する必要はない。
【0021】以上を要約すると、本発明の主要特徴は次
の通りである。
【0022】アービトレーションバスは、各ユーザごと
の1対の要求ラインと認可ラインでスター構成に配置さ
れている。割込みレベルは異なるユーザ・ファミリと同
数だけ設けられている。標準的アービトレーションは、
ユーザの通常または割込み優先権レベルに基づいて各ユ
ーザ・ファミリ内で行われる。ユーザの割込み順序は、
アービタの制御の下でユーザの認可ラインを解放するこ
とによって行われ、その要求ラインは1にセットされた
ままになっている。他方、通常のシーケンスが終了する
と、ユーザはその要求ラインを0にリセットし、その認
可ラインは1にセットされたままであるので、バスは別
のユーザに即時に再割振りされる。
【0023】割り込まれたタスクのコンテキストは、割
込みをかけられた各ユーザを記憶しておき、割込みをか
けられたユーザに割込み優先権レベルを自動的に割り振
ることによって保護される。
【0024】このアービトレーションスキーマをインプ
リメンテーションするための装置は、図2,図3,図4
および図5に示されており、以下、この装置について説
明する。
【0025】図2は、ユーザ・ファミリ1の要求を処理
するアービトレーション回路部分を示す図である。
【0026】要求ラインおよび認可ライン10−1〜1
0−3および11−1〜11−3は、デコード回路40
に接続されている。デコード回路40は3つの出力ライ
ン41,42,43のうちの1つを活動状態にする(1
にセットする)。出力ライン41は、ユーザ1−2また
は1−3のどちらもバスのマスタでないとき、つまり、
次の条件 (RQ 10−2=0 AND GR 11−2=0)
AND(RQ 10−3=0 AND GR 11−3
=0) を満足しているとき、1にセットされる。
【0027】出力ライン41はANDゲート46の入力
端子に接続され、ANDゲート46の第2入力端子は要
求ラインRQ 10−1に接続されている。従って、ラ
イン41が1にセットされていて、しかも、ユーザ1−
1がその要求ラインRQ 10−1をハイ・レベルにす
ると、(RQ 10−1)´で示したライン48上の出
力信号が1にセットされ、ラッチ50をセットする。ラ
ッチ50の出力ラインはラインGR 11−1であるの
で、このラインが活動状態にされる。つまり、ユーザ1
−1がバスを要求し、しかも、同じ特権レベルを持つど
のユーザもバスのマスタでないとき、バスがユーザ1−
1に認可される。
【0028】ライン48はインバータ52に接続され、
このインバータはユーザ1−1がその要求ラインを0に
リセットしたとき、1にセットされた信号をその出力ラ
イン54上に供給する。このライン54はOR回路56
を介してラッチ50のリセット入力端子に接続されてい
る。ラッチ50はライン54の入力に応答してリセット
される。その結果、ユーザ1−1がそのタスクを完了す
ると、認可ライン11−1が解放される。
【0029】OR回路の第2入力はライン58であり、
ライン58は図4に示す割込み順序検出回路の出力ライ
ンである。このラインは、割込み条件が検出されると、
割込み順序検出回路によって1にセットされ、全ての認
可ラインを解放する。そして、バスが再割振り可能にな
ったとき、ゼロにセットされる。このことは後述する。
【0030】ラインGR 11−1とライン54はAN
Dゲート60の入力端子に接続され、その出力ライン6
1はOR回路62に接続されている。
【0031】ライン42は、ユーザ1−1または1−3
のどちらもバスのマスタでないとき、つまり、次の条件 (RQ 10−1=0 AND GR11−1=0)A
ND(RQ 10−3=0 AND GR 11−3=
0) が満足されたとき、1にセットされる。
【0032】このライン42はANDゲート66の入力
端子に接続され、その第2入力端子は要求ラインRQ
10−2に接続され、第3入力端子はインバータ52の
出力ライン54に接続されている。従って、ライン42
と54が1にセットされていて、しかも、ユーザがその
要求ラインRQ 10−2をハイレベルにすると、(R
Q 10−2)′で示したライン68上の出力信号は1
にセットされ、ラッチ70をセットする。ラッチ70の
出力ラインはラインGR 11−2であるので、このラ
インが活動状態にされる。つまり、ユーザ1−2がバス
を要求し、同じ特権レベルを持つどのユーザもバスマス
タでなく、ユーザ1−1より高い優先権レベルを持つユ
ーザ1−1がその要求ラインをハイレベルにしていなか
ったとき、バスがユーザ1−2に認可される。
【0033】ライン68はインバータ72に接続され、
このインバータは、ユーザ1−2がその要求ラインを0
にリセットしたとき、1にセットされた信号をその出力
ライン上に供給する。このライン74はOR回路76を
介してラッチ70のリセット入力端子に接続され、ラッ
チ70はライン74の入力に応答してリセットされるの
で、ユーザ1−2がそのタスクを完了したとき、認可ラ
イン11−2が解放されるようになっている。
【0034】OR回路の第2入力はライン58であり、
その目的は、OR回路56で前述した目的と同じであ
る。
【0035】ラインGR11−2とライン74はAND
ゲート80の入力端子に接続され、その出力ライン81
はOR回路62に接続されている。
【0036】ライン43は、ユーザ1−1または1−2
のどちらもがバスマスタでないとき、つまり、次の条件 (RQ 10−1=0 AND GR 11−1=0)
AND(RQ 10−2=0 AND GR 11−2
=0) が満足されているとき、1にセットされる。
【0037】このライン43はANDゲート86の入力
端子に接続され、その第2入力端子は要求ラインRQ
10−3に接続され、第3と第4入力端はインバータ5
2と72の出力ライン54と74に接続されている。従
って、ライン43,54および74が1にセットされて
いて、ユーザ1−3がその要求ラインRQ 10−3を
ハイ・レベルにすると、(RQ 10−3)′で示した
ライン88上の出力信号が1にセットされ、ラッチ90
をセットする。ラッチ90の出力ラインはラインGR
11−3であるので、このラインが活動状態にされる。
つまり、ユーザ1−3がバスを要求し、同じ特権レベル
をもつユーザがいずれもバスマスタでなく、ユーザ1ー
1とユーザ1−1よりも高い優先権レベルをもつユーザ
1−2がその要求ラインをハイレベルにしていなかった
とき、バスがユーザ1−3に認可される。
【0038】ライン88はインバータ92に接続され、
このインバータは、ユーザ1−3がその要求ラインを0
にリセットしたとき、1にセットされた信号をその出力
ライン94上に供給する。このライン94は、ORゲー
ト96を経由してラッチ90のリセット入力端子に接続
され、その入力に応答してリセットされるので、ユーザ
1−3がそのタスクを完了したとき認可ライン11−3
が解放される。
【0039】ORゲート58の第2入力はライン58で
あり、その目的はORゲート56で前述した目的と同じ
である。
【0040】ラインGR 11−3とライン94はAN
Dゲート100の入力端子に接続され、その出力ライン
101はOR回路62に入力される。
【0041】ライン54,74,94はANDゲート1
02の入力端子に入力され、ANDゲート102はその
出力ライン103上に信号を供給し、この信号は、ユー
ザ・ファミリ1からの活動要求がないとき、1にセット
される。
【0042】ユーザ・ファミリ2からの要求を処理する
アービトレーション回路は、図3に示されている。
【0043】ユーザ2−1と2−2からの2つの要求ラ
インは、ANDゲート110と112の一方の入力端子
に接続され、その第2入力端子はライン103に接続さ
れ、ライン103は、ファミリ1に属するユーザから出
された高優先度要求がないとき、1にセットされた信号
をこれらの入力端子に供給する。
【0044】ANDゲート112は第3入力ライン11
4を有し、第3入力ラインはOR回路116の出力ライ
ンである。OR回路116の入力ラインはインバータ1
18の出力ライン119であり、インバータ118はそ
の入力ラインRQ 20−1に出力された信号と、禁止
回路122の出力ライン124のうちの1つのライン上
の信号を反転する。禁止回路122の機能は、ユーザに
割り込みをかけてファミリ1のユーザがバスにアクセス
すると、ユーザ2−2に割込み優先権レベルを与えるこ
とである。この機能をインプリメンテーションするため
に、禁止回路122は第2出力ライン126をもち、こ
の第2出力ラインはANDゲート128の一方の入力端
子に接続され、他方の入力端子はANDゲート110の
出力ライン111になっている。
【0045】従って、ANDゲート128と112の出
力ラインは、セット制御信号(RQ20−1)′と(R
Q 20−2)′を、それぞれラッチ132と134の
セット入力端子に供給する。これらのラッチがセットさ
れると、活動認可信号をそれぞれの出力ラインGR 2
1−1とGR 21−2上に供給する。
【0046】ラッチ132と134のリセット入力端子
はOR回路136と138の出力ラインに接続されてい
る。OR回路136の入力ラインとOR回路138の入
力ラインは、インバータ120の出力ライン121であ
り、インバータ120はラインRQ 20−2とライン
58からの信号を反転する。従って、ラッチ132と1
34は、割込みが検出されるか、あるいは、要求ライン
RQ 20−1と20−2が0レベルにセットされたと
きリセットされる。
【0047】認可ラインGR 21−1と21−2のス
テータスは、MASTER RECORDEDラッチ1
37と139に記録される。すなわち、ラッチ132と
134がセットされると、その「1」出力レベルは次の
クロックパルスでラッチ137と139に記録される。
そして、割込みが検出されると、ライン58がハイレベ
ルになり、ライン58上の信号によりラッチ132と1
34がリセットされ、ケースバイケースで、認可ライン
GR 21−1またはGR 21−2が解放される。そ
の結果、割込みをかけられたユーザ、つまり、その認可
ラインが解放される以前にバスを使用していたユーザ
は、保留されていたオペレーションを完了し、1クロッ
クサイクルの間、その要求ラインを解放し、新しい要求
をその要求ライン上に通知して、次のバス再割振りを競
合する。割込みをかけられたユーザはWait ステー
タスに入る。インバータ出力ライン119と121は、
ラッチ137と139の出力ライン144と146とと
もに、ANDゲート140と142の入力端子に接続さ
れている。その結果、1クロック・サイクルの間、割込
みをかけられたユーザ2−1または2−2がその要求ラ
インを解放すると、ANDゲート140または142は
「1」出力レベルを出力ライン148または150上に
供給し、この出力ラインは、図2からのライン63と共
にOR回路152に接続される。従って、OR回路15
2は、割込みをかけられたユーザのオペレーション完了
を区切る「1」出力レベル信号を生成する。
【0048】禁止回路122はラッチを備え、このラッ
チは認可ラインGR 21−2上の「1」レベル信号に
よってリセットされ、ANDゲート156の出力端子の
「1」レベル信号によってセットされる。ANDゲート
156への入力はライン121とライン158であり、
これは、1にセットされた認可ラインGR 11−1〜
11−3、21−1または31−1〜31−3が少なく
とも1つあるとき、「1」にセットされる。従って、そ
のユーザのファミリにおいて最高通常優先権レベルをも
たない割込み可能ユーザがそのタスクを完了したとき、
すなわち、バスへのアクセスが必要でなくなったとき、
そのユーザはその要求ラインを非活動化状態にする。従
って、この割込み可能ユーザが2−2である場合、ライ
ン121は「1」レベルにあり、その認可ラインGR
21−2がまだ活動状態にあり、ラッチ122がセット
され、そのQ出力126が1にセットされ、ANDゲー
ト128がそのように条件づけられるので、通常選択ア
ービトレーションプロセスを行うことができる。
【0049】ユーザ2−2の認可ライン21−2が活動
状態にある限り、すなわち、最高優先権レベルを持たな
い割込み可能ユーザにバスが割り当てられている限り、
ラッチ122がリセットされる。その結果、ラッチの反
転Q出力124は1にセットされ、ラッチのQ出力12
6は0にセットされ、これにより、ユーザ2−2に割込
み優先権レベルが与えられる。よって、そのユーザより
高い優先権レベルをもつファミリ内のユーザ(つまり、
ユーザ2−1)がその要求ラインをハイ・レベルにした
場合でも、割込みをかけたユーザがそのタスクを完了し
たとき、ユーザ2−2が選択されることになる。この時
点で、ライン124から入力された「1」レベル信号が
OR回路116を介してANDゲート112に印加さ
れ、要求反転ライン119上の潜在的な「0」レベルを
マスクする。
【0050】2つの反転要求ライン121,114とラ
イン103は、ANDゲート160に接続され、ファミ
リ1と2のユーザからの要求がないとき、ANDゲート
160から「1」出力レベル信号がその出力ライン16
2上に生成される。
【0051】ファミリ3の割込み可能ユーザからの要求
を処理するアービトレーション回路部分を示したのが図
4である。
【0052】この部分と図3に示した部分との異なる点
は、割込み可能ユーザのファミリが2人のユーザではな
く、3人のユーザを備えており、従って、2つのアービ
トレーション回路が必要になることだけである。
【0053】ユーザ3−2の要求とユーザ3−3の要求
とをアービトレーションする回路のストリングは、図3
に示すアービトレーション部分と同じであるので、これ
らの回路は、同一参照番号に100を加えて得られる番
号で示してある。例えば、禁止回路222は禁止回路1
22とその機能が同じである。つまり、割込み可能ユー
ザ3−3が割込みをかけられたとき、そのユーザに最高
優先権レベルを与え、ユーザ3−1と3−2が保留され
ている要求を持っていても、そのユーザが選択されるの
を禁止する。
【0054】従って、これらの回路の説明は、これ以上
行わない。
【0055】ユーザ3−1からの要求は、ユーザ3−2
からの要求を処理するストリングと同じ参照番号に50
を加えて示した、別の回路ストリングによって処理され
る。禁止回路272の機能は、割込み可能ユーザの要求
RQ 31−2が選択されたとき、ANDゲート210
を条件づけ、ユーザ3−2が割込みをかけられたとき、
そのユーザより高い優先権レベルのユーザ3−1が選択
されるのを禁止することである。
【0056】従って、ラッチ272のQ出力276は、
ラッチ222のQ出力226とともにOR回路310に
供給される。従って、OR回路310は「1」レベル出
力信号をその出力ライン275上に生成し、この信号
は、ユーザ3−2または3−3のいずれかが割込みをか
けられて、割込み優先権レベルを与える必要があると
き、ユーザ3−1が選択されるのを禁止する。
【0057】ANDゲート290,240,242の出
力ライン298,248,250はライン153ととも
に、OR回路252の入力端子に接続されている。OR
回路252は「1」レベル出力信号をその出力ライン2
53上に供給し、ラッチ314のリセット入力端子に供
給する。ラッチ314のセット入力端子は割込み順序検
出回路320の出力ライン316に接続されている。こ
の検出回路は図にその詳細が示されている。従って。割
込みが検出されると、ラッチ314がセットされ、
「1」レベルの割込み検出信号がその出力ライン58上
に生成される。出力ライン58は全てのラッチ50,7
0,90,132,134,282,232,234を
リセットするので、全ての認可ラインが解放される。そ
して、割込みをかけられたユーザが1クロックサイクル
の間にその要求ラインを解放すると、ライン253が
「1」レベルにセットされ、ラッチ314がリセットさ
れるので、より高い優先度ユーザにバスを再割振りする
ことが可能になる。なお、この優先度の高いユーザは、
最初に割込みをかけたユーザの優先度より高い優先度を
もつユーザがバス要求を出していれば、最初に割込みを
かけたユーザとは異なっている場合もある。
【0058】割込み順序検出回路は要求ラインRQ 1
0−1〜10−3,RQ 20−1およびRQ 20−
2上に供給された要求信号および認可信号と、認可ライ
ンGR 21−1および21−2と、31−1〜31−
3上の認可信号に応答する。この回路を示したのが図5
である。同図に示すように、ラインRQ 10−1、R
Q 10−2およびRQ 10−3は、OR回路330
に接続され、ラインGR 21−1とGR 21−2
は、OR回路332に接続される。OR回路330と3
32の出力ライン331と333は、ANDゲート33
4の入力端子に接続されるので、ANDゲート334
は、ファミリ1より優先権レベルが低いファミリ2のユ
ーザの一人にバスを認可する場合、ファミリ1のユーザ
の少なくとも一人が要求を出したとき「1」レベル信号
をその出力ライン335上に供給する。
【0059】要求ラインRQ 10−1,RQ 10−
2,RQ 10−3,RQ 20−1および20−2
は、OR回路340の入力端子に接続され、認可ライン
GR31−1,31−2および31−3は、OR回路3
40の入力端子に接続される。OR回路340と342
の出力ラインは、ANDゲート344の入力端子に接続
される。従って、ANDゲート344は、ファミリ1お
よび2より特権レベルが低いファミリ3のユーザの一人
にバスを認可する場合、ファミリ1または2のユーザの
少なくとも一人が要求を出したとき、「1」レベル信号
をその出力ライン345上に供給する。
【0060】ANDゲート334と344の出力ライン
は、ORゲート348の入力端子に接続され、ORゲー
ト348の出力ラインは、割込みが検出されると「1」
にセットされ、この「1」レベル信号はラッチ314を
セットする。
【0061】図2〜図5を参照して上述したアービトレ
ーション回路を使用すると、次のような効果を奏する。
【0062】割込みが図5に示す割込み順序検出回路に
よって検出されると、全ての認可ラインが解放され、割
込みをかけられた現マスタ・ユーザが現在実行中のタス
クを混乱させることなく、バスを解放することができる
とき、バスの現マスタ・ユーザより高い特権レベルをも
つユーザに対するバスの再割振りが行われる。
【0063】ファミリ内の最高優先権レベル、つまり、
割込み優先権レベルは、割込みをかけられたユーザより
高い優先度の要求がないとき、そのユーザがファミリの
最初に選択されるユーザとなるように、そのユーザに与
えられる。割込みをかけられたユーザは、同じファミリ
の別のユーザより優先して、割込みで中断したタスクを
完了するために選択されるので、割込みをかけられたユ
ーザはそのコンテキストをセーブすることが禁止され
る。
【0064】
【発明の効果】以上説明したように、本発明によれば、
上記のように構成したので、異種ユーザから出された共
通資源の要求をアービトレーションすることができる。
【図面の簡単な説明】
【図1】共通バスを共用するユーザと異なるファミリに
ユーザを分類した全体構成を示すブロック図である。
【図2】ユーザファミリ1から出された要求を処理する
アービタ部分の詳細実施例を示すブロック図である。
【図3】ユーザファミリ2から出された要求を処理する
アービタ部分の詳細実施例を示すブロック図である。
【図4】ユーザファミリ3から出された要求を処理する
アービタ部分の詳細実施例を示すブロック図である。
【図5】割込み順位検出装置を示すブロック図である。
【符号の説明】
1,2,3 ファミリ 1−1〜1−3,2−1,2−2,3−1〜3−3 ユ
ーザ 4 共通バス 5 アービタ 10−1〜10−3 要求ライン 11−1〜11−3 認可ライン 40 デコード回路 46,60,66,80,86,100,102 AN
Dゲート 50,70,90 ラッチ 52,72,92 インバータ 56,62,76,96 ORゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フィリップ キュニィ フランス 06610 ラ ゴードゥ シュマ ン ドゥ カニュ 319 (72)発明者 フィリップ クレン フランス 06800 カニュ−シュール−メ ール ルートゥ ドゥ フランス 51 レ レジドンス ドゥ フランス (72)発明者 ジャン−ピエール リップ フランス 06800 カニュ−シュール−メ ール シュマン デ コレット 73 ル パール ヴィラ ニュメロ 8 (72)発明者 オリヴィエ, ミッシェル モーレル フランス 06110 ル カネ リュ フォ ルヴィル 15 (72)発明者 ベルナール ノーディン フランス 06700 サン ローラン デュ ヴァル コルニッシュ ダグリモン レ プロヴァンサル ニュメロ 10

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 選択されたユーザにアクセスを認可する
    ため、複数のユーザによる共通資源へのアクセス要求を
    アービトレーションする方法であって、 a)ユーザを異なるカテゴリに分類するステップと、 b)あるカテゴリの選択されたユーザが実行するタスク
    に割込みをかけて、最高特権レベルを持つカテゴリのユ
    ーザに資源へのアクセスを認可するため、各カテゴリの
    全てのユーザに、そのカテゴリのユーザの割込み能力を
    特徴付けた同一の特権レベルを割り当てるステップと、 c)各カテゴリの各ユーザに、そのカテゴリのユーザの
    選択順位を決定する通常優先権レベルを割り当て、前記
    ユーザ・カテゴリの前記特権レベルと各ユーザの優先権
    レベルは前記ユーザの優先レベルを構成し、最高特権レ
    ベルを持つカテゴリ内で最高優先権レベルを持つユーザ
    に最高優先レベルを割り当てるステップと、 d)資源を要求するユーザの優先レベルを分析して、最
    高優先レベルをもつユーザを判定するステップと、 e)選択されたユーザであって、ステップd)で判定さ
    れた最高優先レベルを持つユーザに資源へのアクセスを
    認可し、前記選択されたユーザがそのタスクを完了した
    とき、新しい分析ステップを実行するステップと、 f)ステップd)とステップe)で選択されたユーザの
    特権レベルより高い特権レベルを持つ少なくとも一人の
    ユーザが、資源の要求を行ったか否かを判定し、前記選
    択されたユーザのタスクに割込みをかけ、割り込みをか
    けられたユーザに、カテゴリ内のユーザの通常優先権レ
    ベルより高い割込み優先レベルを割り当て、ステップ
    d)とステップe)を実行することにより新しいユーザ
    を選択するステップとを備えたことを特徴とする方法。
  2. 【請求項2】 請求項1に記載の方法において、ステッ
    プd)で選択されたユーザの特権レベルより高い特権レ
    ベルを持つ少なくとも一人のユーザが要求を行うステッ
    プf)で判定されると直ちに、割込みをかけられたユー
    ザが設定した時点で新しいユーザに資源を再割り振りす
    ることを特徴とする方法。
  3. 【請求項3】 請求項1または2に記載の方法におい
    て、 g)割込みをかけられたユーザがそのタスクを完了した
    ことを検出し、前記割込みをかけられたユーザにその通
    常優先権レベルを再割り当てするステップを備えたこと
    を特徴とする方法。
  4. 【請求項4】 請求項1、2、3のいずれかに記載の方
    法をインプリメンテーションするための装置であって、 ユーザが資源へのアクセスを必要とするとき、前記ユー
    ザによって、活動化されたステータスにセットされる各
    ユーザごとの要求ラインと、 ユーザが選択された場合、そのユーザに資源へのアクセ
    スを認可する優先度解決手段によって、活動化されたス
    テータスにセットされる各ユーザごとの認可ラインと、 前記要求ラインの活動化されたステータスに応答して、
    最高優先レベルを持つユーザによって活動化されたステ
    ータスにセットされた要求ラインを判定し、前記ユーザ
    の認可ラインを活動化する優先度解決手段と、 要求ラインと認可ラインの活動化されたステータスに応
    答して、その認可ラインが活動化されたステータスにセ
    ットされているユーザの特権レベルより高い特権レベル
    を持つユーザがその要求ラインを活動化されたステータ
    スにセットしたか否かを判定し要求ラインを活動化され
    たステータスにセットし、制御信号を優先度解決手段に
    入力し、該優先度解決手段はその制御信号に応答して、
    少なくとも前記認可ラインをリセットし、より高い特権
    レベルを持つユーザの認可ラインを活動化する割込み検
    出手段と、 最高通常優先権レベルを持っていないカテゴリのユーザ
    の認可ラインの活動化されたステータスに応答し、最高
    特権レベルを持たないカテゴリで、それらのカテゴリの
    選択されたユーザに、該選択されたユーザがそのタスク
    を完了するまで、割込みレベルを割り当てる割込みレベ
    ル割当て手段とを備えたことを特徴とする装置。
  5. 【請求項5】 請求項4に記載の装置において、 割込みレベル割当て手段は、最高通常優先権レベルを持
    たないカテゴリのユーザの認可ラインの活動化されたス
    テータスに応答し、最高特権レベルを持たないカテゴリ
    で、優先度解決手段に対して禁止制御信号を生成する禁
    止手段であって、最高優先権レベルを持たないユーザの
    認可ラインが選択されたとき、禁止制御信号が活動化さ
    れ、そのカテゴリにおいてより高い通常優先権レベルを
    持つ他のユーザを選択することを、前記ユーザがそのタ
    スクを完了するまで禁止する禁止手段を備えたことを特
    徴とする装置。
  6. 【請求項6】 請求項5に記載の装置において、割込み
    レベル割当て手段は、ユーザの要求ラインのステータス
    に応答するタスク終了検出手段であって、選択されたユ
    ーザがその要求ラインを非活動化したとき、優先度解決
    手段に対してタスク終了制御信号を生成して、特定のユ
    ーザにその通常優先権レベルを再割り当てするためのタ
    スク終了検出手段を備えたことを特徴とする装置。
JP5108140A 1992-06-30 1993-05-10 データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置 Expired - Lifetime JPH0816874B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR92480096.4 1992-06-30
EP92480096A EP0576764A1 (en) 1992-06-30 1992-06-30 Method and apparatus for managing the access to a resource by several users in a data processing system

Publications (2)

Publication Number Publication Date
JPH0635729A true JPH0635729A (ja) 1994-02-10
JPH0816874B2 JPH0816874B2 (ja) 1996-02-21

Family

ID=8211791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5108140A Expired - Lifetime JPH0816874B2 (ja) 1992-06-30 1993-05-10 データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置

Country Status (3)

Country Link
US (1) US5530903A (ja)
EP (1) EP0576764A1 (ja)
JP (1) JPH0816874B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0156173B1 (ko) * 1995-11-21 1998-11-16 문정환 인터럽트 발생회로
US5958036A (en) * 1997-09-08 1999-09-28 Lucent Technologies Inc. Circuit for arbitrating interrupts with programmable priority levels
DE69724969D1 (de) 1997-10-29 2003-10-23 St Microelectronics Srl System zum Anschluss von Peripheriegeräten mit Prioritätarbitrierung, insbesondere in einem Mikrocontollerchip-Emulator
US6003102A (en) * 1997-12-31 1999-12-14 Sun Microsystems, Inc. Apparatus and method for arbitrating transactions requiring multiple addresses
GB2341768A (en) * 1998-09-18 2000-03-22 Pixelfusion Ltd Bus arbitration
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US7334229B1 (en) 1999-01-28 2008-02-19 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US6874144B1 (en) * 1999-04-05 2005-03-29 International Business Machines Corporation System, method, and program for implementing priority inheritance in an operating system
US6636914B1 (en) * 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
GB2364143A (en) * 2000-06-30 2002-01-16 Nokia Corp Resource allocation
EP1422628B1 (en) * 2001-08-02 2009-10-28 Panasonic Corporation Host apparatus, electronic device, and transmission system control method
KR100486247B1 (ko) * 2002-07-05 2005-05-03 삼성전자주식회사 버스의 사용 빈도를 제어할 수 있는 방법 및 장치
GB0222926D0 (en) * 2002-10-03 2002-11-13 Koninkl Philips Electronics Nv Media communications apparatus and method
US6976109B2 (en) * 2003-04-16 2005-12-13 Neomagic Israel Ltd. Multi-level and multi-resolution bus arbitration
DE102006027222A1 (de) * 2006-06-12 2007-12-13 Siemens Ag Verfahren und Vorrichtung zum Betrieb medizintechnischer Computerapplikationen in einem Computernetzwerk
US8255673B2 (en) * 2008-04-25 2012-08-28 Arm Limited Monitoring transactions in a data processing apparatus
US8761285B2 (en) 2012-02-22 2014-06-24 Cisco Technology, Inc. Application-aware dynamic bit-level error protection for modulation-based communication
US8811587B2 (en) * 2012-04-11 2014-08-19 International Business Machines Corporation Selectively filtering incoming communications events in a communications device
US9020945B1 (en) * 2013-01-25 2015-04-28 Humana Inc. User categorization system and method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4059851A (en) * 1976-07-12 1977-11-22 Ncr Corporation Priority network for devices coupled by a common bus
US4395753A (en) * 1980-06-26 1983-07-26 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a plurality of central processing units
US4381542A (en) * 1980-10-20 1983-04-26 Digital Equipment Corporation System for interrupt arbitration
JPS58222361A (ja) * 1982-06-18 1983-12-24 Fujitsu Ltd デ−タ処理システムにおけるアクセス要求の優先順位決定制御方式
AU562975B2 (en) * 1983-09-22 1987-06-25 Digital Equipment Corporation Message oriented interrupt mechanism for multiprocessor systems
JPS62231338A (ja) * 1986-03-31 1987-10-09 Toshiba Corp 優先順位決定方法および装置
JPS62239279A (ja) * 1986-04-09 1987-10-20 Fuji Electric Co Ltd ラスタ走査における走査方向切替方式
US4924380A (en) * 1988-06-20 1990-05-08 Modular Computer Systems, Inc. (Florida Corporation) Dual rotating priority arbitration method for a multiprocessor memory bus
US5168568A (en) * 1989-02-06 1992-12-01 Compaq Computer Corporation Delaying arbitration of bus access in digital computers
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines

Also Published As

Publication number Publication date
JPH0816874B2 (ja) 1996-02-21
US5530903A (en) 1996-06-25
EP0576764A1 (en) 1994-01-05

Similar Documents

Publication Publication Date Title
US6073132A (en) Priority arbiter with shifting sequential priority scheme
US5983302A (en) Method and apparatus for arbitration and access to a shared bus
JPH0635729A (ja) データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置
JP2625589B2 (ja) マルチプロセッサ・システム
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US5528767A (en) Programmable multi-level bus arbitration apparatus in a data processing system
US6976109B2 (en) Multi-level and multi-resolution bus arbitration
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
JPH02219156A (ja) アクセス優先順位決定装置およびバス・アービタ
NZ228785A (en) Microcomputer with cache subsystem: preempt signal limits access time of peripheral unit
JPH0740250B2 (ja) データ・バスへのアクセスを制御する装置
JPH07200318A (ja) 動的優先タスク・スケジューラを有するデータ処理システム
JPH08255126A (ja) バスアクセス調停システムおよびバスアクセスを認める方法
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
US5680554A (en) Method and apparatus for arbitrating among processors for access to a common bus
US5905878A (en) Method for controlling access to a computer bus
KR100237983B1 (ko) 주 및 부 디바이스에 대한 데이터 버스의 승인들을 균등화하기위한 방법 및 장치
US8140728B1 (en) Data packet arbitration system
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
US6745273B1 (en) Automatic deadlock prevention via arbitration switching
CN114756491B (zh) 一种基于群体决策算法的总线仲裁器及其实现方法
US7366811B2 (en) Bus arbitration system
JPH0210459A (ja) バス使用権決定方式
US20030101297A1 (en) Dynamic request pacing in switch systems