【手続補正書】
【提出日】平成20年12月3日(2008.12.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置であって、
前記不揮発性メモリには、
＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールのうち少なくとも１つは可逆圧縮されている）と、
＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報、及び、非圧縮状態か圧縮状態かを示す格納状態情報と、
が記憶されており、
前記電子装置の電源投入時に、前記不揮発性メモリを参照することで、
＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み手段と、
＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始手段と、
＜ｉｉｉ＞前記実行開始手段で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報と格納状態情報とを取得し、
取得した格納状態情報が非圧縮状態であることを示す場合には、前記注目プログラムモジュールを前記揮発性メモリの展開開始アドレス位置に展開し、取得した格納状態情報が圧縮状態であることを示す場合には、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御手段と、
を備えることを特徴とする電子装置。
【請求項２】
プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置であって、
前記不揮発性メモリには、
＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールはすべて可逆圧縮されている）と、
＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、及び、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報と、
が記憶されており、
前記電子装置の電源投入時に、前記不揮発性メモリを参照することで、
＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み手段と、
＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始手段と、
＜ｉｉｉ＞前記実行開始手段で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報を取得し、
前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御手段と、
を備えることを特徴とする電子装置。
【請求項３】
前記制御手段は、前記制御命令コードが配置されているアドレスと、各プログラムモジュールそれぞれに対応する前記展開開始アドレス情報とを比較し、
前記制御命令コードが配置されているアドレスと前記展開開始アドレス情報とが一致するプログラムモジュールが存在すれば、該プログラムモジュールを前記注目プログラムモジュールとして特定し、
前記制御命令コードが配置されているアドレスと前記展開開始アドレス情報とが一致するプログラムモジュールが存在しなければ、前記展開開始アドレス情報として、前記制御命令コードが配置されているアドレスよりも上位でかつ最も近いアドレスを示すプログラムモジュールを前記注目プログラムモジュールとして特定することを特徴とする請求項１又は２に記載の電子装置。
【請求項４】
さらに、前記プロセッサのアイドル時間に、前記プログラムモジュールのうち前記制御手段によって前記揮発性メモリに展開されていないプログラムモジュールを、前記展開開始アドレス情報を参照して、前記揮発性メモリの前記展開開始位置に展開するバックグラウンド展開手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載の電子装置。
【請求項５】
前記プログラムモジュールはすべて単一の関数プログラムから構成され、前記実行開始アドレス情報はすべての関数プログラムについて対応する実行開始アドレス位置を含むことを特徴とする請求項１乃至４のいずれか１項に記載の電子装置。
【請求項６】
プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置用の、前記不揮発性メモリに格納するための制御プログラムを、当該制御プログラムを生成する際にリンカによって生成されたマップファイルを用いてコンピュータに可逆圧縮させるための圧縮プログラムであって、前記コンピュータを、
前記リンカによって生成された実行形式のプログラムを構成する、１以上の関数プログラムを含むプログラムモジュール群について、圧縮対象とするプログラムモジュールを指定する指定手段と、
前記指定手段で指定されたプログラムモジュールを可逆圧縮する圧縮手段と、
各プログラムモジュールの前記揮発性メモリにおける開始アドレスを展開先アドレスとし、当該展開先アドレスと、各プログラムモジュールに含まれる関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの前記揮発性メモリにおける実行開始アドレス、及び、各プログラムモジュールが非圧縮又は圧縮のいずれの状態であるかを示す格納状態情報を生成する生成手段と、
前記生成手段で生成された各プログラムモジュールごとの前記展開先アドレス、前記実行開始アドレス、及び、前記格納状態情報と、非圧縮のプログラムモジュール及び圧縮されているプログラムモジュールとを用いて、前記電子装置の前記不揮発性メモリに書き込むデータを生成して出力する出力手段
として機能させることを特徴とする圧縮プログラム。
【請求項７】
前記マップファイルは、すべての関数プログラムに対応する、前記揮発性メモリにおける実行開始アドレスを含み、前記プログラムモジュールはすべて単一の関数プログラムから構成されることを特徴とする請求項６に記載の圧縮プログラム。
【請求項８】
プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置を制御する方法であって、
前記不揮発性メモリには、
＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールのうち少なくとも１つは可逆圧縮されている）と、
＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報、及び、非圧縮状態か圧縮状態かを示す格納状態情報と、
が記憶されており、
前記電子装置の電源投入時に、前記不揮発性メモリを参照することにより実行される、
＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み工程と、
＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始工程と、
＜ｉｉｉ＞前記実行開始工程で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報と格納状態情報とを取得し、
取得した格納状態情報が非圧縮状態であることを示す場合には、前記注目プログラムモジュールを前記揮発性メモリの展開開始アドレス位置に展開し、取得した格納状態情報が圧縮状態であることを示す場合には、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御工程と、
を備えることを特徴とする制御方法。
【請求項９】
プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置を制御する方法であって、
前記不揮発性メモリには、
＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールはすべて可逆圧縮されている）と、
＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、及び、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報と、
が記憶されており、
前記電子装置の電源投入時に、前記不揮発性メモリを参照することにより実行される、
＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み工程と、
＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始工程と、
＜ｉｉｉ＞前記実行開始工程で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報を取得し、
前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御工程と、
を備えることを特徴とする制御方法。
【請求項１０】
請求項８又は９に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
上記課題を解決するために、本発明の電子装置は、プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置であって、前記不揮発性メモリには、＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールのうち少なくとも１つは可逆圧縮されている）と、＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報、及び、非圧縮状態か圧縮状態かを示す格納状態情報と、が記憶されており、前記電子装置の電源投入時に、前記不揮発性メモリを参照することで、＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み手段と、＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始手段と、＜ｉｉｉ＞前記実行開始手段で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報と格納状態情報とを取得し、取得した格納状態情報が非圧縮状態であることを示す場合には、前記注目プログラムモジュールを前記揮発性メモリの展開開始アドレス位置に展開し、取得した格納状態情報が圧縮状態であることを示す場合には、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御手段と、を備えることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
また、本発明の他の電子装置は、プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置であって、前記不揮発性メモリには、＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールはすべて可逆圧縮されている）と、＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、及び、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報と、が記憶されており、前記電子装置の電源投入時に、前記不揮発性メモリを参照することで、＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み手段と、＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始手段と、＜ｉｉｉ＞前記実行開始手段で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報を取得し、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御手段と、を備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
また、本発明の制御方法は、プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置を制御する方法であって、前記不揮発性メモリには、＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールのうち少なくとも１つは可逆圧縮されている）と、＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報、及び、非圧縮状態か圧縮状態かを示す格納状態情報と、が記憶されており、前記電子装置の電源投入時に、前記不揮発性メモリを参照することにより実行される、＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み工程と、＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始工程と、＜ｉｉｉ＞前記実行開始工程で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報と格納状態情報とを取得し、取得した格納状態情報が非圧縮状態であることを示す場合には、前記注目プログラムモジュールを前記揮発性メモリの展開開始アドレス位置に展開し、取得した格納状態情報が圧縮状態であることを示す場合には、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御工程と、を備えることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
また、本発明の他の制御方法は、プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置を制御する方法であって、前記不揮発性メモリには、＜ａ＞前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群（ここで、各プログラムモジュールは少なくとも１つの関数プログラムを含み、前記プログラムモジュールはすべて可逆圧縮されている）と、＜ｂ＞各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、及び、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報と、が記憶されており、前記電子装置の電源投入時に、前記不揮発性メモリを参照することにより実行される、＜ｉ＞各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み工程と、＜ｉｉ＞前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始する実行開始工程と、＜ｉｉｉ＞前記実行開始工程で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報を取得し、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御工程と、を備えることを特徴とする。