(57)【要約】【課題】  起動から初期化処理完了までの時間を短縮させる。【解決手段】  データ処理装置１０は、プログラムデータを格納したＲＯＭ１１と、プログラムデータを一時的に記憶するＲＡＭ１３と、ＲＯＭ１１からＲＡＭ１３にプログラムデータの少なくとも一部を転送する転送部１７と、プログラムデータを実行する実行部１５と、を備え、プログラムデータは、転送部１７の転送速度を高速モードに切り替える切替プログラムを含む初期化プログラムと、初期化プログラムよりも容量の大きい実処理プログラムとを含み、転送部１７は、実行部１５が切替プログラムを実行した後に、実処理プログラムを高速モードでＲＯＭ１１からＲＡＭ１３に転送する。【選択図】  図１
2005258967.tif 000002
【特許請求の範囲】
【請求項１】
プログラムデータを格納した不揮発性記憶装置と、
前記プログラムデータを一時的に記憶する揮発性記憶装置と、
前記不揮発性記憶装置から前記揮発性記憶装置に前記プログラムデータの少なくとも一部を転送する転送手段と、
前記プログラムデータを実行する実行手段と、
を備え、
前記プログラムデータは、前記転送手段の転送速度を高速モードに切り替える切替プログラムを含む初期化プログラムと、前記初期化プログラムよりも容量の大きい実処理プログラムとを含み、
前記転送手段は、前記実行手段が前記切替プログラムを実行した後に、前記実処理プログラムを前記高速モードで前記不揮発性記憶装置から前記揮発性記憶装置に転送することを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記転送手段は、前記初期化プログラムを前記揮発性記憶装置に転送し、前記実行手段は、前記揮発性記憶装置に転送された前記切替プログラムを実行することを特徴とするデータ処理装置。
【請求項３】
請求項１に記載のデータ処理装置において、
前記実行手段は、前記不揮発性記憶装置に格納された前記切替プログラムを実行することを特徴とするデータ処理装置。
【請求項４】
請求項１乃至３いずれかに記載のデータ処理装置において、
クロック信号を出力するクロック手段をさらに備え、
前記切替プログラムは、前記クロック手段の前記クロック信号を高周波数に設定するための信号制御プログラムを含み、
前記実行手段は、前記信号制御プログラムを実行し、前記クロック手段の前記クロック信号を前記高周波数に設定し、
前記転送手段は、前記クロック手段の前記クロック信号が前記高周波数に設定された後、前記高周波数の前記クロック信号に同期して前記高速モードで動作することを特徴とするデータ処理装置。
【請求項５】
請求項１乃至４いずれかに記載のデータ処理装置において、
前記初期化プログラムは、前記不揮発性記憶装置の１個所の領域にまとめて記憶されることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特に、不揮発性記憶装置に格納されたプログラムを読み込んで実行して動作するデータ処理装置に関する。
【背景技術】
【０００２】
近年、マイクロプロセッサはコンピュータだけでなく、家電製品や工業機器などの様々な分野の製品に搭載されるようになってきた。たとえばファクシミリ装置やＭＦＰ（Multi Functional Peripheral）などの情報機器にもマイクロプロセッサが搭載されている。このマイクロプロセッサは、一般に、ＲＯＭなどの不揮発性記憶装置に格納されたプログラムをＳＤＲＡＭなどの揮発性記憶装置にロードして実行し動作する。これは、ＲＯＭからのプログラムの読み出し速度がＳＤＲＡＭに比べて遅いためである。
【０００３】
マイクロプロセッサの処理能力の向上に伴い、多くの機能が要求され、これらを実現するためのプログラムの容量も増加の一途を辿っている。この大容量のプログラムをロードするのに時間がかかるため、起動時の立ち上げまでの待ち時間が長くなるといった問題が発生する。
【０００４】
特許文献１には、ディジタルカメラにおける電源投入時の起動処理時間を短縮するために、撮像系の立ち上げに必要な最小限の起動用プログラムをはじめにロードして実行して撮影可能とした後で、残りのプログラムをロードして実行することが開示されている。
【０００５】
また、特許文献２には、外部記憶装置に記憶されたアプリケーションプログラムなどのプログラムデータを内部メモリへ転送して起動する場合において、内部メモリを複数のエリアに分割し、メモリチェックと並行して、順次ＤＭＡ方式によりプログラムデータを転送する装置が開示されている。
【特許文献１】特開２００３−１８９１６５号公報
【特許文献２】特開平６−３４８５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
データ処理装置において、マイクロプロセッサの種類によって、プログラムがロードされ、初期化処理が実行された後に、はじめて動作速度が高速化するものがある。しかし、従来のデータ処理装置ではプログラムは無秩序に転送されており、容量の大きいプログラムデータが動作速度が低速のままロードされていたため、プログラムの転送により多くの時間を要するといった問題点があった。たとえばデータ処理装置がＭＦＰの場合、ロードするプログラムデータに、容量の大きいフォントデータなどが含まれているため、電源投入後これらのデータがロードされるのに非常に時間がかかっていた。
【０００７】
本発明は、上記背景の下でなされたものであり、その目的は、起動から初期化処理完了までの時間を短縮できるデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明のデータ処理装置は、プログラムデータを格納した不揮発性記憶装置と、前記プログラムデータを一時的に記憶する揮発性記憶装置と、前記不揮発性記憶装置から前記揮発性記憶装置に前記プログラムデータの少なくとも一部を転送する転送手段と、前記プログラムデータを実行する実行手段と、を備え、前記プログラムデータは、前記転送手段の転送速度を高速モードに切り替える切替プログラムを含む初期化プログラムと、前記初期化プログラムよりも容量の大きい実処理プログラムとを含み、前記転送手段は、前記実行手段が前記切替プログラムを実行した後に、前記実処理プログラムを前記高速モードで前記不揮発性記憶装置から前記揮発性記憶装置に転送する。
【０００９】
ここで、初期化プログラムとは、装置の起動に最低限必要な容量の小さいプログラムである。この初期化プログラムには、装置の動作を高速に切り替えるための切替プログラムが含まれる。電源投入後、装置ははじめ低速モードで動作する。低速モードで、初期化プログラムは実行手段によって実行される。切替プログラムが実行されることによって、装置の動作が高速モードに切り替えられる。
【００１０】
また、実処理プログラムとは、実際にデータ処理装置が機能するための様々な処理を行うためのプログラムが含まれる。これらは、装置が起動後、不揮発性記憶装置から揮発性記憶装置に転送され、一時的に格納されて、実行手段によって実行される。実処理プログラムは、初期化プログラムに比べて容量が非常に大きい。
【００１１】
本発明によれば、転送手段の転送速度が低速である装置の起動直後は、容量の小さい初期化プログラムの切替プログラムを実行し、その後に実処理プログラムを転送する。これにより、容量の大きい実処理プログラムを高速モードで転送することが可能となり、転送時間が大幅に短縮されることとなる。このようにして、装置の起動にかかる時間を短縮することが可能となる。
【００１２】
上記データ処理装置において、前記転送手段は、前記初期化プログラムを前記揮発性記憶装置に転送し、前記実行手段は、前記揮発性記憶装置に転送された前記切替プログラムを実行することができる。
【００１３】
初期化プログラムは、装置起動時に実行された後、通常動作中にも再度実行される場合がある。その場合、初期化プログラムが読み出し速度が不揮発性記憶装置に比べて遅い揮発性記憶装置に格納されたままだと、処理に時間がかかってしまうことになる。したがって、処理速度を高速に維持するためにも、予め初期化プログラムは不揮発性記憶装置から揮発性記憶装置に転送しておく必要がある。
【００１４】
この構成によれば、初期化プログラムを装置起動時の初期化処理後の通常動作中に再度実行する場合でも、処理速度を高速に維持することができる。
【００１５】
上記データ処理装置において、前記実行手段は、前記不揮発性記憶装置に格納された前記切替プログラムを実行することができる。
【００１６】
この構成によれば、切替プログラムを不揮発性記憶装置上で直接実行することができるので、通常動作中はほとんど実行されないプログラムデータの転送を省略することができる。これにより、通常動作中の処理速度の高速化が特に要求されない装置や揮発性記憶装置の容量が比較的小さい装置の場合、切替プログラムは揮発性記憶装置に転送せずに、不揮発性記憶装置上で直接実行することができる。したがって、切替プログラムを転送しない分、装置起動時のプログラムデータの転送にかかる時間をさらに短縮できる。
【００１７】
上記データ処理装置において、クロック信号を出力するクロック手段をさらに備えることができ、切替プログラムは、クロック手段のクロック信号を高周波数に設定するための信号制御プログラムを含むことができ、実行手段は、信号制御プログラムを実行し、クロック手段のクロック信号を高周波数に設定し、クロック手段のクロック信号が高周波数に設定された後、転送手段は、高周波数のクロック信号に同期して高速モードで動作することができる。
【００１８】
この構成によれば、クロック信号に同期して動作する転送手段の動作を高速モードにしてから、容量の大きい実処理プログラムを転送することができるので、転送時間を短縮することができる。
【００１９】
上記データ処理装置において、初期化プログラムは、不揮発性記憶装置の１個所の領域にまとめて格納されることができる。
【００２０】
初期化プログラムは複数のプログラムを含むが、これらを不揮発性記憶装置の所定の領域に全て格納する。この所定の領域は、不揮発性記憶装置のメモリアドレスで範囲を指定できる。また、初期化プログラムを格納する領域は、初期化プログラムと同じ容量を有する。
【００２１】
この構成によれば、初期化プログラムが不揮発性記憶装置の１個所の領域にまとめて格納されるので、揮発性記憶装置に転送する際、複数個所の領域に格納されている場合に比べてより早く転送できる。
【００２２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２３】
上述のように、本発明によれば、起動から初期化処理完了までの時間を短縮できるデータ処理装置が提供される。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を図面を参照して説明する。
【００２５】
図１は、本実施の形態のデータ処理装置のシステム構成を示すブロック図である。データ処理装置１０は、不揮発性記憶装置（以後、「ＲＯＭ（Read Only Memory）」と呼ぶ。）１１と、揮発性記憶装置（以後、「ＲＡＭ（Random Access Memory）」と呼ぶ。）１３と、実行部１５と、転送部１７と、クロック発信部１９と、を備える。
【００２６】
データ処理装置１０は、ＲＯＭ１１に格納されたプログラムをＲＡＭ１３に読み込み、実行部１５によってプログラムを実行することにより、様々な機能を実現するものである。本実施の形態において、データ処理装置１０は、たとえば、ネットワークファクシミリ装置、ＭＦＰ（Multi Functional Peripheral）などである。
【００２７】
なお、図１において、本発明の本質に関わらない部分の構成については省略してあり、たとえば、たとえばファクシミリ装置の構成である、通信部、原稿読み取り部、画像処理部、および記録部などは図示されていない。
【００２８】
また、データ処理装置１０の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【００２９】
ＲＯＭ１１は、フラッシュメモリなどの不揮発性記憶装置であり、複数のプログラムが格納されている。詳細については後述する。ＲＡＭ１３は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などの揮発性記憶装置であり、クロック発信部１９から出力されるクロック信号に同期して動作する。
【００３０】
実行部１５は、たとえば、ＤＳＰ（Digital Signal Processor）などのマイクロプロセッサであり、ＲＡＭ１３に一時的に記憶されたプログラムを実行する。転送部１７は、ＲＯＭ１１からプログラムを読み込んで、ＲＡＭ１３に転送し、一時的に記憶させる。クロック発信部１９は、所定の周波数でクロック信号を出力する。データ処理装置１０の各構成要素は、このクロック信号に同期して動作する。クロック発信部１９のクロック信号の周波数は、データ処理装置１０が起動後に、実行部１５により実行される後述するプログラムにより設定される。
【００３１】
図２に示すように、ＲＯＭ１１は、起動プログラム領域２１と、初期化プログラム領域２３と、実処理プログラム領域２５と、を有する。
【００３２】
起動プログラム領域２１には、データ処理装置１０が起動したとき、自動的にロードされ実行される起動プログラム、たとえばＩＰＬ（Initial Program Loader）が格納される。本実施の形態において、起動プログラム領域２１は、１ｋＢである。起動プログラムにより、データ処理装置１０のＤＳＰのレジスタ（不図示）リセットおよびコアプログラムの展開などの起動処理が行われる。
【００３３】
初期化プログラム領域２３には、割り込みベクタ、オペレーティングシステム、および書き換えコードなどを含むカーネルなどの初期化プログラムが格納される。本実施の形態において、初期化プログラム領域２３は２５５ｋＢである。初期化プログラムにより、データ処理装置１０の初期化処理が実行される。また、初期化プログラムは、ＤＳＰのＰＬＬ（Phase Locked Loop）制御レジスタ（不図示）を設定する処理を含む。これにより、データ処理装置１０の動作モードが高速に切り替えられることになる。
【００３４】
具体的には、起動時、クロック発信部１９の分周比は初期値の８に設定されており、内部クロックの８分の１のクロック周波数でクロック信号が出力される。初期化プログラムにより、ＰＬＬ制御レジスタに所定の値、たとえば１がセットされることにより、クロック発信部１９の分周比が１になる。これにより、内部クロックがそのままクロック信号として出力されることとなり、クロック信号が高周波数に設定される。
【００３５】
実処理プログラム領域２５には、データ処理装置１０が実際に機能するため各種プログラムが含まれる。たとえば、レンダリングなどの画像処理プログラム、圧縮符号化処理プログラム、およびフォントデータが含まれる。本実施の形態において、実処理プログラム領域２５は、約４ＭＢ〜８ＭＢである。
【００３６】
起動プログラム領域２１および初期化プログラム領域２３は、ＲＯＭ１１内の隣り合う領域１個所にまとめて設けるのが好ましい。このように、起動に最低限必要なプログラムと転送速度を高速モードに切り替える切替プログラムをＲＯＭ１１内の１個所にまとめて格納することにより、複数個所の領域に格納されている場合に比べてより早くＲＯＭ１１からＲＡＭ１３に必要なプログラムデータを転送することが可能となる。
【００３７】
図３は、データ処理装置１０の動作を示すフローチャートである。
【００３８】
まず、電源が投入されると、ＲＯＭ１１の起動プログラム領域２１から起動プログラムを転送部１７がＲＡＭ１３に転送する（Ｓ１１）。転送された起動プログラムはＲＡＭ１３に一時的に記憶される。起動プログラムが実行部１５により実行され、データ処理装置１０の起動処理が行われる（Ｓ１３）。
【００３９】
つづいて、ＲＯＭ１１の初期化プログラム領域２３から初期化プログラムを転送部１７がＲＡＭ１３に転送する（Ｓ１５）。転送された初期化プログラムはＲＡＭ１３に一時的に記憶される。初期化プログラムを実行部１５により実行され、初期化処理が行われる（Ｓ１７）。つづいて、初期化プログラムに含まれるＰＰＬ制御プログラムが実行され、クロック発信部１９のクロック信号が高周波数に設定される（Ｓ１９）。これにより、データ処理装置１０の各構成要素は、高速モードで動作可能となる。
【００４０】
つづいて、ＲＯＭ１１の実処理プログラム領域２５から実処理プログラムを転送部１７がＲＡＭ１３に高速モードで転送する（Ｓ２１）。その後、データ処理装置１０は、アイドル状態に移行する（Ｓ２３）。
【００４１】
以上のようにして、本実施の形態のデータ処理装置１０によれば、電源投入後の転送速度が低速の間は、容量に小さい初期化プログラムのみをＲＯＭ１１からＲＡＭ１３に転送して実行し、転送速度を高速モードに切り替えた後、容量に大きい実処理プログラムを転送することにより、起動から初期化処理完了までの時間を短縮できる。
【００４２】
ＲＯＭ１１に記憶されている全てのプログラムデータ（約８ＭＢ）を一括して転送していた従来のデータ処理装置の場合には、約３０秒ほどかかっていた起動時間が、ＳＤＲＡＭが高速モード時、本実施の形態のデータ処理装置１０によれば、約４秒程度まで短縮された。ここで、高速モード時における実行部１５の動作クロックの周波数は２００ＭＨｚであり、転送部１７によるメモリアクセスなどのバスクロックの周波数は、１００ＭＨｚである。
【００４３】
以上に本発明の好適な実施の形態を説明した。しかし、本発明は上述の実施の形態に限定されず、当業者が本発明の範囲内で上述の実施の形態を変形可能なことはもちろんである。
【００４４】
たとえば、図３において、初期化プログラムをロードするステップＳ１５および実処理プログラムをロードするステップＳ２１の後に、ロードされたプログラムのサムチェックを実行するステップを設けてもよい。サムチェックでエラーが検出された場合は、ＲＯＭ１１の初期化プログラム領域２３に記憶されている初期化プログラムのデータが破損している可能性がある。エラーが検出された場合は、その旨をユーザに通知するための処理を行う。
【００４５】
また、初期化プログラムは、２５５ｋＢと容量が小さいため、ＲＡＭ１３に予め初期化プログラムのバックアップを一時的に格納する領域を設けてもよい。バックアップを取るタイミングは、たとえば、ＲＯＭ１１に記憶されているプログラムをバージョンアップなどで書き換えるときに行うことができる。あるいは、予め決められた時間間隔や日時でバックアップを取ってもよい。
【００４６】
このようにすれば、サムチェックでエラーが検出された場合に、バックアップ領域に格納された初期化プログラムを用いて、処理を続行することが可能となる。なお、バックアップ領域の初期化プログラムも使用前にサムチェックを行い、正常であった場合に、処理を続行する。また、バックアップされたプログラムを実行している旨をユーザに通知するための処理も行う。一方、バックアップ領域の初期化プログラムのサムチェックでエラーが検出された場合は、その旨をユーザに通知するための処理を行う。
【００４７】
また、上記実施の形態において、起動プログラムおよび初期化プログラムのみ（合計２５６ｋＢ）を低速モードで転送していたが、これに限定されるものではない。たとえば、データ処理装置１０がＭＦＰの場合、実処理プログラム領域２５に記憶されている画像処理プログラムおよび圧縮符号化処理プログラムの容量は、約１７９２ｋＢである。したがって、これらのプログラムと初期化プログラム（合計約２ＭＢ）をともに低速モードで転送した後、フォントデータ（約６ＭＢ）を高速モードで転送しても、転送速度は充分に短縮される。
【００４８】
また、上記実施の形態において、装置の起動時に初期化プログラムをＲＯＭ１１からＲＡＭ１３に転送する構成としたが、これに限定されるものではない。たとえば、通常動作中の処理速度の高速化が特に要求されない装置やＲＡＭ１３の容量が比較的小さい装置の場合、初期化プログラムはＲＡＭ１３に転送せずに、ＲＯＭ１１上で直接実行してもよい。
【００４９】
すなわち、実行部１５がＲＯＭ１１に格納された切替プログラムを実行した後に、転送部１７は、実処理プログラムを高速モードでＲＯＭ１１からＲＡＭ１３に転送することができる。このように、初期化プログラムをＲＯＭ１１上で直接実行することができるので、通常動作中はほとんど実行されないプログラムデータの転送を省略することができる。したがって、初期化プログラムを転送しない分、装置起動時のプログラムデータの転送にかかる時間をさらに短縮できる。
【産業上の利用可能性】
【００５０】
本発明にかかるデータ処理装置は、起動から初期化処理完了までの時間を短縮できるという効果を有し、不揮発性記憶装置に格納されたプログラムを読み込んで実行して動作するデータ処理装置等として有用である。
【図面の簡単な説明】
【００５１】
【図１】本実施の形態のデータ処理装置の構成を示すブロック図である。
【図２】図１のデータ処理装置のＲＯＭの記憶領域を示す図である。
【図３】図１のデータ処理装置の動作を示すフローチャートである。
【符号の説明】
【００５２】
１０  データ処理装置
１１  ＲＯＭ
１３  ＲＡＭ
１５  実行部
１７  転送部
１９  クロック発信部
２１  起動プログラム領域
２３  初期化プログラム領域
２５  実処理プログラム領域
【図１】
2005258967.tif 000003
【図２】
2005258967.tif 000004
【図３】
2005258967.tif 000005