(57)【要約】【課題】効率良くＤＭＡ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を回避する。【解決手段】各ＤＭＡモジュール１２−０〜１２−ｎのいずれかによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルの期間値が、各ＤＭＡモジュール内のレジスタ１２−０ａ〜１２−ｎａに設定されている。各ＤＭＡモジュール１２−０〜１２−ｎのうちの複数からのＤＭＡ要求が競合した場合に、ＤＭＡバス調停回路１４によって、優先順位が高い例えばＤＭＡモジュール１２−１からのＤＭＡ要求に対してＤＭＡ転送許可が与えられ、そのＤＭＡ転送の完了後、ＤＭＡモジュール１２−１からの次のＤＭＡ要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュール１２−１以外の他のＤＭＡモジュール１２−０、１２−２および１２−３からのＤＭＡ要求が全てなくなるまで抑制される。【選択図】図１
2008192090.tif 000002
【特許請求の範囲】
【請求項１】
データバスが複数のＤＭＡ（ダイレクト・メモリ・アクセス）モジュールに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールがデータバスに接続されるＤＭＡ転送装置において、
該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されるＤＭＡ転送装置。
【請求項２】
データバスが複数のＤＭＡ（ダイレクト・メモリ・アクセス）モジュールに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールがデータバスに接続されるＤＭＡ転送装置において、
該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されるＤＭＡ転送装置。
【請求項３】
データバスが複数のＤＭＡモジュールおよびＣＰＵ（中央演算処理回路）に共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われ、さらに、該各ＤＭＡモジュールのうちの調停されたＤＭＡ要求と該ＣＰＵからのバス要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールまたはＣＰＵがデータバスに接続されるＤＭＡ転送装置において、
該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されると共に、該各ＤＭＡモジュールによるＤＭＡ転送が一巡する時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定のＣＰＵサイクルの期間だけ抑制されるＤＭＡ転送装置。
【請求項４】
データバスが複数のＤＭＡモジュールおよびＣＰＵ（中央演算処理回路）に共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われ、さらに、該各ＤＭＡモジュールのうちの調停されたＤＭＡ要求と該ＣＰＵからのバス要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールまたはＣＰＵがデータバスに接続されるＤＭＡ転送装置において、
該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されると共に、該各ＤＭＡモジュールによるＤＭＡ転送が一巡する時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定のＣＰＵサイクルの期間だけ抑制されるＤＭＡ転送装置。
【請求項５】
データバスが複数のＤＭＡモジュールに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールがデータバスに接続されるＤＭＡ転送装置において、
該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させるＤＭＡ転送装置。
【請求項６】
データバスが複数のＤＭＡモジュールおよびＣＰＵに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われ、さらに、該各ＤＭＡモジュールのうちの調停されたＤＭＡ要求と該ＣＰＵからのバス要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールまたはＣＰＵがデータバスに接続されるＤＭＡ転送装置において、
該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、該各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定の該ＣＰＵサイクルの期間だけ該ＣＰＵによるデータ転送を許可して実行させるＤＭＡ転送装置。
【請求項７】
前記ＤＭＡ転送の完了後で前記次のＤＭＡ要求の抑制前に、該ＤＭＡ要求が行われないＤＭＡインターバルの期間が別途設けられている請求項１〜４のいずれかに記載のＤＭＡ転送装置。
【請求項８】
前記ＤＭＡ転送の完了後に、次のＤＭＡ要求までにＤＭＡ要求が行われないＤＭＡインターバルの期間が別途設けられている請求項５または６に記載のＤＭＡ転送装置。
【請求項９】
前記期間に関する情報は、前記ＤＭＡモジュール毎に設けられた第１記憶手段内にそれぞれ記憶されて設定されている請求項７または８に記載のＤＭＡ転送装置。
【請求項１０】
前記次のＤＭＡ要求の抑制は、前記ＤＭＡモジュールからのＤＭＡ要求の発生を停止させるように制御するかまたは、該ＤＭＡモジュールからのＤＭＡ要求を当該ＤＭＡ要求がなかったようにマスクする請求項１〜４のいずれかに記載のＤＭＡ転送装置。
【請求項１１】
前記ＤＭＡバス調停手段は、前記ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にあるＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点で、該ＤＭＡ転送が完了したＤＭＡ転送モジュール以外の全てのＤＭＡ転送モジュールからのＤＭＡ要求に対して前記次のＤＭＡ要求の抑制を解除する請求項１〜４のいずれかに記載のＤＭＡ転送装置。
【請求項１２】
前記ＤＭＡバス調停手段は、前記ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にあるＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点から、該ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を与えて実行し、前記優先順位が下位にある他のＤＭＡモジュールの中から優先順位が最も高いＤＭＡモジュールに許可が順次与えられてそれぞれ実行される請求項５または６に記載のＤＭＡ転送装置。
【請求項１３】
前記ＤＭＡ転送が完了したＤＭＡモジュールに関する情報が、前記ＤＭＡバス調停手段に設けられた第２記憶手段内にそれぞれ記憶されて設定される請求項１〜６、１１および１２のいずれかに記載のＤＭＡ転送装置。
【請求項１４】
前記ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールは、前記第２記憶手段に前記ＤＭＡモジュールに関する情報として記憶されたモジュール番号以外のＤＭＡモジュールである請求項１３に記載のＤＭＡ転送装置。
【請求項１５】
前記ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールは、前記第２記憶手段に前記ＤＭＡモジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のＤＭＡモジュールである請求項１３に記載のＤＭＡ転送装置。
【請求項１６】
前記ＣＰＵサイクルの期間として、前記ＣＰＵによる転送処理を実行可能な期間が前記ＤＭＡバス調停手段に設けられた第３記憶手段内に記憶されて設定されている請求項３、４および６のいずれかに記載のＤＭＡ転送装置。
【請求項１７】
データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、
該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるデータ転送装置。
【請求項１８】
データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、
該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるデータ転送装置。
【請求項１９】
データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、
該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行されるデータ転送装置。
【請求項２０】
前記データ転送の完了後で前記次のデータ転送要求の抑制前に、該データ転送要求が行われないデータ転送インターバルの期間が別途設けられている請求項１７または１８に記載のデータ転送装置。
【請求項２１】
前記データ転送の完了後に、次のデータ転送要求までにデータ転送要求が行われないデータ転送インターバルの期間が別途設けられている請求項１９に記載のデータ転送装置。
【請求項２２】
前記期間に関する情報は、前記データ転送モジュール毎に設けられた第４記憶手段内にそれぞれ記憶されて設定されている請求項２０または２１に記載のデータ転送装置。
【請求項２３】
前記次のデータ転送要求の抑制は、前記データ転送モジュールからのデータ転送要求の発生を停止させるように制御するかまたは、該データ転送モジュールからのデータ転送要求を当該データ転送要求がなかったようにマスクする請求項１７または１８に記載のデータ転送装置。
【請求項２４】
前記データ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点で、該データ転送が完了したデータ転送モジュール以外の全てのデータ転送モジュールからの各データ転送要求に対して前記次のデータ転送要求の抑制を解除する請求項１７または１８に記載のデータ転送装置。
【請求項２５】
前記データ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点から、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を与えて実行し、前記優先順位が下位にある他のデータ転送モジュールの中から優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される請求項１９に記載のデータ転送装置。
【請求項２６】
前記データ転送が完了したデータ転送モジュールに関する情報が、前記データ転送バス調停手段に設けられた第５記憶手段内にそれぞれ記憶されて設定される請求項１６〜１８、２４および２５のいずれかに記載のデータ転送装置。
【請求項２７】
前記データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールは、前記第５記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号以外のデータ転送モジュールである請求項２６に記載のデータ転送装置。
【請求項２８】
前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールは、前記第５記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のデータ転送モジュールである請求項２６に記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば携帯型ゲーム機などのように複数種類のデータを扱う電子機器において、ＤＭＡ（ダイレクト・メモリ・アクセス）転送によりＣＰＵ（中央演算処理装置）を介さずにデータ転送を可能とするために、複数のモジュールからのＤＭＡ要求を調停し、特定のモジュールに対してバスを使用する許可を与えてＤＭＡ転送を行うＤＭＡ転送装置および、ＣＰＵが接続されないデータ転送専用バスに接続され、複数のデータ転送モジュールからのデータ転送要求を調停し、特定のモジュールにバスを使用する許可を与えてデータ転送を行うデータ転送装置に関する。
【背景技術】
【０００２】
従来、複数のモジュールが共通のデータバスに接続されている装置やシステムにおいて、ＤＭＡ転送を行う場合には、ＤＭＡＣ（ＤＭＡコントローラまたはＤＭＡバス調停回路）によって各モジュールからのＤＭＡ要求が調停され、ＤＭＡ転送が可能なモジュールに対して許可が与えられて、ＤＭＡ転送が行われている。
【０００３】
図１３は、従来のＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【０００４】
図１３において、従来のＤＭＡ転送装置１００は、データバス１０１が複数のＤＭＡモジュール１０２−０、１０２−１、・・・、１０２−ｎ（ｎは０以上の整数）とＣＰＵ１０３に共有されており、各ＤＭＡモジュール１０２−０〜１０２−ｎのうちの複数からのＤＭＡ要求が競合した場合にはＤＭＡバス調停回路１０４によって調停が行われ、ＣＰＵ１０３からのバス要求と特定のＤＭＡモジュール１０２−ｎからのバス要求が競合した場合にはバス調停回路１０５によって調停が行われて、ＣＰＵ１０３またはＤＭＡモジュール１０２−０〜１０２−ｎの一つがデータバス１０１のバスマスターとしてバス接続を許可され、そのＣＰＵ１０３または特定のＤＭＡモジュールがデータバス１０１に接続される。
【０００５】
また、データバス１０１には、スレーブブロックとして制御回路１０６、メモリ制御回路１０７および外部デバイス制御回路１０８がそれぞれ接続されており、上記バスマスターとしてデータバス１０１に接続されたＣＰＵ１０３または特定のＤＭＡモジュールによって、制御回路１０６内に設けられたレジスタ１０６ａ、メモリ制御回路１０７内に設けられたレジスタ１０７ａ、メモリ制御回路１０７によって制御されるメモリ１０９とメモリ１１０、および外部デバイス制御回路１０８内に設けられたレジスタ１０８ａとの間のデータ転送が制御されるように構成されている。
【０００６】
複数のＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎおよびＣＰＵ１０３からは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。
【０００７】
ＤＭＡバス調停回路１０４では、複数のＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎから出力されるデータ転送要求（ＤＭＡ要求）が調停され、ＤＭＡバス調停回路１０４からバス調停回路１０５に対して、調停された特定のＤＭＡモジュール１０２−ｎからのデータ転送要求が出力される。
【０００８】
バス調停回路１０５では、ＤＭＡバス調停回路１０４からのデータ転送要求とＣＰＵ１０３からのバス要求とが調停され、複数のＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎおよびＣＰＵ１０３のうち、バスマスターとしてデータ転送を許可されたものが、データバス１０１に接続されてアクセス可能とされる。
【０００９】
この従来のＤＭＡ転送装置１００において、複数のＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎの複数から同時にデータ転送要求（ＤＭＡ要求）が出力された場合には、優先順位に従って、各データ転送要求の調停が行われている。このため、優先順位が高いＤＭＡモジュール、例えばＤＭＡモジュール１０２−０によってデータバス１０１が連続して占有され続け、優先順位が低い他のＤＭＡモジュールによってデータバスを使用できなくなり、他のＤＭＡモジュール１０２−１、・・・、１０２−ｎによるＤＭＡ転送が不可能になる場合があるという問題があった。
【００１０】
この問題を解決するために、例えば特許文献１には、上記図１３を用いて説明すると、複数のＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎが共通のデータバス１０１に接続されている装置において、ＤＭＡ要求が競合した場合に、優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与える一方、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールが次にＤＭＡ要求を行うことができるまでの待ち時間を示すＤＭＡ要求間隔（ＤＭＡインターバル）を設定可能としたバス制御方法が提案されている。
【００１１】
この特許文献１のバス制御方法では、各ＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎのいずれかからのＤＭＡ要求が許可された後、各ＤＭＡモジュール１０２−０、１０２−１、・・・、１０２−ｎのうちの最も優先順位の高い特定のＤＭＡモジュール１０２−０のＤＭＡ転送が完了した後に、次にＤＭＡ要求が出力されるまでの間隔を示すＤＭＡインターバルが経過するまでは、この優先順位の高い特定のＤＭＡモジュール１０２−０からは次のＤＭＡ要求が出力されない。これにより、優先順位の高い特定のＤＭＡモジュール１０２−０が連続してデータバス１０１を占有することがなくなって、各ＤＭＡモジュール１０２−０、１０２−１、・・・、１０２−ｎによるＤＭＡ要求の発生タイミングが分散されるため、ＤＭＡモジュール１０２−０よりも優先順位が低いＤＭＡモジュール、例えばＤＭＡモジュール１０２−１についても、ある程度の割合によりデータバスを使用可能とされている。この場合、このＤＭＡインターバルは、図１３に示す各ＤＭＡモジュール１０２−０、１０２−１、・・・、１０２−ｎ内に設けられたレジスタ１０２−０ａ、１０２−１ａ、・・・、１０２−ｎａに設定される。
【特許文献１】特開２００２−３５１８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記従来のＤＭＡ転送装置１００は、上述したように、複数のＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎが共通のデータバス１０１に接続されている装置において、ＤＭＡコントローラ（ＤＭＡバス調停回路１０４）によって各ＤＭＡモジュール１０２−０，１０２−１、・・・、１０２−ｎからのＤＭＡ要求の調停が行われ、ＤＭＡ転送が可能なモジュールに対して許可が与えられてＤＭＡ転送が行われる場合に、先にＤＭＡ要求を発生させたＤＭＡモジュールまたは優先順位が高いＤＭＡモジュールによってデータバス１０１が連続して占有され、他のＤＭＡモジュールによるＤＭＡ転送が不可能になるという問題があった。この問題を解決するために、特許文献１に開示されている従来技術のように、上記ＤＭＡ要求間隔（ＤＭＡインターバル）を設定することによってＤＭＡ要求の発生タイミングを分散させる方法では、優先順位が高いＤＭＡモジュールによるＤＭＡ要求間隔を十分大きく設定するか、または適切に設定しておく必要がある。このため、優先順位が高いＤＭＡモジュールのＤＭＡ要求間隔（ＤＭＡインターバル）が十分大きく設定されていないか、または適切に設定されていない場合には、優先順位が低いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられず、優先順位が低いＤＭＡモジュールによるデータバスの使用割合が高くならないという問題がある。
【００１３】
この問題について、図１４を用いて具体的に説明する。
【００１４】
図１４は、図１３の従来のＤＭＡ転送装置を、ＤＭＡ要求間隔（ＤＭＡインターバル）を設定する特許文献１のバス制御方法に適用した場合の使用例を説明するためのタイミングチャートである。
【００１５】
図１４において、横軸は時間の経過を示し、各波形はＤＭＡモジュール１０２−０〜１０２−３からのデータ転送要求（ＤＭＡ要求）およびＤＭＡモジュール１０２−０〜１０２−３によるデータ転送（ＤＭＡ転送）の実行を示し、矢印はＤＭＡインターバルの期間を示している。なお、この事例では、ＤＭＡモジュール１０２−０〜１０２−３の優先順位は、ＤＭＡモジュール１０２−０が最も高く、ＤＭＡモジュール１０２−３が最も低く設定されている。即ち、
ＤＭＡモジュール１０２−０  ＞  ＤＭＡモジュール１０２−１  ＞  ＤＭＡモジュール１０２−２  ＞ＤＭＡモジュール１０２−３とされているものとする。
【００１６】
図１４に示すように、まず、タイミングａで、ＤＭＡモジュール１０２−３からのデータ転送要求が発生すると、このときは、他のＤＭＡモジュール１０２−０〜１０２−２からのデータ転送要求が発生がないため、ＤＭＡモジュール１０２−３によるデータ転送が許可されて実行される。このＤＭＡモジュール１０２−３によるデータ転送実行中に、次のタイミングｂで、ＤＭＡモジュール１０２−２からのデータ転送要求が発生し、次のタイミングｃで、ＤＭＡモジュール１０２−１からの転送要求が発生するが、ＤＭＡモジュール１０２−３によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
【００１７】
さらに次のタイミングｄで、ＤＭＡモジュール１０２−３によるデータ転送が完了するが、タイミングｆまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−３からのデータ転送要求は発生されない。この矢印で示す期間は、図１４では、ＤＭＡモジュールが実行する実行期間よりも若干長い期間である。
【００１８】
一方、このタイミングｄで、ＤＭＡモジュール１０２−０からのデータ転送要求が発生しており、この時点では、ＤＭＡモジュール１０２−０、ＤＭＡモジュール１０２−１およびＤＭＡモジュール１０２−２からの各データ転送要求がそれぞれ発生しているが、優先順位に従ってＤＭＡモジュール１０２−０からのデータ転送要求が優先され、ＤＭＡモジュール１０２−０からのデータ転送が許可されて実行される。
【００１９】
その後、タイミングｅでＤＭＡモジュール１０２−０によるデータ転送が完了するが、タイミングｈまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−０からのデータ転送要求は発生されない。
【００２０】
このタイミングｅで、ＤＭＡモジュール１０２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−１およびＤＭＡモジュール１０２−２からの各データ転送要求がそれぞれ発生しているが、優先順位に従ってＤＭＡモジュール１０２−１が優先され、ＤＭＡモジュール１０２−１によるデータ転送が許可されて実行される。
【００２１】
その後、タイミングｇで、ＤＭＡモジュール１０２−１によるデータ転送が完了するが、次のタイミングｊまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−１からのデータ転送要求は発生されない。
【００２２】
このタイミングｇで、ＤＭＡモジュール１０２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−２およびＤＭＡモジュール１０２−３からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１０２−２が優先され、ＤＭＡモジュール１０２−２によるデータ転送が許可されて実行される。
【００２３】
その後、タイミングｉで、ＤＭＡモジュール１０２−２によるデータ転送が完了されるが、タイミングｌまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−２からのデータ転送要求は発生されない。
【００２４】
このタイミングｉで、ＤＭＡモジュール１０２−２によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−３およびＤＭＡモジュール１０２−０からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１０２−０が優先され、ＤＭＡモジュール１０２−０によるデータ転送が許可されて実行される。
【００２５】
その後、タイミングｋで、ＤＭＡモジュール１０２−０によるデータ転送が完了するが、タイミングｎまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−０からのデータ転送要求は発生されない。
【００２６】
このタイミングｋで、ＤＭＡモジュール１０２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−３およびＤＭＡモジュール１０２−１からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１０２−１が優先され、ＤＭＡモジュール１０２−１によるデータ転送が許可されて実行される。
【００２７】
その後、タイミングｍで、ＤＭＡモジュール１０２−１によるデータ転送が完了するが、タイミングｐまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−１からのデータ転送要求は発生されない。
【００２８】
このタイミングｍで、ＤＭＡモジュール１０２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−３およびＤＭＡモジュール１０２−２からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１０２−２が優先され、ＤＭＡモジュール１０２−２によるデータ転送が許可されて実行される。
【００２９】
その後、タイミングｏで、ＤＭＡモジュール１０２−２によるデータ転送が完了するが、タイミングｒまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−２からのデータ転送要求は発生されない。
【００３０】
タイミングｏで、ＤＭＡモジュール１０２−２によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−３およびＤＭＡモジュール１０２−０からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１０２−０が優先され、ＤＭＡモジュール１０２−０によるデータ転送が許可されて実行される。
【００３１】
その後、タイミングｑで、ＤＭＡモジュール１０２−０によるデータ転送が完了するが、タイミングｔまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−０からのデータ転送要求は発生されない。
【００３２】
このタイミングｑで、ＤＭＡモジュール１０２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−３およびＤＭＡモジュール１０２−１からの各データ転送要求がそれぞれ発生しているが、優先順位に従ってＤＭＡモジュール１０２−１が優先され、ＤＭＡモジュール１０２−１によるデータ転送が許可されて実行される。
【００３３】
その後、タイミングｓでＤＭＡ１０２−１によるデータ転送が完了するが、タイミングｖまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１０２−１からのデータ転送要求は発生されない。
【００３４】
このタイミングｓで、ＤＭＡモジュール１０２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１０２−３およびＤＭＡモジュール１０２−２からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１０２−２が優先され、ＤＭＡモジュール１０２−２によるデータ転送が許可されて実行される。その後、タイミングｕで、ＤＭＡモジュール１０２−２によるデータ転送が完了する。
【００３５】
以上のように、ＤＭＡインターバルの期間（矢印で示す期間）を設定することにより、優先順位が高いＤＭＡモジュール１０２−０によりデータバス１０１が占有され続けることを回避して、優先順位が低いＤＭＡモジュール１０２−１およびＤＭＡモジュール１０２−２による各データ転送の実行が可能とされているが、さらに優先順位が低いＤＭＡモジュール１０２−３によるデータ転送については相変わらず実行できないという問題が残っていた。
【００３６】
優先順位が低いＤＭＡモジュール１０２−３によるデータ転送の実行を可能にするためには、優先順位が高いＤＭＡモジュール１０２−０、ＤＭＡモジュール１０２−１およびＤＭＡモジュール１０２−２のＤＭＡインターバルの期間（矢印で示す期間）をさらに大きく設定する必要がある。
【００３７】
しかしながら、ＤＭＡモジュール１０２−３によるデータ転送の実行が可能になるようにＤＭＡインターバルの期間が大きく設定されていると、ＤＭＡモジュール１０２−３からのデータ転送要求が発生していない場合であっても、大きく設定されたＤＭＡインターバルの期間は、ＤＭＡモジュール１０２−０、ＤＭＡモジュール１０２−１およびＤＭＡモジュール１０２−２からの各データ転送要求が発生されないため、どのＤＭＡモジュールからのデータ転送要求も発生されない無駄な期間が生じてしまうという問題があった。
【００３８】
さらに、通常、ＤＭＡモジュールよりも優先順位が低いＣＰＵについては、常に、バス要求を出力していても、優先順位が低いＤＭＡモジュールよりもデータバスの使用割合を高くすることが困難であるだけでなく、ＣＰＵにより転送処理を実行可能なサイクルを把握することさえ困難であった。
【００３９】
本発明は、上記従来の問題を解決するもので、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を回避することができ、しかも、そのモジュールよりも優先順位が低いＣＰＵによるデータ転送処理を実行可能するサイクルをも明確に把握して要求可能とするＤＭＡ転送装置および、ＣＰＵが接続されないデータ転送専用バスを複数のデータ転送モジュールにより共有する場合に、特定のモジュールによりデータ転送専用バスが占有され続けることによって生じる不整合を回避することができるデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【００４０】
本発明のＤＭＡ転送装置は、  データバスが複数のＤＭＡ（ダイレクト・メモリ・アクセス）モジュールに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールがデータバスに接続されるＤＭＡ転送装置において、該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
【００４１】
本発明のＤＭＡ転送装置は、データバスが複数のＤＭＡ（ダイレクト・メモリ・アクセス）モジュールに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールがデータバスに接続されるＤＭＡ転送装置において、該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
【００４２】
本発明のＤＭＡ転送装置は、データバスが複数のＤＭＡモジュールおよびＣＰＵ（中央演算処理回路）に共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われ、さらに、該各ＤＭＡモジュールのうちの調停されたＤＭＡ要求と該ＣＰＵからのバス要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールまたはＣＰＵがデータバスに接続されるＤＭＡ転送装置において、  該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されると共に、該各ＤＭＡモジュールによるＤＭＡ転送が一巡する時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定のＣＰＵサイクルの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
【００４３】
本発明のＤＭＡ転送装置は、データバスが複数のＤＭＡモジュールおよびＣＰＵ（中央演算処理回路）に共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われ、さらに、該各ＤＭＡモジュールのうちの調停されたＤＭＡ要求と該ＣＰＵからのバス要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールまたはＣＰＵがデータバスに接続されるＤＭＡ転送装置において、該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、当該ＤＭＡモジュールからの次のＤＭＡ要求が、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制されると共に、該各ＤＭＡモジュールによるＤＭＡ転送が一巡する時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定のＣＰＵサイクルの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
【００４４】
本発明のＤＭＡ転送装置は、データバスが複数のＤＭＡモジュールに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールがデータバスに接続されるＤＭＡ転送装置において、該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させるものであり、そのことによリ上記目的が達成される。
【００４５】
本発明のＤＭＡ転送装置は、データバスが複数のＤＭＡモジュールおよびＣＰＵに共有され、該複数のＤＭＡモジュールのうちの各ＤＭＡモジュールからのＤＭＡ要求が競合した場合にＤＭＡバス調停手段によって調停が行われ、さらに、該各ＤＭＡモジュールのうちの調停されたＤＭＡ要求と該ＣＰＵからのバス要求が競合した場合にＤＭＡバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたＤＭＡモジュールまたはＣＰＵがデータバスに接続されるＤＭＡ転送装置において、該ＤＭＡバス調停手段は、該ＤＭＡ要求の競合時に、該各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、該ＤＭＡ転送が完了した後に、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、該ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、該各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定の該ＣＰＵサイクルの期間だけ該ＣＰＵによるデータ転送を許可して実行させるものであり、そのことによリ上記目的が達成される。
【００４６】
また、好ましくは、本発明のＤＭＡ転送装置において、前記ＤＭＡ転送の完了後で前記次のＤＭＡ要求の抑制前に、該ＤＭＡ要求が行われないＤＭＡインターバルの期間が別途設けられている。
【００４７】
さらに、好ましくは、本発明のＤＭＡ転送装置において、前記ＤＭＡ転送の完了後に、次のＤＭＡ要求までにＤＭＡ要求が行われないＤＭＡインターバルの期間が別途設けられている。
【００４８】
さらに、好ましくは、本発明のＤＭＡ転送装置における期間に関する情報は、前記ＤＭＡモジュール毎に設けられた第１記憶手段内にそれぞれ記憶されて設定されている。
【００４９】
さらに、好ましくは、本発明のＤＭＡ転送装置における次のＤＭＡ要求の抑制は、前記ＤＭＡモジュールからのＤＭＡ要求の発生を停止させるように制御するかまたは、該ＤＭＡモジュールからのＤＭＡ要求を当該ＤＭＡ要求がなかったようにマスクする。
【００５０】
さらに、好ましくは、本発明のＤＭＡ転送装置におけるＤＭＡバス調停手段は、前記ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にあるＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点で、該ＤＭＡ転送が完了したＤＭＡ転送モジュール以外の全てのＤＭＡ転送モジュールからのＤＭＡ要求に対して前記次のＤＭＡ要求の抑制を解除する。
【００５１】
さらに、好ましくは、本発明のＤＭＡ転送装置におけるＤＭＡバス調停手段は、前記ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にあるＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点から、該ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を与えて実行し、前記優先順位が下位にある他のＤＭＡモジュールの中から優先順位が最も高いＤＭＡモジュールに許可が順次与えられてそれぞれ実行される。
【００５２】
さらに、好ましくは、本発明のＤＭＡ転送装置において、前記ＤＭＡ転送が完了したＤＭＡモジュールに関する情報が、前記ＤＭＡバス調停手段に設けられた第２記憶手段内にそれぞれ記憶されて設定される。
【００５３】
さらに、好ましくは、本発明のＤＭＡ転送装置において、前記ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールは、前記第２記憶手段に前記ＤＭＡモジュールに関する情報として記憶されたモジュール番号以外のＤＭＡモジュールである。
【００５４】
さらに、好ましくは、本発明のＤＭＡ転送装置において、前記ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールは、前記第２記憶手段に前記ＤＭＡモジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のＤＭＡモジュールである。
【００５５】
さらに、好ましくは、本発明のＤＭＡ転送装置におけるＣＰＵサイクルの期間として、前記ＣＰＵによる転送処理を実行可能な期間が前記ＤＭＡバス調停手段に設けられた第３記憶手段内に記憶されて設定されている。
【００５６】
本発明のデータ転送装置は、データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
【００５７】
本発明のデータ転送装置は、データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
【００５８】
本発明のデータ転送装置は、データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行されるものであり、そのことによリ上記目的が達成される。
【００５９】
また、好ましくは、本発明のデータ転送装置において、前記データ転送の完了後で前記次のデータ転送要求の抑制前に、該データ転送要求が行われないデータ転送インターバルの期間が別途設けられている。
【００６０】
さらに、好ましくは、本発明のデータ転送装置におけるデータ転送の完了後に、次のデータ転送要求までにデータ転送要求が行われないデータ転送インターバルの期間が別途設けられている。
【００６１】
さらに、好ましくは、本発明のデータ転送装置における期間に関する情報は、前記データ転送モジュール毎に設けられた第４記憶手段内にそれぞれ記憶されて設定されている。
【００６２】
さらに、好ましくは、本発明のデータ転送装置における次のデータ転送要求の抑制は、前記データ転送モジュールからのデータ転送要求の発生を停止させるように制御するかまたは、該データ転送モジュールからのデータ転送要求を当該データ転送要求がなかったようにマスクする。
【００６３】
さらに、好ましくは、本発明のデータ転送装置におけるデータ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点で、該データ転送が完了したデータ転送モジュール以外の全てのデータ転送モジュールからの各データ転送要求に対して前記次のデータ転送要求の抑制を解除する。
【００６４】
さらに、好ましくは、本発明のデータ転送装置におけるデータ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点から、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を与えて実行し、前記優先順位が下位にある他のデータ転送モジュールの中から優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される。
【００６５】
さらに、好ましくは、本発明のデータ転送装置において、前記データ転送が完了したデータ転送モジュールに関する情報が、前記データ転送バス調停手段に設けられた第５記憶手段内にそれぞれ記憶されて設定される。
【００６６】
さらに、好ましくは、本発明のデータ転送装置において、前記データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールは、前記第５記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号以外のデータ転送モジュールである。
【００６７】
さらに、好ましくは、本発明のデータ転送装置において、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールは、前記第５記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のデータ転送モジュールである。
【００６８】
上記構成により、以下に、本発明の作用について説明する。
【００６９】
本発明にあっては、データバスが複数のＤＭＡ（ダイレクト・メモリ・アクセス）モジュールに共有されたＤＭＡ転送装置において、各ＤＭＡモジュールによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルが、各ＤＭＡモジュール内に設けられたレジスタなどの記憶手段に設定されている。各ＤＭＡモジュールからのＤＭＡ要求が競合した場合には、ＤＭＡバス調停手段によって、優先順位が高いモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられ、許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、例えばＤＭＡインターバル後に行われる次のＤＭＡ要求が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が無くなるまで抑制される。これにより、各ＤＭＡモジュールによるＤＭＡ転送が循環され、優先順位が高いＤＭＡモジュールについて、ＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルを大きく設定しなくても、優先順位が低いモジュールによるデータバスの使用割合を必要に応じて高くすることが可能となる。さらに、優先順位が高いＤＭＡモジュールのＤＭＡインターバルを必要以上に大きく設定する必要がないため、各ＤＭＡモジュールによるデータバスの使用割合を必要に応じて調整することが可能になる。また、本発明にあっては、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させる。これによっても、上記と同様の効果を生じる。
【００７０】
また、本発明にあっては、データバスが複数のＤＭＡモジュールおよびＣＰＵに共有されたＤＭＡ転送装置において、各ＤＭＡモジュールによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルが、各ＤＭＡモジュール内に設けられたレジスタなどの記憶手段に設定されている。各ＤＭＡモジュールからのＤＭＡ要求が競合した場合に、ＤＭＡバス調停手段によって、優先順位が高いモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられ、許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで抑制される。これにより、全てのＤＭＡモジュールによるＤＭＡ転送が循環方式により実行される。さらに、通常、ＣＰＵからは常にバス要求が出力されているが、ＤＭＡモジュールよりも優先順位が低く、ＣＰＵによる転送処理を実行可能なサイクルを明確に把握して要求することは困難である。よって、ＣＰＵによる転送処理を実行可能な期間を示すＣＰＵサイクルを、ＤＭＡバス調停手段内に設けられたレジスタなどの記憶手段に設定し、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で、ＣＰＵからのバス要求がある場合に、ＣＰＵによる転送処理を実行可能な期間を示すＣＰＵサイクルの期間だけ、次のＤＭＡ要求の発生が抑制される。これによって、ＣＰＵにより転送処理を実行可能なサイクルを明確に把握して要求することが可能となる。また、本発明にあっては、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点でＣＰＵからのバス要求がある場合に、ＣＰＵの所定のＣＰＵサイクルの期間だけＣＰＵによるデータ転送を許可して実行させる。これによっても、上記と同様の効果を生じる。
【００７１】
さらに、本発明にあっては、ＣＰＵに接続されていない共通のデータ転送専用バスが複数のデータ転送モジュールに共有されたデータ転送装置において、各データ転送モジュールによるデータ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルが、各データ転送モジュール内に設けられたレジスタなどの記憶手段に設定されている。各データ転送モジュールからのデータ転送要求が競合した場合には、データ転送バス調停手段によって、優先順位が高いモジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたデータ転送モジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制される。これにより、優先順位が高いデータ転送モジュールについて、データ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルを大きく設定しなくても、優先順位が低いデータ転送モジュールによるデータ転送専用バスの使用割合を必要に応じて高くすることができる。さらに、優先順位が高いデータ転送モジュールのデータ転送インターバルを大きく設定する必要がないため、各データ転送モジュールによるデータ転送専用バスの使用割合を必要に応じて調整することが可能になる。また、本発明にあっては、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を順次与えてそれぞれ実行させる。これによっても、上記と同様の効果を生じる。
【発明の効果】
【００７２】
以上により、本発明によれば、複数のＤＭＡモジュールにデータバスが共有されたＤＭＡ転送装置において、ＤＭＡ要求に対する許可が与えられたモジュールのＤＭＡ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が無くなるまで次のＤＭＡ要求の発生が抑制される。または、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させる。このため、優先順位が高いＤＭＡモジュールによりデータバスが占有されず、優先順位が低いＤＭＡモジュールによりＤＭＡ転送を実行することが可能とされる。これにより、特許文献１に開示されている従来技術のようにＤＭＡインターバルを大きく設定する必要がなく、各モジュールによるデータバスの使用割合を必要に応じて調整することができる。
【００７３】
また、本発明によれば、複数のＤＭＡモジュールおよびＣＰＵにデータバスが共有されたＤＭＡ転送装置において、ＤＭＡ要求に対する許可が与えられたモジュールのＤＭＡ転送が完了した後に、他のＤＭＡモジュールからのＤＭＡ要求およびＣＰＵからのバス要求が無くなるまで次のＤＭＡ要求の発生が抑制され、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で、ＣＰＵからのバス要求がある場合に、ＣＰＵによる転送処理を実行可能な期間を示すＣＰＵサイクルの期間だけ、次のＤＭＡ要求の発生が抑制される。または、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点でＣＰＵからのバス要求がある場合に、ＣＰＵの所定のＣＰＵサイクルの期間だけＣＰＵによるデータ転送を許可して実行させる。これにより、各ＤＭＡモジュールおよびＣＰＵによるデータバスの使用割合を必要に応じて調整することが可能になり、ＣＰＵにより転送処理を実行可能なサイクルを明確に把握して要求することができる。
【００７４】
さらに、本発明によれば、複数のデータ転送モジュールにデータ転送専用バスが共有されたデータ転送装置において、データ転送要求に対する許可が与えられたモジュールのデータ転送が完了した後に、他のデータ転送モジュールからのデータ転送要求が無くなるまで次のデータ転送要求の発生が抑制されるため、優先順位が高いデータ転送モジュールによりデータ転送専用バスが占有されず、優先順位が低いデータ転送モジュールによりデータ転送を実行することが可能とされる。または、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を順次与えてそれぞれ実行させる。これにより、特許文献１に開示されている従来技術のようにデータ転送インターバルを大きく設定する必要がなく、各モジュールによるデータ転送専用バスの使用割合を必要に応じて調整することができる。
【発明を実施するための最良の形態】
【００７５】
以下に、本発明のＤＭＡ転送装置の実施形態１、２、４，５および本発明のデータ転送装置の実施形態３、６について、図面を参照しながら詳細に説明する。なお、本発明のＤＭＡ転送装置およびデータ転送装置はそれぞれ、例えば携帯型ゲーム機などのように複数種類のデータを扱う電子機器であってもよく、例えば携帯型ゲーム機などのように複数種類のデータを扱う複数の電子機器の間をＤＭＡ転送可能とするＤＭＡ転送システムおよび、複数の電子機器の間をデータ転送可能とするデータ転送システムや、インターネットやイントラネットなどを介して互いに離れた複数の電子機器間をＤＭＡ転送可能とするＤＭＡ転送システムおよび、複数の電子機器の間をデータ転送可能とするデータ転送システムであってもよい。
【００７６】
ここで、まず、本発明の実施形態１〜３および４〜６について簡単に説明する。本発明の実施形態１〜３では、データ転送完了後、そのモジュールによる次の転送要求が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のモジュールからのＤＭＡ要求が全てなくなるまで抑制される場合について説明する。また、本発明の実施形態４〜６では、データ転送完了後、データ転送が完了したモジュールよりも優先順位が下位にある他のモジュールの中から、優先順位が最も高いモジュールに許可が順次与えられる場合について説明する。これらのいずれの場合にも、複数のモジュールによりデータバスが共有された装置において、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を確実に回避する本発明の目的を達成することができる。
（実施形態１）
本実施形態１では、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールのＤＭＡ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が無くなるまで、次のＤＭＡ要求が抑制されることにより、ＤＭＡモジュールによるＤＭＡ転送が循環され、特許文献１に開示されている従来技術のようにＤＭＡインターバルを大きく設定する必要がなく、各モジュールによるデータバスの使用割合を必要に応じて調整することができる場合について説明する。なお、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールのＤＭＡ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全て無くなるまで、次のＤＭＡ要求が抑制するようにしてもよい。この「全てなくなるまで」は、優先順位が高いデータ転送モジュールから順次実行したときのデータ転送要求の有無を検出している。
【００７７】
図１は、本発明の実施形態１に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【００７８】
図１において、本実施形態１のＤＭＡ転送装置１は、データバス１１が複数のＤＭＡモジュール１２−０、１２−１、・・・１２−ｎと制御手段としてのＣＰＵ１３に共有されており、各ＤＭＡモジュール１２−０、１２−１、・・・１２−ｎからのＤＭＡ要求が競合した場合には、ＤＭＡバス調停回路１４によって調停が行われ、ＣＰＵ１３からのバス要求とＤＭＡモジュール１２−０、１２−１、・・・１２−ｎのうちのいずれかからのバス要求が競合した場合には、バス調停回路１５によって調停が行われて、ＣＰＵ１３またはＤＭＡモジュール１２−０、１２−１、・・・１２−ｎの一つがデータバス１１のバスマスターとしてバス接続を許可され、そのＣＰＵ１３またはＤＭＡモジュール１２−０、１２−１、・・・１２−ｎのいずれかがデータバス１１に接続される。
【００７９】
さらに、データバス１１には、スレーブブロックとして制御回路１６、メモリ制御回路１７および外部デバイス制御回路１８が接続されており、上記バスマスターとしてデータバス１１に接続されたＣＰＵ１３またはＤＭＡモジュール１２−０、１２−１、・・・１２−ｎのうちのいずれかによって、制御回路１６内に設けられたレジスタ１６ａ、メモリ制御回路１７内に設けられたレジスタ１７ａ、メモリ制御回路１８によって制御されるメモリ１９，２０、および外部デバイス制御回路１８内に設けられたレジスタ１８ａ間のデータ転送が制御されるように構成されている。
【００８０】
複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３からは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。ＤＭＡバス調停回路１４においては、複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎから出力される各データ転送要求（ＤＭＡ要求）が調停され、ＤＭＡバス調停回路１４からバス調停回路１５に対して、データ転送を許可されたＤＭＡモジュールからのデータ転送要求が出力される。
【００８１】
このバス調停回路１５においては、ＤＭＡバス調停回路１４からのデータ転送要求とＣＰＵ１３からのバス要求とが調停され、複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３のうち、バスマスターとしてデータ転送を許可されたものが、データバス１１に接続されてアクセス可能とされる。
【００８２】
本実施形態１のＤＭＡ転送装置１においては、図１３に示す従来のＤＭＡ転送装置１００の場合と同様に、優先順位が最も高いモジュール１２−０によりデータバス１１が占有されることを回避するために、各ＤＭＡモジュールによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルが設定されている。例えば、ＤＭＡインターバル時間は、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎ内に設けられたレジスタ１２−０ａ、１２−１ａ、・・・、１２−ｎａにそれぞれ設定されている。各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎからのＤＭＡ要求に対して、ＤＭＡ転送が許可されてＤＭＡ転送の実行が完了された時点から、所定期間のＤＭＡインターバルが経過してから、次のＤＭＡ要求が発生される。
【００８３】
さらに、本実施形態１のＤＭＡ転送装置１においては、図１３に示す従来のＤＭＡ転送装置１００のように、ＤＭＡインターバルが設定されても、さらに優先順位が低いＤＭＡモジュール１０２−３によるＤＭＡ転送を実行できず、ＤＭＡモジュール１０２−３によるＤＭＡ転送の実行を可能にするためにＤＭＡインターバルが大きく設定した場合には、どのＤＭＡモジュールからのＤＭＡ要求も発生しない無駄な期間が生じるという問題を解決するために、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎからのＤＭＡ要求が競合した場合に、ＤＭＡバス調停回路１４によって、優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられ、許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで抑制されるように構成されている。これにより、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるデータバス１１の使用割合が必要に応じて調整される。
【００８４】
例えば、図１に示すＤＭＡバス調停回路１４によって、各ＤＭＡモジュール１２−１、１２−２、・・・、１２−ｎからの各ＤＭＡ要求の有無が把握されると共に、ＤＭＡ転送が実行されて終了したＤＭＡモジュールの番号が記憶手段としてのレジスタ１４ａに保存される。優先順位が高い順に、最後にＤＭＡ転送が実行されたＤＭＡモジュールよりも優先順位が上位であるＤＭＡモジュールおよび最後にＤＭＡ転送が実行されたＤＭＡモジュールからのＤＭＡ要求がマスクされることによって、ＤＭＡ要求が抑制される。このＤＭＡ要求のマスクはＤＭＡインターバルの期間後に行われる。
【００８５】
さらに、ＤＭＡバス調停回路１４によって、最後にＤＭＡ転送が実行されたＤＭＡモジュール以外の他のＤＭＡモジュールからの各ＤＭＡ要求の有無が調べられる。最後にＤＭＡ転送が実行されたＤＭＡモジュールよりも優先順位が下位であるＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点で、最後にＤＭＡ転送が実行されたＤＭＡモジュールの番号がクリアされ、全てのＤＭＡ要求に対するマスクがクリアされる。
【００８６】
以下に、本実施形態１のＤＭＡ転送装置１におけるデータバス１１の使用例について、図２のタイミングチャートを用いて説明する。
【００８７】
図２は、上記図１に示す本実施形態１のＤＭＡ転送装置１におけるデータバス１１の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はＤＭＡモジュール１２−０〜１２−３からのデータ転送要求（ＤＭＡ要求）およびＤＭＡモジュール１２−０〜１２−３によるデータ転送（ＤＭＡ転送）の実行を示し、矢印はＤＭＡインターバルの期間を示している。また、この事例では、ＤＭＡモジュールの優先順位は、ＤＭＡモジュール１２−０を最も高くし、ＤＭＡモジュール１２−３を最も低くしている。即ち、
ＤＭＡモジュール１２−０  ＞  ＤＭＡモジュール１２−１  ＞  ＤＭＡモジュール１２−２  ＞  ＤＭＡモジュール１２−３
とされているものとする。
【００８８】
但し、図２では、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールのＤＭＡ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全て無くなるまで、次のＤＭＡ要求が抑制する場合であって、この「全てなくなるまで」は、優先順位が高いデータ転送モジュールから順次実行したときのデータ転送要求の有無を検出している場合を示しているが、ここでは、図２を用いて、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで抑制されることにより、全てのＤＭＡモジュールによるデータ転送が循環方式により実行される場合について説明する。この場合、図２では、抑制期間（マスク期間）が異なっている。
【００８９】
まず、タイミングａで、ＤＭＡモジュール１２−３からのデータ転送要求（ＤＭＡ要求）が発生すると、他のＤＭＡモジュール１２−０〜１２−２からのデータ転送要求は発生していないため、ＤＭＡモジュール１２−３によるデータ転送（ＤＭＡ転送）が許可されて実行される。このＤＭＡモジュール１２−３によるデータ転送実行中に、次のタイミングｂで、ＤＭＡモジュール１２−２からのデータ転送要求が発生され、さらに次のタイミングｃで、ＤＭＡモジュール１２−１からの転送要求が発生するが、ＤＭＡモジュール１２−３によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
【００９０】
次に、タイミングｄで、ＤＭＡモジュール１２−３によるデータ転送が完了するが、タイミングｆまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−３からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−３よりも優先順位が下位のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４によって全てのＤＭＡ要求のマスクがクリアされる。
【００９１】
さらに、タイミングｄで、ＤＭＡモジュール１２−０からのデータ転送要求が発生した時点で、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が他のものに優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。
【００９２】
その後、タイミングｅで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｈまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−０以外の他のＤＭＡモジュール１２−１〜１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−０から次のＤＭＡ要求が発生されることを抑制するため、タイミングｋまでＤＭＡモジュール１２−０からのデータ転送要求がマスクされる。
【００９３】
このタイミングｅで、ＤＭＡモジュール１２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−１が優先され、ＤＭＡモジュール１２−１によるデータ転送が許可されて実行される。
【００９４】
その後、タイミングｇで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｊまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−１よりも優先順位が下位にある他のＤＭＡモジュール１２−２および１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−１から次のＤＭＡ要求が発生されることを抑制するため、タイミングｍまでＤＭＡモジュール１２−１からのデータ転送要求がマスクされる。
【００９５】
さらに、タイミングｇで、ＤＭＡモジュール１２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１２−２およびＤＭＡモジュール１２−３からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【００９６】
その後、タイミングｉで、ＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｌまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−２よりも優先順位が下位にある他のＤＭＡモジュール１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−２から次のＤＭＡ要求が発生されることを抑制するため、タイミングｏまでＤＭＡモジュール１２−２からのデータ転送要求がマスクされる。
【００９７】
さらに、タイミングｉで、ＤＭＡモジュール１２−２によるデータ転送が完了した時点で、ＤＭＡモジュール１２−３からのデータ転送要求のみが発生されており、他のＤＭＡモジュール１２−０〜１２−２からのデータ転送要求が発生されていないため、ＤＭＡモジュール１２−３によるデータ転送が許可されて実行される。
【００９８】
その後、タイミングｋで、ＤＭＡモジュール１２−３によるデータ転送が完了するが、タイミングｎまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−３からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−３よりも優先順位が下位に他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４によって全てのＤＭＡ要求のマスクがクリアされる。
【００９９】
さらに、タイミングｋで、ＤＭＡモジュール１２−３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０からのデータ転送要求のみが発生しており、他のＤＭＡモジュール１２−１〜１２−３からのデータ転送要求が発生されていないため、ＤＭＡモジュール１２−０によるデータ転送が許可されて実行される。
【０１００】
その後、タイミングｍで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｐまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−０よりも優先順位が下位にある他のＤＭＡモジュール１２−１〜１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−０から次のＤＭＡ要求が発生されることを抑制するため、さらに加えてタイミングｓまでＤＭＡモジュール１２−０からのデータ転送要求がマスクされる。
【０１０１】
さらに、タイミングｍで、ＤＭＡモジュール１２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１２−１からのデータ転送要求のみが発生されており、ＤＭＡモジュール１２−１より優先的に上位の他のＤＭＡモジュール１２−０からのデータ転送要求が発生されていないため、ＤＭＡモジュール１２−１によるデータ転送が許可されて実行される。
【０１０２】
その後、タイミングｏで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｒまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−１よりも優先順位が下位にある他のＤＭＡモジュール１２−２および１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−１から次のＤＭＡ要求が発生されることを抑制するため、タイミングｕまでＤＭＡモジュール１２−１からのデータ転送要求がマスクされる。
【０１０３】
さらに、タイミングｏで、ＤＭＡモジュール１２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１２−２およびＤＭＡモジュール１２−３からのデータ転送要求が発生されているが、優先順位に従ってＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【０１０４】
その後、タイミングｑで、ＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｔまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−２よりも優先順位が下位にある他のＤＭＡモジュール１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−２から次のＤＭＡ要求が発生されることを抑制するため、ＤＭＡモジュール１２−２からのデータ転送要求がマスクされる。
【０１０５】
さらに、タイミングｑで、ＤＭＡモジュール１２−２によるデータ転送が完了した時点で、ＤＭＡモジュール１２−３からのデータ転送要求のみが発生されており、他のＤＭＡモジュール１２−０〜１２−２からのデータ転送要求が発生していないため、ＤＭＡモジュール１２−３によるデータ転送が許可されて実行される。
【０１０６】
その後、タイミングｓで、ＤＭＡモジュール１２−３によるデータ転送が完了するが、タイミングｖまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−３からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−３よりも優先順位が下位に他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４によって全てのＤＭＡ要求のマスクがクリアされる。
【０１０７】
さらに、タイミングｓで、ＤＭＡモジュール１２−３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０からのデータ転送要求のみが発生しており、他のＤＭＡモジュール１２−１および１２−２からのデータ転送要求が発生していないため、ＤＭＡモジュール１２−０によるデータ転送が許可されて実行される。その後、タイミングｕで、ＤＭＡモジュール１２−０によるデータ転送が完了する。また、ＤＭＡモジュール１２−０以外の他のＤＭＡモジュール１２−１〜１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４によって、ＤＭＡモジュール１２−０から次のＤＭＡ要求が発生されることを抑制するため、ＤＭＡモジュール１２−０からのデータ転送要求がマスクされる。
【０１０８】
以上のように、本実施形態１のＤＭＡ転送装置１によれば、ＤＭＡ要求に対する許可が与えられたモジュールによるＤＭＡ転送が完了された後に、次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルの期間（矢印で示す期間）が設定され、さらに、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が無くなるまで次のＤＭＡ要求の発生が抑制される。これによって、優先順位が最も高いＤＭＡモジュール１２−０によりデータバスが占有され続けることなく、これよりも優先順位が低いＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２によるＤＭＡ転送を実行することが可能とされ、さらに優先順位が低いＤＭＡモジュール１２−３によるＤＭＡ転送を実行することも可能となる。さらに、特許文献１に開示されている従来技術のように、ＤＭＡモジュール１２−３によるＤＭＡ転送を実行可能とするためにＤＭＡインターバルを大きく設定する必要がない。よって、各ＤＭＡモジュールにおいて必要に応じてＤＭＡインターバルを設定することにより、各ＤＭＡモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのＤＭＡモジュールからのＤＭＡ要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
（実施形態２）
本実施形態２では、各ＤＭＡモジュールによるＤＭＡ転送が一巡する時点で、ＣＰＵからのバス要求がある場合に、ＣＰＵによる転送処理を実行可能な期間を示すＣＰＵサイクルの期間を含めて、次のＤＭＡ要求が抑制されることにより、各ＤＭＡモジュールおよびＣＰＵによるデータバスの使用割合を必要に応じて調整することが可能になり、ＣＰＵにより転送処理を実行可能なサイクルを明確に把握して要求することができる場合について説明する。
【０１０９】
図３は、本発明の実施形態２に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。なお、図１のＤＭＡ転送装置の作用効果と同一の作用効果を相する部材には同一の符号を付する。
【０１１０】
図３において、本実施形態２のＤＭＡ転送装置２は、図１に示す実施形態１のＤＭＡ転送装置１の場合と同様に、データバス１１が複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３に共有されたＤＭＡ転送装置であって、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルが、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎ内に設けられたレジスタ１２−０ａ、１２−１ａ、・・・、１２−ｎａに設定されている。
【０１１１】
また、通常、ＣＰＵ１３からは、常にバス要求が出力されているが、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎよりも優先順位が低く、ＣＰＵ１３によるデータ転送処理を実行可能なサイクルを明確に把握して要求することが困難であるため、本実施形態２のＤＭＡ転送装置２では、このＣＰＵサイクルが、ＤＭＡバス調停回路１４Ａ内に設けられたレジスタ１４ａに設定されている。各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎからのＤＭＡ要求が競合した場合には、ＤＭＡバス調停回路１４Ａによって、優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられ、許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで抑制される。各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合には、ＣＰＵサイクルの期間だけ、次のＤＭＡ要求の発生が抑制されるように構成されている。これにより、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３によるデータバスの使用割合が必要に応じて調整される。
【０１１２】
以下に、本実施形態２のＤＭＡ転送装置２におけるデータバス１１の使用例について、図４のタイミングチャートを用いて説明する。
【０１１３】
図４は、上記図１に示す本実施形態２のＤＭＡ転送装置２におけるデータバスの使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はＤＭＡモジュール１２−０〜１２−２からのデータ転送要求（ＤＭＡ要求）とＣＰＵ１３からのバス要求（ＣＰＵ要求）およびＤＭＡモジュール１２−０〜１２−２によるデータ転送（ＤＭＡ転送）とＣＰＵ１３によるデータ転送の実行を示し、矢印はＤＭＡインターバルの期間およびＣＰＵサイクルの期間を示している。
【０１１４】
ここでは、ＤＭＡモジュール１２−０〜１２−２およびＣＰＵ１３の優先順位は、ＤＭＡモジュール１２−０の優先順位が最も高く、ＣＰＵ１３の優先順位が最も低く設定されている。即ち、
ＤＭＡモジュール１２−０  ＞  ＤＭＡモジュール１２−１  ＞  ＤＭＡモジュール１２−２  ＞  ＣＰＵ１３
とされているものとする。
【０１１５】
但し、図４では、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで抑制されることにより、全ての各ＤＭＡモジュール１２−０〜１２−２およびＣＰＵ１３によるデータ転送が循環方式により実行される。さらに、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、ＣＰＵサイクルの期間だけ、次のＤＭＡ要求の発生が抑制される場合を示しているが、ここでは、図４を用いて、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、優先順位がより低い他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで抑制されることにより、全ての各ＤＭＡモジュール１２−０〜１２−２およびＣＰＵ１３によるデータ転送が循環方式により実行される。さらに、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合には、ＣＰＵサイクルの期間だけ、次のＤＭＡ要求の発生が抑制される。例えば、各ＤＭＡモジュール１２−０〜１２−２の実行の循環が一巡した時点で、ＣＰＵ１３からのバス要求がある場合には、全てのＤＭＡモジュール１２−０〜１２−２からのＤＭＡ要求がマスクされた状態がＣＰＵサイクルの期間だけ保持された後、全てのＤＭＡモジュール１２−０〜１２−２からのＤＭＡ要求のマスクがクリアされる。この場合、図４では、抑制期間（マスク期間）が異なっている。
【０１１６】
まず、タイミングａで、ＣＰＵ１３からのデータ転送要求（バス要求）が発生すると、他のＤＭＡモジュール１２−０〜１２−２からのデータ転送要求が発生されていないため、ＣＰＵ１３によるデータ転送が許可されて実行される。ＣＰＵ１３によるデータ転送実行中に、タイミングｂで、ＤＭＡモジュール１２−２からのデータ転送要求（ＤＭＡ要求）が発生し、タイミングｃで、ＤＭＡモジュール１２−１からのデータ転送要求が発生するが、タイミングｄまではＣＰＵサイクルの期間であるため、データ転送実行が許可されずに待たされる。その後、タイミングｄで、ＣＰＵサイクルの期間が完了すると、ＤＭＡバス調停回路１４によって全てのＤＭＡ要求のマスクがクリアされる。
【０１１７】
さらに、タイミングｄで、ＤＭＡモジュール１２−０からのデータ転送要求が発生した時点で、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１、ＤＭＡモジュール１２−２およびＣＰＵ１３からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。
【０１１８】
その後、タイミングｅで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｈまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−０よりも優先順位が下位にある（ＤＭＡモジュール１２−０以外の）他のＤＭＡモジュール１２−１，１２−２からのＤＭＡ要求およびＣＰＵ１３からのデータ転送要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−０から次のＤＭＡ要求が発生することを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、ＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生することを抑制するために、タイミングｋまでＤＭＡモジュール１２−０からのデータ転送要求がマスクされる。
【０１１９】
さらに、タイミングｅで、ＤＭＡモジュール１２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１２−１、ＤＭＡモジュール１２−２およびＣＰＵ１３からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−１が優先され、ＤＭＡモジュール１２−１によるデータ転送が許可されて実行される。
【０１２０】
その後、タイミングｇで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｊまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−１よりも優先順位が下位にある他のＤＭＡモジュール１２−０および１２−２、およびＣＰＵ１３からのからのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−１から次のＤＭＡ要求が発生されることを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、ＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生されることを抑制するために、タイミングｍまでＤＭＡモジュール１からのデータ転送要求がマスクされる。
【０１２１】
さらに、タイミングｇで、ＤＭＡモジュール１２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１２−２およびＣＰＵ１３からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【０１２２】
その後、タイミングｉでＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｌまでのＤＭＡインターバルの期間（矢印で示す期間）は、ＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−２よりも優先順位が下位にある他のＤＭＡモジュール１２−０および１２−１、およびＣＰＵ１３からのからのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−２から次のＤＭＡ要求が発生することを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、所定のＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生することを抑制するために、タイミングｏまでＤＭＡモジュール１２−２からのデータ転送要求がマスクされる。
【０１２３】
さらに、このタイミングｉで、ＤＭＡモジュール１２−２によるデータ転送が完了した時点で、ＣＰＵ１３からのデータ転送要求のみが発生されているため、ＣＰＵ１３によるデータ転送が許可されて実行される。
【０１２４】
その後、タイミングｋで、優先順位の最も低いＣＰＵサイクルの期間が完了すると、ＤＭＡバス調停回路１４Ａによって全てのＤＭＡ要求のマスクがクリアされる。
【０１２５】
さらに、タイミングｋで、ＣＰＵ１３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０およびＣＰＵ１３からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が優先され、ＤＭＡモジュール１２−０によるデータ転送が許可されて実行される。
【０１２６】
その後、タイミングｍで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｐまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−０よりも優先順位が下位にある他のＤＭＡモジュール１２−１および１２−２からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−０から次のＤＭＡ要求が発生されることを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、そのＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生することを抑制するために、タイミングｓまでＤＭＡモジュール１２−０からのデータ転送要求がマスクされる。
【０１２７】
さらに、タイミングｍで、ＤＭＡモジュール１２−０によるデータ転送が完了した時点で、ＤＭＡモジュール１２−１および１２−２、およびＣＰＵ１３からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−１が優先され、ＤＭＡモジュール１２−１によるデータ転送が許可されて実行される。
【０１２８】
その後、タイミングｏで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｒまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−１よりも優先順位が下位にある他のＤＭＡモジュール１２−０および１２−２、およびＣＰＵ１３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−１から次のＤＭＡ要求が発生されることを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、そのＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生されることを抑制するために、タイミングｕまでＤＭＡモジュール１２−１からのデータ転送要求がマスクされる。
【０１２９】
さらに、タイミングｏで、ＤＭＡモジュール１２−１によるデータ転送が完了した時点で、ＤＭＡモジュール１２−２およびＣＰＵ１３からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【０１３０】
その後、タイミングｑで、ＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｔまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−２よりも優先順位が下位にある他のＤＭＡモジュール１２−０および１２−１、およびＣＰＵ１３からのからのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−２から次のＤＭＡ要求が発生することを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、所定のＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生することを抑制するために、タイミングｏまでＤＭＡモジュール１２−２からのデータ転送要求がマスクされる。
【０１３１】
さらに、タイミングｑで、ＤＭＡモジュール１２−２によるデータ転送が完了した時点で、ＣＰＵ１３からのデータ転送要求のみが発生されているため、ＣＰＵ１３によるデータ転送が許可されて実行される。
【０１３２】
その後、タイミングｋで、優先順位の最も低いＣＰＵサイクルの期間が完了すると、ＤＭＡバス調停回路１４Ａによって全てのＤＭＡ要求のマスクがクリアされる。
【０１３３】
さらに、タイミングｓで、ＣＰＵ１３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０およびＣＰＵ１３からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が優先され、ＤＭＡモジュール１２−０によるデータ転送が許可されて実行される。その後、タイミングｕで、ＤＭＡモジュール１２−０によるデータ転送が完了される。また、ＤＭＡ転送が完了したＤＭＡモジュール１２−０よりも優先順位が下位にある他のＤＭＡモジュール１２−１および１２−２、ＣＰＵ１３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ａによって、ＤＭＡモジュール１２−０から次のＤＭＡ要求が発生することを抑制し、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した時点でＣＰＵ１３からのバス要求がある場合に、そのＣＰＵサイクルの期間だけ、次のＤＭＡ要求が発生されることを抑制するために、ＤＭＡモジュール１２−０からのデータ転送要求がマスクされる。
【０１３４】
以上のように、本実施形態２のＤＭＡ転送装置２によれば、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送が完了した後に、次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバル（図４で矢印で示す期間）が設定され、さらに、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールなどからのＤＭＡ要求が無くなるまで次のＤＭＡ要求の発生が抑制される。これにより、優先順位が高いＤＭＡモジュール１２−０によりデータバスが占有され続けることがなくなり、ＤＭＡモジュール１２−０以外のＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２によるＤＭＡ転送を順次実行することが可能となる。さらに、優先順位が低いＣＰＵ１３によるＤＭＡ転送を実行可能となる。ＤＭＡ転送を実行可能とするためにＤＭＡインターバルを大きく設定する必要がないため、各ＤＭＡモジュールにおいて必要に応じてＤＭＡインターバルを設定することにより、各ＤＭＡモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのＤＭＡモジュールからのＤＭＡ要求も発生しない無駄な期間が生じるという問題を防ぐことができる。さらに、ＣＰＵ１３によるデータ転送処理を実行可能なＣＰＵサイクルが設定されているため、ＣＰＵサイクルを明確に把握してＤＭＡバス調停回路１４Ａに要求することが可能になる。
（実施形態３）
本実施形態３では、各データ転送モジュールからのデータ転送要求が競合した場合に、データ転送バス調停手段によって、優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたデータ転送モジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制されている場合について説明する。なお、データ転送インターバル後に行われる次のデータ転送要求が、ＤＭＡ転送が完了したＤＭＡモジュール以外の他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制されていてもよい。この「全てなくなるまで」は、優先順位が高いデータ転送モジュールから順次実行したときのデータ転送要求の有無を検出している。
【０１３５】
図５は、本発明の実施形態３に係るデータ転送装置におけるデータバスの接続例を示すブロック図である。
【０１３６】
図５において、本実施形態３のデータ転送装置３は、ＣＰＵに接続されていないデータ転送専用バスであるデータバス２１が複数のＤＴＣ（データ転送回路）モジュール２２−０、２２−１、・・・、２２−ｎ（ｎは０以上の整数）に共有されており、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからのデータ転送要求が競合した場合には、ＤＴＣバス調停回路２４によって調停が行われて、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎのうちの一つがデータ転送専用バス２１にバス接続を許可されて接続される。
【０１３７】
また、データ転送専用バスのデータバス２１には、前述した通り、制御回路１６、メモリ制御回路１７および外部デバイス制御回路１８が接続されており、データ転送専用バス２１に接続された上記各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎによって、制御回路１６内に設けられたレジスタ１６ａ、メモリ制御回路１７に設けられたレジスタ１７ａ、メモリ制御回路１７によって制御されるメモリ１９，２０、および外部デバイス制御回路１８内に設けられたレジスタ１８ａとの間のデータ転送が制御されるように構成されている。
【０１３８】
複数のＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。ＤＴＣバス調停回路２４においては、複数のＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎから出力されるデータ転送要求が調停され、複数のＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎのうち、データ転送を許可されたものが、データバス２１を介してアクセス可能とされる。
【０１３９】
本実施形態３のデータ転送装置３では、優先順位が高いデータ転送モジュールによりデータバス２１が占有されることを回避するために、各ＤＭＡモジュール２２−０、２２−１、・・・、２２−ｎによるデータ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルの期間（図６に矢印で示した期間）が設定されている。例えば、データ転送インターバル期間は、各ＤＭＡモジュール２２−０、２２−１、・・・、２２−ｎ内にそれぞれ設けられた各レジスタ２２−０ａ、２２−１ａ、・・・、２２−ｎａにそれぞれ設定されている。各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからのデータ転送要求に対して、データ転送が許可されてデータ転送の実行が完了した時点からデータ転送インターバルが経過してから、次のＤＭＡ要求が発生される。
【０１４０】
前述したように、従来は、データ転送インターバルが設定されても、さらに優先順位が低いＤＴＣモジュールによるデータ転送を実行できず、そのＤＴＣモジュールによるデータ転送の実行を可能にするためにＤＴＣインターバルが大きく設定された場合にはどのＤＴＣモジュールから複数のデータ転送要求も発生しない無駄な期間が生じる。これを解決するために、本実施形態３のデータ転送装置３では、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからのＤＴＣ要求が競合した場合に、ＤＴＣバス調停回路２４によって、優先順位が高いＤＴＣモジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたＤＴＣモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制されるように構成されている。これにより、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎによるデータバス２１の使用割合が必要に応じて調整される。
【０１４１】
以下に、本実施形態３のデータ転送装置３におけるデータ転送専用バス（データバス２１）の使用例について、図６のタイミングチャートを用いて説明する。
【０１４２】
図６は、上記図５に示す本実施形態３のデータ転送装置３におけるデータ転送専用バス（データバス２１）の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はＤＴＣモジュール２２−０〜２２−３からのデータ転送要求（ＤＴＣ要求）およびＤＴＣモジュール２２−０〜２２−３によるデータ転送（ＤＴＣ転送）の実行を示し、矢印はデータ転送インターバルの期間を示している。
【０１４３】
この事例では、各ＤＴＣモジュール２２−０〜２２−３の優先順位は、ＤＴＣモジュール２２−０の優先順位が最も高く、ＤＴＣモジュール２２−３の優先順位が最も低い。即ち、
ＤＴＣモジュール２２−０  ＞  ＤＴＣモジュール２２−１  ＞  ＤＴＣモジュール２２−２  ＞  ＤＴＣモジュール２２−３
とされているものとする。
【０１４４】
但し、図６では、データ転送要求に対する許可が与えられた各ＤＴＣモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、ＤＴＣ転送が完了したＤＴＣモジュール以外の他のＤＴＣモジュールからのデータ転送要求が全てなくなるまで抑制される場合について説明するが、ここでは、図６を用いて、データ転送要求に対する許可が与えられた各ＤＴＣモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、ＤＴＣ転送が完了したＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュールからのデータ転送要求が全てなくなるまで抑制されることにより、全てのＤＴＣモジュール２２−０〜２２−３によるデータ転送が循環方式により実行される場合について説明する。この場合、図６では、抑制期間（マスク期間）が異なっている。
【０１４５】
まず、タイミングａで、ＤＴＣモジュール２２−３からのデータ転送要求が発生すると、他のＤＴＣモジュール２２−０〜２２−２からのデータ転送要求が発生していないため、ＤＴＣモジュール２２−３によるデータ転送が許可されて実行される。ＤＴＣモジュール２２−３によるデータ転送実行中に、タイミングｂで、ＤＴＣモジュール２２−２からのデータ転送要求が発生し、タイミングｃで、ＤＴＣモジュール２２−１からの転送要求が発生するが、ＤＴＣモジュール２２−３によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
【０１４６】
次に、タイミングｄで、ＤＴＣモジュール２２−３によるデータ転送が完了するが、タイミングｆまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−３からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−３よりも優先順位が下位である他のＤＴＣモジュールがないため、ＤＴＣバス調停回路２４によって全てのデータ転送要求のマスクがクリアされる。
【０１４７】
さらに、タイミングｄで、ＤＴＣモジュール２２−０からのデータ転送要求が発生した時点で、ＤＴＣモジュール２２−０、ＤＴＣモジュール２２−１およびＤＴＣモジュール２２−２からのデータ転送要求がそれぞれ発生しているが、優先順位に従ってＤＴＣモジュール２２−０が優先され、ＤＴＣモジュール２２−０からのデータ転送が許可されて実行される。
【０１４８】
その後、タイミングｅで、ＤＴＣモジュール２２−０によるデータ転送が完了するが、タイミングｈまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−０からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−０よりも優先順位が下位にある他のＤＴＣモジュール２２−１〜２２−３からのＤＴＣ要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−０から次のデータ転送要求が発生されることを抑制するため、タイミングｋまでＤＴＣモジュール２２−０からのデータ転送要求がマスクされる。
【０１４９】
さらに、タイミングｅで、ＤＴＣモジュール２２−０によるデータ転送が完了した時点で、ＤＴＣモジュール２２−１およびＤＴＣモジュール２２−２からの各データ転送要求が発生されているが、優先順位に従ってＤＴＣモジュール２２−１が優先され、ＤＴＣモジュール２２−１によるデータ転送が許可されて実行される。
【０１５０】
その後、タイミングｇで、ＤＴＣモジュール２２ー１によるデータ転送が完了するが、タイミングｊまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−１からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−１よりも優先順位が下位にある他のＤＴＣモジュール２２−２および２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−１から次のデータ転送要求が発生することを抑制するため、タイミングｍまでＤＴＣモジュール２２−１からのデータ転送要求がマスクされる。
【０１５１】
さらに、タイミングｇで、ＤＴＣモジュール２２−１によるデータ転送が完了した時点で、ＤＴＣモジュール２２−２およびＤＴＣモジュール２２−３からの各データ転送要求が発生しているが、優先順位に従ってＤＴＣモジュール２２−２が優先され、ＤＴＣモジュール２２−２によるデータ転送が許可されて実行される。
【０１５２】
その後、タイミングｉで、ＤＴＣモジュール２２−２によるデータ転送が完了するが、タイミングｌまでのＤＴＣインターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−２からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２ー２よりも優先順位が下位にある他のＤＴＣモジュール２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−２から次のデータ転送要求が発生することを抑制するため、タイミングｏまでＤＴＣモジュール２２−２からのデータ転送要求がマスクされる。
【０１５３】
さらに、タイミングｉで、ＤＴＣモジュール２２−２によるデータ転送が完了した時点で、ＤＴＣモジュール２２−３からのデータ転送要求のみが発生しており、その以外のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−３によるデータ転送が許可されて実行される。
【０１５４】
その後、タイミングｋで、ＤＴＣモジュール２２−３によるデータ転送が完了するが、タイミングｎまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−３からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−３よりも優先順位が下位にある他のＤＴＣモジュールがないため、ＤＴＣバス調停回路２４によって全てのデータ転送要求のマスクがクリアされる。
【０１５５】
さらに、タイミングｋで、ＤＴＣモジュール２２−３によるデータ転送が完了した時点で、ＤＴＣモジュール２２−０からのデータ転送要求のみが発生しており、他のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−０によるデータ転送が許可されて実行される。
【０１５６】
その後、タイミングｍで、ＤＴＣモジュール２２−０によるデータ転送が完了するが、タイミングｐまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−０からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２ー０よりも優先順位が下位にある他のＤＴＣモジュール２２−１〜２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−０から次のデータ転送要求が発生されることを抑制するため、タイミングｓまでＤＴＣモジュール２２−０からのデータ転送要求がマスクされる。
【０１５７】
さらに、タイミングｍで、ＤＴＣモジュール２２−０によるデータ転送が完了した時点で、ＤＴＣモジュール２２−１からのデータ転送要求のみが発生されており、ＤＴＣモジュール２２−１以外の他のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−１によるデータ転送が許可されて実行される。
【０１５８】
その後、タイミングｏで、ＤＴＣモジュール２２−１によるデータ転送が完了するが、タイミングｒまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−１からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−１よりも優先順位が下位である他のＤＴＣモジュール２２−２および２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−１から次のデータ転送要求が発生されることを抑制するため、タイミングｕまでＤＴＣモジュール２２−１からのデータ転送要求がマスクされる。
【０１５９】
さらに、タイミングｏで、ＤＴＣモジュール２２−１によるデータ転送が完了した時点で、ＤＴＣモジュール２２−２およびＤＴＣモジュール２２−３からのデータ転送要求が発生しているが、優先順位に従ってＤＴＣモジュール２２−２が優先され、ＤＴＣモジュール２２−２によるデータ転送が許可されて実行される。
【０１６０】
その後、タイミングｑで、ＤＴＣモジュール２２−２によるデータ転送が完了するが、タイミングｔまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−２からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−２よりも優先順位が下位にある他のＤＴＣモジュール２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−２から次のデータ転送要求が発生されることを抑制するため、ＤＴＣモジュール２２−２からのデータ転送要求がマスクされる。
【０１６１】
さらに、タイミングｑで、ＤＴＣモジュール２２−２によるデータ転送が完了した時点で、ＤＴＣモジュール２２−３からのデータ転送要求のみが発生されており、ＤＴＣモジュール２２−３以外の他のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−３によるデータ転送が許可されて実行される。
【０１６２】
その後、タイミングｓで、ＤＴＣモジュール２２−３によるデータ転送が完了するが、タイミングｖまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−３からのデータ転送要求は発生されない。
【０１６３】
さらに、タイミングｓで、ＤＴＣモジュール２２−３によるデータ転送が完了した時点で、ＤＴＣモジュール２２−０からのデータ転送要求のみが発生されており、他のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−０によるデータ転送が許可されて実行される。その後、タイミングｕで、ＤＴＣモジュール２２−０によるデータ転送が完了する。また、ＤＴＣモジュール２２−０よりも優先順位が下位にある他のＤＴＣモジュール２２−１〜２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４によって、ＤＴＣモジュール２２−０から次のデータ転送要求が発生されることを抑制するため、ＤＴＣモジュール２２−０からのデータ転送要求がマスクされる。
【０１６４】
以上のように、本実施形態３のデータ転送装置３によれば、データ転送要求に対する許可が与えられたＤＴＣモジュールによるデータ転送が完了した後に、次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルが設定され、さらに、ＤＴＣモジュール２２−０よりも優先順位が下位にある他のＤＴＣモジュールからのデータ転送要求が無くなるまで次のデータ転送要求の発生が抑制される。これにより、優先順位が最も高いＤＴＣモジュール２２−０によりデータバス２１が占有され続けることなく、これよりも優先順位が低いＤＴＣモジュール２２−１およびＤＴＣモジュール２２−２によるデータ転送を実行することが可能とされ、さらに優先順位が低いＤＴＣモジュール２２−３によるデータ転送を実行することも可能となる。さらに、ＤＴＣモジュール２２−３によるデータ転送を実行可能とするためにＤＭＡインターバルを必要以上に大きく設定する必要がないため、各ＤＴＣモジュールにおいて必要に応じてデータ転送インターバルを設定することにより、各ＤＴＣモジュールによるデータ転送専用バス（データバス）の使用割合を必要に応じて調整することが可能になり、どのＤＴＣモジュールからのデータ転送要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
（実施形態４）
本実施形態４では、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させる場合について説明する。
【０１６５】
図７は、本発明の実施形態４に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【０１６６】
図７において、本実施形態１のＤＭＡ転送装置４は、データバス１１が複数のＤＭＡモジュール１２−０、１２−１、・・・１２−ｎと、制御手段としてのＣＰＵ１３とに共有されており、各ＤＭＡモジュール１２−０、１２−１、・・・１２−ｎからのＤＭＡ要求が競合した場合には、ＤＭＡバス調停回路１４Ｂによって調停が行われ、ＣＰＵ１３からのバス要求とＤＭＡモジュール１２−０、１２−１、・・・１２−ｎのうちのいずれかからのバス要求が競合した場合には、バス調停回路１５によって調停が行われて、ＣＰＵ１３またはＤＭＡモジュール１２−０、１２−１、・・・１２−ｎの一つがデータバス１１のバスマスターとしてバス接続を許可され、そのＣＰＵ１３またはＤＭＡモジュール１２−０、１２−１、・・・１２−ｎのいずれかがデータバス１１に接続される。
【０１６７】
さらに、データバス１１には、スレーブブロックとして制御回路１６、メモリ制御回路１７および外部デバイス制御回路１８が接続されており、上記バスマスターとしてデータバス１１に接続されたＣＰＵ１３またはＤＭＡモジュール１２−０、１２−１、・・・１２−ｎのうちのいずれかによって、制御回路１６内に設けられたレジスタ１６ａ、メモリ制御回路１７内に設けられたレジスタ１７ａ、メモリ制御回路１８によって制御されるメモリ１９，２０、および外部デバイス制御回路１８内に設けられたレジスタ１８ａ間のデータ転送が制御されるように構成されている。
【０１６８】
複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３からは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。ＤＭＡバス調停回路１４Ｂにおいては、複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎから出力される各データ転送要求（ＤＭＡ要求）が調停され、ＤＭＡバス調停回路１４Ｂからバス調停回路１５に対して、データ転送を許可されたＤＭＡモジュールからのデータ転送要求が出力される。
【０１６９】
このバス調停回路１５においては、ＤＭＡバス調停回路１４Ｂからのデータ転送要求とＣＰＵ１３からのバス要求とが調停され、複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３のうち、バスマスターとしてデータ転送を許可されたものが、データバス１１に接続されてアクセス可能とされる。
【０１７０】
本実施形態１のＤＭＡ転送装置１においては、図１３に示す従来のＤＭＡ転送装置１００の場合と同様に、優先順位が最も高いモジュール１２−０によりデータバス１１が占有されることを回避するために、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎのいずれかによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルの期間が設定されている。例えば、ＤＭＡインターバル期間は、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎ内に設けられた記憶手段としてのレジスタ１２−０ｂ、１２−１ｂ、・・・、１２−ｎｂにそれぞれ設定されている。各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎからのＤＭＡ要求に対して、ＤＭＡ転送が許可されてＤＭＡ転送の実行が完了された時点からＤＭＡインターバルが経過されてから、次のＤＭＡ要求が発生される。
【０１７１】
さらに、本実施形態４のＤＭＡ転送装置４においては、図１３に示す従来のＤＭＡ転送装置１００のように、所定期間のＤＭＡインターバルが設定されても、さらに優先順位が低い例えばＤＭＡモジュール１０２−３によるＤＭＡ転送を実行できず、ＤＭＡモジュール１０２−３によるＤＭＡ転送の実行を可能にするためにＤＭＡインターバルが大きく設定した場合には、どのＤＭＡモジュールからのＤＭＡ要求も発生しない無駄な期間が生じるという問題を解決するために、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎからのＤＭＡ要求が競合した場合に、ＤＭＡバス調停回路１４Ｂによって、優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられ、許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからの各ＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が高いＤＭＡモジュールに許可が順次与えられて実行される。これにより、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるデータバス１１の使用割合が調整される。
【０１７２】
つまり、ＤＭＡバス調停回路１４Ｂによって、ＤＭＡ転送が実行されて終了したＤＭＡモジュールの番号が記憶手段としてのレジスタ１４ｂに保存される。最後にＤＭＡ転送が実行されたＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュール（レジスタ１４ｂに保存されたモジュール番号を基準にして次の番号から求められたＤＭＡモジュール）からの各ＤＭＡ要求の有無が調べられる。その最後にＤＭＡ転送が実行されたＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点で、最後にＤＭＡ転送が実行されたＤＭＡモジュールの番号がリセットされ、最初の状態に戻る。
【０１７３】
以下に、本実施形態４のＤＭＡ転送装置４におけるデータバス１１の使用例について、図８のタイミングチャートを用いて説明する。
【０１７４】
図８は、上記図７に示す本実施形態４のＤＭＡ転送装置４におけるデータバス１１の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はＤＭＡモジュール１２−０〜１２−３からのデータ転送要求（ＤＭＡ要求）およびＤＭＡモジュール１２−０〜１２−３によるデータ転送（ＤＭＡ転送）の実行を示し、矢印はＤＭＡインターバルの期間を示している。また、この事例では、ＤＭＡモジュールの優先順位は、ＤＭＡモジュール１２−０を最も高くし、ＤＭＡモジュール１２−３を最も低くしている。即ち、
ＤＭＡモジュール１２−０  ＞  ＤＭＡモジュール１２−１  ＞  ＤＭＡモジュール１２−２  ＞  ＤＭＡモジュール１２−３
とされているものとする。
【０１７５】
但し、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからの各ＤＭＡ要求が全てなくなるまでＤＭＡ転送が順次実行されることにより、全てのＤＭＡモジュールによるデータ転送が循環方式により実行される。
【０１７６】
図８に示すように、まず、タイミングａで、ＤＭＡモジュール１２−３からのデータ転送要求（ＤＭＡ要求）が発生すると、他のＤＭＡモジュール１２−０〜１２−２からのデータ転送要求は発生していないため、ＤＭＡモジュール１２−３によるデータ転送（ＤＭＡ転送）が許可されて実行される。このＤＭＡモジュール１２−３によるデータ転送実行中に、次のタイミングｂで、ＤＭＡモジュール１２−２からのデータ転送要求が発生され、さらに次のタイミングｃで、ＤＭＡモジュール１２−１からの転送要求が発生するが、ＤＭＡモジュール１２−３によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
【０１７７】
次に、タイミングｄで、ＤＭＡモジュール１２−３によるデータ転送が完了するが、タイミングｆまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−３からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−３よりも優先順位が下位にある他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４Ｂによって、転送が完了したＤＭＡモジュールよりも優先順位が下位にあるＤＭＡモジュールを把握して調停する処理がリセットされて調停処理の対象が全ＤＭＡモジュールとなる。
【０１７８】
さらに、タイミングｄで、ＤＭＡモジュール１２−３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が他のものに優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。
【０１７９】
その後、タイミングｅで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｈまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−０よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−１〜１２−３からのＤＭＡ要求がなくなるまで、ＤＭＡバス調停回路１４Ｂによって、ＤＭＡ要求が発生しているＤＭＡモジュール２２−１およびＤＭＡモジュール２２−２の中から、優先順位に従ってＤＭＡモジュール２２−１が優先され、ＤＭＡモジュール２２−１によるデータ転送が許可されて実行される。
【０１８０】
その後、タイミングｇで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｊまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−１よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−２および１２−３からのデータ転送要求がなくなるまで、ＤＭＡバス調停回路１４Ｂによって、ＤＭＡ要求が発生しているＤＭＡモジュール２２−２およびＤＭＡモジュール２２−３の中から、優先順位に従ってＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【０１８１】
その後、タイミングｉで、ＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｌまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＴＣバス調停回路１４Ｂによって、ＤＭＡモジュール１２−２よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−３によるデータ転送が許可されて実行される。
【０１８２】
その後、タイミングｋで、ＤＭＡモジュール１２−３によるデータ転送が完了するが、タイミングｎまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−３からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−３よりも優先順位が下位にある他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４Ｂによって、優先順位が下位にあるＤＭＡモジュールを把握して調停する処理がリセットされて調停処理の対象が全ＤＭＡモジュールとなる。
【０１８３】
さらに、タイミングｋで、ＤＭＡモジュール１２−３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が他のものに優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。
【０１８４】
その後、タイミングｍで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｐまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−０よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−１〜１２−３からのデータ転送要求がなくなるまで、ＤＭＡバス調停回路１４Ｂによって、優先順位に従ってＤＭＡモジュール１２−１が他のものに優先され、ＤＭＡモジュール１２−１からのデータ転送が許可されて実行される。
【０１８５】
その後、タイミングｏで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｒまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−１よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−２および１２−３からのデータ転送要求がなくなるまで、ＤＭＡバス調停回路１４Ｂによって、ＤＭＡモジュール２２−２およびＤＭＡモジュール２２−３の中から、優先順位に従ってＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【０１８６】
その後、タイミングｑで、ＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｔまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−２よりも優先順位が下位にあってＤＭＡ要求がある他のＤＭＡモジュール１２−３によるデータ転送が許可されて実行される。
【０１８７】
その後、タイミングｓで、ＤＭＡモジュール１２−３によるデータ転送が完了するが、タイミングｖまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−３からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−３よりも優先順位が下位にある他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４Ｂによって全てのＤＭＡ要求のマスクがクリアされる。
【０１８８】
さらに、タイミングｓで、ＤＭＡモジュール１２−３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が他のものに優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。その後、タイミングｕで、ＤＭＡモジュール１２−０によるデータ転送が完了する。また、ＤＭＡモジュール１２−０よりも優先順位が下位にあってＤＭＡ要求がある他のＤＭＡモジュール１２−１〜１２−３からのデータ転送要求がなくなるまで、ＤＭＡバス調停回路１４Ｂによって、ＤＭＡモジュール１２−１〜１２−３の中から、優先順位に従ってＤＭＡモジュール１２−１が優先され、ＤＭＡモジュール１２−１によるデータ転送が許可されて実行される。
【０１８９】
以上のように、本実施形態４のＤＭＡ転送装置４によれば、ＤＭＡ要求に対する許可が与えられたモジュールによるＤＭＡ転送が完了された後に、次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルの期間（矢印で示す期間）が設定され、さらに、ＤＭＡモジュール１２−０よりも優先順位が下位にあってＤＭＡ要求がある他のＤＭＡモジュールから、優先順位に従ったＤＭＡモジュールが優先されて実行される。これによって、優先順位が最も高いＤＭＡモジュール１２−０によりデータバスが占有され続けることなく、これよりも優先順位が低いＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２によるＤＭＡ転送を実行することが可能とされ、さらに優先順位が低いＤＭＡモジュール１２−３によるＤＭＡ転送を実行することも可能となる。さらに、特許文献１に開示されている従来技術のように、ＤＭＡモジュール１２−３によるＤＭＡ転送を実行可能とするためにＤＭＡインターバルを大きく設定する必要がない。よって、各ＤＭＡモジュールにおいて必要に応じてＤＭＡインターバルを設定することにより、各ＤＭＡモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのＤＭＡモジュールからのＤＭＡ要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
（実施形態５）
本実施形態５では、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、該各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で該ＣＰＵからのバス要求がある場合に、該ＣＰＵの所定の該ＣＰＵサイクルの期間だけ該ＣＰＵによるデータ転送を許可して実行させる場合について説明する。
【０１９０】
図９は、本発明の実施形態５に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。なお、図３のＤＭＡ転送装置の作用効果と同一の作用効果を相する部材には同一の符号を付する。
【０１９１】
図９において、本実施形態５のＤＭＡ転送装置５は、図３に示す実施形態２のＤＭＡ転送装置２の場合と同様に、データバス１１が複数のＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎおよびＣＰＵ１３に共有されたＤＭＡ転送装置であって、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるＤＭＡ転送完了後に次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバルの期間が、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎ内に設けられたレジスタ１２−０ｃ、１２−１ｃ、・・・、１２−ｎｃに設定されている。
【０１９２】
また、通常、ＣＰＵ１３からは、常にバス要求が出力されているが、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎよりも優先順位が低く、ＣＰＵ１３によるデータ転送処理を実行可能なサイクルを明確に把握して要求することが困難であるため、本実施形態５のＤＭＡ転送装置５では、このＣＰＵサイクルが、ＤＭＡバス調停回路１４Ｃ内に設けられたレジスタ１４ｃに設定されている。各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎからのＤＭＡ要求が競合した場合には、ＤＭＡバス調停回路１４Ｃによって、優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可が与えられ、許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからの各ＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可が順次与えられて実行される。このようにして、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるＤＭＡ転送の実行が一巡した時点で、ＣＰＵ１３からのバス要求がある場合には、ＣＰＵサイクルの期間だけ、ＣＰＵ１３によるデータ転送が許可されて実行される。これにより、各ＤＭＡモジュール１２−０、１２−１、・・・、１２−ｎによるデータバス１１の使用割合が調整される。
【０１９３】
つまり、ＤＭＡバス調停回路１４Ｃによって、ＤＭＡ転送が実行されて終了したＤＭＡモジュールの番号が記憶手段としてのレジスタ１４ｃに保存される。最後にＤＭＡ転送が実行されたＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュール（レジスタ１４ｃに保存されたモジュール番号を基準にして次の番号から求められたＤＭＡモジュール）からの各ＤＭＡ要求の有無が調べられる。その最後にＤＭＡ転送が実行されたＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからの各ＤＭＡ要求が全てなくなった時点で、最後にＤＭＡ転送が実行されたＤＭＡモジュールの番号がリセットされ、最初の初期状態に戻る。
【０１９４】
以下に、本実施形態５のＤＭＡ転送装置５におけるデータバス１１の使用例について、図１０のタイミングチャートを用いて説明する。
【０１９５】
図１０は、上記図９に示す本実施形態５のＤＭＡ転送装置５におけるデータバスの使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はＤＭＡモジュール１２−０〜１２−２からのデータ転送要求（ＤＭＡ要求）とＣＰＵ１３からのバス要求（ＣＰＵ要求）およびＤＭＡモジュール１２−０〜１２−２によるデータ転送（ＤＭＡ転送）とＣＰＵ１３によるデータ転送の実行を示し、矢印はＤＭＡインターバルの期間（実線の矢印）およびＣＰＵサイクルの期間（点線の矢印）を示している。
【０１９６】
ここでは、ＤＭＡモジュール１２−０〜１２−２およびＣＰＵ１３の優先順位は、ＤＭＡモジュール１２−０の優先順位が最も高く、ＣＰＵ１３の優先順位が最も低く設定されている。即ち、
ＤＭＡモジュール１２−０  ＞  ＤＭＡモジュール１２−１  ＞  ＤＭＡモジュール１２−２  ＞  ＣＰＵ１３
とされているものとする。
【０１９７】
但し、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送の完了後、ＤＭＡインターバル後に行われる次のＤＭＡ要求の発生が、優先順位がより低い他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、許可が与えられたＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールから、優先順位が高いＤＭＡモジュールに許可が与えられる。全ての各ＤＭＡモジュール１２−０〜１２−２によるデータ転送が循環方式により実行される。さらに、各ＤＭＡモジュール１２−０〜１２−２によるＤＭＡ転送が一巡した後に、ＣＰＵ１３によるデータ転送が実行される。
【０１９８】
図１０に示すように、まず、タイミングａで、ＣＰＵ１３からのデータ転送要求（バス要求）が発生すると、他のＤＭＡモジュール１２−０〜１２−２からのデータ転送要求が発生されていないため、ＣＰＵ１３によるデータ転送が許可されて実行される。ＣＰＵ１３によるデータ転送実行中に、タイミングｂで、ＤＭＡモジュール１２−２からのデータ転送要求（ＤＭＡ要求）が発生し、タイミングｃで、ＤＭＡモジュール１２−１からのデータ転送要求が発生するが、タイミングｄまではＣＰＵサイクルの期間であるため、データ転送実行が許可されずに待たされる。
【０１９９】
次に、タイミングｄで、ＣＰＵ１３によるデータ転送が完了するが、ＣＰＵ１３よりも優先順位が下位にある他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４Ｃによって、優先順位が下位にあるＤＭＡモジュールを把握する処理がリセットされる。
【０２００】
このＣＰＵ１３からのデータ転送が完了した時点で、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１、ＤＭＡモジュール１２−２からのデータ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。
【０２０１】
その後、タイミングｅで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｈまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−０よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−１〜１２−３から、  優先順位に従ってＤＭＡモジュール１２−１が優先され、ＤＭＡモジュール１２−１によるデータ転送が許可されて実行される。
【０２０２】
その後、タイミングｇで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｊまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−１よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−２が優先され、ＤＭＡモジュール１２−２によるデータ転送が許可されて実行される。
【０２０３】
その後、タイミングｉでＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｌまでのＤＭＡインターバルの期間（矢印で示す期間）は、ＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−２よりも優先順位が下位にある他のＤＭＡモジュールがなく、ＣＰＵ１３からのＤＭＡ要求がある場合、所定のＣＰＵサイクルの期間だけ、ＣＰＵ１３によるデータ転送が許可されて実行される。
【０２０４】
さらに、タイミングｋで、ＣＰＵ１３によるデータ転送が完了するが、ＣＰＵ１３よりも優先順位が下位にある他のＤＭＡモジュールがないため、ＤＭＡバス調停回路１４Ｃによって、優先順位が下位にあるＤＭＡモジュールなどを把握する処理がリセットされる。
【０２０５】
タイミングｋで、優先順位の最も低いＣＰＵサイクルの期間が完了すると、ＤＭＡモジュール１２−０、ＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２からの各データ転送要求が発生しているが、ＤＭＡバス調停回路１４Ｃによって、優先順位に従ってＤＭＡモジュール１２−０が他のものに優先され、ＤＭＡモジュール１２−０からのデータ転送が許可されて実行される。
【０２０６】
その後、タイミングｍで、ＤＭＡモジュール１２−０によるデータ転送が完了するが、タイミングｐまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−０からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−０よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−１および１２−２から、優先順位に従ってＤＭＡモジュール１２−１が他のものに優先され、ＤＭＡモジュール１２−１からのデータ転送が許可されて実行される。
【０２０７】
その後、タイミングｏで、ＤＭＡモジュール１２−１によるデータ転送が完了するが、タイミングｒまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−１からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−１よりも優先順位が下位にあって各ＤＭＡ要求がある他のＤＭＡモジュール１２−２からのデータ転送が許可されて実行される。
【０２０８】
その後、タイミングｑで、ＤＭＡモジュール１２−２によるデータ転送が完了するが、タイミングｔまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＭＡモジュール１２−２からのデータ転送要求は発生されない。また、ＤＭＡモジュール１２−２よりも優先順位が下位の他のＤＭＡモジュールはなく、ＤＭＡバス調停回路１４Ｃによって、ＣＰＵ１３からのＤＭＡ要求がある場合、所定のＣＰＵサイクルの期間だけ、ＣＰＵ１３によるデータ転送が許可されて実行される。
【０２０９】
その後、タイミングｓでＣＰＵサイクルの期間が完了すると、ＣＰＵ１３よりも優先順位が下位にある他のＤＭＡモジュールなどがないため、ＤＭＡバス調停回路１４Ｃによって、優先順位が下位にあるＤＭＡモジュールなどを把握する処理がリセットされる。
【０２１０】
タイミングｓで、ＣＰＵ１３によるデータ転送が完了した時点で、ＤＭＡモジュール１２−０および１２−１、およびＣＰＵ１３からの各データ転送要求が発生しているが、優先順位に従ってＤＭＡモジュール１２−０が優先され、ＤＭＡモジュール１２−０によるデータ転送が許可されて実行される。その後、タイミングｕで、ＤＭＡモジュール１２−０によるデータ転送が完了される。
【０２１１】
以上のように、本実施形態５のＤＭＡ転送装置５によれば、ＤＭＡ要求に対する許可が与えられたＤＭＡモジュールによるＤＭＡ転送が完了した後に、次のＤＭＡ要求が行われるまでの間隔を示すＤＭＡインターバル（図１０で矢印で示す期間）が設定され、さらに、ＤＭＡモジュール１２−０よりも優先順位が下位にあってＤＭＡ要求がある他のＤＭＡモジュールから、優先順位に従ったＤＭＡモジュールが優先されて実行される。これによって、優先順位が最も高いＤＭＡモジュール１２−０によりデータバスが占有され続けることなく、これよりも優先順位が低いＤＭＡモジュール１２−１およびＤＭＡモジュール１２−２によるＤＭＡ転送を実行することが可能となる。さらに、優先順位が低いＤＭＡモジュールによるＤＭＡ転送を実行可能とするためにＤＭＡ転送を実行可能とするためにＤＭＡインターバルを大きく設定する必要がないため、各ＤＭＡモジュールにおいて必要に応じてＤＭＡインターバルを設定することにより、各ＤＭＡモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのＤＭＡモジュールからのＤＭＡ要求も発生しない無駄な期間が生じるという問題を防ぐことができる。さらに、ＣＰＵ１３によるデータ転送処理を実行可能なＣＰＵサイクルが設定されるため、ＣＰＵサイクルを明確に把握してＤＭＡバス調停回路１４Ｃに要求することが可能になる。
（実施形態６）
本実施形態６では、各データ転送モジュールからのデータ転送要求が競合した場合に、データ転送バス調停手段によって、優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたデータ転送モジュールによるデータ転送の完了後、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからの各データ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される場合について説明する。
【０２１２】
図１１は、本発明の実施形態６に係るデータ転送装置におけるデータバスの接続例を示すブロック図である。
【０２１３】
図１１において、本実施形態６のデータ転送装置６は、ＣＰＵに接続されていないデータ転送専用バスであるデータバス２１が複数のＤＴＣ（データ転送回路）モジュール２２−０、２２−１、・・・、２２−ｎ（ｎは０以上の整数）に共有されており、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからのデータ転送要求が競合した場合には、ＤＴＣバス調停回路２４によって調停が行われて、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎのうちの一つがデータ転送専用バス２１にバス接続を許可されて接続される。
【０２１４】
また、データ転送専用バスのデータバス２１には、前述した通り、制御回路１６、メモリ制御回路１７および外部デバイス制御回路１８が接続されており、データ転送専用バス２１に接続された上記各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎによって、制御回路１６内に設けられたレジスタ１６ａ、メモリ制御回路１７に設けられたレジスタ１７ａ、メモリ制御回路１７によって制御されるメモリ１９，２０、および外部デバイス制御回路１８内に設けられたレジスタ１８ａとの間のデータ転送が制御されるように構成されている。
【０２１５】
複数のＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。ＤＴＣバス調停回路２４においては、複数のＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎの複数から出力される各データ転送要求が調停され、複数のＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎのうち、データ転送を許可されたものが、データバス２１を介してアクセス可能とされる。
【０２１６】
本実施形態６のデータ転送装置６では、優先順位が高いデータ転送モジュールによりデータバス２１が占有され続けることを回避するために、各ＤＭＡモジュール２２−０、２２−１、・・・、２２−ｎのいずれかによるデータ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルの期間（図１２の矢印で示す期間）が設定されている。例えば、データ転送インターバル期間は、各ＤＭＡモジュール２２−０、２２−１、・・・、２２−ｎ内にそれぞれ設けられた各レジスタ２２−０ａ、２２−１ａ、・・・、２２−ｎａにそれぞれ設定されている。各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎからのデータ転送要求に対して、データ転送が許可されてデータ転送の実行が完了した時点からのデータ転送インターバルが経過してから、次のＤＭＡ要求が発生される。
【０２１７】
前述したように、従来は、データ転送インターバルが設定されても、さらに優先順位が低いＤＴＣモジュールによるデータ転送を実行できず、そのＤＴＣモジュールによるデータ転送の実行を可能にするためにＤＴＣインターバルが大きく設定された場合にはどのＤＴＣモジュールからのデータ転送要求も発生しない無駄な期間が生じる。これを解決するために、本実施形態６のデータ転送装置６では、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎから複数のＤＴＣ要求が競合した場合に、ＤＴＣバス調停回路２４によって、優先順位が高いＤＴＣモジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたＤＴＣモジュールによるデータ転送の完了後、データ転送が完了したＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュールからの各ＤＴＣ要求が全てなくなるまで、許可が与えられたＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュールの中から、優先順位が最も高いＤＴＣモジュールに許可が順次与えられてそれぞれ実行される。これにより、各ＤＴＣモジュール２２−０、２２−１、・・・、２２−ｎによるデータバス２１の使用割合が必要に応じて調整される。
【０２１８】
つまり、ＤＴＣバス調停回路２４Ａによって、ＤＴＣ転送が実行されて終了したＤＴＣモジュールの番号が記憶手段としてのレジスタ２４ｂに保存される。最後にＤＴＣ転送が実行されたＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュール（レジスタ２４ｂに保存されたモジュール番号を基準にして次の番号から求められたＤＴＣモジュール）からの各ＤＴＣ要求の有無が調べられる。その最後にＤＴＣ転送が実行されたＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュールからの各ＤＴＣ要求が全てなくなった時点で、最後にＤＴＣ転送が実行されたＤＴＣモジュールの番号がリセットされ、最初の初期状態に戻る。
【０２１９】
以下に、本実施形態６のデータ転送装置６におけるデータ転送専用バス（データバス２１）の使用例について、図１２のタイミングチャートを用いて説明する。
【０２２０】
図１２は、図１１に示す本実施形態６のデータ転送装置６におけるデータ転送専用バス（データバス２１）の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はＤＴＣモジュール２２−０〜２２−３からのデータ転送要求（ＤＴＣ要求）およびＤＴＣモジュール２２−０〜２２−３によるデータ転送（ＤＴＣ転送）の実行を示し、矢印はデータ転送インターバルの期間を示している。
【０２２１】
この事例では、各ＤＴＣモジュール２２−０〜２２−３の優先順位は、ＤＴＣモジュール２２−０の優先順位が最も高く、ＤＴＣモジュール２２−３の優先順位が最も低い。即ち、
ＤＴＣモジュール２２−０  ＞  ＤＴＣモジュール２２−１  ＞  ＤＴＣモジュール２２−２  ＞  ＤＴＣモジュール２２−３
とされているものとする。
【０２２２】
但し、データ転送要求に対する許可が与えられた各ＤＴＣモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、ＤＴＣ転送が完了したＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュールからの各ＤＴＣ要求が全てなくなるまでＤＴＣ転送が順次実行されることにより、全てのＤＴＣモジュールによるデータ転送が循環方式により実行される。
【０２２３】
図１２に示すように、まず、タイミングａで、ＤＴＣモジュール２２−３からのデータ転送要求が発生すると、他のＤＴＣモジュール２２−０〜２２−２からのデータ転送要求が発生していないため、ＤＴＣモジュール２２−３によるデータ転送が許可されて実行される。ＤＴＣモジュール２２−３によるデータ転送実行中に、タイミングｂで、ＤＴＣモジュール２２−２からのデータ転送要求が発生し、タイミングｃで、ＤＴＣモジュール２２−１からの転送要求が発生するが、ＤＴＣモジュール２２−３によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
【０２２４】
次に、タイミングｄで、ＤＴＣモジュール２２−３によるデータ転送が完了するが、タイミングｆまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−３からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−３よりも優先順位が下位にある他のＤＴＣモジュールがないため、ＤＴＣバス調停回路２４Ａによって、転送が完了したＤＴＣモジュールよりも優先順位が下位にあるＤＴＣモジュールを把握し、その中から調停する処理がリセットされて調停処理の対象が全ＤＭＡモジュールとなる。
【０２２５】
さらに、タイミングｄで、ＤＴＣモジュール２２−０、ＤＴＣモジュール２２−１およびＤＴＣモジュール２２−２からのデータ転送要求がそれぞれ発生しているが、優先順位に従ってＤＴＣモジュール２２−０が優先され、ＤＴＣモジュール２２−０からのデータ転送が許可されて実行される。
【０２２６】
その後、タイミングｅで、ＤＴＣモジュール２２−０によるデータ転送が完了するが、タイミングｈまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−０からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−０よりも優先順位が下位にあってＤＴＣ要求がある他のＤＴＣモジュール２２−１〜２２−３からのＤＴＣ要求がなくなるまで、ＤＴＣバス調停回路２４Ａによって、ＤＴＣ要求が発生しているＤＴＣモジュール２２−１およびＤＴＣモジュール２２−２の中から、優先順位に従ってＤＴＣモジュール２２−１が優先され、ＤＴＣモジュール２２−１によるデータ転送が許可されて実行される。
【０２２７】
その後、タイミングｇで、ＤＴＣモジュール２２ー１によるデータ転送が完了するが、タイミングｊまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−１からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−１よりも優先順位が下位にあって各ＤＴＣ要求がある他のＤＴＣモジュール２２−２および２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４Ａによって、ＤＴＣ要求が発生しているＤＴＣモジュール２２−２およびＤＴＣモジュール２２−３の中から、優先順位に従ってＤＴＣモジュール２２−２が優先され、ＤＴＣモジュール２２−２によるデータ転送が許可されて実行される。
【０２２８】
その後、タイミングｉで、ＤＴＣモジュール２２−２によるデータ転送が完了するが、タイミングｌまでのＤＴＣインターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−２からのデータ転送要求は発生されない。また、ＤＴＣバス調停回路２４Ａによって、ＤＴＣモジュール１２−２よりも優先順位が下位にあって各ＤＴＣ要求がある他のＤＴＣモジュール２２−３によるデータ転送が許可されて実行される。
【０２２９】
その後、タイミングｋで、ＤＴＣモジュール２２−３によるデータ転送が完了するが、タイミングｎまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−３からのデータ転送要求は発生されない。また、ＤＴＣモジュール１２−３よりも優先順位が下位にある他のＤＴＣモジュールがないため、ＤＴＣバス調停回路２４Ａによって、優先順位が下位にあるＤＴＣモジュールを把握して調停する処理がリセットされて調停処理の対象が全ＤＴＣモジュールとなる。
【０２３０】
さらに、タイミングｋで、ＤＴＣモジュール２２−３によるデータ転送が完了した時点で、ＤＴＣモジュール２２−０からのデータ転送要求のみが発生しており、他のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−０によるデータ転送が許可されて実行される。
【０２３１】
その後、タイミングｍで、ＤＴＣモジュール２２−０によるデータ転送が完了するが、タイミングｐまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−０からのデータ転送要求は発生されない。また、また、ＤＴＣモジュール２２ー０よりも優先順位が下位であって各ＤＴＣ要求がある他のＤＴＣモジュール２２−１〜２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４Ａによって、優先順位に従ってＤＭＡモジュール１２−１が他のものに優先され、ＤＭＡモジュール１２−１からのデータ転送が許可されて実行される。
【０２３２】
その後、タイミングｏで、ＤＴＣモジュール２２−１によるデータ転送が完了するが、タイミングｒまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−１からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−１よりも優先順位が下位であって各ＤＭＡ要求がある他のＤＴＣモジュール２２−２および２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４Ａによって、ＤＴＣモジュール２２−２およびＤＴＣモジュール２２−３の中から、優先順位に従ってＤＴＣモジュール２２−２が優先され、ＤＴＣモジュール２２−２によるデータ転送が許可されて実行される。
【０２３３】
その後、タイミングｑで、ＤＴＣモジュール２２−２によるデータ転送が完了するが、タイミングｔまでのデータ転送インターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−２からのデータ転送要求は発生されない。また、ＤＴＣモジュール２２−２よりも優先順位が下位であってＤＭＡ要求がある他のＤＴＣモジュール２２−３によるデータ転送が許可されて実行される。
【０２３４】
その後、タイミングｓで、ＤＴＣモジュール２２−３によるデータ転送が完了するが、タイミングｖまでのＤＭＡインターバルの期間（矢印で示す期間）はＤＴＣモジュール２２−３からのデータ転送要求は発生されない。
【０２３５】
さらに、タイミングｓで、ＤＴＣモジュール２２−３によるデータ転送が完了した時点で、ＤＴＣモジュール２２−０および２２−１からのデータ転送要求が発生しており、その他のＤＴＣモジュールからのデータ転送要求が発生されていないため、ＤＴＣモジュール２２−０によるデータ転送が許可されて実行される。その後、タイミングｕで、ＤＴＣモジュール２２−０によるデータ転送が完了する。また、ＤＴＣモジュール２２−０よりも優先順位が下位であってＤＴＣ要求のある他のＤＴＣモジュール２２−１〜２２−３からのデータ転送要求がなくなるまで、ＤＴＣバス調停回路２４Ａによって、ＤＴＣモジュール１２−１〜１２−３の中から、優先順位に従ってＤＴＣモジュール１２−１が優先され、ＤＴＣモジュール１２−１によるデータ転送が許可されて実行される。
【０２３６】
以上のように、本実施形態６のデータ転送装置６によれば、データ転送要求に対する許可が与えられたＤＴＣモジュールによるデータ転送が完了した後に、次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルが設定され、さらに、さらにそのＤＴＣモジュールよりも優先順位が下位にある他のＤＴＣモジュールからのデータ転送要求が無くなるまで、それよりも優先順位が下位にある他のＤＴＣモジュールから、優先順位に従ったＤＭＡモジュールが優先されて実行される。これにより、優先順位が最も高いＤＴＣモジュール２２−０によりデータバス２１が占有され続けることなく、これよりも優先順位が低いＤＴＣモジュール２２−１およびＤＴＣモジュール２２−２によるデータ転送を実行することが可能とされ、さらに優先順位が低いＤＴＣモジュール２２−３によるデータ転送をも実行することも可能となる。さらに、ＤＴＣモジュール２２−３によるデータ転送を実行可能とするためにＤＭＡインターバルを必要以上に大きく設定する必要がないため、各ＤＴＣモジュールにおいて必要に応じてデータ転送インターバルを設定することにより、各ＤＴＣモジュールによるデータ転送専用バス（データバス）の使用割合を必要に応じて調整することが可能になり、どのＤＴＣモジュールからのデータ転送要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
【０２３７】
したがって、上記実施形態１〜６によれば、各モジュールによる転送完了後に次の転送要求が行われるまでの間隔を示すインターバルの期間が、各モジュール内のレジスタに設定されている。各モジュールからの転送要求が競合した場合には、優先順位が最も高いモジュールからの転送要求に対して転送許可が与えられ、そのデータ転送の完了後、次の転送要求の発生が、他のモジュールからのＤＭＡ要求が全てなくなるまで抑制されるか、または、そのデータ転送の完了後、データ転送が完了したモジュールよりも優先順位が下位にある他のモジュールの中から、優先順位が最も高いモジュールに許可が順次与えられる。これによって、複数のモジュールによりデータバスが共有されたＤＭＡ転送装置またはＤＴＣ転送装置において、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を確実に回避することができる。
【０２３８】
なお、上記実施形態１、２では、次のＤＭＡ要求の抑制は、ＤＭＡモジュールからのＤＭＡ要求を当該ＤＭＡ要求がなかったようにマスクする場合について説明したが、これに限らず、次のＤＭＡ要求の抑制は、ＤＭＡモジュールからのＤＭＡ要求の発生を停止させるように制御してもよい。また、上記実施形態３では、次のデータ転送要求の抑制は、データ転送モジュールからのデータ転送要求を当該データ転送要求がなかったようにマスクする場合について説明したが、これに限らず、次のデータ転送要求の抑制は、データ転送モジュールからのデータ転送要求の発生を停止させるように制御してもよい。
【０２３９】
なお、上記実施形態１、２では、ＤＭＡ転送の完了後で次のＤＭＡ要求の抑制前に、ＤＭＡ要求が行われないＤＭＡインターバルの期間が別途設けられている場合について説明したが、これに限らず、ＤＭＡインターバルの期間が別途設けられていない場合もあり得る。また、上記実施形態４、５では、ＤＭＡ転送の完了後に、次のＤＭＡ要求までにＤＭＡ要求が行われないＤＭＡインターバルの期間が別途設けられている場合について説明したが、これに限らず、ＤＭＡインターバルの期間が別途設けられていない場合もあり得る。この期間に関する情報は、ＤＭＡモジュール毎に設けられた第１記憶手段内にそれぞれ記憶されて設定されている。
また、上記実施形態３では、データ転送の完了後で次のデータ転送要求の抑制前に、データ転送要求が行われないデータ転送インターバルの期間が別途設けられている場合について説明したが、これに限らず、ＤＭＡインターバルの期間が別途設けられていない場合もあり得る。また、上記実施形態６では、データ転送の完了後に、次のＤＭＡ要求までにデータ転送要求が行われないデータ転送インターバルの期間が別途設けられている場合について説明したが、これに限らず、ＤＭＡインターバルの期間が別途設けられていない場合もあり得る。この期間に関する情報は、データ転送モジュール毎に設けられた第４記憶手段内にそれぞれ記憶されて設定されている。
【０２４０】
なお、上記実施形態１〜６では、特に説明しなかったが、ＤＭＡバス調停１４は、ＤＭＡ要求の競合時に、各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、ＤＭＡ転送が完了した後に、このＤＭＡモジュールからの次のＤＭＡ要求が、ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制される。または、ＤＭＡバス調停１４は、ＤＭＡ要求の競合時に、各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、ＤＭＡ転送が完了した後に、このＤＭＡモジュールからの次のＤＭＡ要求が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制される。
【０２４１】
また、ＤＭＡバス調停回路１４Ａは、ＤＭＡ要求の競合時に、各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、ＤＭＡ転送が完了した後に、このＤＭＡモジュールからの次のＤＭＡ要求が、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまでの期間だけ抑制され、さらに、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で該ＣＰＵからのバス要求がある場合に、ＣＰＵの所定のＣＰＵサイクルの期間だけ、次のＤＭＡ要求が抑制される。
【０２４２】
さらに、データ転送バス調停回路２４は、データ転送要求の競合時に、各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、データ転送が完了した後に、このデータ転送モジュールからの次のデータ転送要求が、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制される。
【０２４３】
さらに、ＤＭＡバス調停回路１４Ｂは、ＤＭＡ要求の競合時に、各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、データ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させる。
さらに、ＤＭＡバス調停回路１４Ｃは、ＤＭＡ要求の競合時に、各ＤＭＡモジュールのうちの優先順位が高いＤＭＡモジュールからのＤＭＡ要求に対してＤＭＡ転送の許可を与え、ＤＭＡ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で該ＣＰＵからのバス要求がある場合に、ＣＰＵの所定の該ＣＰＵサイクルの期間だけ該ＣＰＵによるデータ転送を許可して実行させる。
【０２４４】
さらに、データ転送バス調停回路２４Ａは、データ転送要求の競合時に、各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される。
以上のいずれのＤＭＡバス調停回路においても、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を回避することができ、しかも、そのモジュールよりも優先順位が低いＣＰＵによるデータ転送処理を実行可能するサイクルをも明確に把握して要求できる本発明の目的を達成することができる。また、以上のいずれのデータ転送バス調停回路においても、ＣＰＵが接続されないデータ転送専用バスを複数のデータ転送モジュールにより共有する場合に、特定のモジュールによりデータ転送専用バスが占有され続けることによって生じる不整合を回避できる本発明の目的を達成することができる。
【０２４５】
なお、上記実施形態１、２、４および５では、特に説明しなかったが、ＤＭＡ転送が完了したＤＭＡモジュールに関する情報が、ＤＭＡバス調停回路に設けられたレジスタなどの第２記憶手段内にそれぞれ記憶されて設定される。ＤＭＡ転送が完了したＤＭＡモジュール以外の他のＤＭＡモジュールは、第２記憶手段に前記ＤＭＡモジュールに関する情報として記憶されたモジュール番号以外のＤＭＡモジュールである。また、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールは、第２記憶手段にＤＭＡモジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のＤＭＡモジュールである。
【０２４６】
また、上記実施形態３、６では、特に説明しなかったが、データ転送が完了したデータ転送モジュールに関する情報が、データ転送バス調停回路に設けられた第５記憶手段内にそれぞれ記憶されて設定される。データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールは、第５記憶手段にデータ転送モジュールに関する情報として記憶されたモジュール番号以外のデータ転送モジュールである。また、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールは、第５記憶手段にデータ転送モジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のデータ転送モジュールである。
【０２４７】
以上のように、本発明の好ましい実施形態１〜６を用いて本発明を例示してきたが、本発明は、この実施形態１〜６に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態１〜６の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０２４８】
本発明は、例えば携帯型ゲーム機などのように複数種類のデータを扱う電子機器において、ＤＭＡ（ダイレクト・メモリ・アクセス）転送によりＣＰＵ（中央演算処理装置）を介さずにデータ転送を可能とするために、複数のモジュールからのＤＭＡ要求を調停し、特定のモジュールに対してバスを使用する許可を与えてＤＭＡ転送を行うＤＭＡ転送装置および、ＣＰＵが接続されないデータ転送専用バスに接続され、複数のデータ転送モジュールからのデータ転送要求を調停し、特定のモジュールにバスを使用する許可を与えてデータ転送を行うデータ転送装置の分野において、ＤＭＡ要求に対する許可が与えられたモジュールのＤＭＡ転送が完了した後に、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が無くなるまで次のＤＭＡ要求の発生が抑制される。または、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させる。このため、優先順位が高いＤＭＡモジュールによりデータバスが占有されず、優先順位が低いＤＭＡモジュールによりＤＭＡ転送を実行することが可能とされる。これにより、特許文献１に開示されている従来技術のようにＤＭＡインターバルを大きく設定する必要がなく、各モジュールによるデータバスの使用割合を必要に応じて調整することができる。
【０２４９】
また、ＤＭＡ要求に対する許可が与えられたモジュールのＤＭＡ転送が完了した後に、他のＤＭＡモジュールからのＤＭＡ要求およびＣＰＵからのバス要求が無くなるまで次のＤＭＡ要求の発生が抑制され、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点で、ＣＰＵからのバス要求がある場合に、ＣＰＵによる転送処理を実行可能な期間を示すＣＰＵサイクルの期間だけ、次のＤＭＡ要求の発生が抑制される。または、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールからのＤＭＡ要求が全てなくなるまで、ＤＭＡ転送が完了したＤＭＡモジュールよりも優先順位が下位にある他のＤＭＡモジュールの中から、優先順位が最も高いＤＭＡモジュールに許可を順次与えてそれぞれ実行させ、さらに、各ＤＭＡモジュールによるＤＭＡ転送が一巡した時点でＣＰＵからのバス要求がある場合に、ＣＰＵの所定のＣＰＵサイクルの期間だけＣＰＵによるデータ転送を許可して実行させる。これにより、各ＤＭＡモジュールおよびＣＰＵによるデータバスの使用割合を必要に応じて調整することが可能になり、ＣＰＵにより転送処理を実行可能なサイクルを明確に把握して要求することができる。
【０２５０】
さらに、データ転送要求に対する許可が与えられたモジュールのデータ転送が完了した後に、他のデータ転送モジュールからのデータ転送要求が無くなるまで次のデータ転送要求の発生が抑制されるため、優先順位が高いデータ転送モジュールによりデータ転送専用バスが占有されず、優先順位が低いデータ転送モジュールによりデータ転送を実行することが可能とされる。または、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を順次与えてそれぞれ実行させる。これにより、特許文献１に開示されている従来技術のようにデータ転送インターバルを大きく設定する必要がなく、各モジュールによるデータ転送専用バスの使用割合を必要に応じて調整することができる。
【図面の簡単な説明】
【０２５１】
【図１】本発明の実施形態１に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【図２】図１のＤＭＡ転送装置によるデータバスの使用例を説明するためのタイミングチャートである。
【図３】本発明の実施形態２に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【図４】図３のＤＭＡ転送装置によるデータバスの使用例を説明するためのタイミングチャートである。
【図５】本発明の実施形態３に係るデータ転送装置におけるデータ転送専用バスの接続例を示すブロック図である。
【図６】図５のデータ転送装置によるデータ転送専用バスの使用例を説明するためのタイミングチャートである。
【図７】本発明の実施形態４に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【図８】図７のＤＭＡ転送装置によるデータバスの使用例を説明するためのタイミングチャートである。
【図９】本発明の実施形態５に係るＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【図１０】図９のＤＭＡ転送装置によるデータバスの使用例を説明するためのタイミングチャートである。
【図１１】本発明の実施形態６に係るデータ転送装置におけるデータ転送専用バスの接続例を示すブロック図である。
【図１２】図１１のデータ転送装置によるデータ転送専用バスの使用例を説明するためのタイミングチャートである。
【図１３】従来のＤＭＡ転送装置におけるデータバスの接続例を示すブロック図である。
【図１４】図１３の従来のＤＭＡ転送装置を、ＤＭＡ要求間隔（ＤＭＡインターバル）を設定する特許文献１のバス制御方法に適用した場合の使用例を説明するためのタイミングチャートである。
【符号の説明】
【０２５２】
１，２，４，５    ＤＭＡ転送装置
３，６  ＤＴＣ転送装置
１１，２１    データバス
１２−０、１２−１、・・・１２−ｎ    ＤＭＡモジュール
１２−０ａ、１２−１ａ、・・・１２−ｎａ    レジスタ
１２−０ｂ、１２−１ｂ、・・・１２−ｎｂ    レジスタ
１２−０ｃ、１２−１ｃ、・・・１２−ｎｃ    レジスタ
１３  ＣＰＵ（中央演算処理装置）
１４，１４Ａ，１４Ｂ，１４Ｃ，２４，２４Ａ    ＤＭＡバス調停回路
１４ａ、１４ｂ，１４ｃ，２４ａ  レジスタ
１５  バス調停回路
１６  制御回路
１６ａ，１７ａ，１８ａ  レジスタ
１７  メモリ制御回路
１８  外部デバイス制御回路
１９，２０  メモリ
【図１】
2008192090.tif 000003
【図２】
2008192090.tif 000004
【図３】
2008192090.tif 000005
【図４】
2008192090.tif 000006
【図５】
2008192090.tif 000007
【図６】
2008192090.tif 000008
【図７】
2008192090.tif 000009
【図８】
2008192090.tif 000010
【図９】
2008192090.tif 000011
【図１０】
2008192090.tif 000012
【図１１】
2008192090.tif 000013
【図１２】
2008192090.tif 000014
【図１３】
2008192090.tif 000015
【図１４】
2008192090.tif 000016