JPWO2013038589A1 - 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム - Google Patents

資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム Download PDF

Info

Publication number
JPWO2013038589A1
JPWO2013038589A1 JP2013509346A JP2013509346A JPWO2013038589A1 JP WO2013038589 A1 JPWO2013038589 A1 JP WO2013038589A1 JP 2013509346 A JP2013509346 A JP 2013509346A JP 2013509346 A JP2013509346 A JP 2013509346A JP WO2013038589 A1 JPWO2013038589 A1 JP WO2013038589A1
Authority
JP
Japan
Prior art keywords
resource
counter
counter value
value
resource requesting
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
JP2013509346A
Other languages
English (en)
Other versions
JP6057179B2 (ja
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2013038589A1 publication Critical patent/JPWO2013038589A1/ja
Application granted granted Critical
Publication of JP6057179B2 publication Critical patent/JP6057179B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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

本発明の資源要求調停装置は、複数のマスタと接続し、各マスタの発行する転送要求を調停する。資源要求調停装置は、マスタの発行する転送要求それぞれのスラック値を示すカウンタを有し、各カウンタのカウンタ値を勝抜方式で比較して最も優先度の高い転送要求を発行したマスタを特定する。資源要求調停装置は特定したマスタにアクセス権を付与し、スレーブの利用を許可する。

Description

本発明は、複数の資源要求装置から発行される資源要求を調停する技術に関する。
従来、プロセッサやDMA(Direct Memory Access)コントローラー等の複数の資源要求装置から、バスやユニファイドメモリ等の共有資源へのアクセスを可能に構成した資源要求調停装置がある。各資源要求装置は、共有資源にアクセスするために、他の資源要求装置の状態を関知することなく、資源要求を発行する。同時に複数の資源要求装置から資源要求が発行された場合に、資源要求調停装置は、各資源要求装置に優先順位をつけて、最も高い優先順位を持つ資源要求装置にアクセス権を与える調停と呼ばれる作業を行い、共有資源へのアクセスの衝突を防止している。
基本的な調停方式として、複数の資源要求装置それぞれの優先順位を固定的に定める固定優先順位方式や、各資源要求装置に対して巡回的にアクセス権を与えることによって各資源要求装置間の共有資源へのアクセスの公平性を確保するラウンドロビン方式が知られている。
また、データ転送レートや最大待ち時間等で表されるサービス品質を管理するために、各資源要求装置で実行中のプロセスの進捗データ(プロセスの待ち時間や余裕時間等)に応じて、各資源要求装置の優先順位を決定する技術がある(例えば、特許文献1参照)。
特開2008−234659号公報
しかしながら、上述の技術では、各資源要求装置の優先順位を決定するために進捗データについてバブルソート機構などの比較プロセスの反復実施をするので、調停対象となる資源要求装置数の増加によって、調停を実現するための回路の配線混雑度や処理時間が増大するという課題がある。
本発明は、上記課題を鑑みてなされたものであり、調停を実現するための回路における配線混雑度を緩和し、処理時間を低減した資源要求調停装置を提供することを目的とする。
本発明に係る資源要求調停装置は、共有資源のアクセス権を取得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、前記複数の資源要求装置と1対1に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、前記特定した資源要求装置にアクセス権を付与する付与手段とを備えることを特徴とする。
本発明の資源要求調停装置によれば、調停を実現するための回路における配線混雑度を緩和し、処理時間を低減することができる。
実施の形態1におけるバスシステムの構成を示すブロック図 実施の形態1におけるマスタの動作を示すフローチャート 実施の形態1におけるバスインターフェースの動作を示すフローチャート 実施の形態1におけるカウンタの動作を示すフローチャート 実施の形態1における比較部の動作を示すフローチャート 実施の形態1における通知部の動作を示すフローチャート 実施の形態2におけるバスシステムの構成を示すブロック図 実施の形態2における縮退部の動作を示すフローチャート 実施の形態2における結合部の動作を示すフローチャート 実施の形態2における比較部の動作を示すフローチャート 実施の形態3におけるバスシステムの構成を示すブロック図 実施の形態3におけるカウンタの動作を示すフローチャート 実施の形態3におけるカウンタ初期化部の動作を示すフローチャート 資源要求調停装置を用いたバスシステム全体の構成例を示すブロック図 資源要求調停装置を用いた集積回路の構成例を示すブロック図
<1.実施の形態1>
以下、本発明の一実施形態について、図面を参照しながら説明する。
なお、説明のため、資源要求装置をマスタ、共有資源をスレーブとよぶ。本実施形態では、各マスタは、基幹バスを介してスレーブにアクセスを行い、資源要求調停装置は、基幹バスを介したスレーブへのアクセス権を調停する。従って、本実施形態では、資源要求調停装置をバスアービタ、アクセス権をバス権ともよぶ。
<1−1.構成>
図1は、実施の形態1におけるバスシステム100を示すブロック図である。図1に示すように、バスシステム100は、マスタ(110、120および130)、バスアービタ140、基幹バス160およびスレーブ170を備える。
バスアービタ140は、マスタ(110、120および130)、基幹バス160およびスレーブ170と接続される。各構成要素について、スレーブに近い方(例えば、マスタ110に対して、マスタ120およびマスタ130)を下流、スレーブから遠い方(例えば、マスタ130に対して、マスタ110、マスタ120)を上流と呼ぶ。
マスタ(110、120および130)は、バスアービタ140と接続される。各マスタは、スレーブ170を利用する場合には、バスアービタ140に対してバス使用要求を発行し、バス権を得るまで待機する。バス権を得たマスタは、基幹バス160を介して、スレーブ170からデータの読み出しおよびスレーブ170へデータの書き込みを行う。
各マスタがバスアービタ140へ発行するバス使用要求は、具体的には、基幹バス160上で使用されるバスプロトコルのリード/ライトトランザクションである。本実施の形態では、ARM Limited, Cambridge, United Kingdomによって開発されたAXI(Advanced eXtensible Interface)プロトコルを使用する。
スレーブ170は、スレーブ利用可能信号線171を介してバスアービタと接続され、スレーブ170がデータ転送可能かどうかをバスアービタ140に通知する。また、スレーブ170は、基幹バス160と接続され、基幹バス160上のトランザクションコマンドに従ってデータ転送を行う。
次に、バスアービタ140の内部構成を説明する。バスアービタ140は、ソケット(111、121および131)および通知部150を備える。また、各ソケットは、バスインターフェース(112、122および132)、カウンタ(113、123および133)、比較部(114、124および134)および選択部(115、125および135)を備える。
また、ソケット(111、121および131)同士は、優先カウンタ信号線(106、116、126および136)およびマスタ識別信号線(107、117、127および137)を用いてデイジーチェイン接続され、マスタ識別信号線の最下流には通知部150が接続される。
バスインターフェース(112、122および132)は、対応するマスタおよび基幹バス160と接続される。各バスインターフェースは、マスタからのバス使用要求を記憶する機能と、バス権が付与されたマスタと基幹バス160の仲介をする機能とを有する。
カウンタ(113、123および133)は、保持するカウンタ値を比較部へ出力する。本実施の形態において、カウンタ値は、対応するマスタの発行したバス使用要求のデッドラインまでの余裕時間(スラック値)を示し、各カウンタは、対応するマスタがバス使用要求を発行している間はカウンタ値を繰り返し減分し、マスタがバス権を獲得した場合にはカウンタ値を増分する。
比較部(114、124および134)は、上流の優先カウンタ信号線から入力される上流マスタのカウンタ値と自マスタのカウンタ値とを比較して、より小さいカウンタ値を下流の優先カウンタ信号線へ出力する機能と、上記比較結果を選択部に出力する機能とを有する。
選択部(115、125および135)は比較部からの入力に応じて、上流のマスタ識別信号線の示すマスタ識別信号か、自マスタを示すマスタ識別信号かを選択して下流のマスタ識別信号線へ出力する。各選択部は、例えば、比較部からの入力を選択制御入力とするマルチプレクサで構成される。
ここで、比較部から選択部へ入力される信号は、自マスタを優先するか上流マスタを選択するかを示す1ビットの信号であり、選択部の出力するマスタ識別信号は、バスアービタ140に接続される各マスタを一意に特定できるID情報である。
比較部および選択部の処理を上流から下流へ順に行うことによって、最下流の優先カウンタ信号線136には、最も小さいカウンタ値が出力され、最下流のマスタ識別信号線137には、最も小さいカウンタ値のマスタを示すマスタ識別信号が出力される。
なお、最上流の優先カウンタ信号線106のカウンタ値は、各カウンタのカウンタ値よりも大きい値であればよく、本実施形態では各カウンタの保持できる最大値とする。また、マスタ識別信号線107のマスタ識別信号は、いずれのマスタも示さない信号とする。
通知部150は、マスタ識別信号線137から入力されるマスタ識別信号を、調停結果通知信号線151を通じて各カウンタへ出力する。
バスアービタ140は、通知部150からカウンタを経由してバスインターフェースに調停結果を通知し、バスインターフェースが対応するマスタに基幹バス160の使用を許可することによって、マスタにバス権を付与する。
<1−2.動作>
次に、実施の形態1におけるバスシステム100の動作について説明する。各ソケットは同様の動作を行うため、ここでは、ソケット111に対応する構成要素の動作を説明する。
図2は、実施の形態1のマスタ110の動作を示すフローチャートである。マスタ110は、初期状態は待機状態であり、バス使用要求があるまで待機する(ステップS21)。
マスタ110は、待機状態のときにバス使用要求があると、バスアービタ140にバス使用要求を発行し(ステップS22)、転送待機状態に移行する。
マスタ110は、転送待機状態では、基幹バス160の使用が許可されるまで待機する(ステップS23)。マスタ110は、転送待機状態でバスの使用が許可されると、スレーブ170とデータ転送を実施する(ステップS24)。また、マスタ110は、ステップS24のデータ転送が完了したかどうかを判定し(ステップS25)、転送完了していない場合は、ステップS23に戻る。
データ転送完了後、マスタ110は待機状態に移行し、システム終了判定を行う(ステップS26)。マスタ110は、システム終了でないならば、ステップS21に戻り、システム終了ならば処理を終了する。
このとき、ステップS25の転送完了判定は、リードトランザクションとライトトランザクションとで異なっていてもよい。本実施の形態では、リードトランザクションの場合、マスタがAXIのアドレスチャネルへの発行が完了したときを転送完了とし、ライトトランザクションの場合、マスタがAXIのライトチャネルへWLASTシグナルをアサートしたデータの発行が完了したときを転送完了とする。
図3は、バスインターフェース112の動作を示すフローチャートである。バスインターフェース112は、初期状態は、転送禁止状態であり、マスタ110に対して基幹バス160の使用を禁止し(ステップS31)、マスタ110からバス使用要求が発行されるまで待機している(ステップS32)。
バスインターフェース112は、転送禁止状態のときにマスタ110からバス使用要求が発行されると、バス権待状態に移行し、バス使用要求を記憶し(ステップS33)、マスタ110がバス権を獲得するまでカウンタ113へ要求信号を出力する(ステップS34)。
バスインターフェース112は、バス権待状態のときに、カウンタ113からマスタ110がバス権を獲得したことを示す信号が出力されると、転送許可状態に移行し、マスタ110に対して、基幹バス160の使用を許可し(ステップS35)、記憶していたバス使用要求を消去する(ステップS36)。
バスインターフェース112は、転送許可状態のとき、基幹バス160上の各チャネルを監視し、マスタ110による基幹バス160の使用が完了するまで待機する(ステップS37)。
データ転送完了後、バスインターフェース112は、転送禁止状態に移行し、システム終了判定を行う(ステップS38)。バスインターフェース112は、システム終了でないなら、ステップS31に戻り、システム終了ならば、処理を終了する。
図4は、カウンタ113の動作を示すフローチャートである。図4に示すように、まず、カウンタ113は、カウンタ値c1の初期値を設定する(ステップS401)。本実施の形態では、例えば、マスタ110の要求帯域幅に基づいたスループット間隔T1を初期値とする。
ここで、マスタの要求帯域幅は、マスタの要求するデータ転送レート、つまり、マスタが単位時間当たりに要求するデータ量である。マスタの要求帯域幅は、例えば、要求1回当たりのデータ量と単位時間当たりの要求回数との積で示される。また、マスタのスループット間隔は、要求1回分のデータの平均処理時間(クロック数)を示し、マスタがバス使用要求を発行する平均要求間隔もこれに一致する。
次に、カウンタ113は、マスタ110がバス使用要求を発行しているかどうか、つまり、バスインターフェース112から要求信号が出力されているかどうかを判定する(ステップS402)。
マスタ110がバス使用要求を発行している場合(S402:Yes)、カウンタ113は、マスタ110がバス権を獲得しているかどうか、つまり、通知部150から調停結果通知信号線171を通じて、マスタ110を示すマスタ識別信号が出力されているかどうかを判定する(ステップS403)。
マスタ110がバス権を獲得していない場合(S403:No)、カウンタ113は、カウンタ値c1とあらかじめ定められた下限しきい値とを比較し(ステップS404)、カウンタ値c1が下限しきい値よりも大きいならば、カウンタ値c1を減分し(ステップS405)、カウンタ値c1が下限しきい値以下ならば、カウンタ値の減分は行わずに処理を進める。カウンタ113は、カウンタ値c1が下限しきい値に達したら、カウンタ値c1の減分をやめることでカウンタ値c1が不正な値となることを防いでいる。なお、下限しきい値は、本実施形態では0とする。
次に、カウンタ113は、カウンタ値c1と上限しきい値とを比較し(ステップS406)、カウンタ値c1が上限しきい値以下の場合に、マスタ110の発行しているバス使用要求が優先すべき要求であることを示す優先信号を比較部114に出力する(ステップS407)。カウンタ値c1が上限しきい値を超えている、つまり、マスタ110の発行しているバス使用要求のデッドラインまでに余裕がある場合(ステップS406:Yes)、カウンタ113は、他のマスタのバス使用要求を優先させるために優先信号を出力しない。なお、上限しきい値は、本実施形態では、上述のスループット間隔T1とする。
ステップS403で、マスタ110がバス権を獲得している場合(ステップS403:Yes)、増分値をカウンタ値c1に加算する(ステップS408)。増分値は、本実施の形態では、上述のスループット間隔T1とする。
カウンタ113は、ステップS408の処理に続いてバスインターフェース112にマスタ110がバス権を獲得したことを示す信号を出力する(ステップS409)。
マスタ110からバス使用要求が発行されていない場合(S402:No)、および、カウンタ値が上限しきい値を超えていた場合(S406:Yes)、並びに、ステップS407、S409の処理完了後、カウンタ113は、システム終了判定を行い(ステップS410)、システム終了でないならステップS402に戻り、システム終了なら処理を終了する。
図4のステップS402からステップS409の処理は、1クロックサイクルで実行される。バスインターフェース112から要求信号が出力されている間、カウンタ113のカウンタ値c1は、1クロックサイクルに1回デクリメントされ、カウンタ値が上限しきい値を超えていない場合に比較部114へ優先信号が出力される。
なお、カウンタのカウンタ値c1は、常に比較部114へ出力されている状態であり、バスアービタ140は、優先信号の出力の有無によって、各マスタを調停対象とするかしないかを判定する。
図5は、比較部114の動作を示すフローチャートである。比較部114は、まず、カウンタ113から優先信号が出力されているかを判定し(ステップS51)、カウンタ113から優先信号が出力されていない場合、ステップS53へ進み、上流のマスタを優先する処理を行う。
カウンタ113から優先信号が出力されている場合(S51:Yes)、比較部114は、上流マスタのカウンタ値と自マスタのカウンタ値、つまり、優先カウンタ信号線106のカウンタ値c0とカウンタ113のカウンタ値c1とを入力し、両者を比較してどちらのカウンタ値がより小さいかを判定する(ステップS52)。
「上流マスタのカウンタ値≦自マスタのカウンタ値」の場合(S52:Yes)、比較部114は、優先カウンタ信号線116に優先カウンタ信号線106のカウンタ値c0を出力し(ステップS53)、選択部115に、上流マスタを優先する信号を出力する(ステップS54)。
「上流マスタのカウンタ値>自マスタのカウンタ値」の場合(S52:No)、比較部114は、優先カウンタ信号線116にカウンタ113のカウンタ値c1を出力し(ステップS55)、選択部115に自マスタを優先する信号を出力する(ステップS56)。
選択部115は、比較部114からの入力に応じて、比較部114のからの入力が上流マスタを優先する信号ならばマスタ識別信号線107のマスタ識別信号を、比較部114からの入力が自マスタを優先する信号ならばマスタ110を示すマスタ識別信号を、マスタ識別信号線117へ出力する。
図6は、通知部150の動作を示すフローチャートである。通知部150は、初期状態は待機状態であり、スレーブ170からスレーブ利用可能信号線171を通じてスレーブ利用可能信号が出力される(ステップS61)、かつ、マスタ識別信号線137からいずれかのマスタを示すマスタ識別信号が出力される(ステップS62)まで待機する。
スレーブ利用可能信号は、例えば、スレーブ170の転送帯域幅に基づくスループット間隔Tsで出力される。ここで、スレーブの転送帯域幅は、スレーブのデータ転送レート、つまり、スレーブが単位時間あたりに転送するデータ量である。スレーブの転送帯域幅は、例えば、転送1回あたりのデータ量と単位時間当たりの転送回数との積で示される。また、スレーブのスループット間隔は、転送1回当たりの平均処理時間(クロック数)を示し、バスアービタ140の平均調停間隔もこれに一致する。
通知部150は、待機状態のときにスレーブ利用可能信号といずれかのマスタを示すマスタ識別信号との両方が入力されると、バス監視状態に移行し、マスタ識別信号線137のマスタ識別信号を調停結果として調停結果通知信号線151に出力する(ステップS63)。
通知部150は、バス監視状態のとき、基幹バス160の各チャネルを監視して、バス権を獲得したマスタによる基幹バス160の使用が完了するまで待機する(ステップS64)。
転送完了すると、通知部150は、待機状態に移行し、システム終了判定を行い(ステップS65)、システム終了でないならステップS61に戻り、システム終了なら処理を終了する。
以上、図2から図6に示した動作により、バスアービタ140は、各マスタからのバス使用要求に応じて、調停結果をスレーブ170のスループット間隔Tsで通知する。
<1−3.考察>
次に、本実施形態のバスシステム100において、スレーブの転送帯域幅とマスタ(110、120および130)の要求帯域幅との関係について説明する。
例えば、スレーブのスループット間隔がTs[clk]、バスシステムの動作周波数がF[MHz]、データ転送単位がC[byte]の場合、スレーブの転送帯域幅は
(スレーブ転送帯域幅)= C×F÷Ts[byte/s]
と表せる。
また、マスタ110、マスタ120およびマスタ130のスループット間隔をそれぞれT1[clk]、T2[clk]、T3[clk]とすると、各マスタの要求帯域幅は
(マスタ110の要求帯域幅)= C×F÷T1[byte/s]
(マスタ120の要求帯域幅)= C×F÷T2[byte/s]
(マスタ130の要求帯域幅)= C×F÷T3[byte/s]
と表せる。
全マスタの要求帯域幅を満たすためには、スレーブの転送帯域幅は全マスタの要求帯域幅の総和より大きい値である必要がある。
(スレーブ転送帯域幅)≧(マスタ110の要求帯域幅)+(マスタ120の要求帯域幅)+(マスタ130の要求帯域幅)
すなわち
C×F÷Ts ≧ C×F÷T0 + C×F÷T1 + C×F÷T2
1/Ts ≧ 1/T0 + 1/T1 + 1/T2
という帯域制約を満たす必要がある。
逆に、帯域制約が満たされるならば、各マスタのバス使用要求は、デッドラインを超えるまでに受け付けられ、マスタ110はC×F÷T1という帯域幅を、マスタ120はC×F÷T2という帯域幅を、マスタ130はC×F÷T3という帯域幅を利用できる。つまり、バスアービタ140は、各マスタの要求帯域幅に基づいてサービス品質を管理することができる。
<1−4.まとめ>
実施の形態1におけるバスアービタ140は、マスタ(110、120および130)のカウンタ値を上流から順番に勝抜方式で比較して、最も小さいカウンタ値を持つマスタを特定して、バス権の付与を行っている。この構成によれば、比較の回数はバスアービタ140に接続されるマスタの数と一致するので、バブルソート機構等を用いたソーティングと比較して、マスタ数が増えることによる調停回路の配線混雑度および処理時間の増大を抑制することができる。
また、実施の形態1におけるバスアービタ140は、マスタごとに異なるスループット間隔をカウンタの初期値および増分値とし、全カウンタは共通の速度で減分(クロックサイクル毎のデクリメント)する。この構成によれば、マスタの要求帯域幅に応じて各マスタのバス使用要求を調停すること、つまり、各マスタのサービス品質を管理することができる。
さらに、実施の形態1におけるバスアービタ140は、あるマスタのカウンタ値が予め定められた上限しきい値よりも大きい場合、優先信号を出力せず(図4:S406、S407参照)、比較部で比較を行わずに上流マスタを優先する処理を行っている(図5:S51参照)。つまり、バスアービタ140は、カウンタ値が上限しきい値よりも大きいマスタに対しては、バス権を付与しない構成である。この構成によれば、カウンタ値が上限しきい値よりも大きいカウンタのカウンタ値は加算されないので、各カウンタのカウンタ値は、適切な範囲内で増減することが保証される。

(2.実施の形態2)
以下、本発明の一実施形態であるバスシステム700について説明する。実施の形態1では、カウンタ値をそのままマスタ(110、120および130)の優先度として比較を行っている。実施の形態2では、カウンタ値を縮退し、カウンタのビット数よりも少ないビット数のレベル信号をマスタの優先度として比較を行う点で実施の形態1と異なる。実施の形態1と同じ構成要素については同じ符号を用い、説明を省略する。
<2−1.構成>
図7は、実施の形態2におけるバスシステム700を示すブロック図である。図7に示すように、バスアービタ740は、実施の形態1のバスアービタ140のソケット(111、121および131)に代えてソケット(710、720および730)を備える。ソケット(710、720および730)は、ソケット(111、121および131)の構成に加えて、さらに、縮退部(711、721および731)および結合部(712、722および732)を有し、バスアービタ140の比較部(114、124および134)とは動作の異なる比較部(713、723および733)を有する。
また、ソケット(710、720および730)同士は、要求レベル信号線(704、714、724および734)およびマスタ識別信号線(107、117、127および137)を用いてデイジーチェイン接続され、マスタ識別信号線の最下流には通知部150が接続される。
縮退部(711、721および731)は、カウンタのカウンタ値を入力として、カウンタ値をカウンタのビット数よりも少ないビット数で表現したレベル値に正規化し、レベル値のレベル数と同数のビット数で、レベル値と対応するビット位置のみをアサートしたレベル信号を出力する。例えば、レベル数がNで、レベル値がK(<N)の場合、縮退部は、N本のビット線のうち、下位からK番目のビット線のみをアサートしたレベル信号を出力する。
ここで、レベル値のレベル数とは、レベル値で区別することができるレベルの数のことである。また、カウンタ値をカウンタのビット数よりも少ないビット数のレベル値に正規化する処理を縮退処理といい、レベル値のレベル数と同数のビット数で、レベル値と対応するビット位置のみアサートしたレベル信号を生成する処理をワンホット化処理という。
結合部(712、722および732)は、縮退部の出力するレベル信号と上流の要求レベル信号線のレベル信号を入力し、両者を論理和で結合して下流の要求レベル信号線へ出力する。
なお、本実施の形態では、最上流の要求レベル信号線704のレベル信号は接地され、要求レベル信号線714には、縮退部711のレベル信号がそのまま出力されるものとする。
比較部(713、723および733)は、縮退部の出力するレベル信号と上流の要求レベル信号線のレベル信号を入力し、両者を比較して、自マスタと上流マスタとで、どちらを優先するかを示す信号を選択部に出力する。
<2−2.動作>
次に、実施の形態2におけるバスシステム700の動作について説明する。各ソケットは同様の動作を行うため、ここでは、ソケット710に対応する縮退部711、結合部712および比較部713の動作について説明する。
図8は、縮退部711の動作を示すフローチャートである。図8に示すように、縮退部711は、まず、スレーブ170のスループット間隔Tsを用いてカウンタ113のカウンタ値c1をレベル値L1=Floor(c1/Ts)に縮退する(ステップS81)。Floor(x)は、xを実数としてx以下の最大の整数を表す。
ここで、レベル値L1は、カウンタ値c1をスレーブ170のスループット間隔Tsで割った商である。つまり、レベル値L1は、カウンタ113のカウンタ値が0になるまでにバスアービタ740が実施する調停回数を示している。
次に、縮退部711は、レベル値L1とバスアービタ740に接続されるマスタ数Nとを比較して(ステップS82)、L1>(N―1)ならば、L1=(N―1)とする(ステップS83)。
縮退部711は、レベル値L1を算出すると、マスタ数Nと同数のビット数を持ち、算出したレベル値L1と対応するビット位置のみアサートしてワンホット化した要求レベル信号を生成し、結合部712および比較部713に出力する(ステップS84)。
ステップS83の処理によって、レベル値L1のレベル数は、マスタ数Nとなり、ステップS84の処理で生成するレベル信号のビット数を、カウンタ113のビット数によらず、マスタ数Nに抑えることができる。
ここで、本実施の形態ではマスタ数Nは3であるので、レベル値L1は0、1および2のいずれかになる。要求レベル信号は、レベル値L1が0なら(001)、レベル値L1が1なら(010)、レベル値L1が2なら(100)となる。
図9は、結合部712の動作を示すフローチャートである。図9に示すように、結合部712は、縮退部711の出力するレベル信号と要求レベル信号線704のレベル信号とを入力し、両者を論理和で結合して要求レベル信号線714に出力する(ステップS91)。
図10は、比較部713の動作を示すフローチャートである。図10に示すように、比較部713は、まず、カウンタ113から、優先信号が出力されているかを判定し(ステップS51)、カウンタ113から優先信号が出力されていない場合、ステップS54へ進む。
カウンタ113から優先信号が出力されている場合(S51:Yes)、比較部713は、上流からのレベル信号と自マスタのレベル信号、つまり、要求レベル信号線704のレベル信号と縮退部711のレベル信号とを入力し、両者を比較してより下位のビットがアサートされているレベル信号を識別する(ステップS101)。
「上流マスタの最下位アサートビット位置≦自マスタのアサートビット位置」の場合(S101:Yes)、比較部713は、選択部115に、上流マスタを優先する信号を出力する(ステップS54)。
「上流マスタの最下位アサートビット位置>自マスタのアサートビット位置」の場合(S101:No)、比較部114は、選択部115に自マスタを優先する信号を出力する(ステップS56)。
<2−4.まとめ>
実施の形態2におけるバスアービタ740は、カウンタ値をカウンタのビット数よりも少ないビット数に縮退したレベル値を優先度として比較を行っている。この構成によれば、実施の形態1のようにカウンタ値をそのまま優先度として比較を行うよりも、比較回路の配線数を削減することができ、調停回路の配線混雑度が緩和できる。
また、実施の形態2におけるバスアービタ740は、ワンホット化したレベル信号と上流からのレベル信号とを論理和で結合して下流に伝達している。この構成によれば、下流マスタでの優先度の判定に必要な情報を失うことなく、論理和だけで、上流マスタの要求レベル信号と、自マスタの要求レベル信号を結合して下流マスタに伝達することができる。その結果、各比較部は並列に実施することが可能となり、調停回路の論理段数を抑制できるので、1クロックサイクルで配線可能な配線長が長くなり、より柔軟に調停回路を設計することができる。

(3.実施の形態3)
以下、本発明の一実施形態であるバスシステム1100について説明する。実施の形態1は、カウンタに異常が発生した場合(例えば、カウンタ値が下限しきい値を下回った場合)、飽和処理を行っている。実施の形態3では、カウンタに異常が発生した場合、カウンタを初期化する仕組みを持つ。実施の形態1と同じ構成要素については同じ符号を用い、説明を省略する。
<3−1.構成>
図11は、実施の形態2におけるバスシステム1100を示すブロック図である。図11に示すように、バスアービタ1140は、カウンタ初期化部1150を備える点と、ソケット(111、121および131)およびカウンタ(113、123および133)の代わりにソケット(1110、1120および1130)およびカウンタ(1111、1121および1131)を備える点で、実施の形態1のバスシステム1000と構成が異なる。
カウンタ初期化部1150は、各カウンタと接続され、いずれかのカウンタからカウンタ異常検知信号が出力されると、すべてのカウンタにカウンタ初期化信号を出力する。
カウンタ(113、123および133)は、実施の形態1のカウンタと比較して、さらに、カウンタ値に異常があればカウンタ初期化部1150へカウンタ異常検知信号を出力し、カウンタ初期化部1150からカウンタ初期化信号が出力されるとカウンタ値を初期化する仕組みを備える。
<3−2.動作>
実施の形態1と異なるカウンタ(1111、1121および1131)およびカウンタ初期化部1150の動作について説明する。各カウンタは、同様の動作をするため、カウンタ1111を説明して、カウンタ(1121および1131)については、説明を省略する。
図12は、実施の形態3のカウンタ1111の動作を示すフローチャートである。図12に示すように、カウンタ1111は、実施の形態1のカウンタの動作に加えて、カウンタ値c1と下限しきい値の比較を行うステップS404の前に、カウンタ初期化部1150からカウンタ初期化信号が出力されているかどうかを判定し(ステップS1201)、カウンタ初期化部1150からカウンタ初期化信号が出力されていれば、カウンタ値を初期化する(ステップS1202)。カウンタ1111は、ステップS1202で、カウンタを初期化した後、ステップS406に進み処理を続行する。
また、カウンタ1111は、カウンタ値c1に増分値を加算するステップS408の前に、カウンタ初期化部1150からカウンタ初期化信号が出力されているかどうかを判定し(ステップS1203)、カウンタ初期化部1150からカウンタ初期化信号が出力されていれば、カウンタ値を初期化する(ステップS1204)。カウンタ1111は、ステップS1204で、カウンタを初期化した後、ステップS409に進み処理を続行する。
さらに、カウンタ1111は、カウンタ値c1と下限しきい値を比較した結果、カウンタ値と下限しきい値が等しい場合(S404:Yes)、カウンタ初期化部へカウンタ異常信号を出力するステップS1205を有する。
図13は、カウンタ初期化部1150の動作を示すフローチャートである。図13に示すように、カウンタ初期化部1150は、いずれかのカウンタからカウンタ異常検知信号が出力されているかどうかを判定し(ステップS131)、カウンタ異常検知信号が出力されていなければ出力されるまで待機する。
いずれかのカウンタからカウンタ異常検知信号が出力されると、カウンタ初期化部1150は、カウンタ初期化信号を出力する(ステップS132)。
カウンタ初期化部2500は、カウンタ初期化信号を出力した後、システム終了判定を行い(ステップS133)、システム終了でないならステップS131に戻り、システム終了なら処理を終了する。
<3−3.まとめ>
実施の形態3のバスアービタ1140は、帯域制約を満たしている限り、実施の形態1のバスアービタ140と同様の振る舞いをする。
実施の形態1のバスアービタ140は、帯域制約を満たしていない場合には、カウンタ値が下限しきい値を下回り、各マスタの優先度を示すカウンタ値の大小関係の情報が失われてしまう可能性がある。その結果、各マスタの要求帯域幅に応じた調停ができない、つまり、サービス品質が低下する可能性がある。
実施の形態2のバスアービタ1140は、カウンタ値の異常が検知された際に、バスアービタ1140全体のカウンタ値を初期化する仕組みを持つことで、サービス品質の低下を抑えることが出来る。

<4.補足>
以上、本発明に係る資源要求調停装置の実施形態を説明したが、例示した資源要求調停装置を以下に示すように変形することも可能であり、本発明は上述の実施形態に限られるものではない。
(1)上述の各実施形態の資源要求調停装置におけるマスタからバスアービタへ発行するバス使用要求は、基幹バス上で使用されるバスプロトコルのトランザクションコマンドとしたが、これに限られるものではない。マスタがバス使用要求を発行したことを伝えることができればよく、要求では単純な信号を出力して、バス権を得たときにトランザクションコマンドを発行する構成でも良い。
(2)上述の実施形態2では、レベル値の算出方法について、図5のフローチャートで示したような演算を行うとしているが、レベル値の算出方法はこの限りではない。例えば、スレーブのスループット間隔を2のべき乗で表現し、単純なシフト演算でレベル値を算出するとしてもよいし、あらかじめスレーブスループット間隔の定数倍をテーブルとして保持しておき、そのテーブルを参照することで、レベル値を導出してもよい。
(3)上述の実施形態2の資源要求調停装置は、ワンホット化した要求レベル信号を生成するとしたが、論理和で要求レベル信号を下流に伝達する構成はこの限りではない。例えば、レベル値が0の場合は(111)、レベル値が1の場合は(110)、レベル値が2の場合は(100)のように、より低い優先度のレベル信号をマスクするレベル信号を生成してもよい。この場合、優先度の大小関係と要求レベル信号の値の大小関係が一致するため、各比較部は、要求レベル信号線の大小関係で、優先マスタを識別することができる。
(4)上述の各実施形態において、上流マスタと自マスタのカウンタ値(レベル値)が同値の場合、常に上流マスタを優先する信号を選択部に出力しているが、上流マスタと自マスタのカウンタ値(レベル値)が同値の場合の処理は必ずしもこの限りではない。例えば、常に自マスタを優先する信号を選択部に出力してもよいし、ラウンドロビン方式を用いて交互に優先するマスタを変更してもよい。また、ランダムに決定したマスタを優先するとしてもよい。帯域制約が満たされない場合に固定優先順位方式を用いると、特定のマスタがバス権を獲得し続けるという状態が発生する可能性があるが、その場合でもラウンドロビンやランダムな方法により、特定のマスタがバス権を獲得し続けるという状態を回避することができる。
(5)上述の実施形態では、カウンタの動作は、転送要求コマンドが記憶されている間減分し、バス権を獲得すれば加算するとしたが、逆でもよく、転送要求コマンドが記憶されている間増分し、バス権を獲得すれば減算するとしてもよい。
(6)上述の実施形態では、資源要求調停装置に接続されるマスタの数が3であるとしたが、必ずしも3である必要はなく、マスタはいくつあってもよい。また、スレーブについても、スレーブの数に応じて資源要求調停装置の数を増やすことで複数のスレーブに利用することも可能であり、スレーブの数はいくつでもよい。
(7)上述の各実施形態では、カウンタの上限しきい値は、マスタのスループット間隔としたが、これに限られるものではない。例えば、スレーブのスループット間隔とバスアービタに接続されるマスタ数との積を用いてもよい。
(8)上述の各実施形態では、各ソケットはデイジーチェイン接続されるとしたが、各ソケットの接続トポロジはこの限りではない。各ソケットは、例えば、リング型で接続してもよいし、スター型やツリー型で接続してもよい。いずれのトポロジでも、各ソケットを1度ずつ経由することで、優先度を下流に伝達することが可能である。
(9)上述の各実施形態及び各変形例を、部分的に組み合せてもよい。
(10)上述の実施形態で示したバスシステムは、典型的には集積回路であるLSIで実現される。図14に本発明のバスアービタを用いたバスシステム全体の構成例を示す。バスシステムLSIex100は、マイコンex103、信号処理部ex104、ストリームI/Oex105およびAV I/Oex106、メモリコントローラex107を備える。基幹バスex102は、上述の実施形態で示したバスアービタを備えた構成であり、各要素はバスex102を介して接続される。バスシステムLSIex100は、メモリex201にアクセスする場合、メモリコントローラex107を介してメモリex108にアクセスする。電源回路部ex101は、電源がオン状態の場合に各要素に対して電力を供給することで各要素を動作可能な状態に起動する。上述の実施形態で示した資源要求調停装置は、例えば、マイコンex103、信号処理部ex104、ストリームI/Oex105およびAV I/Oex106をマスタ、メモリex201(メモリコントローラex107)をスレーブとしてバスex102のバス権を調停する。
以下、アンテナex202や記録メディアex203などから入力される符号化された映像データや音声データの復号処理を例に、バスシステムLSIex100の動作を説明する。
まず、ストリームI/Oex105は、マイコンex103の制御に従って、アンテナex202や記録メディアex203などから入力された符号化データを、メモリex201へ転送する。
信号処理部ex104は、マイコンex103の制御に従って、メモリex201に蓄積した符号化データを取得し、復号処理を行う。復号処理の後、信号処理部ex104は、復号された音声データと映像データを、同期して再生できるようにメモリex201に転送する。
AV I/Oex106は、マイコンex103の制御に従って、復号されたデータをメモリex201から取得し、モニタex204などに出力する。
このとき各データは、処理量や処理速度に応じて分割され、複数回に分けて処理される。
バスシステムLSIex100は、上述の実施形態で示したバスアービタを用いて、マイコンex103、信号処理部ex104、ストリームI/Oex105、AV I/Oex106からメモリex201へアクセスするために発行するバス使用要求を調停することで映像データや音声データの復号処理を行う。
このように、上記実施形態で示した資源要求調停方法を上述したシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
なお、上記では、メモリex201は、バスシステムLSIex100の外部の構成として説明したが、バスシステムLSIex100の内部に含まれる構成であってもよい。
(11)図15は、実施の形態1のバスシステムを、LSI1400として実現したブロック図である。本実施形態では、スレーブをDRAM(Dynamic Random Access Memory)、各マスタをそれぞれCPU(Central Processing Unit)、画像表示装置、信号処理装置として、LSI上に構成している。
ここでは、システムLSIとDRAMの構成を示したが、eDRAM(embedded DRAM)やSRAM(Static Random Access Memory)やハードディスクなど他の記憶装置で構成してもかまわない。
これらは個別に1チップ化されてもよいし、一部またはすべてを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
(12)上述の実施形態で示した各処理を、バスシステムのプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語或いは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。

<5.補足2>
以下、本発明に係る資源要求調停装置の構成および変形例の効果について説明する。
(A)本発明の一実施形態の資源要求調停装置は、共有資源のアクセス権を取得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、前記複数の資源要求装置と1対1に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、前記特定した資源要求装置にアクセス権を付与する付与手段とを備えることを特徴とする。
この構成により、本発明の資源要求調停装置は、比較の回数は資源要求調停装置に接続される資源要求装置の数と一致するので、バブルソート機構等を用いたソーティングと比較して、マスタ数が増えることによる調停回路の配線混雑度および処理時間の増大を抑制することができる。
(B)上記実施形態(A)のカウンタのそれぞれは、対応する資源要求装置にアクセス権が付与された場合は、当該資源要求装置の要求帯域幅を用いて算出される増分値をカウンタ値に加算するとしてもよい。
この構成によると、資源要求調停装置は、各資源要求装置の要求帯域幅に応じたサービス品質を管理することができる。
(C)上記実施形態(A)の資源要求調停装置は、さらに、前記カウンタのそれぞれに対して、当該カウンタのカウンタ値を、カウンタのビット数よりも少ないビット数のレベル値に縮退する縮退手段を備え、前記特定手段は、前記カウンタ値の代わりに前記レベル値を比較して、最も小さいレベル値のカウンタと対応する資源要求装置を特定するとしてもよい。
この構成によると、資源要求調停装置は、カウンタ値をよりビット数の少ないレベル値に縮退するので、配線混雑度を緩和することができる。
(D)上記実施形態(C)の資源要求調停装置は、前記縮退手段のそれぞれは、当該カウンタのカウンタ値をカウンタのビット数よりも少ないレベル数のレベル値に縮退し、前記レベル値が小さいほどより下位のビットをアサートしたレベル信号を生成し、さらに、前記レベル信号のそれぞれに対して、当該レベル信号と上流からのレベル信号とを論理和で結合して下流に伝達する結合手段と、前記特定手段は、前記縮退手段の生成するレベル信号それぞれに対して、当該レベル信号と前記上流からのレベル信号とを比較して、より下位のビットをアサートしたレベル信号を識別し、各比較結果に応じて最も小さいレベル値のカウンタと対応する資源要求装置を特定するとしてもよい。
この構成によると、資源要求調停装置は、各比較を並列に行うことができるので、調停にかかる処理時間を減少することができる。
(E)上記実施形態(A)の資源要求調停装置は、前記特定手段は、上限しきい値を超えるカウンタ値のカウンタと対応する資源要求装置は前記比較対象としないとしてもよい。
(F)上記実施形態(A)の資源要求調停装置は、前記カウンタのそれぞれは、カウンタ値が下限しきい値以下の場合、カウンタ値を減分しないとしてもよい。
上記(E)〜(F)の構成によると、各カウンタのカウンタ値は、適切な範囲で増減することが保証される。
(G)上記実施形態(A)の資源要求調停装置は、さらに、前記複数のカウンタのうちいずれか1つのカウンタにおいて、カウンタ値の異常を検知した場合に、すべてのカウンタのカウンタ値を初期化する初期化手段を備えるとしてもよい。
この構成によると、共有資源の転送帯域幅が資源要求装置の要求帯域幅を満たせない場合でも、サービス品質の低下を抑えることができる。
(H)上記実施形態(A)の資源要求調停装置は、前記付与手段は、前記複数の資源要求装置のいずれかにアクセス権を与えた後一定期間、いずれの資源要求装置にもアクセス権を与えないとしてもよい。
この構成によると、資源要求調停装置は、バス権をいずれかのマスタに与えたあと、基幹バスの各チャネルを監視して一定期間、他のマスタにバス権を付与しないことによって、バス権を得たマスタが何らかの理由により、データ転送をすぐに開始できない場合に、他のマスタがバス権を取得し、転送を開始することを禁止し、バス権を取得した順番と転送の順番が一致することを保証できる。
(I)上記実施形態(A)の資源要求調停装置は、前記特定手段は、前記比較の結果が等しい場合、ラウンドロビン方式で決められた順序に従って資源要求装置を特定するとしてもよい。
(J)上記実施形態(A)の資源要求調停装置は、前記特定手段は、前記比較の結果が等しい場合、ランダムに資源要求装置を特定するとしてもよい。
上記(I)〜(J)の構成によると、資源要求調停装置は、共有資源の転送帯域幅が資源要求装置の要求帯域幅を満たせない場合でも、特定の資源要求調停装置がアクセス権を獲得し続けるという状態を回避することができる。
本発明の資源要求調停装置は、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の高解像度の情報表示機器や撮像機器など様々な用途に利用可能である。
100 バスシステム
110,120,130 マスタ
111,121,131 ソケット
112,122,132 バスインターフェース
113,123,133 カウンタ
114,124,134 比較部
115,125,135 選択部
106,116,126,136 優先カウンタ信号線
107,117,127,137 マスタ識別信号線
140 バスアービタ
150 通知部
151 調停結果通知信号線
160 基幹バス
170 スレーブ
171 スレーブ利用可能信号線

700 バスシステム
710,720,730 ソケット
711,721,731 縮退部
712,123,133 結合部
713,723,733 比較部
704,714,724,734 要求レベル信号線
740 バスアービタ

1100 バスシステム
1110,1120,1130 ソケット
1111,1121,1131 カウンタ
1140 バスアービタ
1150 カウンタ初期化部

ex100 バスシステム
ex101 電源回路部
ex102 基幹バス
ex103 マイコン
ex104 信号処理部
ex105 ストリームI/O
ex106 AV I/O
ex107 メモリコントローラ
ex201 メモリ
ex202 アンテナ
ex203 記録メディア
ex204 モニタ

Claims (18)

  1. 共有資源のアクセス権を取得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、
    前記複数の資源要求装置と1対1に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、
    前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
    前記特定した資源要求装置にアクセス権を付与する付与手段と
    を備えることを特徴とする資源要求調停装置。
  2. 前記カウンタのそれぞれは、対応する資源要求装置にアクセス権が付与された場合は、当該資源要求装置の要求帯域幅を用いて算出される増分値をカウンタ値に加算する
    ことを特徴とする請求項1記載の資源要求調停装置。
  3. 前記カウンタのそれぞれは、対応する資源要求装置が要求を発行している間は、クロックサイクル毎にカウンタ値を減分する
    ことを特徴とする請求項1記載の資源要求調停装置。
  4. さらに、前記カウンタのそれぞれに対して、当該カウンタのカウンタ値を、カウンタのビット数よりも少ないビット数のレベル値に縮退する縮退手段を備え、
    前記特定手段は、前記カウンタ値の代わりに前記レベル値を比較して、最も小さいレベル値のカウンタと対応する資源要求装置を特定する
    ことを特徴とする請求項1記載の資源要求調停装置。
  5. 前記縮退手段のそれぞれは、当該カウンタのカウンタ値をカウンタのビット数よりも少ないレベル数のレベル値に縮退し、前記レベル値が小さいほどより下位のビットをアサートしたレベル信号を生成し、
    さらに、前記レベル信号のそれぞれに対して、当該レベル信号と上流からのレベル信号とを論理和で結合して下流に伝達する結合手段と、
    前記特定手段は、前記縮退手段の生成するレベル信号それぞれに対して、当該レベル信号と前記上流からのレベル信号とを比較して、より下位のビットをアサートしたレベル信号を識別し、各比較結果に応じて最も小さいレベル値のカウンタと対応する資源要求装置を特定する
    ことを特徴とする請求項4記載の資源要求調停装置。
  6. 前記縮退手段は、前記カウンタ値をカウンタのビット数よりも少ないレベル数のレベル値に縮退し、前記レベル数と同数のビット数で前記レベル値に対応するビット位置のみをアサートしたレベル信号を生成する
    ことを特徴とする請求項5記載の資源要求調停装置。
  7. 前記特定手段は、上限しきい値を超えるカウンタ値のカウンタと対応する資源要求装置は前記比較対象としない
    ことを特徴とする請求項1記載の資源要求調停装置。
  8. 前記カウンタのそれぞれは、カウンタ値があらかじめ定められた下限しきい値以下の場合、カウンタ値を減分しない
    ことを特徴とする請求項1記載の資源要求調停装置。
  9. さらに、前記複数のカウンタのうちいずれか1つのカウンタにおいて、カウンタ値の異常を検知した場合に、すべてのカウンタのカウンタ値を初期化する初期化手段を備える
    ことを特徴とする請求項1記載の資源要求調停装置。
  10. 前記付与手段は、前記複数の資源要求装置のいずれかにアクセス権を与えた後一定期間、いずれの資源要求装置にもアクセス権を与えない
    ことを特徴とする請求項1記載の資源要求調停装置。
  11. 前記特定手段は、前記比較の結果が等しい場合、あらかじめ定められた優先順位の高い資源要求装置を特定する
    ことを特徴とする請求項1記載の資源要求調停装置。
  12. 前記特定手段は、前記比較の結果が等しい場合、ラウンドロビン方式で決められた順序に従って資源要求装置を特定する
    ことを特徴とする請求項11記載の資源要求調停装置。
  13. 前記特定手段は、前記比較の結果が等しい場合、ランダムに資源要求装置を特定する
    ことを特徴とする請求項1記載の資源要求調停装置。
  14. 共有資源に対するアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、
    前記複数の資源要求装置と1対1に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し増分し、対応する資源要求装置にアクセス権が付与された場合は減分値をカウンタ値に減算する複数のカウンタと、
    前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も大きいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
    前記特定した資源要求装置にアクセス権を付与する付与手段と
    を備えることを特徴とする資源要求調停装置。
  15. 共有資源と、前記共有資源のアクセス権を取得するための要求を発行する複数の資源要求装置と、前記要求を調停する資源要求調停装置を含む資源要求調停システムであって、
    前記資源要求調停装置は、
    前記複数の資源要求装置と1対1に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、
    前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
    前記特定した資源要求装置にアクセス権を付与する付与手段と
    を備えることを特徴とする資源要求調停システム。
  16. 共有資源のアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する資源要求調停方法であって、
    前記複数の資源要求装置と1対1対応の複数のカウンタそれぞれに対して、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算するステップと
    前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定ステップと、
    前記特定した資源要求装置にアクセス権を付与する付与ステップと
    を含むことを特徴とする資源要求調停方法。
  17. 共有資源のアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する集積回路であって、
    前記複数の資源要求装置と1対1に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、
    前カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
    前記特定した資源要求装置にアクセス権を付与する付与手段と
    を備えることを特徴とする集積回路。
  18. 共有資源のアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する資源要求調停処理をコンピュータに実行させるためのプログラムであって、
    前記資源要求調停処理は、
    前記複数の資源要求装置と1対1対応の複数のカウンタそれぞれに対して、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算するステップと
    前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定ステップと、
    前記特定した資源要求装置にアクセス権を付与する付与ステップと
    を含むことを特徴とするプログラム。
JP2013509346A 2011-09-14 2012-07-27 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム Expired - Fee Related JP6057179B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011200414 2011-09-14
JP2011200414 2011-09-14
PCT/JP2012/004800 WO2013038589A1 (ja) 2011-09-14 2012-07-27 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2013038589A1 true JPWO2013038589A1 (ja) 2015-03-23
JP6057179B2 JP6057179B2 (ja) 2017-01-11

Family

ID=47882843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013509346A Expired - Fee Related JP6057179B2 (ja) 2011-09-14 2012-07-27 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム

Country Status (3)

Country Link
US (1) US9367498B2 (ja)
JP (1) JP6057179B2 (ja)
WO (1) WO2013038589A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282051B2 (en) * 2013-06-26 2016-03-08 Netronome Systems, Inc. Credit-based resource allocator circuit
JP6201591B2 (ja) * 2013-09-30 2017-09-27 富士通株式会社 情報処理装置および情報処理装置の制御方法
US9690692B2 (en) * 2014-10-31 2017-06-27 Hewlett Packard Enterprise Development Lp Priority queue having array and trees
US10296612B2 (en) 2015-09-29 2019-05-21 At&T Mobility Ii Llc Sorting system
US10416959B2 (en) 2015-10-27 2019-09-17 At&T Mobility Ii Llc Analog sorter
KR102416465B1 (ko) * 2015-11-30 2022-07-04 삼성전자주식회사 공유 자원을 효율적으로 관리하는 데이터 처리 시스템
US10261832B2 (en) 2015-12-02 2019-04-16 At&T Mobility Ii Llc Sorting apparatus
US10496370B2 (en) 2015-12-02 2019-12-03 At&T Intellectual Property I, L.P. Adaptive alphanumeric sorting apparatus
US20170206462A1 (en) * 2016-01-14 2017-07-20 International Business Machines Corporation Method and apparatus for detecting abnormal contention on a computer system
US10146714B1 (en) * 2016-03-01 2018-12-04 Cadence Design Systems, Inc. Method and system for synchronizing transaction streams of a partial sequence of transactions through master-slave interfaces
CN109426623A (zh) * 2017-08-29 2019-03-05 深圳市中兴微电子技术有限公司 一种读取数据的方法及装置
US10437757B2 (en) * 2017-10-20 2019-10-08 Hewlett Packard Enterprise Development Lp Determine priority of requests using request signals and priority signals at an arbitration node
JP2019113917A (ja) * 2017-12-21 2019-07-11 ルネサスエレクトロニクス株式会社 データ処理装置、及びデータ処理装置の制御方法
EP3543861B1 (en) * 2018-03-23 2022-12-14 Imagination Technologies Limited Arbitration systems and methods
JP2021082103A (ja) * 2019-11-21 2021-05-27 ルネサスエレクトロニクス株式会社 調停回路、データ転送システム、及び、調停回路による調停方法
CN114374651B (zh) * 2021-12-31 2023-01-20 海光信息技术股份有限公司 传输流量控制方法、片上网络、电子装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH032949A (ja) * 1989-05-30 1991-01-09 Toshiba Corp 入出力制御方式
JPH03263158A (ja) * 1990-03-13 1991-11-22 Nec Corp 共通バス調停制御方式
JPH0561818A (ja) * 1991-06-13 1993-03-12 Toshiba Corp 要求受付け制御システム
JP2001014271A (ja) * 1999-06-29 2001-01-19 Mitsubishi Electric Corp マルチバスマスタシステム
JP2001184299A (ja) * 1999-12-27 2001-07-06 Matsushita Electric Ind Co Ltd アービトレーション装置
JP2005316609A (ja) * 2004-04-27 2005-11-10 Sony Corp バス調停装置およびバス調停方法
JP2005316866A (ja) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp バス装置
JP2008242651A (ja) * 2007-03-26 2008-10-09 Sanyo Electric Co Ltd アービトレーション装置
WO2010086906A1 (ja) * 2009-02-02 2010-08-05 富士通株式会社 調停装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845419B1 (en) * 2000-01-24 2005-01-18 Freescale Semiconductor, Inc. Flexible interrupt controller that includes an interrupt force register
US7062582B1 (en) * 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
GB2447688B (en) * 2007-03-22 2011-05-18 Advanced Risc Mach Ltd A data processing apparatus and method for arbitrating between messages routed over a communication channel
US8452907B2 (en) * 2007-03-27 2013-05-28 Arm Limited Data processing apparatus and method for arbitrating access to a shared resource
ATE485560T1 (de) * 2007-12-11 2010-11-15 Ericsson Telefon Ab L M Verfahren und vorrichtung für die erzeugung von prioritäten in einem multiprozessor-gerät
US8032678B2 (en) * 2008-11-05 2011-10-04 Mediatek Inc. Shared resource arbitration
US8521933B2 (en) * 2010-12-30 2013-08-27 Lsi Corporation Round robin arbiter with mask and reset mask

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH032949A (ja) * 1989-05-30 1991-01-09 Toshiba Corp 入出力制御方式
JPH03263158A (ja) * 1990-03-13 1991-11-22 Nec Corp 共通バス調停制御方式
JPH0561818A (ja) * 1991-06-13 1993-03-12 Toshiba Corp 要求受付け制御システム
JP2001014271A (ja) * 1999-06-29 2001-01-19 Mitsubishi Electric Corp マルチバスマスタシステム
JP2001184299A (ja) * 1999-12-27 2001-07-06 Matsushita Electric Ind Co Ltd アービトレーション装置
JP2005316609A (ja) * 2004-04-27 2005-11-10 Sony Corp バス調停装置およびバス調停方法
JP2005316866A (ja) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp バス装置
JP2008242651A (ja) * 2007-03-26 2008-10-09 Sanyo Electric Co Ltd アービトレーション装置
WO2010086906A1 (ja) * 2009-02-02 2010-08-05 富士通株式会社 調停装置

Also Published As

Publication number Publication date
US20140006665A1 (en) 2014-01-02
WO2013038589A1 (ja) 2013-03-21
JP6057179B2 (ja) 2017-01-11
US9367498B2 (en) 2016-06-14

Similar Documents

Publication Publication Date Title
JP6057179B2 (ja) 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム
KR100839494B1 (ko) 버스 중재 시스템 및 버스 중재 방법
US9684633B2 (en) Adaptive service controller, system on chip and method of controlling the same
US6820152B2 (en) Memory control device and LSI
US6826640B1 (en) Bus bandwidth control system
US10169256B2 (en) Arbitrating direct memory access channel requests
US20080235423A1 (en) Data processing apparatus and method for arbitrating between messages routed over a communication channel
US20100312935A1 (en) Data processing system
JP2003157227A (ja) バスアクセス調停装置及びバスアクセス調停方法
US9600426B2 (en) Bus control device, image processing apparatus, and bus control method
CN105988968B (zh) 半导体装置
TW201316177A (zh) 服務品質仲裁方法與其服務品質仲裁器
US20100070667A1 (en) Arbitration Based Allocation of a Shared Resource with Reduced Latencies
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
US9223731B2 (en) Arbitration circuit and control method thereof
US20040006659A1 (en) Apparatus and method for controlling frequency of bus use
JP4425598B2 (ja) 仲裁パラメータ発生回路、バス利用パラメータ発生回路、システムオンチップ、仲裁パラメータ発生方法、およびバス利用パラメータ発生方法
JP2007018280A (ja) バスシステムの制御方法及び制御回路
US7080176B2 (en) Bus control device and information processing system
JP5857273B2 (ja) ストリーム処理装置
US8713205B2 (en) Data transfer device and data transfer method
JP2007026022A (ja) バス調停装置及びバス調停方法
JP2006251875A (ja) バス調停装置及びバス調停方法
US11513848B2 (en) Critical agent identification to modify bandwidth allocation in a virtual channel
JP2005518045A (ja) 多数リクエスト信号間の公正アービトレーションのシステム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160506

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: 20161101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161124

R151 Written notification of patent or utility model registration

Ref document number: 6057179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees