(57)【要約】      （修正有）【課題】  ＦＩＦＯの残量に応じて、ＰＣＩバスの占有度を高めるＰＣＩバスマスタ制御回路を提供する。【解決手段】  ＰＣＩバス制御部１９で複数のマスタデバイスからＰＣＩバス使用権要求信号を一括して受けＣＰＵ１２へＰＣＩバス使用要求信号をそれぞれ送信する。ＣＰＵ１２でＰＣＩバス１０の調停を行う。ビデオ転送制御部２１の読出しでＦＩＦＯ２０の残量が少ない一定値以下になった場合は、ＰＣＩバス制御部１９は、他のマスタデバイスのＰＣＩバス使用要求信号をマスク部２７でマスクし、ＰＣＩバス使用権を自らのＰＣＩスロット０（１６）系のマスタデバイスで取得し続けＰＣＩバスを占有する。ビデオ転送制御部２１はデータを高速に読出し続けることができる。ＦＩＦＯ２０の残量が多い一定値以上になった場合は、マスクを解除しＰＣＩバス１０は競合状態に戻る。【選択図】  図１
2005135218.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩバスと複数のマスタデバイスを備えた印刷装置において、
前記ＰＣＩバスに対応するＰＣＩスロット手段と、
ＦＩＦＯメモリのデータ残量を測定するデータ残量測定部を備えたＦＩＦＯ記憶手段と、
前記ＦＩＦＯ記憶手段からデータを読み出し、プリンタエンジンにデータを送信するビデオ転送制御手段と、
前記ＰＣＩバスからデータを読み込んで前記ＦＩＦＯ記憶手段に書き込み、
他の複数のマスタデバイスのＰＣＩバス使用要求と自らのマスタデバイスのＰＣＩバス使用要求とを受けて、前記他の複数のマスタデバイスと前記自らのマスタデバイスのそれぞれのＰＣＩバス使用要求信号をＣＰＵに出力し、
前記他の複数のマスタデバイスのＰＣＩバス使用要求をマスクするマスク部を備えたＰＣＩバス制御手段を有するＰＣＩバスマスタ制御回路。
【請求項２】
前記ＰＣＩバス制御手段は、前記ＦＩＦＯ記憶手段の前記データ残量が少ない一定値以下のときは、前記他の複数のマスタデバイスのＰＣＩバス使用要求を前記マスク部によりマスクし、前記自らのマスタデバイスが前記ＰＣＩバスを使用する制御を行い、
前記ＦＩＦＯ記憶手段の前記データ残量が多い一定値以上のときは、前記他の複数のマスタデバイスのＰＣＩバス使用要求のマスクを前記マスク部により解除し、前記ＰＣＩバスの使用権を開放する制御を行う請求項１のＰＣＩバスマスタ制御回路。
【請求項３】
前記ＦＩＦＯ記憶手段は、前記データ残量が前記多い一定値以上であるとき又は前記少ない一定値以下であるときにそれぞれを前記ＰＣＩバス制御手段に通知する信号を出力し、前記データ残量が０であるときにこれを前記ビデオ転送制御手段に通知する信号を出力し、前記データ残量が０のときに前記ビデオ転送制御手段から読出し要求があったことを前記ＰＣＩバス制御手段に通知する信号を出力するものである請求項１又は２のＰＣＩバスマスタ制御回路。
【請求項４】
前記マスクする時間を測定するタイマ部を備えるとともに、前記マスク時間が一定時間を経過したら前記マスクを解除する制御を行う前記ＰＣＩバス制御手段を有する請求項１、２又は３のＰＣＩバスマスタ制御回路。
【請求項５】
一定時間を測定する前記タイマ部を備え、前記ＦＩＦＯ記憶手段のデータ残量が一定時間経過後に、一定値以下ならばさらに該一定時間を測定し、該一定値以上ならば前記マスクを解除する制御を行う前記ＰＣＩバス制御手段を有する請求項１、２又は３のＰＣＩバスマスタ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置での複数のマスタデバイスが接続されたＰＣＩバスの使用権の制御とデータ転送に関するものである。
【背景技術】
【０００２】
ＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｕｓ）がパソコン用のバス技術として普及している。アドレス／データともに３２ビット又は６４ビット幅のバスで、転送レートは３２ビットデータバスで１３２Ｍｂｙｔｅ／ｓである。ＰＣＩバスに関する先行技術を示す文献として次のものがある。
【０００３】
特許文献１は、同期画像入出力手段と非同期データ処理手段とをデータバスを介して相互に接続した画像データ処理システムに関するものである。非同期データ処理手段のＣＰＵ等より、同期画像入出力デバイスのイメージスキャナやプリンタに高い優先順位を与えたバスアービトレーションの方式である。これにより、同期画像入出力デバイスへのデータ転送を確保する。
【特許文献１】特開２００１−２４３１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ビデオ信号を直接入力する高速ページプリンタでは、ビデオ信号の転送速度の限界を高める必要がある。ビデオ信号を途中で途切れさせないようにＰＣＩバスからデータをリードしてビデオ信号を順次転送するため、ビデオ転送制御部に高い優先度でＰＣＩバスの使用権を獲得する必要がある。一方、ＬＡＮ等の受信中心のデバイスで頻繁にＰＣＩバスの使用を要求する可能性がある複数のマスタデバイスがある。よって、ＰＣＩバスのバスアービタの調整ではＰＣＩバス使用権の奪い合いとなる。単にバス使用要求を出す方式だけでは、ＰＣＩバスの使用権の獲得の割合が上がらずにビデオ信号の転送速度の限界を高められない。
【０００５】
そこで、本発明では複数のマスタデバイスからＰＣＩバス使用要求信号を受け取り、ビデオ転送制御部が使うＦＩＦＯの残量に応じて、他のＰＣＩバス使用要求信号をマスクしてビデオ転送制御部のマスタデバイスのＰＣＩバスの占有度を高め、高速プリンタエンジンに対するビデオ信号の転送レートの限界を高めるＰＣＩバスマスタ制御回路を提供する。
【課題を解決するための手段】
【０００６】
上記課題は本発明によれば、ＰＣＩバスと複数のマスタデバイスを備えた印刷装置において、前記ＰＣＩバスに対応するＰＣＩスロット手段と、ＦＩＦＯメモリのデータ残量を測定するデータ残量測定部を備えたＦＩＦＯ記憶手段と、前記ＦＩＦＯ記憶手段からデータを読み出し、プリンタエンジンにデータを送信するビデオ転送制御手段と、前記ＰＣＩバスからデータを読み込んで前記ＦＩＦＯ記憶手段に書き込み、他の複数のマスタデバイスのＰＣＩバス使用要求と自らのマスタデバイスのＰＣＩバス使用要求とを受けて、前記他の複数のマスタデバイスと前記自らのマスタデバイスのそれぞれのＰＣＩバス使用要求信号をＣＰＵに出力し、前記他の複数のマスタデバイスのＰＣＩバス使用要求をマスクするマスク部を備えたＰＣＩバス制御手段を有するＰＣＩバスマスタ制御回路であって、前記ＰＣＩバス制御手段は、前記ＦＩＦＯ記憶手段の前記データ残量が少ない一定値以下のときは、前記他の複数のマスタデバイスのＰＣＩバス使用要求を前記マスク部によりマスクし、前記自らのマスタデバイスが前記ＰＣＩバスを使用する制御を行い、前記ＦＩＦＯ記憶手段の前記データ残量が多い一定値以上のときは、前記他の複数のマスタデバイスのＰＣＩバス使用要求のマスクを前記マスク部により解除し、前記ＰＣＩバスの使用権を開放する制御を行うＰＣＩバスマスタ制御回路によって達成される。
【０００７】
ＰＣＩバス制御手段は、ＦＩＦＯ記憶手段やビデオ転送制御手段とともにデータを転送し、ＰＣＩバスに接続したマスタデバイス内の回路として働くとともにマスク部を持ったＰＣＩバス要求信号の中継手段である。ＰＣＩバス制御手段は、ＦＩＦＯ記憶手段のデータ残量によりマスク制御を行い、自らのＰＣＩバス占有率を高める。ＰＣＩバスマスタ制御回路は、マスタデバイス１つと、バス制御手段と、ＦＩＦＯメモリ手段と、ビデオ転送制御手段から構成される。
【０００８】
ＦＩＦＯメモリ手段は、データ残量が多い一定値以上であるとき又は少ない一定値以下であるときにそれぞれをＰＣＩバス制御手段に通知する信号を出力する。データ残量が０であるときにこれをビデオ転送制御手段に通知する信号を出力し、ビデオ転送制御手段から読出し要求があったことをバス制御手段にアンダーフロー信号として通知する。
【０００９】
また、マスクする時間を測定するタイマ手段を備えるとともに、マスク時間が一定時間を経過したらマスクを解除する制御を行うＰＣＩバス制御手段を有するＰＣＩバスマスタ制御回路でも達成できる。タイマ手段は、マスクを開始するとカウントを始めるものである。
【００１０】
さらに一定時間を測定するタイマ手段を備え、ＦＩＦＯ記憶手段のデータ残量が一定時間経過後に、一定値以下ならばさらに一定時間を測定し、一定値以上ならばマスクを解除する制御を行うバス制御手段を有するＰＣＩバスマスタ制御回路によっても達成できる。一定値の量は、任意に決められる。時間にかかわらず、データ残量がある一定値に達すればＰＣＩバスを開放する。
【発明の効果】
【００１１】
本発明によれば、ＰＣＩバスマスタ制御回路は、他の複数のマスタデバイスからＰＣＩバス使用要求を受け付け、ＦＩＦＯメモリの残量が少ないときにそれらの要求をマスクして待たせるとともに、多いときにＰＣＩバス使用権を与える制御をするのでビデオ転送制御部のＰＣＩバスの占有度を高めることができる。よって、高速なプリンタエンジンに対するビデオ信号の転送レートの限界を高めることができる。
【００１２】
また、タイマを用いてＰＣＩバスマスタ制御回路のＰＣＩバス占有時間が一定値を経過した場合には、他のマスタデバイスのＰＣＩバス使用要求のマスクを解除してＰＣＩバスを使用できるようにした。よって、他のマスタデバイスを長時間待たせることがなく、それによる不都合の可能性を排除している。
【００１３】
もしくは、タイマで一定時間をカウントしその都度データ残量を測定し結果に応じてマスク制御を行うのでより柔軟性のあるＰＣＩバス使用権の制御とデータ転送を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照しながら説明する。
（実施形態１）
図１に本実施形態の構成図を示す。ＰＣＩバス１０は、ホストブリッジ１５、ＰＣＩスロット０（１６）、ＰＣＩスロット１（１７）、ＰＣＩスロット２（１８）が接続されている。ＰＣＩスロット１（１７）とＰＣＩスロット２（１８）のそれぞれに接続する回路は任意であるので省略するが例えば受信を主に行うデバイスである。
【００１５】
各ＰＣＩスロットとそれに接続する回路でマスタデバイスをそれぞれ構成するとする。マスタデバイスを識別するときは、ＰＣＩスロットＸ（ＹＹ）系のマスタデバイスとする。各マスタデバイスは、ＰＣＩバス１０の使用権をＣＰＵ１２に与えられてＰＣＩバス１０を使用する。ＣＰＵバス１１には、ＣＰＵ１２、キャッシュ１３、主記憶メモリ１４、ホストブリッジ１５が接続されている。
【００１６】
ＣＰＵ１２は、複数のマスタデバイスからのＰＣＩバス使用要求信号をＰＣＩバス制御手段から受けて調停しＰＣＩバス使用権を決定し許可する制御を行う。画像データは主記憶メモリ１４又はキャッシュ１３からホストブリッジ１５を介してＰＣＩスロット０（１６）系のマスタデバイスに読み出されて印刷される。ホストブリッジ１５は、ＰＣＩバス１０をＣＰＵバス１１に接続する機能を持つ。
【００１７】
ＰＣＩスロット０（１６）はビデオデータの転送に使用するスロットであり、接続するＰＣＩバス１０からデータを取り込む。ＰＣＩスロット０（１６）は、ＰＣＩバス制御部１９、ＦＩＦＯ２０、ビデオ転送制御部２１とともにＰＣＩバスマスタ制御回路２３を構成する。また、ＰＣＩスロット０（１６）、ＰＣＩバス制御部１９、ＦＩＦＯ２０、ビデオ転送制御部２１は、ＰＣＩスロット０（１６）系のマスタデバイスを構成する。よって、ＰＣＩバスマスタ制御回路２３は、ＰＣＩスロット０（１６）系のマスタデバイスを構成する。
【００１８】
ＰＣＩバス制御部１９は、他の複数の系のマスタデバイスからのＰＣＩバス使用権要求信号を一括して受けて、それぞれをＰＣＩバス使用要求信号としてＰＣＩスロット０（１６）を介してＣＰＵ１２に送信する。つまり、ＰＣＩバス使用要求信号の中継機能を持つ。自らの系のＰＣＩバス使用要求も判断し、ＰＣＩバス使用要求信号として送信する。また、ＰＣＩバス制御部１９は他の複数の系のマスタデバイスからのＰＣＩバス使用要求をマスクする制御を行うマスク部２７を備える。
【００１９】
また、ＰＣＩバス制御部１９はＰＣＩバス使用権を得た場合はＣＰＵ１２と通信し画像データを主記憶メモリ１４からＰＣＩバス１０、ＰＣＩスロット０（１６）を介して読み込む。読み取った画像データをＦＩＦＯ２０に書き込む。ＰＣＩバス制御部１９はＦＩＦＯ２０のデータ残量を反映させてマスクする制御を行う。
【００２０】
ＦＩＦＯ２０は、ＰＣＩバス１０がＰＣＩスロット０（１６）系のマスタデバイスにとって専用バスでなくデータをすぐに取り込めない場合もあるので、データを貯めておくためのメモリである。ＦＩＦＯ２０は、内部にＦＩＦＯメモリ２４とデータ残量測定部２５を備える。本実施形態では、ＦＩＦＯ２０は２５６ワードのものを使用する。ビデオ転送制御部２１は、ＦＩＦＯ２０からデータを読み出してページプリンタエンジン２２に高速で送信する。
【００２１】
次に信号を説明する。ＰＣＩスロット０（１６）は、ＰＣＩバス制御部１９に対し、バスで接続し、フレーム信号ＦＲＡＭ＃、読み込み準備が整ったことを示す信号であるＩＲＤＹ＃、ＣＰＵ１２から送られる送信準備が整ったことを示す信号であるＴＲＤＹ＃、中断又は中止信号であるＳＴＯＰ＃の各信号をやりとりする。各信号末尾の＃はローアクティブを示す。ＦＲＡＭ＃はフレーム期間を示す信号である。ＩＲＤＹ＃は後述するＣ／ＢＥ［３：０］信号のデータイネーブル要求信号でもある。ＴＲＤＹ＃はＩＲＤＹ＃に対する応答でデータイネーブル信号でもある。ＳＴＯＰ＃は、動作を中断又は終了させるときに使用する。
【００２２】
ＰＣＩバス制御部１９には、他の複数の系のマスタデバイスからＰＣＩバス使用権要求信号が来る。ＰＣＩスロット１（１７）からＲＥＱ−１Ａ＃、ＰＣＩスロット２（１８）からＲＥＱ−２Ａ＃が入力される。ＲＥＱ−１Ａ＃はＰＣＩスロット１（１７）系のマスタデバイスからのＰＣＩバス使用権要求信号、ＲＥＱ−２Ａ＃はＰＣＩスロット２（１８）系のマスタデバイスからのＰＣＩバス使用権要求信号である。ＰＣＩバス使用権要求信号は、ＰＣＩバス制御部１９に各系それぞれのＰＣＩバス使用要求信号をＣＰＵ１２に送信することを要求する信号である。例えば、ＰＣＩバス使用権要求信号はマスク部２７を通り、そのままタイミング調整を経てＰＣＩバス使用要求信号になる構成でもよい。なお、ＰＣＩバス制御部１９のマスク部２７は、ＰＣＩバス使用権要求信号の入力をマスクしてもよいし、ＰＣＩバス使用要求信号をマスクしてもよい。よって、ＰＣＩバス制御部１９は、マスタデバイスからＰＣＩバス使用権要求信号があってもその使用要求がマスクされているときはＰＣＩバス使用要求信号を出力しない。
【００２３】
図１では、ＰＣＩスロット１（１７）からＲＥＱ−１Ａ＃信号の入力による要求があったときはＲＥＱ−１＃を、ＰＣＩスロット２（１８）からＲＥＱ−２Ａ＃信号の入力による要求があったときはＲＥＱ−２＃を、自らのＰＣＩスロット０（１６）でＰＣＩバス使用権の要求つまりＰＣＩバス制御部１９の判断による要求のときはＲＥＱ−０＃をＰＣＩスロット０（１６）を介してＣＰＵ１２に送信して要求する。
【００２４】
ＣＰＵ１２は複数のＰＣＩバス使用要求信号例えば、ＲＥＱ−０＃信号、ＲＥＱ−１＃信号の競合の調停を行う。その結果の許可もしくは単独の要求の使用許可によるＰＣＩバス使用権を与えるためにＰＣＩバス使用許可信号を要求元のマスタデバイスに直接送信する。ＰＣＩバス使用要求信号ＲＥＱ−０＃の送信元のＰＣＩスロット０（１６）系のマスタデバイスにＰＣＩバス使用権を許可するときはバス使用許可信号ＧＮＴ−０＃をＰＣＩスロット０（１６）系のマスタデバイスに出力する。ＧＮＴ−０＃信号はＰＣＩスロット０（１６）を介してＰＣＩバス制御部１９に入力される。これによりＰＣＩスロット０（１６）系のマスタデバイスはＰＣＩバス１０の使用を開始する。
【００２５】
他の系のマスタデバイスのＰＣＩバス使用要求信号に対しＰＣＩバス使用権が与えられた場合はＰＣＩバス使用許可信号がそれぞれの系のマスタデバイスに送られる。ＰＣＩバス使用要求信号ＲＥＱ−１＃信号に対する不図示のＰＣＩバス使用許可信号ＧＮＴ−１＃はＰＣＩバス１０の信号でＰＣＩスロット１（１７）に送信されてＰＣＩスロット１（１７）系のマスタデバイスに送られる。ＰＣＩバス使用要求信号ＲＥＱ−２＃信号に対する不図示のＰＣＩバス使用許可信号ＧＮＴ−２＃はＰＣＩバス１０の信号でＰＣＩスロット２（１８）に送信されてＰＣＩスロット２（１８）系のマスタデバイスに送られる。ＰＣＩスロット１（１７）系のマスタデバイス又はＰＣＩスロット２（１８）系のマスタデバイスは、それぞれその後信号をＣＰＵとやりとりしＰＣＩバス１０を使用する。
【００２６】
次にＰＣＩバス制御部１９は、ＦＩＦＯ２０に対しバスで接続し、データ書込み信号ＦＩＦＯ−／ＷＲを出力しデータ書込みを行う。ＦＩＦＯ２０は、データ残量測定部２５によりＦＩＦＯメモリ２４のデータ量を測定する。ＦＩＦＯ２０は、ＰＣＩ制御部１９に対しＦＩＦＯ２０のデータの残量が少なく、少ない一定値例えば２４ワードより少ないときにＦｅｗ信号を、ＦＩＦＯ２０の残量が多く、多い一定値より大きいときにＭａｎｙ信号をそれぞれアクティブ“１”にして出力する。また、Ｍａｎｙ信号はビデオ転送制御部２１にも出力する。ＦＩＦＯ２０の残量が０でビデオ転送制御部２１から読出し要求があるときは、ＦＩＦＯ２０はＵｎｄｅｒｆｌｏｗ信号をアクティブ“１”にしてＰＣＩバス制御部１９に出力する。すなわち、Ｕｎｄｅｒｆｌｏｗ信号はビデオデータの用意が間に合わなかったエラーを示すものである。
【００２７】
ビデオ転送制御部２１はバスでＦＩＦＯ２０と接続し、読出し信号ＦＩＦＯ−／ＲＤをＦＩＦＯ２０に出力する。ＦＩＦＯ２０は、データ残量測定部２５の測定により、残量が０の場合は、何もないことを示すＥｍｐｔｙ信号をビデオ転送制御部２１に出力する。ビデオ転送制御部２１は、バスで印刷を行うペ−ジプリンタエンジン２２と接続している。
【００２８】
次に動作を示す。ＰＣＩバスの競合がない場合である。ＰＣＩスロット０（１６）系のマスタデバイス内のＰＣＩ制御部１９がＰＣＩバス使用権を要求する判断をする。するとＰＣＩバス制御部１９はＰＣＩバス使用要求信号ＲＥＱ−０＃をＰＣＩスロット０（１６）、ホストブリッジ１５を介してＣＰＵ１２に送る。ＣＰＵ１２は、ＰＣＩバス１０の使用を許可し、ＰＣＩバス使用許可信号ＧＮＴ−０＃をホストブリッジ１５、ＰＣＩスロット０（１６）を介してＰＣＩバス制御部１９に送り、ＰＣＩバス使用権を許可する。ＰＣＩバス制御部１９は、ＣＰＵ１２とＦＲＡＭＥ＃、ＩＲＤＹ＃、ＴＲＤＹ＃のタイミングの信号のやりとりを経てコマンドＣ／ＢＥ［３：０］を出力し主記憶メモリ１４からＣＰＵバス１１、ホストブリッジ１５、ＰＣＩバス１０、ＰＣＩスロット０（１６）を介して画像データを読み込む。
【００２９】
ＰＣＩバス制御部１９は読み込んだデータをＦＩＦＯ−／ＷＲ信号を出力してバスでＦＩＦＯ２０に書き込む。これを繰り返しＦＩＦＯ２０に順次書き込んでいく。データ残量が貯まって多くなり多い一定値以上となるとＦＩＦＯ２０はＭａｎｙ信号をアクティブ“１”にしてＰＣＩバス制御部１９とビデオ転送制御部２１に送る。Ｍａｎｙ信号を受けるとＰＣＩバス制御部１９はＦＩＦＯ２０への書込みを停止する。
【００３０】
ビデオ転送制御部２１はＦＩＦＯ−／ＲＤ信号をＦＩＦＯ２０に送り、ＦＩＦＯ２０からバスでデータを順次読出して取り出す。そして、ビデオ転送制御部２１は、ＦＩＦＯ２０からデータを取り出しながらページプリンタエンジン２２にデータをビデオ信号として送信することを開始する。ＦＩＦＯ２０のデータ量が多い一定値より少なくなるとＦＩＦＯ２０がＭａｎｙ信号を出力しなくなる。これを受けたＰＣＩバス制御部１９は再び主記憶メモリ１４からＰＣＩバス１０、ＰＣＩスロット０（１６）等を介してデータを取り込み、ＦＩＦＯ−／ＷＲ信号を送るとともにデータをＦＩＦＯ２０に書き込む動作を再開する。このようにして、ページプリンタエンジン２２にデータを送信する。
【００３１】
以上の動作をタイムチャートで示したものを図２と図３に示す。図２は、ＰＣＩバス１０における連続データアクセスのタイミング例で画像１フレーム分の読み込みを示すタイムチャートである。ＦＲＡＭＥ＃信号は１フレーム分のタイミング信号となっている。ＡＤ［３１：０］はＰＣＩバス１０のアドレスとデータ兼用バスで、アドレスのタイミングとその後は中略をはさんでデータ６４個の連続の読み込みとそのタイミングを示している。Ｃ／ＢＥ［３：０］＃は、コマンドがここでは読出しであり、その後はバイト単位の操作をイネーブルする。Ｃ／ＢＥ［３：０］＃は、Ｃｏｍｍａｎｄ／ＢｙｔｅＥｎａｂｌｅ［３：０］＃の略である。１フレーム中にまず、コマンドを出し、そのあとに一定の信号を出す。ＩＲＤＹ＃は読み込みの準備が整ったことを示し、ＴＲＤＹ＃はＩＲＤＹ＃に対するＣＰＵ１２からの応答でデータ送信準備が整ったことを示す。ＤＥＶＳＥＬ＃は、対象となるマスタデバイスのセレクト信号である。これらの信号によりデータが主記憶メモリ１４から、ホストブリッジ１５、ＰＣＩスロット０（１６）を介してＰＣＩバス制御部１９にデータが送信される。
【００３２】
図３は、ＰＣＩバス１０からの読み込み及びＦＩＦＯ２０の書込みと読出しも含めた複数のフレームのタイムチャートを表したものである。図２と同じものは説明を省く。ＰＣＩスロット０（１６）系のマスタデバイス内のＰＣＩ制御部１９がＰＣＩバス使用権を要求する判断をするとＰＣＩバス使用要求信号ＲＥＱ−０＃をアクティブにしてＣＰＵ１２に送る。ＣＰＵ１２は、ＰＣＩバス１０の使用を許可し、ＰＣＩバス使用許可信号ＧＮＴ−０＃信号をアクティブにし、ＰＣＩバス制御部１９に送信する。以後は図２のフレームの動作が行われる。左側のＧＮＴ−０＃信号の“０”のアクティブ部分で、ＰＣＩバス使用権を得たところでは４フレーム分のＰＣＩバス１０からのデータ読み込みとＦＩＦＯ２０への書き込みを行っている。ＡＤ［３１：０］とＣ／ＢＥ［３：０］＃は、図２の同信号が圧縮された形で示されていてデータが読み込まれている。ＩＲＤＹ＃とＴＲＤＹ＃とＤＥＶＳＥＬ＃は図２と同じものがフレームごとに繰り返されている。
【００３３】
データ書込み信号ＦＩＦＯ−／ＷＲは、データひとかたまり例えば“Ｄ０〜７”ごとにＦＩＦＯ２０に書き込むためにＰＣＩバス制御部１９から出力されている。よって、ＦＩＦＯ−ＷＲ信号はＰＣＩバス制御部１９からＦＩＦＯ２０にデータを書き込んでいることを示している。Ｅｍｐｔｙ信号は最初の書込みでＦＩＦＯ２０が空でなくなるので非アクティブになる。４フレーム目の書込みの最初でＦＩＦＯ２０のデータ残量が多くなり多い一定値を超えたのでＦＩＦＯ２０はＭａｎｙ信号をアクティブにしＰＣＩバス制御部１９とビデオ転送制御部２３に出力する。ＰＣＩバス制御部１９はＰＣＩバス１０からの読み込みとＦＩＦＯ２０への書込みを４フレームで停止しする。つまり、ＰＣＩバス制御部１９はＲＥＱ−０＃を非アクティブにし、ＣＰＵ１２はＧＮＴ−０＃を非アクティブにしてＰＣＩスロット０（１６）系のマスタデバイスのＰＣＩバス使用権を解除する。
【００３４】
ビデオ転送制御部２１は、Ｍａｎｙ信号を受けて読出し信号ＦＩＦＯ−／ＲＤをＦＩＦＯ２０に送り、データをある程度まとめた量を連続的に読み出し継続する。Ｍａｎｙ信号は、ＦＩＦＯ２０からある程度データが読み出され、データ残量測定により多い一定値を下回ると非アクティブに戻る。これにより、再びＰＣＩバス制御部１９がＰＣＩバス使用要求信号ＲＥＱ−０＃を出し、ＧＮＴ−０＃信号を受けてＰＣＩバス使用権を獲得し、ＰＣＩバス１０からデータを読み込みＦＩＦＯ２０への書込みを再開する。１フレーム分のデータをＰＣＩバス１０から読み込んでＦＩＦＯ２０に書き込んだところで再びＭａｎｙ信号がアクティブに出力され、ＦＩＦＯ２０の書込みを停止する。なお、この間もビデオ転送制御部２１のＦＩＦＯ２０からの読出しは継続している。
【００３５】
次に、図４にＰＣＩバス制御部１９の動作及び処理概要のフローチャートを示す。まず、ＦＩＦＯ２０からＭａｎｙ信号を受けているかを判断する。Ｍａｎｙ信号を受けていればこの判断を繰り返す。（Ｓ１０）Ｍａｎｙ信号を受けていなければ、ＰＣＩバス制御部１９はＰＣＩバス使用要求信号ＲＥＱ−０＃をＰＣＩスロット０（１６）、ＰＣＩバス１０を介してＣＰＵ１２に送る。（Ｓ１１）ＣＰＵ１２がＰＣＩバス使用権を許可し、ＰＣＩスロット０（１６）を介してＰＣＩバス１０のＰＣＩバス使用許可信号ＧＮＴ−０＃をＰＣＩバス制御部１９に出力してきたかを判断する。ＧＮＴ−０＃信号が出力されなければこの判断を繰り返す。（Ｓ１２）ＧＮＴ−０＃信号出力を受ければ、ＰＣＩバス制御部１９はＦＲＡＭＥ＃信号とＩＤＲＹ＃信号をＣＰＵ１２に対してアサートする。（Ｓ１３）ＦＲＡＭＥ＃信号とＩＲＤＹ＃信号を受けてＣＰＵ１２がＴＲＤＹ＃信号をアサートしてきたかを判断する。ＴＲＤＹ＃信号のアサートされなければこの判断を繰り返す。（Ｓ１４）ＴＲＤＹ＃信号がアサートされてくれば、ＦＩＦＯライトの処理を行う。ＰＣＩバス１０からのデータ読み込みから、ＦＩＦＯ−／ＷＲ信号を使ってＦＩＦＯ２０に書込みをバースト転送で行う。（Ｓ１５）６４ビット分のデータのバースト転送が終了したか判断する。終了していない場合は、Ｓ１４に戻り転送を継続する。（Ｓ１６）６４ビット分のバースト転送が終了した場合は、ＦＲＡＭＥ＃、ＩＲＤＹ＃の各信号をネゲートする。そして、データをすべて転送したかを判断する。まだ、データを転送する場合はＳ１０に戻り、転送を繰り返す。データを転送し終わった場合はＳ１０に戻る。（Ｓ１７）
次に図５にビデオ転送制御部２１の動作及び処理概要のフローチャートを示す。まず、ＦＩＦＯ２０からビデオ転送制御部２１にＥｍｐｔｙ信号がアクティブで出力されてきているかを判断する。Ｅｍｐｔｙ信号がアクティブで出力されてきていればこの判断を繰り返す。（Ｓ２０）Ｅｍｐｔｙ信号がアクティブで出力されてきていなければ、ビデオ転送制御部２１はＦＩＦＯ２０からＭａｎｙ信号がアクティブで出力されてきているか判断する。Ｍａｎｙ信号がアクティブで出力されてきていなければこの判断を繰り返す。（Ｓ２１）Ｍａｎｙ信号がアクティブで出力されてきていれば、ビデオ転送制御部１９は転送タイミングかどうかを判断する。転送タイミングでなければこの判断を繰り返す。（Ｓ２２）転送タイミングであれば、ビデオ転送制御部２１はＦＩＦＯ−／ＲＤ信号を送りＦＩＦＯ２０からデータをリードする。（Ｓ２３）データの転送し終わったかどうか判断する。終わっていない場合は、Ｓ２２に戻り転送を繰り返す。データ転送し終わった場合はＳ２０の戻る。（Ｓ２４）
次に図６に他の１つのマスタデバイスと競合している場合のタイムチャートを示す。ＰＣＩスロット０（１６）系のマスタデバイスとＰＣＩスロット１（１７）系のマスタデバイスが競合し交互にＰＣＩバス１０を使用している場合である。前述の信号の同じ動作は説明しない。以下同じである。また、マスタデバイス独自の動作に関してはＰＣＩスロット０（１６）系のマスタデバイスのもののみを示す。
【００３６】
ＰＣＩバス制御部１９は、自らのＰＣＩスロット０（１６）系のマスタデバイスのＰＣＩバス使用要求を必要とすると判断するとともに、ＰＣＩスロット１（１７）系のマスタデバイスのＰＣＩバス使用権要求信号ＲＥＱ−１Ａ＃が入力する。
ＰＣＩバス使用要求信号のＰＣＩスロット０（１６）系のマスタデバイスのＲＥＱ−０＃とＰＣＩスロット１（１７）系のマスタデバイスのＲＥＱ−１＃を同時にＣＰＵ１２に出力する。ＣＰＵ１２は、ＰＣＩバス１０の調停を行い、両系のＰＣＩバス使用許可信号ＧＮＴ−０＃とＧＮＴ−１＃を交互にアクティブにして出力しＰＣＩバス使用権を交互に許可する。
【００３７】
よって、ＰＣＩスロット０（１６）系のマスタデバイスとＰＣＩスロット１（１７）系のマスタデバイスが交互にＰＣＩバス使用権を獲得する。ＰＣＩスロット０（１６）系のマスタデバイスはＰＣＩバス使用権獲得率５０％である。
ＡＤ［３１：０］、Ｃ／ＢＥ［３：０］＃、ＦＲＡＭＥ＃、ＩＲＤＹ＃、ＴＲＤＹ＃、ＤＥＶＳＥＬ＃はＰＣＩバス１０でのアドレス、データのタイミング状況を示しており、両系のものを含んで示している。
【００３８】
ＰＣＩスロット０（１６）系のマスタデバイス内のＰＣＩバス制御部１９は、ＧＮＴ−０＃がアクティブになりＰＣＩバス使用権を得たときにＰＣＩバス１０からデータを読み込む。続いてＰＣＩバス制御部１９がＦＩＦＯ−／ＷＲ信号を出し、データをＦＩＦＯ２０に書き込む。これを繰り返し、４回目のＰＣＩバス１０からのデータ読み込みとＦＩＦＯ２０への書込みサイクルの初めで、ＦＩＦＯ２０がＭａｎｙ信号を出力する。ビデオ転送制御部２１はＦＩＦＯ−／ＲＤ信号を出し、ＦＩＦＯ２０からデータを読み取る。Ｍａｎｙ信号を受けてＰＣＩバス制御部１９は、ＦＩＦＯ２０への書込みを停止し、ＲＥＱ−０＃を非アクティブにしている。
【００３９】
このように他の１つのマスタデバイスと競合すると交互に使用するのでＰＣＩスロット０（１６）系のマスタデバイスつまりビデオ転送制御部２１の系のＰＣＩバスの使用権の獲得率は半分の５０％となる。通常のＰＣＩバス１０の割り振りでは均等にＰＣＩバス使用権が与えられる。
【００４０】
次に図７に、他の１つのマスタデバイスと競合している場合で、ビデオ転送制御部２１が継続的にデータを読出してＦＩＦＯ２０の残量が０になり、Ｕｎｄｅｒｆｌｏｗ信号を出力する場合のタイムチャートを示す。片方のＰＣＩバス使用権の獲得率が５０％の状態の場合である。
【００４１】
ＰＣＩバス制御部１９は、自らのＰＣＩスロット０（１６）系のマスタデバイスのＰＣＩバス使用要求を必要とすると判断するとともに、ＰＣＩスロット１（１７）系のマスタデバイスのＰＣＩバス使用要求信号ＲＥＱ−１Ａ＃が入力する。
ＰＣＩバス使用要求信号のＰＣＩスロット０（１６）系のマスタデバイスのＲＥＱ−０＃とＰＣＩスロット１（１７）系のマスタデバイスのＲＥＱ−１＃を同時にＣＰＵ１２に出力する。ＣＰＵ１２は、ＰＣＩバス１０の調停を行い、両系のＰＣＩバス使用許可信号ＧＮＴ−０＃とＧＮＴ−１＃を交互にアクティブにして出力しＰＣＩバス使用権を許可する。
【００４２】
よって、ＰＣＩスロット０（１６）系のマスタデバイスとＰＣＩスロット１（１７）系のマスタデバイスが交互にＰＣＩバス使用権を獲得する。ＰＣＩスロット０（１６）系のマスタデバイスはＰＣＩバス使用権獲得率５０％である。
ＰＣＩスロット０（１６）系のマスタデバイス内のＰＣＩバス制御部１９は、ＧＮＴ−０＃がアクティブになりＰＣＩバス使用権を得たときにＰＣＩバス１０からデータを読み込む。続いてＰＣＩバス制御部１９がＦＩＦＯ−／ＷＲ信号を出し、データをＦＩＦＯ２０に書き込む。ＦＩＦＯ２０に１フレームを４回分書込みをしている。
【００４３】
そして、ビデオ転送制御部２１は、継続してＦＩＦＯ−／ＲＤ信号を出力しＦＩＦＯ２０からデータ読出しを行っている。ＦＩＦＯ２０のデータ残量測定部２５の測定により、少ない一定値よりもＦＩＦＯ２０のデータ残量が少ないことを示すＦｅｗ信号が、図７上で左から２個目のＦＩＦＯ−／ＲＤ信号のところでアクティブになっている。このＦｅｗ信号は、ＦＩＦＯ−／ＷＲ信号によるＦＩＦＯ２０への書込みで２回アクティブでなくなるが継続したビデオ転送制御部２１のＦＩＦＯ−／ＲＤ信号によるデータ読出しによりアクティブに戻っている。
【００４４】
ＦＩＦＯ２０が残量０であることを示すＥｍｐｔｙ信号は、１回アクティブになるがすぐにＦＩＦＯ−／ＷＲ信号によるＦＩＦＯ２０への書込みで解消する。しかし、継続したビデオ転送制御部２１のＦＩＦＯ−ＲＤによるデータ読出しにより再びアクティブになる。そして、次のＦＩＦＯ−／ＲＤ信号によるＦＩＦＯ２０からの読出し時にＦＩＦＯ２０はＵｎｄｅｒｆｌｏｗ信号を出力する。ＦＩＦＯ２０のデータ残量が０のときにデータ読出し信号が来たためエラーとなる。すなわち、データの用意が間に合わなかったエラーである。このとき、Ｅｍｐｔｙ、Ｍａｎｙ、Ｆｅｗの３信号は、不定状態となる。
【００４５】
このエラーの結果、ＦＩＦＯ２０からのデータ読出しが出来なくなり、ビデオ転送制御部２１でのページプリンタエンジン２２へのデータ転送が途切れて正常な印字が出来なくなる。
次は、本実施形態では上記の制御に加えてＰＣＩバス使用要求信号のマスク制御を行うがその説明を行う。他のマスタデバイスとの競合をマスク制御によりなくしＰＣＩバス１０を独占的に使用する又はＰＣＩバス使用権の獲得率を高める方法である。
【００４６】
図８にＰＣＩバス制御部１９のマスク制御のフローチャートを示す。ＰＣＩバス制御部１９のマスク部２７は、ＰＣＩスロット１（１７）系のマスタデバイスとＰＣＩスロット２（１８）系マスタデバイスのＰＣＩバス使用要求信号ＲＥＱ−１＃、ＲＥＱ−２＃のマスクを解除する。（Ｓ３０）ＦＩＦＯ２０がＦｅｗ信号をアクティブで出力してきたかを判断する。Ｆｅｗ信号がアクティブでない場合はＳ３０に戻る。（Ｓ３１）Ｆｅｗ信号がアクティブである場合は、ＰＣＩバス使用要求信号のＲＥＱ−１＃、ＲＥＱ−２＃をマスクする。これにより、ＰＣＩスロット１（１７）系のマスタデバイスとＰＣＩスロット２（１８）系のマスタデバイスはＰＣＩバス１０の使用要求が出来なくなり、ＰＣＩバス１０を使用できなくなる。（Ｓ３２）ＦＩＦＯ２０がＭａｎｙ信号をアクティブで出力してきたかを判断する。Ｍａｎｙ信号がアクティブでなければこの判断を繰り返す。Ｍａｎｙ信号がアクティブであればＳ３０に戻る。（Ｓ３３）
つまり、ＦＩＦＯ２０のＭａｎｙ信号が出てデータ残量が多い一定値より多くなればマスクを解除して他の系のマスタデバイスのＰＣＩバス使用要求があれば他の系のＰＣＩバス使用要求信号を出力し、Ｆｅｗ信号が出て少ない一定値以下になれば他の系のマスタデバイスのバス使用要求をマスクして他の系のＰＣＩバス使用要求信号を出力しない。
【００４７】
次に図９にマスク制御を説明するタイムチャートを示す。ビデオ転送制御部２１によりＦＩＦＯ−／ＲＤ信号が出されＦＩＦＯ２０からデータが読出される。そして、ＦＩＦＯ２０のデータ残量が少なくなり、Ｆｅｗ信号がアクティブになるとＰＣＩバス制御部１９のマスク部２７は、ＲＥＱ−１＃をマスクする。ＰＣＩスロット１（１７）系のマスタデバイス内のＰＣＩスロット１からのＰＣＩバス使用権要求信号のＲＥＱ−１Ａ＃は、アクティブのままである。しかし、ＰＣＩバス制御部１９のマスク制御によりＲＥＱ−１＃はマスクされる。よって、マスクによりＰＣＩバス制御部１９のＰＣＩバス使用要求信号ＲＥＱ−１＃は非アクティブになる。これにより、ＣＰＵ１２からＰＣＩバス使用許可信号ＧＮＴ−１＃も非アクティブになり、ＰＣＩスロット１（１７）系のマスタデバイスはＰＣＩバス使用権を手放すとともに獲得できなくなる。
【００４８】
そして、既にアクティブであるＲＥＱ−０＃に対応してＣＰＵ１２からのＰＣＩバス使用許可信号ＧＮＴ−０＃がアクティブになる。他の系からのＰＣＩバス使用要求信号がないのでＣＰＵ１２はＧＮＴ−０＃をアクティブにし続ける。ＰＣＩバス使用権をＰＣＩスロット０（１６）系のマスタデバイスが獲得し続ける。
【００４９】
ＰＣＩバス制御部１９は、ＰＣＩバス１０からＰＣＩスロット０（１６）を介してデータを取り込み、ＦＩＦＯ−／ＷＲ信号により、ＦＩＦＯ２０にデータを書き込む。これにより、Ｆｅｗ信号はアクティブでなくなる。ＰＣＩスロット０（１６）系のマスタデバイスによりＰＣＩバス１０は占有され続け、ＰＣＩバス１０からのデータの取り込みとＦＩＦＯ２０へのデータの書込みが連続して繰り返される。ビデオ転送制御部２１は、ＦＩＦＯ−／ＲＤ信号によりＦＩＦＯ２０からデータを読出し続ける。
【００５０】
しばらく、ＦＩＦＯ２０への書込みと読出しが繰り返されたあとに、ＦＩＦＯ２０のＭａｎｙ信号がアクティブになる。このとき、ＰＣＩバス制御部１９のマスク部２７は、ＲＥＱ−１＃のマスクを解除する。ＲＥＱ−１＃信号がＰＣＩスロット０（１６）を介してＣＰＵ１２に出力される。
【００５１】
ＣＰＵ１２は、ＲＥＱ−１＃信号を受けて等確率のＰＣＩバス調停を行い、ＰＣＩバス使用権をＰＣＩスロット０（１６）系のマスタデバイスから取り上げてＰＣＩスロット１（１７）系のマスタデバイスに与える。よって、ＣＰＵ１２はＲＥＱ−１＃信号による調停でＧＮＴ−０＃信号を非アクティブにし、ＰＣＩスロット１（１７）系のマスタデバイス内ＰＣＩスロット１（１７）にＧＮＴ−１＃信号をアクティブにして送信する。よって、ＰＣＩバス使用権がＰＣＩスロット１（１７）系のマスタデバイスに移る。
【００５２】
その前に、Ｍａｎｙ信号はＦＩＦＯ２０からの読出しにより一旦非アクティブになるものの次の書込みでＦＩＦＯ２０は再びＭａｎｙ信号をアクティブで出力する。
以上のようにマスク制御するので、ＰＣＩスロット０（１６）系のマスタデバイスはＰＣＩバス使用権をＭａｎｙ信号が出るまで長く占有できる。よって、図６のようなＦＩＦＯ２０の残量が０になり、ビデオ転送制御部２１の読出し要求によりＵｎｄｅｒｆｌｏｗ信号が出てエラーになり、データの用意が間に合わないという現象が起きない。また、ビデオ転送制御部２１が高速にページプリンタエンジン２２にデータを送信することができる。
（実施形態２）
次に、本発明の実施形態２について説明する。ＰＣＩバス１０の占有時間が長くなりすぎるのを防ぐため、タイマ２６を用いてＰＣＩバス使用権の占有の時間制限を行う。構成としては、実施形態１との違いは、ＰＣＩバス制御部１９にタイマ２６を設けることである。ＰＣＩバス制御部１９は、タイマ２６で一定時間を計り、ＦＩＦＯ２０に測定コマンドを出し、データ残量を測定する。
【００５３】
まず、ビデオ転送制御部２１の転送レートが高解像度の場合はさらに高くなる。よって、ＦＩＦＯ２０にＭａｎｙ信号を出力する一定値までデータが貯まるのに長い時間を要することがある。また、転送レートによっては、ＦＩＦＯ２０がＭａｎｙ信号を出す一定値までデータが貯まらない。このときは、ＰＣＩバスは、占有されたままである。
【００５４】
図１０にＰＣＩバス制御部１９のタイマ付きマスク制御のフローチャートを示す。タイマ２６による時間制限でＰＣＩバス１０の使用要求のマスクを解除する。
まず、ＰＣＩバス制御部１９のマスク部２７は、ＲＥＱ−１＃信号、ＲＥＱ−２＃信号のマスクを解除する。（Ｓ４０）ＦＩＦＯ２０がＦｅｗ信号をＦＩＦＯ２０がＦｅｗ信号をアクティブで出力してきたかを判断する。Ｆｅｗ信号がアクティブでない場合はＳ４０に戻る。（Ｓ４１）Ｆｅｗ信号がアクティブになった場合は、ＰＣＩバス使用要求信号のＲＥＱ−１＃、ＲＥＱ−２＃をマスクする。そして、タイマ２６のカウントを開始する。（Ｓ４２）ＰＣＩ制御部１９はタイマのカウントが終了したか判断する。タイマ２６が終了していれば、Ｓ４０に戻る。（Ｓ４３）タイマ２６のカウントが終了していなければ、ＦＩＦＯ２０がＭａｎｙ信号をアクティブで出力してきたかを判断する。Ｍａｎｙ信号がアクティブでなければＳ４３に戻る。Ｍａｎｙ信号がアクティブであればＳ４０に戻る。（Ｓ４４）
この処理により、タイマによる時間制限でＰＣＩバス１０の使用要求のマスクを解除したので、ＰＣＩスロット０（１６）系のマスタデバイスによるＰＣＩバス１０の占有も解除される。マスクを解除された後に他のマスタデバイスがＰＣＩバス使用権を要求できる。
【００５５】
図１１にＰＣＩバス制御部１９のタイマ付きマスク制御のタイムチャートを示す。図９と最初のマスク制御の動作は同じである。ＰＣＩバス制御部１９はＦＩＦＯ２０の残量が少なくなりＦｅｗ信号が出たためマスク部２７でマスク制御を行う。これにより、ＰＣＩバス使用要求信号ＲＥＱ−１＃は非アクティブになる。マスク制御開始と同時にタイマ２６がカウントを開始する。Ｔｉｍｅｒ信号は制限時間が来るまで非アクティブである。マスクによるＲＥＱ−１＃の非アクティブによりＣＰＵ１２はＧＮＴ−１＃を非アクティブとする。アクティブなＲＥＱ−０＃信号によりＣＰＵ１２はＧＮＴ−０＃信号をアクティブでＰＣＩスロット０（１６）に送信する。よって、ＰＣＩスロット０（１６）系のマスタデバイスがＰＣＩバス使用権を得る。
【００５６】
ＦＩＦＯ２０にＦＩＦＯ−／ＷＲ信号でデータが連続して書き込まれる。同時にＦＩＦＯ−／ＲＤ信号でＦＩＦＯ２０からビデオ転送制御部２１がデータを連続して読み出している。ＦＩＦＯ２０からＭａｎｙ信号は出ていない。バス使用要求信号のＲＥＱ−１Ａ＃は、アクティブのままである。
【００５７】
タイマ２６が制限時間を計り終えるとＴｉｍｅｒ信号がアクティブになる。ＰＣＩバス制御部１９は、ＲＥＱ−０＃を強制的にＣＰＵ１２がＧＮＴ−０＃を非アクティブにし、他系にＰＣＩバス使用権を与えられるだけの時間だけ一旦非アクティブにしその後に戻す。よって、ＣＰＵ１２はＧＮＴ−０＃信号を非アクティブとし、ＰＣＩスロット０（１６）系のマスタデバイスのＰＣＩバス使用権の占有が終了する。ＰＣＩバス使用権が開放される。マスクが解除され、ＲＥＱ−１＃がアサートされアクティブになる。ＣＰＵ１２は、ＰＣＩバス使用許可信号ＧＮＴ−１＃をアクティブにしＰＣＩスロット１（１７）に送信する。ＰＣＩスロット１（１７）系のマスタデバイスがＰＣＩバス１０の使用権を得る。Ｔｉｍｅｒ信号は非アクティブになる。
【００５８】
この後は、マスク制御が解除され通常の状態となり、ＲＥＱ−０＃とＲＥＱ−１＃がともに出力され、ＣＰＵ１２の調停によりＧＮＴ−０＃とＧＮＴ−１＃が交互にアクティブになる。よって、ＰＣＩバス使用権がＰＣＩスロット０（１６）系のマスタデバイスとＰＣＩスロット１（１７）系のマスタデバイスで交互に移る。
【００５９】
以上のようにマスク制御をタイマ２６で時間制限することにより、長時間待たなくても他のマスタデバイスもＰＣＩバス使用権を得ることができる。
（実施形態２の変形例）
第２実施形態ではタイマ２６で一定時間が経過したらマスクを解除し他のマスタデバイスにＰＣＩバス１０の獲得機会を与えたが以下のようにしてもよい。
【００６０】
ＰＣＩバス制御部１９は、タイマ２６で一定時間をはかり、その都度ごとにＦＩＦＯ２０のデータ残量を測定しデータ残量によりマスク部２７でマスク制御を変更する。ＰＣＩバス制御部１９は、タイマ２６で一定時間を計り、ＦＩＦＯ２０に測定コマンドを出しデータ残量を測定する。ビデオ転送制御部２１のＦＩＦＯ２０の読み出し方は一定ではないので、ＦＩＦＯ２０のデータ残量測定部２５の測定によるデータ残量により制御を変更する。
【００６１】
タイマ２６の一回目のデータ残量の測定が所定の一定値より多かった場合は、すぐにマスク制御を解除し、ＰＣＩバス使用権を開放して他のマスタデバイスに実行する機会を与える。所定の一定値は任意だが例えばＦＩＦＯメモリ２４の容量の４０％から７０％のうちの一定値、５５％などとする。ビデオ転送制御部のデータ読出し速度等にもよる。
【００６２】
図１２に１回目のデータ残量測定でマスク制御を解除する場合のタイムチャートを示す。ＰＣＩバス１０の使用の要求、許可の信号の詳細に関しては上述と同じなので省略する。
タイマ２６はマスク制御開始後、一定時間のカウント後にＴｉｍｅｒ信号を出し、データ残量測定を行う。ＦＩＦＯ−／ＲＤ信号の間隔が広く、ビデオ転送制御部２１のＦＩＦＯ２０からの読出しが遅い。よって、タイマ２６の測定の１回目でデータ残量が所定の一定値より多い場合にマスク制御を解除しＰＣＩバス使用権を開放する。以後は各系のマスタデバイスのＰＣＩバス使用要求信号を出せるようになり、ＰＣＩスロット０（１６）系のマスタデバイスとＰＣＩスロット１（１７）系のマスタデバイスに交互にＰＣＩバス使用権が割り振られる。
【００６３】
次に、１回目のデータ残量の測定では所定の一定値より少なかった場合は、マスク制御を継続する。２回目の測定でデータ残量が所定の一定値より多ければ、マスク制御を解除し、ＰＣＩバス使用権を開放する。
図１３は、２回目のデータ残量測定でマスク制御を解除する場合のタイムチャートを示す。タイマ２６は、マスク制御開始から一定時間のカウント後、Ｔｉｍｅｒ信号を出すが、１回目のデータ測定では、所定の一定値より少ないため、マスク制御を継続する。それからさらに一定時間のカウント後、２回目のデータ測定で所定の一定値より多いためマスク制御を解除しＰＣＩバス使用権を開放する。以後は各系のマスタデバイスのＰＣＩバス使用要求信号を出せるようになり、ＰＣＩスロット０（１６）系のマスタデバイスとＰＣＩスロット１（１７）系のマスタデバイスに交互にＰＣＩバス１０の使用権が割り振られる。
【図面の簡単な説明】
【００６４】
【図１】本発明の印刷装置の回路構成ブロック図を示す。
【図２】本発明のＰＣＩバスにおける連続データアクセスのタイミング例を示す。
【図３】本発明の回路の動作のタイムチャートを示す。
【図４】本発明のＰＣＩバス制御部の動作のフローチャートを示す。
【図５】本発明のビデオ転送制御部のデータ取得動作のフローチャートを示す。
【図６】本発明の他の１つのマスタデバイスと競合する場合のタイムチャートを示す。
【図７】本発明のＵｎｄｅｒｆｌｏｗ信号を出力する場合のタイムチャートを示す。
【図８】本発明のＰＣＩバス制御部のマスク制御のフローチャートを示す。
【図９】本発明のＰＣＩバス制御部のマスク制御を説明するタイムチャートを示す。
【図１０】本発明のタイマ付きマスク制御のフローチャートを示す。
【図１１】本発明のタイマ付きマスク制御のタイムチャートを示す。
【図１２】本発明の１回目の残量測定でマスクを解除する場合のタイムチャートを示す。
【図１３】本発明の２回目の残量測定でマスクを解除する場合のタイムチャートを示す。
【符号の説明】
【００６５】
１０・・・ＰＣＩバス
１１・・・ＣＰＵバス
１２・・・ＣＰＵ
１３・・・キャッシュ
１４・・・主記憶メモリ
１５・・・ホストブリジ
１６・・・ＰＣＩスロット０
１７・・・ＰＣＩスロット１
１８・・・ＰＣＩスロット２
１９・・・ＰＣＩバス制御部
２０・・・ＦＩＦＯ
２１・・・ビデオ転送制御部
２２・・・ページプリンタエンジン
２３・・・ＰＣＩバスマスタ制御回路
２４・・・ＦＩＦＯメモリ
２５・・・データ残量測定部
２６・・・タイマ
２７・・・マスク部
【図１】
2005135218.tif 000003
【図２】
2005135218.tif 000004
【図３】
2005135218.tif 000005
【図４】
2005135218.tif 000006
【図５】
2005135218.tif 000007
【図６】
2005135218.tif 000008
【図７】
2005135218.tif 000009
【図８】
2005135218.tif 000010
【図９】
2005135218.tif 000011
【図１０】
2005135218.tif 000012
【図１１】
2005135218.tif 000013
【図１２】
2005135218.tif 000014
【図１３】
2005135218.tif 000015