Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4398965B2 - Data setting device in SIMD processor - Google Patents
[go: Go Back, main page]

JP4398965B2 - Data setting device in SIMD processor - Google Patents

Data setting device in SIMD processor Download PDF

Info

Publication number
JP4398965B2
JP4398965B2 JP2006258862A JP2006258862A JP4398965B2 JP 4398965 B2 JP4398965 B2 JP 4398965B2 JP 2006258862 A JP2006258862 A JP 2006258862A JP 2006258862 A JP2006258862 A JP 2006258862A JP 4398965 B2 JP4398965 B2 JP 4398965B2
Authority
JP
Japan
Prior art keywords
register
instruction
data
circuit
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006258862A
Other languages
Japanese (ja)
Other versions
JP2006338696A (en
Inventor
貴雄 片山
慎一 山浦
正展 福島
和彦 原
圭治 中村
和彦 岩永
浩資 高藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2006258862A priority Critical patent/JP4398965B2/en
Publication of JP2006338696A publication Critical patent/JP2006338696A/en
Application granted granted Critical
Publication of JP4398965B2 publication Critical patent/JP4398965B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

本発明は、画像データ等を高速処理するために同一の命令で複数データに対して同じ処理を行うSIMD(Single Instruction−stream Multiple Data−stream)型マイクロプロセッサに関する。   The present invention relates to a single instruction-stream multiple data-stream (SIMD) type microprocessor that performs the same processing on a plurality of data with the same instruction in order to process image data and the like at high speed.

近年、デジタル複写機やファクシミリ装置等の画像処理においては、画素数の増加、画像処理の多様化などにより画質の向上が図られている。このような画像処理では、複数(多数)のデータに対して同時に同じ処理を施すことが多い。その際、高速性を高めるため、1命令で1つのデータを処理するSISD(Single Instruction−stream Single Data−stream)型マイクロプロセッサよりも、1命令で複数のデータを同時処理する、SIMD(Single Instruction−stream Multiple Data−stream)型マイクロプロセッサが用いられることが多い。   In recent years, in image processing such as digital copying machines and facsimile machines, image quality has been improved by increasing the number of pixels and diversifying image processing. In such image processing, the same processing is often performed simultaneously on a plurality (many) of data. At this time, in order to improve the high speed, a single instruction-single instruction-simulation (single instruction-stream) single-stream data (SIMD) type microprocessor that processes one piece of data at a time, rather than a single instruction-stream single data-stream (SISD) type microprocessor. -Stream (Multiple Data-stream) type microprocessor is often used.

図1は、一般的なSIMD型マイクロプロセッサ2の概略の構成を示すブロック図である。該SIMD型マイクロプロセッサ2は、概略、グローバルプロセッサ(以下では、GPと言う。)4、及びプロセッサエレメント3により構成されるのであるが、複数のデータを一度に処理するためにプロセッサエレメント3を複数個装備している。各プロセッサエレメント3は、レジスタファイル6と演算アレイ8を備える。GP4は、プロセッサ2全体の制御を行ない、プロセッサエレメント3は、外部入出力装置からデータを入力しデータ処理を行ない、外部入出力装置に出力する。   FIG. 1 is a block diagram showing a schematic configuration of a general SIMD type microprocessor 2. The SIMD type microprocessor 2 is roughly composed of a global processor (hereinafter referred to as GP) 4 and a processor element 3, and a plurality of processor elements 3 are used to process a plurality of data at a time. Equipped with pieces. Each processor element 3 includes a register file 6 and an operation array 8. The GP 4 controls the entire processor 2, and the processor element 3 inputs data from the external input / output device, performs data processing, and outputs the data to the external input / output device.

上記のSIMD型マイクロプロセッサ2は、通常、1クロックサイクルで1命令を処理するが、1命令でプロセッサエレメント3の個数分のデータを一度に処理することができる。SIMD型マイクロプロセッサ2の性能を表す際には、SIMD型マイクロプロセッサ2の動作周波数や、プロセッサエレメント3の個数、即ち1命令で処理できるデータの数などが重要視されるが、更に、命令サイクル数も重要な要素とされる。つまり、同じ画像処理を行う限り1命令サイクルでも少ないほうが性能がよいとされるのである。しかし、1命令で複雑な処理を行うために、複雑な回路を設計・利用するならば、どうしてもコストが増大する。   The SIMD type microprocessor 2 normally processes one instruction in one clock cycle, but can process data for the number of processor elements 3 at one time with one instruction. When expressing the performance of the SIMD type microprocessor 2, the operating frequency of the SIMD type microprocessor 2 and the number of processor elements 3, that is, the number of data that can be processed by one instruction, are emphasized. Number is also an important factor. In other words, as long as the same image processing is performed, the performance is better when the number of instruction cycles is small. However, in order to perform complicated processing with one instruction, if a complicated circuit is designed and used, the cost inevitably increases.

本発明は、有効な命令と命令を実現する簡素な手段を設けることにより、上記のような画像データ処理に伴う命令の命令実行サイクル数を減らすことを目的とする。   It is an object of the present invention to reduce the number of instruction execution cycles of instructions associated with image data processing as described above by providing effective instructions and simple means for realizing the instructions.

本発明は、上記の目的を達成するためになされたものである。本発明に係る請求項1に記載のSIMD型マイクロプロセッサは、
全体制御を行うグローバルプロセッサと、複数のプロセッサエレメントを含むSIMD型マイクロプロセッサであって、
各々のプロセッサエレメントには、識別のための整数番号が順に付されており、
各プロセッサエレメントは、
そのプロセッサエレメントに付される識別のための整数番号が外部から入力される接続線と、
上記接続線に対して、上記グローバルプロセッサからのマスク制御信号を取り入れる論理回路が挿入されるマスク回路と
を有するSIMD型マイクロプロセッサである。
The present invention has been made to achieve the above object. According to the first aspect of the present invention, there is provided a SIMD type microprocessor.
A global processor for overall control and a SIMD type microprocessor including a plurality of processor elements ,
Each processor element is given an integer number for identification, in order,
Each processor element
A connection line to which an integer number for identification attached to the processor element is input from the outside;
A mask circuit in which a logic circuit for receiving a mask control signal from the global processor is inserted into the connection line;
A SIMD type microprocessor having

本発明を利用することにより、特に、画像データ処理に伴う命令の命令実行サイクル数を減らすことができる。そのために増設の必要な回路は、簡素なものであるに過ぎない。   By utilizing the present invention, it is possible to reduce the number of instruction execution cycles for instructions associated with image data processing. Therefore, the circuit that needs to be added is only a simple one.

以下、図面を参照して本発明に係る好適な実施の形態を説明する。   DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments according to the present invention will be described below with reference to the drawings.

図1は、本発明を含む一般的なSIMD型マイクロプロセッサ2の概略の構成を示すブロック図である。主としてプロセッサ2全体を制御するグローバルプロセッサ(以下、GPと言う。)4と、主として外部入出力装置からデータを入力しデータ処理を行い、外部入出力装置にデータを出力するプロセッサエレメント3とから、構成される。プロセッサエレメント3は、複数データを同時に処理するために複数用意されている。図1では、1個のGP4と、256個のプロセッサエレメント3とにより、SIMD型マイクロプロセッサ2が構成されている。   FIG. 1 is a block diagram showing a schematic configuration of a general SIMD type microprocessor 2 including the present invention. From a global processor (hereinafter referred to as GP) 4 that mainly controls the entire processor 2, and a processor element 3 that mainly inputs data from an external input / output device, performs data processing, and outputs data to the external input / output device. Composed. A plurality of processor elements 3 are prepared for simultaneously processing a plurality of data. In FIG. 1, a SIMD type microprocessor 2 is configured by one GP 4 and 256 processor elements 3.

図2は、本発明に係るSIMD型マイクロプロセッサ2のより詳細な構成を示すブロック図である。図に示されるようにGP4は、
・命令コードで構成されるプログラムを格納するためのプログラムRAM10と、
・GP4での演算データを格納するデータRAM12と、
・プログラムを解読し各種ブロックに各種制御信号を送るシーケンシャルユニット(SCU)9と、
・データを格納する複数の汎用レジスタ(G0〜G3)と、
・SCU9にプログラムの命令コードを送るためにプログラムのアドレスを保持するプログラムカウンタ(PC)14と、
・データメモリにスタックを形成するためデータメモリのアドレスを格納するスタックポインタ(SP)24と、
・プログラムの途中でサブルーチン処理を行う際には分岐が発生するが分岐前のアドレスを格納する複数のリンクレジスタ(LS、LI、LN)と、
・データメモリのデータ、命令コード中に記述された数値(即値)データ、若しくは汎用レジスタに格納されているデータのいずれかの組み合わせで算術論理演算を行う算術論理演算装置(ALU)11と、
・プロセッサの状態を保持するプロセッサステータスレジスタ(図示せず。)と、
・ハードウェア割り込みとソフトウェア割り込みを制御する割り込み制御回路(図示せず。)と、
・外部入出力に直接接続され外部からのデータの入出力を制御する外部I/O制御回路(図示せず。)と
を含む。
FIG. 2 is a block diagram showing a more detailed configuration of the SIMD type microprocessor 2 according to the present invention. As shown in the figure, GP4 is
A program RAM 10 for storing a program composed of instruction codes;
A data RAM 12 for storing calculation data in GP4;
A sequential unit (SCU) 9 that decodes the program and sends various control signals to various blocks;
A plurality of general purpose registers (G0 to G3) for storing data;
A program counter (PC) 14 that holds the address of the program to send the instruction code of the program to the SCU 9;
A stack pointer (SP) 24 for storing the address of the data memory in order to form a stack in the data memory;
-When performing subroutine processing in the middle of a program, a branch occurs, but a plurality of link registers (LS, LI, LN) for storing addresses before branching;
An arithmetic and logic unit (ALU) 11 that performs an arithmetic and logical operation on any combination of data in data memory, numeric (immediate) data described in an instruction code, or data stored in a general-purpose register;
A processor status register (not shown) that holds the state of the processor;
An interrupt control circuit (not shown) for controlling hardware interrupts and software interrupts;
An external I / O control circuit (not shown) that is directly connected to the external input / output and controls the input / output of data from the outside.

図2では示していないが、上記SCU9は、GP命令を解読し主にGP内の各ブロックに制御信号を発生するGPインストラクションデコーダと、プロセッサエレメント命令を解読し主にプロセッサエレメント内の各ブロックに制御信号を発生するプロセッサエレメントインストラクションデコーダとで、構成される。即ち、本プロセッサに係る命令コードは、主にGP4内の各ブロックを制御し、プログラムのシーケンスを決定したり、プロセッサエレメント3に転送する共通データをGP4内のALU11で加工したりするGP命令と、外部入出力から一度に入力されたデータをプロセッサエレメント3毎に処理をさせるプロセッサエレメント命令とに、分類される。   Although not shown in FIG. 2, the SCU 9 decodes the GP instruction and generates a control signal mainly in each block in the GP, and decodes the processor element instruction and mainly in each block in the processor element. And a processor element instruction decoder for generating a control signal. That is, the instruction code related to this processor is a GP instruction that mainly controls each block in GP4, determines a program sequence, and processes common data to be transferred to processor element 3 by ALU11 in GP4. These are classified into processor element instructions for processing data input at a time from the external input / output for each processor element 3.

図1に示すように、各プロセッサエレメント3は、外部からの入出力データを一時的に保持するレジスタファイル6と、プロセッサエレメント3内で算術論理演算やビット演算のデータ処理を行うための演算アレイ8を含む。さらに図2に示すようにレジスタファイル6には、例えば、R0〜R31までの8ビットのレジスタ34が32本用意されている。これらのレジスタ34からデータが演算アレイ8に転送され、又逆に演算アレイ8からデータが転送されてレジスタ34に格納される。レジスタ34と演算アレイ6とのバスは、8ビットの双方向バスである。   As shown in FIG. 1, each processor element 3 includes a register file 6 that temporarily holds input / output data from the outside, and an operation array for performing data processing of arithmetic logic operations and bit operations in the processor element 3. 8 is included. Further, as shown in FIG. 2, the register file 6 includes 32 8-bit registers 34 from R0 to R31, for example. Data is transferred from these registers 34 to the operation array 8, and conversely, data is transferred from the operation array 8 and stored in the register 34. The bus between the register 34 and the arithmetic array 6 is an 8-bit bidirectional bus.

更に図2に示すように、単体の演算アレイ8は演算ユニットであり、
・レジスタファイル6からのデータをシフトして符号付き拡張もしくは符号無し拡張をし16ビットデータに加工するシフト・拡張器44と、
・例えば、Aレジスタ36とFレジスタ40のような複数の汎用レジスタと、
・レジスタファイル6からのデータをシフト・拡張器44を経由して加工し1入力とし、他方の入力をAレジスタ36からの入力とする算術論理演算装置(ALU)36と、
・(後で説明する)本発明に係るPE番号マスク回路、固定値選択回路、及びnおきビットパターンデータ出力回路の夫々からの出力を入力とし、自らの出力をAレジスタ38やTレジスタ54に繋げる選択回路35と
を含む。算術論理演算装置(ALU)36の出力は、Aレジスタ36もしくはFレジスタ40に一時格納されように設定されているが、Aレジスタ36からレジスタファイル6の所定の1レジスタ34にデータ転送されることも可能である。
Further, as shown in FIG. 2, the single arithmetic array 8 is an arithmetic unit,
A shift / extension unit 44 that shifts data from the register file 6 to perform signed extension or unsigned extension to process the data into 16-bit data;
For example, a plurality of general purpose registers such as A register 36 and F register 40,
An arithmetic logic unit (ALU) 36 that processes the data from the register file 6 via the shift / extension unit 44 to make one input and the other input from the A register 36;
The outputs from the PE number mask circuit, fixed value selection circuit, and n-th bit pattern data output circuit according to the present invention are input to the A register 38 and the T register 54 (described later). And a selection circuit 35 to be connected. The output of the arithmetic logic unit (ALU) 36 is set so as to be temporarily stored in the A register 36 or the F register 40, but data is transferred from the A register 36 to a predetermined one register 34 of the register file 6. Is also possible.

また、演算アレイ8は、後でも説明するように、「Tレジスタ」と呼ばれる演算制御レジスタ54を備える。ALU36からの出力は、該Tレジスタ54によって、Aレジスタ36もしくはFレジスタ40への書き込み内容が制御される。例えば、演算制御レジスタ(Tレジスタ)54の中の所定の1ビットの状態に応じて、“1”あればAレジスタ36もしくはFレジスタ54への書き込みを行い、“0”であれば行わないというような制御が行なわれる。   The arithmetic array 8 includes an arithmetic control register 54 called “T register” as will be described later. The output from the ALU 36 is controlled by the T register 54 to be written to the A register 36 or the F register 40. For example, according to the state of a predetermined 1 bit in the arithmetic control register (T register) 54, if “1”, writing to the A register 36 or the F register 54 is performed, and if “0”, it is not performed. Such control is performed.

図3は、レジスタファイル6のレジスタ34と演算アレイ8とを結び付けるマルチプレクサの機能を示すブロック図である。PEi(i=0,1,2,・・・255)のプロセッサエレメントに備わるマルチプレクサは7to1(7対1)のマルチプレクサであり、PEi−3(PEiの3つ左隣り)、PEi−2(PEiの2つ左隣り)、PEi−1(PEiの1つ左隣り)、PEi、PEi+1(PEiの1つ右隣り)、PEi+2(PEiの2つ右隣り)、PEi+3(PEiの3つ右隣り)のプロセッサエレメント3のレジスタファイル6からのデータを入出力することができるように設定されている。この機能を、PEシフト機能と称する。マルチプレクサによって選択されたデータは、演算アレイ8のシフト・拡張部44に転送される。   FIG. 3 is a block diagram showing the function of the multiplexer that connects the register 34 of the register file 6 and the operation array 8. The multiplexers provided in the processor elements of PEi (i = 0, 1, 2,... 255) are 7 to 1 (7 to 1) multiplexers, PEi-3 (3 left neighbors of PEi), PEi-2 (PEi 2), PEi-1 (next to the left of PEi), PEi, PEi + 1 (next to the right of PEi), PEi + 2 (2 to the right of PEi), PEi + 3 (3 to the right of PEi) It is set so that data from the register file 6 of the processor element 3 can be input / output. This function is referred to as a PE shift function. The data selected by the multiplexer is transferred to the shift / extension unit 44 of the arithmetic array 8.

ここで、プロセッサエレメント3の番号を含む呼称について定義する。図2に示すように、本発明に係るSIMD型マイクロプロセッサ2には256個のプロセッサエレメント3が設置されており、それらプロセッサエレメント3の個々に対し、(図では左側から)PE0、PE1、PE2、PE3、・・・、PE254、PE255というように、プロセッサエレメント番号(PE番号)を付すと定義する。   Here, a name including the number of the processor element 3 is defined. As shown in FIG. 2, the SIMD type microprocessor 2 according to the present invention is provided with 256 processor elements 3, and each of the processor elements 3 (from the left side in the figure) PE0, PE1, PE2 , PE3,..., PE254, PE255, and so on, are defined as processor element numbers (PE numbers).

≪第1の実施の形態≫
図4は、本発明の第1の実施の形態に係るPE(プロセッサエレメント)番号マスク回路の回路図である。上記PE番号マスク回路は、(従来技術である)PE番号を所定の汎用レジスタに入力する接続線に対し、GP4からのマスク制御信号(即ち、PE番号マスク信号)を取り入れる論理回路を挿入することにより形成される。後でも説明するように、この図4の回路構成では、“0”によりマスクすることになる。
<< First Embodiment >>
FIG. 4 is a circuit diagram of a PE (processor element) number mask circuit according to the first embodiment of the present invention. In the PE number mask circuit, a logic circuit that takes in a mask control signal (ie, PE number mask signal) from GP4 is inserted into a connection line for inputting a PE number (which is a prior art) to a predetermined general-purpose register. It is formed by. As will be described later, in the circuit configuration of FIG. 4, masking is performed with “0”.

各PEi(i=0,1,2,・・・255)においては、各PE番号を形成する接続線部50とPE番号マスク信号を取り込む論理回路(AND回路)部51とが結合して設置されている。そこからの出力は、後で説明するように、各プロセッサエレメント3毎に設置されている選択回路35(図2参照)に繋がる。その選択回路35を介して例えばAレジスタ38にて上記出力が格納される。   In each PEi (i = 0, 1, 2,... 255), a connection line unit 50 that forms each PE number and a logic circuit (AND circuit) unit 51 that captures a PE number mask signal are combined and installed. Has been. The output from there is connected to a selection circuit 35 (see FIG. 2) installed for each processor element 3, as will be described later. The output is stored in the A register 38 through the selection circuit 35, for example.

(従来技術である)各PE番号を形成する接続線部50を利用して、Aレジスタ38にPE番号を設定することは従来も可能であった。例えば、「LDPN」(Load PE Number)という命令を実行することにより、上記機能を実現していたとする。ここで、本発明の第1の実施の形態に係る回路によっても、全く同じ機能を実現すること、即ち各PE番号を各選択回路35に送ることを「LDPN」の命令の利用によって実現するように設定することができる。なお、図4からも明白なように、LDPN命令を用いるときのPE番号マスク信号は(8ビット)すべて“1”となる。このような設定により、VCCとGNDとで形成されるパターンでPE番号を表すデータが、各プロセッサエレメント3の選択回路35に入力されることになる。   It has been possible in the past to set the PE number in the A register 38 by using the connecting line portion 50 that forms each PE number (which is a conventional technique). For example, it is assumed that the above function is realized by executing an instruction “LDPN” (Load PE Number). Here, even with the circuit according to the first embodiment of the present invention, the same function is realized, that is, the transmission of each PE number to each selection circuit 35 is realized by using the instruction “LDPN”. Can be set to As is apparent from FIG. 4, the PE number mask signal when the LDPN instruction is used (8 bits) is all “1”. With this setting, data representing the PE number in a pattern formed by VCC and GND is input to the selection circuit 35 of each processor element 3.

具体的に示すと、選択回路35に入力されるデータは、
・PE0、PE1、PE2、・・・PE255の順に、
・0、1、2、・・・255
の値となる。
Specifically, the data input to the selection circuit 35 is
-PE0, PE1, PE2, ... PE255 in this order
・ 0, 1, 2, ... 255
It becomes the value of.

更に、本発明の第1の実施の形態に係る回路においては、SIMD型マイクロプロセッサ2への命令にて指定するビットを“0”に設定することにより、入力データをマスクすることができる。そのような処理を行なう命令として、「LDNM」(Load PE Number Masking)命令が用意されている。LDNM命令は、マスクパターンを即値で指定することで出力データをマスクする。その即値はPEマスク信号として図4の回路に取り込まれる。LDNM命令は、次のように、記述される。   Furthermore, in the circuit according to the first embodiment of the present invention, the input data can be masked by setting the bit designated by the instruction to the SIMD type microprocessor 2 to “0”. As an instruction for performing such processing, an “LDNM” (Load PE Number Masking) instruction is prepared. The LDNM instruction masks output data by designating a mask pattern with an immediate value. The immediate value is taken into the circuit of FIG. 4 as a PE mask signal. The LDNM instruction is described as follows.

LDNM/0 #00000011b   LDNM / 0 # 00000011b

上記の記述で「00000011b」の末尾のbは、2進数表記であることを示す。上記の命令では、PE番号のビット3からビット7までの出力値に対しマスクが施されることになる。また、“/0”は、“0”によるマスクを表すオプション記述である。   In the above description, “b” at the end of “00000011b” indicates binary notation. In the above instruction, the output values from bit 3 to bit 7 of the PE number are masked. “/ 0” is an optional description representing a mask by “0”.

よって、各選択回路35に入力されるデータは、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・PE254、PE255の順に、
・0、1、2、3、0、1、2、・・・2、3
の値となる。
Therefore, the data input to each selection circuit 35 is
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, ... PE254, PE255 in this order,
・ 0, 1, 2, 3, 0, 1, 2, ... 2, 3
It becomes the value of.

図4の第1の実施の形態にかかる回路では、AND回路が利用されているが、これをOR回路に置き換えることも想定され得る。即ち、各PEi(i=0,1,2,・・・255)において、各PE番号を形成する接続線部50とPE番号マスク信号を取り込む論理回路(OR回路)部(図示せず。)とが結合して設置されることになる。このとき、上記(図4)の回路構成では“0”によりマスクをしていたが、OR回路に置き換える回路の場合、“1”によるマスクとなる。命令は以下のように記述される。   In the circuit according to the first embodiment of FIG. 4, an AND circuit is used, but it may be assumed that this is replaced with an OR circuit. That is, in each PEi (i = 0, 1, 2,... 255), a connection line portion 50 that forms each PE number and a logic circuit (OR circuit) portion that captures a PE number mask signal (not shown). Will be installed in combination. At this time, in the circuit configuration described above (FIG. 4), masking is performed with “0”. However, in the case of a circuit that is replaced with an OR circuit, masking with “1” is performed. The instructions are written as follows:

LDNM/1 #11111100b   LDNM / 1 # 11111100b

上記の記述では、PE番号のビット3からビット7までの入力値が、“1”でマスクされることになる。/1は“1”によるマスクを表すオプション記述である。   In the above description, the input values from bit 3 to bit 7 of the PE number are masked with “1”. / 1 is an optional description representing a mask by “1”.

このとき、各選択回路35に入力されるデータは、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・PE254、PE255の順に、
・252(11111100b)、253(11111101b)、254(11111110b)、255(11111111b)、252、253、254、・・・254、255
の値となる。
At this time, the data input to each selection circuit 35 is:
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, ... PE254, PE255 in this order,
252 (11111100b), 253 (11111101b), 254 (11111110b), 255 (11111111b), 252, 253, 254, ... 254, 255
It becomes the value of.

図4に示される本発明の第1の実施の形態に係る回路を利用することにより、マスク制御信号(PE番号マスク信号)にて“0”であるビットに対応する制御線がマスクされ、所定のビットのみで表され且つ繰り返しの規則性を備えるデータを、1命令で設定(形成)することができる。例えば、上位6ビットを全てマスクすることにより、下位2ビットのみが有効となり、PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・のプロセッサエレメント3の各選択回路35に対し、
・0、1、2、3、0、1、2、3、・・・
の規則性のある繰り返しの値を1命令で出力することができる。また、図4の回路において、AND回路を全てOR回路にすることによっても、PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・のプロセッサエレメント3の各選択回路35に対し、規則性のある繰り返しの値を1命令で出力することができる。但し、このときは“1”によりマスクがなされることになる。
By using the circuit according to the first embodiment of the present invention shown in FIG. 4, a control line corresponding to a bit of “0” is masked by a mask control signal (PE number mask signal), and a predetermined value is masked. It is possible to set (form) data represented by only this bit and having repetitive regularity with one instruction. For example, by masking all the upper 6 bits, only the lower 2 bits are valid, and for each selection circuit 35 of the processor element 3 of PE0, PE1, PE2, PE3, PE4, PE5, PE6,.
・ 0, 1, 2, 3, 0, 1, 2, 3, ...
It is possible to output a repeated value with regularity in one instruction. In the circuit of FIG. 4, even if all the AND circuits are OR circuits, the rules for the selection circuits 35 of the processor elements 3 of PE0, PE1, PE2, PE3, PE4, PE5, PE6,. It is possible to output a repeated value with a single instruction. However, at this time, the mask is made by “1”.

従来技術を利用する場合、LDPN命令でPE番号を一旦Aレジスタ38に設定し、更にそのAレジスタ38の値を4で割ったときの剰余を同じくAレジスタ38に設定すれば、図4と同様の結果が得られる。しかし、
・LDPN命令で1命令サイクル、
・(乗除算器があると仮定して、)除算命令で1命令サイクル、
計2命令サイクルが必要である。然も、乗除算器をSIMD型マイクロプロセッサ2の全プロセッサエレメント3内に設定するならば、莫大な回路規模が必要となる。通常のSIMD型マイクロプロセッサ2には乗除算器は設定されてないため、除算の実施は、ALU36を利用して被除数のビット数の分までの減算を行なうことで実現される。汎用レジスタであるAレジスタ38は、例えば16ビットであるならば、最短16回の減算が必要となる(現実には除算前の設定が数命令サイクル必要になる)。ここで16命令サイクルかかり、結局、全体で最短18命令サイクルとなる。
When using the prior art, if the PE number is once set in the A register 38 by the LDPN instruction, and the remainder when the value of the A register 38 is divided by 4 is also set in the A register 38, the same as in FIG. Result is obtained. But,
・ One instruction cycle with LDPN instruction
-1 instruction cycle with division instruction (assuming there is a multiplier / divider)
A total of two instruction cycles are required. However, if the multiplier / divider is set in all the processor elements 3 of the SIMD type microprocessor 2, an enormous circuit scale is required. Since a multiplier / divider is not set in the normal SIMD type microprocessor 2, division is performed by subtracting up to the number of bits of the dividend using the ALU 36. If the A register 38, which is a general-purpose register, is 16 bits, for example, subtraction is required at least 16 times (actually, setting before division requires several instruction cycles). Here, it takes 16 instruction cycles, and the total is 18 instruction cycles at the shortest.

以上、明白なように、本発明の第1の実施の形態に係る回路によって、相当数の命令サイクルの削減が行なえる。   As is apparent from the above, a considerable number of instruction cycles can be reduced by the circuit according to the first embodiment of the present invention.

≪第2の実施の形態≫
図5は、本発明の第2の実施の形態に係る固定値選択回路の回路図である。上記固定値選択回路は、n(nは自然数)おきの周期変動を備え1周期内では単調に0から1ずつ増加する数値を、(後で説明する)選択回路35に対し、入力値選択信号による選択制御の下、出力する回路である。図5に示される回路では、nの値として、3、5、7が想定されている。
<< Second Embodiment >>
FIG. 5 is a circuit diagram of a fixed value selection circuit according to the second embodiment of the present invention. The fixed value selection circuit has a cycle variation every n (n is a natural number), and inputs a numerical value monotonously increasing from 0 to 1 within one cycle to the selection circuit 35 (described later). It is a circuit that outputs under the selection control by. In the circuit shown in FIG. 5, 3, 5, and 7 are assumed as the value of n.

図5に示されるように、各プロセッサエレメント3においては、各別の接続線部50’とマルチプレクサ部51’が備わる。接続線部50’は、9ビットの信号を生成するのであるが、左方2ビットは「3」おきの周期変動を備え、中位3ビットは「5」おきの周期変動を備え、右方4ビットは「7」おきの周期変動を備えるように、接続線が設定されている。図5から明白なように、3おきの周期変動は、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・の順に、
・0、1、2、0、1、2、0、・・・
となる。5おきの周期変動は、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、...の順に、
・0、1、2、3、4、0、1、・・・
となる。7おきの周期変動は、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、PE8、・・・の順に、
・0、1、2、3、4、5、6、0、1、・・・
となる。
As shown in FIG. 5, each processor element 3 includes a separate connection line portion 50 ′ and a multiplexer portion 51 ′. The connecting line section 50 'generates a 9-bit signal, but the left 2 bits have periodic fluctuations every "3", and the middle 3 bits have periodic fluctuations every "5". The connection lines are set so that the 4 bits have periodic fluctuations every "7". As is apparent from FIG. 5, every third periodic variation is
・ PE0, PE1, PE2, PE3, PE4, PE5, PE6, ...
・ 0, 1, 2, 0, 1, 2, 0, ...
It becomes. Periodic fluctuation every 5th
PE0, PE1, PE2, PE3, PE4, PE5, PE6,. . . In the order
・ 0, 1, 2, 3, 4, 0, 1, ...
It becomes. Periodic fluctuation every 7th
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8,.
・ 0, 1, 2, 3, 4, 5, 6, 0, 1, ...
It becomes.

どの周期変動の出力を選択するかは、入力値選択信号により与えられる。該入力値選択信号は、各プロセッサエレメント3におけるマルチプレクサ部51’に指示を与えるものである。上記の周期変動の抽出に係る命令として、次の命令「LDRN」(Load Repeating Number)が設定されている。   Which period variation output is selected is given by an input value selection signal. The input value selection signal gives an instruction to the multiplexer unit 51 ′ in each processor element 3. The next instruction “LDRN” (Load Repeating Number) is set as an instruction related to the above-described extraction of the period variation.

LDRN #3   LDRN # 3

上記の命令では、各プロセッサエレメント3の選択回路35に対し、3おきの周期変動を備え1周期内では単調に0から2まで1ずつ増加する数値が、プロセッサエレメント3の有するPE番号の順に従い、出力されることになる。   In the above-described instruction, the selection circuit 35 of each processor element 3 has a period variation every third, and a numerical value that increases monotonically from 0 to 2 within one period follows the order of PE numbers of the processor element 3. Will be output.

図5に示される本発明の第2の実施の形態に係る固定値選択回路を利用すれば、上記のような、選択回路35(Aレジスタ38)への数値入力を、1命令サイクルで行なうことができる。ここで、上記の例に示される3、5、7という数字は、一般的に、画像処理において頻繁に使用される値であることが知られている。   If the fixed value selection circuit according to the second embodiment of the present invention shown in FIG. 5 is used, the numerical value input to the selection circuit 35 (A register 38) as described above is performed in one instruction cycle. Can do. Here, it is known that the numbers 3, 5, and 7 shown in the above example are values that are frequently used in image processing.

≪第3の実施の形態≫
図6は、本発明の第3の実施の形態に係るnおきビットパターンデータ出力回路の回路図である。上記nおきビットパターンデータ出力回路は、個別のビットにおいて(PE番号の順に従い)nおきに“1”を設定する接続線に対し、GP4からのビットマスク信号を取り入れる論理回路を挿入することにより形成される。
<< Third Embodiment >>
FIG. 6 is a circuit diagram of an n-th bit pattern data output circuit according to the third embodiment of the present invention. The n-bit bit pattern data output circuit inserts a logic circuit that takes in a bit mask signal from GP4 to a connection line that sets “1” every n (in the order of PE numbers) in individual bits. It is formed.

各PEi(i=0,1,2,・・・255)においては、夫々のビットにおいてnおきの“1”を設定する接続線部50”とビットマスク信号を取り込む論理回路(AND回路)部51”が結合して設置されている。そこからの出力は、第1の実施の形態に係る回路、及び第2の実施の形態に係る回路と同様に、各プロセッサエレメント3に設置されている選択回路35(図2参照)に繋がる。その選択回路35を介して例えばAレジスタ38にて上記出力が格納される。   In each PEi (i = 0, 1, 2,... 255), a connection line portion 50 for setting every n to “1” in each bit and a logic circuit (AND circuit) portion for taking in a bit mask signal 51 ″ are installed in combination. The output from there is connected to a selection circuit 35 (see FIG. 2) installed in each processor element 3 in the same manner as the circuit according to the first embodiment and the circuit according to the second embodiment. The output is stored in the A register 38 through the selection circuit 35, for example.

各PEiの接続線部50”は、8ビットの個別ビットを備える。例えば、ビット0は「2おき」、ビット1は「3おき」、ビット2は「5おき」、ビット3は「7おき」、ビット4は「11おき」、ビット5は「13おき」、ビット6は「17おき」、及びビット7は「23おき」の周期特性を備えている。夫々のビットにおいて各周期特性に相当するPE番号であれば、該ビットが“1”となるように、各PEiの接続線部50”が設定されている(即ち、該当するビットがVCCに接続されている)(図6)。即ち、
・2おきの周期特性を有するビット0は、PE0、PE2、PE4、PE6、PE8、・・・において、
・3おきの周期特性を有するビット1は、PE0、PE3、PE6、PE9、PE12、・・・において、
・5おきの周期特性を有するビット2は、PE0、PE5、PE10、PE15、PE20、・・・において
VCCに接続されている。
Each PEi connection line section 50 "includes 8 individual bits. For example, bit 0 is" every 2 ", bit 1 is" every 3 ", bit 2 is" every 5 ", and bit 3 is" every 7 ". , Bit 4 is “every 11”, bit 5 is “every 13”, bit 6 is “every 17”, and bit 7 is “every 23”. If each bit has a PE number corresponding to each periodic characteristic, the connection line portion 50 ”of each PEi is set so that the bit is“ 1 ”(that is, the corresponding bit is connected to the VCC). (FIG. 6) That is,
Bit 0 having every other periodic characteristic is PE0, PE2, PE4, PE6, PE8,.
-Bit 1 having periodic characteristics of every third is PE0, PE3, PE6, PE9, PE12, ...
Bit 2 having periodic characteristics every 5 is connected to VCC at PE0, PE5, PE10, PE15, PE20,.

上記のように設定される各PEiの接続線部50”の設定内容の抽出に係る命令として、次の命令「LDRB」(Load Repeating Bit)が用意されている。   The next instruction “LDRB” (Load Repeating Bit) is prepared as an instruction relating to the extraction of the setting contents of the connection line portion 50 ″ of each PEi set as described above.

LDRB   LDRB

この命令により、各PEiの接続線部50”の設定内容が全て、例えば、選択回路35(乃至Aレジスタ38)に入力される。上記の命令では、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、PE8、PE9、PE10、PE11、・・・の順に、
・11111111b(2進数表記。以下同様である。)、00000000b、00000001b、00000010b、00000001b、00000100b、00000011b、00001000b、00000001b、00000110b、00000001b、・・・
となる。
By this instruction, all the setting contents of the connection line portion 50 ″ of each PEi are input to, for example, the selection circuit 35 (or the A register 38).
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11,.
11111111b (binary notation; the same applies hereinafter), 00000000b, 00000001b, 00000010b, 00000001b, 00000100b, 00000011b, 00001000b, 00000001b, 00000110b, 00000001b, ...
It becomes.

但し、上述したように、上記接続線に対し、GP4からのビットマスク信号を取り入れる論理回路が挿入されているため、命令コードにおいて指定するビットが“0”に設定されることにより、選択回路35(乃至Aレジスタ38)への入力データがマスクされ得る。そのマスク処理を行なうときには、命令は次のように記述される。マスクパターンは、即値で指定されてビットマスク信号として図6の回路に取り込まれ、選択回路35(乃至Aレジスタ38)への入力データをマスクする。   However, as described above, since the logic circuit for taking in the bit mask signal from GP4 is inserted into the connection line, the selection circuit 35 is set by setting the bit specified in the instruction code to “0”. Input data to (or A register 38) may be masked. When performing the mask processing, the instruction is described as follows. The mask pattern is designated as an immediate value and is taken into the circuit of FIG. 6 as a bit mask signal to mask input data to the selection circuit 35 (or A register 38).

LDRB/0 #00000100b   LDRB / 0 # 00000100b

上記の命令では、ビット2に“1”が設定されるPEに係る出力データのみ“00000100b”の数値となる。“00000100b”が、例えばAレジスタ38に設定されるのは、
・PE0、PE5、PE10、PE15、PE20、...
である。それ以外のPEにおいては、“00000000b”となる。
In the above instruction, only the output data related to the PE in which “1” is set in bit 2 has a numerical value of “00000100b”. For example, “00000100b” is set in the A register 38.
PE0, PE5, PE10, PE15, PE20,. . .
It is. For other PEs, the value is “00000000b”.

第3の実施の形態に係るnおきビットパターンデータ出力回路では、上記のような選択回路35(Aレジスタ38)への数値入力を、1命令サイクルで行なうことができる。   In the n-bit bit pattern data output circuit according to the third embodiment, the numerical value input to the selection circuit 35 (A register 38) as described above can be performed in one instruction cycle.

≪第4の実施の形態≫
本発明の第4の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Fourth Embodiment >>
A SIMD type microprocessor 2 according to a fourth embodiment of the present invention will be described.

本発明の第1の実施の形態に係る「LDPM」命令において、即値(PE番号マスク信号)をすべてマスクしない数値(#11111111b)とした場合、PE番号がそのまま選択回路35(乃至Aレジスタ38)に入力される。また、前に説明したように、GP4からのPE番号マスク信号を取り入れる論理回路が挿入されない、PE番号を所定の汎用レジスタ等に入力する接続線を、そのまま利用することによっても、PE番号がそのまま選択回路35(乃至Aレジスタ38)に入力される。   In the “LDPM” instruction according to the first embodiment of the present invention, when the immediate value (PE number mask signal) is a numerical value (# 11111111b) that does not mask all, the PE number is directly selected by the selection circuit 35 (or A register 38). Is input. In addition, as described above, the PE number is not changed by using the connection line for inputting the PE number to a predetermined general-purpose register or the like without inserting a logic circuit for taking in the PE number mask signal from GP4. The data is input to the selection circuit 35 (or A register 38).

従って、選択回路35には、
・PE0、PE1、PE2、・・・PE255の順に、
・0、1、2、...255
の値が入力される。
Therefore, the selection circuit 35 includes
-PE0, PE1, PE2, ... PE255 in this order
・ 0, 1, 2,. . . 255
The value of is entered.

各プロセッサエレメント3において、上記の選択回路35に入力された値を、選択回路35に備わるコンパレータ80(図7)にて(SIMD型マイクロプロセッサ2への)命令で指定された即値と比較し、その結果をTレジスタ(演算制御レジスタ)54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、256個あるプロセッサエレメント3のうち特定の1つのプロセッサエレメント3においてのみ演算を行ない、その他のプロセッサエレメント3の演算を行なわないという設定をすることができる。   In each processor element 3, the value input to the selection circuit 35 is compared with the immediate value specified by the instruction (to the SIMD type microprocessor 2) in the comparator 80 (FIG. 7) provided in the selection circuit 35. The result is stored in a bit at a predetermined position of the T register (arithmetic control register) 54. By storing the result in the T register 54, the calculation after the next instruction is performed only in one specific processor element 3 among the 256 processor elements 3, and the other processor elements 3 are not operated. You can set it.

図7は、本発明に係る選択回路35の概略回路ブロック図を示す。図4、図5及び図6の、PE番号マスク回路、固定値選択回路及びnおきビットパターンデータ出力回路からの出力データは、図2に示す演算アレイ8内の選択回路35に繋がる。GP4からの制御信号である入力データ選択信号2によってマルチプレクサ78にて選択され、3者のうちいずれか1データがAレジスタ38に入力される。また、選択された1データは、命令コード中の即値データIMM2とコンパレータ80にて比較され、その結果一致した場合には “1”を出力する。一致しなかった場合“0”を出力する。   FIG. 7 shows a schematic circuit block diagram of the selection circuit 35 according to the present invention. Output data from the PE number mask circuit, the fixed value selection circuit and the n-th bit pattern data output circuit shown in FIGS. 4, 5, and 6 is connected to the selection circuit 35 in the arithmetic array 8 shown in FIG. The input data selection signal 2 which is a control signal from the GP 4 is selected by the multiplexer 78, and one of the three data is input to the A register 38. Also, the selected 1 data is compared with the immediate data IMM2 in the instruction code by the comparator 80, and when the result is coincident, “1” is output. If they do not match, “0” is output.

ここで、本発明に係るTレジスタ54について説明する。図2のように、各プロセッサエレメント3には、実行条件指定のための演算制御レジスタ(Tレジスタ)54が装備されている。図8は、Tレジスタ54の回路ブロック図の例である。図8では、Tレジスタ54は8ビットのレジスタ(T0、T1、・・・T7)を備え、夫々の1ビットのレジスタは別々に制御される。そのため、1つのプロセッサエレメント3にて8通りの制御パターンを保持できる。   Here, the T register 54 according to the present invention will be described. As shown in FIG. 2, each processor element 3 is equipped with an operation control register (T register) 54 for specifying an execution condition. FIG. 8 is an example of a circuit block diagram of the T register 54. In FIG. 8, the T register 54 includes 8-bit registers (T0, T1,... T7), and each 1-bit register is controlled separately. Therefore, eight control patterns can be held by one processor element 3.

Tレジスタ54における夫々のビットは、各プロセッサエレメント3の演算実行の無効/有効の制御を行ない、特定のプロセッサエレメント3だけを演算対象として選択するという制御を行なうことができる。例えば、次のような命令が想定される。   Each bit in the T register 54 can be controlled to invalidate / validate the execution of the operation of each processor element 3 and to select only a specific processor element 3 as an operation target. For example, the following instructions are assumed.

ADD/T1 #12   ADD / T1 # 12

この命令は加算命令であり、Aレジスタ38の値と即値“12”とが加算されて結果がAレジスタ38に格納される。この命令において、“/T1”という実行制御オプションを記述することにより、Tレジスタ38のうちT1の(ビット)フラグの値が“1”であるプロセッサエレメント3のみ、Aレジスタ38へのALU36からのデータの格納が行なわれる。T1フラグが“0”であるプロセッサエレメント3のAレジスタ54へのデータの格納は行なわれない。   This instruction is an addition instruction, the value of the A register 38 and the immediate value “12” are added, and the result is stored in the A register 38. In this instruction, by describing the execution control option “/ T1”, only the processor element 3 whose T1 (bit) flag value is “1” in the T register 38 is sent from the ALU 36 to the A register 38. Data is stored. Data is not stored in the A register 54 of the processor element 3 whose T1 flag is “0”.

図8の例では、このTレジスタ54への入力へは、
・PE3内の演算ユニット6のALU36にて発生したオーバーフローフラグ(V)、キャリーフラグ(C)からの入力、
・全Tフラグへの即値IMM2によるマスク操作の結果に対する、OR操作の結果からの入力、
・図2に示される記憶手段2からの入力、
・図7の選択回路35でのコンパレータ80出力からの入力
などである。
In the example of FIG. 8, the input to the T register 54 is
An input from the overflow flag (V) and carry flag (C) generated in the ALU 36 of the arithmetic unit 6 in the PE 3
-Input from the result of OR operation to the result of mask operation by immediate value IMM2 to all T flags,
Input from the storage means 2 shown in FIG.
The input from the comparator 80 output in the selection circuit 35 in FIG.

以上説明した本発明の第4の実施の形態に係るSIMD型マイクロプロセッサ2によれば、特定のPE番号のプロセッサエレメント3のみ演算を行なわせるという処理を、少ない命令数で行なうことができる。従来の技術であれば、全プロセッサエレメント3のTレジスタ54に対し先ず“0”を設定し、更に、演算を行なうプロセッサエレメント3のTレジスタ54に“1”を設定することにより、上記の機能は実現されるが、本発明の第4の実施の形態に比べて命令数は必然的に増加してしまう。   According to the SIMD type microprocessor 2 according to the fourth embodiment of the present invention described above, it is possible to perform the process of performing the operation only on the processor element 3 having a specific PE number with a small number of instructions. According to the conventional technique, first, “0” is set to the T registers 54 of all the processor elements 3, and further, “1” is set to the T registers 54 of the processor elements 3 that perform the operation. However, the number of instructions inevitably increases as compared with the fourth embodiment of the present invention.

≪第5の実施の形態≫
本発明の第5の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Fifth Embodiment >>
A SIMD type microprocessor 2 according to a fifth embodiment of the present invention will be described.

第5の実施の形態に係るSIMD型マイクロプロセッサ2の各プロセッサエレメント3においては、第1の実施の形態に係るPE番号マスク回路から選択回路35に繋げられる(データ)値を、選択回路35に備わるコンパレータ80(図7)にて、命令コード中に指定された即値データと比較し、その結果をTレジスタ54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、「2のべき乗」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させるという制御を行うことができる。   In each processor element 3 of the SIMD type microprocessor 2 according to the fifth embodiment, the (data) value connected to the selection circuit 35 from the PE number mask circuit according to the first embodiment is transferred to the selection circuit 35. The provided comparator 80 (FIG. 7) compares the immediate data specified in the instruction code and stores the result in a bit at a predetermined position of the T register 54. By storing the result in the T register 54, it is possible to perform control such that only the processor element 3 having the PE number every “power of 2” is executed in the calculation after the next instruction.

図4に示されるPE番号マスク回路の出力は図7の選択回路35に入力され、該選択回路35では(予め用意されている)「LDTM」(Load to T register Masked PE Number)命令を実行することで、入力データ選択信号2によりそのPE番号マスク回路の出力のデータが選択される。更に、上記LDTM命令の実行時に、即値データ(の1つ)がIMM2に入力され、PE番号マスク回路の出力データとIMM2とがコンパレータ80にて比較される。一致するとそのプロセッサエレメント3のコンパレータ80の出力が“1”となり、一致しなかったプロセッサエレメント3では“0”となる。次の命令は、実行される命令の例である。   The output of the PE number mask circuit shown in FIG. 4 is input to the selection circuit 35 of FIG. 7, and the selection circuit 35 executes an “LDTM” (Load to T register Masked PE Number) instruction (prepared in advance). Thus, the output data of the PE number mask circuit is selected by the input data selection signal 2. Further, when the LDTM instruction is executed, immediate data (one of them) is input to the IMM 2, and the output data of the PE number mask circuit and the IMM 2 are compared by the comparator 80. If they match, the output of the comparator 80 of the processor element 3 becomes “1”, and the processor element 3 that does not match becomes “0”. The following instruction is an example of an instruction to be executed.

LDTM/T2 #00000011b、#1   LDTM / T2 # 00000011b, # 1

上記命令において、即値オペランドのうち第1オペランドがマスクパターンである。第2オペランドが比較値である。但し、マスクパターンは2進数表記、比較値は10進表記としている。
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、・・・にマスクした結果の値は、
・0、1、2、3、0、1、2、3、・・・
のような繰り返しの値となるが、比較値と一致する値のPE、即ち、
・PE1、PE5、PE9、・・・
のTレジスタ54のT2フラグに“1”が設定される。他のPEのTレジスタ54のT2フラグには“0”が設定される。これによって以降の命令でTレジスタ54のT2フラグを実行制御に用いれば、特定のPE、即ちPE1から始まり「22」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させることができる。
In the above instruction, the first operand of the immediate operand is a mask pattern. The second operand is a comparison value. However, the mask pattern is expressed in binary notation, and the comparison value is expressed in decimal.
The value of the result masked to PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,.
・ 0, 1, 2, 3, 0, 1, 2, 3, ...
It is a repetitive value like
・ PE1, PE5, PE9, ...
"1" is set in the T2 flag of the T register 54. “0” is set in the T2 flag of the T register 54 of another PE. As a result, if the T2 flag of the T register 54 is used for execution control in subsequent instructions, only the processor element 3 having a PE number starting with a specific PE, that is, every “2 2”, starting with PE 1 can be executed.

≪第6の実施の形態≫
本発明の第6の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Sixth Embodiment >>
A SIMD type microprocessor 2 according to a sixth embodiment of the present invention will be described.

第6の実施の形態に係るSIMD型マイクロプロセッサ2の各プロセッサエレメント3においては、第2の実施の形態に係る固定値選択回路から選択回路35に繋げられる(データ)値を、選択回路35に備わるコンパレータ80(図7)にて、命令コード中に指定された即値データと比較し、その結果をTレジスタ54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、3、5、7のような特定の数値おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させるという制御を行うことができる。   In each processor element 3 of the SIMD type microprocessor 2 according to the sixth embodiment, the (data) value connected to the selection circuit 35 from the fixed value selection circuit according to the second embodiment is transferred to the selection circuit 35. The provided comparator 80 (FIG. 7) compares the immediate data specified in the instruction code and stores the result in a bit at a predetermined position of the T register 54. By storing the result in the T register 54, it is possible to perform control such that only the processor element 3 having a PE number every specific numerical value such as 3, 5, 7 is executed in the calculation after the next instruction. it can.

図5に示される固定値選択回路の出力は図7の選択回路に入力され、該選択回路35では(予め用意されている)「LDTN」(Load to T register Predefined Number)命令を実行することで、入力データ選択信号2によりその固定値選択回路の出力データが選択される。更に、上記LDTN実行時に、即値データ(の1つ)がIMM2に入力され、固定値選択回路の出力データとIMM2とがコンパレータ80にて比較される。一致するとそのプロセッサエレメント3のコンパレータ80の出力が“1”となり、一致しなかったプロセッサエレメント3では“0”となる。次の命令は、実行される命令の例である。   The output of the fixed value selection circuit shown in FIG. 5 is input to the selection circuit of FIG. 7, and the selection circuit 35 executes an “LDTN” (Load to T register Predefined Number) instruction (prepared in advance). The output data of the fixed value selection circuit is selected by the input data selection signal 2. Furthermore, when the LDTN is executed, immediate data (one of them) is input to the IMM 2, and the output data of the fixed value selection circuit and the IMM 2 are compared by the comparator 80. If they match, the output of the comparator 80 of the processor element 3 becomes “1”, and the processor element 3 that does not match becomes “0”. The following instruction is an example of an instruction to be executed.

LDTN/T2 #3、#2   LDTN / T2 # 3, # 2

上記命令において、即値オペランドのうち第1オペランドが選択固定値である。第2オペランドが比較値である。
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、・・・に結果の値は、
・0、1、2、0、1、2、0、1、...
のような繰り返しの値となるが、比較値と一致する値のPE、即ち、
・PE2、PE5、PE8、・・・
のTレジスタ54のT2フラグに“1”が設定される。他のPEのTレジスタ54のT2フラグには“0”が設定される。これによって以降の命令でTレジスタ54のT2フラグを実行制御に用いれば、特定のPE、即ちPE2から始まり「3」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させることができる。
In the above instruction, the first operand of the immediate operands is a selected fixed value. The second operand is a comparison value.
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, ...
0, 1, 2, 0, 1, 2, 0, 1,. . .
It is a repetitive value like
・ PE2, PE5, PE8, ...
"1" is set in the T2 flag of the T register 54. “0” is set in the T2 flag of the T register 54 of another PE. As a result, if the T2 flag of the T register 54 is used for execution control in subsequent instructions, only the processor element 3 having a PE number starting with PE2 and having every other “3” PE number can be executed.

≪第7の実施の形態≫
本発明の第7の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Seventh Embodiment >>
A SIMD type microprocessor 2 according to a seventh embodiment of the present invention will be described.

第7の実施の形態に係るSIMD型マイクロプロセッサ2の各プロセッサエレメント3においては、第3の実施の形態に係るnおきビットパターンデータ出力回路から選択回路35に繋げられる(データ)値を、選択回路35に備わるコンパレータ80(図7)にて、命令コード中に指定された即値データと比較し、その結果をTレジスタ54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、2、3、5、7、11のような特定の数値おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させるという制御を行うことができる。   In each processor element 3 of the SIMD type microprocessor 2 according to the seventh embodiment, a (data) value connected to the selection circuit 35 from the n-th bit pattern data output circuit according to the third embodiment is selected. The comparator 80 (FIG. 7) provided in the circuit 35 compares it with the immediate data specified in the instruction code, and stores the result in a bit at a predetermined position of the T register 54. By storing the result in the T register 54, the control is executed so that only the processor element 3 having a PE number every specific numerical value such as 2, 3, 5, 7, 11 is executed in the operation after the next instruction. It can be performed.

図6に示されるnおきビットパターンデータ出力回路の出力は図7の選択回路35に出力され、該選択回路35では(予め用意されている)「LDTB」(Load to T register Bit Number)命令を実行することで、入力データ選択信号2によりそのnおきビットパターンデータ出力回路の出力のデータが選択される。更に、上記LDTB命令の実行時に、即値データ(の1つ)がIMM2に入力され、nおきビットパターンデータ出力回路の出力データとIMM2とがコンパレータ80にて比較される。一致するとそのプロセッサエレメント3のコンパレータの出力が“1”となり、一致しなかったプロセッサエレメント3では“0”となる。次の命令は、実行される命令の例である。   The output of the n-bit bit pattern data output circuit shown in FIG. 6 is output to the selection circuit 35 of FIG. 7, and the selection circuit 35 executes an “LDTB” (Load to T register Bit Number) instruction (prepared in advance). As a result, the output data of the n-th bit pattern data output circuit is selected by the input data selection signal 2. Further, when the LDTB instruction is executed, immediate data (one of them) is input to the IMM 2, and the output data of the n-th bit pattern data output circuit is compared with the IMM 2 by the comparator 80. If they match, the output of the comparator of the processor element 3 becomes “1”, and the processor element 3 that does not match becomes “0”. The following instruction is an example of an instruction to be executed.

LDTB/T2 #00000010b、#1   LDTB / T2 # 00000010b, # 1

上記命令において、即値オペランドのうち第1オペランドがnおきビット指定である。第2オペランドが比較値である。
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、・・・に結果の値は、
・1、0、0、1、0、0、1、0、...
のような繰り返しの値となるが、比較値と一致する値のPE、即ち、
・PE0、PE3、PE6、・・・
のTレジスタ54のT2フラグに“1”が設定される。他のPEのTレジスタ54のT2フラグには“0”が設定される。これによって以降の命令でTレジスタ54のT2フラグを実行制御に用いれば、特定のPE、即ちPE0から始まり「3」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させることができる。
In the above instruction, the first operand of the immediate operand is designated every n bits. The second operand is a comparison value.
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, ...
1, 0, 0, 1, 0, 0, 1, 0,. . .
It is a repetitive value like
・ PE0, PE3, PE6, ...
"1" is set in the T2 flag of the T register 54. “0” is set in the T2 flag of the T register 54 of another PE. As a result, if the T2 flag of the T register 54 is used for execution control in the subsequent instructions, only the processor element 3 having a PE number starting with a specific PE, that is, every third, starting with PE0 can be executed.

一般的なSIMD型マイクロプロセッサの概略の構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a general SIMD type microprocessor. FIG. 本発明に係るSIMD型マイクロプロセッサのより詳細な構成を示すブロック図である。It is a block diagram which shows the more detailed structure of the SIMD type | mold microprocessor which concerns on this invention. レジスタファイルのレジスタと演算アレイとを結び付けるマルチプレクサの機能を示すブロック図である。It is a block diagram which shows the function of the multiplexer which connects the register | resistor of a register file, and an arithmetic array. 本発明の第1の実施の形態に係るPE番号マスク回路の回路図である。1 is a circuit diagram of a PE number mask circuit according to a first embodiment of the present invention. 本発明の第2の実施の形態に係る固定値選択回路の回路図である。FIG. 5 is a circuit diagram of a fixed value selection circuit according to a second embodiment of the present invention. 本発明の第3の実施の形態に係るnおきビットパターンデータ出力回路の回路図である。It is a circuit diagram of the n every bit pattern data output circuit based on the 3rd Embodiment of this invention. 本発明に係る選択回路の概略回路ブロック図を示す。1 shows a schematic circuit block diagram of a selection circuit according to the present invention. FIG. 演算制御レジスタ(Tレジスタ)の回路ブロック図の例である。It is an example of a circuit block diagram of an arithmetic control register (T register).

符号の説明Explanation of symbols

2・・・SIMD型マイクロプロセッサ、3・・・プロセッサエレメント、4・・・グローバルプロセッサ、6・・・レジスタファイル、8・・・演算アレイ、34・・・レジスタ、35・・・演算回路、36・・・ALU(算術論理演算装置)、38・・・Aレジスタ、50、50’、50”・・・接続線部、51、51”・・・論理回路部、51’・・・マルチプレクサ部、54・・・Tレジスタ(演算制御レジスタ)、78・・・マルチプレクサ、80・・・コンパレータ。 2 ... SIMD type microprocessor, 3 ... processor element, 4 ... global processor, 6 ... register file, 8 ... arithmetic array, 34 ... register, 35 ... arithmetic circuit, 36 ... ALU (arithmetic logic unit), 38 ... A register, 50, 50 ', 50 "... connection line part, 51, 51" ... logic circuit part, 51' ... multiplexer 54, T register (operation control register), 78, multiplexer, 80, comparator.

Claims (1)

全体制御を行うグローバルプロセッサと、複数のプロセッサエレメントを含むSIMD型マイクロプロセッサであって、
各々のプロセッサエレメントには、識別のための整数番号が順に付されており、
各プロセッサエレメントは、
そのプロセッサエレメントに付される識別のための整数番号が外部から入力される接続線と、
上記接続線に対して、上記グローバルプロセッサからのマスク制御信号を取り入れる論理回路が挿入されるマスク回路と
を有するSIMD型マイクロプロセッサ。
A global processor for overall control and a SIMD type microprocessor including a plurality of processor elements ,
Each processor element is given an integer number for identification, in order,
Each processor element
A connection line to which an integer number for identification attached to the processor element is input from the outside;
A mask circuit in which a logic circuit for receiving a mask control signal from the global processor is inserted into the connection line;
SIMD type microprocessor having
JP2006258862A 2006-09-25 2006-09-25 Data setting device in SIMD processor Expired - Fee Related JP4398965B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006258862A JP4398965B2 (en) 2006-09-25 2006-09-25 Data setting device in SIMD processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006258862A JP4398965B2 (en) 2006-09-25 2006-09-25 Data setting device in SIMD processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000297115A Division JP3971557B2 (en) 2000-09-28 2000-09-28 Data setting device in SIMD processor

Publications (2)

Publication Number Publication Date
JP2006338696A JP2006338696A (en) 2006-12-14
JP4398965B2 true JP4398965B2 (en) 2010-01-13

Family

ID=37559137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006258862A Expired - Fee Related JP4398965B2 (en) 2006-09-25 2006-09-25 Data setting device in SIMD processor

Country Status (1)

Country Link
JP (1) JP4398965B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5760532B2 (en) * 2011-03-14 2015-08-12 株式会社リコー PROCESSOR DEVICE AND ITS OPERATION METHOD

Also Published As

Publication number Publication date
JP2006338696A (en) 2006-12-14

Similar Documents

Publication Publication Date Title
US5778241A (en) Space vector data path
KR100348951B1 (en) Memory store from a register pair conditional
Yu et al. Vector processing as a soft-core CPU accelerator
JP2008071130A (en) SIMD type microprocessor
JPH07287567A (en) Arithmetic logic unit having a plurality of independent partitions and a register for storing results from each partition
JPH087084A (en) Three-input arithmetic and logic unit for formation of sum of first boolean combination of first, second and third inputs plus second boolean combination of first, second and third inputs
JPH087083A (en) Three-input arithmetic and logic unit for formation of arithmetic and logic mixed combination
JPH086544A (en) Rotary register for orthogonal data conversion
JP2009271598A (en) Processor
CN108139886B (en) Multi-function execution channel for image processor
CN102884505B (en) Data processing equipment and data processing method
JPS6027030A (en) Microprocessor
JP4398965B2 (en) Data setting device in SIMD processor
JP3971557B2 (en) Data setting device in SIMD processor
CN120029671B (en) Instruction processing device, system and processing method based on RISC-V architecture
JP3971543B2 (en) SIMD type processor
JP5732139B2 (en) Conditional selection of data elements
CN115878444A (en) Information acquisition method, device, equipment, storage medium and program product
JP4442907B2 (en) SIMD type processor
JP3742745B2 (en) Arithmetic processing unit
JP3837293B2 (en) SIMD type microprocessor having constant selection function
JP4516495B2 (en) Data processing method in SIMD type microprocessor
JP3895267B2 (en) SIMD processor
JP4645369B2 (en) CPU
JP2009175830A (en) SIMD type microprocessor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091020

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091023

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees