(57)【要約】      （修正有）【課題】アプリケーションプログラムの起動時間を短縮する。【解決手段】アプリケーションプログラムのローディング処理を行うアプリケーションプログラムのローディングステップと、前記アプリケーションプログラムが使用する変数の初期化を行う変数初期化ステップとを含む。前記ローディングステップと前記変数初期化ステップとを前記ブートローダによって並列に実行させる。【選択図】図２
2009259076.tif 000002
【特許請求の範囲】
【請求項１】
ブートローダと前記ブートローダによって起動されるアプリケーションプログラムとを備える情報処理装置を起動する方法であって、
前記アプリケーションプログラムのローディング処理を行うアプリケーションプログラムのローディングステップと、
前記アプリケーションプログラムが使用する変数の初期化を行う変数初期化ステップと、
を含み、
前記ローディングステップと前記変数初期化ステップとを前記ブートローダによって並列に実行させる、
ことを特徴とする情報処理装置の起動方法。
【請求項２】
前記ローディングステップの完了後に、前記ブートローダを前記アプリケーションプログラムに分岐させるステップを、
さらに含む、
ことを特徴とする請求項１に記載の情報処理装置の起動方法。
【請求項３】
前記アプリケーションプログラムが使用する変数は、当該情報処理装置内に存在するレジスタである、
ことを特徴とする請求項１または２に記載の情報処理装置の起動方法。
【請求項４】
前記アプリケーションプログラムは高級言語で構成され、
前記アプリケーションプログラムが使用する変数は、前記アプリケーションプログラムが使用するグローバル変数である、
ことを特徴とする請求項１または２に記載の情報処理装置の起動方法。
【請求項５】
ＣＰＵと、データ転送装置と、ＲＯＭと、第１のＲＡＭとを備え、
前記ＲＯＭはアプリケーションプログラムと、ブートローダと、前記アプリケーションプログラムの変数管理情報とを記録するものであり、
前記ブートローダは、プログラムローディング部と、変数初期化処理部とを備え、
前記ＣＰＵは、起動時に前記ブートローダを実行するものであり、
前記プログラムローディング部は、前記アプリケーションプログラムを前記第１のＲＡＭに転送するものであり、
前記変数初期化処理部は、前記変数管理情報に基づいて、前記アプリケーションプログラムが使用する変数の初期化処理と、前記プログラムローディング部による前記アプリケーションプログラムの転送処理とを並列に行うものである、
ことを特徴とする情報処理装置。
【請求項６】
前記ブートローダは、前記プログラムローディング部による前記アプリケーションプログラムの転送処理が完了した後に、前記アプリケーションプログラムに分岐されるものである、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記プログラムローディング部は、前記アプリケーションプログラムの転送処理を、前記データ転送装置を用いて行うものである、
ことを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記変数初期化部は、前記アプリケーションプログラムが使用する変数の初期化を、前記データ転送装置を用いて行うものである、
ことを特徴とする請求項５ないし７のいずれかに記載の情報処理装置。
【請求項９】
前記アプリケーションプログラムは高級言語で構成され、
前記アプリケーションプログラムが使用する変数は、前記アプリケーションプログラムが使用するグローバル変数である、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記データ転送装置は、初期値転送部を備え、
前記初期値転送部は、転送元アドレス設定部と、転送先アドレス設定部とを備え、
前記変数初期化処理部は、前記変数管理情報から、前記第１のＲＡＭ上に割り付けられている“初期値あり変数”の初期値格納アドレスと“初期値あり変数”の実行アドレスとを取得したうえで、前記“初期値あり変数”の初期値格納アドレスを前記転送元アドレス設定部に設定し、前記“初期値あり変数”の実行アドレスを前記転送先アドレス設定部に設定するものであり、
前記初期値転送部は、前記転送元アドレス設定部に設定された前記“初期値あり変数”の初期値格納アドレスのデータを前記ＲＯＭから受信すると、受信した当該データを、前記転送先アドレス設定部に設定されたアドレスに、前記第１のＲＡＭへの転送処理が行われていない期間に転送するものである、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
当該情報処理装置は第２のＲＡＭをさらに備え、
前記初期値転送部は、前記“初期値あり変数”の初期値格納アドレスが前記第１のＲＡＭに割り付けられ、前記“初期値あり変数”の実行アドレスが前記第２のＲＡＭ２に割り付けられた状態で、前記ＲＯＭから前記転送元アドレス設定部に設定されたアドレスのデータを受信すると、受信した当該データを前記転送先アドレス設定部に設定されたアドレスに転送するものである、
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記データ転送装置は、ゼロデータ転送部を備え、
前記ゼロデータ転送部は、ゼロデータアドレス設定部と、ゼロデータサイズ設定部とを備え、
前記変数初期化処理部は、前記変数管理情報から、前記第１のＲＡＭに割り付けられている“初期値なし変数”の実行アドレスと“初期値なし変数”のサイズとを取得したうえで、取得した前記“初期値なし変数”の実行アドレスをゼロデータアドレス設定部に、前記“初期値なし変数”のサイズをゼロデータサイズ設定部にそれぞれ設定し、
前記ゼロデータ転送部は、前記第１のＲＡＭへの転送処理が行われてない期間において、前記ゼロデータアドレス設定部に設定された前記“初期値なし変数”の実行アドレスと、当該“初期値なし変数”の実行アドレスから前記ゼロデータサイズ設定部に設定された前記“初期値なし変数”のサイズだけ加算されたアドレスとの間の領域に、“０値”を自動的に転送するものである、
ことを特徴とする請求項９ないし１１のいずれかに記載の情報処理装置。
【請求項１３】
請求項１２に記載の情報処理装置と、カメラと、ＤＳＰと、ストレージとを備え、
前記カメラは、外部から画像を取り込んで前記画像データを生成したうえで、生成した前記画像データを前記第１のＲＡＭに記録するものであり、
前記ＤＳＰは、前記第１のＲＡＭに取り込まれた前記画像データを圧縮処理したうえで、圧縮した前記画像データを前記第１のＲＡＭに記録するものであり、
前記ＣＰＵは、前記圧縮した画像データを前記ストレージに記録するものである、
ことを特徴とする撮像システム。
【請求項１４】
前記撮像システムは、デジタルカメラシステムであって、
前記ＤＳＰは、前記第１のＲＡＭに取り込まれた前記画像データを、ＪＰＥＧ形式に圧縮するものである、
ことを特徴とする請求項１３に記載の撮像システム。
【請求項１５】
前記撮像システムは、カムコーダシステムであって、
前記ＤＳＰは、前記ＲＡＭに取り込まれた前記画像データを、ＭＰＥＧ２形式、もしくはＨ．２６４形式に圧縮するものである、
ことを特徴とする請求項１３に記載の撮像システム。
【請求項１６】
ＲＯＭ生成方法であって、
アプリケーションプログラムのデバッグ情報を読み出すステップと、
前記デバッグ情報から前記アプリケーションプログラムの“初期値あり変数”の初期値格納アドレスと、“初期値あり変数”の実行アドレスとを抜き出すステップと、
前記デバッグ情報から前記アプリケーションプログラムの“初期値なし変数”の実行アドレスと、“初期値なし変数”のサイズとを抜き出すステップと、
前記“初期値あり変数”の初期値格納アドレスと、前記“初期値あり変数”の実行アドレスと、前記“初期値なし変数”の実行アドレスと、前記“初期値なし変数”のサイズとに基づいて変数管理情報を生成するステップと、
前記アプリケーションプログラムと、前記アプリケーションプログラムを起動するブートローダと、前記変数管理情報とを結合してＲＯＭイメージファイルを生成するステップと、
を含むＲＯＭ生成方法。
【請求項１７】
請求項１６に記載のＲＯＭ生成方法で動作する、
ことを特徴とするＲＯＭ生成ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＰＵ、データ転送装置、ＲＯＭ、ＲＡＭを含む情報処理装置の起動時間を短縮する方法に関するものである。
【背景技術】
【０００２】
図１を参照して従来技術を簡単に説明する。図１は従来の情報処理装置における起動時のフローチャートである。１０１はブートローダ、１０２はアプリケーションプログラム、Ｓ１０３はアプリケーションプログラムのローディングを行うステップ、Ｓ１０４は変数初期化ステップである。
【０００３】
ここで、ブートローダ１０１と同じ枠で囲まれているステップはブートローダ１０１が行う処理であることを表し、アプリケーションプログラム１０２と同じ枠で囲まれているステップはアプリケーションプログラム１０２が行う処理であることを表している。
【０００４】
情報処理装置に電源が入ると、ＣＰＵによって、ブートローダ１０１が実行される。ステップＳ１０３において、ブートローダ１０１はアプリケーションプログラム１０２のローディングを行う。ブートローダ１０１はアプリケーションプログラム１０２のローディングが完了すると、ＣＰＵ制御をアプリケーションプログラム１０２に分岐させる。そして、制御は次のステップＳ１０４に進む。ステップＳ１０４において、アプリケーションプログラム１０２は、アプリケーションプログラム１０２で使用する変数の初期化を行う。なお、システムの構成に応じて、上記処理の他に、ブートローダ１０１ではハードウェアの初期化等が行われ、アプリケーションプログラム１０２ではプログラムの起動処理等が行われる。
【０００５】
以上のステップで、アプリケーションプログラム１０２を、例えば低速なＲＯＭから高速なＲＡＭにローディングすることで、ＣＰＵはステップＳ１０４（変数初期化処理）や、アプリケーションプログラムの起動処理を高速に実行させることができる。その結果、情報処理装置の起動時間は短縮される。
【特許文献１】特開平１−２６１７５８号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら従来の方法では、アプリケーションプログラムをＲＯＭからＲＡＭにローディングするのに時間を要するために、起動時間を十分に短縮できないといった課題がある。
【課題を解決するための手段】
【０００７】
本発明は上記課題を解決するため、次の特徴を持つ情報処理装置の起動方法を提案する。すなわち、本発明は、ブートローダと前記ブートローダによって起動されるアプリケーションプログラムとを備える情報処理装置を起動する方法であって、
前記アプリケーションプログラムのローディング処理を行うアプリケーションプログラムのローディングステップと、
前記アプリケーションプログラムが使用する変数の初期化を行う変数初期化ステップと、
を含み、
前記ローディングステップと前記変数初期化ステップとが前記ブートローダによって並列に実行される。
【０００８】
このような構成を有することで本発明は、アプリケーションプログラムの変数初期化を、アプリケーションプログラムのローディング完了後ではなく、アプリケーションプログラムのローディング中に行うようことが可能になって、アプリケーションプログラムの起動時間を短縮することができる。
【０００９】
また、本発明は次の特徴を持つ情報処理装置を提案する。すなわち、本発明は、  ＣＰＵと、データ転送装置と、ＲＯＭと、第１のＲＡＭとを備え、
前記ＲＯＭはアプリケーションプログラムと、ブートローダと、前記アプリケーションプログラムの変数管理情報とを記録するものであり、
前記ブートローダは、プログラムローディング部と、変数初期化処理部とを備え、
前記ＣＰＵは、起動時に前記ブートローダを実行するものであり、
前記プログラムローディング部は、前記アプリケーションプログラムを前記第１のＲＡＭに転送するものであり、
前記変数初期化処理部は、前記変数管理情報に基づいて、前記アプリケーションプログラムが使用する変数の初期化処理と、前記プログラムローディング部による前記アプリケーションプログラムの転送処理とを並列に行うものである。
【００１０】
本発明はこのような構成を有することで、アプリケーションプログラムの変数初期化とアプリケーションプログラムのローディングを並列に行うことができ、その結果、アプリケーションプログラムの起動時間を短縮することができる。
【００１１】
さらに本発明では、前記構成の情報処理装置を次に示す構成に変更することで、さらにアプリケーションプログラムの起動時間を短縮することができる。すなわち、前記データ転送装置は、初期値転送部を備え、
前記初期値転送部は、転送元アドレス設定部と、転送先アドレス設定部とを備え、
前記変数初期化処理部は、前記変数管理情報から、前記第１のＲＡＭ上に割り付けられている“初期値あり変数”の初期値格納アドレスと“初期値あり変数”実行アドレスとを取得したうえで、前記“初期値あり変数”の初期値格納アドレスを前記転送元アドレス設定部に設定し、前記“初期値あり変数”の実行アドレスを前記転送先アドレス設定部に設定するものであり、
前記初期値転送部は、前記転送元アドレス設定部に設定された前記“初期値あり変数”の初期値格納アドレスのデータを前記ＲＯＭから受信すると、受信した当該データを、前記転送先アドレス設定部に設定されたアドレスに、前記第１のＲＡＭへの転送処理が行われていない期間に転送するものである。
【００１２】
このような構成を有することで本発明は、アプリケーションプログラムの変数初期化に必要な変数をローディング中のアプリケーションプログラムから取得することができる。これにより、アプリケーションプログラムの起動時間をさらに短縮することができる。
【００１３】
さらに本発明では、前記構成の情報処理装置を次に示す構成に変更することで、さらにアプリケーションプログラムの起動時間を短縮することができる。すなわち、前記データ転送装置は、ゼロデータ転送部を備え、
前記ゼロデータ転送部は、ゼロデータアドレス設定部と、ゼロデータサイズ設定部とを備え、
前記変数初期化処理部は、前記変数管理情報から、前記第１のＲＡＭに割り付けられている“初期値なし変数”の実行アドレスと“初期値なし変数”のサイズとを取得したうえで、取得した前記“初期値なし変数”の実行アドレスをゼロデータアドレス設定部に、前記“初期値なし変数”のサイズをゼロデータサイズ設定部にそれぞれ設定し、
前記ゼロデータ転送部は、前記第１のＲＡＭへの転送処理が行われてない期間において、前記ゼロデータアドレス設定部に設定された前記“初期値なし変数”の実行アドレスと、当該“初期値なし変数”の実行アドレスから前記ゼロデータサイズ設定部に設定された前記“初期値なし変数”のサイズだけ加算されたアドレスとの間の領域に、“０値”を自動的に転送するものである。
【００１４】
このような構成を有することで本発明は、アプリケーションプログラムの“初期値なし変数”の初期化をアプリケーションプログラムのローディング中に実行することができるようになる。これにより、アプリケーションプログラムの起動時間をさらに短縮することができる。
【発明の効果】
【００１５】
以上説明したように本発明によれば、アプリケーションプログラムの変数初期化を、プログラムのローディング中に行うことで、情報処理装置の起動時間を短縮することができる
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１７】
（第１の実施の形態）
図２は、本発明の第１の実施の形態における情報処理装置の起動時のフローチャートである。２０１はブートローダ、２０２はアプリケーションプログラム、Ｓ１０４ａはシステム初期化のステップである。情報処理装置に電源が入ると、ＣＰＵにより、ブートローダ２０１が実行される。ステップＳ１０３において、ブートローダ２０１はアプリケーションプログラム２０２のローディングを行う。ブートローダ２０１はアプリケーションプログラム２０２のローディングが完了すると、ＣＰＵ制御をアプリケーションプログラム２０２に分岐させる。
【００１８】
ステップＳ１０４ａにおいて、ブートローダ２０１は、アプリケーションプログラム２０２が使用する変数の初期化を行う。本ステップは、ステップＳ１０３と並列に行われる。
【００１９】
このように、ステップＳ１０３とステップＳ１０４ａとを並列に処理することで、アプリケーションプログラム２０２は変数の初期化処理を行う必要がなくなる。これにより、情報処理装置の起動時間を短縮することができる。
【００２０】
次に、図３〜図４を参照して、本実施形態の情報処理装置の具体的な構成を説明する。３０１はＣＰＵ、３０２はデータ転送装置、３０３はＲＯＭ、３０４はブートローダ、３０５はプログラムローディング部、３０６は変数初期化処理部、３０７は変数管理情報、３０８はアプリケーションプログラム、３０９はＲＡＭ、３１０は情報処理装置である。
【００２１】
図４は、本実施形態における変数管理情報の詳細図である。４０１は変数管理情報、４０２はアプリケーションプログラム内容である。変数管理情報４０１には、アプリケーションプログラム３０８を構成する高級言語の変数情報が格納されている。ＤＡＴＡ初期値アドレスは、“初期値あり変数”の初期値が格納されるアドレスを示す。ＤＡＴＡ実行アドレスは、“初期値あり変数”が実際に読み書きされるワーク領域のアドレスを示す。ＤＡＴＡサイズは、“初期値あり変数”のサイズを示す。ＢＳＳ実行アドレスは“初期値なし変数”が実際に読み書きされるワーク領域の行アドレスを示す。ＢＳＳサイズは、“初期値なし変数”のサイズを示す。ＤＡＴＡ初期値アドレス、ＤＡＴＡ実行アドレス、およびＢＳＳ実行アドレスでは、ＲＡＭ３０９にそのアドレスが割り付けられる。また、ＤＡＴＡ初期値アドレス（ＲＯＭ）は、“初期値あり変数”の初期値が格納されるＲＯＭのアドレスを示す。
【００２２】
アプリケーションプログラム内容４０２を参照して、本実施形態における変数について詳しく説明する。“ｄａｔａ１”,“ｄａｔａ２”は初期値が宣言されている変数である。
【００２３】
変数“ｄａｔａ１”,“ｄａｔａ２”において設定されている初期値“１０”，“２０”が格納されるアドレスがＤＡＴＡ初期値アドレスであり、“ｄａｔａ１”や“ｄａｔａ２”という変数のワーク領域がＤＡＴＡ実行アドレスであることを示す。本発明の形態のようにＤＡＴＡ初期値アドレスがＲＯＭ上に配置されている場合は、アプリケーションプログラムから直接その変数を書き換えることができない。そのため、アプリケーションプログラムの起動時に、初期値ある“１０”，“２０”という値をＲＡＭ上の変数のワーク領域（ＤＡＴＡ実行アドレス）に転送し、ＤＡＴＡ実行アドレス上で変数の書き換えを行うようにする必要がある。また、仮にＤＡＴＡ初期値アドレスがＲＡＭ上に配置されるような実施形態であっても、ＤＡＴＡ初期値アドレス上で変数の書き換えを行うと変数の初期値が失われるため、アプリケーションプログラムの再実行ができなくなってしまう。このような理由から、ＤＡＴＡ初期値アドレスとＤＡＴＡ実行アドレスを分けているのである。
【００２４】
また、“ｉｎｔ”が４バイトであるとすると、ＤＡＴＡサイズは８バイトになる。“ｂｓｓ＿ｄａｔａ［３］”は初期値が宣言されていない変数である。“ｂｓｓ＿ｄａｔａ［３］”という変数のワーク領域がＢＳＳ実行アドレスとなる。“初期値なし変数”は慣例的に“０値”で初期化することになっており、アプリケーションプログラムの起動時に“０値”を変数のワーク領域に転送する。上記構成において、ＢＳＳサイズは１２バイトとなる。
【００２５】
以下、具体的に本実施形態の情報処理装置３１０の動作を説明する。情報処理装置３１０に電源が入ると、ＣＰＵ３０１が起動する。ＣＰＵ３０１は、起動するとＲＯＭ３０３に格納されているブートローダ３０４の実行を開始する。開始されたブートローダ３０４は、必要に応じて情報処理装置３１０の初期設定を行った後、プログラムローディング部３０５の処理を行う。ブートローダ３０４による処理を受けてプログラムローディング部３０５は、アプリケーションプログラム３０８をＲＯＭ３０３からＲＡＭ３０９へローディングする。このローディング処理時における転送手段は、ＣＰＵ３０１とデータ転送装置３０２とのうちのどちらでも良い。
【００２６】
変数初期化処理部３０６は、アプリケーションプログラム３０８を構成する高級言語の変数を、変数管理情報３０７の情報を利用して初期化する。変数を初期化する手段は、ＣＰＵ３０１とデータ転送装置３０２とのうちのどちらでも良い。但し、プログラムローディング部３０５の初期化処理をＣＰＵ３０１で行う場合には、データ転送装置３０２も同時に用いる必要がある。
【００２７】
変数初期化処理部３０６は、“初期値あり変数”と、“初期値なし変数”の初期化を行う。“初期値あり変数”の初期化処理では、ＲＯＭ３０３に格納されている変数の初期値は、ＲＡＭ３０９に転送される。具体的には、ＤＡＴＡ初期値アドレス（ＲＯＭ）からＤＡＴＡサイズ分までのデータは、ＤＡＴＡ実行アドレスから始まる領域に転送される。また、“初期値なし変数”の初期化処理では、ＲＡＭ３０９上のＢＳＳ実行アドレスから始まる領域は、ＢＳＳサイズ分だけ“０値”で初期化される。ブートローダ３０４は、プログラムローディング部３０５での処理と変数初期化処理部３０６での処理とを、ＣＰＵ３０１とデータ転送装置３０２とで分散して行わせることで、並列処理を実現する。
【００２８】
従来の構成では、ブートローダはアプリケーションプログラムの変数情報を扱うことができなかったため、アプリケーションプログラムのローディングと並列させて変数の初期化を行うことができなかった。本実施形態では上述したように、アプリケーションプログラム３０８のローディング処理と変数初期化処理とを並列に処理することで、アプリケーションプログラム３０８の起動時において変数初期化処理を省略することができる。そのため、情報処理装置３１０の起動時間が短縮される。
【００２９】
（第２の実施の形態）
本発明の第２の実施の形態を説明する。図５は、本発明の第２の実施の形態の情報処理装置の構成を示した図である。３０２ａはデータ転送装置、３０３ａはＲＯＭ、３０４ａはブートローダ、３０６ａは変数初期化処理部、３１０ａは情報処理装置、５０１は初期値転送部、５０２は転送元アドレス設定部、５０３は転送サイズ設定部、５０４は転送先アドレス設定部である。
【００３０】
本実施形態においては、図３に示した第１の実施の形態の構成に、初期値転送部５０１、転送元アドレス設定部５０２、転送サイズ設定部５０３、および転送先アドレス設定部５０４を追加している。さらには、本実施形態は、第１の実施の形態におけるデータ転送装置３０２、ＲＯＭ３０３、ブートローダ３０４、変数初期化処理部３０６、および情報処理装置３１０を、それぞれ転送装置３０２ａ、ＲＯＭ３０３ａ、ブートローダ３０４ａ、変数初期化処理部３０６ａ、および情報処理装置３１０ａに交換した形態を有する。
【００３１】
第１の実施の形態においては、“初期値あり変数”の初期値をＲＯＭ３０３からＲＡＭ３０９のワーク領域に転送していたが、本実施形態では、データ転送装置３０２ａが変数の初期値を、ローディング中のアプリケーションプログラム３０８から抜き出してＲＡＭ３０９のワーク領域に転送することを特徴とする。
【００３２】
変数初期化処理部３０６ａは、“初期値あり変数”の初期化と、“初期値なし変数”の初期化とを行う。“初期値なし変数”の初期化では、ＲＡＭ３０９上のＢＳＳ実行アドレスから始まる領域をＢＳＳサイズ分だけ“０値”で初期化する。“初期値あり変数”の初期化は、データ転送装置３０２ａによって行われる。
【００３３】
変数初期化処理部３０６ａは、変数管理情報３０７に格納されているＤＡＴＡ初期値アドレスを転送元アドレス設定部５０２に設定し、ＤＡＴＡサイズを転送サイズ設定部５０３に設定し、ＤＡＴＡ実行アドレスを転送先アドレス設定部５０４に設定する。
【００３４】
初期値転送部５０１は、アプリケーションプログラム３０８のローディングを観測し、アプリケーションプログラム３０８のローディング先のアドレスが、次に示すアドレス（Ａ１）、（Ａ２）の間の値である場合、受信中のデータを、次に示すアドレス（Ａ３）に転送する。
【００３５】
アドレス（Ａ１）：転送元アドレス設定部５０２の値
アドレス（Ａ２）：（転送元アドレス設定部５０２の値）＋（転送サイズ設定部５０３の値）
アドレス（Ａ３）：（転送先アドレス設定部５０３の値）＋[（アプリケーションプログラム３０８のローディング先のアドレス）−（転送元アドレス設定部５０２の値）]
初期値転送部５０１は、初期値の転送をＲＡＭ３０９に接続されているバスが空いている期間に行う。その他の部分は実施の形態１と同様である。本実施形態では、上述したように、ＲＯＭ３０３ａから変数の初期値を転送する処理がさらに省けるため、情報処理装置３１０ａの起動時間をさらに短縮することができる。
【００３６】
（第３の実施の形態）
本発明の第３の実施の形態について説明する。図６は、本発明の第３の実施の形態の情報処理装置の構成を示した図である。３０２ｂはデータ転送装置、３１０ｂは情報処理装置、５０１ｂは初期値転送部、６０１は第２のＲＡＭである。
【００３７】
本実施形態は、図５に示した第２の実施形態の構成の構成において、第２のＲＡＭ６０１を追加し、データ転送装置３０２ａ、情報処理装置３１０ａ、初期値転送装置５０１をそれぞれ、データ転送装置３０２ｂ、情報処理装置３１０ｂ、初期値転送装置５０１ｂに交換した形態を有する。なお、以下の説明では、第２のＲＡＭ６０１を設けたことで、ＲＡＭ３０９を第２のＲＡＭ６０１から区別するために、ＲＡＭ３０９を第１のＲＡＭ３０１と称している。データ転送装置３０２ｂと第１のＲＡＭ３０９と第２のＲＡＭ６０１とは、それぞれ個別のバスで接続されている。
【００３８】
変数管理情報３０７において、ＤＡＴＡ初期値アドレスがＲＡＭ３０９のメモリ領域にあり、ＤＡＴＡ実行アドレスが第２のＲＡＭ６０１のメモリ領域内にある場合、初期値転送部５０１ｂは、アプリケーションプログラム３０８のローディングを観測し、アプリケーションプログラム３０８のローディング先のアドレスが、アドレス（Ａ１）、（Ａ２）の間の値である場合、受信中のデータをアドレス（Ａ３）に転送する。なお、アドレス（Ａ１）、（Ａ２）、（Ａ３）は、第２の実施の形態で説明したものと同一である。
【００３９】
本実施形態では、第２の実施の形態と異なり、初期値転送部５０１ｂは、初期値の転送を第２のＲＡＭ６０１に接続されているバスが空くのを待つ必要がないため、直ちに初期値の転送を行うことができる。また、上述したように、変数の初期値転送にかかる時間を短縮できる。以上の理由により、情報処理装置３１０ｂの起動時間をさらに短縮することができる。
【００４０】
（第４の実施の形態）
本発明の第４の実施の形態について説明する。図７は、本発明の第４の実施の形態の情報処理装置の構成を示した図である。３０２ｃはデータ転送装置、３０３ｃはＲＯＭ、３０４ｃはブートローダ、３０６ｃは変数初期化処理部、３１０ｃは情報処理装置、７０１はゼロデータ転送部、７０２はゼロデータ転送アドレス設定部、７０３はゼロデータサイズ設定部である。
【００４１】
本実施形態においては、図３に示した第１の実施形態の構成に、ゼロデータ転送部７０１、ゼロデータ転送アドレス設定部７０２、およびゼロデータサイズ設定部７０３を追加している。さらには、本実施形態は、第１の実施の形態におけるデータ転送装置３０２、ＲＯＭ３０３、ブートローダ３０４、変数初期化処理部３０６、および情報処理装置３１０を、それぞれデータ転送装置３０２ｃ、ＲＯＭ３０３ｃ、ブートローダ３０４ｃ、変数初期化処理部３０６ｃ、および情報処理装置３１０ｃに交換した形態を有する。
【００４２】
変数初期化処理部３０６ｃは、“初期値あり変数”の初期化と、“初期値なし変数”の初期化とを行う。“初期値あり変数”の初期化では、ＲＯＭ３０３に格納されている“初期値あり変数”の初期値がＲＡＭ３０９に転送される。具体的には、ＤＡＴＡ初期値アドレス（ＲＯＭ）から始まるＤＡＴＡサイズ分のデータが、ＤＡＴＡ実行アドレスから始まる領域に転送される。“初期値なし変数”の初期化は、データ転送装置３０２ｃによって行われる。
【００４３】
変数初期化処理部３０６ｃは、変数管理情報３０７に格納されているＢＳＳ実行アドレスをゼロデータアドレス設定部７０２に設定し、ＢＳＳサイズをゼロデータサイズ設定部７０３に設定する。
【００４４】
ゼロデータ転送部７０１は、“０値”を、次に示すアドレス（Ａ４）、（Ａ５）の間の領域に転送する。なお、ゼロデータ転送部７０１は、このような“０値”の転送をＲＡＭ３０９に接続されているバスが空いている期間に行う。その他の部分は実施の形態１と同様である。
【００４５】
アドレス（Ａ４）：ゼロデータアドレス設定部７０２の値
アドレス（Ａ５）：（ゼロデータアドレス設定部７０２の値）＋（ゼロデータサイズ設定部７０３の値）
上述したように、本実施形態では、アプリケーションプログラム３０８のローディング処理と変数初期化処理とを並列に処理することで、アプリケーションプログラム３０８の起動時に変数初期化処理を省略することができる。そのため、情報処理装置３１０ｃの起動時間をさらに短縮することができる。
【００４６】
（第５の実施の形態）
本発明の第５の実施の形態について説明する。図８は、本発明の第５の実施の形態における撮像システムの構成を示す図である。８０１は撮像システム、８０２はカメラ、８０３はＤＳＰ（デジタルシグナルプロセッサ）、８０４はストレージである。
【００４７】
本実施形態は、図７に示した第４の実施形態の構造に、カメラ８０２、ＤＳＰ８０３、およびストレージ８０３を追加した形態を有する。カメラ８０２は、外部から画像を取り込で画像データを生成したうえで、生成した画像データをＲＡＭ３０９に記録する。ＤＳＰ８０３は、ＲＡＭ３０９に取り込まれた画像データを圧縮してＲＡＭ３０９に記録する。ＣＰＵ３０１は、ＲＡＭ３０９に記録された圧縮画像データを、ストレージ８０４に記録する。その他の部分は実施の形態４と同様である。
【００４８】
ＤＳＰ８０３は、ＪＰＥＧエンコーダであっても良いし、ＭＰＥＧ２エンコーダ、Ｈ．２６４エンコーダであっても良い。ストレージ８０４は、ＳＤカードでも良いし、ＤＶＤ−Ｒディスク、ＤＶＤ−ＲＡＭディスク、ＤＶＤ−ＲＷディスク、ＢＤ−Ｒディスク、ＢＤ−ＲＥディスク、ハードディスクであっても良い。
【００４９】
本実施形態のように、システムに電源が入れられた後、直ちにＪＰＥＧデータやＭＰＥＧ２データを記録できることが要求される撮像システムでは、起動時間の短縮が非常に重要であるため、本発明は特に有効である。
【００５０】
また、本実施形態では、ゼロデータ転送部７０１を搭載した撮像システムを説明したが、これは撮像システムでは、“初期値あり変数”のサイズよりも“初期値なし変数”のサイズが大きく、起動時間の短縮効果が大きいためである。なお、本実施形態では、当然ながら、実施の形態２における初期値転送部５０１をさらに備えることができるのは言うまでもない。
【００５１】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく、種々の改良や変更を行うことができることは言うまでもない。
【産業上の利用可能性】
【００５２】
本発明を使用した情報処理装置は、デジタルテレビや携帯電話等のデジタル家電に流用可能である。
【図面の簡単な説明】
【００５３】
【図１】従来の情報処理装置の起動方法
【図２】本発明の第１の実施の形態の情報処理装置の起動方法
【図３】第１の実施の形態の情報処理装置
【図４】第１の実施の形態の変数管理情報
【図５】本発明の第２の実施の形態の情報処理装置
【図６】本発明の第３の実施の形態の情報処理装置
【図７】本発明の第４の実施の形態の情報処理装置
【図８】本発明の第５の実施の形態の情報処理装置
【符号の説明】
【００５４】
３０１      ＣＰＵ
３０２      データ転送装置
３０２ａ    データ転送装置
３０２ｂ    データ転送装置
３０２ｃ    データ転送装置
３０３      ＲＯＭ
３０３ａ    ＲＯＭ
３０３ｃ    ＲＯＭ
３０４      ブートローダ
３０４ａ    ブートローダ
３０４ｃ    ブートローダ
３０５      プログラムローディング部
３０６      変数初期化処理部
３０６ａ    変数初期化処理部
３０６ｃ    変数初期化処理部
３０７      変数管理情報
３０８      アプリケーションプログラム
３０９      ＲＡＭ（第１のＲＡＭ）
３１０      情報処理装置
３１０ａ    情報処理装置
３１０ｂ    情報処理装置
３１０ｃ    情報処理装置
４０１      変数管理情報
４０２      アプリケーションプログラム内容
５０１      初期値転送部
５０１ｂ    初期値転送部
５０２      転送元アドレス設定部
５０３      転送サイズ設定部
５０４      転送先アドレス設定部
６０１      第２のＲＡＭ
７０１      ゼロデータ転送部
７０２      ゼロデータアドレス設定部
７０３      ゼロデータサイズ設定部
８０１      撮像システム
８０２      カメラ
８０３      ＤＳＰ
８０４      ストレージ
【図１】
2009259076.tif 000003
【図２】
2009259076.tif 000004
【図３】
2009259076.tif 000005
【図４】
2009259076.tif 000006
【図５】
2009259076.tif 000007
【図６】
2009259076.tif 000008
【図７】
2009259076.tif 000009
【図８】
2009259076.tif 000010