JPH08137703A - タスク切替装置 - Google Patents

タスク切替装置

Info

Publication number
JPH08137703A
JPH08137703A JP6273501A JP27350194A JPH08137703A JP H08137703 A JPH08137703 A JP H08137703A JP 6273501 A JP6273501 A JP 6273501A JP 27350194 A JP27350194 A JP 27350194A JP H08137703 A JPH08137703 A JP H08137703A
Authority
JP
Japan
Prior art keywords
task
processing
time
priority
execution
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.)
Pending
Application number
JP6273501A
Other languages
English (en)
Inventor
Yoshio Sugimoto
好生 杉本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6273501A priority Critical patent/JPH08137703A/ja
Publication of JPH08137703A publication Critical patent/JPH08137703A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 各タスクの処理制限時間内に処理を終了でき
るようにタスクのスケジューリングを行い、タスク切替
の効率を高める。 【構成】 タスクが発生した場合、タスク発生回路10
1がタスクの発生を検出し、タスク優先度算出回路12
3が、時間計測回路102から得られる現在の時刻と、
処理制限時間記憶テーブル111から得られるタスクの
処理制限時間を用いて、このタスクの優先度を算出す
る。算出されたタスクの優先度ば、タスク優先度記憶テ
ーブル112に記憶される。実行タスク選択回路121
がタスク優先度記憶テーブル112に記憶されている優
先度の中から、最も高い優先度をもつタスクを選択し、
タスク実行回路122が、このタスクを実行する。 【効果】 タスクの優先順位を常に最適に設定すること
ができ、これを用いてタスクの切替を行うので非常に効
率の良いタスク切替を行うことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、タスク切替装置に関
するものであり、さらに詳しくは、コンピュータのリア
ルタイム・マルチタスクオペレーティングシステムの改
良に関するものである。
【0002】
【従来の技術】リアルタイム・マルチタスクオペレーテ
ィングシステム(以下リアルタイムOSと記述する)
は、複数のタスクを実時間で処理する機能を備えたオペ
レーティングシステムである。従来、リアルタイムOS
において各タスクの優先順位を決めるアルゴリズムに
は、到着順に起動する方式や優先順位方式が一般的に用
いられている。この優先順位方式では、予め設定した優
先順位の高いタスクを先に実行し、優先順位の低いタス
クを後に実行する。
【0003】以下、従来の標準的なタスク切替装置につ
いて図8を用いて説明する。図8において、801はタ
スクの発生を監視し、タスクが発生したことを検出する
と、発生したタスクを示す識別番号を出力するとともに
タスクの検出信号を出力するタスク発生回路、810
は、キュー構造をなし処理待ち状態のタスクの識別番号
を発生順に記憶する発生タスク記憶回路811と、予め
設定した各タスクの優先順位を記憶するタスク優先順位
記憶テーブル812を含む記憶回路、820はタスクの
実行を行うタスク実行回路822を含むマイクロプロセ
ッサであり、821はマイクロプロセッサ820上で動
作するソフトウエアとして構成され、発生タスク記憶回
路811に記憶されているタスクの中から最も優先順位
の高いタスクを選択する実行タスク選択回路である。
【0004】以上のように構成されたタスク切替装置に
ついて、以下その動作について説明する。今、複数のタ
スクT1,T2,T3があり、タスクT1が最も優先順
位が高く、以下順にタスクT2、タスクT3となってい
るとする。さらに、タスクT3がタスク実行回路822
で実行されており、タスクT2を示す識別番号ID2が
発生タスク記憶回路811に記憶されているとする。
【0005】この状態でタスクT1が発生すると、タス
ク発生検出回路801がタスクT1の発生を検出し、タ
スクの識別番号ID1を発生タスク記憶回路811に出
力し、発生タスク記憶回路811はタスクの識別番号I
D1を記憶する。タスク実行回路822でタスクT3の
処理が終了すると、タスク実行回路822は実行タスク
選択回路821に対して、つぎに処理すべきタスクを要
求するタスク要求信号を出力する。
【0006】タスク要求信号の供給を受けた実行タスク
選択回路821は、発生タスク記憶回路811に記憶さ
れている識別番号によって示されるタスクの優先順位を
タスク優先順位記憶テーブル812から読み出し、最も
優先順位の高いタスクを選択し、このタスクの識別番号
をタスク実行回路822に供給し、このタスクの識別番
号を発生タスク記憶回路811から消去する。すなわ
ち、実行タスク選択回路821は、まず発生タスク記憶
回路811に記憶されている識別番号ID1,ID2を
読み出し、つぎにこの識別番号で示されるタスクT1と
タスクT2の優先順位をタスク優先順位記憶テーブル8
12から読み出して優先順位を比較し、タスクT1の方
がタスクT2よりも優先順位が高いのでタスクT1を示
す識別番号ID1をタスク実行回路822に供給し、発
生タスク記憶回路811から識別番号ID1を消去す
る。
【0007】このように、従来のリアルタイムOSで
は、複数のタスクを実時間処理しようとするとき、その
実行順序は各タスクに予め設定した優先順位によって決
定される。なお、タスク要求信号は、システムコールあ
るいは割り込み処理の発生時に出力される。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来の構成では、あるタスクが発生してからそのタスクを
完了するまでの時間がわからないため、特に高速応答性
を要求されるような場合に、そのタスクの結果が必要と
なる処理制限時間内に処理が終了できない場合があっ
た。
【0009】また、周辺回路の誤動作などにより、優先
順位の高い特定のタスクが頻発した場合や、複数の処理
が重なった場合などには、優先順位の低いタスクが全く
実行されない場合があった。この発明は上記課題を解決
するもので、複数のタスクについて、それぞれのタスク
の処理制限時間内に処理を終了できるようにタスクのス
ケジューリングを効率的に行うことができるタスク切替
装置を提供することを第1の目的とする。
【0010】また、この発明の第2の目的は、周辺回路
の誤動作などを容易に検出できるタスク切替装置を提供
することである。さらに、この発明の第3の目的は、タ
スクの負荷が大きくなったときに、全てのタスクを漏れ
なく実行することができるタスク切替装置を提供するこ
とである。
【0011】
【課題を解決するための手段】上記の第1の目的を達成
するために、請求項1記載のタスク切替装置は、時間を
計測しこの時間データを出力する時間計測手段と、1つ
以上のタスクのそれぞれの処理制限時間データを記憶す
る処理制限時間記憶手段と、実行中および実行待ちの各
タスクの優先度を示す優先順位データを記憶し、優先順
位データに変更が生じた場合には優先度変更発生信号を
出力するタスク優先度記憶手段と、タスクの発生を検出
し発生したタスクの識別番号を出力するタスク発生検出
手段と、タスクの識別番号が供給されると、処理制限時
間データと時間データから、発生したタスクの優先順位
データを算出し、タスク優先度記憶手段に供給するタス
ク優先度算出手段と、タスクを実行し、このタスクの実
行が終了したとき、タスク実行終了信号を出力するタス
ク実行手段と、優先度変更発生信号が供給されると、最
も優先度の高いタスクを選択し、このタスクの識別番号
をタスク実行手段に供給し、タスク実行終了信号が供給
されると、対応するタスクの優先順位データをタスク優
先度記憶手段から消去する実行タスク選択手段とを備え
たものである。
【0012】請求項2記載のタスク切替装置は、請求項
1記載のタスク切替装置において、タスクの優先度が同
じ場合には、実行タスク選択手段により、先に発生した
タスクを選択することを特徴とする。請求項3記載のタ
スク切替装置は、請求項1記載のタスク切替装置におい
て、タスクの優先度が同じ場合には、実行タスク選択手
段により、後で発生したタスクを選択することを特徴と
する。
【0013】また、上記の第2の目的を達成するため
に、請求項4記載のタスク切替装置は、時間を計測しこ
の時間データを出力する時間計測手段と、1つ以上のタ
スクのそれぞれの処理制限時間データを記憶する処理制
限時間記憶手段と、実行中および実行待ちの各タスクの
優先度を示す優先順位データを記憶し、優先度に変更が
生じた場合には優先度変更発生信号を出力するタスク優
先度記憶手段と、タスクの発生を検出し発生したタスク
の識別番号を出力するタスク発生検出手段と、タスクの
識別番号が供給されると、対応するタスクの優先順位デ
ータがタスク優先度記憶手段に記憶されていない場合に
はこのタスクの識別番号を出力し、記憶されている場合
には誤動作検出信号を出力するタスク起動判別手段と、
タスク起動判別手段からタスクの識別番号が供給される
と、処理制限時間データと時間データから、発生したタ
スクの優先順位データを算出し、タスク優先度記憶手段
に供給するタスク優先度算出手段と、タスクを実行し、
このタスクの実行が終了したとき、タスク実行終了信号
を出力するタスク実行手段と、優先度変更発生信号が供
給されると、最も優先度の高いタスクを選択し、このタ
スクの識別番号をタスク実行手段に供給し、タスク実行
終了信号が供給されると、対応するタスクの優先順位デ
ータをタスク優先度記憶手段から消去する実行タスク選
択手段とを備えたものである。
【0014】請求項5記載のタスク切替装置は、請求項
4記載のタスク切替装置において、タスクの優先度が同
じ場合には、実行タスク選択手段により、先に発生した
タスクを選択することを特徴とする。請求項6記載のタ
スク切替装置は、請求項4記載のタスク切替装置におい
て、タスクの優先度が同じ場合には、実行タスク選択手
段により、後で発生したタスクを選択することを特徴と
する。
【0015】さらに、上記の第3の目的を達成するため
に、請求項7記載のタスク切替装置は、時間を計測しこ
の時間データを出力する時間計測手段と、1つ以上のタ
スクのそれぞれの処理制限時間データを記憶する処理制
限時間記憶手段と、各タスクの処理時間データをそれぞ
れ記憶する処理時間記憶手段と、各タスクの処理終了時
刻データを記憶する第1および第2の処理終了時刻記憶
手段と、各タスクの処理許容時刻データを記憶する第1
の処理許容時刻記憶手段と、各タスクの処理許容時刻デ
ータを記憶し、処理許容時刻データに変更が生じたとき
許容時刻変更発生信号を出力する第2の処理許容時刻記
憶手段と、タスクの発生を検出し発生したタスクの識別
番号を出力するタスク発生検出手段と、タスクの識別番
号が供給されると、処理制限時間データと時間データか
ら、発生したタスクの処理許容時刻データを算出し第1
の処理許容時刻記憶手段に格納する処理許容時刻算出手
段と、処理時間データと処理許容時刻データと第2の処
理終了時刻記憶手段に格納されている処理終了時刻デー
タとから、全てのタスクの処理終了時刻データを算出し
第1の処理終了時刻記憶手段に格納する処理終了時刻算
出手段と、第1の処理終了時刻記憶手段に格納されてい
る処理終了時刻データと第1の処理許容時刻記憶手段に
格納されている処理許容時刻データを比較し、その結果
に応じてデータ転送信号を出力する処理可能性判別手段
と、データ転送信号が供給されると第1の処理終了時刻
記憶手段から処理終了時刻データを読み出し、第2の処
理終了時刻記憶手段に格納する処理終了時刻格納手段
と、データ転送信号が供給されると第1の処理許容時刻
記憶手段から処理許容時刻データを読み出し、第2の処
理許容時刻記憶手段に格納する処理許容時刻格納手段
と、タスクを実行し、このタスクの実行が終了したと
き、タスク実行終了信号を出力するタスク実行手段と、
許容時刻変更発生信号が供給されると、時間データに最
も処理許容時刻データが近いタスクを選択し、このタス
クの識別番号をタスク実行手段に供給し、タスク実行手
段からタスク実行終了信号が供給されると、対応するタ
スクの処理終了時刻データと処理許容時刻データをそれ
ぞれ第2の処理終了時刻記憶手段と第2の処理許容時刻
記憶手段から消去する実行タスク選択手段とを備えたも
のである。
【0016】請求項8記載のタスク切替装置は、請求項
7記載のタスク切替装置において、タスクの優先度が同
じ場合には、実行タスク選択手段により、先に発生した
タスクを選択することを特徴とする。請求項9記載のタ
スク切替装置は、請求項7記載のタスク切替装置におい
て、タスクの優先度が同じ場合には、実行タスク選択手
段により、後で発生したタスクを選択することを特徴と
する。
【0017】請求項10記載のタスク切替装置は、請求
項7記載のタスク切替装置において、新たにタスクが発
生した場合にのみ、処理可能性判別手段で処理終了時刻
データと処理許容時刻データの比較を行うことを特徴と
する。請求項11記載のタスク切替装置は、請求項10
記載のタスク切替装置において、処理許容時刻格納手段
が新たに発生したタスクの処理許容時刻データのみを第
2の処理許容時刻記憶手段に供給することを特徴とす
る。
【0018】
【作用】上記の構成により、請求項1記載のタスク切替
装置では、タスクが発生した場合には、タスク発生検出
手段がタスクの発生を検出し、発生したタスクと一対一
に対応する識別番号を出力する。タスク発生検出手段か
らタスクの識別番号が供給されると、タスク優先度算出
手段は、現在の時間データを時間計測手段から読み出
し、供給された識別番号に対応するタスクのタスク発生
からの処理制限時間データを処理制限時間記憶手段から
読み出し、発生したタスクの優先度を算出し、これをタ
スク優先度記憶手段に供給する。タスク優先度記憶手段
は、タスク優先度算出手段から供給された優先度を記憶
すると同時に、実行タスク選択手段に優先度に変更が生
じたことを意味する優先度変更発生信号を出力する。実
行タスク選択手段は、優先度変更発生信号を受信する
と、タスク優先度記憶手段に記憶されている優先度を比
較し、最も優先度の高いタスクの識別番号をタスク実行
手段に供給し、この識別番号を記憶する。タスク実行手
段は、実行タスク選択手段から供給される識別番号によ
って示されるタスクを実行する。
【0019】タスク実行手段は、タスクの実行を終了す
ると、実行タスク選択手段に対してタスク実行終了信号
を出力し、タスク実行終了信号を受信した実行タスク選
択手段は、記憶していた識別番号で示されるタスクの優
先度をタスク優先度記憶手段から消去し、記憶していた
タスクの識別番号を消去する。タスクの優先度を消去さ
れたタスク優先度記憶手段は、実行タスク選択手段に対
して、優先度に変更が生じたことを意味する優先度変更
発生信号を供給する。以下、タスク発生時と同様に、実
行タスク選択手段が最も優先度の高いタスクを選択し、
これをタスク実行手段が実行する。
【0020】タスク実行手段があるタスクを実行してい
るとき、別のタスクが発生すると、発生したタスクはタ
スク発生検出手段によって検出され、このタスクの識別
番号がタスク優先度算出手段に供給される。タスク優先
度算出手段は、現在の時間データを時間計測手段から読
み出し、供給された識別番号に対応するタスクのタスク
発生からの処理制限時間データを処理制限時間記憶手段
から読み出し、発生したタスクの優先度を算出し、これ
をタスク優先度記憶手段に供給する。タスク優先度記憶
手段は、タスク優先度算出手段から供給された優先度を
記憶すると同時に、実行タスク選択手段に優先度に変更
が生じたことを意味する優先度変更発生信号を出力す
る。実行タスク選択手段は、優先度変更発生信号を受信
すると、タスク優先度記憶手段から最も優先度の高いタ
スクを選択し、選択したタスクの識別番号と記憶してい
る識別番号が異なる場合には、選択したタスクの識別番
号をタスク実行手段に供給し、この識別番号を記憶す
る。タスク実行手段は実行タスク選択手段から新たな識
別番号が供給されると、現在実行中のタスクを中断し、
中断したタスクの状態を保存した後、新たに供給された
識別番号によって示されるタスクを実行する。
【0021】つぎに、請求項4記載のタスク切替装置で
は、タスクが発生した場合には、タスク発生検出手段が
タスクの発生を検出し、発生したタスクと一対一に対応
する識別番号を出力する。タスク起動判別手段は、タス
ク発生検出手段からタスクの識別番号が供給されると、
この識別番号で示されるタスクの優先度をタスク優先度
記憶手段から読み出し、優先度が記憶されていない場合
はこのタスクの識別番号をタスク優先度算出手段に供給
し、優先度が記憶されている場合には誤動作検出信号を
出力する。タスク起動判別手段からタスクの識別番号が
供給されると、タスク優先度算出手段は、現在の時間デ
ータを時間計測手段から読み出し、供給された識別番号
に対応するタスクのタスク発生からの処理制限時間デー
タを処理制限時間記憶手段から読み出し、発生したタス
クの優先度を算出し、これをタスク優先度記憶手段に供
給する。タスク優先度記憶手段は、タスク優先度算出手
段から供給された優先度を記憶すると同時に、実行タス
ク選択手段に優先度に変更が生じたことを意味する優先
度変更発生信号を出力する。実行タスク選択手段は、優
先度変更発生信号を受信すると、タスク優先度記憶手段
に記憶されている優先度を比較し、最も優先度の高いタ
スクの識別番号をタスク実行手段に供給し、この識別番
号を記憶する。タスク実行手段は、実行タスク選択手段
から供給される識別番号によって示されるタスクを実行
する。
【0022】タスク実行手段は、タスクの実行を終了す
ると、実行タスク選択手段に対してタスク実行終了信号
を出力し、タスク実行終了信号を受信した実行タスク選
択手段は、記憶していた識別番号で示されるタスクの優
先度をタスク優先度記憶手段から消去し、記憶していた
タスクの識別番号を消去する。タスクの優先度を消去さ
れたタスク優先度記憶手段は、実行タスク選択手段に対
して、優先度に変更が生じたことを意味する優先度変更
発生信号を供給する。以下、タスク発生時と同様に、実
行タスク選択手段が最も優先度の高いタスクを選択し、
これをタスク実行手段が実行する。
【0023】タスク実行手段があるタスクを実行してい
るとき、別のタスクが発生すると、発生したタスクはタ
スク発生検出手段によって検出され、このタスクの識別
番号がタスク起動判別手段に供給される。タスク起動判
別手段は、タスク発生検出手段からタスクの識別番号が
供給されると、この識別番号で示されるタスクの優先度
をタスク優先度記憶手段から読み出し、優先度が記憶さ
れていない場合はこのタスクの識別番号をタスク優先度
算出手段に供給し、優先度が記憶されている場合には誤
動作検出信号を出力する。タスク起動判別手段からタス
クの識別番号が供給されると、タスク優先度算出手段
は、現在の時間データを時間計測手段から読み出し、供
給された識別番号に対応するタスクのタスク発生からの
処理制限時間データを処理制限時間記憶手段から読み出
し、発生したタスクの優先度を算出し、これをタスク優
先度記憶手段に供給する。タスク優先度記憶手段は、タ
スク優先度算出手段から供給された優先度を記憶すると
同時に、実行タスク選択手段に優先度に変更が生じたこ
とを意味する優先度変更発生信号を出力する。実行タス
ク選択手段は、優先度変更発生信号を受信すると、タス
ク優先度記憶手段から最も優先度の高いタスクを選択
し、選択したタスクの識別番号と記憶している識別番号
が異なる場合には、選択したタスクの識別番号をタスク
実行手段に供給し、この識別番号を記憶する。タスク実
行手段は、実行タスク選択手段から新たな識別番号が供
給されると、現在実行中のタスクを中断し、中断したタ
スクの状態を保存した後、新たに供給された識別番号に
よって示されるタスクを実行する。
【0024】つぎに、請求項7記載のタスク切替装置で
は、タスクが発生した場合には、タスク発生検出手段が
タスクの発生を検出し、発生したタスクと一対一に対応
する識別番号を出力する。タスク発生検出手段からタス
クの識別番号が供給されると、処理許容時刻算出手段
は、現在の時間データを時間計測手段から読み出し、供
給された識別番号に対応するタスクのタスク発生からの
処理制限時間データを処理制限時間記憶手段から読み出
し、発生したタスクの処理許容時刻を算出し第1処理許
容時刻記憶手段に格納する。処理終了時刻算出手段は、
タスクの発生を検出するタスク発生検出手段から発生し
たタスクの識別番号が供給されると、第1処理許容時刻
記憶手段に格納されているタスクの処理許容時刻データ
と処理時間記憶手段に記憶されているタスクの処理時間
データとを読み出し、処理許容時刻が発生したタスクよ
り遅いタスクの処理終了時刻に発生したタスクの処理時
間を加えることにより、全てのタスクの処理終了時刻を
算出し、これを第1処理終了時刻記憶手段に格納する。
処理可能性判別手段は、第1処理終了時刻記憶手段に格
納されている各タスクの処理終了時刻データと第1処理
許容時刻記憶手段に格納されている処理許容時刻データ
の比較を行い、実行中および実行待ちの全てのタスクに
ついて処理終了時刻の方が処理許容時刻よりも早い場合
には、データ転送信号を出力する。処理終了時刻格納手
段は、処理可能性判別手段からデータ転送信号が供給さ
れると、第1処理終了時刻記憶手段から処理終了時刻デ
ータを読み出し、これを第2処理終了時刻記憶手段に格
納する。同様に、処理許容時刻格納手段は、データ転送
信号が供給されると、第1処理許容時刻記憶手段から処
理許容時刻データを読み出し、これを第2処理許容時刻
記憶手段に格納する。第2処理許容時刻記憶手段は、処
理許容時刻格納手段によって格納された処理許容時刻デ
ータを記憶すると同時に、実行タスク選択手段に処理許
容時刻データに変更が生じたことを意味する許容時刻変
更発生信号を出力する。実行タスク選択手段は、許容時
刻変更発生信号を受信すると、第2処理許容時刻記憶手
段に記憶されている処理許容時刻データの中から最も処
理許容時刻の早いものを選択し、この処理許容時刻に対
応するタスクの識別番号をタスク実行手段に供給し、こ
の識別番号を記憶する。タスク実行手段は、実行タスク
選択手段から供給される識別番号によって示されるタス
クを実行する。
【0025】タスク実行手段は、タスクの実行を終了す
ると、実行タスク選択手段に対してタスク実行終了信号
を出力し、タスク実行終了信号を受信した実行タスク選
択手段は、記憶していた識別番号で示されるタスクの処
理終了時刻データを第2処理終了時刻記憶手段から消去
し、同タスクの処理許容時刻データを第2処理許容時刻
記憶手段から消去し、記憶していたタスクの識別番号を
消去する。タスクの処理許容時刻データを消去された第
2処理許容時刻記憶手段は、実行タスク選択手段に対し
て、処理許容時刻に変更が生じたことを意味する許容時
刻変更発生信号を供給する。以下、タスク発生時と同様
に、実行タスク選択手段が最も処理許容時刻の早いタス
クを選択し、これをタスク実行手段が実行する。
【0026】タスク実行手段があるタスクを実行してい
るとき、別のタスクが発生すると、発生したタスクはタ
スク発生検出手段によって検出される。タスク発生検出
手段からタスクの識別番号が供給されると、処理許容時
刻算出手段は、現在の時間データを時間計測手段から読
み出し、供給された識別番号に対応するタスクのタスク
発生からの処理制限時間データを処理制限時間記憶手段
から読み出し、発生したタスクの処理許容時刻を算出し
第1処理許容時刻記憶手段に格納する。処理終了時刻算
出手段は、タスクの発生を検出するタスク発生検出手段
から発生したタスクの識別番号が供給されると、第1処
理許容時刻記憶手段に格納されているタスクの処理許容
時刻データと処理時間記憶手段に記憶されているタスク
の処理時間データとを読み出し、処理許容時刻が発生し
たタスクより遅いタスクの処理終了時刻に発生したタス
クの処理時間を加えることにより、全てのタスクの処理
終了時刻を算出し、これを第1処理終了時刻記憶手段に
格納する。処理可能性判別手段は、第1処理終了時刻記
憶手段に格納されている各タスクの処理終了時刻データ
と第1処理許容時刻記憶手段に格納されている処理許容
時刻データの比較を行い、実行中および実行待ちの全て
のタスクについて処理終了時刻の方が処理許容時刻より
も早い場合には、データ転送信号を出力する。処理可能
性判別手段からデータ転送信号が供給されると、処理終
了時刻格納手段は、第1処理終了時刻記憶手段から処理
終了時刻データを読み出し、これを第2処理終了時刻記
憶手段に格納し、同様に、処理許容時刻格納手段は、第
1処理許容時刻記憶手段から処理許容時刻データを読み
出し、これを第2処理許容時刻記憶手段に格納する。第
2処理許容時刻記憶手段は、処理許容時刻格納手段によ
って格納された処理許容時刻データを記憶すると同時
に、実行タスク選択手段に処理許容時刻データに変更が
生じたことを意味する許容時刻変更発生信号を出力す
る。実行タスク選択手段は、許容時刻変更発生信号を受
信すると、第2処理許容時刻記憶手段に記憶されている
処理許容時刻データを比較し、最も処理許容時刻の早い
タスクの識別番号をタスク実行手段に供給し、この識別
番号を記憶する。タスク実行手段は、実行タスク選択手
段から新たな識別番号が供給されると、現在実行中のタ
スクを中断し、中断したタスクの状態を保存した後、新
たに供給された識別番号によって示されるタスクを実行
する。
【0027】
【実施例】
(実施例1)以下、この発明の第1の実施例を図を用い
て説明する。図1は、この発明の第1の実施例における
タスク切替装置の構成を示すブロック図である。図1に
おいて、101はタスクの発生を監視し、タスクが発生
したことを検出すると、発生したタスクを示す識別番号
を出力するタスク発生検出手段として動作するタスク発
生検出回路である。102は時間の計測を行う時間計測
手段として動作する時間計測回路である。110は記憶
回路であり、あるタスクが発生してから終了するまでの
制限時間であるタスクの処理制限時間データを全てのタ
スクについて記憶する処理制限時間記憶手段として動作
する処理制限時間記憶テーブル111と、タスクが発生
した時刻とそのタスクの処理制限時間から算出されるタ
スクの優先度を記憶するタスク優先度記憶手段として動
作するタスク優先順位記憶テーブル112を含む。12
0はタスクを実行するタスク実行手段として動作するタ
スク実行回路122を含むマイクロプロセッサである。
121はマイクロプロセッサ120上で動作するソフト
ウエアとして構成され、発生タスク記憶回路111に記
憶されているタスクの中から最も優先順位の高いタスク
を選択する実行タスク選択手段として動作する実行タス
ク選択回路である。123はマイクロプロセッサ120
上で動作するソフトウエアとして構成され、タスクの発
生時刻と処理制限時間からこのタスクの優先度を算出す
るタスク優先度算出手段として動作するタスク優先度算
出回路である。
【0028】以上のように構成されたタスク切替装置に
ついて、以下その動作について説明する。タスクが発生
した場合、タスク発生回路101がタスクの発生を検出
し、発生したタスクと一対一に対応する識別番号をタス
ク優先度算出回路123に供給する。識別番号の供給を
受けたタスク優先度算出回路123は、時間計測回路1
02からタスクの発生時刻としての時間データと、処理
制限時間記憶テーブル111から識別番号によって示さ
れるタスクの処理制限時間データを読み出し、このタス
クの優先度を算出する。タスクの優先度はこのタスクの
発生時刻に同タスクの処理制限時間を加えることによっ
て算出する。タスク優先度算出回路123は、算出した
タスクの優先度をタスク優先度記憶テーブル112に記
憶させる。タスク優先度記憶テーブル112は、タスク
優先度算出手段123によってタスクの優先度が変更さ
れたことを示す優先度変更発生信号を実行タスク選択回
路121に供給する。タスク優先度記憶テーブル112
から優先度変更発生信号が供給されると、実行タスク選
択回路121は、タスク優先度記憶テーブル112に記
録されているタスクの優先度の中から、最も高い優先度
をもつタスクを選択し、このタスクを示す識別番号をタ
スク実行回路122に供給し、この識別番号を記憶す
る。実行タスク選択回路121からタスクの識別番号が
供給されると、タスク実行回路122は、この識別番号
で示されるタスクを実行する。実行中のタスクが終了す
ると、タスク実行回路122は、実行タスク選択回路1
21に、タスクを終了したことを示すタスク実行終了信
号を供給し、この信号を受けた実行タスク選択回路12
1は、タスクの識別番号をタスク実行回路122に供給
したときに記憶した識別番号のタスクの優先度をタスク
優先度記憶テーブル112から消去する。タスク優先度
記憶テーブル112は、実行タスク選択回路121によ
ってタスクの優先度に変更が生じたことを示す優先度変
更発生信号を実行タスク選択回路121に供給し、実行
タスク選択回路121は、再びタスク優先度記憶テーブ
ル112から最も優先度の高いタスクを選択する。以
下、この動作を処理待ちのタスクがなくなるまで行う。
【0029】つぎに、タスクの選択実行動作を図2を用
いてさらに詳しく説明する。なお、以下の説明ではタス
クの優先度として、そのタスクの処理制限時間とタスク
の発生時刻の和を用い、さらに処理制限時間とタスクの
発生時刻の和の値の小さいものほど優先度が高いとす
る。また、優先度が同じ場合には後発のタスクの優先度
が高いとする。図2は3つのタスクT1,T2,T3に
ついて、各タスクの発生周期が3,4,6、各タスクの
処理時間がタスク切替の時間を含めて1,2,1である
とし、各タスクT1,T2,T3が時刻0の時に同時に
発生した場合に、この発明の第1の実施例のタスク切替
装置のタスク切替のタイミングおよびタスク実行状況を
示したタイミング図である。図2において、210はタ
スクT1か時刻0で発生したことを示しており、同様に
220はタスクT2が、230はタスクT3が時刻0で
発生したことを示している。211は時刻3でタスクT
1が再び発生したことを示しており、同様に221は時
刻4でタスクT2が、231は時刻6でタスクT3が発
生したことを示している。
【0030】時刻0で発生したタスクT1,T2,T3
は、タスク発生検出回路101によってそれぞれ検出さ
れ、各タスクの識別番号ID1,ID2,ID3がタス
ク優先度算出回路123に供給される。タスク優先度算
出回路123は、タスクの処理制限時間と現在の時刻を
加え、各タスクの優先度を算出し、その結果、タスクT
1の優先度は3、タスクT2の優先度は4、タスクT3
の優先度は6となる。タスク優先度算出回路123は、
算出した優先度をタスク優先度記憶テーブル112に記
憶させ、タスク優先度記憶テーブルは、優先度変更発生
信号を実行タスク選択回路121に供給する。実行タス
ク選択回路121は、タスクT1,T2,T3の優先度
を比較し、最も優先度の値の小さいタスクT1を選択
し、このタスクT1を示す識別番号ID1をタスク実行
回路122に供給し、タスク実行回路122がタスクT
1を実行する。
【0031】タスク実行回路122は、タスクT1を時
刻1に終了し、タスク実行終了信号を実行タスク選択回
路121に供給する。実行タスク選択回路121は、タ
スク優先度記憶テーブル112からタスクT1の優先度
を消去する。タスク優先度記憶テーブル112は、タス
クの優先度に変更が生じたため、実行タスク選択回路1
21に優先度変更発生信号を供給するが、このときタス
クT1の優先度は消去されているため、タスク優先度記
憶テーブルに記憶されているタスクの優先度は、タスク
T2の4とタスクT3の6のみである。したがって、実
行タスク選択回路121は、タスクT2を選択し、これ
をタスク実行回路122が実行する。タスク実行回路1
22は、タスクT2を時刻3に終了し、実行タスク選択
回路121がタスクT2の優先度をタスク優先度記憶テ
ーブル112から消去する。
【0032】時刻3にはタスクT1が再び発生し、タス
ク優先度算出回路123がタスクT1の優先度を算出す
る。ここで、タスクT1の優先度は、発生時刻の3と処
理制限時間の3を加えた6となる。タスク優先度算出回
路123は、算出したタスクT1の優先度をタスク優先
度記憶テーブル112に記憶させ、タスク優先度記憶テ
ーブル112は、実行タスク選択回路121に、優先度
変更発生信号を供給する。実行タスク選択回路121
は、タスク優先度記憶テーブル112に記憶されている
タスクT1とタスクT3の優先度を比較し、両者の優先
度が同じであるので、後発タスクであるタスクT1を選
択し、識別番号ID1をタスク実行回路122に供給す
る。
【0033】時刻4には、タスクT1が終了し、タスク
T1の優先度が消去され、同時にタスクT2が発生し、
その優先度が現在時刻の4に処理制限時間の4を加えた
8となる。実行タスク選択回路121は、タスク優先度
記憶テーブル112に記憶されているタスクT2とタス
クT3の優先度を比較し、優先度が6のタスクT3を選
択し、識別番号ID3をタスク実行回路122に供給す
る。
【0034】時刻5には、タスクT3が終了し、タスク
T3の優先度が消去される。実行タスク選択回路121
は、タスク優先度記憶テーブル112に記憶されている
のがタスクT2のみであるため、タスクT2を選択し、
識別番号ID2をタスク実行回路122に供給する。時
刻6には、タスクT1とタスクT3が発生し、タスク優
先度算出回路123は、タスクT1とタスクT3の優先
度を算出する。その結果、タスクT1の優先度は9、タ
スクT3の優先度は12となる。タスク優先度記憶テー
ブル112は、タスク優先度算出回路123によって算
出されたタスクの優先度を記憶し、優先度変更発生信号
を実行タスク選択回路121に供給する。実行タスク選
択回路121は、タスクT1,T2,T3の優先度を比
較し、最も優先度の高いタスクT2を選択し、これが現
在実行中のタスクと同じであるのでタスク実行回路12
2に対してタスクの識別番号を供給しない。
【0035】時刻7には、タスクT2が終了し、タスク
T1が実行され、時刻8には、タスクT1が終了し、こ
のとき発生したタスクT2が実行される。時刻9には、
タスクT1が発生する。このとき、タスクT1,T2,
T3の優先度は全て12となる。実行タスク選択回路1
21は、最後発のタスクT1を選択し、識別番号ID1
をタスク実行回路122に供給し、識別番号ID1を記
憶する。タスク実行回路122は、それまで実行してい
たタスクT2の状態を保存した後、タスクT1を実行す
る。
【0036】時刻10には、タスクT1が終了する。実
行タスク選択回路121は、タスクT3より後発のタス
クT2を選択し、このタスクの識別番号ID2をタスク
実行回路122に供給する。タスク実行回路122は、
タスクT2を、保存していた状態から実行する。時刻1
1には、タスクT2が終了し、タスクT3が実行され
る。
【0037】上記の動作中の各時刻における各タスクの
優先度は(表1)に示す通りであり、各時刻で最も優先
度の高いタスクが実行されている。
【0038】
【表1】
【0039】以上のように、この実施例によれば、タス
クの優先度をタスクの発生時刻とその処理制限時間から
動的に算出することにより、タスクの優先順位を常に最
適に設定することができ、これを用いてタスクの切替を
行うので非常に効率の良いタスク切替を行うことが可能
である。 (実施例2)以下、この発明の第2の実施例を図を用い
て説明する。
【0040】図3は、この発明の第2の実施例における
タスク切替装置の構成を示すブロック図である。図3に
おいて、301はタスクの発生を監視し、タスクが発生
したことを検出すると、発生したタスクを示す識別番号
を出力するタスク発生検出手段として動作するタスク発
生検出回路である。302は時間の計測を行う時間計測
手段として動作する時間計測回路である。310は記憶
回路であり、あるタスクが発生してから終了するまでの
制限時間であるタスクの処理制限時間を全てのタスクに
ついて記憶する処理制限時間記憶手段として動作する処
理制限時間記憶テーブル311と、タスクが発生した時
刻とそのタスクの処理制限時間から算出されるタスクの
優先度を記憶するタスク優先度記憶手段として動作する
タスク優先順位記憶テーブル312を含む。320はタ
スクを実行するタスク実行手段として動作するタスク実
行回路322を含むマイクロプロセッサである。321
はマイクロプロセッサ320上で動作するソフトウエア
として構成され、発生タスク記憶回路311に記憶され
ているタスクの中から最も優先順位の高いタスクを選択
する実行タスク選択手段として動作する実行タスク選択
回路である。323はマイクロプロセッサ320上で動
作するソフトウエアとして構成され、タスクの発生時刻
と処理制限時間からこのタスクの優先度を算出するタス
ク優先度算出手段として動作するタスク優先度算出回路
である。324はマイクロプロセッサ320上で動作す
るソフトウエアとして構成され、タスクの識別番号から
そのタスクが実行中あるいは実行待ち状態であるか否か
を判別するタスク起動判別手段として動作するタスク起
動判別回路である。
【0041】以上のように構成されたタスク切替装置に
ついて、以下その動作について説明する。タスクが発生
した場合、タスク発生回路301がタスクの発生を検出
し、発生したタスクと一対一に対応する識別番号をタス
ク起動判別回路324に供給する。タスク起動判別回路
324は、供給された識別番号によって示されるタスク
のタスク優先度がタスク優先度記憶テーブル312に記
憶されているか否かを調べ、タスクの優先度がタスク優
先度記憶テーブル312に記憶されていた場合には、誤
動作検出信号を出力し、タスクの優先度がタスク優先度
記憶テーブル312に記憶されていない場合には、この
タスクの識別番号をタスク優先度算出回路323に供給
する。識別番号の供給を受けたタスク優先度算出回路3
23は、時間計測回路302からタスクの発生時刻とし
ての時間データと、処理制限時間記憶テーブル311か
ら識別番号によって示されるタスクの処理制限時間デー
タを読み出し、このタスクの優先度を算出する。タスク
の優先度はこのタスクの発生時刻に同タスクの処理制限
時間を加えることによって算出する。タスク優先度算出
回路323は、算出したタスクの優先度をタスク優先度
記憶テーブル312に記憶させる。タスク優先度記憶テ
ーブル312は、タスク優先度算出回路323によって
タスクの優先度が変更されたことを示す優先度変更発生
信号を実行タスク選択回路321に供給する。タスク優
先度記憶テーブル312から優先度変更発生信号が供給
されると、実行タスク選択回路321は、タスク優先度
記憶テーブル312に記録されているタスクの優先度の
中から、最も高い優先度をもつタスクを選択し、このタ
スクを示す識別番号をタスク実行回路322に供給し、
この識別番号を記憶する。実行タスク選択回路321か
らタスクの識別番号が供給されると、タスク実行回路3
22は、この識別番号で示されるタスクを実行する。実
行中のタスクが終了すると、タスク実行回路322は、
実行タスク選択回路321に、タスクが終了したことを
示すタスク実行終了信号を供給し、この信号を受けた実
行タスク選択回路321は、タスクの識別番号をタスク
実行回路322に供給したときに記憶した識別番号のタ
スクの優先度をタスク優先度記憶テーブル312から消
去する。タスク優先度記憶テーブル312は、実行タス
ク選択回路321によってタスクの優先度に変更が生じ
たことを示す優先度変更発生信号を実行タスク選択回路
321に供給し、実行タスク選択回路321は、再びタ
スク優先度記憶テーブル312から最も優先度の高いタ
スクを選択する。以下、この動作を処理待ちのタスクが
なくなるまで行う。
【0042】つぎに、タスクの選択実行動作を図4を用
いてさらに詳しく説明する。なお、以下の説明ではタス
クの優先度として、そのタスクの処理制限時間とタスク
の発生時刻の和を用い、さらに処理制限時間とタスクの
発生時刻の和の値の小さいものほど優先度が高いとす
る。また、優先度が同じ場合には後発のタスクの優先度
が高いとする。図4は3つのタスクT1,T2,T3に
ついて、正常な状態で各タスクの発生周期が3,4,
6、各タスクの処理時間がタスク切替の時間を含めて
1,2,1である場合に、タスクT2の発生要因が異常
となりタスクT2の発生周期が1になったとし、各タス
クT1,T2,T3が時刻0の時に同時に発生した場合
に、この発明の第2の実施例のタスク切替装置のタスク
切替のタイミングおよびタスク実行状況を示したタイミ
ング図である。図4において、410はタスクT1が時
刻0で発生したことを示しており、同様に420はタス
クT2が、430はタスクT3が時刻0で発生したこと
を示している。421はタスクT2が時刻1で発生した
が、時刻0で発生した同タスクが終了していないため、
タスク発生要求が棄却されたことを示している。
【0043】時刻0で発生したタスクT1,T2,T3
は、タスク発生検出回路301によってそれぞれ検出さ
れ、各タスクの識別番号ID1,ID2,ID3がタス
ク起動判別回路324に供給される。タスク起動判別回
路324は、供給された識別番号によって示されるタス
クのタスク優先度がタスク優先度記憶テーブル312に
記憶されているか否かを調べ、タスクT1,T2,T3
のタスクの優先度がいずれもタスク優先度記憶テーブル
312に記憶されていないので、各タスクの識別番号I
D1,ID2,ID3をタスク優先度算出回路323に
供給する。タスク優先度算出回路323は、タスクの処
理制限時間と現在の時刻を加え、各タスクの優先度を算
出し、その結果、タスクT1の優先度は3、タスクT2
の優先度は4、タスクT3の優先度は6となる。タスク
優先度算出回路323は、算出した優先度をタスク優先
度記憶テーブル312に記憶させ、タスク優先度記憶テ
ーブルは、優先度変更発生信号を実行タスク選択回路3
21に供給する。実行タスク選択回路321は、タスク
T1,T2,T3の優先度を比較し、最も優先度の値の
小さいタスクT1を選択し、このタスクT1を示す識別
番号ID1をタスク実行回路322に供給し、タスク実
行回路322がタスクT1を実行する。
【0044】時刻1に、発生要因の誤動作によってタス
クT2が発生し、これを検出したタスク発生検出回路3
01が、タスクT2の識別番号ID2をタスク起動判別
回路324に供給する。タスク起動判別回路324は、
タスク優先度記憶テーブル312にタスクT2の優先度
が記憶されているか否かを調べる。時刻1にはタスクT
2の優先度は4であり、タスク優先度が記憶されている
ため、タスク起動判別回路324は、誤動作検出信号を
出力する。同じく時刻1に、タスク実行回路322はタ
スクT1を終了し、タスク実行終了信号を実行タスク選
択回路321に供給する。実行タスク選択回路321
は、タスク優先度記憶テーブル312からタスクT1の
優先度を消去する。タスク優先度記憶テーブル312
は、タスクの優先度に変更が生じたため、実行タスク選
択回路321に優先度変更発生信号を供給するが、この
ときタスクT1の優先度は消去されているため、タスク
優先度記憶テーブルに記憶されているタスクの優先度
は、タスクT2の4とタスクT3の6のみである。した
がって、実行タスク選択回路321は、タスクT2を選
択し、これをタスク実行回路322が実行する。タスク
実行回路322は、タスクT2を時刻3に終了し、実行
タスク選択回路321がタスクT2の優先度をタスク優
先度記憶テーブル312から消去する。
【0045】時刻3にはタスクT1と、発生要因の誤動
作によるタスクT2が発生する。このとき、タスクT1
およびタスクT2の優先度はタスク優先度記憶テーブル
312には記憶されていないので、タスク起動判別回路
324は、タスクT1の識別番号ID1とタスクT2の
識別番号ID2をタスク優先度算出回路323に供給
し、タスク優先度算出回路323はタスクT1とタスク
T2の優先度を算出する。ここで、タスクT1の優先度
は、発生時刻の3と処理制限時間の3を加えた6とな
り、同様にタスクT2の優先度7となる。タスク優先度
算出回路323は、算出したタスクT1とタスクT2の
優先度をタスク優先度記憶テーブル312に記憶させ、
タスク優先度記憶テーブル312は、実行タスク選択回
路321に、優先度変更発生信号を供給する。実行タス
ク選択回路321は、タスク優先度記憶テーブル312
に記憶されているタスクT1とタスクT3の優先度を比
較し、両者の優先度が同じであるので、後発タスクであ
るタスクT1を選択し、識別番号ID1をタスク実行回
路322に供給する。
【0046】時刻4には、タスクT1が終了し、タスク
T1の優先度が消去され、同時にタスクT2が発生する
が、タスクT2の優先度がすでにタスク優先度記憶テー
ブル312に記憶されているため、棄却される。実行タ
スク選択回路321は、タスク優先度記憶テーブル31
2に記憶されているタスクT2とタスクT3の優先度を
比較し、優先度が6のタスクT3を選択し、識別番号I
D3をタスク実行回路322に供給する。
【0047】時刻5には、タスクT3が終了し、タスク
T3の優先度が消去され、同時にタスクT2が発生する
が、ここで発生したタスクT2は棄却される。実行タス
ク選択回路321は、タスク優先度記憶テーブル312
に記憶されているのがタスクT2のみであるため、タス
クT2を選択し、識別番号ID2をタスク実行回路32
2に供給する。
【0048】時刻6には、タスクT1とタスクT2とタ
スクT3が発生し、タスクT2が棄却される。タスク優
先度算出回路323は、タスクT1とタスクT3の優先
度を算出する。その結果、タスクT1の優先度は9、タ
スクT3の優先度は12となる。タスク優先度記憶テー
ブル312は、タスク優先度算出回路323によって算
出されたタスクの優先度を記憶し、優先度変更発生信号
を実行タスク選択回路321に供給する。実行タスク選
択回路321は、タスクT1、T2、T3の優先度を比
較し、最も優先度の高いタスクT2を選択し、これが現
在実行中のタスクと同じであるのでタスク実行回路32
2に対してタスクの識別番号を供給しない。
【0049】時刻7には、タスクT2が終了し、同時に
タスクT2が発生する。3つのタスクの内、優先度が最
も高いタスクT1が実行される。以下、時刻8には、タ
スクT1が終了し、タスクT2が実行され、時刻9に
は、タスクT1が発生し、タスクT2が実行される。時
刻10には、タスクT2が終了と同時に発生し、タスク
T1が実行される。時刻11には、タスクT1が終了
し、タスクT3が実行される。
【0050】上記の動作中の各時刻における各タスクの
優先度は(表2)に示す通りである。
【0051】
【表2】
【0052】なお、優先度の低いタスクの実行中に、優
先度の高いタスクが発生したときは、優先度の低いタス
クの実行を中断して優先度の高いタスクを実行するのは
第1の実施例と同じである。以上のように、この実施例
によれば、タスクの優先度をタスクの発生時刻とその処
理制限時間から動的に算出することにより、タスクの優
先順位を常に最適に設定することができ、これを用いて
タスクの切替を行うので非常に効率の良いタスク切替を
行うことが可能であり、周辺回路の誤動作などにより、
優先順位の高い特定のタスクが頻発した場合には、誤動
作の検出を可能とした上、優先順位の低いタスクをも実
行することが可能となる。
【0053】(実施例3)以下、この発明の第3の実施
例を図を用いて説明する。図5は、この発明の第3の実
施例におけるタスク切替装置の構成を示すブロック図で
ある。図5において、501はタスクの発生を監視し、
タスクが発生したことを検出すると、発生したタスクを
示す識別番号を出力するタスク発生検出手段として動作
するタスク発生検出回路である。502は時間の計測を
行う時間計測手段として動作する時間計測回路である。
510は記憶回路であり、あるタスクが発生してから終
了するまでの制限時間であるタスクの処理制限時間を全
てのタスクについて記憶する処理制限時間記憶手段とし
て動作する処理制限時間記憶テーブル511と、タスク
が発生してから終了するまで単独で動作した場合の処理
時間を記憶する処理時間記憶手段として動作する処理時
間記憶テーブル512と、第1の処理終了時刻記憶手段
として動作する第1処理終了時刻記憶テーブル513
と、第2の処理終了時刻記憶手段として動作する第2処
理終了時刻記憶テーブル514と、タスクが発生した時
刻とそのタスクの処理制限時間から算出されるタスクの
処理許容時刻データを記憶する第1の処理許容時刻記憶
手段として動作する第1処理許容時刻記憶テーブル51
5と、同じく処理許容時刻データを記憶する第2の処理
許容時刻記憶手段として動作する第2処理許容時刻記憶
テーブル516を含む。520はタスクを実行するタス
ク実行手段として動作するタスク実行回路522を含む
マイクロプロセッサである。521はマイクロプロセッ
サ520上で動作するソフトウエアとして構成され、第
2処理許容時刻記憶テーブル516に記憶されているタ
スクの中から最も優先順位の高いタスクを選択する実行
タスク選択手段として動作する実行タスク選択回路であ
る。523はマイクロプロセッサ520上で動作するソ
フトウエアとして構成され、タスクの発生時刻と処理制
限時間からこのタスクの処理許容時刻を算出する処理許
容時刻算出手段として動作する処理許容時刻算出回路で
ある。524はマイクロプロセッサ520上で動作する
ソフトウェアとして構成され、新たなタスクが発生した
ときに発生している全てのタスクの処理時間と処理終了
時刻および処理許容時刻から全タスクの処理終了時刻を
算出する処理終了時刻算出手段として動作する処理終了
時刻算出回路である。525はマイクロプロセッサ52
0上で動作するソフトウェアとして構成され、新たなタ
スクが発生したことにより、既に発生している全てのタ
スクが各タスクの処理許容時刻を満足するか否かを判別
する処理可能性判別手段として動作する処理可能性判別
回路であり、この回路は新たにタスクが発生した場合に
のみ比較処理を行う。526は処理終了時刻格納手段と
して動作する処理終了時刻格納回路である。527は処
理許容時刻格納手段として動作する処理許容時刻格納回
路である。
【0054】以上のように構成されたタスク切替装置に
ついて、以下その動作について説明する。タスクが発生
した場合、タスク発生回路501がタスクの発生を検出
し、発生したタスクと一対一に対応する識別番号を処理
許容時刻算出回路523と処理終了時刻算出回路524
と処理可能性判別回路525に供給する。識別番号の供
給を受けた処理許容時刻算出回路523は、時間計測回
路502からタスクの発生時刻としての時間データと、
処理制限時間記憶テーブル511から識別番号によって
示されるタスクの処理制限時間データを読み出し、現在
の時刻と処理制限時間を加えることによってこのタスク
の処理許容時刻を算出する。処理許容時刻算出回路52
3は、算出したタスクの処理許容時刻を第1処理許容時
刻記憶テーブル515に格納する。処理終了時刻算出回
路524は、タスク発生検出回路501からタスクの識
別番号が供給されると、処理時間記憶テーブル512に
記憶されているタスクの処理時間データと、第2の処理
終了時刻記憶テーブル514に記憶されているタスクの
処理終了時刻データと、第1の処理許容時刻記憶テーブ
ル515に記憶されているタスクの処理許容時刻データ
を用いて、現在実行中のタスクと実行待ち状態のタスク
および今回発生したタスクの処理終了時刻を算出し、第
1の処理終了時刻記憶テーブル513に格納する。処理
可能性判別回路525は、タスク発生検出回路501か
らタスクの識別番号が供給されると、第1処理終了時刻
記憶テーブル513に格納されているタスクの処理終了
時刻データと第1処理許容時刻記憶テーブル515に記
憶されているタスクの処理許容時刻データとを比較し、
発生している全てのタスクの処理終了時刻が、各タスク
の処理許容時刻より早い場合にのみ、データ転送信号を
出力する。処理終了時刻格納回路526は、処理可能性
判別回路525からデータ転送信号が供給されると、第
1処理終了時刻記憶テーブル513に記憶されている処
理終了時刻データを読み出し、これを第2処理終了時刻
記憶テーブル514に格納する。同様に、処理許容時刻
格納回路527は,処理可能性判別回路525からデー
タ転送信号が供給されると、第1処理許容時刻記憶テー
ブル515に記憶されている処理終了時刻データを読み
出し、これを第2処理許容時刻記憶テーブル516に格
納する。ここで、転送するデータは、新たに発生した処
理許容時刻データのみとすれば、転送時間は少なくてよ
い。
【0055】第2処理許容時刻記憶テーブル516は、
処理許容時刻格納回路527によってタスクの処理許容
時刻データが変更されたことを示す許容時刻変更発生信
号を実行タスク選択回路521に供給する。第2処理許
容時刻記憶テーブル516から許容時刻変更発生信号が
供給されると、実行タスク選択回路521は、第2処理
許容時刻記憶テーブル516に記録されているタスクの
処理許容時刻データを読み出し、最も処理許容時刻が早
いタスクを選択し、このタスクを示す識別番号をタスク
実行回路522に供給し、この識別番号を記憶する。実
行タスク選択回路521からタスクの識別番号が供給さ
れると、タスク実行回路522は、この識別番号で示さ
れるタスクを実行する。実行中のタスクが終了すると、
タスク実行回路522は、実行タスク選択回路521
に、タスクを終了したことを示すタスク実行終了信号を
供給し、この信号を受けた実行タスク選択回路521
は、タスクの識別番号をタスク実行回路522に供給し
たときに記憶した識別番号のタスクの処理終了時刻デー
タを第2処理終了時刻記憶テーブル514から消去し、
同タスクの処理許容時刻データを第2処理許容時刻記憶
テーブル516から消去する。第2処理許容時刻記憶テ
ーブル516は、実行タスク選択回路521によってタ
スクの処理許容時刻データに変更が生じたことを示す許
容時刻変更発生信号を実行タスク選択回路521に供給
し、実行タスク選択回路521は、再び第2処理許容時
刻記憶テーブル516からタスクの処理許容時刻データ
を読み出し、最も処理許容時刻が早いタスクを選択す
る。以下、この動作を処理待ちのタスクがなくなるまで
行う。
【0056】つぎに、タスクの処理終了時刻の算出動作
を図6を用いてさらに詳しく説明する。図6はこの実施
例のタスク切替装置の処理終了時刻算出回路524にお
けるタスク発生から全タスクの処理終了時刻の算出を終
了するまでの動作を示したフロー図である。以下の説明
では、タスクの総数をNとし、それぞれのタスクの識別
番号が1〜Nであるとする。また、第2処理終了時刻記
憶テーブル514に格納されているタスクiの処理終了
時刻をE(i)と表す。まず処理ステップ601では、
タスク発生検出回路501から供給される発生したタス
クと一対一に対応する識別番号を変数kに代入する。つ
ぎに処理ステップ602では、処理許容時刻算出回路5
23から供給されるタスクkの処理許容時刻を変数Lに
代入する。つぎに処理ステップ603では、処理時間記
憶テーブル512から識別番号がkのタスクの処理時間
データを読み出し、これを変数Tに代入する。つぎに処
理ステップ604では、N個あるタスクの処理終了時刻
を順に求めるため、変数iに1を代入する。つぎに処理
ブロック605では、識別番号kのタスクの処理終了時
刻算出のために変数e(k)を0に代入する。つぎにブ
ランチ606では、識別番号iのタスクの処理許容時刻
が処理許容時刻記憶テーブル514に記録されているか
否かを調べ、記録されていない場合にはブランチ630
へ進み、記録されている場合にはブランチ607へ進
む。ブランチ607では、識別番号iのタスクの処理許
容時刻と識別番号kのタスクの処理許容時刻である変数
Lとを比較し、識別番号iのタスクの処理許容時刻がL
以上であれば処理ステップ610へ進み、識別番号iの
タスクの処理許容時刻がL未満であればブランチ620
へ進む。処理ステップ610〜処理ステップ611で
は、識別番号iのタスクの処理許容時刻が識別番号kの
タスクの処理許容時刻L以上の場合の処理として、識別
番号kの処理許容時刻より処理許容時刻が遅いタスクに
ついて、処理終了時刻を識別番号kのタスクの処理時間
分延長する。具体的には、処理ステップ610におい
て、第2処理終了時刻記憶テーブル514に記憶されて
いる識別番号iのタスクの処理終了時刻E(i)を変数
e(i)に代入し、処理ステップ611において、変数
e(i)に識別番号kのタスクの処理時間Tを加える。
ブランチ620〜処理ステップ621では、識別番号i
のタスクの処理許容時刻が識別番号kのタスクの処理許
容時刻L未満の場合の処理として、処理許容時刻が識別
番号kのタスクの処理許容時刻より早くかつ最も近いタ
スクを抽出するための処理を行う。ブランチ620で
は、識別番号iのタスクの処理終了時刻E(i)と識別
番号kのタスクの処理終了時刻を算出するための変数e
(k)とを比較し、E(i)の方が変数e(k)よりも
大きい場合には処理ステップ621へ進み、E(i)の
方が変数e(k)よりも小さい場合にはブランチ630
へ進む。処理ステップ621では、識別番号1〜iのタ
スクの中で、識別番号iのタスクの処理許容時刻が識別
番号kのタスクの処理許容時刻に最も近い場合の処理と
して、変数e(k)にE(i)を代入し、ブランチ63
0へ進む。ブランチ630では、識別番号を示す変数i
とNとを比較し、iがNより小さい場合には処理ステッ
プ631へ進み、それ以外の場合には処理ステップ63
2に進む。処理ステップ631においては、識別番号k
のタスクを除く全てのタスクの処理終了時刻の算出が終
了していない場合の処理として、変数iに1を加え、ブ
ランチ606へ進み、以下同様の動作を繰り返す。処理
ステップ632では、識別番号kのタスクを除く全ての
タスクの処理終了時刻の算出が終了した場合の処理とし
て、識別番号kのタスクの処理終了時刻e(k)を算出
する。識別番号kのタスクの処理終了時刻は、識別番号
kのタスクの直前に実行されるタスクの終了時刻に識別
番号kのタスクの処理時間を加えることによって求める
ことができ、具体的には変数e(k)に識別番号kのタ
スクの処理時間Tを加える。以上の動作によって、全て
のタスクの処理終了時刻を算出する。最後に、算出した
変数e(k)の内容を第1処理終了時刻記憶テーブル5
13に格納する。
【0057】つぎに、タスクの選択実行動作を図7を用
いてさらに詳しく説明する。図7は3つのタスクT1,
T2,T3について、各タスクの発生周期が4,6,1
2、各タスクの処理時間がタスク切替の時間を含めて
2,2,4であるとし、各タスクT1,T2,T3が時
刻0の時に同時に発生した場合に、この発明の第3の実
施例のタスク切替装置のタスク切替のタイミングおよび
タスク実行状況を示したタイミング図である。図7にお
いて、710はタスクT1が時刻0で発生したことを示
しており、同様に720はタスクT2が、730はタス
クT3が時刻0で発生したことを示している。711は
タスクT1が時刻8で発生したが、同タスクを加えると
タスクT3を処理許容時刻までに終了することができな
いため、タスク発生要求が棄却されたことを示してい
る。
【0058】時刻0で発生したタスクT1,T2,T3
は、タスク発生検出回路501によってそれぞれ検出さ
れ、各タスクの識別番号ID1,ID2,ID3が処理
許容時刻算出回路523に供給される。処理許容時刻算
出回路523は、現在の時刻を表す時間データを時間計
測回路502から、供給された識別番号によって示され
るタスクの処理制限時間データを処理制限時間記憶テー
ブル511からそれぞれ読み出し、タスクの処理許容時
刻を順次算出する。タスク発生検出回路501から供給
される識別番号がID1,ID2,ID3の順であると
すると、まず、タスクT1の処理許容時刻が4と、つぎ
に、タスクT2の処理許容時刻が6、タスクT3の処理
許容時刻が12と算出され、それぞれ第1処理許容時刻
記憶テーブル515に格納される。処理終了時刻算出回
路524は、タスク発生検出回路501から供給される
タスクの識別番号と第1処理許容時刻記憶テーブル51
5から供給される処理許容時刻データと、処理時間記憶
テーブル512から供給される処理時間データと、第2
処理終了時刻記憶テーブル514から供給される処理終
了時刻データとから発生している全タスクの処理終了時
刻を算出し、結果を第1処理終了時刻記憶テーブル51
3に格納する。ここでは、タスクT1の処理許容時刻が
最も早く、タスクT3の処理許容時刻が最も遅いので、
タスクT1の処理終了時刻が2に、タスクT2の処理終
了時刻がタスクT1の処理終了時刻より2遅い4に、タ
スクT3の処理終了時刻がタスクT2の処理終了時刻よ
り4遅い8になる。つぎに、処理可能性判別回路525
は、第1処理終了時刻記憶テーブル513から読み出し
た処理終了時刻と第1処理許容時刻記憶テーブル515
から読み出した処理終了時刻とを比較し、全てのタスク
を実行できるか否かを判別する。ここでは、タスクT
1,T2,T3の全ての処理終了時刻が各タスクの処理
許容時刻よりも早いので、処理が可能であると判断され
る。処理可能性判別回路525は、全てのタスクが実行
可能であると判断すると、データ転送信号を出力する。
処理終了時刻格納回路526は、処理可能性判別回路5
25からデータ転送信号が供給されると、第1処理終了
時刻記憶テーブル513に記憶されている処理終了時刻
データを読み出し、第2処理終了時刻記憶テーブル51
4に格納する。同様に処理許容時刻格納回路527は、
データ転送信号の供給により、第1処理許容時刻記憶テ
ーブル515に記憶されている処理許容時刻データを読
み出し、第2処理許容時刻記憶テーブル516に格納す
る。処理許容時刻格納回路527によって処理許容時刻
を格納された第2処理許容時刻記憶テーブル516は、
記憶している処理許容時刻に変更が生じたことを示す許
容時刻変更発生信号を実行タスク選択回路521に供給
する。実行タスク選択回路521は、タスクT1,T
2,T3の処理許容時刻を比較し、最も処理許容時刻の
早いタスクT1を選択し、このタスクT1を示す識別番
号ID1をタスク実行回路522に供給し、タスク実行
回路522がタスクT1を実行する。
【0059】時刻2に、タスク実行回路522はタスク
T1を終了し、タスク実行終了信号を実行タスク選択回
路521に供給する。実行タスク選択回路521は、第
2処理終了時刻記憶テーブル514からタスクT1の処
理終了時刻データを消去し、第2処理許容時刻記憶テー
ブル516からタスクT1の処理許容時刻データを消去
する。第2処理許容時刻記憶テーブル516は、タスク
の処理許容時刻に変更が生じたため、実行タスク選択回
路521に許容時刻変更発生信号を供給するが、このと
きタスクT1の処理許容時刻は消去されているため、第
2処理許容時刻記憶テーブル516に記憶されているタ
スクの処理許容時刻データは、タスクT2の6とタスク
T3の12のみである。したがって、実行タスク選択回
路521は、タスクT2を選択し、これをタスク実行回
路522が実行する。タスク実行回路522は、タスク
T2を時刻4に終了し、実行タスク選択回路521がタ
スクT2の処理終了時刻データと処理許容時刻データを
それぞれ第3処理終了時刻記憶テーブル514と第2処
理許容時刻記憶テーブル516から消去する。
【0060】時刻4には再びタスクT1が発生する。タ
スク発生検出回路501は、タスクT1の識別番号ID
1を処理許容時刻算出回路523と処理終了時刻算出回
路524と処理可能性判別回路525に供給し、処理許
容時刻算出回路523はタスクT1の処理許容時刻を8
と算出し、これを第1処理許容時刻記憶テーブル515
に格納する。処理許容時刻算出回路524は、第1処理
許容時刻記憶テーブル515に記憶されているタスクT
1とタスクT3の処理許容時刻を比較し、タスクT1の
処理許容時刻(8)の方がタスクT3の処理許容時刻
(12)よりも早いので、タスクT1の処理時間(2)
をタスクT3の処理終了時刻に加え、さらにタスクT1
の処理終了時刻を算出する。その結果、タスクT1の処
理終了時刻は6となり、タスクT3の処理終了時刻は1
0となる。処理可能性判別回路525は、第1処理終了
時刻記憶テーブル513から読み出したタスクの処理終
了時刻データと、第1処理許容時刻記憶テーブル515
から読み出したタスクの処理許容時刻データとを比較
し、全てのタスクの処理終了時刻が同タスクの処理許容
時刻より早いため、処理が可能であると判断し、処理終
了時刻データを第1処理終了時刻記憶テーブル513か
ら読み出し、第2処理終了時刻記憶テーブル514に格
納し、処理許容時刻データを第1処理許容時刻記憶テー
ブル515から読み出し、第2処理許容時刻記憶テーブ
ル516に格納する。第2処理許容時刻記憶テーブル5
16は、実行タスク選択回路521に、許容時刻変更発
生信号を供給し、実行タスク選択回路521は、タスク
優先度記憶テーブル514に記憶されているタスクT1
とタスクT3の処理許容時刻を比較し、タスクT1の処
理許容時刻の方が早いので、タスクT1を選択し、識別
番号ID1をタスク実行回路522に供給する。
【0061】時刻6には、タスクT1が終了し、タスク
T1の処理終了時刻データと処理許容時刻データが消去
され、同時にタスクT2が発生する。タスクT2の処理
許容時刻は12となりタスクT3と同じになるが、処理
終了時刻算出回路524では後発タスクのタスクT2が
優先され、その結果、タスクT2の処理終了時刻が8
に、タスクT3の処理終了時刻が12になる。タスクT
2およびT3の処理終了時刻はそれぞれの処理許容時刻
より早いので、処理可能性判別回路525は処理が可能
であると判断し、処理終了時刻格納回路526が第2処
理終了時刻記憶テーブル514に処理終了時刻データ
を、処理許容時刻格納回路527が第2処理許容時刻記
憶テーブル516に処理許容時刻データをそれぞれ格納
する。第2処理許容時刻記憶テーブル516は許容時刻
変更発生信号を実行タスク選択回路521に供給し、実
行タスク選択回路521は、第2処理許容時刻記憶テー
ブル516に記憶されているタスクT2とタスクT3の
処理許容時刻を比較し、処理許容時刻が8のタスクT2
を選択し、識別番号ID2をタスク実行回路522に供
給する。
【0062】時刻8には、タスクT2が終了し、タスク
T2の処理終了時刻と処理許容時刻が消去され、同時に
タスクT1が発生する。処理許容時刻算出回路523
は、タスクT1の処理許容時刻を算出し、タスクT1の
処理許容時刻は発生時刻の8に処理制限時間の4を加え
た12となり、算出された処理許容時刻データが第1処
理許容時刻記憶テーブル515に格納される。つぎに、
処理終了時刻算出回路524がタスクT1の処理終了時
刻を算出し、タスクT1とタスクT3の処理許容時刻が
ともに12であるので、後発タスクのタスクT1の処理
終了時刻が10に、タスクT3の処理終了時刻は14と
なり、それぞれ第1処理終了時刻記憶テーブル513に
格納される。処理可能性判別回路525は、タスクT1
とT3の処理終了時刻と処理許容時刻を比較し、タスク
T3の処理終了時刻が処理許容時刻を超えているため、
処理が不可能であると判断しデータ転送信号を出力せ
ず、時刻8で算出され第1処理終了時刻記憶テーブル5
13に格納された処理終了時刻データと第1処理許容時
刻記憶テーブル515に格納された処理許容時刻データ
は、いずれも第2処理終了時刻記憶テーブル514およ
び第2処理許容時刻記憶テーブル516には格納されな
い。このため、第2処理許容時刻記憶テーブル516に
は、タスクT3の処理許容時刻しか記憶されておらず、
実行タスク選択回路521は、タスクT3を選択し、タ
スク実行回路522がこれを実行する。
【0063】以下、時刻9〜時刻11の間は、タスクT
3がタスク実行回路522で実行される。上記の動作中
の各時刻における各タスクの処理許容時刻と処理終了時
刻は(表3)に示す通りである。
【0064】
【表3】
【0065】なお、優先度の低いタスクの実行中に、優
先度の高いタスクが発生したときは、優先度の低いタス
クの実行を中断して優先度の高いタスクを実行するのは
第1の実施例と同じである。以上のように、この実施例
によれば、タスクの処理許容時刻と処理終了時刻をタス
クの発生時刻とその処理制限時間および既に発生してい
るタスクの情報から動的に算出することにより、タスク
の優先順位を常に最適に設定することができ、これを用
いてタスクの切替を行うので非常に効率の良いタスク切
替を行うことが可能であり、さらに、タスクの負荷が大
きくなったときにも、優先順位の低いタスクを実行する
ことが可能となる。
【0066】なお、この発明の第1〜第3の実施例にお
いては、時間を計測する手段として時間計測回路10
2,302,502をそれぞれ用いたが、これはマイク
ロプロセッサ120,320,520に供給されている
クロック信号に同期して増加するカウンタを用いても同
様の効果が得られることは言うまでもない。また、上記
各実施例では、実行タスク選択回路121,321,5
21は、タスクの優先度が同じ場合に後で発生したタス
クを選択したが、これに限らず、タスクの優先度が同じ
場合に先に発生したタスクを選択するようにしてもよ
い。
【0067】
【発明の効果】請求項1〜3記載のタスク切替装置は、
タスクの優先度をタスクの発生時刻とその処理制限時間
から動的に算出することにより、タスクの優先順位を常
に最適に設定することができ、これを用いてタスクの切
替を行うので非常に効率の良いタスク切替を行うことが
できる優れたタスク切替装置を実現できるものである。
【0068】請求項4〜6記載のタスク切替装置は、上
記の効率の良いタスク切替に加え、周辺回路の誤動作な
どにより、優先順位の高い特定のタスクが頻発した場合
には、誤動作の検出を可能とした上、優先順位の低いタ
スクをも実行することができる優れたタスク切替装置を
実現できるものである。請求項7〜11記載のタスク切
替装置は、タスクの処理許容時刻と処理終了時刻をタス
クの発生時刻とその処理制限時間および既に発生してい
るタスクの情報から動的に算出することにより、効率の
良いタスク切替を行うことができ、さらに、タスクの負
荷が大きくなったときにも、優先順位の低いタスクを実
行することができる優れたタスク切替装置を実現できる
ものである。
【図面の簡単な説明】
【図1】この発明の第1の実施例におけるタスク切替装
置の構成を示すブロック図である。
【図2】同第1の実施例におけるタスク切替装置のタス
ク切替のタイミングおよびタスクの実行状況を示したタ
イミング図である。
【図3】この発明の第2の実施例におけるタスク切替装
置の構成を示すブロック図である。
【図4】同第2の実施例におけるタスク切替装置のタス
ク切替のタイミングおよびタスクの実行状況を示したタ
イミング図である。
【図5】この発明の第3の実施例におけるタスク切替装
置の構成を示すブロック図である。
【図6】同第3の実施例の処理終了時刻算出回路におけ
るタスクの処理終了時刻の算出動作を示すフロー図であ
る。
【図7】同第3の実施例におけるタスク切替装置のタス
ク切替のタイミングおよびタスクの実行状況を示したタ
イミング図である。
【図8】従来のタスク切替装置の構成を示すブロック図
である。
【符号の説明】
101,301,501,801 タスク発生検出回
路 102,302,502 時間計測回路 110,310,510,810 記憶回路 111,311 処理制限時間記憶テーブル 112,312,812 タスク優先度記憶テーブル 120,320,520,820 マイクロプロセッ
サ 121,321,521,821 実行タスク選択回
路 122,322,522,822 タスク実行回路 123,323 タスク優先度算出回路 324 タスク起動判別回路 511 処理制限時間記憶テーブル 512 処理時間記憶テーブル 513 第1処理終了時刻記憶テーブル 514 第2処理終了時刻記憶テーブル 515 第1処理許容時刻記憶テーブル 516 第2処理許容時刻記憶テーブル 523 処理許容時刻算出回路 524 処理終了時刻算出回路 525 処理可能性判別回路 526 処理終了時刻格納回路 527 処理許容時刻格納回路 811 発生タスク記憶回路

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 時間を計測しこの時間データを出力する
    時間計測手段と、 1つ以上のタスクのそれぞれの処理制限時間データを記
    憶する処理制限時間記憶手段と、 実行中および実行待ちの各タスクの優先度を示す優先順
    位データを記憶し、前記優先順位データに変更が生じた
    場合には優先度変更発生信号を出力するタスク優先度記
    憶手段と、 タスクの発生を検出し発生したタスクの識別番号を出力
    するタスク発生検出手段と、 前記タスクの識別番号が供給されると、前記処理制限時
    間データと前記時間データから、発生したタスクの優先
    順位データを算出し、前記タスク優先度記憶手段に供給
    するタスク優先度算出手段と、 タスクを実行し、このタスクの実行が終了したとき、タ
    スク実行終了信号を出力するタスク実行手段と、 前記優先度変更発生信号が供給されると、最も優先度の
    高いタスクを選択し、このタスクの識別番号を前記タス
    ク実行手段に供給し、前記タスク実行終了信号が供給さ
    れると、対応するタスクの優先順位データを前記タスク
    優先度記憶手段から消去する実行タスク選択手段とを備
    えたことを特徴とするタスク切替装置。
  2. 【請求項2】 実行タスク選択手段は、タスクの優先度
    が同じ場合には、先に発生したタスクを選択することを
    特徴とする請求項1記載のタスク切替装置。
  3. 【請求項3】 実行タスク選択手段は、タスクの優先度
    が同じ場合には、後で発生したタスクを選択することを
    特徴とする請求項1記載のタスク切替装置。
  4. 【請求項4】 時間を計測しこの時間データを出力する
    時間計測手段と、 1つ以上のタスクのそれぞれの処理制限時間データを記
    憶する処理制限時間記憶手段と、 実行中および実行待ちの各タスクの優先度を示す優先順
    位データを記憶し、前記優先度に変更が生じた場合には
    優先度変更発生信号を出力するタスク優先度記憶手段
    と、 タスクの発生を検出し発生したタスクの識別番号を出力
    するタスク発生検出手段と、 前記タスクの識別番号が供給されると、対応するタスク
    の優先順位データが前記タスク優先度記憶手段に記憶さ
    れていない場合にはこのタスクの識別番号を出力し、記
    憶されている場合には誤動作検出信号を出力するタスク
    起動判別手段と、 前記タスク起動判別手段からタスクの識別番号が供給さ
    れると、前記処理制限時間データと前記時間データか
    ら、発生したタスクの優先順位データを算出し、前記タ
    スク優先度記憶手段に供給するタスク優先度算出手段
    と、 タスクを実行し、このタスクの実行が終了したとき、タ
    スク実行終了信号を出力するタスク実行手段と、 前記優先度変更発生信号が供給されると、最も優先度の
    高いタスクを選択し、このタスクの識別番号を前記タス
    ク実行手段に供給し、前記タスク実行終了信号が供給さ
    れると、対応するタスクの優先順位データを前記タスク
    優先度記憶手段から消去する実行タスク選択手段とを備
    えたことを特徴とするタスク切替装置。
  5. 【請求項5】 実行タスク選択手段は、タスクの優先度
    が同じ場合には、先に発生したタスクを選択することを
    特徴とする請求項4記載のタスク切替装置。
  6. 【請求項6】 実行タスク選択手段は、タスクの優先度
    が同じ場合には、後で発生したタスクを選択することを
    特徴とする請求項4記載のタスク切替装置。
  7. 【請求項7】 時間を計測しこの時間データを出力する
    時間計測手段と、 1つ以上のタスクのそれぞれの処理制限時間データを記
    憶する処理制限時間記憶手段と、 前記各タスクの処理時間データをそれぞれ記憶する処理
    時間記憶手段と、 前記各タスクの処理終了時刻データを記憶する第1およ
    び第2の処理終了時刻記憶手段と、 前記各タスクの処理許容時刻データを記憶する第1の処
    理許容時刻記憶手段と、 前記各タスクの処理許容時刻データを記憶し、前記処理
    許容時刻データに変更が生じたとき許容時刻変更発生信
    号を出力する第2の処理許容時刻記憶手段と、 タスクの発生を検出し発生したタスクの識別番号を出力
    するタスク発生検出手段と、 前記タスクの識別番号が供給されると、前記処理制限時
    間データと前記時間データから、発生したタスクの処理
    許容時刻データを算出し前記第1の処理許容時刻記憶手
    段に格納する処理許容時刻算出手段と、 前記処理時間データと前記処理許容時刻データと前記第
    2の処理終了時刻記憶手段に格納されている処理終了時
    刻データとから、全てのタスクの処理終了時刻データを
    算出し前記第1の処理終了時刻記憶手段に格納する処理
    終了時刻算出手段と、 前記第1の処理終了時刻記憶手段に格納されている処理
    終了時刻データと前記第1の処理許容時刻記憶手段に格
    納されている処理許容時刻データとを比較し、その結果
    に応じてデータ転送信号を出力する処理可能性判別手段
    と、 前記データ転送信号が供給されると前記第1の処理終了
    時刻記憶手段に記憶されている処理終了時刻データを、
    前記第2の処理終了時刻記憶手段に格納する処理終了時
    刻格納手段と、 前記データ転送信号が供給されると前記第1の処理許容
    時刻記憶手段に記憶されている処理許容時刻データを、
    前記第2の処理許容時刻記憶手段に格納する処理許容時
    刻格納手段と、 タスクを実行し、このタスクの実行が終了したとき、タ
    スク実行終了信号を出力するタスク実行手段と、 前記許容時刻変更発生信号が供給されると、前記時間デ
    ータに最も処理許容時刻データが近いタスクを選択し、
    このタスクの識別番号を前記タスク実行手段に供給し、
    前記タスク実行手段からタスク実行終了信号が供給され
    ると、対応するタスクの処理終了時刻データと処理許容
    時刻データをそれぞれ前記第2の処理終了時刻記憶手段
    と前記第2の処理許容時刻記憶手段から消去する実行タ
    スク選択手段とを備えたことを特徴とするタスク切替装
    置。
  8. 【請求項8】 実行タスク選択手段は、タスクの処理許
    容時刻が同じ場合には、先に発生したタスクを選択する
    ことを特徴とする請求項7記載のタスク切替装置。
  9. 【請求項9】 実行タスク選択手段は、タスクの処理許
    容時刻が同じ場合には、後で発生したタスクを選択する
    ことを特徴とする請求項7記載のタスク切替装置。
  10. 【請求項10】 処理可能性判別手段は、新たにタスク
    が発生した場合にのみ、処理終了時刻データと処理許容
    時刻データの比較を行うことを特徴とする請求項7記載
    のタスク切替装置。
  11. 【請求項11】 処理許容時刻格納手段は、新たに発生
    したタスクの処理許容時刻データのみを第2の処理許容
    時刻記憶手段に供給することを特徴とする請求項10記
    載のタスク切替装置。
JP6273501A 1994-11-08 1994-11-08 タスク切替装置 Pending JPH08137703A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6273501A JPH08137703A (ja) 1994-11-08 1994-11-08 タスク切替装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6273501A JPH08137703A (ja) 1994-11-08 1994-11-08 タスク切替装置

Publications (1)

Publication Number Publication Date
JPH08137703A true JPH08137703A (ja) 1996-05-31

Family

ID=17528780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6273501A Pending JPH08137703A (ja) 1994-11-08 1994-11-08 タスク切替装置

Country Status (1)

Country Link
JP (1) JPH08137703A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316838C (zh) * 2001-12-11 2007-05-16 日本电气株式会社 便携式数据处理终端
JP2010015452A (ja) * 2008-07-04 2010-01-21 Denso Corp プログラム実行装置および実行制御プログラム
JP2014099183A (ja) * 2013-12-13 2014-05-29 Hitachi Ltd 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP2021157482A (ja) * 2020-03-26 2021-10-07 Kddi株式会社 スケジューリング方法、およびスケジューリング装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316838C (zh) * 2001-12-11 2007-05-16 日本电气株式会社 便携式数据处理终端
JP2010015452A (ja) * 2008-07-04 2010-01-21 Denso Corp プログラム実行装置および実行制御プログラム
JP2014099183A (ja) * 2013-12-13 2014-05-29 Hitachi Ltd 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP2021157482A (ja) * 2020-03-26 2021-10-07 Kddi株式会社 スケジューリング方法、およびスケジューリング装置

Similar Documents

Publication Publication Date Title
GB2348306A (en) Batch processing of tasks in data processing systems
JPS63238630A (ja) マイクロプロセツサの割込み制御装置
JP4241462B2 (ja) 制御ユニットおよびマイクロコンピュータ
CN114610472B (zh) 异构计算中多进程管理方法及计算设备
US5809335A (en) Data transfer apparatus capable of handling DMA block transfer interruptions
US20050066093A1 (en) Real-time processor system and control method
JPH08137703A (ja) タスク切替装置
JPH09223102A (ja) ダイレクトメモリアクセスコントローラ
JPH064314A (ja) タスク間同期通信装置
JPS6368934A (ja) タスクスケジユ−ル方式
JP2001229038A (ja) マルチオペレーテング計算機システム
JPH08314740A (ja) プロセスディスパッチ方法
JPH08249269A (ja) Dma転送制御方法及びdma転送制御装置
JP2000066910A (ja) タスクスケジューリング方法及び記録媒体
JPS59146387A (ja) マルチプロセスにおけるスタツク制御方式
JP3910422B2 (ja) 管理装置及び管理方法
JPH03296104A (ja) プログラマブルコントローラシステム
CN117891761A (zh) 一种直接内存访问系统及数据搬运方法
JPH0424828A (ja) マルチタスク管理方式
JPH05241852A (ja) 情報処理システムの割り込み発生装置
JPS59103155A (ja) デ−タ処理モジユ−ル
JPH03156659A (ja) ダイレクトメモリアクセスコントローラ
JPS6217842A (ja) プログラム管理方法
JP2001117862A (ja) マイクロコンピュータ
JPH08212085A (ja) 情報処理装置および通信処理装置