JP2013069097A - Device, method, and program for transmission right arbitration - Google Patents
Device, method, and program for transmission right arbitration Download PDFInfo
- Publication number
- JP2013069097A JP2013069097A JP2011206949A JP2011206949A JP2013069097A JP 2013069097 A JP2013069097 A JP 2013069097A JP 2011206949 A JP2011206949 A JP 2011206949A JP 2011206949 A JP2011206949 A JP 2011206949A JP 2013069097 A JP2013069097 A JP 2013069097A
- Authority
- JP
- Japan
- Prior art keywords
- request
- request information
- processing time
- retry processing
- transmission
- 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
Links
Images
Abstract
Description
本発明は、送信権調停装置、送信権調停制御方法、及びそのためのプログラムに関し、特にリトライ機能を有するインタフェースにおける送信権調停装置、送信権調停制御方法、及びそのためのプログラムに関する。 The present invention relates to a transmission right arbitration device, a transmission right arbitration control method, and a program therefor, and more particularly to a transmission right arbitration device, a transmission right arbitration control method, and a program therefor in an interface having a retry function.
マスター装置からスレーブ装置へリクエストを発行するインタフェースにおいて、マスター装置(リクエストの発行元)から発行される複数のリクエストの、発行順を調停する送信権調停制御の関連技術が知られている。 Related Art of transmission right arbitration control that arbitrates the issue order of a plurality of requests issued from a master device (request issue source) in an interface that issues a request from a master device to a slave device is known.
例えば、ラウンドロビン方式(回転優先方式)を用いて送信リクエストを選出する、送信権調停制御方法がある。その送信権調停制御方法による調停では、例えば、リトライ回数が多いリクエストも、一定時間待たされる。このため、スレーブ側(リクエスト受信側)で空き時間が生じる場合があり、システムとして必要なデータ転送に要する時間がスレーブ毎に異なるという問題があった。そのような課題を解決する技術が特許文献1に記載されている。
特許文献1に記載のバス制御装置は、リトライ実行回数を計数するリトライ実行回数カウンタを有し、リトライ回数が一定数に達した場合、リクエスト発行の優先順位を変更する手段を有している。
For example, there is a transmission right arbitration control method in which a transmission request is selected using a round robin method (rotation priority method). In the arbitration by the transmission right arbitration control method, for example, a request with a large number of retries is also waited for a certain time. For this reason, idle time may occur on the slave side (request receiving side), and the time required for data transfer required for the system varies from slave to slave. A technique for solving such a problem is described in
The bus control device described in
しかしながら、上述した特許文献1に記載されたバス制御装置は、リクエスト待ちによる空き時間の発生が、特定のスレーブに偏る確率が高くなる、という問題点を有する。
However, the above-described bus control device described in
その理由は、リトライ処理時間を考慮することなく、リクエストの発行を調停するための優先順位を決定しているからである。 The reason is that the priority order for arbitrating the issuance of requests is determined without considering the retry processing time.
例えば、第1のリクエストにおける複数回のリトライ処理の処理時間の合計に比べて、第2のリクエストにおける1回のリトライ処理の処理時間のほうが長い場合、第1のリクエストが優先的に送信権を得ることになる。従って、第2のリクエストはリトライを待たされることが多くなる。つまり、第1のリクエストに対応するスレーブ側に比べて、第2のリクエストに対応するスレーブ側では、リクエスト待ちによる空き時間が発生する確率が高くなる。 For example, when the processing time of one retry process in the second request is longer than the total processing time of a plurality of retry processes in the first request, the first request gives priority to the transmission right. Will get. Therefore, the second request often waits for a retry. In other words, compared to the slave side corresponding to the first request, the slave side corresponding to the second request has a higher probability of occurrence of idle time due to request waiting.
本発明の目的は、上述した問題点を解決する送信権調停装置、送信権調停制御方法、及びそのためのプログラムを提供することにある。 An object of the present invention is to provide a transmission right arbitration device, a transmission right arbitration control method, and a program therefor that solve the above-described problems.
本発明の送信権調停装置は、複数のリクエスト発行元からリクエストを受信し、前記リクエストを順次送信するリクエスト送信制御手段と、
前記リクエストを識別するリクエスト情報に基づいて、前記リクエスト毎の前記リクエスト発行元におけるリトライ処理時間を計時し、送信待ち状態の前記リクエストの内、前記リトライ処理時間の計時値が最大の前記リクエストを特定する、選出リクエスト情報を生成し、出力するリクエスト選出手段と、を含み、
前記リクエスト送信制御手段は、前記選出リクエスト情報で特定される前記リクエストを送信する。
The transmission right arbitration device of the present invention receives a request from a plurality of request issuers, and sequentially transmits the request.
Based on the request information for identifying the request, the retry processing time at the request issuer for each request is timed, and the request with the maximum value of the retry processing time is identified among the requests waiting to be transmitted. A request selection means for generating and outputting selection request information, and
The request transmission control unit transmits the request specified by the selection request information.
本発明の送信権調停制御方法は、コンピュータが、
複数のリクエスト発行元からリクエストを受信し、前記リクエストを順次送信し、
前記リクエストを識別するリクエスト情報に基づいて、前記リクエスト毎の前記リクエスト発行元におけるリトライ処理時間を計時し、
送信待ち状態の前記リクエストの内、前記リトライ処理時間の計時値が最大の前記リクエストを特定する、選出リクエスト情報を生成し、出力し、
前記リクエストを順次送信する場合、前記選出リクエスト情報で特定される前記リクエストを送信する。
In the transmission right arbitration control method of the present invention, the computer
Receive requests from multiple request issuers, send the requests sequentially,
Based on the request information for identifying the request, the retry processing time in the request issuer for each request is counted,
Generates and outputs selection request information that identifies the request with the maximum time value of the retry processing time among the requests waiting to be transmitted,
When sequentially transmitting the requests, the requests specified by the selection request information are transmitted.
本発明のプログラムは、
複数のリクエスト発行元からリクエストを受信し、前記リクエストを順次送信し、
前記リクエストを識別するリクエスト情報に基づいて、前記リクエスト毎の前記リクエスト発行元におけるリトライ処理時間を計時し、
送信待ち状態の前記リクエストの内、前記リトライ処理時間の計時値が最大の前記リクエストを特定する、選出リクエスト情報を生成し、出力し、
前記リクエストを順次送信する場合、前記選出リクエスト情報で特定される前記リクエストを送信する、処理をコンピュータに実行させる。
The program of the present invention
Receive requests from multiple request issuers, send the requests sequentially,
Based on the request information for identifying the request, the retry processing time in the request issuer for each request is counted,
Generates and outputs selection request information that identifies the request with the maximum time value of the retry processing time among the requests waiting to be transmitted,
When transmitting the requests sequentially, the computer is caused to execute a process of transmitting the requests specified by the selection request information.
本発明は、リクエスト待ちによる空き時間の発生が、特定のスレーブに偏ることを防止することが可能になるという効果がある。 The present invention has an effect that it is possible to prevent the occurrence of idle time due to request waiting from being biased to a specific slave.
次に、本発明の実施形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
[第1の実施の形態]
図1は、本発明の第1の実施形態の構成を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the first exemplary embodiment of the present invention.
図1を参照すると、本実施形態に係る送信権調停装置10は、リクエスト送信制御部100とリクエスト選出部200とを含む。
Referring to FIG. 1, the transmission
図2は、本実施形態に係る送信権調停装置10を含むシステムの構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration of a system including the transmission
図2を参照すると、そのシステムは、マスターユニット410と複数のスレーブユニット420とバスインタフェース400とから構成されている。マスターユニット410は、複数のリクエスト発行部(リクエスト発行元とも呼ばれる)411、送信権調停装置10及びバスインタフェース制御部412を含む。スレーブユニット(リクエスト送信先とも呼ばれる)420は、バスインタフェース制御部422及びリクエスト実行部421を含む。マスターユニット410及び各スレーブユニット420とは、互いに、バスインタフェース400で接続されている。尚、スレーブユニット420は、任意の台数であってよい。
Referring to FIG. 2, the system includes a
リクエスト送信制御部100は、例えばリクエスト発行部411から、リクエストを受信し、受信したリクエストを選出リクエスト情報(後述)に基づいて順次送信する。リクエスト送信制御部100は、例えば、複数の送信待ち状態のリクエストの内、選出リクエスト情報で特定されるリクエストを送信する。また、リクエスト送信制御部100は、
送信待ち状態のリクエストが1つである場合、選出リクエスト情報に基づくことなく、そのリクエストを送信するようにしてもよい。リクエスト送信制御部100は、例えば、バスインタフェース制御部412を介してバスインタフェース400を経由し、スレーブユニット420へリクエストを送信する。
For example, the request
If there is one request waiting to be transmitted, the request may be transmitted without being based on the selection request information. The request
リクエスト選出部200は、リクエストを識別するリクエスト情報に基づいて、リクエスト毎のリクエスト発行部411におけるリトライ処理時間を計時する。尚、リクエスト発行部411があるリクエストを最初に送信する場合のリクエスト情報と、そのリクエストをリトライで送信する場合のリクエスト情報とは同じ内容である。即ち、リクエスト選出部200は、同じリクエスト情報で特定されるリクエストの発行間隔(即ち、リトライ処理時間)を計時する。
The
また、リクエスト選出部200は、送信待ち状態のリクエストの内、リトライ処理時間の計時値が最大であるリクエストを特定する選出リクエスト情報を生成し、リクエスト送信制御部100に出力する。
In addition, the
具体的には、リクエスト選出部200は、リクエスト発行部411が送信したリクエストであって未だスレーブユニット420に送信されていないリクエストの、リトライ処理時間の計時値を比較する。次に、リクエスト選出部200は、それらのリトライ処理時間の計時値が最大であるリクエストを特定する、選出リクエスト情報を生成する。
Specifically, the
尚、リクエスト選出部200は、例えばリクエスト送信制御部100から、リクエスト情報を受け取る。この場合、リクエスト送信制御部100は、受信したリクエストに基づいてリクエスト情報を生成してもよい。
The
また、リクエスト選出部200は、例えばリクエスト発行部411が生成した、リクエスト情報を受信するようにしてもよい。この場合、リクエスト発行部411は、リクエストを送信する際に、そのリクエストに対応するリクエスト情報を送信するようにしてもよい。
Further, the
リクエスト情報は、例えば、リクエスト発行部411の識別子とシリアル番号とから構成される。また、リクエスト情報は、リクエストを識別可能であれば、任意の情報であってよい。
The request information includes, for example, an identifier of the
尚、図1に示す構成要素は、ハードウェア単位の構成ではなく、機能単位の構成を示している。 It should be noted that the components shown in FIG. 1 indicate a functional unit configuration, not a hardware unit configuration.
次に、送信権調停装置10のハードウェア単位の構成要素について説明する。
Next, components in hardware units of the transmission
図3は、本実施形態における送信権調停装置10とその周辺装置のハードウェア構成を示す図である。図3に示されるように、送信権調停装置10は、CPU(Central Processing Unit)1070、記憶部1071、記憶装置1072及び通信部1075を含む。
FIG. 3 is a diagram illustrating a hardware configuration of the transmission
CPU1070は、オペレーティングシステム(不図示)を動作させて、本実施形態に係る送信権調停装置10の全体の動作を制御する。また、CPU1070は、例えば記憶装置1072に装着された不揮発性の記録媒体(不図示)から、記憶部1071にプログラムやデータを読み込む。そして、CPU1070は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図1に示すリクエスト送信制御部100及びリクエスト選出部200として各種の処理を実行する。
The
尚、CPU1070は、通信網(不図示)に接続されている外部コンピュータ(不図示)から、記憶部1071にプログラムやデータをダウンロードするようにしてもよい。
Note that the
記憶部1071は、プログラムやデータを記憶する。
The
記憶装置1072は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、不揮発性の記憶媒体を含む。記憶装置1072は、プログラムをコンピュータ読み取り可能に記録する。また、記憶装置1072は、データをコンピュータ読み取り可能に記録してもよい。
The
通信部1075は、リクエスト送信制御部100及びリクエスト選出部200の一部として含まれる。
The
以上が、送信権調停装置10のハードウェア単位の各構成要素についての説明である。
This completes the description of each component of the transmission
以上説明したように、図1に示す機能単位のブロックは、図3に示すハードウェア構成によって実現される。但し、送信権調停装置10が備える各部の実現手段は、上記に限定されない。すなわち、送信権調停装置10は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
As described above, the functional unit block shown in FIG. 1 is realized by the hardware configuration shown in FIG. However, the means for realizing each unit included in the transmission
また、前述のプログラムを記録した記録媒体(または記憶媒体)が送信権調停装置10に供給され、送信権調停装置10は、記録媒体に格納されたプログラムを読み込み、実行してもよい。すなわち、本実施形態は、送信権調停装置10が実行するプログラムを、一時的にまたは非一時的に、記憶する記録媒体の実施形態を含む。
Further, a recording medium (or storage medium) in which the above-described program is recorded may be supplied to the transmission
次に本実施形態の動作について、図面を参照して詳細に説明する。 Next, the operation of the present embodiment will be described in detail with reference to the drawings.
図4は、送信権調停装置10におけるリクエストの受信及び送信の動作を示すフローチャートである。
FIG. 4 is a flowchart showing the operation of receiving and transmitting a request in the transmission
尚、リクエスト、リクエスト情報、及び計時値は、図3の記憶部1071に記憶されるものとする。
The request, the request information, and the time measurement value are stored in the
送信権調停装置10は、例えば、電源が投入されたことを契機に、図4に示す動作を開始する。
For example, the transmission
送信権調停装置10は、初期設定処理を実行する(S600)。送信権調停装置10は、初期設定処理において、記憶部1071上のリクエスト500及びリクエスト情報テーブル510の領域を0クリアする。
The transmission
また、送信権調停装置10は、初期設定処理において、一定時間(例えば、1マイクロ秒)毎に、タイムアウトを発生するインターバルタイマを設定する。このタイムアウトは、リクエスト選出部200がリトライ処理時間の計時値を更新する動作の契機となる。尚、リトライ処理時間の計時値を更新する動作の詳細は、後述する。
Further, the transmission
次に、リクエスト送信制御部100は、リクエスト発行部411からリクエストを受信したか否かを確認する(S602)。受信した場合(S602でYES)、処理はS604へ進む。受信しなかった場合(S602でNO)、処理はS620へ進む。
Next, the request
S602において、リクエスト送信制御部100は、受信したリクエストを記憶部1071に記憶する(S604)。
In S602, the request
図5は、記憶部1071に記憶されるリクエスト500の構造の一例を示す図である。図5に示すように、リクエスト500は、例えば、リクエスト識別子501と、リクエスト送信先識別子502と、リクエスト内容503とを含む。
FIG. 5 is a diagram illustrating an example of the structure of the request 500 stored in the
リクエスト識別子501は、例えば、リクエスト発行部411それぞれを識別する発行元識別子(例えば、PRQ1)とそのリクエスト発行部411毎のシリアル番号(例えば、001)とからなる(例えば、PRQ1−001)。
The request identifier 501 includes, for example, an issuer identifier (for example, PRQ1) for identifying each
リクエスト送信先識別子502は、例えば、スレーブユニット420のバスインタフェース400上のアドレスである。
The request
リクエスト内容503は、スレーブユニット420のリクエスト実行部421への指示内容(例えば、コマンド及びパラメータ)である。
The
図4に戻って、次に、リクエスト送信制御部100は、リクエスト500からリクエスト識別子501を抽出し、抽出したリクエスト識別子501を含むリクエスト情報を、リクエスト選出部200に出力する(S606)。
Returning to FIG. 4, next, the request
次に、リクエスト選出部200は、受け取ったリクエスト情報に基づいて、図6に示すようなリクエスト情報テーブル510を更新する(S608)。そして、処理はS602へ戻る。
Next, the
図6は、記憶部1071に記憶されるリクエスト情報テーブル510の一例を示す図である。図6に示すようにリクエスト情報テーブル510は、リクエスト情報であるリクエスト識別子501と送信待ちフラグ514と計時値515との組を1以上含む。
FIG. 6 is a diagram illustrating an example of the request information table 510 stored in the
送信待ちフラグ514は、「1」の場合、そのリクエスト識別子501で特定されるリクエストが送信待ち状態であることを示し、「0」の場合、そのリクエストが送信待ち状態ではない状態を示す。 The transmission waiting flag 514 indicates that the request specified by the request identifier 501 is in the transmission waiting state when “1”, and indicates that the request is not in the transmission waiting state when “0”.
計時値515は、例えば、そのリクエスト識別子501で特定されるリクエストのリトライ処理時間を、例えば、マイクロ秒単位の時間で示す数値である。 The time count 515 is, for example, a numerical value indicating the retry processing time of the request specified by the request identifier 501 in, for example, time in microseconds.
ここで、リクエスト選出部200は、例えば、以下のようにしてリクエスト情報テーブル510を更新する。リクエスト選出部200は、受け取ったリクエスト情報のリクエスト識別子501がリクエスト情報テーブル510に既に登録されている場合、そのリクエスト識別子501に対応する送信待ちフラグ514を「1」に設定する。また、リクエスト選出部200は、受け取ったリクエスト情報のリクエスト識別子501がリクエスト情報テーブル510に登録されていない場合、そのリクエスト識別子501をリクエスト情報テーブル510に登録する。この場合、リクエスト選出部200は、登録したリクエスト識別子501に対応する送信待ちフラグ514を「1」に設定し、計時値515を「0」にクリアする。
Here, for example, the
ステップ620において、リクエスト選出部200は、リクエスト情報テーブル510を参照し、送信待ちフラグ514が「1」の内で、計時値515が最大であるリクエスト識別子501を抽出する(S620)。
In step 620, the
次に、リクエスト選出部200は、抽出したリクエスト識別子501を含む選出リクエスト情報を生成し、リクエスト送信制御部100に出力する(S622)。
Next, the
次に、リクエスト送信制御部100は、受け取った選出リクエスト情報に含まれるリクエスト識別子501に対応するリクエストをバスインタフェース制御部412に送信する(S624)。
Next, the request
次に、リクエスト送信制御部は、送信したリクエストのリクエスト識別子501に対応する、リクエスト情報テーブル510の送信待ちフラグ514を「0」に設定する(S26)。そして、処理は、S602へ戻る。 Next, the request transmission control unit sets the transmission waiting flag 514 of the request information table 510 corresponding to the request identifier 501 of the transmitted request to “0” (S26). Then, the process returns to S602.
図7は、送信権調停装置10のリトライ処理時間の計時の動作を示すフローチャートである。
FIG. 7 is a flowchart showing the operation of counting the retry processing time of the transmission
リクエスト選出部200は、上述したインターバルタイマのタイムアウトを契機に、図7に示す動作を開始する。
The
リクエスト選出部200は、リクエスト情報テーブル510を参照し、計時値515の加算をしていないリクエスト識別子501を検出する(S640)。
The
次に、リクエスト選出部200は、リクエスト識別子501を検出したか否かを判定する(S642)。リクエスト識別子501を検出しなかった場合(S642でNO)、処理は終了する。
Next, the
リクエスト識別子501を検出した場合(S642でYES)、リクエスト選出部200は、検出したリクエスト識別子501に対応する計時値515を、「1」加算する(S64)。そして、処理は、S640へ戻る。
When the request identifier 501 is detected (YES in S642), the
図8は、送信権調停装置10が、スレーブユニット420において実行が完了したリクエストを示す完了リクエスト情報を受信した場合の動作を示すフローチャートである。
FIG. 8 is a flowchart showing an operation when the transmission
尚、完了リクエスト情報は、スレーブユニット420において実行が完了したリクエストに対応するリクエスト識別子501を含む。
Note that the completion request information includes a request identifier 501 corresponding to a request that has been executed in the
リクエスト送信制御部100は、例えばリクエスト発行部411から、完了リクエスト情報を受信する(S650)。
The request
次に、リクエスト送受信制御部100は、受信した完了リクエスト情報に含まれるリクエスト識別子501に基づいて、リクエスト情報テーブル510上のリクエスト情報をクリアする(S652)。例えば、リクエスト送受信制御部100は、受信した完了リクエスト情報に含まれるリクエスト識別子501と同じリクエスト識別子501をリクエスト情報テーブル510から検出する。次に、リクエスト送受信制御部100は、検出したリクエスト識別子501、そのリクエスト識別子501と組になっている送信待ちフラグ514及び計時値515を「0」にクリアする。そして、処理は終了する。
Next, the request transmission /
従って、リクエスト選出部200は、リクエストを検出してから(S640)、リクエスト送受信制御部100がそのリクエストの完了リクエスト情報を検出し計数値515をクリアする(S652)まで、前述のインターバルタイマのタイムアウトごとに計数値515に「1」を加算する。これにより、リトライ処理時間が計数される。
Therefore, after the
上述した本実施形態における効果は、リクエスト待ちによる空き時間の発生が、特定のスレーブに偏ることを防止することを可能にする点である。 The effect of the present embodiment described above is that it is possible to prevent the occurrence of idle time due to request waiting from being biased toward a specific slave.
その理由は、以下のような構成を含むからである。即ち、第1にリクエスト選出部200がリクエスト毎のリトライ処理時間を計時し、その計時値515が最大のリクエストを特定するリクエスト識別子501を選出し、出力する。第2に、リクエスト送信制御部100が選出されたリクエスト識別子501で特定されるリクエストを送信する。
This is because the following configuration is included. That is, first, the
上述の効果は、特許文献1に示すようなバス制御装置を含むシステムにおける、データ転送効率がスレーブ毎に異なるという問題を解決する。結果的に、本実施形態の送信権調停装置10は、複数のスレーブ間における、システムとして必要なデータ転送に要する時間を、均等に近づけ、システム全体の性能を向上させる。
The above-described effect solves the problem that the data transfer efficiency differs for each slave in a system including a bus control device as shown in
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.
図9は、本発明の第2の実施形態の構成を示すブロック図である。図9に示すように本実施形態に係る送信権調停装置20は、リクエスト送信制御部101とリクエスト選出部201とを含む。
FIG. 9 is a block diagram showing the configuration of the second exemplary embodiment of the present invention. As illustrated in FIG. 9, the transmission
図2に示すシステムは、第1の実施形態の送信権調停装置10に変えて、本実施形態の送信権調停装置20を含んでもよい。
The system shown in FIG. 2 may include the transmission
リクエスト送信制御部101は、リクエスト格納部110、リクエスト格納部120、リクエスト格納部130及びリクエスト送信部150を含む。以後、リクエスト格納部110、リクエスト格納部120及びリクエスト格納部130を総称する場合、リクエスト格納部110−130と記載する。尚、リクエスト格納部は、本実施形態の例に係わらず、任意の数であってよい。
The request
リクエスト格納部110−130それぞれは、リクエスト発行部411から受信したリクエスト111、リクエスト121及びリクエスト131を格納する。以後、リクエスト111、リクエスト121及びリクエスト131を総称する場合、リクエスト111−131と記載する。また、リクエスト格納部110−130それぞれは、格納したリクエスト111−131それぞれに対応する、格納リクエスト情報112、格納リクエスト情報122及び格納リクエスト情報132を出力する。以後、格納リクエスト情報112、格納リクエスト情報122及び格納リクエスト情報132を総称する場合、格納リクエスト情報112−132と記載する。
Each of the
リクエスト送信部150は、後述する選出リクエスト情報241に基づいて、リクエスト格納部110−130に格納されているリクエスト111−131の内のいずれかを選択する。続けて、リクエスト送信部150は、選択したリクエスト111−131を、送信する。選択したリクエスト111−131の送信と同時に、リクエスト送信部150は、送信したリクエスト111−131を特定する送信リクエスト情報151を、リクエスト選出部201へ出力する。
The request transmission unit 150 selects any of the
リクエスト選出部201は、リクエスト情報格納部210と、リトライ処理時間算出部220と、選出リクエスト情報生成部240とを含む。
The
図10は、本実施形態のリクエスト情報格納部210及びリトライ処理時間算出部220の構成を示すブロック図である。
FIG. 10 is a block diagram illustrating configurations of the request
図10を参照すると、リクエスト情報格納部210は、リクエスト情報レジスタ211、リクエスト情報レジスタ212及びリクエスト情報レジスタ213を含む。以後、リクエスト情報レジスタ211、リクエスト情報レジスタ212及びリクエスト情報レジスタ213を総称する場合、リクエスト情報レジスタ211−213と記載する。尚、リクエスト情報レジスタは、本実施形態の例に係わらず、またリクエスト発行部の数及びリクエスト格納部の数に係わらず、任意の数であってよい。
Referring to FIG. 10, the request
図11は、リクエスト情報レジスタ211の一例を示す図である。図11に示すように、リクエスト情報レジスタ211は、リクエスト識別子と送信待ちフラグと計時フラグとを格納する。尚、リクエスト情報レジスタ212及びリクエスト情報レジスタ213は、リクエスト情報レジスタ211と同様である。
FIG. 11 is a diagram illustrating an example of the
リクエスト情報格納部210は、リクエスト格納部110−130から、格納リクエスト情報112−132を受け取る。そして、リクエスト情報格納部210は、格納リクエスト情報112−132に含まれるリクエスト識別子を、空(リクエスト識別子を格納していない状態)のリクエスト情報レジスタ211−213に、順次格納する。
The request
また、リクエスト情報格納部210は、リクエスト情報レジスタ211−213に、リクエスト識別子を格納すると同時に、送信待ちフラグを「1(送信待ち状態であることを示す)」にセットする。
In addition, the request
また、リクエスト情報格納部210は、リクエスト送信部150から送信リクエスト情報151を受け取る。そして、リクエスト情報格納部210は、受け取った送信リクエスト情報151で特定されるリクエスト111−131に対応するリクエスト情報レジスタ211−213の送信待ちフラグを「0(送信待ち状態でないことを示す)」にセットする。
Further, the request
また、リクエスト情報格納部210は、リクエスト情報レジスタ211−213に、リクエスト識別子を格納すると同時に、そのリクエスト情報レジスタ211−213の計時フラグを「0(計時停止)」にセットする。
Further, the request
また、リクエスト情報格納部210は、リクエスト送信部150から受け取った送信リクエスト情報151で特定されるリクエスト111−131に対応するリクエスト情報レジスタ211−213の計時フラグを「1(計時開始)」にセットする。
Further, the request
更に、リクエスト情報格納部210は、完了リクエスト情報401を受け取った場合、完了リクエスト情報401に含まれるリクエスト識別子と同一の、リクエスト識別子を含むリクエスト情報レジスタ211−213を空にする。ここで、リクエスト情報レジスタ211−213を空にするとは、リクエスト情報レジスタ211−213をリクエスト識別子を格納していない状態(例えば「0」)にすることである。
Further, when receiving the
尚、完了リクエスト情報401は、その完了リクエスト情報401に含まれるリクエスト識別子で特定されるリクエストの処理が、リクエスト送信先(スレーブユニット420)において完了したことを示す情報である。また、リクエスト情報格納部210は、リクエスト情報レジスタ211−213を空にすると同時に、送信待ちフラグ及び計時フラグを「0」にセットする。
The
リクエスト情報レジスタ211−213それぞれは、各送信待ちフラグの状態(「1」及び「0」)に対応する、送信待ち状態信号(「1」及び「0」)2114、送信待ち状態信号2124及び送信待ち状態信号2134それぞれを、選出リクエスト情報生成部240に出力する。以後、送信待ち状態信号2114、送信待ち状態信号2124及び送信待ち状態信号2134を総称する場合は、送信待ち状態信号2114−2134と記載する。また、リクエスト情報レジスタ211−213それぞれは、計時フラグの状態(「1」及び「0」)に対応する、計時信号(「1」及び「0」)2115、計時信号2125及び計時信号2135をカウンタ221−223それぞれに出力する。
Each of the request information registers 211 to 213 has a transmission waiting state signal (“1” and “0”) 2114, a transmission waiting
リクエスト情報レジスタ211−213それぞれは、格納しているリクエスト識別子を格納リクエスト識別子2111、格納リクエスト識別子2122及び格納リクエスト識別子2133として、選出リクエスト情報生成部240へ出力する。以後、格納リクエスト識別子2111、格納リクエスト識別子2122及び格納リクエスト識別子2133を総称する場合、格納リクエスト識別子2111−2133と記載する。尚、リクエスト情報レジスタ211−213それぞれは、リクエスト識別子を格納していない場合、「0」を格納リクエスト識別子2111−2133として、選出リクエスト情報生成部240へ出力する。
Each of the request information registers 211-213 outputs the stored request identifiers as the
図10を参照すると、リトライ処理時間算出部220は、カウンタ221、カウンタ222及びカウンタ223を含む。以後、カウンタ221、カウンタ222及びカウンタ223を総称する場合、カウンタ221−223と記載する。各カウンタ221−223は、リクエスト情報レジスタ211−213に1対1に対応する。
Referring to FIG. 10, the retry processing
カウンタ221−223それぞれは、リクエスト情報レジスタ211−213から受け取る計時信号2115−2135が「0」から「1」に変化すると、保持しているカウント値をリセット(「0」に)し、計時を開始する。また、カウンタ221−223それぞれは、リクエスト情報レジスタ211−213受け取った計時信号2115−2135が「1」から「0」に変化すると、計時を停止する。
Each of the
また、カウンタ221−223それぞれは、保持しているカウント値を、計時値2211、計時値2222及び計時値2233として出力する。以後、計時値2211、計時値2222及び計時値2233を総称する場合、計時値2211−計時値2233と記載する。
Each of the
図12は、本実施形態の選出リクエスト情報生成部240の構成を示すブロック図である。
FIG. 12 is a block diagram illustrating a configuration of the selection request
選出リクエスト情報生成部240は、リクエスト情報格納部210から受け取った格納リクエスト識別子2111−2133及び送信待ち状態信号2114−2134と、リトライ処理時間算出部220から受け取った計時値2211−2233とに基づいて、選出リクエスト情報241を生成し、リクエスト送信部150へ出力する。
The selection request
図12に示すように、選出リクエスト情報生成部240は、比較器231、比較器232、比較器233、否定論理素子242、否定論理積素子243、否定論理積素子244、否定論理積素子245及び選択器246を含む。
As shown in FIG. 12, the selection request
比較器231は、比較値Bと比較値Aとを比較し、比較値Aが比較値B未満の場合「1」を出力し、比較値Aが比較値B以上の場合「0」を出力する。
The
比較器232は、比較値Cと比較値Bとを比較し、比較値Bが比較値C未満の場合「1」を出力し、比較値Bが比較値C以上の場合「0」を出力する。
The
比較器233は、比較値Cと比較値Aとを比較し、比較値Aが比較値C未満の場合「1」を出力し、比較値Aが比較値C以上の場合「0」を出力する。
The
ここで、比較値Aは、送信待ち状態信号2114(例えば、「1」)に対応する値(この場合「1」)と、計時値2211(例えば、「00010101」)とをビット単位で合成した値(「100010101」)である。また、比較値Bは、送信待ち状態信号2124に対応する値と、計時値2222とをビット単位で合成した値である。また、比較値Cは、送信待ち状態信号2134に対応する値と、計時値2233とをビット単位で合成した値である。
Here, the comparison value A is obtained by combining a value (in this case, “1”) corresponding to the transmission waiting state signal 2114 (for example, “1”) and a time measurement value 2211 (for example, “00010101”) in bit units. Value ("100010101"). The comparison value B is a value obtained by combining the value corresponding to the transmission waiting
否定論理素子242、否定論理積素子243、否定論理積素子244及び否定論理積素子245は、図12に示すように接続される。比較器231、比較器232及び比較器233の値に基づいて、否定論理積素子244及び否定論理積素子245それぞれは、次に説明するように、「0」または「1」を出力する。比較値B及び比較値Cの両方が比較値A以下である場合、否定論理積素子244及び否定論理積素子245それぞれは、格納リクエスト識別子2111を選択することを示す、「0」及び「1」を出力する。また、否定論理積素子244及び否定論理積素子245それぞれは、比較値Aが比較値B未満であって比較値Cが比較値B以下である場合、格納リクエスト識別子2122を選択することを示す、「1」及び「0」を出力する。また、否定論理積素子244及び否定論理積素子245それぞれは、比較値A及び比較値Bの両方が比較値C未満である場合、格納リクエスト識別子2133を選択することを示す、「1」及び「1」を出力する。
The negative
選択器246は、入力された否定論理積素子244及び否定論理積素子245の出力に基づいて、リクエスト情報格納部210から受け取った格納リクエスト識別子2111−2133のいずれかを選択し、選出リクエスト情報241として、リクエスト送信部150へ出力する。
The
次に本実施形態の動作について、図面を参照して詳細に説明する。 Next, the operation of the present embodiment will be described in detail with reference to the drawings.
図13乃至図15は、3つのリクエスト発行部411がリクエストを発行し、リトライし、あるタイミングでリトライが競合した場合の、本実施形態の動作を示すタイムチャートである。
FIG. 13 to FIG. 15 are time charts showing the operation of this embodiment when three
図13乃至図15において、最上行の「Txx」(例えば、T00)は、送信権調停装置20を含むマスターユニット410の各動作タイミングを示している。この動作タイミングは、カウンタ221、カウンタ222及びカウンタ223のカウント値更新のタイミングと同期している。
In FIG. 13 to FIG. 15, “Txx” (for example, T00) in the top row indicates each operation timing of the
図13乃至図15において、状態P110、状態P120及び状態P130それぞれは、各動作タイミングにおける、リクエスト格納部110−130の格納状態を示す。例えば「RQ1」は、その動作タイミングにおいて、リクエスト111を格納していることを示す。また、「0」は、その動作タイミングにおいて、空(リクエストを格納していない状態)であることを示す。
13 to 15, each of the state P110, the state P120, and the state P130 indicates the storage state of the request storage unit 110-130 at each operation timing. For example, “RQ1” indicates that the
図13乃至図15において、状態P150は、各動作タイミングにおける、リクエスト送信部150の送信状態を示す。例えば「TRQ1」は、その動作タイミングでリクエスト111を送信したことを示す。また、「0」は、その動作タイミングでリクエストを送信しなかったことを示す。
13 to 15, a state P150 indicates a transmission state of the request transmission unit 150 at each operation timing. For example, “TRQ1” indicates that the
図13乃至図15において、各動作タイミングにおける、状態P211、状態P212及び状態P213それぞれは、リクエスト情報レジスタ211、リクエスト情報レジスタ212及びリクエスト情報レジスタ213それぞれの格納状態を示す。例えば「IRQ1」は、その動作タイミングにおいて、リクエスト111のリクエスト情報を格納していることを示す。また、「0」は、その動作タイミングにおいて、空(リクエスト情報を格納していない状態)であることを示す。
13 to 15, the state P211, the state P212, and the state P213 at each operation timing respectively indicate the storage states of the request information register 211, the request information register 212, and the
図13乃至図15において、各動作タイミングにおける、状態P2114、状態P2124及び状態P2134それぞれは、リクエスト情報レジスタ211、リクエスト情報レジスタ212及びリクエスト情報レジスタ213それぞれの送信待ちフラグの状態を示す。 13 to 15, the state P2114, the state P2124, and the state P2134 at the respective operation timings indicate the states of the transmission waiting flags of the request information register 211, the request information register 212, and the request information register 213, respectively.
図13乃至図15において、各動作タイミングにおける、状態P2115、状態P2125及び状態P2135それぞれは、リクエスト情報レジスタ211、リクエスト情報レジスタ212及びリクエスト情報レジスタ213それぞれの計時フラグの状態を示す。 13 to 15, the state P2115, the state P2125, and the state P2135 at the respective operation timings indicate the state of the timekeeping flags of the request information register 211, the request information register 212, and the request information register 213, respectively.
図13乃至図15において、各動作タイミングにおける、状態P2211、状態P2222及び状態P2233それぞれは、各動作タイミングにおける、カウンタ221、カウンタ222及びカウンタ223それぞれのカウント値の出力である計時値2211、計時値2222及び計時値2233の出力状態を示す。
13 to 15, the state P2211, the state P2222, and the state P2233 at each operation timing are respectively a
図13乃至図15おいて、状態P241は、各動作タイミングにおける、選出リクエスト情報241の出力の状態を示す。例えば、「SRQ1」は、リクエスト111のリクエスト情報を出力したことを示す。
13 to 15, a state P241 indicates the output state of the
図13乃至図15において、状態P401は、各動作タイミングにおける、完了リクエスト情報401の状態を示す。例えば、「CRQ3」は、スレーブユニット420におけるRQ3の処理が完了したことを通知する、完了リクエスト情報401が出力されたことを示す。また、「0」は、その動作タイミングにおいて、リクエストが完了したことを示す完了リクエスト情報401は、出力されなかったことを示す。
13 to 15, a state P401 indicates the state of the
T00において、3つのリクエスト発行部411は、リクエスト111(以後、RQ1と表記する)、リクエスト121(以後、RQ2と表記する)、リクエスト131(以後、RQ3と表記する)を発行する。これらを受けて、リクエスト格納部110−130それぞれは、RQ1、RQ2及びRQ3を格納する(状態P110、状態P120及び状態P130それぞれが、「RQ1」、「RQ2」、及び「RQ3」)。同時に、リクエスト格納部110−130それぞれは、格納リクエスト情報112−132を出力する。
At T00, the three
T00において、更に、リクエスト情報格納部210は、受け取った格納リクエスト情報112−132に基づいて、リクエスト情報レジスタ211−213それぞれに、RQ1、RQ2及びRQ3を特定するリクエスト識別子を格納する(状態P211、状態P212及び状態P213それぞれが、「IRQ1」、「IRQ2」及び「IRQ3」)。
In T00, the request
同時に、リクエスト情報格納部210は、リクエスト情報レジスタ211−213それぞれの送信待ちフラグを「1」にセットする(状態P2114、状態P2124及び状態P2134が、「1」)。更に、リクエスト情報格納部210は、リクエスト情報レジスタ211−213それぞれの計時フラグを「0」にセットする(状態P2115、状態P2125及び状態P2135が、「0」)。
At the same time, the request
尚、上述の状態において、カウンタ221−223が出力する計時値2211−2233それぞれは、いずれも「0」である(状態P2211、状態P2222及び状態P2233が、「0」)。
In the above-described state, each of the measured
T00において、更に、選出リクエスト情報生成部240は、カウンタ221−223から受け取った計時値2211−2233及びリクエスト情報格納部210から受け取った送信待ち状態信号2114−2134に基づいて、リクエスト情報格納部210から受け取った格納リクエスト識別子2111−2133から格納リクエスト識別子2111を選択し、選出リクエスト情報241として出力する(状態P241が、「SRQ1」)。
Further, at T00, the selection request
次に、T01において、リクエスト送信部150は、状態P241の「SRQ1」に基づいて、RQ1を送信する(状態P150が「TRQ1」)。同時に、リクエスト送信部150は、送信したリクエストを特定するリクエスト識別子501を含む、送信リクエスト情報151を出力する。
Next, in T01, the request transmission unit 150 transmits RQ1 based on “SRQ1” in the state P241 (state P150 is “TRQ1”). At the same time, the request transmission unit 150 outputs
T01において、更に、リクエスト情報格納部210は、受け取った送信リクエスト情報151に含まれるリクエスト識別子501と同一の値の格納リクエスト識別子2111を格納しているリクエスト情報レジスタ211の送信待ちフラグを「0」にセットする(状態P2114が、「0」)。
In T01, the request
T01において、更に、リクエスト情報格納部210は、そのリクエスト情報レジスタ211の計時フラグを「1」にセットする(状態P2115が、「1」)。これにより、リクエスト情報レジスタ211は、計時信号2115として「1」を出力する。
In T01, the request
T01において、更に、カウンタ221は、「0」から「1」に変化した計時信号2115を受け取ったことに基づいて、カウント値を初期化し、計時を開始する。尚、カウンタ221が出力する計時値2211は、TO1においては未だ「0」である。
In T01, the
T01において、更に、選出リクエスト情報生成部240は、カウンタ221−223から受け取った計時値2211−2233及びリクエスト情報格納部210から受け取った送信待ち状態信号2114−2134に基づいて、リクエスト情報格納部210から受け取った格納リクエスト識別子2111−2133から格納リクエスト識別子2122を選択し、選出リクエスト情報241として出力する(状態P241が、「SRQ2」)。
In T01, the selection request
ここで、選出リクエスト情報生成部240の動作を、計時値2211−計時値2233それぞれは、8ビットの値であるとして具体的に説明する。
Here, the operation of the selection request
比較器231において、比較値Bは、送信待ち状態信号2124(「1」)に対応する値の「1」と、計時値2222(「00000000」)とをビット単位で合成した値(「100000000」)である。また、比較値Aは、送信待ち状態信号2114(「0」)に対応する値の「0」と、計時値2211(「00000000」)とをビット単位で合成した値(「000000000」)である。従って、比較器231は、「1」を出力する。
In the
また、比較器232において、比較値Cは、送信待ち状態信号2134(「1」)に対応する値の「1」と、計時値2233(「00000000」)とをビット単位で合成した値(「100000000」)である。また、比較値Bは、送信待ち状態信号2124(「1」)に対応するの「1」値と、計時値2222(「00000000」)とをビット単位(「100000000」)で合成した値である。従って、比較器232は、「0」を出力する。
Further, in the
また、比較器233において、比較値Cは、送信待ち状態信号2134(「1」)に対応する値の「1」と、計時値2233(「00000000」)とをビット単位で合成した値(「100000000」)である。また、比較値Aは、送信待ち状態信号2114(「0」)に対応する値の「0」と、計時値2211(「00000000」)とをビット単位で合成した値(「000000000」)である。従って、比較器233は、「1」を出力する。
Further, in the
比較器231、比較器232及び比較器233の出力に基づいて、否定論理積素子244及び否定論理積素子245それぞれは、「1」及び「0」を出力する。
Based on the outputs of the
この場合、選択器246は、格納リクエスト識別子2122を選択し、選出リクエスト情報241として出力する。
In this case, the
次に、T02においても、同様な動作により、リクエスト送信部150は、RQ2を送信する(状態P150が「TRQ2」)。また、選択器246は、格納リクエスト識別子2133を選択し、選出リクエスト情報241として出力する(状態P241が、「SRQ3」)。
Next, also in T02, the request transmission unit 150 transmits RQ2 by the same operation (the state P150 is “TRQ2”). Further, the
次に、T03においても、同様な動作により、リクエスト送信部150は、RQ3を送信する(状態P150が「TRQ3」)。また、選択器246は、格納リクエスト識別子2111を選択し、選出リクエスト情報241として出力する。但し、次のT04において、リクエスト格納部110が、空であるため、リクエスト送信部150は、リクエストを送信しない。
Next, also at T03, the request transmission unit 150 transmits RQ3 by the same operation (the state P150 is “TRQ3”). The
尚、カウンタ222はT02において、及びカウンタ223はT03において、「0」から「1」に変化した計時信号2125を受け取ったことに基づいて、カウント値を初期化し、計時を開始する。カウンタ221、カウンタ222及びカウンタ223それぞれのカウント値の出力である計時値2211、計時値2222及び計時値2233は、例えば、T05において、「4」、「3」及び「2」である。
The
T10、T20及びT30において、リクエスト発行部411は、リトライ処理として、リクエスト111を送信する。
In T10, T20, and T30, the
送信権調停装置20は、これらに基づいて、T11、T21及びT31それぞれにおいて、RQ1を送信する。同時に、送信権調停装置20は、カウンタ221を初期化し、計時を開始する。
Based on these, the transmission
T22において、リクエスト発行部411は、リトライ処理として、リクエスト121を発行する。
In T22, the
送信権調停装置20は、これらに基づいて、T23において、RQ2を送信する。同時に、送信権調停装置20は、カウンタ222を初期化し、計時を開始する。
Based on these, the transmission
T40において、リクエスト発行部411は、リトライ処理として、リクエスト111、リクエスト121及びリクエスト131を発行する。
In T40, the
これらを受けて、リクエスト格納部110−130それぞれは、RQ1、RQ2及びRQ3を格納する。同時に、リクエスト格納部110−130それぞれは、格納リクエスト情報112−132を出力する。 In response to these, each of the request storage units 110-130 stores RQ1, RQ2, and RQ3. At the same time, each of the request storage units 110-130 outputs storage request information 112-132.
T40において、更に、リクエスト情報格納部210は、受け取った格納リクエスト情報112−132に基づいて、リクエスト情報レジスタ211−213それぞれに、RQ1、Q2及びRQ3のリクエスト識別子を格納する。
In T40, the request
同時に、リクエスト情報格納部210は、リクエスト情報レジスタ211−213それぞれの送信待ちフラグを「1」にセットする。更に、リクエスト情報格納部210は、リクエスト情報レジスタ211−213それぞれの計時フラグを「0」にセットする。
At the same time, the request
尚、上述の状態において、カウンタ221−223が出力する計時値2211−2233それぞれは、「9」、「17」及び「37」である。
In the above-described state, the measured
T40において、更に、選出リクエスト情報生成部240は、カウンタ221−223から受け取った計時値2211−2233及びリクエスト情報格納部210から受け取った送信待ち状態信号2114−2134に基づいて、リクエスト情報格納部210から受け取った格納リクエスト識別子2111−2133から格納リクエスト識別子2133を選択し、選出リクエスト情報241として出力する(状態P241が、「SRQ3」)。
Further, at T40, the selection request
次に、T41において、上述と同様な動作により、リクエスト送信部150は、RQ3を送信する(状態P150が「TRQ3」)。また、選択器246は、格納リクエスト識別子2122を選択し、選出リクエスト情報241として出力する(状態P241が、「SRQ2」)。
Next, at T41, the request transmission unit 150 transmits RQ3 by the same operation as described above (the state P150 is “TRQ3”). Further, the
次に、T42において、同様な動作により、リクエスト送信部150は、RQ2を送信する(状態P150が「TRQ2」)。また、選択器246は、格納リクエスト識別子2111を選択し、選出リクエスト情報241として出力する(状態P241が、「SRQ1」)。
Next, at T42, the request transmission unit 150 transmits RQ2 by the same operation (the state P150 is “TRQ2”). Further, the
次に、T43において、同様な動作により、リクエスト送信部150は、RQ1を送信する(状態P150が「TRQ1」)。 Next, at T43, the request transmission unit 150 transmits RQ1 by the same operation (the state P150 is “TRQ1”).
T45において、リクエスト発行部411は、スレーブユニット420におけるRQ3の処理が完了したことを通知する、完了リクエスト情報401を出力する(状態P401が「CRQ3」)。
In T45, the
次に、T46において、リクエスト情報格納部210は、リクエスト情報レジスタ213を空にする(状態P213及び状態P2135が「0」)。
Next, at T46, the request
以上が、本実施形態の動作の説明である。 The above is the description of the operation of the present embodiment.
尚、選出リクエスト情報生成部240は、上述の構成に係わらず、計時値(リトライ処理の待ち時間)が最大のリクエスト識別子を選出し、出力するように構成されてよい。
Note that the selection request
また、リクエスト選出部201は、上述の構成に係わらず、送信待ち状態であって、計時値が最大のリクエスト識別子を選出するように構成されてよい。
In addition, the
上述した本実施形態における効果は、第1の実施形態の効果に加え、リクエストの送信権調停処理をより高速に実行することを可能にする点である。 The effect of the present embodiment described above is that, in addition to the effect of the first embodiment, the request transmission right arbitration process can be executed at higher speed.
その理由は、選出リクエスト情報生成部240をハードウェア回路で構成したからである。
This is because the selection request
[第3の実施形態]
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
[Third Embodiment]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.
本実施形態は、第1の実施形態に比べて、計時値515を「0」でクリアすることに替えて、計時値515をリクエスト送信先に対応する初期値に設定する点が異なる。 This embodiment is different from the first embodiment in that the time value 515 is set to an initial value corresponding to the request transmission destination instead of clearing the time value 515 with “0”.
図16は、計時初期値テーブル530の例を示す図である。図16に示すように、計時初期値テーブル530は、リクエスト送信先識別子502と計時初期値532との組を、1以上含む。
FIG. 16 is a diagram illustrating an example of the timekeeping initial value table 530. As illustrated in FIG. 16, the timing initial value table 530 includes one or more sets of request
図4のS606において、リクエスト送信制御部100は、受信したリクエスト500からリクエスト識別子501及びリクエスト送信先識別子502を抽出する。続けて、リクエスト送信制御部100は、抽出したリクエスト識別子501及びリクエスト送信先識別子502を含むリクエスト情報を、リクエスト選出部200に出力する。
In S <b> 606 of FIG. 4, the request
図4のS608において、リクエスト選出部200は、受け取ったリクエスト情報に基づいて、リクエスト情報テーブル510を更新する。
In S608 of FIG. 4, the
ここで、リクエスト選出部200は、計時初期値テーブル530を参照し、受け取ったリクエスト情報に含まれるリクエスト送信先識別子502に対応する、計時初期値532を取得する。続けて、リクエスト選出部200は、取得した計時初期値532に基づいて計時値515を設定する。
Here, the
尚、本実施形態は、以下のように第2の実施形態を基にしてもよい。 The present embodiment may be based on the second embodiment as follows.
図17は、本実施形態に係る送信権調停装置20のリクエスト選出部301の一部の構成を示すブロック図である。
FIG. 17 is a block diagram illustrating a partial configuration of the request selection unit 301 of the transmission
図17を参照すると、本実施形態のリクエスト選出部301は、初期値格納手段351を更に含む。また、本実施形態のリクエスト選出部301は、リクエスト情報レジスタ211、リクエスト情報レジスタ212及びリクエスト情報レジスタ213に替えてリクエスト情報レジスタ331、リクエスト情報レジスタ332及びリクエスト情報レジスタ333を含む。以後、リクエスト情報レジスタ331、リクエスト情報レジスタ332及びリクエスト情報レジスタ333を総称する場合、リクエスト情報レジスタ331−333と記載する。
Referring to FIG. 17, the request selection unit 301 of the present embodiment further includes an initial value storage unit 351. In addition, the request selection unit 301 of this embodiment includes a request information register 331, a request information register 332, and a request information register 333 instead of the request information register 211, the request information register 212, and the
図18は、リクエスト情報レジスタ331の一例を示す図である。図18に示すように、リクエスト情報レジスタ331は、リクエスト識別子とリクエスト先識別子と送信待ちフラグと計時フラグとを格納する。尚、リクエスト情報レジスタ332及びリクエスト情報レジスタ333は、リクエスト情報レジスタ331と同様である。
FIG. 18 is a diagram illustrating an example of the
また、リクエスト情報レジスタ331−333それぞれは、計時信号2115−2125の出力を「0」から「1」に変更するとき、同時に、初期値格納手段351にリクエスト先識別子を出力する。 Further, each of the request information registers 331 to 333 outputs a request destination identifier to the initial value storage unit 351 at the same time when the output of the timing signal 2115-2125 is changed from “0” to “1”.
初期値格納手段351は、受け取ったリクエスト先識別子に対応する計時初期値を、カウンタ221-223に出力する。 The initial value storage unit 351 outputs the timekeeping initial value corresponding to the received request destination identifier to the counter 221-223.
カウンタ221-223それぞれは、計時信号2115−2125が「0」から「1」に変化した場合、受け取った計時初期値をカウンタ値として設定する。
Each of the
こうして、本実施形態では各計時値の初期値を、リクエストの行き先に対応して設定可能としている。従って、本実施形態では、リクエストの行き先に基づいて、リクエストの発行調停での優先順位を制御することが可能になる。 Thus, in this embodiment, the initial value of each timekeeping value can be set in correspondence with the destination of the request. Therefore, in the present embodiment, it is possible to control the priority in request issue arbitration based on the destination of the request.
例えば、マスターユニット410におけるプログラムの特性により、リクエストの発行先(スレーブユニット420)が偏る場合が存在する。例えば、あるスレーブユニット420に多くのリクエストが集中するようなプログラムにおいては、リトライが発生した場合にそのスレーブユニット420行きのリクエストの送信を優先することで、全リクエストの処理時間が短縮可能となる。
For example, there is a case where the request issue destination (slave unit 420) is biased due to the program characteristics in the
尚、計時初期値テーブル530及び初期値格納手段351の内容は、例えば、図示しない手段により、ユーザが予め設定する。また、計時初期値テーブル530及び初期値格納手段351の内容は、マスターユニット410の図示しない手段が、運用形態に応じて、送信権調停装置10に設定するようにしてもよい。
Note that the contents of the timekeeping initial value table 530 and the initial value storage means 351 are preset by the user by means not shown, for example. Further, the contents of the timekeeping initial value table 530 and the initial value storage means 351 may be set in the transmission
上述した本実施形態における第1の効果は、第1の実施形態或いは第2の実施形態の効果に加え、リクエスト選出部200が選出するリクエスト識別子の選出優先度を、そのリクエスト識別子で特定されるリクエストの送信先に応じて、調整することを可能にする点である。
The above-described first effect of the present embodiment is that the request identifier selection priority selected by the
その理由は、計時初期値テーブル530を含み、リクエスト選出部200は、計時初期値テーブル530を参照し、リクエスト送信先識別子502に対応する、計時初期値532計時初期値532に基づいて計時値515を設定するようにしたからである。
The reason includes the timekeeping initial value table 530, and the
上述した本実施形態における第2の効果は、ユーザによる送信権調停処理のチューンナップが可能になる点である。 The second effect of the present embodiment described above is that the transmission right arbitration process can be tuned up by the user.
その理由は、計時初期値テーブル530を、ユーザが予め設定するようにしたからである。 The reason is that the user sets the time keeping initial value table 530 in advance.
以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to each embodiment and an Example, this invention is not limited to the said embodiment and Example. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されたり、1つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。 Each component described in each of the above embodiments does not necessarily have to be individually independent. For example, in each component, a plurality of components may be realized as one module, or one component may be realized as a plurality of modules. Each component is configured such that a component is a part of another component, or a part of a component overlaps a part of another component. Also good.
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ可能であれば、ハードウェア的に実現されても良いし、コンピュータ及びプログラムで実現されても良いし、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されても良い。プログラムは、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。 In the embodiments described above, each component and a module that realizes each component may be realized by hardware as long as necessary, or may be realized by a computer and a program. It may be realized by mixing hardware modules, computers, and programs. The program is provided by being recorded on a non-volatile computer-readable recording medium such as a magnetic disk or a semiconductor memory, and read by the computer when the computer is started up. The read program causes the computer to function as a component in each of the above-described embodiments by controlling the operation of the computer.
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。 Further, in each of the embodiments described above, a plurality of operations are described in order in the form of a flowchart, but the described order does not limit the order in which the plurality of operations are executed. For this reason, when each embodiment is implemented, the order of the plurality of operations can be changed within a range that does not hinder the contents.
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。 Furthermore, in each embodiment described above, a plurality of operations are not limited to being executed at different timings. For example, another operation may occur during the execution of a certain operation, or the execution timing of a certain operation and another operation may partially or entirely overlap.
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作の全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。 Furthermore, in each of the embodiments described above, a certain operation is described as a trigger for another operation, but the description does not limit all relationships between the certain operation and the other operations. For this reason, when each embodiment is implemented, the relationship between the plurality of operations can be changed within a range that does not hinder the contents. The specific description of each operation of each component does not limit each operation of each component. For this reason, each specific operation | movement of each component may be changed in the range which does not cause trouble with respect to a functional, performance, and other characteristic in implementing each embodiment.
10 送信権調停装置
20 送信権調停装置
100 リクエスト送信制御部
101 リクエスト送信制御部
110 リクエスト格納部
111 リクエスト
112 格納リクエスト情報
120 リクエスト格納部
121 リクエスト
122 格納リクエスト情報
130 リクエスト格納部
131 リクエスト
132 格納リクエスト情報
150 リクエスト送信部
151 送信リクエスト情報
200 リクエスト選出部
201 リクエスト選出部
210 リクエスト情報格納部
211 リクエスト情報レジスタ
212 リクエスト情報レジスタ
213 リクエスト情報レジスタ
220 リトライ処理時間算出部
221 カウンタ
222 カウンタ
223 カウンタ
231 比較器
232 比較器
233 比較器
240 選出リクエスト情報生成部
241 選出リクエスト情報
242 否定論理素子
243 否定論理積素子
244 否定論理積素子
245 否定論理積素子
246 選択器
301 リクエスト選出部
331 リクエスト情報レジスタ
332 リクエスト情報レジスタ
333 リクエスト情報レジスタ
351 初期値格納手段
400 バスインタフェース
401 完了リクエスト情報
410 マスターユニット
411 リクエスト発行部
412 バスインタフェース制御部
420 スレーブユニット
421 リクエスト実行部
422 バスインタフェース制御部
500 リクエスト
501 リクエスト識別子
502 リクエスト送信先識別子
503 リクエスト内容
510 リクエスト情報テーブル
514 フラグ
515 計時値
530 計時初期値テーブル
532 計時初期値
1070 CPU
1071 記憶部
1072 記憶装置
1075 通信部
2111 格納リクエスト識別子
2114 状態信号
2115 計時信号
2122 格納リクエスト識別子
2133 格納リクエスト識別子
2124 状態信号
2125 計時信号
2134 状態信号
2135 計時信号
2211 計時値
2222 計時値
2233 計時値
DESCRIPTION OF
1071
Claims (9)
前記リクエストを識別するリクエスト情報に基づいて、前記リクエスト毎の前記リクエスト発行元におけるリトライ処理時間を計時し、送信待ち状態の前記リクエストの内、前記リトライ処理時間の計時値が最大の前記リクエストを特定する、選出リクエスト情報を生成し、出力するリクエスト選出手段と、を含み、
前記リクエスト送信制御手段は、前記選出リクエスト情報で特定される前記リクエストを送信する、
送信権調停装置。 Request transmission control means for receiving requests from a plurality of request issuers and sequentially transmitting the requests;
Based on the request information for identifying the request, the retry processing time at the request issuer for each request is timed, and the request with the maximum value of the retry processing time is identified among the requests waiting to be transmitted. A request selection means for generating and outputting selection request information, and
The request transmission control means transmits the request specified by the selection request information.
Transmission right arbitration device.
前記リクエストの送信先それぞれに対応する前記リトライ処理時間の計時値の初期値である計時初期値に基づいて、前記リトライ処理時間の計時値を初期化し、前記計時を開始する、
ことを特徴とする請求項1記載の送信権調停装置。 The request selection means includes:
Based on the initial value of the time value of the retry processing time corresponding to each of the transmission destinations of the request, the time value of the retry processing time is initialized, and the time measurement is started.
The transmission right arbitration apparatus according to claim 1.
前記リクエスト格納手段は、前記リクエストを受信した場合に前記リクエストを格納し、
前記リクエスト送信手段は、前記選出リクエスト情報に基づいて、送信する前記リクエストを選択し、送信する
ことを特徴とする請求項1または2記載の送信権調停装置。 The request transmission control means includes a plurality of request storage means for storing the request, and a request transmission means,
The request storage means stores the request when the request is received,
The transmission right arbitration apparatus according to claim 1, wherein the request transmission unit selects and transmits the request to be transmitted based on the selection request information.
前記リクエスト情報格納手段は、
受け取った前記リクエスト情報と同一の内容の前記リクエスト情報を格納している場合、前記同一の内容のリクエスト情報に対応する前記リトライ処理時間の計時開始をリトライ処理時間算出手段に指示し、
受け取った前記リクエスト情報と同一の内容の前記リクエスト情報を格納していない場合、受け取った前記リクエスト情報を格納し、前記リクエスト情報に対応する前記リトライ処理時間の計時開始を前記リトライ処理時間算出手段に指示し、
リクエスト送信先における前記リクエストの処理が完了したことを示す完了リクエスト情報を受け取った場合に、前記完了リクエスト情報で特定される前記リクエスト情報を削除し、削除した前記リクエスト情報に対応する前記リトライ処理時間の計時停止を前記リトライ処理時間算出手段に指示し、
前記リトライ処理時間算出手段は、前記計時開始の指示に基づいて、前記リトライ処理時間の計時値を初期化し、前記リトライ時間の計時を開始し、
選出リクエスト情報生成手段は、前記リトライ処理時間の計時値と前記リクエスト情報格納手段が格納しているリクエスト情報とに基づいて、前記選出リクエスト情報を生成し、出力する
ことを特徴とする請求項1乃至3のいずれか1項に記載の送信権調停装置。 The request selection means includes request information storage means for storing the request information, retry processing time calculation means for timing the retry processing time, and selection request information generation means for generating the selection request information. Information storage means
If the request information having the same content as the received request information is stored, the retry processing time calculating unit is instructed to start measuring the retry processing time corresponding to the request information having the same content,
If the request information having the same content as the received request information is not stored, the received request information is stored, and the retry processing time calculation unit is configured to start timing the retry processing time corresponding to the request information. Direct,
When completion request information indicating completion of processing of the request at the request transmission destination is received, the request information specified by the completion request information is deleted, and the retry processing time corresponding to the deleted request information Is instructed to the retry processing time calculation means,
The retry processing time calculating means initializes the time value of the retry processing time based on the instruction to start timing, and starts measuring the retry time,
The selection request information generation means generates and outputs the selection request information based on the time value of the retry processing time and the request information stored in the request information storage means. 4. The transmission right arbitration device according to any one of items 1 to 3.
複数のリクエスト発行元からリクエストを受信し、前記リクエストを順次送信し、
前記リクエストを識別するリクエスト情報に基づいて、前記リクエスト毎の前記リクエスト発行元におけるリトライ処理時間を計時し、
送信待ち状態の前記リクエストの内、前記リトライ処理時間の計時値が最大の前記リクエストを特定する、選出リクエスト情報を生成し、出力し、
前記リクエストを順次送信する場合、前記選出リクエスト情報で特定される前記リクエストを送信する、
送信権調停制御方法。 Computer
Receive requests from multiple request issuers, send the requests sequentially,
Based on the request information for identifying the request, the retry processing time in the request issuer for each request is counted,
Generates and outputs selection request information that identifies the request with the maximum time value of the retry processing time among the requests waiting to be transmitted,
When sequentially transmitting the requests, the request specified by the selection request information is transmitted.
Transmission right arbitration control method.
ことを特徴とする請求項5記載の送信権調停制御方法。 When measuring the retry processing time, based on the initial value of the time value of the retry processing time corresponding to each destination of the request, the time value of the retry processing time is initialized, Start timing,
The transmission right arbitration control method according to claim 5.
前記リクエストを識別するリクエスト情報に基づいて、前記リクエスト毎の前記リクエスト発行元におけるリトライ処理時間を計時し、
送信待ち状態の前記リクエストの内、前記リトライ処理時間の計時値が最大の前記リクエストを特定する、選出リクエスト情報を生成し、出力し、
前記リクエストを順次送信する場合、前記選出リクエスト情報で特定される前記リクエストを送信する、処理をコンピュータに実行させる
プログラム。 Receive requests from multiple request issuers, send the requests sequentially,
Based on the request information for identifying the request, the retry processing time in the request issuer for each request is counted,
Generates and outputs selection request information that identifies the request with the maximum time value of the retry processing time among the requests waiting to be transmitted,
A program for causing a computer to execute processing for transmitting the requests specified by the selection request information when transmitting the requests sequentially.
ことを特徴とする請求項7記載のプログラム。 When measuring the retry processing time, based on the initial value of the time value of the retry processing time corresponding to each destination of the request, the time value of the retry processing time is initialized, 8. The program according to claim 7, which causes a computer to execute processing for starting timing.
前記リクエストを処理する複数のスレーブユニットと、を含み、
前記マスターユニットと前記スレーブユニットとはバスインタフェースで接続される
システム。 A master unit that mounts the transmission right arbitration device according to claim 1 and issues the request;
A plurality of slave units for processing the request,
The master unit and the slave unit are connected via a bus interface.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011206949A JP6034008B2 (en) | 2011-09-22 | 2011-09-22 | Transmission right arbitration device, transmission right arbitration control method, and program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011206949A JP6034008B2 (en) | 2011-09-22 | 2011-09-22 | Transmission right arbitration device, transmission right arbitration control method, and program therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013069097A true JP2013069097A (en) | 2013-04-18 |
JP6034008B2 JP6034008B2 (en) | 2016-11-30 |
Family
ID=48474748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011206949A Active JP6034008B2 (en) | 2011-09-22 | 2011-09-22 | Transmission right arbitration device, transmission right arbitration control method, and program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6034008B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05189366A (en) * | 1992-01-08 | 1993-07-30 | Nec Ibaraki Ltd | Channel request prioirity judging circuit |
JP2003162498A (en) * | 2001-11-28 | 2003-06-06 | Nec Electronics Corp | Bus system and retry method |
JP2008527498A (en) * | 2004-12-30 | 2008-07-24 | クゥアルコム・インコーポレイテッド | Method and apparatus for reducing transfer latency in SOC interconnects |
JP2011138401A (en) * | 2009-12-28 | 2011-07-14 | Fujitsu Ltd | Processor system, method of controlling the same, and control circuit |
-
2011
- 2011-09-22 JP JP2011206949A patent/JP6034008B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05189366A (en) * | 1992-01-08 | 1993-07-30 | Nec Ibaraki Ltd | Channel request prioirity judging circuit |
JP2003162498A (en) * | 2001-11-28 | 2003-06-06 | Nec Electronics Corp | Bus system and retry method |
JP2008527498A (en) * | 2004-12-30 | 2008-07-24 | クゥアルコム・インコーポレイテッド | Method and apparatus for reducing transfer latency in SOC interconnects |
JP2011138401A (en) * | 2009-12-28 | 2011-07-14 | Fujitsu Ltd | Processor system, method of controlling the same, and control circuit |
Also Published As
Publication number | Publication date |
---|---|
JP6034008B2 (en) | 2016-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719476B2 (en) | Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests | |
CN114443529B (en) | Direct memory access architecture, system, method, electronic device and medium | |
KR20170110610A (en) | Receive clock calibration for a serial bus | |
EP2312457B1 (en) | Data processing apparatus, data processing method and computer-readable medium | |
JP7326586B2 (en) | Automatic read control system and method for SPI interface with hardware acceleration | |
CN105468548B (en) | Communication of serial peripheral interface | |
US8838862B2 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
CN114185823B (en) | Arbiter, arbitration method, controller and chip | |
JP2018518774A (en) | Multiple access single SDIO interface with multiple SDIO units | |
US11288223B2 (en) | Bridge chip with function of expanding external devices and associated expansion method | |
JP4817834B2 (en) | Interrupt control device and interrupt control method | |
JP6290761B2 (en) | Data transfer control system, data transfer control method, and data transfer control program | |
US10339085B2 (en) | Method of scheduling system-on-chip including real-time shared interface | |
JP2008513886A (en) | Method and apparatus for allocating bandwidth on a transmission channel of a bus | |
JP5651622B2 (en) | Data transmission apparatus, data transmission method, and program | |
US10489319B2 (en) | Automatic transmission of dummy bits in bus master | |
JP6034008B2 (en) | Transmission right arbitration device, transmission right arbitration control method, and program therefor | |
US11907155B2 (en) | Bus system connecting slave devices with single-wire data access communication | |
US20080126472A1 (en) | Computer communication | |
US20120011295A1 (en) | Method and apparatus for wireless broadband systems direct data transfer | |
KR100633742B1 (en) | Direct memory access controller for updating data transmission size automatically from peripheral, and control method thereof | |
KR102206313B1 (en) | System interconnect and operating method of system interconnect | |
JP2009163531A (en) | Interruption management mechanism and microcomputer | |
KR20060112349A (en) | Bus system and bus data processing method for system on chip | |
US11797421B2 (en) | Semiconductor apparatus and debug system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20140819 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160407 |
|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6034008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |