(57)【要約】【課題】  調停手段の動作を解析することができる装置や方法を提供する。【解決手段】  この動作解析装置は、記憶手段と、記憶手段へのアクセスを制御する調停手段と、調停手段に接続され、調停手段を介して記憶手段へアクセスする複数の画像処理手段とを含む画像形成装置の動作を解析する装置であって、調停手段がどの画像処理手段に対して記憶手段へのアクセスを許可しているかを監視するアクセス監視手段と、アクセスを許可する画像処理手段を切り替えたことをアクセス監視手段が検出したことに応答して、アクセスが許可された画像処理手段に関する情報をログとして生成するログ生成手段と、生成されたログを格納するためのログ格納手段と、ログを格納した後のログ格納手段の記憶容量が一定量以下になったかどうかを判断する残量判断手段とを含む。【選択図】  図２
2013191162.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、前記記憶手段へのアクセスを制御する調停手段と、前記調停手段に接続され、前記調停手段を介して前記記憶手段へアクセスし、画像データに対して各々が異なる画像処理を実行する複数の画像処理手段とを含む画像形成装置の前記調停手段の動作を解析するための動作解析装置であって、
前記調停手段がどの前記画像処理手段に対して前記記憶手段へのアクセスを許可しているかを監視するアクセス監視手段と、
前記調停手段が前記記憶手段へのアクセスを許可する前記画像処理手段を切り替えたことを、前記アクセス監視手段が検出したことに応答して、アクセスが許可された前記画像処理手段に関する情報をログとして生成するログ生成手段と、
生成された前記ログを格納するためのログ格納手段と、
前記ログを格納した後の前記ログ格納手段の記憶容量が一定量以下になったかどうかを判断する残量判断手段と
を含む、動作解析装置。
【請求項２】
前記画像処理手段の選択を受け付ける選択手段を含み、前記ログ生成手段は、選択された前記画像処理手段による前記記憶手段へのアクセスの開始を前記アクセス監視手段が検出したことに応答して、前記ログの生成を開始する、請求項１に記載の動作解析装置。
【請求項３】
前記ログの生成を開始するまでの時間を受け付け、当該時間を設定する設定手段と、時間を計測する計測手段とを含み、前記ログ生成手段は、前記計測手段により計測される時間が前記設定された時間に達したとき、前記ログの生成を開始する、請求項１に記載の動作解析装置。
【請求項４】
前記画像処理手段が切り替わるまでの時間を計測手段により計測し、計測された時間を占有時間として保持する占有時間保持手段をさらに含む、請求項１〜３のいずれか１項に記載の動作解析装置。
【請求項５】
前記残量判断手段が前記一定量以下になったと判断した場合に、前記記憶手段へのアクセスが許可された前記画像処理手段が実行している画像処理に対し、割り込みを発生させ、前記複数の画像処理手段のすべてに前記記憶手段へのアクセス要求を停止するように通知する割り込み発生手段と、前記調停手段を制御し、前記ログ格納手段に格納された前記ログを、前記調停手段を介して前記記憶手段または他の記憶手段へ転送する転送手段とをさらに含む、請求項１〜４のいずれか１項に記載の動作解析装置。
【請求項６】
前記転送手段による前記ログの転送が終了したことに応答して、前記ログ格納手段に格納された前記ログを消去する消去手段と、前記割り込みを解除し、前記複数の画像処理手段のすべてに前記記憶手段へのアクセス要求を再開させるように通知する割り込み解除手段とをさらに含み、割り込み発生時に前記記憶手段へアクセスしていた画像処理手段と前記アクセス要求の再開した後に前記記憶手段へのアクセスを許可された画像処理手段とが異なる場合に、前記ログ生成手段は、前記割り込み発生時に前記記憶手段へアクセスしていた画像処理手段に関する情報を前記ログとして生成する、請求項５に記載の動作解析装置。
【請求項７】
請求項１〜６のいずれか１項に記載の動作解析装置を含む画像形成装置。
【請求項８】
記憶手段と、前記記憶手段へのアクセスを制御する調停手段と、前記調停手段に接続され、前記調停手段を介して前記記憶手段へアクセスし、画像データに対して各々が異なる画像処理を実行する複数の画像処理手段とを含む画像形成装置の前記調停手段の動作を解析するために動作解析装置により実行される方法であって、
前記調停手段がどの前記画像処理手段に対して前記記憶手段へのアクセスを許可しているかを監視するステップと、
前記調停手段が前記記憶手段へのアクセスを許可する前記画像処理手段を切り替えたことを検出したことに応答して、アクセスが許可された前記画像処理手段に関する情報をログとして生成するステップと、
生成された前記ログをログ格納手段に格納するステップと、
前記ログを格納した後の前記ログ格納手段の記憶容量が一定量以下になったかどうかを判断するステップとを含む、動作解析方法。
【請求項９】
請求項８に記載の動作解析方法を実行するためのコンピュータ可読なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのアクセスを調停する調停回路の動作を解析するための動作解析装置、その動作解析装置を含む画像形成装置、その動作を解析する方法およびその方法を実行するためのコンピュータ可読なプログラムに関する。
【背景技術】
【０００２】
画像形成装置やＰＣ等で採用されているコントローラ装置は、１つのバスに対して複数のインタフェース(I/F)が接続された回路構成とされている。このコントローラ装置は、ある瞬間にバスの使用権をもつことができるＩ／Ｆが１つのみとされ、複数のＩ／Ｆが同時にバスを使用することができないようになっている。このような複数のＩ／Ｆによるバスの使用を調停するために、コントローラ装置は調停回路としてアービタを備えている。
【０００３】
アービタは、バスを使用する優先度を決め、その優先度に応じて複数のＩ／Ｆの１つに使用権を与え、そのＩ／Ｆがバスへアクセスすることを可能にする。このため、優先度が低く割り当てられたＩ／Ｆは、複数のＩ／Ｆからのアクセス要求が競合してしまった場合、Ｉ／Ｆ高速化によるシステムパフォーマンスはそれほど向上しない。
【０００４】
このことに鑑み、アービタに、条件によって優先度を切り替える機能をもたせ、優先度が低いＩ／Ｆであってもパフォーマンスを確保することができるようにすることが提案されている。
【０００５】
しかしながら、この機能を確認するためには、各Ｉ／Ｆを同時に動作させる必要がある。近年、回路規模が大きくなり、また、各Ｉ／Ｆの機能も複雑化してきている状況においては、容易に確認を行うことができなくなっている。
【０００６】
そこで、各Ｉ／Ｆを動作させなくても、容易にアービタの動作を確認することができるコントローラ装置が提案されている（特許文献１参照）。このコントローラ装置は、複数のＤＭＡ(Direct Memory Access)回路が共通のメモリをアクセスする装置であって、各ＤＭＡ回路が接続されるインタフェース回路と、各ＤＭＡ回路のアクセス要求を調停する調停回路と、各ＤＭＡ回路を同時に起動し、調停回路の動作を、インタフェース回路を介さずに確認する制御回路とを備える構成とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１に記載のコントローラ装置を採用することで、アービタの動作確認を行うことができるものの、この動作確認は、各Ｉ／Ｆの動作を考慮しない条件での優先度の確認になってしまう。
【０００８】
また、アービタの優先度が、実際の動作中に設計者の意図した通りに切り替わっているかどうかを確認することができず、意図しないパフォーマンス問題や誤動作が発生した場合に、何が問題になっているかを解析することが容易ではないという問題もある。
【０００９】
そこで、複数のＩ／Ｆが接続されたバスにおける動作中のアービタの優先順位を記録して、その動作の解析を行うことができる装置や方法、特に、画像形成装置において複数の画像処理手段がどのような順序でメモリへアクセスしているかを記録することにより、アービタがどのような動作をしているかを解析することができる装置や方法の提供が望まれていた。
【課題を解決するための手段】
【００１０】
本発明は、上記課題に鑑みなされたものであり、記憶手段と、記憶手段へのアクセスを制御する調停手段と、調停手段に接続され、記憶手段において画像データに対して各々が異なる画像処理を実行する複数の画像処理手段とを含む画像形成装置の調停手段の動作を解析するための動作解析装置であって、調停手段がどの画像処理手段に対して記憶手段へのアクセスを許可しているかを監視するアクセス監視手段と、調停手段が記憶手段へのアクセスを許可する画像処理手段を切り替えたことを、アクセス監視手段が検出したことに応答して、切り替えられた画像処理手段に関する情報をログとして生成するログ生成手段と、生成されたログを格納するためのログ格納手段と、ログを格納した後のログ格納手段の記憶容量が一定量以下になったかどうかを判断する残量判断手段とを含む、調停手段の動作を解析するための動作解析装置が提供される。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の動作解析装置を備えた画像形成装置のハードウェア構成図。
【図２】動作解析装置の第１実施形態を示した機能ブロック図。
【図３】図２に示す動作解析装置が行う処理の流れを示したフローチャート。
【図４】図３のステップ３１０におけるテスト回路の初期設定の流れを示したフローチャート。
【図５】動作解析装置の第２実施形態を示した機能ブロック図。
【図６】図５に示す動作解析装置が行う処理の流れを示したフローチャート。
【図７】動作解析装置の第３実施形態を示した機能ブロック図。
【図８】図７に示す動作解析装置が行う処理の流れを示したフローチャート。
【図９】動作解析装置の第４実施形態を示した機能ブロック図。
【図１０】図９に示す動作解析装置が行う処理の流れを示したフローチャート。
【図１１】図９に示すモード選択部がモードを設定する際に使用するログ取得モード組み合わせ表の一例を示した図。
【図１２】図１０のステップ１０１５における書き込み初期設定の流れを示したフローチャート。
【図１３】図１０のステップ１０２５における書き込み処理の流れを示したフローチャート。
【図１４】動作解析装置の第５実施形態を示した機能ブロック図。
【図１５】図１４に示す動作解析装置が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１２】
図１は、本実施形態の動作解析装置を備えた画像形成装置のハードウェア構成図である。画像形成装置は、プリンタ、スキャナ装置、ＦＡＸ装置、ＭＦＰ(Multi Function Peripheral)等とすることができる。図１では、印刷機能とスキャナ機能とを備えるＭＦＰとされている。
【００１３】
図１に示す画像形成装置は、ハードウェアとして、プロッタ１０と、スキャナ装置１１と、外部記憶装置１２と、ＣＰＵ１３と、ネットワーク装置１４と、ＡＳＩＣ(Application Specific Integrated Circuit)１５とを含んで構成されている。プロッタ１０は、例えば、電子写真方式の印刷装置で、ＣＭＹＫの４色の画像データに基づきトナー画像を用紙上に形成し、定着させて出力する。
【００１４】
プロッタ１０は、上記のカラー印刷装置に限られるものではなく、モノクロ印刷装置であってもよい。また、プロッタ１０は、インク滴を用紙に塗布して画像を形成するインクジェット型のプロッタであってもよい。
【００１５】
スキャナ装置１１は、例えば、ＣＣＤ(Charge Coupled Device)を利用したカラーラインセンサにより原稿を１ライン毎に主走査方向へ読み取り、原稿を副走査方向へ移動して、ＲＧＢ毎に所定の階調を備えた画像データを生成する装置とすることができる。
【００１６】
スキャナ装置１１は、上記の装置に限られるものではなく、ＣＭＯＳ(Complementary Metal Oxide Semiconductor)を利用したものであってもよいし、原稿を移動させるのではなく、カラーラインセンサを移動させる構成であってもよい。
【００１７】
外部記憶装置１２は、例えば、ＨＤＤとされ、画像データのほか、プログラム、パラメータ、フォントデータ等を記憶する。また、外部記憶装置１２は、ログ格納手段としても機能し、ログを格納するのにも使用される。外部記憶装置１２としては、書き込み可能なＣＤ−ＲＯＭ、ＤＶＤ、ＳＤカード、ＵＳＢ(Universal Serial Bus)メモリ、ＳＳＤ(Solid State Drive)等を用いることも可能である。
【００１８】
ＣＰＵ１３は、ＣＰＵ以外のブロックを支配して画像形成装置の全体を制御する。この制御は、上記の外部記憶装置１２に記憶されたプログラムを実行することにより行うことができる。
【００１９】
ネットワーク装置１４は、例えば、ＮＩＣ(Network Interface Card)とされ、図示しないＬＡＮ(Local Area Network)等のネットワークと接続し、そのネットワークに接続された他の機器と通信することを可能にする。この通信は、ＴＣＰ／ＩＰ、ＦＴＰ、ＨＴＴＰ等のプロトコルを使用して行うことができる。
【００２０】
ＡＳＩＣ１５は、プロッタ１０と、スキャナ装置１１と、外部記憶装置１２と、ＣＰＵ１３と、ネットワーク装置１４と図示しないバスを介して接続される。ＡＳＩＣ１５は、内部バスを介して接続されたプロッタ出力部２０、ＣＰＵ  Ｉ／Ｆ２１、メモリ２２、スキャナ入力部２３、外部記憶装置Ｉ／Ｆ２４、ネットワークＩ／Ｆ２５、画像処理器２６、回転器２７、圧縮伸張器２８、調停手段としてのメモリアービタ２９を備える。また、ＡＳＩＣ１５は、ＡＳＩＣの機能の１つとして、テスト回路３０を追加で備えている。
【００２１】
プロッタ出力部２０は、外部記憶装置１２に記憶されている画像データを読み出し、読み出したＲＧＢの画像データをＣＭＹＫの画像データへ変換し、また、画像データの減色処理の１つであるディザ処理を行った後、ＣＭＹＫ各色の２値化データをプロッタ１０へ転送する。
【００２２】
ＣＰＵ  Ｉ／Ｆ２１は、ＣＰＵ１３と、ＡＳＩＣ１５との間で周波数の違いを吸収し、データの入出力を行うバッファとして機能し、また、ＡＳＩＣ各機能ブロック間でＣＰＵ１３とデータの送受信を行う。
【００２３】
メモリ２２は、例えば、ＲＡＭやＮＶＲＡＭとされ、ＣＰＵ１３がプログラムの実行時に作業用メモリとして使用する。本実施形態では、そのメモリ領域の一部を、後述するログを一時的に記憶するためにも用いる。
【００２４】
スキャナ入力部２３は、予め取得しているスキャナ装置１１のＣＣＤ特性に基づき、シェーディング補正処理、フィルタ処理、色変換処理等の各種の画像処理を画像データに対して施す。
【００２５】
外部記憶装置Ｉ／Ｆ２４は、外部記憶装置１２にデータを書き込み、その外部記憶装置１２からデータを読み出す処理を実行する。ネットワークＩ／Ｆ２５は、ＬＡＮ等のネットワークにアクセスし、そのネットワーク上のデータの宛先のＭＡＣ(Media Access Control)アドレスを監視し、画像形成装置へデータを選択的に取り込み、ＣＰＵ１３等に割り込みを出して制御する。また、ネットワークＩ／Ｆ２５は、ＣＰＵ１３からデータの送信要求を受け付けると、画像形成装置と宛先のＭＡＣアドレスを追加してネットワークへ出力する。
【００２６】
画像処理器２６、回転器２７、圧縮伸張器２８はそれぞれ、スキャナ装置１１が読み取った画像の画像データや、プロッタ１０へ転送される画像データに対し、画像処理、回転処理、圧縮伸張処理を施す。メモリアービタ２９は、処理の優先度が固定されている場合は、その優先度に応じてメモリ２２へのアクセスを許可する１つのモジュールを決定し、そのモジュールに対し使用権を与える。メモリアービタ２９は、内部にカウンタを持ち、使用権を与えるモジュールを順番に変えていき、全モジュールに均等に使用権を与えることも可能である。なお、モジュールは、ＡＳＩＣ１５の１つの機能を実現するための構成単位であり、画像処理器２６、回転器２７、圧縮伸張器２８等とされる。
【００２７】
テスト回路３０は、メモリアービタ２９の動作を解析するための回路で、動作解析装置として機能する。図２は、この動作解析装置の１つの構成例を示した機能ブロック図である。なお、図２には、動作解析装置として機能するテスト回路３０のほか、ＣＰＵ１３、ＣＰＵ  Ｉ／Ｆ２１、記憶手段としてのメモリ２２、画像処理手段として機能する画像処理器２６と回転器２７と圧縮伸張器２８、調停手段としてのメモリアービタ２９も示されている。
【００２８】
テスト回路３０は、アクセス監視手段としてのアクセス監視部３１と、ログ生成手段としてのログ生成部３２と、ログ格納手段としてのログ格納部３３と、残量判断手段としての残量判断部３４とを含んで構成される。なお、図２では、これらに加えて、モード選択部３５と、消去手段としての消去部３６とを備える構成とされている。
【００２９】
アクセス監視部３１は、メモリ２２へアクセスするモジュールを監視し、メモリアービタ２９がモジュールを切り替えたことを検出する。メモリアービタ２９は、優先度に応じて、メモリ２２へのアクセス要求を出力したモジュールの１つに対し、メモリ２２へアクセスするための使用権を与えるが、その１つのモジュールによる処理が終了すると、当該モジュールに対する使用権を取り消し、次のモジュールに対して使用権を与え、当該次のモジュールによるアクセスへ切り替える。
【００３０】
ログ生成部３２は、アクセス監視部３１がモジュールの切り替わりを検出したことを受け、どのモジュールがアクセスを許可されたかを受け付け、そのモジュールに関する情報、例えばモジュール名等をログとして生成する。ログ生成部３２は、モジュール名以外の情報もログとして生成することも可能である。その他の情報としては、例えば、切り替わりを検出したときの日付、時刻、メモリ２２へのアクセスを占有していた時間等を挙げることができる。
【００３１】
ログ格納部３３は、ログ生成部３２が生成したログを順に格納する。残量判断部３４は、ログ格納部３３が有する記憶容量のうち、何も記憶されていない残りの記憶容量（残量）を監視し、その残量が一定量以下になったかどうかを判断する。一定量は、任意の量とすることができ、予め設定しておくことができる。ログ格納部３３は、残量判断部３４が一定量以下になったと判断するまで、ログを順に格納していく。
【００３２】
このようにログを順に格納していくことで、一連の動作が終了した後、一括してログ格納部３３からログデータをメモリ２２や外部記憶装置１２へ出力して、それを解析することができる。この解析により、どのような順序（優先度）でメモリアクセスが行われているかを確認することができる。なお、ログデータは、その他の記憶装置へ出力し、記憶させることも可能であり、ネットワークを介してＰＣ、サーバ装置等へ出力することも可能である。
【００３３】
モード選択部３５は、ユーザの選択により、ログを生成して格納するログ取得モードか、ログ取得を行わない通常モードのいずれかを設定する。消去部３６は、テスト回路３０内のすべての設定およびログ格納部３３に格納されたすべてのログを消去する。このため、ログ生成部３２は、モード選択部３５が設定したモードを参照し、そのモードがログを生成して格納するログ取得モードになっている場合にログを生成する。また、消去部３６は、ユーザが消去することを選択した場合や、すべてのログがメモリ２２や外部記憶装置１２へ出力された場合等に、テスト回路３０内の設定およびログを消去する。
【００３４】
図３は、図２に示す動作解析装置が行う処理の流れを示したフローチャートである。動作解析装置は、ステップ３００から処理を開始し、最初に、ステップ３０５で、モード選択部３５がモードの選択を受け付け、そのモードがログ取得モードであるかどうかを判定する。ログ取得モードである場合、ステップ３１０へ進み、そうでない場合は、ステップ３７０へ進み、この処理を終了する。
【００３５】
ステップ３１０では、テスト回路３０の初期設定を行う。この初期設定の処理については後述する。ステップ３１５では、アクセス監視部３１は、モジュールがメモリ２２へのアクセスを開始したかどうかを判定する。この判定は、メモリアービタ２９へのアクセスが開始された否かにより行うことができる。
【００３６】
メモリ２２へのアクセスを開始したと判定されたことに応答して、ステップ３２０で、ログ生成部３２がログを生成し、ログ格納部３３に格納する。このときに生成されるログの内容としては、どのモジュールがメモリアービタ２９から使用権を与えられているかがわかるように、モジュールに関する情報、例えばモジュール名とされる。
【００３７】
残量判断部３４は、ステップ３２５で、ログ格納部３３の残量を監視し、ステップ３３０で、その残量が一定量以下であるかどうかを判断する。残量が一定量より多い場合は、ステップ３３５へ進み、それ以下である場合は、ステップ３６５へ進む。
【００３８】
ステップ３３５では、アクセス監視部３１は、モジュールによるメモリ２２へのアクセス状況を監視し、モジュールが切り替わったことを検出すると、ステップ３４０で、ログ生成部３２がログを生成し、ログ格納部３３にその生成したログを格納する。そして、ステップ３４５で、残量判断部３４が、ログ格納部３３の残量を確認し、ステップ３５０で、その残量が一定量以下となったかどうかを判断する。
【００３９】
残量が一定量以下になったと判断された場合、ステップ３５５へ進み、ログ格納部３３の残量の１つの基準であるＦＵＬＬフラグを、その残量が一定量以下であることを示す１に設定し、ステップ３６０へ進む。残量が一定量より多いと判断された場合は、まだログを格納することが可能であるため、ステップ３３５へ戻り、ステップ３３５〜ステップ３５０の監視、ログの生成および格納、残量の確認、判断を行う。
【００４０】
ステップ３６０では、ログ格納部３３の残量が少なくなってきているので、ログ生成部３２は、ログの生成を停止して、ログ取得を停止する。その後、ステップ３６５で、ログ格納部３３に格納されたログをメモリ２２や外部記憶装置１２へ出力し、ステップ３７０でこの処理を終了する。
【００４１】
図４は、図３に示すステップ３１０で行われるテスト回路３０の初期設定の処理の流れを示したフローチャートである。ステップ４００からこの処理を開始し、ステップ４０５において、消去部３６が、ログ格納部３３に格納されたログのすべて、およびテスト回路３０内の各機能の設定値のすべてを消去する。次に、ステップ４１０で、ログ格納部３３の残量の１つの基準であるＦＵＬＬフラグを、その残量が一定量以下であることを示す０に設定する。
【００４２】
デフォルトでは、モードが通常モードになっているため、ステップ４１５では、モード選択部３５がログ取得モードへ切り替え、ステップ４２０でこの処理を終了する。
【００４３】
図５は、動作解析装置の第２実施形態を示した機能ブロック図である。図５も、図２と同様、テスト回路３０のほか、ＣＰＵ１３、ＣＰＵ  Ｉ／Ｆ２１、メモリ２２、画像処理器２６、回転器２７、圧縮伸張器２８、メモリアービタ２９が示されている。
【００４４】
テスト回路３０は、アクセス監視部３１と、ログ生成部３２と、ログ格納部３３と、残量判断部３４と、モード選択部３５と、消去部３６とを含むが、図５に示す実施形態では、さらに、選択手段としてのモジュール選択部３７を含む。
【００４５】
アクセス監視部３１、ログ生成部３２、ログ格納部３３、残量判断部３４、モード選択部３５、消去部３６については、すでに説明したので、ここでは、モジュール選択部３７についてのみ説明する。
【００４６】
図２に示す実施形態の構成では、メモリ２２へのアクセス開始が、ログ取得の開始フラグとなっている。この場合、ログ格納部３３が有する記憶容量によっては、確認したい処理が複雑で、かつ後半になるほどログがその容量内に収まらなくなる可能性がある。
【００４７】
そこで、モジュール選択部３７を追加し、メモリ２２へのアクセスを開始したときからではなく、選択したモジュールが最初に動作したときから、ログ取得を開始させるようにする。具体的には、モジュール選択部３７は、ユーザによるモジュールの選択を受け付け、そのモジュールをログ取得の開始フラグとして設定する。ログ生成部３２は、その設定されたモジュールが最初に動作したときから、ログの生成を開始する。
【００４８】
図６は、図５に示す動作解析装置が行う処理の流れを示したフローチャートである。動作解析装置は、ステップ６００から処理を開始し、最初に、ステップ６０５で、モード選択部３５がモードの選択を受け付け、そのモードがログ取得モードであるかどうかを判定する。ログ取得モードである場合、ステップ６１０へ進み、そうでない場合は、ステップ６７５へ進み、この処理を終了する。
【００４９】
ステップ６１０では、テスト回路３０の初期設定を行う。この初期設定の処理については後述する。ステップ６１５では、モジュール選択部３７が受け付けたモジュールをログ生成開始モジュールとして設定し、ステップ６２０では、その設定されたモジュールがメモリ２２へのアクセスを開始したかどうかを判定する。なお、そのモジュールがメモリ２２へのアクセスを開始するまでこの判定を行う。
【００５０】
アクセス監視部３１が、そのモジュールがメモリ２２へのアクセスを開始したことを検出すると、ステップ６２５で、ログ生成部３２がそのモジュールにつきログを生成し、ログ格納部３３に格納する。
【００５１】
残量判断部３４は、ステップ６３０で、ログ格納部３３の残量を確認し、ステップ６３５で、残量が一定量以下であるかどうかを判断する。残量が一定量より多い場合は、ステップ６４０へ進み、それ以下である場合は、ステップ６６５へ進む。
【００５２】
ステップ６４０では、アクセス監視部３１が、モジュールによるメモリ２２へのアクセス状況を監視し、モジュールが切り替わったことを検出すると、ステップ６４５で、ログ生成部３２がログを生成し、ログ格納部３３にその生成したログを格納する。そして、ステップ６５０で、残量判断部３４が、ログ格納部３３の残量を確認し、ステップ６５５で、その残量が一定量以下となったかどうかを判断する。
【００５３】
残量が一定量以下になったと判断された場合、ステップ６６０へ進み、ＦＵＬＬフラグを１に設定し、ステップ６６５へ進む。残量が一定量より多いと判断された場合は、ステップ６４０へ戻り、ステップ６４０〜ステップ６５５において、監視、ログの生成および格納、残量の確認、判断を行う。
【００５４】
ステップ６６５では、ログ格納部３３の残量が少なくなってきているので、ログ生成部３２は、ログの生成を停止する。その後、ステップ６７０で、ログ格納部３３に格納されたログをメモリ２２や外部記憶装置１２へ出力し、ステップ６７５でこの処理を終了する。
【００５５】
図７は、動作解析装置の第３実施形態を示した機能ブロック図である。図７に示す動作解析装置は、図２に示す構成に、さらに、ログの生成を開始するまでの時間を受け付け、当該時間を設定する設定手段としてのタイミング設定部３８と、時間を計測する計測手段としてのタイマ３９とが追加された構成とされている。この構成も、図５に示す実施形態と同様、ログ格納部３３の記憶容量を有効活用するため、ログ取得のタイミングを制御するものである。タイミング設定部３８とタイマ３９以外についてはすでに説明したので、ここではタイミング設定部３８およびタイマ３９について説明する。
【００５６】
タイミング設定部３８は、テスト回路３０の初期設定を行った後、ログ生成を開始するタイミングを時間により設定するために、ユーザにより入力された時間を受け付け、それを設定する。その設定された時間は、タイマ３９により計測される。ログ生成部３２は、タイマ３９により計測された時間が設定された時間に達したとき、ログの生成を開始する。
【００５７】
タイマ３９をスタートするタイミングは、テスト回路３０の初期設定が終了したタイミングとすることができる。しかしながら、これに限られるものではなく、メモリアービタ２９にアクセスが開始されたタイミングであってもよい。
【００５８】
図８は、図７に示す動作解析装置が行う処理の流れを示したフローチャートである。動作解析装置は、ステップ８００から処理を開始し、最初に、ステップ８０５で、モード選択部３５がモードの選択を受け付け、そのモードがログ取得モードであるかどうかを判定する。ログ取得モードである場合、ステップ８１０へ進み、そうでない場合は、ステップ８８０へ進み、この処理を終了する。
【００５９】
ステップ８１０では、テスト回路３０の初期設定を行う。この初期設定の処理については上記に説明したのと同様である。ステップ８１５では、タイミング設定部３８がログの生成を開始させる時間を設定する。ステップ８２０で、タイマ３９をスタートする。ステップ８２５では、タイマ３９が計測した時間が、ステップ８１５で設定された時間に達したかどうかを判断し、達していない場合は、この判断を繰り返す。
【００６０】
これに対して、達した場合は、ステップ８３０へ進み、ログ生成部３２によるログの生成を開始させ、ログ生成部３２が生成したログをログ格納部３３に格納する。以降の処理は、図６に示す処理と同様である。
【００６１】
すなわち、残量判断部３４は、ステップ８３５で、ログ格納部３３の残量を確認し、ステップ８４０で、残量が一定量以下であるかどうかを判断する。残量が一定量より多い場合は、ステップ８４５へ進み、それ以下である場合は、ステップ８７０へ進む。
【００６２】
ステップ８４５では、アクセス監視部３１が、モジュールによるメモリ２２へのアクセス状況を監視し、モジュールが切り替わったことを検出すると、ステップ８５０で、ログ生成部３２がログを生成し、ログ格納部３３にその生成したログを格納する。そして、ステップ８５５で、残量判断部３４が、ログ格納部３３の残量を確認し、ステップ８６０で、その残量が一定量以下となったかどうかを判断する。
【００６３】
残量が一定量以下になったと判断された場合、ステップ８６５へ進み、ＦＵＬＬフラグを１に設定し、ステップ８７０へ進む。残量が一定量より多いと判断された場合は、ステップ８４５へ戻り、ステップ８４５〜ステップ８６０において、監視、ログの生成および格納、残量の確認、判断を行う。
【００６４】
ステップ８７０では、ログ格納部３３の残量が少なくなってきているので、ログ生成部３２は、ログの生成を停止する。その後、ステップ８７５で、ログ格納部３３に格納されたログをメモリ２２や外部記憶装置１２へ出力し、ステップ８８０でこの処理を終了する。
【００６５】
図９は、動作解析装置の第４実施形態を示した機能ブロック図である。図９に示す動作解析装置は、図２、図５および図７に示すアクセス監視部３１、ログ生成部３２、ログ格納部３３、残量判断部３４、モード選択部３５、消去部３６、モジュール選択部３７、タイミング設定部３８、タイマ３９に加えてさらに、占有時間保持手段としての占有時間保持部４０が追加された構成とされている。ここで追加された占有時間保持部４０以外は、すでに説明したので、ここでは説明を省略する。
【００６６】
占有時間保持部４０は、任意のモジュールにメモリアービタ２９から使用権が与えられ、そのモジュールがメモリ２２を占有している時間をタイマ３９により計測し、その時間を占有時間として記録する。占有時間は、例えば、モジュールが最初にメモリアクセスを開始したときから、次のモジュールがメモリアクセスを開始するまでとすることができる。なお、これは一例であるので、これに限られるものではない。
【００６７】
占有時間保持部４０を備える場合、常に記録した占有時間も含めてログとしてログ格納部３３に格納させることができるが、モード選択部３５が受け付け、設定したモードにより、モジュールに関する情報のみをログとしてログ格納部３３に格納させることも可能である。
【００６８】
図１０は、図９に示す動作解析装置が行う処理の流れを示したフローチャートである。ステップ１０００からこの処理を開始し、ステップ１００５で、テスト回路３０の初期設定を行う。これまでの実施形態では、ログ取得モードに必ず設定するという処理を行っていたが、この実施形態では、動作モードの数が多いことから、まず始めにこの初期設定を行う。
【００６９】
初期設定における処理の流れは、図３に示した処理の流れと同様である。ただし、モード数が多いことから、モードを識別するためのモード識別情報を設定する。モード識別情報としては、一例として、モードに対応して割り当てられたモード番号が挙げられる。
【００７０】
ステップ１０１０では、設定されたモード番号を基に、ログ取得を行うかどうかを判定する。取得しない場合は、ステップ１０３５へ進み、この処理を終了する。これに対し、ログ取得を行う場合、ステップ１０１５へ進み、どのモジュールに使用権が与えられ、アクセスが許可されたかをログとして記録する制御を行うため、ログの書き込み初期設定を行う。この書き込み初期設定は、ログの書き込みを開始する前の各動作モードに応じた初期設定を行う制御である。この詳細については後述する。
【００７１】
この初期設定が終了すると、ステップ１０２０へ進み、ログ生成部３２が最初のログを生成し、ログ格納部３３にそのログを格納する。その後、ステップ１０２５で、ログの書き込み処理を行う。この書き込み処理は、上述したモジュールが切り替わるまで待ち、ログ格納部３３の残量の確認を行う等の処理である。この処理の詳細も後述する。ステップ１０３０では、全ての動作が完了した後、ログをメモリ２２や外部記憶装置１２へ出力し、ステップ１０３５でこの処理を終了する。なお、メモリ２２や外部記憶装置１２へ出力されたログは、後で解析される。
【００７２】
図１１は、図１０のステップ１００５のテスト回路３０の初期設定で使用されるログ取得モードの組み合わせ表を例示した図である。この表は、初期設定で設定されるモードを識別するためのモード番号が、ログの有無、ログ取得開始のタイミング、取得するログの内容と対応付けられている。ログ取得開始のタイミングは、最初にメモリ２２にアクセスしたタイミング、もしくは任意のモジュールが最初にバスを占有したタイミング、または最初のメモリ２２へのアクセスから任意の時間が経過した後のタイミングとされている。占有時間保持部４０がタイマ３９を使用して行う占有時間の計測は、これらのタイミングを使用して行われる。
【００７３】
取得ログの内容は、バスを占有しているモジュールの情報、すなわちそのモジュールのモジュール名のみか、モジュールの情報とバスの占有時間の両方を含むものとされる。しかしながら、これらに限られるものではなく、必要に応じてその他の情報を含めることも可能である。
【００７４】
図１２は、図１０のステップ１０１５の書き込み初期設定で行われる処理の流れを示したフローチャートである。図１０のステップ１０１０でログ取得を行うと判定された場合に、ステップ１２００からこの処理を開始する。まず、ステップ１２０５で、設定されたモードが、図１１に示す組み合わせ表におけるモード番号のうち、２または３であるかを判定する。
【００７５】
モード番号が２または３である場合、ステップ１２１０へ進み、メモリ２２へのアクセスを開始したかを判定する。アクセスを開始していない場合は、アクセスを開始するまでこのステップ１２１０における判定処理を繰り返す。次に、ステップ１２１５で、モード番号が３であるか否かを判定する。モード番号が３でない場合は、ステップ１２７５へ進み、この処理を終了する。
【００７６】
ステップ１２０５でモード番号が２または３ではないと判定された場合、ステップ１２２０へ進み、モード番号が４または５であるかを判定する。モード番号が４または５である場合、ステップ１２２５へ進み、モジュール選択部３７によりモジュールを設定し、ステップ１２３０で、そのモジュールがメモリ２２へのアクセスを開始したかを判定する。
【００７７】
そのモジュールがメモリ２２へのアクセスを開始しない場合は、開始するまでステップ１２３０における判定処理を繰り返す。次に、ステップ１２３５で、モード番号が５であるか否かを判定する。モード番号が５ではない場合は、ステップ１２７５へ進み、この処理を終了する。
【００７８】
ステップ１２３５でモード番号が５であると判定された場合、またはステップ１２１５でモード番号が３であると判定された場合、ステップ１２４０へ進み、占有時間保持部４０が保持する占有時間のデータを消去してリセットし、ステップ１２４５で占有時間を計測するためにタイマ３９をスタートする。これにより、書き込み初期設定における処理は終了するため、ステップ１２７５へ進む。
【００７９】
ステップ１２２０でモード番号が４または５でもないと判定された場合、ステップ１２５０へ進む。この場合、モード番号は６または７のいずれかである。ステップ１２５０では、タイミング設定部３８にログの生成を開始させる時間を設定し、ステップ１２５５で、タイマ３９をスタートする。
【００８０】
ステップ１２６０では、タイマ３９により計測される時間が設定された時間に達したかどうかを判定する。達していない場合は、このステップ１２６０における判定処理を繰り返す。これに対し、達した場合は、ステップ１２６５へ進み、モード番号が７であるか否かを判定する。モード番号が７ではなく、６である場合は、ステップ１２７５へ進み、この処理を終了する。
【００８１】
ステップ１２６５でモード番号が７であると判定された場合、ステップ１２７０へ進み、占有時間保持部４０が保持する占有時間のデータを消去してリセットし、ステップ１２７５へ進み、この書き込み初期設定を終了する。このような処理を実行することにより、ログの書き込みタイミングとログの内容の粒度の初期設定が可能となる。
【００８２】
図１３は、図１０のステップ１０２５で行われる書き込み処理の流れを示したフローチャートである。この処理は、ステップ１３００において最初のログの書き込みが終了したところから開始する。ステップ１３０５では、その時点におけるログ格納部３３の残量の確認を行う。そして、ステップ１３１０において、その残量が一定量以下であるか否かを判断する。
【００８３】
残量が一定量以下であると判断された場合、残量が少ないので、ステップ１３５０へ進み、ステップ１３５０で、ログ取得を停止する。これに対し、残量が一定量より多いと判定された場合は、残量に余裕があるので、ステップ１３１５へ進み、書き込み処理を続けていく。すなわち、アクセス監視部３１が、モジュールによるメモリ２２へのアクセス状況を監視し、モジュールが切り替わったことを検出すると、ステップ１３２０で、ログ生成部３２がログを生成し、ログ格納部３３にその生成したログを格納する。
【００８４】
ステップ１３２５では、ログの内容が占有時間を記録するモードのモード番号であるか否かを判定し、そうでない場合は、直接ステップ１３３０へ進み、そうである場合は、ステップ１３３５へ進む。ステップ１３３５では、占有時間保持部４０が保持する占有時間のデータを消去してリセットし、ステップ１３３０へ進む。
【００８５】
ステップ１３３０では、残量判断部３４が、ログ格納部３３の残量を確認し、ステップ１３４０で、その残量が一定量以下となったかどうかを判断する。残量が一定量以下になったと判断された場合、ステップ１３４５へ進み、ＦＵＬＬフラグを１に設定し、ステップ１３５０へ進む。残量が一定量より多いと判断された場合は、ステップ１３１５へ戻り、ステップ１３１５〜ステップ１３４０において、監視、ログの生成および格納、占有時間を記録するモードか否かの判定、占有時間保持部４０のリセット、残量の確認、判断を行う。
【００８６】
ステップ１３５０では、ログ格納部３３の残量が少なくなってきているので、ログ生成部３２は、ログの生成を停止してログ取得を停止し、ステップ１３５５でこの書き込み処理を終了する。
【００８７】
図１４は、動作解析装置の第５実施形態を示した機能ブロック図である。図１４に示す構成では、図９に示した構成に加えて、さらに、モジュールが実行している画像処理に対し、割り込みを発生させ、複数のモジュールのすべてにメモリ２２へのアクセス要求を停止するように通知する割り込み発生手段としての割り込み発生部４１を備えている。
【００８８】
また、この構成では、ログ格納部３３に格納されたログを、メモリ２２や外部記憶装置１２のログ格納部３３以外の記憶装置へ転送する転送手段としてのデータ転送部４２を備えている。この割り込み発生部４１とデータ転送部４２以外については、すでに上述したので、ここでは説明を省略する。
【００８９】
割り込み発生部４１は、ログ格納部３３の残量がほとんどなくなった場合、もしくはログ格納部３３内のデータが空になったことをＣＰＵ１３に対して割り込みとして通知する。データ転送部４２は、ログ格納部３３に格納されたデータをメモリ２２へ出力するためにメモリアービタ２９を制御する。
【００９０】
これにより、モード選択部３５がログ取得モードのほか、ログ格納部３３の残量が一定量以下となった場合に一度ログをメモリ２２や外部記憶装置１２に転送して再度ログ取得を可能にするモードも選択することができるようになる。すなわち、再度ログ取得を可能にするモードでは、ログ格納部３３の残量が一定量以下になるまでログが溜まったところで、割り込み発生部４１により割り込みをＣＰＵ１３に対して出し、一度動作を停止させる。そして、データ転送部４２がメモリアービタ２９を制御し、そのメモリアービタ２９を通してメモリ２２にその溜まったログを転送し、全部転送し終えたところで、割り込み発生部４１が再度割り込みをＣＰＵ１３に対して出し、ログ取得を再開させる。
【００９１】
これら割り込み発生部４１とデータ転送部４２とをさらに含む動作解析装置により行われる処理について、図１５を参照して詳細に説明する。ステップ１５００からこの処理を開始し、ステップ１５０５でテスト回路３０の初期設定を行う。この初期設定における処理の流れは、図３に示した処理の流れと同様である。ただし、モード数が多いことから、モードを識別するためのモード識別情報を設定する。モード識別情報の一例として、上記のモード番号が挙げられる。
【００９２】
ステップ１５１０では、設定されたモード番号を基に、ログ取得を行うか否かを判定する。すなわち、図１１の組み合わせ表におけるモード番号が１であるか否かを判定する。モード番号が１である場合は、ステップ１６３０へ進み、この処理を終了する。モード番号が１以外である場合は、ステップ１５１５へ進む。
【００９３】
ステップ１５１５では、ログ格納部３３の残量が少なくなり、ログを格納することができないことを示すＥＭＰＴＹフラグをリセットし、ＥＭＰＴＹフラグを０に設定する。その後、ステップ１５２０で、モードに応じたログの書き込みタイミングとログの内容の粒度の書き込み初期設定を行う。この書き込み初期設定は、図１２に示した処理と同様の処理である。それが終了すると、ステップ１５２５で、最初のログを生成し、ログ格納部３３にそのログを格納する。
【００９４】
ステップ１５３０では、図１３に示した書き込み処理と同様の処理を実行する。その後、ステップ１５３５で、モード選択部３５により設定されたモードが、ログ格納部３３の残量が一定量以下になる毎にメモリ２２等に転送するモードであるかを判定する。そうでない場合、ステップ１５４０へ進み、本体動作が完了した後に、溜まったログをメモリ２２や外部記憶装置１２へ出力し、ステップ１６３０でこの処理を終了する。
【００９５】
これに対し、残量が一定量以下になる毎に転送するモードである場合、ステップ１５４５へ進み、バスへのアクセスを継続中であるかを判定する。継続中でない場合、モジュールによるメモリ２２へのアクセス要求がないことを示すため、ステップ１５４０へ進み、これまでに溜まったログをメモリ２２や外部記憶装置１２へ出力し、ステップ１６３０でこの処理を終了する。
【００９６】
継続中である場合、まだモジュールによるメモリ２２へのアクセス要求があり、格納すべきログが存在することを示すので、ステップ１５５０へ進み、割り込み発生部４１がＣＰＵ１３に割り込みを発生させる。ＣＰＵ１３は、ステップ１５５５で、全モジュールに対してバスへのアクセスを停止する命令を出力する。そして、ステップ１５６０で、テスト回路３０が備えるタイマ３９を一時停止する。
【００９７】
ステップ１５６５では、最後にメモリ２２へアクセスしていたモジュールのモジュール名を、モジュール選択部３７がログ取得の開始フラグとして設定する。その後、ステップ１５７０で、ログをメモリ２２や外部記憶装置１２へ出力する。ステップ１５７５で、ログ格納部３３が空になったかを判定する。空になった場合は、ステップ１５８０でフラグを１に設定し、ステップ１５８５へ進む。
【００９８】
ステップ１５７５でログ格納部３３が空になっていないと判定された場合、ステップ１５７０へ戻り、再びログを出力する。ステップ１５８５では、再びフラグを０に設定し、ステップ１５９０で、ＣＰＵ１３に割り込みを発生させる。そして、ステップ１５９５で、ＣＰＵ１３が全モジュールに対してバスへのアクセスを再開する命令を出力し、ステップ１６００で、割り込みをリセットする。
【００９９】
ステップ１６０５では、実際にメモリ２２へのアクセスが再開されたかどうかを判定し、再開されていない場合には再開されるまでステップ１６０５の判定処理が繰り返される。再開された場合は、ステップ１６１０へ進み、そのメモリ２２へのアクセスが、割り込みにより停止させられた最後にアクセスしていたモジュールによるものであるかを判定する。同じモジュールによるものである場合、ステップ１６２５へ進む。
【０１００】
その一方、異なるモジュールによるものである場合、ステップ１６１５へ進み、モジュールが切り替えられているので、ログを生成し、ログ格納部３３にそのログを格納する。その後、ステップ１６２０で、占有時間保持部４０が保持する占有時間のデータを消去してリセットする。そのリセット後、ステップ１６２５へ進む。
【０１０１】
ステップ１６２５でタイマ３９を再スタートし、ステップ１５３０へ戻り、ログの書き込み処理を行う。すなわち、メモリ２２へアクセスするモジュールが切り替えられるのを監視し、切り替えられたときにログを生成し、そのログを格納する処理を行う。
【０１０２】
メモリ２２へのアクセス要求がなくなるまで、アクセス状況の監視、ログの生成、ログ格納部３３への格納、ログ格納部３３の残量がなくなったところでの割り込み、ログの出力、監視の再開を繰り返す。このようにしてログを記録することで、メモリアービタ２９の動作を解析することが可能となる。
【０１０３】
これまで本発明を、動作解析装置、その動作解析装置を含む画像形成装置およびその動作解析装置により実行される方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、上記の装置および方法のみならず、その方法を実行するためのコンピュータ可読なプログラムや、そのプログラムが記録された記録媒体も提供することができるものである。
【符号の説明】
【０１０４】
１０…プロッタ、１１…スキャナ装置、１２…外部記憶装置、１３…ＣＰＵ、１４…ネットワーク装置、１５…ＡＳＩＣ、２０…プロッタ出力部、２１…ＣＰＵ  Ｉ／Ｆ、２２…メモリ、２３…スキャナ入力部、２４…外部記憶装置Ｉ／Ｆ、２５…ネットワークＩ／Ｆ、２６…画像処理器、２７…回転器、２８…圧縮伸張器、２９…メモリアービタ、３０…テスト回路、３１…アクセス監視部、３２…ログ生成部、３３…ログ格納部、３４…残量判断部、３５…モード選択部、３６…消去部、３７…モジュール選択部、３８…タイミング設定部、３９…タイマ、４０…占有時間保持部、４１…割り込み発生部、４２…データ転送部
【先行技術文献】
【特許文献】
【０１０５】
【特許文献１】特開２００４−３３４７７４号公報
【図１】
2013191162.tif 000003
【図２】
2013191162.tif 000004
【図３】
2013191162.tif 000005
【図４】
2013191162.tif 000006
【図５】
2013191162.tif 000007
【図６】
2013191162.tif 000008
【図７】
2013191162.tif 000009
【図８】
2013191162.tif 000010
【図９】
2013191162.tif 000011
【図１０】
2013191162.tif 000012
【図１１】
2013191162.tif 000013
【図１２】
2013191162.tif 000014
【図１３】
2013191162.tif 000015
【図１４】
2013191162.tif 000016
【図１５】
2013191162.tif 000017