(57)【特許請求の範囲】
【請求項１】
複数の実行タスクを順次インターバル信号により切替えて実行するマルチタスクコンピュータシステムのインターバルタイマ回路であって、システムクロックを分周してインターバルタイムカウントクロックを発生するインターバルタイムカウントクロック発生手段と、前記インターバルタイムカウントクロックを分周して前記インターバル信号を発生するインターバル信号発生手段と、タスクの処理時にその負荷の軽重に応じて前記インターバルタイムカウントクロック発生手段の分周値を制御する分周値制御手段とを含むことを特徴とするインターバルタイマ回路。
【請求項２】
前記インターバルタイムカウントクロック発生手段は、前記システムクロックをｎ分周するｎ分周手段と、前記ｎ分周手段の出力を２分周する２分周手段と、通常時は前記ｎ分周手段の出力を、より負荷の重いタスクの処理時は前記２分周手段の出力を夫々選択する選択手段とを有することを特徴とする請求項１記載のインターバルタイマ回路。
【請求項３】
前記分周値制御手段は前記負荷の軽重に応じて前記選択手段を選択制御することを特徴とする請求項２記載のインターバルタイマ回路。
【請求項４】
さらに、前記負荷の重いタスクの処理時に前記２分周手段の出力をクロックとして周辺回路に供給する手段を含むことを特徴とする請求項１，２あるいは３記載のインターバルタイマ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はインターバルタイマ回路に関し、特に中央処理装置にて複数のプロセスを走行させるマルチタスクシステムのインターバルタイマ回路に関する。
【０００２】
【従来の技術】
コンピュータシステムにおいて、中央処理装置（コンピュータ；ＣＰＵ）に複数のプログラムを走行させる（マルチタスク処理を行う）場合、マルチタスクを行うＣＰＵ及び周辺回路においては、順次実行タスクを切替えている。しかし、負荷が重く処理時間のかかるタスクの場合、１回のタスク処理の割り当て時間では処理しきれずに、ＣＰＵの処理が他のタスクに移ってしまう。そして次にＣＰＵの処理が回ってくるまで待機し、処理が回ってきてからタスクの処理が再開されるため、負荷の重いタスクは処理完了までに時間がかかる問題がある。すなわち、ＣＰＵのタスク切換え時間を決めているインターバルタイマを固定的に持ってタスクを切換えているからである。
【０００３】
また、タスクの優先度によってタスクの切替えを制御する方法を用いた場合、ＣＰＵの負荷が高くなってしまう問題がある。すなわち、インターバルタイムがＣＰＵの負荷状態とは無関係に設定されているので、固定のインターバルタイムの時間が経過するとタスクの切替えが発生する。この切替え処理のためにＣＰＵを使用するので、負荷の重いタスクからの切替え時、あるいは負荷の重いタスクヘの切替え時にＣＰＵの負荷が大となってしまう。
【０００４】
特開平１−２８２６４３号公報には、インターバルタイムの値をＣＰＵの負荷状態に連動させて、動的に変更する方法が提案されている。
【０００５】
【発明が解決しようとする課題】
特開平１−２８２６４３号公報記載の提案の場合、回路構成が複雑になり、回路規模が大きくなる問題がある。すなわち、ＣＰＵの負荷状態を常に監視する回路や、インターバルタイムの値を負荷に合わせて可変させるための回路が必要となる。
【０００６】
本発明の目的は、最少の回路追加によるＣＰＵの負荷の平準化を図ったインターバルタイマ回路を提供することである。
【０００７】
【課題を解決するための手段】
本発明によれば、複数の実行タスクを順次インターバル信号により切替えて実行するマルチタスクコンピュータシステムのインターバルタイマ回路であって、システムクロックを分周してインターバルタイムカウントクロックを発生するインターバルタイムカウントクロック発生手段と、前記インターバルタイムカウントクロックを分周して前記インターバル信号を発生するインターバル信号発生手段と、タスクの処理時にその負荷の軽重に応じて前記インターバルタイムカウントクロック発生手段の分周値を制御する分周値制御手段とを含むことを特徴とするインターバルタイマ回路が得られる。
【０００８】
そして、前記インターバルタイムカウントクロック発生手段は、前記システムクロックをｎ分周するｎ分周手段と、前記ｎ分周手段の出力を２分周する２分周手段と、通常時は前記ｎ分周手段の出力を、より負荷の重いタスクの処理時は前記２分周手段の出力を夫々選択する選択手段とを有することを特徴とし、また、前記分周値制御手段は前記負荷の軽重に応じて前記選択手段を選択制御することを特徴とする。
【０００９】
本発明の作用は次の通りである。例えば、外部イベントからの割込み要求を負荷の重いタスクとして特定しておき、負荷の重いタスクから割込み要求があった場合は、インターバルタイマのカウントクロックの周期を自動的に拡大し、インターバルタイマのカウント設定値を変更することなく、タスク処理を切換えるインターバルタイムの時間間隔をのばして、タスクヘの割当時間をのばす。
【００１０】
負荷の重い処理として特定されている外部イベントからの割込み信号を基に、直接インターバルタイマのカウントクロックの周期を長くして、カウンタ設定値を変えることなくインターバルタイムの時間間隔を拡大している。このため、割込み信号を受けてカウント設定値を変更するといった付随的な処理にて、ＣＰＵの負荷を重くすることがない。
【００１１】
さらに、負荷の重いタスクの割り当て時間中はインターバルタイマに供給されるカウントクロックの周波数が低くなるので、そのカウントクロックを使用しているインターバルタイマの消費電力が低減される。
【００１２】
【発明の実施の形態】
以下に、本発明の実施例について図面を参照して説明する。図１は本発明によるインターバルタイマ回路の実施例の構成を示すブロック図である。図１において、本発明によるインターバルタイマ回路は、システムクロックａを発生するシステムクロック発生部１、コンピュータシステム全体を制御するＣＰＵ２、ＣＰＵ２の周辺回路３、システムクロックａを分周してインターバルタイマカウントクロックｄを発生する分周比切替え機能付き分周回路４を有する。
【００１３】
また、インターバルタイマカウントクロックｄを計数しインターバル信号ｃを発生するインターバルタイマ５、外部イベント７からの負荷の重いタスクを特定する外部イベント割込信号ｂを基に割込み信号を発生する外部イベント割込み信号発生部６を有して構成される。
【００１４】
本発明の実施例の動作を説明する。図１において、システムクロック発生部１は回路全体の基本クロックａを各部に供給している。ＣＰＵ（中央処理装置）２は本実施例のシステムを制御する。周辺回路３はメモリーや、バス制御部、ＤＭＡコントローラ、Ｉ／Ｏポート等のシステム資源や周辺回路である。
【００１５】
分周比切替え機能付き分周回路４はシステムクロック発生部１から供給されるシステムクロックａを分周してインターバルタイマ５に供給するカウントクロックｄを生成する。さらに、この実施例のシステムにとって処理負荷の重いタスクを特定し、カウント値一定のままでその特定されたタスクの処理に見合う分のインターバルタイムを確保するためのクロックの周期を定めているので、分周比切替え機能付き分周回路４は分周比の切換にてクロック周期をのばし、負荷の重いタスク向けのインターバルタイムを確保するカウントクロックｄも生成できる。
【００１６】
また、外部イベント割込み信号発生部６からの外部イベント割込信号ｂを受けて、自動的に分周比を切替えてカウントクロックの周期を変更する（カウントクロックｄを切替える）機能を有する。
【００１７】
インターバルタイマ５は分周比切替え機能付き分周回路４からのカウントクロックｄにより、各タスクの処理を切換える時間間隔であるインターバルタイムを計測し、ＣＰＵ２ヘインターバル信号ｃを出力する。外部イベント割込み信号発生部６は外部イベント７からの割込み要求により外部イベントのスタートとエンドとをＣＰＵ２と分周比切替え機能付き分周回路４に知らせる。外部イベント７は本実施例のシステムの外部より処理の負荷が重いタスクの発生を外部イベント割込み信号発生部６を介して本実施例のシステムに伝える。
【００１８】
図３のタイムチャートにおいて、ＣＰＵ２に複数のタスクの処理を実行させる際、インターバルタイマ５にて割り当て時間毎に出力されるインターバル信号により実行タスクを切換えて周辺回路３のシステム資源の割り当て、配分を制御して処理を実行させる。
【００１９】
負荷の重いタスクである外部イベント７によるタスク処理が発生した場合、外部イベント割込み信号発生部６は外部イベントの発生と終了をＣＰＵ２と分周比切替え機能付き分周回路４に通知する。分周比切替え機能付き分周回路４は外部イベント割込み信号発生部６より重いタスクの発生を知らされると、通常の分周比より大きい分周比にてシステムクロックａを分周してカウントクロックｄの周期を大きくする。
【００２０】
その結果、インターバルタイマ５に設定されているインターバルタイム計測のためのカウント設定値は固定のままでインターバルタイムが拡張される（図３参照）。負荷の重いタスク、すなわち外部イベント７の対応タスクは拡張されたインターバルタイム内にて処理が行われる。
【００２１】
外部イベント７が終了すると、外部イベント割込み信号発生部６によりタスク終了がＣＰＵ２と分周比切替え機能付き分周回路４に通知され、分周比切替え機能付き分周回路４はカウントクロックｄの周期を元にもどし、インターバルタイムは通常の長さとなる（図３参照）。
【００２２】
図４は図１に示す分周比切替え機能付き分周回路４とインターバルタイマ５の部分の詳細ブロック図である。図４において、システムクロックａは本実施例の基本クロックであり、システムクロック発生部１から供給される。ｎ分周回路９は、ＦＦ（フリップフロップ）回路等で構成されるクロックの分周回路であり、システムクロックａをｎ分周してｎ分周クロックを生成する。２分周回路１０は、ｎ分周回路９と同様にＦＦ回路等にて構成されるクロックの分周回路であり、ｎ分周クロックをさらに２分周して２ｎ分周クロックを生成する。セレクタ１１はｎ分周回路９からのｎ分周クロックと、２分周回路１０からの２ｎ分周クロックとのどちらか一方を、外部イベント割込信号ｂによって切替えて２分周回路１２へ出力する。
【００２３】
外部イベント割込信号ｂはセレクタ１１の入力クロックを選択するための信号である。２分周回路１２は２分周回路１０と同様に入力されたクロックを２分周して出力するので、出力は４ｎ分周クロックあるいは２ｎ分周クロックとなる。
【００２４】
インターバルタイマ５は２分周回路１２から入力されるクロックｄをカウントクロックとして、予め設定されているカウント値によりインターバルタイムを計測してインターバルタイム毎にインターバル信号ｃを出力する。
【００２５】
図１，４及び図３のタイムチャートを参照して詳細に説明する。図４の外部イベント割込信号ｂ、すなわちセレクタ１１のＳ（セレクト）入力は通常のタスク時はインアクティブであり、その際セレクタ１１は入力Ｂのクロック、すなわちｎ分周回路９の出力であるシステムクロックａがｎ分周されたクロック（ｎ分周クロック）を選択し、２分周回路１２に出力する。その結果、インターバルタイマ５には、システムクロックａが２ｎ分周されたクロック（２ｎ分周クロック）がカウントクロックｄとして供給される。図３のタイムチャートにおいては、Ｔ０〜Ｔ１，Ｔ１〜Ｔ２の区間に相当する。
【００２６】
そして、処理の負荷が重いタスクとしての外部イベント７が発生すると、外部イベント割込信号ｂがアクティブ状態になり、セレクタ１１は入力Ａのクロック入力、すなわち２分周回路１０の出力であるシステムクロックａが２ｎ分周されたクロック（２ｎ分周クロック）を選択して２分周回路１２に出力する。
【００２７】
２分周回路１２では、さらに２分周を行ってインターバルタイマ５にシステムクロックａが４ｎ分周されたクロック（４ｎ分周クロック）をカウントクロックｄとして供給し、インターバルタイマ５は設定されているカウント値をカウントする毎にインターバル信号ｃを出力する。
【００２８】
図３のタイムチャートではＴ２〜Ｔ３の区間に相当する。図３のＴ２〜Ｔ３の区間ではカウントクロックの周期が２倍になるので、インターバルタイマ５では、カウント設定値は予め設定されたままだが、計測されるインターバルタイム、すなわちインターバル信号ｃの間隔が２倍になる。その間に外部イベント７の処理をＣＰＵ２が行う。
【００２９】
外部イベント７の処理の割り当て時間として見合う時間、すなわち図３のＴ２〜Ｔ３の区間分の時間（本実施例においては通常の２倍のインターバルタイム）は予め定めておき、カウント設定値固定のままで、通常の２倍のインターバルタイムを計測できるように、通常のカウントクロックの２倍のクロック周期をもつカウントクロックｄを、外部イベント割込信号ｂがアクティブの間、インターバルタイマ５に供給する。
【００３０】
外部イベント７が終了、すなわち負荷の重いタスクの処理が終わると、外部イベント割込信号ｂはインアクティブとなり、インターバルタイマ５に供給されるカウントクロックｄは２ｎ分周クロックとなってインターバル信号ｃの間隔も通常に戻る（図３のＴ３〜Ｔ４の区間）。
【００３１】
図２において、本発明の他の実施例について説明する。図２に示す実施例は基本的には図１に示す実施例と同じであるが、分周比切替え機能付き分周回路４からの出力クロックが、インターバルタイマ５と周辺回路８とに入力されている。周辺回路８はインターバルタイマ５のカウントクロックｄ（通常時と外部イベント７発生時との両方のクロック）でも動作に支障のない部分の回路である。
【００３２】
そのため、外部イベント７、すなわち、負荷の重いタスクが処理されている間は、インターバルタイマ５と同様に、通常時より低い周波数のクロックにて動作するので、通常状態よりも消費電力が低くなる利点がある。
【００３３】
【発明の効果】
以上説明したように本発明は、マルチタスク処理において負荷の重いタスクの処理時に、自動的にタスク処理の割り当て時間が拡張されることを、ＣＰＵに負荷をかけず、かつＣＰＵの負荷を監視して動的にタスク処理の割り当て時間を拡張、縮小させるといった複雑な回路なしに実現できる効果がある。
【００３４】
すなわち、予め負荷の重いタスクを特定し、それに見合う処理時間（インターバルタイム）を定めておき、負荷の重いタスク発生時に、簡単なセレクタ回路にてインターバルカウンタ用カウントクロック生成の分周回路の分周比を切替えることにより、カウントクロックの周期を切替えるだけで簡単にインターバルタイムを切替えることができるからである。
【００３５】
また、負荷の重いタスクの処理時に消費電力を低減できる効果がある。すなわち、負荷の重いタスク実行中はインターバルタイマのカウントクロックの周波数が低くなるからである。
【００３６】
さらに、インターバルタイマと同様に、負荷の重いタスク実行時にクロック周波数を低くできる回路への供給クロックも連動して周波数を低くすれば、いっそう消費電力をおさえることができる。
【図面の簡単な説明】
【図１】本発明の実施例のブロック図である。
【図２】本発明の他の実施例のブロック図である。
【図３】本発明の実施例のタイムチャートである。
【図４】分周比切替え機能付き分周回路の詳細ブロック図である。
【符号の説明】
１  システムクロック発生部
２  ＣＰＵ
３  周辺回路
４  分周比切替え機能付き分周回路
５  インターバルタイマ
６  外部イベント割込み信号発生部
７  外部イベント
【図１】
0003746898.tif 000002
【図２】
0003746898.tif 000003
【図３】
0003746898.tif 000004
【図４】
0003746898.tif 000005