(57)【要約】【課題】ページ境界をまたぐＤＭＡ転送において、データ転送効率の低下を防止すること。【解決手段】転送元と転送先との間でＤＭＡ転送を行うＤＭＡ転送制御装置２が提供される。そのＤＭＡ転送制御装置２は、転送データＤＡＴが格納されるバッファ２５と、バッファ２５と転送元あるいは転送先との間で転送データＤＡＴのバースト転送を行うバスサイクル発生部２６と、を備える。バスサイクル発生部２６は、転送元あるいは転送先におけるアクセスアドレスがバーストアドレス境界に達するまで「不定長バースト転送」を行い、且つ、その不定長バースト転送の後、転送データＤＡＴの全ての転送が終了するまで、「固定長バースト転送」を行う。【選択図】図３
2009009186.tif 000002
【特許請求の範囲】
【請求項１】
転送元と転送先との間でＤＭＡ転送を行うＤＭＡ転送制御装置であって、
転送データが格納されるバッファと、
前記バッファと前記転送元あるいは前記転送先との間で、前記転送データのバースト転送を行うバスサイクル発生部と
を備え、
前記バスサイクル発生部は、前記転送元あるいは前記転送先におけるアクセスアドレスがバーストアドレス境界に達するまで不定長バースト転送を行い、且つ、前記不定長バースト転送の後、前記転送データの全ての転送が終了するまで、固定長バースト転送を行う
ＤＭＡ転送制御装置。
【請求項２】
請求項１に記載のＤＭＡ転送制御装置であって、
前記バスサイクル発生部は、前記転送元あるいは前記転送先におけるアクセス開始アドレスから前記バーストアドレス境界まで、前記不定長バースト転送を行う
ＤＭＡ転送制御装置。
【請求項３】
請求項２に記載のＤＭＡ転送制御装置であって、
更に、バースト長と前記アクセス開始アドレスに基づいて、前記アクセス開始アドレスから前記バーストアドレス境界までのオフセット値を算出するオフセット算出回路を備え、
前記バスサイクル発生部は、前記アクセス開始アドレスから前記オフセット値分だけ、前記不定長バースト転送を行う
ＤＭＡ転送制御装置。
【請求項４】
請求項１に記載のＤＭＡ転送制御装置であって、
前記バスサイクル発生部は、前記転送元あるいは前記転送先におけるアクセス開始アドレスからワードアドレス境界までバイト転送を行い、且つ、前記バイト転送の後、前記ワードアドレス境界から前記バーストアドレス境界まで、前記不定長バースト転送を行う
ＤＭＡ転送制御装置。
【請求項５】
請求項４に記載のＤＭＡ転送制御装置であって、
更に、
データバス幅と前記アクセス開始アドレスに基づいて、前記アクセス開始アドレスから前記ワードアドレス境界までの第１オフセット値を算出する第１オフセット算出回路と、
バースト長と現在のアクセスアドレスに基づいて、前記現在のアクセスアドレスから前記バーストアドレス境界までの第２オフセット値を算出する第２オフセット算出回路と
を備え、
前記バスサイクル発生部は、前記アクセス開始アドレスから前記第１オフセット値分だけ前記バイト転送を行い、その後、前記第２オフセット値分だけ前記不定長バースト転送を行う
ＤＭＡ転送制御装置。
【請求項６】
請求項１乃至５のいずれかに記載のＤＭＡ転送制御装置であって、
前記バスサイクル発生部は、前記転送先に転送されたデータ量と前記転送データのサイズとの比較を行うことによって、ＤＭＡ転送の終了を検知する
ＤＭＡ転送制御装置。
【請求項７】
請求項１乃至５のいずれかに記載のＤＭＡ転送制御装置であって、
更に、前記転送データの転送終了を示す終了コードを前記転送データから検出する終了コード検出回路を備え、
前記終了コードが検出されると、前記バスサイクル発生部は、ＤＭＡ転送を終了させる
ＤＭＡ転送制御装置。
【請求項８】
転送元と転送先との間で転送データのＤＭＡ転送を行うＤＭＡ転送方法であって、
（Ａ）前記転送元あるいは前記転送先におけるアクセスアドレスがバーストアドレス境界に達するまで、前記転送データの不定長バースト転送を行うステップと、
（Ｂ）前記（Ａ）ステップの後、前記転送データの全ての転送が終了するまで、前記転送データの固定長バースト転送を行うステップと
を含む
ＤＭＡ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ転送技術に関する。特に、本発明は、バースト転送を用いたＤＭＡ転送の制御技術に関する。
【背景技術】
【０００２】
ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等の高速メモリは、高速データ転送を実現するために、「バースト転送（burst transfer）」を行うバーストモードを備えている。バースト転送では、連続するアドレス領域の先頭アドレスが指定され、その後、その先頭アドレスから複数のデータの読み出しあるいは書き込みが“連続的に”実行される（例えば、特許文献１参照）。
【０００３】
また、データ転送時のＣＰＵの負担を軽減するための技術として、「ＤＭＡ（Direct Memory Access）転送」が知られている（例えば、特許文献２参照）。ＤＭＡ転送では、ＣＰＵによる演算処理を介さずに、データが直接メモリに転送される。そのため、データの転送元と転送先との間に、ＤＭＡ転送制御装置が設けられる。ＣＰＵがＤＭＡ転送を指示すると、ＤＭＡ転送制御装置は、転送元と転送先との間でＤＭＡ転送を行う。この時、上述のバースト転送が利用されることが多い。
【０００４】
近年、ＣＰＵの高機能化・高速化により、ネットワーク通信を用いたストリーミング等の処理を行うことが可能になってきた。大容量のコンテンツをストリーミング処理する際には、データ転送を高速化し、また、ＣＰＵの負担を軽減することが望ましい。従って、バースト転送を用いたＤＭＡ転送技術は重要である。
【０００５】
バースト転送に関しては、次のような問題点が存在する。それは、バースト転送におけるメモリアクセスが、同一ページ（所定の大きさの記憶領域）だけで完結せずに、複数ページにまたがる可能性があることである。例えばＳＤＲＡＭは、５１２バイト、１Ｋバイト、あるいは２Ｋバイトのページを複数有しているが、ページ境界をまたぐバースト転送は許されていない。従って、ページ境界でバースト転送を終了させ、また、新しいページに対応するアドレスを与えた後に新たなバースト転送を再度開始する必要がある。このことは、データ転送効率を低下させる。
【０００６】
特許文献２（特開２００６−１８６４２号公報）には、ページ境界を超えるバースト転送を効率良く行うＤＭＡ転送制御装置が記載されている。図１は、そのＤＭＡ転送制御装置２００の構成を示している。ＤＭＡ転送制御装置２００は、転送元アドレスレジスタ２０１、転送先アドレスレジスタ２０２、転送サイズレジスタ２０３、バッファサイズ比較判定部２０４、ページ境界判定部２０５、未処理転送判定部２０６、バッファ２０８、バスサイクル発生部２０９、及びＤＭＡ転送制御器２１０を備えている。また、ＤＭＡ転送制御装置２００は、外部バスを介して、ＣＰＵ１００、転送元メモリ２１１及び転送先メモリ２１２に接続されている。
【０００７】
転送元メモリ２１１から転送先メモリ２１２へのデータのＤＭＡ転送時の動作は、次の通りである。ＣＰＵ１００は、転送元アドレス、転送先アドレス、及び転送サイズを、転送元アドレスレジスタ２０１、転送先アドレスレジスタ２０２、及び転送サイズレジスタ２０３のそれぞれに設定しているとする。
【０００８】
ＤＭＡ転送制御器２１０は、外部インタフェースを介してＤＭＡ転送要求を受信したか否かを判定する。ＤＭＡ転送制御器２１０がＤＭＡ転送要求を受け取ると、ＣＰＵ１００は、ＤＭＡ転送制御器２１０に対してＤＭＡ転送の開始を指示する。ＤＭＡ転送制御器２１０は、ＤＭＡ転送制御装置２００に対してＤＭＡ転送の実行を指示する。
【０００９】
まず、バッファサイズ比較判定部２０４は、転送サイズレジスタ２０３から、全体のデータ転送量を示す「転送サイズ」を読み出す。そして、バッファサイズ比較判定部２０４は、その転送サイズとバッファ２０８の容量であるバッファサイズを比較し、「処理転送サイズ」を設定する。処理転送サイズとは、転送の基本単位（以下、「クール」と参照される）において転送されるデータ量であり、その最大値は、バッファサイズである。転送サイズがバッファサイズより大きい場合、処理転送サイズは、バッファサイズに設定される。一方、転送サイズがバッファサイズ以下の場合、処理転送サイズは、転送サイズに設定される。図２は、様々なサイズの設定の一例を示している。図２に示される例において、転送サイズは、バッファサイズより大きい。従って、第１クールにおける処理転送サイズは、バッファサイズに設定される。
【００１０】
次に、ページ境界判定部２０５は、転送元アドレスレジスタ２０１から転送元アドレスを読み出し、また、バッファサイズ比較判定部２０４から処理転送サイズを受け取る。そして、ページ境界判定部２０５は、転送元アドレス、処理転送サイズ、及び転送元メモリ２１１のページサイズに基づいて、データ読み出しが転送元メモリ２１１のページ境界を超えるか否かを判定する。図２に示される例では、第１クールにおいて、データ読み出しがページ境界を超える。その場合、データ読み出しを分割して行うために、ページ境界判定部２０５は、処理転送サイズをページ境界で分割し、「分割転送サイズ」を決定する。
【００１１】
第１クールにおける１回目のデータ読み出しにおいて、分割転送サイズは、転送元アドレスからページ境界までのサイズである。バスサイクル発生部２０９は、転送元メモリ２１１の転送元アドレスからその分割転送サイズだけデータを読み出し、読み出されたデータをバッファ２０８に格納する。未処理転送判定部２０６は、処理転送サイズのデータのうち未転送のものが残っていることを検出し、次の分割転送サイズを決定する。第１クールにおける２回目のデータ読み出しにおいて、バスサイクル発生部２０９は、転送元メモリ２１１のページ境界から残りのデータを読み出し、読み出されたデータをバッファ２０８に格納する。尚、転送元メモリ２１１からバッファ２０８へのデータ転送は、データバス幅に従ってバースト転送で行われる。
【００１２】
次に、第１クールにおけるデータ書き込みが行われる。具体的には、転送先アドレスレジスタ２０２から転送先アドレスが読み出され、バッファ２０８に格納されているデータが、転送先メモリ２１２の転送先アドレスから順番に書き込まれる。この時、データ読み出し時と同様に、ページ境界判定部２０５は、転送先アドレス、処理転送サイズ、及び転送先メモリ２１２のページサイズに基づいて、データ書き込みが転送先メモリ２１２のページ境界を超えるか否かを判定する。そして、必要に応じて、処理転送サイズがページ境界で分割され、分割転送サイズが決定される。バスサイクル発生部２０９は、バッファ２０８から分割転送サイズだけデータを読み出し、読み出されたデータを転送先メモリ２１２に書き込む。尚、バッファ２０８から転送先メモリ２１２へのデータ転送は、データバス幅に従ってバースト転送で行われる。
【００１３】
１つのクールが終了すると、転送元メモリ２１１に未転送データが残っているか否か判定される。未転送データが残っている場合、その未転送データのサイズが新たな転送サイズとして設定される。図２に示された例では、当初の転送サイズと既に転送が完了した処理転送サイズ（バッファサイズ）との差分が、第２クールにおける転送サイズとして設定される。また、転送元アドレス及び転送先アドレスも更新される。そして、第１クールと同様に、第２クールにおけるデータ転送が実施される。残りの転送サイズが０になるまで、同様の処理が繰り返される。
【００１４】
図２に示された例において、転送サイズは２６０バイトであり、バッファサイズは２５６バイトであるとする。また、データバス幅が１６バイトであるとする。その場合、第１クールでの処理転送サイズは２５６バイトである。従って、第１クールにおいて、１６回のデータ転送処理がバースト転送により実施される。第２クールでの処理転送サイズは、残りの４バイトである。従って、１回のデータ転送処理が実施される。
【００１５】
このようにして、ＤＭＡ転送制御装置２００は、バースト転送に基づくＤＭＡ転送を実行する。処理転送データがページ境界において分割されて読み書きされるため、ページ境界をまたぐバースト転送が可能となる。
【００１６】
【特許文献１】特開２００５−１４１６８２号公報
【特許文献２】特開２００６−１８６４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本願発明者らは、次の点に着目した。図１および図２で示された従来の構成によれば、ページ境界毎に、バースト転送動作が区切られる。そのため、不定長のバースト転送が、ページ境界で毎回発生する。不定長のバースト転送では、終了条件の判断等のオーバーヘッドが発生するため、データ転送時間が、固定長バースト転送と比較して長くなる。例えばネットワーク通信でのストリーム転送のように、大量のデータが転送される場合、そのデータ転送がページ境界をまたぐ回数は増大する。不定長バースト転送やそのオーバーヘッドは、その回数に比例して増大する。従って、転送データのサイズが増大するにつれて、データ転送効率が低下する。
【課題を解決するための手段】
【００１８】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１９】
本発明によれば、転送元と転送先との間で転送データ（ＤＡＴ）をＤＭＡ転送する技術が提供される。転送元あるいは転送先としてのメモリ（３）は、ＤＭＡ転送制御装置からバースト転送でアクセスされる。メモリ（３）の１ページは、複数のバースト転送でアクセスされるため、複数のバーストアドレス境界を含んでいる。ここで、メモリ（３）の各ページの境界すなわち各ページの最終アドレスから、アドレスの小さい方向に向かって固定長のバーストサイズ（ＢＬ）単位に区切った複数の境界をバーストアドレス境界とする。そのため、その中の１つのバーストアドレス境界は、ページ境界と一致する。本発明では、この特徴が利用される。
【００２０】
より詳細には、任意のアクセスアドレスからバーストアドレス境界までは“不定長バースト転送”が行われる。そして、一旦アクセスアドレスがバーストアドレス境界に一致した後は、“固定長バースト転送”が繰り返される。ページ境界はバーストアドレス境界と一致するため、転送データ（ＤＡＴ）の全てが転送されるまで、ページ境界に関係なく、固定長バースト転送を繰り返すことが可能である。
【００２１】
本発明の第１の観点において、転送元と転送先との間でＤＭＡ転送を行うＤＭＡ転送制御装置（２）が提供される。そのＤＭＡ転送制御装置（２）は、転送データ（ＤＡＴ）が格納されるバッファ（２５）と、バッファ（２５）と転送元あるいは転送先との間で転送データ（ＤＡＴ）のバースト転送を行うバスサイクル発生部（２６）と、を備える。バスサイクル発生部（２６）は、転送元あるいは転送先におけるアクセスアドレスがバーストアドレス境界に達するまで不定長バースト転送を行い、且つ、その不定長バースト転送の後、転送データ（ＤＡＴ）の全ての転送が終了するまで、固定長バースト転送を行う。
【００２２】
本発明の第２の観点において、転送元と転送先との間で転送データ（ＤＡＴ）のＤＭＡ転送を行うＤＭＡ転送方法が提供される。そのＤＭＡ転送方法は、（Ａ）転送元あるいは転送先におけるアクセスアドレスがバーストアドレス境界に達するまで、転送データ（ＤＡＴ）の不定長バースト転送を行うステップと、（Ｂ）上記（Ａ）ステップの後、転送データ（ＤＡＴ）の全ての転送が終了するまで、転送データ（ＤＡＴ）の固定長バースト転送を行うステップと、を含む。
【００２３】
このような構成あるいは方法により、ページ境界に関係なく、固定長バースト転送を繰り返すことが可能となる。ページ境界において、バースト転送動作の中断等の特殊な処理は不要である。オーバーヘッドを伴う不定長バースト転送を、ページ境界毎に発生させる必要もない。従って、ページ境界毎のオーバーヘッドが解消され、データ転送効率の低下が防止される。大量のデータが転送され、そのデータ転送が多数のページ境界をまたぐ場合であっても、データ転送効率は維持される。
【発明の効果】
【００２４】
本発明によれば、ページ境界において、バースト転送動作の中断等の特殊な処理は不要となる。オーバーヘッドを伴う不定長バースト転送を、ページ境界毎に発生させる必要もない。従って、ページ境界毎のオーバーヘッドが解消され、データ転送効率の低下が防止される。
【発明を実施するための最良の形態】
【００２５】
１．第１の実施の形態
１−１．構成
図３は、本発明の第１の実施の形態に係るデータ処理装置の構成を示すブロック図である。そのデータ処理装置は、ＣＰＵ１、ＤＭＡ転送制御装置２、メモリ３、及びデータ受信ブロック４を備えている。ＣＰＵ１、ＤＭＡ転送制御装置２、メモリ３、及びデータ受信ブロック４は、バスを介して互いに接続されている。
【００２６】
メモリ３は、例えば、バースト転送でアクセス可能なＳＤＲＡＭであり、複数のページを有する。本実施の形態では、このメモリ３へのＤＭＡ転送を説明する。つまり、メモリ３は、データ転送における「転送先」である。
【００２７】
データ受信ブロック４は、ネットワーク通信の通信データの中から、メモリ３に転送される転送データＤＡＴを取り出し、その転送データＤＡＴをＤＭＡ転送制御装置２に出力する。図３においては、このデータ受信ブロック４が「転送元」となる。転送データＤＡＴは、例えば、パケット形態のデータやストリーム形態のデータである。
【００２８】
ＤＭＡ転送制御装置２は、データ受信ブロック４（転送元）から受け取った転送データＤＡＴを、メモリ３（転送先）にＤＭＡ転送する。このＤＭＡ転送時、ＤＭＡ転送制御装置２は、メモリ３に対する転送データＤＡＴの書き込みを、バースト転送により行う。より詳細には、本実施の形態に係るＤＭＡ転送制御装置２は、転送先アドレスレジスタ２１、バーストサイズレジスタ２２、転送サイズレジスタ２３、バーストアドレス境界判定回路２４、バッファ２５、バスサイクル発生部２６、及びＤＭＡ転送制御部２７を備えている。
【００２９】
転送先アドレスレジスタ２１は、「転送先アドレスＡＤＤ」を保持する。転送先アドレスＡＤＤは、ＤＭＡ転送時にアクセスされる、メモリ３中のアクセスアドレスである。ＤＭＡ転送の前に、転送先アドレスＡＤＤは、ＣＰＵ１によってアクセス開始アドレスに設定される。
【００３０】
バーストサイズレジスタ２２は、１回の固定長バースト転送に関する「バーストサイズ（バースト長）ＢＬ」を保持する。バーストサイズＢＬは、例えば４である。その場合、１ワードが３２ビットであり、データバス幅が４バイトであれば、１回の固定長バースト転送で１６バイトのデータが転送される。ＤＭＡ転送の前に、バーストサイズＢＬは、ＣＰＵ１によって設定される。
【００３１】
転送サイズレジスタ２３は、「転送サイズＴＳ」を保持する。転送サイズＴＳは、ＤＭＡ転送される予定の転送データＤＡＴのサイズである。ＤＭＡ転送の前に、転送サイズＴＳは、転送データＤＡＴのサイズに設定される。
【００３２】
バーストアドレス境界判定回路２４は、転送先アドレスレジスタ２１から転送先アドレスＡＤＤを読み出し、また、バーストサイズレジスタ２２からバーストサイズＢＬを読み出す。そして、バーストアドレス境界判定回路２４は、転送先アドレスＡＤＤとバーストサイズＢＬに基づいて、転送先アドレスＡＤＤから最初のバーストアドレス境界までの「バーストオフセット値ＯＦＦ１」を算出する。
【００３３】
ここで、メモリ３の各ページの境界すなわち各ページの最終アドレスから、アドレスの小さい方向に向かって固定長のバーストサイズ（ＢＬ）単位に区切った複数の境界をバーストアドレス境界とする。さらにまた、ここでは、後述のようにバーストサイズＢＬがページのアドレス領域の大きさの約数に相当するように（例えば、１ページ＝５１２ワード、バーストサイズＢＬ＝４ワード（１６バイト）のように）設定した場合を示しているものとする。１回の固定長バースト転送のサイズは、メモリ３のページサイズよりも小さいので、１ページには複数のバーストアドレス境界が含まれている。また、ページ境界はそのうちの１つのバーストアドレス境界と一致する。
【００３４】
バーストオフセット値ＯＦＦ１は、転送先アドレスＡＤＤから最初の固定長バーストアドレスまでのサイズであると言える。バーストアドレス境界判定回路２４は、例えば、転送先アドレスＡＤＤの下位ビットとバーストアドレス境界とを比較することによって、バーストオフセット値ＯＦＦ１を算出することができる。このように、バーストアドレス境界判定回路２４は、バーストオフセット値ＯＦＦ１を算出する「オフセット算出回路」として機能する。
【００３５】
バッファ２５は、データバスを介してデータ受信ブロック４から受け取った転送データＤＡＴを保持する。その転送データＤＡＴは、バスサイクル発生部２６を経由してメモリ３にバースト転送される。
【００３６】
バスサイクル発生部２６は、バッファ２５及びバスに接続されており、バッファ２５とメモリ３との間で転送データＤＡＴのバースト転送を行う。より詳細には、バスサイクル発生部２６は、転送先アドレスレジスタ２１から転送先アドレスＡＤＤを読み出し、また、バーストサイズレジスタ２２からバーストサイズＢＬを読み出す。バスサイクル発生部２６は更に、バーストアドレス境界判定回路２４からバーストオフセット値ＯＦＦ１を受け取る。バスサイクル発生部２６は、最初、転送先アドレスＡＤＤ（開始アドレス）からバーストオフセット値ＯＦＦ１だけ“不定長バースト転送”を行い、その後は、転送データＤＡＴの全てが転送されるまで“固定長バースト転送”を行う。そのために、バスサイクル発生部２６は、不定長バースト転送を行う回路と、固定長バースト転送動作を行う回路を含んでいる。尚、バーストオフセット値ＯＦＦ１がゼロの場合、バスサイクル発生部２６は、固定長バースト転送だけを行う。
【００３７】
また、バスサイクル発生部２６は、転送サイズレジスタ２３から転送サイズＴＳを読み出す。バスサイクル発生部２６は、既にメモリ３に書き込まれた転送データＤＡＴの量と転送サイズＴＳとの比較を行うことによって、ＤＭＡ転送の終了を検知する。転送データＤＡＴの全てのＤＭＡ転送が終了すると、バスサイクル発生部２６は、ＤＭＡ転送制御部２７に転送終了信号ＳＥを出力する。
【００３８】
ＤＭＡ転送制御部２７は、ＤＭＡ転送を制御するための回路である。具体的には、ＣＰＵ１からの指示に応答して、ＤＭＡ転送制御部２７は、ＤＭＡ転送制御装置２０にＤＭＡ転送の開始を指示する。また、バスサイクル発生部２６からの転送終了信号ＳＥに応答して、ＤＭＡ転送制御部２７は、ＤＭＡ転送の終了をＣＰＵ１に通知する。
【００３９】
１−２．動作
図４は、本実施の形態に係るＤＭＡ転送制御装置２の動作を示すフローチャートである。図３及び図４を参照して、本実施の形態に係るＤＭＡ転送を説明する。
【００４０】
転送先アドレスＡＤＤ（開始アドレス）、バーストサイズＢＬ、及び転送サイズＴＳは、転送先アドレスレジスタ２１、バーストサイズレジスタ２２、及び転送サイズレジスタ２３のそれぞれに、ＣＰＵ１によって事前に設定されているとする。まず、ＤＭＡ転送制御部２７は、外部インタフェースを介してＤＭＡ転送要求を受信したか否かを判定する（ステップＳ１）。
【００４１】
ＤＭＡ転送制御部２７がＤＭＡ転送要求を受け取ると（ステップＳ１；Ｙｅｓ）、バーストアドレス境界判定回路２４及びバスサイクル発生部２６は、転送先アドレスレジスタ２１から転送先アドレスＡＤＤ（開始アドレス）を読み出し（ステップＳ２）、また、バーストサイズレジスタ２２からバーストサイズＢＬを読み出す（ステップＳ３）。また、バスサイクル発生部２６は、転送サイズレジスタ２３から転送サイズＴＳを読み出す（ステップＳ４）。
【００４２】
バーストアドレス境界判定回路２４は、開始アドレスＡＤＤとバーストサイズＢＬに基づいて、その開始アドレスＡＤＤから最初のバーストアドレス境界までの「バーストオフセット値ＯＦＦ１」を算出する。バスサイクル発生部２６は、バーストオフセット値ＯＦＦ１に基づいて、「不定長バーストライト」が必要か否かを判断する（ステップＳ５）。
【００４３】
バーストオフセット値ＯＦＦ１がゼロの場合、すなわち、開始アドレスＡＤＤがバーストアドレス境界に一致する場合（ステップＳ５；Ｙｅｓ）、不定長バーストライトは実施されない。バスサイクル発生部２６は、固定長バーストライトを行う。
【００４４】
具体的には、バスサイクル発生部２６は、バースト転送サイズをバーストサイズＢＬに相当するサイズに設定する（ステップＳ１０）。そして、バスサイクル発生部２６は、バッファ２５からデータを順次読み込み（ステップＳ１１）、そのデータをメモリ３の転送先アドレスＡＤＤに書き込む（ステップＳ１２）。１つのデータを書き込むたびに、バスサイクル発生部２６は、転送先アドレス（アクセスアドレス）ＡＤＤを変化させ、また、バースト転送サイズ及び転送サイズＴＳを書き込み量分減らす（ステップＳ１３）。バースト転送サイズが０になるまで、ステップＳ１１〜Ｓ１３が繰り返される。バースト転送サイズが０になると（ステップＳ１４；Ｙｅｓ）、１回の固定長バーストライトが完了する。その後、処理は、ステップＳ１００に進む。
【００４５】
一方、バーストオフセット値ＯＦＦ１がゼロではない場合、すなわち、開始アドレスＡＤＤがバーストアドレス境界に一致しない場合（ステップＳ５；Ｎｏ）、不定長バーストライトが実施される。
【００４６】
具体的には、バスサイクル発生部２６は、バースト転送サイズをバーストオフセット値ＯＦＦ１に設定する（ステップＳ２０）。そして、バスサイクル発生部２６は、バッファ２５からデータを順次読み込み（ステップＳ２１）、そのデータをメモリ３の転送先アドレスＡＤＤに書き込む（ステップＳ２２）。１つのデータを書き込むたびに、バスサイクル発生部２６は、転送先アドレス（アクセスアドレス）ＡＤＤを変化させ、また、バースト転送サイズ及び転送サイズＴＳを書き込み量分減らす（ステップＳ２３）。バースト転送サイズが０になるまで、ステップＳ２１〜Ｓ２３が繰り返される。バースト転送サイズが０になると（ステップＳ２４；Ｙｅｓ）、不定長バーストライトが完了する。その後、処理は、ステップＳ１００に進む。
【００４７】
ステップＳ１００において、転送サイズＴＳが０でない場合（ステップＳ１００；Ｎｏ）、処理はステップＳ１０に戻る。すなわち、固定長バーストライトが続けて実施される。言い換えれば、不定長バーストライトが一度実施されると、その後は、固定長バーストライトだけが繰り返し実施される。バスサイクル発生部２６は、転送データＤＡＴ全ての書き込みが終了するまで、固定長バーストライトを行う。
【００４８】
転送データＤＡＴの全てのＤＭＡ転送が終了すると（ステップＳ１００；Ｙｅｓ）、バスサイクル発生部２６は、ＤＭＡ転送制御部２７に転送終了信号ＳＥを出力する。
【００４９】
図５は、ＤＭＡ転送の一例を示すタイミングチャートである。１ワードは３２ビットであり、データバス幅は４バイトであるとする。また、バーストサイズＢＬは４であり、１回の固定長バースト転送で４ワード（１６バイト）のデータが転送されるとする。また、メモリ３の１ページのサイズは５１２ワードであるとする。図５に示されるように、１ページは複数のバーストアドレス境界を含んでおり、ページ境界は１つのバーストアドレス境界と一致する。
【００５０】
時刻ｔ０において、ＤＭＡ転送要求信号がＤＭＡ転送制御装置２に入力される。転送先アドレスレジスタ２１に初期設定される転送先アドレスＡＤＤ（開始アドレス）は、番地“０ｘ０００００００Ｃ”であるとする。この場合、その開始アドレスＡＤＤから最初のバーストアドレス境界は、番地“０ｘ０００００００Ｆ”と番地“０ｘ００００００１０”との間である。従って、バーストオフセット値ＯＦＦ１は、その開始アドレスＡＤＤからバーストアドレス境界までの“４バイト”である。
【００５１】
バーストオフセット値ＯＦＦ１がゼロではない、すなわち、開始アドレスＡＤＤがバーストアドレス境界に一致しないため（ステップＳ５；Ｎｏ）、不定長バーストライトが実施される。具体的には、時刻ｔ１において、バスサイクル発生部２６の不定長バースト転送制御信号が活性化される。バスサイクル発生部２６は、バースト転送サイズをバーストオフセット値ＯＦＦ１の４バイトに設定する（ステップＳ２０）。そして、バスサイクル発生部２６は、番地“０ｘ０００００００Ｃ”から番地“０ｘ０００００００Ｆ”までの４バイト分、不定長バースト転送を行う（ステップＳ２１〜Ｓ２４）。つまり、バスサイクル発生部２６は、開始アドレスＡＤＤからバーストアドレス境界まで、不定長バースト転送を行う。その結果、転送先アドレス（アクセスアドレス）ＡＤＤは、バーストアドレス境界に達する。
【００５２】
不定長バースト転送が完了すると、続いて、固定長バースト転送が実施される。時刻ｔ２において、不定長バースト転送制御信号が非活性化され、代わりに、固定長バースト転送制御信号が活性化される。バスサイクル発生部２６は、バースト転送サイズをバーストサイズＢＬに相当する１６バイトに設定する（ステップＳ１０）。そして、バスサイクル発生部２６は、番地“０ｘ００００００１０”から番地“０ｘ００００００１Ｆ”までの１６バイト分、固定長バースト転送を行う（ステップＳ１１〜Ｓ１４）。つまり、バスサイクル発生部２６は、現在の転送先アドレス（アクセスアドレス）ＡＤＤから１バーストサイズ分、固定長バースト転送を行う。その結果、転送先アドレスＡＤＤは、次のバーストアドレス境界に達する。
【００５３】
それ以降、固定長バースト転送が繰り返し続く。固定長バースト転送の度に、転送先アドレス（アクセスアドレス）ＡＤＤは、バーストアドレス境界に達する。最初に現れるページ境界は、番地“０ｘ０００００７ＦＦ”と番地“０ｘ０００００８００”との間である。図５に示されるように、ページ境界は、バーストアドレス境界と一致している。従って、ページ境界において、バースト転送動作の中断等の特殊な処理は不要である。その後も同様に、ページ境界に関係なく固定長バースト転送が行われる。転送データＤＡＴの全てが転送されるまで、固定長バースト転送が繰り返され、時刻ｔ３においてＤＭＡ転送が終了する。
【００５４】
１−３．効果
上述のように、メモリ３の各ページの境界すなわち各ページの最終アドレスから、アドレスの小さい方向に向かって固定長のバーストサイズ（ＢＬ）単位に区切った複数の境界をバーストアドレス境界としている。従って、最初に“不定長バースト転送”を実施しアクセスアドレスをバーストアドレス境界にあわせると、その後の“固定長バースト転送”では、ページ境界はあるバーストアドレス境界に一致する。さらにまた、バーストサイズＢＬがページのアドレス領域の大きさの約数に相当するように設定しているので、その後の転送はすべて"固定長バースト転送”で転送を行えば、バーストアドレス境界とページ境界が一致する。
【００５５】
そして、本実施の形態によれば、開始アドレスからバーストオフセット値ＯＦＦ１だけ“不定長バースト転送”が実施され、その後は、全ての転送データＤＡＴが転送されるまで“固定長バースト転送”が実施される。つまり、開始アドレスからバーストアドレス境界までは“不定長バースト転送”が行われ、アクセスアドレスがバーストアドレス境界に達した後は、“固定長バースト転送”が繰り返される。
【００５６】
ページ境界はあるバーストアドレス境界に一致するため、そのページ境界において、バースト転送動作の中断等の特殊な処理は不要である。オーバーヘッドを伴う不定長バースト転送を、ページ境界毎に発生させる必要もない。転送データＤＡＴの全てが転送されるまで、ページ境界に関係なく、固定長バースト転送が繰り返される。従って、ページ境界毎のオーバーヘッドが解消され、データ転送効率の低下が防止される。例えばネットワーク通信でのストリーム転送のように、大量のデータが転送される場合、そのデータ転送がページ境界をまたぐ回数は増大する。そのような場合に特に、効果が顕著となる。
【００５７】
例えば、固定長バースト転送に要する時間がＴ１であり、不定長バースト転送に要する時間がＴ２（＞Ｔ１）であるとする。図１及び図２で示された従来技術によれば、ページ境界毎に、不定長バースト転送が２回発生する。一方、本実施の形態によれば、ＤＭＡ転送の開始時に不定長バースト転送が１回だけ行われ、それ以降は固定長バースト転送が繰り返される。従って、ＤＭＡ転送に要する全体時間Ｔは、次の式で与えられる。
【００５８】
Ｔ（従来）        ＝Ｔ１×（転送回数−ページ数）＋（Ｔ２×２）×ページ数；
Ｔ（本実施の形態）＝Ｔ２＋Ｔ１×転送回数；
転送回数  ＝  転送サイズＴＳ／（バーストサイズＢＬ×ワード長）；
ページ数  ＝  転送サイズＴＳ／ページサイズ
【００５９】
従来技術では、ページ数が増えるにつれて、全体時間Ｔが増大することが明らかである。言い換えれば、従来技術では、転送サイズＴＳが増加するにつれて、データ転送効率が低下する。一方、本実施の形態によれば、全体時間Ｔはページ数に依存していない。従って、転送サイズＴＳが増加しても、データ転送効率は減少しない。
【００６０】
また、本実施の形態によれば、図１で示されたバッファサイズ比較判定部２０４、ページ境界判定部２０５、及び未処理転送判定部２０６は不要である。その代わりに、バーストアドレス境界判定回路２４が設けられる。このバーストアドレス境界判定回路２４は、例えば、転送先アドレスＡＤＤの下位ビットとバーストアドレス境界とを比較する比較回路で実現できる。そのため、従来に比べ回路規模を小さくすることができる。
【００６１】
尚、上述の実施の形態では、メモリ３に対するデータ書き込みの場合が説明されたが、メモリ３からのデータ読み出しの場合も同様である。つまり、メモリ３が「転送元」である場合も、同様の構成を適用可能である。また、対象は、ＳＤＲＡＭ等のメモリ３に限られない。システムバスとしてアドレス境界の制限を持っているＡＭＢＡバス及びＰＣＩバス等のペリフェラルであっても同様である。
【００６２】
上述の例では、バーストサイズＢＬがページのアドレス領域の大きさの約数に相当するように設定した場合を示した。しかし、バーストサイズＢＬがページのアドレス領域の大きさの約数に相当しない場合であっても、一定の効果が得られる。このような場合も、上記と同様に、メモリ３の各ページの境界すなわち各ページの最終アドレスから、アドレスの小さい方向に向かって固定長のバーストサイズ（ＢＬ）単位に区切った複数の境界をバーストアドレス境界と設定する。そして、上述のように転送開始アドレスからバーストアドレス境界までは“不定長バースト転送”が行われ、アクセスアドレスがバーストアドレス境界に達した後は、“固定長バースト転送”が繰り返される。そして開始アドレスのあるページの境界まで転送し次のページに移った最初の段階で、次のページの最初のアドレスを転送開始アドレスとみなして、“不定長バースト転送”が行われ、アクセスアドレスがバーストアドレス境界に達した後は、“固定長バースト転送”が繰り返される。このようにすれば、ページをまたがる部分で発生する”不定長バースト転送”は１回のみとなる。従って、上述の従来例にくらべ明らかにページをまたがる部分で発生する”不定長バースト転送”の回数が減り、転送速度を上げることができ、回路の簡素化できる。
【００６３】
２．第２の実施の形態
２−１．構成
図６は、本発明の第２の実施の形態に係るデータ処理装置の構成を示すブロック図である。図６において、第１の実施の形態と同じ構成には同一の符号が付され、重複する説明は適宜省略される。本実施の形態に係るＤＭＡ転送制御装置２は、図３で示された構成に加えて、ワードアドレス境界判定回路２８を備えている。
【００６４】
ワードアドレス境界判定回路２８は、転送先アドレスレジスタ２１から転送先アドレスＡＤＤを読み出す。そして、ワードアドレス境界判定回路２８は、転送先アドレスＡＤＤとデータバス幅に基づいて、転送先アドレスＡＤＤから最初のワードアドレス境界までの「ワードオフセット値ＯＦＦ２」を算出する。ここで、ワードアドレス境界とは、１ワードサイズの記憶領域の境界である。ワードアドレス境界判定回路２８は、ワードオフセット値ＯＦＦ２を算出する「オフセット算出回路」として機能する。ワードオフセット値ＯＦＦ２は、バスサイクル発生部２６に出力される。
【００６５】
バスサイクル発生部２６は、最初、転送先アドレス（開始アドレス）ＡＤＤからワードオフセット値ＯＦＦ２だけ“バイト転送（バイトライトあるいはバイトリード）”を行う。オフセット値ＯＦＦ２がゼロの場合は、バイト転送は行われない。続いて、バスサイクル発生部２６は、転送先アドレスＡＤＤからバーストオフセット値ＯＦＦ１だけ“不定長バースト転送”を行う。バーストオフセット値ＯＦＦ１がゼロの場合は、不定長バースト転送は行われない。その後、バスサイクル発生部２６は、全ての転送データＤＡＴが転送されるまで“固定長バースト転送”を行う。
【００６６】
２−２．動作
図７は、本実施の形態に係るＤＭＡ転送制御装置２の動作を示すフローチャートである。第１の実施の形態と重複する説明は適宜省略される。
【００６７】
バーストアドレス境界判定回路２４は、転送先アドレスＡＤＤとバーストサイズＢＬに基づいて、「バーストオフセット値ＯＦＦ１」を算出する。また、ワードアドレス境界判定回路２８は、転送先アドレスＡＤＤとデータバス幅に基づいて、「ワードオフセット値ＯＦＦ２」を算出する。バスサイクル発生部２６は、バーストオフセット値ＯＦＦ１に基づいて、「不定長バーストライト」が必要か否かを判断する（ステップＳ５）。また、バスサイクル発生部２６は、ワードオフセット値ＯＦＦ２に基づいて、「バイトライト」が必要か否かを判断する（ステップＳ６）。
【００６８】
ワードオフセット値ＯＦＦ２がゼロではない場合、すなわち、転送先アドレス（開始アドレス）ＡＤＤがワードアドレス境界に一致しない場合（ステップＳ５；Ｎｏ、ステップＳ６；Ｎｏ）、「バイトライト」が実施される。
【００６９】
具体的には、バスサイクル発生部２６は、バースト転送サイズをワードオフセット値ＯＦＦ２に設定する（ステップＳ３０）。そして、バスサイクル発生部２６は、バッファ２５から１バイトのデータを読み込み（ステップＳ３１）、その１バイトデータをメモリ３の転送先アドレスＡＤＤに書き込む（ステップＳ３２）。１つのデータを書き込むたびに、バスサイクル発生部２６は、転送先アドレスＡＤＤを変化させ、また、バースト転送サイズ及び転送サイズＴＳを書き込み量分減らす（ステップＳ３３）。バースト転送サイズが０になるまで、ステップＳ３１〜Ｓ３３が繰り返される。バースト転送サイズが０になると（ステップＳ３４；Ｙｅｓ）、バイトライトが完了する。その後、処理は、ステップＳ１００に進む。
【００７０】
ステップＳ１００において、転送サイズＴＳが０でない場合（ステップＳ１００；Ｎｏ）、処理はステップＳ５に戻る。バーストアドレス境界判定回路２４は、更新後の転送先アドレス（アクセスアドレス）ＡＤＤとバーストサイズＢＬに基づいて、「バーストオフセット値ＯＦＦ１」を算出する。
【００７１】
転送先アドレス（アクセスアドレス）ＡＤＤがワードアドレス境界に一致する場合（ステップＳ６；Ｙｅｓ）、バスサイクル発生部２６は、上述の不定長バーストライトを行う（ステップＳ２０〜Ｓ２４）。また、転送先アドレス（アクセスアドレス）ＡＤＤがバーストアドレス境界に一致する場合（ステップＳ５；Ｙｅｓ）、バスサイクル発生部２６は、上述の固定長バーストライトを行う（ステップＳ１０〜Ｓ１４）。
【００７２】
転送データＤＡＴの全てのＤＭＡ転送が終了すると（ステップＳ１００；Ｙｅｓ）、バスサイクル発生部２６は、ＤＭＡ転送制御部２７に転送終了信号ＳＥを出力する。
【００７３】
第１の実施の形態と同様に、動作例として、１ワードが３２ビットであり、データバス幅が４バイトである場合を考える。また、バーストサイズＢＬは４であり、１回の固定長バースト転送で４ワード（１６バイト）のデータが転送されるとする。また、メモリ３の１ページのサイズは５１２ワードであるとする。
【００７４】
転送先アドレスレジスタ２１に初期設定される転送先アドレス（開始アドレス）ＡＤＤは、番地“０ｘ０００００００Ａ”であるとする。この場合、その開始アドレスＡＤＤから最初のワードアドレス境界は、番地“０ｘ０００００００Ｂ”と番地“０ｘ０００００００Ｃ”との間である。従って、ワードオフセット値ＯＦＦ２は、その開始アドレスからワードアドレス境界までの“２バイト”である。バスサイクル発生部２６は、番地“０ｘ０００００００Ａ”から番地“０ｘ０００００００Ｂ”までの２バイト分、バイトライトを行う（ステップＳ３０〜Ｓ３４）。つまり、バスサイクル発生部２６は、開始アドレスＡＤＤからワードアドレス境界までバーストライトを行う。その結果、転送先アドレス（アクセスアドレス）ＡＤＤは、ワードアドレス境界に達する。
【００７５】
バイトライトの結果、転送先アドレス（アクセスアドレス）ＡＤＤは番地“０ｘ０００００００Ｃ”となっている。従って、図５で示された例と同様に、バスサイクル発生部２６は、番地“０ｘ０００００００Ｃ”から番地“０ｘ０００００００Ｆ”までの４バイト分、不定長バースト転送を行う（ステップＳ２０〜Ｓ２４）。不定長バースト転送に続いて、図５で示された例と同様に、固定長バースト転送が実施される（ステップＳ１０〜Ｓ１４）。その固定長バースト転送は、ページ境界に関係なく、転送データＤＡＴの全てが転送されるまで繰り返される。
【００７６】
２−３．効果
本実施の形態によれば、第１の実施の形態と同じ効果が得られる。開始アドレスがワードアドレス境界に一致していない場合でも、効果が得られる。尚、メモリ３に対するデータ書き込みの場合が説明されたが、メモリ３からのデータ読み出しの場合も同様である。
【００７７】
３．第３の実施の形態
３−１．構成
図８は、本発明の第３の実施の形態に係るデータ処理装置の構成を示すブロック図である。図８において、第１の実施の形態と同じ構成には同一の符号が付され、重複する説明は適宜省略される。本実施の形態に係るＤＭＡ転送制御装置２は、図３で示された構成に加えて、転送終了コード検出回路２９を備えている。また、転送サイズレジスタ２３が、ＤＭＡ転送制御装置２から省かれている。
【００７８】
転送終了コード検出回路２９は、バッファ２５に格納されている転送データＤＡＴから、転送終了を示す特定の転送終了コードを検出する。転送終了コードは、例えば、転送データＤＡＴ中のデータ並びから計算され、１種類だけ存在する。転送終了コードを検出すると、転送終了コード検出回路２９は、終了コードフラグ信号ＦＬをバスサイクル発生部２６に出力する。
【００７９】
バスサイクル発生部２６は、終了コードフラグ信号ＦＬを受け取ると、終了コードフラグをＯＮする。バスサイクル発生部２６は、メモリ３に書き込まれた転送データＤＡＴの量と転送サイズＴＳとの比較を行う代わりに、終了コードフラグを参照して、ＤＭＡ転送の終了を検知する。ＤＭＡ転送が終了すると、バスサイクル発生部２６は、ＤＭＡ転送制御部２７に転送終了信号ＳＥを出力する。
【００８０】
３−２．動作
図９は、本実施の形態に係るＤＭＡ転送制御装置２の動作を示すフローチャートである。第１の実施の形態と重複する説明は適宜省略される。本実施の形態において、転送サイズＴＳの読み出し（ステップＳ４）は行われない。
【００８１】
固定長バーストライトにおいて、バスサイクル発生部２６は、バースト転送サイズをバーストサイズＢＬに相当するサイズに設定する（ステップＳ１０）。そして、バスサイクル発生部２６は、バッファ２５からデータを順次読み込み（ステップＳ１１）、そのデータをメモリ３の転送先アドレスＡＤＤに書き込む（ステップＳ１２）。１つのデータを書き込むたびに、バスサイクル発生部２６は、転送先アドレスＡＤＤを変化させ、また、バースト転送サイズを書き込み量分減らす（ステップＳ１５）。
【００８２】
転送終了コード検出回路２９は、転送終了コードの検出を行う。転送終了コードが検出された場合（ステップＳ１６；Ｙｅｓ）、転送終了コード検出回路２９は、終了コードフラグ信号ＦＬをバスサイクル発生部２６に出力する。終了コードフラグ信号ＦＬに応答して、バスサイクル発生部２６は、終了コードフラグをＯＮする（ステップＳ１７）。その後、処理は、ステップＳ２００に進む。転送終了コードが検出されない場合（ステップＳ１６；Ｎｏ）、バースト転送サイズが０になるまで、ステップＳ１１〜Ｓ１６が繰り返される。バースト転送サイズが０になると（ステップＳ１４；Ｙｅｓ）、１回の固定長バーストライトが完了する。その後、処理は、ステップＳ２００に進む。
【００８３】
不定長バーストライトにおいて、バスサイクル発生部２６は、バースト転送サイズをバーストオフセット値ＯＦＦ１に設定する（ステップＳ２０）。そして、バスサイクル発生部２６は、バッファ２５からデータを順次読み込み（ステップＳ２１）、そのデータをメモリ３の転送先アドレスＡＤＤに書き込む（ステップＳ２２）。１つのデータを書き込むたびに、バスサイクル発生部２６は、転送先アドレスＡＤＤを変化させ、また、バースト転送サイズを書き込み量分減らす（ステップＳ２５）。
【００８４】
転送終了コード検出回路２９は、転送終了コードの検出を行う。転送終了コードが検出された場合（ステップＳ２６；Ｙｅｓ）、転送終了コード検出回路２９は、終了コードフラグ信号ＦＬをバスサイクル発生部２６に出力する。終了コードフラグ信号ＦＬに応答して、バスサイクル発生部２６は、終了コードフラグをＯＮする（ステップＳ２７）。その後、処理は、ステップＳ２００に進む。転送終了コードが検出されない場合（ステップＳ２６；Ｎｏ）、バースト転送サイズが０になるまで、ステップＳ２１〜Ｓ２６が繰り返される。バースト転送サイズが０になると（ステップＳ２４；Ｙｅｓ）、不定長バーストライトが完了する。その後、処理は、ステップＳ２００に進む。
【００８５】
ステップＳ２００において、終了コードフラグがＯＦＦの場合（ステップＳ２００；Ｎｏ）、処理はステップＳ１０に戻る。すなわち、固定長バーストライトが続けて実施される。一方、終了コードフラグがＯＮの場合（ステップＳ２００；Ｙｅｓ）、バスサイクル発生部２６は、ＤＭＡ転送制御部２７に転送終了信号ＳＥを出力する。
【００８６】
３−３．効果
本実施の形態によれば、第１の実施の形態と同じ効果が得られる。尚、メモリ３に対するデータ書き込みの場合が説明されたが、メモリ３からのデータ読み出しの場合も同様である。また、転送終了コード検出回路２９を第２の実施の形態に適用することも可能である。
【図面の簡単な説明】
【００８７】
【図１】図１は、従来のＤＭＡ転送制御装置の構成を示すブロック図である。
【図２】図２は、従来のＤＭＡ転送制御装置の動作を説明するための概念図である。
【図３】図３は、本発明の第１の実施の形態に係るデータ処理装置の構成を示すブロック図である。
【図４】図４は、第１の実施の形態に係るＤＭＡ転送制御装置の動作を示すフローチャートである。
【図５】図５は、第１の実施の形態に係るＤＭＡ転送制御装置の動作の一例を示すタイミングチャートである。
【図６】図６は、本発明の第２の実施の形態に係るデータ処理装置の構成を示すブロック図である。
【図７】図７は、第２の実施の形態に係るＤＭＡ転送制御装置の動作を示すフローチャートである。
【図８】図８は、本発明の第３の実施の形態に係るデータ処理装置の構成を示すブロック図である。
【図９】図９は、第３の実施の形態に係るＤＭＡ転送制御装置の動作を示すフローチャートである。
【符号の説明】
【００８８】
１  ＣＰＵ
２  ＤＭＡ転送制御装置
３  メモリ
４  データ受信ブロック
２１  転送先アドレスレジスタ
２２  バーストサイズレジスタ
２３  転送サイズレジスタ
２４  バーストアドレス境界判定回路
２５  バッファ
２６  バスサイクル発生部
２７  ＤＭＡ転送制御部
２８  ワードアドレス境界判定回路
２９  転送終了コード検出回路
ＤＡＴ  転送データ
ＡＤＤ  転送先アドレス
ＴＳ    転送サイズ
ＢＬ    バーストサイズ
ＯＦＦ１  バーストオフセット値
ＯＦＦ２  ワードオフセット値
ＳＥ    転送終了信号
ＦＬ    終了コードフラグ信号
【図１】
2009009186.tif 000003
【図２】
2009009186.tif 000004
【図３】
2009009186.tif 000005
【図４】
2009009186.tif 000006
【図５】
2009009186.tif 000007
【図６】
2009009186.tif 000008
【図７】
2009009186.tif 000009
【図８】
2009009186.tif 000010
【図９】
2009009186.tif 000011