(57)【要約】【課題】ＤＭＡ転送を動的に制御してデータ転送の効率を高める。【解決手段】メモリと複数の入出力デバイスとの組み合わせからなるＤＭＡチャネル毎にＤＭＡ転送を行うＤＭＡアービタと、ＤＭＡアービタを制御するＤＭＡ制御回路からなるＤＭＡ転送制御装置において、判定部１１と、ＤＭＡ転送要求に伴うＤＭＡ転送サイズと判定時刻とに基づいて次回のＤＭＡ転送予定時刻を算出する転送時刻計算部１２と、を備える。単位時間間隔で判定時刻を計時するタイマカウンタ１３と、ＤＭＡ転送要求が到来したときの判定時刻とＤＭＡ転送予定時刻とを比較する比較器１０と、を備え、判定部１１は、判定時刻がＤＭＡ転送予定時刻以降であることを比較器１０の出力が示す場合にＤＭＡアービタへＤＭＡ転送許可として送出する。【選択図】図２
2010282352.tif 000002
【特許請求の範囲】
【請求項１】
メモリと複数の入出力デバイスとの組み合わせからなるＤＭＡチャネル毎にＤＭＡ転送を行うＤＭＡアービタと、ＤＭＡアービタを制御するＤＭＡ制御回路からなるＤＭＡ転送制御装置であって、
前記入出力デバイスからＤＭＡ転送要求が到来したときの判定時刻がＤＭＡ転送予定時刻以降である場合に前記ＤＭＡアービタへＤＭＡ転送許可として送出する判定部と、
前記ＤＭＡ転送要求に伴うＤＭＡ転送サイズと前記判定時刻とに基づいて次回の前記ＤＭＡ転送予定時刻を算出する転送時刻計算部と、
を備えることを特徴とするＤＭＡ転送制御装置。
【請求項２】
単位時間間隔で前記判定時刻を計時するタイマカウンタと、
前記ＤＭＡ転送要求が到来したときの前記判定時刻と前記ＤＭＡ転送予定時刻とを比較する比較器と、
を備え、
前記判定部は、前記判定時刻が前記ＤＭＡ転送予定時刻以降であることを前記比較器の出力が示す場合に前記ＤＭＡアービタへＤＭＡ転送許可として送出し、前記判定時刻が前記ＤＭＡ転送予定時刻より早いことを前記比較器の出力が示す場合に前記ＤＭＡアービタへＤＭＡ不転送許可として送出することを特徴とする請求項１記載のＤＭＡ転送制御装置。
【請求項３】
前記転送時刻計算部は、
前記ＤＭＡ転送要求に伴うＤＭＡ転送サイズの設定値と前記ＤＭＡ転送サイズあたりのＤＭＡ転送間隔の設定値とを乗算し前記判定時刻を加算する計算部と、
前記計算部の計算結果を次回の前記ＤＭＡ転送予定時刻として保持するレジスタと、
を備えることを特徴とする請求項１記載のＤＭＡ転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ転送制御装置に関し、特にＤＭＡ転送を動的に制御するＤＭＡ転送制御装置に関する。
【背景技術】
【０００２】
コンピュータシステム等において、ＣＰＵに負荷をかけずにデータ転送を行うために、ＤＭＡ（ダイレクトメモリアクセス）が一般に用いられる。ＤＭＡによるデータ転送は、ＤＭＡ転送制御装置によって制御され、メモリと入出力デバイスとの間で行われる。入出力デバイスが複数存在し、それぞれの入出力デバイスからのデータ転送要求がある場合、ＤＭＡ転送制御装置も複数設けられる。これらのデータ転送のパスをＤＭＡチャネルと呼ぶ。
【０００３】
複数のＤＭＡチャネルが存在する場合、メモリと複数の入出力デバイスが共通に接続されるシステムバスを利用するために、各データ転送要求間の調停がアービタによって行なわれる。調停方法としては、回転優先順位法（ラウンドロビン法）や固定優先順位法が知られている（例えば、特許文献１参照）。
【０００４】
しかしながら、このような調停方法は、データ転送レートを動的に制御したい場合には向いていない。そこで、ＤＭＡ転送速度を測定し、ＤＭＡ転送速度に基づいてＤＭＡ転送制御を動的に行い、データ転送の効率化を行う方法が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３２０２２７２号公報
【特許文献２】特開２００５―４５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は本発明において与えられる。
【０００７】
特許文献２で示される従来のＤＭＡ転送制御装置では、ＤＭＡ転送データ量をＤＭＡ転送時間で割り算したＤＭＡ転送速度を用い、ＤＭＡ転送速度が所定の設定値未満のＤＭＡコントローラのＤＭＡ転送を優先させ、このＤＭＡコントローラ以外のＤＭＡコントローラのＤＭＡ転送を抑制するようにしている。したがって、ＤＭＡ転送速度が平均化されて計算されてしまうことになる。すなわち、大量のＤＭＡ転送を行うような場合、転送速度にバラツキがあっても平均化されてしまう。このため、一時的に転送量が集中する場合、動的にＤＭＡ転送を制御することが困難となりデータ転送の効率の低下に繋がってしまう。
【課題を解決するための手段】
【０００８】
本発明の１つのアスペクト（側面）に係るＤＭＡ転送制御装置は、メモリと複数の入出力デバイスとの組み合わせからなるＤＭＡチャネル毎にＤＭＡ転送を行うＤＭＡアービタと、ＤＭＡアービタを制御するＤＭＡ制御回路からなるＤＭＡ転送制御装置であって、入出力デバイスからＤＭＡ転送要求が到来したときの判定時刻がＤＭＡ転送予定時刻以降である場合にＤＭＡアービタへＤＭＡ転送許可として送出する判定部と、ＤＭＡ転送要求に伴うＤＭＡ転送サイズと判定時刻とに基づいて次回のＤＭＡ転送予定時刻を算出する転送時刻計算部と、を備える。
【発明の効果】
【０００９】
本発明によれば、ＤＭＡ転送要求が一時的に集中しても、予め決められたＤＭＡ転送速度を超えないようにＤＭＡ転送を動的に制御してデータ転送の効率を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施例に係るコンピュータシステムの構成を示すブロック図である。
【図２】本発明の第１の実施例に係るＤＭＡ制御回路の構成を示す図である。
【図３】本発明の第１の実施例に係るＤＭＡ転送制御装置の動作を表すフローチャートである。
【図４】本発明の第１の実施例に係るＤＭＡ転送制御装置の動作を表すタイミングチャートである。
【発明を実施するための形態】
【００１１】
本発明の実施形態に係るＤＭＡ転送制御装置は、メモリ（図１の２０）と複数の入出力デバイス（図１の３１〜３３）との組み合わせからなるＤＭＡチャネル毎にＤＭＡ転送を行うＤＭＡアービタ（図１の２３）と、ＤＭＡアービタを制御するＤＭＡ制御回路（図１の２７〜２９に相当）からなるＤＭＡ転送制御装置である。ＤＭＡ転送制御装置は、入出力デバイスからＤＭＡ転送要求が到来したときの判定時刻がＤＭＡ転送予定時刻以降である場合にＤＭＡアービタへＤＭＡ転送許可として送出する判定部（図２の１１）と、ＤＭＡ転送要求に伴うＤＭＡ転送サイズと判定時刻とに基づいて次回のＤＭＡ転送予定時刻を算出する転送時刻計算部（図２の１２）と、を備える。
【００１２】
単位時間間隔で判定時刻を計時するタイマカウンタ（図２の１３）と、ＤＭＡ転送要求が到来したときの判定時刻とＤＭＡ転送予定時刻とを比較する比較器（図２の１０）と、を備え、判定部は、判定時刻がＤＭＡ転送予定時刻以降であることを比較器の出力が示す場合にＤＭＡアービタへＤＭＡ転送許可として送出し、判定時刻がＤＭＡ転送予定時刻より早いことを比較器の出力が示す場合にＤＭＡアービタへＤＭＡ不転送許可として送出するようにしてもよい。
【００１３】
転送時刻計算部は、ＤＭＡ転送要求に伴うＤＭＡ転送サイズの設定値とＤＭＡ転送サイズあたりのＤＭＡ転送間隔の設定値とを乗算し判定時刻を加算する計算部（図２の１６、１７に相当）と、計算部の計算結果を次回のＤＭＡ転送予定時刻として保持するレジスタと（図２の１９）、を備えるようにしてもよい。
【００１４】
このようなＤＭＡ転送制御装置によれば、ピークのＤＭＡ転送速度に応じたＤＭＡ転送予定時刻を超えるまでは、ＤＭＡ転送要求があってもＤＭＡ転送を待機させる。したがって、ＤＭＡチャネル毎にピークのＤＭＡ転送速度を超えないように、動的にＤＭＡ転送を制御することで、複数のＤＭＡチャネル全体のデータ転送の効率を高めることができる。
【００１５】
以下、実施例に即し、図面を参照して詳しく説明する。
【実施例１】
【００１６】
図１は、本発明の第１の実施例に係るコンピュータシステムの構成を示すブロック図である。図１において、コンピュータシステムは、メモリ２０、メモリ制御回路２１、ＣＰＵ２２、ＤＭＡアービタ２３、入出力デバイス３１〜３３、ＤＭＡ制御回路２７〜２９を備える。メモリ２０、メモリ制御回路２１、ＣＰＵ２２、ＤＭＡアービタ２３は、アドレスバス、データバス、および制御線で構成されるシステムバス３０でお互いに接続されている。ここでは、ＤＭＡチャネルが３チャネルである例を示している。
【００１７】
ＤＭＡ制御回路２７〜２９は、入出力デバイス３１〜３３からそれぞれＤＭＡ転送要求信号Ｓｒを受け取り、入出力デバイス３１〜３３へそれぞれＤＭＡ転送応答としてＤＭＡ転送許可信号Ｓｐを返すと共に、ＤＭＡアービタ２３へＤＭＡ転送判定結果としてＤＭＡ転送許可信号Ｓｐを出力する。
【００１８】
ＤＭＡアービタ２３は、ＤＭＡ制御回路２７〜２９から受けたＤＭＡ転送判定結果から、複数のＤＭＡ転送許可があれば、そこから１つを選び、選んだＤＭＡチャネルに対応する入出力デバイスとメモリ間のＤＭＡ転送を行う。
【００１９】
図２は、本発明の第１の実施例に係るＤＭＡ制御回路の構成を示す図である。ＤＭＡ転送制御回路２７〜２９は、比較器１０、判定部１１、ＤＭＡ転送予定時刻ＴＡＴを算出する転送時刻計算部１２、判定時刻ｔａを計時するタイマカウンタ１３を備える。比較器１０は、ＤＭＡ転送要求信号Ｓｒが入力されたときの判定時刻ｔａとＤＭＡ転送予定時刻ＴＡＴを比較する。判定部１１は、比較器１０の比較結果に応じてＤＭＡアービタ２３と入出力デバイス３１〜３３のいずれか（ＤＭＡ転送要求信号Ｓｒの発行元）とにＤＭＡ転送許可信号Ｓｐを送出する。転送時刻計算部１２は、次のＤＭＡ転送予定時刻ＴＡＴを算出し保存する。タイマカウンタ１３は、単位時間間隔で判定時刻ｔａを計時する。
【００２０】
転送時刻計算部１２は、レジスタ１４、１５、１９、乗算器１６、加算器１７、セレクタ１８を備える。レジスタ１４は、単位ＤＭＡ転送サイズあたりのＤＭＡ転送間隔、すなわちピークとなるＤＭＡ転送速度の逆数の設定値Ｔを保存する。レジスタ１５は、ＤＭＡ転送サイズの設定値ｓｉｚｅを保存する。乗算器１６は、レジスタ１４、１５から取り出した値を乗じてピークＤＭＡ転送間隔（Ｔ・ｓｉｚｅ）を算出する。加算器１７は、タイマカウンタ１３からの判定時刻ｔａを乗算器１６の出力に加算して次のＤＭＡ転送予定時刻（ＴＡＴ＝ｔａ＋Ｔ・ｓｉｚｅ）を算出する。セレクタ１８は、判定部１１がＤＭＡ転送許可を出力する場合には加算器１７から出力された次のＤＭＡ転送予定時刻ＴＡＴを選択し、判定部１１がＤＭＡ転送許可を出力しない場合にはレジスタ１９に保持されている元のＤＭＡ転送予定時刻ＴＡＴを選択してレジスタ１９に出力する。レジスタ１９は、セレクタ１８の結果を保存する。
【００２１】
転送時刻計算部１２において、ＤＭＡ転送サイズ（ｓｉｚｅ）は、ＣＰＵ２２等によってＤＭＡ転送毎に設定を更新される。また、ＤＭＡ転送間隔（Ｔ）は、ＤＭＡチャネル毎に固定値であってもよく、各ＤＭＡチャネルのＤＭＡ転送速度比を変更したい場合には、ＣＰＵ２２等によって動的に変更してもよい。
【００２２】
次に、ＤＭＡ転送制御装置の動作について説明する。図３は、本発明の第１の実施例に係るＤＭＡ転送制御装置の動作を表すフローチャートである。図２で示すＤＭＡ制御回路２７〜２９内のピークＤＭＡ転送速度をもとにＤＭＡ転送許可を行う回路の動作を説明する。
【００２３】
ＤＭＡ転送要求を受け取ると（ステップＳ１１のＹＥＳ）、レジスタ１９、１４、１５からそれぞれ読み出した、ＤＭＡ転送予定時刻ＴＡＴ、単位あたりのＤＭＡ転送サイズＴ、ＤＭＡ転送サイズｓｉｚｅと、タイマカウンタ１３から読み出した判定時刻ｔａとを用い、下記の判定を行う。
【００２４】
もし、ＴＡＴ≦ｔａであれば（ステップＳ１２のＹＥＳ）、ピークＤＭＡ転送速度を超過していないと判断し、ＤＭＡ転送を許可（ＯＫ）する（ステップＳ１５）。そして、次のＤＭＡ転送予定時刻ＴＡＴとして、ＴＡＴ＝ｔａ＋Ｔ・ｓｉｚｅを設定する（ステップＳ１６）。
【００２５】
もし、ＴＡＴ＞ｔａであれば（ステップＳ１２のＮＯ）、ピークＤＭＡ転送速度を超過していると判断し、ＤＭＡ転送を許可しない（ｗａｉｔ）（ステップＳ１３）。このとき、ＤＭＡ転送予定時刻ＴＡＴは更新しない。
【００２６】
なお、ＤＭＡ転送要求を受け取らない場合（ステップＳ１１のＮＯ）も、ＤＭＡ転送を許可せず（ステップＳ１４）、ＤＭＡ転送予定時刻ＴＡＴを更新しない。
【００２７】
いずれの場合にも、判定時刻ｔａは、ｔａ＝ｔａ＋１となるように、タイマカウンタ１３を更新する（ステップＳ１７）。
【００２８】
ＤＭＡ転送制御装置は、上記で決定される、ＤＭＡ転送許可する（ＯＫ）／許可しない（ｗａｉｔまたはＤＭＡ転送要求なし）を、ＤＭＡアービタ２３へ送出し、ＤＭＡ転送を動的に制御する。
【００２９】
図４は、本発明の第１の実施例に係るＤＭＡ転送制御装置の動作を表すタイミングチャートである。
【００３０】
始めにＤＭＡ転送要求信号Ｓｒ（ａ）を受け取ったとき、ＴＡＴ＝０、ｔａ＝０、Ｔ＝２、ｓｉｚｅ＝１とする。ここでは、ＴＡＴ（０）≦ｔａ（０）が成立するので、ＤＭＡ転送許可（ＯＫ）であり、次のＤＭＡ転送予定時刻ＴＡＴ＝０＋２×１＝２となる。
【００３１】
ＤＭＡ転送要求信号Ｓｒ（ｂ）を受け取ったとき、ＴＡＴ＝２、ｔａ＝４、Ｔ＝２、ｓｉｚｅ＝２である。ＴＡＴ（２）≦ｔａ（４）が成立するので、ＤＭＡ転送許可（ＯＫ）であり、次のＤＭＡ転送予定時刻ＴＡＴ＝４＋２×２＝８となる。
【００３２】
ＤＭＡ転送要求信号Ｓｒ（ｃ）を受け取ったとき、ＴＡＴ＝８、ｔａ＝７、Ｔ＝２、ｓｉｚｅ＝２である。ＴＡＴ（８）＞ｔａ（７）であるので、ＤＭＡ転送を待機（ｗａｉｔ）する。ここではＤＭＡ転送予定時刻を更新しない。
【００３３】
次の時刻で、ＤＭＡ転送要求信号Ｓｒ（ｃ）に対し再度同様のチェックを行う。このときには、ＴＡＴ＝８、ｔａ＝８、Ｔ＝２、ｓｉｚｅ＝２である。ＴＡＴ（８）≦ｔａ（８）が成立するので、ＤＭＡ転送許可（ＯＫ）であり、次のＤＭＡ転送予定時刻ＴＡＴ＝８＋２×２＝１２となる。
【００３４】
以上のように動作するＤＭＡ転送制御装置によれば、ピークＤＭＡ転送速度に応じたＤＭＡ転送予定時刻を越えるまでは、ＤＭＡ転送要求があってもＤＭＡ転送を待機（ｗａｉｔ）させる。この結果、ＤＭＡ転送要求が一時的に集中したとしても、予め決められたＤＭＡ転送速度を超えないようにＤＭＡ転送を動的に制御することができる。
【００３５】
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００３６】
１０  比較器
１１  判定部
１２  転送時刻計算部
１３  タイマカウンタ
１４、１５、１９  レジスタ
１６  乗算器
１７  加算器
１８  セレクタ
２０  メモリ
２１  メモリ制御回路
２２  ＣＰＵ
２３  ＤＭＡアービタ
２７〜２９  ＤＭＡ制御回路
３０  システムバス
３１〜３３  入出力デバイス
【図１】
2010282352.tif 000003
【図２】
2010282352.tif 000004
【図３】
2010282352.tif 000005
【図４】
2010282352.tif 000006