(57)【特許請求の範囲】
【請求項１】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置であって、
上記揮発性メモリの記憶容量を取得する記憶容量取得手段と、
同取得した記憶容量から上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定手段と、
上記特定された第２制御プログラムの実行開始前の所定期間であって、第１制御プログラムが第２制御プログラムによる処理を必要とせず同第１制御プログラムが待機状態である期間に、上記特定された第２制御プログラムを解凍して上記揮発性メモリにロードするロード制御手段とを具備することを特徴とする印刷装置。
【請求項２】
印刷装置は異なる記憶容量の揮発性メモリを選択的に搭載可能であり、上記優先解凍制御プログラム特定手段は印刷装置に搭載された揮発性メモリの総容量に応じてロードする制御プログラムを特定することを特徴とする上記請求項１に記載の印刷装置。
【請求項３】
上記優先解凍制御プログラム特定手段は、上記第１制御プログラムのロード後に確保される上記揮発性メモリの空き容量に応じてロードする第２制御プログラムを特定することを特徴とする上記請求項１または請求項２のいずれかに記載の印刷装置。
【請求項４】
上記ロード制御手段は所定の中間記憶手段を備えており、上記圧縮した状態で記憶された第２制御プログラムを、上記ロードの実行以前に予め解凍して上記中間記憶手段に格納することを特徴とする上記請求項１〜請求項３のいずれかに記載の印刷装置。
【請求項５】
上記優先解凍制御プログラム特定手段は、上記第２制御プログラムをロードする規則を定めるロード規則データを参照して上記第２制御プログラムのロードを実行することを特徴とする上記請求項１〜請求項４のいずれかに記載の印刷装置。
【請求項６】
上記優先解凍制御プログラム特定手段は、上記第２制御プログラムのロード頻度を計測し、ロード頻度の高い第２制御プログラムが高頻度でロードされるように上記ロード規則データを更新することを特徴とする上記請求項５に記載の印刷装置。
【請求項７】
上記不揮発性メモリと揮発性メモリとはネットワーク回線を介してデータを授受可能であり、上記ロード制御手段は当該ネットワーク回線を介して受信した第２制御プログラムを上記揮発性メモリにロードすることを特徴とする上記請求項１〜請求項６のいずれかに記載の印刷装置。
【請求項８】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置の制御プログラムロード方法であって、
上記揮発性メモリの記憶容量を取得する記憶容量取得工程と、
同取得した記憶容量から上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定工程と、
上記特定された第２制御プログラムの実行開始前の所定期間であって、第１制御プログラムが第２制御プログラムによる処理を必要とせず同第１制御プログラムが待機状態である期間に、上記特定された第２制御プログラムを解凍して上記揮発性メモリにロードするロード制御工程とを具備することを特徴とする制御プログラムロード方法。
【請求項９】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置で制御プログラムのロードを実施するロード制御プログラムを記録した媒体であって、
上記揮発性メモリの記憶容量を取得する記憶容量取得機能と、
同取得した記憶容量から上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定機能と、
上記特定された第２制御プログラムの実行開始前の所定期間であって、第１制御プログラムが第２制御プログラムによる処理を必要とせず同第１制御プログラムが待機状態である期間に、上記特定された第２制御プログラムを解凍して上記揮発性メモリにロードするロード制御機能とをコンピュータに実現させることを特徴とするロード制御プログラムを記録した媒体。
【請求項１０】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置で制御プログラムのロードを実施するロード制御プログラムであって、
上記揮発性メモリの記憶容量を取得する記憶容量取得機能と、
同取得した記憶容量から上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定機能と、
上記特定された第２制御プログラムの実行開始前の所定期間であって、第１制御プログラムが第２制御プログラムによる処理を必要とせず同第１制御プログラムが待機状態である期間に、上記特定された第２制御プログラムを解凍して上記揮発性メモリにロードするロード制御機能とをコンピュータに実現させることを特徴とするロード制御プログラム。
【請求項１１】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置であって、
上記揮発性メモリの記憶容量を取得する記憶容量取得手段と、
同取得した記憶容量および第２制御プログラムをロードする規則を定めるロード規則データを参照して、上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定手段と、
同特定された第２制御プログラムの実行開始前の所定期間に当該特定された第２制御プログラムを解凍して上記揮発性メモリにロードしておく事前ロード、を実行するロード制御手段とを備え、
かつ、上記ロード規則データは、上記解凍が所定時間以下で終了する第２制御プログラムについては、上記事前ロードの対象とはしない規則であることを特徴とする印刷装置。
【請求項１２】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置の制御プログラムロード方法であって、
上記揮発性メモリの記憶容量を取得する記憶容量取得工程と、
同取得した記憶容量および第２制御プログラムをロードする規則を定めるロード規則データを参照して、上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定工程と、
同特定された第２制御プログラムの実行開始前の所定期間に当該特定された第２制御プログラムを解凍して上記揮発性メモリにロードしておく事前ロード、を実行するロード制御工程とを備え、
かつ、上記ロード規則データは、上記解凍が所定時間以下で終了する第２制御プログラムについては、上記事前ロードの対象とはしない規則であることを特徴とする制御プログラムロード方法。
【請求項１３】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置で制御プログラムのロードを実施するロード制御プログラムを記録した媒体であって、
上記揮発性メモリの記憶容量を取得する記憶容量取得機能と、
同取得した記憶容量および第２制御プログラムをロードする規則を定めるロード規則データを参照して、上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定機能と、
同特定された第２制御プログラムの実行開始前の所定期間に当該特定された第２制御プログラムを解凍して上記揮発性メモリにロードしておく事前ロード、を実行するロード制御機能とをコンピュータに実現させ、
かつ、上記優先解凍制御プログラム特定機能が参照するロード規則データは、上記解凍が所定時間以下で終了する第２制御プログラムについては、上記事前ロードの対象とはしない規則であることを特徴とするロード制御プログラムを記録した媒体。
【請求項１４】
主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置で制御プログラムのロードを実施するロード制御プログラムであって、
上記揮発性メモリの記憶容量を取得する記憶容量取得機能と、
同取得した記憶容量および第２制御プログラムをロードする規則を定めるロード規則データを参照して、上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定機能と、
同特定された第２制御プログラムの実行開始前の所定期間に当該特定された第２制御プログラムを解凍して上記揮発性メモリにロードしておく事前ロード、を実行するロード制御機能とをコンピュータに実現させ、
かつ、上記優先解凍制御プログラム特定機能が参照するロード規則データは、上記解凍が所定時間以下で終了する第２制御プログラムについては、上記事前ロードの対象とはしない規則であることを特徴とするロード制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラムに関し、特に、揮発性メモリに各種制御プログラムをロードして処理を行いつつ印刷を行う印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラムに関する。
【０００２】
【従来の技術】
従来、この種の印刷装置としては、ＲＯＭ，ＲＡＭ，ＣＰＵ等からなるプログラム実行環境を備えたページプリンタ等が知られている。このページプリンタでは、必要充分なメモリリソースを搭載して有効に活用するために、制御プログラムをメインプログラムと他のモジュールとに分割し、ＲＯＭに圧縮・格納しておく。プリンタ駆動時にはＲＡＭにメインプログラムをロードして実行するとともに、メインプログラムにて他のモジュールが必要になった時点でそのモジュールを解凍し、ＲＡＭにロードして実行する。
【０００３】
【発明が解決しようとする課題】
上述した従来の印刷装置においては、各制御プログラムの実行時にまず解凍を行ってからＲＡＭにロードする必要があり、制御プログラムが必要とされたときに即実行することができず、処理速度高速化の障害となっていた。
本発明は、上記課題にかんがみてなされたもので、簡易な構成により制御プログラムによる処理速度を高速化することが可能な印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラムの提供を目的とする。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置であって、上記揮発性メモリの記憶容量を取得する記憶容量取得手段と、同取得した記憶容量から上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定手段と、上記特定された第２制御プログラムの実行開始前の所定期間であって、第１制御プログラムが第２制御プログラムによる処理を必要とせず同第１制御プログラムが待機状態である期間に、上記特定された第２制御プログラムを解凍して上記揮発性メモリにロードするロード制御手段とを具備する構成としてある。
【０００５】
上記のように構成した請求項１にかかる発明において、印刷装置は主記憶領域を提供する揮発性メモリを搭載可能であり、不揮発性メモリには定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムが記憶されている。印刷装置における各種処理は第１制御プログラムを実行し、また、必要に応じて第２制御プログラムを実行することによって実現され、これらの第１，第２制御プログラムは所定の揮発性メモリにロードされた状態で実行される。ここで、第２制御プログラムは複数のモジュールからなり、印刷装置は種々の処理の過程で適宜第２制御プログラムを呼び出して実行される。
【０００６】
本発明においては、各第１，第２制御プログラム実行時の処理速度を高速化するため、上記記憶容量取得手段と優先解凍制御プログラム特定手段とロード制御手段とを備えている。記憶容量取得手段においては、揮発性メモリの記憶容量を取得する。すなわち、印刷装置に対して搭載されている揮発性メモリの記憶容量を取得する。取得する記憶容量としては揮発性メモリの静的な容量でも良いし動的な容量でも良い。
【０００７】
優先解凍制御プログラム特定手段は上記不揮発性メモリに記憶した第２制御プログラムの中で優先的に解凍するプログラムを特定しており、この第２制御プログラムは上記記憶容量取得手段にて取得した記憶容量に基づいて特定される。ロード制御手段は同特定された第２制御プログラムの実行開始前の所定期間に当該特定された第２制御プログラムを解凍して上記揮発性メモリにロードする。
【０００８】
すなわち、本発明におけるロード制御手段は第２制御プログラムを当該第２制御プログラムが呼び出される前に解凍して揮発性メモリにロードしており、当該第２制御プログラムが呼び出されたときには、解凍処理等を行うことなく即座に実行を開始することができる。この意味で、ロード制御手段は第２制御プログラムについて事前ロードを実施すると言える。
【０００９】
この第２制御プログラムの事前ロードによって第１制御プログラムのワークエリアが少なくなるなどしたときには、当該第１制御プログラムの実行に障害となるところ、本発明では優先解凍制御プログラム特定手段によって揮発性メモリの容量を取得し容量を考慮して優先的に解凍する第２制御プログラムを特定する。従って、上記第１制御プログラムの実行に障害を与えない範囲で優先的に解凍する第２制御プログラムを特定することにより、当該第１制御プログラムを揮発性メモリにロードして実行しつつも、第１制御プログラムに支障を与えない範囲で第２制御プログラムの事前ロードをしておくことができる。
【００１０】
また、圧縮された第２制御プログラムを揮発性メモリにロードして実行可能な状態にするためには、当該第２制御プログラムを解凍した状態で揮発性メモリにロードする必要がある。このロードには解凍処理や不揮発性メモリからの読み出し、メモリへの書き込み処理が必要であるため、第２制御プログラムが呼び出された時点でこれらの解凍処理等を行うと上記第１制御プログラムの処理負荷が増大する。しかし、本発明において、第２制御プログラムはそのプログラムの実行開始前の所定期間に解凍，ロードされるので、当該解凍およびロードの処理負荷が上記第１制御プログラムの処理に影響を与えることはなく、印刷装置における各種処理の速度を低下させることがない。
【００１１】
ここで、上記第１，第２制御プログラムは印刷装置に関する制御処理を行う種々のプログラムを含んでおり、当該第１制御プログラムは第２制御プログラムを呼び出して特定の処理や制御を実行する。すなわち、第２制御プログラムは必要に応じて実行されるサブプログラム等であり、不揮発性メモリにはこれらの第２制御プログラムがモジュール化されて圧縮・記憶されている。
【００１２】
揮発性メモリは、第１，第２制御プログラムを実行する際にこれらのプログラムがロードされたり、画像データを処理する際のバッファとなるようなメモリであれば良い。必要に応じてデータの書き込みおよび消去を実行し、印刷装置の非駆動時にデータを保持している必要がないので当該メモリは揮発性であり、ＲＡＭ等によって構成可能である。
【００１３】
不揮発性メモリは第１，第２制御プログラムを格納できればよく、種々のメモリで構成可能である。印刷装置を製造した後に第１，第２制御プログラムの変更がない場合にはＲＯＭ等の不揮発性メモリを採用可能であるし、第１，第２制御プログラムの変更が想定される場合にはＥＥＰＲＯＭやフラッシュメモリなど、データ書き込みおよび消去が可能なメモリを採用可能である。いずれにしても印刷装置への電力供給停止後にデータを消失させないようなメモリが好ましい。
【００１４】
優先解凍制御プログラム特定手段では優先的に解凍する第２制御プログラムを揮発性メモリの記憶容量から特定することができればよく、記憶容量によっては第２制御プログラムの総てを事前にロードしても良いが、限られたメモリリソースを有効利用する観点では、優先順位に従って第２制御プログラムの一部をロードする構成が好ましい。むろん、優先順位は記憶容量によってダイナミックに変化しても構わない。
【００１５】
すなわち、揮発性メモリが特定の容量であれば第２制御プログラムＡが第２制御プログラムＢより優先的にロードされるが、揮発性メモリが他の容量であれば第２制御プログラムＢが第２制御プログラムＡより優先的にロードされるというように構成することも可能である。優先順位の決定指針としては、例えばデータ量の大きな第２制御プログラムほど揮発性メモリへのロード等の時間が必要となるので、データ量の大きな第２制御プログラムを事前にロードするように構成するなど種々の指針を採用可能であり、第２制御プログラムをロードする条件として後述の種々の条件を採用することできる。
【００１６】
優先的に解凍を行う際の条件例として請求項２にかかる発明では、印刷装置は異なる記憶容量の揮発性メモリを選択的に搭載可能であり、上記優先解凍制御プログラム特定手段は印刷装置に搭載された揮発性メモリの総容量に応じてロードする制御プログラムを特定する構成としてある。すなわち、印刷装置に対して搭載される揮発性メモリの容量（静的な揮発性メモリの容量）に応じて制御プログラムの優先ロード順位を決定する。従って、揮発性メモリの搭載容量毎に異なり、搭載容量に適した優先順位でロードを実施することができる。
【００１７】
優先的に解凍を行う際の条件例として請求項３にかかる発明では、上記優先解凍制御プログラム特定手段は、上記第１制御プログラムのロード後に確保される上記揮発性メモリの空き容量に応じてロードする第２制御プログラムを特定する構成としてある。すなわち、揮発性メモリは上記第１，第２制御プログラムをロードする他、第１，第２制御プログラムによる種々の処理用のバッファにもなり得るので、空き容量の総てに対して事前に第２制御プログラムをロードするとメモリリソースが不足する場合が多い。
【００１８】
そこで、揮発性メモリの空き容量、すなわち動的な揮発性メモリの容量に応じて第２制御プログラムの優先ロード順位を特定することにより、必要な空き容量を確実に確保しつつ制御プログラムの処理高速化を実現することができる。空き容量に応じた第２制御プログラムの決定としては種々の決定手法を採用可能であり、常に所定容量以上の空きを確保するようにしてロードする第２制御プログラムを決定したり、空き容量の大きさと第２制御プログラムの大きさとを比較して大きな空き容量であれば大きな第２制御プログラムをロードし、小さな空き容量であれば小さな第２制御プログラムをロードする等の決定手法を採用可能である。
【００１９】
さらに、第２制御プログラムをロードする際の所定期間としては種々の期間を採用することが可能であり、その構成例として請求項１にかかる発明では、上記ロード制御手段は、上記印刷装置における第１制御プログラムの実行処理負荷が所定の負荷以下となっている所定期間に第２制御プログラムのロードを実行する構成としてある。より具体的には、上記ロード制御手段は、第１制御プログラムが第２制御プログラムによる処理を必要とせず同第１制御プログラムが待機状態である期間に第２制御プログラムを解凍して揮発性メモリにロードする。本発明においては、第２制御プログラムが呼び出される以前に揮発性メモリにロードして実行可能な状態にすることにより、当該第２制御プログラムが呼び出されたときには、即座に実行を開始できるようにするものである。
【００２０】
しかし、呼び出し前であっても他の処理によって印刷装置での処理負荷が高い場合があり、この場合に制御プログラムの解凍およびロードを実行してしまうと、当該他の処理の処理速度を低下させてしまう。そこで、印刷装置における処理負荷が少ないときに制御プログラムの解凍およびロードを実行することにして、これら解凍およびロードの負荷により必要以上の高負荷状態を発生させないようにして、印刷装置における処理速度を低下させないようにした。
【００２１】
ここで、印刷装置における処理が所定の負荷以下となっている所定期間に第２制御プログラムのロードをする構成は、処理負荷をモニタして所定のしきい値による判別を行うような構成を採用することなく実現することができる。例えば、印刷装置に印刷ジョブが投入されておらず、印刷のための処理を行っていないような待機期間や、電源を投入しＩＰＬ（Initial Program Loader）が実行された後に印刷が開始される以前の所定期間や、ＰＤＦ（Portable Document Format)ファイル印刷のために高度な処理を実行していない所定期間等に第２制御プログラムをロードするように構成可能である。
【００２２】
さらに、第２制御プログラムをロードする際に好適な構成例として請求項４にかかる発明では、上記ロード制御手段は所定の中間記憶手段を備えており、上記圧縮した状態で記憶された第２制御プログラムを、上記ロードの実行以前に予め解凍して上記中間記憶手段に格納する構成としてある。圧縮された第２制御プログラムを実行可能な状態にする際に、処理速度を低下させる主な要因は圧縮データの解凍処理である。第２制御プログラムの解凍およびロードは上記所定期間に行われるが、両者は連続的に行われることが必須ではないので、解凍とロードとはある程度の時間間隔をおいて実施可能である。
【００２３】
また、中間記憶手段への解凍は、印刷装置の駆動後、各第２制御プログラムについて一回実行すれば必要充分であるから、当該解凍は印刷装置における処理負荷が低いときに前もって行っておけばよい。従って、各第２制御プログラムを中間記憶手段に解凍して保存しておけば、ロード制御手段によって揮発性メモリに第２制御プログラムをロードするたびに解凍処理をする必要がなくなり、揮発性メモリへの転送のみで第２制御プログラムを実行可能な状態にすることができ、第２制御プログラムのロードに関し、通常時の処理負荷を非常に小さくすることができる。尚、中間記憶手段としては種々の構成が採用可能であり、例えば、ＨＤＤやＲＡＭＤＩＳＫ等を採用することができる。
【００２４】
さらに、優先的に解凍を行う際の条件を特定するために好適な構成例として請求項５にかかる発明では、上記優先解凍制御プログラム特定手段は、上記第２制御プログラムをロードする規則を定めるロード規則データを参照して上記第２制御プログラムのロードを実行する構成としてある。すなわち、第２制御プログラムをロードする条件はロード規則データが示す規則として決められており、ロード制御手段は当該ロード規則データを参照することにより決められた条件どおりのロードを実行することができる。
【００２５】
このロード規則データは、ロード規則とその規則の適用対象となる第２制御プログラムとを対応づけることができればよく、特定のファイルにおいて規則とその規則の適用対象となる第２制御プログラムとを対応づけるようにデータを列記したり、各第２制御プログラムのヘッダ部分に規則や規則を示すＩＤを書き込むなどの構成により実現することができる。
【００２６】
さらに、優先的に解凍を行う際の条件例として請求項６にかかる発明では、上記優先解凍制御プログラム特定手段は上記第２制御プログラムのロード頻度を計測し、ロード頻度の高い第２制御プログラムが高頻度でロードされるように上記ロード規則データを更新する構成としてある。すなわち、ロード頻度が高い第２制御プログラムが高頻度で事前にロードされるようにすれば、利用者が印刷装置を使用する程、その利用者が良く実行する処理の第２制御プログラムが事前にロードされやすくなり、よく行う処理である程、高速での処理がされ易くなる。従って、使用するにつれその利用者に合わせてカスタマイズされることになる。上記ロード規則データにおいては、例えば当該ロード規則データに各第２制御プログラムの使用回数を書き込むなどして実現することができる。
【００２７】
さらに、優先的に解凍を行う際の条件例として、上記ロード規則データにおいては、上記解凍が所定時間以下で終了する第２制御プログラムについては上記ロード制御手段によるロードを実行しないような規則とする構成としてもよい。すなわち、第２制御プログラムのうち、他のプログラムと比較して解凍時間が短いプログラムについては印刷装置における処理に対して大きな速度低下要因にならないので、このような第２制御プログラムについては揮発性メモリに対する事前ロードをせず、解凍時間が比較的長い第２制御プログラムについて事前ロードをすることにした。
【００２８】
この結果、大きな処理速度低下要因となり得る第２制御プログラムについて事前に解凍して揮発性メモリにロードしておくことができ、印刷装置における処理速度を効果的に向上させることができる。むろん、本発明においては、優先的な解凍について上述の複数の条件のいずれかまたは組み合わせを採用することが可能であり、いずれの条件を優先して適用するのかを特定することにより、各印刷装置の第２制御プログラムの容量、解凍時間等に応じて最も効果的に処理速度を向上させるような条件とすることができる。
【００２９】
さらに、請求項７にかかる発明では、上記不揮発性メモリと揮発性メモリとはネットワーク回線を介してデータを授受可能であり、上記ロード制御手段は当該ネットワーク回線を介して受信した第２制御プログラムを上記揮発性メモリにロードする構成としてある。すなわち、近年の印刷装置はＬＡＮケーブル等を介してネットワーク接続可能である場合が多く、このような構成の印刷装置であれば印刷装置自体に備えたメモリに不揮発性メモリに第２制御プログラムを格納しておく他、ネットワーク接続された他の印刷装置やコンピュータ等から第２制御プログラムを取得することもできる。
【００３０】
このような構成によれば、印刷装置のリソースを必要以上に多くすることなく、非常に多くの第２制御プログラムを高速で実行可能になり、印刷装置において多種多様な処理を実行することができる。また、印刷装置の製造後に第２制御プログラムをバージョンアップすることも容易である。むろん、ネットワーク回線としてはＬＡＮケーブル以外にもＵＳＢ等種々のインタフェースを介したネットワーク回線を採用することができるし、インターネット等を介して接続される構成も可能である。
【００３１】
このように、第２制御プログラムが呼び出される前に事前にロードしておく手法は必ずしも実体のある装置に限られるものではなく、請求項８に記載した発明のように方法の発明としても有効である。また、上述の印刷装置は単独で存在する場合もあるし、プリンタドライバを搭載したコンピュータとプリンタとが接続された状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、第２制御プログラムのロードを実施する主体としてはソフトウェアであるということもできるし、ソフトウェアを実行させるためのハードウェアであると言うこともできる。
【００３２】
発明の思想の具現化例として印刷装置を制御するソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用される。その一例として、請求項９にかかる発明は、コンピュータによって制御プログラムのロードを実施するロード制御プログラムを記録した媒体として発明を特定している。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【００３３】
また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。上記媒体とは異なるが、供給方法として通信回線を利用して行なう場合であれば通信回線が伝送媒体となって本発明が利用されることになる。むろん、請求項１０に記載した発明のようにプログラムの発明として特定することもできる。さらに、これらの制御プログラムロード方法，ロード制御プログラムを記録した媒体、ロード制御プログラムにおいて上記請求項２〜請求項９に対応した構成にすることも可能である。
また、上記構成を踏まえた上で、請求項１１にかかる発明は、主記憶領域を提供する揮発性メモリと定常的に使用される第１制御プログラムおよび必要に応じて使用される第２制御プログラムを圧縮した状態で記憶した不揮発性メモリを備え、第１制御プログラムの実行に伴って上記第２制御プログラムが必要となるときのために、不揮発性メモリに記憶した第２制御プログラムを動的に上記揮発性メモリに解凍し、解凍した第２制御プログラムを実行する印刷装置であって、上記揮発性メモリの記憶容量を取得する記憶容量取得手段と、同取得した記憶容量および第２制御プログラムをロードする規則を定めるロード規則データを参照して、上記第２制御プログラムの中で優先的に解凍するプログラムを特定する優先解凍制御プログラム特定手段と、同特定された第２制御プログラムの実行開始前の所定期間に当該特定された第２制御プログラムを解凍して上記揮発性メモリにロードしておく事前ロード、を実行するロード制御手段とを備え、かつ、上記ロード規則データは、上記解凍が所定時間以下で終了する第２制御プログラムについては、上記事前ロードの対象とはしない規則である構成としてある。むろん、請求項１１の構成に対応した、制御プログラムロード方法、ロード制御プログラムを記録した媒体、ロード制御プログラムの各発明をもそれぞれに把握可能である。
【００３４】
【発明の効果】
以上説明したように請求項１，請求項８〜請求項１０にかかる発明によれば、印刷装置にて実行中の制御プログラムに何ら影響を与えることなく第２制御プログラムを事前にロードをすることができ、印刷装置における各種処理の速度を低下させることなく制御プログラムを実行可能な印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラムを提供することができる。さらに、解凍およびロードの負荷により必要以上の高負荷状態を発生させないようにして、印刷装置における処理速度を低下させないようにすることができる。
また、請求項２にかかる発明によれば、印刷装置に搭載した揮発性メモリの容量に応じて第２制御プログラムをロードすることができる。
さらに、請求項３にかかる発明によれば、必要な空き容量を確実に確保しつつ本発明による制御プログラムの処理高速化を実現することができる。
【００３５】
さらに、請求項４にかかる発明によれば、第２制御プログラムのロードに関し、通常時の処理負荷を非常に小さくすることができる。
さらに、請求項５にかかる発明によれば、容易に決められた条件どおりのロードを実行することができる。
【００３６】
さらに、請求項６にかかる発明によれば、利用者が良く実行する処理が高速で実行されるようにすることができる。
さらに、請求項１１〜請求項１４にかかる発明によれば、印刷装置における処理速度を効果的に向上させることができる。
さらに、請求項７にかかる発明によれば、非常に多くの第２制御プログラムを高速で実行可能になり、印刷装置において多種多様な処理を実行することができる。また、印刷装置の製造後に容易に第２制御プログラムをバージョンアップすることができる。
【００３７】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）レーザープリンタの構成：
（２）ロード制御プログラムの構成：
（３）ロード規則データの構成：
（４）ロード制御プログラムにおける処理：
（５）他の実施形態：
【００３８】
（１）レーザープリンタの構成：
図１は本発明にかかる印刷装置を構成するレーザープリンタ１０のブロック図である。同レーザープリンタ１０は、コントロールボード２０とプリントエンジン２３ａとを備えており、印刷のためのデータ処理や画像処理等に関する主たる制御デバイスはコントロールボード２０に搭載されている。同コントロールボード２０は通信Ｉ／Ｆ２４とビデオＩ／Ｆ２３とを備えており、通信Ｉ／Ｆ２４を介して外部のパーソナルコンピュータ（ＰＣ）２４ａが接続され、ビデオＩ／Ｆ２３にはプリントエンジン２３ａが接続されている。
【００３９】
印刷に当たり上記ＰＣ２４ａからは上記通信Ｉ／Ｆ２４を介して画像データや印刷コマンド等が送信され、コントロールボード２０上の各デバイスはこれらの画像データ等に対して適宜画像処理等を実行し、ビデオＩ／Ｆ２３から出力する。プリントエンジン２３ａは、ビデオＩ／Ｆ２３が出力するデータに基づき印刷用紙上に文字やグラフィック等のイメージを印刷する機構であり、レーザービームによって走査を行いながら感光ドラムを適宜照射することにより、各ドット毎の画像に対応したトナーを印刷用紙上に付着させる。
【００４０】
コントロールボード２０には、各種処理のためにＣＰＵ２１とメモリ制御部２２とＲＯＭ３０とメモリスロット４０ａと上記通信Ｉ／Ｆ２４およびビデオＩ／Ｆ２３とを備えている。メモリスロット４０ａは複数のメモリ差し込み口を備えており、ＲＡＭ４０を搭載可能である。従って、レーザープリンタのモデルや価格等に応じて、搭載するＲＡＭの枚数や一枚当たりの記憶容量の異なるメモリモジュールを適宜選択することにより、コントロールボード２０に搭載するＲＡＭ４０の記憶容量を変更することができる。
【００４１】
メモリ制御部２２は、ＤＭＡＣ（Direct Memory Access Controller）を内蔵しており、各Ｉ／Ｆやメモリ間でデータを高速に授受することができる。例えば、通信Ｉ／Ｆ２４を介して上記ＰＣ２４ａが送信した画像データ等を受けると、当該画像データ等を直接的に上記ＲＡＭ４０のバッファに書き込む。また、ＣＰＵ２１が行う画像処理により１頁分のラスターイメージがＲＡＭ４０内に生成されると、そのラスターイメージをビデオＩ／Ｆ２３に送出し、上記プリントエンジン２３ａに出力させる。
【００４２】
ＣＰＵ２１は、上記レーザープリンタ１０の駆動電源が投入されることにより、メモリ制御部２２を介して上記ＲＯＭ３０に格納したＩＰＬを起動して初期化処理を行う。この初期化の際にＣＰＵ２１は、ＲＯＭ３０に格納されたメインプログラムを解凍し、ＲＡＭ４０に転送して当該メインプログラムによる処理を実行する。図２は、ＲＯＭ３０およびＲＡＭ４０のメモリマップ例である。図に示すように、ＲＯＭ３０には上記ＩＰＬやＦＯＮＴデータが格納されており、メインプログラムは圧縮された状態で格納されている。
【００４３】
ＣＰＵ２１は圧縮された状態のプログラムを実行することができないため、上記メインプログラムは初期化の際に解凍され、実行可能形式としてＲＡＭ４０にロードされる。メインプログラムはレーザープリンタ１０にて実行されうるプログラム全体の一部であり、他のプログラムは複数のモジュール（モジュールａ〜モジュールｎ）に分割されるとともに、圧縮されてＲＯＭ３０に格納されている。メインプログラムはレーザープリンタ１０での初期化後にロードされ、ＲＡＭ４０に常駐するので、本実施形態においては当該メインプログラムが上記第１制御プログラムを構成する。また、各モジュールは必要に応じて呼び出されるので、本実施形態においては当該各モジュールが上記第２制御プログラムを構成する。
【００４４】
これら複数のモジュールは種々の言語処理プログラム（ESC/Page（ESC/Pageはセイコーエプソン株式会社の登録商標），Postscript（Postscriptはアドビシステムズの登録商標）等）や画像処理プログラム等であり、レーザープリンタ１０の駆動中に常時必要とされるわけではないが、特定の処理や特定の画像データについての印刷を行う際に必要とされ、必要に応じて動的にロードされる。本実施形態においては、このモジュールのロードタイミングをメインプログラムの一部を構成するロード制御プログラムによって制御しており、当該ロード制御プログラムが特定のモジュールについて呼び出し以前の解凍し、ＲＡＭ４０にロードしておく。従って、当該モジュールが実行されるときには解凍処理等をすることなく即座に実行開始することができる。
【００４５】
（２）ロード制御プログラムの構成：
図３は、ロード制御プログラムの機能的な構成を示すブロック図である。同図においてロード制御プログラム５０は、上記メインプログラムの処理の一環として同メインプログラムによる処理負荷が低い所定期間内に実行され、上記モジュールを解凍しＲＡＭ４０にロードする。このために、ロード制御プログラム５０は機能として記憶容量取得部５１と優先解凍制御プログラム特定部５２とロード制御部５３とを備えている。記憶容量取得部５１は上記ＲＡＭ４０にアクセスして容量認識を実行し、コントロールボード２０に搭載されたＲＡＭ４０の総容量を取得する。
【００４６】
優先解凍制御プログラム特定部５２は同ＲＡＭ４０の総容量および上記ＲＯＭ３０に記憶されたロード規則データを参照して、ロードすべきモジュールを特定する。当該特定されるモジュールは、そのモジュールがメインプログラムで呼び出される前にＲＡＭ４０にロードしておくべきモジュールである。ロード制御部５３は、解凍モジュール５３ａを備えており、上記特定されたモジュールを上記ＲＯＭ３０から取得し、解凍した後にＲＡＭ４０にロードする。
【００４７】
図２に示すように、ＲＯＭ３０には上記ＩＰＬやロード規則データとともにメインプログラムとモジュールａ〜ｎが格納されている。メインプログラムとモジュールａ〜ｎとは、リソースを有効利用するため、圧縮されてＲＯＭ３０に格納されている。モジュールａ〜ｎは上記解凍モジュール５３ａに読み出され、解凍されるとその容量が増加するとともにＣＰＵ２１によって各コマンドが解釈可能な実行可能形式となる。
【００４８】
ロード制御部５３は、この解凍後の実行可能形式で各モジュールを上記ＲＡＭ４０にロードする。本実施形態において、上記ロード制御プログラム５０は上記所定期間内に実行されるので、ロード制御部５３がＲＡＭ４０にロードするモジュールはメインプログラムに呼び出される前にＲＡＭ４０にロードされることとなるが、むろん、総てのモジュールを事前にロードする必要はない。この事前ロードを行うモジュールは上述のロード規則データによって決められており、以下このロード規則データについて説明する。
【００４９】
（３）ロード規則データの構成：
ロード規則データは優先的にロードを行うモジュールを規定しており、本実施形態においてはＲＡＭ４０の総容量に基づいて優先的にロードされるモジュールが決定されている。図４は、ロード規則データの内容を例示する図である。同図においては、モジュールａ〜ｎを容量の大きい順に上から並べて示しており、ＲＡＭ４０の総容量に対して各モジュールが解凍およびロードされる際の優先順位を示している。すなわち、本実施形態において、各モジュールの優先順位は上記コントロールボード２０に搭載されるＲＡＭ４０の総容量によって異なってくる。
【００５０】
具体的には、コントロールボード２０に総量６４ＭＢのＲＡＭ４０が搭載されているときには、モジュールａ，モジュールｂ，モジュールｃ，モジュールｄの順で優先的にロードされる。すなわち、ＲＡＭ４０に充分なワークエリアの空き容量が確保されている場合には上記モジュールａ〜ｄの総てが事前にロードされ、ある程度ワークエリアの空き容量が減少してモジュールａ〜ｄの総てを事前にロードすることができなくなったときには、モジュールａ〜ｃを順にロードし、モジュールｄをロードしないことになる。
【００５１】
このように、各モジュールはこの優先順位に従ってロードされるが、むろん、メインプログラムで画像処理等を実行するために充分なワークエリアの空き容量を確保しつつ事前ロードを実行するために、この優先順位に反する順序でロードすることも可能である。例えば、モジュールａを単体でロードできない程ワークエリアの空き容量が減少しているが、モジュールｂやモジュールｃはロード可能である場合には、モジュールｂ〜ｄのいずれかまたは組み合わせをロードすることができる。
【００５２】
コントロールボード２０に搭載されたＲＡＭ４０の総量が３２ＭＢ，１６ＭＢ，８ＭＢ等でも同様であり、ワークエリア容量によって優先順位に従ってモジュールをロードしつつも、最高優先順位のモジュールをロードできない場合に最高優先順位より低優先順位のモジュールをロードすることが可能である。いずれにしても、レーザープリンタ１０による制御において、定常的に必要とされるワークエリアは大きく変動せず、コントロールボード２０に搭載されたＲＡＭ４０の総容量からワークエリア量を見積もることができる。
【００５３】
従って、ＲＡＭ４０の搭載量からモジュールａ〜ｎのロード順序として好ましい順序をロード規則データとして予め決めることができ、優先解凍制御プログラム特定部５２にてロード規則データを参照するのみで、各搭載量に適した順序でモジュールを事前にロードさせることができる。むろん、図４に示すロード規則データは一例であり、これに限らず種々の優先順位とすることが可能であるし、より多くのＲＡＭ搭載量について優先順位を規定することができる。また、ロード規則データとしては、上記図２に示すようにひとまとまりのデータとしてＲＯＭ３０に格納する態様の他、各モジュールのヘッダにおいてＲＡＭ搭載量と優先順位とを対応づけつたデータを記述するなど種々の構成を採用可能である。
【００５４】
（４）ロード制御プログラムにおける処理：
次に、上記ロード制御プログラムにおける処理を中心として、レーザープリンタ１０の駆動中に実行されるメインプログラムの処理フローを図５に沿って説明する。メインプログラムが上記ＲＡＭ４０にロードされると、その実行が開始される。このメインプログラムの実行下において、上記ＰＣ２４ａから印刷実行指示を受信したり、レーザープリンタ１０の図示しない操作パネルによる操作を受け付けるなどすると、これら印刷実行等に必要なモジュールを適宜呼び出して各処理を実行していく。
【００５５】
すなわち、メインプログラムは、何らかの処理を実行する際にいずれかのモジュールを呼び出すべきか否かを判別する（ステップＳ１００）。同ステップＳ１００にてモジュールの呼び出しがあったと判別したときには、当該呼び出しのあったモジュールが上記ＲＡＭ４０に対して既にロードされているか否かを判別する（ステップＳ１０５）。同ステップＳ１０５にてモジュールがロード済であると判別されないときには、上記ＲＯＭ３０に格納されている当該モジュールを解凍し（ステップＳ１１０）、上記ＲＡＭ４０に対してロードする（ステップＳ１１５）。そして、当該ロードしたモジュールを実行し（ステップＳ１２０）、さらにステップＳ１００以降のメインプログラムの処理を続行する。
【００５６】
上記ステップＳ１０５にてモジュールがロード済であると判別されたときには、ＲＡＭ４０にロードされている当該モジュールを実行する（ステップＳ１２０）。すなわち、呼び出し対象のモジュールが上記ＲＡＭ４０にロード済であれば、上記ステップＳ１１０，Ｓ１１５を経ることなく即座にモジュールを実行することができ、高速に処理を進めることができる。このように、本発明においては総てのモジュールがＲＡＭ４０に対して事前にロードされていなくても、メインプログラムの処理の高速化に寄与する。特に、解凍に時間がかかるモジュールであるほど、また、容量が大きくてＲＡＭ４０へのロードに時間がかかるモジュールであるほど、事前ロードが処理速度高速化に大きく寄与する。むろん、コントロールボード２０に搭載されるＲＡＭ４０の総容量が大きく、余裕がある場合には、事前に総てのモジュールをロードすることによりメインプログラムの処理速度を大きく高速化することができる。
【００５７】
一方、上記ステップＳ１００にていずれかのモジュールが呼び出されたと判別されないときには、モジュールによる処理を行う必要がなく、メインプログラムの処理負荷が小さい待機状態である。本発明においては、この待機期間において上記ロード制御プログラム５０によるモジュールの事前ロードを行っており、ステップＳ１２５で同ロード制御プログラム５０を起動する。ロード制御プログラム５０が起動されると、記憶容量取得部５１が上記コントロールボード２０に搭載されているＲＡＭ４０の総容量を取得する（ステップＳ１３０）。
【００５８】
次に、上記優先解凍制御プログラム特定部５２が上記ロード規則データを取得する（ステップＳ１３５）とともに、上記ステップＳ１３０で取得したＲＡＭ４０の総容量を参照してモジュールａ〜ｎの中からロードすべきモジュールの優先順位を把握する（ステップＳ１４０）。モジュールの優先順位を把握すると、上記ロード制御部５３は、当該優先順位が規定されたモジュールがＲＡＭ４０に既にロード済であるか否かを判別する（ステップＳ１４５）。同ステップＳ１４５にて未ロードのモジュールが存在すると判別されないときには、モジュールの事前ロードを実施せずに上記ステップＳ１００の処理を続行する。上記ステップＳ１４５にて未ロードのモジュールが存在すると判別されたときには、上記ＲＡＭ４０のワークエリアの空き容量を鑑みて当該未ロードのモジュールがロード可能であるか否か、すなわち、モジュールをロードした後にもワークエリアに充分な空き容量が確保できるか否かを判別（ステップＳ１５０）し、ロード可能であると判別されたモジュールについてステップＳ１５５以降の処理を実行する。
【００５９】
ステップＳ１５０にてロード可能なモジュールがあると判別されなかったときには、モジュールの事前ロードを実施せずにステップＳ１００以降の処理を続行する。ステップＳ１５０でロード可能なモジュールがあると判別されたときには、上記解凍モジュール５３ａが上記ＲＯＭ３０に格納された当該モジュールを解凍し（ステップＳ１５５）、上記ＲＡＭ４０にロードする（ステップＳ１６０）。すなわち、初期化直後であれば、事前にロードされたモジュールが存在しないので、ロード規則データに記述された総てのモジュールがＲＡＭ４０に対して未ロードであり、総てのモジュールについてロードの可否を判別する。
【００６０】
ロード制御プログラム５０が１回以上起動された後には、モジュールの事前ロードが実行されているが、メインプログラムでの処理によってワークエリアを確保するために、事前ロードされたモジュールがのいずれかが消去されることも考えられ、当該消去されたモジュールが存在する場合には、上記ステップＳ１２５以降の処理によって再び事前ロードを行うことが可能である。従って、レーザープリンタ１０による印刷実行によって事前ロードされるモジュールに多少の変動が生ずることはあり得るが、本発明の処理によって搭載ＲＡＭの総容量およびワークエリアの空き容量から見て好ましいモジュールが常に事前ロードされており、当該事前ロードされたモジュールが呼び出されたときには解凍およびロードを経ることなく即座にモジュールを実行することができ、メインプログラムでの処理を高速に進めることができる。
【００６１】
（５）他の実施形態：
上記実施形態においては、コントロールボード２０に搭載されたＲＡＭ４０の各容量について優先順位をロード規則データに記述し、当該ロード規則データに基づいてＲＡＭ４０に対して事前にロードするモジュールを決定していたが、むろん、この構成以外にも種々の条件に基づいてロード規則データを決定することができる。図６〜図８は、他の実施形態にかかるロード規則データの内容を例示する図である。
【００６２】
図６に示すロード規則データでは、上記図４に示すＲＡＭ４０の総容量に対する優先順位に加えて各モジュールのロード回数を記述することとしてある。すなわち、コントロールボード２０に搭載されたＲＡＭ４０の総容量およびモジュールのロード頻度によってＲＡＭ４０への事前ロードモジュールが決定される。ロード頻度に応じてモジュールを決定するための具体的な手法としては、優先順位が高いモジュールであってもロード回数が多ければ優先順位を逆転させてロードするなど種々の手法が採用可能である。
【００６３】
例えば、優先順位ｎに対して優先順位ｎ＋１のロード回数が２倍以上である場合には優先順位ｎ＋１のモジュールを優先順位ｎのモジュールに優先してロードし、優先順位ｎに対して優先順位ｎ＋２のロード回数が３倍以上ある場合には優先順位ｎ＋１のモジュールを優先順位ｎのモジュールに優先してロードする等の構成が採用可能である。
【００６４】
図６に示すように、ＲＡＭ４０の搭載容量が６４ＭＢであるときにモジュールａ，ｂ，ｃのロード回数がそれぞれ”２”，”２０”，”３９”である場合には、モジュールｂのロード回数がモジュールａのロード回数の２倍以上であり、モジュールｃのロード回数がモジュールａのロード回数の３倍以上であるので、モジュールｂ，ｃがモジュールａより優先してロードされる。
【００６５】
むろん、この構成は一例であり、他にもロード回数が所定数多い場合にモジュールロードの優先順位を逆転させたり、図４に示すようにして優先順位が決められていたモジュール以外のモジュール（例えば、ＲＡＭ４０の搭載容量６４ＭＢである時のモジュールｅ〜ｎ）を優先的にロードするように構成することも可能である。このように、各モジュールのロード頻度を加味して事前ロードの優先順位を変化させることにより、レーザープリンタ１０の使用態様に応じて、通常の仕様態様で頻繁にロードされるモジュールを事前にロードしておくことが可能になり、レーザープリンタ１０の仕様態様に応じたカスタマイズが可能になる。
【００６６】
図７に示すロード規則データでは、ＲＡＭ４０の搭載容量に基づいてロードモジュールを規定しつつも、解凍時間が短いモジュールについては事前ロードロードをしないようになっており、ロードするモジュールについては○を付して示している。すなわち、図７に示すモジュールａ〜ｎは上から順に容量が大きいことから、上から順に優先順位が高くなっているとともに、図４に示す優先順位では事前ロードをするようにしてあったモジュールであっても、解凍時間が短いモジュールについては事前ロードをしないようにしてある。
【００６７】
例えば、ＲＡＭ４０の搭載容量が３２ＭＢのとき、上記図４ではモジュールｄ，ｅを３番目，４番目の優先順位で事前ロードするようにしてあったが、図７ではこれらのモジュールｄ，ｅについて事前ロードをしないようになっている。このように、解凍時間が短いモジュールについて事前ロードをしないようにして、解凍時間の長いモジュールを優先的にロードするようにすれば、リソースを有効的に使用しつつ、メインプログラムの主な処理速度低下要因を解消することができる。
【００６８】
図８に示すロード規則データでは、上記図４に示すＲＡＭ４０の総容量および空き容量毎に優先順位を規定している。すなわち、コントロールボード２０に搭載されたＲＡＭ４０の総容量毎に画一的な優先順位とするのではなく、空き容量に対応して優先順位を変動させる構成としてある。例えば、コントロールボード２０に６４ＭＢのＲＡＭ４０が搭載されている場合であって、ＲＡＭ４０の空き容量が３２〜６４ＭＢであれば、モジュールａ，ｂ，ｃ，ｄの優先順位でモジュールがロードされるが、空き容量が１６〜３２ＭＢであれば、モジュールａ，ｃ，ｄ，ｅの優先順位でモジュールがロードされる。このように、空き容量毎に優先順位を変更すれば、上記第１実施形態のようにワークエリアの空き容量を参酌することなくロード規則データを参酌するだけでＲＡＭ４０の空き容量に応じたモジュールのロードを行うことができる。
【００６９】
本発明においては、上述のようにロード規則データを変更することによって種々の実施形態を構成可能であり、むろん、上記図６〜図８の技術思想を組み合わせることも可能である。また、ロード規則データを変更する以外にも種々の実施形態を構成可能である。例えば、レーザープリンタ１０のハードウェア構成やデータの保管場所についても上記図１に示す構成に限られることはない。図９，図１０は、他の実施形態にかかる印刷装置の構成例を示している。両図において、上記図１と同様の構成については同様の符号を付して示している。
【００７０】
図９は他の実施形態にかかる印刷装置を構成するレーザープリンタ１００のブロック図である。同レーザープリンタ１００は上記図１に示すレーザープリンタ１０とほぼ同様の構成であるが、コントロールボード２０に備えられた通信Ｉ／Ｆ２４０が異なっており、同通信Ｉ／Ｆ２４０には図９に示すようにレーザープリンタ１０１とＰＣ２４０ａとが接続されている。すなわち、レーザープリンタ１０１は通信Ｉ／Ｆ２４０を介して種々の外部機器と接続され、互いに双方向通信を行うことが可能である。
【００７１】
ＰＣ２４０ａは上記ＰＣ２４ａと同様にレーザープリンタ１００に対して画像データや印刷コマンド等を送信可能であるとともに、そのＨＤＤ２４１内にレーザープリンタ１００で使用するモジュールｍを格納している。また、レーザープリンタ１０１は、レーザープリンタ１００とほぼ同様なハードウェアを備えており、そのＲＯＭ３０１内にレーザープリンタ１００，１０１にて使用するモジュールｏを格納している。
【００７２】
レーザープリンタ１００のＲＯＭ３０内に格納されたメインプログラムでは、レーザープリンタ１００自身のＲＯＭに格納されたモジュールａ〜ｎの他、上記ＰＣ２４０ａやレーザープリンタ１０１に格納されたモジュールｍ，ｏをも呼び出してＲＡＭ４０にロードすることが可能である。むろん、本発明にかかるロード規則データによって上記モジュールｍ，ｏに事前ロードの優先順位を付することにより、これらのモジュールを呼び出し前にＲＡＭ４０に対してロードさせることも可能である。
【００７３】
従って、レーザープリンタ１００においては、ＲＯＭ３０内に格納したモジュール以外も実行可能であるとともに、それらのモジュールを実行する際の解凍時間およびロード時間を省くことができ、メインプログラムの処理速度を高速化することができる。また、本実施形態によれば、レーザープリンタ１００のＲＯＭ３０内に所定のモジュールを格納して出荷した後であっても、ＰＣ２４０ａやレーザープリンタ１０１等の記憶領域に他のモジュールを格納することによって、出荷段階でＲＯＭ３０内に格納されていなかったモジュールを使用することができる。従って、容易にモジュールのバージョンアップや新たな機能の追加が可能になる。
【００７４】
図１０は他の実施形態にかかる印刷装置を構成するレーザープリンタ１１０のブロック図である。同レーザープリンタ１１０は上記図１に示すレーザープリンタ１０とほぼ同様の構成に加え、ハードディスクドライブ（ＨＤＤ）を備えている。すなわち、コントロールボード２０はＩＤＥＩ／Ｆ２５０ａを備えており、ＨＤＤ２５０ａは同ＩＤＥＩ／Ｆ２５０ａを介してバスに接続されている。従って、上記ＣＰＵ２１は上記メモリ制御部２２を介してＨＤＤ２５０にアクセスすることが可能であり、同ＨＤＤ２５０にデータを書き込み、また、読み出したりすることができる。
【００７５】
本実施形態において、上記ＲＯＭ３０内に格納されたメインプログラムはＩＰＬ実行の際に解凍され上記ＲＡＭ４０にロードされるが、他のモジュールはレーザープリンタ１１０における処理負荷が低い所定期間に解凍され、上記ＨＤＤ２５０に解凍データ２５０ｂとして格納される。従って、各モジュールの事前ロードあるいは呼び出し時のロードに際して逐次モジュールの解凍処理を行うことなく、ＨＤＤ２５０からＲＡＭ４０へのデータ転送のみでＲＡＭ４０へのロードを完了し、各モジュールを実行可能な状態にすることができる。この結果、事前ロードを実行する時点での処理負荷を低減することができる。
【００７６】
以上の説明したように、本発明では主記憶領域を提供する揮発性メモリを搭載する印刷装置において、当該揮発性メモリの記憶容量に基づいて優先的に解凍する第２制御プログラムを特定し、当該特定された第２制御プログラムの実行開始前に解凍して揮発性メモリにロードする。従って、当該第２制御プログラムの実行時に解凍処理等を行う必要がなく、第１，第２制御プログラムによる処理速度を高速化することができる。
【図面の簡単な説明】
【図１】レーザープリンタのブロック図である。
【図２】ＲＯＭおよびＲＡＭのメモリマップ例を示す図である。
【図３】ロード制御プログラムの機能的な構成を示すブロック図である。
【図４】ロード規則データの内容を例示する図である。
【図５】メインプログラムの処理を示すフローチャートである。
【図６】他の実施形態にかかるロード規則データの内容を例示する図である。
【図７】他の実施形態にかかるロード規則データの内容を例示する図である。
【図８】他の実施形態にかかるロード規則データの内容を例示する図である。
【図９】他の実施形態にかかる印刷装置の構成例を示す図である。
【図１０】他の実施形態にかかる印刷装置の構成例を示す図である。
【符号の説明】
１０…レーザープリンタ
２０…コントロールボード
２１…ＣＰＵ
２２…メモリ制御部
２３…ビデオＩ／Ｆ
２３ａ…プリントエンジン
２４…通信Ｉ／Ｆ
２４ａ…ＰＣ
３０…ＲＯＭ
４０…ＲＡＭ
４０ａ…メモリスロット
５０…ロード制御プログラム
５１…記憶容量取得部
５２…優先解凍制御プログラム特定部
５３…ロード制御部
５３ａ…解凍モジュール
【図１】
0003944709.tif 000002
【図２】
0003944709.tif 000003
【図３】
0003944709.tif 000004
【図４】
0003944709.tif 000005
【図５】
0003944709.tif 000006
【図６】
0003944709.tif 000007
【図７】
0003944709.tif 000008
【図８】
0003944709.tif 000009
【図９】
0003944709.tif 000010
【図１０】
0003944709.tif 000011