JP5544856B2 - Arbitration device, arbitration method, and program - Google Patents
Arbitration device, arbitration method, and program Download PDFInfo
- Publication number
- JP5544856B2 JP5544856B2 JP2009281451A JP2009281451A JP5544856B2 JP 5544856 B2 JP5544856 B2 JP 5544856B2 JP 2009281451 A JP2009281451 A JP 2009281451A JP 2009281451 A JP2009281451 A JP 2009281451A JP 5544856 B2 JP5544856 B2 JP 5544856B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- arbitration
- unit
- request
- resource request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 58
- 238000012545 processing Methods 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 30
- 239000000872 buffer Substances 0.000 description 98
- 238000010586 diagram Methods 0.000 description 7
- 241001522296 Erithacus rubecula Species 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000010187 selection method Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
Description
本発明は、調停装置、調停方法及びプログラムに関する。 The present invention relates to an arbitration device, an arbitration method, and a program.
半導体技術の進歩により、集積率の高いLSI(Large Scale Integration)が開発されてきた。しかし、消費電力の増加により、集積率のさらなる向上によってLSIの性能を向上させることが困難になってきている。そこで、LSIのプロセッサコア数を増やし、動作周波数を低く抑えることで消費電力の増加を抑え、複数のプロセッサコアの並列度によってスループットを向上させるマルチコア構成が用いられている。 With the progress of semiconductor technology, LSI (Large Scale Integration) with a high integration rate has been developed. However, due to the increase in power consumption, it has become difficult to improve the performance of LSIs by further improving the integration rate. Therefore, a multi-core configuration is used in which the number of LSI processor cores is increased and the operating frequency is kept low to suppress an increase in power consumption, and the throughput is improved by the degree of parallelism of a plurality of processor cores.
マルチコア構成によるLSIにおいてコア同士を接続するルータとしては、プロセッサコアをリング状に接続するリングバス方式のルータや、プロセッサコア間にクロスバを設けてそれぞれのプロセッサコアを接続するクロスバ方式のルータが用いられている。このようなオンチップのルータ(特にクロスバ方式のルータ)の処理は、リクエストパケットからの情報の取得、出力ポートの設定、クロスバ調停の実施、及び出力ポートへの転送を行う必要があり、これらの処理は、3段乃至4段のパイプライン処理によって行われる。 As a router for connecting cores in an LSI having a multi-core configuration, a ring bus type router for connecting processor cores in a ring shape, or a crossbar type router for connecting cross-bars between processor cores to connect each processor core is used. It has been. The processing of such on-chip routers (especially crossbar routers) needs to acquire information from request packets, set output ports, perform crossbar arbitration, and transfer to output ports. Processing is performed by pipeline processing of three to four stages.
クロスバの調停方法として、競合したリクエストパケットをランダムに選択するランダム選択方式、競合したリクエストパケットを順に選択するラウンドロビン選択方式、予め決められた優先順位の順に競合したリクエストパケットを選択する優先選択方式が用いられている。
なお、特許文献1には、競合したリクエストパケットの調停履歴に基づいてバス調停を行う方法が開示されている。
また、特許文献2には、特定の転送処理に関与するプロセッサコアによるリクエストパケットの出力順序を記録したテーブルを用い、現在資源を使用しているプロセッサコアの次にリクエストパケットを出力するプロセッサコアに対して、優先的に資源を使用させる調停方法が開示されている。
As a crossbar arbitration method, a random selection method that randomly selects conflicting request packets, a round robin selection method that sequentially selects conflicting request packets, and a priority selection method that selects conflicting request packets in a predetermined priority order. Is used.
上述したランダム選択方式、ラウンドロビン選択方式による調停方法は、各プロセッサコアが均等にリクエストパケットを出力すると仮定してプロセッサコアを選択する方法である。そのため、プロセッサコアごとにリクエストパケットの出力が均等でないアプリケーションを実行した場合、効率的なリクエストパケットの選択ができなくなるという問題がある。また、優先選択方式による調停方法は、予めプロセッサコアの優先順位が決められているため、優先順位の低いプロセッサコアによるリクエストパケットの出力が多いアプリケーションを実行した場合、効率的なリクエストパケットの選択ができなくなるという問題がある。 The arbitration method based on the random selection method and the round robin selection method described above is a method of selecting a processor core on the assumption that each processor core outputs a request packet equally. For this reason, there is a problem that when an application whose request packet output is not uniform is executed for each processor core, the request packet cannot be efficiently selected. In addition, since the priority order of the processor cores is determined in advance in the arbitration method by the priority selection method, when an application that outputs a large number of request packets by a processor core having a low priority order is executed, efficient request packet selection is possible. There is a problem that it cannot be done.
また、特許文献1、特許文献2に記載の調停方法は、リクエストパケットの調停履歴に基づいて調停を行うが、調停処理の1サイクルあたりに実行する処理内容が多くなるため、調停装置の動作周波数を上げることができず、通信遅延が発生する惧れがある。
本発明は、上記の問題に鑑みてなされたものであり、調停処理の1サイクルあたりの実行処理内容を増加させず、かつ効率的なリクエストパケットの選択を行う調停装置、調停方法及びプログラムを提供することを課題とする。
The arbitration methods described in
The present invention has been made in view of the above problems, and provides an arbitration device, an arbitration method, and a program that perform efficient request packet selection without increasing the execution processing content per cycle of arbitration processing. The task is to do.
本発明は上記の課題を解決するためになされたものであり、複数の資源要求装置から発行される、当該資源要求装置による計算資源の使用の要求を示す資源要求の調停を行い、前記資源要求装置と前記計算資源とを接続するクロスバを制御する調停装置であって、複数の前記資源要求装置から資源要求の入力を受け付ける入力部と、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する調停部と、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する予測部と、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力する中断部と、過去の処理において前記調停部が選択した資源要求を選択した順に調停履歴記憶部に登録する履歴登録部とを備え、前記調停部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一である場合に、前記クロスバに対する前記接続命令の出力を行わず、前記予測部は、前記調停部による最後の所定の個数の資源要求を選択した順と同じ順に、前記調停履歴記憶部に記憶されている資源要求の直後に登録された資源要求を、前記調停部によって選択される資源要求として予測することを特徴とする。
また、本発明は、複数の資源要求装置から発行される、当該資源要求装置による計算資源の使用の要求を示す資源要求の調停を行い、前記資源要求装置と前記計算資源とを接続するクロスバを制御する調停装置であって、複数の前記資源要求装置から資源要求の入力を受け付ける入力部と、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する調停部と、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する予測部と、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力する中断部と、前記資源要求装置ごとに、過去の処理において、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一となる度合いを示す強度情報を算出する強度情報算出部とを備え、前記調停部は、前記強度情報算出部が算出した強度情報に基づいて、選択する資源要求を決定し、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一である場合に、前記クロスバに対する前記接続命令の出力を行わないことを特徴とする。
The present invention has been made to solve the above-described problem, and performs resource request arbitration issued from a plurality of resource requesting devices indicating requests for use of computing resources by the resource requesting device, and An arbitration device that controls a crossbar that connects a device and the computing resource, wherein an input unit that receives input of resource requests from a plurality of the resource requesting devices and a resource request for the computing resource with the same input unit An arbitration unit that outputs a connection command for outputting the selected resource request to a calculation resource to which the resource request is issued to the crossbar, and before executing the processing by the arbitration unit, the arbitration unit The arbitration unit selects the prediction unit that predicts the resource request selected by the unit and outputs a connection command to the crossbar to output the resource request to the calculation resource to which the resource request is issued. And if the resource request and the predicted part is resource request and the predicted is different, and the interruption unit for outputting an interruption instruction to interrupt the execution of the connection instruction by the prediction unit to the crossbar, the arbitration unit in the past processing A history registration unit that registers the resource requests selected by the arbitration history storage unit in the order of selection, and the arbitration unit has the same resource request selected by the arbitration unit and the resource request predicted by the prediction unit. The connection command to the crossbar is not output, and the prediction unit is stored in the arbitration history storage unit in the same order as the last predetermined number of resource requests selected by the arbitration unit. A resource request registered immediately after the resource request is predicted as a resource request selected by the arbitration unit .
In addition, the present invention arbitrates resource requests issued from a plurality of resource requesting devices to indicate requests for use of computing resources by the resource requesting devices, and provides a crossbar for connecting the resource requesting devices and the computing resources. An arbitration device to be controlled, wherein an input unit that receives input of resource requests from a plurality of the resource requesting devices, and the input unit selects one of resource requests for the same computing resource, and the selected resource An arbitration unit that outputs a connection command that outputs a request to a calculation resource to which the resource request is issued to the crossbar, and before executing the process by the arbitration unit, predicts a resource request selected by the arbitration unit, A prediction unit that outputs a connection command for outputting the resource request to a calculation resource to which the resource request is issued to the crossbar, a resource request selected by the arbitration unit, and a resource predicted by the prediction unit When the request is different, the arbitration unit selected in the past processing for each of the resource requesting device and the interrupting unit that outputs an interrupting command for interrupting the execution of the connection command by the prediction unit to the crossbar A strength information calculation unit that calculates strength information indicating a degree that the resource request and the resource request predicted by the prediction unit are the same, and the mediation unit is based on the strength information calculated by the strength information calculation unit. The resource request to be selected is determined, and when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same, the connection command is not output to the crossbar. .
また、本発明は、複数の資源要求装置から発行される、当該資源要求装置による計算資源の使用の要求を示す資源要求の調停を行い、前記資源要求装置と前記計算資源とを接続するクロスバを制御する調停装置を用いた調停方法であって、入力部は、複数の前記資源要求装置から資源要求の入力を受け付け、調停部は、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、予測部は、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、中断部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力し、履歴登録部は、過去の処理において前記調停部が選択した資源要求を選択した順に調停履歴記憶部に登録し、前記調停部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、前記予測部は、前記調停部による最後の所定の個数の資源要求を選択した順と同じ順に、前記調停履歴記憶部に記憶されている資源要求の直後に登録された資源要求を、前記調停部によって選択される資源要求として予測することを特徴とする。
また、本発明は、複数の資源要求装置から発行される、当該資源要求装置による計算資源の使用の要求を示す資源要求の調停を行い、前記資源要求装置と前記計算資源とを接続するクロスバを制御する調停装置を用いた調停方法であって、入力部は、複数の前記資源要求装置から資源要求の入力を受け付け、調停部は、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、予測部は、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、中断部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力し、強度情報算出部は、前記資源要求装置ごとに、過去の処理において、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一となる度合いを示す強度情報を算出し、前記調停部は、前記強度情報算出部が算出した強度情報に基づいて、選択する資源要求を決定し、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力することを特徴とする。
In addition, the present invention arbitrates resource requests issued from a plurality of resource requesting devices to indicate requests for use of computing resources by the resource requesting devices, and provides a crossbar for connecting the resource requesting devices and the computing resources. An arbitration method using an arbitrating device to be controlled, wherein an input unit accepts input of resource requests from a plurality of the resource requesting devices, and the arbitration unit selects from among resource requests for the computing resources with the same input unit. The prediction unit selects one and predicts the resource request selected by the arbitration unit before executing the processing by the arbitration unit, and outputs the resource request to the calculation resource to which the resource request is issued. The connection command is output to the crossbar, and the interruption unit determines whether the prediction command to the crossbar is connected when the resource request selected by the arbitration unit is different from the resource request predicted by the prediction unit. Outputting an interrupt command to interrupt the line, the history registration unit registers the arbitration history storage unit in the order in which the arbitration unit selects the resource request selected in past processing, the arbitration unit, the arbitration unit selects When the resource request and the resource request predicted by the prediction unit are different, a connection command for outputting the selected resource request to the calculation resource to which the resource request is issued is output to the crossbar. A resource request registered immediately after the resource request stored in the arbitration history storage unit in the same order as the last predetermined number of resource requests selected by the arbitration unit is selected by the arbitration unit. It is characterized by predicting as follows.
In addition, the present invention arbitrates resource requests issued from a plurality of resource requesting devices to indicate requests for use of computing resources by the resource requesting devices, and provides a crossbar for connecting the resource requesting devices and the computing resources. An arbitration method using an arbitrating device to be controlled, wherein an input unit accepts input of resource requests from a plurality of the resource requesting devices, and the arbitration unit selects from among resource requests for the computing resources with the same input unit. One is selected, a connection command for outputting the selected resource request to the calculation resource to which the resource request is issued is output to the crossbar, and the prediction unit performs the arbitration before executing the processing by the arbitration unit. The resource request selected by the resource unit is predicted, a connection command for outputting the resource request to the calculation resource to which the resource request is issued is output to the crossbar, and the interruption unit is the resource request selected by the arbitration unit. When the resource request predicted by the prediction unit is different, the crossing bar outputs an interruption command for interrupting the execution of the connection command by the prediction unit, and the strength information calculation unit stores the past for each resource request device. In the process, the strength information indicating the degree to which the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same is calculated, and the arbitration unit calculates the strength information calculated by the strength information calculation unit. And when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are different from each other, the selected resource request is calculated as a calculation resource to which the resource request is issued. A connection command to be output to is output to the crossbar.
また、本発明は、複数の資源要求装置から発行される、当該資源要求装置による計算資源の使用の要求を示す資源要求の調停を行い、前記資源要求装置と前記計算資源とを接続するクロスバを制御する調停装置を、複数の前記資源要求装置から資源要求の入力を受け付ける入力部、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する調停部、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する予測部、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力する中断部、過去の処理において前記調停部が選択した資源要求を選択した順に調停履歴記憶部に登録する履歴登録部として機能させ、前記調停部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一である場合に、前記クロスバに対する前記接続命令の出力を行わず、前記予測部は、前記調停部による最後の所定の個数の資源要求を選択した順と同じ順に、前記調停履歴記憶部に記憶されている資源要求の直後に登録された資源要求を、前記調停部によって選択される資源要求として予測することを特徴とする。 In addition, the present invention arbitrates resource requests issued from a plurality of resource requesting devices to indicate requests for use of computing resources by the resource requesting devices, and provides a crossbar for connecting the resource requesting devices and the computing resources. An arbitration device to be controlled is an input unit that receives input of resource requests from a plurality of the resource requesting devices, and the input unit selects one of the resource requests for the same computing resource, and the selected resource request is Before executing the processing by the arbitration unit, the arbitration unit that outputs a connection command to be output to the calculation resource to which the resource request is issued to the crossbar, the resource request selected by the arbitration unit is predicted, and the resource request is The prediction unit that outputs a connection command to be output to the calculation resource to which the resource request is issued to the crossbar, the resource request selected by the arbitration unit is different from the resource request predicted by the prediction unit If, registered in the interruption of outputting the interrupt instruction to interrupt the execution of the connection instruction by the prediction unit with respect to the crossbar, the arbitration in the order in which the arbitration unit selects the resource request selection history storage unit in the past processing When the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same, the arbitration unit does not output the connection command to the crossbar, and functions as a history registration unit. The prediction unit uses the arbitration unit to register resource requests registered immediately after the resource request stored in the arbitration history storage unit in the same order as the last predetermined number of resource requests selected by the arbitration unit. It is characterized by predicting as a resource requirement to be selected .
本発明によれば、調停部による調停の実行の前に、予測部が、選択される資源要求を予測し、クロスバに当該資源要求を出力させる接続命令を出力する。これにより、調停装置は、調停処理の1サイクルあたりの実行処理内容を増加させずに、効率的な資源要求の選択を行うことができる。 According to the present invention, before execution of arbitration by the arbitration unit, the prediction unit predicts a resource request to be selected and outputs a connection command for causing the crossbar to output the resource request. Thereby, the arbitration device can perform efficient resource request selection without increasing the execution process content per cycle of the arbitration process.
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるクロスバ調停装置の構成を示す概略ブロック図である。
クロスバ調停装置は、プロセッサコア及び入出力装置を相互に接続するルータであって、入力ポート1−1〜1−5(以下、入力ポート1−1〜1−5を総称する場合は入力ポート1と表記する)、入力側バッファ部2−1〜2−5(以下、入力側バッファ部2−1〜2−5を総称する場合は入力側バッファ部2と表記する)、調停装置3、クロスバ4、出力側バッファ部5−1〜5−5(以下、出力側バッファ部5−1〜5−5を総称する場合は出力側バッファ部5と表記する)、出力ポート6−1〜6−5(以下、出力ポート6−1〜6−5を総称する場合は出力ポート6と表記する)を備える。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a schematic block diagram showing a configuration of a crossbar arbitration device according to an embodiment of the present invention.
The crossbar arbitration device is a router that connects a processor core and an input / output device to each other, and includes input ports 1-1 to 1-5 (hereinafter,
入力ポート1は、それぞれ接続されたプロセッサコアまたは入出力装置(以下、資源要求装置とよぶ)からリクエストパケットを入力し、当該リクエストパケット(資源要求)を、接続された入力側バッファ部2に出力する。なお、本実施形態においては、入力ポート1が資源要求装置から入力するリクエストパケットには、出力先を示す情報及び調停の優先度を示す強度情報が含まれる。
入力側バッファ部2は、接続された入力ポート1からリクエストパケットを入力し、当該リクエストパケットを一時的に蓄えて、リクエストパケットに含まれる強度情報を調停装置3に出力し、リクエストパケット本体をクロスバ4に出力する。
The
The input
調停装置3は、入力側バッファ部2から入力した強度情報に基づいてリクエストパケットの調停を行い、調停によって選択されたリクエストパケットを出力ポート6に転送させる接続命令をクロスバ4に出力する。また、各プロセッサコアに関連付けられた強度情報を更新し、出力ポート6に出力する。
クロスバ4は、調停装置3から接続命令を入力し、当該接続命令に基づいて入力側バッファ部2から入力したリクエストパケットを出力側バッファ部5に出力する。
出力側バッファ部5は、クロスバ4からリクエストパケットを入力し、当該リクエストパケットを一時的に蓄えて、接続された出力ポート6に出力する。
出力ポート6は、接続された出力側バッファ部5からリクエストパケットを、調停装置3から強度情報を入力し、当該強度情報を含むリクエストパケットを、接続されたプロセッサコアまたは入出力装置(以下、計算資源と呼ぶ)に出力する。
The arbitrating
The
The
The output port 6 receives a request packet from the connected output-
なお、入力ポート1及び出力ポート6に接続されたプロセッサコア及び入出力装置は、共有のメモリ(図示せず)と接続されている。そして、プロセッサコア及び入出力装置は、当該メモリから自装置に関連付けられた強度情報を読み出す。また、プロセッサコア及び入出力装置は、出力ポート6から出力された強度情報を当該メモリに上書きして記録する。これにより、プロセッサコア及び入出力装置は、調停装置3が更新した強度情報を次回の入力に反映させることができる。
The processor core and the input / output device connected to the
入力側バッファ部2は、入力バッファ21、入力側FIFOバッファ制御回路22、FIFOバッファ23、出力側FIFOバッファ制御回路24、出力バッファ25から構成される。
入力バッファ21は、入力ポート1から入力したリクエストパケットを一時的に記憶する。
入力側FIFOバッファ制御回路22は、入力バッファ21が記憶するリクエストパケットを取り出し、FIFOバッファ23に登録する。
FIFOバッファ23は、入力側FIFOバッファ制御回路22によって記録されたリクエストパケットを一時的に記憶する。
出力側FIFOバッファ制御回路24は、FIFOバッファ23に最初に登録されたリクエストパケットを取り出し、出力バッファ25に登録する。ここで、「取り出す」とは、FIFOバッファ23からリクエストパケットを読み出し、読み出したリクエストパケットをFIFOバッファ23から削除することを示す。
出力バッファ25は、調停装置3及びクロスバ4に出力するリクエストパケットを一時的に記憶する。
The input
The
The input side FIFO
The
The output side FIFO
The
調停装置3は、強度入力バッファ31−1〜31−5(以下、強度入力バッファ31−1〜31−5を総称する場合は強度入力バッファ31と表記する)、リクエスト入力バッファ32、バッファ登録回路33、調停バッファ回路34、予測回路35、調停回路36、強度更新回路37、強度出力バッファ38−1〜38−5(以下、強度出力バッファ38−1〜38−5を総称する場合は強度出力バッファ38と表記する)を備える。
強度入力バッファ31は、それぞれ対応する入力側バッファ部2からリクエストパケットに含まれる強度情報を入力し、一時的に記憶する。
リクエスト入力バッファ32は、入力側バッファ部2からリクエストパケット本体を入力し、一時的に記憶する。
The arbitrating
The strength input buffer 31 receives the strength information included in the request packet from the corresponding input
The
バッファ登録回路33は、強度入力バッファ31が記憶する強度情報を取り出し、入力元の入力ポート1の識別情報に関連付けて調停バッファ回路34に登録する。
調停バッファ回路34は、調停対象となるリクエストパケットの入力元の入力ポート1の識別情報とリクエストパケットの強度情報とを関連付けて記憶する。
予測回路35は、調停バッファ回路34が記憶する調停対象となるリクエストパケットの情報と、調停回路36による過去の調停結果とに基づいて調停回路36がどのリクエストパケットを選択するかを予測し、予測結果を示す選択制御情報を調停回路36に出力する。ここで、選択制御情報とは、予測回路35が予測したリクエストパケットとその強度情報を示す。
The
The
The
調停回路36は、強度入力バッファ31が記憶する強度情報を取り出し、当該強度情報に基づいてリクエストパケットの調停を行い、リクエストパケットを出力ポート6に転送させる接続命令をクロスバ4に出力する。また、調停回路36は、予測回路35から選択制御情報を入力し、当該選択制御情報が示すリクエストパケットを出力ポート6に転送させる接続命令をクロスバ4に出力する。そして、調停回路36は、調停結果を予測回路35に出力する。ここで、調停結果とは、調停回路36が接続命令を出力したリクエストパケットとその強度情報を示す。なお、調停結果は、調停回路36による接続命令の出力毎に予測回路35及び強度更新回路37に出力される。また、調停回路36は、予測回路35から入力した選択制御情報が示す予測結果が誤っているか否かを判定し、誤っている場合は、クロスバ4に対し、選択制御情報に基づいて出力した接続命令の実行を中断させる中断命令を出力する。
The
強度更新回路37は、予測回路35から入力した選択制御情報が示すリクエストパケットと調停回路36から入力した調停結果が示すリクエストパケットとが一致する場合に強度情報を更新し、強度出力バッファ38に出力する。
強度出力バッファ38は、強度更新回路37から強度情報を入力し、当該強度情報を一時的に蓄えて、接続された出力ポート6に出力する。
The
The strength output buffer 38 receives strength information from the
図2は、予測回路の構成を示す概略ブロック図である。
予測回路35は、一時リクエスト記憶部351、履歴登録部352、調停履歴記憶部353、履歴検索用バッファ354、検索部355、予測部356を備える。
FIG. 2 is a schematic block diagram illustrating the configuration of the prediction circuit.
The
一時リクエスト記憶部351は、調停回路36から調停結果を入力し、当該調停結果を記憶する。なお、一時リクエスト記憶部351は、調停結果の入力順を記憶しており、新たな調停結果の入力によって一時リクエスト記憶部351の残り記憶容量が所定量に達する場合、一時リクエスト記憶部351は、最初に登録された調停結果を削除し、新たに入力した調停結果を記憶する。なお、本実施形態において、一時リクエスト記憶部351の記憶容量は、少なくとも3つの調停結果を記憶することができるだけあればよい。
The temporary
履歴登録部352は、一時リクエスト記憶部351に新たに記憶された調停結果を読み出し、当該調停結果を調停履歴記憶部353に記録する。
調停履歴記憶部353は、履歴登録部352から調停結果を入力し、当該調停結果と調停結果の入力順を示すインデックス番号とを関連付けて記憶する。なお、調停履歴記憶部353は、調停結果の入力順を記憶しており、新たな調停結果の入力によって調停履歴記憶部353の残り記憶容量が所定量に達する場合、調停履歴記憶部353は、最初に登録された調停結果を削除し、新たに入力した調停結果を記憶する。なお、調停履歴記憶部353の記憶容量は、一時リクエスト記憶部351の記憶容量より大きいことが望ましい。
The
The arbitration
履歴検索用バッファ354は、一時リクエスト記憶部351から最後に登録された3つの調停結果を読み出し、検索部355による検索が完了するまで一時的に記憶する。
検索部355は、調停履歴記憶部353が記憶する調停結果の中から、履歴検索用バッファ354が記憶する3つの調停結果と同じ組み合わせの調停結果を検索する。
予測部356は、検索部355による検索結果と、調停バッファ回路34に新たに登録された強度情報とに基づいて、調停回路36の調停により何れのリクエストパケットが出力されるかを予測し、予測したリクエストパケットを示す選択制御情報を、調停回路36及び強度更新回路37に出力する。
The
The
The
そして、本実施形態による調停装置3において、強度入力バッファ31は、複数のプロセッサコア及び入出力装置から強度情報の入力を受け付ける。次に、調停回路36は、強度入力バッファ31が同一の計算資源に対するリクエストパケットに関連付けられた強度情報の中から1つを選択し、選択された強度情報に関連付けられたリクエストパケットを当該リクエストパケットの発行先の計算資源へ出力させる接続命令をクロスバ4に出力する。
In the
他方、予測回路35は、調停回路36による処理を実行する前に、調停回路36によって選択されるリクエストパケットを予測し、当該リクエストパケットを当該リクエストパケットの発行先の計算資源へ出力させる接続命令をクロスバ4に出力する。
そして、調停回路36は、選択したリクエストパケットと予測回路35が予測したリクエストパケットとが異なる場合に、クロスバ4に対して予測回路35による接続命令の実行を中断させる中断命令を出力する。
また、調停回路36は、選択したリクエストパケットと予測回路35が予測したリクエストパケットとが同一である場合に、クロスバ4に対する接続命令の出力を行わない。
On the other hand, the
Then, when the selected request packet and the request packet predicted by the
The
これにより、調停処理の1サイクルあたりの実行処理内容を増加させず、かつ効率的なリクエストパケットの選択を行うことができる。以下に、本実施形態による調停装置によって調停処理を高速化することができる理由を説明する。 As a result, it is possible to select request packets efficiently without increasing the content of execution processing per cycle of arbitration processing. The reason why the arbitration process can be speeded up by the arbitration device according to the present embodiment will be described below.
図3は、調停回路のパイプライン処理の流れを示す図である。
調停回路36は、4段のパイプライン処理により、リクエストパケットの調停を行う。すなわち調停回路36は、リクエストパケットから出力先の出力ポート6の識別情報を読み取るポート情報読み取りステージX0、読み取った識別情報に従ってリクエストパケットを出力ポート6に設定する出力ポート設定ステージX1、強度情報に基づいて調停を行うクロスバ設定前処理ステージX2及びクロスバ設定後処理ステージX3を順次実行することで調停処理を行う。そして、調停回路は4段のパイプライン処理による調停の後、調停により選択されたリクエストパケットを出力させる接続命令をクロスバ4に出力するパケット送出ステージXTを実行する。そのため、調停回路36は、5サイクルで調停処理を実行する。これは、従来の調停方法に要するサイクル数と等しい。
FIG. 3 is a diagram illustrating a flow of pipeline processing of the arbitration circuit.
The
他方、予測回路35は、選択制御情報を予め生成するため、調停回路36は、予測回路35が生成した選択制御情報から選択するリクエストパケットを読み取る制御情報読み取りステージP0を実行し、読み取ったリクエストパケットを出力させる接続命令をクロスバ4に出力するパケット送出ステージXTを実行する。これにより、調停回路36は、2サイクルで調停処理を実行することができる。したがって、予測回路35によって予測されたリクエストパケットと調停回路36による調停で選択されたリクエストパケットとが一致する場合、すなわち予測回路35による予測が的中した場合、3サイクル分高速に調停処理を行うことができる。
つまり、予測回路35による予測が的中するほど調停装置による調停処理が高速化されることとなる。
On the other hand, since the
That is, the more accurate the prediction by the
なお、予測回路35によって予測されたリクエストパケットと調停回路36による調停で選択されたリクエストパケットとが一致しない場合、すなわち予測回路35による予測が外れた場合、調停回路36が、予測回路35が生成した選択制御情報に基づいて出力した接続命令の実行を中断させる中断命令をクロスバ4に出力し、改めて接続命令の出力を行う。このとき、調停回路36は、中断命令の出力と接続命令の出力とを平行して実行するため、5サイクルで調停処理がなされる。そのため、予測回路35による予測が外れた場合にも、従来の調停処理と比較して遅延が発生することはない。
When the request packet predicted by the
次に、本実施形態による調停装置の動作を説明する。
図4は、調停装置の動作を示す第1のフローチャートである。
図5は、調停装置の動作を示す第2のフローチャートである。
まず、資源要求装置が同一の計算資源に対するリクエストパケットを発行すると、リクエストパケットを発行した資源要求装置に接続された入力ポート1を介して、入力側バッファ部2にリクエストパケットが登録される。そして、入力ポート1に登録されたリクエストパケットに含まれる強度情報は、調停装置3の強度入力バッファ31に入力され、リクエストパケットの本体は、調停装置3のリクエスト入力バッファ32に入力される(ステップS1)。そして、バッファ登録回路33は、リクエスト入力バッファ32から強度情報を取り出し、調停バッファ回路34に登録する。
Next, the operation of the arbitration device according to the present embodiment will be described.
FIG. 4 is a first flowchart showing the operation of the arbitration device.
FIG. 5 is a second flowchart showing the operation of the arbitration device.
First, when a resource requesting device issues a request packet for the same computing resource, the request packet is registered in the input
次に、予測回路35は、自回路の一時リクエスト記憶部351が記憶する過去の調停結果のうち最後に登録された3つの調停結果を読み出し、履歴検索用バッファ354に記録する(ステップS2)。ここで、最後に登録された3つの調停結果の読み出しは、一時リクエスト記憶部351が記憶する入力順が最も新しい調停結果を3つ読み出すことで行う。次に、予測回路35の検索部355は、調停履歴記憶部353が記憶する過去の調停結果の中から、履歴検索用バッファ354が記憶する調停結果の組み合わせを検索する(ステップS3)。具体的には、一時リクエスト記憶部351に最後に登録された3つの調停結果が、登録された順に「入力ポート1−4」「入力ポート1−5」「入力ポート1−1」からの入力であることを示す場合、履歴検索用バッファ354にはこれらの情報が登録され、検索部355は、調停履歴記憶部353が「入力ポート1−4」「入力ポート1−5」「入力ポート1−1」の順番に記憶された調停結果を検索する。
Next, the
次に、検索部355は、ステップS3で実行した検索の結果、履歴検索用バッファ354が記憶する調停結果と同じ組み合わせが調停履歴記憶部353に記憶されているか否かを判定する(ステップS4)。但し、調停履歴記憶部353の末尾に記憶された調停結果は、必ず履歴検索用バッファ354が記憶する調停結果と一致するが、当該調停結果は検索結果から除外するものとする。
Next, the
検索部355が、履歴検索用バッファ354が記憶する調停結果と同じ組み合わせが調停履歴記憶部353に記憶されていると判定した場合(ステップS4:YES)、予測部356は、検索部355が検索した調停結果の直後に調停履歴記憶部353に登録された調停結果を読み出す(ステップS5)。具体的には、予測部356は、検索部355が検索した調停結果に関連付けられた入力順を示すインデックス番号を読み出し、当該インデックス番号の次のインデックス番号に関連付けられた調停結果を、調停履歴記憶部353から読み出す。なお、検索部355によって複数の調停結果が検索された場合、予測部356は、それぞれの調停結果の直後に登録された調停結果をすべて読み出す。
When the
次に、予測部356は、調停バッファ回路34から強度情報を読み出し、読み出した強度情報の発行元と、ステップS5で読み出した調停結果の発行元とが一致するものがあるか否かを判定する(ステップS6)。予測部356は、発行元が一致するものがあると判定した場合(ステップS6:YES)、調停回路36によって一致したリクエストパケットが選択されると予測する(ステップS7)。なお、発行元が一致するものが複数存在する場合、検索部355による検索結果のうち最も頻出する発行元からのリクエストパケットが選択されると予測し、当該予測したリクエストパケットを示す選択制御情報を生成する。
Next, the
他方、ステップS4で検索部355が、履歴検索用バッファ354が記憶する調停結果と同じ組み合わせが調停履歴記憶部353に記憶されていないと判定した場合(ステップS4:NO)、または、ステップS6で予測部356が、読み出した強度情報と発行元が一致するリクエストパケットがないと判定した場合(ステップS6:NO)、予測部356は、ラウンドロビンアルゴリズムに基づいて、調停回路36によって選択されるリクエストパケットを予測し、当該予測したリクエストパケットを示す選択制御情報を生成する(ステップS8)。
On the other hand, when the
ステップS7、またはステップS8で予測部356が選択制御情報を生成すると、調停回路36は、予測部356が生成した選択制御情報を読み取り(ステップS9)、選択制御情報が示すリクエストパケットを出力ポート6に転送させる接続命令をクロスバ4に出力する(ステップS10)。すなわち、図3に示すP0ステージとXTステージの処理を実行する。
When the
また、ステップS9、S10の処理に平行して、調停回路36は、リクエスト入力バッファ32からリクエストパケット本体を読み出し、リクエストパケットに含まれる出力ポートのポート情報を読み取り(ステップS11)、読み取った出力ポートのポート情報に従って出力ポートを設定し(ステップS12)、リクエストパケットの調停処理を実行する(ステップS13)。すなわち、図3に示すX0ステージ、X1ステージ、X2ステージ、X3ステージを実行する。
In parallel with the processing of steps S9 and S10, the
ここで、調停回路36によるリクエストパケットの調停方法について説明する。
調停回路36は、リクエスト入力バッファ32に格納されているリクエストパケットに関連付けられた強度情報を、強度入力バッファ31から読み出す。そして、調停回路36は、強度情報が示す値が最も大きいリクエストパケットを選択する。また、最大の値を有する強度情報に関連付けられたリクエストパケットが複数ある場合、調停回路36は、ラウンドロビンアルゴリズムに基づいて、何れのリクエストパケットを選択するかを決定する。
Here, a request packet arbitration method by the
The
図6は、リクエストパケットの調停方法を示す図である。
ここで、具体的にリクエストパケットの調停方法を説明する。図6に示すように、リクエスト入力バッファ32は、入力ポート1−1〜1−5から入力したそれぞれのリクエストパケットを記憶している。
入力ポート1−1から入力したリクエストパケット、及び入力ポート1−2から入力したリクエストパケットに関連付けられた強度情報は、「3」である。入力ポート1−3から入力したリクエストパケットに関連付けられた強度情報は、「5」である。入力ポート1−4から入力したリクエストパケットに関連付けられた強度情報は、「4」である。入力ポート1−5から入力したリクエストパケットに関連付けられた強度情報は、「1」である。
FIG. 6 is a diagram illustrating a request packet arbitration method.
Here, a request packet arbitration method will be specifically described. As illustrated in FIG. 6, the
The intensity information associated with the request packet input from the input port 1-1 and the request packet input from the input port 1-2 is “3”. The intensity information associated with the request packet input from the input port 1-3 is “5”. The intensity information associated with the request packet input from the input port 1-4 is “4”. The intensity information associated with the request packet input from the input port 1-5 is “1”.
この場合、調停回路36は、各強度情報の中から値が最大のものを抽出する。ここでは、入力ポート1−3から入力したリクエストパケットに関連付けられた強度情報「5」が最大である。したがって、調停回路36は、リクエスト入力バッファ32から、入力ポート1−3から入力したリクエストパケットを取り出し、当該リクエストパケットを調停結果として選択する。
In this case, the
次の調停実行時には、入力ポート1−3から入力したリクエストパケットが既に取り出されているため、入力ポート1−4から入力したリクエストパケットに関連付けられた強度情報「4」が最大である。したがって、調停回路36は、リクエスト入力バッファ32から、入力ポート1−4から入力したリクエストパケットを取り出し、当該リクエストパケットを調停結果として選択する。
At the time of the next arbitration, since the request packet input from the input port 1-3 has already been extracted, the strength information “4” associated with the request packet input from the input port 1-4 is the maximum. Therefore, the
次の調停実行時には、入力ポート1−3及び入力ポート1−4から入力したリクエストパケットが既に取り出されているため、入力ポート1−1及び入力ポート1−2から入力したリクエストパケットに関連付けられた強度情報「3」が最大である。したがって、調停回路36は、ラウンドロビンアルゴリズムに基づいて、入力ポート1−1または入力ポート1−2から入力したリクエストパケットの何れかを取り出し、当該リクエストパケットを調停結果として選択する。図6では、入力ポート1−1から入力したリクエストパケットを選択している。
At the time of the next arbitration, since the request packet input from the input port 1-3 and the input port 1-4 has already been taken out, it is associated with the request packet input from the input port 1-1 and the input port 1-2. The intensity information “3” is the maximum. Therefore, the
調停回路36は、ステップS13で調停処理を実行すると、予測回路35から入力した選択制御情報が示すリクエストパケットと調停処理によって選択されたリクエストパケットとが一致するか否かを判定する(ステップS14)。
調停回路36は、リクエストパケットが一致しないと判定した場合(ステップS14:NO)、ステップS10で出力した接続命令の実行を中断させる中断命令、及びステップS13の調停処理によって選択されたリクエストパケットを出力ポート6に転送させる接続命令をクロスバ4に出力する(ステップS15)。
When executing the arbitration process in step S13, the
If the
他方、ステップS14で調停回路36が、リクエストパケットが一致すると判定した場合(ステップS14:YES)、強度更新回路37は、各リクエストパケットに関連付けられた強度情報を更新し、強度出力バッファ38に記録する(ステップS16)。
On the other hand, if the
以下に、強度更新回路37による強度情報の更新方法を説明する。
図7は、強度情報の更新方法を示す図である。
強度更新回路37は、内部メモリに、入力ポート1のそれぞれに関連付けて、当該入力ポート1から入力したリクエストパケットが選択されると予測したときに予測が的中する度合いを示す的中度を記憶する。
次に、強度更新回路37は、調停回路36から、予測回路35が出力した選択制御情報が示すリクエストパケットと調停処理によって選択されたリクエストパケットとが一致するか否かを示す情報を入力する。強度更新回路37は、リクエストパケットが一致すると判定した場合、選択されたリクエストパケットに関連付けられた的中度を増加させ、それ以外の的中度を減少させて、内部メモリに上書きして記録する。図7に示す例によれば、選択されたリクエストパケットの的中度を「4」増加させ、それ以外のリクエストパケットの的中度を「1」減少させている。
他方、強度更新回路37は、リクエストパケットが一致しないと判定した場合、的中度の増減処理を行わない。
Hereinafter, a method for updating the strength information by the
FIG. 7 is a diagram illustrating a method for updating the intensity information.
The
Next, the
On the other hand, if the
そして、強度更新回路37は、的中度の増減処理の後、当該的中度に基づいて強度情報の値を決定する。図7に示す例によれば、的中度が20未満の場合、強度情報が示す値を「1」とし、的中度が20以上40未満の場合、強度情報が示す値を「2」とし、的中度が40以上60未満の場合、強度情報が示す値を「3」とし、的中度が60以上80未満の場合、強度情報が示す値を「4」とし、的中度が80以上の場合、強度情報が示す値を「5」としている。
つまり、予測回路35による予測が的中した場合にのみ、強度情報の値が増加することとなる。そのため、調停回路36は、より予測が的中しやすいリクエストパケットを優先的に選択することとなる。したがって、予測回路35による予測が的中する確率が上昇し、調停装置3による調停処理を高速化することができる。
Then, the
That is, the intensity information value increases only when the prediction by the
また、的中度をそのまま強度情報として用いず、的中度に対して丸め処理を行って強度情報を生成するため、調停回路36による選択にランダム性を持たせることができる。これにより、実行するアプリケーションを、的中度の低い資源要求装置によるリクエストパケットの出力が多いアプリケーションに変更した場合にも、的中度の低い資源要求装置によるリクエストパケットの選択がなされる。そのため、調停処理が繰り返されることにより、当該資源要求装置の的中度が向上するため、効率的な選択ができるようになる。
In addition, since the strength information is generated by performing the rounding process on the target moderateness without using the target moderateness as it is as the strength information, the selection by the
ここで、具体的に強度情報の更新方法を説明する。図7に示すように、強度更新回路37の内部メモリは、入力ポート1−1〜1−5のそれぞれに関連付けて的中度を記憶している。
入力ポート1−1の的中度は、「19」である。入力ポート1−2の的中度は、「11」である。入力ポート1−3の的中度は、「13」である。入力ポート1−4の的中度は、「43」である。入力ポート1−5の的中度は、「14」である。
Here, a method for updating the intensity information will be specifically described. As shown in FIG. 7, the internal memory of the
The target intermediate level of the input port 1-1 is “19”. The target intermediate level of the input port 1-2 is “11”. The target intermediate level of the input ports 1-3 is “13”. The target intermediate level of the input ports 1-4 is “43”. The target intermediate level of the input port 1-5 is “14”.
そして、強度更新回路37は、調停回路36から、入力ポート1−4から入力したリクエストパケットを選択し、当該リクエストパケットが、予測回路35が出力した選択制御情報が示すリクエストパケットと一致することを示す情報を入力する。これにより、強度更新回路37は、入力ポート1−4に関連付けられた的中度を「4」増加させることで「47」に更新し、他の的中度を「1」ずつ減少させる。
次に、強度更新回路37は、的中度の値に応じて選択されたリクエストパケットに関連付けられた強度情報を更新する。つまり、強度更新回路37は、入力ポート1−4の的中度が「18」、すなわち20未満であるため、入力ポート1−4から入力したリクエストパケットの強度情報を「1」に更新する。
Then, the
Next, the
次に、強度更新回路37は、調停回路36から、入力ポート1−1から入力したリクエストパケットを選択し、当該リクエストパケットが、予測回路35が出力した選択制御情報が示すリクエストパケットと一致することを示す情報を入力する。これにより、強度更新回路37は、入力ポート1−1に関連付けられた的中度を「4」増加させることで「22」に更新し、他の的中度を「1」ずつ減少させる。
次に、強度更新回路37は、入力ポート1−1の的中度が「22」、すなわち20以上40未満であるため、入力ポート1−4から入力したリクエストパケットの強度情報を「2」に更新する。
Next, the
Next, the
次に、強度更新回路37は、調停回路36から、入力ポート1−3から入力したリクエストパケットを選択し、当該リクエストパケットが、予測回路35が出力した選択制御情報が示すリクエストパケットと一致しなかったことを示す情報を入力する。この場合、強度更新回路37は、的中度及び強度情報の更新を行わない。
Next, the
次に、強度更新回路37は、調停回路36から、入力ポート1−5から入力したリクエストパケットを選択し、当該リクエストパケットが、予測回路35が出力した選択制御情報が示すリクエストパケットと一致することを示す情報を入力する。これにより、強度更新回路37は、入力ポート1−5に関連付けられた的中度を「4」増加させることで「16」に更新し、他の的中度を「1」ずつ減少させる。
次に、強度更新回路37は、入力ポート1−1の的中度が「16」、すなわち20未満であるため、入力ポート1−4から入力したリクエストパケットの強度情報を「1」に更新する。
このような処理を繰り返すことで、調停回路36は、より予測が的中しやすいリクエストパケットを優先的に選択することとなり、調停装置3は高速に調停処理を行うことができる。
Next, the
Next, the
By repeating such processing, the
ステップS15で、調停回路36が中断命令及び接続命令を出力した場合、またはステップS16で強度更新回路37が強度情報を更新した場合、調停回路36は、予測回路35の一時リクエスト記憶部351の末尾に調停結果を記録する(ステップS17)。次に、履歴登録部352は、一時リクエスト記憶部351に新たに記録された調停結果を、調停履歴記憶部353の末尾に記録する(ステップS18)。
When the
そして、予測回路35は、調停回路36が全てのリクエストパケットの調停を終了したか否かを判定する(ステップS19)。調停が終了したか否かの判定は、例えば、調停回路36が、リクエスト入力バッファ32にリクエストパケットが記憶されているか否かを判定することで実行することができる。ステップS13で、調停処理により選択されたリクエストパケットは、順次、リクエスト入力バッファ32から取り出されるため、調停が終了していないリクエストパケットが存在する場合、リクエスト入力バッファ32にはリクエストパケットが記憶されていることとなる。したがって、予測回路35は、リクエスト入力バッファ32にリクエストパケットが記憶されている場合に、リクエストパケットの調停を終了していないと判定する。
Then, the
予測回路35が、調停が終了していないリクエストパケットが存在すると判定した場合(ステップS19:NO)、ステップS2に戻り、次のリクエストパケットの調停を行う。他方、予測回路35が、全てのリクエストパケットに対する調停が終了していると判定した場合(ステップS19:YES)、処理を終了する。
When the
このように、本実施形態によれば、調停回路36による調停の実行の前に、予測回路35が、選択されるリクエストパケットの予測を行い、クロスバ4に当該リクエストパケットを出力させる接続命令を出力する。これにより、調停装置3は、調停処理の1サイクルあたりの実行処理内容を増加させずに、効率的なリクエストパケットの選択を行うことができる。
As described above, according to the present embodiment, before the
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、ステップS4で検索部355が、履歴検索用バッファ354が記憶する調停結果と同じ組み合わせが調停履歴記憶部353に記憶されていないと判定した場合、または、ステップS6で予測部356が、読み出した強度情報と発行元が一致するリクエストパケットがないと判定した場合に、予測部356が、ラウンドロビンアルゴリズムに基づいて、調停回路36によって選択されるリクエストパケットを予測する場合を説明したが、これに限られず、例えば、リクエストパケットをランダムに選択し、選択したリクエストパケットを、調停回路36によって選択されると予測されるリクエストパケットとしても良い。
As described above, the embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to the above, and various design changes and the like can be made without departing from the scope of the present invention. It is possible to
For example, in this embodiment, when the
また、本実施形態では、調停回路36が調停処理を行う際、最大の値を有する強度情報に関連付けられたリクエストパケットが複数あるとき、調停回路36は、ラウンドロビンアルゴリズムに基づいて、何れのリクエストパケットを選択するかを決定する場合を用いて説明したが、これに限られず、例えば、調停回路36は、リクエストパケットをランダムに選択しても良い。
In the present embodiment, when the
また、本実施形態では、資源要求装置がリクエストパケットに強度情報を付与してクロスバ調停装置に出力する場合を説明したが、これに限られず、例えば、資源要求装置は、強度情報を含まないリクエストパケットをクロスバ調停装置に入力し、調停装置3が入力ポート1の識別情報に関連付けて強度情報を格納する強度情報記憶部を備えておくことで、調停装置3の調停回路36は、当該強度情報記憶部から読み出した強度情報に基づいて調停処理を行っても、本実施形態と同様の効果を得ることができる。
Further, in the present embodiment, the case where the resource requesting device gives strength information to the request packet and outputs the request packet to the crossbar arbitration device is described. However, the present invention is not limited to this. The
また、本実施形態では、ステップS2で、予測回路35の履歴検索用バッファ354が、一時リクエスト記憶部351の末尾に記憶された3つの調停履歴を記憶する場合を説明したが、これに限られず、調停履歴を4つ以上記憶しても良いし、1つ乃至2つ記憶しても良い。
In the present embodiment, the case has been described where the
上述の調停装置3は内部に、コンピュータシステムを有している。そして、上述した各回路の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
The
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
1、1−1〜1−5…入力ポート 2、2−1〜2−5…入力側バッファ部 3…調停装置 4…クロスバ 5、5−1〜5−5…出力側バッファ部 6、6−1〜6−5…出力ポート 21…入力バッファ 22…入力側FIFOバッファ制御回路 23…FIFOバッファ 24…出力側FIFOバッファ制御回路 25…出力バッファ 31、31−1〜31−5…強度入力バッファ 32…リクエスト入力バッファ 33…バッファ登録回路 34…調停バッファ回路 35…予測回路 36…調停回路 37…強度更新回路 38、38−1〜38−5…強度出力バッファ 351…一時リクエスト記憶部 352…履歴登録部 353…調停履歴記憶部 354…履歴検索用バッファ 355…検索部 356…予測部
DESCRIPTION OF
Claims (5)
複数の前記資源要求装置から資源要求の入力を受け付ける入力部と、
前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する調停部と、
前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する予測部と、
前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力する中断部と、
過去の処理において前記調停部が選択した資源要求を選択した順に調停履歴記憶部に登録する履歴登録部と
を備え、
前記調停部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一である場合に、前記クロスバに対する前記接続命令の出力を行わず、
前記予測部は、前記調停部による最後の所定の個数の資源要求を選択した順と同じ順に、前記調停履歴記憶部に記憶されている資源要求の直後に登録された資源要求を、前記調停部によって選択される資源要求として予測する
ことを特徴とする調停装置。 An arbitration device that arbitrates resource requests issued from a plurality of resource requesting devices and that indicates requests for use of computing resources by the resource requesting devices, and controls a crossbar that connects the resource requesting devices and the computing resources. And
An input unit that receives input of resource requests from a plurality of the resource requesting devices;
An arbitration unit for selecting one of resource requests for the same computing resource by the input unit and outputting a connection command for outputting the selected resource request to a computing resource to which the resource request is issued; ,
Before executing the processing by the arbitration unit, a prediction unit that predicts a resource request selected by the arbitration unit and outputs a connection instruction to the crossbar to output the resource request to a calculation resource to which the resource request is issued. When,
When the resource request selected by the arbitration unit is different from the resource request predicted by the prediction unit, an interruption unit that outputs an interruption command for interrupting execution of the connection command by the prediction unit to the crossbar ;
A history registration unit for registering in the arbitration history storage unit in the order in which the resource requests selected by the arbitration unit in the past processing are selected ;
The arbitration unit does not output the connection command to the crossbar when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same ,
The prediction unit includes resource requests registered immediately after resource requests stored in the arbitration history storage unit in the same order as the last predetermined number of resource requests selected by the arbitration unit. An arbitration device that predicts a resource request selected by
複数の前記資源要求装置から資源要求の入力を受け付ける入力部と、
前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する調停部と、
前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する予測部と、
前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力する中断部と、
前記資源要求装置ごとに、過去の処理において、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一となる度合いを示す強度情報を算出する強度情報算出部と
を備え、
前記調停部は、前記強度情報算出部が算出した強度情報に基づいて、選択する資源要求を決定し、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一である場合に、前記クロスバに対する前記接続命令の出力を行わない
ことを特徴とする調停装置。 An arbitration device that arbitrates resource requests issued from a plurality of resource requesting devices and that indicates requests for use of computing resources by the resource requesting devices, and controls a crossbar that connects the resource requesting devices and the computing resources. And
An input unit that receives input of resource requests from a plurality of the resource requesting devices;
An arbitration unit for selecting one of resource requests for the same computing resource by the input unit and outputting a connection command for outputting the selected resource request to a computing resource to which the resource request is issued; ,
Before executing the processing by the arbitration unit, a prediction unit that predicts a resource request selected by the arbitration unit and outputs a connection instruction to the crossbar to output the resource request to a calculation resource to which the resource request is issued. When,
When the resource request selected by the arbitration unit is different from the resource request predicted by the prediction unit, an interruption unit that outputs an interruption command for interrupting execution of the connection command by the prediction unit to the crossbar;
Wherein each resource requesting device, in the past the process, and a strength information calculation unit for calculating a strength information indicating the degree of resource requests and said prediction unit and the resource request the arbitration unit selects predicts are the same,
The arbitration unit determines a resource request to be selected based on the strength information calculated by the strength information calculation unit, and the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same In addition, the arbitration device does not output the connection command to the crossbar .
入力部は、複数の前記資源要求装置から資源要求の入力を受け付け、
調停部は、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、
予測部は、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、
中断部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力し、
履歴登録部は、過去の処理において前記調停部が選択した資源要求を選択した順に調停履歴記憶部に登録し、
前記調停部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、
前記予測部は、前記調停部による最後の所定の個数の資源要求を選択した順と同じ順に、前記調停履歴記憶部に記憶されている資源要求の直後に登録された資源要求を、前記調停部によって選択される資源要求として予測する
ことを特徴とする調停方法。 Uses an arbitration device that arbitrates resource requests issued by a plurality of resource requesting devices and indicates a request for use of the computing resource by the resource requesting device, and controls a crossbar connecting the resource requesting device and the computing resource. The mediation method,
The input unit receives input of resource requests from the plurality of resource requesting devices,
The arbitration unit selects one of the resource requests for the calculation resources having the same input unit,
The prediction unit predicts a resource request selected by the arbitration unit before executing the processing by the arbitration unit, and outputs a connection instruction to the crossbar to output the resource request to a calculation resource to which the resource request is issued. Output,
The interruption unit, when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are different, outputs an interruption command to interrupt the execution of the connection command by the prediction unit to the crossbar,
The history registration unit registers the resource request selected by the arbitration unit in the past processing in the order of selection in the arbitration history storage unit,
The arbitration unit, when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are different, outputs a connection instruction to output the selected resource request to a calculation resource to which the resource request is issued. Output to the crossbar ,
The prediction unit includes resource requests registered immediately after resource requests stored in the arbitration history storage unit in the same order as the last predetermined number of resource requests selected by the arbitration unit. An arbitration method characterized by predicting as a resource request selected by .
入力部は、複数の前記資源要求装置から資源要求の入力を受け付け、
調停部は、前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、
予測部は、前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力し、
中断部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力し、
強度情報算出部は、前記資源要求装置ごとに、過去の処理において、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一となる度合いを示す強度情報を算出し、
前記調停部は、前記強度情報算出部が算出した強度情報に基づいて、選択する資源要求を決定し、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する
ことを特徴とする調停方法。 Uses an arbitration device that arbitrates resource requests issued by a plurality of resource requesting devices and indicates a request for use of the computing resource by the resource requesting device, and controls a crossbar connecting the resource requesting device and the computing resource. The mediation method,
The input unit receives input of resource requests from the plurality of resource requesting devices,
The arbitration unit selects one of the resource requests for the same computing resource by the input unit, and outputs a connection command for outputting the selected resource request to the computing resource to which the resource request is issued to the crossbar. And
The prediction unit predicts a resource request selected by the arbitration unit before executing the processing by the arbitration unit, and outputs a connection instruction to the crossbar to output the resource request to a calculation resource to which the resource request is issued. Output,
The interruption unit, when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are different, outputs an interruption command to interrupt the execution of the connection command by the prediction unit to the crossbar,
The strength information calculation unit calculates strength information indicating the degree to which the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same in the past processing for each resource requesting device,
The arbitration unit determines a resource request to be selected based on the strength information calculated by the strength information calculation unit, and when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are different, An arbitration method comprising: outputting to the crossbar a connection command for outputting the selected resource request to a calculation resource to which the resource request is issued.
複数の前記資源要求装置から資源要求の入力を受け付ける入力部、
前記入力部が同一の前記計算資源に対する資源要求の中から1つを選択し、選択された資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する調停部、
前記調停部による処理を実行する前に、前記調停部によって選択される資源要求を予測し、当該資源要求を当該資源要求の発行先の計算資源へ出力させる接続命令を前記クロスバに出力する予測部、
前記調停部が選択した資源要求と前記予測部が予測した資源要求とが異なる場合に、前記クロスバに対して前記予測部による接続命令の実行を中断させる中断命令を出力する中断部、
過去の処理において前記調停部が選択した資源要求を選択した順に調停履歴記憶部に登録する履歴登録部
として機能させ、
前記調停部は、前記調停部が選択した資源要求と前記予測部が予測した資源要求とが同一である場合に、前記クロスバに対する前記接続命令の出力を行わず、
前記予測部は、前記調停部による最後の所定の個数の資源要求を選択した順と同じ順に、前記調停履歴記憶部に記憶されている資源要求の直後に登録された資源要求を、前記調停部によって選択される資源要求として予測する
ことを特徴とするプログラム。 An arbitration device that issues a resource request indicating a request for use of a computing resource by the resource requesting device issued from a plurality of resource requesting devices, and controls a crossbar that connects the resource requesting device and the computing resource,
An input unit for receiving input of resource requests from a plurality of the resource requesting devices;
An arbitration unit that selects one of resource requests for the same computing resource by the input unit and outputs a connection command for outputting the selected resource request to a computing resource to which the resource request is issued;
Before executing the processing by the arbitration unit, a prediction unit that predicts a resource request selected by the arbitration unit and outputs a connection instruction to the crossbar to output the resource request to a calculation resource to which the resource request is issued. ,
When the resource request selected by the arbitration unit is different from the resource request predicted by the prediction unit , an interruption unit that outputs an interruption command for interrupting execution of a connection command by the prediction unit to the crossbar ;
Function as a history registration unit that registers in the arbitration history storage unit in the order of selection of resource requests selected by the arbitration unit in the past processing ;
The arbitration unit does not output the connection command to the crossbar when the resource request selected by the arbitration unit and the resource request predicted by the prediction unit are the same ,
The prediction unit includes resource requests registered immediately after resource requests stored in the arbitration history storage unit in the same order as the last predetermined number of resource requests selected by the arbitration unit. A program characterized by predicting as a resource request selected by .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009281451A JP5544856B2 (en) | 2009-12-11 | 2009-12-11 | Arbitration device, arbitration method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009281451A JP5544856B2 (en) | 2009-12-11 | 2009-12-11 | Arbitration device, arbitration method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011123715A JP2011123715A (en) | 2011-06-23 |
| JP5544856B2 true JP5544856B2 (en) | 2014-07-09 |
Family
ID=44287536
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009281451A Expired - Fee Related JP5544856B2 (en) | 2009-12-11 | 2009-12-11 | Arbitration device, arbitration method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5544856B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2522477B (en) * | 2014-01-28 | 2020-06-17 | Advanced Risc Mach Ltd | Speculative interrupt signalling |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8638665B2 (en) * | 2008-04-30 | 2014-01-28 | Nec Corporation | Router, information processing device having said router, and packet routing method |
| JP2010108275A (en) * | 2008-10-30 | 2010-05-13 | Mitsubishi Electric Corp | Bus control device |
-
2009
- 2009-12-11 JP JP2009281451A patent/JP5544856B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011123715A (en) | 2011-06-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11836524B2 (en) | Memory interface for a multi-threaded, self-scheduling reconfigurable computing fabric | |
| EP4022450B1 (en) | Direct memory access architecture with multi-level multi-striding | |
| JP4339907B2 (en) | Optimal code generation method and compiling device for multiprocessor | |
| US7024543B2 (en) | Synchronising pipelines in a data processing apparatus | |
| CN104111818B (en) | For the processor of batch thread process, processing method and code generating device | |
| CN113900712B (en) | Instruction processing method, instruction processing device and storage medium | |
| US20210097396A1 (en) | Neural network training in a distributed system | |
| US8780914B2 (en) | Parallel processing of network packets | |
| CN118796389A (en) | Reduction scheduling method and device | |
| CN111061485A (en) | Task processing method, compiler, scheduling server, and medium | |
| US11816061B2 (en) | Dynamic allocation of arithmetic logic units for vectorized operations | |
| CN113094155B (en) | Task scheduling method and device under Hadoop platform | |
| JP5544856B2 (en) | Arbitration device, arbitration method, and program | |
| JPH06131181A (en) | Hierarchical parallel processing type central processing unit | |
| US20190057093A1 (en) | Ranking items | |
| CN120540867A (en) | A hypergraph neural network reasoning method and system | |
| JP6256088B2 (en) | Vector processor, information processing apparatus, and overtaking control method | |
| JP2024528421A (en) | Data processing apparatus and method for processing stalled data - Patents.com | |
| CN113722071A (en) | Data processing method, data processing apparatus, electronic device, storage medium, and program product | |
| JP2503984B2 (en) | Information processing device | |
| CN114327643B (en) | Machine instruction preprocessing method, electronic device and computer-readable storage medium | |
| JP3956652B2 (en) | Processor system | |
| JP6926681B2 (en) | Arithmetic processing unit and control method of arithmetic processing unit | |
| JP3795055B1 (en) | Value prediction apparatus, multiprocessor system, and value prediction method | |
| CN120216024A (en) | A computing chip, computing method, computing device, storage medium and program product |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121114 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131011 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131224 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140324 |
|
| 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: 20140415 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140428 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5544856 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |