JP6087663B2 - Configuration information generating apparatus and control method thereof - Google Patents
Configuration information generating apparatus and control method thereof Download PDFInfo
- Publication number
- JP6087663B2 JP6087663B2 JP2013040028A JP2013040028A JP6087663B2 JP 6087663 B2 JP6087663 B2 JP 6087663B2 JP 2013040028 A JP2013040028 A JP 2013040028A JP 2013040028 A JP2013040028 A JP 2013040028A JP 6087663 B2 JP6087663 B2 JP 6087663B2
- Authority
- JP
- Japan
- Prior art keywords
- configuration information
- circuit block
- unit
- power
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Microcomputers (AREA)
Description
本発明は、複数の演算要素で構成され動的再構成可能なアレイ型演算装置における電力制御技術に関するものである。 The present invention relates to a power control technique in an array-type arithmetic device composed of a plurality of arithmetic elements and dynamically reconfigurable.
半導体製造技術の進歩による素子の微細化に伴い、膨大な数のトランジスタが大規模集積回路(LSI)上に集積されるようになっている。ただし、動作時の電力増加と共に非動作時におけるリーク電流に起因する電力増加により、プロセスの微細化やプロセッサの高周波数化による性能向上に限界が見え始めている。そこで、近年、中央演算装置(CPU)、デジタルシグナルプロセッサ(DSP)、単体の演算器、もしくは複数の演算器を組み合わせた演算ユニットなどの演算要素を、単一のLSI上に複数搭載した情報処理装置が注目されている。これは複数の演算要素を用いて処理を並列で行うことで高い演算性能を得ることができるためである。 With the miniaturization of elements due to advances in semiconductor manufacturing technology, an enormous number of transistors are integrated on large scale integrated circuits (LSIs). However, due to an increase in power during operation and an increase in power due to leakage current during non-operation, there is a limit to improvement in performance due to process miniaturization and higher processor frequency. Therefore, in recent years, information processing in which a plurality of arithmetic elements such as a central processing unit (CPU), a digital signal processor (DSP), a single arithmetic unit, or an arithmetic unit combining a plurality of arithmetic units are mounted on a single LSI. The device is drawing attention. This is because high computing performance can be obtained by performing processing in parallel using a plurality of computing elements.
ただし、大規模化・集積化により演算要素数を増やし理論性能を向上させることができるものの、増大する消費電力を抑制する対策を講じなければ、性能向上と省電力化を両立させることができない。今後も引き続き高機能化・高性能化のため、集積化が進み多数の演算要素が搭載されると予想されることから、電力対策は重要な課題となっている。 However, although the number of computing elements can be increased and the theoretical performance can be improved by increasing the scale and integration, performance improvement and power saving cannot be achieved at the same time unless measures are taken to suppress the increased power consumption. In the future, power integration is an important issue because it is expected that a large number of computing elements will be installed with higher functionality and higher performance.
半導体集積回路で消費される電力には、機能動作時に消費する電力であるダイナミック電力と、回路に電源を供給するだけ消費される電力であるスタティック電力が含まれる。ダイナミック電力は、信号変化に伴い駆動する寄生容量の充放電で流れる電流と貫通電流のようなトランジスタのスイッチング時に流れる電流が原因になって消費される。従って、機能動作に支障の無い範囲で信号変化を抑えるとダイナミック電力を削減することが出来る。このような原理に基づく代表的な省電力化の手法としてクロックゲーティングがあり、一般に広く用いられている。一方、スタティック電力は、トランジスタの寄生容量に充電される電荷とリーク電流のために消費される電力である。プロセスの微細化に進むに従って、寄生容量は減少しリーク電流は増加する傾向にある。特に、ポリシリコンのゲート酸化膜の薄膜化に伴い、一時期、リーク電流は指数関数的な増加傾向を示していた。 The power consumed in the semiconductor integrated circuit includes dynamic power, which is power consumed during a functional operation, and static power, which is power consumed to supply power to the circuit. The dynamic power is consumed due to a current that flows when charging and discharging a parasitic capacitance that is driven in accordance with a signal change and a current that flows when the transistor is switched, such as a through current. Therefore, dynamic power can be reduced by suppressing signal changes within a range that does not hinder functional operation. As a typical power saving technique based on such a principle, there is clock gating, which is widely used. On the other hand, static power is power consumed for charge and leakage current charged in the parasitic capacitance of the transistor. As the process becomes finer, parasitic capacitance tends to decrease and leakage current increases. In particular, along with the reduction in the thickness of the polysilicon gate oxide film, the leak current has been increasing exponentially for a while.
リーク電流を削減するにはトランジスタに供給する電圧を小さく制限するか、または、遮断してしまう方法が有効である。このためリーク電力削減を目的とした技術として、同一電源で駆動されるブロックの電源遮断が一般に広く用いられる。半導体集積回路における電源遮断とは、電源遮断の対象となる箇所(電源制御領域)への電源供給経路と電源をトランジスタで構成された電源スイッチを用いて接続し、必要に応じて、電源スイッチの導通と遮断を切り替える技術である。現在では、材料や製造方法の改善によりリーク電流は以前のような指数関数的な増加傾向を示すことはなくなったが、依然、線形的に増加しているため、電源遮断の技術はこれからも重要であると考えられる。 In order to reduce the leakage current, it is effective to limit the voltage supplied to the transistor to be small or to cut it off. For this reason, as a technique aimed at reducing leakage power, generally, power-off of blocks driven by the same power supply is widely used. Power shutoff in a semiconductor integrated circuit means that a power supply path to a location (power control area) that is the target of power shutoff is connected to a power source using a power switch composed of a transistor. This technology switches between conduction and interruption. At present, leakage current does not show an exponential increase as before due to improvements in materials and manufacturing methods, but since it continues to increase linearly, power cut-off technology will continue to be important. It is thought that.
つまり、大規模化した半導体集積回路においてもリーク電力を効率的に削減するために、この電源遮断技術が用いられる。複数の電源遮断領域を構成し、稼働していない演算要素を部分的に電源遮断するきめ細かい電源管理を行うことで消費電力を抑制させることが可能になる。 That is, this power shut-off technology is used to efficiently reduce the leakage power even in a large scale semiconductor integrated circuit. It is possible to suppress power consumption by configuring a plurality of power cut-off areas and performing fine power management that partially cuts off the power of operation elements that are not in operation.
ところで、電源遮断の対象となる回路ブロックでは、一旦電源が遮断されるとブロック内の容量に蓄積されていた電荷は時間とともに放電して減少していき、なくなってしまう。そのため電源遮断を行った後、再び回路動作させるためには、回路ブロック内の容量に再び電荷を蓄積する必要がある。そのため、電荷を蓄積する時間を追加で要することになるため処理性能が低下する原因となる。 By the way, in the circuit block that is the target of power shutoff, once the power is shut off, the electric charge accumulated in the capacity in the block is discharged and decreases with time, and disappears. Therefore, in order to operate the circuit again after shutting off the power, it is necessary to accumulate charges again in the capacitors in the circuit block. For this reason, additional time is required for accumulating charges, which causes a reduction in processing performance.
このような状況に鑑み、例えば、特許文献1では、各演算回路を操作する命令を先行検出し、検出された命令に対応した演算回路を一つ以上演算実行に先行して活性化し、二つ以上の演算回路を用いて同時に演算実行するマイクロプロセッサが提案されている。
In view of such a situation, for example, in
今後さらに高機能化・高性能化が求められるため、先端の製造プロセスを用いた集積化が進み、多数のPEが搭載されると予想される。そのため、リーク電力を効率的に削減するために、複数の電源制御領域を構成し、稼働していないPEを部分的に電源遮断するきめ細かい電源管理を行う必要がある。 Since higher functionality and higher performance are required in the future, integration using advanced manufacturing processes will progress, and a large number of PEs are expected to be installed. Therefore, in order to efficiently reduce the leakage power, it is necessary to configure a plurality of power control areas and perform fine power management that partially shuts off the power of the PE that is not operating.
しかしながら、電源制御領域を多数設ければ設けるほど、パワースイッチ部分の面積が増加し、加えて電源遮断、復帰の制御も複雑になる。また、電源遮断、復帰の制御を行う場合、回路ブロックが持っている容量の分だけ電荷を供給する必要があり電力(チャージ電力ともいう)を消費することになる。つまり、プロセッサアレイ上に処理をマッピングするにあたって、複数の電源制御領域に分散して処理をマッピングした場合、チャージ電力を余分に消費することとなる。上述の特許文献1の技術では、演算実行前に演算器の活性化を先行して活性化するもので、電源の復帰・遮断の回数を削減できるものではないためチャージ電力の問題には対処できない。
However, the more power supply control regions are provided, the larger the area of the power switch portion becomes, and in addition, the control of power shutoff and return becomes more complicated. Further, when controlling the power shut-off / return, it is necessary to supply charges corresponding to the capacity of the circuit block, which consumes power (also referred to as charge power). In other words, when processing is mapped on the processor array, if processing is distributed and distributed over a plurality of power control areas, extra charge power is consumed. In the technique of the above-mentioned
本発明は上述の問題点に鑑みなされたものであり、複数のPEを有するアレイ型演算装置においてリーク電力やチャージ電力などの電力を好適に削減可能とすることを目的とする。 The present invention has been made in view of the above-described problems, and an object of the present invention is to suitably reduce power such as leakage power and charge power in an array type arithmetic apparatus having a plurality of PEs.
上述の問題点を解決するため、本発明の構成情報生成装置は以下の構成を備える。すなわち、それぞれが1以上の演算要素を含み個別に電源制御可能に構成された複数の回路ブロックを有するアレイ型演算装置で利用される構成情報を生成する構成情報生成装置であって、前記構成情報は、前記複数の回路ブロックの何れの1以上の回路ブロックを使用するかを規定する情報を含んでおり、前記構成情報生成装置は、前記アレイ型演算装置で連続して使用されるN個(Nは3以上の整数)の構成情報を取得する取得手段と、前記アレイ型演算装置が使用する構成情報を1番目の構成情報からN番目の構成情報に順に変更した場合に電源オフの状態から電源オンの状態に変更される回路ブロックの数が少なくなるように、K番目(Kは1≦K≦N−2を満たす整数)の構成情報とK+2番目の構成情報とに基づいてK+1番目の構成情報を修正する修正手段と、を有する。 In order to solve the above-described problems, the configuration information generation apparatus of the present invention has the following configuration. That is, a configuration information generating device that generates configuration information used in an array type arithmetic device having a plurality of circuit blocks each including one or more arithmetic elements and individually configured to be capable of power supply control. Includes information defining which one or more circuit blocks of the plurality of circuit blocks are to be used, and the configuration information generation device is configured to use N ( N is an integer greater than or equal to 3) acquisition means for acquiring configuration information, and when the configuration information used by the array-type arithmetic unit is changed from the first configuration information to the Nth configuration information in order, the power is off. In order to reduce the number of circuit blocks that are changed to the power-on state, the K + 1-th configuration information based on the K-th configuration information (K is an integer satisfying 1 ≦ K ≦ N−2) and the K + 2nd configuration information. It has a correction means for correcting the configuration information.
本発明によれば、アレイ型演算装置において好適に電力削減可能とする技術を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the technique which enables electric power reduction suitably in an array type arithmetic unit can be provided.
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The following embodiments are merely examples, and are not intended to limit the scope of the present invention.
(第1実施形態)
本発明の第1実施形態として、アレイ型演算装置である動的再構成回路106を含むデータ処理装置100(演算システム)を例に挙げて以下に説明する。特に、動的再構成回路106内の回路ブロックにおける電源の切り替え回数が少なくなるような構成情報を生成する動作について説明する。
(First embodiment)
As a first embodiment of the present invention, a data processing apparatus 100 (arithmetic system) including a
<1.装置構成>
<1.1.データ処理装置の構成>
図1は、第1実施形態に係るデータ処理装置100の全体構成を示す図である。データ処理装置100は、動的再構成回路106、演算処理割り当て部105、電源制御部103から構成される。以下で説明するように、データ処理装置100は、外部から入力される構成情報108に基づいて、動的再構成回路106を用いて処理を行う。構成情報108は、後述する構成情報生成装置1100によって生成される。
<1. Device configuration>
<1.1. Configuration of data processing apparatus>
FIG. 1 is a diagram showing an overall configuration of a
動的再構成回路106は、少なくとも1つの演算要素101を含む複数の回路ブロック102からなる。各演算要素101と各ルータ104は信号線111によって一方向に接続されている。信号線111は、図1に示すように回路ブロック102ごとに設けられる。
The
回路ブロック102は、演算要素101とルータ104を含むブロックである。回路ブロック102には、電源回路ブロック(不図示)から電源スイッチ107を介して電源電圧VDDが供給されている。各々の回路ブロック102は、個別に電源制御可能(電源遮断と電源供給の切り替え)に構成されている。各々の回路ブロック102には、電源遮断と電源供給を切り替えるための電源スイッチ107を接続する。
The
演算処理割り当て部105は、構成情報108を取得して、信号線114を介して電源制御部103に回路ブロックの情報を送信する。なお、ここで述べる演算処理の割り当てとは、処理と当該処理を実行する構成要素(演算要素やとルータ)とを関連付けることを意味する。ここでは、各構成要素(演算要素やルータ)の内部に構成情報内の設定値を書き込むことで、構成要素への処理の割り当てを実施する。
The arithmetic
また、演算処理割り当て部105は、信号線111を介して構成情報108を各回路ブロック102へパラレルに送信した後、次に使用する構成情報108を受信する。また、演算処理割り当て部105は、構成情報108の送信後、信号線117を介して演算要素101へ演算処理の開始を指示する信号を送信する。演算処理割り当て部105は、演算要素101が演算処理を完了したときに、信号線112を介して処理完了を通知する信号を受信する。ここでは、演算処理割り当て部105から各演算要素101へパラレルに演算処理の開始を指示する信号を送信するため、信号線117は、演算要素101の数と同数だけ設けられる。また、演算処理割り当て部105は、各演算要素101からパラレルに処理完了を通知する信号を受信するため、信号線112についても演算要素101の数と同数だけ設けられる。
The arithmetic
電源制御部103は、演算処理割り当て部105から回路ブロック情報を受信し、信号線110を介して電源スイッチ107のオン・オフを切り替える。また、電源制御部103は、信号線113を介して演算処理割り当て部105に電源スイッチの切り替えが完了したことを通知する。
The
図2は、回路ブロック102の内部構成を示す図である。演算要素101は、4系統の入力部と出力部を持ち、ルータ104は8系統の入力部と出力部を持つ。
FIG. 2 is a diagram illustrating an internal configuration of the
演算要素101は、信号線201〜208によって、ルータと接続されている。演算要素101は、データ入力用の信号線201〜204から供給されるデータを処理し、データ出力用の信号線205〜208から処理データを出力する処理部である。演算要素101は、演算処理割り当て部105から信号線117を介して演算処理の開始を指示する信号を受信する。演算要素101は処理が完了した後、信号線112を介して演算処理割り当て部105に処理完了を通知する信号を送信する。
The
ルータ104は、回路ブロック内で隣接する他のルータと信号線209〜216で接続されている。信号線210、211、213、215は、ルータ104が、隣接する他のルータからデータを受信するための信号線である。一方、信号線209、212、214、216は、ルータ104が、隣接する他のルータへデータを送信するための信号線である。
The
図3は、演算要素101の内部構成の一例を示す図である。演算要素101は、構成情報設定部301、構成情報記憶部302、演算処理部303、データ入力部304、データ出力部305で構成される。
FIG. 3 is a diagram illustrating an example of the internal configuration of the
構成情報設定部301は、信号線111を介して構成情報108を受信する。また、構成情報設定部301は、信号線306を介してデータ入力部304へ入力の切り替えのための設定値を送信する。また、構成情報設定部301は、信号線307を介して演算処理部303へ処理の内容を決めるための設定値を送信する。更に、構成情報設定部301は、信号線308を介してデータ出力部305へ出力の切り替えのための設定値を送信する。
The configuration
図4は、ルータ104の内部構成の一例を示す図である。ルータ104は、構成情報設定部401、構成情報記憶部402、入出力切り替え部403で構成される。構成情報設定部401は、信号線111を介して構成情報108を受信する。構成情報設定部401は、信号線404を介して入出力切り替え部403へ、入出力の切り替えをするための設定値を送信する。
FIG. 4 is a diagram illustrating an example of the internal configuration of the
図5は、構成情報108の一例を示す図である。この構成情報108は、データ処理装置100の動的構成を規定するものである。構成情報108は、演算要素に対する設定データ501とルータに対する設定データ502とを含む情報である。ここでは、演算要素の設定データ501がX個、ルータの設定データ502がY個である場合を示している。つまり、図5の構成情報108は、X個の演算要素、Y個のルータに対する設定を含むデータである。また、図5は、1つの構成要素(演算要素やルータ)に対する構成情報がNビットのバイナリデータである例を示している。
FIG. 5 is a diagram illustrating an example of the
図6は、構成情報のデータフォーマットの一例を示す図である。ここでは、演算要素に対する設定データ501とルータに対する設定データ502との双方に同一のデータフォーマットを用いた例を示している。設定データは、識別番号(ID)601、アドレス602、設定値603を含む。
FIG. 6 is a diagram illustrating an example of the data format of the configuration information. Here, an example is shown in which the same data format is used for both the setting
ID601は、それぞれの演算要素またはルータに固有に設定されている識別番号である。アドレス602は、各演算要素、またはルータの内部にある構成情報記憶部302、402に設定値603を書き込むときに、構成情報記憶部302、402の書き込み領域を指定するものである。設定値603は、演算要素101とルータ104の動作を設定する値である。
The
図7は、演算処理割り当て部105の内部構成を示す図である。演算処理割り当て部105は、構成情報受信部701、構成情報送信部702、ID判別部703、回路ブロック判別部704で構成される。構成情報受信部701は、信号線115を介して構成情報108の読み出し指示を送信して、信号線116を介して構成情報108を受信する。その後、構成情報受信部701はID判別部703と構成情報送信部702に構成情報108を送信する。
FIG. 7 is a diagram illustrating an internal configuration of the arithmetic
ID判別部703は、構成情報受信部701から構成情報108を受信して、ID601を回路ブロック判別部704に送信する。回路ブロック判別部704は、ID判別部703からID601を受信して、信号線114を介して回路ブロック情報を出力する。回路ブロック判別部704は、例えば、ID601と回路ブロックを関連付けるテーブルを内部に備える構成とすれば良い。
The
構成情報送信部702は、信号線113を介して電源スイッチの切り替えが完了したことを通知された後、構成情報受信部701から構成情報108を受信する。その後、構成情報送信部702は、信号線111を介して構成情報108を動的再構成回路106に送信する。また、構成情報送信部702は、信号線111を介して回路ブロック内を一巡してきた構成情報108を受信する。更に、構成情報送信部702は、信号線117を介して各演算要素101へ演算処理の開始を指示する信号を送信し、信号線112を介して各演算要素101から演算処理の完了を通知する信号を受信する。
The configuration
図8は、回路ブロック判別部704の内部構成の例を示したものである。回路ブロック判別部704は、ID情報記憶部801、ID比較部810、レジスタ802、803、805、806、OR回路811、812、および回路ブロック情報送信部809で構成される。
FIG. 8 shows an example of the internal configuration of the circuit
ID情報記憶部801は、各演算要素、またはルータに設定されているIDを記憶する部である。例えば、ID情報記憶部801をROMで実装して、ID情報を予め記憶させておくようにしておけば良い。ID比較部810は、信号線707を介して送信されたID601を受信し、ID情報記憶部801が記憶しているIDと比較する。そして、ID比較部810は、当該比較結果をレジスタ805、806に送信する。ID比較部810は、動的再構成回路106内にある演算要素とルータの数と同数だけ配置される。ここでは、比較の結果、IDが一致した場合は論理値”1”を、一致しなかった場合は論理値”0”を比較結果として出力する。
The ID
レジスタ805、806は、ID比較部810から送信された比較結果を保持する。各々のレジスタは、信号線804でID比較部810と一対一に接続される。レジスタ805は、第1の回路ブロックに属する演算要素とルータに対応し、レジスタ806は、第2の回路ブロックに属する演算要素とルータに対応する。つまり、レジスタ805、806の値は、構成情報108によってどの演算要素、ルータが選択されるかを示している。
The
OR回路811は、レジスタ805に格納されている値の論理和をとり、その結果をレジスタ802に送信する。また、OR回路812は、レジスタ806に格納されている値の論理和をとった結果をレジスタ803に送信する。つまり、レジスタ802、803の値は、構成情報108によってどの回路ブロックが選択されるかを示す。レジスタ802は、OR回路811、812から送信された値を保持した後、その値を回路ブロック情報送信部809に送信する。
The OR
回路ブロック情報送信部809は、レジスタ802、803から設定値を受信して、信号線114に送信する。ここでは、配線を少なくするために、設定値を送信するときにレジスタ802、803から受信した設定値をシリアライズして送信する。ただし、実装が可能であればレジスタ802、803から受信した設定値をパラレルに送信するよう構成しても良い。
The circuit block
演算処理割り当て部や回路ブロック判別部の構成は、図7、図8に示す構成に限定されるものではない。例えばCPUを用いて、図7の回路ブロックと同等の処理をソフトウェア処理により実現するよう構成しても良い。なお、予め回路ブロックの情報が構成情報に含まれている場合には、ID判別部703を具備せず、構成情報受信部701から直接、回路ブロック判別部704に構成情報を送信する構成とすれば良い。
The configurations of the arithmetic processing assignment unit and the circuit block determination unit are not limited to the configurations shown in FIGS. For example, a process equivalent to the circuit block of FIG. 7 may be realized by software processing using a CPU. If the circuit block information is included in the configuration information in advance, the configuration information may be transmitted directly from the configuration
<1.2.半導体装置の構成>
図9は、第1実施形態に係るデータ処理装置100を搭載した半導体装置908の全体構成を示す図である。半導体装置908は、再構成デバイス900と外部メモリ905で構成される。再構成デバイス900は、データ処理装置100、CPU901、バス902、インタフェース(I/F)903、入出力部(I/O)904で構成される。
<1.2. Configuration of Semiconductor Device>
FIG. 9 is a diagram showing an overall configuration of a
CPU901は、再構成デバイス全体の制御を司る。メモリ905は、構成情報108、ブートプログラム、OS(オペレーティングシステム)、アプリケーションを格納するためのメモリ(ROM/RAM)である。
The
図10は、外部メモリ905における構成情報の配置の一例を示す図である。ここでは、各構成情報が、構成情報の切り替え順に従って、外部メモリ905の上位アドレスから順番に格納されている。
FIG. 10 is a diagram illustrating an example of arrangement of configuration information in the
すなわち、構成情報1001は第1のデータ処理を実現するための第1の構成情報であり、構成情報1002は第2のデータ処理を実現するための第2の構成情報である。ここでは、第1の構成情報1001は、第1のアドレス領域1003に保持され、第2の構成情報1002は、第2のアドレス領域1004に保持される。
That is, the
I/F903は外部メモリ907と通信するインタフェースである。I/O904は再構成デバイス900が構成情報108や処理対象となるデータ(画像データ等)を入出力するためのインタフェースである。I/F903は、CPU901、データ処理装置100、I/F903、I/O904との間で通信をするためのバスである。
An I /
<1.3.構成情報生成装置の構成>
図11は、半導体装置に供給する構成情報を生成する構成情報生成装置1100のブロック構成を示す図である。
<1.3. Configuration of Configuration Information Generation Device>
FIG. 11 is a diagram illustrating a block configuration of a configuration
CPU1101は装置全体の制御を司る。ROM1102はブートプログラムやBIOSを記憶し、RAM1103はCPU1101のワークエリアとして利用され、且つ、OS、アプリケーションを格納する。ハードディスクドライブ(HDD)1104はOS、構成情報108を作成するためのアプリケーション、ならびに、様々なデータを格納するための記憶部である。
The
キーボード1105及びマウス1106はユーザインタフェースとして機能する。表示制御部1107は内部にビデオメモリ及び表示コントローラを内蔵する。表示装置1108は、表示制御部1007からの映像信号を受信し表示する。1109は各種外部デバイスと通信するインタフェースであり、例えば、図11に示した外部メモリ1110を接続することで、構成情報生成装置1100が作成した構成情報108をその外部メモリ1110に書込むことになる。
A
<2.装置の動作>
<2.1.データ処理装置の動作>
まず、演算処理割り当て部105の動作を説明する。構成情報受信部701は、外部メモリ905へ構成情報108の読み出しの要求をして、バス902を介して外部メモリ905から構成情報1008を受信する。回路ブロック判別部704は、構成情報108を受信した後、回路ブロック判別部704の内部に備えたID601と回路ブロックを関連付けるテーブルを参照して、ID601に対応する回路ブロックを判定する。その後、回路ブロック判別部704は、判別した回路ブロックの情報を電源制御部103に送信する。
<2. Operation of the device>
<2.1. Operation of data processing apparatus>
First, the operation of the arithmetic
構成情報送信部702は、電源制御部103から電源スイッチ107の切り替えが完了したことを検知すると、構成情報108を回路ブロック102に送信する。例えば、構成情報送信部702は、構成情報108を、図6に示したデータを単位として(つまりNビットを単位として)送信し、データを送信した回数を構成情報送信部702の内部でカウントして値を保持する。また、例えば、構成情報送信部702は、信号線111を介して、図6に示したデータを単位として構成情報108を受信する。構成情報送信部702は、構成情報108を受信した回数を構成情報送信部702の内部でカウントして値を保持する。
When the configuration
構成情報送信部702は内部で保持している送信回数をカウントした値と、受信回数をカウントした値とを比較して、値が一致したときに構成情報108の送信が完了したことを検知する。つまり、構成情報送信部702は、構成情報108を送信した回数と構成情報108を受信した回数とが一致したときに、構成情報108の送信が完了したことを検知する。構成情報送信部702は、構成情報108の送信が完了したことを検知したときに、演算要素101へ演算処理の開始を指示する。
The configuration
更に、構成情報送信部702は、演算要素101から処理完了の通知を受信して、処理完了の通知が演算処理を割り当てた全ての演算要素101から送信されたかを判別して、データ処理が完了したことを検知する。その後、構成情報受信部701は、外部メモリ905へ次の構成情報108の読み出しの要求をして、バス902を介して外部メモリ905から次の構成情報108を受信する。
Further, the configuration
次に、電源制御部103の動作を説明する。電源制御部103は、演算処理割り当て部105から回路ブロックの情報を受信した後、電源供給または電源遮断が必要な回路ブロックを判別して、電源供給が必要な回路ブロックに接続された電源スイッチ107をオフからオンへ切り替える。
Next, the operation of the
電源制御部103は、電源スイッチ107をオフからオンへ切り替えた後、所定の時間が経過したとき、信号線113を介して演算処理割り当て部105に電源スイッチの切り替えが完了したことを通知する。当該所定の時間は、例えば回路ブロックの電圧が一定のレベルに到達する時間として設定される。また、電源制御部103は、電源遮断をする回路ブロックに接続された電源スイッチ107をオンからオフへ切り替える。
The power
次に、図3に示した演算要素、及び、図4に示したルータの動作を説明する。演算要素101は、信号線111を介して送信された構成情報108を受信する。その後、演算要素101の内部の構成情報設定部301は、構成情報108のID601が自身(演算要素101)に設定されているIDと一致するか判別する。
Next, the operation of the computing element shown in FIG. 3 and the router shown in FIG. 4 will be described. The
IDが一致した場合、構成情報設定部301は構成情報108で指定されているアドレスにしたがって、演算要素101の内部の構成情報記憶部302に構成情報108の設定値603の書き込みをおこなう。一方、IDが一致しない場合、構成情報設定部301は構成情報108を信号線111に出力する。
When the IDs match, the configuration
演算要素101の内部の構成情報設定部301は、上記書き込みが完了した後に、データ入力部304、データ出力部305、演算処理部303に設定値603を送信する。その後、データ入力部304の入力の切り替え、データ出力部305の出力の切り替え、演算処理部303の処理設定が完了する。この処理設定によって、データ入力部304が信号線201〜204のうち、どの信号線からデータを入力するかが設定される。また、データ出力部305が信号線205〜208のうち、どの信号線からデータを出力するかが設定される。
The configuration
構成情報108の送信が完了した後、各演算要素は処理対象となるデータ(画像データ等)に対する演算処理を開始する。各演算要素は演算処理が完了すると、演算処理割り当て部105に処理完了を通知する。
After the transmission of the
ルータ104は、信号線111を介して送信された構成情報108を受信する。その後、ルータ104の内部の構成情報設定部401は、構成情報108のID601がルータ104に設定されているIDと一致するか判別する。
The
IDが一致した場合、構成情報設定部401は構成情報108で指定されているアドレスにしたがって、ルータ104の内部の構成情報記憶部402に構成情報108の設定値603の書き込みをおこなう。一方、IDが一致しない場合、構成情報設定部401は第1の構成情報108を信号線111に出力する。
When the IDs match, the configuration
構成情報設定部401は、上記書き込みが完了した後に、入出力切り替え部403に設定値603を送信する。その後、入出力切り替え部403の入出力の切り替えがおこなわれる。
The configuration
この設定値によって、入出力切り替え部403が、信号線208〜215のいずれかの信号線からデータを入力して、信号線204、216〜222のいずれかの信号線からデータを出力するかが設定される。例えば、信号線208からデータを入力して、入力したデータを信号線222から出力するという設定をする。
Whether the input /
<2.2.半導体装置の動作>
半導体装置908に電源が投入されると、CPU901は外部メモリ905に格納されたブートプログラムを実行し、半導体装置908を起動する。次に、CPU901は、I/O904から構成情報108の読み込みをして、外部メモリ905へ構成情報108を格納するよう指示する。CPU901は、外部メモリ905に構成情報108を格納した後、構成情報108の読み出しをデータ処理装置100に指示する。
<2.2. Operation of Semiconductor Device>
When the
データ処理装置100は、外部メモリ905へ構成情報108の読み出しの要求をして、バス902を介して外部メモリ905から構成情報108を受信する。例えば、構成情報108は、第1の構成情報、第2の構成情報という順番で読み込まれる。
The
以降、データ処理装置100の内部で、構成情報108に沿った処理の割り当てがおこなわれる。処理の割り当てが完了した後、I/O904から処理対象データが入力され、データ処理装置100の内部でデータ処理が実行される。データ処理装置100は、複数の構成情報を順番に読み込んでいき、動的再構成回路106の動作を切り替える。
Thereafter, processing is allocated in accordance with the
<2.3.構成情報生成装置の動作>
構成情報生成装置1100に電源が投入されると、CPU1101はROM1102に格納されたブートプログラムを実行し、HDD1104に格納されたOSをRAMにロードする。その後、構成情報108を作成するアプリケーションを起動することで、構成情報作成装置として機能することになる。
<2.3. Operation of Configuration Information Generation Device>
When the configuration
構成情報生成装置1100で作成した構成情報108は、例えば、半導体装置908の外部メモリ905に書き込まれる。このとき、例えば、I/O904を介して構成情報108を半導体装置908に入力する。
The
以下では、構成情報生成装置1100で構成情報108を生成するときの処理の説明をする。構成情報生成装置1100は、構成情報108を作成するアプリケーションを起動した後、アプリケーションの処理をCPU1101内で実行する。
Hereinafter, a process when the configuration
ユーザはキーボード、マウスによってデータ処理情報を入力する。例えば、データ処理情報として、データ処理の内容が記述されたプログラムなどを入力する。CPU1101はユーザの操作によって入力されたデータ処理情報を取得して、RAM1103に格納する。以降、CPU1101は、RAM1103に格納したデータ処理情報を読み込み、構成情報を生成する処理を実行する。
The user inputs data processing information using a keyboard and a mouse. For example, a program in which the contents of data processing are described is input as data processing information. The
なお、構成情報生成装置1100は、最初に構成情報を生成するときにデータ処理情報を用いて演算要素101への処理のマッピングをおこなう。ただし、構成情報生成装置1100は、マッピングが実行された後に生成した最初の構成情報を基にして、構成情報を再生成(修正)する。特に、第1実施形態では、各々の構成情報で選択される回路ブロックを判別し、回路ブロックに対する電源の切り替え回数が少なくなるように、各々の構成情報で選択される回路ブロック102を再選択して、修正後の構成情報を生成する。
Note that the configuration
ここでは、データ処理装置100が、第1の構成情報→第2の構成情報→第3の構成情報といった順番で複数の構成情報を次々に読み込んで処理動作を切り替えていく場合を例に挙げて説明する。特に、ここでは、電源のオンとオフの切り替えが最少になるような構成情報を再生成する手法を説明する。
Here, as an example, the
図12は、回路ブロックの構成を示す回路ブロック設定の一例を示す図である。ここでは、構成情報を生成するときの制約として、回路ブロック設定を入力データとして用いる。回路ブロック設定には、各演算要素、ルータが属している回路ブロックの情報が含まれる。 FIG. 12 is a diagram illustrating an example of circuit block setting indicating the configuration of the circuit block. Here, circuit block settings are used as input data as a constraint when generating configuration information. The circuit block setting includes information on the circuit block to which each arithmetic element and router belong.
回路ブロック設定は、例えば図12(a)のような、各演算要素、ルータのIDを第1のカラムに設定して、回路ブロックIDを第2のカラムに設定したテーブル情報としても良い。ここで回路ブロックIDは、各々の回路ブロックを識別するために回路ブロックごとに固有に設定する識別番号(ID)であり、例えば図12(b)に示すように設定される。図12(b)は、16個の回路ブロックにそれぞれ固有のIDを設定した例である。 The circuit block setting may be, for example, table information in which each calculation element and router ID are set in the first column and the circuit block ID is set in the second column as shown in FIG. Here, the circuit block ID is an identification number (ID) that is uniquely set for each circuit block in order to identify each circuit block. For example, the circuit block ID is set as shown in FIG. FIG. 12B shows an example in which a unique ID is set for each of the 16 circuit blocks.
図13は、構成情報を再生成する処理を説明するフローチャートである。この処理は、CPU1101がアプリケーションを実行することにより実行される。ここでは、最初に生成した構成情報を3つ処理して、修正後の構成情報を1つ生成していく例について説明する。具体的には、まず、連続して使用されるオリジナルの第1〜第3の構成情報に基づいて、修正後の第2の構成情報を生成する。次に、第2〜第4の構成情報(修正後の第2の構成情報及びオリジナルの第3〜第4の構成情報)を用いて処理を実行して、修正後の第3の構成情報を生成する。以降、同様の処理を繰り返していき、各々の構成情報を生成していく。
FIG. 13 is a flowchart illustrating a process for regenerating configuration information. This process is executed by the
ステップS1301では、構成情報の数を取得してNに代入する。また、ステップS1301ではKを”1”に設定する。ここで、Nは入力する構成情報の数である(N個(Nは3以上の整数)の構成情報)。また、Kは図13の処理で用いる変数である。 In step S1301, the number of configuration information is acquired and substituted for N. In step S1301, K is set to “1”. Here, N is the number of pieces of configuration information to be input (N pieces of configuration information (N is an integer of 3 or more)). K is a variable used in the processing of FIG.
ステップS1302では、K番目からK+2番目の構成情報が選択しているIDを取得する。そして、図12(a)の回路ブロック設定に基づいて、IDと回路ブロックとの照合をおこない、各々の構成情報で使用する回路ブロックを判別する。また、各々の構成情報で使用する回路ブロックの数を算出する。 In step S1302, the ID selected by the Kth to (K + 2) th configuration information is acquired. Then, based on the circuit block setting shown in FIG. 12A, the ID is compared with the circuit block to determine the circuit block to be used in each piece of configuration information. Also, the number of circuit blocks used for each configuration information is calculated.
ステップS1303では、ステップS1302の回路ブロックの判別結果に基づいて、K番目からK+1番目まで構成情報を切り替えていくときの、各回路ブロックの実際の電源切り替え回数を算出(制御対象ブロック数算出)する。ステップS1303における処理の詳細については図14を参照して後述する。 In step S1303, based on the determination result of the circuit block in step S1302, the actual number of power supply switching times of each circuit block when switching the configuration information from the Kth to the K + 1th is calculated (calculation of the number of control target blocks). . Details of the processing in step S1303 will be described later with reference to FIG.
ステップS1304では、S1302での判定結果に基づいて、K番目からK+1番目まで構成情報を切り替えていくときに、電源オフからオンへの切り替えの最少回数を算出(最少値算出)する。 In step S1304, when the configuration information is switched from the Kth to the K + 1th, based on the determination result in S1302, the minimum number of times of switching from power-off to on is calculated (minimum value calculation).
図16は、最少の電源切り替え回数の算出する方法を説明する図である。図16において、A,B,Cの値はそれぞれ以下の値が設定される。 FIG. 16 is a diagram for explaining a method of calculating the minimum number of power supply switching times. In FIG. 16, the following values are set for the values of A, B, and C, respectively.
A:K番目の構成情報が選択している回路ブロックの数
B:K+1番目の構成情報が選択している回路ブロックの数
C:K+2番目の構成情報が選択している回路ブロックの数
ステップS1305では、ステップS1303で算出した実際の電源切り替え回数と、ステップS1304で算出した最少の電源切り替え回数とを比較し、回数が最少であるかを判定する。判定の結果、切り替え回数が最少であれば、構成情報の生成はおこなわず、処理を終了する。判定の結果、切り替え回数が最少でなければ、次の処理に進む。
A: Number of circuit blocks selected by the Kth configuration information B: Number of circuit blocks selected by the K + 1st configuration information C: Number of circuit blocks selected by the K + 2nd configuration information Step S1305 Then, the actual number of times of power supply switching calculated in step S1303 is compared with the minimum number of times of power supply switching calculated in step S1304 to determine whether the number of times is the minimum. As a result of the determination, if the number of times of switching is the minimum, configuration information is not generated and the process is terminated. As a result of the determination, if the number of times of switching is not the minimum, the process proceeds to the next process.
ステップS1306では、K番目とK+2番目の構成情報が選択している回路ブロックの情報から、K+1番目の構成情報が選択する回路ブロックの優先度を設定する。ステップS1306における処理の詳細については図17を参照して後述する。 In step S1306, the priority of the circuit block selected by the (K + 1) th configuration information is set from the information of the circuit block selected by the Kth and (K + 2) th configuration information. Details of the processing in step S1306 will be described later with reference to FIG.
ステップS1307では、ステップS1306で設定した優先度に基づき、K+1番目の構成情報が選択する回路ブロックを設定する。ステップS1307における処理の詳細については図19を参照して後述する。 In step S1307, the circuit block selected by the (K + 1) th configuration information is set based on the priority set in step S1306. Details of the processing in step S1307 will be described later with reference to FIG.
ステップS1308では、変数Kに1を加算する。そして、ステップS1309では、KがN−1以上であるか否かを判定する。判定の結果、KがN−1以上であれば、ステップS1310の処理に進む。判定の結果、KがN−1未満であれば、ステップS1302から処理を再実行する。このようにして、1番目の構成情報からN番目の構成情報に順に変更した変更した場合に電源制御の対象となる回路ブロックの数が少なくなるように構成情報を変更する。 In step S1308, 1 is added to the variable K. In step S1309, it is determined whether K is N−1 or more. As a result of the determination, if K is N−1 or more, the process proceeds to step S1310. As a result of the determination, if K is less than N−1, the process is re-executed from step S1302. In this way, the configuration information is changed so that the number of circuit blocks subject to power supply control is reduced when the first configuration information is changed in order from the first configuration information to the Nth configuration information.
ステップS1310では、ステップS1307で設定した回路ブロックに含まれる演算要素とルータを選択して、各構成情報の演算要素101とルータ104のID設定601および設定値603を変更して、構成情報を出力する。つまり、K+1番目の構成情報のID設定を、ステップS1307で設定した回路ブロック内の演算要素101とルータ104のIDに変更する。また、データフローの変更をする場合は、データフローに沿った入出力設定になるように、K+1番目の構成情報の演算要素101、ルータ104の入出力の設定値を変更する。データフローの変更する際の設定値の変更については、図24及び図25を参照して後述する。
In step S1310, the calculation element and router included in the circuit block set in step S1307 are selected, the ID setting 601 and the setting
また上述の説明では、最初に生成した構成情報を3つ処理して、修正後の構成情報を1つ生成していく例について説明したが、最初に生成した構成情報を2つ処理して、修正後の構成情報を1つ生成していくよう構成しても良い。例えば、具体的には、まず、オリジナルの第1〜第2の構成情報に基づいて、修正後の第2の構成情報を生成する。次に、第2〜第3の構成情報(修正後の第2の構成情報及びオリジナルの第3の構成情報)を用いて処理を実行して、修正後の第3の構成情報を生成する。以降、同様の処理を繰り返していき、各々の構成情報を生成していくよう構成しても良い。 In the above description, the example in which three pieces of first generated configuration information are processed and one piece of corrected configuration information is generated has been described. However, two pieces of first generated configuration information are processed, You may comprise so that the structure information after correction may be produced | generated one. For example, specifically, first modified second configuration information is generated based on the original first to second configuration information. Next, processing is executed using the second to third configuration information (the corrected second configuration information and the original third configuration information) to generate corrected third configuration information. Thereafter, the same processing may be repeated to generate each piece of configuration information.
図14は、電源切り替え回数を算出する処理(S1303)を説明するフローチャートである。また、図15は、図14の処理実行中に生成される回路ブロック選択リスト1501を例示的に示す図である。
FIG. 14 is a flowchart for explaining the process (S1303) for calculating the number of times of power supply switching. FIG. 15 is a diagram exemplarily showing a circuit
なお、リスト1501は、回路ブロックが構成情報によって選択されているかどうかを示すリストである。左端のカラムは回路ブロックID、第1〜第3のカラムは回路ブロックが構成情報によって選択されているかどうかを示す。ここでは、構成情報によって回路ブロックが選択されている場合は値を”1”とし、回路ブロックが選択されていない場合は値を”0”とする。リスト1501は、ステップS1302の処理が完了した時点では空の状態である。
The
ステップS1401では、変数MにKを代入する。ここで、Mは図14の処理で用いる変数である。ステップS1402では、図15のリスト1501で含まれていない回路ブロックのうち1つを任意に選択する。
In step S1401, K is substituted for variable M. Here, M is a variable used in the processing of FIG. In step S1402, one of the circuit blocks not included in the
ステップS1403では、ステップS1402で選択した回路ブロックが、M番目の構成情報で選択している回路ブロックであるかを判定する。M番目の構成情報で選択している回路ブロックであると判定されればステップS1404の処理に進み、M番目の構成情報で選択している回路ブロックでは無いと判定されればステップS1405の処理に進む。 In step S1403, it is determined whether the circuit block selected in step S1402 is the circuit block selected in the Mth configuration information. If it is determined that the circuit block is selected by the Mth configuration information, the process proceeds to step S1404. If it is determined that the circuit block is not selected by the Mth configuration information, the process proceeds to step S1405. move on.
ステップS1404では、リストの第Kのカラムの値を”1”に設定する。ステップS1405では、リストの第Kのカラムの値を”0”に設定する。ステップS1406では、Mを1つ加算(インクリメント)する。 In step S1404, the value of the Kth column in the list is set to “1”. In step S1405, the value of the Kth column in the list is set to “0”. In step S1406, M is incremented by one.
ステップS1407では、MがK+2以上であるかの判定をする。判定の結果、MがK+2以上である場合は、ステップS1408の処理に進む。また、判定の結果、MがK+2未満である場合は、ステップS1403に戻る。 In step S1407, it is determined whether M is equal to or greater than K + 2. As a result of the determination, if M is K + 2 or more, the process proceeds to step S1408. If the result of determination is that M is less than K + 2, the process returns to step S1403.
ステップS1408では、リスト1501に全回路ブロックの設定値が含まれているかの判定をおこなう。判定の結果、リスト1501に全回路ブロックの設定値が含まれていない場合は、ステップS1402に戻る。一方、判定の結果、リスト1501に全回路ブロックが含まれている場合は、ステップS1408の処理に進む。
In step S1408, it is determined whether the
ステップS1409では、ステップS1401〜S1408までの処理で生成した図15のリストに基づいて、電源の切り替えの回数を算出する。各回路ブロックの電源の切り替えの回数は、例えば以下のような論理演算によって求めることができる。 In step S1409, the number of times of power supply switching is calculated based on the list of FIG. 15 generated by the processing in steps S1401 to S1408. The number of times of switching the power supply of each circuit block can be obtained, for example, by the following logical operation.
切り替えの回数=A ̄・B+B ̄・C・・・(1)
ここで、”A”は第1のカラムの値、”B”は第2のカラムの値、”C”は第3のカラムの値である。また、 ̄は否定(NOT)を表す。式(1)により、各回路ブロックの電源の切り替えの回数が、2進数で表される値で求められる。
Number of times of switching = A ̄ / B + B ̄ / C (1)
Here, “A” is the value of the first column, “B” is the value of the second column, and “C” is the value of the third column.  ̄ represents negation (NOT). According to Expression (1), the number of times of switching the power supply of each circuit block is obtained as a value represented by a binary number.
図17は、優先度設定の処理(S1306)を説明するフローチャートである。また、図18は、図17の処理で生成される優先度設定のリスト1801を例示的に示す図である。
FIG. 17 is a flowchart illustrating the priority setting process (S1306). FIG. 18 is a diagram exemplarily showing a
リスト1801の左側は回路ブロックのIDを示し、右側は各回路ブロックの優先度の設定を示す。この設定は、例えば優先度が低い方から高い方に順に1、2、3という値を設定する。リスト1801は、ステップS1306の処理が完了した時点では空の状態である。
The left side of the
ステップS1701では、リスト1801で優先度が設定されていない任意の回路ブロックを一つ指定する。ステップS1702では、ステップS1701で指定した回路ブロックが、K番目の構成情報及びK+2番目の構成情報において共通して選択されている回路ブロックであるかを判定する。K番目の構成情報及びK+2番目の構成情報において共通に選択されている回路ブロックであれば、ステップS1703の処理に進む。また、K番目の構成情報及びK+2番目の構成情報において共通してに選択している回路ブロックでなければ、ステップS1705の処理に進む。
In step S1701, one arbitrary circuit block whose priority is not set in the
ステップS1703では、回路ブロックの優先度を相対的に一番高い”3”に設定する。ステップS1705では、ステップS1701で選択した回路ブロックが、K番目の構成情報及びK+2番目の構成情報のいずれかで選択されている回路ブロックであるかを判定する。K番目及びK+2番目の構成情報のいずれかで選択されている回路ブロックであれば、ステップS1706の処理に進む。また、K番目の構成情報及びK+2番目の構成情報の何れにおいても選択されていない回路ブロックであれば、ステップS1707の処理に進む。ステップS1706では、回路ブロックの優先度を相対的に2番目に高い”2”に設定する。また、ステップS1707では、回路ブロックの優先度を相対的に一番低い”1”に設定する。 In step S1703, the priority of the circuit block is set to “3” which is relatively highest. In step S1705, it is determined whether the circuit block selected in step S1701 is a circuit block selected by either the Kth configuration information or the K + 2nd configuration information. If it is a circuit block selected by either the Kth and K + 2nd configuration information, the process proceeds to step S1706. If the circuit block is not selected in any of the Kth configuration information and the K + 2nd configuration information, the process proceeds to step S1707. In step S1706, the priority of the circuit block is set to “2”, which is the second highest relative. In step S1707, the priority of the circuit block is set to “1” which is relatively lowest.
ステップS1708では、ステップS1703、S1706、S1707で設定した回路ブロックの優先度の設定値を図18のリストの右側に追加する。ステップS1709では、K+1番目の構成情報で選択されている全ての回路ブロックの優先度の設定値が、ステップS1708で生成されたリストに含まれているか判定する。判定の結果、リストに含まれていない回路ブロックがある場合は、ステップS1701に戻る。判定の結果、全ての回路ブロックの優先度の設定値がリストに含まれている場合は、優先設定の処理を終了する。 In step S1708, the setting value of the priority of the circuit block set in steps S1703, S1706, and S1707 is added to the right side of the list of FIG. In step S1709, it is determined whether the priority setting values of all circuit blocks selected in the (K + 1) th configuration information are included in the list generated in step S1708. If there is a circuit block that is not included in the list as a result of the determination, the process returns to step S1701. As a result of the determination, if the priority setting values of all circuit blocks are included in the list, the priority setting process is terminated.
以上のようにして、K+1番目の構成情報で選択する回路ブロックの優先度設定をおこなう。なお、図17の処理フローにステップS1702、S1705の以外の判定条件を加えて新たな優先度設定を加えても良い。例えば、K番目の構成情報で選択している回路ブロックの優先度重みを、K+2番目の構成情報で選択している回路ブロックの優先度重みより高く設定するようにしても良い。 As described above, the priority of the circuit block selected by the (K + 1) th configuration information is set. Note that a new priority setting may be added to the processing flow of FIG. 17 by adding determination conditions other than those in steps S1702 and S1705. For example, the priority weight of the circuit block selected by the Kth configuration information may be set higher than the priority weight of the circuit block selected by the K + 2nd configuration information.
図19は、回路ブロック設定の処理(S1307)を説明するフローチャートである。 FIG. 19 is a flowchart for explaining the circuit block setting process (S1307).
ステップS1901では、K+1番目の構成情報で選択している回路ブロックの数を変数mに代入する。また、変数nの値を0に設定する。なお、変数mはK+1番目の構成情報で選択している回路ブロックの数、変数nは図19の処理中で選択する回路ブロックの数を示す。 In step S1901, the number of circuit blocks selected by the (K + 1) th configuration information is substituted for the variable m. Also, the value of the variable n is set to 0. Note that the variable m indicates the number of circuit blocks selected in the (K + 1) th configuration information, and the variable n indicates the number of circuit blocks selected in the process of FIG.
ステップS1902では、リスト1801のなかから、優先度が最も高い設定である回路ブロックを選択可能な状態に設定する。ステップS1903では、ステップS1902で選択可能な状態とした回路ブロックのうち1つ選び、回路ブロックの数nに加算する。
In step S1902, the circuit block having the highest priority setting from the
ステップS1904では、ステップS1903で加算した結果が、K+1番目の構成情報で選択している回路ブロックの数以上(m≧n)であるか判定する。判定の結果、m≧nであれば、ステップS1906の処理に進む。また、判定の結果、m<nであれば、ステップS1905の処理に進む。 In step S1904, it is determined whether the result of addition in step S1903 is equal to or greater than the number of circuit blocks selected in the (K + 1) th configuration information (m ≧ n). If m ≧ n as a result of the determination, the process proceeds to step S1906. If m <n as a result of the determination, the process proceeds to step S1905.
ステップS1905では、他に選択可能な回路ブロックがあるか判定する。判定の結果、他に選択可能な回路ブロックがある場合は、ステップS1903の処理を再実行する。判定の結果、他に選択可能な回路ブロックがない場合は、ステップS1906の処理に進む。ステップS1906では、優先度が1つ下である回路ブロックを選択可能な状態に設定する。設定後、ステップS1903に戻る。 In step S1905, it is determined whether there is another selectable circuit block. As a result of the determination, if there is another selectable circuit block, the process of step S1903 is executed again. As a result of the determination, if there is no other selectable circuit block, the process proceeds to step S1906. In step S1906, the circuit block having the next lower priority is set to a selectable state. After the setting, the process returns to step S1903.
ステップS1907では、ステップS1901〜S1906の処理で選択した回路ブロックを用いて、修正後のK+1番目の構成情報を生成することを決定する。 In step S1907, it is determined that the corrected K + 1-th configuration information is generated using the circuit block selected in the processing of steps S1901 to S1906.
このようにして、CPU1101は電源の切り替え動作の回数が少なくなるような構成情報108の生成をおこなう。生成した構成情報108は、データ処理装置100に読み込まれ、データ処理装置100の内部の演算要素とルータの設定に使用されることになる。
In this way, the
なお、ステップS1310を実行する前に、データフローを再構築するステップを設けても良い。例えば、構成情報で使用する回路ブロックを設定した後に、使用する演算要素101、ルータ104を決定し、演算要素101、ルータ104間のデータ転送の経路を探索してデータフローを再構築するなどの手法を取ることもできる。
Note that a step of reconstructing the data flow may be provided before executing step S1310. For example, after setting the circuit block to be used in the configuration information, the
<3.生成された構成情報に基づくデータ処理装置の動作例>
データ処理装置100が外部メモリ905から構成情報108を取得し、構成情報108に沿って演算処理を回路ブロック102に割り当てるまでの一連の動作を説明する。
<3. Operation Example of Data Processing Device Based on Generated Configuration Information>
A series of operations until the
データ処理装置100は、CPU901から構成情報108の読み出しの指示を受けた後、構成情報108の読み出し、構成情報108よって選択される回路ブロックの判別、電源制御部103による電源切り替えを実行する。その後、データ処理装置100は、回路ブロック102への構成情報108の送信をして、演算要素とルータの動作を設定する。
After receiving an instruction to read the
上記の動作が完了した後、データ処理装置100は演算処理を開始する。実行中の演算処理が完了すると、次の処理で使用する構成情報を外部メモリ905から読み出して、同様の動作を繰り返して次の演算処理を実行する。このようにして、データ処理装置100は、構成情報を順番に読み込み、構成情報108に沿って演算処理を回路ブロック102に割り当て、演算処理を実行する。
After the above operation is completed, the
図20は、データ処理装置における処理状態の変化の過程を説明する図である。なお、ここでは、データ処理装置100が4つ回路ブロックを備えている場合を例示的に示している。
FIG. 20 is a diagram for explaining the process of changing the processing state in the data processing apparatus. Here, a case where the
処理状態2000aは、データ処理装置100を起動後、演算処理割り当て部105が外部メモリ905から第1の構成情報1001を取得して、第1の構成情報1001が選択している回路ブロックを判別するまでの状態を示している。
In the
回路ブロック2001〜2004は、電源遮断されている状態(電源オフ)である。また外部メモリ905には、第1の構成情報1001と第2の構成情報1002が格納されている。データ処理装置100は、第1の構成情報1001と第2の構成情報1002を順に読み込んで、動的再構成回路106の構成を切り替える。
The circuit blocks 2001 to 2004 are in a state where the power is shut off (power off). The
最初に、演算処理割り当て部105は、外部メモリ905から第1の構成情報1001を取得する。次に、演算処理割り当て部105は、第1の構成情報1001によって選択される回路ブロックを判別する。ここで、演算処理割り当て部105は、第1の構成情報1001で選択されている回路ブロックが回路ブロック2001,2002であることを判別する。
First, the arithmetic
処理状態2000bは、演算処理割り当て部105が回路ブロックの判別をした後、回路ブロック2001,2002に電源供給して、第1の構成情報1001に基づき演算処理を回路ブロック2001,2002に割り当てるまでの状態を示している。
In the
演算処理割り当て部105は、回路ブロック2001,2002の情報を電源制御部103に送信する。電源制御部103は、演算処理割り当て部105から回路ブロック2001,2002の情報を受信した後、回路ブロック2001,2002に接続された電源スイッチ107をオフからオンへ切り替える。
The arithmetic
その後、電源制御部103は、演算処理割り当て部105に電源スイッチ107の切り替えが完了したことを通知する。次に、演算処理割り当て部105は、第1の構成情報1001を回路ブロック2001,2002に送信する。
Thereafter, the
演算要素101は、第1の構成情報1001を受信した後、データ入力部304の入力の切り替え、データ出力部305の出力の切り替え、演算処理部303の処理設定をおこなう。ルータ104は、第1の構成情報1001を受信した後、入出力切り替え部403の入出力の設定をおこなう。このようにして、各々の演算要素とルータの動作を順次設定していく。
After receiving the
演算処理割り当て部105は、回路ブロック内を一巡した第1の構成情報1001を再度受信して、第1の構成情報1001の送信が完了したことを検知する。第1の構成情報1001の送信が完了した後、演算処理割り当て部105は、各演算要素に演算処理の開始を指示する信号を送信する。その後、演算要素101は演算処理を開始する。演算要素101は演算処理が完了すると、演算処理割り当て部105に処理完了を通知する。
The arithmetic
処理状態2000cは、データ処理装置100が第1のデータ処理を完了した後、第2の構成情報1002に沿って演算処理を回路ブロックに割り当てるまでの状態を示している。
The
演算処理割り当て部105は、演算要素101から処理完了の通知を受信して、処理完了の通知が演算処理を割り当てた全ての演算要素101から送信されたことを判別して、第1のデータ処理が完了したことを検知する。その後、演算処理割り当て部105は、外部メモリ905から第2の構成情報1002を取得する。
The arithmetic
以降、第2の構成情報1002の内容に従って、回路ブロックの判別、電源切り替えが実行される。第2の構成情報1002で選択されているのは3個の回路ブロック2001、2002、2003であり、電源切り替えが必要なのは回路ブロック2003である。よって、電源制御部103は、回路ブロック2003に接続された電源スイッチ107をオフからオンへ切り替える。その後、上述の第1の構成情報1002に基づく演算処理の割り当てと同様に、第2の構成情報1002に基づく演算処理の割り当てを行う。
Thereafter, according to the content of the
上述の動作を繰り返すことにより、データ処理装置100は外部メモリ905に保持された複数の構成情報108を順に読み込み、当該複数の構成情報108に基づく演算処理を順に実行する。
By repeating the above-described operation, the
<構成情報生成装置のCPUの動作例>
図21は、構成情報が選択する回路ブロックの選択変更の過程を説明する図である。具体的には、選択状態2101は、第1の構成情報が選択している回路ブロックを示している。同様に、選択状態2102は第2の構成情報が選択している回路ブロック、選択状態2103は第3の構成情報が選択している回路ブロック、選択状態2104は第4の構成情報が選択している回路ブロックを示している。
<Operation Example of CPU of Configuration Information Generation Device>
FIG. 21 is a diagram for explaining the process of selecting and changing circuit blocks selected by the configuration information. Specifically, the
最初に生成したオリジナルの4個の構成情報において、選択状態2101〜2104に示されるような回路ブロックが選択されている場合、例えば、選択状態2100cのように選択されるように構成情報を修正すれば良い。つまり、第2の構成情報が選択する回路ブロックを選択状態2401のように修正して、第3の構成情報が選択する回路ブロックを選択状態2501のように修正すれば良い。このような修正を行うことにより、構成情報の遷移に伴う回路ブロックの電源の切り替え回数が少なくなる。
When circuit blocks as shown in the selection states 2101 to 2104 are selected in the originally generated four pieces of configuration information, for example, the configuration information is modified so that it is selected as in the
以下では、図13の処理フローに沿って、選択状態2100aとなる構成情報から選択状態2100cとなる構成情報を生成する例を説明する。なお、回路ブロックIDは図12(b)に示したような設定とする。
Below, the example which produces | generates the structure information used as the
ステップS1302では、第1〜第3の構成情報により選択される回路ブロックを判別して、各々の構成情報において選択されている回路ブロックの数を算出する。ここでは第1の構成情報が選択している回路ブロックは”6”個、第2の構成情報が選択している回路ブロックは”9”個、第3の構成情報が選択している回路ブロックは”12”個として算出される。 In step S1302, the circuit block selected by the first to third configuration information is determined, and the number of circuit blocks selected in each configuration information is calculated. Here, “6” circuit blocks are selected by the first configuration information, “9” circuit blocks are selected by the second configuration information, and circuit blocks are selected by the third configuration information. Is calculated as “12”.
ステップS1303では、第1〜第3の構成情報を切り替えていくときの電源の切り替えの回数を算出する。最初に、図14のステップS1401〜S1407の処理に沿って、回路ブロック選択リストを生成する。 In step S1303, the number of times of switching the power source when switching the first to third configuration information is calculated. First, a circuit block selection list is generated along the processing of steps S1401 to S1407 in FIG.
図22は、生成される回路ブロック選択リストを例示的に示す図である。次に、この回路ブロック選択リストから式(1)に従って電源の切り替え回数を算出する。選択状態2100aに対しては電源の切り替え回数は”11”となる。
FIG. 22 is a diagram exemplarily showing a generated circuit block selection list. Next, the number of power supply switching is calculated from the circuit block selection list according to the equation (1). For the
ステップS1304では、第1〜第3の構成情報を切り替えていくときに、最少となる電源の切り替えの回数を算出する。ステップS1302の処理で算出した回路ブロック数は、図16の判定条件のうち条件番号”1”に合致する。よって、最少の切り替えの回数は第3の構成情報が選択している回路ブロック数から第1の構成情報が選択している回路ブロック数を引いて、最少の電源切り替え回数である”6”を得る。 In step S1304, when the first to third configuration information is switched, the number of times of switching the power supply that is minimized is calculated. The number of circuit blocks calculated in the process of step S1302 matches the condition number “1” among the determination conditions in FIG. Therefore, the minimum number of times of switching is obtained by subtracting the number of circuit blocks selected by the first configuration information from the number of circuit blocks selected by the third configuration information, and subtracting “6” which is the minimum number of times of power switching. obtain.
ステップS1305では、ステップS1303の処理で算出した回数と、ステップS1304の処理で算出した回数を比較して、実際の回数が最少では無いと判定する。よって、ステップS1306の処理に進む。ステップS1306では、第2の構成情報で使用する回路ブロックの優先度設定をおこなう。図17の処理に従って優先度リストを生成する。図23は、生成される優先度リストを例示的に示す図である。 In step S1305, the number of times calculated in step S1303 is compared with the number of times calculated in step S1304, and it is determined that the actual number is not the minimum. Accordingly, the process proceeds to step S1306. In step S1306, the priority of the circuit block used in the second configuration information is set. A priority list is generated according to the processing of FIG. FIG. 23 is a diagram exemplarily showing a priority list to be generated.
ステップS1307では、第2の構成情報で使用する回路ブロックを設定する。このとき、図23の優先度リストの優先度設定を参照して、優先度の高い回路ブロックから順に回路ブロックを選択する。ステップS1307の処理を実行した結果、第2の構成情報の回路ブロック設定は、選択状態2100bにおける選択状態2401のようになる。
In step S1307, a circuit block to be used in the second configuration information is set. At this time, referring to the priority setting in the priority list in FIG. 23, circuit blocks are selected in order from the circuit block with the highest priority. As a result of executing the processing of step S1307, the circuit block setting of the second configuration information becomes like the
ステップS1308では、変数Kを1つ加算する。ここでKは”2”となる。ステップS1309では、Kが入力した構成情報の数から1を減算した数以上であるか判定する。Kは”2”であり、入力した構成情報の数”4”から1を減算した数は”3”であるため、判定はNoとなる。よって、ステップS1302の処理を再実行する。 In step S1308, one variable K is added. Here, K becomes “2”. In step S1309, it is determined whether K is equal to or greater than the number obtained by subtracting 1 from the number of pieces of configuration information input. Since K is “2” and the number obtained by subtracting 1 from the number “4” of the input configuration information is “3”, the determination is No. Therefore, the process of step S1302 is executed again.
ステップS1302では、第2〜第4の構成情報が選択している回路ブロックを判別して、回路ブロックの数を算出する。第2の構成情報が選択している回路ブロック数は”6”、第3の構成情報が選択している回路ブロック数は”12”、第4の構成情報が選択している回路ブロック数は”3”である。 In step S1302, the circuit block selected by the second to fourth configuration information is determined, and the number of circuit blocks is calculated. The number of circuit blocks selected by the second configuration information is “6”, the number of circuit blocks selected by the third configuration information is “12”, and the number of circuit blocks selected by the fourth configuration information is “3”.
ステップS1303では、第2〜第4の構成情報を切り替えていくときの電源の切り替えの回数を算出する。選択状態2100bに対しては電源の切り替え回数は”6”となる。
In step S1303, the number of times of switching the power source when switching the second to fourth configuration information is calculated. For the
ステップS1304では、第2〜第4の構成情報を切り替えていくときに、最少となる電源の切り替えの回数を算出する。ステップS1302の処理で算出した回路ブロック数は、図16の判定条件のうち条件番号”3”に合致する。よって、最少の切り替えの回数は第3の構成情報が選択している回路ブロック数から第2の構成情報が選択している回路ブロック数を引いて、最少の電源切り替え回数である”3”を得る。 In step S1304, when the second to fourth configuration information is switched, the number of times of switching the power supply that is minimized is calculated. The number of circuit blocks calculated in the process of step S1302 matches the condition number “3” among the determination conditions in FIG. Therefore, the minimum number of times of switching is obtained by subtracting the number of circuit blocks selected by the second configuration information from the number of circuit blocks selected by the third configuration information, and subtracting “3”, which is the minimum number of times of power switching. obtain.
ステップS1305では、ステップS1303の処理で算出した回数と、ステップS1304の処理で算出した回数を比較して、実際の回数が最少では無いと判定する。 In step S1305, the number of times calculated in step S1303 is compared with the number of times calculated in step S1304, and it is determined that the actual number is not the minimum.
以降、ステップS1306、ステップS1307の処理を実行することにより、第3の構成情報の回路ブロック設定は選択状態2100cにおける選択状態2501のようになる。
Thereafter, by executing the processing of step S1306 and step S1307, the circuit block setting of the third configuration information becomes like the
図24及び図25は、それぞれ、回路ブロック内におけるデータフローの変更を例示的に示す図である。なお、回路ブロック102には図12を参照して説明したIDと同様のIDが設定されている。
24 and 25 are diagrams exemplarily showing changes in data flow in the circuit block. The
選択状態2102を選択状態2401に変更する場合、図24の上段に示すデータフローから図24の下段に示すデータフローに変わる。この場合、データフローの設定を左側にシフトするだけで良いことが図24から分かる。したがって、この場合は演算要素101、ルータ104の入出力設定の変更は必要なく、演算要素101、ルータ104のIDの変更のみをおこなえば良い。
When the
一方、選択状態2103を選択状態2501に変更する場合、図25の上段に示すデータフローから図25の下段に示すデータフローに変わる。この場合は、演算要素101、ルータ104のIDと、演算要素101とルータ104の入出力の設定を変更する。
On the other hand, when the
なお、より複雑なデータフローの変更に対応可能とするために、データフローを再構築する機構を構成情報生成部2701の内部に設けても良い。例えば、構成情報で使用する回路ブロックを設定した後に、演算要素101、ルータ104間のデータ転送の経路を探索してデータフローを再構築するなどの手法を取ることもできる。
Note that a mechanism for reconstructing the data flow may be provided inside the configuration
このようにして、第1〜第4の構成情報のうち、第2及び第3の構成情報に対しては選択する回路ブロックを変更するよう修正を行った構成情報を生成(再生成)する。これにより、電源の切り替え回数が少なくなるような構成情報をすることができる。 In this way, the second and third configuration information out of the first to fourth configuration information is generated (regenerated) with the configuration information modified to change the circuit block to be selected. As a result, configuration information that reduces the number of times of power supply switching can be obtained.
以上説明したように、第1実施形態によれば、回路ブロックに対する電源の切り替え回数が少なくなるような構成情報を生成(再生成)することが可能となる。すなわち、チャージ電力を低減可能な構成情報を生成することが可能となる。そのため、当該再生成された構成情報に基づきデータ処理装置100が演算処理を回路ブロック102に割り当てることにより、好適に電力削減可能とすることが可能となる。
As described above, according to the first embodiment, it is possible to generate (regenerate) configuration information that reduces the number of times of switching power sources for circuit blocks. That is, it is possible to generate configuration information that can reduce charge power. For this reason, the
(変形例)
なお、上述の説明においては、データ処理装置100の外部にあるメモリ905から構成情報を読み込む実施形態を示したが、データ処理装置100の内部で構成情報を保持するような構成としても良い。
(Modification)
In the above description, the configuration information is read from the
図26は、変形例に係るデータ処理装置の全体構成を示す図である。具体的には、データ処理装置100の内部に構成情報保持部2601を設け、構成情報保持部2601の内部に構成情報を格納している。この構成においては、演算処理割り当て部105が構成情報保持部2601で保持している構成情報108を読み込み、動的再構成回路106に構成情報を送信する。
FIG. 26 is a diagram illustrating an overall configuration of a data processing device according to a modification. Specifically, a configuration
(第2実施形態)
第2実施形態では、データ処理装置100の内部で構成情報108を生成する場合の例について説明する。
(Second Embodiment)
In the second embodiment, an example in which the
<構成説明>
[演算処理割り当て部の内部構成]
図27は、第2実施形態に係る演算処理割り当て部105の内部構成を示す図である。つまり、ここでは、演算処理割り当て部105の内部に構成情報生成部2701を追加して、演算処理割り当て部105の内部で構成情報108を生成している。なお、構成情報生成部2701は、図13で示した処理と同様の処理を実現する機能部である。
<Description of configuration>
[Internal configuration of arithmetic processing assignment unit]
FIG. 27 is a diagram illustrating an internal configuration of the arithmetic
構成情報生成部2701は、回路ブロック判別部704から構成情報108が選択している回路ブロックの情報を受信して、信号線2704を介して構成情報108の送信指示を構成情報送信部702に送る。また、構成情報生成部2701は、信号線2703を介して再生成した構成情報108を構成情報送信部702に送る。更に構成情報生成部2701は、信号線114を介して回路ブロック情報を出力する。
The configuration
[構成情報生成部の内部構成]
図28は、構成情報生成部2701の内部構成を示す図である。構成情報生成部2701は、電源切り替え回数算出部2801、回路ブロック数算出部2803、回路ブロック優先度設定部2804、回路ブロック設定部2805を構成に含む。加えて、構成情報生成部2701は、ID・設定値変更部2806、切り替え回数判定部2802、回路ブロック情報送信部2815を含む。
[Internal configuration of configuration information generator]
FIG. 28 is a diagram illustrating an internal configuration of the configuration
電源切り替え回数算出部1901は、構成情報108により選択される回路ブロックの情報を受信する。そして、構成情報108に沿って演算処理を割り当てていくときに必要となる電源切り替えの回数を算出し、算出結果を切り替え回数判定部1902に送信する。回路ブロック数算出部2803は、構成情報108により選択される回路ブロックの情報を受信する。そして、各構成情報108が選択している回路ブロックの数を、切り替え回数判定部2802と回路ブロック優先度設定部2804に送信する。回路ブロック優先度設定部2804は、上述のステップS1306と同様の処理に従って回路ブロックの優先度を設定して、優先度の設定情報を回路ブロック設定部1905に送信する。
The power switching number calculation unit 1901 receives information on the circuit block selected by the
回路ブロック設定部2805は、上述のステップS1307と同様の処理に従って回路ブロックを選択して、回路ブロックの選択情報をID・設定値変更部2806と回路ブロック情報送信部2815に送信する。ID・設定値変更部2806は、回路ブロック設定部2805から受信した回路ブロックの選択情報に従って、IDを変更して構成情報を再生成する。
The circuit
回路ブロック情報送信部2815は、信号線2813を介して切り替え回数判定部2802から指示を受けて、信号線2812から送信された回路ブロック情報、または信号線2814から送信された回路ブロック情報のどちらかを出力する。切り替え回数判定部2802は、電源切り替え回数算出部2801から切り替え回数の情報を、回路ブロック数算出部2803から回路ブロック数の情報をそれぞれ受信する。また、切り替え回数判定部2802は、信号線2704を介して構成情報の送信指示を構成情報送信部702に送信する。
The circuit block
切り替え回数判定部2802は、信号線2713を介して回路ブロック情報送信部2815に信号線2812から送信された回路ブロック情報、または信号線2814から送信された回路ブロック情報のどちらを出力するかを指示する。更に、切り替え回数判定部2802は、信号線2816を介して回路ブロック優先度設定部2804に優先度を設定するよう制御する。
The switching
[電源切り替え回数算出部の内部構成]
図29は、電源切り替え回数算出部2801の内部構成を示す図である。電源切り替え回数算出部2801は、経路切り替え部2901、レジスタ2902、2903、2904、2907、2908、2入力AND2905、2906、加算器2909で構成される。
[Internal configuration of power switch count calculation unit]
FIG. 29 is a diagram illustrating an internal configuration of the power supply switching
経路切り替え部2901は、信号線2702から回路ブロックの情報を受信して、レジスタ2902、2903、2904に論理値”1”または”0”を送信する。
The
[回路ブロック優先度設定部の構成説明]
図30は、回路ブロック優先度設定部2804の内部構成を示す図である。回路ブロック優先度設定部2804は、レジスタ選択部3003、レジスタ3001、3002、優先度設定部3008で構成される。
[Description of configuration of circuit block priority setting unit]
FIG. 30 is a diagram illustrating an internal configuration of the circuit block
レジスタ選択部3003は、信号線2702から、第1の構成情報が選択している回路ブロック情報を受信した後、回路ブロック情報をレジスタ3001に送信する。また、レジスタ選択部3003は、信号線2702から、第3の構成情報が選択している回路ブロック情報を受信した後、回路ブロック情報をレジスタ3002に送信する。
After receiving the circuit block information selected by the first configuration information from the
レジスタ3004、3006の設定値は、第1の回路ブロックが選択されている場合に”1”とし、レジスタ3005、3007は、第2の回路ブロック情報が送信された場合に”1”とする。つまり、レジスタ3001、3002のNビット目の設定値は、第Nの回路ブロックが構成情報によって選択されているか否かを示している。
The set value of the
次に、レジスタ3001とレジスタ3002で対応するビットの値から、図30(b)に示すように優先度を設定する。優先度を設定した後、各回路ブロックの優先度の設定を信号線2810に出力する。
Next, the priority is set as shown in FIG. 30B from the values of the corresponding bits in the
<動作説明>
以下では、構成情報生成部2701の内部ブロックのうち、電源切り替え回数算出部と切り替え回数判定部の動作について説明する。なお、構成情報生成部2701の他のブロックの動作については、図13を参照して説明した動作と同様であるため説明を省略する。
<Description of operation>
Below, operation | movement of the power supply switching frequency calculation part and the switching frequency determination part is demonstrated among the internal blocks of the structure
[電源切り替え回数算出部の動作説明]
図29は、電源切り替え回数算出部の動作を説明する図である。最初に、第1、第2、第3の回路ブロック選択情報が、レジスタ2902、2903、2904にそれぞれ格納されている。
[Explanation of operation of power switching count calculation unit]
FIG. 29 is a diagram illustrating the operation of the power supply switching frequency calculation unit. First, first, second, and third circuit block selection information is stored in
2入力AND2905は、レジスタ2902のNビット目の値を論理反転させた後、レジスタ2903のNビット目の論理値との論理積を算出し、レジスタ2907に算出した値を格納する。同様に、2入力AND2906は、レジスタ2903のNビット目の値を論理反転させた後、レジスタ2904のNビット目の論理値との論理積を算出し、レジスタ2908に算出した値を格納する。
The 2-input AND 2905 logically inverts the value of the Nth bit of the
例えば、ここでは、レジスタ2902の1ビット目の論理値は”0”で、レジスタ2903の1ビット目の論理値は”1”であるため、レジスタ2907の1ビット目には、論理値”1”が設定される。レジスタ2907に論理値”1”が設定された場合は、第1の構成情報から第2構成情報に切り替えるときに、当該回路ブロックが電源オフからオンに切り替わることを示している。
For example, since the logical value of the first bit of the
同様の処理を各ブロックに対し行う事で、第1の処理から第2の処理までに、各回路ブロックの電源がオフからオンへ切り替わるかを判別することができる。 By performing similar processing for each block, it is possible to determine whether the power of each circuit block is switched from OFF to ON from the first processing to the second processing.
また、第2の構成情報から第3の構成情報への切り替えが実施される際の電源切り替え回数を検出するために、レジスタ2903のNビット目の論理値と、レジスタ2904のNビット目の論理値を用いて同様の論理演算を実施する。算出された論理演算結果は、レジスタ2907、2908に格納される。全てのレジスタに論理値が格納されると、加算器2909は各レジスタの値を加算する。これによって、論理値”1”の個数に基づいて電源の切り替え回数が算出される。以上の動作により算出された電源切り替え回数は、信号線2807を介して出力される。
Further, in order to detect the number of times of power supply switching when switching from the second configuration information to the third configuration information is performed, the logic value of the Nth bit of the
[切り替え回数判定部の動作説明]
切り替え回数判定部2802は、回路ブロック数算出部2803から回路ブロック数の情報を受信した後、図16に示した判定部によって、電源の切り替え回数の最小値を算出する。その後、電源切り替え回数算出部2801から切り替え回数の情報を受信し、電源の切り替え回数が最少であるか判定する。
[Explanation of operation of switching frequency judgment unit]
After receiving the information on the number of circuit blocks from the circuit block
切り替え回数判定部2802は、電源の切り替え回数が最少でない場合は、信号線2816を介して回路ブロック優先度設定部2804に優先度を設定するよう指示を与える。
When the number of power source switching is not the minimum, the switching
なお、電源の切り替え回数が最少である場合は構成情報の再生成はおこなわず、切り替え回数判定部2802は、信号線2704を介して既存の構成情報108を送信する指示を構成情報送信部702に送る。また、切り替え回数判定部2802は回路ブロック情報送信部2815へ、信号線2812から受信した回路ブロック情報を信号線114に出力するよう指示する。
Note that when the number of times of power supply switching is minimum, the configuration information is not regenerated, and the switching
以上説明したように、第2実施形態によれば、データ処理装置100の内部に設けた構成情報生成部2701により構成情報を再生成する。このように構成することにより、第1実施形態と同様、回路ブロックに対する電源の切り替え回数が少なくなるような構成情報を生成(再生成)することが可能となる。特に、電源の切り替え回数が少なくなるような構成情報をほぼリアルタイムに生成することが可能となる。
As described above, according to the second embodiment, configuration information is regenerated by the configuration
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
Claims (2)
前記アレイ型演算装置で連続して使用されるN個(Nは3以上の整数)の構成情報を取得する取得手段と、
前記アレイ型演算装置が使用する構成情報を1番目の構成情報からN番目の構成情報に順に変更した場合に電源オフの状態から電源オンの状態に変更される回路ブロックの数が少なくなるように、K番目(Kは1≦K≦N−2を満たす整数)の構成情報とK+2番目の構成情報とに基づいてK+1番目の構成情報を修正する修正手段と、
を有することを特徴とする構成情報生成装置。 A configuration information generating device that generates configuration information used in an array type arithmetic device each having a plurality of circuit blocks each including one or more arithmetic elements and configured to be individually power-controllable. Including information defining which one or more circuit blocks of the plurality of circuit blocks are to be used,
Obtaining means for obtaining N pieces (N is an integer of 3 or more) of configuration information used continuously in the array type arithmetic unit;
When the configuration information used by the array type arithmetic unit is changed in order from the first configuration information to the Nth configuration information, the number of circuit blocks that are changed from the power-off state to the power-on state is reduced. Correcting means for correcting the (K + 1) th configuration information based on the Kth (K is an integer satisfying 1 ≦ K ≦ N−2) configuration information and the K + 2nd configuration information;
A configuration information generating apparatus comprising:
前記アレイ型演算装置で連続して使用されるN個(Nは3以上の整数)の構成情報を取得する取得工程と、
前記アレイ型演算装置が使用する構成情報を1番目の構成情報からN番目の構成情報に順に変更した場合に電源オフの状態から電源オンの状態に変更される回路ブロックの数が少なくなるように、K番目(Kは1≦K≦N−2を満たす整数)の構成情報とK+2番目の構成情報とに基づいてK+1番目の構成情報を修正する修正工程と、
を含むことを特徴とする構成情報生成装置の制御方法。 A control method for a configuration information generating device that generates configuration information used in an array type arithmetic device each including a plurality of circuit blocks each including one or more arithmetic elements and configured to be individually power-controllable. The information includes information defining which one or more circuit blocks of the plurality of circuit blocks are used, and the control method includes:
An acquisition step of acquiring N pieces of configuration information (N is an integer of 3 or more) used continuously in the array type arithmetic unit;
When the configuration information used by the array type arithmetic unit is changed in order from the first configuration information to the Nth configuration information, the number of circuit blocks that are changed from the power-off state to the power-on state is reduced. A correction step of correcting the (K + 1) th configuration information based on the Kth configuration information (K is an integer satisfying 1 ≦ K ≦ N−2) and the K + 2nd configuration information;
A method for controlling a configuration information generating apparatus, comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013040028A JP6087663B2 (en) | 2013-02-28 | 2013-02-28 | Configuration information generating apparatus and control method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013040028A JP6087663B2 (en) | 2013-02-28 | 2013-02-28 | Configuration information generating apparatus and control method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014167764A JP2014167764A (en) | 2014-09-11 |
| JP6087663B2 true JP6087663B2 (en) | 2017-03-01 |
Family
ID=51617406
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013040028A Expired - Fee Related JP6087663B2 (en) | 2013-02-28 | 2013-02-28 | Configuration information generating apparatus and control method thereof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6087663B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6141073B2 (en) * | 2013-04-02 | 2017-06-07 | キヤノン株式会社 | Information processing apparatus and information processing apparatus control method |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7098689B1 (en) * | 2003-09-19 | 2006-08-29 | Xilinx, Inc. | Disabling unused/inactive resources in programmable logic devices for static power reduction |
| JP3810419B2 (en) * | 2004-12-07 | 2006-08-16 | 松下電器産業株式会社 | Reconfigurable signal processor |
| JP4298718B2 (en) * | 2006-04-18 | 2009-07-22 | パナソニック株式会社 | Reconfigurable signal processor |
| JP2011081465A (en) * | 2009-10-05 | 2011-04-21 | Hitachi Ltd | Power source controller |
| JP5614076B2 (en) * | 2010-03-31 | 2014-10-29 | 富士ゼロックス株式会社 | Image forming apparatus and control program therefor |
| JP5798378B2 (en) * | 2011-05-30 | 2015-10-21 | キヤノン株式会社 | Apparatus, processing method, and program |
| JP5980035B2 (en) * | 2012-07-31 | 2016-08-31 | キヤノン株式会社 | Information processing apparatus and control method thereof |
-
2013
- 2013-02-28 JP JP2013040028A patent/JP6087663B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014167764A (en) | 2014-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI564793B (en) | Migrating threads between asymmetric cores in a multiple core processor | |
| US7941698B1 (en) | Selective availability in processor systems | |
| US9262278B2 (en) | Allocation of replica-sets in a storage cluster | |
| KR101748747B1 (en) | Controlling configurable peak performance limits of a processor | |
| KR102544392B1 (en) | Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system | |
| US8037350B1 (en) | Altering a degree of redundancy used during execution of an application | |
| EP2580657B1 (en) | Information processing device and method | |
| US9760159B2 (en) | Dynamic power routing to hardware accelerators | |
| US10615800B1 (en) | Method and apparatus for implementing configurable streaming networks | |
| CN105359057A (en) | Set computer parameters so that the power supply operates within a range based on the peak power efficiency of the power supply | |
| US20130002287A1 (en) | Apparatus for improving reliability of electronic circuitry and associated methods | |
| Perera et al. | A design methodology for mobile and embedded applications on FPGA-based dynamic reconfigurable hardware | |
| JP2016071886A (en) | Scheduler computing device, data node for distributed computing system including the same, and method thereof | |
| US10311017B2 (en) | Reconfigurable processor and timing control method thereof | |
| JP6087663B2 (en) | Configuration information generating apparatus and control method thereof | |
| US10050627B2 (en) | Information processing device, PLD management program, and PLD management method | |
| JP5980035B2 (en) | Information processing apparatus and control method thereof | |
| US10366001B1 (en) | Partitioning memory blocks for reducing dynamic power consumption | |
| CN104036082A (en) | Design technique allowing ID numbers of all stages in cascade system to be indicated | |
| US20200293485A1 (en) | On demand multiple heterogeneous multicore processors | |
| JP2014052918A (en) | Calculation device and control method therefor | |
| JP2016103240A (en) | Data processor and data processing method | |
| US20150213179A1 (en) | Leakage power reduction in integrated circuits by selective removal and/or sizing of switch cells | |
| JP2017168957A (en) | Information processing apparatus, information processing system, information processing program, and information processing method | |
| US9853644B2 (en) | Multiple-layer configuration storage for runtime reconfigurable systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160202 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160912 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161024 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161124 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161209 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161214 |
|
| 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: 20170106 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170202 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6087663 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| LAPS | Cancellation because of no payment of annual fees |