検証対象のターゲットコードを実行するターゲットCPUの動作を模擬するCPUコアシミュレータと、前記ターゲットCPUの制御対象装置の動作を模擬する装置シミュレータと、前記ターゲットCPUに対するタイマ部の動作を模擬するタイマシミュレータと、前記タイマシミュレータの設定から前記CPUコアシミュレータに発生するタイマイベントの時刻を判定し、前記判定したタイマイベントの時刻までの模擬動作を前記装置シミュレータに指示する指示手段と、を備えていることを特徴とする情報処理装置。前記タイマイベントの発生を判定するための時刻を保持する基準タイマを備えており、前記指示手段は、前記タイマシミュレータの設定から、前記CPUコアシミュレータに発生する各タイマイベントの時刻を示すタイマイベント管理テーブルを維持し、前記装置シミュレータの模擬動作が終了したときの前記装置シミュレータの第1の時刻が、前記タイマイベント管理テーブルの各タイマイベントの一番先の第2の時刻より前である場合には、前記第1の時刻を前記基準タイマに設定し、前記第1の時刻が、前記第2の時刻又は前記第2の時刻より後である場合には、前記第2の時刻を前記基準タイマに設定して、前記タイマイベント管理テーブルから前記第2の時刻を消去するCPUタイマ管理手段と、前記CPUコアシミュレータが繰り返し実行する第1の命令を実行した際に、前記タイマイベント管理テーブルの各タイマイベントの一番先の時刻までの模擬動作を前記装置シミュレータに指示する実行管理手段と、を備えていることを特徴とする請求項1に記載の情報処理装置。前記CPUタイマ管理手段は、前記CPUコアシミュレータが繰り返し実行する第2の命令に対応する時刻を、前記タイマイベント管理テーブルにタイマイベントの時刻として登録することを特徴とする請求項2に記載の情報処理装置。請求項1から3のいずれか1項に記載の情報処理装置としてコンピュータを機能させることを特徴とするプログラム。シミュレーションを行うためには、各シミュレータ間で送受される各種信号等により制御される動作を模擬する必要がある。しかしながら、同期単位時間による同期処理を行う場合、これら信号等の伝達のタイミングは、同期単位時間の範囲でばらつくことになる。その一方で、信号等の伝達が必要なく、各シミュレータが独立して動作できる場合においても同期処理が行われることになる。つまり、あるシミュレータが他のシミュレータと模擬時刻を合わせるために、処理待ちを行わなければならない状態が発生し、処理効率が低下する。また、特許文献2では、制御対象装置でのイベントをシミュレーションエンジン部が求める構成になっているが、シミュレーションエンジン部で予測不可能なイベントには対応できない。また、各シミュレータが、イベントに対応する模擬動作のみを実行するため、イベントと非同期に進行する模擬動作には対応できない。本発明は、不要な処理による処理効率の低下を防ぎつつ、必要な精度で模擬時刻の同期を行うことができる情報処理装置と、当該情報処理装置としてコンピュータを機能させるプログラムを提供するものである。本発明による情報処理装置は、検証対象のターゲットコードを実行するターゲットCPUの動作を模擬するCPUコアシミュレータと、ターゲットCPUの制御対象装置の動作を模擬する装置シミュレータと、ターゲットCPUに対するタイマ部の動作を模擬するタイマシミュレータと、タイマシミュレータの設定からCPUコアシミュレータに発生するタイマイベントの時刻を判定し、判定したタイマイベントの時刻までの模擬動作を装置シミュレータに指示する指示手段と、を備えていることを特徴とする。各シミュレータの模擬時刻を、CPUシミュレータに対して発生するタイマイベントに合わせて同期させる。これにより、不要な処理による処理効率の低下を防ぎつつ、必要な精度での時刻同期を行うことができる。第一実施形態本発明の第一実施形態について、以下では図面を用いて詳細に説明する。なお、以下の説明において、特に明記しない限り、或いは、文脈から明らかである場合を除き、時間とは模擬時間を意味するものとする。本実施形態における情報処理装置は、装置に組み込まれたターゲットCPUで動作するプログラムであるターゲットコードを検証するものである。なお、情報処理装置は、パーソナルコンピュータ、ワークステーション等以下、ホストPCと記すで実行されるプログラムとして実現され得る。図2は、ホストPCのハードウェア構成の概略図である。図2のホストPC200のCPU201は、バス210を介して、ROM202、RAM203、入力インタフェース204、出力インタフェース206、外部記憶装置インタフェース208と接続されている。CPU201は、ROM202、RAM203に記憶されたプログラムに従い動作する。また、CPU201は、入力インタフェース204、外部記憶装置インタフェース208経由で受け取る外部入力に対する情報処理を行い、結果を出力インタフェース206、外部記憶装置インタフェース208経由で出力する。入力インタフェース204は、キーボード、マウス等の入力装置205を介してユーザからの入力を受け取る。出力インタフェース206は、LCDや、プリンタ、プロッタ等の出力装置207に対しデータの表示や出力を行う。外部記憶装置インタフェース208は、ハードディスクやCD-ROM等の外部記憶装置209に対するデータの入出力を行う。CPU201は、外部記憶装置209に保存される設定データ209b内のデータを使用して、処理プログラム209aを実行することで、本実施形態による情報処理装置として機能する。なお、検証対象のプログラムであるターゲットコード209cも外部記憶装置209に保存される。なお、外部記憶装置209は、図示しないが、CPU201で動作する基本ソフトウェアであるオペレーティングシステム以下、ホストOSと記すを保存している。なお、処理プログラム209aは、ホストOS上で動作する。続いて、本実施形態における情報処理装置について、図1を用いて説明する。図1において、CPUシミュレータ101は、それぞれ、制御対象装置に組み込まれたターゲットCPUの動作を模擬するものである。また、装置シミュレータ103は、ターゲットCPUが制御する制御対象装置の動作を模擬するものである。情報処理装置は、さらに、上記各シミュレータ間を接続し、上記各シミュレータ間の動作を協調させるシミュレータ接続部102を備えている。なお、CPUシミュレータ101のCPUコアシミュレータ104は、ターゲットCPUのコア機能を模擬するものであり、CPU周辺回路シミュレータ105は、ターゲットCPUの周辺回路を模擬するものである。CPUコアシミュレータ104のターゲット命令実行部108は、ターゲットコードの実行を模擬するものであり、ターゲットコード209cを解釈して、所定の演算処理や、CPU周辺回路シミュレータ105へのアクセスを行う。具体的には、例えば、ターゲット命令実行部108は、制御対象装置への出力信号の状態をI/Oシミュレータ112に通知する。また、ターゲット命令実行部108は、装置シミュレータ103が模擬する制御対象装置の例えばセンサ出力の状態等をI/Oシミュレータ112から取得する。さらに、ターゲット命令実行部108は、タイマイベントを発生させる必要が有る場合、タイマシミュレータ111に必要な通知を行う。つまり、例えば、制御対象装置の所定のセンサ出力の状態が変化したことに応じて所定の時間後に出力信号を変化させなければならない場合、この所定の時間後のタイマイベントをタイマシミュレータ111に通知する。割込み制御部109は、CPU周辺回路シミュレータ105からの割込み要求を受けて、ターゲットCPUの割込み処理を模擬する。すなわち、割込み制御部109は、CPU周辺回路シミュレータ105から要求を受けた割込み番号に応じてターゲットコード上の割込みベクタを参照する。そして、ターゲット命令実行部108によるターゲットコード上の命令参照位置を、所定の割込み処理の位置に移行させる。また、割込み制御部109は、必要に応じて割込み禁止設定への対応、割込み優先度設定への対応、レジスタバンクの切り換え等、ターゲットCPUの割込み動作仕様に準じた処理を行う。続いて、CPU周辺回路シミュレータ105について説明する。CPU周辺回路シミュレータ105は、タイマ、入出力ポート、アナログデジタル変換器、シリアル通信機能といったCPU周辺回路の動作を模擬するものである。本実施形態においては、タイマ部のタイマ機能を模擬するタイマシミュレータ111、入出力ポートの模擬動作を行うI/Oシミュレータ112を設けている。タイマシミュレータ111は、ターゲットCPUの各タイマユニットの設定に応じた個々のタイマの動作を模擬する。さらに、タイマシミュレータ111は、各タイマユニットに対する割込み発生条件を監視し、割込み発生条件が成立した場合、割り込要求を、CPUコアシミュレータ104に通知する。なお、タイマシミュレータ111の模擬動作における時間進行は基準タイマ106の値に従う。基準タイマ106は、タイマシミュレータ111をはじめとするCPU周辺回路シミュレータ105における時間進行の基準となるタイマである。なお、基準タイマ106の値は、シミュレータ接続部102からの設定のみによって値が更新される。なお、インタフェース部107は、シミュレータ接続部102との各種信号の送受のためのインタフェース機能である。続いて、装置シミュレータ103の説明を行う。なお、本実施形態において、装置シミュレータ103は、画像形成装置を模擬するものとする。まず、模擬対象の画像形成装置301の概略について、図3を用いて説明する。カセット302に収容されている記録材シート材は、ピックアップローラ303によりピックアップされ、給紙ローラ304により搬送路に送り出される。給紙ローラ304の搬送路下流側には、記録材の存在を検出する給紙センサ305が設けられている。給紙センサ305の下流には、搬送ローラ306が配置され、さらにその下流にはレジストローラ307が配置されている。レジストローラ307は、搬送される記録材の斜行を矯正するものである。レジストローラ307の下流には、画像形成前の記録材の位置を確定するため、レジストセンサ308が設けられている。レジストセンサ308の下流には、レーザスキャナ部310からのレーザ光により感光ドラム上にトナー像を形成する画像形成部309が配置されている。また、画像形成部309の感光ドラムは、通過する記録材にトナー像を転写する。画像形成部309の下流には定着器311が配置されており、定着器311の下流には複数の排紙搬送ローラ312が配置されており、その下流に排紙トレイ316が配置されている。装置シミュレータ103は、CPUシミュレータ101が出力する仮想信号、つまり、模擬上の信号に応じて用紙搬送、画像形成の状況を解析し、図示しない表示部に表示する。また、装置シミュレータ103は、CPUシミュレータ101に、解析した状況を通知する仮想信号を出力する。なお、装置シミュレータ103とCPUシミュレータ101の仮想信号の交換は、シミュレータ接続部102の仮想信号伝達部118が行う。装置シミュレータ103のシミュレーション実行部120は、シミュレータ接続部102から、時間指定と共にシミュレーションの実行指示を受けると、指定された時間分の模擬動作を実行する。そして、指定された時間の模擬が終了すると、シミュレータ接続部102に対して、模擬の終了と、その時点の模擬時間を通知する。また、シミュレーション実行部120は、指定された時間の到達前に仮想信号の変化があった場合、その時点でシミュレーションを終了する。そして、終了時点の模擬時間、変化があった信号の種別及びその値の情報と共にシミュレーション終了をシミュレータ接続部102に通知する。その後、シミュレーション実行部120は、シミュレータ接続部102からシミュレーションの実行指示を受けると、前回の模擬動作が終了した時点における模擬時間から模擬動作を開始する。シミュレーション実行部120による模擬は、模擬時間軸において、単位時間毎の画像形成装置301の動作状態の解析を繰り返すことで行われる。すなわち、シミュレーション実行部120は、画像形成装置301のある時点の状態から1単位時間後の状態を解析し、その結果を図示しない表示部に画面表示し、CPUシミュレータへの仮想信号に反映させ、模擬時間を1単位時間進行させる。シミュレーション実行部120は、この単位時間毎の解析処理を指定された時間分だけ実行することで、画像形成装置301の動作を模擬する。なお、インタフェース部121は、シミュレータ接続部102との各種信号の送受のためのインタフェース機能である。続いて、シミュレーション実行部120の模擬処理の詳細について、図4のフローチャートを用いて説明する。模擬処理は、シミュレータ接続部102からの実行指示により開始する。S1において、シミュレーション実行部120は、シミュレータ接続部102からの実行指示に含まれている時間を、保持する現在時刻に加えて終了時刻を設定する。S2において、シミュレーション実行部120は、現在時刻と終了時刻を比較する。現在時刻が終了時刻と同じか、終了時刻より後であれば、シミュレーション実行部120は、S7において、現在時刻と共に模擬動作の終了をシミュレータ接続部102に通知する。S2において、現在時刻が終了時刻に達していなければ、シミュレーション実行部120は、S3において、1単位時間後の画像形成装置301の状態を解析し、図示しない表示装置への出力画像を更新すると共に、仮想信号値の変化を設定する。解析終了後、シミュレーション実行部120は、S4において、現在時刻を1単位時間だけ進める。その後、S5において、シミュレーション実行部120は、仮想信号に変化があったかどうかを判定する。仮想信号に変化がなければ、シミュレーション実行部120は、S2に戻って処理を繰り返す。一方、S5において、仮想信号に変化があると、シミュレーション実行部120は、S6において、模擬動作の終了を、現在時刻、変化した信号種別及びその値と共にシミュレータ接続部102に通知する。次に、シミュレータ接続部102について説明する。以下に説明する様に、シミュレータ接続部102は、装置シミュレータ103における模擬動作を管理し、模擬動作の指示を行う指示部として機能する。CPUタイマ管理部117は、タイマイベント管理テーブル119の維持、つまり、生成及び更新を行う。タイマイベント管理テーブル119とは、CPUシミュレータ101の模擬動作における確定したタイマイベントの発生タイミングを発生順に保存したものであり、その概要を図5に示す。なお、タイマイベントとは、CPU周辺回路によって実行される特定のタイミング時刻に対応した処理である。つまり、例えば、タイマユニットによるタイマ割り込み、パルスジェネレータによる指定されたタイミングにおける信号出力、複数チャネルのアナログデジタル変換器の一巡の変換処理終了後の割り込み等である。なお、タイマイベントの発生有無、及び、その時刻については、CPUシミュレータ101のタイマシミュレータ111へのアクセス内容により判断できる。CPUタイマ管理部117は、CPUシミュレータ101に対してタイマイベントが発生する場合、そのタイマイベントをタイマイベント管理テーブル119に登録する。なお、CPUタイマ管理部117は、新たなタイマイベントの時刻と、既に登録されているタイマイベントの時刻を比較しタイマイベント管理テーブル119への登録イベントが発生時間順に並ぶように登録する。また、CPUタイマ管理部117は、装置シミュレータ103が模擬動作の終了を通知した場合、その通知に含まれる時刻を取得する。そして、CPUタイマ管理部117は、取得した時刻第1の時刻と、タイマイベント管理テーブル119の先頭、つまり、一番先に発生するタイマイベントの時刻第2の時刻とを比較する。取得した時刻が、先頭のタイマイベントの時刻より早い場合、CPUタイマ管理部117は、取得した時刻を、基準タイマ106に設定する。それ以外の場合、つまり、取得した時刻が、先頭のタイマイベントの時刻以後の時刻である場合、先頭のタイマイベントの時刻を基準タイマ106に設定し、先頭のイベントを消去する。このとき、2番目以降のタイマイベントがあれば順次繰り上げる。CPUタイマ管理部117によって基準タイマ106の値が更新されると、タイマシミュレータ111は、基準タイマ106の変化に応じた模擬動作を行う。実行管理部116は、タイマイベント管理テーブル119に応じて、装置シミュレータ103の模擬動作を管理する。図6は、実行管理部116の処理を示すフローチャートである。なお、実行管理部116は、CPUシミュレータ101からの命令実行イベントの通知をトリガに処理を開始する。CPUシミュレータ101は、この命令実行イベント第1の命令を適当な間隔で繰り返し実行する。なお、命令実行イベントの間隔は一定である必要はない。本実施形態においては、後述する様に、ウォッチドックタイマリセット命令を命令実行イベントとして使用する。処理が開始されると、実行管理部116は、S11でタイマイベント管理テーブル119の先頭のタイマイベントの時刻以下、対象時刻と記す。と、装置シミュレータ103のその時点の時刻以下、装置時刻と記す。を比較する。対象時刻が装置時刻以下、つまり、同じか早い場合、実行管理部116は、S19において、装置時刻と共に、装置シミュレータの模擬処終了をCPUタイマ管理部117に通知して処理を終了する。一方、S11で対象時刻が装置時刻よりも大きい場合、実行管理部116は、S12において、現在の装置時刻と対象時刻との差から装置シミュレータの模擬動作の時間を求める。そして、実行管理部116は、S13で装置シミュレータ103に求めた時間分の模擬動作の実行を指示し、S14において、装置シミュレータ103からの終了通知を待つ。実行管理部116は、装置シミュレータ103から終了通知を受けると、S15において、装置シミュレータ103の時刻を通知された時刻に更新する。さらに、実行管理部116は、S16において、装置シミュレータ103の出力信号変化の有無を確認する。S16で出力信号の変化がない場合、S19に進む。一方、S16で出力信号の変化がある場合、実行管理部116は、S17で仮想信号伝達部118に発生した信号種別及びその値を通知し、S18で仮想信号伝達部118の応答を待つ。実行管理部116は、S18において、仮想信号伝達部118からの応答を受けた後にS19に進む。実行管理部116は、S19において、CPUタイマ管理部117に装置シミュレータ103の時刻と共に、装置シミュレータ103の模擬処理の終了を通知して処理を終了する。仮想信号伝達部118は、CPUシミュレータ101と装置シミュレータ103間の仮想信号の接続を行う。つまり、装置シミュレータ103に出力する仮想信号をI/Oシミュレータ112のレジスタから取得して装置シミュレータ103に出力する。同様に、装置シミュレータ103が出力する仮想信号をI/Oシミュレータ112のレジスタに設定する。仮想信号伝達部118が伝達すべき仮想信号は、配線定義情報としてあらかじめ定められている。図7は例示的な配線定義情報である。仮想信号名で特定される仮想信号について、データサイズ、信号種別、初期値が定義されている。なお、信号種別としては、例えば、バイナリB、デジタル多値D、アナログA等が用いられる。さらに、各仮想信号について、I/Oシミュレータ112でのアドレス、ビット位置情報と、入力であるか出力であるかが定義されている。同様に、各仮想信号について、装置シミュレータ103での種別及びその識別子IDと、入力であるか出力であるかが定義されている。続いて、情報処理装置が模擬対象とする画像形成装置301におけるカセット302からレジストセンサ308までの記録材の搬送以下、給紙搬送と記す。制御について説明する。まず、図8及び図9を用いて、画像形成装置301の給紙搬送制御に関する制御機能を説明する。図8は、ターゲットCPU側のOSと、各タスクと、各CPU周辺回路の関係を示す図である。また、図9は、ターゲットCPU側の各タスクと、画像形成装置301の給紙搬送に係る機構との関係を示す図である。なお、図9において、太破線は駆動力の伝達関係を示している。図9において、メインモータ802は、レジストローラ307や、搬送経路においてその下流にある図示しない各要素の駆動源である。メインモータ802の駆動力は、レジストローラクラッチ804を介してレジストローラ307へ伝達される。給紙モータ803は、ピックアップローラ303、給紙ローラ304、給紙センサ305、搬送ローラ306の駆動源である。給紙モータ803の駆動力は、搬送ローラ306へは直接伝達され、給紙ローラ304へは給紙クラッチ805を介して伝達される。また、給紙ローラ304に伝達された給紙モータ803の回転力は、ベルト810を介してピックアップローラ303に伝達される。ピックアップソレノイド806は、ピックアップローラ303をカセット302上に積載された用紙の表面と接離させるためのピックアップ機構を駆動するものである。ピックアップ機構は、ピックアップレバー807、ピックアップロッド808、ばね809から構成されている。ピックアップソレノイド806が非通電状態のときは、ばね809の力によりピックアップロッド808が上方に引っ張られ、ピックアップローラ303は用紙と離間する。ピックアップソレノイド806が通電状態になると、ピックアップレバー807を介してピックアップロッド808が下方に引っ張られ、ピックアップローラ303が用紙の最上面に接する。従って、給紙モータ803が回転状態で、給紙クラッチ805が連結態の時に、ピックアップソレノイド806を作動させることにより、カセット302から、ピックアップローラ303によって給紙ローラ304まで用紙が繰り出される。この用紙は、レジストローラ307方向に向かって搬送される。画像形成装置301の制御は、画像形成装置301に搭載されたターゲットCPUによって行われる。ターゲットCPUの給紙搬送制御に関連する機能として、画像形成制御タスク、搬送停止処理、給紙搬送制御タスク、給紙モータ停止処理、システムタイマ生成処理がある。また、給紙搬送制御に関連するもではないが、ターゲットCPUは、ウォッチドッグタイマWDTクリア処理を実行する。画像形成制御タスクは、画像形成装置301への画像形成指示に応じて画像形成を行うものである。メインモータ802は、画像形成部や定着器の駆動源となっているため、画像形成制御タスクは、メインモータ802を画像形成開始時に起動し、画像形成終了時に停止する。また、画像形成制御タスクは、1ページの画像形成処理毎に給紙搬送制御タスクに画像形成ジョブ発生を通知する。給紙搬送制御タスクは、画像形成制御タスクからの画像形成ジョブに応じて、先行紙との紙間をとりながら1枚の用紙に対する給紙搬送制御を行う。給紙搬送制御タスクは、給紙モータ803、給紙クラッチ805、ピックアップソレノイド806を制御してカセット302から用紙を送りだす。その後、給紙搬送制御タスクは、給紙センサ305で用紙先端が検知された時点でピックアップソレノイドを停止しピックアップローラ303を用紙表面から離間させる。その後、給紙搬送制御タスクは、所定の先行紙との紙間調整処理を行いつつレジストセンサ308までの用紙搬送を制御し、搬送停止処理を介してレジストセンサ308による用紙先端検知によって用紙搬送を停止し、給紙搬送処理を完了する。搬送停止処理は、レジストセンサ308による用紙先端検知に応じて給紙搬送を停止する機能で、外部割込み生成機能に対する割込み設定機能と、外部割込み生成機能からの割込み要求に応じて実行される割込み処理とで構成される。給紙搬送制御タスクは、給紙開始後の所定タイミングにおいて搬送停止処理に対して、処理実行許可通知を出す。これに応じて、搬送停止処理は外部割込み生成機能に対してレジストセンサ308の信号入力を外部入力とし、レジストセンサ308の信号の紙無しレベルから紙有りレベルへの変化をトリガとする外部割込みを有効とする設定を行う。給紙搬送中の用紙先端がレジストセンサ308に到達し、レジストセンサ308の信号が紙無しレベルから紙有りレベルに変化すると、外部割込み生成機能は、搬送停止処理の指定に基づき割込み要求を発生させる。この割込み要求に応じて、搬送停止処理の割込み処理が起動される。搬送停止処理の割込み処理では、クラッチ804の連結解除と共に給紙モータ停止処理の起動処理を行う。給紙モータ停止処理は、レジストローラクラッチ804の連結解除から所定時間後に給紙モータを停止する処理を行う機能である。具体的には、給紙モータ停止処理は、搬送停止処理から呼び出され、タイマAに対する割込み設定をおこなう機能と、タイマAからの割込み要求に応じて実行される割込み処理とで構成される。給紙モータ停止処理は、搬送停止処理から呼び出されるとタイマAに対して所定時間後に割込みを発生させる設定を行う。そして、タイマAによる設定時間後の割込み要求に対応する割込み処理において、給紙モータ803の停止処理を行った後に、給紙搬送制御タスク813に停止処理終了を通知する。給紙搬送制御タスクは、停止処理終了通知を所定時間以内に受けた場合、正常に給紙搬送が完了したと判断し、画像形成制御タスクに給紙搬送終了を通知する。一方、給紙搬送制御タスクは、所定時間経過までに停止処理終了通知がない場合、ジャム発生と判断し、不図示の状態管理タスクに給紙遅延ジャム発生を通知する。画像形成制御タスクは、給紙搬送制御タスクからの給紙搬送終了通知を受けた後、所定の画像形成準備が完了した時点で給紙モータを駆動し、クラッチ804を連結して用紙に画像を形成するための搬送を開始する。画像形成制御タスクは、搬送開始から所定タイミング後に外部装置へTOP信号を出力する。外部装置はTOP信号に同期して画像データを出力するため、TOP信号の出力タイミングに対する用紙の搬送位置の精度が用紙上への画像形成位置精度に影響する。従って、搬送開始時の用紙先端位置、すなわち、給紙搬送終了時の用紙の一時停止位置の精度が重要になる。給紙搬送終了時の一時停止処理をレジストセンサ308信号に応じた外部割込みで処理するのはこのためである。また、搬送を開始するため画像形成制御タスクによって給紙モータ803が駆動される際に、クラッチ805の連結よりも給紙モータ803の立ち上がりが遅いと搬送ローラ306による用紙の引っ張りが発生し、用紙搬送にずれが生じる恐れがある。給紙搬送終了時にクラッチ804の連結解除から時間差をつけて給紙モータ803の停止を行うのは、これにより搬送ローラ306とレジストローラ307の間に用紙のたるみを持たせて、搬送開始時に引っ張りが生じないようにするためである。システムタイマ生成処理は、ファームウェアの制御において各種タイミングで制御を行うための基準となるシステムタイマを生成する機能で、機能の大部分はタイマBからの割込み要求によって実行されるタイマ割込み処理として構成される。システムタイマ生成処理はタイマBに対してシステムタイマの単位時間の間隔でタイマ割込みが発生するように設定し、タイマ割込みの発生毎にシステムタイマをカウントアップする。なお、以下の説明において、システムタイマの単位時間を10ミリ秒に設定するものとする。タスクタイマ管理部は、タスク毎に割り当てられるタイマの管理を行い、タスクからの指示に応じてタイマのカウント開始、停止、クリア、タスクタイマイベントの発生通知、タイマカウント値の通知などを行う。タスクタイマ管理部によるタスク毎のタイマ管理はシステムタイマを基準として行われる。給紙搬送制御タスクによる搬送停止処理に対する処理実行許可の通知、給紙遅延ジャム検出は、タスクタイマ管理部に登録した各々のタスクタイマイベントに応じて行っている。図8の制御構成において、タイマイベントを発生させるCPU周辺回路の機能はタイマAとタイマBである。よって、本実施形態による情報処理装置は、タイマA及びBの制御レジスタに対するアクセスイベントに応じてタイマイベント管理テーブル119や、タイマイベント管理テーブル119を更新する。また、図8のWDTリセット回路は、ウォッチドッグタイマと呼ばれる専用のタイマのリセットを行う。なお、ウォッチドッグタイマの値が所定値になるとターゲットCPUのハードウェアリセット処理が開始される。これは、ソフトウェアの暴走対策であり、ソフトウェアが正常に動作している場合、WDTクリア処理が、WDTリセット回路を使用してウォッチドッグタイマの値が所定値になる前にリセットを行う。よって、WDTクリア処理は、ソフトウェア全体の一連の処理の中で所定時間以内に必ず実行される処理として組み込まれている。なお、タイマ割込み等、ハードウェアから起動される処理の場合、タスク処理が暴走していても定期的に実行される可能性があるため、WDTクリア処理は、通常、非割込み処理として実装される。図8のタイマA及びタイマBは、ダウンカウントリロード方式のタイマである。具体的には、図10に示す様に、タイマA及びBは、それぞれ、タイマカウンタレジスタTCRと、リロードレジスタTRLRと、制御状態レジスタTCSRを有している。TRLRに設定された値は、TCRに設定され、TCSRのカウント許可ビットTCEが許可を示す値に設定されると、TCRは、その値を指定周期毎にカウントダウンする。なお、指定周期は、TCSRのクロック分周比指定CLSビットにて指定される。TCRの値が零からアンダーフローした時点で、タイマは割込み要求を発生させ、TCSRのアンダーフロー割込み要求UFIRビットを、割込み要求が発生していることを示す値に設定する。なお、TCSRのアンダーフロー割込み許可UFIDビットが割込みを許可しない値である場合には割込みは発生しない。本実施形態におけるタイマシミュレータ111は、上記タイマA及びBの模擬動作を行う。また、CPUタイマ管理部117は、CPUコアシミュレータ104による、各タイマのTRLR及びTCSRへの設定内容によりタイマイベントの発生と、そのタイミング、つまり時刻を判定する。以下の説明において、タイマAの制御レジスタ名及び制御ビット名には、_Aを付与し、タイマBの制御レジスタ名及び制御ビット名には、_Bを付与して両者を区別する。以下、図11から図13を用いて、情報処理装置の動作を説明する。なお、図11から図13において、CPU周辺回路シミュレータ105における各値は、基準タイマ106の値を示している。また、シミュレータ接続部102における各値は、タイマイベント管理テーブル119の先頭にあるタイマイベントの発生時刻を示している。さらに、装置シミュレータ103における各数字は、装置シミュレータ103における時間の進行を示している。なお、装置シミュレータ103において単一の時刻のみを表示しているのは、装置シミュレータ103が模擬動作を行っておらず、よって、時間が進行していないことを意味している。情報処理装置の動作開始により、CPUコアシミュレータ104は、図11のS101において、システムタイマの生成のためにタイマBに対してタイマ割込み設定を行う。具体的には、TRLR_Bにタイマイベント発生までの時間を設定して、UFIE_Bビットを許可に設定後、TCE_Bビットを許可に設定する。なお、タイマ割込み設定で指定される値は、実際には、タイマイベントが発生するまでのクロック数から1を引いた値、つまり、期間を特定する値であり時刻ではない。しかしながら、説明を簡潔にするため、図11から図13の説明においては、期間で設定されるものであっても、時刻を用いて説明する。つまり、S101では、時刻T0にタイマイベントが発生する様に、TRLR_Bに値が設定されたものとする。シミュレータ接続部102は、CPUコアシミュレータ104によるタイマシミュレータ111のアクセスに応じて、S102において、タイマイベントを判定する。この場合、UFIE_Bビット及びTCE_Bビットが共に許可であるため、TRLR_Bの値から時刻T0にタイマイベントが発生すると判断する。よって、タイマイベント管理テーブル119の先頭に、時刻T0で発生するタイマイベントを登録する。本実施形態のCPUコアシミュレータ104は、一連の主要処理を実行する度に、WDTクリア処理を実行する。シミュレータ接続部102は、S103において発生したWDTクリア処理をトリガとして、S104において、装置シミュレータ103に、タイマイベント管理テーブル119の先頭のタイマイベント発生時刻までの模擬動作を指示する。つまり、時刻T0までの模擬動作を指示する。S105において、装置シミュレータ103が時刻T0までの模擬動作の終了をシミュレータ接続部102に通知する。これにより、既に説明した様に、シミュレータ接続部102のCPUタイマ管理部117は、S106において、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻を基準タイマ106に設定する。CPU周辺回路シミュレータ105のタイマシミュレータ111は、基準タイマ106の更新により、TCR_Bの値から基準タイマ106の増加分に対応する値を引く。これにより、アンダーフローが発生するため、CPU周辺回路シミュレータ105は、S107において、CPUコアシミュレータ104にタイマBの割込み要求を通知する。これにより、CPUコアシミュレータ104は、例えば、図8を用いて説明したシステムタイマ生成処理の様な、割込み処理を実行する。なお、タイマBによる割込みは周期的に実行するものであるため、CPUコアシミュレータ104は、S108において、時刻T1におけるタイマイベントを発生させるためタイマBに対してタイマ割込み設定を行う。また、シミュレータ接続部102のCPUタイマ管理部117は、CPUコアシミュレータ104によるタイマシミュレータ111のアクセスに応じて、S109において、タイマイベントを判定する。そして、タイマイベント管理テーブル119の先頭に、時刻T1で発生するタイマイベントを登録する。続いて、装置シミュレータ103が仮想信号の変換により模擬動作を終了した場合について図12を用いて説明する。図12の初期状態において、装置シミュレータ103は、時刻T9から時刻T11までの模擬動作を指示されているものとする。したがって、基準タイマ106の時刻はT9であり、タイマイベント管理テーブル119の先頭には、時刻T11で発生するタイマイベントが登録されている。ここで、S201において、仮想信号が変化したことにより、装置シミュレータ103は模擬動作を終了し、シミュレータ接続部102に仮想信号の変化と共に終了時刻T10を通知している。これにより、シミュレータ接続部102の仮想信号伝達部118は、S202において、CPU周辺回路シミュレータ105に信号変化を通知する。また、時刻T10が、タイマイベント管理テーブル119の先頭のタイマイベントの時刻T11より早いため、シミュレータ接続部102のCPUタイマ管理部117は、S202において、基準タイマ106の値を時刻T10に設定する。CPU周辺回路シミュレータ105は、信号変化に応じて、S203において、CPUコアシミュレータ104に外部割込み要求を行う。CPUコアシミュレータ104は、通知された信号変化に応答して、S204において、信号の出力を変化させ、この信号出力の変化は、CPU周辺回路シミュレータ105及びシミュレータ接続部102経由で装置シミュレータ103に伝達される。さらに、本例において、CPUコアシミュレータ104は、S203により通知された信号の変化により、S205において、タイマAに対して時刻T11’における割込みを設定している。具体的には、CPUコアシミュレータ104は、TRLR_Aに時刻T11’までの時間を設定して、UFIE_Aビットを許可に設定後、TCE_Aビットを許可に設定する。なお、時刻T11’は、時刻T11より後の時刻であるものとする。シミュレータ接続部102は、CPUコアシミュレータ104によるタイマシミュレータ111へのアクセスに応じて、S206において、時刻T11’におけるタイマイベントを判定し、タイマイベント管理テーブル119に登録する。なお、時刻T11’は、時刻T11より後であるため、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻は時刻T11のままである。S207において、CPUコアシミュレータ104はWDTクリア処理を実行する。シミュレータ接続部102は、WDTクリア処理をトリガとして、S208において、装置シミュレータ103に、タイマイベント管理テーブル119の先頭のタイマイベント発生時刻までの模擬動作を指示する。つまり、時刻T11までの模擬動作を指示する。S209において、装置シミュレータ103が時刻T11までの模擬動作の終了をシミュレータ接続部102に通知する。これにより、既に説明した様に、シミュレータ接続部102のCPUタイマ管理部117は、S210において、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻を基準タイマ106に設定する。また、タイマイベント管理テーブル119の先頭のタイマイベントを削除する。これにより、タイマイベント管理テーブル119の先頭のタイマイベントは、S205において設定した時刻T11’となる。CPU周辺回路シミュレータ105のタイマシミュレータ111は、基準タイマ106の更新により、図11のS107と同様に、S211において、CPUコアシミュレータ104にタイマBの割込み要求を通知する。これにより、CPUコアシミュレータ104は、タイマBによる割込み処理を実行し、S211にて、時刻T12おけるタイマイベントを発生させるためタイマBに対してタイマ割込み設定を行う。なお、時刻T12は、時刻T11’より後の時刻であるものとする。シミュレータ接続部102は、CPUコアシミュレータ104によるタイマシミュレータ111へのアクセスに応じて、S213おいて、時刻T12におけるタイマイベントを判定し、タイマイベント管理テーブル119に登録する。なお、時刻T12は、時刻T11’より後であるため、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻は時刻T11’のままである。S214において、CPUコアシミュレータ104はWDTクリア処理を実行し、既に説明したのと同様に、シミュレータ接続部102は、S215において、装置シミュレータ103に、時刻T11’までの模擬動作を指示する。S216において、装置シミュレータ103が時刻T11’までの模擬動作の終了をシミュレータ接続部102に通知する。これにより、既に説明した様に、シミュレータ接続部102のCPUタイマ管理部117は、S217において、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻を基準タイマ106に設定する。また、タイマイベント管理テーブル119の先頭のタイマイベントを削除する。これにより、タイマイベント管理テーブル119の先頭のタイマイベントは、S213において設定した時刻T12となる。CPU周辺回路シミュレータ105のタイマシミュレータ111は、基準タイマ106の更新でTCR_Aがアンダーフローすることにより、S218において、CPUコアシミュレータ104にタイマAの割込み要求を通知する。これにより、CPUコアシミュレータ104は、タイマAによる割込み処理を実行する。図12においては、タイマAに設定したタイマイベントの発生時刻T11’が、時刻T11より後の時刻であった。図13に、タイマAに設定したタイマイベントの発生時刻T11’が、時刻T11より前の時刻である場合のシーケンスを示す。図13のS301からS306までの処理は、図12のS201からS206の処理と同様であり説明は省略する。なお、本例において、時刻T11’は、時刻T11より前であるため、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻は時刻T11’に変更となる。S307において、CPUコアシミュレータ104はWDTクリア処理を実行する。シミュレータ接続部102は、WDTクリア処理をトリガとして、S308において、装置シミュレータ103に、タイマイベント管理テーブル119の先頭のタイマイベント発生時刻までの模擬動作を指示する。つまり、時刻T11’までの模擬動作を指示する。S309において、装置シミュレータ103が時刻T11’までの模擬動作の終了をシミュレータ接続部102に通知する。これにより、既に説明した様に、シミュレータ接続部102のCPUタイマ管理部117は、S310において、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻を基準タイマ106に設定する。また、タイマイベント管理テーブル119の先頭のタイマイベントを削除する。これにより、タイマイベント管理テーブル119の先頭のタイマイベントは時刻T11となる。CPU周辺回路シミュレータ105のタイマシミュレータ111は、基準タイマ106の更新でTCR_Aがアンダーフローすることにより、S311において、CPUコアシミュレータ104にタイマAの割込み要求を通知する。これにより、CPUコアシミュレータ104は、タイマAによる割込み処理を実行する。その後、CPUコアシミュレータ104によるWDTクリア処理をトリガとして、装置シミュレータ103は、時刻T11までの模擬動作を実行する。図12のS201及びS301において変化した信号は、例えば、記録材の先端を検出するレジストセンサ308の出力信号である。この場合、図12のS204及び図13のS304においてCPUコアシミュレータ104がその変化を通知する信号は、レジストローラクラッチ804をオフとする信号である。装置シミュレータ103は、CPUコアシミュレータ104から通知された信号の変化については、例えば、次のWDTクリア処理をトリガとする模擬動作に反映させる。装置シミュレータ103の模擬動作は、基準タイマ106との時間同期が図られているため、実装置に対する正確な模擬動作を実現することができる。また、CPUコアシミュレータ104は、タイマBを直接読み込むこむこともできる。なお、上述した実施形態においては、ダウンカウントリロード方式のタイマを用いていたが、他の種類のタイマであっても良い。第二実施形態第一実施形態において、装置シミュレータ103は、シミュレータ接続部102が指定する時間分の模擬動作を実行していた。本実施形態において、装置シミュレータ103は、予め定めた単位時間分の模擬動作を順に行う。以下、第一実施形態との主な相違点を中心に説明する。本実施形態において、装置シミュレータ103は、シミュレータ接続部102から実行指示を受け取る度に、1単位時間の模擬動作を行い、終了後、終了時刻と共に模擬動作の終了をシミュレータ接続部102に通知して、待ち状態となる。なお、模擬動作中に仮想信号の値が変化した場合には、仮想信号及びその値並びにその時点の時刻を特定する情報と共に模擬動作の終了をシミュレータ接続部102に通知する。図14は、本実施形態における実行管理部116の処理を示すフローチャートである。図6に示す第一実施形態との相違点は、S12の時間算出に対応する処理がないことと、S16に対応するS25の分岐先が異なることである。前者の相違点は、本実施形態において、装置シミュレータ103は単位時間毎に模擬動作を終了するからである。後者の相違点は、装置シミュレータ103は単位時間毎に模擬動作を終了するが、実行管理部116は、装置シミュレータ103による対象時刻までの模擬動作を管理するためである。つまり、図14のS25において信号変化がない場合、実行管理部116は、S21からの処理を、装置時刻が対象時刻を超えるまで繰り返す。以上、装置シミュレータ103については、単位時間毎に同期待ちとなる実行方式とすることができる。第三実施形態第一及び第二実施形態において、実行管理部116は、タイマイベントが存在する場合のみ装置シミュレータ103に実行指示を行うものであった。しかし、ターゲットコードによっては、タイマイベントが長時間発生しない場合も生じ得る。例えば、ターゲットコードが、非時間同期処理のみを実行している様な場合であり、この場合には制御対象装置との正確な時間同期は必要ないが、制御対象装置の連係動作については模擬する必要がある。本実施形態においては、非時間同期処理もタイマイベントとして扱うことで、CPUコアシミュレータ104が長時間タイマイベントを設定しない場合においても、装置シミュレータ103が模擬動作を実行する様にするものである。図15は、本実施形態における情報処理装置の構成図である。図1との相違点は、CPUシミュレータ101にイベント制御部142を設け、シミュレータ接続部102にCPUシミュレータ実行管理部141を設けたことである。まず、イベント制御部142は、CPUシミュレータ101が、信号変化の通知等、シミュレータ接続部102に何らかの通知を行う度に、CPUコアシミュレータ104及びCPU周辺回路シミュレータ105の模擬動作を一時停止させる。その後、CPUシミュレータ実行管理部141から、実行再開指示を受けると、CPUコアシミュレータ104及びCPU周辺回路シミュレータ105の模擬動作を再開させる。また、本実施形態において、CPUタイマ管理部117は、例えば、WDTクリア処理といった、CPUコアシミュレータ104が繰り返し実行する命令実行イベント第2の命令に応じてタイマイベント管理テーブル119にタイマイベントを設定する。この特定命令実行イベントよるタイマイベントを、他の通常のタイマイベントと区別するために、本実施形態においてはフラグ情報を使用する。具体的には、図16に示す様に、本実施形態において、タイマイベント管理テーブル119にフラグ情報を追加する。このフラグ情報が、例えば、1であると、それは、例えば、特定命令実行イベントであることを示す。CPUタイマ管理部117は、CPUコアシミュレータ104の特定命令実行イベントが所定の回数実行される毎に、1つの特定命令実行イベントが発生する様にタイマイベント管理テーブル119に登録を行う。例えば、WDTクリア処理が、約10msec間隔で実行される場合、例えば、WDTクリア処理が5回実行される度に1回の特定命令実行イベントが発生する様に、タイマイベント管理テーブル119への登録を行う。なお、時刻は、例えば、現在の模擬時刻に対して50msec後に実行される様にする。他のタイマイベントについては第一実施形態と同様である。CPUシミュレータ実行管理部141は、CPUシミュレータ101からの各種通知を受けると直ちに実行再開を指示する。ただし、タイマイベント管理テーブル119の先頭のタイマイベントが、特定命令実行イベントである場合には、実行再開を指示せず待機する。その後、装置シミュレータ103が、この先頭のタイマイベントの時刻までの模擬動作を終了したときに、CPUシミュレータ実行管理部141は、CPUシミュレータ101に対して実行の再開を指示する。以上の構成により、CPUコアシミュレータ104が長期間タイマイベントを設定しない場合でも、装置シミュレータ103の模擬動作を実行する。以上、シミュレータ接続部102は、タイマイベント管理テーブル119の内容に基づきタイマイベントの発生時刻までの模擬動作を装置シミュレータ103に指示する。この様に、タイマイベントを単位としてCPUコアシミュレータ104と、装置シミュレータ103との模擬時間の同期を行うことで、必要な精度での時刻同期を維持しつつ、不要な時刻同期処理を防ぐことができる。よって、処理効率の低下を抑えることができる。具体的には、実行管理部116は、CPUコアシミュレータ104が繰り返し実行する、例えば、WDTクリア処理を実行した際に、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻までの模擬動作を装置シミュレータ103に指示する。そして、CPUタイマ管理部117は、装置シミュレータ103が模擬動作の終了を通知したとき、その時点の装置シミュレータ103の時刻とタイマイベント管理テーブル119の先頭のタイマイベントの発生時刻を比較する。装置シミュレータ103側に信号の変化等のイベントが発生していないのであれば、通常、この時刻はタイマイベント管理テーブル119の先頭のタイマイベントの発生時刻と同じである。この場合、このタイマイベント管理テーブル119の先頭のタイマイベントの発生時刻を基準タイマ106に設定して、このタイマイベントを発生させる。この時点において、装置シミュレータ103と、CPUコアシミュレータ104の時刻は一致、つまり、時刻同期が行われる。一方、装置シミュレータ103側に信号の変化等のイベントが発生している場合、装置シミュレータ103は、タイマイベント管理テーブル119の先頭のタイマイベントの発生時刻より前の時刻を通知する。この場合、基準タイマ106には、装置シミュレータ103が通知した時刻を設定する。この時点において、装置シミュレータ103と、CPUコアシミュレータ104の時刻は一致する。また、CPUコアシミュレータ104は、仮想信号伝達部118経由で通知される信号の変換に合わせた処理を開始する。つまり、装置シミュレータ103と、CPUコアシミュレータ104の時刻同期が行われる。この様に、不要な時刻同期処理を防ぐことができる。また、CPUタイマ管理部117は、CPUコアシミュレータ104が繰り返し実行する、例えば、WDT処理に対応する時刻を、タイマイベント管理テーブル119にタイマイベントとして、その時刻と共に登録する。この構成により、タイマイベントが長期間発生しない様な状況においても、装置シミュレータ103とCPUコアシミュレータ104の時刻同期を行うことができる。