JP2000035866A5 - - Google Patents

Download PDF

Info

Publication number
JP2000035866A5
JP2000035866A5 JP1999040096A JP4009699A JP2000035866A5 JP 2000035866 A5 JP2000035866 A5 JP 2000035866A5 JP 1999040096 A JP1999040096 A JP 1999040096A JP 4009699 A JP4009699 A JP 4009699A JP 2000035866 A5 JP2000035866 A5 JP 2000035866A5
Authority
JP
Japan
Prior art keywords
memory
code
executable code
address
rom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1999040096A
Other languages
English (en)
Other versions
JP2000035866A (ja
Filing date
Publication date
Priority claimed from US09/026,801 external-priority patent/US6108100A/en
Application filed filed Critical
Publication of JP2000035866A publication Critical patent/JP2000035866A/ja
Publication of JP2000035866A5 publication Critical patent/JP2000035866A5/ja
Pending legal-status Critical Current

Links

Description

【発明の名称】電子機器及び電子機器操作方法
【特許請求の範囲】
【請求項1】実行可能コードを格納する第1のメモリと、前記第1のメモリに接続され、実行可能コードに対する処理を実行するプロセッサと、前記プロセッサに接続され、実行可能コードの実行に応答して画像の印刷を行う印刷機構と、プラグ接続式のメモリを着脱可能にして装着するためのメモリレセプタクルと、前記メモリレセプタクルに装着されるプラグ接続式のメモリに実行可能コードを選択的に書き込むメモリコントローラと、を備えることを特徴とする電子機器。
【請求項2】前記プロセッサは、前記メモリコントローラを備える請求項1に記載の電子機器。
【請求項3】前記メモリレセプタクルに対するプラグ接続式のメモリの装着に応答して、前記メモリコントローラは前記第1のメモリから前記プラグ接続式のメモリに実行可能コードをコピーし、前記プロセッサは前記プラグ接続式のメモリからの実行可能コードに対する処理を実行する請求項1に記載の電子機器。
【請求項4】前記メモリレセプタクルにプラグ接続式のメモリを更に備え、前記プロセッサは前記プラグ接続式のメモリからの実行可能コードに対する処理を実行する請求項1に記載の電子機器。
【請求項5】前記メモリコントローラはメモリのアドレス領域を前記プロセッサに供給し、前記プロセッサは前記メモリコントローラによって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラは前記プロセッサが実行可能コードに対する処理を実行中に、前記第1のメモリにおいて供給されるアドレス領域からプラグ接続式のメモリにおけるアドレス領域に変更することができる請求項1に記載の電子機器。
【請求項6】前記メモリレセプタクルにおいてプラグ接続式のメモリを更に備え、前記メモリコントローラは前記プロセッサにメモリのアドレス領域を供給し、前記プロセッサは前記メモリコントローラによって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラは前記プロセッサが前記第1のメモリからの実行可能コードに対する処理を実行中 に、前記第1のメモリにおいて供給されるアドレス領域から前記プラグ接続式のメモリにおけるアドレス領域に切り替える請求項1に記載の電子機器。
【請求項7】モードセレクタを更に備え、ユーザーが前記モードセレクタを使用して、前記プロセッサがプラグ接続式のメモリからの実行可能プログラムコードに対する処理を実行するモードと、前記プロセッサが前記第1のメモリからの実行可能コードに対する処理を実行するモードとから選択することが可能である請求項1に記載の電子機器。
【請求項8】実行可能コードを格納する、アドレスの領域を有するROMと、前記ROMに接続され、供給されるアドレスの領域において実行可能コードに対する処理を実行するプロセッサと、アドレスを有する領域を有するRAMを備える拡張メモリユニットが装着されるメモリレセプタクルとを備える電子機器を操作する方法であって、
前記ROMにおける領域のアドレスを前記プロセッサに供給するステップと、
前記プロセッサを使用し、前記メモリコントローラによって供給された前記アドレスの領域において実行可能コードに対する処理を実行するステップと、
データ又は実行可能コードを格納する拡張メモリユニットを使用することをユーザが所望するかを判定するステップと、
実行可能コードを格納する拡張メモリユニットを使用することをユーザが所望すると判定した場合に、前記拡張メモリユニットにおけるRAMに前記ROMから実行可能なプログラムコードをコピーし、前記プロセッサが実行可能コードに対する処理を実行中に、前記ROMにおけるアドレスを前記RAMにおけるアドレスに切り替えるステップと
を含む電子機器操作方法。
【請求項9】前記判定するステップは、前記拡張メモリユニットにおけるフラグの状態をチェックするステップを有する請求項8に記載の電子機器操作方法。
【請求項10】フラグを規定する領域を有する不揮発性メモリを備える拡張メモリユニットを、前記メモリレセプタクルに装着するステップを更に含み、
前記判定するステップは、前記フラグの前記状態をチェックするステップを有する請求項8に記載の電子機器操作方法。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プリンタ及び他の電子機器に関し、より詳細には、拡張メモリの追加装備が可能な内蔵システムを備えるプリンタなどの電子機器に関する。
【0002】
【従来技術】従来、多種の電子製品は、内蔵マイクロプロセッサの制御(シーケンス)に基づいて動作している。この内蔵マイクロプロセッサは、通常、製造工場で組み込んだメモリに格納したアプリケーションのプログラム(ファームウェア)を起動して、その制御を実行している。このメモリは、マスクROM、EEPROMであることが多い。装置のシステム性能は、中央処理装置(CPU)がこのROM又はEPROMのコードメモリから命令を取り出す速度によって決定されることが多い。このROM又はEPROMは、現行で用いられるメモリを拡張するための拡張メモリユニットよりもアクセス時間が遅いことが知られている。
【0003】
【発明が解決しようとする課題】このような従来の課題に対する解決策として、CPUが命令を高速で実行するためにキャッシュを設けることがある。これらのキャッシュとしては、CPU中に設けられ、又は、CPUに隣接して設けられる小容量のバッファメモリを用いている。このCPUにおいて高速で実行するように性能を向上させるためには、キャッシュメモリの記憶容量を大きくする必要がある。この場合、コストが嵩むことになる。すなわち、マイクロプロセッサを内蔵したシステムは、キャッシュメモリでの処理(書き込み/読み出し)速度及び、この結果でのシステム資源における競合で制限されることになる。
【0004】また、従来の課題に対する他の解決策において、メモリとして高速メモリ(SRAM、DRAM又はSDRAM等)を用いる場合がある。このような高速メモリは揮発性である。そのためアプリケーションプログラム(ファームウェア)の再ロード方法をユーザに供給できるようにするか、又は、メモリのデータが破損しないようにする必要がある。アプリケーションプログラムを再ロードする場合は、周知のマスクROM、又は、「ブートROM」を用いるとともに、このための入出力インタフェースを設ける必要がある。
【0005】パーソナルコンピュータでは、内蔵したシステムを考えずに、これらの構成を組み込んで使用する必要がある。すなわち、これらの技術はコストが嵩み、かつ、入出力インタフェースの構成及び処理が複雑であるため、通常、マイクロプロセッサを内蔵したシステムでは設けられていない。アプリケーションプログラムの再ロードの能力がない場合には、製造工場で格納した揮発性メモリのプログラムが、この後に破損しないようにする必要がある。このため、コストが嵩み、かつ、バッテリバックアップが必要になる。また、格納したプログラムは、静電気放電又はα粒子によって破損することがある。
【0006】なお、ユーザが拡張メモリを追加できるように、プリンタ及び他の電子機器にプラグ接続式のメモリ用のレセプタクル(以後、「メモリレセプタクル」という。)を設けている。このメモリは、追加データのバッファリングに用いられる。例えば、Ukaiらに付与された米国特許第5,137,379号(対応日本出願:特願昭59−130677号、特願昭60−6475号を参照)では、ROMを有するカートリッジを備えプリンタを開示している。
【0007】このカートリッジは、少なくとも1個の文字フォント・セットのデータを格納し、かつ、印刷動作制御プログラムを格納するメモリデバイスを内蔵している。印刷動作制御プログラム及び文字フォント・セットのデータは、適切なカートリッジをプリンタ本体に着脱可能に構成し、その装着を行うことによって設定できる。プリンタの仕様を、カートリッジを変更することによってホストコンピュータに適合させることが可能である。
【0008】またOhara らに付与された米国特許第5,332,320号(対応日本出願:特願平4−228698号)には、モード選択を備えた印刷装置が開示されている。印刷装置は、各種プログラムを格納したROMを備えている。このROMとして、着脱可能なROMカートリッジをスロットに装着(挿入)するように構成することもできる。カートリッジは、エミュレーション実行ユニット及びエミュレーション判定ユニットでも良い。エミュレーションモードは、エミュレーションモード外部メモリカートリッジを装着することによって自動的に選択される。
【0009】プリンタは、各種の機能を実行する実行可能コードを格納したROMを備えている。プリンタは、パーソナルコンピュータなどのコンピュータに直接又はネットワークを通じて接続される。コンピュータは、PCL又はポストスクリプト等のページ記述言語をプリンタに送信する。プリンタにおける実行可能コードは、ページ記述言語を解釈し、又は、復号化してページ上で画像をレンダリングする。これは、フォントのスケーリング、ライン(ベクトル)描写、領域のパターンによるフィル、すでに存在しているフォームやすかしとページ内容と結合することなどが含まれている。ページ記述言語の解釈を、グラフィックスの可能な回転又はクリッピングと、解像度の変換およびその向上とに関連させることが可能である。ページ記述言語の解釈は、画像のディザ(グレースケール)にも関連する。
【0010】例えば、本発明の出願人から入手可能なある種のプリンタはプログラム可能なメモリコントローラを備えている。これらのメモリコントローラは、アドレス・マップを選択的に変更するものであり、コード実行中に、実行すべきコードの領域(ロケーション)を表示する。
【0011】本発明は、このような従来の技術における課題を解決するものであり、ユーザによる拡張メモリの購入及び装着でのグレードアップによって工場製造におけるコスト増加を抑え、またキャッシュの処理規模を縮小して、そのコスト低減を可能にする電子機器を提供することを目的とする。
【0012】
【課題を解決するための手段】上記課題を達成するために、本発明の電子機器は、実行可能コードを格納するメモリと、このメモリに接続され、実行可能コードに対する処理を実行するプロセッサと、プラグ接続式のメモリを着脱可能にして装着するメモリレセプタクルと、このメモリレセプタクルに装着されるプラグ接続式のメモリに実行可能コードを選択的に書き込むメモリコントローラとを備えるものである。本発明の一態様では、前記電子機器は、前記プロセッサに接続され、画像をレンダリングする印刷機構を含むプリンタである。
【0013】本発明の別の態様は、実行可能コードを格納し、アドレス領域( ロケーション)を有するROMと、このROMに接続され、実行可能コードに対する処理を実行するプロセッサと、アドレス領域を有するRAMとフラグを規定する領域を有した不揮発性メモリとを備えた拡張メモリユニットが装着可能にして装着され、かつ、前記拡張メモリユニットと前記プロセッサとを接続するメモリレセプタクルと、メモリのアドレスを前記プロセッサに供給するメモリコントローラとを有する電子機器を提供する。前記プロセッサは前記メモリコントローラによって供給されるアドレス領域において実行可能コードに対する処理を実行し、前記メモリコントローラは、制御信号に応答して、拡張メモリユニットにおけるRAMに実行可能なプログラムコードをコピーし、前記プロセッサが実行可能コードに対する処理を実行中に、前記ROMにおける供給されるアドレス領域から前記RAMにおけるアドレス領域に切り替える(実行領域を切り換える)ように構成されている。
【0014】本発明の別の態様は、実行可能コードを格納するアドレス領域を有したROMを備える電子機器の操作方法である。この電子機器は、前記メモリ(ROM)に接続され、供給されるアドレス領域において実行可能コードに対する処理を実行するプロセッサと、アドレス領域を有するRAMを備えた拡張メモリユニットが装着されるメモリレセプタクルとを更に備えるものである。前記電子機器の操作方法は、前記ROMにおけるメモリのアドレス領域を前記プロセッサに供給するステップと、前記プロセッサを使用し、前記メモリコントローラによって供給された前記アドレスの領域において実行可能コードに対する処理を実行するステップと、データ又は実行可能コードを格納する拡張メモリユニットを使用することをユーザが必要とするかを判定するステップと、実行可能コードを格納する拡張メモリユニットを使用することをユーザが必要とすると判定した際に、前記拡張メモリユニットにおけるRAMにROMから実行可能なプログラムコードをコピーし、前記プロセッサが実行可能コードに対する処理を実行中に、前記ROMにおける供給されるアドレスを前記RAMにおけるアドレスに切り替えるステップとを有している。
【0015】このような本発明の電子機器では、ユーザが、データのバッファリングなどの従来の用途に代えて、命令を取り出し、実行するシステムによって使用されるプラグ接続式の拡張メモリのメモリモジュールを装着することによって、製品の製造及び購入後の性能向上(グレードアップ)を図ることができる。これは、ユーザによる購入及び装着でのグレードアップであり、製造工場でのコスト増加にはならない。本発明は、キャッシュ処理の有無及び処理能力にかかわらずシステム性能が向上する。本発明の一態様では、キャッシュの処理規模が縮小されて、コスト低減が可能になる。
【0016】
【発明の実施の形態】次に、本発明の電子機器の実施の形態を図面を参照して詳細に説明する。図1は本実施形態である電子機器の一例を示す斜視図であり、ここでは電子機器としてプリンタ10を示している。また、図2は図1のプリンタに追加される拡張メモリユニット34を示す斜視図、図3は、図1に示すプリンタのハードウェア及びホストコンピュータの構成を示すブロック図、図4は実施形態における電子機器の変形されたブートアッププロセス(立ち上げプロセス)を示すフローチャートである。
【0017】図1に示される実施形態では、電子機器がプリンタ10である。なお、代替的な実施形態では、電子機器は、ファクシミリ機、スキャナ、プロッタ又はメモリを備える他の電子機器である。本発明の電子機器は、上記で記載したように内蔵システムを有するあらゆる電子機器である。プリンタ10は、筐体12と、この筐体内にある印刷機構の印刷エンジン14(図3)とを有している。他のタイプの印刷機構を使用しても良いが、図示される実施形態において、印刷エンジン14は、レーザ印刷機構である。プリンタ10は、通常、プリンタに備える他のコンポーネント(図示せず)、例えば、筐体12に従来の方法で配置されるローラ、トナーディスペンサ、レーザヘッド、ペーパートレイ及び給紙機構を更に備えている。
【0018】プリンタ10は、図3に示すように、実行可能コードを格納する領域18を有するオンボードROM又はデフォルトROM16を備えている。この領域18には、各アドレス20がある。プリンタ10は、領域26を有したオンボードRAM24を更に備えている。この領域26は各アドレス28を有している。プリンタ10は、デフォルトROM16に接続され、実行可能コードに対する処理を実行するマイクロプロセッサ22を更に備えている。
【0019】より詳細には、プリンタ10に、マイクロプロセッサ22とデフォルトROM16及びオンボードRAM24の間で接続されるASIC( 特定用途向け集積回路)30を更に備えている。一実施形態において、ASIC30は、メモリコントローラを規定する。プリンタ10は、ホストコンピュータ46と併用するように設計されている。別の実施形態では、メモリコントローラが、マイクロプロセッサ22に設けられる。プリンタ10には、ホストコンピュータ46とマイクロプロセッサ22との間並列接続を与えるASIC48を更に有している。印刷エンジン14は、マイクロプロセッサ22に接続され、画像をレンダリングする。
【0020】図示される実施形態では、プリンタ10が、PCIローカルバス50を備えている。なお、PCIローカルバスに代えて他のバス形式を採用しても良い。プリンタ10は、ASIC30及び48にPCIローカルバス50を通じて接続される。なお、複数のEIOカード52を備える構成としても良い。このEIOカード52は、ネットワーク接続用などに使用されるものである。プリンタ10は、図1に示すように、キーパッド56を備えており、各種ユーザ選択を指示するためのコントロールパネル54と、メッセージを表示する表示画面部58とを更に有している。
【0021】プリンタ10は、複数の拡張が可能なように構成される。すなわち、プラグ接続式の拡張メモリユニット34が着脱可能に構成され、この拡張メモリユニット34がマイクロプロセッサ22に接続するように構成される。この場合、複数のメモリレセプタクル32が更に設けられる。より詳細には、図2に示される実施形態において、レセプタクル32は、DIMMレセプタクルであり、拡張メモリユニット34は、このDIMMユニットである。メモリレセプタクル32は、ASIC30を通じてマイクロプロセッサ22(図3参照)に接続されている。
【0022】図3に示すように、拡張メモリユニット34は、領域36を有するRAMが設けられている。領域36は、アドレス38を有している。拡張メモリユニット34は、不揮発性メモリ40を更に有している。図示される実施形態では、拡張メモリユニット34は、JEDEC標準に準拠している。図示される実施形態では、拡張メモリユニット34は、National Semiconductor社から入手可能なパーツ番号24C02LM8等の2CインタフェースEEPROMで構成される。JEDEC標準では、拡張メモリユニット34における不揮発性メモリ40を特定している。すなわち、図示される実施形態では、拡張メモリユニット34は、デフォルトROMより高速な処理(書き込み/読み出し)が可能なRAM、例えば、DRAM,EDODRAM又はSDRAMを備えるものである。
【0023】図1に示される実施形態では、プリンタ10は、カバー42を備えており、カバー42を後ろ側に摺動して解除し、次に、カバー42の上部を開き、かつ、保持して取り外す。カバー42の背後には、アクセス扉44が設けられており、ねじを外し、かつ、保持して開く。このアクセス扉44の背後には、図2に示すように、メモリレセプタクル32が配置されている。
【0024】図3において、メモリコントローラ30は、マイクロプロセッサ22に対するメモリのアドレスを送出する。メモリコントローラ30は、プログラミングが可能である。このプログラミングが可能なメモリコントローラ30は、本発明の出願人の製造によるプリンタに多数装備される。メモリコントローラ30は、コードが実行中であっても、アドレス・マップを動的に変更させる。この処理によって、実行可能コードを新たなメモリ資源、すなわち、拡張メモリユニット34にコピーすることができるようになる。また、アドレス変換を行わずに、このコードを新たなメモリ資源から実行することが出来る。
【0025】プリンタのデフォルトROM16には、ブートアップコード常駐している。通常のブートアップコードは、様々な機能に対応する処理を実行する。例えば、マイクロプロセッサでのキャッシュを使用可能にする。また、PCIバスを初期化する。更に、ASICにおける各種機能ブロックに対するアドレスをセットアップする。また、ROM装置及びRAM装置マッピングする。更に、タイマースケーラレジスタをセットアップする。また、RAMをプチャージ及びリフレッシュする。更に、内部オンボードRAMをテストする。また、任意の特殊ブートアップモードにおけるコントロールパネル54のキーパッド56をスキャンする。
【0026】通常のブートアップコードでは、更に、次のような機能を実行する。例えば、メッセージをコントロールパネル54の表示画面部58に表示させて、初期化が行われていることをユーザに通知する。更に、タイマ割込みを開始する。また、MMU,ISR,EIO等を初期化する。また、装置のDIMMスロットをポーリングする。更に、実行する領域コードに対する処理を実行する。また、DIMMをサイズごとにソートする。また、メモリの隣接(連続)ブロックとしてRAMマッピングする。更に、メモリの隣接ブロックとしてROMマッピングする。また、組み込まれたROMにおいて存在するコードエンティティのリストを構築する。更に、オペレーティングシステムにおいてタスクを開始する。また、マルチタスクを開始することもある。
【0027】マイクロプロセッサ22は、メモリコントローラ30によって供給されるアドレス領域で実行可能コードを処理する。メモリコントローラ30は、制御信号に応答して、デフォルトROM16から拡張メモリユニット34におけるRAMに実行可能なプログラムコードをコピーし、ROMにおける領域18に対して供給されるアドレス20から拡張メモリユニット34のRAMにおける領域36に対するアドレス38に切り替える(実行領域を切り替える)。
【0028】図示される実施形態では、マイクロプロセッサ22が実行可能コードに対する処理を実行中に、そのコピーが行われる。メモリコントローラ30は、制御信号を取り込まない場合は、拡張メモリユニット34におけるRAMをデータの格納のために使用している。この場合、拡張メモリユニット34におけるRAMの少なくとも一部が実行可能コードを格納するために使用される。一実施形態では、この制御信号は、ホストコンピュータ46から、又は、ローカルエリアネットワーク(LAN)接続からコントロールパネル54を通じて供給される。この処理を実施するために、不揮発性ROMメモリに常駐するブートアップコードを変更して、これらの命令を含めるようにする。ブートアップコードは、図4に関連して以下に記載するように変更される。
【0029】一実施形態では、制御信号に応答して、デフォルトROM16から拡張メモリユニット34におけるRAMへ、すべてのデータをコピーする。このコピーは、制御信号が存在する場合、プリンタ10がリブート又は再起動する都度(例えば、電源中断がある都度、又は、OFF状態のプリンタをONにする都度)に実行される。図示される実施形態では、各拡張メモリユニット34は、RAMバンクである。RAMバンクは、デフォルトROM16からコードをコピーし続けるために、十分な記憶容量を有していることが必要である。
【0030】一実施形態では、2個以上の拡張メモリユニット(RAMバンク)34が、実行可能コードのコピーを保持するために使用される。このコピー後にメモリコントローラ30は、デフォルトROM16が常駐していたアドレス空間と同一のアドレス空間にRAMバンク34をスワップする。換言すれば、マイクロプロセッサ22での視点から、実行可能コードは、(例えば、マイクロプロセッサ22のキャッシュに)コードを取り込む時間がもはや長くこと以外では変更はない。
【0031】別の実施形態では、すべての実行可能コードを、デフォルトROM16から拡張メモリユニット34におけるRAMにコピーしない。本実施形態では、頻繁に使用するコードを拡張メモリユニット34にコピーする。例えば、電子機器は、大量の実行可能コードを有する場合もあるが、90パーセントの時間でそのコードの10パーセントのみが実行される。本実施形態では、拡張メモリユニット34におけるRAMにより小ブロックのコードを単にコピーして、次に高速RAMに、その小ブロックのデフォルトROMを対応づけることによって、速度上の利点が得られる。
【0032】したがって、本発明において、ユーザは、高速のプラグ接続式の拡張メモリユニット34を追加し、これを従来例に代えて追加データのバッファリング等のコード実行のためにこれを用いることができる。ユーザもまた、コード実行用でのプラグ接続式の拡張メモリユニット34の使用を少なくし、代わりに拡張メモリユニット34を従来のようにデータのバッファリングのために使用することが出来る。
【0033】コード実行モード(例えば、コードをオンボードメモリ(デフォルトROM)16から実行すべきか、又は、拡張メモリユニット34から実行すべきか)を保存又は保管するためには、現行の実行モードを不揮発性メモリに保存する。一実施形態では、現行の実行モードは、拡張メモリユニット34自体に存在する不揮発性メモリ40に保存される。したがって、不揮発性メモリ40は、設定されている場合には、実行可能コードを格納するために拡張メモリユニット34を使用することを示すフラグを規定する領域60を有することになる。
【0034】本実施形態の利点では、拡張メモリユニット34に予めフラグ付けを行うことによって、拡張メモリユニット34を組み込むと、直ちにデフォルトROM16に代わって、この拡張メモリユニット34をコード実行に使用できることをプリンタ10が認識可能になる。次に、実行可能コードのすべて又は一部は、デフォルトROM16からユーザ指定による高速の拡張メモリユニット34にコピーされる。実行可能コードがコピーされると、拡張メモリユニット34を再マッピングしてデフォルトROM16のすべて又は一部を交換する。本実施形態では、フラグが設定される拡張メモリユニット34の装着に対応して制御信号が生成される。
【0035】図4は、通常のブートアップ手順が予めフラグ付けされた拡張メモリユニット34と併用するように変更される状態を図示したフローチャートである。
【0036】ステップ64において、予めフラグ付けされた拡張メモリユニット34が組み込まれた後にユーザがプリンタ10のリブート又は再起動を開始する。
【0037】ステップ64の次のステップ66において、初期コードは、常にデフォルトROM16から実行される。この初期コードは、マイクロプロセッサのキャッシュを可能にし、PCIバスを初期化し、ASIC内にある各種機能ブロックのベースアドレスをセットアップし、ROM装置及びRAM装置においてマッピングし、タイマープレスカラレジスタをセットアップする。更に、RAMをプレチャージ及びリフレッシュし、内部オンボードRAMをテストし、任意の特殊ブートアップモードにおけるコントロールパネル54のキーパッド56をスキャンし、メッセージをコントロールパネル54の表示画面部58に表示させて、その初期化が行われていることをユーザに通知する。そして、タイマ割込みを開始し、MMU,ISR,EIOなどを初期化する。
【0038】ステップ68において、マイクロプロセッサ22は、すべてのメモリ装置をスキャンし、デフォルト実行領域であるとしてフラグ付けされている第1の拡張メモリユニット34を見つける。ステップ68の実行後に、マイクロプロセッサ22がステップ70の処理を実行する。
【0039】ステップ70において、マイクロプロセッサ22は、予めフラグ付けされた拡張メモリユニット34の実行領域が見つかったかを判定する。見つかれば、マイクロプロセッサ22がステップ72に進む処理を実行する。見つからなければ、マイクロプロセッサ22がステップ82に進む処理を実行する。
【0040】ステップ72において、マイクロプロセッサ22は、実行領域装置である拡張メモリユニット34をデータ空間として使用することを禁じる処理を実行する。
【0041】次いでステップ74において、マイクロプロセッサ22は、デフォルトROM16から実行領域装置34にコードをコピーする。ステップ74を実行後にマイクロプロセッサ22がステップ76に進む処理を実行する。
【0042】ステップ76において、マイクロプロセッサ22は、デフォルトROM16と同一アドレスになるように、実行領域装置34のアドレスを再マッピングする。
【0043】次いでステップ78において、マイクロプロセッサ22は、デフォルトROM16をスワップアウトし、同時に実行領域装置34スワップインする。ステップ78を実行後にマイクロプロセッサ22がステップ80に進む処理を実行する。
【0044】ステップ80において、マイクロプロセッサ22は、実行領域装置34からコードを取り出す。
【0045】次いでステップ82において、マイクロプロセッサ22は、通常のブートアッププロセスを再開する。例えば、マイクロプロセッサ22は、組み込まれたROMに存在するコードエンティティのリストを構築し、オペレーティングシステムにおけるタスクを開始し、マルチタスクを開始する。ブートアップ後に通常の操作が行われる。ただし、拡張メモリユニット34は実行可能コードに使用される。好適な実施形態では、拡張メモリユニット34を新たな実行領域として使用することによって、プリンタ10は、デフォルトROM16が取り出すより高速でマイクロプロセッサ22にコードを取り入れることが出来る。
【0046】図5には、実行領域の変更に関連する処理を図示したフローチャートである。ユーザは、場合によって実行領域の変更を行う。例えば、実行可能コードのコピーの保持を専用に行う拡張メモリユニット34におけるRAMは、場合によってはデータ空間としてより有用である。この場合、ユーザは、実行領域を変更してデフォルトROM16に戻すことを所望する場合がある。別の予測できることとして、ユーザが既製の新しい拡張メモリユニットの数種をすでに入手しており、この新しい拡張メモリユニット中の一つを新たな実行領域として専用にしたいという場合がある。
【0047】ブートアップ後にマイクロプロセッサ22が、通常のメニューループに入り、ユーザコマンドを定期的にスキャンする。
【0048】ステップ86において、マイクロプロセッサ22が、ユーザが現行の実行領域の変更を所望しているかを判定する。変更を行いたい場合であると判定すると、マイクロプロセッサ22がステップ88に進む処理を実行する。変更を行いたい場合でないと判定すると、マイクロプロセッサ22が通常のメニューループ84に戻る処理を実行する。
【0049】ステップ88において、マイクロプロセッサ22は、新たな実行領域をユーザからキーパッド56などを通じて入力されると、ステップ90において、マイクロプロセッサ22は、新たな実行領域が有効であることを確認する。例えば、マイクロプロセッサ22が、新たな実行領域がRAMを確実に備えるようにし、このRAMのサイズをチェックして、実行可能コード又はコピーすべき実行可能コードの一部に十分なスペースを確実に有するよにすることなどがある。ここで有効であると、マイクロプロセッサ22がステップ92に進む処理を実行する。有効でない場合は、マイクロプロセッサ22がステップ96に進む処理を実行する。
【0050】ステップ92において、マイクロプロセッサ22は、選択された実行領域の拡張メモリユニット34上の不揮発性RAMにおけるフィールド又は領域60を変更して、この拡張メモリユニット34がデフォルト実行領域であることを表示する。
【0051】次いでステップ94において、実行領域として使用された拡張メモリユニット34が別にある場合、マイクロプロセッサ22は、実行領域として用いられていた実行領域の拡張メモリユニット34上の不揮発性RAMにおいてフィールド又は領域60を変更して、この拡張メモリユニット34がもはやデフォルト実行領域ではないことを表示する。ステップ94を実行後にステップ64においてリブートを開始する。
【0052】ステップ96において、マイクロプロセッサ22は、エラーを検出した(例えば、適切な実行領域はRAMを含まない、適切な実行領域は十分な大きさのサイズではない等)ことをユーザに報告する。ステップ96を実行後にマイクロプロセッサ22が通常のメニューループ84に戻る処理を実行する。
【0053】図6には、拡張メモリユニット34に予めフラグ付けを行う方法を図示したフローチャートである。電子機器の製造者又は販売者は、デフォルト実行領域であるとして、拡張メモリユニット34に予めフラグ付けを行うことが可能である。例えば、システムの処理が遅いとユーザが苦情を申し立てることがある。この場合、製造者は、デフォルト実行領域として予めフラグ付けを行った高速の拡張メモリユニット34を提供することができる。ユーザは、拡張メモリユニット34が提供されると、この新しい拡張メモリユニット34を組み込み、リブートして直ちにシステム性能の向上を図ることが出来るようになる。
【0054】ステップ98において、拡張メモリユニット34に予めフラグ付けを行うプロセスを開始する。
【0055】ステップ100において、製造者は、デフォルト実行領域であるとして、拡張メモリユニット34に予めフラグ付けを行う。これは、拡張メモリユニット34の不揮発性RAMにおいてフラグ60を規定するフィールドを変更して、この拡張メモリユニット34をデフォルト実行領域として使用すべきであることを示すことによって行われる。
【0056】ステップ102において、製造者は、予めフラグ付けされた拡張メモリユニット34をユーザに出荷する。次いでステップ104において、ユーザは、予めフラグ付けされた拡張メモリユニット34をプリンタ又は他の電子機器10に組み込む。ステップ104を実行後に、ユーザがプリンタ又は他のプリンタ10をリブートする。
【0057】図7はデフォルトROMから実行可能コードがコピーされる拡張メモリにおける空き領域を説明するための図である。図7において、デフォルトROMにおける実行可能コードは開始アドレスXを有し、実行可能コードがコピーされるメモリモジュールの拡張メモリにおける空き領域は、開始アドレスYを有する。実行可能コードを拡張メモリ(予めフラグ付けされたメモリ又はユーザ選択によるメモリのいずれか)にコピーしたい場合を想定すると、拡張メモリ内のコードにアクセス可能な方法は二通りある。拡張メモリ内のコードが(そのコードによって参照されるメモリアドレスの意味において)動的に再配置できないため、そのコードにおける飛越し及び分岐は、デフォルトROMにおける不正確なアドレスを示している。すなわち、拡張メモリにおけるコピーされたコードのアドレスを示してはいない。したがって、一実施形態では、アドレスの変換を実行する。しかしながら、図4に図示される実施形態では、このようなコピーは、独立した操作ではない。
【0058】図8はデフォルトROMから拡張メモリに実行可能にコピーする状態を説明するための図であり、図9はアドレスの再マッピングを説明するための図である。図8において、コピー操作は、デフォルトROMにおける実行可能コードの一部である。より詳細には、実行可能コードは、まず拡張メモリに物理的にコピーされる。次に、図9に示すようにアドレスが再マッピングされる。換言すれば、拡張メモリにコピーされたコードには、デフォルトROMにおける実行可能コードが常駐していたアドレスXから開始するアドレスが供給される。デフォルトROMは用いない。このコードは、物理的には拡張メモリに存在するが、例えば、デフォルトROMにアドレスが供給される。
【0059】図10は、前記したように代替的な実施形態を図示し、アドレスの部分的な再マッピングを説明するための図である。実行可能コードの一部のみが拡張メモリにコピーされている。本実施形態では、拡張メモリでのコードのみが、デフォルトROMにおける実行可能コードを常駐させていたアドレスを供給する。拡張メモリにコピーされない実行可能コードの部分のアドレスは変更されない。
【0060】本発明によって、ユーザは、その拡張メモリユニットをデータのバッファリングに使用するか、又は、コードの実行に使用するかを制御することが可能である。ユーザが、高速のコード実行を必要とする場合、ユーザは、コード実行に使用されるべきRAMメモリ構成(例えば、コントロールパネル、ホストコンピュータ又はLAN接続によって)を選択することができる。
【0061】場合によって、コード実行は、ユーザが受け入れられないボトルネックを示さない。製品中には、その入出力データチャネルの速度によって制限されるものもある。このような場合には、RAMメモリをデータのバッファリングに使用されるように構成することが、ユーザにとってより適切である。拡張メモリをいかに使用するかを選択するこの能力は、過去に提供されなかった、ある種のレベルのユーザ制御を提供している。
【0062】更に、データバッファリングのためだけでなくコード実行のための領域として使用するように、メモリ装置に予めフラグ付けを行うことができるという理由から、ユーザは、このような予めフラグ付けされたメモリ装置を単に組み込むことによって性能の向上を直ちにできるようになる。複雑なユーザのセットアップや構成の手順は不要である。これは、ユーザの購入及び組み込みによるグレードアップであるため、製品の製造コストが嵩むことはない。
【0063】構造上の特徴及び組織的な特徴に関して、多少、具体的な文言で本発明を記載してきたが、本明細書中で開示された手段は本発明を実施する最適な形態である。本発明は、ここに図示かつ記載された具体的特徴に限定されないことを理解できるものである。したがって、本発明は、添付する特許請求の範囲の正当な範囲内にある均等論に従って適切に解釈される本発明のあらゆる形態及び変形例を、特許請求の範囲とするものである。
【0064】以下に本発明の実施の形態を要約する。
1.実行可能コードを格納するメモリ(16)と、前記メモリ(16)に接続され、実行可能コードに対する処理を実行するプロセッサ(22)と、前記プロセッサ(22)に接続され、実行可能コードの実行に応答して画像の印刷を行う印刷機構(14)と、プラグ接続式のメモリ(34)を着脱可能にして装着するためのメモリレセプタクル(32)と、前記メモリレセプタクル(32)に装着されるプラグ接続式のメモリ(34)に実行可能コードを選択的に書き込むメモリコントローラ(30)とを備える電子機器(10)。
【0065】2.前記プロセッサ(22)は、前記メモリコントローラ(30)を備える上記1記載の電子機器(10)。
【0066】3.前記メモリレセプタクル(32)に対するプラグ接続式のメモリ(34)の装着に応答して、前記メモリコントローラ(30)は前記メモリ(16)から前記プラグ接続式のメモリ(34)に実行可能コードをコピーし、前記プロセッサ(22)は前記プラグ接続式のメモリ(34)からの実行可能コードに対する処理を実行する上記1記載の電子機器(10)。
【0067】4.前記メモリレセプタクル(32)におけるプラグ接続式のメモリ(34)を更に備え、前記プロセッサ(22)は前記プラグ接続式のメモリ(34)からの実行可能コードに対する処理を実行する上記1記載の電子機器(10)。
【0068】5.前記メモリコントローラ(30)はメモリのアドレス領域を前記プロセッサ(22)に供給し、前記プロセッサ(22)は前記メモリコントローラ(30)によって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラ(30)は前記プロセッサ(22)が実行可能コードに対する処理を実行中に、前記メモリ(16)において供給されるアドレス領域からプラグ接続式のメモリ(34)におけるアドレス領域に変更することができる上記1記載の電子機器(10)。
【0069】6.前記メモリレセプタクル(32)においてプラグ接続式のメモリ(34)を更に備え、前記メモリコントローラ(30)は前記プロセッサ(22)にメモリのアドレス領域を供給し、前記プロセッサ(22)は前記メモリコントローラ(30)によって供給されたアドレス領域において実行可能コードに対する処理を実行し、そして前記メモリコントローラ(30)は前記プロセッサ(22)が前記メモリ(16)からの実行可能コードに対する処理を実行中に、前記メモリ(16)において供給されるアドレス領域から前記プラグ接続式のメモリ(34)におけるアドレス領域に切り替える上記1記載の電子機器(10)。
【0070】7.モードセレクタを更に備え、ユーザーが前記モードセレクタを使用して、前記プロセッサ(22)がプラグ接続式のメモリ(34)からの実行可能プログラムコードに対する処理を実行するモードと、前記プロセッサ(22)が前記メモリ(16)からの実行可能コードに対する処理を実行するモードとから選択することが可能である上記1記載の電子機器(10)。
【0071】8.実行可能コードを格納するアドレス(20)の領域(18)を有したROM(16)と、前記メモリ(16)に接続され、供給されるアドレス(20)の領域(18)において実行可能コードに対する処理を実行するプロセッサ(22)と、アドレス(28)を有する領域(26)を有するRAM(24)を備える拡張メモリユニット(34)が装着されるメモリレセプタクル(32)とを備える電子機器(10)を操作する方法であって、前記ROM(16)における領域(18)のアドレス(20)を前記プロセッサ(22)に供給するステップと、前記プロセッサ(22)を使用し、前記メモリコントローラ(30)によって供給された前記アドレス(20)の領域(18)において実行可能コードに対する処理を実行するステップと、データ又は実行可能コードを格納する拡張メモリユニット(34)を使用することをユーザが所望するかを判定するステップと、実行可能コードを格納する拡張メモリユニット(34)を使用することをユーザが所望すると判定した場合に、前記拡張メモリユニット(34)におけるRAMにROM(16)から実行可能なプログラムコードをコピーし、前記プロセッサ(22)が実行可能コードに対する処理を実行中に、前記ROM(16)におけるアドレス(20)を前記RAMにおけるアドレス(38)に切り替えるステップとを含む電子機器(10)操作方法。
【0072】9.前記判定ステップは、前記拡張メモリユニット(34)におけるフラグの状況(60)をチェックするステップを有する上記8記載の電子機器(10)操作方法。
【0073】10.フラグを規定する領域(60)を有する不揮発性メモリ(40)を備える拡張メモリユニット(34)を、前記メモリレセプタクル(32)に装着するステップを更に含み、前記判定ステップは、前記フラグの状況をチェックするステップを有する上記8記載の電子機器(10)操作方法。
【0074】
【発明の効果】以上の説明から明らかなように、本発明の電子機器によれば、ユーザが、命令を取り出し、実行するシステムによって使用されるプラグ接続式のメモリモジュールを装着している。
【0075】この結果、製品の製造及び購入後の性能向上を図ることができ、製造工場でのコスト増加を抑えることができる。また、キャッシュ処理の有無及び処理能力にかかわらずシステム性能が向上し、キャッシュの処理規模が縮小されて、コスト低減が可能になるという効果がある。
【図面の簡単な説明】
【図1】本実施形態である電子機器の一例を示す斜視図である。
【図2】図1のプリンタに追加される拡張メモリユニットを示す斜視図である。
【図3】図1に示すプリンタのハードウェア及びホストコンピュータの構成を示すブロック図である。
【図4】実施形態における電子機器の変形されたブートアッププロセスを示すフローチャートである。
【図5】実施形態において実行領域の変更に関連する処理を図示したフローチャートである。
【図6】実施形態において拡張メモリユニットに予めフラグ付けを行う方法を図示したフローチャートである。
【図7】実施形態においてデフォルトROMから実行可能コードがコピーされる拡張メモリにおける空き領域を説明するための図である。
【図8】実施形態においてデフォルトROMから拡張メモリに実行可能にコピーする状態を説明するための図である。
【図9】実施形態においてアドレスの再マッピングを説明するための図である。
【図10】代替的な実施形態においてアドレスの部分的な再マッピングを説明するための図である。
【符号の説明】
10 プリンタ
12 筐体
14 印刷エンジン
16 デフォルトROM
22 マイクロプロセッサ
24 オンボードRAM
30 メモリコントローラ
32 メモリレセプタクル
34 拡張メモリユニット(実行領域装置)
40 不揮発性メモリ
42 カバー
44 アクセス扉
46 ホストコンピュータ
30,48 ASIC
50 PCIローカルバス
52 EIOカード
54 コントロールパネル
56 キーパッド
JP11040096A 1998-02-20 1999-02-18 電子機器 Pending JP2000035866A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/026-801 1998-02-20
US09/026,801 US6108100A (en) 1998-02-20 1998-02-20 Apparatus and method for end-user performance upgrade

Publications (2)

Publication Number Publication Date
JP2000035866A JP2000035866A (ja) 2000-02-02
JP2000035866A5 true JP2000035866A5 (ja) 2004-07-22

Family

ID=21833868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11040096A Pending JP2000035866A (ja) 1998-02-20 1999-02-18 電子機器

Country Status (3)

Country Link
US (1) US6108100A (ja)
JP (1) JP2000035866A (ja)
GB (1) GB2334606B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633405B1 (en) * 1999-12-17 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for interfacing generic and device-specific control codes
US6608564B2 (en) * 2000-01-25 2003-08-19 Hewlett-Packard Development Company, L.P. Removable memory cartridge system for use with a server or other processor-based device
JP4156206B2 (ja) * 2000-11-10 2008-09-24 株式会社リコー 複合装置
US7708205B2 (en) 2003-11-13 2010-05-04 Metrologic Instruments, Inc. Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins
US7464877B2 (en) 2003-11-13 2008-12-16 Metrologic Instruments, Inc. Digital imaging-based bar code symbol reading system employing image cropping pattern generator and automatic cropped image processor
US20030086107A1 (en) * 2001-11-02 2003-05-08 Johnson Steven Mark Remote firmware upgrade via I/O connection
US20050012770A1 (en) * 2002-03-14 2005-01-20 Masakatsu Endo Printer and printer control method
US8127217B2 (en) 2002-04-19 2012-02-28 Kabushiki Kaisha Toshiba Document management system for transferring a plurality of documents
US7478316B2 (en) * 2002-04-19 2009-01-13 Toshiba Tec Kabushiki Kaisha Document management system for transferring a plurality of documents
US7080207B2 (en) * 2002-04-30 2006-07-18 Lsi Logic Corporation Data storage apparatus, system and method including a cache descriptor having a field defining data in a cache block
US7324231B2 (en) 2002-12-05 2008-01-29 Hewlett-Packard Development Company, L.P. Printer expansion method and apparatus
US7841533B2 (en) 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
JP4356593B2 (ja) * 2004-02-23 2009-11-04 セイコーエプソン株式会社 レイアウト要素の配置装置、配置方法、配置プログラム。
US20050289248A1 (en) * 2004-06-24 2005-12-29 Transact Technologies Incorporated Configurable printer and methods for configuring a printer
JP2007179106A (ja) * 2005-12-26 2007-07-12 Fuji Xerox Co Ltd 処理システム
US8020149B2 (en) 2006-08-04 2011-09-13 Apple Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
US20080218774A1 (en) * 2007-03-06 2008-09-11 Transact Technologies Incorporated Configurable printer for different locations and methods of configuring a printer for different locations
US8576465B2 (en) * 2007-08-27 2013-11-05 Hewlett-Packard Development Company, L.P. Printer calibration
CN111045738B (zh) * 2019-11-29 2023-12-29 RealMe重庆移动通信有限公司 电子设备控制方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5760409A (en) * 1980-09-30 1982-04-12 Fanuc Ltd Loading system of numerical control device
US4491910A (en) * 1982-02-22 1985-01-01 Texas Instruments Incorporated Microcomputer having data shift within memory
US4494187A (en) * 1982-02-22 1985-01-15 Texas Instruments Incorporated Microcomputer with high speed program memory
FR2566327B1 (fr) * 1984-06-25 1989-06-02 Epson Corp Imprimante
US4677586A (en) * 1985-06-04 1987-06-30 Texas Instruments Incorporated Microcomputer device having test mode substituting external RAM for internal RAM
JPS63182795A (ja) * 1987-01-20 1988-07-28 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ポータブル・カードとその製造方法
US5359727A (en) * 1987-04-27 1994-10-25 Hitachi, Ltd. Clock generator using PLL and information processing system using the clock generator
JPH01183729A (ja) * 1988-01-18 1989-07-21 Citizen Watch Co Ltd メモリの自動初期化機能を備えたプリンタ
US5123098A (en) * 1989-02-28 1992-06-16 Hewlett-Packard Company Method for executing programs within expanded memory of a computer system using MS or PC DOS
JPH0476626A (ja) * 1990-07-13 1992-03-11 Toshiba Corp マイクロコンピュータ
US5410641A (en) * 1991-10-23 1995-04-25 Seiko Epson Corporation Intelligent cartridge for attachment to a printer to perform image processing tasks in a combination image processing system and method of image processing
JPH0671952A (ja) * 1992-08-27 1994-03-15 Brother Ind Ltd 印字装置
JPH06238962A (ja) * 1993-02-22 1994-08-30 Brother Ind Ltd 印字装置

Similar Documents

Publication Publication Date Title
JP2000035866A5 (ja)
US6108100A (en) Apparatus and method for end-user performance upgrade
US5710930A (en) Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle
US5835760A (en) Method and arrangement for providing BIOS to a host computer
US6513113B1 (en) Electronic instrument adapted to be selectively booted either from externally-connectable storage unit or from internal nonvolatile rewritable memory
TW518517B (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
GB2339315A (en) Apparatus with instruction cache and compressed program store
GB2329990A (en) Accessory based resource offset mechanism for a PCI bus in a peripheral device
US8836989B2 (en) Device and method for controlling initialization of image forming apparatus using NAND flash memory
US5555423A (en) Multi-mode microprocessor having a pin for resetting its register without purging its cache
JPH06324857A (ja) コンピュータシステム
US20040042041A1 (en) Image forming device
JP2962930B2 (ja) 画像形成装置及び該装置における制御プログラムの処理方法
JP2521020B2 (ja) 情報処理システム
JP7447668B2 (ja) 電子機器および電子機器の制御方法
JP2006155391A (ja) 画像形成装置
JP2006331221A (ja) データ転送装置及びデータ転送方法
JP3001464B2 (ja) マイクロプロセッサ装置
JPH0612245A (ja) パーソナルコンピュータ
JP2005056017A (ja) 情報処理装置
JPH05345457A (ja) 印刷装置
JPH06314133A (ja) ポータブルコンピュータ
JPH05165624A (ja) 常駐モジュールの修正方式
JPH07114449A (ja) ポータブルコンピュータ
JPH0612210A (ja) パーソナルコンピュータ