(57)【特許請求の範囲】
【請求項１】
第１のメモリ上のデータを第１の先頭転送アドレスから上位番地に向かって、第２のメモリに転送した後、再び、前記第１のメモリ上のデータを前記上位番地より下位であって前記第１の先頭転送アドレスとは異なる第２の先頭転送アドレスから上位番地に向かって、前記第２のメモリに転送するように構成したＤＭＡ制御装置において、
前記第１のメモリの下位番地から上位番地に向かって、データを前記第２のメモリへ転送するために、前記第１のメモリの転送アドレスを演算する第１のアドレス演算器と、
前記第１のアドレス演算器によって得られた転送アドレスがモジュロレジスタに格納されたモジュロ値が示す番地以上になったとき、前記第１のアドレス演算器によって得られた転送アドレスから前記モジュロ値を減算した差を、前記第２の先頭転送アドレスとするモジュロ調整を実行する第２のアドレス演算器と、
を有することを特徴とするＤＭＡ制御装置。
【請求項２】
第１のメモリ上のデータを第２のメモリ上の第１の先頭転送アドレスから上位番地に向かって転送した後、再び、第１のメモリ上のデータを前記第２のメモリ上の前記上位番地より下位であって前記第１の先頭転送アドレスとは異なる第２の先頭転送アドレスから上位番地に向かって、前記第２のメモリに転送するように構成したＤＭＡ制御装置において、
前記第１のメモリのデータを、前記第２のメモリの下位番地から上位番地に向かってデータを転送するために、前記第２のメモリの転送アドレスを演算する第１のアドレス演算器と、
前記第１のアドレス演算器によって得られた転送アドレスがモジュロレジスタに格納されたモジュロ値が示す番地以上になったとき、前記第１のアドレス演算器によって得られた転送アドレスから前記モジュロ値を減算した差を、前記第２の先頭転送アドレスとするモジュロ調整を実行する第２のアドレス演算器と、
を有することを特徴とするＤＭＡ制御装置。
【請求項３】
第１のオフセットレジスタと第２のオフセットレジスタとをさらに有し、
第１のアドレス演算器による下位番地から上位番地に向かってのアドレス演算は、前記第１のオフセットレジスタまたは前記第２のオフセットレジスタを適宜選択して、そのレジスタ値を転送アドレスに加算することによって行うことを特徴とする請求項１または２記載のＤＭＡ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＤＭＡ制御装置とその制御方法に係わり、特に、画像処理装置に好適なＤＭＡ制御装置とその制御方法に関する。
【０００２】
【従来の技術】
従来より、ＤＭＡ制御装置では、一つのＤＭＡ転送が終了すると、ＣＰＵへのＤＭＡ転送終了割り込みを出力し、再度次の領域の先頭アドレスをセットし、ＤＭＡ転送を行っていた。この為、プログラムのオーバーヘッドが発生していた。この種の従来技術としては、例えば、図８に示すような、特開平８−２２１３５３号公報が提案されている。
【０００３】
しかし、上記した従来のものは、下位アドレス番地から上位アドレス番地の１方向にしか転送できないため、例えば、メモリ上のデータが画像データであり、このデータを処理するような場合、プログラムのオーバーヘッドが多くなり、能率良い作業が出来ないという欠点があった。
【０００４】
【発明が解決しようとする課題】
本発明の目的は、上記した従来技術の欠点を改良し、特に、プログラムのオーバーヘッドをなくし、短時間に多くのデータを転送可能にした新規なＤＭＡ制御装置とその制御方法を提供するものである。
【０００５】
【課題を解決するための手段】
本発明は上記した目的を達成するため、基本的には、以下に記載されたような技術構成を採用するものである。
【０００６】
即ち、本発明に係わるＤＭＡ制御装置の第１態様は、第１のメモリ上のデータを第１の先頭転送アドレスから上位番地に向かって、第２のメモリに転送した後、再び、前記第１のメモリ上のデータを前記上位番地より下位であって前記第１の先頭転送アドレスとは異なる第２の先頭転送アドレスから上位番地に向かって、前記第２のメモリに転送するように構成したＤＭＡ制御装置において、前記第１のメモリの下位番地から上位番地に向かって、データを前記第２のメモリへ転送するために、前記第１のメモリの転送アドレスを演算する第１のアドレス演算器と、前記第１のアドレス演算器によって得られた転送アドレスがモジュロレジスタに格納されたモジュロ値が示す番地以上になったとき、前記第１のアドレス演算器によって得られた転送アドレスから前記モジュロ値を減算した差を、前記第２の先頭転送アドレスとするモジュロ調整を実行する第２のアドレス演算器と、を有することを特徴とするものであり、
叉、第２態様は、第１のメモリ上のデータを第２のメモリ上の第１の先頭転送アドレスから上位番地に向かって転送した後、再び、第１のメモリ上のデータを前記第２のメモリ上の前記上位番地より下位であって前記第１の先頭転送アドレスとは異なる第２の先頭転送アドレスから上位番地に向かって、前記第２のメモリに転送するように構成したＤＭＡ制御装置において、前記第１のメモリのデータを、前記第２のメモリの下位番地から上位番地に向かってデータを転送するために、前記第２のメモリの転送アドレスを演算する第１のアドレス演算器と、前記第１のアドレス演算器によって得られた転送アドレスがモジュロレジスタに格納されたモジュロ値が示す番地以上になったとき、前記第１のアドレス演算器によって得られた転送アドレスから前記モジュロ値を減算した差を、前記第２の先頭転送アドレスとするモジュロ調整を実行する第２のアドレス演算器と、を有することを特徴とするものである。
【０００８】
【発明の実施の形態】
本発明に係わるＤＭＡ制御装置は、
第１のメモリ上のデータを第２のメモリに転送するＤＭＡ制御装置において、前記第１のメモリ上のデータを所定の下位番地から上位番地に向かって、前記第２のメモリに転送した後、再び、前記第１のメモリ上のデータを前記上位番地より下位の所定の下位番地から上位番地に向かって、前記第２のメモリに転送するため、その先頭転送アドレスを演算するアドレス制御手段を設けたことを特徴とするものである。
【０００９】
そして、転送する際、初め、第１のメモリ上のデータを所定の下位番地から上位番地に向かって順にデータを転送し、その後、再び、第１のメモリの前記上位番地より下位の所定の下位番地から上位番地に向かってデータを転送するため、その先頭転送アドレスを演算し、先頭転送アドレスを決定する。従って、決定された第１のメモリの先頭転送アドレスから再びデータを順に第２のメモリに転送することが出来るから、連続して、データの転送が可能になる。
【００１０】
【実施例】
以下に、本発明に係わるＤＭＡ制御装置とその制御方法の具体例を図面を参照しながら詳細に説明する。
【００１１】
（第１の具体例）
図１乃至図４は、本発明に係わるＤＭＡ制御装置とその制御方法の第１の具体例を示す図であって、これらの図には、
第１のメモリ１２上のデータを第２のメモリ１３に転送するＤＭＡ制御装置において、
前記第１のメモリ１２上のデータを所定の下位番地ＡＤ１から上位番地ＡＤ２に向かって、前記第２のメモリ１３に転送した後、再び、前記第１のメモリ１２上のデータを前記上位番地ＡＤ２より下位の所定の下位番地ＡＤ１１から上位番地ＡＤ１２に向かって、前記第２のメモリ１３に転送するため、その先頭転送アドレスＡＤ１１を演算するアドレス制御手段を設けたことを特徴とするＤＭＡ制御装置が示され、
又、前記アドレス制御手段は、前記第１のメモリ１２の所定の下位番地から上位番地に向かってデータを転送するため、前記第１のメモリ１２のアドレスを演算する第１のアドレス演算器６８と、前記第１のメモリ１２の所定の下位番地までデータ転送を終了させた後、再び、前記第１のメモリ１２の所定のアドレスから転送するため、その先頭転送アドレスを演算する第２のアドレス演算器６９と、データ転送中に、前記第１のアドレス演算器６８と第２のアドレス演算器６９とを適宜選択する選択回路６７とを設けたことを特徴とするＤＭＡ制御装置が示されている。
【００１２】
更に、第１のメモリ１２上のデータを第２のメモリ１３に転送するＤＭＡ制御装置の制御方法であって、
前記第１のメモリ１２上のデータを所定の下位番地ＡＤ１から上位番地ＡＤ２に向かって順にデータを転送する第１の工程と、
前記第１の工程のデータ転送が終了した後、再び、前記第１のメモリ１２の前記上位番地ＡＤ２より下位の下位番地ＡＤ１１から上位番地ＡＤ１２に向かってデータを転送するため、その先頭転送アドレスＡＤ１１を演算する第２の工程と、
前記第２の工程で決定された前記第１のメモリ１２の先頭転送アドレスＡＤ１１から再びデータを順に転送する第３の工程と、
で構成したことを特徴とするＤＭＡ制御装置の制御方法が示されている。
【００１３】
以下に、第１の具体例を更に詳細に説明する。
【００１４】
初めに、本発明のＤＭＡ制御装置のブロック構成について説明する。
【００１５】
転送制御回路４には、転送ワード数１レジスタ１、転送ワード数２レジスタ２、ＤＭＡ転送コントロールレジスタ３、外部メモリアドレスレジスタ５、内部メモリアドレスレジスタ７、外部メモリ１２、内部メモリ１３が接続されている。又、転送ワード数１レジスタ１、転送ワード数２レジスタ２、外部メモリアドレスレジスタ５、内部メモリアドレスレジスタ７、内部アドレスアダー８、オフセット１レジスタ９、オフセット２レジスタ１０、モジュロレジスタ１１、ＤＭＡ転送コントロールレジスタ３は、データバスＰＢＵＳ０にも接続され、これらのレジスタに初期値を設定することにより、転送制御回路４で制御されたＤＭＡ転送を行う。
【００１６】
転送制御回路４では、ＤＭＡ転送コントロールレジスタ３の値で決定された転送モードによる転送を反復する。ＤＭＡ転送に使用する外部メモリ１２の番地は、外部アドレスアダー６により決定される。又、内部メモリ１３の番地は、内部アドレスアダー８により決定される。外部アドレスアダー６には、外部メモリアドレスレジスタ５、オフセット制御回路１４、モジュロレジスタ１１が接続され、モジュロレジスタ１１の値を超えない限りは、外部メモリアドレスレジスタ５の値にオフセット制御回路１４で制御されたオフセットレジスタの値が加算される。オフセット制御回路１４には、オフセット１レジスタ９、オフセット２レジスタ１０が接続され、転送制御回路４から発生される制御信号でどちらを選択するか制御される。外部メモリアドレスレジスタ５の値がモジュロレジスタ１１の値を超えた場合は、アドレス調整のための演算であるモジュロ調整を行い、これにより外部メモリアドレスが決定される。内部アドレスアダー８には、内部メモリアドレスレジスタ７が接続され、内部メモリアドレスレジスタ７の値をインクリメントする。
【００１７】
次に、第１の具体例の動作について、図２、３を用いて説明する。
【００１８】
画像データ１６の外部メモリへの格納方法はいろいろあるが、本発明では、図２で示すように格納されていると仮定している。外部メモリ１２に格納されている画像データを内部メモリ１３にアルファベット順にＤＭＡ転送を行う場合、外部メモリアドレスレジスタ５：００００ｈ、内部アドレスアドレスレジスタ７：００００ｈ、オフセット１レジスタ９：０００３ｈ、転送ワード数１レジスタ１：００１２ｈ、モジュロレジスタ１１：００１１ｈ、ＤＭＡ転送コントロールレジスタ３：０００１ｈの初期値を設定することにより、図３に示すように動作する。
【００１９】
即ち、外部メモリアドレスレジスタ５の値：００００ｈで示されるメモリアドレスに格納されている外部メモリ１２の画像データａを、内部メモリアドレスレジスタ７の値：００００ｈで示される内部メモリ１３のアドレスに転送する。次に、転送ワード数１レジスタ１の値を転送制御回路４で１回ダウンカウントする。更に、外部アドレスアダー６で外部メモリアドレスレジスタ５の値にオフセット制御回路１４で選択されたオフセット１レジスタ９の値を加算し、外部メモリアドレスレジスタ５の値を０００３ｈにする。次に、内部アドレスアダー８で内部メモリアドレスレジスタ７をインクリメントし、内部メモリアドレスレジスタ７の値を０００１ｈにする。
【００２０】
この状態で、外部メモリアドレスレジスタ５で示される外部メモリの画像データｂを、内部メモリアドレスレジスタ７で示される内部メモリ１３のアドレスに転送する。このような転送動作を、外部メモリアドレスレジスタ５の値がモジュロレジスタ１１の値を超えるまで繰り返す。画像データｆの転送が終了した時点の、外部メモリアドレスレジスタ５の値は、０００ｆｈであり、外部アドレスアダー６で、オフセット１レジスタ９の値を加算すると００１２ｈとなりモジュロレジスタ１１の値：００１１ｈを超えてしまう。
【００２１】
ここで、外部アドレスアダー６でモジュロ調整が行われ、加算された値００１２ｈからモジュロレジスタ１１の値：００１１ｈが差分され、０００１ｈを得る。この値が次の転送サイクルの外部メモリアドレスの先頭転送アドレスになり、画像データｇが内部メモリアドレス０００６ｈに転送される。これを転送ワード数１レジスタ１の値が１と等しくなるまで繰り返され、転送ワード数１レジスタ１の値が１と等しくなった時にＤＭＡ転送は完了する。そして、ＣＰＵに割り込み１５を出力し、ＣＰＵにＤＭＡ転送が完了したことを通知する。
【００２２】
図１（ｂ）は、内部アドレスアダー６の内部構成を示すブロック図である。
【００２３】
外部アドレスレジスタ（ＤＥＡＤＤＲ）５の値が、モジュロレジスタ（ＤＭＯＤＲ）１１の値を超えた時、モジュロ調整制御回路６７はモジュロアドレス演算器６９を選択し、このモジュロアドレス演算器６９で演算されたアドレスが外部アドレスとなり、このアドレスデータが外部アドレスレジスタ（ＤＥＡＤＤＲ）５及び転送制御回路４に入力される。超えない場合、モジュロ調整制御回路６７は通常アドレス演算器６８を選択し、この通常アドレス演算器６８で演算されたアドレスが外部アドレスレジスタ（ＤＥＡＤＤＲ）５及び転送制御回路４に入力されるように構成している。
【００２４】
図４は、第１の具体例の動作を示すフローチャートである。
【００２５】
初めに、転送ワード数１レジスタ（ＤＷ１Ｒ）１、転送ワード数２レジスタ（ＤＷ２Ｒ）２、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５、内部メモリアドレスレジスタ（ＤＩＡＤＤＲ）７、オフセットレジスタ（ＤＯＦＦ１）９、オフセットレジスタ（ＤＯＦＦ２）１０、モジュロレジスタ（ＤＭＯＤ）１１にＰＢＵＳ０から初期値がセットされ、更に、ＤＭＡ転送コントロールレジスタ（ＤＣＯＭＲ）３にデータをセットすることによりＤＭＡ転送が開始される。
【００２６】
まず、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値が０より大きく、更に、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値がモジュロレジスタ（ＤＭＯＤ）１１の値より小さいか等しければ（ステップ３６、３７）、ステップ３８でデータの転送を行う。データ転送後、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値にオフセットレジスタ（ＤＯＦＦ１）９の値を加算し、更に、内部メモリアドレスレジスタ（ＤＩＡＤＤＲ）７の値もインクリメントし、次回の転送アドレスを更新する（ステップ３９）。更に、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値をデクリメントし（ステップ４０）、再び、次のデータを転送する。
【００２７】
このような転送状態で、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値がモジュロレジスタ（ＤＭＯＤ）１１の値より大きくなると（ステップ３７）、次の転送サイクルの先頭転送アドレスを決定するためにアドレスの演算が行われる（ステップ４１）。そして、アドレスが決定した後は、ステップ３８〜４０と同様にステップ４２〜４４が実行される。やがて、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値が１になると、最後のデータが転送され（ステップ４５）、データの転送動作を終了させる。
【００２８】
この具体例では、１回のＤＭＡ転送で画像データをすべて転送が可能であるため、ＣＰＵへの割り込み回数を低減でき、プログラムのオーバーヘッドを約１／３にすることが出来る。又、プログラムのライン数を約２０％削減できる。
【００２９】
その理由は、従来のＤＭＡ制御装置では、転送アドレス番地の下位から上位方向の１方向しか転送できず、この為、上位アドレス番地から下位アドレス番地へのアドレスを変えて転送する場合、一旦ＤＭＡ転送を終了させ、再度、レジスタにデータをセットし、ＤＭＡ転送を開始しなければならならなかった。又、ＤＭＡが終了した時点で、ＣＰＵへの割り込みをかけてＤＭＡが終了したことをＣＰＵに知らせなければならず、その間ＣＰＵの他の処理は止まってしまう。この為、プログラムのオーバーヘッドが出てくる。実際には、１つの画像処理を行うのに、従来技術では、割り込みを３回かけなければ転送を終了できず、本発明では１回の割り込みで画像処理に必要なデータを転送を終了することが出来る。
【００３０】
また、従来技術ではＤＭＡが終了する度に、外部メモリアドレスレジスタの値を書き換えなければならない為に、１つの画像処理に必要なデータを転送するのに１０回、ＤＭＡ転送に必要なレジスタへのデータ転送が必要になるが、本発明では、８回のレジスタへのデータ転送で必要な画像データを転送することが出来る。
【００３１】
（第２の具体例）
次に、図５乃至図７を参照して、本発明の第２の具体例について説明する。
【００３２】
この具体例では、図５にある画像データ１９中のデータｉの画像処理を実行する場合、ｂｃｄ、ｈｉｊ、ｎｏｐの画像データを外部メモリ１２から内部メモリ１３に転送することが必要になる。この場合、図１に示した各レジスタには次のようなデータを格納する。即ち、外部メモリアドレスレジスタ５：０００３ｈ、内部メモリアドレスレジスタ７：００００ｈ、転送ワード数１レジスタ１：０００３ｈ、転送ワード数２レジスタ２：０００３ｈ、オフセット１レジスタ９：０００３ｈ、オフセット２レジスタ１０：０００ｃｈ、モジュロレジスタ１１：００１１ｈ、ＤＭＡ転送コントロールレジスタ３：０００１ｈを初期値として夫々設定することにより、図６に示す転送動作を実行させる。
【００３３】
最初に、外部メモリアドレスレジスタ５の値：０００３ｈで示すアドレスに格納されている外部メモリ１２の画像データｂを、内部メモリアドレスレジスタ７の値：００００ｈで示す内部メモリ１３のアドレスに転送する。次に、転送制御回路４で転送ワード数１レジスタ１の値を１回ダウンカウントし、また、外部アドレスアダー６で外部メモリアドレスレジスタ５の値にオフセット制御回路１４で選択されたオフセット１レジスタ９の値を加算し、外部メモリアドレスレジスタ５の値：０００６ｈを得る。更に、内部アドレスアダー８で内部メモリアドレスレジスタ７の値をインクリメントした内部メモリアドレスレジスタ７の値：０００１ｈを得る。そして、外部メモリアドレスレジスタ５の値：０００６ｈで示されるアドレスに格納されている外部メモリの画像データｃを、内部メモリアドレスレジスタ７で示される内部メモリ１３のアドレスに転送する。
【００３４】
この転送動作を、転送ワード数１レジスタ１の値が１に等しくなるまで繰り返す。転送ワード数１レジスタ１の値が１に等しくなった時点で、転送制御回路４で転送ワード数２レジスタ２の値を１回ダウンカウントし、転送ワード数１レジスタ１には初期値がリロードされる。外部メモリアドレスは、最後に転送した外部メモリアドレスレジスタ５の値：０００９ｈにオフセット制御回路１４で選択されたオフセット２レジスタ１０の値を加算したアドレス：００１５ｈになるが、モジュロレジスタ１１の値：００１１ｈを超えてしまう。そこで、モジュロ調整を行い、００１５ｈから００１１ｈを差分し０００４ｈを得る。これが次の外部メモリレアドレスレジスタ５の値、即ち、先頭転送アドレスとなり、再び、外部メモリ１２に格納されている画像データｈを内部メモリアドレスレジスタ７の値：０００３ｈの内部メモリ１３のアドレスに転送する。このようにして、転送ワード２レジスタ２の値が１に等しくなるまで繰り返す。転送ワード２レジスタ２の値が１に等しくなった時にＤＭＡ転送は終了する。データ転送が終了すると同時に、ＤＭＡ制御装置は、ＣＰＵに割り込み信号１５を出力して、ＣＰＵにＤＭＡ転送が完了したことを通知する。
【００３５】
図７は、第２の具体例のフローチャートである。
【００３６】
この具体例でも、初め、転送ワード数１レジスタ（ＤＷ１Ｒ）１、転送ワード数２レジスタ（ＤＷ２Ｒ）２、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５、内部メモリアドレスレジスタ（ＤＩＡＤＤＲ）７、オフセットレジスタ（ＤＯＦＦ１）９、オフセットレジスタ（ＤＯＦＦ２）１０、モジュロレジスタ（ＤＭＯＤ）１１にＰＢＵＳ０から初期値がセットされ、更に、ＤＭＡ転送コントロールレジスタ（ＤＣＯＭＲ）３にデータをセットすることによりＤＭＡ転送が開始される。
【００３７】
まず、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値が１より大きく、更に、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値がモジュロレジスタ（ＤＭＯＤ）１１の値より小さいか等しければ（ステップ４６、４７）、ステップ４８でデータの転送を行う。更に、データ転送後、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値にオフセットレジスタ（ＤＯＦＦ１）９の値を加算し、また、内部メモリアドレスレジスタ（ＤＩＡＤＤＲ）７の値もインクリメントし、次回の転送アドレスを更新する（ステップ４９）。更に、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値をデクリメントする（ステップ５０）。この状態で、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値がモジュロレジスタ（ＤＭＯＤ）１１の値より大きくなると（ステップ４７）、次の転送サイクルの先頭転送アドレスを決定するためにアドレスの演算が行われる（ステップ５１）。そして、ステップ４８〜５０と同様にステップ５２〜５４が実行される。
【００３８】
やがて、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値が１になると、ステップ５５に分岐し、ステップ５６〜ステップ６５では、図５の例では、画像データｊの転送と画像データｎの転送の準備を行う。即ち、現在の転送ワード２レジスタの最後の画像データｊの転送が終了すると（ステップ５７）、転送ワード数１レジスタ（ＤＷ１Ｒ）１の値がリロードされ（ステップ５８）、外部メモリアドレスレジスタ（ＤＥＡＤＤＲ）５の値にオフセットレジスタ（ＤＯＦＦ１）９の値を加算し、更に、内部メモリアドレスレジスタ（ＤＩＡＤＤＲ）７の値もインクリメントされ（ステップ５９）、更に、転送ワード２レジスタ（ＤＷ２Ｒ）の値がデクリメントされ、次回の転送データをセットする。この場合、モジュロ調整が必要になれば、モジュロ調整の後（ステップ６１）、データ転送をすると共に（ステップ６３）、ステップ５８〜ステップ６０と同じ動作をステップ６３〜ステップ６５で実行する。
【００３９】
そして、転送ワード１レジスタ（ＤＷ１Ｒ）１の値と転送ワード２レジスタ（ＤＷ２Ｒ）２の値が共に１になると最後のデータを転送して転送動作を終了させる（ステップ６６）。
【００４０】
なお、上記した具体例では、外部メモリ１２のデータを内部メモリ１３にＤＭＡ転送する場合で説明したが、内部メモリ１３のデータを外部メモリ１２にＤＭＡ転送する場合も同様に適用出来る。
【００４１】
即ち、第１のメモリ上のデータを第２のメモリに転送するＤＭＡ制御装置において、
前記第１のメモリ上のデータを前記第２のメモリの所定の下位番地から上位番地に向かってデータを転送した後、再び、前記第１のメモリ上のデータを前記第２のメモリの前記上位番地より下位の下位番地から上位番地に向かってデータを転送するため、その先頭転送アドレスを演算するアドレス制御手段を設けるように構成してもよい。
【００４２】
この場合、
前記第１のメモリ上のデータを前記第２のメモリの所定の下位番地から上位番地に向かって順にデータを転送する第１の工程と、
前記第１の工程のデータ転送が終了した後、再び、前記第１のメモリ上のデータを前記第２のメモリの前記上位番地より下位の下位番地から上位番地に向かってデータを転送するため、その先頭転送アドレスを演算する第２の工程と、
前記第２の工程で決定された前記第２のメモリの先頭転送アドレスから順に再びデータを書込む第３の工程とでデータをＤＭＡ転送する。
【００４３】
【発明の効果】
本発明に係わるＤＭＡ制御装置とその制御方法は、上述のように構成したので、プログラムのオーバーヘッドがなくなり、多くのデータを短時間に転送することが可能になる。
【図面の簡単な説明】
【図１】本発明に係わるＤＭＡ制御装置のブロック図である。
【図２】第１の具体例の転送例を説明する図である。
【図３】第１の具体例の転送中の各レジスタの値の変化を示す図である。
【図４】第１の具体例の動作を説明するフローチャートである。
【図５】第２の具体例の転送例を説明する図である。
【図６】第２の具体例の転送中の各レジスタの値の変化を示す図である。
【図７】第２の具体例の動作を説明するフローチャートである。
【図８】従来のＤＭＡ制御装置のブロック図である。
【符号の説明】
１  転送ワード数１レジスタ
２  転送ワード数２レジスタ
３  ＤＭＡ転送コントロールレジスタ
４  転送制御回路
５  外部アドレスレジスタ
６  外部アドレスアダー
７  内部メモリアドレスレジスタ
８  内部アドレスアダー
９  オフセット１レジスタ
１０  オフセット２レジスタ
１１  モジュロレジスタ
１２  内部メモリ
１３  外部メモリ
１４  オフセット制御回路
１５  割り込み信号
ＰＢＳＵ０  データバス
【図１】
0003614714.tif 000002
【図２】
0003614714.tif 000003
【図３】
0003614714.tif 000004
【図４】
0003614714.tif 000005
【図５】
0003614714.tif 000006
【図６】
0003614714.tif 000007
【図７】
0003614714.tif 000008
【図８】
0003614714.tif 000009