JP2007207024A - Resource management device - Google Patents
Resource management device Download PDFInfo
- Publication number
- JP2007207024A JP2007207024A JP2006025970A JP2006025970A JP2007207024A JP 2007207024 A JP2007207024 A JP 2007207024A JP 2006025970 A JP2006025970 A JP 2006025970A JP 2006025970 A JP2006025970 A JP 2006025970A JP 2007207024 A JP2007207024 A JP 2007207024A
- Authority
- JP
- Japan
- Prior art keywords
- information
- bus arbitration
- access
- bus
- resource management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、複数のマスタが少なくとも1つの共有リソースへのアクセス要求をそれぞれ発行するシステムにおいて、各マスタから共有リソースへのアクセス要求を調停するためのリソース管理装置に関するものである。 The present invention relates to a resource management apparatus for arbitrating access requests to a shared resource from each master in a system in which a plurality of masters respectively issue access requests to at least one shared resource.
システムLSIの内部では、マイクロプロセッサ、DSP(Digital Signal Processor)、DMA(Direct Memory Access)コントローラ等の複数のマスタが、メモリ、周辺I/O(input/output)コントローラ等の共有リソースにアクセスする。ここで、各マスタから共有リソースへのアクセス要求を効率的に調停するためのリソース管理装置が必要である。 In the system LSI, a plurality of masters such as a microprocessor, a DSP (Digital Signal Processor), and a DMA (Direct Memory Access) controller access a shared resource such as a memory and a peripheral I / O (input / output) controller. Here, there is a need for a resource management device for efficiently arbitrating access requests from each master to shared resources.
ある従来技術によれば、予めテーブル形式で持っている各マスタの優先順位情報をもとに、リソース管理装置が一定時間毎にアクセス要求の調停を行う。複数パターンの優先順位情報が当該テーブルに格納されており、調停を行う一定時間毎にパターンが順に切り替えられる。各マスタは優先順位パターンの中で最優先に設定されている回数分のアクセス許可を受けることができ、各マスタの最低アクセスバンド幅を保証することが可能である(特許文献1参照)。
上記のように各調停時刻において最優先順位を持つマスタを予め決めておくシステムでは、アクセス要求の発生タイミングに時間的な偏りが生じた場合に問題が生じる。例えば、1周期内の各調停時刻に均等に最優先順位が割り当てられているマスタが当該周期内の前半に集中してアクセス要求を行ったとき、当該マスタに所望のアクセスバンド幅を保証できず、アクセス効率の低下を招くことになる。最優先順位が割り当てられた調停時刻とアクセス要求の発生タイミングとが必ずしも一致しないからである。 In the system in which the master having the highest priority at each arbitration time is determined in advance as described above, a problem arises when there is a time bias in the timing of access request generation. For example, when a master that is equally assigned the highest priority at each arbitration time in one cycle makes an access request in the first half of the cycle, it cannot guarantee the desired access bandwidth to the master. As a result, the access efficiency is lowered. This is because the arbitration time to which the highest priority is assigned does not necessarily match the access request generation timing.
また、各マスタがどのタイミングでアクセス要求を行うかが一定しない場合には、アクセス効率の低下を避けるように各調停時刻において最優先順位を持つマスタを予め決めておくことは困難である。 If the timing at which each master makes an access request is not constant, it is difficult to determine in advance the master having the highest priority at each arbitration time so as to avoid a decrease in access efficiency.
また、特定のマスタに偏って最優先順位が与えられた場合、アクセス許可を受けるマスタの順序に偏りが生じ、同一マスタに対するアクセス許可が集中して共有リソースへのワーストレイテンシが悪化するという課題があった。 In addition, when the highest priority is given to a specific master, there is a problem in that the order of the masters receiving access permission is biased, and the access permission for the same master is concentrated and the worst latency to the shared resource deteriorates. there were.
また、共有リソースがSDRAM(Synchronous Dynamic Random Access Memory)の場合、SDRAMはリード(読み出し)アクセスとライト(書き込み)アクセスとの切り替え処理が必要であることから、マスタに対するアクセス許可順序によって、リードアクセスとライトアクセスとが交互に発生する回数が増加すると、スループットが低下するという課題があった。また共有リソースが複数存在してその各々に並列にアクセス可能な場合や、共有リソースが複数バンクからなるSDRAMの場合、同一の共有リソース又はSDRAMの同一バンクに対して連続してアクセス許可を与えると、アクセス効率が悪化するという課題があった。 In addition, when the shared resource is SDRAM (Synchronous Dynamic Random Access Memory), the SDRAM requires a switching process between read (read) access and write (write) access. When the number of times that write access occurs alternately increases, there is a problem that the throughput decreases. Also, when there are a plurality of shared resources and each of them can be accessed in parallel, or when the shared resource is an SDRAM composed of a plurality of banks, if the same shared resource or the same bank of the SDRAM is continuously granted access permission There was a problem that access efficiency deteriorated.
本発明の目的は、同一マスタに対するアクセス許可の集中を回避してワーストレイテンシを低減し、アクセスバンド幅の保証精度を向上することができるリソース管理装置を提供することにある。 An object of the present invention is to provide a resource management device that can avoid concentration of access permission for the same master, reduce the worst latency, and improve the guarantee accuracy of the access bandwidth.
本発明の他の目的は、共有リソースへのアクセス効率が向上する順番でアクセス許可を与えることでアクセス効率を向上させることができるリソース管理装置を提供することにある。 Another object of the present invention is to provide a resource management apparatus capable of improving access efficiency by giving access permission in the order of improving access efficiency to shared resources.
本発明の更に他の目的は、同一マスタに対するアクセス許可の集中を回避しつつ、共有リソースの種類に応じてアクセス効率を向上させることができるリソース管理装置を提供することにある。 It is still another object of the present invention to provide a resource management apparatus that can improve access efficiency according to the type of shared resource while avoiding concentration of access permission for the same master.
上記課題を解決するために、本発明では、各マスタに関する設定値である調停情報を操作するための調停情報操作部を設ける。 In order to solve the above-described problem, the present invention provides an arbitration information operation unit for operating arbitration information that is a set value for each master.
同一マスタに対するアクセス許可の集中を回避する場合、調停情報操作部は、1つの調停情報から複数の部分調停情報を生成し、当該部分調停情報をもとに調停情報管理部の調停情報を操作する。 When avoiding concentration of access permission for the same master, the mediation information operation unit generates a plurality of partial mediation information from one mediation information and operates the mediation information of the mediation information management unit based on the partial mediation information. .
共有リソースの種類に適した調停を行うことによりスループットを向上させる場合には、調停情報操作部は、アクセスが干渉しないマスタ同士に連続してアクセス許可を与えるように複数の部分調停情報を生成する。 In the case of improving throughput by performing arbitration suitable for the type of shared resource, the arbitration information operation unit generates a plurality of pieces of partial arbitration information so as to continuously grant access to masters that do not interfere with access. .
マスタが設定値どおりのバンド幅を取得しそこなった場合には、調停情報操作部は、バンド幅取得状況に応じて、バンド幅を設定値に近づけるように調停情報を操作する。 When the master does not acquire the bandwidth according to the set value and fails, the arbitration information operation unit operates the arbitration information so that the bandwidth approaches the set value according to the bandwidth acquisition status.
本発明によれば、同一マスタのアクセス許可集中を回避できるため、共有リソースへのワーストレイテンシを低減でき、アクセスバンド幅の保証精度が悪化することを回避することができる。更に、共有リソースへのアクセス効率が向上する順番で各マスタへアクセス許可を与えることでスループットを向上させることができ、バンド幅取得状況に応じて調停情報を操作することで、バンド幅の保証精度を向上させることができる。 According to the present invention, since access permission concentration of the same master can be avoided, it is possible to reduce the worst latency to the shared resource, and it is possible to avoid the deterioration of the guaranteed accuracy of the access bandwidth. Furthermore, it is possible to improve throughput by granting access permission to each master in the order in which the access efficiency to shared resources improves, and by operating arbitration information according to the bandwidth acquisition status, bandwidth guarantee accuracy Can be improved.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。以下の説明において、各バスマスタは、データアクセスを行うためのアドレス信号、制御信号等を能動的に送出する機能を有するものである。一般に、1つの機能ブロックはバス接続のための複数のインターフェースを持ち、いくつかはバスマスタとして機能し、いくつかはバススレーブとして機能する。例えば、ハーバードアーキテクチャ(Harvard architecture)のプロセッサは、インストラクション用バスマスタと、データ用バスマスタとを有する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description, each bus master has a function of actively transmitting an address signal, a control signal, and the like for performing data access. In general, one functional block has a plurality of interfaces for bus connection, some function as a bus master, and some function as a bus slave. For example, a Harvard architecture processor includes an instruction bus master and a data bus master.
図1は、本発明に係るリソース管理装置の構成例を示している。図1に示したリソース管理装置109は、3つのバスマスタ101,102,103と共有リソース111との間に介在しており、バス調停部104と、バス調停情報操作部105と、バス調停情報管理部107と、リソース制御部110とを備えている。108はバス調停情報管理部107が管理する第1のバス調停情報であり、106はバス調停情報操作部105が管理する第2のバス調停情報である。第1、第2及び第3のバスマスタ101,102,103は、それぞれバス112,113,114を介してバス調停部104に接続されている。これら第1〜第3のバスマスタ101〜103とリソース管理装置109とは、1つのデータ処理システム100を構成している。
FIG. 1 shows a configuration example of a resource management apparatus according to the present invention. The resource management device 109 shown in FIG. 1 is interposed between the three
バス調停情報管理部107は、第1〜第3のバスマスタ101〜103の各々が所定時間内にアクセス許可を受け得る最低限の回数である第1の設定値と、これらのバスマスタ101〜103の間の優先順位情報とを、第1のバス調停情報108として管理している。一方、第1〜第3のバスマスタ101〜103はそれぞれ任意の時刻に共有リソース111へのアクセス要求を発行する。バス調停部104は、第1のバス調停情報108をもとに第1〜第3のバスマスタ101〜103からのアクセス要求を調停し、この調停により選択された1つのアクセス要求をリソース制御部110に伝える。この際、バス調停部104は、2以上のバスマスタが同時にアクセス要求を行っている場合、当該2以上のアクセス要求マスタのうち、所定時間内にアクセス許可を受けた回数が第1のバス調停情報108中の第1の設定値に満たないバスマスタに対して優先的にアクセス許可を与える。また、2以上のアクセス要求マスタのうち所定時間内にアクセス許可を受けた回数が第1の設定値に満たないバスマスタが複数存在する場合には、バス調停情報管理部107が管理するバスマスタ101〜103間の優先順位情報に基づく優先ルールに従って、バス調停部104がアクセス要求の調停を行う。リソース制御部110は、バス調停部104によって選択されたバスマスタと共有リソース111との間のデータ転送制御を行う。バス調停情報操作部105は、第1〜第3のバスマスタ101〜103の各々が所定時間内にアクセス許可を受け得る最低限の回数に関する第2の設定値を、第2のバス調停情報106として1つ以上管理し、第1〜第5の実施形態として後述する方法に従って、第2のバス調停情報106をもとに第1のバス調停情報108を操作する。
The bus arbitration
図1における第1〜第3のバスマスタ101,102,103から共有リソース111へのアクセス要求を調停する際の基本動作を説明する。ここでは、20回の調停動作のうち9回、9回、2回のアクセス許可をそれぞれ第1、第2及び第3のバスマスタ101,102,103に与えたいとの要望があるものとする。各アクセス許可に対して共有リソース111への一定量のアクセスが行えるものとすると、第1、第2及び第3のバスマスタ101,102,103に対して、それぞれ45%、45%、10%のアクセスバンド幅が保証されることとなる。
A basic operation when the access request to the shared
図2は、図1中の第1のバス調停情報108の例の1つを示している。図2の第1の期間(t)220は、バス調停部104が所定時間内に調停を行う回数を示す。ここでは「20」が第1の期間220として設定されているので、20調停間隔が第1の期間220に相当する。図2において、221は第1のカウント上限値、222は第1のアクセス許可カウント、223は第1の優先順位情報、224は第2の優先順位情報である。第1の優先順位情報223は、第1のカウント上限値221及び第1のアクセス許可カウント222から判断される残り優先許可カウントが多いほど高い優先順位を持つことを示す。残り優先許可カウントは、第1のカウント上限値221から第1のアクセス許可カウント222を減算することで算出される。第2の優先順位情報224は、残り優先許可カウントが等しい場合に、第1のバスマスタ101、第2のバスマスタ102、第3のバスマスタ103の順の固定優先順位を持つことを示す。つまり、ここでは第2の優先順位情報224の設定数値が小さいほど固定優先順位が高いものとする。
FIG. 2 shows one example of the first
図3は、図2の第1のバス調停情報108をもとにした調停例を示している。図3の例では、第1〜第3のバスマスタ101〜103の全てが常にアクセス要求を行っている。図3の矢印はアクセス要求が出ている期間を示す。白星印はある調停時刻において、あるバスマスタがアクセス許可を受けたことを示す。矢印の下の数値は、各調停間隔における第1〜第3のバスマスタ101〜103の第1のアクセス許可カウント222を示している。括弧内の数値は第1〜第3のバスマスタ101〜103の残り優先許可カウントを示している。黒星印は、共有リソース111へのアクセスのアクセス属性が変化することを示している。図3の例では、第1のバスマスタ101と第3のバスマスタ103とのアクセス属性が同じで、第2のバスマスタ102のアクセス属性が異なるものとしている。アクセス属性とは、例えば、アクセス方向であるリード、ライトに関する属性や、複数のアクセスアドレスの範囲に関する属性である。
FIG. 3 shows an example of arbitration based on the first
図3によれば、調停時刻0において、全てのバスマスタの第1のアクセス許可カウント222が0であり、第1のカウント上限値221に満たないので、全てのバスマスタに対して第1の優先順位情報223をもとに調停が行われる。この場合、第1のバスマスタ101と第2のバスマスタ102との残り優先許可カウントが最も多い。この結果、両者ともに残り優先許可カウントが等しいため、第2の優先順位情報224に従って第1のバスマスタ101がアクセス許可を得る。バス調停部104が第1のバスマスタ101にアクセス許可を与えると、バス調停情報管理部107は第1のバスマスタ101に該当する第1のアクセス許可カウント222を1つだけインクリメントする。次に調停時刻1において、第1〜第3のバスマスタ101〜103の全てがアクセス要求を行っている。この調停時刻1では、全てのバスマスタの第1のアクセス許可カウント222が第1のカウント上限値221に満たないので、全てのバスマスタに対して第1の優先順位情報223をもとに調停が行われる。この結果、残り優先許可カウントが最も多い第2のバスマスタ102がアクセス許可を得る。仮に第1のアクセス許可カウント222が第1のカウント上限値221に満たないバスマスタからのアクセスがなく、第1のアクセス許可カウント222が第1のカウント上限値221に達したバスマスタだけからアクセス要求が発生している場合は、第2の優先順位情報224から判断して、優先順位が高いアクセス要求バスマスタがアクセス許可を得る。以下同様に調停を行い、調停時刻19における調停が完了すると、第1のアクセス許可カウント222は0にリセットされ、第1の期間220の調停が完了する。以下、周期的に同様の調停が行われる。
According to FIG. 3, at the
次に、バス調停情報操作部105が第1のバス調停情報108を操作する際の5個のバリエーションを、第1〜第5の実施形態として説明する。ここでは、20回の調停動作のうち9回、9回、2回のアクセス許可をそれぞれ第1、第2及び第3のバスマスタ101,102,103に与えたいとの要望があるものとする。各アクセス許可に対して共有リソース111への一定量のアクセスが行えるものとすると、第1、第2及び第3のバスマスタ101,102,103に対して、それぞれ45%、45%、10%のアクセスバンド幅が保証されることとなる。
Next, five variations when the bus arbitration
《第1の実施形態》
図4は、図1中の第2のバス調停情報106の第1の例を示している。420は第2の期間(T)、421はバスマスタ毎に設定された第2のカウント上限値である。図4の第2の期間420は、バス調停部104が所定時間内に調停を行う回数を示す。ここでは「20」が第2の期間420として設定されているので、20調停間隔が第2の期間420に相当する。第2のカウント上限値421は第1〜第3のバスマスタ101〜103の各々が第2の期間420内にアクセス許可を受ける最低限の回数を表しており、第2のカウント上限値421の合計が第2の期間420の設定値と等しくなるように予め設定される。ここでの第2のカウント上限値421は、第1、第2及び第3のバスマスタ101,102,103に対してそれぞれ9、9、2となっている。
<< First Embodiment >>
FIG. 4 shows a first example of the second
図5は、図4の第2のカウント上限値421をもとに第1の期間群(t1〜t4)520と第1のカウント上限値群521とを生成した例であり、第1の期間群520は4つの第1の期間を持ち、第1のカウント上限値群521は4つの第1のカウント上限値を持っている。図5の第1の期間群520の各々は、第1のカウント上限値群521の各々の列に対する全バスマスタの総和である。図5の第1の期間群520の総和は図4の第2の期間420に一致させ、図5の各バスマスタに対する第1のカウント上限値群521の総和は、図4の各バスマスタに対する第2のカウント上限値421に一致させる。また図5の第1のカウント上限値群521の各バスマスタの隣り合う列の値の差の絶対値は0又は1であり、第2のカウント上限値421を平均的に分散したものとなる。
FIG. 5 is an example in which the first period group (t1 to t4) 520 and the first count
図6は、分割数(=N)が2のべき乗の場合に第2のカウント上限値421から第1のカウント上限値群521を生成するアルゴリズムの1つを示す図である。図6において、ステップS61の処理は初期化である。ここに、「/」は除算を、「%」は除算の余りを求める演算をそれぞれ示す。図4の各バスマスタの第2のカウント上限値421に対して、図6のステップS62、S63及びS64の処理を順次実行することで、図5の各バスマスタの第1のカウント上限値群521の列を順次生成する。図6において「分割余り」と「調整値」はlog2Nの値のビット数の整数であり、「分割余り」と「調整値」に関する演算はlog2Nの値のビット数の演算である。つまり、分割数(=N)が4ならば、「分割余り」と「調整値」は2ビットの整数であり、「分割余り」と「調整値」に関する演算は2ビットの演算である。
FIG. 6 is a diagram showing one algorithm for generating the first count upper
図6に示したアルゴリズムを使って、図4の第2のカウント上限値421から図5の第1のカウント上限値群521を生成する過程を第1のバスマスタ101について説明する。第2のカウント上限値421を4つに分割するので、図6の「分割数」(=N)は4であり、「調整値」に関する演算は2ビットの演算である。ステップS61の実行結果は、「分割数」=N=4、「分割値」=9/4=2、「分割余り」=9%4=1、「調整値」=0、「処理回数」=0である。次にステップS62を実行すると、「調整値」=「調整値」+「分割余り」=0+1=1(オーバーフローなし)、「調整値_over_flow」=0、「処理回数」=1となる。次にステップS63を実行すると、1番目の第1のカウント上限値=「分割値」+「調整値_over_flow」=2+0=2となり、第1のカウント上限値が1つ生成される。ステップS64では、「処理回数」(=1)が「分割数」(=4)に等しくないので、ステップS62に戻る。次にステップS62を実行すると、「調整値」=1+1=2(オーバーフローなし)、「調整値_over_flow」=0、「処理回数」=2となる。次にステップS63を実行すると、2番目の第1のカウント上限値=2+0=2となり、第1のカウント上限値の2つ目が生成される。ステップS64では、「処理回数」(=2)が「分割数」(=4)に等しくないので、ステップS62に戻る。次にステップS62を実行すると、「調整値」=2+1=3(オーバーフローなし)、「調整値_over_flow」=0、「処理回数」=3となる。次にステップS63を実行すると、3番目の第1のカウント上限値=2+0=2となり、第1のカウント上限値の3つ目が生成される。ステップS64では、「処理回数」(=3)が「分割数」(=4)に等しくないので、ステップS62に戻る。次にステップS62を実行すると、「調整値」=3+1=0(オーバーフローあり)、「調整値_over_flow」=1、「処理回数」=4となる。次にステップS63を実行すると、4番目の第1のカウント上限値=2+1=3となり、第1のカウント上限値の4つ目が生成される。ステップS64では、「処理回数」(=4)が「分割数」(=4)に等しいので、ループを抜けて処理を終える。以上のようにして、第1のバスマスタ101の第1のカウント上限値群521が2、2、2、3として生成される。
A process of generating the first count
図7は、バス調停情報操作部105が図4の第2のバス調停情報106をもとに図5の第1の期間群520と第1のカウント上限値群521とを生成し、生成された第1の期間群520の各々と第1のカウント上限値群521の各々とを順次、バス調停情報管理部107が管理する第1のバス調停情報108に設定した例を示している。バス調停情報管理部107が管理する第1のバス調停情報108をバス調停情報操作部105が操作するタイミングは、第1のバス調停情報108の第1の期間220が経過し、第1のバス調停情報108の第1のアクセス許可カウント222を0にリセットするタイミングと同じである。
In FIG. 7, the bus arbitration
図7において横方向は時間を示しており、縦線で示される各時刻においてバス調停部104が調停を行う。これらの時刻を「調停時刻」と呼ぶ。図7の矢印はアクセス要求が出ている期間を示しており、図7の白星印はアクセス許可を受けたことを示し、図7の矢印の下に書かれた数値は第1の期間220の間の第1のアクセス許可カウント222を示しており、括弧内の数値は第1のバス調停情報108の第1のカウント上限値221から第1のアクセス許可カウント222を引いた値である残り優先許可カウントを示している。残り優先許可カウントが大きいほど優先順位は高くなる。
In FIG. 7, the horizontal direction indicates time, and the
図7を具体的に説明する。図7において、第1〜第3のバスマスタ101〜103は常にアクセス要求を行っているものとし、図7の一番左端の第1の期間(t1)220が始まる前に図5の第1の期間群520の一番左の値と第1のカウント上限値群521の一番左の列とをバス調停情報108として、バス調停情報操作部105がバス調停情報管理部107に設定しているものとする。図7の一番左端の第1の期間220の調停時刻0において、第1のバスマスタ101と第2のバスマスタ102との残り優先許可カウントが等しいので、第2の優先順位情報224をもとに調停が行われる。この結果、最も高い優先順位を持つ第1のバスマスタ101がアクセス許可を得る。バス調停部104が第1のバスマスタ101にアクセス許可を与えると、バス調停情報管理部107は第1のバスマスタ101に該当する第1のアクセス許可カウント222を1つだけインクリメントする。次に図7の一番左端の第1の期間220の調停時刻1において、残り優先許可カウントが一番大きいマスタは第2のバスマスタ102なので、第2のバスマスタ102がアクセス許可を得る。図7の一番左端の第1の期間220の調停時刻2と3も同様に調停が行われる。図7の一番左端の第1の期間220の調停時刻3の調停が終わると一番左端の第1の期間220の調停が完了する。図7の一番左端の第1の期間220の調停が完了すると、図5の第1の期間群520の左から2番目の値と図5の第1のカウント上限値群521の左から2番目の列の値とを第1のバス調停情報108として、バス調停情報操作部105がバス調停情報管理部107に設定する。以降、同様に調停と第1のバス調停情報108の操作とを繰り返す。
FIG. 7 will be specifically described. In FIG. 7, it is assumed that the first to
以上のように、図4〜図7によれば、バス調停情報操作部105が第2のバス調停情報106をもとに各バスマスタに対する第1のカウント上限値221が平均的に分散するように第1の期間群520及び第1のカウント上限値群521を生成し、その中の1組をバス調停情報管理部107で管理される第1のバス調停情報108として設定することで、第2のカウント上限値421の大きさに偏りが発生した場合でも、アクセス許可の集中を緩和し、アクセス待ちの期間の最大値(ワーストレイテンシ)を低減することができる。
As described above, according to FIGS. 4 to 7, the bus arbitration
なお、図5が示すような第1の期間群520の各々及び第1のカウント上限値群521の各々を2つ以上又は全部を予め生成してもよいし、第1の期間220が経過するたびに1つずつ第1の期間220及び第1のカウント上限値222を生成してもよい。また、第2のバス調停情報106から図5のような第1の期間群520及び第1のカウント上限値群521を生成する場合、第2のバス調停情報106の各々のマスタの第2のカウント上限値421を2倍以上に変更してから第1の期間群520及び第1のカウント上限値群521を生成してもよい。また、図5は第1のカウント上限値群521の各バスマスタの隣り合う列の値の差の絶対値を0又は1にすることで平均的に分散させた1つの例であるが、第1のカウント上限値群521の各バスマスタの隣り合う列の差の絶対値は2以上でも良く、また平均的に分散させることができれば図6に示したアルゴリズムである必要はない。第1の期間群520と第1のカウント上限値群521との分割数は4に限らず、2以上であればよい。
Note that two or more or all of the
《第2の実施形態》
図8は、図1中の第2のバス調停情報106の第2の例を示している。820は第2の期間(T)、821はバスマスタ毎に設定された第2のカウント上限値、822はバスマスタをグループ分けするためのグループ情報である。図8の第2の期間820は、バス調停部104が所定時間内に調停を行う回数を示す。ここでは「20」が第2の期間820として設定されているので、20調停間隔が第2の期間820に相当する。図8の第2のカウント上限値821は第1〜第3のバスマスタ101〜103の各々が第2の期間820内にアクセス許可を受ける最低限の回数を表しており、第2のカウント上限値821の合計が第2の期間820の設定値と等しくなるように予め設定される。ここでの第2のカウント上限値821は、第1、第2及び第3のバスマスタ101,102,103に対してそれぞれ9、9、2となっている。図8のグループ情報822は、バスマスタのアクセスの方向であるリード属性とライト属性との2つのアクセス属性からなる。ライト属性は、バスマスタのアクセスがリードよりライトが多いバスマスタであることを示し、リード属性は、バスマスタのアクセスがライトよりリードが多いバスマスタであることを示す。
<< Second Embodiment >>
FIG. 8 shows a second example of the second
図9は、図8の第2のバス調停情報106をもとに第1の期間群(t1〜t2)920と第1のカウント上限値群921とを生成した1つの例である。図9の第1の期間群920の各々は、第1のカウント上限値群921の各々の列ごとの総和である。図9の第1の期間群920の総和は図8の第2の期間820に一致させ、図9の各バスマスタに対する第1のカウント上限値群921の総和は図8の各バスマスタに対する第2のカウント上限値821に一致させる。生成された第1のカウント上限値群921の各々は、リード属性を持つバスマスタのカウント上限値のグループとライト属性を持つバスマスタのカウント上限値のグループとの2つに分けることで、第1のカウント上限値群921を生成している。
FIG. 9 shows an example in which the first period group (t1 to t2) 920 and the first count
図10は、バス調停情報操作部105が図8の第2のバス調停情報106をもとに図9の第1の期間群920と第1のカウント上限値群921とを生成し、生成された第1の期間群920の各々と第1のカウント上限値群921の各々とを順次、バス調停情報管理部107が管理する第1のバス調停情報108に設定したときの調停例を示している。バス調停情報管理部107が管理する第1のバス調停情報108をバス調停情報操作部105が操作するタイミングは、第1のバス調停情報108の第1の期間220が経過し、第1のバス調停情報108の第1のアクセス許可カウント222を0にリセットするタイミングと同じである。図10の黒星印は、共有リソース111へのアクセスのアクセス属性が変化することを示している。
10, the bus arbitration
図8〜図10によれば、共有リソース111に対するアクセスのアクセス属性の変化回数を減少させることができる。共有リソース111がSDRAMの場合にはリードとライトとの切り替え時に切り替え処理が必要となりアクセス効率が悪化するため、リードとライトとの切り替え回数を減少させることが共有リソース111へのアクセス効率を向上させることにつながる。
8 to 10, it is possible to reduce the number of changes in access attributes of access to the shared
なお、図8の第2のバス調停情報106をもとに図9の第1の期間群920の各々及び第1のカウント上限値群921の各々を生成するタイミングは、バス調停情報操作部105がバス調停情報管理部107で管理される第1のバス調停情報108を操作するタイミングごとに1つずつ生成してもよいし、予め図9のような第1の期間群920及び第1のカウント上限値群921の全てを生成してもよい。
Note that the timing of generating each of the
図11は、図8の第1の変形例を示している。1120は第2の期間(T)、1121はバスマスタ毎に設定された第2のカウント上限値、1122はバスマスタをグループ分けするためのグループ情報である。図11のグループ情報1122は、バスマスタのアクセスのアドレス範囲を表しているアドレス属性からなる。図11においてアドレス属性は第1のアドレス属性と第2のアドレス属性との2つである。SDRAMへアクセスする場合に使用するアドレスとして、チップ、バンク、ロウ、カラムアドレスがある。SDRAMの特徴として、同一バンクに対してロウアドレスの切り替えを行う際に切り替え処理が必要となり、スループットが低下してしまう。そのため、同一バンクへ連続してアクセスを行うことを減少させることで、切り替え処理を減少させることができる。共有リソース111が2つ以上で構成され、その各々に並列アクセスができるとき、同じ共有リソースに対して連続してアクセス許可を与えるのではなく、異なる共有リソースに対して交互にアクセス許可を与えることによりアクセス競合が減少し、アクセス効率を向上させることができる。
FIG. 11 shows a first modification of FIG.
図11に示した第1のアドレス属性及び第2のアドレス属性は、異なるバンクアドレスにアクセスする頻度が高いバスマスタ同士の集合とする。なお第1のアドレス属性及び第2のアドレス属性は、異なる共有リソースごとにアクセスする頻度が高いバスマスタ同士の集合であってもよいし、各属性に任意にアドレス範囲を指定してもよい。 The first address attribute and the second address attribute shown in FIG. 11 are a set of bus masters that frequently access different bank addresses. The first address attribute and the second address attribute may be a set of bus masters that are frequently accessed for different shared resources, or an address range may be arbitrarily designated for each attribute.
図11によれば、共有リソース111に対するアクセスのアクセス属性の変化回数を減少させることができる。その結果、同一バンクにおけるロウアドレス切り替え処理を減少し、スループットを向上させることができる。
According to FIG. 11, it is possible to reduce the number of changes in the access attribute of access to the shared
図12は、図8の第2の変形例を示している。1220は第2の期間(T)、1221はバスマスタ毎に設定される第2のカウント上限値、1222はバスマスタをグループ分けするグループ情報である。図12のグループ情報1222は、バスマスタをグループ化するためのマスタ属性、すなわち第1のマスタ属性と第2のマスタ属性との2つからなる。同じ第1の期間220内に調停を行わせたいバスマスタを同じマスタ属性に設定する。ここでは、第1及び第3のバスマスタ101,103を第1のマスタ属性とし、第2のバスマスタ102を第2のマスタ属性とする。
FIG. 12 shows a second modification of FIG. 1220 is a second period (T), 1221 is a second upper limit value set for each bus master, and 1222 is group information for grouping the bus masters. The
図12によれば、特定のバスマスタ102に対して優先的に調停を行う期間を作ることができる。その結果、各バスマスタに割り当てられたアクセスバンド幅を保証しつつ、優先的に調停を行う期間の中では特定のバスマスタのレイテンシを向上させることができる。なお、マスタ属性の数は3つ以上でもよいし、1つのマスタ属性に属するバスマスタの数は2つ以上でもよい。
According to FIG. 12, it is possible to create a period in which arbitration is performed preferentially for a
図13は、図8の第2のカウント上限値821をもとに第1の期間群(t1〜t8)1321と第1のカウント上限値群1322とを生成した他の例である。まず、図8の第2のカウント上限値821をもとに、図5の第1のカウント上限値群521と同様の第1のカウント上限値群1320を生成する。図13の各バスマスタに対する第1のカウント上限値1320の総和は図8の各バスマスタに対する第2のカウント上限値821に一致させる。また図13の第1のカウント上限値群1320の各バスマスタの隣り合う列の値の差の絶対値は0又は1である。次に第1のカウント上限値群1320の各列をグループ属性別に分割し、第1のカウント上限値群1322を生成する。第1の期間群1321の各々は第1のカウンタ上限値群1322の各列の総和である。結果として、図13の第1の期間群1321の総和は図8の第2の期間820に一致し、図13の第1のカウント上限値群1322のマスタ毎の総和は図8の第2のカウント上限値821に一致する。
FIG. 13 is another example in which the first period group (t1 to t8) 1321 and the first count
図14は、バス調停情報操作部105が図8の第2のバス調停情報106をもとに図13の第1の期間群1321と第1のカウント上限値群1322とを生成し、生成された第1の期間群1321の各々と第1のカウント上限値群1322の各々とを順次、バス調停情報管理部107が管理する第1のバス調停情報108に設定したときの調停例を示している。
14, the bus arbitration
図14によれば、全体的にはアクセス集中が減少し、レイテンシを低減できる。また部分的にアクセス属性が同じバスマスタ同士を部分的な期間内に優先的に調停を行うことで、共有リソース111に対するアクセスのアクセス属性の変化回数を減少できる。そのため、共有リソース111がSDRAMの場合、アクセス効率を向上させることができる。
According to FIG. 14, the access concentration is reduced as a whole, and the latency can be reduced. Further, by arbitrating preferentially bus masters having partially the same access attribute within a partial period, it is possible to reduce the number of access attribute changes for access to the shared
なお、図8の第2のバス調停情報106をもとに図13の第1の期間群1321の各々と第1のカウント上限値群1322の各々を生成するタイミングは、バス調停情報操作部105がバス調停情報管理部107で管理される第1のバス調停情報108を操作するタイミング毎に1つずつ生成してもよいし、予め図13のような第1の期間群1321と第1のカウント上限値群1321を全て生成してもよい。
The timing for generating each of the
グループ情報1122としてアドレス属性を用いる図11の例や、グループ情報1222としてマスタ属性を用いる図12に例においても、図13に示した方法を同様に適用することが可能である。
The method shown in FIG. 13 can be similarly applied to the example of FIG. 11 using the address attribute as the
《第3の実施形態》
図15は、図1中の第2のバス調停情報106の第3の例を示している。1520は第2の期間(T)、1521はバスマスタ毎に設定された第2のカウント上限値、1522はグループ情報、1523はアクセス履歴情報である。図15のグループ情報1522はバスマスタのアクセスの方向であるリード属性とライト属性との2つのアクセス属性からなる。ライト属性は、バスマスタのアクセスがリードよりライトが多いバスマスタであることを示し、リード属性は、バスマスタのアクセスがライトよりリードが多いバスマスタであることを示す。図15のアクセス履歴情報1523は、第2の期間1520に行われたアクセスについて、バスマスタ毎にリードアクセス回数とライトアクセス回数とをカウントした値を持つ。これらの値は次の第2の期間1520を開始する直前に0にクリアされる。このアクセス履歴情報1523をもとに各バスマスタにグループ情報1522を設定する。アクセス履歴情報1523において、ライト回数よりリード回数が多いバスマスタにはリード属性を、リード回数よりライト回数が多いバスマスタにはライト属性をグループ情報1522に設定する。グループ情報1522に設定するタイミングは、次の第2の期間1520を開始する直前であり、アクセス履歴情報1523のカウント値を0にリセットする直前である。
<< Third Embodiment >>
FIG. 15 shows a third example of the second
図15によれば、バスマスタのアクセス状況に応じてリード属性とライト属性からなるグループ情報1522を生成することができる。SDRAMではリードとライトとの切り替えが多いほど、アクセス効率が低下する。そのため共有リソース111がSDRAMの場合、リードとライトとの切り替え回数が減少するような順番でバスマスタにアクセス許可を与えることでアクセス効率を向上させることができる。
According to FIG. 15,
なお、アクセス履歴情報1523のカウント数を0にリセットするタイミングは第2の期間1520が2回以上経過してからでもよく、グループ情報1522にリード属性又はライト属性を設定するタイミングも同様に第2の期間1520が2回以上経過してからでもよい。
It should be noted that the timing for resetting the count of the
図16は、図15の変形例を示している。1620は第2の期間(T)、1621はバスマスタ毎に設定された第2のカウント上限値、1622はグループ情報、1623はアクセス履歴情報である。図16のグループ情報1622はバスマスタのアクセスのアドレス範囲を表しているアドレス属性からなる。図16においてアドレス属性は第1のアドレス属性と第2のアドレス属性との2つである。図16のアクセス履歴情報1623はバスマスタがアクセスした回数をアドレス範囲ごとにカウントした結果を格納する。図16ではアドレス範囲は第1のアドレス範囲と第2のアドレス範囲との2つである。図16のアクセス履歴情報1623は、第2の期間1620に行われたアクセスについて、バスマスタ毎に第1のアドレス範囲へのアクセス回数と第2のアドレス範囲へのアクセス回数とをカウントした値を持つ。これらの値は次の第2の期間1620を開始する前に0にクリアされる。このアクセス履歴情報1623をもとに各バスマスタのグループ情報1622を設定する。
FIG. 16 shows a modification of FIG. 1620 is a second period (T), 1621 is a second upper limit value set for each bus master, 1622 is group information, and 1623 is access history information. The
図16によれば、バスマスタのアクセス状況に応じてアドレス属性からなるグループ情報1622を生成することができる。アクセス属性が同じバスマスタ同士を部分的な期間内に優先的に調停を行うことで、共有リソース111に対するアクセスのアクセス属性の変化回数をアクセス状況に応じて減少できる。
According to FIG. 16,
《第4の実施形態》
図17は、図1中の第2のバス調停情報106の第4の例を示している。1720は第2の期間(T)、1721は第2のカウント上限値、1722はアクセス履歴情報である。図17のアクセス履歴情報1722は、第1のカウント上限値221から第1のアクセス許可カウント222を引いた値である残り優先許可カウントである。第1の期間220が経過するごとに残り優先許可カウントの大きさを調べて、残り優先許可カウントが大きいバスマスタの順に優先順位が高くなるように第2の優先順位情報224を設定する。そして第2の優先順位情報224を設定した後に第1のカウント上限値221をアクセス履歴情報1722に設定する。以降、第1の期間220が経過するごとに繰り返す。
<< Fourth Embodiment >>
FIG. 17 shows a fourth example of the second
図17によれば、アクセス状況に応じて、残り優先許可カウントが大きいバスマスタ順に、バスマスタの優先順位が高くなるように第2の優先順位情報224が設定されることになる。これにより、1回前の第1の期間220にアクセス要求を出すことができなかったバスマスタが次の第1の期間220にアクセス許可を得る可能性を大きくし、第1のカウント上限値222の設定によるバンド幅保証の精度を高めることができる。
According to FIG. 17, the
なお、第1の期間220が2回以上経過するごとに、第2の優先順位情報224の設定を行ってもよい。この場合、アクセス履歴情報1722のリセットタイミングも合わせる。リセット時の残り優先許可カウントの値は、第1の期間220が経過した回数が示す値を第1のカウント上限値221の値に乗算した値である。
Note that the
また、第1〜第3の実施形態と第4の実施形態とを組み合わせることも可能である。 It is also possible to combine the first to third embodiments and the fourth embodiment.
《第5の実施形態》
図18は、図1中の第2のバス調停情報106の第5の例を示している。1820は第1の期間群(t1〜t8)、1821はバスマスタ毎に設定された第1のカウント上限値群である。ここでは、バス調停情報操作部105が、予め設定された第1の期間群1820及び第1のカウント上限値群1821を管理し、これらをもとに第1のバス調停情報108を操作する。図18に示した例は、前述の図13の例に対応したものであって、第1の期間220が経過するたびに、第1の期間群1820と第1のカウント上限値群1821との列を左から順次、バス調停情報管理部107の第1のバス調停情報108に設定する。図18の例では第1の期間群1820の各々の総和は20であり、第1のバスマスタ101の第1のカウント上限値群1821の総和は9、第2のバスマスタ102の第1のカウント上限値群1821の総和は9、第3のバスマスタ103の第1のカウント上限値群1821の総和は2である。よって、第1〜第3のバスマスタ101〜103はそれぞれ45%、45%、10%の割合でアクセス許可を受けることができる。
<< Fifth Embodiment >>
FIG. 18 shows a fifth example of the second
以上、第1〜第5の実施形態を説明してきた。上記説明ではバスマスタの個数を3としたが、実際にはその個数は任意であり、バスの形態もマルチレイヤバス等様々な形態をとることが可能である。1つのバスに複数のバスマスタが接続された形態では、これらのバスマスタ間の調停にも本発明が適用可能である。 The first to fifth embodiments have been described above. In the above description, the number of bus masters is 3. However, the number of bus masters is actually arbitrary, and the bus form can take various forms such as a multi-layer bus. In a form in which a plurality of bus masters are connected to one bus, the present invention can also be applied to arbitration between these bus masters.
なお、調停ルールは、第1の期間220、第1のカウント上限値221及び第1のアクセス許可カウント222を使って各バスマスタに所望のアクセス許可割合を保証することができるルールであればよい。第1の例は、第1のカウント上限値221から第1のアクセス許可カウント222を引いた残り優先許可カウントが0より大きいバスマスタ間で固定された優先順位に基づく調停ルールである。第2の例は、残り優先許可カウントが0より大きいバスマスタ間で優先順位を順次変更するラウンドロビン方式の調停ルールである。第3の例は、残り優先許可カウントが0より大きいバスマスタ間で、リードアクセス要求がライトアクセス要求より高い優先順位を持つ調停ルールであるか、又はライトアクセス要求がリードアクセス要求より高い優先順位を持つ調停ルールである。第4の例は、残り優先許可カウントが0より大きいバスマスタ間で最も過去にアクセス許可を受けたマスタほど高い優先順位を示す、いわゆるLRU(Least Recently Used:最長時間未使用)アルゴリズムに従った調停ルールである。第5の例は、バスマスタ間でアクセス周期と残り優先許可カウントとの積の値が大きいものほど高い優先順位を持つ調停ルールである。第6の例は、残り優先許可カウントが最も大きいマスタが最優先となるように優先順位を順次変更するラウンドロビン方式の調停ルールである。以上のような調停ルールに対して、アクセス許可を受けたマスタが、その後一定期間アクセス許可を与えられないというルールを追加してもよい。
The arbitration rule may be a rule that can guarantee a desired access permission ratio to each bus master using the
以上説明してきたとおり、本発明に係るリソース管理装置は、各マスタの最低アクセスバンド幅を保証することができ、更にワーストレイテンシを低減したり、アクセス効率を向上させたり、バンド幅の保証精度を向上させたりすることができるので、システムLSI等に好適に利用できる。 As described above, the resource management device according to the present invention can guarantee the minimum access bandwidth of each master, further reduce the worst latency, improve the access efficiency, and increase the guaranteed bandwidth accuracy. Therefore, it can be suitably used for a system LSI or the like.
100 データ処理システム
101〜103 バスマスタ
104 バス調停部
105 バス調停情報操作部
106 第2のバス調停情報
107 バス調停情報管理部
108 第1のバス調停情報
109 リソース管理装置
110 リソース制御部
111 共有リソース
112〜113 バス
220 第1の期間
221 第1のカウント上限値
222 第1のアクセス許可カウント
223 第1の優先順位情報
224 第2の優先順位情報
420,820,1120,1220,1520,1620,1720 第2の期間
421,821,1121,1221,1521,1621,1721 第2のカウント上限値
520,920,1321,1820 第1の期間群
521,921,1320,1322,1821 第1のカウント上限値群
822,1122,1222,1522,1622 グループ情報
1523,1623,1722 アクセス履歴情報
100
Claims (15)
前記複数のマスタの各々に関する第1設定値を第1のバス調停情報として管理するバス調停情報管理部と、
前記バス調停情報管理部で管理されている前記第1のバス調停情報を操作するバス調停情報操作部と、
前記第1のバス調停情報をもとに各マスタから前記共有リソースへのアクセス要求を調停するバス調停部と、
前記バス調停部によりアクセスが許可されたマスタと前記共有リソースとの間のデータ転送を制御するリソース制御部とを備え、
前記バス調停部は、前記複数のマスタのうち2以上のマスタが同時にアクセス要求を行っている場合には、当該2以上のアクセス要求マスタのうち所定時間内にアクセス許可を受けた回数が前記第1設定値に満たないアクセス要求マスタに対して優先的にアクセス許可を与えることを特徴とするリソース管理装置。 A resource management device interposed between a plurality of masters and at least one shared resource,
A bus arbitration information management unit that manages a first set value for each of the plurality of masters as first bus arbitration information;
A bus arbitration information operation unit for operating the first bus arbitration information managed by the bus arbitration information management unit;
A bus arbitration unit that arbitrates an access request from each master to the shared resource based on the first bus arbitration information;
A resource control unit that controls data transfer between the shared resource and the master that is permitted to access by the bus arbitration unit;
When two or more masters among the plurality of masters are simultaneously requesting access, the bus arbitration unit determines the number of times access permission has been received within a predetermined time among the two or more access request masters. A resource management apparatus characterized in that an access permission is preferentially given to an access request master less than one set value.
前記バス調停情報管理部は、前記複数のマスタ間の優先順位に関する第1の優先順位情報を持ち、
前記バス調停部は、前記2以上のアクセス要求マスタのうち前記所定時間内にアクセス許可を受けた回数が前記第1設定値に満たないアクセス要求マスタが複数存在する場合には、前記第1の優先順位情報に基づく第1の優先ルールに従ってアクセス要求の調停を行うことを特徴とするリソース管理装置。 The resource management device according to claim 1, wherein
The bus arbitration information management unit has first priority information related to priority among the plurality of masters,
The bus arbitration unit, when there are a plurality of access request masters in which the number of times access permission is received within the predetermined time among the two or more access request masters does not satisfy the first set value, A resource management device characterized in that an access request is arbitrated according to a first priority rule based on priority order information.
前記バス調停情報操作部は、前記複数のマスタの各々に関する第2設定値を第2のバス調停情報として管理し、バス調停情報操作ルールに従って、前記第2のバス調停情報をもとに前記第1のバス調停情報を操作することを特徴とするリソース管理装置。 The resource management apparatus according to claim 2, wherein
The bus arbitration information operation unit manages a second set value relating to each of the plurality of masters as second bus arbitration information, and in accordance with a bus arbitration information operation rule, based on the second bus arbitration information, A resource management device that operates one bus arbitration information.
前記バス調停情報操作部は、前記第2のバス調停情報をもとに第1のバス調停情報群を生成したうえ、当該第1のバス調停情報群をもとに前記バス調停情報操作ルールに従って前記第1のバス調停情報を操作することを特徴とするリソース管理装置。 The resource management device according to claim 3, wherein
The bus arbitration information operation unit generates a first bus arbitration information group based on the second bus arbitration information, and follows the bus arbitration information operation rule based on the first bus arbitration information group. A resource management device that operates the first bus arbitration information.
前記バス調停情報操作ルールは、前記第1のバス調停情報の操作を行う前の前記第1設定値と、前記第1のバス調停情報の操作を行った後の前記第1設定値との差の絶対値が0又は1となるルールであることを特徴とするリソース管理装置。 The resource management device according to claim 3, wherein
The bus arbitration information operation rule is a difference between the first set value before operating the first bus arbitration information and the first set value after operating the first bus arbitration information. A resource management device, wherein the absolute value of the rule is 0 or 1.
前記バス調停情報操作部は、前記複数のマスタのアクセスの特徴により前記第2のバス調停情報を複数のグループに分けるための情報をグループ情報として管理し、
前記バス調停情報操作ルールは、前記グループ情報をもとに前記第1のバス調停情報を操作するルールであることを特徴とするリソース管理装置。 The resource management device according to claim 3, wherein
The bus arbitration information operation unit manages, as group information, information for dividing the second bus arbitration information into a plurality of groups according to the access characteristics of the plurality of masters.
The resource management apparatus according to claim 1, wherein the bus arbitration information operation rule is a rule for operating the first bus arbitration information based on the group information.
前記グループ情報は、前記共有リソースのリードよりライトが多いことを示すリード属性情報と、ライトよりリードが多いことを示すライト属性情報との2つの属性情報を含むことを特徴とするリソース管理装置。 The resource management device according to claim 6, wherein
The resource management apparatus according to claim 1, wherein the group information includes two attribute information: read attribute information indicating that there are more writes than reads of the shared resource, and write attribute information indicating that there are more reads than writes.
前記グループ情報は、前記共有リソースへの複数のアクセスアドレスの範囲に関する情報を含むことを特徴とするリソース管理装置。 The resource management device according to claim 6, wherein
The resource management apparatus, wherein the group information includes information regarding a range of a plurality of access addresses to the shared resource.
前記グループ情報は、前記複数のマスタ中の個々のマスタを特定するための情報を含むことを特徴とするリソース管理装置。 The resource management device according to claim 6, wherein
The resource management apparatus, wherein the group information includes information for specifying individual masters among the plurality of masters.
前記バス調停情報操作部は、前記バス調停部が前記共有リソースへのアクセスを許可したマスタのアクセス情報をアクセス履歴情報として管理し、当該アクセス履歴情報をもとに前記グループ情報を生成することを特徴とするリソース管理装置。 The resource management device according to claim 6, wherein
The bus arbitration information operation unit manages, as access history information, access information of a master permitted by the bus arbitration unit to access the shared resource, and generates the group information based on the access history information. A featured resource management device.
前記アクセス履歴情報は、前記共有リソースへのリードアクセス回数とライトアクセス回数とを含むことを特徴とするリソース管理装置。 The resource management device according to claim 10, wherein
The resource management apparatus, wherein the access history information includes a read access count and a write access count to the shared resource.
前記アクセス履歴情報は、前記共有リソースへのアクセスのアドレス範囲に関する情報を含むことを特徴とするリソース管理装置。 The resource management device according to claim 10, wherein
The resource management apparatus, wherein the access history information includes information related to an address range of access to the shared resource.
前記バス調停情報管理部は、前記複数のマスタ間の優先順位に関する第2の優先順位情報を持ち、
前記バス調停部は、前記第1設定値から前記所定時間内にアクセス許可を受けた回数を差し引いて得られるカウントを残り優先許可カウントとするとき、前記2以上のアクセス要求マスタの中に最大かつ等しい残り優先許可カウントを持つアクセス要求マスタが複数存在する場合には、前記第2の優先順位情報に基づく第2の優先ルールに従ってアクセス要求の調停を行うことを特徴とするリソース管理装置。 The resource management apparatus according to claim 2, wherein
The bus arbitration information management unit has second priority information related to priority among the plurality of masters,
The bus arbitration unit has a maximum of the two or more access request masters when the remaining priority permission count is a count obtained by subtracting the number of times access permission is received within the predetermined time from the first set value. A resource management device characterized in that when there are a plurality of access request masters having equal remaining priority permission counts, an access request is arbitrated according to a second priority rule based on the second priority information.
前記バス調停情報操作部は、前記複数のマスタの各々について前記残り優先許可カウントに関する情報をアクセス履歴情報として管理し、当該アクセス履歴情報をもとに前記第2の優先順位情報を操作することを特徴とするリソース管理装置。 The resource management device according to claim 13, wherein
The bus arbitration information operation unit manages information related to the remaining priority permission count for each of the plurality of masters as access history information, and operates the second priority information based on the access history information. A featured resource management device.
前記バス調停情報操作部は、設定された第1のバス調停情報群を管理し、当該第1のバス調停情報群をもとに前記第1のバス調停情報を操作することを特徴とするリソース管理装置。 The resource management apparatus according to claim 2, wherein
The bus arbitration information operation unit manages a set first bus arbitration information group and operates the first bus arbitration information based on the first bus arbitration information group. Management device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006025970A JP2007207024A (en) | 2006-02-02 | 2006-02-02 | Resource management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006025970A JP2007207024A (en) | 2006-02-02 | 2006-02-02 | Resource management device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007207024A true JP2007207024A (en) | 2007-08-16 |
Family
ID=38486433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006025970A Pending JP2007207024A (en) | 2006-02-02 | 2006-02-02 | Resource management device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007207024A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119009A1 (en) * | 2008-03-27 | 2009-10-01 | パナソニック株式会社 | Access controller |
WO2011089660A1 (en) * | 2010-01-19 | 2011-07-28 | パナソニック株式会社 | Bus arbitration device |
US9684633B2 (en) | 2013-01-24 | 2017-06-20 | Samsung Electronics Co., Ltd. | Adaptive service controller, system on chip and method of controlling the same |
US10346209B2 (en) | 2015-11-30 | 2019-07-09 | Samsung Electronics Co., Ltd. | Data processing system for effectively managing shared resources |
US11042382B2 (en) | 2013-08-08 | 2021-06-22 | Movidius Limited | Apparatus, systems, and methods for providing computational imaging pipeline |
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
-
2006
- 2006-02-02 JP JP2006025970A patent/JP2007207024A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119009A1 (en) * | 2008-03-27 | 2009-10-01 | パナソニック株式会社 | Access controller |
US8458409B2 (en) | 2008-03-27 | 2013-06-04 | Panasonic Corporation | Access controller |
JP5330264B2 (en) * | 2008-03-27 | 2013-10-30 | パナソニック株式会社 | Access control device |
WO2011089660A1 (en) * | 2010-01-19 | 2011-07-28 | パナソニック株式会社 | Bus arbitration device |
US9684633B2 (en) | 2013-01-24 | 2017-06-20 | Samsung Electronics Co., Ltd. | Adaptive service controller, system on chip and method of controlling the same |
US11042382B2 (en) | 2013-08-08 | 2021-06-22 | Movidius Limited | Apparatus, systems, and methods for providing computational imaging pipeline |
US11567780B2 (en) | 2013-08-08 | 2023-01-31 | Movidius Limited | Apparatus, systems, and methods for providing computational imaging pipeline |
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
US10346209B2 (en) | 2015-11-30 | 2019-07-09 | Samsung Electronics Co., Ltd. | Data processing system for effectively managing shared resources |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7032046B2 (en) | Resource management device for managing access from bus masters to shared resources | |
JP4480427B2 (en) | Resource management device | |
US8060679B2 (en) | Information processing apparatus and access control method capable of high-speed data access | |
JP2006221611A (en) | Resource management device | |
TWI399650B (en) | System of plural bus arbitrations per cycle via higher-frequency arbiter and method of arbitrating multiple bus transaction requests in a bus operating at a bus frequency | |
US11294835B2 (en) | Semiconductor device including a bus arbiter | |
US7617344B2 (en) | Methods and apparatus for controlling access to resources in an information processing system | |
JP2007207024A (en) | Resource management device | |
US20140047206A1 (en) | Information processing apparatus, memory control apparatus, and control method thereof | |
JP4839155B2 (en) | Access arbitration device and access arbitration method | |
JP6201591B2 (en) | Information processing apparatus and information processing apparatus control method | |
JP2004246862A (en) | Resource management device | |
TWI539287B (en) | Method and apparatus for on-the-fly learning traffic control scheme | |
JP2011133940A (en) | Access arbitration apparatus, integrated circuit device, electronic apparatus, access arbitration method, and program | |
JP2006215621A (en) | Dma controller | |
JP4822429B2 (en) | Bus access arbitration method and semiconductor integrated circuit | |
JP2007026022A (en) | Bus arbitration device and bus arbitration method | |
JP2011085989A (en) | Memory arbitration circuit and memory arbitration method | |
JPWO2007007599A1 (en) | Memory control device | |
JP6582598B2 (en) | Arbitration circuit | |
JP2007164713A (en) | Device and method for managing resource | |
JP7292044B2 (en) | Control device and control method | |
JP2004038767A (en) | Bus arbitration device | |
US20070245052A1 (en) | System and method for bandwidth sharing in busses | |
KR20210127339A (en) | Semiconductor memory device including a plurality of area having differnet refresh periods, memory controller controlling the same and memory system |