JP2006024134A - Dma転送装置及びdma転送方法 - Google Patents
Dma転送装置及びdma転送方法 Download PDFInfo
- Publication number
- JP2006024134A JP2006024134A JP2004203729A JP2004203729A JP2006024134A JP 2006024134 A JP2006024134 A JP 2006024134A JP 2004203729 A JP2004203729 A JP 2004203729A JP 2004203729 A JP2004203729 A JP 2004203729A JP 2006024134 A JP2006024134 A JP 2006024134A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- request signal
- transfer
- request
- selector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】 1つのチャネルに異なった複数のDMA転送を対応させようとする場合の処理を円滑にする。
【解決手段】 DMA要求信号制御装置10は、内部にチェーンDMA転送の順番(DMA要求を許可する順番)を設定するための記憶領域を持ち、あらかじめ設定できるものとする。DMA要求モジュールA〜Cはバス13に接続され、このバス13にメモリ12が接続されると共に、それぞれのDMA要求信号がDMA要求信号制御装置10の入力Dreq0、Dreq1に接続される。そして、このDMA要求信号制御装置10から取り出される要求信号DRQ_Aが、DMA制御装置11のチャネル0に入力される。また、DMA制御装置11のチャネル0の割り込み信号Int0が、DMA要求信号制御装置10の入力Int0に供給される。
【選択図】 図1
【解決手段】 DMA要求信号制御装置10は、内部にチェーンDMA転送の順番(DMA要求を許可する順番)を設定するための記憶領域を持ち、あらかじめ設定できるものとする。DMA要求モジュールA〜Cはバス13に接続され、このバス13にメモリ12が接続されると共に、それぞれのDMA要求信号がDMA要求信号制御装置10の入力Dreq0、Dreq1に接続される。そして、このDMA要求信号制御装置10から取り出される要求信号DRQ_Aが、DMA制御装置11のチャネル0に入力される。また、DMA制御装置11のチャネル0の割り込み信号Int0が、DMA要求信号制御装置10の入力Int0に供給される。
【選択図】 図1
Description
本発明は、例えば周辺装置と内部メモリとの間でデータの転送を行う場合に使用して好適なDMA転送装置及びDMA転送方法に関する。詳しくは、チェーンDMA方式のDMA制御装置で、一つのチャネルに複数のDMAモジュールを接続した場合にも、良好なDMA転送が行われるようにしたものである。
DMA(Direct Memory Access)転送の方法には、大別するとレジスタダイレクト方式とチェーンDMA方式の二つの方式が提案されている。
前者のレジスタダイレクトとは、転送元アドレス、転送先アドレス及び転送データサイズ(バイトサイズ)を、DMA転送を行うごとに、プログラム(CPU)からDMA制御装置のレジスタに書き込むことによりDMA転送を行う方法である(以降、これらのアドレス及び転送データサイズをまとめてディスクリプタと呼ぶ。)。このようなレジスタダイレクト方式DMA制御装置11と、メモリ12と、バス13と、DMA要求モジュール0、1との接続図を図12に示す。
図12において、DMA制御装置11は、入力としてDMA要求信号DRQ0〜DRQNを持ち、その要求信号の数だけ異なったDMA転送が可能となる(転送元と転送先の組み合わせが異なるDMA転送)。ここで、DMA制御装置11が持つDMA要求信号の数をチャネル数と呼ぶことにすると、チャネル数の数だけ異なったDMA転送が可能と言うことができる。なお、図12のINT0〜INTNは、各DMAチャネルに対応した割込み出力信号であり、DMA転送が終了すると割込みが発生する。
このような通常のレジスタダイレクト方式によるDMA転送の流れは次の様になる。
(A-1) DMAの上記のディスクリプタをDMA制御装置11に登録する。
(A-2) DMA転送を要求するモジュールはDMA制御装置11に対してDMA要求信号にて通知する。
(A-3) DMA要求信号を受けたDMA制御装置11はバスマスタとなり、転送元と転送先アドレスに対してDMA転送を開始する。
(A-4) DMA転送終了後は、割り込み信号をアサートし、DMA転送終了を通知する。ただし、割り込み信号は各チャネル別に存在するものとする。
(A-1) DMAの上記のディスクリプタをDMA制御装置11に登録する。
(A-2) DMA転送を要求するモジュールはDMA制御装置11に対してDMA要求信号にて通知する。
(A-3) DMA要求信号を受けたDMA制御装置11はバスマスタとなり、転送元と転送先アドレスに対してDMA転送を開始する。
(A-4) DMA転送終了後は、割り込み信号をアサートし、DMA転送終了を通知する。ただし、割り込み信号は各チャネル別に存在するものとする。
これに対して、本発明の背景技術となるチェーンDMA方式とは、転送元アドレス、転送先アドレス及び転送データサイズといった転送情報を複数用意し、各々の転送情報に基づくDMA転送をDMA制御装置自身によって連続的に行う(チェーンDMA転送)方法である(例えば、特許文献1参照。)。
すなわち、チェーンDMA方式において転送情報はメモリ12内に格納される。メモリ12内へ書き込まれる内容としては、各々の転送情報に加え、次のDMA転送のための転送情報が書き込まれているメモリアドレスも一緒に書き込まれる。なお、チェーンDMA転送の最後に行われるDMA転送のディスクリプタには次のディスクリプタ用のメモリアドレスが無いため、例えば、次メモリアドレスとして0を記載するなどして区別する。
そしてチェーンDMA転送を行う際は、最初のDMAの為の転送情報及び次のDMAの転送情報が格納されているメモリアドレスのみを、あらかじめプログラム(CPU)からDMA制御装置11内のレジスタに格納しておき、次のDMA転送からは、DMA制御装置11が自動的にメモリ12より次のDMA転送のためのディクリプタを読み出すことによりDMA転送を行っていく。
なお、メモリ12上の連なったディクリプタのイメージを図13に示す。この図13に示すように、各ディスクリプタがアドレスによってチェーンでつながっていることがわかる。また、先頭のディスクリプタのアドレスはDMA制御装置11内に持っている。
さらに、図14にチェーンDMA方式のDMA転送装置の概略図を示す。図14において、DMA制御装置11と、メモリ12と、バス13と、各種DMA要求モジュールA〜Fは、アドレスバス、データバス及び制御バスを共有し、同一システム内にあることを示している。DMA要求モジュールA、B及びCはDMA制御装置11のチャネル0に接続されており、DMA要求モジュールD、E及びFはDMA制御装置11のチャネル1に接続されている。
この図14に示す様に、チェーンDMA方式では、複数のモジュールのDMA要求信号をモジュール間で共有し、チェーンDMA制御装置11のDMA要求信号に入力することができる。そのため、1つのチャネルに異なった複数のDMA転送を対応させる事が可能(DMA要求モジュールAとメモリ12間、DMA要求モジュールBとメモリ12間、DMA要求モジュールAとDMA要求モジュールC間など)となる。
この場合に、チェーンDMA制御装置11によるDMA転送の流れは次の様になる。
(B-1) 同一チャネルに接続された複数の異なったDMA情報を、DMA転送を行う順番にDMA制御装置11内の記憶領域に書き込む。
(B-2) 最初のDMA転送のためのDMA情報を記憶領域から読み出し、DMA転送に備える。
(B-3) DMA要求信号が発生すると設定した順にDMA転送を行う。
(B-4) 1つのDMA転送が終了すると割り込み信号をアサートする。
(B-5) 次のDMA転送のためのDMA情報を記憶領域から読み出す。
(B-6) (B-3)〜(B-5)を繰り返す。
特開昭61−282956号公報
(B-1) 同一チャネルに接続された複数の異なったDMA情報を、DMA転送を行う順番にDMA制御装置11内の記憶領域に書き込む。
(B-2) 最初のDMA転送のためのDMA情報を記憶領域から読み出し、DMA転送に備える。
(B-3) DMA要求信号が発生すると設定した順にDMA転送を行う。
(B-4) 1つのDMA転送が終了すると割り込み信号をアサートする。
(B-5) 次のDMA転送のためのDMA情報を記憶領域から読み出す。
(B-6) (B-3)〜(B-5)を繰り返す。
ところで上述のチェーンDMA方式を実現するためには、次の2つの制約を設ける必要がある。
(A) 同一チャネルに接続されたスレーブがどの順番でDMA要求信号を出すかがあらかじめ決まっている。
(B) DMA転送中は同一チャネルに接続されている他のDMA要求信号が起こらないこと(DMA転送は排他的に発生しなければならない)。
(A) 同一チャネルに接続されたスレーブがどの順番でDMA要求信号を出すかがあらかじめ決まっている。
(B) DMA転送中は同一チャネルに接続されている他のDMA要求信号が起こらないこと(DMA転送は排他的に発生しなければならない)。
ここで、(A)の制約に関しては、あらかじめDMAが発生する順番がわからなければディスクリプタチェーンを事前に作成することが不可能だからである。また、(B)の制約に関しては、チャネルのDMA要求信号が、同一チャネル上の各周辺モジュール間で共有されている為である。この場合に、もしあるモジュールがDMA転送実行中に別の(同一チャネルにつながる)モジュールがDMA要求信号を動作させれば、信号が交じり合い、現在のDMA転送が誤動作してしまう。
すなわち、上述の(B-1)〜(B-6)に示されたチェーンDMA制御装置11によるDMA転送の流れは、上記の(A)及び(B)の制約を前提としているものである。このため、異なる複数のDMA転送が、上記の(A)、(B)の制約を満たさない場合、チェーンDMA方式を用いることができない。したがって、従来の手段でチェーンDMA制御装置11によるDMA転送を実現する場合には、上記の(A)及び(B)の制約が発生するものである。
この発明はこのような点に鑑みて成されたものであって、解決しようとする問題点は、従来の装置では、1つのチャネルに異なった複数のDMA転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンDMA方式を用いることができなかったというものである。
このため本発明においては、複数のDMAモジュールからのDMA要求信号を択一的に取り出す選択手段を有するDMA要求制御装置を設け、DMA割り込み信号の発生ごとに、所定のDMA発生順に従ってDMA要求信号を取り出してチェーンDMA転送を行うようにしたものであって、これによれば、DMA転送中は同一チャネルに接続されている他のDMA要求が起こらないようにして、チェーンDMA転送を良好に行うことができる。
請求項1の発明によれば、チェーンDMA(Direct Memory Access)方式に適用されるDMA転送装置であって、DMA制御装置とDMA要求信号制御装置とからなり、DMA要求信号制御装置には、複数のDMAモジュールからのDMA要求信号を択一的に取り出す第1のセレクタと、第1のセレクタの選択情報をDMA発生順に設定するレジスタとを有し、DMA制御装置からのDMA割り込み信号の発生ごとに、レジスタに設定された第1のセレクタの選択情報をDMA発生順に従って選択し、選択された第1のセレクタの選択情報に従って第1のセレクタで複数のDMAモジュールからのDMA要求信号を択一的に取り出すことによって、DMA転送中は同一チャネルに接続されている他のDMA要求が起こらないようにし、チェーンDMA転送を良好に行うことができる。
また、請求項2の発明によれば、DMA要求信号制御装置には、レジスタに設定された第1のセレクタの選択情報を選択する第2のセレクタをさらに有し、DMA制御装置からのDMA割り込み信号の発生ごとに、第2のセレクタでレジスタに設定された第1のセレクタの選択情報をDMA発生順に従って選択することによって、チェーンDMA転送が円滑に行行われるようにしたものである。
請求項3の発明によれば、外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第1及び第2のバッファを設け、第1及び第2のバッファからのDMAをDMA制御装置の一つのチャネルを用いて行う場合に、DMA制御装置とDMA要求信号制御装置とを用いることによって、外付けメモリに記憶される制御情報とデータとDMA転送が良好に行われるようにしたものである。
さらに請求項4の発明によれば、チェーンDMA(Direct Memory Access)方式に適用されるDMA転送方法であって、複数のDMAモジュールからのDMA要求信号を択一的に取り出す第1の選択手段と、第1の選択手段の選択情報をDMA発生順に記憶する記憶手段とが設けられ、DMA割り込み信号の発生ごとに、記憶された第1の選択手段の選択情報をDMA発生順に従って選択し、選択された第1の選択手段の選択情報に従って第1の選択手段で前記複数のDMAモジュールからのDMA要求信号を択一的に取り出すことによって、DMA転送中は同一チャネルに接続されている他のDMA要求が起こらないようにし、チェーンDMA転送を良好に行うことができる。
また、請求項5の発明によれば、記憶手段に設定された第1の選択手段の選択情報を選択する第2の選択手段が設けられ、DMA割り込み信号の発生ごとに、第2の選択手段で記憶手段に設定された第1の選択手段の選択情報をDMA発生順に従って選択することによって、チェーンDMA転送が円滑に行行われるようにしたものである。
請求項6の発明によれば、外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第1及び第2のバッファを設け、第1及び第2のバッファからのDMAを一つのチャネルを用いて行う場合に利用されることによって、外付けメモリに記憶される制御情報とデータとDMA転送が良好に行われるようにしたものである。
これによって、従来の装置では、1つのチャネルに異なった複数のDMA転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンDMA方式を用いることができなかったものを、本発明によれば、少なくとも上記の(B)の制約を解消することができるものである。
以下、図面を参照して本発明を説明するに、図1は本発明によるDMA転送装置及びDMA転送方法を適用したチェーンDMA転送装置の一実施形態の構成を示すブロック図である。なお、図1において、本発明のチェーンDMA転送装置が、上述した図14の通常のチェーンDMA転送装置と異なる点は、各モジュールA〜CからのDMA要求信号を制御する回路が付加されている点である。以後この回路をDMA要求信号制御装置10と呼ぶことにする。
DMA要求信号制御装置10は、各モジュールA〜CからのDMA要求信号、及びDMA終了割り込み信号を入力信号として持ち、出力信号としてチェーンDMA制御装置11へのDMA要求信号(DRQ_A)を生成する。また、内部にはチェーンDMA転送の順番(DMA要求を許可する順番)を設定するための記憶領域を持ち、あらかじめ設定できるものとする。さらに、他のメモリ12、バス13、モジュールA〜C等の構成は、図14のものと同じである。
そして、DMA要求信号制御回路10は、入力されている複数のDMA要求信号に対して次の制御を行う。
(A) どのDMA要求信号もアサートされていない場合
(A-1) どれか1つのDMA要求信号がアサートされると、その信号をDRQ_Aとして出力する。
(A-2) 複数のDMA要求が同時に発生する場合は、各要求の実行順位に基づき次に実行すべきDMA転送を判断し、DRQ_Aとして出力する。
(A-1) どれか1つのDMA要求信号がアサートされると、その信号をDRQ_Aとして出力する。
(A-2) 複数のDMA要求が同時に発生する場合は、各要求の実行順位に基づき次に実行すべきDMA転送を判断し、DRQ_Aとして出力する。
(B) 1つのモジュールがDMA転送中の場合
(B-1) どれか1つのDMA要求信号がアサートされると、現在実行中のDMA転送終了後、後から発生したDMA要求をDRQ_Aとして出力する。
(B-2) 複数のDMA要求が発生した場合、各要求の実行順位に基づき次に実行すべきDMA転送を判断し、DRQ_Aとして出力する。その他のDMA要求についても、各要求の実行順位に従い、DMA転送終了後、順次DRQ_Aとして出力する。
(B-1) どれか1つのDMA要求信号がアサートされると、現在実行中のDMA転送終了後、後から発生したDMA要求をDRQ_Aとして出力する。
(B-2) 複数のDMA要求が発生した場合、各要求の実行順位に基づき次に実行すべきDMA転送を判断し、DRQ_Aとして出力する。その他のDMA要求についても、各要求の実行順位に従い、DMA転送終了後、順次DRQ_Aとして出力する。
次に、上記4つのパターン(A-1)、(A-2)、(B-1)、(B-2)について例を用いて説明する。なおここでは、図1と同様に、チェーンDMA制御装置11のチャネル0のDMA要求DRQ0に、3つのDMA要求モジュールA、B、Cが接続されている場合のDMA要求信号制御回路10について説明する。
パターン(A-1) の場合を図2に示す。図2において、時点t0bで、DMA要求モジュールAからの要求信号Dreq0がアサートされ、要求信号Dreq0によるDMA転送が開始される。その後、時点t0eで、要求信号Dreq0によるDMA転送が終了する。DMA転送が終了すると、時点tiaで、チャネル0のDMA終了割り込みであるINT0がアサートされ、時点tinで、割り込み処理ルーチンにより割り込みがネゲートされる。
割り込みがネゲートされると次のDMA転送が可能となる為、時点t1bで、DMA要求モジュールBからの要求信号Dreq1がアサートされ、要求信号Dreq1によるDMA転送が開始される。要求信号Dreq1によるDMA転送は、時点t1eで終了する。同様にして、DMA要求モジュールCからの要求信号Dreq2によるDMA転送は、時点t2bから時点t2eの間に実行される。従って図2のように、各DMA要求が同時にアサートされない場合は、チャネル0の要求信号DRQ_Aとしてその時のDMA要求信号が出力される。
パターン(A-2)の場合を図3に示す。図3において、時点t1bで、DMA要求モジュールAからの要求信号Dreq0と、DMA要求モジュールBからの要求信号Dreq1が同時にアサートされる。ここで、DMA要求制御装置内における、DMA順位がDreq1→Dreq0→Dreq2の順であるとすると、要求信号DRQ_Aとしては、DMA要求モジュールBからの要求信号Dreq1が出力される。
その後、時点t1eで、DMA要求モジュールBからの要求信号Dreq1のDMA転送が終了すると、DMA要求信号制御回路10は、次のDMA順位であるDMA要求モジュールAからの要求信号Dreq0を出力する。すなわち、要求信号DRQ_Aとして、時点t0bからDMA要求モジュールAからの要求信号Dreq0の信号を出力する。つまり、要求Dreq0は、時点t1bから時点t0bまでの間は、DMA転送が待ち状態にあることになる。
パターン(B-1)の場合を図4に示す。図4において、時点t0bで、DMA要求モジュールAからの要求信号Dreq0がアサートされDMA転送が開始される。また、時点t1uで、DMA要求モジュールBからの要求信号Dreq1がアサートされるが、DMA要求モジュールAからの要求信号Dreq0によるDMA転送中であるため、要求信号DRQ_Aとしては出力されない。
そして、時点t0eで、DMA要求モジュールAからの要求信号Dreq0によるDMA転送が終了すると、時点t1bからDMA要求モジュールBからの要求信号Dreq1によるDMA転送が開始される。すなわち、要求信号DRQ_Aとして、時点t1bからDMA要求モジュールBからの要求信号Dreq1の信号を出力する。つまり、要求Dreq1は、時点t1uから時点t1bまでの間は、DMA転送が待ち状態にあることになる。
パターン(B-2)の場合を図5に示す。図5において、DMA順位はDreq0→Dreq2→Dreq1の順であるとする。時点t0bからDMA要求モジュールAからの要求信号Dreq0のDMA転送が開始される。その後、時点t1u、時点t2uにおいてそれぞれDMA要求モジュールBからの要求信号Dreq1、DMA要求モジュールCからの要求信号Dreq2のDMA要求がアサートされる。そして、時点t0eにおいてDMA要求モジュールAからの要求信号Dreq0によるDMA転送が終了すると、DMA順位から、次にDMA要求モジュールCからの要求信号Dreq2によるDMA転送を時点t2bから開始する。
さらに、時点t2eにてDMA要求モジュールCからの要求信号Dreq2によるDMA転送が完了すると、最後にDMA要求モジュールBからの要求信号Dreq1によるDMA転送を時点t1bから開始する。つまり、DMA要求モジュールCからの要求信号Dreq2のDMA転送は、時点t2uから時点t2bの間、DMA要求モジュールBからの要求信号Dreq1のDMA転送は、時点t1uから時点t1bの間、それぞれ待ち状態にある。
このようにして、上述の実施形態において、複数のDMAモジュールからのDMA要求信号を択一的に取り出す選択手段を有するDMA要求制御装置10を設け、DMA割り込み信号の発生ごとに、所定のDMA発生順に従ってDMA要求信号を取り出してチェーンDMA転送を行うことにより、DMA転送中は同一チャネルに接続されている他のDMA要求が起こらないようにして、チェーンDMA転送を良好に行うことができる。
これによって、従来の装置では、1つのチャネルに異なった複数のDMA転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンDMA方式を用いることができなかったものを、本発明によれば、少なくとも上記の(B)の制約を解消することができるものである。
さらに、以下に具体的なDMA要求信号制御装置10の構成を説明する。
図6はDMA要求信号制御装置10のハードウェアの一実装形態を示す。この図6は、DMA要求が3つの場合であり、それぞれDMA要求信号dreq0、dreq1及びdreq2を発生する。さらに、図6にあるDMA発生順設定レジスタ101は、DMA要求が発生する順番に1から順に要求名が記述される。図6では、最初に要求信号dreq2のDMA転送が発生し、次に要求信号dreq0のDMA転送、要求信号dreq1のDMA転送…と、8つのチェーンから構成されている。
図7の表1には、要求の識別値を示す。図6の構成で要求は3種類なので、2ビットあれば識別できる。従って、DMA発生順設定レジスタ101には表1の値を書き込むものとする。8to1セレクタ102は、現在どのDMA転送を行うかを選択する。要求識別には2ビット必要である為、セレクタ102は2つ用意する。図7の表3に8to1セレクタ102におけるS(入力)とY(出力)の関係を示す。
さらに、図6の3ビットカウンタ103のカウント値は、8to1セレクタ102のS入力となる。これは初期値000を取り、INT0の立ち上がりエッジがくる度にカウントアップする。そして、図6の4to1セレクタ104は、8to1セレクタ102の出力をS入力として受け、DMA要求信号を選択し、Yに出力する。図7の表2に4to1セレクタ104におけるS(入力)とY(出力)の関係を示す。
このような構成のDMA要求信号制御装置10について、具体的な動作を以下に説明する。
まず、最初にカウンタ103の初期値は000なので、8to1セレクタ102は図7の表3より値I7を出力する。ここで値I7=dreq2のため、4to1セレクタ104の入力としてdreq2=10が入力される。この時、4to1セレクタ104の出力Yは図7の表2より値I1となる。そして値I1には要求信号dreq2の入力が入っているため、DRQ_A=dreq2となり、所望の結果を得る。
さらに、要求信号dreq2によるDMA終了後は、INT0がアサートされるため、カウンタ103がインクリメントされカウンタ値が001となる。この結果、8to1セレクタ102は、図7の表3より値I6=dreq0を出力Yとして出力する。また、4to1セレクタ104は、入力S=dreq0=00であるため、図7の表2より出力Yとして値I3、すなわち要求信号dreq0の入力をDRQ_Aとして出力する。
以下、上記の動作が繰り返されて、例えば要求信号dreq0〜dreq2によるDMA転送が、DMA発生順設定レジスタ101に設定された順番に従って行われる。そしてこの場合に、DMA要求制御装置10を設けることによって、DMA割り込み信号の発生ごとに、所定のDMA発生順に従ってDMA要求信号を取り出してチェーンDMA転送が行われ、DMA転送中は同一チャネルに接続されている他のDMA要求が起こらないので、チェーンDMA転送を良好に行うことができるものである。
また、本発明の具体的な応用例として、外部記憶装置、例えばメモリースティック(商標)からの情報読み出し時におけるDMA要求制御について述べる。
図8には、この場合のシステム構成図を示す。図8において、外部記憶装置201は接続装置202に装着される。ここで外部記憶装置201には内部に、制御情報とデータを別々に持ち、それらは別々に読み出されなければならない。そこで接続装置202は、制御情報用バッファ203及びデータ用バッファ204に接続され、これらのバッファ203、204を通じて、外部記憶装置201に記憶される制御情報及びデータの書き込み読み出しが行われる。
なお、これらの接続装置202、制御情報用バッファ203及びデータ用バッファ204をまとめて入出力装置205と呼ぶ。すなわち入出力装置205は、制御情報とデータを別々に読み出し、それぞれ別のバッファ203、204に保存することができる。そして、それぞれのバッファ203、204は、それぞれにデータがある一定以上溜まると、自動的にDMA要求信号を発生し、DMA転送が開始されるようにできている。
そこで、これらのバッファ203、204がバス13に接続され、このバス13にメモリ12が接続されると共に、それぞれのバッファ203、204のDMA要求信号が、それぞれDMA要求信号制御装置10の入力Dreq0、Dreq1に接続され、このDMA要求信号制御装置10から取り出される要求信号DRQ_Aが、DMA制御装置11のチャネル0に入力される。また、DMA制御装置11のチャネル0の割り込み信号Int0が、DMA要求信号制御装置10の入力Int0に供給される。
さらに、上記の前提のもとで、図9のプログラムを書いた場合について考える。すなわち図9においては、まず、ステップS1にてチャネル0のチェーンDMAの設定を行う。これにより、チャネル0から2つのチェーンDMA転送の準備が整う。さらにステップS2、S3にて制御情報、及びデータを入出力装置205に読み出す。
また、図10に、このステップS2、S3の処理の流れを時系列で示す。図には明示していないが、X座標が時間であるものとする。図10において、まず制御情報が読み出され、一定以上バッファに溜まるとDMAが開始される。従って、読み出しの終了よりDMAの終了が遅くなる。データに関しても同様である。図10では制御情報のDMA転送とデータのDMA転送が重ならない場合を示しており、この場合、通常のチェーンDMA装置にて実現可能となる。
しかし、DMAの終了時期は予測できないため、図11に示す様に、2つのDMA転送が重なってしまう場合もありえる。この様な場合に、上述のDMA要求制御装置10があれば、制御情報のDMA転送(dreq0のDMA)の終了後にデータのDMA(dreq1のDMA)を開始するため、誤動作の可能性について考えなくてもよくなる。
従って上述の実施形態において、複数のDMAモジュールからのDMA要求信号を択一的に取り出す選択手段を有するDMA要求制御装置10を設け、DMA割り込み信号の発生ごとに、所定のDMA発生順に従ってDMA要求信号を取り出してチェーンDMA転送を行うことにより、DMA転送中は同一チャネルに接続されている他のDMA要求が起こらないようにして、チェーンDMA転送を良好に行うことができる。
これによって、従来の装置では、1つのチャネルに異なった複数のDMA転送を対応させようとする場合に、上記の(A)、(B)の制約を満たさなければ、チェーンDMA方式を用いることができなかったものを、本発明によれば、少なくとも上記の(B)の制約を解消することができるものである。
なお本発明は、上述の説明した実施形態に限定されるものではなく、本発明の精神を逸脱することなく種々の変形が可能とされるものである。
10…DMA要求信号制御装置、11…チェーンDMA制御装置、12…メモリ、13…バス、A〜C…DMA要求モジュール
Claims (6)
- チェーンDMA(Direct Memory Access)方式に適用されるDMA転送装置であって、
DMA制御装置とDMA要求信号制御装置とからなり、
前記DMA要求信号制御装置には、
複数のDMAモジュールからのDMA要求信号を択一的に取り出す第1のセレクタと、
前記第1のセレクタの選択情報をDMA発生順に設定するレジスタと
を有し、
前記DMA制御装置からのDMA割り込み信号の発生ごとに、前記レジスタに設定された前記第1のセレクタの選択情報を前記DMA発生順に従って選択し、
前記選択された前記第1のセレクタの選択情報に従って前記第1のセレクタで前記複数のDMAモジュールからのDMA要求信号を択一的に取り出す
ことを特徴とするDMA転送装置。 - 前記DMA要求信号制御装置には、前記レジスタに設定された前記第1のセレクタの選択情報を選択する第2のセレクタをさらに有し、
前記DMA制御装置からのDMA割り込み信号の発生ごとに、前記第2のセレクタで前記レジスタに設定された前記第1のセレクタの選択情報を前記DMA発生順に従って選択する
ことを特徴とする請求項1記載のDMA転送装置。 - 外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第1及び第2のバッファを設け、
前記第1及び第2のバッファからのDMAを前記DMA制御装置の一つのチャネルを用いて行う場合に、
前記DMA制御装置とDMA要求信号制御装置とを用いる
ことを特徴とする請求項1または請求項2のいずれか一つに記載のDMA転送装置。 - チェーンDMA(Direct Memory Access)方式に適用されるDMA転送方法であって、
複数のDMAモジュールからのDMA要求信号を択一的に取り出す第1の選択手段と、
前記第1の選択手段の選択情報をDMA発生順に記憶する記憶手段と
が設けられ、
DMA割り込み信号の発生ごとに、前記記憶された前記第1の選択手段の選択情報を前記DMA発生順に従って選択し、
前記選択された前記第1の選択手段の選択情報に従って前記第1の選択手段で前記複数のDMAモジュールからのDMA要求信号を択一的に取り出す
ことを特徴とするDMA転送方法。 - 前記記憶手段に設定された前記第1の選択手段の選択情報を選択する第2の選択手段が設けられ、
前記DMA割り込み信号の発生ごとに、前記第2の選択手段で前記記憶手段に設定された前記第1の選択手段の選択情報を前記DMA発生順に従って選択する
ことを特徴とする請求項4記載のDMA転送方法。 - 外付けメモリに記憶される制御情報とデータとをそれぞれ受け渡す第1及び第2のバッファを設け、
前記第1及び第2のバッファからのDMAを一つのチャネルを用いて行う場合に利用される
ことを特徴とする請求項4または請求項5のいずれか一つに記載のDMA転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004203729A JP2006024134A (ja) | 2004-07-09 | 2004-07-09 | Dma転送装置及びdma転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004203729A JP2006024134A (ja) | 2004-07-09 | 2004-07-09 | Dma転送装置及びdma転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006024134A true JP2006024134A (ja) | 2006-01-26 |
Family
ID=35797341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004203729A Pending JP2006024134A (ja) | 2004-07-09 | 2004-07-09 | Dma転送装置及びdma転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006024134A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008071054A (ja) * | 2006-09-13 | 2008-03-27 | Ricoh Co Ltd | データ転送制御方法、データ処理装置及び画像処理装置 |
JP2010072888A (ja) * | 2008-09-18 | 2010-04-02 | Nec Engineering Ltd | Dma転送制御システム |
JP2018001692A (ja) * | 2016-07-07 | 2018-01-11 | セイコーエプソン株式会社 | 印刷装置、及び、制御方法 |
JP2020135787A (ja) * | 2019-02-26 | 2020-08-31 | ファナック株式会社 | 転送制御装置、情報処理装置及び工作機械 |
-
2004
- 2004-07-09 JP JP2004203729A patent/JP2006024134A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008071054A (ja) * | 2006-09-13 | 2008-03-27 | Ricoh Co Ltd | データ転送制御方法、データ処理装置及び画像処理装置 |
JP2010072888A (ja) * | 2008-09-18 | 2010-04-02 | Nec Engineering Ltd | Dma転送制御システム |
JP2018001692A (ja) * | 2016-07-07 | 2018-01-11 | セイコーエプソン株式会社 | 印刷装置、及び、制御方法 |
JP2020135787A (ja) * | 2019-02-26 | 2020-08-31 | ファナック株式会社 | 転送制御装置、情報処理装置及び工作機械 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5438371B2 (ja) | 画像処理装置および画像処理方法 | |
US20120079148A1 (en) | Reordering arrangement | |
EP2423824A1 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
JP2006099731A (ja) | リソース管理装置 | |
JP2007034392A (ja) | 情報処理装置及びデータ処理方法 | |
JP2006293927A (ja) | ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi | |
JP4817834B2 (ja) | 割り込み制御装置及び割り込み制御方法 | |
JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
JP2015158894A (ja) | 画像形成装置、画像形成処理用データ転送制御方法、及び画像形成処理用データ転送制御プログラム | |
JP5718305B2 (ja) | 画像形成装置 | |
JP2007058786A (ja) | ブリッジ及びその制御方法 | |
JP2006024134A (ja) | Dma転送装置及びdma転送方法 | |
US20080147906A1 (en) | DMA Transferring System, DMA Controller, and DMA Transferring Method | |
JP5360594B2 (ja) | Dma転送装置及び方法 | |
JP2005258509A (ja) | ストレージ装置 | |
US20080209085A1 (en) | Semiconductor device and dma transfer method | |
JP2013196509A (ja) | 情報処理装置及びその制御方法 | |
WO2019188174A1 (ja) | 情報処理装置 | |
JP4190969B2 (ja) | バスシステム及びambaにおけるバス調停システム | |
JP2005128753A (ja) | データ転送装置、データ転送方法 | |
JP3959407B2 (ja) | 画像処理装置及び画像処理システム | |
JP2007323491A (ja) | ダイレクトメモリアクセス制御装置および制御方法 | |
JP2002176464A (ja) | ネットワークインタフェース装置 | |
JP2005316621A (ja) | バス調停装置および画像処理装置 | |
JP2004362176A (ja) | 集積回路 |