(57)【要約】【課題】本発明は処理能力をホスト装置に通知して、ホスト装置との間で処理を分散して、メモリ容量に依存することなく、処理能力を向上させることのできるシステムコントローラを提供する。【解決手段】プリンタコントローラは、パフォーマンスカウンタレジスタを実装するＣＰＵ２が、ホスト装置からの処理要求に応じて、各種処理を行うに際して、ホスト装置から処理能力計測用のプログラムとデータを受け取り、当該処理能力計測用プログラム及びデータを処理して、得られる処理能力の計測結果をホスト装置に通知する（ステップＳ１０１〜Ｓ１０３）。したがって、ホスト装置側でプリンタコントローラ側の処理能力を予測して、プリンタ側で過負荷となる処理をホスト装置側で処理し、システム全体の処理能力を向上させ、また、実装メモリ容量に依存することなく処理能力を向上させることができる。【選択図】          図４
2004160659.tif 000002
【特許請求の範囲】
【請求項１】
パフォーマンスカウンタレジスタを実装するＣＰＵを有し、上位装置からの処理要求に応じて、各種処理を行う装置のシステムコントローラにおいて、前記上位装置から処理能力計測用のプログラムとデータを受け取り、前記ＣＰＵが、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果を当該上位装置に通知することを特徴とするシステムコントローラ。
【請求項２】
前記ＣＰＵは、前記処理能力計測用プログラム及びデータを処理した際に前記実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、前記処理能力の計測結果として取得することを特徴とする請求項１記載のシステムコントローラ。
【請求項３】
前記ＣＰＵは、前記処理能力計測用プログラム及びデータを処理した際に前記実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、前記処理能力の計測結果として取得することを特徴とする請求項１記載のシステムコントローラ。
【請求項４】
前記ＣＰＵは、前記処理能力計測用プログラム及びデータを処理した際に前記実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、前記処理能力の計測結果として取得することを特徴とする請求項１記載のシステムコントローラ。
【請求項５】
前記システムコントローラは、不揮発性メモリを有し、前記ＣＰＵは、前記処理能力の計測結果を当該不揮発性メモリに格納することを特徴とする請求項１から請求項４のいずれかに記載のシステムコントローラ。
【請求項６】
前記システムコントローラは、当該システムコントローラのシステムリソースの変更の有無を検知するリソース変更検知手段を備え、前記ＣＰＵは、前記上位装置からの処理要求に対して、前記リソース変更検知手段が前記システムリソースの変更があったことを検知している場合にのみ、前記処理能力の計測を行うことを特徴とする請求項５記載のシステムコントローラ。
【請求項７】
前記リソース変更検知手段は、前記システムリソースの変更として、メモリバス周波数の変更を検知することを特徴とする請求項６記載のシステムコントローラ。
【請求項８】
前記システムコントローラは、キャッシュメモリを備え、前記リソース変更検知手段は、前記システムリソースの変更として、当該キャッシュメモリの容量の変更を検知することを特徴とする請求項６記載のシステムコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、システムコントローラに関し、詳細には、処理能力をホスト装置に通知して、ホスト装置との間で処理を分散して、メモリ容量に依存することなく、処理能力を向上させることのできるシステムコントローラに関する。
【０００２】
【従来の技術】
【特許文献１】
特開平７−２００１９５号公報
スキャナ、プリンタ、複合装置、ファクシミリ装置、コンピュータ等の各種装置は、その動作処理を行うのに、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）がメモリを利用して、必要な演算処理等を行っている。
【０００３】
例えば、カラー印字をＣＭＹＫについてプリントコントロール動作を順次行なうカラープリンタコントローラは、ＣＭＹＫインクの色再現特性がプリンタ固有のものであるため、各色の補正を行うのに、元色のＲＧＢまたはＣＭＹのカラーデータをバッファメモリにページ単位で蓄積し、３色同時に読出してＣＭＹ３項のマトリクス演算を行うか、または、各色の変換テーブルデータを参照することにより、プリンタに最適なＣＭＹＫデータを生成する。
【０００４】
ところが、色特性の補正を行うためには、１画素あたりＣＭＹ各８ビットのデータを必要とし、ＣＭＹＫ面順次に印刷するカラープリンタでは、ＣＭＹ８ビットデータをページ単位でメモリに蓄積し、ＣＭＹ８ビットデータを同時に読み出すように動作する必要がある。そして、バッファメモリをビットマップメモリとした場合、その容量は、例えば、原稿がＡ４サイズで、４００ｄｐｉの解像度であると、４８メガバイトの容量となり、バッファメモリとして、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を使用しても、かなり高価なものになる。
【０００５】
そこで、従来、ホストよりプリントデータを受信する受信手段と、ホストへプリンタステータスを送信するステータス送信手段と、プリンタのもつ固有の色特性を補正する補正データを保持する保持手段と、該保持手段での保持補正データをホスト側に送信する補正データ送信手段とを有するカラープリンタコントローラが提案されている（特許文献１参照）。
【０００６】
すなわち、この従来技術は、装置の処理能力向上に、メモリ容量の削減を図り、余裕のできたメモリによって処理能力を向上させようとしている。
【０００７】
【発明が解決しようとする課題】
しかしながら、このような従来の技術にあっては、メモリ容量を削減して、余裕のできたメモリによって処理能力の向上を図っている。
【０００８】
ところが、もともと搭載されているメモリ自体の記憶容量が小さいと、大きな処理能力の向上は期待することができいという問題があった。
【０００９】
そこで、本発明は、処理能力をホスト装置に通知して、ホスト装置との間で処理を分散して、メモリ容量に依存することなく、処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１０】
具体的には、請求項１記載の発明は、パフォーマンスカウンタレジスタを実装するＣＰＵを有し、上位装置からの処理要求に応じて、各種処理を行うに際して、上位装置から処理能力計測用のプログラムとデータを受け取り、ＣＰＵが、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果を当該上位装置に通知することにより、上位装置側で装置の処理能力を予測して、装置側で過負荷となる処理を上位装置側で処理できるようにし、装置側の処理能力が低くても、システム全体の処理能力を向上させるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１１】
請求項２記載の発明は、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得することにより、装置の処理能力を定量的に予測できるようにし、上位装置と装置とのより詳細な処理の分散を行って、システム全体の処理能力をより一層向上させるとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１２】
請求項３記載の発明は、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得することにより、装置で実行するエミュレーション毎に、より正確な処理能力の予測を行えるようにして、エミュレーション毎に処理の分散を行い、システム全体の処理能力をより一層向上させるとともに、実装されているメモリ容量に依存することなくより一層安定した処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１３】
請求項４記載の発明は、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得することにより、例えば、ポストスクリプト言語で使用されている整数演算命令だけでなく浮動小数点演算命令について装置側の処理能力を定量的な数値として求めて、装置側の処理能力をより一層詳細に把握できるようにし、システム全体の処理能力をより一層向上させるとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１４】
請求項５記載の発明は、ＣＰＵが、処理能力の計測結果を不揮発性メモリに格納することにより、上位装置からの処理要求に対して不揮発性メモリ内の計測結果を通知して、速やかに計測結果を通知し、処理能力をより一層向上させるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１５】
請求項６記載の発明は、ＣＰＵが、上位装置からの処理要求に対して、システムコントローラのシステムリソースの変更の有無を検知するリソース変更検知手段がシステムリソースの変更があったことを検知している場合にのみ、処理能力の計測を行うことにより、上位装置からの処理要求に対して、不必要な処理能力の計測を省き、速やかに計測結果を通知して、処理能力をより一層向上させるとともに、リソースの変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１６】
請求項７記載の発明は、リソース変更検知手段が、システムリソースの変更として、メモリバス周波数の変更を検知することにより、上位装置からの処理要求に対して、不必要な処理能力の計測を省き、速やかに計測結果を通知して、処理能力をより一層向上させるとともに、メモリバス周波数の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１７】
請求項８記載の発明は、リソース変更検知手段が、システムリソースの変更として、キャッシュメモリの容量の変更を検知することにより、上位装置からの処理要求に対して、不必要な処理能力の計測を省き、速やかに計測結果を通知して、処理能力をより一層向上させるとともに、キャッシュメモリの容量の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることのできるシステムコントローラを提供することを目的としている。
【００１８】
【課題を解決するための手段】
請求項１記載の発明のシステムコントローラは、パフォーマンスカウンタレジスタを実装するＣＰＵを有し、上位装置からの処理要求に応じて、各種処理を行う装置のシステムコントローラにおいて、前記上位装置から処理能力計測用のプログラムとデータを受け取り、前記ＣＰＵが、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果を当該上位装置に通知することにより、上記目的を達成している。
【００１９】
上記構成によれば、パフォーマンスカウンタレジスタを実装するＣＰＵを有し、上位装置からの処理要求に応じて、各種処理を行うに際して、上位装置から処理能力計測用のプログラムとデータを受け取り、ＣＰＵが、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果を当該上位装置に通知するので、上位装置側で装置の処理能力を予測して、装置側で過負荷となる処理を上位装置側で処理することができ、装置側の処理能力が低くても、システム全体の処理能力を向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００２０】
この場合、例えば、請求項２に記載するように、前記ＣＰＵは、前記処理能力計測用プログラム及びデータを処理した際に前記実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、前記処理能力の計測結果として取得してもよい。
【００２１】
上記構成によれば、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得するので、装置の処理能力を定量的に予測することができ、上位装置と装置とのより詳細な処理の分散を行って、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【００２２】
また、例えば、請求項３に記載するように、前記ＣＰＵは、前記処理能力計測用プログラム及びデータを処理した際に前記実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、前記処理能力の計測結果として取得してもよい。
【００２３】
上記構成によれば、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得するので、装置で実行するエミュレーション毎に、より正確な処理能力の予測を行えるようにして、エミュレーション毎に処理の分散を行うことができ、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定した処理能力を向上させることができる。
【００２４】
さらに、例えば、請求項４に記載するように、前記ＣＰＵは、前記処理能力計測用プログラム及びデータを処理した際に前記実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、前記処理能力の計測結果として取得してもよい。
【００２５】
上記構成によれば、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得するので、例えば、ポストスクリプト言語で使用されている整数演算命令だけでなく浮動小数点演算命令について装置側の処理能力を定量的な数値として求めて、装置側の処理能力をより一層詳細に把握できるようにすることができ、システム全体の処理能力をより一層向上させることができとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【００２６】
また、例えば、請求項５に記載するように、前記システムコントローラは、不揮発性メモリを有し、前記ＣＰＵは、前記処理能力の計測結果を当該不揮発性メモリに格納するものであってもよい。
【００２７】
上記構成によれば、ＣＰＵが、処理能力の計測結果を不揮発性メモリに格納するので、上位装置からの処理要求に対して不揮発性メモリ内の計測結果を通知して、速やかに計測結果を通知することができ、処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００２８】
さらに、例えば、請求項６に記載するように、前記システムコントローラは、当該システムコントローラのシステムリソースの変更の有無を検知するリソース変更検知手段を備え、前記ＣＰＵは、前記上位装置からの処理要求に対して、前記リソース変更検知手段が前記システムリソースの変更があったことを検知している場合にのみ、前記処理能力の計測を行うものであってもよい。
【００２９】
上記構成によれば、ＣＰＵが、上位装置からの処理要求に対して、システムコントローラのシステムリソースの変更の有無を検知するリソース変更検知手段がシステムリソースの変更があったことを検知している場合にのみ、処理能力の計測を行うので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、リソースの変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００３０】
また、例えば、請求項７に記載するように、前記リソース変更検知手段は、前記システムリソースの変更として、メモリバス周波数の変更を検知するものであってもよい。
【００３１】
上記構成によれば、リソース変更検知手段が、システムリソースの変更として、メモリバス周波数の変更を検知するので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、メモリバス周波数の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００３２】
さらに、例えば、請求項８に記載するように、前記システムコントローラは、キャッシュメモリを備え、前記リソース変更検知手段は、前記システムリソースの変更として、当該キャッシュメモリの容量の変更を検知するものであってもよい。
【００３３】
上記構成によれば、リソース変更検知手段が、システムリソースの変更として、キャッシュメモリの容量の変更を検知するので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、キャッシュメモリの容量の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００３４】
【発明の実施の形態】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００３５】
図１〜図４は、本発明のシステムコントローラの第１の実施の形態を示す図であり、図１は、本発明のシステムコントローラの第１の実施の形態を適用したプリンタコントローラ１の要部回路ブロック構成図である。
【００３６】
図１において、プリンタコントローラ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）２、主記憶メモリ３、フラッシュ（ＦＬＡＳＨ）メモリ４、ＩＣカードＩ／Ｆ（インタフェース）５、ネットワークコントローラ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌｌｅｒ）６、操作パネルＩ／Ｆ７、操作パネル８、エンジンＩ／Ｆ９、ＮＶＲＡＭ（Ｎｏｎｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０及びＩ／Ｏ１１等を備えており、上記主要各部は、バス１２で接続されている。このプリンタコントローラ１は、例えば、上位装置としてのホスト装置に接続され、当該ホスト装置からの印刷要求（処理要求）に応じて、印刷処理を行う装置としてのプリンタに適用される。
【００３７】
フラッシュメモリ４は、プリンタコントローラ１としての基本制御プログラムと後述する指標通知処理プログラム及びこれらの各プログラムを実行するのに必要な各種データを格納するための不揮発性かつ電気的書換可能メモリであり、主記憶メモリ３は、ＣＰＵ２のワークメモリ、入力データのインプットバッファ、プリントデータのページメモリ等として使用される。
【００３８】
ＣＰＵ２は、フラッシュメモリ４内のプログラムに基づいて、主記憶メモリ３をワークメモリとして利用して、プリンタコントローラ１の各部を制御し、プリンタコントローラ１の適用されるプリンタの動作を制御するとともに、後述する指標通知処理を実行する。
【００３９】
このＣＰＵ２は、高速処理が可能なＣＰＵであり、プログラムの実行の際に、そのパフォーマンス特性を知ることが可能なレジスタ（パフォーマンスカウンタレジスタ）を実装している。
【００４０】
ＩＣカードＩ／Ｆ５には、図示しないＩＣカードが着脱可能に接続され、ＩＣカードＩ／Ｆ５は、ＣＰＵ２の制御下で、接続されているＩＣカードからのデータやプログラムの読み出し及びＩＣカードへのデータやプログラムの書き込みを行う。特に、ＩＣカードＩ／Ｆ５には、フラッシュメモリ４に格納されているプログラムを書き換える場合等に、ブートして、実行する書換プログラムが格納されているＩＣカードが装着される。
【００４１】
ネットワークコントローラ６には、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が接続され、ネットワークコントローラ６は、ＬＡＮとのインターフェースをとる。
【００４２】
操作パネルＩ／Ｆ７には、操作パネル８が接続されており、操作パネル８は、プリンタの状態等を表示する表示部やプリンタコントローラ１の適用されているプリンタの設定等を行う操作ボタン等が設けられている。操作パネルＩ／Ｆ７は、操作パネル１１２との間で信号の授受を行う。
【００４３】
エンジンＩ／Ｆ９には、図示しないが、所定のプリント方式、例えば、電子写真方式、インク噴射方式等で画像を用紙にプリント出力するプリンタエンジンが接続され、エンジンＩ／Ｆ９は、このプリンタエンジンとの間で、コマンド、ステータス及び印字データ等の通信を行う。
【００４４】
ＮＶＲＡＭ１０は、一般的に各機能の初期設定値を格納する他、ＣＰＵ２の制御下で、プリンタコントローラ１の動作に必要な各種データを記憶する。
【００４５】
Ｉ／Ｏ１１には、図示しない上記ホスト装置が接続され、Ｉ／Ｏ１１は、当該ホスト装置とのインターフェースをとる。
【００４６】
次に、本実施の形態の作用を説明する。本実施の形態のプリンタコントローラ１は、処理能力を示す指標をホスト装置に通知することで、プリンタコントローラ１側で処理を行うには、過負荷となる処理をホスト装置側で処理するという分散処理を行うところにその特徴がある。
【００４７】
すなわち、ＣＰＵ２は、高速処理が可能なＣＰＵであり、プログラムの実行の際に、そのパフォーマンス特性を知ることが可能なレジスタ（パフォーマンスカウンタレジスタ）を実装している。例えば、Ｐｅｎｔｉｕｍ（登録商標）等で知られるＰ６アーキテクチャＣＰＵは、パフォーマンスカウンタレジスタとして、ＭＳＲｓ（Ｍｏｄｅｌ  Ｓｐｅｃｉｆｉｃ  Ｒｅｇｉｓｔｅｒｓ）を実装しており、プログラムが実行される際の事象（図２及び図３参照）の発生を知ることができる。これらの事象の発生頻度からシステムコントローラであるプリンタコントローラ１の処理能力を計測する指標を計算することができる。
【００４８】
その指標のひとつとして、単位時間当たりに実行できる整数演算命令の数（ＭＩＰＳ：Ｍｉｌｌｉｏｎ  Ｉｎｓｔｒｕｃｔｉｏｎｓ  Ｐｅｒ  Ｓｅｃｏｎｄ  ）がある。この指標のＭＩＰＳは、例えば、図３の事象番号５２の命令デコードが発生した数を処理能力を計測するプログラムの実行時間で除することによって計算される。
【００４９】
また、処理能力を計測する指標のひとつとして、単位時間当たりに実行できる浮動小数点演算命令の数（ＦＬＯＰＳ：Ｆｌｏａｔｉｎｇ  Ｏｐｅｒａｔｉｏｎｓ  Ｐｅｒ  Ｓｅｃｏｎｄ）がある。この指標のＦＬＯＰＳは、例えば、図３の事象番号４２の浮動少数演算命令実行が行われた数を処理能力を計測するプログラムの実行時間で除することによって計算される。
【００５０】
そこで、本実施の形態のプリンタコントローラ１は、図４に示すように、処理能力を示す指標をホスト装置に通知することで、プリンタコントローラ１側で処理を行うには、過負荷となる処理をホスト装置側で処理するという分散処理を行う。
【００５１】
すなわち、プリンタコントローラ１は、図４に示すように、まず、ホスト装置から計測に必要なプログラム及びデータ（処理能力計測用プログラムファイル）をダウンロードする（ステップＳ１０１）。このデータは、例えば、ポストスクリプト言語で記述されたものである。
【００５２】
次に、ＣＰＵ２は、ダウンロードしたデータを主記憶メモリ３のページメモリへ描画する処理能力計測用プログラムの実行を行い、このときのパフォーマンスカウンタの情報から処理能力の指標値を計算してパフォーマンスデータを取得する（ステップＳ１０３）。
【００５３】
そして、ＣＰＵ２は、計算結果のパフォーマンスデータをホスト装置へ通知する（ステップＳ１０３）。
【００５４】
このとき、ＣＰＵ２は、例えば、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得する。また、ＣＰＵ２は、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得し、さらに、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得する。例えば、プリンタでは、標準プリンタ言語が整数演算命令のみで処理されているので、単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得することで、プリンタコントローラ１の適用されるプリンタで実行するエミュレーション毎に、より正確な処理能力の予測を行うことができ、エミュレーション毎に処理の分散を行うことができる。また、ポストスクリプト言語は、整数演算命令のみならず、浮動小数点演算命令が使用されているので、プリンタコントローラ１の適用されるプリンタ側の処理能力を定量的な数値として求めることができる。
【００５５】
そして、ホスト装置は、プリンタコントローラ１の適用されているプリンタからのパフォーマンスデータの通知結果から当該プリンタの処理能力を判断し、例えば、ホスト装置の搭載するプリンタドライバでの処理を変更させることで、プリンタでの処理を調整して、プリンタでの処理が過負荷とならないようにする。
【００５６】
このように、本実施の形態のプリンタコントローラ１は、パフォーマンスカウンタレジスタを実装するＣＰＵ２を有し、上位装置であるホスト装置からの処理要求に応じて、各種処理を行うに際して、ホスト装置から処理能力計測用のプログラムとデータを受け取り、ＣＰＵ２が、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果をホスト装置に通知している。
【００５７】
したがって、ホスト装置側でプリンタコントローラ１の適用される装置であるプリンタの処理能力を予測して、プリンタ側で過負荷となる処理をホスト装置側で処理することができ、プリンタ側の処理能力が低くても、システム全体の処理能力を向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００５８】
また、本実施の形態のシステムコントローラ１は、ＣＰＵ２が、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得している。
【００５９】
したがって、プリンタの処理能力を定量的に予測することができ、上位装置と装置とのより詳細な処理の分散を行って、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【００６０】
さらに、本実施の形態のシステムコントローラ１は、ＣＰＵ２が、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得している。
【００６１】
したがって、プリンタで実行するエミュレーション毎に、より正確な処理能力の予測を行えるようにして、エミュレーション毎に処理の分散を行うことができ、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定した処理能力を向上させることができる。
【００６２】
また、本実施の形態のシステムコントローラ１は、ＣＰＵ２が、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得している。
【００６３】
したがって、例えば、ポストスクリプト言語で使用されている整数演算命令だけでなく浮動小数点演算命令についてプリンタ側の処理能力を定量的な数値として求めて、プリンタ側の処理能力をより一層詳細に把握できるようにすることができ、システム全体の処理能力をより一層向上させることができとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【００６４】
図５及び図６は、本発明のシステムコントローラの第２の実施の形態を示す図であり、図１は、本発明のシステムコントローラの第２の実施の形態を適用したプリンタコントローラ２０の要部回路ブロック構成図である。
【００６５】
なお、本実施の形態は、上記第１の実施の形態のプリンタコントローラ１と同様のプリンタコントローラに適用したものであり、本実施の形態の説明においては、上記第１の実施の形態のプリンタコントローラ１と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
【００６６】
図５において、プリンタコントローラ２０は、上記第１の実施の形態のプリンタコントローラ１と同様のＣＰＵ２、主記憶メモリ３、フラッシュメモリ４、ＩＣカードＩ／Ｆ５、ネットワークコントローラ６、操作パネルＩ／Ｆ７、操作パネル８、エンジンＩ／Ｆ９、ＮＶＲＡＭ１０及びＩ／Ｏ１１を備えるとともに、キャッシュメモリ２１及びリソース変更検知部２２等を備えている。
【００６７】
キャッシュメモリ２１は、ＣＰＵ２に接続され、所定の容量を有してＣＰＵ２の命令の実行を高速化するためのものである。
【００６８】
リソース変更検知部（リソース変更検知手段）２２は、主記憶メモリ３のバスクロック周波数やキャッシュメモリ２１の容量の変更等のシステムリソースの変更を検出して、ＣＰＵ２に通知する。
【００６９】
ＮＶＲＡＭ（不揮発性メモリ）１０は、上述のように、一般的に各機能の初期設定値を格納する他、ＣＰＵ２の制御下で、プリンタコントローラ１の動作に必要な各種データを記憶するとともに、本実施の形態では、計測した処理能力の指標値であるパフォーマンスデータを格納する。
【００７０】
次に、本実施の形態の作用を説明する。本実施の形態のプリンタコントローラ２０は、処理能力の計測結果をＮＶＲＡＭ１０に格納して、処理能力の計測要求があると、当該要求毎に計測を行うことなく、当該ＮＶＲＡＭ１０に格納している計測結果をホスト装置に通知し、また、システムリソースの変更があったときのみ、処理能力の計測を行う。
【００７１】
すなわち、プリンタコントローラ２０は、ホスト装置から計測に必要なプログラム及びデータ（処理能力計測用プログラムファイル）のダウンロード要求があると（ステップＳ２０１）、ＣＰＵ２は、リソースの変更があったかチェックする（ステップＳ２０２）。
【００７２】
このリソースの変更は、リソース変更検知部２２の検知結果に基づいて、ＣＰＵ２が判別し、ＣＰＵ２は、システムリソースのうち、特に、プリンタコントローラ１の処理能力に影響を及ぼすリソース、例えば、主記憶メモリ３のバスクロック周波数の変更やキャッシュメモリ２１の容量の変更等のリソースの変更の有無を判別する。
【００７３】
ステップＳ２０２で、リソースの変更があると、ＣＰＵ２は、ホスト装置から計測に必要なプログラム及びデータ（処理能力計測用プログラムファイル）をダウンロードし（ステップＳ２０３）、ダウンロードしたデータを主記憶メモリ３のページメモリへ描画する処理能力計測用プログラムの実行を上記第１の実施の形態の場合と同様に行って、このときのパフォーマンスカウンタの情報から処理能力の指標値を計算してパフォーマンスデータを取得する（ステップＳ２０３）。
【００７４】
ＣＰＵ２は、計算結果のパフォーマンスデータを不揮発性メモリであるＮＶＲＡＭ１０に書き込んで格納するとともに（ステップＳ２０５）、当該計算結果のパフォーマンスデータをホスト装置へ通知する（ステップＳ２０６）。
【００７５】
そして、ホスト装置は、プリンタコントローラ１の適用されているプリンタからのパフォーマンスデータの通知結果から当該プリンタの処理能力を判断し、例えば、ホスト装置の搭載するプリンタドライバでの処理を変更させることで、プリンタでの処理を調整して、プリンタでの処理が過負荷とならないようにする。例えば、ホスト装置は、プリンタコントローラ２０側で、バスクロック周波数の変更やキャッシュメモリ２１の容量の変更があると、当該変更に応じた処理能力を判断して、プリンタでの処理とホスト装置での処理の分散を適切に行う。
【００７６】
ステップＳ２０２で、リソースの変更がないと、ＣＰＵ２は、既に処理能力の指標値を計算してパフォーマンスデータをＮＶＲＡＭ１０に格納しているかチェックし（ステップＳ２０７）、ＮＶＲＡＭ１０にパフォーマンスデータが格納されていないときには、ステップＳ２０３に移行して、上記同様に、ホスト装置からの処理能力計測用プログラム及びデータのダウンロードを行って、当該処理能力計測用プログラムを実行してパフォーマンスデータを取得し、ＮＶＲＡＭ１０に格納するとともに、ホスト装置に通知する処理を行う（ステップＳ２０３〜Ｓ２０６）。
【００７７】
ステップＳ２０７で、ＮＶＲＡＭ１０に既にパフォーマンスデータが格納されていると、ＣＰＵ２は、ＮＶＲＡＭ１０から当該パフォーマンスデータを読み出し（ステップＳ２０８）、ホスト装置に当該パフォーマンスデータを通知する（ステップＳ２０６）。
【００７８】
このように、本実施の形態のプリンタコントローラ２０は、ＣＰＵ２が、処理能力の計測結果を不揮発性メモリであるＮＶＲＡＭ１０に格納している。
【００７９】
したがって、ホスト装置からの処理要求に対してＮＶＲＡＭ１０内の計測結果を通知して、速やかに計測結果を通知することができ、処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００８０】
また、本実施の形態のプリンタコントローラ２０は、ＣＰＵ２が、ホスト装置からの処理要求に対して、プリンタコントローラ２０のシステムリソースの変更の有無を検知するリソース変更検知部２２がシステムリソースの変更があったことを検知している場合にのみ、処理能力の計測を行っている。
【００８１】
したがって、ホスト装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、リソースの変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００８２】
さらに、本実施の形態のプリンタコントローラ２０は、リソース変更検知部２２が、システムリソースの変更として、メモリバス周波数の変更を検知している。
【００８３】
したがって、ホスト装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、メモリバス周波数の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００８４】
また、本実施の形態のプリンタコントローラ２０は、リソース変更検知部２２が、システムリソースの変更として、キャッシュメモリ２１の容量の変更を検知している。
【００８５】
したがって、ホスト装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、キャッシュメモリ２１の容量の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００８６】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８７】
【発明の効果】
請求項１記載の発明のシステムコントローラによれば、パフォーマンスカウンタレジスタを実装するＣＰＵを有し、上位装置からの処理要求に応じて、各種処理を行うに際して、上位装置から処理能力計測用のプログラムとデータを受け取り、ＣＰＵが、当該処理能力計測用プログラム及びデータを処理し、得られる処理能力の計測結果を当該上位装置に通知するので、上位装置側で装置の処理能力を予測して、装置側で過負荷となる処理を上位装置側で処理することができ、装置側の処理能力が低くても、システム全体の処理能力を向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００８８】
請求項２記載の発明のシステムコントローラによれば、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて計算した結果を、処理能力の計測結果として取得するので、装置の処理能力を定量的に予測することができ、上位装置と装置とのより詳細な処理の分散を行って、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【００８９】
請求項３記載の発明のシステムコントローラによれば、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの整数演算命令数を計算した結果を、処理能力の計測結果として取得するので、装置で実行するエミュレーション毎に、より正確な処理能力の予測を行えるようにして、エミュレーション毎に処理の分散を行うことができ、システム全体の処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなくより一層安定した処理能力を向上させることができる。
【００９０】
請求項４記載の発明のシステムコントローラによれば、ＣＰＵが、処理能力計測用プログラム及びデータを処理した際に実装するパフォーマンスカウンタレジスタから得られる情報に基づいて単位時間当たりの浮動小数点演算命令数を計算して、処理能力の計測結果として取得するので、例えば、ポストスクリプト言語で使用されている整数演算命令だけでなく浮動小数点演算命令について装置側の処理能力を定量的な数値として求めて、装置側の処理能力をより一層詳細に把握できるようにすることができ、システム全体の処理能力をより一層向上させることができとともに、実装されているメモリ容量に依存することなくより一層安定して処理能力を向上させることができる。
【００９１】
請求項５記載の発明のシステムコントローラによれば、ＣＰＵが、処理能力の計測結果を不揮発性メモリに格納するので、上位装置からの処理要求に対して不揮発性メモリ内の計測結果を通知して、速やかに計測結果を通知することができ、処理能力をより一層向上させることができるとともに、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００９２】
請求項６記載の発明のシステムコントローラによれば、ＣＰＵが、上位装置からの処理要求に対して、システムコントローラのシステムリソースの変更の有無を検知するリソース変更検知手段がシステムリソースの変更があったことを検知している場合にのみ、処理能力の計測を行うので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、リソースの変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００９３】
請求項７記載の発明のシステムコントローラによれば、リソース変更検知手段が、システムリソースの変更として、メモリバス周波数の変更を検知するので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、メモリバス周波数の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【００９４】
請求項８記載の発明のシステムコントローラによれば、リソース変更検知手段が、システムリソースの変更として、キャッシュメモリの容量の変更を検知するので、上位装置からの処理要求に対して、不必要な処理能力の計測を省くことができ、速やかに計測結果を通知して、処理能力をより一層向上させることができるとともに、キャッシュメモリの容量の変更に対する最適な処理負荷分散を適切に行って、実装されているメモリ容量に依存することなく安定して処理能力を向上させることができる。
【図面の簡単な説明】
【図１】本発明のシステムコントローラの第１の実施の形態を適用したプリンタコントローラの要部回路ブロック構成図。
【図２】プログラムが実行される際の事象と事象番号の一例を示す図。
【図３】図２の事象と事象番号の続きを示す図。
【図４】図１のプリンタコントローラによる指標通知処理を示すフローチャート。
【図５】本発明のシステムコントローラの第２の実施の形態を適用したプリンタコントローラの要部回路ブロック構成図。
【図６】図５のプリンタコントローラによる指標通知処理を示すフローチャート。
【符号の説明】
１  プリンタコントローラ
２  ＣＰＵ
３  主記憶メモリ
４  フラッシュメモリ
５  ＩＣカードＩ／Ｆ
６  ネットワークコントローラ
７  操作パネルＩ／Ｆ
８  操作パネル
９  エンジンＩ／Ｆ
１０  ＮＶＲＡＭ
１１  Ｉ／Ｏ
１２  バス
２０  プリンタコントローラ
２１  キャッシュメモリ
２２  リソース変更検知部
【図１】
2004160659.tif 000003
【図２】
2004160659.tif 000004
【図３】
2004160659.tif 000005
【図４】
2004160659.tif 000006
【図５】
2004160659.tif 000007
【図６】
2004160659.tif 000008