(57)【要約】【課題】従来のＤＭＡ調停装置においては、セット動作の切り替えの過渡期間において複数ＤＭＡからの要求バンド幅総和がシステムの限界を上回ることがあると、セットの機能破綻が引き起こされるという課題があった。【解決手段】複数マスタそれぞれのＤＭＡ要求を独立して発行するＤＭＡ要求生成部Ｙ１〜Ｙ４と、マスタそれぞれの要求バンド幅Ｗ１〜Ｗ４を個別に算出するＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４と、各要求バンド幅の総和σを求める要求バンド幅総和算出部２１と、要求バンド幅総和σを限界バンド幅σ0 と比較するバンド幅比較部Ｈ０と、比較の結果、要求バンド幅総和σが限界バンド幅σ0 以下のときはＤＭＡ要求生成部Ｙ１〜Ｙ４それぞれのＤＭＡ要求を有効化し、要求バンド幅総和σが限界バンド幅σ0 を上回るときはＤＭＡ要求生成部Ｙ１〜Ｙ４のＤＭＡ要求を無効化するＤＭＡ要求処理手段Ｐ０とを備える。【選択図】図１
2010224866.tif 000002
【特許請求の範囲】
【請求項１】
複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行する複数のＤＭＡ要求生成手段と、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出する複数のＤＭＡ要求バンド幅算出手段と、
前記複数のＤＭＡ要求バンド幅算出手段による各要求バンド幅の総和を求める要求バンド幅総和算出手段と、
前記要求バンド幅総和算出手段で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するバンド幅比較手段と、
前記バンド幅比較手段による比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のＤＭＡ要求生成手段それぞれのＤＭＡ要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記ＤＭＡ要求生成手段のＤＭＡ要求を無効化するＤＭＡ要求処理手段とを備えたＤＭＡ調停装置。
【請求項２】
複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行する複数のＤＭＡ要求生成手段と、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出する複数のＤＭＡ要求バンド幅算出手段と、
前記複数のＤＭＡ要求バンド幅算出手段で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較する複数のバンド幅比較手段と、
前記複数のバンド幅比較手段の１つずつにつき、前記バンド幅比較手段による比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する前記ＤＭＡ要求生成手段のＤＭＡ要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する前記ＤＭＡ要求生成手段のＤＭＡ要求を無効化する複数のＤＭＡ要求処理手段とを備えたＤＭＡ調停装置。
【請求項３】
前記ＤＭＡ要求バンド幅算出手段は、システムの動作状態に基づいて前記要求バンド幅を設定する請求項１または請求項２に記載のＤＭＡ調停装置。
【請求項４】
前記ＤＭＡ要求バンド幅算出手段は、ＤＭＡマスタに対する制御情報に基づいて前記要求バンド幅を設定する請求項１または請求項２に記載のＤＭＡ調停装置。
【請求項５】
前記バンド幅比較手段は、前記限界バンド幅としてある決まった値の限界バンド幅を用いる請求項１から請求項４までのいずれかに記載のＤＭＡ調停装置。
【請求項６】
前記バンド幅比較手段は、前記限界バンド幅としてシステムの同時動作状態の組み合わせに基づいて配分が決定付けられる限界バンド幅を用いる請求項１から請求項４までのいずれかに記載のＤＭＡ調停装置。
【請求項７】
前記バンド幅比較手段は、前記限界バンド幅としてシステムの動作状態に応じて各マスタ個別に設定される限界バンド幅を用いる請求項１から請求項４までのいずれかに記載のＤＭＡ調停装置。
【請求項８】
前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、最後にアクセス要求を発行したマスタについてアクセス停止させる請求項１から請求項７までのいずれかに記載のＤＭＡ調停装置。
【請求項９】
前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、すべてのマスタのアクセスを停止させる請求項１から請求項７までのいずれかに記載のＤＭＡ調停装置。
【請求項１０】
前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、最後にアクセス要求を発行したマスタについて、メモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替える請求項１から請求項７までのいずれかに記載のＤＭＡ調停装置。
【請求項１１】
前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、すべてのマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替える請求項１から請求項７までのいずれかに記載のＤＭＡ調停装置。
【請求項１２】
前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、個々のマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるか、アクセス停止させることの選択を行う請求項１から請求項７までのいずれかに記載のＤＭＡ調停装置。
【請求項１３】
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むＤＭＡ調停方法。
【請求項１４】
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記ＤＭＡ要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記ＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むＤＭＡ調停方法。
【請求項１５】
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なＤＭＡ調停用のプログラム。
【請求項１６】
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記ＤＭＡ要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記ＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なＤＭＡ調停用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＤＭＡ（Direct Memory Access）マスタが存在するシステムにおいて複数のＤＭＡ要求が輻輳した際の調停を行うＤＭＡ調停装置にかかわり、特には、システムの動作状態切り替えの変動が激しい過渡期間において、ＤＭＡ要求が輻輳し瞬間的に大きな負荷がかかるようなことがあっても、システムを破綻させることなく安全にシステム動作状態を切り替えることができるようにするための技術に関する。本発明はまた、ＤＭＡ調停方法およびＤＭＡ調停用のプログラムに関する。
【背景技術】
【０００２】
近年の電子機器（セット）においては、機能の多様化・同時動作のバリエーションの複雑化が進んだことから、システム内に複数のＤＭＡマスタを持たせている。これに伴い、セット動作状態の変化の際に各回路の挙動が変わると、各ＤＭＡマスタが要求するバンド幅（要求バンド幅）の変動が発生する。また、セット動作状態に応じて動作するＤＭＡの個数も変化し、これによる要求バンド幅の変動も発生する。
【０００３】
一方で、各ＤＭＡからの要求バンド幅の総和（要求バンド幅総和）がシステムの限界を上回ると、回路のハングアップや同時動作への影響が発生し、機能破綻につながることがある。よって、セット動作状態の変化に伴いＤＭＡ動作状態を切り替えるには、動作状態の変動が激しい切り替えの過渡期間のいかなる瞬間においても、各ＤＭＡからの要求バンド幅総和がシステムの限界を上回ってはならない。
【０００４】
従来、複数のＤＭＡ要求が輻輳した際の調停を実現するために、さまざまな方式が提案されている。例えば、バスマスタ毎にアクセス開始でインクリメントされアクセス停止でデクリメントされるカウンタを設け、カウント値が閾値を上回ったバスマスタに対しては、カウント値がデクリメントされて初期値に戻るまでそのバスマスタのアクセス要求をマスクすることにより、アクセス要求の輻輳を調停するという技術が提唱されている（特許文献１参照）。
【特許文献１】ＷＯ２００６／００１２４５（特願２００６−５２８５１４号）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の従来のＤＭＡ調停装置は、ある瞬間の要求バンド幅総和がシステム限界に収まっていることを前提にして、メモリアクセスを時間軸方向に分散させるものである。そのため、発行されたアクセス要求がシステムの限界を上回るものであっても、結果的にこれを許容してしまうことになっている。すなわち、この従来技術の場合には、セット動作切り替えの過渡期間において複数ＤＭＡからの要求バンド幅総和がシステムの限界を上回ることがあると、セットの機能破綻が引き起こされるという課題があった。
【０００６】
本発明は、このような事情に鑑みて創作したものであり、システムの動作状態切り替えの変動が激しい過渡期間において、ＤＭＡ要求が輻輳し瞬間的に大きな負荷がかかるようなことがあっても、システムを破綻させることなく安全にシステム動作状態を切り替えることができるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
（１）本発明によるＤＭＡ調停装置は、
複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行する複数のＤＭＡ要求生成手段と、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出する複数のＤＭＡ要求バンド幅算出手段と、
前記複数のＤＭＡ要求バンド幅算出手段による各要求バンド幅の総和を求める要求バンド幅総和算出手段と、
前記要求バンド幅総和算出手段で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するバンド幅比較手段と、
前記バンド幅比較手段による比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のＤＭＡ要求生成手段それぞれのＤＭＡ要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記ＤＭＡ要求生成手段のＤＭＡ要求を無効化するＤＭＡ要求処理手段とを備えたものである。ここで、「ＤＭＡ要求生成手段のＤＭＡ要求を無効化する」とは、最後にアクセス要求を発行したマスタは少なくとも含んでアクセス停止させる場合と、すべてのマスタのアクセスを停止させる場合とを含む意である（後述）。
【０００８】
複数のＤＭＡマスタが存在するシステムにおいて、システム動作状態が激しく変動することがある過渡期間に、要求バンド幅総和が瞬間的にシステム全体での限界バンド幅を上回った場合、複数あるＤＭＡ要求生成手段のＤＭＡ要求のすべてまたは必要ないくつかを無効化することで、メモリアクセスにかかる負荷を軽減し、システム破綻を防ぐ。またその後、システムが定常状態に向かうにつれて要求バンド幅総和がシステム全体での限界バンド幅以下に復帰した際には、先ほど無効化しておいたＤＭＡが許可されるようになるため、定常状態においてはすべてのＤＭＡが必要なバンド幅を獲得することとなる。
【０００９】
（２）また本発明によるＤＭＡ調停装置は、
複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行する複数のＤＭＡ要求生成手段と、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出する複数のＤＭＡ要求バンド幅算出手段と、
前記複数のＤＭＡ要求バンド幅算出手段で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較する複数のバンド幅比較手段と、
前記複数のバンド幅比較手段の１つずつにつき、前記バンド幅比較手段による比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する前記ＤＭＡ要求生成手段のＤＭＡ要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する前記ＤＭＡ要求生成手段のＤＭＡ要求を無効化する複数のＤＭＡ要求処理手段とを備えたものである。ここで（１）との比較上の特徴は、（１）の場合の「各要求バンド幅の総和を求める要求バンド幅総和算出手段」がなく、それぞれ単一のＤＭＡ要求処理手段、バンド幅比較手段の代わりに、個別の複数のＤＭＡ要求処理手段、複数のバンド幅比較手段を有していることである。すなわち、複数のＤＭＡ要求の１つずつについて個別に監視を行うように構成している。各ＤＭＡにそれぞれ個別の限界バンド幅が対応している。
【００１０】
複数のＤＭＡが個別的にそれぞれの要求バンド幅が個別の限界バンド幅を上回るアクセスを要求した場合には、各ＤＭＡが他のＤＭＡとは独立して個別的に停止される。したがって、システム動作切り替えの過渡期間で発生するシステム限界を上回る個別のバンド幅要求を調停しつつ、次のシステム定常状態に向けてホストが要求バンド幅の変更や限界バンド幅の更新を行うことにより、最終的に、各ＤＭＡが必要とするバンド幅を獲得することが可能となる。
【００１１】
（３）上記（１），（２）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求バンド幅算出手段は、システムの動作状態に基づいて前記要求バンド幅を設定するという態様がある。かかる構成により、ホストに負荷をかけることなく、各種システム動作状態から要求バンド幅を予め定義することが可能となる。
【００１２】
（４）また上記（１），（２）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求バンド幅算出手段は、ＤＭＡマスタに対する制御情報に基づいて前記要求バンド幅を設定するという態様がある。かかる構成により、どのようなシステム動作状態においても、ホストの処理により、各ＤＭＡの要求バンド幅を算出することが可能となる。
【００１３】
（５）また上記の（１）〜（４）の構成のＤＭＡ調停装置において、前記バンド幅比較手段は、前記限界バンド幅としてある決まった値の限界バンド幅を用いるという態様がある。かかる構成により、システムに搭載されたメモリスペックから限界バンド幅を決定するといった用途が可能になる。
【００１４】
（６）また上記の（１）〜（４）の構成のＤＭＡ調停装置において、前記バンド幅比較手段は、前記限界バンド幅としてシステムの同時動作状態の組み合わせに基づいて配分が決定付けられる限界バンド幅を用いるという態様がある。かかる構成により、システムが複数の同時動作状態を持つ場合に、各動作に割り振る限界バンド幅を自由に決定することが可能となる。
【００１５】
（７）また上記の（１）〜（４）の構成のＤＭＡ調停装置において、前記バンド幅比較手段は、前記限界バンド幅としてシステムの動作状態に応じて各マスタ個別に設定される限界バンド幅を用いるという態様がある。かかる構成により、各ＤＭＡの限界バンド幅を事前に決定することが可能となる。
【００１６】
（８）また上記の（１）〜（７）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、最後にアクセス要求を発行したマスタについてアクセス停止させるという態様がある。かかる構成により、最後にアクセス要求を発行したマスタ以外からのアクセスを阻害せず、またホストからのＤＭＡ制御の回数を最小に抑えて、システム動作状態の切り替えを高速に行うことが可能となる。
【００１７】
（９）また上記の（１）〜（７）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、すべてのマスタのアクセスを停止させるという態様がある。かかる構成により、多岐にわたるシステム動作状態の切り替えの組み合わせにおいて、常にホストからの制御を同一化し、ホスト側の処理を簡略化することが可能となる。
【００１８】
（１０）また上記の（１）〜（７）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、最後にアクセス要求を発行したマスタについて、メモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるという態様がある。かかる構成により、最後にアクセス要求を発行したマスタ以外からのアクセスを阻害せず、またホストに負荷をかけることなく、要求バンド幅を抑制することが可能となる。
【００１９】
（１１）また上記の（１）〜（７）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、すべてのマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるという態様がある。かかる構成により、ホストに負荷をかけることなく、要求バンド幅を抑制することが可能となる。
【００２０】
（１２）また上記の（１）〜（７）の構成のＤＭＡ調停装置において、前記ＤＭＡ要求処理手段は、前記複数のＤＭＡ要求生成手段のＤＭＡ要求を無効化する態様として、個々のマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるか、アクセス停止させることの選択を行うという態様がある。かかる構成により、要求バンド幅が限界バンド幅を上回った場合の調停において、多様な特性を持った各ＤＭＡに対し、各ＤＭＡの制御に費やす時間やアクセス要求元に与える影響を考慮にいれた上でＤＭＡ停止かダミーアクセス化かを切り替えることができるため、バンド幅破綻回避のために最適な対応を選択することが可能となる。
【００２１】
（１３）また、本発明によるＤＭＡ調停方法は、
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むものである。かかる構成により、（１）の構成によるのと同様の効果が得られる。
【００２２】
（１４）また、本発明によるＤＭＡ調停方法は、
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記ＤＭＡ要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記ＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むものである。かかる構成により、（２）の構成によるのと同様の効果が得られる。
【００２３】
（１５）また、本発明によるＤＭＡ調停用のプログラムは、
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なプログラムである。かかる構成により、（１）の構成によるのと同様の効果が得られる。
【００２４】
（１６）また、本発明によるＤＭＡ調停用のプログラムは、
複数のＤＭＡマスタが存在するシステムにおいて、
前記複数のＤＭＡマスタそれぞれのＤＭＡ要求を独立して発行するステップと、
前記複数のＤＭＡマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記ＤＭＡ要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記ＤＭＡ要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なプログラムである。かかる構成により、（２）の構成によるのと同様の効果が得られる。
【発明の効果】
【００２５】
本発明によれば、ＤＭＡ調停側で要求バンド幅総和または個別の要求バンド幅を限界バンド幅と比較しつつ、常に実アクセスがシステム限界に収まるようにＤＭＡ要求を調停するため、システム動作状態切り替えの変動が激しい過渡期間において、各ＤＭＡを制御するホスト上のモジュールがバンド幅制約を意識することなくＤＭＡ要求を発行し、その結果、ＤＭＡ要求が輻輳し瞬間的に大きな負荷がかかるようなことがあっても、システムを破綻させることなく安全にシステム動作状態を切り替えることができる。
【発明を実施するための最良の形態】
【００２６】
以下、ＤＭＡ調停装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２７】
（実施の形態１）
図１は本発明の実施の形態１におけるＤＭＡ調停装置を包含したシステム全体の構成を示すブロック図である。
【００２８】
このシステムは、ホストＣＰＵ１０と、ＤＭＡ要求調停部２０と、各ＤＭＡを実際に制御する複数のＤＭＡ制御部Ｃ１〜Ｃ４と、メモリＩ／Ｆ（インターフェース）３０と、メモリ４０とを備えている。
【００２９】
ホストＣＰＵ１０は、システム動作状態判定部１１と、複数のＤＭＡ要求生成部Ｙ１〜Ｙ４と、個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４とを包含している。
【００３０】
またＤＭＡ要求調停部２０は、要求バンド幅総和算出部２１と、ＤＭＡ要求処理部Ｐ０と、バンド幅比較部Ｈ０と、限界バンド幅保持部Ｇ０とから構成されている。
【００３１】
ホストＣＰＵ１０におけるシステム動作状態判定部１１は、刻々変動するシステムの動作状態に応じて個々のＤＭＡ要求生成部Ｙ１〜Ｙ４を制御し、また各ＤＭＡの設定状況を個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４に通知するとともに、実装されているメモリスペックから算出されるシステム全体での限界バンド幅σ0 を限界バンド幅保持部Ｇ０に通知するように構成されている。
【００３２】
ホストＣＰＵ１０における個々のＤＭＡ要求生成部Ｙ１〜Ｙ４は、システム動作状態判定部１１からの指示（刻々変動するシステムの動作状態）により、ＤＭＡ要求調停部２０におけるＤＭＡ要求処理部Ｐ０および要求バンド幅総和算出部２１に対して必要なＤＭＡのリクエストを発行するものとして構成されている。
【００３３】
ホストＣＰＵ１０における個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４は、システム動作状態判定部１１から受け取った各ＤＭＡの設定状況に応じてそれぞれの要求バンド幅Ｗ１〜Ｗ４を算出し、算出結果の要求バンド幅Ｗ１〜Ｗ４を要求バンド幅総和算出部２１に送出するものとして構成されている。
【００３４】
ＤＭＡ要求調停部２０における要求バンド幅総和算出部２１は、ホストＣＰＵ１０におけるＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストとＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４からの要求バンド幅Ｗ１〜Ｗ４とを入力とし、入力した要求バンド幅Ｗ１〜Ｗ４のうちでＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストが活性化されているものに対応するものの総和を算出し、要求バンド幅総和σとしてバンド幅比較部Ｈ０に送出するように構成されている。
【００３５】
要求バンド幅総和σは要求バンド幅Ｗ１〜Ｗ４の総和であるが、非活性のものに対応する要求バンド幅Ｗｉ（ｉ＝１，２…）は無視される（０の扱い）。σ＝ΣＷｉ＝Ｗ１
＋Ｗ２＋Ｗ３＋Ｗ４であるが、もし仮に要求バンド幅Ｗ３が非活性に対応していればＷ３＝０であるので、σ＝Ｗ１＋Ｗ２＋Ｗ４となり、仮に要求バンド幅Ｗ１，Ｗ４が非活性に対応していれば、σ＝Ｗ２＋Ｗ３となり、仮に要求バンド幅Ｗ１，Ｗ２，Ｗ３が非活性に対応していれば、σ＝Ｗ４となる。
【００３６】
ＤＭＡ要求調停部２０における限界バンド幅保持部Ｇ０は、ホストＣＰＵ１０におけるシステム動作状態判定部１１から実装のメモリスペックに対応するシステム全体での限界バンド幅σ0 を入力して保持し、さらに保持した限界バンド幅σ0 をバンド幅比較部Ｈ０に出力するように構成されている。
【００３７】
ＤＭＡ要求調停部２０におけるバンド幅比較部Ｈ０は、要求バンド幅総和算出部２１からの要求バンド幅総和σと限界バンド幅保持部Ｇ０からのシステム全体での限界バンド幅σ0 とを入力して、両者を比較し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下のときはＤＭＡ要求を有効化すべくＤＭＡ停止信号ＳpをインアクティブにしてＤＭＡ要求処理部Ｐ０に出力し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回っているときはＤＭＡ要求を無効化すべくＤＭＡ停止信号ＳpをアクティブにしてＤＭＡ要求処理部Ｐ０に出力するものとして構成されている。
【００３８】
ＤＭＡ要求調停部２０におけるＤＭＡ要求処理部Ｐ０は、複数のＤＭＡ要求生成部Ｙ１〜Ｙ４および複数のＤＭＡ制御部Ｃ１〜Ｃ４に共通のもので、バンド幅比較部Ｈ０からのＤＭＡ停止信号Ｓpがインアクティブで許可を示しているのであれば、ＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストをスルーさせてそれぞれ対応するＤＭＡ制御部Ｃ１〜Ｃ４に送出する一方、バンド幅比較部Ｈ０からのＤＭＡ停止信号Ｓpがアクティブで停止を指示しているのであれば、ＤＭＡ要求生成部Ｙ１〜Ｙ４のＤＭＡリクエストを停止するものとして構成されている。
【００３９】
次に、上記構成の本実施の形態のＤＭＡ調停装置による実際のメモリアクセス調停動作を説明する。
【００４０】
まず、ホストＣＰＵ１０におけるシステム動作状態判定部１１が刻々変動するシステムの動作状態に応じて個々のＤＭＡ要求生成部Ｙ１〜Ｙ４を制御する。個々のＤＭＡ要求生成部Ｙ１〜Ｙ４は、刻々変動するシステムの動作状態に応じて必要なＤＭＡのリクエストを発行する。このＤＭＡのリクエストは要求バンド幅総和算出部２１とＤＭＡ要求処理部Ｐ０に送出される。並行して、ホストＣＰＵ１０におけるシステム動作状態判定部１１は、各ＤＭＡの設定状況を個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４に通知するとともに、システム全体での限界バンド幅σ0 を限界バンド幅保持部Ｇ０に通知する。
【００４１】
システム動作状態判定部１１から各ＤＭＡの設定状況を受け取った個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４は、受け取った各ＤＭＡの設定状況に応じてそれぞれの要求バンド幅Ｗ１〜Ｗ４を算出し、算出結果の要求バンド幅Ｗ１〜Ｗ４を要求バンド幅総和算出部２１に送出する。
【００４２】
この要求バンド幅Ｗ１〜Ｗ４の計算においては、次式に示すように、映像１枚分の情報量と、その映像へメモリアクセスする周波数さえ判明していれば、要求バンド幅の算出が可能となる。メモリ上のグラフィックス映像がＮ画素で、Ａビット／ピクセルをＱｆｐｓ（frame per second）で読み出す場合の要求バンド幅Ｗの計算式は、
Ｗ＝Ｎ×Ａ／８×Ｑ（ＭＢ／ｓ）
となる。一例を挙げると、１９２０×１０８０画素で、１６ビット／ピクセルを２９．９７ｆｐｓで読み出す場合、要求バンド幅Ｗは、
Ｗ＝1920×1080(画素)×16/8(bytes)×29.97(fps)=124.3(MB/s)
となる。
【００４３】
ＤＭＡ要求調停部２０における要求バンド幅総和算出部２１は、ＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストを受け取るとともに、ＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４からの要求バンド幅Ｗ１〜Ｗ４を入力し、要求バンド幅Ｗ１〜Ｗ４のうちでＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストが活性化されているものに対応するものの総和を算出し、算出結果をシステム全体における各ＤＭＡの要求バンド幅の総和である要求バンド幅総和σとしてバンド幅比較部Ｈ０に送出する。限界バンド幅保持部Ｇ０は、システム動作状態判定部１１から送られてくるシステム全体での限界バンド幅σ0 を入力して保持し、保持したシステム全体での限界バンド幅σ0 をバンド幅比較部Ｈ０に出力する。
【００４４】
バンド幅比較部Ｈ０は、入力した要求バンド幅総和σをシステム全体での限界バンド幅σ0 と比較し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下のときはＤＭＡ要求を有効化すべくＤＭＡ停止信号ＳpをインアクティブにしてＤＭＡ要求処理部Ｐ０に出力し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回っているときはＤＭＡ要求を無効化すべくＤＭＡ停止信号ＳpをアクティブにしてＤＭＡ要求処理部Ｐ０に出力する。
【００４５】
ＤＭＡ要求調停部２０におけるＤＭＡ要求処理部Ｐ０は、バンド幅比較部Ｈ０からのＤＭＡ停止信号Ｓpがインアクティブで許可を示しているのであれば、ＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストをスルーさせてそれぞれ対応するＤＭＡ制御部Ｃ１〜Ｃ４に送出する一方、バンド幅比較部Ｈ０からのＤＭＡ停止信号Ｓpがアクティブで停止を指示しているのであれば、ＤＭＡ要求生成部Ｙ１〜Ｙ４のＤＭＡリクエストを停止する。
【００４６】
ここで、ＤＭＡ停止信号Ｓpがアクティブの場合のＤＭＡ要求生成部Ｙ１〜Ｙ４のＤＭＡリクエストの停止の態様につき、要求発行しているＤＭＡを全停止してもよいし、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回る引き金となったところの、最後にＤＭＡ要求を発行または設定更新したＤＭＡのみを停止するのでもよい。
【００４７】
また、メモリ４０へ限界以上の負荷をかけないという観点では、ＤＭＡ要求処理部Ｐ０は、ＤＭＡ停止指示の代わりに、メモリＩ／Ｆ３０に対して、ＤＭＡをダミーアクセス化するための指示を発行する方式でもかまわない。その場合、全ＤＭＡをダミーアクセス化してもよいし、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回る引き金となったところの、最後にＤＭＡ要求を発行または設定更新したＤＭＡのみをダミーアクセス化してもかまわない。あるいは、ＤＭＡ各々の特性に応じて、ＤＭＡ停止とダミーアクセス化を個々に選択できる構成でもかまわない。
【００４８】
以上のようにして全部または一部のＤＭＡを停止したとすると、次第に要求バンド幅総和σが減少するようになる。その結果として、要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下となるに至ったとすると、バンド幅比較部Ｈ０は、今度はＤＭＡ停止信号Ｓpをインアクティブにして出力する。すなわち、ＤＭＡ要求処理部Ｐ０に対する停止の指示またはダミーアクセス化指示を解除する。その結果として、最終的には、ＤＭＡ要求生成部Ｙ１〜Ｙ４が発行しているＤＭＡ要求がそのまま各ＤＭＡ制御部Ｃ１〜Ｃ４に到達することになり、定常状態として正常なシステム動作が続行される。
【００４９】
このような機構により、システムの動作状態切り替えの変動が激しい過渡期間において、ＤＭＡ起動と停止の要求が輻輳し瞬間的に要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回ってシステム破綻を招きかねない場面において、本ＤＭＡ調停装置がシステム破綻を事前に察知し、ＤＭＡ要求を調停していくことで、システムの動作切り替えを安全に行うことができる。
【００５０】
なお、本実施の形態の変形の態様として次のものが考えられる。
【００５１】
ＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４による要求バンド幅Ｗ１〜Ｗ４の算出については、上に述べた、各ＤＭＡの設定状況からの算出のほかに、システム動作のユースケースから算出する方法も考えられる。これを、例えば図２でテーブル情報で例示する。再生または視聴するコンテンツが決定すれば、各ＤＭＡの役割が自ずと決まり、要求されるバンド幅も一意に決まる。そこで、図２のようなテーブル情報を各ＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４に保持させておく。システム動作状態判定部１１がＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４に対してユースケース通知を行う。ＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４は、受け取ったユースケース通知に従って図２の情報テーブルを検索し、該当の動作状態における各ＤＭＡの要求バンド幅Ｗ１〜Ｗ４を求める。
【００５２】
例えば、ＤＶＤ（Digital Versatile Disc）の再生の場合には、第１のＤＭＡ要求バンド幅算出部Ｂ１は要求バンド幅Ｗ１として２４０ＭＢ／ｓを設定し、第２のＤＭＡ要求バンド幅算出部Ｂ２は要求バンド幅Ｗ２として６０ＭＢ／ｓを設定し、第３および第４のＤＭＡ要求バンド幅算出部Ｂ３，Ｂ４は要求バンド幅Ｗ３，Ｗ４としてそれぞれ１００ＭＢ／ｓを設定する。また、ＢＤ−ＲＯＭ（BluRay Disc Read Only Memory）の再生の場合には、第１のＤＭＡ要求バンド幅算出部Ｂ１は要求バンド幅Ｗ１として４８０ＭＢ／ｓを設定し、第２のＤＭＡ要求バンド幅算出部Ｂ２は要求バンド幅Ｗ２として３０ＭＢ／ｓを設定し、第３のＤＭＡ要求バンド幅算出部Ｂ３は要求バンド幅Ｗ３として５０ＭＢ／ｓを設定し、第４のＤＭＡ要求バンド幅算出部Ｂ４は要求バンド幅Ｗ４として２００ＭＢ／ｓを設定する。また、ＤＴＶ（デジタルテレビ）の視聴の場合には、第１のＤＭＡ要求バンド幅算出部Ｂ１は要求バンド幅Ｗ１として４８０ＭＢ／ｓを設定し、第２および第３のＤＭＡ要求バンド幅算出部Ｂ２，Ｂ３は要求バンド幅Ｗ２，Ｗ３として０ＭＢ／ｓを設定し、第４のＤＭＡ要求バンド幅算出部Ｂ４は要求バンド幅Ｗ４として５００ＭＢ／ｓを設定する。
【００５３】
また、システム動作状態判定部１１が限界バンド幅保持部Ｇ０に対して送出するシステム全体での限界バンド幅σ0 の算出については、上に述べたメモリスペックから決定する固定値を用いる場合のほかに、システムの同時動作の組み合わせから各動作への配分を決定する方式も考えられる。これを、例えば図３のテーブル情報で例示する。視聴側とバックグラウンド側とで個別に動作ができるシステムでは、各々の動作組み合わせにおける重要度を考慮し、限界バンド幅σ0 の割り付けを変更することができる。この場合は限界バンド幅保持部Ｇ０が図３に示されるテーブル情報を保持し、システム動作状態判定部１１が限界バンド幅保持部Ｇ０へ同時動作の組み合わせ番号を通知することで、制御対象のＤＭＡが属する動作側の限界バンド幅σ0 を求めることができる。
【００５４】
例えば、視聴側動作がＤＴＶ再生でバックグラウンド側動作がＤＴＶ録画の組み合わせ＃１の場合には、限界バンド幅σ0 について視聴側動作で５００ＭＢ／ｓ、バックグラウンド側動作でも５００ＭＢ／ｓに設定する。また、視聴側動作がＢＤ−ＲＯＭ再生（プライマリ）でバックグラウンド側動作がＢＤ−ＲＯＭ再生（セカンダリ）の組み合わせ＃２の場合には、限界バンド幅σ0 について視聴側動作で７００ＭＢ／ｓ、バックグラウンド側動作で３００ＭＢ／ｓに設定する。また、視聴側動作がＢＤ−ＲＯＭ再生（限定付きプライマリ）でバックグラウンド側動作がＤＴＶ録画の組み合わせ＃３の場合には、限界バンド幅σ0 について視聴側動作で５００ＭＢ／ｓ、バックグラウンド側動作でも５００ＭＢ／ｓに設定する。
【００５５】
以上詳述したように本実施の形態によれば、複数のＤＭＡマスタが存在するシステムにおいて、システム動作状態が激しく変動することがある過渡期間において、要求バンド幅総和σが瞬間的にシステム全体での限界バンド幅σ0 を上回った場合、複数あるＤＭＡ要求生成部Ｙ１〜Ｙ４のＤＭＡ要求のすべてまたは必要ないくつかを無効化することで、メモリアクセスにかかる負荷を軽減し、システム破綻を防ぐことができる。またその後、システムが定常状態に向かうにつれて要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下に復帰した際には、先ほど無効化しておいたＤＭＡが許可されるようになるため、定常状態においてはすべてのＤＭＡが必要なバンド幅を獲得することができる。
【００５６】
（実施の形態２）
図４は本発明の実施の形態２におけるＤＭＡ調停装置を包含したシステム全体の構成を示すブロック図である。
【００５７】
本実施の形態においては、ホストＣＰＵ１０、複数のＤＭＡ制御部Ｃ１〜Ｃ４、メモリＩ／Ｆ３０と、メモリ４０については、実施の形態１と同じである。そして、ＤＭＡ要求調停部２０においては、実施の形態１の場合の単一のＤＭＡ要求処理部Ｐ０がなく、代わりに個々のＤＭＡ要求生成部Ｙ１〜Ｙ４に対応して複数のＤＭＡ要求処理部Ｐ１〜Ｐ４が設けられ、また実施の形態１の場合の要求バンド幅総和算出部２１がなく、個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４に対応して複数のバンド幅比較部Ｈ１〜Ｈ４が設けられ、さらに実施の形態１の場合の単一の限界バンド幅保持部Ｇ０に代えて複数の限界バンド幅保持部Ｇ１〜Ｇ４が設けられている。
【００５８】
ホストＣＰＵ１０における個々のＤＭＡ要求生成部Ｙ１〜Ｙ４は、それぞれ、ＤＭＡ要求調停部２０における個別のＤＭＡ要求処理部Ｐ１〜Ｐ４に対して必要なＤＭＡのリクエストを発行するように構成されている。
【００５９】
ホストＣＰＵ１０における個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４は、それぞれ、算出結果の要求バンド幅Ｗ１〜Ｗ４を個別のバンド幅比較部Ｈ１〜Ｈ４に送出するように構成されている。
【００６０】
ホストＣＰＵ１０におけるシステム動作状態判定部１１は、現在のユースケースを限界バンド幅保持部Ｇ１〜Ｇ４に通知するように構成されている。そして、ＤＭＡ要求調停部２０における個々の限界バンド幅保持部Ｇ１〜Ｇ４は、その内部に、図５に示すようなユースケース毎の各ＤＭＡの限界バンド幅テーブル情報を保持しており、システム動作状態判定部１１からのユースケース通知に従って現在の自担当ＤＭＡの個別の限界バンド幅Ｗo1，Ｗo2，Ｗo3，Ｗo4を知り、それぞれバンド幅比較部Ｈ１〜Ｈ４へ通知するように構成されている。
【００６１】
バンド幅比較部Ｈ１〜Ｈ４のそれぞれは、ＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４からの要求バンド幅Ｗ１〜Ｗ４をそれぞれ限界バンド幅保持部Ｇ１〜Ｇ４からの個別の限界バンド幅Ｗo1，Ｗo2，Ｗo3，Ｗo4と比較し、要求バンド幅Ｗ１〜Ｗ４のそれぞれが個別の限界バンド幅Ｗo1，Ｗo2，Ｗo3，Ｗo4以下のときはＤＭＡ要求を有効化すべくＤＭＡ停止信号Ｓp1，Ｓp2，Ｓp3，Ｓp4をインアクティブにしてＤＭＡ要求処理部Ｐ１〜Ｐ４に出力し、要求バンド幅Ｗ１〜Ｗ４のそれぞれが個別の限界バンド幅Ｗo1，Ｗo2，Ｗo3，Ｗo4を上回っているときはＤＭＡ要求を無効化すべくＤＭＡ停止信号Ｓp1，Ｓp2，Ｓp3，Ｓp4をアクティブにしてＤＭＡ要求処理部Ｐ１〜Ｐ４に出力するものとして構成されている。
【００６２】
個々のＤＭＡ要求処理部Ｐ１〜Ｐ４は、それぞれバンド幅比較部Ｈ１〜Ｈ４からのＤＭＡ停止信号Ｓp1，Ｓp2，Ｓp3，Ｓp4がインアクティブで許可を示しているのであれば、ＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡリクエストをスルーさせてそれぞれ対応するＤＭＡ制御部Ｃ１〜Ｃ４に送出する一方、バンド幅比較部Ｈ１〜Ｈ４からのＤＭＡ停止信号Ｓp1，Ｓp2，Ｓp3，Ｓp4がアクティブで停止を指示しているのであれば、ＤＭＡ要求生成部Ｙ１〜Ｙ４のＤＭＡリクエストを停止するものとして構成されている。
【００６３】
その他の構成については、実施の形態１の場合と同様であるので、説明を省略する。
【００６４】
次に、上記構成の本実施の形態のＤＭＡ調停装置による実際のメモリアクセス調停動作を説明する。
【００６５】
まず、ホストＣＰＵ１０がシステムの動作状態に応じてＤＭＡ要求生成部Ｙ１〜Ｙ４を経由し、必要なＤＭＡのリクエストを発行し、その一方で、個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４において各ＤＭＡの設定状況を基に各ＤＭＡが要求するバンド幅を算出する。さらに、各限界バンド幅保持部Ｇ１〜Ｇ４は、システム動作状態判定部１１からのユースケース通知に基づいて現在の自担当ＤＭＡの個別の限界バンド幅Ｗo1，Ｗo2，Ｗo3，Ｗo4を選択して保持し、バンド幅比較部Ｈ１〜Ｈ４へ通知する。バンド幅比較部Ｈ１〜Ｈ４は、個々のＤＭＡ要求バンド幅算出部Ｂ１〜Ｂ４および限界バンド幅保持部Ｇ１〜Ｇ４からの通知を受け、各ＤＭＡごとに要求が限界を上回っているか否かの判定を行う。
【００６６】
すなわち、バンド幅比較部Ｈ１は、ＤＭＡ要求バンド幅算出部Ｂ１からの個別の要求バンド幅Ｗ１を限界バンド幅保持部Ｇ１からの個別の限界バンド幅Ｗo1と比較し、以下のときはＤＭＡ要求を有効化すべくＤＭＡ停止信号Ｓp1をインアクティブにしてＤＭＡ要求処理部Ｐ１に出力し、上回っているときはＤＭＡ要求を無効化すべくＤＭＡ停止信号Ｓp1をアクティブにしてＤＭＡ要求処理部Ｐ１に出力する。同様に、バンド幅比較部Ｈ２は、ＤＭＡ要求バンド幅算出部Ｂ２からの要求バンド幅Ｗ２を限界バンド幅保持部Ｇ２からの限界バンド幅Ｗo2と比較し、以下のときはＤＭＡ停止信号Ｓp2をインアクティブにしてＤＭＡ要求処理部Ｐ２に出力し、上回っているときはＤＭＡ停止信号Ｓp2をアクティブにしてＤＭＡ要求処理部Ｐ２に出力する。同様に、バンド幅比較部Ｈ３は、ＤＭＡ要求バンド幅算出部Ｂ３からの要求バンド幅Ｗ３を限界バンド幅保持部Ｇ３からの限界バンド幅Ｗo3と比較し、以下のときはＤＭＡ停止信号Ｓp3をインアクティブにしてＤＭＡ要求処理部Ｐ３に出力し、上回っているときはＤＭＡ停止信号Ｓp3をアクティブにしてＤＭＡ要求処理部Ｐ３に出力する。同様に、バンド幅比較部Ｈ４は、ＤＭＡ要求バンド幅算出部Ｂ４からの要求バンド幅Ｗ４を限界バンド幅保持部Ｇ４からの限界バンド幅Ｗo4と比較し、以下のときはＤＭＡ停止信号Ｓp4をインアクティブにしてＤＭＡ要求処理部Ｐ４に出力し、上回っているときはＤＭＡ停止信号Ｓp4をアクティブにしてＤＭＡ要求処理部Ｐ４に出力する。
【００６７】
ＤＭＡ要求処理部Ｐ１〜Ｐ４のそれぞれは、ＤＭＡ要求生成部Ｙ１〜Ｙ４からのＤＭＡ要求があり、かつバンド幅比較部Ｈ１〜Ｈ４からのＤＭＡ停止信号Ｓp1〜Ｓp4がインアクティブで許可状態である場合には、ＤＭＡ制御部Ｃ１〜Ｃ４へＤＭＡ起動を要求し、逆に、ＤＭＡ停止信号Ｓp1〜Ｓp4がアクティブで不許可状態である場合には、ＤＭＡ制御部Ｃ１〜Ｃ４へのＤＭＡ要求を停止する。これらの制御は、個々のＤＭＡ要求ごとに独立的に行われる。
【００６８】
以上の制御の結果、個別の要求バンド幅Ｗ１〜Ｗ４がそれぞれ個別の限界バンド幅Ｗo1〜Ｗo4以下に戻った場合に、もしその時点でＤＭＡに対して停止指示もしくはダミーアクセス化指示を発行していた場合、その指示を解除する。こうすることで、最終的にはＤＭＡ要求生成部Ｙ１〜Ｙ４が発行したＤＭＡ要求がそのまま各ＤＭＡ制御部Ｃ１〜Ｃ４に到達し、定常状態として正常なシステム動作が再開される。
【００６９】
以上詳述したように本実施の形態によれば、システムの動作状態切り替えの変動が激しい過渡期間において、ＤＭＡ起動と停止の要求が輻輳し瞬間的に個々の要求バンド幅Ｗ１〜Ｗ４が個別的に個別の限界バンド幅Ｗo1〜Ｗo4を上回りシステム破綻を招きかねない場面において、本ＤＭＡ調停装置がシステム破綻を事前に察知し、ＤＭＡ要求を調停していくことで、システムの動作切り替えを安全に行うことができる。各ＤＭＡが他のＤＭＡとは独立して個別的に停止される。したがって、システム動作切り替えの過渡期間で発生するシステム限界を上回る個別のバンド幅要求を調停しつつ、次のシステム定常状態に向けてホストが要求バンド幅の変更や限界バンド幅の更新を行うことにより、最終的に、各ＤＭＡが必要とするバンド幅を獲得することができる。
【００７０】
なお、上述した実施の形態１，２における処理は、これをソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布してもよい。
【００７１】
本発明は、以上の実施の形態に限定されることなく、本発明の技術的範囲内で種々の変更が可能である。
【産業上の利用可能性】
【００７２】
本発明の技術は、システムの動作状態切り替えの変動が激しい過渡期間において、ＤＭＡ起動と停止の要求が輻輳し瞬間的に要求バンド幅総和または個別の要求バンド幅がシステム限界を上回りシステム破綻を招きかねない場面において、システムの動作切り替えを安全に行えるという効果を有し、ＤＭＡ調停装置等として有用である。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施の形態１におけるＤＭＡ調停装置を包含したシステム全体の構成を示すブロック図
【図２】本発明の実施の形態１において、各ＤＭＡの要求バンド幅をシステムのユースケースから求めるためのユースケースと要求バンド幅の対応表
【図３】本発明実施の形態１において、システム同時動作組み合わせから限界バンド幅配分を決定するための配分表の一例
【図４】本発明の実施の形態２におけるＤＭＡ調停装置を包含したシステム全体の構成を示すブロック図
【図５】本発明実施の形態２において、システムのユースケースから限界バンド幅をＤＭＡ個別に決定するための限界バンド幅一覧の例
【符号の説明】
【００７４】
１０  ホストＣＰＵ
１１  システム動作状態判定部
２０  ＤＭＡ要求調停部
２１  要求バンド幅総和算出部
３０  メモリＩ／Ｆ
４０  メモリ
Ｙ１〜Ｙ４  ＤＭＡ要求生成部
Ｂ１〜Ｂ４  ＤＭＡ要求バンド幅算出部
Ｐ０，Ｐ１〜Ｐ４  ＤＭＡ要求処理部
Ｈ０，Ｈ１〜Ｈ４  バンド幅比較部
Ｇ０，Ｇ１〜Ｇ４  限界バンド幅保持部
Ｃ１〜Ｃ４  ＤＭＡ制御部
Ｗ１〜Ｗ４  要求バンド幅
Ｗo1〜Ｗo4  個別の限界バンド幅
σ  要求バンド幅総和
σ0   システム全体での限界バンド幅
Ｓp，Ｓp1，Ｓp2，Ｓp3，Ｓp4  ＤＭＡ停止信号
【図１】
2010224866.tif 000003
【図２】
2010224866.tif 000004
【図３】
2010224866.tif 000005
【図４】
2010224866.tif 000006
【図５】
2010224866.tif 000007