(57)【要約】【課題】ＣＰＵの処理負荷をかけず、かつ、回路規模を増加させないデータ転送装置を提供する。【解決手段】本発明のデータ転送装置は、複数のパラメータを含み、データ転送を指示する第１の転送要求を受け付け、受け付けられた第１の転送要求にパラメータが省略されているか否かを判定し、省略されていると判定された場合に、第１の転送要求に対して省略されたパラメータを補完することによって第２の転送要求を生成するパラメータテーブル生成部１２１と、生成された第２の転送要求を保持するパラメータテーブル保持部１２２と、第２の転送要求に従ってデータ転送を行う転送部１２０とを備える。【選択図】図２
2008021257.tif 000002
【特許請求の範囲】
【請求項１】
複数のパラメータを含み、データ転送を指示する第１の転送要求を受け付ける受け付け手段と、
受け付けられた第１の転送要求にパラメータが省略されているか否かを判定する判定手段と、
省略されていると判定された場合に、第１の転送要求に対して省略されたパラメータを補完することによって第２の転送要求を生成する生成手段と、
第２の転送要求に従ってデータ転送を行う転送手段と
を備えることを特徴とするデータ転送装置。
【請求項２】
前記第１の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスのうちの少なくとも１つを含み、
前記第２の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスを含み、
前記生成手段は、転送開始アドレスの属するメモリ種別、またはデフォルト値に従って省略されているパラメータを補完する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記データ転送装置は、さらに、
生成手段によって生成された第２の転送要求を保持する保持手段と、
前記保持手段から第２の転送要求を読み出す読み出し手段とを備え、
前記転送手段は、読み出し手段によって読み出された第２の転送要求に従ってデータ転送を行う
ことを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記読み出し手段は、外部からのトリガー信号に従って前記保持手段から第２の転送要求を読み出す
ことを特徴とする請求項３記載のデータ転送装置。
【請求項５】
前記保持手段は、複数の第２の転送要求に共通するパラメータを保持する共通テーブルと、第２の転送要求に個別のパラメータを保持する個別テーブルとを保持する
ことを特徴とする請求項３記載のデータ転送装置。
【請求項６】
前記保持手段は、電気的に不揮発な前記共通テーブルを保持する
ことを特徴とする請求項５記載のデータ転送装置。
【請求項７】
前記データ転送装置は、さらに、
外部からの入力に従って前記共通テーブルを保持手段内に作成する作成手段を備える
ことを特徴とする請求項５記載のデータ転送装置。
【請求項８】
前記データ転送装置は、さらに、
第２の転送要求に含まれるパラメータの出現頻度に基づいて前記共通テーブルを保持手段内に作成する作成手段を備える
ことを特徴とする請求項５記載のデータ転送装置。
【請求項９】
前記データ転送装置は、さらに、
受け付け手段によって受け付けられた第１の転送要求を保持する保持手段と、
前記保持手段から第１の転送要求を読み出す読み出し手段とを備え、
読み出し手段によって読み出された第１の転送要求は、前記判定手段および前記生成手段を介して前記転送手段に送られる
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１０】
前記第２の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、回数を示すパラメータとを含み、
前記転送手段は、前記回数に達するまで、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返す
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１１】
前記第２の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、領域のサイズを示すパラメータとを含み、
前記転送手段は、
前記転送手段は、前記領域の範囲内で、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返す
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１２】
前記データ転送装置は、さらに、
複数の第２の転送要求を保持する保持手段を備え、
繰り返し転送を指定するオプションパラメータを保持し、
前記転送手段は、オプションパラメータにより繰り返し転送が指定されたとき、複数の第２の転送要求に従うデータ転送を繰り返す
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１３】
前記保持手段は、さらに、繰り返し転送の回数を指定するオプションパラメータを保持し、
前記転送手段は、オプションパラメータにより繰り返し転送の回数、複数の第２の転送要求に従うデータ転送を繰り返す
ことを特徴とする請求項１２記載のデータ転送装置。
【請求項１４】
前記データ転送装置は、さらに、
複数の第２の転送要求を保持する保持手段を備え、
前記各第２の転送要求は、複数の部分データの転送を指示し、
前記転送手段は、複数の第２の転送要求の部分データをインターリーブしながら転送する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１５】
前記転送手段は、部分データを転送後、現在の第２の転送要求の転送アドレスを保持手段に退避させ、次の第２の転送要求の転送アドレスを保持手段から復帰させ、復帰させた転送アドレスに従って部分データを転送する。
ことを特徴とする請求項１４記載のデータ転送装置。
【請求項１６】
前記生成手段は、第１の転送要求が受け付け手段によって受け付けられた順番の昇順または降順で第２の転送要求に識別番号を付与し、
前記転送手段は、前記識別番号の順番に従ってデータ転送を実行する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１７】
前記受け付け手段は、さらに、第１転送要求の優先順位を受け付け、
前記生成手段は、前記優先順位に従って、第２の転送要求の順位を決定する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項１８】
前記生成手段は、第２の転送要求の順位を示す順位テーブル作成する
ことを特徴とする請求項１７記載のデータ転送装置。
【請求項１９】
複数のパラメータを含み、データ転送を指示する第１の転送要求を受け付ける受け付けステップと、
受け付けられた第１の転送要求にパラメータが省略されているか否かを判定する判定ステップと、
省略されていると判定された場合に、第１の転送要求に対して省略されたパラメータを補完することによって第２の転送要求を生成する生成ステップと、
第２の転送要求に従ってデータ転送を行う転送ステップと
を有することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ(Direct Memory Access)によるデータ転送装置に関し、特に矩形領域のデータを転送するデータ転送装置に関する。
【背景技術】
【０００２】
従来、コンピュータなどの装置において、ＣＰＵ(Central Processing Unit)に負荷をかけることなくデータ転送を行うため、ＤＭＡ(Direct Memory Access)装置が用いられている。ＤＭＡ装置では、連続したアドレスの領域にのみアクセスが可能であるという制限があったが、新たにアドレス更新情報を保持するレジスタをもつことで、不連続のアドレスを生成すること可能にする技術がある（例えば、特許文献１、特許文献２参照）。
【０００３】
ここで特許文献１に示すデータ転送装置について説明する。図１は、そのデータ転送装置の概略構成を示すブロック図である。データ転送装置１００は、転送開始アドレス保持レジスタ１０１と、転送開始アドレス更新回数保持レジスタ１０２と、ブロック長保持レジスタ１０３と、基点アドレス保持レジスタと１０４と、基点アドレス更新回数保持レジスタ１０５と、オフセット値保持レジスタ１０６と、制御回路１０７とを備える。
【０００４】
転送開始アドレス保持レジスタ１０１は、不連続なアドレスに複数のデータを転送するために、データ転送の転送開始アドレスを保持する。転送開始アドレス更新回数保持レジスタ１０２は、前記転送開始アドレス保持レジスタに保持された転送開始アドレスを更新する回数を保持する。ブロック長保持レジスタ１０３は、データ転送のブロック長を保持する。基点アドレス保持レジスタ１０４は、データ転送のアドレスを算出する基点となる基点アドレスを保持する。基点アドレス更新回数保持レジスタ１０５は、前記基点アドレス保持レジスタに保持された基点アドレスを更新する回数を保持する。オフセット値保持レジスタ１０６は、アドレスをオフセットするオフセット値を保持する。制御回路１０７は、基点アドレスから指定された更新回数分、アドレスオフセット値を加算しながら所定のデータサイズのデータを転送する。さらに、基点アドレスにオフセット値を加算することによってアドレスを更新し、所定のデータサイズのデータを転送する。この更新は、指定された更新回数分なされる。
【０００５】
このように、転送開始アドレスの更新を指定された回数分繰り返すことで、不連続なアドレスからのデータ転送をおこなうことが可能となる。
【特許文献１】特開２００２−８２８９７号
【特許文献２】特開平８−１５３０６２号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、複数種類の転送要求のデータ転送をおこなうためには、複数のレジスタ（図１の保持部１０１〜１０６）を複数セット持たなくてはならず、より多くの保持資源が必要になり実装面積が大きくなってしまう。
【０００７】
複数のレジスタを１セットしか持たない場合には、転送切り替えのオーバーヘッドが大きくなり効率的なデータ転送がおこなえない。言い換えれば、ＣＰＵによる転送要求発行の処理負荷が大きくなり、データ転送の効率もＣＰＵの処理能力に依存するので期待できない。
【０００８】
例えば、画像データをＭＰＥＧ等により符号化・復号化処理では、画像データを一度に転送するのではなく、画像ブロックを要求する転送要求の複数個をパイプライン的に処理し、それを規則的に繰り返す処理になることが多い。しかし前記データ転送装置をもちいると１つの画像ブロックを転送するたびに転送要求を切り替えたいような場合、１つのデータブロックを転送するための設定を毎回おこなわなければならずＣＰＵの負荷を軽減することができない。
【０００９】
本発明は、ＣＰＵの処理負荷をかけず、かつ、回路規模を増加させないデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明は、複数のパラメータを含み、データ転送を指示する第１の転送要求を受け付ける受け付け手段と、受け付けられた第１の転送要求にパラメータが省略されているか否かを判定する判定手段と、省略されていると判定された場合に、第１の転送要求に対して省略されたパラメータを補完することによって第２の転送要求を生成する生成手段と、第２の転送要求に従ってデータ転送を行う転送手段とを備える。
【００１１】
この構成によれば、第１の転送要求のパラメータの一部を省略できるのでＣＰＵの処理負荷を低減することができる。第１および第２の転送要求を保持する保持部を備えない場合には、データ転送装置の回路規模を低減することができる。第１の転送要求を保持する保持部を備える場合には、省略されたパラメータを保持しない分だけ回路規模の増加を抑えることができる。第２の転送要求を保持する保持部を備える場合には、従来と比べ回路規模の増加を抑えることができる。
【００１２】
ここで、前記第１の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスのうちの少なくとも１つを含み、前記第２の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスを含み、前記生成手段は、転送開始アドレスの属するメモリ種別、またはデフォルト値に従って省略されているパラメータを補完するようにしてもよい。
【００１３】
この構成によれば、省略されたパラメータを容易に補完することできる。
【００１４】
ここで、前記データ転送装置は、さらに、生成手段によって生成された第２の転送要求を保持する保持手段と、前記保持手段から第２の転送要求を読み出す読み出し手段とを備え、前記転送手段は、読み出し手段によって読み出された第２の転送要求に従ってデータ転送を行うようにしてもよい。
【００１５】
ここで、前記読み出し手段は、外部からのトリガー信号に従って前記保持手段から第２の転送要求を読み出すようにしてもよい。
【００１６】
この構成によれば、前記トリガー信号に同期して、第２の転送要求によるデータ転送を実行することができる。
【００１７】
ここで、前記保持手段は、複数の第２の転送要求に共通するパラメータを保持する共通テーブルと、第２の転送要求に個別のパラメータを保持する個別テーブルとを保持するようにしてもよい。
【００１８】
この構成によれば、複数の２の転送要求を保持する保持手段の回路規模を低減することができる。
【００１９】
ここで、前記保持手段は、電気的に不揮発な前記共通テーブルを保持するようにしてもよい。
【００２０】
この構成によれば、例えば共通テーブルをＲＯＭ（Read Only Memory）化しておくことにより、回路規模の低減を容易にすることができる。
【００２１】
ここで、前記データ転送装置は、さらに、外部からの入力に従って前記共通テーブルを保持手段内に作成する作成手段を備えるようにしてもよい。
【００２２】
この構成によれば、共通テーブルを動的に変更できるので、データ転送装置の用途（例えばＭＰＥＧ−２、ＭＰＥＧ−４、ＭＰＥＧ−４ＡＶＣ等）に応じて共通テーブルを最適化することができる。
【００２３】
ここで、前記データ転送装置は、さらに、第２の転送要求に含まれるパラメータの出現頻度に基づいて前記共通テーブルを保持手段内に作成する作成手段を備えるようにしてもよい。
【００２４】
この構成によれば、共通テーブルを適応的に最適化することができる。
【００２５】
ここで、前記データ転送装置は、さらに、受け付け手段によって受け付けられた第１の転送要求を保持する保持手段と、前記保持手段から第１の転送要求を読み出す読み出し手段とを備え、読み出し手段によって読み出された第１の転送要求は、前記判定手段および前記生成手段を介して前記転送手段に送られるようにしてもよい。
【００２６】
この構成によれば、保持手段は第１の転送要求を保持するので、省略されたパラメータを保持しない分だけ回路規模の増加を抑えることができる。また、読み出し手段から前記判定手段および前記生成手段を介して転送手段に送られるまでに、第１の転送要求を第２の転送要求にリアルタイムに補完および生成することができる。
【００２７】
ここで、前記第２の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、回数を示すパラメータとを含み、前記転送手段は、前記回数に達するまで、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返すようにしてもよい。
【００２８】
この構成によれば、ＣＰＵは回数を示すパラメータを用いて矩形領域データの転送要求を生成することができる。
【００２９】
ここで、前記第２の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、領域のサイズを示すパラメータとを含み、前記転送手段は、前記転送手段は、前記領域の範囲内で、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返すようにしてもよい。
【００３０】
この構成によれば、ＣＰＵは領域のサイズを示すパラメータを用いて矩形領域データの転送要求を生成することができる。
【００３１】
ここで、前記データ転送装置は、さらに、複数の第２の転送要求を保持する保持手段を備え、繰り返し転送を指定するオプションパラメータを保持し、前記転送手段は、オプションパラメータにより繰り返し転送が指定されたとき、複数の第２の転送要求に従うデータ転送を繰り返すようにしてもよい。
【００３２】
この構成によれば、オプションパラメータの指定によりデータ転送装置は繰り返し転送を行うので、ＣＰＵおける転送要求を発行する回数を減らすことができ、処理負荷を軽減させることができる。
【００３３】
ここで、前記保持手段は、さらに、繰り返し転送の回数を指定するオプションパラメータを保持し、前記転送手段は、オプションパラメータにより繰り返し転送の回数、複数の第２の転送要求に従うデータ転送を繰り返すようにしてもよい。
【００３４】
ここで、前記データ転送装置は、さらに、複数の第２の転送要求を保持する保持手段を備え、前記各第２の転送要求は、複数の部分データの転送を指示し、前記転送手段は、複数の第２の転送要求の部分データをインターリーブしながら転送するようにしてもよい。
【００３５】
この構成によれば、オプションパラメータの指定によりデータ転送装置はインターリーブ転送を行うので、ＣＰＵおける転送要求を発行する回数を減らすことができ、処理負荷を軽減させることができる。
【００３６】
ここで、前記転送手段は、部分データを転送後、現在の第２の転送要求の転送アドレスを保持手段に退避させ、次の第２の転送要求の転送アドレスを保持手段から復帰させ、復帰させた転送アドレスに従って部分データを転送するようにしてもよい。
【００３７】
この構成によれば、インターリーブ転送を容易に実現することができる。
【００３８】
ここで、前記生成手段は、第１の転送要求が受け付け手段によって受け付けられた順番の昇順または降順で第２の転送要求に識別番号を付与し、前記転送手段は、前記識別番号の順番に従ってデータ転送を実行するようにしてもよい。
【００３９】
この構成によれば、複数の第２の転送要求の実行順を容易に管理することができる。
【００４０】
ここで、前記受け付け手段は、さらに、第１転送要求の優先順位を受け付け、前記生成手段は、前記優先順位に従って、第２の転送要求の順位を決定するようにしてもよい。
【００４１】
この構成によれば、ＣＰＵが優先順位を指定することによって、第２の転送要求の実行順を容易に入れ替えることができる。
【００４２】
ここで、前記生成手段は、第２の転送要求の順位を示す順位テーブル作成するようにしてもよい。
【００４３】
また、本発明のデータ転送方法は、複数のパラメータを含み、データ転送を指示する第１の転送要求を受け付ける受け付けステップと、受け付けられた第１の転送要求にパラメータが省略されているか否かを判定する判定ステップと、省略されていると判定された場合に、第１の転送要求に対して省略されたパラメータを補完することによって第２の転送要求を生成する生成ステップと、第２の転送要求に従ってデータ転送を行う転送ステップとを有する。
【発明の効果】
【００４４】
上記の各構成によれば、第１の転送要求に対してパラメータを補完するので、ＣＰＵはパラメータを省略した第１の転送要求を発行するだけでデータ転送が可能になる。また指定されたサイズのデータを転送する毎に、その時使用した転送開始アドレスなどの転送情報をパラメータテーブルに退避することで、次に実行する転送要求を切り替えることを可能にする。これにより、ＣＰＵが転送毎にデータ転送要求パターンを生成する必要がなくなり負荷を削減することができる。また複数種類のコマンドの共通情報を検出し、その情報を複数のコマンドが参照できるようにすることでコマンドを保持する手段の実装面積を小さくすることができる。
【発明を実施するための最良の形態】
【００４５】
以下本発明の実施形態について、図面を参照しながら説明する。
【００４６】
＜第１の実施形態＞
本実施の形態におけるデータ転送装置は、複数のパラメータを含み、データ転送を指示する第１の転送要求を受け付け、受け付けられた第１の転送要求にパラメータが省略されているか否かを判定し、省略されていると判定された場合に、第１の転送要求に対して省略されたパラメータを補完することによって第２の転送要求を生成し、生成された第２の転送要求に従ってデータ転送を行うよう構成される。これにより、ＣＰＵの処理負荷の低減と、データ転送装置の回路規模を低減とを図っている。
【００４７】
以下、本発明の実施形態について説明する。
【００４８】
図２は、本発明による実施形態の構成を示すブロック図である。図２においてデータ転送装置１は、転送部１２０と、パラメータテーブル生成部１２１と、パラメータテーブル保持部１２２とを備える。転送部１２０は、読み出し部１２３ａを有する転送開始アドレス生成部１２３と、転送終了判定部１２４と、データ転送制御部１２５とを備える。第１の転送要求は、パラメータとして、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスの全部または少なくとも１つを含み、以下では、転送要求パターンとも呼ぶ。第２の転送要求は、パラメータとして、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスを含む。パターンテーブルと呼ぶ。
【００４９】
パラメータテーブル生成部１２１は、第１の転送要求（転送要求パターン）１２６を受け付け、受け付けた第１の転送要求（転送要求パターン）１２６にパラメータが省略されているか否かを判定し、省略されていると判定された場合に、第１の転送要求（転送要求パターン）に対して、省略されたパラメータを補完することによって第２の転送要求（テーブルパターン）を生成する。
【００５０】
パラメータテーブル保持部１２２は、パラメータテーブル生成部１２１によって生成された第２の転送要求（パラメータテーブル）を保持する。
【００５１】
転送部１２０内の転送開始アドレス生成部１２３中の読み出し部１２３ａは、パラメータテーブル保持部１２２から第２の転送要求（テーブルパターン）を読み出す。なお、この読み出しは、大部からの転送開始トリガー信号１２８と同期していてもよい。転送開始トリガー信号１２８は、例えば、画像符号化・復号化におけるマクロブロックの処理タイミングを示す。
【００５２】
転送開始アドレス生成部１２３は、読み出し部１２３ａに読み出された第２の転送要求（パラメータテーブル）を参照し転送開始アドレスを順次生成する。なお、１次元配列データ及び２次元配列データを転送するためのアドレス演算方法は本発明に関係なくまた周知の技術で構成可能であるため省略している。
【００５３】
転送終了判定部１２４は、転送開始アドレス生成部１２３によって順次生成される転送開始アドレスが転送許可範囲内か否か（転送終了でないか転送終了か）を判定する。
【００５４】
データ転送制御部１２５は、前記転送終了判定部１２４で転送許可と判定された転送開始アドレスをもちいて順次メモリアクセスをおこなう。
【００５５】
図３は、第１の転送要求（転送要求パターン）または第２の転送要求（パラメータテーブル）を示す説明図である。
【００５６】
同図の転送要求Ａ〜Ｃは、それぞれ第１の転送要求（転送要求パターン）または第２の転送要求（パラメータテーブル）である。両者はパラメータが省略されていても実質的には同じである。同図ではメモリＸと、転送要求Ａ〜Ｃとを模式的に示している。
【００５７】
第１の転送要求Ａは、メモリＸに対して３つの１次元データ群をＡ−１、Ａ−２、Ａ−３の順番で読み出すことを要求する。転送要求Ｂは、３つの２次元データ群をＢ−１、Ｂ−２、Ｂ−３の順番で読み出すことを要求する。転送要求Ｃを３つの２次元データ群をＣ−１、Ｃ−２、Ｃ−３の順番で書き込むことを要求する。ここでのメモリＸは１６バイト×４８ラインの容量とし、アドレスは図３の１３０で示す通りとする。
【００５８】
次に転送要求Ａについてのパラメータテーブル生成およびデータ転送動作を説明する。
【００５９】
図５は、転送要求Ａによって指定されるデータを示す説明図である。
【００６０】
ここではメモリＸに対しデータサイズが１６バイトの１次元データブロック群をメモリのアドレス０ｘ０００からアドレスオフセットを２５６バイトとして、７６８バイト分の範囲内でアドレスをインクリメントしながら転送するものとする。
【００６１】
ここで転送要求パターンについて説明する。
【００６２】
図６は、転送要求Ａ（ここでは第１の転送要求）に含まれるパラメータを示す図である。この転送要求パターンは、パラメータ１６１〜１６５を含み、パラメータが省略されていない例である。
【００６３】
パラメータ１６１は、１回目の転送開始アドレスである転送起点アドレスを示し、ここでは０ｘ０００とする。
【００６４】
パラメータ１６２は、１回に転送するデータサイズを示し、１６バイトとする。
【００６５】
パラメータ１６３は、データ転送候補領域のサイズ（データ転送の対象となる領域のサイズ）を示し、７６８バイトとする。
【００６６】
パラメータ１６４は、前回の転送開始アドレスから次回の転送開始アドレスへのオフセットアドレスを示し、２５６バイトとする。
【００６７】
パラメータ１６５は、転送の順番を示し、アドレスオフセット加算方向とする。
【００６８】
パラメータＲ／Ｗは、読み出しか書き込みかを示し、Ｒ（読み出し）とする。
【００６９】
このパラメータテーブルの生成について詳しく説明する。
【００７０】
図１４Ａは、パラメータテーブル生成部１２１におけるパラメータテーブル生成処理を示すフローチャートである。
【００７１】
最初に、転送要求判定ステップＳ２４０において転送要求パターンＡの入力があるかないかが判定される。
【００７２】
入力がある場合、転送要求パターン入力ステップＳ２４１において図６に示す転送要求パターン１６０がパラメータテーブル生成部１２１に受け付けられる。
【００７３】
省略判定ステップＳ２４２において、受け付けられた転送要求パターンにパラメータの省略があるか否かを判定する。図６の転送要求パターンでは省略されていないので、ステップＳ２４４パラメータの補完処理をすることなく、ステップ２４３に進む。
【００７４】
次にパラメータテーブル生成ステップＳ２４３において、パラメータテーブル生成部１２１に入力された前記転送要求パターンからパラメータテーブルを生成する。
【００７５】
図７は、転送要求パターンＡに対応するパラメータテーブル（第２の転送要求）を示す図である。このパラメータテーブルは、図６に対応するパラメータを含む。ただし、一部のパラメータは、転送開始アドレス生成部１２３に適した表記に変換されている。
【００７６】
図７において、パラメータ１７１は、転送起点アドレスを示し、転送要求パターン１６１で指定されている０ｘ０００を設定する。
【００７７】
パラメータ１７２は、データサイズを示し、転送要求パターン１６２で指定されている１６バイトを設定する。
【００７８】
パラメータ１７３は、転送候補領域を示し、転送要求パターン１６３で指定されている７６８バイトから最終アドレスを求め０ｘ２ｆｆを設定する。
【００７９】
パラメータ１７４は、アドレスオフセットを示し、転送要求パターン１６４で指定されている２５６バイトからアドレス加算値となる０ｘ１００を設定する。
【００８０】
パラメータ１７は、転送順番１７５を示し、転送候補領域１６５で指定されているオフセット加算方向を設定する。
【００８１】
このようにパラメータテーブル生成部１２１は、転送要求パターンでデータ量を与えられたものを、アドレスに変換してパラメータテーブルとしてもよい。
【００８２】
またアドレスオフセットを加算するとしてもよいし、減算するとしてもよい。減算する場合は転送要求パターン１６５でオフセット減算方向を入力する。これによりパラメータテーブル１７５はオフセット減算方向に設定するものとする。
【００８３】
次にパラメータテーブル登録ステップＳ２４５において、前記生成したパラメータテーブルに識別番号として１を付与しパラメータテーブル保持部１２２に登録する。このとき識別番号は１以外でもよい。
【００８４】
続いて、パラメータテーブル保持部１２２に登録されたパラメータテーブルに基づくデータ転送動作について説明する。
【００８５】
図１５は、パラメータテーブルに基づく転送処理を示すフローチャートである。
【００８６】
まず、トリガー信号判定ステップＳ２５０において、トリガー信号の有無を判定する。トリガー信号が入力されたときパラメータテーブル読み出しステップＳ２５１において、転送開始アドレス生成部１２３はパラメータテーブル１を読み出す。なお、トリガー信号の変わりに前記パラメータテーブルが登録されたことを要因として読み出してもよい。
【００８７】
このとき読み出すパラメータテーブルの識別番号は固定順序（例えば１から順番にインクリメント）でもよいし、パラメータテーブル生成部１２１もしくはパラメータテーブル保持部１２２から登録したパラメータテーブルの識別番号を別途受け取って、それにしたがって読み出してもよい。
【００８８】
次に、データ転送候補領域判定ステップＳ５２において、データ転送候補領域が領域指定であるか回数指定であるかを判定する。図７では、領域指定であるので、ステップＳ２５３に進む。
【００８９】
次に転送開始アドレス生成ステップＳ２５３において、転送開始アドレス生成部は前記読み出したパラメータテーブルから転送開始アドレスを生成する。このとき1回目の転送なので転送起点アドレス１７１を転送開始アドレスとする。
【００９０】
次に転送許可判定ステップＳ２５４において、転送終了判定部１２４はアドレス比較器を有し前記転送開始アドレスが前記転送候補領域１７３の範囲内かどうかを判定する。このとき転送候補領域範囲内であるのでデータ転送が許可される。
【００９１】
このとき転送開始アドレス生成部で転送開始アドレスだけでなく、転送終了アドレスも算出し、転送開始アドレスと転送終了アドレスの両方が転送候補領域内かどうかを判定するとしてもよい。
【００９２】
次にデータ転送実施ステップＳ２５５において、前記転送開始アドレスを基にデータ転送制御部１２５は１データブロック分のデータ転送を実施する。前記データ転送が完了すると再度転送開始アドレス生成フローに遷移する。次の転送開始アドレスとして、パラメータテーブルのアドレスオフセット１７４が０ｘ１００、転送順番１７５がオフセット加算方向であることから、前回のデータ転送の転送開始アドレスから次のアドレス０ｘ１００を算出し２回目の転送の転送開始アドレスとする。
【００９３】
前記領域判定ステップＳ２５４と同様に前記転送開始アドレスを判定し、範囲内であるのでデータ転送が許可される。前記データ転送実施ステップＳ２５５と同様に、前記転送開始アドレスを基に２回目のデータブロックの転送をおこなう。また３回目のデータ転送についても２回目の転送と同様にアドレス生成、転送許可判定、データ転送をおこなう。
【００９４】
同様にして４回目のデータ転送の転送開始アドレスを生成する。このとき転送開始アドレス０ｘ３００は、転送許可判定部による判定をおこなうと範囲候補領域外であることから４回目の転送はおこなわず、転送終了ステップＳ２５９に遷移し転送要求Ａのデータ転送を終了する。
【００９５】
次に転送要求Ｂのデータ転送動作を図１４の動作フローチャートに従って説明する。
【００９６】
まず転送要求パターンについて説明する。
【００９７】
図８は、転送要求パターンＡによって指定されるデータを示す説明図である。
【００９８】
データ転送Ｂで転送するデータブロックの構成を図８に示す。
【００９９】
メモリＸに対しデータサイズが１６バイト×１６ラインのデータブロック群をメモリアドレス０ｘ０００からデータブロック３つ分転送開始アドレスをインクリメントしながら転送するものとする。
【０１００】
図９は、転送要求パターンＢに含まれるパラメータテーブルを示す図である。
【０１０１】
最初に、転送要求パターン入力ステップＳ２４１として図９に示す転送要求パターン１９０をパラメータテーブル生成部１２１に入力する。
【０１０２】
パラメータ１９１は、転送起点アドレスを示し、０ｘ０００とする。
【０１０３】
パラメータ１９２は、１回に転送するデータサイズを示し、１６バイト×１６ラインとする。
【０１０４】
パラメータ１９３は、データ転送候補領域を示し、回数指定で３とする。
【０１０５】
パラメータ１９４は、アドレスオフセットを示し、連続とする。
【０１０６】
パラメータ１９５は、転送順番を示し、オフセットアドレス加算方向とする。
【０１０７】
次にパラメータテーブル生成ステップＳ２４３において、パラメータテーブル生成部に入力された前記転送要求パターンからパラメータテーブルを生成する。
【０１０８】
図１０は、転送要求パターンＢに対応するパラメータテーブルを示す図である。
【０１０９】
パラメータ２０１は、転送起点アドレスを示し、転送要求パターン１９１で指定されている０ｘ０００を設定する。
【０１１０】
パラメータ２０２は、データサイズ２０２を示し、転送要求パターン１９２で設定されている１６バイト×１６ラインを設定する。
【０１１１】
パラメータ２０３は、転送候補領域を示し、転送要求パターン１９３で指定されている転送回数指定３を設定する。
【０１１２】
パラメータ２０４は、アドレスオフセットを示し、転送要求パターン１９４で連続アドレスが指定されているので、データサイズ情報から算出して、０ｘ１００を設定する。
【０１１３】
パラメータ２０５は、転送順番を示し、転送要求パターン１９５で指定されているオフセット加算方向を設定する。
【０１１４】
このようにパラメータテーブル生成部１２１は、転送要求パターンのアドレスオフセットとして連続が指定されている場合、転送するデータサイズから具体的なアドレスオフセットパラメータテーブルを生成してもよい。また転送候補領域として転送回数を指定してもよい。
【０１１５】
次にパラメータテーブル登録ステップＳ２４５において、前記生成したパラメータテーブルに識別番号として２を付与しパラメータテーブル保持部１２２に登録する。
【０１１６】
ここで転送要求Ａのパラメータテーブル識別番号１からインクリメントした値を付与したが、既に登録済みの他のパラメータテーブルの識別信号と重ならなければ任意の番号を付与してもよい。
【０１１７】
続いて、パラメータテーブルに基づく転送処理を図１５に示すフローチャートに従って説明する。まず、トリガー信号判定ステップＳ２５０において、トリガー信号の有無を判定する。トリガー信号が入力されたときパラメータテーブル読み出しステップＳ２５１において、転送開始アドレス生成部１２３はパラメータテーブル１を読み出す。なお、トリガー信号の変わりに前記パラメータテーブルが登録されたことを要因として読み出してもよい。
【０１１８】
このとき読み出すパラメータテーブルの識別番号は固定順序（例えば１から順番にインクリメント）でもよいし、パラメータテーブル生成部１２１もしくはパラメータテーブル保持部１２２から登録したパラメータテーブルの識別番号を別途受け取って、それにしたがって読み出してもよい。
【０１１９】
次に、データ転送候補領域判定ステップＳ５２において、データ転送候補領域が領域指定であるか回数指定であるかを判定する。図７では、回数指定であるので、ステップＳ２５６に進む。
【０１２０】
次に転送開始アドレス生成ステップＳ２５６において、転送開始アドレス生成部は前記読み出したパラメータテーブルから転送開始アドレスを生成する。このとき１回目の転送なので転送起点アドレス２０１を転送開始アドレスとする。
【０１２１】
さらに、データ転送実施ステップＳ２５７において、前記転送開始アドレスを基にデータ転送制御部１２５は１データブロック分のデータ転送を実施する。前記データ転送が完了すると前記転送回数カウンタを１インクリメントする。
【０１２２】
次に回数判定ステップＳ２５８において、転送終了判定部１２４は転送回数カウンタを有し前記転送回数カウンタのカウント値が前記転送候補領域２０３の指定値よりも小さいかどうかを判定する。このとき転送回数カウンタの初期値は０とする。このとき転送回数指定値よりも小さいのでデータ転送は許可される。
【０１２３】
ここで転送回数カウンタは１ずつアップカウントするものとする。また転送回数カウンタの初期値を転送候補領域２０３の指定値にしてもよく、そのときカウンタは１ずつダウンカウントし、カウント値が０かどうかで転送許可判定をおこなうものとする。
【０１２４】
再度転送開始アドレス生成フローに遷移する。次の転送開始アドレスとして、パラメータテーブルのアドレスオフセット２０４が０ｘ１００、転送順番がオフセット加算方向であることから、前回のデータ転送開始アドレスから次の転送開始アドレス０ｘ１００を算出し2回目の転送の転送開始アドレスとする。
【０１２５】
前記回数判定ステップＳ２５８と同様に前記転送回数カウンタのカウント値を判定し、指定値よりも小さいのでデータ転送が許可される。
【０１２６】
前記データ転送実施ステップＳ２５７と同様に、前記転送開始アドレスを基に２回目のデータブロックの転送をおこなう。
【０１２７】
また３回目のデータ転送についても２回目の転送と同様に転送開始アドレス生成、転送許可判定、データ転送、転送回数カウント値インクリメントをおこなう。
【０１２８】
同様にして４回目のデータ転送の転送開始アドレスを生成し、転送許可判定部による判定をおこなうと転送回数カウント値が３であることから転送回数指定２０３と一致するので４回目の転送はおこなわず、転送終了ステップＳ２５９に遷移し転送要求Ｂのデータ転送を終了する。
【０１２９】
ここで動作フローチャートとして、図１５ように転送許可判定をデータ転送実施、転送回数カウントアップ後におこない、転送回数カウント値が転送回数指定２０３と一致すると転送終了ステップＳ２５９に遷移し転送要求Ｂのデータ転送を終了するとしてもよい。
【０１３０】
次に転送要求Ｃのデータ転送動作を図１４Ａ、図１４Ｂ、図１５の動作フローチャートに従って説明する。
【０１３１】
まず、データ転送Ｃで転送するデータブロックの構成を図１１に示す。
【０１３２】
最初に、転送要求パターン入力ステップＳ２４１として図１２に示す転送要求パターン２２０をパラメータテーブル生成部１２１に入力する。
【０１３３】
ここで図１２の転送要求パターンについて説明する。
【０１３４】
メモリＸに対しデータサイズが１６バイト×１６ラインのデータブロック群をメモリの先頭アドレスから容量の許す限りアドレスをインクリメントしながら転送するものとする。
【０１３５】
パラメータ２２１は、データ転送候補領域を示し、メモリＸとする。
【０１３６】
パラメータ２２２は、１回に転送するデータサイズを示し、１６バイト×１６ラインとする。
【０１３７】
パラメータ２２３は、転送開始アドレスのアドレスオフセットを示し、連続とする。
【０１３８】
図１３は、転送要求パターンＣに対応するパラメータテーブルを示す図である。
【０１３９】
パラメータ２３１は、転送起点アドレスを示し、転送要求パターン２２１でメモリＸが指定されているので、メモリ先頭アドレスである０ｘ０００を設定する。
【０１４０】
パラメータ２３２は、２ータサイズ２３２を示し、転送要求パターン２２２で設定されている１６バイト×１６ラインを設定する。
【０１４１】
パラメータ２３３は、転送候補領域２３３を示し、転送要求パターン２２１でメモリＸが指定されているので、メモリＸの容量である１６バイト×４８ラインを設定する。このときメモリＸのサイズ情報を持っているものとする。
【０１４２】
パラメータ２３４は、アドレスオフセットを示し、転送要求パターン２２３で連続アドレスが指定されており、データサイズ２２２で１６バイト×１６ラインが指定されていることから計算して０ｘ１００を設定する。
【０１４３】
パラメータ２３５は、転送順番を示し、転送要求パターン２２１でメモリＸが指定されているので、先頭アドレスからアドレスインクリメントしながら転送すると判断し、オフセット加算方向を設定する。
【０１４４】
次にパラメータテーブル生成ステップＳ２４３において、パラメータテーブル生成部に入力された前記転送要求パターンからパラメータテーブルを生成する。
【０１４５】
図１４Ｂは、ステップＳ２５３に示したパラメータテーブル補完処理の一例を示すフローチャートである。
【０１４６】
アドレス判定ステップＳ２４４ａにおいて、アドレスを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはアドレス予測ステップＳ２４４ｂにおいてアドレスを予測し、予測したアドレスを補間する。
【０１４７】
データサイズ判定ステップＳ２４４ｃにおいて、データサイズを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはメモリ種別判定ステップＳ２４４ｄにおいてメモリ種別を判定し、メモリ種別がローカルメモリであればステップＳ２４４ｅにおいてデータサイズを１６バイトに補完し、メモリ種別がフレームメモリであればステップＳ２４４ｆにおいてデータサイズを２５６バイトに補完する。
【０１４８】
領域指定判定ステップＳ２４４ｇにおいて、アドレスを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはステップＳ２４４ｈにおいて領域指定を２５６バイトに補完する。
【０１４９】
オフセット判定ステップＳ２４４ｉにおいて、オフセットアドレスを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはステップＳ２４４ｊにおいてオフセットアドレスを２５６バイトに補完する。
【０１５０】
転送方向判定ステップＳ２４４ｋにおいて、転送方向を示すパラメータが存在するか省略されているかを判定する。省略されている場合にはステップＳ２４４ｌにおいて転送方向をオフセット加算方向に補完する。
【０１５１】
このようにパラメータテーブル生成部１２１は、転送候補領域として特定のメモリが指定された場合は、先頭アドレスからオフセット加算方向に転送するとして、情報を補完してパラメータテーブルを作成することで転送要求パターンをより少ない設定にすることができるとしてもよい。
【０１５２】
また転送候補領域としてメモリ容量を領域指定としてが、データサイズ及びアドレスオフセット情報から転送可能回数を算出し、転送回数指定としてパラメータテーブルに登録してもよい。
【０１５３】
次にパラメータテーブル登録ステップＳ２４５において、前記生成したパラメータテーブルに識別番号として３を付与しパラメータテーブル保持部１２２に登録する。
【０１５４】
ここで転送要求Ｂのパラメータテーブル識別番号２からインクリメントした値を付与したが、既に登録済みの他のパラメータテーブルの識別信号と重ならなければ任意の番号を付与してもよい。
【０１５５】
続いて、パラメータテーブルに基づく転送処理を図１５に示すフローチャートに従って説明する。まず、トリガー信号判定ステップＳ２５０において、トリガー信号の有無を判定する。トリガー信号が入力されたときパラメータテーブル読み出しステップＳ２５１において、転送開始アドレス生成部１２３はパラメータテーブル１を読み出す。
【０１５６】
このとき読み出すパラメータテーブルの識別番号は固定順序（例えば１から順番にインクリメント）でもよいし、パラメータテーブル生成部１２１もしくはパラメータテーブル保持部１２２から登録したパラメータテーブルの識別番号を別途受け取って、それにしたがって読み出してもよい。
【０１５７】
また、パラメータテーブルを読み出すのは、パラメータテーブルが登録されたことを要因としても良いし、パラメータテーブル１に関するデータ転送がおこなわれている場合は、その転送が完了したことを要因としてもよいし、外部から転送開始トリガー信号１２８を受け取りそれに同期してもよい。
【０１５８】
次に転送開始アドレス生成ステップＳ２５３において、転送開始アドレス生成部は前記読み出したパラメータテーブルから転送開始アドレスを生成する。このとき１回目の転送なので転送起点アドレス２３１を転送開始アドレスとする。
【０１５９】
次に領域判定ステップＳ２５４において、転送終了判定部１２４はアドレス比較器を有し前期転送開始アドレスが前記転送候補領域２３３の範囲内かどうかを判定する。このとき転送候補領域範囲内であるのでデータ転送が許可される。
【０１６０】
このとき転送開始アドレス生成部で転送開始アドレスだけでなく、転送終了アドレスも算出し、転送開始アドレスと転送終了アドレスの両方が転送候補領域内かどうかを判定するとしてもよい。
【０１６１】
次にデータ転送実施ステップＳ２５５において、前記転送開始アドレスを基にデータ転送制御部１２５は１データブロック分のデータ転送を実施する。前記データ転送が完了すると再度転送開始アドレス生成フローに遷移する。次の転送開始アドレスとして、パラメータテーブルのアドレスオフセット２３４が０ｘ１００、転送順番がオフセット加算方向であることから、前回のデータ転送開始アドレスから次の転送開始アドレス０ｘ１００を算出し2回目の転送の転送開始アドレスとする。
【０１６２】
また転送要求パターンでアドレスオフセットが連続アドレス指定になっている場合は、パラメータテーブルのアドレスオフセット指定も連続アドレス指定にして、データ転送制御部による転送の終了アドレスをもとに転送開始アドレス生成部もしくはデータ転送制御部で次の転送開始アドレスを算出してもよい。
【０１６３】
前記領域判定ステップＳ２５４と同様に前記転送開始アドレスを判定し、範囲内であるのでデータ転送が許可される。
【０１６４】
前記データ転送実施ステップＳ２５５と同様に、前記転送開始アドレスを基に２回目のデータブロックの転送をおこなう。
【０１６５】
また３回目のデータ転送についても２回目の転送と同様にアドレス生成、転送許可判定、データ転送をおこなう。
【０１６６】
同様にして４回目のデータ転送の転送開始アドレスを生成し、転送許可判定部による判定をおこなうと範囲候補領域外であることから４回目の転送はおこなわず、転送終了ステップＳ２５９に遷移し転送要求Ｃのデータ転送を終了する。
【０１６７】
＜第２の実施形態＞
本実施形態では、パラメータテーブル保持部１２２が複数の第２の転送要求（パラメータテーブル）に共通するパラメータを保持する共通テーブルと、第２の転送要求に個別のパラメータを保持する個別のパラメータテーブルとを保持するように構成されている。共通テーブルは、電気的に不揮発なメモリ領域に設けてもよいし、外部からの入力に従って前記共通テーブルを作成してもよいし、生成された過去のパラメータテーブルに含まれるパラメータの出現頻度に基づいて作成してもよい。
【０１６８】
さらに、本実施形態のデータ転送装置は、さらに、パラメータテーブル保持部１２２が繰り返し転送を指定するオプションパラメータを保持し、転送部１２０は、オプションパラメータにより繰り返し転送が指定されたとき、複数の第２の転送要求に従うデータ転送を繰り返すよう構成されている。このとき、パラメータテーブル保持部１２２は、さらに、繰り返し転送の回数を指定するオプションパラメータを保持し、転送部１２０が、オプションパラメータにより繰り返し転送の回数、複数の第２の転送要求に従うデータ転送を繰り返すようにしてもよい。
【０１６９】
加えて、本実施形態の転送部１２０は、オプションパラメータによりインターリーブ転送が指定されたとき、複数の第２の転送要求の部分データをインターリーブしながら転送するように構成されている。このとき、転送部１２０は、部分データを転送後、現在の第２の転送要求の転送アドレスを保持手段に退避させ、次の第２の転送要求の転送アドレスを保持手段から復帰させ、復帰させた転送アドレスに従って部分データを転送する。
【０１７０】
また、転送部１２０は、第１の転送要求が受け付け手段によって受け付けられた順番の昇順または降順で第２の転送要求に識別番号を付与し、あるいは、第１転送要求の優先順位に従って、第２の転送要求の順位を決定するよう構成されている。
【０１７１】
本実施の形態におけるデータ転送装置の概略構成は、図２のブロック図とほぼ同様である。ブロック図は同様、ただし、第２の実施形態のデータ転送装置は、図１６に示すように、第１の実施形態に対し図１６のように第2のパラメータテーブルとして共通テーブルが追加され、パラメータテーブル生成部１２１内に共通テーブル作成部２５６ａが追加されている。
【０１７２】
図１７は、共通テーブルに保持された共通パラメータの参照関係を示す図である。
【０１７３】
ここでは共通テーブルを用いたパラメータテーブルの生成方法について図１７を用いて説明する。
【０１７４】
具体的な転送要求パターンについては前記実施形態１の転送要求Ａ、Ｂ、Ｃを用いるものとし、またパラメータテーブルを参照しての転送開始アドレス生成、転送許可判定、データ転送については第1の実施形態と同様であるので説明は省略する。
【０１７５】
パラメータテーブル生成部１２１は、パラメータテーブル比較器を有し、複数の転送要求パターン受け付けたとき、一旦それぞれのパラメータテーブルを生成し、そのパラメータテーブル群を前記パラメータテーブル比較器にて比較し共通項目を抜き出し共通テーブルを生成する。
【０１７６】
例えば図１７に示すように、特に転送要求Ｂのパラメータテーブルと転送要求Ｃのパラメータテーブルとでは、類似する内容が多いことから転送要求Ｃのパラメータテーブル３は共通テーブルとする。
【０１７７】
ここで転送要求Ａのパラメータテーブル１は、転送起点アドレスとアドレスオフセットと転送順番が同じであるので、パラメータテーブルとして具体的な値としてはデータサイズとデータ転送候補領域情報のみをもち、それ以外は共通テーブル参照とすることでパラメータテーブルのデータ量を削減する。
【０１７８】
同様に転送要求Ｂのパラメータテーブル２は、転送起点アドレスとデータサイズとアドレスオフセットと転送順番が同じであるので、パラメータテーブルとして具体的な値としてはデータ転送候補領域情報のみもち、それ以外は共通テーブル参照とすることでパラメータテーブルのデータ量を削減する。
【０１７９】
同様に転送要求Ｃのパラメータテーブル３は、内容は全て共通テーブルとおなじなので共通テーブル参照という情報のみもつとする。
【０１８０】
このとき、共通テーブルは１つだけでなく複数持ってもよく、その場合共通テーブルには別途識別番号を付与する。通常のパラメータテーブルはその識別番号で参照する共通テーブルを特定する。
【０１８１】
また共通テーブルは、あらかじめ出現頻度の高い項目を集めた共通テーブルを持っていてもよく、また外部から直接指定できるとしてもよい。その場合転送要求パターンで直接共通テーブルを指定してもよい。
【０１８２】
次に第２の実施形態におけるデータ転送装置１ａでの転送順番オプションを設定について説明する。
【０１８３】
転送要求としてこれまで説明してきた転送要求Ａ、Ｂ、Ｃを用いるものとし、パラメータテーブルの生成方法について説明する。具体的なデータ転送動作についてはこれまでと同様として説明を省略する。
【０１８４】
第１の転送順番オプションとして転送並べ替えオプションについて説明する。
【０１８５】
このときパラメータテーブル生成部１２１に更に転送要求受付優先順位情報及び転送並べ替えオプション受付部を有するものとし、例として前記優先順位情報がメモリＸへのwriteアクセスがreadアクセスよりも優先である場合の動作について説明する。
【０１８６】
転送要求をＡ⇒Ｂ⇒Ｃの順番で発行したとする。
【０１８７】
図１８は、第１の転送順番オプションである並べ替えオプションをOFFにしたときの転送の順番を示す模式図である。
【０１８８】
転送並べ替えオプションをOFFにしている場合は、図１８に示すように転送要求Ａ、Ｂ、Ｃの順番にデータ転送をおこなう。
【０１８９】
図１９は、第１の転送順番オプションである並べ替えオプションをONにしたときの転送の順番を示す模式図である。
【０１９０】
転送並べ替えオプションを有効にしている場合は、メモリＸへのwriteアクセスがreadアクセスよりも優先されるため図１９に示すように転送要求Ｃ、Ａ、Ｂの順番に転送をおこなう。
【０１９１】
図２０は、第１の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号に従う転送の順番を示す図である。
【０１９２】
このときのパラメータテーブル生成方法としては、図２０に示すように、パラメータテーブル生成部１２１はあらかじめ優先順位にしたがって転送要求パターンを並べ替え、その並べ替えた順番にしたがってパラメータテーブルを生成し、１から順番に識別番号を付与する。これにより転送開始アドレス生成部１２３はパラメータテーブル識別番号１のパラメータテーブルにかかわるデータ転送を実行し、その後識別番号２、識別番号３と順番にパラメータテーブルを読み出すことで優先順位にしたがったデータ転送をおこなう。
【０１９３】
図２１は、第１の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号およびテーブルポインタに従う転送の順番を示す図である。
【０１９４】
また図２１に示すように、パラメータテーブル生成部１２１は転送要求パターンを受け付けた順番にパラメータテーブルを生成し、１から順番に識別番号を付与する。ここで更にパラメータテーブルポインタ３１４を有し、その中で前記転送要求受付優先順位情報にしたがってパラメータテーブル識別番号をならべる。これにより転送開始アドレス生成部１２３はパラメータテーブルポインタ１を指定することで、識別番号３のパラメータテーブルを読み出すことができる。識別番号３のデータ転送が完了すると、転送開始アドレス生成部１２３は次のパラメータテーブルポインタとして２を指定することで2番目に優先順位の高い識別番号１のパラメータテーブルにかかわるデータ転送をおこない、これを繰り返すことで優先順位にしたがったデータ転送をおこなえるとしてもよい。
【０１９５】
第２の転送順番オプションとして間欠転送オプションについて説明する。
【０１９６】
このときパラメータテーブル生成部１２１に間欠転送オプション受付部を有するものとする。
【０１９７】
またこのときの動作について図２２のデータブロック転送順番図、図２４のパラメータテーブル構成図、図２５の動作フローチャートに従って説明する。
【０１９８】
図２２は、第２の転送順番オプションである間欠転送オプションをONにしたときの転送の順番を示す模式図である。
【０１９９】
図２３Ａは、第２の転送順番オプションである間欠転送オプションをON及び第３の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。
【０２００】
図２４は、第３の転送順番オプションである繰り返し転送をONにしたときのパラメータテーブルおよびオプションテーブルの一例を示す図である。
【０２０１】
図２５は、第３の転送順番オプションである繰り返し転送をONにしたときの動作を示すフローチャートである。同図は図１５とほぼ同様であるが、ステップＳ２５３ａ、Ｓ２４６ａにおいて、パラメータテーブルを参照し、されに更新する点が異なっている。
【０２０２】
動作例として転送要求をＡ⇒Ｂ⇒Ｃの順番で発行したとし、また全ての転送要求で間欠転送オプションが有効になっているとする。
【０２０３】
ここでは転送要求をＡ、Ｂ、Ｃを順番に受け付けるとしているが、同時に受け付けてもよい。
【０２０４】
次にパラメータテーブル読み出しステップＳ２５１で、転送開始アドレス生成部は最初に実行するパラメータテーブル１を読み出す。
【０２０５】
次に転送開始アドレス生成ステップＳ２５３ａで、転送開始アドレス生成部は図２３ＡのＡ−１データブロックを転送するための転送開始アドレスを生成し、転送許可判定部に出力するとともに、転送情報パラメータをパラメータテーブルに、図２４のテーブル１の情報欄３４３に登録する。
【０２０６】
次に領域判定ステップＳ２５４で、転送許可判定がなされデータ転送実施ステップＳ２５５でＡ−１ブロックのデータ転送がおこなわれる。
【０２０７】
Ａ−１ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップＳ２５１に戻り転送要求Ａから転送要求Ｂにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル２を読み出す。このときパラメータテーブル２を読み出すタイミングは、別途外部からの転送開始要因を指定し、前記要因に同期しておこなうとしてもよい。
【０２０８】
次に転送開始アドレス生成ステップ２５３ａで転送開始アドレス生成部は、図２３ＡのＢ−１データブロックを転送するための転送開始アドレスを生成し、転送許可判定部に出力するとともに、図２４のテーブル１の情報欄３４４に登録し、更にそのときの転送回数カウンタのカウント値０を情報欄３４５に登録する。
【０２０９】
次に転送許可判定ステップＳ２５４で、転送許可判定がなされデータ転送実施ステップＳ２５５でＢ−１ブロックのデータ転送がおこなわれる。
【０２１０】
Ｂ−１ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップＳ２５１に戻り転送要求Ｂから転送要求Ｃにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル３を読み出す。このときパラメータテーブル３を読み出すタイミングは、別途外部からの転送開始要因を指定し、前記要因に同期しておこなうとしてもよい。
【０２１１】
次に転送開始アドレス生成ステップＳ２５１で転送開始アドレス生成部は、図２３ＡのＣ−１データブロックを転送するための転送開始アドレスを生成し、転送許可判定部に出力するとともに、図２４のテーブル１の情報欄３４６に登録する。
【０２１２】
次に領域判定ステップＳ２５４で、転送許可判定がなされデータ転送実施ステップＳ２５５でＣ−１ブロックのデータ転送がおこなわれる。
【０２１３】
Ｃ−1ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップＳ２５１に戻り転送要求Ｃから再度転送要求Ａにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル１を読み出す。このときパラメータテーブル１の情報欄３４３も読み出す。ここでパラメータテーブル１を読み出すタイミングは、別途外部からの転送開始要因を指定し、前記要因に同期しておこなうとしてもよい。
【０２１４】
次に一旦受け付けた転送要求を一通り転送し終わったので、最初のパラメータテーブルに戻る。
【０２１５】
転送開始アドレス生成ステップＳ２５３ａで転送開始アドレス生成部は、図２３ＡのＡ−２データブロックを転送するための前記情報欄３４３からよみだした前回転送したときの転送開始アドレスをもとにして次の転送開始アドレスを生成し、転送許可判定部に出力するとともに、図２４のテーブル１の情報欄３４４に再度登録する。
【０２１６】
次に領域判定ステップＳ２５４で、転送許可判定がなされデータ転送実施ステップＳ２５５でＡ−２ブロックのデータ転送がおこなわれる。
【０２１７】
Ａ−２ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップＳ２５１に戻り転送要求Ａから転送要求Ｂにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル２を読み出す。このときパラメータテーブル２の情報欄３４４、３４５も読み出す。
【０２１８】
次に転送開始アドレス生成ステップＳ２５３ａで転送開始アドレス生成部は、図２３ＡのＢ−２データブロックを転送するための前記情報欄３４３からよみだした前回転送したときの転送開始アドレスをもとにして次の転送開始アドレスを生成し、前回転送したときの転送回数カウンタ値をカウンタにセットし１インクリメントさせる。前記転送開始アドレスと前記転送回数カウント値を、図２４のテーブル１の情報欄３４５、３５６に再度登録するとともに、前記転送開始アドレスを転送許可判定部に出力する。
【０２１９】
次に領域判定ステップＳ２５４で、転送許可判定がなされデータ転送実施ステップＳ２５５でＢ-２ブロックのデータ転送がおこなわれる。
【０２２０】
Ｂ−２ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップＳ２５１に戻り転送要求Ｂから転送要求Ｃにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル３を読み出す。このとき情報欄３４６も読み出す。
【０２２１】
次に転送開始アドレス生成ステップＳ２５３ａで転送開始アドレス生成部は、図２３ＡのＣ−２データブロックを転送するための前記情報欄３４６からよみだした前回転送したときの転送開始アドレスをもとにして次の転送開始アドレスを生成し、転送許可判定部に出力するとともに、図２４のテーブル１の情報欄３４６に再度登録する。
【０２２２】
次に領域判定ステップＳ２５４で、転送許可判定がなされデータ転送実施ステップＳ２５５でＣ−２ブロックのデータ転送がおこなわれる。
【０２２３】
Ｃ−２ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップＳ２５１に戻り転送要求Ｃから転送要求Ａにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル１を読み出す。
【０２２４】
以降、同様にしてＡ−３、Ｂ−３、Ｃ−３の転送をおこない転送を完了する。
【０２２５】
本例では全ての転送要求に間欠オプションを設定した場合について説明したが、転送要求Ａ、Ｂ、Ｃそれぞれ個別に間欠転送オプションを設定できるとしてもよい。
【０２２６】
第３の転送順番オプションとして、繰り返し転送について説明する。
【０２２７】
本オプションは、転送許可領域分もしくは転送回数指定分のデータ転送を完了した後、これまでのように転送を終了するのではなく再度転送起点アドレスから転送を繰り返すものである。
【０２２８】
このときパラメータテーブル生成部１２１に繰り返し転送オプション受付部を有するものとする。またこのときの動作について図２３Ａのデータブロック転送順番図、図２４のパラメータテーブル構成図、図２５の動作フローチャートに従うものする。
【０２２９】
動作例として転送要求をＡ⇒Ｂ⇒Ｃの順番で発行したとし、また全ての転送要求で間欠転送オプションと繰り返しオプションが有効になっているとする。
【０２３０】
Ａ−１からＣ−３までの動作は前記第2の転送順番オプションで説明した動作と同じであるので説明を省略する。
【０２３１】
Ａ−２、Ａ−３のデータ転送をおこなう際のデータ転送開始アドレスはテーブル１の情報欄３４３を元に生成していたが、Ａ−３の次のＡ−１のデータ転送をおこなう際のデータ転送開始アドレスは、転送起点アドレスを使用する。
【０２３２】
転送Ｂ−１、Ｃ−１に関しても同様に、再度転送開始アドレスとして転送起点アドレスを使用する。
【０２３３】
図２３Ｂは、第３の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。
【０２３４】
ここで転送オプションはいずれかひとつのみ設定してもよいし、全て同時に設定してもよい。また第２の転送オプション及び第３の転送オプションは全ての転送要求に対して有効でもよいし、転送要求ごとに設定してもよい。
【０２３５】
また更にパラメータテーブル識別番号更新規則を有し、Ａ−３、Ｂ−３、Ｃ−３まで転送を完了すると、再度同じパラメータテーブルを読み出すのではなく、前記パラメータテーブル識別番号更新規則にしたがって参照するパラメータテーブルを変更するとしてもよい。
【０２３６】
図２６は、変形例におけるデータ転送装置１ｂの構成を示すブロック図である。
【０２３７】
このデータ転送装置は、図２のパラメータテーブル生成部１２１、パラメータテーブル保持部１２２の代わりにパラメータテーブル生成部１２１ａ、パラメータテーブル保持部１２２ａを備える点がことなる。パラメータテーブル保持部１２２ａは、第１の転送要求をそのまま保持する。パラメータテーブル生成部１２１ａは、読み出し部１２３ａを有し、読み出し部１２３ａによって読み出された第１の転送要求から第２の転送要求を生成し、転送部１２０に送る。
【０２３８】
この構成によれば、第１の転送要求を保持するので、省略されたパラメータを保持しない分だけ回路規模の増加を抑えることができる。また、読み出し手段から前記判定手段および前記生成手段を介して転送手段に送られるまでに、第１の転送要求を第２の転送要求にリアルタイムに補完および生成することができる。
【産業上の利用可能性】
【０２３９】
本発明にかかるデータ転送装置は、データ転送の基点アドレスを生成するアドレス生成装置を有し、複数のＤＭＡ転送要求を発行する処理をおこなう場合に有用である。
【図面の簡単な説明】
【０２４０】
【図１】従来技術におけるデータ転送装置の概略構成を示すブロック図である。
【図２】第１の実施形態におけるデータ転送装置の構成を示すブロック図である。
【図３】第１または第２の転送要求を示す説明図である。
【図４】パラメータテーブル保持部の一例を示す図である。
【図５】転送要求パターンＡのデータ配置を示す図である。
【図６】転送要求パターンＡに含まれるパラメータを示す図である。
【図７】転送要求パターンＡに対応するパラメータテーブルを示す図である。
【図８】転送要求パターンＢのデータ配置を示す図である。
【図９】転送要求パターンＢに含まれるパラメータを示す図である。
【図１０】転送要求パターンＢに対応するパラメータテーブルを示す図である。
【図１１】転送要求パターンＣのデータ配置を示す図である。
【図１２】転送要求パターンＣに含まれるパラメータを示す図である。
【図１３】転送要求パターンＣに対応するパラメータテーブルを示す図である。
【図１４Ａ】パラメータテーブル生成処理を示すフローチャートである。
【図１４Ｂ】パラメータ補完処理を示すフローチャートである。
【図１５】パラメータテーブルに基づく転送処理を示すフローチャートである。
【図１６】第２の実施形態におけるパラメータテーブル保持部の一例を示す図である。
【図１７】共通テーブルに保持された共通パラメータの参照関係を示す図である。
【図１８】第１の転送順番オプションである並べ替えオプションをOFFにしたときの転送の順番を示す模式図である。
【図１９】第１の転送順番オプションである並べ替えオプションをONにしたときの転送の順番を示す模式図である。
【図２０】第１の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号に従う転送の順番を示す図である。
【図２１】第１の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号およびテーブルポインタに従う転送の順番を示す図である。
【図２２】第２の転送順番オプションである間欠転送オプションをONにしたときの転送の順番を示す模式図である。
【図２３Ａ】第２の転送順番オプションである間欠転送オプションをON及び第３の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。
【図２３Ｂ】第３の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。
【図２４】第３の転送順番オプションである繰り返し転送をONにしたときのパラメータテーブルおよびオプションテーブルの一例を示す図である。
【図２５】第３の転送順番オプションである繰り返し転送をONにしたときの動作を示すフローチャートである。
【図２６】変形例におけるデータ転送装置の構成を示すブロック図である。
【符号の説明】
【０２４１】
１  データ転送装置
１２０  転送部
１２１  パラメータテーブル生成部
１２２  パラメータテーブル保持部
１２３  転送開始アドレス生成部
１２３ａ  読み出し部
１２４  転送許可判定部
１２５  データ転送制御部
【図１】
2008021257.tif 000003
【図２】
2008021257.tif 000004
【図３】
2008021257.tif 000005
【図４】
2008021257.tif 000006
【図５】
2008021257.tif 000007
【図６】
2008021257.tif 000008
【図７】
2008021257.tif 000009
【図８】
2008021257.tif 000010
【図９】
2008021257.tif 000011
【図１０】
2008021257.tif 000012
【図１１】
2008021257.tif 000013
【図１２】
2008021257.tif 000014
【図１３】
2008021257.tif 000015
【図１４Ａ】
2008021257.tif 000016
【図１４Ｂ】
2008021257.tif 000017
【図１５】
2008021257.tif 000018
【図１６】
2008021257.tif 000019
【図１７】
2008021257.tif 000020
【図１８】
2008021257.tif 000021
【図１９】
2008021257.tif 000022
【図２０】
2008021257.tif 000023
【図２１】
2008021257.tif 000024
【図２２】
2008021257.tif 000025
【図２３Ａ】
2008021257.tif 000026
【図２３Ｂ】
2008021257.tif 000027
【図２４】
2008021257.tif 000028
【図２５】
2008021257.tif 000029
【図２６】
2008021257.tif 000030