(57)【要約】【課題】ＣＰＵによるプログラムの読み出し・実行を迅速に行えるようにすることで、使用者に不安を与える可能性を低減し、且つ、ＣＰＵがプログラムの読み出し・実行を開始するまでの待ち時間が生じることによる不具合を回避する情報処理装置及びプログラム読出制御方法の提供。【解決手段】ＡＳＩＣ１０は、ＲＡＭ５５に対するアクセス要求を監視するＲＡＭアクセス調停部２５と、ＣＰＵ１２からのアクセス要求を振り分けるバスコントローラ部４５とを備えている。ＲＡＭアクセス調停部２５において、ＲＡＭ５５のアクセス状況を判定し、ＣＰＵ１２からのＲＡＭ５５に対するプログラム読出要求よりも優先度の高いアクセス要求が規定値以上であるか、規定値未満であっても、優先度の高いアクセス要求の中にバースト形式が含まれる高優先状況であれば、ＲＯＭ５０が非ビジー状態である場合に限り、バスコントローラ部４５は、アクセス対象をＲＡＭ５５からＲＯＭ５０に変更する。【選択図】図３
2007334816.tif 000002
【特許請求の範囲】
【請求項１】
プログラムが格納された第一記憶手段と、
前記第一記憶手段に格納されたプログラムをコピーしたプログラムが格納され、前記第一記憶手段よりもアクセス時間の短い第二記憶手段と、
前記プログラムを読み出して、処理を実行するＣＰＵと、
前記第二記憶手段に対し、データの書き込みまたは読み出しを実行する少なくとも一つのデータ処理手段と、
前記ＣＰＵまたは前記データ処理手段からの前記第二記憶手段に対するアクセス要求が競合することを条件として、前記アクセス要求の優先度に基づいて、競合するアクセス要求を調停し、調停されたアクセス要求を実行させるアクセス実行手段と
を備えた情報処理装置のプログラム読出制御方法であって、
前記ＣＰＵからのプログラムの読出要求があることを条件として、前記プログラムの読出要求と競合するアクセス要求の状況が、前記ＣＰＵからのプログラムの読出要求よりも優先すべき高優先状況であれば、プログラムの読出元を前記第一記憶手段とし、前記アクセス要求の状況が高優先状況以外であれば、プログラムの読出元を前記第二記憶手段とすることを特徴とするプログラム読出制御方法。
【請求項２】
プログラムが格納された第一記憶手段と、
前記第一記憶手段に格納されたプログラムをコピーしたプログラムが格納され、前記第一記憶手段よりもアクセス時間の短い第二記憶手段と、
前記プログラムを読み出して、処理を実行するＣＰＵと、
前記第二記憶手段に対し、データの書き込みまたは読み出しを実行する少なくとも一つのデータ処理手段と、
前記ＣＰＵまたは前記データ処理手段からの前記第二記憶手段に対するアクセス要求が競合することを条件として、前記アクセス要求の優先度に基づいて、競合するアクセス要求を調停し、調停されたアクセス要求を実行させるアクセス実行手段と、
前記ＣＰＵからのプログラムの読出要求よりも前記プログラムの読出要求と競合するアクセス要求の状況を優先すべき高優先状況であることを検知するアクセス状況検知手段と、
前記ＣＰＵからのプログラムの読出要求があることを条件として、前記アクセス状況検知手段で検知されたアクセス状況が高優先状況であれば、プログラムの読出元を前記第一記憶手段とし、前記アクセス状況検知手段で検知されたアクセス状況が高優先状況以外であれば、プログラムの読出元を前記第二記憶手段とする読出元制御手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記アクセス状況検知手段は、前記プログラムの読出要求と競合するアクセス要求の中に、前記ＣＰＵからのプログラムの読出要求よりも、優先度の高いアクセス要求が存在する状況を前記高優先状況とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記アクセス状況検知手段は、前記プログラムの読出要求と競合するアクセス要求の中に、前記ＣＰＵからのプログラムの読出要求よりも優先度の高いアクセス要求が、予め規定された規定値よりも多く存在する状況を前記高優先状況とすることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記アクセス状況検知手段は、前記プログラムの読出要求と競合するアクセス要求の中に、前記ＣＰＵからのプログラムの読出要求よりも優先度の高いアクセス要求が、予め規定された規定値よりも多く存在する状況、及びプログラムの読出要求と競合するアクセス要求に含まれる前記優先度の高いアクセス要求の数が前記規定値未満であるものの、その優先度の高いアクセス要求中に、バースト形式要求が含まれる状況を前記高優先状況とすることを特徴とする請求項２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムに従って処理を実行するＣＰＵを備えた情報処理装置、及び情報処理装置でのプログラム読出制御方法に関する。
【背景技術】
【０００２】
従来、不揮発性メモリであるＲＯＭに格納されたプログラムを、必要に応じてＲＯＭよりもアクセス時間の短いＲＡＭに転送し、ＲＡＭに格納されたプログラムをＣＰＵが読み出して実行することにより、各種処理を高速で実行可能に構成された情報処理装置が知られており、このような情報処理装置を画像形成装置に適用することが行われている。
【０００３】
この画像形成装置では、高解像度の画像のプリントやカラープリントのように大きなデータ量を扱う処理を実行する際には、ＣＰＵの作業領域としてのＲＡＭ容量を大量に確保する必要がある。
【０００４】
そこで、ＣＰＵが実行する処理がＲＡＭ容量を大量に確保する必要の無いものの時には、ＲＯＭのプログラムをＲＡＭに転送して、ＲＡＭからプログラムを読み出して処理を実行し、ＣＰＵが実行する処理がＲＡＭ容量を大量に確保する必要のあるものの時には、ＲＯＭからプログラムを読み出し、ＲＡＭを作業領域としてのみ使用して処理を実行する情報処理装置が提案されている（例えば、特許文献１参照）。
【０００５】
つまり、特許文献１に記載の情報処理装置では、ＣＰＵで実行される処理の種類によって、プログラムの読み出し元を変更している。
【特許文献１】特開平１１−１２９５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、一般的な画像形成装置には、ＲＡＭに対してアクセス可能なデータ処理部が、ＣＰＵ以外にも備えられている。このため、特許文献１に記載された情報処理装置を画像形成装置に適用した場合、例えば、データ処理部がＲＡＭに頻繁にアクセスしている時であっても、ＣＰＵで実行される処理がＲＡＭ容量を大量に確保する必要の無いものであれば、ＣＰＵは、ＲＯＭに格納されたプログラムをＲＡＭに転送した上で、ＲＡＭからプログラムを読み出すことになる。
【０００７】
したがって、特許文献１に記載の情報処理装置では、データ処理部からのアクセスが多い状態の時に、ＣＰＵがプログラムを読み出そうとしても、直ぐに読み出すことができず、データ処理部からのアクセスが終了するまで待たされることになる。
【０００８】
この結果、装置が一時停止したような状態（いわゆる、フリーズしたように感じられる状態）となり、当該情報処理装置の使用者に不安を与えてしまう可能性があるという問題があった。
【０００９】
また、ＣＰＵによる処理の中には、所定時間内に処理しなければならないもの（例えば、ＦＡＸ送受信時の割り込み処理など）がある。しかし、従来の情報処理装置では、そのような処理であっても、データ処理部からのＲＡＭに対するアクセスが多い時には、データ処理部からのアクセスが終了するまで待たされることになり、所定時間内に処理を終了することができず、不具合が発生する可能性があった。
【００１０】
そこで、本発明は、ＣＰＵによるプログラムの読み出し・実行を迅速に行えるようにすることで、使用者に不安を与える可能性を低減し、且つ、ＣＰＵがプログラムの読み出し・実行を開始するまでの待ち時間が生じることによる不具合を回避するプログラム読出制御方法、及びその方法を実現する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するためになされた請求項１に記載の発明は、プログラムが格納された第一記憶手段と、前記第一記憶手段に格納されたプログラムをコピーしたプログラムが格納され、前記第一記憶手段よりもアクセス時間の短い第二記憶手段と、前記プログラムを読出して、処理を実行するＣＰＵと、前記第二記憶手段に対し、データの書き込みまたは読出しを実行する少なくとも一つのデータ処理手段と、前記ＣＰＵまたは前記データ処理手段からの前記第二記憶手段に対するアクセス要求が競合することを条件として、前記アクセス要求の優先度に基づいて、競合するアクセス要求を調停し、調停されたアクセス要求を実行させるアクセス実行手段とを備えた情報処理装置のプログラム読出制御方法である。
【００１２】
そして、本発明のプログラム読出制御方法では、前記ＣＰＵからのプログラムの読出要求があることを条件として、前記プログラムの読出要求と競合するアクセス要求の状況が、前記ＣＰＵからのプログラムの読出要求よりも優先すべき高優先状況であれば、プログラムの読出元を前記第一記憶手段とし、前記アクセス要求の状況が高優先状況以外であれば、プログラムの読出元を前記第二記憶手段とする。
【００１３】
なお、ここで言う、アクセス時間とは、データをある場所に書き込みもしくは読み出すために、その要求を出してからデータの転送が完了するまでに要する必要最小限の時間である。また、ここで言う、競合とは、第二記憶手段へのアクセス要求がほぼ同時に発生すること、あるいは、データ処理手段が複数備えられている場合であって、あるデータ処理手段が第二記憶手段とデータ転送している最中に他のデータ処理手段からのアクセス要求が発生することを指すものである。
【００１４】
また、請求項２に記載の情報処理装置は、第一記憶手段にプログラムが格納され、前記第一記憶手段よりもアクセス時間の短い第二記憶手段に、前記第一記憶手段に格納されたプログラムをコピーしたプログラムが格納され、ＣＰＵが前記プログラムを読み出して、処理を実行するものであり、前記第二記憶手段に対し、データの書き込みまたは読み出しを実行する少なくとも一つのデータ処理手段が備えられ、前記ＣＰＵまたは前記データ処理手段からの前記第二記憶手段に対するアクセス要求が競合することを条件として、アクセス実行手段が前記アクセス要求の優先度に基づいて、競合するアクセス要求を調停し、調停されたアクセス要求を実行させる。そして、本発明の情報処理装置では、アクセス状況検知手段が前記ＣＰＵからのプログラムの読出要求よりも前記プログラムの読出要求と競合するアクセス要求を優先すべき高優先状況であることを検知し、前記ＣＰＵからのプログラムの読出要求があることを条件として、読出元制御手段が前記アクセス状況検知手段で検知されたアクセス状況が高優先状況であれば、プログラムの読出元を前記第一記憶手段とし、前記アクセス状況検知手段で検知されたアクセス状況が高優先状況以外であれば、プログラムの読出元を前記第二記憶手段とする。
【００１５】
そして、本発明の情報処理装置では、請求項３に記載のように、前記アクセス状況検知手段が、前記プログラムの読出要求と競合するアクセス要求の中に、前記ＣＰＵからのプログラムの読出要求よりも、優先度の高いアクセス要求が存在する状況を前記高優先状況として検知しても良い。
【００１６】
また、本発明の情報処理装置では、請求項４に記載のように、前記アクセス状況検知手段が、前記プログラムの読出要求と競合するアクセス要求の中に、前記ＣＰＵからのプログラムの読出要求よりも優先度の高いアクセス要求が、予め規定された規定値よりも多く存在する状況を前記高優先状況として検知しても良い。
【００１７】
さらに、本発明の情報処理装置では、請求項５に記載のように、前記アクセス状況検知手段は、前記プログラムの読出要求と競合するアクセス要求の中に、前記ＣＰＵからのプログラムの読出要求よりも優先度の高いアクセス要求が、予め規定された規定値よりも多く存在する状況、及びプログラムの読出要求と競合するアクセス要求に含まれる前記優先度の高いアクセス要求の数が前記規定値未満であるものの、その優先度の高いアクセス要求中に、バースト形式要求が含まれる状況を前記高優先状況として検知しても良い。
【００１８】
なお、ここで言う、バースト形式とは、一つのアクセス要求で、複数の連続したデータを転送する形式を指すものである。
【発明の効果】
【００１９】
請求項１に記載のプログラム読出制御方法によれば、アクセス要求の状況が高優先状況以外であれば、ＣＰＵのプログラム読出元を第二記憶手段とするため、ＣＰＵがプログラムを読み出して、処理を実行するまでの時間を短縮することができる。
【００２０】
また、本発明のプログラム読出制御方法では、アクセス要求の状況が高優先状況であれば、ＣＰＵのプログラム読出元を第一記憶手段とする。このため、本発明のプログラム読出制御方法によれば、データ処理手段からの第二記憶手段に対するアクセス終了を待つことなく、ＣＰＵがプログラムを読み出して処理を実行することができる。
【００２１】
これにより、ＣＰＵが待たされること無く、プログラムの読み出し・実行ができるため、当該情報処理装置の動作が停止したように使用者が感じる動作状態となることを防止でき、使用者に与える不安を低減し、且つ、ＣＰＵがプログラムの読み出し・実行を開始するまでの待ち時間が生じることによる不具合を回避することができる。
【００２２】
また、請求項２に記載の情報処理装置によれば、請求項１に記載のプログラム読出制御方法と同様の効果を得ることができる。
そして、アクセス状況検知手段は、請求項３に記載のように構成されていても良いし、請求項４に記載のように構成されていても良い。
【００２３】
請求項４に記載された情報処理装置によれば、例えば、優先度の高いアクセス要求が実行された後、ＣＰＵが第二記憶手段にアクセスするよりも、予め第一記憶手段にアクセスしたほうが、プログラムの読出しに必要な時間が長くなるようなアクセス要求の数に、予め規定された規定値が設定されることにより、ＣＰＵがプログラムを読み出すために必要な時間を、その状況の中で最小にすることができる。
【００２４】
また、請求項５に記載された情報処理装置によれば、例えば、バースト形式のように、シングル形式に比べて転送に時間がかかるようなものがアクセス要求に含まれていれば、ＣＰＵが第一記憶手段からプログラムを読み出すことで、ＣＰＵがプログラムを読み出すために必要な時間を、その状況の中で最小にすることができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施形態を図面と共に説明する。
［第一実施形態］
図１は、本発明が適用された画像形成装置の構成を示すブロック図である。
【００２６】
なお、本実施形態の画像形成装置１は、プリンタ、スキャナ、コピー機、ＦＡＸとしての機能を備えた、いわゆる複合機として構成されたものである。
〈画像形成装置の全体構成〉
画像形成装置１は、用紙などの印刷媒体に印刷情報を印刷する記録部５と、原稿に記録された画像情報を読み取る読取部７と、ＵＳＢケーブルを介して外部のパーソナルコンピュータ、デジタルカメラ等の外部機器と画像情報の入出力を行うＵＳＢインターフェース（Ｉ／Ｆ）部８と、一般通信回線を介して画像情報を通信するモデム部９とを備えている。
【００２７】
さらに、画像形成装置１は、各種設定や指令を入力するためのカーソルキーやスイッチ、及び各種メニュー画面や、利用者が入力した内容やエラー表示などを行う表示パネルからなる操作部（図示せず）と、操作部を介して入力される設定や指令に従って、装置各部（即ち、記録部５、読取部７、ＵＳＢＩ／Ｆ部８、モデム部９等）を制御する制御部３と、制御部３を含む装置各部に電源供給を行う電源供給部（図示せず）とを備えている。
【００２８】
なお、電源供給部は、その給電電圧が所定値を超えて上昇すると、電源や回路動作が安定するために要する時間経過後に、リセット信号をローレベルからハイレベルに変化させることで制御部３のリセット状態を解除するように構成されている。
【００２９】
また、これら各部の構成は、周知のものであるため、その詳細については説明を省略する。
つまり、画像形成装置１は、操作部を介して入力される設定や指令に従って、制御部３が装置各部（即ち、記録部５、読取部７、ＵＳＢＩ／Ｆ部８、モデム部９等）を制御することにより、プリンタやＦＡＸ等の各機能を実現する。
〈制御部の構成〉
次に、制御部３について説明する。
【００３０】
制御部３は、不揮発性メモリからなり、各種プログラムやデータが予め記憶されたＲＯＭ５０（第一記憶手段の一例）と、格納されたデータへのランダムアクセスが可能であり、ＲＯＭ５０よりも短い時間でアクセス可能なＲＡＭ５５（第二記憶手段の一例）と、ＲＯＭ５０、ＲＡＭ５５の入出力を制御するメモリ制御部、各種プログラムを実行するＣＰＵ（本発明のＣＰＵに相当）等を内蔵したＡＳＩＣ１０（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）とを備えている。
【００３１】
ここで、図２は、ＡＳＩＣ１０（即ち、ＡＳＩＣ１０に内蔵されたＣＰＵ）のメモリマップ（アクセスエリア）を模式的に示した説明図である。
図２に示すように、ＡＳＩＣ１０に内蔵されたＣＰＵは、ＲＯＭ５０に対して割り当てられた領域（ＲＯＭ領域）と、ＲＡＭ５５に対して割り当てられた領域（ＲＡＭ領域）と、後述するレジスタ群に割り当てられた領域（レジスタ領域）とを有している。
【００３２】
また、ＲＯＭ領域（即ち、ＲＯＭ５０）は、少なくとも、当該画像形成装置１の立ち上げに必要なブートプログラムが格納されるブート領域（アドレス１＿１からアドレス１＿２で示される領域）と、画像形成装置１の各部（記録部５や読取部７等）を制御するための制御プログラムの内、圧縮されていない状態でプログラムが格納される第一プログラム領域（アドレス１＿２からアドレス１＿３で示される領域）と、制御プログラムの内、圧縮された状態のプログラムが格納される第三プログラム領域（アドレス１＿３からアドレス１＿４で示される領域）とを有している。
【００３３】
また、ＲＡＭ領域（即ち、ＲＡＭ５５）は、ＲＯＭ５０に格納された第一プログラム領域のコピーが格納される第二プログラム領域（アドレス２＿１からアドレス２＿２で示される領域）と、ＲＯＭ５０に格納された第三プログラム領域の解凍後のプログラムが格納される第四プログラム領域（アドレス２＿２からアドレス２＿３で示される領域）、処理中に生成されるデータや、ＰＣ等から受信された画像データ等が一時的に格納されるデータ領域（アドレス２＿２からアドレス２＿４で示される領域）とが用意されている。
〈ＡＳＩＣの構成について〉
次に、本発明の主要部に関わるＡＳＩＣ１０の構成について説明する。
【００３４】
図３は、本発明の主要部に関わるＡＳＩＣ１０の周辺の構成について示したブロック図である。
図３に示すように、ＡＳＩＣ１０は、プログラムに従って処理を実行するＣＰＵ１２と、ＣＰＵ１２を介さないデータ転送（いわゆる、ＤＭＡ転送）を制御するＤＭＡコントローラ３５と、記録部５を制御する記録制御部５５と、画像情報等から記録部５に印刷される印刷情報を生成する画像処理部５６と、読取部７を制御する読取制御部５７と、ＵＳＢＩ／Ｆ部８を制御するＵＳＢＩ／Ｆ制御部５８と、モデム部９を制御するモデム制御部５９とを備えている。
【００３５】
これらＤＭＡコントローラ３５、記録制御部５５、画像処理部５６、読取制御部５７、ＵＳＢＩ／Ｆ制御部５８、モデム制御部５９は、いずれもデータ処理手段の一例であり、以下では、これらをデータ処理制御部ともいう。
【００３６】
また、ＡＳＩＣ１０は、ＲＯＭ５０からのデータの読出し（リード、即ち、アクセス）を制御するＲＯＭコントローラ部１４と、ＲＯＭ５０に対するアクセスの頻度を検出するＲＯＭアクセス頻度検出部１８と、ＣＰＵ１２からのＲＯＭ５０に対するアクセス要求及びＤＭＡコントローラ３５からのＲＯＭ５０に対するアクセス要求を調停し、調停されたアクセス要求をＲＯＭコントローラ部１４に実行させるＲＯＭアクセス調停部３０とを備えている。
【００３７】
また、ＡＳＩＣ１０は、ＲＡＭ５５に対するデータの読み書き（リード／ライト、即ち、アクセス）を制御するＲＡＭコントローラ部１６と、各データ処理制御部からのＲＡＭ５５に対するアクセス要求、及びＣＰＵ１２からのＲＡＭ５５に対するアクセス要求を調停し、調停されたアクセス要求をＲＡＭコントローラ部１６に実行させるＲＡＭアクセス調停部２５とを備えている。
【００３８】
つまり、ＲＯＭアクセス調停部３０及びＲＡＭアクセス調停部２５のいずれにも接続されたＤＭＡコントローラ３５は、ＲＯＭ５０に格納されたプログラムをＲＡＭ５５にＤＭＡ転送することが可能なように構成されている。
【００３９】
更に、ＡＳＩＣ１０は、ＣＰＵ１２からのアクセス要求先（即ち、アクセス先のアドレス）が、第一プログラム領域または第二プログラム領域かを検出するアクセス振り分け検出部４０と、アクセス振り分け検出部４０の検出結果及びＲＡＭアクセス調停部２５での調停状況、ＲＯＭアクセス頻度検出部１８の検出結果に従って、ＣＰＵ１２からのアクセス要求先を制御するバスコントローラ部４５（本発明の読出元制御手段の一例）とを備えている。
【００４０】
なお、ＡＳＩＣ１０は、電源供給部から供給されるリセット信号がハイレベルになると、ＣＰＵ１２をはじめとした各部（ＲＯＭアクセス頻度検出部１８、バスコントローラ４５等）が起動されるように構成されている。
【００４１】
また、ＤＭＡコントローラ３５、ＲＯＭアクセス頻度検出部１８、アクセス振り分け検出部４０、各データ処理制御部には、バスコントローラ部４５を介して各種設定が入力（即ち、格納）されるレジスタ群が備えられている。そして、これらのレジスタ群は、バスコントローラ部４５からＲＯＭアクセス調停部３０（ひいてはＲＯＭ５０）に至る第一のバスＢ１、ＲＡＭアクセス調停部２５（ひいてはＲＡＭ５５）に至る第二のバスＢ２とは異なる第三のバスＢ３を介して制御されるように構成されている。
【００４２】
なお、ＲＯＭコントローラ部１４、ＲＡＭコントローラ部１６、ＲＯＭアクセス頻度検出部１８、ＲＯＭアクセス調停部３０、ＲＡＭアクセス調停部２５、バスコントローラ部４５、アクセス振り分け検出部４０は、いずれも入力信号に応答して、予め決められた手順の処理を実行するシーケンサとして構成され、論理回路の組み合わせにより実現されるものである。
〈ＲＯＭアクセス頻度について〉
次に、ＲＯＭ５０に対するアクセス頻度について説明する。
【００４３】
まず、ＲＯＭコントローラ部１４は、ＲＯＭアクセス調停部３０からのアクセス要求をＲＯＭ５０に対して実行する毎に、ＣＰＵ１２のクロックｃｌｋ一周期分のパルス幅を有したアクセス実行信号ｒｏｍ＿ｅｘｅを、ＲＯＭアクセス頻度検出部１８に出力するように構成されている。
【００４４】
また、ＲＯＭアクセス頻度検出部１８は、一定期間内のＲＯＭ５０に対するアクセス回数を測定し、そのアクセス回数によってアクセス頻度を決定するものであり、ＲＯＭコントローラ部１４からのアクセス実行信号ｒｏｍ＿ｅｘｅに従って、ＲＯＭ５０に対するアクセス頻度を表すアクセス頻度信号ｒｏｍ＿ｂｕｓｙを生成するように構成されている。
【００４５】
ここで、図４は、ＲＯＭアクセス頻度検出部１８が実行する処理の手順を示したフローチャートである。このフローチャートを用いて、ＲＯＭアクセス頻度検出部１８の処理手順について説明する。
【００４６】
なお、ＲＯＭアクセス頻度検出部１８は、電源供給部から供給されるリセット信号によりリセット状態が解除されると起動する。
起動したＲＯＭアクセス頻度検出部１８は、図４に示すように、まず、Ｓ１１０で、期間を測定するための指標であるクロックｃｌｋのカウント値ｒｏｍ＿ｃｙｃ＿ｃｎｔ、及びＲＯＭ５０に対するアクセス要求が実行されたことを表すアクセス実行信号ｒｏｍ＿ｅｘｅのカウント値（以下、アクセス回数という）ｒｏｍ＿ａｃｃ＿ｃｎｔを初期化（即ち、０）する。
【００４７】
続くＳ１２０では、クロックｃｌＫの立ち上がりエッジのタイミングまで待機し、クロックｃｌｋの立ち上がりエッジタイミングになると、Ｓ１３０へと進む。つまり、クロックｃｌｋの立ち上がりエッジであれば、処理が進行する。
【００４８】
そして、Ｓ１３０では、カウント値ｒｏｍ＿ｃｙｃ＿ｃｎｔが、予め設定されたアクセス頻度測定期間値ｒｏｍ＿ｃｎｔ＿ｃｌｒと一致するか否かを判定し、不一致であれば、Ｓ１４０へ進む。
【００４９】
そのＳ１４０では、カウント値ｒｏｍ＿ｃｙｃ＿ｃｎｔをカウントアップ（１を加算）し、続くＳ１５０では、アクセス実行信号ｒｏｍ＿ｅｘｅがハイレベル（ｒｏｍ＿ｅｘｅ＝１）であるか否かを判定する。
【００５０】
そして、アクセス実行信号ｒｏｍ＿ｅｘｅがローレベル（ｒｏｍ＿ｅｘｅ＝０）であれば、Ｓ１２０へと戻り、アクセス実行信号ｒｏｍ＿ｅｘｅがハイレベルであれば、Ｓ１６０へと進む。
【００５１】
そのＳ１６０では、アクセス回数ｒｏｍ＿ａｃｃ＿ｃｎｔをカウントアップ（１を加算）して、Ｓ１２０へと戻る。
一方、先のＳ１３０にて、カウント値ｒｏｍ＿ｃｙｃ＿ｃｎｔと、アクセス頻度測定期間値ｒｏｍ＿ｃｎｔ＿ｃｌｒとが一致すると判定された場合、Ｓ１７０へと進む。
【００５２】
そのＳ１７０では、アクセス回数ｒｏｍ＿ａｃｃ＿ｃｎｔが、予め設定された回数閾値ｒｏｍ＿ｂｕｓｙ＿ｖａｌｕｅよりも大きいか否かを判定する。なお、回数閾値ｒｏｍ＿ｂｕｓｙ＿ｖａｌｕｅは、例えば、アクセス頻度測定期間値ｒｏｍ＿ｃｎｔ＿ｃｌｒ内で、ＲＯＭ５０に対しアクセス要求を実行できる最大回数の８０％に設定される。
【００５３】
そして、Ｓ１７０での判定の結果、アクセス回数ｒｏｍ＿ａｃｃ＿ｃｎｔが回数閾値ｒｏｍ＿ｂｕｓｙ＿ｖａｌｕｅよりも大きい場合には、Ｓ１８０へと進む。
そのＳ１８０では、過去、規定時間Ｔ（＝クロックｃｌｋ周期×アクセス頻度測定期間値ｒｏｍ＿ｃｎｔ＿ｃｌｒ）内でのＲＯＭ５０に対するアクセス頻度が高かったこと、即ち、ＲＯＭ５０がビジー状態であることをバスコントローラ部４５に通知するために、アクセス頻度信号ｒｏｍ＿ｂｕｓｙをハイレベル（ｒｏｍ＿ｂｕｓｙ＝１）にして、Ｓ２００へと進む。
【００５４】
一方、Ｓ１７０での判定の結果、アクセス回数ｒｏｍ＿ａｃｃ＿ｃｎｔが回数閾値ｒｏｍ＿ｂｕｓｙ＿ｖａｌｕｅ以下である場合には、Ｓ１９０へと進む。
そのＳ１９０では、過去、規定時間Ｔ内でのＲＯＭ５０に対するアクセス頻度が低かったこと、即ち、ＲＯＭ５０は非ビジー状態であることをバスコントローラ部４５に通知するために、アクセス頻度信号ｒｏｍ＿ｂｕｓｙローレベル（ｒｏｍ＿ｂｕｓｙ＝０）にして、Ｓ２００へと進む。
【００５５】
そして、Ｓ２００では、カウント値ｒｏｍ＿ｃｙｃ＿ｃｎｔ、及びアクセス回数ｒｏｍ＿ａｃｃ＿ｃｎｔをクリア（即ち、０）して、Ｓ１２０に戻る。
なお、ＲＯＭアクセス頻度検出部１８における一連の処理（即ち、Ｓ１２０からＳ１６０まで、もしくはＳ１２０からＳ１７０を経てＳ２００まで）は、クロックｃｌｋの一周期内で実行される。
【００５６】
上述したように、ＲＯＭアクセス頻度検出部１８は、規定時間Ｔ毎にその規定時間Ｔ内でのＲＯＭ５０に対するアクセス頻度の高低を判定した結果を表すアクセス頻度信号ｒｏｍ＿ｂｕｓｙを生成する。
〈ＲＡＭアクセス調停部について〉
次に、ＲＡＭアクセス調停部２５について説明する。
【００５７】
ここで、図５は、ＲＡＭアクセス調停部２５が実行する処理の手順を示すフローチャートであり、図６は、ＲＡＭアクセス調停部２５においてアクセス要求の状況を判断するための指標を簡易的に示したテーブルである。
【００５８】
ＲＡＭアクセス調停部２５は、各データ処理制御部からのＲＡＭ５５に対するアクセス要求、及びＣＰＵ１２からのＲＡＭ５５に対するアクセス要求、ＲＡＭコントローラ部１６に出力中のアクセス要求を監視し、その監視結果に従って、ＲＡＭ５５に対するアクセス要求の状況を表すアクセス状況信号ｒａｍ＿ｂｕｓｙを、バスコントローラ部４５に出力するように構成されている。
【００５９】
なお、ＲＡＭアクセス調停部２５で監視されるアクセス要求には、そのアクセス要求毎に、アクセス要求が競合した際、どのアクセス要求から実行させるか（即ち、優先順位）をＲＡＭアクセス調停部２５が決定するための指標（以下、優先指標とする）である優先度が割り当てられている。
【００６０】
その優先度として、ＣＰＵ１２による処理よりも、リアルタイムに実行することが重要視される処理に対応するアクセス要求には、ＣＰＵ１２からのＲＡＭ５５に対するプログラムの読出要求よりも高い値が割り当てられている。
【００６１】
より具体的に、本実施形態では、図６に示すように、アクセス要求の出力元であるチャンネルごとに優先度が割り当てられており、ＣＰＵ１２がチャンネル５（図中、ＣＨ５）に割り当てられていることから、ＣＰＵ１２からのプログラム読出要求よりも優先度の高いアクセス要求が、５つ用意されている。この優先度の高いアクセス要求としては、周知のＡＤＦ（原稿自動搬送装置）を用いて原稿の読み取りを実行する処理、ＦＡＸとして画像情報を送受信する処理等を実行するためのアクセス要求等が挙げられる。なお、図６において、優先度の数字が小さいものほど優先順位が高い、即ち、高い優先度を示す。
【００６２】
さらに、それぞれのアクセス要求には、アクセス要求の形式（例えば、プログラムの読出要求であれば、シングル形式やバースト形式等をＲＡＭアクセス調停部２５に認識させるための指標）が備えられており、そのアクセス要求の形式を優先指標の一つとして使用する。
【００６３】
そして、これらアクセス要求の優先指標は、予め設定されているものであり、その設定は、ＲＯＭ５０のブート領域に格納されている。
次に、ＲＡＭアクセス調停部２５が実行する処理の手順を説明する。
【００６４】
ＲＡＭアクセス調停部２５は、電源供給部から供給されるリセット信号により、リセット状態が解除されると起動する。
起動したアクセス調停部２５は、図５に示すように、まず、Ｓ３１０でＲＡＭアクセス調停部２５に入力中のアクセス要求、及びＲＡＭアクセス調停部２５からＲＡＭコントローラ部１６に出力中のアクセス要求（即ち、実行中のアクセス要求）の中に、ＣＰＵ１２からのＲＡＭ５５に対するプログラム読出要求よりも、優先度の高いものが含まれているか否かを判定する。
【００６５】
そして、判定の結果、プログラム読出要求よりも、優先度の高いもの、即ち、図６に示すＣＨ０〜ＣＨ４からのアクセス要求が含まれていれば、Ｓ３２０へと進む。
そのＳ３２０では、Ｓ３１０でプログラム読出要求よりも、優先度が高いと判定されたアクセス要求の数が、予め規定された規定値以上であるか否かを判定し、アクセス要求の数が規定値未満であれば、Ｓ３３０へと進む。
【００６６】
ただし、予め規定される規定値は、優先度の高いアクセス要求が実行された後、プログラム読出要求がＲＡＭ５５に対して実行されるよりも、プログラム読出要求を予めＲＯＭ５０に対して実行することにより、プログラムの読出しに必要となる時間を短縮することが可能なアクセス要求の数として設定されるものであり、本実施形態では、その数を３とする。
【００６７】
つまり、本実施形態では、図６に示すＣＨ０〜ＣＨ４からのアクセス要求が３未満であれば、Ｓ３３０へと進む。
そして、Ｓ３３０では、Ｓ３１０でプログラム読出要求よりも、優先度が高いと判定されたアクセス要求の中に、一つのアクセス要求で、複数の連続したデータを転送するバースト形式が含まれているか否かを判定する。その判定の結果、優先度の高いアクセス要求の中にバースト形式のアクセス要求、即ち、図６に示すＣＨ０、ＣＨ１、ＣＨ３からのアクセス要求が含まれていれば、Ｓ３４０へと進む。
【００６８】
また、先に行われたＳ３２０の判定の結果、優先度の高いアクセス要求が規定値以上含まれている場合にも、Ｓ３４０へと進む。
そのＳ３４０では、プログラム読出要求よりも優先順位の高いアクセス要求が、ＲＡＭアクセス調停部２５に入力されている、即ち、高優先状況であることをバスコントローラ部４５に検知させるため、アクセス状況信号ｒａｍ＿ｂｕｓｙをハイレベル（即ち、ｒａｍ＿ｂｕｓｙ＝１）とする。
【００６９】
つまり、ＣＰＵ１２からのプログラム読出要求よりも優先度の高いアクセス要求がＲＡＭアクセス調停部２５に複数入力（または、実行）されており、それらのアクセス要求を実行した後に、ＲＡＭ５５に対してプログラム読出要求を実行するよりも、アクセス要求の対象をＲＯＭ５０に変更してプログラム読出要求を実行することで、ＣＰＵ１２がプログラムを読み出す時間を短縮可能な状況であれば、ＲＡＭアクセス調停部２５は、高優先状況と判定する。
【００７０】
なお、先に行われたＳ３１０の判定の結果、プログラム読出要求よりも、優先度の高いアクセス要求が入力されていない場合、またはＳ３３０での判定の結果、優先度の高いアクセス要求の中にバースト形式のアクセス要求が含まれていない場合には、Ｓ３５０へと進む。
【００７１】
そのＳ３５０では、プログラム読出要求よりも優先順位の高いアクセス要求が、ＲＡＭアクセス調停部２５に入力されていない、即ち、低優先状況であることをバスコントローラ部４５に検知させるため、アクセス状況信号ｒａｍ＿ｂｕｓｙをローレベル（即ち、ｒａｍ＿ｂｕｓｙ＝０）とする。
【００７２】
つまり、ＣＰＵ１２からのプログラム読出要求よりも優先度の高いアクセス要求がＲＡＭアクセス調停部２５に入力（または、実行）されていない状況、またはプログラム読出要求よりも優先度の高いアクセス要求がＲＡＭアクセス調停部２５に入力（または、実行）されていても、アクセス要求の対象をＲＯＭ５０に変更してプログラム読出要求を実行するよりも、優先度の高いアクセス要求を実行した後に、ＲＡＭ５５に対してプログラム読出要求を実行することで、ＣＰＵ１２がプログラムを読み出す時間を短縮可能な状況であれば、ＲＡＭアクセス調停部２５は、低優先状況と判定する。
【００７３】
上述したように、ＲＡＭアクセス調停部２５は、ＲＡＭアクセス調停部２５に入力されているアクセス要求、及びＲＡＭアクセス調停部２５からＲＡＭコントローラ部１６に出力されているアクセス要求を監視した結果、高優先状況であれば、アクセス状況信号ｒａｍ＿ｂｕｓｙをハイレベルとし、低優先状況であれば、アクセス状況信号ｒａｍ＿ｂｕｓｙをローレベルとする。
〈ＣＰＵ１２からのアクセスの振り分けについて〉
アクセス振り分け検出部４０は、ＣＰＵ１２からのアクセス要求を監視し、そのアクセス要求が、ＲＯＭ５０の第一プログラム領域、またはＲＡＭ５５の第二プログラム領域をアクセス対象としたプログラム読出要求である場合にハイレベル、それ以外の場合にローレベルとなる振分可能信号ｃｏｎｖ＿ｅｎを生成して、バスコントローラ部４５に供給するように構成されている。
【００７４】
つまり、ＣＰＵ１２からのアクセス要求（プログラム読出要求）を、ＲＯＭ５０またはＲＡＭ５５のどちらに対して実行してもよい場合に、振分可能信号ｃｏｎｖ＿ｅｎがハイレベル（ｃｏｎｖ＿ｅｎ＝１）となるようにされている。
【００７５】
また、バスコントローラ部４５は、ＣＰＵ１２からのアクセス要求（プログラム読出要求を含む）があった場合、図２に示したメモリマップに従って、そのアクセス要求を第一、第二、第三のバスＢ１〜Ｂ３のいずれかに振り分けるように構成されている。
【００７６】
次に、バスコントローラ部４５の処理手順について説明する。
ここで、図７は、バスコントローラ部４５の処理手順を示すフローチャートである。
なお、バスコントローラ部４５は、電源供給部から供給されるリセット信号によりリセット状態が解除されると起動する。
【００７７】
起動したバスコントローラ部４５は、図７に示すように、まず、Ｓ５１０で、ＣＰＵ１２からのアクセス要求があるまで待機し、アクセス要求があると、Ｓ５２０へと進む。
そのＳ５２０では、アクセス振り分け検出部４０からの振分可能信号ｃｏｎｖ＿ｅｎがハイレベルであるか否かを判定し、振分可能信号ｃｏｎｖ＿ｅｎがハイレベルであれば、アクセス要求はプログラム読出要求であるものとして、Ｓ５３０へと進む。
【００７８】
そのＳ５３０では、プログラム読出要求が、ＲＯＭ５０に対するものであるか否かを判定する。具体的には、プログラム読出要求によるアクセス対象アドレスが、ＲＯＭ領域に属するか否かによって判定する。
【００７９】
そして、判定の結果、ＲＯＭ５０に対するプログラム読出要求であれば、Ｓ５４０へと進み、そのＳ５４０では、ＲＡＭ５５が低優先状況（ｒａｍ＿ｂｕｓｙ＝０）、かつＲＯＭ５０がビジー状態（ｒｏｍ＿ｂｕｓｙ＝１）であるか否かを判定する。
【００８０】
そして、Ｓ５４０での判定の結果、肯定判定された場合は、Ｓ６００に進み、ＲＯＭ５０（即ち、第一プログラム領域）に対するプログラム読出要求を、同一プログラムが格納されたＲＡＭ５５（即ち、第二プログラム領域）に対するプログラム読出要求に変更して、そのプログラム読出要求を、第二のバスＢ２を介してＲＡＭアクセス調停部２５に出力した後、Ｓ６２０へと進む。
【００８１】
また、Ｓ５４０での判定の結果、否定判定された場合は、Ｓ６１０に進み、ＣＰＵ１２からのプログラム読出要求をそのまま第一のバスＢ１を介してＲＯＭアクセス調停部３０に出力した後、Ｓ６２０へと進む。
【００８２】
なお、先のＳ５３０での判定の結果、ＲＯＭ５０に対するプログラム読出要求でなければ、Ｓ５６０に進み、そのＳ５６０では、ＲＡＭ５５が高優先状況（ｒａｍ＿ｂｕｓｙ＝１）、かつＲＯＭ５０が非ビジー状態（ｒｏｍ＿ｂｕｓｙ＝０）であるか否かを判定する。
【００８３】
そして、判定の結果、肯定判定された場合、Ｓ６１０に進み、ＲＡＭ５５（即ち、第二プログラム領域）に対するプログラム読出要求を、同一プログラムが格納されたＲＯＭ５０（即ち、第一プログラム領域）に対するプログラム読出要求に変更して、そのプログラム読出要求を第一のバスＢ１を介してＲＯＭアクセス調停部３０に出力した後、Ｓ６２０へと進む。
【００８４】
また、Ｓ５６０での判定の結果、否定判定された場合は、Ｓ６００に進み、ＲＡＭ５５に対するプログラム読出要求をそのまま第二のバスＢ２を介してＲＡＭアクセス調停部２５に出力した後、Ｓ６２０に進む。
【００８５】
さらに、先のＳ５２０での判定の結果、振分可能信号ｃｏｎｖ＿ｅｎがローレベル（即ち、０）であれば、Ｓ５７０へと進む。
そのＳ５７０では、ＣＰＵ１２からのアクセス要求が、ＲＡＭ５５に対するものであるか否かを判定し、判定の結果、ＲＡＭ５５に対するアクセス要求であれば、Ｓ６００に進み、そのアクセス要求に従い、第二のバスＢ２を介してＲＡＭアクセス調停部２５にアクセス要求を出力した後、Ｓ６２０に進む。
【００８６】
また、Ｓ５７０での判定の結果、ＲＡＭ５５に対するアクセス要求でなければ、Ｓ５８０へと進む。
そのＳ５８０では、ＣＰＵ１２からのアクセス要求が、ＲＯＭ５０に対するものであるか否かを判定し、判定の結果、ＲＯＭ５０に対するアクセス要求であれば、Ｓ６１０に進み、そのアクセス要求に従い、第一のバスＢ１を介してＲＯＭアクセス調停部３０にアクセス要求を出力した後、Ｓ６２０に進む。
【００８７】
また、Ｓ５８０での判定の結果、ＲＯＭ５０に対するアクセス要求でなければ、Ｓ６３０に進み、レジスタ領域に対するアクセス要求であるものとして、第三のバスＢ３を介してアクセス対象のレジスタにアクセス要求を出力した後、Ｓ６２０に進む。
【００８８】
最後に、Ｓ６２０では、第一〜第三のバスＢ１〜Ｂ３のいずれかに出力したアクセス要求が実行されるまで待機し、アクセス要求が実行されると、Ｓ５１０に戻る。
つまり、ＲＯＭ５０，ＲＡＭ５５のうち、アクセス要求の対象である一方を要求メモリ、他方を非要求メモリとして、バスコントローラ部４５では、振分可能信号ｃｏｎｖ＿ｅｎがハイレベル、即ち、第一プログラム領域または第二プログラム領域に対するプログラム読出要求である場合、アクセス対象である要求メモリが低優先状況（または、非ビジー状態）であれば、アクセス対象を変更することなくそのままアクセスを実行し、アクセス対象である要求メモリが高優先状況（または、ビジー状態）であれば、非要求メモリが低優先状況（または、非ビジー状態）である場合に限り、アクセス対象を要求メモリから非要求メモリに変更するようにされている。
〈ＣＰＵが実行する処理について〉
次に、ＣＰＵ１２が実行する初期設定処理について、図８に示すフローチャートを用いて説明する。
【００８９】
なお、この初期設定処理に関するプログラムや各種設定等は、ＲＯＭ５０のブート領域に格納されている。
そして、初期設定処理は、電源供給部から供給されるリセット信号によりリセット状態が解除されると起動するＣＰＵ１２によって、最初に起動される。
【００９０】
そして、初期設定処理が起動されると、まずＳ７１０では、画像形成装置１を構成する操作部等のユーザＩ／Ｆの初期化、ＵＳＢＩ／Ｆ部８やモデム部９等の外部Ｉ／Ｆの初期化等、周知の起動処理を実行する。
【００９１】
続くＳ７２０では、ブート領域に格納された、第一プログラム領域の先頭アドレス及び末尾アドレス、第二プログラム領域の先頭アドレス及び末尾アドレスをＲＯＭ５０から読み出す。そして、読み出したこれらのアドレスを、ＤＭＡ転送の転送元アドレス及び転送先アドレスとして、ＤＭＡコントローラ３５に設定した後、ＤＭＡコントローラ３５を起動することにより、ＲＯＭ５０の第一プログラム領域に格納されたプログラムをＲＡＭ５５の第二プログラム領域にＤＭＡ転送する。これにより、ＲＯＭ５０とＲＡＭ５５とに同一のプログラムが格納され、ＲＯＭ５０及びＲＡＭ５５のいずれからでも、ＣＰＵ１２にプログラムを読み込ませることが可能な状態となる。
【００９２】
なお、ＣＰＵ１２によるＤＭＡコントローラ３５の設定、起動は、バスコントローラ部４５、第三のバスＢ３を介して実行される。以下のＳ７３０〜７５０で説明するＲＯＭアクセス頻度検出部１８、ＲＡＭアクセス調停部２５、アクセス振り分け検出部４０に対する設定も同様である。
【００９３】
そして、Ｓ７３０では、ＲＯＭ５０のブート領域に格納されたＲＡＭアクセス調停部２５に入力（または、出力）されるアクセス要求の優先指標を読み出し、読み出した優先指標をＲＡＭアクセス調停部２５に設定する。
【００９４】
続くＳ７４０では、ＲＯＭ５０のブート領域に格納されたＲＯＭ５０に対するアクセス頻度測定期間値ｒｏｍ＿ｃｎｔ＿ｃｌｒと、ＲＯＭ５０に対する回数閾値ｒｏｍ＿ｂｕｓｙ＿ｖａｌｕｅとを読み出す。そして、読み出した両値ｒｏｍ＿ｃｎｔ＿ｃｌｒ，ｒｏｍ＿ｂｕｓｙ＿ｖａｌｕｅをＲＯＭアクセス頻度検出部１８に設定する。
【００９５】
さらに、Ｓ７５０では、第一のプログラム領域のアドレスと、ＤＭＡコントローラ３５によって転送されたプログラムの格納先である第二プログラム領域のアドレスをアクセス振り分け検出部４０に設定する。つまり、ＣＰＵ１２からのアクセス要求を受信したアクセス振り分け検出部４０が、振分可能信号ｃｏｎｖ＿ｅｎをハイレベルとするアドレス領域が設定される。
【００９６】
より具体的に、本実施形態では、ＲＯＭ５０の第一プログラム領域のアドレス（図２中のアドレス１＿２からアドレス１＿３）と、ＲＡＭ５５の第二プログラム領域のアドレス（図２中のアドレス２＿１からアドレス２＿２）とが設定される。
【００９７】
なお、Ｓ７５０でアドレスエリアが設定されるまでは、アクセス振り分け検出部４０は、振分可能信号ｃｏｎｖ＿ｅｎをローレベルに保持する。
そして、その後、Ｓ７６０では、画像形成装置１の各部（記録部５、読取部７等）を、操作部等からの各種指令を受け付けることが可能なアイドリング状態とし、以後、指令を受け付ける毎に、その指令に応じた機能を実現するためのプログラムの実行等を行う。
〈本実施形態の効果〉
以上説明したように、本実施形態の画像形成装置では、ＣＰＵ１２から振分可能なプログラム読出要求が出力されると、アクセス対象とされている要求メモリ（ＲＡＭ５５またはＲＯＭ５０）が低優先状況（または非ビジー状態）であれば、そのままアクセス要求を実行し、要求メモリが高優先状況（またはビジー状態）であれば、非要求メモリが低優先状況（または非ビジー状態）であることを条件として、アクセス対象を要求メモリから非要求メモリに変更して、プログラム読出要求を実行するようにされている。
【００９８】
したがって、第一実施形態の画像形成装置１によれば、ビジー状態のＲＯＭ５０及び高優先状況のＲＡＭ５５に対してプログラム読出要求が実行される可能性が大幅に低減されるため、ＣＰＵ１２がプログラムを読み出して処理を実行するまでに要する時間を短縮することができる。
【００９９】
また、本実施形態の画像形成装置１では、ＣＰＵ１２によるプログラム読出要求のアクセス対象が基本的にＲＡＭ５５となるように設定しておけば、ＣＰＵ１２は、ＲＡＭ５５が低優先状況であるときには、ＲＡＭ５５から高速にプログラムを読み出すことができるため、平均的な処理時間を短縮することができる。さらに、ＲＡＭ５５が高優先状況、即ち、データ処理制御部等のＣＰＵ１２以外の構成からのＲＡＭ５５に対するアクセス要求が、ＣＰＵ１２からのプログラム読出要求よりも優先順位が高い時には、ＣＰＵ１２のプログラム読出要求は、ＲＯＭ５０に対して実行される。このため、ＣＰＵ１２は、ＣＰＵ１２以外の構成からのＲＡＭ５５に対するアクセス要求（その実行も含む）と並行しながら、プログラムを読み出して処理を実行することができる。
【０１００】
その結果、当該画像形成装置１の動作が停止（いわゆるフリーズ）したように感じる動作状態となることを防止でき、使用者に不安を与える可能性を低減することができる。また、ＣＰＵ１２がプログラムを読み出し・実行を開始するまでの待ち時間が生じることによる不具合を回避することができる。
【０１０１】
また、本実施形態の画像形成装置１では、ＣＰＵ１２からのＲＡＭ５５に対するプログラム読出要求よりも優先度の高いアクセス要求が規定値以上であるか、規定値未満であっても、優先度の高いアクセス要求の中にバースト形式のアクセス要求が含まれていれば、高優先状況としている。このため、本実施形態の画像形成装置１によれば、ＣＰＵ１２がプログラムを読み出すために必要な時間を、その状況の中で最小限とするプログラム読出要求の出力先（即ち、ＲＯＭ５０かＲＡＭ５５か）を確実に選択することができる。
〈本実施形態以外の実施形態〉
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施することが可能である。
【０１０２】
本実施形態のＲＡＭアクセス調停部２５では、ＣＰＵ１２からのＲＡＭ５５に対するプログラム読出要求よりも優先度の高いアクセス要求が規定値以上である状況、またはその優先度の高いアクセス要求の中にバースト形式のアクセス要求が含まれる状況を高優先状況としたが、高優先状況とするアクセス要求の状況はこれに限るものではない。
【０１０３】
例えば、ＣＰＵ１２からのＲＡＭ５５に対するプログラム読出要求よりも優先度の高いアクセス要求がＲＡＭアクセス調停部２５に入力されている状況を高優先状況としても良いし、優先度の高いバースト形式のアクセス要求がＲＡＭアクセス調停部２５に入力されている状況を高優先状況としても良い。即ち、ＲＡＭアクセス調停部２５において実行される処理のうち、Ｓ３２０およびＳ３３０のいずれか、または両方が省略されていても良い。
【０１０４】
また、本実施形態の画像形成装置１には、ＲＯＭアクセス頻度検出部１８が備えられているが、ＲＯＭアクセス頻度検出部１８は省略されていても良い。ただし、この場合、バスコントローラ部４５は、アクセス状況信号ｒａｍ＿ｂｕｓｙに従って、ＣＰＵ１２からのアクセス要求を振り分けるものとする。
【０１０５】
なお、図６に示すようなＲＡＭアクセス調停部２５においてアクセス要求の状況を判断するための指標は、一例であり、これに限定されるものではない。
【図面の簡単な説明】
【０１０６】
【図１】本発明が適用された画像形成装置の構成を示すブロック図である。
【図２】ＡＳＩＣに内蔵されたＣＰＵのメモリマップを示す模式図である。
【図３】画像形成装置の制御部における構成を示すブロック図である。
【図４】ＲＯＭアクセス頻度検出部が実行する処理の手順を示すフローチャートである。
【図５】ＲＡＭアクセス調停部が実行する処理の手順を示すフローチャートである。
【図６】ＲＡＭに対するアクセス要求の優先順位を簡易的に示した表である。
【図７】バスコントローラ部が実行する処理の手順を示すフローチャートである。
【図８】ＣＰＵが実行する処理プログラムを示すフローチャートである。
【符号の説明】
【０１０７】
１…画像形成装置  ３…制御部  ５…記録部  ７…読取部  ８…ＵＳＢＩ／Ｆ部  ９…モデム部  １０…ＡＳＩＣ  １４…ＲＯＭコントローラ部  １６…ＲＡＭコントローラ部  １８…ＲＯＭアクセス頻度検出部  ２５…ＲＡＭアクセス調停部  ３０…ＲＯＭアクセス調停部  ３５…ＤＭＡコントローラ部  ４０…アクセス振り分け検出部  ４５…バスコントローラ部  ５５…記録制御部  ５６…画像処理制御部  ５７…読取制御部  ５８…ＵＳＢＩ／Ｆ制御部  ５９…モデム制御部  Ｂ１…第一のバス  Ｂ２…第二のバス  Ｂ３…第三のバス
【図１】
2007334816.tif 000003
【図２】
2007334816.tif 000004
【図３】
2007334816.tif 000005
【図４】
2007334816.tif 000006
【図５】
2007334816.tif 000007
【図６】
2007334816.tif 000008
【図７】
2007334816.tif 000009
【図８】
2007334816.tif 000010