【手続補正書】
【提出日】平成15年7月1日(2003.7.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の名称】電子機器及び電子機器操作方法
【特許請求の範囲】
【請求項１】実行可能コードを格納する第１のメモリと、前記第１のメモリに接続され、実行可能コードに対する処理を実行するプロセッサと、前記プロセッサに接続され、実行可能コードの実行に応答して画像の印刷を行う印刷機構と、プラグ接続式のメモリを着脱可能にして装着するためのメモリレセプタクルと、前記メモリレセプタクルに装着されるプラグ接続式のメモリに実行可能コードを選択的に書き込むメモリコントローラと、を備えることを特徴とする電子機器。
【請求項２】前記プロセッサは、前記メモリコントローラを備える請求項１に記載の電子機器。
【請求項３】前記メモリレセプタクルに対するプラグ接続式のメモリの装着に応答して、前記メモリコントローラは前記第１のメモリから前記プラグ接続式のメモリに実行可能コードをコピーし、前記プロセッサは前記プラグ接続式のメモリからの実行可能コードに対する処理を実行する請求項１に記載の電子機器。
【請求項４】前記メモリレセプタクルにプラグ接続式のメモリを更に備え、前記プロセッサは前記プラグ接続式のメモリからの実行可能コードに対する処理を実行する請求項１に記載の電子機器。
【請求項５】前記メモリコントローラはメモリのアドレス領域を前記プロセッサに供給し、前記プロセッサは前記メモリコントローラによって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラは前記プロセッサが実行可能コードに対する処理を実行中に、前記第１のメモリにおいて供給されるアドレス領域からプラグ接続式のメモリにおけるアドレス領域に変更することができる請求項１に記載の電子機器。
【請求項６】前記メモリレセプタクルにおいてプラグ接続式のメモリを更に備え、前記メモリコントローラは前記プロセッサにメモリのアドレス領域を供給し、前記プロセッサは前記メモリコントローラによって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラは前記プロセッサが前記第１のメモリからの実行可能コードに対する処理を実行中に、前記第１のメモリにおいて供給されるアドレス領域から前記プラグ接続式のメモリにおけるアドレス領域に切り替える請求項１に記載の電子機器。
【請求項７】モードセレクタを更に備え、ユーザーが前記モードセレクタを使用して、前記プロセッサがプラグ接続式のメモリからの実行可能プログラムコードに対する処理を実行するモードと、前記プロセッサが前記第１のメモリからの実行可能コードに対する処理を実行するモードとから選択することが可能である請求項１に記載の電子機器。
【請求項８】実行可能コードを格納する、アドレスの領域を有するＲＯＭと、前記ＲＯＭに接続され、供給されるアドレスの領域において実行可能コードに対する処理を実行するプロセッサと、アドレスを有する領域を有するＲＡＭを備える拡張メモリユニットが装着されるメモリレセプタクルとを備える電子機器を操作する方法であって、
前記ＲＯＭにおける領域のアドレスを前記プロセッサに供給するステップと、
前記プロセッサを使用し、前記メモリコントローラによって供給された前記アドレスの領域において実行可能コードに対する処理を実行するステップと、
データ又は実行可能コードを格納する拡張メモリユニットを使用することをユーザが所望するかを判定するステップと、
実行可能コードを格納する拡張メモリユニットを使用することをユーザが所望すると判定した場合に、前記拡張メモリユニットにおけるＲＡＭに前記ＲＯＭから実行可能なプログラムコードをコピーし、前記プロセッサが実行可能コードに対する処理を実行中に、前記ＲＯＭにおけるアドレスを前記ＲＡＭにおけるアドレスに切り替えるステップと
を含む電子機器操作方法。
【請求項９】前記判定するステップは、前記拡張メモリユニットにおけるフラグの状態をチェックするステップを有する請求項８に記載の電子機器操作方法。
【請求項１０】フラグを規定する領域を有する不揮発性メモリを備える拡張メモリユニットを、前記メモリレセプタクルに装着するステップを更に含み、
前記判定するステップは、前記フラグの前記状態をチェックするステップを有する請求項８に記載の電子機器操作方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、プリンタ及び他の電子機器に関し、より詳細には、拡張メモリの追加装備が可能な内蔵システムを備えるプリンタなどの電子機器に関する。
【０００２】
【従来技術】従来、多種の電子製品は、内蔵マイクロプロセッサの制御（シーケンス）に基づいて動作している。この内蔵マイクロプロセッサは、通常、製造工場で組み込んだメモリに格納したアプリケーションのプログラム（ファームウェア）を起動して、その制御を実行している。このメモリは、マスクＲＯＭ、ＥＥＰＲＯＭであることが多い。装置のシステム性能は、中央処理装置（ＣＰＵ）がこのＲＯＭ又はＥＰＲＯＭのコードメモリから命令を取り出す速度によって決定されることが多い。このＲＯＭ又はＥＰＲＯＭは、現行で用いられるメモリを拡張するための拡張メモリユニットよりもアクセス時間が遅いことが知られている。
【０００３】
【発明が解決しようとする課題】このような従来の課題に対する解決策として、ＣＰＵが命令を高速で実行するためにキャッシュを設けることがある。これらのキャッシュとしては、ＣＰＵ中に設けられ、又は、ＣＰＵに隣接して設けられる小容量のバッファメモリを用いている。このＣＰＵにおいて高速で実行するように性能を向上させるためには、キャッシュメモリの記憶容量を大きくする必要がある。この場合、コストが嵩むことになる。すなわち、マイクロプロセッサを内蔵したシステムは、キャッシュメモリでの処理（書き込み／読み出し）速度及び、この結果でのシステム資源における競合で制限されることになる。
【０００４】また、従来の課題に対する他の解決策において、メモリとして高速メモリ（ＳＲＡＭ、ＤＲＡＭ又はＳＤＲＡＭ等）を用いる場合がある。このような高速メモリは揮発性である。そのためアプリケーションプログラム（ファームウェア）の再ロード方法をユーザに供給できるようにするか、又は、メモリのデータが破損しないようにする必要がある。アプリケーションプログラムを再ロードする場合は、周知のマスクＲＯＭ、又は、「ブートＲＯＭ」を用いるとともに、このための入出力インタフェースを設ける必要がある。
【０００５】パーソナルコンピュータでは、内蔵したシステムを考えずに、これらの構成を組み込んで使用する必要がある。すなわち、これらの技術はコストが嵩み、かつ、入出力インタフェースの構成及び処理が複雑であるため、通常、マイクロプロセッサを内蔵したシステムでは設けられていない。アプリケーションプログラムの再ロードの能力がない場合には、製造工場で格納した揮発性メモリのプログラムが、この後に破損しないようにする必要がある。このため、コストが嵩み、かつ、バッテリバックアップが必要になる。また、格納したプログラムは、静電気放電又はα粒子によって破損することがある。
【０００６】なお、ユーザが拡張メモリを追加できるように、プリンタ及び他の電子機器にプラグ接続式のメモリ用のレセプタクル（以後、「メモリレセプタクル」という。）を設けている。このメモリは、追加データのバッファリングに用いられる。例えば、Ｕｋａｉらに付与された米国特許第５，１３７，３７９号（対応日本出願：特願昭５９−１３０６７７号、特願昭６０−６４７５号を参照）では、ＲＯＭを有するカートリッジを備えたプリンタを開示している。
【０００７】このカートリッジは、少なくとも１個の文字フォント・セットのデータを格納し、かつ、印刷動作制御プログラムを格納するメモリデバイスを内蔵している。印刷動作制御プログラム及び文字フォント・セットのデータは、適切なカートリッジをプリンタ本体に着脱可能に構成し、その装着を行うことによって設定できる。プリンタの仕様を、カートリッジを変更することによってホストコンピュータに適合させることが可能である。
【０００８】またＯｈａｒａ  らに付与された米国特許第５，３３２，３２０号（対応日本出願：特願平４−２２８６９８号）には、モード選択を備えた印刷装置が開示されている。印刷装置は、各種プログラムを格納したＲＯＭを備えている。このＲＯＭとして、着脱可能なＲＯＭカートリッジをスロットに装着（挿入）するように構成することもできる。カートリッジは、エミュレーション実行ユニット及びエミュレーション判定ユニットでも良い。エミュレーションモードは、エミュレーションモード外部メモリカートリッジを装着することによって自動的に選択される。
【０００９】プリンタは、各種の機能を実行する実行可能コードを格納したＲＯＭを備えている。プリンタは、パーソナルコンピュータなどのコンピュータに直接又はネットワークを通じて接続される。コンピュータは、ＰＣＬ又はポストスクリプト等のページ記述言語をプリンタに送信する。プリンタにおける実行可能コードは、ページ記述言語を解釈し、又は、復号化してページ上で画像をレンダリングする。これは、フォントのスケーリング、ライン（ベクトル）描写、領域のパターンによるフィル、すでに存在しているフォームやすかしとページ内容と結合することなどが含まれている。ページ記述言語の解釈を、グラフィックスの可能な回転又はクリッピングと、解像度の変換およびその向上とに関連させることが可能である。ページ記述言語の解釈は、画像のディザ（グレースケール）にも関連する。
【００１０】例えば、本発明の出願人から入手可能なある種のプリンタはプログラム可能なメモリコントローラを備えている。これらのメモリコントローラは、アドレス・マップを選択的に変更するものであり、コード実行中にも、実行すべきコードの領域（ロケーション）を表示する。
【００１１】本発明は、このような従来の技術における課題を解決するものであり、ユーザによる拡張メモリの購入及び装着でのグレードアップによって工場製造におけるコスト増加を抑え、またキャッシュの処理規模を縮小して、そのコスト低減を可能にする電子機器を提供することを目的とする。
【００１２】
【課題を解決するための手段】上記課題を達成するために、本発明の電子機器は、実行可能コードを格納するメモリと、このメモリに接続され、実行可能コードに対する処理を実行するプロセッサと、プラグ接続式のメモリを着脱可能にして装着するメモリレセプタクルと、このメモリレセプタクルに装着されるプラグ接続式のメモリに実行可能コードを選択的に書き込むメモリコントローラとを備えるものである。本発明の一態様では、前記電子機器は、前記プロセッサに接続され、画像をレンダリングする印刷機構を含むプリンタである。
【００１３】本発明の別の態様は、実行可能コードを格納し、アドレス領域（ ロケーション）を有するＲＯＭと、このＲＯＭに接続され、実行可能コードに対する処理を実行するプロセッサと、アドレス領域を有するＲＡＭとフラグを規定する領域を有した不揮発性メモリとを備えた拡張メモリユニットが装着可能にして装着され、かつ、前記拡張メモリユニットと前記プロセッサとを接続するメモリレセプタクルと、メモリのアドレスを前記プロセッサに供給するメモリコントローラとを有する電子機器を提供する。前記プロセッサは前記メモリコントローラによって供給されるアドレス領域において実行可能コードに対する処理を実行し、前記メモリコントローラは、制御信号に応答して、拡張メモリユニットにおけるＲＡＭに実行可能なプログラムコードをコピーし、前記プロセッサが実行可能コードに対する処理を実行中に、前記ＲＯＭにおける供給されるアドレス領域から前記ＲＡＭにおけるアドレス領域に切り替える（実行領域を切り換える）ように構成されている。
【００１４】本発明の別の態様は、実行可能コードを格納するアドレス領域を有したＲＯＭを備える電子機器の操作方法である。この電子機器は、前記メモリ（ＲＯＭ）に接続され、供給されるアドレス領域において実行可能コードに対する処理を実行するプロセッサと、アドレス領域を有するＲＡＭを備えた拡張メモリユニットが装着されるメモリレセプタクルとを更に備えるものである。前記電子機器の操作方法は、前記ＲＯＭにおけるメモリのアドレス領域を前記プロセッサに供給するステップと、前記プロセッサを使用し、前記メモリコントローラによって供給された前記アドレスの領域において実行可能コードに対する処理を実行するステップと、データ又は実行可能コードを格納する拡張メモリユニットを使用することをユーザが必要とするかを判定するステップと、実行可能コードを格納する拡張メモリユニットを使用することをユーザが必要とすると判定した際に、前記拡張メモリユニットにおけるＲＡＭにＲＯＭから実行可能なプログラムコードをコピーし、前記プロセッサが実行可能コードに対する処理を実行中に、前記ＲＯＭにおける供給されるアドレスを前記ＲＡＭにおけるアドレスに切り替えるステップとを有している。
【００１５】このような本発明の電子機器では、ユーザが、データのバッファリングなどの従来の用途に代えて、命令を取り出し、実行するシステムによって使用されるプラグ接続式の拡張メモリのメモリモジュールを装着することによって、製品の製造及び購入後の性能向上（グレードアップ）を図ることができる。これは、ユーザによる購入及び装着でのグレードアップであり、製造工場でのコスト増加にはならない。本発明は、キャッシュ処理の有無及び処理能力にかかわらずシステム性能が向上する。本発明の一態様では、キャッシュの処理規模が縮小されて、コスト低減が可能になる。
【００１６】
【発明の実施の形態】次に、本発明の電子機器の実施の形態を図面を参照して詳細に説明する。図１は本実施形態である電子機器の一例を示す斜視図であり、ここでは電子機器としてプリンタ１０を示している。また、図２は図１のプリンタに追加される拡張メモリユニット３４を示す斜視図、図３は、図１に示すプリンタのハードウェア及びホストコンピュータの構成を示すブロック図、図４は実施形態における電子機器の変形されたブートアッププロセス（立ち上げプロセス）を示すフローチャートである。
【００１７】図１に示される実施形態では、電子機器がプリンタ１０である。なお、代替的な実施形態では、電子機器は、ファクシミリ機、スキャナ、プロッタ又はメモリを備える他の電子機器である。本発明の電子機器は、上記で記載したように内蔵システムを有するあらゆる電子機器である。プリンタ１０は、筐体１２と、この筐体内にある印刷機構の印刷エンジン１４（図３）とを有している。他のタイプの印刷機構を使用しても良いが、図示される実施形態において、印刷エンジン１４は、レーザ印刷機構である。プリンタ１０は、通常、プリンタに備える他のコンポーネント（図示せず）、例えば、筐体１２に従来の方法で配置されるローラ、トナーディスペンサ、レーザヘッド、ペーパートレイ及び給紙機構を更に備えている。
【００１８】プリンタ１０は、図３に示すように、実行可能コードを格納する領域１８を有するオンボードＲＯＭ又はデフォルトＲＯＭ１６を備えている。この領域１８には、各アドレス２０がある。プリンタ１０は、領域２６を有したオンボードＲＡＭ２４を更に備えている。この領域２６は各アドレス２８を有している。プリンタ１０は、デフォルトＲＯＭ１６に接続され、実行可能コードに対する処理を実行するマイクロプロセッサ２２を更に備えている。
【００１９】より詳細には、プリンタ１０に、マイクロプロセッサ２２とデフォルトＲＯＭ１６及びオンボードＲＡＭ２４の間で接続されるＡＳＩＣ（ 特定用途向け集積回路）３０を更に備えている。一実施形態において、ＡＳＩＣ３０は、メモリコントローラを規定する。プリンタ１０は、ホストコンピュータ４６と併用するように設計されている。別の実施形態では、メモリコントローラが、マイクロプロセッサ２２に設けられる。プリンタ１０には、ホストコンピュータ４６とマイクロプロセッサ２２との間で並列接続を与えるＡＳＩＣ４８を更に有している。印刷エンジン１４は、マイクロプロセッサ２２に接続され、画像をレンダリングする。
【００２０】図示される実施形態では、プリンタ１０が、ＰＣＩローカルバス５０を備えている。なお、ＰＣＩローカルバスに代えて他のバス形式を採用しても良い。プリンタ１０は、ＡＳＩＣ３０及び４８にＰＣＩローカルバス５０を通じて接続される。なお、複数のＥＩＯカード５２を備える構成としても良い。このＥＩＯカード５２は、ネットワーク接続用などに使用されるものである。プリンタ１０は、図１に示すように、キーパッド５６を備えており、各種ユーザ選択を指示するためのコントロールパネル５４と、メッセージを表示する表示画面部５８とを更に有している。
【００２１】プリンタ１０は、複数の拡張が可能なように構成される。すなわち、プラグ接続式の拡張メモリユニット３４が着脱可能に構成され、この拡張メモリユニット３４がマイクロプロセッサ２２に接続するように構成される。この場合、複数のメモリレセプタクル３２が更に設けられる。より詳細には、図２に示される実施形態において、レセプタクル３２は、ＤＩＭＭレセプタクルであり、拡張メモリユニット３４は、このＤＩＭＭユニットである。メモリレセプタクル３２は、ＡＳＩＣ３０を通じてマイクロプロセッサ２２（図３参照）に接続されている。
【００２２】図３に示すように、拡張メモリユニット３４は、領域３６を有するＲＡＭが設けられている。領域３６は、アドレス３８を有している。拡張メモリユニット３４は、不揮発性メモリ４０を更に有している。図示される実施形態では、拡張メモリユニット３４は、ＪＥＤＥＣ標準に準拠している。図示される実施形態では、拡張メモリユニット３４は、Ｎａｔｉｏｎａｌ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ社から入手可能なパーツ番号２４Ｃ０２ＬＭ８等のＩ２ＣインタフェースＥＥＰＲＯＭで構成される。ＪＥＤＥＣ標準では、拡張メモリユニット３４における不揮発性メモリ４０を特定している。すなわち、図示される実施形態では、拡張メモリユニット３４は、デフォルトＲＯＭより高速な処理（書き込み／読み出し）が可能なＲＡＭ、例えば、ＤＲＡＭ，ＥＤＯＤＲＡＭ又はＳＤＲＡＭを備えるものである。
【００２３】図１に示される実施形態では、プリンタ１０は、カバー４２を備えており、カバー４２を後ろ側に摺動して解除し、次に、カバー４２の上部を開き、かつ、保持して取り外す。カバー４２の背後には、アクセス扉４４が設けられており、ねじを外し、かつ、保持して開く。このアクセス扉４４の背後には、図２に示すように、メモリレセプタクル３２が配置されている。
【００２４】図３において、メモリコントローラ３０は、マイクロプロセッサ２２に対するメモリのアドレスを送出する。メモリコントローラ３０は、プログラミングが可能である。このプログラミングが可能なメモリコントローラ３０は、本発明の出願人の製造によるプリンタに多数装備される。メモリコントローラ３０は、コードが実行中であっても、アドレス・マップを動的に変更させる。この処理によって、実行可能コードを新たなメモリ資源、すなわち、拡張メモリユニット３４にコピーすることができるようになる。また、アドレス変換を行わずに、このコードを新たなメモリ資源から実行することが出来る。
【００２５】プリンタのデフォルトＲＯＭ１６には、ブートアップ・コードが常駐している。通常のブートアップコードは、様々な機能に対応する処理を実行する。例えば、マイクロプロセッサでのキャッシュを使用可能にする。また、ＰＣＩバスを初期化する。更に、ＡＳＩＣにおける各種機能ブロックに対するアドレスをセットアップする。また、ＲＯＭ装置及びＲＡＭ装置をマッピングする。更に、タイマー・プリスケーラ・レジスタをセットアップする。また、ＲＡＭをプリチャージ及びリフレッシュする。更に、内部オンボードＲＡＭをテストする。また、任意の特殊ブートアップモードにおけるコントロールパネル５４のキーパッド５６をスキャンする。
【００２６】通常のブートアップ・コードでは、更に、次のような機能を実行する。例えば、メッセージをコントロールパネル５４の表示画面部５８に表示させて、初期化が行われていることをユーザに通知する。更に、タイマ割込みを開始する。また、ＭＭＵ，ＩＳＲ，ＥＩＯ等を初期化する。また、装置のＤＩＭＭスロットをポーリングする。更に、実行する領域コードに対する処理を実行する。また、ＤＩＭＭをサイズごとにソートする。また、メモリの隣接（連続）ブロックとしてＲＡＭをマッピングする。更に、メモリの隣接ブロックとしてＲＯＭをマッピングする。また、組み込まれたＲＯＭにおいて存在するコードエンティティのリストを構築する。更に、オペレーティングシステムにおいてタスクを開始する。また、マルチタスクを開始することもある。
【００２７】マイクロプロセッサ２２は、メモリコントローラ３０によって供給されるアドレス領域で実行可能コードを処理する。メモリコントローラ３０は、制御信号に応答して、デフォルトＲＯＭ１６から拡張メモリユニット３４におけるＲＡＭに実行可能なプログラムコードをコピーし、ＲＯＭにおける領域１８に対して供給されるアドレス２０から拡張メモリユニット３４のＲＡＭにおける領域３６に対するアドレス３８に切り替える（実行領域を切り替える）。
【００２８】図示される実施形態では、マイクロプロセッサ２２が実行可能コードに対する処理を実行中に、そのコピーが行われる。メモリコントローラ３０は、制御信号を取り込まない場合は、拡張メモリユニット３４におけるＲＡＭをデータの格納のために使用している。この場合、拡張メモリユニット３４におけるＲＡＭの少なくとも一部が実行可能コードを格納するために使用される。一実施形態では、この制御信号は、ホストコンピュータ４６から、又は、ローカルエリアネットワーク（ＬＡＮ）接続からコントロールパネル５４を通じて供給される。この処理を実施するために、不揮発性ＲＯＭメモリに常駐するブートアップ・コードを変更して、これらの命令を含めるようにする。ブートアップ・コードは、図４に関連して以下に記載するように変更される。
【００２９】一実施形態では、制御信号に応答して、デフォルトＲＯＭ１６から拡張メモリユニット３４におけるＲＡＭへ、すべてのデータをコピーする。このコピーは、制御信号が存在する場合、プリンタ１０がリブート又は再起動する都度（例えば、電源中断がある都度、又は、ＯＦＦ状態のプリンタをＯＮにする都度）に実行される。図示される実施形態では、各拡張メモリユニット３４は、ＲＡＭバンクである。ＲＡＭバンクは、デフォルトＲＯＭ１６からコードをコピーし続けるために、十分な記憶容量を有していることが必要である。
【００３０】一実施形態では、２個以上の拡張メモリユニット（ＲＡＭバンク）３４が、実行可能コードのコピーを保持するために使用される。このコピー後にメモリコントローラ３０は、デフォルトＲＯＭ１６が常駐していたアドレス空間と同一のアドレス空間にＲＡＭバンク３４をスワップする。換言すれば、マイクロプロセッサ２２での視点から、実行可能コードは、（例えば、マイクロプロセッサ２２のキャッシュに）コードを取り込む時間がもはや長くはないこと以外では変更はない。
【００３１】別の実施形態では、すべての実行可能コードを、デフォルトＲＯＭ１６から拡張メモリユニット３４におけるＲＡＭにコピーはしない。本実施形態では、頻繁に使用するコードを拡張メモリユニット３４にコピーする。例えば、電子機器は、大量の実行可能コードを有する場合もあるが、９０パーセントの時間でそのコードの１０パーセントのみが実行される。本実施形態では、拡張メモリユニット３４におけるＲＡＭにより小ブロックのコードを単にコピーして、次に高速ＲＡＭに、その小ブロックのデフォルトＲＯＭを対応づけることによって、速度上の利点が得られる。
【００３２】したがって、本発明において、ユーザは、高速のプラグ接続式の拡張メモリユニット３４を追加し、これを従来例に代えて追加データのバッファリング等のコード実行のためにこれを用いることができる。ユーザもまた、コード実行用でのプラグ接続式の拡張メモリユニット３４の使用を少なくし、代わりに拡張メモリユニット３４を従来のようにデータのバッファリングのために使用することが出来る。
【００３３】コード実行モード（例えば、コードをオンボードメモリ（デフォルトＲＯＭ）１６から実行すべきか、又は、拡張メモリユニット３４から実行すべきか）を保存又は保管するためには、現行の実行モードを不揮発性メモリに保存する。一実施形態では、現行の実行モードは、拡張メモリユニット３４自体に存在する不揮発性メモリ４０に保存される。したがって、不揮発性メモリ４０は、設定されている場合には、実行可能コードを格納するために拡張メモリユニット３４を使用することを示すフラグを規定する領域６０を有することになる。
【００３４】本実施形態の利点では、拡張メモリユニット３４に予めフラグ付けを行うことによって、拡張メモリユニット３４を組み込むと、直ちにデフォルトＲＯＭ１６に代わって、この拡張メモリユニット３４をコード実行に使用できることをプリンタ１０が認識可能になる。次に、実行可能コードのすべて又は一部は、デフォルトＲＯＭ１６からユーザ指定による高速の拡張メモリユニット３４にコピーされる。実行可能コードがコピーされると、拡張メモリユニット３４を再マッピングしてデフォルトＲＯＭ１６のすべて又は一部を交換する。本実施形態では、フラグが設定される拡張メモリユニット３４の装着に対応して制御信号が生成される。
【００３５】図４は、通常のブートアップ手順が予めフラグ付けされた拡張メモリユニット３４と併用するように変更される状態を図示したフローチャートである。
【００３６】ステップ６４において、予めフラグ付けされた拡張メモリユニット３４が組み込まれた後にユーザがプリンタ１０のリブート又は再起動を開始する。
【００３７】ステップ６４の次のステップ６６において、初期コードは、常にデフォルトＲＯＭ１６から実行される。この初期コードは、マイクロプロセッサのキャッシュを可能にし、ＰＣＩバスを初期化し、ＡＳＩＣ内にある各種機能ブロックのベースアドレスをセットアップし、ＲＯＭ装置及びＲＡＭ装置においてマッピングし、タイマープレスカラレジスタをセットアップする。更に、ＲＡＭをプレチャージ及びリフレッシュし、内部オンボードＲＡＭをテストし、任意の特殊ブートアップモードにおけるコントロールパネル５４のキーパッド５６をスキャンし、メッセージをコントロールパネル５４の表示画面部５８に表示させて、その初期化が行われていることをユーザに通知する。そして、タイマ割込みを開始し、ＭＭＵ，ＩＳＲ，ＥＩＯなどを初期化する。
【００３８】ステップ６８において、マイクロプロセッサ２２は、すべてのメモリ装置をスキャンし、デフォルト実行領域であるとしてフラグ付けされている第１の拡張メモリユニット３４を見つける。ステップ６８の実行後に、マイクロプロセッサ２２がステップ７０の処理を実行する。
【００３９】ステップ７０において、マイクロプロセッサ２２は、予めフラグ付けされた拡張メモリユニット３４の実行領域が見つかったかを判定する。見つかれば、マイクロプロセッサ２２がステップ７２に進む処理を実行する。見つからなければ、マイクロプロセッサ２２がステップ８２に進む処理を実行する。
【００４０】ステップ７２において、マイクロプロセッサ２２は、実行領域装置である拡張メモリユニット３４をデータ空間として使用することを禁じる処理を実行する。
【００４１】次いでステップ７４において、マイクロプロセッサ２２は、デフォルトＲＯＭ１６から実行領域装置３４にコードをコピーする。ステップ７４を実行後にマイクロプロセッサ２２がステップ７６に進む処理を実行する。
【００４２】ステップ７６において、マイクロプロセッサ２２は、デフォルトＲＯＭ１６と同一アドレスになるように、実行領域装置３４のアドレスを再マッピングする。
【００４３】次いでステップ７８において、マイクロプロセッサ２２は、デフォルトＲＯＭ１６をスワップアウトし、同時に実行領域装置３４をスワップインする。ステップ７８を実行後にマイクロプロセッサ２２がステップ８０に進む処理を実行する。
【００４４】ステップ８０において、マイクロプロセッサ２２は、実行領域装置３４からコードを取り出す。
【００４５】次いでステップ８２において、マイクロプロセッサ２２は、通常のブートアッププロセスを再開する。例えば、マイクロプロセッサ２２は、組み込まれたＲＯＭに存在するコードエンティティのリストを構築し、オペレーティングシステムにおけるタスクを開始し、マルチタスクを開始する。ブートアップ後に通常の操作が行われる。ただし、拡張メモリユニット３４は実行可能コードに使用される。好適な実施形態では、拡張メモリユニット３４を新たな実行領域として使用することによって、プリンタ１０は、デフォルトＲＯＭ１６が取り出すより高速でマイクロプロセッサ２２にコードを取り入れることが出来る。
【００４６】図５には、実行領域の変更に関連する処理を図示したフローチャートである。ユーザは、場合によって実行領域の変更を行う。例えば、実行可能コードのコピーの保持を専用に行う拡張メモリユニット３４におけるＲＡＭは、場合によってはデータ空間としてより有用である。この場合、ユーザは、実行領域を変更してデフォルトＲＯＭ１６に戻すことを所望する場合がある。別の予測できることとして、ユーザが既製の新しい拡張メモリユニットの数種をすでに入手しており、この新しい拡張メモリユニット中の一つを新たな実行領域として専用にしたいという場合がある。
【００４７】ブートアップ後にマイクロプロセッサ２２が、通常のメニューループに入り、ユーザコマンドを定期的にスキャンする。
【００４８】ステップ８６において、マイクロプロセッサ２２が、ユーザが現行の実行領域の変更を所望しているかを判定する。変更を行いたい場合であると判定すると、マイクロプロセッサ２２がステップ８８に進む処理を実行する。変更を行いたい場合でないと判定すると、マイクロプロセッサ２２が通常のメニューループ８４に戻る処理を実行する。
【００４９】ステップ８８において、マイクロプロセッサ２２は、新たな実行領域をユーザからキーパッド５６などを通じて入力されると、ステップ９０において、マイクロプロセッサ２２は、新たな実行領域が有効であることを確認する。例えば、マイクロプロセッサ２２が、新たな実行領域がＲＡＭを確実に備えるようにし、このＲＡＭのサイズをチェックして、実行可能コード又はコピーすべき実行可能コードの一部に十分なスペースを確実に有するよにすることなどがある。ここで有効であると、マイクロプロセッサ２２がステップ９２に進む処理を実行する。有効でない場合は、マイクロプロセッサ２２がステップ９６に進む処理を実行する。
【００５０】ステップ９２において、マイクロプロセッサ２２は、選択された実行領域の拡張メモリユニット３４上の不揮発性ＲＡＭにおけるフィールド又は領域６０を変更して、この拡張メモリユニット３４がデフォルト実行領域であることを表示する。
【００５１】次いでステップ９４において、実行領域として使用された拡張メモリユニット３４が別にある場合、マイクロプロセッサ２２は、実行領域として用いられていた実行領域の拡張メモリユニット３４上の不揮発性ＲＡＭにおいてフィールド又は領域６０を変更して、この拡張メモリユニット３４がもはやデフォルト実行領域ではないことを表示する。ステップ９４を実行後にステップ６４においてリブートを開始する。
【００５２】ステップ９６において、マイクロプロセッサ２２は、エラーを検出した（例えば、適切な実行領域はＲＡＭを含まない、適切な実行領域は十分な大きさのサイズではない等）ことをユーザに報告する。ステップ９６を実行後にマイクロプロセッサ２２が通常のメニューループ８４に戻る処理を実行する。
【００５３】図６には、拡張メモリユニット３４に予めフラグ付けを行う方法を図示したフローチャートである。電子機器の製造者又は販売者は、デフォルト実行領域であるとして、拡張メモリユニット３４に予めフラグ付けを行うことが可能である。例えば、システムの処理が遅いとユーザが苦情を申し立てることがある。この場合、製造者は、デフォルト実行領域として予めフラグ付けを行った高速の拡張メモリユニット３４を提供することができる。ユーザは、拡張メモリユニット３４が提供されると、この新しい拡張メモリユニット３４を組み込み、リブートして直ちにシステム性能の向上を図ることが出来るようになる。
【００５４】ステップ９８において、拡張メモリユニット３４に予めフラグ付けを行うプロセスを開始する。
【００５５】ステップ１００において、製造者は、デフォルト実行領域であるとして、拡張メモリユニット３４に予めフラグ付けを行う。これは、拡張メモリユニット３４の不揮発性ＲＡＭにおいてフラグ６０を規定するフィールドを変更して、この拡張メモリユニット３４をデフォルト実行領域として使用すべきであることを示すことによって行われる。
【００５６】ステップ１０２において、製造者は、予めフラグ付けされた拡張メモリユニット３４をユーザに出荷する。次いでステップ１０４において、ユーザは、予めフラグ付けされた拡張メモリユニット３４をプリンタ又は他の電子機器１０に組み込む。ステップ１０４を実行後に、ユーザがプリンタ又は他のプリンタ１０をリブートする。
【００５７】図７はデフォルトＲＯＭから実行可能コードがコピーされる拡張メモリにおける空き領域を説明するための図である。図７において、デフォルトＲＯＭにおける実行可能コードは開始アドレスＸを有し、実行可能コードがコピーされるメモリモジュールの拡張メモリにおける空き領域は、開始アドレスＹを有する。実行可能コードを拡張メモリ（予めフラグ付けされたメモリ又はユーザ選択によるメモリのいずれか）にコピーしたい場合を想定すると、拡張メモリ内のコードにアクセス可能な方法は二通りある。拡張メモリ内のコードが（そのコードによって参照されるメモリアドレスの意味において）動的に再配置できないため、そのコードにおける飛越し及び分岐は、デフォルトＲＯＭにおける不正確なアドレスを示している。すなわち、拡張メモリにおけるコピーされたコードのアドレスを示してはいない。したがって、一実施形態では、アドレスの変換を実行する。しかしながら、図４に図示される実施形態では、このようなコピーは、独立した操作ではない。
【００５８】図８はデフォルトＲＯＭから拡張メモリに実行可能にコピーする状態を説明するための図であり、図９はアドレスの再マッピングを説明するための図である。図８において、コピー操作は、デフォルトＲＯＭにおける実行可能コードの一部である。より詳細には、実行可能コードは、まず拡張メモリに物理的にコピーされる。次に、図９に示すようにアドレスが再マッピングされる。換言すれば、拡張メモリにコピーされたコードには、デフォルトＲＯＭにおける実行可能コードが常駐していたアドレスＸから開始するアドレスが供給される。デフォルトＲＯＭは用いない。このコードは、物理的には拡張メモリに存在するが、例えば、デフォルトＲＯＭにアドレスが供給される。
【００５９】図１０は、前記したように代替的な実施形態を図示し、アドレスの部分的な再マッピングを説明するための図である。実行可能コードの一部のみが拡張メモリにコピーされている。本実施形態では、拡張メモリでのコードのみが、デフォルトＲＯＭにおける実行可能コードを常駐させていたアドレスを供給する。拡張メモリにコピーされない実行可能コードの部分のアドレスは変更されない。
【００６０】本発明によって、ユーザは、その拡張メモリユニットをデータのバッファリングに使用するか、又は、コードの実行に使用するかを制御することが可能である。ユーザが、高速のコード実行を必要とする場合、ユーザは、コード実行に使用されるべきＲＡＭメモリ構成（例えば、コントロールパネル、ホストコンピュータ又はＬＡＮ接続によって）を選択することができる。
【００６１】場合によって、コード実行は、ユーザが受け入れられないボトルネックを示さない。製品中には、その入出力データチャネルの速度によって制限されるものもある。このような場合には、ＲＡＭメモリをデータのバッファリングに使用されるように構成することが、ユーザにとってより適切である。拡張メモリをいかに使用するかを選択するこの能力は、過去に提供されなかった、ある種のレベルのユーザ制御を提供している。
【００６２】更に、データバッファリングのためだけでなくコード実行のための領域として使用するように、メモリ装置に予めフラグ付けを行うことができるという理由から、ユーザは、このような予めフラグ付けされたメモリ装置を単に組み込むことによって性能の向上を直ちにできるようになる。複雑なユーザのセットアップや構成の手順は不要である。これは、ユーザの購入及び組み込みによるグレードアップであるため、製品の製造コストが嵩むことはない。
【００６３】構造上の特徴及び組織的な特徴に関して、多少、具体的な文言で本発明を記載してきたが、本明細書中で開示された手段は本発明を実施する最適な形態である。本発明は、ここに図示かつ記載された具体的特徴に限定されないことを理解できるものである。したがって、本発明は、添付する特許請求の範囲の正当な範囲内にある均等論に従って適切に解釈される本発明のあらゆる形態及び変形例を、特許請求の範囲とするものである。
【００６４】以下に本発明の実施の形態を要約する。
１．実行可能コードを格納するメモリ（１６）と、前記メモリ（１６）に接続され、実行可能コードに対する処理を実行するプロセッサ（２２）と、前記プロセッサ（２２）に接続され、実行可能コードの実行に応答して画像の印刷を行う印刷機構（１４）と、プラグ接続式のメモリ（３４）を着脱可能にして装着するためのメモリレセプタクル（３２）と、前記メモリレセプタクル（３２）に装着されるプラグ接続式のメモリ（３４）に実行可能コードを選択的に書き込むメモリコントローラ（３０）とを備える電子機器（１０）。
【００６５】２．前記プロセッサ（２２）は、前記メモリコントローラ（３０）を備える上記１記載の電子機器（１０）。
【００６６】３．前記メモリレセプタクル（３２）に対するプラグ接続式のメモリ（３４）の装着に応答して、前記メモリコントローラ（３０）は前記メモリ（１６）から前記プラグ接続式のメモリ（３４）に実行可能コードをコピーし、前記プロセッサ（２２）は前記プラグ接続式のメモリ（３４）からの実行可能コードに対する処理を実行する上記１記載の電子機器（１０）。
【００６７】４．前記メモリレセプタクル（３２）におけるプラグ接続式のメモリ（３４）を更に備え、前記プロセッサ（２２）は前記プラグ接続式のメモリ（３４）からの実行可能コードに対する処理を実行する上記１記載の電子機器（１０）。
【００６８】５．前記メモリコントローラ（３０）はメモリのアドレス領域を前記プロセッサ（２２）に供給し、前記プロセッサ（２２）は前記メモリコントローラ（３０）によって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラ（３０）は前記プロセッサ（２２）が実行可能コードに対する処理を実行中に、前記メモリ（１６）において供給されるアドレス領域からプラグ接続式のメモリ（３４）におけるアドレス領域に変更することができる上記１記載の電子機器（１０）。
【００６９】６．前記メモリレセプタクル（３２）においてプラグ接続式のメモリ（３４）を更に備え、前記メモリコントローラ（３０）は前記プロセッサ（２２）にメモリのアドレス領域を供給し、前記プロセッサ（２２）は前記メモリコントローラ（３０）によって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラ（３０）は前記プロセッサ（２２）が前記メモリ（１６）からの実行可能コードに対する処理を実行中に、前記メモリ（１６）において供給されるアドレス領域から前記プラグ接続式のメモリ（３４）におけるアドレス領域に切り替える上記１記載の電子機器（１０）。
【００７０】７．モードセレクタを更に備え、ユーザーが前記モードセレクタを使用して、前記プロセッサ（２２）がプラグ接続式のメモリ（３４）からの実行可能プログラムコードに対する処理を実行するモードと、前記プロセッサ（２２）が前記メモリ（１６）からの実行可能コードに対する処理を実行するモードとから選択することが可能である上記１記載の電子機器（１０）。
【００７１】８．実行可能コードを格納するアドレス（２０）の領域（１８）を有したＲＯＭ（１６）と、前記メモリ（１６）に接続され、供給されるアドレス（２０）の領域（１８）において実行可能コードに対する処理を実行するプロセッサ（２２）と、アドレス（２８）を有する領域（２６）を有するＲＡＭ（２４）を備える拡張メモリユニット（３４）が装着されるメモリレセプタクル（３２）とを備える電子機器（１０）を操作する方法であって、前記ＲＯＭ（１６）における領域（１８）のアドレス（２０）を前記プロセッサ（２２）に供給するステップと、前記プロセッサ（２２）を使用し、前記メモリコントローラ（３０）によって供給された前記アドレス（２０）の領域（１８）において実行可能コードに対する処理を実行するステップと、データ又は実行可能コードを格納する拡張メモリユニット（３４）を使用することをユーザが所望するかを判定するステップと、実行可能コードを格納する拡張メモリユニット（３４）を使用することをユーザが所望すると判定した場合に、前記拡張メモリユニット（３４）におけるＲＡＭにＲＯＭ（１６）から実行可能なプログラムコードをコピーし、前記プロセッサ（２２）が実行可能コードに対する処理を実行中に、前記ＲＯＭ（１６）におけるアドレス（２０）を前記ＲＡＭにおけるアドレス（３８）に切り替えるステップとを含む電子機器（１０）操作方法。
【００７２】９．前記判定ステップは、前記拡張メモリユニット（３４）におけるフラグの状況（６０）をチェックするステップを有する上記８記載の電子機器（１０）操作方法。
【００７３】１０．フラグを規定する領域（６０）を有する不揮発性メモリ（４０）を備える拡張メモリユニット（３４）を、前記メモリレセプタクル（３２）に装着するステップを更に含み、前記判定ステップは、前記フラグの状況をチェックするステップを有する上記８記載の電子機器（１０）操作方法。
【００７４】
【発明の効果】以上の説明から明らかなように、本発明の電子機器によれば、ユーザが、命令を取り出し、実行するシステムによって使用されるプラグ接続式のメモリモジュールを装着している。
【００７５】この結果、製品の製造及び購入後の性能向上を図ることができ、製造工場でのコスト増加を抑えることができる。また、キャッシュ処理の有無及び処理能力にかかわらずシステム性能が向上し、キャッシュの処理規模が縮小されて、コスト低減が可能になるという効果がある。
【図面の簡単な説明】
【図１】本実施形態である電子機器の一例を示す斜視図である。
【図２】図１のプリンタに追加される拡張メモリユニットを示す斜視図である。
【図３】図１に示すプリンタのハードウェア及びホストコンピュータの構成を示すブロック図である。
【図４】実施形態における電子機器の変形されたブートアッププロセスを示すフローチャートである。
【図５】実施形態において実行領域の変更に関連する処理を図示したフローチャートである。
【図６】実施形態において拡張メモリユニットに予めフラグ付けを行う方法を図示したフローチャートである。
【図７】実施形態においてデフォルトＲＯＭから実行可能コードがコピーされる拡張メモリにおける空き領域を説明するための図である。
【図８】実施形態においてデフォルトＲＯＭから拡張メモリに実行可能にコピーする状態を説明するための図である。
【図９】実施形態においてアドレスの再マッピングを説明するための図である。
【図１０】代替的な実施形態においてアドレスの部分的な再マッピングを説明するための図である。
【符号の説明】
１０  プリンタ
１２  筐体
１４  印刷エンジン
１６  デフォルトＲＯＭ
２２  マイクロプロセッサ
２４  オンボードＲＡＭ
３０  メモリコントローラ
３２  メモリレセプタクル
３４  拡張メモリユニット（実行領域装置）
４０  不揮発性メモリ
４２  カバー
４４  アクセス扉
４６  ホストコンピュータ
３０，４８  ＡＳＩＣ
５０  ＰＣＩローカルバス
５２  ＥＩＯカード
５４  コントロールパネル
５６  キーパッド