JPH1124944A - プロセス同期方法 - Google Patents
プロセス同期方法Info
- Publication number
- JPH1124944A JPH1124944A JP17476697A JP17476697A JPH1124944A JP H1124944 A JPH1124944 A JP H1124944A JP 17476697 A JP17476697 A JP 17476697A JP 17476697 A JP17476697 A JP 17476697A JP H1124944 A JPH1124944 A JP H1124944A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- interrupt
- synchronization method
- counter
- flag
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 239
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 abstract description 31
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 abstract description 19
- 238000012805 post-processing Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
Abstract
(57)【要約】
【課題】 割込処理によるオーバーヘッドを解消し、か
つ、イベント待ち時間を最小にしてCPUの負荷を軽減
するプロセス同期方法を提供すること。 【解決手段】 プロセス1がプロセス2を起動する際、
プロセス2に対して、同期割込SIの発生タイミングを
示す同期割込制御情報Icnt を出力する。これにより、
プロセス2はその処理を開始すると共に、上述した同期
割込制御情報Icnt に従って、プロセス状態監視手段3
0を介して同期割込SIをプロセス1に対して発生す
る。プロセス1は、同期割込SIが発生すると、割込処
理を開始し、その割込処理が終了すると、イベントフラ
グ32を監視する。そして、イベントフラグ32に終了
イベントフラグの設定がされると、プロセス1は後処理
を実行する。
つ、イベント待ち時間を最小にしてCPUの負荷を軽減
するプロセス同期方法を提供すること。 【解決手段】 プロセス1がプロセス2を起動する際、
プロセス2に対して、同期割込SIの発生タイミングを
示す同期割込制御情報Icnt を出力する。これにより、
プロセス2はその処理を開始すると共に、上述した同期
割込制御情報Icnt に従って、プロセス状態監視手段3
0を介して同期割込SIをプロセス1に対して発生す
る。プロセス1は、同期割込SIが発生すると、割込処
理を開始し、その割込処理が終了すると、イベントフラ
グ32を監視する。そして、イベントフラグ32に終了
イベントフラグの設定がされると、プロセス1は後処理
を実行する。
Description
【0001】
【発明の属する技術分野】この発明は、複数のプロセス
により制御される処理を効率よく実行するためのプロセ
ス同期方法に関する。
により制御される処理を効率よく実行するためのプロセ
ス同期方法に関する。
【0002】
【従来の技術】図4に、複数プロセスによる処理間の同
期をとる従来方法の一例を示す。この図において、プロ
セスP1がプロセスP2を起動すると、プロセスP1
は、プロセスP2の処理が終了するまで待ち状態(OS
(Operating System)によりスケジューリングされる)
になる。そして、プロセスP2は、処理が終了するとプ
ロセスP1に対して割り込みを発生して処理が終了した
ことを通知する。これによりプロセスP1は、プロセス
P2の終了結果を受け取り、割込処理を行った後、処理
を継続する。
期をとる従来方法の一例を示す。この図において、プロ
セスP1がプロセスP2を起動すると、プロセスP1
は、プロセスP2の処理が終了するまで待ち状態(OS
(Operating System)によりスケジューリングされる)
になる。そして、プロセスP2は、処理が終了するとプ
ロセスP1に対して割り込みを発生して処理が終了した
ことを通知する。これによりプロセスP1は、プロセス
P2の終了結果を受け取り、割込処理を行った後、処理
を継続する。
【0003】図5は、図4のプロセス同期方法とは異な
る従来方法を示すものであり、図5におけるプロセスP
2の処理時間が比較的短い場合に使用されるプロセス同
期方法である。この同期方法では、プロセスP1がプロ
セスP2を起動した後、プロセスP1は、プロセスP2
の処理が終了するまでイベントフラグEを監視すること
により、双方のプロセスにおける処理間の同期をとって
いる。そして、プロセスP2は、処理が終了するとイベ
ントフラグEに処理の終了を設定して、そのことをプロ
セスP1に通知する。また、プロセスP1は、イベント
フラグEの状態を見て、プロセスP2の終了結果を検知
し、後処理を開始する。
る従来方法を示すものであり、図5におけるプロセスP
2の処理時間が比較的短い場合に使用されるプロセス同
期方法である。この同期方法では、プロセスP1がプロ
セスP2を起動した後、プロセスP1は、プロセスP2
の処理が終了するまでイベントフラグEを監視すること
により、双方のプロセスにおける処理間の同期をとって
いる。そして、プロセスP2は、処理が終了するとイベ
ントフラグEに処理の終了を設定して、そのことをプロ
セスP1に通知する。また、プロセスP1は、イベント
フラグEの状態を見て、プロセスP2の終了結果を検知
し、後処理を開始する。
【0004】
【発明が解決しようとする課題】ところで、図4のプロ
セス同期方法においては、プロセスP1の割り込み処理
が非常に高速である場合は問題が発生しないが、プロセ
スP2の処理がプロセスP1の割り込み処理時間に近づ
くにつれて、プロセスP1の割り込み処理によるオーバ
ーヘッドが無視できなくなる。
セス同期方法においては、プロセスP1の割り込み処理
が非常に高速である場合は問題が発生しないが、プロセ
スP2の処理がプロセスP1の割り込み処理時間に近づ
くにつれて、プロセスP1の割り込み処理によるオーバ
ーヘッドが無視できなくなる。
【0005】また、図5の同期方法の場合は、上述した
割り込み処理によるオーバヘッドが無いが、プロセスP
1がプロセスP2の処理終了までスケジューリングされ
ないので、CPU資源を独占的に使用してしまう。
割り込み処理によるオーバヘッドが無いが、プロセスP
1がプロセスP2の処理終了までスケジューリングされ
ないので、CPU資源を独占的に使用してしまう。
【0006】本発明は、上述した従来のプロセス同期方
法の欠点である、割り込み処理によるオーバーヘッドの
問題を解決し、かつ、イベント待ち時間を最小にしてC
PUの負荷を軽減するプロセス同期方法を提供すること
を目的とする。
法の欠点である、割り込み処理によるオーバーヘッドの
問題を解決し、かつ、イベント待ち時間を最小にしてC
PUの負荷を軽減するプロセス同期方法を提供すること
を目的とする。
【0007】
【課題を解決するための手段】請求項1の発明は、一方
のプロセスの処理と、該一方のプロセスにより起動され
る他方のプロセスの処理との間の同期を取るプロセス同
期方法において、前記一方のプロセスから前記他方のプ
ロセスを起動する際に、該一方のプロセスが、該他方の
プロセスに該他方のプロセスの処理中に発生する割り込
みのタイミングを指示し、前記他方のプロセスの処理中
に、前記タイミングに従って前記割り込みが発生する
と、前記一方のプロセスにより、その割り込み処理を行
い、該割り込み処理終了後、前記一方のプロセスにより
前記他方のプロセスの処理状況を監視し、前記他方のプ
ロセスの終了を検知すると、前記一方のプロセスのその
後の処理を実行することを特徴とするプロセス同期方法
である。
のプロセスの処理と、該一方のプロセスにより起動され
る他方のプロセスの処理との間の同期を取るプロセス同
期方法において、前記一方のプロセスから前記他方のプ
ロセスを起動する際に、該一方のプロセスが、該他方の
プロセスに該他方のプロセスの処理中に発生する割り込
みのタイミングを指示し、前記他方のプロセスの処理中
に、前記タイミングに従って前記割り込みが発生する
と、前記一方のプロセスにより、その割り込み処理を行
い、該割り込み処理終了後、前記一方のプロセスにより
前記他方のプロセスの処理状況を監視し、前記他方のプ
ロセスの終了を検知すると、前記一方のプロセスのその
後の処理を実行することを特徴とするプロセス同期方法
である。
【0008】請求項2に記載の発明は、請求項1に記載
のプロセス同期方法において、前記一方のプロセスが、
前記割り込み処理終了後、前記一方のプロセスにより前
記他方のプロセスの処理状況を監視した時に、前記他方
のプロセスの処理が終了していなかった場合は、次回、
前記他方のプロセスを起動する際に、前記割り込みのタ
イミングを遅くするよう指示し、前記前記割り込みの発
生タイミングを遅くするよう指示し、前記他方のプロセ
スの処理が終了していた場合は、次回、前記他方のプロ
セスを起動する際に、前記割り込みのタイミングを早く
するよう指示することを特徴とする。
のプロセス同期方法において、前記一方のプロセスが、
前記割り込み処理終了後、前記一方のプロセスにより前
記他方のプロセスの処理状況を監視した時に、前記他方
のプロセスの処理が終了していなかった場合は、次回、
前記他方のプロセスを起動する際に、前記割り込みのタ
イミングを遅くするよう指示し、前記前記割り込みの発
生タイミングを遅くするよう指示し、前記他方のプロセ
スの処理が終了していた場合は、次回、前記他方のプロ
セスを起動する際に、前記割り込みのタイミングを早く
するよう指示することを特徴とする。
【0009】請求項3に記載の発明は、一方のプロセス
の処理と、該一方のプロセスにより起動される他方のプ
ロセスの処理との間の同期を取るプロセス同期方法にお
いて、前記他方のプロセスの処理状態を表すフラグと、
前記他方のプロセスによりカウント値が減算されるカウ
ンタと、前記カウンタの初期値を記憶するレジスタと、
前記カウンタのカウント値が0になった時、前記一方の
プロセスに対して割り込みを発生する割り込み発生手段
とからなるプロセス状態監視手段を用い、前記一方のプ
ロセスから前記他方のプロセスを起動する際に、該一方
のプロセスが該他方のプロセスに対し、該他方のプロセ
スの処理中に発生する割り込みのタイミングを示す数値
を通知し、前記他方のプロセスは、前記一方のプロセス
により起動されると、前記一方のプロセスから通知され
た数値を前記カウンタおよび前記レジスタに設定した
後、当該他方のプロセスの処理中に予め定められた回
数、前記カウンタのカウント値を1ずつ減算すると共
に、全処理が終了すると前記フラグを処理終了状態に設
定し、前記一方のプロセスは、前記プロセス状態監視手
段が前記割り込みを発生すると、その割り込み処理を行
った後、前記フラグを監視し、当該フラグが前記他方の
プロセスの処理終了状態になった時、その後の処理を開
始することを特徴とするプロセス同期方法である。
の処理と、該一方のプロセスにより起動される他方のプ
ロセスの処理との間の同期を取るプロセス同期方法にお
いて、前記他方のプロセスの処理状態を表すフラグと、
前記他方のプロセスによりカウント値が減算されるカウ
ンタと、前記カウンタの初期値を記憶するレジスタと、
前記カウンタのカウント値が0になった時、前記一方の
プロセスに対して割り込みを発生する割り込み発生手段
とからなるプロセス状態監視手段を用い、前記一方のプ
ロセスから前記他方のプロセスを起動する際に、該一方
のプロセスが該他方のプロセスに対し、該他方のプロセ
スの処理中に発生する割り込みのタイミングを示す数値
を通知し、前記他方のプロセスは、前記一方のプロセス
により起動されると、前記一方のプロセスから通知され
た数値を前記カウンタおよび前記レジスタに設定した
後、当該他方のプロセスの処理中に予め定められた回
数、前記カウンタのカウント値を1ずつ減算すると共
に、全処理が終了すると前記フラグを処理終了状態に設
定し、前記一方のプロセスは、前記プロセス状態監視手
段が前記割り込みを発生すると、その割り込み処理を行
った後、前記フラグを監視し、当該フラグが前記他方の
プロセスの処理終了状態になった時、その後の処理を開
始することを特徴とするプロセス同期方法である。
【0010】請求項4に記載の発明は、請求項3に記載
のプロセス同期方法において、前記一方のプロセスは、
前記フラグの監視の開始時に、前記フラグが処理終了状
態になっていなかった場合は、前記他方のプロセスの起
動時に通知する数値を減少させ、前記フラグが処理終了
状態になっていた場合は、前記他方のプロセスの起動時
に通知する数値を増加させることを特徴とする。
のプロセス同期方法において、前記一方のプロセスは、
前記フラグの監視の開始時に、前記フラグが処理終了状
態になっていなかった場合は、前記他方のプロセスの起
動時に通知する数値を減少させ、前記フラグが処理終了
状態になっていた場合は、前記他方のプロセスの起動時
に通知する数値を増加させることを特徴とする。
【0011】
【発明の実施の形態】以下、図面を参照して、本発明に
係る同期方法の一実施形態について説明する。本実施形
態におけるプロセス同期方法は、図1に示すように、ま
ず、プロセス1がプロセス2を起動する際、プロセス2
に対して、プロセス2の処理が終了する前に発生する同
期割込SIの発生タイミングを示す、同期割込制御情報
Icntを出力する。これにより、プロセス2が処理を開
始すると共に、上述した同期割込制御情報Icnt に従っ
て、プロセス状態監視手段30(後述する)を介してプ
ロセス1に対して同期割込SIを発生する。
係る同期方法の一実施形態について説明する。本実施形
態におけるプロセス同期方法は、図1に示すように、ま
ず、プロセス1がプロセス2を起動する際、プロセス2
に対して、プロセス2の処理が終了する前に発生する同
期割込SIの発生タイミングを示す、同期割込制御情報
Icntを出力する。これにより、プロセス2が処理を開
始すると共に、上述した同期割込制御情報Icnt に従っ
て、プロセス状態監視手段30(後述する)を介してプ
ロセス1に対して同期割込SIを発生する。
【0012】一方、プロセス1は、同期割込SIが発生
すると割込処理を開始し、この割込処理が終了すると、
プロセス状態監視手段30内のイベントフラグ32を監
視する。そして、プロセス2の処理が終了し、上記イベ
ントフラグ32に終了イベントフラグの設定がされる
と、プロセス1は後処理を開始する。
すると割込処理を開始し、この割込処理が終了すると、
プロセス状態監視手段30内のイベントフラグ32を監
視する。そして、プロセス2の処理が終了し、上記イベ
ントフラグ32に終了イベントフラグの設定がされる
と、プロセス1は後処理を開始する。
【0013】次に上述した手順を実現するための構成に
ついて図2および図3を参照して説明する。ここで、図
2は本実施形態におけるプロセス2のプログラム構造を
示す図であり、図中矢印Aの方向に順次処理されてい
く。また、図3は本実施形態で使用されるプロセス状態
監視手段の構成を示すブロック図である。
ついて図2および図3を参照して説明する。ここで、図
2は本実施形態におけるプロセス2のプログラム構造を
示す図であり、図中矢印Aの方向に順次処理されてい
く。また、図3は本実施形態で使用されるプロセス状態
監視手段の構成を示すブロック図である。
【0014】図2において、プロセス2には、まず、カ
ウンタ駆動命令の個数(ここではN個とする)が記述さ
れており、次いでプロセス1による起動後、最初に実行
されるカウンタ/イベントフラグ初期化命令が記述され
ている。そして、このカウンタ/イベントフラグ初期化
命令に続いて、プロセス2本来の各種命令が記述されて
いるが、その内、末尾から全処理時間の10%程度に相
当する箇所までの間に、所定の間隔をおいて上述したカ
ウンタ駆動命令がN個記述されている。また、プロセス
2の末尾には、前述したイベントフラグ32に処理終了
を設定するための終了イベント設定命令が記述されてい
る。
ウンタ駆動命令の個数(ここではN個とする)が記述さ
れており、次いでプロセス1による起動後、最初に実行
されるカウンタ/イベントフラグ初期化命令が記述され
ている。そして、このカウンタ/イベントフラグ初期化
命令に続いて、プロセス2本来の各種命令が記述されて
いるが、その内、末尾から全処理時間の10%程度に相
当する箇所までの間に、所定の間隔をおいて上述したカ
ウンタ駆動命令がN個記述されている。また、プロセス
2の末尾には、前述したイベントフラグ32に処理終了
を設定するための終了イベント設定命令が記述されてい
る。
【0015】ここで、上述したN個のカウンタ駆動命令
の内、最後(N番目)のカウンタ駆動命令のプロセス2
における記述位置は、そのN番目のカウンタ駆動命令が
実行された結果、同期割込SIが発生した場合におい
て、その同期割込SIを受けてプロセス1がイベントフ
ラグ32の監視を開始する時(詳しくは後述する)に
は、既に上記終了イベント設定命令が実行されているよ
うな位置に記述される。
の内、最後(N番目)のカウンタ駆動命令のプロセス2
における記述位置は、そのN番目のカウンタ駆動命令が
実行された結果、同期割込SIが発生した場合におい
て、その同期割込SIを受けてプロセス1がイベントフ
ラグ32の監視を開始する時(詳しくは後述する)に
は、既に上記終了イベント設定命令が実行されているよ
うな位置に記述される。
【0016】次に、図3において、31はカウンタ/イ
ベントフラグ初期化手段であり、プロセス2のカウンタ
/イベントフラグ初期化命令が実行されると、イベント
フラグ32にプロセス2の処理中を意味する“01”を
セットする。また、カウンタ/イベントフラグ初期化手
段31は、プロセス1から出力された同期割込制御情報
Icnt に基づいて命令カウンタ34の初期値を初期値レ
ジスタ33に書き込むと共に、その初期値を命令カウン
タ34にセットする。なお、イベントフラグ32の初期
状態には、“00”がセットされており、この値は、例
えば上述したプロセス1およびプロセス2を処理するシ
ステムの電源投入時等においてセットされる。
ベントフラグ初期化手段であり、プロセス2のカウンタ
/イベントフラグ初期化命令が実行されると、イベント
フラグ32にプロセス2の処理中を意味する“01”を
セットする。また、カウンタ/イベントフラグ初期化手
段31は、プロセス1から出力された同期割込制御情報
Icnt に基づいて命令カウンタ34の初期値を初期値レ
ジスタ33に書き込むと共に、その初期値を命令カウン
タ34にセットする。なお、イベントフラグ32の初期
状態には、“00”がセットされており、この値は、例
えば上述したプロセス1およびプロセス2を処理するシ
ステムの電源投入時等においてセットされる。
【0017】35はカウンタ駆動手段であり、プロセス
2のカウンタ駆動命令が実行される毎に命令カウンタ3
4のカウント値を1ずつ減算する。また、命令カウンタ
34は、カウント値が0(ゼロ)になると、遅延回路3
6を介してイベントフラグ32に同期割込SIの発生を
意味する“10”をセットする。なお、この遅延回路3
6の遅延量は、上述したシステムのCPU(中央演算処
理装置)の処理能力に応じて適宜調整可能なように構成
されているものとする。
2のカウンタ駆動命令が実行される毎に命令カウンタ3
4のカウント値を1ずつ減算する。また、命令カウンタ
34は、カウント値が0(ゼロ)になると、遅延回路3
6を介してイベントフラグ32に同期割込SIの発生を
意味する“10”をセットする。なお、この遅延回路3
6の遅延量は、上述したシステムのCPU(中央演算処
理装置)の処理能力に応じて適宜調整可能なように構成
されているものとする。
【0018】37は終了イベント設定手段であり、プロ
セス2の終了イベント設定命令が実行されると、イベン
トフラグ32にプロセス2の処理終了を意味する“1
1”をセットする。38は割込発生手段であり、イベン
トフラグ32にセットされた値が“01”から“10”
に変化した時、または、例えば命令カウンタ34に初期
値がセットされる際、何らか原因によりその値に誤りが
生じたために“01”から“11”に変化してしまった
時に、同期割込SIを発生する。
セス2の終了イベント設定命令が実行されると、イベン
トフラグ32にプロセス2の処理終了を意味する“1
1”をセットする。38は割込発生手段であり、イベン
トフラグ32にセットされた値が“01”から“10”
に変化した時、または、例えば命令カウンタ34に初期
値がセットされる際、何らか原因によりその値に誤りが
生じたために“01”から“11”に変化してしまった
時に、同期割込SIを発生する。
【0019】次に図1ないし図3を参照して、本実施形
態におけるプロセス同期方法の手順について説明する。
まず、プロセス1がプロセス2を起動する時に、プロセ
ス2に対して同期割込制御情報Icnt を与え、この後、
プロセス1は待ち状態となる。この同期割込制御情報I
cnt の値は、プロセス2の起動が1回目ならば0(ゼ
ロ)となり、プロセス2の起動が2回目以降ならば、プ
ロセス状態監視手段30内の初期値レジスタ33の内容
に基づく値となる。
態におけるプロセス同期方法の手順について説明する。
まず、プロセス1がプロセス2を起動する時に、プロセ
ス2に対して同期割込制御情報Icnt を与え、この後、
プロセス1は待ち状態となる。この同期割込制御情報I
cnt の値は、プロセス2の起動が1回目ならば0(ゼ
ロ)となり、プロセス2の起動が2回目以降ならば、プ
ロセス状態監視手段30内の初期値レジスタ33の内容
に基づく値となる。
【0020】これにより、プロセス2が起動されると、
まず、カウンタ/イベントフラグ初期化命令が実行さ
れ、カウンタ/イベントフラグ初期化手段31によりイ
ベントフラグ32に“01”が設定される。また、カウ
ンタ/イベントフラグ初期化手段31によって命令カウ
ンタ34および初期値レジスタ33に同期割込制御情報
Icnt の値がそれぞれ設定される。ここで、同期割込制
御情報Icnt の値が0(ゼロ)であった場合は、プロセ
ス2のプログラム内に記述されたカウンタ駆動命令の個
数Nが設定される。
まず、カウンタ/イベントフラグ初期化命令が実行さ
れ、カウンタ/イベントフラグ初期化手段31によりイ
ベントフラグ32に“01”が設定される。また、カウ
ンタ/イベントフラグ初期化手段31によって命令カウ
ンタ34および初期値レジスタ33に同期割込制御情報
Icnt の値がそれぞれ設定される。ここで、同期割込制
御情報Icnt の値が0(ゼロ)であった場合は、プロセ
ス2のプログラム内に記述されたカウンタ駆動命令の個
数Nが設定される。
【0021】そして、プロセス2が処理される過程にお
いて、カウンタ駆動命令が実行される毎にカウンタ駆動
手段35によって命令カウンタ34のカウント値が1ず
つ減算される。やがてカウント値がゼロになると、遅延
回路36を経由してイベントフラグ32に“10”が設
定され、この動作により割込発生手段38はプロセス1
に対して同期割込SIを生成し、プロセス1に出力す
る。
いて、カウンタ駆動命令が実行される毎にカウンタ駆動
手段35によって命令カウンタ34のカウント値が1ず
つ減算される。やがてカウント値がゼロになると、遅延
回路36を経由してイベントフラグ32に“10”が設
定され、この動作により割込発生手段38はプロセス1
に対して同期割込SIを生成し、プロセス1に出力す
る。
【0022】プロセス1は上述した同期割込SIが発生
すると、割込処理(OSによるプロセスのスケジューリ
ング等)を行い、この割込処理後、初期値レジスタ33
から現在書き込まれている初期値を読み出すと共に、イ
ベントフラグ32の監視を行う。この時、もしイベント
フラグ32が“10”(プロセス2の処理終了前の同期
割込発生指示)だった場合は、上記初期値レジスタ33
から読み出した値に1を加え、次回にプロセス2を起動
する時の同期割込制御情報Icnt とする。これにより、
次にプロセス2が処理される時は、同期割込SIの発生
が今回よりも遅れることになる。
すると、割込処理(OSによるプロセスのスケジューリ
ング等)を行い、この割込処理後、初期値レジスタ33
から現在書き込まれている初期値を読み出すと共に、イ
ベントフラグ32の監視を行う。この時、もしイベント
フラグ32が“10”(プロセス2の処理終了前の同期
割込発生指示)だった場合は、上記初期値レジスタ33
から読み出した値に1を加え、次回にプロセス2を起動
する時の同期割込制御情報Icnt とする。これにより、
次にプロセス2が処理される時は、同期割込SIの発生
が今回よりも遅れることになる。
【0023】また、もしイベントフラグ32が“11”
(プロセス2の処理終了)だった場合は、次回にプロセ
ス2を起動する時の同期割込制御情報Icnt の値を、上
記初期値レジスタ33から読み出した値から1を引いた
値とする。これにより、次にプロセス2が処理される時
は、同期割込SIの発生が今回よりも早まることにな
る。
(プロセス2の処理終了)だった場合は、次回にプロセ
ス2を起動する時の同期割込制御情報Icnt の値を、上
記初期値レジスタ33から読み出した値から1を引いた
値とする。これにより、次にプロセス2が処理される時
は、同期割込SIの発生が今回よりも早まることにな
る。
【0024】一方、この間プロセス2の処理は継続して
実行されており、実行が更に進行して最後に終了イベン
ト設定命令が実行されると、終了イベント設定手段37
によりイベントフラグ32に“11”が設定される。こ
れにより、プロセス1は、イベントフラグ32の内容が
“11”の処理終了)になったことを検知し、後処理を
開始する。
実行されており、実行が更に進行して最後に終了イベン
ト設定命令が実行されると、終了イベント設定手段37
によりイベントフラグ32に“11”が設定される。こ
れにより、プロセス1は、イベントフラグ32の内容が
“11”の処理終了)になったことを検知し、後処理を
開始する。
【0025】このように、本実施形態のプロセス同期方
法においては、プロセス1がプロセス2を起動する時
に、命令カウンタ31の初期値の値を調整して、同期割
込SIの発生タイミングを変更することにより、同期割
込SIが発生した時点からのイベント監視時間を最小に
することができる。
法においては、プロセス1がプロセス2を起動する時
に、命令カウンタ31の初期値の値を調整して、同期割
込SIの発生タイミングを変更することにより、同期割
込SIが発生した時点からのイベント監視時間を最小に
することができる。
【0026】
【発明の効果】以上説明したように、本発明によれば、
一方のプロセスによって起動された他方のプロセスが、
その処理を終了する以前に同期割り込みを発生するの
で、上記一方のプロセスの割込処理によるオーバヘッド
を、見かけ上無視することができる。また、同期割込の
発生タイミングを動的に調整して、上記一方のプロセス
における他方のプロセスの処理終了イベント待ち時間を
最小にすることができる。このことにより、処理全体と
してプロセス同期にかかるオーバヘッドと、CPUの負
荷を最小にすることができる。
一方のプロセスによって起動された他方のプロセスが、
その処理を終了する以前に同期割り込みを発生するの
で、上記一方のプロセスの割込処理によるオーバヘッド
を、見かけ上無視することができる。また、同期割込の
発生タイミングを動的に調整して、上記一方のプロセス
における他方のプロセスの処理終了イベント待ち時間を
最小にすることができる。このことにより、処理全体と
してプロセス同期にかかるオーバヘッドと、CPUの負
荷を最小にすることができる。
【図1】 この発明の本実施形態によるプロセス1−プ
ロセス2間の同期方法の実行順序を示す図である。
ロセス2間の同期方法の実行順序を示す図である。
【図2】 同実施形態のプロセス同期方法で実行される
プロセス2のプログラム構造を説明するための説明図で
ある。
プロセス2のプログラム構造を説明するための説明図で
ある。
【図3】 同実施形態で使用されるプロセス状態監視手
段の構成を示すブロック図である。
段の構成を示すブロック図である。
【図4】 従来のプロセス同期方法の実行順序を説明す
るための説明図である。
るための説明図である。
【図5】 従来のプロセス同期方法の実行順序を説明す
るための説明図である。
るための説明図である。
30 プロセス状態監視手段 31 カウンタ/イベントフラグ初期化手段 32 イベントフラグ 33 初期値レジスタ 34 命令カウンタ 35 カウンタ駆動手段 36 遅延回路 37 終了イベント設定手段 38 割込発生手段
Claims (4)
- 【請求項1】 一方のプロセスの処理と、該一方のプロ
セスにより起動される他方のプロセスの処理との間の同
期を取るプロセス同期方法において、 前記一方のプロセスから前記他方のプロセスを起動する
際に、該一方のプロセスが、該他方のプロセスに該他方
のプロセスの処理中に発生する割り込みのタイミングを
指示し、 前記他方のプロセスの処理中に、前記タイミングに従っ
て前記割り込みが発生すると、前記一方のプロセスによ
り、その割り込み処理を行い、 該割り込み処理終了後、前記一方のプロセスにより前記
他方のプロセスの処理状況を監視し、前記他方のプロセ
スの終了を検知すると、前記一方のプロセスのその後の
処理を実行することを特徴とするプロセス同期方法。 - 【請求項2】 前記一方のプロセスは、 前記割り込み処理終了後、前記一方のプロセスにより前
記他方のプロセスの処理状況を監視した時に、前記他方
のプロセスの処理が終了していなかった場合は、次回、
前記他方のプロセスを起動する際に、前記割り込みのタ
イミングを遅くするよう指示し、前記前記割り込みの発
生タイミングを遅くするよう指示し、前記他方のプロセ
スの処理が終了していた場合は、次回、前記他方のプロ
セスを起動する際に、前記割り込みのタイミングを早く
するよう指示することを特徴とする請求項1に記載のプ
ロセス同期方法。 - 【請求項3】 一方のプロセスの処理と、該一方のプロ
セスにより起動される他方のプロセスの処理との間の同
期を取るプロセス同期方法において、 前記他方のプロセスの処理状態を表すフラグと 前記他方のプロセスによりカウント値が減算されるカウ
ンタと、 前記カウンタの初期値を記憶するレジスタと、 前記カウンタのカウント値が0になった時、前記一方の
プロセスに対して割り込みを発生する割り込み発生手段
とからなるプロセス状態監視手段を用い、 前記一方のプロセスから前記他方のプロセスを起動する
際に、該一方のプロセスが該他方のプロセスに対し、該
他方のプロセスの処理中に発生する割り込みのタイミン
グを示す数値を通知し、 前記他方のプロセスは、前記一方のプロセスにより起動
されると、前記一方のプロセスから通知された数値を前
記カウンタおよび前記レジスタに設定した後、当該他方
のプロセスの処理中に予め定められた回数、前記カウン
タのカウント値を1ずつ減算すると共に、全処理が終了
すると前記フラグを処理終了状態に設定し、 前記一方のプロセスは、前記プロセス状態監視手段が前
記割り込みを発生すると、その割り込み処理を行った
後、前記フラグを監視し、当該フラグが前記他方のプロ
セスの処理終了状態になった時、その後の処理を開始す
ることを特徴とするプロセス同期方法。 - 【請求項4】 前記一方のプロセスは、前記フラグの監
視の開始時に、前記フラグが処理終了状態になっていな
かった場合は、前記他方のプロセスの起動時に通知する
数値を減少させ、 前記フラグが処理終了状態になっていた場合は、前記他
方のプロセスの起動時に通知する数値を増加させること
を特徴とする請求項3に記載のプロセス同期方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17476697A JPH1124944A (ja) | 1997-06-30 | 1997-06-30 | プロセス同期方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17476697A JPH1124944A (ja) | 1997-06-30 | 1997-06-30 | プロセス同期方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1124944A true JPH1124944A (ja) | 1999-01-29 |
Family
ID=15984309
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17476697A Withdrawn JPH1124944A (ja) | 1997-06-30 | 1997-06-30 | プロセス同期方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1124944A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012001777A1 (ja) * | 2010-06-29 | 2012-01-05 | 富士通株式会社 | マルチコアプロセッサシステム、通信制御方法、および通信制御プログラム |
-
1997
- 1997-06-30 JP JP17476697A patent/JPH1124944A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012001777A1 (ja) * | 2010-06-29 | 2012-01-05 | 富士通株式会社 | マルチコアプロセッサシステム、通信制御方法、および通信制御プログラム |
| JP5354102B2 (ja) * | 2010-06-29 | 2013-11-27 | 富士通株式会社 | マルチコアプロセッサシステム、通信制御方法、および通信制御プログラム |
| US9223641B2 (en) | 2010-06-29 | 2015-12-29 | Fujitsu Limited | Multicore processor system, communication control method, and communication computer product |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0454255B2 (ja) | ||
| JP3525518B2 (ja) | データ転送装置 | |
| JP2006146758A (ja) | コンピュータシステム | |
| JPH1124944A (ja) | プロセス同期方法 | |
| JPH11312148A (ja) | バリア同期方法及び装置 | |
| JPH11306038A (ja) | 並列演算処理装置およびその方法 | |
| JP2969844B2 (ja) | プログラマブルコントローラ | |
| JPH0736720A (ja) | 二重化コンピュータ装置 | |
| JPS5916054A (ja) | マイクロ・プロセツサ | |
| JP2000029850A (ja) | オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法 | |
| JPH0573296A (ja) | マイクロコンピユータ | |
| JPH0934729A (ja) | ディスパッチャ制御方式 | |
| JP3075646B2 (ja) | タスク起動方式 | |
| JP2024003654A (ja) | 情報処理装置 | |
| JPH0447336A (ja) | マルチタスクシステムのタスク同期制御方法 | |
| JPH0887421A (ja) | プロセス切換方法およびプロセス切換システム | |
| JPH11120010A (ja) | 情報処理方法及び記録媒体 | |
| JPS6136850A (ja) | 入出力割込通知方式 | |
| JPH0594313A (ja) | タイマ管理方式 | |
| JPH10340210A (ja) | タスクデバッグ装置、タスクデバッグ方法及びその記録媒体 | |
| JP2002222161A (ja) | 半導体装置、及びデータ転送方法 | |
| JPH01300345A (ja) | パルス発生装置 | |
| JPH0495153A (ja) | データ処理装置における非同期処理の同期化方式 | |
| JPS63155330A (ja) | マイクロプログラム制御装置 | |
| JPH07146846A (ja) | マルチプロセッサシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040907 |