JP4552644B2 - Bus arbitration system and bus arbitration method - Google Patents
Bus arbitration system and bus arbitration method Download PDFInfo
- Publication number
- JP4552644B2 JP4552644B2 JP2004364147A JP2004364147A JP4552644B2 JP 4552644 B2 JP4552644 B2 JP 4552644B2 JP 2004364147 A JP2004364147 A JP 2004364147A JP 2004364147 A JP2004364147 A JP 2004364147A JP 4552644 B2 JP4552644 B2 JP 4552644B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- bus use
- use request
- address space
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
本発明は、複数のバスマスタからのメモリにアクセスするためのバス使用要求を調停するバス調停システム及びバス調停方法に関する。 The present invention relates to a bus arbitration system and a bus arbitration method for arbitrating bus use requests for accessing memories from a plurality of bus masters.
従来、複数のバスマスタからのメモリにアクセスするためのバス使用要求の調停に際し、ラウンドロビン方式と先着順方式とが存在する。ラウンドロビン方式では、最新のバス使用許可を受けたバスマスタは、次のバス使用許可の優先順位が最下位となるように調停され、各バスマスタからのバス使用要求に対して循環的にバス使用許可がなされる。一方、先着順方式では、複数のバスマスタからのバス使用要求に対して、入力順にバス使用許可がなされる(例えば、特許文献1参照)。
しかしながら、ラウンドロビン方式では、複数のバスマスタからのバス使用要求が競合している場合に、同一のバスマスタからのバス使用要求に対して継続的にバス使用許可を行うことができない。このため、バスマスタがメモリからデータを読み出す場合に、適切なデータを読み出すことができない場合がある。 However, in the round robin method, when the bus use requests from a plurality of bus masters compete, the bus use permission cannot be continuously given for the bus use requests from the same bus master. For this reason, when the bus master reads data from the memory, it may not be possible to read appropriate data.
図1は、従来のラウンドロビン方式によるバス調停のタイミングチャートである。図1において、バスマスタAは、メモリに対するアクセスを行う際に、バス調停を行うアービタに対して、書込コマンド「write1」を実行するためのバス使用要求「REQ1」を出力し、続いて、書込コマンド「write2」を実行するためのバス使用要求「REQ2」を出力する。その後、バスマスタBは、アービタに対して、読出コマンド「read1」を実行するためのバス使用要求「REQ3」を出力する。なお、書込コマンド「write1」、「write2」及び読出コマンド「read1」はメモリの同一のアドレス空間にアクセスするものである。 FIG. 1 is a timing chart of bus arbitration by a conventional round robin method. In FIG. 1, when accessing the memory, the bus master A outputs a bus use request “REQ1” for executing the write command “write1” to the arbiter that performs bus arbitration. The bus use request “REQ2” for executing the write command “write2” is output. Thereafter, the bus master B outputs a bus use request “REQ3” for executing the read command “read1” to the arbiter. The write commands “write1”, “write2” and the read command “read1” are for accessing the same address space of the memory.
この場合、メモリの同一のアドレス空間にアクセスするためのバスの使用要求が競合していなければ、アービタは、バスマスタAからのバス使用要求「REQ1」、「REQ2」、バスマスタBからのバス使用要求「REQ3」の順でバス使用許可を行い、それぞれに対してバス使用許可の応答(ACK)を返す。従って、バスマスタBは、書込コマンド「write1」及び「write2」の実行によって書き込まれた後のメモリのデータを読み出すことになる。 In this case, if there are no conflicting bus use requests for accessing the same address space of the memory, the arbiter sends a bus use request “REQ1”, “REQ2” from the bus master A, and a bus use request from the bus master B. The bus use permission is performed in the order of “REQ3”, and a bus use permission response (ACK) is returned to each. Accordingly, the bus master B reads the data in the memory after being written by executing the write commands “write1” and “write2”.
一方、図1に示すように、何らかの理由によって書込コマンド「write1」の実行(内部処理)が長引いて内部バスが使用状態となり、メモリの同一のアドレス空間にアクセスするためのバスの使用要求である、バスマスタAからのバス使用要求「REQ2」とバスマスタBからのバス使用要求「REQ3」が競合すると、アービタは、ラウンドロビン方式によりバス調停を行う。すなわち、アービタは、書込コマンド「write1」の実行のための内部バスの使用が終了し、調停タイミングが到来した時に、先にバスマスタBからの「REQ3」に対してバス使用許可を行い、読出コマンド「read1」の実行のために内部バスを使用させ、更にその内部バスの使用が終了した時に、バスマスタAからの「REQ2」に対してバス使用許可を行い、書込コマンド「write2」の実行のために内部バスを使用させる。従って、バスマスタBは、書込コマンド「write1」の実行によって書き込まれた後のメモリのデータを読み出すことになり、バスの使用要求が競合していない場合とは異なるデータを読み出してしまう。 On the other hand, as shown in FIG. 1, the execution of the write command “write1” (internal processing) is prolonged for some reason and the internal bus becomes in use, and a bus use request for accessing the same address space of the memory When a bus use request “REQ2” from the bus master A and a bus use request “REQ3” from the bus master B compete, the arbiter performs bus arbitration by the round robin method. In other words, when the use of the internal bus for execution of the write command “write1” is finished and the arbitration timing has arrived, the arbiter first grants bus use to “REQ3” from the bus master B and reads When the internal bus is used to execute the command “read1” and the use of the internal bus is completed, the bus use is permitted for “REQ2” from the bus master A, and the write command “write2” is executed. For the internal bus to use. Accordingly, the bus master B reads the data in the memory after being written by executing the write command “write1”, and reads data different from the case where the bus use requests are not in conflict.
一方、先着順方式では、上述したように、バス使用要求の競合の有無によって読み出されるデータが異なるという問題は生じない。しかし、先着順方式では、バス使用要求の頻度の高いバスマスタに対して内部バスの割り当てが偏り、他のバスマスタの処理が遅延し、要求性能を満たせなくなったり、システム全体の性能が劣化してしまう。 On the other hand, in the first-come-first-served basis, as described above, there is no problem that the data to be read differs depending on the presence / absence of bus use request conflict. However, in the first-come-first-served basis, internal bus assignments are biased against bus masters with high frequency of bus use requests, processing of other bus masters is delayed, the required performance cannot be met, or the overall system performance deteriorates .
図2は、従来の先着順方式によるバス調停のタイミングチャートである。図2において、アービタは、バス使用要求を、バスマスタAからのバス使用要求「REQ1」、バスマスタAからのバス使用要求「REQ2」、バスマスタBからのバス使用要求「REQ3」、バスマスタAからのバス使用要求「REQ4」、バスマスタCからのバス使用要求「REQ5」、バスマスタAからのバス使用要求「REQ6」の順で入力し、この入力順でバス使用許可を行う。従って、バス使用要求の頻度の高いバスマスタAに対して内部バスの割り当てが偏り、他のバスマスタB及びCのバス使用要求に対してバス使用許可が行われるまでの時間が長引き、これらバスマスタB及びCの処理の遅延をもたらす。 FIG. 2 is a timing chart of bus arbitration according to a conventional first-come-first-served basis. In FIG. 2, the arbiter sends a bus use request “BUS1” from the bus master A, a bus use request “REQ2” from the bus master A, a bus use request “REQ3” from the bus master B, and a bus from the bus master A. The use request “REQ4”, the bus use request “REQ5” from the bus master C, and the bus use request “REQ6” from the bus master A are input in this order, and the bus use is permitted in this input order. Accordingly, the allocation of the internal bus is biased with respect to the bus master A having a high frequency of bus use requests, and the time until the bus use permission is issued for the bus use requests of the other bus masters B and C is prolonged. C delays processing.
本発明は、前述したような従来の問題を解決するためになされたもので、適切なバス調停を行うことが可能なバス調停システム及びバス調停方法を提供するものである。 The present invention has been made to solve the above-described conventional problems, and provides a bus arbitration system and a bus arbitration method capable of performing appropriate bus arbitration.
本発明のバス調停システムは、複数のバスマスタからのメモリにアクセスするためのバス使用要求を調停するものであり、前記バスマスタから入力されるバス使用要求を記憶するバス使用要求記憶手段と、前記バス使用要求記憶手段に記憶されるバス使用要求のそれぞれについて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定するアドレス空間重複判定手段と、前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記バスマスタからの入力順でバス使用許可を行い、前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複しないと判定されたバス使用要求に対して、ラウンドロビン方式の順でバス使用許可を行うバス使用調停手段とを有する。 The bus arbitration system of the present invention arbitrates a bus use request for accessing a memory from a plurality of bus masters, a bus use request storage means for storing a bus use request input from the bus master, and the bus For each bus use request stored in the use request storage means, address space duplication determination means for judging whether or not the address space of the memory to be accessed overlaps with other bus use requests, and the address space duplication judgment means In response to the bus use request determined that the address space of the memory to be accessed overlaps with another bus use request, the bus use is permitted in the order of input from the bus master, and the address space duplication determination means uses the address space duplication determination means. In response to a bus use request that has been determined that the memory address space does not overlap with other bus use requests. And a bus use arbitration means for performing a bus grant in the order of robin system.
この構成により、アクセス先のメモリのアドレス空間が重複するバス使用要求、換言すれば、競合するバス使用要求に対しては、入力順でバスの調停が行われるため、従来のラウンドロビン方式のバス調停のように、バス使用要求の競合の有無によって読み出されるデータが異なることが防止される。一方、アクセス先のメモリのアドレス空間が重複しないバス使用要求、換言すれば、競合しないバス使用要求に対しては、ラウンドロビン方式でバスの調停が行われるため、バス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏り、他のバスマスタの処理が遅延することが防止される。すなわち、通常は、ラウンドロビン方式によりバス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏ることを防止しつつ、バス使用要求の競合が生じた場合には、適切なデータが読み出されるようにすることができる。 With this configuration, bus round-trip buses are used because bus arbitration is performed in the order of input for bus use requests that have overlapping address spaces in the memory to be accessed, in other words, for conflicting bus use requests. As in the arbitration, it is possible to prevent the read data from being different depending on the presence or absence of a bus use request conflict. On the other hand, for bus use requests where the address space of the memory to be accessed does not overlap, in other words, for bus use requests that do not conflict, bus arbitration is performed in a round-robin fashion, so a bus master with a high frequency of bus use requests. In contrast, the bus allocation is biased and the processing of other bus masters is prevented from being delayed. That is, normally, the bus allocation is prevented from being biased with respect to the bus master having a high frequency of bus use requests by the round robin method, and appropriate data is read when a conflict occurs in the bus use requests. Can be.
また、本発明のバス調停システムは、前記バス使用要求が、アクセス先のメモリのアドレス空間の先頭アドレス及びサイズを含み、前記アドレス空間重複判定手段が、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定する。 In the bus arbitration system according to the present invention, the bus use request includes a start address and a size of an address space of an access destination memory, and the address space duplication determination means includes an access destination memory included in the bus use request. Whether or not the address space of the memory to be accessed overlaps with another bus use request is determined based on the head address and size of the address space.
また、本発明のバス調停システムは、前記アドレス空間重複判定手段が、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間の終端アドレスを算出し、前記アクセス先のアドレス空間の先頭アドレスと終端アドレスの間に他のバス使用要求のアクセス先のメモリのアドレス空間が含まれるか否かを判定する。 In the bus arbitration system according to the present invention, the address space duplication determination means may determine the end of the address space of the access destination memory based on the start address and size of the address space of the access destination memory included in the bus use request. An address is calculated, and it is determined whether or not the address space of the access destination memory of another bus use request is included between the start address and the end address of the access destination address space.
この構成により、各バス使用要求に対応するアクセス先のメモリのアドレス空間が先頭アドレスと終端アドレスによって特定され、その重複の判定が行われる。 With this configuration, the address space of the access destination memory corresponding to each bus use request is specified by the head address and the end address, and the duplication is determined.
また、本発明のバス調停システムは、前記バス使用要求記憶手段が、前記バス使用要求に前記バスマスタからの入力順の情報を対応付けて記憶し、前記バス使用調停手段は、前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記入力順の情報に応じた順序でバス使用許可を行う。 In the bus arbitration system according to the present invention, the bus use request storage means stores the bus use request in association with input order information from the bus master, and the bus use arbitration means stores the address space duplication determination. In response to the bus use request determined by the means that the address space of the memory to be accessed overlaps with other bus use requests, the bus use is permitted in the order according to the information of the input order.
この構成により、バスマスタからのバス使用要求の入力順が特定され、入力順でのバス調停が行われる。 With this configuration, the input order of bus use requests from the bus master is specified, and bus arbitration is performed in the input order.
また、本発明のバス調停方法は、複数のバスマスタからのメモリにアクセスするためのバス使用要求を調停するものであって、前記バスマスタから入力されるバス使用要求を使用要求記憶手段に記憶させる使用要求記憶ステップと、前記バス使用要求記憶手段に記憶されるバス使用要求のそれぞれについて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定するアドレス空間重複判定ステップと、前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記バスマスタからの入力順でバス使用許可を行い、前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複しないと判定されたバス使用要求に対して、ラウンドロビン方式の順でバス使用許可を行うバス使用調停ステップとを有する。 The bus arbitration method of the present invention arbitrates a bus use request for accessing a memory from a plurality of bus masters, and uses the bus use request input from the bus master in a use request storage means. A request storage step, and an address space duplication determination step for determining whether or not the address space of the memory to be accessed overlaps with another bus use request for each of the bus use requests stored in the bus use request storage means The bus use permission is determined in the order of input from the bus master in response to the bus use request determined in the address space duplication determination step that the address space of the access destination memory is duplicated with other bus use requests, and the address space In the duplication judgment step, the address space of the accessed memory does not overlap with other bus use requests. Against the determined bus use request and has a bus arbitration performing a bus grant in the order of a round-robin fashion.
また、本発明のバス調停方法は、前記バス使用要求が、アクセス先のメモリのアドレス空間の先頭アドレス及びサイズを含み、前記アドレス空間重複判定ステップが、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定する。 In the bus arbitration method of the present invention, the bus use request includes a start address and a size of an address space of an access destination memory, and the address space duplication determination step includes an access destination memory included in the bus use request. Whether or not the address space of the memory to be accessed overlaps with another bus use request is determined based on the head address and size of the address space.
また、本発明のバス調停方法は、前記アドレス空間重複判定ステップが、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間の終端アドレスを算出し、前記アクセス先のアドレス空間の先頭アドレスと終端アドレスの間に他のバス使用要求のアクセス先のメモリのアドレス空間が含まれるか否かを判定する。 In the bus arbitration method of the present invention, the address space duplication determination step may be configured such that the address space end of the access destination memory is based on the start address and the size of the address space of the access destination memory included in the bus use request. An address is calculated, and it is determined whether or not the address space of the access destination memory of another bus use request is included between the start address and the end address of the access destination address space.
また、本発明のバス調停方法は、前記バス使用要求記憶ステップが、前記バス使用要求に前記バスマスタからの入力順の情報を対応付けて前記バス使用要求記憶手段に記憶させ、前記バス使用調停ステップが、前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記入力順の情報に応じた順序でバス使用許可を行う。 Further, in the bus arbitration method of the present invention, the bus use request storing step associates the bus use request with information on the input order from the bus master and stores the information in the bus use request storing means, and the bus use arbitration step. However, in the address space duplication determination step, for the bus use request determined that the address space of the memory to be accessed overlaps with another bus use request, the bus use is permitted in the order according to the information of the input order. .
本発明によれば、通常は、ラウンドロビン方式によりバス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏ることを防止しつつ、バス使用要求の競合が生じた場合には、適切なデータが読み出されるようにすることができる。 According to the present invention, normally, when a bus use request conflict occurs while preventing the bus assignment from being biased with respect to a bus master having a high frequency of bus use requests by the round robin method, appropriate data is used. Can be read out.
以下、本発明の実施の形態のバス調停システムについて、図面を用いて説明する。 Hereinafter, a bus arbitration system according to an embodiment of the present invention will be described with reference to the drawings.
図3は、本実施形態のバス調停システムの構成を示す図である。図3に示すバス調停システム100は、複数のバスマスタからのメモリにアクセスするための内部バスの使用要求を調停するものであり、コマンド管理回路110、調停選択回路120、先着順アービタ130及びラウンドロビンアービタ140により構成される。
FIG. 3 is a diagram showing a configuration of the bus arbitration system of the present embodiment. The
コマンド管理回路110は、コマンドキュー112及びアドレス比較回路114を有する。コマンド管理回路110は、各バスマスタからバス使用要求を入力する。このバス使用要求には、出力元のバスマスタの識別情報と、先頭アドレス及びサイズとが含まれる。ここで、先頭アドレスは、バス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間の先頭アドレスを示し、サイズは、そのアドレス空間の大きさを示す。
The
また、コマンド管理回路110は、バス使用要求を入力する毎に、その新たに入力したバス使用要求(新規バス使用要求)に、入力順序情報を付加してコマンドキュー112に記憶させる。ここで、入力順序情報は、付加されるバス使用要求のコマンド管理回路110への入力順を表すものである。なお、コマンドキュー112の容量は、バス使用要求の出力元となるバスマスタの数に応じて設定されるが、容量を超えるバス使用要求が発生した場合には、その容量を超える分のバス使用要求についてはコマンドキュー112に記憶されずに破棄される。
Further, each time a bus use request is input, the
また、アドレス比較回路114は、コマンドキュー112内の新規バス使用要求に含まれる先頭アドレス及びサイズの組み合わせと、既にコマンドキュー112に記憶されていた他のバス使用要求(既存バス使用要求)に含まれる先頭アドレス及びサイズの組み合わせとに基づいて、新規バス使用要求と既存バス使用要求との競合の有無を判定する。ここで、バス使用要求の競合とは、バス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間が、他のバス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間と重複することを示す。
Further, the
新規バス使用要求と既存バス使用要求とが競合している場合、アドレス比較回路114112114は、その競合を表すアドレスヒット情報を調停選択回路120へ出力する。また、アドレス比較回路114112114は、競合有無判定の結果を調停結果情報として生成し、選択比較回路120を介して、ラウンドロビンアービタ140及び外部へ出力する。この調停結果情報には、競合すると判定された各バス使用要求に付加された入力順序情報によって構成される。
If there is a conflict between the new bus use request and the existing bus use request, the address comparison circuit 114112114 outputs address hit information indicating the conflict to the
更に、アドレス比較回路114は、新規バス使用要求が入力順序情報とともにコマンドキュー112に記憶される毎に、その新規バス使用要求に対応する内部リクエストを生成し、調停選択回路120へ出力する。ここで、内部リクエストは、対応するバス使用要求に含まれるバスマスタの識別情報と、対応するバス使用要求に付加された入力順序情報とによって構成される。
Further, each time the new bus use request is stored in the
図4は、調停選択回路120の詳細な構成を示す図である。図4に示す調停選択回路120は、セレクタ122及び124を有する。セレクタ122は、アドレスヒット情報を入力したときに内部リクエストを先着順アービタ130へ出力する。この先着順アービタ130へ出力される内部リクエストは、競合する各バス使用要求に対応する内部リクエストである。一方、セレクタ122は、アドレスヒット情報を入力していないときに内部リクエストをラウンドロビンアービタ140へ出力する。このラウンドロビンアービタ140へ出力される内部リクエストは、競合しないバス使用要求に対応する内部リクエストである。セレクタ124の処理については後述する。
FIG. 4 is a diagram illustrating a detailed configuration of the
再び、図3に戻って説明する。先着順アービタ130は、入力した内部リクエストに基づいて、先着順方式でバス使用許可を行う。次に、先着順アービタ130は、バス使用許可の対象となった内部リクエストに含まれるバスマスタの識別情報により特定されるバスマスタに対して、バス使用許可の応答(ACK)を返す。更に、先着順アービタ130は、バス使用許可の対象となった内部リクエストに含まれる入力順序情報を調停選択回路120に返す。
Again, referring back to FIG. First-come-first-served
一方、ラウンドロビンアービタ140は、入力した内部リクエストに基づいて、ラウンドロビン方式でバス使用許可を行う。次に、ラウンドロビンアービタ140は、バス使用許可の対象となった内部リクエストに含まれるバスマスタの識別情報により特定されるバスマスタに対して、バス使用許可の応答(ACK)を返す。更に、ラウンドロビンアービタ140は、バス使用許可の対象となった内部リクエストに含まれる入力順序情報を調停選択回路120に返す。
On the other hand, the
また、ラウンドロビンアービタ140は、調停結果情報を入力すると、それまでに入力したものの、まだバス使用許可の対象となっていない内部リクエストのうち、調停結果情報に含まれる入力順序情報と同一の入力順序情報を含むものをバス使用許可の対象から除外する。
In addition, when the
調整選択回路120内のセレクタ124は、先着順アービタ130及びラウンドロビンアービタ140からのバス使用許可の対象となった内部リクエストに含まれる入力順序情報を、キュー取消フラグとしてコマンド管理回路110へ出力する。
The
コマンド管理回路110は、このキュー取消フラグを入力すると、当該キュー取消フラグによって表される入力順序情報と、その入力順序情報が付加されているバス使用要求をコマンドキュー112から削除する。これにより、内部バスの使用が許可されたバス使用要求については、コマンドキュー112から削除され、新たなバス使用要求の記憶が可能となる。
When the
次に、フローチャートを参照しつつ、バス調停システムの動作を説明する。図5は、バス調停システム100の動作を示すフローチャートである。
Next, the operation of the bus arbitration system will be described with reference to the flowchart. FIG. 5 is a flowchart showing the operation of the
コマンド管理回路110は、バスマスタのいずれかからの新たなバス使用要求(新規バス使用要求)を入力したか否かを判定する(S101)。新規バス使用要求を入力した場合、コマンド管理回路110は、新規バス使用要求に、その新規バス使用要求のコマンド管理回路110への入力順を表す入力順序情報を付加して、コマンドキュー112に記憶させる(S102)。
The
次に、コマンド管理回路110内のアドレス比較回路114は、コマンドキュー112内の新規バス使用要求に含まれる先頭アドレス及びサイズの組み合わせと、コマンドキュー112内の既存バス使用要求に含まれる先頭アドレス及びサイズの組み合わせとに基づいて、新規バス使用要求が既存バス使用要求と競合しているか否かを判定するとともに、新規バス使用要求に対応する内部リクエストを生成する(S103)。
Next, the
具体的には、アドレス比較回路114は、コマンドキュー112内の新規バス使用要求に含まれる先頭アドレス及びサイズの組み合わせと、コマンドキュー112内の既存バス使用要求に含まれる先頭アドレス及びサイズの組み合わせとのそれぞれに基づいて、先頭アドレスにサイズを加算した値を算出する。この値は、バス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間の終端アドレスを示す。更に、アドレス比較回路114は、メモリのアドレス空間において、新規バス使用要求に含まれる先頭アドレスが既存バス使用要求に対応する終端アドレスよりも前方である場合や、新規バス使用要求に対応する終端アドレスが既存バス使用要求に含まれる先頭アドレスよりも後方である場合には、アクセス先のアドレス空間が重複し、新規バス使用要求が既存バス使用要求と競合していると判定する。例えば、図6では、コマンドキュー112のキュー#2における新規バス使用要求に対応する先頭アドレスがキュー#1における既存バス使用要求に含まれる終端アドレスよりも前方であるため、新規バス使用要求が既存バス使用要求と競合していると判定される。
Specifically, the
アドレス比較回路114によって生成された内部リクエストは、調停選択回路120へ出力される。
The internal request generated by the
S103における競合の有無判定の結果、新規バス使用要求と既存バス使用要求との競合がある(S104で肯定判断)場合には、アドレス比較回路114112114は、アドレスヒット情報を生成する(S105)。生成されたアドレスヒット情報は、調停選択回路120へ出力される。
If there is a conflict between the new bus use request and the existing bus use request as a result of the determination of the presence / absence of the conflict in S103 (Yes in S104), the address comparison circuit 114112114 generates address hit information (S105). The generated address hit information is output to the
更に、アドレス比較回路114112114は、調停結果情報を生成する(S106)。生成された調停結果情報は、選択比較回路120を介して、ラウンドロビンアービタ140及び外部へ出力される。
Further, the address comparison circuit 114112114 generates arbitration result information (S106). The generated arbitration result information is output to the
調停選択回路120内のセレクタ122は、アドレスヒット情報を入力したときに、新規バス使用要求に対応する内部リクエストと、当該新規バス使用要求と競合する既存バス使用要求に対応する内部リクエストとを先着順アービタ130へ出力する。先着順アービタ130は、入力した各内部リクエストに基づいて、先着順方式によりバス使用許可を設定する(S107)。これにより、競合する各バス使用要求については、バスマスタからコマンド管理回路110への入力順に従って、バス使用の許可がなされることになる。
When the address hit information is input, the
更に、ラウンドロビンアービタ140は、調停結果情報を入力すると、それまでに入力したものの、まだバス使用許可の対象となっていない内部リクエストに、調停結果情報に含まれる入力順序情報と同一の入力順序情報を含むものがあるか否かを判定する。調停結果情報に含まれる入力順序情報と同一の入力順序情報を含む内部リクエストが存在する場合、その内部リクエストは、当初、対応するバス使用許可が他のバス使用許可と競合していなかったために、ラウンドロビンアービタ140におけるバス使用許可の対象であったものの、その後にコマンド管理回路110が入力した新規バス使用許可と競合するものとなったために、先着順アービタ130におけるバス使用許可の対象に移行したものである。このため、ラウンドロビンアービタ140は、調停結果情報に含まれる入力順序情報と同一の入力順序情報を含む内部リクエストについては、バス使用許可の対象から除外する。これにより、新規バス使用許可と競合する既存バス使用要求は、ラウンドロビン方式によるバス使用許可の対象から除外される(S108)。
Further, when the
一方、S103における競合の有無判定の結果、新規バス使用要求と既存バス使用要求との競合がない(S104で否定判断)場合には、アドレス比較回路114112114は、アドレスヒット情報を生成せずに、調停結果情報のみを生成する(S109)。生成された調停結果情報は、選択比較回路120を介して、ラウンドロビンアービタ140及び外部へ出力される。
On the other hand, if there is no conflict between the new bus use request and the existing bus use request as a result of the determination of the presence / absence of conflict in S103 (No in S104), the address comparison circuit 114112114 does not generate address hit information. Only mediation result information is generated (S109). The generated arbitration result information is output to the
選択比較回路120内のセレクタ122は、アドレスヒット情報を入力していないときに、既存バス使用要求と競合しない新規バス使用要求に対応する内部リクエストをラウンドロビンアービタ140へ出力する。そして、ラウンドロビンアービタ140は、入力した内部リクエストに基づいて、ラウンドロビン方式によりバス使用許可を設定する。
The
このように、先着順アービタ130及びラウンドロビンアービタ140のそれぞれがバス使用許可の設定を行うと、その後は、その設定に基づいてバス使用許可(バス調停)が行われる。
As described above, when each of the first-come-first-served
図7は、競合するバス使用要求に対する先着順方式によるバス調停のタイミングチャートである。図7において、バスマスタAは、メモリに対するアクセスを行う際に、コマンド管理回路110に対して、書込コマンド「write1」を実行するためのバス使用要求「REQ1」を出力し、続いて、書込コマンド「write2」を実行するためのバス使用要求「REQ2」を出力する。その後、バスマスタBは、コマンド管理回路110に対して、読出コマンド「read1」を実行するためのバス使用要求「REQ3」を出力する。従って、コマンド管理回路110における入力順は、バス使用要求「REQ1」、バス使用要求「REQ2」、バス使用要求「REQ3」の順となる。なお、書込コマンド「write1」、「write2」及び読出コマンド「read1」はメモリの同一のアドレス空間にアクセスするものである。
FIG. 7 is a timing chart of bus arbitration according to a first-come-first-served basis with respect to competing bus use requests. In FIG. 7, when accessing the memory, the bus master A outputs a bus use request “REQ1” for executing the write command “write1” to the
この場合、何らかの理由によって書込コマンド「write1」の実行が長引いて内部バスが使用状態となり、メモリの同一のアドレス空間にアクセスするためのバスの使用要求である、バスマスタAからのバス使用要求「REQ2」とバスマスタBからのバス使用要求「REQ3」が競合する、換言すれば、バス使用要求「REQ2」に対応する内部リクエストとバス使用要求「REQ3」に対応する内部リクエストとが競合すると、コマンド管理回路110内のアドレス比較回路114112114は、アドレスヒット情報を生成し、調停選択回路120へ出力する。そして、調停選択回路120は、バス使用要求「REQ2」に対応する内部リクエストとバス使用要求「REQ3」に対応する内部リクエストとを先着順アービタ130へ出力する。
In this case, the execution of the write command “write1” is prolonged for some reason and the internal bus becomes in use, and a bus use request from the bus master A, which is a request to use the bus for accessing the same address space of the memory. REQ2 ”and the bus use request“ REQ3 ”from the bus master B compete, in other words, if the internal request corresponding to the bus use request“ REQ2 ”and the internal request corresponding to the bus use request“ REQ3 ”compete, The address comparison circuit 114112114 in the
先着順アービタ140は、これら内部リクエストを入力すると、コマンド管理回路1102が入力した順に従い、バス使用要求「REQ2」、バス使用要求「REQ3」の順でバス使用許可を設定する。
When receiving these internal requests, the first-come-first-served
そして、先着順アービタ140は、バス使用要求「REQ1」に対応する書込コマンド「write1」を実行のための内部バスの使用が終了し、調停タイミングが到来した時に、バス使用要求「REQ2」に対応する内部リクエストに応じて、バス使用要求「REQ2」に対してバス使用許可を行い、当該バス使用要求「REQ2」に対応する書込コマンド「write2」の実行のために内部バスを使用させ、更にその内部バスの使用が終了した時に、バス使用要求「REQ3」に対応する内部リクエストに応じて、バス使用要求「REQ3」に対してバス使用許可を行い、当該バス使用要求「REQ3」に対応する読出コマンド「read1」の実行のために内部バスを使用させる。
Then, the first-come-first-served
図8は、競合しないバス使用要求に対するラウンドロビン方式によるバス調停のタイミングチャートである。図8において、バスマスタAは、コマンド管理回路110に対して、バス使用要求「REQ1」を出力し、続いて、バス使用要求「REQ2」を出力する。その後、バスマスタBは、コマンド管理回路110に対して、バス使用要求「REQ3」を出力する。更に、バスマスタAは、コマンド管理回路110に対して、バス使用要求「REQ4」を出力し、続いて、バスマスタBは、コマンド管理回路110に対して、バス使用要求「REQ5」を出力し、その後、バスマスタAは、コマンド管理回路110に対して、バス使用要求「REQ6」を出力する。従って、コマンド管理回路110における入力順は、バス使用要求「REQ1」、バス使用要求「REQ2」、バス使用要求「REQ3」、バス使用要求「REQ4」、バス使用要求「REQ5」、バス使用要求「REQ6」の順となる。
FIG. 8 is a timing chart of bus arbitration by a round robin method for bus use requests that do not conflict. In FIG. 8, the bus master A outputs a bus use request “REQ1” to the
この場合、バスマスタAからのバス使用要求「REQ1」に対するバス使用許可が行われて内部バスが使用されている間に、バスマスタAからのバス使用要求「REQ2」とバスマスタBからのバス使用要求「REQ3」がコマンド管理回路110に入力され、更に、これらバス使用要求に対応する内部リクエストがラウンドロビンアービタ140に入力されると、ラウンドロビンアービタ140は、バスマスタBからのバス使用要求「REQ3」、バスマスタAからのバス使用要求「REQ2」の順でバス使用許可を設定する。
In this case, the bus use request “REQ2” from the bus master A and the bus use request “from the bus master B” while the bus use permission for the bus use request “REQ1” from the bus master A is performed and the internal bus is used. REQ3 ”is input to the
そして、先着順アービタ140は、バス使用要求「REQ1」に対応する内部バスの使用が終了し、調停タイミングが到来した時に、バス使用要求「REQ3」に対応する内部リクエストに応じて、バス使用要求「REQ3」に対してバス使用許可を行い、内部バスを使用させ、更にその内部バスの使用が終了した時に、バス使用要求「REQ2」に対応する内部リクエストに応じて、バス使用要求「REQ2」に対してバス使用許可を行い、内部バスを使用させる。
The first-come-first-served
更に、バスマスタAからのバス使用要求「REQ4」に対するバス使用許可が行われて内部バスが使用されている間に、バスマスタCからのバス使用要求「REQ5」とバスマスタAからのバス使用要求「REQ6」がコマンド管理回路110に入力され、更に、これらバス使用要求に対応する内部リクエストがラウンドロビンアービタ140に入力されると、ラウンドロビンアービタ140は、バスマスタCからのバス使用要求「REQ5」、バスマスタAからのバス使用要求「REQ6」の順でバス使用許可を設定する。
Further, while the bus use permission for the bus use request “REQ4” from the bus master A is performed and the internal bus is used, the bus use request “REQ5” from the bus master C and the bus use request “REQ6” from the bus master A are used. ”Is input to the
そして、先着順アービタ140は、バス使用要求「REQ4」に対応する内部バスの使用が終了し、調停タイミングが到来した時に、バス使用要求「REQ5」に対応する内部リクエストに応じて、バス使用要求「REQ5」に対してバス使用許可を行い、内部バスを使用させ、更にその内部バスの使用が終了した時に、バス使用要求「REQ6」に対応する内部リクエストに応じて、バス使用要求「REQ6」に対してバス使用許可を行い、内部バスを使用させる。
The first-come-first-served
このように、バス調停システム100は、バス使用要求間において、アクセス先のメモリのアドレス空間が重複しない、すなわち、バス使用要求が競合しない通常の場合においては、ラウンドロビン方式によりバスの調停を行うため、バス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏り、他のバスマスタの処理が遅延することが防止される。一方、バス調停システム100は、バス使用要求間において、アクセス先のメモリのアドレス空間が重複する、すなわち、バス使用要求が競合する場合においては、その競合するバス使用要求に対して、先着順方式により入力順でバスの調停を行うため、従来のラウンドロビン方式のバス調停のように、バス使用要求の競合の有無によって読み出されるデータが異なることが防止される。
In this way, the
以上、説明したように、本発明に係るバス調停システム及びバス調停方法は、ラウンドロビン方式によりバス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏ることを防止しつつ、バス使用要求の競合が生じた場合には、適切なデータが読み出されるようにすることができ、バス調停システム及びバス調停方法として有用である。 As described above, the bus arbitration system and the bus arbitration method according to the present invention prevent the bus allocation request from being biased with respect to the bus master having a high bus use request frequency by the round robin method, and When contention occurs, appropriate data can be read out, which is useful as a bus arbitration system and a bus arbitration method.
100 バス調停システム
110 コマンド管理回路
112 コマンドキューアドレス比較回路コマンドキュー
114 アドレス比較回路コマンドキューアドレス比較回路
120 調停選択回路
122、124 セレクタ
130 先着順アービタ
140 ラウンドロビンアービタ
DESCRIPTION OF
Claims (8)
前記バスマスタから入力されるバス使用要求を記憶するバス使用要求記憶手段と、
前記バス使用要求記憶手段に記憶されるバス使用要求のそれぞれについて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定するアドレス空間重複判定手段と、
前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記バスマスタからの入力順でバス使用許可を行い、前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複しないと判定されたバス使用要求に対して、ラウンドロビン方式の順でバス使用許可を行うバス使用調停手段とを有することを特徴とするバス調停システム。 In a bus arbitration system that arbitrates bus use requests to access memory from multiple bus masters,
Bus use request storage means for storing a bus use request input from the bus master;
For each of the bus use requests stored in the bus use request storage means, address space duplication determination means for judging whether or not the address space of the access destination memory overlaps with other bus use requests;
In response to the bus use request determined by the address space duplication determination means that the address space of the memory to be accessed is duplicated with other bus use requests, the bus use is permitted in the input order from the bus master, and the address space duplication is performed. A bus use arbitration unit for permitting bus use in the order of a round-robin method in response to a bus use request that is determined by the judging unit to have an address space of an access destination memory that does not overlap with other bus use requests; A characteristic bus arbitration system.
前記アドレス空間重複判定手段は、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定することを特徴とする請求項1に記載のバス調停システム。 The bus use request includes a start address and a size of an address space of an access destination memory,
The address space duplication determination means determines whether the address space of the access destination memory overlaps with other bus use requests based on the start address and size of the address space of the access destination memory included in the bus use request. The bus arbitration system according to claim 1, wherein:
前記バス使用調停手段は、前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記入力順の情報に応じた順序でバス使用許可を行うことを特徴とする請求項1乃至3のいずれかに記載のバス調停システム。 The bus use request storage means stores the information on the input order from the bus master in association with the bus use request,
The bus use arbitration unit is configured to respond to the bus use request determined by the address space duplication determination unit that the address space of the access destination memory overlaps with another bus use request in an order according to the information of the input order. 4. The bus arbitration system according to claim 1, wherein a bus use permission is given.
前記バスマスタから入力されるバス使用要求を使用要求記憶手段に記憶させる使用要求記憶ステップと、
前記バス使用要求記憶手段に記憶されるバス使用要求のそれぞれについて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定するアドレス空間重複判定ステップと、
前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記バスマスタからの入力順でバス使用許可を行い、前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複しないと判定されたバス使用要求に対して、ラウンドロビン方式の順でバス使用許可を行うバス使用調停ステップとを有することを特徴とするバス調停方法。 In a bus arbitration method for arbitrating bus use requests for accessing memory from a plurality of bus masters,
A use request storage step of storing in the use request storage means a bus use request input from the bus master;
For each bus use request stored in the bus use request storage means, an address space duplication determination step for judging whether the address space of the memory to be accessed overlaps with other bus use requests;
In response to the bus use request determined in the address space duplication determination step that the address space of the access destination memory is duplicated with other bus use requests, the bus use is permitted in the input order from the bus master, and the address space duplication is performed. A bus use arbitration step for permitting the use of a bus in the order of a round-robin method in response to a bus use request that is determined in the judging step that the address space of the memory to be accessed does not overlap with other bus use requests. A characteristic bus arbitration method.
前記アドレス空間重複判定ステップは、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間が他のバス使用要求と重複するか否かを判定することを特徴とする請求項5に記載のバス調停方法。 The bus use request includes a start address and a size of an address space of an access destination memory,
The address space duplication determination step determines whether the address space of the access destination memory overlaps with another bus use request based on the start address and the size of the address space of the access destination memory included in the bus use request. The bus arbitration method according to claim 5, wherein the bus arbitration method is determined.
前記バス使用調停ステップは、前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記入力順の情報に応じた順序でバス使用許可を行うことを特徴とする請求項5乃至7のいずれかに記載のバス調停方法。
In the bus use request storage step, the bus use request storage means stores the bus use request in association with information on the input order from the bus master,
In the bus use arbitration step, in response to the bus use request determined in the address space duplication determination step that the address space of the access destination memory is duplicated with another bus use request, the bus use arbitration step is performed in an order according to the information of the input order. 8. The bus arbitration method according to claim 5, wherein a bus use permission is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004364147A JP4552644B2 (en) | 2004-12-16 | 2004-12-16 | Bus arbitration system and bus arbitration method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004364147A JP4552644B2 (en) | 2004-12-16 | 2004-12-16 | Bus arbitration system and bus arbitration method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006172164A JP2006172164A (en) | 2006-06-29 |
JP4552644B2 true JP4552644B2 (en) | 2010-09-29 |
Family
ID=36672847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004364147A Expired - Fee Related JP4552644B2 (en) | 2004-12-16 | 2004-12-16 | Bus arbitration system and bus arbitration method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4552644B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225346B (en) * | 2023-05-09 | 2023-07-25 | 此芯科技(上海)有限公司 | Memory data access method and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003281076A (en) * | 2002-03-27 | 2003-10-03 | Nec Microsystems Ltd | Unauthorized access detection circuit of dma controller, unauthorized access detecting method and program thereof |
JP2004288021A (en) * | 2003-03-24 | 2004-10-14 | Matsushita Electric Ind Co Ltd | Memory access controller |
-
2004
- 2004-12-16 JP JP2004364147A patent/JP4552644B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003281076A (en) * | 2002-03-27 | 2003-10-03 | Nec Microsystems Ltd | Unauthorized access detection circuit of dma controller, unauthorized access detecting method and program thereof |
JP2004288021A (en) * | 2003-03-24 | 2004-10-14 | Matsushita Electric Ind Co Ltd | Memory access controller |
Also Published As
Publication number | Publication date |
---|---|
JP2006172164A (en) | 2006-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7533206B2 (en) | Resource management device | |
JP6072783B2 (en) | Memory controller and method of operating such memory controller | |
JP5552569B2 (en) | Bus arbitration technique to reduce access latency | |
US7127574B2 (en) | Method and apparatus for out of order memory scheduling | |
JP4723260B2 (en) | Apparatus and method for scheduling a request to a source device | |
US20100257296A1 (en) | Method and system for bus arbitration | |
US20070038792A1 (en) | Systems, methods, and computer program products for arbitrating access to a shared resource based on quality-of-service information associated with a resource request | |
JP5498505B2 (en) | Resolving contention between data bursts | |
US7613197B2 (en) | Multi-processor system and message transferring method in the same | |
US20060271715A1 (en) | Interconnect logic for a data processing apparatus | |
JP2002530742A (en) | Method and apparatus for prioritizing access to external devices | |
US8505016B2 (en) | Enhanced shortest-job-first memory request scheduling | |
JP2010282405A (en) | Data processing system | |
KR102106541B1 (en) | Method for arbitrating shared resource access and shared resource access arbitration apparatus and shared resource apparatus access arbitration system for performing the same | |
US9984014B2 (en) | Semiconductor device | |
US20100058001A1 (en) | Distributed shared memory multiprocessor and data processing method | |
JP4552644B2 (en) | Bus arbitration system and bus arbitration method | |
JP7493311B2 (en) | BUS SYSTEM AND CONTROL METHOD THEREOF | |
JP4687925B2 (en) | Priority arbitration system and priority arbitration method | |
CN107835134B (en) | Port access arbitration method and device applied to Ethernet switching chip | |
US20090292885A1 (en) | Method and apparatus for providing atomic access to memory | |
JP6036806B2 (en) | Bus access arbitration circuit and bus access arbitration method | |
US20040243770A1 (en) | Data transfer system | |
JP4569628B2 (en) | Load store queue control method and control system thereof | |
US9977751B1 (en) | Method and apparatus for arbitrating access to shared resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100622 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100705 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4552644 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140723 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |