JPH04322332A - プログラム実行制御方式 - Google Patents
プログラム実行制御方式Info
- Publication number
- JPH04322332A JPH04322332A JP9207391A JP9207391A JPH04322332A JP H04322332 A JPH04322332 A JP H04322332A JP 9207391 A JP9207391 A JP 9207391A JP 9207391 A JP9207391 A JP 9207391A JP H04322332 A JPH04322332 A JP H04322332A
- Authority
- JP
- Japan
- Prior art keywords
- program
- switching
- executed
- program execution
- positions
- 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 claims description 7
- 238000012545 processing Methods 0.000 abstract description 6
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】[発明の目的]
【0002】
【産業上の利用分野】本発明は、制御装置等リアルタイ
ム処理を行う装置で、複数入出力を同時制御する場合等
におけるプログラム実行制御方式に関する。
ム処理を行う装置で、複数入出力を同時制御する場合等
におけるプログラム実行制御方式に関する。
【0003】
【従来の技術】一般に、リアルタイム処理を行う装置、
例えば制御装置等に利用される制御用コンピュータの場
合、プログラムの実行制御を実現する手段として、リア
ルタイム・モニタまたはリアルタイムOSと呼ばれるソ
フトウェア(=プログラム)を登載しているものが多い
。このような制御用コンピュータの場合、リアルタイム
・モニタによって、複数のプログラム(タスク)を交互
に実行(マルチタスク)させることで、複数入出力の同
時制御を実現している。
例えば制御装置等に利用される制御用コンピュータの場
合、プログラムの実行制御を実現する手段として、リア
ルタイム・モニタまたはリアルタイムOSと呼ばれるソ
フトウェア(=プログラム)を登載しているものが多い
。このような制御用コンピュータの場合、リアルタイム
・モニタによって、複数のプログラム(タスク)を交互
に実行(マルチタスク)させることで、複数入出力の同
時制御を実現している。
【0004】このようなリアルタイム・モニタにおいて
、現在実行中のタスクAを中断し、タスクBを実行する
ような場合、すなわち、タスク切換えを行う場合に、こ
れに要する時間をモニタのオーバヘッドという。従来、
一般のリアルタイム・モニタによる複数タスクの交互実
行では、このオーバヘッドは、数10μ秒〜数100
μ秒を要する。
、現在実行中のタスクAを中断し、タスクBを実行する
ような場合、すなわち、タスク切換えを行う場合に、こ
れに要する時間をモニタのオーバヘッドという。従来、
一般のリアルタイム・モニタによる複数タスクの交互実
行では、このオーバヘッドは、数10μ秒〜数100
μ秒を要する。
【0005】実際の機構制御を行う場合、複数のモータ
を同時に動作させ制御するような場合が多くある。ここ
で、例えば5 ミリ秒毎に10個のモータ全ての状態を
把握し、さらに10個のモータ全てに対し適正な指示を
出すような場合を想定する。このような制御を、リアル
タイム・モニタの機能を利用し、合計20個のタスクを
作成してマルチタスクで実行すれば、タスク切換えが2
0回発生する。したがって、モニタのオーバヘッド(タ
スク切換えに要する時間)を1 回当り100 μ秒と
すれば、合計2 ミリ秒がただ単にタスク切換えのため
だけに消費されることになる。
を同時に動作させ制御するような場合が多くある。ここ
で、例えば5 ミリ秒毎に10個のモータ全ての状態を
把握し、さらに10個のモータ全てに対し適正な指示を
出すような場合を想定する。このような制御を、リアル
タイム・モニタの機能を利用し、合計20個のタスクを
作成してマルチタスクで実行すれば、タスク切換えが2
0回発生する。したがって、モニタのオーバヘッド(タ
スク切換えに要する時間)を1 回当り100 μ秒と
すれば、合計2 ミリ秒がただ単にタスク切換えのため
だけに消費されることになる。
【0006】一方、処理は5 ミリ秒毎に繰り返される
から、結局、2/5 =40%もの時間(CPUタイム
)がタスク切換えのために消費されることになり、実際
の制御には使用することができない。
から、結局、2/5 =40%もの時間(CPUタイム
)がタスク切換えのために消費されることになり、実際
の制御には使用することができない。
【0007】
【発明が解決しようとする課題】上述したように、従来
の方式では、多数の入出力を同時制御するような場合、
タスク切換えのために消費される時間が多くなるため、
制御性能が悪くなるという問題があった。
の方式では、多数の入出力を同時制御するような場合、
タスク切換えのために消費される時間が多くなるため、
制御性能が悪くなるという問題があった。
【0008】本発明は、かかる従来の事情に対処してな
されたもので、従来に較べてタスク切換えを高速化する
ことができ、制御性能の向上を図ることのできるプログ
ラム実行制御方式を提供しようとするものである。
されたもので、従来に較べてタスク切換えを高速化する
ことができ、制御性能の向上を図ることのできるプログ
ラム実行制御方式を提供しようとするものである。
【0009】[発明の構成]
【0010】
【課題を解決するための手段】メモリ内に格納された複
数のプログラムを、CPUで切換えつつ実行させるプロ
グラム実行制御方式において、前記プログラムを短いサ
ブルーチンの形態で構成するとともに、前記CPUの内
部レジスタの退避および回復を必要とせずにプログラム
実行切換え可能な指定箇所を設定しておき、前記プログ
ラムを実行中に、前記指定箇所でのみプログラム実行切
換えを行うことを特徴とする。
数のプログラムを、CPUで切換えつつ実行させるプロ
グラム実行制御方式において、前記プログラムを短いサ
ブルーチンの形態で構成するとともに、前記CPUの内
部レジスタの退避および回復を必要とせずにプログラム
実行切換え可能な指定箇所を設定しておき、前記プログ
ラムを実行中に、前記指定箇所でのみプログラム実行切
換えを行うことを特徴とする。
【0011】
【作用】上記構成の本発明のプログラム実行制御方式で
は、プログラムは、すべて短いサブルーチンの形態(こ
れをスレッドと呼ぶ)で記述する。そして、スレッド内
部の処理を実行中は、指定箇所でのみプログラム(タス
ク)切換えを実行し、指定箇所以外でのプログラム(タ
スク)切換えは行わない。これにより、従来スレッド内
部の処理を実行中におけるプログラム切換えに不可欠で
あったCPU内部レジスタの待避と回復動作を不要とす
る。
は、プログラムは、すべて短いサブルーチンの形態(こ
れをスレッドと呼ぶ)で記述する。そして、スレッド内
部の処理を実行中は、指定箇所でのみプログラム(タス
ク)切換えを実行し、指定箇所以外でのプログラム(タ
スク)切換えは行わない。これにより、従来スレッド内
部の処理を実行中におけるプログラム切換えに不可欠で
あったCPU内部レジスタの待避と回復動作を不要とす
る。
【0012】したがって、従来方式においてプログラム
切換え時間の多くを占めていたCPU内部レジスタの待
避と回復の動作に要する時間を削減することができ、プ
ログラム切換えの高速化を図ることができる。
切換え時間の多くを占めていたCPU内部レジスタの待
避と回復の動作に要する時間を削減することができ、プ
ログラム切換えの高速化を図ることができる。
【0013】
【実施例】以下、本発明方式の一実施例を図面を参照し
て説明する。
て説明する。
【0014】図1は、本実施例におけるプログラム本体
の構成を示すもので、同図に示すように、プログラム本
体10は、全て短いサブルーチンの形態、すなわちスレ
ッド1,スレッド2,……で記述されており、これらの
スレッド中に、中断再開可能な箇所がシンボル(シンボ
ルA,シンボルB,……)で定義されている。これらの
箇所では、CPUレジスタ等の内容は、中断直後と再開
直後で同ーである必要がなく、したがってプログラム(
タスク)切換えでのCPU内部レジスタの待避と回復の
動作は必要ない。
の構成を示すもので、同図に示すように、プログラム本
体10は、全て短いサブルーチンの形態、すなわちスレ
ッド1,スレッド2,……で記述されており、これらの
スレッド中に、中断再開可能な箇所がシンボル(シンボ
ルA,シンボルB,……)で定義されている。これらの
箇所では、CPUレジスタ等の内容は、中断直後と再開
直後で同ーである必要がなく、したがってプログラム(
タスク)切換えでのCPU内部レジスタの待避と回復の
動作は必要ない。
【0015】また、図2において、11は読み書き可能
なRAM上に設けられたスレッドコントロールテーブル
であり、12は実行可能なスレッドのリストの先頭アド
レスを格納しているレディリストルーツ、13はタイマ
待ちのスレッドのリストの先頭アドレスを格納している
タイマリストルーツである。
なRAM上に設けられたスレッドコントロールテーブル
であり、12は実行可能なスレッドのリストの先頭アド
レスを格納しているレディリストルーツ、13はタイマ
待ちのスレッドのリストの先頭アドレスを格納している
タイマリストルーツである。
【0016】上記スレッドコントロールテーブル11は
、次リンク(次のスレッドへのポインタ)、前リンク(
前のスレッドへのポインタ)、SST ID(自身の
スレッドシンボルテーブルのID)、IP(次に再開す
る箇所を示すシンボルのID)、引数1,2(スレッド
に渡す引数)等から構成されている。
、次リンク(次のスレッドへのポインタ)、前リンク(
前のスレッドへのポインタ)、SST ID(自身の
スレッドシンボルテーブルのID)、IP(次に再開す
る箇所を示すシンボルのID)、引数1,2(スレッド
に渡す引数)等から構成されている。
【0017】また、同図において14は、実行の中断再
開の可能な箇所を示すシンボルのアドレスからなるスレ
ッドシンボルテーブルである。このスレッドシンボルテ
ーブル14は、読み出し専用のため、読み出し専用のR
OM等に配置すれば、より高価なRAM等を節約できる
。
開の可能な箇所を示すシンボルのアドレスからなるスレ
ッドシンボルテーブルである。このスレッドシンボルテ
ーブル14は、読み出し専用のため、読み出し専用のR
OM等に配置すれば、より高価なRAM等を節約できる
。
【0018】本実施例では、図2に示すように、次のタ
イマ割込みでの実行を要求するスレッドは、レディリス
トルーツ12から順次連結されて管理される。また、一
定時間休止するスレッドはタイマリストルーツ13から
順次連結されて管理される。そして、プログラム(タス
ク)の切替えは、スレッドシンボルテーブル14を参照
してスレッドシンボルの箇所のみで行い、スレッドシン
ボル以外の箇所ではプログラムの切替えは行わない。
イマ割込みでの実行を要求するスレッドは、レディリス
トルーツ12から順次連結されて管理される。また、一
定時間休止するスレッドはタイマリストルーツ13から
順次連結されて管理される。そして、プログラム(タス
ク)の切替えは、スレッドシンボルテーブル14を参照
してスレッドシンボルの箇所のみで行い、スレッドシン
ボル以外の箇所ではプログラムの切替えは行わない。
【0019】したがって、プログラム切換えでのCPU
内部レジスタの待避と回復の動作が不要となり、この動
作に要する時間を削減することができるので、プログラ
ムの実行切換えを高速に行うことができる。このため、
複数タスクの切換えを頻繁に行うリアルタイム制御装置
にも対応することができ、制御性能の向上を図ることが
できる。
内部レジスタの待避と回復の動作が不要となり、この動
作に要する時間を削減することができるので、プログラ
ムの実行切換えを高速に行うことができる。このため、
複数タスクの切換えを頻繁に行うリアルタイム制御装置
にも対応することができ、制御性能の向上を図ることが
できる。
【0020】さらに、タスク設計において、タスク切換
えでのCPU内部レジスタの待避と回復の動作がないた
め、より単純なシステム構成となるとともに、CPU内
部レジスタの待避と回復の領域をメモリ上に確保する必
要がなくなるため、メモリ資源の節約を図ることができ
る。
えでのCPU内部レジスタの待避と回復の動作がないた
め、より単純なシステム構成となるとともに、CPU内
部レジスタの待避と回復の領域をメモリ上に確保する必
要がなくなるため、メモリ資源の節約を図ることができ
る。
【0021】
【発明の効果】以上説明したように、本発明のプログラ
ム実行制御方式によれば、従来に較べてタスク切換えを
高速化することができ、制御性能の向上を図ることがで
きる。
ム実行制御方式によれば、従来に較べてタスク切換えを
高速化することができ、制御性能の向上を図ることがで
きる。
【図1】本発明の一実施例におけるプログラム本体の構
成を示す図である。
成を示す図である。
【図2】本発明の一実施例方式を説明するための図であ
る。
る。
10 プロプログラム本体
Claims (1)
- 【請求項1】 メモリ内に格納された複数のプログラ
ムを、CPUで切換えつつ実行させるプログラム実行制
御方式において、前記プログラムを短いサブルーチンの
形態で構成するとともに、前記CPUの内部レジスタの
退避および回復を必要とせずにプログラム実行切換え可
能な指定箇所を設定しておき、前記プログラムを実行中
に、前記指定箇所でのみプログラム実行切換えを行うこ
とを特徴とするプログラム実行制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9207391A JPH04322332A (ja) | 1991-04-23 | 1991-04-23 | プログラム実行制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9207391A JPH04322332A (ja) | 1991-04-23 | 1991-04-23 | プログラム実行制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04322332A true JPH04322332A (ja) | 1992-11-12 |
Family
ID=14044283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9207391A Withdrawn JPH04322332A (ja) | 1991-04-23 | 1991-04-23 | プログラム実行制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04322332A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783401B2 (en) | 2006-08-10 | 2010-08-24 | Denso Corporation | Method and device for managing tasks of in-vehicle electronic control unit |
-
1991
- 1991-04-23 JP JP9207391A patent/JPH04322332A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783401B2 (en) | 2006-08-10 | 2010-08-24 | Denso Corporation | Method and device for managing tasks of in-vehicle electronic control unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6031973A (en) | Robot and its controller method | |
US5161226A (en) | Microprocessor inverse processor state usage | |
JP3970609B2 (ja) | プロセッサシステム | |
JPH0193830A (ja) | 仮想計算機システムにおける割り込み制御方式 | |
JP2001256062A (ja) | 割込処理方法およびその方法を用いた演算処理装置 | |
JPH04322332A (ja) | プログラム実行制御方式 | |
JP2636722B2 (ja) | マルチタスク実行管理方式 | |
JP2579008B2 (ja) | 時分割マルチタスク実行装置 | |
EP0402483A1 (en) | Control method for robot | |
JPH01169540A (ja) | 時分割マルチタスク実行装置 | |
JPH0433130A (ja) | マルチチップ構成方法 | |
JP2007102399A (ja) | データ処理装置 | |
JPS61288232A (ja) | 出力命令制御方式 | |
JPH02163834A (ja) | マルチ・タスク処理方式 | |
US20200285472A1 (en) | Context-Switching Method and Apparatus | |
JP2601359B2 (ja) | 並行処理マイクロプロセッサ | |
JPS61148535A (ja) | 関数型/論理型言語処理装置 | |
JPH02113363A (ja) | マルチプロセッサシステムにおけるタイムスライス制御方式 | |
JPH0375832A (ja) | 仮想計算機制御方式 | |
JPH0462093B2 (ja) | ||
JPH02110739A (ja) | マルチタスク用中央処理装置 | |
JPS6019815B2 (ja) | 転送制御方式 | |
JPH04155532A (ja) | タスク切替方式 | |
JPH07134656A (ja) | 割り込み制御方法及びそれを実現するマルチタスクシステム | |
JPH0319033A (ja) | システム中断・再開方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980711 |