(57)【要約】【課題】複雑化していくプログラムに対して、ひとつの型のプログラムで効率のよい動作が可能な起動制御装置を提供する。【解決手段】機能拡張が可能な各種機器に適用される起動制御装置であって、搭載するメモリサイズによって、プログラム実行をＲＯＭ２、１０で行うかＲＡＭ３、１１に展開して行うかを選択する制御手段１を備えた。【選択図】        図１
2004265261.tif 000002
【特許請求の範囲】
【請求項１】
機能拡張が可能な各種機器に適用される起動制御装置であって、搭載するメモリサイズによって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択する制御手段を備えたことを特徴とする起動制御装置。
【請求項２】
請求項１において、制御手段は、外部オプション構成によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することを特徴とする起動制御装置。
【請求項３】
請求項１において、制御手段は、内部ファイル構成もしくは内部システム構成によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することを特徴とする起動制御装置。
【請求項４】
請求項１において、制御手段は、任意のモード指定によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することを特徴とする起動制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機能拡張が可能な各種機器（例えばプリンタ機能とコピー機能を併せ持つデジタル複合機）に適用される起動制御装置に関する。
【０００２】
【従来の技術】
機能拡張が可能な各種機器に適用される起動制御装置に関連して、例えば、特許文献１には、キャッシュメモリ内にプログラムコードの複製を作成するためハードウエアが複雑になるという課題を解決することを目的として、関数コード毎に高速メモリ４内に複製を作成し、関数コードの呼出時、高速メモリ内に複製が存在するかどうかをデコーダを含むＣＰＵがチェックし、また、既に関数コードが格納されたブロックを解放し、そこに新たな関数コードの複製を作成する技術が開示されている。
【特許文献１】特開２０００−３４７９３６号公報
【０００３】
【発明が解決しようとする課題】
上記従来技術は、通常用と高速用のメモリを２種類搭載して、プログラム実行の効率化を図っている。しかし、どのプログラムのモジュールを高速用メモリに載せるか、プログラムによって人為的に判断して作成しなければならなく、プログラムが大きくなるほど複雑となる。
近年、省スペース化、複機能化が進み、前述のデジタル複合機が普及しつつある。一概に、デジタル複合機といってもいろいろなバリエーションがあり、単機能から複数機能へのビルドアップ型や複高機能化、複基本機能化等対応する組み込みのプログラムも複雑化している。
本発明は、このように複雑化していくプログラムに対して、ひとつの型のプログラムで効率のよい動作が可能な起動制御装置を提供することを目的とするものである。
【０００４】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の発明は、機能拡張が可能な各種機器に適用される起動制御装置であって、搭載するメモリサイズによって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択する制御手段を備えた起動制御装置を最も主要な特徴とする。
請求項２記載の発明は、請求項１において、制御手段は、外部オプション構成によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択する起動制御装置を主要な特徴とする。
請求項３記載の発明は、請求項１において、制御手段は、内部ファイル構成もしくは内部システム構成によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択する起動制御装置を主要な特徴とする。
請求項４記載の発明は、請求項１において、制御手段は、任意のモード指定によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択する起動制御装置を主要な特徴とする。
【０００５】
【発明の実施の形態】
以下に本発明の一実施形態について、図を参照しながら説明する。
図１は本発明の実施形態に係るデジタル複合機の機能ブロック図である。本デジタル複合機は、プログラムを実行し、制御手段としてのＣＰＵ（中央演算装置）１、プログラムを格納しているＲＯＭ（読み込み専用メモリ）２、プログラムおよびデータを扱うＲＡＭ（読み書き可能メモリ）３、このシステムを外部から操作する操作部４、読み取りを行うスキャナ部５、印刷を行うプロッタ部６、機能を拡張するために追加できるオプションユニット７、このシステム全体のハードウェアを制御するＡＳＩＣユニット８、内部のモード設定を行うＳＷユニット９を持つ。
この構成は、フル装備した場合のもので、基本機能のみの場合、オプションユニット７は装着されないし、プリンタ単体機能の場合、スキャナ部５は装備されないし、スキャナ単体機能の場合、プロッタ部６は装備されない。オプションユニット７には、機能を拡張するために追加するＲＯＭ１０もしくはＲＡＭ１１、またはその両方が搭載されている。
ＲＯＭ２には、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ、ＳＤカードなどいろいろなメディアが現在対応している。一般に、ＲＯＭ２上でプログラムを実行するより、ＲＡＭ３上でプログラムを実行する方が、アクセス速度が速いため、ＲＯＭ２に格納しているプログラムをＲＡＭ３へ展開して実行した方がいい。しかし、単純にプログラムをＲＡＭ３に展開すると、ＲＡＭ３の容量が減ってしまい、プログラムのデータ領域が足りなくなる等の問題も起きてしまう。
【０００６】
本発明では、まず、ＣＰＵ１がこのシステムのＲＡＭ３の容量を確認し、ＲＯＭ２に格納しているプログラムをＲＡＭ３に展開できるかどうかを判断する。可能であれば、ＲＯＭ２に格納しているプログラムをＲＡＭ３に展開して実行する。
次に、単体機能から外部オプション構成を備え複数機能になった場合（プリンタ単体機能構成からスキャナ部５を追加する、または、スキャナ単体機能構成からプロッタ部６を追加する）、ＲＡＭ３のデータ管理領域が変化することがある。そのため、ＣＰＵ１はこのシステムのＲＡＭ３の容量を確認するだけでなく、装着されている装置も確認し、ＲＯＭ２に格納しているプログラムをＲＡＭ３に展開できるかどうかを判断させる。可能であれば、ＲＯＭ２に格納しているプログラムをＲＡＭ３に展開して実行する。
また、オプションユニット７が装備された場合には、オプションユニット７内にＲＯＭ１０やＲＡＭ１１が搭載されていることがあるため、この場合のシステムのＲＡＭの容量は、ＲＡＭ２とオプションユニット７内のＲＡＭ１１の総数で計算する。また、ＲＡＭに展開するプログラムもＲＯＭ２とオプションユニット７内のＲＯＭ１０を考慮しないといけない。
したがって、ＣＰＵ１はそれらのＲＡＭ（ＲＡＭ３、オプションユニット７内のＲＡＭ１１）の容量を確認し、ＲＯＭ（ＲＯＭ２、オプションユニット７内のＲＯＭ１０）に格納しているプログラムをＲＡＭに展開できるかどうかを判断する。このようにオプションユニット７の装備によりＲＡＭ、ＲＯＭ等の内部ファイル構成や内部システム構成に応じ、ＲＯＭに格納しているプログラムをＲＡＭに展開可能であれば実行する。
【０００７】
もし、ＲＯＭに格納しているプログラムをＲＡＭに展開して実行することが可能な場合でも、ＲＡＭに展開しない方がよいときもある。プログラムをＲＡＭに展開して実行する目的は速度アップである。この場合、ＲＡＭの容量が減ってしまう。
したがって、速度よりデータをより多く確保したいプログラムの場合、プログラムをＲＡＭに展開しない方がよい。この場合、速度優先でなく容量優先を選択できるように、ＡＳＩＣユニット８のモード指定手段であるＳＷユニット９で設定することができる。これにより、任意のモード指定を行い、ＲＯＭに格納されているプログラムをＲＡＭに展開しないという選択でＲＯＭ上でプログラムが実行される。
ＲＯＭに格納されているプログラム全てをＲＡＭに展開して実行する必要はない。特に全体の速度に影響の大きい部分のプログラムのみＲＡＭに展開して実行すれば、速度とＲＡＭ容量確保のバランスを取ることができる。
【０００８】
図２はＲＯＭに格納させているプログラムのファイルシステム構成例を示す図である。ここでは、ディレクトリ方式を採った組み込みのファイルシステムになっている。このファイルシステムのｒａｍ（１）２１とｒａｍ（２）２２は、ＲＡＭに展開して実行するファイル群が集められている。これにより、ＲＡＭの展開できる容量によって、ｒａｍ（１）２１のみに展開、あるいはｒａｍ（１）２１とｒａｍ（２）の両方に展開といった対応が容易に取れる。
また、ＡＳＩＣユニット８のＳＷユニット９の設定の定義をＲＡＭに展開しないというのだけでなく、ＲＡＭに展開できる容量を半分にするとか、１／３にするとかなどの定義も設定すると、ＲＡＭのより効果的な活用ができる。このように、同一のプログラムで、いろいろな型の構成に対応することができる。
【０００９】
図３は本発明の制御例を示すフローチャートである。まず、起動時にこのシステムのＲＡＭ（ＲＡＭ３、オプションユニット７内のＲＡＭ１１）の容量を確認する。ここでは、ＲＡＭに展開するプログラムの容量も確認する（Ｓ１）。それぞれのメモリ容量を確認したら、ＲＡＭに展開してプログラムを実行することができるかを判定する（Ｓ２）。
可能であれば（Ｓ２で“はい”）、そのままＲＡＭへの展開と実行を行う（Ｓ７）。実行不可であれば（Ｓ２で“いいえ”）、オプションユニット７の装着状態をチェックする（Ｓ３）。オプションユニット７があり、ＲＡＭ１１を搭載しているかをチェックする（Ｓ４）。未搭載もしくはオプションユニット無しの場合（Ｓ４で“いいえ”）、ＲＡＭへの展開は行わず終了する。このまま、ＲＯＭ２上でのプログラム実行となる。
一方、ＲＡＭ１１を搭載していれば（Ｓ４で“はい”）、オプションユニット７内のＲＡＭ１１の容量を確認する（Ｓ５）。ＲＡＭのメモリ総容量を確認し、ＲＡＭに展開してプログラムを実行することができるかを判定する（Ｓ６）。可能であれば（Ｓ６で“はい”）、プログラムをＲＡＭへ展開し実行する（Ｓ７）。実行不可であれば（Ｓ６で“いいえ”）、ＲＡＭへの展開は行わず終了する。これもまた、ＲＯＭ２上でのプログラム実行となる。
【００１０】
【発明の効果】
請求項１記載の発明によれば、搭載するメモリサイズによって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することで、効率的にプログラムを実行することができる。
請求項２記載の発明によれば、外部オプション構成によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することで、効率的にプログラムを実行することができる。
請求項３記載の発明によれば、内部ファイル構成もしくは内部システム構成によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することで、効率的にプログラムを実行することができる。
請求項４記載の発明によれば、任意のモード指定手段によって、プログラム実行をＲＯＭで行うかＲＡＭに展開して行うかを選択することで、効率的にプログラムを実行することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るデジタル複合機の機能ブロック図である。
【図２】ＲＯＭに格納させているプログラムのファイルシステム構成例を示す図である。
【図３】本発明の制御例を示すフローチャートである。
【符号の説明】
１  ＣＰＵ（制御手段）、２  ＲＯＭ、３  ＲＡＭ、７  オプションユニット、１０  オプションのＲＯＭ、１１  オプションのＲＡＭ
【図１】
2004265261.tif 000003
【図２】
2004265261.tif 000004
【図３】
2004265261.tif 000005