JP2013069220A - Arithmetic processing unit and computing element simultaneous execution control method - Google Patents

Arithmetic processing unit and computing element simultaneous execution control method Download PDF

Info

Publication number
JP2013069220A
JP2013069220A JP2011208889A JP2011208889A JP2013069220A JP 2013069220 A JP2013069220 A JP 2013069220A JP 2011208889 A JP2011208889 A JP 2011208889A JP 2011208889 A JP2011208889 A JP 2011208889A JP 2013069220 A JP2013069220 A JP 2013069220A
Authority
JP
Japan
Prior art keywords
arithmetic
processing
value
circuit
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011208889A
Other languages
Japanese (ja)
Other versions
JP5804507B2 (en
Inventor
Takahiko Uesugi
貴彦 上杉
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2011208889A priority Critical patent/JP5804507B2/en
Publication of JP2013069220A publication Critical patent/JP2013069220A/en
Application granted granted Critical
Publication of JP5804507B2 publication Critical patent/JP5804507B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve a voltage variation worst pattern in which computing elements are simultaneously activated among different processors.SOLUTION: An arithmetic processing unit 100 according to the present invention includes a plurality of processing circuits 120A-120N having a plurality of computing elements that can be simultaneously executed, and a control circuit 110 for summing up the total number of the computing elements being executed in the respective processing circuits. Each of the plurality of processing circuits 120A-120N determines whether or not to execute the computing element which is not executed among the computing elements provided therein according to a sum-up result summed up by the control circuit 110.

Description

本発明は、演算処理装置及び演算器同時実行制御方法に関し、特に、複数の演算器を有する複数のプロセッサにおいて同時実行される演算器数を制御するための演算処理装置及び演算器同時実行制御方法に関する。   The present invention relates to an arithmetic processing unit and an arithmetic unit simultaneous execution control method, and more particularly to an arithmetic processing unit and an arithmetic unit simultaneous execution control method for controlling the number of arithmetic units simultaneously executed in a plurality of processors having a plurality of arithmetic units. About.

特許文献1には、低消費電力化と高速化が可能なマイクロプロセッサに関する技術が開示されている。特許文献1にかかるマイクロプロセッサは、各演算回路を操作する命令を先行検出する検出手段と、この検出手段により検出された命令に対応した演算回路を1つ以上演算実行に先立って活性化し、演算終了後に、活性化された演算回路を不活性化する手段とを有する。そして、当該マイクロプロセッサは、n個(n≧2)の命令を同時に読み出してデコードし、n個の演算回路を用いて同時に演算を実行する。   Patent Document 1 discloses a technique related to a microprocessor capable of reducing power consumption and speed. The microprocessor according to Patent Literature 1 activates one or more arithmetic circuits corresponding to the instruction detected by the detection means, and detection means for detecting instructions for operating each arithmetic circuit prior to the execution of the arithmetic circuit. And a means for inactivating the activated arithmetic circuit after completion. Then, the microprocessor reads and decodes n (n ≧ 2) instructions at the same time, and simultaneously executes operations using n operation circuits.

特開平10−207859号公報Japanese Patent Laid-Open No. 10-207859

近年、特許文献1に代表される関連技術にかかるマイクロプロセッサを複数搭載した演算処理装置も開発されるようになった。このような演算処理装置では、その処理性能を高めるために、複数の演算器(加算器・乗算器など)を多数実装して、高速なギガヘルツ周波数でこれら演算器を同時に動作させるようにして処理を行っている。ギガヘルツ動作を可能にするためには、高速回路技術とともに回路に電源を供給する側の電源の耐ノイズ設計が重要になる。   In recent years, arithmetic processing devices equipped with a plurality of microprocessors related to the related art represented by Patent Document 1 have also been developed. In such an arithmetic processing unit, in order to improve the processing performance, a large number of arithmetic units (adders, multipliers, etc.) are mounted, and processing is performed by simultaneously operating these arithmetic units at a high-speed gigahertz frequency. It is carried out. In order to enable the gigahertz operation, it is important to design a noise-resistant design for the power source that supplies power to the circuit along with high-speed circuit technology.

上述した演算処理装置では、電圧変動が発生すると回路のディレイ劣化や誤動作を発生させるため、高速化の妨げになってきている。LSI(Large Scale Integration)チップ内の電圧変動は、(1)回路動作による高周波ノイズと(2)電源抵抗による直流ドロップに大別される。特に(1)が支配的である。そこで、一般的な高周波ノイズの低減策にバイパスコンデンサ(パスコン)をLSIチップに搭載する方法がある。しかし、近年、1チップに複数のプロセッサを実装する傾向にあり、複数プロセッサが同時に起動する場合、電圧変動が大きくなる傾向にある。   In the arithmetic processing unit described above, when voltage fluctuation occurs, circuit delay degradation and malfunction occur, which has hindered speeding up. Voltage fluctuation in an LSI (Large Scale Integration) chip is roughly classified into (1) high frequency noise due to circuit operation and (2) DC drop due to power supply resistance. In particular, (1) is dominant. Therefore, there is a method of mounting a bypass capacitor (pass capacitor) on an LSI chip as a general measure for reducing high frequency noise. However, in recent years, there is a tendency to mount a plurality of processors on one chip, and when a plurality of processors are activated at the same time, voltage fluctuation tends to increase.

図8は、関連技術にかかる命令発行回路を複数搭載した演算処理装置900の一例を示す図である。演算処理装置900は、同等の構成を有するプロセッサ94A〜94Nを備える。プロセッサ94Aは、命令発行回路95Aと、複数の演算器である加算器6A、加算器7A、乗算器8A及び乗算器9Aと、汎用レジスタ10Aと、閾値レジスタ12Aとを備える。以降、同様に、プロセッサ94Nは、命令発行回路95Nと、複数の演算器である加算器6N、加算器7N、乗算器8N及び乗算器9Nと、汎用レジスタ10Nと、閾値レジスタ12Nとを備える。ここでは、代表してプロセッサ94Aの内部の構成及び動作について説明する。   FIG. 8 is a diagram showing an example of an arithmetic processing unit 900 equipped with a plurality of instruction issuing circuits according to related technology. The arithmetic processing unit 900 includes processors 94A to 94N having an equivalent configuration. The processor 94A includes an instruction issue circuit 95A, an adder 6A, an adder 7A, a multiplier 8A and a multiplier 9A, which are a plurality of arithmetic units, a general-purpose register 10A, and a threshold register 12A. Thereafter, similarly, the processor 94N includes an instruction issue circuit 95N, an adder 6N, an adder 7N, a multiplier 8N, and a multiplier 9N, which are a plurality of arithmetic units, a general-purpose register 10N, and a threshold register 12N. Here, the internal configuration and operation of the processor 94A will be described as a representative.

命令発行回路95Aは、加算器6A、加算器7A、乗算器8A及び乗算器9Aのそれぞれを起動させる場合、加算器6A、加算器7A、乗算器8A及び乗算器9Aのそれぞれに対して、実行指示103A、104A、105A及び106Aを発行する。加算器6A、加算器7A、乗算器8A及び乗算器9Aのそれぞれは、各実行命令に応じて独立して動作し、その処理結果を汎用レジスタ10Aに格納する。閾値レジスタ12Aには、プロセッサ94A内で同時実行可能な演算器の数の上限値が格納されている。命令発行回路95Aは、実行指示103A、104A、105A及び106Aを発行する際に、発行済みの実行指示の数と閾値レジスタ12Aに格納された上限値とを比較し、上限値を超える場合は実行指示の発行を抑制し、プロセッサ94A内で同時に動作させる演算器の数を制御する機構を持っている。   The instruction issuing circuit 95A executes each of the adder 6A, the adder 7A, the multiplier 8A, and the multiplier 9A when starting the adder 6A, the adder 7A, the multiplier 8A, and the multiplier 9A. Instructions 103A, 104A, 105A and 106A are issued. Each of the adder 6A, the adder 7A, the multiplier 8A, and the multiplier 9A operates independently according to each execution instruction, and stores the processing result in the general-purpose register 10A. The threshold register 12A stores an upper limit value of the number of arithmetic units that can be executed simultaneously in the processor 94A. When issuing the execution instructions 103A, 104A, 105A, and 106A, the instruction issuing circuit 95A compares the number of issued execution instructions with the upper limit value stored in the threshold register 12A, and executes if the upper limit value is exceeded. There is a mechanism for controlling the number of arithmetic units that are simultaneously operated in the processor 94A by suppressing the issuance of instructions.

しかしながら、演算処理装置900には、プロセッサ94A〜94Nの全体で動作可能な演算器数を制限する機構は持っていなかった。そのため、プロセッサごとに独立して制御をせざるを得ず、動作制限対処範囲が局所的になる。よって、プロセッサ単独では、動作制限を行うことができたとしても、演算処理装置900全体としては性能が落ちるケースも発生してしまうという問題点があった。例えば、あるプロセッサ内で同時に実行される演算器数が上限値未満であり、さらに演算器を同時に実行させる余裕があったとしても、特定のプロセッサ内で同時に実行される演算器数が上限値を超える可能性がある場合には、当該特定のプロセッサにおける演算器の追加の実行を抑制せざるを得ない。この場合、演算処理装置900の最大限の性能を発揮することができない。   However, the arithmetic processing unit 900 did not have a mechanism for limiting the number of arithmetic units operable in the entire processors 94A to 94N. For this reason, control must be performed independently for each processor, and the operation restriction handling range becomes local. Therefore, even if the processor alone can limit the operation, there is a problem that the performance of the arithmetic processing apparatus 900 as a whole may be reduced. For example, even if the number of arithmetic units that are simultaneously executed in a certain processor is less than the upper limit value and there is room for further execution of the arithmetic units at the same time, the number of arithmetic units that are simultaneously executed in a specific processor has an upper limit value. When there is a possibility of exceeding, it is necessary to suppress the additional execution of the arithmetic unit in the specific processor. In this case, the maximum performance of the arithmetic processing unit 900 cannot be exhibited.

本発明は、上述した問題点を考慮してなされたものであり、異なるプロセッサ間で同時に演算器が起動する電圧変動最悪パターンを改善するための演算処理装置及び演算器同時実行制御方法を提供することを目的とする。   The present invention has been made in consideration of the above-described problems, and provides an arithmetic processing device and an arithmetic unit simultaneous execution control method for improving a worst case voltage fluctuation pattern in which an arithmetic unit is started simultaneously between different processors. For the purpose.

本発明の第1の態様にかかる演算処理装置は、
同時に実行可能な複数の演算器を有する複数の処理回路と、
各処理回路で実行中の演算器の総数を集計する制御回路と、を備え、
前記複数の処理回路のそれぞれは、前記制御回路が集計した集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する。
An arithmetic processing apparatus according to the first aspect of the present invention includes:
A plurality of processing circuits having a plurality of computing units that can be executed simultaneously;
A control circuit that counts the total number of arithmetic units being executed in each processing circuit, and
Each of the plurality of processing circuits determines whether or not to execute an unexecuted computing unit among the computing units that the processing circuit has according to the counting result obtained by the control circuit.

本発明の第2の態様にかかる演算器同時実行制御方法は、
同時に実行可能な複数の演算器を有する複数の処理回路を制御する制御回路が、各処理回路で実行中の演算器の総数を集計し、
前記複数の処理回路のそれぞれが、前記集計された集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する。
The computing unit simultaneous execution control method according to the second aspect of the present invention includes:
A control circuit that controls a plurality of processing circuits having a plurality of arithmetic units that can be executed simultaneously counts the total number of arithmetic units that are being executed in each processing circuit,
Each of the plurality of processing circuits determines whether or not to execute an unexecuted computing unit among the computing units of the processing circuit of the plurality of processing circuits.

本発明により、異なるプロセッサ間で同時に演算器が起動する電圧変動最悪パターンを改善するための演算処理装置及び演算器同時実行制御方法を提供することができる。   According to the present invention, it is possible to provide an arithmetic processing unit and an arithmetic unit simultaneous execution control method for improving a worst case voltage fluctuation pattern in which an arithmetic unit is started simultaneously between different processors.

本発明の実施の形態1にかかる演算処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the arithmetic processing apparatus concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる演算器同時実行制御処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the arithmetic unit simultaneous execution control process concerning Embodiment 1 of this invention. 本発明の実施の形態2にかかる演算処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the arithmetic processing apparatus concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかる演算器同時実行制御処理の例を示すタイムチャートである。It is a time chart which shows the example of the arithmetic unit simultaneous execution control process concerning Embodiment 2 of this invention. 本発明の実施の形態3にかかる演算処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the arithmetic processing apparatus concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる汎用レジスタとデータ分散値レジスタとの関係を示す図である。It is a figure which shows the relationship between the general purpose register concerning Embodiment 3 of this invention, and a data distribution value register. 本発明の実施の形態3にかかる演算器同時実行制御処理の例を示すタイムチャートである。It is a time chart which shows the example of the arithmetic unit simultaneous execution control process concerning Embodiment 3 of this invention. 関連技術にかかる演算処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the arithmetic processing apparatus concerning related technology.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.

<発明の実施の形態1>
図1は、本発明の実施の形態1にかかる演算処理装置100の構成を示すブロック図である。演算処理装置100は、複数の演算器を有する複数の処理回路において同時実行される演算器数を制御するものである。演算処理装置100は、制御回路110と、処理回路120A〜120Nとを備える。尚、処理回路120A〜120Nは、複数個であればよい。処理回路120Aは、演算器13A〜13Mを有する。同様に、処理回路120Nは、演算器14A〜14Lを有する。処理回路120A〜120Nのそれぞれは、自己の有する複数の演算器を同時に実行することが可能である。尚、処理回路120A〜120Nにおける演算器の数は、複数個であればよい。
<Embodiment 1 of the Invention>
FIG. 1 is a block diagram showing the configuration of the arithmetic processing apparatus 100 according to the first embodiment of the present invention. The arithmetic processing unit 100 controls the number of arithmetic units that are simultaneously executed in a plurality of processing circuits having a plurality of arithmetic units. The arithmetic processing device 100 includes a control circuit 110 and processing circuits 120A to 120N. Note that the processing circuits 120A to 120N may be plural. The processing circuit 120A includes computing units 13A to 13M. Similarly, the processing circuit 120N includes computing units 14A to 14L. Each of the processing circuits 120 </ b> A to 120 </ b> N can simultaneously execute a plurality of arithmetic units included in the processing circuits 120 </ b> A to 120 </ b> N. The number of arithmetic units in the processing circuits 120A to 120N may be plural.

図2は、本発明の実施の形態1にかかる演算器同時実行制御処理の流れを示すフローチャートである。まず、制御回路110は、各処理回路で実行中の演算器の総数を集計する(ステップS11)。次に、処理回路120A〜120Nのそれぞれは、制御回路110が集計した集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する(ステップS12)。   FIG. 2 is a flowchart showing the flow of the arithmetic unit simultaneous execution control process according to the first embodiment of the present invention. First, the control circuit 110 adds up the total number of arithmetic units being executed in each processing circuit (step S11). Next, each of the processing circuits 120 </ b> A to 120 </ b> N determines whether or not to execute an unexecuted computing unit among the computing units included in the processing circuit 120 </ b> A to 120 </ b> N according to the counting result totaled by the control circuit 110 (step S <b> 12).

このように、本発明の実施の形態1では、異なる処理装置間で同時に実行される演算器数を考慮して自己の演算器の実行可否を決定することができる。そのため、異なる処理装置間で同時に演算器が起動する電圧変動最悪パターンを改善することができる。   As described above, in the first embodiment of the present invention, it is possible to determine whether or not to execute its own arithmetic unit in consideration of the number of arithmetic units that are simultaneously executed between different processing devices. Therefore, it is possible to improve the voltage fluctuation worst pattern in which the arithmetic unit is activated simultaneously between different processing devices.

<発明の実施の形態2>
図3は、本発明の実施の形態2にかかる演算処理装置200の構成を示すブロック図である。演算処理装置200は、制御回路1と、プロセッサ4A〜4Nとを備える。プロセッサ4A〜4Nは、複数の演算器を有し、これらの同時実行を行う。また、制御回路1は、プロセッサ4A〜4N内の複数の演算器の同時実行数を全体として制御する。
<Embodiment 2 of the Invention>
FIG. 3 is a block diagram showing a configuration of the arithmetic processing apparatus 200 according to the second embodiment of the present invention. The arithmetic processing device 200 includes a control circuit 1 and processors 4A to 4N. The processors 4A to 4N have a plurality of arithmetic units and execute them simultaneously. The control circuit 1 controls the number of simultaneous executions of a plurality of arithmetic units in the processors 4A to 4N as a whole.

制御回路1は、閾値レジスタ2と、比較報告回路3とを備える。閾値レジスタ2は、プロセッサ4A〜4N全てにおいて同時に実行可能な演算器の数の上限値を記憶する。
比較報告回路3は、プロセッサ4A〜4Nのそれぞれから実行指示同時発行数100A〜100Nを受け付ける。そして、比較報告回路3は、各プロセッサから通知された実行指示同時発行数100A〜100Nを集計してその総数を算出する。続いて、比較報告回路3は、当該総数と上限値との差分値(実行可能演算器残数)を各プロセッサへ通知する。ここで、実行指示同時発行数100A〜100Nは、各プロセッサ内で同時に実行中の演算器の数である同時実行演算器数である。また、実行可能演算器残数は、演算処理装置200内の全プロセッサで実行可能な演算器の残数である。または、実行可能演算器残数は、演算処理装置200内の全プロセッサで実行可能な演算器の余裕数と言い換えることもできる。
The control circuit 1 includes a threshold register 2 and a comparison report circuit 3. The threshold register 2 stores an upper limit value of the number of arithmetic units that can be simultaneously executed in all the processors 4A to 4N.
The comparison report circuit 3 receives the execution instruction simultaneous issue numbers 100A to 100N from the processors 4A to 4N, respectively. And the comparison report circuit 3 totals the execution instruction simultaneous issue numbers 100A to 100N notified from the respective processors, and calculates the total number. Subsequently, the comparison report circuit 3 notifies each processor of a difference value (remaining number of executable arithmetic units) between the total number and the upper limit value. Here, the number of simultaneous execution instruction issuances 100A to 100N is the number of simultaneous execution arithmetic units which is the number of arithmetic units being simultaneously executed in each processor. The remaining number of executable arithmetic units is the remaining number of arithmetic units that can be executed by all processors in the arithmetic processing unit 200. Alternatively, the remaining number of executable calculators can be restated as the number of calculators that can be executed by all processors in the processor 200.

プロセッサ4Aは、命令発行回路5A、加算器6A、加算器7A、乗算器8A、乗算器9A及び汎用レジスタ10Aを備える。汎用レジスタ10Aには、加算器6A、加算器7A、乗算器8A及び乗算器9Aのそれぞれによる演算結果が格納される。命令発行回路5Aは、プログラムに従い加算器6A、加算器7A、乗算器8A及び乗算器9Aについて実行の開始を指示するための実行指示103A、104A、105A及び106Aをそれぞれに対して発行する。特に、命令発行回路5Aは、同時に動作可能な加算及び乗算の演算があれば、該当する演算器に対して実行指示を行う。具体的には、加算器6Aの実行が可能なら汎用レジスタ10Aからオペランドデータを読み出して加算器6Aにデータを送付し同時に実行指示103Aを送付する。同様に、乗算器9Aの実行が可能なら汎用レジスタ10Aからオペランドデータを読み出して乗算器9Aにデータを送付し同時に実行指示106Aを送付する。   The processor 4A includes an instruction issue circuit 5A, an adder 6A, an adder 7A, a multiplier 8A, a multiplier 9A, and a general-purpose register 10A. The general-purpose register 10A stores the calculation results of the adder 6A, adder 7A, multiplier 8A, and multiplier 9A. The instruction issuing circuit 5A issues execution instructions 103A, 104A, 105A, and 106A for instructing the start of execution of the adder 6A, adder 7A, multiplier 8A, and multiplier 9A according to the program. In particular, if there are addition and multiplication operations that can operate simultaneously, the instruction issuing circuit 5A issues an execution instruction to the corresponding arithmetic unit. Specifically, if the adder 6A can be executed, the operand data is read from the general-purpose register 10A, the data is sent to the adder 6A, and the execution instruction 103A is sent simultaneously. Similarly, if execution of the multiplier 9A is possible, the operand data is read from the general-purpose register 10A, the data is sent to the multiplier 9A, and the execution instruction 106A is sent simultaneously.

また、命令発行回路5Aは、発行した実行指示の数を実行指示同時発行数として制御回路1へ通知する。そして、命令発行回路5Aは、制御回路1から実行可能演算器残数を受け付ける。そして、命令発行回路5Aは、演算器の起動を行う場合、実行可能演算器残数の値を見ながら起動の判断を行っている。他のプロセッサもプロセッサ4Aと同様の動作を行う。つまり、プロセッサ4A〜4Nのそれぞれは、実行可能演算器残数に応じて未実行の演算器を実行するか否かを決定する。そして、複数の処理回路のそれぞれは、実行すると決定した演算器の数が実行可能演算器残数を超える場合、当該超える分の演算器の実行の開始を保留する。これにより、演算処理装置200全体としての性能の最適化を図ることができる。   The instruction issuing circuit 5A notifies the control circuit 1 of the number of issued execution instructions as the number of simultaneous execution instruction issuances. Then, the instruction issuing circuit 5 </ b> A receives the remaining number of executable arithmetic units from the control circuit 1. Then, the instruction issuing circuit 5A determines the activation while observing the value of the remaining number of executable arithmetic units when the arithmetic unit is activated. Other processors perform the same operation as the processor 4A. That is, each of the processors 4A to 4N determines whether or not to execute an unexecuted computing unit according to the remaining number of executable computing units. Then, when the number of arithmetic units determined to be executed exceeds the remaining number of executable arithmetic units, each of the plurality of processing circuits suspends the start of execution of the arithmetic units for the excess. Thereby, optimization of the performance as the whole arithmetic processing unit 200 can be aimed at.

尚、プロセッサ4Nは他のプロセッサの一例である。プロセッサ4Nは、例えば、命令発行回路5N、加算器6N、加算器7N、乗算器8N、乗算器9N及び汎用レジスタ10Nを備える。尚、プロセッサ4A〜4Nが備える演算器の種類及び数は、上述したものに限定されない。   The processor 4N is an example of another processor. The processor 4N includes, for example, an instruction issue circuit 5N, an adder 6N, an adder 7N, a multiplier 8N, a multiplier 9N, and a general-purpose register 10N. Note that the types and number of arithmetic units included in the processors 4A to 4N are not limited to those described above.

図4は、本発明の実施の形態2にかかる演算器同時実行制御処理の例を示すタイムチャートである。タイミングt1において、命令発行回路5Aは、加算器6Aを起動するために実行指示103Aを発行する。同様に、命令発行回路5Aは、乗算器8Aを起動するために実行指示105Aを発行する。このとき、命令発行回路5Aは、タイミングt1の実行指示同時発行数100Aを"2"として比較報告回路3へ通知する。   FIG. 4 is a time chart illustrating an example of the arithmetic unit simultaneous execution control process according to the second embodiment of the present invention. At timing t1, the instruction issue circuit 5A issues an execution instruction 103A to activate the adder 6A. Similarly, the instruction issuing circuit 5A issues an execution instruction 105A in order to activate the multiplier 8A. At this time, the instruction issue circuit 5A notifies the comparison report circuit 3 that the execution instruction simultaneous issue number 100A at the timing t1 is “2”.

同様に、タイミングt1において、命令発行回路5Nは、加算器6Nを起動するために実行指示103Nを発行する。このとき、命令発行回路5Nは、タイミングt1の実行指示同時発行数100Nを"1"として比較報告回路3へ通知する。   Similarly, at timing t1, the instruction issuing circuit 5N issues an execution instruction 103N to activate the adder 6N. At this time, the instruction issue circuit 5N notifies the comparison report circuit 3 that the execution instruction simultaneous issue number 100N at the timing t1 is “1”.

タイミングt1において、比較報告回路3は、全プロセッサからの実行指示同時発行数100A〜100Nを集計して"3"の値を算出する。そして、制御回路1は、閾値レジスタ2に格納された上限値"5"と上記集計結果"3"との比較を行い、その差分値"2"を算出する。その後、比較報告回路3は、差分値"2"を実行可能演算器残数101A〜101Nとして、プロセッサ4A〜4Nのそれぞれへ通知する。   At timing t1, the comparison report circuit 3 calculates the value “3” by summing up the numbers 100A to 100N of simultaneous issuance of execution instructions from all processors. Then, the control circuit 1 compares the upper limit value “5” stored in the threshold register 2 with the total result “3”, and calculates the difference value “2”. Thereafter, the comparison report circuit 3 notifies the processors 4A to 4N of the difference value “2” as the remaining executable arithmetic units 101A to 101N.

タイミングt2において、プロセッサ4Aは、再度、加算器6A及び乗算器8Aの起動を試みる。このとき、実行指示同時発行数100Aがタイミングt1と同数"2"となるため、そのまま実行指示103A及び実行指示105Aを発行し、実行指示同時発行数100A"2"を比較報告回路3へ通知する。また、プロセッサ4Nは、加算器6Nに加え、加算器7Nの起動を試みる。このとき、実行指示同時発行数100Nが直前のタイミングt1と比べて"1"大きい"2"となる。但し、タイミングt1で通知された実行可能演算器余裕数101Nが"2"であるため、命令発行回路5Nは、そのまま実行指示103N及び実行指示104Nを発行し、実行指示同時発行数100N"2"を比較報告回路3へ通知する。   At timing t2, the processor 4A tries to start the adder 6A and the multiplier 8A again. At this time, since the execution instruction simultaneous issue number 100A becomes the same number “2” as the timing t1, the execution instruction 103A and the execution instruction 105A are issued as they are, and the execution instruction simultaneous issue number 100A “2” is notified to the comparison report circuit 3. . In addition to the adder 6N, the processor 4N attempts to start the adder 7N. At this time, the execution instruction simultaneous issue number 100N becomes “1” larger “2” than the immediately preceding timing t1. However, since the executable arithmetic unit allowance 101N notified at the timing t1 is “2”, the instruction issuing circuit 5N issues the execution instruction 103N and the execution instruction 104N as they are, and the execution instruction simultaneous issue number 100N “2”. Is sent to the comparison report circuit 3.

タイミングt2において、比較報告回路3は、全プロセッサからの実行指示同時発行数100A〜100Nを集計して"4"の値を算出し、上限値"5"との差分値"1"を算出する。その後、比較報告回路3は、差分値"1"を実行可能演算器残数101A〜101Nとして、プロセッサ4A〜4Nのそれぞれへ通知する。   At timing t2, the comparison report circuit 3 calculates the value “4” by summing up the execution instruction simultaneous issue numbers 100A to 100N from all the processors, and calculates the difference value “1” from the upper limit value “5”. . Thereafter, the comparison report circuit 3 notifies the processors 4A to 4N of the difference value “1” as the remaining executable arithmetic units 101A to 101N.

タイミングt3において、プロセッサ4Aは、加算器6A及び乗算器8Aに加え、加算器7Aの起動を試みる。このとき、実行指示同時発行数100Aが直前のタイミングt2と比べて"1"大きい"3"となる。但し、タイミングt2で通知された実行可能演算器余裕数101Aが"1"であるため、命令発行回路5Aは、そのまま実行指示103A、104A及び105Aを発行し、実行指示同時発行数100A"3"を比較報告回路3へ通知する。また、プロセッサ4Nは、再度、加算器6N及び加算器7Nの起動を試みる。このとき、実行指示同時発行数100Nがタイミングt2と同数"2"となるため、そのまま実行指示103N及び104Nを発行し、実行指示同時発行数100N"2"を比較報告回路3へ通知する。   At timing t3, the processor 4A attempts to start the adder 7A in addition to the adder 6A and the multiplier 8A. At this time, the execution instruction simultaneous issue number 100A becomes “3” which is “1” larger than the immediately preceding timing t2. However, since the executable arithmetic unit allowance 101A notified at the timing t2 is “1”, the instruction issuing circuit 5A issues the execution instructions 103A, 104A, and 105A as they are, and the execution instruction simultaneous issue number 100A “3”. Is sent to the comparison report circuit 3. The processor 4N again tries to start the adder 6N and the adder 7N. At this time, since the execution instruction simultaneous issue number 100N becomes the same number “2” as the timing t2, the execution instructions 103N and 104N are issued as they are, and the execution instruction simultaneous issue number 100N “2” is notified to the comparison report circuit 3.

タイミングt3において、比較報告回路3は、全プロセッサからの実行指示同時発行数100A〜100Nを集計して"5"の値を算出し、上限値"5"との差分値"0"を算出する。その後、比較報告回路3は、差分値"0"を実行可能演算器残数101A〜101Nとして、プロセッサ4A〜4Nのそれぞれへ通知する。   At timing t3, the comparison report circuit 3 calculates the value “5” by summing the execution instruction simultaneous issue numbers 100A to 100N from all the processors, and calculates the difference value “0” from the upper limit value “5”. . Thereafter, the comparison report circuit 3 notifies the processors 4A to 4N of the difference value “0” as the remaining executable arithmetic units 101A to 101N.

タイミングt4において、プロセッサ4Aは、再度、加算器6A、加算器7A及び乗算器8Aの起動を試みる。このとき、実行指示同時発行数100Aがタイミングt3と同数"3"となるため、そのまま実行指示103A、104A及び105Aを発行し、実行指示同時発行数100A"3"を比較報告回路3へ通知する。   At timing t4, the processor 4A tries to start the adder 6A, the adder 7A, and the multiplier 8A again. At this time, since the execution instruction simultaneous issue number 100A becomes the same number “3” as the timing t3, the execution instructions 103A, 104A and 105A are issued as they are, and the execution instruction simultaneous issue number 100A “3” is notified to the comparison report circuit 3. .

また、プロセッサ4Nは、加算器6N及び加算器7Nに加え、乗算器8Nの起動を試みる。このとき、実行指示同時発行数100Nが直前のタイミングt3と比べて"1"大きい"3"となってしまう。タイミングt3で通知された実行可能演算器余裕数101Nが"0"であるため、命令発行回路5Nは、直前に発行済みの実行指示103N及び104Nについては継続して発行しつつ、実行指示105Nについては発行を抑制する。つまり、未実行の演算器である乗算器8Nについての実行を保留し、乗算器8Nの起動を遅らせている。もし、このときに実行指示105Nまで発行してしまうと、全プロセッサの演算器の同時実行数の上限値"5"を超えてしまうためである。そして、命令発行回路5Nは、実行指示同時発行数100N"2"を比較報告回路3へ通知する。   In addition to the adder 6N and the adder 7N, the processor 4N attempts to start the multiplier 8N. At this time, the execution instruction simultaneous issue number 100N becomes “3” which is “1” larger than the immediately preceding timing t3. Since the number of executable arithmetic unit margins 101N notified at timing t3 is “0”, the instruction issuing circuit 5N continues to issue the execution instructions 103N and 104N that have been issued immediately before, while regarding the execution instruction 105N. Suppresses issuance. That is, execution of the multiplier 8N, which is an unexecuted computing unit, is suspended, and the activation of the multiplier 8N is delayed. This is because if the execution instruction 105N is issued at this time, the upper limit value “5” of the simultaneous execution numbers of the arithmetic units of all processors is exceeded. Then, the instruction issue circuit 5N notifies the comparison report circuit 3 of the execution instruction simultaneous issue number 100N "2".

タイミングt4において、比較報告回路3は、タイミングt3と同様に、差分値"0"を算出し、実行可能演算器残数101A〜101Nとして、プロセッサ4A〜4Nのそれぞれへ通知する。   At timing t4, the comparison report circuit 3 calculates the difference value “0” and notifies the processors 4A to 4N as the remaining executable arithmetic units 101A to 101N, similarly to the timing t3.

タイミングt5において、プロセッサ4Aは、タイミングt3及びt4と同様に動作する。そして、プロセッサ4Nは、加算器6N及び乗算器8Nの起動を試みる。このとき、加算器7Nが演算終了により起動不要となり、乗算器8Nの起動が可能となる。すなわち、実行指示同時発行数100Nがタイミングt4と同数"2"となるため、プロセッサ4Nは、実行指示103N及び105Nを発行し、実行指示同時発行数100N"2"を比較報告回路3へ通知する。   At timing t5, the processor 4A operates in the same manner as at timings t3 and t4. Then, the processor 4N tries to start the adder 6N and the multiplier 8N. At this time, the adder 7N is not required to be activated when the computation is completed, and the multiplier 8N can be activated. That is, since the execution instruction simultaneous issue number 100N is the same number “2” as the timing t4, the processor 4N issues the execution instructions 103N and 105N and notifies the comparison report circuit 3 of the execution instruction simultaneous issue number 100N “2”. .

タイミングt5において、比較報告回路3は、タイミングt4と同様に、差分値"0"を算出し、実行可能演算器残数101A〜101Nとして、プロセッサ4A〜4Nのそれぞれへ通知する。   At timing t5, similarly to timing t4, the comparison report circuit 3 calculates the difference value “0” and notifies each of the processors 4A to 4N as the executable arithmetic unit remaining numbers 101A to 101N.

以上説明したように本発明においては、以下に記載するような効果を奏する。それは、全プロセッサにおいて同時に実行可能な演算器の数の上限値を予め保持する閾値レジスタと複数のプロセッサ間における同時に動作させる演算器の動作状態を把握する機構を用意することで、把握した結果から演算器の起動をずらして動作させることが可能となり、同時に動作開始する演算器を減少させて電圧変動を低減できることである。   As described above, the present invention has the following effects. From the results obtained by preparing a threshold register that holds in advance the upper limit value of the number of computing units that can be executed simultaneously in all processors and a mechanism for grasping the operating state of the computing units that are operated simultaneously among a plurality of processors. It is possible to operate with different start-up of arithmetic units, and to reduce voltage fluctuations by reducing the number of arithmetic units that start operating simultaneously.

また、制御回路1は、実行可能演算器残数を集中管理して各プロセッサに配布している。これにより、各プロセッサは、通知された実行可能演算器残数を基に自律的に未実行の演算器の実行可否を判定でき、処理の高速化を図ることができる。   Further, the control circuit 1 centrally manages the remaining number of executable arithmetic units and distributes it to each processor. As a result, each processor can autonomously determine whether or not to execute an unexecuted computing unit based on the notified remaining number of executable computing units, and can increase the processing speed.

具体的には、制御回路1は、各プロセッサで動作させる演算器数を把握できる信号を各プロセッサから受け付けて集計することで、総数を把握する。そして、各プロセッサは、未実行の演算器を実行させると、全演算器の動作数が閾値を超えてしまう場合には、当該演算器の起動を遅らせる。そして、全演算器の動作数が閾値を下回った場合に、当該起動を遅らせた演算器を起動させる。これにより、電圧変動が急峻になることを防げる。   Specifically, the control circuit 1 grasps the total number by receiving signals from each processor and totaling signals that can grasp the number of arithmetic units operated by each processor. When each processor executes an unexecuted arithmetic unit, if the number of operations of all the arithmetic units exceeds a threshold value, the activation of the arithmetic unit is delayed. Then, when the number of operations of all the computing units falls below the threshold, the computing unit that delayed the activation is activated. Thereby, it is possible to prevent the voltage fluctuation from becoming steep.

さらに、制御回路1は、演算処理装置200全体における電圧変動量の許容値に基づき定まる同時に実行可能な演算器の数を外部のプログラム等から受け付け、当該受け付けた演算器の数を上限値として閾値レジスタ2を更新することが望ましい。プログラムで指定される演算器の動作数に依存して電圧値が変わるが、閾値レジスタを電圧変動の最大許容値に設定することで大きく性能を落とさない処理が可能となる。   Furthermore, the control circuit 1 accepts the number of arithmetic units that can be executed simultaneously based on the allowable value of the voltage fluctuation amount in the entire arithmetic processing unit 200 from an external program or the like, and sets the received number of arithmetic units as an upper limit value as a threshold value. It is desirable to update register 2. Although the voltage value changes depending on the number of operations of the arithmetic unit specified by the program, the threshold value register is set to the maximum allowable value of the voltage fluctuation, so that processing without greatly degrading the performance becomes possible.

また、複数のプロセッサのうち一のプロセッサは、未実行の演算器を実行すると決定した場合、その旨を他のプロセッサに対して通知するとさらに良い。これにより、他のプロセッサが当該通知により自己の未実行の演算器の実行を抑制することで、演算処理装置200全体の性能を維持することができる。   In addition, when one processor among the plurality of processors determines to execute an unexecuted computing unit, it is better to notify the other processor to that effect. As a result, the performance of the arithmetic processing device 200 as a whole can be maintained by suppressing the execution of its own unexecuted computing units by other processors.

さらに、複数のプロセッサのうち一のプロセッサは、未実行の演算器を実行すると決定した場合、差分値から当該実行すると決定された演算器の数を減じた値を新たな差分値として他の処理回路に対して通知するようにしてもよい。これにより、各プロセッサは、再度、比較報告回路3から実行可能演算器残数101A等の通知を待つことなく、自己の未実行の演算器の実行を抑制することができる。   Further, when one processor among the plurality of processors determines to execute an unexecuted arithmetic unit, another value is obtained by subtracting the number of arithmetic units determined to be executed from the difference value as a new difference value. You may make it notify with respect to a circuit. Thereby, each processor can suppress the execution of its own unexecuted computing units without waiting for notification of the remaining number of executable computing units 101A from the comparison report circuit 3 again.

<発明の実施の形態3>
本発明の他の実施形態では、その基本的構成は上記の通りであるが、電圧変動の低減についてさらに工夫している。図5は、本発明の実施の形態3にかかる演算処理装置300の構成を示すブロック図である。演算処理装置300は、制御回路1と、プロセッサ4A〜4Nとを備える。尚、制御回路1は、実施の形態2の図3と同等であるため、詳細な説明を省略する。
<Third Embodiment of the Invention>
In another embodiment of the present invention, the basic configuration is as described above, but further reduction in voltage fluctuation is further devised. FIG. 5 is a block diagram showing a configuration of the arithmetic processing device 300 according to the third embodiment of the present invention. The arithmetic processing device 300 includes a control circuit 1 and processors 4A to 4N. Since the control circuit 1 is the same as that in FIG. 3 of the second embodiment, detailed description thereof is omitted.

実施の形態3に係る命令発行回路5Aは、実施の形態2と比べて、閾値レジスタ12Aと、データ分散値レジスタ11Aをさらに備える。同様に、命令発行回路5Nは、閾値レジスタ12Nと、データ分散値レジスタ11Nをさらに備える。命令発行回路5A〜5Nのそれぞれは、各演算器における演算結果のデータのばらつきを示す分布値をさらに考慮して未実行の演算器を実行するか否かを決定する。尚、以下では、説明のため命令発行回路5Aについて記載するが、命令発行回路5A以外についても同様である。   The instruction issuing circuit 5A according to the third embodiment further includes a threshold register 12A and a data distribution value register 11A as compared with the second embodiment. Similarly, the instruction issue circuit 5N further includes a threshold value register 12N and a data distribution value register 11N. Each of the instruction issue circuits 5A to 5N determines whether or not to execute an unexecuted arithmetic unit by further considering a distribution value indicating variation in data of the arithmetic result in each arithmetic unit. In the following description, the instruction issuing circuit 5A is described for explanation, but the same applies to other than the instruction issuing circuit 5A.

図6は、本発明の実施の形態3にかかる汎用レジスタ10Aとデータ分散値レジスタ11Aとの関係を示す図である。汎用レジスタ10Aには、1セット当たり32要素のデータを、8セット分(セット0〜7)格納されていることを示す。また、データ分散値レジスタ11Aには、セット内のデータにおけるデータのばらつき指標を示す値である分布値が各セットに対応して格納されていることを示す。   FIG. 6 is a diagram showing the relationship between the general-purpose register 10A and the data distribution value register 11A according to the third embodiment of the present invention. The general-purpose register 10A indicates that eight sets of data (sets 0 to 7) are stored for 32 elements per set. In addition, the data distribution value register 11A indicates that a distribution value, which is a value indicating a data variation index in the data in the set, is stored corresponding to each set.

図5に戻って説明する。プロセッサ4Aの加算器6A、加算器7A、乗算器8A及び乗算器9Aは、例えば、1回の演算で、汎用レジスタ10Aから32要素を2セット分読み出して演算を行うものとする。そして、各演算器は、32要素(1セット分)の演算を行った演算結果を汎用レジスタ10Aに書き込む。併せて、各演算器は、1セット単位に、分布値を算出して、汎用レジスタ10Aのセットに対応付けてデータ分散値レジスタ11Aに格納する。   Returning to FIG. Assume that the adder 6A, adder 7A, multiplier 8A, and multiplier 9A of the processor 4A read out two sets of 32 elements from the general-purpose register 10A and perform the calculation in one operation, for example. Then, each arithmetic unit writes a calculation result obtained by performing the calculation of 32 elements (one set) in the general-purpose register 10A. In addition, each arithmetic unit calculates a distribution value for each set unit, and stores it in the data distribution value register 11A in association with the set of general-purpose registers 10A.

ここで、分布値は、データ1つ当たりどの程度ばらついているかを示す値である。分布値に統計学上の分散値を用いる場合には、以下の式(1)により算出することができる。
分散値V={Σ(Xi−Xn)}/(n−1) ・・・(1)
ここで、nは、1セット当たりの要素数、Xnは平均値、Xiは、各要素の値、つまり、汎用レジスタ10Aに格納される演算結果を示す。
Here, the distribution value is a value indicating how much the data varies. When a statistical variance is used as the distribution value, it can be calculated by the following equation (1).
Variance V = {Σ (Xi−Xn) 2 } / (n−1) (1)
Here, n is the number of elements per set, Xn is an average value, and Xi is the value of each element, that is, the calculation result stored in the general-purpose register 10A.

閾値レジスタ12Aは、分散値の閾値を予め記憶する。そして、命令発行回路5Aは、プログラムに従いある演算器に対して実行指示を行う場合、直前に動作していた演算器の演算結果に対応する分散値をデータ分散値レジスタ11Aから読み出し、閾値レジスタ12Aに格納された閾値と比較する。このとき、実行可能演算器残数101Aが"0"であっても分散値が閾値以内である場合、命令発行回路5Aは、予定通り演算器へ実行指示を発行する。分散値が小さい場合には、電流変動が小さいと考えられるからである。または、実行可能演算器残数101Aが"1"以上であっても分散値が閾値以上である場合に、命令発行回路5Aは、演算器へ実行指示を保留しても構わない。例え、同時実行数が許容範囲だとしても、電流変動が大きい可能性があるためである。このように、実施の形態3では、データの変動分を考慮して実行指示を出すことで大きく性能を落とさない処理が可能となる。   The threshold value register 12A stores a threshold value of the variance value in advance. When the instruction issuing circuit 5A issues an execution instruction to a certain arithmetic unit according to the program, the instruction issuing circuit 5A reads the variance value corresponding to the calculation result of the arithmetic unit that was operating immediately before from the data variance value register 11A, and the threshold value register 12A. Compare with the threshold value stored in. At this time, if the remaining number of executable arithmetic units 101A is “0” and the variance value is within the threshold value, the instruction issuing circuit 5A issues an execution instruction to the arithmetic units as scheduled. This is because when the dispersion value is small, the current fluctuation is considered small. Or, even if the remaining executable arithmetic unit 101A is “1” or more, the instruction issuing circuit 5A may hold the execution instruction to the arithmetic unit when the variance value is not less than the threshold value. For example, even if the number of concurrent executions is within an allowable range, the current fluctuation may be large. As described above, in the third embodiment, it is possible to perform processing without greatly degrading performance by issuing an execution instruction in consideration of the data fluctuation.

また、各演算器における分布値の算出時間を短縮化するために、以下の式(2)により算出される分布値を用いることもできる。
分布値V'={Σ(Xi−Xn)} ・・・(2)
式(2)は、式(1)から要素数に応じた除算を省略したものである。つまり、分布値V'は、分散値Vの除算前の値であり、いわば演算結果から分散値を算出する過程で求まる値である。この場合、閾値レジスタ12Aには、各演算器における演算対象の要素数に応じた分布値の閾値を予め格納しておけばよい。分布値V'は、分散値Vと違い、合算する個数(最大32要素)によっても異なるためである。
Further, in order to shorten the calculation time of the distribution value in each computing unit, the distribution value calculated by the following equation (2) can also be used.
Distribution value V ′ = {Σ (Xi−Xn) 2 } (2)
Expression (2) is obtained by omitting division according to the number of elements from Expression (1). That is, the distribution value V ′ is a value before division of the variance value V, that is, a value obtained in the process of calculating the variance value from the calculation result. In this case, the threshold value register 12A may store in advance a threshold value of the distribution value corresponding to the number of elements to be calculated in each calculator. This is because the distribution value V ′ differs from the variance value V depending on the number of elements to be added (maximum 32 elements).

そのため、各演算器は、除算を省略して分布値を算出してデータ分散値レジスタ11Aに格納できる。その後、命令発行回路5Aは、演算器の演算対象の要素数に対応する閾値を閾値レジスタ12Aから読み出して、データ分散値レジスタ11Aから読み出した分布値との間で、同様に比較することができる。これにより、各演算器は、除算動作不要となり分布値V'の算出時間を短縮することができる。   Therefore, each computing unit can calculate the distribution value by omitting the division and store it in the data distribution value register 11A. Thereafter, the instruction issuing circuit 5A can read out the threshold value corresponding to the number of elements to be calculated by the computing unit from the threshold value register 12A and similarly compare it with the distribution value read out from the data distribution value register 11A. . Thereby, each arithmetic unit becomes unnecessary, and the calculation time of the distribution value V ′ can be shortened.

図7は、本発明の実施の形態3にかかる演算器同時実行制御処理の例を示すタイムチャートである。図7では、演算処理する要素数を"4"としている。尚、実際には、実行指示から結果が得られるまで数サイクルを必要とするが、ここでは、説明の便宜のため、演算結果とデータ分散値はそのタイミングで生成されると仮定したタイムチャートとしている。   FIG. 7 is a time chart showing an example of the arithmetic unit simultaneous execution control process according to the third embodiment of the present invention. In FIG. 7, the number of elements to be processed is “4”. In practice, several cycles are required until the result is obtained from the execution instruction. Here, for convenience of explanation, the calculation result and the data distribution value are assumed to be generated at that timing. Yes.

ここで、データ分散値(分布値)の生成について説明する。タイミングt1において、命令発行回路5Aは、加算器6Aを起動するために実行指示103Aを発行し、加算器6Aは、セット0の演算結果を汎用レジスタ10Aに、セット0の分布値A1をデータ分散値レジスタ11Aに格納する。次に、タイミングt2において、命令発行回路5Aは、加算器6Aを起動するために実行指示103Aを発行し、加算器6Aは、セット1の演算結果を汎用レジスタ10Aに、セット0及び1の分布値A2をデータ分散値レジスタ11Aに格納する。そして、タイミングt3において、命令発行回路5Aは、加算器6Aを起動するために実行指示103Aを発行し、加算器6Aは、セット2の演算結果を汎用レジスタ10Aに、セット0〜2の分布値A3をデータ分散値レジスタ11Aに格納する。さらに、タイミングt4において、命令発行回路5Aは、加算器6Aを起動するために実行指示103Aを発行し、加算器6Aは、セット3の演算結果を汎用レジスタ10Aに、セット0〜3の分布値A4をデータ分散値レジスタ11Aに格納する。また、乗算器8Aもタイミングt1〜t4において、セット0〜3の演算結果と、セット0〜3の分布値C1〜C4とをそれぞれ汎用レジスタ10A及びデータ分散値レジスタ11Aに格納する。このようにデータ分散値は、処理する要素を前タイミング結果に足しこみながら生成していく。   Here, generation of a data distribution value (distribution value) will be described. At timing t1, the instruction issuing circuit 5A issues an execution instruction 103A to activate the adder 6A. The adder 6A distributes the set 0 operation result to the general-purpose register 10A and the set 0 distribution value A1 to the data distribution. Store in the value register 11A. Next, at timing t2, the instruction issuing circuit 5A issues an execution instruction 103A to activate the adder 6A, and the adder 6A distributes the operation result of set 1 to the general-purpose register 10A and the distribution of sets 0 and 1 The value A2 is stored in the data distribution value register 11A. At timing t3, the instruction issuing circuit 5A issues an execution instruction 103A to activate the adder 6A, and the adder 6A sends the operation result of set 2 to the general-purpose register 10A and the distribution values of sets 0 to 2 A3 is stored in the data distribution value register 11A. Further, at timing t4, the instruction issuing circuit 5A issues an execution instruction 103A to activate the adder 6A, and the adder 6A sends the operation result of set 3 to the general-purpose register 10A and the distribution values of sets 0 to 3 A4 is stored in the data distribution value register 11A. The multiplier 8A also stores the calculation results of the sets 0 to 3 and the distribution values C1 to C4 of the sets 0 to 3 in the general-purpose register 10A and the data distribution value register 11A, respectively, at timings t1 to t4. In this way, the data distribution value is generated while adding the element to be processed to the previous timing result.

一方、演算器を起動する制御について説明する。タイミングt2において、プロセッサ4Aは、加算器6Aと乗算器8Aが動作しているので、実行指示同時発行数100A"2"を比較報告回路3に通知する。同時に、プロセッサ4Nは、加算器6Nが動作しているので、実行指示同時発行数100N"1"を比較報告回路3に通知する。   On the other hand, control for starting the arithmetic unit will be described. At timing t2, since the adder 6A and the multiplier 8A are operating, the processor 4A notifies the comparison report circuit 3 of the execution instruction simultaneous issue number 100A “2”. At the same time, since the adder 6N is operating, the processor 4N notifies the comparison report circuit 3 of the execution instruction simultaneous issue number 100N "1".

タイミングt5において、命令発行回路5Aは、直前のタイミングt4で比較報告回路3から通知された実行可能演算器残数101A"0"を参照して、演算器の起動を行う。その際に、命令発行回路5Aは、タイミングt4で演算が完了した加算器6Aの演算結果に対応する分布値A4及び乗算器8Aの演算結果に対応する分布値C4を、データ分散値レジスタ11Aから参照しつつ、乗算器9Aの起動判断を行う。ここでは、分布値"A4"と分布値"C4"の値が閾値より小さいものとする。この場合、命令発行回路5Aは、乗算器9Aが実行可能と判断し、タイミングt5で実行指示106Aを発行する。また、タイミングt5において仮に分布値"A4"と分布値"C4"の値のいずれかが閾値を上回っていた場合、実行可能演算器残数101Aに余裕があったとしても、命令発行回路5Aは、乗算器9Aの実行指示の発行を保留する。   At the timing t5, the instruction issuing circuit 5A refers to the executable arithmetic unit remaining number 101A “0” notified from the comparison report circuit 3 at the immediately preceding timing t4, and activates the arithmetic unit. At that time, the instruction issuing circuit 5A obtains, from the data distribution value register 11A, the distribution value A4 corresponding to the calculation result of the adder 6A and the distribution value C4 corresponding to the calculation result of the multiplier 8A. While referring to, the activation determination of the multiplier 9A is performed. Here, it is assumed that the distribution value “A4” and the distribution value “C4” are smaller than the threshold value. In this case, the instruction issuing circuit 5A determines that the multiplier 9A can be executed, and issues an execution instruction 106A at timing t5. In addition, if any of the distribution value “A4” and the distribution value “C4” exceeds the threshold value at the timing t5, the instruction issuing circuit 5A does not matter even if the remaining number of executable arithmetic units 101A has a margin. The issuing of the execution instruction of the multiplier 9A is suspended.

このように、本実施の形態3では、読み出すデータの分散値を参照しながら起動判断を行っているので、データの変動分を考慮して実行指示を出すことができ、演算処理装置300全体の性能を大きく落とさない処理が可能となる。   As described above, in the third embodiment, since the activation determination is performed with reference to the dispersion value of the data to be read, an execution instruction can be issued in consideration of the data variation, and the entire arithmetic processing unit 300 can be Processing that does not significantly reduce performance is possible.

<その他の発明の実施の形態>
尚、本発明の実施の形態2は、電圧変動に対応した処理装置において、同時に動作させる演算器の動作状態を把握し、把握した結果から演算器起動をずらして動作させることにより、同時に動作開始する演算器を減少させて電圧変動を低減させることを特徴としている。
<Other embodiments of the invention>
In the second embodiment of the present invention, in the processing apparatus that supports voltage fluctuation, the operation state of the arithmetic units that are operated simultaneously is grasped, and the operation start is shifted from the grasped results to start the operation simultaneously. This is characterized in that voltage fluctuations are reduced by reducing the number of arithmetic units to be operated.

具体的には、設定値を可変にできる閾値レジスタを用意しておいて、動作させる演算器数を把握できる信号を各プロセッサで把握しながら全演算器の動作数が閾値を超えた場合、電圧変動が急峻にならないように閾値を超えた演算器の動作を遅らせるように動作させる。プログラムで指定される演算器の動作数に依存して電圧値が変わるが、閾値レジスタを電圧変動の最大許容値に設定することで大きく性能を落とさない処理が可能となる。   Specifically, a threshold register that can change the set value is prepared, and when the number of operations of all the computing units exceeds the threshold while grasping the signal that can grasp the number of computing units to be operated by each processor, the voltage is The operation of the arithmetic unit exceeding the threshold is delayed so that the fluctuation does not become steep. Although the voltage value changes depending on the number of operations of the arithmetic unit specified by the program, the threshold value register is set to the maximum allowable value of the voltage fluctuation, so that processing without greatly degrading the performance becomes possible.

そして、演算器動作数の他にデータに依存しても電圧変動値が変わるので、演算器で処理するデータのばらつき値として分散値を参照しながら動作させる演算器数を可変にできる処理装置も提供する。具体的には、汎用レジスタにデータを書き込む際に、統計学で使用されている分散値を回路で求めながら最後の算出結果を汎用レジスタ分散値レジスタに保持する。演算器を動作させる場合には、演算器の動作数に加えて汎用レジスタ分散値も参考にしながら電圧変動が急峻にならないように演算器の動作を遅らせるように動作させる。   And since the voltage fluctuation value also changes depending on the data in addition to the number of operation of the arithmetic unit, there is also a processing device that can vary the number of arithmetic units to operate while referring to the dispersion value as the variation value of the data processed by the arithmetic unit. provide. Specifically, when data is written to the general-purpose register, the final calculation result is held in the general-purpose register distributed value register while obtaining the distribution value used in statistics by the circuit. When operating the arithmetic unit, the operation of the arithmetic unit is delayed so as not to make the voltage fluctuation steep while referring to the general-purpose register distribution value in addition to the number of operations of the arithmetic unit.

このように、本発明の実施の形態2では、設定値を可変にできる閾値レジスタを電圧変動の最大許容値に設定しながら演算器の動作状態を把握して処理を行うようにしているので、大きく性能を落とすことなく電圧変動に対応した動作が可能となる。   As described above, in the second embodiment of the present invention, since the threshold value register that can change the set value is set to the maximum allowable value of the voltage fluctuation, the operation state of the arithmetic unit is grasped and processed. The operation corresponding to the voltage fluctuation is possible without greatly degrading the performance.

言い換えると、本発明の実施の形態2にかかる演算処理装置200は、電圧変動対応処理装置と呼ぶことができる。そして、当該電圧変動対応処理装置は、設定値を可変に変更できる閾値レジスタを追加して、全プロセッサ内の演算器数をカウントする機構を用意する。全プロセッサの演算器数が閾値を超える場合は演算起動が追加される演算器に対して演算起動を遅らせることで、電圧変動を抑止することを特徴とする。   In other words, the arithmetic processing device 200 according to the second embodiment of the present invention can be referred to as a voltage fluctuation handling processing device. Then, the voltage fluctuation handling processor adds a threshold register that can change the set value variably, and prepares a mechanism for counting the number of arithmetic units in all processors. When the number of arithmetic units of all the processors exceeds a threshold value, voltage fluctuation is suppressed by delaying the arithmetic start for the arithmetic unit to which the arithmetic start is added.

また、本発明の実施の形態3は、演算器が処理する汎用レジスタ内データから分散値から求めて、レジスタに保存する機能を持つ。そして、演算処理を開始する場合、汎用レジスタからのデータ読み出しと同時にデータ分散値の読み出しも行う。ここで、大きなデータ分散差を示す内容では、演算器の電圧変動が大きくなる可能性があり、このデータ分散値を参考にして演算器の動作を制御する。そして、データ分散値が閾値を超える場合は、演算起動が追加される演算器に対して演算起動を遅らせることで、電圧変動を抑止することを特徴とする。   Further, the third embodiment of the present invention has a function of obtaining from a distributed value from data in a general-purpose register processed by an arithmetic unit and storing it in a register. When the arithmetic processing is started, the data dispersion value is read simultaneously with the data reading from the general-purpose register. Here, in the content indicating a large data dispersion difference, there is a possibility that the voltage fluctuation of the arithmetic unit becomes large, and the operation of the arithmetic unit is controlled with reference to this data dispersion value. And when a data dispersion | distribution value exceeds a threshold value, voltage fluctuation is suppressed by delaying calculation start with respect to the arithmetic unit to which calculation start is added.

さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.

(付記1) 同時に実行可能な複数の演算器を有する複数の処理回路と、
各処理回路で実行中の演算器の総数を集計する制御回路と、を備え、
前記複数の処理回路のそれぞれは、前記制御回路が集計した集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する
演算処理装置。
(Supplementary Note 1) A plurality of processing circuits having a plurality of arithmetic units that can be executed simultaneously;
A control circuit that counts the total number of arithmetic units being executed in each processing circuit, and
Each of the plurality of processing circuits is an arithmetic processing unit that determines whether or not to execute an unexecuted arithmetic unit among arithmetic units included in the arithmetic processing unit according to a total result obtained by the control circuit.

(付記2) 前記制御回路は、
前記複数の処理回路全てにおいて同時に実行可能な演算器の数の上限値を記憶する閾値レジスタを有し、
前記複数の処理回路のそれぞれは、自己の処理回路内で同時に実行中の演算器の数である同時実行演算器数を前記制御回路へ通知し、
前記制御回路は、各処理回路から通知された前記同時実行演算器数を集計して前記総数を算出し、
当該総数と前記上限値との差分値を各処理回路へ通知し、
前記複数の処理回路のそれぞれは、前記差分値に応じて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする付記1に記載の演算処理装置。
(Supplementary Note 2) The control circuit includes:
A threshold register for storing an upper limit value of the number of arithmetic units that can be simultaneously executed in all of the plurality of processing circuits;
Each of the plurality of processing circuits notifies the control circuit of the number of simultaneously executed computing units, which is the number of computing units being simultaneously executed in its own processing circuit,
The control circuit calculates the total number by summing up the number of simultaneous execution arithmetic units notified from each processing circuit,
Notifying each processing circuit of the difference value between the total number and the upper limit value,
The arithmetic processing device according to claim 1, wherein each of the plurality of processing circuits determines whether or not to execute the unexecuted arithmetic unit according to the difference value.

(付記3) 前記複数の処理回路のそれぞれは、前記実行すると決定した演算器の数が前記差分値を超える場合、当該超える分の演算器の実行の開始を保留することを特徴とする付記2に記載の演算処理装置。   (Supplementary note 3) When the number of arithmetic units determined to be executed exceeds the difference value, each of the plurality of processing circuits suspends the start of execution of the arithmetic units for the excess. The arithmetic processing unit described in 1.

(付記4) 前記制御回路は、前記演算処理装置全体における電圧変動量の許容値に基づき定まる同時に実行可能な演算器の数を外部から受け付け、当該受け付けた演算器の数を前記上限値として前記閾値レジスタを更新することを特徴とする付記2又は3に記載の演算処理装置。   (Additional remark 4) The said control circuit receives the number of the arithmetic units which can be performed simultaneously determined based on the allowable value of the voltage fluctuation amount in the said whole arithmetic processing apparatus from the outside, The said number of the arithmetic units received as the said upper limit 4. The arithmetic processing device according to appendix 2 or 3, wherein the threshold value register is updated.

(付記5) 前記複数の処理回路のうち一の処理回路は、前記未実行の演算器を実行すると決定した場合、その旨を他の処理回路に対して通知することを特徴とする付記2乃至4のいずれか1項に記載の演算処理装置。   (Supplementary Note 5) When one of the plurality of processing circuits decides to execute the unexecuted computing unit, it notifies the other processing circuits to that effect. 5. The arithmetic processing apparatus according to any one of 4 above.

(付記6) 前記複数の処理回路のそれぞれは、
各演算器における演算結果のデータのばらつきを示す分布値をさらに考慮して前記未実行の演算器を実行するか否かを決定する
ことを特徴とする付記1乃至5のいずれか1項に記載の演算処理装置。
(Supplementary Note 6) Each of the plurality of processing circuits includes:
6. The method according to any one of appendices 1 to 5, wherein whether or not to execute the unexecuted computing unit is determined in consideration of a distribution value indicating a variation in data of computation results in each computing unit. Arithmetic processing unit.

(付記7) 前記複数の処理回路のそれぞれは、
各演算器における演算対象の要素数に応じた前記分布値の閾値を予め保持し、
前記演算結果から分散値を算出する過程で求まる値を前記分布値とし、
当該分布値と前記閾値とに基づいて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする付記6に記載の演算処理装置。
(Supplementary Note 7) Each of the plurality of processing circuits includes:
A threshold value of the distribution value according to the number of elements to be calculated in each calculator is previously held,
A value obtained in the process of calculating a variance value from the calculation result is set as the distribution value,
The arithmetic processing apparatus according to appendix 6, wherein whether or not to execute the unexecuted arithmetic unit is determined based on the distribution value and the threshold value.

(付記8) 同時に実行可能な複数の演算器を有する複数の処理回路を制御する制御回路が、各処理回路で実行中の演算器の総数を集計し、
前記複数の処理回路のそれぞれが、前記集計された集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する
演算器同時実行制御方法。
(Supplementary Note 8) A control circuit that controls a plurality of processing circuits having a plurality of arithmetic units that can be executed simultaneously counts the total number of arithmetic units being executed in each processing circuit,
An arithmetic unit simultaneous execution control method in which each of the plurality of processing circuits determines whether or not to execute an unexecuted arithmetic unit among arithmetic units included in the processing circuit according to the aggregated result.

(付記9) 前記複数の処理回路のそれぞれが、自己の処理回路内で同時に実行中の演算器の数である同時実行演算器数を前記制御回路へ通知し、
前記制御回路が、
各処理回路から通知された前記同時実行演算器数を集計して前記総数を算出し、
当該総数と前記複数の処理回路全てにおいて同時に実行可能な演算器の数の上限値との差分値を各処理回路へ通知し、
前記複数の処理回路のそれぞれが、前記差分値に応じて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする付記8に記載の演算器同時実行制御方法。
(Supplementary Note 9) Each of the plurality of processing circuits notifies the control circuit of the number of simultaneously executing arithmetic units that is the number of arithmetic units being simultaneously executed in its own processing circuit,
The control circuit comprises:
The total number is calculated by counting the number of simultaneously executed arithmetic units notified from each processing circuit,
Notifying each processing circuit of a difference value between the total number and the upper limit value of the number of arithmetic units that can be simultaneously executed in all the plurality of processing circuits,
The arithmetic unit simultaneous execution control method according to appendix 8, wherein each of the plurality of processing circuits determines whether or not to execute the unexecuted arithmetic unit according to the difference value.

(付記10) 前記複数の処理回路のそれぞれは、前記実行すると決定した演算器の数が前記差分値を超える場合、当該超える分の演算器の実行の開始を保留することを特徴とする付記9に記載の演算器同時実行制御方法。   (Supplementary Note 10) When the number of arithmetic units determined to be executed exceeds the difference value, each of the plurality of processing circuits suspends the start of execution of the arithmetic units for the excess. 2. The arithmetic unit simultaneous execution control method according to 1.

(付記11) 前記制御回路は、前記演算処理装置全体における電圧変動量の許容値に基づき定まる同時に実行可能な演算器の数を外部から受け付け、当該受け付けた演算器の数を前記上限値として前記閾値レジスタを更新することを特徴とする付記9又は10に記載の演算器同時実行制御方法。   (Additional remark 11) The said control circuit receives the number of the arithmetic units which can be performed simultaneously determined based on the allowable value of the voltage fluctuation amount in the said whole arithmetic processing apparatus from the outside, The said number of arithmetic units received as the said upper limit The arithmetic unit simultaneous execution control method according to appendix 9 or 10, wherein the threshold register is updated.

(付記12) 前記複数の処理回路のうち一の処理回路は、前記未実行の演算器を実行すると決定した場合、その旨を他の処理回路に対して通知することを特徴とする付記9乃至11のいずれか1項に記載の演算器同時実行制御方法。   (Supplementary Note 12) When one of the plurality of processing circuits decides to execute the unexecuted computing unit, it notifies the other processing circuits to that effect. 12. The arithmetic unit simultaneous execution control method according to any one of 11 above.

(付記13) 前記複数の処理回路のそれぞれは、
各演算器における演算結果のデータのばらつきを示す分布値をさらに考慮して前記未実行の演算器を実行するか否かを決定する
ことを特徴とする付記8乃至12のいずれか1項に記載の演算器同時実行制御方法。
(Supplementary Note 13) Each of the plurality of processing circuits includes:
13. The method according to any one of appendices 8 to 12, wherein it is determined whether or not to execute the unexecuted computing unit in consideration of a distribution value indicating variation in data of computation results in each computing unit. Method for simultaneous execution control of computing units.

(付記14) 前記複数の処理回路のそれぞれは、
各演算器における演算対象の要素数に応じた前記分布値の閾値を予め保持し、
前記演算結果から分散値を算出する過程で求まる値を前記分布値とし、
当該分布値と前記閾値とに基づいて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする付記13に記載の演算器同時実行制御方法。
(Supplementary Note 14) Each of the plurality of processing circuits includes:
A threshold value of the distribution value according to the number of elements to be calculated in each calculator is previously held,
A value obtained in the process of calculating a variance value from the calculation result is set as the distribution value,
14. The computing unit simultaneous execution control method according to appendix 13, wherein whether or not to execute the unexecuted computing unit is determined based on the distribution value and the threshold value.

100 演算処理装置
200 演算処理装置
300 演算処理装置
110 制御回路
120A 処理回路
120N 処理回路
13A 演算器
13M 演算器
14A 演算器
14L 演算器
1 制御回路
2 閾値レジスタ
3 比較報告回路
4A プロセッサ
5A 命令発行回路
6A 加算器
7A 加算器
8A 乗算器
9A 乗算器
10A 汎用レジスタ
11A データ分散値レジスタ
12A 閾値レジスタ
100A 実行指示同時発行数
101A 実行可能演算器残数
102A データ分散値
103A 実行指示
104A 実行指示
105A 実行指示
106A 実行指示
4N プロセッサ
5N 命令発行回路
6N 加算器
7N 加算器
8N 乗算器
9N 乗算器
10N 汎用レジスタ
11N データ分散値レジスタ
12N 閾値レジスタ
100N 実行指示同時発行数
101N 実行可能演算器余裕数
102N データ分散値
103N 実行指示
104N 実行指示
105N 実行指示
106N 実行指示
900 演算処理装置
94A プロセッサ
95A 命令発行回路
94N プロセッサ
95N 命令発行回路
t1 タイミング
t2 タイミング
t3 タイミング
t4 タイミング
t5 タイミング
t6 タイミング
t7 タイミング
t8 タイミング
t9 タイミング
DESCRIPTION OF SYMBOLS 100 Arithmetic processor 200 Arithmetic processor 300 Arithmetic processor 110 Control circuit 120A Processing circuit 120N Processing circuit 13A Arithmetic unit 13M Arithmetic unit 14A Arithmetic unit 14L Arithmetic unit 1 Control circuit 2 Threshold register 3 Comparison report circuit 4A Processor 5A Instruction issuing circuit 6A Adder 7A Adder 8A Multiplier 9A Multiplier 10A General-purpose register 11A Data distribution value register 12A Threshold register 100A Execution instruction simultaneous issue number 101A Executable arithmetic unit remaining number 102A Data distribution value 103A Execution instruction 104A Execution instruction 105A Execution instruction 106A Execution Instruction 4N Processor 5N Instruction issuing circuit 6N Adder 7N Adder 8N Multiplier 9N Multiplier 10N General purpose register 11N Data distribution value register 12N Threshold register 100N Execution instruction simultaneous issue number 1 1N Executable arithmetic unit allowance 102N Data distribution value 103N Execution instruction 104N Execution instruction 105N Execution instruction 106N Execution instruction 900 Arithmetic processor 94A processor 95A instruction issuing circuit 94N processor 95N instruction issuing circuit t1 timing t2 timing t3 timing t4 timing t5 timing t6 timing Timing t7 timing t8 timing t9 timing

Claims (10)

同時に実行可能な複数の演算器を有する複数の処理回路と、
各処理回路で実行中の演算器の総数を集計する制御回路と、を備え、
前記複数の処理回路のそれぞれは、前記制御回路が集計した集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する
演算処理装置。
A plurality of processing circuits having a plurality of computing units that can be executed simultaneously;
A control circuit that counts the total number of arithmetic units being executed in each processing circuit, and
Each of the plurality of processing circuits is an arithmetic processing unit that determines whether or not to execute an unexecuted arithmetic unit among arithmetic units included in the arithmetic processing unit according to a total result obtained by the control circuit.
前記制御回路は、
前記複数の処理回路全てにおいて同時に実行可能な演算器の数の上限値を記憶する閾値レジスタを有し、
前記複数の処理回路のそれぞれは、自己の処理回路内で同時に実行中の演算器の数である同時実行演算器数を前記制御回路へ通知し、
前記制御回路は、各処理回路から通知された前記同時実行演算器数を集計して前記総数を算出し、
当該総数と前記上限値との差分値を各処理回路へ通知し、
前記複数の処理回路のそれぞれは、前記差分値に応じて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする請求項1に記載の演算処理装置。
The control circuit includes:
A threshold register for storing an upper limit value of the number of arithmetic units that can be simultaneously executed in all of the plurality of processing circuits;
Each of the plurality of processing circuits notifies the control circuit of the number of simultaneously executed computing units, which is the number of computing units being simultaneously executed in its own processing circuit,
The control circuit calculates the total number by summing up the number of simultaneous execution arithmetic units notified from each processing circuit,
Notifying each processing circuit of the difference value between the total number and the upper limit value,
2. The arithmetic processing device according to claim 1, wherein each of the plurality of processing circuits determines whether or not to execute the unexecuted arithmetic unit according to the difference value.
前記複数の処理回路のそれぞれは、前記実行すると決定した演算器の数が前記差分値を超える場合、当該超える分の演算器の実行の開始を保留することを特徴とする請求項2に記載の演算処理装置。   3. The processing circuit according to claim 2, wherein each of the plurality of processing circuits suspends the start of execution of the arithmetic units for the excess when the number of arithmetic units determined to be executed exceeds the difference value. Arithmetic processing unit. 前記制御回路は、前記演算処理装置全体における電圧変動量の許容値に基づき定まる同時に実行可能な演算器の数を外部から受け付け、当該受け付けた演算器の数を前記上限値として前記閾値レジスタを更新することを特徴とする請求項2又は3に記載の演算処理装置。   The control circuit receives from the outside the number of arithmetic units that can be executed simultaneously, which is determined based on an allowable value of the voltage fluctuation amount in the entire arithmetic processing unit, and updates the threshold register using the received number of arithmetic units as the upper limit value. The arithmetic processing apparatus according to claim 2 or 3, wherein 前記複数の処理回路のうち一の処理回路は、前記未実行の演算器を実行すると決定した場合、その旨を他の処理回路に対して通知することを特徴とする請求項2乃至4のいずれか1項に記載の演算処理装置。   5. The processing circuit according to claim 2, wherein when one of the plurality of processing circuits determines to execute the unexecuted computing unit, the processing circuit notifies the other processing circuit of the fact. The arithmetic processing unit according to claim 1. 前記複数の処理回路のそれぞれは、
各演算器における演算結果のデータのばらつきを示す分布値をさらに考慮して前記未実行の演算器を実行するか否かを決定する
ことを特徴とする請求項1乃至5のいずれか1項に記載の演算処理装置。
Each of the plurality of processing circuits is
6. The method according to claim 1, wherein whether or not to execute the unexecuted computing unit is determined in consideration of a distribution value indicating a variation in data of computation results in each computing unit. The arithmetic processing unit described.
前記複数の処理回路のそれぞれは、
各演算器における演算対象の要素数に応じた前記分布値の閾値を予め保持し、
前記演算結果から分散値を算出する過程で求まる値を前記分布値とし、
当該分布値と前記閾値とに基づいて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする請求項6に記載の演算処理装置。
Each of the plurality of processing circuits is
A threshold value of the distribution value according to the number of elements to be calculated in each calculator is previously held,
A value obtained in the process of calculating a variance value from the calculation result is set as the distribution value,
The arithmetic processing apparatus according to claim 6, wherein whether or not to execute the unexecuted computing unit is determined based on the distribution value and the threshold value.
同時に実行可能な複数の演算器を有する複数の処理回路を制御する制御回路が、各処理回路で実行中の演算器の総数を集計し、
前記複数の処理回路のそれぞれが、前記集計された集計結果に応じて自己が有する演算器のうち未実行の演算器を実行するか否かを決定する
演算器同時実行制御方法。
A control circuit that controls a plurality of processing circuits having a plurality of arithmetic units that can be executed simultaneously counts the total number of arithmetic units that are being executed in each processing circuit,
An arithmetic unit simultaneous execution control method in which each of the plurality of processing circuits determines whether or not to execute an unexecuted arithmetic unit among arithmetic units included in the processing circuit according to the aggregated result.
前記複数の処理回路のそれぞれが、自己の処理回路内で同時に実行中の演算器の数である同時実行演算器数を前記制御回路へ通知し、
前記制御回路が、
各処理回路から通知された前記同時実行演算器数を集計して前記総数を算出し、
当該総数と前記複数の処理回路全てにおいて同時に実行可能な演算器の数の上限値との差分値を各処理回路へ通知し、
前記複数の処理回路のそれぞれが、前記差分値に応じて前記未実行の演算器を実行するか否かを決定する
ことを特徴とする請求項8に記載の演算器同時実行制御方法。
Each of the plurality of processing circuits notifies the control circuit of the number of simultaneously executed computing units, which is the number of computing units being simultaneously executed in its own processing circuit,
The control circuit comprises:
The total number is calculated by counting the number of simultaneously executed arithmetic units notified from each processing circuit,
Notifying each processing circuit of a difference value between the total number and the upper limit value of the number of arithmetic units that can be simultaneously executed in all the plurality of processing circuits,
9. The arithmetic unit simultaneous execution control method according to claim 8, wherein each of the plurality of processing circuits determines whether to execute the unexecuted arithmetic unit according to the difference value.
前記複数の処理回路のそれぞれは、前記実行すると決定した演算器の数が前記差分値を超える場合、当該超える分の演算器の実行の開始を保留することを特徴とする請求項9に記載の演算器同時実行制御方法。   10. The processing circuit according to claim 9, wherein each of the plurality of processing circuits suspends the start of execution of the arithmetic units for the excess when the number of arithmetic units determined to be executed exceeds the difference value. 11. An arithmetic unit simultaneous execution control method.
JP2011208889A 2011-09-26 2011-09-26 Arithmetic processing device and arithmetic unit simultaneous execution control method Active JP5804507B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011208889A JP5804507B2 (en) 2011-09-26 2011-09-26 Arithmetic processing device and arithmetic unit simultaneous execution control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011208889A JP5804507B2 (en) 2011-09-26 2011-09-26 Arithmetic processing device and arithmetic unit simultaneous execution control method

Publications (2)

Publication Number Publication Date
JP2013069220A true JP2013069220A (en) 2013-04-18
JP5804507B2 JP5804507B2 (en) 2015-11-04

Family

ID=48474833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011208889A Active JP5804507B2 (en) 2011-09-26 2011-09-26 Arithmetic processing device and arithmetic unit simultaneous execution control method

Country Status (1)

Country Link
JP (1) JP5804507B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016212554A (en) * 2015-05-01 2016-12-15 富士通株式会社 Arithmetic processing device and control method for the same
KR20190132455A (en) 2017-03-27 2019-11-27 닛테츠 스테인레스 가부시키가이샤 Ferritic stainless steel sheet and its manufacturing method, and exhaust parts

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02118870A (en) * 1988-10-28 1990-05-07 Nec Corp Constitution control system for arithmetic unit
JP2000047872A (en) * 1998-08-03 2000-02-18 Hitachi Ltd Microprocessor equipped with low-power-consumption operating function
JP2000322259A (en) * 1999-05-11 2000-11-24 Hitachi Ltd Data processor
JP2006039840A (en) * 2004-07-26 2006-02-09 Nec Computertechno Ltd Vector processor, information processor, and vector processing method
JP2009003807A (en) * 2007-06-22 2009-01-08 Fujitsu Ltd Microprocessor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02118870A (en) * 1988-10-28 1990-05-07 Nec Corp Constitution control system for arithmetic unit
JP2000047872A (en) * 1998-08-03 2000-02-18 Hitachi Ltd Microprocessor equipped with low-power-consumption operating function
JP2000322259A (en) * 1999-05-11 2000-11-24 Hitachi Ltd Data processor
JP2006039840A (en) * 2004-07-26 2006-02-09 Nec Computertechno Ltd Vector processor, information processor, and vector processing method
JP2009003807A (en) * 2007-06-22 2009-01-08 Fujitsu Ltd Microprocessor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016212554A (en) * 2015-05-01 2016-12-15 富士通株式会社 Arithmetic processing device and control method for the same
KR20190132455A (en) 2017-03-27 2019-11-27 닛테츠 스테인레스 가부시키가이샤 Ferritic stainless steel sheet and its manufacturing method, and exhaust parts

Also Published As

Publication number Publication date
JP5804507B2 (en) 2015-11-04

Similar Documents

Publication Publication Date Title
US7657766B2 (en) Apparatus for an energy efficient clustered micro-architecture
US9606797B2 (en) Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor
US8527796B2 (en) Providing adaptive frequency control for a processor using utilization information
US8560812B2 (en) Device for executing an instruction using a target execution speed
US8643656B2 (en) Energy-aware task consolidation on graphics processing unit (GPU)
Jeon et al. Warped-DMR: Light-weight error detection for GPGPU
US9632559B2 (en) Delaying execution in a processor to increase power savings
Ananthanarayanan et al. Why let resources idle? Aggressive cloning of jobs with Dolly
Jeon et al. TPC: Target-driven parallelism combining prediction and correction to reduce tail latency in interactive services
EP2551767B1 (en) Method and device for adjusting clock interrupt cycle
JP2017509059A (en) Synchronize interrupt handling to reduce power consumption
JP2018529169A (en) Control of voltage deviation in processing systems
JP5804507B2 (en) Arithmetic processing device and arithmetic unit simultaneous execution control method
Drumond et al. Equinox: Training (for free) on a custom inference accelerator
Bansal et al. Energy efficient backup overloading schemes for fault tolerant scheduling of real-time tasks
Gottschlag et al. Mechanism to mitigate avx-induced frequency reduction
KR20080025652A (en) Demand-based processing resource allocation
CN108228242B (en) Configurable and flexible instruction scheduler
US20200183734A1 (en) Pipelined matrix multiplication at a graphics processing unit
US20110061032A1 (en) High-level synthesis apparatus, high-level synthesis method, and computer readable medium comprising high-level synthesis program
Tan et al. Modeling and characterizing GPGPU reliability in the presence of soft errors
Lai et al. A dominant predecessor duplication scheduling algorithm for heterogeneous systems
Djosic et al. Dynamic voltage and frequency scaling algorithm for fault-tolerant real-time systems
US10983790B2 (en) Arithmetic processing unit and control method for arithmetic processing unit
JP5881198B2 (en) Passive thermal management of priority-based intelligent platforms

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140807

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

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: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150826

R150 Certificate of patent or registration of utility model

Ref document number: 5804507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150