(57)【要約】【課題】割り込み処理におけるメモリの使用量を減らすとともに割り込み処理に要する時間を短縮することのできるリアルタイム処理装置を提供する。【解決手段】リアルタイム処理装置は、割り込み信号の種類に基づく割り込み処理を行うＣＰＵ１０とＲＯＭ１１と割り込み信号を検知する割り込み検知部１３とを備える。ＣＰＵ１０は、イベントの種類ごとに用意されるとともにイベントが発生するごとに加算される割込制御カウンタを備える。ＲＯＭ１１には、各割込制御カウンタの値をＣＰＵ１０にチェックさせる機能を有するスケジューラ、割り込みの最も低いレベルに登録された割り込みを起動させて各イベントの優先順位に応じた割り込み処理をＣＰＵ１０に実行させるためのソフトウェア、及び割り込み処理の実行中にイベントが発生したときに、このイベントに対して所定の処理を行ってから実行中の割り込み処理に復帰させるためのソフトウェアが格納される。【選択図】図１
2007114945.tif 000002
【特許請求の範囲】
【請求項１】
装置全体の動作を制御する中央処理装置を備えるリアルタイム処理装置において、
多重割り込み可能に構成されるとともに、割り込みの最も低いレベルに登録された割り込みを起動させるソフトウェアを備え、
非リアルタイム処理の実行中に第１のイベントが発生したことを前記中央処理装置が検知すると、当該中央処理装置が、前記第１のイベントに対して所定の処理を行った後に、前記ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動させ、前記第１のイベントに対する割り込み処理を実行するとともに、
前記第１のイベントに対する割り込み処理の実行中に第２のイベントが発生したことを前記中央処理装置が検知すると、当該中央処理装置が、前記第２のイベントに対して所定の処理を行った後に、前記第１のイベントに対する割り込み処理に復帰することを特徴とするリアルタイム処理装置。
【請求項２】
イベントの種類ごとに用意されるとともに前記中央処理装置が任意のイベントに対して所定の処理を行った後に加算される割込制御カウンタと、割り込み処理の開始時または終了時に前記割込制御カウンタの値を前記中央処理装置にチェックさせる機能を有するスケジューラ、とを備え、
前記中央処理装置が、前記スケジューラに基づき、前記割込制御カウンタの値をチェックすることにより、前記割込制御カウンタの値がゼロであることを確認したときに非リアルタイム処理を再開し、
一方、前記中央処理装置が、前記スケジューラに基づき、前記割込制御カウンタの値をチェックすることにより、前記割込制御カウンタの値がゼロでないことを確認したときに、当該割込制御カウンタに応じたイベントに対する割り込み処理を実行することを特徴とする請求項１に記載のリアルタイム処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複写機やプリンタ等の画像形成装置等の電子機器を制御するために用いられるリアルタイム処理装置に関する。
【背景技術】
【０００２】
従来より、複写機やプリンタ等の画像形成装置が知られており、この画像形成装置には、必要な処理をリアルタイムで実行するためのリアルタイムＯＳ（Operating System）が実装されたリアルタイム処理装置が搭載されている。そして、このリアルタイム処理装置では、ＯＳによる処理の実行中に、外部割込要因が発生して外部装置からの割り込み信号が中央処理装置（以下、ＣＰＵ［Central Processing Unit］と呼ぶ）に入力されると、または、内部タイマにより周期的に発生する割り込み信号がＣＰＵに入力されると、各割り込み処理よりタスクを起動するようにしていた。
【０００３】
また、各割り込み処理よりタスクが起動されるとき、ＯＳがそれまで行っていた処理と新たに起動される処理との優先順位（重要度）をＣＰＵが比較し、優先順位の高い処理を先に実行することにより、リアルタイムに処理を実行するようにしていた。
【０００４】
このようにリアルタイム処理装置が構成されるとき、図４に示すように、横軸に処理時間が、縦軸に各処理の優先順位が表示されたグラフにおいて、ＯＳによる処理の実行中に時刻ＴAで第１イベントが発生すると、ＯＳによる処理が中断され、第１イベントに対する処理としてタスクＡが実行される。
【０００５】
ここで、図５に示すように、タスクごとのタスクコントロールブロック（ＴＣＢ［Task Control Block］）として、例えば、プログラムカウンタ（ＰＣ［Program Counter］）と、ステータスレジスタ（ＳＲ［Status Register］）と、内部計算用のＲ０〜Ｒ７までの各レジスタと、がメモリ（即ち、ＣＰＵのワーク領域となるＲＡＭ）に記憶されている。そして、ＯＳによる処理が中断されると、タスクＡの終了後にＯＳによる処理を再開するために、ＯＳ用に設けられたタスクコントロールブロック内のレジスタのセーブが行われる。
【０００６】
また、図４に示すように、タスクＡの処理を実行中に時刻ＴBで第２イベントが発生すると、それまで行っていたタスクＡの処理と新たに起動されるタスクＢの処理との優先順位をＣＰＵが比較することにより、タスクＡの処理を中断してタスクＢの処理が実行される。このとき、タスクＢの処理の終了後にタスクＡの処理を再開するために、タスクＡ用に設けられたタスクコントロールブロック内のレジスタのセーブが行われる。
【０００７】
更に、図４に示すように、タスクＢの処理の実行中に時刻ＴCで第３イベントが発生すると、それまで行っていたタスクＢの処理と新たに起動されるタスクＣの処理との優先順位をＣＰＵが比較することにより、タスクＢの処理が中断されてタスクＣの処理が実行される。このとき、タスクＣの処理の終了後にタスクＢの処理を再開するために、タスクＢ用に設けられたタスクコントロールブロック内のレジスタのセーブが行われる。
【０００８】
このように、タスクＡからタスクＢへの切り換え時やタスクＢからタスクＣへの切り換え時において、優先順位の高いタスク処理の終了後に優先順位の低いタスク処理を再開するために、タスクごとにレジスタの退避が行われる（図６参照）。尚、タスクコントロールブロック内の（Ａ）は、タスクＡの処理状態がこのタスクコントロールブロックに保持されることを表す。
【０００９】
そして、タスクＣの処理が時刻ＴDで終了すると、ＣＰＵがタスクＢ用に設けられたタスクコントロールブロック内のレジスタのリストアを行うことにより、タスクＣの処理を優先するために中断されていたタスクＢの処理が再開される。タスクＢの処理が時刻ＴEで終了すると、ＣＰＵがタスクＡ用に設けられたタスクコントロールブロック内のレジスタのリストアを行うことにより、タスクＢの処理を優先するために中断されていたタスクＡの処理が再開される。タスクＡの処理が時刻ＴFで終了すると、ＣＰＵがＯＳ用に設けられたタスクコントロールブロック内のレジスタのリストアを行うことにより、タスクＡの処理を優先するために中断されていたＯＳによる処理が再開される。
【００１０】
また、このような処理を行うリアルタイム処理装置の他に、定周期処理が複数存在するリアルタイム処理装置として、制御上要求される最も高速の処理の周期を基本周期とし、基本周期の先頭で起動される時限タイマの割り込みにより基本周期の中をいくつかのタイムスロットに分割することにより、各定周期処理に割り当て可能な処理時間を明確にするようにしたものが提案されている（特許文献１参照）。
【００１１】
或いは、リアルタイムＯＳにおけるイベント発生時点からの遅延時間をタスク側へイベント通知として発行し、タスク側では遅延時間のデッドラインレベルの判定を行い、判定レベルに応じた処理プログラムを選択して実行することにより、デッドライン異常によるシステム障害を事前に回避可能なイベント通知タスク制御処理方式が提案されている（特許文献２参照）。
【特許文献１】特開２００１−２０２２５８号公報
【特許文献２】特開２００４−７０５８２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
このように、上記リアルタイム処理装置において、リアルタイムＯＳを使用することによりリアルタイムに処理を行うことができるが、以下のような問題が生じる。１点目として、実行中の処理からより優先順位の高い処理に制御を切り換えるために、現在実行中の処理に関してタスクごとに全レジスタの値をメモリのスタック領域に保存する必要があり、メモリの使用量が多くなる。また、２点目として、リアルタイムＯＳでは、各タスクを切り換えるごとに、メモリのスタック領域より各レジスタの値を取り出す、または、メモリのスタック領域に各レジスタの値を保存する、といった操作を行う必要があるため、この操作に要する時間が長くなり、処理が遅延する。
【００１３】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、割り込み処理におけるメモリの使用量を減らすとともに割り込み処理に要する時間を短縮することのできるリアルタイム処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のリアルタイム処理装置は、装置全体の動作を制御する中央処理装置を備えるリアルタイム処理装置において、多重割り込み可能に構成されるとともに、割り込みの最も低いレベルに登録された割り込みを起動させるソフトウェアを備え、非リアルタイム処理の実行中に第１のイベントが発生したことを前記中央処理装置が検知すると、当該中央処理装置が、前記第１のイベントに対して所定の処理を行った後に、前記ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動させ、前記第１のイベントに対する割り込み処理を実行するとともに、前記第１のイベントに対する割り込み処理の実行中に第２のイベントが発生したことを前記中央処理装置が検知すると、当該中央処理装置が、前記第２のイベントに対して所定の処理を行った後に、前記第１のイベントに対する割り込み処理に復帰することを特徴とする。
【００１５】
尚、イベントとは、外部装置より入力される割り込み信号や内部タイマにより周期的に発生する割り込み信号等を表す。また、所定の処理とは、割り込み要因のクリア等、各イベントに対して最低限の処理をリアルタイムに保障するために必要な処理を表す。
【００１６】
このように構成されたリアルタイム処理装置において、イベントの種類ごとに用意されるとともに前記中央処理装置が任意のイベントに対して所定の処理を行った後に加算される割込制御カウンタと、割り込み処理の開始時または終了時に前記割込制御カウンタの値を前記中央処理装置にチェックさせる機能を有するスケジューラ、とを備え、前記中央処理装置が、前記スケジューラに基づき、前記割込制御カウンタの値をチェックすることにより、前記割込制御カウンタの値がゼロであることを確認したときに非リアルタイム処理を再開し、一方、前記中央処理装置が、前記スケジューラに基づき、前記割込制御カウンタの値をチェックすることにより、前記割込制御カウンタの値がゼロでないことを確認したときに、当該割込制御カウンタに応じたイベントに対する割り込み処理を実行する。
【００１７】
このとき、中央処理装置は、スケジューラに基づき、優先順位の高いイベント用の割込制御カウンタから順に割込制御カウンタの値をチェックする。というのも、優先順位の高いイベント順に割り込み処理が行われるからである。そして、このような構成とすることにより、割り込み処理の実行中にイベントが発生しても、現在実行中の割り込み処理を継続し、割り込み処理の終了時に割込制御カウンタの値をチェックすることにより、イベントの有無を判断することができる。
【発明の効果】
【００１８】
本発明によれば、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動させることで、どのようなレベルのイベントが発生してもこれらを中央処理装置が検知することができ、割り込みの検知ミスを確実に防止することができる。また、任意のイベントに対する割り込み処理の実行中に他のイベントが発生したことを中央処理装置が検知すると、当該中央処理装置が、他のイベントに対して所定の処理を行った後に、任意のイベントに対する割り込み処理に復帰するようにしているため、タスクごとにタスクコントロールブロック用のメモリを確保する必要がなくなり、割り込み処理におけるメモリの使用量を減らすとともに割り込み処理に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、本発明のリアルタイム処理装置は、複写機やプリンタ等の画像形成装置等を含む電子機器に搭載され、これらの機器を制御するために用いられる。
【００２０】
《発明の実施形態》
図１に示すように、本実施形態のリアルタイム処理装置は、この装置全体の動作を制御するとともに外部装置より入力される割り込み信号や内部タイマにより周期的に発生する割り込み信号に基づく割り込み処理を行う中央処理装置（以下、ＣＰＵ［Central Processing Unit］１０と呼ぶ）と、各種制御プログラムや各種データ等が格納されるＲＯＭ（Read Only Memory）１１と、ＣＰＵ１０が各種制御を実行する際にワーク領域として使用されるＲＡＭ（Random Access Memory）１２と、外部装置より入力される割り込み信号を検知するとともに内部タイマにより周期的に発生する割り込み信号を検知する割り込み検知部１３と、を備えている。
【００２１】
このような構成のリアルタイム処理装置において、図１に示すＣＰＵ１０は、外部装置より入力される割り込み信号や内部タイマにより周期的に発生する割り込み信号等のイベントの種類ごとに用意されるとともにイベントが発生するごとに１だけ加算される割込制御カウンタ（不図示）を備えている。そして、割込制御カウンタの値は、ＲＡＭ１２上のメモリ領域を使用することにより加算または減算される。また、ＣＰＵ１０には、当該ＣＰＵ１０による処理状態を保持するための各種レジスタ（不図示）が格納されている。
【００２２】
また、図１に示すＲＯＭ１１には、各イベントに対する割り込み処理を実行する必要があるか否かを判断するためにＣＰＵ１０に各割込制御カウンタの値をチェックさせる機能を有するスケジューラ、割り込みの最も低いレベルに登録された割り込みを起動させて各イベントの優先順位に応じた割り込み処理をＣＰＵ１０に実行させるためのソフトウェア、及び割り込み処理の実行中に他のイベントが発生して割り込み信号が入力されたときに、他のイベントに対して必要最低限の処理を行ってから実行中の割り込み処理に復帰させるためのソフトウェアが格納されている。
【００２３】
そして、ＣＰＵ１０による非リアルタイム処理の実行中にイベントが発生し、割り込み検知部１３が外部装置より入力される割り込み信号または内部タイマにより周期的に発生する割り込み信号を検知したことをＣＰＵ１０が確認すると、このＣＰＵ１０が割り込み処理を受け付け、現在実行中の非リアルタイム処理を一旦中断して割り込み処理に移行する。
【００２４】
このとき、非リアルタイム処理の実行アドレス（プログラムカウンタ）をＲＡＭ１２に退避させることにより、レジスタのセーブが行われる。尚、割り込み処理の終了後、中断されていた非リアルタイム処理を再開する際には、ＲＡＭ１２に退避された実行アドレス（プログラムカウンタ）に処理を戻すことにより、レジスタのリストアが行われる。
【００２５】
続いて、ＣＰＵ１０は、この割り込みに対して必要最低限の処理（例えば、割り込み要因のクリア等）を行い、このイベントに対する割込制御カウンタの値を１だけ加算する。その後、ＣＰＵ１０は、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動し、このイベントに対する割り込み処理を実行する。そして、この割り込み処理が終了すると、ＣＰＵ１０は、割込制御カウンタの値を１だけ減算する。
【００２６】
また、割り込み処理の実行中にイベントが発生し、割り込み検知部１３が外部装置より入力される割り込み信号または内部タイマにより周期的に発生する割り込み信号を検知したことをＣＰＵ１０が確認すると、現在実行中の割り込み処理の実行アドレス（プログラムカウンタ）をＲＡＭ１２に退避させる。続いて、ＣＰＵ１０がこの割り込みに対して必要最低限の処理を行った後、イベントの種類に応じた割込制御カウンタの値を１だけ加算する。その後、ＲＡＭ１２に退避された実行アドレス（プログラムカウンタ）に処理を戻すことにより、中断されていた割り込み処理が再開される。
【００２７】
そして、再開された割り込み処理が終了すると、ＣＰＵ１０が、スケジューラに基づき優先順位の高いイベント用の割込制御カウンタから順に割込制御カウンタの値をチェックしてイベントの有無を判断する。この判断結果により、値が０でない割込制御カウンタが存在する場合には、ＣＰＵ１０において、イベントの種類に応じてソフトウェアを用いた割り込み処理が実行される。
【００２８】
このように、割り込み処理の実行中にイベントが発生すると、ＣＰＵ１０がこの割り込みに対して必要最低限の処理を行い、割込制御カウンタの値を１だけ加算した後、割り込み処理を継続して実行する。そして、割り込み処理が終了すると、ＣＰＵ１０が優先順位の高いイベント用の割込制御カウンタから順に割込制御カウンタの値をチェックすることにより、割り込み処理を実行する必要があるか否かを判断する。よって、割込制御カウンタの種類ごとに、また、割込制御カウンタの値に応じた回数だけ割り込み処理を実行することができる。
【００２９】
また、多重割り込みを許可するとともに、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動して割り込み処理を実行することにより、どのようなレベルのイベントが発生しても、割り込み信号を検知することができ、割り込みの検知ミスを確実に防止することができる。
【００３０】
このように構成されたリアルタイム処理装置の動作について、図２に示すタイムチャート及び図３に示すフローチャートを参照しながら説明する。
【００３１】
まず、リアルタイム処理装置では、割り込み検知部１３が外部装置より入力される割り込み信号または内部タイマにより周期的に発生する割り込み信号を検知しない限り、リアルタイム処理を行う必要がないために、ＣＰＵ１０によって非リアルタイム処理が実行されている（ステップＳ１１）。尚、この非リアルタイム処理とは、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）（不図示）に対するデータの読み出し等、データの処理に制限時間が設けられておらず、必ずしもリアルタイムに実行する必要のない処理が該当する。
【００３２】
また、次に、ＣＰＵ１０において、割り込みがあるか否かの判断が行われる（ステップＳ１２）。このとき、時刻Ｔ1において第１イベントが発生し、ＣＰＵ１０が、割り込み検知部１３が外部装置より入力される割り込み信号または内部タイマにより周期的に発生する割り込み信号を検知したことを確認すると（図２に示すハード認識）（ステップＳ１２でＹｅｓ）、割り込み処理を受け付け、現在実行している非リアルタイム処理を一旦中断して第１イベントに対する割り込み処理に移行する（ステップＳ１３）。そして、ＣＰＵ１０は、この割り込みに対して必要最低限の処理（例えば、割り込み要因のクリア等）を行い（ステップＳ１４）、第１イベント用に設けられた割込制御カウンタの値を１だけ加算する（ステップＳ１５）。
【００３３】
その後、ＣＰＵ１０がソフトウェアに制御を移すことにより、ソフトウェアが割り込みを認識する（図２に示すソフト認識）。よって、このソフトウェアによる割り込みの最も低いレベルに登録された割り込みが起動され（ステップＳ１６）、第１イベントに対する割り込み処理Ａが実行される（ステップＳ１７）。これにより、第１イベントに対する割り込み処理Ａの実行中にどのようなレベルのイベントが発生しても、この割り込み信号を検知することができる。
【００３４】
そして、ＣＰＵ１０において、割り込み処理Ａの実行中に割り込みがあるか否かの判断が行われる（ステップＳ１８）。このとき、ＣＰＵ１０が、割り込み処理Ａの実行中に割り込みがあることを確認すると（ステップＳ１８でＹｅｓ）、即ち、図２に示すように、時刻Ｔ2において第２イベントが、時刻Ｔ3において第３イベントが、それぞれ発生し、ＣＰＵ１０が、割り込み検知部１３が外部装置より入力される割り込み信号または内部タイマにより周期的に発生する割り込み信号を検知したことを確認すると、割り込み処理を受け付け、現在実行中の割り込み処理Ａを一旦中断して第２イベント及び第３イベントに対する割り込み処理に移行する（ステップＳ１９）。
【００３５】
続いて、ＣＰＵ１０が、これらの割り込みに対して必要最低限の処理（例えば、割り込み要因のクリア等）を行い（ステップＳ２０）、第２イベント用に設けられた割込制御カウンタと第３イベント用に設けられた割込制御カウンタのそれぞれの値を１だけ加算した後（ステップＳ２１）、ソフトウェアに制御を移す。そして、ステップＳ１８に戻り、このＣＰＵ１０において、割り込み処理Ａの実行中に割り込みがあるか否かの判断が行われる。よって、ステップＳ２１まで処理が進んだところで、第１イベント用の割込制御カウンタの値と、第２イベント用の割込制御カウンタの値と、第３イベント用の割込制御カウンタの値のそれぞれが、１となる。
【００３６】
一方、ステップＳ１８において、ＣＰＵ１０が、割り込み処理Ａの実行中に割り込みがないことを確認すると（ステップＳ１８でＮｏ）、次に、ＣＰＵ１０において、割り込み処理Ａが終了したか否かの判断が行われる（ステップＳ１９）。このとき、ＣＰＵ１０が、割り込み処理Ａが終了していないことを確認すると（ステップＳ２２でＮｏ）、ステップＳ１８に戻り、このＣＰＵ１０によって割り込み処理Ａの実行中に割り込みがあるか否かの判断が行われる。一方、このとき、ＣＰＵ１０が、時刻Ｔ4において割り込み処理Ａが終了したことを確認すると（ステップＳ２２でＹｅｓ）、第１イベント用の割込制御カウンタの値を１だけ減算する（ステップＳ２３）。よって、第１イベント用の割込制御カウンタの値が０となる。
【００３７】
その後、ＣＰＵ１０において、起動されたスケジューラに基づき割込制御カウンタの値のチェックが行われる（ステップＳ２４）。この時点で、第１イベント用の割込制御カウンタの値が０、第２イベント用の割込制御カウンタの値が１、第３イベント用の割込制御カウンタの値が１、となっている。よって、ＣＰＵ１０が、未処理のイベントが存在することを確認すると（ステップＳ２５でＹｅｓ）、ステップＳ１６に戻り、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みが起動される。尚、ＣＰＵ１０は、第３イベント用の割込制御カウンタの方が第２イベント用の割込制御カウンタよりも優先されること、即ち、第３イベントに対して実行される割り込み処理Ｃの方が第２イベントに対して実行される割り込み処理Ｂよりも処理の優先順位が高いことを予め把握している。
【００３８】
よって、ステップＳ１６において、ＣＰＵ１０は、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動して、第３イベントに対する割り込み処理Ｃを実行する。そして、ＣＰＵ１０が、時刻Ｔ5において割り込み処理Ｃが終了したことを確認すると（ステップＳ２２でＹｅｓ）、第３イベント用の割込制御カウンタの値を１だけ減算する（ステップＳ２３）。よって、第３イベント用の割込制御カウンタの値が０となる。
【００３９】
その後、ＣＰＵ１０において、起動されたスケジューラに基づき割込制御カウンタの値のチェックが行われる（ステップＳ２４）。この時点で、第１イベント用の割込制御カウンタの値が０、第２イベント用の割込制御カウンタの値が１、第３イベント用の割込制御カウンタの値が０、となっている。よって、ＣＰＵ１０が、未処理のイベントが存在することを確認すると（ステップＳ２５でＹｅｓ）、ステップＳ１６に戻り、ＣＰＵ１０において、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みが起動されるとともに、未処理の第２イベントに対する割り込み処理Ｂが実行される。そして、ＣＰＵ１０が、時刻Ｔ6おいて割り込み処理Ｂが終了したことを確認すると（ステップＳ２２でＹｅｓ）、第２イベント用の割込制御カウンタの値を１だけ減算する（ステップＳ２３）。よって、第２イベント用の割込制御カウンタの値が０となる。
【００４０】
更に、ＣＰＵ１０において、起動されたスケジューラに基づき割込制御カウンタの値のチェックが行われる（ステップＳ２４）。この時点で、第１イベント用の割込制御カウンタの値が０、第２イベント用の割込制御カウンタの値が０、第３イベント用の割込制御カウンタの値が０、となっている。このため、ＣＰＵ１０が、未処理のイベントが存在しないことを確認すると（ステップＳ２５でＮｏ）、ＣＰＵ１０において、第１イベントから第３イベントに対する割り込み処理を実行するために中断されていた非リアルタイム処理が再開される（ステップＳ２６）。
【００４１】
本実施形態によれば、ソフトウェアを用いて割り込みの最も低いレベルに登録された割り込みを起動させることで、どのようなレベルのイベントが発生してもこれらをＣＰＵ１０が検知することができ、割り込みの検知ミスを確実に防止することができる。また、任意のイベントに対する割り込み処理の実行中に他のイベントが発生したことをＣＰＵ１０が検知すると、当該ＣＰＵ１０が、他のイベントに対して必要最低限の処理（例えば、割り込み要因のクリア等）を行った後に、任意のイベントに対する割り込み処理に復帰するようにしているため、タスクごとにタスクコントロールブロック用のメモリ領域を確保する必要がなくなり、割り込み処理におけるメモリの使用量を減らすとともに割り込み処理に要する時間を短縮することができる。
【産業上の利用可能性】
【００４２】
以上説明したように、本発明は、複写機やプリンタ等の画像形成装置等の電子機器を制御するために用いられるリアルタイム処理装置について有用である。
【図面の簡単な説明】
【００４３】
【図１】実施形態に係るリアルタイム処理装置の構成を示すブロック図である。
【図２】実施形態に係るリアルタイム処理装置における割り込み処理の流れを示すタイムチャートである。
【図３】実施形態に係るリアルタイム処理装置におけるＣＰＵの動作を示すフローチャートである。
【図４】従来に係るリアルタイム処理装置における割り込み処理の流れを示すタイムチャートである。
【図５】タスクコントロールブロック（ＴＣＢ）の構造を表す図である。
【図６】タスクごとのレジスタの退避の様子を表すイメージ図である。
【符号の説明】
【００４４】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  割り込み検知部
【図１】
2007114945.tif 000003
【図２】
2007114945.tif 000004
【図３】
2007114945.tif 000005
【図４】
2007114945.tif 000006
【図５】
2007114945.tif 000007
【図６】
2007114945.tif 000008