説明

メモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法

【課題】書き込み制御部のライトポインタの更新に依存することなく、データ転送効率を向上させることができるメモリアクセス装置を提供することを課題とする。
【解決手段】処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタ(111)と、前記処理部と前記処理領域に対応するデータが格納された第1のメモリとの間に接続された第2のメモリ(102)と、前記第2のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第2のメモリの状態を検出する検出部(111)と、前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第1のメモリから前記第2のメモリに転送するための転送要求を出力する制御部(105)とを有することを特徴とするメモリアクセス装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
メモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法に関する。
【背景技術】
【0002】
特開2007−310600号公報には、書き込み側と読み出し側でクロックが異なるデュアルポートタイプのFIFO(ファーストインファーストアウト)メモリ制御回路が開示されている。書き込み側では、FIFOメモリの空き容量の状態を考慮したFIFOメモリへのデータ書き込み制御が必要となる。読み出し側では、書き込みを追い越さないデータ読み出し制御が必要となる。
【0003】
特開平5−265701号公報には、書き込み/読み出しを行う外部装置がフル信号又はエンプティ信号の検査を書き込み/読み出しに先だって行う必要がないようにし、これにより、検査のために発生する待ち時間をなくすことを目的としたFIFOメモリが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−310600号公報
【特許文献2】特開平5−265701号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ライトポインタの更新に依存することなく、データ転送効率を向上させることができるメモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法を提供することである。
【課題を解決するための手段】
【0006】
本発明の一観点によれば、処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、前記処理部と前記処理領域に対応するデータが格納された第1のメモリとの間に接続された第2のメモリと、前記第2のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第2のメモリの状態を検出する検出部と、前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第1のメモリから前記第2のメモリに転送するための転送要求を出力する制御部とを有することを特徴とするメモリアクセス装置が提供される。
【発明の効果】
【0007】
要求されたデータサイズのカウンタ値を用いることにより、第2のメモリのライトポインタの更新に依存することなく、転送を制御することができるので、データ転送効率を向上させることができる。
【図面の簡単な説明】
【0008】
【図1】メモリアクセスシステムの構成例を示すブロック図である。
【図2】図1のメモリアクセスシステムの動作例を示すタイミングチャートである。
【図3】本発明の第1の実施形態によるメモリアクセスシステムの構成例を示すブロック図である。
【図4】図3のメモリアクセスシステムの処理方法の例を示すタイミングチャートである。
【図5】図5(A)及び(B)はFIFOメモリの空き容量の演算方法を説明するための図である。
【図6】読み出し制御部の処理方法を示すタイミングチャートである。
【図7】本発明の第2の実施形態によるメモリアクセスシステムの構成例を示すブロック図である。
【発明を実施するための形態】
【0009】
(参考技術)
図1は、メモリアクセスシステムの構成例を示すブロック図である。データ転送装置101は、リクエスト受理部103、読み出し制御部104及び書き込み制御部105を有する。読み出し制御部104は、リードポインタRPを格納するリードポインタ格納部201を有する。書き込み制御部105は、ライトポインタWPを格納するライトポインタ格納部202と、FIFOメモリ102の空き容量を演算する空き容量監視部111とを有する。
【0010】
クロック信号CLKAは、画像処理部100のクロック信号である。クロック信号CLKBは、メモリコントローラ108及び外部メインメモリ109のクロック信号である。画像処理部100は、データ転送装置101に対してデータの読み出し要求信号REQを出力する。すると、書き込み制御部105は、クロック信号CLKBに同期して、外部メインメモリ109内の要求されたデータを読み出し、FIFOメモリ102に書き込む。その後、読み出し制御部104は、クロック信号CLKAに同期して、FIFOメモリ102から要求されたデータを読み出し、画像処理部100に出力する。
【0011】
空き容量監視部111は、書き込み制御部105で管理しているライトポインタWPと読み出し制御部104から非同期乗せ換えで入力したリードポインタRPとを基に、FIFOメモリ102の空き容量を演算した後に、メモリコントローラ108へ読み出し要求信号reqを発行してデータ転送が開始される。したがって、ライトポインタWPがデータ転送サイズ分カウントアップされる更新期間中は、次の書き込みのデータ転送サイズに対する空き容量を演算できない。換言すれば、次の書き込み開始の判断(メモリコントローラ108への読み出し要求信号req発行)は、一つ前の書き込みがデータ転送サイズ分完了してからになる。これは、データ転送期間中に次の書き込みデータ転送サイズの空き容量が確保できる状態においても書き込み完了を待つ結果となり、データ転送効率が低下してしまう。
【0012】
図2は、図1のメモリアクセスシステムの動作例を示すタイミングチャートである。書き込み制御部105は、クロック信号CLKBに同期して動作する。まず、書き込み制御部105は、読み出し要求信号reqをメモリコントローラ108に出力する。メモリコントローラ108は、読み出し要求信号reqに対して、メモリ108からデータを読み出し可能であるときには、アクノリッジ信号ackを書き込み制御部105に出力する。その後、メモリコントローラ108は、要求されたデータを外部メインメモリ109から読み出し、FIFOメモリ102に出力すると共に、書き込み制御部105にハイレベルのデータ有効信号stbを出力する。すると、書き込み制御部105は、データ有効信号stbがハイレベルの間、メモリコントローラ108からのデータをFIFOメモリ102に書き込むと共に、ライトポインタWPをインクリメントする。
【0013】
期間T1は、5の転送サイズのデータ転送期間である。期間T1では、次のデータ転送サイズに対する空き容量の演算は行えない。所定のデータ転送サイズの転送が完了した期間T2のサイクルで、空き容量監視部111は、次のデータ転送サイズに対する空き容量の演算を行い、書き込み制御部105は、空き容量が確保できれば、メモリコントローラ108に読み出し要求信号reqを発行して次のデータ転送を開始する。
【0014】
また、ライトポインタWPの更新は、専用のレジスタに設定された問い合わせ周期の間隔で読み出し制御部104から書き込み制御部105へ周期的にライトポインタWPを問い合わせることから、画像処理部100からデータ転送装置101に対して読み出し要求信号REQが発生していない状態でも周期的に問い合わせが発生してしまい、決して効率のよいものではない。また、周期的に問い合わせが発生することから無駄な電力消費にも繋がる。
【0015】
(第1の実施形態)
図3は本発明の第1の実施形態によるメモリアクセスシステムの構成例を示すブロック図であり、図4は図3のメモリアクセスシステムの処理方法の例を示すタイミングチャートである。
【0016】
メモリアクセスシステムは、画像処理部100、データ転送装置101、FIFOメモリ(第2のメモリ)102、メモリコントローラ108及び外部メインメモリ(第1のメモリ)109を有する。メモリアクセス装置は、データ転送装置101、FIFOメモリ102及びメモリコントローラ108を有する。データ転送装置101は、リクエスト受理部103、読み出し制御部104及び書き込み制御部105を有する。読み出し制御部104は、レジスタ群106と、リードポインタRPを格納するリードポインタ格納部201とを有する。書き込み制御部105は、レジスタ群107と、ライトポインタWPを格納するライトポインタ格納部202と、FIFOメモリ102の空き容量を演算する空き容量監視部111とを有する。
【0017】
クロック信号CLKAは、画像処理部100のクロック信号である。クロック信号CLKBは、メモリコントローラ108及び外部メインメモリ109のクロック信号である。読み出し制御部104はクロック信号CLKAに同期して動作し、書き込み制御部105はクロック信号CLKBに同期して動作する。画像処理部100は、データ転送装置101に対して読み出し要求信号REQを出力する。すると、書き込み制御部105は、クロック信号CLKBに同期して、外部メインメモリ109内の要求されたデータを読み出し、FIFOメモリ102に書き込む。その後、読み出し制御部104は、クロック信号CLKAに同期して、FIFOメモリ102から要求されたデータを読み出し、画像処理部100に出力する。FIFOメモリ102は、書き込み及び読み出しを同時に行うことができるデュアルポートタイプのFIFOメモリである。読み出し制御部104のクロック信号CLKAと書き込み制御部105のクロック信号CLKBとは周波数が異なる。書き込み制御部105は、外部メインメモリ109及びFIFOメモリ102間のデータ転送を行う。読み出し制御部104は、FIFOメモリ102及び画像処理部100間のデータ転送を行う。書き込み側はクロック信号CLKBで動作し、読み出し側はクロック信号CLKAで動作する。
【0018】
以下、メモリアクセスシステムの処理方法を説明する。画像処理部100は、外部メインメモリ109に格納されたデータを読み出すために、画像処理領域に対応する要求データの開始アドレス及びサイズCNTを含む読み出し要求信号REQをリクエスト受理部103に出力する。リクエスト受理部103は、その読み出し要求信号REQを入力する。外部メインメモリ109は、例えばSDRAMである。
【0019】
リクエスト受理部103は、クロック信号CLKAと同期したライトイネーブル信号WENを読み出し制御部104内のレジスタ群106に出力し、データサイズCNTをレジスタ群106内の所定のレジスタへ書き込む。同様に、リクエスト受理部103は、クロック信号CLKBと同期したライトイネーブル信号wenを書き込み制御部105内のレジスタ群107に出力し、データサイズCNTをレジスタ107内の所定のレジスタへ書き込む。その後、リクエスト受理部103は、アクノリッジ信号ACKを画像処理部100に出力する。
【0020】
図4の期間T10では、空き容量監視部111は、レジスタ群107にリードイネーブル信号renを出力し、レジスタ群107内の所定のレジスタのデータサイズCNTをデータサイズcntとして読み出す。この時のデータサイズcntは、例えば5ワードである。1ワードは、64ビットである。外部メインメモリ109及びFIFOメモリ102は、各アドレスに1ワードのデータを格納可能である。
【0021】
空き容量監視部111は、転送データサイズカウンタを有する。転送データサイズカウンタは、データサイズcntをカウンタ値wsizeに累積加算するカウンタである。カウンタ値wsizeは、初期値が例えば0であり、ライトポインタWPと同様の値である。ライトポインタWPは、FIFOメモリ102への書き込み終了後に更新されるFIFOメモリ102の書き込みアドレスである。これに対し、カウンタ値wsizeは、FIFOメモリ102への書き込み前に更新されるFIFOメモリ102の書き込み予定アドレスである。
【0022】
期間T11では、空き容量監視部111は、読み出し制御部104から非同期乗せ換えで入力したリードポインタRP、カウンタ値wsize、及び外部の所定のレジスタから読み出したFIFOメモリ102のサイズFSIZEを基にFIFOメモリ102の空き容量を演算する。
【0023】
図5(A)及び(B)は、FIFOメモリ102の空き容量の演算方法を説明するための図である。例えば、FIFOメモリ102は、先に書き込んだデータの順に、先に読み出されるメモリであり、アドレスポインタが0から14までの15段を有する。FIFOメモリ102は、最後のアドレスポインタの14を超えると最初のアドレスポインタの0に戻るリングバッファである。図5(A)及び(B)において、ハッチが描かれているアドレスポインタにはデータが格納されており、ハッチが描かれていないアドレスポインタにはデータが格納されていない。書き込み予定データサイズカウンタ値wsizeは、次の書き込み予定のライトアドレスポインタを示す。画像処理部100から読み出し要求信号REQが入力されていないときには、カウンタ値wsizeは、ライトポインタWPと同じ値である。リードポインタRPは、読み出しアドレスポインタを示す。空き容量は、カウンタ値wsizeとリードポインタRPとそれぞれに関連付けされた位相ビットにより求められる。カウンタ値wsize及びリードポインタRPは、それぞれ4ビットである。例えば、4ビットのカウンタ値wsizeは、初期値0からデータサイズが5、6、7の順番で加算されると、5+6+7により3になる。
【0024】
図5(A)は、カウンタ値wsize及びリードポインタRPの位相ビットが同じときのFIFOメモリ102を示す。位相ビットは、初期値が0であり、以降、カウンタ値wsize及びリードポインタRPがそれぞれ0になる度に、0及び1が反転するトグルを繰り返す。FIFOメモリサイズFSIZEは、例えば15である。カウンタ値wsizeは、例えば9である。リードポインタRPは、例えば3である。3〜8のアドレスポインタには、データが格納済み又は格納予定である。この時、空き容量EMPは、次式で表わされる。
【0025】
EMP=FSIZE−wsize+RP
=15−9+3
=9
【0026】
すなわち、0〜2及び9〜14のアドレスポインタの合計9ワードが空き容量である。
【0027】
図5(B)は、カウンタ値wsize及びリードポインタRPの位相ビットが異なるときのFIFOメモリ102を示す。FIFOメモリサイズFSIZEは、例えば15である。カウンタ値wsizeは、例えば4である。リードポインタRPは、例えば11である。11〜14及び0〜3のアドレスポインタには、データが格納済み又は格納予定である。この時、空き容量EMPは、次式で表わされる。
【0028】
EMP=RP−wsize
=11−4
=7
【0029】
すなわち、4〜10のアドレスポインタの合計7ワードが空き容量である。
【0030】
図4の期間T11では、例えばカウンタ値wsize及びリードポインタRPが0であり、カウンタ値wsize及びリードポインタRPの位相ビットが同じであるので、空き容量EMPは15である。空き容量監視部111は、空き容量EMP(例えば15)に読み出し要求信号REQのデータサイズcnt(例えば5)が書き込み可能な領域を有する状態であるか否かを判断する。データサイズcntが空き容量EMP以下であれば、書き込み可能な領域を有する状態であると判断される。書き込み可能な領域を有する状態である場合、空き容量監視部111は、期間T11の次のクロック信号CLKBのサイクルでメモリコントローラ108に読み出し要求信号reqを出力し、カウンタ値wsize(例えば0)にデータサイズcnt(例えば5)を加算する。書き込み可能でない場合には、リードポインタRPの更新により、書き込み可能な状態になるまで待機する。
【0031】
メモリコントローラ108は、空き容量監視部111から読み出し要求信号reqを入力し、外部メインメモリ109から要求データを読み出し可能なときにはアクノリッジ信号ackを空き容量監視部111に出力する。読み出し要求信号reqは、読み出し要求の開始アドレス及びデータサイズの情報を含む。その後、メモリコントローラ108は、ハイレベルのデータ有効信号stbを書き込み制御部105に出力し、読み出し要求のデータをワード単位で順次、外部メインメモリ109から読み出してFIFOメモリ102に出力する。
【0032】
期間T14において、書き込み制御部105は、データ有効信号stbがハイレベルになると、ワード単位で、メモリコントローラ108により読み出されたデータをFIFOメモリ102に書き込み、ライトポインタWPをインクリメントする。FIFOメモリ102において、0〜4のアドレスポインタに5ワードのデータが書き込まれ、ライトポインタWPは5になる。データ有効信号stbは、読み出しデータサイズ(例えば5)の期間だけハイレベルになる。
【0033】
画像処理部100は、連続して読み出し要求信号REQを出力することができる。例えば、画像処理部100は、上記の5のデータサイズの読み出し要求信号REQに続き、7のデータサイズの読み出し要求信号REQをリクエスト受理部103に出力する。すると、上記と同様に、リクエスト受理部103は、クロック信号CLKAと同期したライトイネーブル信号WENを読み出し制御部104内のレジスタ群106に出力し、データサイズCNTをレジスタ群106内の所定のレジスタへ書き込む。同様に、リクエスト受理部103は、クロック信号CLKBと同期したライトイネーブル信号wenを書き込み制御部105内のレジスタ群107に出力し、データサイズCNTをレジスタ107内の所定のレジスタへ書き込む。その後、リクエスト受理部103は、アクノリッジ信号ACKを画像処理部100に出力する。レジスタ群106及び107は、画像処理部100からの連続する読み出し要求信号REQ(例えば3個)の数だけの複数のレジスタを有し、読み出し要求信号REQ毎に異なるレジスタにデータサイズCNTを格納する。
【0034】
期間T12は、期間T11の後かつ期間T14の前の期間であり、5のデータサイズのデータ転送途中の期間である。期間T12において、空き容量監視部111は、レジスタ群107にリードイネーブル信号renを出力し、レジスタ群107内の所定のレジスタのデータサイズCNTをデータサイズcntとして読み出す。この時のデータサイズcntは、例えば7ワードである。
【0035】
期間T13では、空き容量監視部111は、読み出し制御部104から非同期乗せ換えで入力したリードポインタRP、カウンタ値wsize、及びFIFOメモリサイズFSIZEを基にFIFOメモリ102の空き容量EMPを演算する。空き容量監視部111は、空き容量EMPに読み出し要求信号REQのデータサイズcnt(例えば7)が書き込み可能な領域を有する状態であるか否かを判断する。書き込み可能な領域を有する状態である場合、空き容量監視部111は、期間T13の次のクロック信号CLKBのサイクルでメモリコントローラ108に読み出し要求信号reqを出力し、カウンタ値wsize(例えば5)にデータサイズcnt(例えば7)を加算する。書き込み可能でない場合には、リードポインタRPの更新により、書き込み可能な状態になるまで待機する。
【0036】
メモリコントローラ108は、空き容量監視部111から読み出し要求信号reqを入力し、外部メインメモリ109から要求データを読み出し可能なときにはアクノリッジ信号ackを空き容量監視部111に出力する。その後、メモリコントローラ108は、ハイレベルのデータ有効信号stbを書き込み制御部105に出力し、読み出し要求のデータをワード単位で順次、外部メインメモリ109から読み出してFIFOメモリ102に出力する。
【0037】
期間T15において、書き込み制御部105は、データ有効信号stbがハイレベルになると、ワード単位で、メモリコントローラ108により読み出されたデータをFIFOメモリ102に書き込み、ライトポインタWPをインクリメントする。FIFOメモリ102において、5〜11のアドレスポインタに7ワードのデータが書き込まれ、ライトポインタWPは12になる。データ有効信号stbは、読み出しデータサイズ(例えば7)の期間だけハイレベルになる。
【0038】
以上のように、空き容量監視部111は、カウンタ値wsizeを基に空き容量EMPを演算することにより、5のデータサイズcntの読み出し要求信号req及び7のデータサイズcntの読み出し要求信号reqを連続して出力することができ、5のデータサイズcntのデータ書き込み期間T14に続いて、早期に7のデータサイズcntのデータ書き込み期間T15を設けることができる。
【0039】
図1のように、空き容量監視部111がライトポインタWPを基に空き容量EMPを演算すると、図2のように、5のデータサイズのデータ書き込み期間T1の終了を待って、ライトポインタWPの値が確定してから、次に7のデータサイズの空き容量EMPを演算するので、7のデータサイズのデータ書き込み期間T3が遅れてしまう。
【0040】
ライトポインタWPは、FIFOメモリ102への書き込み後に更新される。これに対し、カウンタ値wsizeは、FIFOメモリ102への書き込み前に、データサイズCNTがレジスタ群107に書き込まれた段階で、書き込み予定ライトポインタとして更新される。画像処理部100から読み出し要求信号REQが入力されていないときには、カウンタ値wsize及びライトポインタWPは同じ値である。
【0041】
本実施形態は、空き容量監視部111がカウンタ値wsizeを基に空き容量EMPを演算するので、5のデータサイズのデータ書き込み期間T14においても、次の7のデータサイズの読み出し要求信号reqを出力できるので、次のデータ書き込み期間T15の開始を早めることができる。これにより、外部メインメモリ109からFIFOメモリ102へのデータ転送効率を向上させることができる。
【0042】
読み出し制御部104は、FIFOメモリ102に書き込まれたデータを読み出して画像処理部100へ出力すると共に、ハイレベルの読み出し有効信号STBを画像処理部100に出力する。この際、FIFOメモリ102のリードポインタRPの読み出しデータが、ライトポインタWPの書き込みデータを追い越さない制御が必要となる。リードポインタRP及びライトポインタWPの関係は、図5(A)及び(B)のリードポインタRP及びカウンタ値wsizeの関係と同様である。そこで、読み出し制御部104は、リードポインタRPと、非同期乗せ換えを行って書き込み制御部105から入力するライトポインタWPの大小関係をモニタしながら、FIFOメモリ102からのデータ読み出しを制御する。すなわち、読み出し制御部104は、リードポインタRPがライトポインタWPを追い越してしまうときには、ライトポインタWPが更新されるまで、リードポインタRPのデータ読み出しを待機する。
【0043】
図6は、読み出し制御部104の処理方法を示すタイミングチャートである。読み出し制御部104は、アップダウンカウンタを有し、常にレジスタ群106へのデータサイズCNTの書き込みの状態を監視している。このアップダウンカウンタは、レジスタ群106へのライトイネーブル信号WENのパルスによりカウンタ値ecntをカウントアップして、画像処理部100への読み出し有効信号STBの最後を意味するエンド信号ENDのパルスによりカウンタ値ecntをカウントダウンする。エンド信号ENDは、データ有効信号stbがローレベルに立ち下がると、ハイレベルパルスが発生する。
【0044】
期間T20はカウンタ値ecntが0の期間であり、期間T21はカウンタ値ecntが1以上の期間である。期間T21は、アップダウンカウンタのカウンタ値ecntが1以上であり、レジスタ群106はデータサイズCNTを保持している状態である。期間T21では、読み出し制御部104は、書き込み制御部105へライトポインタWPの問い合わせを行い、リードポインタRPがライトポインタWPを追い越さないかをチェックする。
【0045】
これに対し、期間T20は、アップダウンカウンタのカウンタ値ecntが0であるので、レジスタ群106は何も保持していない状態、つまり画像処理部100からデータ転送装置101への読み出し要求信号REQが入力されていない状態である。この期間T20では、読み出し制御部104は、書き込み制御部105へライトポインタWPの問い合わせを行わない。期間T21はライトポインタWPの問い合わせ発生期間であり、期間T20はライトポインタWPの問い合わせ停止期間である。したがって、特定の期間T21のみライトポインタWPの問い合わせが発生するため、データ転送装置101の低消費電力化になる。
【0046】
エンド信号ENDのパルスが発生すると、読み出し制御部104は、レジスタ群106内の対応するレジスタをリセット及び解放し、書き込み制御部105は、レジスタ群107内の対応するレジスタをリセット及び解放する。
【0047】
以上のように、読み出し制御部104は、レジスタ群106にデータサイズCNTの書き込みが発生している期間T21だけ書き込み制御部105へライトポインタWPの問い合わせを行いながら、画像処理部100へデータ転送を行う。
【0048】
(第2の実施形態)
図7は、本発明の第2の実施形態によるメモリアクセスシステムの構成例を示すブロック図である。第1の実施形態のメモリアクセスシステム(図3)は、外部メインメモリ109のメモリコントローラ108とデータ転送装置101がそれぞれ独立した構成となっている。これに対し、本実施形態のメモリアクセスシステム(図7)では、データ転送装置101は、メモリコントローラ108の機能を有し、外部メインメモリ109及びFIFOメモリ102の制御を行う。それ以外の点については、本実施形態のメモリアクセスシステム(図7)は、第1の実施形態のメモリアクセスシステム(図3)と同様である。
【0049】
以上のように、第1及び第2の実施形態によれば、空き容量監視部111は、リードポインタRP、データサイズカウンタ値wsize及びFIFOメモリサイズFSIZEを基にFIFOメモリ102の空き容量EMPを演算することにより、読み出し要求信号reqに対するデータ書き込み期間T14の完了を待たずに、メモリコントローラ108へ次の読み出し要求信号reqを出力することが可能となる。FIFOメモリ102の空き容量EMPの演算時に、データサイズカウンタ値wsizeを用いることにより、書き込み制御部105のライトポインタWPの更新に依存することなく、データ転送効率を向上させることができる。また、読み出し制御部104は、レジスタ群106へデータサイズCNTの書き込みが発生している期間T21のみ書き込み制御部105へライトポインタWPの問い合わせを行い、FIFOメモリ102のデータ読み出しを制御する。必要な期間T21のみライトポインタWPの問い合わせを行うので、消費電力を低減することができる。
【0050】
画像処理部100は、処理領域に対応するデータを要求する。外部メインメモリ109は、データを格納する。空き容量監視部111は、画像処理部100から要求された処理領域に対応するデータのサイズCNTを保持している値に基づいてカウンタ値wsizeをカウントするカウンタを有する。FIFOメモリ102は、画像処理部100と上記の処理領域に対応するデータが格納された外部メインメモリ109との間に接続される。空き容量監視部111は、FIFOメモリ102におけるリードポインタRPとカウンタ値wsizeとに基づいて、FIFOメモリ102の状態を検出する検出部である。書き込み制御部105は、空き容量監視部111の検出結果に基づいて、上記の処理領域に対応するデータを外部メインメモリ109からFIFOメモリ102に転送するための転送要求信号reqを出力する。
【0051】
書き込み制御部105は、空き容量監視部111がFIFOメモリ102が書き込み可能な領域を有する状態であることを検出した場合に、実行中の外部メインメモリ109からFIFOメモリ102ヘの書き込みが完了する前に転送要求信号reqを出力することができる。
【0052】
読み出し制御部104のクロック信号CLKAと書き込み制御部105のクロック信号CLKBとは、周波数が異なる。すなわち、FIFOメモリ102から画像処理部100への転送速度と、外部メインメモリ109からFIFOメモリ102ヘの転送速度が異なる。
【0053】
空き容量監視部111は、FIFOメモリ102におけるリードポインタRPとカウンタ値wsizeとに基づいてFIFOメモリ102の空き領域EMPを算出し、空き領域EMPが書き込み可能な領域であるかを判定する。
【0054】
カウンタ値wsizeは、空き領域EMPが書き込み可能な領域である場合にカウントが行われる。
【0055】
レジスタ群106及び107は、画像処理部100から要求された処理領域に対応するデータのサイズCNTを保持するレジスタを有する。書き込み制御部105は、ライトポインタWPに応じてFIFOメモリ102の書き込みを制御する。読み出し制御部104は、リードポインタRPに応じてFIFOメモリ102の読み出しを制御する。書き込み制御部105は、FIFOメモリ102のライトポインタWPを制御する。読み出し制御部104は、レジスタ群106内のレジスタがデータサイズCNTを保持してから、データ有効信号stbのハイレベルによりデータサイズCNTに対応するデータが外部メインメモリ109からFIFOメモリ102へ転送されるまでの間のみ、書き込み制御部105にライトポインタWPを問い合わせ、ライトポインタWPに応じてFIFOメモリ102の読み出しを制御する。
【0056】
第1及び第2の実施形態によれば、要求されたデータサイズのカウンタ値wsizeを用いることにより、FIFOメモリ102のライトポインタWPの更新に依存することなく、転送を制御することができるので、データ転送効率を向上させることができる。
【0057】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0058】
100 画像処理部
101 データ転送装置
102 FIFOメモリ
103 リクエスト受理部
104 読み出し制御部
105 書き込み制御部
106,107 レジスタ群
108 メモリコントローラ
109 外部メインメモリ
111 空き容量監視部

【特許請求の範囲】
【請求項1】
処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、
前記処理部と前記処理領域に対応するデータが格納された第1のメモリとの間に接続された第2のメモリと、
前記第2のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第2のメモリの状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第1のメモリから前記第2のメモリに転送するための転送要求を出力する制御部と
を有することを特徴とするメモリアクセス装置。
【請求項2】
前記制御部は、前記検出部が前記第2のメモリが書き込み可能な領域を有する状態であることを検出した場合に、実行中の前記第1のメモリから前記第2のメモリヘの書き込みが完了する前に前記転送要求を出力することを特徴とする請求項1記載のメモリアクセス装置。
【請求項3】
前記第2のメモリから前記処理部への転送速度と、前記第1のメモリから前記第2のメモリヘの転送速度が異なることを特徴とする請求項1又は2記載のメモリアクセス装置。
【請求項4】
前記第1のメモリはメインメモリであり、前記第2のメモリはFIFOメモリであることを特徴とする請求項1〜3のいずれか1項に記載のメモリアクセス装置。
【請求項5】
前記検出部は、前記FIFOメモリにおけるリードポインタと前記カウンタの値とに基づいて前記FIFOメモリの空き領域を算出し、前記空き領域が前記書き込み可能な領域であるかを判定することを特徴とする請求項4記載のメモリアクセス装置。
【請求項6】
前記カウンタは、前記空き領域が前記書き込み可能な領域である場合に前記カウントを行うことを特徴とする請求項5記載のメモリアクセス装置。
【請求項7】
さらに、前記処理部から要求された処理領域に対応するデータのサイズを保持するレジスタを有し、
前記制御部は、ライトポインタに応じて前記第2のメモリの書き込みを制御する書き込み制御部及びリードポインタに応じて前記第2のメモリの読み出しを制御する読み出し制御部を有し、
前記書き込み制御部は、前記第2のメモリのライトポインタを制御し、
前記読み出し制御部は、前記レジスタが前記データのサイズを保持してから前記データのサイズに対応するデータが前記第1のメモリから前記第2のメモリへ転送されるまでの間のみ、前記書き込み制御部にライトポインタを問い合わせ、前記ライトポインタに応じて前記第2のメモリの読み出しを制御することを特徴とする請求項1〜6のいずれか1項に記載のメモリアクセス装置。
【請求項8】
処理領域に対応するデータを要求する処理部と、
データを格納する第1のメモリと、
前記処理部から要求されたデータを前記第1のメモリから読み出して前記処理部へ出力するメモリアクセス装置とを有するメモリアクセスシステムであって、
前記メモリアクセス装置は、
前記処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、
前記処理部と前記処理領域に対応するデータが格納された前記第1のメモリとの間に接続された第2のメモリと、
前記第2のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第2のメモリの状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記処理領域に対応するデータを前記第1のメモリから前記第2のメモリに転送するための転送要求を出力する制御部と
を有することを特徴とするメモリアクセスシステム。
【請求項9】
処理部から要求された処理領域に対応するデータのサイズを保持している値に基づいてカウントするカウンタと、
前記処理部と前記処理領域に対応するデータが格納された第1のメモリとの間に接続された第2のメモリとを有するメモリアクセス装置の処理方法であって、
前記第2のメモリにおけるリードポインタと前記カウンタの値とに基づいて、前記第2のメモリの状態を検出する検出ステップと、
前記検出ステップの検出結果に基づいて、前記処理領域に対応するデータを前記第1のメモリから前記第2のメモリに転送するための転送要求を出力する制御ステップと
を有することを特徴とするメモリアクセス装置の処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate