JP4170506B2 - Arbitration circuit and method - Google Patents
Arbitration circuit and method Download PDFInfo
- Publication number
- JP4170506B2 JP4170506B2 JP08230099A JP8230099A JP4170506B2 JP 4170506 B2 JP4170506 B2 JP 4170506B2 JP 08230099 A JP08230099 A JP 08230099A JP 8230099 A JP8230099 A JP 8230099A JP 4170506 B2 JP4170506 B2 JP 4170506B2
- Authority
- JP
- Japan
- Prior art keywords
- arbiter
- arbitration
- resource
- priority
- request information
- 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
Links
- 238000000034 method Methods 0.000 title claims description 16
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、共有資源、たとえば、メモリを複数のCPUや他の使用デバイスからの使用要求を調停する調停装置およびその方法に関する。
【0002】
【従来の技術】
従来、バス接続されたメモリに対して複数のデバイスが同時にアクセスしようとした場合に、使用を許可するデバイスを調停回路により決定する。
【0003】
そこで、本発明の目的は、要求を放棄する場合であっても調停時に共有資源の使用権を得ることができなかったデバイスが優先的に使用権を得ることができる調停装置およびその方法を提供することにある。
【0004】
【発明が解決しようとする課題】
しかしながら上記提案では共有資源が許可される使用要求が許可信号を得られるまでなされる場合にはあまり問題がないものの、要求信号を途中で放棄する場合には公平性が極端に低下する。また乱数器を使用する場合でも使用要求がランダムであるので、長期的に見れば共有資源の使用許可を受けることができる確率は複数のデバイスでは均一になる。しかしながら短期的にみると、ある特定のデバイスの確率が高くなってしまう。
【0005】
そこで、本発明の目的は、要求を放棄する場合であっても調停時に共有資源の使用権を得ることができなかったデバイスが優先的に使用権を得ることができる調停回路および方法を提供することにある。
【0006】
【課題を解決するための手段】
このような目的を達成するために、請求項1の発明は、複数のデバイスにより資源を共有するシステムにおいて、前記複数のデバイスから前記資源に対する使用要求が同時に送られてきた場合に、デバイスについてあらかじめ定めた優先順位に従って、使用要求を送った複数のデバイスの中の最優先のデバイスに前記資源の使用権を与える調停装置あって、
前記複数のデバイスと同数の複数のアービタであって、当該複数のアービタの各々は前記複数のデバイスの各々と対応付けられていて、自己に対して割り当てられているデバイスに対してあらかじめ定めた調停条件に従って前記資源の使用権を与える複数のアービタ(2−1〜2−4)を有し、
前記あらかじめ定めた調停条件は、自己のアービタに割り当てられたデバイスが前記使用権を得た場合、そのときに同時に発生した他のデバイスの前記資源に対する使用要求の発生個数に応じてあらかじめ定められた回数だけ、以後、自己のアービタに割り当てられたデバイスに対する使用権を放棄し、使用権を放棄していない場合には、自己のアービタに割り当てられたデバイスの優先順位がもっとも高い場合に自己のアービタに割り当てられたデバイスに前記資源の使用権を与えるという条件であり、前記複数のアービタの各々は、
前記使用権を放棄していない場合かつ前記使用権が得られなかった場合に次回の前記資源の使用権を他のアービタに対して主張するための優先権要求情報を生成し保持し、前記資源の使用権を放棄している間は使用権の放棄を示す情報を生成し保持する優先権要求情報生成保持手段(11、12)と、
前記共有資源に対する前記複数のデバイスの使用要求が発生するごとに、前記他のアービタから今回の調停のための優先権要求情報を受け取り、
自己のアービタが前記資源の使用権を放棄している場合には、自己のアービタに割り当てられたデバイスには前記資源の使用権を与えない、
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位が最も高い場合には自己のアービタに割り当てられたデバイスに前記資源の使用権を与え、
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位よりも、優先権要求情報を生成した他のアービタのデバイスの優先順が高い場合には、自己のアービタに割り当てられたデバイスに前記使用権を与えない
の判定を行う調停判定手段(13、14)とを
有し、
使用権を与えるの判定を行った調停判定手段のアービタから該アービタに割り当てられたデバイスに対して前記資源の使用許可を与えることを特徴とする。
【0007】
請求項2の発明は、請求項1に記載の調停装置において、前記優先権要求情報生成保持手段はシフトレジスタを有し、自己のアービタが前記資源の使用権を得た場合には、そのときに同時に発生した他のデバイスの前記資源に対する使用要求の発生個数に応じてあらかじめ定められた個数だけ、使用権の放棄を示すデータを前記シフトレジスタに記憶し、以後、調停が発生するごとに前記シフトレジスタに記憶されたデータをシフトすることにより、自己のアービタが使用権を放棄していることを前記自己のアービタの調停判定手段に伝えることを特徴とする。
【0008】
請求項3の発明は、請求項2に記載の調停装置において、自己のアービタが前記資源の使用権を得た場合には、前記使用権の放棄を示すデータに引き続き優先権要求情報を前記シフトレジスタに記憶し、自己のアービタが前記資源の使用権を得られなかった場合には前記シフトレジスタに記憶されているデータをシフトし、前記優先権要求情報をこれまでの記憶データに引き続いてシフトレジスタに記憶することを特徴とすることを特徴とする。
【0009】
請求項4の発明は、請求項3に記載の調停装置において、前記シフトレジスタの最後尾の記憶領域には、1つ前の記憶領域に記憶されているデータの値と自己のアービタに対応付けられている資源からの使用要求の有無との論理計算結果を記憶することにより、これまでに優先権要求を発生していても今回、自己のアービタに対応付けられている資源からの使用要求がない場合には優先権要求情報生成保持手段が優先権要求情報を生成しないようにしたことを特徴とする。
【0010】
請求項5の発明は、複数のデバイスにより資源を共有するシステムにおいて、前記複数のデバイスから前記資源に対する使用要求が同時に送られてきた場合に、デバイスについてあらかじめ定めた優先順位に従って、使用要求を送った複数のデバイスの中の最優先のデバイスに前記資源の使用権を与える調停装置の調停方法あって、前記調停装置は、
前記複数のデバイスと同数の複数のアービタであって、当該複数のアービタの各々は前記複数のデバイスの各々と対応付けられていて、自己に対して割り当てられているデバイスに対してあらかじめ定めた調停条件に従って前記資源の使用権を与える複数のアービタ(2−1〜2−4)を有し、
前記あらかじめ定めた調停条件は、自己のアービタに割り当てられたデバイスが前記使用権を得た場合、そのときに同時に発生した他のデバイスの前記資源に対する使用要求の発生個数に応じてあらかじめ定められた回数だけ、以後、自己のアービタに割り当てられたデバイスに対する使用権を放棄し、使用権を放棄していない場合には、自己のアービタに割り当てられたデバイスの優先順位がもっとも高い場合に自己のアービタに割り当てられたデバイスに前記資源の使用権を与えるという条件であり、
前記複数のアービタの各々は、優先権要求情報生成保持手段(11、12)および調停判定手段(13、14)を有し、
前記優先権要求情報生成保持手段により、前記使用権を放棄していない場合かつ前記使用権が得られなかった場合に次回の前記資源の使用権を他のアービタに対して主張するための優先権要求情報を生成し保持し、前記資源の使用権を放棄している間は使用権の放棄を示す情報を生成し保持し、
前記共有資源に対する前記複数のデバイスの使用要求が発生するごとに、前記他のアービタから今回の調停のための優先権要求情報を受け取り、
自己のアービタが前記資源の使用権を放棄している場合には、自己のアービタに割り当てられたデバイスには前記資源の使用権を与えない、
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位が最も高い場合には自己のアービタに割り当てられたデバイスに前記資源の使用権を与え、
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位よりも、優先権要求情報を生成した他のアービタのデバイスの優先順が高い場合には、自己のアービタに割り当てられたデバイスに前記使用権を与えない
の判定を前記調停判定手段により行い、
使用権を与えるの判定を行った調停判定手段のアービタから該アービタに割り当てられたデバイスに対して前記資源の使用許可を与えることを特徴とする。
【0011】
請求項6の発明は、請求項5に記載の調停装置の調停方法において、前記優先権要求情報生成保持手段はシフトレジスタを有し、自己のアービタが前記資源の使用権を得た場合には、そのときに同時に発生した他のデバイスの前記資源に対する使用要求の発生個数に応じてあらかじめ定められた個数だけ、使用権の放棄を示すデータを前記シフトレジスタに記憶し、以後、調停が発生するごとに前記シフトレジスタに記憶されたデータをシフトすることにより、自己のアービタが使用権を放棄していることを前記自己のアービタの調停判定手段に伝えることを特徴とする。
【0012】
請求項7の発明は、請求項6に記載の調停装置の調停方法において、自己のアービタが前記資源の使用権を得た場合には、前記使用権の放棄を示すデータに引き続き優先権要求情報を前記シフトレジスタに記憶し、以後調停が発生し自己のアービタが前記資源の使用権を得られなかった場合には前記シフトレジスタに記憶されているデータをシフトし、前記優先権要求情報をこれまでの記憶データに引き続いてシフトレジスタに記憶することを特徴とすることを特徴とする。
請求項8の発明は、請求項7に記載の調停装置の調停方法において、前記シフトレジスタの最後尾の記憶領域には、1つ前の記憶領域に記憶されているデータの値と自己のアービタに対応付けられている資源からの使用要求の有無との論理計算結果を記憶することにより、これまでに優先権要求を発生していても今回、自己のアービタに対応付けられている資源からの使用要求がない場合には優先権要求情報生成保持手段が優先権要求情報を生成しないようにしたことを特徴とする。
【0013】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。図1は本発明を適用した調停装置(回路)の回路構成を示す。
【0014】
図1において、0A,0B,0C,0Dは共有資源1に対する使用を要求する使用要求信号をそれぞれ転送する信号線である。2−1〜2−4は上記4つの信号線に対応する個数だけ設けられるアービタである。たとえばアービタAは信号線0Aから転送される使用要求信号と対応付けられ、この信号線の使用要求信号に対して共有資源の使用許可が与えられたときに、信号線00Aを介して、調停結果を示す信号を共有資源1に出力する。他のアービタB〜DもアービタAと同様の機能を有する。
【0015】
調停要求回路5は調停装置2に対して調停の実行を指示する。調停要求回路5の構成の一例を図2に示す。この回路例では、不図示のタイマーによりバーストサイクル等の最大アクセス時間の終了が検知されたとき、アクセス権のある信号線(チャンネル)の使用要求解除があったとき、共有資源1のアクセス状態に応じて、上記各状態を示す信号を調停要求信号0SとしてアービタA〜Dに出力する。
【0016】
このような機能を持つアービタ2の構成をアービタAを例にして説明する。図3はアービタA(他も同様)を回路構成を示す。
【0017】
図3において、優先要求情報生成回路11は表1の生成条件に従って信号線Aについての優先要求情報を生成する。
【0018】
【表1】
【0019】
優先権要求情報には、$A[0]〜$[3]の4種類がある。信号線0A〜0Dに使用要求信号が発生し、信号線0Aに対して共有資源の使用権が与えられたときに、使用要求信号の発生個数に応じて、$A[0]〜$A[3]の値が定められる。他の信号線(0B〜0D)上に1以上使用要求があるとき$A[0]の値が“0”(優先権要求放棄)の値に設定される。
【0020】
2以上の使用要求があるときは$A[1]の値が“0”に設定される。3以上の使用要求があるときは$A[2]の値が“0”に設けられる。$A[3]は優先権要求を示す“1”を設定する。
【0021】
優先要求情報保持回路12はシフトレジスタで構成され、上述の値を図3に示す位置のレジスタに保持する。また調停要求信号0Sが発生する毎に保持する値をシフトする。この値のシフトによって、自己の信号線(この場合、0A)では1度使用権を得た後、同時発生の使用要求信号の個数に応じた調停回数だけ優先要求情報(ビット“1”)の発生が停止される(優先権を放棄)。
【0022】
調停判定回路13は信号線0A,0BB,0CC,0DDからの信号と、優先要求情報保持回路12からの信号を入力し、信号線Aについての使用権の授与/不授与を表2および表3の判定条件に従って決定する。その決定結果に応じて、アクセス信号保持回路14が00A信号により共有資源1をアクセス可能とする。
【0023】
【表2】
【0024】
【表3】
【0025】
表2は信号線Aについて優先要求および使用要求の信号に基き、アービタAから他のアービタB〜Dに出力する優先要求信号0AAのビット値を決定するための条件を示す。
【0026】
表3は各アービタ間で転送される優先要求信号のビット値と、共有資源1の使用許可を与える信号線との関係を示す。
【0027】
以下、図4および図5を参照して図1の調停装置の調停動作を説明する。図4および図5は信号線0A〜0D上の使用要求信号の時間的な変化の状態と、各アービタの優先要求情報保持回路12で保持される値との対応関係を示す。
【0028】
時刻T1で信号線0A〜0D上に使用要求が出力されていない場合、これらの信号線上のビット値は全て“0”となる。また、各アービタの優先要求情報保持回路12で保持される$A(3)〜$A(0),$B(3)〜$B(0)・・・の値はデフォルト値“1”が設定される。
【0029】
調停要求回路5からの調停要求信号0SがタイミングT2で発生すると、各アービタは信号線0A〜0D上の使用要求信号を優先要求情報生成回路11に入力する。
【0030】
また、アービタAの調停判定回路13は信号線0A上の使用要求信号を入力し、アービタBの調停判定回路13は信号線0B上の使用要求信号というように各調停判定回路13は自己に割当てられた使用要求信号を入力する。
【0031】
時刻T2では図4に示すように、保持されている$A(0)の値が“1”であるので、アービタAの調停判定回路13は表2の調停判定条件に従って、優先要求信号0AAをビットをビット“1”に設定する。
【0032】
アービタB,C,Dでは優先要求信号0BB〜0DDをビット“1”に設定する。これらの優先要求信号の値が設定されると、各アービタの調停判定回路13では表3のアクセス決定条件に従って共有資源1に使用権を与えるアービタを決定する。
【0033】
表3の条件ではアービタA,B,C,Dの順位で優先順位が定められている。このため、アービタAについての0AAの優先要求信号が“1”の場合には他のアービタの優先要求信号の値にかかわらず、アービタAに共有資源1に対する使用権が与えられ、アービタAのアクセス信号00Aがビット“1”となり、信号線0Aの使用要求信号を発生したデバイスが共有資源1を使用することが可能となる。
【0034】
一方、他のアービタB〜Dでは表3の条件に従って、アクセス信号を“0”に設定するので、信号線0B〜0D上の使用要求信号を発生したデバイスは共有資源1を使用することができない。
【0035】
この時点(T2)でアービタAが共有資源1の使用権を取得する。使用権が与えられなかった他のアービタが受け持つ使用要求信号の個数は“3”であるので、アービタAの優先情報保持回路12が保持する値は、表1に従って決定され、$A[3]=1、$A[2]=0、$A[1]=0、$A[0]=0(図4の時刻T2のアービタA,次回データを参照)
【0036】
アービタB〜Dでは時刻T2で使用権要求信号が発生したにもかかわらず、共有資源1の使用権が与えられなかったので、表1の「アクセス権を得られぬアービタB等」の条件に従って、たとえば、アービタBでは$[3]の値を$B[2]にシフトし、$B[2]の値を$B[1]にシフトする。また、$B[0]には$B[1]と信号OBの論理値が保持される。
【0037】
このようにして、アービタB〜Dでは$[3]〜$[0]が決定される。この例ではアービタB〜Dの$[0]の値は“1”となる(図4参照)。
【0038】
次の調停時刻T3において、図4に示すような使用要求信号が発生したとする。この例では、信号線0A,0B,0Dが使用要求発生、信号線0Cが使用放棄となっている。
【0039】
この時刻T3で各アービタの調停判定回路13は、自己の$[0]の値と、自己の担当する今回の使用要求信号の値に基き、表2の条件に従って、優先要求信号0AA〜0DDの値を決定する。前回、共有資源1の使用権を取得したアービタAでは$A[0]の値が“0”であるので、優先要求信号の値は“0”(優先要求無し)となる。
【0040】
アービタBでは$B[0]の値が“1”(図4参照)であり、前回に引き続き、今回も使用要求が発生しているので、優先要求信号0BBの値は“1”となる。アービタCでは今回の使用要求が発生していないので、表2の条件に従って優先要求信号0CCの値は“0”となる。
【0041】
アービタDはアービタBと同じ条件が適用され、優先要求信号0DDの値は“1”となる。
【0042】
この結果、アービタAは前回共有資源1の使用権を得たので、今回は使用権放棄となり、アービタBとDが優先要求権を持つことになる。
【0043】
複数の優先要求権が同時に発生した場合、表3に従って調停が行なわれる。この例ではアービタBが優先順位が高いので、アービタBに対して共有資源1の使用権が与えられる。
【0044】
なお、本形態では所定回数は同時発生の使用要求信号の個数に応じて定まるがこの点は後述する。
【0045】
連続して同一信号線上の使用要求信号を受付け、共有資源1の使用権が得られなかったアービタB,Dは次回に調停時には、使用要求を入力し、優先権のない他のアービタAよりも共有資源1の使用要求に対して優先権を持つ。さらに、優先要求権を持つ複数のアービタA〜Dが発生した場合は、予め定めたアービタの優先順位に従って、優先要求権を与えるアービタを決定する。
【0046】
次に、時刻T2で共有資源1の使用権を取得したアービタAの以後の動作を説明する。時刻T2で共有資源1の使用権を取得したときに、アービタA内の優先要求信号の$A[2]〜$A[0]はビット“0”に設定される(図4参照)。
【0047】
この時点で使用要求が発生した個数は自己を入れて4つであったので、他3つのアービタに優先要求権を譲るために$A[2]〜$A[0]の3つのデータが選択される。たとえば使用要求が発生した個数が自己を入れて2の場合には$A[0]にビット“0”が設定される。
【0048】
このように$A[0]〜$A[2]にビット“0”を設定すると、次の時刻T3では、表2の判定条件によりアービタAには優先要求権が与えられない。
【0049】
以下、$Aの値は図4,図5に示すように順次に[3]から[0]に向ってシフトされるので、時刻T3,T4,T5の3回はアービタAは優先要求権を得ることはできず、時刻T6で優先要求権を得ることができる。
【0050】
以上、説明したように、一度、共有資源1の使用権を取得したアービタAは、その時点で発生した他の使用要求(3つ)のために調停回数において3回優先要求権を放棄するので、他のアービタでは、以後、連続的に使用要求を受けつけている限りは、3回以内に必ず共有資源1の使用権を得ることができる。
【0051】
上述の実施形態の他に次の形態を実施できる。
【0052】
1)上述の実施形態では4つのチャンネル(信号線)についての調停装置を説明したがこの個数に限定する必要はない。
【0053】
2)共通資源1はメモリを例としたがメモリに限らず、共有バス等他のデバイスにも本発明を適用できる。
【0054】
【発明の効果】
以上、説明したように、請求項1,5の発明によれば、共有資源の使用権を、取得したかどうかで動的に優先要求情報を更新するので、その間に、使用権が得られなかった使用要求で、優先権を持つ使用要求が必ず共有資源の使用権を得ることができ、使用権を得る確率が均等となり、かつ、使用権が得られない場合にも一定期間内に必ず使用権を取得することが可能となる。
【0055】
請求項2,6の発明によれば、使用権を得たかの情報がより細やかになり、さらに公平性が向上する。
【0056】
請求項3,7の発明では、優先権を持つ使用要求が複数存在する場合には予め定めた優先順により使用権が与えられる。この場合でも、使用権が与えられると、その使用要求に対しては以後、優先権が放棄されるので、使用権が得られず、優先権を持つ使用要求が優先される。
【0057】
請求項4の発明では、上記の制御が小規模の回路構成で達成できる。
【図面の簡単な説明】
【図1】本発明実施形態の回路構成を示す回路図である。
【図2】本発明実施形態の調停要求回路5の回路構成を示す回路図である。
【図3】本発明実施形態のアービタの構成を示す回路図である。
【図4】本発明実施形態の調停内容を示す説明図である。
【図5】本発明実施形態の調停内容を示す説明図である。
【符号の説明】
1 共有資源
2 アービタ
5 調停要求回路
11 優先要求情報発生回路
12 優先要求情報保持回路
13 調停判定回路
14 アクセス信号保持回路[0001]
BACKGROUND OF THE INVENTION
The present invention, shared resources, for example, relates to arbitration device and method for arbitrating use request memory from a plurality of CPU or other device used.
[0002]
[Prior art]
Conventionally, when a plurality of devices attempt to access a bus-connected memory at the same time, a device to be used is determined by an arbitration circuit.
[0003]
An object of the present invention, provides an arbitration device and method that device could not get the right to use the shared resource during arbitration even if it is possible to obtain a preferential use right to abandon the request There is to do.
[0004]
[Problems to be solved by the invention]
However, in the above proposal, there is not much problem when a use request for permitting shared resources is made until a permission signal is obtained, but when the request signal is abandoned, the fairness is extremely lowered. Even when a random number device is used, since the usage request is random, the probability that the use permission of the shared resource can be obtained becomes uniform in a plurality of devices in the long term. However, in the short term, the probability of a particular device will increase.
[0005]
Therefore, an object of the present invention is to provide an arbitration circuit and method in which a device that has not been able to obtain a use right of a shared resource at the time of arbitration can preferentially obtain the use right even when the request is abandoned. There is.
[0006]
[Means for Solving the Problems]
In order to achieve such an object, the invention according to
A plurality of arbiters equal in number to the plurality of devices, each of the plurality of arbiters being associated with each of the plurality of devices and pre-arbitrated for a device assigned to itself A plurality of arbiters (2-1 to 2-4) that give the right to use the resource according to conditions;
The predetermined arbitration condition is predetermined according to the number of use requests for the resources of other devices generated at the same time when the device assigned to the arbiter obtains the use right. After that, the right to use the device assigned to its own arbiter is relinquished, and if the right to use is not relinquished, the device assigned to its own arbiter has its highest priority. And granting the right to use the resource to the device assigned to each of the plurality of arbiters,
If the use right is not abandoned and the use right is not obtained, priority request information for asserting the next use right of the resource to another arbiter is generated and held, and the resource Priority request information generation / holding means (11, 12) for generating and holding information indicating the waiver of the usage right while the usage right is being abandoned;
Each time a request for using the plurality of devices for the shared resource occurs, priority request information for the current arbitration is received from the other arbiter,
If the arbiter has renounced the right to use the resource, the device assigned to the arbiter is not granted the right to use the resource;
When the priority request information generation / holding means of the own arbiter generates priority request information, and the device assigned to the own arbiter has the highest priority, it is assigned to the device assigned to the own arbiter. Give the right to use the resource,
When the priority request information generation / holding means of the own arbiter is generating the priority request information, the device of another arbiter that has generated the priority request information rather than the priority of the device assigned to the own arbiter If the priority of the device is high, the right to use is not granted to the device assigned to its arbiter.
Arbitration determination means (13, 14) for determining
Have
The arbiter of the arbitration determination unit that has determined whether to give the right to use grants permission to use the resource to the device assigned to the arbiter.
[0007]
According to a second aspect of the present invention, in the arbitration device according to the first aspect, the priority request information generation / holding means includes a shift register, and if the arbiter obtains the right to use the resource, In the shift register, data indicating abandonment of usage rights is stored in the shift register by a predetermined number according to the number of usage requests for the resources of other devices that are generated at the same time. By shifting the data stored in the shift register, the arbitration determining means of the own arbiter is informed that the own arbiter has abandoned the right to use.
[0008]
According to a third aspect of the present invention, in the arbitration device according to the second aspect, when the arbiter obtains the right to use the resource, the priority request information is shifted to the data indicating the waiver of the right to use. If the arbiter cannot obtain the right to use the resource, the data stored in the shift register is shifted, and the priority request information is shifted to the previous stored data. It is characterized in that it is stored in a register.
[0009]
According to a fourth aspect of the present invention, in the arbitration device according to the third aspect, the last storage area of the shift register is associated with the value of the data stored in the previous storage area and its own arbiter. By storing the logical calculation result of whether or not there is a use request from the resource that has been assigned, even if a priority request has been generated so far, the use request from the resource associated with its own arbiter If not, the priority request information generation / holding means does not generate priority request information.
[0010]
According to a fifth aspect of the present invention, in a system in which a resource is shared by a plurality of devices, when a use request for the resource is sent from the plurality of devices at the same time, the use request is sent according to a predetermined priority order for the device. There is an arbitration method of an arbitration device that gives the right to use the resource to the highest priority device among a plurality of devices, the arbitration device comprising:
A plurality of arbiters equal in number to the plurality of devices, each of the plurality of arbiters being associated with each of the plurality of devices and pre-arbitrated for a device assigned to itself A plurality of arbiters (2-1 to 2-4) that give the right to use the resource according to conditions;
The predetermined arbitration condition is predetermined according to the number of use requests for the resources of other devices generated at the same time when the device assigned to the arbiter obtains the use right. After that, the right to use the device assigned to its own arbiter is relinquished, and if the right to use is not relinquished, the device assigned to its own arbiter has its highest priority. And granting the right to use the resource to the device assigned to
Each of the plurality of arbiters has priority request information generation / holding means (11, 12) and arbitration determination means (13, 14),
The priority for asserting the next use right of the resource to another arbiter when the use right is not abandoned and the use right is not obtained by the priority request information generation / holding means. Generate and hold request information, and generate and hold information indicating waiver of the usage right while waiving the right to use the resource,
Each time a request for using the plurality of devices for the shared resource occurs, priority request information for the current arbitration is received from the other arbiter,
If the arbiter has renounced the right to use the resource, the device assigned to the arbiter is not granted the right to use the resource;
When the priority request information generation / holding means of the own arbiter generates priority request information, and the device assigned to the own arbiter has the highest priority, it is assigned to the device assigned to the own arbiter. Give the right to use the resource,
When the priority request information generation / holding means of the own arbiter is generating the priority request information, the device of another arbiter that has generated the priority request information rather than the priority of the device assigned to the own arbiter If the priority of the device is high, the right to use is not granted to the device assigned to its arbiter.
Is determined by the arbitration determination means,
The arbiter of the arbitration determination unit that has determined whether to give the right to use grants permission to use the resource to the device assigned to the arbiter.
[0011]
According to a sixth aspect of the present invention, in the arbitration method of the arbitration device according to the fifth aspect, the priority request information generation / holding means includes a shift register, and when the arbiter obtains the right to use the resource. A predetermined number of data indicating the abandonment of usage rights is stored in the shift register in accordance with the number of usage requests for the resources of other devices generated at the same time, and then arbitration occurs. By shifting the data stored in the shift register every time, the arbitration determination means of the own arbiter is informed that the own arbiter has abandoned the right to use.
[0012]
According to a seventh aspect of the present invention, in the arbitration method of the arbitration device according to the sixth aspect, when the arbiter obtains the right to use the resource, the priority request information continues following the data indicating the waiver of the right to use. Is stored in the shift register, and when arbitration occurs and the arbiter cannot obtain the right to use the resource, the data stored in the shift register is shifted, and the priority request information is transferred to the shift register. It is characterized in that it is stored in a shift register subsequent to the stored data up to.
According to an eighth aspect of the present invention, in the arbitration method of the arbitration device according to the seventh aspect, in the last storage area of the shift register, the value of data stored in the previous storage area and its own arbiter By storing the logical calculation result of whether or not there is a usage request from the resource associated with the resource, even if a priority request has been generated so far, the resource from the resource associated with its own arbiter It is characterized in that priority request information generation / holding means does not generate priority request information when there is no use request.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a circuit configuration of an arbitration device (circuit) to which the present invention is applied.
[0014]
In FIG. 1, reference numerals 0A, 0B, 0C, and 0D denote signal lines for transferring use request signals for requesting use of the shared
[0015]
The arbitration request circuit 5 instructs the
[0016]
The configuration of the
[0017]
In FIG. 3, the priority request
[0018]
[Table 1]
[0019]
There are four types of priority request information, $ A [0] to $ [3]. When a use request signal is generated on the signal lines 0A to 0D and the use right of the shared resource is given to the signal line 0A, $ A [0] to $ A [ 3] is determined. When one or more use requests are made on other signal lines (0B to 0D), the value of $ A [0] is set to a value of “0” (priority request abandonment).
[0020]
When there are two or more usage requests, the value of $ A [1] is set to “0”. When there is a usage request of 3 or more, the value of $ A [2] is set to “0”. $ A [3] sets “1” indicating a priority request.
[0021]
The priority request
[0022]
The
[0023]
[Table 2]
[0024]
[Table 3]
[0025]
Table 2 shows conditions for determining the bit value of the priority request signal 0AA output from the arbiter A to the other arbiters B to D based on the priority request and use request signals for the signal line A.
[0026]
Table 3 shows the relationship between the bit value of the priority request signal transferred between the arbiters and the signal line that gives permission to use the shared
[0027]
Hereinafter, the arbitration operation of the arbitration device in FIG. 1 will be described with reference to FIGS. 4 and 5. 4 and 5 show the correspondence between the temporal change states of the use request signals on the signal lines 0A to 0D and the values held in the priority request
[0028]
When use requests are not output on the signal lines 0A to 0D at time T1, the bit values on these signal lines are all “0”. The values of $ A (3) to $ A (0), $ B (3) to $ B (0)... Held by the priority request
[0029]
When the arbitration request signal 0S from the arbitration request circuit 5 is generated at the timing T2, each arbiter inputs a use request signal on the signal lines 0A to 0D to the priority request
[0030]
Further, the
[0031]
At time T2, as shown in FIG. 4, since the value of $ A (0) held is “1”, the
[0032]
In the arbiters B, C, and D, the priority request signals 0BB to 0DD are set to the bit “1”. When the values of these priority request signals are set, the
[0033]
Under the conditions in Table 3, the priorities are determined in the order of arbiters A, B, C, and D. Therefore, when the priority request signal of 0AA for the arbiter A is “1”, the right to use the shared
[0034]
On the other hand, in the other arbiters B to D, the access signal is set to “0” according to the conditions of Table 3, so that the device that has generated the use request signal on the signal lines 0 B to 0 D cannot use the shared
[0035]
Arbiter A is that Tokusu preparative use right of the shared
[0036]
In arbiters B to D, the usage right request signal is generated at
[0037]
In this way, arbiters B to D determine $ [3] to $ [0]. In this example, the value of $ [0] of the arbiters B to D is “1” (see FIG. 4).
[0038]
Assume that a use request signal as shown in FIG. 4 is generated at the next arbitration time T3. In this example, the signal lines 0A, 0B, and 0D are used, and the signal line 0C is abandoned.
[0039]
At this time T3, the
[0040]
In the arbiter B, the value of $ B [0] is “1” (see FIG. 4), and since the use request is generated again this time, the value of the priority request signal 0BB is “1”. Since the current use request is not generated in the arbiter C, the value of the priority request signal 0CC is “0” according to the conditions in Table 2.
[0041]
Arbiter D has the same conditions as arbiter B, and the value of priority request signal 0DD is “1”.
[0042]
As a result, since the arbiter A has obtained the right to use the shared
[0043]
When a plurality of priority request rights occur simultaneously, arbitration is performed according to Table 3. In this example, since the arbiter B has a high priority, the right to use the shared
[0044]
In the present embodiment, the predetermined number of times is determined according to the number of simultaneous use request signals, which will be described later.
[0045]
The arbiters B and D that continuously receive use request signals on the same signal line and have not obtained the use right of the shared
[0046]
Next, the subsequent operation of the arbiter A that acquired the right to use the shared
[0047]
Since the number of use requests generated at this point is four including the self, three data of $ A [2] to $ A [0] are selected to give priority request right to the other three arbiters. Is done. For example, if the number of usage requests is 2, including itself, bit “0” is set in $ A [0].
[0048]
When the bit “0” is set in $ A [0] to $ A [2] as described above, the priority request right is not given to the arbiter A at the next time T3 due to the determination condition shown in Table 2.
[0049]
Since the value of $ A is sequentially shifted from [3] to [0] as shown in FIGS. 4 and 5, the arbiter A has the priority request right three times at times T3, T4 and T5. The priority request right can be obtained at time T6.
[0050]
As described above, the arbiter A that once acquired the right to use the shared
[0051]
In addition to the above embodiment, the following embodiment can be implemented.
[0052]
1) In the above-described embodiment, the arbitration device for four channels (signal lines) has been described. However, the number of arbitration devices is not limited to this number.
[0053]
2) The
[0054]
【The invention's effect】
As described above, according to the first and fifth aspects of the invention, the priority request information is dynamically updated depending on whether or not the right to use the shared resource has been acquired. The use request with priority can always obtain the right to use the shared resource, the probability of obtaining the use right is equal, and even if the right to use cannot be obtained, it must be used within a certain period of time. The right can be acquired.
[0055]
According to the second and sixth aspects of the invention, the information on whether or not the right to use is obtained becomes more detailed, and the fairness is further improved.
[0056]
According to the third and seventh aspects of the present invention, when there are a plurality of usage requests having priority, the usage right is given in a predetermined priority order. Even in this case, if the right to use is given, the right to use is subsequently abandoned, so that the right to use cannot be obtained, and the use request with priority is given priority.
[0057]
In the invention of
[Brief description of the drawings]
FIG. 1 is a circuit diagram showing a circuit configuration of an embodiment of the present invention.
FIG. 2 is a circuit diagram showing a circuit configuration of an arbitration request circuit 5 according to an embodiment of the present invention.
FIG. 3 is a circuit diagram showing a configuration of an arbiter according to an embodiment of the present invention.
FIG. 4 is an explanatory diagram showing details of mediation according to an embodiment of the present invention.
FIG. 5 is an explanatory diagram showing details of arbitration according to an embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF
Claims (8)
前記複数のデバイスと同数の複数のアービタであって、当該複数のアービタの各々は前記複数のデバイスの各々と対応付けられていて、自己に対して割り当てられているデバイスに対してあらかじめ定めた調停条件に従って前記資源の使用権を与える複数のアービタ(2−1〜2−4)を有し、A plurality of arbiters equal in number to the plurality of devices, each of the plurality of arbiters being associated with each of the plurality of devices and pre-arbitrated for a device assigned to itself A plurality of arbiters (2-1 to 2-4) that give the right to use the resource according to conditions;
前記あらかじめ定めた調停条件は、自己のアービタに割り当てられたデバイスが前記使用権を得た場合、そのときに同時に発生した他のデバイスの前記資源に対する使用要求の発生個数に応じてあらかじめ定められた回数だけ、以後、自己のアービタに割り当てられたデバイスに対する使用権を放棄し、使用権を放棄していない場合には、自己のアービタに割り当てられたデバイスの優先順位がもっとも高い場合に自己のアービタに割り当てられたデバイスに前記資源の使用権を与えるという条件であり、前記複数のアービタの各々は、The predetermined arbitration condition is predetermined according to the number of use requests for the resources of other devices generated at the same time when the device assigned to the arbiter obtains the use right. After that, the right to use the device assigned to its own arbiter is relinquished, and if the right to use is not relinquished, the device assigned to its own arbiter has its highest priority. And granting the right to use the resource to the device assigned to each of the plurality of arbiters,
前記使用権を放棄していない場合かつ前記使用権が得られなかった場合に次回の前記資源の使用権を他のアービタに対して主張するための優先権要求情報を生成し保持し、前記資源の使用権を放棄している間は使用権の放棄を示す情報を生成し保持する優先権要求情報生成保持手段(11、12)と、If the use right is not abandoned and the use right is not obtained, priority request information for asserting the next use right of the resource to another arbiter is generated and held, and the resource Priority request information generation / holding means (11, 12) for generating and holding information indicating the waiver of the usage right while the usage right is being abandoned;
前記共有資源に対する前記複数のデバイスの使用要求が発生するごとに、前記他のアービタから今回の調停のための優先権要求情報を受け取り、Each time a request for using the plurality of devices for the shared resource occurs, priority request information for the current arbitration is received from the other arbiter,
自己のアービタが前記資源の使用権を放棄している場合には、自己のアービタに割り当てられたデバイスには前記資源の使用権を与えない、If the arbiter has renounced the right to use the resource, the device assigned to the arbiter is not granted the right to use the resource;
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位が最も高い場合には自己のアービタに割り当てられたデバイスに前記資源の使用権を与え、When the priority request information generation / holding means of the own arbiter generates priority request information, and the device assigned to the own arbiter has the highest priority, it is assigned to the device assigned to the own arbiter. Give the right to use the resource,
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位よりも、優先権要求情報を生成した他のアービタのデバイスの優先順が高い場合には、自己のアービタに割り当てられたデバイスに前記使用権を与えないWhen the priority request information generation / holding means of the own arbiter is generating the priority request information, the device of another arbiter that has generated the priority request information rather than the priority of the device assigned to the own arbiter If the priority of the device is high, the right to use is not granted to the device assigned to its arbiter.
の判定を行う調停判定手段(13、14)とをArbitration determination means (13, 14) for determining
有し、Have
使用権を与えるの判定を行った調停判定手段のアービタから該アービタに割り当てられたデバイスに対して前記資源の使用許可を与えることを特徴とする調停装置。An arbitration device that grants the use permission of the resource to a device assigned to the arbiter from an arbiter of an arbitration determination unit that has determined whether to give a usage right.
前記複数のデバイスと同数の複数のアービタであって、当該複数のアービタの各々は前記複数のデバイスの各々と対応付けられていて、自己に対して割り当てられているデバイスに対してあらかじめ定めた調停条件に従って前記資源の使用権を与える複数のアービタ(2−1〜2−4)を有し、A plurality of arbiters equal in number to the plurality of devices, each of the plurality of arbiters being associated with each of the plurality of devices and pre-arbitrated for a device assigned to itself A plurality of arbiters (2-1 to 2-4) that give the right to use the resource according to conditions;
前記あらかじめ定めた調停条件は、自己のアービタに割り当てられたデバイスが前記使用権を得た場合、そのときに同時に発生した他のデバイスの前記資源に対する使用要求の発生個数に応じてあらかじめ定められた回数だけ、以後、自己のアービタに割り当てられたデバイスに対する使用権を放棄し、使用権を放棄していない場合には、自己のアービタに割り当てられたデバイスの優先順位がもっとも高い場合に自己のアービタに割り当てられたデバイスに前記資源の使用権を与えるという条件であり、The predetermined arbitration condition is predetermined according to the number of use requests for the resources of other devices generated at the same time when the device assigned to the arbiter obtains the use right. After that, the right to use the device assigned to its own arbiter is relinquished, and if the right to use is not relinquished, the device assigned to its own arbiter has its highest priority. And granting the right to use the resource to the device assigned to
前記複数のアービタの各々は、優先権要求情報生成保持手段(11、12)および調停判定手段(13、14)を有し、Each of the plurality of arbiters has priority request information generation / holding means (11, 12) and arbitration determination means (13, 14),
前記優先権要求情報生成保持手段により、前記使用権を放棄していない場合かつ前記使用権が得られなかった場合に次回の前記資源の使用権を他のアービタに対して主張するための優先権要求情報を生成し保持し、前記資源の使用権を放棄している間は使用権の放棄を示す情報を生成し保持し、The priority for asserting the next use right of the resource to another arbiter when the use right is not abandoned and the use right is not obtained by the priority request information generation / holding means. Generate and hold request information, and generate and hold information indicating waiver of the usage right while waiving the right to use the resource,
前記共有資源に対する前記複数のデバイスの使用要求が発生するごとに、前記他のアービタから今回の調停のための優先権要求情報を受け取り、Each time a request for using the plurality of devices for the shared resource occurs, priority request information for the current arbitration is received from the other arbiter,
自己のアービタが前記資源の使用権を放棄している場合には、自己のアービタに割り当てられたデバイスには前記資源の使用権を与えない、If the arbiter has renounced the right to use the resource, the device assigned to the arbiter is not granted the right to use the resource;
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位が最も高い場合には自己のアービタに割り当てられたデバイスに前記資源の使用権を与え、When the priority request information generation / holding means of the own arbiter generates priority request information, and the device assigned to the own arbiter has the highest priority, it is assigned to the device assigned to the own arbiter. Give the right to use the resource,
自己のアービタの優先権要求情報生成保持手段が優先権要求情報を生成している場合で、自己のアービタに割り当てられたデバイスの優先順位よりも、優先権要求情報を生成した他のアービタのデバイスの優先順が高い場合には、自己のアービタに割り当てられたデバイスに前記使用権を与えないWhen the priority request information generation / holding means of the own arbiter is generating the priority request information, the device of another arbiter that has generated the priority request information rather than the priority of the device assigned to the own arbiter If the priority of the device is high, the right to use is not granted to the device assigned to its arbiter.
の判定を前記調停判定手段により行い、Is determined by the arbitration determination means,
使用権を与えるの判定を行った調停判定手段のアービタから該アービタに割り当てられたデバイスに対して前記資源の使用許可を与えることを特徴とする調停装置の調停方法。An arbitration method for an arbitration device, wherein an arbitration determination unit that determines whether to give a right to use grants permission to use the resource to a device assigned to the arbiter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08230099A JP4170506B2 (en) | 1999-03-25 | 1999-03-25 | Arbitration circuit and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08230099A JP4170506B2 (en) | 1999-03-25 | 1999-03-25 | Arbitration circuit and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000276440A JP2000276440A (en) | 2000-10-06 |
JP4170506B2 true JP4170506B2 (en) | 2008-10-22 |
Family
ID=13770713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08230099A Expired - Fee Related JP4170506B2 (en) | 1999-03-25 | 1999-03-25 | Arbitration circuit and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4170506B2 (en) |
-
1999
- 1999-03-25 JP JP08230099A patent/JP4170506B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000276440A (en) | 2000-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4480427B2 (en) | Resource management device | |
US4969120A (en) | Data processing system for time shared access to a time slotted bus | |
US5572686A (en) | Bus arbitration scheme with priority switching and timer | |
KR100280563B1 (en) | Method and system for controlling access to a shared resource in a data processing system utilizing dynamically-determined weighted pseudo-random priorities | |
JPH0664563B2 (en) | Method for allocating access to data processing resources and arbitrator therefor | |
US6907491B2 (en) | Methods and structure for state preservation to improve fairness in bus arbitration | |
KR19980079675A (en) | Method and system for controlling access to shared resources in data processing system using pseudo random priority | |
US8260993B2 (en) | Method and apparatus for performing arbitration | |
US6571306B1 (en) | Bus request mechanism for bus master which is parked on a shared bus | |
US5758104A (en) | Random delay subsystems | |
JP4170506B2 (en) | Arbitration circuit and method | |
KR100973419B1 (en) | Method and apparatus for arbitrating a bus | |
JP5677007B2 (en) | Bus arbitration device and bus arbitration method | |
US7130947B2 (en) | Method of arbitration which allows requestors from multiple frequency domains | |
JP4151362B2 (en) | Bus arbitration method, data transfer device, and bus arbitration method | |
JP3987750B2 (en) | Memory control device and LSI | |
JP2006251875A (en) | Bus arbitration device and bus arbitration method | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device | |
JPH06266657A (en) | Information processor | |
KR100263791B1 (en) | Method for bus arbitration using priority | |
JP3699529B2 (en) | Bus control device | |
JP2694812B2 (en) | Arbitration system | |
JP2001167049A (en) | Bus arbitrating device | |
JP2004062333A (en) | Picture processor | |
JP2001067308A (en) | Bus arbitration circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051025 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080620 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080711 |
|
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: 20080807 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |