米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 タスクの実行制御装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平7−160650
公開日 平成7年(1995)6月23日
出願番号 特願平5−302630
出願日 平成5年(1993)12月2日
代理人 【弁理士】
【氏名又は名称】小鍜治 明 (外2名)
発明者 遠山 泰明
要約 目的
マルチCPU構成のプロセッサを用いて各々のCPUで実行されるタスクの実行負荷を推定し、その推定結果に基づいてCPUの実行比率を変更することによりプロセッサの処理効率向上を図る。

構成
プロセッサ外部から入力された要因は周期計測手段a4に入力され、各要因の到来周期が計測される。実行時間計測手段a6には周期計測手段a4を通じて要因の到来時間が、各々のCPUからはその要因に対応したタスクの処理終了時間が入力され、タスクの実行時間が計測される。負荷推定手段a5には周期計測手段a4と実行時間計測手段a6の出力が供給され、要因の到来周期と実行時間の比と予め設定されたしきい値とを比較してタスクの実行負荷を推定する。実行比率変更手段a2は負荷推定手段a5の出力に基づき各CPUの実行比率を変更することにより負荷の重いタスクを実行するCPUは高速に実行される。
特許請求の範囲
【請求項1】 少なくとも2つ以上のCPUを有し各々のCPUが時分割にスワップ動作を行うマイクロプロセッサを用いたタスクの実行制御装置であって、要因が到来するごとに前記要因に対応したタスク資源をキューバッファに登録するタスク登録手段と、前記要因の到来周期を計測する周期計測手段と、前記要因に対応したタスクの平均実行時間を計測する実行時間計測手段と、前記周期計測手段の出力と前記実行時間計測手段の出力の比の値に基づき前記タスクの実行負荷を推定する負荷推定手段と、前記負荷推定手段の出力に基づき各CPUの実行比率を変更する実行比率変更手段と、前記キューバッファから前記タスク資源を取り出し実行待ちCPUに対して実行権を与えるCPU起動手段とを備えたタスクの実行制御装置。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明はマルチCPU構成のマイクロプロセッサを用いたタスクの実行制御装置に関するものである。
【0002】
【従来の技術】従来より、リアルタイムOSやリアルタイムUNIX等のオペレーティングシステムにおいて種々のタスク制御方法が考案されている。しかし、これらのオペレーティングシステムは、比較的大規模のタスクの制御を前提として用いられるものであり、機器組み込み型のマイクロプロセッサ上でタスクの実行制御をさせるのは困難であった。機器組み込み型のソフトウェアで要求される応答速度は数百マイクロ秒以下であるのに対して、これらのオペレーティングシステムの応答速度はミリ秒オーダーであり、個々の処理を時間遅れなく実行することが困難であった。
【0003】特に、シングルCPU構成のマイクロプロセッサ上で複数のタスクを時分割で実行する時に各タスクの処理要求が互いに非同期に入力された場合は、処理時間にオーバーラップする部分(オーバーヘッド)が生じる。したがって、(オーバーヘッド+各タスクの処理時間)が実際のタスクの処理時間となり、処理速度の遅いCPUで、処理時間の異なる複数のタスクを実行するときには、厳密なタイミングシミュレーションが必要となってくる。また、通常ソフトウェアの開発過程において各タスクの処理時間は変化するため、ソフトウェアの変更があるごとにシミュレーションを行わなければならなかった。
【0004】これに対して特開平5−143368号公報にオーバーヘッドを生じること無くタスクの制御が可能な情報処理方式が開示されている。
【0005】図5に上記従来の情報処理方式の構成を示す。q1はメインプログラムとしての主処理部、c1は基準信号を計数する計算プウログラムとしてのカウンタ、c2はこのカウンタc1によって計算された、基準信号の1周期の時間情報に2のn乗を乗じた値、即ち、時間情報に基づいて副処理部q2,q3,q4,q5,・・・,qnを選択する判断プログラムとしての判断部、c3は例えば1周期が1ミリ秒の基準信号を発生する基準信号発生部である。
【0006】この構成によれば、カウンタc1によって各副処理部qnに各々基準信号1周期の時間に2のn乗を乗じた値で重み付けし、これによって対応する副処理部を実行することで、副処理部相互間での伝達関数に影響を与えないようにでき、これにより、例えばサーボ系に適用した場合に時間的ロスをなくして精度の高いサーボを行うことができるようにすることができるとしている。
【0007】図6は図5の情報処理方式で実行される各処理と基準信号との時間関係を表わしたタイミングチャートである。このタイミングチャートが意味するところは、基準信号の1周期をT0とすると、副処理q2はT0×2の周期で処理の実行が開始され、副処理q3はT0×4の周期で処理の実行が開始され、副処理q4はT0×8の周期で処理の実行が開始され、副処理q5はT0×16の周期で処理の実行が開始されることになる。また、主処理q1は各副処理が処理されていない時間に実行されることになる。
【0008】
【発明が解決しようとする課題】しかしながら上記従来の構成では、各副処理部qnの実行を開始するタイミングは、基準信号の発生タイミングに依存し、しかもこの基準信号1周期の時間に2のn乗を乗じた値で重み付けされた時刻から処理を実行するのであるから、時間遅れが大きくなる。特にサーボ系では、処理の要因であるキャプスタンFG信号やシリンダFG信号は、外部から互いに非同期に入力されるものであり、この入力されたタイミングで即座に速度制御処理を実行する必要がある。ところが、上記構成では、この要因の入力されたタイミングで処理を即座に実行することは不可能となる。
【0009】本発明は上記従来の問題点を解決するもので、互いに非同期に入力される外部要因に対する処理を少ない時間遅れで実行し、なおかつ実行負荷の重い処理に対しては高速に実行することが可能なタスクの実行制御装置を提供することを目的とする。
【0010】
【課題を解決するための手段】この目的を達成するために本発明のタスクの実行制御装置は、要因が到来するごとに前記要因に対応したタスク資源をキューバッファに登録するタスク登録手段と、前記要因の到来周期を計測する周期計測手段と、前記要因に対応したタスクの平均実行時間を計測する実行時間計測手段と、前記周期計測手段の出力と前記実行時間計測手段の出力の比の値に基づき前記タスクの実行負荷を推定する負荷推定手段と、前記負荷推定手段の出力に基づき各CPUの実行比率を変更する実行比率変更手段と、前記キューバッファから前記タスク資源を取り出し実行待ちCPUに対して実行権を与えるCPU起動手段とを備えている。
【0011】
【作用】この構成によれば、周期計測手段によって計測された各要因の到来周期と実行時間計測手段によって計測された各タスクの平均実行時間を入力とし、負荷推定手段はその到来周期と平均実行時間の比と予め設定されたしきい値とを比較してタスクの実行負荷を推定する。実行比率変更手段は負荷推定手段の出力に基づき各CPUの実行比率を変更することにより負荷の重いタスクは高速に実行される。
【0012】
【実施例】以下、本発明の一実施例について、図面を参照しながら説明する。
【0013】図1は本発明の一実施例におけるタスクの実行制御装置の構成を示すブロック図である。図1において、a1は外部から入力される要因に対応したタスク情報をキューバッファに登録するタスク登録手段、a2は負荷推定結果に基づきタスクを実行する各CPUの実行比率を変更する実行比率変更手段、a3はタスクをキューバッファから取り出し実行待ちCPUにタスク資源を与えてそのCPUを起動するCPU起動手段、a4は要因の到来周期を計測する周期計測手段、a6は各CPUで実行されるタスクの実行時間を計測する実行時間計測手段、a5は計測周期と実行時間の比に基づき各タスクの負荷を推定する負荷推定手段、b1,b2,・・・,bnは各タスクを実行するCPUであり、タスク登録手段a1〜実行時間計測手段a6も1つのCPUで構成されているものとする。さらに、これらのCPUはデータバスにより接続されており、各CPUから互いにアクセス可能な共有するメモリを有するものとする。また、演算処理は算術論理演算ユニット(ALU)により演算可能であるとする。
【0014】以上のように構成された本実施例のタスクの実行制御装置について、以下その動作について図2のタイミングチャート、図3の(a),(b),(c)のフローチャート、図4のタイミングチャートをもとに図1の動作説明を行う。
【0015】まず、プロセッサの外部から処理要因が入力される。タスク登録手段a1では、この要因に対応したタスク資源(タスクの識別番号やタスクの実行アドレス等)をキューバッファに登録する。このとき同時に周期計測手段a4にも要因が入力される。周期計測手段a4では、2回の同一要因入力によりその要因の到来周期を計測する。
【0016】一方、実行時間計測手段a6には周期計測手段a4を通して要因が入力される。また、タスクを実行するそれぞれのCPUからもタスク終了情報が入力される。実行時間計測手段a6では、このタスク終了時間から要因入力時間を減算することにより実行時間を算出する。
【0017】つぎに、負荷推定手段a5には周期計測手段a4の出力と実行時間計測手段a6の出力が供給される。負荷推定手段a5では、計測された周期と実行時間の比を算出し、その結果をもとに実行比率可変手段a2に対して実行比率可変指令を送出するかどうかを判断する。
【0018】実行比率の設定が終わったところでCPU起動手段a3はCPUの稼働状態をチェックし、実行待ちCPUに対して前述のキューバッファからタスク資源を取り出し、実行を開始させる。
【0019】以上のようにして、要因の入力からその要因に対応したタスクの実行までの実行制御動作が行われる。
【0020】図3の(a),(b),(c)は図1の周期計測手段a4,実行時間計測手段a6,負荷推定手段a5での処理をソフトウェアにより実現したときのフローチャートである。また、図4は、3つの要因の到来周期とその要因に対応するタスクの処理状態を表わしたタイミングチャートであり、要因1,2,3は各要因の到来周期を表し、TSK1,2,3はCPU1,2,3で実行される要因1,2,3に対応したタスクの実行時間を表している。
【0021】以下、図4のタイミングチャートとともに図3の各処理の動作説明を行う。時刻t1でブランチ20において1回目の要因入力かどうかがチェックされる。今の場合一回目であるのでブロック22に分岐し要因入力時刻t1がメモリ1に格納される。そして処理を終了する。
【0022】時刻t3において再び2回目の要因が入力される。このときには、ブランチ20からブロック21に分岐し、前回の要因入力時刻が格納されているメモリ1から今回の要因入力時間が減算され、再びメモリ1にその時間が格納される。すなわち、メモリ1には要因の到来周期が格納される。
【0023】一方、実行時間計測手段a6では、タスクの実行時間が計測される。ブロック23では周期計測手段a4から要因入力時刻t1を受けとる。ブロック24ではその要因に対応したTSK3を実行するCPU3からタスクの実行が終了すると、その終了時刻t2を受けとる。ブロック25では終了時刻t2から要因入力時間t1が減算されて、その時間はメモリ2に格納される。すなわち、メモリ2にはタスクの実行時間が格納される。
【0024】次に、負荷推定手段a5では、前述の周期計測処理a4,実行時間計測処理a6で得られた時間をもとに負荷を推定する。
【0025】ブロック26では、メモリ2の内容をメモリ1の内容で除し、メモリ1に結果を格納する。この演算の意味するところは、すなわち、要因に対応するタスクの実行時間と要因の到来周期の比を求めていることになる。タスクの実行負荷は要因の到来周期が長い程軽く、実行時間が長い程重いことになる。従って、タスクの実行負荷はこの比の値を用いて簡単に表わすことができる。
【0026】比の値が求められると、次にブランチ27でメモリ1の内容としきい値とが大小比較される。ここで用いるしきい値は、予め設定されているものとする。もしもメモリ1がしきい値より大なりと判断されたときには、ブロック28においてCPU実行比率可変手段a2に対してこのタスクを実行するCPU3の実行比率が高くなるようにCPU実行比率変更要求を発行する。この場合、要因3の周期は要因1,要因2より短く、しかもTSK3の実行時間は他より長いためメモリ1がしきい値より大なりと判断され、CPU3の実行比率が高くなるようにCPU実行比率変更要求が発行される。図1の実行比率変更手段a2はこれを受け取り、実行比率を変更する。
【0027】以上のように、負荷推定手段a5によりタスクの実行負荷が評価され、その評価結果をもとにタスクを実行するCPUの実行比率が変更される。
【0028】図2は各CPUの実行比率の変更タイミングを表わしたタイミングチャートである。
【0029】各CPUは時分割でスワップ動作を行い、時刻t3以前ではCPU3とCPU2とCPU1の実行比率は(1対1対1)で平等に実行時間が配分されているが、時刻t3以降では実行比率は(2対1対1)となり、CPU3の実行比率のみが2倍となり、CPU3で実行される処理のみが高速に実行される。
【0030】以上のように、時刻t1〜時刻t3においてTSK3の実行負荷が負荷推定手段a5により推定され、時刻t3で各CPUの実行比率は図2のごとく変更される。したがって、図4の時刻t3以降ではTSK3の処理時間は時刻t3以前よりも短くなる。すなわち、実行負荷の重いタスクを実行するCPU3が高速に実行される。
【0031】なお、ここでは各要因の実行されるCPUは固定として説明したが、CPU起動手段a3は、待ち状態のCPUにタスク資源を与えてタスクを実行させるため、実際の処理では任意のCPUにおいて実行させることが可能である。また、実行時間計測手段a6で計測した実行開始時間は、簡素化のため要因の到来時間としたが、厳密にはCPU起動手段a3によりCPUが起動されてタスクが実行を開始する時間である。したがって、周期計測手段a4がCPU起動手段a3から時間情報を受けとる構成とすれば、さらに精度のよい計測が可能である。
【0032】以上のように本実施例によれば、各要因に対応したタスクの実行負荷を推定し、その推定結果に基づいて負荷の重いタスクを実行するCPUの実行比率を自動的に高く設定できるために処理時間の長い処理を高速に実行することができる。
【0033】したがって、サーボ系の処理に適用した場合、特に要因の到来周期が短く、処理時間も長いキャプスタンFGの速度制御処理等において処理相互間のオーバーヘッドや実行待ちによる“むだ時間”を少なくすることができ、サーボシステム全体の性能を向上させることができる。
【0034】
【発明の効果】以上のように本発明は、要因が到来するごとに前記要因に対応したタスク資源をキューバッファに登録するタスク登録手段と、前記要因の到来周期を計測する周期計測手段と、前記要因に対応したタスクの平均実行時間を計測する実行時間計測手段と、前記周期計測手段の出力と前記実行時間計測手段の出力の比の値に基づき前記タスクの実行負荷を推定する負荷推定手段と、前記負荷推定手段の出力に基づき各CPUの実行比率を変更する実行比率変更手段と、前記キューバッファから前記タスク資源を取り出し実行待ちCPUに対して実行権を与えるCPU起動手段とを備えたタスクの実行制御装置により、複数の処理要因が同時に入力された時にもリアルタイムで処理を実行することが可能であり、さらに処理の実行負荷の重いタスクに対しては、特別にそのCPU実行比率が高くなるように設定されるため、サーボ系等の応答時間の非常に短いシステムに適用した場合に大きな効果を奏する。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013