JP2004284056A - プリンタコントローラ、プリンタコントローラのリクエスト調停方法 - Google Patents
プリンタコントローラ、プリンタコントローラのリクエスト調停方法 Download PDFInfo
- Publication number
- JP2004284056A JP2004284056A JP2003075867A JP2003075867A JP2004284056A JP 2004284056 A JP2004284056 A JP 2004284056A JP 2003075867 A JP2003075867 A JP 2003075867A JP 2003075867 A JP2003075867 A JP 2003075867A JP 2004284056 A JP2004284056 A JP 2004284056A
- Authority
- JP
- Japan
- Prior art keywords
- data
- control circuit
- request
- image
- image processing
- 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.)
- Pending
Links
Images
Abstract
【課題】バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図ることを目的とする
【解決手段】I/O制御回路5、CPU3および画像処理回路4からRAM2に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいてRAM2に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路1を有するプリンタコントローラに、前記メモリ制御回路1が前記画像処理回路4から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得する手段と、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する手段とを設ける。
【選択図】 図1
【解決手段】I/O制御回路5、CPU3および画像処理回路4からRAM2に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいてRAM2に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路1を有するプリンタコントローラに、前記メモリ制御回路1が前記画像処理回路4から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得する手段と、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する手段とを設ける。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ページプリンタのコントローラに関し、特に、ページプリンタのコントローラが有するメモリのデータバスを調停する技術に関する。
【0002】
【従来の技術】
レーザプリンタ等のページプリンタ(以下において「プリンタ」という)は、印刷処理を実行するために、CPU(中央処理装置)、メモリ制御回路、I/O制御回路、メモリ、画像処理回路等、およびこれらを接続するバスから構成されるプリンタコントローラを搭載している。
【0003】
このプリンタコントローラでは、I/O制御回路がホストから送信される画像作成用データを受信してメモリに格納し、CPUが該格納した画像作成用データから画像データを生成してメモリ上に展開する。そして、1ページ分の画像データがメモリ上に展開された場合、画像処理回路は、この展開した1ページ分の画像データを複数に分割したバンド単位で印刷可能な印刷データに変換して、印刷エンジンに送信する。また、メモリ制御回路は、I/O制御回路が画像作成用データを格納するためのメモリへのリクエスト、CPUが画像データをメモリに展開するために行うメモリへのリクエストおよび画像処理回路が印刷データを印刷エンジンに送信するために行うメモリへのリクエストが重複して発生する場合にそのリクエストの調停を行っている(例えば、CPUがメモリにアクセス中に、画像処理回路がメモリへのリクエストした場合、画像処理回路は、CPUのアクセスが終了するまで待つように調停する)。
【0004】
また、画像処理回路では、上述のように、バンド単位で印刷エンジンに印刷データを出力している。そのため、あるバンドを印刷し終えてそれに続くバンドを印刷する場合に、次に続くバンドの印刷データを生成し終えていないと、印刷エンジンに印刷データが送信できなくなり、プリンタでオーバランが生じることになる。したがって、メモリ制御回路は、オーバランが生じないようにメモリへのリクエストを調停する必要がある。
【0005】
従来のプリンタコントローラには、印刷データを印刷エンジンに送信するためのメモリへのリクエスト(画像処理回路からのリクエスト)を、他のバスマスタ(例えばCPU)からのリクエストより優先して制御するものがある(例えば特許文献1)。この技術によれば、印刷データの印刷エンジンへの送信が、最優先されるため、オーバランを確実に防止することができる。
【特許文献1】
特開平7−178973号公報
【0006】
【発明が解決しようとする課題】
しかしながら、上記特許文献1の技術では、画像処理回路からのリクエストが優先されるため、例えば、CPUがメモリに連続したリクエストを要求している際に、画像処理回路がメモリにリクエストをした場合、必ず、CPUの処理は中断される。例えば、上記CPUの連続したリクエストに対する処理を待ってから画像処理回路のリクエストを許可してもオーバランが生じない場合あっても、CPUの処理は中断される。そのため、必要以上にCPUのリクエストが制限される場合があり、プリンタのパフォーマンスが低下するという問題を有している。
なお、プリンタコントローラのバス幅を広げることや、高周波数化する方法により上記問題を解決する方法もあるが、その場合は、高コスト化および消費電力の増加を招くという問題を有している。
【0007】
そこで、本発明は、バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図ることを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するため、本発明の一態様が適用されるプリンタコントローラは、画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、外部から送信される画像作成用データを受け付ける入出力制御回路と、前記画像作成用データから圧縮した画像データを生成する中央処理装置と、前記画像データを印刷データに変換する画像処理回路と、前記画像作成用データおよび前記画像データを格納する記憶装置と、前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有して構成される。
【0009】
そして、前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する。
【0010】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、画像処理回路からのリクエストに応じて読み出した画像データの圧縮率に対応して変更されるように構成されている。すなわち、メモリ制御回路は、圧縮率に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、画像データの圧縮率により、メモリ制御回路が行う調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、圧縮率が所定の値より低い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、圧縮率が所定の値より高い場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会を増加させることができる。
【0011】
また、前記中央処理装置は、前記生成する画像データの解像度を取得し、該取得した解像度に対応させて前記メモリ制御回路の前記所定の優先基準を変更することしてもよい。
【0012】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、生成する画像データの解像度に対応して変更されるように構成されている。すなわち、メモリ制御回路は、解像度に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、画像データの解像度により、メモリ制御回路が行う調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、解像度が所定の値より高い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、解像度が所定の値より低いい場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会増加させることができる。
【0013】
また、前記中央処理装置は、前記印刷エンジンから該印刷エンジンが有する印刷速度データを取得して、前記取得した印刷速度データに応じて前記メモリ制御回路の前記所定の優先基準を変更することとしてもよい。
【0014】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、印刷エンジンの印刷速度に対応して変更されるように構成されている。すなわち、メモリ制御回路は、印刷エンジンの印刷速度に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、印刷エンジンの印刷速度に応じてメモリ制御回路が行うリクエストの調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、印刷速度が所定の値より速い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、印刷速度が所定の値より遅い場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会増加させることができる。
【0015】
また、前記所定の優先基準とは、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト回数、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト時間および前記メモリ制御回路が、前記入出力制御回路、前記中央処理装置および画像処理回路から、同時にリクエストを受け付けた場合のリクエストを受け付ける優先順位のいずれか1つ、または、該リクエスト回数、該リクエスト時間および該優先順位をそれぞれ組合せたものであることとしてもよい。また、前記優先基準を変更するとは、前記リクエスト回数および前記リクエスト時間を増減させることおよび前記入出力制御回路、前記中央処理装置および画像処理回路の優先順位を入れ替えることであることとしてもよい。
【0016】
このように、本発明によれば、画像データの圧縮率、解像度および印刷速度のいずれかに基づいて、メモリ制御回路が行うリクエストの調停を最適なものとすることができる。そのため、画像処理回路が記憶装置にリクエストする回数が多い場合(圧縮率が低い場合等)には、画像処理回路からのリクエストを優先させるように調停することで、バス帯域の狭いプリンタコントローラであっても、プリンタのオーバランを防止することができる。
【0017】
また、画像処理回路が記憶装置にリクエストする回数が少ない場合(圧縮率が高い場合等)には、上記のリクエスト回数が多い場合に比べて、画像処理回路からのリクエストの優先度を下げることで、プリンタのパフォーマンスを向上させることができる(中央処理装置等がメモリにリクエスト出来る機会が増えるため)。
【0018】
すなわち、本発明によれば、バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図るこができる。
【0019】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【0020】
最初に、本発明の第1の実施形態について説明する。
【0021】
図1は、本発明の第1の実施形態が適用されたプリンタコントローラの構成を説明するためのブロック図である。図示するように、プリンタコントローラ9は、メモリ制御回路1と、RAM(Random Access Memory)2と、CPU(中央処理装置)3と、画像制御回路4と、I/O制御回路5と、ROM(Read Only Memory)6と、を有する。
【0022】
そして、CPU3とメモリ制御回路1とはCPUバス10を介して接続され、メモリ制御回路1とRAM2とはメモリバス12を介して接続され、メモリ制御回路1とROM6とはメモリバス11を介して接続されている。また、メモリ制御回路1とI/O制御回路5とはI/Oバス13を介して接続され、メモリ制御回路1と画像処理回路4とは画像処理バス14を介して接続されている。
【0023】
I/O制御回路5は、複数種(例えば、USB(Universal Serial Bus)、パラレルインタフェース、ネットワークインタフェース等)の外部インタフェース8に接続可能に構成されており、外部インタフェース8を介して、ホスト(図示せず)等と行うデータの送受信を制御する(例えば、I/O制御回路5は、外部インタフェース8を介してホストに接続される)。また、ホストは、ワードプロセッサ等のアプリケーションプログラムによって作成されたドキュメントを、プリンタが解釈可能な画像作成用データに変換した後、外部インタフェース8を介してI/O制御回路5に送信する。画像処理回路4は、印刷処理を実行する印刷エンジン7に接続される。印刷エンジン7は、レーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等により構成される。
【0024】
また、本実施形態では、メモリ制御回路1、画像制御回路4およびI/O制御回路5は、ASIC(Application Specific Integrated Circuit)で構成されているものとする。
【0025】
続いて、プリンタコントローラ9の上記構成の各機能について説明する。
【0026】
RAM2は、例えば、SDRAM(Synchronous DRAM)により構成され、プリンタコントローラ3が受信した画像作成用データや、後述するCPU3が作成した画像データ等を格納する領域を備えている。I/O制御回路5は、ホストが送信した画像作成用データを、メモリ制御回路1を介してRAM2に格納する。
【0027】
CPU3は、プリンタコントローラ9についての各種の処理を行う中央処理装置である。例えば、CPU3は、RAM2に格納されている画像作成用データを、メモリ制御回路1を介して読み出し、該画像作成用データから画像データを生成し、メモリ制御回路1を介して、RAM2に書き込む(格納する)。なお、RAM2に格納する画像データは、圧縮して格納されるものとする。
【0028】
画像処理回路4は、内部バッファを備えており、RAM2に格納された画像データを読み出して印刷データに変換する処理を行う。具体的には、RAM2に1ページ分の画像データが格納された場合に、1ページ分の画像データを複数に分割したバンド単位で、該画像データをRAM2から読み出して解凍する(画像データは圧縮されているため)。そして、画像処理回路4は、解凍した画像データを印刷可能な印刷データに変換してからバンド単位で印刷エンジン7に出力する。なお、画像処理回路4は、1ページ分の画像データを印刷データに変換して印刷エンジンに送信するまで、この処理を繰り返す。なお、以下において、RAM2に各データを書き込む処理(格納する処理)を「ライト」といい、RAM2から各データを読み出す処理を「リード」ということとする。
【0029】
ROM6は、プリンタコントローラ9を制御するためのプログラム、フォントデータ等を格納する不揮発性メモリで構成されている。
【0030】
メモリ制御回路1は、RAM2へのアクセスする際のアドレス変換処理、リード命令およびライト命令の生成処理、バスの制御等を行う。すなわち、メモリ制御回路1は、CPU3、画像処理回路4、I/O制御回路5の3つのバスマスタからのリクエスト(リードリクエストまたはライトリクエスト)を受け付けて、そのリクエストをRAM2に出力するように構成されている。そのため、バスマスタ(CPU3、I/O制御回路5、画像処理回路4)は、メモリ制御回路1に対して、RAM2に対するリクエスト(リード命令又はライト命令)をそれぞれ行い、メモリ制御回路1を経由してRAM2に格納されているデータをリードし、または、RAM2にデータをライトすることとなる。
【0031】
また、メモリ制御回路1は、3つのバスマスタからそれぞれ送られるリクエストを重ねて受け付けた場合に、受け付けたリクエストを調停して、1つのリクエストをRAM2に出力するように構成されている。具体的には、メモリ制御回路1は、後述する調停テーブル(図1では図示せず)を有しており、画像処理回路4からリクエストを受け付けた場合に、調停テーブルに格納されているデータに基づいて、受け付けたリクエストを調停して、1つのリクエストをRAM2に出力する。また、この調停テーブルは、CPU3が、RAM2に格納されている画像データの圧縮率に応じて設定するように構成されている。そのため、メモリ制御回路1は、CPU3が生成した画像データの圧縮率に応じて、バスマスタからのリクエストの調停を行うことができる。なお、この調停テーブルのデータ構造については、後段で詳細に説明する。
【0032】
また、本実施形態は、バスマスタが3種類(CPU3、画像処理回路4、I/O制御回路5)である場合を例に説明しているが、特にこれに限定するものではない。例えば、アクセラレータ等の回路がバスマスタとして追加される構成としてもよい。また、画像制御回路4がメモリ制御回路1と一体化されて構成されていてもよい。
【0033】
続いて、図1に示すS1〜S4(本図中では信号の流れを示す)を用いてプリンタコントローラ9のデータの流れの概略を説明する。
【0034】
最初に、I/O制御回路5が、外部インタフェース8を介してホストから受信した画像作成用データをRAM2にライト(格納)する場合を説明する。I/O制御回路5は、外部インタフェース8を介して画像作成用データを受信した場合、メモリ制御回路1に対して、リクエストと同時にアドレス信号、ライト命令およびライトデータをI/Oバス13を介して出力する(S1)。そして、上記リクエストを受け付けたメモリ制御回路1は、RAM2に対して、アドレス、ライト命令およびライトデータを、メモリバス12を介して出力し、ライトデータをRAM2にライト(格納)する(S3)。
【0035】
次に、CPU3がRAM2に格納されている画像作成用データをリードする場合を説明する。CPU3は、メモリ制御回路1に対して、リクエストと同時にアドレス信号およびリード命令を、CPUバス10を介して出力する(S2)。そして、上記リクエスト信号を受けたメモリ制御回路1は、RAM2に対して、アドレス信号およびリード命令を、メモリバス12を介して出力する。その後、RAM2は、入力されたアドレス信号およびリード命令に基づいて、リードデータ(画像作成用データ)をメモリ制御回路1に出力する(S3)。メモリ制御回路1は、RAM2からリードデータ(画像作成用データ)を出力し、該リードデータをCPU3に出力する(S2)。その後、CPU3は、リードデータ(画像作成用データ)から画像データを生成し、該生成した画像データを、上述したライト処理と同様の手順でRAM2にライト(格納)する。
【0036】
続いて、画像処理回路4が、RAM2に格納された画像データをリードする場合を説明する。画像処理回路4は、RAM2に1ページ分の画像データが格納された場合に、メモリ制御回路1に対して、リクエストと同時にアドレス信号およびリード命令(1ページ分の画像データを複数に分割したバンド単位の画像データを読み出す命令)を、画像処理バス14を介して出力する(S4)。そして、上記リクエスト信号を受けたメモリ制御回路1は、RAM2に対して、アドレス信号およびリード命令を、メモリバス12を介して出力する。その後、メモリ制御回路1は、RAM2からリードデータ(バンド単位の画像作成用データ)を出力して、該リードデータを、画像処理回路4に出力する(S4)。また、画像処理回路4は、リードしたバンド単位の画像データを解凍し(画像データは圧縮されているため)、印刷可能な印刷データに変換してからバンド単位で印刷エンジンに送信する。その後、画像処理回路4は、1ページ分の画像データを印刷データに変換して印刷エンジンに送信するまで、この処理を繰り返す。
【0037】
続いて、メモリ制御回路1が行うバスマスタからのRAM2へのリクエストの制御について図2を用いて説明する。
【0038】
図2は、本発明の第1の実施形態が適応されるメモリ制御回路1の内部構成を示すブロック図である。図示するように、メモリ制御回路1は、I/O制御回路バス制御部21と、CPUバス制御部22と、画像制御回路バス制御部23と、RAMバス制御部24と、タイマ(図示せず)と、を有している。
【0039】
I/O制御回路バス制御部21は、I/O制御回路5からのRAM2に対するリクエスト(S1)を受けて、RAMバス制御部24に該リクエストを出力する。
CPUバス制御部22は、CPU3からのRAM2に対するリクエスト(S2)を受けて、RAMバス制御部24に該リクエストを出力する。また、画像処理回路バス制御部23は、画像処理回路4からのRAM2に対するリクエスト(S4)を受けて、RAMバス制御部24に該リクエストを出力する。
【0040】
RAMバス制御部24は、バスマスタ(CPU3、画像処理回路4、I/O制御回路5)から受け付けたリクエストを調停して、1つのバスマスタのリクエストを選択してRAM2に出力する選択回路25と、バスマスタからのリクエストを調停するための基準データが格納されている調停テーブル26と、を有している。また、調停テーブル26は、連続リクエスト設定TB30と、優先順位TB31とを有している。
【0041】
連続リクエスト設定TB30には、画像処理回路4がRAM2からリードした画像データ(バンド単位)の圧縮率に応じて、画像処理回路4に他のバスマスタから優先して与える、連続リクエスト受付け回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定TB30は、圧縮率の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ33と、エントリ33に対応付けて画像処理回路4に与える連続リクエスト回数を格納するエントリ34と、エントリ33に対応付けて画像処理回路4に与える連続占有時間を格納するエントリ35と、リードした画像データの圧縮率がエントリ33のどのグループに属するかを示すためのデータ(リードしたバンドの圧縮率が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ36と、を有している。例えば、図示する例では、圧縮率の範囲を示すエントリ33の「20<圧縮率(α)<50(%)」に対応したエントリ36に「1」が格納されている。したがって、図示する例では、画像処理回路4がリードした画像データの圧縮率は、20%より大きく50%より小さい範囲であり、画像処理回路4に優先して与えられる、連続リクエスト回数が「2回」で、与えられる連続占有時間が「Y秒」であることを示している。なお、図示した、連続リクエスト設定TB30のデータ構造は、あくまでも例示であり、本実施形態は特にこれに限定されるものではない。例えば、連続リクエスト調停TB30のエントリ33の圧縮率の分類数を増減させてもかまわない(例えば、4つのグループに分類する)。
【0042】
また、優先順位TB31には、画像処理回路4がRAM2からリードした画像データ(バンド単位)の圧縮率に応じて、バスマスタ(画像処理回路4、CPU3、I/O制御回路5)が、同時にRAM2にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位TB31は、圧縮率の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ37と、エントリ37に対応付けて、同時にRAM2に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ38と、リードした画像データの圧縮率がエントリ37のどのグループに属するかを示すためのデータ(リードしたバンドの圧縮率が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ39を有している。
【0043】
例えば、図示する例では、圧縮率の範囲を示すエントリ37の「20<圧縮率(α)<50(%)」に対応したエントリ39に「1」が格納されている。したがって、画像処理回路4がリードした画像データの圧縮率は、20%より大きく50%より小さい範囲であり、バスマスタからRAM2に同時にリクエストが発生した場合には、「画像処理回路4」、「CPU3」、「I/O制御回路5」の順番でリクエストが受け付けられることを示している。なお、図示した、優先順位TB31のデータは、あくまでも例示であり、本実施形態は特にこれに限定されるものではない。例えば、連続リクエスト調停TB30のエントリ37の圧縮率の分類数を増減させてもかまわない。
【0044】
そして、選択回路25は、画像処理回路4からRAM2に格納されている画像データ(バンド単位)のリードリクエストを受け付けた場合には、連続リクエスト設定TB30の該当する連続リクエスト回数分(「1」が格納されているエントリ35に対応するエントリ34に格納されている回数)のリクエストを、画像処理回路4から受け付けるまでは、他のバスマスタ(CPU3、I/O制御回路5)からのリクエストは受け付けないように構成されている。さらに、選択回路25は、画像処理回路4からRAM2に格納されている画像データ(バンド単位)のリードリクエストを受け付けた場合、内部タイマにより時間を計測して、エントリ35に格納されている連続占有時間が経過するまで、他のバスマスタからのリクエストを、受け付けないように構成されている。
【0045】
例えば、図2で示す例では、選択回路25は、画像処理回路4からリクエストを受け付けた場合には、その後、画像処理回路4からのリクエストを「2回」受け、かつ、画像データ(バンド単位)のリードリクエストを受け付けてから「Y秒」を経過するまでは、他のバスマスタからのリクエストは受け付けない。
【0046】
さらに、選択回路25、複数のバスマスタから同時にRAM2に対するリクエストを受けた場合には、優先順位TB31の該当するエントリ38に格納された優先順位(「1」が格納されているエントリ39に対応するエントリ38に格納されている優先順位)によりリクエストを受け付けるように構成されている。
【0047】
また、連続リクエスト設定TB30のエントリ36および優先順位TB31のエントリ39に格納するデータは、画像処理回路4が画像データ(バンド単位の画像データ)をRAM2からリードする場合に、CPU3が設定する(CPU3がROM6に格納されている所定の設定プログラムをロードして実行して設定する)。具体的には、CPU3は、画像処理回路4が画像データ(バンド単位)をRAM2からリードする際に、該画像データ(バンド単位)の圧縮率を取得する。そして、CPU3は、該取得した圧縮率に基づいて連続リクエスト設定TB30のエントリ36および優先順位TB31のエントリ39に該当するデータを格納する(例えば、CPU3が取得した圧縮率が「55%」である場合には、CPU3は、エントリ33の「α≧50%」に対応するエントリ36(エントリ39)に「1」を格納し、他のエントリ36(エントリ39)に「0」を格納する)。なお、CPU3の連続リクエスト設定TB30および優先順位TB31のデータの設定処理については後段で詳細に説明する。
【0048】
このように調停テーブル26に格納されているデータを、画像処理回路4がリードするバンド単位の画像データの圧縮率に対応付けているのは、圧縮率により、プリンタのオーバランを防止するために、画像処理回路4のために確保しなければならないバス帯域が異なるからである。そして、画像処理回路4に割り当てるバス帯域と他のバスマスタに割り当てるバス帯域とを圧縮率に応じて、調停することで、プリンタのオーバランを防止し、かつ、プリンタのパフォーマンスを向上させることができる。
【0049】
すなわち、画像処理回路4がリードした画像データの圧縮率が低い場合には、画像処理回路4からRAM2に対するリードリクエストの回数は多くなる(画像処理回路4がリードする必要がある1ページ分の画像データ数が多いため)。そのため、プリンタのオーバランを防止するため、他のバスマスタから優先して、画像処理回路4にバス帯域を割り当てる必要がある。一方、画像処理回路4がリードした画像データの圧縮率が高い場合には、画像処理回路4が行うRAM2へのリードリクエストの回数は少なくなる(画像処理回路4がリードする必要がある1ページ分の画像データ数は少なくなるため)。したがって、画像処理回路4に割り当てるバス帯域を、圧縮率が低い場合と同じのように確保する必要なない(プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である)。そして、画像処理回路4に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会を増加させることにより、プリンタのパフォーマンスを向上させることができる。
【0050】
続いて、本実施形態のプリンタコントローラ9が行う、メモリ制御回路1の調停テーブル26のデータ設定処理のフローについて説明する。
【0051】
図3は、本実施形態が適用されるプリンタコントローラ9が行うメモリ制御回路1の調停テーブル26のデータの設定処理のフローを説明するための図である。
【0052】
最初に、CPU3は、メモリ制御回路1を介してRAM2からリードした画像作成用データから1ページ分の画像データを生成し、該生成した画像データを、所定の規則に基づいてバンド単位で圧縮する。そして、CPU3は、該1ページ分の圧縮した画像データを、メモリ制御回路1を介してRAM2にライト(格納)する(ステップ1)。
【0053】
続いて、CPU3は、RAM2に格納されている1ページ分の画像データから、画像処理回路4に指示するDMA(Direct Memory Access)処理の対象のバンドの画像データ(画像処理回路4は1ページ分の画像データを複数に分割したバンド単位で画像データをリードする)の情報(画像データの転送先および転送元のアドレス、バンド単位の画像データの圧縮率等)を取得する(ステップ2)。なお、本実施形態では、画像データの圧縮率を取得する方法については特に限定しない。例えば、CPU3は、ステップ1において、バンド単位の圧縮率を算出してから(例えば、圧縮前のデータと圧縮後のデータとから圧縮率を求める)、該算出したバンド毎の圧縮率を画像データに関連付けてRAM2に格納しておく。そして、CPU3は、RAM2に格納されている該当する圧縮率をリードすることにより、バンド単位の圧縮率を取得するようにしてもよい。
【0054】
そして、CPU3は、ステップ2で取得した画像データの転送先および転送元のアドレス情報を画像処理回路4の所定の領域に設定する(ステップ3)。また、CPU3は、画像処理回路4にDMAの開始を指示するデータを画像処理回路4の所定の領域に設定する(ステップ4)。
【0055】
ステップ4で、DMAの開始の設定を受けた画像処理回路4は、CPU3に割り込みを発生させ、メモリ制御回路1にステップ3で設定されたバンドの画像データのリードリクエストをして、RAM2からリクエストしたバンドの画像データのリードを行う(ステップ5)。
【0056】
その後、CPU3は、ステップ2で取得した画像データの圧縮率を判断し(ステップ6)、メモリ制御回路1の調停テーブル26の連続リクエスト設定TB30および優先順位TB31の設定を行う。具体的には、CPU3は、取得した圧縮率が「50%以上」である場合には、連続リクエスト設定TB30のエントリ33の「α≧50(%)」に対応するエントリ36および優先順位TB31のエントリ37の「α≧50(%)」に対応するエントリ39に「1」を格納し、他のエントリ36およびエントリ39には「0」を格納する(ステップ7、10)。
【0057】
また、CPU3は、取得した圧縮率が「20%より高く50%より低い」場合には、連続リクエスト設定TB30のエントリ33の「20<α<50(%)」に対応するエントリ36および優先順位TB31のエントリ37の「20<α<50(%)」に対応するエントリ39に「1」を格納し、他のエントリ36およびエントリ39には「0」を格納する(ステップ8、11)。
【0058】
また、CPU3は、取得した圧縮率が「20%以下」である場合には、連続リクエスト設定TB30のエントリ33の「α≦20(%)」に対応するエントリ36および優先順位TB31のエントリ37の「α≦20(%)」対応するエントリ39に「1」を格納し、他のエントリ36およびエントリ39には「0」を格納する(ステップ9、12)。
【0059】
その後、CPU3は、画像処理回路4がリードする必要がある次のバンドの画像データが有るか否かをRAM2に格納されている1ページ分の画像データから判断する(画像処理回路4は、1ページ分の画像データを全てリードするまで画像データをリードする必要がある。一方、既に1ページ分の画像を全てリードした場合には、リードする必要はない)。そして、CPU3は、リードする必要がある次のバンドの画像データがあると判断した場合には、ステップ2に戻り、上記と同様の処理を繰り返す。一方、CPU3は、リードする必要がある次のバンドの画像データがないと判断した場合には、ステップ1に戻り、上記と同様の処理を繰り返す(ステップ13)。
【0060】
このように、本実施形態によれば、メモリ制御回路1が行うバスマスタのRAM2に対するリクエスの調停基準(調停テーブル26のデータ)が、画像処理回路4のリードした画像データ(バンド単位)の圧縮率に応じて設定されるように構成されている。そのため、上記画像データの圧縮率に応じて、画像処理回路4のために優先的に割り当てるバス帯域を変更できる。したがって、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができる(圧縮率が低い場合は、画像処理回路4からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、圧縮率が高い場合には、画像処理回路4からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する)。
【0061】
このように、本実施形態によれば、プリンタのオーバランを防止するために生じるプリンタのパフォーマンス低下を防止することが出来る。
【0062】
続いて、本発明の第2の実施形態を説明する。本発明の本第2実施形態は、本発明の第1の実施形態とメモリ制御回路1が有する調停テーブル26のデータ構造および調停テーブル26を設定する処理が異なる以外は同じである。具体的には、本発明の第2の実施形態では、上記第1の実施形態が画像処理回路4のリードした画像データ(バンド単位)の圧縮率に応じて、バスマスタからのリクエストを制御する基準(調停テーブル26)を変更していたのに対し、CPU3が生成した画像データの解像度に応じて、バスマスタのリクエストを制御する基準を変更するように構成している。なお、本発明の第2の実施形態の説明において、第1の実施形態と同じ構成については同じ符号を用いることとする。また、以下の説明では、第1の実施形態と異なる点を中心に説明する。
【0063】
さて、本第2の実施形態のプリンタコントローラ9の構成は、第1の実施形態のものと、調停テーブル26のデータ構造が異なる以外は、図1、図2で示したものと同じである。
【0064】
次に、第2の実施形態のメモリ制御回路1が有する調停テーブル26について説明する。図4は、本発明の第2の実施形態のメモリ制御回路1が有する調停テーブル26のデータ構造を模擬的に示したものである。調停テーブル26は、連続リクエスト設定TB40と、優先順位TB45とを有している。
【0065】
連続リクエスト設定TB40には、CPU3が生成した1ページ分の画像データの解像度に応じて、画像処理回路4に他のバスマスタから優先して与える、連続リクエスト受付け回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定TB40は、解像度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ41と、エントリ41に対応付けて画像処理回路4に与える連続リクエスト回数を格納するエントリ42と、エントリ41に対応付けて画像処理回路4に与える連続リクエスト受付時間を格納するエントリ43と、該生成した画像データの解像度がエントリ41のどのグループに属するかを示すためのデータ(該当する解像度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ44と、を有している。
【0066】
また、優先順位TB45には、CPU3が生成した画像データの解像度(ページ単位)に応じて、バスマスタ(画像処理回路4、CPU3、I/O制御回路5)が、同時にRAM2にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位TB45は、解像度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ46と、エントリ46に対応付けて、同時にRAM2に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ47と、生成した解像度がエントリ46のどのグループに属するかを示すためのデータ(生成した1ページの画像データの解像度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ48と、を有している。
【0067】
このように、本発明の第2の実施形態において、メモリ制御回路1が行うバスマスタからのリクエストを調停するための基準を、生成した画像データの解像度に基づいて変更するようにしているのは、解像度により画像処理回路4のために確保しなければならないバス帯域が異なるからである。すなわち、解像度が高い場合には、画像処理回路4からのリードリクエストが多くなるため、連続リクエスト回数および連続占有時間を多く設定必要が有る。一方、解像度が低い場合には、画像処理回路4からのリードリクエストが少ないため、連続リクエスト回数および連続占有時間を多く設定する必要はない(プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である)。そして、画像処理回路4に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会が増加させることにより、プリンタのパフォーマンスを向上させることができる。
【0068】
続いて、本第2の実施形態のプリンタコントローラ9が行う、メモリ制御回路1の調停テーブル26のデータ設定処理のフローについて説明する。
【0069】
図5は、本実施形態が適用されるプリンタコントローラ9が行うメモリ制御回路1の調停テーブル26のデータの設定処理のフローを説明するための図である。
【0070】
CPU3は、最初に図3で示すステップ1と同様に、メモリ制御回路1を介してRAM2からリードした画像作成用データから1ページ分の画像データを生成し、該1ページ分の画像データを、メモリ制御回路を介してRAM2にライト(格納)する(ステップ50)。なお、CPU3は、RAM2からリードした画像作成用データに含まれている印刷条件データ(ホストのプリンタドライバで指定されている印刷条件)の解像度を指示するデータに基づいて、その解像度で画像データを生成して、該解像度を示すデータを保持する。
【0071】
そして、CPU3は、生成した画像データの解像度(保持している解像度を示すデータ)に基づいて、図3で説明したステップ6〜スップ12と同様の手順で、調停テーブル26に調停データを設定する(ステップ51)。
【0072】
その後、図3のステップ2からステップ5と同様の処理を行う(ステップ52〜55)。また、CPU3は、画像処理回路4がリードする必要がある次のバンドの画像データが有るか否かをRAM2に格納されている1ページ分の画像データから判断する。そして、CPU3は、リードする必要がある次のバンドの画像データがあると判断した場合には、ステップ52に戻り、上記と同様の処理を繰り返す。一方、CPU3は、リードする必要がある次のバンドの画像データがないと判断した場合には、ステップ50に戻り、上記と同様の処理を繰り返す(ステップ11)。
【0073】
このように、本第2の実施形態によれば、メモリ制御回路1が行うバスマスタのRAM2に対するリクエスの調停基準(調停テーブル26のデータ)が、CPU3が生成した画像データの解像度に応じて設定されるように構成されている。このため、上記画像データの解像度に応じて、画像処理回路4のために優先的に割り当てるバス帯域を変更できる。そのため、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができるため(解像度が高い場合は、画像処理回路4からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、解像度が低い場合には、画像処理回路4からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する)、オーバランを防止するために生じるプリンタのパフォーマンス低下を防止することが出来る。
【0074】
続いて、本発明の第3の実施形態を説明する。本発明の本第3実施形態は、本発明の第1の実施形態とメモリ制御回路1が有する調停テーブル26のデータ構造および調停テーブル26を設定する処理が異なる以外は同じである。具体的には、本発明の第3の実施形態は、上記第1の実施形態が画像処理回路4のリードした画像データ(バンド単位)の圧縮率に応じて、バスマスタからのリクエストを制御する基準(調停テーブル26)を変更していたのに対し、本発明の第3の実施形態では、プリンタの印刷エンジン7が有する印刷速度に応じて、バスマスタのリクエストを制御する基準を変更するようにしている。なお、本発明の第3の実施形態の説明において、上記第1の実施形態と同じ構成については同じ符号を用いることとする。また、以下の本発明の第3の実施形態の説明では、第1の実施形態と異なる部分を中心に説明する。
【0075】
本発明の第3の実施形態のプリンタコントローラ9の構成は、第1の実施形態のものと、調停テーブル26のデータ構造が異なる以外は、図1、図2で示したものと同じである。
【0076】
次に、本発明の第3の実施形態のメモリ制御回路1が有する調停テーブル26について説明する。図6は、本発明の第3の実施形態のメモリ制御回路1が有する調停テーブル26のデータ構造を模擬的に示したものである。調停テーブル26は、連続リクエスト設定TB50と、優先順位TB55とを有している。
【0077】
連続リクエスト設定TB50には、印刷エンジン7が印刷処理で発揮することができる印刷速度に応じて、画像処理回路4に他のバスマスタから優先して与える、連続リクエスト受付ける回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定TB50は、印刷速度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ51と、エントリ51に対応付けて画像処理回路4に与える連続リクエスト回数を格納するエントリ52と、エントリ51に対応付けて画像処理回路4に与える連続リクエスト受付時間を格納するエントリ53と、印刷エンジン7の印刷速度がエントリ51のどのグループに属するかを示すためのデータ(印刷エンジン7の印刷速度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ54を有している。
【0078】
また、優先順位TB55には、印刷エンジン7の印刷速度に応じて、バスマスタ(画像処理回路4、CPU3、I/O制御回路5)が、同時にRAM2にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位TB55は、印刷エンジン7の印刷速度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ56と、エントリ56に対応付けて、同時にRAM2に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ57と、印刷エンジン7の印刷速度がエントリ56のどのグループに属するかを示すためのデータ(印刷エンジン7の印刷速度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ58と、を有している。
【0079】
このように、メモリ制御回路1が行うバスマスタからのリクエストを調停するための基準を、印刷エンジン7の印刷速度に基づいて、変更するようにしているのは、印刷エンジン7の印刷速度により画像処理回路4のために確保しなければならないバス帯域が異なるからである。すなわち、印刷速度が速い場合には、画像処理回路4からのリードリクエストが多くなるため、連続リクエスト回数および連続占有時間を多く設定必要が有る。一方、印刷速度が遅い場合には、画像処理回路4からのリードリクエストが少ないため、連続リクエスト回数を多く設定する必要はない(プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である)。そして、画像処理回路4に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会が増加させることにより、プリンタのパフォーマンスを向上させることができる。
【0080】
続いて、本第3の実施形態のプリンタコントローラ9が行う、メモリ制御回路1の調停テーブル26のデータ設定処理のフローを説明する。本第3の実施形態のプリンタコントローラの調停テーブル26のデータ設定処理は、図5で示した第2の実施形態のものと、調停テーブル26にデータを設定するタイミングが異なる以外は同じである。
【0081】
本第3の実施形態では、プリンタの電源が投入された場合に、CPU3が、印刷エンジン7から印刷速度データを取得する。なお、本実施形態では、印刷速度データを取得する処理について特に限定しない。例えば、印刷エンジン7の所定の領域に、自身の印刷速度を示すデータを格納しておいて、CPU3が、画像処理回路4を介して、印刷エンジン7の所定の領域から印刷速度データを取得するようにしてもよい。そして、CPU3は、取得した印刷速度に対応するデータを調停テーブル26に格納する。その後は、図5で示す、ステップ50、52〜56と同じ処理を行う。
【0082】
このように、本第3の実施形態によれば、メモリ制御回路1が行うバスマスタのRAM2に対するリクエスの調停基準(調停テーブル26のデータ)が、
印刷エンジンの印刷速度に応じて設定されるように構成されている。このため、印刷エンジン7の印刷速度に応じて、画像処理回路4のために優先的に割り当てるバス帯域を変更できる。したがって、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができるため(印刷速度が速い場合には、画像処理回路4からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、印刷速度が遅い場合には、画像処理回路4からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する)、オーバランを防止するために、生じるプリンタのパフォーマンス低下を防止することが出来る。
【0083】
このように、上述の本発明の実施形態によれば、メモリ制御回路1のバスマスタからのリクエストの調停基準が、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度のいずれかに対応して設定されるように構成されている。したがって、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができる。そのため、プリンタのオーバランを防止して、かつ、そのオーバランを防止するために生じるプリンタのパフォーマンスの低下を防止することができる。
【0084】
すなわち、例えば、本発明によれば、画像データが少ない場合(圧縮率が高い場合)等には、CPU等の他のバスマスタにバス帯域を多く割り当てることができるため、プリンタ全体のパフォーマンスが向上する(例えば、CPUは、次のページの画像データを早く生成することが出来る)。
【0085】
また、バス帯域の少ないプリンタコントローラであっても、印刷処理に必要な最大限のバス帯域を画像処理回路に割り当てることができるため、印刷速度が速いプリンタエンジンを制御することができる。このため、印刷速度の速いプリンタの省電力化、ローコスト化を図ることができる。
【0086】
このように、本発明によれば、バス帯域の少ないプリンタコントローラのパフォーマンスを向上させることができる。
【0087】
なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、上記実施形態は、メモリ制御回路1のバスマスタからのリクエストの調停基準として、画像処理回路1に他のバスマスタから優先して与える連続リクエスト回数、連続占有時間、および優先順位の3つの要素の全てを適用する例を説明しているが、これらの3要素を、いずれか1つ、または、それぞれ組合せたものであることとしてもよい。
【0088】
また、上記実施形態では、メモリ制御回路1のバスマスタからのリクエストの調停基準として、画像処理回路1に他のバスマスタから優先して与える連続リクエスト回数、連続占有時間を設定する例を説明したが、例えば、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度に応じて、他のバスマスタ(CPU等)に連続リクエスト回数、連続占有時間を与えるように設定するように構成されていてもよい。
【0089】
また、本実施形態の説明では、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度のそれぞれに対応して、メモリ制御回路1のバスマスタからのリクエストの調停基準が設定されるように構成されているが、これらを、それぞれ組合せて調停基準を設定するようにしてもよい。
【図面の簡単な説明】
【図1】本発明の実施形態のプリンタコントローラの構成の一例を示す図。
【図2】本発明の実施形態のメモリ制御回路の構成の一例を示す図。
【図3】メモリ制御回路1の調停テーブル26への設定処理のフロー図。
【図4】第2の実施形態の調停テーブル26データ構造を模擬的に示す図。
【図5】第2の実施形態の調停テーブル26への設定処理のフロー図。
【図6】第3の実施形態の調停テーブル26データ構造を模擬的に示す図。
【符号の説明】
1…メモリ制御回路、2…RAM、3…CPU、4…画像処理回路、5…I/O制御回路、6…ROM、7…印刷エンジン、8…外部I/F、9…プリンタコントローラ、10…CPUバス、11…メモリバス、12…メモリバス、13…I/Oバス、14…画像処理バス、21…I/O制御回路バス制御部、22…CPUバス制御部、23…画像制御回路バス制御部、24…RAMバス制御部、25…選択回路、26…調停テーブル、30…連続リクエスト設定TB、31…優先順位TB、40…連続リクエスト設定TB、45…優先順位TB、50…連続リクエスト設定TB、55…優先順位TB
【発明の属する技術分野】
本発明は、ページプリンタのコントローラに関し、特に、ページプリンタのコントローラが有するメモリのデータバスを調停する技術に関する。
【0002】
【従来の技術】
レーザプリンタ等のページプリンタ(以下において「プリンタ」という)は、印刷処理を実行するために、CPU(中央処理装置)、メモリ制御回路、I/O制御回路、メモリ、画像処理回路等、およびこれらを接続するバスから構成されるプリンタコントローラを搭載している。
【0003】
このプリンタコントローラでは、I/O制御回路がホストから送信される画像作成用データを受信してメモリに格納し、CPUが該格納した画像作成用データから画像データを生成してメモリ上に展開する。そして、1ページ分の画像データがメモリ上に展開された場合、画像処理回路は、この展開した1ページ分の画像データを複数に分割したバンド単位で印刷可能な印刷データに変換して、印刷エンジンに送信する。また、メモリ制御回路は、I/O制御回路が画像作成用データを格納するためのメモリへのリクエスト、CPUが画像データをメモリに展開するために行うメモリへのリクエストおよび画像処理回路が印刷データを印刷エンジンに送信するために行うメモリへのリクエストが重複して発生する場合にそのリクエストの調停を行っている(例えば、CPUがメモリにアクセス中に、画像処理回路がメモリへのリクエストした場合、画像処理回路は、CPUのアクセスが終了するまで待つように調停する)。
【0004】
また、画像処理回路では、上述のように、バンド単位で印刷エンジンに印刷データを出力している。そのため、あるバンドを印刷し終えてそれに続くバンドを印刷する場合に、次に続くバンドの印刷データを生成し終えていないと、印刷エンジンに印刷データが送信できなくなり、プリンタでオーバランが生じることになる。したがって、メモリ制御回路は、オーバランが生じないようにメモリへのリクエストを調停する必要がある。
【0005】
従来のプリンタコントローラには、印刷データを印刷エンジンに送信するためのメモリへのリクエスト(画像処理回路からのリクエスト)を、他のバスマスタ(例えばCPU)からのリクエストより優先して制御するものがある(例えば特許文献1)。この技術によれば、印刷データの印刷エンジンへの送信が、最優先されるため、オーバランを確実に防止することができる。
【特許文献1】
特開平7−178973号公報
【0006】
【発明が解決しようとする課題】
しかしながら、上記特許文献1の技術では、画像処理回路からのリクエストが優先されるため、例えば、CPUがメモリに連続したリクエストを要求している際に、画像処理回路がメモリにリクエストをした場合、必ず、CPUの処理は中断される。例えば、上記CPUの連続したリクエストに対する処理を待ってから画像処理回路のリクエストを許可してもオーバランが生じない場合あっても、CPUの処理は中断される。そのため、必要以上にCPUのリクエストが制限される場合があり、プリンタのパフォーマンスが低下するという問題を有している。
なお、プリンタコントローラのバス幅を広げることや、高周波数化する方法により上記問題を解決する方法もあるが、その場合は、高コスト化および消費電力の増加を招くという問題を有している。
【0007】
そこで、本発明は、バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図ることを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するため、本発明の一態様が適用されるプリンタコントローラは、画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、外部から送信される画像作成用データを受け付ける入出力制御回路と、前記画像作成用データから圧縮した画像データを生成する中央処理装置と、前記画像データを印刷データに変換する画像処理回路と、前記画像作成用データおよび前記画像データを格納する記憶装置と、前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有して構成される。
【0009】
そして、前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する。
【0010】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、画像処理回路からのリクエストに応じて読み出した画像データの圧縮率に対応して変更されるように構成されている。すなわち、メモリ制御回路は、圧縮率に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、画像データの圧縮率により、メモリ制御回路が行う調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、圧縮率が所定の値より低い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、圧縮率が所定の値より高い場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会を増加させることができる。
【0011】
また、前記中央処理装置は、前記生成する画像データの解像度を取得し、該取得した解像度に対応させて前記メモリ制御回路の前記所定の優先基準を変更することしてもよい。
【0012】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、生成する画像データの解像度に対応して変更されるように構成されている。すなわち、メモリ制御回路は、解像度に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、画像データの解像度により、メモリ制御回路が行う調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、解像度が所定の値より高い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、解像度が所定の値より低いい場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会増加させることができる。
【0013】
また、前記中央処理装置は、前記印刷エンジンから該印刷エンジンが有する印刷速度データを取得して、前記取得した印刷速度データに応じて前記メモリ制御回路の前記所定の優先基準を変更することとしてもよい。
【0014】
このように、本一態様によれば、メモリ制御回路が行う、記憶装置へのリクエストを調停する所定の優先基準は、印刷エンジンの印刷速度に対応して変更されるように構成されている。すなわち、メモリ制御回路は、印刷エンジンの印刷速度に応じて、前記入出力制御回路、前記中央処理装置および画像処理回路からのリクエストの調停を行うことができる。したがって、本一態様によれば、印刷エンジンの印刷速度に応じてメモリ制御回路が行うリクエストの調停を最適なものとすることができるため、プリンタのパフォーマンスを向上させることができる。例えば、印刷速度が所定の値より速い場合には、画像処理回路の優先度を上げるように設定することで、バス帯域の少ないプリンタコントローラであっても、プリンタのオーバランを防止できる。また、例えば、印刷速度が所定の値より遅い場合には、画像処理回路の優先度を下げるように設定することで、中央処理装置がメモリにリクエスト出来る機会増加させることができる。
【0015】
また、前記所定の優先基準とは、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト回数、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト時間および前記メモリ制御回路が、前記入出力制御回路、前記中央処理装置および画像処理回路から、同時にリクエストを受け付けた場合のリクエストを受け付ける優先順位のいずれか1つ、または、該リクエスト回数、該リクエスト時間および該優先順位をそれぞれ組合せたものであることとしてもよい。また、前記優先基準を変更するとは、前記リクエスト回数および前記リクエスト時間を増減させることおよび前記入出力制御回路、前記中央処理装置および画像処理回路の優先順位を入れ替えることであることとしてもよい。
【0016】
このように、本発明によれば、画像データの圧縮率、解像度および印刷速度のいずれかに基づいて、メモリ制御回路が行うリクエストの調停を最適なものとすることができる。そのため、画像処理回路が記憶装置にリクエストする回数が多い場合(圧縮率が低い場合等)には、画像処理回路からのリクエストを優先させるように調停することで、バス帯域の狭いプリンタコントローラであっても、プリンタのオーバランを防止することができる。
【0017】
また、画像処理回路が記憶装置にリクエストする回数が少ない場合(圧縮率が高い場合等)には、上記のリクエスト回数が多い場合に比べて、画像処理回路からのリクエストの優先度を下げることで、プリンタのパフォーマンスを向上させることができる(中央処理装置等がメモリにリクエスト出来る機会が増えるため)。
【0018】
すなわち、本発明によれば、バス帯域の少ないプリンタコントローラにおいて、プリンタのパフォーマンスの向上を図るこができる。
【0019】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【0020】
最初に、本発明の第1の実施形態について説明する。
【0021】
図1は、本発明の第1の実施形態が適用されたプリンタコントローラの構成を説明するためのブロック図である。図示するように、プリンタコントローラ9は、メモリ制御回路1と、RAM(Random Access Memory)2と、CPU(中央処理装置)3と、画像制御回路4と、I/O制御回路5と、ROM(Read Only Memory)6と、を有する。
【0022】
そして、CPU3とメモリ制御回路1とはCPUバス10を介して接続され、メモリ制御回路1とRAM2とはメモリバス12を介して接続され、メモリ制御回路1とROM6とはメモリバス11を介して接続されている。また、メモリ制御回路1とI/O制御回路5とはI/Oバス13を介して接続され、メモリ制御回路1と画像処理回路4とは画像処理バス14を介して接続されている。
【0023】
I/O制御回路5は、複数種(例えば、USB(Universal Serial Bus)、パラレルインタフェース、ネットワークインタフェース等)の外部インタフェース8に接続可能に構成されており、外部インタフェース8を介して、ホスト(図示せず)等と行うデータの送受信を制御する(例えば、I/O制御回路5は、外部インタフェース8を介してホストに接続される)。また、ホストは、ワードプロセッサ等のアプリケーションプログラムによって作成されたドキュメントを、プリンタが解釈可能な画像作成用データに変換した後、外部インタフェース8を介してI/O制御回路5に送信する。画像処理回路4は、印刷処理を実行する印刷エンジン7に接続される。印刷エンジン7は、レーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等により構成される。
【0024】
また、本実施形態では、メモリ制御回路1、画像制御回路4およびI/O制御回路5は、ASIC(Application Specific Integrated Circuit)で構成されているものとする。
【0025】
続いて、プリンタコントローラ9の上記構成の各機能について説明する。
【0026】
RAM2は、例えば、SDRAM(Synchronous DRAM)により構成され、プリンタコントローラ3が受信した画像作成用データや、後述するCPU3が作成した画像データ等を格納する領域を備えている。I/O制御回路5は、ホストが送信した画像作成用データを、メモリ制御回路1を介してRAM2に格納する。
【0027】
CPU3は、プリンタコントローラ9についての各種の処理を行う中央処理装置である。例えば、CPU3は、RAM2に格納されている画像作成用データを、メモリ制御回路1を介して読み出し、該画像作成用データから画像データを生成し、メモリ制御回路1を介して、RAM2に書き込む(格納する)。なお、RAM2に格納する画像データは、圧縮して格納されるものとする。
【0028】
画像処理回路4は、内部バッファを備えており、RAM2に格納された画像データを読み出して印刷データに変換する処理を行う。具体的には、RAM2に1ページ分の画像データが格納された場合に、1ページ分の画像データを複数に分割したバンド単位で、該画像データをRAM2から読み出して解凍する(画像データは圧縮されているため)。そして、画像処理回路4は、解凍した画像データを印刷可能な印刷データに変換してからバンド単位で印刷エンジン7に出力する。なお、画像処理回路4は、1ページ分の画像データを印刷データに変換して印刷エンジンに送信するまで、この処理を繰り返す。なお、以下において、RAM2に各データを書き込む処理(格納する処理)を「ライト」といい、RAM2から各データを読み出す処理を「リード」ということとする。
【0029】
ROM6は、プリンタコントローラ9を制御するためのプログラム、フォントデータ等を格納する不揮発性メモリで構成されている。
【0030】
メモリ制御回路1は、RAM2へのアクセスする際のアドレス変換処理、リード命令およびライト命令の生成処理、バスの制御等を行う。すなわち、メモリ制御回路1は、CPU3、画像処理回路4、I/O制御回路5の3つのバスマスタからのリクエスト(リードリクエストまたはライトリクエスト)を受け付けて、そのリクエストをRAM2に出力するように構成されている。そのため、バスマスタ(CPU3、I/O制御回路5、画像処理回路4)は、メモリ制御回路1に対して、RAM2に対するリクエスト(リード命令又はライト命令)をそれぞれ行い、メモリ制御回路1を経由してRAM2に格納されているデータをリードし、または、RAM2にデータをライトすることとなる。
【0031】
また、メモリ制御回路1は、3つのバスマスタからそれぞれ送られるリクエストを重ねて受け付けた場合に、受け付けたリクエストを調停して、1つのリクエストをRAM2に出力するように構成されている。具体的には、メモリ制御回路1は、後述する調停テーブル(図1では図示せず)を有しており、画像処理回路4からリクエストを受け付けた場合に、調停テーブルに格納されているデータに基づいて、受け付けたリクエストを調停して、1つのリクエストをRAM2に出力する。また、この調停テーブルは、CPU3が、RAM2に格納されている画像データの圧縮率に応じて設定するように構成されている。そのため、メモリ制御回路1は、CPU3が生成した画像データの圧縮率に応じて、バスマスタからのリクエストの調停を行うことができる。なお、この調停テーブルのデータ構造については、後段で詳細に説明する。
【0032】
また、本実施形態は、バスマスタが3種類(CPU3、画像処理回路4、I/O制御回路5)である場合を例に説明しているが、特にこれに限定するものではない。例えば、アクセラレータ等の回路がバスマスタとして追加される構成としてもよい。また、画像制御回路4がメモリ制御回路1と一体化されて構成されていてもよい。
【0033】
続いて、図1に示すS1〜S4(本図中では信号の流れを示す)を用いてプリンタコントローラ9のデータの流れの概略を説明する。
【0034】
最初に、I/O制御回路5が、外部インタフェース8を介してホストから受信した画像作成用データをRAM2にライト(格納)する場合を説明する。I/O制御回路5は、外部インタフェース8を介して画像作成用データを受信した場合、メモリ制御回路1に対して、リクエストと同時にアドレス信号、ライト命令およびライトデータをI/Oバス13を介して出力する(S1)。そして、上記リクエストを受け付けたメモリ制御回路1は、RAM2に対して、アドレス、ライト命令およびライトデータを、メモリバス12を介して出力し、ライトデータをRAM2にライト(格納)する(S3)。
【0035】
次に、CPU3がRAM2に格納されている画像作成用データをリードする場合を説明する。CPU3は、メモリ制御回路1に対して、リクエストと同時にアドレス信号およびリード命令を、CPUバス10を介して出力する(S2)。そして、上記リクエスト信号を受けたメモリ制御回路1は、RAM2に対して、アドレス信号およびリード命令を、メモリバス12を介して出力する。その後、RAM2は、入力されたアドレス信号およびリード命令に基づいて、リードデータ(画像作成用データ)をメモリ制御回路1に出力する(S3)。メモリ制御回路1は、RAM2からリードデータ(画像作成用データ)を出力し、該リードデータをCPU3に出力する(S2)。その後、CPU3は、リードデータ(画像作成用データ)から画像データを生成し、該生成した画像データを、上述したライト処理と同様の手順でRAM2にライト(格納)する。
【0036】
続いて、画像処理回路4が、RAM2に格納された画像データをリードする場合を説明する。画像処理回路4は、RAM2に1ページ分の画像データが格納された場合に、メモリ制御回路1に対して、リクエストと同時にアドレス信号およびリード命令(1ページ分の画像データを複数に分割したバンド単位の画像データを読み出す命令)を、画像処理バス14を介して出力する(S4)。そして、上記リクエスト信号を受けたメモリ制御回路1は、RAM2に対して、アドレス信号およびリード命令を、メモリバス12を介して出力する。その後、メモリ制御回路1は、RAM2からリードデータ(バンド単位の画像作成用データ)を出力して、該リードデータを、画像処理回路4に出力する(S4)。また、画像処理回路4は、リードしたバンド単位の画像データを解凍し(画像データは圧縮されているため)、印刷可能な印刷データに変換してからバンド単位で印刷エンジンに送信する。その後、画像処理回路4は、1ページ分の画像データを印刷データに変換して印刷エンジンに送信するまで、この処理を繰り返す。
【0037】
続いて、メモリ制御回路1が行うバスマスタからのRAM2へのリクエストの制御について図2を用いて説明する。
【0038】
図2は、本発明の第1の実施形態が適応されるメモリ制御回路1の内部構成を示すブロック図である。図示するように、メモリ制御回路1は、I/O制御回路バス制御部21と、CPUバス制御部22と、画像制御回路バス制御部23と、RAMバス制御部24と、タイマ(図示せず)と、を有している。
【0039】
I/O制御回路バス制御部21は、I/O制御回路5からのRAM2に対するリクエスト(S1)を受けて、RAMバス制御部24に該リクエストを出力する。
CPUバス制御部22は、CPU3からのRAM2に対するリクエスト(S2)を受けて、RAMバス制御部24に該リクエストを出力する。また、画像処理回路バス制御部23は、画像処理回路4からのRAM2に対するリクエスト(S4)を受けて、RAMバス制御部24に該リクエストを出力する。
【0040】
RAMバス制御部24は、バスマスタ(CPU3、画像処理回路4、I/O制御回路5)から受け付けたリクエストを調停して、1つのバスマスタのリクエストを選択してRAM2に出力する選択回路25と、バスマスタからのリクエストを調停するための基準データが格納されている調停テーブル26と、を有している。また、調停テーブル26は、連続リクエスト設定TB30と、優先順位TB31とを有している。
【0041】
連続リクエスト設定TB30には、画像処理回路4がRAM2からリードした画像データ(バンド単位)の圧縮率に応じて、画像処理回路4に他のバスマスタから優先して与える、連続リクエスト受付け回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定TB30は、圧縮率の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ33と、エントリ33に対応付けて画像処理回路4に与える連続リクエスト回数を格納するエントリ34と、エントリ33に対応付けて画像処理回路4に与える連続占有時間を格納するエントリ35と、リードした画像データの圧縮率がエントリ33のどのグループに属するかを示すためのデータ(リードしたバンドの圧縮率が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ36と、を有している。例えば、図示する例では、圧縮率の範囲を示すエントリ33の「20<圧縮率(α)<50(%)」に対応したエントリ36に「1」が格納されている。したがって、図示する例では、画像処理回路4がリードした画像データの圧縮率は、20%より大きく50%より小さい範囲であり、画像処理回路4に優先して与えられる、連続リクエスト回数が「2回」で、与えられる連続占有時間が「Y秒」であることを示している。なお、図示した、連続リクエスト設定TB30のデータ構造は、あくまでも例示であり、本実施形態は特にこれに限定されるものではない。例えば、連続リクエスト調停TB30のエントリ33の圧縮率の分類数を増減させてもかまわない(例えば、4つのグループに分類する)。
【0042】
また、優先順位TB31には、画像処理回路4がRAM2からリードした画像データ(バンド単位)の圧縮率に応じて、バスマスタ(画像処理回路4、CPU3、I/O制御回路5)が、同時にRAM2にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位TB31は、圧縮率の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ37と、エントリ37に対応付けて、同時にRAM2に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ38と、リードした画像データの圧縮率がエントリ37のどのグループに属するかを示すためのデータ(リードしたバンドの圧縮率が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ39を有している。
【0043】
例えば、図示する例では、圧縮率の範囲を示すエントリ37の「20<圧縮率(α)<50(%)」に対応したエントリ39に「1」が格納されている。したがって、画像処理回路4がリードした画像データの圧縮率は、20%より大きく50%より小さい範囲であり、バスマスタからRAM2に同時にリクエストが発生した場合には、「画像処理回路4」、「CPU3」、「I/O制御回路5」の順番でリクエストが受け付けられることを示している。なお、図示した、優先順位TB31のデータは、あくまでも例示であり、本実施形態は特にこれに限定されるものではない。例えば、連続リクエスト調停TB30のエントリ37の圧縮率の分類数を増減させてもかまわない。
【0044】
そして、選択回路25は、画像処理回路4からRAM2に格納されている画像データ(バンド単位)のリードリクエストを受け付けた場合には、連続リクエスト設定TB30の該当する連続リクエスト回数分(「1」が格納されているエントリ35に対応するエントリ34に格納されている回数)のリクエストを、画像処理回路4から受け付けるまでは、他のバスマスタ(CPU3、I/O制御回路5)からのリクエストは受け付けないように構成されている。さらに、選択回路25は、画像処理回路4からRAM2に格納されている画像データ(バンド単位)のリードリクエストを受け付けた場合、内部タイマにより時間を計測して、エントリ35に格納されている連続占有時間が経過するまで、他のバスマスタからのリクエストを、受け付けないように構成されている。
【0045】
例えば、図2で示す例では、選択回路25は、画像処理回路4からリクエストを受け付けた場合には、その後、画像処理回路4からのリクエストを「2回」受け、かつ、画像データ(バンド単位)のリードリクエストを受け付けてから「Y秒」を経過するまでは、他のバスマスタからのリクエストは受け付けない。
【0046】
さらに、選択回路25、複数のバスマスタから同時にRAM2に対するリクエストを受けた場合には、優先順位TB31の該当するエントリ38に格納された優先順位(「1」が格納されているエントリ39に対応するエントリ38に格納されている優先順位)によりリクエストを受け付けるように構成されている。
【0047】
また、連続リクエスト設定TB30のエントリ36および優先順位TB31のエントリ39に格納するデータは、画像処理回路4が画像データ(バンド単位の画像データ)をRAM2からリードする場合に、CPU3が設定する(CPU3がROM6に格納されている所定の設定プログラムをロードして実行して設定する)。具体的には、CPU3は、画像処理回路4が画像データ(バンド単位)をRAM2からリードする際に、該画像データ(バンド単位)の圧縮率を取得する。そして、CPU3は、該取得した圧縮率に基づいて連続リクエスト設定TB30のエントリ36および優先順位TB31のエントリ39に該当するデータを格納する(例えば、CPU3が取得した圧縮率が「55%」である場合には、CPU3は、エントリ33の「α≧50%」に対応するエントリ36(エントリ39)に「1」を格納し、他のエントリ36(エントリ39)に「0」を格納する)。なお、CPU3の連続リクエスト設定TB30および優先順位TB31のデータの設定処理については後段で詳細に説明する。
【0048】
このように調停テーブル26に格納されているデータを、画像処理回路4がリードするバンド単位の画像データの圧縮率に対応付けているのは、圧縮率により、プリンタのオーバランを防止するために、画像処理回路4のために確保しなければならないバス帯域が異なるからである。そして、画像処理回路4に割り当てるバス帯域と他のバスマスタに割り当てるバス帯域とを圧縮率に応じて、調停することで、プリンタのオーバランを防止し、かつ、プリンタのパフォーマンスを向上させることができる。
【0049】
すなわち、画像処理回路4がリードした画像データの圧縮率が低い場合には、画像処理回路4からRAM2に対するリードリクエストの回数は多くなる(画像処理回路4がリードする必要がある1ページ分の画像データ数が多いため)。そのため、プリンタのオーバランを防止するため、他のバスマスタから優先して、画像処理回路4にバス帯域を割り当てる必要がある。一方、画像処理回路4がリードした画像データの圧縮率が高い場合には、画像処理回路4が行うRAM2へのリードリクエストの回数は少なくなる(画像処理回路4がリードする必要がある1ページ分の画像データ数は少なくなるため)。したがって、画像処理回路4に割り当てるバス帯域を、圧縮率が低い場合と同じのように確保する必要なない(プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である)。そして、画像処理回路4に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会を増加させることにより、プリンタのパフォーマンスを向上させることができる。
【0050】
続いて、本実施形態のプリンタコントローラ9が行う、メモリ制御回路1の調停テーブル26のデータ設定処理のフローについて説明する。
【0051】
図3は、本実施形態が適用されるプリンタコントローラ9が行うメモリ制御回路1の調停テーブル26のデータの設定処理のフローを説明するための図である。
【0052】
最初に、CPU3は、メモリ制御回路1を介してRAM2からリードした画像作成用データから1ページ分の画像データを生成し、該生成した画像データを、所定の規則に基づいてバンド単位で圧縮する。そして、CPU3は、該1ページ分の圧縮した画像データを、メモリ制御回路1を介してRAM2にライト(格納)する(ステップ1)。
【0053】
続いて、CPU3は、RAM2に格納されている1ページ分の画像データから、画像処理回路4に指示するDMA(Direct Memory Access)処理の対象のバンドの画像データ(画像処理回路4は1ページ分の画像データを複数に分割したバンド単位で画像データをリードする)の情報(画像データの転送先および転送元のアドレス、バンド単位の画像データの圧縮率等)を取得する(ステップ2)。なお、本実施形態では、画像データの圧縮率を取得する方法については特に限定しない。例えば、CPU3は、ステップ1において、バンド単位の圧縮率を算出してから(例えば、圧縮前のデータと圧縮後のデータとから圧縮率を求める)、該算出したバンド毎の圧縮率を画像データに関連付けてRAM2に格納しておく。そして、CPU3は、RAM2に格納されている該当する圧縮率をリードすることにより、バンド単位の圧縮率を取得するようにしてもよい。
【0054】
そして、CPU3は、ステップ2で取得した画像データの転送先および転送元のアドレス情報を画像処理回路4の所定の領域に設定する(ステップ3)。また、CPU3は、画像処理回路4にDMAの開始を指示するデータを画像処理回路4の所定の領域に設定する(ステップ4)。
【0055】
ステップ4で、DMAの開始の設定を受けた画像処理回路4は、CPU3に割り込みを発生させ、メモリ制御回路1にステップ3で設定されたバンドの画像データのリードリクエストをして、RAM2からリクエストしたバンドの画像データのリードを行う(ステップ5)。
【0056】
その後、CPU3は、ステップ2で取得した画像データの圧縮率を判断し(ステップ6)、メモリ制御回路1の調停テーブル26の連続リクエスト設定TB30および優先順位TB31の設定を行う。具体的には、CPU3は、取得した圧縮率が「50%以上」である場合には、連続リクエスト設定TB30のエントリ33の「α≧50(%)」に対応するエントリ36および優先順位TB31のエントリ37の「α≧50(%)」に対応するエントリ39に「1」を格納し、他のエントリ36およびエントリ39には「0」を格納する(ステップ7、10)。
【0057】
また、CPU3は、取得した圧縮率が「20%より高く50%より低い」場合には、連続リクエスト設定TB30のエントリ33の「20<α<50(%)」に対応するエントリ36および優先順位TB31のエントリ37の「20<α<50(%)」に対応するエントリ39に「1」を格納し、他のエントリ36およびエントリ39には「0」を格納する(ステップ8、11)。
【0058】
また、CPU3は、取得した圧縮率が「20%以下」である場合には、連続リクエスト設定TB30のエントリ33の「α≦20(%)」に対応するエントリ36および優先順位TB31のエントリ37の「α≦20(%)」対応するエントリ39に「1」を格納し、他のエントリ36およびエントリ39には「0」を格納する(ステップ9、12)。
【0059】
その後、CPU3は、画像処理回路4がリードする必要がある次のバンドの画像データが有るか否かをRAM2に格納されている1ページ分の画像データから判断する(画像処理回路4は、1ページ分の画像データを全てリードするまで画像データをリードする必要がある。一方、既に1ページ分の画像を全てリードした場合には、リードする必要はない)。そして、CPU3は、リードする必要がある次のバンドの画像データがあると判断した場合には、ステップ2に戻り、上記と同様の処理を繰り返す。一方、CPU3は、リードする必要がある次のバンドの画像データがないと判断した場合には、ステップ1に戻り、上記と同様の処理を繰り返す(ステップ13)。
【0060】
このように、本実施形態によれば、メモリ制御回路1が行うバスマスタのRAM2に対するリクエスの調停基準(調停テーブル26のデータ)が、画像処理回路4のリードした画像データ(バンド単位)の圧縮率に応じて設定されるように構成されている。そのため、上記画像データの圧縮率に応じて、画像処理回路4のために優先的に割り当てるバス帯域を変更できる。したがって、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができる(圧縮率が低い場合は、画像処理回路4からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、圧縮率が高い場合には、画像処理回路4からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する)。
【0061】
このように、本実施形態によれば、プリンタのオーバランを防止するために生じるプリンタのパフォーマンス低下を防止することが出来る。
【0062】
続いて、本発明の第2の実施形態を説明する。本発明の本第2実施形態は、本発明の第1の実施形態とメモリ制御回路1が有する調停テーブル26のデータ構造および調停テーブル26を設定する処理が異なる以外は同じである。具体的には、本発明の第2の実施形態では、上記第1の実施形態が画像処理回路4のリードした画像データ(バンド単位)の圧縮率に応じて、バスマスタからのリクエストを制御する基準(調停テーブル26)を変更していたのに対し、CPU3が生成した画像データの解像度に応じて、バスマスタのリクエストを制御する基準を変更するように構成している。なお、本発明の第2の実施形態の説明において、第1の実施形態と同じ構成については同じ符号を用いることとする。また、以下の説明では、第1の実施形態と異なる点を中心に説明する。
【0063】
さて、本第2の実施形態のプリンタコントローラ9の構成は、第1の実施形態のものと、調停テーブル26のデータ構造が異なる以外は、図1、図2で示したものと同じである。
【0064】
次に、第2の実施形態のメモリ制御回路1が有する調停テーブル26について説明する。図4は、本発明の第2の実施形態のメモリ制御回路1が有する調停テーブル26のデータ構造を模擬的に示したものである。調停テーブル26は、連続リクエスト設定TB40と、優先順位TB45とを有している。
【0065】
連続リクエスト設定TB40には、CPU3が生成した1ページ分の画像データの解像度に応じて、画像処理回路4に他のバスマスタから優先して与える、連続リクエスト受付け回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定TB40は、解像度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ41と、エントリ41に対応付けて画像処理回路4に与える連続リクエスト回数を格納するエントリ42と、エントリ41に対応付けて画像処理回路4に与える連続リクエスト受付時間を格納するエントリ43と、該生成した画像データの解像度がエントリ41のどのグループに属するかを示すためのデータ(該当する解像度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ44と、を有している。
【0066】
また、優先順位TB45には、CPU3が生成した画像データの解像度(ページ単位)に応じて、バスマスタ(画像処理回路4、CPU3、I/O制御回路5)が、同時にRAM2にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位TB45は、解像度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ46と、エントリ46に対応付けて、同時にRAM2に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ47と、生成した解像度がエントリ46のどのグループに属するかを示すためのデータ(生成した1ページの画像データの解像度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ48と、を有している。
【0067】
このように、本発明の第2の実施形態において、メモリ制御回路1が行うバスマスタからのリクエストを調停するための基準を、生成した画像データの解像度に基づいて変更するようにしているのは、解像度により画像処理回路4のために確保しなければならないバス帯域が異なるからである。すなわち、解像度が高い場合には、画像処理回路4からのリードリクエストが多くなるため、連続リクエスト回数および連続占有時間を多く設定必要が有る。一方、解像度が低い場合には、画像処理回路4からのリードリクエストが少ないため、連続リクエスト回数および連続占有時間を多く設定する必要はない(プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である)。そして、画像処理回路4に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会が増加させることにより、プリンタのパフォーマンスを向上させることができる。
【0068】
続いて、本第2の実施形態のプリンタコントローラ9が行う、メモリ制御回路1の調停テーブル26のデータ設定処理のフローについて説明する。
【0069】
図5は、本実施形態が適用されるプリンタコントローラ9が行うメモリ制御回路1の調停テーブル26のデータの設定処理のフローを説明するための図である。
【0070】
CPU3は、最初に図3で示すステップ1と同様に、メモリ制御回路1を介してRAM2からリードした画像作成用データから1ページ分の画像データを生成し、該1ページ分の画像データを、メモリ制御回路を介してRAM2にライト(格納)する(ステップ50)。なお、CPU3は、RAM2からリードした画像作成用データに含まれている印刷条件データ(ホストのプリンタドライバで指定されている印刷条件)の解像度を指示するデータに基づいて、その解像度で画像データを生成して、該解像度を示すデータを保持する。
【0071】
そして、CPU3は、生成した画像データの解像度(保持している解像度を示すデータ)に基づいて、図3で説明したステップ6〜スップ12と同様の手順で、調停テーブル26に調停データを設定する(ステップ51)。
【0072】
その後、図3のステップ2からステップ5と同様の処理を行う(ステップ52〜55)。また、CPU3は、画像処理回路4がリードする必要がある次のバンドの画像データが有るか否かをRAM2に格納されている1ページ分の画像データから判断する。そして、CPU3は、リードする必要がある次のバンドの画像データがあると判断した場合には、ステップ52に戻り、上記と同様の処理を繰り返す。一方、CPU3は、リードする必要がある次のバンドの画像データがないと判断した場合には、ステップ50に戻り、上記と同様の処理を繰り返す(ステップ11)。
【0073】
このように、本第2の実施形態によれば、メモリ制御回路1が行うバスマスタのRAM2に対するリクエスの調停基準(調停テーブル26のデータ)が、CPU3が生成した画像データの解像度に応じて設定されるように構成されている。このため、上記画像データの解像度に応じて、画像処理回路4のために優先的に割り当てるバス帯域を変更できる。そのため、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができるため(解像度が高い場合は、画像処理回路4からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、解像度が低い場合には、画像処理回路4からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する)、オーバランを防止するために生じるプリンタのパフォーマンス低下を防止することが出来る。
【0074】
続いて、本発明の第3の実施形態を説明する。本発明の本第3実施形態は、本発明の第1の実施形態とメモリ制御回路1が有する調停テーブル26のデータ構造および調停テーブル26を設定する処理が異なる以外は同じである。具体的には、本発明の第3の実施形態は、上記第1の実施形態が画像処理回路4のリードした画像データ(バンド単位)の圧縮率に応じて、バスマスタからのリクエストを制御する基準(調停テーブル26)を変更していたのに対し、本発明の第3の実施形態では、プリンタの印刷エンジン7が有する印刷速度に応じて、バスマスタのリクエストを制御する基準を変更するようにしている。なお、本発明の第3の実施形態の説明において、上記第1の実施形態と同じ構成については同じ符号を用いることとする。また、以下の本発明の第3の実施形態の説明では、第1の実施形態と異なる部分を中心に説明する。
【0075】
本発明の第3の実施形態のプリンタコントローラ9の構成は、第1の実施形態のものと、調停テーブル26のデータ構造が異なる以外は、図1、図2で示したものと同じである。
【0076】
次に、本発明の第3の実施形態のメモリ制御回路1が有する調停テーブル26について説明する。図6は、本発明の第3の実施形態のメモリ制御回路1が有する調停テーブル26のデータ構造を模擬的に示したものである。調停テーブル26は、連続リクエスト設定TB50と、優先順位TB55とを有している。
【0077】
連続リクエスト設定TB50には、印刷エンジン7が印刷処理で発揮することができる印刷速度に応じて、画像処理回路4に他のバスマスタから優先して与える、連続リクエスト受付ける回数および時間を設定するデータが格納されている。具体的には、連続リクエスト設定TB50は、印刷速度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ51と、エントリ51に対応付けて画像処理回路4に与える連続リクエスト回数を格納するエントリ52と、エントリ51に対応付けて画像処理回路4に与える連続リクエスト受付時間を格納するエントリ53と、印刷エンジン7の印刷速度がエントリ51のどのグループに属するかを示すためのデータ(印刷エンジン7の印刷速度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ54を有している。
【0078】
また、優先順位TB55には、印刷エンジン7の印刷速度に応じて、バスマスタ(画像処理回路4、CPU3、I/O制御回路5)が、同時にRAM2にリクエストを行った場合の優先順位を設定するためのデータが格納されている。具体定には、優先順位TB55は、印刷エンジン7の印刷速度の範囲を示すデータ(図示する例では、3つのグループに分類している)を格納するエントリ56と、エントリ56に対応付けて、同時にRAM2に対するリクエストを行った場合のバスマスタの優先順位を格納するエントリ57と、印刷エンジン7の印刷速度がエントリ56のどのグループに属するかを示すためのデータ(印刷エンジン7の印刷速度が属するグループに対応するエントリには「1」を格納し、それ以外には「0」を格納する)を格納するエントリ58と、を有している。
【0079】
このように、メモリ制御回路1が行うバスマスタからのリクエストを調停するための基準を、印刷エンジン7の印刷速度に基づいて、変更するようにしているのは、印刷エンジン7の印刷速度により画像処理回路4のために確保しなければならないバス帯域が異なるからである。すなわち、印刷速度が速い場合には、画像処理回路4からのリードリクエストが多くなるため、連続リクエスト回数および連続占有時間を多く設定必要が有る。一方、印刷速度が遅い場合には、画像処理回路4からのリードリクエストが少ないため、連続リクエスト回数を多く設定する必要はない(プリンタのオーバランが発生しない範囲内でバス帯域を確保すれば十分である)。そして、画像処理回路4に割り当てるバス帯域を減らして、他のバスマスタへのバス帯域を割り当てる機会が増加させることにより、プリンタのパフォーマンスを向上させることができる。
【0080】
続いて、本第3の実施形態のプリンタコントローラ9が行う、メモリ制御回路1の調停テーブル26のデータ設定処理のフローを説明する。本第3の実施形態のプリンタコントローラの調停テーブル26のデータ設定処理は、図5で示した第2の実施形態のものと、調停テーブル26にデータを設定するタイミングが異なる以外は同じである。
【0081】
本第3の実施形態では、プリンタの電源が投入された場合に、CPU3が、印刷エンジン7から印刷速度データを取得する。なお、本実施形態では、印刷速度データを取得する処理について特に限定しない。例えば、印刷エンジン7の所定の領域に、自身の印刷速度を示すデータを格納しておいて、CPU3が、画像処理回路4を介して、印刷エンジン7の所定の領域から印刷速度データを取得するようにしてもよい。そして、CPU3は、取得した印刷速度に対応するデータを調停テーブル26に格納する。その後は、図5で示す、ステップ50、52〜56と同じ処理を行う。
【0082】
このように、本第3の実施形態によれば、メモリ制御回路1が行うバスマスタのRAM2に対するリクエスの調停基準(調停テーブル26のデータ)が、
印刷エンジンの印刷速度に応じて設定されるように構成されている。このため、印刷エンジン7の印刷速度に応じて、画像処理回路4のために優先的に割り当てるバス帯域を変更できる。したがって、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができるため(印刷速度が速い場合には、画像処理回路4からのリクエストが増えるため、画像処理回路に与えるバス帯域が広くなるように設定し、印刷速度が遅い場合には、画像処理回路4からのリクエストが少ないため、画像処理回路に与えるバス帯域が狭くなるように設定する)、オーバランを防止するために、生じるプリンタのパフォーマンス低下を防止することが出来る。
【0083】
このように、上述の本発明の実施形態によれば、メモリ制御回路1のバスマスタからのリクエストの調停基準が、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度のいずれかに対応して設定されるように構成されている。したがって、プリンタのオーバランの発生を防止するために画像処理回路4に割り当てるバス帯域を最適なものに設定することができる。そのため、プリンタのオーバランを防止して、かつ、そのオーバランを防止するために生じるプリンタのパフォーマンスの低下を防止することができる。
【0084】
すなわち、例えば、本発明によれば、画像データが少ない場合(圧縮率が高い場合)等には、CPU等の他のバスマスタにバス帯域を多く割り当てることができるため、プリンタ全体のパフォーマンスが向上する(例えば、CPUは、次のページの画像データを早く生成することが出来る)。
【0085】
また、バス帯域の少ないプリンタコントローラであっても、印刷処理に必要な最大限のバス帯域を画像処理回路に割り当てることができるため、印刷速度が速いプリンタエンジンを制御することができる。このため、印刷速度の速いプリンタの省電力化、ローコスト化を図ることができる。
【0086】
このように、本発明によれば、バス帯域の少ないプリンタコントローラのパフォーマンスを向上させることができる。
【0087】
なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、上記実施形態は、メモリ制御回路1のバスマスタからのリクエストの調停基準として、画像処理回路1に他のバスマスタから優先して与える連続リクエスト回数、連続占有時間、および優先順位の3つの要素の全てを適用する例を説明しているが、これらの3要素を、いずれか1つ、または、それぞれ組合せたものであることとしてもよい。
【0088】
また、上記実施形態では、メモリ制御回路1のバスマスタからのリクエストの調停基準として、画像処理回路1に他のバスマスタから優先して与える連続リクエスト回数、連続占有時間を設定する例を説明したが、例えば、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度に応じて、他のバスマスタ(CPU等)に連続リクエスト回数、連続占有時間を与えるように設定するように構成されていてもよい。
【0089】
また、本実施形態の説明では、画像データの圧縮率、画像データの解像度、および印刷エンジンの印刷速度のそれぞれに対応して、メモリ制御回路1のバスマスタからのリクエストの調停基準が設定されるように構成されているが、これらを、それぞれ組合せて調停基準を設定するようにしてもよい。
【図面の簡単な説明】
【図1】本発明の実施形態のプリンタコントローラの構成の一例を示す図。
【図2】本発明の実施形態のメモリ制御回路の構成の一例を示す図。
【図3】メモリ制御回路1の調停テーブル26への設定処理のフロー図。
【図4】第2の実施形態の調停テーブル26データ構造を模擬的に示す図。
【図5】第2の実施形態の調停テーブル26への設定処理のフロー図。
【図6】第3の実施形態の調停テーブル26データ構造を模擬的に示す図。
【符号の説明】
1…メモリ制御回路、2…RAM、3…CPU、4…画像処理回路、5…I/O制御回路、6…ROM、7…印刷エンジン、8…外部I/F、9…プリンタコントローラ、10…CPUバス、11…メモリバス、12…メモリバス、13…I/Oバス、14…画像処理バス、21…I/O制御回路バス制御部、22…CPUバス制御部、23…画像制御回路バス制御部、24…RAMバス制御部、25…選択回路、26…調停テーブル、30…連続リクエスト設定TB、31…優先順位TB、40…連続リクエスト設定TB、45…優先順位TB、50…連続リクエスト設定TB、55…優先順位TB
Claims (7)
- 画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、
外部から送信される画像作成用データを受け付ける入出力制御回路と、
前記画像作成用データから圧縮した画像データを生成する中央処理装置と、
前記画像データを印刷データに変換する画像処理回路と、
前記画像作成用データおよび前記画像データを格納する記憶装置と、
前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有し、
前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更することを特徴とするプリンタコントローラ。 - 画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、
外部から送信される画像作成用データを受け付ける入出力制御回路と、
前記画像作成用データから圧縮した画像データを生成する中央処理装置と、
前記画像データを印刷データに変換する画像処理回路と、
前記画像作成用データおよび前記画像データを格納する記憶装置と、
前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有し、
前記中央処理装置は、前記生成する画像データの解像度を取得し、該取得した解像度に対応させて前記メモリ制御回路の前記所定の優先基準を変更することを特徴とするプリンタコントローラ。 - 画像作成用データを印刷エンジンで印刷可能な印刷データに変換するプリンタコントローラであって、
外部から送信される画像作成用データを受け付ける入出力制御回路と、
前記画像作成用データから圧縮した画像データを生成する中央処理装置と、
前記画像データを印刷データに変換する画像処理回路と、
前記画像作成用データおよび前記画像データを格納する記憶装置と、
前記入出力制御回路、前記中央処理装置および画像処理回路から前記記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路と、を有し、
前記中央処理装置は、前記印刷エンジンから該印刷エンジンが有する印刷速度データを取得して、前記取得した印刷速度データに応じて前記メモリ制御回路の前記所定の優先基準を変更することを特徴とするプリンタコントローラ。 - 請求項1〜3のいずれか一項記載のプリンタコントローラであって、
前記所定の優先基準とは、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト回数、前記メモリ制御回路が前記画像処理回路からのリクエストを受け付けた場合に、その後、該メモリ制御回路が該画像処理回路から占有して受け付けるリクエスト時間および前記メモリ制御回路が、前記入出力制御回路、前記中央処理装置および画像処理回路から、同時にリクエストを受け付けた場合のリクエストを受け付ける優先順位のいずれか1つ、または、該リクエスト回数、該リクエスト時間および該優先順位をそれぞれ組合せたものであることを特徴とするプリンタコントローラ。 - 請求項4に記載のプリンタコントローラであって、
前記優先基準を変更するとは、前記リクエスト回数および前記リクエスト時間を増減させることおよび前記入出力制御回路、前記中央処理装置および画像処理回路の優先順位を入れ替えることであることを特徴とするプリンタコントローラ。 - 請求項1〜5のいずれか一項記載のプリンタコントローラを搭載したプリンタ。
- 入出力制御回路、中央処理装置および画像処理回路から記憶装置に対するリクエストを受け付けて、該受け付けたリクエストを所定の優先基準にしたがって調停し、該調停したリクエストに基づいて該記憶装置に対するデータの書き込み及び読み出しの制御を行うメモリ制御回路を有するプリンタコントローラの該リクエスト調停方法であって、
前記中央処理装置は、前記メモリ制御回路が前記画像処理回路から受け付けたリクエストに応じて読み出した画像データの圧縮率を取得する処理を実行し、該取得した圧縮率に応じて前記メモリ制御回路の前記所定の優先基準を変更する処理を実行し、
前記メモリ制御回路は、該変更された所定の優先基準にしたがって、該リクエストを調停する処理を実行することを特徴とする方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075867A JP2004284056A (ja) | 2003-03-19 | 2003-03-19 | プリンタコントローラ、プリンタコントローラのリクエスト調停方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075867A JP2004284056A (ja) | 2003-03-19 | 2003-03-19 | プリンタコントローラ、プリンタコントローラのリクエスト調停方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004284056A true JP2004284056A (ja) | 2004-10-14 |
Family
ID=33291063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075867A Pending JP2004284056A (ja) | 2003-03-19 | 2003-03-19 | プリンタコントローラ、プリンタコントローラのリクエスト調停方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004284056A (ja) |
-
2003
- 2003-03-19 JP JP2003075867A patent/JP2004284056A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4480427B2 (ja) | リソース管理装置 | |
KR102372289B1 (ko) | 메모리 액세스 시스템, 그 제어방법, 컴퓨터 판독가능한 기억매체, 및 화상 형성장치 | |
US20200213464A1 (en) | Memory Control Method, Memory Control Apparatus, and Image Forming Method That Uses Memory Control Method | |
US20140047147A1 (en) | Bus control device, image processing apparatus, and bus control method | |
EP2863618B1 (en) | Image forming apparatus that guarantees a multi-operation | |
US11010114B2 (en) | Read/write direction-based memory bank control for imaging | |
US10922038B2 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
JP6233287B2 (ja) | メモリーアクセス装置、画像処理装置 | |
JP2004284056A (ja) | プリンタコントローラ、プリンタコントローラのリクエスト調停方法 | |
JP3714840B2 (ja) | データ転送方法とデータ転送制御装置 | |
JP4175974B2 (ja) | 画像データ転送制御装置 | |
US10579317B1 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
US10614001B1 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
JP3809284B2 (ja) | 画像生成装置及びその制御方法及び印刷装置 | |
JPH11237960A (ja) | 画像出力制御装置およびその処理実行制御方法 | |
JP4316845B2 (ja) | 印刷装置 | |
US20150032885A1 (en) | Image processing apparatus and control method | |
JP4034323B2 (ja) | 画像データ処理方法と画像データ処理装置及び画像形成装置 | |
JP2010098426A (ja) | 制御装置、画像形成装置、およびプログラム | |
JP4468754B2 (ja) | 画像形成装置及びメモリ制御方法 | |
JP2006277363A (ja) | 情報転送方式,画像形成装置 | |
US10579318B1 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
JP6753317B2 (ja) | プリンタコントローラ、プログラム、印刷システム | |
JP2019200679A (ja) | 画像形成装置、帯域モニター装置、及び帯域モニター方法 | |
JP2019197299A (ja) | 情報処理装置のメモリシステム、情報処理装置のメモリシステムの制御方法及びプログラム |