JP5561091B2 - Processor system - Google Patents
Processor system Download PDFInfo
- Publication number
- JP5561091B2 JP5561091B2 JP2010232468A JP2010232468A JP5561091B2 JP 5561091 B2 JP5561091 B2 JP 5561091B2 JP 2010232468 A JP2010232468 A JP 2010232468A JP 2010232468 A JP2010232468 A JP 2010232468A JP 5561091 B2 JP5561091 B2 JP 5561091B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- memory
- read
- cache memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、キャッシュメモリを内蔵したプロセッサシステムに関する。 The present invention relates to a processor system incorporating a cache memory.
周知のように、デジタルカメラ等では、キャッシュメモリを内蔵したプロセッサシステムにより、撮像結果(画像データ)に対して画像処理が行われるようになっている。 As is well known, in a digital camera or the like, image processing is performed on an imaging result (image data) by a processor system having a built-in cache memory.
そして、そのようなプロセッサシステムは、画像処理時にメインメモリから同じデータを2度読み出さなくて済む容量のキャッシュメモリを備えていることが望ましいのであるが、近年、画像処理対象の画像データの縦・横方向のピクセル数が極めて多くなってきている。そして、製造コスト等の観点から、プロセッサシステムに内蔵できるキャッシュメモリのサイズにも制限があるため、従来の構成(プロセッサとキャッシュメモリとインタフェース回路からなる構成)を採用したままでは、画像処理時にメインメモリから同じデータを2度読み出さなくて済むプロセッサシステムを製造することが困難になってきている。結果として、同じデータを複数回、メインメモリから読み出すため、全体として消費電力が増加してしまっている。 Such a processor system preferably includes a cache memory having a capacity that does not require the same data to be read twice from the main memory at the time of image processing. The number of pixels in the horizontal direction has become extremely large. Since the size of the cache memory that can be built into the processor system is limited from the viewpoint of manufacturing cost, etc., if the conventional configuration (configuration consisting of the processor, cache memory, and interface circuit) is employed, the main processing is performed during image processing. It has become difficult to manufacture a processor system that does not require reading the same data twice from the memory. As a result, since the same data is read out from the main memory a plurality of times, the power consumption increases as a whole.
そこで、本発明の課題は、メモリから同じデータを2度読み出さない形で画像処理を実行可能なプロセッサシステムであって、大容量のキャッシュメモリを内蔵させることなく低消費電力を実現できるプロセッサシステムを、提供することにある。 Therefore, an object of the present invention is a processor system capable of executing image processing without reading the same data twice from the memory, and capable of realizing low power consumption without incorporating a large-capacity cache memory. , To provide.
上記課題を解決するために、開示の技術の一態様の,メモリと接続されるプロセッサシステムは、メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、プロセッサと接続された,所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、ローカルメモリと、メモリへのインタフェース回路としての機能を有する,ローカルメモリ及びキャッシュメモリに接続されたインターコネクトとを備えた構成であって、キャッシュメモリとして、データを記憶しているブロックに新たなデータを記憶する前に、そのブロック上のデータ、当該データのアドレスを、それぞれ、掃出データ、掃出アドレスとしてインターコネクトに通知する機能を有するものが採用され、インターコネクトとして、キャッシュメモリから掃出データ及び掃出アドレスが通知される度に、通知された掃出アドレスに基づき、通知された掃出データが、画像処理により再度参照されるデータであるか否かを判別し、そうであると判別した場合には、その掃出データを、当該掃出アドレスから所定のアルゴリズムにて求めたアドレスのデータとしてローカルメモリに格納する機能、及び、メモリに記憶されている読出対象データのアドレスである読出アドレスがキャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データがローカルメモリに格納されているか否かを判別し、読出対象データがローカルメモリに格納されていると判別した場合には、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータをローカルメモリから読み出してキャッシュメモリに返送し、読出対象データがローカルメモリに格納されていないと判別した場合には、読出アドレスのデータをメモリから読み出してキャッシュメモリに返送するデータ返送機能を有
するものが採用された構成を有する。
In order to solve the above problems, a processor system connected to a memory according to an aspect of the disclosed technology is connected to a processor for performing image processing of predetermined contents on image data on the memory, and the processor , Having a configuration including a cache memory having a plurality of blocks for storing data of a predetermined size, a local memory, and an interconnect connected to the local memory and the cache memory having a function as an interface circuit to the memory As a cache memory, before storing new data in a block storing data, the data on the block and the address of the data are notified to the interconnect as the swept data and the swept address, respectively. The one with the function is adopted, and the interconnect Each time the sweep data and the sweep address are notified from the memory, based on the notified sweep address, it is determined whether the notified sweep data is data that is referred to again by image processing, If it is determined that this is the case, a function for storing the swept data in the local memory as data of an address obtained from the swept address by a predetermined algorithm, and read target data stored in the memory Each time a read address, which is a read address, is notified from the cache memory, it is determined whether or not the read target data is stored in the local memory based on the read address, and the read target data is stored in the local memory. If it is determined that the address data obtained from the read address by a predetermined algorithm is read from the local memory. When the data to be read is returned to the cache memory and it is determined that the data to be read is not stored in the local memory, a data return function is employed that reads the data at the read address from the memory and returns it to the cache memory. It has a configuration.
また、上記課題を解決するために、開示の技術の他の態様の,メモリと接続されるプロセッサシステムは、メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、プロセッサと接続された,所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、ローカルメモリと、メモリへのインタフェース回路としての機能を有する,ローカルメモリ及びキャッシュメモリに接続されたインターコネクトとを備えた構成であって、インターコネクトとして、メモリに記憶されている読出対象データのアドレスである読出アドレスがキャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データがローカルメモリに格納されているか否かを判別する機能、読出対象データがローカルメモリに格納されていると判別した場合に、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータをローカルメモリから読み出してキャッシュメモリに返送する機能、及び、読出対象データがローカルメモリに格納されていないと判別した場合に、読出アドレスのデータをメモリから読み出してキャッシュメモリに返送すると共に、当該データが、画像処理により2度以上参照されるデータであった場合には、そのデータを、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータとしてローカルメモリに格納するデータ返送機能を有するものが採用された構成を有する。 In order to solve the above problems, a processor system connected to a memory according to another aspect of the disclosed technology includes a processor for performing image processing of predetermined contents on image data on the memory, a processor, A cache memory having a plurality of blocks for storing data of a predetermined size, a local memory, and an interconnect connected to the local memory and the cache memory having a function as an interface circuit to the memory; Each time the read address which is the address of the read target data stored in the memory is notified from the cache memory as the interconnect, the read target data is stored in the local memory based on the read address. Function to determine whether or not the data to be read is local When it is determined that the data is stored in the memory, the function reads the data at the address obtained by the predetermined algorithm from the read address from the local memory and returns it to the cache memory, and the data to be read is stored in the local memory. If it is determined that there is no data, the data at the read address is read from the memory and returned to the cache memory. If the data is referenced more than once by image processing, the data is read from the read address. The data having the function of returning data stored in the local memory as the address data obtained by a predetermined algorithm is employed.
以下、発明者らが開発した3種のプロセッサシステム(以下、第1〜第3実施形態に係るプロセッサシステムと表記する)について、図面を参照して詳細に説明する。 Hereinafter, three types of processor systems developed by the inventors (hereinafter referred to as processor systems according to first to third embodiments) will be described in detail with reference to the drawings.
《第1実施形態》
図1に示してあるように、第1実施形態に係るプロセッサシステム10は、メインメモリ50と接続されて使用されるLSI(large-scale integration)であり、プロセッサ
11、キャッシュメモリ12、インターコネクト13及びローカルメモリ14を備えている。
<< First Embodiment >>
As shown in FIG. 1, the
メインメモリ50は、横(幅)方向のピクセル数が4096個、縦(高さ)方向のピクセル数が任意数(図では、2048個)の画像データ51(イメージセンサによる撮像結果等)が書き込まれるメモリである。
In the
ローカルメモリ14は、16KB(16×1024バイト)の記憶容量を有するRAM(Random Access Memory)である。
The
キャッシュメモリ12は、16KBの記憶容量を有するキャッシュメモリである。このキャッシュメモリ12は、既存のキャッシュメモリを、通常動作モードと画像処理用動作モードとで動作可能なように改良したものとなっている。なお、このキャッシュメモリ12の元となったキャッシュメモリは、LRU(Least Recently Used)方式でブロックを入
れ替える、アドレスが“4096・N”(Nは任意の整数)異なる5データを同時に記憶できるセットアソシエイティブ方式のキャッシュメモリである。
The
具体的な回路構成の説明は省略するが、キャッシュメモリ12は、プロセッサ11がデータを書き込める先頭アドレスレジスタ、末尾アドレスレジスタ及び動作モード指定用レジスタを備えている。
Although a specific description of the circuit configuration is omitted, the
キャッシュメモリ12が備える先頭アドレスレジスタ、末尾アドレスレジスタは、それぞれ、画像データ51の先頭アドレス、画像データ51の末尾アドレスがプロセッサ11により設定されるレジスタである。以下、これらのレジスタの設定値を境界としたアドレス範囲(つまり、画像データ51が記憶されているアドレス範囲)のことを、指定アドレス範囲と表記する。
The start address register and the end address register provided in the
動作モード指定用レジスタは、その設定値が、第1指定値(動作モード指定用レジスタの初期値)である場合にキャッシュメモリ12が通常動作モードで動作し、その設定値が、第2指定値である場合にキャッシュメモリ12が画像処理用動作モードで動作するレジスタである。
In the operation mode designating register, when the set value is the first designated value (initial value of the operation mode designating register), the
通常動作モードは、キャッシュメモリ12が、キャッシュメモリ12の元となったキャ
ッシュメモリと同機能のユニットとして動作する動作モードである。
The normal operation mode is an operation mode in which the
画像処理用動作モードは、キャッシュメモリ12が以下の機能を有するユニットとして動作する動作モードである。
The image processing operation mode is an operation mode in which the
(a)指定アドレス範囲外のデータについてのプロセッサ11からのアクセス要求/インターコネクト13からのアクセス応答は、通常動作モード時と同等の振る舞いをする。
(b)指定アドレス範囲内のデータについてのプロセッサ11からのリード要求に対しては、通常のキャッシュメモリと同様に応答。ただし、リード要求に対する応答処理中に、或るブロック上のデータを掃き出す必要が生じた場合には、常に(当該ブロック上のデータが書き換えられていてもいなくても)、当該ブロック上のデータのメインメモリへ書戻要求(通常のライト要求)を発行。
(A) The access request from the
(B) In response to a read request from the
インターコネクト13は、既存のインターコネクトに、先頭アドレスレジスタ、末尾アドレスレジスタ及び動作モード指定用レジスタ等を追加したユニットである。なお、既存のインターコネクトとは、キャッシュメモリ12からのアクセス要求にローカルメモリ14を利用することなく応答するユニットのことである。
The
インターコネクト13の動作モード指定用レジスタは、キャッシュメモリ12の動作モード指定用レジスタと同様に、その設定値が第1指定値/第2指定値である場合にインターコネクト13が通常動作モード/画像処理用動作モードで動作するレジスタである。
Similarly to the operation mode designating register of the
インターコネクト13の通常動作モードは、キャッシュメモリ12の通常動作モードと同様に、インターコネクト13が、既存のインターコネクトと同機能のユニットとして動作する動作モードである。
The normal operation mode of the
インターコネクト13の画像処理用動作モードは、インターコネクト13が、以下の機能を有するユニットとして動作する動作モードである。なお、以下の説明において、指定アドレス範囲とは、キャッシュメモリ12に関する指定アドレス範囲と同様に、インターコネクト13内の先頭/末尾アドレスレジスタに設定されている2アドレスを境界としたアドレス範囲のことである。
The image processing operation mode of the
(1)キャッシュメモリ12からのアクセス要求が、指定アドレス範囲外のデータの読み出し/書き込みを要求するものであった場合には、そのアクセス要求で要求されている処理をそのまま実行。
(2)キャッシュメモリ12からのアクセス要求が、指定アドレス範囲内のデータについてのリード要求であった場合には、そのリード要求に対して図2に示した手順のリード要求応答処理を実行。
(3)キャッシュメモリ12からのアクセス要求が、指定アドレス範囲内のデータについてのライト要求であった場合には、そのライト要求に対して図3に示した手順のライト要求応答処理を実行。
(1) If the access request from the
(2) When the access request from the
(3) If the access request from the
なお、これらの応答処理の内容については後ほど説明するが、各流れ図中における“80”は、キャッシュメモリ12のブロックサイズが256バイトである場合の値(キャッシュメモリ12のブロックサイズに応じて適切な値が変わる値)である。
Although details of these response processes will be described later, “80” in each flowchart is a value when the block size of the
プロセッサ11(図1)は、図示せぬ不揮発性記憶装置〔本実施形態では、プロセッサシステム10と接続されるROM(Read Only Memory)〕上の画像処理プログラムや他のプログラムに従って各種処理を行うユニットである。 The processor 11 (FIG. 1) is a unit that performs various processes in accordance with an image processing program and other programs on a nonvolatile storage device (not shown) (in this embodiment, a ROM (Read Only Memory) connected to the processor system 10). It is.
不揮発性記憶装置上の画像処理プログラムは、『画像データ51中の5ピクセル×5ピクセル分のデータ(マトリックス状に並んだ25個のピクセルに関するデータ)毎に処理結果データを生成する画像処理』をプロセッサ11に実行させるプログラムである。
The image processing program on the non-volatile storage device executes “image processing for generating processing result data for each data of 5 pixels × 5 pixels in the image data 51 (data on 25 pixels arranged in a matrix)”. A program to be executed by the
この画像処理プログラムは、図4に模式的に示したような内容/手順の画像処理をプロセッサ11に実行させるものとなっている。すなわち、画像処理プログラムは、画像データ51中の各25個(5×5個)のピクセルデータを特定位置(例えば、中心位置)に関するピクセルデータのアドレスの昇順に処理していく画像処理をプロセッサ11に実行させるものとなっている。なお、画像処理プログラムがプロセッサ11に実行させる画像処理は、25個のピクセルデータの処理結果(本実施形態では、1個のピクセルデータ)をメインメモリ50の画像データ51の記憶に使用されていない記憶領域に記憶する処理である。
This image processing program causes the
さらに、画像処理プログラムは、プロセッサ11に、初期化処理、動作モード変更処理、画像処理、動作モード復帰処理を、この順に実行させるものとなっている。
Further, the image processing program causes the
画像処理プログラムに従いプロセッサ11が実行する初期化処理は、キャッシュメモリ12の状態を、全ブロック(キャッシュライン)に有意なデータが記憶されていない状態とする処理である。動作モード変更処理は、キャッシュメモリ12内及びインターコネクト13内の先頭アドレスレジスタ、末尾アドレスレジスタ、動作モード指定用レジスタに、それぞれ、画像データ51の先頭アドレス、画像データ51の末尾アドレス、第2指定値を設定する処理である。動作モード復帰処理は、キャッシュメモリ12内及びインターコネクト13内の動作モード指定用レジスタに、第1指定値を設定する処理である。
The initialization process executed by the
以下、インターコネクト13が実行するリード要求応答処理及びライト要求応答処理の内容を、プロセッサシステム10の全体的な動作と共に、説明する。
Hereinafter, the contents of the read request response process and the write request response process executed by the
既に説明した事項から明らかなように、プロセッサシステム10は、画像データ51に対する画像処理が行われている間、キャッシュメモリ12及びインターコネクト13が画像処理用動作モードで動作するシステムである。また、画像処理用動作モードで動作しているキャッシュメモリ12が、プロセッサ11からの,画像データ51中のデータのリード要求に対して行う処理は、データの掃き出し時に常に書戻要求を発行することを除けば、通常のキャッシュメモリが行う処理と同じものである。さらに、プロセッサ11は、図4に示した内容/手順の画像処理をキャッシュメモリ12の初期化後に開始するものとなっている。
As is clear from the matters already described, the
従って、プロセッサ11による画像処理の開始後、画像データ51中の図5に網掛けを付して示してある64個のブロックデータ(256バイトのデータ)がキャッシュメモリ12内にキャッシュされるまでは、書戻要求が出力されることなく、画像処理が進行することになる。
Accordingly, after the image processing by the
そして、ブロックデータ"B4-12"の読み込み時に、ブロックデータ"B0-0"についての書
戻要求が初めて発行される。また、その後、新たなブロックデータがキャッシュメモリ12内に読み込まれる度に、キャッシュメモリ12内への読み込み順通りに各ブロックデータについての書戻要求が発行されることになる。
When the block data “B4-12” is read, a write-back request for the block data “B0-0” is issued for the first time. Thereafter, each time new block data is read into the
キャッシュメモリ12が発行する書戻要求は、そのアドレスが指定アドレス範囲内にあるデータについてのライト要求である。そのため、各書戻要求に対しては、ライト要求応答処理(図3)が行われる。
The write-back request issued by the
このライト要求応答処理は、キャッシュメモリ12から掃き出されたブロックデータ(書戻要求で書き戻しが要求されているブロックデータ)を、ローカルメモリ14の特定の記憶領域(ブロックデータのアドレスから一意に定まる記憶領域)に記憶する処理である。また、ライト要求応答処理は、画像処理に再度使用される,ローカルメモリ14に記憶されていないブロックデータのみを、ローカルメモリ14に記憶する処理となっている。
In this write request response process, block data that has been swept out from the cache memory 12 (block data that is requested to be written back by a write-back request) is uniquely identified from a specific storage area (block data address) of the
具体的には、ライト要求応答処理(図3)時には、まず、処理すべき書戻要求(以下、処理対象書戻要求と表記する)中の書込アドレスに基づき、書込LMアドレス及びLwを算出する処理(ステップS201)が行われる。 Specifically, at the time of the write request response process (FIG. 3), first, the write LM address and Lw are set based on the write address in the write-back request to be processed (hereinafter referred to as a processing target write-back request). A calculation process (step S201) is performed.
このステップS201の処理で算出される書込LMアドレス、Lwは、書込アドレスと以下の関係を有する値である。
書込LMアドレス = 書込アドレス mod 16・1024 …(1)
Lw = INT(書込アドレス/4096) …(2)
The write LM address and Lw calculated in the process of step S201 are values having the following relationship with the write address.
Write LM address = write address mod 16.1024 (1)
Lw = INT (write address / 4096) (2)
なお、(1)式における“16・1024”は、ローカルメモリ14のバイト単位の記憶容量である。また、(2)式における“4096”は、画像データ51の1行分のデータサイズ(単位はバイト)である。
Note that “16 · 1024” in the equation (1) is the storage capacity in bytes of the
ステップS201の処理後には、“Lw=0”が成立しているか否かが判断される(ステップS202)。そして、“Lw=0”が成立していた場合(ステップS202;YES)には、処理対象書戻要求でメインメモリ50への書き戻しが要求されているデータ(以下、書込要求データと表記する)が破棄されて(図示せず)、このライト要求応答処理が終了される。
After the process of step S201, it is determined whether or not “Lw = 0” is established (step S202). If “Lw = 0” is established (step S202; YES), data requested to be written back to the
すなわち、プロセッサ11が実行する画像処理の内容(図4)から明らかなように、第0行目のブロックデータは、画像処理に再度使用されることがないデータとなっている。そのため、キャッシュメモリ12から掃き出されたブロックデータが第0行目のブロックデータであった場合(“Lw=0”が成立していた場合:ステップS202;YES)には、当該ブロックデータが破棄される。
That is, as is clear from the contents of the image processing executed by the processor 11 (FIG. 4), the block data on the 0th row is data that is not used again for image processing. Therefore, when the block data swept out from the
一方、“Lw=0”が成立していなかった場合(ステップS202;NO)には、“cnt>80”が成立しているか否かが判断される(ステップS203)。そして、“cnt>80”が成立していた場合(ステップS203;YES)には、“書込アドレス>最大アドレス”が成立しているか否かが判断される(ステップS204)。 On the other hand, when “Lw = 0” is not established (step S202; NO), it is determined whether “cnt> 80” is established (step S203). If “cnt> 80” is established (step S203; YES), it is determined whether “write address> maximum address” is established (step S204).
なお、cntとは、画像処理開始後のリード要求応答処理の実行回数(後述する図2のステップS102で“1”インクリメントされる、初期値が“0”の値)のことである。また、最大アドレスとは、ローカルメモリ14上に記憶されているブロックデータのアドレスの最大値(後述するステップS207の処理で書込アドレスが設定されるレジスタの値)のことである。 Note that cnt is the number of times of execution of the read request response process after the start of image processing (the initial value is incremented by “1” in step S102 of FIG. 2 described later). The maximum address is the maximum value of the block data address stored in the local memory 14 (the value of the register in which the write address is set in the process of step S207 described later).
ステップS203及びS204の判断は、今回の書込要求データがローカルメモリ14上に既に記憶されているものであるか否かを判断するために行われているものである。
The determinations in steps S203 and S204 are made in order to determine whether or not the current write request data is already stored in the
“cnt>80”が成立していなかった場合(ステップS203;NO)には、書込要求データを、ローカルメモリ14の書込LMアドレスにて識別される記憶領域に記憶する処理(ステップS205)が行われる。なお、ローカルメモリ14の書込LMアドレスにて識別される記憶領域とは、ローカルメモリ14の,先頭アドレスが書込LMアドレスと一致する連続した256バイトの記憶領域のことである。
If “cnt> 80” is not satisfied (step S203; NO), the write request data is stored in the storage area identified by the write LM address of the local memory 14 (step S205). Is done. Note that the storage area identified by the write LM address of the
このステップS205の処理後には、“書込アドレス>最大アドレス”が成立しているか否かが判断される(ステップS206)。そして、“書込アドレス>最大アドレス”が成立していた場合(ステップS206;YES)には、その時点における書込アドレスの値を最大アドレスとして記憶する処理(ステップS207)が行われてから、ライト要求応答処理が終了される。一方、“書込アドレス>最大アドレス”が成立していなかった場合(ステップS206;NO)には、即座に(ステップS207の処理が行われることなく)、ライト要求応答処理が終了される。 After the processing in step S205, it is determined whether or not “write address> maximum address” is satisfied (step S206). If “write address> maximum address” is established (step S206; YES), a process of storing the value of the write address at that time as the maximum address (step S207) is performed. The write request response process is terminated. On the other hand, if “write address> maximum address” is not satisfied (step S206; NO), the write request response process is immediately terminated (without the process of step S207).
“cnt>80 and 書込アドレス>最大アドレス”が成立していた場合(ステップS
203;YES、ステップS204;YES)には、ステップS205と同内容の処理がステップS208にて行われた後に、ステップS207以降の処理が行われる。また、“cnt>80 and 書込アドレス≦最大アドレス”が成立していた場合(ステップS20
3;YES、ステップS204;NO)には、書込要求データが破棄されて(図示せず)、ライト要求応答処理が終了される。
If “cnt> 80 and write address> maximum address” holds (step S
203; YES, step S204; YES), the same processing as step S205 is performed in step S208, and then the processing in and after step S207 is performed. If “cnt> 80 and write address ≦ maximum address” are satisfied (step S20).
3; YES, step S204; NO), the write request data is discarded (not shown), and the write request response process is terminated.
次に、リード要求応答処理(図2)の内容を説明する。 Next, the contents of the read request response process (FIG. 2) will be described.
既に説明した事項から明らかなように、リード要求応答処理は、キャッシュメモリ12が発行する,画像データ51中の各ブロックデータについてのリード要求に対して行われる処理である。
As is clear from the matters already described, the read request response process is a process performed for a read request for each block data in the
このリード要求応答処理時には、まず、キャッシュメモリ12からのリード要求(以下、処理対象リード要求と表記する)中の読出アドレスに基づき、読出LMアドレス及びLrを算出する処理(ステップS101)が行われる。 In this read request response process, first, a process of calculating a read LM address and Lr based on a read address in a read request from the cache memory 12 (hereinafter referred to as a processing target read request) (step S101) is performed. .
このステップS101の処理で算出される読出LMアドレス及びLrは、読出アドレスと以下の関係を有する値である。
読出LMアドレス = 読出アドレス mod 16・1024 …(3)
Lr = INT(読出アドレス/4096) …(4)
The read LM address and Lr calculated in the process of step S101 are values having the following relationship with the read address.
Read LM address = Read address mod 16.1024 (3)
Lr = INT (read address / 4096) (4)
ステップS101の処理後には、cnt値に“1”が加算(ステップS102)されてから、“cnt>80”が成立しているか否かが判断される(ステップS103)。そして、“cnt>80”が成立していた場合(ステップS103;YES)には、“読出アドレス≦最大アドレス”が成立しているか否かが判断される(ステップS104)。 After the process of step S101, “1” is added to the cnt value (step S102), and then it is determined whether “cnt> 80” is satisfied (step S103). If “cnt> 80” is established (step S103; YES), it is determined whether “read address ≦ maximum address” is established (step S104).
“読出アドレス≦最大アドレス”が成立していた場合(ステップS104;YES)には、読出LMアドレスに基づき、ローカルメモリ14から読出要求データを読み出してキャッシュメモリ12に返送する処理(ステップS105)が行われる。より具体的には、ローカルメモリ14の、先頭アドレスが読出LMアドレスと一致する連続した256バイトの記憶領域上のデータを読み出して、読み出したデータを読出要求データとしてキャッシュメモリ12に返送する処理(ステップS105)が行われる。
If “read address ≦ maximum address” is satisfied (step S104; YES), a process of reading the read request data from the
また、“cnt>80”が成立していなかった場合(ステップS103;NO)と、“読出アドレス≦最大アドレス”が成立していなかった場合(ステップS104;NO)とには、読出要求データをメインメモリ50から読み出してキャッシュメモリ12に返送する処理(ステップS106)が行われる。
Further, when “cnt> 80” is not satisfied (step S103; NO), and when “read address ≦ maximum address” is not satisfied (step S104; NO), read request data is stored. A process of reading from the
ここで、図6A〜図6Eを用いて、上記した、画像処理時におけるプロセッサシステム10の各部の動作を、さらに具体的に説明しておくことにする。なお、図6A〜図6Eに
おいて、網掛けを付してあるブロックデータがキャッシュメモリ12内に読み込まれているブロックデータである。[Bn-m]と表記してあるブロックデータは、キャッシュメモリ12内に最も最近読み込まれたブロックデータである。ハッチングを付してあるブロックデータは、新たなブロックデータの読み込みのためにキャッシュメモリ12から掃き出されたブロックデータ(書戻要求が発行されたブロックデータ)である。また、<<Bn-m>>と表記してあるブロックデータは、ローカルメモリ14からキャッシュメモリ12内に読み込まれたブロックデータである。
Here, the operation of each unit of the
既に説明したように、キャッシュメモリ12が書戻要求を初めて発行するのは、ブロックデータ"B4-12"の読み込み時である。そして、当該書戻要求は、ブロックデータ"B0-0"
の書き戻しを要求するものであり、ライト要求応答処理は、行番号が“0”のブロックデータについての書戻要求を受け取った場合、当該ブロックデータを破棄する処理となっている。従って、ブロックデータ"B4-12"の読み込み時に掃き出されるブロックデータ"B0-0は、図6Aに模式的に示したように、ローカルメモリ12上に記憶されることなく破棄されることになる。
As already described, the
The write request response process is a process for discarding the block data when a write-back request is received for the block data whose row number is “0”. Therefore, the block data “B0-0” that is swept out when the block data “B4-12” is read is discarded without being stored in the
その後のブロックデータ"B0-13"〜"B4-13"の読み込み時には、キャッシュメモリ12から、ブロックデータ"B1-0"〜"B4-0"、"B0-0"が掃き出される。なお、画像データ51中の,最初の5行分の画像データに対する画像処理が完了するまでは、“cnt>80 and
読出アドレス≦最大アドレス”(図2参照)が成立する(TRUEとなる)ことはない。そのため、ブロックデータ"B4-15"までの各ブロックデータは、メインメモリ50から読
み出されることになる。
When the subsequent block data “B0-13” to “B4-13” are read, the block data “B1-0” to “B4-0” and “B0-0” are swept from the
“Read address ≦ maximum address” (see FIG. 2) does not hold (becomes TRUE). Therefore, each block data up to block data “B4-15” is read from the
ブロックデータ"B0-13"〜"B3-13"の読み込み時に掃き出されるブロックデータ"B1-0"〜"B4-0"は、いずれも、行番号が“0”ではないブロックデータである。そして、各ブロックデータの掃き出し時のcnt値は80以下であり、ブロックデータのローカルメモリ14への書込アドレス(書込LMアドレス)は、『書込LMアドレス = 書込アドレス mod 16・1024』により求められている。従って、ブロックデータ"B1-0"〜"B4-0"は
、図6Bに模式的に示したような形で、ローカルメモリ14上に記憶されることになる。
The block data “B1-0” to “B4-0” that are swept out when reading the block data “B0-13” to “B3-13” are all block data whose row number is not “0”. The cnt value at the time of sweeping out each block data is 80 or less, and the write address (write LM address) of the block data to the
また、ブロックデータB4-13"の読み込み時に掃き出されるブロックデータ"B0-1"の行番号は“0”である。従って、ブロックデータ"B0-1"は、ローカルメモリ14上に記憶されない(破棄される)ことになる。 The row number of the block data “B0-1” that is swept out when reading the block data B4-13 is “0.” Therefore, the block data “B0-1” is not stored in the local memory 14 ( Will be discarded).
その後のブロックデータ"B0-14"〜"B4-14"の読み込み時(図6C)にも、キャッシュメモリ12から掃き出された、行番号が“0”ではないブロックデータ"B1-1"〜"B4-1"のみがローカルメモリ12上に記憶されることになる。また、ブロックデータ"B0-15"〜"B4-15"の読み込み時(図6D)にも、キャッシュメモリ12から掃き出された、行番号が“0”ではないブロックデータ"B1-2"〜"B4-2"のみがローカルメモリ14上に記憶されることになる。
When the subsequent block data “B0-14” to “B4-14” are read (FIG. 6C), the block data “B1-1” to which the line number is not “0” is swept from the
さて、ブロックデータ"B0-15"のキャッシュメモリ12内への読み込みが完了すると、
cnt値が、80となる。
Now, when the reading of the block data “B0-15” into the
The cnt value is 80.
従って、その後の、ブロックデータ"B1-0"〜"B5-0"の読み込み時(図2参照)には、“読出アドレス≦最大アドレス”が成立しているか否かが判断されることになる。そして、ブロックデータ"B1-0"〜"B4-0"の読み込み時における最大アドレスは、ブロックデータ"B4-2"のアドレス(<ブロックデータ"B1-0"〜"B4-0"のアドレス)であるため、ブロックデータ"B1-0"〜"B4-0"は、図6Eに模式的に示したように、いずれも、ローカルメモリ14から読み出されることになる。
Therefore, when the block data “B1-0” to “B5-0” are read thereafter (see FIG. 2), it is determined whether “read address ≦ maximum address” is satisfied. . The maximum address when reading block data “B1-0” to “B4-0” is the address of block data “B4-2” (<address of block data “B1-0” to “B4-0”) Therefore, the block data “B1-0” to “B4-0” are all read from the
また、ブロックデータ"B4-0"の読み込み(含む、ブロックデータ"B4-3"の掃き出し)が完了すると、最大アドレスは、ブロックデータ"B4-3"のアドレスとなる。このアドレスは、ブロックデータ"B5-0"のアドレスよりも小さなアドレスであるため、ブロックデータ"B5-0"は、メインメモリ50から読み出されることになる。
When the reading of the block data “B4-0” (including the sweeping out of the block data “B4-3”) is completed, the maximum address becomes the address of the block data “B4-3”. Since this address is smaller than the address of the block data “B5-0”, the block data “B5-0” is read from the
以上の説明から明らかなように、本実施形態に係るプロセッサシステム10は、図7Aに模式的に示した如く、容量不足によりキャッシュメモリ12から掃き出された、画像処理に再度使用されるブロックデータ(図では、"B1-0")のキャッシュメモリ12内への再読込が、ローカルメモリ14から行われる構成を有している。
As is clear from the above description, the
そして、本プロセッサシステム10のキャッシュメモリ12内にローカルメモリ14から読み込まれる各ブロックデータは、ローカルメモリ12関連の構成・機能を備えないプロセッサシステム(従来システムと表記する)では、図7Bに模式的に示してあるように、メインメモリから読み込まれるものである。また、メインメモリからデータの読み込みよりもシステム内に設けられているメモリ(ローカルメモリ14)からのデータの読み込みの方が短時間・低消費電力で完了する。
Each block data read from the
従って、プロセッサシステム10は、メインメモリ12から同じデータが2度読み出さないものであるが故に、画像処理が、従来システムよりも短時間・低消費電力で完了するシステムとなっていることになる。
Therefore, the
また、従来システムを、プロセッサシステム10に改良するのに必要なゲート数は、従来システムのキャッシュメモリの大容量化に必要とされるゲート数よりも少なくて済む。また、内部ローカルメモリはキャッシュメモリよりも低速なRAMを利用しても前述の効果が得られる。従って、プロセッサシステム10は、従来システムのキャッシュメモリを大容量化する場合よりも、安価に製造できるシステムとなっていることにもなる。
Further, the number of gates required to improve the conventional system to the
《第2実施形態》
図8に、第2実施形態に係るプロセッサシステム20の構成及び使用形態を示す。
<< Second Embodiment >>
FIG. 8 shows the configuration and usage of the
以下、上記したプロセッサシステム10と異なっている部分を中心に、本プロセッサシステム20の構成及び動作を説明する。
Hereinafter, the configuration and operation of the
このプロセッサシステム20は、プロセッサシステム10内のキャッシュメモリ12、インターコネクト13を、それぞれ、キャッシュメモリ22、インターコネクト23に置換したシステム(LSI)である。
The
キャッシュメモリ22は、キャッシュメモリ12から、書戻要求を発行する機能を取り除いたユニット(キャッシュメモリ)である。
The cache memory 22 is a unit (cache memory) obtained by removing a function for issuing a write-back request from the
インターコネクト23は、画像処理用動作モード時に以下の機能を有するユニットとして動作するように、インターコネクト13を変形/改良したユニットである。
The
(1)キャッシュメモリ22からのアクセス要求が、指定アドレス範囲外のアドレスのデータの読み出し/書き込みを要求するものであった場合には、そのアクセス要求で要求されている処理をそのまま実行。
(2)キャッシュメモリ22からのアクセス要求が、指定アドレス範囲内のアドレスのデータについてのリード要求であった場合には、そのリード要求に対して図9に示した手順のリード要求応答処理を実行。
(1) If the access request from the cache memory 22 is a request to read / write data at an address outside the specified address range, the processing requested by the access request is executed as it is.
(2) If the access request from the cache memory 22 is a read request for data at an address within the specified address range, the read request response process of the procedure shown in FIG. 9 is executed for the read request. .
なお、この図9のリード要求応答処理中の“80”(ステップS303)も、図2のリード要求応答処理中の“80”(ステップS103)と同様に、キャッシュメモリ22のブロックサイズが256バイトである場合の値(キャッシュメモリ22のブロックサイズに応じて適切な値が変わる値)である。 Note that “80” (step S303) during the read request response process in FIG. 9 is 256 bytes in the block size of the cache memory 22 as well as “80” (step S103) during the read request response process in FIG. (A value that varies according to the block size of the cache memory 22).
すなわち、本プロセッサシステム20は、キャッシュメモリ22が発行する各ブロックデータについてのリード要求に対して、以下の手順のリード要求処理が行われるシステムとなっている。
That is, the
リード要求応答処理時には、まず、キャッシュメモリ22からのリード要求(以下、処理対象リード要求と表記する)中の読出アドレスに基づき、LMアドレス及びLrを算出する処理(ステップS301)が行われる。 In the read request response process, first, a process of calculating the LM address and Lr (step S301) is performed based on the read address in the read request from the cache memory 22 (hereinafter referred to as a process target read request).
このステップS301の処理で算出されるLMアドレス、Lwは、読出アドレスと以下の関係を有する値である。
LMアドレス = 読出アドレス mod 16・1024 …(5)
Lr = INT(読出アドレス/4096) …(6)
The LM address and Lw calculated in the process of step S301 are values having the following relationship with the read address.
LM address = read address mod 16.1024 (5)
Lr = INT (read address / 4096) (6)
ステップS301の処理後には、cnt値に“1”が加算(ステップS302)されてから、“cnt>80”が成立しているか否かが判断される(ステップS303)。そして、“cnt>80”が成立していなかった場合(ステップS303;NO)には、読出要求データをメインメモリ50から読み出してキャッシュメモリ22に返送する処理(ステップS306)が行われる。
After the process of step S301, “1” is added to the cnt value (step S302), and then it is determined whether “cnt> 80” is satisfied (step S303). If “cnt> 80” is not satisfied (step S303; NO), a process of reading the read request data from the
ステップS306の処理後には、“Lr=0”が成立しているか否かが判断される(ステップS307)。そして、“Lr=0”が成立していた場合(ステップS307:YES)には、リード要求応答処理が終了される。 After the process of step S306, it is determined whether or not “Lr = 0” is established (step S307). If “Lr = 0” is established (step S307: YES), the read request response process is terminated.
一方、“Lr=0”が成立していなかった場合(ステップS307:NO)には、メインメモリ50から読み出した読出要求データ(以下、読出データと表記する)を、ローカルメモリ14のLMアドレスにて識別される記憶領域に記憶する処理(ステップS308)が行われる。なお、ローカルメモリ14のLMアドレスにて識別される記憶領域とは、先頭アドレスがLMアドレスと一致する連続した256バイトの記憶領域のことである。
On the other hand, if “Lr = 0” is not satisfied (step S307: NO), read request data read from the main memory 50 (hereinafter referred to as read data) is used as the LM address of the
その後、“LMアドレス>最大アドレス”が成立しているか否かが判断され(ステップS309)、LMアドレス>最大アドレス”が成立していなかった場合(ステップS309;NO)には、リード要求応答処理が終了される。また、“LMアドレス>最大アドレス”が成立していた場合(ステップS309;YES)には、その時点におけるLMアドレスの値を最大アドレスとして記憶する処理(ステップS310)が行われるから、リード要求処理が終了される。 Thereafter, it is determined whether or not “LM address> maximum address” is satisfied (step S309). If “LM address> maximum address” is not satisfied (step S309; NO), a read request response process is performed. If “LM address> maximum address” is established (step S309; YES), a process of storing the value of the LM address as the maximum address (step S310) is performed. Then, the read request process is terminated.
一方、“cnt>80”が成立していた場合(ステップS303;YES)には、“読出アドレス≦最大アドレス”が成立しているか否かが判断される(ステップS304)。そして、“読出アドレス≦最大アドレス”が成立していなかった場合(ステップS304;NO)には、ステップS306からの処理が行われる。また、“読出アドレス≦最大アドレス”が成立していた場合(ステップS304;YES)には、ローカルメモリ14のLMアドレスにて識別される記憶領域から読出要求データを読み出してキャッシュメモリ22に返送する処理(ステップS305)が行われる。
On the other hand, if “cnt> 80” is established (step S303; YES), it is determined whether “read address ≦ maximum address” is established (step S304). If “read address ≦ maximum address” is not satisfied (step S304; NO), the processing from step S306 is performed. If “read address ≦ maximum address” is satisfied (step S304; YES), read request data is read from the storage area identified by the LM address of the
要するに、本プロセッサシステム20は、80個目までの各ブロックデータは、メインメモリ50からキャッシュメモリ22に読み込まれるシステムであると共に、80個目までの第0行目以外の各ブロックデータは、ローカルメモリ14にも記憶されるシステムとなっている。
In short, the
そして、キャッシュメモリ22、ローカルメモリ14は、いずれも、16KBの記憶容量を有するものであるため、80個目のブロックデータ"B4-15"のキャッシュメモリへの
読み込みが完了した際、プロセッサシステム20のキャッシュメモリ22、ローカルメモリ14は、図10に示したような状態を取っていることになる。
Since both the cache memory 22 and the
そして、この後、ブロックデータ"B1-0"〜"B4-0"がキャッシュメモリ22内に読み込まれることになるが、これらのブロックデータの読み込み時における最大アドレスは、ブロックデータ"B4-15"のアドレスとなっている。 Thereafter, the block data “B1-0” to “B4-0” are read into the cache memory 22, and the maximum address at the time of reading these block data is the block data “B4-15”. Address.
従って、ブロックデータ"B1-0"〜"B4-0"については、ステップS304で“YES”側への分岐が行われる結果として、図11Aに模式的に示してあるように、ローカルメモリ14から読み出されてキャッシュメモリ22に記憶されることになる。 Accordingly, as for the block data “B1-0” to “B4-0”, as a result of branching to the “YES” side in step S304, as shown schematically in FIG. It is read out and stored in the cache memory 22.
また、ブロックデータ"B5-0"については、ステップS304で“NO”側への分岐が行われる結果として、図11Bに模式的に示してあるように、メインメモリ50から読み出されてキャッシュメモリ22に記憶されることになる。また、メインメモリ50から読み出されたブロックデータ"B5-0"が、その後の画像処理に使用されないブロックデータ"B1-0"の代わりにローカルメモリ14に記憶されることにもなる。
Further, the block data “B5-0” is read from the
以上の説明から明らかなように、このプロセッサシステム20も、図12に模式的に示した如く、容量不足によりキャッシュメモリ12から掃き出された、画像処理に再度使用されるブロックデータ(図では、"B1-0")のキャッシュメモリ12内への再読込が、ローカルメモリ14から行われる構成を有している。
As is apparent from the above description, this
従って、本実施形態に係るプロセッサシステム20も、上記したプロセッサシステム10と同様に、従来システムよりも画像処理が短時間で完了する、従来システムのキャッシュメモリを大容量化する場合よりも、安価に製造できるシステムとなっていると言うことが出来る。
Therefore, the
《第3実施形態》
図13に、第3実施形態に係るプロセッサシステム30の構成及び使用形態を示す。
<< Third Embodiment >>
FIG. 13 shows the configuration and usage of the
図示してあるように、第3実施形態に係るプロセッサシステム30は、メインメモリ50と接続されて使用されるLSIであり、プロセッサ31、キャッシュメモリ32、インターコネクト33及びローカルメモリ34を備えている。
As shown in the figure, the
メインメモリ50は、横方向のピクセル数が640個、縦方向のピクセル数が任意数(図では、480個)の画像データ52(イメージセンサによる撮像結果等)が書き込まれるメモリである。
The
プロセッサ31は、図示せぬ不揮発性記憶装置〔本実施形態では、プロセッサシステム30と接続されるROM〕上の画像処理プログラムや他のプログラムに従って各種処理を行うユニットである。
The
このプロセッサ31が実行する画像処理プログラムは、プロセッサ11が実行する画像
処理プログラムと本質的には同じものである。ただし、プロセッサ31が実行する画像処理プログラムは、図14に模式的に示したような内容/手順の画像処理をプロセッサ31に実行させるものとなっている。すなわち、画像処理プログラムは、画像データ52中の各5×7個のピクセルデータを特定位置に関するピクセルデータのアドレスの昇順に処理していく画像処理をプロセッサ31に実行させるものとなっている。
The image processing program executed by the
ローカルメモリ34は、3840(=6×640)バイトの記憶容量を有するRAMである。
The
キャッシュメモリ32は、3840バイトの記憶容量を有するキャッシュメモリである。このキャッシュメモリ32は、上記したキャッシュメモリ12と、記憶容量及びブロックサイズ(本実施形態では、64バイト)のみが異なるものとなっている。
The
インターコネクト33は、インターコネクト13を、リード要求応答処理、ライト要求応答処理として、それぞれ、図15、図16に示した手順の処理を行うように改良したユニットである。
The
すなわち、インターコネクト33が実行するリード要求応答処理、ライト要求応答処理は、それぞれ、インターコネクト13が実行するリード要求応答処理(図2)、ライトド要求応答処理(図3)と本質的には同内容の処理となっている。
That is, the read request response process and the write request response process executed by the
ただし、インターコネクト33が実行するリード要求応答処理は、ステップS101に相当するステップS401の処理時に、『読出アドレス mod 3840』、『INT(読
出アドレス/640)』が、それぞれ、書込アドレス、Lwとして算出されるもの(図示略)となっている。
However, in the read request response process executed by the
さらに、インターコネクト33が実行するリード要求応答処理は、ステップS103に相当するステップS403の処理(判断)時に、“cnt>80”ではなく、“cnt>70”〔70=7×640/64〕が成立しているか否かが判断される処理となっている。
Further, the read request response process executed by the
また、インターコネクト33が実行するライト要求応答処理(図15)は、ステップS201に相当するステップS501の処理時に、『書込アドレス mod 3840』、『I
NT(書込アドレス/640)』がそれぞれ、書込アドレス、Lwとして算出されるもの(図示略)となっている。さらに、インターコネクト33が実行するライト要求応答処理は、ステップS203に相当するステップS503の処理(判断)時に、“cnt>80”ではなく、“cnt>70”が成立しているか否かが判断される処理となっている。
Further, the write request response process (FIG. 15) executed by the
NT (write address / 640) "is calculated as a write address and Lw (not shown). Further, in the write request response process executed by the
詳細説明は省略するが、このプロセッサシステム30でも、容量不足によりキャッシュメモリ32から掃き出された、画像処理に再度使用されるブロックデータのキャッシュメモリ32内への再読込がローカルメモリ34から行われることになる。
Although detailed explanation is omitted, in this
従って、本プロセッサシステム30も、従来システム(実行する画像処理の内容、画像データ52のサイズ等が等しいもの)よりも画像処理が短時間で完了する、従来システムのキャッシュメモリを大容量化する場合よりも、安価に製造できるシステムとなっていることになる。
Therefore, the
10、20、30 プロセッサシステム
11,31 プロセッサ
12,22,32 キャッシュメモリ
13,23,33 インターコネクト
14,34 ローカルメモリ
50 メインメモリ
51、52 画像データ
10, 20, 30
Claims (4)
前記メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、
前記プロセッサと接続された,所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、
ローカルメモリと、
前記メモリへのインタフェース回路としての機能を有する,前記ローカルメモリ及び前記キャッシュメモリに接続されたインターコネクトと、
を備え、
前記キャッシュメモリは、
データを記憶しているブロックに新たなデータを記憶する前に、そのブロック上のデータ、当該データのアドレスを、それぞれ、掃出データ、掃出アドレスとして前記インターコネクトに通知する機能
を有し、
前記インターコネクトは、
前記キャッシュメモリから掃出データ及び掃出アドレスが通知される度に、通知された掃出アドレスに基づき、通知された掃出データが、前記画像処理により再度参照されるデータであるか否かを判別し、そうであると判別した場合には、その掃出データを、当該掃出アドレスから所定のアルゴリズムにて求めたアドレスのデータとして前記ローカルメモリに格納する機能、及び、
前記メモリに記憶されている読出対象データのアドレスである読出アドレスが前記キャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データが前記ローカルメモリに格納されているか否かを判別し、読出対象データが前記ローカルメモリに格納されていると判別した場合には、読出アドレスから前記所定のアルゴリズムにて求めたアドレスのデータを前記ローカルメモリから読み出して前記キャッシュメモリに返送し、読出対象データが前記ローカルメモリに格納されていないと判別した場合には、読出アドレスのデータを前記メモリから読み出して前記キャッシュメモリに返送するデータ返送機能
を有し、
前記所定内容の画像処理は、前記画像データ中の所定の範囲のデータを前記所定範囲の
データ内の特定位置のアドレスの昇順に処理し、
前記画像処理により再度参照されるデータであるか否かを判別する処理は、前記掃出アドレスに基づいて前記掃出データが前記所定範囲に再度含まれるデータであるか否かを判別する処理である、
ことを特徴とするプロセッサシステム。 In a processor system connected to a memory,
A processor for performing image processing of a predetermined content on the image data on the memory;
A cache memory connected to the processor and having a plurality of blocks for storing data of a predetermined size;
Local memory,
An interconnect connected to the local memory and the cache memory having a function as an interface circuit to the memory;
With
The cache memory is
Before storing new data in a block storing data, the data on the block and the address of the data have a function of notifying the interconnect as sweep data and sweep address, respectively,
The interconnect is
Each time the sweep data and the sweep address are notified from the cache memory, it is determined whether or not the notified sweep data is data to be referred again by the image processing based on the notified sweep address. Determining, if determined to be so, the function of storing the swept data in the local memory as address data obtained from the swept address by a predetermined algorithm, and
Each time a read address, which is the address of read target data stored in the memory, is notified from the cache memory, it is determined whether the read target data is stored in the local memory based on the read address. When it is determined that the read target data is stored in the local memory, the data at the address obtained by the predetermined algorithm from the read address is read from the local memory and returned to the cache memory. If the data is determined to not stored in the local memory is to have a data return function of returning to the cache memory reads the data of the read address from said memory,
In the image processing of the predetermined content, data in a predetermined range in the image data is converted into data in the predetermined range.
Process in ascending order of addresses at specific positions in the data,
The process of determining whether or not the data is referred to again by the image processing is a process of determining whether or not the sweep data is data included again in the predetermined range based on the sweep address. is there,
A processor system characterized by the above.
掃出データが、前記画像処理により再度参照されるデータであると判別した場合にのみ、その掃出データを、前記ローカルメモリに格納する機能である
ことを特徴とする請求項1に記載のプロセッサシステム。 The interconnect data return function
2. The processor according to claim 1, wherein the sweep data has a function of storing the sweep data in the local memory only when it is determined that the sweep data is data to be referred to again by the image processing. system.
前記メモリ上の画像データに対して所定内容の画像処理を行うためのプロセッサと、
前記プロセッサと接続された,所定サイズのデータを記憶するための複数のブロックを有するキャッシュメモリと、
ローカルメモリと、
前記メモリへのインタフェース回路としての機能を有する,前記ローカルメモリ及び前記キャッシュメモリに接続されたインターコネクトと、
を備え、
前記インターコネクトは、
前記メモリに記憶されている読出対象データのアドレスである読出アドレスが前記キャッシュメモリから通知される度に、その読出アドレスに基づき、読出対象データが前記ローカルメモリに格納されているか否かを判別する機能、
読出対象データが前記ローカルメモリに格納されていると判別した場合に、読出アドレスから所定のアルゴリズムにて求めたアドレスのデータを前記ローカルメモリから読み出して前記キャッシュメモリに返送する機能、及び、
読出対象データが前記ローカルメモリに格納されていないと判別した場合に、読出アドレスのデータを前記メモリから読み出して前記キャッシュメモリに返送すると共に、当該データが、前記画像処理により2度以上参照されるデータであった場合には、そのデータを、前記読出アドレスから前記所定のアルゴリズムにて求めたアドレスのデータとして前記ローカルメモリに格納するデータ返送機能
を有し、
前記所定内容の画像処理は、前記画像データ中の所定の範囲のデータを前記所定範囲のデータ内の特定位置のアドレスの昇順に処理し、
前記画像処理により2度以上参照されるデータとは、前記データが前記所定範囲に2度以上含まれるデータである、
ことを特徴とするプロセッサシステム。 In a processor system connected to a memory,
A processor for performing image processing of a predetermined content on the image data on the memory;
A cache memory connected to the processor and having a plurality of blocks for storing data of a predetermined size;
Local memory,
An interconnect connected to the local memory and the cache memory having a function as an interface circuit to the memory;
With
The interconnect is
Each time a read address, which is an address of read target data stored in the memory, is notified from the cache memory, it is determined whether the read target data is stored in the local memory based on the read address. function,
When it is determined that the data to be read is stored in the local memory, the function of reading the data of the address obtained by a predetermined algorithm from the read address from the local memory and returning it to the cache memory, and
When it is determined that the data to be read is not stored in the local memory, the data at the read address is read from the memory and returned to the cache memory, and the data is referred to twice or more by the image processing. If it is data, a data return function for storing the data in the local memory as data at an address obtained by the predetermined algorithm from the read address
Have
The image processing of the predetermined content is performed by processing data in a predetermined range in the image data in ascending order of addresses at specific positions in the data in the predetermined range,
The data referred to twice or more by the image processing is data in which the data is included twice or more in the predetermined range.
A processor system characterized by the above.
前記メモリから読み出したデータが前記画像処理により2度以上参照されるデータである場合にのみ、そのデータを、前記ローカルメモリに格納する機能である
ことを特徴とする請求項3に記載のプロセッサシステム。
The interconnect data return function
4. The processor system according to claim 3, wherein the processor system has a function of storing the data in the local memory only when the data read from the memory is data that is referenced more than once by the image processing. 5. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010232468A JP5561091B2 (en) | 2010-10-15 | 2010-10-15 | Processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010232468A JP5561091B2 (en) | 2010-10-15 | 2010-10-15 | Processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012088763A JP2012088763A (en) | 2012-05-10 |
JP5561091B2 true JP5561091B2 (en) | 2014-07-30 |
Family
ID=46260362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010232468A Expired - Fee Related JP5561091B2 (en) | 2010-10-15 | 2010-10-15 | Processor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5561091B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3020512B2 (en) * | 1989-07-14 | 2000-03-15 | 株式会社日立製作所 | File data management method |
JPH06139147A (en) * | 1992-10-23 | 1994-05-20 | Fujitsu Ltd | Cache memory system |
JP3498673B2 (en) * | 2000-04-05 | 2004-02-16 | 日本電気株式会社 | Storage device |
JP4753549B2 (en) * | 2004-05-31 | 2011-08-24 | パナソニック株式会社 | Cache memory and system |
-
2010
- 2010-10-15 JP JP2010232468A patent/JP5561091B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012088763A (en) | 2012-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255614B2 (en) | Information processing device that accesses memory, processor and memory management method | |
KR101555022B1 (en) | Memory device memory system having ita and mapping information recovering method thereof | |
US9697116B2 (en) | Storage system and writing method thereof | |
JP5536658B2 (en) | Buffer memory device, memory system, and data transfer method | |
TWI492051B (en) | Data storage device and control method for flash memory | |
JP6060277B2 (en) | Disk array flash method and disk array flash apparatus | |
US20120081368A1 (en) | Image rendering apparatus and method | |
JP2008084316A (en) | Mapping information management apparatus and method for nonvolatile memory supporting different cell types | |
JP4753549B2 (en) | Cache memory and system | |
JP2009205335A (en) | Storage system using two kinds of memory devices for cache and method for controlling the storage system | |
TWI473100B (en) | Flash memory system and its operation method | |
CN110187826A (en) | Key-value stores equipment and its operating method | |
JP6008325B2 (en) | Data storage system and control method thereof | |
JP4751037B2 (en) | Memory card | |
JP5561091B2 (en) | Processor system | |
JP4865075B1 (en) | Computer and computer system | |
CN104268005B (en) | Virtual machine awakening method and device | |
TW201441817A (en) | Data caching system and method | |
CN113821499A (en) | Method, device and equipment for eliminating data in double storage pools | |
JP2007172456A (en) | Plotting device | |
JP2011186554A (en) | Memory management device and method | |
JP4799171B2 (en) | Drawing apparatus and data transfer method | |
US10802712B2 (en) | Information processing apparatus and method of processing information | |
JP2007048090A (en) | Nand type flash memory device compatible with sequential rom interface, and controller therefor | |
TWI548989B (en) | Mobile electronic device and method for clearing memory blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140526 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5561091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |