JP3622525B2 - 印刷装置、その制御方法および記録媒体 - Google Patents
印刷装置、その制御方法および記録媒体 Download PDFInfo
- Publication number
- JP3622525B2 JP3622525B2 JP23472198A JP23472198A JP3622525B2 JP 3622525 B2 JP3622525 B2 JP 3622525B2 JP 23472198 A JP23472198 A JP 23472198A JP 23472198 A JP23472198 A JP 23472198A JP 3622525 B2 JP3622525 B2 JP 3622525B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- language processing
- processing module
- language
- input data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
【発明の属する技術分野】
本発明は、記述言語に基づき入力データをCPUで印刷データとして解釈し、その印刷データを印刷機構で印刷する印刷装置およびその制御方法に関するものである。
【0002】
【従来の技術】
ページプリンタ等の印刷装置は、特定の記述言語に基づいてコマンド化された入力データをCPUで印刷データあるいは制御コマンドとして解釈する。そして、印刷データを制御コマンドに基づいた処理に従って印刷機構(プリンタエンジン)で印刷用紙上に印刷することができるようになっている。このため、印刷装置では、入力データを記述言語に基づいて解釈するための言語処理モジュールがCPUで実行され、入力データの中から印刷データおよび制御コマンドが解釈される。近年、印刷装置の中には、ホストコンピュータのオペレーティングシステム(OS)、あるいはアプリケーションで利用している種類の異なる記述言語に対応できるように複数の言語処理モジュールが用意されているものがあり、これらの言語処理モジュールは、OSのカーネルモジュール等のその他のプログラムモジュールと共に読み出しのみ可能なメモリであるROMに予め記憶されている。
【0003】
【発明が解決しようとする課題】
ページ印刷を行う印刷装置等では、高解像度の画像あるいはカラー画像を取り扱うために、入力データが膨大となっており、その入力データを解釈して印刷データに変換する処理に要する時間が長くなってきている。このため、処理装置全体の処理スピードを向上することが強く望まれている。処理スピードを向上するには、CPU自体の処理能力を向上したり、CPUにおけるプログラムモジュールの実行速度を向上するなどが考えられる。しかしながら、通常のROMに対し、CPUは比較的低速でしかアクセスできないため、CPUの処理能力を向上してもROMにアクセスする速度で処理装置全体の処理スピードが飽和してしまう。このため、ROMに記憶されたCPUのプログラムモジュールを実行速度の速いRAMにコピーして、処理装置全体の処理スピードを向上することが検討されている。例えば、ROMに記憶されたプログラムモジュールを読み書き可能なRAMの一部にコピーすることが考えられている。
【0004】
しかしながら、プログラムモジュールをRAMにコピーするのでは、大容量のRAMが必要になり、製品価格が高くなる。このため、アクセス頻度の高いプログラムモジュール、すなわち、OSのカーネルモジュールや言語処理モジュール等に限定してRAMにコピーすることが考えられる。しかしながら、このようにRAMにコピーするプログラムモジュールを限定しても、前述したように、近年のプリンタは複数の言語に対応して複数の言語処理モジュールを備えており、さらに、多種多様な機能を内蔵しているので、数MBにも及ぶ大容量のRAMが必要になり、製品コストを抑えることは難しい。
【0005】
上記の点に鑑みて、本発明においては、メモリの容量をできる限り増やさずに、複数の言語処理モジュールや多種多様な機能を備えた印刷装置の全体の処理スピードを向上できる印刷装置を低コストで提供可能とすることを目的としている。そして、種類の異なる記述言語に基づく入力データが送信された場合でも、それらの入力データに基づき高速で印刷可能な印刷装置および制御方法を提供することを本発明の目的としている。
【0006】
【課題を解決するための手段】
このため、本発明においては、種類の異なる記述言語の各々に対応する複数の言語処理モジュールを備えた印刷装置であっても、RAMにコピーされて実行される言語処理モジュールを1つに限定するようにしている。すなわち、本発明の印刷装置は、CPUと、種類の異なる記述言語の各々に対応する複数の言語処理モジュールを記憶した読み出しのみ可能な第1のメモリと、読み書きが可能であると共に、第1のメモリよりも高速にアクセスが可能な第2のメモリと、処理すべき入力データに用いられている記述言語に対応した言語処理モジュールが第2のメモリに記憶されていなかったときに、第1のメモリに記憶されている当該言語処理モジュールを、第2のメモリ上の既存の言語処理モジュールと置換する形で第2のメモリにコピーした上でCPUで実行可能にするモジュール管理手段とを有することを特徴としている。
【0007】
一方、本発明の印刷装置の制御方法は、CPUと、種類の異なる記述言語の各々に対応する複数の言語処理モジュールを記憶した読み出しのみ可能な第1のメモリと、読み書きが可能であると共に、第1のメモリよりも高速にアクセスが可能な第2のメモリとを備えた印刷装置の制御方法において、処理すべき入力データに用いられている記述言語に対応した言語処理モジュールが第2のメモリに記憶されていなかったときに、第1のメモリに記憶されている当該言語処理モジュールを、第2のメモリ上の既存の言語処理モジュールと置換する形で第2のメモリにコピーした上でCPUで実行可能にするモジュール管理工程を有することを特徴としている。
【0008】
言語処理モジュールは1MB程度と非常にサイズの大きなモジュールとなりやすく、RAMにコピーされて実行される言語処理モジュールを減らすことにより大幅にRAMの容量を制限できる。このため、本発明によれば、大容量の高速メモリでなくとも、限定されたプログラムモジュールをRAMにコピーすることにより、高速で処理し、印刷装置全体としての処理スピードを速くできる。また、予め搭載されているRAMの一部を利用したり、小容量の低価格なRAMを追加するだけで良いので、製品価格が高騰することもない。よって、低コストで処理能力の高い印刷装置を提供できる。
【0009】
さらに、入力データを記述している言語は1つのジョブで変わることはなく、ジョブの実行中に新たな言語処理モジュールに変更する必要はない。従って、そのジョブに適合した言語処理モジュールがRAMに存在していれば、そのRAMにコピーされた言語処理モジュールが1つであっても、それをジョブの実行中に新たな言語処理モジュールに交換する、すなわち、ROMから他の言語処理モジュールをRAMにコピーして実行可能にする処理は発生しない。従って、ジョブを実行中に言語処理モジュールを交換するための処理時間が長くなることもない。
【0010】
本発明を実現する際には、第1のメモリに記憶された複数の言語処理モジュールの中に1個以上の圧縮された言語処理モジュールが含まれるようにしておくと共に、モジュール管理手段として、入力データに用いられている記述言語に対応した,第1のメモリ上の言語処理モジュールが圧縮されたものであった場合には、その言語処理モジュールを伸張して第2のメモリにコピーする手段を採用しておくことが出来る。
【0011】
新たなジョブを処理し始める際にそのジョブに適合した言語処理モジュールを特定(或いは決定)するために、入力データが、自身に用いられている記述言語を示す記述言語指定情報をその先頭部分に含むデータとなるようにしておくと共に、モジュール管理手段が、処理すべき入力データに含まれる記述言語指定情報に基づき、その入力データに用いられている記述言語に対応する,第1のメモリ上の言語処理モジュールを特定する手段を採用することが出来る。
【0012】
また、新たなジョブを処理し始める際にジョブに適合した言語処理モジュールを決定するために、最適な言語処理モジュールを特定可能な言語自動判別処理の結果を用いることができる。この言語自動判別処理は、各プリンタ言語(記述言語)の特徴的なコマンドを評価して自動的に記述言語を特定する公知技術であり、例えば、特開平1−64029号公報に、各記述言語の特徴的なコマンドをポイント数付けしたテーブル等を各言語毎に用意した上で、与えられた印刷データを各記述言語と想定したとき、そのテーブルに基づいて各言語がそれぞれ何ポイントを得るかを算出して最も確率的に高いものを正しい記述言語と特定する技術が開示されている。従って、この技術を採用することにより、特定して記述言語に対応した言語処理モジュールを、ジョブに適合した、第2のメモリ上で実行すべき言語処理モジュールとして決定できる。
【0013】
さらに、新たなジョブを処理し始める際にジョブに適合した言語処理モジュールを選択するために、TLBのアドレス変換の結果を用いることも可能である。TLBは、論理アドレス空間の所定の実行プログラムがアクセスされると、その実行プログラムの論理をRAM等の適当な物理アドレスに変換する機能を有している。さらに、実行プログラムの論理アドレスを適当な物理アドレスに変換できない場合は、TLBミスという割り込み信号をCPUに出力する機能を有している。このため、入力データの記述言語に対応する言語処理モジュールの物理アドレスが第2のメモリ上にないときに、TLBミスが発生するようにしておくと、ジョブの記述言語に対応する言語処理モジュールがアクセスされ、そのモジュールの物理アドレスが第2のメモリ内あると、TLBによって正常なアドレス変換が行われる。
【0014】
一方、ジョブの記述言語に対応する言語処理モジュールの物理アドレスが第2のメモリ内にないと、TLBミスが発生する。このため、TLBミスが発生した場合は、そのミスを発生させた原因となった言語処理モジュールがジョブの記述言語に適合した言語処理モジュールであると特定できるので、TLBミス、すなわち、TLBのアドレス変換の結果から第2のメモリで実行すべき言語処理モジュールを決定できる。
【0015】
第2のメモリとしては、CPUと外部バスで接続された専用のRAMまたはワーキングエリアとして使用されているRAMの一部を利用することができる。専用のRAMを設ける場合でも、そのRAMは小容量のもので良いので、SRAM、SDRAMといった記憶容量当たりの単価の高いメモリを第2のメモリとして用いても、製品コストをそれほど上げずに済む。そして、処理速度をいっそう向上できる。さらに、第2のメモリは小容量で良いので、CPUと同一チップに収納されたRAMがあるときはこのRAMを第2のメモリとして利用できる。CPUと同一のチップに収納されたRAMは、CPUとそのRAMとの間のアクセス速度を最小限にできるので、言語処理モジュールの実行速度をより向上できる。また、コストの安いDRAMであっても処理速度を大幅に向上できる。
【0016】
なお、上述した制御方法は、それぞれの工程に対応した処理を実行可能な命令を備えた印刷装置で読み取り可能な記録媒体、例えば、ROM、ROMモジュールあるいはフロッピーディスク等に記録して提供可能である。また、インターネット等のコンピュータネットワークを介してプログラムを供給し、ユーザ側のパソコンや印刷装置の記録媒体に記録して使用することも可能である。
【0017】
【発明の実施の形態】
[実施の形態1]
以下に図面を参照して本発明の実施の形態を説明する。図1は、本発明に係るプリンタ1の概略のハードウェア構成を示す図である。このプリンタ1は、ホストコンピュータから受信した入力データφ1に含まれるデータおよびコマンドをデータ処理装置3で解釈および変換し、ビットイメージデータ等の描画データ(印刷データ)φ2に変換して印刷機構(プリンタエンジン)2に送り印刷するようになっている。ホストコンピュータからの入力データφ1は、所定の記述言語、例えば、本出願人が提唱しているESC/Page言語、ヒューレットパッカード社が提唱しているPCL言語、プロッタ用のプリンタ言語であるEPGL言語、NEC社のPCPR言語等のいずれかの言語に基づいてコマンド化されており、データ処理装置3においては、その言語に対応している言語処理モジュールで入力データを解釈し、印刷機構2で実行できるようにする必要がある。
【0018】
データ処理装置3は、ホストからの入力データφ1を受信する入力インターフェース回路11と、初期設定プログラム(IPL)12aが格納されたROM12と、CPUチップ13の実行用のプログラム14aが格納され、CPUチップ13の外に設けられた読み出しのみ可能な第1のメモリとしてのROM14を備えており、それらはメモリバス4を介してメモリコントローラ15に接続されている。ROM13に格納されているCPUチップ13の実行用プログラム14aは複数のプログラムモジュールから構成されている。そして、これらのプログラムモジュールには、前述した種類の異なる記述言語の各々に対応する複数の言語処理モジュールL(1)からL(n)(nは整数)が含まれており、これらの言語処理モジュールをCPUコア21で実行することにより、様々な言語を理解できる。
【0019】
また、データ処理装置3は、入力データφ1を描画データφ2に変換する際の作業領域となるSDRAM16を備えており、このSDRAM16には、描画データφ2あるいは入力データφ1から描画データφ2に変換する際の中間的なデータである中間コード等が格納される。SDRAM16、CPUチップ13およびメモリコントローラ15はCPUバス5を介して接続されている。
【0020】
CPUチップ13は、演算機能等のCPUの主要機能を備えたCPUコア21と、読み書き可能な第2のメモリであるDRAM22と、アドレス変換用の高速バッファであるTLB(Translation Lookaside Buffer)23とを備えており、これらは同一チップ上に構成され、内部バス25で接続されている。また、CPUチップ13は、内部バス25と外部バスであるCPUバス5とのインターフェースである外部バス制御部26を備えており、CPUコア21は外部バス制御部26を介してCPUチップ外に設けられているSDRAM16、ROM12、14とアクセス可能となっている。
【0021】
さらに、データ処理装置3は、メモリバス4に接続されたビデオインターフェース回路17を備えており、このビデオインターフェース回路17を介して、変換された描画データφ2が印刷機構2に供給される。ビデオインターフェース回路17は、例えば、DMA転送された描画データφ2をいったん格納するFIFOメモリと、このFIFOメモリからパラレル出力されるデータをシリアル変換するシフトレジスタとを備えており、印刷機構2へはラスタ方向にシリアル化された描画データφ2が転送されるようになっている。印刷機構2では、ビデオインターフェース回路17を介して供給された描画データφ2に基づいて、ページ毎の印刷が行われる。一方、ビデオインタフェース回路17とプリンタエンジン2との間では、コマンド、ステータス等のコントロール信号を交換できるようになっており、データ処理装置3のCPUコア21がプリンタ全体を制御できるようになっている。
【0022】
データ処理装置3のROM14に格納された実行用プログラム14aは、複数のプログラムモジュールから構成されている。図2には、それらのプログラムモジュールのうち、使用頻度が高いプログラムモジュールのいくつかを取り出して示してあり、それらのプログラムモジュールがCPUコア21の論理アドレス空間に割り付けられている状態、およびそれらのプログラムモジュールがDRAMにコピーされ、DRAMの物理アドレス空間に割り付けられる状態を示してある。
【0023】
各プログラムモジュールは、CPUコア21の論理アドレス空間45の所定のアドレスに割り付けられており、例えば、下位のアドレスから上位のアドレスに向けて、グラフィックモジュール31、ジョブ管理モジュール32、フォント管理モジュール33、複数の言語処理モジュールL(i)からなる言語処理モジュール群40、描画モジュール34、エンジン制御モジュール35、インターフェース管理モジュール36、メモリ管理モジュール37およびオペレーティングシステム(OS)のカーネルモジュール38の順序に割り付けられている。
【0024】
カーネルモジュール38は、システムの初期化、タスク管理、割り込み管理などのOSの基本部分を実現するためのプログラムモジュールである。メモリ管理モジュール37は、メモリコントローラ15でSDRAM16およびCPUチップ13のDRAM22の確保・開放等を実現するためのプログラムモジュールである。インターフェース管理モジュール36は、ホストに接続されるインターフェース回路11の管理を行うためのプログラムモジュールである。エンジン制御モジュール35は、印刷機構2の制御、例えば、給紙、排紙指定、プリント要求などの制御を行うためのプログラムモジュールである。描画モジュール34は、入力データφ1から変換された中間コードを基にSDRAM16に用意されたバンドバッファに画像を描画するためのプログラムモジュールである。フォント管理モジュール33は、フォントの管理を行うためのプログラムモジュールであり、グラフィックモジュール31は、グラフィックの管理を行うためのプログラムモジュールである。ジョブ管理モジュール32は、印刷ジョブの管理を行うためのプログラムモジュールである。
【0025】
これらのプログラムモジュールは、電源投入時、あるいはリセットされたときにIPL12aが実行され、CPUチップ13に内蔵されたDRAM22にコピーされるようになっている。
【0026】
言語処理モジュール群40に含まれている言語処理モジュールL(1)は、PCL言語で記述された入力データφ1を解釈して中間コードに変換するためのプログラムモジュールであり、言語処理モジュールL(2)は、ESC/Page言語で記述された入力データφ1を解釈して中間コードに変換するためのプログラムモジュールである。なお、その他の言語処理モジュールL(i)は、所定の記述言語、例えば、EPGL言語やPCPR言語用のプログラムモジュールである。これらの言語処理モジュールL(i)のサイズは、それぞれ、例えば、約1MBといった大きなサイズである。そして、これらの言語処理モジュールL(i)は、DRAM22に同時にコピーされることはなく、いずれか1つの言語処理モジュールが選択されてDRAM22にコピーされ、DRAM22上で実行されるようになっている。
【0027】
このため、本例のプリンタ1は、ROM14に記録された複数の言語処理モジュールL(i)のうち、いずれか1つを選択し、その選択した1つの言語処理モジュールをDRAM22にコピーした上でCPUコア21で実行可能にする機能を備えたモジュール管理部60を有している。
【0028】
このモジュール管理部60は、新たなジョブを処理し始める際に複数の言語処理モジュールL(i)のうち、新たな言語処理モジュールを選択する選択機能63と、選択した言語処理モジュールをROM14からDRAM22にコピーするコピー機能61と、DRAM22にコピーした言語処理モジュールに対応するCPUチップ13の論理アドレス空間のアドレスを、DRAM22上にコピーした言語処理モジュールの物理アドレスに変換するアドレス変換機能62とを備えている。コピー機能61はCPUコア21とメモリコントローラ15あるいはCPUチップ内のDRAMコントローラ(不図示)の動作によって実現され、アドレス変換機能62はTLB23の動作によって実現される。さらに、選択機能63は、入力データφ1のヘッダー情報に基づき、そのデータφ1に適合する言語処理モジュールL(i)を選択できるようになっており、CPUコア21の動作によって実現される。
【0029】
図3は電源投入時におけるモジュール管理部60の制御動作を示すフローチャートである。図2および図3を参照してその制御動作を説明する。プリンタ1では、ステップST1で電源が投入されると、ステップST2でROM12のIPL12aがCPUコア21にロードされて、入力インターフェース回路11等のハードウェアの初期設定が行われる。そして、ステップST3において、DRAM22に予め定められた各プログラムモジュール31〜38およびL(2)が選択されてコピーされる。
【0030】
本例では、デフォルトとして言語処理モジュールL(2)のESC/Pageが選択されてDRAM22上にコピーされ、その他の言語処理モジュールはコピーされない。さらに、このステップST3では、ESC/Page用の言語処理モジュールL(2)がROM14に圧縮された状態で格納されているか否かを判断し、圧縮された状態で格納されている場合は、言語処理モジュールL(2)を解凍してDRAM22にコピーするようにしても良い。これにより、圧縮されて格納されている場合では、解凍処理を行って、DRAM22に実行可能な状態に伸張された言語処理モジュールL(2)がコピーされる。
【0031】
このステップST3に前後して、CPUコア21の論理アドレス空間45に割り付けられている各種のプログラムモジュールの論理アドレスと、DRAM22における物理アドレス空間50の物理アドレスの対応づけ(アドレス設定)が行われる。この対応づけは、CPUチップ13のTLB23によって行われる。この対応づけによって、上述したプログラムモジュール31〜38はDRAM22の物理アドレス空間50でCPUコア21によって実行可能な状態になる。
【0032】
本例のプリンタ1においては、このような処理が終了すると、DRAM22にコピーされたプログラムの所定のアドレスにジャンプして処理を開始する。DRAM22は、チップ間のインターフェースあるいはチップ間を接続するためのバスのアクセススピード等の制限がないので、ROM14上でプログラムモジュールをCPUコア21で実行する場合に比べて、そのモジュールの実行速度を大幅に向上できる。
【0033】
図4には、ホスト側からプリンタ1に送信された入力データφ1を処理する動作をフローチャートで示してある。プリンタ1で印刷ジョブを行うためにホストから供給される入力データφ1の概略は、図5(a)および(b)に示すようになっている。まず、ジョブ制御コマンドが含まれているヘッダー情報51が入力され、それに続いて印刷用のデータ52とが入力される。ヘッダー情報51には、ジョブ言語の定義51a、印刷データの記述言語の定義51b、解像度51c、カラー印刷の要否51d等が含まれている。モジュール管理部60は、このヘッダー情報51の記述言語の定義51bに基づき入力データφ1の記述言語、例えば、ESC/Page言語あるいはPCL言語を把握できる。図5(a)に示す入力データφ1では、そのヘッダー情報51から記述言語がESC/Page言語、解像度が600dpiであり、カラー印刷用のデータであることを把握できる。また、図5(b)に示す入力データφ1では、そのヘッダー情報51から記述言語がPCL言語、解像度が300dpiであり、モノクロ印刷用のデータであることを把握できる。
【0034】
ステップST11でこのような入力データφ1を受信すると、プリンタ1は、ステップST12において、モジュール管理部60の選択機能63がそのデータφ1のヘッダー情報51に含まれている記述言語の定義51bから印刷データ52の記述言語を判断し、判断された記述言語に適合する言語処理モジュールを選択する。そして、ステップST13で選択された言語処理モジュールがDRAM22にコピーされている言語処理モジュールと一致しているか否かが判断される。
【0035】
選択された言語処理モジュールとDRAM22上の言語処理モジュールが一致していない場合は、ステップST14でDRAM22上の言語処理モジュールを、選択された言語処理モジュールに更新する。すなわち、DRAM22の物理アドレス空間50に予め割り付けられている言語処理モジュールL(i)の割付を外して、選択された言語処理モジュールL(i)をコピー機能61によってDRAM22の物理アドレス空間50にコピーする。
【0036】
この結果、例えば、DRAM22に言語処理モジュールL(2)が割り付けられている場合に、PCL言語に基づく入力データφ1が送信されると、DRAM22上の言語処理モジュールがPCL言語に対応した言語処理モジュールL(1)に置き換えられることになる。この後は、TLB23のアドレス変換の設定を変更し、DRAM22上に新たに割り当てた言語処理モジュールL(1)を実行可能な状態にする。なお、言語処理モジュールL(i)をDRAM22にコピーするときは、コピー対象の言語処理モジュールL(i)がROM14に圧縮されて格納されていれば、コピー処理する際に解凍処理も行われるようにしておくことが望ましい。
【0037】
この作業が終了した後は、ステップST15でDRAM22にコピーされた言語処理モジュールL(1)に基づきCPUコア21が処理を行い、印刷データ52を解釈し中間コードに変換する等の必要な処理を行う。このように本例のプリンタ1では、ジョブを処理する際にDRAM22上の言語処理モジュールが置き換えられる。
【0038】
ステップST13で選択された言語処理モジュールL(i)とDRAM22上の言語処理モジュールが一致している場合は、コピーする処理はなく、ステップST15でその言語処理モジュールL(i)に基づきCPUコア21が処理を行い、印刷データ52を解釈して中間コードに変換するなどの必要な処理を行う。例えば、DRAM22に言語処理モジュールL(2)がコピーされている場合に、ESC/Page言語に基づく入力データφ1が送信されると、DRAM22上の言語処理モジュールL(2)がそのまま実行され、印刷データ52の解釈等の処理が行われる。
【0039】
なお、所定の言語処理モジュールを実行することにより得られた中間コードはSDRAM16に記憶される。この中間コードは、CPUコア21が描画モジュール34を実行することにより、描画データφ2に変換される。変換された描画データφ2はビデオインターフェース回路17を介して印刷機構2に供給されて印刷用紙上に印刷される。
【0040】
このようにプリンタ1では、ジョブの開始時に、ROM14に記憶されている複数の言語処理モジュールL(i)のうち、ホストから送信される入力データφ1に適応した言語処理モジュールのみをCPUチップ13のDRAM22にコピーした上でCPUコア21で実行して印刷ジョブを行うようにしている。このため、サイズの大きな複数の言語処理モジュールを全てDRAM22にコピーすることはないので、CPUチップ13上に予め用意されている小容量のDRAM22に所定の言語処理モジュールを含めたプログラムモジュールをコピーし、高速で実行できる。従って、言語処理モジュールの処理も含めた全体の処理時間を大幅に短縮できる。このため、大容量の高速メモリを用いることなく、入力データφ1を処理して高速で印刷できる高性能で低コストなプリンタを提供できる。
【0041】
また、ジョブの開始時にDRAM22上の言語処理モジュールが更新された後は、ジョブの実行中にその言語処理モジュールを更新してCPUコア21で実行可能な状態にする処理が行われることはないので、プリンタの処理速度を向上する上でより有効である。特に、言語処理モジュールが圧縮された状態でROM14に格納されている場合は、DRAM22にコピーする際にそのモジュールを解凍あるいは伸張する処理が行われるが、ジョブの実行中にこのような処理が行われることはないので、プリンタの処理速度の低下を防ぐことができる。
【0042】
入力データφ1に適応した言語処理モジュールを選択してDRAM22にコピーする処理においては、TLB23のアドレス変換の結果に基づき行うことも可能である。すなわち、TLB23においてDRAM22の物理アドレスが見当たらないときに発生するTLBミスをモジュール管理部60の選択機能63が把握し、このTLBミスに基づきDRAM22にコピーする対象の言語処理モジュールL(i)を決定するようにしても良い。図6にはその処理のフローチャートを示してある。なお、以下の説明では、ESC/Page言語に適応した言語処理モジュールL(2)がDRAM22にコピーされているものとして説明する。
【0043】
まず、ステップST21でホストから出力されたPCL言語に基づく入力データφ1を受信すると、CPUコア21の論理アドレス空間45に割り付けられているPCL言語用の言語処理モジュールL(1)がアクセスされる。言語処理モジュールL(1)はROM14の物理アドレス空間にあり、DRAM22の物理アドレス空間にはない。このため、TLB23でDRAM22の物理アドレスに変換することができず、TLBミスとなり、CPUコア21で実行すべき言語処理モジュールがDRAM22で実行できないことが判断される。このTLBミスが発生すると、割り込み処理が発生して、ステップST22からステップST23に移行する。
【0044】
ステップST23では、モジュール管理部60は、TLBミスが発生したPCL言語用の言語処理モジュールL(1)を選択し、この選択した言語処理モジュールL(1)をROM14からDRAM22にコピーする。これにより、DRAM22上のESC/Page言語用の言語処理モジュールL(2)がPCL言語用の言語処理モジュールL(1)に置き変えられる。このコピー処理に前後して、論理アドレス空間45の言語処理モジュールL(1)の論理アドレスをDRAM22の物理アドレス空間50の言語処理モジュールL(1)の物理アドレスに変換できるようにTLB23のアドレス変換の設定が変更され、新たなPCL言語用の言語処理モジュールL(1)をDRAM22上で実行可能にする。この後、CPUチップ13の割り込み処理は終了し、CPUチップ13はステップST24に移行し、DRAM22上の言語処理モジュールL(1)が実行する。従って、PCL言語で記述された入力データφ1がCPUコア21で解釈されて中間コードに変換される。
【0045】
一方、ステップST21でホストから出力されたESC/Page言語に基づく入力データφ1を受信すると、CPUコア21の論理アドレス空間45に割り付けられている言語処理モジュールL(2)がアクセスされる。この言語処理モジュールL(2)はDRAM22の物理アドレス空間50に割り付けられているので、TLB23によって、論理アドレス空間45における言語処理モジュールL(2)の論理アドレスがDRAM22の物理アドレス空間50における言語処理モジュールL(2)の物理アドレスにアドレス変換される。すなわち、ステップST22でTLB23によるアドレス変換が正常に行われてTLBミスが発生せず、CPUコア21で実行すべき言語処理モジュールがDRAM22上で実行できることが判断される。ステップST22でTLBミスが発生しないので、先に説明したような割り込み処理が実行されることなく、ステップST24でDRAM22上の言語処理モジュールL(2)がCPUコア21で実行され、入力データφ1が解釈されて中間コードに変換される。
【0046】
[その他の実施の形態]
上述したプリンタ1では、ROM14に記憶されている複数のプログラムモジュールのコピー先をDRAM22としているが、この代わりに、印刷データの記憶用等として使用されているSDRAM16の一部を各プログラムモジュールのコピー先としても良い。勿論、DRAM22とSDRAM16の双方を部分的にプログラムモジュールのコピー先としても良い。また、RAMや高速ROMを新たに追加しても良く、本例では、これらのメモリを追加する場合でもそのメモリとしては小容量のもので良いのでコストアップを抑制できる。
【0047】
また、上記の例では、新たなジョブを処理し始める際にジョブに適合した言語処理モジュールを決定する処理を、ジョブのヘッダー情報、またはTLBのアドレス変換の結果を用いて行う例を説明したが、これらに代えて、最適な言語処理モジュールを特定可能な言語自動判別処理の結果を用いることも可能である。すなわち、モジュール管理部60の選択機能63で言語処理判別処理を行い最適な言語処理モジュールを特定するようにすれば良い。なお、言語自動判別処理の技術は、例えば、特開平1−64029号公報に開示されている。この公開公報に開示された技術は、各記述言語の特徴的なコマンドをポイント数付けしたテーブル等を各記述言語毎に用意した上で、ホストから送信された印刷データを各記述言語と想定したとき、用意したテーブルに基づいて各記述言語が何ポイントを得るかを算出して最も確立的に高いものを正しい記述言語として特定するものである。
【0048】
さらに、前述した処理を実行可能な命令を備えたプログラムは、IPL12aの一部、あるいはジョブ管理モジュールとしてROM12に収納して提供することが可能である。また、ROMにインストールできるようにフロッピーディスク等の記録媒体を介して提供することができる。さらにまた、これらのプログラムをインターネット等のコンピュータネットワークを介して提供することも可能である。
【0049】
【発明の効果】
以上説明したように、本発明においては、種類の異なる記述言語の各々に対応する複数の言語処理モジュールを備えた印刷装置であっても、RAMにコピーして実行可能にする言語処理モジュールを1つに限定するようにしている。このようにすれば、RAM上にはジョブに適合した1つの言語処理モジュールをコピーしておくだけで確実に実行できるので、大容量の高速メモリでなくとも、入力データに基づく処理を高速で行うことができ、印刷装置全体としての処理スピードを速くできる。
【0050】
また、RAMで実行する言語処理モジュールは1つに限定されているので、搭載されているRAMの一部を利用したり、小容量の低価格なDRAMを追加するだけで良く、製品のコストアップを引き起こすこともない。さらに、小容量のDRAMを用意することによって高速化を図れるので、さらに若干高価ではあるがアクセススピードの速いSDRAMを採用してもそれ程のコストアップにならず、その一方で大幅にスピードアップできる。また、小容量のメモリで効果が得られるので、CPUチップに内蔵されたDRAMをコピー先として選択することができ、さらに大幅なスピードアップを図れる。よって、低コストで処理能力に優れた印刷装置を提供できる。
【0051】
また、新たなジョブの開始時にジョブに適合する言語処理モジュールをRAMにコピーしてCPUで実行可能な状態にすることにより、ジョブの実行中に言語処理モジュールを更新する処理が不要となる。特に、言語処理モジュールが圧縮されてROM等に収納されている場合は、圧縮されている言語処理モジュールを解凍あるいは伸張する処理も不要となる。従って、入力データを解釈して描画データに変換する処理時間をより短縮できる。
【図面の簡単な説明】
【図1】本発明を適用したプリンタの概略構成図である。
【図2】図1に示すプリンタのメモリ管理部を説明するための図である。
【図3】プリンタにおける電源投入時の動作を示すフローチャートである。
【図4】プリンタにおけるDRAM上の言語処理モジュールを置き換える処理を示すフローチャートである。
【図5】入力データの概略構成を示す図である。
【図6】プリンタにおけるDRAM上の言語処理モジュールを置き換える処理の異なる例を示すフローチャートである。
【符号の説明】
1・・プリンタ
2・・印刷機構
3・・データ処理装置
4・・メモリバス
5・・CPUバス
11・・入力インターフェース回路
12・・ROM
12a・・IPL
13・・CPUチップ
14・・ROM
14a・・実行用プログラム
15・・メモリコントローラ
16・・SDRAM
21・・CPUコア
22・・DRAM
23・・TLB
45・・論理アドレス空間
50・・物理アドレス空間
60・・モジュール管理部
61・・コピー機能
62・・アドレス変換機能
63・・選択機能
L(i)・・言語処理モジュール
φ1・・入力データ
φ2・・描画データ
Claims (13)
- CPUと、
種類の異なる記述言語の各々に対応する複数の言語処理モジュールを記憶した読み出しのみ可能な第1のメモリと、
読み書きが可能であると共に、前記第1のメモリよりも高速にアクセスが可能な第2のメモリと、
処理すべき入力データに用いられている記述言語に対応した言語処理モジュールが前記第2のメモリに記憶されていなかったときに、前記第1のメモリに記憶されている当該言語処理モジュールを、前記第2のメモリ上の既存の言語処理モジュールと置換する形で前記第2のメモリにコピーした上で前記CPUで実行可能にするモジュール管理手段と
を有する印刷装置。 - 請求項1において、
前記第1のメモリに記憶された前記複数の言語処理モジュールの中に1個以上の圧縮された言語処理モジュールが含まれ、
前記モジュール管理手段は、前記入力データに用いられている記述言語に対応した,前記第1のメモリ上の言語処理モジュールが圧縮されたものであった場合には、その言語処理モジュールを伸張して前記第2のメモリにコピーする
ことを特徴とする印刷装置。 - 請求項1又は2において、
前記入力データが、自身に用いられている記述言語を示す記述言語指定情報をその先頭部分に含むデータであり、
前記モジュール管理手段は、処理すべき入力データに含まれる前記記述言語指定情報に基づき、その入力データに用いられている記述言語に対応する,前記第1のメモリ上の言語処理モジュールを特定する
ことを特徴とする印刷装置。 - 請求項1ないし3のいずれかにおいて、前記第2のメモリは前記CPUと同一チップ内に用意されている印刷装置。
- 請求項1ないし4のいずれかにおいて、前記第2のメモリはDRAMである印刷装置。
- CPUと、種類の異なる記述言語の各々に対応する複数の言語処理モジュールを記憶した読み出しのみ可能な第1のメモリと、読み書きが可能であると共に、前記第1のメモリよりも高速にアクセスが可能な第2のメモリとを備えた印刷装置の制御方法において、
処理すべき入力データに用いられている記述言語に対応した言語処理モジュールが前記第2のメモリに記憶されていなかったときに、前記第1のメモリに記憶されている当該言語処理モジュールを、前記第2のメモリ上の既存の言語処理モジュールと置換する形で前記第2のメモリにコピーした上で前記CPUで実行可能にするモジュール管理工程
を有する印刷装置の制御方法。 - 請求項6において、
前記第1のメモリに記憶された前記複数の言語処理モジュールの中に1個以上の圧縮された言語処理モジュールが含まれ、
前記モジュール管理工程は、前記入力データに用いられている記述言語に対応した,前記第1のメモリ上の言語処理モジュールが圧縮されたものであった場合には、その言語処理モジュールを伸張して前記第2のメモリにコピーする
ことを特徴とする印刷装置の制御方法。 - 請求項6又は7において、
前記入力データが、自身に用いられている記述言語を示す記述言語指定情報をその先頭部分に含むデータであり、
前記モジュール管理工程は、処理すべき入力データに含まれる前記記述言語指定情報に基づき、その入力データに用いられている記述言語に対応した,前記第1のメモリ上の言 語処理モジュールを特定する
ことを特徴とする印刷装置の制御方法。 - 請求項6ないし8のいずれかにおいて、前記第2のメモリは前記CPUと同一チップ内に用意されている印刷装置の制御方法。
- 請求項6ないし9のいずれかにおいて、前記第2のメモリはDRAMである印刷装置の制御方法。
- CPUと、種類の異なる記述言語の各々に対応する複数の言語処理モジュールを記憶した読み出しのみ可能な第1のメモリと、読み書きが可能であると共に、前記第1のメモリよりも高速にアクセスが可能な第2のメモリとを備えた印刷装置用の制御プログラムであって、
処理すべき入力データに用いられている記述言語に対応した言語処理モジュールが、前記第2のメモリに記憶されていなかったときに、前記第1のメモリに記憶されている当該言語処理モジュールを、前記第2のメモリ上の既存の言語処理モジュールと置換する形で前記第2のメモリにコピーし、コピーした言語処理モジュールを実行する処理を、前記CPUに実行させる制御プログラムが記録されていることを特徴とするコンピュータ読み取り可読な記録媒体。 - 請求項11において、
前記印刷装置が、前記第1のメモリに記憶された前記複数の言語処理モジュールの中に1個以上の圧縮された言語処理モジュールが含まれる装置であり、
前記制御プログラムが
前記第1のメモリに記憶された,前記入力データに用いられている記述言語に対応した言語処理モジュールが圧縮されたものであった場合には、その言語処理モジュールを伸張して前記第2のメモリの前記所定のアドレスで始まる記憶領域にコピーし、コピーした言語処理モジュールを実行する処理を、前記CPUに実行させるプログラムである
ことを特徴とするコンピュータ読み取り可読な記録媒体。 - 請求項11又は12において、
前記入力データが、自身に用いられている記述言語を示す記述言語指定情報をその先頭部分に含むデータであり、
前記制御プログラムが、前記CPUに、
処理すべき入力データに含まれる前記記述言語指定情報に基づき、その入力データに用いられている記述言語に対応する,前記第1のメモリ上の言語処理モジュールを特定させるプログラムである
ことを特徴とするコンピュータ読み取り可読な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23472198A JP3622525B2 (ja) | 1998-08-20 | 1998-08-20 | 印刷装置、その制御方法および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23472198A JP3622525B2 (ja) | 1998-08-20 | 1998-08-20 | 印刷装置、その制御方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000066847A JP2000066847A (ja) | 2000-03-03 |
JP3622525B2 true JP3622525B2 (ja) | 2005-02-23 |
Family
ID=16975343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23472198A Expired - Fee Related JP3622525B2 (ja) | 1998-08-20 | 1998-08-20 | 印刷装置、その制御方法および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3622525B2 (ja) |
-
1998
- 1998-08-20 JP JP23472198A patent/JP3622525B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000066847A (ja) | 2000-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3666258B2 (ja) | プリンタ | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
EP0820004B1 (en) | Print system, print method, printer driver and printer | |
US8566715B2 (en) | Device, method and computer readable medium for processing commands in data described using a page description language | |
JP3622525B2 (ja) | 印刷装置、その制御方法および記録媒体 | |
US7589861B2 (en) | Image forming apparatus and printing system | |
JPH10129050A (ja) | 印刷処理装置 | |
JP3230516B2 (ja) | プリンタ、記録媒体およびプリンタのメモリ管理方法 | |
US7042582B1 (en) | Printer and printer data processing method | |
JP4057202B2 (ja) | 印刷データの拡大縮小機能を有する出力装置及び出力方法 | |
JP2000181644A (ja) | 画像処理装置、その制御方法、印刷装置および記録媒体 | |
JP3907484B2 (ja) | 情報処理装置、その制御方法及びプログラム | |
JP3715796B2 (ja) | 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP3711609B2 (ja) | 印刷方法、印刷システム、及びプリンタ | |
JPH10198529A (ja) | 画像処理装置 | |
JPH11305962A (ja) | 印刷処理装置および印刷処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2000222140A (ja) | プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体 | |
JP2005231374A (ja) | プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体 | |
JP2922676B2 (ja) | 画像形成装置 | |
JPH11138919A (ja) | 画像情報処理装置、画像情報処理方法および記録媒体 | |
JPH1063250A (ja) | 文字処理装置 | |
KR100636817B1 (ko) | 시스템 버스로의 트랜잭션을 줄이기 위한 그래픽처리장치와 이를 구비한 화상형성장치 | |
JP2000076131A (ja) | 印刷装置、その制御方法および記録媒体 | |
JPH113184A (ja) | 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2000052609A (ja) | 情報処理装置、印刷装置、制御方法および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040615 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041115 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 9 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |