(57)【要約】【課題】共通のバスへのデータ転送の転送効率を向上させることを課題とする。【解決手段】調停装置は、複数のＤＳＰ間における共通のバスへのアクセス権の切替時に要する切替時間を保持し、切替時間と、ＤＳＰの温度が所定閾値以上である場合に受信する複数のＤＳＰの温度情報とに基づいて、複数のＤＳＰそれぞれの位相シフト値を求める。そして、調停装置は、発振器によって送出された基準クロックと、求められた位相シフト値とを用いて、複数のＤＳＰごとに異なるクロックを生成して出力する。【選択図】図１
2011028448.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置であって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間を保持する切替時間保持部と、
前記切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出部と、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力部と
を有することを特徴とする調停装置。
【請求項２】
前記位相シフト値導出部は、前記切替時間と、前記複数の演算処理装置の温度情報とに基づいて、前記複数の演算処理装置それぞれの位相シフト値を求めることを特徴とする請求項１に記載の調停装置。
【請求項３】
前記位相シフト値導出部は、前記複数の演算処理装置の温度が所定の閾値以上であることを受信した場合に、前記複数の演算処理装置の温度情報と、前記切替時間とに基づいて、前記複数の演算処理装置それぞれの位相シフト値を求めることを特徴とする請求項１または２に記載の調停装置。
【請求項４】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置としてのバスアクセス調停プログラムであって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出手順と、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力手順と
をコンピュータに実行させることを特徴とするバスアクセス調停プログラム。
【請求項５】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置としてのバスアクセス調停方法であって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出ステップと、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力ステップと
を含んだことを特徴とするバスアクセス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータなどのバスアクセス調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法に関する。
【背景技術】
【０００２】
従来、共通のバスに接続される装置によって当該共通のバスへのアクセスが行われる場合には、複数の装置が同時に動作することを防止して、データの衝突を回避するためにバスアクセス調停装置（以降、「調停装置」と呼ぶ）が利用される。なお、共通のバスに接続される装置としては、例えば、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＰＬＤ（Programmable  Logic  Device）、ＣＰＵ（Central  Processing  Unit）またはＭＰＵ（Micro  Processing  Unit）などの演算処理装置がある。
【０００３】
ここで、図９を用いて、調停装置を含むシステムの構成の一例について説明する。図９は、従来技術に係る調停装置を含むシステムの構成例を示す図である。なお、図９では、共通のバスに接続される装置の例としてＤＳＰを挙げて説明する。また、図９では、ＤＳＰ１〜ＤＳＰ１２の１２個のＤＳＰが共通のバスへアクセスする場合を説明する。
【０００４】
例えば、図９に示すように、調停装置を含むシステムは、調停装置と、発振器と、ＤＳＰ１〜ＤＳＰ１２と、メモリコントローラと、記憶装置とを有する。このうち、記憶装置は、例えば、データの読み書きや消去などが可能であるフラッシュメモリ（Flash  Memory）である。
【０００５】
また、発振器は、例えば、メモリコントローラおよびＤＳＰ１〜ＤＳＰ１２それぞれを動作させるためのクロック（ＣＬＫ１）を出力する。また、ＤＳＰ１〜ＤＳＰ１２は、例えば、共通のバスへアクセスするために、バス権獲得要求信号（Ｒｅｑ‐１〜Ｒｅｑ‐ｃ）を調停装置に対して送出する。そして、調停装置は、例えば、複数のＤＳＰからバス権獲得要求信号が同時に入力された場合に、ラウンドロビン・スケジューリングなどによって順番にバス権獲得許可応答信号（Ｇｎｔ‐１〜Ｇｎｔ‐ｃ）を該当するＤＳＰに送出する。
【０００６】
一方、バス権獲得許可応答信号を受信したＤＳＰ１〜ＤＳＰ１２は、共通のバスへアクセスしてメモリコントローラにデータを転送する。そして、メモリコントローラは、ＤＳＰ１〜ＤＳＰ１２によって転送されたデータを記憶装置に格納する。
【０００７】
また、最近では、複数のバスマスタによって共有メモリにアクセスされる際に、メモリコントローラ内部のバッファにライトデータを保持させつつアービトレーションを制御することで、バスアクセスの待ち時間を短縮する技術がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３１６５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、共通のバスへのデータ転送に要する時間が増大するという課題がある。
【００１０】
ここで、図１０を用いて、ＤＳＰによる共通のバスへのアクセス動作タイミングを説明する。図１０は、従来技術に係るＤＳＰによる共通のバスへのアクセス動作タイミングの例を説明する図である。なお、図１０では、ＤＳＰ１〜ＤＳＰ３による共通のバスへのアクセス動作タイミングについて説明する。
【００１１】
例えば、図１０に示すように、ＤＳＰ１〜ＤＳＰ３は、発振器によるクロック（ＣＬＫ１）に基づき、バス権獲得要求信号（Ｒｅｑ‐ａ〜Ｒｅｑ‐ｃ）を調停装置に対して送出する。そして、調停装置は、ラウンドロビン・スケジューリングなどによってＤＳＰ１、ＤＳＰ２、ＤＳＰ３の順番でバス獲得許可応答信号（Ｇｎｔ‐ａ〜Ｇｎｔ‐ｃ）を該当するＤＳＰに送出する。
【００１２】
続いて、バス権獲得許可応答信号を最初に受信したＤＳＰ１は、共通のバスへアクセスするとともに、ＤＳＰ１のデータであるＤ１、Ｄ２およびＤ３をメモリコントローラに転送する。その後、ＤＳＰ２は、バス権獲得許可応答信号を受信して、共通のバスへアクセスするとともに、ＤＳＰ２のデータであるＤ１、Ｄ２およびＤ３をメモリコントローラに転送する。同様に、ＤＳＰ３は、バス権獲得許可応答信号を受信して、共通のバスへアクセスするとともに、ＤＳＰ３のデータであるＤ１、Ｄ２およびＤ３をメモリコントローラに転送する。
【００１３】
ところが、ＤＳＰ１〜ＤＳＰ３は、クロックに同期して共通のバスへアクセスし、メモリコントローラにデータを転送するものの、共通のバスへのアクセスの切替時には、信号をドライブする素子の出力遅延と、基板上の配線遅延とが発生する。加えて、連続して切替を行なう場合には、信号衝突、すなわち共通のバスに同じタイミングでデータを転送することによる素子破壊が発生し得るため、１クロック分の間隔を設けることが望ましい。
【００１４】
次に、図１１を用いて、出力遅延および配線遅延を含む遅延時間と、信号衝突を防止するために設ける１クロックの間隔（ロス時間）について説明する。図１１は、従来技術に係る遅延時間とロス時間との例を説明する図である。詳細には、図１１は、図１０に示したＤＳＰ１とＤＳＰ２との切替時、すなわち図１０において四角で囲った部分の拡大図である。
【００１５】
例えば、図１１に示すように、ＤＳＰ１とＤＳＰ２との切替時には、出力遅延および配線遅延などを含む「遅延時間」が発生する。また、この遅延時間が発生するために、連続して切替を行なう場合には、信号衝突が発生し得るため１クロック分の間隔、すなわち図１１に示す「ロス時間」を設けることとなる。
【００１６】
要するに、図１０および図１１では、Ｄ１〜Ｄ３のデータ転送に要する３クロックごとに、１クロックのロス時間が付与されることとなるため、上記の遅延時間とともに、４クロックのうち２５パーセントほどのロス時間が発生することとなる。
【００１７】
ところで、バスでの信号衝突を回避するために、配線で遅延させることが考えられる。そこで、図１２を用いて、配線遅延で調整する場合を説明する。図１２は、従来技術に係るバスでの信号衝突を回避するために配線遅延で調整する例を説明する図である。なお、図１２では、ＤＳＰ１からＤＳＰ２に切り替える場合を説明する。また、ＤＳＰ１とＤＳＰ２とのデータ線は、物理的に同一の配線であるが、図１２では、説明の便宜上、ＤＳＰ１とＤＳＰ２とのデータ線を分けて説明する。
【００１８】
例えば、図１２に示すように、ＤＳＰ１のデータ線バッファがゲートを閉じてからデータ転送終了までに、１．５ｎｓ（nano‐second）〜６．５ｎｓの時間を要する（図１２のＡ参照）。一方、ＤＳＰ２のデータ線バッファがゲートを空けてからデータ転送を開始するまでに１．５ｎｓ〜７．６ｎｓの時間を要する（図１２のＢ参照）。そして、ＡとＢとにおいては、重なる時間が発生し、この重なる時間がバスでの信号衝突の時間となる。
【００１９】
また、図１２の下側に示すように、例えば、ＤＳＰ２のゲート信号を配線で遅延させる場合には、ＤＳＰ１のデータ転送終了時と、ＤＳＰ２のデータ転送開始時とにおける信号衝突を回避することができる。しかしながら、ＤＳＰ２のデータ転送終了時には、信号衝突が発生してしまう。
【００２０】
要するに、ＤＳＰなどの装置は、共通のクロックで動作することにより、バスの切替に要する１クロック内にデータ衝突が発生し得る。このため、データ衝突を防止するためには、次のクロックイベントまで時間を空けることとなる。この結果、上述した従来技術では、共通のバスへのデータ転送に要する時間が増大する。
【００２１】
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、共通のバスへのデータ転送の転送効率を向上させることが可能である調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上述した課題を解決し、目的を達成するため、本願に開示する調停装置は、複数の演算処理装置間におけるアクセス権の切替時に要する切替時間を保持する切替時間保持部を有する。また、調停装置は、切替時間に基づいて、複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出部を有する。また、調停装置は、発振器によって送出された基準同期信号と、位相シフト値とを用いて、複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力部を有する。
【発明の効果】
【００２３】
本願に開示する調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法の一つの様態によれば、共通のバスへのデータ転送の転送効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】図１は、実施例１に係る調停装置を含むシステムの構成例を示す図である。
【図２】図２は、実施例１に係る調停装置の構成例を示す図である。
【図３Ａ】図３Ａは、８ｂｉｔレジスタに保持される情報の例を示す図である。
【図３Ｂ】図３Ｂは、スレーブ情報テーブルに保持される情報の例を示す図である。
【図４】図４は、実施例１に係るＰＬＬ位相シフターの詳細な回路図の例を示す図である。
【図５】図５は、実施例１に係るＤＳＰによる共通のバスへのアクセス動作タイミングの例を説明する図である。
【図６】図６は、実施例１に係るＤＳＰ間における切替時の動作タイミングの詳細な例を説明する図である。
【図７】図７は、実施例１に係る調停処理の流れの例を説明するフローチャートである。
【図８】図８は、バスアクセス調停プログラムを実行するコンピュータの例を示す図である。
【図９】図９は、従来技術に係る調停装置を含むシステムの構成例を示す図である。
【図１０】図１０は、従来技術に係るＤＳＰによる共通のバスへのアクセス動作タイミングの例を説明する図である。
【図１１】図１１は、従来技術に係る遅延時間とロス時間との例を説明する図である。
【図１２】図１２は、従来技術に係るバスでの信号衝突を回避するために配線遅延で調整する例を説明する図である。
【発明を実施するための形態】
【００２５】
以下に添付図面を参照して、本願に開示する調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００２６】
［システム構成］
最初に、図１を用いて、実施例１に係る調停装置を含むシステムの構成について説明する。図１は、実施例１に係る調停装置を含むシステムの構成例を示す図である。なお、図１では、共通のバスに接続される装置の例としてＤＳＰを挙げ、ＤＳＰ１〜ＤＳＰ１２の１２個のＤＳＰが共通のバスへアクセスする場合を説明する。
【００２７】
例えば、図１に示すように、調停装置を含むシステムは、調停装置と、発振器と、ＤＳＰ１〜ＤＳＰ１２と、メモリコントローラと、記憶装置とを有する。このうち、記憶装置は、例えば、データの読み書きや消去などが可能であるフラッシュメモリである。
【００２８】
また、発振器は、例えば、メモリコントローラおよびＤＳＰ１〜ＤＳＰ１２それぞれを動作させるためのクロックの基準となる基準クロックを調停装置に送出する。また、ＤＳＰ１〜ＤＳＰ１２は、例えば、共通のバスへアクセスするために、バス権獲得要求信号（Ｒｅｑ‐１〜Ｒｅｑ‐ｃ）を調停装置に対して送出する。
【００２９】
そして、調停装置は、例えば、複数のＤＳＰからバス権獲得要求信号が同時に入力された場合に、各ＤＳＰに送出するクロック（ＣＬＫ１〜ＣＬＫ１２）に同期してバス権獲得許可応答信号（Ｇｎｔ‐１〜Ｇｎｔ‐ｃ）を該当するＤＳＰに送出する。
【００３０】
調停装置から各ＤＳＰに送出されるクロックは、発振器から送出された基準クロックと同一の位相、または当該基準クロックから所定時間ずつシフトされた位相で送出される。具体的に説明すると、調停装置は、ＤＳＰ１〜ＤＳＰ１２間における共通のバスへのアクセス権の切替時に要する切替時間を位相値レジスタに保持している。
【００３１】
この切替時間は、例えば、ＤＳＰ１とＤＳＰ２とのアクセス権の切替時に、ＤＳＰ１のゲートを閉じてからＤＳＰ２のゲートを開けるまでに最低限要するデータ確定時間である。そして、調停装置は、切替時間に基づいて、ＤＳＰ１〜ＤＳＰ１２それぞれの位相シフト値を求める。
【００３２】
続いて、調停装置は、発振器から送出された基準クロックと、求められた位相シフト値とを用いて、ＤＳＰ１〜ＤＳＰ１２それぞれで異なるクロック（ＣＬＫ１〜ＣＬＫ１２）を生成して該当するＤＳＰに出力する。なお、位相シフト値の導出と各ＤＳＰで異なるクロックの生成およびクロックの出力とは、位相シフターによって実行される。
【００３３】
一方、バス獲得応答信号を受信したＤＳＰ１〜ＤＳＰ１２は、共通のバスへアクセスしてメモリコントローラにデータを転送する。そして、メモリコントローラは、ＤＳＰ１〜ＤＳＰ１２によって転送されたデータを記憶装置に格納する。
【００３４】
つまり、調停装置は、ＤＳＰ間におけるアクセス権の切替時に要する最低限の切替時間を保持し、切替時間に基づいて求められたＤＳＰそれぞれの位相シフト値と、発振器によって送出された基準クロックとを用いて、ＤＳＰでそれぞれ異なるクロックを生成する。そして、調停装置は、生成されたクロックを該当するＤＳＰに出力する。これらの結果、調停装置は、各ＤＳＰが共通のクロックに従って動作することによりＤＳＰ間におけるアクセス権の切替時にデータ衝突が発生する従来技術と比較して、ＤＳＰによる共通のバスへのデータ転送の転送効率を向上させることができる。
【００３５】
［調停装置の構成］
次に、図２を用いて、実施例１に係る調停装置の構成を説明する。図２は、実施例１に係る調停装置の構成例を示す図である。
【００３６】
例えば、図２に示すように、調停装置１００は、８ｂｉｔレジスタ１１１と、スレーブ情報テーブル１１２と、状態監視部１２１と、Ｓ／Ｐ変換（Serial／Parallel  Conversion）部１２２と、スレーブ情報処理部１２３と、８ｂｉｔ足し算回路１２４と、ＰＬＬ位相シフター１２５とを有する。そして、調停装置１００は、複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、共通のバスへのアクセス権を該当する演算処理装置に付与する。また、調停装置は、発振器によって送出される基準となる基準クロックを受信する。
【００３７】
８ｂｉｔレジスタ１１１は、例えば、図３Ａに示すように、演算処理装置としてのＤＳＰ１〜ＤＳＰｎ（ｎは、自然数）間における共通のバスへのアクセス権の切替時に要する切替時間（Ｈｏｌｄ時間）を保持する。例えば、８ｂｉｔレジスタ１１１は、ＤＳＰ１〜ＤＳＰｎの切替時間（Ｈｏｌｄ時間）を、１ｔａｐ＝１００ｐｓ（pico  second）の粒度で割った分解値を８ｂｉｔ（２進数）で保持する。
【００３８】
詳細には、８ｂｉｔレジスタ１１１は、ＤＳＰ１のＨｏｌｄ時間＝１．０ｎｓから、１０００ｐｓ÷１００ｐｓ／ｔａｐ＝１０ｔａｐ（１０進数）が求められ、求められた１０ｔａｐを２進数に変換された「００００１０１０」を保持する。このｔａｐとは、位相シフトが可能な最小単位である。なお、８ｂｉｔレジスタ１１１に保持される値は、ＣＰＵ（Central  Processing  Unit）制御でソフト設定される。ＣＰＵ制御では、例えば、「デバイスの遅延時間」＋「基板の実装情報（パターン長や基板素材から求められる遅延時間）」により決定される。
【００３９】
８ｂｉｔレジスタ１１１に保持される情報の例としては、ＤＳＰ１における切替時間「Ｈｏｌｄ＝１．０ｎｓ」に対する８ｂｉｔパラメタ「００００１０１０」となる。なお、図３Ａは、８ｂｉｔレジスタ１１１に保持される情報の例を示す図である。
【００４０】
また、８ｂｉｔレジスタ１１１に保持される切替時間（Ｈｏｌｄ時間）には、机上計算で求められる配線遅延を含む。この配線遅延は、例えば、プリント基板材質がプリント基板の基材の規格であるＦＲ４の場合に、「１ｍｍ＝７ｐｓ」として求められる。また、演算処理装置間での切替においては、遅延の最大値である２５６ｔａｐで動作することは少ないため、代表的な値としてのｔｙｐ値を設定すれば良い。
【００４１】
スレーブ情報テーブル１１２は、例えば、図３Ｂに示すように、調停装置１００のスレーブ側である温度センサなどからの通知によって得られるＴｊ（ジャンクション温度）と、切替時間（Ｈｏｌｄ時間）とを対応付けて保持する。詳細には、スレーブ情報テーブル１１２は、各温度について２進数（８ｂｉｔ）に変換された値を保持する。なお、スレーブ側とは、調停装置１００や当該調停装置１００を含むシステムなどとは別に動作する外部装置のことである。
【００４２】
スレーブ情報テーブル１１２に保持される情報の例としては、Ｔｊ（ジャンクション温度）＝６１℃〜６５℃と、６５℃のＨｏｌｄ「０００００００１」となる。なお、図３Ｂは、スレーブ情報テーブル１１２に保持される情報の例を示す図である。
【００４３】
状態監視部１２１は、例えば、ＤＳＰ１〜ＤＳＰｎそれぞれの外的環境である温度情報を取得して、Ｓ／Ｐ変換部１２２に通知する。詳細には、状態監視部１２１は、スレーブ側である温度センサによるＡＬＥＲＴと、Ｉ２Ｃ（Inter‐Integrated  Circuit）バス経由でスレーブ側からの温度情報とを取得する。状態監視部１２１によって取得される温度情報は、８ｂｉｔのシリアルデータである。
【００４４】
このとき、状態監視部１２１は、ＤＳＰ１〜ＤＳＰｎそれぞれの温度情報を常時取得せずに、温度センサによってＡＬＥＲＴ検出された場合に取得することで、ＤＳＰ１〜ＤＳＰｎによる処理に影響のない状態であるにもかかわらず温度情報を取得することを防止する。
【００４５】
また、ＡＬＥＲＴとは、温度センサに予め設定された閾値であり、例えば、本実施例では、６０℃に設定されていることとする。従って、温度センサは、予め設定された閾値である６０℃を超えると、状態監視部１２１に対してＡＬＥＲＴ信号を送信し、６０℃より下がると、ＡＬＥＲＴ信号をネゲートする。
【００４６】
Ｓ／Ｐ変換部１２２は、例えば、状態監視部１２１によって通知された８ｂｉｔのシリアルデータを、８ｂｉｔのパラレルデータに変換してスレーブ情報処理部１２３に通知する。
【００４７】
スレーブ情報処理部１２３は、例えば、Ｓ／Ｐ変換部１２２によって通知されたスレーブ情報としての温度情報をスレーブ情報テーブル１１２に格納する。また、スレーブ情報処理部１２３は、例えば、スレーブ情報テーブル１１２に格納された８ｂｉｔの温度情報を８ｂｉｔ足し算回路１２４に通知する。スレーブ情報処理部１２３によって８ｂｉｔ足し算回路１２３に通知される情報の例としては、ＤＳＰ１の動作時に温度センサによって６２℃がセンシングされた場合に、６５℃のＨｏｌｄ＝１ｔａｐ、すなわち「００００００１」となる。
【００４８】
８ｂｉｔ足し算回路１２４は、例えば、８ｂｉｔレジスタ１１１に保持されるＤＳＰ１のＨｏｌｄ時間の２進数である「００００１０１０」と、スレーブ情報処理部１２３によって通知されたＤＳＰ１の６５℃のＨｏｌｄ「０００００００１」とを取得する。そして、８ｂｉｔ足し算回路１２４は、これらの値「００００１０１０」および「０００００００１」を足し合わせて、ＤＳＰ１の位相シフト値「００００１０１１」を求めて、ＰＬＬ位相シフター１２５に通知する。すなわち、ＤＳＰ１に対する設定値としては、１０ｔａｐ＋１ｔａｐ＝１１ｔａｐとなる。
【００４９】
ＰＬＬ位相シフター１２５は、例えば、発振器によって送出された基準クロックと、８ｂｉｔ足し算回路１２４によって求められたＤＳＰ１の位相シフト値「００００１０１１」とに基づいて、ＤＳＰ１に対するクロックを生成して、ＤＳＰ１に対して出力する。
【００５０】
ここで、図４を用いて、ＰＬＬ位相シフター１２５の詳細な回路図を説明する。図４は、実施例１に係るＰＬＬ位相シフター１２５の詳細な回路図の例を示す図である。
【００５１】
例えば、図４に示すように、ＰＬＬ位相シフター１２５は、８ｂｉｔに対応する２５６個分のＤｅｌａｙ素子と、利用するＤｅｌａｙ素子を選択するＳｅｌｅｃｔｏｒとを有する。このうち、各Ｄｅｌａｙ素子は、例えば、１ｔａｐ（１００ｐｓ）だけ信号を遅延させる役割を担う。
【００５２】
具体的に例を挙げると、ＰＬＬ位相シフター１２５は、ＤＳＰ１の位相シフト値が「００００１０１１」であることにより、Ｓｅｌｅｃｔｏｒが１１番目のＤｅｌａｙ素子を選択する。そして、ＰＬＬ位相シフター１２５は、基準クロックから１１ｔａｐ（１．１ｎｓｅｃ）分遅延させたクロックをＤＳＰ１に対して出力する。
【００５３】
要するに、調停装置１００は、予め保持される切替時間としての固定パラメタと、外部環境により変動する温度情報としての可変パラメタとに基づき、ＤＳＰに対するバス権獲得許可応答信号を返送すべき基準クロックを何ｔａｐシフトするかの値を８ｂｉｔ単位で処理する。なお、上記ではＤＳＰ１に対するクロックを出力する例を説明したが、調停装置１００は、ＤＳＰ１とは異なるＤＳＰ２やＤＳＰ３などについても同様の処理を実施して、ＤＳＰそれぞれに対してクロックを出力する。
【００５４】
［動作タイミング］
次に、図５を用いて、ＤＳＰによる共通のバスへのアクセス動作タイミングを説明する。図５は、実施例１に係るＤＳＰによる共通のバスへのアクセス動作タイミングの例を説明する図である。なお、図５では、ＤＳＰ１〜ＤＳＰ３による共通のバスへのアクセス動作タイミングについて説明する。
【００５５】
例えば、図５に示すように、ＤＳＰ１〜ＤＳＰ３は、それぞれ異なるクロックＣＬＫ１‐ａ、ＣＬＫ１‐ｂおよびＣＬＫ１‐ｃによって動作する。これらのクロックは、上述したように、各ＤＳＰ間における切替時に要する最低限の時間や各ＤＳＰの外部環境に起因する温度情報などに基づき、基準クロックからシフトされたクロックである。
【００５６】
そして、ＤＳＰ１〜ＤＳＰ３によるバス権獲得要求信号（Ｒｅｑ‐ａ〜Ｒｅｑ‐ｃ）が送出された場合には、ＤＳＰ１〜ＤＳＰ３に対応する各クロックと同期したバス権獲得許可応答信号（Ｇｎｔ‐ａ〜Ｇｎｔ‐ｃ）返送のタイミングでＤＳＰ１から順にバスへアクセスする。図５では、ＤＳＰ１によるバスのアクセス時に転送するデータＤ１、Ｄ２およびＤ３の転送終了後に、ＤＳＰ２によってデータＤ１、Ｄ２およびＤ３が転送され、ＤＳＰ２によるデータ転送終了後に、ＤＳＰ３によってデータＤ１、Ｄ２およびＤ３が転送される例を示している。
【００５７】
次に、図６を用いて、ＤＳＰ間における切替時の動作タイミングの詳細を説明する。図６は、実施例１に係るＤＳＰ間における切替時の動作タイミングの詳細な例を説明する図である。詳細には、図６は、図５に示したＤＳＰ１とＤＳＰ２との切替時、すなわち図５において四角で囲った部分の拡大図である。
【００５８】
例えば、図６に示すように、ＤＳＰ１とＤＳＰ２との切替時には、出力遅延などである「遅延時間」と、Ｄｅｌａｙ素子がデータを確定するために要する「Ｈｏｌｄ時間」との直後に、切替先であるＤＳＰ２のクロックのシフトが行なわれる。この結果、図６に示すように、ＤＳＰ１とＤＳＰ２との切替で１クロック分の空きを要する従来のＤＳＰ２の転送データの時点から「ロス時間」分を削減することができる。
【００５９】
また、「遅延時間」と「Ｈｏｌｄ時間」との合計時間については、８ｂｉｔレジスタ１１１の設定によって変更が可能である。このため、上記のＤＳＰなどのデバイスやデバイスの動作速度が変更された場合であっても、柔軟に対応することが可能である。
【００６０】
要するに、デバイス間におけるバスへのアクセス権の切替時のデータ間隔は、「Ｈｏｌｄ時間」のみとなるため、切替時の遅延量を最小限に抑えることができる。また、データ転送速度は、３クロックの転送時に、１クロックの空きを要する従来技術と比較して２５パーセントほどの向上が見込めることとなる。
【００６１】
［実施例１に係る調停処理］
次に、図７を用いて、実施例１に係る調停処理の流れを説明する。図７は、実施例１に係る調停処理の流れの例を説明するフローチャートである。
【００６２】
例えば、図７に示すように、調停装置１００は、スレーブ側である温度センサによるアラームを受信した場合に（ステップＳ１０１肯定）、Ｉ２Ｃバス経由でスレーブ側からの温度情報を取得する（ステップＳ１０２）。なお、調停装置１００は、温度センサによるアラームを受信していない場合に（ステップＳ１０１否定）、当該アラームの受信待ちの状態となる。
【００６３】
そして、調停装置１００は、取得された温度情報をシリアル／パラレル変換する（ステップＳ１０３）。続いて、調停装置１００は、シリアル／パラレル変換された温度情報をスレーブ情報テーブル１１２に格納する（ステップＳ１０４）。
【００６４】
その後、調停装置１００は、スレーブ情報テーブル１１２に格納された８ｂｉｔの温度情報と、予め保持されるデバイスの８ｂｉｔＨｏｌｄ時間とを足し合わせて、シフトする設定値を出力する（ステップＳ１０５）。なお、調停装置１００は、求められたシフト情報に基づいてＰＬＬ位相シフターによりクロックを生成し、該当するデバイスに対して出力する。
【００６５】
［実施例１による効果］
上述したように、調停装置１００は、複数のデバイス間において最低限要するバス転送の切替時間を保持し、当該切替時間と、複数のデバイスでの外的環境による温度情報とに基づいて、基準クロックからシフトさせる値を求める。そして、調停装置１００は、求められたシフト値に基づいて、基準クロックからずらしつつ各デバイスに送出するクロックを決定して出力する。これらの結果、調停装置１００は、複数のデバイスが共通のバスへアクセスしてデータ転送を行なう場合に、共通のバスへのデータ転送の転送効率を向上させることができる。
【実施例２】
【００６６】
さて、これまで本願に開示する調停装置およびバスアクセス調停方法の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、（１）固定パラメタのみを利用、（２）調停装置の構成、（３）プログラム、において異なる実施例を説明する。
【００６７】
（１）固定パラメタのみを利用
上記実施例１では、予め保持される切替時間としての固定パラメタと、外的環境によって変動する温度情報としての変動パラメタとに基づいて各デバイスに出力するクロックを決定する場合を説明したが、固定パラメタのみを利用してクロックを決定することもできる。
【００６８】
例えば、調停装置は、複数のＤＳＰ間における共通のバスへのアクセス権の切替時に要する切替時間を保持し、切替時間に基づいて複数のＤＳＰそれぞれの位相シフト値を求める。そして、調停装置は、発振器によって送出された基準クロックと、求められた位相シフト値とを用いて、複数のＤＳＰごとに異なるクロックを生成して出力する。なお、調停装置は、温度センサによるＡＬＥＲＴが通知されない場合には、切替時間としての固定パラメタのみを用いてクロックを決定することとなる。
【００６９】
（２）調停装置の構成
また、上記文書中や図面中などで示した処理手順、制御手順、具体的名称、各種のデータやパラメタなどを含む情報（例えば、８ｂｉｔレジスタ１１１またはスレーブ情報テーブル１１２に保持される情報など）については、特記する場合を除いて任意に変更することができる。
【００７０】
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部または一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７１】
（３）プログラム
ところで、上記実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、予め用意されたプログラムをコンピュータで実行することによって実現するようにしても良い。そこで、以下では、図８を用いて、上記実施例に示した調停装置１００と同様の機能を有するバスアクセス調停プログラムを実行するコンピュータの一例を説明する。図８は、バスアクセス調停プログラムを実行するコンピュータの例を示す図である。
【００７２】
図８に示すように、調停装置１００としてのコンピュータ１１は、バス１８で接続されるＨＤＤ１３、ＣＰＵ１４、ＲＯＭ１５およびＲＡＭ１６などを有する。
【００７３】
ＲＯＭ１５には、上記実施例に示した調停装置１００と同様の機能を発揮するバスアクセス調停プログラム、つまり、図８に示すように、位相シフト値導出プログラム１５ａと、同期信号出力プログラム１５ｂとが、予め記憶されている。なお、これらのプログラム１５ａ〜プログラム１５ｂについては、図２に示した調停装置１００の各構成要素と同様、適宜統合または分散しても良い。
【００７４】
そして、ＣＰＵ１４がこれらのプログラム１５ａ〜プログラム１５ｂをＲＯＭ１５から読み出して実行することで、図８に示すように、プログラム１５ａ〜プログラム１５ｂは、位相シフト値導出プロセス１４ａと、同期信号出力プロセス１４ｂとして機能するようになる。なお、プロセス１４ａ〜プロセス１４ｂは、図２に示した、８ｂｉｔ足し算回路１２４と、ＰＬＬ位相シフター１２５とに対応する。
【００７５】
そして、ＣＰＵ１４はＲＡＭ１６に記録されたデータ（例えば、バスへのアクセス権の切替時に要する切替時間や演算処理装置の温度情報など）に基づいてバスアクセス調停プログラムを実行する。
【００７６】
なお、上記各プログラム１５ａ〜プログラム１５ｂについては、必ずしも最初からＲＯＭ１５に記憶させておく必要はなく、例えば、コンピュータ１１に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１１の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１１がこれから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００７７】
１００  調停装置
１１１  ８ｂｉｔレジスタ
１１２  スレーブ情報テーブル
１２１  状態監視部
１２２  Ｓ／Ｐ変換部
１２３  スレーブ情報処理部
１２４  ８ｂｉｔ足し算回路
１２５  ＰＬＬ位相シフター
【図１】
2011028448.tif 000003
【図２】
2011028448.tif 000004
【図３Ａ】
2011028448.tif 000005
【図３Ｂ】
2011028448.tif 000006
【図４】
2011028448.tif 000007
【図５】
2011028448.tif 000008
【図６】
2011028448.tif 000009
【図７】
2011028448.tif 000010
【図８】
2011028448.tif 000011
【図９】
2011028448.tif 000012
【図１０】
2011028448.tif 000013
【図１１】
2011028448.tif 000014
【図１２】
2011028448.tif 000015