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