JP5468668B2 - Memory controller - Google Patents
Memory controller Download PDFInfo
- Publication number
- JP5468668B2 JP5468668B2 JP2012248627A JP2012248627A JP5468668B2 JP 5468668 B2 JP5468668 B2 JP 5468668B2 JP 2012248627 A JP2012248627 A JP 2012248627A JP 2012248627 A JP2012248627 A JP 2012248627A JP 5468668 B2 JP5468668 B2 JP 5468668B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- write
- processor
- 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
Description
本発明はメモリコントローラに関し、特に、プロセッサからのデータの書き込み要求に対して、重複するデータがメモリに書き込まれるのを禁止する方法に適用して好適なものである。 The present invention relates to a memory controller, and is particularly suitable for application to a method for prohibiting duplicate data from being written to a memory in response to a data write request from a processor.
CMOSセンサなどから出力された撮像画像は、画質を向上させるため、画素補間、色変換、輪郭補正、フィルタリングなどの画像処理が行われている。ここで、このような画像処理を高速に実行するために、ASICなどの専用のハードウェアが用いられることがある。
また、回路構成を変更することなく、画像処理の仕様を容易に変更できるようにするために、SIMD(Single Instruction Multiple Data)型プロセッサ上で動作するソフトウェアにて画像処理を実現する方法も行われている(特許文献1)。
The captured image output from a CMOS sensor or the like is subjected to image processing such as pixel interpolation, color conversion, contour correction, and filtering in order to improve image quality. Here, in order to execute such image processing at high speed, dedicated hardware such as ASIC may be used.
In addition, in order to make it possible to easily change the image processing specifications without changing the circuit configuration, a method of realizing image processing with software that operates on a SIMD (Single Instruction Multiple Data) type processor is also performed. (Patent Document 1).
しかしながら、従来のプロセッサ上で画像処理を実行させる方法では、メモリ領域Aから読み出された入力画像がプロセッサに転送され、その入力画像に対してプロセッサ上で画像処理された出力画像がそのままメモリ領域Bに格納される。このため、出力画像の画素データの中に入力画像の画素データと重複する部分があっても、そのような重複する画素データもメモリ領域Bに格納され、入力画像全体と出力画像全体を格納するメモリ容量が必要になることから、メモリ容量の増大を招くという問題があった。 However, in the conventional method of executing image processing on the processor, the input image read from the memory area A is transferred to the processor, and the output image processed on the processor for the input image is directly used as the memory area. Stored in B. For this reason, even if there is a portion that overlaps the pixel data of the input image in the pixel data of the output image, such overlapping pixel data is also stored in the memory area B, and the entire input image and the entire output image are stored. Since the memory capacity is required, there is a problem that the memory capacity is increased.
そこで、本発明の目的は、プロセッサにて処理されるデータが格納されるメモリの容量を削減することが可能なメモリコントローラを提供することである。 Accordingly, an object of the present invention is to provide a memory controller capable of reducing the capacity of a memory in which data processed by a processor is stored.
上述した課題を解決するために、本発明の一態様によれば、第1のメモリ領域から読み出すようにプロセッサから読み出し要求される読み出しデータと、第2のメモリ領域に書き込むように前記プロセッサから書き込み要求される書き込みデータとが一致する部分を予め設定する一致要素設定部と、前記プロセッサから書き込み要求された書き込みデータのうち、前記一致要素設定部にて設定された部分を前記第2のメモリ領域に書き込まないようにする書き込み不実行部とを備え、前記読み出しデータおよび前記書き込みデータはSIMDであり、前記SIMDの一部が互いに一致する場合、その一部のデータを書き込まないようにし、前記一致要素設定部は、前記SIMDのうち奇数番目のデータが一致し、偶数番目のデータが一致しないことを示す第1のパターン、および/または、前記SIMDのうち偶数番目のデータが一致し、奇数番目のデータが一致しないことを示す第2のパターン、とを備えることを特徴とするメモリコントローラを提供する。 In order to solve the above-described problem, according to one aspect of the present invention, read data requested to be read from the processor to be read from the first memory area, and write from the processor to be written to the second memory area A matching element setting unit that presets a portion that matches the requested write data, and a portion that is set by the matching element setting unit of the write data requested to be written by the processor is the second memory area. A write non-execution unit that prevents writing, and when the read data and the write data are SIMD, and a part of the SIMD matches each other, the part of the data is not written and the match In the element setting unit, odd-numbered data in SIMD matches and even-numbered data does not match. First pattern indicating that, and / or, the even-numbered data of the SIMD match, the second pattern indicating that the odd-numbered data does not match, the memory controller, characterized in that it comprises the capital provide.
以上説明したように、本発明によれば、プロセッサにて処理されるデータが格納されるメモリの容量を削減することが可能となる。 As described above, according to the present invention, it is possible to reduce the capacity of a memory in which data processed by a processor is stored.
以下、本発明の実施形態に係るメモリコントローラについて図面を参照しながら説明する。 Hereinafter, a memory controller according to an embodiment of the present invention will be described with reference to the drawings.
(第1実施形態)
図1は、本発明の第1実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図である。
図1において、プロセッサ1は、メモリコントローラ2を介してメモリ3に接続され、メモリコントローラ2は変換テーブル4に接続されている。ここで、メモリコントローラ2は、プロセッサ1からの書き込み要求に基づいてメモリ3にデータを書き込んだり、プロセッサ1からの読み出し要求に基づいてメモリ3からデータを読み出し、プロセッサ1に転送したりすることができる。そして、メモリコントローラ2は、プロセッサ1からのデータの書き込み要求に対して、重複するデータがあるかどうかを判定し、重複するデータがメモリ3に書き込まれないようにすることで、メモリ3の容量を削減させることができる。
(First embodiment)
FIG. 1 is a block diagram showing a data writing method by a memory controller according to the first embodiment of the present invention.
In FIG. 1, a
具体的には、メモリコントローラ2には、バッファ5、一致判定部6および書き込み不実行部7が設けられている。そして、バッファ5は、メモリ3から読み出されたデータを一時的に保持することができる。一致判定部6は、メモリ領域RAから読み出すようにプロセッサ1から読み出し要求された読み出しデータXと、メモリ領域RBに書き込むようにプロセッサ1から書き込み要求された書き込みデータYが一致するかを判定することができる。書き込み不実行部7は、プロセッサ1から読み出し要求された読み出しデータと、プロセッサ1から書き込み要求された書き込みデータYが一致する場合、書き込みデータYをメモリ領域RBに書き込まないようにすることができる。
Specifically, the
また、変換テーブル4は、変換データ8を格納することができる。ここで、変換データ8には、メモリ領域RBに書き込まれなかった書き込みデータYのメモリ領域RBのアドレスBnと、書き込みデータYに一致する読み出しデータXが格納されているメモリ領域RAのアドレスAmとの対応関係を登録することができる。 The conversion table 4 can store conversion data 8. Here, the conversion data 8 includes an address Bn of the memory area RB of the write data Y that has not been written to the memory area RB, and an address Am of the memory area RA in which the read data X that matches the write data Y is stored. Can be registered.
そして、メモリコントローラ2は、メモリ領域RAのアドレスAmから読み出しデータXを読み出すようにプロセッサ1からの読み出し要求を受け取ると、メモリ領域RAのアドレスAmから読み出しデータXを読み出す(K1)。そして、メモリコントローラ2は、メモリ領域RAのアドレスAmから読み出した読み出しデータXをバッファ5に格納するとともに、プロセッサ1に転送する(K2)。
When the
そして、プロセッサ1は、読み出しデータXをメモリコントローラ2から受け取ると、読み出しデータXの処理を行うことで、書き込みデータYを生成し、メモリ領域RBのアドレスBmに書き込みデータYを書き込むようにメモリコントローラ2に書き込み要求を行う(K3)。なお、読み出しデータXとしては、例えば、画像データや音声データなどを挙げることができる。また、プロセッサ1にて読み出しデータXに対して行われる処理としては、例えば、画素補間、色変換、輪郭補正、フィルタリングなどの画像処理を挙げることができる。
When the
そして、メモリコントローラ2は、メモリ領域RBのアドレスBnに書き込みデータYを書き込むようにプロセッサ1からの書き込み要求を受け取ると、一致判定部6は、バッファ5に格納されている読み出しデータXと、プロセッサ1から受け取った書き込みデータYが一致するかを判定する。
When the
そして、メモリコントローラ2は、バッファ5に格納されている読み出しデータXと、プロセッサ1から受け取った書き込みデータYが一致しない場合、プロセッサ1から受け取った書き込みデータYをメモリ領域RBのアドレスBnに書き込む。
When the read data X stored in the buffer 5 and the write data Y received from the
一方、バッファ5に格納されている読み出しデータXと、プロセッサ1から受け取った書き込みデータYが一致する場合、書き込み不実行部7は、書き込みデータYをメモリ領域RBのアドレスBnに書き込まないようにする(K4)。また、メモリコントローラ2は、プロセッサ1から書き込み要求があった書き込みデータYをメモリ領域RBのアドレスBnに書き込まなかった場合、その書き込みデータYのメモリ領域RBのアドレスBnと、その書き込みデータYに一致する読み出しデータXが格納されているメモリ領域RAのアドレスAmとの対応関係を変換テーブル4に登録する(K5)。
On the other hand, when the read data X stored in the buffer 5 and the write data Y received from the
そして、メモリコントローラ2は、メモリ領域RBのアドレスBnに書き込むように書き込み要求があった書き込みデータYを読み出すようにプロセッサ1から指示された場合、変換テーブル4を参照することにより、メモリ領域RBのアドレスBnをメモリ領域RAのアドレスAmに変換し、メモリ領域RAのアドレスAmから読み出しデータXを読み出す。そして、メモリコントローラ2は、メモリ領域RBのアドレスBnから読み出すようにプロセッサ1から指示された書き込みデータYとして、メモリ領域RAのアドレスAmから読み出した読み出しデータXをプロセッサ1に転送する。
Then, when the
これにより、プロセッサ1からのデータの書き込み要求に対して、重複するデータがメモリ3に書き込まれるのを禁止することが可能となるとともに、プロセッサ1からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、プロセッサ1にて処理されるデータが格納されるメモリ3の容量を削減することが可能となる。
As a result, it is possible to prohibit the redundant data from being written to the memory 3 in response to the data write request from the
なお、図1の実施形態では、メモリコントローラ2は、プロセッサ1と別個に設ける方法について説明したが、プロセッサ1内にメモリコントローラ2を設けるようにしてもよい。また、図1の実施形態では、変換テーブル4は、メモリコントローラ2と別個に設ける方法について説明したが、メモリコントローラ2内に変換テーブル4を設けるようにしてもよい。また、図1の実施形態では、バッファ5をメモリコントローラ2内に設ける方法について説明したが、メモリコントローラ2と別個にバッファ5を設けるようにしてもよい。また、図1の実施形態では、同一のメモリ3内のメモリ領域RA、RB間でデータの読み出しおよび書き込みが行われる場合を例にとって説明したが、プロセッサ1にてアクセス可能な異なるメモリMA、MB間でデータの読み出しおよび書き込みが行われる場合に適用してもよい。
In the embodiment of FIG. 1, the method of providing the
また、上述した実施形態では、プロセッサ1から読み出し要求された読み出しデータXと、プロセッサ1から書き込み要求された書き込みデータYが一致する場合、書き込みデータYをメモリ領域RBに書き込まないようにする方法について説明したが、プロセッサ1から書き込み要求された書き込みデータと、メモリ3に既に記憶されているデータとを比較し、プロセッサ1から書き込み要求された書き込みデータが、メモリ3に既に記憶されているデータと一致する場合、その書き込みデータをメモリ3に書き込まないようにしてもよい。この場合、変換テーブル4には、プロセッサ1から書き込み要求された書き込みデータのアドレスと、メモリ3に既に記憶され、その書き込みデータに一致するデータのアドレスとの対応関係を登録するようにしてもよい。
In the above-described embodiment, when the read data X requested to be read from the
また、上述した実施形態では、プロセッサ1から書き込み要求された書き込みデータYをメモリコントローラ2がメモリ領域RBに書き込まなかった場合、その書き込みデータYに一致する読み出しデータXがメモリ領域RAのどの番地に記憶されているかを認識できるようにするために、変換テーブル4を設ける方法について説明したが、メモリ領域RA、RBに論理アドレスを割り当てるようにしてもよい。そして、プロセッサ1から読み出し要求された読み出しデータXと、プロセッサ1から書き込み要求された書き込みデータYが一致しない場合、プロセッサ1から読み出し要求された読み出しデータXのメモリ領域RAの論理アドレスに一致するメモリ領域RBの論理アドレスに書き込みデータYを書き込むことができる。また、プロセッサ1から読み出し要求された読み出しデータXと、プロセッサ1から書き込み要求された書き込みデータYが一致する場合、プロセッサ1から読み出し要求された読み出しデータXのメモリ領域RAの論理アドレスに一致するメモリ領域RBの論理アドレスに書き込みデータYを書き込まないようにすることができる。
In the above-described embodiment, when the
(第2実施形態)
図2は、本発明の第2実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図である。なお、この第2実施形態は、メモリ3に読み書きされるデータとしてSIMDを用いるようにしたものである。このSIMDを用いる場合、読み出しデータと書き込みデータとの間でSIMDの一部が互いに一致する場合、その一部のデータを書き込まないようにすることができる。
(Second Embodiment)
FIG. 2 is a block diagram showing a data writing method by the memory controller according to the second embodiment of the present invention. In the second embodiment, SIMD is used as data to be read from and written to the memory 3. When this SIMD is used, when a part of SIMD matches between read data and write data, the part of the data can be prevented from being written.
すなわち、図2において、メモリコントローラ2は、メモリ領域RAのアドレスAmから読み出しデータ‘XYZW’を読み出すようにプロセッサ1からの読み出し要求を受け取ると、メモリ領域RAのアドレスAmから読み出しデータ‘XYZW’を読み出す(K11)。なお、‘XYZW’は、データXとデータYとデータZとデータWの処理が一回の命令で行われるSIMDである。そして、メモリコントローラ2は、メモリ領域RAのアドレスAmから読み出した読み出しデータ‘XYZW’をバッファ5に格納するとともに、プロセッサ1に転送する(K12)。
That is, in FIG. 2, when the
そして、プロセッサ1は、読み出しデータ‘XYZW’をメモリコントローラ2から受け取ると、読み出しデータ‘XYZW’の処理を行うことで、書き込みデータ‘AYXB’を生成し、メモリ領域RBのアドレスBnに書き込みデータ‘AYXB’を書き込むようにメモリコントローラ2に書き込み要求を行う(K13)。なお、‘AYXB’は、データBとデータXとデータYとデータAの処理が一回の命令で行われるSIMDである。
When the
そして、メモリコントローラ2は、メモリ領域RBのアドレスBnに書き込みデータ‘AYXB’を書き込むようにプロセッサ1からの書き込み要求を受け取ると、一致判定部6は、バッファ5に格納されている読み出しデータ‘XYZW’と、プロセッサ1から受け取った書き込みデータ‘AYXB’が一致するかを個々のデータごとに判定する。
When the
そして、バッファ5に格納されている読み出しデータ‘XYZW’と、プロセッサ1から受け取った書き込みデータ‘AYXB’との間で、データXとデータYが一致する場合、書き込み不実行部7は、書き込みデータ‘AYXB’のうちの書き込みデータ‘XY’をメモリ領域RBのアドレスBnに書き込まないようにするとともに、書き込みデータ‘BA’をメモリ領域RBのアドレスBnに書き込むようにする(K14)。また、メモリコントローラ2は、プロセッサ1から書き込み要求があった書き込みデータ‘AYXB’をそのままメモリ領域RBのアドレスBnに書き込まなかった場合、その書き込みデータ‘AYXB’のメモリ領域RBのアドレスBnと、その書き込みデータ‘AYXB’に一致する部分を含む読み出しデータ‘XYZW’が格納されているメモリ領域RAのアドレスAmとの対応関係を変換テーブル4に登録する(K15)。
When the data X and the data Y match between the read data 'XYZW' stored in the buffer 5 and the write data 'AYXB' received from the
これにより、プロセッサ1からのデータの書き込み要求に対して、重複するデータがSIMDの一部に含まれている場合においても、メモリ3に書き込まれるのを禁止することが可能となるとともに、プロセッサ1からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、プロセッサ1にて処理されるデータが格納されるメモリ3の容量を削減することが可能となる。
As a result, in response to a data write request from the
(第3実施形態)
図3は、本発明の第3実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図である。
図3において、プロセッサ11は、メモリコントローラ12を介してメモリ13に接続されている。ここで、メモリコントローラ12は、プロセッサ11からの書き込み要求に基づいてメモリ13にデータを書き込んだり、プロセッサ11からの読み出し要求に基づいてメモリ13からデータを読み出し、プロセッサ11に転送したりすることができる。そして、メモリコントローラ12は、プロセッサ11からのデータの書き込み要求に対して、予め指定された重複するデータがメモリ13に書き込まれないようにすることで、メモリ13の容量を削減させることができる。
(Third embodiment)
FIG. 3 is a block diagram showing a data writing method by the memory controller according to the third embodiment of the present invention.
In FIG. 3, the
なお、メモリ13に読み書きされるデータとしてSIMDを用いることができる。また、メモリコントローラ12は、メモリ領域RA、RBには論理アドレスを割り当て、その論理アドレスを指定することで、メモリ領域RAから読み出しデータを読み出したり、メモリ領域RBに書き込みデータを書き込んだりすることができる。また、プロセッサ11は、メモリ領域RAから読み出される読み出しデータやメモリ領域RBに書き込まれる書き込みデータを指定する場合、アドレスの代わりにオフセット値(先頭番地から何番目かを示すデータ)を用いることができる。ここで、プロセッサ11は、オフセット値を用いる場合、メモリ領域RAから読み出される読み出しデータと、メモリ領域RBに書き込まれる書き込みデータとの間でオフセット値が同一になるように設定することができる。
Note that SIMD can be used as data read from and written to the
具体的には、メモリコントローラ12には、一致要素設定部16および書き込み不実行部17が設けられている。そして、一致要素設定部16は、メモリ領域RAから読み出すようにプロセッサ11から読み出し要求される読み出しデータと、メモリ領域RBに書き込むようにプロセッサ11から書き込み要求される書き込みデータとが一致する部分を予め設定することができる。ここで、一致要素設定部16には、SIMDからなる読み出しデータと書き込みデータとの間において、これらのSIMDのうちのどのデータが一致するかを示す一致パターンS1が保持されている。例えば、一致パターンS1は、SIMDのうち奇数番目のデータが一致し、偶数番目のデータが一致しないということを示すことができる。書き込み不実行部17は、プロセッサ11から書き込み要求された書き込みデータのうち、一致要素設定部16にて設定された部分をメモリ領域RBに書き込まないようにすることができる。
Specifically, the
そして、メモリコントローラ12は、メモリ領域RAから読み出しデータ‘XAZB’を読み出すようにプロセッサ11からの読み出し要求を受け取ると、メモリ領域RAから読み出しデータ‘XAZB’を読み出す(K21)。ここで、メモリコントローラ12は、メモリ領域RAからの読み出し位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RAのアドレスAmに変換し、そのアドレスAmから読み出しデータ‘XAZB’を読み出すことができる。なお、‘XAZB’は、データXとデータAとデータZとデータBの処理が一回の命令で行われるSIMDである。そして、メモリコントローラ12は、メモリ領域RAのアドレスAmから読み出した読み出しデータ‘XAZB’をプロセッサ11に転送する(K22)。
When the
そして、プロセッサ11は、読み出しデータ‘XAZB’をメモリコントローラ12から受け取ると、読み出しデータ‘XAZB’の処理を行うことで、書き込みデータ‘XCZD’を生成し、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにメモリコントローラ12に書き込み要求を行う(K23)。なお、‘XCZD’は、データXとデータCとデータZデータDの処理が一回の命令で行われるSIMDである。
Then, when the
そして、メモリコントローラ12は、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにプロセッサ11からの書き込み要求を受け取ると、書き込み不実行部17は、一致パターンS1にて示された奇数番目の書き込みデータ‘XZ’をメモリ領域RBに書き込まないようにするとともに、偶数番目の書き込みデータ‘CD’をメモリ領域RBに書き込むようにする(K24)。ここで、プロセッサ11は、メモリ領域RAからの読み出し位置を指定するオフセット値と同一のオフセット値を用いることで、メモリ領域RBへの書き込み位置を指定することができる。そして、メモリコントローラ12は、メモリ領域RBへの書き込み位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RBのアドレスBnに変換し、そのアドレスBnに書き込みデータ‘CD’を書き込むことができる。
When the
そして、メモリコントローラ12は、メモリ領域RBに書き込むように書き込み要求があった書き込みデータ‘XCZD’を読み出すようにプロセッサ11から指示された場合、その時にプロセッサ11から与えられたオフセット値をメモリ領域RAのアドレスAmおよびメモリ領域RBのアドレスBnに変換する。そして、メモリコントローラ12は、メモリ領域RAのアドレスAmから読み出しデータ‘XAZB’を読み出すとともに、メモリ領域RBのアドレスBnから読み出しデータ‘CD’を読み出す。そして、メモリコントローラ12は、読み出しデータ‘XAZB’のうちから奇数番目の読み出しデータ‘XZ’を抽出し、読み出しデータ‘XZ’が奇数番目、読み出しデータ‘CD’が偶数番目に配列された読み出しデータ‘XCZD’をプロセッサ11に転送する。
When the
これにより、プロセッサ11からのデータの書き込み要求に対して、重複するデータがSIMDの一部に含まれている場合においても、読み出しデータと書き込みデータとの比較を行うことなく、メモリ13に書き込まれるのを禁止することが可能となるとともに、プロセッサ11からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、メモリコントローラ12にかかる負荷の増大を抑制しつつ、プロセッサ11にて処理されるデータが格納されるメモリ13の容量を削減することが可能となる。
As a result, in response to a data write request from the
(第4実施形態)
図4は、本発明の第4実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図である。
図4において、プロセッサ11は、メモリコントローラ22を介してメモリ13に接続されている。ここで、メモリコントローラ22は、プロセッサ11からの書き込み要求に基づいてメモリ13にデータを書き込んだり、プロセッサ11からの読み出し要求に基づいてメモリ13からデータを読み出し、プロセッサ11に転送したりすることができる。そして、メモリコントローラ22は、プロセッサ11からのデータの書き込み要求に対して、SIMD内で重複するデータの位置が変化する場合においても、予め指定された重複するデータがメモリ13に書き込まれないようにすることで、メモリ13の容量を削減させることができる。
(Fourth embodiment)
FIG. 4 is a block diagram showing a data writing method by the memory controller according to the fourth embodiment of the present invention.
In FIG. 4, the
具体的には、メモリコントローラ22には、一致要素設定部26、書き込み不実行部27および一致パターン指定部28が設けられている。そして、一致要素設定部26は、メモリ領域RAから読み出すようにプロセッサ11から読み出し要求される読み出しデータと、メモリ領域RBに書き込むようにプロセッサ11から書き込み要求される書き込みデータとが一致する部分を示す複数の一致パターンS1、S2を予め設定することができる。例えば、一致パターンS1は、SIMDのうち奇数番目のデータが一致し、偶数番目のデータが一致しないということを示すことができる。また、一致パターンS2は、SIMDのうち偶数番目のデータが一致し、奇数番目のデータが一致しないということを示すことができる。
Specifically, the
一致パターン指定部28は、一致要素設定部26に設定された一致パターンS1、S2を指定することができる。例えば、一致パターン指定部28は、プロセッサ11から与えられたオフセット値が奇数の場合、一致パターンS1を指定し、プロセッサ11から与えられたオフセット値が偶数の場合、一致パターンS2を指定することができる。書き込み不実行部27は、プロセッサ11から書き込み要求された書き込みデータのうち、一致パターン指定部28で指定された一致パターンS1、S2にて設定された部分をメモリ領域RBに書き込まないようにすることができる。
The matching
そして、メモリコントローラ22は、メモリ領域RAから読み出しデータ‘XAZB’を読み出すようにプロセッサ11からの読み出し要求を受け取ると、メモリ領域RAから読み出しデータ‘XAZB’を読み出す(K31)。ここで、メモリコントローラ22は、メモリ領域RAからの読み出し位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RAのアドレスAmに変換し、そのアドレスAmから読み出しデータ‘XAZB’を読み出すことができる。そして、メモリコントローラ22は、メモリ領域RAのアドレスAmから読み出した読み出しデータ‘XAZB’をプロセッサ11に転送する(K32)。
When the
そして、プロセッサ11は、読み出しデータ‘XAZB’をメモリコントローラ22から受け取ると、読み出しデータ‘XAZB’の処理を行うことで、書き込みデータ‘XCZD’を生成し、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにメモリコントローラ22に書き込み要求を行う(K33)。ここで、読み出しデータ‘XAZB’の読み出し要求時にプロセッサ11から与えられたオフセット値が奇数の場合、一致パターン指定部28は一致パターンS1を指定することができる。
When the
そして、メモリコントローラ22は、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにプロセッサ11からの書き込み要求を受け取ると、書き込み不実行部27は、一致パターンS1にて示された奇数番目の書き込みデータ‘XZ’をメモリ領域RBに書き込まないようにするとともに、偶数番目の書き込みデータ‘CD’をメモリ領域RBに書き込むようにする(K34)。ここで、プロセッサ11は、メモリ領域RAからの読み出し位置を指定するオフセット値と同一のオフセット値を用いることで、メモリ領域RBへの書き込み位置を指定することができる。そして、メモリコントローラ22は、メモリ領域RBへの書き込み位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RBのアドレスBnに変換し、そのアドレスBnに書き込みデータ‘CD’を書き込むことができる。
When the
次に、メモリコントローラ22は、メモリ領域RAから読み出しデータ‘YEWF’を読み出すようにプロセッサ11からの読み出し要求を受け取ると、メモリ領域RAから読み出しデータ‘YEWF’を読み出す(K35)。ここで、メモリコントローラ22は、メモリ領域RAからの読み出し位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RAのアドレスAm+1に変換し、そのアドレスAm+1から読み出しデータ‘YEWF’を読み出すことができる。そして、メモリコントローラ22は、メモリ領域RAのアドレスAm+1から読み出した読み出しデータ‘YEWF’をプロセッサ11に転送する(K36)。
Next, when the
そして、プロセッサ11は、読み出しデータ‘YEWF’をメモリコントローラ22から受け取ると、読み出しデータ‘YEWF’の処理を行うことで、書き込みデータ‘UEVF’を生成し、メモリ領域RBに書き込みデータ‘UEVF’を書き込むようにメモリコントローラ22に書き込み要求を行う(K37)。ここで、読み出しデータ‘YEWFF’の読み出し要求時にプロセッサ11から与えられたオフセット値が偶数の場合、一致パターン指定部28は一致パターンS2を指定することができる。
When the
そして、メモリコントローラ22は、メモリ領域RBに書き込みデータ‘UEVF’を書き込むようにプロセッサ11からの書き込み要求を受け取ると、書き込み不実行部27は、一致パターンS2にて示された偶数番目の書き込みデータ‘EF’をメモリ領域RBに書き込まないようにするとともに、奇数番目の書き込みデータ‘UV’をメモリ領域RBに書き込むようにする(K38)。ここで、プロセッサ11は、メモリ領域RAからの読み出し位置を指定するオフセット値と同一のオフセット値を用いることで、メモリ領域RBへの書き込み位置を指定することができる。そして、メモリコントローラ22は、メモリ領域RBへの書き込み位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RBのアドレスBn+1に変換し、そのアドレスBn+1に書き込みデータ‘UV’を書き込むことができる。
When the
これにより、プロセッサ11からのデータの書き込み要求に対して、重複するデータがSIMD内で変化する場合においても、読み出しデータと書き込みデータとの比較を行うことなく、メモリ13に書き込まれるのを禁止することが可能となるとともに、プロセッサ11からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、メモリコントローラ22にかかる負荷の増大を抑制しつつ、プロセッサ11にて処理されるデータが格納されるメモリ13の容量を削減することが可能となる。
As a result, in response to a data write request from the
図5は、本発明の一実施形態に係る一致要素が設定されるデータの一例を示す図である。
図5において、CMOSセンサの赤色画素データをR、青色画素データをB、緑色画素データをGとする。そして、画像データのうち、奇数行目はBGBGBG・・・の順で配列され、偶数行目はGRGRGR・・・の順で配列されているものとする。
FIG. 5 is a diagram illustrating an example of data in which a matching element according to an embodiment of the present invention is set.
In FIG. 5, the red pixel data of the CMOS sensor is R, the blue pixel data is B, and the green pixel data is G. In the image data, odd-numbered rows are arranged in the order of BGBGBBG..., And even-numbered rows are arranged in the order of GRGRGR.
そして、このような順で配列された画素データがメモリ領域RAに記憶され、この画素データをSIMDとしてメモリ領域RAから読み出し、図4のプロセッサ11にて緑色画素データGの補間処理を行った後、メモリ領域RBに書き込むものとする。
Then, the pixel data arranged in this order is stored in the memory area RA, the pixel data is read out from the memory area RA as SIMD, and the interpolation processing of the green pixel data G is performed by the
ここで、奇数行目ではSIMDとして‘BGBGBG’という読み出しデータが読み出され、緑色画素データGの補間処理を行ったものとすると、‘G´GG´GG´G’という書き込みデータが生成される。ただし、G´は、補間された緑色画素データである。このため、書き込みデータ‘G´GG´GG´G’のうち奇数番目のデータが補間処理にて新規に生成されたデータであり、書き込みデータ‘G´GG´GG´G’のうち偶数番目のデータは、読み出しデータ‘BGBGBG’の偶数番目のデータと同じである。 Here, in the odd-numbered rows, read data “BGBBGBG” is read as SIMD, and if the green pixel data G is interpolated, write data “G′GG′GG′G” is generated. . Here, G ′ is the interpolated green pixel data. Therefore, the odd-numbered data among the write data 'G'GG'GG'G' is newly generated data by the interpolation process, and the even-numbered data among the write data 'G'GG'GG'G'. The data is the same as the even-numbered data of the read data “BGBBGBG”.
また、偶数行目ではSIMDとして‘GRGRGR’という読み出しデータが読み出され、緑色画素データGの補間処理を行ったものとすると、‘GG´GG´GG´’という書き込みデータが生成される。このため、書き込みデータ‘GG´GG´GG´’のうち偶数番目のデータが補間処理にて新規に生成されたデータであり、書き込みデータ‘GG´GG´GG´’のうち奇数番目のデータは、読み出しデータ‘GRGRGR’の奇数番目のデータと同じである。 On the even-numbered line, read data “GRGRGR” is read as SIMD, and if the green pixel data G is interpolated, write data “GG′GG′GG” ”is generated. For this reason, even-numbered data among the write data 'GG'GG'GG' is newly generated data by interpolation processing, and odd-numbered data among the write data 'GG'GG'GG' is , Which is the same as the odd-numbered data of the read data 'GRGRGR'.
そして、奇数行目からデータを読み出す場合、図4の一致パターン指定部28は一致パターンS2を指定し、書き込みデータ‘G´GG´GG´G’のうち奇数番目のデータ‘G´G´G´’をメモリ領域RBに書き込ませる。また、偶数行目からデータを読み出す場合、図4の一致パターン指定部28は一致パターンS1を指定し、書き込みデータ‘GG´GG´GG´’のうち偶数番目のデータ‘G´G´G´’をメモリ領域RBに書き込ませる。
When the data is read from the odd-numbered rows, the matching
これにより、偶数行目と奇数行目とでSIMDの中で変化する画素データの位置が異なる場合においても、プロセッサ11からの画素データの書き込み要求に対して、重複する画素データがメモリ領域RBに書き込まれるのを防止することができ、メモリ13の容量を削減することが可能となる。
Thereby, even when the positions of the pixel data changing in the SIMD are different between the even-numbered rows and the odd-numbered rows, the overlapping pixel data is stored in the memory area RB in response to the pixel data write request from the
1、11 プロセッサ、2、12、22 メモリコントローラ、3、13 メモリ、4 変換テーブル、5 バッファ、6 一致判定部、7、17、27 書き込み不実行部、8 変換データ、16、26 一致要素設定部、28 一致パターン指定部 1, 11 Processor, 2, 12, 22 Memory controller, 3, 13 Memory, 4 Conversion table, 5 Buffer, 6 Match determination unit, 7, 17, 27 Write non-execution unit, 8 Conversion data, 16, 26 Match element setting Part, 28 Matching pattern designation part
Claims (4)
前記プロセッサから書き込み要求された書き込みデータのうち、前記一致要素設定部にて設定された部分を前記第2のメモリ領域に書き込まないようにする書き込み不実行部とを備え、
前記読み出しデータおよび前記書き込みデータはSIMDであり、前記SIMDの一部が互いに一致する場合、その一部のデータを書き込まないようにし、
前記一致要素設定部は、前記SIMDのうち奇数番目のデータが一致し、偶数番目のデータが一致しないことを示す第1のパターン、および/または、前記SIMDのうち偶数番目のデータが一致し、奇数番目のデータが一致しないことを示す第2のパターン、とを備えることを特徴とするメモリコントローラ。 A matching element setting unit that presets a portion where read data requested to be read from the processor so as to read data from the first memory area and write data requested to be written from the processor so as to be written to the second memory area are preset. When,
A write non-execution unit that prevents a part of the write data requested to be written from the processor from being set in the second memory area by the matching element setting unit;
The read data and the write data are SIMD, and when a part of the SIMD matches each other, do not write a part of the data,
The matching element setting unit includes a first pattern indicating that odd-numbered data of SIMD matches and even-numbered data does not match, and / or even-numbered data of SIMD matches. memory controller, characterized in that it comprises a second pattern which indicates that the odd-numbered data does not match, and.
前記書き込み不実行部は、前記一致要素設定部にて設定された部分のうち、前記一致パターン指定部にて指定された部分を前記第2のメモリ領域に書き込まないようにすること
を特徴とする請求項1に記載のメモリコントローラ。 A matching pattern designating unit for designating a pattern in which a portion where the read data and the write data match is changed;
The write non-execution unit is configured to prevent a portion specified by the match pattern specifying unit from being written to the second memory area among the portions set by the match element setting unit. The memory controller according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012248627A JP5468668B2 (en) | 2012-11-12 | 2012-11-12 | Memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012248627A JP5468668B2 (en) | 2012-11-12 | 2012-11-12 | Memory controller |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008175825A Division JP2010015438A (en) | 2008-07-04 | 2008-07-04 | Memory controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013041625A JP2013041625A (en) | 2013-02-28 |
JP5468668B2 true JP5468668B2 (en) | 2014-04-09 |
Family
ID=47889885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012248627A Expired - Fee Related JP5468668B2 (en) | 2012-11-12 | 2012-11-12 | Memory controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5468668B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2959297B2 (en) * | 1992-10-07 | 1999-10-06 | 日本電気株式会社 | Graphic drawing device |
JP3336073B2 (en) * | 1993-06-11 | 2002-10-21 | 三菱電機株式会社 | Memory, data writing method, data reading method |
JP2005141897A (en) * | 1994-01-21 | 2005-06-02 | Renesas Technology Corp | Semiconductor integrated circuit device and image storage processing system |
JP3793062B2 (en) * | 2001-09-27 | 2006-07-05 | 株式会社東芝 | Data processing device with built-in memory |
JP4070480B2 (en) * | 2002-02-28 | 2008-04-02 | 三洋電機株式会社 | MEMORY CONTROL METHOD AND DEVICE, AND DISPLAY DEVICE USING THEM |
-
2012
- 2012-11-12 JP JP2012248627A patent/JP5468668B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013041625A (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904069B2 (en) | Data processing apparatus and image processing apparatus | |
US20180365796A1 (en) | Image processing device | |
US9262314B2 (en) | Data transfer device | |
US9313358B2 (en) | Image processing apparatus | |
JP2010108084A (en) | Image processing apparatus | |
JP2010015438A (en) | Memory controller | |
WO2019021793A1 (en) | Image processing device and imaging device | |
US11558552B2 (en) | Image signal processor, image processing system, and operating method of image signal processor | |
KR102400104B1 (en) | Image processing apparatus and Image processing method | |
JP5468668B2 (en) | Memory controller | |
JP2014174898A (en) | Image data processing apparatus, image data processing method and image data processing program | |
JP5676233B2 (en) | Image processing apparatus, image processing method, and imaging apparatus | |
JP2018045560A (en) | Semiconductor device | |
US8982235B2 (en) | Image processing device and image processing method | |
JP2018191154A (en) | Image processing apparatus, image processing method, and program | |
JP4408113B2 (en) | Signal processing method | |
JP6467940B2 (en) | Image processing apparatus, image processing method, and program | |
JP2018005389A (en) | Image deformation circuit, image processing apparatus, and image deformation method | |
JP2015099959A (en) | Apparatus and method of image processing, and electronic apparatus | |
JP2003216950A (en) | Simd type microprocessor for performing pattern matching or the like | |
TWI424372B (en) | Selectable image line path means | |
JP2008059452A (en) | Image processor and image processing method | |
JP2014072846A (en) | Image composition device and image composition method | |
JP2006050584A (en) | Image processing device | |
JP5890044B2 (en) | vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131015 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131213 |
|
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: 20140107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140129 |
|
LAPS | Cancellation because of no payment of annual fees |