(57)【要約】【課題】バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図ることを目的とする【解決手段】Ｉ／Ｏ制御回路５、ＣＰＵ３および画像処理回路４からＲＡＭ２に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいてＲＡＭ２に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路１を有するプリンタコントローラに、前記メモリ制御回路１が前記画像処理回路４から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得する手段と、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する手段とを設ける。【選択図】  図１
2004284056.tif 000002
【特許請求の範囲】
【請求項１】
画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、
外部から送信される画像作成用データを受け付ける入出力制御回路と、
前記画像作成用データから圧縮した画像データを生成する中央処理装置と、
前記画像データを印刷データに変換する画像処理回路と、
前記画像作成用データおよび前記画像データを格納する記憶装置と、
前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有し、
前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更することを特徴とするプリンタコントローラ。
【請求項２】
画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、
外部から送信される画像作成用データを受け付ける入出力制御回路と、
前記画像作成用データから圧縮した画像データを生成する中央処理装置と、
前記画像データを印刷データに変換する画像処理回路と、
前記画像作成用データおよび前記画像データを格納する記憶装置と、
前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有し、
前記中央処理装置は、前記生成する画像データの解像度を取得し、該取得した解像度に対応させて前記メモリ制御回路の前記所定の優先基準を変更することを特徴とするプリンタコントローラ。
【請求項３】
画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、
外部から送信される画像作成用データを受け付ける入出力制御回路と、
前記画像作成用データから圧縮した画像データを生成する中央処理装置と、
前記画像データを印刷データに変換する画像処理回路と、
前記画像作成用データおよび前記画像データを格納する記憶装置と、
前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有し、
前記中央処理装置は、前記印刷エンジンから該印刷エンジンが有する印刷速度データを取得して、前記取得した印刷速度データに応じて前記メモリ制御回路の前記所定の優先基準を変更することを特徴とするプリンタコントローラ。
【請求項４】
請求項１〜３のいずれか一項記載のプリンタコントローラであって、
前記所定の優先基準とは、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト回数、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト時間および前記メモリ制御回路が、前記入出力制御回路、前記中央処理装置および画像処理回路から、同時にリクエストを受け付けた場合のリクエストを受け付ける優先順位のいずれか１つ、または、該リクエスト回数、該リクエスト時間および該優先順位をそれぞれ組合せたものであることを特徴とするプリンタコントローラ。
【請求項５】
請求項４に記載のプリンタコントローラであって、
前記優先基準を変更するとは、前記リクエスト回数および前記リクエスト時間を増減させることおよび前記入出力制御回路、前記中央処理装置および画像処理回路の優先順位を入れ替えることであることを特徴とするプリンタコントローラ。
【請求項６】
請求項１〜５のいずれか一項記載のプリンタコントローラを搭載したプリンタ。
【請求項７】
入出力制御回路、中央処理装置および画像処理回路から記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路を有するプリンタコントローラの該リクエスト調停方法であって、
前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得する処理を実行し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する処理を実行し、
前記メモリ制御回路は、該変更された所定の優先基準にしたがって、該リクエストを調停する処理を実行することを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ページプリンタのコントローラに関し、特に、ページプリンタのコントローラが有するメモリのデータバスを調停する技術に関する。
【０００２】
【従来の技術】
レーザプリンタ等のページプリンタ（以下において「プリンタ」という）は、印刷処理を実行するために、ＣＰＵ（中央処理装置）、メモリ制御回路、Ｉ／Ｏ制御回路、メモリ、画像処理回路等、およびこれらを接続するバスから構成されるプリンタコントローラを搭載している。
【０００３】
このプリンタコントローラでは、Ｉ／Ｏ制御回路がホストから送信される画像作成用データを受信してメモリに格納し、ＣＰＵが該格納した画像作成用データから画像データを生成してメモリ上に展開する。そして、１ページ分の画像データがメモリ上に展開された場合、画像処理回路は、この展開した１ページ分の画像データを複数に分割したバンド単位で印刷可能な印刷データに変換して、印刷エンジンに送信する。また、メモリ制御回路は、Ｉ／Ｏ制御回路が画像作成用データを格納するためのメモリへのリクエスト、ＣＰＵが画像データをメモリに展開するために行うメモリへのリクエストおよび画像処理回路が印刷データを印刷エンジンに送信するために行うメモリへのリクエストが重複して発生する場合にそのリクエストの調停を行っている（例えば、ＣＰＵがメモリにアクセス中に、画像処理回路がメモリへのリクエストした場合、画像処理回路は、ＣＰＵのアクセスが終了するまで待つように調停する）。
【０００４】
また、画像処理回路では、上述のように、バンド単位で印刷エンジンに印刷データを出力している。そのため、あるバンドを印刷し終えてそれに続くバンドを印刷する場合に、次に続くバンドの印刷データを生成し終えていないと、印刷エンジンに印刷データが送信できなくなり、プリンタでオーバランが生じることになる。したがって、メモリ制御回路は、オーバランが生じないようにメモリへのリクエストを調停する必要がある。
【０００５】
従来のプリンタコントローラには、印刷データを印刷エンジンに送信するためのメモリへのリクエスト（画像処理回路からのリクエスト）を、他のバスマスタ（例えばＣＰＵ）からのリクエストより優先して制御するものがある（例えば特許文献１）。この技術によれば、印刷データの印刷エンジンへの送信が、最優先されるため、オーバランを確実に防止することができる。
【特許文献１】
特開平７−１７８９７３号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上記特許文献１の技術では、画像処理回路からのリクエストが優先されるため、例えば、ＣＰＵがメモリに連続したリクエストを要求している際に、画像処理回路がメモリにリクエストをした場合、必ず、ＣＰＵの処理は中断される。例えば、上記ＣＰＵの連続したリクエストに対する処理を待ってから画像処理回路のリクエストを許可してもオーバランが生じない場合あっても、ＣＰＵの処理は中断される。そのため、必要以上にＣＰＵのリクエストが制限される場合があり、プリンタのパフォーマンスが低下するという問題を有している。
なお、プリンタコントローラのバス幅を広げることや、高周波数化する方法により上記問題を解決する方法もあるが、その場合は、高コスト化および消費電力の増加を招くという問題を有している。
【０００７】
そこで、本発明は、バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図ることを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明の一態様が適用されるプリンタコントローラは、画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、外部から送信される画像作成用データを受け付ける入出力制御回路と、前記画像作成用データから圧縮した画像データを生成する中央処理装置と、前記画像データを印刷データに変換する画像処理回路と、前記画像作成用データおよび前記画像データを格納する記憶装置と、前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有して構成される。
【０００９】
そして、前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する。
【００１０】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、画像処理回路からのリクエストに応じて読み出した画像データの圧縮率に対応して変更されるように構成されている。すなわち、メモリ制御回路は、圧縮率に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、画像データの圧縮率により、メモリ制御回路が行う調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、圧縮率が所定の値より低い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、圧縮率が所定の値より高い場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会を増加させることができる。
【００１１】
また、前記中央処理装置は、前記生成する画像データの解像度を取得し、該取得した解像度に対応させて前記メモリ制御回路の前記所定の優先基準を変更することしてもよい。
【００１２】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、生成する画像データの解像度に対応して変更されるように構成されている。すなわち、メモリ制御回路は、解像度に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、画像データの解像度により、メモリ制御回路が行う調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、解像度が所定の値より高い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、解像度が所定の値より低いい場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会増加させることができる。
【００１３】
また、前記中央処理装置は、前記印刷エンジンから該印刷エンジンが有する印刷速度データを取得して、前記取得した印刷速度データに応じて前記メモリ制御回路の前記所定の優先基準を変更することとしてもよい。
【００１４】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、印刷エンジンの印刷速度に対応して変更されるように構成されている。すなわち、メモリ制御回路は、印刷エンジンの印刷速度に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、印刷エンジンの印刷速度に応じてメモリ制御回路が行うリクエストの調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、印刷速度が所定の値より速い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、印刷速度が所定の値より遅い場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会増加させることができる。
【００１５】
また、前記所定の優先基準とは、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト回数、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト時間および前記メモリ制御回路が、前記入出力制御回路、前記中央処理装置および画像処理回路から、同時にリクエストを受け付けた場合のリクエストを受け付ける優先順位のいずれか１つ、または、該リクエスト回数、該リクエスト時間および該優先順位をそれぞれ組合せたものであることとしてもよい。また、前記優先基準を変更するとは、前記リクエスト回数および前記リクエスト時間を増減させることおよび前記入出力制御回路、前記中央処理装置および画像処理回路の優先順位を入れ替えることであることとしてもよい。
【００１６】
このように、本発明によれば、画像データの圧縮率、解像度および印刷速度のいずれかに基づいて、メモリ制御回路が行うリクエストの調停を最適なものとすることができる。そのため、画像処理回路が記憶装置にリクエストする回数が多い場合（圧縮率が低い場合等）には、画像処理回路からのリクエストを優先させるように調停することで、バス帯域の狭いプリンタコントローラであっても、プリンタのオーバランを防止することができる。
【００１７】
また、画像処理回路が記憶装置にリクエストする回数が少ない場合（圧縮率が高い場合等）には、上記のリクエスト回数が多い場合に比べて、画像処理回路からのリクエストの優先度を下げることで、プリンタのパフォーマンスを向上させることができる（中央処理装置等がメモリにリクエスト出来る機会が増えるため）。
【００１８】
すなわち、本発明によれば、バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図るこができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【００２０】
最初に、本発明の第１の実施形態について説明する。
【００２１】
図１は、本発明の第１の実施形態が適用されたプリンタコントローラの構成を説明するためのブロック図である。図示するように、プリンタコントローラ９は、メモリ制御回路１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２と、ＣＰＵ（中央処理装置）３と、画像制御回路４と、Ｉ／Ｏ制御回路５と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６と、を有する。
【００２２】
そして、ＣＰＵ３とメモリ制御回路１とはＣＰＵバス１０を介して接続され、メモリ制御回路１とＲＡＭ２とはメモリバス１２を介して接続され、メモリ制御回路１とＲＯＭ６とはメモリバス１１を介して接続されている。また、メモリ制御回路１とＩ／Ｏ制御回路５とはＩ／Ｏバス１３を介して接続され、メモリ制御回路１と画像処理回路４とは画像処理バス１４を介して接続されている。
【００２３】
Ｉ／Ｏ制御回路５は、複数種（例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、パラレルインタフェース、ネットワークインタフェース等）の外部インタフェース８に接続可能に構成されており、外部インタフェース８を介して、ホスト（図示せず）等と行うデータの送受信を制御する（例えば、Ｉ／Ｏ制御回路５は、外部インタフェース８を介してホストに接続される）。また、ホストは、ワードプロセッサ等のアプリケーションプログラムによって作成されたドキュメントを、プリンタが解釈可能な画像作成用データに変換した後、外部インタフェース８を介してＩ／Ｏ制御回路５に送信する。画像処理回路４は、印刷処理を実行する印刷エンジン７に接続される。印刷エンジン７は、レーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等により構成される。
【００２４】
また、本実施形態では、メモリ制御回路１、画像制御回路４およびＩ／Ｏ制御回路５は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）で構成されているものとする。
【００２５】
続いて、プリンタコントローラ９の上記構成の各機能について説明する。
【００２６】
ＲＡＭ２は、例えば、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）により構成され、プリンタコントローラ３が受信した画像作成用データや、後述するＣＰＵ３が作成した画像データ等を格納する領域を備えている。Ｉ／Ｏ制御回路５は、ホストが送信した画像作成用データを、メモリ制御回路１を介してＲＡＭ２に格納する。
【００２７】
ＣＰＵ３は、プリンタコントローラ９についての各種の処理を行う中央処理装置である。例えば、ＣＰＵ３は、ＲＡＭ２に格納されている画像作成用データを、メモリ制御回路１を介して読み出し、該画像作成用データから画像データを生成し、メモリ制御回路１を介して、ＲＡＭ２に書き込む（格納する）。なお、ＲＡＭ２に格納する画像データは、圧縮して格納されるものとする。
【００２８】
画像処理回路４は、内部バッファを備えており、ＲＡＭ２に格納された画像データを読み出して印刷データに変換する処理を行う。具体的には、ＲＡＭ２に１ページ分の画像データが格納された場合に、１ページ分の画像データを複数に分割したバンド単位で、該画像データをＲＡＭ２から読み出して解凍する（画像データは圧縮されているため）。そして、画像処理回路４は、解凍した画像データを印刷可能な印刷データに変換してからバンド単位で印刷エンジン７に出力する。なお、画像処理回路４は、１ページ分の画像データを印刷データに変換して印刷エンジンに送信するまで、この処理を繰り返す。なお、以下において、ＲＡＭ２に各データを書き込む処理（格納する処理）を「ライト」といい、ＲＡＭ２から各データを読み出す処理を「リード」ということとする。
【００２９】
ＲＯＭ６は、プリンタコントローラ９を制御するためのプログラム、フォントデータ等を格納する不揮発性メモリで構成されている。
【００３０】
メモリ制御回路１は、ＲＡＭ２へのアクセスする際のアドレス変換処理、リード命令およびライト命令の生成処理、バスの制御等を行う。すなわち、メモリ制御回路１は、ＣＰＵ３、画像処理回路４、Ｉ／Ｏ制御回路５の３つのバスマスタからのリクエスト（リードリクエストまたはライトリクエスト）を受け付けて、そのリクエストをＲＡＭ２に出力するように構成されている。そのため、バスマスタ（ＣＰＵ３、Ｉ／Ｏ制御回路５、画像処理回路４）は、メモリ制御回路１に対して、ＲＡＭ２に対するリクエスト（リード命令又はライト命令）をそれぞれ行い、メモリ制御回路１を経由してＲＡＭ２に格納されているデータをリードし、または、ＲＡＭ２にデータをライトすることとなる。
【００３１】
また、メモリ制御回路１は、３つのバスマスタからそれぞれ送られるリクエストを重ねて受け付けた場合に、受け付けたリクエストを調停して、１つのリクエストをＲＡＭ２に出力するように構成されている。具体的には、メモリ制御回路１は、後述する調停テーブル（図１では図示せず）を有しており、画像処理回路４からリクエストを受け付けた場合に、調停テーブルに格納されているデータに基づいて、受け付けたリクエストを調停して、１つのリクエストをＲＡＭ２に出力する。また、この調停テーブルは、ＣＰＵ３が、ＲＡＭ２に格納されている画像データの圧縮率に応じて設定するように構成されている。そのため、メモリ制御回路１は、ＣＰＵ３が生成した画像データの圧縮率に応じて、バスマスタからのリクエストの調停を行うことができる。なお、この調停テーブルのデータ構造については、後段で詳細に説明する。
【００３２】
また、本実施形態は、バスマスタが３種類（ＣＰＵ３、画像処理回路４、Ｉ／Ｏ制御回路５）である場合を例に説明しているが、特にこれに限定するものではない。例えば、アクセラレータ等の回路がバスマスタとして追加される構成としてもよい。また、画像制御回路４がメモリ制御回路１と一体化されて構成されていてもよい。
【００３３】
続いて、図１に示すＳ１〜Ｓ４（本図中では信号の流れを示す）を用いてプリンタコントローラ９のデータの流れの概略を説明する。
【００３４】
最初に、Ｉ／Ｏ制御回路５が、外部インタフェース８を介してホストから受信した画像作成用データをＲＡＭ２にライト（格納）する場合を説明する。Ｉ／Ｏ制御回路５は、外部インタフェース８を介して画像作成用データを受信した場合、メモリ制御回路１に対して、リクエストと同時にアドレス信号、ライト命令およびライトデータをＩ／Ｏバス１３を介して出力する（Ｓ１）。そして、上記リクエストを受け付けたメモリ制御回路１は、ＲＡＭ２に対して、アドレス、ライト命令およびライトデータを、メモリバス１２を介して出力し、ライトデータをＲＡＭ２にライト（格納）する（Ｓ３）。
【００３５】
次に、ＣＰＵ３がＲＡＭ２に格納されている画像作成用データをリードする場合を説明する。ＣＰＵ３は、メモリ制御回路１に対して、リクエストと同時にアドレス信号およびリード命令を、ＣＰＵバス１０を介して出力する（Ｓ２）。そして、上記リクエスト信号を受けたメモリ制御回路１は、ＲＡＭ２に対して、アドレス信号およびリード命令を、メモリバス１２を介して出力する。その後、ＲＡＭ２は、入力されたアドレス信号およびリード命令に基づいて、リードデータ（画像作成用データ）をメモリ制御回路１に出力する（Ｓ３）。メモリ制御回路１は、ＲＡＭ２からリードデータ（画像作成用データ）を出力し、該リードデータをＣＰＵ３に出力する（Ｓ２）。その後、ＣＰＵ３は、リードデータ（画像作成用データ）から画像データを生成し、該生成した画像データを、上述したライト処理と同様の手順でＲＡＭ２にライト（格納）する。
【００３６】
続いて、画像処理回路４が、ＲＡＭ２に格納された画像データをリードする場合を説明する。画像処理回路４は、ＲＡＭ２に１ページ分の画像データが格納された場合に、メモリ制御回路１に対して、リクエストと同時にアドレス信号およびリード命令（１ページ分の画像データを複数に分割したバンド単位の画像データを読み出す命令）を、画像処理バス１４を介して出力する（Ｓ４）。そして、上記リクエスト信号を受けたメモリ制御回路１は、ＲＡＭ２に対して、アドレス信号およびリード命令を、メモリバス１２を介して出力する。その後、メモリ制御回路１は、ＲＡＭ２からリードデータ（バンド単位の画像作成用データ）を出力して、該リードデータを、画像処理回路４に出力する（Ｓ４）。また、画像処理回路４は、リードしたバンド単位の画像データを解凍し（画像データは圧縮されているため）、印刷可能な印刷データに変換してからバンド単位で印刷エンジンに送信する。その後、画像処理回路４は、１ページ分の画像データを印刷データに変換して印刷エンジンに送信するまで、この処理を繰り返す。
【００３７】
続いて、メモリ制御回路１が行うバスマスタからのＲＡＭ２へのリクエストの制御について図２を用いて説明する。
【００３８】
図２は、本発明の第１の実施形態が適応されるメモリ制御回路１の内部構成を示すブロック図である。図示するように、メモリ制御回路１は、Ｉ／Ｏ制御回路バス制御部２１と、ＣＰＵバス制御部２２と、画像制御回路バス制御部２３と、ＲＡＭバス制御部２４と、タイマ（図示せず）と、を有している。
【００３９】
Ｉ／Ｏ制御回路バス制御部２１は、Ｉ／Ｏ制御回路５からのＲＡＭ２に対するリクエスト（Ｓ１）を受けて、ＲＡＭバス制御部２４に該リクエストを出力する。
ＣＰＵバス制御部２２は、ＣＰＵ３からのＲＡＭ２に対するリクエスト（Ｓ２）を受けて、ＲＡＭバス制御部２４に該リクエストを出力する。また、画像処理回路バス制御部２３は、画像処理回路４からのＲＡＭ２に対するリクエスト（Ｓ４）を受けて、ＲＡＭバス制御部２４に該リクエストを出力する。
【００４０】
ＲＡＭバス制御部２４は、バスマスタ（ＣＰＵ３、画像処理回路４、Ｉ／Ｏ制御回路５）から受け付けたリクエストを調停して、１つのバスマスタのリクエストを選択してＲＡＭ２に出力する選択回路２５と、バスマスタからのリクエストを調停するための基準データが格納されている調停テーブル２６と、を有している。また、調停テーブル２６は、連続リクエスト設定ＴＢ３０と、優先順位ＴＢ３１とを有している。
【００４１】
連続リクエスト設定ＴＢ３０には、画像処理回路４がＲＡＭ２からリードした画像データ（バンド単位）の圧縮率に応じて、画像処理回路４に他のバスマスタから優先して与える、連続リクエスト受付け回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定ＴＢ３０は、圧縮率の範囲を示すデータ（図示する例では、３つのグループに分類している）を格納するエントリ３３と、エントリ３３に対応付けて画像処理回路４に与える連続リクエスト回数を格納するエントリ３４と、エントリ３３に対応付けて画像処理回路４に与える連続占有時間を格納するエントリ３５と、リードした画像データの圧縮率がエントリ３３のどのグループに属するかを示すためのデータ（リードしたバンドの圧縮率が属するグループに対応するエントリには「１」を格納し、それ以外には「０」を格納する）を格納するエントリ３６と、を有している。例えば、図示する例では、圧縮率の範囲を示すエントリ３３の「２０＜圧縮率（α）＜５０（％）」に対応したエントリ３６に「１」が格納されている。したがって、図示する例では、画像処理回路４がリードした画像データの圧縮率は、２０％より大きく５０％より小さい範囲であり、画像処理回路４に優先して与えられる、連続リクエスト回数が「２回」で、与えられる連続占有時間が「Ｙ秒」であることを示している。なお、図示した、連続リクエスト設定ＴＢ３０のデータ構造は、あくまでも例示であり、本実施形態は特にこれに限定されるものではない。例えば、連続リクエスト調停ＴＢ３０のエントリ３３の圧縮率の分類数を増減させてもかまわない（例えば、４つのグループに分類する）。
【００４２】
また、優先順位ＴＢ３１には、画像処理回路４がＲＡＭ２からリードした画像データ（バンド単位）の圧縮率に応じて、バスマスタ（画像処理回路４、ＣＰＵ３、Ｉ／Ｏ制御回路５）が、同時にＲＡＭ２にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位ＴＢ３１は、圧縮率の範囲を示すデータ（図示する例では、３つのグループに分類している）を格納するエントリ３７と、エントリ３７に対応付けて、同時にＲＡＭ２に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ３８と、リードした画像データの圧縮率がエントリ３７のどのグループに属するかを示すためのデータ（リードしたバンドの圧縮率が属するグループに対応するエントリには「１」を格納し、それ以外には「０」を格納する）を格納するエントリ３９を有している。
【００４３】
例えば、図示する例では、圧縮率の範囲を示すエントリ３７の「２０＜圧縮率（α）＜５０（％）」に対応したエントリ３９に「１」が格納されている。したがって、画像処理回路４がリードした画像データの圧縮率は、２０％より大きく５０％より小さい範囲であり、バスマスタからＲＡＭ２に同時にリクエストが発生した場合には、「画像処理回路４」、「ＣＰＵ３」、「Ｉ／Ｏ制御回路５」の順番でリクエストが受け付けられることを示している。なお、図示した、優先順位ＴＢ３１のデータは、あくまでも例示であり、本実施形態は特にこれに限定されるものではない。例えば、連続リクエスト調停ＴＢ３０のエントリ３７の圧縮率の分類数を増減させてもかまわない。
【００４４】
そして、選択回路２５は、画像処理回路４からＲＡＭ２に格納されている画像データ（バンド単位）のリードリクエストを受け付けた場合には、連続リクエスト設定ＴＢ３０の該当する連続リクエスト回数分（「１」が格納されているエントリ３５に対応するエントリ３４に格納されている回数）のリクエストを、画像処理回路４から受け付けるまでは、他のバスマスタ（ＣＰＵ３、Ｉ／Ｏ制御回路５）からのリクエストは受け付けないように構成されている。さらに、選択回路２５は、画像処理回路４からＲＡＭ２に格納されている画像データ（バンド単位）のリードリクエストを受け付けた場合、内部タイマにより時間を計測して、エントリ３５に格納されている連続占有時間が経過するまで、他のバスマスタからのリクエストを、受け付けないように構成されている。
【００４５】
例えば、図２で示す例では、選択回路２５は、画像処理回路４からリクエストを受け付けた場合には、その後、画像処理回路４からのリクエストを「２回」受け、かつ、画像データ（バンド単位）のリードリクエストを受け付けてから「Ｙ秒」を経過するまでは、他のバスマスタからのリクエストは受け付けない。
【００４６】
さらに、選択回路２５、複数のバスマスタから同時にＲＡＭ２に対するリクエストを受けた場合には、優先順位ＴＢ３１の該当するエントリ３８に格納された優先順位（「１」が格納されているエントリ３９に対応するエントリ３８に格納されている優先順位）によりリクエストを受け付けるように構成されている。
【００４７】
また、連続リクエスト設定ＴＢ３０のエントリ３６および優先順位ＴＢ３１のエントリ３９に格納するデータは、画像処理回路４が画像データ（バンド単位の画像データ）をＲＡＭ２からリードする場合に、ＣＰＵ３が設定する（ＣＰＵ３がＲＯＭ６に格納されている所定の設定プログラムをロードして実行して設定する）。具体的には、ＣＰＵ３は、画像処理回路４が画像データ（バンド単位）をＲＡＭ２からリードする際に、該画像データ（バンド単位）の圧縮率を取得する。そして、ＣＰＵ３は、該取得した圧縮率に基づいて連続リクエスト設定ＴＢ３０のエントリ３６および優先順位ＴＢ３１のエントリ３９に該当するデータを格納する（例えば、ＣＰＵ３が取得した圧縮率が「５５％」である場合には、ＣＰＵ３は、エントリ３３の「α≧５０％」に対応するエントリ３６（エントリ３９）に「１」を格納し、他のエントリ３６（エントリ３９）に「０」を格納する）。なお、ＣＰＵ３の連続リクエスト設定ＴＢ３０および優先順位ＴＢ３１のデータの設定処理については後段で詳細に説明する。
【００４８】
このように調停テーブル２６に格納されているデータを、画像処理回路４がリードするバンド単位の画像データの圧縮率に対応付けているのは、圧縮率により、プリンタのオーバランを防止するために、画像処理回路４のために確保しなければならないバス帯域が異なるからである。そして、画像処理回路４に割り当てるバス帯域と他のバスマスタに割り当てるバス帯域とを圧縮率に応じて、調停することで、プリンタのオーバランを防止し、かつ、プリンタのパフォーマンスを向上させることができる。
【００４９】
すなわち、画像処理回路４がリードした画像データの圧縮率が低い場合には、画像処理回路４からＲＡＭ２に対するリードリクエストの回数は多くなる（画像処理回路４がリードする必要がある１ページ分の画像データ数が多いため）。そのため、プリンタのオーバランを防止するため、他のバスマスタから優先して、画像処理回路４にバス帯域を割り当てる必要がある。一方、画像処理回路４がリードした画像データの圧縮率が高い場合には、画像処理回路４が行うＲＡＭ２へのリードリクエストの回数は少なくなる（画像処理回路４がリードする必要がある１ページ分の画像データ数は少なくなるため）。したがって、画像処理回路４に割り当てるバス帯域を、圧縮率が低い場合と同じのように確保する必要なない（プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である）。そして、画像処理回路４に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会を増加させることにより、プリンタのパフォーマンスを向上させることができる。
【００５０】
続いて、本実施形態のプリンタコントローラ９が行う、メモリ制御回路１の調停テーブル２６のデータ設定処理のフローについて説明する。
【００５１】
図３は、本実施形態が適用されるプリンタコントローラ９が行うメモリ制御回路１の調停テーブル２６のデータの設定処理のフローを説明するための図である。
【００５２】
最初に、ＣＰＵ３は、メモリ制御回路１を介してＲＡＭ２からリードした画像作成用データから１ページ分の画像データを生成し、該生成した画像データを、所定の規則に基づいてバンド単位で圧縮する。そして、ＣＰＵ３は、該１ページ分の圧縮した画像データを、メモリ制御回路１を介してＲＡＭ２にライト（格納）する（ステップ１）。
【００５３】
続いて、ＣＰＵ３は、ＲＡＭ２に格納されている１ページ分の画像データから、画像処理回路４に指示するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）処理の対象のバンドの画像データ（画像処理回路４は１ページ分の画像データを複数に分割したバンド単位で画像データをリードする）の情報（画像データの転送先および転送元のアドレス、バンド単位の画像データの圧縮率等）を取得する（ステップ２）。なお、本実施形態では、画像データの圧縮率を取得する方法については特に限定しない。例えば、ＣＰＵ３は、ステップ１において、バンド単位の圧縮率を算出してから（例えば、圧縮前のデータと圧縮後のデータとから圧縮率を求める）、該算出したバンド毎の圧縮率を画像データに関連付けてＲＡＭ２に格納しておく。そして、ＣＰＵ３は、ＲＡＭ２に格納されている該当する圧縮率をリードすることにより、バンド単位の圧縮率を取得するようにしてもよい。
【００５４】
そして、ＣＰＵ３は、ステップ２で取得した画像データの転送先および転送元のアドレス情報を画像処理回路４の所定の領域に設定する（ステップ３）。また、ＣＰＵ３は、画像処理回路４にＤＭＡの開始を指示するデータを画像処理回路４の所定の領域に設定する（ステップ４）。
【００５５】
ステップ４で、ＤＭＡの開始の設定を受けた画像処理回路４は、ＣＰＵ３に割り込みを発生させ、メモリ制御回路１にステップ３で設定されたバンドの画像データのリードリクエストをして、ＲＡＭ２からリクエストしたバンドの画像データのリードを行う（ステップ５）。
【００５６】
その後、ＣＰＵ３は、ステップ２で取得した画像データの圧縮率を判断し（ステップ６）、メモリ制御回路１の調停テーブル２６の連続リクエスト設定ＴＢ３０および優先順位ＴＢ３１の設定を行う。具体的には、ＣＰＵ３は、取得した圧縮率が「５０％以上」である場合には、連続リクエスト設定ＴＢ３０のエントリ３３の「α≧５０（％）」に対応するエントリ３６および優先順位ＴＢ３１のエントリ３７の「α≧５０（％）」に対応するエントリ３９に「１」を格納し、他のエントリ３６およびエントリ３９には「０」を格納する（ステップ７、１０）。
【００５７】
また、ＣＰＵ３は、取得した圧縮率が「２０％より高く５０％より低い」場合には、連続リクエスト設定ＴＢ３０のエントリ３３の「２０＜α＜５０（％）」に対応するエントリ３６および優先順位ＴＢ３１のエントリ３７の「２０＜α＜５０（％）」に対応するエントリ３９に「１」を格納し、他のエントリ３６およびエントリ３９には「０」を格納する（ステップ８、１１）。
【００５８】
また、ＣＰＵ３は、取得した圧縮率が「２０％以下」である場合には、連続リクエスト設定ＴＢ３０のエントリ３３の「α≦２０（％）」に対応するエントリ３６および優先順位ＴＢ３１のエントリ３７の「α≦２０（％）」対応するエントリ３９に「１」を格納し、他のエントリ３６およびエントリ３９には「０」を格納する（ステップ９、１２）。
【００５９】
その後、ＣＰＵ３は、画像処理回路４がリードする必要がある次のバンドの画像データが有るか否かをＲＡＭ２に格納されている１ページ分の画像データから判断する（画像処理回路４は、１ページ分の画像データを全てリードするまで画像データをリードする必要がある。一方、既に１ページ分の画像を全てリードした場合には、リードする必要はない）。そして、ＣＰＵ３は、リードする必要がある次のバンドの画像データがあると判断した場合には、ステップ２に戻り、上記と同様の処理を繰り返す。一方、ＣＰＵ３は、リードする必要がある次のバンドの画像データがないと判断した場合には、ステップ１に戻り、上記と同様の処理を繰り返す（ステップ１３）。
【００６０】
このように、本実施形態によれば、メモリ制御回路１が行うバスマスタのＲＡＭ２に対するリクエスの調停基準（調停テーブル２６のデータ）が、画像処理回路４のリードした画像データ（バンド単位）の圧縮率に応じて設定されるように構成されている。そのため、上記画像データの圧縮率に応じて、画像処理回路４のために優先的に割り当てるバス帯域を変更できる。したがって、プリンタのオーバランの発生を防止するために画像処理回路４に割り当てるバス帯域を最適なものに設定することができる（圧縮率が低い場合は、画像処理回路４からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、圧縮率が高い場合には、画像処理回路４からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する）。
【００６１】
このように、本実施形態によれば、プリンタのオーバランを防止するために生じるプリンタのパフォーマンス低下を防止することが出来る。
【００６２】
続いて、本発明の第２の実施形態を説明する。本発明の本第２実施形態は、本発明の第１の実施形態とメモリ制御回路１が有する調停テーブル２６のデータ構造および調停テーブル２６を設定する処理が異なる以外は同じである。具体的には、本発明の第２の実施形態では、上記第１の実施形態が画像処理回路４のリードした画像データ（バンド単位）の圧縮率に応じて、バスマスタからのリクエストを制御する基準（調停テーブル２６）を変更していたのに対し、ＣＰＵ３が生成した画像データの解像度に応じて、バスマスタのリクエストを制御する基準を変更するように構成している。なお、本発明の第２の実施形態の説明において、第１の実施形態と同じ構成については同じ符号を用いることとする。また、以下の説明では、第１の実施形態と異なる点を中心に説明する。
【００６３】
さて、本第２の実施形態のプリンタコントローラ９の構成は、第１の実施形態のものと、調停テーブル２６のデータ構造が異なる以外は、図１、図２で示したものと同じである。
【００６４】
次に、第２の実施形態のメモリ制御回路１が有する調停テーブル２６について説明する。図４は、本発明の第２の実施形態のメモリ制御回路１が有する調停テーブル２６のデータ構造を模擬的に示したものである。調停テーブル２６は、連続リクエスト設定ＴＢ４０と、優先順位ＴＢ４５とを有している。
【００６５】
連続リクエスト設定ＴＢ４０には、ＣＰＵ３が生成した１ページ分の画像データの解像度に応じて、画像処理回路４に他のバスマスタから優先して与える、連続リクエスト受付け回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定ＴＢ４０は、解像度の範囲を示すデータ（図示する例では、３つのグループに分類している）を格納するエントリ４１と、エントリ４１に対応付けて画像処理回路４に与える連続リクエスト回数を格納するエントリ４２と、エントリ４１に対応付けて画像処理回路４に与える連続リクエスト受付時間を格納するエントリ４３と、該生成した画像データの解像度がエントリ４１のどのグループに属するかを示すためのデータ（該当する解像度が属するグループに対応するエントリには「１」を格納し、それ以外には「０」を格納する）を格納するエントリ４４と、を有している。
【００６６】
また、優先順位ＴＢ４５には、ＣＰＵ３が生成した画像データの解像度（ページ単位）に応じて、バスマスタ（画像処理回路４、ＣＰＵ３、Ｉ／Ｏ制御回路５）が、同時にＲＡＭ２にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位ＴＢ４５は、解像度の範囲を示すデータ（図示する例では、３つのグループに分類している）を格納するエントリ４６と、エントリ４６に対応付けて、同時にＲＡＭ２に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ４７と、生成した解像度がエントリ４６のどのグループに属するかを示すためのデータ（生成した１ページの画像データの解像度が属するグループに対応するエントリには「１」を格納し、それ以外には「０」を格納する）を格納するエントリ４８と、を有している。
【００６７】
このように、本発明の第２の実施形態において、メモリ制御回路１が行うバスマスタからのリクエストを調停するための基準を、生成した画像データの解像度に基づいて変更するようにしているのは、解像度により画像処理回路４のために確保しなければならないバス帯域が異なるからである。すなわち、解像度が高い場合には、画像処理回路４からのリードリクエストが多くなるため、連続リクエスト回数および連続占有時間を多く設定必要が有る。一方、解像度が低い場合には、画像処理回路４からのリードリクエストが少ないため、連続リクエスト回数および連続占有時間を多く設定する必要はない（プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である）。そして、画像処理回路４に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会が増加させることにより、プリンタのパフォーマンスを向上させることができる。
【００６８】
続いて、本第２の実施形態のプリンタコントローラ９が行う、メモリ制御回路１の調停テーブル２６のデータ設定処理のフローについて説明する。
【００６９】
図５は、本実施形態が適用されるプリンタコントローラ９が行うメモリ制御回路１の調停テーブル２６のデータの設定処理のフローを説明するための図である。
【００７０】
ＣＰＵ３は、最初に図３で示すステップ１と同様に、メモリ制御回路１を介してＲＡＭ２からリードした画像作成用データから１ページ分の画像データを生成し、該１ページ分の画像データを、メモリ制御回路を介してＲＡＭ２にライト（格納）する（ステップ５０）。なお、ＣＰＵ３は、ＲＡＭ２からリードした画像作成用データに含まれている印刷条件データ（ホストのプリンタドライバで指定されている印刷条件）の解像度を指示するデータに基づいて、その解像度で画像データを生成して、該解像度を示すデータを保持する。
【００７１】
そして、ＣＰＵ３は、生成した画像データの解像度（保持している解像度を示すデータ）に基づいて、図３で説明したステップ６〜スップ１２と同様の手順で、調停テーブル２６に調停データを設定する（ステップ５１）。
【００７２】
その後、図３のステップ２からステップ５と同様の処理を行う（ステップ５２〜５５）。また、ＣＰＵ３は、画像処理回路４がリードする必要がある次のバンドの画像データが有るか否かをＲＡＭ２に格納されている１ページ分の画像データから判断する。そして、ＣＰＵ３は、リードする必要がある次のバンドの画像データがあると判断した場合には、ステップ５２に戻り、上記と同様の処理を繰り返す。一方、ＣＰＵ３は、リードする必要がある次のバンドの画像データがないと判断した場合には、ステップ５０に戻り、上記と同様の処理を繰り返す（ステップ１１）。
【００７３】
このように、本第２の実施形態によれば、メモリ制御回路１が行うバスマスタのＲＡＭ２に対するリクエスの調停基準（調停テーブル２６のデータ）が、ＣＰＵ３が生成した画像データの解像度に応じて設定されるように構成されている。このため、上記画像データの解像度に応じて、画像処理回路４のために優先的に割り当てるバス帯域を変更できる。そのため、プリンタのオーバランの発生を防止するために画像処理回路４に割り当てるバス帯域を最適なものに設定することができるため（解像度が高い場合は、画像処理回路４からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、解像度が低い場合には、画像処理回路４からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する）、オーバランを防止するために生じるプリンタのパフォーマンス低下を防止することが出来る。
【００７４】
続いて、本発明の第３の実施形態を説明する。本発明の本第３実施形態は、本発明の第１の実施形態とメモリ制御回路１が有する調停テーブル２６のデータ構造および調停テーブル２６を設定する処理が異なる以外は同じである。具体的には、本発明の第３の実施形態は、上記第１の実施形態が画像処理回路４のリードした画像データ（バンド単位）の圧縮率に応じて、バスマスタからのリクエストを制御する基準（調停テーブル２６）を変更していたのに対し、本発明の第３の実施形態では、プリンタの印刷エンジン７が有する印刷速度に応じて、バスマスタのリクエストを制御する基準を変更するようにしている。なお、本発明の第３の実施形態の説明において、上記第１の実施形態と同じ構成については同じ符号を用いることとする。また、以下の本発明の第３の実施形態の説明では、第１の実施形態と異なる部分を中心に説明する。
【００７５】
本発明の第３の実施形態のプリンタコントローラ９の構成は、第１の実施形態のものと、調停テーブル２６のデータ構造が異なる以外は、図１、図２で示したものと同じである。
【００７６】
次に、本発明の第３の実施形態のメモリ制御回路１が有する調停テーブル２６について説明する。図６は、本発明の第３の実施形態のメモリ制御回路１が有する調停テーブル２６のデータ構造を模擬的に示したものである。調停テーブル２６は、連続リクエスト設定ＴＢ５０と、優先順位ＴＢ５５とを有している。
【００７７】
連続リクエスト設定ＴＢ５０には、印刷エンジン７が印刷処理で発揮することができる印刷速度に応じて、画像処理回路４に他のバスマスタから優先して与える、連続リクエスト受付ける回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定ＴＢ５０は、印刷速度の範囲を示すデータ（図示する例では、３つのグループに分類している）を格納するエントリ５１と、エントリ５１に対応付けて画像処理回路４に与える連続リクエスト回数を格納するエントリ５２と、エントリ５１に対応付けて画像処理回路４に与える連続リクエスト受付時間を格納するエントリ５３と、印刷エンジン７の印刷速度がエントリ５１のどのグループに属するかを示すためのデータ（印刷エンジン７の印刷速度が属するグループに対応するエントリには「１」を格納し、それ以外には「０」を格納する）を格納するエントリ５４を有している。
【００７８】
また、優先順位ＴＢ５５には、印刷エンジン７の印刷速度に応じて、バスマスタ（画像処理回路４、ＣＰＵ３、Ｉ／Ｏ制御回路５）が、同時にＲＡＭ２にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位ＴＢ５５は、印刷エンジン７の印刷速度の範囲を示すデータ（図示する例では、３つのグループに分類している）を格納するエントリ５６と、エントリ５６に対応付けて、同時にＲＡＭ２に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ５７と、印刷エンジン７の印刷速度がエントリ５６のどのグループに属するかを示すためのデータ（印刷エンジン７の印刷速度が属するグループに対応するエントリには「１」を格納し、それ以外には「０」を格納する）を格納するエントリ５８と、を有している。
【００７９】
このように、メモリ制御回路１が行うバスマスタからのリクエストを調停するための基準を、印刷エンジン７の印刷速度に基づいて、変更するようにしているのは、印刷エンジン７の印刷速度により画像処理回路４のために確保しなければならないバス帯域が異なるからである。すなわち、印刷速度が速い場合には、画像処理回路４からのリードリクエストが多くなるため、連続リクエスト回数および連続占有時間を多く設定必要が有る。一方、印刷速度が遅い場合には、画像処理回路４からのリードリクエストが少ないため、連続リクエスト回数を多く設定する必要はない（プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である）。そして、画像処理回路４に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会が増加させることにより、プリンタのパフォーマンスを向上させることができる。
【００８０】
続いて、本第３の実施形態のプリンタコントローラ９が行う、メモリ制御回路１の調停テーブル２６のデータ設定処理のフローを説明する。本第３の実施形態のプリンタコントローラの調停テーブル２６のデータ設定処理は、図５で示した第２の実施形態のものと、調停テーブル２６にデータを設定するタイミングが異なる以外は同じである。
【００８１】
本第３の実施形態では、プリンタの電源が投入された場合に、ＣＰＵ３が、印刷エンジン７から印刷速度データを取得する。なお、本実施形態では、印刷速度データを取得する処理について特に限定しない。例えば、印刷エンジン７の所定の領域に、自身の印刷速度を示すデータを格納しておいて、ＣＰＵ３が、画像処理回路４を介して、印刷エンジン７の所定の領域から印刷速度データを取得するようにしてもよい。そして、ＣＰＵ３は、取得した印刷速度に対応するデータを調停テーブル２６に格納する。その後は、図５で示す、ステップ５０、５２〜５６と同じ処理を行う。
【００８２】
このように、本第３の実施形態によれば、メモリ制御回路１が行うバスマスタのＲＡＭ２に対するリクエスの調停基準（調停テーブル２６のデータ）が、
印刷エンジンの印刷速度に応じて設定されるように構成されている。このため、印刷エンジン７の印刷速度に応じて、画像処理回路４のために優先的に割り当てるバス帯域を変更できる。したがって、プリンタのオーバランの発生を防止するために画像処理回路４に割り当てるバス帯域を最適なものに設定することができるため（印刷速度が速い場合には、画像処理回路４からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、印刷速度が遅い場合には、画像処理回路４からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する）、オーバランを防止するために、生じるプリンタのパフォーマンス低下を防止することが出来る。
【００８３】
このように、上述の本発明の実施形態によれば、メモリ制御回路１のバスマスタからのリクエストの調停基準が、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度のいずれかに対応して設定されるように構成されている。したがって、プリンタのオーバランの発生を防止するために画像処理回路４に割り当てるバス帯域を最適なものに設定することができる。そのため、プリンタのオーバランを防止して、かつ、そのオーバランを防止するために生じるプリンタのパフォーマンスの低下を防止することができる。
【００８４】
すなわち、例えば、本発明によれば、画像データが少ない場合（圧縮率が高い場合）等には、ＣＰＵ等の他のバスマスタにバス帯域を多く割り当てることができるため、プリンタ全体のパフォーマンスが向上する（例えば、ＣＰＵは、次のページの画像データを早く生成することが出来る）。
【００８５】
また、バス帯域の少ないプリンタコントローラであっても、印刷処理に必要な最大限のバス帯域を画像処理回路に割り当てることができるため、印刷速度が速いプリンタエンジンを制御することができる。このため、印刷速度の速いプリンタの省電力化、ローコスト化を図ることができる。
【００８６】
このように、本発明によれば、バス帯域の少ないプリンタコントローラのパフォーマンスを向上させることができる。
【００８７】
なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、上記実施形態は、メモリ制御回路１のバスマスタからのリクエストの調停基準として、画像処理回路１に他のバスマスタから優先して与える連続リクエスト回数、連続占有時間、および優先順位の３つの要素の全てを適用する例を説明しているが、これらの３要素を、いずれか１つ、または、それぞれ組合せたものであることとしてもよい。
【００８８】
また、上記実施形態では、メモリ制御回路１のバスマスタからのリクエストの調停基準として、画像処理回路１に他のバスマスタから優先して与える連続リクエスト回数、連続占有時間を設定する例を説明したが、例えば、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度に応じて、他のバスマスタ（ＣＰＵ等）に連続リクエスト回数、連続占有時間を与えるように設定するように構成されていてもよい。
【００８９】
また、本実施形態の説明では、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度のそれぞれに対応して、メモリ制御回路１のバスマスタからのリクエストの調停基準が設定されるように構成されているが、これらを、それぞれ組合せて調停基準を設定するようにしてもよい。
【図面の簡単な説明】
【図１】本発明の実施形態のプリンタコントローラの構成の一例を示す図。
【図２】本発明の実施形態のメモリ制御回路の構成の一例を示す図。
【図３】メモリ制御回路１の調停テーブル２６への設定処理のフロー図。
【図４】第２の実施形態の調停テーブル２６データ構造を模擬的に示す図。
【図５】第２の実施形態の調停テーブル２６への設定処理のフロー図。
【図６】第３の実施形態の調停テーブル２６データ構造を模擬的に示す図。
【符号の説明】
１…メモリ制御回路、２…ＲＡＭ、３…ＣＰＵ、４…画像処理回路、５…Ｉ／Ｏ制御回路、６…ＲＯＭ、７…印刷エンジン、８…外部Ｉ／Ｆ、９…プリンタコントローラ、１０…ＣＰＵバス、１１…メモリバス、１２…メモリバス、１３…Ｉ／Ｏバス、１４…画像処理バス、２１…Ｉ／Ｏ制御回路バス制御部、２２…ＣＰＵバス制御部、２３…画像制御回路バス制御部、２４…ＲＡＭバス制御部、２５…選択回路、２６…調停テーブル、３０…連続リクエスト設定ＴＢ、３１…優先順位ＴＢ、４０…連続リクエスト設定ＴＢ、４５…優先順位ＴＢ、５０…連続リクエスト設定ＴＢ、５５…優先順位ＴＢ
【図１】
2004284056.tif 000003
【図２】
2004284056.tif 000004
【図３】
2004284056.tif 000005
【図４】
2004284056.tif 000006
【図５】
2004284056.tif 000007
【図６】
2004284056.tif 000008