(57)【要約】【課題】記憶媒体が接続されてデータ転送が行なわれるデータ伝送路を用いたデータの転送効率の向上を図る。【解決手段】メモリコントローラ２０にアクセス要求保持回路２２を設け、周辺機器１８からデータ要求コマンドＡ、Ｂとして送信されるデータ書込み要求を受信すると、受信したデータ要求コマンドを順にアクセス要求保持回路に蓄積して保持すると共に、蓄積順にメモリ１４へアクセスしてデータを読出し、読み出したデータを、要求元へ転送する。周辺機器は、データ要求コマンドを送信するとＰＣＩバスを開放するために、データ要求コマンドの送信及びデータ転送を円滑に行うことができる。【選択図】図３
2008090720.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶媒体と、前記記憶媒体が接続されてデータ転送を可能とするデータ伝送路と、前記データ伝送路を介して前記記憶媒体のデータを読み出すときデータ書込み要求を行うデータ処理手段と、
前記データ処理手段から送出される前記データ書込み要求を含む前記記憶媒体への処理要求を順に蓄積して保持する要求保持手段と、
前記要求保持手段に保持された記憶媒体に対する前記処理要求を順に読み出して処理要求に基づいた記憶媒体へのデータ書き込み及び読み出しを制御すると共に、前記データ書込み要求に対して該当データを記憶媒体から読み出して要求元のデータ処理手段へデータ書込み要求として転送する記憶媒体制御手段と、
を含むことを特徴とするデータ転送システム。
【請求項２】
前記記憶媒体制御手段が、前記要求保持手段に保持された前記処理要求に対して、蓄積順に読み出すことを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
前記データ処理手段及び前記記憶媒体制御手段からの前記データ伝送路の使用要求を調停する調停手段を含むことを特徴とする請求項１又は請求項２に記載のデータ転送システム。
【請求項４】
前記調停手段が予め設定された優先順位に基づいて前記記憶媒体制御手段及び前記データ処理手段に前記データ伝送路の使用権を設定することを特徴とする請求項３に記載のデータ転送システム。
【請求項５】
前記要求保持手段に蓄積された前記処理要求が所定量に達したときに、前記調停手段が、前記記憶媒体制御手段に前記データ伝送路の使用権を付与することを特徴とする請求項３又は請求項４に記載のデータ転送システム。
【請求項６】
前記記憶媒体制御手段の前記優先順位を最も高く設定していることを特徴とする請求項３から請求項５の何れか１項に記載のデータ転送システム。
【請求項７】
複数の前記データ処理手段の中で、最も広い前記データ伝送帯域を必要とするデータ処理手段に対して、複数の優先順位を設定することを特徴とする請求項３から請求項６の何れか１項に記載のデータ転送システム。
【請求項８】
前記請求項１から請求項７の何れか１項に記載のデータ転送システムが設けられて、画像データに応じた画像を記憶媒体に形成する画像形成装置であって、
前記データ処理手段として、
前記画像データに対して処理の処理を施して前記記憶媒体に書込む中央演算処理装置と、
前記中央演算処理装置で処理された前記画像データを前記記憶媒体から読み出して、画像データに応じた画像を前記記録媒体に形成する画像形成手段と、
を含むことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の要求元からの要求に基づいてデータ転送を行なうデータ転送システム及び画像形成装置に関する。
【背景技術】
【０００２】
画像データに基づいた画像を記録媒体に形成する画像形成装置などにおいては、画像データなどのデータを処理する処理システムが設けられており、この処理システムでは、中央処理装置（ＣＰＵ）と記憶媒体（メモリ）とがバスによって接続され、ＣＰＵで処理された画像データなどがメモリに格納される。また、このメモリに格納された画像データを、所定のデバイスに転送することにより、該当デバイスによって画像データに対する処理、画像データを用いた処理が行われる。
【０００３】
図１１（Ａ）には、デバイスからメモリに直接アクセスして、データを読み取るときの一般的処理の概略の流れを示している。この場合、デバイスからメモリへデータリードコマンドを送信して読取要求を行う。メモリコントローラでは、この読取要求に基づいてメモリから該当データの読出しを行い、この後、要求元のデバイスへ、メモリから読み出したデータを返送する。
【０００４】
ところで、特許文献１では、データ転送効率を悪化させる要因がデータ読取動作であることから、データ読み取りを行なうときに、データ読取要求（データリードコマンド）ではなく、データの書込み要求（データライトコマンド）を用いることにより、バスの占有時間を短縮するように提案している。
【０００５】
すなわち、図１１（Ｂ）に示されるように、メモリからデータを読み取るときに、データ書込み要求を送信することにより、メモリコントローラがメモリから読み出したデータを書込み要求として送信するまで、バスが開放されるようにしており、これにより、メモリコントローラがメモリからデータを読み出しているときに、他のデバイスがバスを使用可能として、バスの利用効率の向上を図ることができるようにしている。
【特許文献１】特開平８−３１４８５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は上記従来技術を鑑みてなされたものであり、記憶媒体が接続されてデータ転送が行なわれるデータ伝送路を用いたデータの転送効率の向上を図ることができるデータ転送システム及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は、データを記憶する記憶媒体と、前記記憶媒体が接続されてデータ転送を可能とするデータ伝送路と、前記データ伝送路を介して前記記憶媒体のデータを読み出すときデータ書込み要求を行うデータ処理手段と、前記データ処理手段から送出される前記データ書込み要求を含む前記記憶媒体への処理要求を順に蓄積して保持する要求保持手段と、前記記憶媒体と前記データ伝送路を接続し、前記要求保持手段に保持された記憶媒体に対する前記処理要求を順に読み出して処理要求に基づいた記憶媒体へのデータ書き込み及び読み出しを制御すると共に、前記データ書込み要求に対して該当データを記憶媒体から読み出して要求元のデータ処理手段へデータ書込み要求として転送する記憶媒体制御手段と、を含むことを特徴とする。
【０００８】
また、請求項２に係る発明は、前記請求項１に記載のデータ転送システムにおいて、前記記憶媒体制御手段が、前記要求保持手段に保持された前記処理要求に対して、蓄積順に読み出すことを特徴とする。
【０００９】
請求項３に係る発明は、前記請求項１又は請求項２のデータ転送システムにおいて、前記データ処理手段及び前記記憶媒体制御手段からの前記データ伝送路の使用要求を調停する調停手段を含むことを特徴とする。
【００１０】
請求項４に係る発明は、前記請求項３のデータ転送システムにおいて、前記調停手段が予め設定された優先順位に基づいて前記記憶媒体制御手段及び前記データ処理手段に前記データ伝送路の使用権を設定することを特徴とする。
【００１１】
請求項５に係る発明は、前記請求項３又は請求項４のデータ転送システムにおいて、前記要求保持手段に蓄積された前記処理要求が所定量に達したときに、前記調停手段が、前記記憶媒体制御手段に前記データ伝送路の使用権を付与することを特徴とする。
【００１２】
また、請求項６に係る発明は、前記請求項３から請求項５の何れか１項に記載のデータ転送システムにおいて、前記記憶媒体制御手段の前記優先順位を最も高く設定していることを特徴とする。
【００１３】
請求項７に係る発明は、前記請求項３から請求項６の何れか１項に記載のデータ転送システムにおいて、複数の前記データ処理手段の中で、最も広い前記データ伝送帯域を必要とするデータ処理手段に対して、複数の優先順位を設定することを特徴とする。
【００１４】
さらに、請求項８に係る発明は、前記請求項１から請求項７の何れか１項に記載のデータ転送システムが設けられて、画像データに応じた画像を記憶媒体に形成する画像形成装置であって、前記データ処理手段として、前記画像データに対して処理の処理を施して前記記憶媒体に書込む中央演算処理装置と、前記中央演算処理装置で処理された前記画像データを前記記憶媒体から読み出して、画像データに応じた画像を前記記録媒体に形成する画像形成手段と、を含むことを特徴とする。
【発明の効果】
【００１５】
請求項１に記載の発明によれば、記憶媒体への処理要求を順に蓄積して保持する要求保持手段を設けることにより、データ書込み要求を用いて記憶媒体に記憶されたデータを読み出すときのデータ伝送路の利用効率の向上を図ることができるという優れた効果が得られる。
【００１６】
また、請求項２に記載の発明によれば、要求保持手段に保持された記憶媒体に対する処理要求を蓄積順に読み出すことにより、処理要求に基づいた記憶媒体に対する処理を円滑に行うことができる。
【００１７】
請求項３に記載の発明によれば、調停手段を設けることにより、データ伝送路を効率的に使用してデータ転送を行なうことができる。
【００１８】
請求項４に記載の発明によれば、データ処理手段と記憶媒体制御手段又は複数のデータ処理手段と記憶媒体制御手段との間で、円滑にデータ伝送路を使用可能となる。
【００１９】
また、請求項５に記載の発明によれば、要求保持手段に蓄積された記憶媒体に対する処理要求が所定量に達したときに、記憶媒体制御手段にデータ伝送路の使用権を設定することにより、記憶媒体に対する処理要求が滞って、データ伝送路の使用効率が低下するのを防止することができる。
【００２０】
さらに、請求項６に記載の発明によれば、記憶媒体制御手段に対する優先順位を最も高くすることにより、記憶媒体からデータ処理手段へのデータ転送が優先されるため、処理要求が滞るのを防止することができる。
【００２１】
また、請求項７に記載の発明によれば、データ伝送路を多く使用させたいデータ処理手段に対する優先順位を複数段階に設定することにより、該当データ処理手段の処理を円滑に実行可能とすることができる。
【００２２】
また、請求項８に記載の発明によれば、画像形成手段による円滑な画像形成を可能とすることができる。
【発明を実施するための最良の形態】
【００２３】
以下に、図面を参照しながら本発明の実施の形態を説明する。
【００２４】
図１には、本発明の実施の形態に係るデータ処理システム１０の概略構成を示している。このデータ処理システム１０は、中央演算装置であるＣＰＵ１２及び、データやプログラムなどを記憶する記憶媒体であるメモリ１４を備えている。また、データ処理システム１０では、データ伝送路の一例とするデータバス、アドレスバス及びコントロールバスによって形成されるＰＣＩバス（Peripheral  Component  Interconnect  Bus）１６が設けられており、このＰＣＩバス１６にＣＰＵ１２及びメモリ１４が接続されている。
【００２５】
このデータ処理システム１０では、ＰＣＩバス１６に、ＰＣＩボード、各種のデバイス、周辺機器など（以下、総称して周辺機器１８とする）が接続されている。なお、図１では、一例として２台の周辺機器１８Ａ、１８Ｂが接続された構成を図示している。
【００２６】
また、データ処理システム１０には、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ：Direct  Memory  Access  Controller）を構成要素とするメモリコントローラ２０とする）が設けられており、メモリ１４は、メモリコントローラ２０を介してＰＣＩバス１６に接続されている。このメモリコントローラ２０は、ＣＰＵ１２、周辺機器１８などからのアクセス要求に基づいたデータ転送と、メモリ１４へのデータの書き込み及びデータの読出しを制御する。すなわち、データ処理システム１０では、ＰＣＩバス１６を介して、ＣＰＵ１２及び周辺機器１８とメモリ１４との間でのデータ転送が可能となっている。
【００２７】
なお、本実施の形態では、データ伝送路としてＰＣＩバス１６を例に説明するが、本発明はこれに限るものではなく、データ転送が管理される任意のデータ伝送路に適用することができる。
【００２８】
また、メモリ１４としては、半導体記憶素子を用いて良いが、これに限らず、記憶されているデータの読出し又はデータの読出し及び書き込みが可能な任意の記憶媒体を用いることができる。
【００２９】
このようなデータ処理システム１０は、ＣＰＵ１２によって各種の処理や制御を行う電子機器に設けることができ、ＣＰＵ１２は、例えば、画像データなどの情報に対して、作成、加工、編集などの処理を行い、これにより得られた情報（以下、データとする）をメモリ１４に格納する。データ処理システム１０では、メモリコントローラ２０を設けることにより、メモリ１４に格納したデータに対して、ＰＣＩバス１６に接続された周辺機器１８からのデータ転送が可能となる。
【００３０】
すなわち、データ処理システム１０では、ＣＰＵ１２、周辺機器１８とメモリ１４との間でＰＣＩバス１６を介したデータ転送が可能となっている。このとき、データ処理システム１０では、ＣＰＵ１２、周辺機器１８及びメモリコントローラ２０のそれぞれがバスマスタとなって、メモリ１４へのアクセス要求、メモリ１４から読み出したデータ転送を制御する。
【００３１】
これにより、データ処理システム１０では、周辺機器１８のそれぞれが、ＰＣＩバス１６を介してメモリ１４にアクセスして、メモリ１４との間でデータの転送を行なうＤＭＡ（Direct  Memory  Access）転送が可能となっている。
【００３２】
また、データ処理システム１０が設けられる電子機器としては、周辺装置１８として、画像データ（例えばラスタデータ）に基づいて記録紙等の画像記録媒体に画像を形成する印刷出力装置などの画像形成手段を設けた画像形成装置に適用することができる。
【００３３】
このときには、例えば画像データが入力されることにより、ＣＰＵ１２で所定の画像処理を行うと共に、画像形成用のデータとしてラスタデータを生成し、このラスタデータをメモリ１４に格納する。印刷出力装置として設けられる周辺機器１８は、このラスタデータをメモリ１４から読み出して、ラスタデータに基づいた画像形成処理を実行する。
【００３４】
ところで、メモリコントローラ２０には、アクセス要求保持回路２２が設けられている。このアクセス要求保持回路２２は、ＣＰＵ１２、周辺機器１８からのメモリ１４に対するデータ書込み要求、データ読出し要求等（以下、総称してアクセス要求とする）を順に蓄積して保持する。メモリコントローラ２０は、アクセス要求保持回路２２に保持されたアクセス要求を、蓄積した順に読み出して、アクセス要求に基づいたデータ転送処理等を行うようにしている。すなわち、アクセス要求保持回路２２は、メモリコントローラ２０内でＦＩＦＯ（First  in  First  out）型のキュー（Queue）を形成している。
【００３５】
なお、アクセス要求保持回路２２では、所定量のアクセス要求を蓄積して保持可能となっており、メモリコントローラ２０では、アクセス要求保持回路２２に保持されたアクセス要求が前記所定量に達すると、新たなアクセス要求を行ったＣＰＵ１２又は周辺機器１８に対して、リトライを要求し、新たなアクセス要求の蓄積に先立って、アクセス要求保持回路２２に保持されているアクセス要求に対する処理を実行するようにしている。
【００３６】
一方、データ処理システム１０には、ＣＰＵ１２、周辺機器１８及びメモリコントローラ２０がデータ転送を行なうときのＰＣＩバス１６の使用権（アービトレーション）を調停する調停手段としてＰＣＩバスアービタ２４が設けられている。
【００３７】
このＰＣＩバスアービタ２４には、ＣＰＵ１２、各周辺機器１８及びメモリコントローラ２０の間で、優先順位が設定されており、この優先順位に基づいて、ラウンドロビン方式でＣＰＵ１２、周辺機器１８及びメモリコントローラ２０に、ＰＣＩバス１６の使用権を付与する。
【００３８】
データ処理システム１０では、ＰＣＩバスアービタ２４と、ＣＰＵ１２、周辺機器１８Ａ、１８Ｂ及びメモリコントローラ２０のそれぞれとの間に、信号線２６が設けられ、ＰＣＩバスアービタ２４と、ＣＰＵ１２、周辺機器１８Ａ、１８Ｂ及びメモリコントローラ２０が信号線２６によって接続されている。
【００３９】
ＰＣＩバスアービタ２４は、ＰＣＩバス１６の使用権を付与するデバイスに対して信号線２６を介してアービトレーション信号を出力する。ＣＰＵ１２、周辺機器１８及びメモリコントローラ２０は、アービトレーション信号を受信することにより、ＰＣＩバス１６の使用権が付与されたことを認識可能となっている。
【００４０】
ここで、本実施の形態の作用として、先ず、アクセス要求保持回路２２を設けたメモリコントローラ２０の動作を説明する。
【００４１】
メモリコントローラ２０は、ＣＰＵ１２、周辺機器１８Ａ、１８Ｂなどのメモリ１４に対する要求元からのアクセス要求があると、このアクセス要求をアクセス要求保持回路２２に蓄積して保持しながら、アクセス要求に対する処理を行い、処理が終了すると、該当アクセス要求を削除（消去）する。また、メモリコントローラ２０は、アクセス要求に対する処理を行っているときに、新たなアクセス要求を受信すると、受信したアクセス要求をアクセス要求保持回路２２に順に蓄積して保持する。
【００４２】
一方、周辺機器１８がメモリ１４に格納されているデータを取得するときに、データ読込み要求を行うと、メモリ１４から読み出されたデータが要求元の周辺機器１８に転送されるまで、要求元がＰＣＩバス１６を占有することになる。
【００４３】
これに対して、データ書込み要求を用いて、メモリ１４に記憶されているデータを読み出すようにした場合、ＰＣＩバス１６の占有時間を短くすることができる。なお、以下では、一例としてＰＣＩバス１６を３２bit／６６ＭＨｚとして、ＣＰＵ１２、周辺機器１８及びメモリコントローラ２０のそれぞれは、３２Byteのデータをバースト転送するものとして説明する。
【００４４】
図２（Ａ）には、データ読込み要求（Data  Read）によって３２Byteのデータをバースト転送によって読み込む（８バーストリード）時のＰＣＩバス１６上の信号状態の概略を示しており、データ読込み要求を行うと、メモリコントローラ２０がメモリ１４にアクセスする時間が必要となり、少なくとも１８サイクル（clk）のＰＣＩバス１６の占有が必要となる。なお、Addはアドレスデータを示し、Ｄ０〜Ｄ７はデータを示す。
【００４５】
図２（Ｂ）には、データ書込み要求によって３２Byteのデータを、例えば、メモリコントローラ２０から周辺機器１８へバースト転送して書き込む（８バーストライト）時のＰＣＩバス１６上の信号状態の概略を示しており、１０clkのＰＣＩバス１６の占有が必要となる。
【００４６】
また、図２（Ｃ）に示されるように、ＣＰＵ１２などがメモリコントローラ２０へデータ書込み要求コマンド（コマンドライト：Command  Write）を書き込むときには５clkを要する。なお、ＣＭＤ０〜ＣＭＤ２は、メモリコントローラ２０への処理を指示するデータ（処理内容を指示するコマンド、例えば、転送元のアドレス、転送先のアドレス、転送サイズなど）を示している。また、図２（Ｄ）に示されるように、再実行要求（リトライ）は、３clkとなる。
【００４７】
これにより、例えば、周辺機器１８が、データ読込み要求を行う場合、１８clkで３２Byte（３２Ｂ／１８clk）のデータ転送が行なわれるのに対して、周辺機器１８がデータ書込み要求コマンドを発行し、これに基づいてメモリコントローラ２０が周辺機器１８へデータ書込みでデータ転送を行なうときには、５clk＋１０clkで３２Byte（３２Ｂ／１０clk）のデータ転送が可能となる。また、周辺機器１８からのデータ書込み要求コマンドと、メモリコントローラ２０のデータ書込みの間は、ＰＣＩバス１６が開放されるので、この間に、メモリ１４への別のアクセス要求の送信が可能となる。
【００４８】
ここから、データ処理システム１０では、メモリ１４に記憶されているデータを読み出すときに、メモリコントローラ２０に対してデータ書込み要求コマンドを送信して、送信を終了するとＰＣＩバス１６が開放されるようにしている。すなわち、メモリコントローラ２０は、周辺機器１８からデータの書込み要求コマンドを受信すると該当データをメモリ１４から読み出し、ＰＣＩバス１６が使用可能となると、読み出したデータを要求元の周辺機器１８に転送する。
【００４９】
また、データ処理システム１０では、メモリコントローラ２２にアクセス要求保持回路２２が設けられることにより、ＰＣＩバス１６が空いているときに、周辺機器１８からのデータ書込み要求コマンドを受信して蓄積することができる。
【００５０】
ここで、アクセス要求保持回路２２を備えたメモリコントローラ２０の処理の一例を、図３を参照しながら説明する。この図３では、例えば、周辺機器１８（１８Ａ、１８Ｂ）からメモリ１４に記憶しているデータを要求するデータ要求コマンドＡ、データ要求コマンドＢを送信し、メモリコントローラ２０が、データ要求コマンドＡに対応するデータをメモリ１４から読み出して要求元へデータ転送（応答Ａ、応答Ｂ）を行なうときの処理の流れを示している。なお、データ要求コマンドとしてデータをコマンドの書込み要求（ＣＷ）を用いることにより、要求送信後に、ＰＣＩバス１６を開放することができるようにしている。
【００５１】
メモリコントローラ２０では、アクセス要求保持回路２２に何も保持されていない状態で、周辺機器１８（例えば周辺機器１８Ａ）からデータ要求コマンドＡが送信されると（ステップ１００）、このデータ要求コマンドＡを受信し、このデータ要求コマンドＡを、アクセス要求保持回路２２に保持する（ステップ１０２）。
【００５２】
メモリコントローラ２０は、アクセス要求保持回路２２にデータ要求コマンドＡが保持されると、保持されたデータ要求コマンドＡを読み出し、データ要求コマンドＡに基づいて、メモリ１４からのデータの読出しを開始する（ステップ１０４）。これにより、メモリ１４からデータを読み出すメモリリード動作が実行される（ステップ１０６）。
【００５３】
また、アクセス要求保持回路２２にデータ要求コマンドＡが保持されている状態で、例えば、周辺機器１８Ｂからデータ要求コマンドＢが送信されると（ステップ１０８）、メモリコントローラ２０は、このデータ要求コマンドＢを受信して、アクセス要求保持回路２２に保持する（ステップ１１０）。これにより、アクセス要求保持回路２２には、データ要求コマンドＡ、Ｂが保持される。
【００５４】
メモリコントローラ２０では、データ要求コマンドＡに基づいたデータをメモリ１４から読み出すと（ステップ１１２）、読み出したデータを、データ要求コマンドＡに基づいてデータ転送を開始する（ステップ１１４）。
【００５５】
一方、メモリコントローラ２０では、データ要求コマンドＡに基づいたデータ転送を開始すると、アクセス要求保持回路２２からデータ要求コマンドＡが消去される（ステップ１１６）と共に、次のデータ要求コマンドＢが読み出され、このデータ要求コマンドＢに基づいたメモリリード動作を開始する（ステップ１１８）。これにより、メモリリード動作が実行され（ステップ１２０）、メモリ１４からデータを読み出すと（ステップ１２２）、読み出したデータを転送し（ステップ１２４）、アクセス要求保持回路２２に保持されていたデータ要求コマンドＢを消去する（ステップ１２６）。
【００５６】
このように、メモリコントローラ２０では、アクセス要求保持回路２２に、アクセス要求（アクセス要求コマンド）を順に蓄積して保持することにより、連続的にメモリ１４にアクセスして、メモリリード動作等を実行する。
【００５７】
次に、ＰＣＩバスアービタ２４を用いたデータ転送処理を説明する。データ処理システム１０では、ＰＣＩバスアービタ２４によってＰＣＩバス１６の使用権が付与されることより、ＣＰＵ１２、周辺機器１８及びメモリコントローラ２０のそれぞれがバスマスタとしてＰＣＩバス１６を使用し、データの転送要求及び転送要求に基づいたデータ転送が行なわれる。
【００５８】
図４には、一般的な優先順位（プライオリティ）の設定の一例を示している。この優先順位の設定では、例えば、周辺機器１８Ａが、プリンタの印刷出力デバイスなどのように多量のデータ転送を要求するために広い帯域を必要とするときに、この周辺機器１８Ａに対して、ＣＰＵ１２、周辺器１８Ｂ及びメモリコントローラ２０よりも優先順位を高く設定する。
【００５９】
例えば、ＣＰＵ１２、周辺機器１８Ｂ及びメモリコントローラ２０の優先順位を同じにし、ＣＰＵ１２、周辺機器１８Ｂ、メモリコントローラ２０の間で、１：１：１の比率でＰＣＩバス１６の使用権が設定されるようにしている。また、このグループと、周辺機器１８Ａに１：１の比率で優先順位が付与されるように設定している。なお、以下では、周辺機器１８Ａ、１８Ｂを区別して図示するときには、周辺機器１８ＡをＰ−Ａ  として示し、周辺機器１８ＢをＰ−Ｂとして示す。
【００６０】
これにより、ＰＣＩバスアービタ２４では、周辺機器１８Ａが優先順位の高いHighプライオリティとされ、ＣＰＵ１２、周辺機器１８Ｂ及びメモリコントローラ２０がこれより優先順位の低いＬｏプライオリティとされて、２レベルのラウンドロビン方式で使用権の調停を行なう。
【００６１】
データ処理システム１０では、メモリコントローラ２０にアクセス要求保持回路２０を設けることにより、ＰＣＩバスアービタ２４によってＣＰＵ１２、周辺機器１８Ａ、１８Ｂ及びメモリコントローラ２０の間で、順にＰＣＩバス１８の使用権が設定される。
【００６２】
一方、メモリコントローラ２０にアクセス要求保持回路２２が設けられていない場合、すなわち、メモリコントローラ２０が一つのアクセス要求のみしか保持できない場合、ＰＣＩバスアービタ２４による調停効果が得られなくなってしまう。
【００６３】
図５には、このときの一例を示している。なお、図５では、前記した２レベルのラウンドロビン方式でＰＣＩバス１６の使用権を付与するようにしている。また、本実施の形態の以下の説明では、周辺機器１８Ａ、１８ＢをＰ−Ａ、Ｐ−Ｂ、メモリコントローラ２０をＭＣとして図示すると共に、それぞれの処理において、ＤＲがData  Read（データ読込み）、Data  Write（データ書込み）、ＣＷがCommand  Write（コマンド書込み）として図示する。
【００６４】
ＰＣＩバスアービタ２４では、ステップ１３０で周辺機器１８Ａに使用権を付与すると、ステップ１３２では、メモリコントローラ２０に使用権を付与する。また、ステップ１３４では、周辺機器１８ＡにＰＣＩバス１６の使用権を付与する。さらに、ＰＣＩバスアービタ２４は、ステップ１３６、１３８、１４０、１４２、１４４で、周辺機器１８Ｂ、周辺機器１８Ａ、ＣＰＵ１２、周辺機器１８Ａ、メモリコントローラ２０の順でＰＣＩバス１６の使用権を付与する。
【００６５】
ここで、ステップ１３０で周辺機器１８Ａに使用権を付与することにより、周辺機器１８Ａが、メモリ１４からデータを読み出す要求を、データ書込み要求コマンド（ＣＷ）としてメモリコントローラ２０へ送出すると、メモリコントローラ２０は、この要求に基づいてメモリ１４からデータを読み出し、ステップ１３２で使用権が付与されると、周辺機器１８Ａにデータ書込みとしてデータ転送を行う。
【００６６】
また、ステップ１３４で周辺機器１８Ａに使用権が付与されると、周辺機器１８Ａでは、新たな要求をメモリコントローラ２０へ送出し、メモリコントローラ２０は、この要求を受信することにより、要求に応じたデータ読出しを行なうためにメモリ１４へのアクセスを実行する。
【００６７】
このときに、ステップ１３６で周辺機器１８Ｂに使用権が付与されて、周辺機器１８Ｂがデータ書込み要求コマンド（ＣＷ）を発行しようとするが、メモリコントローラ２０はステップ１３４で受信した周辺機器１８Ａからの要求が完了していないために新たなアクセス要求を受け付けられないのでリトライ要求を行う。また、メモリコントローラ２０では、使用権が付与されるまで、ステップ１３４で受信したアクセス要求を保持しているので、ステップ１３８〜１４２で使用権が付与された周辺機器１８Ａ、ＣＰＵ１２に対しても、メモリコントローラ２０は、リトライ応答を行い、ステップ１４４で使用権が付与されて、周辺機器１８Ａへデータ転送を行なって初めて、次のアクセス要求の受付が可能となる。
【００６８】
このときに、次のステップ１４４では、周辺機器１８Ａに使用権が付与されるので、再度、周辺機器１８Ａからの要求を受け付けることになる。
【００６９】
これにより、ＰＣＩバス１６の使用権が、１周するには、２７clkを要するが、この間では、周辺機器１８Ａからの要求に基づいたデータ転送が一回のみとなってしまう。
【００７０】
したがって、周辺機器１８Ａに対しては、データ転送レートは、（３２Ｂ×１）／２７clkから、７９．０ＭＢ／secとなり、ＰＣＩバス１６の転送レートも７９．０ＭＢ／secとなってしまう。また、優先権がHighプライオリティに設定された周辺機器１８Ａに対してのみの処理を行ってしまうことになるために、データ処理システムとしては、破綻をきたしてしまうことになる。
【００７１】
このような現象は、メモリコントローラ２０のアクセス要求保持回路２２に保持されるデータ書込み要求コマンドが、アクセス要求保持回路２２が保持可能な量に達することにより生じる可能性がある。
【００７２】
ここで、データ処理システム１０で適用されるＰＣＩバス１６の使用権の設定を、実施例１から実施例３として説明する。
〔実施例１〕
実施例１では、データ処理システム１０に設けているＰＣＩバスアービタ２４が、アクセス要求保持回路２２に保持されたアクセス要求が所定量に達すると、メモリコントローラ２０に優先的にＰＣＩバス１６の使用権を付与するようにしている。
【００７３】
すなわち、メモリコントローラ２０は、アクセス要求保持回路２２に保持されたアクセス要求が所定量（例えば、満杯状態）に達すると、ＰＣＩバスアービタ２４に、アクセス要求保持回路２２に保持したアクセス要求が所定量に達したことを示すステータス信号を出力する。ＰＣＩバスアービタ２４は、メモリコントローラ２０から、このステータス信号が入力されることよりメモリコントローラ２０へのデータの入出力が可能となるように、ＰＣＩバス１６の使用権の付与先をメモリコントローラ２０に変更する。
【００７４】
図６（Ａ）〜図６（Ｃ）には、このときの処理の一例を示している。なお、図６（Ａ）では、ＰＣＩバス使用権が付与されるデバイスを示し、図６（Ｂ）では、図６（Ａ）で使用権が付与されたデバイスの処理の内容を示し、図６（Ｃ）では、図６（Ｂ）の処理によってアクセス要求保持回路２２に保持されたデータ要求コマンドを示している。また、図６（Ｃ）で示す、「ＣＰＵ」はＣＰＵ１２からのデータ要求、「Ｐ−Ａ」は周辺機器１８Ａからのデータ要求、「Ｐ−Ｂ」は周辺機器１８Ｂからのデータ要求であることを示し、図６（Ａ）に対応する図６（Ｂ）、図６（Ｃ）では、図６（Ａ）と同一のステップ番号を付与している。
【００７５】
図６（Ａ）に示されるように、ＰＣＩバスアービタ２４は、例えば、ステップ１５０で周辺機器１８Ａに使用権を付与すると、次のステップ１５２では、周辺機器１８Ｂに使用権を付与する。
【００７６】
図６（Ｂ）に示されるように、周辺機器１８Ａは、ステップ１５０でＰＣＩバス使用権が付与されることにより、メモリ１４のデータ要求のためにメモリコントローラ２０に対してコマンド書込み（ＣＷ）を送出し、周辺機器１８Ｂは、ステップ１５２でＰＣＩバス使用権が付与されると、メモリ１４からのデータ要求のためにメモリコントローラ２０に対してコマンド書込みを送出する。
【００７７】
これにより、図６（Ｃ）のステップ１５２に示されるように、アクセス要求保持回路２２には、周辺機器１８Ａ、１８Ｂからの要求を、順に蓄積して保持する。このとき、メモリコントローラ２０では、アクセス要求保持回路２２に保持しているアクセス要求の中で最も古い要求（図６（Ｃ）で最下段の要求、ここでは、ステップ１５２以前の周辺機器１８Ｂからの要求としている）を実行している。
【００７８】
ここで、ステップ１５２で周辺機器１８Ｂからの要求を受信することにより、アクセス要求保持回路２２に保持しているデータ要求が所定値に達する（Full状態となる）と、メモリコントローラ２０は、アクセス要求保持回路２２に保持したデータ要求が所定量に達したことを示すステータス信号を、ＰＣＩバスアービタ２４へ送出する。
【００７９】
これにより、図６（Ａ）に示されるように、ＰＣＩバスアービタ２４では、ステップ１５４でメモリコントローラ２０へＰＣＩバス１６の使用権を付与する。すなわち、本来は、周辺機器１８Ａに使用権を付与するべきときに、メモリコントローラ２０に使用権を付与し、次のステップ１５６で、本来の周辺機器１８Ａ使用権を付与する。
【００８０】
メモリコントローラ２０は、ステップ１５４で使用権が付与されると、実行待ちとなっている周辺機器１８Ｂへのデータ転送を実行し、これにより、アクセス要求保持回路２２から、最も古いデータ要求が削除され、新たなデータ要求の受付が可能となる。また、メモリコントローラ２０は、アクセス要求保持回路２２に保持している次のデータ要求（ここでは、周辺機器１８Ａからの要求）に基づいた処理を開始する。
【００８１】
また、メモリコントローラ２０は、ステップ１５６で周辺機器１８Ａからのデータ要求を受信すると、受信したデータ要求をアクセス要求保持回路２２に保持し、これにより、データ要求が所定量に達することにより、ＰＣＩバスアービタ２４へデータ要求が所定量に達したことを示すステータス信号を出力する。
【００８２】
ＰＣＩバスアービタ２４は、ＣＰＵ１２への使用権の付与に先立って、ステータス信号の受信によって、ステップ１５８でメモリコントローラ２０にＰＣＩバス使用権を付与し、ＣＰＵ１２へのＰＣＩバス使用権の付与を、ステップ１６０へと変更する。
【００８３】
メモリコントローラ２０は、ステップ１５８で使用権が付与されると、実行中の処理である周辺機器１８Ａへのデータ転送を実行し、ステップ１６０で、ＣＰＵ１２から送出されるデータ要求を受信して、アクセス要求保持回路２２に保持すると共に、先のＣＰＵ１２からのデータ要求に基づいた処理を実行する。
【００８４】
また、メモリコントローラ２０は、ステップ１６０でＣＰＵ１２からのデータ要求を受信することによりアクセス要求保持回路２２に保持されたデータ要求が所定量に達するため、ＰＣＩバスアービタ２４へデータ要求が所定量に達したことを示すステータス信号を送出する。
【００８５】
これにより、ＰＣＩバスアービタ２４は、ステップ１６２でメモリコントローラ２０にＰＣＩバス使用権を付与し、周辺機器１８Ａへの使用権の付与を、次のステップ１６４で行なう。なお、本実施例においてＰＣＩバスアービタ２４は、メモリコントローラ２０へのＰＣＩバス使用権の付与はステータス信号の有無にかかわらず行うようにしているため、ステップ１６６ではメモリコントローラ２０にＰＣＩバス使用権が付与され、次のステップ１６８では、優先順位に沿って周辺機器１８ＡにＰＣＩバス使用権を付与する。
【００８６】
また、メモリコントローラ２０では、ステップ１６８で周辺機器１８Ａから送出されたデータ要求を受信して、アクセス要求保持回路２２に保持されたデータ要求が所定量に達することによりＰＣＩバスアービタ２４へデータ要求が所定量に達したことを示すステータス信号を送出し、これにより、ＰＣＩバスアービタ２４が次のステップ１７０でメモリコントローラ２０へＰＣＩバス使用権を付与し、周辺機器１８Ｂへの使用権の付与を次のステップ１７２で実行されるようにし、ステップ１７０でメモリコントローラ２０にＰＣＩバス使用権が付与されることにより、メモリコントローラ２０が周辺機器１８Ａへのデータ転送を実行する。
【００８７】
これにより、ステップ１５２で周辺機器１８Ｂに使用権が付与されてから、ステップ１７２で、再度、周辺機器１８Ｂに使用権が付与される前までの１周の期間は、７５clkとなり、この間に、ＰＣＩバス１６を用いた周辺機器１８Ａへは３回のデータ転送と、ＣＰＵ１２と周辺機器１８Ｂへは各１回ずつのデータ転送が行なわれる。
【００８８】
したがって、周辺機器１８Ａへのデータ転送レートは、（３２Ｂ×３）／７５clkなので８５．３ＭＢ／sec、ＣＰＵ１２と周辺機器１８Ｂへのデータ転送レートは、それぞれ（３２Ｂ×１）／７５clkなので２８．４ＭＢ／secとなり、ＰＣＩバス１６のスループット（データ転送レート）は、１４２．２ＭＢ／secとなる。
〔実施例２〕
前記した実施例１では、メモリコントローラ２０からＰＣＩバスアービタ２４へステータス信号を送出し、このステータス信号に基づいてＰＣＩバスアービタ２４が、メモリコントローラ２０へＰＣＩバス１６の使用権を付与するようにしたが、ＰＣＩバスアービタ２４での優先順位の設定で、データ転送効率の改善を図ることも可能となり、これを実施例２として説明する。
【００８９】
図７には、実施例２に係る優先順位の設定の一例を示している。図７に示される優先順位では、メモリコントローラ２０の優先順位を、Highプライオリティの周辺機器１８Ａよりも高い優先順位（ここでは、Topプライオリティとしている）に設定する。
【００９０】
すなわち、LowプライオリティとHighプライオリティの間では、１：１でＰＣＩバス１６のＰＣＩバス使用権が付与され、Lowプライオリティ及びHighプライオリティとTopプライオリティの間では、１：１でＰＣＩバス使用権が付与される３レベルのラウンドロビン方式としている。
【００９１】
これにより、メモリコントローラ２０からの要求によって最高で２回に１回の割合でメモリコントローラ２０へＰＣＩバス１６の使用権が付与されるようにしている。
【００９２】
図８（Ａ）〜図８（Ｃ）には、このときの処理の流れの一例を示している。なお、図８（Ａ）には、ＰＣＩバス１６の使用権が付与されたデバイスの動作を示し、図８（Ｂ）には、そのときのアクセス要求保持回路２２に保持されるデータ要求を示している。また、図８（Ｃ）には、メモリコントローラ２０が要求された処理を実行して、データ転送が可能となったときに信号線２６を介して発するＰＣＩバス１６の使用要求信号を示し、ＰＣＩバス使用要求時にＬベルとなるように示している。
【００９３】
ここで、アクセス要求保持回路２２にアクセス要求が保持されていない状態で、ＣＰＵ１２、周辺機器１８Ａ、１８ＢがＰＣＩバス１６の使用権を要求すると、ＰＣＩバスアービタ２４は、先ず、ステップ１８０で周辺機器１８ＡにＰＣＩバス使用権を付与し、これにより、周辺機器１８Ａが送出するデータ書込み要求コマンドがアクセス要求保持回路２２に保持される。また、次のステップ１８２で周辺機器１８ＢにＰＣＩバス使用権が付与されることによりメモリ１４に対するデータ要求を行うと、このデータ要求がアクセス要求保持回路２２に保持される。
【００９４】
一方、メモリコントローラ２０は、ステップ１８０で周辺機器１８Ａの要求を受信すると、この要求に基づいてメモリ１４にアクセスしてデータ読出しを行い、周辺機器１８Ａへのデータ転送が可能となると、ステップ１８４で、ＰＣＩバスアービタ２４に対してＰＣＩバス１６の使用要求を行う。
【００９５】
これにより、ＰＣＩバスアービタ２４は、ステップ１８６でメモリコントローラ２０にＰＣＩバス使用権を付与し、ＰＣＩバス使用権が付与されたメモリコントローラ２０は、周辺機器１８Ａへ要求されたデータ転送を行い、次の要求（周辺機器１８Ｂからの要求）に対する処理を実行し、データ転送が可能となることによりＰＣＩバス１６の使用要求を行う（ステップ１８８）。
【００９６】
ＰＣＩバスアービタ２４は、メモリコントローラ２０へＰＣＩバス使用権を付与しているときに、メモリコントローラ２０からＰＣＩバス使用要求があると、先ず、ステップ１９０で周辺機器１８ＡにＰＣＩバス使用権を付与し、次のステップ１９２でメモリコントローラ２０へＰＣＩバス使用権を付与する。
【００９７】
これにより、メモリコントローラ２０は、ステップ１９０で周辺機器１８Ａからのデータ要求をアクセス要求保持回路２２に保持し、メモリコントローラ２０がＰＣＩバス１６を使用可能となると（ステップ１９２）、周辺機器１８Ｂへデータ転送を行ない、アクセス要求保持回路２２に保持されている次のデータ要求に対する処理を行う。データ要求に基づいてメモリ１４からデータ読出しを行なって、データ転送が可能となるとＰＣＩバスアービタ２４に対してＰＣＩバス１６の使用要求を行う（ステップ１９４）。
【００９８】
ＰＣＩバスアービタ２４は、ステップ１９４でメモリコントローラ２０からの使用要求を受信すると、ステップ１９６でＣＰＵ１２にＰＣＩバス使用権を付与し、次のステップ１９８でメモリコントローラ２０へＰＣＩバス使用権を付与し、メモリコントローラ２０は、周辺機器１８Ａへデータ転送を行う。
【００９９】
また、ＰＣＩバスアービタ２４は、ステップ２００でメモリコントローラ２０から使用要求があると、ステップ２０２で周辺機器１８ＡにＰＣＩバス使用権を付与した後、ステップ２０４でメモリコントローラ２０へＰＣＩバス使用権を付与し、メモリコントローラ２０へＰＣＩバス使用権を付与しているときに、メモリコントローラ２０からＰＣＩバス使用要求があると（ステップ２０６）、ステップ２０８で周辺機器１８ＢにＰＣＩバス使用権を付与した後、ステップ２１０でメモリコントローラ２０へＰＣＩバス使用権を付与する。
【０１００】
これにより、ＣＰＵ１２、周辺機器１８Ａ、１８Ｂ及びメモリコントローラ２０の全てに少なくとも１回の使用権を付与した１周内（例えば、ステップ１８２〜ステップ２０４）では、メモリコントローラ２０から周辺機器１８Ａに２回のデータ転送が行われ、周辺機器１８ＢとＣＰＵ１２とにはメモリコントローラ２０から各１回のデータ転送が行なわれる。
【０１０１】
この間（優先順位の１周分）は、６０clkとなっており、周辺機器１８Ａへのデータ転送レートは、（３２Ｂ×２）／６０clkなので７１．０ＭＢ／sec、ＣＰＵ１２と周辺機器１８Ｂへのデータ転送レートは、それぞれ（３２Ｂ×１）／６０clkなので３５．６ＭＢ／secとなり、ＰＣＩバス１６のスループット（データ転送レート）は、１４２．２ＭＢ／secとなる。
〔実施例３〕
前記した実施例２では、最も広い帯域が得られるようにしたい周辺機器１８Ａのデータ転送レートが実施例１よりも低下している。そこで、実施例３では、周辺機器１８Ａの転送効率の向上を可能とする優先順位の一例を示す。
【０１０２】
図９には、実施例３で適用する優先順位の設定の一例を示している。図９に示す優先順位では、周辺機器１８Ａの優先順位として、Highプライオリティに加え、Lowプライオリティの２箇所に設定している。
【０１０３】
図１０（Ａ）〜図１０（Ｃ）には、この優先順位に基づいた処理の流れの一例を示している。なお、図１０（Ａ）には、ＰＣＩバス１６の使用権が付与されたデバイスの動作を示し、図１０（Ｂ）には、そのときのアクセス要求保持回路２２に保持されるデータ要求を示している。また、図１０（Ｃ）には、メモリコントローラ２０が要求された処理を実行して、データ転送が可能となったときに発するＰＣＩバス１６の使用要求信号を示している。
【０１０４】
ここで、アクセス要求保持回路２２にデータ要求が保持されていない状態で、ＣＰＵ１２、周辺機器１８Ａ、１８ＢがＰＣＩバス１６の使用権を要求すると、ＰＣＩバスアービタ２４は、先ず、ステップ２２０で周辺機器１８ＡにＰＣＩバス使用権が付与され、ステップ２２２で周辺機器１８ＢにＰＣＩバス使用権が付与される。これにより、メモリコントローラ２０のアクセス要求保持回路２２には、周辺機器１８Ａからのデータ要求が保持された後、周辺機器１８Ｂからのアクセス要求が保持される。
【０１０５】
また、メモリコントローラ２０は、周辺機器１８Ａからのデータ要求が保持されると、このデータ要求に基づいてメモリ１４からのデータ読出しを開始し、読み出したデータのデータ転送が可能となると、ステップ２２４で、ＰＣＩバスアービタ２４に対してＰＣＩバス１６の使用要求を行う。
【０１０６】
ＰＣＩバスアービタ２４は、メモリコントローラ２０からＰＣＩバス１６の使用要求を受信すると、ステップ２２６でメモリコントローラ２０に対してＰＣＩバス使用権を付与する。
【０１０７】
メモリコントローラ２０はＰＣＩバス使用権が付与されると（ステップ２２６）、周辺機器１８Ａへ要求されたデータ転送を行い、次に、周辺機器１８Ｂからのデータ要求に対する処理を実行し、データ転送が可能となるとＰＣＩバス１６の使用要求を行う（ステップ２２８）。
【０１０８】
ＰＣＩバスアービタ２４は、ステップ２２６でメモリコントローラ２０へＰＣＩバス使用権を付与しているときに、ステップ２２８でメモリコントローラ２０からＰＣＩバス使用要求があると、ステップ２３０で周辺機器１８ＡにＰＣＩバス使用権を付与し、次のステップ２３２でメモリコントローラ２０へＰＣＩバス使用権を付与する。
【０１０９】
これにより、メモリコントローラ２０は、ステップ２３０で周辺機器１８Ａからのデータ要求をアクセス要求保持回路２２に保持し、ＰＣＩバス１６の使用が可能となると（ステップ２３２）、周辺機器１８Ｂへデータ転送を行い、アクセス要求保持回路２２に保持されている次のアクセス要求に対する処理を行う。また、データ要求に基づいてメモリ１４からデータ読出しを行なって、データ転送が可能となるとＰＣＩバス１６の使用要求を行う（ステップ２３４）。
【０１１０】
ここで、ＰＣＩバスアービタ２４は、ステップ２３０で周辺機器１８ＡにＰＣＩバス使用権を付与し、次のステップ２３２でメモリコントローラ２０にＰＣＩバス使用権を付与すると、ステップ２３６では、再度、周辺機器１８ＡにＰＣＩバス使用権を付与した後、ステップ２３８でメモリコントローラ２０にＰＣＩバス使用権を付与する。
【０１１１】
また、ＰＣＩバスアービタ２４は、ステップ２４０でメモリコントローラ２０からＰＣＩバス使用要求があると、ステップ２４２で周辺機器１８ＡにＰＣＩバス使用権を付与した後、ステップ２４４でメモリコントローラ２０にＰＣＩバス使用権を付与する。
【０１１２】
すなわち、周辺機器１８Ａに対する優先順位を、HighプライオリティとLowプライオリティの双方に設定することにより、Topプライオリティのメモリコントローラ２０を除いたときに、周辺機器１８Ａに対してＰＣＩバス１６の使用権を連続して付与可能となるようにしている。
【０１１３】
この後、ＰＣＩバスアービタ２４では、メモリコントローラ２０からＰＣＩバス使用要求があると（ステップ２４６）、ＣＰＵ１２にＰＣＩバス使用権を付与した（ステップ２４８）後、メモリコントローラ２０にＰＣＩバス使用権を付与し（ステップ２５０）、このときに、メモリコントローラ２０からＰＣＩバス使用要求があると（ステップ２５２）、ステップ２５４で周辺機器１８ＡにＰＣＩバス使用権を付与した後、ステップ２５６でメモリコントローラ２０にＰＣＩバス使用権を付与する。
【０１１４】
さらに、ＰＣＩバスアービタ２４は、ステップ２５８でメモリコントローラ２０からＰＣＩバス使用要求があると、ステップ２６０で周辺機器１８ＢにＰＣＩバス使用権を付与した後、ステップ２６２でメモリコントローラ２０にＰＣＩバス使用権を付与する。
【０１１５】
このようにして、優先順位の１周分（例えば、ステップ２２２〜ステップ２５６）には、９０clkを要する。
【０１１６】
この優先順位の１周内では、メモリコントローラ２０から周辺機器１８Ａに４回のデータ転送が行われ、周辺機器１８ＢならびにＣＰＵ１２にはメモリコントローラ２０から各１回のデータ転送が行なわれる。
【０１１７】
これにより、周辺機器１８Ａへのデータ転送レートは、（３２Ｂ×４）／９０clkなので９４．８ＭＢ／sec、ＣＰＵ１２と周辺機器１８Ｂへのデータ転送レートは、それぞれ（３２Ｂ×１）／９０clkなので２３．７ＭＢ／secとなり、ＰＣＩバス１６のスループット（データ転送レート）は、１４２．２ＭＢ／secとなる。
【０１１８】
以上説明したように本実施の形態に適用したデータ処理システム１０では、周辺装置１８がメモリ１４に記憶されているデータを読み取るときに、データ書込み要求を用いるときに、アクセス要求保持回路２２を設けることにより、ＰＣＩバス１６の効率的な利用を図ることができる。
【０１１９】
このときに、メモリコントローラ２０が、アクセス要求保持回路２２に保持したデータ要求を、最も古いものから読み出して処理することにより、データ要求順を守ることが可能となり、メモリコントローラ２０へのデータ要求コマンド発行順序によって、データ転送帯域を制御することが可能となる。
【０１２０】
また、データ処理システム１０では、ＰＣＩバスアービタ２４を設けて、ＣＰＵ１２、周辺機器１８Ａ、１８Ｂ及びメモリコントローラ２０に、予め設定された優先順位でＰＣＩバス１６の使用権を付与することにより、ＣＰＵ１２、周辺機器１８Ａ、１８Ｂ及びメモリコントローラ２０が干渉して、それぞれの処理が滞るのを防止することができる。
【０１２１】
また、メモリコントローラ２０の使用要求を優先してメモリコントローラ２０に対するＰＣＩバス１６の使用権を設定するか、メモリコントローラ２０の優先順位を最も高くすることにより、メモリコントローラ２０の処理が滞り、このために、データ処理システム１０の機能が停滞したり、周辺機器１８Ａ、１８Ｂの処理が停滞してしまうのを防止することができる。
【０１２２】
さらに、最も広い帯域を付与したい周辺装機器１８に対して、例えば、LowプライオリティとHighプライオリティなどのように複数段階で優先順位を設定することにより、ＰＣＩバス１６の転送効率を低下させることなく、該当周辺機器１８に対するデータ転送効率を大幅に向上させることができる。
【０１２３】
このようなデータ処理システム１０を、プリンタ、複写機又はファクシミリ機能などの通信機能を含む複合機などの画像形成装置に設けることにより、画像形成装置での円滑な画像形成処理を可能とすることができる。このときに、画像形成手段とする印刷出力装置に対して、最も広い帯域が得られるように優先順位を設定することにより、画像形成を行なう時の処理能力の向上を図ることができる。
【０１２４】
なお、以上説明した本実施の形態は、本発明の構成を限定するものではない。例えば、本実施の形態では、データ処理手段としてＣＰＵ１２及び周辺機器１８Ａ、１８Ｂを例に説明したが、ＰＣＩバス１６に接続される周辺機器１８は、１台であっても良く、３台以上であっても良い。
【０１２５】
また、周辺機器１８としては、ＰＣＩバス１６を介してデータ転送を行なうものであれば、それぞれが一つの装置、ユニットを形成する周辺機器のみでなく、半導体素子を含む任意のデバイスの適用が可能である。
【０１２６】
また、本実施の形態では、データ伝送路としてＰＣＩバス１６を例に説明したが、データ伝送路はこれに限るものではなく、例えば、ネットワークなどを形成するときの通信線路など、データ転送に用いられると共に、使用が管理される任意のデータ伝送路を適用することができる。
【０１２７】
さらに、本実施の形態では、メモリコントローラ２０と別にＰＣＩバスアービタ２４を設けたが、これに限らず、例えば、メモリコントローラ２０とＰＣＩバスアービタ２４を一体にしたものであっても良く、このときには、ＡＳＩＣ（Application  Specific  Integrated  Circuit）として一つのチップ（半導体素子）に形成して用いることができる。
【０１２８】
また、本発明は、プリンタ、複写機又は複合機などに限らず、ＣＰＵ１２で処理したデータ（画像データ）に基づいた画像をＣＲＴ、ＬＣＤなどの表示手段に表示する表示装置などの任意の画像形成装置に適用することができる。
【図面の簡単な説明】
【０１２９】
【図１】本実施の形態に係るデータ処理システムの概略構成図である。
【図２】（Ａ）〜（Ｄ）はＰＣＩバス上の信号の概略を示し、（Ａ）はデータ読込み要求時、（Ｂ）はデータ書込み要求時、（Ｃ）はコマンド書込み要求時、（Ｄ）はリトライ要求時を示している。
【図３】アクセス要求保持回路を用いたときのアクセス要求に対する処理の一例を示す手順図である。
【図４】一般的な優先順位の一例を示す概略図である。
【図５】アクセス要求保持回路を設けていないときの図４に示す優先順位に基づいた処理の流れの一例を示す概略図である。
【図６】実施例１に係る処理の流れの一例を示す概略図であり、（Ａ）はＰＣＩバスの使用権の付与、（Ｂ）はＰＣＩバス使用権が付与されたデバイスによる処理、（Ｃ）はアクセス要求保持回路の状態を示している。
【図７】実施例２に係る優先順位の設定の一例を示す概略図である。
【図８】図７の優先順位の設定に基づいた処理の流れの一例を示す概略図であり、（Ａ）はＰＣＩバスの使用権が付与されたデバイスによる処理、（Ｂ）はアクセス要求保持回路の状態、（Ｃ）はメモリコントローラの使用要求を示している。
【図９】実施例３に係る優先順位の設定の一例を示す概略図である。
【図１０】図９の優先順位の設定に基づいた処理の流れの一例を示す概略図であり、（Ａ）はＰＣＩバスの使用権が付与されたデバイスによる処理、（Ｂ）はアクセス要求保持回路の状態、（Ｃ）はメモリコントローラの使用要求を示している。
【図１１】（Ａ）はデータ読込みコマンドでデータ読取を行なうときのバスの使用を示す概略図、（Ｂ）はデータ書込みコマンドでデータを読み取るときのバスの使用を示す概略図である。
【符号の説明】
【０１３０】
１０    データ処理システム
１２    ＣＰＵ（中央演算処理装置）
１４    メモリ（記憶媒体）
１６    ＰＣＩバス（データ伝送路）
１８（１８Ａ、１８Ｂ）    周辺機器
２０    メモリコントローラ
２２    アクセス要求保持回路
２４    ＰＣＩバスアービタ
【図１】
2008090720.tif 000003
【図２】
2008090720.tif 000004
【図３】
2008090720.tif 000005
【図４】
2008090720.tif 000006
【図５】
2008090720.tif 000007
【図６】
2008090720.tif 000008
【図７】
2008090720.tif 000009
【図８】
2008090720.tif 000010
【図９】
2008090720.tif 000011
【図１０】
2008090720.tif 000012
【図１１】
2008090720.tif 000013