JP2006133948A - Arbitration device and arbitration method - Google Patents

Arbitration device and arbitration method Download PDF

Info

Publication number
JP2006133948A
JP2006133948A JP2004320305A JP2004320305A JP2006133948A JP 2006133948 A JP2006133948 A JP 2006133948A JP 2004320305 A JP2004320305 A JP 2004320305A JP 2004320305 A JP2004320305 A JP 2004320305A JP 2006133948 A JP2006133948 A JP 2006133948A
Authority
JP
Japan
Prior art keywords
request
waiting time
unit
control
time
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.)
Granted
Application number
JP2004320305A
Other languages
Japanese (ja)
Other versions
JP4955205B2 (en
Inventor
Kiyohiko Suzuki
清彦 鈴木
Junji Konuki
淳史 小貫
Shinobu Atozawa
忍 後沢
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004320305A priority Critical patent/JP4955205B2/en
Publication of JP2006133948A publication Critical patent/JP2006133948A/en
Application granted granted Critical
Publication of JP4955205B2 publication Critical patent/JP4955205B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To aim to build a logic verification environment in which execution of a complex request to a competitive resource can be arbitrarily and reliably generated so as to verify operations of an arbitration device for arbitrating requests in a system in which multiple processors independently perform access to the competitive resource. <P>SOLUTION: A waiting time control section 108 stops an operation of a request control section 120 by using operation stop time acquired by an operation stop time acquisition section 110 from an operation stop time storage section 113, and sets a waiting time stored at a waiting time storage section 107 by using sequence control time acquired by a sequence control time acquisition section 109 from a sequence control time storage section 112. In the request control section 120, a request acceptance section 104 accepts a request from a request output section 2 selected in accordance with its priority and waiting time, and a request execution section 105 executes the request. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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 priority 2 and the processor B with priority 3 are outputting requests will be described.

まず、上記調停装置が各プロセッサの優先順位を取得し(S701)、優先順位1のプロセッサDから順番に、リクエストが出力されているかどうかを確認する。現在優先順位1であるプロセッサDはリクエストを出力しておらず、優先順位2のプロセッサCがリクエストを出力しているため、プロセッサCからのリクエストが受理され(S703)、実行される(S706)。その後、以下のように優先順位が更新され(S707)、各プロセッサの優先順位は{プロセッサD>プロセッサB>プロセッサA>プロセッサC}となる。
(1)リクエストが受理されたプロセッサより優先順位が高いプロセッサの優先順位は変更しない。
(2)リクエストが受理されたプロセッサの優先順位は最下位に変更する。
(3)リクエストが受理されたプロセッサより優先順位が低いプロセッサの優先順位はそれぞれ1つずつ上位に変更する。
特開平11−73397号公報
First, the arbitrating device acquires the priority order of each processor (S701), and checks whether or not a request is output in order from the processor D having the priority order 1. Since the processor D having the current priority level 1 is not outputting a request and the processor C having the priority level 2 is outputting a request, the request from the processor C is accepted (S703) and executed (S706). . Thereafter, the priority order is updated as follows (S707), and the priority order of each processor is {processor D> processor B> processor A> processor C}.
(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.
JP 11-73397 A

上記のようなシステムでは、競合リソースに対して複数のリクエストが混在し、複雑な制御を執るため、十分な論理検証が必要となる。従来は、競合リソースの論理検証を行う一般的な手法として、実際のシステムと同様の試験環境を擬似的に構築し、シミュレーションを行っていたため、競合リソースへのリクエスト発行動作は図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を備えたシステムの構成を示すブロック図である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a system including an arbitration device 1 according to the present embodiment.

複数のリクエスト出力部2が競合リソース部3へ独立してアクセスを行うシステムにおいて、全てのリクエスト出力部2は調停装置1を経由して競合リソース部3へアクセスする。   In a system in which a plurality of request output units 2 independently access the contention resource unit 3, all request output units 2 access the contention resource unit 3 via the arbitration device 1.

図1において、競合リソース部3は複数のリクエストが競合するリソース(例えば、データフロー制御回路や共有メモリなど)からなるモジュール、リクエスト出力部2のA〜Dは互いに独立して競合リソース部3へのリクエストを出力するモジュール(例えば、CPU)、調停装置1はリクエスト出力部2から競合リソース部3への多数の、そして多くの場合互いに独立して発生するリクエスト同士を調停するモジュールである。調停装置1は論理回路又は論理回路上のプロセッサ、メモリ、メモリに記憶されたファームウェア等の組合せで構成される。調停装置1の内部において、以下で「〜格納部」と説明するものは、レジスタ、揮発性メモリ、不揮発性メモリ等によって構成される。   In FIG. 1, the contention resource unit 3 is a module composed of resources (for example, a data flow control circuit and a shared memory) in which a plurality of requests compete, and A to D of the request output unit 2 are independent of each other to the contention resource unit 3 The arbitration device 1 is a module that arbitrates a large number of requests from the request output unit 2 to the competing resource unit 3 and, in many cases, independently of each other. The arbitration device 1 is configured by a logic circuit or a combination of a processor on the logic circuit, a memory, firmware stored in the memory, and the like. In the arbitrating device 1, what will be described as “˜storage unit” below includes a register, a volatile memory, a nonvolatile memory, and the like.

本実施の形態において、競合リソース部3への次トランザクション実行までの待ち時間(動作停止時間)を格納する動作停止時間格納部113とリクエスト受理復帰までの待ち時間(順序制御時間)を格納する順序制御時間格納部112は、例えば図2に示すような制御テーブル111として揮発性メモリに実装される。制御テーブル111は、競合リソース部3への複雑なリクエスト動作を任意に、かつ確実に発生するためのタイミング情報テーブルであり、動作停止時間t_waitと、順序制御時間r_waitの2つの要素を1エントリとし、pMAXエントリで構成される。   In the present embodiment, an operation stop time storage unit 113 that stores a waiting time (operation stop time) until the next transaction execution to the competing resource unit 3 and a sequence for storing a waiting time (request for order control) until a request is returned. The control time storage unit 112 is mounted on a volatile memory as a control table 111 as shown in FIG. 2, for example. The control table 111 is a timing information table for arbitrarily and reliably generating a complicated request operation to the competing resource unit 3, and includes two elements of an operation stop time t_wait and an order control time r_wait as one entry. , PMAX entries.

動作停止時間設定部115はt_waitを設定し、順序制御時間設定部114はr_waitを設定する。制御テーブル111を設定するタイミングは、調停装置1の動作中でもよいし、調停装置1の動作開始前でもよい。調停装置1の動作開始前にt_wait及びr_waitが予め設定されている場合、動作停止時間設定部115と順序制御時間設定部114を省いた構成をとることも可能である。t_wait及びr_waitは、例えばクロックのサイクル数として設定される。   The operation stop time setting unit 115 sets t_wait, and the sequence control time setting unit 114 sets r_wait. The timing for setting the control table 111 may be during the operation of the arbitration device 1 or before the operation of the arbitration device 1 is started. When t_wait and r_wait are set in advance before the operation of the arbitrating device 1, it is possible to omit the operation stop time setting unit 115 and the sequence control time setting unit 114. t_wait and r_wait are set as the number of clock cycles, for example.

動作停止時間取得部110と順序制御時間取得部109はテーブルポインタpを保持する。テーブルポインタpは、制御テーブル111のエントリを指定するポインタで、例えば動作停止時間取得部110と順序制御時間取得部109が共有するレジスタに格納される。動作停止時間取得部110はテーブルポインタpを参照して、制御テーブル111からt_waitを取得する。また、順序制御時間取得部109はテーブルポインタpを参照して、制御テーブル111からr_waitを取得する。   The operation stop time acquisition unit 110 and the sequence control time acquisition unit 109 hold a table pointer p. The table pointer p is a pointer that designates an entry in the control table 111, and is stored in a register shared by the operation stop time acquisition unit 110 and the sequence control time acquisition unit 109, for example. The operation stop time acquisition unit 110 acquires t_wait from the control table 111 with reference to the table pointer p. Further, the order control time acquisition unit 109 acquires r_wait from the control table 111 with reference to the table pointer p.

調停装置1において、リクエストの調停動作を行うリクエスト制御部120は、優先順位取得部101、優先順位格納部102、リクエスト受理部104、リクエスト実行部105、待ち時間取得部106、待ち時間格納部107から構成される。   In the arbitration device 1, the request control unit 120 that performs a request arbitration operation includes a priority acquisition unit 101, a priority storage unit 102, a request reception unit 104, a request execution unit 105, a waiting time acquisition unit 106, and a waiting time storage unit 107. Consists of

待ち時間制御部108は、動作停止時間取得部110から提供されるt_waitを用いてリクエスト制御部120の動作を停止したり、順序制御時間取得部109から提供されるr_waitを用いて、待ち時間格納部107に格納された待ち時間を設定したりする。   The waiting time control unit 108 uses the t_wait provided from the operation stop time acquisition unit 110 to stop the operation of the request control unit 120 or stores the waiting time using the r_wait provided from the sequence control time acquisition unit 109. The waiting time stored in the unit 107 is set.

リクエスト制御部120において、待ち時間格納部107は、各リクエスト出力部2の待ち時間のカウンタを保持する。   In the request control unit 120, the waiting time storage unit 107 holds a waiting time counter of each request output unit 2.

優先順位取得部101は、優先順位格納部102が保持する各リクエスト出力部2の優先順位の設定値を取得する。また、待ち時間取得部106は、待ち時間格納部107から待ち時間を取得する。リクエスト受理部104は、この優先順位と待ち時間により、次にどのリクエスト出力部2からのリクエストを受理するかを決定し、そのリクエストを受理する。リクエスト受理部104によって受理されたリクエストは、リクエスト実行部105により実行される。   The priority order acquisition unit 101 acquires the priority order setting value of each request output unit 2 held by the priority order storage unit 102. The waiting time acquisition unit 106 acquires the waiting time from the waiting time storage unit 107. The request receiving unit 104 determines which request output unit 2 will receive the request next based on the priority and the waiting time, and receives the request. The request received by the request receiving unit 104 is executed by the request execution unit 105.

リクエストが実行されると、リクエスト出力部2は競合リソース部3にアクセスし、競合リソース部3を利用した処理を行う。リクエスト実行部105は、リクエストの実行後、優先順位格納部102が保持する各リクエスト出力部2の優先順位の設定値を更新する。   When the request is executed, the request output unit 2 accesses the contention resource unit 3 and performs processing using the contention resource unit 3. The request execution unit 105 updates the priority setting value of each request output unit 2 held by the priority storage unit 102 after execution of the request.

図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 request output units 2 are transmitted to the combinational circuit 117 through the tristate gate 116. Also, t_wait and r_wait output from the waiting time control unit 108 are transmitted to the combinational circuit 117 for t_wait and to the waiting counter 118 for r_wait. t_wait notifies the time for stopping the operation of the combinational circuit 117, and r_wait notifies the time to be added to one of the wait counters corresponding to each request output unit 2.

3状態ゲート116は、接続された待ちカウンタが0ならばリクエスト信号を通過させ、待ちカウンタが0以外ならばリクエスト信号を遮断する。   The tristate gate 116 passes the request signal if the connected wait counter is 0, and blocks the request signal if the wait counter is other than 0.

組合せ回路117は、ラウンドロビン法により調停を行う回路であり、リクエスト出力部2のいずれかからリクエスト信号を受信すると、優先順位に応じてリクエストを受理し、リクエストを受理したことを通知する受理通知信号をリクエスト出力部2に送信する。受理通知信号を受信したリクエスト出力部2は、競合リソース部3にアクセスする。   The combinational circuit 117 is a circuit that performs arbitration by the round robin method. When a request signal is received from any one of the request output units 2, the combinational circuit 117 receives the request according to the priority order and accepts that the request has been accepted. The signal is transmitted to the request output unit 2. The request output unit 2 that has received the acceptance notification signal accesses the contention resource unit 3.

図4は、本実施の形態に係る調停装置1の動作を示すフローチャートである。   FIG. 4 is a flowchart showing the operation of the arbitration device 1 according to the present embodiment.

現在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 resource unit 3, and {request output unit 2D> request output unit 2C> request output unit 2B> request output unit 2A} It is assumed that priorities 1 to 4 are assigned to the request output units 2 so that Of these, the case where the request output unit 2C with priority 2 and the request output unit 2B with priority 3 output a request will be described.

まず、制御テーブル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 request output units 2, the priority order of each request output unit 2 is acquired (S701). Wait if there is no request. In this example, since the request output units 2B and C issue a request, the priority order is acquired.

優先順位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 priority 1. The request output unit 2D that is currently at priority 1 does not output a request, and the request output unit 2C at priority 2 outputs a request, so the waiting time set for the request output unit 2C is 0. It is determined whether it is.

待ち時間カウンタが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 request output unit 2 is {request output unit 2D> request output unit 2B> request output unit 2A> request output unit 2C}.
(1) The priority of the request output unit 2 having a higher priority than the request output unit 2 that has accepted the request is not changed.
(2) The priority of the request output unit 2 that has received the request is changed to the lowest order.
(3) The priority of the request output unit 2 having a lower priority than the request output unit 2 that has received the request is changed to one higher order.

次に、各リクエスト出力部2に対応する待ち時間カウンタで、待ち時間が1以上のものは、待ち時間カウンタ値を1減算する(S409)。全ての待ち時間カウンタにおいて、待ち時間の最小値は0であり、例えば初期状態後1回目のリクエストが実行されたときには、どの待ち時間カウンタも減算されない。   Next, when the waiting time counter corresponding to each request output unit 2 has a waiting time of 1 or more, 1 is subtracted from the waiting time counter value (S409). In all the waiting time counters, the minimum value of the waiting time is 0. For example, when the first request is executed after the initial state, no waiting time counter is subtracted.

制御テーブル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 contention resource unit 3.

制御テーブル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 request output units 2.

以上の動作により、競合リソース部3への複雑な要求の実行を、任意にかつ確実に発生させることが可能となる。   With the above operation, it is possible to arbitrarily and reliably generate a complicated request to the competing resource unit 3.

本実施の形態において、制御テーブル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 arbitration device 1 is the operation of the round robin method. Therefore, the arbitration device 1 can be used not only for the logic verification environment but also for the actual environment. Therefore, if the arbitration device 1 for the actual environment is configured similarly to the present embodiment, and the control table 111 is set as pMAX = 1, r_wait = 0, t_wait = 0, the arbitration device 1 is put into practical use. It becomes possible. In addition, when any trouble occurs in the arbitration device 1, the arbitration device 1 can be verified by adjusting the above three values, and there is no need to use another device for verification.

本実施の形態では、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 request output units 2 output requests to one competing resource unit 3 has been described. However, when there are two or more competing resource units 3, two, Even when there are three or five or more request output units 2, arbitration can be performed in the same manner as described above. For example, when there are two competing resource units 3, there is a method in which the arbitrating device 1 includes two control tables 111 for each competing resource unit 3.

また、本実施の形態では、制御テーブルのエントリとして順序制御時間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 time acquisition unit 110, the operation stop time storage unit 113, and the operation stop time setting unit 115 of FIG. 1 are not necessary. When only t_wait is used, the wait time acquisition unit 106 of FIG. The storage unit 107, the sequence control time acquisition unit 109, the sequence control time storage unit 112, and the sequence control time setting unit 114 are not necessary.

実施の形態2.
図6は、本実施の形態に係る調停装置1を備えたシステムの構成を示すブロック図である。
Embodiment 2. FIG.
FIG. 6 is a block diagram illustrating a configuration of a system including the arbitrating device 1 according to the present embodiment.

図6において、乱数生成部119は2つの乱数生成器を有する。一方の乱数生成器は、実施の形態1で説明した動作停止時間を乱数として生成し、他方の乱数生成器は、実施の形態1で説明したい順序制御時間を乱数として生成する。   In FIG. 6, the random number generation unit 119 includes two random number generators. One random number generator generates the operation stop time described in the first embodiment as a random number, and the other random number generator generates the sequence control time desired to be described in the first embodiment as a random number.

本実施の形態に係る調停装置1のその他の構成及び動作は、実施の形態1で説明したものと同様である。   Other configurations and operations of the arbitration device 1 according to the present embodiment are the same as those described in the first embodiment.

このように、実施の形態1では、制御テーブル111の各エントリに含まれたt_waitとr_waitを用いてリクエストを受理、実行するタイミングを制御していたが、本実施の形態では、例えば図4に示したpを変数とする乱数生成器で生成した乱数を用いてタイミングを制御する。   As described above, in Embodiment 1, the timing of receiving and executing a request is controlled using t_wait and r_wait included in each entry of the control table 111. In this embodiment, for example, FIG. The timing is controlled using a random number generated by a random number generator having the indicated p as a variable.

本実施の形態では、制御テーブル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に係る調停装置を備えたシステムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a system including an arbitration device according to Embodiment 1. FIG. 制御テーブルの例。An example of a control table. リクエスト制御部の構成例を示すブロック図。The block diagram which shows the structural example of a request control part. 実施の形態1に係る調停装置の動作を示すフローチャート。4 is a flowchart showing the operation of the arbitration device according to the first embodiment. 調停装置の動作例を示すタイミングチャート。The timing chart which shows the operation example of an arbitration apparatus. 実施の形態2に係る調停装置を備えたシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the system provided with the arbitration apparatus which concerns on Embodiment 2. FIG. 従来の調停装置の動作を示すフローチャート。The flowchart which shows operation | movement of the conventional arbitration apparatus.

符号の説明Explanation of symbols

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 SYMBOLS 1 Arbitration apparatus, 2 Request output part, 3 Contention resource part, 101 Priority acquisition part, 102 Priority order storage part, 104 Request reception part, 105 Request execution part, 106 Wait time acquisition part, 107 Wait time storage part, 108 Wait Time control unit, 109 sequence control time acquisition unit, 110 operation stop time acquisition unit, 111 control table, 112 sequence control time storage unit, 113 operation stop time storage unit, 114 sequence control time setting unit, 115 operation stop time setting unit, 116 3-state gate, 117 combinational circuit, 118 wait counter, 119 random number generation unit, 120 request control unit.

Claims (7)

共通のリソースにアクセスする複数の演算装置が前記リソースへのアクセスを要求するリクエストを調停する調停装置において、
前記演算装置を選択し、選択した演算装置からのリクエストを受理し、実行するリクエスト制御部と、
前記リクエスト制御部がリクエストを受理するまでの前記演算装置それぞれの待ち時間を制御する待ち時間制御部とを備え、
前記リクエスト制御部は、
リクエストを受理する際の前記演算装置それぞれの優先順位を格納する優先順位格納部と、
前記優先順位格納部に格納された優先順位を取得する優先順位取得部と、
前記優先順位取得部が取得した優先順位と前記待ち時間制御部が制御した待ち時間とに基づいて前記演算装置を選択し、選択した演算装置のリクエストを受理するリクエスト受理部と、
前記リクエスト受理部が受理したリクエストを実行するリクエスト実行部とを備えることを特徴とする調停装置。
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;
An arbitration device comprising: a request execution unit that executes a request received by the request reception unit.
前記調停装置は、さらに、
前記リクエスト制御部が動作を停止する動作停止時間を格納する動作停止時間格納部と、
前記動作停止時間格納部に格納された動作停止時間を取得する動作停止時間取得部とを備え、
前記待ち時間制御部は、
前記動作停止時間取得部が取得した動作停止時間に基づいて前記リクエスト制御部の動作を停止させることを特徴とする請求項1に記載の調停装置。
The arbitration device further includes:
An operation stop time storage unit that stores an operation stop time at which the request control unit stops operation; and
An operation stop time acquisition unit for acquiring the operation stop time stored in the operation stop time storage unit,
The waiting time control unit
The arbitration device according to claim 1, wherein the operation of the request control unit is stopped based on the operation stop time acquired by the operation stop time acquisition unit.
前記調停装置は、さらに、
前記リクエスト受理部が演算装置を選択する順序を制御する順序制御時間を格納する順序制御時間格納部と、
前記順序制御時間格納部に格納された順序制御時間を取得する順序制御時間取得部と、
前記待ち時間制御部が設定した待ち時間を格納する待ち時間格納部と、
前記待ち時間格納部に格納された待ち時間を取得する待ち時間取得部とを備え、
前記待ち時間制御部は、
前記順序制御時間取得部が取得した順序制御時間に基づいて待ち時間を設定し、
前記リクエスト受理部は、
前記優先順位取得部が取得した優先順位と前記待ち時間取得部が取得した待ち時間とに基づいて前記演算装置を選択することを特徴とする請求項1又は2に記載の調停装置。
The arbitration device further includes:
An order control time storage unit for storing an order control time for controlling an order in which the request receiving unit selects an arithmetic device;
An order control time acquisition unit for acquiring the order control time stored in the order control time storage unit;
A waiting time storage unit for storing the waiting time set by the waiting time control unit;
A waiting time acquisition unit for acquiring the waiting time stored in the waiting time storage unit,
The waiting time control unit
Set a waiting time based on the sequence control time acquired by the sequence control time acquisition unit,
The request receiving unit
The arbitration device according to claim 1, wherein the arithmetic device is selected based on the priority order acquired by the priority order acquisition unit and the waiting time acquired by the waiting time acquisition unit.
前記調停装置は、さらに、
乱数を生成する乱数生成部を備え、
前記待ち時間制御部は、
前記乱数生成部が生成した乱数に基づいて待ち時間を制御することを特徴とする請求項1に記載の調停装置。
The arbitration device further includes:
A random number generator for generating random numbers,
The waiting time control unit
The arbitration device according to claim 1, wherein the waiting time is controlled based on the random number generated by the random number generation unit.
共通のリソースにアクセスする複数の演算装置が前記リソースへのアクセスを要求するリクエストを調停する調停装置を用いた調停方法において、
前記演算装置を選択し、選択した演算装置からのリクエストを受理し、実行するリクエスト制御工程と、
前記リクエスト制御工程でリクエストを受理するまでの前記演算装置それぞれの待ち時間を制御する待ち時間制御工程とを備え、
前記リクエスト制御工程は、
リクエストを受理する際の前記演算装置それぞれの優先順位を格納する優先順位格納工程と、
前記優先順位格納工程で格納された優先順位を取得する優先順位取得工程と、
前記優先順位取得工程で取得した優先順位と前記待ち時間制御工程で制御した待ち時間とに基づいて前記演算装置を選択し、選択した演算装置のリクエストを受理するリクエスト受理工程と、
前記リクエスト受理工程で受理したリクエストを実行するリクエスト実行工程とを備えることを特徴とする調停方法。
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 request control step of selecting the arithmetic device, receiving a request from the selected arithmetic device, and executing the request;
A waiting time control step for controlling the waiting time of each of the computing devices until the request is received in the request control step,
The request control step includes
A priority order storing step for storing the priority order of each of the computing devices when receiving a request;
A priority acquisition step of acquiring the priority stored in the priority storage step;
A request receiving step of selecting the arithmetic device based on the priority acquired in the priority order acquisition step and the waiting time controlled in the waiting time control step, and receiving a request of the selected arithmetic device;
A mediation method comprising: a request execution step of executing the request received in the request reception step.
前記調停方法は、さらに、
前記リクエスト制御工程の動作を停止する動作停止時間を格納する動作停止時間格納工程と、
前記動作停止時間格納工程で格納された動作停止時間を取得する動作停止時間取得工程とを備え、
前記待ち時間制御工程は、
前記動作停止時間取得工程で取得した動作停止時間に基づいて前記リクエスト制御工程の動作を停止させることを特徴とする請求項5に記載の調停方法。
The arbitration method further includes:
An operation stop time storage step of storing an operation stop time for stopping the operation of the request control step;
An operation stop time acquisition step of acquiring the operation stop time stored in the operation stop time storage step,
The waiting time control step includes
The arbitration method according to claim 5, wherein the operation of the request control step is stopped based on the operation stop time acquired in the operation stop time acquisition step.
前記調停方法は、さらに、
前記リクエスト受理工程で演算装置を選択する順序を制御する順序制御時間を格納する順序制御時間格納工程と、
前記順序制御時間格納工程で格納された順序制御時間を取得する順序制御時間取得工程と、
前記待ち時間制御工程で設定した待ち時間を格納する待ち時間格納工程と、
前記待ち時間格納工程で格納された待ち時間を取得する待ち時間取得工程とを備え、
前記待ち時間制御工程は、
前記順序制御時間取得工程で取得した順序制御時間に基づいて待ち時間を設定し、
前記リクエスト受理工程は、
前記優先順位取得工程で取得した優先順位と前記待ち時間取得工程で取得した待ち時間とに基づいて前記演算装置を選択することを特徴とする請求項5又は6に記載の調停方法。
The arbitration method further includes:
An order control time storing step for storing an order control time for controlling the order in which the computing devices are selected in the request receiving step;
An order control time acquisition step of acquiring the order control time stored in the order control time storage step;
A waiting time storing step for storing the waiting time set in the waiting time control step;
A waiting time acquisition step of acquiring the waiting time stored in the waiting time storage step,
The waiting time control step includes
Set a waiting time based on the sequence control time acquired in the sequence control time acquisition step,
The request acceptance process includes:
The arbitration method according to claim 5 or 6, wherein the arithmetic device is selected based on the priority order acquired in the priority order acquisition step and the waiting time acquired in the waiting time acquisition step.
JP2004320305A 2004-11-04 2004-11-04 Arbitration device and arbitration method Expired - Fee Related JP4955205B2 (en)

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 true JP2006133948A (en) 2006-05-25
JP4955205B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014142912A (en) * 2013-01-24 2014-08-07 Samsung Electronics Co Ltd Adaptive service controllers, system on chip and method of controlling system on chip

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63123151A (en) * 1986-11-13 1988-05-26 Fujitsu Ltd Common bus control system
JPH04177446A (en) * 1990-11-08 1992-06-24 Okuma Mach Works Ltd Bus arbitrating device
JPH10312311A (en) * 1997-05-13 1998-11-24 Mitsubishi Electric Corp Logical simulation method and computer-readable recording medium record with program for implementing logical simulation method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63123151A (en) * 1986-11-13 1988-05-26 Fujitsu Ltd Common bus control system
JPH04177446A (en) * 1990-11-08 1992-06-24 Okuma Mach Works Ltd Bus arbitrating device
JPH10312311A (en) * 1997-05-13 1998-11-24 Mitsubishi Electric Corp Logical simulation method and computer-readable recording medium record with program for implementing logical simulation method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014142912A (en) * 2013-01-24 2014-08-07 Samsung Electronics Co Ltd Adaptive service controllers, system on chip and method of controlling system on chip
US9684633B2 (en) 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same

Also Published As

Publication number Publication date
JP4955205B2 (en) 2012-06-20

Similar Documents

Publication Publication Date Title
US9626465B2 (en) Arbiter verification
JPH08263312A (en) Method and apparatus for bus arbitration
KR100657256B1 (en) Arbiter and bus system therefor
JP2004038967A (en) Method and device which can control use frequency of bus
JP4955205B2 (en) Arbitration device and arbitration method
CN107678993B (en) Computer system and bus arbitration method
US7761280B2 (en) Data processing apparatus simulation by generating anticipated timing information for bus data transfers
US10031771B2 (en) Multiple processor core interrupt priority levels
US7254661B2 (en) Methods, circuits, and computer program products for variable bus arbitration
JP2012079165A (en) Bus arbitration apparatus and bus arbitration method
JP2011059915A (en) Semiconductor device
JP2018005851A (en) Electronic equipment
JP2007172105A (en) Interruption arbitration system and interruption arbitration method
JP5111940B2 (en) Information processing apparatus and access control method
JP5441185B2 (en) Interrupt controller and time-division interrupt generation method
JP3882791B2 (en) Node blocker for computer system and transaction control method thereof
JP2002055944A (en) Device and method for arbitration
CN117492547A (en) Method, device, system and medium for determining reset state of module in chip
JP2007058424A (en) Memory access controller
JP2004038767A (en) Bus arbitration device
JP5246810B2 (en) Output control circuit, output control circuit control method and control program thereof
JP2007034459A (en) Bus system
JPH0895906A (en) Bus arbitrating device
JP2011028732A (en) Image processing device
JPS63316140A (en) Logic simulator

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 (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs 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