JP2005100379A - リソース管理装置 - Google Patents
リソース管理装置 Download PDFInfo
- Publication number
- JP2005100379A JP2005100379A JP2004247075A JP2004247075A JP2005100379A JP 2005100379 A JP2005100379 A JP 2005100379A JP 2004247075 A JP2004247075 A JP 2004247075A JP 2004247075 A JP2004247075 A JP 2004247075A JP 2005100379 A JP2005100379 A JP 2005100379A
- Authority
- JP
- Japan
- Prior art keywords
- information
- selection
- unit
- bus
- bus master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】1つのバスマスタからの情報を選択する間隔(選択間隔)と、そのバスマスタから転送された情報を共有リソースが処理する処理時間とを一致させることが望ましい。しかし、バスマスタの動作周波数と共有リソースを制御する制御手段との動作周波数が異なることから、これらの時間を完全に一致させることはできない。このため、バスマスタや共有リソースを最大限有効に利用することができないという課題がある。
【解決手段】共有リソース(共有メモリ)Fの動作速度とは異なる動作速度をもち、共有リソースに対して複数のバスマスタM1〜M5のいずれかから転送されるコマンドとデータからなる情報を選択する情報選択部Cと、情報選択部Cにより選択された情報を格納するバッファ部Dと、所定量の情報の複数分に対する情報選択部Cでの情報選択のための選択時間の合計と共有リソースでの処理時間の合計とがほぼ等しくなるように、情報選択部Cでの情報選択のタイミングを制御するタイミング調整部Bとを備えている。
【選択図】図2
【解決手段】共有リソース(共有メモリ)Fの動作速度とは異なる動作速度をもち、共有リソースに対して複数のバスマスタM1〜M5のいずれかから転送されるコマンドとデータからなる情報を選択する情報選択部Cと、情報選択部Cにより選択された情報を格納するバッファ部Dと、所定量の情報の複数分に対する情報選択部Cでの情報選択のための選択時間の合計と共有リソースでの処理時間の合計とがほぼ等しくなるように、情報選択部Cでの情報選択のタイミングを制御するタイミング調整部Bとを備えている。
【選択図】図2
Description
本発明は、複数のバスマスタからの共有リソースへのアクセス制御を行うリソース管理装置に関する。バスマスタとは、プロセッサやDSP、DMA等である。共有リソースとは、複数のバスマスタが共有するメモリや周辺入出力デバイス等である。
複数のバスマスタと共有リソースとがバスを介して接続され、これらの複数のバスマスタからのバス使用権が競合した場合に、バス調停部(bus arbitrator)を用いる(例えば、特許文献1、2参照)。
特開平8−255125号公報(図1および図5)
特開平6−266660号公報(図1および図3)
一般的に、バスマスタの動作速度は共有リソースの動作速度に比べて高速である。そのため、バスマスタが一定数の情報を転送する時間は、その一定数の情報を共有リソースが処理する時間より短い。共有リソースは、最初のバスマスタから転送された情報の処理を実行中に、次のバスマスタから転送された情報を同時に処理することはできない。バスマスタからの情報を選択する間隔を共有リソースが情報を処理する時間よりも長くすることが必要である。しかし、そうすると、共有リソースを効率的に動作させることができない。
1つのバスマスタからの情報を選択する間隔(選択間隔)と、そのバスマスタから転送された情報を共有リソースが処理する処理時間とを一致させることが望ましい。しかし、バスマスタの動作周波数と共有リソースを制御する制御手段との動作周波数が異なることから、これらの時間を完全に一致させることはできない。
さらに、SDRAMのように、プリチャージやリフレッシュといわれる特殊な処理が必要となる場合もある。情報の選択間隔が固定されていると、共有リソースの処理時間が変動すれば、所定時間内に処理を終了できない。
これらの問題点を解決するために、情報を選択する情報選択部と選択された情報を処理する共有リソースの間にバッファを設ける構成が考えられる。その場合でも以下のような問題点がある。
図1(a)に示すように、先のバスマスタが転送した情報の処理が完了するまでバスマスタに一定の待ち時間を与える。そして、情報選択部の選択間隔を共有リソースの処理時間よりも長くすることにより、バスマスタと共有リソースの動作時間を調整する方法が考えられる。
しかし、バスマスタおよび共有リソースのいずれにおいても処理を行わない時間が生じるため、バスマスタおよび共有リソースの効率的な使用はむずかしい。
一方、図1(b)に示すように、バスマスタの動作速度に合わせてバッファに連続して情報を格納するという方法も考えられる。しかし、バッファの容量には限りがあり、バッファに情報を格納できないときは、必要な情報を処理することができない。
したがって、本発明の主たる目的は、バスマスタからの転送情報を選択するタイミングを調整することにより、バスマスタや共有リソースの効率的な使用が可能なリソース管理装置を提供することである。
以下、複数種類の構成要素手段が記述されるが、これら各手段については、ハードウエアで構成してもよいし、あるいはソフトウエアで構成してもよいし、あるいはハードウエアとソフトウエアとの組み合わせで構成してもよい。
上記の目標を達成するために、本発明によるリソース管理装置は、
共有リソースの動作速度とは異なる動作速度をもち、前記共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を選択する情報選択部と、
前記情報選択部により選択された情報を格納するバッファ部と、
所定量の情報の複数分に対する前記情報選択部での情報選択のための選択時間の合計と前記共有リソースでの処理時間の合計とがほぼ等しくなるように、前記情報選択部での情報選択のタイミングを制御するタイミング調整部と、
を備えた構成とされている。
共有リソースの動作速度とは異なる動作速度をもち、前記共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を選択する情報選択部と、
前記情報選択部により選択された情報を格納するバッファ部と、
所定量の情報の複数分に対する前記情報選択部での情報選択のための選択時間の合計と前記共有リソースでの処理時間の合計とがほぼ等しくなるように、前記情報選択部での情報選択のタイミングを制御するタイミング調整部と、
を備えた構成とされている。
この構成によれば、タイミング調整部により、所定量の情報の複数分に対する情報選択部での選択時間の合計と共有リソースでの処理時間の合計とをほぼ等しくすることにより、バスマスタの情報転送間隔の平均値と共有リソースでの処理時間の平均値とをほぼ一致させることができる。その結果、バスマスタも共有リソースも効率的な動作が可能となり、かつ、バッファにおける格納情報量も適切なものとなる。
上記において好ましい態様は、前記タイミング調整部が、所定量の情報の単数分に対する前記情報選択部での情報選択のための選択時間と前記共有リソースでの処理時間とがほぼ等しくなるように、前記情報選択部での情報選択のタイミングを制御することである。
これによれば、所定量の情報の単数分についても均等化を配慮しているので、バスマスタおよび共有リソースの動作をさらに効率的にでき、かつ、バッファ部における格納情報量もさらに適切なものとできる。
上記において好ましい態様は、前記タイミング調整部が、前記バッファ部における格納情報量に応じて計数の比較基準値を可変することである。この場合、前記タイミング調整部は、前記バッファ部における格納情報量が閾値より多いときに、前記比較基準値を増大して選択間隔を長くする。
これによれば、結果として、バッファ部の格納情報量を調整することができ、バスマスタおよび共有リソースの動作をさらに効率的にでき、かつ、バッファ部における格納情報量もさらに適切なものとできる。
また、上記において好ましい態様は、前記タイミング調整部が、前記バッファ部における格納情報量が前記閾値よりも多く、かつ、最優先の優先順位をもつバスマスタからの情報が前記情報選択部に転送されていないときは、前記情報選択部に対して情報の選択を禁止するように構成されていることである。
これによれば、バッファ部に所定の閾値よりも多い情報が格納されているときは、優先度の低い情報を選択せずバッファ部に格納された情報を処理するもので、バッファ部の情報量を少なくできる。
また、本発明によるリソース管理装置は、前記単位の選択期間内での最大転送情報量が設定されており、
共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を、単位の選択期間ごとに優先順位に基づいて選択する情報選択部と、
前記情報選択部により選択された情報を格納するバッファ部と、
を備え、
前記情報選択部は、優先順位が最優先のバスマスタからの情報量が前記最大転送情報量以下のときは、前記バスマスタ以外で優先順位が高く、かつ、前記バスマスタの情報量との合計の情報量が前記最大転送情報量以下となる別のバスマスタからの情報を選択するように構成されている。
共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を、単位の選択期間ごとに優先順位に基づいて選択する情報選択部と、
前記情報選択部により選択された情報を格納するバッファ部と、
を備え、
前記情報選択部は、優先順位が最優先のバスマスタからの情報量が前記最大転送情報量以下のときは、前記バスマスタ以外で優先順位が高く、かつ、前記バスマスタの情報量との合計の情報量が前記最大転送情報量以下となる別のバスマスタからの情報を選択するように構成されている。
これによれば、選択期間内に転送可能な最大の情報量を転送することができ、効率的な処理を行うことが可能になる。
また、本発明によるリソース管理装置は、複数のバスマスタが使用する共通のメモリから所望の情報を格納する格納部を有し、複数のバスマスタの全てが情報を出力していない場合に、予め所定の情報を共有のメモリから格納部に格納するように構成されている。
これによれば、1つのバスマスタの動作状況のみならず他のバスマスタの動作状況も踏まえて、所定の情報を予め格納部に格納することが可能になる。
以上のように、本発明によれば、バスマスタから転送される情報を処理するタイミングを調整することにより、効率的にバスマスタや共有リソースを使用することが可能になる。
以下、本発明のリソース管理装置の好ましい実施の形態について図面を参照して説明する。
(実施の形態1)
図2のシステムにおけるリソース管理装置100は、選択間隔設定部A、タイミング調整部B、複数のバスマスタからの競合する情報を選択する情報選択部Cおよびバッファ部Dから構成されている。バッファ部Dは、コマンドバッファD1とデータバッファD2からなる。周辺には、複数のバスマスタM1,M2,M3,M4,M5と、メモリコントローラEと、複数のバスマスタM1〜M5の共有リソースの一例として共有メモリFがある。バスマスタは、プロセッサやDSP、DMA等である。
図2のシステムにおけるリソース管理装置100は、選択間隔設定部A、タイミング調整部B、複数のバスマスタからの競合する情報を選択する情報選択部Cおよびバッファ部Dから構成されている。バッファ部Dは、コマンドバッファD1とデータバッファD2からなる。周辺には、複数のバスマスタM1,M2,M3,M4,M5と、メモリコントローラEと、複数のバスマスタM1〜M5の共有リソースの一例として共有メモリFがある。バスマスタは、プロセッサやDSP、DMA等である。
コマンドバッファD1およびデータバッファD2は、情報選択部Cにより選択されたバスマスタからの情報を格納する。メモリコントローラEは、コマンドバッファD1に格納された情報を解釈し、メモリ等のプロトコルに従う信号を生成する。
バスおよびバスマスタは優先順位が設定されている。複数のバスマスタM1〜M5に対してバスマスタ調停部(図示せず)が設けられている。バスマスタ調停部は、バスマスタM1〜M5の2つ以上が同時に共有メモリFにアクセスした場合に、優先権に従って調停する。バスマスタ調停部により許可を与えられたバスマスタは、共有メモリFに対するコマンドを情報選択部Cを介して転送する。情報選択部Cは、共有メモリFへのアクセスの許可を与えられたバスマスタからバスを介して転送されてくる情報を、バスの優先順位に基づいて選択する。
タイミング調整部Bのクロックカウンタbの動作周波数とメモリコントローラEのクロックカウンタeの動作周波数とは異なっている。その結果、情報選択部Cの動作周波数とメモリコントローラEの動作周波数とが異なっている。
なお、バッファ部Dは、情報選択部Cとともに1つのチップ上に形成されていてもよいし、あるいは、情報選択部Cとは別のチップ上に形成されていてもよい。また、データバッファD2は1つのみ示しているが、バスマスタごとにデータバッファを設けてもよい。
選択間隔設定部Aは、情報選択部Cにおける選択間隔を設定する。タイミング調整部Bは、選択間隔設定部Aからの選択間隔に基づいて所要の選択信号を生成し、その選択信号を情報選択部Cに送出する。その選択信号は、情報の選択のタイミングを示すものである。タイミング調整部Bはクロックカウンタbを備え、クロックカウンタbは選択間隔を基準にクロックをカウントする。情報選択部Cは、選択信号が示すタイミングでバスマスタからの情報を選択する。
図3は、タイミング調整部Bのクロックごとの動作を示すフローチャートであり、図4は、タイミング調整部Bにおいて、バスマスタからの情報を選択する選択信号を出力するタイミングを示す図である。
選択間隔設定部Aは、上位5ビットが整数部を表し、下位3ビットが小数部を表す8ビットの固定小数点で値を格納するレジスタで構成される。
メモリコントローラEは、共有メモリFの動作速度を考慮して64MHzの動作周波数よって動作する。一方、情報選択部Cは、100MHzの動作周波数によって動作する。この動作周波数の違いが次の相違を生じる。情報選択部Cが1ワードを1クロックで処理するとき、共有メモリFは1.5625(100/64)クロックを必要とする。この1.5625クロックを選択間隔として選択間隔設定部Aに設定する。なお、バスマスタおよび共有メモリFの動作周波数の値を格納し、さらに、選択間隔を算出する構成でもよい。
次に、連続したデータを転送することにより転送速度を上げる場合について説明する。
所定のワード数(一例として4ワードの場合)を連続(一例として4つの情報)して処理する場合について説明する。
共有メモリFが4ワードを処理するのに要する時間は、情報選択部Cのクロック数に換算して6.25クロックの時間である。4ワードの情報を4つ処理するには、25クロック必要となる。
そこで、選択間隔設定部Aには、“6.25”を2進表示として8ビットの固定小数点で表した値“00110.010”を格納する。整数部の“6”は上位5ビットで“00110”となる。小数部の“0.25”は下位3ビットで“010”となる。整数部と小数部を一体として“00110010”を考えると、16進数で“32”に該当する。
ステップS11において、タイミング調整部Bはクロックの立ち上がりエッジを検出すると、クロックカウンタbに1を加算する。すなわち、カウント値CNTをインクリメントする。この1クロックの加算は、整数部と小数部を一体とする16進数では、08の加算に対応する。
次いでステップS12において、クロックカウンタbのカウント値CNTが予め設定された選択間隔TS0以上となったかを判定する。図4(a)のN1のタイミングでは、カウント値CNTが08(H)〈1クロック〉であり、選択間隔TS0が32(H)〈6.25クロック〉で、TS0≦CNTbの判定が否定となる。そこでステップS13に進んで、選択信号をリセットし(選択信号は出力しない)、処理を終了する。
再度、ステップS11から始め、上記動作を繰り返す。この間、カウント値CNTは08(H)〈1クロック〉ずつ増える。N7のタイミングにおいて、カウント値CNTが38(H)〈7クロック〉となり、選択間隔TS0の32(H)〈6.25クロック〉よりも大きくなる。すなわち、ステップS12の判定が肯定的となり、ステップS14に進む。ステップS14において、カウント値CNTから選択間隔TS0を減算する。ここでは、38(H)〈7クロック〉から32(H)〈6.25クロック〉を減算する。その結果は、06(H)〈0.75クロック〉となる。この差分は、余分にバスを占有したことに相当する。N7のタイミングでは06(H)が図示されている。減算で得られた差分の06(H)〈0.75クロック〉が次の選択期間で利用される。
次いでステップS15において、選択信号をセットして出力する。この選択信号に基づいて、情報選択部Cはバスの調停を行う。
上記の差分06(H)〈0.75クロック〉は、次の第2の選択期間P2で参照される。
先行する選択期間で得られた差分を次の選択期間において考慮する方法には2つある。これを、図4(b)を参照して説明する。図4(b)での表示は、10進数(クロック単位)である。
第1の方法においては、第1の選択期間P1の最初に選択間隔設定部Aでの初期設定値TS0の6.25クロック〈32(H)〉を比較基準値Trefに設定する(Tref=6.25)。
第1の選択期間P1でのカウント値CNTが0から初めて1,2,3,4,5,6と進み、カウント値CNT=7クロックとなった時点で比較基準値Tref=6.25を超える。そこで、差分ΔTをとる。ここでは、
ΔT=CNTb−Tref=7−6.25=0.75
となる。さらに、新しい比較基準値Trefを生成する。それは、初期設定値TS0から差分ΔTを減算して得られる。
ΔT=CNTb−Tref=7−6.25=0.75
となる。さらに、新しい比較基準値Trefを生成する。それは、初期設定値TS0から差分ΔTを減算して得られる。
Tref=TS0−ΔT=6.25−0.75=5.5
である。第2の選択期間P2では、5.5クロック〈28(H)〉が比較基準値Trefとなる。
である。第2の選択期間P2では、5.5クロック〈28(H)〉が比較基準値Trefとなる。
第2の選択期間P2に移行する段階でカウント値CNTはゼロクリアされる。第2の選択期間P2でのカウント値CNTが0から初めて1,2,3,4,5と進み、カウント値CNT=6クロックとなった時点で比較基準値Tref=5.5を超える。そこで、差分ΔTをとる。ここでは、
ΔT=CNTb−Tref=6−5.5=0.5
となる。さらに、新しい比較基準値Trefを生成する。
ΔT=CNTb−Tref=6−5.5=0.5
となる。さらに、新しい比較基準値Trefを生成する。
Tref=TS0−ΔT=6.25−0.5=5.75
である。第3の選択期間P3では、5.75クロック〈28(H)〉が比較基準値Trefとなる。N13の時点において、選択信号を出力する。
である。第3の選択期間P3では、5.75クロック〈28(H)〉が比較基準値Trefとなる。N13の時点において、選択信号を出力する。
第3の選択期間P3に移行する段階でカウント値CNTはゼロクリアされる。第3の選択期間P3でのカウント値CNTが0から初めて1,2,3,4,5と進み、カウント値CNT=6クロックとなった時点で比較基準値Tref=5.75を超える。そこで、差分ΔTをとる。ここでは、
ΔT=CNTb−Tref=6−5.75=0.25
となる。さらに、新しい比較基準値Trefを生成する。
ΔT=CNTb−Tref=6−5.75=0.25
となる。さらに、新しい比較基準値Trefを生成する。
Tref=TS0−ΔT=6.25−0.25=6
である。N19の時点において、選択信号を出力する。
である。N19の時点において、選択信号を出力する。
第4の選択期間P4では、6クロック〈30(H)〉が比較基準値Trefとなる。この比較基準値Trefの6クロックには端数がない。N25の時点において、選択信号を出力する。
情報選択部Cが選択に要した合計時間は、N1からN7にかけては7クロック、N8からN13にかけては6クロック、N14からN19にかけては6クロック、N20からN25にかけては6クロックとなる。このクロック数の合計は、
T1+T2+T3+T4=7+6+6+6=25(クロック)
となる。
T1+T2+T3+T4=7+6+6+6=25(クロック)
となる。
共有メモリFが要した時間の合計は、
6.25×4=25(クロック)
となり、両者は一致する。すなわち、複数のバスマスタの選択期間の合計時間が、その複数のバスマスタからの情報を処理する共有メモリFでの処理時間の合計時間と一致することとなる。選択期間の平均値は、6.25クロックとなる。
6.25×4=25(クロック)
となり、両者は一致する。すなわち、複数のバスマスタの選択期間の合計時間が、その複数のバスマスタからの情報を処理する共有メモリFでの処理時間の合計時間と一致することとなる。選択期間の平均値は、6.25クロックとなる。
次に、第2の方法について説明する。第2の方法においては、差分を予め選択間隔設定部Aの値から減算することをしない。
第2の選択期間P2では、差分(0.75クロック)を新初期値として、カウント値CNTは1クロック単位でインクリメントしていく。カウント値CNTは、1.75,2.75…5.75,6.75と進み、比較基準値Tref=選択間隔TS0(6.25クロック)よりも大きくなって選択信号を出力する。
再度、カウント値CNT(6.75クロック)と選択間隔TS0(6.25クロック)との差分(0.5クロック)が算出される。
第3の選択期間P2では、差分(0.5クロック)を新初期値として、カウント値CNTは1クロック単位でインクリメントしていく。カウント値CNTは、1.5,2.5…5.5,6.5と進み、比較基準値Tref=選択間隔TS0(6.25クロック)よりも大きくなって選択信号を出力する。
再度、カウント値CNT(6.5クロック)と選択間隔TS0(6.25クロック)との差分(0.25クロック)が算出される。
第4の選択期間P4では、差分(0.25クロック)を新初期値として、カウント値CNTは1クロック単位でインクリメントしていく。カウント値CNTは、1.25,2.25…5.25,6.25と進み、比較基準値Tref=選択間隔TS0(6.25クロック)と一致するに至り、選択信号を出力する。
すなわち、複数のバスマスタの選択期間の合計時間が、その複数のバスマスタからの情報を処理する共有メモリFの処理時間の合計時間と一致することとなる。
第2の方法では、カウント値CNTをゼロクリアするのではなく、予め設定された値との差分を次のクロックカウンタの値に加える。すなわち、先の選択期間に生じた差分を次の選択期間で選択間隔設定部の値から減算する必要がない。したがって、第1の方法よりも効率が良い。リソース管理装置
以上のように、複数のバスマスタからの情報を選択するのに要する合計時間と、複数のバスマスタの情報を共有メモリFで処理するのに要する合計時間とをほぼ一致させることができる。これにより、バスマスタおよび共有メモリFを有効に活用することが可能になり、かつ、バッファに格納された情報量を抑制することが可能になる。
以上のように、複数のバスマスタからの情報を選択するのに要する合計時間と、複数のバスマスタの情報を共有メモリFで処理するのに要する合計時間とをほぼ一致させることができる。これにより、バスマスタおよび共有メモリFを有効に活用することが可能になり、かつ、バッファに格納された情報量を抑制することが可能になる。
また、個々の選択期間と共有メモリの処理時間とがほぼ一致することにより、個々の選択期間においても、バスマスタおよび共有メモリFの効率的な動作が可能になる。かつ、バッファに格納される情報量を少なくすることが可能で、必要な情報のバッファへの格納を確実なものとする。
なお、本実施の形態においては、SDRAMのように連続して固定長の情報を処理する場合について説明したが、本発明はこれに限定されるものではなく、可変長の情報を処理することも可能である。
このときは、選択間隔設定部Aにおいては、次の選択期間において処理される情報量および次に使用するバスマスタの動作周波数等に基づいて上述した選択間隔TS0を再度調整することにより実現可能となる。
次に、本発明と従来技術とを比較する。
図5(a),5(b)は従来方法を示し、図5(c)は本発明の方法を示す。
共有メモリFでバスマスタから転送された4ワードの情報を処理する時間は6.25クロックである。
図5(a)の場合、情報選択部Cによりバスマスタの調停を行う時間は、6.25クロック以上に設定する必要がある。少なくとも7クロックの間隔をおく必要がある。7クロックが終了するまでは、バスマスタが情報を転送することができない。また、共有メモリFも6.25クロックが終了した後、情報が転送されるまでは、処理ができない。結果として、選択期間合計は28クロック、共有メモリFの処理時間は27.25クロックとなる。
また、図5(b)の場合、バスマスタの動作速度と共有メモリFの動作速度の違いを吸収するバッファを用いているもので、連続動作が可能になり、選択期間合計は16クロック、共有メモリFの処理時間は25クロックとなる。
これに対して、本発明によれば、上述したように、第1の選択期間P1が7クロック、第2の選択期間P2が6クロック、第3の選択期間P3も6クロック、第4の選択期間P4も6クロックとなる。情報選択部Cの所要の合計時間は25クロックである。共有メモリFでの処理の合計時間は25クロックである。第1の選択期間P1から第2の選択期間P2に移るときの差分の0.75クロックを加えると、実質的には25.75クロックとなる。
このことから明らかなように、本発明によれば、バスマスタおよび共有メモリを有効に活用することが可能になる。併せて、バッファに格納された情報量を抑制することが可能で、必要な情報が格納できないという問題を解消できる。
次に、複数のバスマスタと情報選択部Cにおける情報の選択との関係について、図6を参照して説明する。ここで、バスマスタM1のバスの優先順位が第1位であるとする。
T2以前では、バスマスタM1から共有メモリFにおいて処理する情報が情報選択部Cに出力されている。他のバスマスタからの情報はない。
次に、T2において、情報選択部CがバスマスタM1からの情報を確認する。一方、T2からT3の間において、バスマスタM2が情報を出力する。
次に、T3において、情報選択部Cは、バスマスタM1とバスマスタM2について選択を行い、優先順位に基づいてバスマスタM1に対して選択信号を送る。
このように、第1の選択期間P1においてはバスマスタM1からの情報を選択する。1選択期間の処理情報量の限界のため、バスマスタM2に対しては選択信号を出力できない。従って、情報選択部Cは、第1の選択期間P1では、T4からT10の間に、どのバスマスタに対しても選択信号を出力しない非選択期間を設ける。これにより、情報選択部Cは、バスマスタM1のみからの情報を選択することが可能になる。
(実施の形態2)
図7は、実施の形態2にかかるリソース管理装置200を含むシステムの構成図である。このシステムにおいては、実施の形態1の構成に加えて、コマンドバッファD1とタイミング調整部Bとが接続され、コマンドバッファD1からの制御信号を用いてタイミング調整部Bの選択信号の生成を制御するように構成してある。その他の構成については図1と同様であるので、同一部分に同一符号を付し、説明を省略する。
図7は、実施の形態2にかかるリソース管理装置200を含むシステムの構成図である。このシステムにおいては、実施の形態1の構成に加えて、コマンドバッファD1とタイミング調整部Bとが接続され、コマンドバッファD1からの制御信号を用いてタイミング調整部Bの選択信号の生成を制御するように構成してある。その他の構成については図1と同様であるので、同一部分に同一符号を付し、説明を省略する。
コマンドバッファD1は、FIFO(First In First Out)構造によって構成され、情報選択部Cにより選択されたバスマスタからの情報を複数格納することができる。すなわち、先に選択された情報の処理が終了する前に、他のバスマスタから転送された情報を格納することが可能である。
タイミング調整部Bには、コマンドバッファD1の格納情報量Qcに関する所定の閾値Qthが設けられ、閾値Qthに基づいて選択間隔TS0を調整する。これにより、複数のバスマスタおよび共有メモリFの効率的な動作が可能となる。また、コマンドバッファD1にも適切な数の情報量が格納される。なお、閾値Qthの設定箇所はタイミング調整部B以外でもよい。
タイミング調整部Bには、第1の選択間隔TS0aと第2の選択間隔TS0bとがある。第2の選択間隔TS0bは第1の選択間隔TS0aよりも長いものに設定されている。
次に、以上のように構成された本実施の形態のリソース管理装置の動作を図8のフローチャートに従って説明する。
ステップS21において、タイミング調整部Bがクロックの立ち上がりエッジを検出すると、カウント値CNTをインクリメントする。
次いでステップS22において、タイミング調整部Bは、コマンドバッファD1の格納情報量Qcを閾値Qthと比較する。
格納情報量が閾値Qth以下であるときは、ステップS23に進み、格納情報量Qcが閾値Qthを超えるときは、ステップS24に進む。
ステップS23において、実施の形態1と同様に、現在のカウント値CNTと第1の選択間隔TS0aとを比較する。この結果、カウント値CNTが第1の選択間隔TS0aよりも小さいときは、ステップS25に進み、選択信号を出力することなく処理を終了する。カウント値CNTが第1の選択間隔TS0a以上となったときは、ステップS26に進んで、カウント値CNTをゼロクリアした上で、次いでステップS27で選択信号を出力する。
一方、ステップS22の判断で格納情報量Qcが閾値Qthを超えると、ステップS24に進む。ステップS24では、現在のカウント値CNTと第2の選択間隔TS0bとを比較する。この結果、カウント値CNTが第2の選択間隔TS0bよりも小さいときは、ステップS25に進み、選択信号を出力することなく処理を終了する。カウント値CNTが第2の選択間隔TS0b以上となったときは、ステップS26に進んで、カウント値CNTをゼロクリアし、次いでステップS27で選択信号を出力する。
以上のように、コマンドバッファD1の格納情報量Qcが少ないときは、短い第1の選択間隔TS0aを基準に比較することにより、共有メモリFの使用効率を高めることができる。
一方、格納情報量Qcが多いときは、より長い第2の選択間隔TS0bを基準に比較する。すなわち、格納情報量Qcが多めになったときは、選択期間を長めにして余裕をもたせている。これは、任意の時刻における、最優先のバスマスタからの情報を確実にコマンドバッファD1に格納できるようにするためである。
以上のように、本実施の形態においては、このように選択間隔TS0を調整することにより、複数のバスマスタおよび共有メモリFの効率的な動作が可能となり、かつ、コマンドバッファD1にも適切な大きさの情報量を格納できる
図9は変形の実施の形態のリソース管理装置300を示す。メモリコントローラEからの制御信号によって選択間隔設定部Aでの選択間隔TS0を可変にするものである。その制御信号としては、メモリコントローラEでのプリチャージやリフレッシュなどによる余分なクロックの発生を表す信号が考えられる。その他の構成については図1と同様であるので、同一部分に同一符号を付し、説明を省略する。
図9は変形の実施の形態のリソース管理装置300を示す。メモリコントローラEからの制御信号によって選択間隔設定部Aでの選択間隔TS0を可変にするものである。その制御信号としては、メモリコントローラEでのプリチャージやリフレッシュなどによる余分なクロックの発生を表す信号が考えられる。その他の構成については図1と同様であるので、同一部分に同一符号を付し、説明を省略する。
制御信号を入力したタイミング調整部Bは、選択間隔TS0を長めに設定する。これにより、複数のバスマスタおよび共有メモリFを効率的に使用することができる。また、コマンドバッファD1に適切な情報量を格納することが可能になる。
例えば、SDRAMのようにアクセス時間が変動するような共有メモリFを用いた場合でも、コマンドバッファD1に蓄積された情報量あるいはアクセスするメモリコントローラEの情報を用いて選択間隔TS0を調整することにより、コマンドバッファD1に適切な情報量を格納することができる。
コマンドバッファD1でのオーバーフローを防止し、かつ、コマンドバッファD1での格納情報量が抑制されることも防止できる。すなわち、マスタに対するバンド幅を保証しながら、メモリの使用効率を高めることができる。
なお、ある選択期間において、バッファでの格納情報量Qcが閾値Qthよりも多く、かつ、優先順位が最優先のバスマスタからの情報が転送されていないときは、現在以外の情報の選択を禁止する構成としてもよい。
(実施の形態3)
本実施の形態は、バスまたはバスマスタの優先順位との関係を考慮したものである。情報選択部Cは、バスの優先順位に基づいて情報を選択するように構成されている。構成図については、上記のものが援用される。
本実施の形態は、バスまたはバスマスタの優先順位との関係を考慮したものである。情報選択部Cは、バスの優先順位に基づいて情報を選択するように構成されている。構成図については、上記のものが援用される。
動作を図10のフローチャートに従って説明する。
ステップS31において、情報選択部Cは、図11に示す各バスの優先順位を示す選択情報を確認し、最優先バスマスタの指定が行われているか否かを判定する。この判定は、バス毎およびスロット毎に行われる。例えば、スロット0では“1”を指定のバスAに最優先マスタがあり、スロット6では全てのバスが“0”のため最優先マスタはないと判定される。
最優先のバスマスタの指定があるときは、ステップS32に進んで、その最優先バスマスタが情報を出力しているか否かを判定する。最優先のバスマスタが情報を出力しているときは、ステップS33に進んで、その情報を選択し、バッファに格納する。
一方、ステップS31の判定で最優先のバスマスタの指定がないとき、およびステップS32の判定で最優先のバスマスタが情報を出力していないときは、ステップS34に進んで、コマンドバッファD1の格納情報量Qcと所定の閾値Qthとを比較し、格納情報量Qcが閾値Qthより大きいときは、情報の選択を行わずに処理を終了する。一方、格納情報量Qcが閾値Qth以下のときは、固定的な優先順位に従って情報の選択を行い、選択した情報をバッファ部Dに格納する。
以上のように情報選択部Cは、バッファ部Dに蓄積された情報量が多いときは、バッファ部Dへの情報の格納を禁止し、バッファ部Dがあふれることを防止する。また、最優先のバスマスタを設定した選択期間では情報が選択されるため、メモリへのアクセスバンド幅が保証される。
以上のように本実施の形態によれば、バッファ部Dの状況に応じて情報の選択を行うか否かを切替えることにより、情報選択のための比較基準値がメモリコントローラEのコマンド処理間隔を一時的に超えた場合にも、コマンドバッファD1があふれることを防止できる。これにより、選択間隔を従来よりも小さく設定でき、メモリコントローラEのコマンド処理間隔が小さくなった場合でも、メモリの使用効率を高め、システムの性能を向上することができる。
なお、本実施の形態ではコマンドバッファD1の格納情報量が多いときは、最優先バスを持たない調停タイミングではコマンドを選択しないとしているが、格納情報量に応じてコマンドの転送サイズに制限を加えるなどとしてもよい。
ここで、上述したバスマスタの優先順位としては、例えば、バスマスタがデイジチェイン方式により配線されている場合に、情報選択部Cに対する接続経路によって優先順位が決定してもよい。あるいは、図11に示すように、選択期間ごとに最優先のバスまたはバスマスタを変化させることにより、各バスおよびバスマスタがバス使用権を占有する時間がほぼ均等になるように調整するのでもよい。
なお、上述したバッファ部Dの格納情報量Qcと閾値Qthとの比較は、バッファ部Dに情報が格納された際のほか、所定期間ごとに行うのでもよい。
(実施の形態4)
本実施の形態は、バスマスタからの転送情報量に上限(最大転送情報量)が決められているリソース管理装置に関するものである。
本実施の形態は、バスマスタからの転送情報量に上限(最大転送情報量)が決められているリソース管理装置に関するものである。
優先順位が最優先のバスマスタからの情報量が最大転送情報量以下である場合に、最優先の優先順位以外で優先順位が高く、かつ、合計の情報量が最大転送情報量以下となるような別のバスマスタからの情報を選択する。これにより、最大転送情報量を確保し、効率的な処理を行うことが可能になる。
図12は、情報選択部Cのクロック毎の動作を表したフローチャートである。残り転送サイズは、情報選択部Cにあるレジスタに格納され、初期設定時は0である。
ステップS41において、情報選択部Cはクロックの立ち上がりエッジを検出すると、選択信号がセットされているか否かを判断する。
選択信号がセットされているときは、ステップS42に進んで、残り転送サイズを初期化する。例えば、1つの選択期間当たりの最大転送ワード数(例えば4ワード)に設定する。
次いでステップS43において、その選択期間内で情報選択部Cにより選択された情報をコマンドバッファD1およびデータバッファD2に格納する。このとき、選択した情報の転送サイズが最大転送ワード数を超えるときは、最大転送ワード数の情報に分割して処理する。
一方、ステップS41の判断で選択信号がリセットされているときは、ステップS44に進んで、残り転送サイズが0より大きいかを確認し、0のときは、その選択期間の処理を終了する。
一方、残り転送サイズが0より大きいときは、ステップS45に進む。ステップS46において、その選択期間での優先順位に従って次の優先順位の情報を選択し、コマンドバッファD1およびデータバッファD2に格納する。ただし、残り転送サイズよりも大きな転送サイズの情報は選択対象から除外する。
情報の格納が済むと、ステップS46に進み、残り転送サイズを更新する。すなわち、残り転送サイズからコマンドバッファD1およびデータバッファD2に格納した情報の転送サイズを減じる。選択した情報がないときは、残り転送サイズを0にする。
以上により、情報選択部Cは、選択期間当たりの最大転送ワード数より転送サイズの小さな情報を受け付けたときは、同じ選択期間に複数の情報を受けることができる。同じ選択期間に受け付けた複数の情報の転送サイズの合計は、選択期間当たりの最大転送ワード数を超えない。連続した情報を発行するマスタに対しては、上記同様に、最優先順位に設定した選択期間で選択信号が出力されるため、メモリへのアクセスバンド幅が保証される。
以上のように本実施の形態によれば、転送サイズの小さなアクセスを受け付けたときは、ひとつの選択期間の間に複数のアクセスを受け付ける。これにより、連続アクセスを行うバスマスタに対するメモリバンド幅を保証し、その使用効率ひいてはシステム全体の性能を高めることができる。
(実施の形態5)
図13のリソース管理装置400は、アクセス予測部Gが情報選択部Cとバッファ部Dの間に接続されている。アクセス予測部Gは、予測コマンドG1と先出しコマンドG2により構成されている。その他の構成については図1と同様であるので、同一部分に同一符号を付し、説明を省略する。
図13のリソース管理装置400は、アクセス予測部Gが情報選択部Cとバッファ部Dの間に接続されている。アクセス予測部Gは、予測コマンドG1と先出しコマンドG2により構成されている。その他の構成については図1と同様であるので、同一部分に同一符号を付し、説明を省略する。
アクセス予測部Gは、過去にバスマスタM1〜M5から転送された読み出しに関する情報を基にコマンドを予測する(予測コマンド)。予測コマンドG1は、その予測コマンドを格納する。先出しコマンドG2は、予測を通じて既にバッファ部Dに格納された情報(先出しコマンド)を格納する。情報選択部Cは、選択した情報をアクセス予測部Gに転送する。本実施の形態では、情報選択部Cは、バスマスタM1〜M5のいずれも情報を発行していないときは、予測要求コマンドをアクセス予測部Gに送出する。
アクセス予測部Gの動作を図14に示すフローチャートに従って説明する。これは、アクセス予測部Gのサイクル毎の動作を表す。初期化時には予測コマンドG1と先出しコマンドG2はともにクリアされている。
ステップS51において、アクセス予測部Gは、まず情報選択部Cに情報(アクセスコマンド)が転送されたか否か判定する。情報が転送されているときは、ステップS52に進んで、コマンドがが書き込みコマンドか読み出しコマンドかを判定する。書き込みコマンドのときは、ステップS53に進んで、その情報をそのままコマンドバッファD1に格納する。一方、読み出しコマンドのときは、ステップS54に進んで、その読み出しコマンドが先出しコマンドG2にあるコマンド(先出しコマンド)と一致するか否かを判定する。
一致しないときは、ステップS55に進んで、バッファ部Dにミスヒット信号SMを出力し、次いでステップS56で、その読み出しコマンドをコマンドバッファD1に格納し、ステップS57で先出しコマンドG2をクリアし、ステップS58で予測コマンドG1を更新する。このとき、予測コマンドG1は、コマンドバッファD1に格納した読み出しコマンドにより読み出されるアドレスを基準とし、その次のアドレスから始まる読み出しコマンドに更新する。更新の読み出しコマンドは同じアクセスサイズとする。これにより、有効な予測が可能になる。
また、ステップS54の判定で読み出しコマンドが先出しコマンドに一致するときは、ステップS59に進んで、次のアドレスからのコマンドに先出しコマンドG2を更新し、ステップS64では、更新した先出しコマンドをコマンドバッファD1に格納する。これにより、連続したアドレスを指定するときは、有効な先出しコマンドをコマンドバッファD1に格納することが可能になる。
一方、ステップS51において、全てのバスマスタから情報が転送されていないときは、ステップS60に進んで、予測要求コマンドがあるか否かを判定し、予測要求コマンドがないときは、そのまま処理を終了する。
また、予測要求コマンドがあるときは、ステップS61に進んで、次に予測コマンドがあるか否かを判定し、ないときは、そのまま処理を終了する。一方、有効な読み出しコマンドが設定されているときは、ステップS62に進んで、先出しコマンドG2に予測コマンドG1の予測コマンドを格納し、ステップS63で予測コマンドG1をクリアし、ステップS64で先出しコマンドG2の先出しコマンドをコマンドバッファD1に格納する。
以上により、情報選択部Cは、全てのバスマスタからのバスの使用権を要求するコマンドが出力されていない場合にのみ、共有メモリFから所望の情報をプリフェッチすることが可能になる。
これにより、いずれかのバスマスタが共有メモリFを使用したい場合に、プリフェッチが実行されていることから、共有メモリFにおけるそのバスマスタからの処理を確実なものにする。結果として、システムの性能を向上することができる。
なお、ここで所望の情報とは、複数のバスマスタが頻繁に使用するコマンドまたはデータである。
なお、本実施の形態では、直前のコマンドに対して予測を行っているが、バスマスタの性質に応じて特定のバスマスタについてのみ予測を行ったり、バスマスタ毎に予測を行い、どのバスマスタからもコマンドがない場合に最優先マスタに対する予測情報を発行したりするなどの方法も可能である。
なお、本実施の形態では1つの情報の予測コマンドを発行したが、複数の情報を予測して発行しデータを読み出すことも可能である。
また、予測コマンドの発行方法は本実施の形態に限られるものではなく、バッファ部Dに蓄積されたコマンド数が少なくなった場合に、予測コマンドを発行するなどの方法でもよい。
また、先読みのデータが読み出される前に、同じアドレスに書き込みが行われたときは、データの一致性を保つため、上書きするかデータ破棄をする。
(実施の形態6)
本実施の形態では、複数のバスマスタM1,M2,M3からのリクエストを調停するバス調停部Hを備えている。
本実施の形態では、複数のバスマスタM1,M2,M3からのリクエストを調停するバス調停部Hを備えている。
図15に示すように、バスマスタM1,M2,M3は、バスの使用権を要求するためのリクエストを出力するバス要求出力部BR1,BR2,BR3と、許可信号入力部Bg1,Bg2,Bg3を備えている。バス要求出力部BR1,BR2,BR3は、バス調停部Hにおいてそれぞれ個別に対応するバス要求入力部Br1,Br2,Br3に接続されている。
また、バス調停部Hは、バスの使用権を付与するための許可信号を出力する許可信号出力部BG1,BG2,BG3と、バス要求入力部Br1,Br2,Br3を備えている。許可信号出力部BG1,BG2,BG3は、それぞれのバスマスタの許可信号入力部Bg1,Bg2,Bg3に接続されている。
この構成により、複数のバスマスタM1,M2,M3からのリクエストが競合した場合に、バス調停部Hが1つのバスマスタに許可信号を出力することにより、1つのバスマスタのみがバスを占有することが可能になる。
次に、動作を説明する。図16は、複数のバスマスタM1,M2,M3からのリクエストをバス調停部Hが調停する場合について示している。ここで、バスマスタM1の優先順位はバスマスタM2よりも高いとする。
まず、T2以前に、バスマスタM1からバスの使用に関するリクエストがバス調停部Hに出力されており、これに対して、バスマスタM2からはバスの使用に関するリクエストはバス調停部Hには入力されていない。次に、T2において、バス調停部HがバスマスタM1からのリクエストを確認する。一方、T2からT3の間において、バスマスタM2がリクエストを出力する。
次に、T3において、バス調停部Hは、バスマスタM1およびバスマスタM2からのリクエストを調停し、優先順位を考慮して、バスマスタM1に対して許可信号が送る。これにより、許可信号を受信したバスマスタM1は、バスの使用が可能となり、バスを介してコマンドを送出する。一方、T3において、バスマスタM2からのバスリクエストが入力されたことをバス調停部Hが確認する。しかし、バスマスタM1に対して許可信号を出力し、第1のバス占有期間においてバスマスタM1にバス使用権を付与しているため、バスマスタM2に対しては、すぐに許可信号を出力することはしない。
その後、バスマスタM1は、バスの使用が不要になったと判断した場合に、自発的にリクエストを取り下げる。このリクエストの取り下げたことを伝える信号が、T6の時点で、バス調停部Hに入力される。
次に、T7において、バス調停部Hは、バスマスタM1に対する許可信号を取り下げる。しかし、バス調停部Hは、T3からT10の第1のバス占有期間は、他のバスマスタにバスの使用権を占有させないようにするために、T7からT10の間は、どのバスマスタに対しても許可信号を出力しない不許可期間を設ける。このことにより、第1のバス占有期間となるT3からT10までは、第1のバスマスタM1以外のバスマスタに許可信号を出力しないため、事実上、バスマスタM1がバスを占有することが可能になる。
一方、バスマスタM2からはT2以降リクエストが出力され続けている。そこで、第1のバス占有期間が終了したT10において、バス調停部Hにより、バスマスタM2に対して許可信号が出力することにより、バスマスタM1からバスマスタM2へとバスの使用権が変更される。この後、バスマスタM2は、許可信号を受けているT10からT14の間、バスを介してコマンドを出力することが可能になる。
一方、バスマスタM1は、リクエストを取り下げた後、再度T14までにリクエストを出力する。上述したように、バスマスタM1はバスマスタM2よりもバスの使用権に関する優先順位が高いため、バスマスタM1からのリクエストが出力されたときは、バス調停部HはバスマスタM2への許可信号を取り下げる。これにより、第3のバス占有期間であるT16からT22においては、バスマスタM1がバスを占有することが可能になる。
一方、T14において、バス調停部Hは、バスマスタM2に対する許可信号を取り下げる。この場合も、上述した第1のバス占有期間と同様に、T14で許可信号が取り下げられた後も、どのバスマスタに対しても許可信号を送らない不許可時間をT14からT16の間に設ける。このことにより、第2のバス占有期間となるT10からT16までは、第2のバスマスタM2以外のバスマスタに許可信号を出力することはしないため、事実上、バスマスタM2がバスを占有することが可能になる。
次に、バスマスタM1は、T16において、バス調停部Hが出力した許可信号を受け、バスの占有を開始する。この後、バスマスタM1は、上述した第1または第2のバス占有期間と同様に、バスの占有が認められるT16からT20までバスを介してコマンドを転送することが可能になる。このことにより、第3のバス占有期間となるT16からT22までは、バス調停部Hは、バスマスタM1以外のバスマスタに許可信号を出力することはしないため、事実上、バスマスタM1がバスを占有することが可能になる。
さらに、バスマスタM1はT14から継続して、また、バスマスタM2はT19から継続してバスのリクエストを出力し続けている。上述したように、バスマスタM1はバスマスタM2よりもバスの使用権に関する優先順位が高いため、バスマスタM1からのリクエストを優先する。従って、第3のバス占有期間(T16〜T22)に引き続いて、第4のバス占有期間であるT22からT28においても、バスマスタM1に対して許可信号を出力する。これにより、第4のバス占有期間においてバスマスタM1がバスを介してコマンドを転送することが可能になる。
なお、図16においては、一度バスマスタM1に対する許可信号を取り下げ、再度、バスマスタM1に対して許可信号を出力する動作について説明しているが、一度バスマスタM1に対する許可信号を取り下げることなく、継続して許可信号を出力することにより、連続してバスマスタM1にバスの使用権を付与することも可能である。
なお、上述した説明においては、バス調停部Hが許可信号を出力するタイミングと、バス占有期間が一致していればよく、バスマスタから出力されたリクエストに対してバス調停部Hは、許可期間内もしくは不許可期間内のいずれの期間においても、調停を行うことは可能である。
なお、実施の形態1においては、説明の簡単化のため、4ワードを処理する場合について説明したが、本発明はこれに限定されるものではなく、可変長のコマンドを処理することも可能である。この場合にも、適切なバス占有期間を調整することにより、上述した内容と同様の効果を奏することが可能である。
また、上記では、複数のバスマスタのそれぞれが同じ動作周波数において動作している場合について説明したが、本発明はこれに限定されるものではない。それぞれの動作周波数が異なる場合であっても、各バスマスタの動作周波数と共有メモリFの動作周波数との動作周波数の違いを考慮してバス占有期間を設定することにより、本発明を実現することが可能になる。
このときは、バス占有期間設定のレジスタには、各バスマスタの動作周波数と、共有メモリFの動作周波数と、1ワードを処理するためのクロック数の違いを格納する。また、このレジスタに各バスマスタおよび共有メモリFの動作周波数を格納し、その後に、1ワードを処理するためのクロック数の違いを算出する構成としてもよい。
また、複数のバスマスタの占有が終了した時点においてそれぞれの処理の合計時間をほぼ一致させること以外に、さらに、各バス占有期間と各共有メモリの処理時間とをほぼ一致させるように構成してもよい。この場合、各バス占有期間においても、バスマスタおよび共有メモリの効率的な動作が可能になり、かつ、コマンドバッファに格納されるコマンド数を少なくすることが可能になる。
本発明のリソース管理装置は、バスマスタから転送される処理情報を処理するタイミングを調整することにより、効率的にバスマスタや共有リソースを使用することが可能になるという効果を有し、複数のバスマスタからの共有リソースへのアクセス制御を行う等の技術として有用である。
100,200,300,400 リソース管理装置
A 選択間隔設定部
B タイミング調整部
C 情報選択部
D バッファ部
D1 コマンドバッファ
D2 データバッファ
E メモリコントローラ
F メモリ(共有リソース)
G アクセス予測部
G1 予測コマンド
G2 先出しコマンド
H バス調停部
M1,M2,M3,M4,M5 バスマスタ
A 選択間隔設定部
B タイミング調整部
C 情報選択部
D バッファ部
D1 コマンドバッファ
D2 データバッファ
E メモリコントローラ
F メモリ(共有リソース)
G アクセス予測部
G1 予測コマンド
G2 先出しコマンド
H バス調停部
M1,M2,M3,M4,M5 バスマスタ
Claims (8)
- 共有リソースの動作速度とは異なる動作速度をもち、前記共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を選択する情報選択部と、
前記情報選択部により選択された情報を格納するバッファ部と、
所定量の情報の複数分に対する前記情報選択部での情報選択のための選択時間の合計と前記共有リソースでの処理時間の合計とがほぼ等しくなるように、前記情報選択部での情報選択のタイミングを制御するタイミング調整部と、
を備えるリソース管理装置。 - 前記タイミング調整部は、所定量の情報の単数分に対する前記情報選択部での情報選択のための選択時間と前記共有リソースでの処理時間とがほぼ等しくなるように、前記情報選択部での情報選択のタイミングを制御する請求項1に記載のリソース管理装置。
- 前記タイミング調整部は、前記バッファ部における格納情報量に応じて計数の比較基準値を可変する請求項1に記載のリソース管理装置。
- 前記タイミング調整部は、前記バッファ部における格納情報量が閾値より多いときに、前記比較基準値を増大して選択間隔を長くする請求項3に記載のリソース管理装置。
- 前記タイミング調整部は、前記バッファ部における格納情報量が前記閾値よりも多く、かつ、最優先の優先順位をもつバスマスタからの情報が前記情報選択部に転送されていないときは、前記情報選択部に対して情報の選択を禁止するように構成されている請求項3に記載のリソース管理装置。
- 共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を、単位の選択期間ごとに優先順位に基づいて選択するもので、前記単位の選択期間内での最大転送情報量が設定されており、優先順位が最優先のバスマスタからの情報量が前記最大転送情報量以下のときは、前記バスマスタ以外で優先順位が高く、かつ、前記バスマスタの情報量との合計の情報量が前記最大転送情報量以下となる別のバスマスタからの情報を選択する情報選択部と、
前記情報選択部により選択された情報を格納するバッファ部と、
を備えるリソース管理装置。 - 共有リソースに対して複数のバスマスタのいずれかから転送されるコマンドとデータからなる情報を選択する情報選択部と、
前記複数のバスマスタに共通の共有メモリから読み出された所望の情報を格納しておく格納部とを備え、
前記複数のバスマスタの全てが情報を転送していない場合に、予め前記格納部に前記共有メモリから読み出した所望の情報を格納するリソース管理装置。 - 前記情報選択部により選択された情報から前記格納部に格納された情報の読み出しコマンドが出力されたときは、前記共有メモリにアクセスすることなく、前記格納部から情報を読み出す請求項7に記載のリソース管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004247075A JP2005100379A (ja) | 2003-09-04 | 2004-08-26 | リソース管理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003312463 | 2003-09-04 | ||
JP2004247075A JP2005100379A (ja) | 2003-09-04 | 2004-08-26 | リソース管理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005100379A true JP2005100379A (ja) | 2005-04-14 |
Family
ID=34467616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004247075A Withdrawn JP2005100379A (ja) | 2003-09-04 | 2004-08-26 | リソース管理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005100379A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325332A1 (en) * | 2008-02-18 | 2010-12-23 | David L Matthews | Systems And Methods Of Communicatively Coupling A Host Computing Device And A Peripheral Device |
-
2004
- 2004-08-26 JP JP2004247075A patent/JP2005100379A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325332A1 (en) * | 2008-02-18 | 2010-12-23 | David L Matthews | Systems And Methods Of Communicatively Coupling A Host Computing Device And A Peripheral Device |
US8595405B2 (en) * | 2008-02-18 | 2013-11-26 | Hewlett-Packard Development Company, L.P. | Systems and methods of communicatively coupling a host computing device and a peripheral device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7032046B2 (en) | Resource management device for managing access from bus masters to shared resources | |
JP4820566B2 (ja) | メモリアクセス制御回路 | |
JP4480427B2 (ja) | リソース管理装置 | |
US6457114B1 (en) | Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 wide bit gray coded counters | |
EP1861787B1 (en) | Bus access arbitration scheme | |
JP4457168B2 (ja) | 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム | |
JP2006260472A (ja) | メモリアクセス装置 | |
JP2009015832A (ja) | アクセス間調停回路、半導体装置およびアクセス間調停方法 | |
JP2004252960A (ja) | メモリ制御装置 | |
JP4531223B2 (ja) | 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置 | |
US20060095637A1 (en) | Bus control device, arbitration device, integrated circuit device, bus control method, and arbitration method | |
EP1513069B1 (en) | Resource management apparatus | |
JP2009251713A (ja) | キャッシュメモリ制御装置 | |
US6738840B1 (en) | Arrangement with a plurality of processors having an interface for a collective memory | |
JP2004246862A (ja) | リソース管理装置 | |
JP2004295322A (ja) | メモリアクセス制御装置 | |
JP2005100379A (ja) | リソース管理装置 | |
JP4610961B2 (ja) | アクセス制御装置 | |
US6959371B2 (en) | Dynamic access control of a function to a collective resource | |
JP4335327B2 (ja) | 調停装置および方法 | |
JP2002132707A (ja) | メモリアクセス調停方法 | |
US6865635B1 (en) | Access scheme for a collective resource using a plurality of states | |
JP2005346637A (ja) | 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置 | |
JP2006331008A (ja) | メモリインタフェース | |
JP2007164713A (ja) | リソース管理装置及びリソース管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20070126 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081024 |