JP5369669B2 - SIMD type microprocessor - Google Patents

SIMD type microprocessor Download PDF

Info

Publication number
JP5369669B2
JP5369669B2 JP2008327035A JP2008327035A JP5369669B2 JP 5369669 B2 JP5369669 B2 JP 5369669B2 JP 2008327035 A JP2008327035 A JP 2008327035A JP 2008327035 A JP2008327035 A JP 2008327035A JP 5369669 B2 JP5369669 B2 JP 5369669B2
Authority
JP
Japan
Prior art keywords
word line
register
registers
data
processor elements
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
JP2008327035A
Other languages
Japanese (ja)
Other versions
JP2010152450A (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 JP2008327035A priority Critical patent/JP5369669B2/en
Publication of JP2010152450A publication Critical patent/JP2010152450A/en
Application granted granted Critical
Publication of JP5369669B2 publication Critical patent/JP5369669B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an SIMD type microprocessor allowing high-speed simultaneous processing of more image data by improving processing performance during data transfer without increasing a circuit scale or a layout scale. <P>SOLUTION: In the SIMD (Single Instruction-stream, Multiple Data-stream) type microprocessor 1, first word lines 6 are connected to registers having different numbers for each 16 pieces between a plurality of processor elements PE0-PEn, and second word lines 8 are connected to the registers each having the same number between the plurality of processor elements PE0-PEn. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は1つの演算命令により複数のデータ等を並列処理するSIMD(Single Instruction-stream, Multiple Data-stream)型マイクロプロセッサに関する。   The present invention relates to a SIMD (Single Instruction-stream, Multiple Data-stream) type microprocessor that processes a plurality of data in parallel with one arithmetic instruction.

近年、デジタル複写機やファクシミリ装置などの画像処理では、画素数の増加、画像処理の多様化などにより画質の向上が図られている。そしてこの画像の向上に伴い、処理すべきデータ数が増加している。   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. As the image is improved, the number of data to be processed has increased.

こういった画像処理においては、全ての画素に対して同一の演算処理を施すことが多い。そこで、1つの命令で複数のデータに対して、同時に同じ演算処理を行うSIMD(Single Instruction-stream Multiple Data-stream)型マイクロプロセッサがよく用いられるようになった。このSIMD型マイクロプロセッサでは、1つの命令で複数のデータに対して同時に同じ演算処理を行うことが可能である。   In such image processing, the same arithmetic processing is often applied to all pixels. Therefore, SIMD (Single Instruction-stream Multiple Data-stream) type microprocessors that perform the same arithmetic processing simultaneously on a plurality of data with one instruction are often used. In this SIMD type microprocessor, the same arithmetic processing can be simultaneously performed on a plurality of data with one instruction.

SIMD型マイクロプロセッサは、プロセッサエレメントと呼ばれる単位で演算器とレジスタとを備え、そのプロセッサエレメントを複数個有している。そしてこれら複数個のプロセッサエレメントを同時に制御する制御ユニットとしてグローバルプロセッサが備えられている。このグローバルプロセッサの制御により、1つの命令で複数のデータを同時に演算処理することが可能となる。このとき各プロセッサエレメントは通常1個の画素の画像処理を担当することとなる。   The SIMD type microprocessor includes an arithmetic unit and a register in a unit called a processor element, and has a plurality of the processor elements. A global processor is provided as a control unit for simultaneously controlling the plurality of processor elements. By controlling the global processor, it is possible to simultaneously process a plurality of data with one instruction. At this time, each processor element is usually in charge of image processing of one pixel.

このようにSIMD型マイクロプロセッサは複数の演算器を並列に配置し、グローバルプロセッサにより同時制御することで容易に実現できる。さらに複数のプロセッサエレメントでの演算処理が同時に行われるため、必要な演算処理がより高速に行われることとなる。   As described above, the SIMD type microprocessor can be easily realized by arranging a plurality of arithmetic units in parallel and simultaneously controlling them by a global processor. Furthermore, since the arithmetic processing is performed by a plurality of processor elements at the same time, the necessary arithmetic processing is performed at a higher speed.

しかしながら、演算処理がいくら高速化できたとしても、対象となるデータの転送効率が悪ければSIMD型マイクロプロセッサの効果が低下してしまう。そのため、データ転送に関しても演算速度に見合う速度でメモリ等をアクセスする必要があり、この速度に間に合わない場合は、データのアクセス速度でプロセッサの性能が決定してしまう。   However, no matter how fast the arithmetic processing can be, if the transfer efficiency of the target data is poor, the effect of the SIMD type microprocessor is reduced. For this reason, it is necessary to access a memory or the like at a speed corresponding to the calculation speed for data transfer. If this speed is not met, the processor performance is determined by the data access speed.

通常タイプのSISD(Single Instruction-stream Single Data-stream)型マイクロプロセッサでは、演算データはプロセッサのプログラムによりメモリから逐次アクセスするが、この場合にデータのアクセス速度はメモリのビット幅と転送時間で決定する。SIMD型マイクロプロセッサにおいてもこの方法を用いると、演算は並列処理であるのに対してデータのアクセスは逐次処理となるため、SISD型マイクロプロセッサ程度に処理能力は低下してしまう。   In an ordinary type SISD (Single Instruction-stream Single Data-stream) type microprocessor, arithmetic data is accessed sequentially from memory by a processor program. In this case, the data access speed is determined by the bit width and transfer time of the memory. To do. If this method is used also in the SIMD type microprocessor, the computation is parallel processing, whereas the data access is sequential processing, so that the processing capability is reduced to the level of the SISD type microprocessor.

この外部データとの転送効率を向上するため、SIMD型マイクロプロセッサでは演算対象データのアクセスはプロセッサの命令では行わず、外部メモリ転送用ポートからプロセッサ内部の入出力用のレジスタに直接アクセスするように構成している。即ち、プロセッサでの演算実行と同時に、外部転送用ポートから、次に演算処理されるデータを入力用レジスタへ転送したり、演算処理されたデータを出力レジスタから外部転送用ポートを介して外部メモリへと転送することで、データ処理の高速化を図っている。   In order to improve the transfer efficiency with this external data, the SIMD type microprocessor does not access the operation target data with the processor instruction, but directly accesses the input / output registers inside the processor from the external memory transfer port. doing. In other words, simultaneously with the execution of the operation by the processor, the data to be processed next is transferred from the external transfer port to the input register, or the processed data is transferred from the output register to the external memory via the external transfer port. The data processing is speeded up by transferring to.

SIMD型マイクロプロセッサと外部メモリとのデータ転送フローは以下のように行われる。
(1) 外部メモリから外部転送用ポートを介して、演算対象データを入力用レジスタに転送。
(2) プロセッサは外部から演算データを転送済みであるレジスタから演算を開始。
(3) プロセッサが所定の演算を実行する。この間に外部メモリから次の演算対象データを入力用レジスタに転送。また、演算処理済みデータ(結果データ)が出力用レジスタにある場合には、外部転送用ポートを介して結果データを出力用レジスタから外部メモリへと転送。
(4) プロセッサは演算を終了し、結果データを出力用レジスタに転送。
The data transfer flow between the SIMD type microprocessor and the external memory is performed as follows.
(1) Transfer the operation target data from the external memory to the input register via the external transfer port.
(2) The processor starts operation from the register to which operation data has been transferred from the outside.
(3) The processor executes a predetermined operation. During this time, the next operation target data is transferred from the external memory to the input register. Also, if the processed data (result data) is in the output register, the result data is transferred from the output register to the external memory via the external transfer port.
(4) The processor finishes the operation and transfers the result data to the output register.

上記のように、プロセッサの演算実行時に同時に外部のメモリデータ転送装置が演算データを転送することで高速化を実現している。しかし、演算処理とデータ転送がいくら同時に出来るとは言え、演算処理時間はプロセッサエレメント数に関わらず同時に実行できるのに対して、データ転送時間はプロセッサエレメント数に比例して長くなるという問題が生じる。外部メモリからプロセッサエレメントのレジスタにデータを転送する過程においては、通常1つのプロセッサエレメントに対して1サイクルかけてデータを転送するため、例えば512個のプロセッサエレメントを持ったSIMD型マイクロプロセッサであれば、データ転送に512サイクルが必要になるということになる。したがって、いくら512個のプロセッサエレメントに対して同時に演算処理が行われたとしても、それに見合ったデータ転送が出来ない以上、SIMD型マイクロプロセッサの効果が発揮できないということになってしまう。   As described above, the speed is increased by the external memory data transfer device transferring the calculation data simultaneously with the execution of the calculation of the processor. However, although calculation processing and data transfer can be performed simultaneously, the calculation processing time can be executed simultaneously regardless of the number of processor elements, whereas the data transfer time increases in proportion to the number of processor elements. . In the process of transferring data from the external memory to the register of the processor element, since data is usually transferred to one processor element in one cycle, for example, if it is a SIMD type microprocessor having 512 processor elements This means that 512 cycles are required for data transfer. Therefore, no matter how much processing is performed on 512 processor elements at the same time, the SIMD microprocessor cannot be effective as long as the data cannot be transferred accordingly.

その問題を解消させるため、特許文献1ではPEインタフェースからのデータ線を偶数プロセッサエレメント用と奇数プロセッサエレメント用の2セット配置し、偶数番目のプロセッサエレメントと奇数番目のプロセッサエレメントとに同時アクセス手法を用いることで転送時間を1/2にする方法が記載されている。このように転送データのバンド幅を稼げばその分転送効率は向上する。   In order to solve the problem, in Patent Document 1, two sets of data lines from the PE interface are arranged for the even-numbered processor element and the odd-numbered processor element, and a simultaneous access method is applied to the even-numbered processor element and the odd-numbered processor element. A method is described in which the transfer time is halved by using it. Thus, if the bandwidth of the transfer data is increased, the transfer efficiency is improved accordingly.

また、特許文献2には、データの配列変換にかかわる処理能力の低下の問題に対して、レジスタからALUへのデータ転送時に、マルチポート化することで複数のデータ線を設け、それらを異なるプロセッサエレメントへと転送する経路を持たせたことが記載されている。特許文献3にも、やはりデータの配列変換にかかわる処理能力の低下の問題に対して、複数の分割ワード線でレジスタからALUへのデータ転送時に異なるレジスタを選択できるように構成したことが記載されている。
特許第3971535号公報 特許第4020804号公報 特開2006−164183号公報
Japanese Patent Laid-Open No. 2004-228867 provides a plurality of data lines by providing multi-ports at the time of data transfer from a register to an ALU for the problem of a reduction in processing capability related to data array conversion. It is described that a route for transferring to the element is provided. Patent Document 3 also describes that a configuration is adopted in which a different register can be selected at the time of data transfer from a register to an ALU with a plurality of divided word lines, in response to the problem of a decrease in processing capacity related to data array conversion. ing.
Japanese Patent No. 3971535 Japanese Patent No. 4020804 JP 2006-164183 A

しかしながら、特許文献1に記載された方法では、転送データのバンド幅を稼ぐことでその分転送効率は向上されているが、データ線を増やすということは、それだけレイアウト面積が必要になるということであり、コスト面を犠牲にしてしまうという問題が生じる。またレジスタから演算回路への処理速度を考えると、レジスタのレイアウトサイズは少しでも小さく構成する必要があり、レイアウト面積の増大は演算速度の性能面にも影響してくる。   However, in the method described in Patent Document 1, the transfer efficiency is improved by increasing the transfer data bandwidth, but increasing the number of data lines means that a layout area is required. There is a problem that the cost is sacrificed. Considering the processing speed from the register to the arithmetic circuit, it is necessary to make the layout size of the register as small as possible, and the increase in the layout area also affects the performance of the arithmetic speed.

さらに、特許文献2や3に記載された方法でも、回路規模の増加やレイアウト面積の増大を招いてしまうという問題がある。   Furthermore, even the methods described in Patent Documents 2 and 3 have a problem that the circuit scale and the layout area are increased.

本発明はかかる問題を解決することを目的としている。   The present invention aims to solve such problems.

すなわち、本発明は、回路規模やレイアウト規模を増大させることなく、データ転送時の処理能力を向上させ、より多くの画像データを高速に同時処理する事が可能なSIMD型マイクロプロセッサを提供することを目的としている。   That is, the present invention provides a SIMD type microprocessor capable of improving the processing capability at the time of data transfer without increasing the circuit scale and layout scale and simultaneously processing more image data at a high speed. It is an object.

請求項1に記載された発明は、固有の番号が割り当てられたn個(nは2以上の自然数)のレジスタおよび演算器を備えた複数のプロセッサエレメントと、前記複数のプロセッサエレメントの動作を制御する制御ユニットと、前記n個のレジスタから外部への通信制御を行う外部インタフェースと、前記n個のレジスタがそれぞれ接続された第1のデータ線と、前記制御ユニットが前記第1のデータ線を介して前記演算器との間で通信を行うレジスタを選択する第1のワード線と、前記複数のプロセッサエレメント間で同じ番号のレジスタ同士および前記外部インタフェースが接続された第2のデータ線と、前記外部インタフェースが前記第2のデータ線を介して通信を行うプロセッサエレメントを選択する第2のワード線と、が設けられたSIMD型マイクロプロセッサにおいて、前記外部インタフェースが前記レジスタの番号のそれぞれに対応して設けられているとともに、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線が接続されるように、前記第1のワード線が複数のプロセッサエレメント間でレジスタに接続され、そして、前記第2のワード線が、複数のプロセッサエレメント間で、同じ番号のレジスタに接続されていることを特徴とするSIMD型マイクロプロセッサである。 The invention described in claim 1 controls a plurality of processor elements having n registers (n is a natural number of 2 or more) assigned with a unique number and an arithmetic unit, and operations of the plurality of processor elements. A control unit that controls communication from the n registers to the outside, a first data line to which each of the n registers is connected, and the control unit that connects the first data line A first word line that selects a register that communicates with the arithmetic unit via the second arithmetic line, a second data line to which the registers having the same number between the plurality of processor elements and the external interface are connected, And a second word line for selecting a processor element with which the external interface communicates via the second data line. In IMD microprocessors, the external interface is provided in a manner in correspondence to the respective numbers of the registers, among n number of processor elements, the same first word line in the register of different numbers The first word line is connected to a register between a plurality of processor elements , and the second word line is connected to a register of the same number between a plurality of processor elements. have a SIMD microprocessor, characterized in that.

請求項2に記載された発明は、固有の番号が割り当てられたn個(nは2以上の自然数)のレジスタおよび演算器を備えた複数のプロセッサエレメントと、前記複数のプロセッサエレメントの動作を制御する制御ユニットと、前記n個のレジスタから外部への通信制御を行う外部インタフェースと、前記n個のレジスタがそれぞれ接続された第1のデータ線と、前記制御ユニットが前記第1のデータ線を介して前記演算器との間で通信を行うレジスタを選択する第1のワード線と、前記複数のプロセッサエレメント間で同じ番号のレジスタ同士および前記外部インタフェースが接続された第2のデータ線と、前記外部インタフェースが前記第2のデータ線を介して通信を行うプロセッサエレメントを選択する第2のワード線と、が設けられたSIMD型マイクロプロセッサにおいて、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線及び同一の前記第2のワード線が接続されるように、前記第1のワード線及び前記第2のワード線が複数のプロセッサエレメント間でレジスタに接続されることを特徴とするSIMD型マイクロプロセッサである。 The invention described in claim 2 controls a plurality of processor elements including n registers (n is a natural number of 2 or more) assigned with a unique number and an arithmetic unit, and operations of the plurality of processor elements. A control unit that controls communication from the n registers to the outside, a first data line to which each of the n registers is connected, and the control unit that connects the first data line A first word line that selects a register that communicates with the arithmetic unit via the second arithmetic line, a second data line to which the registers having the same number between the plurality of processor elements and the external interface are connected, And a second word line for selecting a processor element with which the external interface communicates via the second data line. In IMD microprocessors, among n pieces of processor elements, such that the same in the register of different numbers first word line and the same of said second word lines are connected to each other, the first word line and the second word line is connected to the register among a plurality of processor elements are SIMD microprocessor according to claim Rukoto.

請求項3に記載された発明は、請求項1または2に記載された発明において、前記制御ユニットが前記第1のデータ線を介して前記演算器との間で通信を行うレジスタを選択するための、別の種類の第1のワード線がさらに設けられ、各プロセッサエレメントの同じ番号のレジスタに、同一の前記別の種類の第1のワード線が接続されていることを特徴とする。 According to a third aspect of the present invention, in the first or second aspect of the present invention, the control unit selects a register that communicates with the arithmetic unit via the first data line. The first word line of another type is further provided, and the same first word line of the same different type is connected to the register of the same number of each processor element .

請求項4に記載された発明は、請求項1乃至3のうちいずれか一項に記載された発明において、少なくとも前記第1のワード線の接続関係を変更する機能を有し、第1モードと第2モードのいずれかを選択するための切替手段がさらに設けられ、そして、前記第1モードでは、前記切替手段により、少なくとも前記第1のワード線について、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線が接続されるように、前記第1のワード線が複数のプロセッサエレメント間でレジスタに接続される態様が維持されるものであり、前記第2モードでは、各プロセッサエレメントにおけるn個のレジスタが複数のレジスタ群に分割され、前記切替手段により、それぞれの前記レジスタ群における少なくとも前記第1のワード線について、1つのプロセッサエレメント内の当該レジスタ群に含まれるレジスタの数が指し示す個数のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線が接続されるように、前記第1のワード線が複数のプロセッサエレメント間でレジスタに接続される態様が維持されるものである、ことを特徴とする。 The invention described in claim 4 has a function of changing at least the connection relation of the first word lines in the invention described in any one of claims 1 to 3 , and the first mode and Switching means for selecting any one of the second modes is further provided . In the first mode, the switching means causes each other between the n processor elements at least for the first word line. A mode in which the first word line is connected to a register among a plurality of processor elements is maintained so that the same first word line is connected to registers of different numbers, and the second In the mode, the n registers in each processor element are divided into a plurality of register groups, and at least the registers in each register group are divided by the switching means. Regarding the first word line, the same first word line is connected to registers having different numbers between the number of processor elements indicated by the number of registers included in the register group in one processor element. As described above, the aspect in which the first word line is connected to a register among a plurality of processor elements is maintained .

請求項1に記載の発明によれば、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の第1のワード線が接続されるように、第1のワード線が複数のプロセッサエレメント間でレジスタに接続され、第2のワード線が、複数のプロセッサエレメント間で、同じ番号のレジスタに接続されているので、プロセッサエレメントごとに異なる番号のレジスタを同時に選択することができる。そして、外部インタフェースはレジスタの番号ごとに設けられて全ての外部インタフェースが同時にデータ転送が可能となるように構成されているので、外部データを各外部インタフェースから同時に各プロセッサエレメントの異なる番号のレジスタに転送することができる。また、演算処理後のデータは配列変換することなく同時に読み出すことが出来るため、データの転送効率が向上する。さらに、演算処理に用いるレジスタの選択ワード線などを新たに追加することもないため、回路規模やレイアウト規模を増大させることなく実現できる。 According to the first aspect of the present invention , the first word line includes a plurality of processor elements so that the same first word line is connected to registers having different numbers among n processor elements. Since the second word lines are connected to the registers having the same number among the plurality of processor elements, the registers having different numbers can be simultaneously selected for each processor element. The external interface is provided for each register number so that all the external interfaces can transfer data simultaneously. Therefore, external data is simultaneously transferred from each external interface to a register with a different number in each processor element. Can be transferred. In addition, since the data after the arithmetic processing can be read simultaneously without performing array conversion, the data transfer efficiency is improved. Furthermore, since a selected word line of a register used for arithmetic processing is not newly added, the circuit scale and layout scale can be increased.

請求項2に記載の発明によれば、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の第1のワード線及び同一の第2のワード線が接続されるように、第1のワード線及び第2のワード線が複数のプロセッサエレメント間でレジスタに接続されているので、外部インタフェースがレジスタごとに独立して設けられずに、同期して同時に制御される場合でも、演算処理に用いるレジスタに直接転送することが可能となる。したがってアドレス信号を増やすことなくデータ転送効率を向上させたレジスタを構成することが可能となる。 According to the second aspect of the present invention, the first first word line and the same second word line are connected to the registers having different numbers among the n processor elements. Since the word line and the second word line are connected to a register between a plurality of processor elements, even if the external interface is not provided independently for each register and is controlled simultaneously in synchronization, It is possible to transfer directly to the register used for the above. Therefore, it is possible to configure a register with improved data transfer efficiency without increasing the address signal.

請求項3に記載の発明によれば、制御ユニットが第1のデータ線を介して演算器との間で通信を行うレジスタを選択するための、別の種類の第1のワード線がさらに設けられ、各プロセッサエレメントの同じ番号のレジスタに、同一の別の種類の第1のワード線が接続されているので、用途に応じて、転送速度を高速化させた動作が可能なワード線と、外部データ転送ポートごとに異なるデータを並行して入出力する動作が可能なワード線とを切り替えて使い分けることが可能となる。その場合、レジスタ1つにつきワード線1本が追加されるだけであり、レイアウト規模を増大させることも少ない。 According to a third aspect of the present invention, there is further provided another type of first word line for the control unit to select a register to communicate with the arithmetic unit via the first data line. Since the same different type of first word line is connected to the register of the same number of each processor element, a word line capable of operating at a higher transfer speed according to the application, It is possible to switch between different word lines that can input and output different data in parallel for each external data transfer port. In that case, only one word line is added per register, and the layout scale is rarely increased.

請求項4に記載の発明によれば、第1モードでは、切替手段により、少なくとも第1のワード線について、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の第1のワード線が接続されるように、第1のワード線が複数のプロセッサエレメント間でレジスタに接続される態様が維持されるものであり、第2モードでは、各プロセッサエレメントにおけるn個のレジスタが複数のレジスタ群に分割され、切替手段により、それぞれの前記レジスタ群における少なくとも第1のワード線について、1つのプロセッサエレメント内の当該レジスタ群に含まれるレジスタの数が指し示す個数のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の第1のワード線が接続されるように、第1のワード線が複数のプロセッサエレメント間でレジスタに接続される態様が維持されるものであるので、複数のレジスタを分割し領域ごとにデータ転送効率を向上させることを可能としている。 According to the fourth aspect of the present invention, in the first mode, the switching means causes the same first word line to a register having a different number between n processor elements for at least the first word line. Are maintained in such a manner that the first word line is connected to the registers among the plurality of processor elements, and in the second mode, n registers in each processor element include a plurality of registers. Divided into groups, and by the switching means, the number of processor elements indicated by the number of registers included in the register group in one processor element differs at least for the first word line in each of the register groups. A plurality of first word lines are connected so that the same first word line is connected to the number register. Since those aspects which are connected to the register between the processor elements is maintained, thereby enabling to improve the data transfer efficiency for each divide the plurality of register areas.

[第1実施形態]
以下、本発明の第1の実施形態を、図1および図2を参照して説明する。図1は、本発明の第1の実施形態にかかるSIMD型マイクロプロセッサのブロック図である。図2は、図1に示したSIMD型マイクロプロセッサにおけるレジスタ転送動作の説明図である。
[First Embodiment]
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. 1 and 2. FIG. 1 is a block diagram of a SIMD type microprocessor according to the first embodiment of the present invention. FIG. 2 is an explanatory diagram of a register transfer operation in the SIMD type microprocessor shown in FIG.

図1に示したSIMD型マイクロプロセッサ1は、グローバルプロセッサ2と、複数のプロセッサエレメントPE0〜PEnと、PEインタフェース4と、を備えている。   The SIMD type microprocessor 1 shown in FIG. 1 includes a global processor 2, a plurality of processor elements PE0 to PEn, and a PE interface 4.

制御ユニットとしてのグローバルプロセッサ2は、プログラム格納用のプログラムRAMと、演算データ格納用のデータRAMと、プログラムのアドレスを保持するプログラムカウンタと、演算処理のデータ格納のための汎用レジスタと、ALUと、レジスタ退避及び復帰時に退避先データRAMのアドレスを保持しているスタックポインタと、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタと、割り込み時とNMI(マスク不可割り込み)時の分岐元アドレスを保持するレジスタと、グローバルプロセッサ2の状態を保持しているプロセッサステータスレジスタと、命令を解読し各種制御信号を生成するシーケンスユニットと、などを備えている。そして、これらを用いて命令を実行し、後述する第1ワード線6を含む制御信号を、各プロセッサエレメントPE0〜PEnに供給する。   The global processor 2 as a control unit includes a program RAM for storing programs, a data RAM for storing arithmetic data, a program counter for holding program addresses, a general-purpose register for storing arithmetic processing data, an ALU, The stack pointer that holds the address of the save destination data RAM at the time of register saving and restoration, the link register that holds the address of the call source at the time of a subroutine call, and the branch source address at the time of interrupt and NMI (non-maskable interrupt) A register for holding, a processor status register for holding the state of the global processor 2, a sequence unit for decoding various instructions and generating various control signals, and the like are provided. Then, an instruction is executed using these, and a control signal including a first word line 6 described later is supplied to each of the processor elements PE0 to PEn.

プロセッサエレメントPE0〜PEnは、図1に示したようにn個(nは2以上の自然数)が1列に配置されている。各プロセッサエレメントには、レジスタR0〜レジスタR15までの16個のレジスタと、ALU3aと、を備えている。   As shown in FIG. 1, n (n is a natural number of 2 or more) processor elements PE0 to PEn are arranged in one row. Each processor element includes 16 registers from register R0 to register R15, and an ALU 3a.

レジスタR0〜R15は、ALU3aで演算するデータやALU3aで演算したデータを格納する。また、レジスタR0は0番、レジスタR1は1番といったように、各レジスタには固有の番号が割り当てられている。   The registers R0 to R15 store data calculated by the ALU 3a and data calculated by the ALU 3a. Further, a unique number is assigned to each register, such as 0 for the register R0 and 1 for the register R1.

演算器としてのALU25は、算術論理演算器であり、レジスタR0〜R15に格納されたデータを後述する第1データ線5を介して取得して、グローバルプロセッサ2からの制御信号によって指定された演算を行い、再度第1データ線5を介してレジスタR0〜R15に出力する。   The ALU 25 as an arithmetic unit is an arithmetic logic unit, which obtains data stored in the registers R0 to R15 via a first data line 5 to be described later and performs an operation designated by a control signal from the global processor 2. Is output to the registers R0 to R15 via the first data line 5 again.

16個のレジスタR0〜R15とALU3aとはそれぞれプロセッサエレメント内部の共通のデータ線である第1データ線5で接続されており、いずれのレジスタに対してALU3aがアクセスするかは、グローバルプロセッサ2から出力される第1ワード線6によって選択される。   The 16 registers R0 to R15 and the ALU 3a are connected to each other by the first data line 5 which is a common data line inside the processor element. Which register the ALU 3a accesses from the global processor 2 The first word line 6 to be output is selected.

第1ワード線6は、グローバルプロセッサ2から各プロセッサエレメントのレジスタを選択するためのワード線であり、プロセッサエレメントごとに異なる番号のレジスタに接続されている。例えばプロセッサエレメントPE0のレジスタR0に接続した第1ワード線6は、プロセッサエレメントPE1ではレジスタR1、プロセッサエレメントPE2ではレジスタR2といったように、プロセッサエレメントが1つ移動するごとにレジスタの番号も1ずつずらして接続されている。本実施形態の場合、プロセッサエレメントPE0のレジスタR0に接続した第1ワード線6は、n>15であれば、プロセッサエレメントPE15のレジスタR15まで接続された後は、プロセッサエレメントPE16からは再びレジスタR0を選択するように接続される。つまり、n個ごとにそれぞれ異なる番号のレジスタに接続されている。   The first word line 6 is a word line for selecting a register of each processor element from the global processor 2, and is connected to a register having a different number for each processor element. For example, the first word line 6 connected to the register R0 of the processor element PE0 shifts the register number by one each time the processor element moves, such as the register R1 in the processor element PE1 and the register R2 in the processor element PE2. Connected. In the present embodiment, if n> 15, the first word line 6 connected to the register R0 of the processor element PE0 is connected to the register R15 of the processor element PE15. Connected to select. In other words, every n pieces are connected to different numbers of registers.

外部インタフェースとしてのPEインタフェース4は、プロセッサエレメントPE0〜PEn内のレジスタR0〜R15とSIMD型マイクロプロセッサ1とのデータ転送を行う外部転送用ポートである。PEインタフェース4は、プロセッサエレメント内のレジスタの番号ごとにPEIF(R0)〜PEIF(R15)の16個が設けられており、PEIF(R0)〜PEIF(R15)と各プロセッサエレメントのレジスタR0〜R15とは第2データ線7で接続されている。つまり、PERF(R0)から出力された第2データ線7は、各プロセッサエレメントのレジスタR0に接続され、PERF(R1)から出力された第2データ線7は、各プロセッサエレメントのレジスタR1に接続され、といったように接続されている。すなわち、PEIFが複数のレジスタにそれぞれ対応して設けられている。   The PE interface 4 as an external interface is an external transfer port for transferring data between the registers R0 to R15 in the processor elements PE0 to PEn and the SIMD type microprocessor 1. The PE interface 4 is provided with 16 PEIF (R0) to PEIF (R15) for each register number in the processor element. The PEIF (R0) to PEIF (R15) and the registers R0 to R15 of each processor element are provided. Are connected by a second data line 7. That is, the second data line 7 output from the PERF (R0) is connected to the register R0 of each processor element, and the second data line 7 output from the PERF (R1) is connected to the register R1 of each processor element. And so on. That is, PEIF is provided corresponding to each of the plurality of registers.

また 第2データ線7を用いてデータを入出力するプロセッサエレメントの選択を制御する第2ワード線8がPEIF(R0)〜PEIF(R15)から出力されて各プロセッサエレメントのレジスタR0〜R15に接続されている。つまり、第2ワード線8も第2データ線7と同様に、PERF(R0)から出力された第2ワード線8は、各プロセッサエレメントのレジスタR0に接続され、PERF(R1)から出力された第2ワード線8は、各プロセッサエレメントのレジスタR1に接続され、といったように接続されている。つまり、複数のプロセッサエレメント間で、同じ番号のレジスタに接続されている。   A second word line 8 for controlling selection of a processor element for inputting / outputting data using the second data line 7 is output from PEIF (R0) to PEIF (R15) and connected to registers R0 to R15 of each processor element. Has been. That is, as with the second data line 7, the second word line 8 output from the PERF (R0) is connected to the register R0 of each processor element and output from the PERF (R1). The second word line 8 is connected to the register R1 of each processor element and so on. That is, the plurality of processor elements are connected to the same numbered registers.

上述した構成の各プロセッサエレメントの各レジスタは通常1個の画素に相当するデータが格納されており、1画素は8bit、あるいは16bitのデータからなっている。つまり、各レジスタは8bit、あるいは16bit幅で構成されている。また、n個のプロセッサエレメントは1列の画素データに相当するように構成されており、これらのデータを同時処理することによって所望の画像処理が実現できる。   Each register of each processor element having the above-described configuration normally stores data corresponding to one pixel, and one pixel is composed of 8-bit or 16-bit data. That is, each register is configured with a width of 8 bits or 16 bits. The n processor elements are configured to correspond to one column of pixel data, and desired image processing can be realized by processing these data simultaneously.

次に、上述した構成のSIMD型マイクロプロセッサ1におけるプロセッサエレメントPE0〜PEnのレジスタR0〜R15へのデータの転送方法を説明する。従来、1列の画像データは各プロセッサエレメントの同じ番号のレジスタへと転送するため、1つのPEIFが用いられるが、本実施例では1列の画像データを全てのPEIFへと分散させてデータ転送を行う。例えば1つ目の画素はPEIF(R0)から、2つ目の画素はPEIF(R1)から、3つ目はPEIF(R2)からといったように16画素ごとに異なるPEIFに振り分けて転送する。このようにすることで16画素のデータを同時に転送することができ、プロセッサエレメントPE0〜PEnへのデータ転送に要する時間は1/16に短縮される。   Next, a method of transferring data to the registers R0 to R15 of the processor elements PE0 to PEn in the SIMD type microprocessor 1 having the above configuration will be described. Conventionally, one PEIF is used to transfer one column of image data to the register of the same number of each processor element. In this embodiment, one column of image data is distributed to all PEIFs for data transfer. I do. For example, the first pixel is transferred from PEIF (R0), the second pixel is transferred from PEIF (R1), and the third pixel is transferred from PEIF (R2). In this way, 16-pixel data can be transferred simultaneously, and the time required for data transfer to the processor elements PE0 to PEn is reduced to 1/16.

つまり、各PEIF(R0)〜PEIF(R15)が第2データ線7と第2ワード線8を用いて、それぞれ異なる番号のレジスタにデータを転送する。そのため、1つ目の画素はプロセッサエレメントPE0のレジスタR0へ転送され、2つ目の画素はプロセッサエレメントPE1のレジスタR1へ転送され、3つ目の画素はプロセッサエレメントPE2のレジスタR2へ転送され、16個目の画素はプロセッサエレメントPE15のレジスタR15へ転送される。   That is, each of PEIF (R0) to PEIF (R15) uses the second data line 7 and the second word line 8 to transfer data to different numbers of registers. Therefore, the first pixel is transferred to the register R0 of the processor element PE0, the second pixel is transferred to the register R1 of the processor element PE1, and the third pixel is transferred to the register R2 of the processor element PE2. The 16th pixel is transferred to the register R15 of the processor element PE15.

このようにしてプロセッサエレメントPE0〜PEnのレジスタに転送された画像データは、上述したグローバルプロセッサ2が第1ワード線6のうち1本をアクティブにすることによって、アクティブにされた第1ワード線6に接続されたレジスタが選択される。選択されたデータは第1データ線6を介してALU3aに転送される。ここで選択されたレジスタに格納されているデータは本来1列に並んだ画像データそのものであるので、PEインタフェース4から転送された画像データがプロセッサエレメント上で配列変換を行うことなく、ALU3aの演算データとして使用できる。   The image data transferred to the registers of the processor elements PE0 to PEn in this way is activated when the above-described global processor 2 activates one of the first word lines 6. The register connected to is selected. The selected data is transferred to the ALU 3a via the first data line 6. Since the data stored in the selected register is originally image data arranged in one column, the image data transferred from the PE interface 4 is not subjected to array conversion on the processor element, and the operation of the ALU 3a is performed. Can be used as data.

演算処理後のデータは、演算処理前と逆の手順でデータ転送を行って、異なる各プロセッサエレメント間で異なる番号のレジスタに格納した後PEインタフェース4から16個分のデータを同時に取り出す。そのため、データの配列変換による処理時間のロスはなく、1/16に短縮された転送時間がそのまま処理時間の短縮に繋がる。   Data after the arithmetic processing is transferred in the reverse order of the processing before the arithmetic processing, and is stored in registers of different numbers between different processor elements, and then 16 pieces of data are simultaneously extracted from the PE interface 4. Therefore, there is no loss of processing time due to data array conversion, and the transfer time reduced to 1/16 leads to a reduction in processing time.

画像データなどの演算処理を行うSIMD型マイクロプロセッサ1では、画像データの並列処理を行うことで処理速度を向上させることを可能にしている。しかし、プロセッサエレメント数の増加に伴い処理時間にはデータの転送速度が支配的になっており、この転送効率を向上させることはSIMD型マイクロプロセッサ1の性能向上に繋がるといえる。   In the SIMD type microprocessor 1 that performs arithmetic processing such as image data, the processing speed can be improved by performing parallel processing of image data. However, as the number of processor elements increases, the data transfer rate becomes dominant in the processing time, and it can be said that improving the transfer efficiency leads to the performance improvement of the SIMD type microprocessor 1.

図2は上述したデータ転送方法について、より簡易的に示した図である。簡略化するため、ここではプロセッサエレメント数が8、レジスタ数が4の場合を例に挙げている。まず1回目のPEインタフェース4とのデータ転送ではPE0,PE1,PE2,PE3の4つのプロセッサエレメントの太線でくくった部分へと第2データ線7と第2ワード線8によってデータが転送される。2回目のデータ転送ではPE4,PE5,PE6,PE7の4つのプロセッサエレメントの太線でくくった部分へとデータが転送される。その後全てのプロセッサエレメントの太線でくくった部分のデータがまとめて第1データ線5と第1ワード線6によってALU3a側へと同時に転送されて演算処理が実行される。演算処理後のデータの転送についても順序が逆になる他は同様である。   FIG. 2 is a diagram showing the data transfer method described above more simply. For simplification, the case where the number of processor elements is 8 and the number of registers is 4 is taken as an example here. First, in the first data transfer with the PE interface 4, the data is transferred by the second data line 7 and the second word line 8 to the portions of the four processor elements PE 0, PE 1, PE 2, and PE 3 that are surrounded by thick lines. In the second data transfer, data is transferred to the portion surrounded by the thick lines of the four processor elements PE4, PE5, PE6, and PE7. Thereafter, the data of the portions surrounded by the thick lines of all the processor elements are collectively transferred to the ALU 3a side simultaneously by the first data line 5 and the first word line 6, and the arithmetic processing is executed. The data transfer after the arithmetic processing is the same except that the order is reversed.

なお、本実施形態において、複数のPEIFに外部メモリなどのデータを振り分けるには、バスの接続やマルチプレクサなどの選択回路が必要となるが、SIMD型マイクロプロセッサ1の大部分は複数のプロセッサエレメントで占めており、PEIFの複数使いをしない場合と比べても、周辺部での回路追加による影響は小さいと言える。   In this embodiment, in order to distribute data such as an external memory to a plurality of PEIFs, a bus connection and a selection circuit such as a multiplexer are required. However, most of the SIMD type microprocessor 1 is composed of a plurality of processor elements. Compared to the case of not using multiple PEIFs, it can be said that the influence of circuit addition in the peripheral part is small.

本実施例によれば、第1ワード線6が、複数のプロセッサエレメントPE0〜PEn間で、16個ごとにそれぞれ異なる番号のレジスタに接続され、第2ワード線8が、複数のプロセッサエレメントPE0〜PEn間で、同じ番号のレジスタに接続されているので、PEインタフェース4からプロセッサエレメント16個ごとに異なる番号のレジスタに格納して、その格納したデータを各プロセッサエレメントのALU3aに一斉に転送することができるので、グローバルプロセッサ2からのワード線の数を増やすことがなく、レイアウトサイズの増加もしない。またグローバルプロセッサ2側の回路構成は従来例と全く共通とすることができる。要するに本発明の構成を用いることで、レイアウトサイズを大きくすることなく、容易に転送速度を向上させることができる。   According to this embodiment, the first word line 6 is connected to a register having a different number for every 16 pieces among the plurality of processor elements PE0 to PEn, and the second word line 8 is connected to the plurality of processor elements PE0 to PEn. Since the PEn is connected to the register having the same number, the PE interface 4 stores the 16 processor elements in different register numbers and transfers the stored data to the ALUs 3a of the processor elements all at once. Therefore, the number of word lines from the global processor 2 is not increased and the layout size is not increased. The circuit configuration on the global processor 2 side can be made completely the same as the conventional example. In short, by using the configuration of the present invention, the transfer speed can be easily improved without increasing the layout size.

[第2実施形態]
次に、本発明の第2の実施形態を図3を参照して説明する。なお、前述した第1の実施形態と同一部分には、同一符号を付して説明を省略する。図3は、本発明の第2の実施形態にかかるSIMD型マイクロプロセッサ1のブロック図である。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. Note that the same parts as those in the first embodiment described above are denoted by the same reference numerals and description thereof is omitted. FIG. 3 is a block diagram of the SIMD type microprocessor 1 according to the second embodiment of the present invention.

本実施形態では、第1の実施形態に加えて、第1ワード線6´と、ORゲート3bと、が追加されている。   In this embodiment, in addition to the first embodiment, a first word line 6 ′ and an OR gate 3b are added.

つまり、グローバルプロセッサ2からレジスタを選択するためのワード線として、1つのレジスタにつき2本ずつ配線されて、ORゲート3bを介してレジスタに入力されている。このワード線のうち1つは第1の実施形態と同様のプロセッサエレメントごとに異なる番号のレジスタに接続されている第1ワード線6であり、もう1つは、プロセッサエレメントごとに同一の番号のレジスタに接続されている第1ワード線6´である。すなわち、第1ワード線6には、複数のプロセッサエレメント間で、n個ごとにそれぞれ異なる番号のレジスタに接続されたワード線と、同一の番号のレジスタに接続されたワード線と、の2種類が設けられている。   That is, two word lines are wired per register as a word line for selecting a register from the global processor 2, and are input to the register via the OR gate 3b. One of the word lines is a first word line 6 connected to a register having a different number for each processor element as in the first embodiment, and the other is the same number for each processor element. A first word line 6 'connected to the register. That is, the first word line 6 includes two types of word lines connected to a register having a different number for every n and a word line connected to a register having the same number among a plurality of processor elements. Is provided.

第1ワード線6´は、従来どおりの1つのPEIFから順次各プロセッサエレメントにデータ転送を行うためのワード線である。つまり、本実施形態では従来の転送方式と第1の実施形態で示した転送方式とを共存させている。   The first word line 6 'is a word line for transferring data sequentially from one PEIF to each processor element as in the prior art. That is, in this embodiment, the conventional transfer method and the transfer method shown in the first embodiment coexist.

本実施形態によれば、第1のワード線6と6´との2本を各レジスタに配線しているので、用途に応じて、転送速度を高速化させたモードと、PEIFごとに異なるデータを並行して入出力するモードとを切り替えて使い分けることが可能となる。その場合、レジスタ1つにつきワード線1本が追加されるだけであり、レイアウト規模を増大させることも少ない。   According to the present embodiment, two of the first word lines 6 and 6 'are wired to each register. Therefore, depending on the application, the mode in which the transfer speed is increased and the data different for each PEIF are used. It is possible to switch the mode to input / output in parallel and use them properly. In that case, only one word line is added per register, and the layout scale is rarely increased.

[第3実施形態]
次に、本発明の第3の実施形態を図4ないし図6を参照して説明する。なお、前述した第1、第2の実施形態と同一部分には、同一符号を付して説明を省略する。図4は、本発明の第3の実施形態にかかるSIMD型マイクロプロセッサのブロック図である。図5は、図4に示したSIMD型マイクロプロセッサのWL−Selectorの構成図である。図6は、図4に示したSIMD型マイクロプロセッサにおけるレジスタ転送動作の説明図である。
[Third Embodiment]
Next, a third embodiment of the present invention will be described with reference to FIGS. The same parts as those in the first and second embodiments described above are denoted by the same reference numerals and description thereof is omitted. FIG. 4 is a block diagram of a SIMD type microprocessor according to the third embodiment of the present invention. FIG. 5 is a block diagram of the WL-Selector of the SIMD type microprocessor shown in FIG. FIG. 6 is an explanatory diagram of a register transfer operation in the SIMD type microprocessor shown in FIG.

本実施形態では、第1の実施形態に対して複数のレジスタR0〜R15の間にWL−Selector3cが設けられている点が異なる。   This embodiment is different from the first embodiment in that a WL-Selector 3c is provided between a plurality of registers R0 to R15.

切替手段としてのWL−Selector3cは、4つのトランスファゲート3d1、3d2、3d3、3d4と、2つの入力端子WLLI、WLRIと、2つの出力端子WLLO、WLROと、から構成される回路が1PE当たりに1組ずつ設けられており、4つのトランスファゲート3d1、3d2、3d3、3d4はグローバルプロセッサ2から入力されるSELおよびSELN信号によってON/OFFが制御される。また、入力端子WLLI、WLRIと出力端子WLLO、WLROは、それぞれ第1のワード線6が接続されている。   The WL-Selector 3c as the switching means is a circuit composed of four transfer gates 3d1, 3d2, 3d3, 3d4, two input terminals WLLI, WLRI, and two output terminals WLLO, WLRO per PE. The four transfer gates 3d1, 3d2, 3d3, 3d4 are ON / OFF controlled by SEL and SELN signals input from the global processor 2. The first word line 6 is connected to the input terminals WLLI and WLRI and the output terminals WLLO and WLRO, respectively.

WL−Selector3cの動作を説明すると、グローバルプロセッサ2から入力される信号SELとSELNは互いに排他的な信号レベルに設定される。つまり、SELが“Hi”レベルの場合はSELNが“Low”レベルに、SELが“Low”レベルの場合はSELNは“Hi”レベルに、それぞれ設定される。まず、SELが“Hi”レベル、SELNは“Low”レベルの場合で説明すると、4つのトランスファゲート3d1、3d2、3d3、3d4は、トランスファゲート3d1がOFF、トランスファゲート3d2がON、トランスファゲート3d3がON、トランスファゲート3d4がOFF、となるため、入力端子WLLIから入力された信号はトランスファゲート3d2を経由して出力端子WLROから出力され、入力端子WLRIから入力された信号はトランスファゲート3d3を経由して出力端子WLLOから出力される。つまり、n個のレジスタを複数のレジスタ群に分割せずにn個ごとにそれぞれ異なる番号のレジスタが選択される第1のモードに切替えられる。   Explaining the operation of the WL-Selector 3c, the signals SEL and SELN input from the global processor 2 are set to mutually exclusive signal levels. That is, when SEL is at “Hi” level, SELN is set at “Low” level, and when SEL is at “Low” level, SELN is set at “Hi” level. First, when SEL is at “Hi” level and SELN is at “Low” level, the four transfer gates 3d1, 3d2, 3d3, and 3d4 have the transfer gate 3d1 turned off, the transfer gate 3d2 turned on, and the transfer gate 3d3 turned on. Since ON and transfer gate 3d4 are OFF, a signal input from input terminal WLLI is output from output terminal WLRO via transfer gate 3d2, and a signal input from input terminal WLRI passes through transfer gate 3d3. And output from the output terminal WLLO. In other words, the n registers are not divided into a plurality of register groups, and the first mode is selected in which registers each having a different number are selected for every n registers.

次に、SELが“Low”レベル、SELNが“Hi”レベルの場合、4つのトランスファゲート3d1、3d2、3d3、3d4は、トランスファゲート3d1がON、トランスファゲート3d2がOFF、トランスファゲート3d3がOFF、トランスファゲート3d4がON、となるため、入力端子WLLIから入力された信号はトランスファゲート3d1を経由して出力端子WLLOから出力され、入力端子WLRIから入力された信号はトランスファゲート3d4を経由して出力端子WLROから出力される。つまり、n個のレジスタを複数のレジスタ群に分割して各レジスタ群内のレジスタ数ごとに異なる番号のレジスタが選択される第2のモードに切替えられる。   Next, when SEL is at the “Low” level and SELN is at the “Hi” level, the four transfer gates 3d1, 3d2, 3d3, and 3d4 have the transfer gate 3d1 ON, the transfer gate 3d2 OFF, and the transfer gate 3d3 OFF. Since the transfer gate 3d4 is turned on, the signal input from the input terminal WLLI is output from the output terminal WLLO via the transfer gate 3d1, and the signal input from the input terminal WLRI is output via the transfer gate 3d4. Output from terminal WLRO. That is, the n registers are divided into a plurality of register groups, and the mode is switched to the second mode in which different numbers of registers are selected for each number of registers in each register group.

したがって、SELが“Hi”レベル、SELNは“Low”レベルの場合は2つのブロックを跨いで第1ワード線6が接続される構成となり、SELが“Low”レベル、SELNは“Hi”レベルの場合は2つのブロック内で異なるレジスタが選択されるように第1ワード線6が接続される構成となる。   Therefore, when the SEL is at the “Hi” level and the SELN is at the “Low” level, the first word line 6 is connected across the two blocks. The SEL is at the “Low” level and the SELN is at the “Hi” level. In this case, the first word line 6 is connected so that different registers are selected in the two blocks.

本実施形態では、複数のレジスタR0〜R15をWL−Selector3cで複数のブロックに分割して、ブロックごとにデータ転送の形式を変更できるようにしている。例えば図4の場合は、16レジスタを2+14に2分割している。このときの1ブロック内のレジスタ数は任意の数でよい。勿論ブロック数も3以上に分割してもよい。   In the present embodiment, the plurality of registers R0 to R15 are divided into a plurality of blocks by the WL-Selector 3c so that the data transfer format can be changed for each block. For example, in the case of FIG. 4, the 16 registers are divided into 2 +14. At this time, the number of registers in one block may be an arbitrary number. Of course, the number of blocks may be divided into three or more.

本実施形態における第1ワード線6選択の切り替えを図6に示す。図6ではより簡易的に示すため、レジスタ数が4のものを2+2のブロックに分割した場合で、プロセッサエレメントPE0のレジスタR0とR2がそれぞれ先頭になる第1ワード線6を例に挙げている。図中の矢印が通ったレジスタ位置のものが同時に選択されることを表している。   FIG. 6 shows switching of the selection of the first word line 6 in the present embodiment. For the sake of simplicity, FIG. 6 shows an example of the first word line 6 in which the registers R0 and R2 of the processor element PE0 are headed when the register number of 4 is divided into 2 + 2 blocks. . In the figure, the register position through which the arrow passes is selected at the same time.

なお、本実施形態では第1の実施形態に対してレジスタを分割した構成としたが、第2の実施形態に対して行っても良い。この場合2レジスタの一方のブロックでは複数のPEIFを同時に使用したバンド幅でのデータ転送を行い、他方のブロックでは各レジスタごとに同一PEIFからデータ転送を行うということも可能となる。   In this embodiment, the register is divided from that of the first embodiment. However, the present embodiment may be applied to the second embodiment. In this case, one block of two registers can perform data transfer with a bandwidth using a plurality of PEIFs simultaneously, and the other block can perform data transfer from the same PEIF for each register.

本実施形態によれば、複数のレジスタR0〜R15を分割するためのWL−Selector3cを設けたので、複数のレジスタを分割し領域ごとにデータ転送効率を向上させることを可能としている。したがって、データ転送効率の向上とデータ転送の並列性をバランスよく実現させることが可能となる。   According to the present embodiment, since the WL-Selector 3c for dividing the plurality of registers R0 to R15 is provided, it is possible to divide the plurality of registers and improve the data transfer efficiency for each region. Therefore, it is possible to achieve a good balance between improvement in data transfer efficiency and parallelism of data transfer.

[第4実施形態]
次に、本発明の第4の実施形態を図7を参照して説明する。なお、前述した第1乃至第3の実施形態と同一部分には、同一符号を付して説明を省略する。図7は、本発明の第4の実施形態にかかるSIMD型マイクロプロセッサ1のブロック図である。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described with reference to FIG. The same parts as those in the first to third embodiments described above are denoted by the same reference numerals and description thereof is omitted. FIG. 7 is a block diagram of a SIMD type microprocessor 1 according to the fourth embodiment of the present invention.

第1から第3の実施形態ではPEインタフェース4がレジスタごとに独立して存在していたが、本実施形態では、PEインタフェース4が同期して同時に制御される。そのために、PEインタフェース4のうち第2ワード線7を生成出力する機能を有したブロックであるPEIF−Dec4aから出力される第2ワード線7を、第1ワード線と同様にプロセッサエレメントごとに異なる番号のレジスタに接続する。例えばプロセッサエレメントPE0のレジスタR0に接続した第2ワード線7は、プロセッサエレメントPE1ではレジスタR1、プロセッサエレメントPE2ではレジスタR2といったように、1ずつずらして接続する。すなわち、第1ワード線6および第2ワード線8が、複数のプロセッサエレメント間で、n個ごとにそれぞれ異なる番号のレジスタに接続されている。   In the first to third embodiments, the PE interface 4 exists independently for each register. However, in this embodiment, the PE interface 4 is controlled simultaneously in synchronization. Therefore, the second word line 7 output from the PEIF-Dec 4a which is a block having a function of generating and outputting the second word line 7 in the PE interface 4 is different for each processor element as in the first word line. Connect to the numbered register. For example, the second word line 7 connected to the register R0 of the processor element PE0 is shifted by one, such as the register R1 in the processor element PE1 and the register R2 in the processor element PE2. That is, the first word line 6 and the second word line 8 are connected to a register having a different number for every n pieces among a plurality of processor elements.

このようにすることで、PEインタフェース4がレジスタごとに独立している場合と同様に、異なるプロセッサエレメントの異なる番号のレジスタに転送することが実現できる。   In this way, it is possible to realize transfer to different numbered registers of different processor elements, as in the case where the PE interface 4 is independent for each register.

本実施形態においても、第2、第3実施形態に記載した従来のワード線の接続やレジスタのブロック分割を行っても良い。   Also in this embodiment, the conventional word line connection and register block division described in the second and third embodiments may be performed.

本実施形態によれば、第1ワード線、第2ワード線ともにプロセッサエレメントごとに異なる番号のレジスタに接続しているので、PEインタフェース4から共通のアドレス信号により、同時にレジスタにデータを転送する場合、演算処理に用いるレジスタに直接転送することが可能となる。したがってアドレス信号を増やすことなくデータ転送効率を向上させたレジスタを構成することが可能となる。   According to the present embodiment, since both the first word line and the second word line are connected to registers having different numbers for each processor element, data is simultaneously transferred from the PE interface 4 to the registers by a common address signal. It is possible to transfer directly to a register used for arithmetic processing. Therefore, it is possible to configure a register with improved data transfer efficiency without increasing the address signal.

なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。   The present invention is not limited to the above embodiment. That is, various modifications can be made without departing from the scope of the present invention.

本発明の第1の実施形態にかかるSIMD型マイクロプロセッサのブロック図である。1 is a block diagram of a SIMD type microprocessor according to a first embodiment of the present invention. 図1に示したSIMD型マイクロプロセッサにおけるレジスタ転送動作の説明図である。It is explanatory drawing of the register transfer operation | movement in the SIMD type | mold microprocessor shown in FIG. 本発明の第2の実施形態にかかるSIMD型マイクロプロセッサ1のブロック図である。It is a block diagram of the SIMD type | mold microprocessor 1 concerning the 2nd Embodiment of this invention. 本発明の第3の実施形態にかかるSIMD型マイクロプロセッサのブロック図である。It is a block diagram of a SIMD type microprocessor according to a third embodiment of the present invention. 図4に示したSIMD型マイクロプロセッサのWL−Selectorの構成図である。FIG. 5 is a configuration diagram of a WL-Selector of the SIMD type microprocessor illustrated in FIG. 4. 図4に示したSIMD型マイクロプロセッサにおけるレジスタ転送動作の説明図である。FIG. 5 is an explanatory diagram of a register transfer operation in the SIMD type microprocessor shown in FIG. 4. 本発明の第4の実施形態にかかるSIMD型マイクロプロセッサ1のブロック図である。It is a block diagram of the SIMD type | mold microprocessor 1 concerning the 4th Embodiment of this invention.

符号の説明Explanation of symbols

1 SIMD型マイクロプロセッサ
2 グローバルプロセッサ(制御ユニット)
3a ALU(演算器)
3c WL−Selector(切替手段)
4 PEインタフェース(外部インタフェース)
5 第1データ線(第1のデータ線)
6 第1ワード線(第1のワード線)
6´ 第1ワード線(第1のワード線)
7 第2データ線(第2のデータ線)
8 第2ワード線(第2のワード線)
PE0〜PEn プロセッサエレメント
R0〜R15 レジスタ
1 SIMD type microprocessor 2 Global processor (control unit)
3a ALU (calculator)
3c WL-Selector (switching means)
4 PE interface (external interface)
5 First data line (first data line)
6 First word line (first word line)
6 'first word line (first word line)
7 Second data line (second data line)
8 Second word line (second word line)
PE0 to PEn Processor element R0 to R15 Register

Claims (4)

固有の番号が割り当てられたn個(nは2以上の自然数)のレジスタおよび演算器を備えた複数のプロセッサエレメントと、前記複数のプロセッサエレメントの動作を制御する制御ユニットと、前記n個のレジスタから外部への通信制御を行う外部インタフェースと、前記n個のレジスタがそれぞれ接続された第1のデータ線と、前記制御ユニットが前記第1のデータ線を介して前記演算器との間で通信を行うレジスタを選択する第1のワード線と、前記複数のプロセッサエレメント間で同じ番号のレジスタ同士および前記外部インタフェースが接続された第2のデータ線と、前記外部インタフェースが前記第2のデータ線を介して通信を行うプロセッサエレメントを選択する第2のワード線と、が設けられたSIMD型マイクロプロセッサにおいて、
前記外部インタフェースが前記レジスタの番号のそれぞれに対応して設けられているとともに、
n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線が接続されるように、前記第1のワード線が複数のプロセッサエレメント間でレジスタに接続され、そして、
前記第2のワード線が、複数のプロセッサエレメント間で、同じ番号のレジスタに接続されている
ことを特徴とするSIMD型マイクロプロセッサ。
A plurality of processor elements having n registers (n is a natural number of 2 or more) assigned with a unique number and an arithmetic unit, a control unit for controlling the operations of the plurality of processor elements, and the n registers An external interface for controlling communication from the outside to the outside, a first data line to which each of the n registers is connected, and the control unit communicate with the arithmetic unit via the first data line A first word line for selecting a register to perform, a second data line to which the registers having the same number between the plurality of processor elements and the external interface are connected, and the external interface to the second data line SIMD type microprocessor provided with a second word line for selecting a processor element that communicates via Oite,
The external interface is provided in a manner in correspondence to the respective numbers of the registers,
Between the n processor elements, the first word line is connected to a register among a plurality of processor elements so that the same first word line is connected to registers of different numbers , and
The second word line is connected to a register of the same number among a plurality of processor elements ;
SIMD type microprocessor characterized by the above.
固有の番号が割り当てられたn個(nは2以上の自然数)のレジスタおよび演算器を備えた複数のプロセッサエレメントと、前記複数のプロセッサエレメントの動作を制御する制御ユニットと、前記n個のレジスタから外部への通信制御を行う外部インタフェースと、前記n個のレジスタがそれぞれ接続された第1のデータ線と、前記制御ユニットが前記第1のデータ線を介して前記演算器との間で通信を行うレジスタを選択する第1のワード線と、前記複数のプロセッサエレメント間で同じ番号のレジスタ同士および前記外部インタフェースが接続された第2のデータ線と、前記外部インタフェースが前記第2のデータ線を介して通信を行うプロセッサエレメントを選択する第2のワード線と、が設けられたSIMD型マイクロプロセッサにおいて、
n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線及び同一の前記第2のワード線が接続されるように、前記第1のワード線及び前記第2のワード線が複数のプロセッサエレメント間でレジスタに接続されることを特徴とするSIMD型マイクロプロセッサ。
A plurality of processor elements having n registers (n is a natural number of 2 or more) assigned with a unique number and an arithmetic unit, a control unit for controlling the operations of the plurality of processor elements, and the n registers An external interface for controlling communication from the outside to the outside, a first data line to which each of the n registers is connected, and the control unit communicate with the arithmetic unit via the first data line A first word line for selecting a register to perform, a second data line to which the registers having the same number between the plurality of processor elements and the external interface are connected, and the external interface to the second data line SIMD type microprocessor provided with a second word line for selecting a processor element that communicates via Oite,
Among the n processor elements, the first word line and the second word line are connected such that the same first word line and the same second word line are connected to registers having different numbers. SIMD microprocessor the word line and said Rukoto is connected to the register among a plurality of processor elements.
前記制御ユニットが前記第1のデータ線を介して前記演算器との間で通信を行うレジスタを選択するための、別の種類の第1のワード線がさらに設けられ、
各プロセッサエレメントの同じ番号のレジスタに、同一の前記別の種類の第1のワード線が接続されていることを特徴とする請求項1または2記載のSIMD型マイクロプロセッサ。
Another type of first word line is further provided for selecting a register with which the control unit communicates with the arithmetic unit via the first data line,
3. The SIMD type microprocessor according to claim 1 , wherein the first word line of the same different type is connected to a register having the same number of each processor element .
少なくとも前記第1のワード線の接続関係を変更する機能を有し、第1モードと第2モードのいずれかを選択するための切替手段がさらに設けられ、そして、
前記第1モードでは、前記切替手段により、少なくとも前記第1のワード線について、n個のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線が接続されるように、前記第1のワード線が複数のプロセッサエレメント間でレジスタに接続される態様が維持されるものであり、
前記第2モードでは、各プロセッサエレメントにおけるn個のレジスタが複数のレジスタ群に分割され、前記切替手段により、それぞれの前記レジスタ群における少なくとも前記第1のワード線について、1つのプロセッサエレメント内の当該レジスタ群に含まれるレジスタの数が指し示す個数のプロセッサエレメントの間では、互いに異なる番号のレジスタに同一の前記第1のワード線が接続されるように、前記第1のワード線が複数のプロセッサエレメント間でレジスタに接続される態様が維持されるものである、
ことを特徴とする請求項1乃至3のうちいずれか一項に記載のSIMD型マイクロプロセッサ。
A switching means for selecting at least one of the first mode and the second mode, and having a function of changing the connection relation of at least the first word line ; and
In the first mode, the switching means connects at least the first word line with the same first word line to registers having different numbers among the n processor elements. A mode in which the first word line is connected to a register between a plurality of processor elements is maintained,
In the second mode, n registers in each processor element are divided into a plurality of register groups, and at least the first word line in each of the register groups is divided by the switching unit in the one processor element. Among the number of processor elements indicated by the number of registers included in the register group, the first word line includes a plurality of processor elements so that the same first word line is connected to registers having different numbers. The mode of being connected to the register between is maintained,
The SIMD type microprocessor according to any one of claims 1 to 3, wherein the SIMD type microprocessor is provided.
JP2008327035A 2008-12-24 2008-12-24 SIMD type microprocessor Expired - Fee Related JP5369669B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008327035A JP5369669B2 (en) 2008-12-24 2008-12-24 SIMD type microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008327035A JP5369669B2 (en) 2008-12-24 2008-12-24 SIMD type microprocessor

Publications (2)

Publication Number Publication Date
JP2010152450A JP2010152450A (en) 2010-07-08
JP5369669B2 true JP5369669B2 (en) 2013-12-18

Family

ID=42571507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008327035A Expired - Fee Related JP5369669B2 (en) 2008-12-24 2008-12-24 SIMD type microprocessor

Country Status (1)

Country Link
JP (1) JP5369669B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156119A (en) * 2015-07-13 2018-10-04 井上 克己 Simd type parallel arithmetic apparatus, simd type parallel arithmetic semiconductor chip, simd type parallel arithmetic method and apparatus including simd type parallel arithmetic apparatus and semiconductor chip

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3971535B2 (en) * 1999-09-10 2007-09-05 株式会社リコー SIMD type processor
JP2003216590A (en) * 2002-01-22 2003-07-31 Ricoh Co Ltd Simd type processor and maximum value calculating method therefor

Also Published As

Publication number Publication date
JP2010152450A (en) 2010-07-08

Similar Documents

Publication Publication Date Title
JP4913685B2 (en) SIMD type microprocessor and control method of SIMD type microprocessor
EP0539595A1 (en) Data processor and data processing method
JP2007041781A (en) Reconfigurable integrated circuit device
JPS61110256A (en) Processor having plural arithmetic
EP3605544B1 (en) Image processor comprising a shift register with reduced wiring complexity
US6785800B1 (en) Single instruction stream multiple data stream processor
US8060726B2 (en) SIMD microprocessor, image processing apparatus including same, and image processing method used therein
JP2006260479A (en) Simd type microprocessor and data processing method
KR20070061538A (en) Interconnections in simd processor architectures
JP2009015555A (en) Simd microprocessor and data transfer method for simd microprocessor
JP5369669B2 (en) SIMD type microprocessor
JP2009059346A (en) Method and device for connecting with a plurality of multimode processors
JP2006350907A (en) Simd type microprocessor, data transfer unit, and data conversion unit
JP5889747B2 (en) Semiconductor device
JP4482356B2 (en) Image processing method and image processing apparatus using SIMD processor
JP4868607B2 (en) SIMD type microprocessor
JP4408113B2 (en) Signal processing method
JP2008071037A (en) Simd microprocessor
JP3971543B2 (en) SIMD type processor
US8001506B2 (en) SIMD image forming apparatus for minimizing wiring distance between registers and processing devices
JP4413905B2 (en) SIMD type processor
JP5888028B2 (en) SIMD type microprocessor and processor system
JP2011113370A (en) Simd type microprocessor
JP2011134042A (en) Simd type microprocessor and data alignment method of the same
JP2007200090A (en) Semiconductor processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130806

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: 20130820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130902

R151 Written notification of patent or utility model registration

Ref document number: 5369669

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees