JP2007207024A - Resource management device - Google Patents

Resource management device Download PDF

Info

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
Application number
JP2006025970A
Other languages
Japanese (ja)
Inventor
Hideki Oma
英樹 大麻
Toshihiro Fukuyama
敏弘 福山
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 Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006025970A priority Critical patent/JP2007207024A/en
Publication of JP2007207024A publication Critical patent/JP2007207024A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To avoid concentration of access permission to the same master to reduce worst latency, and to improve access efficiency according to the kind of a shared resource. <P>SOLUTION: A bus arbitration part 104 and a resource control part 110 are interposed between a plurality of bus masters 101, 102, 103 and the shared resource 111, and access requirement is arbitrated on the basis of first bus arbitration information 108 showing a minimum frequency allowing reception of the access permission within a prescribed time in each bus master. An arbitration information operation part 105 operates the first bus arbitration information 108 such that the access permission to the same bus master is distributed on the basis of second bus arbitration information 106, and operates the first bus arbitration information 108 such that access interference between the bus masters is reduced in conformity with to the kind of the shared resource 111 or operates the first bus arbitration information 108 according to a band width acquisition situation of the bus master. <P>COPYRIGHT: (C)2007,JPO&INPIT

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参照)。
特開2004−246862号公報
According to a certain prior art, the resource management device arbitrates access requests at regular intervals based on the priority order information of each master that is previously stored in a table format. The priority order information of a plurality of patterns is stored in the table, and the patterns are switched in order at regular time intervals for arbitration. Each master can receive an access permission for the number of times set to the highest priority in the priority pattern, and can guarantee the minimum access bandwidth of each master (see Patent Document 1).
JP 2004-246862 A

上記のように各調停時刻において最優先順位を持つマスタを予め決めておくシステムでは、アクセス要求の発生タイミングに時間的な偏りが生じた場合に問題が生じる。例えば、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 bus masters 101, 102, 103 and the shared resource 111, and includes a bus arbitration unit 104, a bus arbitration information operation unit 105, and a bus arbitration information management. Unit 107 and resource control unit 110. Reference numeral 108 denotes first bus arbitration information managed by the bus arbitration information management unit 107, and 106 denotes second bus arbitration information managed by the bus arbitration information operation unit 105. The first, second, and third bus masters 101, 102, and 103 are connected to the bus arbitration unit 104 via the buses 112, 113, and 114, respectively. The first to third bus masters 101 to 103 and the resource management device 109 constitute one data processing system 100.

バス調停情報管理部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 information management unit 107 includes a first set value that is the minimum number of times each of the first to third bus masters 101 to 103 can receive access permission within a predetermined time, and the bus masters 101 to 103. The first bus arbitration information 108 is managed. On the other hand, each of the first to third bus masters 101 to 103 issues an access request to the shared resource 111 at an arbitrary time. The bus arbitration unit 104 arbitrates access requests from the first to third bus masters 101 to 103 based on the first bus arbitration information 108, and sends one access request selected by the arbitration to the resource control unit 110. To tell. At this time, when two or more bus masters are making access requests at the same time, the bus arbitration unit 104 determines the first bus arbitration information as the number of times access permission is received within a predetermined time among the two or more access request masters. An access permission is preferentially given to a bus master that does not satisfy the first set value in 108. In addition, when there are a plurality of bus masters whose access permission is received within a predetermined time among the two or more access request masters, the bus masters 101 to 101 managed by the bus arbitration information management unit 107 are present. The bus arbitration unit 104 arbitrates the access request according to the priority rule based on the priority order information between 103. The resource control unit 110 performs data transfer control between the bus master selected by the bus arbitration unit 104 and the shared resource 111. The bus arbitration information operation unit 105 uses, as second bus arbitration information 106, the second set value relating to the minimum number of times each of the first to third bus masters 101 to 103 can receive access permission within a predetermined time. One or more are managed, and the first bus arbitration information 108 is operated based on the second bus arbitration information 106 according to a method described later as the first to fifth embodiments.

図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 resource 111 from the first to third bus masters 101, 102, and 103 in FIG. 1 is arbitrated will be described. Here, it is assumed that there is a demand to give the first, second, and third bus masters 101, 102, and 103 access permission of 9, 9, and 2 times out of 20 arbitration operations. Assuming that a certain amount of access to the shared resource 111 can be made for each access permission, 45%, 45%, and 10% for the first, second, and third bus masters 101, 102, and 103, respectively. Access bandwidth is guaranteed.

図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 bus arbitration information 108 in FIG. A first period (t) 220 in FIG. 2 indicates the number of times that the bus arbitration unit 104 performs arbitration within a predetermined time. Here, since “20” is set as the first period 220, the 20 arbitration interval corresponds to the first period 220. In FIG. 2, 221 is a first count upper limit value, 222 is a first access permission count, 223 is first priority information, and 224 is second priority information. The first priority information 223 indicates that the higher the remaining priority permission count determined from the first count upper limit value 221 and the first access permission count 222 is, the higher the priority is. The remaining priority permission count is calculated by subtracting the first access permission count 222 from the first count upper limit value 221. The second priority information 224 indicates that the first bus master 101, the second bus master 102, and the third bus master 103 have a fixed priority in the order when the remaining priority permission counts are equal. In other words, here, the fixed priority is higher as the set numerical value of the second priority information 224 is smaller.

図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 bus arbitration information 108 of FIG. In the example of FIG. 3, all of the first to third bus masters 101 to 103 always make access requests. The arrows in FIG. 3 indicate the period during which an access request is issued. A white star indicates that a certain bus master has received access permission at a certain arbitration time. The numerical value below the arrow indicates the first access permission count 222 of the first to third bus masters 101 to 103 at each arbitration interval. The numerical values in parentheses indicate the remaining priority permission counts of the first to third bus masters 101 to 103. The black star mark indicates that the access attribute of access to the shared resource 111 changes. In the example of FIG. 3, the access attributes of the first bus master 101 and the third bus master 103 are the same, and the access attributes of the second bus master 102 are different. The access attribute is, for example, an attribute related to read or write that is an access direction or an attribute related to a range of a plurality of access addresses.

図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 arbitration time 0, the first access permission count 222 of all the bus masters is 0, which is less than the first count upper limit value 221, and therefore, the first priority order for all the bus masters. Arbitration is performed based on the information 223. In this case, the remaining priority permission counts of the first bus master 101 and the second bus master 102 are the largest. As a result, since the remaining priority permission counts are the same for both, the first bus master 101 obtains access permission according to the second priority information 224. When the bus arbitration unit 104 grants access permission to the first bus master 101, the bus arbitration information management unit 107 increments the first access permission count 222 corresponding to the first bus master 101 by one. Next, at the arbitration time 1, all of the first to third bus masters 101 to 103 make an access request. At the arbitration time 1, since the first access permission count 222 of all bus masters is less than the first count upper limit value 221, arbitration is performed for all bus masters based on the first priority information 223. Is called. As a result, the second bus master 102 having the largest remaining priority permission count obtains access permission. If there is no access from a bus master whose first access permission count 222 is less than the first count upper limit value 221, an access request is made only from the bus master whose first access permission count 222 has reached the first count upper limit value 221. If it has occurred, the access request bus master with the higher priority obtains access permission as judged from the second priority information 224. Thereafter, arbitration is performed in the same manner, and when the arbitration at the arbitration time 19 is completed, the first access permission count 222 is reset to 0, and the arbitration in the first period 220 is completed. Thereafter, the same arbitration is performed periodically.

次に、バス調停情報操作部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 information operation unit 105 operates the first bus arbitration information 108 will be described as first to fifth embodiments. Here, it is assumed that there is a demand to give the first, second, and third bus masters 101, 102, and 103 access permission of 9, 9, and 2 times out of 20 arbitration operations. Assuming that a certain amount of access to the shared resource 111 can be made for each access permission, 45%, 45%, and 10% for the first, second, and third bus masters 101, 102, and 103, respectively. Access bandwidth is guaranteed.

《第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 bus arbitration information 106 in FIG. 420 is a second period (T), and 421 is a second count upper limit set for each bus master. A second period 420 in FIG. 4 indicates the number of times that the bus arbitration unit 104 performs arbitration within a predetermined time. Here, since “20” is set as the second period 420, the 20 arbitration interval corresponds to the second period 420. The second count upper limit value 421 represents the minimum number of times each of the first to third bus masters 101 to 103 receives access permission within the second period 420, and is the sum of the second count upper limit values 421. Is set in advance to be equal to the set value of the second period 420. Here, the second count upper limit value 421 is 9, 9, 2 for the first, second, and third bus masters 101, 102, 103, respectively.

図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 upper limit group 521 are generated based on the second count upper limit value 421 of FIG. The group 520 has four first periods, and the first count upper limit group 521 has four first count upper limits. Each of the first period groups 520 in FIG. 5 is the sum of all the bus masters for each column of the first count upper limit value group 521. The sum of the first period group 520 in FIG. 5 coincides with the second period 420 in FIG. 4, and the sum of the first count upper limit value group 521 for each bus master in FIG. 5 is the second sum for each bus master in FIG. To the count upper limit value 421. In addition, the absolute value of the difference between adjacent column values of each bus master in the first count upper limit group 521 of FIG. 5 is 0 or 1, and the second count upper limit value 421 is averagely distributed.

図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 limit value group 521 from the second count upper limit value 421 when the number of divisions (= N) is a power of two. In FIG. 6, the process of step S61 is initialization. Here, “/” indicates division, and “%” indicates an operation for obtaining the remainder of division. 6 is sequentially executed on the second count upper limit value 421 of each bus master in FIG. 4, whereby the first count upper limit group 521 of each bus master in FIG. Generate columns sequentially. In FIG. 6, “division remainder” and “adjustment value” are integers of the number of bits of the value of log 2 N, and the calculation related to “division remainder” and “adjustment value” is the calculation of the number of bits of the value of log 2 N. . That is, if the number of divisions (= N) is 4, “division remainder” and “adjustment value” are 2-bit integers, and operations relating to “division remainder” and “adjustment value” are 2-bit operations.

図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 upper limit group 521 of FIG. 5 from the second count upper limit value 421 of FIG. 4 using the algorithm shown in FIG. 6 will be described for the first bus master 101. Since the second count upper limit value 421 is divided into four, the “number of divisions” (= N) in FIG. 6 is 4, and the calculation related to the “adjustment value” is a 2-bit calculation. The execution result of step S61 is “number of divisions” = N = 4, “division value” = 9/4 = 2, “remainder of division” = 9% 4 = 1, “adjustment value” = 0, “number of processing times” = 0. Next, when step S62 is executed, “adjustment value” = “adjustment value” + “remainder of division” = 0 + 1 = 1 (no overflow), “adjustment value_over_flow” = 0, and “number of processing times” = 1. Next, when step S63 is executed, the first first upper limit value = “divided value” + “adjustment value_over_flow” = 2 + 0 = 2, and one first upper count value is generated. In step S64, the “number of processes” (= 1) is not equal to the “number of divisions” (= 4), so the process returns to step S62. Next, when step S62 is executed, “adjustment value” = 1 + 1 = 2 (no overflow), “adjustment value_over_flow” = 0, and “number of processing times” = 2. Next, when step S63 is executed, the second first count upper limit value = 2 + 0 = 2, and the second first count upper limit value is generated. In step S64, since the “number of processing times” (= 2) is not equal to the “number of divisions” (= 4), the process returns to step S62. Next, when step S62 is executed, “adjustment value” = 2 + 1 = 3 (no overflow), “adjustment value_over_flow” = 0, and “number of processing times” = 3. Next, when step S63 is executed, the third first count upper limit value = 2 + 0 = 2 is obtained, and the third first count upper limit value is generated. In step S64, the “number of processes” (= 3) is not equal to the “number of divisions” (= 4), so the process returns to step S62. Next, when step S62 is executed, “adjustment value” = 3 + 1 = 0 (with overflow), “adjustment value_over_flow” = 1, and “number of processing times” = 4. Next, when step S63 is executed, the fourth first count upper limit value = 2 + 1 = 3 is generated, and the fourth first count upper limit value is generated. In step S64, since the “number of processes” (= 4) is equal to the “number of divisions” (= 4), the process exits from the loop. As described above, the first count upper limit value group 521 of the first bus master 101 is generated as 2, 2, 2, 3.

図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 information operation unit 105 generates the first period group 520 and the first count upper limit group 521 in FIG. 5 based on the second bus arbitration information 106 in FIG. In addition, an example is shown in which each of the first period group 520 and each of the first count upper limit value group 521 are sequentially set in the first bus arbitration information 108 managed by the bus arbitration information management unit 107. The timing at which the bus arbitration information operation unit 105 operates the first bus arbitration information 108 managed by the bus arbitration information management unit 107 passes after the first period 220 of the first bus arbitration information 108 has elapsed. The timing is the same as when the first access permission count 222 of the arbitration information 108 is reset to zero.

図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 bus arbitration unit 104 performs arbitration at each time indicated by a vertical line. These times are called “arbitration times”. An arrow in FIG. 7 indicates a period during which an access request is issued, a white star in FIG. 7 indicates that access is permitted, and a numerical value written below the arrow in FIG. The first access permission count 222 is shown, and the numerical value in parentheses is the remaining priority that is a value obtained by subtracting the first access permission count 222 from the first count upper limit value 221 of the first bus arbitration information 108. Indicates the permission count. The higher the remaining priority permission count, the higher the priority.

図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 third bus masters 101 to 103 are always requesting access, and the first period (t1) 220 shown in FIG. The bus arbitration information operating unit 105 sets the leftmost value of the period group 520 and the leftmost column of the first count upper limit value group 521 as the bus arbitration information 108 in the bus arbitration information management unit 107. Shall. Since the remaining priority permission counts of the first bus master 101 and the second bus master 102 are equal at the arbitration time 0 in the first period 220 at the leftmost end in FIG. 7, the second priority order information 224 is used. Mediation takes place. As a result, the first bus master 101 having the highest priority obtains access permission. When the bus arbitration unit 104 grants access permission to the first bus master 101, the bus arbitration information management unit 107 increments the first access permission count 222 corresponding to the first bus master 101 by one. Next, at the arbitration time 1 in the first period 220 at the leftmost end of FIG. 7, the master having the largest remaining priority permission count is the second bus master 102, so the second bus master 102 obtains access permission. Arbitration is also performed in the same manner at the arbitration times 2 and 3 in the first period 220 at the leftmost end of FIG. When the mediation at the mediation time 3 in the first period 220 at the leftmost end in FIG. 7 is completed, the mediation in the first period 220 at the leftmost end is completed. When the mediation of the first period 220 at the leftmost end in FIG. 7 is completed, the second value from the left in the first period group 520 in FIG. 5 and the second value from the left in the first count upper limit group 521 in FIG. The bus arbitration information operation unit 105 sets the value in the second column as the first bus arbitration information 108 in the bus arbitration information management unit 107. Thereafter, the arbitration and the operation of the first bus arbitration information 108 are similarly repeated.

以上のように、図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 information operation unit 105 causes the first count upper limit values 221 for the respective bus masters to be dispersed on the average based on the second bus arbitration information 106. The first period group 520 and the first count upper limit value group 521 are generated, and one set among them is set as the first bus arbitration information 108 managed by the bus arbitration information management unit 107, so that the second Even when the count upper limit value 421 is biased, the concentration of access permission can be relaxed, and the maximum value of the access waiting period (worst latency) can be reduced.

なお、図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 first period group 520 and the first count upper limit value group 521 as shown in FIG. 5 may be generated in advance, or the first period 220 elapses. The first period 220 and the first count upper limit 222 may be generated one by one. When the first period group 520 and the first count upper limit group 521 as shown in FIG. 5 are generated from the second bus arbitration information 106, the second of each master of the second bus arbitration information 106 is displayed. The first period group 520 and the first count upper limit group 521 may be generated after the count upper limit 421 is changed to twice or more. FIG. 5 shows an example in which the absolute value of the difference between the adjacent column values of each bus master in the first count upper limit value group 521 is 0 or 1 and is dispersed on average. The absolute value of the difference between adjacent columns of each bus master in the count upper limit value group 521 may be 2 or more, and the algorithm shown in FIG. The number of divisions between the first period group 520 and the first count upper limit group 521 is not limited to four and may be two or more.

《第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 bus arbitration information 106 in FIG. 820 is a second period (T), 821 is a second upper limit value set for each bus master, and 822 is group information for grouping the bus masters. A second period 820 in FIG. 8 indicates the number of times that the bus arbitration unit 104 performs arbitration within a predetermined time. Here, since “20” is set as the second period 820, the 20 arbitration interval corresponds to the second period 820. The second count upper limit value 821 in FIG. 8 represents the minimum number of times each of the first to third bus masters 101 to 103 receives access permission within the second period 820, and the second count upper limit value The total of 821 is set in advance so as to be equal to the set value of the second period 820. Here, the second count upper limit value 821 is 9, 9, 2 for the first, second, and third bus masters 101, 102, 103, respectively. The group information 822 in FIG. 8 includes two access attributes, that is, a read attribute and a write attribute, which are access directions of the bus master. The write attribute indicates that the bus master access is a bus master with more writes than read, and the read attribute indicates that the bus master access is a bus master with more reads than write.

図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 upper limit group 921 are generated based on the second bus arbitration information 106 of FIG. Each of the first period groups 920 in FIG. 9 is a sum for each column of the first count upper limit group 921. The sum total of the first period group 920 in FIG. 9 coincides with the second period 820 in FIG. 8, and the sum total of the first count upper limit group 921 for each bus master in FIG. 9 is the second sum for each bus master in FIG. It is made to coincide with the count upper limit value 821. Each of the generated first count upper limit groups 921 is divided into two groups, that is, a count upper limit group of bus masters having a read attribute and a count upper limit group of bus masters having a write attribute. A count upper limit value group 921 is generated.

図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 information operation unit 105 generates the first period group 920 and the first count upper limit group 921 in FIG. 9 based on the second bus arbitration information 106 in FIG. An example of arbitration when each of the first period group 920 and each of the first count upper limit group 921 is sequentially set in the first bus arbitration information 108 managed by the bus arbitration information management unit 107 is shown. Yes. The timing at which the bus arbitration information operation unit 105 operates the first bus arbitration information 108 managed by the bus arbitration information management unit 107 passes after the first period 220 of the first bus arbitration information 108 has elapsed. The timing is the same as when the first access permission count 222 of the arbitration information 108 is reset to zero. A black star in FIG. 10 indicates that the access attribute of access to the shared resource 111 changes.

図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 resource 111. When the shared resource 111 is an SDRAM, a switching process is required when switching between read and write, and access efficiency deteriorates. Therefore, reducing the number of times of switching between read and write improves the access efficiency to the shared resource 111. It leads to things.

なお、図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 first period group 920 and each of the first count upper limit group 921 of FIG. 9 based on the second bus arbitration information 106 of FIG. May be generated one for each timing of operating the first bus arbitration information 108 managed by the bus arbitration information management unit 107, or the first period group 920 and the first All of the count upper limit group 921 may be generated.

図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. Reference numeral 1120 denotes a second period (T), reference numeral 1121 denotes a second upper limit value set for each bus master, and reference numeral 1122 denotes group information for grouping the bus masters. The group information 1122 in FIG. 11 includes address attributes representing the address range of bus master access. In FIG. 11, there are two address attributes: a first address attribute and a second address attribute. There are chip, bank, row, and column addresses as addresses used when accessing the SDRAM. As a feature of the SDRAM, when a row address is switched for the same bank, a switching process is required, resulting in a decrease in throughput. Therefore, the switching process can be reduced by reducing the continuous access to the same bank. When two or more shared resources 111 are configured and each of them can be accessed in parallel, access permission is alternately given to different shared resources instead of continuously granting access permission to the same shared resource. As a result, access contention can be reduced and access efficiency can be improved.

図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 resource 111. As a result, it is possible to reduce row address switching processing in the same bank and improve throughput.

図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 group information 1222 in FIG. 12 includes two master attributes for grouping bus masters, that is, a first master attribute and a second master attribute. The bus masters to be arbitrated within the same first period 220 are set to the same master attribute. Here, the first and third bus masters 101 and 103 are set as the first master attribute, and the second bus master 102 is set as the second master attribute.

図12によれば、特定のバスマスタ102に対して優先的に調停を行う期間を作ることができる。その結果、各バスマスタに割り当てられたアクセスバンド幅を保証しつつ、優先的に調停を行う期間の中では特定のバスマスタのレイテンシを向上させることができる。なお、マスタ属性の数は3つ以上でもよいし、1つのマスタ属性に属するバスマスタの数は2つ以上でもよい。   According to FIG. 12, it is possible to create a period in which arbitration is performed preferentially for a specific bus master 102. As a result, it is possible to improve the latency of a specific bus master during a period of preferential arbitration while guaranteeing the access bandwidth allocated to each bus master. The number of master attributes may be three or more, and the number of bus masters belonging to one master attribute may be two or more.

図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 upper limit group 1322 are generated based on the second count upper limit value 821 of FIG. First, a first count upper limit group 1320 similar to the first count upper limit group 521 in FIG. 5 is generated based on the second count upper limit value 821 in FIG. The sum of the first count upper limit values 1320 for each bus master in FIG. 13 is made to match the second count upper limit value 821 for each bus master in FIG. Also, the absolute value of the difference between the adjacent column values of each bus master in the first count upper limit group 1320 in FIG. 13 is 0 or 1. Next, each column of the first count upper limit group 1320 is divided for each group attribute to generate a first count upper limit group 1322. Each of the first period group 1321 is a sum of each column of the first counter upper limit value group 1322. As a result, the sum of the first period group 1321 in FIG. 13 coincides with the second period 820 in FIG. 8, and the sum for each master of the first count upper limit group 1322 in FIG. 13 is the second sum in FIG. It corresponds to the count upper limit value 821.

図14は、バス調停情報操作部105が図8の第2のバス調停情報106をもとに図13の第1の期間群1321と第1のカウント上限値群1322とを生成し、生成された第1の期間群1321の各々と第1のカウント上限値群1322の各々とを順次、バス調停情報管理部107が管理する第1のバス調停情報108に設定したときの調停例を示している。   14, the bus arbitration information operation unit 105 generates the first period group 1321 and the first count upper limit group 1322 of FIG. 13 based on the second bus arbitration information 106 of FIG. An example of arbitration when each of the first period group 1321 and each of the first count upper limit group 1322 is sequentially set in the first bus arbitration information 108 managed by the bus arbitration information management unit 107 is shown. Yes.

図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 resource 111. Therefore, when the shared resource 111 is SDRAM, access efficiency can be improved.

なお、図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 first period group 1321 and each of the first count upper limit group 1322 of FIG. 13 based on the second bus arbitration information 106 of FIG. May be generated one for each timing at which the first bus arbitration information 108 managed by the bus arbitration information management unit 107 is operated, or the first period group 1321 as shown in FIG. All the count upper limit groups 1321 may be generated.

グループ情報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 group information 1122 and the example of FIG. 12 using the master attribute as the group information 1222.

《第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 bus arbitration information 106 in FIG. 1520 is a second period (T), 1521 is a second upper limit value set for each bus master, 1522 is group information, and 1523 is access history information. The group information 1522 in FIG. 15 includes two access attributes, that is, a read attribute and a write attribute, which are directions of access by the bus master. The write attribute indicates that the bus master access is a bus master with more writes than read, and the read attribute indicates that the bus master access is a bus master with more reads than write. The access history information 1523 in FIG. 15 has a value obtained by counting the number of read accesses and the number of write accesses for each bus master with respect to accesses performed in the second period 1520. These values are cleared to 0 just before starting the next second period 1520. Based on the access history information 1523, group information 1522 is set for each bus master. In the access history information 1523, a read attribute is set in the group information 1522 for a bus master having a read count larger than the write count and a bus master having a write count larger than the read count. The timing set in the group information 1522 is immediately before the start of the next second period 1520 and immediately before the count value of the access history information 1523 is reset to zero.

図15によれば、バスマスタのアクセス状況に応じてリード属性とライト属性からなるグループ情報1522を生成することができる。SDRAMではリードとライトとの切り替えが多いほど、アクセス効率が低下する。そのため共有リソース111がSDRAMの場合、リードとライトとの切り替え回数が減少するような順番でバスマスタにアクセス許可を与えることでアクセス効率を向上させることができる。   According to FIG. 15, group information 1522 including a read attribute and a write attribute can be generated according to the access status of the bus master. In SDRAM, the more switching between read and write, the lower the access efficiency. Therefore, when the shared resource 111 is SDRAM, access efficiency can be improved by giving access permission to the bus master in such an order that the number of times of switching between read and write decreases.

なお、アクセス履歴情報1523のカウント数を0にリセットするタイミングは第2の期間1520が2回以上経過してからでもよく、グループ情報1522にリード属性又はライト属性を設定するタイミングも同様に第2の期間1520が2回以上経過してからでもよい。   It should be noted that the timing for resetting the count of the access history information 1523 to 0 may be after the second period 1520 has passed twice or more, and the timing for setting the read attribute or write attribute in the group information 1522 is also the second. It may be after two or more periods 1520 have elapsed.

図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 group information 1622 in FIG. 16 includes address attributes representing the address range of bus master access. In FIG. 16, there are two address attributes: a first address attribute and a second address attribute. The access history information 1623 in FIG. 16 stores the result of counting the number of accesses by the bus master for each address range. In FIG. 16, there are two address ranges, a first address range and a second address range. The access history information 1623 in FIG. 16 has a value obtained by counting the number of accesses to the first address range and the number of accesses to the second address range for each bus master with respect to accesses performed in the second period 1620. . These values are cleared to 0 before starting the next second period 1620. Based on the access history information 1623, group information 1622 of each bus master is set.

図16によれば、バスマスタのアクセス状況に応じてアドレス属性からなるグループ情報1622を生成することができる。アクセス属性が同じバスマスタ同士を部分的な期間内に優先的に調停を行うことで、共有リソース111に対するアクセスのアクセス属性の変化回数をアクセス状況に応じて減少できる。   According to FIG. 16, group information 1622 having address attributes can be generated according to the access status of the bus master. By preferentially arbitrating bus masters with the same access attribute within a partial period, the number of access attribute changes for access to the shared resource 111 can be reduced according to the access status.

《第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 bus arbitration information 106 in FIG. 1720 is a second period (T), 1721 is a second count upper limit value, and 1722 is access history information. The access history information 1722 in FIG. 17 is a remaining priority permission count that is a value obtained by subtracting the first access permission count 222 from the first count upper limit value 221. Each time the first period 220 elapses, the remaining priority permission count is checked, and the second priority information 224 is set so that the priority becomes higher in order of the bus master having the largest remaining priority permission count. Then, after setting the second priority information 224, the first count upper limit value 221 is set in the access history information 1722. Thereafter, the process is repeated every time the first period 220 elapses.

図17によれば、アクセス状況に応じて、残り優先許可カウントが大きいバスマスタ順に、バスマスタの優先順位が高くなるように第2の優先順位情報224が設定されることになる。これにより、1回前の第1の期間220にアクセス要求を出すことができなかったバスマスタが次の第1の期間220にアクセス許可を得る可能性を大きくし、第1のカウント上限値222の設定によるバンド幅保証の精度を高めることができる。   According to FIG. 17, the second priority information 224 is set so that the priority order of the bus masters becomes higher in the order of the bus master having the largest remaining priority permission count according to the access status. This increases the possibility that a bus master that has not been able to issue an access request in the first period 220 one time before may obtain access permission in the next first period 220, and the first count upper limit value 222 The accuracy of bandwidth guarantee by setting can be increased.

なお、第1の期間220が2回以上経過するごとに、第2の優先順位情報224の設定を行ってもよい。この場合、アクセス履歴情報1722のリセットタイミングも合わせる。リセット時の残り優先許可カウントの値は、第1の期間220が経過した回数が示す値を第1のカウント上限値221の値に乗算した値である。   Note that the second priority information 224 may be set every time the first period 220 passes two or more times. In this case, the reset timing of the access history information 1722 is also adjusted. The value of the remaining priority permission count at the time of reset is a value obtained by multiplying the value of the first count upper limit value 221 by the value indicated by the number of times the first period 220 has elapsed.

また、第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 bus arbitration information 106 in FIG. 1820 is a first period group (t1 to t8), and 1821 is a first count upper limit group set for each bus master. Here, the bus arbitration information operation unit 105 manages the first period group 1820 and the first count upper limit group 1821 set in advance, and operates the first bus arbitration information 108 based on these. The example shown in FIG. 18 corresponds to the example of FIG. 13 described above, and each time the first period 220 elapses, the first period group 1820 and the first count upper limit value group 1821 The columns are sequentially set in the first bus arbitration information 108 of the bus arbitration information management unit 107 from the left. In the example of FIG. 18, the sum total of each of the first period groups 1820 is 20, the sum of the first count upper limit group 1821 of the first bus master 101 is 9, and the first count upper limit of the second bus master 102 The sum of the value group 1821 is 9, and the sum of the first count upper limit value group 1821 of the third bus master 103 is 2. Therefore, the first to third bus masters 101 to 103 can receive access permission at a rate of 45%, 45%, and 10%, respectively.

以上、第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 first period 220, the first count upper limit value 221 and the first access permission count 222. The first example is an arbitration rule based on a priority order that is fixed between bus masters in which the remaining priority permission count obtained by subtracting the first access permission count 222 from the first count upper limit value 221 is greater than zero. The second example is a round-robin arbitration rule that sequentially changes the priority between bus masters having a remaining priority permission count greater than zero. The third example is an arbitration rule in which the read access request has a higher priority than the write access request, or the write access request has a higher priority than the read access request, between the bus masters whose remaining priority permission count is greater than 0. It is a mediation rule. The fourth example is arbitration according to a so-called LRU (Least Recently Used) algorithm that indicates a higher priority among the masters that have received access permission in the past among bus masters with a remaining priority permission count greater than zero. It is a rule. The fifth example is an arbitration rule having a higher priority as the product of the access period and the remaining priority permission count is larger between bus masters. The sixth example is a round-robin arbitration rule that sequentially changes the priority order so that the master having the largest remaining priority permission count has the highest priority. To the arbitration rule as described above, a rule may be added in which a master that has received access permission cannot subsequently be granted access permission for a certain period.

以上説明してきたとおり、本発明に係るリソース管理装置は、各マスタの最低アクセスバンド幅を保証することができ、更にワーストレイテンシを低減したり、アクセス効率を向上させたり、バンド幅の保証精度を向上させたりすることができるので、システム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.

本発明に係るリソース管理装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the resource management apparatus which concerns on this invention. 図1中の第1のバス調停情報の1つの例を示す概念図である。It is a conceptual diagram which shows one example of the 1st bus arbitration information in FIG. 図2の第1のバス調停情報をもとにした調停例を示すタイミング図である。FIG. 3 is a timing diagram showing an example of arbitration based on the first bus arbitration information of FIG. 2. 図1中の第2のバス調停情報の第1の例を示す概念図である。It is a conceptual diagram which shows the 1st example of the 2nd bus arbitration information in FIG. 図4の第2のバス調停情報をもとに生成した第1のバス調停情報群の例を示す概念図である。It is a conceptual diagram which shows the example of the 1st bus arbitration information group produced | generated based on the 2nd bus arbitration information of FIG. 図5の第1のバス調停情報群を生成するときに使うアルゴリズムの1つの例を示すフローチャート図である。FIG. 6 is a flowchart showing one example of an algorithm used when generating the first bus arbitration information group in FIG. 5. 図5の第1のバス調停情報群をもとにした調停例を示すタイミング図である。FIG. 6 is a timing chart showing an example of arbitration based on the first bus arbitration information group in FIG. 5. 図1中の第2のバス調停情報の第2の例を示す概念図である。It is a conceptual diagram which shows the 2nd example of the 2nd bus arbitration information in FIG. 図8の第2のバス調停情報をもとに生成した第1のバス調停情報群の第1の例を示す概念図である。It is a conceptual diagram which shows the 1st example of the 1st bus arbitration information group produced | generated based on the 2nd bus arbitration information of FIG. 図9の第1のバス調停情報群をもとにした調停例を示すタイミング図である。FIG. 10 is a timing chart showing an example of arbitration based on the first bus arbitration information group in FIG. 9. 図8の第1の変形例を示す概念図である。It is a conceptual diagram which shows the 1st modification of FIG. 図8の第2の変形例を示す概念図である。It is a conceptual diagram which shows the 2nd modification of FIG. 図8の第2のバス調停情報をもとに生成した第1のバス調停情報群の第2の例を示す概念図である。It is a conceptual diagram which shows the 2nd example of the 1st bus arbitration information group produced | generated based on the 2nd bus arbitration information of FIG. 図13の第1のバス調停情報群をもとにした調停例を示すタイミング図である。FIG. 14 is a timing chart showing an example of arbitration based on the first bus arbitration information group in FIG. 13. 図1中の第2のバス調停情報の第3の例を示す概念図である。It is a conceptual diagram which shows the 3rd example of the 2nd bus arbitration information in FIG. 図15の変形例を示す概念図である。It is a conceptual diagram which shows the modification of FIG. 図1中の第2のバス調停情報の第4の例を示す概念図である。It is a conceptual diagram which shows the 4th example of the 2nd bus arbitration information in FIG. 図1中の第2のバス調停情報の第5の例を示す概念図である。It is a conceptual diagram which shows the 5th example of the 2nd bus arbitration information in FIG.

符号の説明Explanation of symbols

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 data processing systems 101 to 103 bus master 104 bus arbitration unit 105 bus arbitration information operation unit 106 second bus arbitration information 107 bus arbitration information management unit 108 first bus arbitration information 109 resource management device 110 resource control unit 111 shared resource 112 -113 Bus 220 First period 221 First count upper limit 222 First access permission count 223 First priority information 224 Second priority information 420, 820, 1120, 1220, 1520, 1620, 1720 First 2 periods 421, 821, 1121, 1221, 1521, 1621, 1721 second count upper limit values 520, 920, 1321, 1820 first period groups 521, 921, 1320, 1322, 1821 first count upper limit value groups 822, 1122, 12 2,1522,1622 group information 1523,1623,1722 access history information

Claims (15)

複数のマスタと少なくとも1つの共有リソースとの間に介在したリソース管理装置であって、
前記複数のマスタの各々に関する第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記載のリソース管理装置において、
前記バス調停情報管理部は、前記複数のマスタ間の優先順位に関する第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のバス調停情報として管理し、バス調停情報操作ルールに従って、前記第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.
請求項3記載のリソース管理装置において、
前記バス調停情報操作部は、前記第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.
請求項3記載のリソース管理装置において、
前記バス調停情報操作ルールは、前記第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.
請求項3記載のリソース管理装置において、
前記バス調停情報操作部は、前記複数のマスタのアクセスの特徴により前記第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.
請求項6記載のリソース管理装置において、
前記グループ情報は、前記共有リソースのリードよりライトが多いことを示すリード属性情報と、ライトよりリードが多いことを示すライト属性情報との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.
請求項6記載のリソース管理装置において、
前記グループ情報は、前記共有リソースへの複数のアクセスアドレスの範囲に関する情報を含むことを特徴とするリソース管理装置。
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.
請求項6記載のリソース管理装置において、
前記グループ情報は、前記複数のマスタ中の個々のマスタを特定するための情報を含むことを特徴とするリソース管理装置。
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.
請求項6記載のリソース管理装置において、
前記バス調停情報操作部は、前記バス調停部が前記共有リソースへのアクセスを許可したマスタのアクセス情報をアクセス履歴情報として管理し、当該アクセス履歴情報をもとに前記グループ情報を生成することを特徴とするリソース管理装置。
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.
請求項10記載のリソース管理装置において、
前記アクセス履歴情報は、前記共有リソースへのリードアクセス回数とライトアクセス回数とを含むことを特徴とするリソース管理装置。
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.
請求項10記載のリソース管理装置において、
前記アクセス履歴情報は、前記共有リソースへのアクセスのアドレス範囲に関する情報を含むことを特徴とするリソース管理装置。
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記載のリソース管理装置において、
前記バス調停情報管理部は、前記複数のマスタ間の優先順位に関する第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.
請求項13記載のリソース管理装置において、
前記バス調停情報操作部は、前記複数のマスタの各々について前記残り優先許可カウントに関する情報をアクセス履歴情報として管理し、当該アクセス履歴情報をもとに前記第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.
請求項2記載のリソース管理装置において、
前記バス調停情報操作部は、設定された第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.
JP2006025970A 2006-02-02 2006-02-02 Resource management device Pending JP2007207024A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (9)

* Cited by examiner, † Cited by third party
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