JP2005135163A - Device and method for signal processing - Google Patents

Device and method for signal processing Download PDF

Info

Publication number
JP2005135163A
JP2005135163A JP2003370716A JP2003370716A JP2005135163A JP 2005135163 A JP2005135163 A JP 2005135163A JP 2003370716 A JP2003370716 A JP 2003370716A JP 2003370716 A JP2003370716 A JP 2003370716A JP 2005135163 A JP2005135163 A JP 2005135163A
Authority
JP
Japan
Prior art keywords
register
data
processor element
reference pixel
processor
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.)
Withdrawn
Application number
JP2003370716A
Other languages
Japanese (ja)
Inventor
Kazuhiko Iwanaga
和彦 岩永
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003370716A priority Critical patent/JP2005135163A/en
Publication of JP2005135163A publication Critical patent/JP2005135163A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a device and a method for signal processing that can perform image processing even when an overlap quantity is small while maintaining arithmetic precision in arithmetic operation such as filter processing by the image processing device. <P>SOLUTION: An SIMD type microprocessor is provided with registers L1 to L3 which are arranged in the order of processor element numbers in a principal processing direction of the image processing and that head processor elements of a plurality of processor elements for processing a plurality of data can access and a memory 14 for reference pixel for quoting data to the registers L1 to L3, the memory 14 for preference pixel being stored with values of registers that processor elements at tail ends have. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、一つの演算命令により複数の画像データ等を並列処理するSIMD(Single Instruction Stream Multiple Data Stream)型マイクロプロセッサを用いた信号処理装置及び信号処理方法に関し、特に、デジタルコピーなどの画像処理に用いて好適な信号処理装置及び信号処理方法に関する。   The present invention relates to a signal processing apparatus and a signal processing method using a single instruction stream multiple data stream (SIMD) type microprocessor that processes a plurality of image data and the like in parallel with one arithmetic instruction, and more particularly to image processing such as digital copying. The present invention relates to a signal processing apparatus and a signal processing method suitable for use in the above.

近年、デジタル複写機やファクシミリ装置等において、画素数を増加させたり、あるいは、カラー対応にするなど画像の向上が図られている。そして、この画像の向上に伴い、処理すべきデータ数が増加している。ところで、例えば、デジタルコピアなどにおける画像処理は、データ量が非常に多い処理であり、全ての画素に対して同じ演算処理を施すことが多い。そこで、一つの命令で複数のデータに対して同時に同じ演算処理を行うSIMD型のマイクロプロセッサが頻用される。   In recent years, in digital copying machines, facsimile machines, and the like, improvement of images has been attempted by increasing the number of pixels or by supporting color. As the image is improved, the number of data to be processed has increased. By the way, for example, image processing in a digital copier or the like is processing with a very large amount of data, and the same arithmetic processing is often performed on all pixels. Therefore, a SIMD type microprocessor that frequently performs the same arithmetic processing on a plurality of data with one instruction is frequently used.

SIMD型マイクロプロセッサにおける通常の画像処理では、複数の演算ユニット(Processor Element:プロセッサエレメント)を主査方向に並べ、同一の演算を同時に複数のデータに対して実行することによって高速な演算処理が可能となっている。   In normal image processing in a SIMD type microprocessor, a plurality of operation units (Processor Elements: processor elements) are arranged in the main direction, and the same operation is simultaneously performed on a plurality of data, thereby enabling high-speed operation processing. It has become.

従来のSIMD型マイクロプロセッサは、ほとんどが主査方向の画素数以上のプロセッサエレメントを持っているため、画像処理においては外部RAMに格納されている画像処理前のデータをプロセッサエレメント内の汎用レジスタに並べた後、プロセッサエレメントにおいて画像処理を行った後に処理後のデータを出力するだけでよかった。   Since most conventional SIMD type microprocessors have processor elements larger than the number of pixels in the main scanning direction, the data before image processing stored in the external RAM is arranged in a general-purpose register in the processor element in image processing. Then, after the image processing is performed in the processor element, it is only necessary to output the processed data.

しかし、画像処理の精度は近年ますます向上しており、主査方向の画素数は増大する一方である。特にデジタルコピアなどでは、現在の普通の精度である600DPI(Dot.Per.Inch)であっても、A4のサイズの画像を扱う場合には7000画素以上のプロセッサエレメント数が必要となる。このため、SIMD型マイクロプロセッサに装備しているプロセッサエレメント数よりも主査方向の画素数の方が多くなる。この場合には、主査方向の画素をプロセッサエレメント数単位で分割し、画像処理を複数回反復して実施することで全画素の画像処理を行う。   However, the accuracy of image processing has been improved in recent years, and the number of pixels in the main examination direction is increasing. In particular, in digital copiers and the like, even if the current normal accuracy is 600 DPI (Dot.Per.Inch), the number of processor elements of 7000 pixels or more is required to handle an A4 size image. For this reason, the number of pixels in the main scanning direction is larger than the number of processor elements provided in the SIMD type microprocessor. In this case, the pixels in the main examination direction are divided in units of the number of processor elements, and image processing is repeated for a plurality of times to perform image processing for all the pixels.

特許文献1では、SIMD型マイクロプロセッサに装備しているプロセッサエレメント数よりも主査方向の画素数が多い場合に、メインのレジスタと連結させたテンポラリレジスタを設け、所定個数のデータを、これらのレジスタ間で巡回的に転送(シフト)する技術が開示されている。   In Patent Document 1, when the number of pixels in the main scanning direction is larger than the number of processor elements provided in the SIMD type microprocessor, a temporary register connected to the main register is provided, and a predetermined number of data is stored in these registers. A technique of cyclically transferring (shifting) between them is disclosed.

特許文献2、3では、SIMD型マイクロプロセッサに装備しているプロセッサエレメント数よりも主査方向の画素数が多い場合に、画素分割してデータ転送を行うことが出来るデータ転送装置について開示されている。   Patent Documents 2 and 3 disclose a data transfer apparatus that can perform data transfer by dividing a pixel when the number of pixels in the main scanning direction is larger than the number of processor elements provided in the SIMD type microprocessor. .

ところで、フィルター処理などのような画像処理を行う場合に、隣接するプロセッサエレメントの画素データを参照する必要があるため、画素の繋ぎ目において縦すじが入るなどの不具合を生じないように画素データをオーバラップさせて転送する必要がある。   By the way, when performing image processing such as filter processing, it is necessary to refer to the pixel data of adjacent processor elements, so that the pixel data is prevented from causing problems such as vertical stripes at pixel joints. It is necessary to transfer with overlapping.

このオーバラップによってSIMD型マイクロプロセッサのスループットが低下することは自明であるが、近年の画像処理装置における精度の上昇に伴い、フィルター処理などで参照画素データの範囲はますます広がる傾向にあり、必要なオーバラップ量は増加する一方である。   Although it is obvious that the throughput of SIMD microprocessors decreases due to this overlap, the range of reference pixel data tends to expand more and more with filter processing, etc. as the accuracy of image processing devices in recent years has increased. The amount of overlap is increasing.

そのため、特許文献4、5などでは、フィルター処理において画像端部の無効画素データがフィルター処理結果に悪影響を与えないように、画像端部を中心に画素データを折り返した擬似画素を拡張するのを容易にしたSIMD型マイクロプロセッサにつき開示がある。   For this reason, in Patent Documents 4 and 5 and the like, in order to prevent the invalid pixel data at the edge of the image from adversely affecting the filter processing result in the filter processing, the pseudo pixel obtained by folding the pixel data around the edge of the image is expanded. There is a disclosure of an SIMD microprocessor that has been facilitated.

また、特許文献6では、SIMD型マイクロプロセッサに装備しているプロセッサエレメント数よりも主査方向の画素数が多い場合に、同一構成のSIMD型マイクロプロセッサを増設してデータを処理する構成とすることにより、複数のSIMD型プロセッサに画素の切れ目の部分をオーバラップさせて供給することで画像処理を正しく行うことが出来る技術が開示されている。
特開2000−20705号公報 特開2001−134538号公報 特許第2862387号公報 特開2001−344099号公報 特開平8−180177号公報 特開平10−326258号公報
Further, in Patent Document 6, when the number of pixels in the supervisory direction is larger than the number of processor elements provided in the SIMD type microprocessor, the same configuration SIMD type microprocessor is added to process data. Thus, a technique is disclosed in which image processing can be performed correctly by supplying a plurality of SIMD processors with overlapping pixel breaks.
JP 2000-20705 A JP 2001-134538 A Japanese Patent No. 2862387 JP 2001-344099 A JP-A-8-180177 JP-A-10-326258

特許文献4、5などでは、フィルター処理において画像端部の無効画素データがフィルター処理結果に悪影響を与えないように、画像端部を中心に画素データを折り返した擬似画素を拡張するのを容易にしたSIMD型マイクロプロセッサにつき開示がある。しかし、これによってSIMD型マイクロプロセッサのスループットの低下は防止できるが、演算の精度の上で若干の誤差が出てしまうという問題がある。   In Patent Documents 4 and 5 and the like, it is easy to expand a pseudo pixel obtained by folding pixel data around an image end so that invalid pixel data at the end of the image does not adversely affect the filter processing result in the filter processing. There is a disclosure of the SIMD type microprocessor. However, this can prevent a decrease in throughput of the SIMD type microprocessor, but there is a problem that a slight error occurs in terms of calculation accuracy.

従って、本発明は上記のような問題点に鑑み、フィルター処理などの演算において演算精度を保ちながら、オーバラップ量が少なくても画像処理を行うことが可能な画像処理装置における信号処理装置及び信号処理方法を提供することを目的としている。   Therefore, in view of the above-described problems, the present invention provides a signal processing device and a signal in an image processing device capable of performing image processing even with a small overlap amount while maintaining calculation accuracy in calculations such as filter processing. It aims to provide a processing method.

請求項1に記載の発明は、画像処理における主査方向に展開され、前記主査方向にプロセッサエレメント番号順に並べられた、複数のデータを処理するための複数のプロセッサエレメントの先頭のプロセッサエレメントがアクセス可能な第1のレジスタと、前記第1のレジスタに、データを引用するための参照画素用メモリとを具備し、前記参照画素用メモリに、後端のプロセッサエレメントの有する第2のレジスタの値を格納するように構成されているSIMD型マイクロプロセッサを具備する信号処理装置としたことを特徴とする。   According to the first aspect of the present invention, the first processor element of a plurality of processor elements for processing a plurality of data, which is expanded in the main examination direction in the image processing and arranged in the main examination direction in the order of the processor element number, is accessible. A first pixel register and a reference pixel memory for quoting data in the first register, and the second pixel value of the rear end processor element is stored in the reference pixel memory. The signal processing apparatus includes a SIMD type microprocessor configured to store.

請求項2記載の発明は、前記SIMD型マイクロプロセッサが自己の有する複数のプロセッサエレメントを用いて画素データの演算処理を実施するに際し、各プロセッサエレメントに、自己のプロセッサエレメント番号より若い番号のプロセッサエレメントの有するレジスタを参照させる命令を発行している場合に、先頭のプロセッサエレメントに、前記第1のレジスタの有する値を参照させ、前記第2のレジスタからリードされたデータを前記参照画素用メモリに格納し、前記参照命令の発行後には、前記第2のレジスタからリードされ、前記参照命令発行前に前記参照画素用メモリに格納されたデータを、前記第1のレジスタに格納するSIMD型マイクロプロセッサを具備する請求項1記載の信号処理装置としたことを特徴とする。   According to a second aspect of the present invention, when the SIMD type microprocessor performs a pixel data calculation process using a plurality of processor elements of the SIMD type microprocessor, each processor element is assigned a processor element having a number lower than its own processor element number. Is issued, the first processor element is referred to the value of the first register, and the data read from the second register is stored in the reference pixel memory. A SIMD type microprocessor that stores the data read from the second register after the reference instruction is issued and stored in the reference pixel memory before the reference instruction is issued in the first register The signal processing apparatus according to claim 1, comprising:

請求項3記載の発明は、前記プロセッサエレメント番号を指定する第3のレジスタを具備し、前記第3のレジスタによって、前記参照画素用メモリに格納するデータとして、どのプロセッサエレメント番号のプロセッサエレメントが有するレジスタのデータを格納するかを選択するように構成されるSIMD型マイクロプロセッサを具備する請求項1又は2に記載の信号処理装置としたことを特徴とする。   The invention according to claim 3 includes a third register for designating the processor element number, and the processor element of which processor element number has as data to be stored in the reference pixel memory by the third register. 3. The signal processing apparatus according to claim 1, further comprising a SIMD type microprocessor configured to select whether to store register data.

請求項4記載の発明は、前記参照画素用メモリはデータを格納するためのデータRAMであるSIMD型マイクロプロセッサを具備する請求項1又は2に記載の信号処理装置としたことを特徴とする。   According to a fourth aspect of the present invention, the signal processing device according to the first or second aspect is characterized in that the reference pixel memory includes a SIMD type microprocessor which is a data RAM for storing data.

請求項5記載の発明は、前記参照画素用メモリの容量と同容量のデータが、該メモリに格納されると、それ以上データの格納を継続しないように制御するSIMD型マイクロプロセッサを具備する請求項1又は2に記載の信号処理装置としたことを特徴とする。   According to a fifth aspect of the present invention, there is provided a SIMD type microprocessor which controls so that when data having the same capacity as the reference pixel memory is stored in the memory, the data storage is not continued any further. The signal processing device according to item 1 or 2 is provided.

請求項6記載の発明は、一回の命令で、複数のデータに対して、それぞれ同一の演算処理をするSIMD型マイクロプロセッサが、前記SIMD型マイクロプロセッサの有する、画像処理の主査方向に番号順に並べられた複数のプロセッサエレメントのうちの先頭のプロセッサエレメントがアクセス可能な第1のレジスタにデータを引用するための参照画素用メモリに、後端のプロセッサエレメントの有する第2のレジスタの値を格納するように制御する工程を具備する信号処理方法としたことを特徴とする。   According to a sixth aspect of the present invention, SIMD microprocessors that perform the same arithmetic processing on a plurality of data with a single instruction, in numerical order in the direction of examination of image processing possessed by the SIMD microprocessor. The value of the second register of the rearmost processor element is stored in the reference pixel memory for quoting data to the first register accessible by the first processor element among the plurality of arranged processor elements The signal processing method includes the step of controlling to do so.

請求項7記載の発明は、前記SIMD型マイクロプロセッサが、プロセッサエレメントの番号の若いほうのプロセッサエレメントの有するレジスタを参照する命令を発行している場合に、先頭のプロセッサエレメントは、前記第1のレジスタの有する値を参照するように制御する工程と、前記SIMD型マイクロプロセッサが、前記第2のレジスタからリードされたデータを前記参照画素用メモリに格納するよう制御する工程と、前記SIMD型マイクロプロセッサが、前記参照命令の発行後に、前記参照画素用メモリに前記参照命令発行前に格納された、前記第2のレジスタからリードされたデータを、前記第1のレジスタに格納するよう制御する工程とを具備する請求項6記載の信号処理方法としたことを特徴とする。   According to a seventh aspect of the present invention, when the SIMD type microprocessor issues an instruction that refers to a register of a processor element having a smaller processor element number, the first processor element is the first processor element Controlling to reference a value of a register, controlling the SIMD microprocessor to store data read from the second register in the reference pixel memory, and the SIMD microprocessor A step of controlling the processor to store, in the first register, data read from the second register, which is stored in the reference pixel memory before the reference command is issued after the reference command is issued; And a signal processing method according to claim 6.

請求項8記載の発明は、前記SIMD型マイクロプロセッサに備えられた、プロセッサエレメント番号を指定する第3のレジスタが、前記参照画素用メモリに格納するデータとして、どのプロセッサエレメント番号のプロセッサエレメントが有するレジスタのデータを格納するかを選択する工程を具備する請求項6又は7に記載の信号処理方法としたことを特徴とする。   According to an eighth aspect of the present invention, the processor element of which processor element number the third register for designating the processor element number provided in the SIMD type microprocessor has as the data to be stored in the reference pixel memory. 8. The signal processing method according to claim 6, further comprising a step of selecting whether to store register data.

請求項9記載の発明は、前記参照画素用メモリは前記SIMD型マイクロプロセッサに備えられたデータを格納するデータRAMである請求項6又は7に記載の信号処理方法としたことを特徴とする。   A ninth aspect of the present invention is the signal processing method according to the sixth or seventh aspect, wherein the reference pixel memory is a data RAM for storing data provided in the SIMD type microprocessor.

請求項10記載の発明は、前記SIMD型マイクロプロセッサが、前記参照画素用メモリに、該メモリ容量と同容量のデータが格納された場合に、それ以上データの格納を継続しないように制御する工程を具備する請求項6又は7に記載の信号処理方法としたことを特徴とする。   The invention according to claim 10 is a step in which the SIMD type microprocessor performs control so as not to continue storing data when the reference pixel memory stores data having the same capacity as the memory capacity. A signal processing method according to claim 6 or 7, comprising:

本発明によれば、画像処理において、主査方向の画素を分割して処理する場合に、分割された画素ブロックを処理している時の右端の参照画素データを参照画素用メモリに転送しておき、分割された次の画素ブロックを処理する時の左端の参照画素データとして使用することが可能であるため、画素の左側のオーバラップが不要になり、プロセッサとしてのスループット向上につながる。   According to the present invention, when image processing is performed by dividing pixels in the principal direction, the reference pixel data at the right end when the divided pixel block is processed is transferred to the reference pixel memory. Since the pixel block can be used as reference pixel data at the left end when the next divided pixel block is processed, overlap on the left side of the pixel becomes unnecessary, leading to an improvement in throughput as a processor.

また、参照画素メモリに転送するプロセッサエレメント番号を指定できる構成とすることにより、アプリケーションに応じてオーバラップ量を可変に出来る。   Further, by adopting a configuration in which the processor element number to be transferred to the reference pixel memory can be designated, the overlap amount can be made variable according to the application.

また、オーバラップ量の必要数に応じて、データRAMの一部を参照画素メモリに割り当てることによって、参照画素メモリの容量が可変になるため、メモリの有効活用が出来る。   Also, by assigning a part of the data RAM to the reference pixel memory according to the required number of overlap amounts, the capacity of the reference pixel memory becomes variable, so that the memory can be effectively used.

また、参照画素データを必要とする命令が多く、参照画素用メモリの容量よりも格納すべきデータが多い場合においても処理を正しく行うことが出来る。   Further, even when there are many instructions that require reference pixel data and there is more data to be stored than the capacity of the reference pixel memory, the processing can be performed correctly.

本発明に係る信号処理装置の一の実施形態は、SIMD型マイクロプロセッサにおいて、画像処理における主査方向に、プロセッサエレメント番号順に並べられた、複数のデータを処理するための複数のプロセッサエレメントの先頭のプロセッサエレメントがアクセス可能な第1のレジスタと、この第1のレジスタにデータを引用するための参照画素用メモリとを設け、前記参照画素用メモリに、後端のプロセッサエレメントの有する第2のレジスタの値を格納するように構成する。その結果、画素の左側のオーバラップが不要になり、プロセッサとしてのスループット向上を実現することができる。   One embodiment of a signal processing device according to the present invention is a SIMD type microprocessor in which the top of a plurality of processor elements for processing a plurality of data arranged in the order of processor element numbers in the main direction in image processing. A first register accessible by the processor element and a reference pixel memory for quoting data in the first register are provided, and the second register of the rear end processor element is provided in the reference pixel memory. Configured to store the value of. As a result, the overlap on the left side of the pixel is not necessary, and an improvement in throughput as a processor can be realized.

本発明に係る本実施例のSIMD型マイクロプロセッサの概略構成及び各ブロックの機能について添付図面に基いて説明する。図1は、本実施例のSIMD型マイクロプロセッサの概略構成ブロック図である。図1に示すように、本実施例のSIMD型マイクロプロセッサは、グローバルプロセッサ1、複数のプロセッサエレメントからなるプロセッサエレメントグループ4、メモリコントローラ6と接続される外部インターフェース5とから構成される。なお、上述のプロセッサエレメントは、図1に示すように、レジスタファイル2及び演算アレイ3から構成される。   A schematic configuration of the SIMD type microprocessor of this embodiment according to the present invention and functions of each block will be described with reference to the accompanying drawings. FIG. 1 is a schematic block diagram of a SIMD type microprocessor according to this embodiment. As shown in FIG. 1, the SIMD type microprocessor of this embodiment includes a global processor 1, a processor element group 4 composed of a plurality of processor elements, and an external interface 5 connected to a memory controller 6. Note that the processor element described above includes a register file 2 and an arithmetic array 3 as shown in FIG.

グローバルプロセッサ1は、いわゆるSISD(Single Instruction Stream Single Data Stream)型のマイクロプロセッサである。このグローバルプロセッサ1は、プログラムRAMとデータRAMを内蔵し、プログラムを解読し、各種制御信号を生成する。   The global processor 1 is a so-called SISD (Single Instruction Stream Single Data Stream) type microprocessor. The global processor 1 includes a program RAM and a data RAM, decodes the program, and generates various control signals.

これらの各種制御信号は、内蔵する各種ブロックの制御以外にも、レジスタファイル2、演算アレイ3、及びメモリコントローラ6に供給される。また、このグローバルプロセッサ1は、GP(グローバルプロセッサ)命令実行時には、内蔵する汎用レジスタ、ALU(算術論理演算器)等を使用して各種演算処理、プログラム制御処理を行なう。   These various control signals are supplied to the register file 2, the arithmetic array 3, and the memory controller 6 in addition to the control of various built-in blocks. The global processor 1 performs various arithmetic processing and program control processing using a built-in general-purpose register, ALU (arithmetic logic unit), and the like when a GP (global processor) instruction is executed.

レジスタファイル2は、プロセッサエレメント命令で処理されるデータを保持している。プロセッサエレメント命令は、SIMD(Single Instruction Stream Multiple Data Stream)型の命令であり、レジスタファイル2に保持されている複数のデータに対して、同時に同じ処理を行なう。   The register file 2 holds data processed by the processor element instruction. The processor element instruction is a single instruction stream multiple data stream (SIMD) instruction, and simultaneously performs the same processing on a plurality of data held in the register file 2.

このレジスタファイル2からのデータの読み出し/書き込みの制御は、グローバルプロセッサ1からの制御によって行なわれる。読み出されたデータは、演算アレイ3に送られ、演算アレイ3において演算処理され、その演算結果は、レジスタファイル2に書き込まれる。   Control of reading / writing of data from the register file 2 is performed by control from the global processor 1. The read data is sent to the operation array 3 and processed in the operation array 3, and the operation result is written in the register file 2.

また、レジスタファイル2は、外部インターフェース5を介して、このSIMD型マイクロプロセッサ外部のメモリコントローラ6からのアクセスが可能であり、グローバルプロセッサ1の制御とは別に、外部から特定のレジスタを読み出し/書き込みが行われる。   Further, the register file 2 can be accessed from the memory controller 6 outside the SIMD type microprocessor via the external interface 5, and a specific register is read / written from the outside separately from the control of the global processor 1. Is done.

演算アレイ3は、プロセッサエレメント命令の演算処理を行なう。この演算処理の制御は、全てグローバルプロセッサ1から行われる。また、メモリコントローラ6は、外部ポートにクロックとアドレス、リード/ライト制御を出力し、シングルポートメモリにクロックとアドレス、リード/ライト制御を出力する。これにより、任意のプロセッサエレメントのレジスタとシングルポートメモリ間で、データ転送が行われる。この処理の制御はすべてグローバルプロセッサ1から行われる。   The arithmetic array 3 performs arithmetic processing of processor element instructions. Control of this arithmetic processing is all performed from the global processor 1. The memory controller 6 outputs a clock, address, and read / write control to the external port, and outputs a clock, address, and read / write control to the single port memory. Thereby, data transfer is performed between a register of an arbitrary processor element and the single port memory. All control of this processing is performed from the global processor 1.

次に、図2を用いて、本実施例のSIMD型マイクロプロセッサの構成について、より詳細に説明する。図2は、本実施例のSIMD型マイクロプロセッサの構成ブロック図である。図2に示すように、グローバルプロセッサ1には、本実施例のSIMD型マイクロプロセッサのプログラム格納用のプログラムRAM8と、演算データ格納用のデータRAM9が内蔵されている。   Next, the configuration of the SIMD type microprocessor according to the present embodiment will be described in more detail with reference to FIG. FIG. 2 is a block diagram showing the configuration of the SIMD type microprocessor according to this embodiment. As shown in FIG. 2, the global processor 1 includes a program RAM 8 for storing a program and a data RAM 9 for storing operation data of the SIMD type microprocessor of this embodiment.

更に、グローバルプロセッサ1には、プログラムのアドレスを保持するプログラムカウンタPC、演算処理のデータ格納のための汎用レジスタであるレジスタG0、レジスタG1、レジスタG2、及び、レジスタG3、レジスタ退避、復帰時に退避先データRAMのアドレスを保持しているスタックポインタSP、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタLS、同じくIRQ時とNMI時の分岐元アドレスを保持するレジスタLI、レジスタLN、プロセッサの状態を保持しているプロセッサステータスレジスタPとが内蔵されている。   Furthermore, the global processor 1 includes a program counter PC that holds a program address, a register G0, a register G1, a register G2, and a register G3 that are general-purpose registers for storing data for arithmetic processing. Stack pointer SP that holds the address of the destination data RAM, link register LS that holds the address of the caller when the subroutine is called, register LI that holds the branch source address at the time of IRQ and NMI, register LN, and processor status And a processor status register P that holds

上述したこれらのレジスタと図示していない命令デコーダ、ALU、メモリ制御回路、割り込み制御回路、外部I/O制御回路、グローバルプロセッサ演算制御回路を使用して、グローバルプロセッサ命令の実行が行われる。   The global processor instruction is executed using the above-described registers and an instruction decoder (not shown), ALU, memory control circuit, interrupt control circuit, external I / O control circuit, and global processor operation control circuit.

また、グローバルプロセッサ1は、プロセッサエレメント命令実行時には、図示していない命令デコーダ、レジスタファイル制御回路、プロセッサエレメント演算制御回路を使用して、レジスタファイル2の制御と演算アレイ3の制御を行なう。   The global processor 1 controls the register file 2 and the arithmetic array 3 using an instruction decoder, a register file control circuit, and a processor element arithmetic control circuit (not shown) when executing the processor element instruction.

図2に示すように、レジスタファイル2には、1個のプロセッサエレメント単位に8ビットのレジスタ10が32個内蔵されている。また、1個のプロセッサエレメント単位の8ビットのレジスタ10の組が、256個分アレイ構成になっている。また、1個のプロセッサエレメントの有する32個のレジスタ10の各レジスタは、レジスタR0〜R31と呼ばれる。   As shown in FIG. 2, the register file 2 contains 32 8-bit registers 10 for each processor element. In addition, 256 sets of 8-bit registers 10 in units of one processor element have an array configuration. In addition, each of the 32 registers 10 included in one processor element is referred to as a register R0 to R31.

また、それぞれのレジスタ10は、演算アレイ3に対して1つの読み出しポートと1つの書き込みポートを備えており、8ビットのリード/ライト兼用のバスで演算アレイ3からアクセスされる。   Each register 10 has one read port and one write port for the arithmetic array 3, and is accessed from the arithmetic array 3 by an 8-bit read / write bus.

また、レジスタ10の32個のレジスタ(レジスタR0〜R31)のうち、レジスタR0〜R23の24個のレジスタ10は、外部インターフェース5を介して、このSIMD型マイクロプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御を入力することで、レジスタR0〜R23の24個のレジスタ10のうちの任意のレジスタを読み書きできる。   Of the 32 registers (registers R0 to R31) of the register 10, 24 registers 10 of the registers R0 to R23 can be accessed from the outside of the SIMD type microprocessor via the external interface 5. By inputting a clock, an address, and read / write control from, it is possible to read / write any of the 24 registers 10 of the registers R0 to R23.

また、レジスタR0〜R23の24個のレジスタ10への外部からのアクセスは、1つの外部ポートで各プロセッサエレメント内の1個のレジスタにアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号(0〜255)を指定する。従って、レジスタアクセスの外部ポートは全部で24組搭載されている。   Further, the external access to the 24 registers 10 of the registers R0 to R23 can access one register in each processor element through one external port, and the processor element can be accessed by an address input from the outside. Specify a number (0-255). Therefore, a total of 24 external ports for register access are installed.

また、外部からのアクセスは、偶数番号のプロセッサエレメントと奇数番号のプロセッサエレメントの1組で16ビットデータとなっており、1回のアクセスで2つのレジスタに同時にアクセスする。   Access from the outside is 16-bit data in one set of even-numbered processor elements and odd-numbered processor elements, and two registers are accessed simultaneously in one access.

また、図2に示すように、演算アレイ3は、16ビットALU13、16ビットのレジスタA及び16ビットのレジスタFを内蔵している。プロセッサエレメント命令による演算は、レジスタファイル2から読み出されたデータ又はグローバルプロセッサ1から与えられたデータを16ビットALU13の片側の入力として、また、16ビットALU13のもう片側の入力として、レジスタAの内容を用いる。そして、16ビットALU13による演算結果は、レジスタAに格納される。従って、演算アレイ3では、レジスタAと、レジスタR0〜R31又はグローバルプロセッサ1から与えられたデータとの演算が行われる。   As shown in FIG. 2, the arithmetic array 3 includes a 16-bit ALU 13, a 16-bit register A, and a 16-bit register F. The operation by the processor element instruction is performed by using the data read from the register file 2 or the data given from the global processor 1 as an input on one side of the 16-bit ALU 13 and an input on the other side of the 16-bit ALU 13 Use content. Then, the calculation result by the 16-bit ALU 13 is stored in the register A. Accordingly, the arithmetic array 3 performs an arithmetic operation on the register A and the data supplied from the registers R0 to R31 or the global processor 1.

なお、レジスタファイル2と演算アレイ3との接続に7to1のマルチプレクサ11が置かれる。このマルチプレクサ11は、プロセッサエレメント方向で前方に1、2、3つ離れたプロセッサエレメントの有するデータと後方に1、2、3つ離れたプロセッサエレメントの有するデータ、中央のプロセッサエレメントの有するデータを演算対象として選択する。   A 7 to 1 multiplexer 11 is placed between the register file 2 and the arithmetic array 3. This multiplexer 11 calculates the data of the processor elements 1, 2, and 3 away from the front in the processor element direction, the data of the processor elements 1, 2, and 3 away from the back, and the data of the central processor element. Select as target.

また、レジスタファイル2の8ビットのデータは、シフト&拡張回路12により任意ビットの左シフトをして16ビットALU13に入力する。更に、図示していない8ビットの条件レジスタTにより、プロセッサエレメント毎に演算実行の無効/有効の制御をしており、特定のプロセッサエレメントだけを演算対象として選択する。   The 8-bit data of the register file 2 is shifted to the left by an arbitrary bit by the shift & extension circuit 12 and input to the 16-bit ALU 13. Further, the execution / invalidation control of the operation is controlled for each processor element by an 8-bit condition register T (not shown), and only a specific processor element is selected as an operation target.

次に、図3を用いて、本実施例のSIMD型マイクロプロセッサの構成及び各ブロックの機能について説明する。図3は、本実施例のSIMD型マイクロプロセッサの構成ブロック図である。   Next, the configuration of the SIMD type microprocessor of this embodiment and the function of each block will be described with reference to FIG. FIG. 3 is a block diagram showing the configuration of the SIMD type microprocessor according to this embodiment.

図3に示す、本実施例のSIMD型マイクロプロセッサは、プロセッサエレメント数を256個有し、画像処理に必要な画素データのオーバラップ量として、画素16個分相当の画素データを用いる場合について説明する。本実施例におけるSIMD型マイクロプロセッサを用いて画像処理を行う場合、主査方向にプロセッサエレメントが展開される。本実施例の説明のため、これらのプロセッサエレメントは、主査方向において、先頭から最後尾まで番号が付与される。本実施例では、プロセッサエレメントの番号が最も少ない3つの(プロセッサエレメントPE0、プロセッサエレメントPE1、プロセッサエレメントPE2)が、前方プロセッサエレメントのレジスタ内のデータを参照する場合において、図3に示すように、データを供給するための3つのレジスタ(レジスタL1〜L3)を有している。   The SIMD type microprocessor of the present embodiment shown in FIG. 3 has 256 processor elements and uses pixel data equivalent to 16 pixels as an overlap amount of pixel data necessary for image processing. To do. When image processing is performed using the SIMD type microprocessor in this embodiment, processor elements are developed in the main examination direction. For the description of the present embodiment, these processor elements are assigned numbers from the head to the tail in the main examination direction. In this embodiment, when three (processor element PE0, processor element PE1, processor element PE2) having the smallest processor element number refer to data in the register of the front processor element, as shown in FIG. It has three registers (registers L1 to L3) for supplying data.

これら3つのレジスタ(レジスタL1〜L3)は、以下に説明するように用いられる。まず、1つ前方のプロセッサエレメントを参照する命令時は、レジスタL1は、プロセッサエレメントPE0が参照する。また、2つ前方のプロセッサエレメントを参照する命令時は、レジスタL1はプロセッサエレメントPE1が参照し、レジスタL2はプロセッサエレメントPE0が参照する。また、3つ前方のプロセッサエレメントを参照する命令時は、レジスタL1は、プロセッサエレメントPE2が参照し、レジスタL2は、プロセッサエレメントPE1が参照し、レジスタL3は、プロセッサエレメントPE0が参照する。   These three registers (registers L1 to L3) are used as described below. First, at the time of an instruction to refer to the immediately preceding processor element, the register L1 is referred to by the processor element PE0. At the time of an instruction that refers to the two preceding processor elements, the register L1 is referenced by the processor element PE1, and the register L2 is referenced by the processor element PE0. At the time of an instruction to refer to the three preceding processor elements, the register L1 is referred to by the processor element PE2, the register L2 is referred to by the processor element PE1, and the register L3 is referred to by the processor element PE0.

また、これら3つのレジスタL1〜L3へは、参照画素用メモリ14のデータが入力されるように構成されており、前方のプロセッサエレメントを参照する命令が発行されるたびに、参照画素用メモリ14の値が命令実行後に格納される。この3つのレジスタL1〜L3は、グローバルプロセッサ1より制御信号が入力されており、0などの固定値に設定することも可能である。   Further, the data of the reference pixel memory 14 is input to the three registers L1 to L3, and each time an instruction for referring to the front processor element is issued, the reference pixel memory 14 Is stored after the instruction is executed. The three registers L1 to L3 are supplied with control signals from the global processor 1 and can be set to fixed values such as zero.

参照画素用メモリ14は、本実施例ではプロセッサエレメントPE237、プロセッサエレメント238、プロセッサエレメント239の3つのプロセッサエレメントのレジスタバスのデータが入力されるように構成されている。そして、前方のプロセッサエレメントを参照する命令が発行されるたびに、これらの3つのプロセッサエレメントのレジスタより読み出されたデータがメモリに格納される。   In this embodiment, the reference pixel memory 14 is configured to receive data of register buses of three processor elements of the processor element PE237, the processor element 238, and the processor element 239. Each time an instruction that refers to the preceding processor element is issued, the data read from the registers of these three processor elements is stored in the memory.

また、参照画素用メモリ14は、FIFOメモリであり、デュアルポートメモリで構成されている。又は、メモリへのライトとリードを時分割するように制御することでシングルポートメモリを用いて構成してもよい。   The reference pixel memory 14 is a FIFO memory, and is configured by a dual port memory. Or you may comprise using a single port memory by controlling so that the write and read to a memory may be time-shared.

なお、本実施例では説明の簡略化のために、オーバラップが必要な画素データの画素数を16個に限定した構成とした。しかし、オーバラップに必要な画素データの画素数に応じて、装置構成を適宜変更することができる。例えば、オーバーラップ量が、8個、16個、24個、32個の4種類の中から設定できるようにすることもできる。オーバラップに必要な画素データの画素数が8個の場合は、プロセッサエレメントPE245、プロセッサエレメントPE246、プロセッサエレメント247の3つのプロセッサエレメントを選択するように図示していないマルチプレクサを設け、参照画素用メモリ14に入力するように構成してもよい。   In the present embodiment, for simplification of description, the number of pixels of pixel data that need to be overlapped is limited to 16. However, the device configuration can be changed as appropriate according to the number of pixels of pixel data necessary for overlap. For example, the overlap amount can be set from four types of 8, 16, 24, and 32. When the number of pixels of the pixel data necessary for overlap is 8, a multiplexer (not shown) is provided so as to select three processor elements: processor element PE245, processor element PE246, and processor element 247, and a reference pixel memory 14 may be configured to be input.

また、オーバラップに必要な画素データの画素数が16個の場合は、プロセッサエレメントPE237、プロセッサエレメントPE238、プロセッサエレメント239の3つのプロセッサエレメントを選択するようにマルチプレクサを設け、参照画素用メモリ14に入力するように構成してもよい。   Further, when the number of pixels of pixel data necessary for overlap is 16, a multiplexer is provided so as to select three processor elements of processor element PE237, processor element PE238, and processor element 239, and the reference pixel memory 14 is provided. You may comprise so that it may input.

また、オーバラップに必要な画素データの画素数が24個の場合は、プロセッサエレメント229、プロセッサエレメント230、プロセッサエレメント231の3つのプロセッサエレメントを選択するようにマルチプレクサを設け、参照画素用メモリ14に入力するように構成してもよい。   In addition, when the number of pixel data necessary for overlap is 24, a multiplexer is provided so as to select three processor elements of the processor element 229, the processor element 230, and the processor element 231, and the reference pixel memory 14 is provided. You may comprise so that it may input.

また、オーバラップに必要な画素データの画素数が32個の場合は、プロセッサエレメント221、プロセッサエレメント222、プロセッサエレメント223の3つのプロセッサエレメントを選択するようにマルチプレクサを設け、参照画素用メモリに入力するように構成してもよい。   When the number of pixels of pixel data required for overlap is 32, a multiplexer is provided to select three processor elements of the processor element 221, the processor element 222, and the processor element 223, and input to the reference pixel memory. You may comprise.

次に、図11を用いて、FIFOメモリのライト・リードポインタの制御方法を説明する。図11は、FIFOメモリのライト・リードポインタの制御方法を説明するための図である。   Next, a method for controlling the write / read pointer of the FIFO memory will be described with reference to FIG. FIG. 11 is a diagram for explaining a control method of the write / read pointer of the FIFO memory.

図11に示すRは、図3に示す参照画素用メモリ14からレジスタL1〜L3へのデータリード、図11に示すLは、図3に示すプロセッサエレメントPE237〜PE239の3つのプロセッサエレメントの有するデータの参照画素用メモリ14へのデータライトを示す。また、図11に示すFは、前方プロセッサエレメントを参照する命令を発行しているサイクルであることを示す。   11 is a data read from the reference pixel memory 14 shown in FIG. 3 to the registers L1 to L3, and L shown in FIG. 11 is data held by the three processor elements PE237 to PE239 shown in FIG. Data write to the reference pixel memory 14 is shown. Further, F shown in FIG. 11 indicates a cycle in which an instruction referring to the front processor element is issued.

図11に示すように、各SIMDの先頭において、両ポインタはリセットされると共に最初のデータが、図3に示すレジスタL1〜L3にリードされる。前方参照命令が発行されるたびに、図3に示す参照画素用メモリ14へのリード・ライトアクセスが行われ、ポインタは1ずつインクリメントされる。ライトポインタは、リードポインタを1クロック遅延させた値となる。   As shown in FIG. 11, both pointers are reset at the head of each SIMD and the first data is read into the registers L1 to L3 shown in FIG. Each time a forward reference command is issued, read / write access to the reference pixel memory 14 shown in FIG. 3 is performed, and the pointer is incremented by one. The write pointer has a value obtained by delaying the read pointer by one clock.

次に、図5に基いて、本実施例の図3に示す参照画素用メモリ14のアドレス生成器について説明する。図5は、本実施例の参照画素用メモリのアドレス生成器の構成ブロック図である。   Next, an address generator of the reference pixel memory 14 shown in FIG. 3 according to this embodiment will be described with reference to FIG. FIG. 5 is a block diagram showing the configuration of the address generator of the reference pixel memory according to this embodiment.

本実施例のアドレス生成器は、図5に示す、12ビットのカウンタ17のみから構成される。カウンタ17は、カウンタ値をリードポインタとしてのアドレスとして出力し、カウンタ値を1クロック遅延させた値をライトポインタとしてのアドレスとして図3に示す参照画素用メモリ14に出力している。カウンタの値は、参照画素用メモリ14のアドレスとして使用され、4Kワードまでの参照画素データのアドレスとなる。   The address generator of this embodiment is composed of only a 12-bit counter 17 shown in FIG. The counter 17 outputs the counter value as an address as a read pointer, and outputs a value obtained by delaying the counter value by one clock to the reference pixel memory 14 shown in FIG. 3 as an address as a write pointer. The value of the counter is used as an address of the reference pixel memory 14 and becomes an address of reference pixel data up to 4K words.

また、カウンタ17をカウントアップさせる信号は、プログラムRAM8から読み出した命令コードを記憶しているインストラクションレジスタ15の値をデコードして、各種制御信号を生成しているデコーダ16において、前方プロセッサエレメント参照の命令が発行された場合のみ出力される。カウンタ17は、毎SIMDの先頭でクリアされ、最初の参照画素データをレジスタL1〜L3に読み出した後、1つインクリメントするように制御されるとよい。   A signal for counting up the counter 17 is obtained by decoding the value of the instruction register 15 storing the instruction code read from the program RAM 8 and generating various control signals. Output only when an instruction is issued. The counter 17 may be controlled to be incremented by one after being cleared at the beginning of each SIMD and reading the first reference pixel data into the registers L1 to L3.

参照画素用メモリ14に必要な容量は、フィルター処理などの前後のプロセッサエレメントの画素データを参照した演算を行う処理の量によって変化する。しかし、フィルターなどのマトリックスが左右対称であることを考慮すると、最大でも全命令数の半分の容量があればよい。   The capacity required for the reference pixel memory 14 varies depending on the amount of processing for performing calculation referring to the pixel data of the preceding and subsequent processor elements such as filter processing. However, considering that the matrix such as the filter is symmetrical, it is sufficient that the capacity is at most half the total number of instructions.

本実施例では、プログラムRAMの容量が32ビット×8Kワードであるので、参照画素用メモリ14の容量を3(L1、L2、L3)×8ビット×4Kワードとしており、メモリのアドレスとして12ビットを出力している。   In this embodiment, since the capacity of the program RAM is 32 bits × 8K words, the capacity of the reference pixel memory 14 is 3 (L1, L2, L3) × 8 bits × 4K words, and the memory address is 12 bits. Is output.

次に、本実施例のSIMD型マイクロプロセッサの命令フォーマット例を図4に基いて説明する。図4は、本実施例のSIMD型マイクロプロセッサの命令フォーマット例を示す図である。説明を簡単にするために命令フォーマットは、簡略化している。図4に示すように命令コードは32ビットで形成されている。   Next, an example of the instruction format of the SIMD type microprocessor of this embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of an instruction format of the SIMD type microprocessor according to the present embodiment. To simplify the description, the instruction format is simplified. As shown in FIG. 4, the instruction code is formed of 32 bits.

命令コードは、ビット31〜19のフィールドによって命令の種類を表している。ビット18は0であれば、ソースオペランドとして汎用レジスタを指定し、1であればソースオペランドとして16ビットの即値を指定するフォーマットとなる。   The instruction code represents the type of instruction by the fields of bits 31 to 19. If bit 18 is 0, a general register is designated as a source operand, and if bit 18 is 1, a 16-bit immediate value is designated as a source operand.

レジスタオペランドの場合は、ビット17〜13はBSHフィールドであり、図2又は図3に示されるシフタ(シフト拡張器)のシフト量を表している。ビット17は特にシフト拡張の際にゼロ拡張するか、符号拡張するかを選択するビットであり、ALUにおける演算についても符号なしで行うか、符号付きで行うかの決定をしている。   In the case of a register operand, bits 17 to 13 are a BSH field, which represents the shift amount of the shifter (shift expander) shown in FIG. Bit 17 is a bit for selecting whether to zero-extend or sign-extend, especially in the case of shift expansion, and determines whether the operation in the ALU is performed without a sign or with a sign.

ビット12〜8は、Rdフィールドであり、演算後の値を格納するレジスタを指定している。ビット7〜3はRsフィールドであり、演算のソースレジスタを指定している。ビット2〜0はPSHフィールドであり、演算のソースレジスタをどのプロセッサエレメントから選択するかを決定している。   Bits 12 to 8 are an Rd field, and designate a register for storing a value after the operation. Bits 7 to 3 are an Rs field, which specifies a source register for calculation. Bits 2 to 0 are PSH fields, which determine from which processor element the source register for the operation is selected.

即値オペランドの場合は、ビット17はSフィールドであり、ALUにおける演算を符号なしで行うか、符号付きで行うかの決定をしている。ビット15〜0はIMM16フィールドであり、ここに指定した値が即値として用いられる。図4に示す命令フォーマットの場合においては、前方プロセッサエレメントの参照命令かどうかは、命令コードのビット18及びビット2〜0をデコードするだけでよいので簡単な構成でよい。   In the case of an immediate operand, bit 17 is an S field, and determines whether the operation in the ALU is performed without a sign or with a sign. Bits 15 to 0 are an IMM16 field, and the value specified here is used as an immediate value. In the case of the instruction format shown in FIG. 4, whether or not it is a reference instruction of the front processor element may be a simple configuration because it only needs to decode bit 18 and bits 2 to 0 of the instruction code.

以上、上述した本実施例のSIMD型マイクロプロセッサの構成によって、得られる効果を図6、7に基いて説明する。図7は、本実施例のSIMD型マイクロプロセッサを用いた画像データ処理方法を説明する図である。また、図6は、図7との比較のための、SIMD型マイクロプロセッサを用いた従来の画像データ処理方法を説明する図である。   The effects obtained by the above-described configuration of the SIMD type microprocessor of this embodiment will be described with reference to FIGS. FIG. 7 is a diagram for explaining an image data processing method using the SIMD type microprocessor of this embodiment. FIG. 6 is a diagram for explaining a conventional image data processing method using a SIMD type microprocessor for comparison with FIG.

図6に示すように、SIMD型のマイクロプロセッサに装備しているプロセッサエレメント数nよりも主査方向の画素数の方が多い場合には、1ラインの主査方向の画素をプロセッサエレメント数n個単位で分割し、画像処理を複数回反復して実施する。図6では、プロセッサエレメント数n毎に分割された画素ブロックのことを左から順に1SIMD目、2SIMD目、・・・(以下略)と便宜上名付ける。   As shown in FIG. 6, when the number of pixels in the main scanning direction is larger than the number n of processor elements provided in the SIMD type microprocessor, the number of pixels in the main scanning direction of one line is n units. The image processing is repeated a plurality of times. In FIG. 6, pixel blocks divided every n processor elements are named for convenience as the first SIMD, the second SIMD,...

このように、主査方向の画素を複数回反復して画像処理を行う場合において、背景技術において説明したようなフィルター処理などの演算を行う場合には、隣接するプロセッサエレメントの有する画素データを参照する必要があるために、分割した画素のつなぎ目の部分において(すなわち両端のプロセッサエレメントの部分)演算結果が無効な画素が生じる。この無効な画素が生じないように、フィルター処理などの演算で参照する前方参照画素数、又は、後方隣接画素数の総和部分の画素データを、あらかじめ重複させてSIMD型マイクロプロセッサに転送している(オーバーラップ)。   As described above, in the case where image processing is performed by repeating a pixel in the main examination direction a plurality of times, when performing operations such as filter processing as described in the background art, reference is made to pixel data of adjacent processor elements. Since it is necessary, a pixel having an invalid operation result is generated at the joint portion of the divided pixels (that is, the processor element portions at both ends). In order not to generate this invalid pixel, the pixel data of the sum of the number of forward reference pixels or the number of backward neighboring pixels referred to in the calculation such as filter processing is overlapped in advance and transferred to the SIMD type microprocessor. (Overlap).

次に、図7に従い、本実施例の画像データ処理方法について説明する。まず、1SIMD目の処理は、図6に示す従来の画像データの処理方法と同様に、プロセッサエレメントの処理する画素データの両端にオーバラップとして、画素数16個ずつ(あわせて32個)の画素データを持った状態で処理を行う。   Next, the image data processing method of this embodiment will be described with reference to FIG. First, in the first SIMD process, as in the conventional image data processing method shown in FIG. 6, the pixel data processed by the processor element is overlapped at both ends of the pixel data by 16 pixels (32 pixels in total). Process with data.

このとき、有効画素は、プロセッサエレメントPE16〜PE239の処理する224画素である。有効画素の後端のプロセッサエレメントPE237〜PE239(図7において灰色に塗られている部分)の画素データが、後方のプロセッサエレメントPE240〜242)より参照されている場合には、参照されている画素データを図3に示す参照画素用メモリ14に格納する。   At this time, the effective pixels are 224 pixels processed by the processor elements PE16 to PE239. When the pixel data of the processor elements PE237 to PE239 (portions painted in gray in FIG. 7) at the rear end of the effective pixel is referred to by the rear processor elements PE240 to 242), the referenced pixel The data is stored in the reference pixel memory 14 shown in FIG.

次に、2SIMD目の処理は、オーバラップに用いる画素データをプロセッサエレメントの処理する画素の後端のみに持った状態で処理を行う。有効画素は、プロセッサエレメントPE0〜239の処理する240画素である。有効画素の後端のプロセッサエレメントPE237〜239のデータは、1SIMD目と同様に前方参照された時に参照画素用メモリ14にデータを格納する。   Next, the second SIMD processing is performed in a state where pixel data used for overlap is held only at the rear end of the pixel processed by the processor element. The effective pixels are 240 pixels processed by the processor elements PE0 to 239. The data of the processor elements PE237 to 239 at the rear end of the effective pixel is stored in the reference pixel memory 14 when being forward-referenced similarly to the first SIMD.

また、プロセッサエレメントの先端のプロセッサエレメントPE0〜PE2については、前方のプロセッサエレメントを参照する命令が発行された場合は、1SIMD目における灰色に塗られた部分のデータを参照すればよい。よって、図3に示す参照画素用メモリ14に格納されている画素データをレジスタL1〜L3にリードし、レジスタL1〜L3の値を参照すればよいことになる。   Further, regarding the processor elements PE0 to PE2 at the tip of the processor element, when an instruction for referring to the preceding processor element is issued, the data in the gray portion in the first SIMD may be referred to. Therefore, pixel data stored in the reference pixel memory 14 shown in FIG. 3 may be read into the registers L1 to L3 and the values of the registers L1 to L3 may be referred to.

また、図3に示すレジスタL1〜L3には、2SIMD目の先頭で1SIMD目の最初に格納されたデータをリードしておく。前方参照命令が発行された場合には、プロセッサエレメントPE0〜PE2は、レジスタL1〜L3の値を参照し、命令発行後に参照画素用メモリ14のデータをレジスタL1〜L3にリードするように制御するとよい。   Further, the data stored at the beginning of the second SIMD and the first of the first SIMD are read into the registers L1 to L3 shown in FIG. When the forward reference instruction is issued, the processor elements PE0 to PE2 refer to the values of the registers L1 to L3, and control to read the data in the reference pixel memory 14 to the registers L1 to L3 after issuing the instruction. Good.

続いて、3SIMD目以降の処理は、2SIMD目の処理と同様の処理を行う。   Subsequently, the third SIMD and subsequent processes are the same as the second SIMD process.

以上説明したように、本実施例によれば、図6に示されている従来の画像データ処理方法では、オーバラップに用いる画素は、プロセッサエレメント256個(プロセッサエレメントPE0〜PE255)が処理する画素のうち、両端のプロセッサエレメント32個(プロセッサエレメントPE0〜PE15、PE240〜PE255)が処理する画素である。   As described above, according to this embodiment, in the conventional image data processing method shown in FIG. 6, the pixels used for the overlap are the pixels processed by 256 processor elements (processor elements PE0 to PE255). Among these, 32 pixels (processor elements PE0 to PE15, PE240 to PE255) at both ends are pixels to be processed.

そして、これらのオーバーラップ用の画素は、有効画素ではないため、実際には、プロセッサエレメント224個(プロセッサエレメントPE16〜PE239)が処理する画素のスループットしかなかった。   Since these overlapping pixels are not effective pixels, the throughput of pixels processed by 224 processor elements (processor elements PE16 to PE239) is actually limited.

しかし、本実施例では、1SIMD目だけはプロセッサエレメントが処理する画素の両端にオーバラップが必要であるが、2SIMD目以降では、プロセッサエレメントが処理する画素の後端のみにオーバラップを持てばよいので、プロセッサエレメント240個が処理する画素のスループットが得られることがわかる。   However, in this embodiment, only the first SIMD needs to overlap at both ends of the pixel processed by the processor element. However, after the second SIMD, only the rear end of the pixel processed by the processor element needs to have an overlap. Therefore, it can be seen that the throughput of pixels processed by 240 processor elements can be obtained.

なお、本実施例においては、図3に示す参照画素用メモリ14にレジスタL1〜L3の全てのデータを前方参照命令が発行されるたびに格納する構成につき記載した。しかし、参照画素用メモリ14を,図に示さないが、レジスタL1用、レジスタL2用、レジスタL3用と3つに分割して、図13に示すような、カウンタ(L1)17a、カウンタ(L2)17b、カウンタ(L3)17cを有するアドレス生成器を設けることもできる。そして、図12に示すように、3つのFIFOメモリのポインタを制御することで参照画素用メモリの容量を更に削減することが出来ることは自明である。   In the present embodiment, a configuration is described in which all data in the registers L1 to L3 are stored in the reference pixel memory 14 shown in FIG. 3 each time a forward reference command is issued. However, although not shown in the drawing, the reference pixel memory 14 is divided into three for the register L1, the register L2, and the register L3, and the counter (L1) 17a and the counter (L2) as shown in FIG. ) 17b and an address generator having a counter (L3) 17c may be provided. As shown in FIG. 12, it is obvious that the capacity of the reference pixel memory can be further reduced by controlling the pointers of the three FIFO memories.

本実施例を、添付図面に基いて説明する。図8は、本実施例のSIMD型マイクロプロセッサの構成ブロック図である。上述した第1の実施例のSIMD型マイクロプロセッサの構成では、特定のプロセッサエレメントに限定して、参照画素用メモリにデータを格納することしか出来なかった。   A present Example is described based on an accompanying drawing. FIG. 8 is a block diagram showing the configuration of the SIMD type microprocessor according to this embodiment. In the above-described configuration of the SIMD type microprocessor of the first embodiment, data can only be stored in the reference pixel memory without being limited to a specific processor element.

しかし、本実施例では、グローバルプロセッサ1に内蔵されるプロセッサエレメントを選択するレジスタ(プロセッサエレメント選択レジスタ:図示せず)を設けることにより、各プロセッサエレメントに、参照画素用メモリにデータを格納する、プロセッサエレメントを指定するためのアドレスが供給され、各プロセッサエレメントが内蔵しているデコーダ18において任意のプロセッサエレメントを指定することが可能となっている。   However, in this embodiment, by providing a register (processor element selection register: not shown) for selecting a processor element built in the global processor 1, data is stored in the reference pixel memory in each processor element. An address for designating a processor element is supplied, and an arbitrary processor element can be designated by a decoder 18 built in each processor element.

指定されたプロセッサエレメントではデコーダ18よりバスドライバ19の出力イネーブル信号がアサートされる。バスドライバ19は、プロセッサエレメント番号が4の倍数のプロセッサエレメントでは、プロセッサエレメント(4n)用リードバスに、プロセッサエレメント番号が(4の倍数+1)のプロセッサエレメントでは、プロセッサエレメント(4n+1)用リードバスに、プロセッサエレメント番号が(4の倍数+2)のプロセッサエレメントでは、プロセッサエレメント(4n+2)用リードバスに、プロセッサエレメント番号が(4の倍数+3)のプロセッサエレメントでは、プロセッサエレメント(4n+3)用リードバスに接続されている。   In the designated processor element, the output enable signal of the bus driver 19 is asserted by the decoder 18. The bus driver 19 has a processor element (4n) read bus for a processor element whose processor element number is a multiple of 4, and a processor element (4n + 1) for a processor element whose processor element number is (multiple of 4 + 1). In the processor element whose processor element number is (multiple of 4 + 2) in the read bus for the processor, in the processor element whose processor element number is (multiple of 4 + 3) in the read bus for the processor element (4n + 2), the processor It is connected to the read bus for the element (4n + 3).

この4本のリードバスはプロセッサエレメント選択レジスタの値に応じてマルチプレクサによって3本が選択され、参照画素用メモリに入力されるように構成される。   The four read buses are selected by a multiplexer in accordance with the value of the processor element selection register, and are input to the reference pixel memory.

以上説明した構成によれば、アプリケーションによってオーバラップ数が変動するような場合、あるいは処理に必要なプロセッサエレメント数が変動しても、オーバラップ量を半分にすることが可能となる。   According to the configuration described above, the overlap amount can be halved when the number of overlaps varies depending on the application or even when the number of processor elements necessary for processing varies.

本実施例を、添付図面に基いて説明する。図9は、本実施例のSIMD型マイクロプロセッサの構成図である。本実施例においては、参照画素用メモリがデータRAM20によって構成されている。データRAM20はデュアルポートメモリであり、片方のポートはグローバルプロセッサ1がデータの保存、復帰に用いる本来のデータRAMとして使用され、残りのポートが参照画素データの記憶のために用いられる。参照画素データの書き込みと読み出しは時分割して行う。     A present Example is described based on an accompanying drawing. FIG. 9 is a block diagram of the SIMD type microprocessor of this embodiment. In this embodiment, the reference pixel memory is constituted by the data RAM 20. The data RAM 20 is a dual port memory, and one port is used as an original data RAM used by the global processor 1 for storing and restoring data, and the remaining ports are used for storing reference pixel data. The reference pixel data is written and read out in a time-sharing manner.

図10は、本発明の実施例のデータRAM20を用いたアドレス生成器の構成ブロック図である。本実施例のアドレス生成器は、図10に示す、データアドレスラッチ21、12ビットのカウンタ22、オフセットレジスタ23から構成される。   FIG. 10 is a block diagram showing the configuration of the address generator using the data RAM 20 according to the embodiment of the present invention. The address generator according to this embodiment includes a data address latch 21, a 12-bit counter 22, and an offset register 23 shown in FIG.

ポート1側のアドレスは、通常のデータRAMとして用いるために、データアドレスがそのままアドレスとしてデータアドレスラッチ21から出力される。   Since the port 1 side address is used as a normal data RAM, the data address is directly output from the data address latch 21 as an address.

ポート2側のアドレスは、12ビットのカウンタ22と4ビットのオフセット値を有するオフセットレジスタ23とから合成するように構成する。オフセット値は、プログラムによって変更可能なレジスタで構成するとよい。   The address on the port 2 side is composed of a 12-bit counter 22 and an offset register 23 having a 4-bit offset value. The offset value may be composed of a register that can be changed by a program.

本実施例によれば、参照画素データの記憶に必要なRAMの容量によって、データRAM20の中から参照画素用のRAM領域を確保することが出来る。また、参照画素用のRAMを必要としないアプリケーションでは、通常のデータRAMとして使用することが出来るため、メモリの節約となる。   According to the present embodiment, the RAM area for the reference pixel can be secured from the data RAM 20 according to the RAM capacity necessary for storing the reference pixel data. Also, in an application that does not require a reference pixel RAM, it can be used as a normal data RAM, thus saving memory.

本実施例を、添付図面に基いて説明する。図14は、本実施例の参照画素用メモリのアドレス生成器の構成ブロック図である。本実施例においては、参照画素用メモリのアドレス生成器に参照画素用メモリの容量を示すレジスタ24を有し、このレジスタ24の値と、カウンタ17の有するアドレスとを比較する比較器25を有している点が特徴である。本実施例では、比較結果が等しくなった場合には、前方参照命令が発行されても、参照画素用メモリのデータライトを抑止するように制御する。   A present Example is described based on an accompanying drawing. FIG. 14 is a block diagram showing the configuration of the address generator of the reference pixel memory according to this embodiment. In this embodiment, the address generator of the reference pixel memory has a register 24 indicating the capacity of the reference pixel memory, and has a comparator 25 that compares the value of the register 24 with the address of the counter 17. This is a feature. In this embodiment, when the comparison results are equal, control is performed so as to suppress data write in the reference pixel memory even if a forward reference command is issued.

本実施例によれば、前方参照命令が多く発行された結果として、参照画素用メモリがフルになった場合にそれ以降の処理を正しく継続することが可能となる。   According to the present embodiment, when the reference pixel memory becomes full as a result of a large number of forward reference instructions being issued, the subsequent processing can be correctly continued.

例えば、フィルター処理などの前方参照画素を必要とする5つの信号処理(前方参照画素数a1の処理A、前方参照画素数a2の処理B、前方参照画素数a3の処理C、前方参照画素数a4の処理D、及び、前方参照画素数a5の処理E)において、処理A〜Eの順で5つの処理を行ったとする。ここで、従来構成のSIMD型マイクロプロセッサを用いると、(a1+a2+a3+a4+a5)個のオーバラップが、プロセッサエレメントの前方側、後方側の両側に必要である。   For example, five signal processes that require forward reference pixels such as filter processing (process A with forward reference pixel number a1, process B with forward reference pixel number a2, process C with forward reference pixel number a3, and forward reference pixel number a4 In the process D and the process E) of the forward reference pixel number a5, it is assumed that five processes are performed in the order of processes A to E. Here, when a conventional SIMD type microprocessor is used, (a1 + a2 + a3 + a4 + a5) overlaps are required on both the front side and the rear side of the processor element.

しかし、第1から第3の実施例に示したSIMD型マイクロプロセッサを用いると、全ての前方参照画素データが参照画素用メモリに格納できた場合には、後方側のみ(a1+a2+a3+a4+a5)個のオーバラップがあればよく、前方には全くオーバラップは必要ない。   However, when the SIMD type microprocessors shown in the first to third embodiments are used, when all the forward reference pixel data can be stored in the reference pixel memory, only (a1 + a2 + a3 + a4 + a5) overlaps on the rear side. There is no need for overlap at the front.

ところで、上述の5つの処理の途中の、例えば、処理Dにおいて参照画素用メモリがフルになってしまった場合に、第1から第3の実施例に示したSIMD型マイクロプロセッサを用いると、処理A〜Cにおいては前方参照画素が正しく反映でき、処理D及び処理Eのみ前方参照画素が正しく反映できない。   By the way, when the reference pixel memory is full in the process D, for example, in the process D, the SIMD type microprocessor shown in the first to third embodiments is used. In A to C, the forward reference pixel can be correctly reflected, and the forward reference pixel cannot be correctly reflected only in the processes D and E.

そこで、本実施例では、参照画素用メモリアドレス生成器において、参照画素用メモリの容量を示すレジスタ24の値とカウンタ17の有するアドレスとを比較する比較器25の比較結果が等しくなった場合には、前方参照命令が発行されても、参照画素用メモリのデータライトを抑止するように制御し、オーバラップを前方に(a4+a5)個だけ持った状態で処理を行う。その結果、処理D及び処理Eを正しく行うことができるようになる。   Therefore, in this embodiment, in the reference pixel memory address generator, when the comparison result of the comparator 25 that compares the value of the register 24 indicating the capacity of the reference pixel memory with the address of the counter 17 becomes equal. Even if a forward reference command is issued, control is performed so that data write to the reference pixel memory is inhibited, and processing is performed with only (a4 + a5) overlaps in front. As a result, the process D and the process E can be performed correctly.

本発明の第1の実施例におけるSIMD型マイクロプロセッサの概略構成ブロック図である。1 is a block diagram of a schematic configuration of a SIMD type microprocessor according to a first embodiment of the present invention. 本発明の第1の実施例におけるSIMD型マイクロプロセッサの構成ブロック図である。1 is a configuration block diagram of a SIMD type microprocessor in a first embodiment of the present invention. FIG. 本発明の第1の実施例におけるSIMD型マイクロプロセッサの他の構成ブロック図である。It is another block diagram of the SIMD type microprocessor in the first embodiment of the present invention. 本発明の第1の実施例におけるSIMD型マイクロプロセッサの命令フォーマット例を示す図である。It is a figure which shows the example of an instruction format of the SIMD type | mold microprocessor in 1st Example of this invention. 本発明の第1の実施例における参照画素用メモリ用アドレス生成器の構成ブロック図である。FIG. 2 is a block diagram showing the configuration of a reference pixel memory address generator according to the first embodiment of the present invention. SIMD型マイクロプロセッサを用いた従来の画像処理方法を説明する図である。It is a figure explaining the conventional image processing method using a SIMD type | mold microprocessor. 本発明の第1の実施例におけるSIMD型マイクロプロセッサを用いた画像処理方法を説明する図である。It is a figure explaining the image processing method using the SIMD type | mold microprocessor in the 1st Example of this invention. 本発明の第2の実施例におけるSIMD型マイクロプロセッサの構成ブロック図である。It is a block diagram of the configuration of the SIMD type microprocessor in the second embodiment of the present invention. 本発明の第3の実施例におけるSIMD型マイクロプロセッサの構成ブロック図である。It is a block diagram of the configuration of the SIMD type microprocessor in the third embodiment of the present invention. 本発明の第3の実施例におけるデータRAMを用いた参照画素用メモリ用アドレス生成器の構成ブロック図である。It is a block diagram of the configuration of a reference pixel memory address generator using a data RAM in a third embodiment of the present invention. 本発明の第1の実施例におけるFIFOメモリのライト・リードポインタの制御方法を説明するための図である。It is a figure for demonstrating the control method of the write / read pointer of the FIFO memory in the 1st Example of this invention. 本発明の第1の実施例における他のFIFOメモリのライト・リードポインタの制御方法を説明するための図である。It is a figure for demonstrating the control method of the write / read pointer of the other FIFO memory in 1st Example of this invention. 本発明の第1の実施例における参照画素用メモリ用アドレス生成器の他の構成ブロック図である。It is another block diagram of the configuration of the reference pixel memory address generator in the first embodiment of the present invention. 本発明の第4の実施例における参照画素用メモリ用アドレス生成器の構成ブロック図であるFIG. 10 is a configuration block diagram of a reference pixel memory address generator in a fourth embodiment of the present invention.

符号の説明Explanation of symbols

1 グローバルプロセッサ
2 レジスタファイル
3 演算アレイ
4 プロセッサエレメントグループ
5 外部インターフェース
6 メモリコントローラ
7 メモリ
8 プログラムRAM
9 データRAM
10 レジスタ
11 マルチプレクサ
12 シフト&拡張回路
13 16ビットALU
14 参照画素用メモリ
15 インストラクションレジスタ
16 デコーダ
17 カウンタ
18 デコーダ
19 バスドライバ
20 データRAM
21 データアドレスラッチ
22 カウンタ
23 オフセットレジスタ
24 レジスタ
25 比較器
A レジスタ
F レジスタ
G0〜G3 レジスタ
L1〜L3 レジスタ
LS リンクレジスタ
LI レジスタ
LN レジスタ
P プロセッサステータスレジスタ
PC プログラムカウンタ
PE0〜255 プロセッサエレメント
SP スタックポインタ
1 Global Processor 2 Register File 3 Arithmetic Array 4 Processor Element Group 5 External Interface 6 Memory Controller 7 Memory 8 Program RAM
9 Data RAM
10 register 11 multiplexer 12 shift & expansion circuit 13 16-bit ALU
14 Memory for Reference Pixel 15 Instruction Register 16 Decoder 17 Counter 18 Decoder 19 Bus Driver 20 Data RAM
21 data address latch 22 counter 23 offset register 24 register 25 comparator A register F register G0 to G3 register L1 to L3 register LS link register LI register LN register P processor status register PC program counter PE0 to 255 processor element SP stack pointer

Claims (10)

画像処理における主査方向に、プロセッサエレメント番号順に並べられた、複数のデータを処理するための複数のプロセッサエレメントの先頭のプロセッサエレメントがアクセス可能な第1のレジスタと、
前記第1のレジスタに、データを引用するための参照画素用メモリとを具備し、
前記参照画素用メモリに、後端のプロセッサエレメントの有する第2のレジスタの値を格納するように構成されているSIMD型マイクロプロセッサを具備することを特徴とした信号処理装置。
A first register accessible by the first processor element of a plurality of processor elements for processing a plurality of data, arranged in the order of processor element numbers in a main examination direction in image processing;
The first register comprises a reference pixel memory for quoting data,
A signal processing apparatus comprising: a SIMD type microprocessor configured to store a value of a second register of a rear end processor element in the reference pixel memory.
前記SIMD型マイクロプロセッサが自己の有する複数のプロセッサエレメントを用いて画素データの演算処理を実施するに際し、各プロセッサエレメントに、自己のプロセッサエレメント番号より若い番号のプロセッサエレメントの有するレジスタを参照させる命令を発行している場合に、先頭のプロセッサエレメントに、前記第1のレジスタの有する値を参照させ、前記第2のレジスタからリードされたデータを前記参照画素用メモリに格納し、前記参照命令の発行後には、前記第2のレジスタからリードされ、前記参照命令発行前に前記参照画素用メモリに格納されたデータを、前記第1のレジスタに格納するSIMD型マイクロプロセッサを具備することを特徴とした請求項1記載の信号処理装置。   When the SIMD microprocessor performs a pixel data calculation process using a plurality of processor elements owned by the SIMD type microprocessor, an instruction for causing each processor element to refer to a register of a processor element having a number lower than its own processor element number is provided. If issued, the first processor element is made to refer to the value of the first register, the data read from the second register is stored in the reference pixel memory, and the reference instruction is issued And a SIMD microprocessor for storing data read from the second register and stored in the reference pixel memory before the reference instruction is issued in the first register. The signal processing apparatus according to claim 1. 前記プロセッサエレメント番号を指定する第3のレジスタを具備し、
前記第3のレジスタによって、前記参照画素用メモリに格納するデータとして、どのプロセッサエレメント番号のプロセッサエレメントが有するレジスタのデータを格納するかを選択するように構成されるSIMD型マイクロプロセッサを具備することを特徴とした請求項1又は2に記載の信号処理装置。
A third register for designating the processor element number;
A SIMD type microprocessor configured to select, by the third register, data to be stored in a register of a processor element having a processor element number as data to be stored in the reference pixel memory; The signal processing device according to claim 1, wherein
前記参照画素用メモリは、前記SIMD型マイクロプロセッサに予め設けられているデータRAMであるSIMD型マイクロプロセッサを具備することを特徴とした請求項1又は2に記載の信号処理装置。   The signal processing apparatus according to claim 1, wherein the reference pixel memory includes a SIMD type microprocessor which is a data RAM provided in advance in the SIMD type microprocessor. 前記参照画素用メモリの容量と同容量のデータが、該メモリに格納されると、それ以上データの格納を継続しないように制御するSIMD型マイクロプロセッサを具備することを特徴とした請求項1又は2に記載の信号処理装置。   2. A SIMD microprocessor for controlling so that when data having the same capacity as that of the reference pixel memory is stored in the memory, data storage is not continued any more. 3. The signal processing apparatus according to 2. 一回の命令で、複数のデータに対して、それぞれ同一の演算処理をするSIMD型マイクロプロセッサが、前記SIMD型マイクロプロセッサの有する、画像処理の主査方向に番号順に並べられた複数のプロセッサエレメントのうちの先頭のプロセッサエレメントがアクセス可能な第1のレジスタにデータを引用するための参照画素用メモリに、後端のプロセッサエレメントの有する第2のレジスタの値を格納するように制御する工程を具備することを特徴とした信号処理方法。   SIMD microprocessors that perform the same arithmetic processing on a plurality of pieces of data with a single instruction include a plurality of processor elements arranged in numerical order in the main direction of image processing of the SIMD microprocessor. And a step of controlling to store the value of the second register of the rear end processor element in the reference pixel memory for quoting data to the first register accessible by the first processor element. And a signal processing method. 前記SIMD型マイクロプロセッサが、プロセッサエレメントの番号の若いほうのプロセッサエレメントの有するレジスタを参照する命令を発行している場合に、先頭のプロセッサエレメントは、前記第1のレジスタの有する値を参照するように制御する工程と、
前記SIMD型マイクロプロセッサが、前記第2のレジスタからリードされたデータを前記参照画素用メモリに格納するよう制御する工程と、
前記SIMD型マイクロプロセッサが、前記参照命令の発行後に、前記参照画素用メモリに前記参照命令発行前に格納された、前記第2のレジスタからリードされたデータを、前記第1のレジスタに格納するよう制御する工程とを具備することを特徴とした請求項6記載の信号処理方法。
When the SIMD type microprocessor issues an instruction that refers to a register of a processor element having a smaller processor element number, the first processor element refers to the value of the first register. A process of controlling
Controlling the SIMD microprocessor to store the data read from the second register in the reference pixel memory;
The SIMD type microprocessor stores, in the first register, data read from the second register, which is stored in the reference pixel memory after the reference instruction is issued and before the reference instruction is issued. The signal processing method according to claim 6, further comprising:
前記SIMD型マイクロプロセッサに備えられた、プロセッサエレメント番号を指定する第3のレジスタが、前記参照画素用メモリに格納するデータとして、どのプロセッサエレメント番号のプロセッサエレメントが有するレジスタのデータを格納するかを選択する工程を具備することを特徴とした請求項6又は7に記載の信号処理方法。   The third register, which is provided in the SIMD type microprocessor, that designates a processor element number stores data of a register of the processor element of which processor element number is stored as data to be stored in the reference pixel memory. The signal processing method according to claim 6, further comprising a selecting step. 前記参照画素用メモリは、前記SIMD型マイクロプロセッサに予め設けられているデータRAMであることを特徴とする請求項6又は7に記載の信号処理方法。   8. The signal processing method according to claim 6, wherein the reference pixel memory is a data RAM provided in advance in the SIMD type microprocessor. 前記SIMD型マイクロプロセッサが、前記参照画素用メモリに、該メモリ容量と同容量のデータが格納された場合に、それ以上データの格納を継続しないように制御する工程を具備することを特徴とした請求項6又は7に記載の信号処理方法。   The SIMD type microprocessor comprises a step of controlling so that data storage is not continued any more when data having the same capacity as the memory capacity is stored in the reference pixel memory. The signal processing method according to claim 6 or 7.
JP2003370716A 2003-10-30 2003-10-30 Device and method for signal processing Withdrawn JP2005135163A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003370716A JP2005135163A (en) 2003-10-30 2003-10-30 Device and method for signal processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003370716A JP2005135163A (en) 2003-10-30 2003-10-30 Device and method for signal processing

Publications (1)

Publication Number Publication Date
JP2005135163A true JP2005135163A (en) 2005-05-26

Family

ID=34647644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003370716A Withdrawn JP2005135163A (en) 2003-10-30 2003-10-30 Device and method for signal processing

Country Status (1)

Country Link
JP (1) JP2005135163A (en)

Similar Documents

Publication Publication Date Title
JP4913685B2 (en) SIMD type microprocessor and control method of SIMD type microprocessor
JP2008071130A (en) Simd type microprocessor
JP2003517649A (en) Data processing system for logically close data sample such as image data in machine vision system
JP2009223758A (en) Image processing apparatus
US8060726B2 (en) SIMD microprocessor, image processing apparatus including same, and image processing method used therein
JP4408113B2 (en) Signal processing method
JP2005135163A (en) Device and method for signal processing
JP2007073010A (en) Simd processor and image processing method using the simd method processor and image processor
JP4868607B2 (en) SIMD type microprocessor
JP4482356B2 (en) Image processing method and image processing apparatus using SIMD processor
JP3821198B2 (en) Signal processing device
JP3971543B2 (en) SIMD type processor
JP4442907B2 (en) SIMD type processor
US9606798B2 (en) VLIW processor, instruction structure, and instruction execution method
JP4989899B2 (en) Semiconductor processing unit
JP5369669B2 (en) SIMD type microprocessor
JP2007108913A (en) Simd microprocessor for detecting peak value
JP3742745B2 (en) Arithmetic processing unit
JP2008071037A (en) Simd microprocessor
JP2010033426A (en) Simd type microprocessor and operation method
JP4708387B2 (en) Address data generation apparatus and memory addressing method
JP4516495B2 (en) Data processing method in SIMD type microprocessor
JP3969580B2 (en) Data processing apparatus, image processing apparatus, image forming apparatus, program, and storage medium
JP5888028B2 (en) SIMD type microprocessor and processor system
JP2011134042A (en) Simd type microprocessor and data alignment method of the same

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070109