JP2012059131A - Simd microprocessor and processing method thereof - Google Patents

Simd microprocessor and processing method thereof Download PDF

Info

Publication number
JP2012059131A
JP2012059131A JP2010203381A JP2010203381A JP2012059131A JP 2012059131 A JP2012059131 A JP 2012059131A JP 2010203381 A JP2010203381 A JP 2010203381A JP 2010203381 A JP2010203381 A JP 2010203381A JP 2012059131 A JP2012059131 A JP 2012059131A
Authority
JP
Japan
Prior art keywords
count value
processor element
type microprocessor
simd type
counter
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.)
Pending
Application number
JP2010203381A
Other languages
Japanese (ja)
Inventor
Tomoaki Ozaki
智章 尾崎
Kazuhiko Hara
和彦 原
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 JP2010203381A priority Critical patent/JP2012059131A/en
Publication of JP2012059131A publication Critical patent/JP2012059131A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve throughput of an entire system by quickly generating a histogram of gray scale values.SOLUTION: Each of processor elements PEn (n=0 to 255) has n addresses corresponding to n gray scale values. A micro-counter 12 has a bit width shorter than a bit width of a counter register 15. Each time an address signal including a pixel value of pixel data as an address is input from an external data transfer device 2, the micro-counter 12 of a processor element PEn having the address included in the input address signal increments a count value C12 by one. A global processor 10 executes, at prescribed timing, parallel addition processing of controlling an ALU (Arithmetic Logic Unit) 14 so that the count value C12 is accumulated to a count value C15 stored in the corresponding counter register 15, and the global processor 10 performs such control as to reset the count value C12 stored in each micro-counter 12.

Description

本発明は、1つの演算命令によって複数のデータ等を並列処理するSIMD(Single Instruction stream Multiple Data stream)型マイクロプロセッサ及び当該SIMD型マイクロプロセッサの処理方法に関する。   The present invention relates to a single instruction stream multiple data stream (SIMD) type microprocessor that processes a plurality of data in parallel by one arithmetic instruction and a processing method of the SIMD type microprocessor.

画像処理専用のマイクロプロセッサでは、SIMD型マイクロプロセッサを採用することが多い(例えば、特許文献1参照。)。1つの命令で複数のデータに対して同時に同一の演算処理が実行可能であるというSIMD型マイクロプロセッサの特徴が画像処理に適しているためである。SIMD型マイクロプロセッサは、演算器及びレジスタをそれぞれ備えた複数のプロセッサエレメント(以下、PE(Processor Element)という。)を備えて構成され、複数のPEにおいて同時に演算処理を行うように制御することにより、画像処理の効率を高めている。各PEは、1個の画素に対応するデータの画像処理を担当するので、複数の画素に対応するデータに対して同時に演算処理を実行できる。   A microprocessor dedicated to image processing often employs a SIMD type microprocessor (see, for example, Patent Document 1). This is because the feature of the SIMD microprocessor that the same arithmetic processing can be executed simultaneously on a plurality of data with one instruction is suitable for image processing. The SIMD type microprocessor is configured to include a plurality of processor elements (hereinafter referred to as PE (Processor Element)) each including an arithmetic unit and a register, and by performing control so that arithmetic processing is simultaneously performed in the plurality of PEs. , Increase the efficiency of image processing. Since each PE is in charge of image processing of data corresponding to one pixel, it is possible to simultaneously perform arithmetic processing on data corresponding to a plurality of pixels.

しかしながら、画像データを取り扱う処理の中には、SIMD型マイクロプロセッサによる並列演算効果を得られない処理も存在する。例えば、画像データの階調値のメジアン(中央値)を得る処理などは、メジアンフィルタ処理や、特許文献2記載の画像処理において必要とされるが、並列演算では実現できていない。具体的には、メジアンを得るための手順としては、各画素の階調値を降べき順又は昇べき順に並び替えた後に、母数の2分の1に相当する順位の階調値を求めるか、あるいはヒストグラムを作成した後に度数累計が母数の2分の1に達したときの階調値を採用するなどの手法がある。しかしながら、前者は並び替え処理を行うので並列演算効果を得られず、後者はヒストグラムを作成するときに並列演算効果を得られない。従って、画像処理用のSIMD型マイクロプロセッサでは、ヒストグラムを高速に作成する技術が求められている。   However, among the processes that handle image data, there are processes that cannot obtain the parallel operation effect by the SIMD type microprocessor. For example, the process of obtaining the median (median value) of the gradation values of the image data is required in the median filter process and the image process described in Patent Document 2, but cannot be realized by the parallel operation. Specifically, as a procedure for obtaining the median, after rearranging the gradation value of each pixel in the descending order or ascending order, the gradation value having a rank corresponding to one-half of the parameter is obtained. Alternatively, there is a method of adopting a gradation value when the cumulative frequency reaches one-half of the parameter after creating the histogram. However, since the former performs rearrangement processing, it cannot obtain a parallel operation effect, and the latter cannot obtain a parallel operation effect when creating a histogram. Therefore, a SIMD microprocessor for image processing is required to have a technique for creating a histogram at high speed.

特許文献1には、各PEに固有のアドレスを割り当て、当該アドレスを指定することにより、外部データ転送装置などのSIMD型マイクロプロセッサの外部装置と、任意のPEとの間で画像データを送受信する方法が開示されている。図9を参照して、特許文献1記載の方法を用いて256階調の画素データの階調値のヒストグラムを生成するための従来技術に係るヒストグラム生成処理を説明する。   In Patent Document 1, a unique address is assigned to each PE, and image data is transmitted and received between an external device of a SIMD type microprocessor such as an external data transfer device and an arbitrary PE by designating the address. A method is disclosed. With reference to FIG. 9, a histogram generation process according to the related art for generating a histogram of gradation values of 256-gradation pixel data using the method described in Patent Document 1 will be described.

図9は、従来技術に係るSIMD型マイクロプロセッサ1Pの構成を示すブロック図である。図9において、SIMD型マイクロプロセッサ1Pは、グローバルプロセッサ(以下、GP(Global Processor)という。)10と、256個のプロセッサエレメントPE0P,PE1P,…,PE255Pとを備えて構成される。ここで、GP10は、SISD(Single Instruction Stream, Single Data Stream)タイプのプロセッサであり、SIMD型マイクロプロセッサ1Pの全体の動作、ならびにプロセッサエレメントPE0P〜PE255Pの各動作を制御するとともに、外部データ転送装置2に対して動作設定用データ及びデータ転送のためのコマンドなどを送信する。また、各プロセッサエレメントPEnP(n=0,1,…,255)は、デコーダ及びコントローラ11と、ポートレジスタ40と、算術論理演算回路(以下、ALU(Arithmetic Logic Unit)という。)14及びカウンタレジスタ15を備えた累積演算回路13と、演算データバス21及び22とを備えて構成される。また、各プロセッサエレメントPEnPにはプロセッサエレメント番号nに対応する固有のアドレスnが割り当てられている。   FIG. 9 is a block diagram showing a configuration of a SIMD type microprocessor 1P according to the prior art. 9, the SIMD type microprocessor 1P includes a global processor (hereinafter referred to as GP (Global Processor)) 10 and 256 processor elements PE0P, PE1P,..., PE255P. Here, the GP 10 is an SISD (Single Instruction Stream, Single Data Stream) type processor, and controls the overall operation of the SIMD type microprocessor 1P and each operation of the processor elements PE0P to PE255P, and an external data transfer device. 2 transmits operation setting data, a command for data transfer, and the like. Each processor element PEnP (n = 0, 1,..., 255) includes a decoder and controller 11, a port register 40, an arithmetic logic operation circuit (hereinafter referred to as ALU (Arithmetic Logic Unit)) 14, and a counter register. 15 and the cumulative operation circuit 13 and the operation data buses 21 and 22. Each processor element PEnP is assigned a unique address n corresponding to the processor element number n.

また、図9において、外部データ転送装置2は、プロセッサエレメントPE0P〜PE255Pと接続されていて、データの読み出し又は書き込みを指示するための制御信号と、読み出し元又は書き込み先のプロセッサエレメントの固有アドレスを示すアドレス信号とを発生して、プロセッサエレメントPE0P〜PE255Pに出力する。各プロセッサエレメントPEnPにおいて、デコーダ及びコントローラ11は、入力されるアドレス信号に含まれるアドレスがプロセッサエレメントPEnPに割り当てられているアドレスnと一致し、かつ入力される制御信号がデータ読み出しを示すときに、データ読み出しを指示する指示信号S11をポートレジスタ40に出力し、これに応答して、ポートレジスタ40は当該ポートレジスタ40に格納されたデータを、データバスを介して外部データ転送装置2に出力する。また、各プロセッサエレメントPEnPにおいて、デコーダ及びコントローラ11は、入力されるアドレス信号に含まれるアドレスがプロセッサエレメントPEnPに割り当てられているアドレスnと一致し、かつ入力される制御信号がデータ書き込みを示すときに、データ書き込みを指示する指示信号S11をポートレジスタ40に出力し、これに応答して、外部データ転送装置2からデータバスに出力されたデータをポートレジスタ40に格納する。以上説明したように、データ転送装置2と各プロセッサエレメントPEnPとの間でのデータ転送が実行される。   In FIG. 9, the external data transfer device 2 is connected to the processor elements PE0P to PE255P, and receives a control signal for instructing reading or writing of data and a unique address of the processor element of the reading source or writing destination. The address signal shown is generated and output to the processor elements PE0P to PE255P. In each processor element PEnP, the decoder and controller 11 determines that the address included in the input address signal matches the address n assigned to the processor element PEnP and the input control signal indicates data reading. An instruction signal S11 for instructing data reading is output to the port register 40, and in response to this, the port register 40 outputs the data stored in the port register 40 to the external data transfer device 2 via the data bus. . In each processor element PEnP, the decoder and controller 11 determines that the address included in the input address signal matches the address n assigned to the processor element PEnP and the input control signal indicates data writing. In addition, an instruction signal S11 for instructing data writing is output to the port register 40, and in response to this, the data output from the external data transfer device 2 to the data bus is stored in the port register 40. As described above, data transfer is performed between the data transfer device 2 and each processor element PEnP.

さらに、図9において、GP10は、各ポートレジスタ40に格納されたデータに対して、累積演算回路13などの演算回路を用いて演算処理を実行する。ここで、外部データ転送装置2と、GP10とは互いに独立して動作するので、GP10による演算処理を実行しているときに、外部データ転送装置2が各ポートレジスタ40内のデータを読み出して他の外部装置に転送し、又は、他の外部装置からのデータを各ポートレジスタ40に書き込むことができる。このため、GP10は、外部装置との間でのデータ転送処理のために命令ステップを費やすことがない。   Further, in FIG. 9, the GP 10 performs arithmetic processing on the data stored in each port register 40 using an arithmetic circuit such as the cumulative arithmetic circuit 13. Here, since the external data transfer device 2 and the GP 10 operate independently of each other, the external data transfer device 2 reads out the data in each port register 40 while performing the arithmetic processing by the GP 10, and others. Can be transferred to the external device, or data from other external devices can be written to each port register 40. For this reason, the GP 10 does not spend an instruction step for data transfer processing with an external device.

図9の外部データ転送装置2は、通常は、アドレスカウンタなどを用いてプロセッサエレメント番号nに従った順序で各プロセッサエレメントPEnPにアクセスする。このとき、各アドレスnを画素データの階調値nに対応づけることにより、以下に説明するように、SIMD型マイクロプロセッサ1Pを階調値のヒストグラムを生成するために用いることができる。   The external data transfer device 2 in FIG. 9 normally accesses each processor element PEnP in the order according to the processor element number n using an address counter or the like. At this time, by associating each address n with the gradation value n of the pixel data, the SIMD microprocessor 1P can be used to generate a gradation value histogram, as will be described below.

まず始めに、GP10は、全てのカウンタレジスタ15をリセットする。その後、外部データ転送装置2は、入力される画素データの階調値(0から255までの間の値である。)をアドレスとして含むアドレス信号と、データ書き込みを示す制御信号とを各デコーダ及びコントローラ11に出力する(以下、データ転送処理という。)。これに応答して、書き込み対象のプロセッサエレメントPEnPのデコーダ及びコントローラ11は、対応するポートレジスタ40にデータ値「1」を書き込み、書き込み対象のプロセッサエレメントPEnP以外のデコーダ及びコントローラ11は、対応するポートレジスタ40にデータ値「0」を書き込む。さらに、各ポートレジスタ40は、格納されたデータC40を演算データバス21を介してALU14に出力し、各カウンタレジスタ15は、格納されたデータC15を演算データバス22を介してALU15に出力する。次に、GP10は、全てのALU14を、入力されるデータC40とデータC15とを加算して、加算結果のデータC15をカウンタレジスタ15に格納するように制御する(以下、並列加算処理という。)。上述した外部データ転送装置2によるデータ転送処理と、GP10による並列加算処理とを交互に繰り返して実行することにより、各プロセッサエレメントPE0P,PE1P,…,PE255Pのカウンタレジスタ15には、階調値0,1,…,255の度数がそれぞれ格納される。   First, the GP 10 resets all the counter registers 15. After that, the external data transfer device 2 sends an address signal including the gradation value of the input pixel data (a value between 0 and 255) as an address and a control signal indicating data writing to each decoder and The data is output to the controller 11 (hereinafter referred to as data transfer processing). In response to this, the decoder and controller 11 of the processor element PEnP to be written writes the data value “1” to the corresponding port register 40, and the decoder and controller 11 other than the processor element PEnP to be written receive the corresponding port. A data value “0” is written to the register 40. Further, each port register 40 outputs the stored data C40 to the ALU 14 via the arithmetic data bus 21, and each counter register 15 outputs the stored data C15 to the ALU 15 via the arithmetic data bus 22. Next, the GP 10 controls all the ALUs 14 to add the input data C40 and the data C15 and store the addition result data C15 in the counter register 15 (hereinafter referred to as parallel addition processing). . By alternately and repeatedly executing the data transfer process by the external data transfer apparatus 2 and the parallel addition process by the GP 10 described above, the counter register 15 of each processor element PE0P, PE1P,. , 1,..., 255 are stored.

しかしながら、従来技術に係るヒストグラム生成処理では、外部データ転送装置2によるデータ転送処理を1回実行する毎に、GP10による並列加算処理を実行する必要があり、ヒストグラムの生成に比較的長い時間を必要とする。また、ヒストグラム生成処理中は、SIMD型マイクロプロセッサ1Pはヒストグラム生成処理専用に用いられ、他の処理を同時に実行できないのでシステム全体のスループットが低下するという課題があった。   However, in the histogram generation processing according to the prior art, it is necessary to execute parallel addition processing by GP10 every time the data transfer processing by the external data transfer device 2 is executed once, and a relatively long time is required for generation of the histogram. And In addition, during the histogram generation process, the SIMD type microprocessor 1P is used exclusively for the histogram generation process, and other processes cannot be executed at the same time, resulting in a problem that the throughput of the entire system is reduced.

本発明の目的は以上の問題点を解決し、従来技術に比較してヒストグラムを高速に生成でき、システム全体のスループットを向上できるSIMD型マイクロプロセッサ及びその処理方法を提供することにある。   An object of the present invention is to solve the above problems, and to provide a SIMD type microprocessor capable of generating a histogram at a higher speed than the prior art and improving the throughput of the entire system, and a processing method therefor.

第1の発明に係るSIMD型マイクロプロセッサは、
画素データの画素値をアドレスとして含むアドレス信号を順次入力し、複数の画素データの各画素値のヒストグラムを生成するSIMD型マイクロプロセッサにおいて、
画素値に対応する固有のアドレスをそれぞれ有する複数のプロセッサエレメントであって、所定の第1のビット幅を有しかつ当該固有のアドレスに対応する画素値の度数を格納する記憶手段を備えた累積加算手段と、上記第1のビット幅より小さい所定の第2のビット幅を有しかつ所定のカウント値を格納するカウンタ手段とをそれぞれ備えた複数のプロセッサエレメントと、
上記各プロセッサエレメントを制御する制御手段とを備え、
上記アドレス信号が上記SIMD型マイクロプロセッサに入力される毎に、当該入力されるアドレス信号に含まれるアドレスを有するプロセッサエレメントのカウンタ手段は、上記カウント値を1だけインクリメントし、
上記制御手段は、所定のタイミングで、上記各プロセッサエレメントのカウンタ手段に格納されたカウント値を、当該カウンタ手段に対応する記憶手段に格納された度数に累積加算するように上記各累積加算手段を制御する並列加算処理を実行するとともに、上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をリセットするように制御することを特徴とする。
The SIMD type microprocessor according to the first invention is:
In a SIMD type microprocessor that sequentially inputs an address signal including pixel values of pixel data as addresses and generates a histogram of each pixel value of a plurality of pixel data,
A plurality of processor elements each having a unique address corresponding to a pixel value, and a storage unit having a predetermined first bit width and storing a frequency of the pixel value corresponding to the unique address A plurality of processor elements each having an adding means and a counter means having a predetermined second bit width smaller than the first bit width and storing a predetermined count value;
Control means for controlling each of the processor elements,
Each time the address signal is input to the SIMD type microprocessor, the counter means of the processor element having the address included in the input address signal increments the count value by 1.
The control means sets the cumulative addition means so as to cumulatively add the count value stored in the counter means of each processor element to the frequency stored in the storage means corresponding to the counter means at a predetermined timing. The parallel addition process to be controlled is executed, and the count value stored in the counter means of each processor element is controlled to be reset.

上記SIMD型マイクロプロセッサにおいて、上記複数のプロセッサエレメントのカウンタ手段のうちの少なくとも1つのカウンタ手段に格納されたカウント値が、上記第2のビット幅に対応する所定のしきい値カウント値になったとき、割込要求信号を発生して上記制御手段に出力する割込要求信号発生手段をさらに備え、
上記制御手段は、上記割込要求信号に応答して、上記並列加算処理を実行するとともに上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をゼロにリセットするように制御することを特徴とする。
In the SIMD type microprocessor, the count value stored in at least one of the counter means of the plurality of processor elements becomes a predetermined threshold count value corresponding to the second bit width. And further comprising an interrupt request signal generating means for generating an interrupt request signal and outputting it to the control means,
In response to the interrupt request signal, the control means performs the parallel addition process and controls the count value stored in the counter means of each processor element to be reset to zero. .

また、上記SIMD型マイクロプロセッサにおいて、上記各プロセッサエレメントのカウンタ手段は、縦続接続された複数のレジスタを備えたシフトレジスタであることを特徴とする。   In the SIMD type microprocessor, the counter means of each processor element is a shift register including a plurality of cascade-connected registers.

さらに、上記SIMD型マイクロプロセッサにおいて、上記各プロセッサエレメントは、上記シフトレジスタに格納されたカウント値をバイナリデータに符号化して、当該シフトレジスタに対応する上記累積加算手段に出力するエンコーダをさらに備え、
上記各プロセッサエレメントの累積加算手段は、上記カウント値に代えて、当該累積加算手段に対応する上記エンコーダから入力されるバイナリデータを、上記記憶手段に格納された度数に累積加算することを特徴とする。
Further, in the SIMD type microprocessor, each processor element further includes an encoder that encodes a count value stored in the shift register into binary data and outputs the binary data to the cumulative addition unit corresponding to the shift register,
The cumulative addition means of each processor element is characterized in that instead of the count value, binary data input from the encoder corresponding to the cumulative addition means is cumulatively added to the frequency stored in the storage means. To do.

またさらに、上記SIMD型マイクロプロセッサにおいて、上記各プロセッサエレメントの累積加算手段は、上記累積加算のための算術論理演算回路を備えたことを特徴とする。   Still further, in the SIMD type microprocessor, the cumulative addition means of each processor element includes an arithmetic logic operation circuit for the cumulative addition.

また、上記SIMD型マイクロプロセッサにおいて、上記画素値は、階調値であることを特徴とする。   In the SIMD type microprocessor, the pixel value is a gradation value.

第2の発明に係るSIMD型マイクロプロセッサの処理方法は、
画素データの画素値をアドレスとして含むアドレス信号を順次入力し、複数の画素データの各画素値のヒストグラムを生成するSIMD型マイクロプロセッサの処理方法において、
上記SIMD型マイクロプロセッサは、
画素値に対応する固有のアドレスをそれぞれ有する複数のプロセッサエレメントであって、所定の第1のビット幅を有しかつ当該固有のアドレスに対応する画素値の度数を格納する記憶手段を備えた累積加算手段と、上記第1のビット幅より小さい所定の第2のビット幅を有しかつ所定のカウント値を格納するカウンタ手段とをそれぞれ備えた複数のプロセッサエレメントと、
上記各プロセッサエレメントを制御する制御手段とを備え、
上記処理方法は、
上記アドレス信号が上記SIMD型マイクロプロセッサに入力される毎に、当該入力されるアドレス信号に含まれるアドレスを有するプロセッサエレメントのカウンタ手段が、上記カウント値を1だけインクリメントするステップと、
上記制御手段が、所定のタイミングで、上記各プロセッサエレメントのカウンタ手段に格納されたカウント値を、当該カウンタ手段に対応する記憶手段に格納された度数に累積加算するように上記各累積加算手段を制御する並列加算処理を実行するとともに、上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をリセットするように制御するステップとを含むことを特徴とする。
The processing method of the SIMD type microprocessor according to the second invention is as follows:
In a processing method of a SIMD type microprocessor that sequentially inputs an address signal including a pixel value of pixel data as an address and generates a histogram of each pixel value of a plurality of pixel data,
The SIMD type microprocessor is
A plurality of processor elements each having a unique address corresponding to a pixel value, and a storage unit having a predetermined first bit width and storing a frequency of the pixel value corresponding to the unique address A plurality of processor elements each having an adding means and a counter means having a predetermined second bit width smaller than the first bit width and storing a predetermined count value;
Control means for controlling each of the processor elements,
The above processing method is
Each time the address signal is input to the SIMD type microprocessor, a counter means of a processor element having an address included in the input address signal increments the count value by one;
Each of the cumulative addition means is configured to cumulatively add the count value stored in the counter means of each processor element to the frequency stored in the storage means corresponding to the counter means at a predetermined timing. Performing parallel addition processing to be controlled, and controlling to reset the count value stored in the counter means of each processor element.

上記SIMD型マイクロプロセッサの処理方法において、上記SIMD型マイクロプロセッサは、上記複数のプロセッサエレメントのカウンタ手段のうちの少なくとも1つのカウンタ手段に格納されたカウント値が、上記第2のビット幅に対応する所定のしきい値カウント値になったとき、割込要求信号を発生して上記制御手段に出力する割込要求信号発生手段をさらに備え、
上記処理方法は、上記制御手段が、上記割込要求信号に応答して、上記並列加算処理を実行するとともに上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をゼロにリセットするように制御するステップをさらに含むことを特徴とする。
In the processing method of the SIMD type microprocessor, the SIMD type microprocessor has a count value stored in at least one of the counter means of the plurality of processor elements corresponding to the second bit width. An interrupt request signal generating means for generating an interrupt request signal and outputting it to the control means when a predetermined threshold count value is reached;
In the processing method, in response to the interrupt request signal, the control unit performs the parallel addition processing and controls the count value stored in the counter unit of each processor element to be reset to zero. The method further includes a step.

また、上記SIMD型マイクロプロセッサの処理方法において、上記各プロセッサエレメントのカウンタ手段は、縦続接続された複数のレジスタを備えたシフトレジスタであることを特徴とする。   Further, in the processing method of the SIMD type microprocessor, the counter means of each processor element is a shift register including a plurality of cascade-connected registers.

さらに、上記SIMD型マイクロプロセッサの処理方法において、上記各プロセッサエレメントは、上記シフトレジスタに格納されたカウント値をバイナリデータに符号化して、当該シフトレジスタに対応する上記累積加算手段に出力するエンコーダをさらに備え、
上記処理方法は、上記各プロセッサエレメントの累積加算手段が、上記カウント値に代えて、当該累積加算手段に対応する上記エンコーダから入力されるバイナリデータを、上記記憶手段に格納された度数に累積加算するステップをさらに含むことを特徴とする。
Furthermore, in the processing method of the SIMD type microprocessor, each processor element encodes a count value stored in the shift register into binary data, and outputs an encoder to the cumulative addition means corresponding to the shift register. In addition,
In the processing method, the cumulative addition means of each processor element cumulatively adds binary data input from the encoder corresponding to the cumulative addition means to the frequency stored in the storage means instead of the count value. The method further includes the step of:

またさらに、上記SIMD型マイクロプロセッサの処理方法において、上記各プロセッサエレメントの累積加算手段は、上記累積加算のための算術論理演算回路を備えたことを特徴とする。   Still further, in the processing method of the SIMD type microprocessor, the cumulative addition means of each processor element includes an arithmetic logic circuit for the cumulative addition.

また、上記SIMD型マイクロプロセッサの処理方法において、上記画素値は、階調値であることを特徴とする。   In the processing method of the SIMD type microprocessor, the pixel value is a gradation value.

本発明に係るSIMD型マイクロプロセッサ及びSIMD型マイクロプロセッサの処理方法によれば、SIMD型マイクロプロセッサの各プロセッサエレメントは画素値に対応する固有のアドレスをそれぞれ有し、所定の第1のビット幅を有しかつ当該固有のアドレスに対応する画素値の度数を格納する記憶手段を備えた累積加算手段と、上記第1のビット幅より小さい所定の第2のビット幅を有しかつ所定のカウント値を格納するカウンタ手段とをそれぞれ備える。また、アドレス信号がSIMD型マイクロプロセッサに入力される毎に、当該入力されるアドレス信号に含まれるアドレスを有するプロセッサエレメントのカウンタ手段は、上記カウント値を1だけインクリメントする。さらに、制御手段は、所定のタイミングで、各プロセッサエレメントのカウンタ手段に格納されたカウント値を、当該カウンタ手段に対応する記憶手段に格納された度数に累積加算するように上記各累積加算手段を制御する並列加算処理を実行するとともに、上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をリセットするように制御する。従って、従来技術に比較してヒストグラムを高速に生成でき、システム全体のスループットを向上できる。   According to the SIMD type microprocessor and the processing method of the SIMD type microprocessor according to the present invention, each processor element of the SIMD type microprocessor has a unique address corresponding to the pixel value, and has a predetermined first bit width. A cumulative addition means having storage means for storing the frequency of the pixel value corresponding to the unique address, a predetermined second bit width smaller than the first bit width, and a predetermined count value Counter means for storing. Each time an address signal is input to the SIMD type microprocessor, the counter means of the processor element having the address included in the input address signal increments the count value by one. Further, the control means adds each of the cumulative addition means so as to cumulatively add the count value stored in the counter means of each processor element to the frequency stored in the storage means corresponding to the counter means at a predetermined timing. The parallel addition processing to be controlled is executed, and the count value stored in the counter means of each processor element is controlled to be reset. Therefore, a histogram can be generated at a higher speed than in the prior art, and the throughput of the entire system can be improved.

本発明の第1の実施形態に係るSIMD型マイクロプロセッサ1の構成を示すブロック図である。1 is a block diagram showing a configuration of a SIMD type microprocessor 1 according to a first embodiment of the present invention. 図1のSIMD型マイクロプロセッサ1によって実行されるヒストグラム生成処理を示すシーケンス図である。It is a sequence diagram which shows the histogram generation process performed by the SIMD type | mold microprocessor 1 of FIG. 本発明の第2の実施形態に係るSIMD型マイクロプロセッサ1Aの構成を示すブロック図である。It is a block diagram which shows the structure of the SIMD type microprocessor 1A which concerns on the 2nd Embodiment of this invention. 図3のSIMD型マイクロプロセッサ1Aによって実行されるヒストグラム生成処理を示すシーケンス図である。FIG. 4 is a sequence diagram showing a histogram generation process executed by the SIMD type microprocessor 1 </ b> A of FIG. 3. 本発明の第3の実施形態に係るSIMD型マイクロプロセッサ1Bの構成を示すブロック図である。It is a block diagram which shows the structure of the SIMD type | mold microprocessor 1B which concerns on the 3rd Embodiment of this invention. 図5のSIMD型マイクロプロセッサ1Bによって実行されるヒストグラム生成処理を示すシーケンス図である。FIG. 6 is a sequence diagram showing a histogram generation process executed by the SIMD type microprocessor 1 </ b> B of FIG. 5. 本発明の第4の実施形態に係るSIMD型マイクロプロセッサ1Cの構成を示すブロック図である。It is a block diagram which shows the structure of SIMD type microprocessor 1C which concerns on the 4th Embodiment of this invention. 図7のSIMD型マイクロプロセッサ1Cによって実行されるヒストグラム生成処理を示すシーケンス図である。FIG. 8 is a sequence diagram showing a histogram generation process executed by the SIMD type microprocessor 1 </ b> C of FIG. 7. 従来技術に係るSIMD型マイクロプロセッサ1Pの構成を示すブロック図である。It is a block diagram which shows the structure of the SIMD type microprocessor 1P which concerns on a prior art.

以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In addition, in each following embodiment, the same code | symbol is attached | subjected about the same component.

第1の実施形態.
図1は、本発明の第1の実施形態に係るSIMD型マイクロプロセッサ1の構成を示すブロック図であり、図2は、図1のSIMD型マイクロプロセッサ1によって実行されるヒストグラム生成処理を示すシーケンス図である。なお、図1において、図9と同様のデータバスを記載しているが、以下の各実施形態に係るヒストグラム生成処理では用いられない。図1において、SIMD型マイクロプロセッサ1は、外部データ転送装置2に入力される256階調の画素データの階調値のヒストグラムを生成するために用いられる。SIMD型マイクロプロセッサ1は、GP10と、256個のプロセッサエレメントPE0,PE1,…,PE255とを備えて構成される。ここで、GP10は、SISDタイプのプロセッサであり、SIMD型マイクロプロセッサ1の全体の動作、ならびにプロセッサエレメントPE0〜PE255の各動作を制御するとともに、外部データ転送装置2に対して動作設定用データ及びデータ転送のためのコマンドなどを送信する。さらに、各プロセッサエレメントPEn(n=0,1,…,255)は、デコーダ及びコントローラ11と、マイクロカウンタ(小度数カウンタ)12と、ALU14及びカウンタレジスタ15を備えた累積加算回路13と、演算データバス21及び22とを備えて構成される。ここで、各プロセッサエレメントPEnには、プロセッサエレメント番号nに対応する固有のアドレスnが割り当てられている。
First embodiment.
FIG. 1 is a block diagram showing a configuration of a SIMD type microprocessor 1 according to the first embodiment of the present invention, and FIG. 2 is a sequence showing a histogram generation process executed by the SIMD type microprocessor 1 of FIG. FIG. In FIG. 1, the same data bus as that in FIG. 9 is illustrated, but is not used in the histogram generation processing according to the following embodiments. In FIG. 1, the SIMD type microprocessor 1 is used to generate a histogram of gradation values of 256 gradation pixel data input to the external data transfer device 2. The SIMD type microprocessor 1 includes a GP 10 and 256 processor elements PE0, PE1,..., PE255. Here, the GP 10 is a SISD type processor, controls the entire operation of the SIMD type microprocessor 1 and each operation of the processor elements PE0 to PE255, and sets operation data for the external data transfer device 2. Send commands for data transfer. Further, each processor element PEn (n = 0, 1,..., 255) includes a decoder and controller 11, a microcounter (small frequency counter) 12, an ALU 14 and a cumulative adder circuit 13 including a counter register 15, and an arithmetic operation. The data buses 21 and 22 are provided. Here, each processor element PEn is assigned a unique address n corresponding to the processor element number n.

図1において、外部データ転送装置2は、SIMD型マイクロプロセッサ1と同期して動作する。外部データ転送装置2は、メモリなどの外部装置から画素データを入力する毎に、入力される画素データの階調値をアドレスとして含むアドレス信号と、データ書き込みを示す制御信号とを発生して、各プロセッサエレメントPEnのデコーダ及びコントローラ11に出力する。各プロセッサエレメントPEnにおいて、デコーダ及びコントローラ11は、入力されるアドレス信号に含まれるアドレスとプロセッサエレメントPEnのアドレスnとが一致し、かつ制御信号がデータ書き込みを示すときは、カウントアップを指示する指示信号S11を発生してマイクロカウンタ12に出力する。また、マイクロカウンタ12は、GP10からのリセット命令に応答してカウント値C12をゼロにリセットし、データ書き込みを示す指示信号S11に応答して、カウント値C12を1だけインクリメントする。マイクロカウンタ12の出力端子は、演算データバス21を介してALU14の一方の入力端子に接続されている。   In FIG. 1, the external data transfer device 2 operates in synchronization with the SIMD type microprocessor 1. Each time the external data transfer device 2 inputs pixel data from an external device such as a memory, the external data transfer device 2 generates an address signal including the gradation value of the input pixel data as an address and a control signal indicating data writing, The data is output to the decoder and controller 11 of each processor element PEn. In each processor element PEn, the decoder and controller 11 instructs to count up when the address included in the input address signal matches the address n of the processor element PEn and the control signal indicates data writing. A signal S11 is generated and output to the microcounter 12. The microcounter 12 resets the count value C12 to zero in response to the reset command from the GP 10, and increments the count value C12 by 1 in response to the instruction signal S11 indicating data writing. The output terminal of the microcounter 12 is connected to one input terminal of the ALU 14 via the arithmetic data bus 21.

さらに、図1において、カウンタレジスタ15は、ALU14からのカウント値C14をカウント値C15として格納するとともに、GP10からのリセット命令に応答してカウント値C15をゼロにリセットする。カウンタレジスタ15の出力端子は、演算データバス22を介してALU14の他方の入力端子に接続されている。ALU14は、GP10からの累積加算命令A0に応答して、入力されるカウント値C12とカウント値C15とを加算し、加算結果のカウント値C14をカウンタレジスタ15に出力する。   Further, in FIG. 1, the counter register 15 stores the count value C14 from the ALU 14 as the count value C15, and resets the count value C15 to zero in response to a reset command from the GP 10. The output terminal of the counter register 15 is connected to the other input terminal of the ALU 14 via the arithmetic data bus 22. The ALU 14 adds the input count value C12 and the count value C15 in response to the cumulative addition instruction A0 from the GP 10, and outputs the count value C14 of the addition result to the counter register 15.

ここで、図1において、カウンタレジスタ15は、従来技術に係るSIMD型マイクロプロセッサ1Pにおいても演算に用いられるレジスタであり、図2を参照して後述するヒストグラム生成処理専用に設けられる構成要素ではない。カウンタレジスタ15は、各プロセッサエレメントPEnにおいて処理されるデータを格納できるビット幅を有する。また、マイクロカウンタ12のビット幅は、カウンタレジスタ15及びALU14のビット幅よりも小さい。例えば、カウンタレジスタ15及びALU14のビット幅は16ビットであり、マイクロカウンタ12のビット幅は8ビットである。   Here, in FIG. 1, the counter register 15 is a register that is also used for calculation in the SIMD type microprocessor 1 </ b> P according to the related art, and is not a component provided exclusively for histogram generation processing described later with reference to FIG. 2. . The counter register 15 has a bit width capable of storing data processed in each processor element PEn. The bit width of the micro counter 12 is smaller than the bit widths of the counter register 15 and the ALU 14. For example, the bit width of the counter register 15 and the ALU 14 is 16 bits, and the bit width of the micro counter 12 is 8 bits.

次に、図2を参照して、SIMD型マイクロプロセッサ1によって実行されるヒストグラム生成処理を説明する。まず始めに、GP10は、リセット命令を、各プロセッサエレメントPEnのマイクロカウンタ12及びカウンタレジスタ15に出力する。これに応答して、各プロセッサエレメントPEnにおいて、マイクロカウンタ12は、カウント値C12をゼロにリセットし、カウンタレジスタ15は、カウント値C15をゼロにリセットする。次に、GP10は、後述する処理A1を開始することを指示する処理開始命令を外部データ転送装置2に出力する。これに応答して、外部データ転送装置2は、処理A1を実行する。   Next, a histogram generation process executed by the SIMD type microprocessor 1 will be described with reference to FIG. First, the GP 10 outputs a reset command to the micro counter 12 and the counter register 15 of each processor element PEn. In response to this, in each processor element PEn, the micro counter 12 resets the count value C12 to zero, and the counter register 15 resets the count value C15 to zero. Next, the GP 10 outputs to the external data transfer apparatus 2 a process start command that instructs to start process A1 described later. In response to this, the external data transfer device 2 executes the process A1.

処理A1において、外部データ転送装置2は、外部装置から1つの画素データを入力すると、入力された画素データの階調値をアドレスとして含むアドレス信号と、データ書き込みを示す制御信号とを発生して、各プロセッサエレメントPEnのデコーダ及びコントローラ11に出力する。これに応答して、各プロセッサエレメントPEnのデコーダ及びコントローラ11は、入力されたアドレス信号に含まれるアドレスがnであり、かつ入力された制御信号がデータ書き込みを示すか否かを判断し、YESのときは、カウントアップを指示する指示信号S11を発生してマイクロカウンタ12に出力する一方、NOのときは、指示信号S11を発生しない。さらに、カウントアップを指示する指示信号S11に応答して、マイクロカウンタ12はカウント値C12を1だけインクリメントする。   In the process A1, when the external data transfer device 2 inputs one pixel data from the external device, the external data transfer device 2 generates an address signal including the gradation value of the input pixel data as an address and a control signal indicating data writing. To the decoder and controller 11 of each processor element PEn. In response to this, the decoder and controller 11 of each processor element PEn determines whether the address included in the input address signal is n and whether the input control signal indicates data writing, and YES In the case of, the instruction signal S11 instructing the count up is generated and outputted to the microcounter 12, while in the case of NO, the instruction signal S11 is not generated. Further, in response to the instruction signal S11 instructing the count up, the microcounter 12 increments the count value C12 by one.

データ転送装置2は、以上説明した処理A1を、マイクロカウンタ12によって計数可能なカウント値C12の最大値と等しい回数だけ繰り返す。具体的には、本実施形態においてカウント値C12の最大値は255であり、処理A1は255回だけ繰り返して実行される。これにより、各階調値nに対応するアドレスnを有するプロセッサエレメントPEnのマイクロカウンタ12には、入力される画素データのうち階調値nを有する画素データの個数に対応するカウント値C12が格納される。ただし、カウント値C12は0から255までの間の値しか表現できないので、処理A1を256回以上続けて繰り返して実行すると、特定の階調値を有する画素データのみが外部データ転送装置2に入力された場合には、その階調値に対応するアドレスを有するプロセッサエレメントのマイクロカウンタ12はオーバーフローを起こしてしまう。このため、処理A1を255回だけ繰り返して実行された後、以下に説明する並列加算処理PAが実行される。   The data transfer device 2 repeats the process A1 described above as many times as the maximum value of the count value C12 that can be counted by the microcounter 12. Specifically, in the present embodiment, the maximum value of the count value C12 is 255, and the process A1 is repeatedly executed only 255 times. Thus, the count value C12 corresponding to the number of pixel data having the gradation value n among the input pixel data is stored in the microcounter 12 of the processor element PEn having the address n corresponding to each gradation value n. The However, since the count value C12 can only express a value between 0 and 255, when the process A1 is repeated 256 times or more, only pixel data having a specific gradation value is input to the external data transfer device 2. In such a case, the micro counter 12 of the processor element having an address corresponding to the gradation value causes an overflow. For this reason, after the process A1 is repeatedly executed 255 times, a parallel addition process PA described below is executed.

図2の並列加算処理PAにおいて、GP10は累積加算命令A0を全てのプロセッサエレメントPE0〜PE255のALU14に出力する。これに応答して、各プロセッサエレメントPEnのALU14は、カウント値C12とカウント値C15とを加算し、加算結果のカウント値C14をカウンタレジスタ15に出力する。プロセッサエレメントPE0〜PE255の各ALU14による加算処理は、SIMD型マイクロプロセッサ1の並列演算機能によって実行されるので、比較的短時間で終了する。並列加算処理PAの次に、GP10は、リセット命令を各プロセッサエレメントPEnのマイクロカウンタ12に出力する。これに応答して、全てのマイクロカウンタ12のカウント値C12はゼロにリセットされる。   In the parallel addition process PA of FIG. 2, the GP 10 outputs the cumulative addition instruction A0 to the ALUs 14 of all the processor elements PE0 to PE255. In response to this, the ALU 14 of each processor element PEn adds the count value C12 and the count value C15, and outputs the count value C14 of the addition result to the counter register 15. Since the addition processing by the ALUs 14 of the processor elements PE0 to PE255 is executed by the parallel operation function of the SIMD type microprocessor 1, it ends in a relatively short time. After the parallel addition process PA, the GP 10 outputs a reset instruction to the micro counter 12 of each processor element PEn. In response to this, the count values C12 of all the microcounters 12 are reset to zero.

図2において、255回の処理A1と、並列加算処理PAと、それに続くマイクロカウンタ12のリセット処理とを含む処理B1は、最後の画素データに対する処理が終了するまで繰り返して実行される。これにより、各プロセッサエレメントPEnのカウンタレジスタ15には、階調値nの度数に対応するカウント値C15が格納される。その後、外部データ転送装置2は、最後の画素データを処理したことを示す処理終了通知をGP10に出力する。これに応答して、GP10は、各プロセッサエレメントPEnのカウンタレジスタ15に対して読み出し命令を出力し、これに応答して、各カウンタレジスタ15は、カウント値C15をGP10に出力し、ヒストグラム生成処理を終了する。   In FIG. 2, a process B1 including a process A1 of 255 times, a parallel addition process PA, and a subsequent reset process of the microcounter 12 is repeatedly executed until the process for the last pixel data is completed. As a result, the count value C15 corresponding to the frequency of the gradation value n is stored in the counter register 15 of each processor element PEn. Thereafter, the external data transfer device 2 outputs a process end notification indicating that the last pixel data has been processed to the GP 10. In response to this, the GP 10 outputs a read command to the counter register 15 of each processor element PEn, and in response to this, each counter register 15 outputs the count value C15 to the GP 10 for histogram generation processing. Exit.

以上説明したように、本実施形態に係るSIMD型マイクロプロセッサ1において、各プロセッサエレメントPEnは、階調値nに対応する固有のアドレスnをそれぞれ有する。また、各プロセッサエレメントPEnは、16ビットのビット幅を有しかつアドレスnに対応する階調値nの度数に対応するカウント値C15を格納するカウンタレジスタ15を備えた累積加算回路13と、8ビットのビット幅を有しかつカウント値C12を格納するマイクロカウンタ12とをそれぞれ備える。また、外部データ転送装置2からアドレス信号がSIMD型マイクロプロセッサ1に入力される毎に、当該入力されるアドレス信号に含まれるアドレスnを有するプロセッサエレメントPEnのマイクロカンタ12は、カウント値C12を1だけインクリメントする。さらに、グローバルプロセッサ10は、図2の処理A1を255回だけ繰り返して実行したタイミングで、各プロセッサエレメントPEnのマイクロカンタ12に格納されたカウント値C12を、マイクロカンタ12に対応するカウンタレジスタ15に格納されたカウント値C15に累積加算するように各累積加算回路13を制御する並列加算処理PAを実行するとともに、各プロセッサエレメンPEnのマイクロカウンタ12に格納されたカウント値C12をリセットするように制御する。   As described above, in the SIMD type microprocessor 1 according to the present embodiment, each processor element PEn has a unique address n corresponding to the gradation value n. Each processor element PEn has a bit width of 16 bits and includes a cumulative addition circuit 13 including a counter register 15 that stores a count value C15 corresponding to the frequency of the gradation value n corresponding to the address n, and 8 And a microcounter 12 having a bit width of bits and storing a count value C12. Each time an address signal is input to the SIMD type microprocessor 1 from the external data transfer device 2, the microcounter 12 of the processor element PEn having the address n included in the input address signal sets the count value C12 to 1. Increment only. Furthermore, the global processor 10 repeats the process A1 of FIG. 2 only 255 times and stores the count value C12 stored in the microcounter 12 of each processor element PEn in the counter register 15 corresponding to the microcounter 12. A parallel addition process PA for controlling each cumulative addition circuit 13 to perform cumulative addition to the stored count value C15 is executed, and control is performed to reset the count value C12 stored in the microcounter 12 of each processor element PEn. To do.

従って、本実施形態によれば、各プロセッサエレメントPEnにマイクロカウンタ12を設けたので、処理対象の画素データ毎に累積加算命令A0を実行する必要がなく、従来技術に比較してヒストグラムを高速に生成できる。また、図2の処理A1をマイクロカウンタ12に格納されるカウント値C12の最大値に等しい回数だけ実行している期間中は、SIMD型マイクロプロセッサ1は他の処理を実行できるので、従来技術に比較してシステム全体のスループットが向上する。さらに、SIMD型マイクロプロセッサ1は、従来技術に係るSIMD型マイクロプロセッサ1P(図9参照。)に比較して、マイクロカウンタ12をさらに設けるだけで実現できる。一般に、従来技術に係るSIMD型マイクロプロセッサ1Pにおいて、ポートレジスタ40のビット幅は累積加算回路13のビット幅と等しい(例えば、16ビットである。)が、本実施形態に係るSIMD型マイクロプロセッサ1に設けられるマイクロカウンタ12のビット幅(本実施形態では、8ビットである。)は、ポートレジスタ40のビット幅より小さい。このため、従来技術に係るSIMD型マイクロプロセッサ1Pに新たに追加する構成要素のサイズは比較的小さくてすむ。   Therefore, according to the present embodiment, since the micro counter 12 is provided in each processor element PEn, it is not necessary to execute the cumulative addition instruction A0 for each pixel data to be processed, and the histogram can be made faster than in the conventional technique. Can be generated. Further, since the SIMD type microprocessor 1 can execute other processes during the period in which the process A1 of FIG. 2 is executed a number of times equal to the maximum value of the count value C12 stored in the microcounter 12, In comparison, the overall system throughput is improved. Further, the SIMD type microprocessor 1 can be realized only by further providing a microcounter 12 as compared with the SIMD type microprocessor 1P (see FIG. 9) according to the prior art. Generally, in the SIMD type microprocessor 1P according to the prior art, the bit width of the port register 40 is equal to the bit width of the cumulative addition circuit 13 (for example, 16 bits), but the SIMD type microprocessor 1 according to the present embodiment. The bit width (in this embodiment, 8 bits) of the microcounter 12 provided in is smaller than the bit width of the port register 40. For this reason, the size of the component newly added to the SIMD type microprocessor 1P according to the prior art can be relatively small.

なお、本実施形態において、処理A1を255回だけ繰り返して実行したが、本発明はこれに限らず、カウント値C12の最大値以下の回数だけ繰り返して実行すればよい。   In the present embodiment, the process A1 is repeatedly executed only 255 times. However, the present invention is not limited to this, and the process A1 may be repeatedly executed the number of times equal to or less than the maximum value of the count value C12.

また、各カウンタレジスタ15からカウント値C15を読み出した後に、処理対象の画素データを追加して、さらに処理B1を継続して実行してもよい。   Further, after reading the count value C15 from each counter register 15, the pixel data to be processed may be added, and the process B1 may be continued.

さらに、マイクロカンタ12のビット幅は8ビットであったが、本発明はこれに限らず、カウンタレジスタ15のビット幅より小さければよい。   Further, although the bit width of the microcounter 12 is 8 bits, the present invention is not limited to this, and it may be smaller than the bit width of the counter register 15.

第2の実施形態.
図3は、本発明の第2の実施形態に係るSIMD型マイクロプロセッサ1Aの構成を示すブロック図であり、図4は、図3のSIMD型マイクロプロセッサ1Aによって実行されるヒストグラム生成処理を示すシーケンス図である。
Second embodiment.
FIG. 3 is a block diagram showing a configuration of a SIMD type microprocessor 1A according to the second embodiment of the present invention, and FIG. 4 is a sequence showing a histogram generation process executed by the SIMD type microprocessor 1A of FIG. FIG.

図3において、SIMD型マイクロプロセッサ1Aは、GP10と、256個のプロセッサエレメントPE0A,PE1A,…,PE255Aと、GP10に接続されたIRQ(Interrupt ReQuest)信号線31と、所定の電源電圧Vccを出力する直流電源とIRQ信号線31との間に接続されたプルアップ抵抗32とを備えて構成される。各プロセッサエレメントPEnAには、プロセッサエレメント番号nに対応する固有のアドレスnが割り当てられている。ここで、各プロセッサエレメントPEnAは、第1の実施形態に係るプロセッサエレメントPEnに比較して、IRQ条件判定回路16と、Nチャネル型MOS電界効果トランジスタ(以下、nMOSFETという。)17とをさらに備えて構成されたことを特徴としている。   In FIG. 3, a SIMD type microprocessor 1A outputs GP10, 256 processor elements PE0A, PE1A,..., PE255A, an IRQ (Interrupt ReQuest) signal line 31 connected to GP10, and a predetermined power supply voltage Vcc. And a pull-up resistor 32 connected between the direct current power source and the IRQ signal line 31. Each processor element PEnA is assigned a unique address n corresponding to the processor element number n. Here, each processor element PEnA further includes an IRQ condition determination circuit 16 and an N-channel MOS field effect transistor (hereinafter referred to as nMOSFET) 17 as compared with the processor element PEn according to the first embodiment. It is characterized by being configured.

各プロセッサエレメントPEnAにおいて、nMOSFET17は、IRQ条件判定回路16に接続されたゲートと、IRQ信号線31に接続されたドレインと、接地されたソースとを有する。すなわち、全てのnMOSFET17は互いにワイヤードオア接続されている。また、各プロセッサエレメントPEnAにおいて、IRQ条件判定回路16は、マイクロカウンタ12のカウント値C12を検出し、検出されたカウント値C12がカウント値C12の最大値(本実施形態では、255である。)であるとき、nMOSFET17をオンするように制御する。以上のように構成することにより、少なくとも1つのnMOSFET17がオンしたとき、IRQ信号線31の電圧レベルがローレベルにされる。以下、IRQ信号線31の電圧レベルがローレベルにされことを、割込要求信号が発生されるという。プロセッサエレメントPE0A〜PE255Aの各IRQ条件判定回路16及びnMOSFET17と、IRQ信号線31と、プルアップ抵抗32とは、プロセッサエレメントPE0A〜PE255Aのマイクロカンタ12のうちの少なくとも1つのマイクロカンタ12に格納されたカウント値C12が、マイクロカウンタ12のビット幅に対応する所定のしきい値カウント値(本実施形態では、255である。)になったとき、割込要求信号を発生してGP10に出力する割込要求信号発生手段を構成する。割込要求信号に応答して、GP10は並列加算処理PAを実行する。   In each processor element PEnA, the nMOSFET 17 has a gate connected to the IRQ condition determination circuit 16, a drain connected to the IRQ signal line 31, and a grounded source. That is, all the nMOSFETs 17 are wired or connected to each other. In each processor element PEnA, the IRQ condition determination circuit 16 detects the count value C12 of the microcounter 12, and the detected count value C12 is the maximum value of the count value C12 (in this embodiment, 255). Is controlled to turn on the nMOSFET 17. With the above configuration, when at least one nMOSFET 17 is turned on, the voltage level of the IRQ signal line 31 is set to a low level. Hereinafter, when the voltage level of the IRQ signal line 31 is set to the low level, the interrupt request signal is generated. Each IRQ condition determination circuit 16 and nMOSFET 17 of the processor elements PE0A to PE255A, the IRQ signal line 31, and the pull-up resistor 32 are stored in at least one of the microcounters 12 of the processor elements PE0A to PE255A. When the count value C12 reaches a predetermined threshold count value (255 in this embodiment) corresponding to the bit width of the microcounter 12, an interrupt request signal is generated and output to the GP10. An interrupt request signal generating means is configured. In response to the interrupt request signal, the GP 10 executes a parallel addition process PA.

次に、図4を参照して、SIMD型マイクロプロセッサ1Aによって実行されるヒストグラム生成処理を説明する。まず始めに、GP10は、リセット命令を、各プロセッサエレメントPEnのマイクロカウンタ12及びカウンタレジスタ15に出力する。これに応答して、各プロセッサエレメントPEnAにおいて、マイクロカウンタ12は、カウント値C12をゼロにリセットし、カウンタレジスタ15は、カウント値C15をゼロにリセットする。次に、GP10は、図2の処理A1と同様の処理A1を開始することを指示する処理開始命令を外部データ転送装置2に出力する。これに応答して、外部データ転送装置2は、処理A1を実行する。本実施形態では、処理A1が実行される毎に、各プロセッサエレメントPEnのIRQ条件判定回路16は、入力されるカウント値C12が255であるか否かを判断し、NOのときは対応するnMOSFET17をオンするように制御する。これにより、上述したように割込要求信号が発生されてGP10に出力される。すなわち、少なくとも1つのプロセッサエレメントPEnAにおいてカウント値C12が255であるときに、割込要求信号が発生される。また、全てのプロセッサエレメントPE0A〜PE255Aにおいてカウント値C12が255未満であるときは、図4に示すように、処理A1と、IRQ条件判定回路16による判断処理とを含む処理A2が繰り返して実行される。すなわち、処理A2を実行すると、いずれか1つのマイクロカウンタ12のカウント値C12が1だけインクリメントされる。そして、処理A2を繰り返して実行すると、各マイクロカウンタ12のカウント値C12が増えていき、少なくとも1つのマイクロカウンタ12のカウント値C12が255になると、対応するIRQ条件判定回路16は割込要求信号を発生してGP10に出力する。   Next, a histogram generation process executed by the SIMD type microprocessor 1A will be described with reference to FIG. First, the GP 10 outputs a reset command to the micro counter 12 and the counter register 15 of each processor element PEn. In response to this, in each processor element PEnA, the micro counter 12 resets the count value C12 to zero, and the counter register 15 resets the count value C15 to zero. Next, the GP 10 outputs to the external data transfer device 2 a process start command that instructs to start the process A1 similar to the process A1 of FIG. In response to this, the external data transfer device 2 executes the process A1. In the present embodiment, every time the process A1 is executed, the IRQ condition determination circuit 16 of each processor element PEn determines whether or not the input count value C12 is 255, and when it is NO, the corresponding nMOSFET 17 Control to turn on. As a result, an interrupt request signal is generated and output to the GP 10 as described above. That is, an interrupt request signal is generated when the count value C12 is 255 in at least one processor element PEnA. When the count value C12 is less than 255 in all the processor elements PE0A to PE255A, the process A2 including the process A1 and the determination process by the IRQ condition determination circuit 16 is repeatedly executed as shown in FIG. The That is, when the process A2 is executed, the count value C12 of any one of the microcounters 12 is incremented by 1. When the process A2 is repeatedly executed, the count value C12 of each microcounter 12 increases, and when the count value C12 of at least one microcounter 12 becomes 255, the corresponding IRQ condition determination circuit 16 generates an interrupt request signal. Is output to the GP 10.

GP10は、割込要求信号に応答して、処理A2を実行しないように外部データ転送装置2を制御し、図2と同様の並列加算処理PAを割込処理として実行し、リセット命令を各プロセッサエレメントPEnのマイクロカウンタ12に出力する。これに応答して、全てのマイクロカウンタ12のカウント値C12はゼロにリセットされる。また、GP10は、処理A2を実行するように外部データ転送装置2を制御する。図4において、処理A2と、並列加算処理PAと、それに続くマイクロカウンタ12のリセット処理とを含む処理B2は、最後の画素データに対する処理が終了するまで繰り返して実行される。これにより、各プロセッサエレメントPEnのカウンタレジスタ15には、階調値nの度数に対応するカウント値C15が格納される。その後、外部データ転送装置2は、最後の画素データを処理したことを示す処理終了通知をGP10に出力する。これに応答して、GP10は、各プロセッサエレメントPEnのカウンタレジスタ15に対して読み出し命令を出力し、これに応答して、各カウンタレジスタ15は、カウント値C15をGP10に出力し、ヒストグラム生成処理を終了する。   In response to the interrupt request signal, the GP 10 controls the external data transfer device 2 so as not to execute the process A2, executes the parallel addition process PA similar to FIG. 2 as the interrupt process, and sends a reset instruction to each processor. Output to the micro counter 12 of the element PEn. In response to this, the count values C12 of all the microcounters 12 are reset to zero. Further, the GP 10 controls the external data transfer device 2 so as to execute the process A2. In FIG. 4, a process B2 including a process A2, a parallel addition process PA, and a subsequent reset process of the microcounter 12 is repeatedly executed until the process for the last pixel data is completed. As a result, the count value C15 corresponding to the frequency of the gradation value n is stored in the counter register 15 of each processor element PEn. Thereafter, the external data transfer device 2 outputs a process end notification indicating that the last pixel data has been processed to the GP 10. In response to this, the GP 10 outputs a read command to the counter register 15 of each processor element PEn, and in response to this, each counter register 15 outputs the count value C15 to the GP 10 for histogram generation processing. Exit.

図4において、1回の処理B2に含まれる処理A1の実行回数は、処理対象の画素データの階調値の分布によって変化する。例えば、処理対象の画素データの階調値の分布に偏りがあるときは、1回の処理B2に含まれる処理A1の実行回数は、マイクロカウンタ12のカウント値C12の最大値(255である。)に比較的近くなる。しかしながら、処理対象の画素データの階調値の分布に偏りがないときは、1回の処理B2に含まれる処理A1の実行回数は、マイクロカウンタ12のカウント値C12の最大値よりも大きくなり、第1の実施形態に比較して、処理A1を255回繰り返して実行する毎にデータ転送装置2による処理を中断して並列加算処理PAを実行する必要が無く、中断間隔(すなわち、並列加算処理PAの実行間隔である。)を長くすることができる。これによりSIMD型マイクロプロセッサ1Aにより他の処理を実行できる期間が長くなり、システム全体のスループットがさらに向上する。   In FIG. 4, the number of executions of the process A1 included in one process B2 varies depending on the distribution of gradation values of the pixel data to be processed. For example, when the distribution of gradation values of the pixel data to be processed is biased, the number of executions of the process A1 included in one process B2 is the maximum value (255) of the count value C12 of the microcounter 12. ) Is relatively close. However, when the distribution of gradation values of the pixel data to be processed is not biased, the number of executions of the process A1 included in one process B2 is larger than the maximum value of the count value C12 of the microcounter 12, Compared to the first embodiment, it is not necessary to interrupt the processing by the data transfer apparatus 2 and execute the parallel addition process PA every time the process A1 is repeated 255 times, and the interrupt interval (that is, the parallel addition process) PA execution interval). As a result, the period during which other processing can be executed by the SIMD type microprocessor 1A becomes longer, and the throughput of the entire system is further improved.

なお、本実施形態において、IRQ条件判定回路16は、カウント値C12が255に等しいか否かを判断したが、本発明はこれに限らず、カウント値C12がカウント値C12の最大値以下の所定のしきい値に等しいか否かを判断すればよい。   In the present embodiment, the IRQ condition determination circuit 16 determines whether or not the count value C12 is equal to 255. However, the present invention is not limited to this, and the count value C12 is a predetermined value that is equal to or less than the maximum value of the count value C12. It may be determined whether or not it is equal to the threshold value.

また、各カウンタレジスタ15からカウント値C15を読み出した後に、処理対象の画素データを追加して、さらに処理B2を継続して実行してもよい。   Further, after reading the count value C15 from each counter register 15, the pixel data to be processed may be added, and the process B2 may be continued.

さらに、GP10は、割込要求信号に応答して、処理A2を実行しないように外部データ転送装置2を制御したが、本発明はこれに限らず、処理A2の実行間隔が並列加算処理PAを実行するために必要とされる期間よりも十分に長いときは、GP10は、割込要求信号に応答して、処理A2を実行しないように外部データ転送装置2を制御する必要はない。   Furthermore, in response to the interrupt request signal, the GP 10 controls the external data transfer device 2 so as not to execute the process A2. However, the present invention is not limited to this, and the execution interval of the process A2 is set to the parallel addition process PA. When it is sufficiently longer than the period required for execution, the GP 10 does not need to control the external data transfer apparatus 2 so as not to execute the process A2 in response to the interrupt request signal.

第3の実施形態.
図5は、本発明の第3の実施形態に係るSIMD型マイクロプロセッサ1Bの構成を示すブロック図であり、図6は、図5のSIMD型マイクロプロセッサ1Bによって実行されるヒストグラム生成処理を示すシーケンス図である。
Third embodiment.
FIG. 5 is a block diagram showing a configuration of a SIMD type microprocessor 1B according to the third embodiment of the present invention, and FIG. 6 is a sequence showing a histogram generation process executed by the SIMD type microprocessor 1B of FIG. FIG.

図5において、SIMD型マイクロプロセッサ1Bは、GP10と、256個のプロセッサエレメントPE0B,PE1B,…,PE255Bと、GP10に接続されたIRQ信号線31と、所定の電源電圧Vccを出力する直流電源とIRQ信号線31との間に接続されたプルアップ抵抗32とを備えて構成される。各プロセッサエレメントPEnBには、プロセッサエレメント番号nに対応する固有のアドレスnが割り当てられている。ここで、各プロセッサエレメントPEnBは、第2の実施形態に係るプロセッサエレメントPEnAに比較して、デコーダ及びコントローラ11に代えてデコーダ及びコントローラ11Aを備え、マイクロカウンタ12に代えてシフトレジスタ12Aを備え、IRQ条件判定回路16に代えてIRQ条件判定回路16Aを備えたことを特徴としている。   In FIG. 5, the SIMD type microprocessor 1B includes a GP 10, 256 processor elements PE0B, PE1B,..., PE255B, an IRQ signal line 31 connected to the GP 10, and a DC power source that outputs a predetermined power supply voltage Vcc. A pull-up resistor 32 connected between the IRQ signal line 31 is provided. Each processor element PEnB is assigned a unique address n corresponding to the processor element number n. Here, each processor element PEnB includes a decoder and controller 11A instead of the decoder and controller 11 and a shift register 12A instead of the microcounter 12 compared to the processor element PEnA according to the second embodiment. Instead of the IRQ condition determination circuit 16, an IRQ condition determination circuit 16A is provided.

図5の各プロセッサエレメントPEnBにおいて、デコーダ及びコントローラ11Aは、外部データ転送装置2からのアドレス信号及び制御信号を入力し、アドレス信号に含まれるアドレスとプロセッサエレメントPEnBのアドレスnとが一致し、かつ制御信号がデータ書き込みを示すときは、シフトアップを指示する指示信号S11Aを発生してシフトレジスタ12Aに出力する。また、各プロセッサエレメントPEnBにおいて、シフトレジスタ12Aは、縦続接続された8個の1ビットレジスタを備えて構成される。シフトレジスタ12Aは、シフトアップを指示する指示信号S11Aに応答して、格納している8ビットのビットデータC12Aの最下流の値C12AuをIRQ条件判定回路16Aに出力し、ビットデータC12Aの各ビットのデータ(0又は1である。)を、入力されるクロックに従って1段分だけ下流のレジスタにシフトし、最上流のレジスタに1を格納する。また、各シフトレジスタ12Aは、GP10からのリセット命令に応答して、ビットデータC12Aを「00000000」にリセットする。なお、シフトレジスタ12Aの出力端子は、演算データバス21を介してALU14の一方の入力端子に接続されている。   In each processor element PEnB of FIG. 5, the decoder and controller 11A inputs an address signal and a control signal from the external data transfer device 2, and the address included in the address signal matches the address n of the processor element PEnB. When the control signal indicates data writing, an instruction signal S11A for instructing upshifting is generated and output to the shift register 12A. In each processor element PEnB, the shift register 12A includes eight 1-bit registers connected in cascade. In response to the instruction signal S11A instructing the upshift, the shift register 12A outputs the most downstream value C12Au of the stored 8-bit bit data C12A to the IRQ condition determination circuit 16A, and each bit of the bit data C12A Data (0 or 1) is shifted to the downstream register by one stage according to the input clock, and 1 is stored in the most upstream register. Each shift register 12A resets the bit data C12A to “00000000” in response to the reset command from the GP 10. Note that the output terminal of the shift register 12A is connected to one input terminal of the ALU 14 via the arithmetic data bus 21.

また、図5において、各プロセッサエレメントPEnBにおいて、IRQ条件判定回路16Aは、入力される値C12Auが1であるとき、nMOSFET17をオンするように制御し、これにより割込要求信号がGP10に出力される。プロセッサエレメントPE0B〜PE255Bの各IRQ条件判定回路16A及びnMOSFET17と、IRQ信号線31と、プルアップ抵抗32とは、プロセッサエレメントPE0B〜PE255Bのシフトレジスタ12Aのうちの少なくとも1つのシフトレジスタ12Aに格納されたビットデータC12Aが、シフトレジスタ12Aのビット幅に対応する所定のしきい値ビットデータ(本実施形態では、「11111111」である。)になったとき、割込要求信号を発生してGP10に出力する割込要求信号発生手段を構成する。   In FIG. 5, in each processor element PEnB, the IRQ condition determination circuit 16A controls the nMOSFET 17 to be turned on when the input value C12Au is 1, whereby an interrupt request signal is output to the GP10. The Each IRQ condition determination circuit 16A and nMOSFET 17 of the processor elements PE0B to PE255B, the IRQ signal line 31, and the pull-up resistor 32 are stored in at least one shift register 12A among the shift registers 12A of the processor elements PE0B to PE255B. When the bit data C12A becomes a predetermined threshold bit data (in this embodiment, “11111111”) corresponding to the bit width of the shift register 12A, an interrupt request signal is generated to the GP10. An interrupt request signal generating means for outputting is configured.

次に、図6を参照して、SIMD型マイクロプロセッサ1Bによって実行されるヒストグラム生成処理を説明する。まず始めに、GP10は、リセット命令を、各プロセッサエレメントPEnBのシフトレジスタ12A及びカウンタレジスタ15に出力する。これに応答して、各プロセッサエレメントPEnにおいて、シフトレジスタ12Aは、ビットデータ12Aを「00000000」にリセットし、カウンタレジスタ15は、カウント値C15をゼロにリセットする。次に、GP10は、後述する処理A3を開始することを指示する処理開始命令を外部データ転送装置2に出力する。これに応答して、外部データ転送装置2は、処理A3を実行する。   Next, a histogram generation process executed by the SIMD type microprocessor 1B will be described with reference to FIG. First, the GP 10 outputs a reset command to the shift register 12A and the counter register 15 of each processor element PEnB. In response to this, in each processor element PEn, the shift register 12A resets the bit data 12A to “00000000”, and the counter register 15 resets the count value C15 to zero. Next, the GP 10 outputs, to the external data transfer device 2, a process start command that instructs to start process A3 described later. In response to this, the external data transfer device 2 executes the process A3.

処理A3において、外部データ転送装置2は、外部装置から1つの画素データを入力すると、入力された画素データの階調値をアドレスとして含むアドレス信号と、データ書き込みを示す制御信号とを発生して、各プロセッサエレメントPEnのデコーダ及びコントローラ11に出力する。これに応答して、各プロセッサエレメントPEnのデコーダ及びコントローラ11は、入力されたアドレス信号に含まれるアドレスがnであり、かつ入力された制御信号がデータ書き込みを示すか否かを判断し、YESのときは、シフトアップを指示する指示信号S11Aを発生してシフトレジスタ12Aに出力する一方、NOのときは、指示信号S11Aを発生しない。さらに、シフトアップを指示する指示信号S11Aに応答して、シフトレジスタ12Aは、ビットデータC12Aを1段分だけ下流のレジスタにシフトし、最上流に1を格納する。   In process A3, when the external data transfer device 2 inputs one pixel data from the external device, the external data transfer device 2 generates an address signal including the gradation value of the input pixel data as an address and a control signal indicating data writing. To the decoder and controller 11 of each processor element PEn. In response to this, the decoder and controller 11 of each processor element PEn determines whether the address included in the input address signal is n and whether the input control signal indicates data writing, and YES In this case, an instruction signal S11A for instructing upshifting is generated and output to the shift register 12A. On the other hand, in the case of NO, the instruction signal S11A is not generated. Further, in response to the instruction signal S11A instructing upshifting, the shift register 12A shifts the bit data C12A by one stage to the downstream register and stores 1 in the most upstream.

処理A3に続いて、各プロセッサエレメントPEnにおいて、IRQ条件判定回路16Aは、入力される値C12Auが1であるか否かを判断し、NOのときは対応するnMOSFET17をオンするように制御する。これにより、割込要求信号が発生されてGP10に出力される。すなわち、少なくとも1つのプロセッサエレメントPEnBにおいてビットデータC12Aが「11111111」であるときに、割込要求信号が発生される。また、全てのプロセッサエレメントPE0B〜PE255BにおいてビットデータC12Aが「11111111」以外であるときは、図6に示すように、処理A3と、IRQ条件判定回路16Aによる判断処理とを含む処理A4が繰り返して実行される。すなわち、処理A3を繰り返して実行すると、各ビットデータC12Aの値は、「00000000」,「10000000」,「11000000」,…のように変化する。そして、少なくとも1つのシフトレジスタ12AのビットデータC12Aが「11111111」になると、対応するIRQ条件判定回路16Aは割込要求信号を発生してGP10に出力する。   Subsequent to the processing A3, in each processor element PEn, the IRQ condition determination circuit 16A determines whether or not the input value C12Au is 1, and controls to turn on the corresponding nMOSFET 17 if NO. As a result, an interrupt request signal is generated and output to the GP 10. That is, an interrupt request signal is generated when the bit data C12A is “11111111” in at least one processor element PEnB. When the bit data C12A is other than “11111111” in all the processor elements PE0B to PE255B, the process A4 including the process A3 and the determination process by the IRQ condition determination circuit 16A is repeated as shown in FIG. Executed. That is, when the process A3 is repeatedly executed, the value of each bit data C12A changes like “00000000”, “10000000”, “11000000”,. When the bit data C12A of at least one shift register 12A becomes “11111111”, the corresponding IRQ condition determination circuit 16A generates an interrupt request signal and outputs it to the GP10.

GP10は、割込要求信号に応答して、処理A4を実行しないように外部データ転送装置2を制御し、累積加算命令A1を全てのプロセッサエレメントPE0B〜PE255BのALU14に出力する。これに応答して、各プロセッサエレメントPEnBのALU14は、ビットデータC12Aが「10000000」と等しいときにのみ、カウント値C15に1を加算し、加算結果のカウント値C14をカウンタレジスタ15に出力する。次に、GP10は、累積加算命令A2を全てのプロセッサエレメントPE0B〜PE255BのALU14に出力する。これに応答して、各プロセッサエレメントPEnBのALU14は、ビットデータC12Aが「11000000」と等しいときにのみ、カウント値C15に1を加算し、加算結果のカウント値C14をカウンタレジスタ15に出力する。以下、同様に、GP10は、累積加算命令A3,A4,…,A8を全てのプロセッサエレメントPE0B〜PE255BのALU14に順次出力する。ここで、累積加算命令Am(m=1,2,…,8)は、ビットデータC12Aの最上流からmビット目までのビットに1が格納されているときにのみ、カウント値C15にmを加算して、加算結果のカウント値C14をカウンタレジスタ15に出力することを指示する命令である。プロセッサエレメントPE0B〜PE255Bの各ALU14による加算処理は、SIMD型マイクロプロセッサ1Bの並列演算機能によって実行されるので、比較的短時間で終了する。   In response to the interrupt request signal, the GP 10 controls the external data transfer apparatus 2 so as not to execute the process A4, and outputs the cumulative addition instruction A1 to the ALUs 14 of all the processor elements PE0B to PE255B. In response to this, the ALU 14 of each processor element PEnB adds 1 to the count value C15 only when the bit data C12A is equal to “10000000”, and outputs the count value C14 of the addition result to the counter register 15. Next, the GP 10 outputs the cumulative addition instruction A2 to the ALUs 14 of all the processor elements PE0B to PE255B. In response to this, the ALU 14 of each processor element PEnB adds 1 to the count value C15 only when the bit data C12A is equal to “11000000”, and outputs the count value C14 of the addition result to the counter register 15. Similarly, the GP 10 sequentially outputs the cumulative addition instructions A3, A4,..., A8 to the ALUs 14 of all the processor elements PE0B to PE255B. Here, the cumulative addition instruction Am (m = 1, 2,..., 8) sets m to the count value C15 only when 1 is stored in the bits from the most upstream to the m-th bit of the bit data C12A. This is an instruction for adding and outputting the count value C14 of the addition result to the counter register 15. Since the addition processing by each ALU 14 of the processor elements PE0B to PE255B is executed by the parallel operation function of the SIMD type microprocessor 1B, it ends in a relatively short time.

GP10は、累積加算命令A8を全てのプロセッサエレメントPE0B〜PE255BALU14に出力した後、リセット命令を各プロセッサエレメントPEnBのシフトレジスタ12Aに出力する。これに応答して、全てのシフトレジスタ12AのビットデータC12Aは「00000000」にリセットされる。また、GP10は、処理A4を実行するように外部データ転送装置2を制御する。   The GP 10 outputs the cumulative addition instruction A8 to all the processor elements PE0B to PE255BALU14, and then outputs a reset instruction to the shift register 12A of each processor element PEnB. In response to this, the bit data C12A of all the shift registers 12A is reset to “00000000”. Further, the GP 10 controls the external data transfer device 2 to execute the process A4.

図6において、処理A4と、累積加算命令A1〜A8と、それに続くシフトレジスタ12Aのリセット処理とを含む処理B3は、最後の画素データに対する処理が終了するまで繰り返して実行される。これにより、各プロセッサエレメントPEnBのカウンタレジスタ15には、階調値nの度数に対応するカウント値C15が格納される。その後、外部データ転送装置2は、最後の画素データを処理したことを示す処理終了通知をGP10に出力する。これに応答して、GP10は、各プロセッサエレメントPEnのカウンタレジスタ15に対して読み出し命令を出力し、これに応答して、各カウンタレジスタ15は、カウント値C15をGP10に出力し、ヒストグラム生成処理を終了する。   In FIG. 6, the process B3 including the process A4, the cumulative addition instructions A1 to A8, and the subsequent reset process of the shift register 12A is repeatedly executed until the process for the last pixel data is completed. As a result, the count value C15 corresponding to the frequency of the gradation value n is stored in the counter register 15 of each processor element PEnB. Thereafter, the external data transfer device 2 outputs a process end notification indicating that the last pixel data has been processed to the GP 10. In response to this, the GP 10 outputs a read command to the counter register 15 of each processor element PEn, and in response to this, each counter register 15 outputs the count value C15 to the GP 10 for histogram generation processing. Exit.

図6において、1回の処理B3に含まれる処理A3の実行回数は、処理対象の画素データの階調値の分布によって変化する。例えば、処理対象の画素データの階調値の分布に偏りがあるときは、1回の処理B3に含まれる処理A3の実行回数は、シフトレジスタ12Aのビット幅(本実施形態では、8である。)に比較的近くなる。しかしながら、処理対象の画素データの階調値の分布に偏りがないときは、1回の処理B3に含まれる処理A3の実行回数は、シフトレジスタ12Aのビット幅よりも大きくなる。   In FIG. 6, the number of executions of the process A3 included in one process B3 varies depending on the distribution of gradation values of the pixel data to be processed. For example, when the distribution of gradation values of pixel data to be processed is biased, the number of executions of processing A3 included in one processing B3 is the bit width of the shift register 12A (8 in this embodiment). )) Is relatively close. However, when the distribution of the gradation values of the pixel data to be processed is not biased, the number of executions of the process A3 included in one process B3 is larger than the bit width of the shift register 12A.

一般に、カウンタレジスタよりシフトレジスタの方が単純な構成を有するので、シフトレジスタ12Aは、カウントアップ機能を有するマイクロカウンタ12よりシンプルな回路構成で実現できる。従って、第2の実施形態に係るSIMD型マイクロプロセッサ1Aに比較して、回路規模及び消費電力を小さく抑えることができる。   In general, since the shift register has a simpler configuration than the counter register, the shift register 12A can be realized with a simpler circuit configuration than the microcounter 12 having a count-up function. Therefore, the circuit scale and power consumption can be reduced as compared with the SIMD type microprocessor 1A according to the second embodiment.

なお、各カウンタレジスタ15からカウント値C15を読み出した後に、処理対象の画素データを追加して、さらに処理B3を継続して実行してもよい。   In addition, after reading the count value C15 from each counter register 15, the pixel data to be processed may be added and the process B3 may be continued.

さらに、GP10は、割込要求信号に応答して、処理A4を実行しないように外部データ転送装置2を制御したが、本発明はこれに限らず、処理A4の実行間隔が累積加算命令A1〜A8を実行するために必要とされる期間よりも十分に長いときは、GP10は、割込要求信号に応答して、処理A4を実行しないように外部データ転送装置2を制御する必要はない。   Furthermore, in response to the interrupt request signal, the GP 10 controls the external data transfer apparatus 2 so as not to execute the process A4. However, the present invention is not limited to this, and the execution interval of the process A4 is determined by the cumulative addition instructions A1 to A1. When it is sufficiently longer than the period required for executing A8, the GP 10 does not need to control the external data transfer apparatus 2 so as not to execute the process A4 in response to the interrupt request signal.

第4の実施形態.
図7は、本発明の第4の実施形態に係るSIMD型マイクロプロセッサ1Cの構成を示すブロック図であり、図8は、図7のSIMD型マイクロプロセッサ1Cによって実行されるヒストグラム生成処理を示すシーケンス図である。
Fourth embodiment.
FIG. 7 is a block diagram showing a configuration of a SIMD type microprocessor 1C according to the fourth embodiment of the present invention, and FIG. 8 is a sequence showing a histogram generation process executed by the SIMD type microprocessor 1C of FIG. FIG.

図7において、SIMD型マイクロプロセッサ1Cは、GP10と、256個のプロセッサエレメントPE0C,PE1C,…,PE255Cと、GP10に接続されたIRQ信号線31と、所定の電源電圧Vccを出力する直流電源とIRQ信号線31との間に接続されたプルアップ抵抗32とを備えて構成される。各プロセッサエレメントPEnCには、プロセッサエレメント番号nに対応する固有のアドレスnが割り当てられている。ここで、各プロセッサエレメントPEnCは、第3の実施形態に係るプロセッサエレメントPEnBに比較して、シフトレジスタ12Aと演算データバス21との間に設けられたエンコーダ18をさらに備えたことを特徴としている。図7において、エンコーダ18は、シフトレジスタ12Aから出力されたビットデータC12Aを、バイナリデータC18に符号化し、演算データバス21を介してALU14に出力する。   In FIG. 7, the SIMD type microprocessor 1C includes a GP 10, 256 processor elements PE0C, PE1C,..., PE255C, an IRQ signal line 31 connected to the GP 10, and a DC power source that outputs a predetermined power supply voltage Vcc. A pull-up resistor 32 connected between the IRQ signal line 31 is provided. Each processor element PEnC is assigned a unique address n corresponding to the processor element number n. Here, each processor element PEnC further includes an encoder 18 provided between the shift register 12A and the operation data bus 21 as compared with the processor element PEnB according to the third embodiment. . In FIG. 7, the encoder 18 encodes the bit data C12A output from the shift register 12A into binary data C18 and outputs it to the ALU 14 via the arithmetic data bus 21.

次に、図8を参照して、SIMD型マイクロプロセッサ1Cによって実行されるヒストグラム生成処理を説明する。図8のヒストグラム生成処理は、図6のヒストグラム生成処理に比較して、割込要求信号がGP10に出力されるタイミングより後の処理のみが異なる。GP10は、割込要求信号に応答して、処理A4を実行しないように外部データ転送装置2を制御し、各プロセッサエレメントPEnCのALU14を、演算データバス21に出力されたバイナリデータC18を読み出すように制御する。次に、並列加算処理PA1が実行される。並列加算処理PA1において、GP10は、累積加算命令A0を全てのプロセッサエレメントPE0C〜PE255CのALU14に出力する。これに応答して、各プロセッサエレメントPEnCのALU14は、入力されるバイナリデータC18とカウント値C15とを加算して、加算結果のカウント値C14をカウンタレジスタ15に出力する。プロセッサエレメントPE0C〜PE255Cの各ALU14による加算処理は、SIMD型マイクロプロセッサ1Cの並列演算機能によって実行されるので、比較的短時間で終了する。   Next, a histogram generation process executed by the SIMD type microprocessor 1C will be described with reference to FIG. The histogram generation process in FIG. 8 differs from the histogram generation process in FIG. 6 only in the process after the timing at which the interrupt request signal is output to the GP 10. In response to the interrupt request signal, the GP 10 controls the external data transfer device 2 so as not to execute the process A4, and reads the binary data C18 output to the arithmetic data bus 21 from the ALU 14 of each processor element PEnC. To control. Next, the parallel addition process PA1 is executed. In the parallel addition process PA1, the GP 10 outputs the cumulative addition instruction A0 to the ALUs 14 of all the processor elements PE0C to PE255C. In response to this, the ALU 14 of each processor element PEnC adds the input binary data C18 and the count value C15, and outputs the count value C14 of the addition result to the counter register 15. Since the addition processing by the ALUs 14 of the processor elements PE0C to PE255C is executed by the parallel operation function of the SIMD type microprocessor 1C, it ends in a relatively short time.

次に、GP10は、リセット命令を各プロセッサエレメントPEnCのシフトレジスタ12Aに出力する。これに応答して、全てのシフトレジスタ12AのビットデータC12Aは「00000000」にリセットされる。また、GP10は、処理A4を実行するように外部データ転送装置2を制御する。   Next, the GP 10 outputs a reset instruction to the shift register 12A of each processor element PEnC. In response to this, the bit data C12A of all the shift registers 12A is reset to “00000000”. Further, the GP 10 controls the external data transfer device 2 to execute the process A4.

図8において、処理A4と、並列加算処理PA1と、それに続くシフトレジスタ12Aのリセット処理とを含む処理B4は、最後の画素データに対する処理が終了するまで繰り返して実行される。これにより、各プロセッサエレメントPEnCのカウンタレジスタ15には、階調値nの度数に対応するカウント値C15が格納される。その後、外部データ転送装置2は、最後の画素データを処理したことを示す処理終了通知をGP10に出力する。これに応答して、GP10は、各プロセッサエレメントPEnのカウンタレジスタ15に対して読み出し命令を出力し、これに応答して、各カウンタレジスタ15は、カウント値C15をGP10に出力し、ヒストグラム生成処理を終了する。   In FIG. 8, a process B4 including a process A4, a parallel addition process PA1, and a subsequent reset process of the shift register 12A is repeatedly executed until the process for the last pixel data is completed. As a result, the count value C15 corresponding to the frequency of the gradation value n is stored in the counter register 15 of each processor element PEnC. Thereafter, the external data transfer device 2 outputs a process end notification indicating that the last pixel data has been processed to the GP 10. In response to this, the GP 10 outputs a read command to the counter register 15 of each processor element PEn, and in response to this, each counter register 15 outputs the count value C15 to the GP 10 for histogram generation processing. Exit.

第3の実施形態では、シフトレジスタ12Aに格納されたビットデータC12AをALU14に出力したため、処理B3において、8個の累積加算命令A1〜A8を順次実行する必要があった。これに対して、本実施形態では、ビットデータC12AをバイナリデータC18に変換してALU14に出力するので、処理B4においてALU14による累積加算処理を1回だけ実行すればよい。このため、第3の実施形態に比較して累積加算の回数を最小限に抑えて、高速にヒストグラムを生成できる。   In the third embodiment, since the bit data C12A stored in the shift register 12A is output to the ALU 14, it is necessary to sequentially execute eight cumulative addition instructions A1 to A8 in the process B3. On the other hand, in the present embodiment, the bit data C12A is converted into binary data C18 and output to the ALU 14, so that the cumulative addition process by the ALU 14 need only be executed once in the process B4. Therefore, the number of cumulative additions can be minimized as compared with the third embodiment, and a histogram can be generated at high speed.

上記各実施形態において、256階調の画素データに対してヒストグラム生成処理を実行したが、本発明はこれに限らず、任意の階調数の画素データに対して適用できる。この場合、SIMD型マイクロプロセッサ1,1A,1B,1Cはそれぞれ、画素データの階調数以上の個数のプロセッサエレメントPEn,PEnA,PEnB,PEnCを備えて構成される。   In each of the above embodiments, the histogram generation processing is executed for pixel data of 256 gradations, but the present invention is not limited to this, and can be applied to pixel data of an arbitrary number of gradations. In this case, each of the SIMD type microprocessors 1, 1A, 1B, and 1C includes processor elements PEn, PEnA, PEnB, and PEnC that are equal to or larger than the number of gradations of the pixel data.

また、上記各実施形態において、マイクロカウンタ12と、シフトレジスタ12Aと、カウンタレジスタ15とを、それぞれGP10からのリセット命令に応答してリセットしたが、本発明はこれに限らず、外部データ転送装置2から所定の初期値を書き込むように制御してもよい。   In each of the above embodiments, the micro counter 12, the shift register 12A, and the counter register 15 are reset in response to a reset command from the GP 10, respectively, but the present invention is not limited to this, and the external data transfer device 2 may be controlled so as to write a predetermined initial value.

さらに、上記各実施形態おいて、画素データの階調値のヒストグラムを生成したが、本発明はこれに限らず、画素データの各色成分の濃度などの他の画素値のヒストグラムを生成してもよい。   Furthermore, in each of the above embodiments, the histogram of the gradation value of the pixel data is generated. However, the present invention is not limited to this, and the histogram of other pixel values such as the density of each color component of the pixel data may be generated. Good.

以上説明したように、本発明に係るSIMD型マイクロプロセッサ及びSIMD型マイクロプロセッサの処理方法によれば、SIMD型マイクロプロセッサの各プロセッサエレメントは画素値に対応する固有のアドレスをそれぞれ有し、所定の第1のビット幅を有しかつ当該固有のアドレスに対応する画素値の度数を格納する記憶手段を備えた累積加算手段と、上記第1のビット幅より小さい所定の第2のビット幅を有しかつ所定のカウント値を格納するカウンタ手段とをそれぞれ備える。また、アドレス信号がSIMD型マイクロプロセッサに入力される毎に、当該入力されるアドレス信号に含まれるアドレスを有するプロセッサエレメントのカウンタ手段は、上記カウント値を1だけインクリメントする。さらに、制御手段は、所定のタイミングで、各プロセッサエレメントのカウンタ手段に格納されたカウント値を、当該カウンタ手段に対応する記憶手段に格納された度数に累積加算するように上記各累積加算手段を制御する並列加算処理を実行するとともに、上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をリセットするように制御する。従って、従来技術に比較してヒストグラムを高速に生成でき、システム全体のスループットを向上できる。   As described above, according to the SIMD type microprocessor and the processing method of the SIMD type microprocessor according to the present invention, each processor element of the SIMD type microprocessor has a unique address corresponding to a pixel value, A cumulative addition means having a first bit width and storing means for storing the frequency of the pixel value corresponding to the unique address; and a predetermined second bit width smaller than the first bit width. And counter means for storing a predetermined count value. Each time an address signal is input to the SIMD type microprocessor, the counter means of the processor element having the address included in the input address signal increments the count value by one. Further, the control means adds each of the cumulative addition means so as to cumulatively add the count value stored in the counter means of each processor element to the frequency stored in the storage means corresponding to the counter means at a predetermined timing. The parallel addition processing to be controlled is executed, and the count value stored in the counter means of each processor element is controlled to be reset. Therefore, a histogram can be generated at a higher speed than in the prior art, and the throughput of the entire system can be improved.

本発明に係るSIMD型マイクロプロセッサ及び当該SIMD型マイクロプロセッサの処理方法は、デジタルカメラ、デジタルテレビジョン放送受信機、プリンタ装置、及びデジタル複写機などの画像処理を実行する装置に利用できる。   The SIMD type microprocessor and the processing method of the SIMD type microprocessor according to the present invention can be used for apparatuses that execute image processing, such as digital cameras, digital television broadcast receivers, printer apparatuses, and digital copying machines.

1,1A,1B,1C…SIMD型マイクロプロセッサ、
2…外部データ転送装置、
10…グローバルプロセッサ、
11A…デコーダ及びコントローラ、
12…マイクロカウンタ、
12A…シフトレジスタ、
13…累積加算回路、
14…ALU、
15…カウンタレジスタ、
16,16A…IRQ条件判定回路、
17…nMOSFET、
18…エンコーダ、
21,22…演算データバス、
31…IRQ信号線、
32…プルアップ抵抗、
PE0〜PE255,PE0A〜PE255A,PE0B〜PE255B,PE0C〜PE255C…プロセッサエレメント。
1, 1A, 1B, 1C ... SIMD type microprocessor,
2 ... External data transfer device,
10 ... Global processor,
11A: Decoder and controller,
12 ... Micro counter,
12A: Shift register,
13: Cumulative addition circuit,
14 ... ALU,
15: Counter register,
16, 16A ... IRQ condition determination circuit,
17 ... nMOSFET,
18 ... Encoder,
21, 22 ... arithmetic data bus,
31 ... IRQ signal line,
32 ... Pull-up resistor,
PE0-PE255, PE0A-PE255A, PE0B-PE255B, PE0C-PE255C... Processor elements.

特開2001−84229号公報。JP 2001-84229 A. 特開2002−300407号公報。JP 2002-300407 A.

Claims (12)

画素データの画素値をアドレスとして含むアドレス信号を順次入力し、複数の画素データの各画素値のヒストグラムを生成するSIMD(Single Instruction stream Multiple Data stream)型マイクロプロセッサにおいて、
画素値に対応する固有のアドレスをそれぞれ有する複数のプロセッサエレメントであって、所定の第1のビット幅を有しかつ当該固有のアドレスに対応する画素値の度数を格納する記憶手段を備えた累積加算手段と、上記第1のビット幅より小さい所定の第2のビット幅を有しかつ所定のカウント値を格納するカウンタ手段とをそれぞれ備えた複数のプロセッサエレメントと、
上記各プロセッサエレメントを制御する制御手段とを備え、
上記アドレス信号が上記SIMD型マイクロプロセッサに入力される毎に、当該入力されるアドレス信号に含まれるアドレスを有するプロセッサエレメントのカウンタ手段は、上記カウント値を1だけインクリメントし、
上記制御手段は、所定のタイミングで、上記各プロセッサエレメントのカウンタ手段に格納されたカウント値を、当該カウンタ手段に対応する記憶手段に格納された度数に累積加算するように上記各累積加算手段を制御する並列加算処理を実行するとともに、上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をリセットするように制御することを特徴とするSIMD型マイクロプロセッサ。
In a SIMD (Single Instruction Stream Multiple Data Stream) type microprocessor that sequentially inputs an address signal including pixel values of pixel data as addresses and generates a histogram of each pixel value of a plurality of pixel data,
A plurality of processor elements each having a unique address corresponding to a pixel value, and a storage unit having a predetermined first bit width and storing a frequency of the pixel value corresponding to the unique address A plurality of processor elements each having an adding means and a counter means having a predetermined second bit width smaller than the first bit width and storing a predetermined count value;
Control means for controlling each of the processor elements,
Each time the address signal is input to the SIMD type microprocessor, the counter means of the processor element having the address included in the input address signal increments the count value by 1.
The control means sets the cumulative addition means so as to cumulatively add the count value stored in the counter means of each processor element to the frequency stored in the storage means corresponding to the counter means at a predetermined timing. A SIMD type microprocessor characterized by performing parallel addition processing to be controlled and controlling to reset the count value stored in the counter means of each processor element.
上記複数のプロセッサエレメントのカウンタ手段のうちの少なくとも1つのカウンタ手段に格納されたカウント値が、上記第2のビット幅に対応する所定のしきい値カウント値になったとき、割込要求信号を発生して上記制御手段に出力する割込要求信号発生手段をさらに備え、
上記制御手段は、上記割込要求信号に応答して、上記並列加算処理を実行するとともに上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をゼロにリセットするように制御することを特徴とする請求項1記載のSIMD型マイクロプロセッサ。
When the count value stored in at least one of the counter means of the plurality of processor elements reaches a predetermined threshold count value corresponding to the second bit width, an interrupt request signal is An interrupt request signal generating means for generating and outputting to the control means;
In response to the interrupt request signal, the control means performs the parallel addition process and controls the count value stored in the counter means of each processor element to be reset to zero. The SIMD type microprocessor according to claim 1.
上記各プロセッサエレメントのカウンタ手段は、縦続接続された複数のレジスタを備えたシフトレジスタであることを特徴とする請求項1又は2記載のSIMD型マイクロプロセッサ。   3. The SIMD type microprocessor according to claim 1, wherein the counter means of each processor element is a shift register having a plurality of cascade-connected registers. 上記各プロセッサエレメントは、上記シフトレジスタに格納されたカウント値をバイナリデータに符号化して、当該シフトレジスタに対応する上記累積加算手段に出力するエンコーダをさらに備え、
上記各プロセッサエレメントの累積加算手段は、上記カウント値に代えて、当該累積加算手段に対応する上記エンコーダから入力されるバイナリデータを、上記記憶手段に格納された度数に累積加算することを特徴とする請求項3記載のSIMD型マイクロプロセッサ。
Each of the processor elements further includes an encoder that encodes the count value stored in the shift register into binary data and outputs the binary data to the cumulative addition unit corresponding to the shift register,
The cumulative addition means of each processor element is characterized in that instead of the count value, binary data input from the encoder corresponding to the cumulative addition means is cumulatively added to the frequency stored in the storage means. The SIMD type microprocessor according to claim 3.
上記各プロセッサエレメントの累積加算手段は、上記累積加算のための算術論理演算回路を備えたことを特徴とする請求項1乃至4のうちのいずれか1つに記載のSIMD型マイクロプロセッサ。   5. The SIMD type microprocessor according to claim 1, wherein the cumulative addition means of each processor element comprises an arithmetic logic operation circuit for the cumulative addition. 上記画素値は、階調値であることを特徴とする請求項1乃至5のうちのいずれか1つに記載のSIMD型マイクロプロセッサ。   6. The SIMD type microprocessor according to claim 1, wherein the pixel value is a gradation value. 画素データの画素値をアドレスとして含むアドレス信号を順次入力し、複数の画素データの各画素値のヒストグラムを生成するSIMD型マイクロプロセッサの処理方法において、
上記SIMD型マイクロプロセッサは、
画素値に対応する固有のアドレスをそれぞれ有する複数のプロセッサエレメントであって、所定の第1のビット幅を有しかつ当該固有のアドレスに対応する画素値の度数を格納する記憶手段を備えた累積加算手段と、上記第1のビット幅より小さい所定の第2のビット幅を有しかつ所定のカウント値を格納するカウンタ手段とをそれぞれ備えた複数のプロセッサエレメントと、
上記各プロセッサエレメントを制御する制御手段とを備え、
上記処理方法は、
上記アドレス信号が上記SIMD型マイクロプロセッサに入力される毎に、当該入力されるアドレス信号に含まれるアドレスを有するプロセッサエレメントのカウンタ手段が、上記カウント値を1だけインクリメントするステップと、
上記制御手段が、所定のタイミングで、上記各プロセッサエレメントのカウンタ手段に格納されたカウント値を、当該カウンタ手段に対応する記憶手段に格納された度数に累積加算するように上記各累積加算手段を制御する並列加算処理を実行するとともに、上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をリセットするように制御するステップとを含むことを特徴とするSIMD型マイクロプロセッサの処理方法。
In a processing method of a SIMD type microprocessor that sequentially inputs an address signal including a pixel value of pixel data as an address and generates a histogram of each pixel value of a plurality of pixel data,
The SIMD type microprocessor is
A plurality of processor elements each having a unique address corresponding to a pixel value, and a storage unit having a predetermined first bit width and storing a frequency of the pixel value corresponding to the unique address A plurality of processor elements each having an adding means and a counter means having a predetermined second bit width smaller than the first bit width and storing a predetermined count value;
Control means for controlling each of the processor elements,
The above processing method is
Each time the address signal is input to the SIMD type microprocessor, a counter means of a processor element having an address included in the input address signal increments the count value by one;
Each of the cumulative addition means is configured to cumulatively add the count value stored in the counter means of each processor element to the frequency stored in the storage means corresponding to the counter means at a predetermined timing. A processing method for the SIMD type microprocessor, comprising: performing parallel addition processing to be controlled, and controlling to reset a count value stored in the counter means of each processor element.
上記SIMD型マイクロプロセッサは、上記複数のプロセッサエレメントのカウンタ手段のうちの少なくとも1つのカウンタ手段に格納されたカウント値が、上記第2のビット幅に対応する所定のしきい値カウント値になったとき、割込要求信号を発生して上記制御手段に出力する割込要求信号発生手段をさらに備え、
上記処理方法は、上記制御手段が、上記割込要求信号に応答して、上記並列加算処理を実行するとともに上記各プロセッサエレメンのカウンタ手段に格納されたカウント値をゼロにリセットするように制御するステップをさらに含むことを特徴とする請求項7記載のSIMD型マイクロプロセッサの処理方法。
In the SIMD type microprocessor, the count value stored in at least one of the counter means of the plurality of processor elements becomes a predetermined threshold count value corresponding to the second bit width. And further comprising an interrupt request signal generating means for generating an interrupt request signal and outputting it to the control means,
In the processing method, in response to the interrupt request signal, the control unit performs the parallel addition processing and controls the count value stored in the counter unit of each processor element to be reset to zero. 8. The processing method of the SIMD type microprocessor according to claim 7, further comprising a step.
上記各プロセッサエレメントのカウンタ手段は、縦続接続された複数のレジスタを備えたシフトレジスタであることを特徴とする請求項7又は8記載のSIMD型マイクロプロセッサの処理方法。   9. The SIMD microprocessor processing method according to claim 7, wherein the counter means of each processor element is a shift register having a plurality of cascade-connected registers. 上記各プロセッサエレメントは、上記シフトレジスタに格納されたカウント値をバイナリデータに符号化して、当該シフトレジスタに対応する上記累積加算手段に出力するエンコーダをさらに備え、
上記処理方法は、上記各プロセッサエレメントの累積加算手段が、上記カウント値に代えて、当該累積加算手段に対応する上記エンコーダから入力されるバイナリデータを、上記記憶手段に格納された度数に累積加算するステップをさらに含むことを特徴とする請求項9記載のSIMD型マイクロプロセッサの処理方法。
Each of the processor elements further includes an encoder that encodes the count value stored in the shift register into binary data and outputs the binary data to the cumulative addition unit corresponding to the shift register,
In the processing method, the cumulative addition means of each processor element cumulatively adds binary data input from the encoder corresponding to the cumulative addition means to the frequency stored in the storage means instead of the count value. 10. The SIMD microprocessor processing method according to claim 9, further comprising a step of:
上記各プロセッサエレメントの累積加算手段は、上記累積加算のための算術論理演算回路を備えたことを特徴とする請求項7乃至10のうちのいずれか1つに記載のSIMD型マイクロプロセッサの処理方法。   11. The processing method of the SIMD type microprocessor according to claim 7, wherein the cumulative addition means of each processor element includes an arithmetic logic operation circuit for the cumulative addition. . 上記画素値は、階調値であることを特徴とする請求項7乃至11のうちのいずれか1つに記載のSIMD型マイクロプロセッサの処理方法。   12. The processing method of the SIMD type microprocessor according to claim 7, wherein the pixel value is a gradation value.
JP2010203381A 2010-09-10 2010-09-10 Simd microprocessor and processing method thereof Pending JP2012059131A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010203381A JP2012059131A (en) 2010-09-10 2010-09-10 Simd microprocessor and processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010203381A JP2012059131A (en) 2010-09-10 2010-09-10 Simd microprocessor and processing method thereof

Publications (1)

Publication Number Publication Date
JP2012059131A true JP2012059131A (en) 2012-03-22

Family

ID=46056127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010203381A Pending JP2012059131A (en) 2010-09-10 2010-09-10 Simd microprocessor and processing method thereof

Country Status (1)

Country Link
JP (1) JP2012059131A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136197A1 (en) * 2015-02-25 2016-09-01 日本電気株式会社 Data processing device, data processing method, and recording medium
US20180341589A1 (en) * 2017-05-23 2018-11-29 International Business Machines Corporation Reducing cache thrashing for counts in hot cache lines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136197A1 (en) * 2015-02-25 2016-09-01 日本電気株式会社 Data processing device, data processing method, and recording medium
US20180341589A1 (en) * 2017-05-23 2018-11-29 International Business Machines Corporation Reducing cache thrashing for counts in hot cache lines
US10552326B2 (en) * 2017-05-23 2020-02-04 International Business Machines Corporation Reducing cache thrashing for counts in hot cache lines
US10565114B2 (en) * 2017-05-23 2020-02-18 International Business Machines Corporation Reducing cache thrashing for counts in hot cache lines

Similar Documents

Publication Publication Date Title
JP4885422B2 (en) Galois extension field linear converter
JP2009015556A (en) Simd type microprocessor
JP2009271724A (en) Hardware engine controller
JP2010176606A (en) Data processor and image processor
US7543014B2 (en) Saturated arithmetic in a processing unit
JPWO2017163441A1 (en) Image processing apparatus, image processing method, and image processing program
JP2012059131A (en) Simd microprocessor and processing method thereof
JP2010287110A (en) Information processor, information processing method, program, and recording medium
TWI634436B (en) Buffer device and convolution operation device and method
JP2009093513A (en) Method for reducing instruction bit length
JP4838009B2 (en) Reconfigurable circuit
JP6038292B2 (en) Data transfer apparatus and data transfer method
WO2019053915A1 (en) Image processing device, image processing method, and image processing program
JP2006072961A (en) Memory circuit for arithmetic processing unit
JP5630798B1 (en) Processor and method
JP2001157049A5 (en)
US8024550B2 (en) SIMD processor with each processing element receiving buffered control signal from clocked register positioned in the middle of the group
US6405301B1 (en) Parallel data processing
JP4516495B2 (en) Data processing method in SIMD type microprocessor
JP4408113B2 (en) Signal processing method
JP2013161325A (en) Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor
JP2009104521A (en) Parallel processor
JP2005267362A (en) Image processing method using simd processor and image processor
JP6204313B2 (en) Electronics
JP5441185B2 (en) Interrupt controller and time-division interrupt generation method