JP2005135163A - Device and method for signal processing - Google Patents
Device and method for signal processing Download PDFInfo
- 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
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
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
特許文献2、3では、SIMD型マイクロプロセッサに装備しているプロセッサエレメント数よりも主査方向の画素数が多い場合に、画素分割してデータ転送を行うことが出来るデータ転送装置について開示されている。
ところで、フィルター処理などのような画像処理を行う場合に、隣接するプロセッサエレメントの画素データを参照する必要があるため、画素の繋ぎ目において縦すじが入るなどの不具合を生じないように画素データをオーバラップさせて転送する必要がある。 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
また、特許文献6では、SIMD型マイクロプロセッサに装備しているプロセッサエレメント数よりも主査方向の画素数が多い場合に、同一構成のSIMD型マイクロプロセッサを増設してデータを処理する構成とすることにより、複数のSIMD型プロセッサに画素の切れ目の部分をオーバラップさせて供給することで画像処理を正しく行うことが出来る技術が開示されている。
特許文献4、5などでは、フィルター処理において画像端部の無効画素データがフィルター処理結果に悪影響を与えないように、画像端部を中心に画素データを折り返した擬似画素を拡張するのを容易にしたSIMD型マイクロプロセッサにつき開示がある。しかし、これによってSIMD型マイクロプロセッサのスループットの低下は防止できるが、演算の精度の上で若干の誤差が出てしまうという問題がある。
In
従って、本発明は上記のような問題点に鑑み、フィルター処理などの演算において演算精度を保ちながら、オーバラップ量が少なくても画像処理を行うことが可能な画像処理装置における信号処理装置及び信号処理方法を提供することを目的としている。 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
請求項3記載の発明は、前記プロセッサエレメント番号を指定する第3のレジスタを具備し、前記第3のレジスタによって、前記参照画素用メモリに格納するデータとして、どのプロセッサエレメント番号のプロセッサエレメントが有するレジスタのデータを格納するかを選択するように構成されるSIMD型マイクロプロセッサを具備する請求項1又は2に記載の信号処理装置としたことを特徴とする。
The invention according to
請求項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
請求項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
本発明によれば、画像処理において、主査方向の画素を分割して処理する場合に、分割された画素ブロックを処理している時の右端の参照画素データを参照画素用メモリに転送しておき、分割された次の画素ブロックを処理する時の左端の参照画素データとして使用することが可能であるため、画素の左側のオーバラップが不要になり、プロセッサとしてのスループット向上につながる。 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
グローバルプロセッサ1は、いわゆるSISD(Single Instruction Stream Single Data Stream)型のマイクロプロセッサである。このグローバルプロセッサ1は、プログラムRAMとデータRAMを内蔵し、プログラムを解読し、各種制御信号を生成する。
The
これらの各種制御信号は、内蔵する各種ブロックの制御以外にも、レジスタファイル2、演算アレイ3、及びメモリコントローラ6に供給される。また、このグローバルプロセッサ1は、GP(グローバルプロセッサ)命令実行時には、内蔵する汎用レジスタ、ALU(算術論理演算器)等を使用して各種演算処理、プログラム制御処理を行なう。
These various control signals are supplied to the
レジスタファイル2は、プロセッサエレメント命令で処理されるデータを保持している。プロセッサエレメント命令は、SIMD(Single Instruction Stream Multiple Data Stream)型の命令であり、レジスタファイル2に保持されている複数のデータに対して、同時に同じ処理を行なう。
The
このレジスタファイル2からのデータの読み出し/書き込みの制御は、グローバルプロセッサ1からの制御によって行なわれる。読み出されたデータは、演算アレイ3に送られ、演算アレイ3において演算処理され、その演算結果は、レジスタファイル2に書き込まれる。
Control of reading / writing of data from the
また、レジスタファイル2は、外部インターフェース5を介して、このSIMD型マイクロプロセッサ外部のメモリコントローラ6からのアクセスが可能であり、グローバルプロセッサ1の制御とは別に、外部から特定のレジスタを読み出し/書き込みが行われる。
Further, the
演算アレイ3は、プロセッサエレメント命令の演算処理を行なう。この演算処理の制御は、全てグローバルプロセッサ1から行われる。また、メモリコントローラ6は、外部ポートにクロックとアドレス、リード/ライト制御を出力し、シングルポートメモリにクロックとアドレス、リード/ライト制御を出力する。これにより、任意のプロセッサエレメントのレジスタとシングルポートメモリ間で、データ転送が行われる。この処理の制御はすべてグローバルプロセッサ1から行われる。
The
次に、図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
更に、グローバルプロセッサ1には、プログラムのアドレスを保持するプログラムカウンタPC、演算処理のデータ格納のための汎用レジスタであるレジスタG0、レジスタG1、レジスタG2、及び、レジスタG3、レジスタ退避、復帰時に退避先データRAMのアドレスを保持しているスタックポインタSP、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタLS、同じくIRQ時とNMI時の分岐元アドレスを保持するレジスタLI、レジスタLN、プロセッサの状態を保持しているプロセッサステータスレジスタPとが内蔵されている。
Furthermore, the
上述したこれらのレジスタと図示していない命令デコーダ、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
図2に示すように、レジスタファイル2には、1個のプロセッサエレメント単位に8ビットのレジスタ10が32個内蔵されている。また、1個のプロセッサエレメント単位の8ビットのレジスタ10の組が、256個分アレイ構成になっている。また、1個のプロセッサエレメントの有する32個のレジスタ10の各レジスタは、レジスタR0〜R31と呼ばれる。
As shown in FIG. 2, the
また、それぞれのレジスタ10は、演算アレイ3に対して1つの読み出しポートと1つの書き込みポートを備えており、8ビットのリード/ライト兼用のバスで演算アレイ3からアクセスされる。
Each
また、レジスタ10の32個のレジスタ(レジスタR0〜R31)のうち、レジスタR0〜R23の24個のレジスタ10は、外部インターフェース5を介して、このSIMD型マイクロプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御を入力することで、レジスタR0〜R23の24個のレジスタ10のうちの任意のレジスタを読み書きできる。
Of the 32 registers (registers R0 to R31) of the
また、レジスタR0〜R23の24個のレジスタ10への外部からのアクセスは、1つの外部ポートで各プロセッサエレメント内の1個のレジスタにアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号(0〜255)を指定する。従って、レジスタアクセスの外部ポートは全部で24組搭載されている。
Further, the external access to the 24
また、外部からのアクセスは、偶数番号のプロセッサエレメントと奇数番号のプロセッサエレメントの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
なお、レジスタファイル2と演算アレイ3との接続に7to1のマルチプレクサ11が置かれる。このマルチプレクサ11は、プロセッサエレメント方向で前方に1、2、3つ離れたプロセッサエレメントの有するデータと後方に1、2、3つ離れたプロセッサエレメントの有するデータ、中央のプロセッサエレメントの有するデータを演算対象として選択する。
A 7 to 1 multiplexer 11 is placed between the
また、レジスタファイル2の8ビットのデータは、シフト&拡張回路12により任意ビットの左シフトをして16ビットALU13に入力する。更に、図示していない8ビットの条件レジスタTにより、プロセッサエレメント毎に演算実行の無効/有効の制御をしており、特定のプロセッサエレメントだけを演算対象として選択する。
The 8-bit data of the
次に、図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
参照画素用メモリ14は、本実施例ではプロセッサエレメントPE237、プロセッサエレメント238、プロセッサエレメント239の3つのプロセッサエレメントのレジスタバスのデータが入力されるように構成されている。そして、前方のプロセッサエレメントを参照する命令が発行されるたびに、これらの3つのプロセッサエレメントのレジスタより読み出されたデータがメモリに格納される。
In this embodiment, the
また、参照画素用メモリ14は、FIFOメモリであり、デュアルポートメモリで構成されている。又は、メモリへのライトとリードを時分割するように制御することでシングルポートメモリを用いて構成してもよい。
The
なお、本実施例では説明の簡略化のために、オーバラップが必要な画素データの画素数を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
また、オーバラップに必要な画素データの画素数が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
また、オーバラップに必要な画素データの画素数が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
また、オーバラップに必要な画素データの画素数が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
図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
次に、図5に基いて、本実施例の図3に示す参照画素用メモリ14のアドレス生成器について説明する。図5は、本実施例の参照画素用メモリのアドレス生成器の構成ブロック図である。
Next, an address generator of the
本実施例のアドレス生成器は、図5に示す、12ビットのカウンタ17のみから構成される。カウンタ17は、カウンタ値をリードポインタとしてのアドレスとして出力し、カウンタ値を1クロック遅延させた値をライトポインタとしてのアドレスとして図3に示す参照画素用メモリ14に出力している。カウンタの値は、参照画素用メモリ14のアドレスとして使用され、4Kワードまでの参照画素データのアドレスとなる。
The address generator of this embodiment is composed of only a 12-
また、カウンタ17をカウントアップさせる信号は、プログラムRAM8から読み出した命令コードを記憶しているインストラクションレジスタ15の値をデコードして、各種制御信号を生成しているデコーダ16において、前方プロセッサエレメント参照の命令が発行された場合のみ出力される。カウンタ17は、毎SIMDの先頭でクリアされ、最初の参照画素データをレジスタL1〜L3に読み出した後、1つインクリメントするように制御されるとよい。
A signal for counting up the
参照画素用メモリ14に必要な容量は、フィルター処理などの前後のプロセッサエレメントの画素データを参照した演算を行う処理の量によって変化する。しかし、フィルターなどのマトリックスが左右対称であることを考慮すると、最大でも全命令数の半分の容量があればよい。
The capacity required for the
本実施例では、プログラム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
次に、本実施例の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
レジスタオペランドの場合は、ビット17〜13はBSHフィールドであり、図2又は図3に示されるシフタ(シフト拡張器)のシフト量を表している。ビット17は特にシフト拡張の際にゼロ拡張するか、符号拡張するかを選択するビットであり、ALUにおける演算についても符号なしで行うか、符号付きで行うかの決定をしている。
In the case of a register operand,
ビット12〜8は、Rdフィールドであり、演算後の値を格納するレジスタを指定している。ビット7〜3はRsフィールドであり、演算のソースレジスタを指定している。ビット2〜0はPSHフィールドであり、演算のソースレジスタをどのプロセッサエレメントから選択するかを決定している。
即値オペランドの場合は、ビット17はSフィールドであり、ALUにおける演算を符号なしで行うか、符号付きで行うかの決定をしている。ビット15〜0はIMM16フィールドであり、ここに指定した値が即値として用いられる。図4に示す命令フォーマットの場合においては、前方プロセッサエレメントの参照命令かどうかは、命令コードのビット18及びビット2〜0をデコードするだけでよいので簡単な構成でよい。
In the case of an immediate operand,
以上、上述した本実施例の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
次に、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
また、プロセッサエレメントの先端のプロセッサエレメント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
また、図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
続いて、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
本実施例を、添付図面に基いて説明する。図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
指定されたプロセッサエレメントではデコーダ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
この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
図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
ポート1側のアドレスは、通常のデータRAMとして用いるために、データアドレスがそのままアドレスとしてデータアドレスラッチ21から出力される。
Since the
ポート2側のアドレスは、12ビットのカウンタ22と4ビットのオフセット値を有するオフセットレジスタ23とから合成するように構成する。オフセット値は、プログラムによって変更可能なレジスタで構成するとよい。
The address on the
本実施例によれば、参照画素データの記憶に必要な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
本実施例によれば、前方参照命令が多く発行された結果として、参照画素用メモリがフルになった場合にそれ以降の処理を正しく継続することが可能となる。 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
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
9 Data RAM
10 register 11
14 Memory for
21 data address
Claims (10)
前記第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.
前記第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型マイクロプロセッサが、前記第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:
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) |
-
2003
- 2003-10-30 JP JP2003370716A patent/JP2005135163A/en not_active Withdrawn
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 |