JP2017123602A - Control circuit, data processing device, and logic circuit management method - Google Patents
Control circuit, data processing device, and logic circuit management method Download PDFInfo
- Publication number
- JP2017123602A JP2017123602A JP2016002632A JP2016002632A JP2017123602A JP 2017123602 A JP2017123602 A JP 2017123602A JP 2016002632 A JP2016002632 A JP 2016002632A JP 2016002632 A JP2016002632 A JP 2016002632A JP 2017123602 A JP2017123602 A JP 2017123602A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic
- logic circuits
- combination
- data transfer
- 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
- 238000012545 processing Methods 0.000 title claims description 47
- 238000007726 management method Methods 0.000 title claims description 15
- 238000012546 transfer Methods 0.000 claims abstract description 182
- 238000012544 monitoring process Methods 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims description 101
- 230000008569 process Effects 0.000 claims description 101
- 238000001514 detection method Methods 0.000 claims description 36
- 230000010354 integration Effects 0.000 description 28
- 102100037364 Craniofacial development protein 1 Human genes 0.000 description 10
- 101000880187 Homo sapiens Craniofacial development protein 1 Proteins 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Abstract
Description
本発明は、制御回路、データ処理装置および論理回路管理方法に関する。 The present invention relates to a control circuit, a data processing device, and a logic circuit management method.
サーバ等のデータ処理装置は、論理構成を書き換え可能な集積回路の一種であるFPGA(Field Programmable Gate Array)を有する場合がある。例えば、FPGAには、サーバの利用者によって設計された論理回路(以下、ユーザモジュールとも称する)が書き込まれる。近年、複数の利用者が同一のFPGAを共同で使用するシステムが提案されている(例えば、特許文献1参照)。この種のシステムは、複数の利用者によってそれぞれ設計された複数のユーザモジュールを1つのFPGAに書き込む。 A data processing device such as a server may have an FPGA (Field Programmable Gate Array) which is a kind of integrated circuit whose logic configuration can be rewritten. For example, a logic circuit (hereinafter also referred to as a user module) designed by a server user is written in the FPGA. In recent years, a system in which a plurality of users jointly use the same FPGA has been proposed (see, for example, Patent Document 1). This type of system writes a plurality of user modules respectively designed by a plurality of users into one FPGA.
また、回路機能を所定の単位(以下、セルとも称する)で部分的に再構成可能なFPGAでは、FPGAの利用効率を向上するために、互いに異なる大きさの複数のセルを有する構成が提案されている(例えば、特許文献2参照)。この種のFPGAでは、書き換え対象のセル以外のセルが動作中でも、書き換え対象のセルの回路機能が再構成される。 Further, in an FPGA in which circuit functions can be partially reconfigured in a predetermined unit (hereinafter also referred to as a cell), a configuration having a plurality of cells of different sizes has been proposed in order to improve the utilization efficiency of the FPGA. (For example, refer to Patent Document 2). In this type of FPGA, even when cells other than the cell to be rewritten are operating, the circuit function of the cell to be rewritten is reconfigured.
論理構成を書き換え可能な複数の回路領域毎に1つのユーザモジュールが書き込まれるFPGAでは、ユーザモジュールが小さくなるほど、FPGAの利用効率は低下する。一方、1つの回路領域に書き込むユーザモジュールの数を単に増加させた場合、1つの回路領域に書き込まれた複数のユーザモジュールのデータ転送レートが回路領域のデータ転送レートによって制限され、ユーザモジュールの性能が低下するおそれがある。 In an FPGA in which one user module is written for each of a plurality of circuit areas in which the logic configuration can be rewritten, the use efficiency of the FPGA decreases as the user module becomes smaller. On the other hand, when the number of user modules written in one circuit area is simply increased, the data transfer rate of a plurality of user modules written in one circuit area is limited by the data transfer rate of the circuit area, and the performance of the user module May decrease.
1つの側面では、本発明は、論理構成を書き換え可能な集積回路に論理回路を効率よく割り当てることを目的とする。 In one aspect, an object of the present invention is to efficiently assign a logic circuit to an integrated circuit whose logic configuration can be rewritten.
一観点によれば、論理構成を書き換え可能な複数の回路領域を有する集積回路に論理回路を書き込む制御回路は、書き込み対象の論理回路と書き込み対象の論理回路のデータ転送量を監視する監視回路とを、複数の回路領域のいずれかに書き込む構成部と、論理回路のデータ転送量を示す情報を、論理回路とともに回路領域に書き込まれた監視回路から取得する取得部と、複数の論理回路の中から、1つの回路領域に割り当て可能な論理回路の組み合わせを、組み合わせに含まれる複数の論理回路のデータ転送量が所定の転送条件を満たすかの判定結果と、組み合わせに含まれる複数の論理回路が1つの回路領域に収まるかの判定結果とに基づいて検出する検出部とを有し、構成部は、組み合わせが検出された場合、組み合わせに含まれる複数の論理回路を1つの回路領域に書き込み、回路領域の論理構成を再構成する。 According to one aspect, a control circuit that writes a logic circuit to an integrated circuit having a plurality of circuit regions in which the logic configuration can be rewritten includes a monitoring circuit that monitors a data transfer amount of the writing target logic circuit and the writing target logic circuit; Among the plurality of circuit areas, an acquisition section for acquiring information indicating the data transfer amount of the logic circuit from the monitoring circuit written in the circuit area together with the logic circuit, and a plurality of logic circuits. From the combination of logic circuits that can be assigned to one circuit area, the determination result whether the data transfer amount of the plurality of logic circuits included in the combination satisfies a predetermined transfer condition, and the plurality of logic circuits included in the combination are And a detection unit that detects based on a determination result of whether or not a single circuit region fits. Writing a logic circuit into a single circuit region, to reconstruct the logical structure of the circuit region.
別の観点によれば、データ処理装置は、論理構成を書き換え可能な複数の回路領域を有する集積回路と、複数の回路領域に論理回路を書き込む制御回路とを有し、制御回路は、書き込み対象の論理回路と書き込み対象の論理回路のデータ転送量を監視する監視回路とを、複数の回路領域のいずれかに書き込む構成部と、論理回路のデータ転送量を示す情報を、論理回路とともに回路領域に書き込まれた監視回路から取得する取得部と、複数の論理回路の中から、1つの回路領域に割り当て可能な論理回路の組み合わせを、組み合わせに含まれる複数の論理回路のデータ転送量が所定の転送条件を満たすかの判定結果と、組み合わせに含まれる複数の論理回路が1つの回路領域に収まるかの判定結果とに基づいて検出する検出部とを有し、構成部は、組み合わせが検出された場合、組み合わせに含まれる複数の論理回路を1つの回路領域に書き込み、回路領域の論理構成を再構成する。 According to another aspect, the data processing apparatus includes an integrated circuit having a plurality of circuit areas in which the logic configuration can be rewritten, and a control circuit that writes the logic circuits in the plurality of circuit areas. A logic circuit and a monitoring circuit that monitors the data transfer amount of the logic circuit to be written, a configuration unit that writes the data transfer amount to one of a plurality of circuit regions, and information indicating the data transfer amount of the logic circuit together with the logic circuit The data transfer amount of a plurality of logic circuits included in the combination is a combination of an acquisition unit that acquires from the monitoring circuit written in the logic circuit and a combination of logic circuits that can be assigned to one circuit area among the plurality of logic circuits. A detection unit configured to detect based on a determination result whether the transfer condition is satisfied and a determination result whether a plurality of logic circuits included in the combination fits in one circuit area, , When combined is detected, writes the plurality of logic circuits included in the combination in a single circuit region, to reconstruct the logical structure of the circuit region.
別の観点によれば、論理構成を書き換え可能な複数の回路領域を有する集積回路に論理回路を書き込むコンピュータが回路領域への論理回路の割り当てを管理する論理回路管理方法では、コンピュータが、書き込み対象の論理回路と書き込み対象の論理回路のデータ転送量を監視する監視回路とを、複数の回路領域のいずれかに書き込み、論理回路のデータ転送量を示す情報を、論理回路とともに回路領域に書き込まれた監視回路から取得し、複数の論理回路の中から、1つの回路領域に割り当て可能な論理回路の組み合わせを、組み合わせに含まれる複数の論理回路のデータ転送量が所定の転送条件を満たすかの判定結果と、組み合わせに含まれる複数の論理回路が1つの回路領域に収まるかの判定結果とに基づいて検出し、組み合わせを検出した場合、組み合わせに含まれる複数の論理回路を1つの回路領域に書き込み、回路領域の論理構成を再構成する。 According to another aspect, in a logic circuit management method in which a computer that writes a logic circuit to an integrated circuit having a plurality of circuit areas in which the logic configuration can be rewritten manages the allocation of the logic circuit to the circuit area, the computer The logic circuit and the monitoring circuit that monitors the data transfer amount of the logic circuit to be written are written to one of a plurality of circuit areas, and information indicating the data transfer amount of the logic circuit is written to the circuit area together with the logic circuit. A combination of logic circuits that can be assigned to one circuit area from a plurality of logic circuits and whether the data transfer amount of the plurality of logic circuits included in the combination satisfies a predetermined transfer condition. Based on the determination result and the determination result of whether a plurality of logic circuits included in the combination fit in one circuit area, the combination is detected. If issued, writes a plurality of logic circuits included in the combination in a single circuit region, to reconstruct the logical structure of the circuit region.
論理構成を書き換え可能な集積回路に論理回路を効率よく割り当てることができる。 A logic circuit can be efficiently allocated to an integrated circuit whose logic configuration can be rewritten.
以下、実施形態について、図面を用いて説明する。 Hereinafter, embodiments will be described with reference to the drawings.
図1は、制御回路、データ処理装置および論理回路管理方法の一実施形態を示す。図1に示すデータ処理装置10は、例えば、集積回路100と制御回路200とを有するサーバ等の情報処理装置である。集積回路100は、例えば、データ処理装置10のユーザが使用する論理回路120(120A、120B)等をプログラム可能なFPGA等のプログラマブルデバイスである。例えば、集積回路100は、論理構成を書き換え可能な複数の回路領域110(110A、110B、110C、110D)と、複数の回路領域110に接続されたバスBUSとを有する。回路領域110の外部のバスBUS等の配線は、例えば、固定して配置される。
FIG. 1 shows an embodiment of a control circuit, a data processing device, and a logic circuit management method. A
回路領域110には、図1の括弧内に示すように、論理回路120および論理回路120のデータ転送量を監視する監視回路130(130A、130B)が制御回路200により書き込まれる。論理回路120は、例えば、図示されないブロックとの間でデータ転送を実行する。なお、図1に示す括弧内には、第1段階および第2段階の回路領域110A、110Bの状態の一例を示している。図1に示す括弧内の第1段階および第2段階については、制御回路200による再構成の動作を説明する際に説明する。
As shown in parentheses in FIG. 1, the
制御回路200は、回路領域110を書き込み単位として、論理回路120等を集積回路100に書き込む。例えば、制御回路200は、構成部210、取得部220および検出部230を有する。構成部210、取得部220および検出部230は、ハードウェアのみで実現されてもよく、ソフトウェアによりハードウェアを制御することにより実現されてもよい。例えば、制御回路200は、CPU(Central Processing Unit)等のプロセッサがソフトウェアを実行することにより実現されてもよい。プロセッサを含むコンピュータがソフトウェアを実行することにより制御回路200が実現される場合、コンピュータの動作は、回路領域110への論理回路120の割り当てを管理する論理回路管理方法の一態様である。
The
構成部210は、書き込み対象の論理回路120と書き込み対象の論理回路120のデータ転送量を監視する監視回路130とを、複数の回路領域110のいずれかに書き込む。また、構成部210は、1つの回路領域110に割り当て可能な論理回路120の組み合わせを検出部230が検出した場合、回路領域110の論理構成を再構成する。再構成の動作については、検出部230の動作を説明した後に説明する。
The
取得部220は、回路領域110に書き込まれた論理回路120のデータ転送量を示す情報を監視回路130から取得し、監視回路130から取得した情報を検出部230に通知する。
The
検出部230は、例えば、論理回路120を実現するための回路情報から論理回路120の規模を示す情報を取得し、論理回路120のデータ転送量を示す情報を監視回路130から取得部220を介して取得する。そして、検出部230は、複数の論理回路120の中から、1つの回路領域110に割り当て可能な論理回路120の組み合わせを、論理回路120のデータ転送量、論理回路120の規模および回路領域110の規模等に基づいて検出する。
For example, the
例えば、検出部230は、複数の論理回路120の中から、判定対象とする論理回路120の組み合わせを選択する。そして、検出部230は、判定対象として選択した論理回路120の組み合わせに含まれる複数の論理回路120(以下、判定対象の複数の論理回路120とも称する)が1つの回路領域110に収まるか否かを判定する。さらに、検出部230は、判定対象の複数の論理回路120のデータ転送量が所定の転送条件を満たすか否かを判定する。そして、検出部230は、1つの回路領域110に収まり、かつ、所定の転送条件を満たす判定対象の複数の論理回路120を、1つの回路領域110に割り当て可能な論理回路120の組み合わせとして検出する。
For example, the
ここで、判定対象の複数の論理回路120が1つの回路領域110に収まるか否かの判定では、例えば、検出部230は、判定対象の複数の論理回路120および監視回路130の規模の合計が1つの回路領域110の規模以下であるか否かを判定する。判定対象の複数の論理回路120および監視回路130の規模の合計が1つの回路領域110の規模以下である場合、検出部230は、判定対象の複数の論理回路120が1つの回路領域110に収まると判定する。なお、検出部230は、判定対象の複数の論理回路120の規模の合計が1つの回路領域110の規模以下であるか否かを判定してもよい。すなわち、検出部230は、判定対象の複数の論理回路120の規模の合計が1つの回路領域110の規模以下である場合、判定対象の複数の論理回路120が1つの回路領域110に収まると判定してもよい。
Here, in determining whether or not the plurality of
また、判定対象の複数の論理回路120のデータ転送量が所定の転送条件を満たすか否かの判定では、例えば、検出部230は、判定対象の複数の論理回路120のデータ転送量の合計の平均が第1閾値以下である場合、所定の転送条件を満たすと判定する。第1閾値は、回路領域110とバスBUSとの間のバス帯域に対応する回路領域110のデータ転送レート以下の値に設定される。例えば、第1閾値は、回路領域110のデータ転送レートの7割程度の値に設定される。なお、検出部230は、判定対象の複数の論理回路120のデータ転送量の合計の平均が第1閾値以下で、かつ、判定対象の複数の論理回路120の各々のデータ転送量のピークの合計が第2閾値以下である場合、所定の転送条件を満たすと判定してもよい。この場合、第2閾値は、第1閾値より大きい値に設定される。例えば、第2閾値は、回路領域110のデータ転送レートの数倍の値に設定される。
In determining whether the data transfer amount of the plurality of
なお、1つの回路領域110に収まらない論理回路120の組み合わせに対しては、所定の転送条件を満たすか否かの判定が省かれてもよい。すなわち、検出部230は、1つの回路領域110に収まる論理回路120の組み合わせに含まれる複数の論理回路120のデータ転送量が所定の転送条件を満たすか否かを判定してもよい。この場合、検出部230は、1つの回路領域110に収まる論理回路120の組み合わせのうち、所定の転送条件を満たす組み合わせを、1つの回路領域110に割り当て可能な論理回路120の組み合わせとして検出する。
Note that for combinations of
1つの回路領域110に割り当て可能な論理回路120の組み合わせが検出された場合、構成部210は、検出された組み合わせに含まれる複数の論理回路120を1つの回路領域110に書き込む。これにより、検出部230で検出された組み合わせに含まれる複数の論理回路120が書き込まれた回路領域110の論理構成は、再構成される。
When a combination of
集積回路100を再構成する際の制御回路200の動作を図1の括弧内に示した回路領域110A、110Bを用いて説明する。なお、集積回路100では、書き換え対象の回路領域110A、110B以外の回路領域110C、110Dが動作中でも、回路領域110A、110Bの論理構成を再構成することができる。
The operation of the
先ず、第1段階では、制御回路200は、回路領域110毎に、論理回路120および論理回路120のデータ転送量を監視する監視回路130を集積回路100に書き込む。これにより、論理回路120Aおよび監視回路130Aが回路領域110Aに書き込まれ、論理回路120Bおよび監視回路130Bが回路領域110Bに書き込まれる。
First, in the first stage, the
そして、制御回路200は、互いに異なる回路領域110に書き込まれた複数の論理回路120を1つの回路領域110に書き込む再構成を実行するか否かの判定を所定の時間間隔で繰り返し実行する。例えば、制御回路200は、論理回路120A、120Bの動作時のデータ転送量を示す情報を監視回路130A、130Bからそれぞれ取得する。
Then, the
図1に示す例では、論理回路120A、120Bのデータ転送量は、上述した所定の転送条件を満たす。例えば、論理回路120A、120Bのデータ転送量の合計の平均は、第1閾値以下である。また、論理回路120A、120Bおよび監視回路130A、130Bの規模の合計は、回路領域110Aの規模より小さい。すなわち、論理回路120A、120Bおよび監視回路130A、130Bは、1つの回路領域110にプログラム可能(書き込み可能)である。このため、制御回路200は、論理回路120A、120Bを1つの回路領域110Aに書き込む再構成を実行すると判定する。
In the example shown in FIG. 1, the data transfer amount of the
したがって、第2段階では、制御回路200は、論理回路120A、120Bを回路領域110Aに書き込み、回路領域110A、110Bの論理構成を再構成する。なお、制御回路200は、監視回路130A、130Bを論理回路120A、120Bとともに回路領域110Aに書き込む。論理回路120A、120Bおよび監視回路130A、130Bは、回路領域110Aに含まれる内部バスIBUSに接続される。例えば、内部バスIBUSとして、回路領域110A内の配線の一部が使用される。なお、第2段階では、制御回路200は、論理回路120A、120Bの両方のデータ転送量を監視する1つの監視回路を、論理回路120A、120Bに共有させてもよい。
Therefore, in the second stage, the
回路領域110A、110Bの論理構成を再構成することにより、論理回路120A、120Bおよび監視回路130A、130Bが回路領域110Aに書き込まれ、回路領域110Bは、未使用の状態になる。この結果、回路領域110Bを新規の論理回路120に割り当てることが可能になり、集積回路100の利用効率を向上することができる。すなわち、論理回路120の搭載効率を向上することができる。
By reconfiguring the logic configuration of the
また、上述したように、第1閾値が回路領域110のデータ転送レート以下の値であるため、論理回路120A、120Bのデータ転送量の合計の平均は、回路領域110のデータ転送レート以下である。このため、回路領域110の外部のバスBUSと論理回路120A、120Bとの間のデータ転送量が回路領域110とバスBUSとの間のバス帯域によって制限されることを抑制できる。この結果、論理回路120A、120Bの性能が低下することを抑制できる。
Further, as described above, since the first threshold is a value less than or equal to the data transfer rate of the
なお、データ処理装置10の構成および集積回路100の構成は、図1に示す例に限定されない。例えば、データ処理装置10は、複数の集積回路100を有してもよい。また、例えば、回路領域110の数は、2つ以上であればよく、4つに限定されない。また、データ処理装置10は、複数のFPGAチップを含むパッケージを集積回路100として有してもよい。この場合、データ処理装置10は、1つのFPGAチップを1つの回路領域110に割り当ててもよい。
The configuration of the
以上、図1に示す実施形態では、データ処理装置10は、1つの回路領域110に割り当て可能な論理回路120の組み合わせを、論理回路120のデータ転送量に関する所定の転送条件、論理回路120の規模および回路領域110の規模等に基づいて検出する。1つの回路領域110に複数の論理回路120を割り当てることにより、集積回路100の利用効率を向上させることができる。また、所定の転送条件を満たした組み合わせでは、組み合わせに含まれる複数の論理回路120のデータ転送レートが回路領域110のデータ転送レートによって制限されることを抑制できる。この結果、論理回路120の性能が低下することを抑制できる。このように、図1に示す実施形態では、論理構成を書き換え可能な集積回路100に論理回路120を効率よく割り当てることができる。
As described above, in the embodiment illustrated in FIG. 1, the
図2は、集積回路、データ処理装置および論理回路管理方法の別の実施形態を示す。図1で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図2に示すデータ処理装置12は、図1に示した制御回路200の代わりにCPU202を有する。また、データ処理装置12では、メモリ300および入出力インタフェース320が図1に示したデータ処理装置10に追加されている。データ処理装置12のその他の構成は、データ処理装置10と同一または同様である。例えば、データ処理装置12は、集積回路100とCPU202とメモリ300と入出力インタフェース320とを有するサーバ等の情報処理装置である。
FIG. 2 shows another embodiment of an integrated circuit, data processing apparatus, and logic circuit management method. The same or similar elements as those described in FIG. 1 are denoted by the same or similar reference numerals, and detailed description thereof will be omitted. The
集積回路100、CPU202、メモリ300および入出力インタフェース320は、バスBUS2に接続される。集積回路100は、図1に示した集積回路100と同一または同様である。例えば、集積回路100の回路領域110には、論理回路120および監視回路130が書き込まれる。論理回路120および監視回路130は、回路領域110内の配線の一部である内部バスIBUSに接続される。また、内部バスIBUSは、回路領域110の外部に配置されたバスBUSに接続され、バスBUSは、集積回路100の外部に配置されたバスBUS2に接続される。これにより、論理回路120および監視回路130は、CPU202等と通信可能に接続される。回路領域110に書き込まれる論理回路120および監視回路130の詳細は、図3で説明する。
The
CPU202は、論理回路120等を集積回路100に書き込む制御回路の一例である。以下、CPU202は、制御回路202とも称される。CPU202は、例えば、メモリ300等に保持されたソフトウェアを実行することにより、構成部212、取得部220および検出部232の機能を実現する。すなわち、制御回路202は、構成部212、取得部220および検出部232を有する。取得部220は、図1に示した取得部220と同一または同様である。
The
構成部212は、図1に示した構成部210の機能の他に、分割処理を実行する機能を有する。分割処理は、例えば、1つの回路領域110に書き込まれた複数の論理回路120を複数の回路領域110に分けて書き込む処理である。例えば、構成部212は、分割処理対象の回路領域110が検出部232により検出された場合、分割処理対象の回路領域110に書き込まれた複数の論理回路120を複数の回路領域110に分けて書き込み、分割処理対象の回路領域の論理構成を再構成する。
The
検出部232は、図1に示した検出部230の機能の他に、分割処理対象の回路領域110を検出する機能を有する。例えば、検出部232は、複数の論理回路120が書き込まれた回路領域110のうち、複数の論理回路120のデータ転送量が所定の転送条件から外れた回路領域110を、分割処理対象の回路領域110として検出する。
The
メモリ300は、例えば、構成部212、取得部220および検出部232の動作をCPU202が実行するためのプログラム等を格納する。また、メモリ300は、論理回路120を実現するための回路情報を格納する。また、メモリ300は、例えば、論理回路120が処理を実行する際の一時記憶領域として使用される。なお、データ処理装置12は、論理回路120が処理を実行する際の一時記憶領域を含むメモリを、メモリ300とは別に有してもよい。
The
入出力インタフェース320は、データ処理装置12の外部と通信する。例えば、入出力インタフェース320は、論理回路120を実現するための回路情報等の各種情報をデータ処理装置12の外部から受け、受けた情報をCPU202、メモリ300等に転送する。
The input /
なお、データ処理装置12の構成は、図2に示す例に限定されない。例えば、データ処理装置12は、複数の集積回路100を有してもよい。また、データ処理装置12は、複数のFPGAチップを含むパッケージを集積回路100として有してもよい。この場合、データ処理装置12は、1つのFPGAチップを1つの回路領域110に割り当ててもよい。また、構成部212、取得部220および検出部232を含む制御回路202は、ハードウェアのみで実現されてもよい。
The configuration of the
図3は、図2に示した論理回路120および監視回路130の一例を示す図である。論理回路120は、内部バスIBUSに接続されるバスインタフェース121を有する。バスインタフェース121は、バスBUS2に接続されたCPU202等の装置との通信を実行する。例えば、バスインタフェース121は、制御信号BCNT(BCNTi、BCNTo)を用いて、CPU202との間でデータDATA(DATAi、DATAo)の転送を実行する。
FIG. 3 is a diagram illustrating an example of the
なお、図3に示すデータDATAoは、論理回路120から内部バスIBUSに出力されるデータDATAを示し、データDATAiは、論理回路120が内部バスIBUSを介して受けるデータDATAを示す。また、制御信号BCNToは、論理回路120から内部バスIBUSに出力される制御信号BCNTを示し、制御信号BCNTiは、論理回路120が内部バスIBUSを介して受ける制御信号BCNTを示す。制御信号BCNTには、リクエストを通知する信号、アドレス、バースト長等のデータサイズを示す情報等が含まれる。このため、監視回路130は、バスインタフェース121と内部バスIBUSとの間で転送される制御信号BCNTを監視することにより、論理回路120のデータ転送量を監視できる。図3に示す例では、監視回路130は、論理回路120毎に設けられる。
3 indicates data DATA output from the
監視回路130は、内部バスIBUSに接続されるバスインタフェース131と、監視制御部132と、データ転送量算出部133と、カウンタ134、135と、平均算出部136と、ピーク算出部137と、保持部138、139とを有する。
The
バスインタフェース131は、バスBUS2に接続されたCPU202等の装置との通信を実行する。例えば、CPU202は、制御信号CINFを用いて、論理回路120のデータ転送量の平均およびピークをそれぞれ示すデータADATA、PDATAを、監視回路130の監視結果として取得する。以下、データADATAは、平均データ転送量ADATAとも称され、データPDATAは、ピークデータ転送量PDATAとも称される。
The
監視制御部132は、監視回路130の動作を制御する。例えば、監視制御部132は、タイマTM1、TM2を有する。タイマTM1、TM2で計測する時間(以下、タイマ値とも称する)の設定は、例えば、CPU202からバスインタフェース131を通して実行される。例えば、CPU202は、論理回路120のデータ転送量の平均およびピークを算出する際に使用する第1期間および第2期間をそれぞれ示すタイマ値を、制御信号CINFを用いて、タイマTM1、TM2にそれぞれ設定する。第1期間は、例えば、数秒から数分程度の期間である。また、第2期間は、例えば、第1期間より短い期間であり、数ミリ秒から数秒程度の期間である。
The
そして、監視制御部132は、タイマTM1に設定された第1期間が経過する度に、タイマTM1に設定された第1期間が経過したことをカウンタ134および平均算出部136に通知する。また、監視制御部132は、タイマTM2に設定された第2期間が経過する度に、タイマTM2に設定された第2期間が経過したことをカウンタ135およびピーク算出部137に通知する。
Then, every time the first period set in the timer TM1 elapses, the
データ転送量算出部133は、論理回路120内のバスインタフェース121と内部バスIBUSとの間で転送される制御信号BCNTを取得する。そして、データ転送量算出部133は、制御信号BCNTに含まれるデータサイズを示す情報に基づいて、論理回路120のデータ転送量を算出する。そして、データ転送量算出部133は、制御信号BCNTに基づいて算出した論理回路120のデータ転送量を示す情報を、カウンタ134、135に転送する。
The data transfer amount calculation unit 133 acquires a control signal BCNT transferred between the
カウンタ134は、論理回路120のデータ転送量の平均を算出するためのカウンタである。例えば、カウンタ134は、第1期間が経過したことを示す信号を監視制御部132から受ける度に、カウンタ値を0にリセットする。そして、カウンタ134は、論理回路120のデータ転送量を示す情報をデータ転送量算出部133から受ける度に、データ転送量算出部133から受けた情報が示すデータ転送量をカウンタ値に加算する。これにより、カウンタ134のカウンタ値は、第1期間当たりの論理回路120のデータ転送量を示す。カウンタ134のカウンタ値は、平均算出部136に通知される。
The
カウンタ135は、論理回路120のデータ転送量のピークを算出するためのカウンタである。例えば、カウンタ135は、第2期間が経過したことを示す信号を監視制御部132から受ける度に、カウンタ値を0にリセットする。そして、カウンタ135は、論理回路120のデータ転送量を示す情報をデータ転送量算出部133から受ける度に、データ転送量算出部133から受けた情報が示すデータ転送量をカウンタ値に加算する。これにより、カウンタ135のカウンタ値は、第1期間より短い第2期間当たり論理回路120のデータ転送量を示す。カウンタ135のカウンタ値は、ピーク算出部137に通知される。
The
平均算出部136は、カウンタ134がリセットされる前のカウンタ値を第1期間当たりのデータ転送量として繰り返し取得し、第1期間当たりのデータ転送量を1秒間当たりのデータ転送量(バイト/秒)に換算する。これにより、1秒間当たりのデータ転送量が第1期間毎に繰り返し算出される。そして、平均算出部136は、繰り返し算出した1秒間当たりのデータ転送量のうち、最大値を平均データ転送量ADATAとして、保持部138に格納する。すなわち、平均算出部136は、カウンタ134のカウンタ値から算出した1秒間当たりのデータ転送量が最大値を更新する度に、保持部138に保持されている平均データ転送量ADATAを更新する。なお、最大値のリセットは、例えば、CPU202からバスインタフェース131を通して実行される。
The
ピーク算出部137は、カウンタ135がリセットされる前のカウンタ値を第2期間当たりのデータ転送量として繰り返し取得し、第2期間当たりのデータ転送量を1秒間当たりのデータ転送量(バイト/秒)に換算する。これにより、1秒間当たりのデータ転送量が第2期間毎に繰り返し算出される。そして、ピーク算出部137は、繰り返し算出した1秒間当たりのデータ転送量のうち、最大値をピークデータ転送量PDATAとして、保持部139に格納する。すなわち、ピーク算出部137は、カウンタ135のカウンタ値から算出した1秒間当たりのデータ転送量が最大値を更新する度に、保持部139に保持されているピークデータ転送量PDATAを更新する。なお、最大値のリセットは、例えば、CPU202からバスインタフェース131を通して実行される。
The
保持部138は、平均算出部136により算出された平均データ転送量ADATAを保持する。保持部138に保持された平均データ転送量ADATAは、例えば、バスインタフェース131を介してCPU202に転送される。
The holding
保持部139は、ピーク算出部137により算出されたピークデータ転送量PDATAを保持する。保持部139に保持されたピークデータ転送量PDATAは、例えば、バスインタフェース131を介してCPU202に転送される。
The holding
ここで、監視回路130のカウンタ134、135のビット幅等の一例を以下に示す。回路領域110とバスBUSとの間のバス幅が128ビット(16バイト)で、データ転送に用いるクロックの周波数が1GHz(ギガヘルツ)である場合、1秒間当たりのデータ転送量の上限は、16ギガバイトである。この場合、数秒から数分の間のデータ転送量の累積値は、符号無しの64ビット以下の値である。また、1秒間当たりのデータ転送量(バイト/秒)に換算した平均データ転送量ADATAおよびピークデータ転送量PDATAも、符号無しの64ビット以下の値である。したがって、2個のカウンタ134、135と2個の保持部138、139のビット数の合計は、64ビットの4倍であり、32バイト以下である。このように、監視回路130の回路規模を回路領域110の規模に対して小さくすることができるため、監視回路130を回路領域110内に設けたことが原因で論理回路120が回路領域110に収まらなくなることの発生頻度を低減することができる。
Here, an example of the bit widths of the
なお、論理回路120および監視回路130の構成は、図3に示す例に限定されない。例えば、第1期間当たりのデータ転送量および第2期間当たりのデータ転送量を1秒間当たりのデータ転送量にそれぞれ換算する処理は、CPU202で実行されてもよい。この場合、保持部138に保持されるデータADATAが示すデータ転送量は、第1期間当たりのデータ転送量であり、保持部139に保持されるデータPDATAが示すデータ転送量は、第2期間当たりのデータ転送量である。
Note that the configurations of the
また、回路領域110内に複数の論理回路120が書き込まれる場合、監視回路130は、複数の論理回路120で共有されてもよい。この場合、データ転送量算出部133は、複数の論理回路120の各々と内部バスIBUSとの間で転送される制御信号BCNTを取得する。すなわち、データ転送量算出部133は、自身を含む回路領域110と図2に示したバスBUSとの間で転送される制御信号BCNTを取得する。さらに、この場合、監視回路130は、回路領域110の外部に固定して設けられてもよい。
When a plurality of
図4は、図2に示したデータ処理装置12の動作の一例を示す。図4に示す論理回路追加処理および再構成処理は、例えば、ソフトウェアでCPU202を制御することにより実現される。なお、図4に示す論理回路追加処理および再構成処理は、コンピュータが回路領域110への論理回路120の割り当てを管理する論理回路管理方法の一態様である。再構成処理は、例えば、所定の時間間隔で繰り返し実行され、論理回路追加処理と並列に実行可能である。先ず、論理回路追加処理について説明する。
FIG. 4 shows an example of the operation of the
ステップS100では、CPU202は、論理回路120に監視回路130を付加する。例えば、CPU202は、論理回路120を実現するための回路情報に、監視回路130を実現するための回路情報を付加する。
In step S <b> 100, the
次に、ステップS110では、CPU202は、空きの回路領域110を検索する。
Next, in step S110, the
次に、ステップS120では、CPU202は、空きの回路領域110が存在するか否かを判定する。空きの回路領域110が存在する場合、CPU202の動作は、ステップS130に移る。すなわち、ステップS110で空きの回路領域110が検出された場合、CPU202の動作は、ステップS130に移る。一方、空きの回路領域110が存在しない場合、CPU202の動作は、ステップS110に戻る。すなわち、ステップS110で空きの回路領域110が検出されない場合、CPU202の動作は、ステップS110に戻る。この場合、再構成処理のうちの統合処理または論理回路120の消去等により空きの回路領域110が確保されるまで、ステップS130の処理は、待機される。
Next, in step S120, the
ステップS130では、CPU202は、論理回路120および監視回路130を、空きの回路領域110に書き込む。例えば、CPU202は、監視回路130を付加した論理回路120を実現するための回路情報、すなわち、ステップS100の処理で生成した回路情報に基づいて、論理回路120および監視回路130を空きの回路領域110に書き込む。これにより、論理回路追加処理は、終了する。次に、再構成処理について説明する。
In step S <b> 130, the
ステップS200では、CPU202は、各回路領域110に書き込まれた論理回路120のデータ転送量を取得する。例えば、CPU202は、各回路領域110に書き込まれた監視回路130から平均データ転送量ADATAおよびピークデータ転送量PDATAを取得する。
In step S200, the
次に、ステップS300では、CPU202は、統合処理を実行する。統合処理では、CPU202は、1つの回路領域110に割り当て可能な複数の論理回路120を検出した場合、検出した複数の論理回路120を1つの回路領域110に書き込む。なお、統合処理の詳細は、図5で説明する。
Next, in step S300, the
次に、ステップS400では、CPU202は、分割処理対象の回路領域110の候補(以下、分割候補とも称する)を検索する分割候補検索処理を実行する。なお、分割処理対象の回路領域110は、ステップS600の分割処理の対象となる回路領域110である。分割候補検索処理の詳細は、図6で説明する。
Next, in step S400, the
次に、ステップS500では、CPU202は、分割候補が存在するか否かを判定する。分割候補が存在する場合、CPU202の動作は、ステップS600に移る。すなわち、ステップS400の分割候補検索処理で分割候補が検出された場合、CPU202の動作は、ステップS600に移る。一方、分割候補が存在しない場合、今回の再構成処理は終了する。すなわち、ステップS400の分割候補検索処理で分割候補が検出されない場合、今回の再構成処理は終了する。
Next, in step S500, the
次に、ステップS600では、CPU202は、1つの回路領域110に書き込まれた複数の論理回路120を複数の回路領域110に分けて書き込む分割処理を実行する。分割処理の詳細は、図7で説明する。分割処理の終了に伴い、今回の再構成処理は終了する。
Next, in step S <b> 600, the
なお、再構成処理が所定の時間間隔で繰り返し実行されるため、分割処理対象の回路領域110を検出する処理および統合処理も所定の時間間隔で繰り返し実行される。また、データ処理装置12の動作は、図4に示す例に限定されない。例えば、データ処理装置12は、図8に示すように、分割処理と統合処理とのいずれかを実行してもよい。
Since the reconfiguration process is repeatedly executed at a predetermined time interval, the process for detecting the
図5は、図4に示した統合処理の一例を示す。すなわち、図5は、図4に示したステップS300の一例を示す。例えば、ステップS310の処理は、図4に示したステップS200の処理が終了した後、実行される。なお、ステップS310からステップS314までの処理は、図4に示したステップS200の処理と並列に実行されてもよい。 FIG. 5 shows an example of the integration process shown in FIG. That is, FIG. 5 shows an example of step S300 shown in FIG. For example, the process of step S310 is executed after the process of step S200 illustrated in FIG. In addition, the process from step S310 to step S314 may be performed in parallel with the process of step S200 shown in FIG.
ステップS310では、CPU202は、論理回路120が書き込まれた回路領域110の中から、2つの回路領域110を選択する。
In step S310, the
次に、ステップS312では、CPU202は、ステップS310で選択した2つの回路領域110内の論理回路120の規模の合計SZを算出する。例えば、2つの回路領域110の一方に2つの論理回路120が書き込まれ、2つの回路領域110の他方に1つの論理回路120が書き込まれていた場合、CPU202は、3つの論理回路120の規模を合計した値を合計SZとして算出する。
Next, in step S312, the
次に、ステップS314では、CPU202は、2つの回路領域110内の複数の論理回路120の規模の合計SZが1つの回路領域110の規模以下か否かを判定する。このように、図5に示す例では、CPU202は、監視回路130の規模が回路領域110の規模に対して無視できる大きさとして、2つの回路領域110内の複数の論理回路120が1つの回路領域110に収まるか否かを判定する。
Next, in step S <b> 314, the
合計SZが1つの回路領域110の規模以下である場合、CPU202の動作は、ステップS316に移る。すなわち、CPU202は、2つの回路領域110内の複数の論理回路120が1つの回路領域110に収まると判定した場合、動作をステップS316に移す。一方、合計SZが1つの回路領域110の規模を越える場合、CPU202の動作は、ステップS326に移る。すなわち、CPU202は、2つの回路領域110内の複数の論理回路120が1つの回路領域110に収まらないと判定した場合、動作をステップS326に移す。
If the total SZ is less than or equal to the scale of one
ステップS316では、CPU202は、2つの回路領域110内の複数の論理回路120の全体の平均データ量ADyを算出する。例えば、CPU202は、図4に示したステップS200で取得した平均データ転送量ADATAのうち、2つの回路領域110内の複数の論理回路120の各々の平均データ転送量ADATAを選択する。そして、CPU202は、2つの回路領域110内の複数の論理回路120の各々の平均データ転送量ADATAの合計を、平均データ量ADyとして算出する。
In step S <b> 316, the
次に、ステップS318では、CPU202は、平均データ量ADyが第1閾値以下か否かを判定する。第1閾値は、回路領域110とバスBUSとの間のバス帯域(回路領域110のデータ転送レート)以下の値に予め設定される。例えば、第1閾値は、回路領域110とバスBUSとの間のバス帯域の7割程度の値に予め設定される。
Next, in step S318, the
平均データ量ADyが第1閾値以下である場合、CPU202の動作は、ステップS320に移る。一方、平均データ量ADyが第1閾値を越える場合、CPU202の動作は、ステップS326に移る。
When the average data amount ADy is less than or equal to the first threshold value, the operation of the
ステップS320では、CPU202は、2つの回路領域110内の複数の論理回路120の合計ピークデータ量PDyを算出する。例えば、CPU202は、図4に示したステップS200で取得したピークデータ転送量PDATAのうち、2つの回路領域110内の複数の論理回路120の各々のピークデータ転送量PDATAを選択する。そして、CPU202は、2つの回路領域110内の複数の論理回路120の各々のピークデータ転送量PDATAの合計を、合計ピークデータ量PDyとして算出する。
In step S320, the
次に、ステップS322では、CPU202は、合計ピークデータ量PDyが第2閾値以下か否かを判定する。第2閾値は、第1閾値より大きい値に予め設定される。例えば、第2閾値は、回路領域110とバスBUSとの間のバス帯域の数倍の値に予め設定される。
Next, in step S322, the
合計ピークデータ量PDyが第2閾値以下である場合、CPU202の動作は、ステップS324に移る。一方、合計ピークデータ量PDyが第2閾値を越える場合、CPU202の動作は、ステップS326に移る。
When the total peak data amount PDy is equal to or smaller than the second threshold value, the operation of the
次に、ステップS324では、CPU202は、ステップS310で選択した2つの回路領域110を、統合候補の回路領域110の組み合わせとして、統合候補Yに登録する。統合候補Yは、例えば、図5に示す動作を実現するためのプログラムで使用される配列またはテーブル等である。
Next, in step S324, the
次に、ステップS326では、CPU202は、論理回路120が書き込まれた回路領域110の中から、2つの回路領域110の全ての組み合わせを選択したか否かを判定する。例えば、図2に示した回路領域110A、110B、110C、110Dの全てに論理回路120が書き込まれている場合、全ての組み合わせは、以下に示す6通りである。
6通りの組み合わせの内訳は、回路領域110A、110Bの組、回路領域110A、110Cの組、回路領域110A、110Dの組、回路領域110B、110Cの組、回路領域110B、110Dの組、回路領域110C、110Dの組である。
Next, in step S326, the
The breakdown of the six combinations includes the
全ての組み合わせを選択した場合、CPU202の動作は、ステップS328に移る。一方、選択していない組み合わせが存在する場合、CPU202の動作は、ステップS310に戻る。なお、2回目以降のステップS310では、CPU202は、既に選択した組み合わせと重複しないように、2つの回路領域110を選択する。
When all the combinations are selected, the operation of the
ステップS328では、CPU202は、統合候補Yに登録された組み合わせが存在するか否かを判定する。すなわち、CPU202は、ステップS310で選択した回路領域110の組み合わせの少なくとも1つの組み合わせを統合候補Yに登録したか否かを判定する。統合候補Yに回路領域110の組み合わせが登録されている場合、CPU202の動作は、ステップS330に移る。一方、統合候補Yに回路領域110の組み合わせが登録されていない場合、統合処理は終了し、CPU202の動作は、図4に示したステップS400に移る。
In step S328, the
ステップS330では、CPU202は、統合候補Yに登録した組み合わせのうち、ステップS316で算出した平均データ量ADyが最小な組み合わせを選択する。平均データ量ADyが最小な組み合わせの回路領域110に含まれる論理回路120は、1つの回路領域110に割り当てられる論理回路120の組み合わせである。すなわち、CPU202は、ステップS310からステップS324までの処理を実行することにより、1つの回路領域110に割り当て可能な論理回路120の組み合わせを検出する。そして、CPU202は、ステップS330の処理を実行することにより、1つの回路領域110に割り当てる論理回路120の組み合わせを決定する。
In step S330, the
平均データ量ADyが最小な組み合わせを選択することにより、1つの回路領域110に割り当てた複数の論理回路120のデータ転送量が所定の転送条件から外れる頻度を低減することができる。
By selecting a combination having the smallest average data amount ADy, it is possible to reduce the frequency at which the data transfer amounts of the plurality of
次に、ステップS332では、CPU202は、ステップS330で選択した平均データ量ADyが最小な組み合わせの回路領域110に含まれる論理回路120を、1つの回路領域110に書き込む。
Next, in step S <b> 332, the
例えば、CPU202は、ステップS330で選択した組み合わせが回路領域110A、110Cの組である場合、回路領域110Aに含まれる論理回路120と回路領域110Cに含まれる論理回路120とを、回路領域110Aに書き込む。これにより、回路領域110Cは、空きの回路領域110となる。この結果、回路領域110Cを新規の論理回路120に割り当てることが可能になり、集積回路100の利用効率を向上することができる。すなわち、論理回路120の搭載効率を向上することができる。
For example, when the combination selected in step S330 is a combination of the
ステップS332の処理が実行されることにより、統合処理は終了し、CPU202の動作は、図4に示したステップS400に移る。
By executing the process of step S332, the integration process is completed, and the operation of the
なお、統合処理の例は、図5に示す例に限定されない。例えば、ステップS320、S322は、省かれてもよい。また、CPU202は、ステップS312において、2つの回路領域110内の論理回路120および監視回路130の規模の合計を、合計SZとして算出してもよい。すなわち、CPU202は、ステップS314において、2つの回路領域110内の論理回路120および監視回路130の規模の合計が1つの回路領域110の規模以下か否かを判定してもよい。
Note that the example of the integration process is not limited to the example illustrated in FIG. For example, steps S320 and S322 may be omitted. In step S312, the
また、CPU202は、ステップS332の処理を、図4に示したステップS500の判定より後に実行してもよい。例えば、CPU202は、図4に示したステップS500で分割候補が存在すると判定した場合、ステップS332の処理を図7に示す分割処理のステップS616の処理と一緒に実行してもよい。また、CPU202は、図4に示したステップS500で分割候補が存在しないと判定した場合、ステップS332の処理を実行して再構成処理を終了してもよい。ステップS332の処理が図4に示したステップS500の判定より後に実行される場合、図4に示すステップS400以降の処理は、ステップS332の処理が実行されたと仮定した状態に基づいて実行される。例えば、ステップS332の処理が実行されたと仮定した場合、図7に示すステップS610で使用される空きの回路領域110の数は、現状の空きの回路領域110の数に1を加算した数である。
In addition, the
図6は、図4に示した分割候補検索処理の一例を示す。すなわち、図6は、図4に示したステップS400の一例を示す。例えば、ステップS410の処理は、図4に示したステップS300の統合処理が終了した後、実行される。 FIG. 6 shows an example of the division candidate search process shown in FIG. That is, FIG. 6 shows an example of step S400 shown in FIG. For example, the process of step S410 is executed after the integration process of step S300 illustrated in FIG.
ステップS410では、CPU202は、複数の論理回路120が書き込まれた回路領域110が存在するか否かを判定する。複数の論理回路120が書き込まれた回路領域110が存在する場合、CPU202の動作は、ステップS412に移る。一方、複数の論理回路120が書き込まれた回路領域110が存在しない場合、分割候補検索処理は終了し、CPU202の動作は、図4に示したステップS500に移る。
In step S410, the
ステップS412では、CPU202は、複数の論理回路120が書き込まれた回路領域110の中から、1つの回路領域110を選択する。
In step S412, the
次に、ステップS414では、CPU202は、ステップS412で選択した1つの回路領域110内の複数の論理回路120の全体の平均データ量ADzを算出する。例えば、CPU202は、図4に示したステップS200で取得した平均データ転送量ADATAのうち、ステップS412で選択した1つの回路領域110内の複数の論理回路120の各々の平均データ転送量ADATAを選択する。そして、CPU202は、ステップS412で選択した1つの回路領域110内の複数の論理回路120の各々の平均データ転送量ADATAの合計を、平均データ量ADzとして算出する。
Next, in step S414, the
次に、ステップS416では、CPU202は、平均データ量ADzが第1閾値を越えるか否かを判定する。第1閾値は、例えば、図5に示した統合処理で使用される第1閾値と同じである。平均データ量ADzが第1閾値を越える場合、CPU202の動作は、ステップS422に移る。一方、平均データ量ADzが第1閾値以下である場合、CPU202の動作は、ステップS418に移る。
Next, in step S416, the
ステップS418では、CPU202は、ステップS412で選択した1つの回路領域110内の複数の論理回路120の合計ピークデータ量PDzを算出する。例えば、CPU202は、図4に示したステップS200で取得したピークデータ転送量PDATAのうち、ステップS412で選択した1つの回路領域110内の複数の論理回路120の各々のピークデータ転送量PDATAを選択する。そして、CPU202は、ステップS412で選択した1つの回路領域110内の複数の論理回路120の各々のピークデータ転送量PDATAの合計を、合計ピークデータ量PDzとして算出する。
In step S418, the
次に、ステップS420では、CPU202は、合計ピークデータ量PDzが第2閾値を越えるか否かを判定する。第2閾値は、例えば、図5に示した統合処理で使用される第2閾値と同じである。合計ピークデータ量PDzが第2閾値を越える場合、CPU202の動作は、ステップS422に移る。一方、合計ピークデータ量PDzが第2閾値以下である場合、CPU202の動作は、ステップS424に移る。
Next, in step S420, the
ステップS422では、CPU202は、ステップS412で選択した1つの回路領域110を、分割候補の回路領域110として、分割候補Zに登録する。分割候補Zは、例えば、図6に示す動作を実現するためのプログラムで使用される配列またはテーブル等である。すなわち、CPU202は、ステップS412からステップS422までの処理を実行することにより、複数の論理回路120が書き込まれた回路領域110の中から、複数の論理回路120のデータ転送量が所定の転送条件から外れた回路領域110を検出する。
In step S422, the
次に、ステップS424では、CPU202は、検索対象の全ての回路領域110を選択したか否かを判定する。すなわち、CPU202は、複数の論理回路120が書き込まれた回路領域110を全て選択したか否かを判定する。検索対象の中に、選択していない回路領域110が存在する場合、CPU202の動作は、ステップS412に戻る。すなわち、ステップS412からステップS422までの処理は、複数の論理回路120が書き込まれた全ての回路領域110に対して実行される。
Next, in step S424, the
一方、検索対象の全ての回路領域110を選択した場合、分割候補検索処理は終了し、CPU202の動作は、図4に示したステップS500に移る。例えば、図4に示したステップS500では、CPU202は、分割候補Zに登録された回路領域110が存在するか否かを判定することにより、分割候補が存在するか否かを判定する。すなわち、CPU202は、分割候補Zに回路領域110を登録した場合、図4に示したステップS500において、分割候補が存在すると判定する。なお、分割候補検索処理の例は、図6に示す例に限定されない。例えば、ステップS418、S420は、省かれてもよい。
On the other hand, when all the
図7は、図4に示した分割処理の一例を示す。すなわち、図7は、図4に示したステップS600の一例を示す。例えば、ステップS610の処理は、図4に示したステップS500で分割候補が存在すると判定された場合、実行される。 FIG. 7 shows an example of the dividing process shown in FIG. That is, FIG. 7 shows an example of step S600 shown in FIG. For example, the process of step S610 is executed when it is determined in step S500 shown in FIG.
ステップS610では、CPU202は、空きの回路領域110の数がリザーブ数R(Rは、0以上の整数)より多いか否かを判定する。リザーブ数Rは、新規の論理回路120の追加用に予め予約された数である。CPU202は、リザーブ数Rを参照することにより、新規に追加可能な論理回路120の数を容易に検出できる。なお、新規の論理回路120の追加用に回路領域110を確保しなくてもよい場合は、リザーブ数Rは0に設定される。
In step S610, the
空きの回路領域110の数がリザーブ数Rより多い場合、CPU202の動作は、ステップS612に移る。一方、空きの回路領域110の数がリザーブ数R以下である場合、分割処理は、終了する。このように、図7に示す分割処理では、新規の論理回路120の追加用に確保していた空きの回路領域110が分割処理で使用されることを防止することができる。
If the number of
ステップS612では、CPU202は、分割候補Zに登録した回路領域110のうち、図6に示したステップS414で算出した平均データ量ADzが最大な回路領域110を、分割処理対象の回路領域110として選択する。平均データ量ADzが最大な回路領域110に含まれる複数の論理回路120は、2つの回路領域110に分けて割り当てられる論理回路120である。すなわち、CPU202は、ステップS612の処理を実行することにより、2つの回路領域110に分けて割り当てる複数の論理回路120を決定する。平均データ量ADzが最大な回路領域110を選択することにより、性能が最も低下していたと予想される論理回路120の性能を向上させることができる。
In step S612, the
次に、ステップS614では、CPU202は、平均データ量ADzが最大な回路領域110に含まれる複数の論理回路120を、2つのグループに分ける。例えば、CPU202は、2つのグループのそれぞれの平均データ量ADが第1閾値以下になるように、複数の論理回路120を2つのグループに分ける。なお、CPU202は、平均データ量ADzが最大な回路領域110に3つ以上の論理回路120が含まれる場合、2つのグループのそれぞれの平均データ量ADがなるべく等しくなるように、複数の論理回路120を2つのグループに分けてもよい。
Next, in step S614, the
次に、ステップS616では、CPU202は、ステップS614で2つのグループに分けた論理回路120を、2つの回路領域110にそれぞれ書き込む。すなわち、CPU202は、2つのグループの一方に含まれる論理回路120を2つの回路領域110の一方に書き込み、2つのグループの他方に含まれる論理回路120を2つの回路領域110の他方に書き込む。これにより、分割処理は、終了する。
Next, in step S616, the
なお、分割処理の例は、図6に示す例に限定されない。例えば、空きの回路領域110の数がリザーブ数Rに1を加算した値より多い場合、CPU202は、ステップS612において、2つの回路領域110を選択してもよい。この場合、CPU202は、ステップS614において、2つの回路領域110に含まれる複数の論理回路120を4つのグループに分けてもよい。そして、CPU202は、ステップS616において、4つのグループに分けた論理回路120を4つの回路領域110にそれぞれ書き込みしてもよい。
Note that the example of the dividing process is not limited to the example shown in FIG. For example, when the number of
図8は、図2に示したデータ処理装置12の動作の別の例を示す。図8に示す論理回路追加処理および再構成処理は、例えば、ソフトウェアでCPU202を制御することにより実現される。なお、図8に示す論理回路追加処理および再構成処理は、コンピュータが回路領域110への論理回路120の割り当てを管理する論理回路管理方法の一態様である。
FIG. 8 shows another example of the operation of the
図8に示す論理回路追加処理は、図4に示した論理回路追加処理と同一である。図8に示す再構成処理は、ステップS300の統合処理が実行されるタイミングを除いて、図4に示した再構成処理と同一または同様である。図4で説明したステップSと同一または同様のステップSについては、同一または同様の符号を付し、これ等については、詳細な説明を省略する。例えば、図8に示す再構成処理は、所定の時間間隔で繰り返し実行され、論理回路追加処理と並列に実行可能である。 The logic circuit addition process shown in FIG. 8 is the same as the logic circuit addition process shown in FIG. The reconstruction process shown in FIG. 8 is the same as or similar to the reconstruction process shown in FIG. 4 except for the timing at which the integration process of step S300 is executed. Step S that is the same as or similar to step S described in FIG. 4 is assigned the same or similar reference numeral, and detailed description thereof is omitted. For example, the reconfiguration process shown in FIG. 8 is repeatedly executed at predetermined time intervals, and can be executed in parallel with the logic circuit addition process.
CPU202は、ステップS200の処理を実行した後、ステップS400の分割候補検索処理を実行する。ステップS400の分割候補検索処理は、図6に示した分割候補検索処理と同一である。例えば、図6に示したステップS410の処理は、ステップS200の処理が終了した後、実行される。
After executing the process of step S200, the
そして、CPU202は、ステップS400の分割候補検索処理が終了した後、ステップS500の判定を実行し、分割候補が存在しないと判定した場合、ステップS300の統合処理を実行する。ステップS300の統合処理は、図5に示した統合処理と同一である。例えば、図5に示したステップS310の処理は、ステップS500で分割候補が存在しないと判定された場合、実行される。そして、ステップS300の統合処理の終了により、今回の再構成処理は終了する。
Then, after the division candidate search process in step S400 is completed, the
なお、ステップS500で分割候補が存在すると判定された場合、ステップS600の分割処理が実行される。ステップS600の分割処理は、図7に示した分割処理と同一である。ステップS600の分割処理の終了により、今回の再構成処理は終了する。 If it is determined in step S500 that there is a division candidate, the division process in step S600 is executed. The dividing process in step S600 is the same as the dividing process shown in FIG. The current reconstruction process ends when the division process in step S600 ends.
図9は、図2に示したCPU202による論理回路120の管理の一例を示す。図9では、図を見やすくするために、監視回路130等の記載を省略している。なお、図9に示す例では、リザーブ数Rは0に設定されている。また、図9に示す例では、論理回路120qのデータ転送量は、他の論理回路120より大きく、回路領域110とバスBUSとの間のバス帯域とほぼ同じ大きさである。したがって、論理回路120qと論理回路120p等の他の論理回路120とを統合した場合のデータ転送量は、所定の転送条件を満たさない。このため、論理回路120qは、他の論理回路120と統合されない。
FIG. 9 shows an example of management of the
論理回路120m、120nが回路領域110Aに書き込まれ、論理回路120o、120p、120qが回路領域110B、110C、110Dにそれぞれ書き込まれた状態では、空きの回路領域110は存在しない(図9(a))。この場合、新規の論理回路120の追加は、統合処理または論理回路120の消去等により空きの回路領域110が確保されるまで、待機される。
In the state where the
例えば、CPU202は、論理回路120oを消去する指示を、図2に示した入出力インターフェース320を介してデータ処理装置12の外部から受けた場合、回路領域110Bに書き込まれた論理回路120oを消去する(図9(b))。これにより、空きの回路領域110Bが確保される。
For example, when the
そして、CPU202は、論理回路120rを追加する指示を、入出力インターフェース320を介してデータ処理装置12の外部から受けた場合、論理回路120rを回路領域110Bに書き込む(図9(c))。
When the
また、CPU202は、所定の時間間隔で繰り返し実行する再構成処理(図4または図8に示した再構成処理)により、1つの回路領域110に割り当て可能な論理回路120の組み合わせとして、論理回路120r、120pを検出する。そして、CPU202は、論理回路120r、120pを1つの回路領域110Bに書き込む。これにより、論理回路120r、120pが1つの回路領域110Bに統合され、空きの回路領域110Cが確保される(図9(d))。
Further, the
また、CPU202は、所定の時間間隔で繰り返し実行する再構成処理により、1つの回路領域110Aに書き込まれた論理回路120m、120nのデータ転送量が論理回路120mのデータ転送量の増加に伴い所定の転送条件から外れたことを検出する(図9(e)の破線の×印)。すなわち、CPU202は、回路領域110Aを分割候補として検出する。
In addition, the
そして、CPU202は、論理回路120m、120nを2つの回路領域110A、110Cに分けて書き込む(図9(f))。このように、CPU202による論理回路120の管理により、論理回路120の性能低下を抑制しつつ、論理回路120の搭載効率を向上することができる。
Then, the
ここで、例えば、論理回路120のデータ転送量を考慮しない管理方法では、論理回路120qと論理回路120pとが1つの回路領域110に書き込まれるおそれがある。この場合、1つの回路領域110に書き込まれた論理回路120q、120pのデータ転送レートが回路領域110のデータ転送レートによって制限され、論理回路120q、120pの性能が低下するおそれがある。また、論理回路120mのデータ転送量が増加して、回路領域110Aに書き込まれた論理回路120m、120nのデータ転送レートが回路領域110Aのデータ転送レートによって制限される場合でも、回路領域110Aの論理構成は、再構成されない。この場合、論理回路120q、120pの性能は低下する。
Here, for example, in a management method that does not consider the data transfer amount of the
これに対し、CPU202は、論理回路120qと論理回路120q等の他の論理回路120とを統合した場合にデータ転送量が所定の転送条件を満たさないため、論理回路120qを他の論理回路120と統合しない。したがって、論理回路120q等の性能が低下することを抑制できる。また、CPU202は、上述したように、回路領域110Aに書き込まれた論理回路120m、120nのデータ転送レートが回路領域110Aのデータ転送レートによって制限される状態に変化した場合、回路領域110Aの論理構成を再構成する。論理回路120m、120nが2つの回路領域110A、110Cに分割されるため、各回路領域110A、110Cのデータ転送量は、所定の転送条件を満たす。これにより、各論理回路120の性能が低下することを抑制できる。
On the other hand, when the
以上、図2から図9に示す実施形態においても、図1に示した実施形態と同様の効果を得ることができる。例えば、CPU202は、1つの回路領域110に収まる論理回路120の組み合わせのうち、所定の転送条件を満たす組み合わせの論理回路120を、1つの回路領域110に書き込む。これにより、論理回路120の性能が低下することを抑制しつつ、集積回路100の利用効率を向上させることができる。
As described above, also in the embodiment shown in FIG. 2 to FIG. 9, the same effect as that of the embodiment shown in FIG. 1 can be obtained. For example, the
さらに、CPU202は、複数の論理回路120が書き込まれた回路領域110のうち、複数の論理回路120のデータ転送量が所定の転送条件から外れた回路領域110を検出して、回路領域110の論理構成を再構成する。例えば、データ転送量が所定の転送条件から外れた回路領域110に書き込まれた複数の論理回路120を複数の回路領域110に分けて書き込む。これにより、論理回路120の性能が低下することを抑制できる。このように、CPU202は、論理構成を書き換え可能な集積回路100に論理回路120を効率よく割り当てることができる。
Further, the
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 From the above detailed description, features and advantages of the embodiments will become apparent. This is intended to cover the features and advantages of the embodiments described above without departing from the spirit and scope of the claims. Also, any improvement and modification should be readily conceivable by those having ordinary knowledge in the art. Therefore, there is no intention to limit the scope of the inventive embodiments to those described above, and appropriate modifications and equivalents included in the scope disclosed in the embodiments can be used.
10、12‥データ処理装置;100‥集積回路;110‥回路領域;120‥論理回路;121、131‥バスインターフェース;130‥監視回路;132‥監視制御部;133‥データ転送量算出部;134、135‥カウンタ;136‥平均算出部;137‥ピーク算出部;138、139‥保持部;200‥制御回路;202‥CPU;210、212‥構成部;220‥取得部;230、232‥検出部;300‥メモリ;320‥入出力インタフェース;BUS、BUS2‥バス;IBUS‥内部バス;TM1、TM2‥タイマ
DESCRIPTION OF
Claims (9)
書き込み対象の論理回路と前記書き込み対象の論理回路のデータ転送量を監視する監視回路とを、前記複数の回路領域のいずれかに書き込む構成部と、
論理回路のデータ転送量を示す情報を、論理回路とともに回路領域に書き込まれた前記監視回路から取得する取得部と、
複数の論理回路の中から、1つの回路領域に割り当て可能な論理回路の組み合わせを、前記組み合わせに含まれる複数の論理回路のデータ転送量が所定の転送条件を満たすかの判定結果と、前記組み合わせに含まれる複数の論理回路が前記1つの回路領域に収まるかの判定結果とに基づいて検出する検出部とを有し、
前記構成部は、前記組み合わせが検出された場合、前記組み合わせに含まれる複数の論理回路を前記1つの回路領域に書き込み、回路領域の論理構成を再構成する
ことを特徴とする制御回路。 In a control circuit for writing a logic circuit to an integrated circuit having a plurality of circuit regions in which the logic configuration can be rewritten,
A writing unit and a monitoring circuit for monitoring a data transfer amount of the writing target logic circuit, the writing unit in any of the plurality of circuit areas,
An acquisition unit for acquiring information indicating the data transfer amount of the logic circuit from the monitoring circuit written in the circuit area together with the logic circuit;
A combination of logic circuits that can be assigned to one circuit area from among a plurality of logic circuits, a determination result of whether the data transfer amount of the plurality of logic circuits included in the combination satisfies a predetermined transfer condition, and the combination And a detection unit that detects based on a determination result of whether or not a plurality of logic circuits included in the one circuit area fits,
When the combination is detected, the configuration unit writes a plurality of logic circuits included in the combination to the one circuit area, and reconfigures the logic configuration of the circuit area.
前記検出部は、前記組み合わせに含まれる複数の論理回路が書き込まれた回路領域のうち、前記組み合わせに含まれる複数の論理回路のデータ転送量が前記転送条件から外れた第1の回路領域を検出し、
前記構成部は、前記第1の回路領域が検出された場合、前記第1の回路領域に書き込まれた複数の論理回路を複数の回路領域に分けて書き込み、前記第1の回路領域の論理構成を再構成する
ことを特徴とする制御回路。 The control circuit according to claim 1,
The detection unit detects a first circuit area in which a data transfer amount of the plurality of logic circuits included in the combination is out of the transfer condition among circuit areas in which the plurality of logic circuits included in the combination is written. And
When the first circuit region is detected, the configuration unit writes the plurality of logic circuits written in the first circuit region into a plurality of circuit regions, and the logical configuration of the first circuit region A control circuit characterized by reconfiguring.
前記検出部は、前記第1の回路領域を検出する処理を、所定の時間間隔で繰り返し実行する
ことを特徴とする制御回路。 The control circuit according to claim 2,
The detection unit repeatedly executes a process of detecting the first circuit area at a predetermined time interval.
前記検出部は、前記組み合わせを検出する処理を、所定の時間間隔で繰り返し実行する
ことを特徴とする制御回路。 The control circuit according to any one of claims 1 to 3,
The control unit, wherein the detection unit repeatedly executes a process of detecting the combination at a predetermined time interval.
前記転送条件は、前記組み合わせに含まれる複数の論理回路のデータ転送量の合計の平均が第1閾値以下である
ことを特徴とする制御回路。 The control circuit according to any one of claims 1 to 4,
The transfer circuit is characterized in that the average of the total data transfer amounts of a plurality of logic circuits included in the combination is equal to or less than a first threshold value.
前記転送条件は、前記組み合わせに含まれる複数の論理回路のデータ転送量の合計の平均が第1閾値以下で、かつ、前記組み合わせに含まれる複数の論理回路の各々のデータ転送量のピークの合計が前記第1閾値より大きい第2閾値以下である
ことを特徴とする制御回路。 The control circuit according to any one of claims 1 to 4,
The transfer condition is that a sum of data transfer amounts of a plurality of logic circuits included in the combination is equal to or less than a first threshold value, and a sum of peaks of data transfer amounts of the plurality of logic circuits included in the combination. Is less than or equal to a second threshold value greater than the first threshold value.
前記組み合わせに含まれる複数の論理回路とともに前記1つの回路領域に書き込まれる前記監視回路は、前記組み合わせに含まれる複数の論理回路で共有される
ことを特徴とする制御回路。 The control circuit according to any one of claims 1 to 6,
The control circuit written to the one circuit area together with the plurality of logic circuits included in the combination is shared by the plurality of logic circuits included in the combination.
前記制御回路は、
書き込み対象の論理回路と前記書き込み対象の論理回路のデータ転送量を監視する監視回路とを、前記複数の回路領域のいずれかに書き込む構成部と、
論理回路のデータ転送量を示す情報を、論理回路とともに回路領域に書き込まれた前記監視回路から取得する取得部と、
複数の論理回路の中から、1つの回路領域に割り当て可能な論理回路の組み合わせを、前記組み合わせに含まれる複数の論理回路のデータ転送量が所定の転送条件を満たすかの判定結果と、前記組み合わせに含まれる複数の論理回路が前記1つの回路領域に収まるかの判定結果とに基づいて検出する検出部とを有し、
前記構成部は、前記組み合わせが検出された場合、前記組み合わせに含まれる複数の論理回路を前記1つの回路領域に書き込み、回路領域の論理構成を再構成する
ことを特徴とするデータ処理装置。 In a data processing apparatus including an integrated circuit having a plurality of circuit areas in which a logic configuration can be rewritten, and a control circuit for writing logic circuits in the plurality of circuit areas,
The control circuit includes:
A writing unit and a monitoring circuit for monitoring a data transfer amount of the writing target logic circuit, the writing unit in any of the plurality of circuit areas,
An acquisition unit for acquiring information indicating the data transfer amount of the logic circuit from the monitoring circuit written in the circuit area together with the logic circuit;
A combination of logic circuits that can be assigned to one circuit area from among a plurality of logic circuits, a determination result of whether the data transfer amount of the plurality of logic circuits included in the combination satisfies a predetermined transfer condition, and the combination And a detection unit that detects based on a determination result of whether or not a plurality of logic circuits included in the one circuit area fits,
When the combination is detected, the configuration unit writes a plurality of logic circuits included in the combination into the one circuit area, and reconfigures the logic configuration of the circuit area.
前記コンピュータが、
書き込み対象の論理回路と前記書き込み対象の論理回路のデータ転送量を監視する監視回路とを、前記複数の回路領域のいずれかに書き込み、
論理回路のデータ転送量を示す情報を、論理回路とともに回路領域に書き込まれた前記監視回路から取得し、
複数の論理回路の中から、1つの回路領域に割り当て可能な論理回路の組み合わせを、前記組み合わせに含まれる複数の論理回路のデータ転送量が所定の転送条件を満たすかの判定結果と、前記組み合わせに含まれる複数の論理回路が前記1つの回路領域に収まるかの判定結果とに基づいて検出し、
前記組み合わせを検出した場合、前記組み合わせに含まれる複数の論理回路を前記1つの回路領域に書き込み、回路領域の論理構成を再構成する
ことを特徴とする論理回路管理方法。 In a logic circuit management method in which a computer that writes a logic circuit to an integrated circuit having a plurality of circuit areas in which the logic configuration can be rewritten manages allocation of the logic circuit to the circuit area.
The computer is
Writing a logic circuit to be written and a monitoring circuit for monitoring a data transfer amount of the logic circuit to be written into any of the plurality of circuit areas;
Information indicating the data transfer amount of the logic circuit is acquired from the monitoring circuit written in the circuit area together with the logic circuit,
A combination of logic circuits that can be assigned to one circuit area from among a plurality of logic circuits, a determination result of whether the data transfer amount of the plurality of logic circuits included in the combination satisfies a predetermined transfer condition, and the combination And a plurality of logic circuits included in the one circuit area is detected based on the determination result,
When the combination is detected, a plurality of logic circuits included in the combination are written in the one circuit area, and the logic configuration of the circuit area is reconfigured.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016002632A JP6610271B2 (en) | 2016-01-08 | 2016-01-08 | Control circuit, data processing apparatus, and logic circuit management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016002632A JP6610271B2 (en) | 2016-01-08 | 2016-01-08 | Control circuit, data processing apparatus, and logic circuit management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017123602A true JP2017123602A (en) | 2017-07-13 |
JP6610271B2 JP6610271B2 (en) | 2019-11-27 |
Family
ID=59305851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016002632A Active JP6610271B2 (en) | 2016-01-08 | 2016-01-08 | Control circuit, data processing apparatus, and logic circuit management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6610271B2 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004021426A (en) * | 2002-06-13 | 2004-01-22 | Konica Minolta Holdings Inc | Computer system and hardware/software logic suitable thereto and caching method |
JP2005136956A (en) * | 2003-10-08 | 2005-05-26 | Toshiba Corp | Logic circuit device, and operating voltage change method |
US20050242836A1 (en) * | 2004-04-30 | 2005-11-03 | Xilinx, Inc. | System monitor in a programmable logic device |
JP2007042876A (en) * | 2005-08-03 | 2007-02-15 | Nec Corp | Semiconductor integrated circuit and method for monitoring internal signal for it |
JP2011203920A (en) * | 2010-03-25 | 2011-10-13 | Fuji Xerox Co Ltd | Data processing apparatus |
JP2013105463A (en) * | 2011-11-16 | 2013-05-30 | Fujitsu Ltd | Plug-in card storage device and plug-in card control method |
JP2014230174A (en) * | 2013-05-23 | 2014-12-08 | 富士通株式会社 | Integrated circuit, control apparatus, control method and control program |
-
2016
- 2016-01-08 JP JP2016002632A patent/JP6610271B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004021426A (en) * | 2002-06-13 | 2004-01-22 | Konica Minolta Holdings Inc | Computer system and hardware/software logic suitable thereto and caching method |
JP2005136956A (en) * | 2003-10-08 | 2005-05-26 | Toshiba Corp | Logic circuit device, and operating voltage change method |
US20050242836A1 (en) * | 2004-04-30 | 2005-11-03 | Xilinx, Inc. | System monitor in a programmable logic device |
JP2007042876A (en) * | 2005-08-03 | 2007-02-15 | Nec Corp | Semiconductor integrated circuit and method for monitoring internal signal for it |
JP2011203920A (en) * | 2010-03-25 | 2011-10-13 | Fuji Xerox Co Ltd | Data processing apparatus |
JP2013105463A (en) * | 2011-11-16 | 2013-05-30 | Fujitsu Ltd | Plug-in card storage device and plug-in card control method |
JP2014230174A (en) * | 2013-05-23 | 2014-12-08 | 富士通株式会社 | Integrated circuit, control apparatus, control method and control program |
Also Published As
Publication number | Publication date |
---|---|
JP6610271B2 (en) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4702127B2 (en) | Virtual computer system, physical resource reconfiguration method and program thereof | |
JP6447329B2 (en) | Parallel computing controller, parallel computing system, and migration time estimation program | |
CN102081574B (en) | Method and system for accelerating wake-up time | |
JP6201242B2 (en) | Architecture that enables efficient storage of data in NAND flash memory | |
US8479205B2 (en) | Schedule control program and schedule control method | |
JP5585655B2 (en) | System control apparatus, log control method, and information processing apparatus | |
US10528468B2 (en) | Storage controlling apparatus, computer-readable recording medium having storage controlling program stored therein, and storage controlling method | |
CN108959526B (en) | Log management method and log management device | |
US20120030430A1 (en) | Cache control apparatus, and cache control method | |
JP6446125B2 (en) | Resource leak detection method, apparatus and system | |
CN109933430B (en) | Method and apparatus for distributing graphics processor | |
US11960396B2 (en) | Method and computer program product for performing data writes into a flash memory | |
JP2018503888A (en) | Providing shared cache memory allocation control in shared cache memory systems | |
US20210125102A1 (en) | Information processing system, information processing apparatus, and information processing program | |
US7631125B2 (en) | Dynamically migrating channels | |
KR20150135966A (en) | Virtual desktop service system and virtual desktop service providing method thereof | |
CN114282661A (en) | Method for operating neural network model, readable medium and electronic device | |
JP6610271B2 (en) | Control circuit, data processing apparatus, and logic circuit management method | |
KR20190057558A (en) | Multi core control system | |
JP2008516320A (en) | Method and apparatus for determining the size of a memory frame | |
JP6383340B2 (en) | Cache contention management system, resource allocation server, and resource allocation method | |
CN116401043A (en) | Execution method of computing task and related equipment | |
US10789012B2 (en) | Write method and write apparatus for storage device | |
CN110737618A (en) | Method, device and storage medium for embedded processor to carry out rapid data communication | |
US10049074B2 (en) | PCI-E real-time flow control optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20170803 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20170803 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170804 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180912 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190620 |
|
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: 20191001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191014 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6610271 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |