(57)【要約】【課題】ＦＩＦＯメモリで構成されるバッファを用いる場合において、読み出しが書き込みを追い越すことがなくデータ転送を効率化できること。【解決手段】データ転送制御装置１００は、メモリ１２０側に設けられ、ＦＩＦＯメモリ１０２へのデータの書き込みを制御する書き込み制御部１０１と、処理装置側に設けられ、ＦＩＦＯメモリ１０２からのデータの読み出しを制御する読み出し制御部１０３と、ＦＩＦＯメモリ１０２に対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、読み出し制御部１０３に対する読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算部１１１と、読み出し開始演算部１１１から出力された転送開始通知のクロックを非同期で乗せ換え、読み出し制御部１０３に通知する非同期乗り換え部１０４とを備える。【選択図】図１
2008250470.tif 000002
【特許請求の範囲】
【請求項１】
メモリ側からデータをＦＩＦＯメモリに書き込み、処理装置側が前記ＦＩＦＯメモリからデータを読み出すデータ転送制御装置において、
前記メモリ側に設けられ、前記ＦＩＦＯメモリへのデータの書き込みを制御する書き込み制御手段と、
前記処理装置側に設けられ、前記ＦＩＦＯメモリからのデータの読み出しを制御する読み出し制御手段と、
前記ＦＩＦＯメモリに対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、前記読み出し制御手段に対する読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算手段と、
前記読み出し開始演算手段から出力された前記転送開始通知のクロックを非同期で乗せ換え、前記読み出し制御手段に通知する非同期乗り換え手段と、
を備えたことを特徴とするデータ転送制御装置。
【請求項２】
前記読み出し開始演算手段は、
入力されるストローブ信号の長さに基づき、１回の転送サイクル数をカウントするカウンタと、
前記処理装置側および前記メモリ側の動作周波数および１サイクルあたりのデータ転送ビット数を示す係数の入力に基づき、前記書き込み制御手段から通知される総転送サイズを変換した値を求める変換手段と、
前記カウンタの出力と、前記変換手段の出力とを比較し、一致した際のタイミングで前記転送開始通知を出力する比較手段と、
を備えたことを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
前記係数として、前記メモリ側におけるデータ転送中断サイクルを含むことを特徴とする請求項２に記載のデータ転送制御装置。
【請求項４】
前記係数は、予め処理装置側およびメモリ側の転送条件に基づき外部レジスタに設定され、当該設定された値を用いることを特徴とする請求項２または３に記載のデータ転送制御装置。
【請求項５】
メモリ側の書き込み制御手段によりデータをＦＩＦＯメモリに書き込み、処理装置側の読み出し制御手段により前記ＦＩＦＯメモリからデータを読み出すデータ転送制御装置におけるデータ転送制御方法において、
前記ＦＩＦＯメモリに対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、前記読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算工程と、
前記読み出し開始演算工程により出力される前記転送開始通知のクロックを非同期で乗せ換え、前記読み出し制御手段に通知する非同期乗り換え工程と、
を含むことを特徴とするデータ転送制御方法。
【請求項６】
前記読み出し開始演算工程は、
入力されるストローブ信号の長さに基づき、１回の転送サイクル数をカウントするカウント工程と、
前記処理装置側および前記メモリ側の動作周波数および１サイクルあたりのデータ転送ビット数を示す係数の入力に基づき、前記書き込み制御手段から通知される総転送サイズを変換した値を求める変換工程と、
前記カウントされた出力と、前記変換工程の出力とを比較し、一致した際のタイミングで前記転送開始通知を出力する比較工程と、
を含むことを特徴とする請求項５に記載のデータ転送制御方法。
【請求項７】
前記係数として、前記メモリ側におけるデータ転送中断サイクルを含むことを特徴とする請求項６に記載のデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ転送制御装置およびデータ転送制御方法にかかり、特に、データ転送を先入れ先出しのＦＩＦＯメモリを用いて行うデータ転送制御装置およびデータ転送制御方法に関する。
【背景技術】
【０００２】
従来、データ転送を行うデータ転送制御装置は、記憶装置と処理装置との間に設けられる。そして、先入れ先出し方式のメモリ（ＦＩＦＯ）をバッファとして用いて、記憶装置側での転送速度と、処理装置側での転送速度の違いに対応した構成となっている（例えば、下記特許文献１参照。）。
【０００３】
図５は、従来のデータ転送制御装置の構成を示すブロック図である。ＳＤＲＡＭ等のメモリ側には書き込み制御部１０１が設けられ、ＦＩＦＯメモリ１０２に対する書き込みデータの書き込みを制御している。一方、処理装置側（コア側）には読み出し制御部１０３が設けられ、ＦＩＦＯメモリ１０２に書き込まれたデータ（読み出しデータ）の読み出しを制御している。ＦＩＦＯメモリ１０２は、例えば、６４ｂｉｔ×２５６ｗｏｒｄの記憶容量を有する。
【０００４】
書き込み制御部１０１と、読み出し制御部１０３との間には、非同期乗り換え部１０４が設けられ、書き込み制御部１０１からの転送開始通知および転送開始ポインタの入力を受けて、書き込み制御部１０１と、読み出し制御部１０３との間で異なるクロックを乗せ換える。
【０００５】
図５において、コア側動作周波数が１００ＭＨｚ、１サイクルあたりのデータ読み出し量が６４ｂｉｔであり、メモリ側動作周波数が２００ＭＨｚ、１サイクルあたりのデータ書き込み量が６４ｂｉｔの構成であるとする。この場合、コア側の読み出しレートは、６４ｂｉｔ／１００ＭＨｚ＝８００Ｍｂｙｔｅ／ｓｅｃとなり、メモリ側書き込みレートは、６４ｂｉｔ／２００ＭＨｚ＝１６００Ｍｂｙｔｅ／ｓｅｃとなる。
【０００６】
これにより、読み出しレート８００Ｍｂｙｔｅ／ｓｅｃ＜書き込みレート１６００Ｍｂｙｔｅ／ｓｅｃとなり、メモリ側での書き込み開始と同時にコア側に読み出し開始を通知しても、読み出しが書き込みを追い越すことはない。ただし、メモリ側からの書き込みが途切れなく行われることを前提としている。
【０００７】
【特許文献１】特許第２５６８０４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、データ転送効率を上げるために、ＦＩＦＯメモリ１０２への書き込み完了前に読み出しを開始する制御が行われている。このような転送制御を行うと、書き込みデータレートよりも読み出しデータレートの方が大きい場合、読み出し開始のタイミングによっては、読み出しが書き込みを追い越してしまうという問題が生じる。
【０００９】
図５の例で具体的に説明すると、コア側動作周波数が１００ＭＨｚ、１サイクルあたりのデータ読み出し量が６４ｂｉｔのまま変わらないが、メモリ側動作周波数が２００ＭＨｚ、１サイクルあたりのデータ書き込み量が１６ｂｉｔに変更になった場合には、読み出しレート８００Ｍｂｙｔｅ／ｓｅｃ＞書き込みレート４００Ｍｂｙｔｅ／ｓｅｃとなる。このように、読み出しレートが書き込みレートより大きい場合、メモリ側での書き込みとコア側での読み出しを同時に行った場合、途中で読み出しが書き込みを追い越してしまい、有効データを破壊してしまう。逆に有効データの破壊を防ぐため、書き込みが全て完了した後に読み出しを開始すると、無駄な時間が生じてデータ転送効率が低下することになる。非同期乗り換え部１０４は、メモリ側での書き込みを開始してから適切なタイミングでコア側に読み出し開始を通知しなければならないが、これが行えなかった。
【００１０】
この発明は、上述した従来技術による問題点を解消するため、ＦＩＦＯメモリで構成されるバッファを用いる場合において、読み出しが書き込みを追い越すことを防止でき、データ転送を効率化できるデータ転送制御装置およびデータ転送制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、この発明にかかるデータ転送制御装置は、メモリ側からデータをＦＩＦＯメモリに書き込み、処理装置側が前記ＦＩＦＯメモリからデータを読み出すデータ転送制御装置において、前記メモリ側に設けられ、前記ＦＩＦＯメモリへのデータの書き込みを制御する書き込み制御手段と、前記処理装置側に設けられ、前記ＦＩＦＯメモリからのデータの読み出しを制御する読み出し制御手段と、前記ＦＩＦＯメモリに対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、前記読み出し制御手段に対する読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算手段と、前記読み出し開始演算手段から出力された前記転送開始通知のクロックを非同期で乗せ換え、前記読み出し制御手段に通知する非同期乗り換え手段と、を備えたことを特徴とする。
【００１２】
また、この発明にかかるデータ転送制御方法は、メモリ側の書き込み制御手段によりデータをＦＩＦＯメモリに書き込み、処理装置側の読み出し制御手段により前記ＦＩＦＯメモリからデータを読み出すデータ転送制御装置におけるデータ転送制御方法において、前記ＦＩＦＯメモリに対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、前記読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算工程と、前記読み出し開始演算工程により出力される前記転送開始通知のクロックを非同期で乗せ換え、前記読み出し制御手段に通知する非同期乗り換え工程と、を含むことを特徴とする。
【００１３】
上記構成によれば、メモリ側からＦＩＦＯメモリへのデータの書き込み、およびＦＩＦＯメモリから処理装置側へのデータの書き込みの転送条件、例えばデータ転送速度が異なっても、読み出し開始演算手段は、ＦＩＦＯメモリから読み出し開始する転送開始通知を転送条件に基づき、最適なタイミングで出力する演算を行うため、読み出しが書き込みを追い越すことがなく、データ転送の効率化を図ることができる。
【発明の効果】
【００１４】
本発明によれば、ＦＩＦＯメモリに対してメモリ側と、処理装置側でのデータ転送速度の違い等の転送条件が異なってもＦＩＦＯメモリに対するデータの書き込みを安定して行え、かつ、ＦＩＦＯメモリからのデータの読み出しを連続して効率的に行うことができ、テータ転送効率を効率化できるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明にかかるデータ転送制御装置およびデータ転送制御方法の好適な実施の形態を詳細に説明する。
【００１６】
（実施の形態）
図１は、本発明の実施の形態によるデータ転送制御装置の構成を示す図である。データ転送制御装置１００は、図５に示した書き込み制御部１０１と、ＦＩＦＯメモリ１０２と、読み出し制御部１０３とを備えるとともに、データ転送制御部１１０を備えて構成されている。データ転送制御部１１０は、非同期乗り換え部１０４と、読み出し開始演算部１１１により構成されている。
【００１７】
データ転送制御装置１００の外部には、ＳＤＲＡＭ等のメモリ１２０と、メモリ制御部１２１と、ＣＰＵ１３０と、レジスタ１３１が設けられている。ＣＰＵ１３０は、レジスタ１３１に対し、読み出し開始演算部１１１において最適値計算のための設定パラメータを設定する。なお、メモリ１２０は、ＳＤＲＡＭ等の記憶素子に限らず、ハードディスク等の磁気ディスク装置であってもよい。
【００１８】
読み出し開始演算部１１１には、書き込み制御部１０１から転送開始通知と、１リクエストあたりの総転送サイズが入力されるとともに、レジスタ１３１から設定パラメータが入力される。読み出し開始演算部１１１は、これらの入力に基づいて、最適読み出し開始通知サイクル数を演算し、演算結果が示すタイミングで転送開始通知と、転送開始ポインタとを非同期乗り換え部１０４に出力する。非同期乗り換え部１０４は、入力された転送開始通知のタイミングで、転送開始ポインタを読み出し制御部１０３に出力する。これにより、読み出し制御部１０３は、読み出し開始演算部１１１により演算された読み出し開始のタイミングに基づいてＦＩＦＯメモリ１０２からの読み出しを開始する。
【００１９】
以下、上記構成による読み出し開始のタイミングについて詳細に説明する。コア側動作周波数が１００ＭＨｚ、１サイクルあたりのデータ読み出し量が６４ｂｉｔであり、メモリ側動作周波数が２００ＭＨｚ、１サイクルあたりのデータ書き込み量が１６ｂｉｔであるとする。この場合、読み出しレート８００Ｍｂｙｔｅ／ｓｅｃ＞書き込みレート４００Ｍｂｙｔｅ／ｓｅｃとなる。
【００２０】
この場合、書き込み（Ｗｒｉｔｅ）側総転送時間が読み出し（Ｒｅａｄ）側総転送時間より小さくなれば、読み出しが書き込みを追い越さないことを保障できる。
Ｗｒｉｔｅ側総転送時間＜Ｒｅａｄ側総転送時間
【００２１】
具体的に上記数値を用いて説明すると、１／２００ＭＨｚ×（６４ｂｉｔ／１６ｂｉｔ）×（総転送サイズ−Ｓｔ＿ｃｙｃｌｅ）＜１／１００ＭＨｚ×（６４ｂｉｔ／６４ｂｉｔ）×総転送サイズ
Ｓｔ＿ｃｙｃｌｅ＞１／２×総転送サイズ
【００２２】
となる。Ｓｔ＿ｃｙｃｌｅは、ＦＩＦＯメモリ１０２へ書き込みを開始してから読み出し制御部１０３に読み出し開始通知を行うサイクル数である。上記例の場合、このサイクル数Ｓｔ＿ｃｙｃｌｅが総転送サイズの半分以上であれば、読み出しが書き込みを追い越すことはない。したがって、Ｓｔ＿ｃｙｃｌｅ＝１／２×総転送サイズとなったところで、読み出し開始演算部１１１から読み出し制御部１０３に対し、読み出しのための転送開始通知を出力すれば、最も早く読み出しを完了させることができるようになる。
【００２３】
上記式を一般化すると、
１／ａ２×１／ｂ２×（総転送サイズ−Ｓｔ＿ｃｙｃｌｅ）＜１／ａ１×１／ｂ１×総転送サイズ
Ｓｔ＿ｃｙｃｌｅ＞〔１−（ａ１×ｂ１）／（ａ２×ｂ２）〕×総転送サイズ…（１）
（ただし、ａ１：コア側動作周波数、ａ２：メモリ側動作周波数、ｂ１：１サイクルあたりのデータ書き込みｂｉｔ数、ｂ２：１サイクルあたりのデータ読み出しｂｉｔ数）
【００２４】
そして、読み出し開始演算部１１１は、上記（１）式の両辺が等しくなる最小のサイクル数Ｓｔ＿ｃｙｃｌｅを演算する。演算結果に基づいたタイミングで転送開始通知と、転送開始ポインタを非同期乗り換え部１０４に出力する。
【００２５】
上記の（１）式は、メモリ側からの書き込みが途切れなく行われることを前提にしているが、（１）式の右辺に適当なパラメータ（メモリのバンク跨ぎ発生回数×１回のバンク跨ぎに必要な処理サイクル数など）を追加すれば、メモリ側からの書き込みが途切れた場合でも対応することが可能である。
【００２６】
図２は、読み出し開始演算部の内部構成を示す構成図である。図１に示した読み出し開始演算部１１１の具体的構成例を示す。メモリ制御部１２１から出力されるストローブ（読み出しイネーブル）信号ＳＴＢは、カウンタ２０１を介して比較器２０２に出力される。カウンタ２０１は、ストローブ信号ＳＴＢの長さをカウントする、例えば８ビットバイナリカウンタで構成される。これにより、カウンタ２０１からは、１回の転送サイクル数が出力される。
【００２７】
また、書き込み制御部１０１から出力される総転送サイズ（ＳＩＺＥ［７：０］）は、ビットシフタ２０３に入力される。このビットシフタ２０３は、シフトレジスタ等により、複数（２０３ａ〜２０３ｃ）並列に設けられてなる。ＳＩＺＥ［７：０］は、８ビット入力を示している。ビットシフタ１（２０３ａ）は、入力される総転送サイズのビットを１ビット右シフトすることにより、総転送サイズを半分（１／２）にしたデータを出力する。ビットシフタ２（２０３ｂ）は、総転送サイズのビットを２ビット右シフトすることにより、総転送サイズを１／４にしたデータを出力する。ビットシフタ３（２０３ｃ）は、総転送サイズのビットを３ビット右シフトすることにより、総転送サイズを１／８にしたデータを出力する。
【００２８】
これら各ビットシフタ２０３ａ〜２０３ｃの出力は、セレクタ２０５に出力される。またビットシフタ１（２０３ａ）と、ビットシフタ２（２０３ｂ）の出力は、加算器２０４にて加算後にセレクタ２０５に出力される。
【００２９】
セレクタ２０５は、レジスタ１３１から出力される選択信号ＳＴＦ［１：０］に基づき、４つのデータ（総転送サイズ）のうち一つを選択出力する。選択信号ＳＴＦ［１：０］は、２ビットの入力を示している。セレクタ２０５の入力（００）には、ビットシフタ１（２０３ａ）と、ビットシフタ２（２０３ｂ）の加算により総転送サイズの値が３／４（（１／２）＋（１／４））とされた値が入力される。セレクタ２０５の入力（０１）には、ビットシフタ１（２０３ａ）の出力により、総転送サイズ値が１／２とされた値が入力される。セレクタ２０５の入力（１０）には、ビットシフタ２（２０３ｂ）の出力により、総転送サイズの値が１／４とされた値が入力される。セレクタ２０５の入力（１１）には、ビットシフタ３（２０３ｃ）の出力により、総転送サイズの値が１／８とされた値が入力される。
【００３０】
レジスタ１３１には、最適値計算のための設定パラメータとして、上記の式（１）における右辺の係数〔１−（ａ１×ｂ１）／（ａ２×ｂ２）〕が設定されている。そして、ＣＰＵ１３０は、予め、データ転送制御装置１００における書き込みおよび読み出しのクロック設定に基づき、レジスタ１３１に対し、２ビットの選択信号ＳＴＦ［１：０］のうち、（００）、（０１）、（１０）、（１１）のうちいずれかを設定しておく。
【００３１】
これにより、セレクタ２０５は、選択信号ＳＴＦ［１：０］の設定に基づき、８ビットの総転送サイズＳＩＺＥ［７：０］をそれぞれ除算した４つの値（３／４、１／２、１／４、１／８）のうちいずれかを選択して比較器２０２に出力する。図３は、セレクタにより選択される総転送サイズを示す図である。例えば、セレクタ２０５は、選択信号ＳＴＦ［１：０］の設定が（００）であれば、総転送サイズの３／４の値を選択出力し、選択信号ＳＴＦ［１：０］の設定が（０１）であれば、総転送サイズの１／２の値を選択出力し、選択信号ＳＴＦ［１：０］の設定が（１０）であれば、総転送サイズの１／４の値を選択出力し、選択信号ＳＴＦ［１：０］の設定が（１１）であれば、総転送サイズの１／８の値を選択出力する。
【００３２】
比較器２０２は、ストローブ信号ＳＴＢの長さに基づきカウンタ２０１によりカウントされた１回の転送サイクル数と、セレクタ２０５により選択された演算後の総転送サイズとを比較する。そして、値が一致すると、転送開始通知（ＲＥＡＤ＿ＳＴ）のパルスを非同期乗り換え部１０４に出力する。非同期乗り換え部１０４は、この転送開始通知（ＲＥＡＤ＿ＳＴ）のパルスを非同期のクロックで乗せ換えて読み出し制御部１０３へ通知し、読み出し制御部１０３は、この乗せ換え後の読み出し通知の入力タイミングでＦＩＦＯメモリ１０２からの読み出しを開始する。
【００３３】
また、図２に示す構成例では、データ転送中断を考慮した転送開始通知を行うことができる。ＣＰＵ１３０は、予めレジスタ１３１に４ビットでデータ転送中断サイクルＤＩＶ＿ＳＴＢＬ［３：０］を設定しておく。そして、このデータ転送中断サイクルＤＩＶ＿ＳＴＢＬ［３：０］をセレクタ２０５の出力に設けた加算器２０７により加算して比較器２０２に出力する。これにより、比較器２０２は、データ転送が中断するサイクルを考慮した状態の転送開始通知を出力する。
【００３４】
ビットシフタ２０３、加算器２０４、セレクタ２０５、加算器２０７は、入力される総転送サイズＳＩＺＥ［７：０］を、選択信号ＳＴＦ［１：０］、およびデータ転送中断サイクルＤＩＶ＿ＳＴＢＬ［３：０］が示す係数により変換した転送サイズを出力する変換手段として機能する。
【００３５】
図４は、本発明のデータ転送制御装置の動作を示すフローチャートである。はじめに、ＣＰＵ１３０により、設定パラメータをレジスタ１３１に設定する（ステップＳ４０１）。この設定パラメータは、選択信号ＳＴＦ［１：０］と、データ転送中断サイクルＤＩＶ＿ＳＴＢＬ［３：０］であり、データ転送制御装置１００において演算する最適な転送開始通知サイクル数の演算に用いる。
【００３６】
次に、書き込み制御部１０１により、ステップＳ４０２〜ステップＳ４０５を実行する。まず、書き込み制御部１０１は、処理装置側（コア側）からの読み出しリクエストを受けると、メモリ制御部１２１に対して書き込みのリクエスト信号およびデータ転送に必要なパラメータ（アドレス、総転送サイズ等）を送信する（ステップＳ４０２）。そして、書き込み制御部１０１は、メモリ制御部１２１からＡＣＫ信号を受信した後（ステップＳ４０３）、メモリ制御部１２１から書き込みデータおよび書き込みデータイネーブル信号（ＳＴＢ）を受信する（ステップＳ４０４）。これにより、書き込み制御部１０１は、ＦＩＦＯメモリ１０２への書き込みデータの書き込みを開始する（ステップＳ４０５）。
【００３７】
ステップＳ４０４の実行後、読み出し開始演算部１１１は、書き込み制御部１０１からメモリ制御部１２１へ送信した総転送サイズと、選択信号ＳＴＦ［１：０］と、データ転送中断サイクルＤＩＶ＿ＳＴＢＬ［３：０］とに基づいて、最適な転送開始サイクル数を演算する（ステップＳ４０６）。この演算は、例えば上述した図２に示す構成により実行される。このように、本発明では、ＦＩＦＯメモリ１０２への書き込み後、読み出し開始演算部１１１により演算された最適な転送開始サイクル数に基づき、ＦＩＦＯメモリ１０２からの読み出しのタイミングが決定される。
【００３８】
読み出し開始演算部１１１による演算結果は、転送開始通知として非同期乗り換え部１０４にパルス出力される。非同期乗り換え部１０４は、転送開始通知のパルスを非同期のクロックで乗せ換えた後、読み出し制御部１０３へ通知する（ステップＳ４０７）。そして、読み出し制御部１０３は、転送開始通知が通知されると、ＦＩＦＯメモリ１０２からの読み出しを開始する（ステップＳ４０８）。
【００３９】
読み出し制御部１０３によりＦＩＦＯメモリ１０２からの読み出しが継続して行われている間、書き込み制御部１０１による継続的な書き込みが完了し（ステップＳ４０９）、この後、読み出し制御部１０３によるＦＩＦＯメモリ１０２からの読み出しが完了する（ステップＳ４１０）。以上の動作により一連の動作が終了し、ＦＩＦＯメモリ１０２からの読み出しが書き込みを追い越すことを防止できる。
【００４０】
以上説明したように、この発明のデータ転送制御装置によれば、１度のリクエスト毎に書き込み、読み出し量に応じてＦＩＦＯメモリからの最適な読み出し開始のタイミングを演算し、読み出しが書き込みを追い越さないようデータ転送を制御できる。これにより、データ転送効率の中断がなくデータ転送効率の低下を防止できる。特に、ＦＩＦＯメモリへの書き込み状態を考慮して、読み出しを開始でき、さらに、読み出しを開始した後においても読み出しを開始してから読み出し終了までの読み出し時間を早く完了させることができ、読み出しにかかるデータ転送効率を向上できるようになる。
【００４１】
また、メモリ側がメモリ交換等により転送条件が変わった場合においても、この変更後の転送条件に基づき最適なＦＩＦＯメモリの読み出し開始のタイミングを得ることができ、データ転送制御装置を備えた装置、例えばデータ処理装置等のメモリ側の仕様変更等に柔軟に対応できるようになる。
【００４２】
また、本発明によるデータ転送制御装置１００のうち、図２に示した読み出し開始演算部１１１は、バイナリカウンタ、シフトレジスタ、加算器、比較器等のハードウェア構成としたが、これに限らず、読み出し開始演算部１１１は同じ機能を有するデータ転送制御プログラム（ソフトウェア）で構成し、ＣＰＵに実行させる構成とすることもできる。
【００４３】
なお、上記のデータ転送方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータのＣＰＵが実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００４４】
（付記１）メモリ側からデータをＦＩＦＯメモリに書き込み、処理装置側が前記ＦＩＦＯメモリからデータを読み出すデータ転送制御装置において、
前記メモリ側に設けられ、前記ＦＩＦＯメモリへのデータの書き込みを制御する書き込み制御手段と、
前記処理装置側に設けられ、前記ＦＩＦＯメモリからのデータの読み出しを制御する読み出し制御手段と、
前記ＦＩＦＯメモリに対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、前記読み出し制御手段に対する読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算手段と、
前記読み出し開始演算手段から出力された前記転送開始通知のクロックを非同期で乗せ換え、前記読み出し制御手段に通知する非同期乗り換え手段と、
を備えたことを特徴とするデータ転送制御装置。
【００４５】
（付記２）前記読み出し開始演算手段は、
入力されるストローブ信号の長さに基づき、１回の転送サイクル数をカウントするカウンタと、
前記処理装置側および前記メモリ側の動作周波数および１サイクルあたりのデータ転送ビット数を示す係数の入力に基づき、前記書き込み制御手段から通知される総転送サイズを変換した値を求める変換手段と、
前記カウンタの出力と、前記変換手段の出力とを比較し、一致した際のタイミングで前記転送開始通知を出力する比較手段と、
を備えたことを特徴とする付記１に記載のデータ転送制御装置。
【００４６】
（付記３）前記係数として、前記メモリ側におけるデータ転送中断サイクルを含むことを特徴とする付記２に記載のデータ転送制御装置。
【００４７】
（付記４）前記係数は、予め処理装置側およびメモリ側の転送条件に基づき外部レジスタに設定され、当該設定された値を用いることを特徴とする付記２または３に記載のデータ転送制御装置。
【００４８】
（付記５）メモリ側の書き込み制御手段によりデータをＦＩＦＯメモリに書き込み、処理装置側の読み出し制御手段により前記ＦＩＦＯメモリからデータを読み出すデータ転送制御装置におけるデータ転送制御方法において、
前記ＦＩＦＯメモリに対するデータの書き込みおよび読み出しそれぞれの転送条件に基づいて、前記読み出し開始を示す転送開始通知の出力タイミングを演算する読み出し開始演算工程と、
前記読み出し開始演算工程により出力される前記転送開始通知のクロックを非同期で乗せ換え、前記読み出し制御手段に通知する非同期乗り換え工程と、
を含むことを特徴とするデータ転送制御方法。
【００４９】
（付記６）前記読み出し開始演算工程は、
入力されるストローブ信号の長さに基づき、１回の転送サイクル数をカウントするカウント工程と、
前記処理装置側および前記メモリ側の動作周波数および１サイクルあたりのデータ転送ビット数を示す係数の入力に基づき、前記書き込み制御手段から通知される総転送サイズを変換した値を求める変換工程と、
前記カウントされた出力と、前記変換工程の出力とを比較し、一致した際のタイミングで前記転送開始通知を出力する比較工程と、
を含むことを特徴とする付記５に記載のデータ転送制御方法。
【００５０】
（付記７）前記係数として、前記メモリ側におけるデータ転送中断サイクルを含むことを特徴とする付記６に記載のデータ転送制御方法。
【産業上の利用可能性】
【００５１】
以上のように、本発明にかかるデータ転送制御装置およびデータ転送制御方法は、処理装置側とメモリ側の間に設けて両者間の異なるデータ転送速度を吸収してデータ転送することができるものであり、大量の画像データを転送する画像データ処理装置を含め、各種データを処理するデータ処理装置に適している。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態によるデータ転送制御装置の構成を示す図である。
【図２】読み出し開始演算部の内部構成を示す構成図である。
【図３】セレクタにより選択される総転送サイズを示す図である。
【図４】本発明のデータ転送制御装置の動作を示すフローチャートである。
【図５】従来のデータ転送制御装置の構成を示すブロック図である。
【符号の説明】
【００５３】
１００  データ転送制御装置
１０１  書き込み制御部
１０２  ＦＩＦＯメモリ
１０３  読み出し制御部
１０４  非同期乗り換え部
１１０  データ転送制御部
１１１  読み出し開始演算部
１２０  メモリ
１２１  メモリ制御部
１３０  ＣＰＵ
１３１  レジスタ
２０１  カウンタ
２０２  比較器
２０３（２０３ａ〜２０３ｃ）  ビットシフタ
２０４，２０７  加算器
２０５  セレクタ
【図１】
2008250470.tif 000003
【図２】
2008250470.tif 000004
【図３】
2008250470.tif 000005
【図４】
2008250470.tif 000006
【図５】
2008250470.tif 000007