(57)【特許請求の範囲】
【請求項１】
リアルタイム性が要求される画像形成プログラムと、必ずしもリアルタイム性が要求されない他のプログラムとを１のキャッシュメモリを共有して実行する画像形成装置であって、
前記他のプログラムの実行動作を停止する停止手段と、
前記画像形成プログラムの実行中、装置各部へ送信する制御出力を遮断し、装置各部に設けられたセンサーの検出信号を模擬的に作成する入出力模擬手段と、
前記画像形成プログラムの用紙搬送に係る制御周期を変更する制御周期変更手段と、
前記停止手段によって前記他のプログラムの動作が停止され、前記入出力模擬手段によって前記制御出力が遮断され、前記センサーの検出信号が模擬され、かつ、前記制御周期変更手段によって前記制御周期が画像形成時よりも短くされている状態で、前記画像形成プログラムを模擬実行する模擬実行手段と、
前記画像形成プログラムの本実行に先立って、前記キャッシュメモリの記憶領域のうち、少なくとも前記画像形成プログラムの模擬実行箇所を記憶した領域のキャッシュロックダウンを実行するキャッシュロックダウン手段と、
前記キャッシュロックダウンの実行後、前記他のプログラムの動作停止を解除する停止解除手段と、
前記画像形成プログラムの本実行後、前記キャッシュロックダウンを解除するキャッシュロックダウン解除手段と、を備える
ことを特徴とする画像形成装置。
【請求項２】
画像形成時に搬送される用紙の先端及び後端を検出する搬送センサーを備え、
前記入出力模擬手段は、前記搬送センサーによる用紙の先端及び後端の検出信号を模擬することによって、前記画像形成プログラムに用紙搬送量を算出させる
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
トナー像を形成するための作像手段と、
前記作像手段による作像状態を検出する作像センサーと、を備え、
前記入出力模擬手段は、前記作像センサーの検出信号を模擬して作成することによって、前記画像形成プログラムに画像形成位置を算出させる
ことを特徴とする請求項１に記載の画像形成装置。
【請求項４】
画像形成ジョブにおいて指定されたモード情報を特定するモード情報特定手段を備え、
前記模擬実行手段は、前記モード情報に応じて前記画像形成プログラムを模擬実行する
ことを特徴とする請求項１から３の何れかに記載の画像形成装置。
【請求項５】
前記モード情報は、用紙の給紙口、用紙サイズ、カラーモード、プリント速度及び印字面の少なくとも１を指定する情報である
ことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記模擬実行手段は、前記モード情報特定付手段が前記モード情報を特定した後、前記画像形成プログラムを模擬実行する
ことを特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
前記画像形成プログラムの本実行後、引き続いて画像形成プログラムを本実行する場合には、先行する本実行後で後続の本実行前における前記模擬実行と、当該引き続く本実行が完了するまで前記キャッシュロックダウンの解除とを禁止する禁止手段を備える
ことを特徴とする請求項１から６の何れかに記載の画像形成装置。
【請求項８】
前記禁止手段は、前記画像形成プログラムの先行する本実行と後続の本実行とでモード情報が異なる場合には、前記模擬実行と前記キャッシュロックダウンの解除との何れも禁止しない
ことを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記リアルタイム性が要求されない他のプログラムは、メカコン制御を行わない画像処理プログラム及びユーザーインターフェイス処理プログラムを含む
ことを特徴とする請求項１から８の何れかに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、特に、リアルタイム処理とベストエフォート処理とでキャッシュメモリを共有する場合にリアルタイム性を保証する技術に関する。
【背景技術】
【０００２】
従来、画像形成装置は、画像処理やグラフィカルユーザーインターフェイス（GUI: Graphical User Interface）処理などのベストエフォート型の処理と、画像形成時のメカニカル制御などのリアルタイム処理とを実行するために、それぞれ専用のＣＰＵ（Central Processing Unit）が搭載されている。
これに対して、近年、組み込みシステム向けの汎用ＣＰＵの高性能化が著しく、コスト低減の要請とも相俟って、単一のＣＰＵでベストエフォート処理とリアルタイム処理との両方を実行する画像形成装置が提案され始めている。
【０００３】
更に、ベストエフォート処理やリアルタイム処理を高速に実行するためには小容量で高速アクセスが可能なキャッシュメモリの利用が効果的である。
しかしながら、リアルタイム処理とベストエフォート処理とでキャッシュメモリを共用すると、リアルタイム処理のキャッシュデータがベストエフォート処理によってキャッシュアウトしてしまい、メカニカル制御のリアルタイム性が破たんする恐れがある。例えば、用紙の搬送方向下流の搬送ローラーの駆動開始が遅れると、停止している搬送ローラーに用紙が押し付けられて紙詰まりが発生する可能性がある。
【０００４】
このような問題に対して、リアルタイム処理とベストエフォート処理とでキャッシュメモリの利用領域を区分けする構成が考えられる。このような構成によれば、リアルタイム処理のキャッシュデータがベストエフォート処理によってキャッシュアウトされないので、メカニカル制御のリアルタイム性を保証することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２５０５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、リアルタイム処理とベストエフォート処理とで１つのキャッシュメモリの利用領域を区分けすると、もともと小容量であるキャッシュメモリを更に区分けするので、キャッシュヒットし難くなり高速化の効果も薄れてしまう。
キャッシュメモリを専用領域に区分けすることなく、リアルタイム処理の破たんを防止するためには、リアルタイム処理プログラムをキャッシュロックダウンする方法が有効である。リアルタイム処理の完了後にキャッシュロックダウンを解除すれば、ベストエフォート処理についてもキャッシュメモリを利用することができるので高速化が可能になる。
【０００７】
しかしながら、リアルタイム処理プログラムをキャッシュロックダウンするためには、一旦リアルタイム処理プログラムを実行して、キャッシュメモリに記憶させる必要がある。このリアルタイム処理プログラムの実行の際に、ベストエフォート処理との間でキャッシュメモリアクセスの競合が発生すると、メカニカル制御のリアルタイム性が破たんする恐れがある。
【０００８】
本発明は、上述のような問題に鑑みて為されたものであって、リアルタイム処理プログラムのキャッシュロックダウンを行いながら、メカニカル制御のリアルタイム性を確実に保証する画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係る画像形成装置は、リアルタイム性が要求される画像形成プログラムと、必ずしもリアルタイム性が要求されない他のプログラムとを１のキャッシュメモリを共有して実行する画像形成装置であって、前記他のプログラムの実行動作を停止する停止手段と、前記画像形成プログラムの実行中、装置各部へ送信する制御出力を遮断し、装置各部に設けられたセンサーの検出信号を模擬的に作成する入出力模擬手段と、前記画像形成プログラムの用紙搬送に係る制御周期を変更する制御周期変更手段と、前記停止手段によって前記他のプログラムの動作が停止され、前記入出力模擬手段によって前記制御出力が遮断され、前記センサーの検出信号が模擬され、かつ、前記制御周期変更手段によって前記制御周期が画像形成時よりも短くされている状態で、前記画像形成プログラムを模擬実行する模擬実行手段と、前記画像形成プログラムの本実行に先立って、前記キャッシュメモリの記憶領域のうち、少なくとも前記画像形成プログラムの模擬実行箇所を記憶した領域のキャッシュロックダウンを実行するキャッシュロックダウン手段と、前記キャッシュロックダウンの実行後、前記他のプログラムの動作停止を解除する停止解除手段と、前記画像形成プログラムの本実行後、前記キャッシュロックダウンを解除するキャッシュロックダウン解除手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
このようにすれば、他のプログラムの動作を停止した状態で画像形成プログラムを模擬実行するので、画像形成プログラムをキャッシュメモリに確実に記憶させることができる。その後、キャッシュロックダウンした状態で画像形成プログラムを本実行するので、画像形成処理のリアルタイム性を確実に保証することができる。
この場合において、画像形成時に搬送される用紙の先端及び後端を検出する搬送センサーを備え、前記入出力模擬手段は、前記搬送センサーによる用紙の先端及び後端の検出信号を模擬することによって、前記画像形成プログラムに用紙搬送量を算出させてもよい。
【００１１】
また、トナー像を形成するための作像手段と、前記作像手段による作像状態を検出する作像センサーと、を備え、前記入出力模擬手段は、前記作像センサーの検出信号を模擬して作成することによって、前記画像形成プログラムに画像形成位置を算出させてもよい。
また、画像形成ジョブにおいて指定されたモード情報を特定するモード情報特定手段を備え、前記模擬実行手段は、前記モード情報に応じて前記画像形成プログラムを模擬実行してもよい。
【００１２】
この場合において、前記モード情報は、用紙の給紙口、用紙サイズ、カラーモード、プリント速度及び印字面の少なくとも１を指定する情報であってもよい。更に、前記模擬実行手段は、前記モード情報特定付手段が前記モード情報を特定した後、前記画像形成プログラムを模擬実行してもよい。
また、前記画像形成プログラムの本実行後、引き続いて画像形成プログラムを本実行する場合には、先行する本実行後で後続の本実行前における前記模擬実行と、当該引き続く本実行が完了するまで前記キャッシュロックダウンの解除とを禁止する禁止手段を備えてもよい。
【００１３】
この場合において、前記禁止手段は、前記画像形成プログラムの先行する本実行と後続の本実行とでモード情報が異なる場合には、前記模擬実行と前記キャッシュロックダウンの解除との何れも禁止しなければ更に好適である。
また、前記リアルタイム性が要求されない他のプログラムは、メカコン制御を行わない画像処理プログラム及びユーザーインターフェイス処理プログラムを含む。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る画像形成装置の主要な構成を示す図である。
【図２】制御部１００の主要な構成を示す図である。
【図３】コントローラー制御用コア２０１の処理を表すフローチャートである。
【図４】メカコン制御用コア割り込み処理を表すフローチャートである。
【図５】メカコン制御用コア２０２の処理を表すフローチャートである。
【図６】キャッシュロックダウン用プログラムの処理を表すフローチャートである。
【図７】モード情報と模擬データとの対応を例示する表である。
【図８】画像形成装置１の搬送系の主要な構成を示す図である。
【図９】画像形成装置１の搬送系を駆動するための構成を示す図である。
【図１０】模擬実行時のタイミングチャート例である。
【発明を実施するための形態】
【００１５】
以下、本発明に係る画像形成装置の実施の形態について、図面を参照しながら説明する。
［１］画像形成装置の構成
まず、本実施の形態に係る画像形成装置の構成について説明する。
図１に示されるように、本実施の形態に係る画像形成装置１は所謂タンデム型のカラープリンターである。画像形成装置１は、画像形成部１１０と給紙部１２０とを備えており、画像形成部１１０はイメージングユニット１１１を有している。イメージングユニット１１１は、トナーボトル１１２からイエロー、マゼンタ、シアン及びブラックの各色のトナーの補給を受けてトナー像を形成し、各色のトナー像が互いに重なり合うように中間転写ベルト１１３上に一次転写してカラートナー像を形成する。
【００１６】
中間転写ベルト１１３はカラートナー像を二次転写ローラー対１１４まで搬送する。これと並行して、給紙部１２０は給紙カセットに収容されている用紙を１枚ずつ供給する。カラートナー像は二次転写ローラー対１１４の二次転写ニップにおいて中間転写ベルト１１３から用紙上に二次転写された後、定着装置１１５において熱定着され、機外に排出される。なお、給紙カセットに代えて手差しトレイ１２１上に載置されている用紙を用いてもよい。
【００１７】
画像形成部１１０には制御部１００が内蔵されており、制御部１００は画像形成装置１の各動作を制御する。
［２］制御部１００の構成
次に、制御部１００の構成について説明する。
図２に示されるように、制御部１００はＣＰＵ２００、ＨＤＤ（Hard Disk Drive）２１０等を備えている。ＣＰＵ２００は、所謂マルチコアプロセッサであって、２つのコア２０１、２０２とキャッシュメモリ２０３とを内蔵している。本実施の形態においては、コア２０１はコントローラー制御を行い、コア２０２はメカコン制御を行う。
【００１８】
ここで、コントローラー制御とは画像処理や画像形成装置１全体の制御であって、具体的には、画像データを取得してビットマップ展開などを行う画像処理、ＰＣやその他機器と通信を行うネットワーク通信、ユーザー等からの指示を受け付ける操作パネルなどを制御する。コントローラー制御は、画像処理やネットワーク通信による大量データ処理、ユーザーからの応答などを可能な限り高速に行うベストエフォート型の処理である。
【００１９】
また、メカコン制御とは、コントローラー制御によって指定された画像形成処理を実行するために画像形成装置１の機械的な制御を行うものであって、具体的には、印刷媒体の搬送、半導体レーザーの制御、温度調整などのメカニカル制御を行う。メカコン制御は印刷画像の品質に直結しており、高いリアルタイム性が要求される。
コア２０１、２０２はキャッシュメモリ２０３、ＲＯＭ（Read Only Memory）２２０、ＲＡＭ（Random Access Memory）２２１及びＨＤＤ２１０を共有する。ＲＯＭ２２０には画像形成装置１の電源投入時にＣＰＵ２００を起動するためのブートプログラムが記憶されている。ＲＡＭ２２１はＣＰＵ２００の作業用記憶領域として使用される。ＨＤＤ２１０はコントローラー制御用プログラム２１１とメカコン制御用プログラム２１２とを記憶している。
【００２０】
コントローラー制御用コア２０１は、ＨＤＤ２１０からコントローラー制御用プログラム２１１を読み出し、ＲＡＭ２２１を作業用記憶領域として、コントローラー制御対象部２３１を制御する。コントローラー制御対象部２３１は、例えば、画像処理用回路やネットワークデバイス、操作パネル等である。更に、コントローラー制御用コア２０１は、メカコン制御用コア２０２に画像形成処理の実行を指示する。
【００２１】
メカコン制御用コア２０２は、ＨＤＤ２１０からメカコン制御用プログラム２１２を読み出し、ＲＡＭ２２１を作業用記憶領域として、Ｉ／Ｏ（Input/Output）制御部２３３を介して、メカコン制御対象部２３２を制御する。メカコン制御対象部２３２は、例えば、モーターやクラッチ、センサー等である。
メカコン制御用コア２０２からメカコン制御対処部２３２へのＩ／Ｏアクセスは所謂メモリマップドＩ／Ｏになっている。従って、レジスターがマッピングされた各アドレスにデータを書き込むことによって制御出力がなされ、また、当該アドレスからデータを読み出すことによってセンサー入力を取得することができる。
【００２２】
Ｉ／Ｏ制御部２３３は、メカコン制御用コア２０２から指示に従って動作する。通常動作時には、Ｉ／Ｏ制御部２３３は、メカコン制御用コア２０２にメカコン制御対象部２３２へＩ／Ｏアクセスを行わせる。また、画像形成処理を模擬的に実行する際には、Ｉ／Ｏ制御部２３３は、画像形成処理に関して、メカコン制御用コア２０２に、メカコン制御対象部２３２にはアクセスさせずに、Ｉ／Ｏ制御部２３３の内部メモリにアクセスさせる。
【００２３】
Ｉ／Ｏ制御対象部２３２は、画像形成処理以外の処理に関するメカコン制御対処部２３２へのアクセスについては、本実行でも模擬実行でもメカコン制御対象部２３２へＩ／Ｏアクセスを行わせる。
このため、画像形成処理を模擬的に実行する際に、画像形成処理のためにメカコン制御用コア２０２が制御出力を行うと、Ｉ／Ｏ制御部２３３の内部メモリに制御内容が書き込まれる。また、メカコン制御用コア２０２が画像形成処理のためにセンサー入力を取得する場合には、Ｉ／Ｏ制御部２３３の内部メモリの記憶内容が読み出される。これによって、画像形成処理に必要な入出力が模擬される。
【００２４】
以下、Ｉ／Ｏ制御部２３３の動作モードのうち、メカコン制御用コア２０２をメカコン制御対象部２３２にアクセスさせる動作モードを「通常モード」といい、メカコン制御用コア２０２をＩ／Ｏ制御部２３３の内部メモリにアクセスさせる動作モードを「模擬モード」というものとする。
ＣＰＵ２００は、キャッシュロックダウン機能を有している。キャッシュロックダウン機能とは、キャッシュメモリ２０３に登録されているアドレスの更新を禁止して、既に登録しているアドレスに対するアクセスをキャッシングし続ける機能である。またＣＰＵ２００、ＨＤＤ２１０、ＲＯＭ２２０、ＲＡＭ２２１、コントローラー制御対象部２３１及びメカコン制御対象部２３２は相互に通信できるように内部バス２２２に接続されている。ＣＰＵ２００は内部バス２２２へのアクセスの調停も行う。
［３］キャッシュロックダウン処理
次に、本実施の形態に係るキャッシュロックダウン処理について説明する。
【００２５】
キャッシュロックダウンを行う際は、実際に画像形成処理を実行する画像形成プログラムを動作させる。しかしながら、画像形成プログラムを通常通りに実行すると、モーターやセンサーが動作したり、通常時と同じだけ実行時間がかかって生産性が低下したりしてしまう。
このため、画像形成時のセンサー入力を模擬するキャッシュロックダウン用のプログラムを用いる。キャッシュロックダウン用プログラムは、メカコン制御用コア２０２に画像形成プログラムを通常通り実行させる一方、モーターやセンサー制御、作像プロセス（帯電、露光、現像、転写）に関する制御出力は行わず、また、センサー入力を模擬する。
【００２６】
また、キャッシュロックダウン用プログラムは画像形成プログラムの制御周期を短縮して、上述のような模擬実行を行わせる。このようにすれば、画像形成処理のリアルタイム性を確実に保証するだけでなく、画像形成プログラムを短時間でキャッシュロックダウンすることができる。従って制御周期を短縮しない場合よりも画像形成処理の開始遅延を抑制して、画像形成処理の開始を早めることができる。
【００２７】
なお、画像形成処理においては、必ずしも画像形成プログラムの全コードが実行される訳ではなく、画像形成ジョブの内容に応じて実行されるコードが異なってくる場合がある。すなわち、画像形成ジョブにおいて指定された用紙サイズ、カラー／モノクロ、紙種などの指定に応じてメカコン制御用コアが実行するコードが異なる。このため、画像形成プログラムを模擬実行する際には、本実行に供されるモード情報が模擬データとして使用される。
（３−１）キャッシュメモリ２０３に関する基本動作
まず、キャッシュメモリ２０３を利用する際の基本動作について説明する。
【００２８】
ＣＰＵ２００は、キャッシュメモリ２０３が有効になっている場合、コア２０１、２０２がＲＯＭ２２０やＲＡＭ２２１へのメモリアクセスを実行すると、読み出しの場合はメモリから読み出したデータをキャッシュメモリ２０３にコピーし、次回以降、同アドレスからデータを読み出す場合にはキャッシュメモリ２０３からデータ（キャッシュデータ）が読み出される。
【００２９】
また、書き込みの場合には、キャッシュメモリ２０３にデータが一旦、書き込まれた後、当該データ（キャッシュデータ）が本来の書き込み先アドレスに書き込まれる。このようにすれば、キャッシュメモリ２０３に対するメモリアクセスはＲＯＭ２２０やＲＡＭ２２１へのメモリアクセスよりも高速に行われるので、コア２０１、２０２を高速動作させることができる。メモリアクセスしようとしたデータがキャッシュメモリ２０３上に記憶されている場合、キャッシュヒットしたという。
【００３０】
メモリアクセスが繰り返された結果、キャッシュメモリ２０３に新たなデータを書き込むための空き領域が無くなった場合には、最も古いキャッシュデータが記憶されている領域に新たなキャッシュデータが書き込まれる。このとき、古いキャッシュデータはキャッシュアウトされたという。キャッシュアウトされたデータにアクセスするためには、再度ＲＯＭ２２０やＲＡＭ２２１にアクセスしなければならない。このため、メモリアクセスが高速でなくなる。
【００３１】
キャッシュロックダウンは、キャッシュデータがキャッシュアウトされないようにする機能である。キャッシュロックダウン中はキャッシュメモリ２０３の指定された記憶領域に対して新たにデータを書き込むことが禁止されるので、指定領域に記憶されているキャッシュデータはキャッシュアウトされず、当該キャッシュデータに対するアクセスは常にキャッシュヒットする。
【００３２】
また、キャッシュメモリ２０３は、一部の領域のみをキャッシュロックダウンすることもできる。この場合においては、まず、（ａ）当該一部の領域以外の領域をキャッシュロックダウンし、（ｂ）この状態でキャッシュロックダウンしたいデータにアクセスすることによって、当該一部の領域にキャッシュロックダウンしたいデータを書き込む。当該書き込みが完了したら、（ｃ）当該一部の領域をキャッシュロックダウンした後、（ｄ）当該一部の領域以外の領域のキャッシュロックダウンを解除する。
【００３３】
このようにすれば、キャッシュメモリ２０３の一部の領域に所望のデータを書き込んでキャッシュロックダウンすることができる。また、当該一部の領域以外の領域はキャッシュロックダウンされないので、他のプログラムを実行する際に利用することができる。
従って、メカコン制御用プログラム２１２をキャッシュメモリ２０３に記憶した状態でキャッシュロックダウンすれば、メカコン制御用プログラム２１２は常にキャッシュヒットするので、メカコン制御のリアルタイム性を保証することができる。
（３−２）コントローラー制御用コア２０１の動作
次に、コントローラー制御用コア２０１の動作について、特に画像形成処理とメカコン制御用コア割り込み処理について説明する。
（３−２−１）画像形成処理
まず、画像形成処理について説明する。
【００３４】
図３に示されるように、コントローラー制御用コア２０１は、操作パネルにてユーザーから画像形成ジョブを受け付けたり、或いはネットワーク経由でＰＣ（Personal Computer）等、他の装置から画像形成ジョブを受け付けたりすると（Ｓ３０１：ＹＥＳ）、当該画像形成ジョブに係る画像データを取得する（Ｓ３０２）。
画像形成ジョブにおいてはモード情報が指定されている。モード情報は、例えば、用紙の給紙口や用紙サイズ、カラーモード、印字面などである。次に、画像形成するページ番号を表す作業用変数ｎの値を１にして（Ｓ３０３）、次のようなループ処理を実行する。
【００３５】
まず、第ｎページの画像データについて画像処理を実行して（Ｓ３０４）、当該第ｎページの画像形成処理をメカコン制御用コア２０２に指示する（Ｓ３０５）。この画像形成処理の指示（以下、「画像形成指示」という。）には、画像形成ジョブで指定されたモード情報が含まれている。その後、変数ｎの値を１だけ増加させて、画像形成ジョブに係る全画像形成枚数Ｎと変数ｎの値とを比較する。
【００３６】
変数ｎの値がＮ以下ならば（Ｓ３０７：ＮＯ）、ステップＳ３０４に進んで上記の処理を繰り返す。また、変数ｎの値がＮよりも大きい場合には（Ｓ３０７：ＹＥＳ）、ステップＳ３０１に進む。
（３−２−２）メカコン制御用コア割り込み処理
次に、メカコン制御用コア割り込み処理について説明する。
【００３７】
メカコン制御用コア割り込み処理は、コントローラー制御用コア２０１がメカコン制御用コア２０２から割り込みを受けた場合に起動され、コントローラー制御用コア２０１が実行する処理である。
図４に示されるように、メカコン制御用コア割り込み処理において、コントローラー制御用コア２０１はＲＡＭ２２１の所定アドレスを参照して、キャッシュロックダウン完了フラグがセットされているか否かを確認する（Ｓ４０１）。キャッシュロックダウン完了フラグがセットされていなければ（Ｓ４０２：ＮＯ）、メカコン制御用コア２０２によるキャッシュロックダウン処理が未だ完了していないと判断されるので、ステップＳ４０１に進んで更にキャッシュロックダウン完了フラグを監視する。
【００３８】
キャッシュロックダウン完了フラグがセットされていたら（Ｓ４０２：ＹＥＳ）、メカコン制御用コア２０２によるキャッシュロックダウン処理が完了したと判断し、キャッシュロックダウン完了フラグをリセットして（Ｓ４０３）、割り込み処理を終了して、通常の処理に復帰する。
このようにすれば、メカコン制御用コア２０２がキャッシュロックダウン処理を行っている間、コントローラー制御用コア２０２はキャッシュロックダウン完了フラグを参照する処理を繰り返すだけなので、キャッシュメモリ２０３からメカコン制御用プログラムがキャッシュアウトされなくなる。
（３−３）メカコン制御用コア２０２による画像形成処理
次に、メカコン制御用コア２０２による画像形成処理について説明する。
【００３９】
図５に示されるように、メカコン制御用コア２０２は、コントローラー制御用コア２０１から画像形成指示を受け付けると（Ｓ５０１：ＹＥＳ）、印刷準備動作を開始する（Ｓ５０２）。次いで、コントローラー制御用コア２０１にメカコン制御用コア割り込みを入れて（Ｓ５０３）、コントローラー制御用コア２０１を割り込み処理による待機状態に遷移させる。
【００４０】
これによってコントローラー制御用コア２０１によるキャッシュメモリ２０３の書き換えが抑制されるので、キャッシュロックダウン用プログラムを実行する（Ｓ５０４）。なお、ステップＳ５０３の処理の完了後で、かつステップＳ５０４の処理の開始前にキャッシュメモリ２０３の記憶領域のうちキャッシュロックダウンする予定の記憶領域をクリアしてもよい。
【００４１】
キャッシュロックダウン用プログラムの実行が完了したら、キャッシュロックダウンし（Ｓ５０５）、キャッシュロックダウン完了フラグをセットする（Ｓ５０６）。これによって、コントローラー制御用コア２０１が割り込み処理による待機状態から脱して、通常の動作状態に復帰する。
次に、メカコン制御用コア２０２は画像形成処理を実行し（Ｓ５０７）、画像形成処理が完了したら、コントローラー制御用コア２０１から次のページの画像形成指示を受け付けたか確認する。次のページの画像形成指示を受け付けている場合には（Ｓ５０８：ＹＥＳ）、今のページと次のページとで画像形成指示に係るモード情報が一致しているか否かを確認する。
【００４２】
モード情報が変更される場合には（Ｓ５０９：ＹＥＳ）、一旦キャッシュロックダウンを解除して（Ｓ５１０）、ステップＳ５０３に進む。このようにすれば、次のページのモード情報に合わせて画像形成プログラムをキャッシュメモリ２０３に記憶させることができるので、次のページの画像形成処理についてリアルタイム性を保証することができる。
モード情報が変更されない場合には（Ｓ５０９：ＮＯ）、ステップＳ５０７に進んで、次のページの画像形成処理を実行する。この場合には、キャッシュメモリ２０３に記憶されている画像形成プログラムを用いれば、次のページの画像形成処理についてリアルタイム性を保証することができる。
【００４３】
次のページの画像形成指示を受け付けていない場合には（Ｓ５０８：ＮＯ）、キャッシュロックダウンを解除して（Ｓ５１１）、ステップＳ５０１に進み、次の画像形成指示を待つ。
（３−４）キャッシュロックダウン用プログラム
次に、キャッシュロックダウン用プログラムについて説明する。
【００４４】
メカコン制御用コア２０２が実行するメカコン制御用プログラム２１２には、画像形成プログラムと準備処理プログラムとが含まれている。画像形成プログラムは、画像形成処理に必要なメカニカル制御を実行する。具体的には、一定周期ごとに、センサー入力を参照して制御出力の要否を判定し、必要ならば制御出力を行う。この周期を「制御周期」という。準備処理プログラムは、画像形成処理の実行に先立って、定着装置１１５のウォームアップ処理などを実行する。
【００４５】
キャッシュロックダウン用プログラムは、Ｉ／Ｏ制御部２３３を用いて、メカコン制御用コア２０２による制御出力を停止したり、メカコン制御用コア２０２へのセンサー入力を模擬したりする。これによって、メカコン制御対象部２３２を実際に動作させることなく、画像形成プログラムを模擬実行させて、キャッシュメモリ２０３に画像形成プログラムを記憶させることができる。
【００４６】
また、キャッシュロックダウン用プログラムは、画像形成プログラムの制御周期を短縮することによって、印刷処理の模擬実行に要する時間を短縮する。従って、キャッシュロックダウン処理によるＦＣＯＴ（First Copy Out Time）の増大を抑制することができる。
すなわち、図６に示されるように、まず、コントローラー制御用コア２０１からの画像形成指示に含まれるモード情報に基づいて、画像形成プログラムの模擬実行に用いる模擬データを生成する（Ｓ６０１）。図７は、モード情報と模擬データとの対応を例示する表である。図７に示されるように、モード情報における給紙口の指定からは給紙口の模擬データが生成される。
【００４７】
また、モード情報における用紙サイズの指定からは模擬データとして用紙長が１／１００ｍｍ単位で生成される。カラーモードからは用紙先端位置が生成される。また、モード情報から生成された給紙口と用紙長からは給紙タイミングとして、用紙先端位置並びに用紙後端位置の各初期値が１／１００ｍｍ単位で決定される。
更に、カラーモードによって、例えば、イエロー（Ｙ）、マゼンタ（Ｍ）シアン（Ｃ）及び黒色（Ｋ）の４色のトナー像を形成するイメージングユニット１１１のうち、Ｋ色のイメージングユニット１１１のみを動作させるのか、ＹＭＣＫ全色のイメージングユニット１１１のみを動作させるのかが決定される。プリント速度からは制御周期あたりの用紙搬送量が決定される。印字面からは、片面通紙するか両面通紙するかが決まる。
【００４８】
次に、キャッシュロックダウン用プログラムは、画像形成プログラムの制御周期を短縮する（Ｓ６０２）。例えば、通常の画像形成時の制御周期が５ミリ秒である場合には、模擬実行時の制御周期を２．５ミリ秒に設定してもよい。
キャッシュロックダウン用プログラムは、更に、Ｉ／Ｏ制御部２３３を模擬モードに設定する（Ｓ６０３）。この場合において、キャッシュロックダウン用プログラムは、Ｉ／Ｏ制御部２３３の内部メモリにセンサー入力の初期値を書き込んでおく。例えば、画像形成処理の開始前にオフしているセンサー入力については対応するアドレスにその旨のデータを書き込んでおく。
【００４９】
そして、画像形成プログラムを起動して、画像形成処理を模擬実行させる（Ｓ６０４）。
ここで、本実施の形態において、画像形成装置１の搬送系は図８に示されるような構成を備えている。すなわち、給紙部１２０は１段目と２段目の２つの給紙トレイを有しており、１段目の給紙トレイに収容されている用紙は１段給紙ローラー８０１によって搬出されたことが１段給紙センサー８０２によって検出される。
【００５０】
同様に、２段目の給紙トレイに収容されている用紙は２段給紙ローラー８０３によって搬出されたことが２段給紙センサー８０４によって検出され、その後、２段縦搬送ローラー８０５を通過したことが２段縦搬送センサー８０６によって検出される。また、手差しトレイ１２１にセットされている用紙は、マルチ手給紙ローラー８０７によって搬出される。
【００５１】
タイミングセンサー８０８は、搬送中の用紙の先頭を検出する。タイミングローラー８０９は、２次転写タイミングに合わせて用紙を搬送する。２次転写ローラー１１４は、トナー像を用紙上に２次転写する。定着ループセンサー８１０は２次転写ローラー１１４から定着装置１１５に至る用紙の搬送系路上で、用紙が形成するループの大きさを検出する。
【００５２】
定着ローラー８１１は、トナー像を用紙に熱定着する。排紙前ローラー８１２が排紙口へ送り出した用紙は、排紙センサー８１３に検出される。排紙ローラー８１４は用紙を機外へ排出する。ＡＤＵ（Automatic Duplexing Unit: 自動両面印刷ユニット）搬送ローラー８１５、８１６、８１７及び８１８は両面印刷時に、用紙の裏面にトナー像が２次転写されるように、用紙を搬送する。
【００５３】
図６に戻って、キャッシュロックダウン用プログラムが画像形成プログラムを起動すると、画像形成プログラムは、画像形成指示に従って、例えば、１段給紙ローラー８０１を起動するために、制御出力を行う。この制御出力は、Ｉ／Ｏ制御部２３３によって遮断され、Ｉ／Ｏ制御部２３３の内部メモリに書き込まれ、メカコン制御対象部２３２へは出力されない。
【００５４】
なお、Ｉ／Ｏ制御部２３３の内部メモリを監視すれば、画像形成プログラムが制御出力するタイミングを知ることができるので、この制御出力タイミングを利用してキャッシュロックダウン用プログラムを動作させてもよい。本実施の形態においては、キャッシュロックダウン用プログラムは、画像形成プログラムの制御周期をカウントして、給紙センサー８０１が正常にオンするタイミングを待つ。
【００５５】
給紙センサー８０１がオンするタイミングになったら（Ｓ６０５：ＹＥＳ）、キャッシュロックダウン用プログラムは、Ｉ／Ｏ制御部２３３の内部メモリの給紙センサー８０１のレジスターに対応するアドレスに給紙センサー８０１がオンした旨のビットをセットすることによって、給紙センサー８０１がオンしたことを模擬する（Ｓ６０６）。
次に、上と同様にして、タイミングセンサー８０８のオンタイミングになったら（Ｓ６０７：ＹＥＳ）、キャッシュロックダウン用プログラムは、タイミングセンサー８０８のレジスターに対応するアドレスの当該ビットをセットして、タイミングセンサー８０８のオンを模擬する（Ｓ６０８）。
【００５６】
画像処理プログラムは、タイミングセンサー８０８のオン後、タイミングローラー８０９を起動する制御出力を行う。この制御出力もまたＩ／Ｏ制御部２３３によって遮断され、タイミングローラー８０９を駆動するためのモーターやクラッチが実際に動作することはない。
画像形成プログラムは、更に、タイミングセンサー８０８のオンタイミングから用紙後端位置を推定して、用紙後端が１段給紙ローラー８０１の停止位置を通過したと判断すると、１段給紙ローラー８０１を停止させる制御出力を行う。キャッシュロックダウン用プログラムは、給紙センサー８０２のオフタイミングになったら（Ｓ６０９：ＹＥＳ）、１段給紙センサー８０２を模擬的にオフする（Ｓ６１０）。これによって、画像形成プログラムは、用紙後端が１段給紙センサー８０２の検出位置を通過したと判断する。
【００５７】
キャッシュロックダウン用プログラムは、タイミングセンサー８０８のオフタイミングになったら（Ｓ６１１：ＹＥＳ）、タイミングセンサー８０８を模擬的にオフする（Ｓ６１２）。これによって、画像形成プログラムは、用紙後端がタイミングセンサー８０８の検出位置を通過したと判断する。
画像形成プログラムは、更に、タイミングセンサー８０８のオフタイミングから用紙後端位置を推定して、用紙後端がタイミングローラー８０９の停止位置を通過したと判断すると、タイミングローラー８０９を停止させる制御出力を行う。
【００５８】
以下、同様の処理を繰り返した後、キャッシュロックダウン用プログラムは、排紙センサー８１３のオンタイミングになったら（Ｓ６１３：ＹＥＳ）、排紙センサー８１３を模擬的にオンする（Ｓ６１４）。これによって、画像形成プログラムは、用紙先端が排紙センサー８１３の検出位置に到達したと判断する。
画像形成プログラムは、排紙センサー８１３のオンタイミングから用紙先端位置を推定して、用紙先端が排紙ローラー８１４の停止位置を通過したと判断すると、タイミングローラー８０９を停止させる制御出力を行う。キャッシュロックダウン用プログラムは、排紙センサー８１３のオフタイミングになったら（Ｓ６１５：ＹＥＳ）、排紙センサー８１３を模擬的にオフする（Ｓ６１６）。これによって、画像形成プログラムは、用紙後端が排紙センサー８１３の検出位置を通過したと判断する。
【００５９】
画像形成プログラムは、更に、排紙センサー８１３のオフタイミングから用紙後端位置を推定して、用紙後端が排紙ローラー８１４の停止位置を通過したと判断すると、排紙ローラー８１４を停止させる制御出力を行う。
その後、キャッシュロックダウン用プログラムは、Ｉ／Ｏ制御部２３３を通常モードにして（Ｓ６１７）、処理を終了する。
【００６０】
このようにすれば、実際に画像形成を行うことなく画像形成処理を模擬実行して、画像形成プログラムのモード情報に対応する実行箇所、すなわち画像形成プログラムの本実行の際に必要になる箇所をキャッシュメモリ２０３に記憶させることができる。
［４］変形例
以上、本発明を実施の形態に基づいて説明してきたが、本発明が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
（４−１）上記実施の形態においては、Ｉ／Ｏ制御部２３３を用いて模擬実行時の制御出力をすべて遮断すると共にセンサー入力を模擬する場合について説明したが、本発明がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
【００６１】
図９に示されるように、画像形成装置１は１段給紙ローラー８０１、タイミングローラー８０９及び排紙ローラー８１４を回転駆動する駆動モーター９００を備えている。駆動モーター９００から１段給紙ローラー８０１、タイミングローラー８０９及び排紙ローラー８１４に駆動力を伝達する経路上にはそれぞれ１段給紙クラッチ９０１、タイミングクラッチ９０２及び排紙クラッチ９０３が設けられており、駆動モーター９００から各ローラーへの駆動力を伝達したり、切断したりする。
【００６２】
このため、駆動モーター９００への制御出力を遮断しなくても、１段給紙クラッチ９０１、タイミングクラッチ９０２及び排紙クラッチ９０３を切断すれば、画像処理を模擬実行することができる。
図１０は、模擬実行時のタイミングチャート例である。模擬実行時にキャッシュロックダウン用プログラムが予め各クラッチを切断している場合、図１０に示されるように、画像処理プログラムが１段給紙クラッチ９０１を接続するために制御出力をオンしても、Ｉ／Ｏ制御部２３３に切断されているので、駆動モーター９００の駆動力は１段給紙ローラー８０１には伝達されない。
【００６３】
次に、キャッシュロックダウン用プログラムは給紙センサー８０２、タイミングセンサー８０８のオンを順次模擬する。これによって、画像形成プログラムは給紙センサー８０２、タイミングセンサー８０８のオンを順次検出して、タイミングクラッチ９０２を接続するために制御出力をオンしても、Ｉ／Ｏ制御部２３３に切断されているので、駆動モーター９００の駆動力はタイミングローラー８０９には伝達されない。
【００６４】
また、画像形成プログラムは、タイミングクラッチ９０２を接続するタイミングで、用紙搬送を停止して２次転写タイミングを待つために、１段給紙クラッチ９０１が切断するために制御出力を一旦オフする。その後、２次転写タイミングに合わせて１段給紙クラッチ９０１を接続する制御出力をオンし、更に、用紙後端が１段給紙ローラー８０１を通過し後、１段給紙クラッチ９０１を接続する制御出力をオフする。
【００６５】
キャッシュロックダウン用プログラムは、１段給紙センサー９０１の検出位置を用紙後端が通過したことを模擬するために１段給紙センサーをオフする。本実施の形態においては、１段給紙センサーのオフを契機として、画像形成プログラムが排紙クラッチを接続する制御出力をオンするが、このオンタイミングは画像形成装置の構成に応じて異なっていてもよい。
【００６６】
その後、キャッシュロックダウン用プログラムは、排紙センサー８１３のオンを模擬する。キャッシュロックダウン用プログラムが、更にタイミングセンサー８０８のオフを模擬すると、画像形成プログラムはタイミングクラッチ９０２を切断するために制御出力をオフする。
更に所定時間経過後、キャッシュロックダウン用プログラムは、排紙センサー８１３の検出位置を用紙後端が通過したことを模擬するためにセンサー入力をオフする。これを契機として、画像形成プログラムは排紙ローラー８１４を停止させるために、排紙クラッチ９０３を切断する制御出力を行う。
【００６７】
このようにしても、メカ制御対象部２３２を実際に動作させることなく画像形成プログラムを模擬実行することができる。
（４−２）上記実施の形態においては、主に搬送系について画像形成処理を模擬するための動作を説明したが、本発明がこれに限定されないのは言うまでもなく、メカ制御対象部２３２の搬送系以外の箇所についても模擬を行う必要がある。
【００６８】
例えば、イメージングユニット１１１はＹＭＣＫの各色のトナー像を中間転写ベルト１１３の画像形成位置に１次転写するために、それぞれ感光体ドラム、帯電装置、露光装置、現像装置、１次転写ローラー及びクリーナーを備えている。
画像形成プログラムは、実際の画像形成時には、感光体ドラムを回転駆動しながら、帯電装置で感光体ドラムの外周面を一様に帯電させ、露光装置で静電潜像を形成し、現像装置で静電潜像をトナー像にして、一次転写ローラーで中間転写ベルトに静電転写する。一次転写後に感光体ドラムの外周面上に残留するトナーはクリーナーによって除去される。クリーナーは、除電露光によって残留電荷も除去する。
【００６９】
トナー像の１次転写先となる中間転写ベルト１１３上の転写予定領域は、画像形成処理において指定されるカラーモードに応じて異なる。画像形成プログラムは、ＹＭＣＫ各色のトナー像が中間転写ベルト１１３上の転写予定領域に転写されるように、帯電装置、露光装置、現像装置、１次転写ローラー及びクリーナーへ制御出力を行うタイミングを画像形成位置情報として管理する。
【００７０】
従って、キャッシュロックダウン用プログラムが適切なタイミングで様々なセンサー入力を模擬するためには、画像形成プログラムの制御周期をカウントするか、画像形成プログラムが管理する画像形成位置情報を参照すればよい。
このようにすれば、イメージングユニット１１１についても画像形成処理を模擬実行することができる。
（４−３）上記実施の形態においては、Ｉ／Ｏ制御部２３３を用いて制御出力を遮断し、センサー入力を模擬する場合を例にとって説明したが、本発明がこれに限定されないのは言うまでもなく、これに代えてソフトウェア処理のみで模擬実行を行ってもよい。例えば、模擬実行時には、本実行時に実行される画像形成プログラムのコードをすべて実行するのに加えて、制御出力を遮断し、センサー入力を模擬するためのコードを実行してもよい。このようにすれば、本実行時のコードがすべてキャッシュメモリ２０３に記憶されるので、本実行時のリアルタイム性を保証することができる。
（４−４）上記実施の形態においては、ＣＰＵ２００が２つのコア２０１、２０２を備える場合を例にとって説明したが、本発明がこれに限定されないのは言うまでもなく、ＣＰＵ２００は所謂シングルコアであってもよいし、３つ以上のコアを備えていてもよい。また、３つ以上のコアを備えている場合、どのコアにどの処理を割り振るかに関わらず本発明の効果は同じである。
（４−５）上記実施の形態においては、画像形成装置がタンデム型のカラープリンターである場合を例にとって説明したが、本発明がこれに限定されないのは言うまでもなく、タンデム型以外のカラープリンターやモノクロプリンターであってもよい。また、スキャナーを備えた複写装置や、更に通信機能を備えたファクシミリ装置といった単機能機やこれらの機能を兼ね備えた複合機（MFP: Multi- Function Peripheral）に本発明を適用しても同様の効果を得ることができる。
【産業上の利用可能性】
【００７１】
本発明に係る画像形成装置は、リアルタイム処理とベストエフォート処理とでキャッシュメモリを共用する場合にリアルタイム性を保証する装置として有用である。
【符号の説明】
【００７２】
１………画像形成装置
１１０…画像形成部
１００…制御部
２００…ＣＰＵ
２０１…コントローラー制御用コア
２０２…メカコン制御用コア
２０３…キャッシュメモリ
２３１…コントローラー制御対象部
２３２…メカコン制御対象部
２３３…Ｉ／Ｏ制御部
【図１】
0006668966.tif 000002
【図２】
0006668966.tif 000003
【図３】
0006668966.tif 000004
【図４】
0006668966.tif 000005
【図５】
0006668966.tif 000006
【図６】
0006668966.tif 000007
【図７】
0006668966.tif 000008
【図８】
0006668966.tif 000009
【図９】
0006668966.tif 000010
【図１０】
0006668966.tif 000011