JP5468668B2 - Memory controller - Google Patents

Memory controller Download PDF

Info

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
Application number
JP2012248627A
Other languages
Japanese (ja)
Other versions
JP2013041625A (en
Inventor
卓久 和田
高 宮森
俊一 石渡
克行 木村
圭里 中西
正人 住吉
靖貴 田邉
隆二 羽田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012248627A priority Critical patent/JP5468668B2/en
Publication of JP2013041625A publication Critical patent/JP2013041625A/en
Application granted granted Critical
Publication of JP5468668B2 publication Critical patent/JP5468668B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2004−21645号公報JP 2004-21645 A

そこで、本発明の目的は、プロセッサにて処理されるデータが格納されるメモリの容量を削減することが可能なメモリコントローラを提供することである。   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.

本発明の第1実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図。1 is a block diagram showing a data writing method by a memory controller according to a first embodiment of the present invention. 本発明の第2実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図。The block diagram which shows the data writing method by the memory controller which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図。The block diagram which shows the data writing method by the memory controller which concerns on 3rd Embodiment of this invention. 本発明の第4実施形態に係るメモリコントローラによるデータ書き込み方法を示すブロック図。The block diagram which shows the data writing method by the memory controller which concerns on 4th Embodiment of this invention. 本発明の一実施形態に係る一致要素が設定されるデータの一例を示す図。The figure which shows an example of the data by which the matching element which concerns on one Embodiment of this invention is set.

以下、本発明の実施形態に係るメモリコントローラについて図面を参照しながら説明する。   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 processor 1 is connected to a memory 3 via a memory controller 2, and the memory controller 2 is connected to a conversion table 4. Here, the memory controller 2 may write data to the memory 3 based on a write request from the processor 1, read data from the memory 3 based on a read request from the processor 1, and transfer the data to the processor 1. it can. The memory controller 2 determines whether or not there is duplicate data in response to a data write request from the processor 1, and prevents the duplicate data from being written into the memory 3. Can be reduced.

具体的には、メモリコントローラ2には、バッファ5、一致判定部6および書き込み不実行部7が設けられている。そして、バッファ5は、メモリ3から読み出されたデータを一時的に保持することができる。一致判定部6は、メモリ領域RAから読み出すようにプロセッサ1から読み出し要求された読み出しデータXと、メモリ領域RBに書き込むようにプロセッサ1から書き込み要求された書き込みデータYが一致するかを判定することができる。書き込み不実行部7は、プロセッサ1から読み出し要求された読み出しデータと、プロセッサ1から書き込み要求された書き込みデータYが一致する場合、書き込みデータYをメモリ領域RBに書き込まないようにすることができる。   Specifically, the memory controller 2 includes a buffer 5, a match determination unit 6, and a write non-execution unit 7. The buffer 5 can temporarily hold data read from the memory 3. The coincidence determination unit 6 determines whether the read data X requested to be read from the processor 1 so as to read from the memory area RA and the write data Y requested to be written from the processor 1 so as to be written to the memory area RB. Can do. The write non-execution unit 7 can prevent the write data Y from being written in the memory area RB when the read data requested to be read from the processor 1 and the write data Y requested to be written from the processor 1 match.

また、変換テーブル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 memory controller 2 receives a read request from the processor 1 to read the read data X from the address Am in the memory area RA, the memory controller 2 reads the read data X from the address Am in the memory area RA (K1). Then, the memory controller 2 stores the read data X read from the address Am in the memory area RA in the buffer 5 and transfers it to the processor 1 (K2).

そして、プロセッサ1は、読み出しデータXをメモリコントローラ2から受け取ると、読み出しデータXの処理を行うことで、書き込みデータYを生成し、メモリ領域RBのアドレスBmに書き込みデータYを書き込むようにメモリコントローラ2に書き込み要求を行う(K3)。なお、読み出しデータXとしては、例えば、画像データや音声データなどを挙げることができる。また、プロセッサ1にて読み出しデータXに対して行われる処理としては、例えば、画素補間、色変換、輪郭補正、フィルタリングなどの画像処理を挙げることができる。   When the processor 1 receives the read data X from the memory controller 2, the processor 1 processes the read data X to generate write data Y, and writes the write data Y to the address Bm in the memory area RB. 2 is written (K3). Note that examples of the read data X include image data and audio data. Examples of processing performed on the read data X by the processor 1 include image processing such as pixel interpolation, color conversion, contour correction, and filtering.

そして、メモリコントローラ2は、メモリ領域RBのアドレスBnに書き込みデータYを書き込むようにプロセッサ1からの書き込み要求を受け取ると、一致判定部6は、バッファ5に格納されている読み出しデータXと、プロセッサ1から受け取った書き込みデータYが一致するかを判定する。   When the memory controller 2 receives a write request from the processor 1 so as to write the write data Y to the address Bn of the memory area RB, the coincidence determination unit 6 receives the read data X stored in the buffer 5 and the processor 1 determines whether the write data Y received from 1 matches.

そして、メモリコントローラ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 processor 1 do not match, the memory controller 2 writes the write data Y received from the processor 1 to the address Bn of the memory area RB.

一方、バッファ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 processor 1 match, the write non-execution unit 7 does not write the write data Y to the address Bn of the memory area RB. (K4). If the write data Y requested by the processor 1 is not written to the address Bn of the memory area RB, the memory controller 2 matches the address Bn of the memory area RB of the write data Y and the write data Y. The correspondence relationship with the address Am of the memory area RA where the read data X to be stored is stored is registered in the conversion table 4 (K5).

そして、メモリコントローラ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 processor 1 instructs the memory controller 2 to read the write data Y that has been requested to be written to the address Bn of the memory area RB, the memory controller 2 refers to the conversion table 4 to read the data in the memory area RB. The address Bn is converted into the address Am in the memory area RA, and the read data X is read from the address Am in the memory area RA. Then, the memory controller 2 transfers the read data X read from the address Am in the memory area RA to the processor 1 as the write data Y instructed by the processor 1 to read from the address Bn in the memory area RB.

これにより、プロセッサ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 processor 1 and to read the data specified by the data read request from the processor 1. Therefore, it is possible to reduce the capacity of the memory 3 in which data to be processed by the processor 1 is stored.

なお、図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 memory controller 2 separately from the processor 1 has been described. However, the memory controller 2 may be provided in the processor 1. In the embodiment of FIG. 1, the method of providing the conversion table 4 separately from the memory controller 2 has been described. However, the conversion table 4 may be provided in the memory controller 2. In the embodiment of FIG. 1, the method of providing the buffer 5 in the memory controller 2 has been described. However, the buffer 5 may be provided separately from the memory controller 2. In the embodiment of FIG. 1, the case where data is read and written between the memory areas RA and RB in the same memory 3 has been described as an example, but different memories MA and MB accessible by the processor 1 are described. The present invention may be applied to the case where data is read and written between.

また、上述した実施形態では、プロセッサ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 processor 1 and the write data Y requested to be written from the processor 1 coincide with each other, the write data Y is not written to the memory area RB. As described above, the write data requested to be written by the processor 1 is compared with the data already stored in the memory 3, and the write data requested to be written by the processor 1 is compared with the data already stored in the memory 3. If they match, the write data may not be written to the memory 3. In this case, the correspondence between the address of the write data requested to be written by the processor 1 and the address of the data already stored in the memory 3 and matching the write data may be registered in the conversion table 4. .

また、上述した実施形態では、プロセッサ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 memory controller 2 does not write the write data Y requested to be written by the processor 1 to the memory area RB, the read data X that matches the write data Y is located at any address in the memory area RA. Although the method of providing the conversion table 4 has been described in order to recognize whether it is stored, logical addresses may be assigned to the memory areas RA and RB. If the read data X requested to be read from the processor 1 and the write data Y requested to be written from the processor 1 do not match, the memory matching the logical address of the memory area RA of the read data X requested to be read from the processor 1 The write data Y can be written to the logical address in the area RB. Further, when the read data X requested to be read from the processor 1 and the write data Y requested to be written from the processor 1 match, the memory corresponding to the logical address of the memory area RA of the read data X requested to be read from the processor 1 It is possible not to write the write data Y to the logical address in the region RB.

(第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 memory controller 2 receives a read request from the processor 1 so as to read the read data “XYZW” from the address Am in the memory area RA, the memory controller 2 receives the read data “XYZW” from the address Am in the memory area RA. Read (K11). 'XYZW' is SIMD in which data X, data Y, data Z, and data W are processed by a single command. Then, the memory controller 2 stores the read data “XYZW” read from the address Am in the memory area RA in the buffer 5 and transfers it to the processor 1 (K12).

そして、プロセッサ1は、読み出しデータ‘XYZW’をメモリコントローラ2から受け取ると、読み出しデータ‘XYZW’の処理を行うことで、書き込みデータ‘AYXB’を生成し、メモリ領域RBのアドレスBnに書き込みデータ‘AYXB’を書き込むようにメモリコントローラ2に書き込み要求を行う(K13)。なお、‘AYXB’は、データBとデータXとデータYとデータAの処理が一回の命令で行われるSIMDである。   When the processor 1 receives the read data 'XYZW' from the memory controller 2, the processor 1 generates the write data 'AYXB' by processing the read data 'XYZW', and writes the write data 'to the address Bn of the memory area RB. A write request is made to the memory controller 2 to write AYXB '(K13). 'AYXB' is SIMD in which data B, data X, data Y, and data A are processed by a single command.

そして、メモリコントローラ2は、メモリ領域RBのアドレスBnに書き込みデータ‘AYXB’を書き込むようにプロセッサ1からの書き込み要求を受け取ると、一致判定部6は、バッファ5に格納されている読み出しデータ‘XYZW’と、プロセッサ1から受け取った書き込みデータ‘AYXB’が一致するかを個々のデータごとに判定する。   When the memory controller 2 receives a write request from the processor 1 to write the write data “AYXB” to the address Bn of the memory area RB, the coincidence determination unit 6 reads the read data “XYZW” stored in the buffer 5. It is determined for each piece of data whether or not the write data “AYXB” received from the processor 1 matches.

そして、バッファ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 processor 1, the write non-execution unit 7 writes the write data The write data “XY” of “AYXB” is not written to the address Bn of the memory area RB, and the write data “BA” is written to the address Bn of the memory area RB (K14). If the write data 'AYXB' requested to be written by the processor 1 is not directly written to the address Bn of the memory area RB, the memory controller 2 and the address Bn of the memory area RB of the write data 'AYXB' The correspondence relationship with the address Am of the memory area RA in which the read data “XYZW” including the portion that matches the write data “AYXB” is registered in the conversion table 4 (K15).

これにより、プロセッサ1からのデータの書き込み要求に対して、重複するデータがSIMDの一部に含まれている場合においても、メモリ3に書き込まれるのを禁止することが可能となるとともに、プロセッサ1からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、プロセッサ1にて処理されるデータが格納されるメモリ3の容量を削減することが可能となる。   As a result, in response to a data write request from the processor 1, even when duplicate data is included in a part of the SIMD, it is possible to prohibit writing to the memory 3 and to It is possible to read the data designated by the data read request from, and it is possible to reduce the capacity of the memory 3 in which the data to be processed by the processor 1 is stored.

(第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 processor 11 is connected to the memory 13 via the memory controller 12. Here, the memory controller 12 may write data to the memory 13 based on a write request from the processor 11, read data from the memory 13 based on a read request from the processor 11, and transfer the data to the processor 11. it can. The memory controller 12 can reduce the capacity of the memory 13 by preventing duplicate data designated in advance from being written into the memory 13 in response to a data write request from the processor 11.

なお、メモリ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 memory 13. In addition, the memory controller 12 assigns logical addresses to the memory areas RA and RB, and designates the logical addresses, thereby reading the read data from the memory area RA and writing the write data to the memory area RB. it can. Further, when designating read data read from the memory area RA or write data written to the memory area RB, the processor 11 can use an offset value (data indicating the number from the first address) instead of the address. . Here, when using the offset value, the processor 11 can set the offset value to be the same between the read data read from the memory area RA and the write data written to the memory area RB.

具体的には、メモリコントローラ12には、一致要素設定部16および書き込み不実行部17が設けられている。そして、一致要素設定部16は、メモリ領域RAから読み出すようにプロセッサ11から読み出し要求される読み出しデータと、メモリ領域RBに書き込むようにプロセッサ11から書き込み要求される書き込みデータとが一致する部分を予め設定することができる。ここで、一致要素設定部16には、SIMDからなる読み出しデータと書き込みデータとの間において、これらのSIMDのうちのどのデータが一致するかを示す一致パターンS1が保持されている。例えば、一致パターンS1は、SIMDのうち奇数番目のデータが一致し、偶数番目のデータが一致しないということを示すことができる。書き込み不実行部17は、プロセッサ11から書き込み要求された書き込みデータのうち、一致要素設定部16にて設定された部分をメモリ領域RBに書き込まないようにすることができる。   Specifically, the memory controller 12 is provided with a matching element setting unit 16 and a write non-execution unit 17. Then, the matching element setting unit 16 stores in advance a portion where the read data requested to be read from the processor 11 so as to read from the memory area RA and the write data requested to be written from the processor 11 so as to be written to the memory area RB. Can be set. Here, the matching element setting unit 16 holds a matching pattern S1 indicating which data of the SIMD matches between the read data and the write data made of SIMD. For example, the matching pattern S1 can indicate that odd-numbered data in SIMD matches and even-numbered data does not match. The write non-execution unit 17 can prevent the portion set by the matching element setting unit 16 from being written to the memory area RB from the write data requested to be written by the processor 11.

そして、メモリコントローラ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 memory controller 12 receives a read request from the processor 11 to read the read data “XAZB” from the memory area RA, the memory controller 12 reads the read data “XAZB” from the memory area RA (K21). Here, when the read position from the memory area RA is given as an offset value, the memory controller 12 converts the offset value into the address Am of the memory area RA and reads the read data “XAZB” from the address Am. Can do. 'XAZB' is SIMD in which processing of data X, data A, data Z, and data B is performed with a single instruction. Then, the memory controller 12 transfers the read data “XAZB” read from the address Am in the memory area RA to the processor 11 (K22).

そして、プロセッサ11は、読み出しデータ‘XAZB’をメモリコントローラ12から受け取ると、読み出しデータ‘XAZB’の処理を行うことで、書き込みデータ‘XCZD’を生成し、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにメモリコントローラ12に書き込み要求を行う(K23)。なお、‘XCZD’は、データXとデータCとデータZデータDの処理が一回の命令で行われるSIMDである。   Then, when the processor 11 receives the read data 'XAZB' from the memory controller 12, the processor 11 processes the read data 'XAZB' to generate write data 'XCZD', and writes the write data 'XCZD' to the memory area RB. A write request is made to the memory controller 12 so as to write (K23). 'XCZD' is SIMD in which processing of data X, data C, and data Z data D is performed with a single instruction.

そして、メモリコントローラ12は、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにプロセッサ11からの書き込み要求を受け取ると、書き込み不実行部17は、一致パターンS1にて示された奇数番目の書き込みデータ‘XZ’をメモリ領域RBに書き込まないようにするとともに、偶数番目の書き込みデータ‘CD’をメモリ領域RBに書き込むようにする(K24)。ここで、プロセッサ11は、メモリ領域RAからの読み出し位置を指定するオフセット値と同一のオフセット値を用いることで、メモリ領域RBへの書き込み位置を指定することができる。そして、メモリコントローラ12は、メモリ領域RBへの書き込み位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RBのアドレスBnに変換し、そのアドレスBnに書き込みデータ‘CD’を書き込むことができる。   When the memory controller 12 receives a write request from the processor 11 so as to write the write data “XCZD” in the memory area RB, the write non-execution unit 17 reads the odd-numbered write data indicated by the matching pattern S1. “XZ” is not written to the memory area RB, and even-numbered write data “CD” is written to the memory area RB (K24). Here, the processor 11 can designate the write position in the memory area RB by using the same offset value as the offset value that designates the read position from the memory area RA. Then, when the write position to the memory area RB is given as an offset value, the memory controller 12 converts the offset value into the address Bn of the memory area RB, and writes the write data 'CD' to the address Bn. it can.

そして、メモリコントローラ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 memory controller 12 is instructed to read the write data 'XCZD' that has been requested to be written to the memory area RB, the memory controller 12 uses the offset value given by the processor 11 at that time as the memory area RA. Address Am and memory area RB address Bn. Then, the memory controller 12 reads the read data “XAZB” from the address Am in the memory area RA and reads the read data “CD” from the address Bn in the memory area RB. Then, the memory controller 12 extracts the odd-numbered read data “XZ” from the read data “XAZB”, and the read data “XZ” is arranged in the odd-numbered order and the read data “CD” is arranged in the even-numbered order. Transfer “XCZD” to the processor 11.

これにより、プロセッサ11からのデータの書き込み要求に対して、重複するデータがSIMDの一部に含まれている場合においても、読み出しデータと書き込みデータとの比較を行うことなく、メモリ13に書き込まれるのを禁止することが可能となるとともに、プロセッサ11からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、メモリコントローラ12にかかる負荷の増大を抑制しつつ、プロセッサ11にて処理されるデータが格納されるメモリ13の容量を削減することが可能となる。   As a result, in response to a data write request from the processor 11, even when duplicate data is included in part of the SIMD, the read data is written to the memory 13 without being compared with the write data. Can be prohibited, and the data designated by the data read request from the processor 11 can be read, and the processor 11 is processed while suppressing an increase in the load on the memory controller 12. It is possible to reduce the capacity of the memory 13 in which data to be stored is stored.

(第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 processor 11 is connected to the memory 13 via the memory controller 22. Here, the memory controller 22 may write data to the memory 13 based on a write request from the processor 11, read data from the memory 13 based on a read request from the processor 11, and transfer the data to the processor 11. it can. Then, in response to a data write request from the processor 11, the memory controller 22 prevents the redundant data designated in advance from being written into the memory 13 even when the position of the overlapping data in the SIMD changes. As a result, the capacity of the memory 13 can be reduced.

具体的には、メモリコントローラ22には、一致要素設定部26、書き込み不実行部27および一致パターン指定部28が設けられている。そして、一致要素設定部26は、メモリ領域RAから読み出すようにプロセッサ11から読み出し要求される読み出しデータと、メモリ領域RBに書き込むようにプロセッサ11から書き込み要求される書き込みデータとが一致する部分を示す複数の一致パターンS1、S2を予め設定することができる。例えば、一致パターンS1は、SIMDのうち奇数番目のデータが一致し、偶数番目のデータが一致しないということを示すことができる。また、一致パターンS2は、SIMDのうち偶数番目のデータが一致し、奇数番目のデータが一致しないということを示すことができる。   Specifically, the memory controller 22 is provided with a matching element setting unit 26, a writing non-execution unit 27, and a matching pattern designation unit 28. The matching element setting unit 26 indicates a portion where the read data requested to be read from the processor 11 so as to read from the memory area RA and the write data requested to be written from the processor 11 so as to be written to the memory area RB. A plurality of matching patterns S1, S2 can be set in advance. For example, the matching pattern S1 can indicate that odd-numbered data in SIMD matches and even-numbered data does not match. Further, the matching pattern S2 can indicate that even-numbered data in SIMD matches and odd-numbered data does not match.

一致パターン指定部28は、一致要素設定部26に設定された一致パターンS1、S2を指定することができる。例えば、一致パターン指定部28は、プロセッサ11から与えられたオフセット値が奇数の場合、一致パターンS1を指定し、プロセッサ11から与えられたオフセット値が偶数の場合、一致パターンS2を指定することができる。書き込み不実行部27は、プロセッサ11から書き込み要求された書き込みデータのうち、一致パターン指定部28で指定された一致パターンS1、S2にて設定された部分をメモリ領域RBに書き込まないようにすることができる。   The matching pattern designating unit 28 can designate the matching patterns S1 and S2 set in the matching element setting unit 26. For example, the matching pattern designating unit 28 designates the matching pattern S1 when the offset value given from the processor 11 is an odd number, and designates the matching pattern S2 when the offset value given from the processor 11 is an even number. it can. The write non-execution unit 27 does not write the portion set in the match patterns S1 and S2 specified by the match pattern specification unit 28 in the write data requested to be written from the processor 11 to the memory area RB. Can do.

そして、メモリコントローラ22は、メモリ領域RAから読み出しデータ‘XAZB’を読み出すようにプロセッサ11からの読み出し要求を受け取ると、メモリ領域RAから読み出しデータ‘XAZB’を読み出す(K31)。ここで、メモリコントローラ22は、メモリ領域RAからの読み出し位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RAのアドレスAmに変換し、そのアドレスAmから読み出しデータ‘XAZB’を読み出すことができる。そして、メモリコントローラ22は、メモリ領域RAのアドレスAmから読み出した読み出しデータ‘XAZB’をプロセッサ11に転送する(K32)。   When the memory controller 22 receives a read request from the processor 11 so as to read the read data “XAZB” from the memory area RA, the memory controller 22 reads the read data “XAZB” from the memory area RA (K31). Here, when the read position from the memory area RA is given as an offset value, the memory controller 22 converts the offset value into the address Am of the memory area RA, and reads the read data “XAZB” from the address Am. Can do. Then, the memory controller 22 transfers the read data “XAZB” read from the address Am in the memory area RA to the processor 11 (K32).

そして、プロセッサ11は、読み出しデータ‘XAZB’をメモリコントローラ22から受け取ると、読み出しデータ‘XAZB’の処理を行うことで、書き込みデータ‘XCZD’を生成し、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにメモリコントローラ22に書き込み要求を行う(K33)。ここで、読み出しデータ‘XAZB’の読み出し要求時にプロセッサ11から与えられたオフセット値が奇数の場合、一致パターン指定部28は一致パターンS1を指定することができる。   When the processor 11 receives the read data “XAZB” from the memory controller 22, the processor 11 processes the read data “XAZB” to generate write data “XCZD”, and writes the write data “XCZD” to the memory area RB. A write request is made to the memory controller 22 so as to write (K33). Here, when the offset value given from the processor 11 at the time of the read request for the read data 'XAZB' is an odd number, the match pattern designating unit 28 can designate the match pattern S1.

そして、メモリコントローラ22は、メモリ領域RBに書き込みデータ‘XCZD’を書き込むようにプロセッサ11からの書き込み要求を受け取ると、書き込み不実行部27は、一致パターンS1にて示された奇数番目の書き込みデータ‘XZ’をメモリ領域RBに書き込まないようにするとともに、偶数番目の書き込みデータ‘CD’をメモリ領域RBに書き込むようにする(K34)。ここで、プロセッサ11は、メモリ領域RAからの読み出し位置を指定するオフセット値と同一のオフセット値を用いることで、メモリ領域RBへの書き込み位置を指定することができる。そして、メモリコントローラ22は、メモリ領域RBへの書き込み位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RBのアドレスBnに変換し、そのアドレスBnに書き込みデータ‘CD’を書き込むことができる。   When the memory controller 22 receives a write request from the processor 11 to write the write data “XCZD” in the memory area RB, the write non-execution unit 27 reads the odd-numbered write data indicated by the matching pattern S1. “XZ” is not written to the memory area RB, and even-numbered write data “CD” is written to the memory area RB (K34). Here, the processor 11 can designate the write position in the memory area RB by using the same offset value as the offset value that designates the read position from the memory area RA. Then, when the write position to the memory area RB is given as an offset value, the memory controller 22 converts the offset value into the address Bn of the memory area RB, and writes the write data “CD” to the address Bn. it can.

次に、メモリコントローラ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 memory controller 22 receives a read request from the processor 11 to read the read data “YEWF” from the memory area RA, the memory controller 22 reads the read data “YEWF” from the memory area RA (K35). Here, when the read position from the memory area RA is given as an offset value, the memory controller 22 converts the offset value into the address Am + 1 of the memory area RA, and reads the read data 'YEWF' from the address Am + 1. Can do. Then, the memory controller 22 transfers the read data “YEWF” read from the address Am + 1 in the memory area RA to the processor 11 (K36).

そして、プロセッサ11は、読み出しデータ‘YEWF’をメモリコントローラ22から受け取ると、読み出しデータ‘YEWF’の処理を行うことで、書き込みデータ‘UEVF’を生成し、メモリ領域RBに書き込みデータ‘UEVF’を書き込むようにメモリコントローラ22に書き込み要求を行う(K37)。ここで、読み出しデータ‘YEWFF’の読み出し要求時にプロセッサ11から与えられたオフセット値が偶数の場合、一致パターン指定部28は一致パターンS2を指定することができる。   When the processor 11 receives the read data “YEWF” from the memory controller 22, the processor 11 generates the write data “UEVF” by processing the read data “YEWF”, and writes the write data “UEVF” to the memory area RB. A write request is made to the memory controller 22 so as to write (K37). Here, if the offset value given from the processor 11 at the time of a read request for the read data 'YEWFF' is an even number, the match pattern specifying unit 28 can specify the match pattern S2.

そして、メモリコントローラ22は、メモリ領域RBに書き込みデータ‘UEVF’を書き込むようにプロセッサ11からの書き込み要求を受け取ると、書き込み不実行部27は、一致パターンS2にて示された偶数番目の書き込みデータ‘EF’をメモリ領域RBに書き込まないようにするとともに、奇数番目の書き込みデータ‘UV’をメモリ領域RBに書き込むようにする(K38)。ここで、プロセッサ11は、メモリ領域RAからの読み出し位置を指定するオフセット値と同一のオフセット値を用いることで、メモリ領域RBへの書き込み位置を指定することができる。そして、メモリコントローラ22は、メモリ領域RBへの書き込み位置がオフセット値で与えられた場合、そのオフセット値をメモリ領域RBのアドレスBn+1に変換し、そのアドレスBn+1に書き込みデータ‘UV’を書き込むことができる。   When the memory controller 22 receives the write request from the processor 11 so as to write the write data “UEVF” in the memory area RB, the write non-execution unit 27 reads the even-numbered write data indicated by the matching pattern S2. “EF” is not written to the memory area RB, and odd-numbered write data “UV” is written to the memory area RB (K38). Here, the processor 11 can designate the write position in the memory area RB by using the same offset value as the offset value that designates the read position from the memory area RA. Then, when the write position to the memory area RB is given as an offset value, the memory controller 22 converts the offset value to the address Bn + 1 of the memory area RB, and writes the write data “UV” to the address Bn + 1. it can.

これにより、プロセッサ11からのデータの書き込み要求に対して、重複するデータがSIMD内で変化する場合においても、読み出しデータと書き込みデータとの比較を行うことなく、メモリ13に書き込まれるのを禁止することが可能となるとともに、プロセッサ11からのデータの読み出し要求で指定されたデータを読み出すことが可能となり、メモリコントローラ22にかかる負荷の増大を抑制しつつ、プロセッサ11にて処理されるデータが格納されるメモリ13の容量を削減することが可能となる。   As a result, in response to a data write request from the processor 11, even when overlapping data changes in the SIMD, it is prohibited to write to the memory 13 without comparing the read data and the write data. In addition, the data designated by the data read request from the processor 11 can be read, and the data processed by the processor 11 can be stored while suppressing an increase in the load on the memory controller 22. The capacity of the memory 13 to be used can be reduced.

図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 processor 11 in FIG. It is assumed that data is written in the memory area RB.

ここで、奇数行目では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 pattern designating unit 28 in FIG. 4 designates the matching pattern S2, and the odd-numbered data 'G'G'G among the write data' G'GG'GG'G '. 'Is written into the memory area RB. When reading data from the even-numbered rows, the matching pattern designating unit 28 in FIG. 4 designates the matching pattern S1, and even-numbered data 'G'G'G' among the write data 'GG'GG'GG'. 'Is written to the memory area RB.

これにより、偶数行目と奇数行目とで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 processor 11. Writing can be prevented, and the capacity of the memory 13 can be reduced.

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)

第1のメモリ領域から読み出すようにプロセッサから読み出し要求される読み出しデータと、第2のメモリ領域に書き込むように前記プロセッサから書き込み要求される書き込みデータとが一致する部分を予め設定する一致要素設定部と、
前記プロセッサから書き込み要求された書き込みデータのうち、前記一致要素設定部にて設定された部分を前記第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.
前記一致パターン指定部は、前記第1のメモリ領域から読み出される読み出しデータの位置を示すオフセット値が、奇数または偶数で、前記第1または第2のパターンを指定することを特徴とする請求項1または2に記載のメモリコントローラ。 The matching pattern specifying unit, an offset value indicating the position of the read data read from the first memory region, claim an odd or even number, and wherein the designating the first or second pattern 1 Or the memory controller according to 2 ; 前記第2のメモリ領域に書き込まれなかった書き込みデータの第2のメモリ領域のアドレスを、前記書き込みデータに一致する読み出しデータが格納されている前記第1のメモリ領域のアドレスに変換する変換テーブルをさらに備えることを特徴とする請求項1からのいずれか1項に記載のメモリコントローラ。 A conversion table for converting the address of the second memory area of the write data not written in the second memory area into the address of the first memory area in which the read data matching the write data is stored the memory controller according to any one of claims 1 to 3, further comprising.
JP2012248627A 2012-11-12 2012-11-12 Memory controller Expired - Fee Related JP5468668B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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