(57)【要約】【課題】  帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスが、より確実に同期データを伝送できるようにバスを調停可能なバス調停回路を実現する。【解決手段】  バス調停回路１６は、外部バスＩ／Ｆ２０による同期データの伝送を検出した場合、レジスタ３３に格納された予測用情報に基づいて、次の同期データのデータ列のデータ伝送開始時点の予測結果よりも前の調停開始時点を決定すると共に、外部バスＩ／Ｆ２０によって使用権が要求されていなくても、当該調停開始時点から、前記外部バスＩ／Ｆ２０へ使用権を与えるための前記バスの調停処理を開始する。これにより、外部バスＩ／Ｆ２０がバス使用権を要求してから調停処理を開始するよりも、早い時点で、遅滞なく、外部バスＩ／Ｆ２０にバス使用権を与えることができる。【選択図】  図１
2006040167.tif 000002
【特許請求の範囲】
【請求項１】
帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスを含む複数のデバイスによって共用されるバスの使用権を調停するバス調停手段を有するバス調停回路において、
前記同期デバイスによる次のデータ伝送開始時点を予測するための予測用情報が予め格納された記憶手段を備え、
前記バス調停手段は、前記同期デバイスによる同期データの伝送を検出した場合、前記記憶手段に格納された予測用情報に基づいて、次の同期データのデータ列のデータ伝送開始時点の予測結果よりも前の調停開始時点を決定すると共に、前記同期デバイスによって使用権が要求されていなくても、当該調停開始時点から、前記同期デバイスへ使用権を与えるための前記バスの調停処理を開始することを特徴とするバス調停回路。
【請求項２】
前記予測用情報は、前記同期デバイスがデータ列を伝送する周期を示す情報であることを特徴とする請求項１記載のバス調停回路。
【請求項３】
前記次の同期データのデータ列のデータ伝送開始時点の予測結果と前記調停開始時点との時間差は、前記調停処理に要する時間よりも大きく設定されており、
前記バス調停手段は、前記同期デバイスによる同期データの伝送を検出した場合、当該同期デバイスが前記バスの使用権を要求するよりも前に、前記バスの使用権を与えるための許可信号を当該同期デバイスへ出力することを特徴とする請求項１記載のバス調停回路。
【請求項４】
前記バス調停手段は、予め設定されたバス使用許可時間情報の示す時間、前記許可信号を同期デバイスへ与えることを特徴とする請求項３記載のバス調停回路。
【請求項５】
前記バス調停手段は、前記バスの状態を監視して、前記同期デバイスがデータ列を実際に伝送しているか否かを検出すると共に、前記同期デバイスがデータ列を実際に伝送している期間の合計が、予め設定されたバス使用許可時間情報の示す時間になるように、前記許可信号を同期デバイスへ与える期間の長さを制御することを特徴とする請求項３記載のバス調停回路。
【請求項６】
前記バス調停手段は、前記バスの状態を監視して、今回、前記同期デバイスによって実際に伝送されたデータ列のデータ量を検出すると共に、検出結果に応じて、前記バス使用許可時間情報を更新することを特徴とする請求項４または５記載のバス調停回路。
【請求項７】
前記バス調停手段は、前記調停開始時点になると、その時点でバスを使用している前記同期デバイス以外のデバイスへ、バス転送中止信号を出力して、当該デバイスによるデータ転送を中止させることを特徴とする請求項１に記載のバス調停回路。
【請求項８】
前記バス調停手段は、前記同期デバイスからの１回のバス使用権の要求に対して、前記バスの使用許可を複数回に分けて与えることを特徴とする請求項１に記載のバス調停回路。
【請求項９】
前記バス調停手段は、前記同期デバイスがバスの使用権を得ているときに、当該同期デバイス以外のデバイスからのバスの使用権が要求されてからの経過時間を計時すると共に、当該経過時間が予め定められたバス使用許可時間を超えた場合、予め設定した時間だけ、一時的に当該同期デバイスのバスの使用権を開放して、前記デバイスにバスの使用権を与えることを特徴とする請求項１に記載のバス調停回路。
【請求項１０】
前記バス調停手段は、２つ以上の同期デバイスがバスに接続されている場合、データ転送の周期が最も短い同期デバイスに対して、前記調停開始時点を決定し、当該調停開始時点から当該同期デバイスへ使用権を与えるための前記バスの調停処理を開始することを特徴とする請求項１に記載のバス調停回路。
【請求項１１】
前記バス調停手段は、２つ以上のデータ転送の周期が同じである同期デバイスがバスに接続されている場合、いずれかの一つの同期デバイスに対して、前記調停開始時点を決定し、当該調停開始時点から当該同期デバイスへ使用権を与えるための前記バスの調停処理を開始すると共に、該同期デバイスのデータ転送に必要な時間のバス使用許可を該同期デバイスに与えた後、前記各同期デバイス以外のデバイスにバス使用許可を与える前に、所定の順序に、別の同期デバイスに対して、バスの使用許可を与えることを特徴とする請求項１に記載のバス調停回路。
【請求項１２】
請求項１記載のバス調停回路と、
接続された複数のデバイスによる使用権が前記バス調停回路によって調停されるバスと、
前記バスに接続された同期デバイスの特性を検出すると共に、検出結果に基づいて、前記バス調停回路に前記予測用情報を設定する設定手段とを備えていることを特徴とする情報処理装置。
【請求項１３】
バス調停回路と、接続された複数のデバイスによる使用権が前記バス調停回路によって調停されるバスとに接続可能なコンピュータのプログラムであって、
前記バス調停回路は、帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスを含む複数のデバイスによって共用されるバスの使用権を調停するバス調停手段を有し、
前記バス調停手段は、前記同期デバイスによる同期データの伝送を検出した場合、前記同期デバイスによる次のデータ伝送開始時点を予測するために予め設定された予測用情報に基づいて、次の同期データのデータ列のデータ伝送開始時点の予測結果よりも前の調停開始時点を決定すると共に、前記同期デバイスによって使用権が要求されていなくても、当該調停開始時点から、前記同期デバイスへ使用権を与えるための前記バスの調停処理を開始すると共に、
前記プログラムは、前記バスに接続された同期デバイスの特性を検出すると共に、検出結果に基づいて、前記バス調停回路に前記予測用情報を設定する設定手段として、前記コンピュータを動作させるプログラムであることを特徴とするプログラム。
【請求項１４】
請求項１３記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、転送タイミングと転送帯域の保証とが必要な映像・音声などのデータを処理する際などに好適に用いられ、帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスが、より確実に同期データを伝送できるようにバスを調停可能なバス調停回路、それを備える情報処理装置、並びに、それを実現するためのプログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
デバイス間でデータをやり取りするに該って、複数のデバイス間によってバスを共用し、当該バスを介して、各デバイスがデータを送受するシステムは、広く使用されており、各デバイスのバスの使用権を調停するためのバス調停回路を備えた情報処理装置も広く用いられている。
【０００３】
以下では、後述の特許文献１にて開示されている、情報処理装置における内部バスの動作について、図５を用いて説明する。
【０００４】
図５において、情報処理装置１００は、転送帯域の保証が必要なリアルタイムデータを処理することが可能な情報処理装置であって、ＣＰＵ１１１、ホストバス１１２、メモリ１１３、ホスト−ＰＣＩブリッジ１１４、ＰＣＩバス１１５、バス調停回路１０１、ディスクＩ／Ｆ１０２、ＩＥＥＥ１３９４Ｉ／Ｆ１０３〜１０４から構成される。
【０００５】
また、ディスクＩ／Ｆ１０２には、ＨＤＤ１１０が接続されている。ＩＥＥＥ１３９４Ｉ／Ｆ１０３には、ＩＥＥＥ１３９４バス１０８を介して、デジタルＴＶチューナ１１１が接続されている。さらに、ＩＥＥＥ１３９４Ｉ／Ｆ１０４には、ＩＥＥＥ１３９４バス１０９を介して、ＤＶＣＲ（Digital Video Cassete Recorder）２３が接続されている。また、ディスクＩ／Ｆ１０２、ＩＥＥＥ１３９４Ｉ／Ｆ１０３〜１０４は、それぞれタイマー１０５〜１０７を持つ。
【０００６】
ＣＰＵ１１１は、データ処理や、演算を行う手段である。ホストバス１１２は、ＣＰＵ１１１とメモリ１１３を接続し、高速にデータ転送ができる内部バスである。ホスト−ＰＣＩブリッジ１１４は、ＣＰＵ１１１とメモリ１１３、ＰＣＩバス１１５間のデータの受け渡しを制御する制御デバイスである。メモリ１１３は、ＣＰＵ１１１が処理するためのプログラムやデータ、プログラムの一時的な作業領域などを記録するデバイスである。
【０００７】
ＰＣＩバス１１５は、様々なデバイスが共用する情報処理装置の内部にあるバスであり、バス調停回路１０１は、ＰＣＩバス１１５に接続された各デバイスからのＰＣＩバス１１５の使用要求に対して、ある一定のアルゴリズムで選択した一つのデバイスにバス使用権を許可するバス調停手段である。
【０００８】
タイマー手段１０５〜１０７は、各デバイスがＰＣＩバス１１５を使用している時間をＰＣＩバス１１５のクロック単位でカウントし、ＰＣＩバス１１５を一度に使用できる最大時間がＰＣＩバス１１５のクロック単位で記述されたプリセット値を持つ手段である。
【０００９】
ディスクＩ／Ｆ１０２は、ＰＣＩバスとＣＤやＨＤＤなどの大容量記憶デバイスを接続するインタフェースである。ＩＥＥＥ１３９４Ｉ／Ｆ１０３〜１０４は、ＰＣＩバス１１５とＩＥＥＥ１３９４バス１０８とを接続するＩＥＥＥ１３９４準拠のインタフェースである。
【００１０】
また、ＩＥＥＥ１３９４は、転送しながら逐次映像などを再生するようなリアルタイム性の要求される場合には、接続された機器間でデータ転送に必要な帯域を確保して転送することが可能な機器接続インタフェースやバスの規格である。
【００１１】
なお、以下では、このようなリアルタイム性の要求されるデータ（帯域保証を必要とするデータ）を同期データと呼び、同期データを転送することができるデバイスのことを同期デバイスと呼ぶ。なお、本実施形態に係る同期デバイスは、同期データを送信する際、周期的に、ある一定量のデータを転送する。また、転送帯域の保証が必要でないデータを転送するデバイスを、非同期デバイスと呼び、転送帯域の保証が必要でないデータのことを、非同期データと呼ぶことにする。
【００１２】
次に、このような従来の情報処理装置がデジタルＴＶチューナ１１１でデジタル放送を受信し、受信したＡＶデータをＤＶＣＲ１２３で記録する場合の動作を説明する。
デジタル放送ではＭＰＥＧ２トランスポートストリームのトランスポートパケットを利用して、放送局からＡＶデータが放送波に載せて送られてきている。
【００１３】
デジタルＴＶチューナ１１１は、この放送波を受信し、復調する。そして、デジタルＴＶチューナ１１１は、復調されたＡＶデータを順次ＩＥＥＥ１３９４バス１０８に送出する。
【００１４】
ＩＥＥＥ１３９４では、時刻を１２５μ秒のタイムスロットに分割するように規定されている。ＩＥＥＥ１３９４バス１０８に接続されている装置は、このタイムスロットで１回だけ、一定量の同期データを送ることが出来る。したがって、一定期間に送ることの出来るデータの転送量は保証されている。このように、ＩＥＥＥ１３９４では、同期データを欠落なく正常に転送することが出来る。
【００１５】
ＩＥＥＥ１３９４Ｉ／Ｆ１０３は、デジタルＴＶチューナ１１１が送ったＡＶデータを受信し一旦バッファに格納する。
【００１６】
さらに、ＩＥＥＥ１３９４Ｉ／Ｆ１０３は、バス調停回路１０１にバス使用権を要求する。バス調停回路１０１は、調停を行い、ＩＥＥＥ１３９４Ｉ／Ｆ１０３にバス使用権を与える。以下に、このようにバス調停回路１０１がＰＣＩバス１１５の調停を行う動作を詳細に説明する。
【００１７】
ディスクＩ／Ｆ１０２、ＩＥＥＥ１３９４Ｉ／Ｆ１０３が、ＰＣＩバス１１５の使用を希望しているデバイス（以下マスタデバイスと呼ぶ）であるとする。ディスクＩ／Ｆ１０２、ＩＥＥＥ１３９４Ｉ／Ｆ１０３は、バス使用の要求をＲＥＱという信号線によってバス調停回路１０１に発する。
【００１８】
バス調停回路１０１は、このような各マスタデバイスからのバス使用の要求を受け付ける。そして同時に二つ以上のマスタデバイスからのＰＣＩバス１１５の使用権の要求が来ているときには、どのマスタデバイスにバス使用権を与えるかを決定する。そしてバス使用を許すマスタデバイスに、ＧＮＴという信号線によって、ＰＣＩバス１１５の使用を許可することを通知する。ＲＥＱとＧＮＴとは、各デバイスとバス調停回路１０１とをポイント・ツー・ポイントで接続し、この１組の信号線を利用して、バス調停回路１０１は、バスアービトレーションを行う。
【００１９】
バス調停回路１０１は、同時に二つ以上のマスタデバイスからのバス使用の要求を受け付けているとき、バス使用の許可の回数が平等になるような巡回型アルゴリズム等に従って調停を行う。
【００２０】
バス調停回路１０１によるバスアービトレーション（調停処理）の結果、ＩＥＥＥ１３９４Ｉ／Ｆ１０３は、ＰＣＩバス１１５の使用許可を得た、すなわち、ＰＣＩバス１５のイニシエータになったとする。すると、タイマー１０６は、ＰＣＩバス１１５のクロックのカウントを開始する。そして、タイマー１０６のカウント値が、タイマー１０６が予め持っているプリセット値に等しくなるまで、ＩＥＥＥ１３９４Ｉ／Ｆ１０４は、バッファに格納されているＡＶデータを順次読み取り、ＩＥＥＥ１３９４Ｉ／Ｆ１０３のアドレスを指定して、ＡＶデータを順次ＰＣＩバス１１５に送出する。すなわち、イニシエータは、タイマー１０６のカウント値が、プリセット値に等しくなる時間を最大時間として、データ送出を行う。
【００２１】
ここで、タイマー１０５〜１０７が有するプリセット値は、転送を希望する１つの同期デバイスのために保証すべき転送帯域の、ＰＣＩバス１１５の総転送可能帯域に占める割合より、この同期デバイスのタイマーのプリセット値の、転送を希望する同期デバイス及び非同期デバイス全てのタイマーのプリセット値の総和に占める割合の方が等しいかまたは大きくなるように設定される。このように決定することによって、ＩＥＥＥ１３９４Ｉ／Ｆ１０３が必要とする転送帯域を必ず確保出来る。
【００２２】
このような条件を満たすように、各タイマー１０５〜１０７のプリセット値を予め決定しておくことによって、ＩＥＥＥ１３９４Ｉ／Ｆ１０３が必要とする転送帯域を保証する。
【００２３】
一方、ＩＥＥＥ１３９４Ｉ／Ｆ１０４は、ＩＥＥＥ１３９４Ｉ／Ｆ１０３からＰＣＩバス１１５に送出されたＡＶデータを、受信し、一旦バッファに格納する。
【００２４】
バッファに格納されたＡＶデータは、順次ＩＥＥＥ１３９４バス１０９に送出され、ＤＶＣＲ２３は受信したＡＶデータを順次テープ媒体に記録していく。
【００２５】
このように、バス調停回路１０１が、各デバイスがＰＣＩバス１１５を使用する許可の回数が平等になるように調停し、ＣＰＵ１１１が、各デバイスのタイマー１０５〜１０７のプリセット値を調整することによって、ＩＥＥＥ１３９４Ｉ／Ｆ１０３などがＡＶデータの転送に必要な転送量は、保証される。
【特許文献１】特開２００１−１１７８６１号公報（公開日：2001年４月２７日）
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、上述した情報処理装置では、同期データを転送しようとするＩＥＥＥ１３９４Ｉ／Ｆ等の同期デバイスに与えられるバスの使用権が、同期デバイスがデータを転送するタイミングとは無関係であるため、同期データの転送においてジッタが発生し、リアルタイム性が損なわれたり、ＡＶデータの場合には再生品質の劣化が発生したり、意図したようなデータ転送帯域の確保ができなかったりするという課題がある。
【００２７】
例えば、ＩＥＥＥ１３９４Ｉ／Ｆの場合、同期データの転送は、１２５μ秒毎に一定量行われるが、転送したい同期データが準備されたとしても、そのとき非同期デバイスに使用権が割り当てられておりデータの転送中であった場合には、その非同期データの転送が終了するまで、同期データの転送が待たされることとなり、最悪の場合、次の１２５μ秒後の同期データ転送が不可能になる。なお、ジッタの発生による影響を最小限にとどめるためにバッファのサイズを大きくする方法もあるが、この場合は、データ転送の遅延時間が大きくなり、操作性の低下を招くという課題もある。
【００２８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスが、より確実に同期データを伝送できるようにバスを調停可能なバス調停回路、それを備える情報処理装置、並びに、それを実現するためのプログラムおよび記録媒体に関するものである。
【課題を解決するための手段】
【００２９】
本発明に係るバス調停回路は、上記課題を解決するために、帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスを含む複数のデバイスによって共用されるバスの使用権を調停するバス調停手段を有するバス調停回路において、前記同期デバイスによる次のデータ伝送開始時点を予測するための予測用情報が予め格納された記憶手段を備え、前記バス調停手段は、前記同期デバイスによる同期データの伝送を検出した場合、前記記憶手段に格納された予測用情報に基づいて、次の同期データのデータ列のデータ伝送開始時点の予測結果よりも前の調停開始時点を決定すると共に、前記同期デバイスによって使用権が要求されていなくても、当該調停開始時点から、前記同期デバイスへ使用権を与えるための前記バスの調停処理を開始することを特徴としている。
【００３０】
なお、予測用情報は、次の同期デバイスによる次のデータ伝送開始時点を予測するための情報であって、例えば、同期デバイスが周期的にデータ列を伝送する場合は、周期が好適に使用される。この場合の例としては、同期デバイスが、タイマの計時結果に基づいて周期的にデータ列を伝送する場合、あるいは、同期デバイスが受信したデータをバッファに格納すると共にバッファの蓄積量が所定の閾値になったときに、バスへデータを転送する構成において、受信するデータの速度が一定の場合などが挙げられる。また、上記予測用情報は、同期デバイスが、予め定められたアルゴリズムに従って、データ列の各伝送開始時点間の時間間隔の平均値が一定になり、しかも、各時間間隔の少なくとも一部が他の時間間隔と異なるように、上記各時間間隔を制御する場合には、当該アルゴリズムの情報などであってもよい。
【００３１】
上記構成において、同期デバイスは、帯域保証が必要な同期データを送る場合、同期データを構成するデータ列を繰り返し伝送している。一方、バス調停回路のバス調停手段は、同期デバイスによる同期データの伝送を検出すると、記憶手段に予め格納された予測用情報に基づいて、次の同期データのデータ列のデータ伝送開始時点の予測結果よりも前の調停開始時点を決定する。さらに、バス調停手段は、前記同期デバイスによって使用権が要求されていなくても、当該調停開始時点から、前記同期デバイスへ使用権を与えるための前記バスの調停処理を開始する。
【００３２】
当該構成では、バス調停手段は、上記調停開始時点から調停処理を開始するので、同期デバイスがデータ列を繰り返し伝送して同期データを伝送するにあたって、同期デバイスが実際にバスの使用権を要求するよりも前の時点から調停処理を開始できる。したがって、同期デバイスが実際にバスの使用権を要求してから調停処理を開始する構成と比較して、バス調停回路は、同期デバイスへ、より早い時点で、遅滞なく、バスの使用権を与えることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。この結果、例えば、ＡＶデータのように、リアルタイム性が強く要求される同期データを何ら支障なく伝送可能なシステムを実現できる。
【００３３】
また、上記構成に加えて、前記予測用情報は、前記同期デバイスがデータ列を伝送する周期を示す情報であってもよい。当該構成では、周期を示す予測用情報に基づいて、次のデータ伝送開始時点の予測結果よりも前の調停開始時点が決定されるので、同期デバイスが周期的に同期データのデータ列を伝送する構成に好適に使用できる。
【００３４】
さらに、上記構成に加えて、前記次の同期データのデータ列のデータ伝送開始時点の予測結果と前記調停開始時点との時間差は、前記調停処理に要する時間よりも大きく設定されており、前記バス調停手段は、前記同期デバイスによる同期データの伝送を検出した場合、当該同期デバイスが前記バスの使用権を要求するよりも前に、前記バスの使用権を与えるための許可信号を当該同期デバイスへ出力してもよい。
【００３５】
当該構成によれば、同期デバイスがバスの使用権を実際に要求するよりも前の時点で、当該同期デバイスへ許可信号が与えられるので、同期デバイスは、待ち時間なしに、バスの使用許可を得ることができる。この結果、バス調停回路は、さらに早い時点で、さらに遅滞なく、バスの使用権を与えることができ、同期デバイスが、より確実に同期データを伝送できるようにバスを調停できる。
【００３６】
また、上記構成に加えて、前記バス調停手段は、予め設定されたバス使用許可時間情報の示す時間、前記許可信号を同期デバイスへ与えてもよい。当該構成において、前記許可信号は、予め設定されたバス使用許可時間情報の示す時間、同期デバイスへ与えられる。したがって、帯域保証するために同期デバイスがデータ列の伝送時に占有すべき期間に応じた情報を、バス使用許可時間情報として設定することによって、バス調停回路は、当該期間中、同期デバイスに上記バスを占有させることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。
【００３７】
さらに、上記構成に加えて、前記バス調停手段は、前記バスの状態を監視して、前記同期デバイスがデータ列を実際に伝送しているか否かを検出すると共に、前記同期デバイスがデータ列を実際に伝送している期間の合計が、予め設定されたバス使用許可時間情報の示す時間になるように、前記許可信号を同期デバイスへ与える期間の長さを制御してもよい。
【００３８】
当該構成において、前記許可信号が同期デバイスへ与えられる期間の長さは、前記同期デバイスがデータ列を実際に伝送している期間の合計になるように制御される。したがって、帯域保証するために同期デバイスがデータ列の伝送時に占有すべき期間に応じた情報を、バス使用許可時間情報として設定することによって、バス調停回路は、当該期間中、同期デバイスに上記バスを占有させることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。
【００３９】
加えて、バス調停手段が、前記バスの状態を監視して、前記同期デバイスがデータ列を実際に伝送しているか否かを検出しているので、前記同期デバイスがデータ列を実際に伝送しているか否かに拘わらず、一定の期間、許可信号を前記同期デバイスへ与える構成よりも、当該同期デバイスが、さらに確実に同期データを伝送できるように、バスを調停できる。
【００４０】
また、上記構成に加えて、前記バス調停手段は、前記バスの状態を監視して、今回、前記同期デバイスによって実際に伝送されたデータ列のデータ量を検出すると共に、検出結果に応じて、前記バス使用許可時間情報を更新してもよい。
【００４１】
当該構成では、今回、前記同期デバイスによって実際に伝送されたデータ列のデータ量に応じて、前記バス使用許可時間情報が更新されるので、同期デバイスによって繰り返し伝送されるデータ列のデータ量が、ある程度変動する場合であっても、変動に応じて、同期デバイスへバスの使用許可を与える期間を変更できる。この結果、バス調停回路は、当該同期デバイスが、さらに確実に同期データを伝送できるように、バスを調停できる。
【００４２】
また、上記構成に加えて、前記バス調停手段は、前記調停開始時点になると、その時点でバスを使用している前記同期デバイス以外のデバイスへ、バス転送中止信号を出力して、当該デバイスによるデータ転送を中止させてもよい。
【００４３】
当該構成によれば、上記調停開始時点になると、その時点でバスを使用している前記同期デバイス以外のデバイスへ、バス転送中止信号を出力されるので、当該デバイスによるデータ転送を中止させることができる。この結果、同期デバイスが実際にバスの使用権を要求してから調停処理を開始する構成と比較して、バス調停回路は、同期デバイスへ、より早い時点で、遅滞なく、バスの使用権を与えることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。
【００４４】
さらに、上記構成に加えて、前記バス調停手段は、前記同期デバイスからの１回のバス使用権の要求に対して、前記バスの使用許可を複数回に分けて与えてもよい。当該構成では、前記バスの使用許可は、前記同期デバイスからの１回のバス使用権の要求に対して、複数回に分けて与えられる。したがって、バス使用権の要求毎に、１回のバスの使用許可を与える構成と比較して、同期デバイスへ連続して与える使用許可の長さを短くすることができ、他のデバイスがバスの使用権を要求してから、使用許可が与えられるまでの時間を短縮できる。
【００４５】
また、上記構成に加えて、前記バス調停手段は、前記同期デバイスがバスの使用権を得ているときに、当該同期デバイス以外のデバイスからのバスの使用権が要求されてからの経過時間を計時すると共に、当該経過時間が予め定められたバス使用許可時間を超えた場合、予め設定した時間だけ、一時的に当該同期デバイスのバスの使用権を開放して、前記デバイスにバスの使用権を与えてもよい。
【００４６】
当該構成では、同期デバイス以外のデバイスからのバスの使用権が要求されてからの経過時間がバス使用許可時間を超えた場合、バスの使用権が一時的に当該デバイスへ与えられるので、他のデバイスがバスの使用権を要求してから、使用許可が与えられるまでの時間を、最大許容時間以内に抑えることができる。
【００４７】
さらに、上記構成に加えて、前記バス調停手段は、２つ以上の同期デバイスがバスに接続されている場合、データ転送の周期が最も短い同期デバイスに対して、前記調停開始時点を決定し、当該調停開始時点から当該同期デバイスへ使用権を与えるための前記バスの調停処理を開始してもよい。
【００４８】
当該構成では、データ転送の周期が最も短い同期デバイスについて、予測情報に基づく調停開始時点の決定、および、当該調停開始時点からの調停処理が行われる。したがって、データ転送の周期が最も短く、したがって、より速い時点で、より遅滞なくバスの使用権を与えることが上記複数の同期デバイスの中で最も要求される、特定の同期デバイスに対して、より速い時点で、より遅滞なくバスの使用権を与えることができる。この結果、バス調停回路は、上記特定の同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。
【００４９】
また、上記構成に加えて、前記バス調停手段は、２つ以上のデータ転送の周期が同じである同期デバイスがバスに接続されている場合、いずれかの一つの同期デバイスに対して、前記調停開始時点を決定し、当該調停開始時点から当該同期デバイスへ使用権を与えるための前記バスの調停処理を開始すると共に、該同期デバイスのデータ転送に必要な時間のバス使用許可を該同期デバイスに与えた後、前記各同期デバイス以外のデバイスにバス使用許可を与える前に、所定の順序に、別の同期デバイスに対して、バスの使用許可を与えてもよい。
【００５０】
当該構成では、ある同期デバイスに対して、該同期デバイスのデータ転送に必要な時間のバス使用許可を該同期デバイスに与えた後、前記各同期デバイス以外のデバイスにバス使用許可を与える前に、他の同期デバイスに対して使用許可が与えられる。したがって、バス調停回路は、各同期デバイス以外のデバイスよりも、他の同期デバイスの方に優先して、使用許可を与えることができ、これらの同期デバイスがより確実に同期データを伝送できるように、バスを調停できる。
【００５１】
また、本発明に係る情報処理装置は、上記課題を解決するために、上記構成のバス調停回路と、接続された複数のデバイスによる使用権が前記バス調停回路によって調停されるバスと、前記バスに接続された同期デバイスの特性を検出すると共に、検出結果に基づいて、前記バス調停回路に前記予測用情報を設定する設定手段とを備えていることを特徴としている。
【００５２】
当該構成によれば、上記設定手段が前記バスに接続された同期デバイスの特性を検出すると共に、バス調停回路の予測用情報が検出結果に基づいて設定されるので、現在、バスに接続されている同期デバイスの特性に応じて、予測用情報を変更できる。この結果、バス調停回路は、現在、バスに接続されている同期デバイスが、より確実に同期データを伝送できるように、バスを調停でき、より確実に同期データを伝送可能な情報処理装置を実現できる。
【００５３】
ところで、上記情報処理装置の各手段は、ハードウェアによって実現してもよいし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、バス調停回路と、接続された複数のデバイスによる使用権が前記バス調停回路によって調停されるバスとに接続可能なコンピュータのプログラムであって、前記バス調停回路は、帯域保証が必要な同期データを構成するデータ列を繰り返し伝送可能な同期デバイスを含む複数のデバイスによって共用されるバスの使用権を調停するバス調停手段を有し、前記バス調停手段は、前記同期デバイスによる同期データの伝送を検出した場合、前記同期デバイスによる次のデータ伝送開始時点を予測するために予め設定された予測用情報に基づいて、次の同期データのデータ列のデータ伝送開始時点の予測結果よりも前の調停開始時点を決定すると共に、前記同期デバイスによって使用権が要求されていなくても、当該調停開始時点から、前記同期デバイスへ使用権を与えるための前記バスの調停処理を開始すると共に、前記プログラムは、前記バスに接続された同期デバイスの特性を検出すると共に、検出結果に基づいて、前記バス調停回路に前記予測用情報を設定する設定手段として、前記コンピュータを動作させるプログラムであることを特徴としている。また、本発明に係る記録媒体には、当該プログラムが記録されている。
【００５４】
当該プログラムが上記コンピュータによって実行されると、当該コンピュータ、バスおよびバス調停回路を有する装置は、上記情報処理装置として動作する。したがって、上記情報処理装置と同様に、現在、バスに接続されている同期デバイスが、より確実に同期データを伝送できるように、バスを調停でき、より確実に同期データを伝送可能な情報処理装置を実現できる。
【発明の効果】
【００５５】
本発明によれば、同期デバイスへ、より早い時点で、遅滞なく、バスの使用権を与えることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。したがって、例えば、リアルタイム性が強く要求されるＡＶデータをバスを介して伝送するＡＶシステムをはじめ、バスを介して、種々の同期データを伝送可能な種々のシステムに広く好適に使用できる。
【発明を実施するための最良の形態】
【００５６】
〔第一の実施の形態〕
以下、本発明の実施の形態について説明する。
まず、第一の実施の形態について、図１から図３を用いて説明する。
【００５７】
図１は、本発明の第一の実施に係る内部バスの帯域制御手段を具備した情報処理装置１の構成を示すブロック図である。図１において、情報処理装置１は、ＣＰＵ１１、ホストバス１２、メモリ１３、ホスト−内部バスブリッジ１４、内部バス１５、バス調停回路１６、イーサネット（登録商標）Ｉ／Ｆ１７、グラフィックコントローラ１８、ＭＰＥＧデコーダ１９、外部バスＩ／Ｆ２０から構成される。また、グラフィックコントローラ１８には、ディスプレイ２１が接続されている。さらに、外部バスＩ／Ｆ２０には、外部バス２２を介してＤＶＣＲ２３が接続されている。なお、上記内部バス１５が特許請求の範囲に記載のバスに対応し、外部バスＩ／Ｆ２０が同期デバイスに対応している。
【００５８】
本実施形態に係る情報処理装置１では、上記内部バス１５として、ＰＣＩ（Peripheral Component Interconnect ）バスが採用されており、外部バス２２として、ＩＥＥＥ（米国電気電子技術者協会）１３９４バスが採用されている。この場合、上記ホスト−内部バスブリッジ１４および外部バスＩ／Ｆ２０は、それぞれ、ホスト−ＰＣＩブリッジおよびＩＥＥ１３９４Ｉ／Ｆである。
【００５９】
ＣＰＵ１１は、データ処理や、演算を行う手段であって、例えば、上記メモリ１３あるいは図示しないハードディスクなど、ＣＰＵ１１がアクセス可能な記憶装置に格納されたプログラムに従って、データ処理や演算を行うことができる。なお、ＣＰＵ１１が当該記憶装置へアクセスする際には、例えば、上記ホストバス１１を介して直接アクセスしてもよいし、例えば、ホストバス１１、ホスト−内部バスブリッジ１４および内部バス１５を介して、図示しないハードディスクＩＦへ記憶装置としてのハードディスクへのアクセスを指示するなどして、間接的に記憶装置へアクセスしてもよい。
【００６０】
また、ホストバス１２は、情報処理装置１内に設けられた、高速にデータ転送ができるバスであり、ＣＰＵ１１とメモリ１３とを接続している。当該ホストバス１２は、一般に、インタフェースなどのデバイスが共用する内部バス１５よりも、高速となっている。メモリ１３は、ＣＰＵ１１が処理するためのプログラムやデータ、プログラムの一時的な作業領域などを記録するデバイスである。また、ホスト−内部バスブリッジ１４は、ＣＰＵ１１およびメモリ１３と、内部バス１５との間のデータの受け渡しを制御するデバイスである。なお、本実施形態では、メモリ１３は、ホストバス１２に直接接続されているが、ＣＰＵ１１がメモリ１３にアクセスできれば、他の方法で接続されていてもよい。一例として、ホスト−内部バスブリッジ１４にメモリコントローラが内蔵されており、ホスト−内部バスブリッジ１４に接続される場合もある。
【００６１】
内部バス１５は、様々なデバイスが共用する情報処理装置１の内部にあるバスであり、バス使用権を得たデバイスが、当該内部バス１５を制御して、データの転送を行うことができる。
【００６２】
バス調停回路１６は、内部バス１５に接続された各デバイスからの内部バス１５の使用要求に対して、ある一定のアルゴリズムで選択した一つのデバイスにバス使用権を許可することができる。さらに、上記バス調停回路１６は、転送タイミングと転送帯域の保証とが必要な映像・音声などのデータを処理することのできる内部バス１５の帯域を制御する手段としても動作することができる。なお、当該バス調停回路１６が特許請求の範囲に記載のバス調停手段に対応する。
【００６３】
具体的には、本実施形態に係るバス調停回路１６は、詳細は後述するように、上記各デバイスのうち、周期的にバス使用権を要求して帯域保証の必要なデータを伝送しようとするデバイスが、次にバス使用権を要求する時点を、予め定められた予測用情報に基づいて推測すると共に、当該時点よりも先にバス使用権の調停処理を開始することができる。なお、予測用情報は、上記デバイスが次にバス使用権を要求する時点を予測するための情報であって、当該デバイスの特定に基づいて予め設定されている。当該予測用情報としては、詳細は後述するように、例えば、当該デバイスが、帯域保証の必要なデータを伝送する際に、データ列を転送する周期（バス使用権を要求する周期）などが挙げられる。
【００６４】
なお、以下では、このようなリアルタイム性の要求されるデータ（帯域保証を必要とするデータ）を同期データと呼び、同期データを転送することができるデバイスのことを同期デバイスと呼ぶ。なお、本実施形態に係る同期デバイスは、同期データを送信する際、周期的に、ある一定量のデータを転送する。また、転送帯域の保証が必要でないデータを転送するデバイスを、非同期デバイスと呼び、転送帯域の保証が必要でないデータのことを、非同期データと呼ぶことにする。
【００６５】
これにより、バス調停回路１６は、同期デバイスによって、同期データが送信される場合に、当該同期デバイスが実際にバス使用権を要求する時点よりも前の時点で、調停処理を開始することができる。したがって、バス調停回路１６は、当該同期デバイスからバス使用権が要求されてから調停処理を開始する構成と比較して、当該同期デバイスへより迅速にバス使用権を与えることができる。この結果、より確実に同期データの帯域を保証することができる。
【００６６】
また、本実施形態に係るバス調停回路１６には、上記同期デバイスへバス使用権を与える期間を示す情報（バス使用許可時間情報）も予め設定されており、バス調停回路１６は、当該バス使用許可時間情報に基づいた期間、上記同期デバイスへバス使用権を与えることができる。なお、本実施形態では、詳細は後述するように、バス使用許可時間情報として、同期データの必要とする帯域情報に応じた値が設定されている。
【００６７】
これにより、当該バス調停回路１６は、より確実に、同期デバイスの必要とする期間の間、当該同期デバイスへバスの使用権を与えることができ、より確実に同期データの帯域を保証できる。
【００６８】
上記各情報は、同期データが転送されるまでに設定されていれば、どのような装置がバス調停回路１６に設定してもよいし、バス調停回路１６に常時記憶されていてもよいが、本実施形態では、上述の記憶装置に格納されたプログラムに従って動作するＣＰＵ１１が、同期デバイスの特性に応じた上記各情報を、上記ホストバス１２を介して、バス調停回路１６に設定している。
【００６９】
なお、図１では、一例として、バス調停回路１６がホスト−内部バスブリッジ１４とは別の独立したデバイスである場合（別のチップである場合）を図示しているが、ホスト−内部バスブリッジ１４のチップ内に内蔵されていてもよい。この場合は、情報処理装置１を構成するチップ数を削減できる。また、図１の構成のホスト−内部バスブリッジ１４と別体に設けられている構成において、既存のバス調停回路を内蔵したホスト−内部バスブリッジ１４を用いる場合には、当該ホスト−内部バスブリッジ１４に内蔵されているバス調停回路を無効にして使用する。
【００７０】
イーサネットＩ／Ｆ１７は、ツイストペアケーブルによって、ＩＰ（Internet Protocol ）ネットワークに接続するためのインタフェースであり、情報処理装置１をインターネットや、ＰＣ、サーバ等とＩＰネットワークで接続することができる。
【００７１】
グラフィックコントローラ１８は、画像データを高速に描画して、ディスプレイ２１に表示する手段であり、映像入力インタフェースを持ち、ＣＰＵ１１が作成した画像データと映像入力インタフェースから入力した映像とを、任意の位置に重ね合わせて表示することができる。
【００７２】
ＭＰＥＧデコーダ１９は、ＭＰＥＧ形式で圧縮されたＡＶデータを分離、伸長する手段であり、伸長された映像を、グラフィックコントローラ１８を介して、ディスプレイ２１に表示させることができる。なお、ＭＰＥＧデコーダ１９は、ＭＰＥＧデコーダ１９で伸長された音声については、ＤＡＣを介して、ディスプレイ２１の音声入力端子や、別のアンプなど（いずれも図示せず）に出力させることができる。
【００７３】
外部バスＩ／Ｆ２０は、内部バス１５と外部バス２２とを接続するインタフェースである。本実施形態では、上記外部バス２２としてＩＥＥＥ１３９４を採用しているので、外部バスＩ／Ｆ２０として、ＩＥＥＥ１３９４準拠のインタフェースが採用されている。ＤＶＣＲ２３は、外部バス２２に接続されており、ＡＶデータの記録および再生を行うデジタルビデオカセットレコーダである。
【００７４】
また、上記外部バス２２は、例えば、転送しながら逐次映像などを再生する場合のように、リアルタイム性の要求される場合に、接続された機器間でデータ転送に必要な帯域を確保して転送することが可能なバスである。本実施形態では、当該外部バス２２の一例として、ＩＥＥＥ１３９４バスを採用している。なお、ＩＥＥＥ１３９４は、機器接続インタフェースおよびバスの規格である。
【００７５】
このような本実施の形態について、ＤＶＣＲ２３に保存されている、ＭＰＥＧ２形式で圧縮されたＡＶデータを、ディスプレイ２１上にて再生する場合の動作を説明する。
【００７６】
以下では、バス調停回路１６の調停動作について説明する前に、ＡＶデータ転送の概略について簡単に説明する。なお、ＤＶＣＲ２３に保存されているＡＶデータをディスプレイ２１上に表示するためには、ＤＶＣＲ２３の制御や認証、ＡＶデータの一覧表示と再生データの選択などの手順が必要だが、本発明においては同期データを転送する場合に着目しているので、詳細な説明の記述は省略し、ＡＶデータの転送の動作についてのみ説明する。
【００７７】
すなわち、ＤＶＣＲ２３が外部バス２２を介して外部バスＩ／Ｆ２０へＡＶデータを送信すると、外部バスＩ／Ｆ２０は、受信したＡＶデータを、図示しないバッファに格納する。
【００７８】
より詳細には、本実施形態では、上記外部バス２２がＩＥＥＥ１３９４バスなので、以下の処理が行われる。すなわち、ＩＥＥＥ１３９４バスでは、バス上のデバイスのいずれかが、アイソクロナスリソースマネージャの役割を担っている。当該アイソクロナスリソースマネージャは、ＩＥＥＥ１３９４の同期データ転送であるアイソクロナス転送の制御を行うものであって、バス上のデバイスのいずれか（この場合は、ＤＶＣＲ２３）がアイソクロナス転送を要求すると、同期データの転送用にアイソクロナス転送のチャンネルを割り当てる。
【００７９】
ＤＶＣＲ２３は、チャンネルが割り当てられると、情報処理装置１から転送を要求されたＡＶデータを分割した上で、例えば、それぞれに割り当てられたチャンネル番号などのアイソクロナス転送するために必要な情報を付加し、アイソクロナスパケットとして、ＩＥＥＥ１３９４バスに送出する。ＩＥＥＥ１３９４では、同期データを送信するデバイスが一定量のアイソクロナスパケットを周期的に送出するように規定されており、周期毎に送出されるパケットの総量は、再生したいＡＶデータのビットレートによって定められる。ここで、ＩＥＥＥ１３９４では、上記周期は、１２５μ秒に規定されている。
【００８０】
さらに、外部バスＩ／Ｆ２０としてのＩＥＥＥ１３９４Ｉ／Ｆは、ＤＶＣＲ２３が送出したアイソクロナスパケットを、それぞれに付加されたチャンネル番号から識別して受信し、ＩＥＥＥ１３９４バスでのアイソクロナス転送用の情報を取り除き、一旦バッファに格納する。
【００８１】
上記のように、ＡＶデータが外部バス２２を介して外部バスＩ／Ｆ２０へ送信され、図示しないバッファに格納されると、外部Ｉ／Ｆ２０は、バス調停回路１６に、内部バス１５のバス使用権を要求する。
【００８２】
また、バス調停回路１６は、内部バス１５のバスの使用権の調停を行っており、詳細は後述するように、然るべきタイミングで外部バスＩ／Ｆ２０に内部バス１５の使用許可を与える。
【００８３】
一方、外部バスＩ／Ｆ２０は、内部バス１５の使用権が与えられている間に、上記図示しないバッファに蓄積されたデータを、内部バス１５を介して、送信先（この場合は、ＭＰＥＧデコーダ１９）へ送信する。
【００８４】
上記処理、すなわち、外部バスＩ／Ｆ２０によるバス使用権要求、バス調停回路１６によるバス使用権の調停処理、バス調停回路１６による外部バスＩ／Ｆ２０への使用権付与、および、外部バスＩ／Ｆ２０によるデータ転送は、以降、ＡＶデータの伝送が終了するまで、より詳細には、ＤＶＣＲ２３に保存されているＡＶデータのディスプレイ２１上での再生がＣＰＵ１１により停止されるまで、繰り返される。
【００８５】
一方、ＭＰＥＧデコーダ１９は、外部バスＩ／Ｆ２０から、内部バス１５に送出されたＡＶデータを受信して一旦バッファ（図示せず）に格納し、バッファに格納されたＡＶデータを映像データ、音声データに分割する。さらに、ＭＰＥＧデコーダ１９は、分離された映像データ、音声データに対して、それぞれ伸長処理をおこない、映像データについては、グラフィックコントローラ１８を介してディスプレイ２１上で再生させ、音声データについては、図示しないＤＡＣを介して出力させる。
【００８６】
ここで、バス調停回路１６は、外部バスＩ／Ｆ２０によって繰り返されるバス使用権要求のタイミングを予測し、次に外部バスＩ／Ｆ２０からバス使用権要求が出される時点よりも前に、外部バスＩ／Ｆ２０へバス使用権を与えるための調停処理を開始し、バス使用権要求が出される時点よりも前に、外部バスＩ／Ｆ２０へ内部バス１５の使用許可を与えている。
【００８７】
以下では、図２および図３を参照しながら、バス調停回路１６の構成および動作の詳細について説明する。すなわち、図２は、バス調停回路１６の詳細な構成を示すブロック図である。図２に示すように、バス調停回路１６は、ＲＥＱ検出部３０、ＧＮＴ送出部３１、バス使用権選択部（バス調停手段）３２、レジスタ（記憶手段）３３、ＰＣＩバス監視部３４を備えている。
【００８８】
ＲＥＱ検出部３０は、内部バス１５の各デバイスからのＲＥＱ信号の入力（図２の例では、ＲＥＱ１からＲＥＱ４）を検出する部分で、イーサネットＩ／Ｆ１７、グラフィックコントローラ１８、ＭＰＥＧデコーダ１９、外部バスＩ／Ｆ２０の各デバイスとポイント・ツー・ポイントで接続されている。なお、上記ＲＥＱ信号は、各デバイスがバス使用権を要求しているか否かを示す信号であって、各デバイスは、バス使用権を要求する場合、有効を示すＲＥＱ信号を出力する。
【００８９】
ＧＮＴ送出部３１は、内部バス１５の各デバイスとポイント・ツー・ポイントで接続されており、ある一つのデバイスへの内部バス１５の使用許可を通知するために、イーサネットＩ／Ｆ１７、グラフィックコントローラ１８、ＭＰＥＧデコーダ１９、外部バスＩ／Ｆ２０の各デバイスへＧＮＴ信号（図２の例では、ＧＮＴ１からＧＮＴ４）を出力する。なお、上記ＧＮＴ信号は、バス調停回路１６が各デバイスへ内部バス１５の使用許可を与えているか否かを示す信号であって、ＧＮＴ送出部３１は、あるデバイスへ内部バス１５の使用許可を与える場合、当該デバイスへ、有効を示すＧＮＴ信号を出力し、残余のデバイスには、無効を示すＧＮＴ信号を出力する。
【００９０】
内部バス監視部３４は、内部バス１５の状態を監視する部分であり、内部バス１５の状態を示す信号（例えば、内部バス１５の場合は、ＰＣＩクロック、ＩＲＤＹ、ＦＲＡＭＥなど）を監視して、内部バス１５の状態を把握できる。なお、内部バス監視部３４は、内部バス１５の状態が把握できればよいため、内部バス１５の全ての信号線を接続する必要はない。
【００９１】
なお、ＲＥＱ検出部３０に接続された各デバイスとＧＮＴ送出部３１に接続された各デバイスとは、同一のものであり、これら各デバイスと内部バス１５との接続については、図１への図示を省略した。
【００９２】
さらに、本実施形態に係るバス調停回路１６には、レジスタ３３が設けられており、レジスタ３３は、同期デバイスが次にバス使用権を要求するタイミングをバス使用権選択部３２が予測するための予測用情報を格納できる。
【００９３】
また、上記レジスタ３３は、上記同期デバイスへバス使用権を与えるべき期間を示す情報（バス使用許可時間情報）を格納することができる。
【００９４】
本実施形態では、これら、上記バス使用権選択部３２の動作に必要な情報のうち、予測用情報として、同期デバイスがバス使用権を要求する周期（すなわち、同期デバイスがデータ列を伝送する周期）の情報が格納されている。また、本実施形態では、上記バス使用許可時間情報として、同期デバイスが伝送する同期データ（例えば、ＡＶデータ）の帯域情報が格納されている。
【００９５】
また、ＣＰＵ１１は、ホストバス１２を介して、当該レジスタ３３を読み書きすることができ、上記予測用情報およびバス使用許可時間情報をレジスタ３３に書き込むことができる。これらの情報は、同期デバイスの特性、すなわち、同期デバイスの動作や機能を規定する特性に基づいて決定された情報である。なお、当該特性としては、例えば、ＡＶデータを転送するデバイスであるか、あるいは、標準の通信規格で通信するデバイスであるかなどが挙げられる。
【００９６】
なお、同期デバイスの特性が固定されている場合は、ＣＰＵ１１が、これらの情報として、当該特性に基づいて決定された、常時一定の情報を書き込んでもよいが、本実施形態に係るＣＰＵ１１は、例えば、どのデバイスに、どのようなデータの転送を指示したか（この例では、ＡＶデータの転送をＤＶＣＲ２３へ指示した）などに基づいて、上記同期デバイスの特性を検出し、当該特性に応じた情報をレジスタ３３に設定している。
【００９７】
このように、本実施形態に係るＣＰＵ１１は、内部バス１５に接続された同期デバイスの特性を検出すると共に、検出結果に基づいて、前記バス調停回路１６のレジスタ３３に前記予測用情報を設定している。したがって、現在、内部バス１５に接続されている同期デバイスの特性に応じて、予測用情報を変更できる。この結果、バス調停回路１６は、現在、内部バス１５に接続されている同期デバイスが、より確実に同期データを伝送できるように、内部バス１５を調停でき、より確実に同期データを伝送可能な情報処理装置１を実現できる。
【００９８】
さらに、バス使用権選択部３２は、ＲＥＱ検出部３０からのＲＥＱ信号の入力状況と、レジスタ３３に設定された情報と、内部バス監視部３４が取得した内部バス１５の状態とによって、下記で説明する方法で、ＧＮＴ信号を有効状態にするデバイス（使用許可を与えるデバイス）を決定する。
【００９９】
具体的には、上記バス使用権選択部３２の内部には、計時するためのカウンタ部３５が設けられており、バス使用権選択部３２は、同期デバイスがバス使用権を要求してからの期間と、同期デバイスへバス使用権を与えてからの時間を計時できる。同期デバイスが外部バスＩ／Ｆ２０である場合を例にして、より詳細に説明すると、バス使用権選択部３２は、カウンタ部３５に設けられたカウンタＣｐによって、外部バスＩ／Ｆ２０からの信号ＲＥＱ４が有効になったことをＲＥＱ検出部３０が検出してからの時間を計時できる。また、バス使用権選択部３２は、カウンタ部３５に設けられたカウンタＣｒによって、同期デバイスへバス使用権が与えられてからの時間、この例では、外部バスＩ／Ｆ２０への信号ＧＮＴ４が有効になったことをＲＥＱ検出部３０が検出してからの時間を計時できる。
【０１００】
なお、上記カウンタＣｐおよびＣｒは、所定の周期毎にカウントできれば、例えば、それぞれ別個のカウンタ回路から構成されていてもよいし、各カウンタＣｐ、Ｃｒに対応する記憶領域が設けられており、カウント部３５が所定の周期で各記憶領域に格納されたカウント値を変更してもよい。
【０１０１】
さらに、バス使用権選択部３２は、上記レジスタ３３に格納された予測用情報に基づいて、同期デバイスが次にバス使用権を要求する時点を予測すると共に、当該予測された時点よりも予め定める期間だけ前の時点に、調停処理を開始できる。当該調停処理としては、同期デバイスが実際にバス使用権を要求したときに行われる処理と同じ処理であって、例えば、当該同期デバイス以外のデバイスへ与えていたバス使用権の使用許可を取り消す処理、あるいは、現在バス使用権を与えていたデバイスに動作中止を指示する処理などが挙げられる。
【０１０２】
また、バス使用権選択部３２は、上記レジスタ３３に格納されたバス使用許可時間情報の示す期間だけ、例えば、同期バス（この場合は、外部バスＩ／Ｆ２０）へ与えるＧＮＴ信号（この場合は、ＧＮＴ４）を有効にするなどして、同期デバイスへバス使用権を与えることができる。
【０１０３】
上記カウンタ部３５は、上記各期間の長さを計時できれば、どのような構成であってもよいが、本実施形態に係るカウンタ部３５は、内部バス１５のクロック（この例では、ＰＣＩクロック）を基準としてカウントを行うことによって計時している。
【０１０４】
レジスタ３３に記憶されている情報、および、それに基づくバス使用許可時間情報３２の動作についてより詳細に説明すると、本実施形態では、外部バスＩ／Ｆ２０として、ＩＥＥＥ１３９４Ｉ／Ｆを採用しており、当該ＩＥＥＥ１３９４Ｉ／Ｆは、バッファに同期データを１２５μ秒毎に格納するために、バスの使用権も１２５μ秒毎に要求する。また、上述したように、バス使用権選択部３２に設けられたカウンタ部３５は、内部バス１５のクロックをカウントして計時している。
【０１０５】
これに伴なって、ＣＰＵ１１は、上記予測用情報として、、予め、上記周期（１２５μ秒）の情報を内部バス１５としてのＰＣＩのクロックを基準としたカウント数に換算して、バス調停回路１６のレジスタ３３へ格納している。
【０１０６】
例えば、ＰＣＩのクロックが３３ＭＨｚの場合には、クロックのカウント数の値は、４１６６となる。したがって、ＣＰＵ１１は、上記レジスタ３３に、当該値（４１６６）を格納する。なお、クロックのカウント数として記憶された予測用情報は、上記カウント部３５のカウンタのうち、同期デバイス（この例では、外部バスＩ／Ｆ２０）がバス使用権を要求してからの期間を計時するカウンタＣｐのプリセットの値として使用される。
【０１０７】
また、ＣＰＵ１１は、上記バス使用許可時間情報として、外部バスＩ／Ｆ２０としてのＩＥＥＥ１３９４Ｉ／Ｆが必要とする転送帯域の情報を、１２５μ秒毎に必要とする内部バス１５の使用時間に変換し、バス調停回路１６のレジスタ３３に格納する。なお、本実施形態に係るＣＰＵ１１は、バス使用許可時間情報を格納する際も、上記予測用情報と同様に、１２５μ秒毎に必要とする内部バス１５の使用時間をＰＣＩのクロックを基準としたカウント数に換算して格納している。なお、クロックのカウント数として記憶されたバス使用許可時間情報は、上記カウント部３５のカウンタのうち、同期デバイス（この例では、外部バスＩ／Ｆ２０）がバス使用権を獲得してしてからの期間を計時するカウンタＣｒのプリセットの値として使用される。
【０１０８】
例えば、必要とする転送帯域が１００Ｍｂｐｓの場合、１２５μ秒毎に１２５００ｂｉｔを転送する必要がある。したがって、ＰＣＩバスのデータ幅が３２ｂｉｔの場合には、上記バス使用許可情報として格納されるカウント数の値は、約４００となる。
【０１０９】
ここで、上述したように、バス調停回路１６は、同期デバイスが次にバス使用権を要求する時点を予測することによって、同期デバイスが実際にバス使用権を出す時点よりも前の時点、より詳細には、同期デバイスが次にバス使用権を要求する時点の予測値よりも予め定める期間だけ前の時点に、内部バス１５の使用許可を与えている。
【０１１０】
また、上記カウンタＣｒは、同期デバイスへバス使用権が与えられてからの時間を計時しており、後述するように、バス使用権選択部３２は、カウント値Ｃｒ＝０になった時点で、同期デバイスに対する内部バス１５の使用許可を無効にする。
【０１１１】
したがって、上記レジスタ３３にカウンタＣｒのプリセット値として格納されるバス使用許可時間情報（この例では、約４００）には、上記予め定める期間を示すクロック数（Ｃｍ）の分が、同期デバイス（外部バスＩ／Ｆ２０）の必要とする内部バス１５の使用時間のクロック数に加算されている。
【０１１２】
一方、本実施形態に係るバス使用権選択部３２は、同期デバイスがバス使用権を要求した時点で、上記カウンタＣｐに、上記予測用情報として記憶された周期（この例では、１２５μ秒）を示すプリセット値（この例では、４１６６）をセットできる。また、カウンタＣｐは、当該時点から計時を開始して、クロックの示すカウントタイミング毎（例えば、立ち上がり毎や立ち下がり毎など）に、自らのカウント値をカウントダウンできる。さらに、バス使用権選択部３２は、例えば、当該カウンタＣｐのカウント値と、予め定められた閾値Ｃｍと一致するか否かを判定することによって、上記同期デバイスが次にバス使用権を要求する時点の予測値よりも予め定める期間だけ前の時点になったか否かを判定できる。また、当該時点になったと判定すると、バス使用権選択部３２は、同期デバイス（この場合は、外部バスＩ／Ｆ２０）からのＲＥＱ信号（この場合は、ＲＥＱ４）が未だ無効であったとしても、有効になった場合と同様の処理を行って、調停処理を開始し、調停処理が終了すると、例えば、当該同期デバイスへのＧＮＴ信号（この場合は、ＧＮＴ４）を有効にするなどして、当該同期デバイスへバス使用権を与えることができる。
【０１１３】
また、本実施形態に係るバス使用権選択部３２は、同期デバイスへバス使用権が与えられた時点（この例では、外部バスＩ／Ｆ２０への信号ＧＮＴ４が有効になった時点）で、上記カウンタＣｒに、上記バス使用許可時間情報として記憶されたバス使用許可時間を示すプリセット値（上述の数値例では、約４００）をセットできる。さらに、カウンタＣｒは、当該時点から、上記カウンタＣｐと同様に計時を開始して、クロックの示すカウントタイミング毎に自らのカウント値をカウントダウンできる。また、バス使用権選択部３２は、例えば、当該カウンタＣｒのカウント値が０になったか否かを判定することによって、上記バス使用許可時間が経過したか否かを判定できる。さらに、当該経過したと判定すると、バス使用権選択部３２は、例えば、同期デバイスへ与えていたＧＮＴ信号（この場合は、ＧＮＴ４）を無効に設定するなどして、当該同期デバイスへ与えていたバス使用権の許可を停止する。これにより、同期デバイスは、内部バス１５を開放でき、他のデバイスに内部バス１５を使用させることができる。
【０１１４】
なお、本実施形態では、内部バス１５の１クロック毎（ＰＣＩクロックの１クロック毎）にカウントするとしたが、上記各期間を計時するために充分な分解能を持ったクロックであれば、他の単位クロック毎に１つカウントするようにしても、同様の効果が得られる。
【０１１５】
次に、この動作例の詳細について図３を用いて説明する。
【０１１６】
図３は、バス調停回路１６に、バス使用権を要求するＲＥＱ信号として入力されるＲＥＱ１からＲＥＱ４の信号と、その入力に対してバス調停回路１６がバス使用の可否を通知するＧＮＴ信号として出力するＧＮＴ１からＧＮＴ４の信号との変化の一例を表すタイミングチャートである。図において、入出力の有効状態を信号の低レベルで示し、入出力の無効状態を信号の高レベルで示している。尚、横軸は、Ｔ０を開始時間とした時間を表しているが、理解のしやすいようにスケールは一定とはしていない。
【０１１７】
バス使用権選択部３２は、同期デバイスとしての外部バスＩ／Ｆ２０が同期データの伝送を開始する前の期間（Ｔ０からＴ２の期間）においては、非同期デバイス（この例では、イーサネットＩ／Ｆ１７、グラフィックコントローラ１８およびＭＰＥＧデコーダ１９）に公平に内部バス１５の使用許可をあたえており、例えば、Ｔ１の時点では、信号ＧＮＴ２を有効にして、グラフィックコントローラ１８にバスの使用権を与えている。
【０１１８】
Ｔ２の時点において、同期デバイスである外部バスＩ／Ｆ２０からの信号ＲＥＱ４の有効を確認すると、バス使用権選択部３３内部のカウンタ部３５のカウンタＣｐが計時を開始する。より詳細には、カウンタＣｐは、ＰＣＩクロックを基準としたカウントを開始し、１カウント毎に、そのカウント値Ｃｐから１を減算する。
【０１１９】
その後、１クロック後のＴ３の時点に、バス使用権選択部３３は、信号ＧＮＴ２を無効にし、外部バスＩ／Ｆ２０へのバス使用許可を示す信号ＧＮＴ４を有効にする。一方、外部バスＩ／Ｆ２０は、信号ＧＮＴ４の有効を検出し、内部バス１５の使用許可を得たと判断する。また、このとき、バス使用権選択部３３内部のカウンタ部３５のカウンタＣｒが計時を開始する。より詳細には、カウンタＣｒは、ＰＣＩクロックの基準としたカウントを開始し、１カウント毎に、そのカウント値Ｃｒから１を減算する。
【０１２０】
内部バス１５の使用権を獲得した外部バスＩ／Ｆ２０は、信号ＧＮＴ４が有効となるまでに使用権をもっていたデバイス（図３の例では、グラフィックコントローラ１８）が、まだ内部バス１５を使用中であるかどうかを確認し、当該デバイスによる内部バス１５の使用が終了した後に、内部バス１５の使用を開始する。
【０１２１】
より詳細には、本実施形態に係る内部バス１５は、ＰＣＩバスなので、上記外部バスＩ／Ｆ２０は、ＰＣＩバスのＩＲＤＹ信号とＦＲＡＭＥ信号との出力状態に基づいて、上記デバイスが内部バス１５を使用中であるか否かを確認する。ＩＲＤＹ信号とＦＲＡＭＥ信号とがいずれも無効状態の場合は、ＰＣＩバスが使用されていない状態である。したがって、外部バスＩ／Ｆ２０は、上記両信号が無効状態の場合は、転送先（この場合は、ＭＰＥＧデコーダ１９）のアドレスを指定して、バッファに格納されたデータを順次内部バス１５としてのＰＣＩバスに出力する。
【０１２２】
一方、バス調停回路１６のバス使用権選択部３２は、信号ＧＮＴ４が有効になってから、上記カウンタＣｒがバス使用許可時間情報の示す時間が経過したことを通知するまでの間（Ｔ４までの間）は、同期デバイス（外部バスＩ／Ｆ２０）の必要帯域を確保するために、他のデバイスからの信号（ＲＥＱ１からＲＥＱ３まで）が有効になったとしても、信号ＧＮＴ４を有効にし続ける。さらに、バス使用権選択部３２は、当該時間が経過した時点（Ｔ４の時点）で、信号ＧＮＴ４を無効状態にして、外部バスＩ／Ｆ２０が現在行っているデータ伝送を完了させる。
【０１２３】
より詳細には、カウンタ部３５は、信号ＧＮＴ４が有効になってから１クロック毎に必要転送帯域を示すプリセット値Ｃｒから１を減算し、Ｃｒが０に等しくなったとき（Ｔ４）、バス使用権選択部３２は、ＧＮＴ４の出力を無効状態にする。これにより、外部バスＩ／Ｆ２０は、現在行っているデータ転送を完了させる。また、バス使用権選択部３２は、同期デバイスの必要帯域を確保するために、Ｔ３からＴ４の期間において、信号ＲＥＱ１から信号ＲＥＱ３までが有効になったとしても、Ｔ４までバスの使用許可を与えない。
【０１２４】
ここで、バス調停回路１６のカウンタＣｐは、同期デバイスがバス使用権を要求した時点Ｔ２から計時を開始している。また、バス調停回路１６のバス使用権選択部３２は、当該カウンタＣｐのカウント値に基づいて、同期デバイスが次にバス使用権を要求する時点の予測値よりも予め定められた時間だけ前の時点になったか否かを判定し、上記同期デバイスのバス使用権を開放してから、当該時点になるまでの間（Ｔ４からＴ５までの期間）は、同期デバイスがＡＶデータの伝送を開始する前の期間（Ｔ２までの期間）と同様に、各デバイスによるバス使用権の要求を調停している。
【０１２５】
より詳細には、バス調停回路１６のバス使用権選択部３２は、同期デバイスである外部バスＩ／Ｆ２０が次の周期でデータの転送を開始するまでの期間（Ｔ４からＴ５まで）、すなわち、カウンタ部３２のクロックＣｐが１クロック毎にカウント値Ｃｐから１を減算し、カウント値Ｃｐが、ある一定値Ｃｍに等しくなるまでの期間は、外部バスＩ／Ｆ２０も含めて、全てのデバイスからのＲＥＱ信号の有効に対して、例えば、巡回型アルゴリズムなどを用いて、公平にＧＮＴ出力を有効にする。外部バスＩ／Ｆ２０は、この期間中（Ｔ４からＴ５までの期間中）例えば、ＡＶデータ以外の突発的なデータ転送を必要とした場合など、内部のバッファにデータがまだ残っている場合には、さらに、信号ＲＥＱ４を有効にすることによって、内部バス１５の使用権を、他のデバイスと同じ条件の下で獲得することができる。
【０１２６】
さらに、バス使用権選択部３２は、同期デバイスが次にバス使用権を要求する時点の予測値よりも予め定められた時間だけ前の時点（Ｔ５の時点）になると、同期デバイス（外部バスＩ／Ｆ２０）からバス使用権が要求されているか否かに拘わらず、バス使用権が要求されている場合と同様に、内部バス１５のバス使用権の調停処理を開始する。
【０１２７】
より詳細には、バス使用権選択部３２は、上記カウンタＣｐのカウント値Ｃｐの値が上記一定値Ｃｍに等しくなると、他のデバイスへの信号ＧＮＴ１からＧＮＴ３のいずれかが有効となっている場合には、外部バスＩ／Ｆ２０に内部バス１５の使用権を与えるために、信号ＧＮＴ４を有効にする。図３の例では、時点Ｔ５で信号ＧＮＴ１が有効なので、信号ＧＮＴ１を無効にし、信号ＧＮＴ４を有効にする。
【０１２８】
一方、上述したように、外部バスＩ／Ｆ２０は、所定の周期（この例では、１２５μ秒）毎にＲＥＱ信号を有効に出力してバス使用権を得ようとする。したがって、Ｔ２の時点から、上記周期（この例では、１２５μ秒）が経過した時点Ｔ６において信号ＲＥＱ４を出力する。
【０１２９】
ここで、比較例として、バス調停回路が外部バスＩ／Ｆ２０からのバス使用権の要求を受け付けてから、内部バス１５の使用権を調停し、調停終了後に、外部バスＩ／Ｆ２０へ信号ＧＮＴ４を出力すると、調停処理に伴なう遅延が発生してしまう。
【０１３０】
ところが、本実施形態に係るバス調停回路１６は、同期デバイスとしての外部バスＩ／Ｆ２０が次にバス使用権を要求する時点を予測することによって、外部バスＩ／Ｆ２０がバス使用権の要求を出す時点よりも前の時点で、調停処理を開始している。
【０１３１】
したがって、外部バスＩ／Ｆ２０がバス使用権を要求した時点Ｔ６では、既に信号ＧＮＴ４が有効となっている。この結果、外部バスＩ／Ｆ２０は、直ちに内部バス１５の使用権を得ることができる。
【０１３２】
内部バス１５の使用権を得ると、外部バスＩ／Ｆ２０は、上記Ｔ３の時点と同様の処理を行って、データ伝送を開始する。具体的には、外部バスＩ／Ｆ２０は、信号ＧＮＴ４が出力されるまでに使用権をもっていたデバイスがまだ内部バス１５を使用中であるかどうかを、例えば、ＰＣＩバスのＩＲＤＹ信号とＦＲＡＭＥ信号との出力状態で確認し、ＩＲＤＹ信号とＦＲＡＭＥ信号との出力が停止されるのを待って、データの転送を開始する。
【０１３３】
ここで、本実施形態に係るバス調停回路１６において、Ｔ５とＴ６との間の期間に値Ｃｍによって設定される一定時間を設けたのは、ＧＮＴ４が有効となったとしても、それまでに内部バス１５の使用権を得ていたデバイスがすぐにデータ転送を完了させることができずに、同期デバイスが内部バス１５の使用許可を得てから直ぐにデータ転送を開始できない場合があるためである。なお、上述したように、予めＣｒのプリセット値が値Ｃｍの分だけ加算されているので、値Ｃｍを１以上の数値に設定する場合であっても、バス使用権選択部３２は、何ら支障なく、同期デバイス（外部バスＩ／Ｆ２０）の必要とする使用時間の間、当該同期バスにバス使用権を与えることができる。
【０１３４】
なお、同期デバイスのデータ転送を周期開始時に直ちに開始するために、ＧＮＴ信号を無効にすると同時に、ＰＣＩバス監視部３４でバスの転送を強制的に止めるためのＳＴＯＰ信号（バス転送中止信号）を有効にして、非同期デバイスのデータ転送を強制的に止めることも可能である。この場合も、同期デバイスが実際にバスの使用権を要求してから調停処理を開始する構成よりも、より早い時点で、遅滞なく、同期デバイスに、バスの使用権を与えることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。
【０１３５】
外部バスＩ／Ｆ２０がデータ転送周期の開始となり、バスの使用権を得たＴ６において、バス使用権選択部３２はＣｒをプリセット値にリセットして、前のサイクルと同じように、カウンタＣｒのカウント値Ｃｒが０となるまで信号ＧＮＴ４を出力し、外部バスＩ／Ｆ２０は、データの転送を行う。
【０１３６】
以降、ＤＶＣＲ２３に保存されているＡＶデータのディスプレイ２１上での再生がＣＰＵ１１により停止されるまで、同様の動作が繰り返される。
【０１３７】
このようにして、本実施形態に係るバス調停回路１６は、予め定められた予測用情報に基づいて、同期デバイスが次にバス使用権を要求する時点を予測すると共に、当該時点よりも予め定められた期間だけ前の時点で、実際にバス使用権が要求されていなくても、バス使用権が出された場合と同様の調停処理を開始すると共に、予め定められたバス使用許可時間情報の示す期間中、同期デバイスへバス使用権を与えている。したがって、外部バスＩ／Ｆ２０は、ＭＰＥＧデコーダ１９へのＡＶデータの転送を、常に必要な転送帯域を確保した上で、然るべきタイミングで行うことができる。
【０１３８】
以上のようにして、外部バスＩ／Ｆ２０からＭＰＥＧ２デコーダ１９への内部バス１５としてのＰＣＩバスを介してのＡＶデータの転送が、転送タイミングと転送帯域が確保した上で行われるので、再生された映像のノイズやこま落ち、音声のノイズや途切れ等の再生品質の劣化が発生しない。
【０１３９】
また、本実施形態に係るバス調停回路１６は、予め定められた予測用情報に基づいて、同期デバイスが次にバス使用権を要求する時点を予測すると共に、当該時点よりも予め定められた期間だけ前の時点で、実際にバス使用権が要求されていなくても、バス使用権が出された場合と同様の調停処理を開始することによって、データ転送におけるジッタを抑制できるので、ＭＰＥＧデコーダ１９のバッファ容量を必要最低限に抑えることができる。このことによって、ＤＶＣＲ２３のＡＶデータを選択してから、実際にディスプレイ２１で再生されるまでの遅延が少なくなり、操作性の低下を防ぐことができる。
【０１４０】
ここで、データ転送帯域の確保のために、必要なタイマーのプリセット値を、ＰＣＩバスなどの内部バス１５の転送可能な最大帯域に従って設定する場合、ＰＣＩバスなどの内部バス１５の転送可能な最大帯域は、ＣＰＵ１１の負荷状況、同期デバイスと非同期デバイスとによるバス使用権の切り替わりに伴うオーバヘッドの発生等、様々な条件によって変化するために、ＰＣＩバスなどの内部バス１５の転送可能な最大転送帯域の実際の値は、意図しない値となり、結果として、同期データが必要とするデータ転送帯域を確保できなくなるという課題がある。
【０１４１】
また、タイマーのプリセット値に上限値の設定がないため、同期デバイスが必要とする転送帯域を確保しようとして連続してバスの使用権を持っている最中に、非同期デバイスがバスの使用を要求した場合、非同期デバイスがバスの使用権を獲得するまでの遅延が無視できない程大きくなり、システム全体のパフォーマンスの低下が発生するという課題がある。このとき、さらに、非同期デバイスの処理のタイムアウトを超えるような設定値となってしまった場合には、致命的なエラーの発生をもたらす危険性がある。
【０１４２】
これに対して、本実施形態に係るバス調停回路１６は、バス使用許可時間情報の示す時間だけ、同期デバイスとしての外部バスＩ／Ｆ２０に内部バス１５の使用権を与えている。したがって、上記内部バス１５の転送可能な最大帯域に従って設定する構成と異なり、同期デバイスが同期データを伝送するために必要な時間だけ、内部バス１５の使用権を同期デバイスに与えることができると共に、同期デバイスへ内部バス１５の使用権を与える時間を、当該同期デバイスによる同期データの伝送に充分な値に制限できる。この結果、上記致命的なエラーや、システム全体のパフォーマンスの低下が発生する可能性を軽減できる。
【０１４３】
〔第二の実施の形態〕
次に、第二の実施の形態について説明する。本実施の形態の情報処理装置１ａは、第一の実施の形態と略同一であるが、バス調停回路による転送帯域の設定方法（バス使用許可時間情報の設定方法）が異なっている。
【０１４４】
具体的には、本実施形態に係る情報処理装置１ａでは、バス調停回路１６に代えて、バス調停回路１６ａが設けられている。当該バス調停回路１６ａは、バス調停回路１６と略同様の構成を備えているが、バス使用権選択部３２に代えて、バス使用権選択部３２ａが設けられている。当該バス使用権選択部３２ａは、バス使用権選択部３２と略同様の動作を行うが、レジスタ３３に格納されるバス使用許可時間情報を、その一つ前の周期で、外部バスＩ／Ｆ２０が実際に転送を行ったデータ量に基づいて、更新することができる。また、バス使用権選択部３２ａは、バス使用権選択部３２とは異なり、内部バス監視部３４による内部バス１５の監視結果に基づいて、外部バスＩ／Ｆ２０が実際に転送を行っている期間にのみ、カウンタ部３５のカウンタＣｒに計時させることができる。これにより、バス使用許可時間情報を、同期デバイスの必要に応じて更新できる。
【０１４５】
なお、バス使用権選択部３２ａの残余の動作、バス調停回路１６ａの残余の構成、および、情報処理装置１ａの残余の構成は、第一の実施形態と同様であるので、同じ構成および機能を有する部材については、同じ参照符号を付して説明を省略する。
【０１４６】
次に、このような本実施の形態の動作を説明する。
【０１４７】
データ転送の開始時には、第一の実施の形態と同じ動作を行う。ここで、第一の実施の形態では、例えば、ＣＰＵ１１などの指示によって、バス調停回路１６のレジスタ３３には、予め外部バスＩ／Ｆ２０が必要とする転送帯域の情報（バス使用許可時間情報）が格納されており、常にその値は一定であった。
【０１４８】
これに対して、本実施の形態では、バス調停回路１６ａのバス使用権選択部３２ａは、同期データの各伝送周期において、その一つ前の周期で、外部バスＩ／Ｆ２０が実際に転送を行ったデータ量に基づいて、所望の転送帯域を確保するために必要なバス使用許可時間を算出し、レジスタ３３に格納する。これにより、レジスタ３３内のバス使用許可時間情報は、サイクル毎に、所望の転送帯域を確保するために必要な値に、順次更新されていく。
【０１４９】
すなわち、図３の外部バスＩ／Ｆ２０がデータ転送を行う第一の周期であるＴ２からＴ６の期間において、バス使用権選択部３２ａは、外部バスＩ／Ｆ２０が実際に転送したデータ量を、内部バス監視部３４の検出した内部バス１５の状態に基づいて算出する。さらに、バス使用権選択部３２ａは、当該データ量に基づいて、当該データ量を伝送するために必要なバス使用許可時間を算出し、第二の周期（Ｔ６の時点から開始される周期）において使用されるバス使用許可時間情報として、レジスタ３３に格納する。
【０１５０】
なお、本実施形態では、当該バス使用許可時間情報を内部バス１５のクロックを基準とするクロック数として算出し、当該値をカウンタＣｒのプリセット値としている。したがって、バス使用権選択部３２ａは、上記バス使用許可時間情報をクロック数として算出し、Ｔ６の時点から開始される第二の周期における必要帯域を示すプリセット値Ｃｒ１として、カウンタＣｒに設定する。なお、内部バス１５がＰＣＩバスの場合、実際にデータ転送を行っているときは、ＩＲＤＹ信号、ＴＲＤＹ信号の両方が有効となっている。したがって、バス使用権選択部３２ａは、その両方の信号の状態と時間とによって、外部バスＩ／Ｆ２０が実際にデータを伝送している期間を検出でき、当該期間と、１クロック期間に内部バス１５を伝送されるデータ量とから、当該外部バスＩ／Ｆ２０が実際に転送したデータ量を検出できる。したがって、上記バス使用許可時間情報３２ａは、当該データ量に基づいて、プリセット値Ｃｒ１を設定できる。
【０１５１】
信号ＧＮＴ４を有効にしたあとは、バス使用権選択部３２ａは、内部バス監視部３４の監視結果に基づいて、内部バス１５の状態を確認して、実際にデータの転送が行われているときだけ、カウンタ部３５のカウンタＣｒのカウントダウンを行い、上記時点Ｔ５にて、プリセット値Ｃｒ１に設定されたカウンタＣｒのカウント値が０に等しくなるまで、信号ＧＮＴ４を有効にし続ける。
【０１５２】
以降、バス使用権選択部３２ａは、順次、ｎ番目の周期において、（ｎ−１）番目の周期での実際のデータ転送量を元に、Ｃｒ（ｎ−１）の値を設定して、同期デバイスの転送帯域を確保する。なお、その他の動作は、第一の実施の形態と同一である。
【０１５３】
このように、バス調停回路１６ａは、実際に同期デバイスが行ったデータ転送量に基づいて、内部バス１５の帯域を確保する。この結果、バス調停回路１６ａは、同期データが必要とする転送帯域を安定して確保することができ、内部バス１５の有効利用も図ることができる。
【０１５４】
加えて、本実施形態に係るバス調停回路１６ａは、内部バス１５の状態を監視して、前記同期デバイスがデータ列を実際に伝送しているか否かを検出すると共に、前記同期デバイスがデータ列を実際に伝送している期間の合計が、予め設定されたバス使用許可時間情報の示す時間になるように、前記許可信号を同期デバイスへ与える期間の長さを制御している。したがって、第一の実施形態と比較して、より確実に、同期デバイスが同期データを伝送するために必要な時間、内部バス１５の使用権を同期デバイスに与えることができると共に、同期デバイスへ内部バス１５の使用権を与える時間を、当該同期デバイスによる同期データの伝送に充分な値に制限できる。この結果、上記致命的なエラーや、システム全体のパフォーマンスの低下が発生する可能性をさらに軽減できる。
【０１５５】
〔第三の実施の形態〕
次に、第三の実施の形態について説明する。本実施の形態の情報処理装置１ｂは、第一の実施の形態と略同一であるが、バス調停回路によって、同期デバイスが連続して確保するバスの時間に制限を持たせた上で、必要とする転送帯域を確保するように調停が行われる点が異なっている。
【０１５６】
具体的には、本実施の形態では、バス調停回路１６ｂのレジスタ３３に、上述したレジスタ３３に格納された予測用情報およびバス使用許可時間情報に加えて、内部バス１５に接続された全てのデバイスについて、バス使用権待ち時間の情報（バス使用権待時間情報）が格納されている。当該バス使用権待ち時間は、当該デバイスがバス使用権を要求してから、内部バス１５の使用権を獲得できるまでの遅延時間の最大許容値であって、例えば、内部バス１５のクロックを基準としたクロック数などの形式で、レジスタ３３ｂに格納され、プリセット値として使用される。一例として、以下では、イーサネットＩ／Ｆ１７についてのバス使用権待時間情報をＣｄ１、グラフィックコントローラ１８についてのバス使用権待時間情報をＣｄ２等とする。
【０１５７】
さらに、本実施形態に係るバス調停回路１６ｂにおいて、バス使用権選択部３２ｂのカウンタ部３５には、内部バス１５の各デバイスに対応して、それぞれのデバイスがバス使用権を要求してからの時間を計時するカウンタ（この例では、Ｃｄ１〜Ｃｄ３）が設けられている。
【０１５８】
また、上記バス調停回路１６ｂのバス使用権選択部３２ｂは、ＲＥＱ検出部３０よって各デバイスからのＲＥＱ信号が検出されると、ＲＥＱ信号を検出したデバイスに対応するカウンタに計時を指示すると共に、計時を開始してからの経過時間が、上記レジスタ３３ｂに格納されたバス使用権待時間情報の示す時間を超えたか否かを判定し、当該時間を超えた場合、同期デバイスへバス使用権を与えている場合であっても、一時的に、経過時間がバス使用権待ち時間を超えたデバイスにバス使用権を与えることができる。なお、当該デバイスへバス使用権を一時的に与える時間は、データを転送することを中断しても影響のない時間であり、例えば、ＣＰＵ１１がレジスタ３３ｂに書き込むなどして、予めバス使用権選択部３２ｂに設定されている。
【０１５９】
本実施形態では、上記カウンタＣｄ１〜Ｃｄ３は、上述のカウンタＣｐおよびＣｒと同様に、内部バス１５のクロック（ＰＣＩクロック）をカウントして計時している。また、上記バス使用権選択部３２ｂは、計時開始時に、各クロックＣｄ１〜Ｃｄ３へプリセット値を書き込み、各クロックＣｄ１〜Ｃｄ３へカウントダウンを指示すると共に、各クロックＣｄ１〜Ｃｄ３のカウント値が０になったか否かで、上記経過時間がバス使用権待ち時間を超えたか否かを判定している。これに伴なって、本実施形態において、レジスタ３３ｂに値を設定する部材（例えば、ＣＰＵ１１またはバス使用権選択部３２ｂなど）は、上述のカウンタＣｐおよびＣｒと同様に、上記バス使用権待ち時間をクロック数に換算した値を、バス使用権待時間情報として、レジスタ３３ｂへ書き込んでいる。
【０１６０】
なお、これらのカウンタＣｄ１〜Ｃｄ３も、カウンタＣｐおよびＣｒと同様に、所定の周期毎にカウントできれば、例えば、それぞれ別個のカウンタ回路から構成されていてもよいし、各カウンタＣｄ１〜Ｃｄ３に対応する記憶領域が設けられており、カウント部３５が所定の周期で各記憶領域に格納されたカウント値を変更してもよい。
【０１６１】
また、バス使用権選択部３２ｂの残余の動作、バス調停回路１６ｂの残余の構成、および、情報処理装置１ｂの残余の構成は、第一または第二の実施形態と同様であるので、同じ構成および機能を有する部材については、同じ参照符号を付して説明を省略する。
【０１６２】
次にこのような本実施の形態の動作について図４を用いて説明する。
【０１６３】
図４は、図３と同様、バス調停回路１６ｂに入力されるＲＥＱ１からＲＥＱ４の信号と、その入力に対してバス調停回路１６ｂが出力するＧＮＴ１からＧＮＴ４の信号との変化の一例を表すタイミングチャートである。
【０１６４】
Ｔ１１の時点において、同期デバイスがデータ転送を開始するために信号ＲＥＱ４を有効にしたとき、第一もしくは第二の実施の形態と同様の方法によって、バス調停回路１６ｂは、既に信号ＧＮＴ４を有効にしている。したがって、外部バスＩ／Ｆ２０は、直ちにデータ転送を開始する。
【０１６５】
また、信号ＲＥＱ４が有効になると、カウンタ部３５のカウンタＣｐがカウント（計時）を開始し、１カウント毎に、カウント値Ｃｐから１を減算する。なお、Ｔ１１においてはＧＮＴ４が既に有効となっているため、カウンタＣｒのカウントダウン（計時）は、既に開始されている。
【０１６６】
Ｔ１２の時点において、イーサネットＩ／Ｆ１７がデータの受信など、何らかの理由で、内部バス１５を介したデータ転送の開始を行うために、信号ＲＥＱ１を有効にする。しかしながら、バス調停回路１６ｂは、外部バスＩ／Ｆ２０に内部バス１５の使用権を与えており、カウンタＣｒのカウント値が必要とする転送帯域を確保するための値（この場合は、０）に達していないために、信号ＧＮＴ１を無効のままにしている。したがって、カウンタ部３５は、信号ＲＥＱ１が有効になってからの時間を計時するためのカウンタＣｄ１へ計時を指示して、カウントダウンを開始させる。
【０１６７】
Ｔ１３の時点において、イーサネットＩ／Ｆ１７のバス使用権獲得までの最大許容遅延時間となると、カウンタＣｄ１のカウント値Ｃｄ１が０に等しくなり、バス使用権選択部３２ｂは、イーサネットＩ／Ｆ１７がバス使用権を要求してからバス使用権待ち時間が経過したと判定する。したがって、バス使用権選択部３２ｂは、同期デバイスへバス使用権を与えてからバス使用許可時間が経過していなくても、すなわち、上記カウンタＣｒのカウント値Ｃｒが０に到達していなくても、信号ＧＮＴ４を無効にし、信号ＧＮＴ１を有効にする。また、これと同時に、バス使用権選択部３２ｂは、カウンタＣｒのカウントダウン（計時）を中断する。一方、イーサネットＩ／Ｆ１７は、信号ＧＮＴ１が有効になったので、データ転送を開始する。
【０１６８】
Ｔ１３の時点から１クロック、もしくは、予め設定した期間経過した時点Ｔ１４において、バス使用権選択部３２ｂは、信号ＧＮＴ１を無効にして、信号ＧＮＴ４を再び有効にする。上記予め設定した時間とは、同期デバイスがデータを転送することを中断しても影響のない時間であり、内部バス１５に接続されている各デバイスの特性に基づいて初期設定のときに決められている。
【０１６９】
イーサネットＩ／Ｆ１７は、信号ＧＮＴ１が無効になったので、一定量のデータ転送を行った後、内部バス１５の使用を中断する。そして、外部バスＩ／Ｆ２０は、内部バス１５の使用されていないことを確認して、データの転送を開始する。
【０１７０】
その後、Ｔ１６の時点において、カウンタＣｒのカウント値Ｃｒが０に達するまで、同様の動作が繰り返される。この間、Ｔ１５の時点において、信号ＲＥＱ２が有効となっているが、カウンタＣｒのカウント値Ｃｒが０に達した段階で、カウンタＣｄ２のカウント値Ｃｄ２が０になっていないので、バス使用権選択部３２ｂは、信号ＧＮＴ２を、無効のままにしている。
【０１７１】
この他の動作は、第一、第二の実施の形態と同一である。
【０１７２】
このように、本実施形態に係るバス調停回路１６ｂは、全てのデバイスの最大許容遅延時間を考慮した上で、調停を行うことによって、同期データが必要とする転送帯域を確保しつつも、システム全体のパフォーマンスの低下を回避することができる。
【０１７３】
なお、上記第三の実施形態では、予め設定した同期デバイス以外の非同期デバイスの許容できる最大のバス使用権待ち時間によって、同期デバイスへのバス使用権を一時的に開放するとしたが、バス調停回路１６ｂは、その待ち時間によらず、バス使用権を複数回にわけて与えるようにしても構わない。
【０１７４】
この場合、内部バス１５の使用許可は、前記同期デバイスからの１回のバス使用権の要求に対して、複数回に分けて与えられる。したがって、バス使用権の要求毎に、１回の内部バス１５の使用許可を与える構成と比較して、同期デバイスへ連続して与える使用許可の長さを短くすることができ、他のデバイスがバスの使用権を要求してから、使用許可が与えられるまでの時間を短縮できる。
【０１７５】
加えて、本実施形態に係るバス調停回路１６ｂは、前記同期デバイスが内部バス１５の使用権を得ているときに、当該同期デバイス以外のデバイス（非同期デバイスあるいは使用権を得ていない同期デバイスなど）によって内部バス１５の使用権が要求されてからの経過時間を計時すると共に、当該経過時間が予め定められたバス使用許可時間を超えた場合、予め設定した時間だけ、一時的に当該同期デバイスの内部バス１５の使用権を開放して、前記デバイスに内部バス１５の使用権を与えている。
【０１７６】
このように、同期デバイス以外のデバイスからの内部バス１５の使用権が要求されてからの経過時間が、バス使用許可時間を超えた場合、内部バス１５の使用権が一時的に当該デバイスへ与えられるので、他のデバイスが内部バス１５の使用権を要求してから、使用許可が与えられるまでの時間を、最大許容時間以内に抑えることができる。
【０１７７】
したがって、他のデバイスへの使用許可の遅れに起因する、システム全体のパフォーマンスの低下を抑制できる。また、使用許可の遅れを抑制できるので、以下の不具合、すなわち、当該遅れがデバイスの処理のタイムアウトを超えるような設定値となってしまった場合に、致命的なエラーが発生するという不具合の発生を防止できる。
【０１７８】
また、上記第一から第三の実施形態では、内部バス１５に設けられた同期デバイスが１つ（外部バスＩ／Ｆ２０のみ）の場合を例にして説明したが、同期デバイスの数は、これに限るものではなく、複数であってもよい。例えば、ＭＰＥＧ２デコーダ１９と外部バスＩ／Ｆ２０とが共に同期デバイスである場合等、内部バス１５に同期デバイスが２つ以上ある場合には、そのデータ転送周期が短いデバイスのほうが、タイミングを合わせる事に対する要求がより大きいと判断される。したがって、データ転送周期が最も短い同期デバイスを、バス調停回路１６（１６ａ・１６ｂ）が転送タイミングを合わせるための対象とする。
【０１７９】
当該構成では、データ転送の周期が最も短い同期デバイスについて、予測情報に基づく調停開始時点の決定、および、当該調停開始時点からの調停処理が行われる。したがって、データ転送の周期が最も短く、したがって、より速い時点で、より遅滞なく内部バス１５の使用権を与えることが上記複数の同期デバイスの中で最も要求される、特定の同期デバイスに対して、より速い時点で、より遅滞なく内部バス１５の使用権を与えることができる。この結果、バス調停回路１６（１６ａ・１６ｂ）は、上記特定の同期デバイスが、より確実に同期データを伝送できるように、内部バス１５を調停できる。
【０１８０】
また、上記バス調停回路１６（１６ａ・１６ｂ）は、データ転送周期が同じ同期デバイスが２つ以上の場合には、いずれかの同期デバイスに転送タイミングを合わせて、内部バス１５の使用許可を与える。さらに、上記バス調停回路１６（１６ａ・１６ｂ）は、内部バス１５の使用許可を得た同期デバイスがデータ転送帯域を確保するように内部バス１５の使用許可を与えた後は、非同期デバイスにバス使用許可を与える前に、所定の順序に従って別の同期デバイスに対して直ちに内部バス１５の使用許可を与える。この時、所定の順序とは、データ転送の内容、各デバイスの特性など、システム全体の動作を考慮して判断された順序であって、バス調停回路１６（１６ａ・１６ｂ）は、予め定められた手順に従い、これらシステム全体の動作に基づいて、使用許可を与える順序を決定してもよいし、システム全体の動作が予め予測される場合には、予測結果に応じて定められた一定の順序で使用許可を与えてもよい。
【０１８１】
当該構成では、ある同期デバイスに対して、該同期デバイスのデータ転送に必要な時間のバス使用許可を該同期デバイスに与えた後、前記各同期デバイス以外のデバイスにバス使用許可を与える前に、他の同期デバイスに対して使用許可が与えられる。したがって、バス調停回路１６（１６ａ・１６ｂ）は、各同期デバイス以外のデバイスよりも、他の同期デバイスの方に優先して、使用許可を与えることができ、これらの同期デバイスがより確実に同期データを伝送できるように、内部バス１５を調停できる。
【０１８２】
なお、上記の各実施の形態のＰＣＩバスは、本発明のバスの一例であり、同期デバイスや非同期デバイスが共用し、各デバイスがデータ転送の際にバス調停手段に対してバスの使用要求を行い、バス調停手段が一定のアルゴリズムに基づいて、ある１つのデバイスにバスの使用許可を与えるようなバスでありさえすればよい。
【０１８３】
また、上記各実施形態では、次の同期データのデータ列のデータ伝送開始時点の予測結果と、バス調停回路が調停を開始する時点との時間差が、前記調停処理に要する時間よりも大きく設定されており、前記バス調停回路は、当該同期デバイスが前記内部バス１５の使用権を要求するよりも前に、前記内部バス１５の使用権を与えるための許可信号（ＧＮＴ）を当該同期デバイスへ出力しているが、これに限るものではない。
【０１８４】
上記時間差が、上記各実施形態で設定されていた値よりも小さな値であっても、上記同期デバイスが実際に内部バス１５の使用権を要求する前に、バス調停回路が、当該同期デバイスへバス使用権を与えるための調停処理を開始できる値に設定されていれば、同様の効果が得られる。
【０１８５】
ただし、上記各実施形態のように、時間差が設定されており、前記バス調停回路が、バス使用権の要求よりも前に許可信号（ＧＮＴ）を出力すれば、同期デバイスに遅滞なくバス使用権を与えることができる。
【０１８６】
さらに、上記各実施形態では、予測用情報が周期の場合を例にして説明したが、これに限るものではない。次の同期デバイスによる次のデータ伝送開始時点を予測できれば、他の情報であっても同様の効果が得られる。一例として、同期デバイスが、予め定められたアルゴリズムに従って、データ列の各伝送開始時点間の時間間隔の平均値が一定になり、しかも、各時間間隔の少なくとも一部が他の時間間隔と異なるように、上記各時間間隔を制御する場合には、当該アルゴリズムの情報などであってもよい。
【０１８７】
ただし、上記各実施形態のように、例えば、同期デバイスが周期的にデータ列を伝送する場合は、予測用情報として、周期が好適に使用される。この場合の例としては、同期デバイスが、タイマの計時結果に基づいて周期的にデータ列を伝送する場合、あるいは、同期デバイスが受信したデータをバッファに格納すると共にバッファの蓄積量が所定の閾値になったときに、バスへデータを転送する構成において、受信するデータの速度が一定の場合などが挙げられる。
【０１８８】
さらに、本発明の情報処理装置の全部または一部の手段を実行するためのプログラムの全部または一部を記録したプログラム記録媒体も本発明に属する。
【０１８９】
具体的には、上記各実施形態では、バス調停回路（１６・１６ａ・１６ｂ）を構成する各部材がハードウェアのみで実現され、当該バス調停回路に予測用情報などの情報を予め設定する部材が、プログラムを実行するＣＰＵ１１である場合を例にして説明したが、これに限るものではない。上記ＣＰＵ１１に代えて、当該ＣＰＵ１１と同様の動作を行うハードウェアによって実現してもよい。また、ハードウェアのみで実現されていた各部材の全部または一部を、上述した機能を実現するためのプログラムと、そのプログラムを実行するハードウェア（コンピュータ）との組み合わせで実現してもよい。
【０１９０】
ソフトウェアを用いて実現する場合、ＣＰＵ、あるいは、上述した機能を実行可能なハードウェアなどからなる演算手段が、ＲＯＭやＲＡＭなどの記憶装置に格納されたプログラムコードを実行し、図示しない入出力回路などの周辺回路を制御することによって上記各実施形態に係るバス調停回路を実現できる。
【０１９１】
この場合、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。
【０１９２】
上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム（プログラムコードまたは上記データ）を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。
【０１９３】
なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割／周波数分割／符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。
【０１９４】
ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え（書き込み）可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー（登録商標）ディスクやハードディスクなどの磁気ディスク、または、ＣＤ−ＲＯＭや光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）やデジタルビデオディスク（ＤＶＤ）などのディスクが挙げられる。また、記録媒体は、ＩＣカードや光カードのようなカード、あるいは、マスクＲＯＭやＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュＲＯＭなどのような半導体メモリであってもよい。あるいは、ＣＰＵなどの演算手段内に形成されたメモリであってもよい。
【０１９５】
なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム（例えば、オペレーティングシステムやライブラリなど）が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。
【０１９６】
また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体（例えば、実メモリやハードディスクなど）にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。
【０１９７】
以上のように、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、複数のデバイスが共用するバスを経由して、周期的に一定量のデータ転送を行う一つ以上の同期デバイスを備える情報処理装置において、同期デバイスの特性に基づいて予め設定されたデータ転送の周期、および必要とするデータ転送帯域とを保持し、或る同期デバイスに対して、該同期デバイスのデータ転送に必要な時間のバス使用許可を、設定された周期から予測される、該同期デバイスからバス使用要求が出力されるタイミングで該バス使用要求の検知以前にその同期デバイスに与えるバス調停手段を具備したことを特徴とする。
【０１９８】
また、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、前記バス調停手段が与える、バス使用許可で与えるバス使用許可時間は、その一つ前の周期におけるバス使用時に当該同期デバイスが実際に使用したバス使用の時間に等しいか大きくなるように与えることを特徴とする。
【０１９９】
また、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、前記バス調停手段が、設定された周期から予測される同期デバイスからバス使用要求が出力されるタイミングがくると、その時点でバスを使用している非同期デバイスのデータ転送をバス転送中止信号によって、中断することを特徴とする。
【０２００】
また、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、前記バス調停手段が、同期デバイスからの１回のバス使用要求に対して、バス使用許可を複数回に分けて与えることを特徴とする。
【０２０１】
また、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、前記バス調停手段が前記バスに非同期デバイスがさらに接続されている場合は、該非同期デバイスが許容できる最大のバス使用権待ち時間を予め設定し、同期デバイスがバスの使用権を得ているときに、非同期デバイスのバス使用権待ち時間が設定した値になると、予め設定した時間だけ一時的に同期デバイスのバス使用権を開放して前記非同期デバイスにバス使用権を与えることを特徴とする。
【０２０２】
また、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、前記バス調停手段が、２つ以上の同期デバイスがバスに接続されている場合は、データ転送の周期が最も短い同期デバイスに対して、該同期デバイスからバス要求が出力されるタイミングより前にバス使用許可を与えることを特徴とする。
【０２０３】
また、本発明に係る内部バスの帯域制御手段を具備した情報処理装置は、前記バス調停手段が、２つ以上のデータ転送の周期が同じである同期デバイスがバスに接続されている場合は、いずれかの一つの同期デバイスに対して、該同期デバイスからバス要求が出力されるタイミングより前にバス使用許可を与え、該同期デバイスのデータ転送に必要な時間のバス使用許可を該同期デバイスに与えたあと、非同期デバイスにバス使用許可を与えるまえに、所定の順序にしたがって別の同期デバイスに対して、バス使用許可を与えることを特徴とする
本発明によれば、転送タイミングと転送帯域の保証が必要な映像・音声などの同期データを処理するバスの調停手段が、バス使用要求の出力されるタイミングを予測して、その予測タイミングより前に該当する同期デバイスにバス使用許可を与えておくことにより、バス使用要求が発生した際にすぐにバスの使用が可能となり、遅延無くデータの転送が可能となる。
【産業上の利用可能性】
【０２０４】
本発明によれば、同期デバイスへ、より早い時点で、遅滞なく、バスの使用権を与えることができ、当該同期デバイスが、より確実に同期データを伝送できるように、バスを調停できる。したがって、例えば、リアルタイム性が強く要求されるＡＶデータをバスを介して伝送するＡＶシステムをはじめ、バスを介して、種々の同期データを伝送可能な種々のシステムに広く好適に使用できる。
【図面の簡単な説明】
【０２０５】
【図１】本発明の第一の実施に係る情報処理装置の要部構成を示すブロック図である。
【図２】本発明の第二の実施に係るバス調停回路の詳細な構成の要部を示すブロック図である。
【図３】本発明の第一の実施に係るバス調停回路の入出力信号の変化を示すタイミングチャートである。
【図４】本発明の第三の実施に係るバス調停回路の入出力信号の変化を示すタイミングチャートである。
【図５】従来の情報処理装置の構成を示すブロック図である。
【符号の説明】
【０２０６】
１・１ａ・１ｂ      情報処理装置
１１                  ＣＰＵ（設定手段）
１２                  ホストバス
１３                  メモリ
１４                  ホスト−内部バスブリッジ
１５                  内部バス（バス）
１６                  バス調停回路
１７                  イーサネットＩ／Ｆ（デバイス）
１８                  グラフィックコントローラ（デバイス）
１９                  ＭＰＥＧデコーダ（デバイス）
２０                  外部バスＩ／Ｆ（同期デバイス）
３２・３２ａ・３２ｂ  バス使用権選択部（バス調停手段）
３３・３３ｂ          レジスタ（記憶手段）
【図１】
2006040167.tif 000003
【図２】
2006040167.tif 000004
【図３】
2006040167.tif 000005
【図４】
2006040167.tif 000006
【図５】
2006040167.tif 000007