(57)【要約】【課題】  局所的な転送レートの低下やデバイス間での転送量の偏りを招くことなく、複数のデバイスが１つのバスを介してデータを転送できるようにすること。【解決手段】  バス終了状態監視部６０４は、マスタデバイス（ＤＭＡ制御部６１０，６１１内に備わる計８つのＤＭＡＣ（図示省略）のいずれか１）によるＰＣＩバス２０７を介したデータ転送についてのトランザクションがどのような要因によって終了したのかを特定し、履歴保持部６２０に蓄積する。アービター６０６は、受信した内部リクエストの送信元となる各ＤＭＡＣに対してＰＣＩバス２０７を使用する優先順位を定めたアービトレーション順位や保留リクエストと、バス終了状態監視部６０４から通知される各トランザクションの終了要因の履歴とに基づいて、ＰＣＩバス２０７の使用を許可する内部リクエストを選択する。【選択図】      図３
2005115464.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
前記バスを介してデータを送信または受信するデバイスであって、前記送信または受信を行う場合に前記バスの使用を求めるリクエスト信号を送信する複数のデバイスと、
受信した前記リクエスト信号の送信元となる各デバイスに対して前記バスを使用する優先順位を設定する設定手段と、
前記各デバイスによる前記バスを介したデータの送信または受信を終了させた要因を特定する特定手段と、
前記特定手段により特定された要因を前記各デバイス毎に蓄積する蓄積手段と、
前記設定手段により設定された前記各デバイスの優先順位と、前記蓄積手段に前記各デバイス毎に蓄積された要因とに基づいて、前記各デバイスのうち前記バスの使用を許可するデバイスを選択する選択手段と、
前記選択手段により選択されたデバイスによる前記バスを介したデータの送信または受信を制御する制御手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記複数のデバイスは、
前記バスを介してデータを送信するデバイスであって、前記送信を行う場合に前記バスの使用を求めるリクエスト信号を送信する１以上のデバイスと、
前記バスを介してデータを受信するデバイスであって、前記受信を行う場合に前記バスの使用を求めるリクエスト信号を送信する１以上のデバイスとを含む
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記蓄積手段に前記各デバイス毎に蓄積された要因に基づいて、前記設定手段により設定された前記各デバイスの優先順位を更新する更新手段をさらに備える
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記更新手段は、前記蓄積手段に前記各デバイス毎に蓄積された要因のうち、前記優先順位の最も高いデバイスの、最新のものから順に２つの要因がともにデータの送信または受信の中断を示すものであった場合に、前記デバイスの優先順位を下げる
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記選択手段は、前記蓄積手段に前記各デバイス毎に蓄積された要因のうち、前記優先順位の最も高いデバイスの、最新のものから順に２つの要因がともにデータの送信または受信の中断を示すものであった場合に、前記デバイスの選択を保留して次に優先順位の高いデバイスを選択する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記選択手段は、前記蓄積手段に前記各デバイス毎に蓄積された要因のうち、前記優先順位の最も高いデバイスの、最新のものから順に２つの要因がともにデータの送信または受信の中断を示すものであった場合に、前記デバイスの選択を保留して次に優先順位の高いデバイスを選択するとともに、次の選択の際には保留したデバイスを選択する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記制御手段は、前記選択手段による選択が保留されたデバイスがある場合に、前記選択手段により選択されたデバイスによる前記バスを介したデータの送信または受信を複数回に分割して行う
ことを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記設定手段は、前記バスを介してデータを受信するデバイスと、前記バスを介してデータを送信するデバイスとが前記選択手段により交互に選択されるように、受信した前記リクエスト信号の送信元となる各デバイスに対して前記バスを使用する優先順位を設定する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
コンピュータ内のバスに接続され、前記コンピュータへのデータの入力または前記コンピュータからのデータの出力を制御するデータ制御ユニットにおいて、
前記コンピュータへデータを入力するためのデバイスまたは前記コンピュータからデータを出力するためのデバイスであって、前記入力または出力を行う場合に前記バスの使用を求めるリクエスト信号を送信する複数のデバイスと、
受信した前記リクエスト信号の送信元となる各デバイスに対して前記バスを使用する優先順位を設定する設定手段と、
前記各デバイスによる前記バスを介したデータの入力または出力を終了させた要因を特定する特定手段と、
前記特定手段により特定された要因を前記各デバイス毎に蓄積する蓄積手段と、
前記設定手段により設定された前記各デバイスの優先順位と、前記蓄積手段に前記各デバイス毎に蓄積された要因とに基づいて、前記各デバイスのうち前記バスの使用を許可するデバイスを選択する選択手段と、
前記選択手段により選択されたデバイスによる前記バスを介したデータの入力または出力を制御する制御手段と
を備えることを特徴とするデータ制御ユニット。
【請求項１０】
前記複数のデバイスは、
前記コンピュータへデータを入力するためのデバイスであって、前記入力を行う場合に前記バスの使用を求めるリクエスト信号を送信する１以上のデバイスと、
前記コンピュータからデータを出力するためのデバイスであって、前記出力を行う場合に前記バスの使用を求めるリクエスト信号を送信する１以上のデバイスとを含む
ことを特徴とする請求項９に記載のデータ制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスを介したデータ転送を制御するための技術に関する。
【背景技術】
【０００２】
複写機等の画像処理装置において、カラー化、高画質化、高速化等のニーズに対処するためには、画像データの処理速度を向上させる必要がある。例えば、解像度を２倍に上げると画像データの量は４倍に増え、モノクロからカラーになると画像データの量が最大で３２倍に増加する。また、処理速度を２倍に引き上げるためには、例えば、画像データの転送レートを２倍に上げることが求められる。
【０００３】
また、レーザを用いて感光体ドラムや感光体ベルトに画像を形成し、当該画像を用紙に転写する場合、印刷動作が一旦開始されてしまうとその動作を途中で止めることは難しく、画像データの転送が遅れてしまうと正常な画像を印刷できなくなってしまう。
【０００４】
このため複写機等の画像処理専用機では、例えば、画像データの転送性能が向上するように画像処理専用のＡＳＩＣ（Application Specific Integrated Circuit）を設計したり、画像データ転送用の専用バスを設ける等して画像データを高速に転送できるようにしていた。また、画像入力部や画像出力部にページバッファを設け、同一ページ内での局所的なデータ転送の速度差を吸収し、平均的な転送レートを確保できるようにしていた。しかしながら、これらの技術はいずれも専用のハードウェアが必要となり、汎用性に欠けるとともに装置のコストアップを招いてしまう。
【０００５】
一方、近年では、パーソナルコンピュータ等の汎用コンピュータにおいて、ＰＣＩ（Peripheral Component Interconnect）バスの拡張スロットに画像入力用および画像出力用のインタフェイスを装着するとともに、この汎用コンピュータに画像入力装置と画像出力装置を接続し、複写機等の画像処理装置として用いることが提案されている（例えば、特許文献１参照）。
【０００６】
しかしながら、汎用コンピュータにおいては、ＰＣＩバスに接続されたデバイスの他、ハードディスク、ＵＳＢデバイス、ネットワークデバイス、ＣＰＵ等の各種のデバイスに対してデータ転送の機会を公平に振り分けなければならないため、ＰＣＩバスを介した画像データの転送性能だけを高めることが困難であった。
【０００７】
以下に、パーソナルコンピュータ（以下、「ＰＣ」と略称する）のＰＣＩ拡張スロットに画像入力用および画像出力用のインタフェイスの機能を有するＰＣＩデバイスを装着するとともに、このＰＣにスキャナとプリンタを接続し、複写機として用いる場合について図１０〜図１２を参照して説明する。
【０００８】
図１０は、ＰＣ２０のハードウェア構成を例示するブロック図である。同図において、２０１はＣＰＵ、２０２はメモリブリッジ、２０３はシステムメモリ、２０４は、各種の周辺機器との間でデータを送受信するためのインタフェイスを備えたＩＯ（Input Output）ブリッジ、２０５はＰＣＩ拡張スロット、２０６は、ＰＣＩ拡張スロット２０５に装着されＰＣＩバス２０７に接続されたＰＣＩデバイスである。なお、図示を省略しているが、ＰＣＩデバイス２０６にはスキャナとプリンタが接続されている。
【０００９】
このようなＰＣ２０とスキャナとプリンタとにより構成される画像処理システムを用いて原稿のコピーをとる場合、スキャナによって原稿から読み取られた画像データは、ＰＣＩデバイス２０６、ＰＣＩバス２０７、ＩＯブリッジ２０４およびメモリブリッジ２０２を介してシステムメモリ２０３に記憶された後、システムメモリ２０３から読み出されてメモリブリッジ２０２、ＩＯブリッジ２０４、ＰＣＩバス２０７およびＰＣＩデバイス２０６を介してプリンタへ転送され、用紙に印刷される。
【００１０】
次に、図１１は、ＰＣＩデバイス２０６のハードウェア構成を例示するブロック図である。画像入力Ｉ／Ｆ（インタフェイス）部１１０７と画像出力Ｉ／Ｆ部１１０８には、色成分毎にＤＭＡＣ（Direct Memory Access Controller）１１０３〜１１０６が設けられている。各ＤＭＡＣ１１０３〜１１０６は、例えば、システムメモリ２０３との間でＤＭＡ転送を行う場合に、ＰＣＩバス２０７の使用を求めるリクエスト信号をアービター１１０２へ送信する。
【００１１】
アービター１１０２は、ＤＭＡＣ１１０３〜１１０６から受信したリクエスト信号と、予め定められたアービトレーションルールとに基づいて、各ＤＭＡＣ１１０３〜１１０６に対してＰＣＩバス２０７を使用する優先順位を設定するとともに、当該優先順位に従って各ＤＭＡＣ１１０３〜１１０６に対し、ＰＣＩバス２０７の使用を順次許可していく。また、ＰＣＩコントローラ１１０１は、アービター１１０２によるアービトレーション（調停）の結果等に基づいて、各ＤＭＡＣ１１０３〜１１０６によるＰＣＩバス２０７を介したＤＭＡ転送を制御する。
【００１２】
ここで、システムメモリ２０３に対するアクセスがＰＣＩデバイス２０６のみであった場合は何ら問題は生じない。しかしながら、ＰＣＩデバイス２０６からシステムメモリ２０３へのアクセスが、ハードディスク、ＵＳＢデバイス、ＣＰＵ２０１等の他のデバイスによるシステムメモリ２０３へのアクセスと競合した場合等、システムメモリ２０３へのアクセストラフィックが増大している場合、前述したように、ＰＣ２０では全てのデバイスに対してデータ転送の機会を公平に振り分けているため、ＰＣＩデバイス２０６からのアクセスが長期間に渡って滞ってしまう場合がある。
【００１３】
例えば、ＰＣＩデバイス２０６においてＰＣＩバス２０７の使用がＤＭＡＣ１１０５に対して許可され、図１２(ａ)に示すように、ＤＭＡＣ１１０５からのメモリリードコマンドが送信された後、当該コマンドに従ってシステムメモリ２０３からデータが読み出されるまでに比較的長いウエイト時間が存在する場合、ＰＣＩバス２０７をＤＭＡＣ１１０５が占有し続けてしまうと、その間、ＰＣＩデバイス２０６内の他のＤＭＡＣ１１０３，１１０４，１１０６や、別のＰＣＩ拡張スロット２０５に装着された他のＰＣＩデバイスがＰＣＩバス２０７を使用することができない。
【００１４】
このため、図１２(ａ)に示したようにメモリアクセスに時間がかかる場合、ＩＯブリッジ２０４は、ＰＣＩバス２０７を使用しているマスタデバイス（ＰＣＩデバイス２０６またはＤＭＡＣ１１０５）に対し、実行中のデータ転送に関する処理の再実行を求めるリトライ応答を送信することができる。ＩＯブリッジ２０４からリトライ応答を受信したマスタデバイスは、図１２(ｂ)に示すように、実行中のデータ転送を一旦終了し、しばらく待機した後に、このデータ転送を再び開始する。これにより、マスタデバイスがデータ転送を一旦終了して待機している間に、他のデバイスがＰＣＩバス２０７を使用できるようになる。
【００１５】
なお、バスを介したデータ転送についてリトライが発生した場合に、リトライを受けたデータ転送が次に許可されるまでの時間（ディレイドタイム値）を予測してリトライ応答とともにＰＣＩバスマスタへ通知し、ＰＣＩバスマスタは、通知されたディレイドタイム値によって示される時間だけ待機した後、データ転送を再び開始するようにしたコンピュータシステムがある（例えば、特許文献２参照）。
【００１６】
【特許文献１】特開２０００−３３２９７１号公報
【特許文献２】特開平１０−２６９１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ところで、前述したように、システムメモリ２０３へのアクセスが混み合っている場合や、ＰＣＩバス２０７を介して転送されるデータ量が画像データのように比較的多く、ＰＣＩバス２０７の占有時間が比較的長時間に渡る場合は、リトライの発生する割合が高くなる。このため、リトライが発生した場合の対応としてＰＣＩデバイス２０６において以下に示す（方法１）または（方法２）をとることが考えられる。
【００１８】
（方法１）
リトライを受けたマスタデバイスのＰＣＩバス２０７を使用する優先順位を変更せず、このマスタデバイスについてのデータ転送を再度実行する。
（方法２）
リトライを受けたマスタデバイスのＰＣＩバス２０７を使用する優先順位を最下位に変更し、次に優先順位の高いマスタデバイスについてのデータ転送に移行する。
【００１９】
これらの（方法１）および（方法２）は、画像データの転送を優先する画像処理専用機においては、リトライの発生頻度が比較的低い水準に抑えられるのでそれほど問題にならない。しかしながら、全てのデバイスに対してデータ転送の機会を公平に振り分ける汎用コンピュータにおいては、画像データの転送に際してリトライが多発してしまい、以下に述べるような問題が生じてしまう。
【００２０】
すなわち、（方法１）の場合、リトライを受けたマスタデバイスのデータ転送が完了するまで、他のマスタデバイスのデータ転送が開始できない。したがって、図１３(ａ)に示すように、リトライを受けたＤＭＡＣ１のデータ転送が完了するまでＤＭＡＣ２等の他のＤＭＡＣのデータ転送が行えず、局所的にデータの転送レートが低下してしまう。また、（方法２）の場合、リトライを受けたマスタデバイスのデータ転送は、このマスタデバイスに対して次にＰＣＩバス２０７の使用が許可されるまで保留されるから、図１３(ｂ)に示すように、リトライを受けたＤＭＡＣ１と、他のＤＭＡＣ２，３とのデータの転送量に偏りが生じてしまう。
【００２１】
このように、局所的にデータの転送レートが低下してしまったり、複数のデバイス間でデータの転送量に偏りが生じてしまうと、画像の読み取り時や印刷時に、色成分毎にデータの転送量の偏りが発生してしまったり、規定時間内に画像データの転送を完了できなくなるから、正常な画像読み取り結果や正常な印刷結果を得られなくなるおそれがある。また、特許文献２に記載された技術によれば、ＰＣＩバスマスタは、ディレイドタイム値によって示される時間が経過するまでデータ転送を再開することがないので、ＰＣＩバスマスタからバスへの無駄なアクセスを省くことができるが、上述した局所的な転送レートの低下やデバイス間での転送量の偏りといった問題を解消することはできない。
【００２２】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、局所的な転送レートの低下やデバイス間での転送量の偏りを招くことなく、複数のデバイスが１つのバスを介してデータを転送できるようにすることである。
【課題を解決するための手段】
【００２３】
上記課題を解決するために、本発明は、バスと、
前記バスを介してデータを送信または受信するデバイスであって、前記送信または受信を行う場合に前記バスの使用を求めるリクエスト信号を送信する複数のデバイスと、
受信した前記リクエスト信号の送信元となる各デバイスに対して前記バスを使用する優先順位を設定する設定手段と、
前記各デバイスによる前記バスを介したデータの送信または受信を終了させた要因を特定する特定手段と、
前記特定手段により特定された要因を前記各デバイス毎に蓄積する蓄積手段と、
前記設定手段により設定された前記各デバイスの優先順位と、前記蓄積手段に前記各デバイス毎に蓄積された要因とに基づいて、前記各デバイスのうち前記バスの使用を許可するデバイスを選択する選択手段と、
前記選択手段により選択されたデバイスによる前記バスを介したデータの送信または受信を制御する制御手段と
を備えるデータ処理装置を提供する。
【００２４】
本発明によれば、データ処理装置は、各デバイスによるバスを介したデータの送信または受信を終了させた要因を特定して当該要因を各デバイス毎に蓄積し、各デバイスに対して設定されたバスを使用する優先順位と、各デバイス毎に蓄積された要因とに基づいて、バスの使用を許可するデバイスを選択する。
【００２５】
また、本発明は、コンピュータ内のバスに接続され、前記コンピュータへのデータの入力または前記コンピュータからのデータの出力を制御するデータ制御ユニットにおいて、
前記コンピュータへデータを入力するためのデバイスまたは前記コンピュータからデータを出力するためのデバイスであって、前記入力または出力を行う場合に前記バスの使用を求めるリクエスト信号を送信する複数のデバイスと、
受信した前記リクエスト信号の送信元となる各デバイスに対して前記バスを使用する優先順位を設定する設定手段と、
前記各デバイスによる前記バスを介したデータの入力または出力を終了させた要因を特定する特定手段と、
前記特定手段により特定された要因を前記各デバイス毎に蓄積する蓄積手段と、
前記設定手段により設定された前記各デバイスの優先順位と、前記蓄積手段に前記各デバイス毎に蓄積された要因とに基づいて、前記各デバイスのうち前記バスの使用を許可するデバイスを選択する選択手段と、
前記選択手段により選択されたデバイスによる前記バスを介したデータの入力または出力を制御する制御手段と
を備えるデータ制御ユニットを提供する。
【００２６】
本発明によれば、データ制御ユニットは、各デバイスによるバスを介したデータの入力または出力を終了させた要因を特定して当該要因を各デバイス毎に蓄積し、各デバイスに対して設定されたバスを使用する優先順位と、各デバイス毎に蓄積された要因とに基づいて、バスの使用を許可するデバイスを選択する。
【発明の効果】
【００２７】
本発明によれば、局所的な転送レートの低下やデバイス間での転送量の偏りを招くことなく、複数のデバイスが１つのバスを介してデータを転送することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して本発明の実施形態について説明する。
［Ａ−１．実施形態の構成］
図１は、本発明を適用したデジタル複写機１０１のハードウェア構成を例示するブロック図である。同図において、１０２は、画像データを記憶するためのメモリ（図示省略）を備えた画像データ処理装置、１０３は原稿の読み取りを行うスキャン装置、１０４は画像データを用紙等の印刷媒体に印刷するプリント装置である。このデジタル複写機１０１を用いて原稿のコピーをとる場合、スキャン装置１０３により読み取られた原稿の画像データは、画像データ処理装置１０２内のメモリに転送されて記憶された後、当該メモリから読み出されてプリント装置１０４へと転送され、用紙に印刷される。
【００２９】
なお、原稿の読み取りに関する処理が完全に終わり、読み取った画像データの全てがメモリに蓄積された後、プリント装置１０４へ画像データを転送して印刷を行うことも可能であるが、本実施形態では、原稿の読み取りに関する処理と、読み取った画像データの印刷に関する処理とが並行して行われるものとする。
【００３０】
図２は、画像データ処理装置１０２のハードウェア構成を例示するブロック図である。なお、前述した図１０と共通する部分には同一の符号を付し、その説明を省略する。同図において、５０６は画像データ入出力装置、５０７はＨＤＤ（ハードディスクドライブ）である。画像データ入出力装置５０６は、ＰＣＩ拡張スロット２０５に装着され、ＰＣＩバス２０７に接続されるＰＣＩデバイスであって、図１に示したスキャン装置１０３とプリント装置１０４に接続されている。この画像データ入出力装置５０６がＰＣＩバスマスタとなり、スキャン装置１０３によって読み取られた画像データのシステムメモリ２０３へのＤＭＡ転送や、システムメモリ２０３に記憶された画像データのプリント装置１０４へのＤＭＡ転送を制御する。
【００３１】
図３は、画像データ入出力装置５０６のハードウェア構成を例示するブロック図である。同図において、６０１は、ＰＣＩバス２０７を介したデータの送受信を制御するバス制御装置、６０２は、ＰＣＩバス２０７のインタフェイス制御を行うＰＣＩインタフェイス制御部、６０３は内部レジスタである。また、６０４は、ＰＣＩバス２０７のターミネーション状態を監視するバス終了状態監視部であって、ＰＣＩバス２０７を介したデータの転送について、マスタデバイス（ＤＭＡ制御部６１０，６１１内に備わる計８つのＤＭＡＣ（図示省略）のいずれか１）のトランザクションがどのような要因によって終了したのかを特定する。６２０は、バス終了状態監視部６０４によって特定されたトランザクションの終了要因をトランザクション毎に蓄積し、終了要因の履歴を保持する履歴保持部である。また、６０５は、バースト転送を行う際のバースト長を制御するバースト長制御部である。
【００３２】
６０６はアービター、６０７は内部レジスタ、６０８は、ＤＭＡ制御部６１０，６１１から受信した複数の内部リクエストに対してＰＣＩバス２０７を使用する優先順位を定めたアービトレーション順位や保留リクエストと、バス終了状態監視部６０４から通知される各トランザクションの終了要因の履歴とに基づいて、ＰＣＩバス２０７の使用を許可する内部リクエストを選択するリクエスト選択部である。また、６０９は、ＤＭＡ制御部６１０，６１１との間で送受信されるデータをリクエスト選択部６０８の選択結果に応じて切替えるデータ制御部である。
【００３３】
６１０は、画像データをプリント装置１０４へ出力するためのＤＭＡ制御部であり、内部には色成分毎にＤＭＡＣが設けられている。また、６１１は、スキャン装置１０３からの画像データを入力するためのＤＭＡ制御部であり、ＤＭＡ制御部６１０と同様、内部には色成分毎にＤＭＡＣが設けられている。なお、本実施形態において、デジタル複写機１０１により取り扱われる画像データは、Ｙ（Yellow）、Ｍ（Magenta）、Ｃ（Cyan）、Ｋ（Black）の計４色の色成分を持ち、ＤＭＡ制御部６１０，６１１には、それぞれ各色成分用の４つのＤＭＡＣが備わっている。また、各ＤＭＡＣには、先頭アドレスレジスタや総転送データ量レジスタ、連続して転送すべきデータ量を示す転送単位サイズレジスタ等、ＤＭＡ転送に必要な情報を格納するための各種のレジスタが設けられている。
【００３４】
６１２〜６１５は各色成分毎に設けられたプリントＩ／Ｆ部であり、６１６〜６１９は各色成分毎に設けられたスキャンＩ／Ｆ部である。これらのプリントＩ／Ｆ部６１２〜６１５およびスキャンＩ／Ｆ部６１６〜６１９は、それぞれ内部バッファを備えている。
【００３５】
なお、バス制御装置６０１の履歴保持部６２０には、例えば、図４に示すように、ＤＭＡ制御部６１０，６１１から受信した内部リクエストについて、この内部リクエストにより開始されたトランザクションの終了要因が「今回」と「前回」の過去２回分に渡って格納されるとともに、後述する再送ビットおよび保留モードビットの値が格納される。また、同図に示すように、トランザクションの終了要因には、「転送完了」、「リトライ」、「ディスコネクト」がある。
【００３６】
ここで、「転送完了」は、トランザクションを最後まで終え、予定していたデータ転送が最後まで完了した状態を示すものである。また、「リトライ」は、画像データ入出力装置５０６がトランザクションの途中でＩＯブリッジ２０４からリトライ応答を受信し、予定していたデータ転送を行うことなく中断したことを、また、「ディスコネクト」は、トランザクションの途中でＰＣＩバス２０７等においてコネクションが切断され、予定していたデータ転送を最後まで終えることなく中断したことを示すものである。
【００３７】
また、アービター６０６の内部レジスタ６０７には、図７の「状態１」〜「状態３」に示すように、複数の内部リクエストに対してＰＣＩバス２０７を使用する優先順位を定めたアービトレーション順位を示す情報と、保留されている内部リクエストを示す情報とが格納されている。
【００３８】
［Ａ−２．実施形態の動作］
まず、図２および図３を参照して、原稿の読み取りに際して行われるＤＭＡ転送処理と、読み取った画像データの印刷に際して行われるＤＭＡ転送処理の動作について説明する。デジタル複写機１０１に対して原稿をコピーする旨の指示が入力されると、まず、画像データ入出力装置５０６のデバイスドライバが起動される。このデバイスドライバは、ＤＭＡ転送を行うために必要な情報等を設定するソフトウェアであって、例えば、用紙サイズの情報等に基づいて、ＤＭＡ制御部６１０，６１１内の各ＤＭＡＣに備わる先頭アドレスレジスタや総転送データ量レジスタに、転送先のメモリの先頭アドレスや総転送データ量を設定するとともに、転送単位サイズレジスタに、連続して転送すべきデータ量を設定する。その後、ＤＭＡ制御部６１１内の各ＤＭＡＣが起動され、スキャン装置１０３に対して原稿の読み取りが指示される。スキャン装置１０３によって読み取られた画像データは、色成分毎に該当するスキャンＩ／Ｆ部６１６〜６１９の内部バッファに順次蓄積される。また、画像データが内部バッファに蓄積されると、ＤＭＡ制御部６１１内の各ＤＭＡＣから内部リクエスト信号がアービター６０６へ送信される。
【００３９】
アービター６０６の内部レジスタ６０７には、図７に示すように、ＤＭＡ制御部６１０，６１１から受信した複数の内部リクエストに対してＰＣＩバス２０７を使用する優先順位を定めたアービトレーション順位や保留リクエストを示す情報が格納されている。また、履歴保持部６２０には、ＤＭＡ制御部６１０，６１１から受信した内部リクエスト毎に、この内部リクエストに応じて実行されるトランザクションの終了要因、再送ビットや保留モードビットの値が記憶されており、これらの情報が必要に応じてバス終了状態監視部６０４からリクエスト選択部６０８へ通知される。
【００４０】
リクエスト選択部６０８は、内部レジスタ６０７に格納されている情報と、バス終了状態監視部６０４から通知される情報とに基づいて、ＰＣＩバス２０７の使用を許可する内部リクエストを選択してＰＣＩインタフェイス制御部６０２にリクエスト信号を送信する。なお、内部リクエストのアービトレーションについては、後に詳細に説明を行うものとする。また、アービトレーション順位については、特定の内部リクエストに対してより高いプライオリティ（優先権）を与えることも可能であるが、本実施形態では、全ての内部リクエストに対して同じプライオリティが与えられ、ラウンドロビン方式でアービトレーションが行われる場合について説明する。
【００４１】
まず、リクエスト選択部６０８により選択された内部リクエストの送信元となるＤＭＡＣがマスタデバイスとなる。以降、本明細書では、マスタデバイスとなったＤＭＡＣを、他のＤＭＡＣと区別するため「マスタＤＭＡＣ」と記載する。マスタＤＭＡＣは、先頭アドレスレジスタに格納されている先頭アドレスを示す情報（Address）や、転送単位サイズレジスタに格納されている連続して転送すべきデータ量を示す情報（Size）を出力する。Addressは、アービター６０６を経由してバス制御部６０１のＰＣＩインタフェイス制御部６０２に入力され、また、Sizeは、アービター６０６を経由してバス制御部６０１のバースト長制御部６０５に入力される。
【００４２】
また、ＰＣＩインタフェイス制御部６０２は、リクエスト選択部６０８からリクエスト信号を受信すると、ＰＣＩバス２０７の使用を求めるリクエスト信号をＰＣＩバス２０７へ送信する。そして、ＰＣＩインタフェイス制御部６０２は、ＰＣＩバス２０７の使用が許可されたことを示すバスグラント信号をＰＣＩバス２０７から受信すると、マスタＤＭＡＣから受信したAddressやSizeを用いて、マスタＤＭＡＣによるＰＣＩバス２０７を介したデータ転送についてのトランザクションを開始し、マスタＤＭＡＣからシステムメモリ２０３へのＤＭＡ転送を制御する。すなわち、ＰＣＩインタフェイス制御部６０２は、システムメモリ２０３へ転送するデータをデータ制御部６０９に要求し、データ制御部６０９は、予め定められたタイミングでマスタＤＭＡＣからデータを読み出してＰＣＩインタフェイス制御部６０２へ送信する。ＰＣＩインタフェイス制御部６０２は、データ制御部６０９から受信したデータを、ＰＣＩバスインタフェイスのタイミング仕様に従ってＰＣＩバス２０７を介してシステムメモリ２０３へ転送する。また、マスタＤＭＡＣは、システムメモリ２０３への転送が完了したデータ数分だけ先頭アドレスレジスタの値をインクリメントするとともに、総転送データ量レジスタの値をデクリメントする。
【００４３】
なお、例えば、バースト長制御部６０５に設定されたSize分のデータ転送を完了する前にＰＣＩインタフェイス制御部６０２がディスコネクトであることを検出し、トランザクションを途中で終了せざるを得ない場合は、内部レジスタ６０７に格納されているアービトレーション順位や保留リクエストの更新は行われず、バースト長制御部６０５に設定されたSize分のデータ転送が完了するまで、このトランザクションが繰り返し実行される。
【００４４】
一方、スキャン装置１０３によって読み取られた画像データがシステムメモリ２０３へ転送され始めると、ＤＭＡ制御部６１０内の各ＤＭＡＣが起動され、各ＤＭＡＣは、プリントＩ／Ｆ部６１２〜６１５の内部バッファの空き容量を確認して転送単位サイズ以上の空き容量がある場合に、内部リクエスト信号をアービター６０６へ送信する。リクエスト選択部６０８は、内部レジスタ６０７に格納されている情報と、バス終了状態監視部６０４から通知される情報とに基づいて、ＰＣＩバス２０７の使用を許可する内部リクエストを選択してＰＣＩインタフェイス制御部６０２にリクエスト信号を送信する。マスタＤＭＡＣは、先頭アドレスを示す情報（Address）や転送単位サイズを示す情報（Size）を出力する。AddressはＰＣＩインタフェイス制御部６０２に入力され、また、Sizeはバースト長制御部６０５に入力される。
【００４５】
また、ＰＣＩインタフェイス制御部６０２は、ＰＣＩバス２０７の使用を求めるリクエスト信号をＩＯブリッジ２０４へ送信し、ＩＯブリッジ２０４からバスグラント信号を受信すると、マスタＤＭＡＣから受信したAddressやSizeを用いて、マスタＤＭＡＣによるデータ転送についてのトランザクションを開始する。このトランザクションにより、システムメモリ２０３から読み出された画像データが、画像データ入出力装置５０６へと転送され、データ制御部６０９を経由してマスタＤＭＡＣに入力された後、色成分毎に該当するプリントＩ／Ｆ部６１２〜６１５の内部バッファに蓄積される。また、マスタＤＭＡＣは、転送を終えたデータ数分だけ先頭アドレスレジスタの値をインクリメントするとともに、総転送データ量レジスタの値をデクリメントする。
【００４６】
そして、プリント装置１０４に対して印刷が指示されると、プリントＩ／Ｆ部６１２〜６１５は、プリント装置１０４からのデータ転送要求に応じて、内部バッファに蓄積されているデータをプリント装置１０４へ送出し、原稿から読み取られた画像が用紙に印刷される。なお、原稿の読み取りに際して行われるＤＭＡ転送処理の場合と同様に、例えば、バースト長制御部６０５に設定されたSize分のデータ転送を完了する前に、ディスコネクトによってトランザクションを途中で終了せざるを得ない場合は、アービトレーション順位や保留リクエストの更新は行われず、バースト長制御部６０５に設定されたSize分のデータ転送が完了するまで、このトランザクションが繰り返し実行される。
【００４７】
次に、図５および図６に示すフローチャートを参照して、内部リクエストのアービトレーション処理の動作について説明する。なお、原稿の読み取りに関する処理と、読み取った画像データの印刷に関する処理とが並行して行われる場合、ＤＭＡ制御部６１０，６１１内の計８つのＤＭＡＣから内部リクエスト信号が送信される。そこで、以降、本明細書では、プリンタ出力用のＤＭＡ制御部６１０に備わる４つのＤＭＡＣから送信される内部リクエストを、色成分毎にそれぞれ「PC_REQ」、「PY_REQ」、「PM_REQ」、「PK_REQ」と記載する。また、スキャナ入力用のＤＭＡ制御部６１１に備わる４つのＤＭＡＣから送信される内部リクエストを、色成分毎にそれぞれ「SC_REQ」、「SY_REQ」、「SM_REQ」、「SK_REQ」と記載する。
【００４８】
また、アービター６０６では、ＤＭＡ制御部６１０，６１１内の各ＤＭＡＣから受信した内部リクエスト信号と、予め定められたアービトレーションルールとに基づいて、アービトレーション順位を設定するが、本実施形態では、ＤＭＡＣからシステムメモリ２０３へのＤＭＡ転送を求める内部リクエストと、システムメモリ２０３からＤＭＡＣへのＤＭＡ転送を求める内部リクエストとが交互に選択されるように、アービトレーション順位が設定される。
【００４９】
図５において、まず、リクエスト選択部６０８は、内部レジスタ６０７を参照し、保留リクエストがあるか否かを判別する（ステップＳ１０１）。その結果、保留リクエストがなかった場合（ステップＳ１０１：ＮＯ）、リクエスト選択部６０８は、アービトレーション順位が最も高い内部リクエストを選択する（ステップＳ１０２）。ここで選択された内部リクエストの送信元となるＤＭＡＣがマスタＤＭＡＣに決定され、ＰＣＩインタフェイス制御部６０２は、決定したマスタＤＭＡＣによるデータ転送についてのトランザクションを開始する（ステップＳ１０４）。例えば、アービトレーション順位と保留リクエストが図７に示す「状態１」の場合、保留リクエストはないので、アービトレーション順位が最も高い内部リクエスト「PC_REQ」の送信元となるＤＭＡＣがマスタＤＭＡＣに決定される。
【００５０】
一方、上記ステップＳ１０１において保留リクエストがあると判別された場合（ステップＳ１０１：ＹＥＳ）、リクエスト選択部６０８は保留リクエストを選択する（ステップＳ１０３）。この場合は、保留リクエストの送信元となるＤＭＡＣがマスタＤＭＡＣに決定され、当該マスタＤＭＡＣによるデータ転送についてのトランザクションがＰＣＩインタフェイス制御部６０２により再開される（ステップＳ１０４）。例えば、アービトレーション順位と保留リクエストが図７に示す「状態２」の場合、保留リクエストがあるので、この保留リクエスト「PC_REQ」の送信元となるＤＭＡＣがマスタＤＭＡＣに決定される。
【００５１】
次いで、ＰＣＩインタフェイス制御部６０２は、上記ステップＳ１０４において開始したトランザクションが終了すると（ステップＳ１０５）、バースト長制御部６０５に設定されたSize分のデータ転送が完了しているか否かを判別する（ステップＳ１０６）。その結果、ＰＣＩインタフェイス制御部６０２は、バースト長制御部６０５に設定されたSize分のデータ転送が完了していなかった場合は（ステップＳ１０６：ＮＯ）、トランザクションが中断されたものと判別する。この場合、ＰＣＩインタフェイス制御部６０２は、履歴保持部６２０を参照し、このトランザクションの今回の終了要因が「リトライ」であるか否かを判別する（ステップＳ１０７）。
【００５２】
なお、バス終了状態監視部６０４は、マスタＤＭＡＣによるデータ転送についてのトランザクションがどのような要因によって終了したのかを監視している。具体的には、バス終了状態監視部６０４は、トランザクションの終了要因について、トランザクションを最後まで終え、予定していたデータ転送が最後まで完了した場合は「転送完了」、ＩＯブリッジ２０４からリトライ応答を受信し、予定していたデータ転送を行うことなくトランザクションを中断した場合は「リトライ」、ＰＣＩバス２０７等においてコネクションが切断され、予定していたデータ転送を最後まで終えることなくトランザクションを中断した場合は「ディスコネクト」と特定し、図４に示した履歴保持部６２０に内部リクエスト（トランザクション）毎に蓄積していく。
【００５３】
ＰＣＩインタフェイス制御部６０２は、トランザクションの今回の終了要因が「リトライ」でなかった場合（ステップＳ１０７：ＮＯ）、すなわちトランザクションの今回の終了要因が「ディスコネクト」であった場合は、履歴保持部６２０においてこのトランザクションの再送ビットを“１”にセットした後（ステップＳ１０８）、上記ステップＳ１０１に戻る。なお、履歴保持部６２０において再送ビットが“１”にセットされたトランザクションは、ＰＣＩインタフェイス制御部６０２により再度実行されることになる。
【００５４】
一方、ＰＣＩインタフェイス制御部６０２は、トランザクションの今回の終了要因が「リトライ」であった場合、次いで、履歴保持部６２０においてこのトランザクションの再送ビットが“１”にセットされているか否かを判別する（ステップＳ１０９）。その結果、ＰＣＩインタフェイス制御部６０２は、再送ビットが“１”にセットされていなかった場合（ステップＳ１０９：ＮＯ）、すなわちこのトランザクションの中断が初めて発生し、かつ、その終了要因が「リトライ」であった場合は、上記ステップＳ１０８に移行し、履歴保持部６２０においてこのトランザクションの再送ビットを“１”にセットした後、上記ステップＳ１０１に戻る。
【００５５】
また、履歴保持部６２０においてこのトランザクションの再送ビットが“１”にセットされていた場合（ステップＳ１０９：ＹＥＳ）、ＰＣＩインタフェイス制御部６０２は、履歴保持部６２０においてこのトランザクションの保留モードビットが“１”にセットされているか否かを判別する（ステップＳ１１０）。その結果、保留モードビットが“１”にセットされていた場合（ステップＳ１１０：ＹＥＳ）、ＰＣＩインタフェイス制御部６０２は、ステップＳ１１３に移行し、後述する保留転送処理（図６参照）を実行する。一方、保留モードビットが“１”にセットされていなかった場合（ステップＳ１１０：ＮＯ）、すなわち、このトランザクションの終了要因が「リトライ（今回）」と「リトライ（前回）」であった場合や「リトライ（今回）」と「ディスコネクト（前回）」であった場合は、アービター６０６によってアービトレーション順位と保留リクエストが更新される（ステップＳ１１１）。
【００５６】
このステップＳ１１１において行われるアービトレーション順位と保留リクエストの更新について具体的に説明すると、例えば、現時点におけるアービトレーション順位と保留リクエストが図７に示す「状態１」の場合であって、アービトレーション順位が最も高い内部リクエスト「PC_REQ」が選択されて該当するマスタＤＭＡＣによるデータ転送についてのトランザクションが実行され、その終了要因が「リトライ（今回）」と「リトライ（前回）」であった場合や、「リトライ（今回）」と「ディスコネクト（前回）」であった場合は、図７に示す「状態２」のように、アービトレーション順位の最も高い内部リクエスト「PC_REQ」が保留リクエストになるとともに、アービトレーション順位“２”〜“８”がそれぞれ１ずつ繰り上がる。
【００５７】
上記ステップＳ１１１においてアービトレーション順位と保留リクエストを更新した場合は、保留リクエストが発生したので、履歴保持部６２０において保留リクエストに対応するトランザクションの保留モードビットが“１”にセットされて保留モードへ移行し（ステップＳ１１２）、図６に示す保留転送処理が開始される（ステップＳ１１３）。ここで、保留転送処理は、トランザクションの終了要因が「リトライ（今回）」と「リトライ（前回）」であった場合や、「リトライ（今回）」と「ディスコネクト（前回）」であった場合等、トランザクションが「リトライ」によって中断され、かつ、このトランザクションの終了要因の履歴からデータ転送が可能となるまでに時間がかかると予想された場合に行われる処理である。
【００５８】
この保留転送処理の動作を図６に示すフローチャートを参照して説明する。同図に示すように、保留転送処理が開始されると、ＰＣＩインタフェイス制御部６０２は、保留した内部リクエストを除いて最も優先順位の高い内部リクエストを選択し、該当するマスタＤＭＡＣによるデータ転送についてのトランザクションを実行する（ステップＳ２０１）。そして、このトランザクションの終了後（ステップＳ２０２）、ＰＣＩインタフェイス制御部６０２は、バースト長制御部６０５に設定されたSize分のデータ転送が完了しているか否かを判別する（ステップＳ２０３）。例えば、アービトレーション順位と保留リクエストが図７に示す「状態１」から「状態２」に変更された後に保留転送処理が行われた場合、図７に示す「状態２」において「SC_REQ」が選択され、この内部リクエスト「SC_REQ」に該当するマスタＤＭＡＣのデータ転送が行われる。
【００５９】
なお、保留転送処理が行われる場合、マスタＤＭＡＣから要求されたSize（総転送データ量）よりも少ない値をバースト長制御部６０５に設定し、データ転送を複数回に分割して実行することで、保留しているトランザクションの実行に復帰するまでの時間を短くすることができる。
【００６０】
そして、バースト長制御部６０５に設定されたSize分のデータ転送が完了していた場合（ステップＳ２０３：ＹＥＳ）、ＰＣＩインタフェイス制御部６０２は、このトランザクションを最後まで終えたものと判別する。この場合、アービター６０６によってアービトレーション順位の更新が行われた後（ステップＳ２０４）、保留転送処理が終了する。例えば、図７に示す「状態２」において内部リクエスト「SC_REQ」に該当するマスタＤＭＡＣのデータ転送を最後まで終えた場合は、保留リクエスト「PC_REQ」を残したまま、「状態２」におけるアービトレーション順位“２”〜“８”がそれぞれ１ずつ繰り上がる。
【００６１】
一方、バースト長制御部６０５に設定されたSize分のデータ転送が完了していなかった場合（ステップＳ２０３：ＮＯ）、ＰＣＩインタフェイス制御部６０２は、このトランザクションが中断されたと判別する。この場合、アービトレーション順位の変更をせずに保留転送処理が終了する。なお、前述したように、保留転送処理においてマスタＤＭＡＣから要求されたSiz eよりも少ない値をバースト長制御部６０５に設定してデータ転送を複数回に分割して実行した場合は、バースト長制御部６０５に設定された値分のデータ転送が完了した場合であっても、マスタＤＭＡＣから要求されたSize（総転送データ量）分のデータ転送が完了するまでは、アービトレーション順位の変更は行われない。
【００６２】
保留転送処理が終わると、図５のステップＳ１０１に戻り、保留していた内部リクエストがアービター６０６により選択され（ステップＳ１０２）、該当するマスタＤＭＡＣによるデータ転送についてのトランザクションが再開される（ステップＳ１０４）。このとき、バースト長制御部６０５には、保留転送処理が行われる前に既に転送が終わったデータ数を差し引いたSize値が設定され、中断された部分からトランザクションが再開される。そして、トランザクションの終了後（ステップＳ１０５）、ＰＣＩインタフェイス制御部６０２は、バースト長制御部６０５に設定されたSize分のデータ転送が終了したか否かを判別し（ステップＳ１０６）、データ転送が完了していなかった場合は（ステップＳ１０６：ＮＯ）、再度、ステップＳ１０７以降の処理を行う。
【００６３】
一方、バースト長制御部６０５に設定されたSize分のデータ転送が完了していた場合（ステップＳ１０６：ＹＥＳ）、ＰＣＩインタフェイス制御部６０２は、履歴保持部６２０においてこのトランザクションの保留モードビットが“１”にセットされており、保留モードであったか否かを判別する（ステップＳ１１４）。その結果、ＰＣＩインタフェイス制御部６０２は、保留モードビットが“１”にセットされていなかった場合は（ステップＳ１１４：ＮＯ）、ステップＳ１１６に移行する。また、ＰＣＩインタフェイス制御部６０２は、保留モードビットが“１”にセットされていた場合は（ステップＳ１１４：ＹＥＳ）、履歴保持部６２０においてこのトランザクションの保留モードビットおよび再送ビットをそれぞれ“０”にクリアする（ステップＳ１１５）。
【００６４】
そして、アービター６０６によってアービトレーション順位と保留リクエストが更新される（ステップＳ１１６）。このステップＳ１１６において行われるアービトレーション順位と保留リクエストの更新について具体的に説明すると、例えば、現時点におけるアービトレーション順位と保留リクエストが図７に示す「状態２」の場合であって、保留リクエスト「PC_REQ」に該当するマスタＤＭＡＣによるデータ転送についてのトランザクションが実行され、その終了要因が「転送完了」であった場合は、図７に示す「状態３」のように、保留リクエスト「PC_REQ」が削除される。
【００６５】
なお、図５および図６に示した処理により行われるアービトレーションの条件をまとめると、図８に示す通りとなる。同図に示すように、例えば、トランザクションの今回の終了要因が「転送完了」であった場合は、このトランザクションの前回の終了要因に係らず、次にアービトレーション順位の高い内部リクエストが選択され、該当するトランザクションが実行される。また、トランザクションの今回の終了要因が「ディスコネクト」であった場合は、このトランザクションの前回の終了要因に係らず、このトランザクションが再度実行される。また、トランザクションの今回の終了要因が「リトライ」であったものの、このトランザクションの前回の終了要因が無く、このトランザクションが初めて「リトライ」により中断された場合は、このトランザクションが再度実行される。但し、以上説明したいずれの場合も、トランザクションの終了時に保留リクエストがある場合は、保留リクエストの選択が優先される。
【００６６】
そして、トランザクションの今回の終了要因が「リトライ」であった場合は、このトランザクションの前回の終了要因が「リトライ」または「ディスコネクト」であった場合に、このトランザクションを保留して、次にアービトレーション順位の高い内部リクエストが選択されて該当するトランザクションが実行される。
【００６７】
例えば、図９に示すように、内部リクエスト「PC_REQ」についてのデータ転送が「ディスコネクト」により中断され、再度、この内部リクエスト「PC_REQ」についてのデータ転送を開始したものの、今度は「リトライ」によりデータ転送を中断せざるを得なくなった場合、この内部リクエスト「PC_REQ」が保留リクエストとなり、保留転送処理によって次にアービトレーション順位の高い内部リクエスト「SC_REQ」についてのデータ転送が開始される。また、このときのデータ転送は、前述したように複数回に分割して実行される。そして、内部リクエスト「SC_REQ」についてのデータ転送（分割１）が完了した後、保留リクエスト「PC_REQ」についてのデータ転送が再開され、このデータ転送が完了すると、内部リクエスト「SC_REQ」についてのデータ転送（分割２）が実行される。
【００６８】
以上説明したように本実施形態によれば、デジタル複写機１０１（画像データ入出力装置５０６）において、バス終了状態監視部６０４は、各マスタＤＭＡＣによるＰＣＩバス２０７を介したデータ転送についてのトランザクションがどのような要因によって終了したのかを特定し、履歴保持部６２０に蓄積する。そして、アービター６０６は、受信した内部リクエストの送信元となる各ＤＭＡＣに対してＰＣＩバス２０７を使用する優先順位を定めたアービトレーション順位や保留リクエストと、バス終了状態監視部６０４から通知される各トランザクションの終了要因の履歴とに基づいて、ＰＣＩバス２０７の使用を許可する内部リクエストを選択する。
【００６９】
したがって、例えば、リトライが長く続くかどうかを同じトランザクションの終了要因の履歴から予測し、リトライが長く続くであろうと予測された場合は、このトランザクションを一旦保留し、次にアービトレーション順位の高いトランザクションを実行した後、保留しておいたトランザクションを再び実行することが可能となる。よって、リトライが多発するような場合であっても各ＤＭＡＣからＰＣＩバス２０７への無駄なアクセスを省き、複数のＤＭＡＣがＰＣＩバス２０７を介して効率よくＤＭＡ転送を行うことができるようになる。また、リトライが多発する状況下においても、局所的な転送レートの低下を防ぐことができ、さらに、リトライにより中断されたトランザクションであっても、再実行する機会がすぐに与えられるため、複数のマスタデバイス間での転送量の不均衡を極力抑えることができる。
【００７０】
なお、上述した実施形態において、履歴保持部６２０に記憶されるトランザクションの終了要因は、前回と今回の２回分に限定されるものではなく、過去２回分以上の終了要因が蓄積される構成であってもよい。勿論、この場合は、同じトランザクションの過去２回分以上の終了要因を用いてＰＣＩバス２０７の使用を許可するマスタＤＭＡＣが選択される。また、保留される内部リクエストは複数あってもよい。
【００７１】
また、上述した実施形態では、トランザクションの終了要因が「リトライ（今回）」と「リトライ（前回）」であった場合、および「リトライ（今回）」と「ディスコネクト（前回）」であった場合に保留転送処理を行うようにしたが、「ディスコネクト（今回）」と「ディスコネクト（前回）」であった場合や、「ディスコネクト（今回）」と「リトライ（前回）」であった場合に保留転送処理を行うようにしてもよい。
【００７２】
また、上述した実施形態では、スキャン装置１０３から画像データ処理装置１０２へ画像データを入力するための複数のデバイス（ＤＭＡ制御部６１１内の各ＤＭＡＣ）と、画像データ処理装置１０２からプリント装置１０４へ画像データを出力するための複数のデバイス（ＤＭＡ制御部６１０内の各ＤＭＡＣ）とを有する画像入出力装置５０６について説明したが、スキャン装置１０３から画像データ処理装置１０２へ画像データを入力するための複数のデバイスのみを有する画像データ入力用のＰＣＩデバイスや、画像データ処理装置１０２からプリント装置１０４へ画像データを出力するための複数のデバイスのみを有する画像データ出力用のＰＣＩデバイスとしてもよい。
【００７３】
上述した実施形態では、本発明をデジタル複写機１０１に適用した場合について説明したが、本発明は、例えば、アナログ式の複写機や、複合機、パーソナルコンピュータ等に適用してもよい。また、ＰＣＩバス２０７を介したデータ転送はＤＭＡ転送に限定されるものではなく、また、バスもＰＣＩバスに限定されるものではない。さらに、バスを介して送受信されるデータは、画像データに限定されるものではなく、例えば、音声データや文書データ等であってもよい。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施形態に係るデジタル複写機１０１のハードウェア構成を例示するブロック図である。
【図２】同実施形態に係る画像データ処理装置１０２のハードウェア構成を例示するブロック図である。
【図３】同実施形態に係る画像データ入出力装置５０６のハードウェア構成を例示するブロック図である。
【図４】同実施形態に係り、履歴保持部６２０に記憶されるデータについて例示する図である。
【図５】同実施形態に係り、アービトレーション処理の動作を説明するためのフローチャートである。
【図６】同実施形態に係り、保留転送処理の動作を説明するためのフローチャートである。
【図７】同実施形態に係り、アービター６０６の内部レジスタ６０７に格納されるデータについて例示する図である。
【図８】同実施形態に係り、アービター６０６におけるアービトレーションの内容について例示する図である。
【図９】同実施形態に係り、ＰＣＩバス２０７を介して行われる各ＤＭＡＣのデータ転送について例示する図である。
【図１０】従来技術に係り、ＰＣ２０のハードウェア構成を例示するブロック図である。
【図１１】従来技術に係り、ＰＣＩデバイス２０６のハードウェア構成を例示するブロック図である。
【図１２（ａ）】従来技術に係り、ＰＣＩバス２０７を介して行われるＤＭＡＣのデータ転送について例示する図（その１）である。
【図１２（ｂ）】従来技術に係り、ＰＣＩバス２０７を介して行われるＤＭＡＣのデータ転送について例示する図（その２）である。
【図１３（ａ）】従来技術に係り、ＰＣＩバス２０７を介して行われるＤＭＡＣのデータ転送について例示する図（その３）である。
【図１３（ｂ）】従来技術に係り、ＰＣＩバス２０７を介して行われるＤＭＡＣのデータ転送について例示する図（その４）である。
【符号の説明】
【００７５】
２０…ＰＣ、１０１…デジタル複写機、１０２…画像データ処理装置、１０３…スキャン装置、１０４…プリント装置、２０１…ＣＰＵ、２０２…メモリブリッジ、２０３…システムメモリ、２０４…ＩＯブリッジ、２０５…ＰＣＩ拡張スロット、２０６…ＰＣＩデバイス、２０７…ＰＣＩバス、５０６…画像データ入出力装置、５０７…ＨＤＤ、６０１…バス制御装置、６０２…ＰＣＩインタフェイス制御部、６０３…内部レジスタ、６０４…バス終了状態監視部、６０５…バースト長制御部、６０６…アービター、６０７…内部レジスタ、６０８…リクエスト選択部、６０９…データ制御部、６１０，６１１…ＤＭＡ制御部、６１２〜６１５…プリントＩ／Ｆ部、６１６〜６１９…スキャンＩ／Ｆ部、６２０…履歴保持部、１１０１…ＰＣＩコントローラ、１１０２…アービター、１１０３〜１１０６…ＤＭＡＣ、１１０７…画像入力Ｉ／Ｆ部、１１０８…画像出力Ｉ／Ｆ部。
【図１】
2005115464.tif 000003
【図２】
2005115464.tif 000004
【図３】
2005115464.tif 000005
【図４】
2005115464.tif 000006
【図５】
2005115464.tif 000007
【図６】
2005115464.tif 000008
【図７】
2005115464.tif 000009
【図８】
2005115464.tif 000010
【図９】
2005115464.tif 000011
【図１０】
2005115464.tif 000012
【図１１】
2005115464.tif 000013
【図１２（ａ）】
2005115464.tif 000014
【図１２（ｂ）】
2005115464.tif 000015
【図１３（ａ）】
2005115464.tif 000016
【図１３（ｂ）】
2005115464.tif 000017