(57)【要約】【課題】  入力されたデータに所定の処理を実行するデータ処理装置において、処理速度を向上させつつ消費電力を低減させる。【解決手段】  入力されたデータに展開処理を実行するＣＰＵ部１２２と、クロックを供給するクロックジェネレータ１３５と、展開処理を実行可能なアクセラレータボード７００を接続する拡張インターフェース１３４と、拡張インターフェース１３４を介してアクセラレータボード７００が接続されている場合にクロックジェネレータ１３５がＣＰＵ部１２２へ供給するクロックの周波数が、アクセラレータボード７００が接続されていない場合のクロック周波数より小さくなるよう制御する周波数変換部１６４及び１６５を有する。【選択図】  図４
2007026075.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを処理するデータ処理装置であって、
前記入力されたデータに所定の処理を実行するデータ処理手段と、
前記データ処理手段を所定の処理周期にて動作させるためのクロックを供給するクロック供給手段であって、各々周波数の異なる複数のクロックを供給し得るクロック供給手段と、
前記所定の処理を実行可能なデータ処理部であって、前記データ処理装置に着脱可能な前記データ処理部を接続する接続手段と、
前記接続手段を介して前記データ処理部が接続されている場合に前記クロック供給手段が前記データ処理手段へ供給する第１のクロックの周波数が、前記接続手段を介して前記データ処理部が接続されていない場合に前記クロック供給手段が前記データ処理手段へ供給する第２のクロック周波数より小さくなるよう前記クロック供給手段を制御する制御手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記データ処理手段は、前記接続手段を介して前記データ処理部が接続されている場合は、前記所定の処理を実行しないことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理手段は、前記所定の処理と異なる他の処理を実行可能であり、前記接続手段を介して前記データ処理部が接続されている場合は前記所定の処理を実行しない一方で前記他の処理を実行し、前記接続手段を介して前記データ処理部が接続されている場合は前記所定の処理及び前記他の処理を実行することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記データ処理手段は複数のＣＰＵを含み、
前記制御手段は、前記複数のＣＰＵにかかる所定のＣＰＵについて、前記接続手段を介して前記データ処理部が接続されている場合に前記クロック供給手段が前記所定のＣＰＵへ供給する第１のクロックの周波数が、前記接続手段を介して前記データ処理部が接続されていない場合に前記クロック供給手段が前記所定のＣＰＵへ供給する第２のクロック周波数より小さくなるよう前記クロック供給手段を制御することを特徴とする請求項１乃至３のいずれかに記載のデータ処理装置。
【請求項５】
前記データ処理手段が前記所定の処理を実行するためのプログラムを記憶する記憶手段を有し、
前記データ処理手段は、前記記憶手段に記憶された前記所定の処理を実行するためのプログラムを実行することで、前記所定の処理を実行することを特徴とする請求項１乃至４のいずれかに記載のデータ処理装置。
【請求項６】
前記データ処理部は前記記憶手段に記憶された前記所定の処理を実行するためのプログラムを前記記憶手段から読み出して実行することで、前記所定の処理を実行することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
外部装置からコード化されたの画像データを受信する受信手段を有し、
前記所定の処理は、前記コード化された画像データを前記データ処理装置で処理可能な画像データに展開する処理であることを特徴とする請求項１乃至６のいずれかに記載のデータ処理装置。
【請求項８】
前記展開処理された画像データに基づいてシート上に画像を形成する画像形成手段を有することを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
前記制御手段は、前記データ処理部から前記データ処理部の種別に関する情報を読み出すとともに、前記読み出した情報に基づいて前記クロック供給手段を制御することを特徴とする請求項１乃至８のいずれかに記載のデータ処理装置。
【請求項１０】
入力されたデータに所定の処理を実行する第１のデータ処理部を有するデータ処理装置の制御方法であって、
前記データ処理装置に、前記所定の処理を実行する第２のデータ処理部であって、前記第１のデータ処理部とは異なる第２のデータ処理部が接続されたか否かを判定する判定工程と、
前記判定工程が前記データ処理装置に前記第２のデータ処理部が接続されていると判定した場合に前記第１のデータ処理部へ第１の周波数のクロックを供給し、前記判定工程が前記データ処理装置に前記第２のデータ処理部が接続されていないと判定した場合に前記第１のデータ処理部へ前記第１の周波数より小さい第２の周波数のクロックを供給するよう制御する制御工程と、
を有することを特徴とするデータ処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力したデータを処理するデータ処理装置及びその制御方法に関する。
【背景技術】
【０００２】
従来から、画像データ等のデータを処理するデータ処理装置が知られている。例えば、画像データを処理するとともに処理された画像データに基づいて画像を形成する画像形成装置も、データ処理装置の一種として知られている。そして、データ処理装置の分野においては、装置の機能を向上させるために、データ処理装置に機能拡張用のオプション装置（ボード）を装着可能にする技術が知られている（例えば、特許文献１参照。）。
【０００３】
そして、特許文献１は、機能拡張用のオプション装置（カードリーダ等）をコピー装置に接続していない場合は、オプション装置を接続している場合に比べてオプション装置に関するデータ処理の負荷が少ないという点に着目している。具体的に特許文献１は、オプション装置を接続していない場合にコピー装置を制御するＣＰＵの動作クロックの周波数を低速モードに設定することで、消費電力を節約することを開示している。
【特許文献１】特開２００４−３５１７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１のように、データ処理装置に接続するオプション装置が、データ処理装置が実行する処理とは異なる処理を実行するのであれば、オプション装置を接続している場合にデータ処理装置を制御するＣＰＵの動作クロックを高速とすればよい。例えば、オプション装置としてカードリーダを接続する場合は、カードリーダに関連する処理をデータ処理装置が実行する必要があるので、ＣＰＵの動作クロックを高速とするのが望ましい。
【０００５】
しかし、例えば、オプション装置としてデータ処理装置が実行する処理と同じ処理を実行し得るのであれば、オプション装置を接続している場合にデータ処理装置を制御するＣＰＵの動作クロックを高速とするのは必ずしも好ましくない。例えば、データ処理装置が外部装置から入力される印刷データ（一例として、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データ）をビットマップデータ等に展開する展開処理を実行する装置である場合を考える。この場合、オプション装置として展開処理を実行し得る装置が接続されると、本来はデータ処理装置が実行するべきであった展開処理の負荷が減ることとなる。そうすると、データ処理装置にて展開処理を実行するＣＰＵの動作クロックを高速のままとしておくと負荷が減ったにもかかわらず消費電力が減らないという問題がでてくる。
【０００６】
本発明は、上記の問題点を鑑みてなされたものであり、入力されたデータに所定の処理を実行するデータ処理装置において、前記所定の処理を実行し得るデータ処理部を更に接続した場合に、データ処理装置の処理速度を向上させつつ消費電力を低減させることができるデータ処理装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のデータ処理装置は、入力されたデータを処理するデータ処理装置であって、入力されたデータに所定の処理を実行するデータ処理手段と、データ処理手段を所定の処理周期にて動作させるためのクロックを供給するクロック供給手段であって、各々周波数の異なる複数のクロックを供給し得るクロック供給手段と、所定の処理を実行可能なデータ処理部であって、データ処理装置に着脱可能なデータ処理部を接続する接続手段と、接続手段を介してデータ処理部が接続されている場合にクロック供給手段がデータ処理手段へ供給する第１のクロックの周波数が、接続手段を介して前記データ処理部が接続されていない場合にクロック供給手段がデータ手段へ供給する第２のクロック周波数より小さくなるようクロック供給手段を制御する制御手段とを有することを特徴とする。
【０００８】
また、本発明のデータ処理装置の制御方法では、入力されたデータに所定の処理を実行する第１のデータ処理部を有するデータ処理装置の制御方法であって、データ処理装置に、所定の処理を実行する第２のデータ処理部であって、第１のデータ処理部とは異なる第２のデータ処理部が接続されたか否かを判定する判定工程と、判定工程がデータ処理装置に第２のデータ処理部が接続されていると判定した場合に第１のデータ処理部へ第１の周波数のクロックを供給し、判定工程がデータ処理装置に第２のデータ処理部が接続されていないと判定した場合に第１のデータ処理部へ第１の周波数より小さい第２の周波数のクロックを供給するよう制御する制御工程とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、入力されたデータに所定の処理を実行するデータ処理装置において、前記所定の処理を実行し得るデータ処理部を更に接続した場合に、データ処理装置の処理速度を向上させつつ消費電力を低減させることができるデータ処理装置及びその制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
（実施例）
以下、本発明の好適な実施形態について、図面を用いつつ説明をする。
【００１１】
＜画像入出力装置を含むシステム構成＞
図１は、画像入出力装置を含むシステム構成を示す図である。
【００１２】
図１において、１００はデータ処理装置の一種である画像入出力装置であり、画像データを入力するとともに入力した画像データをシートへ出力する機能を有するものである。なお、画像入出力装置１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１１０を介してＬＡＮ上に接続される他の装置とデータの送受信をする。また、画像入出力装置１００は、ＰＳＴＮ（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）又はＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）を介してファクシミリ装置１１２とデータの送受信をする。
【００１３】
図１において、１０２は電子メールサーバであり、データ処理装置１００は、ＬＡＮ１１０を介して電子メールサーバから自装置宛の電子メールを受信するとともに、受信した電子メールに添付された画像データを出力することができる。
【００１４】
また、図１において１０３はＷｅｂサーバであり、データ処理装置１００はＬＡＮ１１０を介してＷｅｂサーバへアクセスしてＷｅｂサーバ１０３が提供するＨＴＭＬ文書を受信するとともに、受信したＨＴＭＬ文書に基づいた画像を出力することができる。
【００１５】
また、図１において１０５はホストコンピュータであり、アプリケーションデータを画像入力出力装置で出力可能な印刷データに変換するとともに、印刷データをＬＡＮ１１０介して画像入出力装置に送信することができる。
【００１６】
また、図１において１０６は画像出力装置であり、ホストコンピュータ１０５から印刷データを受信するとともに、印刷データを出力可能なデータに変換してシート上へ出力することができる。
【００１７】
＜画像入出力装置の構成＞
次に、図１における画像入出力装置１００の構成について詳細に説明する。
【００１８】
図２は、画像入出力装置１００の構成を示す図である。
【００１９】
図２で、２００はリーダ部であり、シート状の原稿を光源で照射するとともに、原稿からの反射光に基づいて画像データを入力するものである。リーダ部２００は、ＣＣＤ等の光電変換素子を用いて原稿からの反射光を電圧に変換するとともに、電圧をデジタル変換することで画像データを生成する。そして、リーダ部２００は、制御部１２０から原稿を画像データとして読み取る旨の指示を制御信号線２０１にて受信すると原稿を画像データとして読み取るとともに、画像データをデータバス２０２を介して制御部１２０へ送信する。
【００２０】
また、図２で、３００はプリンタ部であり、制御部１２０からデータバス３０２を介して受信する画像データに基づいてシート（記録紙）上に画像を形成するものである。プリンタ部３００は、更にプリンタエンジンユニット３１０、給紙ユニット３６０及び排紙ユニット３７０を有する。給紙ユニット３６０は、複数枚のシートを積載するとともに、制御部１２０から制御信号線３０１を介して給紙信号を受信するとシートをプリンタエンジンユニット３１０へ給送する。プリンタエンジンユニット３１０は、給紙ユニット３６０から給送されたシート状にデータバス３０２を介して受信した画像データに基づく画像を形成するものである。プリンタエンジンユニット３１０は、例えば電子写真方式を用いて画像を形成するものであるが、シート上に画像を形成する方式であれば、インクジェット方式であっても、他のいかなる方式であってもよい。また、排紙ユニット３７０は、プリンタエンジンユニット３１０にて画像が形成されたシートを積載するものである。
【００２１】
また、制御部１２０は、リーダ部２００及びプリンタ部３００と接続されており、画像データをデータバス２０２を介してリーダ部２００から受信するとともに、リーダ部２００から受信した画像データをプリンタ部３００へデータバス３０２を介して送信する。また、制御部１２０はリーダ部２００以外から入力された画像データ（例えば、ＬＡＮ１１０を介してホストコンピュータ１００から入力された印刷データに基づく画像データ）をプリンタ部３００に送信することも可能である。
【００２２】
また、図２において１８０は操作部であり、画像入出力装置１００を操作するための各種の操作指示（例えば、リーダ部２００にて現行の読み込みを開始させる開始指示）をユーザが入力することができる。
【００２３】
＜制御部１２０の構成＞
次に図２において説明した制御部１２０について更に詳細に説明する。
【００２４】
図３は、制御部１２０の構成を示す図である。
【００２５】
図３において、１２１はメインコントローラであり、制御部１２０の全体を制御する。また、１２２はＣＰＵ部であり、ＣＰＵ１５０及びＣＰＵ１５１の２つのＣＰＵコアを有する。そして、ＣＰＵ部１２２は、複数のＣＰＵコアを用いて各種の処理を並行して実行することができる。
【００２６】
また、１２３はブートＲＯＭであり、ＣＰＵ部１２２に電源電圧が投入された場合に、制御部１２０を構成する各部に対して初期化処理を行うための初期化プログラム（ブートプログラム）が記憶されている。そして、ＣＰＵ部１２２は、ＣＰＵ部１２２に電源電圧が投入された場合に、ブートＲＯＭ１２３から初期化プログラムを読み出してメモリ１２４に記憶させるとともに、メモリ１２４に記憶させた初期化プログラムを実行する。また、１２５はＵＳＢインターフェース部であり、ＵＳＢインターフェースを有するホストコンピュータから、印刷データを受信するものである。なお、印刷データとしては、例えばＰＤＬデータが知られているが、ホストコンピュータにてビットマップデータを圧縮した圧縮画像データ等であっても良い。
【００２７】
また、１５０はリーダ画像処理部であり、リーダ部２００からリーダインターフェース１５２を介して入力される画像データに所定の画像処理を施し、画像処理された画像データをメインコントローラへ送信するものである。なお、所定の画像処理としては、原稿を読み取った際における主走査方向の光量のばらつきを補正するシェーディング補正処理や、画像データを所定の閾値で２値化する２値化処理等がある。なお、メインコントローラ１２１は、リーダ画像処理部１５０からデータバス２０２を介して入力された画像データを、メモリ１２４へ記憶させるよう制御する。
【００２８】
また、１５１はプリンタ画像処理部であり、メモリ１２４からデータバス３０２を介して受信した画像データに所定の画像処理を施し、画像処理された画像データをプリンタインターフェース１５３を介してプリンタ部３００へ送信するものである。なお、所定の画像処理としては、ＲＧＢの色空間で表現された画像データを、プリンタ部３００にて用いられるＣＭＹＫの色空間で表現された画像データに変換する色空間変換処理等がある。なお、メインコントローラ１２１は、メモリ１２４に記憶された画像データをデータバス３０２を介してプリンタ画像処理部１５１へ送信するよう制御する。
【００２９】
また、１３０はＰＣＩバスであり、ＨＤＤ１３２や他のバス装置が接続される。ＨＤＤ１３２は、画像データやメインコントローラ１２１が実行するプログラムを記憶するものであり、ＰＣＩバス１３０に接続されたＨＤＤコントローラ１３１により制御される。なお、メインコントローラ１２１は、リーダ部２００から入力された画像データを一旦メモリ１２４へ記憶させた後に、ＣＰＵ部１２２を用いて画像データに所定の圧縮処理（例えば、ＪＰＥＧ圧縮方式があるが、ＪＢＩＧ等その他の圧縮方式でも良い）を施した後にバス１３０を介してＨＤＤ１３２へ圧縮された画像データを転送するよう制御する。
【００３０】
また、１３４は拡張インターフェースであり、ＰＣＩバスに準拠したインターフェースである。そして、拡張インターフェース１３４には後述するアクセラレータボード７００を接続可能であり、画像入出力装置１００の各種機能を拡張することができる。
【００３１】
また、１３３はＩ／Ｏコントローラであり、ネットワークインターフェース１４０、モデム１４１、操作部インターフェース１４２等の各種のＩ／Ｏユニットを制御するものである。ネットワークインターフェース１４０は、ＬＡＮ１１０を介してホストコンピュータ１０５等から入力されるデータ（例えば、印刷データ）の受信処理等の各種の通信処理を制御するインターフェースである。また、モデム１４１は、ＰＳＴＮ又はＩＳＤＮを介してファクシミリ装置１１２等から入力されるデータ（例えば、ファクシミリデータ）の受信処理等の各種の通信処理を制御するものである。また、操作部インターフェース１４２は操作部１８０と接続されており、画像入出力装置１００のユーザが操作部１８０を介して入力した各種の情報を処理するものである。なお、操作部１８０は、液晶表示画面とその画面上に設けられたタッチパネル及び複数のキーを有する。そして、操作部１８０は、ユーザがタッチパネルを介して入力した座標情報や複数のキーを介して入力したキー情報（いずれのキーが押されたかを示す情報）を操作部インターフェース１４２へ送信する。操作部インターフェース１４２は、操作部１８０から入力された情報をＩ／Ｏコントローラ１３３を介してメインコントローラ１２１へ送信する。そして、メインコントローラ１２１は、受信した情報に基づいてリーダ部２００やプリンタ部３００を含む画像入出力装置の各部を制御する。
【００３２】
また、１３５はクロックジェネレータであり、メインコントローラ１２１の各部を所定の周期で動作させるためのクロックを生成する。
【００３３】
なお、クロックジェネレータ１３５は、所定の周波数のクロックをメインコントローラ１２１へ入力するが、メインコントローラ１２１は入力されたクロックの周波数を適宜変換することで、種々のクロック周波数で動作することが可能である。
【００３４】
また、３０３は商用電源で、画像入出力装置１００を動作させるための交流電圧を供給する電源である。３０４は電源電圧生成部であり、商用電源から入力される交流電圧から複数レベルの直流電圧を生成する。そして、電源電圧生成部３０４は、制御部１２０に対しては、例えば５Ｖの電圧を供給する。また、３０５は電源制御部であり、電源電圧生成部３０４が生成した５Ｖの直流電圧をメインコントローラ１２１へ供給するかどうかをスイッチ３０６のＯＮ／ＯＦＦを制御することにより行う。なお、電源電圧制御部３０５は、スイッチ３０６をＯＮするべきかＯＦＦするべきかの設定は、メインコントローラ１２１から制御信号線３０７を介して受信するコマンドにより行う。
【００３５】
＜ＣＰＵ部１２２の動作クロックの設定＞
次に、ＣＰＵ部１２２の動作クロックの設定について説明する。
【００３６】
図４は、ＣＰＵ部１２２の動作クロックの設定を説明する図である。
【００３７】
図４において、１６４及び１６５は周波数変換部であり、クロックジェネレータ１３５から入力された所定の周波数（ここでは、１３３ＭＨｚとする）のクロックを変換するものである。そして、周波数変換部１６４にて変換されたクロックはＣＰＵ１５０へ入力され、ＣＰＵ１５０は入力されたクロックにて動作する。また、周波数変換部１６５にて変換されたクロックはＣＰＵ１５１へ入力され、ＣＰＵ１５１は入力されたクロックにて動作する。なお、周波数変換部１６４及び１６５は、入力された周波数と出力する周波数の比率を設定するためのレジスタを各々有している。ブリッジ１６３は、ＣＰＵ部１２２が周波数変換部１６４及び１６５に周波数変換の比率を設定するレジスタの値を書き替えるものであり、ＣＰＵ部１２２からコマンドに基づいてレジスタの設定をする。
【００３８】
次に、ブリッジ１６３が周波数変換部１６４及び１６５に設定するレジスタの値と、それにより出力される周波数の関係について説明する。図５は、ブリッジ１６３が周波数変換部１６４及び１６５に設定するレジスタの値と、それにより出力される周波数の関係を説明する図である。
【００３９】
図５において、ブリッジ１６３は、レジスタの値として０〜３の４種類の値を設定できるものとする。周波数変換部１６４及び１６５の各々にはＰＬＬ回路（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ回路）が組み込まれており、ＰＬＬ回路にて入力されたクロックの周波数を所定の比率にて変換された波数にすることができる。具体的に、周波数変換部１６４及び１６５は、レジスタの値が０に設定されているときは０倍の比率で変換して１３３ＭＨｚのクロックを０ＭＨｚのクロックに変換する。また、周波数変換部１６４及び１６５は、レジスタの値が１に設定されているときは２．５倍の比率で変換して１３３ＭＨｚのクロックを３３３ＭＨｚのクロックに変換する。また、周波数変換部１６４及び１６５は、レジスタの値が２に設定されているときは３倍の比率で変換して１３３ＭＨｚのクロックを４００ＭＨｚのクロックに変換する。また、周波数変換部１６４及び１６５は、レジスタの値が３に設定されているときは５倍の比率で変換して１３３ＭＨｚのクロックを６６６ＭＨｚのクロックに変換する。なお、ブリッジ１６３は、周波数変換部１６４のレジスタ及び周波数変換部１６５のレジスタに各々異なる値を設定することができる。例えば、周波数変換部１６４にレジスタの値として３を設定してＣＰＵ１５０を６６６ＭＨｚにて動作させる一方で、周波数変換部１６５にレジスタの値として１を設定してＣＰＵ１５１を３３３ＭＨｚにて動作させることができる。なお、２つのＣＰＵを各々同じ周波数にて動作させることもできる。
【００４０】
＜ＣＰＵ部１２２が実行する処理＞
次に、ＣＰＵ部１２２が実行する処理について具体的に説明する。
【００４１】
図６は、ＣＰＵ部１２２が実行するプログラムの構成を示す図である。
【００４２】
図６は、ＣＰＵ部１２２がＨＤＤ１３２からメモリ１２４へ読み出して実行するプログラム６００の構成を示している。
【００４３】
図６において、プログラム６００は画像展開プログラム６０１、メモリ制御プログラム６０２、バス制御プログラム６０３、画像圧縮プログラム６０４、画像伸長プログラム６０５等の複数のプログラムモジュールから構成されている。なお、図６には、５つのプログラムモジュールを示したが、これら以外にも複数のプログラムモジュールを組み込むように構成してもよい。
【００４４】
画像展開プログラム６０１は、ネットワークインターフェース１４０がＬＡＮ１１０を介してホストコンピュータ１５０から受信した印刷データ（ＰＤＬデータ）を展開処理するプログラムである。画像展開処理プログラム６０１は、コード化された印刷データ（ＰＤＬデータ）をプリンタ部３００にて処理可能なプリントデータ（例えば、ビットマップ形式のデータ）に変換する展開処理を実行する。
【００４５】
また、メモリ制御プログラム６０２は、画像データのメモリ１２４への書き込み及び画像データのメモリ１２４からの読出しを制御するプログラムである。メモリ制御プログラム６０２は、画像展開プログラム６０１が展開処理を実行することにより生成されるプリントデータをメモリ１２４へ順次記憶させるよう制御する。また、メモリ制御プログラム６０２は、プリントデータ（画像データ）がメモリ１２４に所定のデータ量（例えば、半ページ、１ページ分の画像データ量）だけ記憶されると、メモリ１２４からプリントデータ（画像データ）を読み出す。
【００４６】
画像圧縮プログラム６０４は、メモリ１２４から読み出されたプリントデータに対して所定の圧縮処理（例えば、ＪＰＥＧ圧縮処理）を施すためのプログラムである。そして、バス制御プログラム６０３は、メインコントローラ１２１に接続されるバス（データバス２０２、データバス３０２、ＰＣＩバス１３０等）を用いたデータ転送を制御するためのプログラムである。そして、画像圧縮プログラム６０４により圧縮処理されたプリントデータは、バス制御プログラム６０３によりＨＤＤ１３２へ転送されるよう制御される。なお、バス制御プログラム６０３は、メインコントローラ１２１によりＨＤＤ１３２に記憶された圧縮されたプリントデータに基づいて画像形成をするよう指示があると、ＨＤＤ１３２から所定の圧縮されたプリントデータをメモリ１２４へ転送するよう、ＰＣＩバス１３０上のＨＤＤコントローラ１３１へコマンドを送信する。そして、バス制御プログラム６０３は、コマンドの送信に応じてＨＤＤ１３２から読み出された圧縮されたプリントデータをメモリ１２４へ格納するよう制御する。
【００４７】
また、画像伸長プログラム６０５は、メモリ１２４に記憶された圧縮されたプリントデータを伸長するプログラムである。画像伸長プログラム６０５により伸長されたプリントデータは、バス制御プログラム６０３によりデータバス３０２を介してプリンタ部３００へ送信されるよう制御される。
【００４８】
なお、ＣＰＵ部１２２は、２つのＣＰＵ１５０及び１５１を用いて、複数のプログラムを並行して実行することができる。例えば、ＣＰＵ１５０は画像展開プログラム６０１、画像圧縮プログラム６０４、画像伸長プログラム６０５を実行するものとし、ＣＰＵ１５１はメモリ制御プログラム６０２、バス制御プログラム６０３を実行するものとしておく。そうすると、ＣＰＵ１５０が画像展開プログラム６０１を実行してプリントデータを生成する一方で、ＣＰＵ１５１がメモリ制御プログラム６０２を実行することで生成されたプリントデータを順次メモリ１２４へ格納することができる。また、ＣＰＵ１５０及び１５１にそれぞれ実行させるプログラムの種類を予め決めておいても良いし、いずれのプログラムを実行させるべきかを動的に切り替えても良い。
【００４９】
＜アクセラレータボードの構成＞
次に、制御部１２０の拡張インターフェース１３４に着脱可能に接続されるアクセラレータボード７００の構成について図７を用いて説明する。
【００５０】
図７において、１７０はＣＰＵであり、アクセラレータボードの全体を制御する。そして、ＣＰＵ１７０は不揮発性メモリ１７４に記憶されたプログラムをメモリ１７２へ読み出して実行することで所定のデータ処理を実行する。また、１７３はブートＲＯＭであり、ＣＰＵ部１７０に電源電圧が投入された場合に、アクセラレータボード７００を構成する各部に対して初期化処理を行うための初期化プログラム（ブートプログラム）が記憶されている。また、７０１はＰＣＩインターフェースであり、制御部１２０の拡張インターフェース１３４と接続することで、アクセラレータボード７００と制御部１２０との通信が可能となる。なお、本実施形態においては、不揮発性メモリ１７４には、ＨＤＤ１３２に記憶された画像展開プログラム６０１と同様のプログラムが記憶されているものとする。つまり、アクセラレータボード７００は、本来は画像入出力装置１００のＣＰＵ部１２２が実行するべき印刷データの展開処理を実行するものであり、それによりＣＰＵ部１２２の負荷を軽減することができる。つまり、ＣＰＵ部１２２は、画像展開プログラム６０１により画像展開処理を実行する必要がなくなるので、メモリ制御プログラム６０２、バス制御プログラム６０３、画像圧縮プログラム６０４、画像伸長プログラム６０５等の、他のプログラムの実行に専念することができる。そして、アクセラレータボード７００のＣＰＵ１７０における動作クロックの周波数を、ＣＰＵ部１２２における動作クロックの周波数の最高値（本実施形態では６６６ＭＨｚ）以上の周波数とすることで、高速度な展開処理を実現することが可能となる。このように、アクセラレータボード７００を画像入出力装置１００の汎用バス（ＰＣＩバス１３０）に接続可能にすることで、画像入出力装置１００を購入したユーザは、必要に応じて画像入出力装置１００の性能アップをさせることができる。また、画像入出力装置１００の製造者は、画像入出力装置１００を販売した後に、高性能のアクセラレータボード７００をユーザに提供することで、画像入出力装置１００商品価値を高めることができる。
【００５１】
なお、上記の説明においては、アクセラレータボード７００の不揮発性メモリ１７４に予め画像展開プログラム６０１と同様のプログラムが記憶されているものとしたが、他の態様としても良い。例えば、メインコントローラ１２１が拡張インターフェース１３４にアクセラレータボードが装着されたことを検知する機構を画像入出力装置１００に設けておき、装着されたことを検知したことに応じてＨＤＤ１３２に記憶された画像展開プログラム６０１をアクセラレータボード７００のメモリ１７２へ転送するようにしても良い。このように構成することで、アクセラレータボード７００に予め画像展開プログラム６０１を記憶させておくことなく、アクセラレータボード７００に画像展開プログラム６０１を実行させることができる。
【００５２】
＜ＣＰＵ部１２２の動作クロックの切り替え＞
次に、画像入出力装置１００にアクセラレータボード７００が接続された際の、ＣＰＵ部１２２の動作クロックの切り替えについて説明する。
【００５３】
図８は、画像入出力装置１００にアクセラレータボード７００が接続された状態で画像入出力装置１００に電源が投入された際の、ＣＰＵ部１２２の動作クロックの切り替えを説明するフローチャートである。なお、画像入出力装置１００には、各々動作クロックの周波数の異なるＡ〜Ｃの３種のアクセラレータボード７００が装着し得るものとする。アクセラレータボードＡのＣＰＵ１７０の動作周波数は、６６６ＭＨｚであり３種のアクセラレータボードの中では処理速度が最も低い。一方、アクセラレータボードＣのＣＰＵ１７０の動作周波数は、１２００ＭＨｚであり３種のアクセラレータボードの中では処理速度が最も高い。また、アクセラレータボードＢのＣＰＵ１７０の動作周波数は、１０００ＭＨｚであり３種のアクセラレータボードの中では処理速度が中間となる。
【００５４】
まず、ステップＳ８０１でＣＰＵ部１２２は、商用電源３０３から電力が入力されたことに応じて電源電圧生成部３０４から電力が供給されるので、ブートＲＯＭ１２３に記憶されたプログラムをメモリ１２４へ読み出して初期化処理を実行する。
【００５５】
ステップＳ８０２でＣＰＵ部１２２は、拡張インターフェース１３４にアクセラレータボード７００が接続されたか否かを判定し、接続されたと判定すればステップＳ８０３へ進み、接続されていないと判定すればステップＳ８０９へ進む。
【００５６】
ステップＳ８０９でＣＰＵ部１２２は、拡張インターフェース１３４にアクセラレータボード７００が接続されていないことから、ＣＰＵ部１２２に最高速度にて処理をさせるべく、周波数変換部１６４及び１６５のレジスタに各々“３”を設定する。この設定の結果、ＣＰＵ１５０及びＣＰＵ１５１の各々には、６６６ＭＨｚの周波数のクロックが供給される。
【００５７】
ステップＳ８０３でＣＰＵ部１２２は、アクセラレータボード７００の不揮発性メモリ１７４に記憶されたアクセラレータボード７００の種別を示す情報（ＣＰＵ１７０の動作クロックの周波数等を特定するための情報）を読出して、アクセラレータボード７００の種別がＡであるかどうかを判定する。アクセラレータボードの種別がＡであればステップＳ８０４へ進み、ＡでなければステップＳ８０５へ進む。
【００５８】
ステップＳ８０４では、ステップＳ８０３で判定したアクセラレータボード７００の種別がＡであるので、ＣＰＵ部１２２の処理負荷が軽減されることから、周波数変換部１６４のレジスタに“３”を設定する一方で周波数変換部１６５のレジスタに“１”を設定する。この設定により、ＣＰＵ部１２２のＣＰＵ１５０に供給されるクロックの周波数が、アクセラレータボード７００が装着されていない場合の周波数に比べて低くなるので、その分だけ消費電力が軽減される。
【００５９】
ステップＳ８０５でＣＰＵ部１２２は、アクセラレータボード７００の不揮発性メモリ１７４に記憶されたアクセラレータボード７００の種別を示す情報（ＣＰＵ１７０の動作クロックの周波数等を特定するための情報）を読出して、アクセラレータボード７００の種別がＢであるかどうかを判定する。アクセラレータボードの種別がＢであればステップＳ８０６へ進み、ＢでなければステップＳ８０７へ進む。
【００６０】
ステップＳ８０６では、ステップＳ８０５で判定したアクセラレータボード７００の種別がＢであるので、ＣＰＵ部１２２の処理負荷がアクセラレータボードＡより更に軽減されることから、周波数変換部１６４のレジスタに“３”を設定し、周波数変換部１６５のレジスタに“０”を設定する。この設定により、ＣＰＵ部１２２のＣＰＵ１５０に供給されるクロックの周波数が、アクセラレータボードＡが装着されている場合の周波数に比べて更に低くなるので、その分だけ消費電力が軽減される。
【００６１】
ステップＳ８０７でＣＰＵ部１２２は、アクセラレータボード７００の種別がＡでもＢでも無いことから、アクセラレータボードの７００の種別がＣであると判定する。そしてＣＰＵ部１２２は、ＣＰＵ部１２２の処理負荷がアクセラレータボードＢより更に軽減されることから、周波数変換部１６４のレジスタに“２”を設定し、周波数変換部１６５のレジスタに“０”を設定する。この設定により、ＣＰＵ部１２２のＣＰＵ１５０に供給されるクロックの周波数が、アクセラレータボードＢが装着されている場合の周波数に比べて更に低くなるので、その分だけ消費電力が軽減される。
【００６２】
ステップＳ８０８でＣＰＵ部１２２は、ＣＰＵ１５１を動作させる必要がないことから、ＣＰＵ１５１をスリープモードへ移行させる。ここで、ＣＰＵ１５１はスリープモードに移行すると、消費電力を低減するために内部動作を停止させるとともに、割り込みやリセットがＣＰＵ１５１に入力されるまではスリープモードを維持する。
【００６３】
以上説明したように、本実施形態によれば、入力されたデータに印刷データの展開処理を実行する画像入出力装置に、同じく印刷データの展開処理を実行し得るアクセラレータボードを接続するシステムを提供することができる。そして、印刷データの展開処理を実行し得るアクセラレータボードを画像入出力装置に接続した場合に、システム全体の印刷データの展開処理に関する処理速度を向上させつつ画像入出力装置の消費電力を低減させることができる。
【００６４】
なお、上記の実施形態においてＣＰＵ部１２２は、２つのＣＰＵコアを有するものとしたが、ＣＰＵコアを１つにしても、更には２つ以上にしても良い。
【００６５】
なお、上記の実施形態においてアクセラレータボード７００の不揮発性メモリ１７４には、画像展開プログラム６０１と同様のプログラムが記憶されているものとしたが、他の態様でも良い。例えば、ＣＰＵ部１２２が実行し得る他のプログラム（画像圧縮プログラム６０４、画像伸長プログラム６０５）が記憶されていても良い。ＣＰＵ部１２２が実行しえるプログラムと同様のプログラムをアクセラレータボード７００が実行することで、ＣＰＵ部１２２の処理負荷を軽減することができるので、ＣＰＵ部１２２の各ＣＰＵの動作周波数を低下させて省電力化を図ることができる。
【図面の簡単な説明】
【００６６】
【図１】画像入出力装置を含むシステム構成を示す図である。
【図２】画像入出力装置１００の構成を示す図である。
【図３】制御部１２０の構成を示す図である。
【図４】ＣＰＵ部１２２の動作クロックの設定を説明する図である。
【図５】ブリッジ１６３が周波数変換部１６４及び１６５に設定するレジスタの値と、それにより出力される周波数の関係を説明する図である。
【図６】ＣＰＵ部１２２が実行するプログラムの構成を示す図である。
【図７】制御部１２０の拡張インターフェース１３４に着脱可能に接続されるアクセラレータボード７００の構成を示す図である。
【図８】画像入出力装置１００にアクセラレータボード７００が接続された状態で画像入出力装置１００に電源が投入された際の、ＣＰＵ部１２２の動作クロックの切り替えを説明するフローチャートである。
【符号の説明】
【００６７】
１００  画像入出力装置
１０５  ホストコンピュータ
１０６  画像出力装置
１２１  メインコントローラ
１２２  ＣＰＵ部
１３５  クロックジェネレータ
１５０  ＣＰＵ
１５１  ＣＰＵ
１６４  周波数変換部
１６５  周波数変換部
７００  アクセラレータボード
【図１】
2007026075.tif 000003
【図２】
2007026075.tif 000004
【図３】
2007026075.tif 000005
【図４】
2007026075.tif 000006
【図５】
2007026075.tif 000007
【図６】
2007026075.tif 000008
【図７】
2007026075.tif 000009
【図８】
2007026075.tif 000010