(57)【要約】【課題】  ハードディスクやＳＤカードなどの外部記憶をブートデバイスに用いた場合でも、システムが高速に起動する方式の電子機器を提供する。【解決手段】  ブートプログラムを含む全てまたは一部のプログラムを圧縮して不揮発性メモリ１０３に格納し、電源投入時にハードウェアにより圧縮されたプログラムを伸長しながらＲＡＭ１０４に展開するＣＰＵ１０１を備えた電子機器。【選択図】  図１
2006072989.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムを含む全てまたは一部のプログラムを圧縮して不揮発性メモリに格納し、電源投入時にハードウェアにより圧縮されたプログラムを伸長しながらメインメモリに展開するメイン制御手段を備えたことを特徴とする電子機器。
【請求項２】
請求項１記載の電子機器において、前記不揮発性メモリの特定領域に格納された圧縮有無、圧縮方式を含む管理情報に基づき、前記プログラムの伸長方式を選択することを特徴とする電子機器。
【請求項３】
請求項１記載の電子機器において、プリント基板の配線情報に基づき、前記プログラムの伸長方式を選択することを特徴とする電子機器。
【請求項４】
請求項１記載の電子機器において、前記不揮発性メモリに格納されたプログラムが非圧縮である場合は、伸長処理を行うことなく前記メインメモリに転送することを特徴とする電子機器。
【請求項５】
請求項１記載の電子機器において、前記不揮発性メモリに格納する管理情報には、転送すべきプログラムの先頭アドレス及びプログラム容量が含まれることを特徴とする電子機器。
【請求項６】
請求項１記載の電子機器において、起動時にプログラムを伸長する伸長手段を備え、該伸長手段はシステム起動後には別の用途として使用可能であることを特徴とする電子機器。
【請求項７】
請求項１記載の電子機器において、前記不揮発性メモリがハードディスク装置であることを特徴とする電子機器。
【請求項８】
請求項１記載の電子機器において、前記不揮発性メモリが外部記憶装置であることを特徴とする電子機器。
【請求項９】
請求項１記載の電子機器において、プログラムを複数のブロックに分割して前記不揮発性メモリに格納し、特定のブロックの転送が終了した時点で一旦転送を中断して、前記メイン制御手段を起動し、次に、残りのブロックの転送を行うことを特徴とする電子機器。
【請求項１０】
圧縮または非圧縮の本体プログラムを格納した第１の不揮発性メモリと、ハードウェアに内蔵され、少なくともシステムの初期化と前記第１の不揮発性メモリに格納された前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムを格納した第２の不揮発性メモリと、電源投入時、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えたことを特徴とする電子機器。
【請求項１１】
圧縮または非圧縮の本体プログラムを格納した第１の不揮発性メモリと、ハードウェアの外部に設けられ、少なくともシステムの初期化と前記第１の不揮発性メモリに格納された前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムを格納した第２の不揮発性メモリと、電源投入時、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えたことを特徴とする電子機器。
【請求項１２】
圧縮または非圧縮の本体プログラムと、少なくともシステムの初期化と前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムとを格納した第１の不揮発性メモリと、ハードウェアに内蔵された第２の不揮発性メモリと、電源投入時、ハードウェアにより前記第１の不揮発性メモリに格納されたブートプログラムを前記第２の不揮発性メモリに転送し、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えたことを特徴とする電子機器。
【請求項１３】
圧縮または非圧縮の本体プログラムと、少なくともシステムの初期化と前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムとを格納した第１の不揮発性メモリと、ハードウェアの外部に設けられた第２の不揮発性メモリと、電源投入時、ハードウェアにより前記第１の不揮発性メモリに格納されたブートプログラムを前記第２の不揮発性メモリに転送し、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えたことを特徴とする電子機器。
【請求項１４】
請求項１２又は請求項１３項に記載の電子機器において、前記メイン制御手段は、前記第１の不揮発性メモリの特定領域に格納された圧縮有無、圧縮方式を含む管理情報に基づき前記本体プログラムの伸長方式を選択することを特徴とする電子機器。
【請求項１５】
請求項１４に記載の電子機器において、前記メイン制御手段は、前記プリント基板の配線情報に基づき前記本体プログラムの伸長方式を選択することを特徴とする電子機器。
【請求項１６】
請求項１０乃至請求項１５の何れか１項に記載の電子機器において、前記第１の不揮発性メモリに格納された前記本体プログラムが非圧縮である場合は、伸長処理を行うことなく前記メインメモリに転送することを特徴とする電子機器。
【請求項１７】
請求項１２又は請求項１３に記載の電子機器において、前記第１の不揮発性メモリに格納する管理情報には、転送すべきプログラムの先頭アドレス及びプログラム容量が含まれることを特徴とする電子機器。
【請求項１８】
請求項１０乃至請求項１３の何れか１項に記載の電子機器において、起動時にプログラムを伸長する伸長手段を備え、該伸長手段はシステム起動後には別の用途として使用可能であることを特徴とする電子機器。
【請求項１９】
請求項１２又は請求項１３に記載の電子機器において、前記第１の不揮発性メモリがハードディスク装置であることを特徴とする電子機器。
【請求項２０】
請求項１２又は請求項１３に記載の電子機器において、前記第１の不揮発性メモリが外部記憶装置であることを特徴とする電子機器。
【請求項２１】
請求項１２又は請求項１３に記載の電子機器において、前記本体プログラムを複数のブロックに分割して前記第１の不揮発性メモリに格納し、特定のブロックの転送が終了した時点で一旦転送を中断して、前記メイン制御手段を起動し、次に、残りのブロックの転送を行うことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、コピー機、複合機を含む電子機器に関する。
【背景技術】
【０００２】
近年、機能増加に伴い電子機器のプログラム容量が増大し、ＲＯＭのコストアップに繋がっている。その対策として、比較的高価であるＲＯＭにはブートプログラムと共に圧縮された本体プログラムを格納し、システム起動時にＣＰＵ処理で伸長しながら、比較的安価なＲＡＭに転送し、プログラムを実行する方式が一般的である。
特許文献１では、ＣＰＵがＲＯＭ上に非圧縮で格納されたブートプログラムにより起動し、その後ハードウェア処理とＣＰＵ処理を並行に行いプログラムの伸長、ＲＡＭ展開の速度アップにつなげている。また特許文献２では、プログラムの伸長・転送終了前にジョブ入力を受け付けるだけのプログラムを起動しておき、ジョブ入力があった場合、その内容をＲＡＭ上に一旦保存し、プログラムの伸長・転送が終了した後、改めて処理するようにしている。特許文献３では、キャッシュを利用することによりハードディスク（ＨＤＤ）をブートデバイスとして使う技術を提案している。
【特許文献１】特開２００２−３６６３６２公報
【特許文献２】特開２００２−２９７３９１公報
【特許文献３】特開平９−１１４６７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した特許文献３に示されるように、プログラムの増大とＲＯＭのコストアップへの対策として、ハードディスクなどの外部記憶装置に各種メモリを集約し低コスト化を図ろうとする動きがある。
しかし、低速の外部記憶装置では低コスト化には貢献するが、システム起動時間の増大など機能面の低下が懸念される。特に、ハードディスクやＳＤカードは、ホストとの転送がセクタ単位（通常５１２バイト）で行われるため、ブートプログラムをハードディスクやＳＤカード上で実行しようとした場合、頻繁にバスサイクルが発生するため、ＲＯＭ上で実行される場合と比較して大幅に実行速度が低下する。
本発明は、上述した実情を考慮してなされたもので、ハードディスクやＳＤカードなどの外部記憶装置をブートデバイスに用いた場合でも、システムが高速に起動する方式の電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、請求項１記載の発明は、ブートプログラムを含む全てまたは一部のプログラムを圧縮して不揮発性メモリに格納し、電源投入時にハードウェアにより圧縮されたプログラムを伸長しながらメインメモリに展開するメイン制御手段を備えた電子機器を特徴とする。
請求項２記載の発明は、請求項１記載の電子機器において、前記不揮発性メモリの特定領域に格納された圧縮有無、圧縮方式を含む管理情報に基づき、前記プログラムの伸長方式を選択することを特徴とする。
請求項３記載の発明は、請求項１記載の電子機器において、プリント基板の配線情報に基づき、前記プログラムの伸長方式を選択することを特徴とする。
請求項４記載の発明は、請求項１記載の電子機器において、前記不揮発性メモリに格納されたプログラムが非圧縮である場合は、伸長処理を行うことなく前記メインメモリに転送することを特徴とする。
請求項５記載の発明は、請求項１記載の電子機器において、前記不揮発性メモリに格納する管理情報には、転送すべきプログラムの先頭アドレス及びプログラム容量が含まれることを特徴とする。
請求項６記載の発明は、請求項１記載の電子機器において、起動時にプログラムを伸長する伸長手段を備え、該伸長手段はシステム起動後には別の用途として使用可能であることを特徴とする。
請求項７記載の発明は、請求項１記載の電子機器において、前記不揮発性メモリがハードディスク装置であることを特徴とする。
請求項８記載の発明は、請求項１記載の電子機器において、前記不揮発性メモリが外部記憶装置であることを特徴とする。
請求項９記載の発明は、請求項１記載の電子機器において、プログラムを複数のブロックに分割して前記不揮発性メモリに格納し、特定のブロックの転送が終了した時点で一旦転送を中断して前記メイン制御手段を起動し、次に、残りのブロックの転送を行うことを特徴とする。
【０００５】
請求項１０記載の発明は、圧縮または非圧縮の本体プログラムを格納した第１の不揮発性メモリと、ハードウェアに内蔵され、少なくともシステムの初期化と前記第１の不揮発性メモリに格納された前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムを格納した第２の不揮発性メモリと、電源投入時、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えた電子機器を特徴とする。
請求項１１記載の発明は、圧縮または非圧縮の本体プログラムを格納した第１の不揮発性メモリと、ハードウェアの外部に設けられ、少なくともシステムの初期化と前記第１の不揮発性メモリに格納された前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムを格納した第２の不揮発性メモリと、電源投入時、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えた電子機器を特徴とする。
請求項１２記載の発明は、圧縮または非圧縮の本体プログラムと、少なくともシステムの初期化と前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムとを格納した第１の不揮発性メモリと、ハードウェアに内蔵された第２の不揮発性メモリと、電源投入時、ハードウェアにより前記第１の不揮発性メモリに格納されたブートプログラムを前記第２の不揮発性メモリに転送し、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えた電子機器を特徴とする。
【０００６】
請求項１３記載の発明は、圧縮または非圧縮の本体プログラムと、少なくともシステムの初期化と前記本体プログラムをメインメモリに展開するための処理を含んだブートプログラムとを格納した第１の不揮発性メモリと、ハードウェアの外部に設けられた第２の不揮発性メモリと、電源投入時、ハードウェアにより前記第１の不揮発性メモリに格納されたブートプログラムを前記第２の不揮発性メモリに転送し、前記第２の不揮発性メモリ上のブートプログラムによって前記本体プログラムを必要に応じて伸長しながら前記メインメモリに転送し、前記メインメモリ上の本体プログラムを起動するように制御するメイン制御手段と、を備えた電子機器を特徴とする。
請求項１４記載の発明は、請求項１２又は請求項１３項に記載の電子機器において、前記メイン制御手段は、前記第１の不揮発性メモリの特定領域に格納された圧縮有無、圧縮方式を含む管理情報に基づき前記本体プログラムの伸長方式を選択することを特徴とする。
請求項１５記載の発明は、請求項１４に記載の電子機器において、前記メイン制御手段は、前記プリント基板の配線情報に基づき前記本体プログラムの伸長方式を選択することを特徴とする。
請求項１６記載の発明は、請求項１０乃至請求項１５の何れか１項に記載の電子機器において、前記第１の不揮発性メモリに格納された前記本体プログラムが非圧縮である場合は、伸長処理を行うことなく前記メインメモリに転送することを特徴とする。
請求項１７記載の発明は、請求項１２又は請求項１３に記載の電子機器において、前記第１の不揮発性メモリに格納する管理情報には、転送すべきプログラムの先頭アドレス及びプログラム容量が含まれることを特徴とする。
請求項１８記載の発明は、請求項１０乃至請求項１３の何れか１項に記載の電子機器において、起動時にプログラムを伸長する伸長手段を備え、該伸長手段はシステム起動後には別の用途として使用可能であることを特徴とする。
請求項１９記載の発明は、請求項１２又は請求項１３に記載の電子機器において、前記第１の不揮発性メモリがハードディスク装置であることを特徴とする。
請求項２０記載の発明は、請求項１２又は請求項１３に記載の電子機器において、前記第１の不揮発性メモリが外部記憶装置であることを特徴とする。
請求項２１記載の発明は、請求項１２又は請求項１３に記載の電子機器において、前記本体プログラムを複数のブロックに分割して前記第１の不揮発性メモリに格納し、特定のブロックの転送が終了した時点で一旦転送を中断して、前記メイン制御手段を起動し、次に、残りのブロックの転送を行うことを特徴とする。
【発明の効果】
【０００７】
請求項１に記載の発明によれば、ＣＰＵの介在無くプログラムがメインメモリへ展開されるため、システムの起動時間が短縮できる。
請求項２に記載の発明によれば、プログラムに適した圧縮方式が選択できることにより不揮発性メモリの容量が削減できるため、システム起動の高速化、及び、低コスト化が図れる。
請求項３に記載の発明によれば、簡易的な方法で請求項２の効果を得ることができる。
請求項４に記載の発明によれば、不揮発性メモリが非圧縮の場合にも対応することができ、システムの自由度が高まる。
請求項５に記載の発明によれば、システム起動時に転送すべきプログラムの先頭アドレス、及び容量が指定できることにより、無駄な転送を回避することができるため、システム起動時間が短縮できる。また、不揮発性メモリにプログラムを書き込む際に、ハードウェア（ＡＳＩＣ）側の設定を意識することなく自由にプログラム量を指定することができるため、プログラム作成時の利便性が高まる。
請求項６に記載の発明によれば、起動時のプログラム伸長専用の伸長手段を持たなくても良いため、ハードウェア（ＡＳＩＣ）のゲート数削減、低コスト化を図ることができる。
請求項７に記載の発明によれば、低価格、大容量のハードディスク装置をブートデバイスとして使用することで、システムの低コスト化を図ることができる。
請求項８に記載の発明によれば、ハードディスク装置以外にも、低価格、大容量の外部記憶装置に適用することで、システムの低コスト化を図ることができる。また、取り外しが容易であるため、プログラムの修正、変更などに柔軟に対応可能となる。
請求項９に記載の発明によれば、最小限のプログラムを転送し終わった時点でメイン制御手段に処理を移すことにより、電源投入から入力受け付けまでの時間を短縮することができるため、システムの利便性が高まる。
【０００８】
請求項１０に記載の発明によれば、低速大容量のメモリである第１の不揮発性メモリに本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、低速メモリ上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。
請求項１１に記載の発明によれば、低速大容量のメモリである第１の不揮発性メモリに本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、低速メモリ上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。またハードウェアの外部に設けられた第２の不揮発性メモリにブートプログラムを格納することで、プログラムの修正／拡張に柔軟に対応できる。
請求項１２に記載の発明によれば、低速大容量のメモリである第１の不揮発性メモリに本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、低速メモリ上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。また、ブートプログラムと本体プログラムとを第１の不揮発性メモリ上で管理できるためメンテナンス性の向上を図ることができる。
請求項１３に記載の発明によれば、低速大容量のメモリである第１の不揮発性メモリに本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、低速メモリ上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。またブートプログラムと本体プログラムとを第１の不揮発性メモリ上で管理できるためメンテナンス性の向上を図ることができる。さらに第２の不揮発性メモリにブートプログラムを格納することでプログラムの修正／拡張に柔軟に対応できる。
請求項１４に記載の発明によれば、本体プログラムに適した圧縮方式が選択できることにより、第１の不揮発性メモリの容量が削減できるため、システム起動の高速化、及び低コスト化を図ることができる。
【０００９】
請求項１５に記載の発明によれば、簡易的な方法で第１の不揮発性メモリの容量が削減してシステム起動の高速化、及び低コスト化を図ることができる。
請求項１６に記載の発明によれば、第１の不揮発性メモリに格納するプログラムが非圧縮の場合にも対応することができ、システムの自由度を高めることができる。
請求項１７に記載の発明によれば、システム起動時に転送すべきプログラムの先頭アドレス、及び容量が指定できることにより、無駄な転送を回避することができるため、システム起動時間を短縮することができる。
請求項１８に記載の発明によれば、起動時のプログラム伸長専用の伸長手段を持たなくても良いため、ハードウェア（ＡＳＩＣ）のゲート数削減、低コスト化を図ることができる。
請求項１９に記載の発明によれば、低価格、大容量のハードディスク装置をブートデバイスとして使用することでシステムの低コスト化を図ることができる。
請求項２０に記載の発明によれば、ハードディスク装置以外にも、低価格、大容量の外部記憶装置に適用することで、システムの低コスト化が図れる。また取り外しが容易であるため、プログラムの修正、変更などに柔軟に対応可能となる。
請求項２１に記載の発明によれば、最小限のプログラムを転送し終わった時点でメイン制御手段に処理を移すことにより、電源投入から入力受け付けまでの時間を短縮することができるため、システムの利便性が高まる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を詳細に説明する。
［第１実施形態］
図１は本発明の電子機器のシステム構成例を示した図である。
本実施形態のシステムは、ＣＰＵ１０１と、ＣＰＵＩ／Ｆ、ＲＯＭＩ／Ｆ、ＲＡＭＩ／Ｆ、圧縮伸長器を含むＡＳＩＣ（Application Specific Integrated Circuit）１０２と、例えばＨＤＤ（ハードディスク装置）やＳＤカードに代表されるメモリカードを含む外部記憶装置などの不揮発性メモリによって構成されるＲＯＭ１０３と、メインメモリとしてのＲＡＭ１０４とを備える。
図２はデータパスを含んだＡＳＩＣの詳細ブロック図である。
ＡＳＩＣ１０２は、ＣＰＵＩ／Ｆ機能、システム起動時ＤＭＡコントローラ／セレクタ設定機能を有するシステム制御部１０５、ＲＯＭ１０３の専用領域から読み出した情報をＤＭＡコントローラから受け取り保持するパラメータ保持部１０６、ＲＯＭ１０３のバスＩ／Ｆ信号を生成するＲＯＭＩ／Ｆ１０７を備える。
またＡＳＩＣ１０２は、ＲＯＭ１０３から読み出したデータを圧縮・伸長、またはＲＡＭ側セレクタ１１２に転送するＲＯＭ側のＤＭＡコントローラ（以下、「ＤＭＡＣ」という）１０８、圧縮・伸長器１１０と圧縮・伸長器１１１のパスを、システム制御部１０５からの入力により切り替えるＲＯＭ側のセレクタ１０９、プログラムデータを圧縮方式Ａで伸長する圧縮・伸長器１１０、プログラムデータを圧縮方式Ｂで伸長する圧縮・伸長器１１１を備える。
またＡＳＩＣ１０２は、圧縮・伸長器１１０と、圧縮・伸長器１１１のパスを、システム制御部１０５からの入力により切り替えるＲＡＭ側のセレクタ１１２、プログラム転送時には送られてきたデータをＲＡＭ（メインメモリ）１０４に転送し、通常動作時はＲＡＭデータをリード／ライトするＲＡＭ側のＤＭＡＣ１１３、ＲＡＭ１０４のバスＩ／Ｆ信号を生成するＲＡＭＩ／Ｆ１１４、通常動作時、ＲＡＭ側のＤＭＡＣでありプログラム転送には使用しないＤＭＡＣ１１５を備える。
なお、図２では圧縮・伸長器は２種であるが、１種、または３種以上内蔵しても良い。本発明のようにプログラムを伸長する場合は、圧縮・伸長器の圧縮機能は不要である。
【００１１】
図３はメモリ転送の概念図である。従来の方式と比較しながら説明する。従来方式は、特許文献１の図１０に示されるように、ＲＯＭには非圧縮のブートプログラム（伸長ルーチン含む）と、圧縮された本体プログラムが格納されており、システム起動時は次のシーケンスとなる。
ＣＰＵはリセットベクタであるブートプログラムの先頭アドレスをアクセスし、ＲＯＭ上でブートプログラムを実行する。ブートプログラムによって、圧縮された本体プログラムをＲＡＭ上に伸長する。本体プログラムを起動する。
これに対して、本実施例では、図３に示されるように、ブートプログラムを含む全てのプログラムが圧縮してＲＯＭ１０３に格納されており、システム起動時は次のシーケンスとなる。
ＣＰＵ１０１がリセット状態のまま、ハードウェアであるＡＳＩＣ１０２で自動的にＲＯＭ１０３上のプログラムを伸長してＲＡＭ１０４上に転送する。プログラムの転送が終了すると、ＡＳＩＣ１０２がＣＰＵ１０１のリセットを解除する。そして、ＲＡＭ１０４上のブートプログラムによってシステムが起動する。
【００１２】
さらに詳細な動作を図５に示すシーケンスを用いて説明する。
まず、電源投入（パワーオン）後、ＡＳＩＣ１０２はＲＯＭ１０３上の管理領域をリードする。この時、ＣＰＵ１０１はリセット状態である。管理領域については後述する。次に、読み込んだ管理領域の情報をＡＳＩＣ内部のパラメータ保持部１０６に保持する。システム制御部１０５はパラメータ保持部１０６の情報に従って、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットする。パラメータ保持部１０６の情報と、セレクタ１０９、１１２やＤＭＡＣ１０８、１１３、１１５の設定の対応はハードウェアで固定的に決まっている。セレクタ１０９、１１２の切り替えとは、伸長回路の選択、または伸長回路のバイパスを決定することである。ＤＭＡＣ１０８、１１３、１１５のパラメータ設定とは、ＤＭＡＣ１０８、１１３、１１５の転送元／転送先開始アドレス、転送容量、起動指示を指す。
ＲＯＭ１０３側のＤＭＡＣ１０８、１１５はＲＯＭ１０３からプログラムを読み込み圧縮・伸長器（ここでは伸長器）Ａ１１０、Ｂ１１１にデータを送り（またはバイパスし）、ＲＡＭ１０４側のＤＭＡＣ１１３は受け取ったデータをＲＡＭ１０４に書き込む。
全転送が終了した時点で、システム制御部１０５はＣＰＵ１０１に対してリセットを解除する。次に、ＣＰＵ１０１はＲＡＭ１０４上のベクタアドレスをフェッチし、システムを起動する。システム起動ルーチンの中でＡＳＩＣ１０２も初期化する。以降、通常動作となる。
なお、図３に示すシーケンスではプログラム全体をいっぺんに転送しているが、ブートプログラムを含む特定のプログラムだけをＲＡＭ１０４に転送する方式でも良い。
【００１３】
［第２実施形態］
次に、ＲＯＭに設けられている管理領域について説明する。管理領域は、予め決められたＲＯＭ１０３上の特定のアドレス領域である。管理領域には管理情報が格納されている。管理情報は数バイトの情報であるため非圧縮で格納されている。
管理情報例を以下に示す。
＜管理情報実装例＞
管理領域のＲＯＭアドレス：０ｘ０〜０ｘＦの１６バイト
管理領域のデータの内容
０ｘ０：圧縮方式
０ｘ１：転送すべきプログラムの先頭ＲＯＭアドレス
０ｘ２：転送すべきプログラム容量
圧縮方式は、ＲＯＭ１０３に格納されているプログラムの圧縮方式を示す。例えば、００００００００ｂの場合は非圧縮、０００００００１ｂの場合は圧縮方式Ａ、００００００１０ｂの場合は圧縮方式Ｂとなる。転送すべきプログラムの先頭アドレスは、ＡＳＩＣ１０２内のＲＯＭ側ＤＭＡＣ１０８が読み出しを開始するＲＯＭアドレスである。転送すべきプログラム容量は、ＡＳＩＣ１０２内のＲＯＭ側ＤＭＡＣ１０８が転送する転送容量である。ＲＡＭ側ＤＭＡＣ１１３に設定すべきＲＡＭ１０４の転送先アドレスは、ＲＯＭ情報に依存せずシステムで固定的に決定していることが望ましい。
［第３実施形態］
またハードウェアであるＡＳＩＣ１０２に外部端子を必要数設け、起動時に外部端子からの入力情報を元にＡＳＩＣの動作を決定する。外部端子はプリント基板で固定されていても良いし、ディップスイッチで選択可能な構成でも良い。本実施形態における外部端子は、システム起動前にだけ機能すれば良いので、システム起動後に機能する他の端子と共用することが望ましい。
ここで、プリント基板の配線情報を利用して管理情報を示す方式について説明する。ＲＯＭ１０３の管理領域を読み込む代わりに、ＡＳＩＣ１０２に設けられた外部端子を電源投入時に読み込む。読み込まれた情報は、上述したようにパラメータ保持部１０６に格納され、システム制御部１０５がその情報に基づき、ＡＳＩＣ内部（セレクタ、ＤＭＡＣ）を設定する。以降は、上記動作と同様である。
第３実施形態の方式では、プログラムの圧縮方式などがシステムにより固定的に決定している場合には、ＲＯＭ１０３上の管理領域を読み込む時間が不要なため、第２実施形態よりも高速にシステムが起動する。しかし、プログラム容量などＲＯＭ１０３に依存する内容をＡＳＩＣ外部端子で指示することができないため、ＲＯＭ１０３上の管理領域を読む方式よりも機能が限定される。
【００１４】
［第４実施形態］
また本実施形態の電子機器では管理情報に基づき、ＲＯＭ１０３上に格納されたプログラムが非圧縮（圧縮されていない生のデータ）である場合は、伸長器を通さずにＲＡＭ１０４に展開する。システム制御部１０５がセレクタを切り替えることにより伸長器をバイパスすることができる。
［第５実施形態］
また本実施形態の電子機器ではシステム起動後にも圧縮・伸長器が使用可能な構成とする。圧縮・伸長器１１０、１１１は、電源投入時のプログラム転送に使用する以外に、通常のＲＡＭｔｏＲＡＭのデータ転送にも使用可能である。
プログラム転送時のデータパスは、ＲＯＭ１０３→ＲＯＭＩ／Ｆ１０７→ＤＭＡＣ１０８→セレクタ１０９→圧縮・伸長器１１０／１１１／バイパス→セレクタ１１２→ＤＭＡＣ１１３→ＲＡＭＩ／Ｆ１１４→ＲＡＭ１０４とされる。
通常使用時（ＲＡＭｔｏＲＡＭ）のデータパスは、ＲＡＭ１０４→ＲＯＭＩ／Ｆ１１４→ＤＭＡＣ１１３→セレクタ１１２→圧縮・伸長器１１０／１１１／バイパス→セレクタ１０９→ＤＭＡＣ１１５→ＲＡＭＩ／Ｆ１１４→ＲＡＭ１０４とされる。
また、ＲＡＭ１０４→ＲＯＭＩ／Ｆ１１４→ＤＭＡＣ１１５→セレクタ１０９→圧縮・伸長器１１０／１１１／バイパス→セレクタ１１２→ＤＭＡＣ１１３→ＲＡＭＩ／Ｆ１１４→ＲＡＭ１０４とされる。
通常使用時、各セレクタ１０９、１１２の切り替えは、システム制御部１０５を介してＣＰＵ１０１が行う。
【００１５】
［第６実施形態］
図４はメモリ転送の概念図である。本実施形態では、図４に示されるように、ブートプログラムを含むプログラムが、複数のブロックに分割されて圧縮されＲＯＭ１０３に格納されている。
システム起動時は次のシーケンスとなる。
まず、ＣＰＵ１０１がリセット状態のままハードウェアであるＡＳＩＣ１０２で自動的にＲＯＭ１０３上のプログラム＃１（ブートプログラム、及びキー入力受付ルーチンを含むブロック）を伸長してＲＡＭ１０４上に転送する。次にプログラム＃１の転送が終了すると、ハードウェア（ＡＳＩＣ）がＣＰＵ１０１のリセットを解除する。次いで、ＲＡＭ１０４上のブートプログラムによってシステムが起動し、ＣＰＵ１０１はシステム起動後、入力受付ルーチンを実行し、外部からの機器への入力を受け付ける状態に遷移する。ＣＰＵ１０１は、残りのプログラム＃２をＲＡＭ１０４に転送するようハードウェア（ＡＳＩＣ）に対して要求する。
入力受け付けルーチンとは、外部から電子機器への実行要求である。例えば電子機器が複合機である場合、キー入力によるコピー指示や、ネットワークを介するプリンタ要求を指す。
【００１６】
さらに、詳細な動作を図６のシーケンス例を用いて説明する。
まず、電源投入（パワーオン）後、ＡＳＩＣ１０２はＲＯＭ１０３上の管理領域をリードする。この時、ＣＰＵ１０１はリセット状態である。読み込んだ管理領域の情報をＡＳＩＣ１０２内部のパラメータ保持部１０６に保持する。システム制御部１０５はパラメータ保持部１０６の情報に従って、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットする。パラメータ保持部１０６の情報と、セレクタ１０９、１１２やＤＭＡＣ１０８、１１３、１１５の設定の対応はハードウェアで固定的に決まっている。セレクタ１０９、１１２の切り替えとは、伸長回路の選択、または伸長回路のバイパスを決定することである。ＤＭＡＣ１０８、１１３、１１５のパラメータ設定とは、ＤＭＡＣ１０８、１１３、１１５の転送元／転送先開始アドレス、転送容量、起動指示を指す。ＲＯＭ１０３側のＤＭＡＣ１０８、１１５はＲＯＭ１０３からプログラム＃１を読み込み圧縮・伸長器１１０、１１１（ここでは伸長器）にデータを送り（またはバイパスし）、ＲＡＭ１０４側のＤＭＡＣ１１３は受け取ったデータをＲＡＭ１０４に書き込む。そして、プログラム＃１の転送が終了した時点で、システム制御部１０５はＣＰＵ１０１に対してリセットを解除する。
次いで、ＣＰＵ１０１はＲＡＭ１０４上のベクタアドレスをフェッチし、システムを起動し、システム起動後、ＣＰＵ１０１は入力受付ルーチンを実行し、入力受付状態に遷移する。ＣＰＵ１０１は、システム制御部１０５を介して、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットする。プログラム＃２の転送に関するセレクタ、ＤＭＡＣ等の設定内容は、最初に読み込んだ管理情報に基づく。例えば、転送プログラムが２つのブロックに分かれている場合、２組の管理情報がＲＯＭ１０３の管理領域に格納されている。プログラム＃２の転送が終了すると、ハードウェア（ＡＳＩＣ）はＣＰＵ１０１に対して転送終了割り込みを発行する。ＣＰＵ１０１はＡＳＩＣ１０２の割り込み要因レジスタ（図示なし）を読み、起動中のＤＭＡ転送が終了したことを知る。未転送のプログラムブロックがある場合は、同様の手続きで転送を継続する。そして、全プログラムの転送が終了した場合は、システム起動ルーチンの中でＡＳＩＣ１０２を初期化する。以降、通常動作となる。
上記システム制御部１０５を介して、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットした以降で入力要求があった場合は、ＣＰＵ１０１は入力を受け付ける。このとき実行中のＤＭＡ転送はＣＰＵ動作と並行して継続する。受け付けた入力は、ＲＡＭ１０４のワークエリアに保存しておき、全プログラムの転送が終了した時点で優先的に処理される。
ところで、これまで説明した本実施形態においては、システム起動時、全てハードウェアによって、外部ＲＯＭ（ＨＤＤ、ＳＤカード含む）からＲＡＭにプログラムを転送するようにしているため、処理速度の点では有利だが、ハードウェアが複雑化し、ＡＳＩＣのゲート規模が増大する。また、処理が固定化するため、システムの変更／拡張に対応することができないという欠点がある。
そこで、上記したような欠点の無い電子機器について説明する。
【００１７】
［第７実施形態］
図７は本発明の電子機器の他のシステム構成例を示した図である。なお、図１と同一部位には同一符号を付して説明は省略する。
この図７に示すシステムでは、ＡＳＩＣ１０２に第２の不揮発性メモリである不揮発性メモリ（以下、「内蔵ＲＯＭ」という）１１６が内蔵されている。
図９はデータパスを含んだＡＳＩＣの詳細ブロック図である。なお、図２と同一部位には同一符号を付して説明は省略する。
この図９に示すＡＳＩＣ１０２は、上記図２に示したＡＳＩＣ１０２ではパラメータ保持部１０６が設けられているのに対して、内蔵ＲＯＭ１１６が設けられている点が異なるものである。
内蔵ＲＯＭ１１６はブート用のプログラムが格納された不揮発性メモリであり、ＣＰＵリセットベクタ等がマッピングされている。
図１０はメモリ転送の概念図である。従来の方式と比較しながら説明する。
先にも説明したように、従来方式は引用文献１の図１０に示されるように、ＲＯＭには非圧縮のブートプログラム（伸長ルーチン含む）と、圧縮された本体プログラムが格納されており、システム起動時は次のシーケンスとなる。
ＣＰＵはリセットベクタであるブートプログラムの先頭アドレスをアクセスし、ＲＯＭ上でブートプログラムを実行し、ブートプログラムによって圧縮された本体プログラムを伸長しながらＲＡＭに伸長して、ＲＡＭ上の本体プログラムを起動する。
これに対して、本実施形態では図９に示すように転送される本体プログラムは圧縮してＲＯＭ（第１の不揮発性メモリ）１０３に格納されているが、ブートプログラムはＡＳＩＣに内蔵された内蔵ＲＯＭ（第２の不揮発性メモリ）１１６に格納されている。
この場合、システム起動時のシーケンスは次にようになる。
ＣＰＵ１０１は内蔵ＲＯＭ１１６上でブートプログラムが実行され、実行されたブートプログラムによって圧縮された本体プログラムを伸長しながらＲＡＭ（メインメモリ）１０４に伸長する。これにより、ＲＡＭ１０４上の本体プログラムが起動する。
【００１８】
さらに、詳細な動作を図１２に示すシーケンス例を用いて説明する。
まず、電源投入（パワーオン）後、ＣＰＵ１０１はＡＳＩＣ１０２に内蔵されている内蔵ＲＯＭ１１６上のブートプログラムを実行し、ブートプログラムにより、ＡＳＩＣ１０２、ＲＡＭ１０４、ＳＤカード等の外部デバイスなどのデバイスの初期化を実行する。
ブートプログラムとは、デバイス（ＡＳＩＣ１０２、ＲＡＭ１０４、ＳＤカード等の外部デバイス）の初期化と本体プログラムのＲＡＭ展開を行う程度の小容量のプログラムを指す。また本体プログラムとは、ブートプログラム以外のプログラムであり、ＯＳやアプリケーションの起動などを含むものである。
次に、ブートプログラムにより、ＲＯＭ１０３上の管理領域を読み出し、読み出した管理領域の情報に基づき、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットする。ここで、セレクタ１０９、１１２の切り替えとは、圧縮・伸長器１１０、１１１の選択、または圧縮・伸長器１１０、１１１のバイパスを決定することである。なお、管理領域の詳細については第２の実施形態において説明したのでここでは説明を省略する。
ＤＭＡＣ１０８、１１３、１１５のパラメータ設定とは、ＤＭＡＣ１０８、１１３、１１５の転送元／転送先開始アドレス、転送容量、起動指示を指す。
ＲＯＭ１０３側のＤＭＡＣ１０８、１１５はＲＯＭ１０３からプログラムを読み込み圧縮・伸長器（ここでは伸長器）Ａ１１０、Ｂ１１１にデータを送り（またはバイパスし）、ＲＡＭ１０４側のＤＭＡＣ１１３は受け取ったデータをＲＡＭ１０４に書き込む。
そして、全転送が終了した時点で処理をＲＡＭ１０４に移して、ＲＡＭ１０４上で本体プログラムが起動する。以降、通常動作となる。
このように構成した場合は、低速大容量のメモリであるＲＯＭ１０３に本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、ＲＯＭ１０３上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。
【００１９】
［第８実施形態］
図８は本発明の電子機器のさらに他のシステム構成例を示した図である。なお、図７と同一部位には同一符号を付して説明は省略する。
上記図７に示すシステムでは、ブート用のプログラムをＡＳＩＣ１０２の内蔵ＲＯＭ１１６に格納していたのに対して、図８に示すシステムでは、ブート用のプログラムが、ＡＳＩＣ１０２に外付けした高速で小容量の小容量ＲＯＭ（第２の不揮発性メモリ）１１７に格納するようにしている。この場合、低速で大容量のＲＯＭ（第１の不揮発性メモリ）１０３と、高速で小容量の小容量ＲＯＭ（第２の不揮発性メモリ）１１７とがバス接続されている。小容量ＲＯＭ１１７としては、例えば、ＦＲＡＭ、ＮＶＲＡＭなどが考えられる。なお、図８においては、ＲＯＭ１０３と小容量ＲＯＭ１１７とはバス接続されているが独立バスでも良い。
この場合の動作としては、上記第６実施形態と同様、電源投入後、ＣＰＵ１０１は小容量ＲＯＭ１１７上のブートプログラムを実行し、ブートプログラムにより、ＡＳＩＣ１０２、ＲＡＭ１０４、ＳＤカード等の外部デバイスなどのデバイスの初期化を実行する。
次に、ブートプログラムにより、ＲＯＭ１０３上の管理領域を読み出し、読み出した管理領域の情報に基づき、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットする。
次に、ＲＯＭ１０３側のＤＭＡＣ１０８、１１５はＲＯＭ１０３からプログラムを読み込み圧縮・伸長器Ａ１１０、Ｂ１１１にデータを送り（またはバイパスし）、ＲＡＭ１０４側のＤＭＡＣ１１３は受け取ったデータをＲＡＭ１０４に書き込む。
そして、全転送が終了した時点で処理をＲＡＭ１０４に移して、ＲＡＭ１０４上で本体プログラムが起動する。以降、通常動作となる。
このように構成した場合も、ＲＯＭ１０３に本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、ＲＯＭ１０３上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。またＡＳＩＣ１０２（ハードウェア）の外部に設けられた小容量ＲＯＭ１１７にブートプログラムを格納することでプログラムの修正／拡張に柔軟に対応することができるようになる。
【００２０】
［第９実施形態］
次に、第８実施形態について説明する。
なお、システム構成は図７と同一であるので説明は省略する。
図１４はブートプログラムの転送概念図である。
この場合、低速大容量のＲＯＭ１０３には、ブートプログラム（非圧縮）と管理領域（非圧縮）、本体プログラム（圧縮）の３種を格納する。
そして、電源投入時にハードウェアによりブートプログラムを高速小容量の内蔵ＲＯＭ１１６に転送する。
この場合のハードウェアは、必要最低限（数ＫＢｙｔｅ程度）のブートプログラムをメモリｔｏメモリ転送するだけの簡単な構成で良い。例えば、開始アドレス“０ｘ０”、転送量１ＫＢｙｔｅという固定領域を転送するＤＭＡＣ回路で構成する。
全てのブートプログラムの転送が終了した時点でハードウェアはＣＰＵ１０１のリセットを解除する。
ＣＰＵ１０１は、高速小容量の内蔵ＲＯＭ１１６上のリセットベクタからブートプログラムを実行する。以降、上記第７実施形態と同じ動作を行うようにする。
このように構成した場合は、低速大容量のメモリであるＲＯＭ１０３に本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、低速メモリ上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。またブートプログラムと本体プログラムとをＲＯＭ１０３上で管理できるためメンテナンス性の向上を図ることができる。
【００２１】
［第１０実施形態］
上記第９実施形態では、電源投入時にハードウェアによりブートプログラムを高速小容量の内蔵ＲＯＭ１１６に転送するようにしているが、システム構成として図８に示すように高速小容量のＲＯＭがＡＳＩＣ１０２の外部に設けられている場合は外部に取り付けた小容量ＲＯＭ１１７にブートプログラムを転送するようにしても良い。
このように構成した場合も、上記同様低速大容量のメモリであるＲＯＭ１０３に本体プログラムを格納するようにしているため、システムを安価に構成することができ、且つ、低速メモリ上でのブートプログラムの実行を回避することができるため、システム起動時間を短縮することができる。またブートプログラムと本体プログラムとをＲＯＭ１０３上で管理できるためメンテナンス性の向上を図ることができる。さらに小容量ＲＯＭ１１７
にブートプログラムを格納することでプログラムの修正／拡張に柔軟に対応できる。
【００２２】
［第１１実施形態］
次に第１１実施形態について説明する。なお、システムの構成は図７と同一であるので説明は省略する。
この場合は、ＡＳＩＣ１０２に外部端子を必要数設け、起動時に外部端子からの入力情報を元にハードウェア（ＡＳＩＣ）１０２の動作を決定する。外部端子はプリント基板で固定されていても良いし、ディップスイッチで選択可能な構成でも良い。
外部端子は、システム起動前にだけ機能すれば良いので、システム起動後に機能する他の端子と共用することが望ましい。
次に、プリント基板の配線情報を利用して管理情報を示す方式について説明する。
ＲＯＭ１０３の管理領域を読み込む代わりに、ＡＳＩＣ１０２に設けられた外部端子の状態をＣＰＵが読み込み、ＡＳＩＣ内部（セレクタ、ＤＭＡＣ）を設定し、ＤＭＡ転送を行う。以降は、先述の動作と同じ。
上記第１１実施形態の方式では、プログラムの圧縮方式などがシステムにより固定的に決定している場合には、ＲＯＭ上の管理領域を読み込む時間が不要なため、第２の実施形態に示したように管理情報が構成されている場合よりも高速にシステムが起動する。しかし、プログラム容量などＲＯＭ１０３上のプログラムに依存する情報をＡＳＩＣ外部端子で対応させ指示することは難しいため、用法としてはＲＯＭ上の管理領域を読む方式よりも機能が限定される。
［第１２実施形態］
次に、第１２実施形態について説明する。なお、システムの構成は図７と同一であるので説明は省略する。
管理情報に基づき、ＲＯＭ１０３上に格納されたプログラムが非圧縮（圧縮されていない生のデータ）である場合は、伸長器を通さずにＲＡＭに展開する。システム制御部１０５がセレクタを切り替えることにより伸長器をバイパスすることができる。
【００２３】
［第１３実施形態］
次に、第１３実施形態について説明する。なお、システムの構成は図７と同一であるので説明は省略する。
この場合は、システムが起動後にも圧縮・伸長器が使用可能な構成とした。図９では圧縮・伸長器１１０、１１１、電源投入時のプログラム転送に使用する以外に、通常のＲＡＭｔｏＲＡＭのデータ転送にも使用可能である。
プログラム転送時のデータパスは、ＲＯＭ１０３→ＲＯＭＩ／Ｆ１０７→ＤＭＡコントローラ１０８→セレクタ１０９→圧縮・伸長器１１０／１１１／バイパス→セレクタ１１２→ＤＭＡコントローラ１１３→ＲＡＭＩ／Ｆ１１４→ＲＡＭ１０４とされる。
通常使用時（ＲＡＭｔｏＲＡＭ）のデータパスは、ＲＡＭ１０４→ＲＯＭＩ／Ｆ１１４→ＤＭＡコントローラ１１３→セレクタ１１２→圧縮・伸長器１１０／１１１／バイパス→セレクタ１０９→ＤＭＡコントローラ１１５→ＲＡＭＩ／Ｆ１１４→ＲＡＭ１０４とされる。
またＲＡＭ１０４→ＲＯＭＩ／Ｆ１１４→ＤＭＡコントローラ１１５→セレクタ１０９→圧縮・伸長器Ａ１１０／Ｂ１１１／バイパス→セレクタ１１２→ＤＭＡコントローラ１１３→ＲＡＭＩ／Ｆ１１４→ＲＡＭ１０４とされる。
通常使用時、各セレクタ１０９、１１２の切り替えは、システム制御部１０５を介してＣＰＵ１０１が行う。
【００２４】
［第１４実施形態］
次に、第１４実施形態について説明する。なお、システムの構成は図７と同一であるので説明は省略する。
図１１にメモリ転送の概念図を示す。
本実施形態では、図１１に示されるように、ブートプログラムを含むプログラムが複数のブロックに分割されて圧縮されＲＯＭに格納されている。
システム起動時は次のシーケンスとなる。
まず、ＣＰＵ１０１がリセット状態のまま、ハードウェア（ＡＳＩＣ）１０２で自動的にＲＯＭ１０３上のプログラム＃１（ブートプログラム、及びキー入力受付ルーチンを含むブロック）を伸長してＲＡＭ１０４上に転送する。
次に、プログラム＃１の転送が終了すると、ハードウェア（ＡＳＩＣ）１０２がＣＰＵ１０１のリセットを解除する。
次いで、ＲＡＭ１０３上のブートプログラムによってシステムが起動し、ＣＰＵ１０１はシステム起動後、入力受付ルーチンを実行し、外部からの機器への入力を受け付ける状態に遷移する。ＣＰＵ１０１は、残りのプログラム＃２をＲＡＭに転送するようハードウェア（ＡＳＩＣ）１０２に対して要求する。
入力受け付けルーチンとは、外部から電子機器への実行要求である。例えば電子機器が複合機である場合、キー入力によるコピー指示や、ネットワークを介するプリンタ要求を指す。
プログラム＃２をＤＭＡ転送中は、ＣＰＵ１０１は既に入力受付待ちであるので、外部からの実行要求があった場合にはその入力に応答することができる（例えば、キー入力をバッファリングするなど）。
【００２５】
さらに、詳細な動作を図１３に示すシーケンス例を用いて説明する。
電源投入（パワーオン）後、ＣＰＵ１０１はＡＳＩＣ内蔵の不揮発性メモリ１１６上のブートプログラムを実行する。
ブートプログラムにより、デバイス（ＡＳＩＣ、ＲＡＭ、ＳＤカード等）の初期化を実行する。ブートプログラムにより、ＲＯＭ１０３上の管理領域をリードする。読み込んだ管理領域の情報に基づき、セレクタ１０９、１１２を切り替え、ＤＭＡＣ１０８、１１３、１１５にパラメータをセットする。セレクタの切り替えとは、圧縮・伸長器１１０、１１１の選択、または伸長回路のバイパスを決定することである。
ＤＭＡＣ１０８、１１３、１１５のパラメータ設定とは、ＤＭＡＣ１０８、１１３、１１５の転送元／転送先開始アドレス、転送容量、起動指示を指す。
ＲＯＭ１０３側のＤＭＡＣ１０８、１１５はＲＯＭ１０３から本体プログラム＃１を読み込み圧縮・伸長器（ここでは伸長器）１１０、１１１にデータを送り（またはバイパスし）、ＲＡＭ１０４側のＤＭＡＣ１１３は受け取ったデータをＲＡＭ１０４に書き込む。
そして、本体プログラム＃１の全ての転送が終了すると、ハードウェア（ＡＳＩＣ）１０２はＣＰＵ１０１に対して転送終了割り込みを発行する。ＣＰＵ１０１はＡＳＩＣ１０２の割り込み要因レジスタ（図示なし）を読み、起動中のＤＭＡ転送が終了したことを知る。処理をＲＡＭ１０４に移し、ＲＡＭ１０４上で本体プログラム＃１が起動する。即ちＣＰＵ１０１はＲＡＭ上１０４のベクタアドレスをフェッチし、システムを起動する。
システム起動後、ＣＰＵ１０１は入力受付ルーチンを実行して入力受付状態に遷移する。
ＣＰＵ１０１はシステム制御部１０５を介して、セレクタを切り替え、ＤＭＡＣにパラメータをセットする。
【００２６】
なお、ログラム＃２の転送に関するセレクタ、ＤＭＡＣ等の設定内容は、最初に読み込んだ管理情報に基づいても良いし、再度管理情報を確認しても良い。例えば、転送プログラムが２つのブロックに分かれている場合、２組の管理情報がＲＯＭの管理領域に格納されている。
プログラム＃２の転送が終了すると、ハードウェア（ＡＳＩＣ）１０２はＣＰＵ１０１に対して転送終了割り込みを発行する。ＣＰＵ１０１はＡＳＩＣ１０２の割り込み要因レジスタ（図示なし）を読み、起動中のＤＭＡ転送が終了したことを知る。さらに未転送のプログラムブロックがある場合は、同様の手続きで転送を継続する。
全プログラムの転送が終了した場合は、以降通常待機状態に遷移する。
手順９以降で入力要求があった場合、ＣＰＵ１０１は入力を受け付ける。このとき実行中のＤＭＡ転送はＣＰＵ１０１動作と並行して継続する。受け付けた入力は、ＲＡＭのワークエリアに保存しておき、全プログラムの転送が終了した時点で優先的に処理されることになる。
【図面の簡単な説明】
【００２７】
【図１】本発明の電子機器のシステム構成例を示す図。
【図２】データパスを含んだＡＳＩＣの詳細ブロック図。
【図３】メモリ転送の概念図（その１）。
【図４】メモリ転送の概念図（その２）。
【図５】シーケンス例を示す図（その１）。
【図６】シーケンス例を示す図（その２）。
【図７】本発明の電子機器の他のシステム構成例を示した図。
【図８】本発明の電子機器のさらに他のシステム構成例を示した図。
【図９】図７に示したシステム構成におけるＡＳＩＣの詳細ブロック図。
【図１０】メモリ転送の概念図（その３）。
【図１１】メモリ転送の概念図（その４）。
【図１２】シーケンス例を示す図（その３）。
【図１３】シーケンス例を示す図（その４）。
【図１４】ブートプログラムの転送概念図。
【符号の説明】
【００２８】
１０１  ＣＰＵ、１０２  ＡＳＩＣ、１０３  ＲＯＭ、１０４  ＲＡＭ、１０５  システム制御部、１０６  パラメータ保持部、１０７  ＲＯＭＩ／Ｆ、１０８  ＤＭＡＣ、１１３、１１５、１０９、１１２  セレクタ、１１０、１１１  圧縮・伸長器、１１２  セレクタ、１１４  ＲＡＭＩ／Ｆ、１１６  内蔵ＲＯＭ、１１７  小容量ＲＯＭ
【図１】
2006072989.tif 000003
【図２】
2006072989.tif 000004
【図３】
2006072989.tif 000005
【図４】
2006072989.tif 000006
【図５】
2006072989.tif 000007
【図６】
2006072989.tif 000008
【図７】
2006072989.tif 000009
【図８】
2006072989.tif 000010
【図９】
2006072989.tif 000011
【図１０】
2006072989.tif 000012
【図１１】
2006072989.tif 000013
【図１２】
2006072989.tif 000014
【図１３】
2006072989.tif 000015
【図１４】
2006072989.tif 000016