(57)【要約】【課題】書き込み制御部のライトポインタの更新に依存することなく、データ転送効率を向上させることができるメモリアクセス装置を提供することを課題とする。【解決手段】処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタ（１１１）と、前記処理部と前記処理領域に対応するデータが格納された第１のメモリとの間に接続された第２のメモリ（１０２）と、前記第２のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第２のメモリの状態を検出する検出部（１１１）と、前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第１のメモリから前記第２のメモリに転送するための転送要求を出力する制御部（１０５）とを有することを特徴とするメモリアクセス装置が提供される。【選択図】図３
2010244197.tif 000002
【特許請求の範囲】
【請求項１】
処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、
前記処理部と前記処理領域に対応するデータが格納された第１のメモリとの間に接続された第２のメモリと、
前記第２のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第２のメモリの状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第１のメモリから前記第２のメモリに転送するための転送要求を出力する制御部と
を有することを特徴とするメモリアクセス装置。
【請求項２】
前記制御部は、前記検出部が前記第２のメモリが書き込み可能な領域を有する状態であることを検出した場合に、実行中の前記第１のメモリから前記第２のメモリヘの書き込みが完了する前に前記転送要求を出力することを特徴とする請求項１記載のメモリアクセス装置。
【請求項３】
前記第２のメモリから前記処理部への転送速度と、前記第１のメモリから前記第２のメモリヘの転送速度が異なることを特徴とする請求項１又は２記載のメモリアクセス装置。
【請求項４】
前記第１のメモリはメインメモリであり、前記第２のメモリはＦＩＦＯメモリであることを特徴とする請求項１〜３のいずれか１項に記載のメモリアクセス装置。
【請求項５】
前記検出部は、前記ＦＩＦＯメモリにおけるリードポインタと前記カウンタの値とに基づいて前記ＦＩＦＯメモリの空き領域を算出し、前記空き領域が前記書き込み可能な領域であるかを判定することを特徴とする請求項４記載のメモリアクセス装置。
【請求項６】
前記カウンタは、前記空き領域が前記書き込み可能な領域である場合に前記カウントを行うことを特徴とする請求項５記載のメモリアクセス装置。
【請求項７】
さらに、前記処理部から要求された処理領域に対応するデータのサイズを保持するレジスタを有し、
前記制御部は、ライトポインタに応じて前記第２のメモリの書き込みを制御する書き込み制御部及びリードポインタに応じて前記第２のメモリの読み出しを制御する読み出し制御部を有し、
前記書き込み制御部は、前記第２のメモリのライトポインタを制御し、
前記読み出し制御部は、前記レジスタが前記データのサイズを保持してから前記データのサイズに対応するデータが前記第１のメモリから前記第２のメモリへ転送されるまでの間のみ、前記書き込み制御部にライトポインタを問い合わせ、前記ライトポインタに応じて前記第２のメモリの読み出しを制御することを特徴とする請求項１〜６のいずれか１項に記載のメモリアクセス装置。
【請求項８】
処理領域に対応するデータを要求する処理部と、
データを格納する第１のメモリと、
前記処理部から要求されたデータを前記第１のメモリから読み出して前記処理部へ出力するメモリアクセス装置とを有するメモリアクセスシステムであって、
前記メモリアクセス装置は、
前記処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、
前記処理部と前記処理領域に対応するデータが格納された前記第１のメモリとの間に接続された第２のメモリと、
前記第２のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第２のメモリの状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第１のメモリから前記第２のメモリに転送するための転送要求を出力する制御部と
を有することを特徴とするメモリアクセスシステム。
【請求項９】
処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、
前記処理部と前記処理領域に対応するデータが格納された第１のメモリとの間に接続された第２のメモリとを有するメモリアクセス装置の処理方法であって、
前記第２のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第２のメモリの状態を検出する検出ステップと、
前記検出ステップの検出結果に基づいて、前記処理領域に対応するデータを前記第１のメモリから前記第２のメモリに転送するための転送要求を出力する制御ステップと
を有することを特徴とするメモリアクセス装置の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
メモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法に関する。
【背景技術】
【０００２】
特開２００７−３１０６００号公報には、書き込み側と読み出し側でクロックが異なるデュアルポートタイプのＦＩＦＯ（ファーストインファーストアウト）メモリ制御回路が開示されている。書き込み側では、ＦＩＦＯメモリの空き容量の状態を考慮したＦＩＦＯメモリへのデータ書き込み制御が必要となる。読み出し側では、書き込みを追い越さないデータ読み出し制御が必要となる。
【０００３】
特開平５−２６５７０１号公報には、書き込み／読み出しを行う外部装置がフル信号又はエンプティ信号の検査を書き込み／読み出しに先だって行う必要がないようにし、これにより、検査のために発生する待ち時間をなくすことを目的としたＦＩＦＯメモリが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３１０６００号公報
【特許文献２】特開平５−２６５７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ライトポインタの更新に依存することなく、データ転送効率を向上させることができるメモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、前記処理部と前記処理領域に対応するデータが格納された第１のメモリとの間に接続された第２のメモリと、前記第２のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第２のメモリの状態を検出する検出部と、前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第１のメモリから前記第２のメモリに転送するための転送要求を出力する制御部とを有することを特徴とするメモリアクセス装置が提供される。
【発明の効果】
【０００７】
要求されたデータサイズのカウンタ値を用いることにより、第２のメモリのライトポインタの更新に依存することなく、転送を制御することができるので、データ転送効率を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】メモリアクセスシステムの構成例を示すブロック図である。
【図２】図１のメモリアクセスシステムの動作例を示すタイミングチャートである。
【図３】本発明の第１の実施形態によるメモリアクセスシステムの構成例を示すブロック図である。
【図４】図３のメモリアクセスシステムの処理方法の例を示すタイミングチャートである。
【図５】図５（Ａ）及び（Ｂ）はＦＩＦＯメモリの空き容量の演算方法を説明するための図である。
【図６】読み出し制御部の処理方法を示すタイミングチャートである。
【図７】本発明の第２の実施形態によるメモリアクセスシステムの構成例を示すブロック図である。
【発明を実施するための形態】
【０００９】
（参考技術）
図１は、メモリアクセスシステムの構成例を示すブロック図である。データ転送装置１０１は、リクエスト受理部１０３、読み出し制御部１０４及び書き込み制御部１０５を有する。読み出し制御部１０４は、リードポインタＲＰを格納するリードポインタ格納部２０１を有する。書き込み制御部１０５は、ライトポインタＷＰを格納するライトポインタ格納部２０２と、ＦＩＦＯメモリ１０２の空き容量を演算する空き容量監視部１１１とを有する。
【００１０】
クロック信号ＣＬＫＡは、画像処理部１００のクロック信号である。クロック信号ＣＬＫＢは、メモリコントローラ１０８及び外部メインメモリ１０９のクロック信号である。画像処理部１００は、データ転送装置１０１に対してデータの読み出し要求信号ＲＥＱを出力する。すると、書き込み制御部１０５は、クロック信号ＣＬＫＢに同期して、外部メインメモリ１０９内の要求されたデータを読み出し、ＦＩＦＯメモリ１０２に書き込む。その後、読み出し制御部１０４は、クロック信号ＣＬＫＡに同期して、ＦＩＦＯメモリ１０２から要求されたデータを読み出し、画像処理部１００に出力する。
【００１１】
空き容量監視部１１１は、書き込み制御部１０５で管理しているライトポインタＷＰと読み出し制御部１０４から非同期乗せ換えで入力したリードポインタＲＰとを基に、ＦＩＦＯメモリ１０２の空き容量を演算した後に、メモリコントローラ１０８へ読み出し要求信号ｒｅｑを発行してデータ転送が開始される。したがって、ライトポインタＷＰがデータ転送サイズ分カウントアップされる更新期間中は、次の書き込みのデータ転送サイズに対する空き容量を演算できない。換言すれば、次の書き込み開始の判断（メモリコントローラ１０８への読み出し要求信号ｒｅｑ発行）は、一つ前の書き込みがデータ転送サイズ分完了してからになる。これは、データ転送期間中に次の書き込みデータ転送サイズの空き容量が確保できる状態においても書き込み完了を待つ結果となり、データ転送効率が低下してしまう。
【００１２】
図２は、図１のメモリアクセスシステムの動作例を示すタイミングチャートである。書き込み制御部１０５は、クロック信号ＣＬＫＢに同期して動作する。まず、書き込み制御部１０５は、読み出し要求信号ｒｅｑをメモリコントローラ１０８に出力する。メモリコントローラ１０８は、読み出し要求信号ｒｅｑに対して、メモリ１０８からデータを読み出し可能であるときには、アクノリッジ信号ａｃｋを書き込み制御部１０５に出力する。その後、メモリコントローラ１０８は、要求されたデータを外部メインメモリ１０９から読み出し、ＦＩＦＯメモリ１０２に出力すると共に、書き込み制御部１０５にハイレベルのデータ有効信号ｓｔｂを出力する。すると、書き込み制御部１０５は、データ有効信号ｓｔｂがハイレベルの間、メモリコントローラ１０８からのデータをＦＩＦＯメモリ１０２に書き込むと共に、ライトポインタＷＰをインクリメントする。
【００１３】
期間Ｔ１は、５の転送サイズのデータ転送期間である。期間Ｔ１では、次のデータ転送サイズに対する空き容量の演算は行えない。所定のデータ転送サイズの転送が完了した期間Ｔ２のサイクルで、空き容量監視部１１１は、次のデータ転送サイズに対する空き容量の演算を行い、書き込み制御部１０５は、空き容量が確保できれば、メモリコントローラ１０８に読み出し要求信号ｒｅｑを発行して次のデータ転送を開始する。
【００１４】
また、ライトポインタＷＰの更新は、専用のレジスタに設定された問い合わせ周期の間隔で読み出し制御部１０４から書き込み制御部１０５へ周期的にライトポインタＷＰを問い合わせることから、画像処理部１００からデータ転送装置１０１に対して読み出し要求信号ＲＥＱが発生していない状態でも周期的に問い合わせが発生してしまい、決して効率のよいものではない。また、周期的に問い合わせが発生することから無駄な電力消費にも繋がる。
【００１５】
（第１の実施形態）
図３は本発明の第１の実施形態によるメモリアクセスシステムの構成例を示すブロック図であり、図４は図３のメモリアクセスシステムの処理方法の例を示すタイミングチャートである。
【００１６】
メモリアクセスシステムは、画像処理部１００、データ転送装置１０１、ＦＩＦＯメモリ（第２のメモリ）１０２、メモリコントローラ１０８及び外部メインメモリ（第１のメモリ）１０９を有する。メモリアクセス装置は、データ転送装置１０１、ＦＩＦＯメモリ１０２及びメモリコントローラ１０８を有する。データ転送装置１０１は、リクエスト受理部１０３、読み出し制御部１０４及び書き込み制御部１０５を有する。読み出し制御部１０４は、レジスタ群１０６と、リードポインタＲＰを格納するリードポインタ格納部２０１とを有する。書き込み制御部１０５は、レジスタ群１０７と、ライトポインタＷＰを格納するライトポインタ格納部２０２と、ＦＩＦＯメモリ１０２の空き容量を演算する空き容量監視部１１１とを有する。
【００１７】
クロック信号ＣＬＫＡは、画像処理部１００のクロック信号である。クロック信号ＣＬＫＢは、メモリコントローラ１０８及び外部メインメモリ１０９のクロック信号である。読み出し制御部１０４はクロック信号ＣＬＫＡに同期して動作し、書き込み制御部１０５はクロック信号ＣＬＫＢに同期して動作する。画像処理部１００は、データ転送装置１０１に対して読み出し要求信号ＲＥＱを出力する。すると、書き込み制御部１０５は、クロック信号ＣＬＫＢに同期して、外部メインメモリ１０９内の要求されたデータを読み出し、ＦＩＦＯメモリ１０２に書き込む。その後、読み出し制御部１０４は、クロック信号ＣＬＫＡに同期して、ＦＩＦＯメモリ１０２から要求されたデータを読み出し、画像処理部１００に出力する。ＦＩＦＯメモリ１０２は、書き込み及び読み出しを同時に行うことができるデュアルポートタイプのＦＩＦＯメモリである。読み出し制御部１０４のクロック信号ＣＬＫＡと書き込み制御部１０５のクロック信号ＣＬＫＢとは周波数が異なる。書き込み制御部１０５は、外部メインメモリ１０９及びＦＩＦＯメモリ１０２間のデータ転送を行う。読み出し制御部１０４は、ＦＩＦＯメモリ１０２及び画像処理部１００間のデータ転送を行う。書き込み側はクロック信号ＣＬＫＢで動作し、読み出し側はクロック信号ＣＬＫＡで動作する。
【００１８】
以下、メモリアクセスシステムの処理方法を説明する。画像処理部１００は、外部メインメモリ１０９に格納されたデータを読み出すために、画像処理領域に対応する要求データの開始アドレス及びサイズＣＮＴを含む読み出し要求信号ＲＥＱをリクエスト受理部１０３に出力する。リクエスト受理部１０３は、その読み出し要求信号ＲＥＱを入力する。外部メインメモリ１０９は、例えばＳＤＲＡＭである。
【００１９】
リクエスト受理部１０３は、クロック信号ＣＬＫＡと同期したライトイネーブル信号ＷＥＮを読み出し制御部１０４内のレジスタ群１０６に出力し、データサイズＣＮＴをレジスタ群１０６内の所定のレジスタへ書き込む。同様に、リクエスト受理部１０３は、クロック信号ＣＬＫＢと同期したライトイネーブル信号ｗｅｎを書き込み制御部１０５内のレジスタ群１０７に出力し、データサイズＣＮＴをレジスタ１０７内の所定のレジスタへ書き込む。その後、リクエスト受理部１０３は、アクノリッジ信号ＡＣＫを画像処理部１００に出力する。
【００２０】
図４の期間Ｔ１０では、空き容量監視部１１１は、レジスタ群１０７にリードイネーブル信号ｒｅｎを出力し、レジスタ群１０７内の所定のレジスタのデータサイズＣＮＴをデータサイズｃｎｔとして読み出す。この時のデータサイズｃｎｔは、例えば５ワードである。１ワードは、６４ビットである。外部メインメモリ１０９及びＦＩＦＯメモリ１０２は、各アドレスに１ワードのデータを格納可能である。
【００２１】
空き容量監視部１１１は、転送データサイズカウンタを有する。転送データサイズカウンタは、データサイズｃｎｔをカウンタ値ｗｓｉｚｅに累積加算するカウンタである。カウンタ値ｗｓｉｚｅは、初期値が例えば０であり、ライトポインタＷＰと同様の値である。ライトポインタＷＰは、ＦＩＦＯメモリ１０２への書き込み終了後に更新されるＦＩＦＯメモリ１０２の書き込みアドレスである。これに対し、カウンタ値ｗｓｉｚｅは、ＦＩＦＯメモリ１０２への書き込み前に更新されるＦＩＦＯメモリ１０２の書き込み予定アドレスである。
【００２２】
期間Ｔ１１では、空き容量監視部１１１は、読み出し制御部１０４から非同期乗せ換えで入力したリードポインタＲＰ、カウンタ値ｗｓｉｚｅ、及び外部の所定のレジスタから読み出したＦＩＦＯメモリ１０２のサイズＦＳＩＺＥを基にＦＩＦＯメモリ１０２の空き容量を演算する。
【００２３】
図５（Ａ）及び（Ｂ）は、ＦＩＦＯメモリ１０２の空き容量の演算方法を説明するための図である。例えば、ＦＩＦＯメモリ１０２は、先に書き込んだデータの順に、先に読み出されるメモリであり、アドレスポインタが０から１４までの１５段を有する。ＦＩＦＯメモリ１０２は、最後のアドレスポインタの１４を超えると最初のアドレスポインタの０に戻るリングバッファである。図５（Ａ）及び（Ｂ）において、ハッチが描かれているアドレスポインタにはデータが格納されており、ハッチが描かれていないアドレスポインタにはデータが格納されていない。書き込み予定データサイズカウンタ値ｗｓｉｚｅは、次の書き込み予定のライトアドレスポインタを示す。画像処理部１００から読み出し要求信号ＲＥＱが入力されていないときには、カウンタ値ｗｓｉｚｅは、ライトポインタＷＰと同じ値である。リードポインタＲＰは、読み出しアドレスポインタを示す。空き容量は、カウンタ値ｗｓｉｚｅとリードポインタＲＰとそれぞれに関連付けされた位相ビットにより求められる。カウンタ値ｗｓｉｚｅ及びリードポインタＲＰは、それぞれ４ビットである。例えば、４ビットのカウンタ値ｗｓｉｚｅは、初期値０からデータサイズが５、６、７の順番で加算されると、５＋６＋７により３になる。
【００２４】
図５（Ａ）は、カウンタ値ｗｓｉｚｅ及びリードポインタＲＰの位相ビットが同じときのＦＩＦＯメモリ１０２を示す。位相ビットは、初期値が０であり、以降、カウンタ値ｗｓｉｚｅ及びリードポインタＲＰがそれぞれ０になる度に、０及び１が反転するトグルを繰り返す。ＦＩＦＯメモリサイズＦＳＩＺＥは、例えば１５である。カウンタ値ｗｓｉｚｅは、例えば９である。リードポインタＲＰは、例えば３である。３〜８のアドレスポインタには、データが格納済み又は格納予定である。この時、空き容量ＥＭＰは、次式で表わされる。
【００２５】
ＥＭＰ＝ＦＳＩＺＥ−ｗｓｉｚｅ＋ＲＰ
＝１５−９＋３
＝９
【００２６】
すなわち、０〜２及び９〜１４のアドレスポインタの合計９ワードが空き容量である。
【００２７】
図５（Ｂ）は、カウンタ値ｗｓｉｚｅ及びリードポインタＲＰの位相ビットが異なるときのＦＩＦＯメモリ１０２を示す。ＦＩＦＯメモリサイズＦＳＩＺＥは、例えば１５である。カウンタ値ｗｓｉｚｅは、例えば４である。リードポインタＲＰは、例えば１１である。１１〜１４及び０〜３のアドレスポインタには、データが格納済み又は格納予定である。この時、空き容量ＥＭＰは、次式で表わされる。
【００２８】
ＥＭＰ＝ＲＰ−ｗｓｉｚｅ
＝１１−４
＝７
【００２９】
すなわち、４〜１０のアドレスポインタの合計７ワードが空き容量である。
【００３０】
図４の期間Ｔ１１では、例えばカウンタ値ｗｓｉｚｅ及びリードポインタＲＰが０であり、カウンタ値ｗｓｉｚｅ及びリードポインタＲＰの位相ビットが同じであるので、空き容量ＥＭＰは１５である。空き容量監視部１１１は、空き容量ＥＭＰ（例えば１５）に読み出し要求信号ＲＥＱのデータサイズｃｎｔ（例えば５）が書き込み可能な領域を有する状態であるか否かを判断する。データサイズｃｎｔが空き容量ＥＭＰ以下であれば、書き込み可能な領域を有する状態であると判断される。書き込み可能な領域を有する状態である場合、空き容量監視部１１１は、期間Ｔ１１の次のクロック信号ＣＬＫＢのサイクルでメモリコントローラ１０８に読み出し要求信号ｒｅｑを出力し、カウンタ値ｗｓｉｚｅ（例えば０）にデータサイズｃｎｔ（例えば５）を加算する。書き込み可能でない場合には、リードポインタＲＰの更新により、書き込み可能な状態になるまで待機する。
【００３１】
メモリコントローラ１０８は、空き容量監視部１１１から読み出し要求信号ｒｅｑを入力し、外部メインメモリ１０９から要求データを読み出し可能なときにはアクノリッジ信号ａｃｋを空き容量監視部１１１に出力する。読み出し要求信号ｒｅｑは、読み出し要求の開始アドレス及びデータサイズの情報を含む。その後、メモリコントローラ１０８は、ハイレベルのデータ有効信号ｓｔｂを書き込み制御部１０５に出力し、読み出し要求のデータをワード単位で順次、外部メインメモリ１０９から読み出してＦＩＦＯメモリ１０２に出力する。
【００３２】
期間Ｔ１４において、書き込み制御部１０５は、データ有効信号ｓｔｂがハイレベルになると、ワード単位で、メモリコントローラ１０８により読み出されたデータをＦＩＦＯメモリ１０２に書き込み、ライトポインタＷＰをインクリメントする。ＦＩＦＯメモリ１０２において、０〜４のアドレスポインタに５ワードのデータが書き込まれ、ライトポインタＷＰは５になる。データ有効信号ｓｔｂは、読み出しデータサイズ（例えば５）の期間だけハイレベルになる。
【００３３】
画像処理部１００は、連続して読み出し要求信号ＲＥＱを出力することができる。例えば、画像処理部１００は、上記の５のデータサイズの読み出し要求信号ＲＥＱに続き、７のデータサイズの読み出し要求信号ＲＥＱをリクエスト受理部１０３に出力する。すると、上記と同様に、リクエスト受理部１０３は、クロック信号ＣＬＫＡと同期したライトイネーブル信号ＷＥＮを読み出し制御部１０４内のレジスタ群１０６に出力し、データサイズＣＮＴをレジスタ群１０６内の所定のレジスタへ書き込む。同様に、リクエスト受理部１０３は、クロック信号ＣＬＫＢと同期したライトイネーブル信号ｗｅｎを書き込み制御部１０５内のレジスタ群１０７に出力し、データサイズＣＮＴをレジスタ１０７内の所定のレジスタへ書き込む。その後、リクエスト受理部１０３は、アクノリッジ信号ＡＣＫを画像処理部１００に出力する。レジスタ群１０６及び１０７は、画像処理部１００からの連続する読み出し要求信号ＲＥＱ（例えば３個）の数だけの複数のレジスタを有し、読み出し要求信号ＲＥＱ毎に異なるレジスタにデータサイズＣＮＴを格納する。
【００３４】
期間Ｔ１２は、期間Ｔ１１の後かつ期間Ｔ１４の前の期間であり、５のデータサイズのデータ転送途中の期間である。期間Ｔ１２において、空き容量監視部１１１は、レジスタ群１０７にリードイネーブル信号ｒｅｎを出力し、レジスタ群１０７内の所定のレジスタのデータサイズＣＮＴをデータサイズｃｎｔとして読み出す。この時のデータサイズｃｎｔは、例えば７ワードである。
【００３５】
期間Ｔ１３では、空き容量監視部１１１は、読み出し制御部１０４から非同期乗せ換えで入力したリードポインタＲＰ、カウンタ値ｗｓｉｚｅ、及びＦＩＦＯメモリサイズＦＳＩＺＥを基にＦＩＦＯメモリ１０２の空き容量ＥＭＰを演算する。空き容量監視部１１１は、空き容量ＥＭＰに読み出し要求信号ＲＥＱのデータサイズｃｎｔ（例えば７）が書き込み可能な領域を有する状態であるか否かを判断する。書き込み可能な領域を有する状態である場合、空き容量監視部１１１は、期間Ｔ１３の次のクロック信号ＣＬＫＢのサイクルでメモリコントローラ１０８に読み出し要求信号ｒｅｑを出力し、カウンタ値ｗｓｉｚｅ（例えば５）にデータサイズｃｎｔ（例えば７）を加算する。書き込み可能でない場合には、リードポインタＲＰの更新により、書き込み可能な状態になるまで待機する。
【００３６】
メモリコントローラ１０８は、空き容量監視部１１１から読み出し要求信号ｒｅｑを入力し、外部メインメモリ１０９から要求データを読み出し可能なときにはアクノリッジ信号ａｃｋを空き容量監視部１１１に出力する。その後、メモリコントローラ１０８は、ハイレベルのデータ有効信号ｓｔｂを書き込み制御部１０５に出力し、読み出し要求のデータをワード単位で順次、外部メインメモリ１０９から読み出してＦＩＦＯメモリ１０２に出力する。
【００３７】
期間Ｔ１５において、書き込み制御部１０５は、データ有効信号ｓｔｂがハイレベルになると、ワード単位で、メモリコントローラ１０８により読み出されたデータをＦＩＦＯメモリ１０２に書き込み、ライトポインタＷＰをインクリメントする。ＦＩＦＯメモリ１０２において、５〜１１のアドレスポインタに７ワードのデータが書き込まれ、ライトポインタＷＰは１２になる。データ有効信号ｓｔｂは、読み出しデータサイズ（例えば７）の期間だけハイレベルになる。
【００３８】
以上のように、空き容量監視部１１１は、カウンタ値ｗｓｉｚｅを基に空き容量ＥＭＰを演算することにより、５のデータサイズｃｎｔの読み出し要求信号ｒｅｑ及び７のデータサイズｃｎｔの読み出し要求信号ｒｅｑを連続して出力することができ、５のデータサイズｃｎｔのデータ書き込み期間Ｔ１４に続いて、早期に７のデータサイズｃｎｔのデータ書き込み期間Ｔ１５を設けることができる。
【００３９】
図１のように、空き容量監視部１１１がライトポインタＷＰを基に空き容量ＥＭＰを演算すると、図２のように、５のデータサイズのデータ書き込み期間Ｔ１の終了を待って、ライトポインタＷＰの値が確定してから、次に７のデータサイズの空き容量ＥＭＰを演算するので、７のデータサイズのデータ書き込み期間Ｔ３が遅れてしまう。
【００４０】
ライトポインタＷＰは、ＦＩＦＯメモリ１０２への書き込み後に更新される。これに対し、カウンタ値ｗｓｉｚｅは、ＦＩＦＯメモリ１０２への書き込み前に、データサイズＣＮＴがレジスタ群１０７に書き込まれた段階で、書き込み予定ライトポインタとして更新される。画像処理部１００から読み出し要求信号ＲＥＱが入力されていないときには、カウンタ値ｗｓｉｚｅ及びライトポインタＷＰは同じ値である。
【００４１】
本実施形態は、空き容量監視部１１１がカウンタ値ｗｓｉｚｅを基に空き容量ＥＭＰを演算するので、５のデータサイズのデータ書き込み期間Ｔ１４においても、次の７のデータサイズの読み出し要求信号ｒｅｑを出力できるので、次のデータ書き込み期間Ｔ１５の開始を早めることができる。これにより、外部メインメモリ１０９からＦＩＦＯメモリ１０２へのデータ転送効率を向上させることができる。
【００４２】
読み出し制御部１０４は、ＦＩＦＯメモリ１０２に書き込まれたデータを読み出して画像処理部１００へ出力すると共に、ハイレベルの読み出し有効信号ＳＴＢを画像処理部１００に出力する。この際、ＦＩＦＯメモリ１０２のリードポインタＲＰの読み出しデータが、ライトポインタＷＰの書き込みデータを追い越さない制御が必要となる。リードポインタＲＰ及びライトポインタＷＰの関係は、図５（Ａ）及び（Ｂ）のリードポインタＲＰ及びカウンタ値ｗｓｉｚｅの関係と同様である。そこで、読み出し制御部１０４は、リードポインタＲＰと、非同期乗せ換えを行って書き込み制御部１０５から入力するライトポインタＷＰの大小関係をモニタしながら、ＦＩＦＯメモリ１０２からのデータ読み出しを制御する。すなわち、読み出し制御部１０４は、リードポインタＲＰがライトポインタＷＰを追い越してしまうときには、ライトポインタＷＰが更新されるまで、リードポインタＲＰのデータ読み出しを待機する。
【００４３】
図６は、読み出し制御部１０４の処理方法を示すタイミングチャートである。読み出し制御部１０４は、アップダウンカウンタを有し、常にレジスタ群１０６へのデータサイズＣＮＴの書き込みの状態を監視している。このアップダウンカウンタは、レジスタ群１０６へのライトイネーブル信号ＷＥＮのパルスによりカウンタ値ｅｃｎｔをカウントアップして、画像処理部１００への読み出し有効信号ＳＴＢの最後を意味するエンド信号ＥＮＤのパルスによりカウンタ値ｅｃｎｔをカウントダウンする。エンド信号ＥＮＤは、データ有効信号ｓｔｂがローレベルに立ち下がると、ハイレベルパルスが発生する。
【００４４】
期間Ｔ２０はカウンタ値ｅｃｎｔが０の期間であり、期間Ｔ２１はカウンタ値ｅｃｎｔが１以上の期間である。期間Ｔ２１は、アップダウンカウンタのカウンタ値ｅｃｎｔが１以上であり、レジスタ群１０６はデータサイズＣＮＴを保持している状態である。期間Ｔ２１では、読み出し制御部１０４は、書き込み制御部１０５へライトポインタＷＰの問い合わせを行い、リードポインタＲＰがライトポインタＷＰを追い越さないかをチェックする。
【００４５】
これに対し、期間Ｔ２０は、アップダウンカウンタのカウンタ値ｅｃｎｔが０であるので、レジスタ群１０６は何も保持していない状態、つまり画像処理部１００からデータ転送装置１０１への読み出し要求信号ＲＥＱが入力されていない状態である。この期間Ｔ２０では、読み出し制御部１０４は、書き込み制御部１０５へライトポインタＷＰの問い合わせを行わない。期間Ｔ２１はライトポインタＷＰの問い合わせ発生期間であり、期間Ｔ２０はライトポインタＷＰの問い合わせ停止期間である。したがって、特定の期間Ｔ２１のみライトポインタＷＰの問い合わせが発生するため、データ転送装置１０１の低消費電力化になる。
【００４６】
エンド信号ＥＮＤのパルスが発生すると、読み出し制御部１０４は、レジスタ群１０６内の対応するレジスタをリセット及び解放し、書き込み制御部１０５は、レジスタ群１０７内の対応するレジスタをリセット及び解放する。
【００４７】
以上のように、読み出し制御部１０４は、レジスタ群１０６にデータサイズＣＮＴの書き込みが発生している期間Ｔ２１だけ書き込み制御部１０５へライトポインタＷＰの問い合わせを行いながら、画像処理部１００へデータ転送を行う。
【００４８】
（第２の実施形態）
図７は、本発明の第２の実施形態によるメモリアクセスシステムの構成例を示すブロック図である。第１の実施形態のメモリアクセスシステム（図３）は、外部メインメモリ１０９のメモリコントローラ１０８とデータ転送装置１０１がそれぞれ独立した構成となっている。これに対し、本実施形態のメモリアクセスシステム（図７）では、データ転送装置１０１は、メモリコントローラ１０８の機能を有し、外部メインメモリ１０９及びＦＩＦＯメモリ１０２の制御を行う。それ以外の点については、本実施形態のメモリアクセスシステム（図７）は、第１の実施形態のメモリアクセスシステム（図３）と同様である。
【００４９】
以上のように、第１及び第２の実施形態によれば、空き容量監視部１１１は、リードポインタＲＰ、データサイズカウンタ値ｗｓｉｚｅ及びＦＩＦＯメモリサイズＦＳＩＺＥを基にＦＩＦＯメモリ１０２の空き容量ＥＭＰを演算することにより、読み出し要求信号ｒｅｑに対するデータ書き込み期間Ｔ１４の完了を待たずに、メモリコントローラ１０８へ次の読み出し要求信号ｒｅｑを出力することが可能となる。ＦＩＦＯメモリ１０２の空き容量ＥＭＰの演算時に、データサイズカウンタ値ｗｓｉｚｅを用いることにより、書き込み制御部１０５のライトポインタＷＰの更新に依存することなく、データ転送効率を向上させることができる。また、読み出し制御部１０４は、レジスタ群１０６へデータサイズＣＮＴの書き込みが発生している期間Ｔ２１のみ書き込み制御部１０５へライトポインタＷＰの問い合わせを行い、ＦＩＦＯメモリ１０２のデータ読み出しを制御する。必要な期間Ｔ２１のみライトポインタＷＰの問い合わせを行うので、消費電力を低減することができる。
【００５０】
画像処理部１００は、処理領域に対応するデータを要求する。外部メインメモリ１０９は、データを格納する。空き容量監視部１１１は、画像処理部１００から要求された処理領域に対応するデータのサイズＣＮＴを保持している値に基づいてカウンタ値ｗｓｉｚｅをカウントするカウンタを有する。ＦＩＦＯメモリ１０２は、画像処理部１００と上記の処理領域に対応するデータが格納された外部メインメモリ１０９との間に接続される。空き容量監視部１１１は、ＦＩＦＯメモリ１０２におけるリードポインタＲＰとカウンタ値ｗｓｉｚｅとに基づいて、ＦＩＦＯメモリ１０２の状態を検出する検出部である。書き込み制御部１０５は、空き容量監視部１１１の検出結果に基づいて、上記の処理領域に対応するデータを外部メインメモリ１０９からＦＩＦＯメモリ１０２に転送するための転送要求信号ｒｅｑを出力する。
【００５１】
書き込み制御部１０５は、空き容量監視部１１１がＦＩＦＯメモリ１０２が書き込み可能な領域を有する状態であることを検出した場合に、実行中の外部メインメモリ１０９からＦＩＦＯメモリ１０２ヘの書き込みが完了する前に転送要求信号ｒｅｑを出力することができる。
【００５２】
読み出し制御部１０４のクロック信号ＣＬＫＡと書き込み制御部１０５のクロック信号ＣＬＫＢとは、周波数が異なる。すなわち、ＦＩＦＯメモリ１０２から画像処理部１００への転送速度と、外部メインメモリ１０９からＦＩＦＯメモリ１０２ヘの転送速度が異なる。
【００５３】
空き容量監視部１１１は、ＦＩＦＯメモリ１０２におけるリードポインタＲＰとカウンタ値ｗｓｉｚｅとに基づいてＦＩＦＯメモリ１０２の空き領域ＥＭＰを算出し、空き領域ＥＭＰが書き込み可能な領域であるかを判定する。
【００５４】
カウンタ値ｗｓｉｚｅは、空き領域ＥＭＰが書き込み可能な領域である場合にカウントが行われる。
【００５５】
レジスタ群１０６及び１０７は、画像処理部１００から要求された処理領域に対応するデータのサイズＣＮＴを保持するレジスタを有する。書き込み制御部１０５は、ライトポインタＷＰに応じてＦＩＦＯメモリ１０２の書き込みを制御する。読み出し制御部１０４は、リードポインタＲＰに応じてＦＩＦＯメモリ１０２の読み出しを制御する。書き込み制御部１０５は、ＦＩＦＯメモリ１０２のライトポインタＷＰを制御する。読み出し制御部１０４は、レジスタ群１０６内のレジスタがデータサイズＣＮＴを保持してから、データ有効信号ｓｔｂのハイレベルによりデータサイズＣＮＴに対応するデータが外部メインメモリ１０９からＦＩＦＯメモリ１０２へ転送されるまでの間のみ、書き込み制御部１０５にライトポインタＷＰを問い合わせ、ライトポインタＷＰに応じてＦＩＦＯメモリ１０２の読み出しを制御する。
【００５６】
第１及び第２の実施形態によれば、要求されたデータサイズのカウンタ値ｗｓｉｚｅを用いることにより、ＦＩＦＯメモリ１０２のライトポインタＷＰの更新に依存することなく、転送を制御することができるので、データ転送効率を向上させることができる。
【００５７】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５８】
１００  画像処理部
１０１  データ転送装置
１０２  ＦＩＦＯメモリ
１０３  リクエスト受理部
１０４  読み出し制御部
１０５  書き込み制御部
１０６，１０７  レジスタ群
１０８  メモリコントローラ
１０９  外部メインメモリ
１１１  空き容量監視部
【図１】
2010244197.tif 000003
【図２】
2010244197.tif 000004
【図３】
2010244197.tif 000005
【図４】
2010244197.tif 000006
【図５】
2010244197.tif 000007
【図６】
2010244197.tif 000008
【図７】
2010244197.tif 000009