JP4552644B2 - Bus arbitration system and bus arbitration method - Google Patents

Bus arbitration system and bus arbitration method Download PDF

Info

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
Application number
JP2004364147A
Other languages
Japanese (ja)
Other versions
JP2006172164A (en
Inventor
英樹 山崎
博之 西
博朗 山本
雅裕 小畑
林  和夫
昌和 川下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2004364147A priority Critical patent/JP4552644B2/en
Publication of JP2006172164A publication Critical patent/JP2006172164A/en
Application granted granted Critical
Publication of JP4552644B2 publication Critical patent/JP4552644B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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参照)。
特開2001−67308号公報
Conventionally, there are a round robin method and a first-come-first-served basis when arbitrating bus use requests for accessing memories from a plurality of bus masters. In the round-robin method, the bus master that has received the latest bus use permission is arbitrated so that the priority order of the next bus use permission is the lowest, and the bus use permission is cyclically granted to bus use requests from each bus master. Is made. On the other hand, in the first-come-first-served basis method, bus use permission is made in the order of input in response to bus use requests from a plurality of bus masters (for example, see Patent Document 1).
JP 2001-67308 A

しかしながら、ラウンドロビン方式では、複数のバスマスタからのバス使用要求が競合している場合に、同一のバスマスタからのバス使用要求に対して継続的にバス使用許可を行うことができない。このため、バスマスタがメモリからデータを読み出す場合に、適切なデータを読み出すことができない場合がある。   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 bus arbitration system 100 shown in FIG. 3 arbitrates requests for use of an internal bus for accessing memories from a plurality of bus masters. The command management circuit 110, the arbitration selection circuit 120, the first-come-first-served arbiter 130, and the round robin The arbiter 140 is configured.

コマンド管理回路110は、コマンドキュー112及びアドレス比較回路114を有する。コマンド管理回路110は、各バスマスタからバス使用要求を入力する。このバス使用要求には、出力元のバスマスタの識別情報と、先頭アドレス及びサイズとが含まれる。ここで、先頭アドレスは、バス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間の先頭アドレスを示し、サイズは、そのアドレス空間の大きさを示す。   The command management circuit 110 includes a command queue 112 and an address comparison circuit 114. The command management circuit 110 inputs a bus use request from each bus master. This bus use request includes the identification information of the output bus master, the head address, and the size. Here, the start address indicates the start address of the address space of the memory accessed by the command executed when use of the internal bus is permitted according to the bus use request, and the size is the size of the address space. Indicates.

また、コマンド管理回路110は、バス使用要求を入力する毎に、その新たに入力したバス使用要求(新規バス使用要求)に、入力順序情報を付加してコマンドキュー112に記憶させる。ここで、入力順序情報は、付加されるバス使用要求のコマンド管理回路110への入力順を表すものである。なお、コマンドキュー112の容量は、バス使用要求の出力元となるバスマスタの数に応じて設定されるが、容量を超えるバス使用要求が発生した場合には、その容量を超える分のバス使用要求についてはコマンドキュー112に記憶されずに破棄される。   Further, each time a bus use request is input, the command management circuit 110 adds the input order information to the newly input bus use request (new bus use request) and stores it in the command queue 112. Here, the input order information represents the input order of the added bus use request to the command management circuit 110. Note that the capacity of the command queue 112 is set according to the number of bus masters from which the bus use request is output. When a bus use request exceeding the capacity is generated, the bus use request exceeding the capacity is generated. Are discarded without being stored in the command queue 112.

また、アドレス比較回路114は、コマンドキュー112内の新規バス使用要求に含まれる先頭アドレス及びサイズの組み合わせと、既にコマンドキュー112に記憶されていた他のバス使用要求(既存バス使用要求)に含まれる先頭アドレス及びサイズの組み合わせとに基づいて、新規バス使用要求と既存バス使用要求との競合の有無を判定する。ここで、バス使用要求の競合とは、バス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間が、他のバス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間と重複することを示す。   Further, the address comparison circuit 114 is included in the combination of the start address and size included in the new bus use request in the command queue 112 and other bus use requests (existing bus use requests) already stored in the command queue 112. Whether or not there is a conflict between the new bus use request and the existing bus use request is determined based on the combination of the start address and the size. Here, the contention of the bus use request means that the address space of the memory accessed by the command executed when the use of the internal bus is permitted according to the bus use request is changed according to the other bus use request. Indicates that the address space of the memory accessed by a command executed when use of the bus is permitted overlaps.

新規バス使用要求と既存バス使用要求とが競合している場合、アドレス比較回路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 arbitration selection circuit 120. Further, the address comparison circuit 114112114 generates the result of the determination as to whether there is a conflict as arbitration result information, and outputs the result to the round robin arbiter 140 and the outside via the selection comparison circuit 120. This arbitration result information is composed of input order information added to each bus use request determined to be in conflict.

更に、アドレス比較回路114は、新規バス使用要求が入力順序情報とともにコマンドキュー112に記憶される毎に、その新規バス使用要求に対応する内部リクエストを生成し、調停選択回路120へ出力する。ここで、内部リクエストは、対応するバス使用要求に含まれるバスマスタの識別情報と、対応するバス使用要求に付加された入力順序情報とによって構成される。   Further, each time the new bus use request is stored in the command queue 112 together with the input order information, the address comparison circuit 114 generates an internal request corresponding to the new bus use request and outputs the internal request to the arbitration selection circuit 120. Here, the internal request includes bus master identification information included in the corresponding bus use request and input order information added to the corresponding bus use request.

図4は、調停選択回路120の詳細な構成を示す図である。図4に示す調停選択回路120は、セレクタ122及び124を有する。セレクタ122は、アドレスヒット情報を入力したときに内部リクエストを先着順アービタ130へ出力する。この先着順アービタ130へ出力される内部リクエストは、競合する各バス使用要求に対応する内部リクエストである。一方、セレクタ122は、アドレスヒット情報を入力していないときに内部リクエストをラウンドロビンアービタ140へ出力する。このラウンドロビンアービタ140へ出力される内部リクエストは、競合しないバス使用要求に対応する内部リクエストである。セレクタ124の処理については後述する。   FIG. 4 is a diagram illustrating a detailed configuration of the arbitration selection circuit 120. The arbitration selection circuit 120 illustrated in FIG. 4 includes selectors 122 and 124. The selector 122 outputs an internal request to the first-come-first-served arbiter 130 when address hit information is input. The internal request output to the first-come-first-served arbiter 130 is an internal request corresponding to each competing bus use request. On the other hand, the selector 122 outputs an internal request to the round robin arbiter 140 when address hit information is not input. The internal request output to the round robin arbiter 140 is an internal request corresponding to a bus use request that does not conflict. The processing of the selector 124 will be described later.

再び、図3に戻って説明する。先着順アービタ130は、入力した内部リクエストに基づいて、先着順方式でバス使用許可を行う。次に、先着順アービタ130は、バス使用許可の対象となった内部リクエストに含まれるバスマスタの識別情報により特定されるバスマスタに対して、バス使用許可の応答(ACK)を返す。更に、先着順アービタ130は、バス使用許可の対象となった内部リクエストに含まれる入力順序情報を調停選択回路120に返す。   Again, referring back to FIG. First-come-first-served arbiter 130 grants bus use in a first-come-first-served basis based on the input internal request. Next, the first-come-first-served arbiter 130 returns a bus use permission response (ACK) to the bus master specified by the identification information of the bus master included in the internal request for which bus use is permitted. Furthermore, the first-come-first-served order arbiter 130 returns the input order information included in the internal request for which the bus use is permitted to the arbitration selection circuit 120.

一方、ラウンドロビンアービタ140は、入力した内部リクエストに基づいて、ラウンドロビン方式でバス使用許可を行う。次に、ラウンドロビンアービタ140は、バス使用許可の対象となった内部リクエストに含まれるバスマスタの識別情報により特定されるバスマスタに対して、バス使用許可の応答(ACK)を返す。更に、ラウンドロビンアービタ140は、バス使用許可の対象となった内部リクエストに含まれる入力順序情報を調停選択回路120に返す。   On the other hand, the round robin arbiter 140 grants bus use in a round robin manner based on the input internal request. Next, the round robin arbiter 140 returns a bus use permission response (ACK) to the bus master specified by the identification information of the bus master included in the internal request for which bus use is permitted. Further, the round robin arbiter 140 returns the input order information included in the internal request that is subject to bus use permission to the arbitration selection circuit 120.

また、ラウンドロビンアービタ140は、調停結果情報を入力すると、それまでに入力したものの、まだバス使用許可の対象となっていない内部リクエストのうち、調停結果情報に含まれる入力順序情報と同一の入力順序情報を含むものをバス使用許可の対象から除外する。   In addition, when the round robin arbiter 140 inputs arbitration result information, the same input order information included in the arbitration result information among the internal requests that have been input so far but are not yet subject to bus use is input. Excludes items including order information from the bus use permission target.

調整選択回路120内のセレクタ124は、先着順アービタ130及びラウンドロビンアービタ140からのバス使用許可の対象となった内部リクエストに含まれる入力順序情報を、キュー取消フラグとしてコマンド管理回路110へ出力する。   The selector 124 in the adjustment selection circuit 120 outputs, to the command management circuit 110, the input order information included in the internal request that is the subject of bus use permission from the first-come-first-served arbiter 130 and the round robin arbiter 140 as a queue cancellation flag. .

コマンド管理回路110は、このキュー取消フラグを入力すると、当該キュー取消フラグによって表される入力順序情報と、その入力順序情報が付加されているバス使用要求をコマンドキュー112から削除する。これにより、内部バスの使用が許可されたバス使用要求については、コマンドキュー112から削除され、新たなバス使用要求の記憶が可能となる。   When the command management circuit 110 receives the queue cancellation flag, the command management circuit 110 deletes the input order information represented by the queue cancellation flag and the bus use request to which the input order information is added from the command queue 112. As a result, the bus use request permitted to use the internal bus is deleted from the command queue 112, and a new bus use request can be stored.

次に、フローチャートを参照しつつ、バス調停システムの動作を説明する。図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 bus arbitration system 100.

コマンド管理回路110は、バスマスタのいずれかからの新たなバス使用要求(新規バス使用要求)を入力したか否かを判定する(S101)。新規バス使用要求を入力した場合、コマンド管理回路110は、新規バス使用要求に、その新規バス使用要求のコマンド管理回路110への入力順を表す入力順序情報を付加して、コマンドキュー112に記憶させる(S102)。   The command management circuit 110 determines whether or not a new bus use request (new bus use request) from any of the bus masters has been input (S101). When a new bus use request is input, the command management circuit 110 adds the input order information indicating the input order of the new bus use request to the command management circuit 110 to the new bus use request and stores it in the command queue 112. (S102).

次に、コマンド管理回路110内のアドレス比較回路114は、コマンドキュー112内の新規バス使用要求に含まれる先頭アドレス及びサイズの組み合わせと、コマンドキュー112内の既存バス使用要求に含まれる先頭アドレス及びサイズの組み合わせとに基づいて、新規バス使用要求が既存バス使用要求と競合しているか否かを判定するとともに、新規バス使用要求に対応する内部リクエストを生成する(S103)。   Next, the address comparison circuit 114 in the command management circuit 110 receives the combination of the start address and size included in the new bus use request in the command queue 112, the start address included in the existing bus use request in the command queue 112, and Based on the size combination, it is determined whether or not the new bus use request is in conflict with the existing bus use request, and an internal request corresponding to the new bus use request is generated (S103).

具体的には、アドレス比較回路114は、コマンドキュー112内の新規バス使用要求に含まれる先頭アドレス及びサイズの組み合わせと、コマンドキュー112内の既存バス使用要求に含まれる先頭アドレス及びサイズの組み合わせとのそれぞれに基づいて、先頭アドレスにサイズを加算した値を算出する。この値は、バス使用要求に応じて内部バスの使用が許可されたときに実行されるコマンドによってアクセスされるメモリのアドレス空間の終端アドレスを示す。更に、アドレス比較回路114は、メモリのアドレス空間において、新規バス使用要求に含まれる先頭アドレスが既存バス使用要求に対応する終端アドレスよりも前方である場合や、新規バス使用要求に対応する終端アドレスが既存バス使用要求に含まれる先頭アドレスよりも後方である場合には、アクセス先のアドレス空間が重複し、新規バス使用要求が既存バス使用要求と競合していると判定する。例えば、図6では、コマンドキュー112のキュー#2における新規バス使用要求に対応する先頭アドレスがキュー#1における既存バス使用要求に含まれる終端アドレスよりも前方であるため、新規バス使用要求が既存バス使用要求と競合していると判定される。   Specifically, the address comparison circuit 114 includes a combination of the start address and size included in the new bus use request in the command queue 112, and a combination of the start address and size included in the existing bus use request in the command queue 112. Based on each of these, a value obtained by adding the size to the head address is calculated. This value indicates the end address of the address space of the memory accessed by the command executed when the use of the internal bus is permitted in response to the bus use request. Further, the address comparison circuit 114 is configured so that in the address space of the memory, the start address included in the new bus use request is ahead of the end address corresponding to the existing bus use request, or the end address corresponding to the new bus use request. Is behind the start address included in the existing bus use request, it is determined that the address space of the access destination overlaps and the new bus use request conflicts with the existing bus use request. For example, in FIG. 6, since the head address corresponding to the new bus use request in queue # 2 of command queue 112 is ahead of the end address included in the existing bus use request in queue # 1, the new bus use request already exists. It is determined that there is a conflict with the bus use request.

アドレス比較回路114によって生成された内部リクエストは、調停選択回路120へ出力される。   The internal request generated by the address comparison circuit 114 is output to the arbitration selection circuit 120.

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 arbitration selection circuit 120.

更に、アドレス比較回路114112114は、調停結果情報を生成する(S106)。生成された調停結果情報は、選択比較回路120を介して、ラウンドロビンアービタ140及び外部へ出力される。   Further, the address comparison circuit 114112114 generates arbitration result information (S106). The generated arbitration result information is output to the round robin arbiter 140 and the outside via the selective comparison circuit 120.

調停選択回路120内のセレクタ122は、アドレスヒット情報を入力したときに、新規バス使用要求に対応する内部リクエストと、当該新規バス使用要求と競合する既存バス使用要求に対応する内部リクエストとを先着順アービタ130へ出力する。先着順アービタ130は、入力した各内部リクエストに基づいて、先着順方式によりバス使用許可を設定する(S107)。これにより、競合する各バス使用要求については、バスマスタからコマンド管理回路110への入力順に従って、バス使用の許可がなされることになる。   When the address hit information is input, the selector 122 in the arbitration selection circuit 120 receives the internal request corresponding to the new bus use request and the internal request corresponding to the existing bus use request that conflicts with the new bus use request. Output to the forward arbiter 130. The first-come-first-served arbiter 130 sets the bus use permission by the first-come-first-served method based on the input internal requests (S107). As a result, the bus use is permitted in accordance with the order of input from the bus master to the command management circuit 110 for each competing bus use request.

更に、ラウンドロビンアービタ140は、調停結果情報を入力すると、それまでに入力したものの、まだバス使用許可の対象となっていない内部リクエストに、調停結果情報に含まれる入力順序情報と同一の入力順序情報を含むものがあるか否かを判定する。調停結果情報に含まれる入力順序情報と同一の入力順序情報を含む内部リクエストが存在する場合、その内部リクエストは、当初、対応するバス使用許可が他のバス使用許可と競合していなかったために、ラウンドロビンアービタ140におけるバス使用許可の対象であったものの、その後にコマンド管理回路110が入力した新規バス使用許可と競合するものとなったために、先着順アービタ130におけるバス使用許可の対象に移行したものである。このため、ラウンドロビンアービタ140は、調停結果情報に含まれる入力順序情報と同一の入力順序情報を含む内部リクエストについては、バス使用許可の対象から除外する。これにより、新規バス使用許可と競合する既存バス使用要求は、ラウンドロビン方式によるバス使用許可の対象から除外される(S108)。   Further, when the round robin arbiter 140 inputs the arbitration result information, the same input order as the input order information included in the arbitration result information is included in the internal request that has been input so far but has not yet been permitted to use the bus. It is determined whether or not there is information including information. If there is an internal request that includes the same input order information as the input order information included in the arbitration result information, the internal request was originally not competing with the other bus use permission for the corresponding bus use permission. Although the round robin arbiter 140 was subject to the bus use permission, it subsequently conflicted with the new bus use permission input by the command management circuit 110, so that the bus use permission was changed to the first-come-first-served basis arbiter 130. Is. For this reason, the round robin arbiter 140 excludes an internal request including the same input order information as the input order information included in the arbitration result information from the bus use permission target. As a result, the existing bus use request competing with the new bus use permission is excluded from the round-robin bus use permission target (S108).

一方、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 round robin arbiter 140 and the outside via the selective comparison circuit 120.

選択比較回路120内のセレクタ122は、アドレスヒット情報を入力していないときに、既存バス使用要求と競合しない新規バス使用要求に対応する内部リクエストをラウンドロビンアービタ140へ出力する。そして、ラウンドロビンアービタ140は、入力した内部リクエストに基づいて、ラウンドロビン方式によりバス使用許可を設定する。   The selector 122 in the selection comparison circuit 120 outputs an internal request corresponding to a new bus use request that does not conflict with an existing bus use request to the round robin arbiter 140 when address hit information is not input. Then, the round robin arbiter 140 sets the bus use permission by the round robin method based on the input internal request.

このように、先着順アービタ130及びラウンドロビンアービタ140のそれぞれがバス使用許可の設定を行うと、その後は、その設定に基づいてバス使用許可(バス調停)が行われる。   As described above, when each of the first-come-first-served arbiter 130 and the round robin arbiter 140 sets the bus use permission, the bus use permission (bus arbitration) is performed based on the setting.

図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 command management circuit 110, and then writes A bus use request “REQ2” for executing the command “write2” is output. Thereafter, the bus master B outputs a bus use request “REQ3” for executing the read command “read1” to the command management circuit 110. Accordingly, the input order in the command management circuit 110 is the order of the bus use request “REQ1”, the bus use request “REQ2”, and the bus use request “REQ3”. The write commands “write1”, “write2” and the read command “read1” are for accessing the same address space of the memory.

この場合、何らかの理由によって書込コマンド「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 management circuit 110 generates address hit information and outputs it to the arbitration selection circuit 120. Then, the arbitration selection circuit 120 outputs the internal request corresponding to the bus use request “REQ2” and the internal request corresponding to the bus use request “REQ3” to the first-come-first-served basis arbiter 130.

先着順アービタ140は、これら内部リクエストを入力すると、コマンド管理回路1102が入力した順に従い、バス使用要求「REQ2」、バス使用要求「REQ3」の順でバス使用許可を設定する。   When receiving these internal requests, the first-come-first-served arbiter 140 sets the bus use permission in the order of the bus use request “REQ2” and the bus use request “REQ3” in accordance with the order input by the command management circuit 1102.

そして、先着順アービタ140は、バス使用要求「REQ1」に対応する書込コマンド「write1」を実行のための内部バスの使用が終了し、調停タイミングが到来した時に、バス使用要求「REQ2」に対応する内部リクエストに応じて、バス使用要求「REQ2」に対してバス使用許可を行い、当該バス使用要求「REQ2」に対応する書込コマンド「write2」の実行のために内部バスを使用させ、更にその内部バスの使用が終了した時に、バス使用要求「REQ3」に対応する内部リクエストに応じて、バス使用要求「REQ3」に対してバス使用許可を行い、当該バス使用要求「REQ3」に対応する読出コマンド「read1」の実行のために内部バスを使用させる。   Then, the first-come-first-served arbiter 140 ends the use of the internal bus for executing the write command “write1” corresponding to the bus use request “REQ1”, and when the arbitration timing arrives, the bus use request “REQ2” is set. In response to the corresponding internal request, the bus use request “REQ2” is permitted to use the bus, and the internal bus is used to execute the write command “write2” corresponding to the bus use request “REQ2”. Further, when the use of the internal bus is completed, the bus use permission is granted to the bus use request “REQ3” in response to the internal request corresponding to the bus use request “REQ3”, and the bus use request “REQ3” is handled. The internal bus is used to execute the read command “read1” to be executed.

図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 command management circuit 110, and subsequently outputs a bus use request “REQ2”. Thereafter, the bus master B outputs a bus use request “REQ3” to the command management circuit 110. Further, the bus master A outputs a bus use request “REQ4” to the command management circuit 110. Subsequently, the bus master B outputs a bus use request “REQ5” to the command management circuit 110, and then The bus master A outputs a bus use request “REQ6” to the command management circuit 110. Accordingly, the input order in the command management circuit 110 is as follows: bus use request “REQ1”, bus use request “REQ2”, bus use request “REQ3”, bus use request “REQ4”, bus use request “REQ5”, bus use request “ REQ6 ".

この場合、バスマスタ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 command management circuit 110, and when an internal request corresponding to these bus use requests is input to the round robin arbiter 140, the round robin arbiter 140 receives the bus use request“ REQ3 ”from the bus master B, The bus use permission is set in the order of the bus use request “REQ2” from the bus master A.

そして、先着順アービタ140は、バス使用要求「REQ1」に対応する内部バスの使用が終了し、調停タイミングが到来した時に、バス使用要求「REQ3」に対応する内部リクエストに応じて、バス使用要求「REQ3」に対してバス使用許可を行い、内部バスを使用させ、更にその内部バスの使用が終了した時に、バス使用要求「REQ2」に対応する内部リクエストに応じて、バス使用要求「REQ2」に対してバス使用許可を行い、内部バスを使用させる。   The first-come-first-served arbiter 140 completes the bus use request in response to the internal request corresponding to the bus use request “REQ3” when the use of the internal bus corresponding to the bus use request “REQ1” is completed and the arbitration timing has come. When the use of the bus is granted to “REQ3”, the internal bus is used, and the use of the internal bus is completed, the bus use request “REQ2” is received in response to the internal request corresponding to the bus use request “REQ2”. Is permitted to use the internal bus.

更に、バスマスタ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 command management circuit 110, and when an internal request corresponding to these bus use requests is input to the round robin arbiter 140, the round robin arbiter 140 receives the bus use request“ REQ5 ”from the bus master C, the bus master The bus use permission is set in the order of the bus use request “REQ6” from A.

そして、先着順アービタ140は、バス使用要求「REQ4」に対応する内部バスの使用が終了し、調停タイミングが到来した時に、バス使用要求「REQ5」に対応する内部リクエストに応じて、バス使用要求「REQ5」に対してバス使用許可を行い、内部バスを使用させ、更にその内部バスの使用が終了した時に、バス使用要求「REQ6」に対応する内部リクエストに応じて、バス使用要求「REQ6」に対してバス使用許可を行い、内部バスを使用させる。   The first-come-first-served arbiter 140 terminates the use of the internal bus corresponding to the bus use request “REQ4”, and when the arbitration timing arrives, the bus use request according to the internal request corresponding to the bus use request “REQ5”. When the use of the bus is permitted to “REQ5”, the internal bus is used, and the use of the internal bus is completed, the bus use request “REQ6” is generated in response to the internal request corresponding to the bus use request “REQ6”. Is permitted to use the internal bus.

このように、バス調停システム100は、バス使用要求間において、アクセス先のメモリのアドレス空間が重複しない、すなわち、バス使用要求が競合しない通常の場合においては、ラウンドロビン方式によりバスの調停を行うため、バス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏り、他のバスマスタの処理が遅延することが防止される。一方、バス調停システム100は、バス使用要求間において、アクセス先のメモリのアドレス空間が重複する、すなわち、バス使用要求が競合する場合においては、その競合するバス使用要求に対して、先着順方式により入力順でバスの調停を行うため、従来のラウンドロビン方式のバス調停のように、バス使用要求の競合の有無によって読み出されるデータが異なることが防止される。   In this way, the bus arbitration system 100 performs bus arbitration by the round robin method in the normal case where the address space of the memory to be accessed does not overlap between the bus use requests, that is, the bus use requests do not compete. Therefore, it is possible to prevent the bus assignment from being biased with respect to a bus master having a high frequency of bus use requests and delaying the processing of other bus masters. On the other hand, the bus arbitration system 100 has a first-come-first-served basis for the conflicting bus use requests when the address space of the access destination memory overlaps between the bus use requests, that is, when the bus use requests compete. Thus, the bus arbitration is performed in the order of input, so that the read data is prevented from differing depending on the presence or absence of bus use request contention as in the conventional round-robin bus arbitration.

以上、説明したように、本発明に係るバス調停システム及びバス調停方法は、ラウンドロビン方式によりバス使用要求の頻度の高いバスマスタに対してバスの割り当てが偏ることを防止しつつ、バス使用要求の競合が生じた場合には、適切なデータが読み出されるようにすることができ、バス調停システム及びバス調停方法として有用である。   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.

従来のラウンドロビン方式によるバス調停のタイミングチャートである。It is a timing chart of the bus arbitration by the conventional round robin system. 従来の先着順方式によるバス調停のタイミングチャートである。It is a timing chart of the bus arbitration by the conventional first-come-first-served system. 本実施形態のバス調停システムの構成を示す図である。It is a figure which shows the structure of the bus arbitration system of this embodiment. 調停選択回路の詳細な構成を示す図である。It is a figure which shows the detailed structure of an arbitration selection circuit. バス調停システムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of a bus arbitration system. 新規バス使用要求と既存バス使用要求との競合状態の一例を示す図である。It is a figure which shows an example of the competition state of a new bus use request and an existing bus use request. 競合するバス使用要求に対する先着順方式によるバス調停のタイミングチャートである。It is a timing chart of the bus arbitration by the first-come-first-served basis with respect to competing bus use requests. 競合しないバス使用要求に対するラウンドロビン方式によるバス調停のタイミングチャートである。It is a timing chart of the bus arbitration by the round robin method with respect to the bus use request | requirement which does not compete.

符号の説明Explanation of symbols

100 バス調停システム
110 コマンド管理回路
112 コマンドキューアドレス比較回路コマンドキュー
114 アドレス比較回路コマンドキューアドレス比較回路
120 調停選択回路
122、124 セレクタ
130 先着順アービタ
140 ラウンドロビンアービタ
DESCRIPTION OF SYMBOLS 100 Bus arbitration system 110 Command management circuit 112 Command queue address comparison circuit Command queue 114 Address comparison circuit Command queue address comparison circuit 120 Arbitration selection circuit 122, 124 Selector 130 First-come-first-served basis arbiter 140 Round robin arbiter

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:
前記アドレス空間重複判定手段は、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間の終端アドレスを算出し、前記アクセス先のアドレス空間の先頭アドレスと終端アドレスの間に他のバス使用要求のアクセス先のメモリのアドレス空間が含まれるか否かを判定することを特徴とする請求項2に記載のバス調停システム。 The address space duplication determination means calculates the end address of the address space of the access destination memory based on the start address and the size of the address space of the access destination memory included in the bus use request, and the access destination address 3. The bus arbitration system according to claim 2, wherein it is determined whether or not an address space of a memory to be accessed by another bus use request is included between the head address and the end address of the space. 前記バス使用要求記憶手段は、前記バス使用要求に前記バスマスタからの入力順の情報を対応付けて記憶し、
前記バス使用調停手段は、前記アドレス空間重複判定手段によりアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記入力順の情報に応じた順序でバス使用許可を行うことを特徴とする請求項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.
前記アドレス空間重複判定ステップは、前記バス使用要求に含まれるアクセス先のメモリのアドレス空間の先頭アドレス及びサイズに基づいて、アクセス先のメモリのアドレス空間の終端アドレスを算出し、前記アクセス先のアドレス空間の先頭アドレスと終端アドレスの間に他のバス使用要求のアクセス先のメモリのアドレス空間が含まれるか否かを判定することを特徴とする請求項7に記載のバス調停方法。 The address space duplication determination step calculates the end address of the address space of the access destination memory based on the start address and the size of the address space of the access destination memory included in the bus use request, and the access destination address 8. The bus arbitration method according to claim 7, wherein it is determined whether or not an address space of an access destination memory of another bus use request is included between the head address and the end address of the space. 前記バス使用要求記憶ステップは、前記バス使用要求に前記バスマスタからの入力順の情報を対応付けて前記バス使用要求記憶手段に記憶させ、
前記バス使用調停ステップは、前記アドレス空間重複判定ステップにおいてアクセス先のメモリのアドレス空間が他のバス使用要求と重複すると判定されたバス使用要求に対して、前記入力順の情報に応じた順序でバス使用許可を行うことを特徴とする請求項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.
JP2004364147A 2004-12-16 2004-12-16 Bus arbitration system and bus arbitration method Expired - Fee Related JP4552644B2 (en)

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)

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

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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
US8190801B2 (en) Interconnect logic for a data processing apparatus
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
JP2002530742A (en) Method and apparatus for prioritizing access to external devices
US20050223147A1 (en) Method and apparatus for allocating bus access rights in multimaster bus systems
US8505016B2 (en) Enhanced shortest-job-first memory request scheduling
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
US8458411B2 (en) Distributed shared memory multiprocessor and data processing method
US20160275028A1 (en) Semiconductor device
JP4552644B2 (en) Bus arbitration system and bus arbitration method
JP4687925B2 (en) Priority arbitration system and priority arbitration method
CN107835134B (en) Port access arbitration method and device applied to Ethernet switching chip
KR100973419B1 (en) Method and apparatus for arbitrating a bus
JP6036806B2 (en) Bus access arbitration circuit and bus access arbitration method
JP4983632B2 (en) Information communication system, access arbitration method thereof, and control program thereof
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
US20100153610A1 (en) Bus arbiter and bus system
US20200257471A1 (en) Control apparatus and control method

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