(57)【要約】【課題】外部メモリに記録されたソフトウェアを部分的にＲＡＭに組み込むことにより、ＲＡＭの使用容量を小さく抑えたＣＰＵ内蔵型ＬＳＩおよびこれを用いた光ディスク装置を提供する。【解決手段】ＣＰＵ内蔵型ＬＳＩ１０１において、ＲＡＭ１０３は、外部メモリ１０７からモジュール単位で読み込まれたソフトウェアを記憶するソフトウェア記憶領域１０８と、ソフトウェア記憶領域１０８に記憶されたモジュールの位置情報およびサイズ情報を少なくとも含むエントリーを記憶するエントリーテーブル１０９とを有する。ＣＰＵ１０２は、組み込み位置調査プログラム１２１に従って、エントリーテーブル１０９を参照し、外部メモリ１０７からソフトウェア記憶領域１０８へ読み込むモジュールの記憶位置を決定する。【選択図】図１
2004272393.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、ＲＡＭと、外部メモリから前記ＲＡＭへのソフトウェアの読み込みをモジュール単位で制御する読み込み制御手段とを備え、
前記ＲＡＭは、前記外部メモリからモジュール単位で読み込まれたソフトウェアを記憶するソフトウェア記憶領域と、前記ソフトウェア記憶領域に記憶されたモジュールの位置情報およびサイズ情報を少なくとも含むエントリーを記憶するエントリー記憶領域とを有し、
前記読み込み制御手段は、前記ＲＡＭのエントリー記憶領域に記憶されたエントリーを参照し、前記外部メモリから前記ＲＡＭのソフトウェア記憶領域へ読み込むモジュールを記憶すべき位置を決定する、ＣＰＵ内蔵型ＬＳＩ。
【請求項２】
前記読み込み制御手段が、前記ＲＡＭのソフトウェア記憶領域に記憶されたモジュールのうち不要なモジュールに対応するエントリーを、前記ＲＡＭのエントリー記憶領域から消去する、請求項１に記載のＣＰＵ内蔵型ＬＳＩ。
【請求項３】
ＣＰＵと、ＲＡＭと、外部メモリから前記ＲＡＭへのソフトウェアの読み込みを制御する読み込み制御手段と、ソフトウェアの圧縮および伸長を制御する圧縮伸長制御手段とを備え、
前記ＲＡＭは、前記ソフトウェアを前記ＣＰＵが参照可能な形式で記憶する実行プログラム記憶領域と、前記ソフトウェアの少なくとも一部を圧縮された形式で記憶する圧縮プログラム記憶領域とを有し、
前記圧縮伸長制御手段は、前記読み込み制御手段が前記外部メモリから前記ＲＡＭへソフトウェアの少なくとも一部を読み込む際には、既に前記実行プログラム記憶領域に読み込まれているソフトウェアの少なくとも一部を圧縮して前記圧縮プログラム記憶領域へ記憶し、
前記圧縮伸長制御手段は、前記圧縮プログラム記憶領域へ記憶されたソフトウェアが必要になった場合には、当該ソフトウェアを伸長して前記実行プログラム記憶領域へ記憶する、ＣＰＵ内蔵型ＬＳＩ。
【請求項４】
前記外部メモリから前記ＲＡＭへのソフトウェアの読み込みを制御する読み込み制御プログラムを少なくとも格納したＲＯＭをさらに備え、
前記読み込み制御手段は、前記ＣＰＵが前記読み込み制御プログラムを実行することにより実現された、請求項１〜３のいずれか一項に記載のＣＰＵ内蔵型ＬＳＩ。
【請求項５】
前記ＣＰＵおよびＲＡＭが１つのＬＳＩに搭載され、前記読み込み制御手段が、前記ＣＰＵおよびＲＡＭが搭載されたＬＳＩの外部に接続された別個のＬＳＩにより実現された、請求項１〜３のいずれか一項に記載のＣＰＵ内蔵型ＬＳＩ。
【請求項６】
ＣＰＵおよびＲＡＭを備えたＣＰＵ内蔵型ＬＳＩと、前記ＣＰＵ内蔵型ＬＳＩの外部のメモリから前記ＲＡＭへのソフトウェアの読み込みをモジュール単位で制御する読み込み制御手段として機能する読み込み制御用ＬＳＩとを備え、
前記ＲＡＭは、前記外部メモリからモジュール単位で読み込まれたソフトウェアを記憶するソフトウェア記憶領域と、前記ソフトウェア記憶領域に記憶されたモジュールの位置情報およびサイズ情報を少なくとも含むエントリーを記憶するエントリー記憶領域とを有し、
前記読み込み制御手段は、前記ＲＡＭのエントリー記憶領域に記憶されたエントリーを参照し、前記外部メモリから前記ＲＡＭのソフトウェア記憶領域へ読み込むモジュールを記憶すべき位置を決定する、ＬＳＩ装置。
【請求項７】
ＣＰＵおよびＲＡＭを備えたＣＰＵ内蔵型ＬＳＩと、前記ＣＰＵ内蔵型ＬＳＩの外部のメモリから前記ＲＡＭへのソフトウェアの読み込みを制御する読み込み制御手段およびソフトウェアの圧縮および伸長を制御する圧縮伸長制御手段として機能する制御用ＬＳＩとを備え、
前記ＲＡＭは、前記ソフトウェアを前記ＣＰＵが参照可能な形式で記憶する実行プログラム記憶領域と、前記ソフトウェアの少なくとも一部を圧縮された形式で記憶する圧縮プログラム記憶領域とを有し、
前記圧縮伸長制御手段は、前記読み込み制御手段が前記外部メモリから前記ＲＡＭへソフトウェアの少なくとも一部を読み込む際には、既に前記実行プログラム記憶領域に読み込まれているソフトウェアの少なくとも一部を圧縮して前記圧縮プログラム記憶領域へ記憶し、
前記圧縮伸長制御手段は、前記圧縮プログラム記憶領域へ記憶されたソフトウェアが必要になった場合には、当該ソフトウェアを伸長して前記実行プログラム記憶領域へ記憶する、ＬＳＩ装置。
【請求項８】
請求項１〜５のいずれか一項に記載のＣＰＵ内蔵型ＬＳＩと、
複数種類の光ディスクの記録または再生動作をそれぞれ制御するための複数モジュールから構成されるソフトウェアを格納した、前記外部メモリとしてのソフトウェア格納メモリと、
光ディスクの種類を判別するディスク判別手段とを備え、
前記ＣＰＵ内蔵型ＬＳＩの前記読み込み制御手段が、前記ディスク判別手段の判別結果に従って、前記ソフトウェア格納メモリから前記ＣＰＵ内蔵型ＬＳＩのＲＡＭへのモジュールの読み込みを制御する、光ディスク装置。
【請求項９】
請求項１〜５のいずれか一項に記載のＣＰＵ内蔵型ＬＳＩと、
光ディスクの記録または再生動作の一連の処理をそれぞれ制御するための複数モジュールから構成されるソフトウェアを格納した、前記外部メモリとしてのソフトウェア格納メモリと、
前記処理の各々の進行状況を判別する処理状況判別手段とを備え、
前記ＣＰＵ内蔵型ＬＳＩの前記読み込み制御手段が、前記処理状況判別手段の判別結果に従って、前記ソフトウェア格納メモリから前記ＣＰＵ内蔵型ＬＳＩのＲＡＭへのモジュールの読み込みを制御する、光ディスク装置。
【請求項１０】
請求項１〜５のいずれか一項に記載のＣＰＵ内蔵型ＬＳＩと、
複数種類の動作モードによる光ディスクの記録または再生動作をそれぞれ制御するための複数モジュールから構成されるソフトウェアを格納した、前記外部メモリとしてのソフトウェア格納メモリと、
前記ＣＰＵ内蔵型ＬＳＩの前記読み込み制御手段が、動作モードの変化に応じて、前記ソフトウェア格納メモリから前記ＣＰＵ内蔵型ＬＳＩのＲＡＭへのモジュールの読み込みを制御する、光ディスク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部メモリからソフトウェアを読み込んで動作するＣＰＵ内蔵型ＬＳＩと、このようなＣＰＵ内蔵型ＬＳＩを用いた光ディスク装置に関する。
【０００２】
【従来の技術】
従来、ＣＰＵ内蔵ＬＳＩでは、外部のメモリから前記ＬＳＩ内蔵のＲＡＭなどのメモリにソフトウェアを組み込み、ＣＰＵでソフトウェアを実行する。図３０は従来の光ディスク装置の構成を表すものであり、これについて説明する。３０００は従来の光ディスク装置、３００１は従来のＬＳＩ、３００２はＬＳＩ３００１を制御するＣＰＵ、３００３はＣＰＵに依存しない命令列からなるソフトウェアを記録する外部からアクセス可能なＲＡＭ、３００４は前記ソフトウェアを解釈し、実行するインタプリタ実行プログラム（３００６）を記録するＲＯＭ、３０１０はＬＳＩ３００１と外部との通信を行う通信手段、３００５は光ディスク装置３０００の全体を制御するシステム制御マイコン、３００７はＲＡＭ３００３に記録するソフトウェアやシステム制御マイコン３００５が実行するプログラムなどが記録された外部メモリ、そして、３０１４は光ディスクである。
【０００３】
３０１１はＬＳＩ３００１からのコマンドによって制御され、光ディスク３０１４の記録・再生を行うレーザーパワーを決定したり、光ディスク３０１４の回転速度やヘッドの位置を決定したりする光ディスク制御手段である。３０１２は光ディスク制御手段３０１１によって制御され、レーザーの出力や光ディスク３０１４の再生信号を読み取る記録再生ヘッドである。３０１３は光ディスク３０１４を回転させるためのモータであり、光ディスク制御手段３０１１によって制御される。３００６はＣＰＵ３００２によってインタプリタを実行するインタプリタ実行プログラム、３００８はソフトウェア記憶領域である。
【０００４】
ＣＰＵ３００２はＲＡＭ３００３およびＲＯＭ３００４と、外部メモリ３００７はシステム制御マイコン３００５と、相互にバスで接続されている。システム制御マイコン３００５は、通信手段３０１０を経由してＣＰＵ３００２とＲＡＭ３００３にアクセス可能である。さらに、ＣＰＵ３００２も通信手段３０１０を経由して光ディスク制御手段３０１１にアクセス可能である。
【０００５】
続いて、この従来のＬＳＩの動作を、図３０を参照して説明する。まず、システム制御マイコン３００５は、外部メモリ３００７に記録された光ディスク装置の制御を実現するソフトウェアを、ＲＡＭ３００３のソフトウェア記憶領域３００８に記録する。そのときの記録を開始するアドレスは、ソフトウェア記憶領域３００８の先頭アドレスである。そして、システム制御マイコン３００５がインタプリタ実行命令を通信手段３０１０を経由してＣＰＵ３００２に発行すると、ＣＰＵ３００２はＲＯＭ３００４に記録されているインタプリタ実行プログラム３００６を実行する。ＣＰＵ３００２はソフトウェア記憶領域３００８に記録されたソフトウェアを解釈し、実行する。ＣＰＵ３００２は通信手段３０１０を経由して光ディスク制御手段３０１１に対してレジスタのパラメータの設定、コマンドの発行、ステータスの取得を行うことにより、光ディスクを制御する。
【０００６】
以上のような光ディスク装置によれば、ソフトウェア記憶領域３００８のソフトウェアを入れ換えることによって光ディスクの制御コマンドを入れ換えたり、制御コマンドのパラメータを変更したりすることが可能となるため、ユーザーごとに自由にソフトウェアを開発することができる。また、予め外部のメモリにソフトウェアを記録することにより、ＲＯＭ３００４に記録されているプログラムや光ディスク制御手段３０１１に組み込まれたプログラムが固定された後も、光ディスク装置の制御を実現するソフトウェアを開発することができる。
【０００７】
【特許文献１】
特開２００２−３３３９８４号公報
【０００８】
【発明が解決しようとする課題】
しかし、従来の光ディスク装置では、外部メモリ３００７に記録されたソフトウェアを部分的にＲＡＭ３００３に組み込むことができなかったため、装置で実行されるソフトウェアを必要なタイミングでＲＡＭ３００３に組み込むことができなかった。そのため、外部メモリ３００７に記録された光ディスクの制御を実現する全てのソフトウェアをＲＡＭ３００３に組み込む必要があった。一方、光ディスク装置が制御する光ディスクの種類や制御項目の増加により、ソフトウェアの規模が大きくなった。実際には、ＬＳＩのコスト競争力の観点からＲＡＭ３００３の容量が制限されているため、ソフトウェアの容量がＲＡＭ３００３のソフトウェア記録容量を越えてしまい、光ディスク装置３０００が動作をしなくなるということが発生した。そのため、ソフトウェアの開発上、ソフトウェアの容量がＲＡＭ３００３のソフトウェア記録容量を越えてはならないという制限が発生してしまった。
【０００９】
本発明は、上記従来の課題を解決するもので、外部メモリに記録されたソフトウェアを部分的にＲＡＭに組み込むことにより、ＲＡＭの使用容量を小さく抑えたＣＰＵ内蔵型ＬＳＩを提供すると共に、これを用いることにより、ＲＡＭの記録容量に制約を受けることなく光ディスク装置を開発することを可能とするものである。
【００１０】
【課題を解決するための手段】
上記の課題を解決するために、本発明のＣＰＵ内蔵型ＬＳＩの第１の構成は、ＣＰＵと、ＲＡＭと、外部メモリから前記ＲＡＭへのソフトウェアの読み込みをモジュール単位で制御する読み込み制御手段とを備え、前記ＲＡＭは、前記外部メモリからモジュール単位で読み込まれたソフトウェアを記憶するソフトウェア記憶領域と、前記ソフトウェア記憶領域に記憶されたモジュールの位置情報およびサイズ情報を少なくとも含むエントリーを記憶するエントリー記憶領域とを有し、前記読み込み制御手段は、前記ＲＡＭのエントリー記憶領域に記憶されたエントリーを参照し、前記外部メモリから前記ＲＡＭのソフトウェア記憶領域へ読み込むモジュールを記憶すべき位置を決定する構成である。
【００１１】
この構成により、外部メモリに記録されたソフトウェアを部分的にＲＡＭに組み込むことができるので、ソフトウェア全部をＲＡＭに組み込んでいた従来の構成に比べて、ＲＡＭの使用容量を小さく抑えたＣＰＵ内蔵型ＬＳＩを提供することができる。
【００１２】
本発明のＣＰＵ内蔵型ＬＳＩにおいて、前記読み込み制御手段が、前記ＲＡＭのソフトウェア記憶領域に記憶されたモジュールのうち不要なモジュールに対応するエントリーを、前記ＲＡＭのエントリー記憶領域から消去することが好ましい。ＣＰＵにより実行された後に不要となったモジュールをＲＡＭから消去することができ、ＲＡＭの容量をより効率的に利用できるからである。
【００１３】
また、本発明のＣＰＵ内蔵型ＬＳＩの第２の構成は、ＣＰＵと、ＲＡＭと、外部メモリから前記ＲＡＭへのソフトウェアの読み込みを制御する読み込み制御手段と、ソフトウェアの圧縮および伸長を制御する圧縮伸長制御手段とを備え、前記ＲＡＭは、前記ソフトウェアを前記ＣＰＵが参照可能な形式で記憶する実行プログラム記憶領域と、前記ソフトウェアの少なくとも一部を圧縮された形式で記憶する圧縮プログラム記憶領域とを有し、前記圧縮伸長制御手段は、前記読み込み制御手段が前記外部メモリから前記ＲＡＭへソフトウェアの少なくとも一部を読み込む際には、既に前記実行プログラム記憶領域に読み込まれているソフトウェアの少なくとも一部を圧縮して前記圧縮プログラム記憶領域へ記憶し、前記圧縮伸長制御手段は、前記圧縮プログラム記憶領域へ記憶されたソフトウェアが必要になった場合には、当該ソフトウェアを伸長して前記実行プログラム記憶領域へ記憶する。
【００１４】
この構成によれば、既にＲＡＭに記憶されているソフトウェアのうち、引き続きＣＰＵで実行されるソフトウェアの少なくとも一部を圧縮してＲＡＭ内に記憶しておき、必要に応じてＲＡＭ内に伸長することにより、ＲＡＭの容量を効率的に使用することができる。
【００１５】
前記の各構成にかかるＣＰＵ内蔵型ＬＳＩにおいて、前記外部メモリから前記ＲＡＭへのソフトウェアの読み込みを制御する読み込み制御プログラムを少なくとも格納したＲＯＭをさらに備え、前記読み込み制御手段は、前記ＣＰＵが前記読み込み制御プログラムを実行することにより実現された構成とすることが可能である。あるいは、前記ＣＰＵおよびＲＡＭが１つのＬＳＩに搭載され、前記読み込み制御手段が、前記ＣＰＵおよびＲＡＭが搭載されたＬＳＩの外部に接続された別個のＬＳＩにより実現された構成とすることも可能である。後者の構成は、ソフトウェアモジュールの読み込み処理を外付けの別個のＬＳＩで実現するため、ＬＳＩに内蔵されたＣＰＵにかかる負担を軽減できる。
【００１６】
また、上記の課題を解決するために、本発明にかかるＬＳＩ装置の第１の構成は、ＣＰＵおよびＲＡＭを備えたＣＰＵ内蔵型ＬＳＩと、前記ＣＰＵ内蔵型ＬＳＩの外部のメモリから前記ＲＡＭへのソフトウェアの読み込みをモジュール単位で制御する読み込み制御手段として機能する読み込み制御用ＬＳＩとを備え、前記ＲＡＭは、前記外部メモリからモジュール単位で読み込まれたソフトウェアを記憶するソフトウェア記憶領域と、前記ソフトウェア記憶領域に記憶されたモジュールの位置情報およびサイズ情報を少なくとも含むエントリーを記憶するエントリー記憶領域とを有し、前記読み込み制御手段は、前記ＲＡＭのエントリー記憶領域に記憶されたエントリーを参照し、前記外部メモリから前記ＲＡＭのソフトウェア記憶領域へ読み込むモジュールを記憶すべき位置を決定する。この構成によれば、ソフトウェアモジュールの読み込み処理を外付けの別個のＬＳＩで実現するため、ＬＳＩに内蔵されたＣＰＵにかかる負担を軽減できる。
【００１７】
また、上記の課題を解決するために、本発明にかかるＬＳＩ装置の第２の構成は、ＣＰＵおよびＲＡＭを備えたＣＰＵ内蔵型ＬＳＩと、前記ＣＰＵ内蔵型ＬＳＩの外部のメモリから前記ＲＡＭへのソフトウェアの読み込みを制御する読み込み制御手段およびソフトウェアの圧縮および伸長を制御する圧縮伸長制御手段として機能する制御用ＬＳＩとを備え、前記ＲＡＭは、前記ソフトウェアを前記ＣＰＵが参照可能な形式で記憶する実行プログラム記憶領域と、前記ソフトウェアの少なくとも一部を圧縮された形式で記憶する圧縮プログラム記憶領域とを有し、前記圧縮伸長制御手段は、前記読み込み制御手段が前記外部メモリから前記ＲＡＭへソフトウェアの少なくとも一部を読み込む際には、既に前記実行プログラム記憶領域に読み込まれているソフトウェアの少なくとも一部を圧縮して前記圧縮プログラム記憶領域へ記憶し、前記圧縮伸長制御手段は、前記圧縮プログラム記憶領域へ記憶されたソフトウェアが必要になった場合には、当該ソフトウェアを伸長して前記実行プログラム記憶領域へ記憶する。この構成によれば、ソフトウェアモジュールの読み込み処理や圧縮伸長処理を、外付けの別個のＬＳＩで実現するため、ＬＳＩに内蔵されたＣＰＵにかかる負担を軽減できる。
【００１８】
また、上記の課題を解決するために、本発明の光ディスク装置の第１の構成は、上述したいずれかの構成にかかるＣＰＵ内蔵型ＬＳＩと、複数種類の光ディスクの記録または再生動作をそれぞれ制御するための複数モジュールから構成されるソフトウェアを格納した、前記外部メモリとしてのソフトウェア格納メモリと、光ディスクの種類を判別するディスク判別手段とを備え、前記ＣＰＵ内蔵型ＬＳＩの前記読み込み制御手段が、前記ディスク判別手段の判別結果に従って、前記ソフトウェア格納メモリから前記ＣＰＵ内蔵型ＬＳＩのＲＡＭへのモジュールの読み込みを制御する。
【００１９】
この構成によれば、外部メモリとしてのソフトウェア格納メモリに格納されたソフトウェアのうち、ディスクの種類毎に必要なモジュールのみを部分的にＲＡＭに組み込むことができる。これにより、ソフトウェア全部をＲＡＭに組み込んでいた従来の構成に比べて、ＲＡＭの使用容量に制約を受けずに光ディスク装置を開発・提供することができる。
【００２０】
上記の課題を解決するために、本発明の光ディスク装置の第２の構成は、上述したいずれかの構成にかかるＣＰＵ内蔵型ＬＳＩと、光ディスクの記録または再生動作の一連の処理をそれぞれ制御するための複数モジュールから構成されるソフトウェアを格納した、前記外部メモリとしてのソフトウェア格納メモリと、前記処理の各々の進行状況を判別する処理状況判別手段とを備え、前記ＣＰＵ内蔵型ＬＳＩの前記読み込み制御手段が、前記処理状況判別手段の判別結果に従って、前記ソフトウェア格納メモリから前記ＣＰＵ内蔵型ＬＳＩのＲＡＭへのモジュールの読み込みを制御する。
【００２１】
この構成によれば、外部メモリとしてのソフトウェア格納メモリに格納されたソフトウェアのうち、処理毎に必要なモジュールのみを部分的にＲＡＭに組み込むことができる。これにより、ソフトウェア全部をＲＡＭに組み込んでいた従来の構成に比べて、ＲＡＭの使用容量に制約を受けずに光ディスク装置を開発・提供することができる。
【００２２】
上記の課題を解決するために、本発明の光ディスク装置の第３の構成は、上述したいずれかの構成にかかるＣＰＵ内蔵型ＬＳＩと、複数種類の動作モードによる光ディスクの記録または再生動作をそれぞれ制御するための複数モジュールから構成されるソフトウェアを格納した、前記外部メモリとしてのソフトウェア格納メモリと、前記ＣＰＵ内蔵型ＬＳＩの前記読み込み制御手段が、動作モードの変化に応じて、前記ソフトウェア格納メモリから前記ＣＰＵ内蔵型ＬＳＩのＲＡＭへのモジュールの読み込みを制御する。
【００２３】
この構成によれば、外部メモリとしてのソフトウェア格納メモリに格納されたソフトウェアのうち、動作モード毎に必要なモジュールのみを部分的にＲＡＭに組み込むことができる。これにより、ソフトウェア全部をＲＡＭに組み込んでいた従来の構成に比べて、ＲＡＭの使用容量に制約を受けずに光ディスク装置を開発・提供することができる。また、特に、動作モードとしてスリープモードがある場合、スリープモード時のリフレッシュメモリ容量を大幅に削減することができるため、低消費電力につながるという利点がある。
【００２４】
【発明の実施の形態】
（実施の形態１）
以下、本発明の第１の実施形態について図面を参照しながら説明する。図１は本実施形態の装置の構成を表すものであり、これについて説明する。１００は本実施形態の装置、１０１は本実施形態のＬＳＩ、１０２はＬＳＩ１０１を制御するＣＰＵである。１０７はＲＡＭ１０３に記録するソフトウェアやシステム制御マイコン１０５が実行するプログラムなどが記録された外部メモリである。
【００２５】
また、ＲＡＭ１０３は、外部からアクセス可能であり、少なくとも以下の３つを記録する。まず１０８は、ＣＰＵに依存しない命令列からなり、複数のモジュールにより構成されるソフトウェアを記録するソフトウェア記憶領域である。次に１０９は、ソフトウェア記憶領域１０８に記録されたソフトウェアのモジュール（以下、「モジュール」という）の少なくとも先頭アドレスとサイズを一組のデータ（以下、「エントリー」という）としたとき、エントリーを並べたテーブル（以下、「エントリーテーブル」という）である。最後に１１５は、外部メモリ１０７からＲＡＭ１０３に新規に組み込むモジュール（以下、「組み込みモジュール」という）名と、組み込みモジュールのサイズと、ＲＡＭ１０３にすでに記録されたモジュールのうち一度実行した後に不必要となったモジュール（以下、「不要モジュール」という）名を記憶させるテーブル（以下、「組み込みモジュール情報テーブル」という）である。
【００２６】
１０４は以下の３つのプログラムを記録するＲＯＭである。まず１０６はソフトウェア記憶領域１０８に記録されているソフトウェアを解釈し、実行するインタプリタ実行プログラムである。次に１２０は組み込みモジュールのエントリーをエントリーテーブル１０９に登録するエントリー登録プログラムである。最後に１２１はエントリーテーブル１０９に登録されたエントリーのサイズと組み込みモジュールのサイズを比較したり、エントリーテーブル１０９に登録されたモジュールが、不要モジュールかどうかを判断したり、エントリーテーブル１０９に登録されたエントリーが、最後にエントリーテーブルに登録されたかどうかを判断する組み込み位置調査プログラムである（以下、最後にエントリーテーブル１０９に登録されたエントリーを「最終エントリー」という）。
【００２７】
１１０はＬＳＩ１０１と外部との通信を行う通信手段、１０５は装置１００の全体を制御するシステム制御マイコンである。ＣＰＵ１０２はＲＡＭ１０３およびＲＯＭ１０４と、外部メモリ１０７はシステム制御マイコン１０５と、それぞれ相互にバスで接続されている。システム制御マイコン１０５は通信手段１１０によってＣＰＵ１０２とＲＡＭ１０３にアクセス可能である。
【００２８】
続いて、本実施形態の装置１００の動作を、図１を用いて説明する。
【００２９】
まず、システム制御マイコン１０５は、外部メモリ１０７に記録されたソフトウェアのモジュールをＲＡＭ１０３に組み込む。そして、システム制御マイコン１０５がＣＰＵ１０２にインタプリタ実行命令を発行すると、ＣＰＵ１０２はＲＯＭ１０４に記録されているインタプリタ実行プログラム１０６を実行する。そして、ＣＰＵ１０２はＲＡＭ１０３に組み込まれたモジュールを解釈し、実行する。
【００３０】
図２および図３は外部メモリ１０７に記録されたソフトウェアのモジュールの構成、及び、ＲＡＭ１０３のモジュールの記録状態を表し、２０１から２０６まではモジュールである。尚、図２および図３において、図１で用いたものと同じ参照符号を付したものについては、説明を省略する。
【００３１】
図４に、外部メモリ１０７に記録されたソフトウェアのモジュールのうちの任意のモジュールを、ＲＡＭ１０３に組み込む手順を表す。図５は、外部メモリ１０７に記録されたソフトウェアのモジュールのうちの任意のモジュールをＲＡＭ１０３に組み込むときのエントリーテーブル１０９の遷移を表す。エントリーは、図５に示すように、登録ＮＯ．、モジュール名、モジュール先頭アドレス、モジュールサイズで構成される。図５では、数値は全て１０進数表記とし、モジュールサイズの単位はキロバイトで表した。
【００３２】
これより、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール２０５をＲＡＭ１０３に組み込む手順の一具体例を、図１〜図５を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図２（ａ）、エントリーテーブル１０９が図５（ａ）に示すとおりであるものとする。また、モジュール２０２とモジュール２０４は不要モジュールであり、組み込みモジュール２０５のサイズは３００キロバイトとする。
【００３３】
図４に示すように、ステップ３０１では、システム制御マイコン１０５がＣＰＵ１０２に組み込みモジュール情報記憶命令を発行すると、ＣＰＵ１０２は組み込みモジュール名（モジュール２０５）と、組み込みモジュールのサイズ（３００キロバイト）と、不要モジュール名（モジュール２０２，２０４）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【００３４】
次に、ステップ３０２では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そして、ＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報からエントリーテーブル１０９に登録されたエントリーのうち、いずれか一つのエントリーについて、そのモジュールが不要モジュールかどうかを判断する（以下、この判断対象となるエントリーを「対象エントリー」という）。尚、初めてステップ３０２を実行するとき、対象エントリーは登録ＮＯ．１のエントリーとする。ここで、対象エントリーのモジュール２０１は、引き続き装置１００で実行される（すなわち、不要モジュールではない）ので、ステップ３０９に移行する。
【００３５】
ステップ３０９では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２はエントリーテーブル１０９から対象エントリーが最終エントリーかどうかを判断する。ここで、対象エントリーＮＯ．１は最終エントリーではないので、ステップ３０３に移行する。
【００３６】
ステップ３０３では、対象エントリーを変更する。変更方法は、現在の対象エントリーの次にエントリーテーブル１０９に登録されたエントリーを新たに対象エントリーとする。現在の対象エントリーがＮＯ．１のとき、変更後の対象エントリーはＮＯ．２となる。対象エントリー変更後、再びステップ３０２を実行する。ステップ３０２において、対象エントリーＮＯ．２のモジュール２０２は不要モジュールなので、ステップ３０４に移行する。
【００３７】
ステップ３０４では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そして、ＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報から組み込みモジュール２０５のサイズ、エントリーテーブル１０９から対象エントリーのモジュールサイズを得て、組み込みモジュール２０５のサイズと対象エントリーのモジュールサイズを比較する。ここで、組み込みモジュール２０５のサイズは３００キロバイト、対象エントリーのモジュールサイズは２００キロバイトであるため、対象エントリーのモジュールサイズは組み込みモジュール２０５のサイズより小さい。よって、ＲＡＭ１０３においてモジュール２０２が記録されている領域に、組み込みモジュール２０５を組み込めるかどうかを調べるため、ステップ３１０に移行する。
【００３８】
ステップ３１０では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２は対象エントリーが最終エントリーかどうかを判断する。エントリーテーブル１０９より、対象エントリーＮＯ．２は最終エントリーではない。よって現在の対象エントリーの次に登録されたエントリーのモジュールが不要モジュールかどうかを調べるため、ステップ３０５に移行する。
【００３９】
ステップ３０５では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報から対象エントリーの次に登録されたエントリーのモジュールが不要モジュールかどうかを判断する。エントリーテーブル１０９から対象エントリーＮＯ．２の次に登録されたエントリーはＮＯ．３である。組み込みモジュール情報テーブル１１５の情報から、エントリーＮＯ．３のモジュールであるモジュール２０３は、引き続き装置１００で実行されるモジュールとＣＰＵ１０２に判断される。よって、ＲＡＭ１０３においてモジュール２０２が記録されている領域に組み込みモジュール２０５を組み込むことができない。よってステップ３０３に移行し、対象エントリーをＮＯ．２からＮＯ．３に変更し、再びステップ３０２に移行する。ステップ３０２において、対象エントリーＮＯ．３のモジュール２０３は、引き続き装置１００で実行されるモジュールなので、ステップ３０９に移行する。
【００４０】
ステップ３０９において、対象エントリーＮＯ．３は最終エントリーではないので、ステップ３０３において対象エントリーをＮＯ．３からＮＯ．４に変更し、再びステップ３０２に移行する。ステップ３０２において、対象エントリーＮＯ．４のモジュール２０４は不要モジュールであると判断されるので、ステップ３０４に移行する。対象エントリーＮＯ．４のモジュール２０４のサイズは５００キロバイト、組み込みモジュール２０５のサイズは３００キロバイトなので、ステップ３０４において、対象エントリーのモジュールサイズは、組み込みモジュール２０５のサイズより大きいため、ステップ３０７に移行する。
【００４１】
ステップ３０７では、ＣＰＵ１０２は組み込みモジュール２０５をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由でシステム制御マイコン１０５に通知する。ここで組み込みモジュール２０５をＲＡＭ１０３に組み込む先頭アドレスは、対象エントリーのモジュール先頭アドレス（７００）となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、外部メモリ１０７から組み込みモジュール２０５をＲＡＭ１０３に先頭アドレス（７００）から組み込む。
【００４２】
このとき、ＲＡＭ１０３のモジュール記録状態は、図２（ａ）から図２（ｂ）へ変化する。
【００４３】
次に、ステップ３０８では、システム制御マイコン１０５がＣＰＵ１０２にエントリー登録命令を発行すると、ＣＰＵ１０２はエントリー登録プログラム１２０を実行する。そしてＣＰＵ１０２は組み込みモジュール２０５のエントリーをエントリーテーブル１０９に追加登録する。このとき、エントリーテーブル１０９の状態は、図５（ａ）から図５（ｂ）に変化する。
【００４４】
以上の手順により、外部メモリ１０７のモジュール２０５をＲＡＭ１０３へ組み込むことができる。
【００４５】
これより、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール２０５をＲＡＭ１０３に組み込む手順の他の具体例を、図１〜図５を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図２（ａ）、エントリーテーブル１０９が図５（ａ）であるものとする。また、ここでは、モジュール２０２とモジュール２０３は不要モジュールであり、組み込みモジュール２０５のサイズは３００キロバイトとする。
【００４６】
ステップ３０１では、ＣＰＵ１０２は組み込みモジュール名（モジュール２０５）と、この組み込みモジュール２０５のサイズ（３００キロバイト）と、不要モジュール名（モジュール２０２，２０３）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【００４７】
次に、ステップ３０２で、ＣＰＵ１０２は対象エントリーのモジュール２０１が不要モジュールかどうかを判断する。ここで、対象エントリーのモジュール２０１は、引き続き装置１００で実行されるので、ステップ３０９に移行する。
【００４８】
ステップ３０９では、ＣＰＵ１０２は対象エントリーが最終エントリーかどうかを判別する。対象エントリーＮＯ．１は最終エントリーではないので、ステップ３０３に移行する。
【００４９】
ステップ３０３では、対象エントリーがＮＯ．２に変更され、再びステップ３０２を実行する。ステップ３０２において、ＣＰＵ１０２は、対象エントリーＮＯ．２のモジュール２０２を不要モジュールと判断し、ステップ３０４に移行する。
【００５０】
ステップ３０４では、ＣＰＵ１０２は組み込みモジュールのサイズと対象エントリーのモジュールサイズとを比較する。ここで、対象エントリーのモジュールサイズは２００キロバイト、組み込みモジュール２０５のサイズは３００キロバイトなので、対象エントリーのモジュールサイズは組み込みモジュール２０５のサイズより小さい。よって、ＲＡＭ１０３においてモジュール２０２が記録されている領域に、組み込みモジュール２０５を組み込めるかどうかを調べるため、ステップ３１０に移行する。
【００５１】
ステップ３１０では、ＣＰＵ１０２は対象エントリーが最終エントリーかどうかを判断する。対象エントリーＮＯ．２は最終エントリーではない。よって現在の対象エントリーの次に登録されたエントリーのモジュールが不要モジュールかどうかを調べるため、ステップ３０５に移行する。
【００５２】
ステップ３０５では、ＣＰＵ１０２は対象エントリーの次に登録されたエントリーのモジュール２０３が不要モジュールかどうかを判断する。エントリーテーブル１０９から対象エントリーＮＯ．２の次に登録されたエントリーはＮＯ．３である。エントリーＮＯ．３のモジュールであるモジュール２０３は不要モジュールである。よって、ＲＡＭ１０３においてモジュール２０２およびモジュール２０２が記録されている領域に、組み込みモジュール２０５を組み込めるかどうかを調べるため、ステップ３０６に移行する。
【００５３】
ステップ３０６では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２は対象エントリーＮＯ．２のモジュールサイズと対象エントリーの次のエントリーＮＯ．３のモジュールサイズの和と、組み込みモジュール２０５のサイズとを比較する。ここで、エントリーテーブル１０９より対象エントリーＮＯ．２のモジュールサイズは２００キロバイト、対象エントリーの次のエントリーＮＯ．３のモジュールサイズは４００キロバイトで、その和は６００キロバイトとなる。一方、組み込みモジュール情報テーブル１１５の情報より得られた組み込みモジュール２０５のサイズは３００キロバイトである。よって、対象エントリーのサイズと対象エントリーの次のエントリーのサイズとの和が組み込みモジュールのサイズより大きいので、ＲＡＭ１０３においてモジュール２０２とモジュール２０３が記録されている領域に、組み込みモジュール２０５を組み込むことができるためステップ３０７に移行する。
【００５４】
ステップ３０７では、ＣＰＵ１０２は組み込みモジュール２０５をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由でシステム制御マイコン１０５に通知する。ここで組み込みモジュール２０５をＲＡＭ１０３に組み込む先頭アドレスは、対象エントリー（モジュール２０２）のモジュール先頭アドレス（１００）となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、外部メモリ１０７から組み込みモジュール２０５をＲＡＭ１０３に先頭アドレス（１００）から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図２（ａ）から図３（ａ）に変化する。
【００５５】
次に、ステップ３０８では、ＣＰＵ１０２は組み込みモジュール２０５のエントリーをエントリーテーブル１０９に追加登録する。このとき、エントリーテーブル１０９の状態は、図５（ａ）から図５（ｃ）に変化する。
【００５６】
以上の手順により、外部メモリ１０７のモジュール２０５をＲＡＭ１０３へ組み込むことができる。
【００５７】
これより、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール２０５をＲＡＭ１０３に組み込む手順のさらに他の具体例を、図１〜図５を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図２（ａ）、エントリーテーブル１０９が図５（ａ）であるものとする。また、不要モジュールはＲＡＭ１０３に存在せず、組み込みモジュール２０５のサイズは３００キロバイトであるものとする。
【００５８】
ステップ３０１では、ＣＰＵ１０２は、組み込みモジュール名（モジュール２０５）と、組み込みモジュールのサイズ（３００キロバイト）と、不要モジュール名（ここでは無し）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【００５９】
次に、ステップ３０２では、ＣＰＵ１０２は対象エントリーのモジュールが不要モジュールかどうかを判断する。ここで、対象エントリーのモジュール２０１は、引き続き装置１００で実行されるので、ステップ３０９に移行する。
【００６０】
ステップ３０９では、ＣＰＵ１０２は対象エントリーが最終エントリーかどうかを判別する。対象エントリーＮＯ．１は最終エントリーではないので、ステップ３０３に移行する。
【００６１】
ステップ３０３では、対象エントリーがＮＯ．２に変更され、再びステップ３０２を実行する。ステップ３０２では、対象エントリーのモジュール２０２は引き続き装置１００で実行されるので、ステップ３０９に移行する。ステップ３０９では、対象エントリーは最終エントリーではないので、ステップ３０３に移行する。ステップ３０３では、対象エントリーがＮＯ．３に変更され、再びステップ３０２を実行する。ステップ３０２では、対象エントリーのモジュール２０３は、引き続き装置１００で実行されるので、ステップ３０９に移行する。
【００６２】
ステップ３０９では、対象エントリーは最終エントリーではないので、ステップ３０３に移行する。ステップ３０３では、対象エントリーがＮＯ．４に変更され、再びステップ３０２を実行する。ステップ３０２では、対象エントリーのモジュール２０４は、引き続き装置１００で実行されるので、ステップ３０９に移行する。
【００６３】
ステップ３０９では、対象エントリーＮＯ．４は最終エントリーなので、ステップ３１１に移行する。組み込みモジュール２０５のＲＡＭ１０３における組み込み位置は、最終エントリーのモジュール２０４の後ろ（１２００）となる。
【００６４】
ステップ３１１では、ＣＰＵ１０２は組み込みモジュール２０５をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由でシステム制御マイコン１０５に通知する。ここで組み込みモジュール２０５をＲＡＭ１０３に組み込む先頭アドレスは、最終エントリーのモジュール２０４の後ろ（１２００）となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、外部メモリ１０７から組み込みモジュール２０５を、ＲＡＭ１０３に、先頭アドレス（１２００）から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図２（ａ）から図３（ｂ）に変化する。そして、ステップ３０８に移行し、ＣＰＵ１０２は組み込みモジュール２０５のエントリーをエントリーテーブル１０９に追加登録する。このとき、エントリーテーブル１０９の状態は、図５（ａ）から図５（ｄ）に変化する。
【００６５】
以上の手順により、外部メモリ１０７のモジュール２０５をＲＡＭ１０３へ組み込むことができる。
【００６６】
（実施の形態２）
以下、本発明の第２の実施形態について図面を参照しながら説明する。図６は本実施形態の装置の構成を表すものである。図６に示すように、本実施形態にかかる装置は、実施形態１の装置のＲＯＭ１０４に、プログラム１２２を追加したものである。プログラム１２２は、ＲＡＭ１０３から消去する不要モジュールのエントリーをエントリーテーブル１０９から消去するプログラムである。
【００６７】
本実施形態の装置の動作のうち、実施形態１の装置と同様の部分については、説明を省略する。図７および図８は外部メモリ１０７に記録されたソフトウェアのモジュールの構成、及び、ＲＡＭ１０３のモジュールの記録状態を表し、６０１から６０６まではモジュールである。尚、図７および図８において、図６と同じ参照符号を付したものに関しては、説明を省略する。図９は外部メモリ１０７に記録されたソフトウェアのモジュールのうち、任意のモジュールをＲＡＭ１０３に組み込む手順を表す。図１０は外部メモリ１０７に記録されたソフトウェアのモジュールのうち、任意のモジュールをＲＡＭ１０３に組み込むときのエントリーテーブル１０９の遷移を表す。エントリーは、登録ＮＯ．、モジュール名、モジュール先頭アドレス、モジュールサイズで構成される。図１０では、数値は全て１０進数表記とし、モジュールサイズの単位はキロバイトである。
【００６８】
これより、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール６０５をＲＡＭ１０３に組み込む手順の一具体例を、図６〜図１０を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図７（ａ）、エントリーテーブル１０９が図１０（ａ）であるものとする。また、モジュール６０２とモジュール６０４は不要モジュール、組み込みモジュール６０５のサイズは３００キロバイトであるものとする。
【００６９】
ステップ７０１では、システム制御マイコン１０５がＣＰＵ１０２に組み込みモジュール情報記憶命令を発行すると、ＣＰＵ１０２は組み込みモジュール名（モジュール６０５）と、組み込みモジュールのサイズ（３００キロバイト）と、不要モジュール名（モジュール６０２，６０４）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【００７０】
次に、ステップ７０２では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は、組み込み位置調査プログラム１２１を実行する。そして、ＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報から対象エントリーのモジュールが不要モジュールかどうかを判断する。尚、初めてステップ７０２を実行するときの対象エントリーは登録ＮＯ．１のエントリーとする。ここで、対象エントリーのモジュール６０１は引き続き装置１００で実行されるので、ステップ７０３に移行する。
【００７１】
ステップ７０３では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２はエントリーテーブル１０９から対象エントリーが最終エントリーかどうかを判断する。ここで、対象エントリーＮＯ．１は最終エントリーではないので、ステップ７０４に移行する。
【００７２】
ステップ７０４では、対象エントリーを変更する。変更方法は、現在の対象エントリーの次にエントリーテーブル１０９に登録されたエントリーを新たに対象エントリーとする。現在の対象エントリーがＮＯ．１のとき、変更後の対象エントリーはＮＯ．２となる。対象エントリー変更後、再びステップ７０２を実行する。ステップ７０２において、対象エントリーＮＯ．２のモジュール６０２は不要モジュールなので、ステップ７０７に移行する。
【００７３】
ステップ７０７では、システム制御マイコン１０５がＣＰＵ１０２にエントリー消去命令を発行すると、ＣＰＵ１０２はエントリー消去プログラム１２２を実行する。そして、ＣＰＵ１０２はエントリーテーブル１０９に登録されたエントリーのうち対象エントリーＮＯ．２を含む対象エントリー以降に登録されたエントリーＮＯ．２、ＮＯ．３、ＮＯ．４を、エントリーテーブル１０９から消去する。このとき、エントリーテーブル１０９の状態は、図１０（ａ）から図１０（ｂ）に変化する。
【００７４】
次に、ステップ７０８では、ＣＰＵ１０２は組み込みモジュール６０５をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由でシステム制御マイコン１０５に通知する。ここで、組み込みモジュール６０５を、不要モジュールである対象エントリーのモジュール６０２が記録されている領域に組み込むため、組み込みモジュール６０５の先頭アドレスは、対象エントリーの先頭アドレス（１００）となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、組み込みモジュール６０５を外部メモリ１０７からＲＡＭ１０３に先頭アドレス（１００）から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図７（ａ）から図７（ｂ）に変化する。
【００７５】
次に、ステップ７０９では、システム制御マイコン１０５がＣＰＵ１０２にエントリー登録命令を発行すると、ＣＰＵ１０２はエントリー登録プログラム１２０を実行する。そしてＣＰＵ１０２は組み込みモジュール６０５のエントリーをエントリーテーブル１０９に追加登録する。このとき、エントリーテーブル１０９の状態は、図１０（ｂ）から図１０（ｃ）に変化する。そして、ステップ７１０に移行し、対象エントリーを変更し、ステップ７１１に移行する。現在の対象エントリーがＮＯ．２のとき、変更後の対象エントリーはＮＯ．３となる。
【００７６】
ステップ７１１では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報から対象エントリーのモジュールが不要モジュールかどうかを判断する。対象エントリーのモジュール６０３は引き続き装置１００で実行されるので、ＲＡＭ１０３に再度組み込む必要がある。そのためステップ７１２に移行する。
【００７７】
ステップ７１２では、ＣＰＵ１０２はモジュール６０３をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由でシステム制御マイコン１０５に通知する。ここで、モジュール６０３は、最終エントリーのモジュール６０５の後方に組み込まれるので、モジュール６０３をＲＡＭ１０３に組み込む先頭アドレスは、最終エントリーのモジュール先頭アドレス（１００）に最終エントリーのモジュールサイズ（３００キロバイト）を加えた値、すなわち４００となる。そして、システム制御マイコン１０５は、通信手段１１０を経由して、モジュール６０３を外部メモリ１０７からＲＡＭ１０３に、先頭アドレス１２００から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図７（ｂ）から図８（ａ）に変化する。そして、ステップ７１３に移行し、システム制御マイコン１０５がＣＰＵ１０２にエントリー登録命令を発行すると、ＣＰＵ１０２はエントリー登録プログラム１２０を実行する。そしてＣＰＵ１０２はモジュール６０３のエントリーをエントリーテーブル１０９に追加登録する。このとき、エントリーテーブル１０９の状態は、図１０（ｃ）から図１０（ｄ）に変化する。
【００７８】
次に、ステップ７１４では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そしてＣＰＵ１０２はエントリーテーブル１０９から対象エントリーが最終エントリーかどうかを判別する。ここで、対象エントリーＮＯ．３は最終エントリーではないので、ステップ７１０に移行し、対象エントリーを変更し、ステップ７１１に移行する。現在の対象エントリーがＮＯ．３のとき、変更後の対象エントリーはＮＯ．４となる。
【００７９】
ステップ７１１では、ＣＰＵ１０２は、組み込みモジュール情報テーブル１１５の情報から、対象エントリーのモジュールが不要モジュールかどうかを判断する。対象エントリーのモジュール６０４は不要モジュールなので、ＲＡＭ１０３に再度組み込む必要はない。そのためステップ７１４に移行する。
【００８０】
ステップ７１４では、ＣＰＵ１０２はエントリーテーブル１０９から対象エントリーが最終エントリーかどうかを判別する。ここで、対象エントリーＮＯ．４は最終エントリーなので、組み込みモジュール６０５のＲＡＭ１０３への組み込みは終了する。
【００８１】
以上の手順により、外部メモリ１０７のモジュール６０５をＲＡＭ１０３へ組み込むことができる。
【００８２】
これより、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール６０５をＲＡＭ１０３に組み込む手順の他の具体例を、図６〜図１０を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図７（ａ）、エントリーテーブル１０９が図１０（ａ）であるものとする。また、不要モジュールはＲＡＭ１０３に存在せず、組み込みモジュール６０５のサイズは３００キロバイトであるものとする。
【００８３】
ステップ７０１では、ＣＰＵ１０２は組み込みモジュール名（モジュール６０５）と、組み込みモジュールのサイズ（３００キロバイト）と、不要モジュール名（ここでは無し）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【００８４】
次に、ステップ７０２では、ＣＰＵ１０２は対象エントリーのモジュールが不要モジュールかどうかを判断する。ここで、対象エントリーのモジュール６０１は、引き続き装置１００で実行されるので、ステップ７０３に移行する。
【００８５】
ステップ７０３では、ＣＰＵ１０２は対象エントリーが最終エントリーかどうかを判別する。対象エントリーＮＯ．１は最終エントリーではないので、ステップ７０４に移行する。
【００８６】
ステップ７０４では、対象エントリーがＮＯ．２に変更され、再びステップ７０２を実行する。ステップ７０２では、対象エントリーのモジュール６０２は引き続き装置１００で実行されるので、ステップ７０３に移行する。
【００８７】
ステップ７０３では、対象エントリーＮＯ．２は最終エントリーではないので、ステップ７０４に移行する。ステップ７０４では、対象エントリーがＮＯ．３に変更され、再びステップ７０２を実行する。ステップ７０２では、対象エントリーのモジュール６０３は引き続き装置１００で実行されるので、ステップ７０３に移行する。ステップ７０３では、対象エントリーＮＯ．３は最終エントリーではないので、ステップ７０４に移行する。ステップ７０４では、対象エントリーがＮＯ．４に変更され、再びステップ７０２を実行する。ステップ７０２では、対象エントリーのモジュール６０４は、引き続き装置１００で実行されるので、ステップ７０３に移行する。ステップ７０３では、対象エントリーＮＯ．４は最終エントリーなので、ステップ７０５に移行する。
【００８８】
ステップ７０５では、ＣＰＵ１０２は、組み込みモジュール６０５をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由で、システム制御マイコン１０５に通知する。ここで、組み込みモジュール６０５をＲＡＭ１０３に組み込む先頭アドレスは、最終エントリーのモジュール６０４の後ろ（１２００）となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、外部メモリ１０７から、組み込みモジュール６０５を、ＲＡＭ１０３に先頭アドレス１２００から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図７（ａ）から図８（ｂ）に変化する。そして、ステップ７０６に移行し、システム制御マイコン１０５がＣＰＵ１０２にエントリー登録命令を発行すると、ＣＰＵ１０２はエントリー登録プログラム１２０を実行する。そしてＣＰＵ１０２は組み込みモジュール６０５のエントリーをエントリーテーブル１０９に追加登録する。このとき、エントリーテーブルの状態は、図１０（ａ）から図１０（ｅ）に変化する。
【００８９】
以上の手順により、外部メモリ１０７のモジュール６０５をＲＡＭ１０３へ組み込むことができる。
【００９０】
（実施の形態３）
以下、本発明の第３の実施形態について図面を参照しながら説明する。図１１は本実施形態の装置の構成を表すものである。図１１に示すように、本実施形態の装置は、実施形態２の装置の構成を表す図６のＲＡＭ１０３からエントリーテーブル１０９を削除し、ＲＡＭ１０３に２つのテーブルと１つの領域を追加し、ＲＯＭ１０４に２つのプログラムを追加したものである。
【００９１】
ＲＡＭ１０３に追加するテーブルは、まず、圧縮されたモジュール（以下、「圧縮モジュール」という）のエントリーを並べた圧縮モジュールエントリーテーブル１３１である。次に、圧縮モジュールをインタプリタ実行プログラムが解釈し、実行できるように伸長したモジュール（以下、「実行モジュール」という）のエントリーを並べた実行モジュールエントリーテーブル１３０である。ＲＡＭ１０３に追加する領域は、圧縮モジュールを保存する圧縮モジュール保存領域１３２である。
【００９２】
ＲＯＭ１０４に追加するプログラムは、まず、実行モジュールを圧縮し、圧縮モジュール保存領域に保存する処理を行うモジュール圧縮プログラム１２３、そして、ＲＡＭ１０３内の圧縮モジュールを伸長し、ソフトウェア記憶領域１０８に記憶する処理を行うモジュール伸長プログラム１２４である。尚、一般的なコードの圧縮伸長方式に、ＬＺ（Ｌｅｍｐｅｌ−Ｚｉｖ）圧縮、Ｈｕｆｆｍａｎ圧縮などがある。本発明におけるモジュール圧縮および伸長には、任意の圧縮伸長方式を用いることができる。
【００９３】
本実施形態にかかる装置の動作のうち、実施形態１と同様の部分については、説明を省略する。図１２および図１３は外部メモリ１０７に記録されたソフトウェアのモジュールの構成、及び、ＲＡＭ１０３のモジュールの記録状態を表し、１００１から１００６まではモジュールである。尚、図１２および図１３において、図１１と同じ参照符号を用いたものに関しては、説明を省略する。図１４は外部メモリ１０７に記録されたソフトウェアのモジュールのうち、任意のモジュールをＲＡＭ１０３に組み込む手順を表す。図１５は外部メモリ１０７に記録されたソフトウェアのモジュールのうち、任意のモジュールをＲＡＭ１０３に組み込むときの実行モジュールエントリーテーブル１３０と圧縮モジュールエントリーテーブル１３１の遷移を表す。実行モジュールエントリーテーブル１３０、圧縮モジュールエントリーテーブル１３１ともに、エントリーは、登録ＮＯ．、モジュール名．、モジュール先頭アドレス、モジュールサイズで構成される。尚、圧縮モジュールエントリーテーブル１３１のエントリーにおけるモジュールサイズは、圧縮される前のモジュールサイズとする。図１５では、数値は全て１０進数表記とし、モジュールサイズの単位はキロバイトとした。
【００９４】
次に、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール１００５をＲＡＭ１０３に組み込む手順の一具体例を、図１１〜図１５を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図１２（ａ）、実行モジュールエントリーテーブル１３０が図１５（ａ）、圧縮モジュールエントリーテーブル１３１が図１５（ｇ）に示すとおりであるものとする。また、モジュール１００２とモジュール１００４は不要モジュール、組み込みモジュール１００５のサイズは３００キロバイトであるものとする。
【００９５】
ステップ１１０１では、システム制御マイコン１０５がＣＰＵ１０２に組み込みモジュール情報記憶命令を発行すると、ＣＰＵ１０２は組み込みモジュール名（モジュール１００５）と、組み込みモジュールのサイズ（３００キロバイト）と、不要モジュール名（モジュール１００２，１００４）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【００９６】
次に、ステップ１１０２では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は組み込み位置調査プログラム１２１を実行する。そして、ＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報から対象エントリーのモジュールが不要モジュールかどうかを判断する。尚、初めてステップ１１０２を実行するときの対象エントリーは、登録ＮＯ．１のエントリーとする。ここで、対象エントリーのモジュール１００１は引き続き装置１００で実行されるので、圧縮した後に圧縮モジュール保存領域に保存する必要がある。よって、ステップ１１０３に移行する。
【００９７】
ステップ１１０３では、システム制御マイコン１０５がＣＰＵ１０２にモジュール圧縮命令を発行すると、ＣＰＵ１０２はモジュール圧縮プログラム１２３を実行する。そして、ＣＰＵ１０２は対象エントリーのモジュール１００１を圧縮し、圧縮モジュール保存領域１３２に保存する。このとき、ＲＡＭ１０３のモジュール記録状態は、図１２（ａ）から図１２（ｂ）に変化する。尚、図１２（ｂ）の１００１’は、モジュール１００１の圧縮モジュールである。
【００９８】
次に、ステップ１１０４では、システム制御マイコン１０５がＣＰＵ１０２に圧縮モジュールエントリー登録命令を発行すると、ＣＰＵ１０２はエントリー登録プログラム１２０を実行する。そしてＣＰＵ１０２は圧縮モジュール１００１’のエントリーを圧縮モジュールエントリーテーブル１３１に追加登録する。このとき、圧縮モジュールエントリーテーブル１３１の状態は、図１５（ｇ）から図１５（ｈ）に変化する。
【００９９】
次に、ステップ１１０６では、システム制御マイコン１０５がＣＰＵ１０２にモジュール組み込み位置調査命令を発行すると、ＣＰＵ１０２は、組み込み位置調査プログラム１２１を実行する。そして、ＣＰＵ１０２は実行モジュールエントリーテーブル１３０から、対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーではないので、ステップ１１０５に移行する。ステップ１１０５では、システム制御マイコン１０５がＣＰＵ１０２にエントリー消去命令を発行すると、ＣＰＵ１０２はエントリー消去プログラム１２２を実行する。そして、ＣＰＵ１０２は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ａ）から図１５（ｂ）に変化する。
【０１００】
次に、ステップ１１０７では、対象エントリーを変更する。変更方法は、実行モジュールエントリーテーブル１３０のエントリーＮＯ．１を新たに対象エントリーとする。対象エントリー変更後、再びステップ１１０２を実行する。ステップ１１０２において、対象エントリーＮＯ．１のモジュール１００２は、組み込みモジュール情報テーブル１１５の情報から、不要モジュールと判断され、圧縮した後に圧縮モジュール保存領域に保存される必要がないため、ステップ１１０６に移行する。
【０１０１】
ステップ１１０６では、ＣＰＵ１０２は実行モジュールエントリーテーブル１３０から対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーではないので、ステップ１１０５に移行する。ステップ１１０５では、ＣＰＵ１０２は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ｂ）から図１５（ｃ）に変化する。
【０１０２】
次に、ステップ１１０７で、対象エントリーを変更する。実行モジュールエントリーテーブル１３０のエントリーＮＯ．１を新たに対象エントリーとする。対象エントリー変更後、再びステップ１１０２を実行する。ステップ１１０２では、ＣＰＵ１０２は組み込みモジュール情報テーブル１１５の情報から対象エントリーのモジュールが不要モジュールかどうかを判断する。ここで、対象エントリーのモジュール１００３は引き続き装置１００で実行されるので、圧縮した後に圧縮モジュール保存領域に保存する必要がある。よって、ステップ１１０３に移行する。ステップ１１０３では、ＣＰＵ１０２は対象エントリーのモジュール１００３を圧縮し、圧縮モジュール保存領域１３２に保存する。このとき、ＲＡＭ１０３のモジュール記録状態は、図１２（ｂ）から図１３（ａ）に変化する。尚、図１３（ａ）の１００３’は、モジュール１００３の圧縮モジュールである。
【０１０３】
次に、ステップ１１０４では、ＣＰＵ１０２は圧縮モジュール１００３’のエントリーを圧縮モジュールエントリーテーブル１３１に追加登録する。このとき、圧縮モジュールエントリーテーブル１３１の状態は、図１５（ｈ）から図１５（ｉ）に変化する。
【０１０４】
次に、ステップ１１０６では、ＣＰＵ１０２は実行モジュールエントリーテーブル１３０から対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーではないので、ステップ１１０５に移行する。ステップ１１０５では、ＣＰＵ１０２は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ｃ）から図１５（ｄ）に変化する。
【０１０５】
次に、ステップ１１０７で、対象エントリーを変更する。実行モジュールエントリーテーブル１３０のエントリーＮＯ．１を新たに対象エントリーとする。対象エントリー変更後、再びステップ１１０２を実行する。ステップ１１０２において、対象エントリーＮＯ．１のモジュール１００４は不要モジュールなので、ステップ１１０６に移行する。
【０１０６】
ステップ１１０６では、ＣＰＵ１０２は実行モジュールエントリーテーブル１３０から対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーなので、ステップ１１１０に移行する。
【０１０７】
ステップ１１１０では、ＣＰＵ１０２は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ｄ）から図１５（ｅ）に変化する。
【０１０８】
次に、ステップ１１０８では、ＣＰＵ１０２は組み込みモジュール１００５をＲＡＭ１０３に組み込む先頭アドレスを、通信手段１１０経由でシステム制御マイコン１０５に通知する。組み込みモジュール１００５の先頭アドレスは、ソフトウェア記憶領域１０８の先頭、すなわち０となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、組み込みモジュール１００５を外部メモリ１０７からＲＡＭ１０３に先頭アドレス０から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図１３（ａ）から図１３（ｂ）に変化する。
【０１０９】
そして、ステップ１１０９に移行し、システム制御マイコン１０５がＣＰＵ１０２にエントリー登録命令を発行すると、ＣＰＵ１０２はエントリー登録プログラム１２０を実行する。そして、ＣＰＵ１０２は組み込みモジュール１００５のエントリーを実行モジュールエントリーテーブル１３０に追加登録する。このとき、エントリーテーブルの状態は、図１５（ｅ）から図１５（ｆ）に変化する。
【０１１０】
そして、システム制御マイコン１０５がＣＰＵ１０２にモジュール伸長命令を発行すると、ＣＰＵ１０２がモジュール伸長プログラム１２４を実行する。そして圧縮状態で圧縮モジュール保存領域１３２に保存された、引き続き装置１００で実行される圧縮モジュール１００１’と１００３’は、シフト記録領域１０８に伸長される。また、圧縮モジュールエントリーテーブル１３１は、実行モジュールエントリーテーブル１３０と同様に圧縮モジュールを管理するのに有効である。
【０１１１】
実施形態１、実施形態２、実施形態３のような装置によれば、ソフトウェアをモジュール単位で記録することができるため、装置で実行されるモジュールを必要なタイミングでＲＡＭ１０３に記録することができる。また、ソフトウェアをモジュール単位でＲＡＭ１０３から消去することができるため、一度実行した後に不必要となったモジュールをＲＡＭ１０３から消去することができ、ＲＡＭ１０３の使用容量を最小限に抑えることができる。さらに、外部メモリ１０７に記録されたソフトウェアの全てのモジュールをＲＡＭ１０３に記録する必要がないため、ソフトウェアのサイズがシステムで定められたＲＡＭ１０３におけるソフトウェアの領域サイズを超えてはならないという制限を設けることなく開発を推進できる。
【０１１２】
また、本実施形態３のような装置によれば、ソフトウェアをＲＡＭ１０３内で圧縮、伸長することにより、ＲＡＭ１０３の使用容量を最小限に抑えることができる。なお、本実施形態の具体例としては、ソフトウェアをモジュール単位でＲＡＭへ組み込み、ＲＡＭ内の圧縮・伸長もモジュール単位で行う装置構成を示したが、ＲＡＭへの組み込みおよびＲＡＭ内での圧縮・伸長の処理単位は、ソフトウェアの一部（例えばモジュール単位）に限定されず、ソフトウェア全体であっても良い。
【０１１３】
（実施の形態４）
以下、本発明の第４の実施形態について図面を参照しながら説明する。図１６は本実施形態の装置の構成を表すものである。図１６に示すように、本実施形態にかかる装置は、実施の形態３の装置構成を表す図１１のＲＯＭ１０４からエントリー登録プログラム１２０、組み込み位置調査プログラム１２１、エントリー消去プログラム１２２、モジュール圧縮プログラム１２３、モジュール伸長プログラム１２４を削除して、装置１００にモジュール組み込み手段１４０を追加したものである。
【０１１４】
モジュール組み込み手段１４０は、例えば、ＬＳＩ１０１とは別個のＬＳＩにより実現され、実施の形態３におけるＣＰＵ１０２が、エントリー登録プログラム１２０、組み込み位置調査プログラム１２１、エントリー消去プログラム１２２、モジュール圧縮プログラム１２３、および、モジュール伸長プログラム１２４の制御の下で実行した処理と同じ処理を実行する機能を有するものである。
【０１１５】
すなわち、モジュール組み込み手段１４０としての外付けＬＳＩと、ＣＰＵ内蔵型のＬＳＩ１０１との組み合わせにより、本発明にかかるＬＳＩ装置が実現される。
【０１１６】
モジュール組み込み手段１４０は、システム制御マイコン１０５と相互にバスで接続されており、ＲＡＭ１０３にアクセス可能である。本実施形態の装置の動作において、前述した各実施形態と同様の部分については、説明を省略する。
【０１１７】
以下、外部メモリ１０７に記録されたソフトウェアの組み込みモジュール（モジュール１００５）をＲＡＭ１０３に組み込む手順の一具体例を、図１２〜図１６を用いて説明する。ここでは、ＲＡＭ１０３におけるモジュールの記録状態が図１２（ａ）、実行モジュールエントリーテーブル１３０が図１５（ａ）、圧縮モジュールエントリーテーブル１３１が図１５（ｇ）であるものとする。また、モジュール１００２とモジュール１００４は不要モジュール、組み込みモジュール１００５のサイズは３００キロバイトであるものとする。
【０１１８】
ステップ１１０１では、システム制御マイコン１０５がモジュール組み込み手段１４０に組み込みモジュール情報記憶命令を発行すると、モジュール組み込み手段１４０は組み込みモジュール名（モジュール１００５）と、組み込みモジュールのサイズ（３００キロバイト）と、不要モジュール名（モジュール１００２，１００４）を、ＲＡＭ１０３の組み込みモジュール情報テーブル１１５に記憶させる。
【０１１９】
次に、ステップ１１０２では、システム制御マイコン１０５がモジュール組み込み手段１４０にモジュール組み込み位置調査命令を発行すると、モジュール組み込み手段１４０は組み込みモジュール情報テーブル１１５の情報から対象エントリーのモジュールが不要モジュールかどうかを判断する。尚、初めてステップ１１０２を実行するときの対象エントリーは、登録ＮＯ．１とする。ここで、対象エントリーのモジュール１００１は引き続き装置１００で実行されるので、圧縮した後に圧縮モジュール保存領域に保存する必要がある。よって、ステップ１１０３に移行する。
【０１２０】
ステップ１１０３では、システム制御マイコン１０５がモジュール組み込み手段１４０にモジュール圧縮命令を発行すると、モジュール組み込み手段１４０は対象エントリーのモジュール１００１を圧縮し、圧縮モジュール保存領域１３２に保存する。このとき、ＲＡＭ１０３のモジュール記録状態は、図１２（ａ）から図１２（ｂ）に変化する。尚、図１２（ｂ）の１００１’は、モジュール１００１の圧縮モジュールである。
【０１２１】
次に、ステップ１１０４では、システム制御マイコン１０５がモジュール組み込み手段１４０に圧縮モジュールエントリー登録命令を発行すると、モジュール組み込み手段１４０は圧縮モジュール１００１’のエントリーを圧縮モジュールエントリーテーブル１３１に追加登録する。このとき、圧縮モジュールエントリーテーブル１３１の状態は、図１５（ｇ）から図１５（ｈ）に変化する。
【０１２２】
次に、ステップ１１０６では、システム制御マイコン１０５がモジュール組み込み手段１４０にモジュール組み込み位置調査命令を発行すると、モジュール組み込み手段１４０は実行モジュールエントリーテーブル１３０から対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーではないので、ステップ１１０５に移行する。
【０１２３】
ステップ１１０５では、システム制御マイコン１０５がモジュール組み込み手段１４０にエントリー消去命令を発行すると、モジュール組み込み手段１４０は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ａ）から図１５（ｂ）に変化する。
【０１２４】
次に、ステップ１１０７では、対象エントリーを変更する。変更方法は、実行モジュールエントリーテーブル１３０のエントリーＮＯ．１を新たに対象エントリーとする。対象エントリー変更後、再びステップ１１０２を実行する。ステップ１１０２において、対象エントリーＮＯ．１のモジュール１００２は、組み込みモジュール情報テーブル１１５の情報から、不要モジュールと判断され、圧縮した後に圧縮モジュール保存領域に保存される必要がないため、ステップ１１０６に移行する。
【０１２５】
ステップ１１０６では、モジュール組み込み手段１４０は、実行モジュールエントリーテーブル１３０から対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーではないので、ステップ１１０５に移行する。
【０１２６】
ステップ１１０５では、モジュール組み込み手段１４０は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ｂ）から図１５（ｃ）に変化する。
【０１２７】
次に、ステップ１１０７で、対象エントリーを変更する。実行モジュールエントリーテーブル１３０のエントリーＮＯ．１を新たに対象エントリーとする。対象エントリー変更後、再びステップ１１０２を実行する。ステップ１１０２では、モジュール組み込み手段１４０は組み込みモジュール情報テーブル１１５の情報から対象エントリーのモジュールが不要モジュールかどうかを判断する。ここで、対象エントリーのモジュール１００３は引き続き装置１００で実行されるので、圧縮した後に圧縮モジュール保存領域に保存する必要がある。よって、ステップ１１０３に移行する。
【０１２８】
ステップ１１０３では、モジュール組み込み手段１４０は対象エントリーのモジュール１００３を圧縮し、圧縮モジュール保存領域１３２に保存する。このとき、ＲＡＭ１０３のモジュール記録状態は、図１２（ｂ）から図１３（ａ）に変化する。尚、図１３（ａ）の１００３’は、モジュール１００３の圧縮モジュールである。
【０１２９】
次に、ステップ１１０４では、モジュール組み込み手段１４０は圧縮モジュール１００３’のエントリーを圧縮モジュールエントリーテーブル１３１に追加登録する。このとき、圧縮モジュールエントリーテーブル１３１の状態は、図１５（ｈ）から図１５（ｉ）に変化する。
【０１３０】
次に、ステップ１１０６では、モジュール組み込み手段１４０は実行モジュールエントリーテーブル１３０から対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーではないので、ステップ１１０５に移行する。
【０１３１】
ステップ１１０５では、モジュール組み込み手段１４０は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ｃ）から図１５（ｄ）に変化する。
【０１３２】
次に、ステップ１１０７で、対象エントリーを変更する。実行モジュールエントリーテーブル１３０のエントリーＮＯ．１を新たに対象エントリーとする。対象エントリー変更後、再びステップ１１０２を実行する。ステップ１１０２において、対象エントリーＮＯ．１のモジュール１００４は不要モジュールなので、ステップ１１０６に移行する。
【０１３３】
ステップ１１０６では、モジュール組み込み手段１４０は実行モジュールエントリーテーブル１３０から、対象エントリーが最終エントリーかどうかを判断する。ここで、登録ＮＯ．１は最終エントリーなので、ステップ１１１０に移行する。
【０１３４】
ステップ１１１０では、モジュール組み込み手段１４０は対象エントリーを実行モジュールエントリーテーブル１３０から消去する。このとき、実行モジュールエントリーテーブル１３０の状態は、図１５（ｄ）から図１５（ｅ）に変化する。
【０１３５】
次に、ステップ１１０８では、モジュール組み込み手段１４０は、組み込みモジュール１００５をＲＡＭ１０３に組み込む先頭アドレスを、システム制御マイコン１０５に通知する。組み込みモジュール１００５の先頭アドレスは、ソフトウェア記憶領域１０８の先頭、すなわち０となる。そして、システム制御マイコン１０５は通信手段１１０を経由して、組み込みモジュール１００５を外部メモリ１０７からＲＡＭ１０３に先頭アドレス０から組み込む。このとき、ＲＡＭ１０３のモジュール記録状態は、図１３（ａ）から図１３（ｂ）に変化する。
【０１３６】
そして、ステップ１１０９に移行し、システム制御マイコン１０５がモジュール組み込み手段１４０にエントリー登録命令を発行すると、モジュール組み込み手段１４０は、組み込みモジュール１００５のエントリーを、実行モジュールエントリーテーブル１３０に追加登録する。このとき、エントリーテーブルの状態は、図１５（ｅ）から図１５（ｆ）に変化する。
【０１３７】
そして、システム制御マイコン１０５がモジュール組み込み手段１４０にモジュール伸長命令を発行すると、モジュール組み込み手段１４０は、圧縮状態で圧縮モジュール保存領域１３２に保存された、引き続き装置１００で実行される圧縮モジュール１００１’と１００３’を、シフト記録領域１０８で伸長する。また、圧縮モジュールエントリーテーブル１３１は、実行モジュールエントリーテーブル１３０と同様に圧縮モジュールを管理するのに有効である。
【０１３８】
なお、上記の具体例では、実施の形態３の装置におけるＲＯＭ１０４からエントリー登録プログラム１２０、組み込み位置調査プログラム１２１、エントリー消去プログラム１２２、モジュール圧縮プログラム１２３、モジュール伸長プログラム１２４を削除すると共に、これらのプログラムの機能をモジュール組み込み手段１４０としての外付けＬＳＩで実現するものとした。しかし、これに限らず、実施の形態１のＲＯＭ１０４からエントリー登録プログラム１２０および組み込み位置調査プログラム１２１を削除し、これらのプログラムの機能をモジュール組み込み手段１４０としての外付けＬＳＩで実現する構成も可能である。あるいは、実施の形態２のＲＯＭ１０４からエントリー登録プログラム１２０、組み込み位置調査プログラム１２１、およびエントリー消去プログラム１２２を削除し、これらのプログラムの機能をモジュール組み込み手段１４０としての外付けＬＳＩで実現する構成も、同様に可能である。
【０１３９】
実施形態４のような装置によれば、ソフトウェアをモジュール単位で記録することができるため、装置で実行されるモジュールを必要なタイミングでＲＡＭ１０３に記録することができる。また、ソフトウェアをモジュール単位でＲＡＭ１０３から消去することができるため、一度実行した後に不必要となったモジュールをＲＡＭ１０３から消去することができ、ＲＡＭ１０３の使用容量を最小限に抑えることができる。また、ソフトウェアをＲＡＭ１０３内でモジュール単位で圧縮、伸長ができるため、ＲＡＭ１０３の使用容量を最小限に抑えることができる。さらに、外部メモリ１０７に記録されたソフトウェアの全てのモジュールをＲＡＭ１０３に記録する必要がないため、ソフトウェアのサイズがシステムで定められたＲＡＭ１０３におけるソフトウェア用の領域サイズを超えてはならないという制限を設けることなく開発を推進できる。
【０１４０】
さらに、実施形態１〜３とは異なり、外部メモリ１０７からＲＡＭ１０３へのソフトウェアの組み込み処理や、ＲＡＭ１０３内でのソフトウェアの圧縮伸長処理等を、ＬＳＩ１０１の外付けのＬＳＩ等として実現されるモジュール組み込み手段１４０で実行するため、ＣＰＵ１０２の負担を軽減することができる。これにより、組み込みモジュールをＲＡＭ１０３に組み込むための所要時間の短縮化も図ることができる。
【０１４１】
（実施の形態５）
以下、本発明の第５の実施形態について図面を参照しながら説明する。図１７は本実施形態の光ディスク装置の構成を表すものである。図１７の光ディスク装置１０００は、実施形態３の装置の構成を表す図１１の装置１００に、光ディスク制御手段１１１、記録再生ヘッド１１２、モータ１１３、および、メディア判別手段１４１を追加し、光ディスク１１４を用いて記録再生を行うものである。
【０１４２】
光ディスク制御手段１１１は、ＬＳＩ１０１からのコマンドによって制御され、光ディスク１１４の記録・再生を行うレーザーパワーを決定したり、光ディスク１１４の回転速度やヘッドの位置を決定したりする。次に、記録再生ヘッド１１２は、光ディスク制御手段１１１によって制御され、レーザーの出力や光ディスク１１４の再生信号の読み取りを行う。モータ１１３は、光ディスク制御手段１１１によって制御され、光ディスク１１４を回転させる。メディア判別手段１４１は、光ディスク１１４の種類（以下、「メディア」という）を判別する。尚、システム制御マイコン１０５とＣＰＵ１０２は、通信手段１１０によって光ディスク制御手段１１１とメディア判別手段１４１にアクセス可能である。
【０１４３】
本実施形態の光ディスク装置の動作を、図１７を用いて説明する。まず、システム制御マイコン１０５は、外部メモリ１０７に記録された光ディスク装置の制御を実現するソフトウェアのモジュールを、ＲＡＭ１０３のソフトウェア記憶領域１０８に記録する。そして、システム制御マイコン１０５が通信手段１１０を経由してＣＰＵ１０２にインタプリタ実行命令を発行すると、ＣＰＵ１０２は、ＲＯＭ１０４に記録されているインタプリタ実行プログラムを実行する。そして、ＣＰＵ１０２は、ＲＡＭ１０３に記録されたモジュールを解釈し、実行する。ＣＰＵ１０２は通信手段１１０を経由して光ディスク制御手段１１１に対してレジスタのパラメータの設定、コマンドの発行、ステータスの取得を行い、光ディスクの記録再生を制御する。
【０１４４】
また、外部メモリ１０７に記録されたソフトウェアは以下の４つのモジュールで構成されている。まず、メディアに依存しない光ディスク装置の制御を行うモジュール（以下、「共通モジュール」という）である。次に、メディアの基材厚が規定値以上か規定値未満かの判断（以下、「基材厚判別」という）を行うモジュール（以下、「判別モジュール」という）である。次に、基材厚が規定値以上のメディアの光ディスク装置の制御を行うモジュール（以下、「ＣＤ用モジュール」という）である。最後に、基材厚が規定値未満のメディアの光ディスク装置の制御を行うモジュール（以下、「ＤＶＤ用モジュール」という）である。
【０１４５】
図１８は外部メモリ１０７に記録されたモジュールである共通モジュール、判別モジュール、ＣＤ用モジュール、ＤＶＤ用モジュールのうち、本実施形態の光ディスク装置において、基材厚判別の結果に応じて、ＣＤ用モジュール、または、ＤＶＤ用モジュールをＲＡＭ１０３に記録する処理の手順を表す。これより、図１８を参照し、外部メモリ１０７に記録されたモジュールをＲＡＭ１０３に組み込む手順を説明する。尚、ＲＡＭ１０３には予め共通モジュールと判別モジュールが記録されていることとする。
【０１４６】
ステップ１５０１では、システム制御マイコン１０５が、通信手段１１０を経由して、ＣＰＵ１０２にインタプリタ実行命令を発行すると、ＣＰＵ１０２は、ＲＯＭ１０４に記録されているインタプリタ実行プログラムを実行する。そして、ＣＰＵ１０２はＲＡＭ１０３に記録されている判別モジュールを解釈し、実行する。そして、ＣＰＵ１０２は通信手段１１０を経由してメディア判別手段１４１を動作させることによりメディア判別を行う。メディア判別手段１４１は、メディア判別が終了すると、通信手段１１０を経由してメディア判別の結果をＣＰＵ１０２に通知する。ＣＰＵ１０２は通信手段１１０を経由してシステム制御マイコン１０５にメディア判別の結果を通知する。
【０１４７】
次に、ステップ１５０２では、システム制御マイコン１０５に通知されたメディア判別の結果において、メディアの基材厚が規定値以上の場合、ステップ１５０３に移行する。一方、規定値未満の場合、ステップ１５０４に移行する。
【０１４８】
ステップ１５０３では、システム制御マイコン１０５は実施形態１、または、実施形態２、または、実施形態３記載のモジュール組み込み手順を用いて、外部メモリ１０７に記録されているＣＤ用モジュールをＲＡＭ１０３に組み込む。
【０１４９】
ステップ１５０４では、ステップ１５０３と同様に、システム制御マイコン１０５は外部メモリ１０７に記録されているＤＶＤ用モジュールをＲＡＭ１０３に組み込む。
【０１５０】
以上のような光ディスク装置によれば、装置で制御するメディアに応じたソフトウェアのモジュールをＲＡＭ１０３に記録することができるため、光ディスク装置で制御可能な全メディアに応じたソフトウェアのモジュールをＲＡＭに記録していた従来の装置に比べ、ＲＡＭ１０３の使用容量を抑えることができる。さらに、外部メモリ１０７に記録されている光ディスクの制御に必要なソフトウェアの全てをＲＡＭ１０３に記録する必要がないため、ソフトウェアのサイズがシステムで定められたＲＡＭ１０３におけるソフトウェア用の領域サイズを超えてはならないという制限を設けることなく光ディスク装置の開発を推進できる。
【０１５１】
また、本実施形態において、判別モジュールを、データの記録が可能なメディアか再生専用のメディアかどうかの判別を行うモジュールとし、ＣＤ用モジュールを、データの記録が可能なメディアの光ディスク装置の制御を行うモジュールとし、ＤＶＤ用モジュールを、再生専用のメディアの光ディスク装置の制御を行うモジュールとしても、同様の効果が得られる。また、判別モジュールを、装置にメディアが装着されているかを判別するモジュールとし、ＣＤ用モジュールを、装置にメディアが装着されているときの光ディスク装置の制御を行うモジュールとし、ＤＶＤ用モジュールを、装置にメディアが装着されていないときの光ディスク装置の制御を行うモジュールとしても、同様の効果が得られる。
【０１５２】
なお、本実施形態では、実施形態３の装置の構成を表す図１１の装置１００に、光ディスク制御手段１１１、記録再生ヘッド１１２、モータ１１３、および、メディア判別手段１４１を追加し、光ディスク１１４を用いて記録再生を行う光ディスク装置１０００を例示したが、実施形態３の装置の代わりに、実施形態１，２，４のそれぞれで説明した装置を用いた構成としても良い。
【０１５３】
（実施の形態６）
以下、本発明の第６の実施形態について図面を参照しながら説明する。図１９は本実施形態の光ディスク装置の構成を表すものである。図１９に示すように、本実施形態の光ディスク装置は、実施形態５の装置構成を表す図１７の光ディスク装置１０００からメディア判別手段１４１を削除し、光ディスク制御の処理が終了したかどうかを判断する処理終了判断手段１４２を追加したものである。尚、システム制御マイコン１０５とＣＰＵ１０２は、通信手段１１０によって光ディスク制御手段１１１と処理終了判断手段１４２にアクセス可能である。
【０１５４】
本実施形態の光ディスク装置の動作のうち、実施形態５と同様の部分については説明は省略する。外部メモリ１０７に記録されたソフトウェアは、光ディスク制御の処理を実現する複数のモジュールで構成されている（以下、個々のモジュールを「処理モジュール」という）。尚、１つの処理モジュールは１つの処理を実現するものとする。
【０１５５】
図２０は外部メモリ１０７に記録されたソフトウェアの処理モジュールのうち、本実施形態の光ディスク装置１０００においてシステム制御マイコン１０５に指定された処理モジュールを、ＲＡＭ１０３に記録する手順を表す。これより、図２０を参照し、処理終了判断手段１４２の判断結果に応じて、外部メモリ１０７に記録された処理モジュールをＲＡＭ１０３に組み込む手順を説明する。尚、ＲＡＭ１０３には予め１つ以上の処理モジュールが記録されていることとする。
【０１５６】
ステップ１７０１では、システム制御マイコン１０５が通信手段１１０を経由してＣＰＵ１０２にインタプリタ実行命令を発行すると、ＣＰＵ１０２はＲＯＭ１０４に記録されているインタプリタ実行プログラムを実行する。そして、ＣＰＵ１０２はＲＡＭ１０３に記録されている処理モジュールのうち、システム制御マイコン１０５に指定された処理モジュールを解釈し、実行する。ＣＰＵ１０２は通信手段１１０を経由して光ディスク制御手段１１１を動作させることにより、処理を行う。処理中、処理終了判断手段１４２は、光ディスク制御手段１１１に対して処理が終了したかどうか常に監視している。
【０１５７】
次に、ステップ１７０２では、処理終了判断手段１４２は、処理が終了したものと判断すると、通信手段１１０を経由して、処理が終了したことをＣＰＵ１０２に通知する。ＣＰＵ１０２は通信手段１１０を経由してシステム制御マイコン１０５に処理が終了したことを通知する。
【０１５８】
次に、ステップ１７０３では、システム制御マイコン１０５は、実施形態１、実施形態２、または、実施形態３記載のモジュール組み込み手順を用いて、外部メモリ１０７に記録されている処理モジュールのうち、システム制御マイコン１０５に指定された処理モジュールを、通信手段１１０を経由してＲＡＭ１０３に組み込む。
【０１５９】
以上のような光ディスク装置によれば、光ディスク制御の処理を実現させるソフトウェアを、各種処理に応じたモジュール単位でＲＡＭ１０３に記録することができるため、全処理モジュールをＲＡＭに記録していた従来の装置に比べると、ＲＡＭ１０３の使用容量を最小限に抑えることができる。さらに、外部メモリ１０７に記録されている光ディスクの制御に必要なソフトウェアの全てをＲＡＭ１０３に記録する必要がないため、ソフトウェアのサイズがＲＡＭ１０３におけるソフトウェア用の領域サイズを超えてはならないという制限を設けることなく光ディスク装置の開発を推進できる。
【０１６０】
（実施の形態７）
以下、本発明の第７の実施形態について図面を参照しながら説明する。図２１は本実施形態の光ディスク装置の構成を表すものである。図２１に示すように、本実施形態にかかる光ディスク装置は、実施形態５の装置の構成を表す図１７の光ディスク装置１０００からメディア判別手段１４１を削除し、本実施形態の光ディスク装置における動作モードの変化を管理する動作モード管理手段１４３を追加したものである。尚、システム制御マイコン１０５とＣＰＵ１０２は通信手段１１０によって光ディスク制御手段１１１と動作モード管理手段１４３にアクセス可能である。
【０１６１】
本実施形態の光ディスク装置の動作のうち、実施形態５と同様の部分については説明を省略する。外部メモリ１０７に記録されたソフトウェアは、光ディスク装置において、各動作モード時の制御を実現する複数のモジュールで構成されている（以下、個々のモジュールを「動作モードモジュール」という）。外部メモリ１０７には以下の４つの動作モジュールが記録されているものとする。まず、アクティブ状態の制御を実現するモジュール（以下、「アクティブモジュール」という）である。次に、スリープ状態の制御を実現するモジュール（以下、「スリープモジュール」という）である。次に、スタンバイ状態の制御を実現するモジュール（以下、「スタンバイモジュール」という）である。最後に、アイドル状態の制御を実現するモジュール（以下、「アイドルモジュール」という）である。
【０１６２】
図２２は、外部メモリ１０７に記録されたアクティブモジュール、スリープモジュール、スタンバイモジュール、アイドルモジュールのうち、システム制御マイコン１０５に指定された動作モードモジュールを、ＲＡＭ１０３に記録する手順を表す。尚、ＲＡＭ１０３には予め１つ以上のモジュールが記録されていることとする。
【０１６３】
これより、図２２を参照し、動作モード管理手段１４３により管理されている動作モードの変化により、システム制御マイコン１０５が指定するモジュールをＲＡＭ１０３に組み込む方法を説明する。
【０１６４】
ステップ１９０１では、システム制御マイコン１０５が通信手段１１０を経由してＣＰＵ１０２にインタプリタ実行命令を発行すると、ＣＰＵ１０２は、ＲＯＭ１０４に記録されているインタプリタ実行プログラムを実行する。そして、ＣＰＵ１０２は、ＲＡＭ１０３に記録されている動作モードモジュールのうち、システム制御マイコン１０５に指定された動作モードモジュールを解釈し、実行する。ＣＰＵ１０２がシステム制御マイコン１０５に指定された動作モードモジュールを実行している間、動作モード管理手段１４３は、通信手段１１０を経由して、システム制御マイコン１０５に対して動作モードが変化したかどうか常に監視する。
【０１６５】
次に、ステップ１９０２では、動作モード管理手段１４３は、動作モードが変化したと判断すると、通信手段１１０を経由して処理が終了したことをシステム制御マイコン１０５に通知する。
【０１６６】
次に、ステップ１９０３では、システム制御マイコン１０５は、実施形態１、実施形態２、または、実施形態３記載のモジュール組み込み手順を用いて、外部メモリ１０７に記録されている動作モードモジュールのうち、システム制御マイコン１０５に指定された動作モードモジュールを、通信手段１１０を経由して、ＲＡＭ１０３に組み込む。
【０１６７】
以上のような光ディスク装置によれば、動作モードの制御を実現させるソフトウェアを、動作モードに応じたモジュール単位でＲＡＭ１０３に記録することができるため、全動作モードモジュールをＲＡＭに記録していた従来の装置に比べると、ＲＡＭ１０３の使用容量を抑えることができる。さらに、外部メモリ１０７に記録された光ディスクの制御に必要なソフトウェアの全てをＲＡＭ１０３に記録する必要がないため、ソフトウェアのサイズがＲＡＭ１０３におけるソフトウェア用の領域サイズを超えてはならないという制限を設けることなく光ディスク装置の開発を推進できる。さらに、スリープモード時に、ＲＡＭ１０３に記録されているモジュールをリフレッシュする必要があるが、本実施形態のように動作状態毎にモジュールをＲＡＭ１０３に組み込むことにより、スリープモード時におけるメモリのリフレッシュを、スリープモジュールについてのみ行えばよいので、低消費電力につながる。
【０１６８】
（実施の形態８）
以下、本発明の第８の実施形態について図面を参照しながら説明する。本実施形態のＬＳＩ及び装置の構成は、実施の形態２と同様に図６で示されるが、ＲＯＭ１０４に内蔵されるプログラムの具体的な動作が、実施の形態２とは若干異なっている。本実施の形態では、ＬＳＩ内蔵のＣＰＵだけで不要モジュールをＬＳＩから消去する手順について説明する。
【０１６９】
本実施の形態のＬＳＩ及び装置の動作のうち、実施の形態２と同様の部分については、説明を省略する。図２３、図２４、図２５は、外部メモリ１０７に記録されたソフトウェアのモジュールの構成、及び、ＲＡＭ１０３のモジュールの記録状態を表し、６０１から６０６まではモジュールである。尚、図２３、図２４、図２５において、図６と同じ参照符号を付したものに関しては、説明を省略する。図２６、図２７、図２８は、外部メモリ１０７に記録されたソフトウェアのモジュールのうち、任意のモジュールをＲＡＭ１０３から消去する手順を表す。図２９は外部メモリ１０７に記録されたソフトウェアモジュールのうち、任意のモジュールをＲＡＭ１０３から消去するときのエントリーテーブル１０９の遷移を表す。具体的には、図２３、図２４、図２５、図２９については、ＲＡＭ１０３にモジュール６０１、モジュール６０２、モジュール６０３、モジュール６０４が組み込まれている状態から、モジュール６０２を消去する場合の遷移について記載している。図２９に示すエントリーの構成は、実施の形態２における図１０と同様であるので、説明を省略する。
【０１７０】
これより、ＲＡＭ１０３に組み込まれていたが不要になったソフトウェアモジュール６０２を、ＲＡＭ１０３から消去する手順の一具体例について、図２３〜図２９を用いて説明する。ここでは、最初ＲＡＭ１０３におけるモジュールの記録状態が図２３、エントリーテーブル１０９の内容が図２９（ａ）であるものとする。システム制御マイコン１０５がＬＳＩ１０１に不要モジュール消去命令（消去対象はモジュール６０２）を発行すると、ＣＰＵ１０２は図２３で示したフローの処理を行うので、その流れを次に説明する。
【０１７１】
まず、ステップ２７０１では、不要モジュール名を取得する。ここでは、モジュール６０２という情報を取得する。
【０１７２】
次のステップ２７０２で、エントリーテーブルの最初のエントリーを処理対象のエントリーにする。ここでは、エントリーテーブル１０９の最初の状態が図２９（ａ）であることから、登録ＮＯ．１（モジュール６０１）が処理対象のエントリーになる。
【０１７３】
次のステップ２７０３で、処理対象のエントリーが不要モジュールかどうかを判定する。ここでは、登録ＮＯ．１のモジュール６０１は不要モジュールではないので、ＮＯの方へ進む。
【０１７４】
次のステップ２７０５で、対象エントリーを次のエントリーに更新する。ここでは、登録ＮＯ．１の次のエントリーなので登録ＮＯ．２のエントリー（モジュール６０２）に更新する。
【０１７５】
次のステップ２７０６で、エントリーテーブルの最後のエントリーを処理したかどうかを判定する。ここでは、未だ登録ＮＯ．１しか処理していないので、ＮＯの方へ進む。
【０１７６】
次のステップ２７０３で、処理対象のエントリーが不要モジュールかどうかを判定する。ここでは、登録ＮＯ．２のモジュール６０２は不要モジュールなので、ＹＥＳの方へ進む。
【０１７７】
次のステップ２７０４で、対象エントリーをエントリーテーブル１０９から消去する。ここで、登録ＮＯ．２のエントリーは消去される。その時点で、エントリーテーブル１０９は図２９（ｂ）のようになる。本実施の形態の説明においては、エントリーが消去された場合には、直ちに以降のエントリーが前に詰められるものとするが、例えば各エントリーにフラグ情報を持たせるなど、該当するエントリーが消去されたことが把握できるようにすれば、直ちにエントリーを前に詰めなくても差し支えない。
【０１７８】
次のステップ２７０５で、対象エントリーを次のエントリーに更新する。ここでは、登録ＮＯ．２の次のエントリーであるが、最初の登録ＮＯ．２のエントリーが消去されて、エントリーテーブル１０９が図２９（ｂ）の状態になっているので、次のエントリーは登録ＮＯ．２（モジュール６０３）になる。
【０１７９】
次のステップ２７０６で、エントリーテーブルの最後のエントリーを処理したかどうかを判定する。ここでは、未だ登録ＮＯ．１と（図２９（ａ）の時点における）登録ＮＯ．２しか処理していないので、ＮＯの方へ進む。
【０１８０】
次のステップ２７０３で、処理対象のエントリーが不要モジュールかどうかを判定する。ここでは、（図２９（ｂ）の時点における）登録ＮＯ．２のモジュール６０３は不要モジュールではないので、ＮＯの方へ進む。
【０１８１】
次のステップ２７０５で、対象エントリーを次のエントリーに更新する。ここでは、登録ＮＯ．２の次のエントリーなので登録ＮＯ．３のエントリー（モジュール６０４）に更新する。
【０１８２】
次のステップ２７０６で、エントリーテーブルの最後のエントリーを処理したかどうかを判定する。ここでは、未だ（図２９（ｂ）の時点における）登録ＮＯ．２しか処理していないので、ＮＯの方へ進む。
【０１８３】
次のステップ２７０３で、処理対象のエントリーが不要モジュールかどうかを判定する。ここでは、（図２９（ｂ）の時点における）登録ＮＯ．３のモジュール６０４は不要モジュールではないので、ＮＯの方へ進む。
【０１８４】
次のステップ２７０５で、対象エントリーを次のエントリーに更新する。ここで、登録ＮＯ．３の次のエントリーは存在しないので、対象エントリーを不在に更新する。具体的には存在しない登録ＮＯ．にするなどであるが、例えば、次の登録ＮＯ．４（存在しないエントリー）に更新する、または、不在を表す登録ＮＯ．を予め決めておき、その値に更新するなどを行う。
【０１８５】
次のステップ２７０６で、エントリーテーブルの最後のエントリーを処理したかどうかを判定する。ここでは、（図２９（ｂ）の時点における）登録ＮＯ．３という最後のエントリーを処理したので、ＹＥＳの方へ進み、図２６の処理フローを終了する。
【０１８６】
以上の処理を行うことにより、ＲＡＭ１０３から必要に応じて不要なモジュールを消去することができる。また、前述の他の実施形態で示したように必要なモジュールを（後で）組み込むこともできる。これらによって、ＬＳＩの動作中にでも、その時点で必要なモジュールを取捨選択することにより、ＬＳＩで動作させるプログラムの総容量にくらべてＲＡＭ１０３のメモリ使用容量を削減することができる。
【０１８７】
さらに、不要なモジュールを消去した際に、ＲＡＭ１０３中に不連続な空き領域が発生してメモリ利用効率が下がるのを防ぐために、現在組み込まれているモジュール群をメモリ上で再配置するようにしてもよい。以降、その際の処理手順の具体例について、図２７を用いて説明する。
【０１８８】
図２７は図２６と同様に、外部メモリ１０７に記録されたソフトウェアのモジュールのうち、任意のモジュールをＲＡＭ１０３から消去する手順を表しているが、図２６に対してステップ２７０４１を加えている。他のステップは図２６と同じであるため、詳しい説明は省略する。ステップ２７０４１は、対象エントリーをエントリーテーブルから消去するステップ２７０４の続きに実行され、その処理内容は、消去エントリーの次以降のエントリーに登録されたモジュール全てを、消去モジュールのサイズだけ移動することである。この処理を行うと、モジュール６０２の消去後に図２４のようにモジュール格納領域が分断されていたＲＡＭ１０３のメモリ領域は、図２５のようにモジュール格納領域が連続するようになり、以降、新しいモジュールを追加する時などに、ＲＡＭ１０３を効率的に使用できるようになる。
【０１８９】
図２８は、図２７のステップ２７０４１の処理を実現する処理フローの一例である。ステップ２９０１では、消去したモジュールの次のモジュールエントリーを移動モジュールエントリーとする。これまでの例で説明すると、図２９（ｂ）の登録ＮＯ．２のエントリーになる。
【０１９０】
次のステップ２９０２で、移動モジュールエントリーのモジュール組み込み位置を消去したモジュールのサイズだけ移動する。今の場合、消去したモジュール６０２のサイズは２００キロバイトなので、登録ＮＯ．２のエントリーの先頭アドレスの欄を３００（キロバイト）から２００（キロバイト）だけ減らして１００（キロバイト）に更新する。ここで、通常は今の例のようにメモリアドレスの小さい方へ移動するが、メモリアドレスの大きい方から順にモジュールを格納するようなメモリマップの場合には、メモリアドレスの大きい方に移動するとよい。
【０１９１】
次のステップ２９０３で、移動モジュールエントリーを（先ほど移動処理したモジュールの）次のエントリー、つまり、登録ＮＯ．３に更新する。
【０１９２】
次のステップ２９０４で、移動モジュールエントリーとして最後のエントリーを処理したかどうか判断する。もし、ＹＥＳ、つまり最後のエントリーの処理までが終了している場合は、図２８の処理フローを終了する。また、ＮＯ、つまり未だ最後のエントリーまで処理が終了していない場合は、ステップ２９０２に戻る。今の場合、未だ登録ＮＯ．３を処理していないので、ステップ２９０２に戻る。
【０１９３】
このように、以後、移動モジュールエントリーとして最後のエントリーを処理するまでステップ２９０２からステップ２９０４を繰り返す。以上で説明した処理フローで、図２７のステップ２７０４１の処理を実現することができる。この処理フローを行うことによって、エントリーテーブル１０９は、図２９（ｂ）から図２９（ｃ）のようになる。図２９（ｂ）の状態で存在していたアドレス１００から３００までの断片化した空き領域が、図２９（ｃ）ではなくなっており、以降、新しいモジュールを追加する時などに、ＲＡＭ１０３を効率的に使用できるようになることがわかる。
【０１９４】
【発明の効果】
以上のように本発明によれば、外部メモリに記録されたソフトウェアを部分的にＲＡＭに組み込むことにより、ＲＡＭの使用容量を小さく抑えたＣＰＵ内蔵型ＬＳＩを提供すると共に、これを用いることにより、ＲＡＭの記録容量に制約を受けることなく光ディスク装置を開発・提供することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における装置の構成を示す概念図
【図２】本発明の第１の実施形態におけるソフトウェアのモジュール構成を示す概念図
【図３】本発明の第１の実施形態におけるソフトウェアのモジュール構成を示す概念図
【図４】本発明の第１の実施形態におけるソフトウェアをメモリに組み込む処理のフローチャート
【図５】本発明の第１の実施形態におけるソフトウェアをメモリに組み込むときのテーブル遷移
【図６】本発明の第２の実施形態における装置の構成を示す概念図
【図７】本発明の第２の実施形態におけるソフトウェアのモジュール構成を示す概念図
【図８】本発明の第２の実施形態におけるソフトウェアのモジュール構成を示す概念図
【図９】本発明の第２の実施形態におけるソフトウェアをメモリに組み込む処理のフローチャート
【図１０】本発明の第２実施形態におけるソフトウェアをメモリに組み込むときのテーブル遷移
【図１１】本発明の第３の実施形態における装置の構成を示す概念図
【図１２】本発明の第３の実施形態におけるソフトウェアのモジュール構成を示す概念図
【図１３】本発明の第３の実施形態におけるソフトウェアのモジュール構成を示す概念図
【図１４】本発明の第３の実施形態におけるソフトウェアをメモリに組み込む処理のフローチャート
【図１５】本発明の第３の実施形態におけるソフトウェアをメモリに組み込むときのテーブル遷移
【図１６】本発明の第４の実施形態における装置の構成を示す概念図
【図１７】本発明の第５の実施形態における装置の構成を示す概念図
【図１８】本発明の第５の実施形態におけるソフトウェアをメモリに組み込む処理のフローチャート
【図１９】本発明の第６の実施形態における装置の構成を示す概念図
【図２０】本発明の第６の実施形態においてソフトウェアをメモリに組み込む処理のフローチャート
【図２１】本発明の第７の実施形態における装置の構成を示す概念図
【図２２】本発明の第７の実施形態においてソフトウェアをメモリに組み込む処理のフローチャート
【図２３】本発明の第８の実施形態における装置のモジュール構成を示す概念図
【図２４】本発明の第８の実施形態における装置のモジュール構成を示す概念図
【図２５】本発明の第８の実施形態における装置のモジュール構成を示す概念図
【図２６】本発明の第８の実施形態において不要なソフトウェアをメモリから消去する処理のフローチャート
【図２７】本発明の第８の実施形態において不要なソフトウェアをメモリから消去する処理のフローチャート
【図２８】本発明の第８の実施形態において不要なソフトウェアをメモリから消去する処理のフローチャート
【図２９】本発明の第８の実施形態において不要なソフトウェアをメモリから消去するときのテーブル遷移
【図３０】従来の光ディスク装置の構成を示す概念図
【符号の説明】
１００    装置
１０１    ＬＳＩ
１０２    ＣＰＵ
１０３    ＲＡＭ
１０４    ＲＯＭ
１０５    システム制御マイコン
１０６    インタプリタ実行プログラム
１０７    外部メモリ
１０８    ソフトウェア
１０９    エントリーテーブル
１１０    通信手段
１１１    光ディスク制御手段
１１２    記録再生ヘッド
１１３    モータ
１１４    光ディスク
１２０    エントリー登録プログラム
１２１    組み込み位置調査プログラム
１２２    エントリー消去プログラム
１２３    モジュール圧縮プログラム
１２４    モジュール伸長プログラム
１３０    実行モジュールエントリーテーブル
１３１    圧縮モジュールエントリーテーブル
１４０    モジュール組み込み手段
１４１    メディア判別手段
１４２    処理終了判断手段
１４３    動作モード管理手段
１０００    光ディスク装置
【図１】
2004272393.tif 000003
【図２】
2004272393.tif 000004
【図３】
2004272393.tif 000005
【図４】
2004272393.tif 000006
【図５】
2004272393.tif 000007
【図６】
2004272393.tif 000008
【図７】
2004272393.tif 000009
【図８】
2004272393.tif 000010
【図９】
2004272393.tif 000011
【図１０】
2004272393.tif 000012
【図１１】
2004272393.tif 000013
【図１２】
2004272393.tif 000014
【図１３】
2004272393.tif 000015
【図１４】
2004272393.tif 000016
【図１５】
2004272393.tif 000017
【図１６】
2004272393.tif 000018
【図１７】
2004272393.tif 000019
【図１８】
2004272393.tif 000020
【図１９】
2004272393.tif 000021
【図２０】
2004272393.tif 000022
【図２１】
2004272393.tif 000023
【図２２】
2004272393.tif 000024
【図２３】
2004272393.tif 000025
【図２４】
2004272393.tif 000026
【図２５】
2004272393.tif 000027
【図２６】
2004272393.tif 000028
【図２７】
2004272393.tif 000029
【図２８】
2004272393.tif 000030
【図２９】
2004272393.tif 000031
【図３０】
2004272393.tif 000032