(57)【要約】【課題】周期Ｔ１で主処理１０を繰り返す主プロセッサ１、所定の実行時間からなり、主処理１０に必要な情報を提供するための従処理２０を主プロセッサとは非同期で繰り返す従プロセッサ２を備え、主プロセッサが周期Ｔ１ごとの主処理を開始する時点において判明している従処理の最新の処理結果からなる情報を用いて当該周期の主処理を実行するマルチプロセッサ制御システムにて、従処理を主処理に同期させシステムの処理効率を高める。【解決手段】１回分の従処理によって主処理に提供される全情報の種類を１または所定の複数の種類に区分して、この各区分毎の情報を求める従処理の処理時間が主処理の周期Ｔ１以下となるようにし、従プロセッサが、主処理監視タイマ６によって主処理の周期Ｔ１を計測し、前記区分毎の情報を求める従処理を、その１区分ずつを周期Ｔ１に同期させながら、その全区分について実行することを繰り返すようにする。【選択図】        図１
2004310414.tif 000002
【特許請求の範囲】
【請求項１】
所定周期で主となる所定の制御処理（以下主処理という）を繰り返し実行する主プロセッサと、
それぞれ所定の実行時間からなり、前記主処理に必要な情報を提供するための従属する処理（以下従処理という）を主プロセッサとは非同期で繰り返し実行する１または複数の従プロセッサとを備え、
主プロセッサが前記所定周期ごとの主処理を開始する時点において判明している各従処理の最新の処理結果からなる情報を用いて当該周期の主処理を実行するマルチプロセッサ制御システムにおいて、
各１回分の従処理によって主処理に提供される情報の種類を１または所定の複数の種類に区分して、この各区分毎の情報を求める従処理の処理時間が前記周期以下となり、且つこの区分毎の情報を用いても主プロセッサが有効な主処理を実行できるようにし、
従プロセッサがそれぞれ前記周期を監視する手段を持って、前記区分毎の情報を求める従処理を、その１区分ずつを前記周期に同期させながら、その全区分について実行することを繰り返すようにしたことを特徴とするマルチプロセッサ制御システムの同期処理方式。
【請求項２】
請求項１に記載のマルチプロセッサ制御システムの同期処理方式において、
従プロセッサが前記区分毎の情報を求める従処理の実行を、それぞれ対応する前記の周期内に収めるようにしたことを特徴とするマルチプロセッサ制御システムの同期処理方式。
【請求項３】
請求項２に記載のマルチプロセッサ制御システムの同期処理方式において、
従プロセッサが前記区分毎の情報を求める従処理の実行を、それぞれ対応する前記周期の次周期の直前に終了するようにしたことを特徴とするマルチプロセッサ制御システムの同期処理方式。
【請求項４】
請求項１ないし３のいずれかに記載のマルチプロセッサ制御システムの同期処理方式において、
各従プロセッサについての前記区分毎の情報を求める従処理を、それぞれ該区分以前の全情報を求める従処理を該区分毎に分割してなるブロック処理としたことを特徴とするマルチプロセッサ制御システムの同期処理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、互いに非同期でそれぞれ独立に処理を実行する主プロセッサと１または複数の従プロセッサとを備え、主プロセッサが従プロセッサの処理結果を利用するマルチプロセッサ型の制御システムにおいて、プロセッサの処理の効率を高めるようにしたマルチプロセッサ制御システムの同期処理方式に関する。
なお以下各図において同一の符号は同一もしくは相当部分を示す。
【０００２】
【従来の技術】
図５はこの種のマルチプロセッサ制御システムの要部の構成を示し、図６は図５の処理の動作を示す説明図である。図５，６において、２は従属処理（従処理と略記）を実行するプロセッサとしての従プロセッサ、１は従プロセッサ２の処理結果を利用した主となる制御処理（主処理と略記）を実行するプロセッサとしての主プロセッサである。
ここで主プロセッサ１は主処理１０を周期Ｔ１ごとに、演算１１，１２，・・・１４・・の形で繰り返し実行しており、同時に伝送バス３を経由して従プロセッサ２にも従処理２０を周期Ｔ２ごとに、演算２１，２２・・・２７・・の形で繰り返し実行させている。
【０００３】
そして、主プロセッサ１は主処理１０を繰り返し実行する間に、伝送バス３を介して従プロセッサ２が実行した従処理２０の処理結果を主処理１０に反映させている。
この場合、主プロセッサ１は主処理１０の繰り返しの実行を開始する時点ごとに、この時点で既に判明している従処理２０の最新の処理結果を主処理１０に反映させるため、本例では演算１２には演算２１の結果が反映され、演算１３には演算２３の結果が反映され、演算１４には演算２５の結果が反映され、同様に演算１５には演算２６の結果が反映される。
【０００４】
なお、上記した従来の構成および制御処理の内容は、一般的なマイクロプロセッサを応用した主・従の処理を説明したものであり、特別な公知文献の特定をしたものではないので、先行文献は記載しない。
【０００５】
【発明が解決しようとする課題】
しかしながら図５，６のような従来のハードウェア構成および処理方式においては、主処理１０と従処理２０が互いに非同期であるため、次のような問題がある。
▲１▼主プロセッサ１が従プロセッサ２の遅れのない最新の処理結果を獲得できない。
▲２▼従処理２０の結果が主処理１０に反映される時系列の関係が常に一定ではなく、数周期に一度の割合で時系列的に不連続な部分が発生する。
【０００６】
▲３▼従処理２０の毎回の処理結果が処理１０に反映される訳ではないので、従プロセッサ２の処理に無駄が発生する。
本発明はこのような問題を解消し、システムのハードウェア構成を変更することなく容易に従処理２０を主処理１０に同期させることができるマルチプロセッサ制御システムの同期処理方式を提供することを課題とする。
【０００７】
【課題を解決するための手段】
前記の課題を解決するために、請求項１のマルチプロセッサ制御システムの同期処理方式では、
所定周期（Ｔ１）で主となる所定の制御処理（１０、以下主処理という）を繰り返し実行する主プロセッサ（１）と、
それぞれ所定の実行時間（Ｔ２など）からなり、前記主処理に必要な情報を提供するための従属する処理（２０、以下従処理という）を主プロセッサとは非同期で繰り返し実行する１または複数の従プロセッサ（２など）とを備え、
主プロセッサが前記所定周期ごとの主処理を開始する時点において判明している各従処理の最新の処理結果からなる情報を用いて当該周期の主処理を実行するマルチプロセッサ制御システムにおいて、
各１回分の従処理によって主処理に提供される情報の種類を１または所定の複数の種類に区分して、この各区分毎の情報を求める従処理（処理ブロック＃１，＃２の処理、または優先処理＃１，＃２など）の処理時間（ｔ２１，ｔ２２など）が前記周期以下となり、且つこの区分毎の情報を用いても主プロセッサが有効な主処理を実行できるようにし、
従プロセッサがそれぞれ前記周期を監視する手段（主処理監視タイマ６など）を持って、前記区分毎の情報を求める従処理を、その１区分ずつを前記周期に同期させながら、その全区分について実行することを繰り返すようにする。
【０００８】
また請求項２のマルチプロセッサ制御システムの同期処理方式では、請求項１に記載のマルチプロセッサ制御システムの同期処理方式において、
従プロセッサが前記区分毎の情報を求める従処理の実行を、それぞれ対応する前記の周期内に収めるようにする。
また請求項３のマルチプロセッサ制御システムの同期処理方式では、請求項２に記載のマルチプロセッサ制御システムの同期処理方式において、
従プロセッサが前記区分毎の情報を求める従処理の実行を、それぞれ対応する前記周期の次周期の直前に終了するようにする。
【０００９】
また請求項４のマルチプロセッサ制御システムの同期処理方式では、請求項１ないし３のいずれかに記載のマルチプロセッサ制御システムの同期処理方式において、
各従プロセッサについての前記区分毎の情報を求める従処理を、それぞれ該区分以前の全情報を求める従処理を該区分毎に分割してなるブロック処理（処理ブロック＃１，＃２の処理など）とする。
本発明の作用は、主プロセッサ１が所定周期Ｔ１で繰り返し実行する主処理１０に提供する最新情報を作成するために、従プロセッサ１が繰り返し実行する従処理２０を以下のようにして主処理１０に同期させるものである。
【００１０】
即ち、１回分の従処理２０によって主処理１０に提供される全情報の種類を１または所定の複数の種類に区分して、この各区分毎の情報を求める従処理（処理ブロック＃１，＃２の処理、または優先処理＃１，＃２など）の処理時間が主処理１０の実行周期Ｔ１以下となるようにし、
従プロセッサ２が、主処理監視タイマ６によって主処理１０の実行周期Ｔ１を計測し、前記区分毎の情報を求める従処理を、その１区分ずつを周期Ｔ１に同期させながら、その全区分について実行することを繰り返すようにする。
【００１１】
【発明の実施の形態】
図１は本発明の一実施例としてのシステム構成を示す。図１においては図５と比較して従プロセッサ２には、伝送バス３を介して主処理１０の周期を監視する主処理監視タイマ６が追加されている。
図１のシステムでは、従プロセッサ２が伝送バス３を介し主処理監視タイマ６を用いて主プロセッサ１が実行する主処理１０の周期を測定することで、従処理２０を主処理１０に同期して実行し、主処理１０と従処理２０との間の時系列の関係を最適化する。
【００１２】
図２は図１のシステムの動作の第１の実施例を示す。ここでは、
（主処理１０の周期Ｔ１）≧（従処理２０の周期Ｔ２）
であるものとする。
即ち、図２では主プロセッサ１は図６と同様に主処理１０を周期Ｔ１ごとに、演算１１，１２，・・・１４・・の形で繰り返し連続して実行しているが、従プロセッサ２は主処理監視タイマ６で測定した主処理１０の周期Ｔ１をもとに、自身が繰り返し実行する従処理２０（実行時間Ｔ２＝単独の場合の実行周期）の演算２１，２２，・・・２４・・を主処理１０の周期Ｔ１に同期して行う。
【００１３】
そして本例では、従プロセッサ２は主処理１０の演算が開始される直前に従処理２０の演算が終了し、この終了したばかりの従処理２０の最新の演算結果が直ちに伝送バス３を介して主処理１０の演算に反映されるようにしている。
これにより、従処理２０の演算２１の結果は主処理１０の演算１２に反映され、従処理２０の演算２２の結果は主処理１０の演算１３に反映され、同様に従処理２０の演算２３の結果は主処理１０の演算１４に反映される。
図３は図１のシステムの動作の第２の実施例（分割交互処理方式という）を示す。ここでは、
（主処理１０の周期Ｔ１）＜（従処理２０の周期Ｔ２）
であるものとし、本例では従処理２０がそれぞれ実行時間ｔ２１とｔ２２の互いに独立した２つの演算処理ブロック（説明の便宜上、処理ブロック＃１，＃２と呼ぶ）からなるものとする。但し、
ｔ２１≦Ｔ１、ｔ２２≦Ｔ１、（ｔ２１＋ｔ２２）＝Ｔ２とする。
【００１４】
なお、処理ブロック＃１の演算は演算２１１，２２１，・・・で表され、処理ブロック＃２の演算は演算２１２，２２２，・・・で表される。
ここで、主処理１０が例えば被加工物Ａを加工する処理を行う処理部と被加工物Ｂを加工する処理を行う処理部とからなるものとすれば、従処理２０の処理ブロック＃１の演算は、被加工物Ａの例えば加工寸法を演算して主処理１０内の被加工物Ａの加工処理部に提供する役割を持ち、同様に従処理２０の処理ブロック＃２の演算は、被加工物Ｂの加工寸法を演算して主処理１０内の被加工物Ｂの加工処理部に提供する役割を持つ。
【００１５】
図３では主処理１０の演算が周期Ｔ１ごとに、演算１１，１２，・・・１４・・の形で繰り返し連続して実行される間に、従処理２０の処理ブロック＃１と＃２の演算が交互に且つ周期Ｔ１に同期して行われるようにする。
そして本例では主処理１０の演算が開始される直前にそれぞれ処理ブロック＃１と＃２の演算が終了し、伝送バス３を介して直ちに主処理１０に反映されるようにしている。
このようにして、従処理２０の処理ブロック＃１の演算２１１，２２１の結果はそれぞれ主処理１０の演算１２，１４に提供され、従処理２０の処理ブロック＃２の演算２１２，２２２の結果はそれぞれ主処理１０の演算１３，１５に提供される。
【００１６】
そして主処理１０は上記例では被加工物Ａを加工する処理と被加工物Ｂを加工する処理とを周期Ｔ１ごとに交互に実行することとなる。
図４は図１のシステムの動作の第３の実施例（優先処理方式という）を示す。ここでも、
（主処理１０の周期Ｔ１）＜（従処理２０の周期Ｔ２）
であるものとするが、本例では従処理２０がそれぞれ実行時間ｔ２１とｔ２２（但し、ｔ２１≦Ｔ１、ｔ２２≦Ｔ１とする）となるような、それぞれの時点で優先すべき処理（説明の便宜上、優先処理＃１，＃２と呼ぶ）の部分のみを主処理１０の実行周期Ｔ１に同期して順次実行することを繰り返すようにする。
【００１７】
なお、優先処理＃１の演算は演算２１１，２２１，・・・で表され、優先処理＃２の演算は演算２１２，２２２，・・・で表される。
ここで、主処理１０が、例えば或る１つの被加工物に寸法Ａに関わる加工と寸法Ｂに関わる加工との２つの工程にわたる加工を施す処理を行うものとすれば、従処理２０の優先処理＃１の演算は例えば被加工物に対する寸法Ａを演算して主処理１０に提供する役割を持ち、同様に従処理２０の優先処理＃２の演算は、被加工物に対する寸法Ｂを演算して主処理１０に提供する役割を持つ。
図４では主処理１０の演算が周期Ｔ１ごとに、演算１１，１２，・・・１４・・の形で繰り返し連続して実行される間に、従処理２０の優先処理＃１の演算と優先処理＃２の演算とがそれぞれ周期Ｔ１に同期して順に実行され、以後もこの優先処理＃１と＃２の２つの演算が繰り返される。
【００１８】
そして本例では主処理１０の演算が開始される直前にそれぞれ優先処理＃１，＃２の演算が終了し、伝送バス３を介して直ちに主処理１０に反映されるようにしている。
このようにして、従処理２０の優先処理＃１の演算２１１，２２１の結果はそれぞれ主処理１０の演算１２，１４に提供され、従処理２０の優先処理＃２の演算２１２，２２２の結果はそれぞれ主処理１０の演算１３，１５に提供される。
そして主処理１０は上記例では被加工物に寸法Ａに関わる加工と寸法Ｂに関わる加工との２工程にわたる加工を施す処理を２×（周期Ｔ１）の時間で実行し、以後もこの動作を繰り返すこととなる。
【００１９】
【発明の効果】
本発明によれば、周期Ｔ１で主となる制御処理（主処理）１０を繰り返し実行する主プロセッサ１と、所定の実行時間Ｔ２からなり、主処理１０に必要な情報を提供するための従属処理（従処理）２０を主プロセッサ１とは非同期で繰り返し実行する従プロセッサ２とを備え、
主プロセッサ１が周期Ｔ１ごとの主処理１０を開始する時点において判明している従処理２０の最新の処理結果からなる情報を用いて当該周期の主処理１０を実行するマルチプロセッサ制御システムにおいて、
１回分の従処理２０によって主処理１０に提供される全情報の種類を１または所定の複数の種類に区分して、この各区分毎の情報を求める従処理（処理ブロック＃１，＃２の処理、または優先処理＃１，＃２など）の処理時間が主処理１０の実行周期Ｔ１以下となるようにし、
従プロセッサ２が、主処理監視タイマ６によって主処理１０の実行周期Ｔ１を計測し、前記区分毎の情報を求める従処理を、その１区分ずつを周期Ｔ１に同期させながら、その全区分について実行することを繰り返すようにして、従処理２０を主処理１０に同期させるようにしたので、以下のような効果を得ることができる。
【００２０】
▲１▼従プロセッサ２が常時、主プロセッサ１の処理周期Ｔ１を主処理監視タイマ６にて監視することで従処理２０の主処理１０からの同期脱落を防止することができる。
なお、タイマ６には従プロセッサ内蔵タイマ等を流用することでシステムのハードウェア構成を変更せずに、また、主・従プロセッサ間の伝送周期を計数することで伝送方式そのものに変更はいらず、システムの時系列での処理の精度を向上できる。
▲２▼従プロセッサ２が主処理１０の周期Ｔ１を監視をしながら自らの処理（従処理）２０をすることで、主処理１０に常時、最新の処理情報を提供することができる。
【００２１】
▲３▼従処理２０を主処理１０に同期化することで従プロセッサ２の処理時間に余裕ができる。
▲４▼従プロセッサ２が主処理１０の監視をすることでシステム全体の異常監視ができる。
【図面の簡単な説明】
【図１】本発明の一実施例としてのシステム構成を示すブロック図
【図２】図１の第１の実施例としての動作を示す図
【図３】図１の第２の実施例（分割交互処理方式）としての動作を示す図
【図４】図１の第３の実施例（優先処理方式）としての動作を示す図
【図５】図１に対応する従来のブロック図
【図６】図５の動作例を示す図
【符号の説明】
１                主プロセッサ
２                従プロセッサ
３                伝送バス
６                主処理監視タイマ
１０              主処理
１１〜１５        主処理の演算
２０              従処理
２１〜２４        従処理の演算
２１１            従処理の処理ブロック＃１又は優先処理＃１の演算
２１２            従処理の処理ブロック＃２又は優先処理＃２の演算
２２１            従処理の処理ブロック＃１又は優先処理＃１の演算
２２２            従処理の処理ブロック＃２又は優先処理＃２の演算
Ｔ１              主処理の周期
Ｔ２              従処理の周期又は実行時間
ｔ２１            従処理の処理ブロック＃１又は優先処理＃１の実行時間
ｔ２２            従処理の処理ブロック＃２又は優先処理＃２の実行時間
【図１】
2004310414.tif 000003
【図２】
2004310414.tif 000004
【図３】
2004310414.tif 000005
【図４】
2004310414.tif 000006
【図５】
2004310414.tif 000007
【図６】
2004310414.tif 000008