JP2008021257A - データ転送装置 - Google Patents

データ転送装置 Download PDF

Info

Publication number
JP2008021257A
JP2008021257A JP2006194730A JP2006194730A JP2008021257A JP 2008021257 A JP2008021257 A JP 2008021257A JP 2006194730 A JP2006194730 A JP 2006194730A JP 2006194730 A JP2006194730 A JP 2006194730A JP 2008021257 A JP2008021257 A JP 2008021257A
Authority
JP
Japan
Prior art keywords
transfer
data
parameter
request
transfer request
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
Application number
JP2006194730A
Other languages
English (en)
Inventor
Takashi Furuta
岳志 古田
Kazuji Kurata
和司 蔵田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006194730A priority Critical patent/JP2008021257A/ja
Publication of JP2008021257A publication Critical patent/JP2008021257A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】CPUの処理負荷をかけず、かつ、回路規模を増加させないデータ転送装置を提供する。
【解決手段】本発明のデータ転送装置は、複数のパラメータを含み、データ転送を指示する第1の転送要求を受け付け、受け付けられた第1の転送要求にパラメータが省略されているか否かを判定し、省略されていると判定された場合に、第1の転送要求に対して省略されたパラメータを補完することによって第2の転送要求を生成するパラメータテーブル生成部121と、生成された第2の転送要求を保持するパラメータテーブル保持部122と、第2の転送要求に従ってデータ転送を行う転送部120とを備える。
【選択図】図2

Description

本発明は、DMA(Direct Memory Access)によるデータ転送装置に関し、特に矩形領域のデータを転送するデータ転送装置に関する。
従来、コンピュータなどの装置において、CPU(Central Processing Unit)に負荷をかけることなくデータ転送を行うため、DMA(Direct Memory Access)装置が用いられている。DMA装置では、連続したアドレスの領域にのみアクセスが可能であるという制限があったが、新たにアドレス更新情報を保持するレジスタをもつことで、不連続のアドレスを生成すること可能にする技術がある(例えば、特許文献1、特許文献2参照)。
ここで特許文献1に示すデータ転送装置について説明する。図1は、そのデータ転送装置の概略構成を示すブロック図である。データ転送装置100は、転送開始アドレス保持レジスタ101と、転送開始アドレス更新回数保持レジスタ102と、ブロック長保持レジスタ103と、基点アドレス保持レジスタと104と、基点アドレス更新回数保持レジスタ105と、オフセット値保持レジスタ106と、制御回路107とを備える。
転送開始アドレス保持レジスタ101は、不連続なアドレスに複数のデータを転送するために、データ転送の転送開始アドレスを保持する。転送開始アドレス更新回数保持レジスタ102は、前記転送開始アドレス保持レジスタに保持された転送開始アドレスを更新する回数を保持する。ブロック長保持レジスタ103は、データ転送のブロック長を保持する。基点アドレス保持レジスタ104は、データ転送のアドレスを算出する基点となる基点アドレスを保持する。基点アドレス更新回数保持レジスタ105は、前記基点アドレス保持レジスタに保持された基点アドレスを更新する回数を保持する。オフセット値保持レジスタ106は、アドレスをオフセットするオフセット値を保持する。制御回路107は、基点アドレスから指定された更新回数分、アドレスオフセット値を加算しながら所定のデータサイズのデータを転送する。さらに、基点アドレスにオフセット値を加算することによってアドレスを更新し、所定のデータサイズのデータを転送する。この更新は、指定された更新回数分なされる。
このように、転送開始アドレスの更新を指定された回数分繰り返すことで、不連続なアドレスからのデータ転送をおこなうことが可能となる。
特開2002−82897号 特開平8−153062号
しかしながら、複数種類の転送要求のデータ転送をおこなうためには、複数のレジスタ(図1の保持部101〜106)を複数セット持たなくてはならず、より多くの保持資源が必要になり実装面積が大きくなってしまう。
複数のレジスタを1セットしか持たない場合には、転送切り替えのオーバーヘッドが大きくなり効率的なデータ転送がおこなえない。言い換えれば、CPUによる転送要求発行の処理負荷が大きくなり、データ転送の効率もCPUの処理能力に依存するので期待できない。
例えば、画像データをMPEG等により符号化・復号化処理では、画像データを一度に転送するのではなく、画像ブロックを要求する転送要求の複数個をパイプライン的に処理し、それを規則的に繰り返す処理になることが多い。しかし前記データ転送装置をもちいると1つの画像ブロックを転送するたびに転送要求を切り替えたいような場合、1つのデータブロックを転送するための設定を毎回おこなわなければならずCPUの負荷を軽減することができない。
本発明は、CPUの処理負荷をかけず、かつ、回路規模を増加させないデータ転送装置を提供することを目的とする。
上記課題を解決するために本発明は、複数のパラメータを含み、データ転送を指示する第1の転送要求を受け付ける受け付け手段と、受け付けられた第1の転送要求にパラメータが省略されているか否かを判定する判定手段と、省略されていると判定された場合に、第1の転送要求に対して省略されたパラメータを補完することによって第2の転送要求を生成する生成手段と、第2の転送要求に従ってデータ転送を行う転送手段とを備える。
この構成によれば、第1の転送要求のパラメータの一部を省略できるのでCPUの処理負荷を低減することができる。第1および第2の転送要求を保持する保持部を備えない場合には、データ転送装置の回路規模を低減することができる。第1の転送要求を保持する保持部を備える場合には、省略されたパラメータを保持しない分だけ回路規模の増加を抑えることができる。第2の転送要求を保持する保持部を備える場合には、従来と比べ回路規模の増加を抑えることができる。
ここで、前記第1の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスのうちの少なくとも1つを含み、前記第2の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスを含み、前記生成手段は、転送開始アドレスの属するメモリ種別、またはデフォルト値に従って省略されているパラメータを補完するようにしてもよい。
この構成によれば、省略されたパラメータを容易に補完することできる。
ここで、前記データ転送装置は、さらに、生成手段によって生成された第2の転送要求を保持する保持手段と、前記保持手段から第2の転送要求を読み出す読み出し手段とを備え、前記転送手段は、読み出し手段によって読み出された第2の転送要求に従ってデータ転送を行うようにしてもよい。
ここで、前記読み出し手段は、外部からのトリガー信号に従って前記保持手段から第2の転送要求を読み出すようにしてもよい。
この構成によれば、前記トリガー信号に同期して、第2の転送要求によるデータ転送を実行することができる。
ここで、前記保持手段は、複数の第2の転送要求に共通するパラメータを保持する共通テーブルと、第2の転送要求に個別のパラメータを保持する個別テーブルとを保持するようにしてもよい。
この構成によれば、複数の2の転送要求を保持する保持手段の回路規模を低減することができる。
ここで、前記保持手段は、電気的に不揮発な前記共通テーブルを保持するようにしてもよい。
この構成によれば、例えば共通テーブルをROM(Read Only Memory)化しておくことにより、回路規模の低減を容易にすることができる。
ここで、前記データ転送装置は、さらに、外部からの入力に従って前記共通テーブルを保持手段内に作成する作成手段を備えるようにしてもよい。
この構成によれば、共通テーブルを動的に変更できるので、データ転送装置の用途(例えばMPEG−2、MPEG−4、MPEG−4AVC等)に応じて共通テーブルを最適化することができる。
ここで、前記データ転送装置は、さらに、第2の転送要求に含まれるパラメータの出現頻度に基づいて前記共通テーブルを保持手段内に作成する作成手段を備えるようにしてもよい。
この構成によれば、共通テーブルを適応的に最適化することができる。
ここで、前記データ転送装置は、さらに、受け付け手段によって受け付けられた第1の転送要求を保持する保持手段と、前記保持手段から第1の転送要求を読み出す読み出し手段とを備え、読み出し手段によって読み出された第1の転送要求は、前記判定手段および前記生成手段を介して前記転送手段に送られるようにしてもよい。
この構成によれば、保持手段は第1の転送要求を保持するので、省略されたパラメータを保持しない分だけ回路規模の増加を抑えることができる。また、読み出し手段から前記判定手段および前記生成手段を介して転送手段に送られるまでに、第1の転送要求を第2の転送要求にリアルタイムに補完および生成することができる。
ここで、前記第2の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、回数を示すパラメータとを含み、前記転送手段は、前記回数に達するまで、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返すようにしてもよい。
この構成によれば、CPUは回数を示すパラメータを用いて矩形領域データの転送要求を生成することができる。
ここで、前記第2の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、領域のサイズを示すパラメータとを含み、前記転送手段は、前記転送手段は、前記領域の範囲内で、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返すようにしてもよい。
この構成によれば、CPUは領域のサイズを示すパラメータを用いて矩形領域データの転送要求を生成することができる。
ここで、前記データ転送装置は、さらに、複数の第2の転送要求を保持する保持手段を備え、繰り返し転送を指定するオプションパラメータを保持し、前記転送手段は、オプションパラメータにより繰り返し転送が指定されたとき、複数の第2の転送要求に従うデータ転送を繰り返すようにしてもよい。
この構成によれば、オプションパラメータの指定によりデータ転送装置は繰り返し転送を行うので、CPUおける転送要求を発行する回数を減らすことができ、処理負荷を軽減させることができる。
ここで、前記保持手段は、さらに、繰り返し転送の回数を指定するオプションパラメータを保持し、前記転送手段は、オプションパラメータにより繰り返し転送の回数、複数の第2の転送要求に従うデータ転送を繰り返すようにしてもよい。
ここで、前記データ転送装置は、さらに、複数の第2の転送要求を保持する保持手段を備え、前記各第2の転送要求は、複数の部分データの転送を指示し、前記転送手段は、複数の第2の転送要求の部分データをインターリーブしながら転送するようにしてもよい。
この構成によれば、オプションパラメータの指定によりデータ転送装置はインターリーブ転送を行うので、CPUおける転送要求を発行する回数を減らすことができ、処理負荷を軽減させることができる。
ここで、前記転送手段は、部分データを転送後、現在の第2の転送要求の転送アドレスを保持手段に退避させ、次の第2の転送要求の転送アドレスを保持手段から復帰させ、復帰させた転送アドレスに従って部分データを転送するようにしてもよい。
この構成によれば、インターリーブ転送を容易に実現することができる。
ここで、前記生成手段は、第1の転送要求が受け付け手段によって受け付けられた順番の昇順または降順で第2の転送要求に識別番号を付与し、前記転送手段は、前記識別番号の順番に従ってデータ転送を実行するようにしてもよい。
この構成によれば、複数の第2の転送要求の実行順を容易に管理することができる。
ここで、前記受け付け手段は、さらに、第1転送要求の優先順位を受け付け、前記生成手段は、前記優先順位に従って、第2の転送要求の順位を決定するようにしてもよい。
この構成によれば、CPUが優先順位を指定することによって、第2の転送要求の実行順を容易に入れ替えることができる。
ここで、前記生成手段は、第2の転送要求の順位を示す順位テーブル作成するようにしてもよい。
また、本発明のデータ転送方法は、複数のパラメータを含み、データ転送を指示する第1の転送要求を受け付ける受け付けステップと、受け付けられた第1の転送要求にパラメータが省略されているか否かを判定する判定ステップと、省略されていると判定された場合に、第1の転送要求に対して省略されたパラメータを補完することによって第2の転送要求を生成する生成ステップと、第2の転送要求に従ってデータ転送を行う転送ステップとを有する。
上記の各構成によれば、第1の転送要求に対してパラメータを補完するので、CPUはパラメータを省略した第1の転送要求を発行するだけでデータ転送が可能になる。また指定されたサイズのデータを転送する毎に、その時使用した転送開始アドレスなどの転送情報をパラメータテーブルに退避することで、次に実行する転送要求を切り替えることを可能にする。これにより、CPUが転送毎にデータ転送要求パターンを生成する必要がなくなり負荷を削減することができる。また複数種類のコマンドの共通情報を検出し、その情報を複数のコマンドが参照できるようにすることでコマンドを保持する手段の実装面積を小さくすることができる。
以下本発明の実施形態について、図面を参照しながら説明する。
<第1の実施形態>
本実施の形態におけるデータ転送装置は、複数のパラメータを含み、データ転送を指示する第1の転送要求を受け付け、受け付けられた第1の転送要求にパラメータが省略されているか否かを判定し、省略されていると判定された場合に、第1の転送要求に対して省略されたパラメータを補完することによって第2の転送要求を生成し、生成された第2の転送要求に従ってデータ転送を行うよう構成される。これにより、CPUの処理負荷の低減と、データ転送装置の回路規模を低減とを図っている。
以下、本発明の実施形態について説明する。
図2は、本発明による実施形態の構成を示すブロック図である。図2においてデータ転送装置1は、転送部120と、パラメータテーブル生成部121と、パラメータテーブル保持部122とを備える。転送部120は、読み出し部123aを有する転送開始アドレス生成部123と、転送終了判定部124と、データ転送制御部125とを備える。第1の転送要求は、パラメータとして、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスの全部または少なくとも1つを含み、以下では、転送要求パターンとも呼ぶ。第2の転送要求は、パラメータとして、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスを含む。パターンテーブルと呼ぶ。
パラメータテーブル生成部121は、第1の転送要求(転送要求パターン)126を受け付け、受け付けた第1の転送要求(転送要求パターン)126にパラメータが省略されているか否かを判定し、省略されていると判定された場合に、第1の転送要求(転送要求パターン)に対して、省略されたパラメータを補完することによって第2の転送要求(テーブルパターン)を生成する。
パラメータテーブル保持部122は、パラメータテーブル生成部121によって生成された第2の転送要求(パラメータテーブル)を保持する。
転送部120内の転送開始アドレス生成部123中の読み出し部123aは、パラメータテーブル保持部122から第2の転送要求(テーブルパターン)を読み出す。なお、この読み出しは、大部からの転送開始トリガー信号128と同期していてもよい。転送開始トリガー信号128は、例えば、画像符号化・復号化におけるマクロブロックの処理タイミングを示す。
転送開始アドレス生成部123は、読み出し部123aに読み出された第2の転送要求(パラメータテーブル)を参照し転送開始アドレスを順次生成する。なお、1次元配列データ及び2次元配列データを転送するためのアドレス演算方法は本発明に関係なくまた周知の技術で構成可能であるため省略している。
転送終了判定部124は、転送開始アドレス生成部123によって順次生成される転送開始アドレスが転送許可範囲内か否か(転送終了でないか転送終了か)を判定する。
データ転送制御部125は、前記転送終了判定部124で転送許可と判定された転送開始アドレスをもちいて順次メモリアクセスをおこなう。
図3は、第1の転送要求(転送要求パターン)または第2の転送要求(パラメータテーブル)を示す説明図である。
同図の転送要求A〜Cは、それぞれ第1の転送要求(転送要求パターン)または第2の転送要求(パラメータテーブル)である。両者はパラメータが省略されていても実質的には同じである。同図ではメモリXと、転送要求A〜Cとを模式的に示している。
第1の転送要求Aは、メモリXに対して3つの1次元データ群をA−1、A−2、A−3の順番で読み出すことを要求する。転送要求Bは、3つの2次元データ群をB−1、B−2、B−3の順番で読み出すことを要求する。転送要求Cを3つの2次元データ群をC−1、C−2、C−3の順番で書き込むことを要求する。ここでのメモリXは16バイト×48ラインの容量とし、アドレスは図3の130で示す通りとする。
次に転送要求Aについてのパラメータテーブル生成およびデータ転送動作を説明する。
図5は、転送要求Aによって指定されるデータを示す説明図である。
ここではメモリXに対しデータサイズが16バイトの1次元データブロック群をメモリのアドレス0x000からアドレスオフセットを256バイトとして、768バイト分の範囲内でアドレスをインクリメントしながら転送するものとする。
ここで転送要求パターンについて説明する。
図6は、転送要求A(ここでは第1の転送要求)に含まれるパラメータを示す図である。この転送要求パターンは、パラメータ161〜165を含み、パラメータが省略されていない例である。
パラメータ161は、1回目の転送開始アドレスである転送起点アドレスを示し、ここでは0x000とする。
パラメータ162は、1回に転送するデータサイズを示し、16バイトとする。
パラメータ163は、データ転送候補領域のサイズ(データ転送の対象となる領域のサイズ)を示し、768バイトとする。
パラメータ164は、前回の転送開始アドレスから次回の転送開始アドレスへのオフセットアドレスを示し、256バイトとする。
パラメータ165は、転送の順番を示し、アドレスオフセット加算方向とする。
パラメータR/Wは、読み出しか書き込みかを示し、R(読み出し)とする。
このパラメータテーブルの生成について詳しく説明する。
図14Aは、パラメータテーブル生成部121におけるパラメータテーブル生成処理を示すフローチャートである。
最初に、転送要求判定ステップS240において転送要求パターンAの入力があるかないかが判定される。
入力がある場合、転送要求パターン入力ステップS241において図6に示す転送要求パターン160がパラメータテーブル生成部121に受け付けられる。
省略判定ステップS242において、受け付けられた転送要求パターンにパラメータの省略があるか否かを判定する。図6の転送要求パターンでは省略されていないので、ステップS244パラメータの補完処理をすることなく、ステップ243に進む。
次にパラメータテーブル生成ステップS243において、パラメータテーブル生成部121に入力された前記転送要求パターンからパラメータテーブルを生成する。
図7は、転送要求パターンAに対応するパラメータテーブル(第2の転送要求)を示す図である。このパラメータテーブルは、図6に対応するパラメータを含む。ただし、一部のパラメータは、転送開始アドレス生成部123に適した表記に変換されている。
図7において、パラメータ171は、転送起点アドレスを示し、転送要求パターン161で指定されている0x000を設定する。
パラメータ172は、データサイズを示し、転送要求パターン162で指定されている16バイトを設定する。
パラメータ173は、転送候補領域を示し、転送要求パターン163で指定されている768バイトから最終アドレスを求め0x2ffを設定する。
パラメータ174は、アドレスオフセットを示し、転送要求パターン164で指定されている256バイトからアドレス加算値となる0x100を設定する。
パラメータ17は、転送順番175を示し、転送候補領域165で指定されているオフセット加算方向を設定する。
このようにパラメータテーブル生成部121は、転送要求パターンでデータ量を与えられたものを、アドレスに変換してパラメータテーブルとしてもよい。
またアドレスオフセットを加算するとしてもよいし、減算するとしてもよい。減算する場合は転送要求パターン165でオフセット減算方向を入力する。これによりパラメータテーブル175はオフセット減算方向に設定するものとする。
次にパラメータテーブル登録ステップS245において、前記生成したパラメータテーブルに識別番号として1を付与しパラメータテーブル保持部122に登録する。このとき識別番号は1以外でもよい。
続いて、パラメータテーブル保持部122に登録されたパラメータテーブルに基づくデータ転送動作について説明する。
図15は、パラメータテーブルに基づく転送処理を示すフローチャートである。
まず、トリガー信号判定ステップS250において、トリガー信号の有無を判定する。トリガー信号が入力されたときパラメータテーブル読み出しステップS251において、転送開始アドレス生成部123はパラメータテーブル1を読み出す。なお、トリガー信号の変わりに前記パラメータテーブルが登録されたことを要因として読み出してもよい。
このとき読み出すパラメータテーブルの識別番号は固定順序(例えば1から順番にインクリメント)でもよいし、パラメータテーブル生成部121もしくはパラメータテーブル保持部122から登録したパラメータテーブルの識別番号を別途受け取って、それにしたがって読み出してもよい。
次に、データ転送候補領域判定ステップS52において、データ転送候補領域が領域指定であるか回数指定であるかを判定する。図7では、領域指定であるので、ステップS253に進む。
次に転送開始アドレス生成ステップS253において、転送開始アドレス生成部は前記読み出したパラメータテーブルから転送開始アドレスを生成する。このとき1回目の転送なので転送起点アドレス171を転送開始アドレスとする。
次に転送許可判定ステップS254において、転送終了判定部124はアドレス比較器を有し前記転送開始アドレスが前記転送候補領域173の範囲内かどうかを判定する。このとき転送候補領域範囲内であるのでデータ転送が許可される。
このとき転送開始アドレス生成部で転送開始アドレスだけでなく、転送終了アドレスも算出し、転送開始アドレスと転送終了アドレスの両方が転送候補領域内かどうかを判定するとしてもよい。
次にデータ転送実施ステップS255において、前記転送開始アドレスを基にデータ転送制御部125は1データブロック分のデータ転送を実施する。前記データ転送が完了すると再度転送開始アドレス生成フローに遷移する。次の転送開始アドレスとして、パラメータテーブルのアドレスオフセット174が0x100、転送順番175がオフセット加算方向であることから、前回のデータ転送の転送開始アドレスから次のアドレス0x100を算出し2回目の転送の転送開始アドレスとする。
前記領域判定ステップS254と同様に前記転送開始アドレスを判定し、範囲内であるのでデータ転送が許可される。前記データ転送実施ステップS255と同様に、前記転送開始アドレスを基に2回目のデータブロックの転送をおこなう。また3回目のデータ転送についても2回目の転送と同様にアドレス生成、転送許可判定、データ転送をおこなう。
同様にして4回目のデータ転送の転送開始アドレスを生成する。このとき転送開始アドレス0x300は、転送許可判定部による判定をおこなうと範囲候補領域外であることから4回目の転送はおこなわず、転送終了ステップS259に遷移し転送要求Aのデータ転送を終了する。
次に転送要求Bのデータ転送動作を図14の動作フローチャートに従って説明する。
まず転送要求パターンについて説明する。
図8は、転送要求パターンAによって指定されるデータを示す説明図である。
データ転送Bで転送するデータブロックの構成を図8に示す。
メモリXに対しデータサイズが16バイト×16ラインのデータブロック群をメモリアドレス0x000からデータブロック3つ分転送開始アドレスをインクリメントしながら転送するものとする。
図9は、転送要求パターンBに含まれるパラメータテーブルを示す図である。
最初に、転送要求パターン入力ステップS241として図9に示す転送要求パターン190をパラメータテーブル生成部121に入力する。
パラメータ191は、転送起点アドレスを示し、0x000とする。
パラメータ192は、1回に転送するデータサイズを示し、16バイト×16ラインとする。
パラメータ193は、データ転送候補領域を示し、回数指定で3とする。
パラメータ194は、アドレスオフセットを示し、連続とする。
パラメータ195は、転送順番を示し、オフセットアドレス加算方向とする。
次にパラメータテーブル生成ステップS243において、パラメータテーブル生成部に入力された前記転送要求パターンからパラメータテーブルを生成する。
図10は、転送要求パターンBに対応するパラメータテーブルを示す図である。
パラメータ201は、転送起点アドレスを示し、転送要求パターン191で指定されている0x000を設定する。
パラメータ202は、データサイズ202を示し、転送要求パターン192で設定されている16バイト×16ラインを設定する。
パラメータ203は、転送候補領域を示し、転送要求パターン193で指定されている転送回数指定3を設定する。
パラメータ204は、アドレスオフセットを示し、転送要求パターン194で連続アドレスが指定されているので、データサイズ情報から算出して、0x100を設定する。
パラメータ205は、転送順番を示し、転送要求パターン195で指定されているオフセット加算方向を設定する。
このようにパラメータテーブル生成部121は、転送要求パターンのアドレスオフセットとして連続が指定されている場合、転送するデータサイズから具体的なアドレスオフセットパラメータテーブルを生成してもよい。また転送候補領域として転送回数を指定してもよい。
次にパラメータテーブル登録ステップS245において、前記生成したパラメータテーブルに識別番号として2を付与しパラメータテーブル保持部122に登録する。
ここで転送要求Aのパラメータテーブル識別番号1からインクリメントした値を付与したが、既に登録済みの他のパラメータテーブルの識別信号と重ならなければ任意の番号を付与してもよい。
続いて、パラメータテーブルに基づく転送処理を図15に示すフローチャートに従って説明する。まず、トリガー信号判定ステップS250において、トリガー信号の有無を判定する。トリガー信号が入力されたときパラメータテーブル読み出しステップS251において、転送開始アドレス生成部123はパラメータテーブル1を読み出す。なお、トリガー信号の変わりに前記パラメータテーブルが登録されたことを要因として読み出してもよい。
このとき読み出すパラメータテーブルの識別番号は固定順序(例えば1から順番にインクリメント)でもよいし、パラメータテーブル生成部121もしくはパラメータテーブル保持部122から登録したパラメータテーブルの識別番号を別途受け取って、それにしたがって読み出してもよい。
次に、データ転送候補領域判定ステップS52において、データ転送候補領域が領域指定であるか回数指定であるかを判定する。図7では、回数指定であるので、ステップS256に進む。
次に転送開始アドレス生成ステップS256において、転送開始アドレス生成部は前記読み出したパラメータテーブルから転送開始アドレスを生成する。このとき1回目の転送なので転送起点アドレス201を転送開始アドレスとする。
さらに、データ転送実施ステップS257において、前記転送開始アドレスを基にデータ転送制御部125は1データブロック分のデータ転送を実施する。前記データ転送が完了すると前記転送回数カウンタを1インクリメントする。
次に回数判定ステップS258において、転送終了判定部124は転送回数カウンタを有し前記転送回数カウンタのカウント値が前記転送候補領域203の指定値よりも小さいかどうかを判定する。このとき転送回数カウンタの初期値は0とする。このとき転送回数指定値よりも小さいのでデータ転送は許可される。
ここで転送回数カウンタは1ずつアップカウントするものとする。また転送回数カウンタの初期値を転送候補領域203の指定値にしてもよく、そのときカウンタは1ずつダウンカウントし、カウント値が0かどうかで転送許可判定をおこなうものとする。
再度転送開始アドレス生成フローに遷移する。次の転送開始アドレスとして、パラメータテーブルのアドレスオフセット204が0x100、転送順番がオフセット加算方向であることから、前回のデータ転送開始アドレスから次の転送開始アドレス0x100を算出し2回目の転送の転送開始アドレスとする。
前記回数判定ステップS258と同様に前記転送回数カウンタのカウント値を判定し、指定値よりも小さいのでデータ転送が許可される。
前記データ転送実施ステップS257と同様に、前記転送開始アドレスを基に2回目のデータブロックの転送をおこなう。
また3回目のデータ転送についても2回目の転送と同様に転送開始アドレス生成、転送許可判定、データ転送、転送回数カウント値インクリメントをおこなう。
同様にして4回目のデータ転送の転送開始アドレスを生成し、転送許可判定部による判定をおこなうと転送回数カウント値が3であることから転送回数指定203と一致するので4回目の転送はおこなわず、転送終了ステップS259に遷移し転送要求Bのデータ転送を終了する。
ここで動作フローチャートとして、図15ように転送許可判定をデータ転送実施、転送回数カウントアップ後におこない、転送回数カウント値が転送回数指定203と一致すると転送終了ステップS259に遷移し転送要求Bのデータ転送を終了するとしてもよい。
次に転送要求Cのデータ転送動作を図14A、図14B、図15の動作フローチャートに従って説明する。
まず、データ転送Cで転送するデータブロックの構成を図11に示す。
最初に、転送要求パターン入力ステップS241として図12に示す転送要求パターン220をパラメータテーブル生成部121に入力する。
ここで図12の転送要求パターンについて説明する。
メモリXに対しデータサイズが16バイト×16ラインのデータブロック群をメモリの先頭アドレスから容量の許す限りアドレスをインクリメントしながら転送するものとする。
パラメータ221は、データ転送候補領域を示し、メモリXとする。
パラメータ222は、1回に転送するデータサイズを示し、16バイト×16ラインとする。
パラメータ223は、転送開始アドレスのアドレスオフセットを示し、連続とする。
図13は、転送要求パターンCに対応するパラメータテーブルを示す図である。
パラメータ231は、転送起点アドレスを示し、転送要求パターン221でメモリXが指定されているので、メモリ先頭アドレスである0x000を設定する。
パラメータ232は、2ータサイズ232を示し、転送要求パターン222で設定されている16バイト×16ラインを設定する。
パラメータ233は、転送候補領域233を示し、転送要求パターン221でメモリXが指定されているので、メモリXの容量である16バイト×48ラインを設定する。このときメモリXのサイズ情報を持っているものとする。
パラメータ234は、アドレスオフセットを示し、転送要求パターン223で連続アドレスが指定されており、データサイズ222で16バイト×16ラインが指定されていることから計算して0x100を設定する。
パラメータ235は、転送順番を示し、転送要求パターン221でメモリXが指定されているので、先頭アドレスからアドレスインクリメントしながら転送すると判断し、オフセット加算方向を設定する。
次にパラメータテーブル生成ステップS243において、パラメータテーブル生成部に入力された前記転送要求パターンからパラメータテーブルを生成する。
図14Bは、ステップS253に示したパラメータテーブル補完処理の一例を示すフローチャートである。
アドレス判定ステップS244aにおいて、アドレスを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはアドレス予測ステップS244bにおいてアドレスを予測し、予測したアドレスを補間する。
データサイズ判定ステップS244cにおいて、データサイズを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはメモリ種別判定ステップS244dにおいてメモリ種別を判定し、メモリ種別がローカルメモリであればステップS244eにおいてデータサイズを16バイトに補完し、メモリ種別がフレームメモリであればステップS244fにおいてデータサイズを256バイトに補完する。
領域指定判定ステップS244gにおいて、アドレスを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはステップS244hにおいて領域指定を256バイトに補完する。
オフセット判定ステップS244iにおいて、オフセットアドレスを示すパラメータが存在するか省略されているかを判定する。省略されている場合にはステップS244jにおいてオフセットアドレスを256バイトに補完する。
転送方向判定ステップS244kにおいて、転送方向を示すパラメータが存在するか省略されているかを判定する。省略されている場合にはステップS244lにおいて転送方向をオフセット加算方向に補完する。
このようにパラメータテーブル生成部121は、転送候補領域として特定のメモリが指定された場合は、先頭アドレスからオフセット加算方向に転送するとして、情報を補完してパラメータテーブルを作成することで転送要求パターンをより少ない設定にすることができるとしてもよい。
また転送候補領域としてメモリ容量を領域指定としてが、データサイズ及びアドレスオフセット情報から転送可能回数を算出し、転送回数指定としてパラメータテーブルに登録してもよい。
次にパラメータテーブル登録ステップS245において、前記生成したパラメータテーブルに識別番号として3を付与しパラメータテーブル保持部122に登録する。
ここで転送要求Bのパラメータテーブル識別番号2からインクリメントした値を付与したが、既に登録済みの他のパラメータテーブルの識別信号と重ならなければ任意の番号を付与してもよい。
続いて、パラメータテーブルに基づく転送処理を図15に示すフローチャートに従って説明する。まず、トリガー信号判定ステップS250において、トリガー信号の有無を判定する。トリガー信号が入力されたときパラメータテーブル読み出しステップS251において、転送開始アドレス生成部123はパラメータテーブル1を読み出す。
このとき読み出すパラメータテーブルの識別番号は固定順序(例えば1から順番にインクリメント)でもよいし、パラメータテーブル生成部121もしくはパラメータテーブル保持部122から登録したパラメータテーブルの識別番号を別途受け取って、それにしたがって読み出してもよい。
また、パラメータテーブルを読み出すのは、パラメータテーブルが登録されたことを要因としても良いし、パラメータテーブル1に関するデータ転送がおこなわれている場合は、その転送が完了したことを要因としてもよいし、外部から転送開始トリガー信号128を受け取りそれに同期してもよい。
次に転送開始アドレス生成ステップS253において、転送開始アドレス生成部は前記読み出したパラメータテーブルから転送開始アドレスを生成する。このとき1回目の転送なので転送起点アドレス231を転送開始アドレスとする。
次に領域判定ステップS254において、転送終了判定部124はアドレス比較器を有し前期転送開始アドレスが前記転送候補領域233の範囲内かどうかを判定する。このとき転送候補領域範囲内であるのでデータ転送が許可される。
このとき転送開始アドレス生成部で転送開始アドレスだけでなく、転送終了アドレスも算出し、転送開始アドレスと転送終了アドレスの両方が転送候補領域内かどうかを判定するとしてもよい。
次にデータ転送実施ステップS255において、前記転送開始アドレスを基にデータ転送制御部125は1データブロック分のデータ転送を実施する。前記データ転送が完了すると再度転送開始アドレス生成フローに遷移する。次の転送開始アドレスとして、パラメータテーブルのアドレスオフセット234が0x100、転送順番がオフセット加算方向であることから、前回のデータ転送開始アドレスから次の転送開始アドレス0x100を算出し2回目の転送の転送開始アドレスとする。
また転送要求パターンでアドレスオフセットが連続アドレス指定になっている場合は、パラメータテーブルのアドレスオフセット指定も連続アドレス指定にして、データ転送制御部による転送の終了アドレスをもとに転送開始アドレス生成部もしくはデータ転送制御部で次の転送開始アドレスを算出してもよい。
前記領域判定ステップS254と同様に前記転送開始アドレスを判定し、範囲内であるのでデータ転送が許可される。
前記データ転送実施ステップS255と同様に、前記転送開始アドレスを基に2回目のデータブロックの転送をおこなう。
また3回目のデータ転送についても2回目の転送と同様にアドレス生成、転送許可判定、データ転送をおこなう。
同様にして4回目のデータ転送の転送開始アドレスを生成し、転送許可判定部による判定をおこなうと範囲候補領域外であることから4回目の転送はおこなわず、転送終了ステップS259に遷移し転送要求Cのデータ転送を終了する。
<第2の実施形態>
本実施形態では、パラメータテーブル保持部122が複数の第2の転送要求(パラメータテーブル)に共通するパラメータを保持する共通テーブルと、第2の転送要求に個別のパラメータを保持する個別のパラメータテーブルとを保持するように構成されている。共通テーブルは、電気的に不揮発なメモリ領域に設けてもよいし、外部からの入力に従って前記共通テーブルを作成してもよいし、生成された過去のパラメータテーブルに含まれるパラメータの出現頻度に基づいて作成してもよい。
さらに、本実施形態のデータ転送装置は、さらに、パラメータテーブル保持部122が繰り返し転送を指定するオプションパラメータを保持し、転送部120は、オプションパラメータにより繰り返し転送が指定されたとき、複数の第2の転送要求に従うデータ転送を繰り返すよう構成されている。このとき、パラメータテーブル保持部122は、さらに、繰り返し転送の回数を指定するオプションパラメータを保持し、転送部120が、オプションパラメータにより繰り返し転送の回数、複数の第2の転送要求に従うデータ転送を繰り返すようにしてもよい。
加えて、本実施形態の転送部120は、オプションパラメータによりインターリーブ転送が指定されたとき、複数の第2の転送要求の部分データをインターリーブしながら転送するように構成されている。このとき、転送部120は、部分データを転送後、現在の第2の転送要求の転送アドレスを保持手段に退避させ、次の第2の転送要求の転送アドレスを保持手段から復帰させ、復帰させた転送アドレスに従って部分データを転送する。
また、転送部120は、第1の転送要求が受け付け手段によって受け付けられた順番の昇順または降順で第2の転送要求に識別番号を付与し、あるいは、第1転送要求の優先順位に従って、第2の転送要求の順位を決定するよう構成されている。
本実施の形態におけるデータ転送装置の概略構成は、図2のブロック図とほぼ同様である。ブロック図は同様、ただし、第2の実施形態のデータ転送装置は、図16に示すように、第1の実施形態に対し図16のように第2のパラメータテーブルとして共通テーブルが追加され、パラメータテーブル生成部121内に共通テーブル作成部256aが追加されている。
図17は、共通テーブルに保持された共通パラメータの参照関係を示す図である。
ここでは共通テーブルを用いたパラメータテーブルの生成方法について図17を用いて説明する。
具体的な転送要求パターンについては前記実施形態1の転送要求A、B、Cを用いるものとし、またパラメータテーブルを参照しての転送開始アドレス生成、転送許可判定、データ転送については第1の実施形態と同様であるので説明は省略する。
パラメータテーブル生成部121は、パラメータテーブル比較器を有し、複数の転送要求パターン受け付けたとき、一旦それぞれのパラメータテーブルを生成し、そのパラメータテーブル群を前記パラメータテーブル比較器にて比較し共通項目を抜き出し共通テーブルを生成する。
例えば図17に示すように、特に転送要求Bのパラメータテーブルと転送要求Cのパラメータテーブルとでは、類似する内容が多いことから転送要求Cのパラメータテーブル3は共通テーブルとする。
ここで転送要求Aのパラメータテーブル1は、転送起点アドレスとアドレスオフセットと転送順番が同じであるので、パラメータテーブルとして具体的な値としてはデータサイズとデータ転送候補領域情報のみをもち、それ以外は共通テーブル参照とすることでパラメータテーブルのデータ量を削減する。
同様に転送要求Bのパラメータテーブル2は、転送起点アドレスとデータサイズとアドレスオフセットと転送順番が同じであるので、パラメータテーブルとして具体的な値としてはデータ転送候補領域情報のみもち、それ以外は共通テーブル参照とすることでパラメータテーブルのデータ量を削減する。
同様に転送要求Cのパラメータテーブル3は、内容は全て共通テーブルとおなじなので共通テーブル参照という情報のみもつとする。
このとき、共通テーブルは1つだけでなく複数持ってもよく、その場合共通テーブルには別途識別番号を付与する。通常のパラメータテーブルはその識別番号で参照する共通テーブルを特定する。
また共通テーブルは、あらかじめ出現頻度の高い項目を集めた共通テーブルを持っていてもよく、また外部から直接指定できるとしてもよい。その場合転送要求パターンで直接共通テーブルを指定してもよい。
次に第2の実施形態におけるデータ転送装置1aでの転送順番オプションを設定について説明する。
転送要求としてこれまで説明してきた転送要求A、B、Cを用いるものとし、パラメータテーブルの生成方法について説明する。具体的なデータ転送動作についてはこれまでと同様として説明を省略する。
第1の転送順番オプションとして転送並べ替えオプションについて説明する。
このときパラメータテーブル生成部121に更に転送要求受付優先順位情報及び転送並べ替えオプション受付部を有するものとし、例として前記優先順位情報がメモリXへのwriteアクセスがreadアクセスよりも優先である場合の動作について説明する。
転送要求をA⇒B⇒Cの順番で発行したとする。
図18は、第1の転送順番オプションである並べ替えオプションをOFFにしたときの転送の順番を示す模式図である。
転送並べ替えオプションをOFFにしている場合は、図18に示すように転送要求A、B、Cの順番にデータ転送をおこなう。
図19は、第1の転送順番オプションである並べ替えオプションをONにしたときの転送の順番を示す模式図である。
転送並べ替えオプションを有効にしている場合は、メモリXへのwriteアクセスがreadアクセスよりも優先されるため図19に示すように転送要求C、A、Bの順番に転送をおこなう。
図20は、第1の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号に従う転送の順番を示す図である。
このときのパラメータテーブル生成方法としては、図20に示すように、パラメータテーブル生成部121はあらかじめ優先順位にしたがって転送要求パターンを並べ替え、その並べ替えた順番にしたがってパラメータテーブルを生成し、1から順番に識別番号を付与する。これにより転送開始アドレス生成部123はパラメータテーブル識別番号1のパラメータテーブルにかかわるデータ転送を実行し、その後識別番号2、識別番号3と順番にパラメータテーブルを読み出すことで優先順位にしたがったデータ転送をおこなう。
図21は、第1の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号およびテーブルポインタに従う転送の順番を示す図である。
また図21に示すように、パラメータテーブル生成部121は転送要求パターンを受け付けた順番にパラメータテーブルを生成し、1から順番に識別番号を付与する。ここで更にパラメータテーブルポインタ314を有し、その中で前記転送要求受付優先順位情報にしたがってパラメータテーブル識別番号をならべる。これにより転送開始アドレス生成部123はパラメータテーブルポインタ1を指定することで、識別番号3のパラメータテーブルを読み出すことができる。識別番号3のデータ転送が完了すると、転送開始アドレス生成部123は次のパラメータテーブルポインタとして2を指定することで2番目に優先順位の高い識別番号1のパラメータテーブルにかかわるデータ転送をおこない、これを繰り返すことで優先順位にしたがったデータ転送をおこなえるとしてもよい。
第2の転送順番オプションとして間欠転送オプションについて説明する。
このときパラメータテーブル生成部121に間欠転送オプション受付部を有するものとする。
またこのときの動作について図22のデータブロック転送順番図、図24のパラメータテーブル構成図、図25の動作フローチャートに従って説明する。
図22は、第2の転送順番オプションである間欠転送オプションをONにしたときの転送の順番を示す模式図である。
図23Aは、第2の転送順番オプションである間欠転送オプションをON及び第3の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。
図24は、第3の転送順番オプションである繰り返し転送をONにしたときのパラメータテーブルおよびオプションテーブルの一例を示す図である。
図25は、第3の転送順番オプションである繰り返し転送をONにしたときの動作を示すフローチャートである。同図は図15とほぼ同様であるが、ステップS253a、S246aにおいて、パラメータテーブルを参照し、されに更新する点が異なっている。
動作例として転送要求をA⇒B⇒Cの順番で発行したとし、また全ての転送要求で間欠転送オプションが有効になっているとする。
ここでは転送要求をA、B、Cを順番に受け付けるとしているが、同時に受け付けてもよい。
次にパラメータテーブル読み出しステップS251で、転送開始アドレス生成部は最初に実行するパラメータテーブル1を読み出す。
次に転送開始アドレス生成ステップS253aで、転送開始アドレス生成部は図23AのA−1データブロックを転送するための転送開始アドレスを生成し、転送許可判定部に出力するとともに、転送情報パラメータをパラメータテーブルに、図24のテーブル1の情報欄343に登録する。
次に領域判定ステップS254で、転送許可判定がなされデータ転送実施ステップS255でA−1ブロックのデータ転送がおこなわれる。
A−1ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップS251に戻り転送要求Aから転送要求Bにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル2を読み出す。このときパラメータテーブル2を読み出すタイミングは、別途外部からの転送開始要因を指定し、前記要因に同期しておこなうとしてもよい。
次に転送開始アドレス生成ステップ253aで転送開始アドレス生成部は、図23AのB−1データブロックを転送するための転送開始アドレスを生成し、転送許可判定部に出力するとともに、図24のテーブル1の情報欄344に登録し、更にそのときの転送回数カウンタのカウント値0を情報欄345に登録する。
次に転送許可判定ステップS254で、転送許可判定がなされデータ転送実施ステップS255でB−1ブロックのデータ転送がおこなわれる。
B−1ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップS251に戻り転送要求Bから転送要求Cにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル3を読み出す。このときパラメータテーブル3を読み出すタイミングは、別途外部からの転送開始要因を指定し、前記要因に同期しておこなうとしてもよい。
次に転送開始アドレス生成ステップS251で転送開始アドレス生成部は、図23AのC−1データブロックを転送するための転送開始アドレスを生成し、転送許可判定部に出力するとともに、図24のテーブル1の情報欄346に登録する。
次に領域判定ステップS254で、転送許可判定がなされデータ転送実施ステップS255でC−1ブロックのデータ転送がおこなわれる。
C−1ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップS251に戻り転送要求Cから再度転送要求Aにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル1を読み出す。このときパラメータテーブル1の情報欄343も読み出す。ここでパラメータテーブル1を読み出すタイミングは、別途外部からの転送開始要因を指定し、前記要因に同期しておこなうとしてもよい。
次に一旦受け付けた転送要求を一通り転送し終わったので、最初のパラメータテーブルに戻る。
転送開始アドレス生成ステップS253aで転送開始アドレス生成部は、図23AのA−2データブロックを転送するための前記情報欄343からよみだした前回転送したときの転送開始アドレスをもとにして次の転送開始アドレスを生成し、転送許可判定部に出力するとともに、図24のテーブル1の情報欄344に再度登録する。
次に領域判定ステップS254で、転送許可判定がなされデータ転送実施ステップS255でA−2ブロックのデータ転送がおこなわれる。
A−2ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップS251に戻り転送要求Aから転送要求Bにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル2を読み出す。このときパラメータテーブル2の情報欄344、345も読み出す。
次に転送開始アドレス生成ステップS253aで転送開始アドレス生成部は、図23AのB−2データブロックを転送するための前記情報欄343からよみだした前回転送したときの転送開始アドレスをもとにして次の転送開始アドレスを生成し、前回転送したときの転送回数カウンタ値をカウンタにセットし1インクリメントさせる。前記転送開始アドレスと前記転送回数カウント値を、図24のテーブル1の情報欄345、356に再度登録するとともに、前記転送開始アドレスを転送許可判定部に出力する。
次に領域判定ステップS254で、転送許可判定がなされデータ転送実施ステップS255でB-2ブロックのデータ転送がおこなわれる。
B−2ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップS251に戻り転送要求Bから転送要求Cにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル3を読み出す。このとき情報欄346も読み出す。
次に転送開始アドレス生成ステップS253aで転送開始アドレス生成部は、図23AのC−2データブロックを転送するための前記情報欄346からよみだした前回転送したときの転送開始アドレスをもとにして次の転送開始アドレスを生成し、転送許可判定部に出力するとともに、図24のテーブル1の情報欄346に再度登録する。
次に領域判定ステップS254で、転送許可判定がなされデータ転送実施ステップS255でC−2ブロックのデータ転送がおこなわれる。
C−2ブロックのデータ転送が完了すると、パラメータテーブル読み出しステップS251に戻り転送要求Cから転送要求Aにデータ転送実行権を移し、転送開始アドレス生成部はパラメータテーブル1を読み出す。
以降、同様にしてA−3、B−3、C−3の転送をおこない転送を完了する。
本例では全ての転送要求に間欠オプションを設定した場合について説明したが、転送要求A、B、Cそれぞれ個別に間欠転送オプションを設定できるとしてもよい。
第3の転送順番オプションとして、繰り返し転送について説明する。
本オプションは、転送許可領域分もしくは転送回数指定分のデータ転送を完了した後、これまでのように転送を終了するのではなく再度転送起点アドレスから転送を繰り返すものである。
このときパラメータテーブル生成部121に繰り返し転送オプション受付部を有するものとする。またこのときの動作について図23Aのデータブロック転送順番図、図24のパラメータテーブル構成図、図25の動作フローチャートに従うものする。
動作例として転送要求をA⇒B⇒Cの順番で発行したとし、また全ての転送要求で間欠転送オプションと繰り返しオプションが有効になっているとする。
A−1からC−3までの動作は前記第2の転送順番オプションで説明した動作と同じであるので説明を省略する。
A−2、A−3のデータ転送をおこなう際のデータ転送開始アドレスはテーブル1の情報欄343を元に生成していたが、A−3の次のA−1のデータ転送をおこなう際のデータ転送開始アドレスは、転送起点アドレスを使用する。
転送B−1、C−1に関しても同様に、再度転送開始アドレスとして転送起点アドレスを使用する。
図23Bは、第3の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。
ここで転送オプションはいずれかひとつのみ設定してもよいし、全て同時に設定してもよい。また第2の転送オプション及び第3の転送オプションは全ての転送要求に対して有効でもよいし、転送要求ごとに設定してもよい。
また更にパラメータテーブル識別番号更新規則を有し、A−3、B−3、C−3まで転送を完了すると、再度同じパラメータテーブルを読み出すのではなく、前記パラメータテーブル識別番号更新規則にしたがって参照するパラメータテーブルを変更するとしてもよい。
図26は、変形例におけるデータ転送装置1bの構成を示すブロック図である。
このデータ転送装置は、図2のパラメータテーブル生成部121、パラメータテーブル保持部122の代わりにパラメータテーブル生成部121a、パラメータテーブル保持部122aを備える点がことなる。パラメータテーブル保持部122aは、第1の転送要求をそのまま保持する。パラメータテーブル生成部121aは、読み出し部123aを有し、読み出し部123aによって読み出された第1の転送要求から第2の転送要求を生成し、転送部120に送る。
この構成によれば、第1の転送要求を保持するので、省略されたパラメータを保持しない分だけ回路規模の増加を抑えることができる。また、読み出し手段から前記判定手段および前記生成手段を介して転送手段に送られるまでに、第1の転送要求を第2の転送要求にリアルタイムに補完および生成することができる。
本発明にかかるデータ転送装置は、データ転送の基点アドレスを生成するアドレス生成装置を有し、複数のDMA転送要求を発行する処理をおこなう場合に有用である。
従来技術におけるデータ転送装置の概略構成を示すブロック図である。 第1の実施形態におけるデータ転送装置の構成を示すブロック図である。 第1または第2の転送要求を示す説明図である。 パラメータテーブル保持部の一例を示す図である。 転送要求パターンAのデータ配置を示す図である。 転送要求パターンAに含まれるパラメータを示す図である。 転送要求パターンAに対応するパラメータテーブルを示す図である。 転送要求パターンBのデータ配置を示す図である。 転送要求パターンBに含まれるパラメータを示す図である。 転送要求パターンBに対応するパラメータテーブルを示す図である。 転送要求パターンCのデータ配置を示す図である。 転送要求パターンCに含まれるパラメータを示す図である。 転送要求パターンCに対応するパラメータテーブルを示す図である。 パラメータテーブル生成処理を示すフローチャートである。 パラメータ補完処理を示すフローチャートである。 パラメータテーブルに基づく転送処理を示すフローチャートである。 第2の実施形態におけるパラメータテーブル保持部の一例を示す図である。 共通テーブルに保持された共通パラメータの参照関係を示す図である。 第1の転送順番オプションである並べ替えオプションをOFFにしたときの転送の順番を示す模式図である。 第1の転送順番オプションである並べ替えオプションをONにしたときの転送の順番を示す模式図である。 第1の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号に従う転送の順番を示す図である。 第1の転送順番オプションである並べ替えオプションをONにしたときのパラメータテーブル識別番号およびテーブルポインタに従う転送の順番を示す図である。 第2の転送順番オプションである間欠転送オプションをONにしたときの転送の順番を示す模式図である。 第2の転送順番オプションである間欠転送オプションをON及び第3の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。 第3の転送順番オプションである繰り返し転送をONにしたときの転送の順番を示す模式図である。 第3の転送順番オプションである繰り返し転送をONにしたときのパラメータテーブルおよびオプションテーブルの一例を示す図である。 第3の転送順番オプションである繰り返し転送をONにしたときの動作を示すフローチャートである。 変形例におけるデータ転送装置の構成を示すブロック図である。
符号の説明
1 データ転送装置
120 転送部
121 パラメータテーブル生成部
122 パラメータテーブル保持部
123 転送開始アドレス生成部
123a 読み出し部
124 転送許可判定部
125 データ転送制御部

Claims (19)

  1. 複数のパラメータを含み、データ転送を指示する第1の転送要求を受け付ける受け付け手段と、
    受け付けられた第1の転送要求にパラメータが省略されているか否かを判定する判定手段と、
    省略されていると判定された場合に、第1の転送要求に対して省略されたパラメータを補完することによって第2の転送要求を生成する生成手段と、
    第2の転送要求に従ってデータ転送を行う転送手段と
    を備えることを特徴とするデータ転送装置。
  2. 前記第1の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスのうちの少なくとも1つを含み、
    前記第2の転送要求は、転送開始アドレス、データサイズ、転送開始アドレスを更新するためのオフセットアドレスを含み、
    前記生成手段は、転送開始アドレスの属するメモリ種別、またはデフォルト値に従って省略されているパラメータを補完する
    ことを特徴とする請求項1記載のデータ転送装置。
  3. 前記データ転送装置は、さらに、
    生成手段によって生成された第2の転送要求を保持する保持手段と、
    前記保持手段から第2の転送要求を読み出す読み出し手段とを備え、
    前記転送手段は、読み出し手段によって読み出された第2の転送要求に従ってデータ転送を行う
    ことを特徴とする請求項1記載のデータ転送装置。
  4. 前記読み出し手段は、外部からのトリガー信号に従って前記保持手段から第2の転送要求を読み出す
    ことを特徴とする請求項3記載のデータ転送装置。
  5. 前記保持手段は、複数の第2の転送要求に共通するパラメータを保持する共通テーブルと、第2の転送要求に個別のパラメータを保持する個別テーブルとを保持する
    ことを特徴とする請求項3記載のデータ転送装置。
  6. 前記保持手段は、電気的に不揮発な前記共通テーブルを保持する
    ことを特徴とする請求項5記載のデータ転送装置。
  7. 前記データ転送装置は、さらに、
    外部からの入力に従って前記共通テーブルを保持手段内に作成する作成手段を備える
    ことを特徴とする請求項5記載のデータ転送装置。
  8. 前記データ転送装置は、さらに、
    第2の転送要求に含まれるパラメータの出現頻度に基づいて前記共通テーブルを保持手段内に作成する作成手段を備える
    ことを特徴とする請求項5記載のデータ転送装置。
  9. 前記データ転送装置は、さらに、
    受け付け手段によって受け付けられた第1の転送要求を保持する保持手段と、
    前記保持手段から第1の転送要求を読み出す読み出し手段とを備え、
    読み出し手段によって読み出された第1の転送要求は、前記判定手段および前記生成手段を介して前記転送手段に送られる
    ことを特徴とする請求項1記載のデータ転送装置。
  10. 前記第2の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、回数を示すパラメータとを含み、
    前記転送手段は、前記回数に達するまで、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返す
    ことを特徴とする請求項1記載のデータ転送装置。
  11. 前記第2の転送要求は、データサイズを示すパラメータと、オフセットアドレスを示すパラメータと、領域のサイズを示すパラメータとを含み、
    前記転送手段は、
    前記転送手段は、前記領域の範囲内で、前記オフセットアドレスによるアドレス更新と前記データサイズ分のデータ転送とを繰り返す
    ことを特徴とする請求項1記載のデータ転送装置。
  12. 前記データ転送装置は、さらに、
    複数の第2の転送要求を保持する保持手段を備え、
    繰り返し転送を指定するオプションパラメータを保持し、
    前記転送手段は、オプションパラメータにより繰り返し転送が指定されたとき、複数の第2の転送要求に従うデータ転送を繰り返す
    ことを特徴とする請求項1記載のデータ転送装置。
  13. 前記保持手段は、さらに、繰り返し転送の回数を指定するオプションパラメータを保持し、
    前記転送手段は、オプションパラメータにより繰り返し転送の回数、複数の第2の転送要求に従うデータ転送を繰り返す
    ことを特徴とする請求項12記載のデータ転送装置。
  14. 前記データ転送装置は、さらに、
    複数の第2の転送要求を保持する保持手段を備え、
    前記各第2の転送要求は、複数の部分データの転送を指示し、
    前記転送手段は、複数の第2の転送要求の部分データをインターリーブしながら転送する
    ことを特徴とする請求項1記載のデータ転送装置。
  15. 前記転送手段は、部分データを転送後、現在の第2の転送要求の転送アドレスを保持手段に退避させ、次の第2の転送要求の転送アドレスを保持手段から復帰させ、復帰させた転送アドレスに従って部分データを転送する。
    ことを特徴とする請求項14記載のデータ転送装置。
  16. 前記生成手段は、第1の転送要求が受け付け手段によって受け付けられた順番の昇順または降順で第2の転送要求に識別番号を付与し、
    前記転送手段は、前記識別番号の順番に従ってデータ転送を実行する
    ことを特徴とする請求項1記載のデータ転送装置。
  17. 前記受け付け手段は、さらに、第1転送要求の優先順位を受け付け、
    前記生成手段は、前記優先順位に従って、第2の転送要求の順位を決定する
    ことを特徴とする請求項1記載のデータ転送装置。
  18. 前記生成手段は、第2の転送要求の順位を示す順位テーブル作成する
    ことを特徴とする請求項17記載のデータ転送装置。
  19. 複数のパラメータを含み、データ転送を指示する第1の転送要求を受け付ける受け付けステップと、
    受け付けられた第1の転送要求にパラメータが省略されているか否かを判定する判定ステップと、
    省略されていると判定された場合に、第1の転送要求に対して省略されたパラメータを補完することによって第2の転送要求を生成する生成ステップと、
    第2の転送要求に従ってデータ転送を行う転送ステップと
    を有することを特徴とするデータ転送方法。
JP2006194730A 2006-07-14 2006-07-14 データ転送装置 Pending JP2008021257A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006194730A JP2008021257A (ja) 2006-07-14 2006-07-14 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006194730A JP2008021257A (ja) 2006-07-14 2006-07-14 データ転送装置

Publications (1)

Publication Number Publication Date
JP2008021257A true JP2008021257A (ja) 2008-01-31

Family

ID=39077125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006194730A Pending JP2008021257A (ja) 2006-07-14 2006-07-14 データ転送装置

Country Status (1)

Country Link
JP (1) JP2008021257A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048680A (ja) * 2009-08-27 2011-03-10 Canon Inc データ転送システム、データ転送装置、データ転送装置の制御方法、及びプログラム
JP2011248407A (ja) * 2010-05-21 2011-12-08 Ricoh Co Ltd 通信装置及びメモリデバイス並びに通信方法
JP2013515978A (ja) * 2010-06-07 2013-05-09 株式会社日立製作所 データ転送装置及びデータ転送方法
JPWO2012039143A1 (ja) * 2010-09-21 2014-02-03 三菱電機株式会社 Dmaコントローラ及びデータ読出装置
JP2014038436A (ja) * 2012-08-14 2014-02-27 Fujitsu Ltd システム制御装置、情報処理システム、システム制御装置の制御方法およびシステム制御装置の制御プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6484358A (en) * 1987-09-28 1989-03-29 Nec Corp Memory circuit
JPH04116750A (ja) * 1990-09-06 1992-04-17 Matsushita Electric Ind Co Ltd Dmaメモリ転送装置
JPH07121684A (ja) * 1993-10-28 1995-05-12 Hitachi Ltd 情報処理装置
JPH09114730A (ja) * 1995-10-12 1997-05-02 Ricoh Co Ltd メモリ制御装置
JP2001061058A (ja) * 1999-08-20 2001-03-06 Canon Inc 画像処理装置
JP2001075917A (ja) * 1999-09-03 2001-03-23 Matsushita Electric Ind Co Ltd Dma転送装置および画像復号装置
JP2001167046A (ja) * 1999-12-06 2001-06-22 Ricoh Co Ltd 画像処理装置
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6484358A (en) * 1987-09-28 1989-03-29 Nec Corp Memory circuit
JPH04116750A (ja) * 1990-09-06 1992-04-17 Matsushita Electric Ind Co Ltd Dmaメモリ転送装置
JPH07121684A (ja) * 1993-10-28 1995-05-12 Hitachi Ltd 情報処理装置
JPH09114730A (ja) * 1995-10-12 1997-05-02 Ricoh Co Ltd メモリ制御装置
JP2001061058A (ja) * 1999-08-20 2001-03-06 Canon Inc 画像処理装置
JP2001075917A (ja) * 1999-09-03 2001-03-23 Matsushita Electric Ind Co Ltd Dma転送装置および画像復号装置
JP2001167046A (ja) * 1999-12-06 2001-06-22 Ricoh Co Ltd 画像処理装置
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048680A (ja) * 2009-08-27 2011-03-10 Canon Inc データ転送システム、データ転送装置、データ転送装置の制御方法、及びプログラム
JP2011248407A (ja) * 2010-05-21 2011-12-08 Ricoh Co Ltd 通信装置及びメモリデバイス並びに通信方法
JP2013515978A (ja) * 2010-06-07 2013-05-09 株式会社日立製作所 データ転送装置及びデータ転送方法
JPWO2012039143A1 (ja) * 2010-09-21 2014-02-03 三菱電機株式会社 Dmaコントローラ及びデータ読出装置
JP2014038436A (ja) * 2012-08-14 2014-02-27 Fujitsu Ltd システム制御装置、情報処理システム、システム制御装置の制御方法およびシステム制御装置の制御プログラム

Similar Documents

Publication Publication Date Title
JP5895840B2 (ja) マルチプロセッサシステム、実行制御方法、実行制御プログラム
JP2008021257A (ja) データ転送装置
US9043806B2 (en) Information processing device and task switching method
CN105512054B (zh) 主机接口控制器以及储存装置控制方法
JPH11184718A (ja) プログラマブルなデータ処理装置
CN104183267A (zh) 数据处理设备和存储器设备
CN101706760B (zh) 矩阵转置自动控制电路系统及矩阵转置方法
JP4817834B2 (ja) 割り込み制御装置及び割り込み制御方法
JP2012208680A (ja) 並列処理システム及び並列処理システムの動作方法
JP2009064279A (ja) データ処理装置
JPH09269870A (ja) A/d変換装置
JP2007188171A (ja) メモリコントローラ
US20020018011A1 (en) Data conversion device having mediator for determining data conversion order
JP2017097226A (ja) 画像処理装置、その制御方法、およびプログラム
US9747231B2 (en) Bus access arbiter and method of bus arbitration
JP2006139766A (ja) 情報処理装置
JP2011186918A (ja) データ転送回路及び方法
JP2008210280A (ja) 半導体装置及びdmaコントローラ
JP2009151487A (ja) Dma転送制御装置及びデータ転送装置
JP5489871B2 (ja) 画像処理装置
JP2008090360A (ja) 集積回路及びリコンフィギュラブル回路の入力データ制御方法
JP2006024134A (ja) Dma転送装置及びdma転送方法
JP2011022781A (ja) データ転送装置、データ転送方法及びデータ転送プログラム
JP2009205573A (ja) バッファ制御装置およびバッファ制御方法
JP2827179B2 (ja) 露光データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110927