調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法
【課題】共通のバスへのデータ転送の転送効率を向上させることを課題とする。
【解決手段】調停装置は、複数のDSP間における共通のバスへのアクセス権の切替時に要する切替時間を保持し、切替時間と、DSPの温度が所定閾値以上である場合に受信する複数のDSPの温度情報とに基づいて、複数のDSPそれぞれの位相シフト値を求める。そして、調停装置は、発振器によって送出された基準クロックと、求められた位相シフト値とを用いて、複数のDSPごとに異なるクロックを生成して出力する。
【解決手段】調停装置は、複数のDSP間における共通のバスへのアクセス権の切替時に要する切替時間を保持し、切替時間と、DSPの温度が所定閾値以上である場合に受信する複数のDSPの温度情報とに基づいて、複数のDSPそれぞれの位相シフト値を求める。そして、調停装置は、発振器によって送出された基準クロックと、求められた位相シフト値とを用いて、複数のDSPごとに異なるクロックを生成して出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータなどのバスアクセス調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法に関する。
【背景技術】
【0002】
従来、共通のバスに接続される装置によって当該共通のバスへのアクセスが行われる場合には、複数の装置が同時に動作することを防止して、データの衝突を回避するためにバスアクセス調停装置(以降、「調停装置」と呼ぶ)が利用される。なお、共通のバスに接続される装置としては、例えば、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)などの演算処理装置がある。
【0003】
ここで、図9を用いて、調停装置を含むシステムの構成の一例について説明する。図9は、従来技術に係る調停装置を含むシステムの構成例を示す図である。なお、図9では、共通のバスに接続される装置の例としてDSPを挙げて説明する。また、図9では、DSP1〜DSP12の12個のDSPが共通のバスへアクセスする場合を説明する。
【0004】
例えば、図9に示すように、調停装置を含むシステムは、調停装置と、発振器と、DSP1〜DSP12と、メモリコントローラと、記憶装置とを有する。このうち、記憶装置は、例えば、データの読み書きや消去などが可能であるフラッシュメモリ(Flash Memory)である。
【0005】
また、発振器は、例えば、メモリコントローラおよびDSP1〜DSP12それぞれを動作させるためのクロック(CLK1)を出力する。また、DSP1〜DSP12は、例えば、共通のバスへアクセスするために、バス権獲得要求信号(Req‐1〜Req‐c)を調停装置に対して送出する。そして、調停装置は、例えば、複数のDSPからバス権獲得要求信号が同時に入力された場合に、ラウンドロビン・スケジューリングなどによって順番にバス権獲得許可応答信号(Gnt‐1〜Gnt‐c)を該当するDSPに送出する。
【0006】
一方、バス権獲得許可応答信号を受信したDSP1〜DSP12は、共通のバスへアクセスしてメモリコントローラにデータを転送する。そして、メモリコントローラは、DSP1〜DSP12によって転送されたデータを記憶装置に格納する。
【0007】
また、最近では、複数のバスマスタによって共有メモリにアクセスされる際に、メモリコントローラ内部のバッファにライトデータを保持させつつアービトレーションを制御することで、バスアクセスの待ち時間を短縮する技術がある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2005−316546号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来技術では、共通のバスへのデータ転送に要する時間が増大するという課題がある。
【0010】
ここで、図10を用いて、DSPによる共通のバスへのアクセス動作タイミングを説明する。図10は、従来技術に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。なお、図10では、DSP1〜DSP3による共通のバスへのアクセス動作タイミングについて説明する。
【0011】
例えば、図10に示すように、DSP1〜DSP3は、発振器によるクロック(CLK1)に基づき、バス権獲得要求信号(Req‐a〜Req‐c)を調停装置に対して送出する。そして、調停装置は、ラウンドロビン・スケジューリングなどによってDSP1、DSP2、DSP3の順番でバス獲得許可応答信号(Gnt‐a〜Gnt‐c)を該当するDSPに送出する。
【0012】
続いて、バス権獲得許可応答信号を最初に受信したDSP1は、共通のバスへアクセスするとともに、DSP1のデータであるD1、D2およびD3をメモリコントローラに転送する。その後、DSP2は、バス権獲得許可応答信号を受信して、共通のバスへアクセスするとともに、DSP2のデータであるD1、D2およびD3をメモリコントローラに転送する。同様に、DSP3は、バス権獲得許可応答信号を受信して、共通のバスへアクセスするとともに、DSP3のデータであるD1、D2およびD3をメモリコントローラに転送する。
【0013】
ところが、DSP1〜DSP3は、クロックに同期して共通のバスへアクセスし、メモリコントローラにデータを転送するものの、共通のバスへのアクセスの切替時には、信号をドライブする素子の出力遅延と、基板上の配線遅延とが発生する。加えて、連続して切替を行なう場合には、信号衝突、すなわち共通のバスに同じタイミングでデータを転送することによる素子破壊が発生し得るため、1クロック分の間隔を設けることが望ましい。
【0014】
次に、図11を用いて、出力遅延および配線遅延を含む遅延時間と、信号衝突を防止するために設ける1クロックの間隔(ロス時間)について説明する。図11は、従来技術に係る遅延時間とロス時間との例を説明する図である。詳細には、図11は、図10に示したDSP1とDSP2との切替時、すなわち図10において四角で囲った部分の拡大図である。
【0015】
例えば、図11に示すように、DSP1とDSP2との切替時には、出力遅延および配線遅延などを含む「遅延時間」が発生する。また、この遅延時間が発生するために、連続して切替を行なう場合には、信号衝突が発生し得るため1クロック分の間隔、すなわち図11に示す「ロス時間」を設けることとなる。
【0016】
要するに、図10および図11では、D1〜D3のデータ転送に要する3クロックごとに、1クロックのロス時間が付与されることとなるため、上記の遅延時間とともに、4クロックのうち25パーセントほどのロス時間が発生することとなる。
【0017】
ところで、バスでの信号衝突を回避するために、配線で遅延させることが考えられる。そこで、図12を用いて、配線遅延で調整する場合を説明する。図12は、従来技術に係るバスでの信号衝突を回避するために配線遅延で調整する例を説明する図である。なお、図12では、DSP1からDSP2に切り替える場合を説明する。また、DSP1とDSP2とのデータ線は、物理的に同一の配線であるが、図12では、説明の便宜上、DSP1とDSP2とのデータ線を分けて説明する。
【0018】
例えば、図12に示すように、DSP1のデータ線バッファがゲートを閉じてからデータ転送終了までに、1.5ns(nano‐second)〜6.5nsの時間を要する(図12のA参照)。一方、DSP2のデータ線バッファがゲートを空けてからデータ転送を開始するまでに1.5ns〜7.6nsの時間を要する(図12のB参照)。そして、AとBとにおいては、重なる時間が発生し、この重なる時間がバスでの信号衝突の時間となる。
【0019】
また、図12の下側に示すように、例えば、DSP2のゲート信号を配線で遅延させる場合には、DSP1のデータ転送終了時と、DSP2のデータ転送開始時とにおける信号衝突を回避することができる。しかしながら、DSP2のデータ転送終了時には、信号衝突が発生してしまう。
【0020】
要するに、DSPなどの装置は、共通のクロックで動作することにより、バスの切替に要する1クロック内にデータ衝突が発生し得る。このため、データ衝突を防止するためには、次のクロックイベントまで時間を空けることとなる。この結果、上述した従来技術では、共通のバスへのデータ転送に要する時間が増大する。
【0021】
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、共通のバスへのデータ転送の転送効率を向上させることが可能である調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法を提供することを目的とする。
【課題を解決するための手段】
【0022】
上述した課題を解決し、目的を達成するため、本願に開示する調停装置は、複数の演算処理装置間におけるアクセス権の切替時に要する切替時間を保持する切替時間保持部を有する。また、調停装置は、切替時間に基づいて、複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出部を有する。また、調停装置は、発振器によって送出された基準同期信号と、位相シフト値とを用いて、複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力部を有する。
【発明の効果】
【0023】
本願に開示する調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法の一つの様態によれば、共通のバスへのデータ転送の転送効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0024】
【図1】図1は、実施例1に係る調停装置を含むシステムの構成例を示す図である。
【図2】図2は、実施例1に係る調停装置の構成例を示す図である。
【図3A】図3Aは、8bitレジスタに保持される情報の例を示す図である。
【図3B】図3Bは、スレーブ情報テーブルに保持される情報の例を示す図である。
【図4】図4は、実施例1に係るPLL位相シフターの詳細な回路図の例を示す図である。
【図5】図5は、実施例1に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。
【図6】図6は、実施例1に係るDSP間における切替時の動作タイミングの詳細な例を説明する図である。
【図7】図7は、実施例1に係る調停処理の流れの例を説明するフローチャートである。
【図8】図8は、バスアクセス調停プログラムを実行するコンピュータの例を示す図である。
【図9】図9は、従来技術に係る調停装置を含むシステムの構成例を示す図である。
【図10】図10は、従来技術に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。
【図11】図11は、従来技術に係る遅延時間とロス時間との例を説明する図である。
【図12】図12は、従来技術に係るバスでの信号衝突を回避するために配線遅延で調整する例を説明する図である。
【発明を実施するための形態】
【0025】
以下に添付図面を参照して、本願に開示する調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例1】
【0026】
[システム構成]
最初に、図1を用いて、実施例1に係る調停装置を含むシステムの構成について説明する。図1は、実施例1に係る調停装置を含むシステムの構成例を示す図である。なお、図1では、共通のバスに接続される装置の例としてDSPを挙げ、DSP1〜DSP12の12個のDSPが共通のバスへアクセスする場合を説明する。
【0027】
例えば、図1に示すように、調停装置を含むシステムは、調停装置と、発振器と、DSP1〜DSP12と、メモリコントローラと、記憶装置とを有する。このうち、記憶装置は、例えば、データの読み書きや消去などが可能であるフラッシュメモリである。
【0028】
また、発振器は、例えば、メモリコントローラおよびDSP1〜DSP12それぞれを動作させるためのクロックの基準となる基準クロックを調停装置に送出する。また、DSP1〜DSP12は、例えば、共通のバスへアクセスするために、バス権獲得要求信号(Req‐1〜Req‐c)を調停装置に対して送出する。
【0029】
そして、調停装置は、例えば、複数のDSPからバス権獲得要求信号が同時に入力された場合に、各DSPに送出するクロック(CLK1〜CLK12)に同期してバス権獲得許可応答信号(Gnt‐1〜Gnt‐c)を該当するDSPに送出する。
【0030】
調停装置から各DSPに送出されるクロックは、発振器から送出された基準クロックと同一の位相、または当該基準クロックから所定時間ずつシフトされた位相で送出される。具体的に説明すると、調停装置は、DSP1〜DSP12間における共通のバスへのアクセス権の切替時に要する切替時間を位相値レジスタに保持している。
【0031】
この切替時間は、例えば、DSP1とDSP2とのアクセス権の切替時に、DSP1のゲートを閉じてからDSP2のゲートを開けるまでに最低限要するデータ確定時間である。そして、調停装置は、切替時間に基づいて、DSP1〜DSP12それぞれの位相シフト値を求める。
【0032】
続いて、調停装置は、発振器から送出された基準クロックと、求められた位相シフト値とを用いて、DSP1〜DSP12それぞれで異なるクロック(CLK1〜CLK12)を生成して該当するDSPに出力する。なお、位相シフト値の導出と各DSPで異なるクロックの生成およびクロックの出力とは、位相シフターによって実行される。
【0033】
一方、バス獲得応答信号を受信したDSP1〜DSP12は、共通のバスへアクセスしてメモリコントローラにデータを転送する。そして、メモリコントローラは、DSP1〜DSP12によって転送されたデータを記憶装置に格納する。
【0034】
つまり、調停装置は、DSP間におけるアクセス権の切替時に要する最低限の切替時間を保持し、切替時間に基づいて求められたDSPそれぞれの位相シフト値と、発振器によって送出された基準クロックとを用いて、DSPでそれぞれ異なるクロックを生成する。そして、調停装置は、生成されたクロックを該当するDSPに出力する。これらの結果、調停装置は、各DSPが共通のクロックに従って動作することによりDSP間におけるアクセス権の切替時にデータ衝突が発生する従来技術と比較して、DSPによる共通のバスへのデータ転送の転送効率を向上させることができる。
【0035】
[調停装置の構成]
次に、図2を用いて、実施例1に係る調停装置の構成を説明する。図2は、実施例1に係る調停装置の構成例を示す図である。
【0036】
例えば、図2に示すように、調停装置100は、8bitレジスタ111と、スレーブ情報テーブル112と、状態監視部121と、S/P変換(Serial/Parallel Conversion)部122と、スレーブ情報処理部123と、8bit足し算回路124と、PLL位相シフター125とを有する。そして、調停装置100は、複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、共通のバスへのアクセス権を該当する演算処理装置に付与する。また、調停装置は、発振器によって送出される基準となる基準クロックを受信する。
【0037】
8bitレジスタ111は、例えば、図3Aに示すように、演算処理装置としてのDSP1〜DSPn(nは、自然数)間における共通のバスへのアクセス権の切替時に要する切替時間(Hold時間)を保持する。例えば、8bitレジスタ111は、DSP1〜DSPnの切替時間(Hold時間)を、1tap=100ps(pico second)の粒度で割った分解値を8bit(2進数)で保持する。
【0038】
詳細には、8bitレジスタ111は、DSP1のHold時間=1.0nsから、1000ps÷100ps/tap=10tap(10進数)が求められ、求められた10tapを2進数に変換された「00001010」を保持する。このtapとは、位相シフトが可能な最小単位である。なお、8bitレジスタ111に保持される値は、CPU(Central Processing Unit)制御でソフト設定される。CPU制御では、例えば、「デバイスの遅延時間」+「基板の実装情報(パターン長や基板素材から求められる遅延時間)」により決定される。
【0039】
8bitレジスタ111に保持される情報の例としては、DSP1における切替時間「Hold=1.0ns」に対する8bitパラメタ「00001010」となる。なお、図3Aは、8bitレジスタ111に保持される情報の例を示す図である。
【0040】
また、8bitレジスタ111に保持される切替時間(Hold時間)には、机上計算で求められる配線遅延を含む。この配線遅延は、例えば、プリント基板材質がプリント基板の基材の規格であるFR4の場合に、「1mm=7ps」として求められる。また、演算処理装置間での切替においては、遅延の最大値である256tapで動作することは少ないため、代表的な値としてのtyp値を設定すれば良い。
【0041】
スレーブ情報テーブル112は、例えば、図3Bに示すように、調停装置100のスレーブ側である温度センサなどからの通知によって得られるTj(ジャンクション温度)と、切替時間(Hold時間)とを対応付けて保持する。詳細には、スレーブ情報テーブル112は、各温度について2進数(8bit)に変換された値を保持する。なお、スレーブ側とは、調停装置100や当該調停装置100を含むシステムなどとは別に動作する外部装置のことである。
【0042】
スレーブ情報テーブル112に保持される情報の例としては、Tj(ジャンクション温度)=61℃〜65℃と、65℃のHold「00000001」となる。なお、図3Bは、スレーブ情報テーブル112に保持される情報の例を示す図である。
【0043】
状態監視部121は、例えば、DSP1〜DSPnそれぞれの外的環境である温度情報を取得して、S/P変換部122に通知する。詳細には、状態監視部121は、スレーブ側である温度センサによるALERTと、I2C(Inter‐Integrated Circuit)バス経由でスレーブ側からの温度情報とを取得する。状態監視部121によって取得される温度情報は、8bitのシリアルデータである。
【0044】
このとき、状態監視部121は、DSP1〜DSPnそれぞれの温度情報を常時取得せずに、温度センサによってALERT検出された場合に取得することで、DSP1〜DSPnによる処理に影響のない状態であるにもかかわらず温度情報を取得することを防止する。
【0045】
また、ALERTとは、温度センサに予め設定された閾値であり、例えば、本実施例では、60℃に設定されていることとする。従って、温度センサは、予め設定された閾値である60℃を超えると、状態監視部121に対してALERT信号を送信し、60℃より下がると、ALERT信号をネゲートする。
【0046】
S/P変換部122は、例えば、状態監視部121によって通知された8bitのシリアルデータを、8bitのパラレルデータに変換してスレーブ情報処理部123に通知する。
【0047】
スレーブ情報処理部123は、例えば、S/P変換部122によって通知されたスレーブ情報としての温度情報をスレーブ情報テーブル112に格納する。また、スレーブ情報処理部123は、例えば、スレーブ情報テーブル112に格納された8bitの温度情報を8bit足し算回路124に通知する。スレーブ情報処理部123によって8bit足し算回路123に通知される情報の例としては、DSP1の動作時に温度センサによって62℃がセンシングされた場合に、65℃のHold=1tap、すなわち「0000001」となる。
【0048】
8bit足し算回路124は、例えば、8bitレジスタ111に保持されるDSP1のHold時間の2進数である「00001010」と、スレーブ情報処理部123によって通知されたDSP1の65℃のHold「00000001」とを取得する。そして、8bit足し算回路124は、これらの値「00001010」および「00000001」を足し合わせて、DSP1の位相シフト値「00001011」を求めて、PLL位相シフター125に通知する。すなわち、DSP1に対する設定値としては、10tap+1tap=11tapとなる。
【0049】
PLL位相シフター125は、例えば、発振器によって送出された基準クロックと、8bit足し算回路124によって求められたDSP1の位相シフト値「00001011」とに基づいて、DSP1に対するクロックを生成して、DSP1に対して出力する。
【0050】
ここで、図4を用いて、PLL位相シフター125の詳細な回路図を説明する。図4は、実施例1に係るPLL位相シフター125の詳細な回路図の例を示す図である。
【0051】
例えば、図4に示すように、PLL位相シフター125は、8bitに対応する256個分のDelay素子と、利用するDelay素子を選択するSelectorとを有する。このうち、各Delay素子は、例えば、1tap(100ps)だけ信号を遅延させる役割を担う。
【0052】
具体的に例を挙げると、PLL位相シフター125は、DSP1の位相シフト値が「00001011」であることにより、Selectorが11番目のDelay素子を選択する。そして、PLL位相シフター125は、基準クロックから11tap(1.1nsec)分遅延させたクロックをDSP1に対して出力する。
【0053】
要するに、調停装置100は、予め保持される切替時間としての固定パラメタと、外部環境により変動する温度情報としての可変パラメタとに基づき、DSPに対するバス権獲得許可応答信号を返送すべき基準クロックを何tapシフトするかの値を8bit単位で処理する。なお、上記ではDSP1に対するクロックを出力する例を説明したが、調停装置100は、DSP1とは異なるDSP2やDSP3などについても同様の処理を実施して、DSPそれぞれに対してクロックを出力する。
【0054】
[動作タイミング]
次に、図5を用いて、DSPによる共通のバスへのアクセス動作タイミングを説明する。図5は、実施例1に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。なお、図5では、DSP1〜DSP3による共通のバスへのアクセス動作タイミングについて説明する。
【0055】
例えば、図5に示すように、DSP1〜DSP3は、それぞれ異なるクロックCLK1‐a、CLK1‐bおよびCLK1‐cによって動作する。これらのクロックは、上述したように、各DSP間における切替時に要する最低限の時間や各DSPの外部環境に起因する温度情報などに基づき、基準クロックからシフトされたクロックである。
【0056】
そして、DSP1〜DSP3によるバス権獲得要求信号(Req‐a〜Req‐c)が送出された場合には、DSP1〜DSP3に対応する各クロックと同期したバス権獲得許可応答信号(Gnt‐a〜Gnt‐c)返送のタイミングでDSP1から順にバスへアクセスする。図5では、DSP1によるバスのアクセス時に転送するデータD1、D2およびD3の転送終了後に、DSP2によってデータD1、D2およびD3が転送され、DSP2によるデータ転送終了後に、DSP3によってデータD1、D2およびD3が転送される例を示している。
【0057】
次に、図6を用いて、DSP間における切替時の動作タイミングの詳細を説明する。図6は、実施例1に係るDSP間における切替時の動作タイミングの詳細な例を説明する図である。詳細には、図6は、図5に示したDSP1とDSP2との切替時、すなわち図5において四角で囲った部分の拡大図である。
【0058】
例えば、図6に示すように、DSP1とDSP2との切替時には、出力遅延などである「遅延時間」と、Delay素子がデータを確定するために要する「Hold時間」との直後に、切替先であるDSP2のクロックのシフトが行なわれる。この結果、図6に示すように、DSP1とDSP2との切替で1クロック分の空きを要する従来のDSP2の転送データの時点から「ロス時間」分を削減することができる。
【0059】
また、「遅延時間」と「Hold時間」との合計時間については、8bitレジスタ111の設定によって変更が可能である。このため、上記のDSPなどのデバイスやデバイスの動作速度が変更された場合であっても、柔軟に対応することが可能である。
【0060】
要するに、デバイス間におけるバスへのアクセス権の切替時のデータ間隔は、「Hold時間」のみとなるため、切替時の遅延量を最小限に抑えることができる。また、データ転送速度は、3クロックの転送時に、1クロックの空きを要する従来技術と比較して25パーセントほどの向上が見込めることとなる。
【0061】
[実施例1に係る調停処理]
次に、図7を用いて、実施例1に係る調停処理の流れを説明する。図7は、実施例1に係る調停処理の流れの例を説明するフローチャートである。
【0062】
例えば、図7に示すように、調停装置100は、スレーブ側である温度センサによるアラームを受信した場合に(ステップS101肯定)、I2Cバス経由でスレーブ側からの温度情報を取得する(ステップS102)。なお、調停装置100は、温度センサによるアラームを受信していない場合に(ステップS101否定)、当該アラームの受信待ちの状態となる。
【0063】
そして、調停装置100は、取得された温度情報をシリアル/パラレル変換する(ステップS103)。続いて、調停装置100は、シリアル/パラレル変換された温度情報をスレーブ情報テーブル112に格納する(ステップS104)。
【0064】
その後、調停装置100は、スレーブ情報テーブル112に格納された8bitの温度情報と、予め保持されるデバイスの8bitHold時間とを足し合わせて、シフトする設定値を出力する(ステップS105)。なお、調停装置100は、求められたシフト情報に基づいてPLL位相シフターによりクロックを生成し、該当するデバイスに対して出力する。
【0065】
[実施例1による効果]
上述したように、調停装置100は、複数のデバイス間において最低限要するバス転送の切替時間を保持し、当該切替時間と、複数のデバイスでの外的環境による温度情報とに基づいて、基準クロックからシフトさせる値を求める。そして、調停装置100は、求められたシフト値に基づいて、基準クロックからずらしつつ各デバイスに送出するクロックを決定して出力する。これらの結果、調停装置100は、複数のデバイスが共通のバスへアクセスしてデータ転送を行なう場合に、共通のバスへのデータ転送の転送効率を向上させることができる。
【実施例2】
【0066】
さて、これまで本願に開示する調停装置およびバスアクセス調停方法の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、(1)固定パラメタのみを利用、(2)調停装置の構成、(3)プログラム、において異なる実施例を説明する。
【0067】
(1)固定パラメタのみを利用
上記実施例1では、予め保持される切替時間としての固定パラメタと、外的環境によって変動する温度情報としての変動パラメタとに基づいて各デバイスに出力するクロックを決定する場合を説明したが、固定パラメタのみを利用してクロックを決定することもできる。
【0068】
例えば、調停装置は、複数のDSP間における共通のバスへのアクセス権の切替時に要する切替時間を保持し、切替時間に基づいて複数のDSPそれぞれの位相シフト値を求める。そして、調停装置は、発振器によって送出された基準クロックと、求められた位相シフト値とを用いて、複数のDSPごとに異なるクロックを生成して出力する。なお、調停装置は、温度センサによるALERTが通知されない場合には、切替時間としての固定パラメタのみを用いてクロックを決定することとなる。
【0069】
(2)調停装置の構成
また、上記文書中や図面中などで示した処理手順、制御手順、具体的名称、各種のデータやパラメタなどを含む情報(例えば、8bitレジスタ111またはスレーブ情報テーブル112に保持される情報など)については、特記する場合を除いて任意に変更することができる。
【0070】
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部または一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
【0071】
(3)プログラム
ところで、上記実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、予め用意されたプログラムをコンピュータで実行することによって実現するようにしても良い。そこで、以下では、図8を用いて、上記実施例に示した調停装置100と同様の機能を有するバスアクセス調停プログラムを実行するコンピュータの一例を説明する。図8は、バスアクセス調停プログラムを実行するコンピュータの例を示す図である。
【0072】
図8に示すように、調停装置100としてのコンピュータ11は、バス18で接続されるHDD13、CPU14、ROM15およびRAM16などを有する。
【0073】
ROM15には、上記実施例に示した調停装置100と同様の機能を発揮するバスアクセス調停プログラム、つまり、図8に示すように、位相シフト値導出プログラム15aと、同期信号出力プログラム15bとが、予め記憶されている。なお、これらのプログラム15a〜プログラム15bについては、図2に示した調停装置100の各構成要素と同様、適宜統合または分散しても良い。
【0074】
そして、CPU14がこれらのプログラム15a〜プログラム15bをROM15から読み出して実行することで、図8に示すように、プログラム15a〜プログラム15bは、位相シフト値導出プロセス14aと、同期信号出力プロセス14bとして機能するようになる。なお、プロセス14a〜プロセス14bは、図2に示した、8bit足し算回路124と、PLL位相シフター125とに対応する。
【0075】
そして、CPU14はRAM16に記録されたデータ(例えば、バスへのアクセス権の切替時に要する切替時間や演算処理装置の温度情報など)に基づいてバスアクセス調停プログラムを実行する。
【0076】
なお、上記各プログラム15a〜プログラム15bについては、必ずしも最初からROM15に記憶させておく必要はなく、例えば、コンピュータ11に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、またはコンピュータ11の内外に備えられるHDDなどの「固定用の物理媒体」、さらには公衆回線、インターネット、LAN、WANなどを介してコンピュータ11に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ11がこれから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0077】
100 調停装置
111 8bitレジスタ
112 スレーブ情報テーブル
121 状態監視部
122 S/P変換部
123 スレーブ情報処理部
124 8bit足し算回路
125 PLL位相シフター
【技術分野】
【0001】
本発明は、コンピュータなどのバスアクセス調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法に関する。
【背景技術】
【0002】
従来、共通のバスに接続される装置によって当該共通のバスへのアクセスが行われる場合には、複数の装置が同時に動作することを防止して、データの衝突を回避するためにバスアクセス調停装置(以降、「調停装置」と呼ぶ)が利用される。なお、共通のバスに接続される装置としては、例えば、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)などの演算処理装置がある。
【0003】
ここで、図9を用いて、調停装置を含むシステムの構成の一例について説明する。図9は、従来技術に係る調停装置を含むシステムの構成例を示す図である。なお、図9では、共通のバスに接続される装置の例としてDSPを挙げて説明する。また、図9では、DSP1〜DSP12の12個のDSPが共通のバスへアクセスする場合を説明する。
【0004】
例えば、図9に示すように、調停装置を含むシステムは、調停装置と、発振器と、DSP1〜DSP12と、メモリコントローラと、記憶装置とを有する。このうち、記憶装置は、例えば、データの読み書きや消去などが可能であるフラッシュメモリ(Flash Memory)である。
【0005】
また、発振器は、例えば、メモリコントローラおよびDSP1〜DSP12それぞれを動作させるためのクロック(CLK1)を出力する。また、DSP1〜DSP12は、例えば、共通のバスへアクセスするために、バス権獲得要求信号(Req‐1〜Req‐c)を調停装置に対して送出する。そして、調停装置は、例えば、複数のDSPからバス権獲得要求信号が同時に入力された場合に、ラウンドロビン・スケジューリングなどによって順番にバス権獲得許可応答信号(Gnt‐1〜Gnt‐c)を該当するDSPに送出する。
【0006】
一方、バス権獲得許可応答信号を受信したDSP1〜DSP12は、共通のバスへアクセスしてメモリコントローラにデータを転送する。そして、メモリコントローラは、DSP1〜DSP12によって転送されたデータを記憶装置に格納する。
【0007】
また、最近では、複数のバスマスタによって共有メモリにアクセスされる際に、メモリコントローラ内部のバッファにライトデータを保持させつつアービトレーションを制御することで、バスアクセスの待ち時間を短縮する技術がある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2005−316546号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来技術では、共通のバスへのデータ転送に要する時間が増大するという課題がある。
【0010】
ここで、図10を用いて、DSPによる共通のバスへのアクセス動作タイミングを説明する。図10は、従来技術に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。なお、図10では、DSP1〜DSP3による共通のバスへのアクセス動作タイミングについて説明する。
【0011】
例えば、図10に示すように、DSP1〜DSP3は、発振器によるクロック(CLK1)に基づき、バス権獲得要求信号(Req‐a〜Req‐c)を調停装置に対して送出する。そして、調停装置は、ラウンドロビン・スケジューリングなどによってDSP1、DSP2、DSP3の順番でバス獲得許可応答信号(Gnt‐a〜Gnt‐c)を該当するDSPに送出する。
【0012】
続いて、バス権獲得許可応答信号を最初に受信したDSP1は、共通のバスへアクセスするとともに、DSP1のデータであるD1、D2およびD3をメモリコントローラに転送する。その後、DSP2は、バス権獲得許可応答信号を受信して、共通のバスへアクセスするとともに、DSP2のデータであるD1、D2およびD3をメモリコントローラに転送する。同様に、DSP3は、バス権獲得許可応答信号を受信して、共通のバスへアクセスするとともに、DSP3のデータであるD1、D2およびD3をメモリコントローラに転送する。
【0013】
ところが、DSP1〜DSP3は、クロックに同期して共通のバスへアクセスし、メモリコントローラにデータを転送するものの、共通のバスへのアクセスの切替時には、信号をドライブする素子の出力遅延と、基板上の配線遅延とが発生する。加えて、連続して切替を行なう場合には、信号衝突、すなわち共通のバスに同じタイミングでデータを転送することによる素子破壊が発生し得るため、1クロック分の間隔を設けることが望ましい。
【0014】
次に、図11を用いて、出力遅延および配線遅延を含む遅延時間と、信号衝突を防止するために設ける1クロックの間隔(ロス時間)について説明する。図11は、従来技術に係る遅延時間とロス時間との例を説明する図である。詳細には、図11は、図10に示したDSP1とDSP2との切替時、すなわち図10において四角で囲った部分の拡大図である。
【0015】
例えば、図11に示すように、DSP1とDSP2との切替時には、出力遅延および配線遅延などを含む「遅延時間」が発生する。また、この遅延時間が発生するために、連続して切替を行なう場合には、信号衝突が発生し得るため1クロック分の間隔、すなわち図11に示す「ロス時間」を設けることとなる。
【0016】
要するに、図10および図11では、D1〜D3のデータ転送に要する3クロックごとに、1クロックのロス時間が付与されることとなるため、上記の遅延時間とともに、4クロックのうち25パーセントほどのロス時間が発生することとなる。
【0017】
ところで、バスでの信号衝突を回避するために、配線で遅延させることが考えられる。そこで、図12を用いて、配線遅延で調整する場合を説明する。図12は、従来技術に係るバスでの信号衝突を回避するために配線遅延で調整する例を説明する図である。なお、図12では、DSP1からDSP2に切り替える場合を説明する。また、DSP1とDSP2とのデータ線は、物理的に同一の配線であるが、図12では、説明の便宜上、DSP1とDSP2とのデータ線を分けて説明する。
【0018】
例えば、図12に示すように、DSP1のデータ線バッファがゲートを閉じてからデータ転送終了までに、1.5ns(nano‐second)〜6.5nsの時間を要する(図12のA参照)。一方、DSP2のデータ線バッファがゲートを空けてからデータ転送を開始するまでに1.5ns〜7.6nsの時間を要する(図12のB参照)。そして、AとBとにおいては、重なる時間が発生し、この重なる時間がバスでの信号衝突の時間となる。
【0019】
また、図12の下側に示すように、例えば、DSP2のゲート信号を配線で遅延させる場合には、DSP1のデータ転送終了時と、DSP2のデータ転送開始時とにおける信号衝突を回避することができる。しかしながら、DSP2のデータ転送終了時には、信号衝突が発生してしまう。
【0020】
要するに、DSPなどの装置は、共通のクロックで動作することにより、バスの切替に要する1クロック内にデータ衝突が発生し得る。このため、データ衝突を防止するためには、次のクロックイベントまで時間を空けることとなる。この結果、上述した従来技術では、共通のバスへのデータ転送に要する時間が増大する。
【0021】
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、共通のバスへのデータ転送の転送効率を向上させることが可能である調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法を提供することを目的とする。
【課題を解決するための手段】
【0022】
上述した課題を解決し、目的を達成するため、本願に開示する調停装置は、複数の演算処理装置間におけるアクセス権の切替時に要する切替時間を保持する切替時間保持部を有する。また、調停装置は、切替時間に基づいて、複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出部を有する。また、調停装置は、発振器によって送出された基準同期信号と、位相シフト値とを用いて、複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力部を有する。
【発明の効果】
【0023】
本願に開示する調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法の一つの様態によれば、共通のバスへのデータ転送の転送効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0024】
【図1】図1は、実施例1に係る調停装置を含むシステムの構成例を示す図である。
【図2】図2は、実施例1に係る調停装置の構成例を示す図である。
【図3A】図3Aは、8bitレジスタに保持される情報の例を示す図である。
【図3B】図3Bは、スレーブ情報テーブルに保持される情報の例を示す図である。
【図4】図4は、実施例1に係るPLL位相シフターの詳細な回路図の例を示す図である。
【図5】図5は、実施例1に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。
【図6】図6は、実施例1に係るDSP間における切替時の動作タイミングの詳細な例を説明する図である。
【図7】図7は、実施例1に係る調停処理の流れの例を説明するフローチャートである。
【図8】図8は、バスアクセス調停プログラムを実行するコンピュータの例を示す図である。
【図9】図9は、従来技術に係る調停装置を含むシステムの構成例を示す図である。
【図10】図10は、従来技術に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。
【図11】図11は、従来技術に係る遅延時間とロス時間との例を説明する図である。
【図12】図12は、従来技術に係るバスでの信号衝突を回避するために配線遅延で調整する例を説明する図である。
【発明を実施するための形態】
【0025】
以下に添付図面を参照して、本願に開示する調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例1】
【0026】
[システム構成]
最初に、図1を用いて、実施例1に係る調停装置を含むシステムの構成について説明する。図1は、実施例1に係る調停装置を含むシステムの構成例を示す図である。なお、図1では、共通のバスに接続される装置の例としてDSPを挙げ、DSP1〜DSP12の12個のDSPが共通のバスへアクセスする場合を説明する。
【0027】
例えば、図1に示すように、調停装置を含むシステムは、調停装置と、発振器と、DSP1〜DSP12と、メモリコントローラと、記憶装置とを有する。このうち、記憶装置は、例えば、データの読み書きや消去などが可能であるフラッシュメモリである。
【0028】
また、発振器は、例えば、メモリコントローラおよびDSP1〜DSP12それぞれを動作させるためのクロックの基準となる基準クロックを調停装置に送出する。また、DSP1〜DSP12は、例えば、共通のバスへアクセスするために、バス権獲得要求信号(Req‐1〜Req‐c)を調停装置に対して送出する。
【0029】
そして、調停装置は、例えば、複数のDSPからバス権獲得要求信号が同時に入力された場合に、各DSPに送出するクロック(CLK1〜CLK12)に同期してバス権獲得許可応答信号(Gnt‐1〜Gnt‐c)を該当するDSPに送出する。
【0030】
調停装置から各DSPに送出されるクロックは、発振器から送出された基準クロックと同一の位相、または当該基準クロックから所定時間ずつシフトされた位相で送出される。具体的に説明すると、調停装置は、DSP1〜DSP12間における共通のバスへのアクセス権の切替時に要する切替時間を位相値レジスタに保持している。
【0031】
この切替時間は、例えば、DSP1とDSP2とのアクセス権の切替時に、DSP1のゲートを閉じてからDSP2のゲートを開けるまでに最低限要するデータ確定時間である。そして、調停装置は、切替時間に基づいて、DSP1〜DSP12それぞれの位相シフト値を求める。
【0032】
続いて、調停装置は、発振器から送出された基準クロックと、求められた位相シフト値とを用いて、DSP1〜DSP12それぞれで異なるクロック(CLK1〜CLK12)を生成して該当するDSPに出力する。なお、位相シフト値の導出と各DSPで異なるクロックの生成およびクロックの出力とは、位相シフターによって実行される。
【0033】
一方、バス獲得応答信号を受信したDSP1〜DSP12は、共通のバスへアクセスしてメモリコントローラにデータを転送する。そして、メモリコントローラは、DSP1〜DSP12によって転送されたデータを記憶装置に格納する。
【0034】
つまり、調停装置は、DSP間におけるアクセス権の切替時に要する最低限の切替時間を保持し、切替時間に基づいて求められたDSPそれぞれの位相シフト値と、発振器によって送出された基準クロックとを用いて、DSPでそれぞれ異なるクロックを生成する。そして、調停装置は、生成されたクロックを該当するDSPに出力する。これらの結果、調停装置は、各DSPが共通のクロックに従って動作することによりDSP間におけるアクセス権の切替時にデータ衝突が発生する従来技術と比較して、DSPによる共通のバスへのデータ転送の転送効率を向上させることができる。
【0035】
[調停装置の構成]
次に、図2を用いて、実施例1に係る調停装置の構成を説明する。図2は、実施例1に係る調停装置の構成例を示す図である。
【0036】
例えば、図2に示すように、調停装置100は、8bitレジスタ111と、スレーブ情報テーブル112と、状態監視部121と、S/P変換(Serial/Parallel Conversion)部122と、スレーブ情報処理部123と、8bit足し算回路124と、PLL位相シフター125とを有する。そして、調停装置100は、複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、共通のバスへのアクセス権を該当する演算処理装置に付与する。また、調停装置は、発振器によって送出される基準となる基準クロックを受信する。
【0037】
8bitレジスタ111は、例えば、図3Aに示すように、演算処理装置としてのDSP1〜DSPn(nは、自然数)間における共通のバスへのアクセス権の切替時に要する切替時間(Hold時間)を保持する。例えば、8bitレジスタ111は、DSP1〜DSPnの切替時間(Hold時間)を、1tap=100ps(pico second)の粒度で割った分解値を8bit(2進数)で保持する。
【0038】
詳細には、8bitレジスタ111は、DSP1のHold時間=1.0nsから、1000ps÷100ps/tap=10tap(10進数)が求められ、求められた10tapを2進数に変換された「00001010」を保持する。このtapとは、位相シフトが可能な最小単位である。なお、8bitレジスタ111に保持される値は、CPU(Central Processing Unit)制御でソフト設定される。CPU制御では、例えば、「デバイスの遅延時間」+「基板の実装情報(パターン長や基板素材から求められる遅延時間)」により決定される。
【0039】
8bitレジスタ111に保持される情報の例としては、DSP1における切替時間「Hold=1.0ns」に対する8bitパラメタ「00001010」となる。なお、図3Aは、8bitレジスタ111に保持される情報の例を示す図である。
【0040】
また、8bitレジスタ111に保持される切替時間(Hold時間)には、机上計算で求められる配線遅延を含む。この配線遅延は、例えば、プリント基板材質がプリント基板の基材の規格であるFR4の場合に、「1mm=7ps」として求められる。また、演算処理装置間での切替においては、遅延の最大値である256tapで動作することは少ないため、代表的な値としてのtyp値を設定すれば良い。
【0041】
スレーブ情報テーブル112は、例えば、図3Bに示すように、調停装置100のスレーブ側である温度センサなどからの通知によって得られるTj(ジャンクション温度)と、切替時間(Hold時間)とを対応付けて保持する。詳細には、スレーブ情報テーブル112は、各温度について2進数(8bit)に変換された値を保持する。なお、スレーブ側とは、調停装置100や当該調停装置100を含むシステムなどとは別に動作する外部装置のことである。
【0042】
スレーブ情報テーブル112に保持される情報の例としては、Tj(ジャンクション温度)=61℃〜65℃と、65℃のHold「00000001」となる。なお、図3Bは、スレーブ情報テーブル112に保持される情報の例を示す図である。
【0043】
状態監視部121は、例えば、DSP1〜DSPnそれぞれの外的環境である温度情報を取得して、S/P変換部122に通知する。詳細には、状態監視部121は、スレーブ側である温度センサによるALERTと、I2C(Inter‐Integrated Circuit)バス経由でスレーブ側からの温度情報とを取得する。状態監視部121によって取得される温度情報は、8bitのシリアルデータである。
【0044】
このとき、状態監視部121は、DSP1〜DSPnそれぞれの温度情報を常時取得せずに、温度センサによってALERT検出された場合に取得することで、DSP1〜DSPnによる処理に影響のない状態であるにもかかわらず温度情報を取得することを防止する。
【0045】
また、ALERTとは、温度センサに予め設定された閾値であり、例えば、本実施例では、60℃に設定されていることとする。従って、温度センサは、予め設定された閾値である60℃を超えると、状態監視部121に対してALERT信号を送信し、60℃より下がると、ALERT信号をネゲートする。
【0046】
S/P変換部122は、例えば、状態監視部121によって通知された8bitのシリアルデータを、8bitのパラレルデータに変換してスレーブ情報処理部123に通知する。
【0047】
スレーブ情報処理部123は、例えば、S/P変換部122によって通知されたスレーブ情報としての温度情報をスレーブ情報テーブル112に格納する。また、スレーブ情報処理部123は、例えば、スレーブ情報テーブル112に格納された8bitの温度情報を8bit足し算回路124に通知する。スレーブ情報処理部123によって8bit足し算回路123に通知される情報の例としては、DSP1の動作時に温度センサによって62℃がセンシングされた場合に、65℃のHold=1tap、すなわち「0000001」となる。
【0048】
8bit足し算回路124は、例えば、8bitレジスタ111に保持されるDSP1のHold時間の2進数である「00001010」と、スレーブ情報処理部123によって通知されたDSP1の65℃のHold「00000001」とを取得する。そして、8bit足し算回路124は、これらの値「00001010」および「00000001」を足し合わせて、DSP1の位相シフト値「00001011」を求めて、PLL位相シフター125に通知する。すなわち、DSP1に対する設定値としては、10tap+1tap=11tapとなる。
【0049】
PLL位相シフター125は、例えば、発振器によって送出された基準クロックと、8bit足し算回路124によって求められたDSP1の位相シフト値「00001011」とに基づいて、DSP1に対するクロックを生成して、DSP1に対して出力する。
【0050】
ここで、図4を用いて、PLL位相シフター125の詳細な回路図を説明する。図4は、実施例1に係るPLL位相シフター125の詳細な回路図の例を示す図である。
【0051】
例えば、図4に示すように、PLL位相シフター125は、8bitに対応する256個分のDelay素子と、利用するDelay素子を選択するSelectorとを有する。このうち、各Delay素子は、例えば、1tap(100ps)だけ信号を遅延させる役割を担う。
【0052】
具体的に例を挙げると、PLL位相シフター125は、DSP1の位相シフト値が「00001011」であることにより、Selectorが11番目のDelay素子を選択する。そして、PLL位相シフター125は、基準クロックから11tap(1.1nsec)分遅延させたクロックをDSP1に対して出力する。
【0053】
要するに、調停装置100は、予め保持される切替時間としての固定パラメタと、外部環境により変動する温度情報としての可変パラメタとに基づき、DSPに対するバス権獲得許可応答信号を返送すべき基準クロックを何tapシフトするかの値を8bit単位で処理する。なお、上記ではDSP1に対するクロックを出力する例を説明したが、調停装置100は、DSP1とは異なるDSP2やDSP3などについても同様の処理を実施して、DSPそれぞれに対してクロックを出力する。
【0054】
[動作タイミング]
次に、図5を用いて、DSPによる共通のバスへのアクセス動作タイミングを説明する。図5は、実施例1に係るDSPによる共通のバスへのアクセス動作タイミングの例を説明する図である。なお、図5では、DSP1〜DSP3による共通のバスへのアクセス動作タイミングについて説明する。
【0055】
例えば、図5に示すように、DSP1〜DSP3は、それぞれ異なるクロックCLK1‐a、CLK1‐bおよびCLK1‐cによって動作する。これらのクロックは、上述したように、各DSP間における切替時に要する最低限の時間や各DSPの外部環境に起因する温度情報などに基づき、基準クロックからシフトされたクロックである。
【0056】
そして、DSP1〜DSP3によるバス権獲得要求信号(Req‐a〜Req‐c)が送出された場合には、DSP1〜DSP3に対応する各クロックと同期したバス権獲得許可応答信号(Gnt‐a〜Gnt‐c)返送のタイミングでDSP1から順にバスへアクセスする。図5では、DSP1によるバスのアクセス時に転送するデータD1、D2およびD3の転送終了後に、DSP2によってデータD1、D2およびD3が転送され、DSP2によるデータ転送終了後に、DSP3によってデータD1、D2およびD3が転送される例を示している。
【0057】
次に、図6を用いて、DSP間における切替時の動作タイミングの詳細を説明する。図6は、実施例1に係るDSP間における切替時の動作タイミングの詳細な例を説明する図である。詳細には、図6は、図5に示したDSP1とDSP2との切替時、すなわち図5において四角で囲った部分の拡大図である。
【0058】
例えば、図6に示すように、DSP1とDSP2との切替時には、出力遅延などである「遅延時間」と、Delay素子がデータを確定するために要する「Hold時間」との直後に、切替先であるDSP2のクロックのシフトが行なわれる。この結果、図6に示すように、DSP1とDSP2との切替で1クロック分の空きを要する従来のDSP2の転送データの時点から「ロス時間」分を削減することができる。
【0059】
また、「遅延時間」と「Hold時間」との合計時間については、8bitレジスタ111の設定によって変更が可能である。このため、上記のDSPなどのデバイスやデバイスの動作速度が変更された場合であっても、柔軟に対応することが可能である。
【0060】
要するに、デバイス間におけるバスへのアクセス権の切替時のデータ間隔は、「Hold時間」のみとなるため、切替時の遅延量を最小限に抑えることができる。また、データ転送速度は、3クロックの転送時に、1クロックの空きを要する従来技術と比較して25パーセントほどの向上が見込めることとなる。
【0061】
[実施例1に係る調停処理]
次に、図7を用いて、実施例1に係る調停処理の流れを説明する。図7は、実施例1に係る調停処理の流れの例を説明するフローチャートである。
【0062】
例えば、図7に示すように、調停装置100は、スレーブ側である温度センサによるアラームを受信した場合に(ステップS101肯定)、I2Cバス経由でスレーブ側からの温度情報を取得する(ステップS102)。なお、調停装置100は、温度センサによるアラームを受信していない場合に(ステップS101否定)、当該アラームの受信待ちの状態となる。
【0063】
そして、調停装置100は、取得された温度情報をシリアル/パラレル変換する(ステップS103)。続いて、調停装置100は、シリアル/パラレル変換された温度情報をスレーブ情報テーブル112に格納する(ステップS104)。
【0064】
その後、調停装置100は、スレーブ情報テーブル112に格納された8bitの温度情報と、予め保持されるデバイスの8bitHold時間とを足し合わせて、シフトする設定値を出力する(ステップS105)。なお、調停装置100は、求められたシフト情報に基づいてPLL位相シフターによりクロックを生成し、該当するデバイスに対して出力する。
【0065】
[実施例1による効果]
上述したように、調停装置100は、複数のデバイス間において最低限要するバス転送の切替時間を保持し、当該切替時間と、複数のデバイスでの外的環境による温度情報とに基づいて、基準クロックからシフトさせる値を求める。そして、調停装置100は、求められたシフト値に基づいて、基準クロックからずらしつつ各デバイスに送出するクロックを決定して出力する。これらの結果、調停装置100は、複数のデバイスが共通のバスへアクセスしてデータ転送を行なう場合に、共通のバスへのデータ転送の転送効率を向上させることができる。
【実施例2】
【0066】
さて、これまで本願に開示する調停装置およびバスアクセス調停方法の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、(1)固定パラメタのみを利用、(2)調停装置の構成、(3)プログラム、において異なる実施例を説明する。
【0067】
(1)固定パラメタのみを利用
上記実施例1では、予め保持される切替時間としての固定パラメタと、外的環境によって変動する温度情報としての変動パラメタとに基づいて各デバイスに出力するクロックを決定する場合を説明したが、固定パラメタのみを利用してクロックを決定することもできる。
【0068】
例えば、調停装置は、複数のDSP間における共通のバスへのアクセス権の切替時に要する切替時間を保持し、切替時間に基づいて複数のDSPそれぞれの位相シフト値を求める。そして、調停装置は、発振器によって送出された基準クロックと、求められた位相シフト値とを用いて、複数のDSPごとに異なるクロックを生成して出力する。なお、調停装置は、温度センサによるALERTが通知されない場合には、切替時間としての固定パラメタのみを用いてクロックを決定することとなる。
【0069】
(2)調停装置の構成
また、上記文書中や図面中などで示した処理手順、制御手順、具体的名称、各種のデータやパラメタなどを含む情報(例えば、8bitレジスタ111またはスレーブ情報テーブル112に保持される情報など)については、特記する場合を除いて任意に変更することができる。
【0070】
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部または一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
【0071】
(3)プログラム
ところで、上記実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、予め用意されたプログラムをコンピュータで実行することによって実現するようにしても良い。そこで、以下では、図8を用いて、上記実施例に示した調停装置100と同様の機能を有するバスアクセス調停プログラムを実行するコンピュータの一例を説明する。図8は、バスアクセス調停プログラムを実行するコンピュータの例を示す図である。
【0072】
図8に示すように、調停装置100としてのコンピュータ11は、バス18で接続されるHDD13、CPU14、ROM15およびRAM16などを有する。
【0073】
ROM15には、上記実施例に示した調停装置100と同様の機能を発揮するバスアクセス調停プログラム、つまり、図8に示すように、位相シフト値導出プログラム15aと、同期信号出力プログラム15bとが、予め記憶されている。なお、これらのプログラム15a〜プログラム15bについては、図2に示した調停装置100の各構成要素と同様、適宜統合または分散しても良い。
【0074】
そして、CPU14がこれらのプログラム15a〜プログラム15bをROM15から読み出して実行することで、図8に示すように、プログラム15a〜プログラム15bは、位相シフト値導出プロセス14aと、同期信号出力プロセス14bとして機能するようになる。なお、プロセス14a〜プロセス14bは、図2に示した、8bit足し算回路124と、PLL位相シフター125とに対応する。
【0075】
そして、CPU14はRAM16に記録されたデータ(例えば、バスへのアクセス権の切替時に要する切替時間や演算処理装置の温度情報など)に基づいてバスアクセス調停プログラムを実行する。
【0076】
なお、上記各プログラム15a〜プログラム15bについては、必ずしも最初からROM15に記憶させておく必要はなく、例えば、コンピュータ11に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、またはコンピュータ11の内外に備えられるHDDなどの「固定用の物理媒体」、さらには公衆回線、インターネット、LAN、WANなどを介してコンピュータ11に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ11がこれから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0077】
100 調停装置
111 8bitレジスタ
112 スレーブ情報テーブル
121 状態監視部
122 S/P変換部
123 スレーブ情報処理部
124 8bit足し算回路
125 PLL位相シフター
【特許請求の範囲】
【請求項1】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置であって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間を保持する切替時間保持部と、
前記切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出部と、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力部と
を有することを特徴とする調停装置。
【請求項2】
前記位相シフト値導出部は、前記切替時間と、前記複数の演算処理装置の温度情報とに基づいて、前記複数の演算処理装置それぞれの位相シフト値を求めることを特徴とする請求項1に記載の調停装置。
【請求項3】
前記位相シフト値導出部は、前記複数の演算処理装置の温度が所定の閾値以上であることを受信した場合に、前記複数の演算処理装置の温度情報と、前記切替時間とに基づいて、前記複数の演算処理装置それぞれの位相シフト値を求めることを特徴とする請求項1または2に記載の調停装置。
【請求項4】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置としてのバスアクセス調停プログラムであって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出手順と、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力手順と
をコンピュータに実行させることを特徴とするバスアクセス調停プログラム。
【請求項5】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置としてのバスアクセス調停方法であって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出ステップと、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力ステップと
を含んだことを特徴とするバスアクセス調停方法。
【請求項1】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置であって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間を保持する切替時間保持部と、
前記切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出部と、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力部と
を有することを特徴とする調停装置。
【請求項2】
前記位相シフト値導出部は、前記切替時間と、前記複数の演算処理装置の温度情報とに基づいて、前記複数の演算処理装置それぞれの位相シフト値を求めることを特徴とする請求項1に記載の調停装置。
【請求項3】
前記位相シフト値導出部は、前記複数の演算処理装置の温度が所定の閾値以上であることを受信した場合に、前記複数の演算処理装置の温度情報と、前記切替時間とに基づいて、前記複数の演算処理装置それぞれの位相シフト値を求めることを特徴とする請求項1または2に記載の調停装置。
【請求項4】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置としてのバスアクセス調停プログラムであって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出手順と、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力手順と
をコンピュータに実行させることを特徴とするバスアクセス調停プログラム。
【請求項5】
複数の演算処理装置による共通のバスへのアクセス権の要求に基づいて、前記共通のバスへのアクセス権を付与する調停装置としてのバスアクセス調停方法であって、
前記複数の演算処理装置間における前記アクセス権の切替時に要する切替時間に基づいて、前記複数の演算処理装置それぞれの位相シフト値を求める位相シフト値導出ステップと、
発振器によって送出された基準同期信号と、前記位相シフト値とを用いて、前記複数の演算処理装置ごとに異なる同期信号を生成して出力する同期信号出力ステップと
を含んだことを特徴とするバスアクセス調停方法。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−28448(P2011−28448A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−172393(P2009−172393)
【出願日】平成21年7月23日(2009.7.23)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願日】平成21年7月23日(2009.7.23)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]