Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6087663B2 - Configuration information generating apparatus and control method thereof - Google Patents
[go: Go Back, main page]

JP6087663B2 - Configuration information generating apparatus and control method thereof - Google Patents

Configuration information generating apparatus and control method thereof Download PDF

Info

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
Application number
JP2013040028A
Other languages
Japanese (ja)
Other versions
JP2014167764A (en
Inventor
和哉 藤森
和哉 藤森
茂雄 河岡
茂雄 河岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013040028A priority Critical patent/JP6087663B2/en
Publication of JP2014167764A publication Critical patent/JP2014167764A/en
Application granted granted Critical
Publication of JP6087663B2 publication Critical patent/JP6087663B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Patent Document 1, an instruction for operating each arithmetic circuit is detected in advance, and one or more arithmetic circuits corresponding to the detected instruction are activated prior to execution of the operation. There has been proposed a microprocessor that performs arithmetic operations simultaneously using the arithmetic circuits described above.

特開2004−178613号公報JP 2004-178613 A

今後さらに高機能化・高性能化が求められるため、先端の製造プロセスを用いた集積化が進み、多数の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 patent document 1, the activation of the arithmetic unit is activated prior to the execution of the calculation, and the number of power supply restoration / shut-off cannot be reduced, so that the problem of the charge power cannot be dealt with. .

本発明は上述の問題点に鑑みなされたものであり、複数の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.

第1実施形態に係るデータ処理装置の全体構成を示す図である。It is a figure which shows the whole structure of the data processor which concerns on 1st Embodiment. 回路ブロックの内部構成を示す図である。It is a figure which shows the internal structure of a circuit block. 演算要素の内部構成の一例を示す図である。It is a figure which shows an example of the internal structure of a calculation element. ルータの内部構成の一例を示す図である。It is a figure which shows an example of an internal structure of a router. 構成情報の一例を示す図である。It is a figure which shows an example of structure information. 構成情報のデータフォーマットの一例を示す図である。It is a figure which shows an example of the data format of structure information. 演算処理割り当て部の内部構成を示す図である。It is a figure which shows the internal structure of a calculation process allocation part. 回路ブロック判別部の内部構成を示す図である。It is a figure which shows the internal structure of a circuit block discrimination | determination part. 第1実施形態に係るデータ処理装置を搭載した半導体装置の全体構成を示す図である。It is a figure which shows the whole structure of the semiconductor device carrying the data processor which concerns on 1st Embodiment. 外部メモリにおける構成情報の配置の一例を示す図である。It is a figure which shows an example of arrangement | positioning of the structure information in an external memory. 構成情報生成装置のブロック構成を示す図である。It is a figure which shows the block configuration of a structure information generation apparatus. 回路ブロック設定の一例を示す図である。It is a figure which shows an example of a circuit block setting. 構成情報を再生成する処理を説明するフローチャートである。It is a flowchart explaining the process which reproduces | regenerates configuration information. 電源切り替え回数を算出する処理を説明するフローチャートである。It is a flowchart explaining the process which calculates the frequency | count of power supply switching. 回路ブロック選択リストを例示的に示す図である。It is a figure which shows an example of a circuit block selection list. 最少の電源切り替え回数の算出する方法を説明する図である。It is a figure explaining the method of calculating the minimum frequency | count of power supply switching. 優先度設定の処理を説明するフローチャートである。It is a flowchart explaining a priority setting process. 優先度設定リストを例示的に示す図である。It is a figure which shows an example of a priority setting list | wrist. 回路ブロック設定の処理を説明するフローチャートである。It is a flowchart explaining the process of a circuit block setting. データ処理装置における処理状態の変化の過程を説明する図である。It is a figure explaining the process of the change of the processing state in a data processor. 構成情報が選択する回路ブロックの変更の過程を説明する図である。It is a figure explaining the process of the change of the circuit block which configuration information selects. 生成される回路ブロック選択リストを例示的に示す図である。It is a figure which shows the generated circuit block selection list by way of example. 生成される優先度リストを例示的に示す図である。It is a figure which shows the priority list produced | generated illustratively. データフローの変更を例示的に示す図である。It is a figure which shows the change of a data flow as an example. データフローの変更を例示的に示す図である。It is a figure which shows the change of a data flow as an example. 変形例に係るデータ処理装置の全体構成を示す図である。It is a figure which shows the whole structure of the data processor which concerns on a modification. 第2実施形態に係る演算処理割り当て部の内部構成を示す図である。It is a figure which shows the internal structure of the arithmetic processing allocation part which concerns on 2nd Embodiment. 構成情報生成部の内部構成を示す図である。It is a figure which shows the internal structure of a structure information generation part. 電源切り替え回数算出部の内部構成を示す図である。It is a figure which shows the internal structure of the power supply switching frequency calculation part. 回路ブロック優先度設定部の内部構成を示す図である。It is a figure which shows the internal structure of a circuit block priority setting part.

以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。   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 dynamic reconfiguration circuit 106 that is an array type arithmetic apparatus will be described below as an example. In particular, an operation for generating configuration information that reduces the number of times of power supply switching in a circuit block in the dynamic reconfiguration circuit 106 will be described.

<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 data processing apparatus 100 according to the first embodiment. The data processing apparatus 100 includes a dynamic reconfiguration circuit 106, an operation processing allocation unit 105, and a power supply control unit 103. As will be described below, the data processing apparatus 100 performs processing using the dynamic reconfiguration circuit 106 based on configuration information 108 input from the outside. The configuration information 108 is generated by a configuration information generation device 1100 described later.

動的再構成回路106は、少なくとも1つの演算要素101を含む複数の回路ブロック102からなる。各演算要素101と各ルータ104は信号線111によって一方向に接続されている。信号線111は、図1に示すように回路ブロック102ごとに設けられる。   The dynamic reconfiguration circuit 106 includes a plurality of circuit blocks 102 including at least one arithmetic element 101. Each computing element 101 and each router 104 are connected in one direction by a signal line 111. The signal line 111 is provided for each circuit block 102 as shown in FIG.

回路ブロック102は、演算要素101とルータ104を含むブロックである。回路ブロック102には、電源回路ブロック(不図示)から電源スイッチ107を介して電源電圧VDDが供給されている。各々の回路ブロック102は、個別に電源制御可能(電源遮断と電源供給の切り替え)に構成されている。各々の回路ブロック102には、電源遮断と電源供給を切り替えるための電源スイッチ107を接続する。   The circuit block 102 is a block including the arithmetic element 101 and the router 104. The circuit block 102 is supplied with a power supply voltage VDD via a power switch 107 from a power supply circuit block (not shown). Each circuit block 102 is configured to be individually controllable (power cutoff and power supply switching). Each circuit block 102 is connected with a power switch 107 for switching between power shutdown and power supply.

演算処理割り当て部105は、構成情報108を取得して、信号線114を介して電源制御部103に回路ブロックの情報を送信する。なお、ここで述べる演算処理の割り当てとは、処理と当該処理を実行する構成要素(演算要素やとルータ)とを関連付けることを意味する。ここでは、各構成要素(演算要素やルータ)の内部に構成情報内の設定値を書き込むことで、構成要素への処理の割り当てを実施する。   The arithmetic processing assigning unit 105 acquires the configuration information 108 and transmits circuit block information to the power supply control unit 103 via the signal line 114. Note that the assignment of the arithmetic processing described here means associating the processing with a component (the arithmetic element and the router) that executes the processing. Here, the setting value in the configuration information is written inside each component (calculation element or router), thereby assigning the process to the component.

また、演算処理割り当て部105は、信号線111を介して構成情報108を各回路ブロック102へパラレルに送信した後、次に使用する構成情報108を受信する。また、演算処理割り当て部105は、構成情報108の送信後、信号線117を介して演算要素101へ演算処理の開始を指示する信号を送信する。演算処理割り当て部105は、演算要素101が演算処理を完了したときに、信号線112を介して処理完了を通知する信号を受信する。ここでは、演算処理割り当て部105から各演算要素101へパラレルに演算処理の開始を指示する信号を送信するため、信号線117は、演算要素101の数と同数だけ設けられる。また、演算処理割り当て部105は、各演算要素101からパラレルに処理完了を通知する信号を受信するため、信号線112についても演算要素101の数と同数だけ設けられる。   The arithmetic processing assignment unit 105 transmits the configuration information 108 to each circuit block 102 in parallel via the signal line 111 and then receives the configuration information 108 to be used next. In addition, after the transmission of the configuration information 108, the arithmetic processing assignment unit 105 transmits a signal instructing the arithmetic element 101 to start arithmetic processing via the signal line 117. The arithmetic processing allocation unit 105 receives a signal notifying the completion of processing via the signal line 112 when the arithmetic element 101 completes the arithmetic processing. Here, in order to transmit a signal instructing the start of the arithmetic processing from the arithmetic processing assigning unit 105 to each arithmetic element 101 in parallel, the same number of signal lines 117 as the number of arithmetic elements 101 are provided. In addition, since the arithmetic processing assignment unit 105 receives a signal for notifying the completion of processing in parallel from each arithmetic element 101, the same number of arithmetic elements 101 are provided for the signal lines 112.

電源制御部103は、演算処理割り当て部105から回路ブロック情報を受信し、信号線110を介して電源スイッチ107のオン・オフを切り替える。また、電源制御部103は、信号線113を介して演算処理割り当て部105に電源スイッチの切り替えが完了したことを通知する。   The power control unit 103 receives circuit block information from the arithmetic processing allocation unit 105 and switches the power switch 107 on and off via the signal line 110. In addition, the power control unit 103 notifies the arithmetic processing allocation unit 105 that the switching of the power switch has been completed via the signal line 113.

図2は、回路ブロック102の内部構成を示す図である。演算要素101は、4系統の入力部と出力部を持ち、ルータ104は8系統の入力部と出力部を持つ。   FIG. 2 is a diagram illustrating an internal configuration of the circuit block 102. The calculation element 101 has four input units and output units, and the router 104 has eight input units and output units.

演算要素101は、信号線201〜208によって、ルータと接続されている。演算要素101は、データ入力用の信号線201〜204から供給されるデータを処理し、データ出力用の信号線205〜208から処理データを出力する処理部である。演算要素101は、演算処理割り当て部105から信号線117を介して演算処理の開始を指示する信号を受信する。演算要素101は処理が完了した後、信号線112を介して演算処理割り当て部105に処理完了を通知する信号を送信する。   The arithmetic element 101 is connected to the router by signal lines 201-208. The arithmetic element 101 is a processing unit that processes data supplied from the data input signal lines 201 to 204 and outputs processing data from the data output signal lines 205 to 208. The arithmetic element 101 receives a signal instructing the start of arithmetic processing from the arithmetic processing allocation unit 105 via the signal line 117. After the processing is completed, the arithmetic element 101 transmits a signal notifying the processing completion to the arithmetic processing assigning unit 105 via the signal line 112.

ルータ104は、回路ブロック内で隣接する他のルータと信号線209〜216で接続されている。信号線210、211、213、215は、ルータ104が、隣接する他のルータからデータを受信するための信号線である。一方、信号線209、212、214、216は、ルータ104が、隣接する他のルータへデータを送信するための信号線である。   The router 104 is connected to other routers adjacent in the circuit block by signal lines 209 to 216. Signal lines 210, 211, 213, and 215 are signal lines for the router 104 to receive data from other adjacent routers. On the other hand, signal lines 209, 212, 214, and 216 are signal lines for the router 104 to transmit data to other adjacent routers.

図3は、演算要素101の内部構成の一例を示す図である。演算要素101は、構成情報設定部301、構成情報記憶部302、演算処理部303、データ入力部304、データ出力部305で構成される。   FIG. 3 is a diagram illustrating an example of the internal configuration of the calculation element 101. The calculation element 101 includes a configuration information setting unit 301, a configuration information storage unit 302, a calculation processing unit 303, a data input unit 304, and a data output unit 305.

構成情報設定部301は、信号線111を介して構成情報108を受信する。また、構成情報設定部301は、信号線306を介してデータ入力部304へ入力の切り替えのための設定値を送信する。また、構成情報設定部301は、信号線307を介して演算処理部303へ処理の内容を決めるための設定値を送信する。更に、構成情報設定部301は、信号線308を介してデータ出力部305へ出力の切り替えのための設定値を送信する。   The configuration information setting unit 301 receives the configuration information 108 via the signal line 111. In addition, the configuration information setting unit 301 transmits a setting value for switching the input to the data input unit 304 via the signal line 306. In addition, the configuration information setting unit 301 transmits a setting value for determining the processing content to the arithmetic processing unit 303 via the signal line 307. Further, the configuration information setting unit 301 transmits a setting value for switching output to the data output unit 305 via the signal line 308.

図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 router 104. The router 104 includes a configuration information setting unit 401, a configuration information storage unit 402, and an input / output switching unit 403. The configuration information setting unit 401 receives the configuration information 108 via the signal line 111. The configuration information setting unit 401 transmits a setting value for switching input / output to the input / output switching unit 403 via the signal line 404.

図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 configuration information 108. This configuration information 108 defines the dynamic configuration of the data processing apparatus 100. The configuration information 108 is information including setting data 501 for the calculation element and setting data 502 for the router. Here, a case is shown in which there are X computation element setting data 501 and Y router setting data 502. That is, the configuration information 108 in FIG. 5 is data including settings for X computing elements and Y routers. FIG. 5 shows an example in which the configuration information for one component (arithmetic element or router) is N-bit binary data.

図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 data 501 for the calculation element and the setting data 502 for the router. The setting data includes an identification number (ID) 601, an address 602, and a setting value 603.

ID601は、それぞれの演算要素またはルータに固有に設定されている識別番号である。アドレス602は、各演算要素、またはルータの内部にある構成情報記憶部302、402に設定値603を書き込むときに、構成情報記憶部302、402の書き込み領域を指定するものである。設定値603は、演算要素101とルータ104の動作を設定する値である。   The ID 601 is an identification number that is uniquely set for each computation element or router. The address 602 designates a writing area of the configuration information storage units 302 and 402 when the setting value 603 is written to each calculation element or the configuration information storage units 302 and 402 inside the router. A setting value 603 is a value for setting the operation of the computing element 101 and the router 104.

図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 processing assignment unit 105. The arithmetic processing assigning unit 105 includes a configuration information receiving unit 701, a configuration information transmitting unit 702, an ID determining unit 703, and a circuit block determining unit 704. The configuration information receiving unit 701 transmits an instruction to read the configuration information 108 via the signal line 115 and receives the configuration information 108 via the signal line 116. Thereafter, the configuration information receiving unit 701 transmits the configuration information 108 to the ID determining unit 703 and the configuration information transmitting unit 702.

ID判別部703は、構成情報受信部701から構成情報108を受信して、ID601を回路ブロック判別部704に送信する。回路ブロック判別部704は、ID判別部703からID601を受信して、信号線114を介して回路ブロック情報を出力する。回路ブロック判別部704は、例えば、ID601と回路ブロックを関連付けるテーブルを内部に備える構成とすれば良い。   The ID determination unit 703 receives the configuration information 108 from the configuration information reception unit 701 and transmits the ID 601 to the circuit block determination unit 704. The circuit block determination unit 704 receives the ID 601 from the ID determination unit 703 and outputs circuit block information via the signal line 114. For example, the circuit block determination unit 704 may be configured to internally include a table that associates the ID 601 with the circuit block.

構成情報送信部702は、信号線113を介して電源スイッチの切り替えが完了したことを通知された後、構成情報受信部701から構成情報108を受信する。その後、構成情報送信部702は、信号線111を介して構成情報108を動的再構成回路106に送信する。また、構成情報送信部702は、信号線111を介して回路ブロック内を一巡してきた構成情報108を受信する。更に、構成情報送信部702は、信号線117を介して各演算要素101へ演算処理の開始を指示する信号を送信し、信号線112を介して各演算要素101から演算処理の完了を通知する信号を受信する。   The configuration information transmitting unit 702 receives the configuration information 108 from the configuration information receiving unit 701 after being notified that the switching of the power switch is completed via the signal line 113. Thereafter, the configuration information transmission unit 702 transmits the configuration information 108 to the dynamic reconfiguration circuit 106 via the signal line 111. Further, the configuration information transmitting unit 702 receives the configuration information 108 that has made a round in the circuit block via the signal line 111. Further, the configuration information transmission unit 702 transmits a signal instructing the start of the arithmetic processing to each arithmetic element 101 via the signal line 117, and notifies the completion of the arithmetic processing from each arithmetic element 101 via the signal line 112. Receive a signal.

図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 block determination unit 704. The circuit block determination unit 704 includes an ID information storage unit 801, an ID comparison unit 810, registers 802, 803, 805, and 806, OR circuits 811 and 812, and a circuit block information transmission unit 809.

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 information storage unit 801 is a unit that stores an ID set in each computation element or router. For example, the ID information storage unit 801 may be implemented by a ROM and ID information may be stored in advance. The ID comparison unit 810 receives the ID 601 transmitted via the signal line 707 and compares it with the ID stored in the ID information storage unit 801. The ID comparison unit 810 transmits the comparison result to the registers 805 and 806. As many ID comparison units 810 as the number of operation elements and routers in the dynamic reconfiguration circuit 106 are arranged. Here, as a result of comparison, if the IDs match, a logical value “1” is output as a comparison result, and if they do not match, a logical value “0” is output as a comparison result.

レジスタ805、806は、ID比較部810から送信された比較結果を保持する。各々のレジスタは、信号線804でID比較部810と一対一に接続される。レジスタ805は、第1の回路ブロックに属する演算要素とルータに対応し、レジスタ806は、第2の回路ブロックに属する演算要素とルータに対応する。つまり、レジスタ805、806の値は、構成情報108によってどの演算要素、ルータが選択されるかを示している。   The registers 805 and 806 hold the comparison result transmitted from the ID comparison unit 810. Each register is connected to the ID comparison unit 810 on a one-to-one basis through a signal line 804. The register 805 corresponds to the arithmetic element and router belonging to the first circuit block, and the register 806 corresponds to the arithmetic element and router belonging to the second circuit block. That is, the values of the registers 805 and 806 indicate which calculation element and router are selected by the configuration information 108.

OR回路811は、レジスタ805に格納されている値の論理和をとり、その結果をレジスタ802に送信する。また、OR回路812は、レジスタ806に格納されている値の論理和をとった結果をレジスタ803に送信する。つまり、レジスタ802、803の値は、構成情報108によってどの回路ブロックが選択されるかを示す。レジスタ802は、OR回路811、812から送信された値を保持した後、その値を回路ブロック情報送信部809に送信する。   The OR circuit 811 calculates the logical sum of the values stored in the register 805 and transmits the result to the register 802. In addition, the OR circuit 812 transmits a result obtained by calculating a logical sum of the values stored in the register 806 to the register 803. That is, the values of the registers 802 and 803 indicate which circuit block is selected by the configuration information 108. The register 802 holds the values transmitted from the OR circuits 811 and 812, and then transmits the values to the circuit block information transmission unit 809.

回路ブロック情報送信部809は、レジスタ802、803から設定値を受信して、信号線114に送信する。ここでは、配線を少なくするために、設定値を送信するときにレジスタ802、803から受信した設定値をシリアライズして送信する。ただし、実装が可能であればレジスタ802、803から受信した設定値をパラレルに送信するよう構成しても良い。   The circuit block information transmission unit 809 receives setting values from the registers 802 and 803 and transmits them to the signal line 114. Here, in order to reduce wiring, the setting values received from the registers 802 and 803 are serialized and transmitted when transmitting the setting values. However, the setting values received from the registers 802 and 803 may be transmitted in parallel if implementation is possible.

演算処理割り当て部や回路ブロック判別部の構成は、図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 information receiving unit 701 to the circuit block determining unit 704 without including the ID determining unit 703. It ’s fine.

<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 semiconductor device 908 equipped with the data processing apparatus 100 according to the first embodiment. The semiconductor device 908 includes a reconfiguration device 900 and an external memory 905. The reconfiguration device 900 includes a data processing apparatus 100, a CPU 901, a bus 902, an interface (I / F) 903, and an input / output unit (I / O) 904.

CPU901は、再構成デバイス全体の制御を司る。メモリ905は、構成情報108、ブートプログラム、OS(オペレーティングシステム)、アプリケーションを格納するためのメモリ(ROM/RAM)である。   The CPU 901 controls the entire reconfigurable device. A memory 905 is a memory (ROM / RAM) for storing configuration information 108, a boot program, an OS (operating system), and applications.

図10は、外部メモリ905における構成情報の配置の一例を示す図である。ここでは、各構成情報が、構成情報の切り替え順に従って、外部メモリ905の上位アドレスから順番に格納されている。   FIG. 10 is a diagram illustrating an example of arrangement of configuration information in the external memory 905. Here, each piece of configuration information is stored in order from the upper address of the external memory 905 according to the switching order of the configuration information.

すなわち、構成情報1001は第1のデータ処理を実現するための第1の構成情報であり、構成情報1002は第2のデータ処理を実現するための第2の構成情報である。ここでは、第1の構成情報1001は、第1のアドレス領域1003に保持され、第2の構成情報1002は、第2のアドレス領域1004に保持される。   That is, the configuration information 1001 is first configuration information for realizing the first data processing, and the configuration information 1002 is second configuration information for realizing the second data processing. Here, the first configuration information 1001 is stored in the first address area 1003, and the second configuration information 1002 is stored in the second address area 1004.

I/F903は外部メモリ907と通信するインタフェースである。I/O904は再構成デバイス900が構成情報108や処理対象となるデータ(画像データ等)を入出力するためのインタフェースである。I/F903は、CPU901、データ処理装置100、I/F903、I/O904との間で通信をするためのバスである。   An I / F 903 is an interface that communicates with the external memory 907. An I / O 904 is an interface for the reconstruction device 900 to input / output the configuration information 108 and data to be processed (image data or the like). The I / F 903 is a bus for communicating with the CPU 901, the data processing apparatus 100, the I / F 903, and the I / O 904.

<1.3.構成情報生成装置の構成>
図11は、半導体装置に供給する構成情報を生成する構成情報生成装置1100のブロック構成を示す図である。
<1.3. Configuration of Configuration Information Generation Device>
FIG. 11 is a diagram illustrating a block configuration of a configuration information generation apparatus 1100 that generates configuration information to be supplied to a semiconductor device.

CPU1101は装置全体の制御を司る。ROM1102はブートプログラムやBIOSを記憶し、RAM1103はCPU1101のワークエリアとして利用され、且つ、OS、アプリケーションを格納する。ハードディスクドライブ(HDD)1104はOS、構成情報108を作成するためのアプリケーション、ならびに、様々なデータを格納するための記憶部である。   The CPU 1101 controls the entire apparatus. A ROM 1102 stores a boot program and BIOS, and a RAM 1103 is used as a work area of the CPU 1101 and stores an OS and applications. A hard disk drive (HDD) 1104 is an OS, an application for creating the configuration information 108, and a storage unit for storing various data.

キーボード1105及びマウス1106はユーザインタフェースとして機能する。表示制御部1107は内部にビデオメモリ及び表示コントローラを内蔵する。表示装置1108は、表示制御部1007からの映像信号を受信し表示する。1109は各種外部デバイスと通信するインタフェースであり、例えば、図11に示した外部メモリ1110を接続することで、構成情報生成装置1100が作成した構成情報108をその外部メモリ1110に書込むことになる。   A keyboard 1105 and a mouse 1106 function as a user interface. The display control unit 1107 includes a video memory and a display controller. The display device 1108 receives the video signal from the display control unit 1007 and displays it. Reference numeral 1109 denotes an interface that communicates with various external devices. For example, by connecting the external memory 1110 illustrated in FIG. 11, the configuration information 108 created by the configuration information generation apparatus 1100 is written into the external memory 1110. .

<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 processing assignment unit 105 will be described. The configuration information receiving unit 701 requests the external memory 905 to read the configuration information 108 and receives the configuration information 1008 from the external memory 905 via the bus 902. After receiving the configuration information 108, the circuit block determination unit 704 determines a circuit block corresponding to the ID 601 by referring to a table that associates the ID 601 and the circuit block provided in the circuit block determination unit 704. Thereafter, the circuit block determination unit 704 transmits information about the determined circuit block to the power supply control unit 103.

構成情報送信部702は、電源制御部103から電源スイッチ107の切り替えが完了したことを検知すると、構成情報108を回路ブロック102に送信する。例えば、構成情報送信部702は、構成情報108を、図6に示したデータを単位として(つまりNビットを単位として)送信し、データを送信した回数を構成情報送信部702の内部でカウントして値を保持する。また、例えば、構成情報送信部702は、信号線111を介して、図6に示したデータを単位として構成情報108を受信する。構成情報送信部702は、構成情報108を受信した回数を構成情報送信部702の内部でカウントして値を保持する。   When the configuration information transmission unit 702 detects that the switching of the power switch 107 is completed from the power control unit 103, the configuration information transmission unit 702 transmits the configuration information 108 to the circuit block 102. For example, the configuration information transmission unit 702 transmits the configuration information 108 in units of data shown in FIG. 6 (that is, in units of N bits), and counts the number of times the data has been transmitted within the configuration information transmission unit 702. Hold the value. Further, for example, the configuration information transmission unit 702 receives the configuration information 108 in units of data illustrated in FIG. 6 via the signal line 111. The configuration information transmission unit 702 counts the number of times the configuration information 108 has been received within the configuration information transmission unit 702 and holds the value.

構成情報送信部702は内部で保持している送信回数をカウントした値と、受信回数をカウントした値とを比較して、値が一致したときに構成情報108の送信が完了したことを検知する。つまり、構成情報送信部702は、構成情報108を送信した回数と構成情報108を受信した回数とが一致したときに、構成情報108の送信が完了したことを検知する。構成情報送信部702は、構成情報108の送信が完了したことを検知したときに、演算要素101へ演算処理の開始を指示する。   The configuration information transmission unit 702 compares the internally counted value of the number of transmissions with the value of the number of receptions, and detects that the transmission of the configuration information 108 is complete when the values match. . That is, the configuration information transmission unit 702 detects that the transmission of the configuration information 108 is completed when the number of times the configuration information 108 is transmitted matches the number of times the configuration information 108 is received. When the configuration information transmission unit 702 detects that the transmission of the configuration information 108 is completed, the configuration information transmission unit 702 instructs the calculation element 101 to start the calculation process.

更に、構成情報送信部702は、演算要素101から処理完了の通知を受信して、処理完了の通知が演算処理を割り当てた全ての演算要素101から送信されたかを判別して、データ処理が完了したことを検知する。その後、構成情報受信部701は、外部メモリ905へ次の構成情報108の読み出しの要求をして、バス902を介して外部メモリ905から次の構成情報108を受信する。   Further, the configuration information transmission unit 702 receives the process completion notification from the calculation element 101, determines whether the process completion notification has been transmitted from all the calculation elements 101 assigned the calculation process, and completes the data processing. Detecting that After that, the configuration information receiving unit 701 requests the external memory 905 to read the next configuration information 108 and receives the next configuration information 108 from the external memory 905 via the bus 902.

次に、電源制御部103の動作を説明する。電源制御部103は、演算処理割り当て部105から回路ブロックの情報を受信した後、電源供給または電源遮断が必要な回路ブロックを判別して、電源供給が必要な回路ブロックに接続された電源スイッチ107をオフからオンへ切り替える。   Next, the operation of the power control unit 103 will be described. After receiving the circuit block information from the arithmetic processing assigning unit 105, the power control unit 103 determines a circuit block that requires power supply or power shutoff, and a power switch 107 connected to the circuit block that requires power supply. Switch from off to on.

電源制御部103は、電源スイッチ107をオフからオンへ切り替えた後、所定の時間が経過したとき、信号線113を介して演算処理割り当て部105に電源スイッチの切り替えが完了したことを通知する。当該所定の時間は、例えば回路ブロックの電圧が一定のレベルに到達する時間として設定される。また、電源制御部103は、電源遮断をする回路ブロックに接続された電源スイッチ107をオンからオフへ切り替える。   The power supply control unit 103 notifies the arithmetic processing assignment unit 105 that the switching of the power switch is completed via the signal line 113 when a predetermined time has elapsed after switching the power switch 107 from OFF to ON. The predetermined time is set, for example, as the time for the circuit block voltage to reach a certain level. In addition, the power control unit 103 switches the power switch 107 connected to the circuit block that shuts off the power from on to off.

次に、図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 arithmetic element 101 receives the configuration information 108 transmitted via the signal line 111. Thereafter, the configuration information setting unit 301 inside the calculation element 101 determines whether the ID 601 of the configuration information 108 matches the ID set for itself (the calculation element 101).

IDが一致した場合、構成情報設定部301は構成情報108で指定されているアドレスにしたがって、演算要素101の内部の構成情報記憶部302に構成情報108の設定値603の書き込みをおこなう。一方、IDが一致しない場合、構成情報設定部301は構成情報108を信号線111に出力する。   When the IDs match, the configuration information setting unit 301 writes the setting value 603 of the configuration information 108 to the configuration information storage unit 302 inside the calculation element 101 according to the address specified by the configuration information 108. On the other hand, if the IDs do not match, the configuration information setting unit 301 outputs the configuration information 108 to the signal line 111.

演算要素101の内部の構成情報設定部301は、上記書き込みが完了した後に、データ入力部304、データ出力部305、演算処理部303に設定値603を送信する。その後、データ入力部304の入力の切り替え、データ出力部305の出力の切り替え、演算処理部303の処理設定が完了する。この処理設定によって、データ入力部304が信号線201〜204のうち、どの信号線からデータを入力するかが設定される。また、データ出力部305が信号線205〜208のうち、どの信号線からデータを出力するかが設定される。   The configuration information setting unit 301 inside the calculation element 101 transmits the setting value 603 to the data input unit 304, the data output unit 305, and the calculation processing unit 303 after the completion of the writing. Thereafter, the input switching of the data input unit 304, the output switching of the data output unit 305, and the processing setting of the arithmetic processing unit 303 are completed. With this processing setting, it is set from which signal line the data input unit 304 inputs data among the signal lines 201 to 204. In addition, it is set which signal line the data output unit 305 outputs from among the signal lines 205 to 208.

構成情報108の送信が完了した後、各演算要素は処理対象となるデータ(画像データ等)に対する演算処理を開始する。各演算要素は演算処理が完了すると、演算処理割り当て部105に処理完了を通知する。   After the transmission of the configuration information 108 is completed, each calculation element starts a calculation process for data to be processed (image data or the like). When the calculation process is completed, each calculation element notifies the calculation process assignment unit 105 of the completion of the process.

ルータ104は、信号線111を介して送信された構成情報108を受信する。その後、ルータ104の内部の構成情報設定部401は、構成情報108のID601がルータ104に設定されているIDと一致するか判別する。   The router 104 receives the configuration information 108 transmitted via the signal line 111. Thereafter, the configuration information setting unit 401 inside the router 104 determines whether the ID 601 of the configuration information 108 matches the ID set in the router 104.

IDが一致した場合、構成情報設定部401は構成情報108で指定されているアドレスにしたがって、ルータ104の内部の構成情報記憶部402に構成情報108の設定値603の書き込みをおこなう。一方、IDが一致しない場合、構成情報設定部401は第1の構成情報108を信号線111に出力する。   When the IDs match, the configuration information setting unit 401 writes the setting value 603 of the configuration information 108 to the configuration information storage unit 402 inside the router 104 according to the address specified by the configuration information 108. On the other hand, if the IDs do not match, the configuration information setting unit 401 outputs the first configuration information 108 to the signal line 111.

構成情報設定部401は、上記書き込みが完了した後に、入出力切り替え部403に設定値603を送信する。その後、入出力切り替え部403の入出力の切り替えがおこなわれる。   The configuration information setting unit 401 transmits the setting value 603 to the input / output switching unit 403 after the writing is completed. Thereafter, input / output switching of the input / output switching unit 403 is performed.

この設定値によって、入出力切り替え部403が、信号線208〜215のいずれかの信号線からデータを入力して、信号線204、216〜222のいずれかの信号線からデータを出力するかが設定される。例えば、信号線208からデータを入力して、入力したデータを信号線222から出力するという設定をする。   Whether the input / output switching unit 403 inputs data from any one of the signal lines 208 to 215 and outputs data from any one of the signal lines 204 and 216 to 222 according to the set value. Is set. For example, the setting is made such that data is input from the signal line 208 and the input data is output from the signal line 222.

<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 semiconductor device 908 is powered on, the CPU 901 executes a boot program stored in the external memory 905 to start up the semiconductor device 908. Next, the CPU 901 reads the configuration information 108 from the I / O 904 and instructs the external memory 905 to store the configuration information 108. After storing the configuration information 108 in the external memory 905, the CPU 901 instructs the data processing apparatus 100 to read the configuration information 108.

データ処理装置100は、外部メモリ905へ構成情報108の読み出しの要求をして、バス902を介して外部メモリ905から構成情報108を受信する。例えば、構成情報108は、第1の構成情報、第2の構成情報という順番で読み込まれる。   The data processing apparatus 100 requests the external memory 905 to read the configuration information 108 and receives the configuration information 108 from the external memory 905 via the bus 902. For example, the configuration information 108 is read in the order of first configuration information and second configuration information.

以降、データ処理装置100の内部で、構成情報108に沿った処理の割り当てがおこなわれる。処理の割り当てが完了した後、I/O904から処理対象データが入力され、データ処理装置100の内部でデータ処理が実行される。データ処理装置100は、複数の構成情報を順番に読み込んでいき、動的再構成回路106の動作を切り替える。   Thereafter, processing is allocated in accordance with the configuration information 108 within the data processing apparatus 100. After the processing assignment is completed, processing target data is input from the I / O 904 and data processing is executed inside the data processing apparatus 100. The data processing device 100 reads a plurality of pieces of configuration information in order, and switches the operation of the dynamic reconfiguration circuit 106.

<2.3.構成情報生成装置の動作>
構成情報生成装置1100に電源が投入されると、CPU1101はROM1102に格納されたブートプログラムを実行し、HDD1104に格納されたOSをRAMにロードする。その後、構成情報108を作成するアプリケーションを起動することで、構成情報作成装置として機能することになる。
<2.3. Operation of Configuration Information Generation Device>
When the configuration information generating apparatus 1100 is powered on, the CPU 1101 executes the boot program stored in the ROM 1102 and loads the OS stored in the HDD 1104 into the RAM. After that, by starting an application for creating the configuration information 108, it functions as a configuration information creation device.

構成情報生成装置1100で作成した構成情報108は、例えば、半導体装置908の外部メモリ905に書き込まれる。このとき、例えば、I/O904を介して構成情報108を半導体装置908に入力する。   The configuration information 108 created by the configuration information generation apparatus 1100 is written into the external memory 905 of the semiconductor device 908, for example. At this time, for example, the configuration information 108 is input to the semiconductor device 908 via the I / O 904.

以下では、構成情報生成装置1100で構成情報108を生成するときの処理の説明をする。構成情報生成装置1100は、構成情報108を作成するアプリケーションを起動した後、アプリケーションの処理をCPU1101内で実行する。   Hereinafter, a process when the configuration information generation apparatus 1100 generates the configuration information 108 will be described. The configuration information generation apparatus 1100 executes an application process in the CPU 1101 after starting an application that creates the configuration information 108.

ユーザはキーボード、マウスによってデータ処理情報を入力する。例えば、データ処理情報として、データ処理の内容が記述されたプログラムなどを入力する。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 CPU 1101 acquires data processing information input by a user operation and stores it in the RAM 1103. Thereafter, the CPU 1101 reads the data processing information stored in the RAM 1103 and executes processing for generating configuration information.

なお、構成情報生成装置1100は、最初に構成情報を生成するときにデータ処理情報を用いて演算要素101への処理のマッピングをおこなう。ただし、構成情報生成装置1100は、マッピングが実行された後に生成した最初の構成情報を基にして、構成情報を再生成(修正)する。特に、第1実施形態では、各々の構成情報で選択される回路ブロックを判別し、回路ブロックに対する電源の切り替え回数が少なくなるように、各々の構成情報で選択される回路ブロック102を再選択して、修正後の構成情報を生成する。   Note that the configuration information generation apparatus 1100 performs mapping of processing to the computation element 101 using data processing information when generating configuration information for the first time. However, the configuration information generation apparatus 1100 regenerates (corrects) the configuration information based on the first configuration information generated after the mapping is executed. In particular, in the first embodiment, the circuit block selected by each configuration information is discriminated, and the circuit block 102 selected by each configuration information is reselected so that the number of times of power supply switching to the circuit block is reduced. The corrected configuration information is generated.

ここでは、データ処理装置100が、第1の構成情報→第2の構成情報→第3の構成情報といった順番で複数の構成情報を次々に読み込んで処理動作を切り替えていく場合を例に挙げて説明する。特に、ここでは、電源のオンとオフの切り替えが最少になるような構成情報を再生成する手法を説明する。   Here, as an example, the data processing apparatus 100 reads a plurality of configuration information one after another in the order of first configuration information → second configuration information → third configuration information and switches processing operations. explain. In particular, here, a method for regenerating configuration information that minimizes the switching of power on and off will be described.

図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 CPU 1101 executing an application. Here, an example will be described in which three pieces of configuration information generated first are processed to generate one piece of corrected configuration information. Specifically, first, the corrected second configuration information is generated based on the original first to third configuration information that are used continuously. Next, processing is executed using the second to fourth configuration information (the corrected second configuration information and the original third to fourth configuration information), and the corrected third configuration information is obtained. Generate. Thereafter, the same processing is repeated to generate each piece of configuration information.

ステップ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 value 603 of the calculation element 101 and router 104 of each configuration information are changed, and the configuration information is output. To do. That is, the ID setting of the (K + 1) th configuration information is changed to the IDs of the computing element 101 and the router 104 in the circuit block set in step S1307. Also, when changing the data flow, the input / output setting values of the computing element 101 of the (K + 1) th configuration information and the router 104 are changed so that the input / output setting is in line with the data flow. The change of the setting value when changing the data flow will be described later with reference to FIGS.

また上述の説明では、最初に生成した構成情報を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 block selection list 1501 generated during the execution of the processing of FIG.

なお、リスト1501は、回路ブロックが構成情報によって選択されているかどうかを示すリストである。左端のカラムは回路ブロックID、第1〜第3のカラムは回路ブロックが構成情報によって選択されているかどうかを示す。ここでは、構成情報によって回路ブロックが選択されている場合は値を”1”とし、回路ブロックが選択されていない場合は値を”0”とする。リスト1501は、ステップS1302の処理が完了した時点では空の状態である。   The list 1501 is a list indicating whether or not a circuit block is selected by configuration information. The leftmost column indicates the circuit block ID, and the first to third columns indicate whether the circuit block is selected by the configuration information. Here, the value is “1” when the circuit block is selected according to the configuration information, and the value is “0” when the circuit block is not selected. The list 1501 is empty when the process of step S1302 is completed.

ステップ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 list 1501 in FIG. 15 is arbitrarily selected.

ステップ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 list 1501 includes setting values for all circuit blocks. As a result of the determination, if the list 1501 does not include setting values for all circuit blocks, the process returns to step S1402. On the other hand, as a result of the determination, if all the circuit blocks are included in the list 1501, the process proceeds to step S1408.

ステップ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 priority setting list 1801 generated by the processing of FIG.

リスト1801の左側は回路ブロックのIDを示し、右側は各回路ブロックの優先度の設定を示す。この設定は、例えば優先度が低い方から高い方に順に1、2、3という値を設定する。リスト1801は、ステップS1306の処理が完了した時点では空の状態である。   The left side of the list 1801 indicates the ID of the circuit block, and the right side indicates the priority setting of each circuit block. In this setting, for example, values 1, 2, and 3 are set in order from the lowest priority to the highest priority. The list 1801 is empty when the process of step S1306 is completed.

ステップ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 list 1801 is specified. In step S1702, it is determined whether the circuit block specified in step S1701 is a circuit block selected in common in the Kth configuration information and the K + 2nd configuration information. If the circuit block is selected in common in the Kth configuration information and the K + 2nd configuration information, the process proceeds to step S1703. If the circuit block is not selected in common in the Kth configuration information and the K + 2nd configuration information, the process proceeds to step S1705.

ステップ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 list 1801 is set to a selectable state. In step S1903, one of the circuit blocks selected in step S1902 is selected and added to the number n of circuit blocks.

ステップ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 CPU 1101 generates the configuration information 108 so that the number of power supply switching operations is reduced. The generated configuration information 108 is read into the data processing apparatus 100 and used for setting the calculation elements and routers inside the data processing apparatus 100.

なお、ステップ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 computing element 101 and the router 104 to be used are determined, and the data transfer route between the computing element 101 and the router 104 is searched to reconstruct the data flow. You can also take a technique.

<3.生成された構成情報に基づくデータ処理装置の動作例>
データ処理装置100が外部メモリ905から構成情報108を取得し、構成情報108に沿って演算処理を回路ブロック102に割り当てるまでの一連の動作を説明する。
<3. Operation Example of Data Processing Device Based on Generated Configuration Information>
A series of operations until the data processing apparatus 100 acquires the configuration information 108 from the external memory 905 and allocates arithmetic processing to the circuit block 102 along the configuration information 108 will be described.

データ処理装置100は、CPU901から構成情報108の読み出しの指示を受けた後、構成情報108の読み出し、構成情報108よって選択される回路ブロックの判別、電源制御部103による電源切り替えを実行する。その後、データ処理装置100は、回路ブロック102への構成情報108の送信をして、演算要素とルータの動作を設定する。   After receiving an instruction to read the configuration information 108 from the CPU 901, the data processing apparatus 100 reads the configuration information 108, determines a circuit block selected by the configuration information 108, and performs power source switching by the power control unit 103. Thereafter, the data processing apparatus 100 transmits the configuration information 108 to the circuit block 102 to set the operation of the arithmetic element and the router.

上記の動作が完了した後、データ処理装置100は演算処理を開始する。実行中の演算処理が完了すると、次の処理で使用する構成情報を外部メモリ905から読み出して、同様の動作を繰り返して次の演算処理を実行する。このようにして、データ処理装置100は、構成情報を順番に読み込み、構成情報108に沿って演算処理を回路ブロック102に割り当て、演算処理を実行する。   After the above operation is completed, the data processing apparatus 100 starts arithmetic processing. When the operation process being executed is completed, the configuration information used in the next process is read from the external memory 905, and the same operation is repeated to execute the next operation process. In this way, the data processing apparatus 100 reads the configuration information in order, assigns arithmetic processing to the circuit block 102 along the configuration information 108, and executes the arithmetic processing.

図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 data processing apparatus 100 includes four circuit blocks is illustrated.

処理状態2000aは、データ処理装置100を起動後、演算処理割り当て部105が外部メモリ905から第1の構成情報1001を取得して、第1の構成情報1001が選択している回路ブロックを判別するまでの状態を示している。   In the processing state 2000a, after the data processing apparatus 100 is activated, the arithmetic processing assignment unit 105 acquires the first configuration information 1001 from the external memory 905, and determines the circuit block selected by the first configuration information 1001. The state until is shown.

回路ブロック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 external memory 905 stores first configuration information 1001 and second configuration information 1002. The data processing apparatus 100 reads the first configuration information 1001 and the second configuration information 1002 in order, and switches the configuration of the dynamic reconfiguration circuit 106.

最初に、演算処理割り当て部105は、外部メモリ905から第1の構成情報1001を取得する。次に、演算処理割り当て部105は、第1の構成情報1001によって選択される回路ブロックを判別する。ここで、演算処理割り当て部105は、第1の構成情報1001で選択されている回路ブロックが回路ブロック2001,2002であることを判別する。   First, the arithmetic processing allocation unit 105 acquires first configuration information 1001 from the external memory 905. Next, the arithmetic processing assigning unit 105 determines a circuit block selected by the first configuration information 1001. Here, the arithmetic processing assignment unit 105 determines that the circuit blocks selected by the first configuration information 1001 are the circuit blocks 2001 and 2002.

処理状態2000bは、演算処理割り当て部105が回路ブロックの判別をした後、回路ブロック2001,2002に電源供給して、第1の構成情報1001に基づき演算処理を回路ブロック2001,2002に割り当てるまでの状態を示している。   In the processing state 2000b, after the arithmetic processing assignment unit 105 determines a circuit block, power is supplied to the circuit blocks 2001 and 2002, and arithmetic processing is assigned to the circuit blocks 2001 and 2002 based on the first configuration information 1001. Indicates the state.

演算処理割り当て部105は、回路ブロック2001,2002の情報を電源制御部103に送信する。電源制御部103は、演算処理割り当て部105から回路ブロック2001,2002の情報を受信した後、回路ブロック2001,2002に接続された電源スイッチ107をオフからオンへ切り替える。   The arithmetic processing assignment unit 105 transmits information on the circuit blocks 2001 and 2002 to the power supply control unit 103. After receiving the information on the circuit blocks 2001 and 2002 from the arithmetic processing assigning unit 105, the power control unit 103 switches the power switch 107 connected to the circuit blocks 2001 and 2002 from off to on.

その後、電源制御部103は、演算処理割り当て部105に電源スイッチ107の切り替えが完了したことを通知する。次に、演算処理割り当て部105は、第1の構成情報1001を回路ブロック2001,2002に送信する。   Thereafter, the power control unit 103 notifies the arithmetic processing allocation unit 105 that the switching of the power switch 107 has been completed. Next, the arithmetic processing assignment unit 105 transmits the first configuration information 1001 to the circuit blocks 2001 and 2002.

演算要素101は、第1の構成情報1001を受信した後、データ入力部304の入力の切り替え、データ出力部305の出力の切り替え、演算処理部303の処理設定をおこなう。ルータ104は、第1の構成情報1001を受信した後、入出力切り替え部403の入出力の設定をおこなう。このようにして、各々の演算要素とルータの動作を順次設定していく。   After receiving the first configuration information 1001, the arithmetic element 101 performs input switching of the data input unit 304, output switching of the data output unit 305, and processing setting of the arithmetic processing unit 303. After receiving the first configuration information 1001, the router 104 performs input / output setting of the input / output switching unit 403. In this way, the operation elements and router operations are sequentially set.

演算処理割り当て部105は、回路ブロック内を一巡した第1の構成情報1001を再度受信して、第1の構成情報1001の送信が完了したことを検知する。第1の構成情報1001の送信が完了した後、演算処理割り当て部105は、各演算要素に演算処理の開始を指示する信号を送信する。その後、演算要素101は演算処理を開始する。演算要素101は演算処理が完了すると、演算処理割り当て部105に処理完了を通知する。   The arithmetic processing assigning unit 105 receives again the first configuration information 1001 that has made a round in the circuit block, and detects that the transmission of the first configuration information 1001 has been completed. After the transmission of the first configuration information 1001 is completed, the arithmetic processing assignment unit 105 transmits a signal instructing each arithmetic element to start arithmetic processing. Thereafter, the computation element 101 starts computation processing. When the calculation process is completed, the calculation element 101 notifies the calculation process allocation unit 105 of the completion of the process.

処理状態2000cは、データ処理装置100が第1のデータ処理を完了した後、第2の構成情報1002に沿って演算処理を回路ブロックに割り当てるまでの状態を示している。   The processing state 2000c indicates a state after the data processing apparatus 100 completes the first data processing until the arithmetic processing is assigned to the circuit block along the second configuration information 1002.

演算処理割り当て部105は、演算要素101から処理完了の通知を受信して、処理完了の通知が演算処理を割り当てた全ての演算要素101から送信されたことを判別して、第1のデータ処理が完了したことを検知する。その後、演算処理割り当て部105は、外部メモリ905から第2の構成情報1002を取得する。   The arithmetic processing assignment unit 105 receives the processing completion notification from the arithmetic element 101, determines that the processing completion notification has been transmitted from all the arithmetic elements 101 to which the arithmetic processing is assigned, and performs first data processing. Detect that is complete. Thereafter, the arithmetic processing allocation unit 105 acquires the second configuration information 1002 from the external memory 905.

以降、第2の構成情報1002の内容に従って、回路ブロックの判別、電源切り替えが実行される。第2の構成情報1002で選択されているのは3個の回路ブロック2001、2002、2003であり、電源切り替えが必要なのは回路ブロック2003である。よって、電源制御部103は、回路ブロック2003に接続された電源スイッチ107をオフからオンへ切り替える。その後、上述の第1の構成情報1002に基づく演算処理の割り当てと同様に、第2の構成情報1002に基づく演算処理の割り当てを行う。   Thereafter, according to the content of the second configuration information 1002, discrimination of circuit blocks and power supply switching are executed. Three circuit blocks 2001, 2002, and 2003 are selected in the second configuration information 1002, and the circuit block 2003 requires power supply switching. Therefore, the power control unit 103 switches the power switch 107 connected to the circuit block 2003 from off to on. Thereafter, calculation processing based on the second configuration information 1002 is assigned in the same manner as the calculation processing allocation based on the first configuration information 1002 described above.

上述の動作を繰り返すことにより、データ処理装置100は外部メモリ905に保持された複数の構成情報108を順に読み込み、当該複数の構成情報108に基づく演算処理を順に実行する。   By repeating the above-described operation, the data processing apparatus 100 sequentially reads a plurality of pieces of configuration information 108 held in the external memory 905, and sequentially executes arithmetic processing based on the plurality of pieces of configuration information 108.

<構成情報生成装置の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 selection state 2101 indicates a circuit block selected by the first configuration information. Similarly, the selection state 2102 is a circuit block selected by the second configuration information, the selection state 2103 is a circuit block selected by the third configuration information, and the selection state 2104 is selected by the fourth configuration information. A circuit block is shown.

最初に生成したオリジナルの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 selection state 2100c. It ’s fine. That is, the circuit block selected by the second configuration information may be corrected as in the selection state 2401, and the circuit block selected by the third configuration information may be corrected as in the selection state 2501. By performing such correction, the number of times of switching the power supply of the circuit block associated with the transition of the configuration information is reduced.

以下では、図13の処理フローに沿って、選択状態2100aとなる構成情報から選択状態2100cとなる構成情報を生成する例を説明する。なお、回路ブロックIDは図12(b)に示したような設定とする。   Below, the example which produces | generates the structure information used as the selection state 2100c from the structure information used as the selection state 2100a is demonstrated along the processing flow of FIG. The circuit block ID is set as shown in FIG.

ステップ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 selection state 2100a, the number of times of power supply switching is “11”.

ステップ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 selection state 2401 in the selection state 2100b.

ステップ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 selection state 2100b, the number of times of power supply switching is “6”.

ステップ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 selection state 2501 in the selection state 2100c.

図24及び図25は、それぞれ、回路ブロック内におけるデータフローの変更を例示的に示す図である。なお、回路ブロック102には図12を参照して説明したIDと同様のIDが設定されている。   24 and 25 are diagrams exemplarily showing changes in data flow in the circuit block. The circuit block 102 is set with an ID similar to the ID described with reference to FIG.

選択状態2102を選択状態2401に変更する場合、図24の上段に示すデータフローから図24の下段に示すデータフローに変わる。この場合、データフローの設定を左側にシフトするだけで良いことが図24から分かる。したがって、この場合は演算要素101、ルータ104の入出力設定の変更は必要なく、演算要素101、ルータ104のIDの変更のみをおこなえば良い。   When the selection state 2102 is changed to the selection state 2401, the data flow shown in the upper part of FIG. 24 is changed to the data flow shown in the lower part of FIG. In this case, FIG. 24 shows that it is only necessary to shift the data flow setting to the left. Therefore, in this case, it is not necessary to change the input / output settings of the computation element 101 and the router 104, and only the IDs of the computation element 101 and the router 104 need be changed.

一方、選択状態2103を選択状態2501に変更する場合、図25の上段に示すデータフローから図25の下段に示すデータフローに変わる。この場合は、演算要素101、ルータ104のIDと、演算要素101とルータ104の入出力の設定を変更する。   On the other hand, when the selection state 2103 is changed to the selection state 2501, the data flow shown in the upper part of FIG. 25 is changed to the data flow shown in the lower part of FIG. In this case, the IDs of the calculation element 101 and the router 104 and the input / output settings of the calculation element 101 and the router 104 are changed.

なお、より複雑なデータフローの変更に対応可能とするために、データフローを再構築する機構を構成情報生成部2701の内部に設けても良い。例えば、構成情報で使用する回路ブロックを設定した後に、演算要素101、ルータ104間のデータ転送の経路を探索してデータフローを再構築するなどの手法を取ることもできる。   Note that a mechanism for reconstructing the data flow may be provided inside the configuration information generation unit 2701 in order to be able to cope with more complicated data flow changes. For example, after setting a circuit block to be used in the configuration information, a method of searching a data transfer route between the computing element 101 and the router 104 to reconstruct the data flow can be taken.

このようにして、第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 data processing apparatus 100 assigns the arithmetic processing to the circuit block 102 based on the regenerated configuration information, so that it is possible to appropriately reduce power.

(変形例)
なお、上述の説明においては、データ処理装置100の外部にあるメモリ905から構成情報を読み込む実施形態を示したが、データ処理装置100の内部で構成情報を保持するような構成としても良い。
(Modification)
In the above description, the configuration information is read from the memory 905 outside the data processing apparatus 100. However, the configuration information may be held inside the data processing apparatus 100.

図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 information holding unit 2601 is provided inside the data processing apparatus 100, and the configuration information is stored inside the configuration information holding unit 2601. In this configuration, the arithmetic processing assignment unit 105 reads the configuration information 108 held in the configuration information holding unit 2601 and transmits the configuration information to the dynamic reconfiguration circuit 106.

(第2実施形態)
第2実施形態では、データ処理装置100の内部で構成情報108を生成する場合の例について説明する。
(Second Embodiment)
In the second embodiment, an example in which the configuration information 108 is generated inside the data processing apparatus 100 will be described.

<構成説明>
[演算処理割り当て部の内部構成]
図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 processing assignment unit 105 according to the second embodiment. That is, here, the configuration information generation unit 2701 is added inside the arithmetic processing allocation unit 105, and the configuration information 108 is generated inside the arithmetic processing allocation unit 105. Note that the configuration information generation unit 2701 is a functional unit that implements processing similar to the processing illustrated in FIG.

構成情報生成部2701は、回路ブロック判別部704から構成情報108が選択している回路ブロックの情報を受信して、信号線2704を介して構成情報108の送信指示を構成情報送信部702に送る。また、構成情報生成部2701は、信号線2703を介して再生成した構成情報108を構成情報送信部702に送る。更に構成情報生成部2701は、信号線114を介して回路ブロック情報を出力する。   The configuration information generation unit 2701 receives information on the circuit block selected by the configuration information 108 from the circuit block determination unit 704, and sends a transmission instruction for the configuration information 108 to the configuration information transmission unit 702 via the signal line 2704. . In addition, the configuration information generation unit 2701 sends the regenerated configuration information 108 to the configuration information transmission unit 702 via the signal line 2703. Further, the configuration information generation unit 2701 outputs circuit block information via the signal line 114.

[構成情報生成部の内部構成]
図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 information generation unit 2701. The configuration information generation unit 2701 includes a power supply switching number calculation unit 2801, a circuit block number calculation unit 2803, a circuit block priority setting unit 2804, and a circuit block setting unit 2805. In addition, the configuration information generation unit 2701 includes an ID / setting value change unit 2806, a switching frequency determination unit 2802, and a circuit block information transmission unit 2815.

電源切り替え回数算出部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 configuration information 108. Then, the number of times of power supply switching necessary for assigning arithmetic processing along the configuration information 108 is calculated, and the calculation result is transmitted to the switching number determination unit 1902. The circuit block number calculation unit 2803 receives information on the circuit block selected by the configuration information 108. Then, the number of circuit blocks selected by each configuration information 108 is transmitted to the switching number determination unit 2802 and the circuit block priority setting unit 2804. The circuit block priority setting unit 2804 sets the priority of the circuit block according to the same processing as in step S1306 described above, and transmits priority setting information to the circuit block setting unit 1905.

回路ブロック設定部2805は、上述のステップS1307と同様の処理に従って回路ブロックを選択して、回路ブロックの選択情報をID・設定値変更部2806と回路ブロック情報送信部2815に送信する。ID・設定値変更部2806は、回路ブロック設定部2805から受信した回路ブロックの選択情報に従って、IDを変更して構成情報を再生成する。   The circuit block setting unit 2805 selects a circuit block according to the same processing as in step S1307 described above, and transmits circuit block selection information to the ID / setting value changing unit 2806 and the circuit block information transmitting unit 2815. The ID / set value changing unit 2806 changes the ID according to the circuit block selection information received from the circuit block setting unit 2805 and regenerates the configuration information.

回路ブロック情報送信部2815は、信号線2813を介して切り替え回数判定部2802から指示を受けて、信号線2812から送信された回路ブロック情報、または信号線2814から送信された回路ブロック情報のどちらかを出力する。切り替え回数判定部2802は、電源切り替え回数算出部2801から切り替え回数の情報を、回路ブロック数算出部2803から回路ブロック数の情報をそれぞれ受信する。また、切り替え回数判定部2802は、信号線2704を介して構成情報の送信指示を構成情報送信部702に送信する。   The circuit block information transmission unit 2815 receives an instruction from the switching number determination unit 2802 via the signal line 2813, and either the circuit block information transmitted from the signal line 2812 or the circuit block information transmitted from the signal line 2814 Is output. The switching number determination unit 2802 receives information on the number of switchings from the power supply switching number calculation unit 2801 and information on the number of circuit blocks from the circuit block number calculation unit 2803, respectively. In addition, the switching number determination unit 2802 transmits a configuration information transmission instruction to the configuration information transmission unit 702 via the signal line 2704.

切り替え回数判定部2802は、信号線2713を介して回路ブロック情報送信部2815に信号線2812から送信された回路ブロック情報、または信号線2814から送信された回路ブロック情報のどちらを出力するかを指示する。更に、切り替え回数判定部2802は、信号線2816を介して回路ブロック優先度設定部2804に優先度を設定するよう制御する。   The switching number determination unit 2802 instructs the circuit block information transmission unit 2815 via the signal line 2713 to output the circuit block information transmitted from the signal line 2812 or the circuit block information transmitted from the signal line 2814. To do. Further, the switching number determination unit 2802 controls the circuit block priority setting unit 2804 to set the priority via the signal line 2816.

[電源切り替え回数算出部の内部構成]
図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 frequency calculation unit 2801. The power switching number calculation unit 2801 includes a path switching unit 2901, registers 2902, 2903, 2904, 2907, 2908, 2-input ANDs 2905, 2906, and an adder 2909.

経路切り替え部2901は、信号線2702から回路ブロックの情報を受信して、レジスタ2902、2903、2904に論理値”1”または”0”を送信する。   The path switching unit 2901 receives circuit block information from the signal line 2702 and transmits a logical value “1” or “0” to the registers 2902, 2903, and 2904.

[回路ブロック優先度設定部の構成説明]
図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 priority setting unit 2804. The circuit block priority setting unit 2804 includes a register selection unit 3003, registers 3001 and 3002, and a priority setting unit 3008.

レジスタ選択部3003は、信号線2702から、第1の構成情報が選択している回路ブロック情報を受信した後、回路ブロック情報をレジスタ3001に送信する。また、レジスタ選択部3003は、信号線2702から、第3の構成情報が選択している回路ブロック情報を受信した後、回路ブロック情報をレジスタ3002に送信する。   After receiving the circuit block information selected by the first configuration information from the signal line 2702, the register selection unit 3003 transmits the circuit block information to the register 3001. In addition, the register selection unit 3003 transmits circuit block information to the register 3002 after receiving the circuit block information selected by the third configuration information from the signal line 2702.

レジスタ3004、3006の設定値は、第1の回路ブロックが選択されている場合に”1”とし、レジスタ3005、3007は、第2の回路ブロック情報が送信された場合に”1”とする。つまり、レジスタ3001、3002のNビット目の設定値は、第Nの回路ブロックが構成情報によって選択されているか否かを示している。   The set value of the registers 3004 and 3006 is “1” when the first circuit block is selected, and the registers 3005 and 3007 are “1” when the second circuit block information is transmitted. That is, the setting value of the Nth bit of the registers 3001 and 3002 indicates whether or not the Nth circuit block is selected by the configuration information.

次に、レジスタ3001とレジスタ3002で対応するビットの値から、図30(b)に示すように優先度を設定する。優先度を設定した後、各回路ブロックの優先度の設定を信号線2810に出力する。   Next, the priority is set as shown in FIG. 30B from the values of the corresponding bits in the registers 3001 and 3002. After setting the priority, the setting of the priority of each circuit block is output to the signal line 2810.

<動作説明>
以下では、構成情報生成部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 information generation part 2701. FIG. The operation of other blocks of the configuration information generation unit 2701 is the same as the operation described with reference to FIG.

[電源切り替え回数算出部の動作説明]
図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 registers 2902, 2903, and 2904, respectively.

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 register 2902, calculates a logical product with the logical value of the Nth bit of the register 2903, and stores the calculated value in the register 2907. Similarly, the 2-input AND 2906 logically inverts the value of the Nth bit of the register 2903, calculates a logical product with the logical value of the Nth bit of the register 2904, and stores the calculated value in the register 2908.

例えば、ここでは、レジスタ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 register 2902 is “0” and the logical value of the first bit of the register 2903 is “1”, the logical value “1” is set to the first bit of the register 2907. "Is set. When the logical value “1” is set in the register 2907, it indicates that the circuit block is switched from power-off to on when switching from the first configuration information to the second configuration information.

同様の処理を各ブロックに対し行う事で、第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 register 2903 and the logic value of the Nth bit of the register 2904 are detected. A similar logical operation is performed using the value. The calculated logical operation result is stored in the registers 2907 and 2908. When logical values are stored in all the registers, the adder 2909 adds the values of the registers. Thereby, the number of power supply switching is calculated based on the number of logical values “1”. The number of power supply switching times calculated by the above operation is output via the signal line 2807.

[切り替え回数判定部の動作説明]
切り替え回数判定部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 number calculation unit 2803, the switching number determination unit 2802 calculates the minimum value of the number of times of power supply switching by the determination unit shown in FIG. Thereafter, information on the number of times of switching is received from the power source switching number calculation unit 2801, and it is determined whether the number of times of switching the power source is the minimum.

切り替え回数判定部2802は、電源の切り替え回数が最少でない場合は、信号線2816を介して回路ブロック優先度設定部2804に優先度を設定するよう指示を与える。   When the number of power source switching is not the minimum, the switching number determination unit 2802 gives an instruction to set the priority to the circuit block priority setting unit 2804 via the signal line 2816.

なお、電源の切り替え回数が最少である場合は構成情報の再生成はおこなわず、切り替え回数判定部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 number determination unit 2802 instructs the configuration information transmission unit 702 to transmit the existing configuration information 108 via the signal line 2704. send. In addition, the switching number determination unit 2802 instructs the circuit block information transmission unit 2815 to output the circuit block information received from the signal line 2812 to the signal line 114.

以上説明したように、第2実施形態によれば、データ処理装置100の内部に設けた構成情報生成部2701により構成情報を再生成する。このように構成することにより、第1実施形態と同様、回路ブロックに対する電源の切り替え回数が少なくなるような構成情報を生成(再生成)することが可能となる。特に、電源の切り替え回数が少なくなるような構成情報をほぼリアルタイムに生成することが可能となる。   As described above, according to the second embodiment, configuration information is regenerated by the configuration information generation unit 2701 provided in the data processing apparatus 100. With this configuration, it is possible to generate (regenerate) configuration information that reduces the number of times of switching power sources for circuit blocks, as in the first embodiment. In particular, configuration information that reduces the number of times of power supply switching can be generated almost in real time.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(または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)

それぞれが1以上の演算要素を含み個別に電源制御可能に構成された複数の回路ブロックを有するアレイ型演算装置で利用される構成情報を生成する構成情報生成装置であって、前記構成情報は、前記複数の回路ブロックの何れの1以上の回路ブロックを使用するかを規定する情報を含んでおり、前記構成情報生成装置は、
前記アレイ型演算装置で連続して使用される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:
それぞれが1以上の演算要素を含み個別に電源制御可能に構成された複数の回路ブロックを有するアレイ型演算装置で利用される構成情報を生成する構成情報生成装置の制御方法であって、前記構成情報は、前記複数の回路ブロックの何れの1以上の回路ブロックを使用するかを規定する情報を含んでおり、前記制御方法は、
前記アレイ型演算装置で連続して使用される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:
JP2013040028A 2013-02-28 2013-02-28 Configuration information generating apparatus and control method thereof Expired - Fee Related JP6087663B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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