JP5371569B2 - データ処理装置及び制御方法及びプログラム - Google Patents

データ処理装置及び制御方法及びプログラム Download PDF

Info

Publication number
JP5371569B2
JP5371569B2 JP2009146146A JP2009146146A JP5371569B2 JP 5371569 B2 JP5371569 B2 JP 5371569B2 JP 2009146146 A JP2009146146 A JP 2009146146A JP 2009146146 A JP2009146146 A JP 2009146146A JP 5371569 B2 JP5371569 B2 JP 5371569B2
Authority
JP
Japan
Prior art keywords
data processing
processing
cpu
completed
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009146146A
Other languages
English (en)
Other versions
JP2011003052A (ja
Inventor
康宏 大森
仁志 石田
正勝 外山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Publication of JP2011003052A publication Critical patent/JP2011003052A/ja
Application granted granted Critical
Publication of JP5371569B2 publication Critical patent/JP5371569B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、複数のCPU(Central Processing Unit)を用いてデータ処理を行うデータ処理装置等に関する。
例えば、工業用コントローラ製品のような組込み機器では、センサ等の入力や制御用出力に対し一定時間内に応答する、リアルタイム性が求められる。
そのような組込み機器のソフトウェアは、一般的に、一定の時間間隔で決められた処理を繰り返し実行する、周期処理で構成される。
このような組込み機器では、一定時間にできるだけ多くの処理や演算を実行することが高精度化につながるが、その処理時間は処理アルゴリズムに依存する。
周期処理は、目標とする点に工具(ドリルなど)を移動させる位置決め制御や、工具などが通過する軌跡を制御する補間制御を実行するが、各制御で使用する制御アルゴリズムにより、制御精度と処理時間は反比例の関係に(高精度である程処理時間が長くなる)になる。
また制御アルゴリズムが同じでもある条件(割込み発生など)で演算時間が長くなり、周期時間内に処理が完了しない場合がある。
特許文献1では、例えば使用する制御アルゴリズムを動的に変更するために、メインCPUが2ポートメモリを介してサブCPUが実行するプログラムを渡す方法を開示している。
特開2000−20492号公報
従来、周期処理の演算時間がある条件で長くなる場合があるため、制御精度は劣るものの確実に周期時間内に演算を完了する制御アルゴリズムを使用する必要があった。
また、特許文献1の技術では、サブCPUが実行するプログラムを動的に変更し、リセット解除によりサブCPUがプログラムを開始する方法を示しているが、サブCPUの処理が周期時間内に完了したか否かを判定することができないという課題がある。
本発明は、上記のような課題に鑑みたものであり、制限時間内にデータ処理を確実に完了させることとデータ処理結果の精度の向上を図ることの両者を同時に達成することを主な目的とする。
本発明に係るデータ処理装置は、
複数のCPU(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を行わせるデータ処理装置であって、
同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示部と、
所定の制限時間内にデータ処理が完了したCPUを判別する完了判別部と、
前記完了判別部によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択部とを有することを特徴とする。
本発明によれば、同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている複数のCPUに各々に割り当てられている処理アルゴリズムに従って並行してデータ処理を行わせ、制限時間内にデータ処理が完了したCPUのデータ処理結果の中から特定のデータ処理結果を選択するので、制限時間内にデータ処理を確実に完了させることが可能であるとともに、精度の高いデータ処理結果を選択することにより、データ処理結果の精度の向上を図ることが可能である。
実施の形態1に係るデータ処理装置の構成例を示す図。 実施の形態2に係るデータ処理装置の構成例を示す図。 実施の形態3に係るデータ処理装置の構成例を示す図。 実施の形態1〜3に係るデータ処理装置の動作例を示すフローチャート図。 実施の形態1〜3に係るデータ処理装置のハードウェア構成例を示す図。
実施の形態1.
本実施の形態及び実施の形態2以降では、確実に周期時間内に演算を完了する制御アルゴリズムと、周期時間内に演算を完了するかどうかは不確かながら、より制御精度の高い制御アルゴリズムとを毎周期同時に実行し、周期毎に演算が完了し、制御精度の高い結果を使用することにより、装置としての制御精度を向上させる仕組みを説明する。
図1は、本実施の形態に係るデータ処理装置100の構成例を示す。
図1に示すように、データ処理装置100は、入出力装置400及び共有メモリ500に接続され、また、メインCPU200とサブCPU300の2つのCPUを備える。
そして、データ処理装置100は、メインCPU200とサブCPU300に、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならない周期的なデータ処理を行わせる。
つまり、本実施の形態に係るデータ処理装置100を工業用コントローラ製品等に適用すると、制御精度を高めることにより加工精度は向上するが、それによりデータ処理時間が長くなり単位時間当たりの加工数が減少するというトレードオフとなる。
そして、本実施の形態では、メインCPU200に周期処理の管理と制御アルゴリズムAを割り当て、サブCPU300には、制御アルゴリズムBを割り当てている例を説明する。
制御アルゴリズムA及び制御アルゴリズムBは、同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる関係にある。
制御アルゴリズムAは、割り込み処理等があっても確実に周期時間(制限時間)内にデータ処理が完了するが、データ処理の精度は制御アルゴリズムBよりも劣るアルゴリズムである。
制御アルゴリズムBは、周期時間内にデータ処理が完了する保証はないが、データ処理の精度は制御アルゴリズムAよりも高いアルゴリズムである。
制御アルゴリズムは処理アルゴリズムの例である。
なお、以下では、「データ処理」及び「演算」は同じ意味で用いており、「周期処理」及び「周期演算」は周期的に行うデータ処理、演算を意味する。
次に、メインCPU200の内部構成例を説明する。
周期処理管理部201は、周期時間内に処理が完了することを管理する手段である。
周期処理起動部202は、自CPUとサブCPUの周期処理を起動する手段である。
つまり、周期処理起動部202は、自CPUとサブCPUという複数のCPUに、各々に割り当てられている制御アルゴリズムに従ってデータ処理を開始するよう指示し、複数のCPUに並行してデータ処理を行わせる。
周期処理起動部202は処理開始指示部の例である。
周期処理判定部203は、自CPUとサブCPUの処理の完了を判定する手段である。
つまり、周期処理判定部203は、自CPUとサブCPUのうち、所定の周期時間(制限時間)内にデータ処理が完了したCPUを判別し、また、データ処理が完了したと判別したCPUのデータ処理結果の中から特定のデータ処理結果(具体的には、最も精度の高いデータ処理結果)を選択する。
周期処理判定部203は、完了判別部及び処理結果選択部の例である。
周期処理制御部204は、処理結果に基づいて出力制御する手段である。
また、周期処理制御部204は、サブCPU300の演算が周期時間内に完了していない場合に、サブCPU300に演算を終了するよう指示する。
周期処理制御部204は、終了指示部の例である。
次に、サブCPU300の内部構成例を説明する。
周期処理演算部301は、メインCPU200からの起動指示により周期演算(制御アルゴリズムBによる演算)を実行する手段である。
周期処理完了通知部302は、サブCPU300の処理の完了をメインCPU200に通知する手段である。
周期処理完了通知部302がメインCPU200に通知する方法としては、他に割込み信号や通信用レジスタなどが考えられるが、これに限定されない。
次に、図4のフローチャートを参照して、本実施の形態に係るデータ処理装置100の動作例について説明する。
メイン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の周期処理が完了しないことはない。
メインCPU200の周期処理判定部203は、周期時間に達した場合(S402でYES)は、周期時間内に受信した完了通知に含まれている識別子から、メインCPU200の他にサブCPU300からも完了通知を受けているか否かを判定する(S403)(完了判別ステップ)。
サブCPU300におけるデータ処理が周期時間内に完了しなかった場合(サブCPU300から完了通知を受けていない場合)は、サブCPU300における次の周期処理の実行を可能にするため、周期処理判定部203が周期処理制御部204にサブCPU300における演算が周期時間内に完了しなかったことを通知し、周期処理制御部204が周期処理演算部301に演算処理の終了を指示する(S404)。
次に、周期処理判定部203が、周期時間内で演算処理が完了したCPUの演算結果のうち、最も処理精度が高い演算結果を選択する(S405)(処理結果選択ステップ)。
たとえば、メインCPU200とサブCPU300の両方の演算が周期時間内に完了している場合は、周期処理判定部203は、より精度の高いサブCPU300の演算結果を選択し、周期処理結果とする。
一方、メインCPUの演算が完了し、サブCPUの演算が完了していない場合は、メインCPUの演算結果を選択し、周期処理結果とする(前述のように、制御アルゴリズムAは確実に周期時間内に演算が完了するため、メインCPUの周期処理が完了しないことはない)。
次に、周期処理判定部203が、選択した周期処理結果を周期処理制御部204に通知し、周期処理制御部204が、周期処理結果を共有メモリ500から取得し、工具を移動させるためのモータなどを制御する(S406)とともに、周期処理管理部201に周期処理の完了を通知する。
なお、図4のフローでは、未完了のサブCPUにおける動作を早期に終了させるために、周期処理判定部203による演算結果の選択(S405)の前に、周期処理制御部204が未完了のサブCPUに処理の終了を指示するようにしたが、順序を入れ替えて、S405の後に、周期処理制御部204がサブCPUの演算を強制的に完了させる通知を行うようにしてもよい。
このように、本実施の形態によれば、異なるCPUにおいて、制御精度の異なるアルゴリズムを実行し、周期時間内に完了した結果を使用することにより、周期時間を長くすることなく、制御精度を向上することができる。
以上、本実施の形態では、周期処理において、制御精度の異なる制御アルゴリズムを使用したプログラムを複数のCPUで同時に実行し、制御周期毎に演算が完了した処理結果の内、精度が高い結果で制御を行うことを説明した。
実施の形態2.
本実施形態では、実施の形態1で説明した構成において3個以上の制御アルゴリズムを同時実行する例を説明する。
図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)の各々に割り当てる制御アルゴリズムは、それぞれ、演算時間と制御精度が異なる。
次に動作について説明する。
本実施の形態においても、図4のフローチャートと同様の動作が行われる。
具体的には、以下の通りである。
メインCPU200は、装置の初期化時に、複数のサブCPU300にそれぞれ制御精度と演算時間が異なる複数の制御アルゴリズムによるプログラムを割り付ける(制御アルゴリズムAは実施の形態1と同様に周期処理起動部202に割り付けられる)。
周期処理起動部202は自CPUの周期演算を開始するとともに、全てのサブCPUに周期処理の起動を通知する(S401)。
メインCPU200内の周期処理判定部203は、S402〜S404の処理の後、周期時間内に完了したサブCPUの演算結果及び自CPUの演算処理の内、制御精度が最も高い演算結果を選択し、周期処理結果とする(S405)。
なお、S404では、周期処理制御部204は、判定結果において演算が完了していない全てのサブCPU300に対して、演算を強制的に完了させる。
また、実施の形態1と同様に、S404の処理は、S405の処理の後に行われるようにしてもよい。
このように、本実施の形態によれば、制御周期毎に最も制御精度の高い演算結果を使用することにより、装置として精度を最適にすることが可能となる。
実施の形態3.
本実施形態では、実施の形態1で説明した構成においてサブCPU300の演算が完了しない場合に制御精度を変更する方法を説明する。
図3は、本実施の形態に係るデータ処理装置100の構成例を示す。
図3では、図1に示す構成に精度制御部205を追加している。
精度制御部205は、サブCPU300の演算が未完了である場合に制御精度を変更する手段である。
より具体的には、精度制御部205は、周期時間内にデータ処理が完了していないサブCPU300の制御アルゴリズムを、現在割り当てられている制御アルゴリズムよりもデータ処理結果の精度が低い制御アルゴリズムに変更する。精度制御部205は、例えば、周期時間内にデータ処理が完了していない回数が所定回数以上のサブCPU300の制御アルゴリズムを、現在割り当てられている制御アルゴリズムよりもデータ処理結果の精度が低い制御アルゴリズムに変更する。
精度制御部205は、アルゴリズム変更部の例である。
次に動作について説明する。
周期処理判定部203は、実施の形態1と同じ判定を行い、サブCPU300の演算処理が周期時間内に完了しなかった場合、判定結果を周期処理制御部204に通知するとともに、精度制御部205にサブCPU300の演算処理が完了しなかったことを通知する。
精度制御部205は、サブCPU300の演算処理が周期時間内に完了しなかったケースを保持し、保持結果が一定の条件に達した場合に、サブCPU300が実行する制御アルゴリズムを変更する。
例えば、精度制御部205は、サブCPU300の演算処理が周期時間内に完了しなかった回数をカウントし、単位時間当たりのカウント数が所定の値以上になった場合に、サブCPU300が実行する制御アルゴリズムを、制御精度がアルゴリズムAより高くアルゴリズムBより低い(演算時間がアルゴリズムAより長いがアルゴリズムBより短い)制御アルゴリズムCに変更する。
制御アルゴリズムを変更する方法は、共有メモリ500内のサブCPU300が実行するプログラムを書き換えてもよい。
なお、以上では、実施の形態1の構成(1つのサブCPU300)において、サブCPU300の制御アルゴリズムを変更する例を説明しているが、実施の形態2に示す構成(複数のサブCPU300)において制御アルゴリズムを変更するようにしてもよい。
つまり、特定のサブCPU300において周期時間内に周期処理が完了できなかった回数が所定回数に達した場合に、そのサブCPU300の現在の制御アルゴリズムと当該現在の制御アルゴリズムよりも1段階制御精度の劣る制御アルゴリズムとの間の制御アルゴリズムに変更するようにしてもよい。
このように、本実施の形態によれば、例えば外来ノイズなどによりデータ転送誤りが多発するなどして割込み発生頻度が高くなった場合に対して、メインCPUにおいてサブCPUの演算処理の未完了状態を監視し、未完了頻度が高くなった場合に制御精度の向上度合いは低いが完了する頻度が高い制御アルゴリズムに変更することにより、装置として精度を向上させることが可能となる。
以上、本実施の形態では、制御精度が高いプログラムが制御周期内に頻繁に演算が完了しない場合、制御精度を変更することを説明した。
最後に、実施の形態1〜3に示したデータ処理装置100のハードウェア構成例について説明する。
図5は、実施の形態1〜3に示すデータ処理装置100のハードウェア資源の一例を示す図である。
なお、図5の構成は、あくまでもデータ処理装置100のハードウェア構成の一例を示すものであり、データ処理装置100のハードウェア構成は図5に記載の構成に限らず、他の構成であってもよい。
図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に相当する。
通信ボード915は、例えば、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
なお、データ処理装置100が組み込み機器であれば、ウィンドウシステム922はなくてもよい。
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
データ処理装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
上記プログラム群923には、実施の形態1〜3の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の演算」、「〜の計算」、「〜の比較」、「〜の処理」、「〜の設定」、「〜の選択」、「〜の割り当て」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1〜3の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせで実施されても構わない。ソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜3の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜3の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1〜3に示すデータ処理装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
100 データ処理装置、200 メインCPU、201 周期処理管理部、202 周期処理起動部、203 周期処理判定部、204 周期処理制御部、205 精度制御部、300 サブCPU、301 周期処理演算部、302 周期処理完了通知部、400 入出力装置、500 共有メモリ。

Claims (5)

  1. 複数のCPU(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を複数回行わせるデータ処理装置であって、
    同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示部と、
    所定の制限時間内にデータ処理が完了したCPUを判別する完了判別部と、
    前記完了判別部によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択部と
    前記制限時間内にデータ処理が完了していない回数が所定回数以上のCPUの処理アルゴリズムを、現在割り当てられている処理アルゴリズムよりもデータ処理結果の精度が低い処理アルゴリズムに変更するアルゴリズム変更部とを有することを特徴とするデータ処理装置。
  2. 前記処理結果選択部は、
    前記完了判別部によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から、データ処理結果の精度が最も高い処理アルゴリズムが割り当てられているCPUのデータ処理結果を選択することを特徴とする請求項1に記載のデータ処理装置。
  3. 前記データ処理装置は、更に、
    前記制限時間内にデータ処理が完了していないCPUに、データ処理を終了するよう指示する終了指示部を有することを特徴とする請求項1又は2に記載のデータ処理装置。
  4. 複数のCPU(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を複数回行わせるデータ処理装置による制御方法であって、
    同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示ステップと、
    所定の制限時間内にデータ処理が完了したCPUを判別する完了判別ステップと、
    前記完了判別ステップによりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択ステップと
    前記制限時間内にデータ処理が完了していない回数が所定回数以上のCPUの処理アルゴリズムを、現在割り当てられている処理アルゴリズムよりもデータ処理結果の精度が低い処理アルゴリズムに変更するアルゴリズム変更ステップとを有することを特徴とする制御方法。
  5. 複数のCPU(Central Processing Unit)を備え、前記複数のCPUに、データ処理結果の精度を高くするためにはデータ処理時間を長くしなければならないデータ処理を複数回行わせるデータ処理装置に、
    同じデータ処理を対象にするがデータ処理結果の精度が相互に異なる複数の処理アルゴリズムが割り当てられている前記複数のCPUに、各々に割り当てられている処理アルゴリズムに従ってデータ処理を開始するよう指示し、前記複数のCPUに並行してデータ処理を行わせる処理開始指示処理と、
    所定の制限時間内にデータ処理が完了したCPUを判別する完了判別処理と、
    前記完了判別処理によりデータ処理が完了したと判別されたCPUのデータ処理結果の中から特定のデータ処理結果を選択する処理結果選択処理と
    前記制限時間内にデータ処理が完了していない回数が所定回数以上のCPUの処理アルゴリズムを、現在割り当てられている処理アルゴリズムよりもデータ処理結果の精度が低い処理アルゴリズムに変更するアルゴリズム変更処理とを実行させることを特徴とするプログラム。
JP2009146146A 2009-06-19 2009-06-19 データ処理装置及び制御方法及びプログラム Expired - Fee Related JP5371569B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009146146A JP5371569B2 (ja) 2009-06-19 2009-06-19 データ処理装置及び制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009146146A JP5371569B2 (ja) 2009-06-19 2009-06-19 データ処理装置及び制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011003052A JP2011003052A (ja) 2011-01-06
JP5371569B2 true JP5371569B2 (ja) 2013-12-18

Family

ID=43560953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009146146A Expired - Fee Related JP5371569B2 (ja) 2009-06-19 2009-06-19 データ処理装置及び制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5371569B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104267639B (zh) * 2014-09-22 2018-02-23 苏州贝昂科技有限公司 一种时钟系统、计数器及任务处理方法
CN115944877B (zh) * 2022-12-21 2024-05-28 厦门海辰储能科技股份有限公司 基于多cpu的消防系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749844A (ja) * 1993-06-04 1995-02-21 Hitachi Ltd 異バージョンプログラムの多重実行方法および計算機システム
JPH08212084A (ja) * 1995-02-02 1996-08-20 Hitachi Ltd 情報処理装置
JP2000020492A (ja) * 1998-06-29 2000-01-21 Yaskawa Electric Corp サブcpuへのプログラムダウンロード方法およびそのnc装置
JP4203001B2 (ja) * 2004-01-28 2008-12-24 株式会社東芝 並列計算方法、並列計算プログラム及び計算機
JP2006085386A (ja) * 2004-09-15 2006-03-30 Sony Corp 情報処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
JP2011003052A (ja) 2011-01-06

Similar Documents

Publication Publication Date Title
CN112204524B (zh) 用于硬件加速的硬件资源的嵌入式调度
KR20170131738A (ko) 적응 인터럽트 제어를 수행하는 컴퓨터 시스템 및 그것의 인터럽트 제어 방법
JP7039631B2 (ja) アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体
CN109582215B (zh) 硬盘操作命令的执行方法、硬盘及存储介质
JP2021527892A (ja) 分岐命令のタイプに基づく先行分岐予測の選択的実行
US10031757B2 (en) Operation of a multi-slice processor implementing a mechanism to overcome a system hang
JP6808090B1 (ja) 制御装置および分散処理方法
JP2021527248A (ja) 予測ミス回復の待ち時間を短縮するための偶発的な分岐予測の格納
US10657022B2 (en) Input and output recording device and method, CPU and data read and write operation method thereof
JP7470685B2 (ja) 集積回路中の算出ユニットをプログラムおよび制御すること
JP5371569B2 (ja) データ処理装置及び制御方法及びプログラム
JP5621613B2 (ja) 情報処理装置、制御方法及びプログラム
JP4509951B2 (ja) シミュレーション実行制御装置及びプログラム
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
US6934936B2 (en) Apparatus and method for adaptive address-based historical utilization recording
JP6253865B2 (ja) 転送制御装置、車両及び転送制御方法
JP2019160155A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6488962B2 (ja) キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
JP5064825B2 (ja) バッファキャッシュ装置及びバッファキャッシュ方法及びプログラム
US9983879B2 (en) Operation of a multi-slice processor implementing dynamic switching of instruction issuance order
JP2009059276A (ja) 情報処理装置およびプログラム
JP5901252B2 (ja) データ処理装置およびデータ処理方法およびプログラム
JP6379841B2 (ja) 情報処理装置、試験方法および試験制御プログラム
TWI544343B (zh) 伺服器及其方法、系統及其方法
JP3998686B2 (ja) Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置

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