(57)【要約】【課題】画像データを読み出すにあたり、外部メモリへのアクセス回数を削減して、処理時間を短縮する。【解決手段】キャッシュメモリの１つの領域を選択する。複数の入力アドレスから１の選択アドレスを選択する。選択アドレスが示す画素のデータがキャッシュメモリに格納されているか否かを判定する。選択アドレスが示す画素のデータがキャッシュメモリに格納されているとき、キャッシュメモリの複数の領域に格納されているデータを受け取り、選択信号が選択する領域に書き込む。選択アドレスが示す画素のデータがキャッシュメモリに格納されていないとき、選択アドレスが示すデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出して、選択信号が選択する領域に書き込む。【選択図】図３
2010033420.tif 000002
【特許請求の範囲】
【請求項１】
複数の領域のそれぞれにアドレス及び該アドレスが示す画素のデータが格納されるキャッシュメモリを有し、入力された複数の入力アドレスがそれぞれ示す画素のデータを、前記キャッシュメモリから読み出して出力するキャッシュ回路であって、
前記キャッシュメモリの１つの領域を選択する選択信号を生成するリード制御部と、
前記複数の入力アドレスの１つを選択アドレスとして選択するアドレス選択部と、
前記選択アドレスが示す画素のデータが前記キャッシュメモリに格納されているか否かを判定して、判定結果を示すキャッシュヒット判定信号、及び、前記選択アドレスが示す画素のデータが格納されている領域を示すキャッシュヒット信号を生成するキャッシュヒット判定部と、
前記選択アドレスが示す画素のデータが前記キャッシュメモリに格納されているとき、前記キャッシュヒット信号が示す領域のデータをキャッシュヒットデータとして選択するキャッシュヒットデータ選択部と、
前記選択アドレスが示す画素のデータが前記キャッシュメモリに格納されていないとき、前記選択アドレスが示す画素のデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出すメモリ制御部と、
前記選択アドレスが示す画素のデータがキャッシュメモリに格納されているとき、前記キャッシュヒットデータをライトデータとして選択し、一方、前記選択アドレスが示す画素のデータがキャッシュメモリに格納されていないとき、前記リードデータをライトデータとして選択し、前記ライトデータを前記キャッシュメモリに送るとともに、前記ライトデータが使用可能であることを示すライトデータ判定信号を生成するライトデータ判定部と、
前記ライトデータ判定信号が、前記ライトデータが使用可能であることを示す場合に、前記選択信号が選択する前記キャッシュメモリの領域を書き込み可能とするライトイネーブル信号を生成して前記キャッシュメモリに送るライト領域選択部と
を備えることを特徴とするキャッシュ回路。
【請求項２】
複数の領域のそれぞれに、当該領域が有効か否かを示す有効ビット、アドレス、該アドレスが示す画素のデータ、該データが格納されているか否かを示す完了ビット、及びリード番号が格納されるキャッシュメモリを有し、入力された複数の入力アドレスがそれぞれ示す画素のデータを、前記キャッシュメモリから読み出して出力するキャッシュ回路であって、
前記キャッシュメモリの１つの領域を選択する選択信号を生成するリード制御部と、
前記複数の入力アドレスの１つを選択アドレスとして選択するアドレス選択部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されているか否かを判定して、判定結果を示すキャッシュヒット判定信号、及び、格納されている場合には、格納されている領域を示すキャッシュヒット信号を生成するキャッシュヒット判定部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されているとき、前記キャッシュヒット信号が示す領域のデータをキャッシュヒットデータとして選択するキャッシュヒットデータ選択部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されていないとき、前記選択アドレスが示す画素のデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出すメモリ制御部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されており、かつ、当該領域へのデータの格納が未完了である場合、当該領域のリード番号を選択リード番号として選択するリード番号選択部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されており、かつ、当該領域へのデータの格納が完了している場合、完了ビット判定信号を出力する完了ビット判定部と、
前記メモリ制御部に対するリードデータのリクエスト回数をリクエストカウンタ値として計数し、キャッシュヒットしている場合は、選択リード番号を決定リード番号として選択し、キャッシュヒットしていない場合は、リクエストカウンタ値を決定リード番号として選択して、該決定リード番号を前記キャッシュメモリに送るリード番号決定部と、
前記メモリ制御部からリードデータの読み出した回数をリードカウンタ値として計数し、リードカウンタ値とリード番号とが一致している場合には、リードカウンタ値と一致したリード番号が格納されている領域にリードデータ選択信号を送るリードデータ選択部と、
前記選択アドレスが示す画素のデータのキャッシュメモリへの格納が完了している場合は、前記キャッシュヒットデータをライトデータとして選択し、前記選択アドレスが示す画素のデータのキャッシュメモリへの格納が未完了の場合、前記リードデータをライトデータとして選択し、前記ライトデータを前記キャッシュメモリに送るライトデータ判定部と、
前記ライトデータが使用可能である場合に、前記選択信号が選択する前記キャッシュメモリの領域を書き込み可能とするライトイネーブル信号を生成して前記キャッシュメモリに送るライト領域選択部と
を備えることを特徴とするキャッシュ回路。
【請求項３】
さらに、出力データ選択部を備え、
前記キャッシュメモリの領域には、複数の画素のデータ、及び、各領域に格納されているデータを選択する画素選択アドレスが格納されていて、
前記出力データ選択部は、前記キャッシュメモリに格納されている複数のデータから、前記選択アドレスが示す画素のデータを選択して出力する
ことを特徴とする請求項１又は２に記載のキャッシュ回路。
【請求項４】
複数の領域のそれぞれに、当該領域が有効か否かを示す有効ビット、アドレス、該アドレスが示す画素のデータ、該データが格納されているか否かを示す完了ビット、及びリード番号が格納される２つの面と、入力面切換信号により、前記２つの面を切換える入力面切換部を備えるキャッシュメモリを有し、入力された複数の入力アドレスがそれぞれ示す画素のデータを、前記キャッシュメモリから読み出して出力するキャッシュ回路であって、
前記キャッシュメモリの１つの領域を選択する選択信号を生成するリード制御部と、
前記複数の入力アドレスの１つを選択アドレスとして選択するアドレス選択部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されているか否かを判定して、判定結果を示すキャッシュヒット判定信号、及び、格納されている場合には、格納されている領域を示すキャッシュヒット信号を生成するキャッシュヒット判定部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されているとき、前記キャッシュヒット信号が示す領域のデータをキャッシュヒットデータとして選択するキャッシュヒットデータ選択部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されていないとき、前記選択アドレスが示す画素のデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出すメモリ制御部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されており、かつ、当該領域へのデータの格納が未完了である場合、当該領域のリード番号を選択リード番号として選択するリード番号選択部と、
前記選択アドレスと等しいアドレスが、前記キャッシュメモリの有効な領域に格納されており、かつ、当該領域へのデータの格納が完了している場合、完了ビット判定信号を出力する完了ビット判定部と、
前記メモリ制御部に対するリードデータのリクエスト回数をリクエストカウンタ値として計数し、キャッシュヒットしている場合は、選択リード番号を決定リード番号として選択し、キャッシュヒットしていない場合は、リクエストカウンタ値を決定リード番号して選択して、該決定リード番号をキャッシュメモリに送るリード番号決定部と、
前記メモリ制御部からリードデータの読み出した回数をリードカウンタ値として計数し、リードカウンタ値とリード番号とが一致している場合には、リードカウンタ値と一致したリード番号が格納されている領域にリードデータ選択信号を送るリードデータ選択部と、
前記選択アドレスが示す画素のデータのキャッシュメモリへの格納が完了している場合は、前記キャッシュヒットデータをライトデータとして選択し、前記選択アドレスが示す画素のデータのキャッシュメモリへの格納が未完了の場合、前記リードデータをライトデータとして選択し、前記ライトデータを前記キャッシュメモリに送るライトデータ判定部と、
前記ライトデータが使用可能である場合に、前記選択信号が選択する前記キャッシュメモリの領域を書き込み可能とするライトイネーブル信号を生成して前記キャッシュメモリに送るライト領域選択部と、
前記入力面切換信号と相補的な出力面切換信号により、前記キャッシュメモリの２つの面の一方を選択し、当該選択した面に格納されているデータを出力する出力データ選択部と
を備えることを特徴とするキャッシュ回路。
【請求項５】
前記キャッシュメモリの領域には、複数の画素のデータ、及び、各領域に格納されているデータを選択する画素選択アドレスが格納されていて、
前記出力データ選択部は、前記キャッシュメモリに格納されている複数のデータから、前記画素選択アドレスが示すデータを選択して出力する
ことを特徴とする請求項４に記載のキャッシュ回路。
【請求項６】
複数の領域のそれぞれにアドレス及び該アドレスが示す画素のデータが格納されるキャッシュメモリを有するキャッシュ回路で、入力された複数の入力アドレスがそれぞれ示す画素のデータを、前記キャッシュメモリから読み出して出力するにあたり、
前記キャッシュメモリの１つの領域を選択する選択信号を生成する過程と、
前記複数の入力アドレスから１の選択アドレスを選択する過程と、
前記選択アドレスが示す画素のデータがキャッシュメモリに格納されているか否かを判定する過程と、
前記選択アドレスが示す画素のデータがキャッシュメモリに格納されているとき、前記キャッシュメモリの複数の領域に格納されているデータを受け取り、前記選択信号が選択する領域に書き込む過程と、
前記選択アドレスが示す画素のデータがキャッシュメモリに格納されていないとき、前記選択アドレスが示すデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出して、前記選択信号が選択する領域に書き込む過程と
を有することを特徴とするキャッシュメモリ制御方法。
【請求項７】
複数の領域のそれぞれに、有効ビット、アドレス、該アドレスが示す画素のデータ、完了ビット及びリード番号が格納されるキャッシュメモリを有するキャッシュ回路で、入力された複数の入力アドレスがそれぞれ示す画素のデータを、前記キャッシュメモリから読み出して出力するにあたり、
前記キャッシュメモリの１つの領域を選択する選択信号を生成する過程と、
前記複数の入力アドレスから１の選択アドレスを選択する過程と、
前記選択アドレスと等しいアドレスが格納されているか否かを判定する過程と
を備え、
前記選択アドレスと等しいアドレスが格納されていない場合は、
リクエストカウンタ値に１を加算する過程と、
前記選択アドレスが示すデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出す過程と、
リードカウンタ値に１を加算する過程と、
前記選択信号が選択する領域にリードデータ及びリードカウンタ値を書き込む過程と
を行い、
前記選択アドレスと等しいアドレスが格納されている場合は、さらに、完了ビットが格納完了済みであることを示しているか否かの判定を行い、
格納完了済みであるときは、前記キャッシュメモリの前記選択アドレスと等しいアドレスが格納されているデータを受け取り、前記選択信号が選択する領域に書き込み、
格納未完了であるときは、前記キャッシュメモリの前記選択アドレスと等しいアドレスが格納されている領域のリード番号を、前記選択信号が選択する領域に書き込み、さらに、リードカウンタ値が、リード番号と一致したときに、リードデータを格納する
ことを特徴とするキャッシュメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、キャッシュ回路及びキャッシュメモリ制御方法に関するものであり、特に画像データ処理に用いられるキャッシュ回路と、このキャッシュ回路に用いて好適なキャッシュメモリ制御方法に関する。
【背景技術】
【０００２】
図１を参照して、画像データ処理回路について説明する。図１は、画像データ処理回路を説明するための概略図である。画像データ処理回路は、アドレス計算手段１０、外部メモリ２０、画像データ処理手段３０及びキャッシュ回路１００を備えて構成される。
【０００３】
この画像データ処理回路は、ソース画像に回転等の画像処理を行って、画像処理後のデスティネーション画像を描画させる処理に用いられる。例えば、ソース画像を回転させる場合は、デスティネーション画像の１画素のデータを生成するために、ソース画像の４画素分のデータが必要になる。
【０００４】
図２を参照して、ソース画像とデスティネーション画像の関係について説明する。図２は、ソース画像とデスティネーション画像の関係を説明するための模式図である。
【０００５】
デスティネーション画像の画素ａのデータは、ソース画像の画素１−１、２−１、１−２及び２−２のデータで生成される。同様に、デスティネーション画像の画素ｂのデータは、ソース画像の画素１−２、２−２、１−３及び２−３のデータで生成され、デスティネーション画像の画素ｃのデータは、ソース画像の画素２−３、３−３、２−４及び３−４のデータで生成される。
【０００６】
アドレス計算手段１０には、デスティネーション画像の１画素のアドレス（デスティネーションアドレス）が入力される。アドレス計算手段１０は、デスティネーションアドレスが示すデータを生成するために必要な、入力アドレス１〜４を計算する。この入力アドレス１〜４は、キャッシュ回路１００に送られる。
【０００７】
キャッシュ回路１００は、入力アドレス１〜４が示す画素のデータを、内部のキャッシュメモリ又は外部メモリ２０から読み込む。キャッシュ回路１００は、読み出したデータ（出力データ１〜４）を、画像データ処理手段３０に送る。
【０００８】
なお、外部メモリからのデータの読み込みにあたっては、複数の画素のデータを１つのブロックとして読み込む方法が提案されている（例えば、特許文献１参照）。
【０００９】
画像データ処理手段３０は、出力データ１〜４を用いて、デスティネーションアドレスが示す画素のデータを計算し、処理済データとして描画手段（図示を省略する。）に送る。
【特許文献１】特開平５−５３９０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、図１を参照して説明した従来構成では、１つのデスティネーションアドレスに対して、入力アドレス１〜４に従って外部メモリから４回のデータの読み込みを行う必要がある。ここで、外部メモリ２０を、ＦｌａｓｈＲＯＭあるいはＳＤＲＡＭなどを用いて構成すると、ＦｌａｓｈＲＯＭ及びＳＤＲＡＭは、キャッシュ回路１００がその内部に有しているキャッシュメモリよりもデータの読出し処理に要する時間が長い。
【００１１】
そこで、この出願に係る発明者が鋭意研究を行ったところ、一度、外部メモリから読み込んだのと同じアドレスのデータを再度用いる場合には、外部メモリにアクセスすることなく、キャッシュメモリに格納されたデータを参照する動作を効率的に行うことで、外部メモリへのアクセス回数を削減することができ、処理時間を短縮することができることを見出した。
【００１２】
この発明は、上述の問題点に鑑みてなされたものであり、この発明の目的は、外部メモリへのアクセス回数を削減することができ、処理時間を短縮することができるキャッシュ回路を提供することである。
【課題を解決するための手段】
【００１３】
上述した目的を達成するために、この発明のキャッシュ回路は、複数の領域のそれぞれにアドレス及びアドレスが示す画素のデータが格納されるキャッシュメモリを有し、入力された複数の入力アドレスがそれぞれ示す画素のデータを、キャッシュメモリから読み出して出力する。
【００１４】
キャッシュ回路は、リード制御部、アドレス選択部、キャッシュヒット判定部、キャッシュヒットデータ選択部、メモリ制御部、ライトデータ判定部及びライト領域選択部を具えて構成される。
【００１５】
リード制御部は、キャッシュメモリの１つの領域を選択する選択信号を生成する。アドレス選択部は、複数の入力アドレスから１の選択アドレスを選択する。キャッシュヒット判定部は、選択アドレスが示す画素のデータがキャッシュメモリに格納されているか否かを判定して、判定結果を示すキャッシュヒット判定信号、及び、格納されている領域を示すキャッシュヒット信号を生成する。キャッシュヒットデータ選択部は、選択アドレスが示す画素のデータがキャッシュメモリに格納されているとき、キャッシュヒット信号が示す領域のデータをキャッシュヒットデータとして選択する。メモリ制御部は、選択アドレスが示す画素のデータがキャッシュメモリに格納されていないとき、選択アドレスが示す画素のデータを、当該キャッシュ回路の外部に設けられた外部メモリからリードデータとして読み出す。ライトデータ判定部は、選択アドレスが示す画素のデータがキャッシュメモリに格納されているとき、キャッシュヒットデータをライトデータとして選択し、選択アドレスが示す画素のデータがキャッシュメモリに格納されていないとき、リードデータをライトデータとして選択し、ライトデータをキャッシュメモリに送るとともに、ライトデータが使用可能であることを示すライトデータ判定信号を生成する。ライト領域選択部は、ライトデータ判定信号が、ライトデータが使用可能であることを示す場合に、選択信号が選択するキャッシュメモリの領域を書き込み可能とするライトイネーブル信号を生成してキャッシュメモリに送る。
【発明の効果】
【００１６】
この発明のキャッシュ回路によれば、キャッシュヒットした場合には、外部メモリにアクセスすることなく、キャッシュメモリに格納されたデータを参照する。この結果、外部メモリへのアクセス回数を削減することができ、処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図を参照して、この発明の実施の形態について説明するが、この発明が理解できる程度に概略的に示したものに過ぎない。また、以下、この発明の好適な構成例につき説明するが、単なる好適例にすぎない。従って、この発明は以下の実施の形態に限定されるものではなく、この発明の構成の範囲を逸脱せずにこの発明の効果を達成できる多くの変更又は変形を行うことができる。
【００１８】
（第１実施形態）
図３〜１０を参照して、第１実施形態のキャッシュ回路について説明する。図３は、第１実施形態のキャッシュ回路を説明するための概略図である。
【００１９】
なお、このキャッシュ回路１００は、図１を参照して説明した従来の画像データ処理回路で用いることができるので、図１も合わせて参照して説明する。以下の説明では、キャッシュ回路１００にソース画像の４画素分のアドレス（入力アドレス１〜４）を入力し、キャッシュ回路１００から４画素分のデータ（出力データ１〜４）が出力される例について説明するが、入力アドレス及び出力データの個数については、画像処理の方法に応じた個数にすることができる。
【００２０】
キャッシュ回路１００は、キャッシュメモリ３００、リード制御部１２０、アドレス選択部１３０、キャッシュヒット判定部１４０、キャッシュヒットデータ選択部１５０、メモリ制御部１６０、ライトデータ判定部１７０、ライト領域選択部１８０及び出力データ選択部１９０を備えて構成される。
【００２１】
キャッシュ回路１００に入力された入力アドレス１〜４は、キャッシュメモリ３００及びアドレス選択部１３０に送られる。
【００２２】
キャッシュメモリ３００には、キャッシュ回路１００に入力された入力アドレス１〜４、リード制御部１２０で生成された選択信号１〜４、ライト領域選択部１８０で生成されたライトイネーブル信号１〜４、及びライトデータ判定部１７０で選択されたライトデータが入力される。また、キャッシュメモリ３００からは、有効ビット１〜４及び上位アドレス１〜４が、キャッシュヒット判定部１４０に送られ、下位アドレス１〜４が、出力データ選択部１９０に送られ、キャッシュデータ１〜４が、キャッシュヒットデータ選択部１５０及び出力データ選択部１９０に送られる。
【００２３】
図４を参照して、キャッシュメモリについて説明する。図４は、キャッシュメモリの概略図である。
【００２４】
キャッシュメモリ３００は、複数の領域を有している。キャッシュメモリ３００が有する領域の数は、少なくとも入力アドレスと同じ個数有れば良く、ここでは、キャッシュメモリ３００が有する領域を４個としている。キャッシュメモリ３００の各領域には、有効ビット欄３３０、上位アドレス欄３３２、下位アドレス欄３３４及びキャッシュデータ欄３３６が設けられていて、それぞれ、有効ビット、上位アドレス、下位アドレス及びキャッシュデータが格納される。
【００２５】
以下の説明では、第１〜４の領域３１１〜３１４に格納される、有効ビット、上位アドレス、下位アドレス及びキャッシュデータをそれぞれ区別して、有効ビット１〜４、アドレス１〜４及びキャッシュデータ１〜４と表すこともある。
【００２６】
ここで有効ビットは、その有効ビットが格納されている領域が有効であるか否か、すなわち、当該領域のキャッシュデータ欄３３６にキャッシュデータが格納されているか否かを示す。ここでは、当該領域が有効であるとき、有効ビットを“１”とし、当該領域が無効であるとき、有効ビットを“０”とする。
【００２７】
上位アドレス及び下位アドレスは、ソース画像の画素のアドレスを示している。なお、キャッシュメモリ３００の１つの領域には、複数の連続する画素を１つの単位（ブロック）としてキャッシュデータが格納できる。この場合、上位アドレスが、各ブロックの位置（アドレス）を示し、下位アドレスは、各ブロック内での画素の位置を示す。
【００２８】
入力アドレス１〜４の中で、ブロックの位置を示す上位アドレスがキャッシュメモリ３００の上位アドレス欄３３２に送られる。また、ブロック内の位置を示す下位アドレスがキャッシュメモリ３００の下位アドレス欄３３４に送られる。  
【００２９】
選択信号１〜４は、キャッシュメモリ３００の各領域に設けられている、上位アドレス欄３３２及び下位アドレス欄３３４のライトイネーブル端子（ｗｅ）に、それぞれ入力される。選択信号１〜４が“１”であるとき、入力アドレス１〜４の上位アドレス及び下位アドレスが、キャッシュメモリ３００の上位アドレス欄３３２及び下位アドレス欄３３４にそれぞれ格納される。
【００３０】
ライトデータは、キャッシュメモリ３００の各領域３１１〜３１４のキャッシュデータ欄３３６に送られる。また、ライトイネーブル信号が、キャッシュメモリ３００のキャッシュデータ欄３３６のライトイネーブル端子（ｗｅ）に入力される。ライトイネーブル信号１〜４が“１”であるとき、キャッシュメモリ３００のキャッシュデータ欄３３６にライトデータが格納される。
【００３１】
また、ライトイネーブル信号１〜４は、各領域３１１〜３１４の有効ビット欄３３０にそれぞれ送られる。有効ビット１〜４が“０”であるとき、ライトイネーブル信号１〜４が“１”になると、有効ビット１〜４が“１”になる。なお、初期状態では、有効ビットは全て“０”であるが、一度、有効ビットが“１”になると、そのビットについては、再度初期化が行われるまで、“１”が維持される。
【００３２】
リード制御部１２０は、キャッシュメモリ３００の第１〜４の領域３１１〜３１４の１つを選択する選択信号１〜４を生成する。ここで、選択信号１〜４は、いずれか１つだけが“１”となり、それ以外は“０”を示す。選択信号１〜４により、第１〜４の領域３１１〜３１４が順に選択される。選択信号１〜４は、キャッシュメモリ３００、アドレス選択部１３０及びライト領域選択部１８０に送られる。
【００３３】
アドレス選択部１３０は、選択信号１〜４を用いて、入力アドレス１〜４の中から、１のアドレスを選択アドレスとして選択する。例えば、選択信号１が、“１”であり、選択信号２〜４が“０”であるとき、入力アドレス１が選択アドレスとして選択される。
【００３４】
図５を参照して、アドレス選択部の構成例について説明する。図５は、アドレス選択部の概略構成図である。
【００３５】
この構成例のアドレス選択部１３０は、第１〜４のＡＮＤ演算部１３２−１〜４とＯＲ演算部１３４を備える構成とすることができる。この構成では、第１〜４のＡＮＤ演算部１３２−１〜４でそれぞれ演算された、入力アドレス１〜４と、選択信号１〜４との論理積（ＡＮＤ）１〜４が、ＯＲ演算部１３４に送られて論理和（ＯＲ）演算される。
【００３６】
選択信号１〜４は、いずれか１つのみが“１”となるので、ＡＮＤ１〜４は、いずれか１つが入力アドレスを示し、それ以外は“０”となる。従って、ＡＮＤ１〜４の論理和は、入力アドレス１〜４のいずれか１つのアドレスを示す選択アドレスとなる。選択アドレスは、キャッシュヒット判定部１４０及びメモリ制御部１６０に送られる。
【００３７】
キャッシュヒット判定部１４０は、選択アドレスが示す画素のデータがキャッシュメモリ３００に格納されているか否かを判定し、判定結果を示すキャッシュヒット判定信号と、選択アドレスが示す画素のデータが格納されている領域を示すキャッシュヒット信号を生成する。
【００３８】
図６を参照して、キャッシュヒット判定部の構成例について説明する。図６は、キャッシュヒット判定部の概略構成図である。
【００３９】
キャッシュヒット判定部１４０は、第１〜４の比較演算部１４２−１〜４と、第１〜４のＡＮＤ演算部１４４−１〜４と、ＯＲ演算部１４６とを備えている。第１〜４の比較演算部１４２−１〜４は、選択アドレスの上位アドレスと、キャッシュメモリ３００の上位アドレス欄３３２に格納されている上位アドレス１〜４とをそれぞれ比較する。比較した結果、一致している場合は、第１〜４の比較演算部１４２−１〜４の出力である比較結果１〜４は、“１”となり、不一致の場合は、比較結果１〜４は、“０”となる。
【００４０】
第１〜４のＡＮＤ演算部１４４−１〜４には、それぞれ比較結果１〜４と、キャッシュメモリ３００の有効ビット欄３３０に格納されている有効ビット１〜４とが入力される。第１〜４のＡＮＤ演算部１４４−１〜４は、それぞれ有効ビット１〜４と、比較結果１〜４との論理積（ＡＮＤ）演算を行い、その結果をキャッシュヒット信号１〜４とする。
【００４１】
キャッシュヒット信号１〜４は、データが有効であり、かつ、選択アドレスの上位アドレスとキャッシュメモリ３００の上位アドレス欄３３２に格納されている上位アドレスとが一致している場合に“１”となる。例えば、有効ビット３が“１”であり、比較結果３が“１”である場合、キャッシュヒット信号３が“１”となる。すなわち、キャッシュヒット信号１〜４は、選択アドレスの上位アドレスと等しい上位アドレスが格納されている、キャッシュメモリ３００の領域を示す。キャッシュヒット信号１〜４は、キャッシュヒットデータ選択部１５０に送られる。
【００４２】
また、キャッシュヒット信号１〜４は、ＯＲ演算部１４６にも送られる。ＯＲ演算部１４６は、キャッシュヒット信号１〜４について、論理和（ＯＲ）演算を行う。論理和演算の結果であるキャッシュヒット判定信号は、選択アドレスと等しいアドレスのデータが、キャッシュメモリ３００内に格納されている場合は“１”となり、それ以外の場合は“０”となる。このキャッシュヒット判定信号は、メモリ制御部１６０及びライトデータ判定部１７０に送られる。
【００４３】
キャッシュヒットデータ選択部１５０は、選択アドレスが示す画素のデータがキャッシュメモリ３００に格納されているとき、キャッシュヒット信号１〜４が示す領域のキャッシュデータをキャッシュヒットデータとして選択する。
【００４４】
図７を参照して、キャッシュヒットデータ選択部の構成例について説明する。図７は、キャッシュヒットデータ選択部の概略構成図である。
【００４５】
この構成例のキャッシュヒットデータ選択部１５０は、第１〜４のＡＮＤ演算部１５２−１〜４とＯＲ演算部１５４を備えて構成されている。この構成では、第１〜４のＡＮＤ演算部１５２−１〜４でそれぞれ演算された、キャッシュデータ１〜４の各ビットと、キャッシュヒット信号１〜４との論理積（ＡＮＤ）１〜４が演算され、ＯＲ演算部１５４においてＡＮＤ演算部１５２−１〜４から出力される複数ビットのデータ毎の論理和（ＯＲ）が演算される。
【００４６】
キャッシュヒット信号１〜４は、いずれか１つのみが“１”となるので、ＡＮＤ１〜４は、いずれか１つがキャッシュデータを示し、それ以外は“０”となる。従って、ＡＮＤ１〜４の論理和は、キャッシュデータ１〜４のいずれか１つのデータを示すキャッシュヒットデータとなる。例えば、キャッシュヒット信号３が“１”のとき、キャッシュデータ３がキャッシュヒットデータとして選択される。キャッシュヒットデータは、ライトデータ判定部１７０に送られる。
【００４７】
メモリ制御部１６０は、キャッシュ回路１００の外部に設けられた外部メモリ２０に対して、この外部メモリ２０内に格納されているデータを読み出す機能を有している。
【００４８】
メモリ制御部１６０には、アドレス選択部１３０で選択された選択アドレスが入力されるともに、キャッシュヒット判定部１４０で生成されたキャッシュヒット判定信号が反転入力される。メモリ制御部１６０は、キャッシュヒット判定信号が“０”の場合、すなわち、キャッシュメモリ３００に選択アドレスに対応するデータがキャッシュメモリ３００に格納されていないとき、外部メモリ２０から選択アドレスが示す画素のデータを読み込む。一方、キャッシュヒット判定信号が“１”の場合は、外部メモリ２０からの読み込みは行わない。
【００４９】
メモリ制御部１６０は、外部メモリ２０から読み込んだデータをリードデータとしてライトデータ判定部１７０に送る。また、リードデータが使用可能であることを示すリードデータイネーブル信号もライトデータ判定部１７０に送る。ここでは、リードデータが使用可能であるとき、リードデータイネーブル信号を“１”とし、リードデータが使用不可能であるとき、リードデータイネーブル信号を“０”とする。
【００５０】
ライトデータ判定部１７０は、選択アドレスが示す画素のデータがキャッシュメモリ３００に格納されているとき、キャッシュヒットデータをライトデータとして選択し、選択アドレスが示す画素のデータがキャッシュメモリ３００に格納されていないとき、リードデータをライトデータとして選択する。ライトデータ判定部１７０は、ライトデータをキャッシュメモリ３００に送るとともに、ライトデータが使用可能であることを示すライトデータ判定信号を生成して、ライト領域選択部１８０に送る。
【００５１】
図８を参照して、ライトデータ判定部の構成例について説明する。図８は、ライトデータ判定部の概略構成図である。
【００５２】
ライトデータ判定部１７０は、選択演算部１７２と、ＯＲ演算部１７４とを備えている。選択演算部１７２には、キャッシュヒットデータとリードデータが入力される。選択演算部１７２には、制御信号としてキャッシュヒット判定信号が入力される。選択演算部１７２は、キャッシュヒット判定信号の値に応じて、キャッシュヒットデータとリードデータのいずれか一方を選択して出力する。
【００５３】
この構成では、キャッシュヒット判定信号が“１”の場合、すなわち、キャッシュメモリに選択アドレスが示す画素のデータが格納されている場合は、選択演算部１７２は、キャッシュヒットデータをライトデータとして選択する。一方、キャッシュヒット判定信号が“０”の場合、すなわち、キャッシュメモリに選択アドレスが示す画素のデータが格納されていない場合は、選択演算部１７２は、リードデータをライトデータとして選択する。
【００５４】
またＯＲ演算部１７４には、キャッシュヒット判定信号とリードデータイネーブル信号が入力される。ＯＲ演算部１７４は、キャッシュヒット判定信号とリードデータイネーブル信号の論理積（ＯＲ）をライトデータ判定信号としてライト領域選択部１８０に送る。ライトデータ判定信号は、ライトデータが使用可能である場合、すなわち、キャッシュメモリに選択アドレスに対応するデータがあるか、もしくは、リードデータの読み込みが完了した場合は、“１”を示し、それ以外の場合は“０”となる。
【００５５】
ライト領域選択部１８０は、ライトデータが使用可能である場合に、選択信号が選択するキャッシュメモリ３００の領域を書き込み可能とするライトイネーブル信号を生成して、キャッシュメモリ３００に送る。また、ライトイネーブル信号を生成するたびに、ライト完了信号をリード制御部１２０に送る。
【００５６】
図９を参照して、ライト領域選択部の構成例について説明する。図９は、ライト領域選択部の概略構成図である。
【００５７】
ライト領域選択部１８０は、第１〜４のＡＮＤ演算部１８２−１〜４と、ＯＲ演算部１８４とを備えている。第１〜４のＡＮＤ演算部１８２−１〜４には、それぞれ選択信号１〜４と、ライトデータ判定信号とが入力される。第１〜４のＡＮＤ演算部１８２−１〜４は、それぞれ選択信号１〜４と、ライトデータ判定信号との論理積（ＡＮＤ）演算を行う。
【００５８】
論理積演算の結果であるライトイネーブル信号１〜４は、ライトデータが書き込み可能である領域を示す。例えば、選択信号１が“１”であり、ライトデータ判定信号が“１”である場合、ライトイネーブル信号１が“１”となる。この場合、キャッシュメモリ３００の第１の領域３１１が、書込み可能になる。ライトイネーブル信号１〜４は、キャッシュメモリ３００に送られる。
【００５９】
また、ライトイネーブル信号１〜４は、ＯＲ演算部１８４に送られる。ＯＲ演算部１８４は、ライトイネーブル信号１〜４の論理和（ＯＲ）をライト完了信号として生成する。すなわち、ライト完了信号は、ライトイネーブル信号が生成されるたびに “１”となり、それ以外の場合は“０”となる。このライト完了信号は、リード制御部１２０に送られる。
【００６０】
リード制御部１２０は、ライト完了信号が“１”になるたびに、選択する領域を変更した選択信号を生成する。例えば、選択信号１が“１”であり、選択信号２〜４が“０”であった場合、ライト完了信号が“１”になると、選択信号１が“０”となり、選択信号２が“１”となる。この後、ライトイネーブル信号２が“１”となると、選択信号２が“０”となり、選択信号３が“１”となる。最終的に、ライトイネーブル信号４が“１”となり、全てのデータが格納されると、出力データ準備完了フラグを“１”とする。なお、出力データ準備完了フラグは、ＲＡＭなどのキャッシュ回路１００内の任意好適な記憶手段に読み出し及び書き換え自在に格納されている。
【００６１】
出力データ選択部１９０は、出力データ準備完了フラグが“１”になると、キャッシュメモリ３００に格納されているキャッシュデータを出力データとして出力し、画像データ処理手段３０に送る。
【００６２】
図１０を参照して、出力データ選択部の構成例について説明する。図１０は、出力データ選択部の概略構成図である。
【００６３】
出力データ選択部１９０は、第１〜４の選択演算部１９２−１〜４を有している。キャッシュデータ１〜４は、それぞれ第１〜４の選択演算部１９２−１〜４に送られる。また、これら第１〜４の選択演算部１９２−１〜４には、下位アドレス１〜４が、制御信号として入力される。第１〜４の選択演算部１９２−１〜４は、それぞれキャッシュデータ１〜４から、下位アドレス１〜４が示す位置のデータを出力データとして選択して出力する。出力データ１〜４の出力が完了した後、出力データ準備完了フラグが“０”となり、このとき、アドレスリクエストが前段のアドレス計算手段１０に送られる。
【００６４】
なお、上述したキャッシュ回路１００の各構成要素は、例えば、中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が所定のプログラムを実行することにより、各機能手段として実現される。
【００６５】
（第１実施形態の動作）
図１１を参照して、上述したキャッシュ回路の動作について、説明する。図１１は、第１実施形態のキャッシュ回路の動作、すなわち、キャッシュメモリ制御方法を説明するための概略図である。図１１（Ａ）〜（Ｈ）は、それぞれキャッシュメモリの各欄に格納された情報を示している。
【００６６】
ここでは、キャッシュメモリの１つの領域に２画素分のデータが書き込まれるものとする。また、図２を参照して説明した、ソース画像とデスティネーション画像の関係の例について説明する。
【００６７】
初期状態では、キャッシュメモリ３００の内部は全て“０”である（図１１（Ａ））。
【００６８】
入力アドレス１〜４として、画素１−１、１−２、２−１及び２−２のアドレスが入力される。
【００６９】
選択信号１が“１”となると、第１の領域がライトイネーブルとなり、上位アドレス１に画素１−１のアドレス（ソースアドレス１−１と称することもある。）と、下位アドレスに１番目の画素であることを示すアドレス（０）が書き込まれる。また、アドレス選択部１２０ではソースアドレス１−１が選択アドレスとして選択される。
【００７０】
ここでは有効ビット１〜４が全て０であるため、キャッシュヒット信号１〜４は全て“０”となり、キャッシュヒット判定信号も“０”となる。この結果、メモリ制御部１６０がソースアドレス１−１及び１−２のデータ（ｄ１−１及びｄ１−２）をリードデータとして読出し、第１の領域に書き込む。このとき、有効ビット１は“１”となる（図１１（Ｂ））。
【００７１】
次に、選択信号２が“１”となると、キャッシュメモリ３００の第２の領域３１２がライトイネーブルとなり、上位アドレス２に、ソースアドレス２−１と、下位アドレス２に１番目の画素であることを示すアドレス（０）が書き込まれる。また、アドレス選択部１２０ではソースアドレス２−１が選択アドレスとして選択される。
【００７２】
ここでは有効ビット１が１であり、有効ビット２〜４が０である。選択アドレスの上位アドレスとキャッシュメモリ３００から読み出された上位アドレス１とが異なるため、キャッシュヒット信号１〜４は全て“０”となり、キャッシュヒット判定信号も“０”となる。この結果、メモリ制御部１６０がソースアドレス２−１及び２−２のデータ（ｄ２−１及びｄ２−２）をリードデータとして読出し、第２の領域３１２に書き込む。このとき、有効ビット２は“１”となる（図１１（Ｃ））。
【００７３】
次に、選択信号３が“１”となると、キャッシュメモリ３００の第３の領域３１３がライトイネーブルとなり、上位アドレス３に、ソースアドレス１−１と、下位アドレスに２番目の画素であることを示すアドレス（１）が書き込まれる。また、アドレス選択部１２０ではソースアドレス１−１が選択アドレスとして選択される。
【００７４】
ここでは有効ビット１及び有効ビット２が１であり、有効ビット３及び有効ビット４が０である。選択アドレスと上位アドレス１とがともに、ソースアドレス１−１となり一致するので、キャッシュヒット信号１が“１”となり、キャッシュヒット判定信号も“１”となる。この結果、キャッシュヒットデータ選択部１５０は、データ１（ｄ１−１及びｄ１−２）をキャッシュヒットデータとして選択して、ライトデータ判定部１７０に送る。ライトデータ判定部１７０は、キャッシュヒットデータをキャッシュメモリ３００に送り、キャッシュヒットデータは、第３の領域に書き込まれる（図１１（Ｄ））。
【００７５】
次に、選択信号４が“１”となると、キャッシュメモリ３００の第４の領域３１４がライトイネーブルとなり、上位アドレス３に、ソースアドレス２−１と、下位アドレスに２番目の画素であることを示すアドレス（１）が書き込まれる。また、アドレス選択部ではソースアドレス２−１が選択アドレスとして選択される。
【００７６】
このとき、有効ビット１〜３が１であり、有効ビット４が０である。選択アドレスと上位アドレス２とがともに、ソースアドレス２−１となり一致するので、キャッシュヒット信号２が“１”となり、キャッシュヒット判定信号も“１”となる。この結果、キャッシュヒットデータ選択部１５０は、データ２（ｄ２−１及びｄ２−２）をキャッシュヒットデータとして選択して、ライトデータ判定部１７０に送る。ライトデータ判定部１７０は、キャッシュヒットデータをキャッシュメモリ３００に送り、キャッシュヒットデータは、第４の領域に書き込まれる（図１１（Ｅ））。
【００７７】
第４の領域までデータが書き込まれた後、データが出力される。ここでは、下位アドレス１が０であるので、キャッシュデータのｄ１−１が出力データ１として選択され、下位アドレス２が０であるので、キャッシュデータのｄ２−１が出力データ２として選択され、下位アドレス２が１であるので、キャッシュデータのｄ１−２が出力データ３として選択され、及び、下位アドレス４が１であるので、キャッシュデータのｄ２−２が出力データ４として選択される。これら、出力データ１〜４が出力されると、アドレス計算手段に対して、次のアドレスリクエストを送る。
【００７８】
アドレスリクエストを受けた、アドレス計算手段１０は、デスティネーションアドレスｂに対して、入力アドレス１〜４として、画素１−２、２−２、１−３及び２−３のアドレスを送る。
【００７９】
この場合、入力アドレス１（画素１−２）及び入力アドレス２（画素２−２）のときは、キャッシュヒットするので、キャッシュメモリから読みだされたキャッシュデータがライトデータとして、格納される（図１１（Ｆ））。
【００８０】
一方、入力アドレス３（画素１−３）及び入力アドレス４（画素２−３）のときはキャッシュヒットしないので、外部メモリから読みだされたリードデータが、ライトデータとして、格納される（図１１（Ｇ））。
【００８１】
第４の領域までデータが書き込まれた後、データが出力される。ここでは、下位アドレス１が１であるので、キャッシュデータ１のｄ１−２が出力データ１として選択され、下位アドレス２が１であるので、キャッシュデータ２のｄ２−２が出力データ２として選択され、下位アドレス３が０であるので、キャッシュデータのｄ１−３が出力データ３として選択され、及び、下位アドレス４が０であるので、キャッシュデータのｄ２−３が出力データ４として選択される。これら、出力データ１〜４が出力されると、アドレス計算手段に対して、次のアドレスリクエストを送る。
【００８２】
アドレスリクエストを受けた、アドレス計算手段１０は、デスティネーションアドレスｃに対して、入力アドレス１〜４として、画素２−３、３−３、２−４及び３−４のアドレスを送る。
【００８３】
この場合、入力アドレス１（画素２−３）及び入力アドレス３（画素２−４）のときは、キャッシュヒットし、入力アドレス２（画素３−３）及び入力アドレス４（画素３−４）のときはキャッシュヒットしないので、外部メモリから読みだされたリードデータが、ライトデータとして、格納される（図１１（Ｈ））。
【００８４】
第４の領域までデータが書き込まれた後、データが出力される。ここでは、下位アドレス１が０であるので、キャッシュデータ１のｄ２−３が出力データ１として選択され、下位アドレス２が０であるので、キャッシュデータ２のｄ３−３が出力データ２として選択され、下位アドレス３が１であるので、キャッシュデータ３のｄ２−４が出力データ３として選択され、及び、下位アドレス４が０であるので、キャッシュデータ４のｄ３−４が出力データ４として選択される。これら、出力データ１〜４が出力されると、アドレス計算手段に対して、次のアドレスリクエストを送る。
【００８５】
上述したように、この第１実施形態の構成によれば、キャッシュヒットした場合には、外部メモリにアクセスすることなく、キャッシュメモリに格納されたデータを参照する。この結果、外部メモリへのアクセス回数を削減することができ、処理時間を短縮することができる。また、本発明では、デスティネーションアドレスが示すデータのためにアクセスが必要となるアドレスの特徴を考慮している。このため、特許文献１のようなブロック単位でのキャッシュメモリへのデータの取り込みを行うものに比べて、キャッシュメモリ内に格納したデータを効率よく利用できることから、高速化やキャッシュメモリの容量の増大を抑えることができる効果も奏する。
【００８６】
（第２実施形態）
図１２を参照して、第２実施形態のキャッシュ回路について説明する。図１２は、第２実施形態のキャッシュ回路を説明するための概略図である。
【００８７】
キャッシュ回路１０１は、キャッシュメモリ３０１、リード制御部１２０、アドレス選択部１３０、キャッシュヒット判定部１４０、キャッシュヒットデータ選択部１５０、メモリ制御部１６０、ライトデータ判定部１７１、ライト領域選択部１８１、出力データ選択部１９０、完了ビット判定部２００、リード番号選択部２１０、リード番号決定部２２０およびリードデータ選択部２３０を備えて構成される。
【００８８】
キャッシュ回路１０１に入力された入力アドレス１〜４は、キャッシュメモリ３０１及びアドレス選択部１３０に送られる。
【００８９】
キャッシュメモリ３０１には、キャッシュ回路１０１に入力された入力アドレス１〜４、リード制御部１２０で生成された選択信号１〜４、ライト領域選択部１８１で生成されたライトイネーブル信号１〜４、ライトデータ判定部１７１で選択されたライトデータ、及び、リード番号決定部２２０で生成された決定リード番号が入力される。また、キャッシュメモリ３０１から、有効ビット１〜４及び上位アドレス１〜４がキャッシュヒット判定部１４０に送られ、下位アドレス１〜４が出力データ選択部１９０に送られる。また、キャッシュデータ１〜４は、キャッシュヒットデータ選択部１５０及び出力データ選択部１９０に送られる。完了ビット１〜４は、完了ビット判定部２００及びリード番号選択部２１０に送られる。リード番号１〜４は、リード番号選択部２１０とリードデータ選択部２３０に送られる。
【００９０】
図１３を参照して、キャッシュメモリについて説明する。図１３は、キャッシュメモリの概略図である。
【００９１】
キャッシュメモリ３０１は、複数の領域を有している。キャッシュメモリ３０１が有する領域の数は、少なくとも入力アドレスと同じ個数有れば良く、ここでは、キャッシュメモリ３０１が有する領域を４個としている。キャッシュメモリ３０１の各領域には、有効ビット欄３３０、上位アドレス欄３３２、下位アドレス欄３３４及びキャッシュデータ欄３３６、完了ビット欄３３８及びリード番号欄３４０が設けられていて、それぞれ、有効ビット、上位アドレス、下位アドレス、キャッシュデータ、完了ビット及びリード番号が格納される。
【００９２】
以下の説明では、第１〜４の領域３２１〜３２４に格納される、有効ビット、上位アドレス、下位アドレス、キャッシュデータ、完了ビット及びリード番号をそれぞれ区別して、有効ビット１〜４、上位アドレス１〜４、下位アドレス１〜４、キャッシュデータ１〜４、完了ビット１〜４及びリード番号１〜４と表すこともある。
【００９３】
ここで有効ビットは、その有効ビットが格納されている領域が有効であることを示す。当該領域が有効であるとき、有効ビットは“１”となる。一方、当該領域が無効であるとき、有効ビットは“０”となる。
【００９４】
上位アドレス、下位アドレス及びキャッシュデータは、第１実施形態と同様なので説明を省略する。また、完了ビット及びリード番号については後述する。
【００９５】
入力アドレス１〜４の中で、上位アドレスがキャッシュメモリ３０１の上位アドレス欄３３２に送られ、下位アドレスがキャッシュメモリ３０１の下位アドレス欄３３４に送られる。
【００９６】
また、選択信号１〜４は、キャッシュメモリ３０１の上位アドレス欄３３２及び下位アドレス欄３３４のライトイネーブル端子（ｗｅ）に入力される。選択信号１〜４が“１”であるとき、入力アドレス１〜４の上位アドレス及び下位アドレスが、キャッシュメモリ３０１の上位アドレス欄３３２及び下位アドレス欄３３４にそれぞれ書き込まれる。
【００９７】
ライトデータは、キャッシュメモリ３０１の各領域３２１〜３２４のキャッシュデータ欄３３６に送られる。また、ライトイネーブル信号が、キャッシュメモリ３０１のキャッシュデータ欄３３６のライトイネーブル端子（ｗｅ）に入力される。ライトイネーブル信号１〜４が“１”であるとき、キャッシュメモリ３０１のキャッシュデータ欄３３６にライトデータが書き込まれる。
【００９８】
また、ライトイネーブル信号１〜４は、完了ビット欄３３８にそれぞれ送られる。有効ビット１〜４が“０”であるとき、ライトイネーブル信号１〜４が“１”になると、有効ビット１〜４が“１”になる。なお、初期状態では、完了ビット欄３３８は全て“０”であるが、一度、完了ビットが“１”になると、そのビットについては、再度初期化が行われるまで、“１”を維持する。
【００９９】
リード制御部１２０、アドレス選択部１３０、キャッシュヒットデータ選択部１５０及びメモリ制御部１６０の構成は、第１実施形態と同様なので説明を省略することもある。
なお、リード制御部１２０は、一定の時間Δｔｓｌが経過した後、選択する領域を変更した選択信号を生成する。例えば、選択信号１が“１”であり、選択信号２〜４が“０”であった場合、時間Δｔｓｌが経過すると、選択信号１が“０”となり、選択信号２が“１”となる。
【０１００】
キャッシュヒット判定部１４０は、図６を参照して説明した第１実施形態と同様に構成することができる。なお、第２実施形態では、キャッシュヒット判定部１４０で生成されたキャッシュヒット信号は、キャッシュヒットデータ選択部１５０だけでなく、完了ビット判定部２００及びリード番号選択部２１０に送られる。
【０１０１】
キャッシュヒットデータ選択部１５０は、選択アドレスが示す画素のデータがキャッシュメモリ３０１に格納されているとき、キャッシュメモリ３０１の各領域３２１〜３２４に格納されているキャッシュデータを受け取り、キャッシュヒット信号１〜４が示す領域のデータをキャッシュヒットデータとして選択する。
【０１０２】
図１４を参照して、完了ビット判定部の構成例について説明する。図１４は、完了ビット判定部の概略構成図である。
【０１０３】
この構成例の完了ビット判定部２００は、第１〜４のＡＮＤ演算部２０２−１〜４とＯＲ演算部２０４を備えて構成されている。この構成では、第１〜４のＡＮＤ演算部２０２−１〜４でそれぞれ演算された、完了ビット１〜４と、キャッシュヒット信号１〜４との論理積（ＡＮＤ）１〜４が、ＯＲ演算部２０４において論理和（ＯＲ）演算される。
【０１０４】
キャッシュヒット信号１〜４は、いずれか１つのみが“１”となるので、ＡＮＤ１〜４は、いずれか１つがキャッシュデータを示し、それ以外は“０”となる。従って、ＡＮＤ１〜４の論理和で与えられる完了ビット判定信号は、キャッシュヒット信号が示す領域の完了ビットとなる。完了ビット判定信号は、ライトデータ判定部１７１及びライト領域選択部１８１に送られる。
【０１０５】
ライトデータ判定部１７１は、選択アドレスが示す画素のデータがキャッシュメモリ３０１に格納されているとき、キャッシュヒットデータをライトデータとして選択し、選択アドレスが示す画素のデータがキャッシュメモリ３０１に格納されていないとき、リードデータをライトデータとして選択する。ライトデータ判定部１７１は、ライトデータをキャッシュメモリ３０１に送る。
【０１０６】
ライトデータ判定部１７１は、選択演算部１７３を備えている。選択演算部１７３には、キャッシュヒットデータとリードデータが入力される。選択演算部１７３には、制御信号として完了ビット判定信号が入力される。選択演算部１７３は、完了ビット判定信号の値に応じて、キャッシュヒットデータとリードデータのいずれか一方を選択して出力する。
【０１０７】
この構成では、完了ビット判定信号が“１”の場合、すなわち、キャッシュメモリに選択アドレスに対応するデータが格納されている場合は、選択演算部１７３は、キャッシュヒットデータをライトデータとして選択する。一方、完了ビット判定信号が“０”の場合、すなわち、キャッシュメモリに選択アドレスに対応するデータがない場合は、選択演算部１７３は、リードデータをライトデータとして選択する。
【０１０８】
リード番号選択部２１０は、格納が未完了であり、キャッシュヒットしている場合、当該領域のリード番号を選択リード番号として選択する。
【０１０９】
図１５を参照して、リード番号選択部の構成例について説明する。図１５は、リード番号選択部の概略構成図である。
【０１１０】
リード番号選択部２１０は、第１〜４の第１段ＡＮＤ演算部２１２−１〜４と、第１〜４の第２段ＡＮＤ演算部２１４−１〜４と、ＯＲ演算部２１６とを具えている。
【０１１１】
第１〜４の第１段ＡＮＤ演算部２１２−１〜４は、それぞれ、キャッシュヒット信号１〜４と、完了ビット１〜４を論理反転した反転信号１〜４の論理積（ＡＮＤ）演算を行う。第１〜４の第２段ＡＮＤ演算部２１４−１〜４は、第１〜４の第１段ＡＮＤ演算部２１２−１〜４での論理積演算の結果と、リード番号１〜４の論理積演算を行う。ＯＲ演算部２１６は、第１〜４の第２段ＡＮＤ演算部２１４−１〜４の論理積演算の結果に対して、論理和演算を行う。
【０１１２】
第１〜４の第１段ＡＮＤ演算部２１２−１〜４は、キャッシュヒット信号が“１”であり、完了ビットが“０”、すなわち、格納が完了していない場合に１となる。第１〜４の第２段ＡＮＤ演算部２１４−１〜４とＯＲ演算部２１６により、ＡＮＤ１〜４が“１”である領域のリード番号が選択されて、選択リード番号として出力される。
【０１１３】
この選択リード番号はリード番号決定部２２０に送られる。
【０１１４】
リード番号決定部２２０は、リクエストカウンタ２２２と選択演算部２２４を具えて構成される。リクエストカウンタ２２２には、キャッシュヒット判定信号が、論理反転された後、入力される。したがって、このリクエストカウンタ２２２は、キャッシュヒットしなかった回数を計数する。リクエストカウンタ２２２で計数されたリクエスト計数値と、リード番号選択部２１０で選択されたリード選択番号は、選択演算部２２４に送られる。選択演算部２２４には、制御信号としてキャッシュヒット判定信号が入力される。キャッシュヒット判定信号が“１”のとき、すなわち、キャッシュヒットした場合は、選択リード番号を決定リード番号として出力し、キャッシュヒット判定信号が“０”のとき、すなわち、キャッシュヒットしていない場合は、リクエスト計数値を決定リード番号として出力する。  
【０１１５】
このリード番号決定部２２０から出力される決定リード番号は、キャッシュメモリ３０１に送られる。
【０１１６】
図１６を参照して、リードデータ選択部の構成例について説明する。図１６は、リードデータ選択部の概略構成図である。
【０１１７】
リードデータ選択部２３０は、メモリ制御部１６０からリードデータの読み出した回数をリードカウンタ値として計数し、リードカウンタ値とリード番号とが一致している場合には、リードカウンタ値と一致したリード番号が格納されている領域にリードデータ選択信号を送る。
【０１１８】
リードデータ選択部２３０は、リードデータカウンタ２３２、第１〜４の比較演算部２３４−１〜４、第１〜４のＡＮＤ演算部２３６−１〜４を備えて構成される。
【０１１９】
リードデータカウンタ２３２には、メモリ制御部１６０からリードデータイネーブル信号が入力される。リードデータカウンタ２３２は、メモリ制御部１６０からリードデータの読み出した回数をリードデータ計数値として計数する。このリードデータ計数値は、第１〜４の比較演算部２３４−１〜４に送られる。第１〜４の比較演算部２３４−１〜４には、リードデータ計数値とリード番号１〜４が入力され、これらの比較を行う。第１〜４の比較演算部２３４−１〜４は、それぞれリード番号１〜４がリードデータ計数値と等しい場合、“１”を出力し、等しくない場合は“０”を出力する。第１〜４のＡＮＤ演算部２３６−１〜４は、第１〜４の比較演算部２３４−１〜４における比較演算結果と、リードデータイネーブル信号の論理積演算を行う。
【０１２０】
この第１〜４のＡＮＤ演算部２３６−１〜４における演算結果であるリードデータ選択信号１〜４は、リード番号がリードデータ計数値と等しい領域に対して、リードデータが利用可能であるか否かを示す。例えば、リードデータ選択信号２が“１”の場合、領域２のリード番号がリードデータ計数値と等しく、領域２に格納するリードデータが利用可能であることを示している。
【０１２１】
リード選択信号１〜４はライト領域選択部１８１に送られる。
【０１２２】
図１７を参照して、ライト領域選択部の構成例について説明する。図１７は、ライト領域選択部の概略構成図である。
【０１２３】
ライト領域選択部１８１は、第１〜４のＡＮＤ演算部１８３−１〜４及び第１〜４のＯＲ演算部１８６−１〜４を備えている。第１〜４のＡＮＤ演算部１８３−１〜４には、選択信号１〜４と、完了ビット判定信号が入力される。第１〜４のＡＮＤ演算部１８３−１〜４の出力であるＡＮＤ１〜４は、第１〜４のＯＲ演算部１８６−１〜４に送られる。第１〜４のＯＲ演算部１８６−１〜４は、ＡＮＤ１〜４と、リード選択信号１〜４との論理和演算を行い、その結果を、ライトイネーブル信号１〜４として、キャッシュメモリ３０１に送る。すなわち、ライト領域選択部１８１は、選択信号１〜４が指定する領域について、完了ビットが“１”である場合、あるいは、リード番号に等しい計数値のリードデータが読み込まれているときに、キャッシュメモリ３０１への書き込みを行う。
【０１２４】
（第２実施形態の動作）
図１８を参照して、上述したキャッシュ回路の動作について、説明する。図１８は、第２実施形態のキャッシュ回路の動作、すなわち、キャッシュメモリ制御方法を説明するための概略図である。図１８（Ａ）〜（Ｇ）は、それぞれキャッシュメモリの各欄に格納された情報を示している。ここでは、キャッシュメモリの１つの領域に２画素分のデータが書き込まれるものとする。また、図２を参照して説明した、ソース画像とデスティネーション画像の関係の例について説明する。
【０１２５】
初期状態では、キャッシュメモリ３０１の内部は全て“０”とする（図１８（Ａ））。
【０１２６】
入力アドレス１〜４として、ソースアドレス１−１、１−２、２−１及び２−２が入力される。
【０１２７】
アドレス選択部１３０ではソースアドレス１−１が選択アドレスとして選択される。キャッシュヒット判定部１４０では、キャッシュメモリ３０１への格納が完了する前に、キャッシュヒットの判定が行われるため、キャッシュヒット信号１〜４は全て“０”となり、また、キャッシュヒット判定信号も“０”となる。
【０１２８】
選択信号１が“１”となると、第１の領域がライトイネーブルとなり、上位アドレス１にソースアドレス１−１と、下位アドレスに１番目の画素であることを示すアドレス（０）が書き込まれる。また、有効ビット１が“１”になる。
【０１２９】
この段階で、メモリ制御部１６０は、外部メモリからの読み出しを開始する。
【０１３０】
また、リクエストカウンタ２２２が計数を行い、その計数結果である“１”をリード番号欄に書き込む（図１８（Ｂ））。
【０１３１】
この読み出しを行っている間に、選択信号２が“１”になる。
【０１３２】
アドレス選択部１３０ではソースアドレス２−１が選択アドレスとして選択される。キャッシュヒット判定部１４０では、キャッシュメモリへの格納が完了する前に、キャッシュヒットの判定が行われるため、キャッシュヒット信号１〜４は全て“０”となり、また、キャッシュヒット判定信号も“０”となる。
【０１３３】
選択信号２が“１”となると、第２の領域がライトイネーブルとなり、上位アドレス２にソースアドレス２−１と、下位アドレスに１番目の画素であることを示すアドレス（０）が書き込まれる。また、有効ビット２が“１”になる。
【０１３４】
この段階で、メモリ制御部１６０は、外部メモリからの読み出しを開始する。
【０１３５】
また、リクエストカウンタ２２２が計数を行い、その計数結果である“２”が、リード番号欄に書き込まれる（図１８（Ｃ））。
【０１３６】
次に、選択信号３が“１”になる。この場合、キャッシュヒット信号１が“１”となり、キャッシュヒット判定信号は“１”となる。第１の領域に書き込まれていないときは、完了ビット１が“０”であるため、リード番号１が選択され、この値がリード番号３に書き込まれる。すなわち、リード番号３が１となる（図１８（Ｄ））。
【０１３７】
次に、選択信号４が“１”になる。この場合、キャッシュヒット信号２が“１”となり、キャッシュヒット判定信号は“１”となる。第２の領域に書き込まれていないときは、完了ビット２が“０”であるため、リード番号２が選択され、この値がリード番号４に書き込まれる。すなわち、リード番号４が２となる（図１８（Ｅ））。
【０１３８】
その後、１つ目のデータの読み込みが完了すると、リードデータカウンタが１加算され、“１”となる。リードデータ選択部２３０では、リード番号１〜４とリードデータ計数値の比較を常時行っているので、リードデータ計数値が“１”になると、比較結果１及び３が“１”となる。データの読み込みが完了すると、リードデータイネーブル信号が“１”となるので、リードデータ選択信号１及び３が“１”となり、ライト領域選択部１８１に送られる。
【０１３９】
ライト領域選択部１８１では、ライトイネーブル信号１及び３を１として、第１の領域と第３の領域にリードデータを書き込む（図１８（Ｆ））。
【０１４０】
次に、２つ目のデータの読み込みが完了すると、リードデータカウンタが１加算され、リードデータ計数値が“２”となる。リードデータ選択部２３０では、リード番号１〜４とリードデータ計数値の比較を常時行っているので、リードデータ計数値が“２”になると、比較結果２及び４が“１”となる。データの読み込みが完了すると、リードデータイネーブル信号が“１”となるので、リードデータ選択信号２及び４が“１”となり、ライト領域選択部１８１に送られる。
【０１４１】
ライト領域選択部１８１では、ライトイネーブル信号２及び４を１として、第２の領域と第４の領域にリードデータが書き込まれる（図１８（Ｇ））。
【０１４２】
第４の領域までデータが書き込まれた後、データが出力される。この動作は第１実施形態と同様である。
【０１４３】
図１９は、第１実施形態と第２実施形態の動作の違いを説明するための模式図である。図１９（Ａ）〜（Ｄ）は第１実施形態の選択信号１〜４を示している。図１９（Ｅ）は、外部メモリ２０からの読み込み処理を示している。また、図１９（Ｆ）〜（Ｉ）は第２実施形態の選択信号１〜４を示している。図１９（Ｊ）は、外部メモリ２０からの読み込み処理を示している。
【０１４４】
ここでは、入力アドレス１に対して、外部メモリ２０からデータｄ１−１及びｄ１−２を読み込み、入力アドレス２に対して、外部メモリ２０からデータｄ２−１及びｄ２−２を読み込み、入力アドレス３及び４に対しては、キャッシュメモリから読み込む場合を例にとって説明する。
【０１４５】
第１実施形態の構成によれば、時刻ｔ０で選択信号１が“１”になると、外部メモリの読込処理開始までにかかる時間Δｔａを経過した後、外部メモリからデータｄ１−１及びｄ１−２の読み込み処理を行う。外部メモリからの読込処理が終了すると、選択信号１が“０”になるとともに、選択信号２が“１”になる。ここでは、外部メモリからの読込処理にかかる時間をΔｔｂとする。
【０１４６】
次に、選択信号２が“１”になると、外部メモリからデータｄ２−１及びｄ２−２の読込処理を行う。
【０１４７】
データｄ２−１及びｄ２−２の読込処理が終了すると、選択信号２が“０”になるとともに、選択信号３が“１”になる。選択信号３が“１”のときは、外部メモリからの読込処理を行わないので、時間Δｔｓｌが経過した後、選択信号３が“０”になるとともに、選択信号４が“１”になる。
【０１４８】
選択信号４が“１”になった場合も、外部メモリからの読込処理を行わないので、時間Δｔｓｌが経過した後、時刻ｔ１において、選択信号４が“０”となる。
【０１４９】
時刻ｔ１において４つのアドレスに対するキャッシュ処理が終了して、出力処理に移る。
【０１５０】
これに対し、第２実施形態の構成によれば、選択信号１により、データｄ１−１及びｄ１−２の読み込みを行っている間であっても、時間Δｔｓｌが経過した時点で、選択信号１が“０”となり、選択信号２が“１”になる。このように、第２実施形態の構成では、時間Δｔｓｌが経過するたびに、リード制御部は、選択する領域を変更した選択信号を生成する。
【０１５１】
外部メモリからの読込処理については、データｄ１−１及びｄ１−２の読込処理が終了すると、所定の時間Δｔｃを経過した後、次のデータｄ２−１及びｄ２−２の読込処理を行う。なお、この所定の時間Δｔｃは、外部メモリからの読込処理が連続したときのインターバルである。
【０１５２】
このため、時刻ｔ０で処理を開始した場合、第１実施形態では、時刻ｔ１において４つのアドレスに対するキャッシュ処理が終了して、出力処理に移るのに対して、第２実施形態では、時刻ｔ２において４つのアドレスに対するキャッシュ処理が終了して、出力処理に移ることができる。
【０１５３】
上述したように、この第２実施形態の構成によれば、第１実施形態と同様にキャッシュヒットした場合には、外部メモリにアクセスすることなく、キャッシュメモリに格納されたデータを参照する。この結果、外部メモリへのアクセス回数を削減することができ、処理時間を短縮することができる。
【０１５４】
また、さらに、外部メモリからのデータの読み込みが完了する前に、次のデータのキャッシュヒット判定を行う。このため、外部メモリからのデータの読み込みを連続して行うことができ、外部メモリの使用効率が上がり、画像データを転送する処理速度をさらに向上させることができる。
【０１５５】
（第３実施形態）
図２０を参照して、第３実施形態のキャッシュ回路について説明する。図２０は、第３実施形態のキャッシュ回路を説明するための概略図である。
【０１５６】
第３実施形態のキャッシュ回路１０２は、キャッシュメモリ３０２がＡ面とＢ面の２面を有している点が、第２実施形態のキャッシュ回路との主な相違点であり、それ以外の点は第２実施形態のキャッシュ回路と同様に構成される。従って、重複する説明は省略することもある。
【０１５７】
第３実施形態のキャッシュメモリ３０２は、Ａ面及びＢ面の２つの面を備えている。Ａ面及びＢ面は、それぞれ、図１３を参照して説明したキャッシュメモリ３０１と同じ構成である。すなわち、キャッシュメモリ３０２のＡ面及びＢ面は、複数の領域を有している。キャッシュメモリ３０２のＡ面及びＢ面がそれぞれ有する領域の数は、少なくとも入力アドレスと同じ個数有れば良く、ここでは、４個としている。キャッシュメモリ３０２のＡ面及びＢ面の各領域には、有効ビット欄３３０、上位アドレス欄３３２、下位アドレス欄３３４及びキャッシュデータ欄３３６、完了ビット欄３３８及びリード番号欄３４０が設けられていて、それぞれ、有効ビット、上位アドレス、下位アドレス、キャッシュデータ、完了ビット及びリード番号が格納される。
【０１５８】
キャッシュメモリ３０２は、入力面切換部を有している。キャッシュメモリ３０２に送られた選択信号、入力アドレス及びライトイネーブル信号は、それぞれ入力面切換部で、送り先としてＡ面又はＢ面が選択される。また、リード番号の出力についても、入力面切換部において、送り元としてＡ面又はＢ面が選択される。この入力面切換部は、制御信号として入力される入力面切換信号によって、Ａ面又はＢ面の切換えを行う。
【０１５９】
入力面切換信号がＡ面を示す場合は、選択信号１〜４、入力アドレス１〜４及びライトイネーブル信号１〜４は、キャッシュメモリ３０２のＡ面に送られる。また、Ａ面に格納されているリード番号がリード番号選択部２１１及びリードデータ選択部２３０に送られる。
【０１６０】
一方、入力面切換信号がＢ面を示す場合は、選択信号１〜４、入力アドレス１〜４及びライトイネーブル信号１〜４は、キャッシュメモリ３０２のＢ面に送られる。また、Ｂ面に格納されているリード番号がリード番号選択部２１１及びリードデータ選択部２３０に送られる。
【０１６１】
また、ライトデータ及びリード番号は、Ａ面及びＢ面の各領域に送られる。
【０１６２】
また、キャッシュメモリ３０２から、キャッシュヒット判定部１４１、キャッシュヒットデータ選択部１５１、完了ビット判定部２０１及びリード番号選択部２１１に送られる、有効ビット、上位アドレス、キャッシュデータ、完了ビットは、入力面切換信号に依存せず、キャッシュメモリのＡ面及びＢ面の双方に格納されているものである。
【０１６３】
キャッシュヒット判定部１４１、完了ビット判定部２０１及びリード番号選択部２１１は、４系統の信号が８系統になることを除いては第２実施形態と同様に構成される。
【０１６４】
リード番号選択部２１１は、キャッシュヒット信号入力面切換部と、完了ビット入力面切換部を備えている。キャッシュヒット信号入力面切換部、及び完了ビット入力面切換部には、制御信号として入力面切換信号が入力される。
【０１６５】
キャッシュヒット信号出力面切換部、及び完了ビット出力面切換部は、入力面切換信号がＡ面を示す場合は、キャッシュメモリのＡ面に格納されているデータに対する信号を選択して出力し、入力面切換信号がＢ面を示す場合は、キャッシュメモリのＢ面に格納されているデータに対する信号を選択して出力する。以降の処理については、第２実施形態と同様である。
【０１６６】
出力データ選択部１９０は、出力面切換部を有している。出力面切換部には、制御信号として出力面切換信号が入力される。
【０１６７】
ここで、入力面切換信号と、出力面切換信号は相補的な信号であり、一方がＡ面を示す場合は、他方はＢ面を示す。出力面切換部は、出力面切換信号がＡ面を示す場合は、キャッシュメモリのＡ面に格納されているデータを選択して出力し、出力面切換信号がＢ面を示す場合は、キャッシュメモリのＢ面に格納されているデータを選択して出力する。
【０１６８】
キャッシュメモリの面の切換えは、出力データ準備完了フラグの値に応じて行われる。図２２を参照して、キャッシュメモリの面の切換えについて説明する。図２２（Ａ）は、キャッシュ処理を示し、図２２（Ｂ）は、出力処理を示している。
【０１６９】
キャッシュメモリの面の切換えは、一方の面でのキャッシュ処理が完了し、かつ、他方の面からのデータの出力が完了した時点で行われる。
【０１７０】
ここでは、各面からの出力の処理時間を一定とする。また、外部メモリ２０からデータを読み出す処理が多い場合の処理時間は、出力の処理時間より長く、キャッシュメモリからデータを読み出す処理が多い場合の処理時間が出力の処理時間より短いものとする。
【０１７１】
初期状態では、Ａ面にキャッシュメモリにデータが格納されていないので、Ａ面のキャッシュ処理時間は、長くなる。この間、Ｂ面からの出力は行わない。
【０１７２】
Ａ面のキャッシュ処理が終了すると、入力面がＡ面からＢ面に切換えられるとともに、出力面がＡ面となる。その後、Ｂ面でキャッシュ処理を行うと同時に、Ａ面からデータの出力がなされる。
【０１７３】
この状態では、Ｂ面にキャッシュメモリにデータが格納されていないので、Ｂ面のキャッシュ処理時間は、長くなる。従って、Ａ面からのデータの出力に要する処理時間よりも、Ｂ面でキャッシュ処理を行う時間が長くなる。Ａ面からのデータの出力処理が完了した後、Ｂ面でのキャッシュ処理が完了すると、入力面がＢ面からＡ面に切換えられるとともに、出力面がＡ面からＢ面に切換えられる。
【０１７４】
この状態では、Ａ面にキャッシュメモリにデータが格納されているので、Ａ面のキャッシュ処理時間は、出力の処理時間よりも短くなる。従って、Ｂ面からのデータの出力処理に要する時間よりも、Ａ面でキャッシュ処理を行う時間が短くなる。Ａ面でのキャッシュ処理が完了した後、Ｂ面でのデータの出力処理が完了すると、入力面がＡ面からＢ面に切換えられるとともに、出力面がＢ面からＡ面に切換えられる。
【０１７５】
以上説明したように、この構成によれば、Ａ面及びＢ面の一方の面でキャッシュ処理を行っている間に、他方の面で出力処理を行うので、第２実施形態の構成に比べて、さらに、処理を効率的に行うことができる。
【０１７６】
また、上述した各実施形態では、デスティネーション画像の１画素のデータを生成するために、ソース画像の４画素分のデータを用いる４点補間に用いる例について説明したが、４点補間に限定されるものではない。６点補間、８点補間など様々の補間方法に対しても、キャッシュメモリの領域の数を変更するだけで、同様の効果が得られる。
【図面の簡単な説明】
【０１７７】
【図１】画像データ処理回路の概略図である。
【図２】ソース画像とデスティネーション画像の関係の模式図である。
【図３】第１実施形態のキャッシュ回路の概略図である。
【図４】第１実施形態のキャッシュメモリの概略図である。
【図５】アドレス選択部の概略構成図である。
【図６】キャッシュヒット判定部の概略構成図である。
【図７】キャッシュヒットデータ選択部の概略構成図である。
【図８】ライトデータ判定部の概略構成図である。
【図９】ライト領域選択部の概略構成図である。
【図１０】出力データ選択部の概略構成図である。
【図１１】第１実施形態のキャッシュメモリ制御方法を説明するための図である。
【図１２】第２実施形態のキャッシュ回路の概略図である。
【図１３】第２実施形態のキャッシュメモリの概略図である。
【図１４】完了ビット判定部の概略構成図である。
【図１５】リード番号選択部の概略構成図である。
【図１６】リードデータ選択部の概略構成図である。
【図１７】ライト領域選択部の概略構成図である。
【図１８】第２実施形態のキャッシュメモリ制御方法を説明するための図である。
【図１９】第１実施形態と第２実施形態のタイミング図である。
【図２０】第３実施形態のキャッシュ回路を説明するための概略図である。
【図２１】第３実施形態のキャッシュメモリの概略図である。
【図２２】第３実施形態のキャッシュメモリ制御方法を説明するための図である。
【符号の説明】
【０１７８】
１０    アドレス計算手段
２０    外部メモリ
３０    画像データ処理手段
１００、１０１、１０２    キャッシュ回路    
１２０    リード制御部
１３０    アドレス選択部
１３２、１４４、１５２、１８２、１８３、２０２、２１２、２１４、２３６    ＡＮＤ演算部
１３４、１４６、１５４、１７４、１８４、１８６、２０４、２１６    ＯＲ演算部
１４０    キャッシュヒット判定部
１４２、２３４    比較演算部
１５０    キャッシュヒットデータ選択部
１６０    メモリ制御部
１７０、１７１    ライトデータ判定部
１７２、１７３、１９２、２２４    選択演算部
１８０、１８１    ライト領域選択部
１９０    出力データ選択部
２００    完了ビット判定部
２１０    リード番号選択部
２２０    リード番号決定部
２２２    リクエストカウンタ
２３０    リードデータ選択部
２３２    リードデータカウンタ
３００、３０１、３０２    キャッシュメモリ
３１１、３１２、３１３、３１４、３２１、３２２、３２３、３２４    領域
３３０    有効ビット欄
３３２    上位アドレス欄
３３４    下位アドレス欄
３３６    キャッシュデータ欄
３３８    完了ビット欄
３４０    リード番号欄
【図１】
2010033420.tif 000003
【図２】
2010033420.tif 000004
【図３】
2010033420.tif 000005
【図４】
2010033420.tif 000006
【図５】
2010033420.tif 000007
【図６】
2010033420.tif 000008
【図７】
2010033420.tif 000009
【図８】
2010033420.tif 000010
【図９】
2010033420.tif 000011
【図１０】
2010033420.tif 000012
【図１１】
2010033420.tif 000013
【図１２】
2010033420.tif 000014
【図１３】
2010033420.tif 000015
【図１４】
2010033420.tif 000016
【図１５】
2010033420.tif 000017
【図１６】
2010033420.tif 000018
【図１７】
2010033420.tif 000019
【図１８】
2010033420.tif 000020
【図１９】
2010033420.tif 000021
【図２０】
2010033420.tif 000022
【図２１】
2010033420.tif 000023
【図２２】
2010033420.tif 000024