JP4955205B2 - Arbitration device and arbitration method - Google Patents
Arbitration device and arbitration method Download PDFInfo
- Publication number
- JP4955205B2 JP4955205B2 JP2004320305A JP2004320305A JP4955205B2 JP 4955205 B2 JP4955205 B2 JP 4955205B2 JP 2004320305 A JP2004320305 A JP 2004320305A JP 2004320305 A JP2004320305 A JP 2004320305A JP 4955205 B2 JP4955205 B2 JP 4955205B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- waiting time
- unit
- value
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
本発明は、調停装置及び調停方法に関するものである。 The present invention relates to an arbitration device and an arbitration method.
複数のプロセッサ(例えば、CPU(Central Processing Unit))が、競合リソース(例えば、データフロー制御回路や共有メモリなど)へ独立してアクセスを行うシステムは、ラウンドロビン法により調停を行うのが一般的である(例えば、特許文献1)。 In a system in which a plurality of processors (for example, CPU (Central Processing Unit)) independently access competing resources (for example, a data flow control circuit and a shared memory), arbitration is generally performed by a round robin method. (For example, Patent Document 1).
ラウンドロビン法の特徴は以下である。
(1)均等に調停を行う。
(2)ある要求動作終了から次の要求受理までの時間間隔が常に一定である。
The features of the round robin method are as follows.
(1) Arbitrate equally.
(2) The time interval from the end of a certain request operation to the reception of the next request is always constant.
ラウンドロビン法を用いた調停装置の動作例を図7に示す。現在4つのプロセッサA、B、C、Dが1つのリソースに対してリクエスト(要求)を出力可能であり、{プロセッサD>プロセッサC>プロセッサB>プロセッサA}となるようにそれぞれのプロセッサに1から4までの優先順位が付けられているとする。このうち優先順位2のプロセッサCと優先順位3のプロセッサBがリクエストを出力している場合について説明する。
FIG. 7 shows an operation example of the arbitration device using the round robin method. Currently, four processors A, B, C, and D can output requests (requests) to one resource, and each processor has 1 so that {processor D> processor C> processor B> processor A}. Priority 4 is assigned. Of these, the case where the processor C with
まず、上記調停装置が各プロセッサの優先順位を取得し(S701)、優先順位1のプロセッサDから順番に、リクエストが出力されているかどうかを確認する。現在優先順位1であるプロセッサDはリクエストを出力しておらず、優先順位2のプロセッサCがリクエストを出力しているため、プロセッサCからのリクエストが受理され(S703)、実行される(S706)。その後、以下のように優先順位が更新され(S707)、各プロセッサの優先順位は{プロセッサD>プロセッサB>プロセッサA>プロセッサC}となる。
(1)リクエストが受理されたプロセッサより優先順位が高いプロセッサの優先順位は変更しない。
(2)リクエストが受理されたプロセッサの優先順位は最下位に変更する。
(3)リクエストが受理されたプロセッサより優先順位が低いプロセッサの優先順位はそれぞれ1つずつ上位に変更する。
(1) The priority of a processor having a higher priority than the processor that has accepted the request is not changed.
(2) The priority of the processor that has accepted the request is changed to the lowest order.
(3) The priorities of the processors having lower priorities than the processor from which the request has been accepted are each changed to a higher priority.
上記のようなシステムでは、競合リソースに対して複数のリクエストが混在し、複雑な制御を執るため、十分な論理検証が必要となる。従来は、競合リソースの論理検証を行う一般的な手法として、実際のシステムと同様の試験環境を擬似的に構築し、シミュレーションを行っていたため、競合リソースへのリクエスト発行動作は図5(a)に示す単純な動作しか期待できなかった。 In the system as described above, a plurality of requests are mixed for competing resources, and complicated control is performed. Therefore, sufficient logic verification is required. Conventionally, as a general method for performing logical verification of competing resources, a test environment similar to that of an actual system has been simulated and simulated, so the request issuing operation for competing resources is shown in FIG. I could only expect the simple behavior shown in.
しかしながら競合リソースの論理検証を行う場合、リクエスト発行動作には下記が要求される。
(1)リクエスト間隔を調整すること。
(2)受理されるリクエストの順番を入れ替えること。
However, when performing logical verification of competing resources, the following is required for the request issue operation.
(1) Adjust the request interval.
(2) Change the order of received requests.
従来のラウンドロビン法による実装では、図5(b)に示すような、競合リソースの論理検証を行う試験に求められる任意のアクセスを発生させることが不可能であり、不十分な試験しか行うことができない。 In the implementation by the conventional round robin method, as shown in FIG. 5B, it is impossible to generate an arbitrary access required for a test for performing logic verification of competing resources, and only an insufficient test is performed. I can't.
本発明は、競合リソースへの複雑な要求の実行を、任意にかつ確実に発生可能とする論理検証環境を構築することを目的とする。 An object of the present invention is to construct a logic verification environment that can arbitrarily and reliably generate a complicated request for a competing resource.
本発明の調停装置は、
共通のリソースにアクセスする複数の演算装置が前記リソースへのアクセスを要求するリクエストを調停する調停装置において、
前記演算装置を選択し、選択した演算装置からのリクエストを受理し、実行するリクエスト制御部と、
前記リクエスト制御部がリクエストを受理するまでの前記演算装置それぞれの待ち時間を制御する待ち時間制御部とを備え、
前記リクエスト制御部は、
リクエストを受理する際の前記演算装置それぞれの優先順位を格納する優先順位格納部と、
前記優先順位格納部に格納された優先順位を取得する優先順位取得部と、
前記優先順位取得部が取得した優先順位と前記待ち時間制御部が制御した待ち時間とに基づいて前記演算装置を選択し、選択した演算装置のリクエストを受理するリクエスト受理部と、
前記リクエスト受理部が受理したリクエストを実行するリクエスト実行部とを備えることを特徴とする。
The arbitration device of the present invention
In an arbitration device that arbitrates a request for requesting access to the resource by a plurality of arithmetic devices that access a common resource,
A request control unit that selects the arithmetic device, receives a request from the selected arithmetic device, and executes the request;
A waiting time control unit that controls the waiting time of each of the computing devices until the request control unit accepts the request;
The request control unit
A priority storage unit for storing the priority of each of the arithmetic devices when receiving a request;
A priority order acquisition unit for acquiring the priority order stored in the priority order storage unit;
A request receiving unit that selects the computing device based on the priority order acquired by the priority order obtaining unit and the waiting time controlled by the waiting time control unit, and receives a request of the selected computing device;
A request execution unit that executes the request received by the request reception unit.
本発明により、競合リソースへの複雑な要求の実行を、任意にかつ確実に発生可能とする論理検証環境を構築することが可能となる。 According to the present invention, it is possible to construct a logic verification environment that can arbitrarily and reliably execute a complicated request for a competing resource.
以下、本発明の実施の形態について、図を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本実施の形態に係る調停装置1を備えたシステムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a system including an
複数のリクエスト出力部2が競合リソース部3へ独立してアクセスを行うシステムにおいて、全てのリクエスト出力部2は調停装置1を経由して競合リソース部3へアクセスする。
In a system in which a plurality of
図1において、競合リソース部3は複数のリクエストが競合するリソース(例えば、データフロー制御回路や共有メモリなど)からなるモジュール、リクエスト出力部2のA〜Dは互いに独立して競合リソース部3へのリクエストを出力するモジュール(例えば、CPU)、調停装置1はリクエスト出力部2から競合リソース部3への多数の、そして多くの場合互いに独立して発生するリクエスト同士を調停するモジュールである。調停装置1は論理回路又は論理回路上のプロセッサ、メモリ、メモリに記憶されたファームウェア等の組合せで構成される。調停装置1の内部において、以下で「〜格納部」と説明するものは、レジスタ、揮発性メモリ、不揮発性メモリ等によって構成される。
In FIG. 1, the competing
本実施の形態において、競合リソース部3への次トランザクション実行までの待ち時間(動作停止時間)を格納する動作停止時間格納部113とリクエスト受理復帰までの待ち時間(順序制御時間)を格納する順序制御時間格納部112は、例えば図2に示すような制御テーブル111として揮発性メモリに実装される。制御テーブル111は、競合リソース部3への複雑なリクエスト動作を任意に、かつ確実に発生するためのタイミング情報テーブルであり、動作停止時間t_waitと、順序制御時間r_waitの2つの要素を1エントリとし、pMAXエントリで構成される。
In the present embodiment, an operation stop
動作停止時間設定部115はt_waitを設定し、順序制御時間設定部114はr_waitを設定する。制御テーブル111を設定するタイミングは、調停装置1の動作中でもよいし、調停装置1の動作開始前でもよい。調停装置1の動作開始前にt_wait及びr_waitが予め設定されている場合、動作停止時間設定部115と順序制御時間設定部114を省いた構成をとることも可能である。t_wait及びr_waitは、例えばクロックのサイクル数として設定される。
The operation stop
動作停止時間取得部110と順序制御時間取得部109はテーブルポインタpを保持する。テーブルポインタpは、制御テーブル111のエントリを指定するポインタで、例えば動作停止時間取得部110と順序制御時間取得部109が共有するレジスタに格納される。動作停止時間取得部110はテーブルポインタpを参照して、制御テーブル111からt_waitを取得する。また、順序制御時間取得部109はテーブルポインタpを参照して、制御テーブル111からr_waitを取得する。
The operation stop
調停装置1において、リクエストの調停動作を行うリクエスト制御部120は、優先順位取得部101、優先順位格納部102、リクエスト受理部104、リクエスト実行部105、待ち時間取得部106、待ち時間格納部107から構成される。
In the
待ち時間制御部108は、動作停止時間取得部110から提供されるt_waitを用いてリクエスト制御部120の動作を停止したり、順序制御時間取得部109から提供されるr_waitを用いて、待ち時間格納部107に格納された待ち時間を設定したりする。
The waiting
リクエスト制御部120において、待ち時間格納部107は、各リクエスト出力部2の待ち時間のカウンタを保持する。
In the request control unit 120, the waiting
優先順位取得部101は、優先順位格納部102が保持する各リクエスト出力部2の優先順位の設定値を取得する。また、待ち時間取得部106は、待ち時間格納部107から待ち時間を取得する。リクエスト受理部104は、この優先順位と待ち時間により、次にどのリクエスト出力部2からのリクエストを受理するかを決定し、そのリクエストを受理する。リクエスト受理部104によって受理されたリクエストは、リクエスト実行部105により実行される。
The priority
リクエストが実行されると、リクエスト出力部2は競合リソース部3にアクセスし、競合リソース部3を利用した処理を行う。リクエスト実行部105は、リクエストの実行後、優先順位格納部102が保持する各リクエスト出力部2の優先順位の設定値を更新する。
When the request is executed, the
図3は、リクエスト制御部120の構成例を示すブロック図である。 FIG. 3 is a block diagram illustrating a configuration example of the request control unit 120.
それぞれのリクエスト出力部2から出力されるリクエスト信号は、3状態ゲート116を通して、組合せ回路117に送信される。また、待ち時間制御部108から出力されるt_wait及びr_waitは、t_waitが組合せ回路117に、r_waitが待ちカウンタ118に送信される。t_waitは組合せ回路117の動作を停止させる時間を通知し、r_waitはそれぞれのリクエスト出力部2に対応する待ちカウンタのいずれかに加算される時間を通知する。
Request signals output from the respective
3状態ゲート116は、接続された待ちカウンタが0ならばリクエスト信号を通過させ、待ちカウンタが0以外ならばリクエスト信号を遮断する。
The
組合せ回路117は、ラウンドロビン法により調停を行う回路であり、リクエスト出力部2のいずれかからリクエスト信号を受信すると、優先順位に応じてリクエストを受理し、リクエストを受理したことを通知する受理通知信号をリクエスト出力部2に送信する。受理通知信号を受信したリクエスト出力部2は、競合リソース部3にアクセスする。
The
図4は、本実施の形態に係る調停装置1の動作を示すフローチャートである。
FIG. 4 is a flowchart showing the operation of the
現在4つのリクエスト出力部2A、B、C、Dが競合リソース部3に対してリクエストを出力可能であり、{リクエスト出力部2D>リクエスト出力部2C>リクエスト出力部2B>リクエスト出力部2A}となるようにそれぞれのリクエスト出力部2に1から4までの優先順位が付けられているとする。このうち優先順位2のリクエスト出力部2Cと優先順位3のリクエスト出力部2Bがリクエストを出力している場合について説明する。
Currently, four request output units 2A, B, C, D can output requests to the competing
まず、制御テーブル111のエントリを示すポインタpと、リクエスト出力部2A、B、C、Dそれぞれに対応した待ち時間のカウンタを0で初期化する(S401)。 First, a pointer p indicating an entry in the control table 111 and a waiting time counter corresponding to each of the request output units 2A, B, C, and D are initialized to 0 (S401).
いずれかのリクエスト出力部2からのリクエストがあれば、各リクエスト出力部2の優先順位を取得する(S701)。リクエストがない場合は待機する。本例ではリクエスト出力部2B及びCが要求を出しているため、優先順位を取得する。
If there is a request from any of the
優先順位1のリクエスト出力部2Dから順番に、リクエストが出力されているかどうかを確認する。現在優先順位1であるリクエスト出力部2Dはリクエストを出力しておらず、優先順位2のリクエスト出力部2Cがリクエストを出力しているため、リクエスト出力部2Cに対して設定された待ち時間が0であるか判定する。
It is confirmed whether or not requests are output in order from the request output unit 2D having the
待ち時間カウンタが0であれば、リクエスト出力部2Cからのリクエストを受理し(S404)、実行する(S407)。その後、以下のように優先順位が更新され(S408)、各リクエスト出力部2の優先順位は{リクエスト出力部2D>リクエスト出力部2B>リクエスト出力部2A>リクエスト出力部2C}となる。
(1)リクエストが受理されたリクエスト出力部2より優先順位が高いリクエスト出力部2の優先順位は変更しない。
(2)リクエストが受理されたリクエスト出力部2の優先順位は最下位に変更する。
(3)リクエストが受理されたリクエスト出力部2より優先順位が低いリクエスト出力部2の優先順位はそれぞれ1つずつ上位に変更する。
If the waiting time counter is 0, the request from the request output unit 2C is accepted (S404) and executed (S407). Thereafter, the priority order is updated as follows (S408), and the priority order of each
(1) The priority of the
(2) The priority of the
(3) The priority of the
次に、各リクエスト出力部2に対応する待ち時間カウンタで、待ち時間が1以上のものは、待ち時間カウンタ値を1減算する(S409)。全ての待ち時間カウンタにおいて、待ち時間の最小値は0であり、例えば初期状態後1回目のリクエストが実行されたときには、どの待ち時間カウンタも減算されない。
Next, when the waiting time counter corresponding to each
制御テーブル111のエントリを示すポインタpを用いて、制御テーブル111からエントリpを取り出す。1つのエントリは{r_wait,t_wait}から成る。このr_waitを、現在受理したリクエスト出力部2Cに対応した待ち時間カウンタ値に設定する(S410)。これは優先順位を入れ替える効果を有する。 Using the pointer p indicating the entry in the control table 111, the entry p is extracted from the control table 111. One entry consists of {r_wait, t_wait}. This r_wait is set to a waiting time counter value corresponding to the currently accepted request output unit 2C (S410). This has the effect of changing the priority.
次に、t_waitに記述されたサイクル数だけ、リクエスト制御部120の動作を停止する(S411)。これは競合リソース部3への各リクエスト間隔を調整する効果を有する。
Next, the operation of the request control unit 120 is stopped for the number of cycles described in t_wait (S411). This has the effect of adjusting each request interval to the
制御テーブル111のエントリを示すポインタpを加算し、次のエントリのポインタとする(S412)。pがpMAXまで達した場合、p=0に戻す(S413)。このとき、処理を終了してもよいし、最初のいずれかのリクエスト出力部2からリクエストがあるか確認するステップから処理を繰り返してもよい。
A pointer p indicating an entry in the control table 111 is added to obtain a pointer for the next entry (S412). When p reaches pMAX, it returns to p = 0 (S413). At this time, the process may be terminated, or the process may be repeated from the step of confirming whether there is a request from any of the first
以上の動作により、競合リソース部3への複雑な要求の実行を、任意にかつ確実に発生させることが可能となる。
With the above operation, it is possible to arbitrarily and reliably generate a complicated request to the competing
本実施の形態において、制御テーブル111がpMAX=1、r_wait=0、t_wait=0の時、調停装置1の動作は、ラウンドロビン法の動作となる。従って、この調停装置1は、論理検証環境のためだけでなく、実環境のために利用することもできる。このことから、実環境のための調停装置1を本実施の形態と同様の構成とし、制御テーブル111をpMAX=1、r_wait=0、t_wait=0と設定すれば、この調停装置1を実用することが可能となる。しかも、この調停装置1に何らかの不具合が発生した場合、上記3つの値を調整することで調停装置1の検証が行うことができ、検証用に別の装置を用いる必要がない。
In the present embodiment, when the control table 111 is pMAX = 1, r_wait = 0, t_wait = 0, the operation of the
本実施の形態では、1つの競合リソース部3に対して4つのリクエスト出力部2がリクエストを出力する例を用いて説明したが、2つ以上の競合リソース部3がある場合や、2つ、3つ、又は5つ以上のリクエスト出力部2がある場合でも、上記と同様に調停を行うことが可能である。例えば、競合リソース部3が2つある場合には、調停装置1が競合リソース部3ごとの制御テーブル111を2つ備えるという方法がある。
In the present embodiment, the example in which four
また、本実施の形態では、制御テーブルのエントリとして順序制御時間r_waitと動作停止時間t_waitを用いているが、r_waitとt_waitのうちどちらか1つのみを用いる形態も可能である。r_waitのみを用いる場合、図1の動作停止時間取得部110、動作停止時間格納部113、動作停止時間設定部115は不要となり、t_waitのみを用いる場合、図1の待ち時間取得部106、待ち時間格納部107、順序制御時間取得部109、順序制御時間格納部112、順序制御時間設定部114は不要となる。
In this embodiment, the sequence control time r_wait and the operation stop time t_wait are used as the control table entries. However, only one of r_wait and t_wait may be used. When only r_wait is used, the operation stop
実施の形態2.
図6は、本実施の形態に係る調停装置1を備えたシステムの構成を示すブロック図である。
FIG. 6 is a block diagram illustrating a configuration of a system including the
図6において、乱数生成部119は2つの乱数生成器を有する。一方の乱数生成器は、実施の形態1で説明した動作停止時間を乱数として生成し、他方の乱数生成器は、実施の形態1で説明したい順序制御時間を乱数として生成する。
In FIG. 6, the random
本実施の形態に係る調停装置1のその他の構成及び動作は、実施の形態1で説明したものと同様である。
Other configurations and operations of the
このように、実施の形態1では、制御テーブル111の各エントリに含まれたt_waitとr_waitを用いてリクエストを受理、実行するタイミングを制御していたが、本実施の形態では、例えば図4に示したpを変数とする乱数生成器で生成した乱数を用いてタイミングを制御する。
As described above, in
本実施の形態では、制御テーブル111の代わりに乱数生成器を用いるため、実施の形態1と比較して構成や設定方法が単純になり、競合リソースへの複雑な要求の実行を、より確実に発生させることが可能となる。 In the present embodiment, since a random number generator is used instead of the control table 111, the configuration and setting method are simplified as compared with the first embodiment, and execution of complicated requests for competing resources is more reliably performed. Can be generated.
上記実施の形態1から3で説明した競合リソース部の論理検証環境の構築方式は、以下の要素を有することを特徴とする。
(1)設計した競合リソース部の論理検証を行うために競合リソース部への要求を発行するN個のリクエスト出力部、及びN個の要求を調停して、競合リソース部の論理検証を行うために必要な複雑な動作を任意に、かつ確実に発生できるリクエスト制御部。
(2)リクエスト制御部が複雑な動作を任意に、かつ確実に発生するための制御テーブル。
制御テーブルは競合リソース部への次トランザクション実行までの待ち時間、及びリクエスト受理復帰までの待ち時間の2つの要素を1エントリとし、複数エントリで構成する。
The construction method of the logic verification environment of the competing resource unit described in the first to third embodiments has the following elements.
(1) In order to perform logic verification of the contention resource unit by arbitrating N request output units that issue requests to the contention resource unit and N requests to perform logic verification of the designed contention resource unit A request control unit that can arbitrarily and reliably generate complex operations required for the system.
(2) A control table for the request control unit to arbitrarily and reliably generate a complicated operation.
The control table is composed of a plurality of entries, with two elements of a waiting time until the next transaction execution to the competing resource unit and a waiting time until the return of request acceptance as one entry.
また、上記論理検証環境の構築方式は、制御テーブルを保持し、リクエストを受理するたびごとに、該当する受理リクエスト番号以外の優先順序を入れ替えるとともに、待ち時間を減算し、制御テーブルの当該エントリで示される次トランザクション実行までの待ち時間のサイクル数だけリクエスト制御部を静止させることで、競合調停回路の試験検証を容易に行えるよう改善した。 In addition, the logical verification environment construction method holds a control table, and every time a request is received, the priority order other than the corresponding acceptance request number is changed, the waiting time is subtracted, and the entry of the control table is By making the request control unit quiesce for the number of cycles of waiting time until the next transaction execution shown, it has been improved to facilitate test verification of the contention arbitration circuit.
また、上記論理検証環境の構築方式は、論理検証環境の構築に適しているのみならず、実環境への実装をも可能とするよう考慮されたリクエスト制御部を設計可能とする。具体的には、制御テーブルの設定値によって、従来法により設計され得るリクエスト制御部と完全に等価な動作を行うことが可能なリクエスト制御部を含む。 In addition, the construction method of the logic verification environment is not only suitable for the construction of the logic verification environment, but also makes it possible to design a request control unit that allows for implementation in the real environment. Specifically, it includes a request control unit that can perform an operation that is completely equivalent to a request control unit that can be designed by a conventional method, according to the set value of the control table.
1 調停装置、2 リクエスト出力部、3 競合リソース部、101 優先順位取得部、102 優先順位格納部、104 リクエスト受理部、105 リクエスト実行部、106 待ち時間取得部、107 待ち時間格納部、108 待ち時間制御部、109 順序制御時間取得部、110 動作停止時間取得部、111 制御テーブル、112 順序制御時間格納部、113 動作停止時間格納部、114 順序制御時間設定部、115 動作停止時間設定部、116 3状態ゲート、117 組合せ回路、118 待ちカウンタ、119 乱数生成部、120 リクエスト制御部。
DESCRIPTION OF
Claims (6)
予め任意に設定される時間を1エントリとして、エントリごとに時間の設定値を格納する制御テーブルと、
前記複数の演算装置それぞれの優先順位の設定値を格納する優先順位格納部と、
前記複数の演算装置それぞれの待ち時間のカウンタ値を格納する待ち時間格納部と、
前記複数の演算装置のうちリクエストを出力していて前記待ち時間格納部に格納された待ち時間のカウンタ値が所定値の演算装置の中から、前記優先順位格納部に格納された優先順位の設定値が最も高い演算装置を選択し、選択した演算装置からのリクエストを受理するリクエスト受理部と、
前記リクエスト受理部が受理したリクエストを実行し、リクエストを実行する度に、前記優先順位格納部に格納された優先順位の設定値のうち、前記リクエスト受理部がリクエストを受理した演算装置の優先順位の設定値を最も低い順位の設定値に更新し、前記リクエスト受理部がリクエストを受理した演算装置より優先順位の設定値が低い他の演算装置の優先順位の設定値を1つずつ高い順位の設定値に更新するリクエスト実行部と、
前記リクエスト実行部がリクエストを実行する度に、前記制御テーブルから1エントリずつ時間の設定値を取得し、前記待ち時間格納部に格納された待ち時間のカウンタ値のうち、前記リクエスト受理部がリクエストを受理した演算装置の待ち時間のカウンタ値を、前記制御テーブルから取得した時間の設定値に更新し、待ち時間のカウンタ値が前記所定値より大きい他の演算装置の待ち時間のカウンタ値を減算する待ち時間制御部とを備えることを特徴とする調停装置。 In an arbitration device that arbitrates a request for requesting access to the resource by a plurality of arithmetic devices that access a common resource,
A control table that stores a set value of time for each entry, with a time arbitrarily set in advance as one entry,
A priority storage unit that stores setting values of priority of each of the plurality of arithmetic devices;
A waiting time storage section for storing a waiting time counter value of each of the plurality of arithmetic devices;
The priority setting stored in the priority storage unit is selected from among the arithmetic devices that output a request among the plurality of arithmetic devices and the waiting time counter value stored in the waiting time storage unit is a predetermined value. A request accepting unit that selects a computing device having the highest value and accepts a request from the selected computing device;
Executes the request received by the request receiving unit, and each time the request is executed, out of the priority setting values stored in the priority storing unit, the priority of the arithmetic unit that the request receiving unit has received the request Is updated to the lowest setting value, and the priority setting values of other arithmetic devices whose priority setting values are lower than those of the arithmetic device from which the request receiving unit has received the request are increased one by one. A request execution unit for updating to a set value;
Each time the request execution unit executes a request, it obtains a time setting value from the control table one entry at a time, and among the waiting time counter values stored in the waiting time storage unit, the request receiving unit requests The waiting time counter value of the arithmetic unit that has received the value is updated to the set time value obtained from the control table, and the waiting time counter value of another arithmetic device whose subtraction time value is greater than the predetermined value is subtracted. An arbitration device comprising a waiting time control unit.
前記待ち時間制御部は、前記リクエスト実行部がリクエストを実行する度に、前記制御テーブルから1エントリずつ時間r_waitの設定値と時間t_waitの設定値とを取得し、前記待ち時間格納部に格納された待ち時間のカウンタ値のうち、前記リクエスト受理部がリクエストを受理した演算装置の待ち時間のカウンタ値を、前記制御テーブルから取得した時間r_waitの設定値に更新し、待ち時間のカウンタ値が前記所定値より大きい他の演算装置の待ち時間のカウンタ値を減算するとともに、前記制御テーブルから取得した時間t_waitの設定値で示される時間だけ、前記リクエスト受理部に次のリクエストを受理するまでの動作を停止させることを特徴とする請求項1に記載の調停装置。 The control table stores a set value of the time r_wait and a set value of the time t_wait for each entry, with a combination of a time r_wait and a time t_wait that are arbitrarily set in advance as one entry.
The waiting time control unit acquires a set value of the time r_wait and a set value of the time t_wait from the control table for each entry each time the request execution unit executes a request, and stores the set value for the time t_wait. Among the waiting time counter values, the waiting time counter value of the arithmetic unit that has received the request by the request receiving unit is updated to the set value of the time r_wait acquired from the control table, and the waiting time counter value is Operation until subtracting the counter value of the waiting time of another arithmetic device larger than a predetermined value and receiving the next request in the request receiving unit for the time indicated by the set value of the time t_wait acquired from the control table The arbitration device according to claim 1, wherein the arbitration device is stopped.
乱数を生成する乱数生成部と、
前記複数の演算装置それぞれの優先順位の設定値を格納する優先順位格納部と、
前記複数の演算装置それぞれの待ち時間のカウンタ値を格納する待ち時間格納部と、
前記複数の演算装置のうちリクエストを出力していて前記待ち時間格納部に格納された待ち時間のカウンタ値が所定値の演算装置の中から、前記優先順位格納部に格納された優先順位の設定値が最も高い演算装置を選択し、選択した演算装置からのリクエストを受理するリクエスト受理部と、
前記リクエスト受理部が受理したリクエストを実行し、リクエストを実行する度に、前記優先順位格納部に格納された優先順位の設定値のうち、前記リクエスト受理部がリクエストを受理した演算装置の優先順位の設定値を最も低い順位の設定値に更新し、前記リクエスト受理部がリクエストを受理した演算装置より優先順位の設定値が低い他の演算装置の優先順位の設定値を1つずつ高い順位の設定値に更新するリクエスト実行部と、
前記リクエスト実行部がリクエストを実行する度に、前記乱数生成部が生成した乱数を取得し、前記待ち時間格納部に格納された待ち時間のカウンタ値のうち、前記リクエスト受理部がリクエストを受理した演算装置の待ち時間のカウンタ値を、取得した乱数の値に更新し、待ち時間のカウンタ値が前記所定値より大きい他の演算装置の待ち時間のカウンタ値を減算する待ち時間制御部とを備えることを特徴とする調停装置。 In an arbitration device that arbitrates a request for requesting access to the resource by a plurality of arithmetic devices that access a common resource,
A random number generator for generating random numbers;
A priority storage unit that stores setting values of priority of each of the plurality of arithmetic devices;
A waiting time storage section for storing a waiting time counter value of each of the plurality of arithmetic devices;
The priority setting stored in the priority storage unit is selected from among the arithmetic devices that output a request among the plurality of arithmetic devices and the waiting time counter value stored in the waiting time storage unit is a predetermined value. A request accepting unit that selects a computing device having the highest value and accepts a request from the selected computing device;
Executes the request received by the request receiving unit, and each time the request is executed, out of the priority setting values stored in the priority storing unit, the priority of the arithmetic unit that the request receiving unit has received the request Is updated to the lowest setting value, and the priority setting values of other arithmetic devices whose priority setting values are lower than those of the arithmetic device from which the request receiving unit has received the request are increased one by one. A request execution unit for updating to a set value;
Each time the request execution unit executes a request, the random number generated by the random number generation unit is acquired, and the request reception unit has received the request among the waiting time counter values stored in the waiting time storage unit. A waiting time control unit that updates the waiting time counter value of the arithmetic device to the acquired random number value and subtracts the waiting time counter value of another arithmetic device whose waiting time counter value is greater than the predetermined value. An arbitration device characterized by that.
前記待ち時間制御部は、前記リクエスト実行部がリクエストを実行する度に、前記乱数生成部が生成した2つの乱数を取得し、前記待ち時間格納部に格納された待ち時間のカウンタ値のうち、前記リクエスト受理部がリクエストを受理した演算装置の待ち時間のカウンタ値を、取得した2つの乱数のうち一方の値に更新し、待ち時間のカウンタ値が前記所定値より大きい他の演算装置の待ち時間のカウンタ値を減算するとともに、取得した2つの乱数のうち他方の値で示される時間だけ、前記リクエスト受理部に次のリクエストを受理するまでの動作を停止させることを特徴とする請求項3に記載の調停装置。 The random number generation unit generates two random numbers,
The waiting time control unit obtains two random numbers generated by the random number generation unit each time the request execution unit executes a request, and among the waiting time counter values stored in the waiting time storage unit, The request reception unit updates the counter value of the waiting time of the arithmetic device that has received the request to one of the two acquired random numbers, and waits for another arithmetic device whose waiting time counter value is greater than the predetermined value. 4. The time counter value is subtracted, and the operation until the next request is received by the request receiving unit is stopped only for the time indicated by the other value of the two obtained random numbers. The arbitration device described in 1.
前記複数の演算装置それぞれの優先順位の設定値を格納する優先順位格納工程と、
前記複数の演算装置それぞれの待ち時間のカウンタ値を格納する待ち時間格納工程と、
前記複数の演算装置のうちリクエストを出力していて前記待ち時間格納工程で格納された待ち時間のカウンタ値が所定値の演算装置の中から、前記優先順位格納工程で格納された優先順位の設定値が最も高い演算装置を選択し、選択した演算装置からのリクエストを受理するリクエスト受理工程と、
前記リクエスト受理工程で受理したリクエストを実行し、リクエストを実行する度に、前記優先順位格納工程で格納された優先順位の設定値のうち、前記リクエスト受理工程でリクエストを受理した演算装置の優先順位の設定値を最も低い順位の設定値に更新し、前記リクエスト受理工程でリクエストを受理した演算装置より優先順位の設定値が低い他の演算装置の優先順位の設定値を1つずつ高い順位の設定値に更新するリクエスト実行工程と、
前記リクエスト実行工程でリクエストを実行する度に、前記制御テーブルから1エントリずつ時間の設定値を取得し、前記待ち時間格納工程で格納された待ち時間のカウンタ値のうち、前記リクエスト受理工程でリクエストを受理した演算装置の待ち時間のカウンタ値を、前記制御テーブルから取得した時間の設定値に更新し、待ち時間のカウンタ値が前記所定値より大きい他の演算装置の待ち時間のカウンタ値を減算する待ち時間制御工程とを備えることを特徴とする調停方法。 Arbitration device that arbitrates a request for access to the resource by a plurality of arithmetic devices that access a common resource, and stores a set value of time for each entry with an arbitrarily set time as one entry In an arbitration method using an arbitration device including a control table,
A priority order storing step of storing a set value of a priority order of each of the plurality of arithmetic devices;
A waiting time storing step of storing a waiting time counter value of each of the plurality of arithmetic devices;
The priority setting stored in the priority storage step is selected from among the arithmetic devices that output a request among the plurality of arithmetic devices and the waiting time counter value stored in the waiting time storage step is a predetermined value. A request receiving step of selecting a computing device having the highest value and receiving a request from the selected computing device;
Executes the request received in the request receiving step, and each time the request is executed, out of the priority setting values stored in the priority order storing step, the priority of the arithmetic unit that has received the request in the request receiving step Is updated to the lowest priority setting value, and the priority setting values of the other arithmetic devices having lower priority setting values than the arithmetic device that received the request in the request receiving step are increased one by one. Request execution process to update to the set value,
Each time a request is executed in the request execution step, a time setting value is acquired from the control table one entry at a time, and among the waiting time counter values stored in the waiting time storage step, a request is received in the request receiving step. The waiting time counter value of the arithmetic unit that has received the value is updated to the set time value obtained from the control table, and the waiting time counter value of another arithmetic device whose subtraction time value is greater than the predetermined value is subtracted. A mediation method comprising: a waiting time control step.
乱数を生成する乱数生成工程と、
前記複数の演算装置それぞれの優先順位の設定値を格納する優先順位格納工程と、
前記複数の演算装置それぞれの待ち時間のカウンタ値を格納する待ち時間格納工程と、
前記複数の演算装置のうちリクエストを出力していて前記待ち時間格納工程で格納された待ち時間のカウンタ値が所定値の演算装置の中から、前記優先順位格納工程で格納された優先順位の設定値が最も高い演算装置を選択し、選択した演算装置からのリクエストを受理するリクエスト受理工程と、
前記リクエスト受理工程で受理したリクエストを実行し、リクエストを実行する度に、前記優先順位格納工程で格納された優先順位の設定値のうち、前記リクエスト受理工程でリクエストを受理した演算装置の優先順位の設定値を最も低い順位の設定値に更新し、前記リクエスト受理工程でリクエストを受理した演算装置より優先順位の設定値が低い他の演算装置の優先順位の設定値を1つずつ高い順位の設定値に更新するリクエスト実行工程と、
前記リクエスト実行工程でリクエストを実行する度に、前記乱数生成工程で生成した乱数を取得し、前記待ち時間格納工程で格納された待ち時間のカウンタ値のうち、前記リクエスト受理工程でリクエストを受理した演算装置の待ち時間のカウンタ値を、取得した乱数の値に更新し、待ち時間のカウンタ値が前記所定値より大きい他の演算装置の待ち時間のカウンタ値を減算する待ち時間制御工程とを備えることを特徴とする調停方法。 In an arbitration method using an arbitration device in which a plurality of arithmetic devices that access a common resource arbitrate a request for requesting access to the resource,
A random number generation step for generating a random number;
A priority order storing step of storing a set value of a priority order of each of the plurality of arithmetic devices;
A waiting time storing step of storing a waiting time counter value of each of the plurality of arithmetic devices;
The priority setting stored in the priority storage step is selected from among the arithmetic devices that output a request among the plurality of arithmetic devices and the waiting time counter value stored in the waiting time storage step is a predetermined value. A request receiving step of selecting a computing device having the highest value and receiving a request from the selected computing device;
Executes the request received in the request receiving step, and each time the request is executed, out of the priority setting values stored in the priority order storing step, the priority of the arithmetic unit that has received the request in the request receiving step Is updated to the lowest priority setting value, and the priority setting values of the other arithmetic devices having lower priority setting values than the arithmetic device that received the request in the request receiving step are increased one by one. Request execution process to update to the set value,
Each time a request is executed in the request execution step, the random number generated in the random number generation step is acquired, and the request is received in the request reception step among the waiting time counter values stored in the waiting time storage step. A waiting time control step of updating the waiting time counter value of the arithmetic device to the acquired random number value and subtracting the waiting time counter value of another arithmetic device whose waiting time counter value is greater than the predetermined value. An arbitration method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004320305A JP4955205B2 (en) | 2004-11-04 | 2004-11-04 | Arbitration device and arbitration method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004320305A JP4955205B2 (en) | 2004-11-04 | 2004-11-04 | Arbitration device and arbitration method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006133948A JP2006133948A (en) | 2006-05-25 |
JP4955205B2 true JP4955205B2 (en) | 2012-06-20 |
Family
ID=36727464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004320305A Expired - Fee Related JP4955205B2 (en) | 2004-11-04 | 2004-11-04 | Arbitration device and arbitration method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4955205B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9684633B2 (en) * | 2013-01-24 | 2017-06-20 | Samsung Electronics Co., Ltd. | Adaptive service controller, system on chip and method of controlling the same |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63123151A (en) * | 1986-11-13 | 1988-05-26 | Fujitsu Ltd | Common bus control system |
JP2742135B2 (en) * | 1990-11-08 | 1998-04-22 | オークマ株式会社 | Bus arbitration equipment |
JP3162321B2 (en) * | 1997-05-13 | 2001-04-25 | 三菱電機株式会社 | Logic simulation method and computer-readable recording medium recording program for implementing the logic simulation method |
-
2004
- 2004-11-04 JP JP2004320305A patent/JP4955205B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006133948A (en) | 2006-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9626465B2 (en) | Arbiter verification | |
US7957950B2 (en) | Hard/soft cooperative verifying simulator | |
CN113947050A (en) | Method, electronic device, and storage medium for generating formal verification environment | |
JPH08263312A (en) | Method and apparatus for bus arbitration | |
JP2004038967A (en) | Method and device which can control use frequency of bus | |
JP4955205B2 (en) | Arbitration device and arbitration method | |
JP2015069576A (en) | Information processing device and control method of information processing device | |
US8918786B2 (en) | Generating simulated stall signals based on access speed model or history of requests independent of actual processing or handling of conflicting requests | |
CN107678993B (en) | Computer system and bus arbitration method | |
US7761280B2 (en) | Data processing apparatus simulation by generating anticipated timing information for bus data transfers | |
US7254661B2 (en) | Methods, circuits, and computer program products for variable bus arbitration | |
JP2004362425A (en) | Resource contention control system, control method, and program | |
JP5884788B2 (en) | Microcomputer | |
US20070204083A1 (en) | Bus arbitration method and computer-readable medium | |
JP2018005851A (en) | Electronic equipment | |
JP5111940B2 (en) | Information processing apparatus and access control method | |
JP2007172105A (en) | Interruption arbitration system and interruption arbitration method | |
JP2010032402A (en) | Semiconductor testing device | |
CN117492547A (en) | Method, device, system and medium for determining reset state of module in chip | |
JP5441185B2 (en) | Interrupt controller and time-division interrupt generation method | |
JP6536441B2 (en) | Control device | |
JP2002055944A (en) | Device and method for arbitration | |
JP3882791B2 (en) | Node blocker for computer system and transaction control method thereof | |
JP2007034459A (en) | Bus system | |
JP2007058424A (en) | Memory access controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110405 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110415 |
|
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: 20120313 |
|
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: 20120315 |
|
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: 20150323 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |