(57)【要約】【課題】  システム設計の難解化を抑制しつつ、所定のバスマスタに対する帯域保証を行う。【解決手段】  調停回路４２は、バス回路を介したデータ転送を制御するバスマスタの各々がデータ転送要求を出力すると、該出力を行っているバスマスタ毎に設定される各優先度に基づいて、いずれか一つのバスマスタによるデータ転送を実行させる構成である。さらに、調停回路４２には、帯域保証要求を出力しているバスマスタによるデータ転送について、実効帯域を計測する帯域測定回路５２と、上記計測された実効帯域に応じて上記帯域保証要求を出力しているバスマスタに設定される優先度を変更する優先度判定回路５１と、を含む。【選択図】  図１
2006350573.tif 000002
【特許請求の範囲】
【請求項１】
転送回路を介したデータ転送を制御する複数の転送制御部が上記転送回路を共有しており、各転送制御部からデータ転送要求を受信すると、上記各転送制御部に設定される各優先度に基づいて、いずれか一つの転送制御部によるデータ転送を実行させるデータ転送制御装置において、
上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する計測手段と、
上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する優先度制御手段と、
を含むことを特徴とするデータ転送制御装置。
【請求項２】
上記優先度制御手段は、
上記単位時間当たりの転送データ量が目標値以下の場合、目標値を超える場合よりも、上記所定の転送制御部に設定する優先度を向上させることを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
上記優先度制御手段は、
上記単位時間当たりの転送データ量が目標値以下の場合、上記所定の転送制御部に、最も高い優先度を設定することを特徴とする請求項２に記載のデータ転送制御装置。
【請求項４】
所定規則に従った優先度が転送制御部毎に与えられており、
上記優先度制御手段は、
上記単位時間当たりの転送データ量が目標値以下の場合、上記所定の転送制御部に、上記所定規則に従った各優先度よりも高い優先度を上記最も高い優先度として設定し、他の転送制御部に、当該他の転送制御部に与えられている上記所定規則に従った優先度を設定し、
上記単位時間当たりの転送データ量が目標値を越える場合、上記所定の転送制御部に、上記所定規則に従って当該所定の転送制御部に与えられている優先度を設定し、他の転送制御部に、上記所定規則に従って当該他の転送制御部に与えられている優先度を設定することを特徴とする請求項３に記載のデータ転送制御装置。
【請求項５】
上記優先度制御手段は、
上記単位時間当たりの転送データ量が目標値以下の所定の転送制御部が複数ある場合、所定規則に従って各所定の転送制御部に与えられている各々の優先度に基づいて、いずれか一つの所定の転送制御部のみに、上記最も高い優先度を設定することを特徴とする請求項４に記載のデータ転送制御装置。
【請求項６】
上記優先度制御手段は、
上記単位時間当たりの転送データ量が目標値以下の所定の転送制御部が複数ある場合、上記目標値に対する上記転送データ量の不足度を示した不足度パラメータが最も高い上記所定の転送制御部のみに、上記最も高い優先度を設定することを特徴とする請求項３または４に記載のデータ転送制御装置。
【請求項７】
上記不足度パラメータとは、上記目標値と上記転送データ量との差分の絶対値であることを特徴とする請求項６に記載のデータ転送制御装置。
【請求項８】
上記不足度パラメータとは、上記目標値と上記転送データ量との差分の絶対値を上記目標値で除算した値であることを特徴とする請求項６に記載のデータ転送制御装置。
【請求項９】
上記所定の転送制御部とは、帯域保証要求を出力している転送制御部であることを特徴とする請求項１ないし８のいずれか１項に記載のデータ転送制御装置。
【請求項１０】
上記計測手段は、
上記所定の転送制御部が上記帯域保証要求を出力している期間中のみ、当該所定の転送制御部に制御されるデータ転送についての単位時間当たりの転送データ量を計測することを特徴とする請求項９に記載のデータ転送制御装置。
【請求項１１】
上記計測手段は、
所定期間毎に、計測した単位時間当たりの転送データ量をリセットすることを特徴とする請求項１ないし１０のいずれか１項に記載のデータ転送制御装置。
【請求項１２】
請求項１ないし１１のいずれか１項に記載のデータ転送制御装置を含んだデータ転送装置であって、上記転送回路と、上記転送回路を共用する上記複数の転送制御部と、を含むことを特徴とするデータ転送装置。
【請求項１３】
請求項１２に記載のデータ転送装置と、画像を印刷する処理を行う印刷部と、を含んだ画像形成装置であって、
上記所定の転送制御部とは、上記印刷部に対する画像データの転送を制御する画像データ転送制御部であることを特徴とする画像形成装置。
【請求項１４】
転送回路を介したデータ転送を制御する複数の転送制御部が上記転送回路を共有しており、各転送制御部からデータ転送要求を受信すると、上記各転送制御部に設定される各優先度に基づいて、いずれか一つの転送制御部によるデータ転送を実行させるデータ転送制御方法において、
上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する工程と、
上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する工程と、
を含むことを特徴とするデータ転送制御方法。
【請求項１５】
データ転送制御プログラムであって、コンピュータを請求項１ないし１１のいずれか１項に記載の各手段として機能させるデータ転送制御プログラム。
【請求項１６】
請求項１５に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスを介したデータ転送を制御するデータ転送制御装置，該データ転送制御装置を含むデータ転送装置，該データ転送装置を含む画像形成装置，データ転送制御方法，データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、コンピュータシステムにおいては、複数のデバイスの各々が一つのバス回路を介して互いに通信を行う構成が実現されている。このようなシステムでは、上記バス回路にはバスマスタとバスターゲットとが接続されている。
【０００３】
なお、上記バスマスタとは、データ転送要求を出力することによってバス回路におけるデータ転送路の使用権（該転送路へのアクセス権）を獲得し、該バス回路を介したデータ転送を制御する機能を有するデバイスであり、ＣＰＵ（Central Processing Unit）インターフェース，ＤＭＡ（Direct Memory Access）コントローラ等が該当する。
【０００４】
また、上記バスターゲットとは、上記バスマスタによって制御されるデータ転送において、転送元となるデバイスからのデータの読み出し、または、転送先となるデバイスへのデータの書き込みを行うデバイスであり、例えば、ＲＡＭ（Random Access Memory）コントローラ，ＲＯＭ（Read Only Memory）コントローラ，Ｉ／Ｏ（Input/Output）コントローラ等が該当する。
【０００５】
このようなコンピュータシステムにおいて、バスマスタは、上記バス回路を介してバスターゲットにアクセスすることによって、当該バスマスタと当該バスターゲットとの間におけるデータ転送（データ通信）を制御する。
【０００６】
また、上述したコンピュータシステムにおいては、複数のバスマスタが同時に同一のデータ転送路を使用する事態を回避するために、バスアービタによる調停が行われる。この調停について以下説明する。バスマスタは、バスターゲットへのアクセスを行おうとする場合、まず、データ転送要求（バス使用要求）を出力する。これに対し、上記バスアービタは、当該データ転送要求を出力したバスマスタに対して転送許可（バス使用許可）を与える。そして、バスマスタは、この転送許可を得ることによって、バス回路に含まれるデータ転送路を使用することができ、バス回路を介してバスターゲットにアクセスすることができ、当該バスマスタと当該バスターゲットとの間でのデータ転送を制御することができる。
【０００７】
ここで、各々のバスマスタには、データ転送路の使用権の優先度が割りふられており、２以上のバスマスタが同時にデータ転送要求を出力した場合、バスアービタは、最も高い優先度（以下、「最高優先度」と称する）が設定されているバスマスタに対してのみ転送許可を与えている。このようにして、バスアービタは、各バスマスタからのデータ転送要求を調停し、複数のバスマスタが同時にバス回路に含まれるデータ転送路を使用する事態を回避している。
【０００８】
ところで、以上示したようなコンピュータシステムが例えばプリンタや映像表示装置等に適用される場合、所定のバスマスタについては、該バスマスタの帯域をある程度以上保証する（「帯域保証」と称する）ことが好ましい。なお、バスマスタの帯域とは、該バスマスタが単位時間当たりに確保できる転送データ量を示したものである。
【０００９】
ここで、所定のバスマスタに対して帯域保証すべき理由を、プリンタの場合を例にして以下説明する。プリンタの場合、プリント処理を実行中のプリンタエンジンには単位時間当たりに所定量以上の画像データを連続して送信しなければ、プリンタエンジンへの画像データの供給が上記プリント処理に間に合わず、プリントされる画像が異常なものになる可能性がある。それゆえ、プリンタエンジンに対しての画像データの転送を制御するバスマスタに対しては帯域保証を行うことが好ましいのである。
【特許文献１】特開平８−６３４２９号公報（１９９６年３月８日公開）
【特許文献２】特開平１１−１８４８０７号公報（１９９９年７月９日公開）
【特許文献３】特開２０００−２０７３５５号公報（２０００年７月２８日公開）
【特許文献４】特開２００１−１１７８６１号公報（２００１年４月２７日公開）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ここで、各バスマスタのデータ転送要求を調停する技術は、以上示した特許文献１〜４に開示されている。
【００１１】
特許文献１または特許文献３によれば、各バスマスタに割りふられる優先度を固定とせずに定期的に切り換え、かつ、バスマスタ毎の最高優先度の割りふられる頻度を設定する手法が開示されている。
【００１２】
しかし、この手法を用いて所定のバスマスタの帯域保証を行うこととすると、各バスマスタおよびバスの性能，各バスマスタの帯域の限界値，各バスマスタの転送要求の頻度等を予測するだけでなく、さらに所定のバスマスタの帯域を予測した上で、バスマスタ毎の最高優先度の割りふられる頻度および優先度切り換えのアルゴリズムを設定しなければならず、このような設定はシステム設計の難解化を招来するという問題が生じる。
【００１３】
さらに、特許文献２によれば、バスマスタのデータ転送要求の出力時間（１回要求する当たりの要求時間）をバスマスタ毎で異なるように制限する手法が開示されている。また、特許文献４によれば、各々のバスマスタについて、１回当たりのバス回路の使用時間をバスマスタ毎で異なるように設定できる手法が開示されている。
【００１４】
しかし、これら手法を用いて所定のバスマスタの帯域保証を行う場合においても、各バスマスタおよびバスの性能，各バスマスタの帯域の限界値，各バスマスタの転送要求の頻度等を予測するだけでなく、所定のバスマスタの帯域を予測した上で、各バスマスタにおけるデータ転送要求の要求時間やバス回路の使用時間を設定しなければならず、このような設定はシステム設計の難解化を招来するという問題が生じる。
【００１５】
本発明は、システム設計の難解化を抑制しつつ、所定の転送制御部（バスマスタ）に対する帯域保証を可能とするデータ転送制御装置，データ転送制御方法，データ転送装置，画像形成装置，データ転送制御プログラム，および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明のデータ転送制御装置は、上記目的を達成するために、転送回路を介したデータ転送を制御する複数の転送制御部が上記転送回路を共有しており、各転送制御部からデータ転送要求を受信すると、上記各転送制御部に設定される各優先度に基づいて、いずれか一つの転送制御部によるデータ転送を実行させるデータ転送制御装置において、上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する計測手段と、上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する優先度制御手段と、を含むことを特徴とする。
【００１７】
上記構成によれば、複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量をリアルタイムに計測でき（以下、計測された単位時間当たりの転送データ量を「実効帯域」と称す）、この実効帯域に応じて上記所定の転送制御部に設定される優先度を変更できる。
【００１８】
それゆえ、上記実効帯域がある程度以上維持されるように、所定の転送制御部に設定される優先度を適宜変更することによって所定の転送制御部によるデータ転送の実行頻度を調整すれば、所定の転送制御部に対して帯域保証を行うことが可能となる。
【００１９】
また、以上の構成によれば、上記計測手段および上記優先度変更手段を備えるだけで所定の転送制御部に対して帯域保証を行えるため、所定の転送制御部の帯域を予測した上でのシステム設計を行う必要がなくなる。それゆえ、システム設計の難解化を抑制しつつ、所定の転送制御部に対する帯域保証が可能になるという効果を奏する。
【００２０】
それゆえ、本発明のデータ転送制御装置は、上記構成に加えて、上記優先度制御手段は、上記実効帯域が目標値以下の場合、目標値を超える場合よりも、上記所定の転送制御部に設定する優先度を向上させることが好ましい。
【００２１】
上記構成によれば、所定の転送制御部における実効帯域が目標値以下になると、所定の転送制御部によるデータ転送の実行頻度を増加させることができる。それゆえ、所定の転送制御部の実効帯域を目標値から過度に低下することを抑制でき、これにより、該実効帯域をある程度以上維持することが容易となる。また、この構成によれば、所定の転送制御部の実効帯域が上記目標値を超えると、上記目標値以下の場合よりも所定の転送制御部に設定される優先度が低下することとなり、所定の転送制御部によるデータ転送の実行頻度を減少させることができる。それゆえ、所定の転送制御部の実効帯域が目標値を越えて過度になりつつある場合、他の転送制御部にデータ転送を制御させる余地を与えることが可能となる。したがって、所定の転送制御部における実効帯域が過剰になっているにも拘わらず、所定の転送制御部によるデータ転送が最優先されてしまい、他の転送制御部の帯域が無意味に圧迫されるという事態を抑制することができる。
【００２２】
また、本発明のデータ転送制御装置は、上記構成に加えて、上記優先度制御手段は、上記実効帯域が目標値以下の場合、上記所定の転送制御部に、最も高い優先度を設定することが好ましい。
【００２３】
上記構成によれば、所定の転送制御部における実効帯域が目標値以下になると、所定の転送制御部によるデータ転送を最優先で行わせることができ、所定の転送制御部の実効帯域の維持がさらに容易となる。
【００２４】
また、本発明のデータ転送制御装置は、上記構成に加えて、所定規則に従った優先度が転送制御部毎に与えられており、上記優先度制御手段は、上記実効帯域が目標値以下の場合、上記所定の転送制御部に、上記所定規則に従った各優先度よりも高い優先度を上記最も高い優先度として設定し、他の転送制御部に、当該他の転送制御部に与えられている上記所定規則に従った優先度を設定し、上記実効帯域が目標値を越える場合、上記所定の転送制御部に、上記所定規則に従って当該所定の転送制御部に与えられている優先度を設定し、他の転送制御部に、上記所定規則に従って当該他の転送制御部に与えられている優先度を設定する構成であってもよい。
【００２５】
上記構成によれば、所定の転送制御部以外の転送制御部には、常に、所定の規則に従って該転送制御部に与えられている優先度が設定される。また、所定の転送制御部においても、上記実効帯域が目標値を超える場合は、所定の規則に従って該所定の転送制御部に与えられている優先度が設定される。これに対し、上記実効帯域が目標値以下の場合、上記所定の転送制御部には、上記所定規則に従った各優先度よりも高い優先度が設定される。これにより、上記実効帯域が目標値以下の場合、上記実効帯域が目標値を越える場合よりも、所定の転送制御部に設定される優先度を向上させることができ、かつ、所定の転送制御部に最も高い優先度を設定することができる。
【００２６】
また、本発明のデータ転送制御装置において、上記実効帯域が目標値以下の所定の転送制御部が複数ある場合、どの所定の転送制御部に、上記最も高い優先度を設定すべきなのかという問題が生じる。これは、上記複数の転送制御部の各々に、上記最も高い優先度を設定してしまうと、どの所定の転送制御部によるデータ転送を実行すべきなのかをデータ転送制御装置が判断できなくなるからである。
【００２７】
そこで、本発明のデータ転送制御装置は、上記実効帯域が目標値以下の所定の転送制御部が複数ある場合、上記所定規則に従って各所定の転送制御部に与えられている各々の優先度に基づいて、いずれか一つの所定の転送制御部のみに、上記所定規則に従った各優先度よりも高い優先度を設定する構成であってもよい。これにより、データ転送制御装置は、どの所定の転送制御部によるデータ転送を実行すべきなのかを判断することができる。
【００２８】
また、本発明のデータ転送制御装置は、上記実効帯域が目標値以下の所定の転送制御部が複数ある場合、上記目標値に対する上記転送データ量の不足度を示した不足度パラメータが最も高い上記所定の転送制御部のみに、上記所定規則に従った各優先度よりも高い優先度を与える構成であってもよい。これにより、目標値に対する実効帯域の不足度合が最も高く、データ転送を行う必要性の最も高い転送制御部によるデータ転送を最優先することができる。
【００２９】
また、上記不足度パラメータとは、上記目標値と上記転送データ量との差分の絶対値であってもよい。これにより、上記実効帯域が上記目標値から最も離れている所定の転送制御部によるデータ転送を最優先することができる。
【００３０】
さらに、上記不足度パラメータとは、上記目標値と上記転送データ量との差分の絶対値を上記目標値で除算した値であってもよい。これにより、上記目標値に対する上記実効帯域の不足量の占める割合の最も大きい所定の転送制御部のデータ転送を最優先することができる。このような構成は、所定の転送制御部の各々が、互いに上記目標値を大幅に異ならせている場合に好適である。
【００３１】
また、本発明のデータ転送制御装置において、上記所定の転送制御部とは、帯域保証要求を出力している転送制御部であることが好ましい。
【００３２】
上記構成によれば、帯域保証要求を出力している転送制御部のみを対象として上記した優先度の変更処理を行うこととなる。したがって、帯域保証の必要な転送制御部のみを対象にし、かつ、帯域保証の必要な場合にのみ上記した優先度の変更処理を行うようにできる。
【００３３】
さらに、本発明のデータ転送制御装置は、上記構成に加えて、上記計測手段が、上記所定の転送制御部が上記帯域保証要求を出力している期間中のみ、当該所定の転送制御部に制御されるデータ転送についての上記実効帯域を計測することが好ましい。
【００３４】
上記構成によれば、上記計測手段は、帯域保証要求が出力されている期間中のみに限定して実効帯域の計測を行うこととなる。これにより、上記計測手段は、常に計測を行うことなく、必要期間内のみに限定して計測を行うこととなり、計測が継続されることによる誤差の拡大を抑制することができ、より正確な測定を行うことができる。
【００３５】
また、本発明のデータ転送制御装置は、上記構成に加えて、上記計測手段が、所定期間毎に、計測した上記実効帯域をリセットする構成であることが好ましい。
【００３６】
上記構成によれば、所定期間毎に計測した上記実効帯域幅をリセットしているため、計測中の実効帯域に誤差が生じたとしても、所定期間毎に当該誤差をキャンセルすることが可能になる。
【００３７】
また、本発明は、上記データ転送制御装置と上記転送回路と上記転送回路を共用する上記複数の転送制御部とを含むデータ転送装置と表現することも可能であり、このデータ転送装置においても、上記データ転送制御装置と略同一の効果を奏することができる。
【００３８】
さらに、本発明のデータ転送装置は、画像を印刷する処理を行う印刷部と上記印刷部に対する画像データの転送を制御する画像データ転送制御部とを含む画像形成装置に適用することも可能である。この場合、上記画像データ転送制御部を上記所定の転送制御部として構成すれば、上記画像データ転送制御部による画像データ転送の帯域保証を行うことができ、印刷部に対して連続的に一定量以上の画像データの供給を行うことができる。それゆえ、印刷部に対する画像データの供給不足による印刷不良を抑制することができる。
【００３９】
また、本発明は、転送回路を介したデータ転送を制御する複数の転送制御部が上記転送回路を共有しており、各転送制御部からデータ転送要求を受信すると、上記各転送制御部に設定される各優先度に基づいて、いずれか一つの転送制御部によるデータ転送を実行させるデータ転送制御方法において、上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する工程と、上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する工程と、を含むデータ転送制御方法、とも表現することができる。このデータ転送制御方法においても、上述したデータ転送制御装置と略同一の効果を奏することが可能である。
【００４０】
なお、本発明は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させるデータ転送制御プログラムが本発明の範疇に入り、また、このデータ転送制御プログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
【発明の効果】
【００４１】
以上のように、本発明のデータ転送制御装置は、上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する計測手段と、上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する優先度制御手段と、を含む構成である。
【００４２】
それゆえ、上記所定の転送制御部によるデータ転送の実効帯域がある程度以上維持されるように、所定の転送制御部に設定される優先度を適宜変更することによって所定の転送制御部によるデータ転送の実行頻度を調整すれば、所定の転送制御部に対して帯域保証を行うことが可能となる。
【００４３】
また、以上の構成によれば、上記計測手段および上記優先度変更手段を備えるだけで所定の転送制御部に対して帯域保証を行えるため、所定の転送制御部の帯域を予測した上でのシステム設計を行う必要がなくなる。それゆえ、システム設計の難解化を抑制しつつ、所定の転送制御部に対する帯域保証が可能になるという効果を奏する。
【００４４】
なお、本発明のデータ転送制御方法，データ転送装置，画像形成装置，データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体も、上記した本発明のデータ転送制御装置と略同一の効果を奏する。
【発明を実施するための最良の形態】
【００４５】
以下、本発明のデータ転送制御装置の一実施形態を図に基づいて説明する。なお、本実施形態では、プリンタ内部のプリンタコントローラに備えられている調停回路を上記データ転送制御装置として説明する。
【００４６】
まず、上記したプリンタ内部の構成の概略について説明する。図２は、プリンタ内部の構成を示したブロック図である。図２に示すように、プリンタ１０は、プリンタコントローラ１１，プリンタエンジン１２を備える構成である。
【００４７】
プリンタ（画像形成装置）１０は、外部から入力したデータに基づいて用紙上に画像を形成する装置であり、例えば、電子写真方式の複写機，インクジェットプリンタ，ＭＦＰ（Multi Function Printer），写真焼付装置等が該当する。
【００４８】
プリンタコントローラ１１は、プリンタ１０の動作を統括的に制御する制御装置（情報処理装置）であり、図示するように、ＣＰＵ，ＲＡＭ，ＲＯＭ，Ｉ／Ｏデバイス，システムコントローラ等から構成されるコンピュータである。また、プリンタコントローラ１１は、プリンタ言語で示されたデータを外部から受信し、受信したデータをビットマップ形式の画像データに変換してプリンタエンジン１２へ送る処理を実行する。
【００４９】
プリンタエンジン（印刷部）１２は、プリンタコントローラ１１から画像データを受信し、受信した画像データに基づいて用紙上に画像を形成する処理を行う装置である。
【００５０】
つぎに、プリンタコントローラ１１の内部構成について詳細に説明する。図２に示すように、プリンタコントローラ１１は、ＣＰＵ２１，ＲＡＭ２２，ＲＯＭ２３，Ｉ／Ｏデバイス２４，システムコントローラ２５を含む構成である。なお、ＣＰＵ２１，ＲＡＭ２２，ＲＯＭ２３，Ｉ／Ｏデバイス２４，プリンタエンジン１２の各々は、システムコントローラ２５に接続されている。
【００５１】
ＣＰＵ２１は、データの変換・加工処理や各種の演算処理等の情報処理を行うものである。具体的に、ＣＰＵ２１は、ＲＡＭ２２にアクセスすることによって、ＲＡＭ２２に展開されている各種データの加工・変換・演算処理を行う。また、ＣＰＵ２１は、システムコントローラ２５にコマンドを与えることによって、ＲＡＭ２２，ＲＯＭ２３，Ｉ／Ｏデバイス２４のいずれかのデバイスから、ＲＡＭ２２，ＲＯＭ２３，Ｉ／Ｏデバイス２４，プリンタエンジン１２のいずれかのデバイスにデータを転送させることができる。
【００５２】
ＲＡＭ２２は、プリンタコントローラ１１における各種の制御プログラムおよび該制御プログラムの実行に必要な所定のデータが書き込まれ、また、外部からから送られた各種データが書き込まれるメモリである。ＲＯＭ２３は、読み取り専用の記憶装置であり各種データが保存されるものである。Ｉ／Ｏデバイス２４は、外部との間でデータの入出力を行うものであり、通信インターフェース，キーボード，表示装置等が該当する。
【００５３】
システムコントローラ２５は、ＣＰＵ２１，ＲＡＭ２２，ＲＯＭ２３，Ｉ／Ｏデバイス２４，プリンタエンジン１２の各々のデバイス間のデータ（プログラムを含む）転送を実現するものであり、例えば、ＬＳＩ（Large Scale Integration）により構成される。
【００５４】
なお、以下では、データ転送先またはデータ転送先となり得るＣＰＵ２１，ＲＡＭ２２，ＲＯＭ２３，Ｉ／Ｏデバイス２４，プリンタエンジン１２を、各々、「デバイス」と称することがある。
【００５５】
また、システムコントローラ（データ転送装置）２５は、図２に示すように、データ転送を行うためのバス回路３７を含み、さらに、このバス回路３７に接続されるＣＰＵインターフェース３１ａ，ＤＭＡコントローラ３１ｂ，エンジンインターフェース３１ｃ，ＲＯＭコントローラ３２ａ，ＲＡＭコントローラ３２ｂ，Ｉ／Ｏコントローラ３２ｃを含む構成である。
【００５６】
ＣＰＵインターフェース３１ａはＣＰＵ２１に接続され、エンジンインターフェース３１ｃはプリンタエンジン１２に接続され、ＲＯＭコントローラ３２ａはＲＯＭ２３に接続され、ＲＡＭコントローラ３２ｂはＲＡＭ２２に接続され、Ｉ／Ｏコントローラ３２ｃはＩ／Ｏデバイス２４に接続される。
【００５７】
ＣＰＵインターフェース３１ａ，ＤＭＡコントローラ３１ｂ，エンジンインターフェース３１ｃは、システムコントローラ２５にて実現されるデータ転送を制御するものである。
【００５８】
具体的に、ＣＰＵインターフェース３１ａまたはＤＭＡコントローラ３１ｂは、ＲＯＭ２３，ＲＡＭ２２，Ｉ／Ｏデバイス２４の各々のデバイス間のデータ転送を制御する。なお、ＣＰＵインターフェース３１によって制御されるデータ転送では、データは、転送元デバイスからバス回路３７およびＣＰＵインターフェース３１を介してＣＰＵ２１へ転送され、ＣＰＵ２１からＣＰＵインターフェース３１およびバス回路３７を介して転送先デバイスへ転送される。また、ＤＭＡコントローラ３１ｂによって制御されるデータ転送では、データは、転送元デバイスからバス回路３７を介してＤＭＡコントローラ３１ｂへ転送され、ＤＭＡコントローラ３１ｂからバス回路３７を介して転送先デバイスへ転送される。
【００５９】
なお、エンジンインターフェース（画像データ転送制御部）３１ｃは、ＲＡＭ２２からプリンタエンジン１２へのデータ転送を制御する。このデータ転送において、データは、ＲＡＭ２２からバス回路３７を介してエンジンインターフェース３１ｃへ転送され、エンジンインターフェース３１ｃからプリンタエンジン１２へ転送される。
【００６０】
また、ＣＰＵインターフェース３１ａ，ＤＭＡコントローラ３１ｂ，エンジンインターフェース３１ｃは、各々のデータ転送を制御する前に、バス回路３７にデータ転送要求信号（以下、「データ転送要求」と称する）を送信する。そして、後述するが、バス回路３７は、データ転送要求を送信してきたＣＰＵインターフェース３１ａ，ＤＭＡコントローラ３１ｂ，エンジンインターフェース３１ｃに対して転送許可信号（以下、「転送許可」と称する）を与える。ＣＰＵインターフェース３１ａ，ＤＭＡコントローラ３１ｂ，エンジンインターフェース３１ｃは、この転送許可を受けることによって、バス回路３７に含まれるデータ伝送路の使用権を獲得し、バス回路３７を介したデータ転送を制御することができる。
【００６１】
なお、本実施の形態では、データ転送要求を出力することによってバス回路３７に含まれるデータ転送路の使用権を獲得し、該バス回路３７を介したデータ転送を制御する機能をもつＣＰＵインターフェース３１ａ，ＤＭＡコントローラ３１ｂ，エンジンインターフェース３１ｃを、各々、バスマスタ（転送制御部）と称することがある。
【００６２】
ＲＯＭコントローラ３２ａ，ＲＡＭコントローラ３２ｂ，Ｉ／Ｏコントローラ３２ｃは、バスマスタ３１によって制御されるデータ転送において、転送元となるデバイスからデータを読み出し、また、転送先となるデバイスへデータの書き込みを行う機能を有するものである。
【００６３】
具体的に、ＲＯＭコントローラ３２ａはＲＯＭ２３からデータを読み出す。ＲＡＭコントローラ３２ｂは、ＲＡＭ２２からデータを読み出し、または、ＲＡＭ２２へデータを書き込む。Ｉ／Ｏコントローラ３２ｃは、Ｉ／Ｏデバイス２４からデータを読み出し、または、Ｉ／Ｏデバイス２４へデータを書き込む。
【００６４】
なお、本実施の形態では、バスマスタによって起動されるデータ転送において、転送元となるデバイスからのデータの読み出し、または、転送先となるデバイスへのデータの書き込みを行うＲＯＭコントローラ３２ａ，ＲＡＭコントローラ３２ｂ，Ｉ／Ｏコントローラ３２ｃの各々をバスターゲットと称することがある。
【００６５】
また、エンジンインターフェース３１ｃは、ＲＡＭ２２からプリンタエンジン１２へのデータ転送を制御するバスマスタあるが、転送先デバイスであるプリンタエンジン１２へのデータの書き込みは、このエンジンインターフェース３１ｃ自体によって行われる。それゆえ、エンジンインターフェース３１ｃは、バスマスタであると共に、転送先デバイスに接続されるバスターゲットとしての機能をも有するものである。
【００６６】
バス回路３７は、バスマスタ３１からデータ転送要求を受信すると、このデータ転送要求を出力したバスマスタに対して転送許可を与える。また、バス回路３７は、転送許可を与えたバスマスタによって制御されるデータ転送を行うために、このデータ転送における転送元のデバイスに接続されているバスターゲットと、転送先のデバイスに接続されているバスターゲットとを選択して、選択したバスターゲットにデータの読出命令または書込命令を伝達する。
【００６７】
そして、転送元のデバイスに接続されているバスターゲットによって転送元デバイスからデータが読み出され、読み出されたデータは、バス回路３７およびデータ転送を制御するバスマスタ３１を介して、転送先デバイスに接続されているバスターゲット３２へ伝達される。さらに、転送先デバイスに接続されているバスターゲット３２は、バス回路３７を介して伝達されてきたデータを転送先デバイスに書き込む。このようにして、各デバイス間のデータ転送が実現される。
【００６８】
但し、エンジンインターフェース３１ｃによって制御されるデータ転送においては、該エンジンインターフェース３１ｃがバスマスタかつ転送先デバイスのバスターゲットとして機能する。それゆえ、この場合、転送元デバイス（ＲＡＭ２２）から読み出されたデータは、バス回路３７を介して、エンジンインターフェース３１ｃへ伝達され、その後、エンジンインターフェース３１ｃによってプリンタエンジン１２へデータが書き込まれる。
【００６９】
つぎに、以上示したバス回路３７の構成について詳細に説明する。図３は、バス回路３７の構成を示したブロック図である。同図に示すように、バス回路３７には、転送回路４１，調停回路４２が含まれている。
【００７０】
転送回路４１は、各バスマスタおよび各バスターゲットの各々に接続されており、バスマスタとバスターゲットとの間におけるデータ伝送路としての機能を有するものである。つまり、各バスマスタ３１ａ・３１ｂ・３１ｃは、バス回路３７に含まれる転送回路４１を共有し、転送回路４１を介したデータ転送を制御する。
【００７１】
なお、バス回路３７がＬＳＩである場合は、セレクタと制御回路とを集積させることによって転送回路４１を構成することができる。また、転送回路４１は、例えば、ハードワイヤからなるデータ線であってもよい。
【００７２】
調停回路（データ転送制御装置）４２は、各バスマスタ３１ａ・３１ｂ・３１ｃに接続されており、バスマスタ３１からデータ転送要求を受信し、このデータ転送要求を出力したバスマスタ３１に対して転送許可を与える回路である。ここで、この調停回路４２は、複数のバスマスタ３１…の各々から同時にデータ転送要求を受信している場合、いずれか一つのバスマスタ３１に対してのみ転送許可を与えることによって、各バスマスタ３１…からのデータ転送要求を調停している。
【００７３】
ここで、各々のバスマスタ３１…は、上記転送許可を受けないと、データ転送を起動・制御することができない。それゆえ、調停回路４２が上記調停を行うことによって、あるバスマスタ３１によるデータ転送と他のバスマスタ３１によるデータ転送とが、バス回路３７に含まれる転送回路４１において同時に実行されるという事態を回避できる。
【００７４】
つぎに、調停回路４２の詳細について説明する。図１は、調停回路４２の構成を示したブロック図である。
【００７５】
調停回路４２は、図１に示すように、優先度判定回路５１を含む構成である。
【００７６】
優先度判定回路５１は、各バスマスタ３１ａ・３１ｂ・３１ｃに接続されており、バスマスタ３１ａ・３１ｂ・３１ｃの各々からデータ転送要求を受信すると、所定規則に従って各バスマスタ３１ａ・３１ｂ・３１ｃに予め与えられている各々の優先度を各々のバスマスタ３１ａ・３１ｂ・３１ｃに設定し、設定した各優先度を対比して、最優先すべきバスマスタを判定し、最優先すべきバスマスタ３１のみに転送許可を送信する（つまり、いずれか一つのバスマスタ３１にデータ転送許可を送信する）。
【００７７】
なお、図１において、「転送要求ａ」はバスマスタ３１ａが出力するデータ転送要求を示し、「転送要求ｂ」はバスマスタ３１ｂが出力するデータ転送要求を示し、「転送要求ｃ」はバスマスタ３１ｃが出力したデータ転送要求を示したものである。さらに、図１において、「転送許可ａ」はバスマスタ３１ａへ送信される転送許可を示し、「転送許可ｂ」はバスマスタ３１ｂへ送信される転送許可を示し、「転送許可ｃ」はバスマスタ３１ｃへ送信される転送許可を示したものである。
【００７８】
また、優先度判定回路５１は、上記所定規則に従って各バスマスタ３１に与えられている各優先度（優先度を示す情報）を、各々のバスマスタ３１ａ・３１ｂ・３１ｃから受信してもよいし、図示しない記憶装置から読み出してもよい。
【００７９】
なお、図１において、「優先度ａ」は、上記所定規則に従ってバスマスタ３１ａに与えられている優先度を示す情報であり、「優先度ｂ」は、上記所定規則に従ってバスマスタ３１ｂに与えられている優先度を示す情報であり、「優先度ｃ」は、上記所定規則に従ってバスマスタ３１ｃに与えられている優先度を示す情報である。
【００８０】
つぎに、以上示した優先度および所定規則について説明する。本実施の形態においては、「優先度ａ」は「優先度ｂ」「優先度ｃ」よりも優先度が高く、「優先度ｂ」は「優先度ｃ」よりも優先度が高い。そして、上記した所定規則とは、各バスマスタ３１ａ・３１ｂ・３１ｃに与える優先度を各々固定にするという規則（「固定優先度規則」ともいう）である。つまり、「優先度ａ」は、バスマスタ３１ａにのみ与えられる優先度であり、「優先度ｂ」は、バスマスタ３１ｂにのみ与えられる優先度であり、「優先度ｃ」は、バスマスタ３１ｃにのみ与えられる優先度である。
【００８１】
つぎに、優先度判定回路５１における処理について説明する。図４は、上記固定優先度規則が適用される場合において、優先度判定回路５１がバスマスタ３１ａ・３１ｂ・３１ｃの各々からデータ転送要求を受信するタイミングと、優先度判定回路５１がバスマスタ３１ａ・３１ｂ・３１ａの各々に転送許可を送信するタイミングとを示したタイミングチャートである。
【００８２】
なお、同図の「転送データ」の欄において、「Ａ」を示す枠は、バスマスタ３１ａに制御されるデータ転送が１回実行されたことを示し、「Ｂ」を示す枠は、バスマスタ３１ｂに制御されるデータ転送が１回実行されたことを示し、「Ｃ」を示す枠は、バスマスタ３１ｃに制御されるデータ転送が１回実行されたことを示す。
【００８３】
同図に示すように、優先度判定回路５１は、バスマスタ３１ａ・３１ｂ・３１ｃの各々から同時にデータ転送要求を受信した場合、上記所定規則に従ってバスマスタ３１ａ・３１ｂ・３１ｃの各々に与えられている各優先度を取得する。そして、優先度判定回路５１は、各々のバスマスタ３１ａ・３１ｂ・３１ｃに対し、各々に与えられている優先度を設定する。つまり、優先度判定回路５１は、バスマスタ３１ａから「優先度ａ」を受信し、この「優先度ａ」をバスマスタ３１ａに設定し、バスマスタ３１ｂから「優先度ｂ」を受信し、この「優先度ｂ」をバスマスタ３１ｂに設定し、バスマスタ３１ｃから「優先度ｂ」を受信し、この「優先度ｃ」をバスマスタ３１ｂに設定する。
【００８４】
そして、優先度判定回路５１は、設定した「優先度ａ」「優先度ｂ」「優先度ｃ」を対比し、「優先度ａ」が最も高いものと判定すると、「優先度ａ」の設定されているバスマスタ３１ａを最優先すべきものとし、バスマスタ３１ａのみに転送許可を送信している。そして、バスマスタ３１ａに転送許可が送信されている間、バスマスタ３１ａによるデータ転送が行われている。
【００８５】
また、優先度判定回路５１は、バスマスタ３１ａ・３１ｂの各々から同時に転送要求を受信した場合、同様にして、上記「優先度ｂ」「優先度ｃ」を対比して、バスマスタ３１ｂを優先すべきものと判定し、バスマスタ３１ｂのみに転送許可を送信している。そして、バスマスタ３１ｂに転送許可が送信されている間、バスマスタ３１ｂによるデータ転送が行われている。
【００８６】
さらに、優先度判定回路５１は、バスマスタ３１ｃのみから転送要求を受信した場合、バスマスタ３１ｃに転送許可を送信している。そして、バスマスタ３１ｃに転送許可が送信されている間、バスマスタ３１ｃによるデータ転送が行われている。
【００８７】
優先度判定回路５１は、以上のようにして、各バスマスタ３１ａ・３１ｂ・３１ｃに設定した各々の優先度に基づいて、いずれか一つのバスマスタ３１に対してのみに転送許可を与えている。
【００８８】
そして、優先度判定回路５１は、転送許可を与えた後、転送許可を与えたバスマスタ３１によって指定されている転送元デバイスに接続されているバスターゲット３２と、転送先デバイスに接続されているバスターゲット３２とを選択し、選択した各バスターゲットにデータの読出命令および書込命令を出力する（図１参照）。なお、各バスマスタ３１が出力するデータ転送要求には、転送元デバイスおよび転送先デバイスに関する情報が含まれており、優先度判定回路５１は、転送許可を与えたバスマスタ３１から既に送られてきているデータ転送要求に基づいて、バスターゲット３２の選択を行っている。
【００８９】
また、本実施の形態の調停回路４２においては、バスマスタ３１ａ・３１ｂ・３１ｃのうちのいずれか１以上のバスマスタ３１について、積極的に帯域保証を行う帯域保証モードが設定することができる。以下では、この帯域保証モードについて詳細に説明する。
【００９０】
まず、バスマスタ３１ａ・３１ｂ・３１ｃの各々においては、帯域保証の必要性の生じている期間中のみ、帯域保証要求信号（以下、「帯域保証要求」とする）を出力するように設定されている。バスマスタ３１ａ・３１ｂ・３１ｃの各々は、この帯域保証要求を出力することによって、上記帯域保証モードを設定できる。
【００９１】
そして、図１に示すように、調停回路４２においては、優先度判定回路５１の他、この優先度判定回路５１に接続されている帯域測定回路５２ａ・５２ｂ・５２ｃが含まれている。以下、この帯域測定回路５２ａ・５２ｂ・５２ｃについて、帯域測定回路５２ｃから順に説明する。
【００９２】
帯域測定回路５２ｃは、バスマスタ（エンジンインターフェース）３１ｃに接続されており、図１に示すように、タイマおよび転送カウンタを含む構成である。
【００９３】
この帯域測定回路５２ｃは、バスマスタ３１ｃが出力する帯域保証要求ｃおよび目標帯域ｃ（バスマスタ３１ｃのデータ転送の目標帯域を示す情報）を受信すると、帯域保証要求ｃを受信している期間について、バスマスタ３１ｃによるデータ転送の実効帯域（単位時間当たりの転送データ量）を計測し、さらに、上記目標帯域ｃと実効帯域との差分を計算し、この差分を示す差分信号を優先度判定回路５１へ伝達する。
【００９４】
なお、帯域測定回路５２ｃは、帯域保証要求ｃを受け付けている期間について、タイマによって経過時間をカウントし、転送カウンタによってバスマスタ３１ｃのデータ転送の転送回数をカウントし、これらカウントの結果から上記実効帯域を概算している。また、上記概算は行わず、単位時間当たりの転送回数自体を上記「単位時間当たりの転送データ量」と見積もってもよい。
【００９５】
また、転送カウンタは、転送回路４１において転送されているデータから、データ転送フラグ（どのバスマスタによって転送制御されているのかを示すフラグ）を取得することによって、上記カウントを行っている。また、帯域測定回路５２ｃは、バスマスタ３１ｃから目標帯域ｃを受信しているが、この目標帯域ｃを図示しない記憶装置から取得してもよい。
【００９６】
そして、優先度判定回路５１は、バスマスタ３１ｃによるデータ転送の実効帯域が上記目標帯域ｃ以下であるか否かを上記差分信号に基づいて判定し、上記実効帯域が目標帯域ｃ以下である場合、バスマスタ３１ｃに、上記所定規則に従った「優先度ｃ」を設定せずに、「優先度Ｓ」を設定する。また、優先度判定回路５１は、上記実効帯域が目標帯域ｃを越えている場合、バスマスタ３１ｃに、「優先度Ｓ」を設定せずに、上記所定規則に従った「優先度ｃ」を設定する。
【００９７】
なお、「優先度Ｓ」とは、上記所定規則によってバスマスタ３１…毎に与えられている「優先度ａ」「優先度ｂ」「優先度ｃ」よりも優先度が高い、つまり、最も優先度が高いことを示している。
【００９８】
また、帯域測定回路５２ａ・５２ｂは、図１に示すように、帯域測定回路５２ｃと同様、各々、タイマと転送カウンタとを含んでいる。なお、帯域測定回路５２ａは、バスマスタ３１ａに接続され、バスマスタ３１ａが出力する帯域保証要求ａおよび目標帯域ａ（バスマスタ３１ａのデータ転送の目標帯域を示す情報）を受信する構成であり、帯域測定回路５２ｂは、バスマスタ３１ｂに接続され、バスマスタ３１ｂが出力する帯域保証要求ｂおよび目標帯域ｂ（バスマスタ３１ｂのデータ転送の目標帯域を示す情報）を受信する構成である。
【００９９】
そして、帯域測定回路５２ｃの場合と同様に、帯域測定回路５２ａは、バスマスタ３１ａによるデータ転送の実効帯域を計測し、さらに、上記目標帯域ａと実効帯域との差分を計算し、この差分を示す差分信号を優先度判定回路５１へ伝達する。
【０１００】
そして、優先度判定回路５１は、バスマスタ３１ａによるデータ転送の実効帯域が上記目標帯域ａ以下であるか否かを上記差分信号に基づいて判定し、上記実効帯域が目標帯域ａ以下である場合、バスマスタ３１ｃに、上記所定規則に従った「優先度ａ」を設定せずに、「優先度Ｓ」を設定する。また、優先度判定回路５１は、上記実効帯域が目標帯域ａを越えている場合、バスマスタ３１ｃに、「優先度Ｓ」を設定せずに、上記所定規則に従った「優先度ａ」を設定する。
【０１０１】
さらに、帯域測定回路５２ａ・５２ｃの場合と同様に、帯域測定回路５２ｂは、バスマスタ３１ｂによるデータ転送の実効帯域を計測し、さらに、上記目標帯域ｂと実効帯域との差分を計算し、この差分を示す差分信号を優先度判定回路５１へ伝達する。
【０１０２】
そして、優先度判定回路５１は、バスマスタ３１ｂによるデータ転送の実効帯域が上記目標帯域ｂ以下であるか否かを上記差分信号に基づいて判定し、上記実効帯域が目標帯域ｂ以下である場合、バスマスタ３１ｂには、上記所定規則に従った「優先度ｂ」を設定せずに、「優先度Ｓ」を設定する。また、優先度判定回路５１は、上記実効帯域が目標帯域ｂを越えている場合、バスマスタ３１ｃには，「優先度Ｓ」を設定せずに、上記所定規則に従った「優先度ｂ」を設定する。
【０１０３】
以上の構成によれば、バスマスタ３１ａ・３１ｂ・３１ｃのうち、いずれか一つのバスマスタ３１が帯域保証要求を出力している場合、そのバスマスタ３１に接続されている帯域測定回路５２がそのバスマスタ３１の実効帯域を計測し、計測した実行帯域と目標帯域との差分を算出している。
【０１０４】
そして、優先度判定回路５１は、この算出された差分を基にして、帯域保証要求を出力しているバスマスタ３１の実効帯域が目標帯域以下か否かを判定している。そして、優先度判定回路５１は、帯域保証要求を出力しているバスマスタ３１の実効帯域が目標帯域以下の場合は、このバスマスタに優先度Ｓを設定し、帯域保証要求を出力していないバスマスタ３１には、所定規則に従ってこのバスマスタ３１に与えられている優先度を設定する。それゆえ、優先度判定回路５１は、帯域保証要求を出力しているバスマスタ３１の実効帯域が目標帯域以下の場合、このバスマスタ３１がデータ転送要求を出力している間、このバスマスタ３１に必ず転送許可を与えることとなる。
【０１０５】
さらに、優先度判定回路５１は、帯域保証要求を出力しているバスマスタ３１の実効帯域が目標帯域を越えている場合、帯域保証要求を出力しているバスマスタ３１に、所定規則に従ってこのバスマスタに与えられている優先度を設定し、帯域保証要求を出力していないバスマスタ３１に、所定規則に従ってこのバスマスタに与えられている優先度を設定する。それゆえ、この場合、帯域保証要求を出力しているバスマスタ３１に転送許可が与えられるとは限らず、他のバスマスタ３１にも転送許可が与えられることがある。
【０１０６】
つぎに、バスマスタ３１ｃのみが帯域保証要求を出力する場合において、バスマスタ３１ｃの実効帯域の推移を図に基づいて説明する。図５は、各バスマスタ３１ａ・３１ｂ・３１ｃのデータ転送要求のタイミング，バスマスタ３１ｃの帯域保証要求のタイミング，各バスマスタ３１に対して出力される転送許可のタイミング，帯域保証要求を出力しているバスマスタ３１ｃの実効帯域の推移を示したタイミングチャートである。
【０１０７】
なお、図５の「転送データ」の欄において、「Ａ」を示す枠はバスマスタ３１ａによって１回データ転送が行われたことを示し、「Ｂ」を示す枠はバスマスタ３１ｂによって１回データ転送が行われたことを示し、「Ｃ」を示す枠はバスマスタ３１ｃによって１回データ転送が行われたことを示す。また、図５の「転送カウンタ」の欄に示される値は、バスマスタ３１ｃに接続されている帯域測定回路５２ｃに含まれる転送カウンタのカウント値を示したものである。さらに、図５の「タイマ」の欄に示される値は、帯域測定回路５２ｃに含まれるタイマのカウント値を示したものである。また、図５に示されるグラフは、横軸が経過時間を示し、縦軸がバスマスタ３１ｃによるデータ転送の実効帯域を示したものである。
【０１０８】
図５において、まず、タイミングαにおいては、各バスマスタ３１ａ・３１ｂ・３１ｃの各々がデータ転送要求を出力しているが、いずれもバスマスタ３１も帯域保証要求を出力していない。この場合、各バスマスタ３１ａ・３１ｂ・３１ｃの各々には所定規則に従った優先度が設定されるから、優先度ａの設定されるバスマスタ３１ａに転送許可が与えられる。
【０１０９】
その後、タイミングβにおいて、バスマスタ３１ｃが帯域保証要求ｃの出力を開始する。これにより、バスマスタ３１ｃに接続されている帯域測定回路５２ｃでは、バスマスタ３１ｃによるデータ転送の実効帯域の計測が開始される。そして、この帯域保証要求ｃが出力されている間、この計測は続けて行われる。
【０１１０】
そして、この計測される実効帯域が目標帯域ｃ以下であるため、バスマスタ３１ｃの優先度は「優先度Ｓ」に設定され、バスマスタ３１ｃのデータ転送要求は、他のどのバスマスタ３１ａ・３１ｂのデータ転送要求よりも優先される。これにより、バスマスタ３１ａ・３１ｂ・３１ｃの各々がデータ転送要求を出力していても、バスマスタ３１ｃに転送許可が与え続けられ、バスマスタ３１ｃによるデータ転送が繰り返される。その結果、バスマスタ３１ｃによるデータ転送の実効帯域は増加する。
【０１１１】
その後、タイミングγにおいて、バスマスタ３１ｃによるデータ転送の実効帯域が目標帯域ｃを超えると、バスマスタ３１ｃに設定される優先度は「優先度Ｓ」から「優先度ｃ」に変更される。これにより、バスマスタ３１ｃのデータ転送要求よりも、「優先度ａ」「優先度ｂ」の設定されるバスマスタ３１ａ・３１ｂのデータ転送要求の方が優先されることとなる。そして、バスマスタ３１ａ・３１ｂ・３１ｃのいずれもがデータ転送要求を出力しているため、バスマスタ３１ａに転送許可が与えられ、バスマスタ３１ｃによるデータ転送は停止する。その結果、バスマスタ３１ｃによるデータ転送の実効帯域幅は減少することになる。
【０１１２】
バスマスタ３１ｃによるデータ転送の実効帯域が減少し続け、タイミングδにおいて、バスマスタ３１ｃによるデータ転送の実効帯域が目標帯域ｃ以下になると、バスマスタ３１ｃに設定される優先度は、「優先度ｃ」から「優先度Ｓ」に再度変更される。これにより、バスマスタ３１ａ・３１ｂ・３１ｃの各々がデータ転送要求を出力していても、バスマスタ３１ｃに転送許可が与えられ、バスマスタ３１ｃによるデータ転送が行われる。その結果、バスマスタ３１ｃによるデータ転送の実効帯域幅は増加する。
【０１１３】
以上の処理が繰り返されることにより、帯域保証要求を出力するバスマスタ３１ｃよるデータ転送の実効帯域は、図５に示すように、目標帯域ｃ付近の値を維持でき、バスマスタ３１ｃに対して帯域保証を行うことができる。
【０１１４】
以上示した実施の形態によれば、転送回路４１を介したデータ転送を制御するバスマスタ３１ａ・３１ｂ・３１ｃが当該転送回路４１を共有しており、調停回路４２は、バスマスタ３１ａ・３１ｂ・３１ｃからデータ転送要求を受信すると、バスマスタ３１ａ・３１ｂ・３１ｃ毎に設定される各優先度に基づいて、いずれか一つのバスマスタ３１に転送許可を与えることによって、転送許可を与えたバスマスタ３１によるデータ転送を実行する制御を行っている。さらに、この調停回路４２は、帯域保証要求を出力しているバスマスタ３１によるデータ転送について、単位時間当たりの転送データ量である実効帯域を計測する帯域測定回路（計測手段）５２ｃと、上記計測された実効帯域に応じて、帯域保証要求を出力しているバスマスタ３１に設定される優先度を変更する優先度判定回路（優先度制御手段）５１と、を含む構成である。
【０１１５】
したがって、帯域保証要求を出力しているバスマスタ３１ｃによるデータ転送について、帯域測定回路５２ｃが実効帯域をリアルタイムに計測し、優先度判定回路５１が、この実効帯域に応じてバスマスタ３１ｃに設定される優先度を変更できる。それゆえ、上記実効帯域がある程度以上維持されるように、帯域保証要求を出力しているバスマスタ３１ｃに設定される優先度を適宜行うことによって該バスマスタ３１ｃによるデータ転送の実行頻度を調整すれば、バスマスタ３１ｃに対して帯域保証を行うことが可能となる。
【０１１６】
また、以上示した実施形態によれば、優先度判定回路５１は、上記実効帯域が目標帯域（目標値）以下の場合、目標帯域を超える場合よりも、帯域保証要求を出力しているバスマスタ３１に設定する優先度を向上させている。
【０１１７】
それゆえ、帯域保証要求を出力しているバスマスタ３１における実効帯域が目標帯域以下になると、帯域保証要求を出力しているバスマスタ３１によるデータ転送の実行頻度を増加させることができる。それゆえ、帯域保証要求を出力しているバスマスタ３１の実効帯域を目標値から過度に低下することを抑制でき、これにより、該実効帯域をある程度以上維持することが容易となる。また、上記実効帯域が目標帯域を越えると、上記目標値以下の場合よりも帯域保証要求を出力しているバスマスタ３１に設定される優先度は低下することとなり、このバスマスタ３１のデータ転送の実効頻度を減少させることができる。それゆえ、帯域保証要求を出力しているバスマスタ３１の実効帯域が目標帯域を越えて過度になりつつある場合、他のバスマスタ３１にデータ転送を制御させる余地を与えることが可能となる。したがって、帯域保証要求を出力しているバスマスタ３１の実効帯域が過剰になっているにも拘わらず、このバスマスタ３１によるデータ転送が最優先されてしまい、他のバスマスタ３１の帯域が無意味に圧迫されるという事態を抑制することができる。
【０１１８】
また、優先度判定回路５１は、帯域保証要求を出力しているバスマスタ３１の実効帯域が目標帯域以下である場合、帯域保証要求を出力しているバスマスタ３１には、上記所定規則に従った各優先度よりも高い優先度である「優先度Ｓ」を設定している。
【０１１９】
これにより、帯域保証要求を出力しているバスマスタ３１における実効帯域が目標帯域以下になると、帯域保証要求を出力しているバスマスタ３１によるデータ転送を最優先で行わせることができ、帯域保証要求を出力しているバスマスタ３１の実効帯域の維持がさらに容易となる。
【０１２０】
また、以上の構成によれば、所定規則に従った優先度がバスマスタ３１ａ・３１ｂ・３１ｃ毎に与えられており、帯域保証要求を出力していないバスマスタ３１には、常に、所定の規則に従って該バスマスタ３１に与えられている優先度が設定される。また、帯域保証要求を出力しているバスマスタ３１においても、このバスマスタ３１の実効帯域が目標帯域を超える場合は、所定の規則に従ってこのバスマスタ３１に与えられている優先度が設定される。これに対し、上記実効帯域が目標帯域以下の場合、帯域保証要求を出力しているバスマスタ３１には、上記所定規則に従った各優先度よりも高い優先度である優先度Ｓが設定される。これにより、上記実効帯域が目標帯域以下の場合、帯域保証要求を出力しているバスマスタ３１に最も高い優先度を設定することができる。
【０１２１】
また、以上示した実施の形態によれば、帯域保証要求を出力しているバスマスタ３１のみを対象として上記した優先度の変更処理を行うこととなる。したがって、帯域保証の必要なバスマスタ３１ｃのみを対象にし、かつ、帯域保証の必要な期間にのみ上記した優先度の変更処理を行うことが可能となる。
【０１２２】
さらに、以上示した実施の形態において、各帯域測定回路５２…は、各々に接続されているバスマスタ３１が帯域保証要求を出力している期間中のみ、実効帯域の計測を行うようにすることが好ましい。このようにすれば、帯域測定回路５２は、帯域保証要求が出力されている期間中のみに限定して実効帯域の計測を行うこととなる。これにより、帯域測定回路５２は、常に計測を行うことなく、必要期間内のみに限定して計測を行うこととなり、計測が継続されることによる誤差の拡大を抑制することができ、より正確な測定を行うことができる。
【０１２３】
また、以上示した実施の形態において、帯域測定回路５２は、所定期間毎に、計測した実効帯域をリセットする構成であることが好ましい。このようにすれば、計測中の実効帯域幅に誤差が生じたとしても、所定期間毎に当該誤差をキャンセルすることが可能になる。
【０１２４】
また、以上示した実施の形態の図５においては、バスマスタ３１ｃのみが帯域保証要求を出力してバスマスタ３１ｃのみ帯域保証モードを設定している形態について説明したが、当然、バスマスタ３１ａ・３１ｂについても同様に帯域保証モードを設定することは可能である。
【０１２５】
ここで、帯域保証要求を出力し、かつ実効帯域が目標帯域以下であるバスマスタ３１が複数ある場合、どのバスマスタ３１に、「優先度Ｓ」を設定すべきなのかという問題が生じる。これは、複数のバスマスタ３１…の各々に、「優先度Ｓ」を設定してしまうと、どのバスマスタ３１を最優先すべきなのかを優先度判定回路５１が判断できなくなるからである。そこで、このような場合は、上記所定規則に従って各バスマスタ３１…に与えられている各々の優先度に基づいて、いずれか一つのバスマスタ３１のみに優先度Ｓを設定すればよい。
【０１２６】
また、帯域保証要求を出力し、かつ実効帯域が目標帯域以下であるバスマスタ３１が複数ある場合、目標帯域と実効帯域との差分の絶対値（不足度パラメータ）が最も大きいバスマスタ３１のみに、優先度Ｓを設定する構成であってもよい。これにより、実行帯域が目標値から最も離れ、データ転送を行う必要性の最も高いバスマスタ３１によるデータ転送を最優先することができる。
【０１２７】
また、帯域保証要求を出力し、かつ実効帯域が目標帯域以下であるバスマスタ３１が複数ある場合、（目標帯域−実効帯域）／目標帯域の値（不足度パラメータ）が最も大きいバスマスタ３１のみに、優先度Ｓを設定する構成であってもよい。これにより、目標帯域に対する実効帯域の不足量の占める割合の最も大きいバスマスタ３１のデータ転送を最優先することができる。このような構成は、複数のバスマスタ３１…の各々が、互いに目標帯域を大幅に異ならせている場合に好適である。
【０１２８】
さらに、以上示した実施の形態においては、バスマスタとしてのエンジンインターフェース３１ｃが帯域保証要求を出力し、このエンジンインターフェース３１ｃのデータ転送についての帯域保証を行っている。ここで、このエンジンインターフェース（画像データ転送制御部）３１ｃは、画像を印刷する処理を行うプリンタエンジン（印刷部）１２への画像データの転送制御を行うものである。それゆえ、プリンタエンジン１２に対して連続的に一定量以上の画像データの供給を行うことができる。それゆえ、プリンタエンジン１２に対する画像データの供給不足による印刷不良を抑制することができる。また、プリンタエンジン１２の印刷処理開始時から終了時に、エンジンインターフェース３１ｃから帯域保証要求を出力させるように設定すれば、印刷処理中においてリアルタイムにエンジンインターフェース３１ｃの帯域保証を実現することが可能になる。
【０１２９】
また、以上示した実施の形態では、システムコントローラ２５は、プリンタ１０に構成されているが、プリンタ１０に限定されるものではなく、汎用コンピュータに構成してもよいし、コンピュータ制御に基づく各種装置（映像表示装置，通信機器，各種家電製品）に構成することもできる。
【０１３０】
また、以上示した実施形態において、上記した優先度に関する所定規則とは、各バスマスタ３１ａ・３１ｂ・３１ｃに与える優先度を各々固定にするという規則であった。しかしながら、このような規則に限定されるものではなく、例えば、上記所定規則として、各バスマスタ３１ａ・３１ｂ・３１ｃに与える各々の優先度（「優先度ａ」「優先度ｂ」「優先度ｃ」）を、各バスマスタ３１ａ・３１ｂ・３１ｃ間で巡回させる規則（「巡回優先度規則」ともいう）を適用してもよい。
【０１３１】
この巡回優先度規則が適用される場合、ある期間において、バスマスタ３１ａに与えられる優先度が「優先度ａ」→「優先度ｂ」→「優先度ｃ」の順に切り換わる場合、例えば、バスマスタ３１ｂに与えられる優先度は「優先度ｂ」→「優先度ｃ」の順に切り換わり、バスマスタ３１ｃに与えられる優先度は「優先度ｃ」→「優先度ａ」→「優先度ｂ」の順に切り換わる。つまり、バスマスタ３１ａ・３１ｂ・３１ｃの各々においては、与えられる優先度が順に切り換わっていくが、同一のタイミングにおいて、各バスマスタ３１ａ・３１ｂ・３１ｃ間では各々異なる優先度が与えられるのである。
【０１３２】
また、以上の巡回優先度規則が適用される場合における優先度判定回路５１の処理の具体例について図６に基づいて説明する。図６は、巡回優先度規則が適用される場合において、優先度判定回路５１がバスマスタ３１ａ・３１ｂ・３１ｃの各々からデータ転送要求を受信するタイミングと、優先度判定回路５１がバスマスタ３１ａ・３１ｂ・３１ｃの各々に転送許可を送信するタイミングとを示したタイミングチャートである。
【０１３３】
図６に示される参照符Ｘの期間においては、バスマスタ３１ａ・３１ｂ・３１ｃの各々が連続してデータ転送要求を出力している一方、バスマスタ３１ａ→バスマスタ３１ｂ→バスマスタ３１ｃ→バスマスタ３１ａ…の順に転送許可が与えられている。これは、参照符Ｘの期間において、バスマスタ３１ａ→バスマスタ３１ｂ→バスマスタ３１ｃ→バスマスタ３１ａ…の順に「優先度ａ」が与えられていることを意味している。
【０１３４】
また、上述した実施の形態では、図３に示すように、各バスマスタ３１ａ・３１ｂ・３１ｃおよび各バスターゲット３２ａ・３２ｂ・３２ｃが一つの転送回路４１を共有している構成を採用しているがこのような構成に限定されるものではない。複数のバスマスタに共有される転送回路４１に接続される調停回路４２であれば、本発明を適用することが可能である。
【０１３５】
例えば、図７に示すように、バス回路３７において、バスターゲット３２…と同数だけ転送回路４１…を構成し、各バスターゲット３２ａ・３２ｂ・３２ｃ毎に別々の転送回路４１を接続し、転送回路４１…毎に別々の調停回路４２を接続する構成を採用してもよい。また、この構成では、転送回路４１…および調停回路４２…の各々は、全てのバスマスタ３１ａ・３１ｂ・３１ｃに接続されている。さらに、この構成の場合、一つの調停回路４２が、本発明のデータ転送制御回路の一実施形態に相当することとなる。
【０１３６】
この図７の構成の場合、図３の構成の場合と比して、以下に述べる点で相違がある。図３の構成では、複数のバスマスタ３１…が同時に転送要求を出力している場合、必ず調停回路４２による調停が行われ、一つのバスマスタ３１のみに対して転送許可を与えることになる。しかしながら、図７の構成では、複数のバスマスタ３１…が同時に転送要求を出力している場合であっても、データ転送において使用される転送回路４１と選択されるバスターゲット３２とが、各バスマスタ３１…の転送要求の各々で異なる場合、調停回路４２…による調停が行われず、各バスマスタ３１…に同時に転送許可が与えられることもある。これは、図７の構成によれば、バスターゲット３２…毎に別々の転送回路４１が設けられ、転送回路４１…毎に別々の調停回路４２が設けられているため、複数のバスマスタ３１…に同時にデータ転送要求を行わせても、データ転送経路によっては、一つの転送回路４１および一つのバスターゲット３２が同時に複数のバスマスタ３１…に使用・選択されるという事態が生じないこともありえ、この場合、調停回路４２…による調停を行わずに、複数のバスマスタ３１…によるデータ転送を同時に実行させても問題は生じないからである。それゆえ、図７の構成は、図３の構成よりも、システムのパフォーマンスが優れていると言える。
【０１３７】
なお、図７の構成において、調停回路４２による調停が行われるのは、複数のバスマスタ３１…が同時にデータ転送要求を行っており、かつ、使用される転送回路４１が、各バスマスタ３１…の転送要求の各々で重複する場合であって、この場合、使用される転送回路４１に接続されている調停回路４２によって調停が行われる。
【０１３８】
ところで、以上の実施の形態では、調停回路４２はハードウェアによって実現されている。しかし、調停回路４２の奏する機能は、プロセッサなどの演算回路が、ＲＯＭやＲＡＭなどの記憶手段に記憶されたプログラムを実行し、各種周辺回路，センサ等を制御することによっても実現することができる。したがって、以上の演算回路，周辺回路等を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の調停回路４２の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
【０１３９】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１４０】
また、プリンタ１０を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１４１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、上述した実施形態において開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１４２】
また、以上示した実施形態においては、バスマスタの帯域保証を実際の転送データ数に基づいてより正確に行うことにより、帯域保証を要求していない他のバスマスタの転送帯域を過度に圧迫することなく、必要な帯域保証を最低限のシステム性能で実現できる。また、システム設計時に、推測の積み重ねによる過度にオーバースペックな設計をせずとも、目的の保証帯域に基づいて、簡易にシステムに必要な性能を求めて最適設計を可能とする。
【０１４３】
また、以上示した実施形態では、特定バスマスタを目標帯域に対してほぼ近い転送帯域を確保することができ、また、それにより他のバスマスタの転送帯域を不必要に圧迫することもない。また、システム設計を行う際にも、同時に帯域保証を要求するマスタのそれぞれの保証帯域の和を最低帯域として設計をすることができ、不必要にオーバースペックなシステム設計をする必要が無くなる。
【０１４４】
これに対し、従来の優先度を定期的に切りかえる方法（特許文献１，３に開示されている方法）では、最高優先度が割り当てられる割合を設定することができるだけであり、転送許可が与えられる割合を指示できるわけではない。これは全バスマスタが常に転送要求を発生し続けている場合に該バスマスタに転送許可が与えられる頻度を意味している。
【０１４５】
また、各バスマスタが一回の転送に要する時間もバスマスタ毎に異なる可能性があり、それぞれのバスマスタにおいてもこの時間が転送毎に異なる可能性がある。よって、特定のマスタの転送帯域を保証しようとすれば、該当バスマスタの必要帯域、各バスマスタが転送に要する時間、転送許可頻度の最悪値を想定した上で優先度設定のアルゴリズムを決定する必要があり、設定がむずかしく、システム全体としてはオーバースペックな設計になってしまう。
【０１４６】
また、バスマスタ毎の使用帯域を制限する方法（特許文献２，４に開示されている方法）では、目的のバスマスタ以外の帯域を制限することによって、目的のバスマスタの帯域保証をするという考え方である為、目的のバスマスタの帯域保証をするためには、他のバスマスタ全ての必要な帯域を決め、最悪値を想定して各バスマスタに割り振る帯域の割合を決定する必要がある。このため、この場合もシステム全体としてはオーバースペックな設計になってしまう。
【０１４７】
なお、本実施形態の調停回路は、複数のバスマスタからの転送要求を調停する調停回路において、バスマスタ毎に実際に転送されたデータ数と時間とを計測し、随時算出される実効帯域に基づいて各バスマスタへの転送許可を制御する、と表現することもできる。これにより、実際の転送帯域を測定しながら常に目的の帯域に対して過不足が少なくなるように調停を行えるため、設計時に最適設計を行うことができ、また、動作時には帯域保証を要求していない別のマスタの転送を過度に圧迫することがなくなる。
【０１４８】
また、以上の調停回路において、帯域要求を出力していないバスマスタに関しては所定の優先度処理に基づき調停を行い、帯域要求を出力しているバスマスタに関しては測定した実効帯域に基づいて調停を行うこととしてもよい。これにより、どのバスマスタも帯域保証要求を出していない場合、および、帯域保証要求を出しているバスマスタが転送要求を出していない場合の調停方法を定めることができる。
【０１４９】
また、以上の調停回路において、帯域要求を出力しているバスマスタに関して、実効帯域が目標帯域に達している場合は所定の優先度処理に基づいた調停を行い、目標帯域に達していない場合は、所定の優先度処理に優先して転送許可を与えることとしてもよい。これにより、帯域保証が必要な場合と、不必要な場合の調停を一つの調停回路において矛盾無く組み合わせて動作させることができる。
【０１５０】
また、以上の調停回路において、帯域保証要求を出力し、かつ目標帯域に達していないバスマスタが複数存在する場合は、そのバスマスタ間の優先度をそれぞれの目標帯域に対する不足分に従って決定してもよい。これにより、複数のバスマスタが帯域保証を要求しかつ転送要求を出している場合、そのいずれを優先して転送許可を出すかを、帯域の不足分、つまりデータ転送の必要性の緊急度に応じて決めることができる。
【０１５１】
さらに、以上の調停回路において、帯域要求を出力し、かつ目標帯域に達していないバスマスタが複数存在する場合は、そのバスマスタ間の優先度をそれぞれの目標帯域に対する不足分の絶対値によって決定してもよい。これにより、複数のバスマスタが帯域保証を要求しかつ転送要求を出している場合、そのいずれを優先して転送許可を出すかを、帯域の不足分、つまりデータ転送の必要性の緊急度に応じて決めることができる。この際、緊急度を現時点で不足しているデータ数によって判断することにより、公平な調停を行うことができる。
【０１５２】
また、以上の調停回路において、帯域要求を出力し、かつ目標帯域に達していないバスマスタが複数存在する場合は、そのバスマスタ間の優先度をそれぞれの目標帯域に対する不足分の比率によって決定してもよい。これにより、複数のバスマスタが帯域保証を要求しかつ転送要求を出している場合、そのいずれを優先して転送許可を出すかを、帯域の不足分、つまりデータ転送の必要性の緊急度に応じて決めることができる。この際、転送データサイズ、一回の転送要求に要する時間など、マスタ毎に異なる特性を吸収して、より公平な調停を行うことができる。
【産業上の利用可能性】
【０１５３】
本発明のデータ転送制御装置は、データ転送が行われるバスを含んだコンピュータ全般に適用でき、また、コンピュータ制御が行われる各種画像形成装置（プリンタ，ファクシミリー等）、コンピュータ制御が行われる各種映像表示装置にも適用でき、さらに、コンピュータ制御が行われる各種家電製品に広く適用可能である。
【図面の簡単な説明】
【０１５４】
【図１】本発明のデータ転送回路の一実施形態である調停回路を示したブロック図である。
【図２】本発明の一実施形態に係るプリンタの構成を示したブロック図である。
【図３】図２に示したプリンタに含まれるバス回路の構成を示したブロック図である。
【図４】固定優先度規則が適用される場合において、優先度判定回路がバスマスタの各々からデータ転送要求を受信するタイミングと、優先度判定回路がバスマスタの各々に転送許可を送信するタイミングとを示したタイミングチャートである。
【図５】帯域保証要求を出力しているバスマスタの実効帯域の推移を示したチャートである。
【図６】巡回優先度規則が適用される場合において、優先度判定回路がバスマスタの各々からデータ転送要求を受信するタイミングと、優先度判定回路がバスマスタの各々に転送許可を送信するタイミングとを示したタイミングチャートである。
【図７】図３に示したバス回路と異なる形態のバス回路を示したブロック図である。
【符号の説明】
【０１５５】
１０    プリンタ（画像形成装置）
１１    プリンタコントローラ
１２    プリンタエンジン（印刷部）
２１    ＣＰＵ
２２    ＲＡＭ
２３    ＲＯＭ
２４    Ｉ／Ｏデバイス
２５    システムコントローラ（データ転送装置）
３１ａ  ＣＰＵインターフェース（バスマスタ，転送制御部）
３１ｂ  ＤＭＡコントローラ（バスマスタ，転送制御部）
３１ｃ  エンジンインターフェース（バスマスタ，バスターゲット，転送制御部，画像データ転送制御部）
３２ａ  ＲＯＭコントローラ（バスターゲット）
３２ｂ  ＲＡＭコントローラ（バスターゲット）
３２ｃ  Ｉ／Ｏコントローラ（バスターゲット）
３７    バス回路
４１    転送回路
４２    調停回路（データ転送制御装置）
５１    優先度判定回路（優先度制御手段）
５２    帯域測定回路（計測手段）
【図１】
2006350573.tif 000003
【図２】
2006350573.tif 000004
【図３】
2006350573.tif 000005
【図４】
2006350573.tif 000006
【図５】
2006350573.tif 000007
【図６】
2006350573.tif 000008
【図７】
2006350573.tif 000009