JP4359031B2 - System controller - Google Patents
System controller Download PDFInfo
- Publication number
- JP4359031B2 JP4359031B2 JP2002295068A JP2002295068A JP4359031B2 JP 4359031 B2 JP4359031 B2 JP 4359031B2 JP 2002295068 A JP2002295068 A JP 2002295068A JP 2002295068 A JP2002295068 A JP 2002295068A JP 4359031 B2 JP4359031 B2 JP 4359031B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- host device
- system controller
- memory
- printer
- 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)
- Debugging And Monitoring (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、システムコントローラに関し、詳細には、処理能力をホスト装置に通知して、ホスト装置との間で処理を分散して、メモリ容量に依存することなく、処理能力を向上させることのできるシステムコントローラに関する。
【0002】
【従来の技術】
【特許文献1】
特開平7−200195号公報
スキャナ、プリンタ、複合装置、ファクシミリ装置、コンピュータ等の各種装置は、その動作処理を行うのに、CPU(Central Processing Unit )がメモリを利用して、必要な演算処理等を行っている。
【0003】
例えば、カラー印字をCMYKについてプリントコントロール動作を順次行なうカラープリンタコントローラは、CMYKインクの色再現特性がプリンタ固有のものであるため、各色の補正を行うのに、元色のRGBまたはCMYのカラーデータをバッファメモリにページ単位で蓄積し、3色同時に読出してCMY3項のマトリクス演算を行うか、または、各色の変換テーブルデータを参照することにより、プリンタに最適なCMYKデータを生成する。
【0004】
ところが、色特性の補正を行うためには、1画素あたりCMY各8ビットのデータを必要とし、CMYK面順次に印刷するカラープリンタでは、CMY8ビットデータをページ単位でメモリに蓄積し、CMY8ビットデータを同時に読み出すように動作する必要がある。そして、バッファメモリをビットマップメモリとした場合、その容量は、例えば、原稿がA4サイズで、400dpiの解像度であると、48メガバイトの容量となり、バッファメモリとして、DRAM(Dynamic Random Access Memory)等を使用しても、かなり高価なものになる。
【0005】
そこで、従来、ホストよりプリントデータを受信する受信手段と、ホストへプリンタステータスを送信するステータス送信手段と、プリンタのもつ固有の色特性を補正する補正データを保持する保持手段と、該保持手段での保持補正データをホスト側に送信する補正データ送信手段とを有するカラープリンタコントローラが提案されている(特許文献1参照)。
【0006】
すなわち、この従来技術は、装置の処理能力向上に、メモリ容量の削減を図り、余裕のできたメモリによって処理能力を向上させようとしている。
【0007】
【発明が解決しようとする課題】
しかしながら、このような従来の技術にあっては、メモリ容量を削減して、余裕のできたメモリによって処理能力の向上を図っている。
【0008】
ところが、もともと搭載されているメモリ自体の記憶容量が小さいと、大きな処理能力の向上は期待することができいという問題があった。
【0009】
そこで、本発明は、処理能力をホスト装置に通知して、ホスト装置との間で処理を分散して、メモリ容量に依存することなく、処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【0018】
【課題を解決するための手段】
請求項1記載の発明のシステムコントローラは、ホスト装置からの処理要求に応じて、搭載される装置における各種処理を行うシステムコントローラにおいて、プログラムを実行する制御手段と、該制御手段が有し、前記制御手段のパフォーマンス特性を知るための情報を記憶するレジスタと、を備え、前記ホスト装置から、前記制御手段の処理能力を計測するためのプログラム及びデータを受け取って前記制御手段によって前記プログラム及びデータを処理した際に、前記レジスタから得られた情報に基づいて計算した結果を前記処理能力の計測結果として前記ホスト装置に通知し、該処理能力の計算結果に基づいて、当該システムコントローラで行う処理を前記ホスト装置に分担させることにより、上記目的を達成している。
【0020】
この場合、例えば、請求項2に記載するように、前記処理能力の計測結果は、前記レジスタから得られた情報に基づいて単位時間あたりの整数演算命令数又は浮動小数点演算命令数を計算して得られた結果とするようにしてもよい。
【0022】
また、例えば、請求項3に記載するように、不揮発メモリを有し、前記制御手段は、前記処理能力の計測結果を前記不揮発性メモリに格納するようにしてもよい。
【0024】
さらに、例えば、請求項4に記載するように、当該システムコントローラにおけるシステムリソースの変更の有無を検知するリソース変更検知手段を備え、
前記制御手段は、前記ホスト装置からの処理要求に対して、前記リソース変更検知手段が前記システムリソースの変更があったことを検知している場合にのみ、前記処理能力の計測を行って、該計測結果を前記不揮発性メモリに上書きするようにしてもよい。
【0034】
【発明の実施の形態】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【0035】
図1〜図4は、本発明のシステムコントローラの第1の実施の形態を示す図であり、図1は、本発明のシステムコントローラの第1の実施の形態を適用したプリンタコントローラ1の要部回路ブロック構成図である。
【0036】
図1において、プリンタコントローラ1は、CPU(Central Processing Unit )2、主記憶メモリ3、フラッシュ(FLASH)メモリ4、ICカードI/F(インタフェース)5、ネットワークコントローラ(Network Controller)6、操作パネルI/F7、操作パネル8、エンジンI/F9、NVRAM(Nonvolatile Random Access Memory)10及びI/O11等を備えており、上記主要各部は、バス12で接続されている。このプリンタコントローラ1は、例えば、上位装置としてのホスト装置に接続され、当該ホスト装置からの印刷要求(処理要求)に応じて、印刷処理を行う装置としてのプリンタに適用される。
【0037】
フラッシュメモリ4は、プリンタコントローラ1としての基本制御プログラムと後述する指標通知処理プログラム及びこれらの各プログラムを実行するのに必要な各種データを格納するための不揮発性かつ電気的書換可能メモリであり、主記憶メモリ3は、CPU2のワークメモリ、入力データのインプットバッファ、プリントデータのページメモリ等として使用される。
【0038】
CPU2は、フラッシュメモリ4内のプログラムに基づいて、主記憶メモリ3をワークメモリとして利用して、プリンタコントローラ1の各部を制御し、プリンタコントローラ1の適用されるプリンタの動作を制御するとともに、後述する指標通知処理を実行する。
【0039】
このCPU2は、高速処理が可能なCPUであり、プログラムの実行の際に、そのパフォーマンス特性を知ることが可能なレジスタ(パフォーマンスカウンタレジスタ)を実装している。
【0040】
ICカードI/F5には、図示しないICカードが着脱可能に接続され、ICカードI/F5は、CPU2の制御下で、接続されているICカードからのデータやプログラムの読み出し及びICカードへのデータやプログラムの書き込みを行う。特に、ICカードI/F5には、フラッシュメモリ4に格納されているプログラムを書き換える場合等に、ブートして、実行する書換プログラムが格納されているICカードが装着される。
【0041】
ネットワークコントローラ6には、LAN(Local Area Network)が接続され、ネットワークコントローラ6は、LANとのインターフェースをとる。
【0042】
操作パネルI/F7には、操作パネル8が接続されており、操作パネル8は、プリンタの状態等を表示する表示部やプリンタコントローラ1の適用されているプリンタの設定等を行う操作ボタン等が設けられている。操作パネルI/F7は、操作パネル112との間で信号の授受を行う。
【0043】
エンジンI/F9には、図示しないが、所定のプリント方式、例えば、電子写真方式、インク噴射方式等で画像を用紙にプリント出力するプリンタエンジンが接続され、エンジンI/F9は、このプリンタエンジンとの間で、コマンド、ステータス及び印字データ等の通信を行う。
【0044】
NVRAM10は、一般的に各機能の初期設定値を格納する他、CPU2の制御下で、プリンタコントローラ1の動作に必要な各種データを記憶する。
【0045】
I/O11には、図示しない上記ホスト装置が接続され、I/O11は、当該ホスト装置とのインターフェースをとる。
【0046】
次に、本実施の形態の作用を説明する。本実施の形態のプリンタコントローラ1は、処理能力を示す指標をホスト装置に通知することで、プリンタコントローラ1側で処理を行うには、過負荷となる処理をホスト装置側で処理するという分散処理を行うところにその特徴がある。
【0047】
すなわち、CPU2は、高速処理が可能なCPUであり、プログラムの実行の際に、そのパフォーマンス特性を知ることが可能なレジスタ(パフォーマンスカウンタレジスタ)を実装している。例えば、Pentium(登録商標)等で知られるP6アーキテクチャCPUは、パフォーマンスカウンタレジスタとして、MSRs(Model Specific Registers)を実装しており、プログラムが実行される際の事象(図2及び図3参照)の発生を知ることができる。これらの事象の発生頻度からシステムコントローラであるプリンタコントローラ1の処理能力を計測する指標を計算することができる。
【0048】
その指標のひとつとして、単位時間当たりに実行できる整数演算命令の数(MIPS:Million Instructions Per Second )がある。この指標のMIPSは、例えば、図3の事象番号52の命令デコードが発生した数を処理能力を計測するプログラムの実行時間で除することによって計算される。
【0049】
また、処理能力を計測する指標のひとつとして、単位時間当たりに実行できる浮動小数点演算命令の数(FLOPS:Floating Operations Per Second)がある。この指標のFLOPSは、例えば、図3の事象番号42の浮動少数演算命令実行が行われた数を処理能力を計測するプログラムの実行時間で除することによって計算される。
【0050】
そこで、本実施の形態のプリンタコントローラ1は、図4に示すように、処理能力を示す指標をホスト装置に通知することで、プリンタコントローラ1側で処理を行うには、過負荷となる処理をホスト装置側で処理するという分散処理を行う。
【0051】
すなわち、プリンタコントローラ1は、図4に示すように、まず、ホスト装置から計測に必要なプログラム及びデータ(処理能力計測用プログラムファイル)をダウンロードする(ステップS101)。このデータは、例えば、ポストスクリプト言語で記述されたものである。
【0052】
次に、CPU2は、ダウンロードしたデータを主記憶メモリ3のページメモリへ描画する処理能力計測用プログラムの実行を行い、このときのパフォーマンスカウンタの情報から処理能力の指標値を計算してパフォーマンスデータを取得する(ステップS103)。
【0053】
そして、CPU2は、計算結果のパフォーマンスデータをホスト装置へ通知する(ステップS103)。
【0054】
このとき、CPU2は、例えば、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得する。また、CPU2は、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得し、さらに、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得する。例えば、プリンタでは、標準プリンタ言語が整数演算命令のみで処理されているので、単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得することで、プリンタコントローラ1の適用されるプリンタで実行するエミュレーション毎に、より正確な処理能力の予測を行うことができ、エミュレーション毎に処理の分散を行うことができる。また、ポストスクリプト言語は、整数演算命令のみならず、浮動小数点演算命令が使用されているので、プリンタコントローラ1の適用されるプリンタ側の処理能力を定量的な数値として求めることができる。
【0055】
そして、ホスト装置は、プリンタコントローラ1の適用されているプリンタからのパフォーマンスデータの通知結果から当該プリンタの処理能力を判断し、例えば、ホスト装置の搭載するプリンタドライバでの処理を変更させることで、プリンタでの処理を調整して、プリンタでの処理が過負荷とならないようにする。
【0056】
このように、本実施の形態のプリンタコントローラ1は、パフォーマンスカウンタレジスタを実装するCPU2を有し、上位装置であるホスト装置からの処理要求に応じて、各種処理を行うに際して、ホスト装置から処理能力計測用のプログラムとデータを受け取り、CPU2が、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果をホスト装置に通知している。
【0057】
したがって、ホスト装置側でプリンタコントローラ1の適用される装置であるプリンタの処理能力を予測して、プリンタ側で過負荷となる処理をホスト装置側で処理することができ、プリンタ側の処理能力が低くても、システム全体の処理能力を向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0058】
また、本実施の形態のシステムコントローラ1は、CPU2が、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得している。
【0059】
したがって、プリンタの処理能力を定量的に予測することができ、上位装置と装置とのより詳細な処理の分散を行って、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【0060】
さらに、本実施の形態のシステムコントローラ1は、CPU2が、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得している。
【0061】
したがって、プリンタで実行するエミュレーション毎に、より正確な処理能力の予測を行えるようにして、エミュレーション毎に処理の分散を行うことができ、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定した処理能力を向上させることができる。
【0062】
また、本実施の形態のシステムコントローラ1は、CPU2が、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得している。
【0063】
したがって、例えば、ポストスクリプト言語で使用されている整数演算命令だけでなく浮動小数点演算命令についてプリンタ側の処理能力を定量的な数値として求めて、プリンタ側の処理能力をより一層詳細に把握できるようにすることができ、システム全体の処理能力をより一層向上させることができとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【0064】
図5及び図6は、本発明のシステムコントローラの第2の実施の形態を示す図であり、図1は、本発明のシステムコントローラの第2の実施の形態を適用したプリンタコントローラ20の要部回路ブロック構成図である。
【0065】
なお、本実施の形態は、上記第1の実施の形態のプリンタコントローラ1と同様のプリンタコントローラに適用したものであり、本実施の形態の説明においては、上記第1の実施の形態のプリンタコントローラ1と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【0066】
図5において、プリンタコントローラ20は、上記第1の実施の形態のプリンタコントローラ1と同様のCPU2、主記憶メモリ3、フラッシュメモリ4、ICカードI/F5、ネットワークコントローラ6、操作パネルI/F7、操作パネル8、エンジンI/F9、NVRAM10及びI/O11を備えるとともに、キャッシュメモリ21及びリソース変更検知部22等を備えている。
【0067】
キャッシュメモリ21は、CPU2に接続され、所定の容量を有してCPU2の命令の実行を高速化するためのものである。
【0068】
リソース変更検知部(リソース変更検知手段)22は、主記憶メモリ3のバスクロック周波数やキャッシュメモリ21の容量の変更等のシステムリソースの変更を検出して、CPU2に通知する。
【0069】
NVRAM(不揮発性メモリ)10は、上述のように、一般的に各機能の初期設定値を格納する他、CPU2の制御下で、プリンタコントローラ1の動作に必要な各種データを記憶するとともに、本実施の形態では、計測した処理能力の指標値であるパフォーマンスデータを格納する。
【0070】
次に、本実施の形態の作用を説明する。本実施の形態のプリンタコントローラ20は、処理能力の計測結果をNVRAM10に格納して、処理能力の計測要求があると、当該要求毎に計測を行うことなく、当該NVRAM10に格納している計測結果をホスト装置に通知し、また、システムリソースの変更があったときのみ、処理能力の計測を行う。
【0071】
すなわち、プリンタコントローラ20は、ホスト装置から計測に必要なプログラム及びデータ(処理能力計測用プログラムファイル)のダウンロード要求があると(ステップS201)、CPU2は、リソースの変更があったかチェックする(ステップS202)。
【0072】
このリソースの変更は、リソース変更検知部22の検知結果に基づいて、CPU2が判別し、CPU2は、システムリソースのうち、特に、プリンタコントローラ1の処理能力に影響を及ぼすリソース、例えば、主記憶メモリ3のバスクロック周波数の変更やキャッシュメモリ21の容量の変更等のリソースの変更の有無を判別する。
【0073】
ステップS202で、リソースの変更があると、CPU2は、ホスト装置から計測に必要なプログラム及びデータ(処理能力計測用プログラムファイル)をダウンロードし(ステップS203)、ダウンロードしたデータを主記憶メモリ3のページメモリへ描画する処理能力計測用プログラムの実行を上記第1の実施の形態の場合と同様に行って、このときのパフォーマンスカウンタの情報から処理能力の指標値を計算してパフォーマンスデータを取得する(ステップS203)。
【0074】
CPU2は、計算結果のパフォーマンスデータを不揮発性メモリであるNVRAM10に書き込んで格納するとともに(ステップS205)、当該計算結果のパフォーマンスデータをホスト装置へ通知する(ステップS206)。
【0075】
そして、ホスト装置は、プリンタコントローラ1の適用されているプリンタからのパフォーマンスデータの通知結果から当該プリンタの処理能力を判断し、例えば、ホスト装置の搭載するプリンタドライバでの処理を変更させることで、プリンタでの処理を調整して、プリンタでの処理が過負荷とならないようにする。例えば、ホスト装置は、プリンタコントローラ20側で、バスクロック周波数の変更やキャッシュメモリ21の容量の変更があると、当該変更に応じた処理能力を判断して、プリンタでの処理とホスト装置での処理の分散を適切に行う。
【0076】
ステップS202で、リソースの変更がないと、CPU2は、既に処理能力の指標値を計算してパフォーマンスデータをNVRAM10に格納しているかチェックし(ステップS207)、NVRAM10にパフォーマンスデータが格納されていないときには、ステップS203に移行して、上記同様に、ホスト装置からの処理能力計測用プログラム及びデータのダウンロードを行って、当該処理能力計測用プログラムを実行してパフォーマンスデータを取得し、NVRAM10に格納するとともに、ホスト装置に通知する処理を行う(ステップS203〜S206)。
【0077】
ステップS207で、NVRAM10に既にパフォーマンスデータが格納されていると、CPU2は、NVRAM10から当該パフォーマンスデータを読み出し(ステップS208)、ホスト装置に当該パフォーマンスデータを通知する(ステップS206)。
【0078】
このように、本実施の形態のプリンタコントローラ20は、CPU2が、処理能力の計測結果を不揮発性メモリであるNVRAM10に格納している。
【0079】
したがって、ホスト装置からの処理要求に対してNVRAM10内の計測結果を通知して、速やかに計測結果を通知することができ、処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0080】
また、本実施の形態のプリンタコントローラ20は、CPU2が、ホスト装置からの処理要求に対して、プリンタコントローラ20のシステムリソースの変更の有無を検知するリソース変更検知部22がシステムリソースの変更があったことを検知している場合にのみ、処理能力の計測を行っている。
【0081】
したがって、ホスト装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、リソースの変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0082】
さらに、本実施の形態のプリンタコントローラ20は、リソース変更検知部22が、システムリソースの変更として、メモリバス周波数の変更を検知している。
【0083】
したがって、ホスト装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、メモリバス周波数の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0084】
また、本実施の形態のプリンタコントローラ20は、リソース変更検知部22が、システムリソースの変更として、キャッシュメモリ21の容量の変更を検知している。
【0085】
したがって、ホスト装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、キャッシュメモリ21の容量の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0086】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0087】
【発明の効果】
請求項1記載の発明のシステムコントローラによれば、パフォーマンスカウンタレジスタを実装するCPUを有し、上位装置からの処理要求に応じて、各種処理を行うに際して、上位装置から処理能力計測用のプログラムとデータを受け取り、CPUが、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果を当該上位装置に通知するので、上位装置側で装置の処理能力を予測して、装置側で過負荷となる処理を上位装置側で処理することができ、装置側の処理能力が低くても、システム全体の処理能力を向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0088】
請求項2記載の発明のシステムコントローラによれば、CPUが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得するので、例えば、ポストスクリプト言語で使用されている整数演算命令だけでなく浮動小数点演算命令について装置側の処理能力を定量的な数値として求めて、装置側の処理能力をより一層詳細に把握できるようにすることができ、システム全体の処理能力をより一層向上させることができとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【0089】
請求項3記載の発明のシステムコントローラによれば、CPUが、処理能力の計測結果を不揮発性メモリに格納するので、上位装置からの処理要求に対して不揮発性メモリ内の計測結果を通知して、速やかに計測結果を通知することができ、処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【0090】
請求項4記載の発明のシステムコントローラによれば、リソース変更検知手段が、システムリソースの変更として、メモリバス周波数の変更を検知するので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、メモリバス周波数の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【図面の簡単な説明】
【図1】本発明のシステムコントローラの第1の実施の形態を適用したプリンタコントローラの要部回路ブロック構成図。
【図2】プログラムが実行される際の事象と事象番号の一例を示す図。
【図3】図2の事象と事象番号の続きを示す図。
【図4】図1のプリンタコントローラによる指標通知処理を示すフローチャート。
【図5】本発明のシステムコントローラの第2の実施の形態を適用したプリンタコントローラの要部回路ブロック構成図。
【図6】図5のプリンタコントローラによる指標通知処理を示すフローチャート。
【符号の説明】
1 プリンタコントローラ
2 CPU
3 主記憶メモリ
4 フラッシュメモリ
5 ICカードI/F
6 ネットワークコントローラ
7 操作パネルI/F
8 操作パネル
9 エンジンI/F
10 NVRAM
11 I/O
12 バス
20 プリンタコントローラ
21 キャッシュメモリ
22 リソース変更検知部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a system controller, and in particular, can notify a host device of processing capability, distribute processing between the host device, and improve processing capability without depending on memory capacity. Related to system controller.
[0002]
[Prior art]
[Patent Document 1]
JP-A-7-200195
Various devices such as a scanner, a printer, a composite device, a facsimile device, and a computer perform necessary arithmetic processing using a memory by a CPU (Central Processing Unit) in order to perform the operation processing.
[0003]
For example, a color printer controller that sequentially performs a print control operation for CMYK for color printing has a color reproduction characteristic of CMYK ink unique to the printer. Therefore, to correct each color, the original RGB or CMY color data is used. Are stored in the buffer memory in units of pages, and the CMY3 term matrix operation is performed by reading the three colors simultaneously or by referring to the conversion table data of each color, thereby generating CMYK data optimum for the printer.
[0004]
However, in order to correct color characteristics, 8 bits of CMY data are required per pixel. In a color printer that prints CMYK planes sequentially,
[0005]
Therefore, conventionally, a receiving unit that receives print data from a host, a status transmitting unit that transmits a printer status to the host, a holding unit that holds correction data for correcting a unique color characteristic of the printer, and the holding unit A color printer controller having correction data transmission means for transmitting the held correction data to the host side has been proposed (see Patent Document 1).
[0006]
In other words, this conventional technique attempts to reduce the memory capacity in order to improve the processing capacity of the apparatus, and to improve the processing capacity by using a memory with a sufficient margin.
[0007]
[Problems to be solved by the invention]
However, in such a conventional technique, the memory capacity is reduced, and the processing capacity is improved by a memory having a sufficient margin.
[0008]
However, if the memory capacity of the originally installed memory is small, there is a problem that it is difficult to expect a large improvement in processing capacity.
[0009]
Therefore, the present invention provides a system controller capable of notifying the host device of the processing capability, distributing the processing with the host device, and improving the processing capability without depending on the memory capacity. It is an object.
[0018]
[Means for Solving the Problems]
The system controller of the invention according to
[0020]
In this case, for example, as described in
[0022]
For example, as described in
[0024]
Further, for example, as described in claim 4,Resource change detection means for detecting whether there is a change in system resources in the system controller,
The control means measures the processing capability only when the resource change detection means detects that the system resource has changed in response to a processing request from the host device, The measurement result may be overwritten on the nonvolatile memory..
[0034]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described in detail with reference to the accompanying drawings. The embodiments described below are preferred embodiments of the present invention, and thus various technically preferable limitations are given. However, the scope of the present invention is particularly limited in the following description. As long as there is no description which limits, it is not restricted to these aspects.
[0035]
1 to 4 are diagrams showing a first embodiment of a system controller according to the present invention. FIG. 1 shows a main part of a
[0036]
In FIG. 1, a
[0037]
The flash memory 4 is a non-volatile and electrically rewritable memory for storing a basic control program as the
[0038]
The
[0039]
The
[0040]
An IC card (not shown) is detachably connected to the IC card I /
[0041]
A LAN (Local Area Network) is connected to the network controller 6, and the network controller 6 interfaces with the LAN.
[0042]
An
[0043]
Although not shown, the engine I /
[0044]
The
[0045]
The host device (not shown) is connected to the I /
[0046]
Next, the operation of the present embodiment will be described. The
[0047]
That is, the
[0048]
One of the indexes is the number of integer arithmetic instructions (MIPS: Million Instructions Per Second) that can be executed per unit time. The index MIPS is calculated, for example, by dividing the number of instruction decodes of
[0049]
One of the indexes for measuring the processing capability is the number of floating point arithmetic instructions (FLOPS: Floating Operations Per Second) that can be executed per unit time. The index FLOPS is calculated, for example, by dividing the number of executions of the floating-point operation instruction of
[0050]
Therefore, as shown in FIG. 4, the
[0051]
That is, as shown in FIG. 4, the
[0052]
Next, the
[0053]
The
[0054]
At this time, for example, the
[0055]
Then, the host device determines the processing capability of the printer from the notification result of the performance data from the printer to which the
[0056]
As described above, the
[0057]
Therefore, it is possible to predict the processing capability of the printer that is the device to which the
[0058]
Further, the
[0059]
Therefore, the processing capacity of the printer can be predicted quantitatively, and the processing capacity of the entire system can be further improved by distributing more detailed processing between the host device and the device. The processing capability can be improved more stably without depending on the memory capacity.
[0060]
Furthermore, the
[0061]
Therefore, it is possible to predict the processing capacity more accurately for each emulation executed by the printer, to distribute the processing for each emulation, and to further improve the processing capacity of the entire system. A more stable processing capability can be improved without depending on the installed memory capacity.
[0062]
In addition, the
[0063]
Therefore, for example, the processing capability on the printer side can be obtained as a quantitative numerical value for not only the integer arithmetic instruction used in the Postscript language but also the floating point arithmetic instruction so that the processing capability on the printer side can be grasped in more detail. Therefore, the processing capability of the entire system can be further improved, and the processing capability can be improved more stably without depending on the mounted memory capacity.
[0064]
5 and 6 are diagrams showing a second embodiment of the system controller of the present invention, and FIG. 1 is a main portion of a
[0065]
The present embodiment is applied to a printer controller similar to the
[0066]
In FIG. 5, a
[0067]
The
[0068]
The resource change detection unit (resource change detection means) 22 detects a change in system resources such as a change in the bus clock frequency of the
[0069]
As described above, the NVRAM (nonvolatile memory) 10 generally stores initial setting values of each function, and stores various data necessary for the operation of the
[0070]
Next, the operation of the present embodiment will be described. The
[0071]
In other words, when there is a download request for a program and data (processing capacity measurement program file) necessary for measurement from the host device (step S201), the
[0072]
This resource change is determined by the
[0073]
When there is a resource change in step S202, the
[0074]
The
[0075]
Then, the host device determines the processing capability of the printer from the notification result of the performance data from the printer to which the
[0076]
If there is no resource change in step S202, the
[0077]
If the performance data is already stored in the
[0078]
As described above, in the
[0079]
Therefore, it is possible to notify the measurement result in the
[0080]
Further, in the
[0081]
Therefore, it is possible to omit measurement of unnecessary processing capacity in response to a processing request from the host device, promptly notify the measurement result, and further improve the processing capacity. By appropriately performing optimum processing load distribution, it is possible to stably improve the processing capability without depending on the mounted memory capacity.
[0082]
Further, in the
[0083]
Therefore, it is possible to omit measurement of unnecessary processing capacity in response to a processing request from the host device, promptly notify the measurement result, and further improve the processing capacity. By appropriately distributing the optimum processing load with respect to the change, it is possible to stably improve the processing capability without depending on the mounted memory capacity.
[0084]
Further, in the
[0085]
Therefore, it is possible to omit measurement of unnecessary processing capacity in response to a processing request from the host device, promptly notify the measurement result, and further improve the processing capacity. It is possible to appropriately improve the processing load without depending on the installed memory capacity by appropriately performing the optimum processing load distribution for the capacity change.
[0086]
The invention made by the present inventor has been specifically described based on the preferred embodiments. However, the present invention is not limited to the above, and various modifications can be made without departing from the scope of the invention. Needless to say.
[0087]
【The invention's effect】
According to the system controller of the first aspect of the present invention, the system controller has a CPU on which a performance counter register is mounted, and when performing various processes in response to processing requests from the host apparatus, Since the CPU receives the data, processes the processing capacity measurement program and data, and notifies the higher level apparatus of the obtained processing capacity measurement result, the upper side apparatus predicts the processing capacity of the apparatus, Overload processing can be processed on the host device side, and even if the device side processing capacity is low, the processing capacity of the entire system can be improved and it depends on the installed memory capacity The processing capability can be improved stably.
[0088]
Claim2According to the system controller of the described invention,The CPU calculates the number of floating-point arithmetic instructions per unit time based on the information obtained from the performance counter register installed when processing the processing capacity measurement program and data, and obtains it as the measurement result of the processing capacity For example, the processing capability of the device side can be obtained as a quantitative numerical value for not only the integer arithmetic instruction used in the Postscript language but also the floating point arithmetic instruction so that the processing capability of the device side can be grasped in more detail. Thus, the processing capability of the entire system can be further improved, and the processing capability can be improved more stably without depending on the mounted memory capacity.
[0089]
Claim3According to the system controller of the described invention, CSince the PU stores the measurement result of the processing capacity in the non-volatile memory, it can notify the measurement result in the non-volatile memory in response to the processing request from the host device, and can promptly notify the measurement result. The capability can be further improved, and the processing capability can be stably improved without depending on the mounted memory capacity.
[0090]
Claim4According to the system controller of the described invention,The resource change detection means detects a change in the memory bus frequency as a system resource change, so it is possible to omit measurement of unnecessary processing capacity in response to a processing request from a host device, and promptly obtain the measurement result. Not only can the processing capacity be improved further, but the optimal processing load distribution for the change of the memory bus frequency is appropriately performed, and the processing capacity can be stably increased without depending on the installed memory capacity. Can be improved.
[Brief description of the drawings]
FIG. 1 is a circuit block diagram of a main part of a printer controller to which a first embodiment of a system controller of the present invention is applied.
FIG. 2 is a diagram showing an example of events and event numbers when a program is executed.
FIG. 3 is a diagram showing the continuation of the event and event number of FIG. 2;
FIG. 4 is a flowchart showing index notification processing by the printer controller of FIG. 1;
FIG. 5 is a circuit block diagram of a main part of a printer controller to which a second embodiment of a system controller of the present invention is applied.
6 is a flowchart showing index notification processing by the printer controller of FIG. 5;
[Explanation of symbols]
1 Printer controller
2 CPU
3 Main memory
4 Flash memory
5 IC card I / F
6 Network controller
7 Operation panel I / F
8 Operation panel
9 Engine I / F
10 NVRAM
11 I / O
12 Bus
20 Printer controller
21 Cache memory
22 Resource change detector
Claims (4)
プログラムを実行する制御手段と、
該制御手段が有し、前記制御手段のパフォーマンス特性を知るための情報を記憶するレジスタと、を備え、
前記ホスト装置から、前記制御手段の処理能力を計測するためのプログラム及びデータを受け取って前記制御手段によって前記プログラム及びデータを処理した際に、前記レジスタから得られた前記情報に基づいて計算した結果を前記処理能力の計測結果として前記ホスト装置に通知し、該処理能力の計算結果に基づいて、当該システムコントローラで行う処理を前記ホスト装置に分担させることを特徴とするシステムコントローラ。 In the system controller that performs various processes in the mounted device in response to processing requests from the host device,
Control means for executing the program;
The control means has a register for storing information for knowing the performance characteristics of the control means,
Calculating from said host device, upon processing the program and the data by the control means I receive a program and data for measuring the processing power of the control means, based on said information obtained from said register A system controller that notifies the host device of the processing result as a measurement result of the processing capability, and causes the host device to share the processing to be performed by the system controller based on the calculation result of the processing capability .
前記制御手段は、前記ホスト装置からの処理要求に対して、前記リソース変更検知手段が前記システムリソースの変更があったことを検知している場合にのみ、前記処理能力の計測を行って、該計測結果を前記不揮発性メモリに上書きすることを特徴とする請求項3に記載のシステムコントローラ。 The control means measures the processing capability only when the resource change detection means detects that the system resource has changed in response to a processing request from the host device, The system controller according to claim 3, wherein a measurement result is overwritten in the nonvolatile memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002295068A JP4359031B2 (en) | 2002-09-18 | 2002-10-08 | System controller |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002271781 | 2002-09-18 | ||
| JP2002295068A JP4359031B2 (en) | 2002-09-18 | 2002-10-08 | System controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004160659A JP2004160659A (en) | 2004-06-10 |
| JP4359031B2 true JP4359031B2 (en) | 2009-11-04 |
Family
ID=32827627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002295068A Expired - Fee Related JP4359031B2 (en) | 2002-09-18 | 2002-10-08 | System controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4359031B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100551454B1 (en) * | 2005-11-29 | 2006-02-14 | (주)그리드원 | Grid computing control method and service method for testing application program performance of server |
| JP2009048465A (en) * | 2007-08-21 | 2009-03-05 | Sharp Corp | Printing system |
| JP2009225369A (en) * | 2008-03-18 | 2009-10-01 | Ricoh Co Ltd | Image forming apparatus |
| KR101740338B1 (en) | 2010-10-20 | 2017-05-26 | 삼성전자주식회사 | Apparatus and method for adaptive frequency scaling in digital system |
-
2002
- 2002-10-08 JP JP2002295068A patent/JP4359031B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004160659A (en) | 2004-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6515759B1 (en) | Printer having processor with instruction cache and compressed program store | |
| JP2015013429A (en) | Image processing apparatus, method for controlling the same, and program | |
| US6999186B2 (en) | Multi-copy printing apparatus and it's control method | |
| JP4359031B2 (en) | System controller | |
| JP4928497B2 (en) | Image processing apparatus, image processing method, image processing program, and storage medium | |
| JP2004038545A (en) | Hibernation control process, hibernation controller unit, and image processor | |
| JP2002063072A (en) | Information processing apparatus and printer having the same | |
| US10133222B2 (en) | Image forming apparatus that obtains an amount of applied toner using image data before or after scaling, method of controlling the same, and storage medium | |
| JPH10129050A (en) | Printing processor | |
| JP7589521B2 (en) | Image processing device and image processing program | |
| JP2003131832A (en) | Information processing apparatus, information processing method, program, and storage medium | |
| JP7215031B2 (en) | Printing system, printing method and program | |
| JP7293975B2 (en) | Information processing device, information processing method, and program | |
| US10712979B2 (en) | Image forming apparatus, image formation method, and storage medium | |
| US8437046B2 (en) | Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing | |
| JPH11272350A (en) | Billing management device and method and printing device | |
| JP3907484B2 (en) | Information processing apparatus, control method thereof, and program | |
| US20190227761A1 (en) | Printing apparatus and storage medium | |
| JP4069569B2 (en) | Printing apparatus and printing method | |
| JP7191713B2 (en) | Printer controller, printer control program, and printer | |
| JP2013071432A (en) | Image forming apparatus, image forming method and image forming program | |
| JPH05327955A (en) | Image forming apparatus and control program processing method in the apparatus | |
| JP3829385B2 (en) | Printing device | |
| US20200401071A1 (en) | Image forming apparatus, control method therefor, and program | |
| JP2004216813A (en) | Printer control device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050531 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050610 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080104 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090402 |
|
| 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: 20090721 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090807 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
| 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: 20120814 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |