(57)【要約】【課題】リアルタイム処理を可及的に実現し、生産性の向上を図ることが可能な画像形成装置の提供である。【解決手段】タスクの実行開始から予め設定された時間の経過時に発生する割込である周期割込みを実行する周期割込処理部１５０と、タスクと周期割込処理とにより所定の処理を実行中に、周期割込処理以外の割込処理が発生した場合に割込処理が開始された時点から現在時刻までの経過時間を計測するタイマー１１０と、割込処理が実行中である場合に、経過時間が所定時間を超えているか否かを判断し、超えていた場合には割込処理を中断する制御部１２０とを備え、周期割込処理部１５０は割込処理が中断された場合に周期割込処理を実行することを特徴とする画像形成装置である。【選択図】        図１
2009271715.tif 000002
【特許請求の範囲】
【請求項１】
タスクの実行開始から予め設定された時間が経過したときに発生する割込みである周期割込みを実行する周期割込処理手段と、
前記タスクと前記周期割込処理手段とにより所定の処理を実行中に、前記周期割込処理以外の割込処理が発生した場合に、前記割込処理が開始された時点から現在時刻までの経過時間を計測する計時手段と、
前記割込処理が実行中である場合に、前記経過時間が所定時間を超えているか否かを判断し、超えていた場合には前記割込処理を中断する制御手段と、
を備え、
前記周期割込処理手段は、前記割込処理が中断された場合に、前記周期割込処理を実行することを特徴とする画像形成装置。
【請求項２】
前記割込処理を中断する機能である割込処理中断機能を有効と無効との間で切替える切替操作を受付ける切替手段と、
前記割込処理中断機能が有効か無効かを記録する処理状態記録手段と、
をさらに備え、
前記制御手段は、さらに、前記割込処理が実行中である場合に、前記処理状態記録手段を参照し、前記割込処理中断機能が有効である場合に前記割込処理を中断すること、
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記処理状態記録手段は、さらに、前記割込処理が中断した回数である割込処理中断回数を記録し、
前記制御手段は、さらに、前記割込処理が実行中で、前記割込処理中断機能が有効である場合に、前記処理状態記録手段を参照し、前記割込処理中断回数が所定回数を超えていたか否かを判断し、超えていない場合には前記割込処理を続行すること、
を特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記切替手段は、さらに、前記割込処理の実行により前記周期割込処理の開始が遅延した場合に前記画像形成装置の作動を停止する機器停止設定を有効と無効との間で切替える切替操作を受付け、
前記処理状態記録手段は、さらに、前記機器停止設定が有効か無効かを記録し、
前記制御手段は、さらに、前記割込処理が実行中で、前記割込処理中断機能が有効であって、前記割込処理中断回数が所定回数を超えていた場合に、前記処理状態記録手段を参照し、前記機器停止設定が有効であるか否かを判断し、前記機器停止設定が有効である場合に、前記画像形成装置の作動を停止すること、
を特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記制御手段は、さらに、前記タスクのうち、他の割込処理による割込みが禁止される割込禁止処理が実行中である場合に、前記経過時間が前記所定時間を超えているか否かを判断し、超えていた場合には前記割込禁止処理を中断すること、
を特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【請求項６】
前記制御手段は、前記割込処理が実行中である場合に、前記経過時間が所定時間を超えているか否かを判断し、超えていた場合には前記割込処理を中断し、所定時間経過後に前記割込処理を中断時点から再開すること、
を特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成処理に係る複数の機能を有する、割込処理の制御が可能な画像形成装置に関するものである。
【背景技術】
【０００２】
従来、プリンタ、コピー、ファクシミリ、スキャナ等の各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という）において、センサー入力や、通信終了時に外部から入力される外部割込み処理 及び ＣＰＵ内のカウント処理により割込み処理が発生する、内部割込み処理が一般的に知られている。
【０００３】
昨今では、ＡＳＩＣ等の回路を検証対象とするテストベンチシステムにおいて、データの読出し及び出力されたデータと期待値データとの比較のためのアプリケーションインターフェイスを備えたものが提供されている（例えば、特許文献１）。また、メインメモリに割込回数格納領域と、ＣＰＵ利用時間格納領域とを備え、割込み回数とＣＰＵ利用時間とをそれぞれ所定の閾値と比較することにより、割込み処理を制御するコンピュータシステムが提供されている（例えば、特許文献２）。さらに、割込み禁止時間入力手段を備え、複写操作の途中で外部からの印刷要求を禁止することが可能な複写機が開示されている（例えば、特許文献３）。
【０００４】
上述した技術によれば、限られたソフトウェア資源を複数のタスク処理に効率良く割当て、生産性を向上させることが可能であるといえる。
【０００５】
【特許文献１】特開２００５−２７６１５３号公報
【特許文献２】特開２００５−３４７８９４号公報
【特許文献３】特開２００３−１３４２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、割込みは発生する要因により様々な種別に分類される。所定時間の経過によって発生するものに「周期割込」がある。この周期割込みは、所定のタスクと共に実行される場合等に、リアルタイムで処理を実現し、タスク自体の価値を維持するため、周期毎に実行されることが望ましい。
【０００７】
しかしながら、上述した技術は主にＣＰＵ利用時間と割込み回数とを各々所定の閾値と比較することにより割込み処理を制御するものである。上述した技術によっては、定期的に周期割込みを発生させることは困難であるといえる。従って、周期割込の処理を遅延させ、時間の経過によってタスク自体の価値が著しく低下するとともに利用者の作業効率を低下させ、リアルタイム性を損なう虞れがある。また、シリアル通信の様に、所定時間内に通信データをレジスタから読み込む必要のある制御が搭載されていた場合、読み込みに失敗し、リトライや機器の故障を誤検知することにもつながる。
【０００８】
本発明は、上記に鑑みてなされたものであって、リアルタイム処理を可及的に実現することにより、生産性の向上を図ることが可能な画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、画像形成装置であって、タスクの実行開始から予め設定された時間が経過したときに発生する割込みである周期割込みを実行する周期割込処理手段と、前記タスクと前記周期割込処理手段とにより所定の処理を実行中に、前記周期割込処理以外の割込処理が発生した場合に、前記割込処理が開始された時点から現在時刻までの経過時間を計測する計時手段と、前記割込処理が実行中である場合に、前記経過時間が所定時間を超えているか否かを判断し、超えていた場合には前記割込処理を中断する制御手段とを備え、前記周期割込処理手段は、前記割込処理が中断された場合に、前記周期割込処理を実行することを特徴とする。
【００１０】
また、請求項２にかかる発明は、請求項１に記載の画像形成装置であって、前記割込処理を中断する機能である割込処理中断機能を有効と無効との間で切替える切替操作を受付ける切替手段と、前記割込処理中断機能が有効か無効かを記録する処理状態記録手段と、
をさらに備え、前記制御手段は、さらに、前記割込処理が実行中である場合に、前記処理状態記録手段を参照し、前記割込処理中断機能が有効である場合に前記割込処理を中断することを特徴とする。
【００１１】
また、請求項３にかかる発明は、請求項２に記載の画像形成装置であって、前記処理状態記録手段は、さらに、前記割込処理が中断した回数である割込処理中断回数を記録し、前記制御手段は、さらに、前記割込処理が実行中で、前記割込処理中断機能が有効である場合に、前記処理状態記録手段を参照し、前記割込処理中断回数が所定回数を超えていたか否かを判断し、超えていない場合には前記割込処理を続行することを特徴とする。
【００１２】
また、請求項４にかかる発明は、請求項３に記載の画像形成装置であって、前記切替手段は、さらに、前記割込処理の実行により前記周期割込処理の開始が遅延した場合に前記画像形成装置の作動を停止する機器停止設定を有効と無効との間で切替える切替操作を受付け、前記処理状態記録手段は、さらに、前記機器停止設定が有効か無効かを記録し、前記制御手段は、さらに、前記割込処理が実行中で、前記割込処理中断機能が有効であって、前記割込処理中断回数が所定回数を超えていた場合に、前記処理状態記録手段を参照し、前記機器停止設定が有効であるか否かを判断し、前記機器停止設定が有効である場合に、前記画像形成装置の作動を停止することを特徴とする。
【００１３】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の画像形成装置であって、前記制御手段は、さらに、前記タスクのうち、他の割込処理による割込みが禁止される割込禁止処理が実行中である場合に、前記経過時間が前記所定時間を超えているか否かを判断し、超えていた場合には前記割込禁止処理を中断することを特徴とする。
【００１４】
また、請求項６にかかる発明は、請求項１〜４のいずれか一つに記載の画像形成装置であって、前記制御手段は、前記割込処理が実行中である場合に、前記経過時間が所定時間を超えているか否かを判断し、超えていた場合には前記割込処理を中断し、所定時間経過後に前記割込処理を中断時点から再開すること、を特徴とする。
【発明の効果】
【００１５】
本発明によれば、割込処理が開始された時点から現在時刻までの経過時間を計測するとともに、周期割込の発生間隔を算出し、周期割込みの発生間隔が所定の閾値よりも大きい場合には割込み処理を中断することが可能である。これにより、リアルタイム処理を可及的に実現することにより、生産性の向上を図ることが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明にかかる画像形成装置の最良な実施の形態を詳細に説明する。なお、以下に示す実施の形態では、本発明の画像処理装置をプリンタ機能、コピー機能、スキャナ機能およびファクシミリ機能を一つの筐体に含めた複合機（以下、「複合機」という）に適用した場合を例示して説明するが、これに限定されるものではない。例えば、本発明の画像形成処理装置を、設定を行うための初期画面の表示が可能なもの、例えば、表示機能を備えた複写機、ファクシミリ装置、スキャナ装置、一般的なコンピュータ等の情報処理装置等に本発明を適用することができる。
【００１７】
（実施の形態１）
図１は、実施の形態１にかかる複合機の構成を示すブロック図である。複合機１００は、画像形成処理にかかる諸機能の他、割込制御機能を備えている。割込みとは、タスクの状態遷移を実現するために、プログラムの実行中に所定の事象が発生した場合にそれをＣＰＵに通知する仕組みであって、「外部割込み」と「内部割込み」の２種類がある。「外部割込み」とは、センサー入力や、通信終了時等にＣＰＵの外部から通知される割込みである。「内部割込み」とは、ＣＰＵ内のカウント処理や、ファイル出力等によりＣＰＵの内部で発生する割込みである。尚、以下においては、「外部割込処理」と「内部割込処理」とをあわせて「割込処理」と称する。このような割込処理が発生した場合には、ＣＰＵは実行中のプログラムを中断し、割込みの種類に応じた割込処理ルーチンを実行する。処理ルーチンが終了したら、もとのプログラムの続きを実行する。そのため、割込みを受けた時点で、実行中のプログラムの次の命令番地等の情報を一時的に退避しておくようになっている。
【００１８】
実施の形態１にかかる複合機１００は、割込処理のうち、予め設定された時間が経過したときに発生する割込みである周期割込処理が所定のタスクとともに所定の処理を実行しようとする場合において、周期割込以外の上述した外部割込処理や内部割込処理が実行された場合に、割込み処理が開始された時点から現在時刻までの経過時間を計測することにより、周期割込の発生間隔を算出し、算出した発生間隔が所定の閾値を超えた場合には、周期割込処理の開始が遅延した旨を判断し、実行中の割込処理を中断し、周期割込みと所定のタスクとを実行する。複合機１００は、操作パネル１０、プリンタ部２０、スキャナ部３０、タイマー１１０、制御部１２０、処理実行部１３０、通常割込処理部１４０、周期割込処理部１５０、処理状態記録部１６０、入力制御部１７０、メモリ１８０を主に備えている。
【００１９】
操作パネル（切替手段）１０は、表示ディスプレイやキーボード、マウス等の入出力装置である。操作パネル１０は、割込処理を中断する機能である割込処理中断機能を有効とするか無効とするかについて設定を切替える切替操作を利用者から受付ける。実施の形態１では、初期設定において予め利用者から有効か無効かいずれかが設定されているものとする。
【００２０】
スキャナ部３０は、紙に書かれた図形、絵、写真等を走査（スキャン）し、光の反射量や透過量を捉えることによって、情報をドットイメージとして読取る静止画像の入力装置である。プリンタ部２０は、入力された後にホストコンピュータで処理された文字や図形等を紙媒体に出力する出力装置である。
【００２１】
処理状態記録部（処理状態記録手段）１６０は、割込処理の実行及び中断を開始する際に必要となる情報を記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶媒体である。処理状態記録部１６０は、周期割込処理の発生間隔、周期割込処理開始の遅延状況、割込処理の発生要因である割込要因、割込要因の種別である割込種別、後述する割込禁止割込処理や通常割込処理を中断した回数である割込処理中断回数、割込処理を中断する機能である割込処理中断機能について有効無効の別等を記憶している。
【００２２】
入力制御部１７０は、操作パネル１０を介して利用者から入力を受付けた割込処理中断機能の有効無効の別等を処理状態記録部１６０に登録する。また、後述する制御部１２０によって、割込処理の開始に起因して周期割込処理の開始に遅延が発生したと判断した場合には、周期割込の発生間隔、周期割込処理の開始が遅延している旨、割込み要因、割込種別、割込処理に付与される割込処理識別情報、割込処理の進捗や変数情報等を処理状態記録部１６０に記録する。メモリ１８０は、ＣＰＵの作業領域として用いられる主記憶装置であって、操作パネル１０、スキャナ部３０等、ユーザーインターフェイスを介して入力を受付けた画像データを展開し格納する。
【００２３】
タイマー（計時手段）１１０は、タスクと周期割込処理とにより、所定の処理を実行中に割込処理が開始された場合に、割込処理の開始時点から現在時刻までの経過時間を計測するとともに、ＣＰＵを作動する周期的な信号であるクロックに対応する経過時間をタイマーカウント値としてカウントする。そして、複数のタイマーカウント値のうち経過時間が前後する２つのタイマーカウント値を取得して、後者であるタイマーカウント値と前者であるタイマーカウント値との差分を算出することによって、周期割込の発生間隔を算出する。算出された周期割込の発生間隔は、所定の閾値を超えているか否か、後述する制御部１２０によって判断され、制御部が周期割込の発生間隔が所定の閾値を超えていると判断した場合には、実行中の割込処理が中断される。
【００２４】
ここで、タイマー１１０による経過時間の計測方法及び周期割込の発生間隔算出方法について図４を例示して説明する。
【００２５】
図４は、割込処理開始からの経過時間とタイマーカウント値とを表す説明図である。図４における上方に表す時間軸（ｔ）には割込処理の実行開始からの経過時間を、時間軸に直交する縦軸には経過時間に対応するタイマーカウント値（周期割込処理の開始タイミング）を矢示する。タイマー１１０は、時間的に前後する２つのタイマーカウント値を取得し、両者の差分を算出することにより、周期割込処理の発生間隔を取得する。例えば、図４における左方から、前後する経過時間２５．７５ｍｓ、２７．７５ｍｓに対応する２つのタイマーカウント値１８０００と１６０００を取得し、両者の差分２０００ｍｓを周期割込処理の発生間隔として算出する。
【００２６】
図１に戻り、処理実行部１３０は、所定のタスクを実行する。処理実行部１３０によって実行されるタスクの一部には、割込処理のうち他の割込み処理による割り込みが禁止される割込処理である割込禁止割込処理が含まれる。割込禁止割込とは、ファイル出力や、プログラムがＯＳの機能を呼び出したときに発生する割込みである、スーパバイザコール（ＳＶＣ）割込み等をいう。ＳＶＣ割込みが発生すると、タスクは待ち状態に遷移する。
【００２７】
制御部（制御手段）１２０は、割込処理の実行及び中断を制御する。具体的には、制御部１２０は、タスクと周期割込処理とにより、所定の処理を実行中に、タスクの一部である割込禁止処理が開始された場合に、タイマー１１０を参照し、割込禁止割込処理の経過時間に対応し、時間的に前後する２つのタイマーカウント値から周期割込の発生間隔を取得し、発生間隔が所定の閾値を超えているか否かを判断する。発生間隔が閾値を超えていた場合には、周期割込処理の開始が遅延したと判断して、周期割込処理が遅延している旨の警告信号を送信し、割込処理を中断する。
【００２８】
また、制御部１２０は、タスクと周期割込処理とにより所定の処理を実行中に、周期割込以外の割込処理が開始された場合に、タイマー１１０を参照し、割込処理の経過時間と、割込処理の経過時間に対応し、時間的に前後する２つのタイマーカウント値とを取得する。そして、２つのタイマーカウント値から周期割込の発生間隔を取得し、発生間隔が割込処理の経過時間を超えているか否かを判断する。発生間隔が経過時間を超えていた場合には、周期割込処理の開始が遅延したと判断して、周期割込処理が遅延している旨の警告信号を送信する。そして、処理状態記録部１６０を参照し、割込処理中断機能が有効か無効かを判断し、有効である場合には、実行中の割込処理を中断する。尚、実施の形態１においては、通常割込処理開始後に、周期割込に遅延が生じているかを判断するに際し、周期割込の発生間隔と割込処理の経過時間とを対比する例を例示しているが、周期割込の発生間隔と所定の閾値とを対比することとしてもよい。
【００２９】
周期割込処理部（周期割込処理手段）１５０は、周期割込処理の実行を制御する。また、周期割込処理部１５０はタスクとともに所定の処理を実行する。周期割込処理が開始すると、ＣＰＵのシステム資源は周期割込み処理に割り当てられ、実行されていたタスクは実行可能状態に遷移する。
【００３０】
通常割込処理部１４０は、割込処理のうち周期割込以外の割込処理（以下、「通常割込処理」という。）を実行する。通常割込処理とは、例えば、入出力動作の終了を知らせる割込みをいう。通常割込処理が実行された場合には、入出力要求を出して待ち状態にあるタスクは実行可能状態に遷移する。
【００３１】
上述した構成を有する複合機１００によって、タスクと周期割込処理とによって所定の処理を実行する場合において、リアルタイム性を高め、タスク自体の価値を維持するためには、周期割込処理が発生間隔毎に実行されることが望ましい。しかしながら、タスクと周期割込処理とによって所定の処理を実行中に、割込禁止割込処理や通常割込処理が実行された場合には、周期割込の処理が発生間隔毎に開始されず遅延が発生する。ここで、割込禁止割込処理や通常割込処理の実行開始により、周期割込処理の開始が遅延する状態について図２、図３を用いて説明する。
【００３２】
図２は、割込禁止処理の実行開始による周期割込処理の遅延状態を示す説明図である。図２における上方に表す時間軸（ｔ）に沿って、処理実行部１３０により実行されるタスクＣ、周期割込処理手部１５０によって実行される周期割込処理Ａ（図２において「周割Ａ」という。）等が実行される。時間軸に対応する縦軸には、経過時間に対応する周期割込処理Ａの開始タイミングを矢示する。ここでは、周期割込処理Ａは、タスクＣとともに所定の処理を実行している。周期割込処理Ａは、タスクＣが処理された後に２ｍｓ毎の周期で実行される。しかし、スーパバイザコールの呼出し等によってＣＰＵが動作モードを遷移させ、通常のアプリケーションプログラムからアクセスできない保護されたメモリ領域にアクセスする場合には、タスクＣの一部は割込禁止処理として実行される。この場合には、周期割込処理Ａは定められた周期に処理が開始されず、図２に示すように処理遅延時間が生じる。
【００３３】
次に、通常割込処理の実行開始により周期割込処理の開始が遅延する場合について説明する。図３は、通常割込処理の実行開始による周期割込処理の遅延状態を示す説明図である。図３における上方に表す時間軸（ｔ）に沿って、処理実行部１３０により実行されるタスク処理Ｃ、周期割込処理部１５０により実行される周期割込処理Ａ（図３において「周割Ａ」という。）、通常割込処理部により実行される通常割込処理Ｂ（図３において「通割Ｂ」という。）等が実行される。時間軸に対応する縦軸には、経過時間に対応する周期割込処理Ａの開始タイミングを矢示する。ここでは、周期割込処理Ａは、タスクＣとともに所定の処理を実行している。周期割込処理Ａは、タスクＣが処理された後に２ｍｓ毎の周期で実行される。しかし、入出力割込み等に起因して通常割込処理Ｂが開始された場合には、ＣＰＵが動作モードを遷移させることにより、周期割込処理Ａは実行可能状態に遷移する。この場合には、周期割込処理Ａは定められた周期に処理が開始されず、図３に示すように処理遅延時間が生じる。
【００３４】
このように、通常割込処理や割込禁止処理の処理時間が長い場合には図２〜３に示したように周期割込処理の開始が遅延する。特に周期割込処理がタスクと共に所定の処理を実行する場合には、通常割込処理や割込禁止処理の処理時間が長引くと、時間の経過によりリアルタイム性を損ない、タスク自体の価値を著しく低下させ、利用者の作業効率を低下させる虞れがある。また、シリアル通信の様に、所定時間内に通信データをレジスタから読み込む必要のある制御が搭載されていた場合、読み込みに失敗し、リトライや機器の故障を誤検知することにもつながる。
【００３５】
そこで、実施の形態１にかかる複合機１００においては、タスクと周期割込処理とにより、所定の処理を実行中に、タスクの一部である割込禁止処理が開始された場合には、周期割込の発生間隔と所定の閾値とを比較し、発生間隔が所定の閾値を超えていた場合には、周期割込処理の開始が遅延したものと判断し、周期割込処理が遅延している旨の警告信号を送信するとともに実行中である割込禁止割込処理を中断し、周期割込処理を開始する。
【００３６】
また、実施の形態１にかかる複合機１００においては、タスクと周期割込処理とにより、所定の処理を実行中に、通常割込処理が開始された場合には、周期割込の発生間隔と、割込処理開始時点からの経過時間とを比較し、発生間隔が経過時間を超えていた場合には、周期割込処理の開始が遅延したものと判断し、周期割込処理が遅延している旨の警告信号を送信する。そして、割込処理中断機能が有効か無効かを判断し、有効である場合には、実行中の通常割込処理を中断し、周期割込処理を実行する。
【００３７】
尚、実施の形態１にかかる複合機１００における周期割込み処理について、上述した実行開始の基準は例示であって、適宜応用することが可能である。例えば、割込禁止処理が開始された場合に、割込処理中断機能が有効か無効かを判断し、有効である場合には実行中の通常割込処理を中断し、周期割込処理を実行することとしてもよい。また、通常割込処理が開始された場合に、周期割込の発生間隔と所定の閾値とを対比することとしてもよい。
【００３８】
次に、割込禁止処理の開始後において、割込禁止割込を中断し周期割込処理を開始する手順について説明する。
【００３９】
図５は、割込禁止割込処理開始後における周期割込処理実行の処理手順を示すフローチャートである。ここで、前提として周期割込処理はタスクと共に所定の処理を実行しており、タスクの一部には割込禁止処理が含まれるものとする。スーパバイザコールの発生等により割込禁止処理が開始されると（ステップＳ５００）、ＣＰＵが動作モードを遷移することにより周期割込処理は実行可能状態に遷移する。タイマー１１０は、タイマーカウント値を取得することにより、割込禁止処理開始時から現在時刻までの経過時間の計測を開始する（ステップＳ５０２）。タイマー１１０は、取得した複数のタイマーカウント値のうち時間的に前後する２つのタイマーカウント値を取得し（ステップＳ５０４）、両者の差分を算出することにより、周期割込処理の発生間隔を取得する（ステップＳ５０６）。
【００４０】
制御部１２０は、タイマー１１０を参照し、算出された周期割込の発生間隔が所定の閾値を超えているか否かを判断する（ステップＳ５０８）。周期割込の発生間隔が所定の閾値を超えていた場合には（ステップＳ５０８；Ｙｅｓ）、制御部１２０は周期割込処理の開始が遅延したとものと判断して、周期割込処理の開始が遅延している旨の警告信号を送信する（ステップＳ５１０）。一方、周期割込の発生間隔が所定の閾値を超えていない場合には（ステップＳ５０８；Ｎｏ）、処理実行部１３０は、タスクに含まれる割込禁止処理を続行する（ステップＳ５２０）。
【００４１】
入力制御部１７０は、周期割込の発生間隔と周期割込処理開始に遅延が発生した旨を処理状態記録部１６０に記録する（ステップＳ５１２）。そして、割込要因が割込禁止割込である旨と、割込要因の種別である割込種別として割込禁止処理に付与される割込処理識別情報とを記録する（ステップＳ５１４）。ここで、割込処理識別情報としては、スーパバイザコールの番号や引数等の他、処理を再開するために必要な情報を用いてよい。
【００４２】
制御部１２０は、処理実行部１３０により実行されている割込禁止処理を中断する（ステップＳ５１６）。周期割込処理部１５０は、周期割込処理を開始する（ステップＳ５１８）。周期割込処理が終了した場合には、処理実行部１３０はタスクを実行し（ステップＳ５２２）、ステップＳ５００に戻る。
【００４３】
次に、実施の形態１にかかる複合機１００において、通常割込処理の実行が開始された後に周期割込処理を開始する手順について説明する。
【００４４】
図６は、通常割込処理を中断し、周期割込処理実行後に再開する状態を示す説明図である。図６における上方に表す時間軸（ｔ）に沿って、処理実行部１３０により実行されるタスク処理Ｃと、周期割込処理部１５０により実行される周期割込処理Ａ（図６において「周割Ａ」という。）と、通常割込処理部１４０により実行される通常割込処理Ｂ（図６において「通割Ｂ」という。）等が実行される。時間軸に対応する縦軸には、経過時間に対応する周期割込処理Ａの開始タイミングを矢示する。ここでは、周期割込処理Ａは、タスクＣとともに所定の処理を実行し、周期間隔毎に処理を開始される。しかし、入出力動作の終了等に起因して通常割込処理Ｂが開始された場合には、ＣＰＵが動作モードを遷移させることにより、周期割込処理Ａは実行可能状態に遷移する。その結果、周期割込処理Ａは定められた周期に処理が開始されず処理開始が遅延する。かかる場合には時間の経過と共に、リアルタイム性を損ない、タスク自体の価値を著しく低下させるとともに、利用者の作業効率を低下させる虞れがある。
【００４５】
そこで、タスクと周期割込処理とにより、所定の処理を実行中に、通常割込処理が開始された場合には、周期割込の発生間隔と、割込処理開始時点からの経過時間とを比較し、発生間隔が経過時間を超えていた場合には、周期割込処理の開始が遅延したものと判断し、周期割込処理が遅延している旨の警告信号を送信する。そして、割込処理中断機能が有効か無効かを判断し、有効である場合には、実行中の通常割込処理を中断するとともに周期割込処理を実行する。周期割込Ａを実行した後には、通常割込処理Ｂを中断時点から再開する。
【００４６】
次に、通常割込処理開始後において、通常割込処理を中断し、周期割込処理を開始する手順について説明する。
【００４７】
図７は、通常割込処理開始後における周期割込処理実行の処理手順を示すフローチャートである。ここで、前提として、周期割込処理はタスクと共に所定の処理を実行しているものとする。また、操作パネル１０を介して割込処理中断機能を有効とする設定を予め利用者から受付けているものとする。入出力割込等に起因して通常割込処理が開始されると（ステップＳ７００）、ＣＰＵが動作モードを遷移することによりタスク及び周期割込処理は実行可能状態に遷移する。タイマー１１０は、タイマーカウント値を取得することにより、通常割込処理開始時から現在時刻までの経過時間の計測を開始する（ステップＳ７０２）。タイマー１１０は、取得した複数のタイマーカウント値のうち時間的に前後する２つのタイマーカウント値を取得し（ステップＳ７０４）、両者の差分を算出することにより、周期割込処理の発生間隔を取得する（ステップＳ７０６）。
【００４８】
制御部１２０は、タイマー１１０を参照し、通常割込処理開始時点からの経過時間が周期割込の発生間隔を超過しているか否かを判断する（ステップＳ７０８）。通常割込処理開始時点からの経過時間が発生間隔を超過していた場合には（ステップＳ７０８；Ｙｅｓ）、制御部１２０は周期割込処理の開始が遅延したとものと判断して、周期割込処理の開始が遅延している旨の警告信号を送信する（ステップＳ７１６）。そして、入力制御部１７０は、周期割込の発生間隔と周期割込処理開始に遅延が発生した旨を処理状態記録部１６０に記録する（ステップＳ７１８）。入力制御部１７０は、これらの他に割込要因が通常割込である旨を記録することとしてもよい。
【００４９】
一方、通常割込処理開始時点からの経過時間が発生間隔を超過していない場合には（ステップＳ７０８；Ｎｏ）、制御部１２０は、周期割込開始タイミングにより周期割込が発生したか否かを判断する（ステップＳ７１０）。周期割込が発生した場合には（ステップＳ７１０；Ｙｅｓ）、周期割込処理部１５０は、周期割込処理を実行し（ステップＳ７１２）、周期割込処理が終了すると、処理実行部１３０はタスクを実行し（ステップＳ７１４）、ステップＳ７００に戻る。周期割込が発生していない場合には（ステップＳ７１０；Ｎｏ）、経過時間が発生間隔を超過するまで通常割込処理を続行する（ステップＳ７０８）。
【００５０】
制御部１２０は、処理状態記録部１３０を参照し、割込処理中断機能が有効であるか否かを判断する（ステップＳ７２０）。割込処理中断機能が有効である場合には（ステップＳ７２０；Ｙｅｓ）、制御部は通常割込処理を中断するか否かを判断する（ステップＳ７２２）。通常割込処理を中断する場合には（ステップＳ７２２；Ｙｅｓ）、入力制御部１７０は通常割込処理の進捗と変数情報とを処理状態記録部１６０に登録する（ステップＳ７２４）。通常割込処理の進捗と変数情報とは、周期割込処理の終了後に、中断時点の通常割込処理を実行可能にするために、スタックに保存する通常割込処理のアドレスに関する情報や、通常割込処理の進捗等をいう。
【００５１】
制御部１２０は、通常割込処理を中断し（ステップＳ７２６）、周期割込処理部１５０は周期割込処理の実行を開始する（ステップＳ７２８）。一方、割込処理中断機能が有効でない場合（ステップＳ７２０；Ｎｏ）、制御部１２０が通常割込処理を中断しないと判断した場合（ステップＳ７２２；Ｎｏ）には、通常割込処理部１４０は、実行中である通常割込処理を続行する（ステップＳ７３６）。そして、通常割込処理が終了した場合には周期割込処理部１５０は周期割込処理を実行し（ステップＳ７３８）、周期割込処理が終了した場合には処理実行部１３０はタスクを実行し（ステップＳ７４０）、ステップＳ７００に戻る。
【００５２】
ステップＳ７２８において周期割込処理の実行が開始されると、所定時間経過した後に制御部１２０は周期割込処理が終了したか否かを判断する（ステップＳ７３０）。周期割込が終了した場合には（ステップＳ７３０；Ｙｅｓ）、通常割込処理部１４０は、通常割込処理を割り込みハンドラとして実行するため、中断時点での通常割込処理の進捗と変数情報とを、処理状態記録部１６０から読み出す（ステップＳ７３２）。そして、通常割込処理部１４０は、通常割込処理を中断時点から再開し（ステップＳ７３４）、ステップＳ７００に戻る。ステップＳ７３０において周期割込が終了していない場合には終了するまで周期割込処理の実行を継続する（ステップＳ７３０；Ｎｏ）。
【００５３】
このように、実施の形態１にかかる複合機１００によれば、タスクと周期割込処理とが所定の処理を実行しようとする場合に割込禁止割込処理が開始された場合には、周期割込の発生間隔が所定の閾値を超えた場合には、周期割込処理の開始に遅延が発生したとして割込禁止処理を中断し、周期割込処理を実行する。また、タスクと周期割込処理とが所定の処理を実行しようとする場合に通常割込割込処理が開始された場合には、周期割込の発生間隔が通常割込処理開始からの経過時間を超過した場合に、周期割込処理の開始に遅延が発生したとして通常割込処理を中断して周期割込を実行する。これにより、周期割込処理の遅延を可及的に防止するとともに、タスクのリアルタイム処理を実現し、生産性の向上を図ることが可能となる。
【００５４】
（実施の形態２）
上述した実施の形態１における複合機１００は、割込禁止処理や通常割込処理等が実行され、周期割込処理の開始が遅延した場合に、制御部１２０によって割込禁止割込処理、通常割込処理を中断し、周期割込処理を実行するように構成していた。実施の形態２における複合機８００は、周期割込処理開始に遅延が発生したことによって割込禁止割込処理や通常割込処理を中断した回数である割込処理中断回数をカウントし、割込処理中断回数が所定の閾値よりも小さい場合には割込み処理を続行させることが可能である。また、割込処理中断回数が所定の閾値よりも大きい場合には、割込処理を中断して周期割込処理を実行することの他、複合機８００自体の作動を停止させることが可能である。
【００５５】
図８は、実施の形態２にかかる複合機の構成を示すブロック図である。複合機８００は、画像形成処理にかかる諸機能の他、割込制御機能を備えている。実施の形態２における複合機８００は、操作パネル１０、プリンタ部２０、スキャナ部３０、タイマー１１０、制御部８２０、処理実行部１３０、通常割込処理部１４０、周期割込処理部１５０、入力制御部８７０、処理状態記録部８６０、メモリ１８０を主に備えている。実施の形態２にかかる複合機８００の機能及び構成について、制御部８２０、処理状態記録部８６０、入力制御部８７０以外については実施の形態１と同様であるので説明を省略する。
【００５６】
処理状態記録部（処理状態記録手段）８６０は、タスクと周期割込処理とで所定の処理を実行中に、割込禁止割込処理や通常割込処理が開始されたことにより、周期割込処理の開始が遅延した場合であって、割込処理中断機能が有効である場合に、割込禁止割込処理や通常割込処理を中断した回数である割込処理中断回数を記憶する。また、処理状態記録部８６０は、周期割込処理の開始が遅延した場合に、割込処理中断機能が有効で、割込処理中断回数が所定の閾値よりも大きい場合に、複合機の作動を停止するか否かを表すモードである機器作動モードを記憶する。この機器作動モードには、周期割込処理が遅延した場合で、割込処理中断機能が有効で、割込処理中断回数が所定の閾値よりも大きい場合に複合機８００の作動を停止させる停止モードと、周期割込処理が遅延した場合で、割込処理中断機能が有効で、割込処理中断回数が所定の閾値よりも小さい場合に割込処理を中断させる非停止モードとが存在する。機器作動モードを停止モードに設定するか、非停止モードに設定するかについては、初期設定により予め利用者から停止モード若しくは非停止モードのいずれかの設定を、操作パネル１０を介して受付けているものとする。
【００５７】
制御部（制御手段）８２０は、タスクと周期割込処理とにより所定の処理を実行中に、タスクの一部である割込禁止割込処理が開始された場合に、タイマー１１０を参照し、割込禁止割込処理の開始時からの経過時間に対応し、時間的に前後する２つのタイマーカウント値から周期割込処理の発生間隔を取得し、発生間隔が所定の閾値を超えているか否かを判断する。また、制御部８２０は、発生間隔が所定の閾値を超えていた場合には、周期割込みの処理の開始が遅延したものと判断して、警告信号を送信するとともに、処理状態記録部８６０を参照し、割込処理中断機能が有効であるか否かを判断する。割込処理中断機能が有効である場合には、さらに割込処理中断回数を取得し、割込処理中断回数が所定の閾値よりも大きいか否かを判断する。割込処理中断回数が所定の閾値よりも大きい場合には、さらに、機器作動モードが停止モードであるか非停止モードであるかを判断し、停止モードに設定されていた場合には、複合機８００の作動を停止する。機器作動モードが非停止モードに設定されていた場合には、割込処理を終了するか否かを判断し、割込処理を中断することも続行することも可能である。
【００５８】
入力制御部８７０は、操作パネル１０を介して利用者から入力を受付けた機器作動モードを処理状態記録部８６０に登録する。また、入力制御部８７０は、タスクと周期割込処理とにより所定の処理を実行中に、通常割込処理の実行が開始され、制御部８２０が周期割込処理が遅延したと判断し、通常割込処理を中断し、周期割込処理を実行する場合には、通常割込みの処理の進捗と変数情報とを処理情報記録部８６０に登録する。
【００５９】
次に、以上のように構成された複合機８００における、通常割込処理開始後における周期割込処理実行の処理手順について説明する。
【００６０】
図９は、通常割込処理開始後における周期割込処理実行及び通常割込処理再開の処理手順を示すフローチャートである。ここで、前提として機器作動モードを停止モードに設定するか、非停止モードに設定するかについては、予め利用者から操作パネル１０を介して設定を受付けているものとする。また、割込処理中断機能については、操作パネル１０において予め利用者から設定を受付けているものとする。入手力割込等により通常割込処理が開始されると（ステップＳ９００）、ＣＰＵが動作モードを遷移することによりタスク及び周期割込処理は実行可能状態に遷移する。タイマー１１０は、タイマーカウント値を取得することにより、通常割込処理開始時から現在時刻までの経過時間の計測を開始する（ステップＳ９０２）。タイマー１１０は、取得した複数のタイマーカウント値のうち時間的に前後する２つのタイマーカウント値を取得し（ステップＳ９０４）、両者の差分を算出することにより、周期割込処理の発生間隔を取得する（ステップＳ９０６）。
【００６１】
制御部８２０は、タイマー１１０を参照し、通常割込処理開始時点からの経過時間が周期割込の発生間隔を超過しているか否かを判断する（ステップＳ９０８）。通常割込処理開始時点からの経過時間が発生間隔を超過していた場合には（ステップＳ９０８；Ｙｅｓ）、制御部８２０は周期割込処理の開始が遅延したものと判断して、周期割込処理の開始が遅延している旨の警告信号を送信する（ステップＳ９１６）。一方、通常割込処理開始時点からの経過時間が発生間隔を超過していない場合には（ステップＳ９０８；Ｎｏ）、制御部８２０は、周期割込開始タイミングにより周期割込が発生したか否かを判断する（ステップＳ９１０）。周期割込が発生した場合には（ステップＳ９１０；Ｙｅｓ）、周期割込処理部１５０は、周期割込処理を実行し（ステップＳ９１２）、周期割込処理が終了すると、処理実行部１３０はタスクを実行し（ステップＳ９１４）、ステップＳ７００に戻る。周期割込が発生していない場合には（ステップＳ９１０；Ｎｏ）、経過時間が発生間隔を超過するまで通常割込処理を続行する（ステップＳ９０８）。
【００６２】
入力制御部８７０は、周期割込の発生間隔と周期割込処理開始に遅延が発生した旨を処理状態記録部８６０に記録する（ステップＳ９１８）。入力制御部８７０は、これらの他に、割込要因が通常割込である旨を記録することとしてもよい。制御部８２０は、処理状態記録部８６０を参照し、割込処理中断機能が有効であるか否かを判断する（ステップＳ９２０）。割込処理中断機能が有効である場合には（ステップＳ９２０；Ｙｅｓ）、制御部８２０は処理状態記録部８６０から割込処理中断回数を取得し（ステップＳ９２２）、割込処理中断回数が所定の閾値を超えているか否かを判断する（ステップＳ９２４）。割込処理中断回数が所定の閾値を超えていた場合には（ステップＳ９２４；Ｙｅｓ）、制御部８２０は、さらに処理状態記録部８６０を参照し、周期割込処理遅延時に複合機の作動を停止させる設定がされているか、即ち、機器作動モードが停止モードに設定されているか否かを判断する（ステップＳ９２６）。機器作動モードが停止モードに設定されていた場合には（ステップＳ９２６；Ｙｅｓ）、制御部８２０は複合機８００の作動を停止する（ステップＳ９４８）。機器作動モードが停止モードに設定されていない場合には（ステップＳ９２６；Ｎｏ）、制御部８２０は、実行中の通常割込処理を中断するか否かを判断する（ステップＳ９２８）。通常割込処理を中断する場合には（ステップＳ９２８；Ｙｅｓ）、入力制御部８７０は、通常割込処理の進捗と変数情報とを処理状態記録部８６０に登録する（ステップＳ９３０）。通常割込処理の進捗と変数情報とは、周期割込処理の終了後に、中断時点の通常割込処理を実行可能にするために、スタックに保存する通常割込処理のアドレスに関する情報や、通常割込処理の進捗等をいう。制御部８２０は、通常割込処理を中断し（ステップＳ９３２）、周期割込処理部１５０は周期割込処理の実行を開始する（ステップＳ９３４）。
【００６３】
一方、割込処理中断機能が有効でない場合（ステップＳ９２０；Ｎｏ）、割込処理中断回数が所定の閾値を超えていない場合（ステップＳ９２４；Ｎｏ）、通常割込処理を中断しない場合（ステップＳ９２８；Ｎｏ）には、通常割込処理部１４０は実行中である通常割込処理を続行する（ステップＳ９４２）。そして、通常割込処理が終了すると、周期割込処理部１５０は周期割込処理を実行し（ステップＳ９４４）、周期割込処理が終了すると、処理実行部１３０はタスクを実行し（ステップＳ９４６）、ステップＳ９００に戻る。
【００６４】
制御部８２０は、周期割込処理部１５０による周期割込処理実行開始後、所定時間を経過した後に周期割込処理が終了したか否かを判断する（ステップＳ９３６）。周期割込処理が終了した場合には（ステップＳ９３６；Ｙｅｓ）、通常割込処理部１４０は、通常割込処理を割込ハンドラとして実行するため、中断時点での通常割込処理の進捗と変数情報とを処理状態記録部８６０から読み出す（ステップＳ９３８）。そして、通常割込処理部１４０は、通常割込処理を中断時点から再開し（ステップＳ９４０）、ステップＳ９００に戻る。ステップＳ９３６において周期割込処理が終了していない場合には（ステップＳ９３６；Ｎｏ）、終了するまで周期割込処理の実行を継続する。
【００６５】
尚、ここではタスクと周期割込処理とにより所定の処理を実行中に、通常割込処理の実行が開始された場合を例示して説明したが、割込禁止割込処理が開始された場合にも上述した機能により同様に処理することが可能である。
【００６６】
以上述べたように、実施の形態２にかかる複合機８００によれば、周期割込処理が所定のタスクとともに所定の処理を実行しようとする場合において、割込禁止割込処理や、通常割込処理が開始され、周期割込処理の開始が遅延した場合でも、割込禁止割込処理や、通常割込処理を続行することが可能である。従って、割込禁止割込処理や、通常割込処理についてリアルタイム処理が要求される場合にも、限られたＣＰＵ資源を用いて適切に割込処理を制御することが可能となる。
【００６７】
図１０は、上述した複合機１００、８００のハードウェア構成を示すブロック図である。図１０に示すように、この複合機１００、８００は、コントローラ３５とエンジン部（Engine）９０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ３５は、複合機１００全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部９０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部９０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００６８】
コントローラ３５は、ＣＰＵ４１と、ノースブリッジ（ＮＢ）４３と、システムメモリ（ＭＥＭ−Ｐ）４２と、サウスブリッジ（ＳＢ）４４と、ローカルメモリ（ＭＥＭ−Ｃ）４７と、ＡＳＩＣ（Application Specific Integrated Circuit）４６と、ハードディスクドライブ（ＨＤＤ）４８とを有し、ノースブリッジ（ＮＢ）４３とＡＳＩＣ４６との間をＡＧＰ（Accelerated Graphics Port）バス４５で接続した構成となる。また、ＭＥＭ−Ｐ４２は、ＲＯＭ（Read Only Memory）４２ａと、ＲＡＭ(Random Access Memory)４２ｂとをさらに有する。
【００６９】
ＣＰＵ４１は、複合機１００の全体制御をおこなうものであり、ＮＢ４３、ＭＥＭ−Ｐ４２およびＳＢ４４からなるチップセットを有し、このチップセットを介して他の機器と接続される。ＮＢ４３は、ＣＰＵ４１とＭＥＭ−Ｐ４２、ＳＢ４４、ＡＧＰバス４５とを接続するためのブリッジであり、ＭＥＭ−Ｐ４２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
ＭＥＭ−Ｐ４２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ４２ａとＲＡＭ４２ｂとからなる。ＲＯＭ４２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００７０】
ＳＢ４４は、ＮＢ４３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ４４は、ＰＣＩバスを介してＮＢ４３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。ＡＳＩＣ４６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ４５、ＰＣＩバス、ＨＤＤ４８およびＭＥＭ−Ｃ４７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ４６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ４６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ４７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部９０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ４６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）６０、ＵＳＢ（Universal Serial Bus）７０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース８０が接続される。
【００７１】
ＭＥＭ−Ｃ４７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）４８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
ＡＧＰ４５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ４２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００７２】
なお、実施の形態１、２にかかる複合機（画像形成装置）で実行される画像形成プログラムは、ＲＯＭ等に予め組み込まれて提供される。本実施形態の画像形成装置で実行される画像形成プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００７３】
さらに、実施の形態１、２にかかる複合機（画像形成装置）で実行される画像形成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態にかかる複合機（画像形成装置）で実行される画像形成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００７４】
実施の形態１、２にかかる複合機（画像形成装置）で実行される画像形成プログラムは、上述した各部（タイマー１１０、制御部１２０、処理実行部１３０、通常割込処理部１４０、周期割込処理部１５０、処理状態記録部１６０、入力制御部１７０、メモリ１８０）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから画像形成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、タイマー１１０、制御部１２０、処理実行部１３０、通常割込処理部１４０、周期割込処理部１５０、処理状態記録部１６０、入力制御部１７０、メモリ１８０が主記憶装置上に生成されるようになっている。
【図面の簡単な説明】
【００７５】
【図１】実施の形態１にかかる複合機の構成を示すブロック図である。
【図２】割込禁止処理の実行開始による周期割込処理の遅延状態を示す説明図である。
【図３】通常割込処理の実行開始による周期割込処理の遅延状態を示す説明図である。
【図４】割込処理開始からの経過時間とタイマーカウント値とを表す説明図である。
【図５】割込禁止割込処理開始後における周期割込処理実行の処理手順を示すフローチャートである。
【図６】通常割込処理を中断し、周期割込処理実行後に再開する状態を示す説明図である。
【図７】通常割込処理開始後における周期割込処理実行の処理手順を示すフローチャートである。
【図８】実施の形態２にかかる複合機の構成を示すブロック図である。
【図９】通常割込処理開始後における周期割込処理実行及び通常割込処理再開の処理手順を示すフローチャートである。
【図１０】複合機１００、８００のハードウェア構成を示すブロック図である。
【符号の説明】
【００７６】
１０  操作パネル
２０  プリンタ部
３０  スキャナ部
４１  ＣＰＵ
４２  ＭＥＭ−Ｐ
４２ａ  ＲＯＭ
４２ｂ  ＲＡＭ
４３  ＮＢ
４４  ＳＢ
４５  ＡＧＰ
４６  ＡＳＩＣ
４７  ＭＥＭ−Ｃ
４８  ＨＤＤ
５０  オペレーションパネル
６０  ＦＣＵ
７０  ＵＳＢ
８０  ＩＥＥＥ１３９４
９０  Ｅｎｇｉｎｅ
１００、８００  複合機
１１０  タイマー
１２０、８２０  制御部
１３０  処理実行部
１４０  通常割込処理部
１５０  周期割込処理部
１６０、８６０  処理状態記録部
１７０、８７０  入力制御部
１８０  メモリ
【図１】
2009271715.tif 000003
【図２】
2009271715.tif 000004
【図３】
2009271715.tif 000005
【図４】
2009271715.tif 000006
【図５】
2009271715.tif 000007
【図６】
2009271715.tif 000008
【図７】
2009271715.tif 000009
【図８】
2009271715.tif 000010
【図９】
2009271715.tif 000011
【図１０】
2009271715.tif 000012