JP2010039632A - Bus arbitration system - Google Patents
Bus arbitration system Download PDFInfo
- Publication number
- JP2010039632A JP2010039632A JP2008199874A JP2008199874A JP2010039632A JP 2010039632 A JP2010039632 A JP 2010039632A JP 2008199874 A JP2008199874 A JP 2008199874A JP 2008199874 A JP2008199874 A JP 2008199874A JP 2010039632 A JP2010039632 A JP 2010039632A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- arbitration
- queue
- determination
- bus arbitration
- 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
Abstract
Description
本発明は、少なくとも1つ以上のバスマスタとメモリコントローラとがシステムバスで接続され、バスマスタのバス転送を調停するバスアービタを備えるバス調停システムに関する。 The present invention relates to a bus arbitration system including a bus arbiter in which at least one or more bus masters and a memory controller are connected by a system bus and arbitrate bus transfer of the bus master.
従来のメモリコントローラへのアクセス競合調停手段としては、バスアービタがシステムバス上の転送のみを監視し、各バスマスタのバス転送が終了する都度、その時点におけるバス転送要求を発行しているバスマスタ間で調停を行う。そして、その時点での優先順位の高いバスマスタにメモリコントローラへのアクセス権を与える方法が一般的に知られている。 As a conventional means of arbitrating access to the memory controller, the bus arbiter monitors only the transfer on the system bus. Each time the bus transfer of each bus master ends, arbitration between the bus masters issuing the bus transfer request at that time I do. A method of giving an access right to the memory controller to a bus master having a high priority at that time is generally known.
しかしながらこの従来の調停方法では、各バスマスタが転送要求を発行するタイミングはそれぞれ異なるため、優先度を高く設定したバスマスタの転送要求が必ずしも優先度の低いバスマスタの転送要求よりも先にアクセス権を得るとは限らなかった。 However, in this conventional arbitration method, the timing at which each bus master issues a transfer request is different, so that a bus master transfer request with a higher priority necessarily obtains an access right before a bus master transfer request with a lower priority. Not always.
図8は、複数のバスマスタが各々のタイミングでバス転送要求を発行する際に従来の調停方法でバス調停を行う場合の一例を示す図である。
図8に示すように、優先度の低いバスマスタから順にバス転送要求が発行され、優先度の高いバスマスタのバス転送要求が低頻度でしか発行されないような組み込みシステムがある。この場合、バス転送が終了して次のアービトレーションを行う時点で、優先度の高い他のバスマスタがまだ転送要求を発行していない。このため、優先度の低いバスマスタが先にアクセス権を割り当てられてバス転送を行い、メモリコントローラのキューに格納されるという状況が発生する。したがって、予め各バスマスタの優先度を設定しても、各バスマスタのバス転送要求タイミングによってその優先順位とは異なる順序でメモリコントローラのキューにバス転送要求が格納されていく。これにより、所望の優先順位に応じたバス調停を行うことができない。
FIG. 8 is a diagram illustrating an example in which bus arbitration is performed by a conventional arbitration method when a plurality of bus masters issue a bus transfer request at each timing.
As shown in FIG. 8, there is an embedded system in which bus transfer requests are issued in order from a bus master with a low priority, and bus transfer requests of a bus master with a high priority are issued only infrequently. In this case, at the time when the bus transfer is completed and the next arbitration is performed, another bus master having a higher priority has not yet issued a transfer request. For this reason, a situation occurs in which a bus master having a low priority is assigned an access right first, performs bus transfer, and is stored in the queue of the memory controller. Therefore, even if the priority of each bus master is set in advance, the bus transfer requests are stored in the queue of the memory controller in an order different from the priority depending on the bus transfer request timing of each bus master. Thereby, bus arbitration according to a desired priority order cannot be performed.
そこで、この問題を解決するために、一旦メモリコントローラのキューに格納された複数のバス転送要求をキューの内部で順番を入れ替えることによって優先順位の高いバス転送要求を先に行わせるリオーダリングの技術がある。また、各バスマスタ専用のキューをメモリコントローラ内部に持たせ、優先度の高いバスマスタのキューから先にメモリアクセス処理を行わせるといった技術も知られている。 Therefore, in order to solve this problem, a reordering technique in which a plurality of bus transfer requests once stored in the queue of the memory controller are changed in order within the queue, so that a bus transfer request with a higher priority is made first. There is. There is also known a technique in which a queue dedicated to each bus master is provided in the memory controller, and the memory access processing is performed first from the queue of the bus master having a high priority.
しかしながら、キューの内部でリオーダリングを行う方法では、バス調停によってキューに格納されたバス転送要求をもう一度所望の順序に並べ替えるという比較的複雑な制御回路を必要とする。また、専用キューを持つ方法では、優先させたいバスマスタの数だけキューを用意する必要があり回路規模を大きくしてしまう。さらには、前記両方法とも、根本的な課題である所望の優先順位に応じたバス調停を行えないという問題の解決策にはなっていない。 However, the method of performing reordering inside the queue requires a relatively complicated control circuit that rearranges the bus transfer requests stored in the queue by the bus arbitration in a desired order once again. Further, in the method having the dedicated queue, it is necessary to prepare queues as many as the number of bus masters to be given priority, which increases the circuit scale. Furthermore, neither of these methods is a solution to the problem that the bus arbitration according to the desired priority, which is a fundamental problem, cannot be performed.
本発明は前述の問題点に鑑み、優先度の低いバスマスタが優先度の高いバスマスタよりも先にバス転送要求を発行するような場合であっても、所望の優先順位に応じたバス調停を行うことができるようにすることを目的とする。 In view of the above-described problems, the present invention performs bus arbitration according to a desired priority even when a low priority bus master issues a bus transfer request before a high priority bus master. The purpose is to be able to.
本発明のバス調停システムは、複数のバスマスタと、複数のメモリコントローラと、前記複数のバスマスタが前記複数のバスマスタと前記複数のメモリコントローラとを接続するシステムバスを介して前記メモリコントローラにアクセスする際にアクセスの競合を調停するバスアービタとを備えるバス調停システムであって、前記複数のバスマスタのバス転送要求を格納するキュー状態を前記バスアービタに通知するキュー状態通知手段と、前記キュー状態通知手段によって通知されたキューの状態を予め設定した条件と比較して判定する判定手段と、前記判定手段の結果に基づいてアクセスの競合を調停するタイミングを決定する調停タイミング制御手段とを備えることを特徴とする。 In the bus arbitration system of the present invention, a plurality of bus masters, a plurality of memory controllers, and the plurality of bus masters access the memory controller via a system bus connecting the plurality of bus masters and the plurality of memory controllers. A bus arbitration system including a bus arbiter for arbitrating access contention, a queue status notification means for notifying the bus arbiter of a queue status for storing bus transfer requests of the plurality of bus masters, and a notification by the queue status notification means Determining means for comparing the queue state with a preset condition, and arbitration timing control means for determining a timing for arbitrating access competition based on a result of the determination means. .
本発明によれば、従来よりもバス調停のタイミングを長く取ることができるため、所望の優先順位に応じたバス調停を行うことが可能となる。 According to the present invention, since the bus arbitration timing can be made longer than in the prior art, it is possible to perform bus arbitration according to a desired priority order.
(第1の実施形態)
以下、図1〜4を参照して本発明の実施形態について説明する。本実施形態では、バス調停のタイミングを、メモリコントローラのキューの空き数が2つ以上である場合に調停を行う構成とする。また、調停を行う競合するバスマスタの数は4つであるものとする。
(First embodiment)
Hereinafter, embodiments of the present invention will be described with reference to FIGS. In the present embodiment, the bus arbitration timing is configured to perform arbitration when the number of queues in the memory controller is two or more. It is assumed that the number of competing bus masters that perform arbitration is four.
図1は、本実施形態に係るバス調停システムの一例を示す図である。
図1において、本実施形態では、システムバス106に接続された4つのマスタデバイス101〜104が、システムバス106に接続されたメモリコントローラ105に対してバス転送を行う場合のバス転送競合をバスアービタ107で調停する。
FIG. 1 is a diagram illustrating an example of a bus arbitration system according to the present embodiment.
In FIG. 1, in this embodiment, the
さらに本実施形態のメモリコントローラ105は、内部に各バスマスタのバス転送要求を前もって複数個格納させておく。そして、このためのキューを有している。バスアービタ107は、メモリコントローラ105から通知されるキューの空き数を検知して監視することによりバス調停を行うタイミングを制御する構成となっている。
Further, the
図2は、本実施形態に係るバス調停システムの詳細な構成例を示すブロック図である。
図2において、バスアービタ200は、調停判定部201、調停タイミング制御部202、調停部203、およびバス調停システムの初期設定を行う調停タイミング設定部204を有する。また、メモリコントローラ220は、キュー状態通知部221を有する。
FIG. 2 is a block diagram illustrating a detailed configuration example of the bus arbitration system according to the present embodiment.
In FIG. 2, the
調停判定部201は、メモリコントローラ220からキュー状態通知信号250を受け取り、予め設定した調停条件と比較して条件を満たしているか否かを判定するブロックである。バス調停を行うための条件を満たしたかどうかを判定して、その結果を示す判定フラグを生成し、これに基づいて調停をするか否かを決定する。本実施形態の場合は、キュー状態通知信号250によって通知されるメモリコントローラ220のキューの空き数が2つ以上である場合にバス調停の条件を満たし、判定フラグを1にセットする。
The
調停タイミング制御部202は、調停判定部201から判定フラグを受け取り、判定フラグ、キューの空き数およびバス転送要求を発行しているバスマスタの数に基づき各バスマスタのバス転送要求を制御するブロックである。判定フラグが0である間は各バスマスタのバス転送要求を全て0にマスクし、調停部203でのバス調停を停止させる。
The arbitration
一方、判定フラグが1になり、調停判定部201においてバス調停を行うための条件を満たした場合には、その時点でのキューの空き数の数だけ各バスマスタのバス転送要求のマスクを解除して空き数分のバス転送要求を連続して調停する。この時、バス転送要求を発行しているバスマスタの数がキューの空き数に満たない場合には、バス転送要求を発行しているバスマスタの数だけ連続してマスクを解除し続け、該バスマスタのバス転送要求を調停する。
On the other hand, when the determination flag becomes 1 and the condition for performing the bus arbitration is satisfied in the
なお、キューの空き数分の転送、あるいはバス転送要求を発行していたバスマスタの数分のバス調停が完了するまでの間は判定フラグを考慮しない。所定の回数分のバス調停が完了し次第、再び判定フラグを監視し、次の調停タイミングを待つ。本実施形態の場合は、メモリコントローラ220のキューの空き数が1つ以下の場合は各バスマスタのバス転送要求を0にマスクし、バス調停を停止させておく。
Note that the determination flag is not taken into consideration until the transfer for the empty number of queues or the bus arbitration for the number of bus masters that have issued the bus transfer request is completed. As soon as the bus arbitration for a predetermined number of times is completed, the determination flag is monitored again and the next arbitration timing is awaited. In this embodiment, when the number of empty queues in the
キューの空き数が2つになって判定フラグが1にセットされた時に、バス転送要求を発行しているバスマスタの数が2つ以上であった場合には2回分のバス調停が行われるまで各バスマスタのバス転送要求のマスクを解除し、バス調停を連続で行わせる。バス転送要求を発行しているバスマスタの数が1つであった場合には該バスマスタのバス調停が行われるまでバス転送要求のマスクを解除する。そして、2回ないしは1回のバス調停が完了し次第、再び判定フラグの状態を監視し、次の調停タイミングまでは各バスマスタのバス転送要求をマスクする。 When the number of vacant queues becomes two and the determination flag is set to 1, if the number of bus masters issuing bus transfer requests is two or more, until two bus arbitrations are performed The bus transfer request mask of each bus master is canceled and the bus arbitration is performed continuously. If the number of bus masters issuing a bus transfer request is 1, the bus transfer request mask is canceled until the bus master performs bus arbitration. As soon as the bus arbitration is completed twice or once, the state of the determination flag is monitored again, and the bus transfer request of each bus master is masked until the next arbitration timing.
図3は、判定フラグが1にセットされた時にバス転送要求を発行しているバスマスタの数が2つ以上あった場合の状態を示す図である。ここで、詳細は後述するが、Que_Vacの値には、本実施形態のバス調停を行う際の閾値である2を設定してあり、キュー状態通知信号250はメモリコントローラ220内のキューの空き数を示している。
FIG. 3 is a diagram illustrating a state in which there are two or more bus masters issuing bus transfer requests when the determination flag is set to 1. Here, although details will be described later, the value of Que_Vac is set to 2 which is a threshold when performing the bus arbitration of the present embodiment, and the queue
gnt信号は、調停部203がバス調停を行って何れかのバスマスタにアクセス権を与えるための信号である。キュー状態通知信号250の値が2となり、予め設定したバス調停を行う条件を満たした時に条件フラグflgが1にセットされる。flgが1にセットされると各バスマスタのバス転送要求のマスクが解除され、バス調停が行われる。
The gnt signal is a signal for the
調停部203にてバス調停が行われ、何れかのバスマスタにバスアクセス権が与えられる(gnt=1)とバス転送が行われる。そして、メモリコントローラ220のキューに該バス転送要求が格納されてキュー状態通知信号250で通知されるキューの空き数が1つ減る。flgが1にセットされた時点でバス転送要求を発行していたバスマスタが2つ以上あるため、調停タイミング制御部202は、連続してマスクを解除し続け、次のバス調停を行わせる。2回バス調停が終了した時点で再びflg信号を監視し、再度flg信号が1にセットされるまで全てのバスマスタのバス転送要求を0にマスクしてバス調停を停止させる。
When the
調停部203は、従来の調停手段と同様のものであり、固定プライオリティ方式やラウンドロビン等の方式でバス調停を行って、何れかのバスマスタにアクセス権割り当てを連続して変化させるブロックである。調停タイミング設定部204は、本実施形態のバス調停システムの動作設定を行うレジスタ群であり、CPU等が設定する。
The
また、210は、メモリコントローラ220のキューの空き数がいくつ以上になったらバス調停を行うかの閾値を設定するキュー空き数設定レジスタであり、その出力Que_Vacは調停判定部201に接続する。
図4は、キュー空き数設定レジスタの仕様を示す図である。
図4において、Bitsはビット構成を示し、Nameはレジスタ名を示す。また、Accessはレジスタ属性であり、Rはリードを示し、Wはライトを示す。また、Functionはレジスタ機能を示す。なお、Que_Vacは4ビット構成としているが、ビット幅はメモリコントローラ220が持つキューの総数に応じて増減させてもよい。
FIG. 4 is a diagram showing specifications of the queue empty number setting register.
In FIG. 4, Bits indicates a bit configuration, and Name indicates a register name. Access is a register attribute, R indicates read, and W indicates write. Function indicates a register function. Note that although Que_Vac has a 4-bit configuration, the bit width may be increased or decreased according to the total number of queues that the
キュー状態通知部221は、メモリコントローラ220の内部にあるキューの状態をキュー状態通知信号250でバスアービタ200へと通知するブロックである。本実施形態の場合は、キューの空き数をカウントして、通知する。
The queue
次に、本実施形態の動作について、図5のフローチャートを参照しながら説明する。
まず、CPU等がキュー空き数設定レジスタ410にバス調停を行う条件であるキューの空き数0x2を設定する(ステップS1)。ここで、キューの空き数が2以上の際にはバス調停を行うという設定がなされる。
Next, the operation of this embodiment will be described with reference to the flowchart of FIG.
First, the CPU or the like sets the queue empty number 0x2, which is a condition for performing bus arbitration, in the queue empty number setting register 410 (step S1). Here, when the number of empty queues is 2 or more, a setting is made to perform bus arbitration.
初期設定がなされると、バスアービタ200はメモリコントローラ220から通知されるキュー状態通知信号250の監視を始める(ステップS2)。次に、キュー状態通知信号250の値が2以上であるか否かを判定する(ステップS3)。この判定の結果、1以下である場合は、ステップS2に戻る。一方、ステップS3の判定の結果、2以上である場合は、ステップS4に進み、バス調停を開始する。そして、バス転送要求を発行しているバスマスタの数がキューの空き数よりも多いか否かを判定する(ステップS4)。
When initialization is performed, the
この判定の結果、キューの空き数よりも多い場合は、キューの空き数分のバス調停を行って各バスマスタにアクセス権を割り当てる(ステップS5)。一方、ステップS4の判定の結果、バス転送要求を発行しているバスマスタの数がキューの空き数以下である場合には、転送要求を発行しているバスマスタの数分のバス調停を行って各バスマスタにアクセス権を割り当てる(ステップS6)。そして、所定の回数のバス調停が完了すると、再びキュー状態通知信号の値の監視を始める(ステップS2)。 If the result of this determination is that there are more queues than available, bus arbitration is performed for the number of available queues and an access right is assigned to each bus master (step S5). On the other hand, if the number of bus masters issuing a bus transfer request is equal to or less than the number of empty queues as a result of the determination in step S4, bus arbitration is performed for the number of bus masters issuing a transfer request. An access right is assigned to the bus master (step S6). When the predetermined number of bus arbitrations are completed, monitoring of the value of the queue state notification signal is started again (step S2).
以上のように本実施形態によれば、従来よりもバス調停のタイミングを長く取ることができるため、所望の優先順位に応じたバス調停を行うことを可能とする。 As described above, according to the present embodiment, the bus arbitration timing can be set longer than that in the prior art, so that bus arbitration according to a desired priority order can be performed.
図9は、キューの空き数が2つ以上になった場合にバス調停を行うように設定した場合を示す図である。図9は、図8で示した例と全く同じタイミング、間隔で各バスマスタがバス転送要求を発行する場合に本実施形態のバス調停システムを適用した際のバス調停動作を示している。 FIG. 9 is a diagram illustrating a case where bus arbitration is set when the number of empty queues is two or more. FIG. 9 shows a bus arbitration operation when the bus arbitration system of this embodiment is applied when each bus master issues a bus transfer request at exactly the same timing and interval as in the example shown in FIG.
図9に示すように、本実施形態のバス調停システムを用いることにより、バス調停時にバス転送要求を発行しているバスマスタの数を増やすことができる。これにより、所望の優先順位に応じた順序でメモリコントローラのキューに各バスマスタのバス転送要求を格納できる。また、従来のように一度バス調停を行ったバス転送要求を再度優先順位に応じてメモリコントローラで調整する必要がなくなるため、容易な回路構成で所望の優先順位に応じたメモリアクセスを行うことを可能とする。 As shown in FIG. 9, by using the bus arbitration system of the present embodiment, it is possible to increase the number of bus masters that issue bus transfer requests during bus arbitration. Thereby, the bus transfer request of each bus master can be stored in the queue of the memory controller in the order according to the desired priority. In addition, since it is not necessary to adjust the bus transfer request once the bus arbitration is performed by the memory controller according to the priority order as in the prior art, it is possible to perform memory access according to the desired priority order with an easy circuit configuration. Make it possible.
(第2の実施形態)
第1の実施形態では、バス調停を行う条件をキューの空き数の閾値で設定したが、この場合キューに格納されている各バス転送要求の内容に関しては全く考慮に入っていないため、必ずしも最適なバス調停タイミングを実現できるとは限らなかった。
(Second Embodiment)
In the first embodiment, the condition for performing the bus arbitration is set by the threshold value of the number of empty queues. However, in this case, the contents of each bus transfer request stored in the queue are not taken into consideration at all, and are not necessarily optimal. It was not always possible to achieve the correct bus arbitration timing.
例えば、4段のキューを有するメモリコントローラにおいて、2段以上キューが空いた時点でバス調停を開始するように設定する場合がある。この場合、まだキューに格納されている2つのバス転送要求が8ビート転送の要求2つである場合と、4ビート転送の要求2つである場合とでは、それらの転送要求のメモリアクセスが完了するまでに要するレイテンシは全く異なってくる。 For example, in a memory controller having a four-stage queue, it may be set to start bus arbitration when two or more stages of queues are available. In this case, when the two bus transfer requests that are still stored in the queue are two 8-beat transfer requests and two 4-beat transfer requests, the memory access of these transfer requests is completed. The latency required to do this is quite different.
通常、メモリコントローラは、現在行っているメモリアクセスの次のメモリアクセスの準備を行うために少なくとも1つのバス転送要求がキューに格納されていれば、余分なレイテンシを要さずに次のメモリアクセスを行うことが可能である。従って、もし4ビート転送の要求2つで合計8ビート分の転送量がキューに残っていて次のバス調停を開始させた場合に、新しいバス転送要求を格納することができるのであれば、転送要求が2つ格納されている状態でバス調停を開始させる必要はない。もう1つバス転送要求がキューから抜けてキューの空き数が3つになった後にバス調停を開始させることが可能である。そのほうがバス調停を開始させるタイミングを余分に多く取れるため、より効果的なバス調停を行うことが可能となる。 Normally, if the memory controller queues at least one bus transfer request to prepare for the next memory access after the current memory access, the memory controller does not need extra latency. Can be done. Therefore, if the transfer amount for a total of 8 beats remains in the queue with two 4-beat transfer requests and the next bus arbitration is started, a new bus transfer request can be stored. There is no need to start bus arbitration with two requests stored. It is possible to start the bus arbitration after another bus transfer request leaves the queue and the number of empty queues becomes three. In this case, an extra timing for starting bus arbitration can be obtained, so that more effective bus arbitration can be performed.
このように、いくつキューが空いた状態で次のバス調停を行うのが適切であるのかは一律の値ではなく、メモリコントローラのキューに格納されているバス転送要求の総転送量に応じて動的に変動する。そこで、上記問題に鑑み、本実施形態では、キューに格納されている各バス転送要求の総転送量の閾値を設定することにより、キューの空き数を一律で固定させずに、総転送量に応じて調停を行うタイミングを動的に変動させる。これにより、より効果的なバス調停を行うことが可能となる。 Thus, it is not a uniform value that the next bus arbitration is appropriate when the number of queues is empty, but depends on the total transfer amount of bus transfer requests stored in the memory controller queue. Fluctuates. Therefore, in view of the above problem, in this embodiment, by setting a threshold value for the total transfer amount of each bus transfer request stored in the queue, the total transfer amount can be set without fixing the number of empty queues uniformly. In response, the timing of mediation is dynamically changed. As a result, more effective bus arbitration can be performed.
図6は、本実施形態に係るバス調停システムの詳細な構成例を示すブロック図である。本実施形態では、キューに格納されている各バス転送要求の総転送量でバス調停を行う条件を設定する。なお、図6に示す構成は、図2で示した第1の実施形態の構成とほぼ同じであるが、本実施形態では、調停タイミング設定部604で設定する内容及びメモリコントローラ620内のキュー状態通知部621で通知する内容が異なる。
FIG. 6 is a block diagram illustrating a detailed configuration example of the bus arbitration system according to the present embodiment. In this embodiment, a condition for performing bus arbitration is set based on the total transfer amount of each bus transfer request stored in the queue. The configuration shown in FIG. 6 is almost the same as the configuration of the first embodiment shown in FIG. 2, but in this embodiment, the contents set by the arbitration timing setting unit 604 and the queue state in the
610は、調停タイミング設定部604で設定するレジスタであり、メモリコントローラ620のキューに格納されているバス転送要求の総転送量が何バイト以下になったらバス調停を行うかの閾値を設定するキュー総転送量設定レジスタである。その出力Que_Amoは調停判定部601に接続する。
図7は、キュー総転送量設定レジスタ710の仕様を示す図である。図7において、Que_Amoは4ビット構成としているが、ビット幅は設定したい総転送量の値に応じて増減させてもよい。本実施形態では、キュー状態通知部621は、キューの空き数に加えて、キューに格納されているバス転送要求の総転送量もキュー状態通知信号650を用いてバスアービタ600へ通知する。
FIG. 7 is a diagram showing the specifications of the queue total transfer
調停判定部601は、キュー総転送量設定レジスタ610で設定された値とキュー状態通知信号650で通知された総転送量情報とを比較し、バス調停を開始するタイミングを判定する。キュー状態通知信号650は総転送量情報に加えてキューの空き数も通知することにより、バス調停時に何回連続でバス調停を行うかを制御する。
The
図10は、本実施形態の動作タイミングを示す図である。本実施形態では、キューに格納されている各バス転送要求の総転送量が4バイト以下になった場合にバス調停を開始させるものとする。 FIG. 10 is a diagram showing the operation timing of the present embodiment. In this embodiment, the bus arbitration is started when the total transfer amount of each bus transfer request stored in the queue becomes 4 bytes or less.
なお、メモリコントローラ620は4段のキューを有しているものとし、そのキューには既に8バイト、1バイト、1バイト、4バイトの順でバス転送要求が格納されているものとする。この場合、Que_Amoの値にはバス調停の閾値である4を設定してあり、キューの空き数およびキューに格納されている総転送量がキュー状態通知信号650により通知されている。gnt信号は、調停部603がバス調停を行って何れかのバスマスタにアクセス権を与えるための信号である。
It is assumed that the
キューには最初は計14バイトの転送量が格納されており、3つのバス転送要求がキューから抜けた時点でキューの内部の総転送量がバス調停を開始させる条件となる4バイトとなるので、flgが1にセットされ、バス調停が開始される。なお、本実施形態は、バス調停を行う条件を、キューの空き数やキューの総転送量に限定するものではない。さらに、リード/ライトの属性や、ページヒット/ミスといった状態をも考慮に入れることにより、より効果的なバス調停システムを容易に拡張可能である。 The queue initially stores a total transfer amount of 14 bytes, and when the three bus transfer requests leave the queue, the total transfer amount inside the queue becomes 4 bytes, which is the condition for starting bus arbitration. Flg is set to 1 and bus arbitration is started. In the present embodiment, the condition for performing the bus arbitration is not limited to the number of empty queues or the total transfer amount of the queue. Furthermore, a more effective bus arbitration system can be easily expanded by taking into account read / write attributes and page hit / miss conditions.
以上のように本実施形態によれば、従来よりもバス調停のタイミングを長く取ることができるため、所望の優先順位に応じたバス調停を行うことが可能となる。 As described above, according to the present embodiment, the bus arbitration timing can be set longer than in the prior art, so that the bus arbitration according to the desired priority order can be performed.
(本発明に係る他の実施形態)
前述した本発明の実施形態におけるバス調停システムを構成する各手段、並びにバス調停方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the bus arbitration system and each step of the bus arbitration method in the embodiment of the present invention described above can be realized by operating a program stored in a RAM or ROM of a computer. This program and a computer-readable recording medium recording the program are included in the present invention.
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。 Further, the present invention can be implemented as, for example, a system, apparatus, method, program, or recording medium. Specifically, the present invention may be applied to a system including a plurality of devices. The present invention may be applied to an apparatus composed of a single device.
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図5に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。 Note that the present invention includes a case where a software program for realizing the functions of the above-described embodiments (in the embodiment, a program corresponding to the flowchart shown in FIG. 5) is directly or remotely supplied to a system or apparatus. This includes the case where the system or the computer of the apparatus is also achieved by reading and executing the supplied program code.
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。 Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。 In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。 Examples of the recording medium for supplying the program include a flexible disk, a hard disk, an optical disk, and a magneto-optical disk. Further, there are MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。 As another program supply method, there is a method of connecting to a homepage on the Internet using a browser of a client computer. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。 It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.
また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 As another method, the program of the present invention is encrypted, stored in a recording medium such as a CD-ROM, distributed to users, and encrypted from a homepage via the Internet to users who have cleared predetermined conditions. Download the key information to be solved. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。 Further, the functions of the above-described embodiments are realized by the computer executing the read program. Furthermore, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can be realized by the processing.
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。 As another method, the program read from the recording medium is first written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Then, based on the instructions of the program, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.
200 バスアービタ
201 調停判定部
202 調停タイミング制御部
203 調停部
204 調停タイミング設定部
220 メモリコントローラ
221 キュー状態通知部
250 キュー状態通知信号
200
Claims (4)
前記複数のバスマスタのバス転送要求を格納するキュー状態を前記バスアービタに通知するキュー状態通知手段と、
前記キュー状態通知手段によって通知されたキューの状態を予め設定した条件と比較して判定する判定手段と、
前記判定手段の結果に基づいてアクセスの競合を調停するタイミングを決定する調停タイミング制御手段とを備えることを特徴とするバス調停システム。 A plurality of bus masters, a plurality of memory controllers, and a bus arbiter that arbitrates access contention when the plurality of bus masters accesses the memory controller via a system bus connecting the plurality of bus masters and the plurality of memory controllers. A bus arbitration system comprising:
A queue status notification means for notifying the bus arbiter of a queue status for storing bus transfer requests of the plurality of bus masters;
A determination unit that determines the state of the queue notified by the queue state notification unit by comparing with a preset condition;
A bus arbitration system comprising: an arbitration timing control unit that determines a timing for arbitrating access competition based on a result of the determination unit.
前記調停タイミング制御手段は、前記判定手段による前記キューの空き数の判定の結果に応じてバス調停を行うかどうかを決定することを特徴とする請求項1記載のバス調停システム。 The determination means determines whether the number of empty queues has reached a preset value,
2. The bus arbitration system according to claim 1, wherein the arbitration timing control means determines whether to perform bus arbitration according to a result of determination of the number of empty queues by the determination means.
前記調停タイミング制御手段は、前記判定手段による前記属性の組み合わせの判定の結果に応じてバス調停を行うタイミングを動的に変化させることを特徴とする請求項1記載のバス調停システム。 The determination means determines the combination of attributes of all bus transfer requests stored in the queue by comparing with a preset condition,
2. The bus arbitration system according to claim 1, wherein the arbitration timing control means dynamically changes a timing for performing bus arbitration according to a result of determination of the attribute combination by the determination means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008199874A JP2010039632A (en) | 2008-08-01 | 2008-08-01 | Bus arbitration system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008199874A JP2010039632A (en) | 2008-08-01 | 2008-08-01 | Bus arbitration system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010039632A true JP2010039632A (en) | 2010-02-18 |
Family
ID=42012137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008199874A Pending JP2010039632A (en) | 2008-08-01 | 2008-08-01 | Bus arbitration system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010039632A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018222A (en) * | 2014-07-04 | 2016-02-01 | 株式会社日立製作所 | Queue server |
CN106773862A (en) * | 2016-12-30 | 2017-05-31 | 深圳市英威腾电气股份有限公司 | A kind of rectifier combining system and its control method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172112A (en) * | 2005-12-20 | 2007-07-05 | Victor Co Of Japan Ltd | Memory controller |
-
2008
- 2008-08-01 JP JP2008199874A patent/JP2010039632A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172112A (en) * | 2005-12-20 | 2007-07-05 | Victor Co Of Japan Ltd | Memory controller |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018222A (en) * | 2014-07-04 | 2016-02-01 | 株式会社日立製作所 | Queue server |
CN106773862A (en) * | 2016-12-30 | 2017-05-31 | 深圳市英威腾电气股份有限公司 | A kind of rectifier combining system and its control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4974508B2 (en) | Bus master device, bus arbitration device, and bus arbitration method | |
US20060155903A1 (en) | Resource management device | |
EP3361388B1 (en) | Distribution of master device tasks among bus queues | |
JP2008276391A (en) | Memory access control device | |
US7606957B2 (en) | Bus system including a bus arbiter for arbitrating access requests | |
JP2010039632A (en) | Bus arbitration system | |
JP2007280253A (en) | Information processor and information processing method | |
JP4843554B2 (en) | Interface board, simulator, synchronization method, synchronization program | |
JP2008040905A (en) | Semiconductor device and access method to storage device | |
JP7018833B2 (en) | Semiconductor device | |
WO2013014841A1 (en) | Data processing device and data processing method | |
JP5668858B2 (en) | Information processing apparatus and scheduling method | |
JP5383159B2 (en) | Bus relay apparatus and control method | |
JP4953794B2 (en) | Bus arbitration method for bus system and bus system | |
JP2005165508A (en) | Direct memory access controller | |
JP4610961B2 (en) | Access control device | |
JP5703505B2 (en) | Computer with bus partition structure | |
JP2007219925A (en) | Bus controller, bus control program and recording medium | |
JP2008097462A (en) | Information processing device and information processing method | |
WO2019038834A1 (en) | Information processing device and resource use coordination method | |
JP6119997B2 (en) | Data processing apparatus and data processing apparatus control method | |
JP6392556B2 (en) | Access request issuing device, access request issuing system, access request issuing method, and access request issuing program | |
JP6536441B2 (en) | Control device | |
JP6940283B2 (en) | DMA transfer control device, DMA transfer control method, and DMA transfer control program | |
JP4535663B2 (en) | State machine control method and state machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110801 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120713 |
|
A131 | Notification of reasons for refusal |
Effective date: 20120731 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120926 |
|
A02 | Decision of refusal |
Effective date: 20130205 Free format text: JAPANESE INTERMEDIATE CODE: A02 |