JP4958596B2 - Arbitration device - Google Patents

Arbitration device Download PDF

Info

Publication number
JP4958596B2
JP4958596B2 JP2007080046A JP2007080046A JP4958596B2 JP 4958596 B2 JP4958596 B2 JP 4958596B2 JP 2007080046 A JP2007080046 A JP 2007080046A JP 2007080046 A JP2007080046 A JP 2007080046A JP 4958596 B2 JP4958596 B2 JP 4958596B2
Authority
JP
Japan
Prior art keywords
shared resource
request
unit
resource use
bit
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
JP2007080046A
Other languages
Japanese (ja)
Other versions
JP2008242651A (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.)
On Semiconductor Trading Ltd
Original Assignee
On Semiconductor Trading Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by On Semiconductor Trading Ltd filed Critical On Semiconductor Trading Ltd
Priority to JP2007080046A priority Critical patent/JP4958596B2/en
Publication of JP2008242651A publication Critical patent/JP2008242651A/en
Application granted granted Critical
Publication of JP4958596B2 publication Critical patent/JP4958596B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、アービトレーション装置に関する。   The present invention relates to an arbitration device.

アービトレーション装置とは、共有バスを介して共有資源とアクセス可能に接続された複数のバス・マスタからの複数の共有資源使用要求を予め定められた優先度に従って調停し、共有バスを介した共有資源の使用許可を与えるバス・マスタを決定するものである。例えば、アービトレーション装置は、マルチプロセッサ環境下において複数のCPU(バス・マスタ)が共有バスを介して共通メモリ(共有資源)を使用する場合や、システムバスにCPU(共有資源)と複数の周辺機器(バス・マスタ)とが接続され、複数の周辺機器がシステムバスを介してCPUを使用する場合等に必要となる。   The arbitration device arbitrates a plurality of shared resource use requests from a plurality of bus masters connected to a shared resource via a shared bus according to a predetermined priority, and shares the shared resource via the shared bus. The bus master to which the use permission is granted is determined. For example, an arbitration device is used when a plurality of CPUs (bus masters) use a common memory (shared resource) via a shared bus in a multiprocessor environment, or when a CPU (shared resource) and a plurality of peripheral devices are used for a system bus. Necessary when a plurality of peripheral devices use a CPU via a system bus, etc.

図7は、従来のアービトレーション装置500の構成を示した図である。アービトレーション装置500は、チャネル番号CH1〜CHnが各々付与されたN個の装置20−1〜20nからの共有資源使用要求REQ1〜REQnの調停を行って、共有資源10の使用許可を与えるものである。尚、優先度設定レジスタ525にはチャネル番号CH1〜CHn毎に優先度が予め設定されている。アービトレーション装置500は、優先度設定レジスタ525に設定された優先度に従って、以下のように共有資源使用要求REQ1〜REQnの調停を行う。   FIG. 7 is a diagram showing a configuration of a conventional arbitration device 500. Arbitration device 500 arbitrates shared resource use requests REQ1 to REQn from N devices 20-1 to 20n assigned channel numbers CH1 to CHn, respectively, and grants the use permission of shared resource 10. . In the priority setting register 525, the priority is set in advance for each of the channel numbers CH1 to CHn. The arbitration device 500 arbitrates the shared resource use requests REQ1 to REQn as follows according to the priority set in the priority setting register 525.

リクエスト検出部510は、共有資源使用要求REQ1〜REQnを受付ける。アクセス要求調整部520は、受付された共有資源使用要求REQ1〜REQnを調整して、対応するチャネル番号CH1〜CHnを調整結果に応じて待ち行列レジスタ530に書き込む。尚、待ち行列レジスタ530は、FIFO(First In First Out)方式のシフトレジスタで構成される。待ち行列レジスタ530の最上位のユニットに格納されるデータQ1は、現在共有資源10に対してアクセス権が与えられるチャネル番号を表しており、最上位のユニットより下位のユニットに順番に格納されるデータQ2〜Qnは待機中のチャネル番号を表している。尚、データQnは第n番目の処理待ち順位が与えられたチャネル番号を表す。   The request detection unit 510 receives the shared resource use requests REQ1 to REQn. The access request adjustment unit 520 adjusts the received shared resource use requests REQ1 to REQn, and writes the corresponding channel numbers CH1 to CHn in the queue register 530 according to the adjustment result. The queue register 530 is a FIFO (First In First Out) type shift register. The data Q1 stored in the uppermost unit of the queue register 530 represents the channel number to which access right is currently given to the shared resource 10, and is stored in order in units lower than the uppermost unit. Data Q2 to Qn represent standby channel numbers. The data Qn represents the channel number to which the nth processing waiting order is given.

バス・アクノリッジセレクト部540は、待ち行列レジスタ530の最上位のユニットに格納されたデータQ1に対応した装置20−1〜20−nに対し、共有資源使用許可ACK1〜ACKnを出力する。これにより、共有資源使用許可ACK1〜ACKnを受け取った装置20−1〜20−nは、共有バス15を介して共有資源10へのアクセスが可能となる。   The bus acknowledge select unit 540 outputs the shared resource use permission ACK1 to ACKn to the devices 20-1 to 20-n corresponding to the data Q1 stored in the highest unit of the queue register 530. As a result, the devices 20-1 to 20-n that have received the shared resource use permission ACK 1 to ACKn can access the shared resource 10 via the shared bus 15.

尚、アクセス要求調整部520は、優先度設定レジスタ525に設定された優先度を用いて処理を行うリクエスト競合調停部5201と優先度選択部5202を具備する。アクセス要求調整部520は、原則として、共有資源使用要求REQ1〜REQnを受付けた順に待ち行列レジスタ530にチャネル番号の登録を行う。一方、複数の共有資源使用要求REQ1〜REQnを同時に受付けた場合、即ち、複数の共有資源使用要求REQ1〜REQnが競合した場合には、リクエスト競合調停部5201が、優先度選択部5202からの優先度のデータを参照して、優先度順に待ち行列レジスタ530にチャネル番号の登録を行う。これにより、アクセス要求調整部520は、複数の共有資源使用要求REQ1〜REQnが競合した場合に、予め定められた優先度に応じて共有資源使用要求REQ1〜REQnの調停を行う。   The access request adjustment unit 520 includes a request contention arbitration unit 5201 and a priority selection unit 5202 that perform processing using the priority set in the priority setting register 525. In principle, the access request adjustment unit 520 registers channel numbers in the queue register 530 in the order in which the shared resource use requests REQ1 to REQn are received. On the other hand, when a plurality of shared resource usage requests REQ1 to REQn are received simultaneously, that is, when a plurality of shared resource usage requests REQ1 to REQn compete, the request contention arbitration unit 5201 gives priority from the priority selection unit 5202. The channel numbers are registered in the queue register 530 in order of priority with reference to the data of the times. As a result, when a plurality of shared resource usage requests REQ1 to REQn compete, the access request adjustment unit 520 arbitrates the shared resource usage requests REQ1 to REQn according to a predetermined priority.

以上のように、従来のアービトレーション装置は、複数の共有資源使用要求の競合が発生したときには、FIFO方式の待ち行列レジスタへ登録を行う前に優先度の判定を行う。さらに、競合した複数の共有資源使用要求を判定された優先度順にソーティングした後に、待ち行列レジスタの最後列ビットから順番に登録を行っている。
特開2004−302633号公報
As described above, when a plurality of shared resource use request conflicts occur, the conventional arbitration device determines the priority before performing registration in the FIFO queue register. Furthermore, after a plurality of conflicting shared resource use requests are sorted in the order of the determined priority, registration is performed in order from the last column bit of the queue register.
JP 2004-302633 A

ところで、従来のアービトレーション装置において、複数の共有資源使用要求の競合が発生したときの優先度の判定や優先度順にソーティングする処理をハードウェアにより実現しようとした場合、装置規模の増大化や処理遅延を招くので、その実現が極めて困難であった。   By the way, in a conventional arbitration device, when it is attempted to implement priority determination and sorting in order of priority when a plurality of shared resource use request conflicts occur, increase in device scale or processing delay Therefore, it has been extremely difficult to realize.

例えば、n個のデータのソーティング処理は、低速アルゴリズム(バブルソート等)の場合にはO(nの2乗)、高速アルゴリズム(クイックソート等)の場合にはO(nlogn)といった膨大な計算量となることが知られている。それ故に、アービトレーション装置において、複数の共有資源使用要求のソーティング処理等をデジタル回路により実現しようとした場合、回路規模の増大化の問題が顕著となる。また、ソーティング処理の膨大な計算量に起因して、競合した複数の共有資源使用要求を受け付けてから待ち行列レジスタへの全ての登録が完了するまでに多くの処理時間を必要とする。従って、デジタル回路のクロック信号の周波数を高くしようとすると、1マシンサイクル内で、ソーティング処理等を実行し、且つ、待ち行列レジスタへ登録することは極めて困難となる。   For example, the sorting processing of n pieces of data requires a huge amount of calculation such as O (square of n) in the case of a low-speed algorithm (such as bubble sort) and O (nlogn) in the case of a high-speed algorithm (such as quick sort). It is known that Therefore, in the arbitration device, when a processing for sorting a plurality of shared resource usage requests is to be realized by a digital circuit, the problem of an increase in circuit scale becomes significant. In addition, due to the enormous amount of calculation of the sorting process, it takes a lot of processing time from the reception of a plurality of competing shared resource use requests to the completion of all registration in the queue register. Therefore, if it is attempted to increase the frequency of the clock signal of the digital circuit, it is extremely difficult to execute a sorting process or the like and register it in the queue register within one machine cycle.

さらに、競合した複数の共有資源使用要求を優先度順に待ち行列レジスタに1つずつ登録していく場合、待ち行列レジスタへの登録を待つ残りの共有資源使用要求のための保持回路を備える必要がある。この保持回路が回路規模の増大化の要因となる。例えば、N個のバス・マスタが存在する場合、M個(M≦N)の共有資源使用要求が同時に発生する可能性がある。このとき、優先度の最も高い1つの共有資源使用要求を待ち行列レジスタに登録すると、残りのM−1個の共有資源使用要求の登録が完了するまでの間、それら残りのM−1の共有資源使用要求を保持しておくための保持回路が必要となる。また、残りのM−1個の共有資源使用要求の登録が完了するまでの間に、新たに最大N−M個の競合した共有資源使用要求が発生する可能性もある。従って、それらの新たに競合した共有資源使用要求を保持するための保持回路が必要となる。   Further, when registering a plurality of conflicting shared resource use requests in the queue register one by one in order of priority, it is necessary to provide a holding circuit for the remaining shared resource use requests waiting for registration in the queue register. is there. This holding circuit causes an increase in circuit scale. For example, if there are N bus masters, M (M ≦ N) shared resource use requests may occur simultaneously. At this time, if one shared resource use request with the highest priority is registered in the queue register, the remaining M-1 shares are shared until the registration of the remaining M-1 shared resource use requests is completed. A holding circuit for holding the resource use request is required. There is also a possibility that a maximum of NM conflicting shared resource usage requests may be generated until the registration of the remaining M-1 shared resource usage requests is completed. Therefore, a holding circuit for holding these newly competing shared resource use requests is required.

前述した課題を解決するための主たる本発明は、共有資源と前記共有資源に接続された複数の信号処理装置からの共有資源使用要求を調停するアービトレーション装置において、前記複数の信号処理装置と一対一に対応し、前記共有資源使用要求を登録し格納する複数のシフトレジスタと、前記複数のシフトレジスタの各先頭ビットのいずれか一つに登録された前記共有資源使用要求を選択するリクエスト選択部と、前記リクエスト選択部により選択された前記共有資源使用要求を出した前記信号処理装置に対し前記共有資源の使用許可を与えるリクエスト許可部と、を有することとする。   A main aspect of the present invention for solving the above-described problem is that an arbitration apparatus that arbitrates shared resource use requests from a plurality of signal processing apparatuses connected to the shared resource, one to one with the plurality of signal processing apparatuses. A plurality of shift registers that register and store the shared resource use request, and a request selection unit that selects the shared resource use request registered in any one of the first bits of the plurality of shift registers; And a request permission unit that grants the use permission of the shared resource to the signal processing device that has issued the shared resource use request selected by the request selection unit.

本発明によれば、装置規模の増大化を抑えつつ高速で動作が可能なアービトレーション装置を提供することができる。   According to the present invention, it is possible to provide an arbitration device capable of operating at high speed while suppressing an increase in the device scale.

<<第1実施形態>>>
===アービトレーション装置の構成===
図1を用いて、本発明の第1実施形態に係るアービトレーション装置100の構成を説明する。
<< First Embodiment >>
=== Configuration of Arbitration Device ===
The configuration of the arbitration device 100 according to the first embodiment of the present invention will be described with reference to FIG.

アービトレーション装置100は、チャネル番号CH1〜CHnが各々付与されたN個の装置20−1〜20−n(バス・マスタ)からの共有資源使用要求REQ1〜REQnの調停を行って、共有資源10の使用許可を与えるものである。アービトレーション装置100は、リクエスト検出部110、リクエスト登録部120、FIFOレジスタユニット130、シフト制御部140、優先度設定部160、リクエスト選択部170、リクエスト許可部180を有する。これらの機能はハードウェアを用いて実現される。   The arbitration device 100 arbitrates the shared resource use requests REQ1 to REQn from the N devices 20-1 to 20-n (bus masters) to which the channel numbers CH1 to CHn are assigned, respectively. It gives permission to use. The arbitration device 100 includes a request detection unit 110, a request registration unit 120, a FIFO register unit 130, a shift control unit 140, a priority setting unit 160, a request selection unit 170, and a request permission unit 180. These functions are realized using hardware.

リクエスト検出部110は、N個の装置20−1〜20−nからの共有資源使用要求REQ1〜REQnを受付ける。共有資源使用要求REQ1〜REQnは、例えば、共有資源10の使用の要求を出したことを示す“L”の1ビット相当の1パルスとして表現される。リクエスト検出部110は、シフト制御部140から供給されたシステムクロックCLKのエッジが発生するタイミングで当該1パルスを取り込み、対応したチャネル番号CH1〜CHnを1ビットの“H”として出力する。即ち、リクエスト検出部110は、共有資源使用要求REQ1〜REQnとチャネル番号CH1〜CHnとを対応づけたテーブル情報(不図示)を有している。そして、当該テーブル情報を参照して該当するチャネル番号CH1〜CHnを1ビットの“H”として出力する。   The request detection unit 110 accepts shared resource use requests REQ1 to REQn from the N devices 20-1 to 20-n. The shared resource use requests REQ1 to REQn are expressed, for example, as one pulse corresponding to one bit of “L” indicating that a request for using the shared resource 10 has been issued. The request detection unit 110 takes in the one pulse at the timing when the edge of the system clock CLK supplied from the shift control unit 140 is generated, and outputs the corresponding channel numbers CH1 to CHn as 1-bit “H”. That is, the request detection unit 110 has table information (not shown) in which the shared resource use requests REQ1 to REQn are associated with the channel numbers CH1 to CHn. Then, referring to the table information, the corresponding channel numbers CH1 to CHn are output as 1-bit “H”.

リクエスト登録部120は、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、シフト制御部140から供給されたシステムクロックCLKのエッジが発生するタイミングにより、FIFOレジスタユニット130のうち対応するFIFOレジスタ135−1〜135−nに出力する。   The request registration unit 120 uses the channel numbers CH1 to CHn output from the request detection unit 110 to correspond to the FIFO registers in the FIFO register unit 130 according to the timing at which the edge of the system clock CLK supplied from the shift control unit 140 is generated. Output to 135-1 to 135-n.

FIFOレジスタユニット130は、N個の装置20−1〜20−n(N個のバス・マスタ)それぞれに対応したN個のFIFOレジスタ135−1〜135−nを有する。即ち、装置20−1に対してFIFOレジスタ135−1が設けられ、装置20−2に対してFIFOレジスタ135−2が設けられ、装置20−nに対してFIFOレジスタ135−nが設けられる、というように、装置20−1〜20−nとFIFOレジスタ135−1〜135−nは1対1の関係にある。   The FIFO register unit 130 has N FIFO registers 135-1 to 135-n corresponding to the N devices 20-1 to 20-n (N bus masters). That is, a FIFO register 135-1 is provided for the device 20-1, a FIFO register 135-2 is provided for the device 20-2, and a FIFO register 135-n is provided for the device 20-n. Thus, the devices 20-1 to 20-n and the FIFO registers 135-1 to 135-n have a one-to-one relationship.

FIFOレジスタ135−1〜135−nは、最初に入力したデータから最初に出力するFIFO(First In First Out)方式を採用した「キュー(待ち行列)」と呼ばれるデータ構造体をハードウェアにより具現化したものである。   The FIFO registers 135-1 to 135-n embody a data structure called “queue (queue)” adopting a FIFO (First In First Out) system that outputs first from the first input data by hardware. It is a thing.

具体的には、FIFOレジスタ135−1〜135−nは、リクエスト登録部120から出力されたチャネル番号CH1〜CHnを、シフト制御部140から供給されたシステムクロックCLKのエッジが発生するタイミングで、最後列ビットLSB(Least Significant Bit)から先頭ビットMSB(Most Significant Bit)に向けてシフトするNビットのシフトレジスタによって構成される。FIFOレジスタユニット130は、最大N個のチャネル番号CH1〜CHnを保持することができる。   Specifically, the FIFO registers 135-1 to 135-n use the channel numbers CH1 to CHn output from the request registration unit 120 at the timing when the edge of the system clock CLK supplied from the shift control unit 140 is generated. It is composed of an N-bit shift register that shifts from the last column bit LSB (Least Significant Bit) toward the first bit MSB (Most Significant Bit). The FIFO register unit 130 can hold a maximum of N channel numbers CH1 to CHn.

シフト制御部140は、N個のFIFOレジスタ135−1〜135−nそれぞれに対して、シフト動作を制御するシステムクロックCLKを供給する。尚、システムクロックCLKは、シフト制御部140のシフト動作を含めたアービトレーション装置100全てのハードウェア動作のタイミングを同期させるクロックとして用いられる。   The shift control unit 140 supplies a system clock CLK that controls the shift operation to each of the N FIFO registers 135-1 to 135-n. The system clock CLK is used as a clock that synchronizes the timing of hardware operations of all the arbitration devices 100 including the shift operation of the shift control unit 140.

優先度設定部160は、共有資源使用要求REQ1〜REQnに対して予め優先度を設定する。本実施形態の場合、共有資源使用要求REQ1〜REQnが競合した場合に備え、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnそれぞれに優先度1〜nを付与した優先度テーブルを用いて設定する。尚、優先度nはn番目の優先度を表している。   The priority setting unit 160 sets priorities for the shared resource use requests REQ1 to REQn in advance. In the case of this embodiment, a priority table in which priorities 1 to n are assigned to the first bits MSB1 to MSBn of the FIFO registers 135-1 to 135-n is used in preparation for the case where the shared resource use requests REQ1 to REQn compete. To set. Note that the priority n represents the nth priority.

リクエスト選択部170は、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnに基づいて、共有バス15の使用権を占有させる許可を与える共有資源使用要求REQ1〜REQnを選択する。具体的には、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnのうち、“H”を示す先頭ビットMSB1〜MSBnに対応した共有資源使用要求REQ1〜REQnを選択する。   The request selection unit 170 selects shared resource use requests REQ1 to REQn that give permission to occupy the right to use the shared bus 15 based on the first bits MSB1 to MSBn of the FIFO registers 135-1 to 135-n. Specifically, among the first bits MSB1 to MSBn of the FIFO registers 135-1 to 135-n, the shared resource use requests REQ1 to REQn corresponding to the first bits MSB1 to MSBn indicating “H” are selected.

共有資源使用要求REQ1〜REQnが競合した場合、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnのうち、“H”を示す先頭ビットMSB1〜MSBnが2ビット以上現れる。このとき、リクエスト選択部170は、優先度設定部160に設定された優先度1〜nに従って、“H”を示す先頭ビットMSB1〜MSBnに対応した共有資源使用要求REQ1〜REQnを選択する。   When the shared resource use requests REQ1 to REQn compete, two or more first bits MSB1 to MSBn indicating “H” appear among the first bits MSB1 to MSBn of the FIFO registers 135-1 to 135-n. At this time, the request selection unit 170 selects the shared resource use requests REQ1 to REQn corresponding to the first bits MSB1 to MSBn indicating “H” according to the priorities 1 to n set in the priority setting unit 160.

リクエスト許可部180は、リクエスト選択部170において選択された共有資源使用要求REQ1〜REQnに対応した装置20−1〜20−nに対し、共有資源10の使用権を一定期間占有させる許可を与える共有資源使用許可ACK1〜ACKnを出力する。これにより、共有資源使用許可ACK1〜ACKnを受け取った装置20−1〜20−nは、共有バス15を介して共有資源10へのアクセスが可能となる。   The request permission unit 180 grants the device 20-1 to 20-n corresponding to the shared resource use requests REQ1 to REQn selected by the request selection unit 170 with permission to occupy the right to use the shared resource 10 for a certain period. The resource use permission ACK1 to ACKn is output. As a result, the devices 20-1 to 20-n that have received the shared resource use permission ACK 1 to ACKn can access the shared resource 10 via the shared bus 15.

尚、リクエスト許可部180は、共有資源使用許可ACK1〜ACKnを出力する間に、シフト制御部140に対してFIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBnのシフト動作を禁止させるためのWAIT信号を出力する。共有資源使用要求REQ1〜REQnが競合した場合に、共有資源使用要求REQ1〜REQn全てに共有資源使用許可が与えられるまでの間、先頭ビットMSB1〜MSBnに保持しておく必要があるからである。具体的には、シフト制御部140は、WAIT信号が発生した場合、先頭ビットMSB1〜MSBnに対応するレジスタのみシステムクロックCLKを固定させるか、若しくは、前段のレジスタからのデータ入力を制限することによって実現できる。   The request permission unit 180 prohibits the shift control unit 140 from shifting the first bits MSB1 to MSBn of the FIFO registers 135-1 to 135-n while outputting the shared resource use permission ACK1 to ACKn. WAIT signal is output. This is because when the shared resource use requests REQ1 to REQn compete, it is necessary to hold them in the first bits MSB1 to MSBn until the shared resource use permission is given to all the shared resource use requests REQ1 to REQn. Specifically, when the WAIT signal is generated, the shift control unit 140 fixes the system clock CLK only in the registers corresponding to the first bits MSB1 to MSBn, or restricts data input from the previous register. realizable.

===アービトレーション装置の動作===
図2に示す具体例を用いて、アービトレーション装置100の動作を説明する。
図2に示す具体例は、4つの装置20−1、20−2、20−3、20−4が共有バス15を介して共有資源10と接続される。従って、この場合、FIFOレジスタユニット130は、4つの装置20−1、20−2、20−3、20−4に対応して4つのFIFOレジスタ135−1、135−2、135−3、135−4を具備している。また、4つの装置20−1、20−2、20−3、20−4より発生する共有資源使用要求REQ1、REQ2、REQ3、REQ4の優先度は、高いものから順にREQ1、REQ2、REQ3、REQ4とする。
=== Operation of Arbitration Device ===
The operation of the arbitration device 100 will be described using a specific example shown in FIG.
In the specific example shown in FIG. 2, four devices 20-1, 20-2, 20-3, and 20-4 are connected to the shared resource 10 via the shared bus 15. Therefore, in this case, the FIFO register unit 130 corresponds to the four devices 20-1, 20-2, 20-3, 20-4, and the four FIFO registers 135-1, 135-2, 135-3, 135. -4. In addition, the priority of the shared resource use requests REQ1, REQ2, REQ3, and REQ4 generated by the four devices 20-1, 20-2, 20-3, and 20-4 is in order from the highest to the lowest REQ1, REQ2, REQ3, and REQ4 And

また、図2に示す記号の説明として、「t1〜t12」はシステムクロックCLKの1周期を表し、REQに示す「1〜4」は4つの装置20−1〜20−4より発生した共有資源使用要求REQ1〜REQ4を表し、SETに示す「1〜4」は4つのFIFOレジスタ135−1〜135−4に登録されるチャネル番号CH1〜CH4を表し、ACKに示す「1〜4」は4つの装置20−1〜20−4に許可を与えたことを示す共有資源使用許可ACK1〜ACK4を表す。   2, “t1 to t12” represents one cycle of the system clock CLK, and “1 to 4” represented by REQ represents shared resources generated by the four devices 20-1 to 20-4. The use requests REQ1 to REQ4 are represented, and “1 to 4” shown in the SET represents channel numbers CH1 to CH4 registered in the four FIFO registers 135-1 to 135-4, and “1 to 4” shown in the ACK is 4 The shared resource use permission ACK1 to ACK4 indicating that permission has been given to the two apparatuses 20-1 to 20-4.

1周期目t1では、装置20−2からの共有資源使用要求REQ2が発生する。
2周期目t2では、装置20−1からの共有資源使用要求REQ1、装置20−3からの共有資源使用要求REQ3が新たに発生する。また、1周期目t1で発生した共有資源使用要求REQ2に対応するチャネル番号CH2が、FIFOレジスタ135−2の最後列ビットLSBに格納される。
In the first cycle t1, a shared resource use request REQ2 is generated from the device 20-2.
In the second period t2, a shared resource use request REQ1 from the device 20-1 and a shared resource use request REQ3 from the device 20-3 are newly generated. Further, the channel number CH2 corresponding to the shared resource use request REQ2 generated in the first cycle t1 is stored in the last column bit LSB of the FIFO register 135-2.

3周期目t3では、共有資源使用要求REQ2に対応するチャネル番号CH2は、FIFOレジスタ135−2の最後列ビットLSBから2番目のビットにシフトされる。また、2周期目t2に発生した共有資源使用要求REQ1、REQ3に対応したチャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBに格納される。このとき、共有資源使用要求REQ1、REQ3は優先度の判定が行われることなく、チャネル番号CH1、CH3をFIFOレジスタ135−1、135−3の最後列ビットLSBに格納する。   In the third period t3, the channel number CH2 corresponding to the shared resource use request REQ2 is shifted to the second bit from the last column bit LSB of the FIFO register 135-2. Further, channel numbers CH1 and CH3 corresponding to the shared resource use requests REQ1 and REQ3 generated in the second period t2 are stored in the last column bits LSB of the FIFO registers 135-1 and 135-3. At this time, the shared resource use requests REQ1 and REQ3 store the channel numbers CH1 and CH3 in the last column bits LSB of the FIFO registers 135-1 and 135-3 without determining the priority.

4周期目t4では、チャネル番号CH2がFIFOレジスタ135−2の最後列ビットLSBから2番目のビットから3番目のビットにシフトされ、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBから2番目のビットにシフトさる。   In the fourth period t4, the channel number CH2 is shifted from the second bit to the third bit from the last column bit LSB of the FIFO register 135-2, and the channel numbers CH1 and CH3 are shifted to the FIFO registers 135-1 and 135-3. Shift from the last column bit LSB to the second bit.

5周期目t5では、チャネル番号CH2がFIFOレジスタ135−2の最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされ、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBから2番目のビットから3番目のビットにシフトさる。また、装置20−4からの共有資源使用要求REQ4が新たに発生する。即ち、チャネル番号CH2は、FIFOレジスタ135−2の先頭ビットMSBに格納されており、リクエスト選択部170によって選択される。   In the fifth period t5, the channel number CH2 is shifted from the third bit to the first bit MSB from the last column bit LSB of the FIFO register 135-2, and the channel numbers CH1 and CH3 are the last of the FIFO registers 135-1 and 135-3. The column bit LSB is shifted from the second bit to the third bit. In addition, a shared resource use request REQ4 is newly generated from the device 20-4. That is, the channel number CH2 is stored in the first bit MSB of the FIFO register 135-2 and is selected by the request selection unit 170.

6周期目t6では、リクエスト選択部170によって選択されたチャネル番号CH2がFIFOレジスタ135−2から削除される。そして、チャネル番号CH2に対応する共有資源使用要求REQ2を発生した装置20−2に対し、リクエスト許可部180は共有資源使用許可ACK2を出力する。これにより、装置20−2は共有バス15を介した共有資源10の使用許可が与えられる。このとき、チャネル番号CH1、CH3は、それぞれ最後列ビットLSBから3番目のビットから先頭ビットMSBへのシフトが行われず、また、5周期目t5に発生した共有資源使用要求REQ4に対応したチャネル番号CH4が、FIFOレジスタ135−4の最後列ビットLSBに格納される。チャネル番号CH1、CH3のシフトを行われないことにより、リクエスト許可部180は装置20−2に対して確実に共有資源使用許可ACK2を出力することができる。   In the sixth period t6, the channel number CH2 selected by the request selection unit 170 is deleted from the FIFO register 135-2. Then, the request permission unit 180 outputs a shared resource use permission ACK2 to the device 20-2 that has generated the shared resource use request REQ2 corresponding to the channel number CH2. As a result, the device 20-2 is given permission to use the shared resource 10 via the shared bus 15. At this time, the channel numbers CH1 and CH3 are not shifted from the third bit to the first bit MSB from the last column bit LSB, respectively, and the channel numbers corresponding to the shared resource use request REQ4 generated at the fifth period t5 CH4 is stored in the last column bit LSB of the FIFO register 135-4. By not shifting the channel numbers CH1 and CH3, the request permission unit 180 can reliably output the shared resource use permission ACK2 to the device 20-2.

7周期目t7では、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされ、チャネル番号CH4が最後列ビットLSBから最後列ビットLSBから2番目のビットにシフトされる。これにより、チャネル番号CH1、CH3はFIFOレジスタ135−1、135−3の先頭ビットMSBに格納されているので、リクエスト選択部170は、チャネル番号CH1、CH3を優先度に従って選択する。しかし、7周期目t7の時点では、共有資源10は装置20−2についての処理を行っているので、リクエスト選択部170は、チャネル番号CH1又はチャネル番号CH3の選択を行わない。   In the seventh period t7, the channel numbers CH1 and CH3 are shifted from the third bit to the first bit MSB from the last column bit LSB of the FIFO registers 135-1 and 135-3, and the channel number CH4 is shifted from the last column bit LSB to the last column. Shift from bit LSB to second bit. Thereby, since the channel numbers CH1 and CH3 are stored in the first bit MSB of the FIFO registers 135-1 and 135-3, the request selection unit 170 selects the channel numbers CH1 and CH3 according to the priority. However, since the shared resource 10 is processing the device 20-2 at the time point of the seventh period t7, the request selection unit 170 does not select the channel number CH1 or the channel number CH3.

8周期目t8では、チャネル番号CH1、CH3がFIFOレジスタ135−1、135−3の最後列ビットLSBに保持されるとともに、チャネル番号CH4は、最後列ビットLSBから2番目のビットから3番目のビットにシフトされる。チャネル番号CH1、CH3については、7周期目t7と同様に、共有資源10は装置20−2についての処理を行っているので、リクエスト選択部170は、チャネル番号CH1又はチャネル番号CH3の優先度に基づく選択を行わない。   In the eighth period t8, the channel numbers CH1 and CH3 are held in the last column bit LSB of the FIFO registers 135-1 and 135-3, and the channel number CH4 is the third bit from the second bit from the last column bit LSB. Shifted to bits. As for the channel numbers CH1 and CH3, as in the seventh period t7, since the shared resource 10 performs processing for the device 20-2, the request selection unit 170 sets the priority of the channel number CH1 or the channel number CH3. Do not select based on.

9周期目t9では、共有資源10は装置20−2についての処理を終了する。これにより、リクエスト選択部170は、チャネル番号CH1に対応する共有資源使用要求REQ1とチャネル番号CH3に対応する共有資源使用要求REQ3が競合していることを識別し、チャネル番号CH1とチャネル番号CH3のうち優先度の高いチャネル番号CH1を選択する。尚、9周期目t9の時点では、チャネル番号CH1とチャネル番号CH3が先頭ビットMSBに保持されているので、チャネル番号CH4は最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされず、最後列ビットLSBから3番目のビットに保持される。   In the ninth period t9, the shared resource 10 ends the process for the device 20-2. Thereby, the request selection unit 170 identifies that the shared resource use request REQ1 corresponding to the channel number CH1 and the shared resource use request REQ3 corresponding to the channel number CH3 are in conflict, and the channel number CH1 and the channel number CH3 are Among them, the channel number CH1 having a high priority is selected. At the time of the ninth period t9, since the channel number CH1 and the channel number CH3 are held in the first bit MSB, the channel number CH4 is not shifted from the third bit from the last column bit LSB to the first bit MSB, It is held in the third bit from the last column bit LSB.

10周期目t10では、リクエスト選択部170によって選択されたチャネル番号CH1がFIFOレジスタ135−1から削除されるとともに、10周期目t10では、装置20−2からの共有資源使用要求REQ2が新たに発生する。そして、チャネル番号CH1に対応する共有資源使用要求REQ1を発生した装置20−1に対し、リクエスト許可部180は共有資源使用許可ACK1を出力する。これにより、装置20−1は共有バス15を介した共有資源10の使用許可が与えられる。尚、チャネル番号CH3は、先頭ビットMSBに保持され、チャネル番号CH4は最後列ビットLSBから3番目のビットに保持される。   At the tenth cycle t10, the channel number CH1 selected by the request selection unit 170 is deleted from the FIFO register 135-1, and at the tenth cycle t10, a new shared resource use request REQ2 is generated from the device 20-2. To do. Then, the request permission unit 180 outputs a shared resource use permission ACK1 to the device 20-1 that has generated the shared resource use request REQ1 corresponding to the channel number CH1. As a result, the device 20-1 is given permission to use the shared resource 10 via the shared bus 15. The channel number CH3 is held in the first bit MSB, and the channel number CH4 is held in the third bit from the last column bit LSB.

11周期目t11では、共有資源10は装置20−1についての処理を行っているので、チャネル番号CH3は先頭ビットMSBに保持され、チャネル番号CH4は最後列ビットLSBから3番目のビットに保持されるとともに、共有資源使用要求REQ2に対応するチャネル番号CH2が、FIFOレジスタ135−2の最後列ビットLSBに格納される。   In the eleventh period t11, since the shared resource 10 performs processing for the device 20-1, the channel number CH3 is held in the first bit MSB, and the channel number CH4 is held in the third bit from the last column bit LSB. In addition, the channel number CH2 corresponding to the shared resource use request REQ2 is stored in the last column bit LSB of the FIFO register 135-2.

12周期目t12では、共有資源10は装置20−1についての処理を終了する。これにより、リクエスト選択部170は、先頭ビットMSBに格納されるチャネル番号CH3を選択する。   In the twelfth cycle t12, the shared resource 10 ends the process for the device 20-1. Thereby, the request selection unit 170 selects the channel number CH3 stored in the first bit MSB.

第1実施形態では、アービトレーション装置100は、複数の装置20−1〜20−nから競合した共有資源使用要求REQ1〜REQnを受付けた場合、優先度の判定を行うことなく、FIFOレジスタユニット130に登録を行う。即ち、アービトレーション装置100において、図7に示す従来のアービトレーション装置500とは異なり、競合した共有資源使用要求REQ1〜REQnをFIFOレジスタユニット130に登録する前に、優先度を判定しその結果に基づいてソーティング処理を行うためのハードウェア構成が不要となる。これにより、アービトレーション装置100を装置規模の増大化を抑えつつ構成することができる。   In the first embodiment, the arbitration device 100 receives the shared resource use requests REQ1 to REQn from a plurality of devices 20-1 to 20-n, and determines the priority without making a priority determination. Register. That is, in the arbitration device 100, unlike the conventional arbitration device 500 shown in FIG. 7, prior to registering the conflicting shared resource use requests REQ1 to REQn in the FIFO register unit 130, the priority is determined and based on the result. A hardware configuration for performing the sorting process becomes unnecessary. Thereby, the arbitration apparatus 100 can be configured while suppressing an increase in the scale of the apparatus.

また、第1実施形態では、競合した共有資源使用要求REQ1〜REQnの優先度判定は、リクエスト選択部170によってFIFOレジスタ135−1〜135−nの先頭ビットMSBに格納されたチャネル番号に対して、予め設定しておいた優先度に基づいて行われる。したがって、第1実施形態によれば共有資源使用要求REQ1〜REQnが競合した場合、それらの優先度の判定を好適に行うことができる。   In the first embodiment, the priority determination of the conflicting shared resource use requests REQ1 to REQn is performed on the channel number stored in the first bit MSB of the FIFO registers 135-1 to 135-n by the request selection unit 170. , Based on a preset priority. Therefore, according to the first embodiment, when the shared resource use requests REQ1 to REQn compete with each other, it is possible to suitably determine the priorities thereof.

<<<第2実施形態>>>
===アービトレーション装置の構成===
図3を用いて、本発明の第2実施形態に係るアービトレーション装置200の構成を説明する。尚、図1に示した本発明の第1実施形態に係るアービトレーション装置100と同じ構成のものについては同じ符号を付して説明を省略する。
<<< Second Embodiment >>
=== Configuration of Arbitration Device ===
The configuration of the arbitration apparatus 200 according to the second embodiment of the present invention will be described with reference to FIG. In addition, the same code | symbol is attached | subjected about the thing of the same structure as the arbitration apparatus 100 concerning 1st Embodiment of this invention shown in FIG. 1, and description is abbreviate | omitted.

アービトレーション装置200においては、アービトレーション装置100と異なり、空き状態監視部150が設けられる。空き状態監視部150は、FIFOレジスタユニット130の全ビット(N×Nビット)に“H”のデータが格納されない第1の空き状態(全ビットがオール“L”の状態)であるか否かを監視する。そして、第1の空き状態であることを識別した場合には、リクエスト登録部120に第1のEMPTY信号を出力する。   In the arbitration device 200, unlike the arbitration device 100, an empty state monitoring unit 150 is provided. The empty state monitoring unit 150 determines whether or not the first empty state (all bits are all “L”) in which “H” data is not stored in all the bits (N × N bits) of the FIFO register unit 130. To monitor. When the first empty state is identified, the first EMPTY signal is output to the request registration unit 120.

空き状態監視部150は、N個のFIFOレジスタ135−1〜135−nの全ビット(N×Nビット)の論理和を演算するOR素子152を設け、OR素子152の出力を第1のEMPTY信号とすることができる。尚、第1のEMPTY信号が“L”の場合、FIFOレジスタユニット130は第1の空き状態であることを表す。一方、第1のEMPTY信号が“H”の場合、FIFOレジスタユニット130の全ビットのうち少なくとも1ビットには“H”のデータが格納されており、FIFOレジスタユニット130は第1の空き状態ではないことを表す。   The empty state monitoring unit 150 includes an OR element 152 that calculates a logical sum of all bits (N × N bits) of the N FIFO registers 135-1 to 135-n, and outputs the OR element 152 to the first EMPTY. It can be a signal. When the first EMPTY signal is “L”, the FIFO register unit 130 is in the first empty state. On the other hand, when the first EMPTY signal is “H”, “H” data is stored in at least one bit of all the bits of the FIFO register unit 130, and the FIFO register unit 130 is in the first empty state. It means not.

第1実施形態において、リクエスト登録部120はリクエスト検出部110から出力されたチャネル番号CH1〜CHnを、FIFOレジスタ135−1〜135−nの最後列ビットLSBに格納するものである。しかし、FIFOレジスタユニット130が第1の空き状態の場合であっても、チャネル番号CH1〜CHnを最後列ビットLSBに格納してしまうと、共有資源使用要求REQ1〜REQnが許可されるまでに最後列ビットLSBから先頭ビットMSBへ転送するのに要する待ち時間が発生する。   In the first embodiment, the request registration unit 120 stores the channel numbers CH1 to CHn output from the request detection unit 110 in the last column bits LSB of the FIFO registers 135-1 to 135-n. However, even if the FIFO register unit 130 is in the first empty state, if the channel numbers CH1 to CHn are stored in the last column bit LSB, the last time until the shared resource use requests REQ1 to REQn are permitted. There is a waiting time required to transfer from the column bit LSB to the first bit MSB.

そこで、第2の実施形態におけるリクエスト登録部120は、空き状態監視部150から“L”の第1のEMPTY信号が入力された場合、即ち、第1の空き状態である場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、最後列ビットLSBではなく先頭ビットMSBに格納するためのスイッチ回路122−1〜122−nを設ける。   Therefore, the request registration unit 120 in the second embodiment receives the “L” first EMPTY signal from the availability monitoring unit 150, that is, when the request registration unit 120 is in the first availability state, the request detection unit 110. Are provided with switch circuits 122-1 to 122-n for storing the channel numbers CH1 to CHn output from the first bit MSB instead of the last column bit LSB.

スイッチ回路122−1〜122−nは、空き状態監視部150から“L”の第1のEMPTY信号が入力された場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを先頭ビットMSBに格納する。一方、空き状態監視部150から“H”の第1のEMPTY信号が入力された場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを最後列ビットLSBに格納する。   When the “L” first EMPTY signal is input from the empty state monitoring unit 150, the switch circuits 122-1 to 122-n use the channel numbers CH1 to CHn output from the request detection unit 110 as the first bits MSB. Store. On the other hand, when the first EMPTY signal of “H” is input from the empty state monitoring unit 150, the channel numbers CH1 to CHn output from the request detection unit 110 are stored in the last column bit LSB.

===アービトレーション装置の動作===
図4に示す具体例を用いて、アービトレーション装置200の動作を説明する。尚、図4に示す記号は、図2に示す記号と同じ内容を表すものであるため説明を省略する。以下では、図4に示す動作例の中で、空き状態監視部150の動作に係るものについて説明する。
=== Operation of Arbitration Device ===
The operation of the arbitration device 200 will be described using a specific example shown in FIG. The symbols shown in FIG. 4 represent the same contents as the symbols shown in FIG. In the following, the operation related to the operation of the empty state monitoring unit 150 in the operation example shown in FIG. 4 will be described.

1周期目t1では、装置20−2からの共有資源使用要求REQ2が発生する。このとき、FIFOレジスタユニット130は、全ビットに“H”のデータ(チャネル番号CH1〜CH4)が格納されておらず、第1の空き状態(全ビットがオール“L”)である。そこで、空き状態監視部150は、“L”の第1のEMPTY信号を出力する。これにより、リクエスト登録部120は、“L”の第1のEMPTY信号に基づいて、先頭ビットMSBの経路を選択する。   In the first cycle t1, a shared resource use request REQ2 is generated from the device 20-2. At this time, the FIFO register unit 130 does not store “H” data (channel numbers CH1 to CH4) in all bits, and is in a first empty state (all bits are all “L”). Therefore, the empty state monitoring unit 150 outputs a first EMPTY signal of “L”. As a result, the request registration unit 120 selects the path of the first bit MSB based on the first EMPTY signal of “L”.

2周期目t2では、1周期目t1に発生した共有資源使用要求REQ2に対応するチャネル番号CH2が、“L”の第1のEMPTY信号に基づいて、FIFOレジスタ135−2の先頭ビットMSBに格納されるとともに、装置20−1、20−3からの共有資源使用要求REQ1、REQ3からの共有資源使用要求が新たに発生する。即ち、チャネル番号CH2は、FIFOレジスタ135−2の先頭ビットMSBに格納されており、リクエスト選択部170によって選択される。このとき、FIFOレジスタ135は第1の空き状態ではなくなるので、空き状態監視部150は“H”の第1のEMPTY信号を出力する。   In the second period t2, the channel number CH2 corresponding to the shared resource use request REQ2 generated in the first period t1 is stored in the first bit MSB of the FIFO register 135-2 based on the first EMPTY signal of "L". At the same time, shared resource use requests REQ1 and REQ3 from the devices 20-1 and 20-3 are newly generated. That is, the channel number CH2 is stored in the first bit MSB of the FIFO register 135-2 and is selected by the request selection unit 170. At this time, since the FIFO register 135 is not in the first empty state, the empty state monitoring unit 150 outputs the first EMPTY signal of “H”.

3周期目t3では、リクエスト登録部120は、“H”の第1のEMPTY信号に基づいて、2周期目t2で発生した共有資源使用要求REQ1、REQ3に対応するチャネル番号CH1、CH3はFIFOレジスタ135−1、135−3の最後列ビットLSBに格納される。   In the third period t3, the request registering unit 120 sets the channel numbers CH1 and CH3 corresponding to the shared resource use requests REQ1 and REQ3 generated in the second period t2 based on the first EMPTY signal of “H” as FIFO registers. Stored in the last column bit LSB of 135-1, 135-3.

また、3周期目t3では、リクエスト選択部170によって選択されたチャネル番号CH2がFIFOレジスタ135−2から削除される。そして、チャネル番号CH2に対応する共有資源使用要求REQ1を発生した装置20−2に対し、リクエスト許可部180は共有資源使用許可ACK2を出力する。これにより、装置20−2は共有バス15を介した共有資源10の使用許可が与えられる。   In the third period t3, the channel number CH2 selected by the request selection unit 170 is deleted from the FIFO register 135-2. Then, the request permission unit 180 outputs a shared resource use permission ACK2 to the device 20-2 that has generated the shared resource use request REQ1 corresponding to the channel number CH2. As a result, the device 20-2 is given permission to use the shared resource 10 via the shared bus 15.

4周期目t4以降では、5周期目t5において装置20−4から発生した共有資源使用要求REQ4は、“H”の第1のEMPTY信号に基づいて、つぎの6周期目t7においてFIFOレジスタ135−4の最後列ビットLSBに格納される。また、10周期目t10において装置20−2から発生した共有資源使用要求REQ2は、“H”の第1のEMPTY信号に基づいて、つぎの11周期目t11においてFIFOレジスタ135−2の最後列ビットLSBに格納される。その他は、第1実施形態におけるアービトレーション装置100と基本的には同様の動作である。   After the fourth cycle t4, the shared resource use request REQ4 generated from the device 20-4 in the fifth cycle t5 is based on the first EMPTY signal of “H”, and in the next sixth cycle t7, the FIFO register 135- 4 in the last column bit LSB. The shared resource use request REQ2 generated from the device 20-2 in the tenth cycle t10 is based on the first EMPTY signal of “H”, and the last column bit of the FIFO register 135-2 in the next eleventh cycle t11. Stored in LSB. Other operations are basically the same as those of the arbitration device 100 according to the first embodiment.

第2実施形態では、アービトレーション装置200は、FIFOレジスタユニット130が第1の空き状態の場合に、チャネル番号CH1〜CHnを、最後列ビットLSBではなく先頭ビットMSBに格納する。この結果、アービトレーション装置200は、無駄な待ち時間を与えることなく、FIFOレジスタユニット130の先頭ビットMSBに格納されたチャネル番号CH1〜CHnを選択できる。言い換えると、アービトレーション装置200は、第1の空き状態の場合に、アービトレーション装置100よりも速く共有資源使用許可ACK1〜ACKnを出力できるようになる。   In the second embodiment, the arbitration device 200 stores the channel numbers CH1 to CHn in the first bit MSB instead of the last column bit LSB when the FIFO register unit 130 is in the first empty state. As a result, the arbitration device 200 can select the channel numbers CH1 to CHn stored in the first bit MSB of the FIFO register unit 130 without giving a wasteful waiting time. In other words, the arbitration device 200 can output the shared resource use permissions ACK1 to ACKn faster than the arbitration device 100 in the first empty state.

<<<第3実施形態>>>
===アービトレーション装置の構成===
図5を用いて、本発明の第3実施形態に係るアービトレーション装置300の構成を説明する。尚、図3に示したアービトレーション装置200と同じ構成のものについては同じ符号を付して説明を省略する。
<<< Third Embodiment >>>
=== Configuration of Arbitration Device ===
The configuration of the arbitration device 300 according to the third embodiment of the present invention will be described with reference to FIG. 3 having the same configuration as that of the arbitration device 200 shown in FIG.

上記の本発明の第1実施形態並びに第2実施形態では、N個の装置20−1〜20−nは、共有バス15を介した共有資源10の使用権をシステムクロックCLKの2周期以上占有する場合として説明した。これに対し、本発明の第3実施形態では、N個の装置20−1〜20−nが、共有バス15を介した共有資源10の使用権をシステムクロックCLKの1周期で開放する場合として説明する。   In the first and second embodiments of the present invention described above, the N devices 20-1 to 20-n occupy the right to use the shared resource 10 via the shared bus 15 for two or more periods of the system clock CLK. Explained as a case. On the other hand, in the third embodiment of the present invention, N devices 20-1 to 20-n release the right to use the shared resource 10 via the shared bus 15 in one cycle of the system clock CLK. explain.

アービトレーション装置300は、空き状態監視部150からリクエスト登録部120に対し、第1のEMPTY信号に加えて第2のEMPTY信号を出力する。   The arbitration device 300 outputs a second EMPTY signal in addition to the first EMPTY signal from the empty state monitoring unit 150 to the request registration unit 120.

第2のEMPTY信号は、FIFOレジスタ135−1〜135−nそれぞれの先頭ビットMSBのうちいずれかに“H”のデータが格納され、且つ、FIFOレジスタ135−1〜135−nそれぞれの先頭ビットMSB以外のN×(N−1)ビットに“H”のデータが格納されていない第2の空き状態である場合を示すステータス信号である。   In the second EMPTY signal, “H” data is stored in any one of the first bits MSB of the FIFO registers 135-1 to 135-n, and the first bits of the FIFO registers 135-1 to 135-n. This is a status signal indicating a second empty state in which “H” data is not stored in N × (N−1) bits other than the MSB.

リクエスト登録部120は、空き状態監視部150から第2のEMPTY信号が出力された場合、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、FIFOレジスタ135−1〜135−nの先頭ビットMSBから2番目のビットに格納する。これにより、新たに受け付けた共有資源使用要求REQ1〜REQnに対して、無駄な待ち時間を生じさせることなく許可を与えることができる。   When the second EMPTY signal is output from the empty state monitoring unit 150, the request registration unit 120 uses the channel numbers CH1 to CHn output from the request detection unit 110 as the first bits of the FIFO registers 135-1 to 135-n. Store in the second bit from the MSB. Thereby, permission can be given to the newly received shared resource use requests REQ1 to REQn without causing unnecessary waiting time.

以上のような仕組みを実現すべく、空き状態監視部150は、FIFOレジスタ135−1〜135−nの先頭ビットMSB1〜MSBn以外の全ビットの論理和を演算するNOR素子154と、NOR素子154の出力とOR素子152の出力との論理積を演算するNAND素子158を有する。AND素子158の出力が第2のEMPTY信号となり、第2のEMPTY信号が“L”の場合、FIFOレジスタユニット130は第2の空き状態であることを示す。   In order to realize the mechanism as described above, the empty state monitoring unit 150 includes a NOR element 154 that calculates a logical sum of all bits other than the first bits MSB1 to MSBn of the FIFO registers 135-1 to 135-n, and a NOR element 154. And an NAND element 158 for calculating the logical product of the output of the OR element 152. When the output of the AND element 158 becomes the second EMPTY signal and the second EMPTY signal is “L”, it indicates that the FIFO register unit 130 is in the second empty state.

また、リクエスト登録部120は、空き状態監視部150から入力された第1のEMPTY信号及び第2のEMPTY信号に基づいて、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを、先頭ビットMSB、先頭ビットMSBから2番目のビット、若しくは、最後列ビットLSBのいずれかに格納するためのスイッチ回路124−1〜124−nを有する。   Further, the request registration unit 120 uses the channel numbers CH1 to CHn output from the request detection unit 110 based on the first EMPTY signal and the second EMPTY signal input from the empty state monitoring unit 150 as the first bit MSB. , Switch circuits 124-1 to 124-n for storing in the second bit from the first bit MSB or the last bit LSB.

具体的には、空き状態監視部150から“L”の第1のEMPTY信号が入力された場合、スイッチ回路124−1〜124−nは、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを先頭ビットMSBに格納する経路を選択する。   Specifically, when the “L” first EMPTY signal is input from the empty state monitoring unit 150, the switch circuits 124-1 to 124-n are the channel numbers CH 1 to CHn output from the request detection unit 110. Is selected in the first bit MSB.

空き状態監視部150から“H”の第1のEMPTY信号が入力され、且つ、“H”の第2のEMPTY信号が入力された場合、スイッチ回路124−1〜124nは、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを最後列ビットLSBに格納する経路を選択する。   When the “H” first EMPTY signal is input from the empty state monitoring unit 150 and the “H” second EMPTY signal is input, the switch circuits 124-1 to 124n are switched from the request detection unit 110. A path for storing the output channel numbers CH1 to CHn in the last column bit LSB is selected.

空き状態監視部150から“H”の第1のEMPTY信号が入力され、且つ、“L”の第2のEMPTY信号が入力された場合、スイッチ回路124−1〜124−nは、リクエスト検出部110から出力されたチャネル番号CH1〜CHnを先頭ビットMSBから2番目のビットに格納する経路を選択する。   When the “H” first EMPTY signal is input from the empty state monitoring unit 150 and the “L” second EMPTY signal is input, the switch circuits 124-1 to 124-n The path for storing the channel numbers CH1 to CHn output from 110 in the second bit from the first bit MSB is selected.

===アービトレーション装置の動作の具体例===
図6に示す具体例を用いて、アービトレーション装置300の動作を説明する。尚、図6に示す記号は、図4に示す記号と同じ内容を表すものであるため説明を省略する。
=== Specific Example of Arbitration Device Operation ===
The operation of the arbitration device 300 will be described using a specific example shown in FIG. The symbols shown in FIG. 6 represent the same contents as the symbols shown in FIG.

図6に示すアービトレーション装置300の動作を説明する。
1周期目t1では、装置20−2からの共有資源使用要求REQ2が発生する。このとき、FIFOレジスタユニット130の全ビットに“H”のデータ(チャネル番号CH1〜CH4)が格納されていない。従って、FIFOレジスタユニット130は、第1の空き状態(全ビットがオール“L”)であるが、第2の空き状態ではない場合である。そこで、空き状態監視部150は、“L”の第1のEMPTY信号並びに“H”の第2のEMPTY信号を出力する。これにより、リクエスト登録部120は、先頭ビットMSBの経路を選択する。
The operation of the arbitration device 300 shown in FIG. 6 will be described.
In the first cycle t1, a shared resource use request REQ2 is generated from the device 20-2. At this time, “H” data (channel numbers CH1 to CH4) is not stored in all the bits of the FIFO register unit 130. Therefore, the FIFO register unit 130 is in the first empty state (all bits are all “L”), but not in the second empty state. Therefore, the vacant state monitoring unit 150 outputs the “L” first EMPTY signal and the “H” second EMPTY signal. As a result, the request registration unit 120 selects the path of the first bit MSB.

2周期目t2では、装置20−1からの共有資源使用要求REQ1からの共有資源使用要求が新たに発生すると共に、1周期目t1において発生した共有資源使用要求REQ2に対応するチャネル番号CH2が、空き状態監視部150から出力される“L”の第1のEMPTY信号及び“H”の第2のEMPTY信号に基づいて、FIFOレジスタ135−2の先頭ビットMSBに格納される。即ち、チャネル番号CH2は、FIFOレジスタ135−2の先頭ビットMSBに格納されており、リクエスト選択部170によって選択される。尚、FIFOレジスタ135−1、135−2、135−3、135−4の先頭ビットMSB以外の全ビットには“H”のデータが格納されていない。従って、2周期目t2では、FIFOレジスタユニット130は第1の空き状態ではないが第2の空き状態となり、空き状態監視部150は“H”の第1のEMPTY信号及び“L”の第2のEMPTY信号を出力する。   In the second cycle t2, a new shared resource use request from the shared resource use request REQ1 from the device 20-1 is newly generated, and the channel number CH2 corresponding to the shared resource use request REQ2 generated in the first cycle t1 is Based on the “L” first EMPTY signal and the “H” second EMPTY signal output from the empty state monitoring unit 150, the first bit MSB of the FIFO register 135-2 is stored. That is, the channel number CH2 is stored in the first bit MSB of the FIFO register 135-2 and is selected by the request selection unit 170. Note that “H” data is not stored in all bits other than the first bit MSB of the FIFO registers 135-1, 135-2, 135-3, and 135-4. Accordingly, in the second period t2, the FIFO register unit 130 is not in the first empty state but is in the second empty state, and the empty state monitoring unit 150 sets the first EMPTY signal of “H” and the second of “L”. EMPTY signal is output.

3周期目t3では、2周期目t2において発生した共有資源使用要求REQ1に対応するチャネル番号CH1は、空き状態監視部150から出力される“H”の第1のEMPTY信号及び“L”の第2のEMPTY信号に基づいて、FIFOレジスタ135−1の2番目のビットに格納される。従って、3周期目t3では、FIFOレジスタユニット130は第1の空き状態でもなく第2の空き状態でもなくなり、空き状態監視部150は“H”の第1のEMPTY信号及び“H”の第2のEMPTY信号を出力する。   In the third period t3, the channel number CH1 corresponding to the shared resource use request REQ1 generated in the second period t2 is the first “H” EMPTY signal output from the empty state monitoring unit 150 and the “L” number. 2 is stored in the second bit of the FIFO register 135-1 based on the EMPTY signal of 2. Accordingly, in the third period t3, the FIFO register unit 130 is neither in the first empty state nor in the second empty state, and the empty state monitoring unit 150 detects the first EMPTY signal of “H” and the second of “H”. EMPTY signal is output.

また、3周期目t3では、リクエスト選択部170によって選択されたチャネル番号CH2がFIFOレジスタ135−2から削除される。そして、チャネル番号CH2に対応する共有資源使用要求REQ1を発生した装置20−2に対し、リクエスト許可部180は共有資源使用許可ACK2を出力する。これにより、装置20−2は共有バス15を介した共有資源10の使用許可が与えられる。   In the third period t3, the channel number CH2 selected by the request selection unit 170 is deleted from the FIFO register 135-2. Then, the request permission unit 180 outputs a shared resource use permission ACK2 to the device 20-2 that has generated the shared resource use request REQ1 corresponding to the channel number CH2. As a result, the device 20-2 is given permission to use the shared resource 10 via the shared bus 15.

4周期目t4では、チャネル番号CH1がFIFOレジスタ135−1の最後列ビットLSBから3番目のビットから先頭ビットMSBにシフトされ、リクエスト選択部170によって選択される。このとき、共有資源10は装置20−2についての処理を終了する。   In the fourth period t4, the channel number CH1 is shifted from the third bit to the first bit MSB from the last column bit LSB of the FIFO register 135-1, and is selected by the request selection unit 170. At this time, the shared resource 10 ends the process for the device 20-2.

5周期目t5では、チャネル番号CH1がFIFOレジスタ135−1から削除され、共有資源使用要求REQ1を発生した装置20−1に対し共有資源使用許可ACK1が出力される。これにより、共有資源10は装置20−1についての処理を開始する。   In the fifth period t5, the channel number CH1 is deleted from the FIFO register 135-1, and the shared resource use permission ACK1 is output to the device 20-1 that has generated the shared resource use request REQ1. As a result, the shared resource 10 starts processing for the device 20-1.

第3実施形態では、アービトレーション装置300の場合には、共有資源使用要求REQ1がFIFOレジスタ135−1に登録されてから許可を与えられるまでに2周期を要すため、装置20−1についての処理を速やかに開始することができる。   In the third embodiment, in the case of the arbitration device 300, since two cycles are required from when the shared resource use request REQ1 is registered in the FIFO register 135-1 until permission is granted, the processing for the device 20-1 is performed. Can be started immediately.

以上、本発明の実施形態について説明したが、前述した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るとともに、その等価物も含まれるものである。   As mentioned above, although embodiment of this invention was described, embodiment mentioned above is for making an understanding of this invention easy, and is not for limiting and interpreting this invention. The present invention can be changed / improved without departing from the gist thereof, and equivalents thereof are also included.

本発明の第1実施形態に係るアービトレーション装置の構成を示した図である。It is the figure which showed the structure of the arbitration apparatus which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るアービトレーション装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of the arbitration apparatus which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係るアービトレーション装置の構成を説明するための図である。It is a figure for demonstrating the structure of the arbitration apparatus which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るアービトレーション装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of the arbitration apparatus which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係るアービトレーション装置の構成を説明するための図である。It is a figure for demonstrating the structure of the arbitration apparatus which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係るアービトレーション装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of the arbitration apparatus which concerns on 3rd Embodiment of this invention. 従来のアービトレーション装置の構成を示した図である。It is the figure which showed the structure of the conventional arbitration apparatus.

符号の説明Explanation of symbols

10 共有資源
15 共有バス
20−1、20−2、20−3、20−4、20−n 装置
110 リクエスト検出部
120 リクエスト登録部
122a、124a スイッチ回路
130 FIFOレジスタユニット
135−1、135−2、135−3、135−4、135−n FIFOレジスタ
140 シフト制御部
150 状態監視部
152、154 OR素子
156 NOR素子
158 AND素子
160 優先度設定部
170 リクエスト選択部
180 リクエスト許可部
100、200、300、500 アービトレーション装置
510 リクエスト検出部
520 アクセス要求調整部
525 優先度設定レジスタ
530 行列レジスタ
540 バス・アクノリッジセレクト部
5201 リクエスト競合調停部
5202 優先度選択部
10 shared resource 15 shared bus 20-1, 20-2, 20-3, 20-4, 20-n device 110 request detection unit 120 request registration unit 122a, 124a switch circuit 130 FIFO register unit 135-1, 135-2 , 135-3, 135-4, 135-n FIFO register 140 shift control unit 150 state monitoring unit 152, 154 OR element 156 NOR element 158 AND element 160 priority setting unit 170 request selection unit 180 request permission unit 100, 200, 300, 500 Arbitration device 510 Request detection unit 520 Access request adjustment unit 525 Priority setting register 530 Matrix register 540 Bus acknowledge selection unit 5201 Request contention arbitration unit 5202 Priority selection unit

Claims (3)

共有資源と前記共有資源に接続された複数の信号処理装置からの共有資源使用要求を調停するアービトレーション装置において、
前記複数の信号処理装置と一対一に対応し、前記共有資源使用要求を登録し格納する複数のシフトレジスタと、
前記複数のシフトレジスタの各先頭ビットのいずれか一つに登録された前記共有資源使用要求を選択するリクエスト選択部と、
前記リクエスト選択部により選択された前記共有資源使用要求を出した前記信号処理装置に対し前記共有資源の使用許可を与えるリクエスト許可部と、
を有することを特徴とするアービトレーション装置。
In an arbitration device for arbitrating shared resource use requests from a plurality of signal processing devices connected to the shared resource,
A plurality of shift registers corresponding to the plurality of signal processing devices on a one-to-one basis and registering and storing the shared resource use request;
A request selection unit that selects the shared resource use request registered in any one of the first bits of the plurality of shift registers;
A request permission unit that gives permission to use the shared resource to the signal processing device that has issued the shared resource use request selected by the request selection unit;
An arbitration device comprising:
請求項1に記載のアービトレーション装置において、
前記複数の信号処理装置からの前記共有資源使用要求それぞれに対して優先度を設定した優先度設定部を有しており、
前記リクエスト選択部は、前記複数のシフトレジスタの各先頭ビットに複数の前記共有資源使用要求が登録されたとき、前記優先度設定部に設定された優先度に基づいて前記各先頭ビットに登録された前記複数の共有資源使用要求のうちの1つに対して前記共有資源の使用許可を与えること、
を特徴とするアービトレーション装置。
The arbitration device according to claim 1, wherein
A priority setting unit that sets a priority for each of the shared resource use requests from the plurality of signal processing devices;
The request selection unit is registered in the first bits based on the priority set in the priority setting unit when a plurality of shared resource use requests are registered in the first bits of the plurality of shift registers. Granting permission to use the shared resource in response to one of the plurality of shared resource usage requests;
Arbitration device characterized by.
請求項1に記載のアービトレーション装置において、
前記複数のシフトレジスタの各ビットに前記共有資源使用要求が登録されているか否かを監視する空き状態監視部と、
前記複数の信号処理装置からの前記共有資源使用要求を受け付けて、当該共有資源使用要求を出した前記信号処理装置に対応する前記シフトレジスタに当該共有資源使用要求を登録する共有資源使用要求登録部と、
を有し、
前記共有資源使用要求登録部は、前記空き状態監視部の監視結果に基づいて、前記共有資源使用要求を前記シフトレジスタの先頭ビットまたは前記シフトレジスタの先頭ビット以外のビットに選択的に格納すること、
を特徴とするアービトレーション装置。
The arbitration device according to claim 1, wherein
A free state monitoring unit that monitors whether or not the shared resource use request is registered in each bit of the plurality of shift registers;
A shared resource usage request registration unit that receives the shared resource usage request from the plurality of signal processing devices and registers the shared resource usage request in the shift register corresponding to the signal processing device that has issued the shared resource usage request. When,
Have
The shared resource use request registration unit selectively stores the shared resource use request in a first bit of the shift register or a bit other than the first bit of the shift register based on the monitoring result of the free state monitoring unit. ,
Arbitration device characterized by.
JP2007080046A 2007-03-26 2007-03-26 Arbitration device Expired - Fee Related JP4958596B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007080046A JP4958596B2 (en) 2007-03-26 2007-03-26 Arbitration device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007080046A JP4958596B2 (en) 2007-03-26 2007-03-26 Arbitration device

Publications (2)

Publication Number Publication Date
JP2008242651A JP2008242651A (en) 2008-10-09
JP4958596B2 true JP4958596B2 (en) 2012-06-20

Family

ID=39913951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007080046A Expired - Fee Related JP4958596B2 (en) 2007-03-26 2007-03-26 Arbitration device

Country Status (1)

Country Link
JP (1) JP4958596B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367498B2 (en) * 2011-09-14 2016-06-14 Panasonic Intellectual Property Management Co., Ltd. Resource request arbitration device, resource request arbitration system, resource request arbitration method, integrated circuit, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63180239A (en) * 1987-01-22 1988-07-25 Matsushita Electric Ind Co Ltd Access competition arbitration circuit
JPH0435540A (en) * 1990-05-31 1992-02-06 Fujitsu Ltd Bus arbitrating device
JP2000035943A (en) * 1998-07-21 2000-02-02 Nec Corp Common bus arbitration device and storage medium storing program
JP2001067308A (en) * 1999-08-27 2001-03-16 Nec Software Shikoku Ltd Bus arbitration circuit
JP2004302633A (en) * 2003-03-28 2004-10-28 Digital Electronics Corp Bus access controller
JP2005316866A (en) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp Bus device

Also Published As

Publication number Publication date
JP2008242651A (en) 2008-10-09

Similar Documents

Publication Publication Date Title
US10838883B2 (en) System and method of accelerating arbitration by approximating relative ages
US7734856B2 (en) Method for operating a plurality of arbiters and arbiter system
EP1645967B1 (en) Multi-channel DMA with shared FIFO buffer
US8145815B2 (en) Data processing system
EP3352090A1 (en) Multi-channel dma system with command queue structure supporting three dma modes
EP1645968B1 (en) Multi-threaded DMA
US20100325327A1 (en) Programmable arbitration device and method therefor
JP4499008B2 (en) DMA transfer system
CN105988968B (en) Semiconductor device with a plurality of semiconductor chips
US7395360B1 (en) Programmable chip bus arbitration logic
US7814253B2 (en) Resource arbiter
US8140728B1 (en) Data packet arbitration system
US7509482B2 (en) Orderly processing ready entries from non-sequentially stored entries using arrival order matrix reordered upon removal of processed entries
JP2011232917A (en) Semiconductor integrated circuit and request control method
JP4958596B2 (en) Arbitration device
JP2004038967A (en) Method and device which can control use frequency of bus
JP5677007B2 (en) Bus arbitration device and bus arbitration method
US6249855B1 (en) Arbiter system for central processing unit having dual dominoed encoders for four instruction issue per machine cycle
KR100973419B1 (en) Method and apparatus for arbitrating a bus
WO1999059048A9 (en) Transpose table biased arbitration scheme
JP6036806B2 (en) Bus access arbitration circuit and bus access arbitration method
JP2006251875A (en) Bus arbitration device and bus arbitration method
WO2006042108A1 (en) Multi-threaded direct memory access
JP2008059047A (en) Information processing system and control method therefor
US20050060459A1 (en) Methods, circuits, and computer program products for variable bus arbitration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100225

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111226

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: 20120228

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: 20120319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees