(57)【要約】【課題】  １つのチャネルに異なった複数のＤＭＡ転送を対応させようとする場合の処理を円滑にする。【解決手段】  ＤＭＡ要求信号制御装置１０は、内部にチェーンＤＭＡ転送の順番（ＤＭＡ要求を許可する順番）を設定するための記憶領域を持ち、あらかじめ設定できるものとする。ＤＭＡ要求モジュールＡ〜Ｃはバス１３に接続され、このバス１３にメモリ１２が接続されると共に、それぞれのＤＭＡ要求信号がＤＭＡ要求信号制御装置１０の入力Dreq0、Dreq1に接続される。そして、このＤＭＡ要求信号制御装置１０から取り出される要求信号ＤＲＱ＿Ａが、ＤＭＡ制御装置１１のチャネル０に入力される。また、ＤＭＡ制御装置１１のチャネル０の割り込み信号Int0が、ＤＭＡ要求信号制御装置１０の入力Int0に供給される。【選択図】        図１
2006024134.tif 000002
【特許請求の範囲】
【請求項１】
チェーンＤＭＡ（Direct Memory Access）方式に適用されるＤＭＡ転送装置であって、
ＤＭＡ制御装置とＤＭＡ要求信号制御装置とからなり、
前記ＤＭＡ要求信号制御装置には、
複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す第１のセレクタと、
前記第１のセレクタの選択情報をＤＭＡ発生順に設定するレジスタと
を有し、
前記ＤＭＡ制御装置からのＤＭＡ割り込み信号の発生ごとに、前記レジスタに設定された前記第１のセレクタの選択情報を前記ＤＭＡ発生順に従って選択し、
前記選択された前記第１のセレクタの選択情報に従って前記第１のセレクタで前記複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す
ことを特徴とするＤＭＡ転送装置。
【請求項２】
前記ＤＭＡ要求信号制御装置には、前記レジスタに設定された前記第１のセレクタの選択情報を選択する第２のセレクタをさらに有し、
前記ＤＭＡ制御装置からのＤＭＡ割り込み信号の発生ごとに、前記第２のセレクタで前記レジスタに設定された前記第１のセレクタの選択情報を前記ＤＭＡ発生順に従って選択する
ことを特徴とする請求項１記載のＤＭＡ転送装置。
【請求項３】
外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第１及び第２のバッファを設け、
前記第１及び第２のバッファからのＤＭＡを前記ＤＭＡ制御装置の一つのチャネルを用いて行う場合に、
前記ＤＭＡ制御装置とＤＭＡ要求信号制御装置とを用いる
ことを特徴とする請求項１または請求項２のいずれか一つに記載のＤＭＡ転送装置。
【請求項４】
チェーンＤＭＡ（Direct Memory Access）方式に適用されるＤＭＡ転送方法であって、
複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す第１の選択手段と、
前記第１の選択手段の選択情報をＤＭＡ発生順に記憶する記憶手段と
が設けられ、
ＤＭＡ割り込み信号の発生ごとに、前記記憶された前記第１の選択手段の選択情報を前記ＤＭＡ発生順に従って選択し、
前記選択された前記第１の選択手段の選択情報に従って前記第１の選択手段で前記複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す
ことを特徴とするＤＭＡ転送方法。
【請求項５】
前記記憶手段に設定された前記第１の選択手段の選択情報を選択する第２の選択手段が設けられ、
前記ＤＭＡ割り込み信号の発生ごとに、前記第２の選択手段で前記記憶手段に設定された前記第１の選択手段の選択情報を前記ＤＭＡ発生順に従って選択する
ことを特徴とする請求項４記載のＤＭＡ転送方法。
【請求項６】
外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第１及び第２のバッファを設け、
前記第１及び第２のバッファからのＤＭＡを一つのチャネルを用いて行う場合に利用される
ことを特徴とする請求項４または請求項５のいずれか一つに記載のＤＭＡ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば周辺装置と内部メモリとの間でデータの転送を行う場合に使用して好適なＤＭＡ転送装置及びＤＭＡ転送方法に関する。詳しくは、チェーンＤＭＡ方式のＤＭＡ制御装置で、一つのチャネルに複数のＤＭＡモジュールを接続した場合にも、良好なＤＭＡ転送が行われるようにしたものである。
【背景技術】
【０００２】
ＤＭＡ（Direct Memory Access）転送の方法には、大別するとレジスタダイレクト方式とチェーンＤＭＡ方式の二つの方式が提案されている。
【０００３】
前者のレジスタダイレクトとは、転送元アドレス、転送先アドレス及び転送データサイズ（バイトサイズ）を、ＤＭＡ転送を行うごとに、プログラム（ＣＰＵ）からＤＭＡ制御装置のレジスタに書き込むことによりＤＭＡ転送を行う方法である（以降、これらのアドレス及び転送データサイズをまとめてディスクリプタと呼ぶ。）。このようなレジスタダイレクト方式ＤＭＡ制御装置１１と、メモリ１２と、バス１３と、ＤＭＡ要求モジュール０、１との接続図を図１２に示す。
【０００４】
図１２において、ＤＭＡ制御装置１１は、入力としてＤＭＡ要求信号ＤＲＱ０〜ＤＲＱＮを持ち、その要求信号の数だけ異なったＤＭＡ転送が可能となる（転送元と転送先の組み合わせが異なるＤＭＡ転送）。ここで、ＤＭＡ制御装置１１が持つＤＭＡ要求信号の数をチャネル数と呼ぶことにすると、チャネル数の数だけ異なったＤＭＡ転送が可能と言うことができる。なお、図１２のＩＮＴ０〜ＩＮＴＮは、各ＤＭＡチャネルに対応した割込み出力信号であり、ＤＭＡ転送が終了すると割込みが発生する。
【０００５】
このような通常のレジスタダイレクト方式によるＤＭＡ転送の流れは次の様になる。
(A-1) ＤＭＡの上記のディスクリプタをＤＭＡ制御装置１１に登録する。
(A-2) ＤＭＡ転送を要求するモジュールはＤＭＡ制御装置１１に対してＤＭＡ要求信号にて通知する。
(A-3) ＤＭＡ要求信号を受けたＤＭＡ制御装置１１はバスマスタとなり、転送元と転送先アドレスに対してＤＭＡ転送を開始する。
(A-4) ＤＭＡ転送終了後は、割り込み信号をアサートし、ＤＭＡ転送終了を通知する。ただし、割り込み信号は各チャネル別に存在するものとする。
【０００６】
これに対して、本発明の背景技術となるチェーンＤＭＡ方式とは、転送元アドレス、転送先アドレス及び転送データサイズといった転送情報を複数用意し、各々の転送情報に基づくＤＭＡ転送をＤＭＡ制御装置自身によって連続的に行う（チェーンＤＭＡ転送）方法である（例えば、特許文献１参照。）。
【０００７】
すなわち、チェーンＤＭＡ方式において転送情報はメモリ１２内に格納される。メモリ１２内へ書き込まれる内容としては、各々の転送情報に加え、次のＤＭＡ転送のための転送情報が書き込まれているメモリアドレスも一緒に書き込まれる。なお、チェーンＤＭＡ転送の最後に行われるＤＭＡ転送のディスクリプタには次のディスクリプタ用のメモリアドレスが無いため、例えば、次メモリアドレスとして０を記載するなどして区別する。
【０００８】
そしてチェーンＤＭＡ転送を行う際は、最初のＤＭＡの為の転送情報及び次のＤＭＡの転送情報が格納されているメモリアドレスのみを、あらかじめプログラム（ＣＰＵ）からＤＭＡ制御装置１１内のレジスタに格納しておき、次のＤＭＡ転送からは、ＤＭＡ制御装置１１が自動的にメモリ１２より次のＤＭＡ転送のためのディクリプタを読み出すことによりＤＭＡ転送を行っていく。
【０００９】
なお、メモリ１２上の連なったディクリプタのイメージを図１３に示す。この図１３に示すように、各ディスクリプタがアドレスによってチェーンでつながっていることがわかる。また、先頭のディスクリプタのアドレスはＤＭＡ制御装置１１内に持っている。
【００１０】
さらに、図１４にチェーンＤＭＡ方式のＤＭＡ転送装置の概略図を示す。図１４において、ＤＭＡ制御装置１１と、メモリ１２と、バス１３と、各種ＤＭＡ要求モジュールＡ〜Ｆは、アドレスバス、データバス及び制御バスを共有し、同一システム内にあることを示している。ＤＭＡ要求モジュールＡ、Ｂ及びＣはＤＭＡ制御装置１１のチャネル０に接続されており、ＤＭＡ要求モジュールＤ、Ｅ及びＦはＤＭＡ制御装置１１のチャネル１に接続されている。
【００１１】
この図１４に示す様に、チェーンＤＭＡ方式では、複数のモジュールのＤＭＡ要求信号をモジュール間で共有し、チェーンＤＭＡ制御装置１１のＤＭＡ要求信号に入力することができる。そのため、１つのチャネルに異なった複数のＤＭＡ転送を対応させる事が可能（ＤＭＡ要求モジュールＡとメモリ１２間、ＤＭＡ要求モジュールＢとメモリ１２間、ＤＭＡ要求モジュールＡとＤＭＡ要求モジュールＣ間など）となる。
【００１２】
この場合に、チェーンＤＭＡ制御装置１１によるＤＭＡ転送の流れは次の様になる。
(B-1) 同一チャネルに接続された複数の異なったＤＭＡ情報を、ＤＭＡ転送を行う順番にＤＭＡ制御装置１１内の記憶領域に書き込む。
(B-2) 最初のＤＭＡ転送のためのＤＭＡ情報を記憶領域から読み出し、ＤＭＡ転送に備える。
(B-3) ＤＭＡ要求信号が発生すると設定した順にＤＭＡ転送を行う。
(B-4) １つのＤＭＡ転送が終了すると割り込み信号をアサートする。
(B-5) 次のＤＭＡ転送のためのＤＭＡ情報を記憶領域から読み出す。
(B-6) (B-3)〜(B-5)を繰り返す。
【特許文献１】特開昭６１−２８２９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで上述のチェーンＤＭＡ方式を実現するためには、次の２つの制約を設ける必要がある。
(A) 同一チャネルに接続されたスレーブがどの順番でＤＭＡ要求信号を出すかがあらかじめ決まっている。
(B) ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求信号が起こらないこと（ＤＭＡ転送は排他的に発生しなければならない）。
【００１４】
ここで、(A)の制約に関しては、あらかじめＤＭＡが発生する順番がわからなければディスクリプタチェーンを事前に作成することが不可能だからである。また、(B)の制約に関しては、チャネルのＤＭＡ要求信号が、同一チャネル上の各周辺モジュール間で共有されている為である。この場合に、もしあるモジュールがＤＭＡ転送実行中に別の（同一チャネルにつながる）モジュールがＤＭＡ要求信号を動作させれば、信号が交じり合い、現在のＤＭＡ転送が誤動作してしまう。
【００１５】
すなわち、上述の(B-1)〜(B-6)に示されたチェーンＤＭＡ制御装置１１によるＤＭＡ転送の流れは、上記の(A)及び(B)の制約を前提としているものである。このため、異なる複数のＤＭＡ転送が、上記の(A)、(B)の制約を満たさない場合、チェーンＤＭＡ方式を用いることができない。したがって、従来の手段でチェーンＤＭＡ制御装置１１によるＤＭＡ転送を実現する場合には、上記の(A)及び(B)の制約が発生するものである。
【００１６】
この発明はこのような点に鑑みて成されたものであって、解決しようとする問題点は、従来の装置では、１つのチャネルに異なった複数のＤＭＡ転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンＤＭＡ方式を用いることができなかったというものである。
【課題を解決するための手段】
【００１７】
このため本発明においては、複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す選択手段を有するＤＭＡ要求制御装置を設け、ＤＭＡ割り込み信号の発生ごとに、所定のＤＭＡ発生順に従ってＤＭＡ要求信号を取り出してチェーンＤＭＡ転送を行うようにしたものであって、これによれば、ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求が起こらないようにして、チェーンＤＭＡ転送を良好に行うことができる。
【発明の効果】
【００１８】
請求項１の発明によれば、チェーンＤＭＡ（Direct Memory Access）方式に適用されるＤＭＡ転送装置であって、ＤＭＡ制御装置とＤＭＡ要求信号制御装置とからなり、ＤＭＡ要求信号制御装置には、複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す第１のセレクタと、第１のセレクタの選択情報をＤＭＡ発生順に設定するレジスタとを有し、ＤＭＡ制御装置からのＤＭＡ割り込み信号の発生ごとに、レジスタに設定された第１のセレクタの選択情報をＤＭＡ発生順に従って選択し、選択された第１のセレクタの選択情報に従って第１のセレクタで複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出すことによって、ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求が起こらないようにし、チェーンＤＭＡ転送を良好に行うことができる。
【００１９】
また、請求項２の発明によれば、ＤＭＡ要求信号制御装置には、レジスタに設定された第１のセレクタの選択情報を選択する第２のセレクタをさらに有し、ＤＭＡ制御装置からのＤＭＡ割り込み信号の発生ごとに、第２のセレクタでレジスタに設定された第１のセレクタの選択情報をＤＭＡ発生順に従って選択することによって、チェーンＤＭＡ転送が円滑に行行われるようにしたものである。
【００２０】
請求項３の発明によれば、外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第１及び第２のバッファを設け、第１及び第２のバッファからのＤＭＡをＤＭＡ制御装置の一つのチャネルを用いて行う場合に、ＤＭＡ制御装置とＤＭＡ要求信号制御装置とを用いることによって、外付けメモリに記憶される制御情報とデータとＤＭＡ転送が良好に行われるようにしたものである。
【００２１】
さらに請求項４の発明によれば、チェーンＤＭＡ（Direct Memory Access）方式に適用されるＤＭＡ転送方法であって、複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す第１の選択手段と、第１の選択手段の選択情報をＤＭＡ発生順に記憶する記憶手段とが設けられ、ＤＭＡ割り込み信号の発生ごとに、記憶された第１の選択手段の選択情報をＤＭＡ発生順に従って選択し、選択された第１の選択手段の選択情報に従って第１の選択手段で前記複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出すことによって、ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求が起こらないようにし、チェーンＤＭＡ転送を良好に行うことができる。
【００２２】
また、請求項５の発明によれば、記憶手段に設定された第１の選択手段の選択情報を選択する第２の選択手段が設けられ、ＤＭＡ割り込み信号の発生ごとに、第２の選択手段で記憶手段に設定された第１の選択手段の選択情報をＤＭＡ発生順に従って選択することによって、チェーンＤＭＡ転送が円滑に行行われるようにしたものである。
【００２３】
請求項６の発明によれば、外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第１及び第２のバッファを設け、第１及び第２のバッファからのＤＭＡを一つのチャネルを用いて行う場合に利用されることによって、外付けメモリに記憶される制御情報とデータとＤＭＡ転送が良好に行われるようにしたものである。
【００２４】
これによって、従来の装置では、１つのチャネルに異なった複数のＤＭＡ転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンＤＭＡ方式を用いることができなかったものを、本発明によれば、少なくとも上記の(B)の制約を解消することができるものである。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明を説明するに、図１は本発明によるＤＭＡ転送装置及びＤＭＡ転送方法を適用したチェーンＤＭＡ転送装置の一実施形態の構成を示すブロック図である。なお、図１において、本発明のチェーンＤＭＡ転送装置が、上述した図１４の通常のチェーンＤＭＡ転送装置と異なる点は、各モジュールＡ〜ＣからのＤＭＡ要求信号を制御する回路が付加されている点である。以後この回路をＤＭＡ要求信号制御装置１０と呼ぶことにする。
【００２６】
ＤＭＡ要求信号制御装置１０は、各モジュールＡ〜ＣからのＤＭＡ要求信号、及びＤＭＡ終了割り込み信号を入力信号として持ち、出力信号としてチェーンＤＭＡ制御装置１１へのＤＭＡ要求信号（ＤＲＱ＿Ａ）を生成する。また、内部にはチェーンＤＭＡ転送の順番（ＤＭＡ要求を許可する順番）を設定するための記憶領域を持ち、あらかじめ設定できるものとする。さらに、他のメモリ１２、バス１３、モジュールＡ〜Ｃ等の構成は、図１４のものと同じである。
【００２７】
そして、ＤＭＡ要求信号制御回路１０は、入力されている複数のＤＭＡ要求信号に対して次の制御を行う。
【００２８】
(A) どのＤＭＡ要求信号もアサートされていない場合
(A-1) どれか１つのＤＭＡ要求信号がアサートされると、その信号をＤＲＱ＿Ａとして出力する。
(A-2) 複数のＤＭＡ要求が同時に発生する場合は、各要求の実行順位に基づき次に実行すべきＤＭＡ転送を判断し、ＤＲＱ＿Ａとして出力する。
【００２９】
(B) １つのモジュールがＤＭＡ転送中の場合
(B-1) どれか1つのＤＭＡ要求信号がアサートされると、現在実行中のＤＭＡ転送終了後、後から発生したＤＭＡ要求をＤＲＱ＿Ａとして出力する。
(B-2) 複数のＤＭＡ要求が発生した場合、各要求の実行順位に基づき次に実行すべきＤＭＡ転送を判断し、ＤＲＱ＿Ａとして出力する。その他のＤＭＡ要求についても、各要求の実行順位に従い、ＤＭＡ転送終了後、順次ＤＲＱ＿Ａとして出力する。
【００３０】
次に、上記４つのパターン(A-1)、(A-2)、(B-1)、(B-2)について例を用いて説明する。なおここでは、図１と同様に、チェーンＤＭＡ制御装置１１のチャネル０のＤＭＡ要求ＤＲＱ０に、３つのＤＭＡ要求モジュールＡ、Ｂ、Ｃが接続されている場合のＤＭＡ要求信号制御回路１０について説明する。
【００３１】
パターン(A-1) の場合を図２に示す。図２において、時点t0bで、ＤＭＡ要求モジュールＡからの要求信号Dreq0がアサートされ、要求信号Dreq0によるＤＭＡ転送が開始される。その後、時点t0eで、要求信号Dreq0によるＤＭＡ転送が終了する。ＤＭＡ転送が終了すると、時点tiaで、チャネル０のＤＭＡ終了割り込みであるＩＮＴ０がアサートされ、時点tinで、割り込み処理ルーチンにより割り込みがネゲートされる。
【００３２】
割り込みがネゲートされると次のＤＭＡ転送が可能となる為、時点t1bで、ＤＭＡ要求モジュールＢからの要求信号Dreq1がアサートされ、要求信号Dreq1によるＤＭＡ転送が開始される。要求信号Dreq1によるＤＭＡ転送は、時点t1eで終了する。同様にして、ＤＭＡ要求モジュールＣからの要求信号Dreq2によるＤＭＡ転送は、時点t2bから時点t2eの間に実行される。従って図２のように、各ＤＭＡ要求が同時にアサートされない場合は、チャネル０の要求信号ＤＲＱ＿Ａとしてその時のＤＭＡ要求信号が出力される。
【００３３】
パターン(A-2)の場合を図３に示す。図３において、時点t1bで、ＤＭＡ要求モジュールＡからの要求信号Dreq0と、ＤＭＡ要求モジュールＢからの要求信号Dreq1が同時にアサートされる。ここで、ＤＭＡ要求制御装置内における、ＤＭＡ順位がDreq1→Dreq0→Dreq2の順であるとすると、要求信号ＤＲＱ＿Ａとしては、ＤＭＡ要求モジュールＢからの要求信号Dreq1が出力される。
【００３４】
その後、時点t1eで、ＤＭＡ要求モジュールＢからの要求信号Dreq1のＤＭＡ転送が終了すると、ＤＭＡ要求信号制御回路１０は、次のＤＭＡ順位であるＤＭＡ要求モジュールＡからの要求信号Dreq0を出力する。すなわち、要求信号ＤＲＱ＿Ａとして、時点t0bからＤＭＡ要求モジュールＡからの要求信号Dreq0の信号を出力する。つまり、要求Dreq0は、時点t1bから時点t0bまでの間は、ＤＭＡ転送が待ち状態にあることになる。
【００３５】
パターン(B-1)の場合を図４に示す。図４において、時点t0bで、ＤＭＡ要求モジュールＡからの要求信号Dreq0がアサートされＤＭＡ転送が開始される。また、時点t1uで、ＤＭＡ要求モジュールＢからの要求信号Dreq1がアサートされるが、ＤＭＡ要求モジュールＡからの要求信号Dreq0によるＤＭＡ転送中であるため、要求信号ＤＲＱ＿Ａとしては出力されない。
【００３６】
そして、時点t0eで、ＤＭＡ要求モジュールＡからの要求信号Dreq0によるＤＭＡ転送が終了すると、時点t1bからＤＭＡ要求モジュールＢからの要求信号Dreq1によるＤＭＡ転送が開始される。すなわち、要求信号ＤＲＱ＿Ａとして、時点t1bからＤＭＡ要求モジュールＢからの要求信号Dreq1の信号を出力する。つまり、要求Dreq1は、時点t1uから時点t1bまでの間は、ＤＭＡ転送が待ち状態にあることになる。
【００３７】
パターン(B-2)の場合を図５に示す。図５において、ＤＭＡ順位はDreq0→Dreq2→Dreq1の順であるとする。時点t0bからＤＭＡ要求モジュールＡからの要求信号Dreq0のＤＭＡ転送が開始される。その後、時点t1u、時点t2uにおいてそれぞれＤＭＡ要求モジュールＢからの要求信号Dreq1、ＤＭＡ要求モジュールＣからの要求信号Dreq2のＤＭＡ要求がアサートされる。そして、時点t0eにおいてＤＭＡ要求モジュールＡからの要求信号Dreq0によるＤＭＡ転送が終了すると、ＤＭＡ順位から、次にＤＭＡ要求モジュールＣからの要求信号Dreq2によるＤＭＡ転送を時点t2bから開始する。
【００３８】
さらに、時点t2eにてＤＭＡ要求モジュールＣからの要求信号Dreq2によるＤＭＡ転送が完了すると、最後にＤＭＡ要求モジュールＢからの要求信号Dreq1によるＤＭＡ転送を時点t1bから開始する。つまり、ＤＭＡ要求モジュールＣからの要求信号Dreq2のＤＭＡ転送は、時点t2uから時点t2bの間、ＤＭＡ要求モジュールＢからの要求信号Dreq1のＤＭＡ転送は、時点t1uから時点t1bの間、それぞれ待ち状態にある。
【００３９】
このようにして、上述の実施形態において、複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す選択手段を有するＤＭＡ要求制御装置１０を設け、ＤＭＡ割り込み信号の発生ごとに、所定のＤＭＡ発生順に従ってＤＭＡ要求信号を取り出してチェーンＤＭＡ転送を行うことにより、ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求が起こらないようにして、チェーンＤＭＡ転送を良好に行うことができる。
【００４０】
これによって、従来の装置では、１つのチャネルに異なった複数のＤＭＡ転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンＤＭＡ方式を用いることができなかったものを、本発明によれば、少なくとも上記の(B)の制約を解消することができるものである。
【００４１】
さらに、以下に具体的なＤＭＡ要求信号制御装置１０の構成を説明する。
【００４２】
図６はＤＭＡ要求信号制御装置１０のハードウェアの一実装形態を示す。この図６は、ＤＭＡ要求が３つの場合であり、それぞれＤＭＡ要求信号dreq0、dreq1及びdreq2を発生する。さらに、図６にあるＤＭＡ発生順設定レジスタ１０１は、ＤＭＡ要求が発生する順番に１から順に要求名が記述される。図６では、最初に要求信号dreq2のＤＭＡ転送が発生し、次に要求信号dreq0のＤＭＡ転送、要求信号dreq1のＤＭＡ転送…と、８つのチェーンから構成されている。
【００４３】
図７の表１には、要求の識別値を示す。図６の構成で要求は３種類なので、２ビットあれば識別できる。従って、ＤＭＡ発生順設定レジスタ１０１には表１の値を書き込むものとする。８to１セレクタ１０２は、現在どのＤＭＡ転送を行うかを選択する。要求識別には２ビット必要である為、セレクタ１０２は２つ用意する。図７の表３に８to１セレクタ１０２におけるＳ（入力）とＹ（出力）の関係を示す。
【００４４】
さらに、図６の３ビットカウンタ１０３のカウント値は、８to１セレクタ１０２のＳ入力となる。これは初期値０００を取り、ＩＮＴ０の立ち上がりエッジがくる度にカウントアップする。そして、図６の４to１セレクタ１０４は、８to１セレクタ１０２の出力をＳ入力として受け、ＤＭＡ要求信号を選択し、Ｙに出力する。図７の表２に４to１セレクタ１０４におけるＳ（入力）とＹ（出力）の関係を示す。
【００４５】
このような構成のＤＭＡ要求信号制御装置１０について、具体的な動作を以下に説明する。
【００４６】
まず、最初にカウンタ１０３の初期値は０００なので、８to１セレクタ１０２は図７の表３より値Ｉ７を出力する。ここで値Ｉ７＝dreq2のため、４to１セレクタ１０４の入力としてdreq2＝１０が入力される。この時、４to１セレクタ１０４の出力Ｙは図７の表２より値Ｉ１となる。そして値Ｉ１には要求信号dreq2の入力が入っているため、ＤＲＱ＿Ａ＝dreq2となり、所望の結果を得る。
【００４７】
さらに、要求信号dreq2によるＤＭＡ終了後は、ＩＮＴ０がアサートされるため、カウンタ１０３がインクリメントされカウンタ値が００１となる。この結果、８to１セレクタ１０２は、図７の表３より値Ｉ６=dreq0を出力Ｙとして出力する。また、４to１セレクタ１０４は、入力Ｓ＝dreq0＝００であるため、図７の表２より出力Ｙとして値Ｉ３、すなわち要求信号dreq0の入力をＤＲＱ＿Ａとして出力する。
【００４８】
以下、上記の動作が繰り返されて、例えば要求信号dreq0〜dreq2によるＤＭＡ転送が、ＤＭＡ発生順設定レジスタ１０１に設定された順番に従って行われる。そしてこの場合に、ＤＭＡ要求制御装置１０を設けることによって、ＤＭＡ割り込み信号の発生ごとに、所定のＤＭＡ発生順に従ってＤＭＡ要求信号を取り出してチェーンＤＭＡ転送が行われ、ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求が起こらないので、チェーンＤＭＡ転送を良好に行うことができるものである。
【００４９】
また、本発明の具体的な応用例として、外部記憶装置、例えばメモリースティック（商標）からの情報読み出し時におけるＤＭＡ要求制御について述べる。
【００５０】
図８には、この場合のシステム構成図を示す。図８において、外部記憶装置２０１は接続装置２０２に装着される。ここで外部記憶装置２０１には内部に、制御情報とデータを別々に持ち、それらは別々に読み出されなければならない。そこで接続装置２０２は、制御情報用バッファ２０３及びデータ用バッファ２０４に接続され、これらのバッファ２０３、２０４を通じて、外部記憶装置２０１に記憶される制御情報及びデータの書き込み読み出しが行われる。
【００５１】
なお、これらの接続装置２０２、制御情報用バッファ２０３及びデータ用バッファ２０４をまとめて入出力装置２０５と呼ぶ。すなわち入出力装置２０５は、制御情報とデータを別々に読み出し、それぞれ別のバッファ２０３、２０４に保存することができる。そして、それぞれのバッファ２０３、２０４は、それぞれにデータがある一定以上溜まると、自動的にＤＭＡ要求信号を発生し、ＤＭＡ転送が開始されるようにできている。
【００５２】
そこで、これらのバッファ２０３、２０４がバス１３に接続され、このバス１３にメモリ１２が接続されると共に、それぞれのバッファ２０３、２０４のＤＭＡ要求信号が、それぞれＤＭＡ要求信号制御装置１０の入力Dreq0、Dreq1に接続され、このＤＭＡ要求信号制御装置１０から取り出される要求信号ＤＲＱ＿Ａが、ＤＭＡ制御装置１１のチャネル０に入力される。また、ＤＭＡ制御装置１１のチャネル０の割り込み信号Int0が、ＤＭＡ要求信号制御装置１０の入力Int0に供給される。
【００５３】
さらに、上記の前提のもとで、図９のプログラムを書いた場合について考える。すなわち図９においては、まず、ステップＳ１にてチャネル０のチェーンＤＭＡの設定を行う。これにより、チャネル０から２つのチェーンＤＭＡ転送の準備が整う。さらにステップＳ２、Ｓ３にて制御情報、及びデータを入出力装置２０５に読み出す。
【００５４】
また、図１０に、このステップＳ２、Ｓ３の処理の流れを時系列で示す。図には明示していないが、Ｘ座標が時間であるものとする。図１０において、まず制御情報が読み出され、一定以上バッファに溜まるとDMAが開始される。従って、読み出しの終了よりＤＭＡの終了が遅くなる。データに関しても同様である。図１０では制御情報のＤＭＡ転送とデータのＤＭＡ転送が重ならない場合を示しており、この場合、通常のチェーンＤＭＡ装置にて実現可能となる。
【００５５】
しかし、ＤＭＡの終了時期は予測できないため、図１１に示す様に、２つのＤＭＡ転送が重なってしまう場合もありえる。この様な場合に、上述のＤＭＡ要求制御装置１０があれば、制御情報のＤＭＡ転送（dreq0のＤＭＡ）の終了後にデータのＤＭＡ（dreq1のＤＭＡ）を開始するため、誤動作の可能性について考えなくてもよくなる。
【００５６】
従って上述の実施形態において、複数のＤＭＡモジュールからのＤＭＡ要求信号を択一的に取り出す選択手段を有するＤＭＡ要求制御装置１０を設け、ＤＭＡ割り込み信号の発生ごとに、所定のＤＭＡ発生順に従ってＤＭＡ要求信号を取り出してチェーンＤＭＡ転送を行うことにより、ＤＭＡ転送中は同一チャネルに接続されている他のＤＭＡ要求が起こらないようにして、チェーンＤＭＡ転送を良好に行うことができる。
【００５７】
これによって、従来の装置では、１つのチャネルに異なった複数のＤＭＡ転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンＤＭＡ方式を用いることができなかったものを、本発明によれば、少なくとも上記の(B)の制約を解消することができるものである。
【００５８】
なお本発明は、上述の説明した実施形態に限定されるものではなく、本発明の精神を逸脱することなく種々の変形が可能とされるものである。
【図面の簡単な説明】
【００５９】
【図１】本発明によるＤＭＡ転送装置及びＤＭＡ転送方法を適用したチェーンＤＭＡ転送装置の一実施形態の構成を示すブロック図である。
【図２】その動作の説明のための波形図である。
【図３】その動作の説明のための波形図である。
【図４】その動作の説明のための波形図である。
【図５】その動作の説明のための波形図である。
【図６】ＤＭＡ要求制御装置のハードウェアの一実施形態の構成図である。
【図７】その説明のための表図である。
【図８】本発明によるＤＭＡ転送装置及びＤＭＡ転送方法を適用した外部記憶装置の入出力装置の一実施形態の構成を示すブロック図である。
【図９】その動作の説明のための図である。
【図１０】その動作の説明のための波形図である。
【図１１】その動作の説明のための波形図である。
【図１２】従来のＤＭＡ装置の接続図である。
【図１３】ディスクリプタチェーンの説明のための図である。
【図１４】従来のチェーンＤＭＡ装置の接続図である。
【符号の説明】
【００６０】
１０…ＤＭＡ要求信号制御装置、１１…チェーンＤＭＡ制御装置、１２…メモリ、１３…バス、Ａ〜Ｃ…ＤＭＡ要求モジュール
【図１】
2006024134.tif 000003
【図２】
2006024134.tif 000004
【図３】
2006024134.tif 000005
【図４】
2006024134.tif 000006
【図５】
2006024134.tif 000007
【図６】
2006024134.tif 000008
【図７】
2006024134.tif 000009
【図８】
2006024134.tif 000010
【図９】
2006024134.tif 000011
【図１０】
2006024134.tif 000012
【図１１】
2006024134.tif 000013
【図１２】
2006024134.tif 000014
【図１３】
2006024134.tif 000015
【図１４】
2006024134.tif 000016