JP2011003052A - Data processing apparatus, control method and program - Google Patents

Data processing apparatus, control method and program Download PDF

Info

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
Application number
JP2009146146A
Other languages
Japanese (ja)
Other versions
JP5371569B2 (en
Inventor
Yasuhiro Omori
康宏 大森
Hitoshi Ishida
仁志 石田
Masakatsu Toyama
正勝 外山
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009146146A priority Critical patent/JP5371569B2/en
Publication of JP2011003052A publication Critical patent/JP2011003052A/en
Application granted granted Critical
Publication of JP5371569B2 publication Critical patent/JP5371569B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

PROBLEM TO BE SOLVED: To strike a balance between certain completion of data processing within a periodic time and improvement of accuracy of data processing results.SOLUTION: A control algorithm A wherein accuracy of the data processing is lower than a control algorithm B though the data processing is certainly completed within the periodic time is allocated to a main CPU (Central Processing Unit) 200, and the control algorithm B wherein the accuracy of the data processing is higher than the control algorithm A though there is no guarantee that the data processing is completed within the periodic time is allocated to a sub CPU 300. The main CPU 200 and the sub CPU 300 simultaneously perform the data processing by the control algorithm A and the control algorithm B, and a high accuracy data processing result of results of the data processing completed within the periodic time is adopted.

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.

特開2000−20492号公報JP 2000-20492 A

従来、周期処理の演算時間がある条件で長くなる場合があるため、制御精度は劣るものの確実に周期時間内に演算を完了する制御アルゴリズムを使用する必要があった。
また、特許文献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に係るデータ処理装置の構成例を示す図。FIG. 3 shows a configuration example of a data processing apparatus according to the first embodiment. 実施の形態2に係るデータ処理装置の構成例を示す図。FIG. 4 is a diagram illustrating a configuration example of a data processing device according to a second embodiment. 実施の形態3に係るデータ処理装置の構成例を示す図。FIG. 9 is a diagram illustrating a configuration example of a data processing device according to a third embodiment. 実施の形態1〜3に係るデータ処理装置の動作例を示すフローチャート図。The flowchart figure which shows the operation example of the data processor which concerns on Embodiment 1-3. 実施の形態1〜3に係るデータ処理装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the data processor which concerns on Embodiment 1-3.

実施の形態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 data processing apparatus 100 according to the present embodiment.

図1に示すように、データ処理装置100は、入出力装置400及び共有メモリ500に接続され、また、メインCPU200とサブCPU300の2つのCPUを備える。
そして、データ処理装置100は、メインCPU200とサブCPU300に、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならない周期的なデータ処理を行わせる。
つまり、本実施の形態に係るデータ処理装置100を工業用コントローラ製品等に適用すると、制御精度を高めることにより加工精度は向上するが、それによりデータ処理時間が長くなり単位時間当たりの加工数が減少するというトレードオフとなる。
As shown in FIG. 1, the data processing device 100 is connected to an input / output device 400 and a shared memory 500 and includes two CPUs, a main CPU 200 and a sub CPU 300.
The data processing apparatus 100 causes the main CPU 200 and the sub CPU 300 to perform periodic data processing that requires a longer data processing time in order to increase the accuracy of the data processing result.
In other words, when the data processing apparatus 100 according to the present embodiment is applied to an industrial controller product or the like, the processing accuracy is improved by increasing the control accuracy, but this increases the data processing time and the number of processing per unit time. The trade-off is to decrease.

そして、本実施の形態では、メイン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 main CPU 200 and control algorithm B is assigned to the sub CPU 300 will be described.
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 main CPU 200 will be described.

周期処理管理部201は、周期時間内に処理が完了することを管理する手段である。   The periodic process management unit 201 is a means for managing completion of processing within a periodic time.

周期処理起動部202は、自CPUとサブCPUの周期処理を起動する手段である。
つまり、周期処理起動部202は、自CPUとサブCPUという複数のCPUに、各々に割り当てられている制御アルゴリズムに従ってデータ処理を開始するよう指示し、複数のCPUに並行してデータ処理を行わせる。
周期処理起動部202は処理開始指示部の例である。
The periodic process activation unit 202 is means for activating periodic processes of the own CPU and the sub CPU.
That is, the periodic process activation unit 202 instructs a plurality of CPUs, that is, its own CPU and sub CPUs, to start data processing according to the control algorithm assigned to each of the CPUs, and causes the plurality of CPUs to perform data processing in parallel. .
The periodic process activation unit 202 is an example of a process start instruction unit.

周期処理判定部203は、自CPUとサブCPUの処理の完了を判定する手段である。
つまり、周期処理判定部203は、自CPUとサブCPUのうち、所定の周期時間(制限時間)内にデータ処理が完了したCPUを判別し、また、データ処理が完了したと判別したCPUのデータ処理結果の中から特定のデータ処理結果(具体的には、最も精度の高いデータ処理結果)を選択する。
周期処理判定部203は、完了判別部及び処理結果選択部の例である。
The periodic process determination unit 203 is means for determining completion of the processes of the own CPU and the sub CPU.
That is, the periodic process determination unit 203 determines a CPU that has completed data processing within a predetermined cycle time (time limit) among its own CPU and sub CPU, and data of the CPU that has determined that data processing has been completed. A specific data processing result (specifically, the most accurate data processing result) is selected from the processing results.
The periodic process determination unit 203 is an example of a completion determination unit and a process result selection unit.

周期処理制御部204は、処理結果に基づいて出力制御する手段である。
また、周期処理制御部204は、サブCPU300の演算が周期時間内に完了していない場合に、サブCPU300に演算を終了するよう指示する。
周期処理制御部204は、終了指示部の例である。
The periodic processing control unit 204 is means for controlling output based on the processing result.
In addition, the periodic processing control unit 204 instructs the sub CPU 300 to end the calculation when the calculation of the sub CPU 300 is not completed within the cycle time.
The periodic process control unit 204 is an example of an end instruction unit.

次に、サブCPU300の内部構成例を説明する。
周期処理演算部301は、メインCPU200からの起動指示により周期演算(制御アルゴリズムBによる演算)を実行する手段である。
周期処理完了通知部302は、サブCPU300の処理の完了をメインCPU200に通知する手段である。
周期処理完了通知部302がメインCPU200に通知する方法としては、他に割込み信号や通信用レジスタなどが考えられるが、これに限定されない。
Next, an internal configuration example of the sub CPU 300 will be described.
The cycle processing calculation unit 301 is means for executing cycle calculation (calculation by the control algorithm B) in response to an activation instruction from the main CPU 200.
The periodic process completion notifying unit 302 is means for notifying the main CPU 200 of the completion of the process of the sub CPU 300.
Other methods for the periodic processing completion notifying unit 302 to notify the main CPU 200 include an interrupt signal and a communication register, but are not limited thereto.

次に、図4のフローチャートを参照して、本実施の形態に係るデータ処理装置100の動作例について説明する。   Next, an operation example of the data processing apparatus 100 according to the present embodiment will be described with reference to the flowchart of FIG.

メイン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 main CPU 200, when the periodic process is started by a timer (not shown) or the like, the periodic process management unit 201 notifies the periodic process activation unit 202.
The periodic process activation unit 202 notifies itself (periodic process activation unit 202) of the activation of the periodic process and starts data processing by the control algorithm A, and also notifies the sub CPU 300 of the activation of the periodic process (S401). Processing start instruction step).
When the sub CPU 300 receives the periodic processing activation notification from the main CPU 200, the periodic processing calculation unit 301 starts the periodic calculation by the control algorithm B.
When the periodic processing in the periodic processing calculation unit 301 is completed, the periodic processing completion notification unit 302 in the sub CPU 300 stores the calculation result in the shared memory 500 and informs the periodic processing determination unit 203 of the main CPU 200 to complete the periodic processing. Notice. The completion notification includes the identifier of the sub CPU 300.
In addition, when the periodic processing by the control algorithm A is completed, the periodic processing activation unit 202 of the main CPU 200 stores the calculation result in the shared memory 500 and notifies the periodic processing determination unit 203 of the completion of the periodic processing. The completion notification includes the identifier of the main CPU 200.
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 process determination unit 203 of the main CPU 200 determines the completion notification from the sub CPU 300 in addition to the main CPU 200 from the identifier included in the completion notification received within the cycle time. (S403) (completion determining step).

サブ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 sub CPU 300 is not completed within the period time (when the completion notification is not received from the sub CPU 300), the periodic process determination unit 203 is configured to enable the sub CPU 300 to execute the next periodic process. The periodic processing control unit 204 is notified that the computation in the sub CPU 300 has not been completed within the periodic time, and the periodic processing control unit 204 instructs the periodic processing computing unit 301 to end the computation processing (S404).
Next, the periodic process determination unit 203 selects a calculation result with the highest processing accuracy among the calculation results of the CPU that has completed the calculation process within the period time (S405) (processing result selection step).
For example, when the calculations of both the main CPU 200 and the sub CPU 300 are completed within the cycle time, the cycle process determination unit 203 selects a calculation result of the sub CPU 300 with higher accuracy and sets it as the cycle process result.
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 process determining unit 203 notifies the selected periodic process result to the periodic process control unit 204, and the periodic process control unit 204 acquires the periodic process result from the shared memory 500 and moves the tool. (S406), and notifies the periodic process management unit 201 of the completion of the periodic process.

なお、図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 processing control unit 204 performs the incomplete sub-CPU before the calculation result is selected by the periodic processing determination unit 203 (S405). Although the CPU is instructed to end the processing, the order may be changed, and after S405, the periodic processing control unit 204 may notify the sub CPU to forcibly complete the calculation.

このように、本実施の形態によれば、異なる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 data processing apparatus 100 according to the present embodiment.
In FIG. 2, sub CPU1 (300a) to sub CPUN (300n) (where N, n ≧ 2) are the same as the sub CPU 300 shown in the first embodiment.
That is, the data processing apparatus 100 according to the present embodiment includes two or more sub CPUs 300.
As in FIG. 1, the internal configuration of each sub CPU 300 includes a periodic processing calculation unit 301 and a periodic processing completion notification unit 302.
The internal configuration of the main CPU 200 is as shown in FIG. 1, but in the present embodiment, the periodic process determination unit 203 determines the completion of the periodic processes of the plurality of sub CPUs 300.
In the present embodiment, as in the first embodiment, the control algorithm A is assigned to the periodic process activation unit 202, and a different control algorithm is assigned to each of the sub CPU1 (300a) to sub CPUN (300n).
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 main CPU 200 assigns a program based on a plurality of control algorithms having different control accuracy and calculation time to each of the sub CPUs 300 (the control algorithm A is assigned to the periodic process activation unit 202 as in the first embodiment). ).
The periodic process activation unit 202 starts the periodic calculation of its own CPU, and notifies all sub CPUs of the activation of the periodic process (S401).
The periodic process determination unit 203 in the main CPU 200 selects the calculation result with the highest control accuracy among the calculation results of the sub CPU and the calculation process of the own CPU completed within the cycle time after the processes of S402 to S404, The result is a periodic process (S405).
In S404, the periodic process control unit 204 forcibly completes the calculation for all the sub CPUs 300 that have not completed the calculation in the determination result.
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 sub CPU 300 is not completed in the configuration described in the first embodiment will be described.

図3は、本実施の形態に係るデータ処理装置100の構成例を示す。
図3では、図1に示す構成に精度制御部205を追加している。
精度制御部205は、サブCPU300の演算が未完了である場合に制御精度を変更する手段である。
より具体的には、精度制御部205は、周期時間内にデータ処理が完了していないサブCPU300の制御アルゴリズムを、現在割り当てられている制御アルゴリズムよりもデータ処理結果の精度が低い制御アルゴリズムに変更する。精度制御部205は、例えば、周期時間内にデータ処理が完了していない回数が所定回数以上のサブCPU300の制御アルゴリズムを、現在割り当てられている制御アルゴリズムよりもデータ処理結果の精度が低い制御アルゴリズムに変更する。
精度制御部205は、アルゴリズム変更部の例である。
FIG. 3 shows a configuration example of the data processing apparatus 100 according to the present embodiment.
In FIG. 3, an accuracy control unit 205 is added to the configuration shown in FIG.
The accuracy control unit 205 is a means for changing the control accuracy when the operation of the sub CPU 300 is incomplete.
More specifically, the accuracy control unit 205 changes the control algorithm of the sub CPU 300 whose data processing has not been completed within the cycle time to a control algorithm whose data processing result accuracy is lower than the currently assigned control algorithm. To do. For example, the accuracy control unit 205 is a control algorithm in which the accuracy of the data processing result is lower than the control algorithm currently assigned to the control algorithm of the sub CPU 300 in which the number of times the data processing is not completed within the cycle time is a predetermined number Change to
The accuracy control unit 205 is an example of an algorithm changing unit.

次に動作について説明する。   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 process determination unit 203 performs the same determination as that of the first embodiment, and when the calculation process of the sub CPU 300 is not completed within the periodic time, notifies the determination result to the periodic process control unit 204 and the accuracy control unit 205. Is notified that the arithmetic processing of the sub CPU 300 has not been completed.
The accuracy control unit 205 holds a case where the arithmetic processing of the sub CPU 300 is not completed within the period time, and changes the control algorithm executed by the sub CPU 300 when the holding result reaches a certain condition.
For example, the accuracy control unit 205 counts the number of times that the arithmetic processing of the sub CPU 300 has not been completed within a cycle time, and the control executed by the sub CPU 300 when the count number per unit time becomes a predetermined value or more. The algorithm is changed to a control algorithm C having a control accuracy higher than that of algorithm A and lower than that of algorithm B (the operation time is longer than algorithm A but shorter than algorithm B).
As a method for changing the control algorithm, a program executed by the sub CPU 300 in the shared memory 500 may be rewritten.

なお、以上では、実施の形態1の構成(1つのサブCPU300)において、サブCPU300の制御アルゴリズムを変更する例を説明しているが、実施の形態2に示す構成(複数のサブCPU300)において制御アルゴリズムを変更するようにしてもよい。
つまり、特定のサブCPU300において周期時間内に周期処理が完了できなかった回数が所定回数に達した場合に、そのサブCPU300の現在の制御アルゴリズムと当該現在の制御アルゴリズムよりも1段階制御精度の劣る制御アルゴリズムとの間の制御アルゴリズムに変更するようにしてもよい。
In the above, an example in which the control algorithm of the sub CPU 300 is changed in the configuration of the first embodiment (one sub CPU 300) has been described, but control is performed in the configuration shown in the second embodiment (a plurality of sub CPUs 300). The algorithm may be changed.
In other words, when the number of times that the periodic processing could not be completed within a specific time in a specific sub CPU 300 reaches a predetermined number, the current control algorithm of the sub CPU 300 and the one-step control accuracy are inferior to the current control algorithm. You may make it change into the control algorithm between control algorithms.

このように、本実施の形態によれば、例えば外来ノイズなどによりデータ転送誤りが多発するなどして割込み発生頻度が高くなった場合に対して、メイン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 data processing apparatus 100 shown in the first to third embodiments will be described.
FIG. 5 is a diagram illustrating an example of hardware resources of the data processing apparatus 100 illustrated in the first to third embodiments.
5 is merely an example of the hardware configuration of the data processing apparatus 100, and the hardware configuration of the data processing apparatus 100 is not limited to the configuration illustrated in FIG. Also good.

図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 data processing apparatus 100 includes a plurality of CPUs 911 that execute programs (corresponding to the main CPU 200 and the sub CPU 300 described in the first to third embodiments).
Each CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control these hardware devices.
Further, each CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
The “shared memory 500” described in the first to third embodiments is realized by the RAM 914, for example.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.
These correspond to the input / output device 400 described in the first to third embodiments.

通信ボード915は、例えば、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。   The communication board 915 is connected to a LAN (Local Area Network), the Internet, a WAN (Wide Area Network), a SAN (Storage Area Network), etc., for example.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
なお、データ処理装置100が組み込み機器であれば、ウィンドウシステム922はなくてもよい。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.
If the data processing apparatus 100 is an embedded device, the window system 922 may not be provided.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
データ処理装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the data processing apparatus 100 is activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜3の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores a program for executing the function described as “˜unit” in the description of the first to third embodiments. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の演算」、「〜の計算」、「〜の比較」、「〜の処理」、「〜の設定」、「〜の選択」、「〜の割り当て」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 924, in the description of the first to third embodiments, “determination of”, “calculation of”, “calculation of”, “comparison of”, “processing of”, and “setting of” are set. ”,“ Selection of ”,“ Assignment of ”, etc. Information, data, signal values, variable values, and parameters indicating the results of processing are indicated as“ ˜file ”and“ ˜database ”items. It is remembered.
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 CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
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 RAM 914, the flexible disk of the FDD904, the compact disk of the CDD905, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態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 CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” in the first to third embodiments. Alternatively, the computer executes the procedure and method of “to part” in the first to third embodiments.

このように、実施の形態1〜3に示すデータ処理装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the data processing device 100 described in the first to third embodiments includes a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, and a display device as an output device and a communication device. A computer including a board or the like, and implements the functions indicated as “to part” as described above using these processing devices, storage devices, input devices, and output devices.

100 データ処理装置、200 メインCPU、201 周期処理管理部、202 周期処理起動部、203 周期処理判定部、204 周期処理制御部、205 精度制御部、300 サブCPU、301 周期処理演算部、302 周期処理完了通知部、400 入出力装置、500 共有メモリ。   DESCRIPTION OF SYMBOLS 100 Data processing apparatus, 200 Main CPU, 201 Periodic process management part, 202 Periodic process starting part, 203 Periodic process determination part, 204 Periodic process control part, 205 Precision control part, 300 Sub CPU, 301 Periodic process calculating part, 302 Period Processing completion notification unit, 400 input / output device, 500 shared memory.

Claims (7)

複数のCPU(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を行わせるデータ処理装置であって、
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数の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(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を行わせるデータ処理装置による制御方法であって、
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数の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(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を行わせるデータ処理装置に、
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数の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.
JP2009146146A 2009-06-19 2009-06-19 Data processing apparatus, control method, and program Expired - Fee Related JP5371569B2 (en)

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)

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

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

Patent Citations (5)

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

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