JP2011003052A - Data processing apparatus, control method and program - Google Patents
Data processing apparatus, control method and program Download PDFInfo
- Publication number
- JP2011003052A JP2011003052A JP2009146146A JP2009146146A JP2011003052A JP 2011003052 A JP2011003052 A JP 2011003052A JP 2009146146 A JP2009146146 A JP 2009146146A JP 2009146146 A JP2009146146 A JP 2009146146A JP 2011003052 A JP2011003052 A JP 2011003052A
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- processing
- cpus
- cpu
- completed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Numerical Control (AREA)
- Programmable Controllers (AREA)
Abstract
Description
本発明は、複数のCPU(Central Processing Unit)を用いてデータ処理を行うデータ処理装置等に関する。 The present invention relates to a data processing apparatus that performs data processing using a plurality of CPUs (Central Processing Units).
例えば、工業用コントローラ製品のような組込み機器では、センサ等の入力や制御用出力に対し一定時間内に応答する、リアルタイム性が求められる。
そのような組込み機器のソフトウェアは、一般的に、一定の時間間隔で決められた処理を繰り返し実行する、周期処理で構成される。
このような組込み機器では、一定時間にできるだけ多くの処理や演算を実行することが高精度化につながるが、その処理時間は処理アルゴリズムに依存する。
周期処理は、目標とする点に工具(ドリルなど)を移動させる位置決め制御や、工具などが通過する軌跡を制御する補間制御を実行するが、各制御で使用する制御アルゴリズムにより、制御精度と処理時間は反比例の関係に(高精度である程処理時間が長くなる)になる。
また制御アルゴリズムが同じでもある条件(割込み発生など)で演算時間が長くなり、周期時間内に処理が完了しない場合がある。
特許文献1では、例えば使用する制御アルゴリズムを動的に変更するために、メインCPUが2ポートメモリを介してサブCPUが実行するプログラムを渡す方法を開示している。
For example, an embedded device such as an industrial controller product is required to have a real-time property that responds to a sensor input or a control output within a predetermined time.
Software for such embedded devices is generally composed of periodic processing that repeatedly executes processing determined at regular time intervals.
In such an embedded device, executing as many processes and operations as possible in a certain time leads to high accuracy, but the processing time depends on the processing algorithm.
Periodic processing executes positioning control to move a tool (such as a drill) to a target point and interpolation control to control the trajectory through which the tool passes. Control accuracy and processing are controlled by the control algorithm used in each control. The time is inversely related (the higher the accuracy, the longer the processing time).
In addition, the calculation time may be long under the same control algorithm (interrupt occurrence, etc.), and processing may not be completed within the period time.
Patent Document 1 discloses a method in which a main CPU passes a program executed by a sub CPU via a 2-port memory in order to dynamically change a control algorithm to be used, for example.
従来、周期処理の演算時間がある条件で長くなる場合があるため、制御精度は劣るものの確実に周期時間内に演算を完了する制御アルゴリズムを使用する必要があった。
また、特許文献1の技術では、サブCPUが実行するプログラムを動的に変更し、リセット解除によりサブCPUがプログラムを開始する方法を示しているが、サブCPUの処理が周期時間内に完了したか否かを判定することができないという課題がある。
Conventionally, since the calculation time of the periodic processing may become longer under certain conditions, it is necessary to use a control algorithm that reliably completes the calculation within the periodic time although the control accuracy is inferior.
Further, the technique of Patent Document 1 shows a method in which a program executed by the sub CPU is dynamically changed and the sub CPU starts the program by reset release. However, the processing of the sub CPU is completed within the cycle time. There is a problem that it cannot be determined.
本発明は、上記のような課題に鑑みたものであり、制限時間内にデータ処理を確実に完了させることとデータ処理結果の精度の向上を図ることの両者を同時に達成することを主な目的とする。 The present invention has been made in view of the above-described problems, and has as its main object to simultaneously achieve both of reliably completing data processing within the time limit and improving the accuracy of data processing results. And
本発明に係るデータ処理装置は、
複数のCPU(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を行わせるデータ処理装置であって、
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示部と、
所定の制限時間内にデータ処理が完了したCPUを判別する完了判別部と、
前記完了判別部によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択部とを有することを特徴とする。
The data processing apparatus according to the present invention
A data processing apparatus comprising a plurality of CPUs (Central Processing Units) for causing the plurality of CPUs to perform data processing that requires a long data processing time in order to increase the accuracy of data processing results.
Instructing the plurality of CPUs to which a plurality of processing algorithms that are targeted for the same data processing but have different accuracy of data processing results are assigned to start data processing according to the processing algorithms assigned to each of the CPUs, A process start instruction unit for causing the plurality of CPUs to perform data processing in parallel;
A completion determination unit that determines a CPU that has completed data processing within a predetermined time limit; and
And a processing result selection unit that selects a specific data processing result from the data processing results of the CPU determined that the data processing is completed by the completion determination unit.
本発明によれば、同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている複数のCPUに各々に割り当てられている処理アルゴリズムに従って並行してデータ処理を行わせ、制限時間内にデータ処理が完了したCPUのデータ処理結果の中から特定のデータ処理結果を選択するので、制限時間内にデータ処理を確実に完了させることが可能であるとともに、精度の高いデータ処理結果を選択することにより、データ処理結果の精度の向上を図ることが可能である。 According to the present invention, data processing is performed in parallel according to a processing algorithm assigned to each of a plurality of CPUs assigned to a plurality of processing algorithms assigned to the same data processing but with different accuracy of data processing results. Since the specific data processing result is selected from the data processing results of the CPU that has completed the data processing within the time limit, it is possible to reliably complete the data processing within the time limit and By selecting a high data processing result, it is possible to improve the accuracy of the data processing result.
実施の形態1.
本実施の形態及び実施の形態2以降では、確実に周期時間内に演算を完了する制御アルゴリズムと、周期時間内に演算を完了するかどうかは不確かながら、より制御精度の高い制御アルゴリズムとを毎周期同時に実行し、周期毎に演算が完了し、制御精度の高い結果を使用することにより、装置としての制御精度を向上させる仕組みを説明する。
Embodiment 1 FIG.
In the present embodiment and the second and subsequent embodiments, a control algorithm that reliably completes the calculation within the period time, and a control algorithm with higher control accuracy, although it is uncertain whether or not the calculation is completed within the period time. A mechanism for improving the control accuracy of the apparatus by executing simultaneously in the cycle, completing the calculation for each cycle, and using a result with high control accuracy will be described.
図1は、本実施の形態に係るデータ処理装置100の構成例を示す。
FIG. 1 shows a configuration example of a
図1に示すように、データ処理装置100は、入出力装置400及び共有メモリ500に接続され、また、メインCPU200とサブCPU300の2つのCPUを備える。
そして、データ処理装置100は、メインCPU200とサブCPU300に、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならない周期的なデータ処理を行わせる。
つまり、本実施の形態に係るデータ処理装置100を工業用コントローラ製品等に適用すると、制御精度を高めることにより加工精度は向上するが、それによりデータ処理時間が長くなり単位時間当たりの加工数が減少するというトレードオフとなる。
As shown in FIG. 1, the
The
In other words, when the
そして、本実施の形態では、メインCPU200に周期処理の管理と制御アルゴリズムAを割り当て、サブCPU300には、制御アルゴリズムBを割り当てている例を説明する。
制御アルゴリズムA及び制御アルゴリズムBは、同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる関係にある。
制御アルゴリズムAは、割り込み処理等があっても確実に周期時間(制限時間)内にデータ処理が完了するが、データ処理の精度は制御アルゴリズムBよりも劣るアルゴリズムである。
制御アルゴリズムBは、周期時間内にデータ処理が完了する保証はないが、データ処理の精度は制御アルゴリズムAよりも高いアルゴリズムである。
制御アルゴリズムは処理アルゴリズムの例である。
なお、以下では、「データ処理」及び「演算」は同じ意味で用いており、「周期処理」及び「周期演算」は周期的に行うデータ処理、演算を意味する。
In this embodiment, an example in which management of periodic processing and control algorithm A are assigned to the
Although the control algorithm A and the control algorithm B are targeted for the same data processing, the accuracy of the data processing result is different from each other.
The control algorithm A is an algorithm whose data processing accuracy is inferior to that of the control algorithm B although the data processing is reliably completed within the period time (time limit) even if there is an interrupt processing or the like.
Although the control algorithm B is not guaranteed to complete the data processing within the cycle time, the accuracy of the data processing is higher than that of the control algorithm A.
The control algorithm is an example of a processing algorithm.
In the following, “data processing” and “calculation” are used in the same meaning, and “periodic processing” and “periodic calculation” mean data processing and calculation performed periodically.
次に、メインCPU200の内部構成例を説明する。
Next, an internal configuration example of the
周期処理管理部201は、周期時間内に処理が完了することを管理する手段である。
The periodic
周期処理起動部202は、自CPUとサブCPUの周期処理を起動する手段である。
つまり、周期処理起動部202は、自CPUとサブCPUという複数のCPUに、各々に割り当てられている制御アルゴリズムに従ってデータ処理を開始するよう指示し、複数のCPUに並行してデータ処理を行わせる。
周期処理起動部202は処理開始指示部の例である。
The periodic
That is, the periodic
The periodic
周期処理判定部203は、自CPUとサブCPUの処理の完了を判定する手段である。
つまり、周期処理判定部203は、自CPUとサブCPUのうち、所定の周期時間(制限時間)内にデータ処理が完了したCPUを判別し、また、データ処理が完了したと判別したCPUのデータ処理結果の中から特定のデータ処理結果(具体的には、最も精度の高いデータ処理結果)を選択する。
周期処理判定部203は、完了判別部及び処理結果選択部の例である。
The periodic
That is, the periodic
The periodic
周期処理制御部204は、処理結果に基づいて出力制御する手段である。
また、周期処理制御部204は、サブCPU300の演算が周期時間内に完了していない場合に、サブCPU300に演算を終了するよう指示する。
周期処理制御部204は、終了指示部の例である。
The periodic
In addition, the periodic
The periodic
次に、サブCPU300の内部構成例を説明する。
周期処理演算部301は、メインCPU200からの起動指示により周期演算(制御アルゴリズムBによる演算)を実行する手段である。
周期処理完了通知部302は、サブCPU300の処理の完了をメインCPU200に通知する手段である。
周期処理完了通知部302がメインCPU200に通知する方法としては、他に割込み信号や通信用レジスタなどが考えられるが、これに限定されない。
Next, an internal configuration example of the
The cycle
The periodic process
Other methods for the periodic processing
次に、図4のフローチャートを参照して、本実施の形態に係るデータ処理装置100の動作例について説明する。
Next, an operation example of the
メインCPU200では、タイマ(図示せず)などにより周期処理が開始されると、周期処理管理部201は、周期処理起動部202に通知する。
周期処理起動部202は、自身(周期処理起動部202)に、周期処理の起動を通知して制御アルゴリズムAによるデータ処理を開始するとともに、サブCPU300に周期処理の起動を通知する(S401)(処理開始指示ステップ)。
サブCPU300は、メインCPU200から周期処理の起動通知を受信すると、周期処理演算部301が制御アルゴリズムBによる周期演算を開始する。
サブCPU300内の周期処理完了通知部302は、周期処理演算部301における周期処理が完了すると、共有メモリ500内に演算結果を格納するとともに、メインCPU200の周期処理判定部203に周期処理の完了を通知する。完了通知には、サブCPU300の識別子を含ませる。
また、メインCPU200の周期処理起動部202は、制御アルゴリズムAによる周期処理が完了すると、共有メモリ500内に演算結果を格納するとともに、周期処理判定部203に周期処理の完了を通知する。完了通知には、メインCPU200の識別子を含ませる。
なお、制御アルゴリズムAは確実に周期時間内に演算が完了するため、メインCPUの周期処理が完了しないことはない。
In the
The periodic
When the
When the periodic processing in the periodic
In addition, when the periodic processing by the control algorithm A is completed, the periodic
Note that the control algorithm A reliably completes the calculation within the cycle time, so the cycle processing of the main CPU will not be completed.
メインCPU200の周期処理判定部203は、周期時間に達した場合(S402でYES)は、周期時間内に受信した完了通知に含まれている識別子から、メインCPU200の他にサブCPU300からも完了通知を受けているか否かを判定する(S403)(完了判別ステップ)。
When the cycle time has been reached (YES in S402), the cycle
サブCPU300におけるデータ処理が周期時間内に完了しなかった場合(サブCPU300から完了通知を受けていない場合)は、サブCPU300における次の周期処理の実行を可能にするため、周期処理判定部203が周期処理制御部204にサブCPU300における演算が周期時間内に完了しなかったことを通知し、周期処理制御部204が周期処理演算部301に演算処理の終了を指示する(S404)。
次に、周期処理判定部203が、周期時間内で演算処理が完了したCPUの演算結果のうち、最も処理精度が高い演算結果を選択する(S405)(処理結果選択ステップ)。
たとえば、メインCPU200とサブCPU300の両方の演算が周期時間内に完了している場合は、周期処理判定部203は、より精度の高いサブCPU300の演算結果を選択し、周期処理結果とする。
一方、メインCPUの演算が完了し、サブCPUの演算が完了していない場合は、メインCPUの演算結果を選択し、周期処理結果とする(前述のように、制御アルゴリズムAは確実に周期時間内に演算が完了するため、メインCPUの周期処理が完了しないことはない)。
When the data processing in the
Next, the periodic
For example, when the calculations of both the
On the other hand, when the calculation of the main CPU is completed and the calculation of the sub CPU is not completed, the calculation result of the main CPU is selected and used as the periodic processing result (as described above, the control algorithm A reliably performs the cycle time). Since the calculation is completed, the periodic processing of the main CPU will not be completed).
次に、周期処理判定部203が、選択した周期処理結果を周期処理制御部204に通知し、周期処理制御部204が、周期処理結果を共有メモリ500から取得し、工具を移動させるためのモータなどを制御する(S406)とともに、周期処理管理部201に周期処理の完了を通知する。
Next, the periodic
なお、図4のフローでは、未完了のサブCPUにおける動作を早期に終了させるために、周期処理判定部203による演算結果の選択(S405)の前に、周期処理制御部204が未完了のサブCPUに処理の終了を指示するようにしたが、順序を入れ替えて、S405の後に、周期処理制御部204がサブCPUの演算を強制的に完了させる通知を行うようにしてもよい。
In the flow of FIG. 4, in order to end the operation in the incomplete sub CPU at an early stage, the periodic
このように、本実施の形態によれば、異なるCPUにおいて、制御精度の異なるアルゴリズムを実行し、周期時間内に完了した結果を使用することにより、周期時間を長くすることなく、制御精度を向上することができる。 As described above, according to the present embodiment, the control accuracy is improved without increasing the cycle time by executing an algorithm with different control accuracy in a different CPU and using a result completed within the cycle time. can do.
以上、本実施の形態では、周期処理において、制御精度の異なる制御アルゴリズムを使用したプログラムを複数のCPUで同時に実行し、制御周期毎に演算が完了した処理結果の内、精度が高い結果で制御を行うことを説明した。 As described above, in the present embodiment, in periodic processing, a program using a control algorithm having different control accuracy is simultaneously executed by a plurality of CPUs, and control is performed with a high accuracy result among processing results completed for each control cycle. Explained that to do.
実施の形態2.
本実施形態では、実施の形態1で説明した構成において3個以上の制御アルゴリズムを同時実行する例を説明する。
Embodiment 2. FIG.
In the present embodiment, an example in which three or more control algorithms are simultaneously executed in the configuration described in the first embodiment will be described.
図2は、本実施の形態に係るデータ処理装置100の構成例を示す。
図2において、サブCPU1(300a)〜サブCPUN(300n)(但し、N、n≧2)は、実施の形態1で示したサブCPU300と同じものである。
つまり、本実施の形態に係るデータ処理装置100は、2個以上のサブCPU300を備える。
各サブCPU300の内部構成は、図1と同様に、周期処理演算部301と周期処理完了通知部302が含まれている。
メインCPU200の内部構成は、図1に示した通りであるが、本実施の形態では、周期処理判定部203は、複数のサブCPU300の周期処理の完了を判定する。
本実施の形態では、実施の形態1と同様に、周期処理起動部202に制御アルゴリズムAを割り当てるとともに、サブCPU1(300a)〜サブCPUN(300n)の各々に異なる制御アルゴリズムを割り当てる。
つまり、サブCPU1(300a)〜サブCPUN(300n)の各々に割り当てる制御アルゴリズムは、それぞれ、演算時間と制御精度が異なる。
FIG. 2 shows a configuration example of the
In FIG. 2, sub CPU1 (300a) to sub CPUN (300n) (where N, n ≧ 2) are the same as the
That is, the
As in FIG. 1, the internal configuration of each
The internal configuration of the
In the present embodiment, as in the first embodiment, the control algorithm A is assigned to the periodic
That is, the control algorithm assigned to each of the sub CPU1 (300a) to the sub CPUN (300n) has different calculation time and control accuracy.
次に動作について説明する。
本実施の形態においても、図4のフローチャートと同様の動作が行われる。
具体的には、以下の通りである。
Next, the operation will be described.
Also in this embodiment, the same operation as the flowchart of FIG. 4 is performed.
Specifically, it is as follows.
メインCPU200は、装置の初期化時に、複数のサブCPU300にそれぞれ制御精度と演算時間が異なる複数の制御アルゴリズムによるプログラムを割り付ける(制御アルゴリズムAは実施の形態1と同様に周期処理起動部202に割り付けられる)。
周期処理起動部202は自CPUの周期演算を開始するとともに、全てのサブCPUに周期処理の起動を通知する(S401)。
メインCPU200内の周期処理判定部203は、S402〜S404の処理の後、周期時間内に完了したサブCPUの演算結果及び自CPUの演算処理の内、制御精度が最も高い演算結果を選択し、周期処理結果とする(S405)。
なお、S404では、周期処理制御部204は、判定結果において演算が完了していない全てのサブCPU300に対して、演算を強制的に完了させる。
また、実施の形態1と同様に、S404の処理は、S405の処理の後に行われるようにしてもよい。
When the apparatus is initialized, the
The periodic
The periodic
In S404, the periodic
Similarly to the first embodiment, the process of S404 may be performed after the process of S405.
このように、本実施の形態によれば、制御周期毎に最も制御精度の高い演算結果を使用することにより、装置として精度を最適にすることが可能となる。 Thus, according to the present embodiment, it is possible to optimize the accuracy of the apparatus by using the calculation result with the highest control accuracy for each control cycle.
実施の形態3.
本実施形態では、実施の形態1で説明した構成においてサブCPU300の演算が完了しない場合に制御精度を変更する方法を説明する。
Embodiment 3 FIG.
In the present embodiment, a method for changing the control accuracy when the calculation of the
図3は、本実施の形態に係るデータ処理装置100の構成例を示す。
図3では、図1に示す構成に精度制御部205を追加している。
精度制御部205は、サブCPU300の演算が未完了である場合に制御精度を変更する手段である。
より具体的には、精度制御部205は、周期時間内にデータ処理が完了していないサブCPU300の制御アルゴリズムを、現在割り当てられている制御アルゴリズムよりもデータ処理結果の精度が低い制御アルゴリズムに変更する。精度制御部205は、例えば、周期時間内にデータ処理が完了していない回数が所定回数以上のサブCPU300の制御アルゴリズムを、現在割り当てられている制御アルゴリズムよりもデータ処理結果の精度が低い制御アルゴリズムに変更する。
精度制御部205は、アルゴリズム変更部の例である。
FIG. 3 shows a configuration example of the
In FIG. 3, an
The
More specifically, the
The
次に動作について説明する。 Next, the operation will be described.
周期処理判定部203は、実施の形態1と同じ判定を行い、サブCPU300の演算処理が周期時間内に完了しなかった場合、判定結果を周期処理制御部204に通知するとともに、精度制御部205にサブCPU300の演算処理が完了しなかったことを通知する。
精度制御部205は、サブCPU300の演算処理が周期時間内に完了しなかったケースを保持し、保持結果が一定の条件に達した場合に、サブCPU300が実行する制御アルゴリズムを変更する。
例えば、精度制御部205は、サブCPU300の演算処理が周期時間内に完了しなかった回数をカウントし、単位時間当たりのカウント数が所定の値以上になった場合に、サブCPU300が実行する制御アルゴリズムを、制御精度がアルゴリズムAより高くアルゴリズムBより低い(演算時間がアルゴリズムAより長いがアルゴリズムBより短い)制御アルゴリズムCに変更する。
制御アルゴリズムを変更する方法は、共有メモリ500内のサブCPU300が実行するプログラムを書き換えてもよい。
The periodic
The
For example, the
As a method for changing the control algorithm, a program executed by the
なお、以上では、実施の形態1の構成(1つのサブCPU300)において、サブCPU300の制御アルゴリズムを変更する例を説明しているが、実施の形態2に示す構成(複数のサブCPU300)において制御アルゴリズムを変更するようにしてもよい。
つまり、特定のサブCPU300において周期時間内に周期処理が完了できなかった回数が所定回数に達した場合に、そのサブCPU300の現在の制御アルゴリズムと当該現在の制御アルゴリズムよりも1段階制御精度の劣る制御アルゴリズムとの間の制御アルゴリズムに変更するようにしてもよい。
In the above, an example in which the control algorithm of the
In other words, when the number of times that the periodic processing could not be completed within a specific time in a
このように、本実施の形態によれば、例えば外来ノイズなどによりデータ転送誤りが多発するなどして割込み発生頻度が高くなった場合に対して、メインCPUにおいてサブCPUの演算処理の未完了状態を監視し、未完了頻度が高くなった場合に制御精度の向上度合いは低いが完了する頻度が高い制御アルゴリズムに変更することにより、装置として精度を向上させることが可能となる。 As described above, according to the present embodiment, for example, when the frequency of interrupts increases due to frequent occurrence of data transfer errors due to external noise or the like, the main CPU does not complete the arithmetic processing of the sub CPU. When the uncompleted frequency becomes high, the control accuracy is improved as a device by changing to a control algorithm with a low degree of improvement in control accuracy but a high frequency of completion.
以上、本実施の形態では、制御精度が高いプログラムが制御周期内に頻繁に演算が完了しない場合、制御精度を変更することを説明した。 As described above, in the present embodiment, it has been described that a program with high control accuracy changes the control accuracy when the calculation is not frequently completed within the control cycle.
最後に、実施の形態1〜3に示したデータ処理装置100のハードウェア構成例について説明する。
図5は、実施の形態1〜3に示すデータ処理装置100のハードウェア資源の一例を示す図である。
なお、図5の構成は、あくまでもデータ処理装置100のハードウェア構成の一例を示すものであり、データ処理装置100のハードウェア構成は図5に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the
FIG. 5 is a diagram illustrating an example of hardware resources of the
5 is merely an example of the hardware configuration of the
図5において、データ処理装置100は、プログラムを実行するCPU911を複数を備えている(実施の形態1〜3に示したメインCPU200、サブCPU300に相当)。
各CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、各CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜3で説明した「共有メモリ500」は、例えば、RAM914により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
また、これらは、実施の形態1〜3で説明した入出力装置400に相当する。
5, the
Each
Further, each
The
The “shared
A
The
These correspond to the input /
通信ボード915は、例えば、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。
The
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
なお、データ処理装置100が組み込み機器であれば、ウィンドウシステム922はなくてもよい。
The
The programs in the
If the
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The
The
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
データ処理装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The
When the
上記プログラム群923には、実施の形態1〜3の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
The
ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の演算」、「〜の計算」、「〜の比較」、「〜の処理」、「〜の設定」、「〜の選択」、「〜の割り当て」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
In addition, arrows in the flowcharts described in the first to third embodiments mainly indicate input / output of data and signals, and the data and signal values are the memory of the
また、実施の形態1〜3の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせで実施されても構わない。ソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜3の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜3の「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “˜unit” in the description of the first to third embodiments may be “˜circuit”, “˜device”, “˜device”, and “˜step”, It may be “˜procedure” or “˜processing”. That is, what is described as “˜unit” may be implemented by software alone, hardware such as an element, a device, a board, or wiring, or a combination of software and hardware. The software is stored as a program in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD. The program is read by the
このように、実施の形態1〜3に示すデータ処理装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the
100 データ処理装置、200 メインCPU、201 周期処理管理部、202 周期処理起動部、203 周期処理判定部、204 周期処理制御部、205 精度制御部、300 サブCPU、301 周期処理演算部、302 周期処理完了通知部、400 入出力装置、500 共有メモリ。
DESCRIPTION OF
Claims (7)
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示部と、
所定の制限時間内にデータ処理が完了したCPUを判別する完了判別部と、
前記完了判別部によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択部とを有することを特徴とするデータ処理装置。 A data processing apparatus comprising a plurality of CPUs (Central Processing Units) for causing the plurality of CPUs to perform data processing that requires a long data processing time in order to increase the accuracy of data processing results.
Instructing the plurality of CPUs to which a plurality of processing algorithms that are targeted for the same data processing but have different accuracy of data processing results are assigned to start data processing according to the processing algorithms assigned to each of the CPUs, A process start instruction unit for causing the plurality of CPUs to perform data processing in parallel;
A completion determination unit that determines a CPU that has completed data processing within a predetermined time limit; and
A data processing apparatus comprising: a processing result selection unit that selects a specific data processing result from the CPU data processing results determined to be completed by the completion determination unit.
前記完了判別部によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から、データ処理結果の精度が最も高い処理アルゴリズムが割り当てられているCPUのデータ処理結果を選択することを特徴とする請求項1に記載のデータ処理装置。 The processing result selection unit
The data processing result of the CPU to which the processing algorithm having the highest accuracy of the data processing result is assigned is selected from the data processing results of the CPU determined that the data processing is completed by the completion determining unit. The data processing apparatus according to claim 1.
前記制限時間内にデータ処理が完了していないCPUに、データ処理を終了するよう指示する終了指示部を有することを特徴とする請求項1又は2に記載のデータ処理装置。 The data processing device further includes:
The data processing apparatus according to claim 1, further comprising an end instruction unit that instructs a CPU that has not completed data processing within the time limit to end data processing.
前記制限時間内にデータ処理が完了していないCPUの処理アルゴリズムを、現在割り当てられている処理アルゴリズムよりもデータ処理結果の精度が低い処理アルゴリズムに変更するアルゴリズム変更部を有することを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。 The data processing device further includes:
An algorithm changing unit that changes a processing algorithm of a CPU that has not completed data processing within the time limit to a processing algorithm having a lower accuracy of a data processing result than a currently assigned processing algorithm. Item 4. The data processing device according to any one of Items 1 to 3.
前記複数のCPUにデータ処理を複数回行わせ、
前記データ処理装置は、更に、
前記制限時間内にデータ処理が完了していない回数が所定回数以上のCPUの処理アルゴリズムを、現在割り当てられている処理アルゴリズムよりもデータ処理結果の精度が低い処理アルゴリズムに変更するアルゴリズム変更部を有することを特徴とする請求項1〜4のいずれかに記載のデータ処理装置。
The data processing device includes:
Causing the plurality of CPUs to perform data processing multiple times;
The data processing device further includes:
An algorithm changing unit that changes a processing algorithm of a CPU in which the number of times data processing is not completed within the time limit is a predetermined number or more to a processing algorithm whose data processing result is less accurate than the currently assigned processing algorithm The data processing device according to claim 1, wherein the data processing device is a data processing device.
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示ステップと、
所定の制限時間内にデータ処理が完了したCPUを判別する完了判別ステップと、
前記完了判別ステップによりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択ステップとを有することを特徴とする制御方法。 This is a control method by a data processing apparatus that includes a plurality of CPUs (Central Processing Units) and causes the plurality of CPUs to perform data processing that requires a long data processing time in order to increase the accuracy of the data processing results. And
Instructing the plurality of CPUs to which a plurality of processing algorithms that are targeted for the same data processing but have different accuracy of data processing results are assigned to start data processing according to the processing algorithms assigned to each of the CPUs, A process start instruction step for causing the plurality of CPUs to perform data processing in parallel;
A completion determination step for determining a CPU that has completed data processing within a predetermined time limit; and
And a processing result selection step of selecting a specific data processing result from the CPU data processing results determined to have been completed by the completion determination step.
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示処理と、
所定の制限時間内にデータ処理が完了したCPUを判別する完了判別処理と、
前記完了判別処理によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択処理とを実行させることを特徴とするプログラム。 A data processing apparatus comprising a plurality of CPUs (Central Processing Units), and causing the plurality of CPUs to perform data processing that requires a long data processing time in order to increase the accuracy of the data processing results.
Instructing the plurality of CPUs to which a plurality of processing algorithms that are targeted for the same data processing but have different accuracy of data processing results are assigned to start data processing according to the processing algorithms assigned to each of the CPUs, A process start instruction process for causing the plurality of CPUs to perform data processing in parallel;
A completion determination process for determining a CPU that has completed data processing within a predetermined time limit; and
A program for executing a processing result selection process for selecting a specific data processing result from the data processing results of the CPU determined to have completed the data processing by the completion determining process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009146146A JP5371569B2 (en) | 2009-06-19 | 2009-06-19 | Data processing apparatus, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009146146A JP5371569B2 (en) | 2009-06-19 | 2009-06-19 | Data processing apparatus, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011003052A true JP2011003052A (en) | 2011-01-06 |
JP5371569B2 JP5371569B2 (en) | 2013-12-18 |
Family
ID=43560953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009146146A Expired - Fee Related JP5371569B2 (en) | 2009-06-19 | 2009-06-19 | Data processing apparatus, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5371569B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267639A (en) * | 2014-09-22 | 2015-01-07 | 苏州贝昂科技有限公司 | Clock system, counter and task processing method |
CN115944877A (en) * | 2022-12-21 | 2023-04-11 | 厦门海辰储能科技股份有限公司 | Fire extinguishing system based on multiple CPUs |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749844A (en) * | 1993-06-04 | 1995-02-21 | Hitachi Ltd | Multiplex executing method for different-version program and computer system |
JPH08212084A (en) * | 1995-02-02 | 1996-08-20 | Hitachi Ltd | Information processor |
JP2000020492A (en) * | 1998-06-29 | 2000-01-21 | Yaskawa Electric Corp | Method for downloading program to sub cpu and nc device therefor |
JP2005242986A (en) * | 2004-01-28 | 2005-09-08 | Toshiba Corp | Parallel calculation method, parallel calculation program and computer |
JP2006085386A (en) * | 2004-09-15 | 2006-03-30 | Sony Corp | Information processor and method, and program |
-
2009
- 2009-06-19 JP JP2009146146A patent/JP5371569B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749844A (en) * | 1993-06-04 | 1995-02-21 | Hitachi Ltd | Multiplex executing method for different-version program and computer system |
JPH08212084A (en) * | 1995-02-02 | 1996-08-20 | Hitachi Ltd | Information processor |
JP2000020492A (en) * | 1998-06-29 | 2000-01-21 | Yaskawa Electric Corp | Method for downloading program to sub cpu and nc device therefor |
JP2005242986A (en) * | 2004-01-28 | 2005-09-08 | Toshiba Corp | Parallel calculation method, parallel calculation program and computer |
JP2006085386A (en) * | 2004-09-15 | 2006-03-30 | Sony Corp | Information processor and method, and program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267639A (en) * | 2014-09-22 | 2015-01-07 | 苏州贝昂科技有限公司 | Clock system, counter and task processing method |
CN115944877A (en) * | 2022-12-21 | 2023-04-11 | 厦门海辰储能科技股份有限公司 | Fire extinguishing system based on multiple CPUs |
Also Published As
Publication number | Publication date |
---|---|
JP5371569B2 (en) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7313381B2 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
JP7039631B2 (en) | Methods, devices, devices, and storage media for managing access requests | |
JP6447217B2 (en) | Execution information notification program, information processing apparatus, and information processing system | |
KR20170131738A (en) | Computer system for performing adaptive interrupt control and method for controlling interrupt thereof | |
JP5443709B2 (en) | Method, computer program, and data processing apparatus for scheduling a task across a plurality of processor units each having different processing capabilities | |
CN109582215B (en) | Hard disk operation command execution method, hard disk and storage medium | |
US10031757B2 (en) | Operation of a multi-slice processor implementing a mechanism to overcome a system hang | |
JP2021527892A (en) | Selective execution of leading branch prediction based on the type of branch instruction | |
JP2021527248A (en) | Storage of accidental branch predictions to reduce the waiting time for misprediction recovery | |
JP7470685B2 (en) | Programming and Controlling Computational Units in Integrated Circuits | |
JP2016224883A (en) | Fault detection method, information processing apparatus, and fault detection program | |
JP5371569B2 (en) | Data processing apparatus, control method, and program | |
US10657022B2 (en) | Input and output recording device and method, CPU and data read and write operation method thereof | |
JP5621613B2 (en) | Information processing apparatus, control method, and program | |
JP6808090B1 (en) | Control device and distributed processing method | |
JP4509951B2 (en) | Simulation execution control device and program | |
JP6123487B2 (en) | Control device, control method, and control program | |
US9058207B2 (en) | Simulation apparatus, method, and computer-readable recording medium | |
JP6253865B2 (en) | Transfer control device, vehicle, and transfer control method | |
JP2019160155A (en) | Information processing device, information processing method, and program | |
JP6580288B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP4769755B2 (en) | Profiling support program, profiling support method, and computer | |
US9983879B2 (en) | Operation of a multi-slice processor implementing dynamic switching of instruction issuance order | |
JP6488962B2 (en) | Cache control device, cache control method, and cache control program | |
JP5064825B2 (en) | Buffer cache device, buffer cache method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130722 |
|
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: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130917 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |