(57)【特許請求の範囲】
【請求項１】
メモリと接続されるプロセッサシステムにおいて、
前記メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、
前記プロセッサと接続された，所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、
ローカルメモリと、
前記メモリへのインタフェース回路としての機能を有する，前記ローカルメモリ及び前記キャッシュメモリに接続されたインターコネクトと、
を備え、
前記キャッシュメモリは、
データを記憶しているブロックに新たなデータを記憶する前に、そのブロック上のデータ、当該データのアドレスを、それぞれ、掃出データ、掃出アドレスとして前記インターコネクトに通知する機能
を有し、
前記インターコネクトは、
前記キャッシュメモリから掃出データ及び掃出アドレスが通知される度に、通知された掃出アドレスに基づき、通知された掃出データが、前記画像処理により再度参照されるデータであるか否かを判別し、そうであると判別した場合には、その掃出データを、当該掃出アドレスから所定のアルゴリズムにて求めたアドレスのデータとして前記ローカルメモリに格納する機能、及び、
前記メモリに記憶されている読出対象データのアドレスである読出アドレスが前記キャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データが前記ローカルメモリに格納されているか否かを判別し、読出対象データが前記ローカルメモリに格納されていると判別した場合には、読出アドレスから前記所定のアルゴリズムにて求めたアドレスのデータを前記ローカルメモリから読み出して前記キャッシュメモリに返送し、読出対象データが前記ローカルメモリに格納されていないと判別した場合には、読出アドレスのデータを前記メモリから読み出して前記キャッシュメモリに返送するデータ返送機能
を有し、
前記所定内容の画像処理は、前記画像データ中の所定の範囲のデータを前記所定範囲の
データ内の特定位置のアドレスの昇順に処理し、
前記画像処理により再度参照されるデータであるか否かを判別する処理は、前記掃出アドレスに基づいて前記掃出データが前記所定範囲に再度含まれるデータであるか否かを判別する処理である、
ことを特徴とするプロセッサシステム。
【請求項２】
前記インターコネクトのデータ返送機能が、
掃出データが、前記画像処理により再度参照されるデータであると判別した場合にのみ、その掃出データを、前記ローカルメモリに格納する機能である
ことを特徴とする請求項１に記載のプロセッサシステム。
【請求項３】
メモリと接続されるプロセッサシステムにおいて、
前記メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、
前記プロセッサと接続された，所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、
ローカルメモリと、
前記メモリへのインタフェース回路としての機能を有する，前記ローカルメモリ及び前記キャッシュメモリに接続されたインターコネクトと、
を備え、
前記インターコネクトは、
前記メモリに記憶されている読出対象データのアドレスである読出アドレスが前記キャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データが前記ローカルメモリに格納されているか否かを判別する機能、
読出対象データが前記ローカルメモリに格納されていると判別した場合に、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータを前記ローカルメモリから読み出して前記キャッシュメモリに返送する機能、及び、
読出対象データが前記ローカルメモリに格納されていないと判別した場合に、読出アドレスのデータを前記メモリから読み出して前記キャッシュメモリに返送すると共に、当該データが、前記画像処理により２度以上参照されるデータであった場合には、そのデータを、前記読出アドレスから前記所定のアルゴリズムにて求めたアドレスのデータとして前記ローカルメモリに格納するデータ返送機能
を有し、
前記所定内容の画像処理は、前記画像データ中の所定の範囲のデータを前記所定範囲のデータ内の特定位置のアドレスの昇順に処理し、
前記画像処理により２度以上参照されるデータとは、前記データが前記所定範囲に２度以上含まれるデータである、
ことを特徴とするプロセッサシステム。
【請求項４】
前記インターコネクトのデータ返送機能が、
前記メモリから読み出したデータが前記画像処理により２度以上参照されるデータである場合にのみ、そのデータを、前記ローカルメモリに格納する機能である
ことを特徴とする請求項３に記載のプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュメモリを内蔵したプロセッサシステムに関する。
【背景技術】
【０００２】
周知のように、デジタルカメラ等では、キャッシュメモリを内蔵したプロセッサシステムにより、撮像結果（画像データ）に対して画像処理が行われるようになっている。
【０００３】
そして、そのようなプロセッサシステムは、画像処理時にメインメモリから同じデータを２度読み出さなくて済む容量のキャッシュメモリを備えていることが望ましいのであるが、近年、画像処理対象の画像データの縦・横方向のピクセル数が極めて多くなってきている。そして、製造コスト等の観点から、プロセッサシステムに内蔵できるキャッシュメモリのサイズにも制限があるため、従来の構成（プロセッサとキャッシュメモリとインタフェース回路からなる構成）を採用したままでは、画像処理時にメインメモリから同じデータを２度読み出さなくて済むプロセッサシステムを製造することが困難になってきている。結果として、同じデータを複数回、メインメモリから読み出すため、全体として消費電力が増加してしまっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２００３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、本発明の課題は、メモリから同じデータを２度読み出さない形で画像処理を実行可能なプロセッサシステムであって、大容量のキャッシュメモリを内蔵させることなく低消費電力を実現できるプロセッサシステムを、提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、開示の技術の一態様の，メモリと接続されるプロセッサシステムは、メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、プロセッサと接続された，所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、ローカルメモリと、メモリへのインタフェース回路としての機能を有する，ローカルメモリ及びキャッシュメモリに接続されたインターコネクトとを備えた構成であって、キャッシュメモリとして、データを記憶しているブロックに新たなデータを記憶する前に、そのブロック上のデータ、当該データのアドレスを、それぞれ、掃出データ、掃出アドレスとしてインターコネクトに通知する機能を有するものが採用され、インターコネクトとして、キャッシュメモリから掃出データ及び掃出アドレスが通知される度に、通知された掃出アドレスに基づき、通知された掃出データが、画像処理により再度参照されるデータであるか否かを判別し、そうであると判別した場合には、その掃出データを、当該掃出アドレスから所定のアルゴリズムにて求めたアドレスのデータとしてローカルメモリに格納する機能、及び、メモリに記憶されている読出対象データのアドレスである読出アドレスがキャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データがローカルメモリに格納されているか否かを判別し、読出対象データがローカルメモリに格納されていると判別した場合には、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータをローカルメモリから読み出してキャッシュメモリに返送し、読出対象データがローカルメモリに格納されていないと判別した場合には、読出アドレスのデータをメモリから読み出してキャッシュメモリに返送するデータ返送機能を有
するものが採用された構成を有する。
【０００７】
また、上記課題を解決するために、開示の技術の他の態様の，メモリと接続されるプロセッサシステムは、メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、プロセッサと接続された，所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、ローカルメモリと、メモリへのインタフェース回路としての機能を有する，ローカルメモリ及びキャッシュメモリに接続されたインターコネクトとを備えた構成であって、インターコネクトとして、メモリに記憶されている読出対象データのアドレスである読出アドレスがキャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データがローカルメモリに格納されているか否かを判別する機能、読出対象データがローカルメモリに格納されていると判別した場合に、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータをローカルメモリから読み出してキャッシュメモリに返送する機能、及び、読出対象データがローカルメモリに格納されていないと判別した場合に、読出アドレスのデータをメモリから読み出してキャッシュメモリに返送すると共に、当該データが、画像処理により２度以上参照されるデータであった場合には、そのデータを、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータとしてローカルメモリに格納するデータ返送機能を有するものが採用された構成を有する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係るプロセッサシステムの構成及び使用形態の説明図。
【図２】第１実施形態に係るプロセッサシステム内のインターコネクトが実行するリード要求応答処理の流れ図。
【図３】第１実施形態に係るプロセッサシステム内のインターコネクトが実行するライト要求応答処理の流れ図。
【図４】第１実施形態に係るプロセッサシステム内のプロセッサが実行する画像処理の内容の説明図。
【図５】第１実施形態に係るプロセッサシステムの内部動作の説明図。
【図６Ａ】第１実施形態に係るプロセッサシステム内のキャッシュメモリ、ローカルメモリの画像処理時の状態の説明図。
【図６Ｂ】第１実施形態に係るプロセッサシステム内のキャッシュメモリ、ローカルメモリの画像処理時の状態の説明図。
【図６Ｃ】第１実施形態に係るプロセッサシステム内のキャッシュメモリ、ローカルメモリの画像処理時の状態の説明図。
【図６Ｄ】第１実施形態に係るプロセッサシステム内のキャッシュメモリ、ローカルメモリの画像処理時の状態の説明図。
【図６Ｅ】第１実施形態に係るプロセッサシステム内のキャッシュメモリ、ローカルメモリの画像処理時の状態の説明図。
【図７Ａ】第１実施形態に係るプロセッサシステムの，画像処理時における動作内容の説明図。
【図７Ｂ】従来システムの，画像処理時における動作内容の説明図。
【図８】第２実施形態に係るプロセッサシステムの構成及び使用形態の説明図。
【図９】第２実施形態に係るプロセッサシステム内のインターコネクトが実行するリード要求応答処理の流れ図。
【図１０】第２実施形態に係るプロセッサシステム内のキャッシュメモリ、ローカルメモリの画像処理時の状態の説明図。
【図１１Ａ】第２実施形態に係るプロセッサシステムの、画像処理時における動作内容の説明図。
【図１１Ｂ】第２実施形態に係るプロセッサシステムの、画像処理時における動作内容の説明図。
【図１２】第２実施形態に係るプロセッサシステムの、画像処理時における動作内容の説明図。
【図１３】第３実施形態に係るプロセッサシステムの構成及び使用形態の説明図。
【図１４】第３実施形態に係るプロセッサシステム内のプロセッサが実行する画像処理の内容の説明図。
【図１５】第３実施形態に係るプロセッサシステム内のインターコネクトが実行するリード要求応答処理の流れ図。
【図１６】第３実施形態に係るプロセッサシステム内のインターコネクトが実行するライト要求応答処理の流れ図。
【発明を実施するための形態】
【０００９】
以下、発明者らが開発した３種のプロセッサシステム（以下、第１〜第３実施形態に係るプロセッサシステムと表記する）について、図面を参照して詳細に説明する。
【００１０】
《第１実施形態》
図１に示してあるように、第１実施形態に係るプロセッサシステム１０は、メインメモリ５０と接続されて使用されるＬＳＩ（large-scale integration）であり、プロセッサ
１１、キャッシュメモリ１２、インターコネクト１３及びローカルメモリ１４を備えている。
【００１１】
メインメモリ５０は、横（幅）方向のピクセル数が４０９６個、縦（高さ）方向のピクセル数が任意数（図では、２０４８個）の画像データ５１（イメージセンサによる撮像結果等）が書き込まれるメモリである。
【００１２】
ローカルメモリ１４は、１６ＫＢ（１６×１０２４バイト）の記憶容量を有するＲＡＭ（Random Access Memory）である。
【００１３】
キャッシュメモリ１２は、１６ＫＢの記憶容量を有するキャッシュメモリである。このキャッシュメモリ１２は、既存のキャッシュメモリを、通常動作モードと画像処理用動作モードとで動作可能なように改良したものとなっている。なお、このキャッシュメモリ１２の元となったキャッシュメモリは、ＬＲＵ(Least Recently Used)方式でブロックを入
れ替える、アドレスが“４０９６・Ｎ”（Ｎは任意の整数）異なる５データを同時に記憶できるセットアソシエイティブ方式のキャッシュメモリである。
【００１４】
具体的な回路構成の説明は省略するが、キャッシュメモリ１２は、プロセッサ１１がデータを書き込める先頭アドレスレジスタ、末尾アドレスレジスタ及び動作モード指定用レジスタを備えている。
【００１５】
キャッシュメモリ１２が備える先頭アドレスレジスタ、末尾アドレスレジスタは、それぞれ、画像データ５１の先頭アドレス、画像データ５１の末尾アドレスがプロセッサ１１により設定されるレジスタである。以下、これらのレジスタの設定値を境界としたアドレス範囲（つまり、画像データ５１が記憶されているアドレス範囲）のことを、指定アドレス範囲と表記する。
【００１６】
動作モード指定用レジスタは、その設定値が、第１指定値（動作モード指定用レジスタの初期値）である場合にキャッシュメモリ１２が通常動作モードで動作し、その設定値が、第２指定値である場合にキャッシュメモリ１２が画像処理用動作モードで動作するレジスタである。
【００１７】
通常動作モードは、キャッシュメモリ１２が、キャッシュメモリ１２の元となったキャ
ッシュメモリと同機能のユニットとして動作する動作モードである。
【００１８】
画像処理用動作モードは、キャッシュメモリ１２が以下の機能を有するユニットとして動作する動作モードである。
【００１９】
（ａ）指定アドレス範囲外のデータについてのプロセッサ１１からのアクセス要求／インターコネクト１３からのアクセス応答は、通常動作モード時と同等の振る舞いをする。
（ｂ）指定アドレス範囲内のデータについてのプロセッサ１１からのリード要求に対しては、通常のキャッシュメモリと同様に応答。ただし、リード要求に対する応答処理中に、或るブロック上のデータを掃き出す必要が生じた場合には、常に（当該ブロック上のデータが書き換えられていてもいなくても）、当該ブロック上のデータのメインメモリへ書戻要求（通常のライト要求）を発行。
【００２０】
インターコネクト１３は、既存のインターコネクトに、先頭アドレスレジスタ、末尾アドレスレジスタ及び動作モード指定用レジスタ等を追加したユニットである。なお、既存のインターコネクトとは、キャッシュメモリ１２からのアクセス要求にローカルメモリ１４を利用することなく応答するユニットのことである。
【００２１】
インターコネクト１３の動作モード指定用レジスタは、キャッシュメモリ１２の動作モード指定用レジスタと同様に、その設定値が第１指定値／第２指定値である場合にインターコネクト１３が通常動作モード／画像処理用動作モードで動作するレジスタである。
【００２２】
インターコネクト１３の通常動作モードは、キャッシュメモリ１２の通常動作モードと同様に、インターコネクト１３が、既存のインターコネクトと同機能のユニットとして動作する動作モードである。
【００２３】
インターコネクト１３の画像処理用動作モードは、インターコネクト１３が、以下の機能を有するユニットとして動作する動作モードである。なお、以下の説明において、指定アドレス範囲とは、キャッシュメモリ１２に関する指定アドレス範囲と同様に、インターコネクト１３内の先頭／末尾アドレスレジスタに設定されている２アドレスを境界としたアドレス範囲のことである。
【００２４】
（１）キャッシュメモリ１２からのアクセス要求が、指定アドレス範囲外のデータの読み出し／書き込みを要求するものであった場合には、そのアクセス要求で要求されている処理をそのまま実行。
（２）キャッシュメモリ１２からのアクセス要求が、指定アドレス範囲内のデータについてのリード要求であった場合には、そのリード要求に対して図２に示した手順のリード要求応答処理を実行。
（３）キャッシュメモリ１２からのアクセス要求が、指定アドレス範囲内のデータについてのライト要求であった場合には、そのライト要求に対して図３に示した手順のライト要求応答処理を実行。
【００２５】
なお、これらの応答処理の内容については後ほど説明するが、各流れ図中における“８０”は、キャッシュメモリ１２のブロックサイズが２５６バイトである場合の値（キャッシュメモリ１２のブロックサイズに応じて適切な値が変わる値）である。
【００２６】
プロセッサ１１（図１）は、図示せぬ不揮発性記憶装置〔本実施形態では、プロセッサシステム１０と接続されるＲＯＭ（Read Only Memory）〕上の画像処理プログラムや他のプログラムに従って各種処理を行うユニットである。
【００２７】
不揮発性記憶装置上の画像処理プログラムは、『画像データ５１中の５ピクセル×５ピクセル分のデータ（マトリックス状に並んだ２５個のピクセルに関するデータ）毎に処理結果データを生成する画像処理』をプロセッサ１１に実行させるプログラムである。
【００２８】
この画像処理プログラムは、図４に模式的に示したような内容／手順の画像処理をプロセッサ１１に実行させるものとなっている。すなわち、画像処理プログラムは、画像データ５１中の各２５個（５×５個）のピクセルデータを特定位置（例えば、中心位置）に関するピクセルデータのアドレスの昇順に処理していく画像処理をプロセッサ１１に実行させるものとなっている。なお、画像処理プログラムがプロセッサ１１に実行させる画像処理は、２５個のピクセルデータの処理結果（本実施形態では、１個のピクセルデータ）をメインメモリ５０の画像データ５１の記憶に使用されていない記憶領域に記憶する処理である。
【００２９】
さらに、画像処理プログラムは、プロセッサ１１に、初期化処理、動作モード変更処理、画像処理、動作モード復帰処理を、この順に実行させるものとなっている。
【００３０】
画像処理プログラムに従いプロセッサ１１が実行する初期化処理は、キャッシュメモリ１２の状態を、全ブロック（キャッシュライン）に有意なデータが記憶されていない状態とする処理である。動作モード変更処理は、キャッシュメモリ１２内及びインターコネクト１３内の先頭アドレスレジスタ、末尾アドレスレジスタ、動作モード指定用レジスタに、それぞれ、画像データ５１の先頭アドレス、画像データ５１の末尾アドレス、第２指定値を設定する処理である。動作モード復帰処理は、キャッシュメモリ１２内及びインターコネクト１３内の動作モード指定用レジスタに、第１指定値を設定する処理である。
【００３１】
以下、インターコネクト１３が実行するリード要求応答処理及びライト要求応答処理の内容を、プロセッサシステム１０の全体的な動作と共に、説明する。
【００３２】
既に説明した事項から明らかなように、プロセッサシステム１０は、画像データ５１に対する画像処理が行われている間、キャッシュメモリ１２及びインターコネクト１３が画像処理用動作モードで動作するシステムである。また、画像処理用動作モードで動作しているキャッシュメモリ１２が、プロセッサ１１からの，画像データ５１中のデータのリード要求に対して行う処理は、データの掃き出し時に常に書戻要求を発行することを除けば、通常のキャッシュメモリが行う処理と同じものである。さらに、プロセッサ１１は、図４に示した内容／手順の画像処理をキャッシュメモリ１２の初期化後に開始するものとなっている。
【００３３】
従って、プロセッサ１１による画像処理の開始後、画像データ５１中の図５に網掛けを付して示してある６４個のブロックデータ（２５６バイトのデータ）がキャッシュメモリ１２内にキャッシュされるまでは、書戻要求が出力されることなく、画像処理が進行することになる。
【００３４】
そして、ブロックデータ"B4-12"の読み込み時に、ブロックデータ"B0-0"についての書
戻要求が初めて発行される。また、その後、新たなブロックデータがキャッシュメモリ１２内に読み込まれる度に、キャッシュメモリ１２内への読み込み順通りに各ブロックデータについての書戻要求が発行されることになる。
【００３５】
キャッシュメモリ１２が発行する書戻要求は、そのアドレスが指定アドレス範囲内にあるデータについてのライト要求である。そのため、各書戻要求に対しては、ライト要求応答処理（図３）が行われる。
【００３６】
このライト要求応答処理は、キャッシュメモリ１２から掃き出されたブロックデータ（書戻要求で書き戻しが要求されているブロックデータ）を、ローカルメモリ１４の特定の記憶領域（ブロックデータのアドレスから一意に定まる記憶領域）に記憶する処理である。また、ライト要求応答処理は、画像処理に再度使用される，ローカルメモリ１４に記憶されていないブロックデータのみを、ローカルメモリ１４に記憶する処理となっている。
【００３７】
具体的には、ライト要求応答処理（図３）時には、まず、処理すべき書戻要求（以下、処理対象書戻要求と表記する）中の書込アドレスに基づき、書込ＬＭアドレス及びＬｗを算出する処理（ステップＳ２０１）が行われる。
【００３８】
このステップＳ２０１の処理で算出される書込ＬＭアドレス、Ｌｗは、書込アドレスと以下の関係を有する値である。
書込ＬＭアドレス  ＝  書込アドレス mod １６・１０２４               …（１）
Ｌｗ        ＝  ＩＮＴ（書込アドレス／４０９６）              …（２）
【００３９】
なお、（１）式における“１６・１０２４”は、ローカルメモリ１４のバイト単位の記憶容量である。また、（２）式における“４０９６”は、画像データ５１の１行分のデータサイズ（単位はバイト）である。
【００４０】
ステップＳ２０１の処理後には、“Ｌｗ＝０”が成立しているか否かが判断される（ステップＳ２０２）。そして、“Ｌｗ＝０”が成立していた場合（ステップＳ２０２；ＹＥＳ）には、処理対象書戻要求でメインメモリ５０への書き戻しが要求されているデータ（以下、書込要求データと表記する）が破棄されて（図示せず）、このライト要求応答処理が終了される。
【００４１】
すなわち、プロセッサ１１が実行する画像処理の内容（図４）から明らかなように、第０行目のブロックデータは、画像処理に再度使用されることがないデータとなっている。そのため、キャッシュメモリ１２から掃き出されたブロックデータが第０行目のブロックデータであった場合（“Ｌｗ＝０”が成立していた場合：ステップＳ２０２；ＹＥＳ）には、当該ブロックデータが破棄される。
【００４２】
一方、“Ｌｗ＝０”が成立していなかった場合（ステップＳ２０２；ＮＯ）には、“ｃｎｔ＞８０”が成立しているか否かが判断される（ステップＳ２０３）。そして、“ｃｎｔ＞８０”が成立していた場合（ステップＳ２０３；ＹＥＳ）には、“書込アドレス＞最大アドレス”が成立しているか否かが判断される（ステップＳ２０４）。
【００４３】
なお、ｃｎｔとは、画像処理開始後のリード要求応答処理の実行回数（後述する図２のステップＳ１０２で“１”インクリメントされる、初期値が“０”の値）のことである。また、最大アドレスとは、ローカルメモリ１４上に記憶されているブロックデータのアドレスの最大値（後述するステップＳ２０７の処理で書込アドレスが設定されるレジスタの値）のことである。
【００４４】
ステップＳ２０３及びＳ２０４の判断は、今回の書込要求データがローカルメモリ１４上に既に記憶されているものであるか否かを判断するために行われているものである。
【００４５】
“ｃｎｔ＞８０”が成立していなかった場合（ステップＳ２０３；ＮＯ）には、書込要求データを、ローカルメモリ１４の書込ＬＭアドレスにて識別される記憶領域に記憶する処理（ステップＳ２０５）が行われる。なお、ローカルメモリ１４の書込ＬＭアドレスにて識別される記憶領域とは、ローカルメモリ１４の，先頭アドレスが書込ＬＭアドレスと一致する連続した２５６バイトの記憶領域のことである。
【００４６】
このステップＳ２０５の処理後には、“書込アドレス＞最大アドレス”が成立しているか否かが判断される（ステップＳ２０６）。そして、“書込アドレス＞最大アドレス”が成立していた場合（ステップＳ２０６；ＹＥＳ）には、その時点における書込アドレスの値を最大アドレスとして記憶する処理（ステップＳ２０７）が行われてから、ライト要求応答処理が終了される。一方、“書込アドレス＞最大アドレス”が成立していなかった場合（ステップＳ２０６；ＮＯ）には、即座に（ステップＳ２０７の処理が行われることなく）、ライト要求応答処理が終了される。
【００４７】
“ｃｎｔ＞８０ and 書込アドレス＞最大アドレス”が成立していた場合（ステップＳ
２０３；ＹＥＳ、ステップＳ２０４；ＹＥＳ）には、ステップＳ２０５と同内容の処理がステップＳ２０８にて行われた後に、ステップＳ２０７以降の処理が行われる。また、“ｃｎｔ＞８０ and 書込アドレス≦最大アドレス”が成立していた場合（ステップＳ２０
３；ＹＥＳ、ステップＳ２０４；ＮＯ）には、書込要求データが破棄されて（図示せず）、ライト要求応答処理が終了される。
【００４８】
次に、リード要求応答処理（図２）の内容を説明する。
【００４９】
既に説明した事項から明らかなように、リード要求応答処理は、キャッシュメモリ１２が発行する，画像データ５１中の各ブロックデータについてのリード要求に対して行われる処理である。
【００５０】
このリード要求応答処理時には、まず、キャッシュメモリ１２からのリード要求（以下、処理対象リード要求と表記する）中の読出アドレスに基づき、読出ＬＭアドレス及びＬｒを算出する処理（ステップＳ１０１）が行われる。
【００５１】
このステップＳ１０１の処理で算出される読出ＬＭアドレス及びＬｒは、読出アドレスと以下の関係を有する値である。
読出ＬＭアドレス ＝  読出アドレス mod １６・１０２４              …（３）
Ｌｒ         ＝  ＩＮＴ（読出アドレス／４０９６）             …（４）
【００５２】
ステップＳ１０１の処理後には、ｃｎｔ値に“１”が加算（ステップＳ１０２）されてから、“ｃｎｔ＞８０”が成立しているか否かが判断される（ステップＳ１０３）。そして、“ｃｎｔ＞８０”が成立していた場合（ステップＳ１０３；ＹＥＳ）には、“読出アドレス≦最大アドレス”が成立しているか否かが判断される（ステップＳ１０４）。
【００５３】
“読出アドレス≦最大アドレス”が成立していた場合（ステップＳ１０４；ＹＥＳ）には、読出ＬＭアドレスに基づき、ローカルメモリ１４から読出要求データを読み出してキャッシュメモリ１２に返送する処理（ステップＳ１０５）が行われる。より具体的には、ローカルメモリ１４の、先頭アドレスが読出ＬＭアドレスと一致する連続した２５６バイトの記憶領域上のデータを読み出して、読み出したデータを読出要求データとしてキャッシュメモリ１２に返送する処理（ステップＳ１０５）が行われる。
【００５４】
また、“ｃｎｔ＞８０”が成立していなかった場合（ステップＳ１０３；ＮＯ）と、“読出アドレス≦最大アドレス”が成立していなかった場合（ステップＳ１０４；ＮＯ）とには、読出要求データをメインメモリ５０から読み出してキャッシュメモリ１２に返送する処理（ステップＳ１０６）が行われる。
【００５５】
ここで、図６Ａ〜図６Ｅを用いて、上記した、画像処理時におけるプロセッサシステム１０の各部の動作を、さらに具体的に説明しておくことにする。なお、図６Ａ〜図６Ｅに
おいて、網掛けを付してあるブロックデータがキャッシュメモリ１２内に読み込まれているブロックデータである。[Bn-m]と表記してあるブロックデータは、キャッシュメモリ１２内に最も最近読み込まれたブロックデータである。ハッチングを付してあるブロックデータは、新たなブロックデータの読み込みのためにキャッシュメモリ１２から掃き出されたブロックデータ（書戻要求が発行されたブロックデータ）である。また、<<Bn-m>>と表記してあるブロックデータは、ローカルメモリ１４からキャッシュメモリ１２内に読み込まれたブロックデータである。
【００５６】
既に説明したように、キャッシュメモリ１２が書戻要求を初めて発行するのは、ブロックデータ"B4-12"の読み込み時である。そして、当該書戻要求は、ブロックデータ"B0-0"
の書き戻しを要求するものであり、ライト要求応答処理は、行番号が“０”のブロックデータについての書戻要求を受け取った場合、当該ブロックデータを破棄する処理となっている。従って、ブロックデータ"B4-12"の読み込み時に掃き出されるブロックデータ"B0-0は、図６Ａに模式的に示したように、ローカルメモリ１２上に記憶されることなく破棄されることになる。
【００５７】
その後のブロックデータ"B0-13"〜"B4-13"の読み込み時には、キャッシュメモリ１２から、ブロックデータ"B1-0"〜"B4-0"、"B0-0"が掃き出される。なお、画像データ５１中の，最初の５行分の画像データに対する画像処理が完了するまでは、“ｃｎｔ＞８０ and 
読出アドレス≦最大アドレス”（図２参照）が成立する（ＴＲＵＥとなる）ことはない。そのため、ブロックデータ"B4-15"までの各ブロックデータは、メインメモリ５０から読
み出されることになる。
【００５８】
ブロックデータ"B0-13"〜"B3-13"の読み込み時に掃き出されるブロックデータ"B1-0"〜"B4-0"は、いずれも、行番号が“０”ではないブロックデータである。そして、各ブロックデータの掃き出し時のｃｎｔ値は８０以下であり、ブロックデータのローカルメモリ１４への書込アドレス（書込ＬＭアドレス）は、『書込ＬＭアドレス  ＝  書込アドレス mod １６・１０２４』により求められている。従って、ブロックデータ"B1-0"〜"B4-0"は
、図６Ｂに模式的に示したような形で、ローカルメモリ１４上に記憶されることになる。
【００５９】
また、ブロックデータB4-13"の読み込み時に掃き出されるブロックデータ"B0-1"の行番号は“０”である。従って、ブロックデータ"B0-1"は、ローカルメモリ１４上に記憶されない（破棄される）ことになる。
【００６０】
その後のブロックデータ"B0-14"〜"B4-14"の読み込み時（図６Ｃ）にも、キャッシュメモリ１２から掃き出された、行番号が“０”ではないブロックデータ"B1-1"〜"B4-1"のみがローカルメモリ１２上に記憶されることになる。また、ブロックデータ"B0-15"〜"B4-15"の読み込み時（図６Ｄ）にも、キャッシュメモリ１２から掃き出された、行番号が“０”ではないブロックデータ"B1-2"〜"B4-2"のみがローカルメモリ１４上に記憶されることになる。
【００６１】
さて、ブロックデータ"B0-15"のキャッシュメモリ１２内への読み込みが完了すると、
ｃｎｔ値が、８０となる。
【００６２】
従って、その後の、ブロックデータ"B1-0"〜"B5-0"の読み込み時（図２参照）には、“読出アドレス≦最大アドレス”が成立しているか否かが判断されることになる。そして、ブロックデータ"B1-0"〜"B4-0"の読み込み時における最大アドレスは、ブロックデータ"B4-2"のアドレス（＜ブロックデータ"B1-0"〜"B4-0"のアドレス）であるため、ブロックデータ"B1-0"〜"B4-0"は、図６Ｅに模式的に示したように、いずれも、ローカルメモリ１４から読み出されることになる。
【００６３】
また、ブロックデータ"B4-0"の読み込み（含む、ブロックデータ"B4-3"の掃き出し）が完了すると、最大アドレスは、ブロックデータ"B4-3"のアドレスとなる。このアドレスは、ブロックデータ"B5-0"のアドレスよりも小さなアドレスであるため、ブロックデータ"B5-0"は、メインメモリ５０から読み出されることになる。
【００６４】
以上の説明から明らかなように、本実施形態に係るプロセッサシステム１０は、図７Ａに模式的に示した如く、容量不足によりキャッシュメモリ１２から掃き出された、画像処理に再度使用されるブロックデータ（図では、"B1-0"）のキャッシュメモリ１２内への再読込が、ローカルメモリ１４から行われる構成を有している。
【００６５】
そして、本プロセッサシステム１０のキャッシュメモリ１２内にローカルメモリ１４から読み込まれる各ブロックデータは、ローカルメモリ１２関連の構成・機能を備えないプロセッサシステム（従来システムと表記する）では、図７Ｂに模式的に示してあるように、メインメモリから読み込まれるものである。また、メインメモリからデータの読み込みよりもシステム内に設けられているメモリ（ローカルメモリ１４）からのデータの読み込みの方が短時間・低消費電力で完了する。
【００６６】
従って、プロセッサシステム１０は、メインメモリ１２から同じデータが２度読み出さないものであるが故に、画像処理が、従来システムよりも短時間・低消費電力で完了するシステムとなっていることになる。
【００６７】
また、従来システムを、プロセッサシステム１０に改良するのに必要なゲート数は、従来システムのキャッシュメモリの大容量化に必要とされるゲート数よりも少なくて済む。また、内部ローカルメモリはキャッシュメモリよりも低速なＲＡＭを利用しても前述の効果が得られる。従って、プロセッサシステム１０は、従来システムのキャッシュメモリを大容量化する場合よりも、安価に製造できるシステムとなっていることにもなる。
【００６８】
《第２実施形態》
図８に、第２実施形態に係るプロセッサシステム２０の構成及び使用形態を示す。
【００６９】
以下、上記したプロセッサシステム１０と異なっている部分を中心に、本プロセッサシステム２０の構成及び動作を説明する。
【００７０】
このプロセッサシステム２０は、プロセッサシステム１０内のキャッシュメモリ１２、インターコネクト１３を、それぞれ、キャッシュメモリ２２、インターコネクト２３に置換したシステム（ＬＳＩ）である。
【００７１】
キャッシュメモリ２２は、キャッシュメモリ１２から、書戻要求を発行する機能を取り除いたユニット（キャッシュメモリ）である。
【００７２】
インターコネクト２３は、画像処理用動作モード時に以下の機能を有するユニットとして動作するように、インターコネクト１３を変形／改良したユニットである。
【００７３】
（１）キャッシュメモリ２２からのアクセス要求が、指定アドレス範囲外のアドレスのデータの読み出し／書き込みを要求するものであった場合には、そのアクセス要求で要求されている処理をそのまま実行。
（２）キャッシュメモリ２２からのアクセス要求が、指定アドレス範囲内のアドレスのデータについてのリード要求であった場合には、そのリード要求に対して図９に示した手順のリード要求応答処理を実行。
【００７４】
なお、この図９のリード要求応答処理中の“８０”（ステップＳ３０３）も、図２のリード要求応答処理中の“８０”（ステップＳ１０３）と同様に、キャッシュメモリ２２のブロックサイズが２５６バイトである場合の値（キャッシュメモリ２２のブロックサイズに応じて適切な値が変わる値）である。
【００７５】
すなわち、本プロセッサシステム２０は、キャッシュメモリ２２が発行する各ブロックデータについてのリード要求に対して、以下の手順のリード要求処理が行われるシステムとなっている。
【００７６】
リード要求応答処理時には、まず、キャッシュメモリ２２からのリード要求（以下、処理対象リード要求と表記する）中の読出アドレスに基づき、ＬＭアドレス及びＬｒを算出する処理（ステップＳ３０１）が行われる。
【００７７】
このステップＳ３０１の処理で算出されるＬＭアドレス、Ｌｗは、読出アドレスと以下の関係を有する値である。
ＬＭアドレス  ＝  読出アドレス mod １６・１０２４               …（５）
Ｌｒ      ＝  ＩＮＴ（読出アドレス／４０９６）              …（６）
【００７８】
ステップＳ３０１の処理後には、ｃｎｔ値に“１”が加算（ステップＳ３０２）されてから、“ｃｎｔ＞８０”が成立しているか否かが判断される（ステップＳ３０３）。そして、“ｃｎｔ＞８０”が成立していなかった場合（ステップＳ３０３；ＮＯ）には、読出要求データをメインメモリ５０から読み出してキャッシュメモリ２２に返送する処理（ステップＳ３０６）が行われる。
【００７９】
ステップＳ３０６の処理後には、“Ｌｒ＝０”が成立しているか否かが判断される（ステップＳ３０７）。そして、“Ｌｒ＝０”が成立していた場合（ステップＳ３０７：ＹＥＳ）には、リード要求応答処理が終了される。
【００８０】
一方、“Ｌｒ＝０”が成立していなかった場合（ステップＳ３０７：ＮＯ）には、メインメモリ５０から読み出した読出要求データ（以下、読出データと表記する）を、ローカルメモリ１４のＬＭアドレスにて識別される記憶領域に記憶する処理（ステップＳ３０８）が行われる。なお、ローカルメモリ１４のＬＭアドレスにて識別される記憶領域とは、先頭アドレスがＬＭアドレスと一致する連続した２５６バイトの記憶領域のことである。
【００８１】
その後、“ＬＭアドレス＞最大アドレス”が成立しているか否かが判断され（ステップＳ３０９）、ＬＭアドレス＞最大アドレス”が成立していなかった場合（ステップＳ３０９；ＮＯ）には、リード要求応答処理が終了される。また、“ＬＭアドレス＞最大アドレス”が成立していた場合（ステップＳ３０９；ＹＥＳ）には、その時点におけるＬＭアドレスの値を最大アドレスとして記憶する処理（ステップＳ３１０）が行われるから、リード要求処理が終了される。
【００８２】
一方、“ｃｎｔ＞８０”が成立していた場合（ステップＳ３０３；ＹＥＳ）には、“読出アドレス≦最大アドレス”が成立しているか否かが判断される（ステップＳ３０４）。そして、“読出アドレス≦最大アドレス”が成立していなかった場合（ステップＳ３０４；ＮＯ）には、ステップＳ３０６からの処理が行われる。また、“読出アドレス≦最大アドレス”が成立していた場合（ステップＳ３０４；ＹＥＳ）には、ローカルメモリ１４のＬＭアドレスにて識別される記憶領域から読出要求データを読み出してキャッシュメモリ２２に返送する処理（ステップＳ３０５）が行われる。
【００８３】
要するに、本プロセッサシステム２０は、８０個目までの各ブロックデータは、メインメモリ５０からキャッシュメモリ２２に読み込まれるシステムであると共に、８０個目までの第０行目以外の各ブロックデータは、ローカルメモリ１４にも記憶されるシステムとなっている。
【００８４】
そして、キャッシュメモリ２２、ローカルメモリ１４は、いずれも、１６ＫＢの記憶容量を有するものであるため、８０個目のブロックデータ"B4-15"のキャッシュメモリへの
読み込みが完了した際、プロセッサシステム２０のキャッシュメモリ２２、ローカルメモリ１４は、図１０に示したような状態を取っていることになる。
【００８５】
そして、この後、ブロックデータ"B1-0"〜"B4-0"がキャッシュメモリ２２内に読み込まれることになるが、これらのブロックデータの読み込み時における最大アドレスは、ブロックデータ"B4-15"のアドレスとなっている。
【００８６】
従って、ブロックデータ"B1-0"〜"B4-0"については、ステップＳ３０４で“ＹＥＳ”側への分岐が行われる結果として、図１１Ａに模式的に示してあるように、ローカルメモリ１４から読み出されてキャッシュメモリ２２に記憶されることになる。
【００８７】
また、ブロックデータ"B5-0"については、ステップＳ３０４で“ＮＯ”側への分岐が行われる結果として、図１１Ｂに模式的に示してあるように、メインメモリ５０から読み出されてキャッシュメモリ２２に記憶されることになる。また、メインメモリ５０から読み出されたブロックデータ"B5-0"が、その後の画像処理に使用されないブロックデータ"B1-0"の代わりにローカルメモリ１４に記憶されることにもなる。
【００８８】
以上の説明から明らかなように、このプロセッサシステム２０も、図１２に模式的に示した如く、容量不足によりキャッシュメモリ１２から掃き出された、画像処理に再度使用されるブロックデータ（図では、"B1-0"）のキャッシュメモリ１２内への再読込が、ローカルメモリ１４から行われる構成を有している。
【００８９】
従って、本実施形態に係るプロセッサシステム２０も、上記したプロセッサシステム１０と同様に、従来システムよりも画像処理が短時間で完了する、従来システムのキャッシュメモリを大容量化する場合よりも、安価に製造できるシステムとなっていると言うことが出来る。
【００９０】
《第３実施形態》
図１３に、第３実施形態に係るプロセッサシステム３０の構成及び使用形態を示す。
【００９１】
図示してあるように、第３実施形態に係るプロセッサシステム３０は、メインメモリ５０と接続されて使用されるＬＳＩであり、プロセッサ３１、キャッシュメモリ３２、インターコネクト３３及びローカルメモリ３４を備えている。
【００９２】
メインメモリ５０は、横方向のピクセル数が６４０個、縦方向のピクセル数が任意数（図では、４８０個）の画像データ５２（イメージセンサによる撮像結果等）が書き込まれるメモリである。
【００９３】
プロセッサ３１は、図示せぬ不揮発性記憶装置〔本実施形態では、プロセッサシステム３０と接続されるＲＯＭ〕上の画像処理プログラムや他のプログラムに従って各種処理を行うユニットである。
【００９４】
このプロセッサ３１が実行する画像処理プログラムは、プロセッサ１１が実行する画像
処理プログラムと本質的には同じものである。ただし、プロセッサ３１が実行する画像処理プログラムは、図１４に模式的に示したような内容／手順の画像処理をプロセッサ３１に実行させるものとなっている。すなわち、画像処理プログラムは、画像データ５２中の各５×７個のピクセルデータを特定位置に関するピクセルデータのアドレスの昇順に処理していく画像処理をプロセッサ３１に実行させるものとなっている。
【００９５】
ローカルメモリ３４は、３８４０（＝６×６４０）バイトの記憶容量を有するＲＡＭである。
【００９６】
キャッシュメモリ３２は、３８４０バイトの記憶容量を有するキャッシュメモリである。このキャッシュメモリ３２は、上記したキャッシュメモリ１２と、記憶容量及びブロックサイズ（本実施形態では、６４バイト）のみが異なるものとなっている。
【００９７】
インターコネクト３３は、インターコネクト１３を、リード要求応答処理、ライト要求応答処理として、それぞれ、図１５、図１６に示した手順の処理を行うように改良したユニットである。
【００９８】
すなわち、インターコネクト３３が実行するリード要求応答処理、ライト要求応答処理は、それぞれ、インターコネクト１３が実行するリード要求応答処理（図２）、ライトド要求応答処理（図３）と本質的には同内容の処理となっている。
【００９９】
ただし、インターコネクト３３が実行するリード要求応答処理は、ステップＳ１０１に相当するステップＳ４０１の処理時に、『読出アドレス mod ３８４０』、『ＩＮＴ（読
出アドレス／６４０）』が、それぞれ、書込アドレス、Ｌｗとして算出されるもの（図示略）となっている。
【０１００】
さらに、インターコネクト３３が実行するリード要求応答処理は、ステップＳ１０３に相当するステップＳ４０３の処理（判断）時に、“ｃｎｔ＞８０”ではなく、“ｃｎｔ＞７０”〔７０＝７×６４０／６４〕が成立しているか否かが判断される処理となっている。
【０１０１】
また、インターコネクト３３が実行するライト要求応答処理（図１５）は、ステップＳ２０１に相当するステップＳ５０１の処理時に、『書込アドレス mod ３８４０』、『Ｉ
ＮＴ（書込アドレス／６４０）』がそれぞれ、書込アドレス、Ｌｗとして算出されるもの（図示略）となっている。さらに、インターコネクト３３が実行するライト要求応答処理は、ステップＳ２０３に相当するステップＳ５０３の処理（判断）時に、“ｃｎｔ＞８０”ではなく、“ｃｎｔ＞７０”が成立しているか否かが判断される処理となっている。
【０１０２】
詳細説明は省略するが、このプロセッサシステム３０でも、容量不足によりキャッシュメモリ３２から掃き出された、画像処理に再度使用されるブロックデータのキャッシュメモリ３２内への再読込がローカルメモリ３４から行われることになる。
【０１０３】
従って、本プロセッサシステム３０も、従来システム（実行する画像処理の内容、画像データ５２のサイズ等が等しいもの）よりも画像処理が短時間で完了する、従来システムのキャッシュメモリを大容量化する場合よりも、安価に製造できるシステムとなっていることになる。
【符号の説明】
【０１０４】
１０、２０、３０  プロセッサシステム
１１，３１  プロセッサ
１２，２２，３２  キャッシュメモリ
１３，２３，３３  インターコネクト
１４，３４  ローカルメモリ
５０  メインメモリ
５１、５２  画像データ
【図１】
0005561091.tif 000002
【図２】
0005561091.tif 000003
【図３】
0005561091.tif 000004
【図４】
0005561091.tif 000005
【図５】
0005561091.tif 000006
【図６Ａ】
0005561091.tif 000007
【図６Ｂ】
0005561091.tif 000008
【図６Ｃ】
0005561091.tif 000009
【図６Ｄ】
0005561091.tif 000010
【図６Ｅ】
0005561091.tif 000011
【図７Ａ】
0005561091.tif 000012
【図７Ｂ】
0005561091.tif 000013
【図８】
0005561091.tif 000014
【図９】
0005561091.tif 000015
【図１０】
0005561091.tif 000016
【図１１Ａ】
0005561091.tif 000017
【図１１Ｂ】
0005561091.tif 000018
【図１２】
0005561091.tif 000019
【図１３】
0005561091.tif 000020
【図１４】
0005561091.tif 000021
【図１５】
0005561091.tif 000022
【図１６】
0005561091.tif 000023