JP2002007359A - Method and device for parallel processing simd control - Google Patents

Method and device for parallel processing simd control

Info

Publication number
JP2002007359A
JP2002007359A JP2000186226A JP2000186226A JP2002007359A JP 2002007359 A JP2002007359 A JP 2002007359A JP 2000186226 A JP2000186226 A JP 2000186226A JP 2000186226 A JP2000186226 A JP 2000186226A JP 2002007359 A JP2002007359 A JP 2002007359A
Authority
JP
Japan
Prior art keywords
processing
processor
simd
identification code
data
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.)
Abandoned
Application number
JP2000186226A
Other languages
Japanese (ja)
Inventor
Toru Kurata
徹 倉田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000186226A priority Critical patent/JP2002007359A/en
Publication of JP2002007359A publication Critical patent/JP2002007359A/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

PROBLEM TO BE SOLVED: To increase the memory capacity and processing speed by effectively utilizing a processor element(PE), which is not practically contributing to processing. SOLUTION: In SIMD control for controlling one-dimensionally located plural PE corresponding to the same command, ID codes, which are repeatedly assigned in the same array for every plural groups 2 composed of PE0, PE1 and PE2, for example, capable of specifying the arbitrary PE within each of groups 2 are applied for every PE. Then, data are inputted to the PE 0-2, the same processing is executed, the result in the middle of processing in the specified PE1 inside the group 2 is stored in the other PE0 and PE2 designated with a specified identification code (ID=1) as a reference, and the stored middle result is read out with (ID=1) as a reference and used for following processing. The result of processing is selected and outputted with (ID=1) as a reference.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、数多くのPE(Pro
cessor Element) に対して単一の命令で多並列処理を実
行するSIMD(Single Instruction Multiple Data)制
御方式の並列処理装置およびその制御方法に関する。
The present invention relates to a number of PE (Pro
The present invention relates to a parallel processing device of a SIMD (Single Instruction Multiple Data) control method for executing multi-parallel processing with a single instruction for a processor element and a control method thereof.

【0002】[0002]

【従来の技術】SIMD制御の多並列プロセッサでは、
複数の要素プロセッサPEを1次元に配置し、当該複数
の要素プロセッサ(PE)を単一の命令により制御する
ものである。従来、このSIMD制御の多並列プロセッ
サでは、同一のデータを割り当てることはなく、各要素
プロセッサに対してデータが常に1対1もしくは1対多
になっていた。また、要素プロセッサ間通信を行う機能
も有するが、この機能はあくまで、一つの処理に他の要
素プロセッサの結果を利用する場合に用いるために設け
られていた。
2. Description of the Related Art In a SIMD-controlled multi-parallel processor,
A plurality of element processors PE are arranged one-dimensionally, and the plurality of element processors (PE) are controlled by a single instruction. Conventionally, in this SIMD-controlled multi-parallel processor, the same data has not been assigned, and the data has always been one-to-one or one-to-many for each element processor. It also has a function of performing inter-element processor communication, but this function is provided for use only when the result of another element processor is used for one process.

【0003】[0003]

【発明が解決しようとする課題】従来のSIMD制御の
多並列プロセッサにおいて、しばしばローカルメモリ
(LM)の不足や、処理ステップ数の不足が問題となっ
ていた。また、SIMD制御プロセッサの構造上要素プ
ロセッサ数が固定されているのに対し、データ・ストリ
ームの長さが必ずしも要素プロセッサ数と一致している
とは限らないため、実際には使用されることのない要素
プロセッサが数多く存在する場合があり、これらの要素
プロセッサは無駄となっていた。また、データ・ストリ
ームの中で所定の異なる処理を周期的に行う処理も多
い。SIMD制御では、所定数おきに要素プロセッサの
一つが有効な処理中のとき、他の要素プロセッサも同じ
手順の処理を行うが、周期的な処理では、他の要素プロ
セッサの処理結果は出力されない。このため、他の要素
プロセッサの処理は、有効な処理に何ら寄与しておら
ず、この点でも無駄が多かった。
In a conventional SIMD-controlled multi-parallel processor, a shortage of a local memory (LM) and a shortage of processing steps are often problems. Further, while the number of element processors is fixed due to the structure of the SIMD control processor, the length of the data stream does not always match the number of element processors. There may be many missing element processors, and these element processors have been wasted. In addition, there are many processes in which predetermined different processes are periodically performed in a data stream. In the SIMD control, when one of the element processors is in a valid process every predetermined number of times, the other element processors perform the same process, but in the periodic processing, the processing results of the other element processors are not output. For this reason, the processing of the other element processors does not contribute to the effective processing at all, and this point is wasteful.

【0004】本発明の目的は、このような要素プロセッ
サが無駄になるデータ・ストリームに対して、要素プロ
セッサを有効利用したうえでローカルメモリを実質的に
複数倍に増加させる処理を、ハードウェアの構成をその
ままに実現することにある。また、本発明の他の目的
は、フィルタリング処理等、パラメータが異なるだけで
全く同じような処理を繰り返すような処理の場合に、従
来では出力データの算出に全く寄与していなかった要素
プロセッサを有効利用し、並列処理数を実質的に複数倍
に増加させた効率が高い処理を、ハードウェアの構成を
そのままに実現することにある。
[0004] An object of the present invention is to perform a process of effectively increasing the local memory multiple times for such a data stream in which the element processor is wasted, while effectively utilizing the element processor. The point is to realize the configuration as it is. Further, another object of the present invention is to enable an element processor which has not conventionally contributed to the calculation of output data, in the case of processing such as filtering processing in which exactly the same processing is repeated with only different parameters. An object of the present invention is to realize highly efficient processing using the number of parallel processes substantially multiple times by using the hardware configuration as it is.

【0005】[0005]

【課題を解決するための手段】本発明の第1の観点に係
るSIMD制御並列処理方法は、1次元的に配列された
複数の要素プロセッサを単一の命令により制御するSI
MD制御並列処理方法であって、所定数の要素プロセッ
サからなるグループごとに同じ配列で繰り返し割り当て
られ、かつ、各グループ内で任意の要素プロセッサを特
定可能な識別コードを各要素プロセッサごとに付与し、
上記複数の要素プロセッサにデータを入力して、同一の
処理を実行させ、上記グループ内の特定の要素プロセッ
サにおいて、上記処理の途中結果を、特定の識別コード
を基準に指定した他の要素プロセッサに記憶させ、当該
記憶した途中結果を、上記特定の識別コードを基準とし
た指定により読み出して後続の処理に用いる。好適に、
上記処理の結果を、特定の識別コードを基準とした指定
により選択して出力させる。
According to a first aspect of the present invention, there is provided an SIMD control parallel processing method for controlling a plurality of one-dimensionally arranged element processors by a single instruction.
An MD control parallel processing method, wherein an identification code that is repeatedly assigned in the same arrangement for each group of a predetermined number of element processors and that can specify an arbitrary element processor in each group is assigned to each element processor. ,
Data is input to the plurality of element processors, and the same processing is executed.In a specific element processor in the group, an intermediate result of the processing is transmitted to another element processor specified based on a specific identification code. The stored intermediate result is read out according to the specification based on the specific identification code and used for the subsequent processing. Preferably,
The result of the above processing is selected and output according to a specification based on a specific identification code.

【0006】本発明の第2の観点に係るSIMD制御並
列処理方法は、1次元的に配列された複数の要素プロセ
ッサを単一の命令により制御するSIMD制御並列処理
方法であって、所定数の要素プロセッサからなるグルー
プごとに同じ配列で繰り返し割り当てられ、かつ、各グ
ループ内で任意の要素プロセッサを特定可能な識別コー
ドを各要素プロセッサごとに付与し、上記複数の要素プ
ロセッサにデータとパラメータを入力して、同一の処理
を実行させ、上記要素プロセッサの処理結果の幾つか
を、識別コードを基準に指定して統合処理し、上記統合
処理の結果を、識別コードを基準とした指定により選択
して出力させる。
A SIMD control parallel processing method according to a second aspect of the present invention is a SIMD control parallel processing method for controlling a plurality of one-dimensionally arranged element processors by a single instruction. An identification code that is repeatedly assigned in the same arrangement for each group of element processors and that can identify an arbitrary element processor within each group is assigned to each element processor, and data and parameters are input to the plurality of element processors. Then, the same processing is executed, some of the processing results of the element processors are integrated with reference to the identification code, and the result of the integration processing is selected by specification with the identification code as the reference. Output.

【0007】本発明の第3の観点に係るSIMD制御並
列処理装置は、情報を記憶するメモリ部、メモリ部に記
憶された情報を基に処理を実行する処理部をそれぞれに
含んで1次元的に配列され、隣接相互間でデータ通信が
可能な複数の要素プロセッサと、上記複数の要素プロセ
ッサを単一の命令によりSIMD制御するSIMD制御
回路とを有し、上記SIMD制御に、所定数の要素プロ
セッサからなるグループごとに同じ配列で繰り返し割り
当てられ、かつ、各グループ内で任意の要素プロセッサ
を特定可能な識別コードを各要素プロセッサごとに付与
し、上記複数の要素プロセッサにデータを入力して、同
一の処理を実行させ、上記グループ内の特定の要素プロ
セッサにおいて、上記処理の途中結果を、特定の識別コ
ードを基準に指定した他の要素プロセッサに記憶させ、
当該記憶した途中結果を、上記特定の識別コードを基準
とした指定により読み出して後続の処理に用いる制御を
含む。好適に、上記SIMD制御に、さらに、上記処理
の結果を上記特定の識別コードを基準とした指定により
選択して出力させる制御を含む。
A SIMD control parallel processing device according to a third aspect of the present invention includes a memory unit for storing information and a processing unit for executing processing based on the information stored in the memory unit. And a SIMD control circuit for performing SIMD control of the plurality of element processors by a single instruction. The SIMD control includes a predetermined number of elements. It is repeatedly assigned in the same arrangement for each group of processors, and, in each group, assigns an identification code capable of specifying an arbitrary element processor to each element processor, and inputs data to the plurality of element processors, Execute the same process and specify the intermediate result of the above process on the specific element processor in the above group based on the specific identification code It has been stored in the other element processor,
The stored intermediate result is read out based on the specification based on the specific identification code and used for subsequent processing. Preferably, the SIMD control further includes a control for selecting and outputting the result of the processing based on the specification based on the specific identification code.

【0008】本発明の第4の観点に係るSIMD制御並
列処理装置は、情報を記憶するメモリ部、メモリ部に記
憶された情報を基に処理を実行する処理部をそれぞれに
含んで1次元的に配列され、隣接相互間でデータ通信が
可能な複数の要素プロセッサと、上記複数の要素プロセ
ッサを単一の命令によりSIMD制御するSIMD制御
回路とを有し、上記SIMD制御に、所定数の要素プロ
セッサからなるグループごとに同じ配列で繰り返し割り
当てられ、かつ、各グループ内で任意の要素プロセッサ
を特定可能な識別コードを各要素プロセッサごとに付与
し、上記複数の要素プロセッサにデータとパラメータを
入力して、同一の処理を実行させ、上記要素プロセッサ
の処理結果の幾つかを、識別コードを基準に指定して統
合処理し、上記統合処理の結果を、識別コードを基準と
した指定により選択して出力させる制御を含む。
A SIMD control parallel processing apparatus according to a fourth aspect of the present invention includes a memory unit for storing information and a processing unit for executing processing based on the information stored in the memory unit. And a SIMD control circuit for performing SIMD control of the plurality of element processors by a single instruction. The SIMD control includes a predetermined number of elements. An identification code that is repeatedly assigned in the same arrangement for each group of processors and that can identify an arbitrary element processor in each group is assigned to each element processor, and data and parameters are input to the plurality of element processors. Then, the same processing is executed, and some of the processing results of the element processors are integrated based on the identification code as a reference. The result of the process, including control to select and output the specified relative to the identification code.

【0009】このような本発明に係るSIMD制御並列
処理方法および装置では、認識コードの繰り返し配列付
与により、要素プロセッサ群を所定数の要素プロセッサ
からなるグループに分け、このグループ内の複数の要素
プロセッサを1つの仮想的な要素プロセッサとして動作
させる。
In the SIMD control parallel processing method and apparatus according to the present invention, a group of element processors is divided into a group consisting of a predetermined number of element processors by repeatedly arranging recognition codes, and a plurality of element processors in this group are divided. Are operated as one virtual element processor.

【0010】具体的に、上記第1および第3の観点に係
るSIMD制御並列処理方法および装置では、複数の要
素プロセッサのメモリ部を1つのデータに対して仮想的
に割り当てて使用する。このメモリ部への書き込みおよ
び読み出しでは、認識コードを基にメモリ部の指定を行
う。認識コードを基にしたメモリ指定では、メモリ部へ
の書き込みおよび読み出しを、基準となる要素プロセッ
サのみ正常にできる。他の要素プロセッサでは、書き込
み先が指定されなかったり、データを別の場所から読み
出すため、処理結果が誤ったものとなる。そして、基準
となる要素プロセッサのみから正常な出力データが得ら
れる。このような制御では、要素プロセッサ・ブロック
内の要素プロセッサ数をnとした場合、並列処理装置全
体として一度に処理できるデータ数は1/nになるもの
の、1 つのデータに対して使用できるメモリ容量を実質
的にほぼn倍にすることができる。このような仮想的な
メモリ拡張手法は、間欠的にしか出力データは要らない
が、処理時に多量のメモリ空間を必要とする場合に適し
ている。また、SIMD制御回路のプログラム制御で行
えるため、従来のSIMD制御並列処理装置のハードウ
ェア構成を全く変更する必要がない。
Specifically, in the SIMD control parallel processing method and apparatus according to the first and third aspects, the memory units of a plurality of element processors are virtually allocated to one data and used. In writing to and reading from the memory unit, the memory unit is specified based on the recognition code. With the memory designation based on the recognition code, writing and reading to and from the memory unit can be performed normally only by the reference element processor. In other element processors, the write destination is not specified, or data is read from another location, so that the processing result is incorrect. Then, normal output data can be obtained only from the reference element processor. In such a control, when the number of element processors in an element processor block is n, the number of data that can be processed at a time by the entire parallel processing apparatus is 1 / n, but the memory capacity that can be used for one data Can be substantially increased by a factor of n. Such a virtual memory expansion method requires output data only intermittently, but is suitable when a large amount of memory space is required for processing. Further, since it can be performed by program control of the SIMD control circuit, there is no need to change the hardware configuration of the conventional SIMD control parallel processing device at all.

【0011】また、第2,第4の観点に係るSIMD制
御並列処理方法および装置では、同一グループ内の各要
素プロセッサ全てに同一データを入力し、かつ、異なる
パラメータを入力することで、データに対しパラメータ
の異なる処理が完全に並列で実行される。処理結果を各
要素プロセッサの認識コードを基に統合処理を行う際
に、基準となる要素プロセッサのみ正常の統合処理がで
きる。また、最終的に、各要素プロセッサの出力を認識
コードで選択制御する。これにより、各々のグループで
1つ正しい処理結果が出力データとして得られる。この
処理では、各グループを仮想的な1つの要素プロセッサ
と見なせば、その仮想要素プロセッサは個々の要素プロ
セッサよりも高い処理能力を持つことになる。実質的に
は、この処理手法によって有効な出力が得られる要素プ
ロセッサ数は減る。ところが、画像処理の分野などで
は、一度に並列処理させたい画素は間欠的な場合も多い
ので、本手法によって、従来は数回に1度しか処理に寄
与していなかった要素プロセッサの処理能力を有効活用
したことになる。しかも、本実施形態では、この並列処
理数を増加させた高効率なSIMD制御プロセッサは、
ハードウェアの構成を全く変更する必要がない。
In the SIMD control parallel processing method and apparatus according to the second and fourth aspects, the same data is input to all the element processors in the same group and different parameters are input, so that On the other hand, processing with different parameters is executed completely in parallel. When integrating the processing results based on the recognition code of each element processor, normal integration processing can be performed only for the reference element processor. Finally, the output of each element processor is selectively controlled by the recognition code. Thereby, one correct processing result is obtained as output data in each group. In this processing, if each group is regarded as one virtual element processor, the virtual element processor has a higher processing capability than the individual element processors. In effect, the number of element processors that can obtain an effective output by this processing method is reduced. However, in the field of image processing and the like, pixels that are desired to be processed in parallel at one time are often intermittent. Therefore, this method can reduce the processing power of element processors that have conventionally only contributed to processing once every several times. This means that it was used effectively. Moreover, in the present embodiment, a highly efficient SIMD control processor with an increased number of parallel processes is:
There is no need to change the hardware configuration at all.

【0012】[0012]

【発明の実施の形態】本発明は、たとえば、画像の1水
平スキャンラインを1つのデータ・ストリームの単位と
して、水平方向の画素データを各要素プロセッサPEに
1対1に対応させ、次のスキャンラインまでの1水平走
査期間中に処理を行う、SIMD制御の多並列画像DS
P(Digital Signal Processor)に対して有効なSIMD
制御手法を提供する。本発明の実施例として、図とフロ
ーチャートを利用し、具体的な事例に基づいて説明して
いく。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention relates to, for example, one horizontal scan line of an image as a unit of one data stream, one-to-one correspondence of pixel data in the horizontal direction to each element processor PE, and the next scan. SIMD-controlled multi-parallel image DS that performs processing during one horizontal scanning period up to the line
SIMD effective for P (Digital Signal Processor)
Provide a control method. Embodiments of the present invention will be described based on specific cases using drawings and flowcharts.

【0013】第1実施形態 第1実施形態では、多並列のSIMD制御プロセッサに
おいて、複数の要素プロセッサに対して1つのデータを
割り当て、そのデータ処理過程の中間結果等を複数の要
素プロセッサに分散して保存することで、実質的に1つ
のデータ当たりのローカルメモリLM(Local Memory)を
複数倍に増大させる手法を提案する。
First Embodiment In the first embodiment, in a multi-parallel SIMD control processor, one data is allocated to a plurality of element processors, and an intermediate result of the data processing is distributed to the plurality of element processors. A method is proposed in which the local memory LM (Local Memory) per one data is substantially increased multiple times by storing the data.

【0014】まず、本件で前提とするSIMD(Single
Instruction Multiple Data)制御の多並列デジタル・プ
ロセッサについて説明する。図1に、実施形態に係るS
IMD制御の多並列プロセッサの要部構成を示す。
First, SIMD (Single)
A multi-parallel digital processor controlled by Instruction Multiple Data will be described. FIG. 1 shows the S according to the embodiment.
1 shows a main configuration of an IMD-controlled multi-parallel processor.

【0015】このプロセッサ1の内部に多数の要素プロ
セッサ(Processor Element) が1次元的に配置されてい
る。図1ではその一部として、連続した3つの要素プロ
セッサPE0,PE1,PE2のみ示している。各要素
プロセッサPE0,PE1,PE2の内部には、ローカ
ルメモリ(Local Memory)LM0,LM1,LM2とロジ
ック回路が含まれている。また、これら要素プロセッサ
群をSIMD制御するSIMD制御回路10を有する。
A large number of processor elements (Processor Elements) are one-dimensionally arranged inside the processor 1. FIG. 1 shows only three continuous element processors PE0, PE1, and PE2 as a part thereof. Each of the element processors PE0, PE1, PE2 includes a local memory (Local Memory) LM0, LM1, LM2 and a logic circuit. Further, it has a SIMD control circuit 10 for performing SIMD control on these element processors.

【0016】ロジック回路および配線部分の要部は、図
1では代表して中央の要素プロセッサPE1についての
み示している。本実施形態に係るSIMD制御多並列プ
ロセッサ1は、プロセッサとして最低限必要なローカル
メモリLM0,LM1,LM2と、ALU(Arithmetic
Logic Unit) の他、幾つかの機能を有するロジック回路
もしくは配線を必要とする。
FIG. 1 shows only the central element processor PE1 as a representative of the logic circuit and the main part of the wiring portion. The SIMD control multi-parallel processor 1 according to the present embodiment includes local memories LM0, LM1, and LM2, which are the minimum required as processors, and an ALU (Arithmetic).
Logic Unit) and a logic circuit or wiring having some functions.

【0017】ある要素プロセッサPE1と、その隣接す
る要素プロセッサPE0,PE2のローカルメモリLM
0,LM2とのデータの通信機能を実現するデータ・パ
ス3は、図1のようにそれぞれの要素プロセッサPE
0,PE1,PE2について最低左右1本ずつあればよ
い。これによって、要素プロセッサPE1のALUは、
隣接する要素プロセッサPE0,PE2のローカルメモ
リLM0,LM2のデータを読み込んで処理することが
できる。また、逆に、要素プロセッサPE1のALUが
処理し、ローカルメモリLM1に格納されていたデータ
を隣接する要素プロセッサPE0,PE2が受信して、
自らのデータとして処理することもできる。
The local memory LM of a certain element processor PE1 and its adjacent element processors PE0 and PE2
0, LM2, the data path 3 for realizing the function of communicating data with each of the element processors PE as shown in FIG.
0, PE1, and PE2 may be at least one each on the left and right. As a result, the ALU of the element processor PE1 becomes
The data in the local memories LM0 and LM2 of the adjacent element processors PE0 and PE2 can be read and processed. Conversely, the ALU of the element processor PE1 processes the data, and the adjacent element processors PE0 and PE2 receive the data stored in the local memory LM1.
You can also process it as your own data.

【0018】なお、ここでは、以下の説明を簡略化する
ために、隣接する要素プロセッサPE0,PE2のロー
カルメモリLM0,LM2とのデータの通信機能を実現
するデータ・パス3は隣接左右の要素プロセッサLM
0,LM2に対してそれぞ1本ずつ存在するものとす
る。もちろん、片側に隣接する2以上の要素プロセッサ
とのデータ・パスを有する構成でもよいし、これが煩雑
であれば、たとえばALU間通信機能を設け、この機能
を利用して遠く離れた要素プロセッサとのデータのやり
取りも可能である。
In order to simplify the following description, the data path 3 for realizing the data communication function with the local memories LM0 and LM2 of the adjacent element processors PE0 and PE2 is connected to the adjacent left and right element processors. LM
It is assumed that one exists for each of 0 and LM2. Of course, a configuration having a data path with two or more adjacent element processors on one side may be used. If this is complicated, for example, an ALU communication function is provided, and this function is used to connect to a distant element processor. Data exchange is also possible.

【0019】また、要素プロセッサPE1は、そのロー
カルメモリLM1の記憶値(具体的には、後述するID
番号)に応じて、データ・パス3により接続されたロー
カルメモリLM0,LM1,LM2のいずれかを選択す
るメモリ選択手段4と、ALUから送られきた出力デー
タの有効または無効を判定する有効性判定手段5も有す
る。なお、本実施形態におけるメモリ選択手段4および
有効性判定手段5は、実際に物理的構成を新たに付加し
たものではなく、既存の構成を利用したSIMD制御回
路10のプログラムにより実現されている。メモリ選択
手段4は、たとえば、メモリ選択用の1ビットのフラグ
という形で、図示しない制御線の論理を1または0に変
化させ、これによりローカルメモリLM0,LM1,L
M2に読み出し等の許可を与えることで実現される。ま
た、有効性判定手段5は、要素プロセッサPE0,PE
1,PE2の出力データを処理する外部のブロック、た
とえば図示を省略した出力回路の既存の機能を利用し
て、送られてくる出力データを取り込むか否かの制御に
より実現される。
The element processor PE1 stores a value stored in the local memory LM1 (specifically, an ID
No.), a memory selection means 4 for selecting one of the local memories LM0, LM1, and LM2 connected by the data path 3, and a validity determination for determining whether the output data sent from the ALU is valid or invalid. Means 5 are also provided. Note that the memory selection unit 4 and the validity determination unit 5 in the present embodiment are not actually added with a new physical configuration, but are realized by a program of the SIMD control circuit 10 using an existing configuration. The memory selection means 4 changes the logic of a control line (not shown) to 1 or 0, for example, in the form of a 1-bit flag for memory selection, whereby the local memories LM0, LM1, L
This is realized by giving permission such as reading to M2. In addition, the validity determining means 5 includes element processors PE0, PE
This is realized by using an existing function of an external block for processing the output data of the PE1, PE2, for example, an output circuit not shown, by controlling whether or not the output data to be sent is taken in.

【0020】このように、本発明が適用できるSIMD
制御の多並列プロセッサ1は、通常のALU以外に、各
要素プロセッサ間のデータ通信機能、とくに、このデー
タ通信機能を利用して要素プロセッサの処理に用いるデ
ータを他の要素プロセッサのローカルメモリから読み出
す機能と、要素プロセッサの出力の取捨選択を制御する
機能とを有することが前提となる。
Thus, SIMD to which the present invention can be applied
The controlling multi-parallel processor 1 reads a data communication function between the element processors, in particular, data used for processing of the element processor by using the data communication function from a local memory of another element processor in addition to the normal ALU. It is assumed that it has a function and a function of controlling selection of outputs of element processors.

【0021】図2は、以上のような構成のSIMD制御
の多並列プロセッサ1の具体的処理の例を示すフローチ
ャートである。
FIG. 2 is a flowchart showing an example of specific processing of the SIMD-controlled multi-parallel processor 1 having the above-described configuration.

【0022】まず、ステップST0において、連続した
複数の要素プロセッサPE0,PE1,PE2を1つの
仮想的なグループ2とするために、要素プロセッサ間の
データ通信機能を利用して、各要素プロセッサ・グルー
プ2,…内のローカルメモリLM0,LM1,LM2に
それぞれ固有のID番号を設定する。このID番号設定
では、各要素プロセッサ同士をつなぐデータ・パス3を
介して、例えば図示した3つの要素プロセッサPE0,
PE1,PE2ごとのID番号ID0 ,ID1 ,ID2
として0,1,2を付与する。その際、このID番号の
配列を0,1,2,0,1,2,0,1,…と他のグル
ープにも同じように繰り返し付与する。そして、各グル
ープ内で固有のID番号を、すべての要素プロセッサ内
のローカルメモリの同一アドレスに記憶させる。
First, in step ST0, in order to make a plurality of continuous element processors PE0, PE1 and PE2 into one virtual group 2, each element processor group is utilized by utilizing a data communication function between element processors. Each of the local memories LM0, LM1, and LM2 in 2,... Is assigned a unique ID number. In this ID number setting, for example, the illustrated three element processors PE0, PE0 are connected via a data path 3 connecting the element processors.
PE1, ID of each PE2 number ID 0, ID 1, ID 2
Are assigned as 0, 1, and 2. At this time, the array of ID numbers is repeatedly assigned to other groups in the same manner as 0, 1, 2, 0, 1, 2, 0, 1,. Then, the unique ID number in each group is stored at the same address in the local memory in all the element processors.

【0023】より具体的なID番号設定方法としては、
まず、図1で示した3つの要素プロセッサPE0,PE
1,PE2を含めたすべての要素プロセッサのうちで1
番左に位置するものが、更に左側の要素プロセッサから
読み出しを行おうとした場合に、常に読み出し可能なハ
ードウェアの状態にする。たとえば、処理に応じて要素
プロセッサがn個のグループにすることが最適であると
判断されるが、要素プロセッサの個数をnで割ると端数
が生じる場合には、その左端および/または右端の幾つ
かの要素プロセッサにアクセス禁止を意味するID番号
を付与する。これによって、あるプロセッサが処理する
際に読み出す要素プロセッサが存在しないということが
防止される。そして、まず、すべての要素プロセッサに
ついて、ID番号を格納するアドレスのローカルメモリ
の値をクリアしておく。
As a more specific ID number setting method,
First, the three element processors PE0 and PE shown in FIG.
1, one of all element processors including PE2
When the leftmost one attempts to read out from the element processor on the left side, the hardware state is always set to be readable. For example, it is determined that it is optimal to divide the number of element processors into n groups according to processing, but if the number of element processors is divided by n, a fraction is generated. An ID number meaning access prohibition is assigned to one of the element processors. This prevents that there is no element processor to read when a certain processor performs processing. First, the values of the local memory at the addresses where the ID numbers are stored are cleared for all the element processors.

【0024】続いて、アクセスが禁止されていない処理
可能な要素プロセッサ群のうち、一番左端の要素プロセ
ッサのID番号を格納するアドレスのメモリ領域にID
=0を書き込む。そして、SIMD制御の特質を利用し
て、他の全ての要素プロセッサに、“左隣りの要素プロ
セッサPEのIDに1足した値を自らのIDとし、ID
の値が3になったら0に戻す”という処理の命令を一括
して送る。その結果、最初のID書き込み(ID=0)
に続いて、左側から順次、ID番号が1,2,0,1,
2,0,1,…と確定してゆく。このようなID番号設
定では、要素プロセッサの数が多くても、一番右側の要
素プロセッサまで規則的なID番号が伝搬され、しかも
最後のID番号が必ず2となる。確定したID番号は、
各ローカルメモリ内の所定アドレスに保存される。
Subsequently, the ID is stored in the memory area of the address for storing the ID number of the leftmost element processor among the group of processable element processors whose access is not prohibited.
= 0 is written. Then, by utilizing the characteristic of the SIMD control, all other element processors are notified that "the value of the ID of the element processor PE on the left side is added by one, and the ID of the own element processor is" ID ".
Is returned to 0 when the value of becomes "3". As a result, the first ID write (ID = 0)
Then, from the left side, the ID numbers are 1, 2, 0, 1,
It is decided as 2,0,1, ... In such ID number setting, even if the number of element processors is large, a regular ID number is propagated to the rightmost element processor, and the last ID number is always 2. The confirmed ID number is
It is stored at a predetermined address in each local memory.

【0025】次に、ステップST1において、入力デー
タを各グループ内の特定の1つの要素プロセッサにのみ
配信する。すなわち、たとえば図1に示すID番号ID
0 ,ID1 ,ID2 が左から順に0,1,2となるよう
な3つの連続した要素プロセッサPE0,PE1,PE
2を1つの要素プロセッサ・グループ2として、1つの
要素プロセッサ・グループ2内のある特定の要素プロセ
ッサに対してのみデータを入力していく。ここでは、3
つの要素プロセッサPE0,PE1,PE2の中央の要
素プロセッサPE1にのみ有効なデータを入力すること
とする。
Next, in step ST1, the input data is distributed to only one specific element processor in each group. That is, for example, the ID number ID shown in FIG.
0 , ID 1 , and ID 2 are three consecutive element processors PE 0, PE 1, and PE 2 from left to right in order of 0, 1, and 2, respectively.
2 as one element processor group 2, data is input only to a specific element processor in one element processor group 2. Here, 3
It is assumed that valid data is input only to the central element processor PE1 of the two element processors PE0, PE1, PE2.

【0026】つぎに、ステップST2の演算処理1に移
るが、ここでは、まず、SIMD制御により要素プロセ
ッサPE0,PE1,PE2を含むすべての要素プロセ
ッサに対し、共通した単一の処理命令を発行する。ただ
し、前記したように実際に有効なデータが入力されてい
るのは中央の要素プロセッサPE1のみである。そし
て、与えられた処理命令に沿って、各要素プロセッサP
E0,PE1,PE2が演算処理1を実行する。
Next, the operation proceeds to the arithmetic processing 1 in step ST2. Here, a single common processing instruction is issued to all the element processors including the element processors PE0, PE1, and PE2 by SIMD control. . However, as described above, only the central element processor PE1 actually receives valid data. Then, along with the given processing instruction, each element processor P
E0, PE1, and PE2 execute the operation processing 1.

【0027】いま、この処理の途中で、中央の要素プロ
セッサPE1は、演算過程でその中間処理結果をテンポ
ラリ・データとして自らのローカルメモリLM1に保存
しておきたいが、これを保存すると、そのメモリ容量が
限界近くに達してしまう場合がある。このような場合、
実際に有効なデータを処理していない左右の要素プロセ
ッサPE0,PE2のローカルメモリLM0,LM2の
メモリ領域を一時的なデータ保存用に利用する。また、
自らのローカルメモリLM1に十分な空き領域がある場
合でも、後の合成処理時のデータの一時退避用などの用
途に、この空き領域はとっておきたいこともあり、この
場合も、ローカルメモリLM0,LM2を一時的に利用
する。いずれにしても処理途中の演算結果を中間結果1
として出力するのであるが、ここでの中間結果1(後述
する中間結果2も同様)は、それに続く処理に直ぐには
用いられないような演算結果を想定している。たとえば
繰り返し計算の幾つかのルーチンワークが完結した時点
の演算結果などが、ここで言う中間結果に該当する。た
だし、出力したい演算結果が、続く処理で用いるような
演算結果とならざるを得ない場合も多い。その場合、以
下の説明では特に言及しないが、つぎのステップST
3,ST4等を経て保存した後、通常の通信機能がある
SIMD制御プロセッサが行っているように、その時々
で適宜、ローカルメモリLM0またはLM2に保存して
いる中間結果を読み出して処理に利用することになる。
In the course of this processing, the central element processor PE1 wants to store the intermediate processing result as temporary data in its own local memory LM1 in the course of the operation. The capacity may reach the limit. In such a case,
The memory areas of the local memories LM0 and LM2 of the left and right element processors PE0 and PE2 which are not actually processing valid data are used for temporary data storage. Also,
Even if the local memory LM1 has a sufficient free area, the free area may be desired to be reserved for the purpose of temporarily saving data during the later synthesis processing. In this case, the local memories LM0 and LM2 are also used. Use temporarily. In any case, the calculation result in the middle of the processing is changed to the intermediate result 1
However, the intermediate result 1 (the same applies to an intermediate result 2 described later) is assumed to be an operation result that is not immediately used for the subsequent processing. For example, the calculation result at the time when some routine work of the repetition calculation is completed corresponds to the intermediate result here. However, in many cases, the calculation result to be output has to be a calculation result used in the subsequent processing. In that case, although not particularly mentioned in the following description, the next step ST
3, after storing through ST4, etc., the intermediate result stored in the local memory LM0 or LM2 is read and used at any time as appropriate, as is performed by a SIMD control processor having a normal communication function. Will be.

【0028】中間結果1の保存に先立って、まず、ステ
ップST3において、要素プロセッサPE0,PE1,
PE2それぞれにおいて、自己のID番号が、有効デー
タを入力した要素プロセッサPE1以外の所定のID番
号と一致するかが判断される。この例では、まず、所定
のID番号(ID0 =0)と自己のID番号との一致が
判断される。着目している中央の要素プロセッサPE1
と、その右隣の要素プロセッサPE2は、ともにID番
号が不一致なので、中間結果1を保持したまま、他の要
素プロセッサから中間結果1の掃き出しを要求されるま
で待機状態にある。所定期間待って掃き出し要求がない
場合は、処理を続行する。
Prior to storing the intermediate result 1, first, in step ST3, the element processors PE0, PE1,
In each PE2, it is determined whether or not its own ID number matches a predetermined ID number other than the element processor PE1 that has input the valid data. In this example, first, it is determined whether the predetermined ID number (ID 0 = 0) matches its own ID number. The central element processor PE1 of interest
Since the ID numbers of the element processors PE2 on the right side do not match, the intermediate processor 1 holds the intermediate result 1 and is in a standby state until another element processor requests the sweeping of the intermediate result 1. If there is no sweep request after a predetermined period, the process is continued.

【0029】一方、左側の要素プロセッサPE0は、I
D番号が一致するので、ステップST4において、共通
の処理命令に従って中間結果1の保存を行う。この処理
命令には、たとえば“自己のIDがID=m−1(m:
有効データを入力したPEのID番号)ならば、PEm
の中間結果1をLM(m−1)に保存せよ”といった指
示が含まれている。したがって、要素プロセッサPE0
は、隣の要素プロセッサPE1に中間結果1を要求し、
送られてきた中間結果1を、自己のローカルメモリLM
0に保存した後、次の処理ステップに進む。要素プロセ
ッサPE1は、中間結果1を排出した時点で、次の処理
ステップに進む。
On the other hand, the element processor PE0 on the left side
Since the D numbers match, in step ST4, the intermediate result 1 is stored according to the common processing instruction. This processing instruction includes, for example, “the self ID is ID = m−1 (m:
If it is the ID number of the PE that input the valid data), then PEm
Is stored in LM (m-1). "Therefore, the element processor PE0
Requests an intermediate result 1 from an adjacent element processor PE1,
The received intermediate result 1 is stored in its own local memory LM.
After saving to 0, proceed to the next processing step. The element processor PE1 proceeds to the next processing step when the intermediate result 1 is discharged.

【0030】各要素プロセッサPE0,PE1,PE2
は、同様にして、ステップST5で演算処理2を実行す
る。この処理途中に、再びテンポラリ・データを保存す
る必要が生じれば、上記と同様にして、ID番号の一致
判断とデータ保存を行う。すなわち、ステップST6に
おいて、自己のID番号と、ステップST3で使用しな
かった他のID番号(ID=2)との一致が判断され
る。着目している中央の要素プロセッサPE1と、その
左隣の要素プロセッサPE0は、ともにID番号が不一
致なので、中間結果2を保持したまま、他の要素プロセ
ッサから中間結果2の掃き出しを要求されるまで待機状
態にある。所定期間待って掃き出し要求がない場合は、
処理を続行する。
Each element processor PE0, PE1, PE2
Executes the arithmetic processing 2 in step ST5 in the same manner. If it becomes necessary to store the temporary data again during this process, the ID number coincidence determination and the data storage are performed in the same manner as described above. That is, in step ST6, it is determined whether the own ID number matches another ID number (ID = 2) not used in step ST3. Since the ID of the central element processor PE1 of interest and the element processor PE0 on the left side do not match, the intermediate element processor PE1 holds the intermediate result 2 and keeps holding the intermediate result 2 until another element processor requests the sweeping of the intermediate result 2. In standby state. If there is no sweep request after waiting for a predetermined period,
continue processing.

【0031】一方、右側の要素プロセッサPE2は、I
D番号が一致するので、ステップST7において、共通
の処理命令に従って中間結果2の保存を行う。この処理
命令には、たとえば“自己のIDがID=m+1(m:
有効データを入力したPEのID番号)ならば、PEm
の中間結果2をLM(m+1)に保存せよ”といった指
示が含まれている。したがって、要素プロセッサPE2
は、隣の要素プロセッサPE1に中間結果2を要求し、
送られてきた中間結果2を、自己のローカルメモリLM
2に保存した後、次の処理ステップに進む。要素プロセ
ッサPE1は、中間結果2を排出した時点で、次の処理
ステップに進む。
On the other hand, the element processor PE2 on the right
Since the D numbers match, in step ST7, the intermediate result 2 is stored according to the common processing instruction. This processing instruction includes, for example, “the self ID is ID = m + 1 (m:
If it is the ID number of the PE that input the valid data), then PEm
Is stored in LM (m + 1). ”Therefore, the element processor PE2
Requests an intermediate result 2 from the adjacent element processor PE1,
The received intermediate result 2 is stored in its own local memory LM.
After storing in step 2, the process proceeds to the next processing step. The element processor PE1 proceeds to the next processing step when the intermediate result 2 is discharged.

【0032】この時点で、あるPEグループ2の3つの
要素プロセッサPE0,PE1,PE2の中央の要素プ
ロセッサPE1から見て、左右の要素プロセッサPE
0,PE2のローカルメモリLM0,LM2には、それ
ぞれ自分が行った演算処理の中間結果1,2が格納され
ている。したがって、要素プロセッサPE1にとって、
ローカルメモリLM0,LM2を、あたかも自己のロー
カルメモリLM1の一部として機能させたかのような状
態になる。一方、他の2つの要素プロセッサPE0,P
E2においても、同様に中間結果1,2は算出される
が、もともと有効なデータが入力されていないうえ、こ
のような大きなメモリ空間が必要な演算処理は正しく実
行できない。中間結果1,2を保管する場所がないから
である。
At this point, as viewed from the central element processor PE1 of the three element processors PE0, PE1 and PE2 of a certain PE group 2, the left and right element processors PE1
In the local memories LM0 and LM2 of 0 and PE2, the intermediate results 1 and 2 of the arithmetic processing performed by themselves are stored, respectively. Therefore, for the element processor PE1,
It is as if the local memories LM0 and LM2 functioned as a part of their own local memory LM1. On the other hand, the other two element processors PE0, PE
In E2, the intermediate results 1 and 2 are similarly calculated, but valid data is not originally input, and arithmetic processing requiring such a large memory space cannot be correctly executed. This is because there is no place to store the intermediate results 1 and 2.

【0033】以上より、1つのPEグループ2を仮想的
な1つの要素プロセッサPEと見なした場合、元の要素
プロセッサの3倍のローカルメモリ容量を持てることが
分かる。
As described above, when one PE group 2 is regarded as one virtual element processor PE, it can be understood that the local memory capacity can be three times that of the original element processor.

【0034】つぎのステップST8において、要素プロ
セッサPE0,PE1,PE2は、最終の演算処理3を
行う。この演算処理3の結果が、そのまま最終の出力デ
ータとなるような場合は、ステップST9およびST1
0をスキップして、処理フローがステップST11に進
む。
In the next step ST8, the element processors PE0, PE1 and PE2 perform the final operation processing 3. If the result of this operation processing 3 becomes the final output data as it is, steps ST9 and ST1
Skipping 0, the process flow proceeds to step ST11.

【0035】演算処理3の結果を先に算出しておいた中
間結果1,2の何れかと合成したい場合は、次のステッ
プST9において合成処理1が実行される。このとき中
間結果1を読み出して合成処理1に用いる場合は、(自
己のID番号−1)のID番号の要素プロセッサから中
間結果1を読み出す。また、中間結果2を読み出して合
成処理1に用いる場合は、(自己のID番号+1)のI
D番号の要素プロセッサから中間結果2を読み出す。こ
のような処理命令はすべての要素プロセッサPE0,P
E1,PE2に共通である。このため、有効データを用
いた要素プロセッサPE1以外の他の要素プロセッサP
E0,PE2は、正常な中間結果の読み出しができな
い。たとえば要素プロセッサPE2にとっては、前記し
たように中間結果を両隣の要素プロセッサに保存でき
ず、かりに自己のメモリ容量に余裕がある場合は、そこ
に中間結果1,2が保存されているはずである。にもか
かわらず、要素プロセッサPE2は、この共通の命令に
より隣の要素プロセッサPE1(または、存在していれ
ばPE4)から全く無関係の中間結果を誤って読み出し
てしまう。したがって、合成処理1後の結果は、全く意
図しない結果となってしまう。このことは、もう1つの
要素プロセッサPE0においても同じである。
When it is desired to combine the result of the arithmetic processing 3 with one of the intermediate results 1 and 2 calculated previously, the combining processing 1 is executed in the next step ST9. At this time, when the intermediate result 1 is read and used for the synthesizing process 1, the intermediate result 1 is read from the element processor having the ID number of (own ID number -1). When the intermediate result 2 is read and used for the synthesizing process 1, the (self ID number + 1) I
The intermediate result 2 is read from the element processor of the D number. Such processing instructions are transmitted to all the element processors PE0, P
It is common to E1 and PE2. Therefore, other element processors P other than the element processor PE1 using the valid data
E0 and PE2 cannot read a normal intermediate result. For example, for the element processor PE2, as described above, the intermediate result cannot be stored in the adjacent element processors, and if there is a margin in its own memory capacity, the intermediate results 1 and 2 should be stored there. . Nevertheless, this common instruction causes element processor PE2 to erroneously read an unrelated intermediate result from the adjacent element processor PE1 (or PE4 if present). Therefore, the result after the synthesis processing 1 is an unintended result. This is the same for the other element processor PE0.

【0036】このようにSIMD制御で共通の命令が発
行されることを上手に利用することで、有効データが与
えられた中央の要素プロセッサPE1に限って、正しい
データの読み出しができ、したがって正常に合成処理1
が実行できることが保証される。この合成処理1の結果
を最終的な出力データとする場合は、処理フローが次の
ステップST10をスキップする。
By making good use of the fact that the common instruction is issued under the SIMD control as described above, correct data can be read out only from the central element processor PE1 to which valid data has been given, and thus the data can be normally read out. Compositing process 1
Can be performed. When the result of the synthesis processing 1 is to be final output data, the processing flow skips the next step ST10.

【0037】さらに、合成処理1の結果を未だ合成して
いない他の中間結果と合成したい場合は、つぎのステッ
プST10において合成処理2が実行される。このとき
のデータ読み出しも、上記合成処理1のときと同じよう
に、中央の要素プロセッサPE1のみが正しくでき、他
の要素プロセッサPE0,PE2では誤読み出しとなっ
てしまう。したがって、中央の要素プロセッサPE1だ
けから、正しい合成処理2の結果が出力される。
Further, when it is desired to combine the result of the combining process 1 with another intermediate result which has not been combined, the combining process 2 is executed in the next step ST10. At this time, as in the case of the synthesizing process 1, only the central element processor PE1 can correctly read data, and the other element processors PE0 and PE2 read incorrectly. Therefore, a correct result of the synthesis processing 2 is output only from the central element processor PE1.

【0038】つぎに、ステップST11〜ST13で出
力データの有効性判定を行う。上記したように、中央の
要素プロセッサPE1のみ正しい演算結果(あるいは合
成結果)が得られているのであるから、一見、有効性判
定の判断は必要ないように思われる。しかし、当該SI
MD制御多並列プロセッサから外部にデータ出力すると
きは正しいものだけが出力されるのであるから、そのた
めには何らかの出力選択が行われる。いわゆる出力ポイ
ンタ回路の動作、すなわち出力部が有効性判定フラグを
用意して、それを1(有効)または0(無効)に変化さ
せるなどといった制御に限らず、たとえば出力部で要素
プロセッサPE1以外の結果は無視するといったこと
も、広い意味で、この有効性判定に含まれる。また、必
ず2つ以上のローカルメモリを利用しなければ処理がで
きない場合にあっては、共通の命令に“自己のメモリが
限界に達したときは処理を停止する”ことを含ませてお
けば、中央の要素プロセッサPE1以外からは出力デー
タそのものが送られてこない。このような制御も、ここ
でいう有効性判定の1種である。
Next, the validity of the output data is determined in steps ST11 to ST13. As described above, since only the central element processor PE1 has obtained the correct operation result (or the combined result), at first glance, it does not seem necessary to determine the validity. However, the SI
When data is output from the MD-controlled multi-parallel processor to the outside, only the correct data is output. For this purpose, some output selection is performed. The operation of the output pointer circuit, that is, the control is not limited to such a control that the output unit prepares a validity determination flag and changes it to 1 (valid) or 0 (invalid). Ignoring the result is also included in this validity determination in a broad sense. In the case where processing cannot be performed unless two or more local memories are used, a common instruction may include "stop processing when own memory reaches a limit". The output data itself is not sent from other than the central element processor PE1. Such control is also one type of the validity determination here.

【0039】図2の例では、ステップST11におい
て、PEグループ2内の全てのID番号が調べられ、I
D=1である場合のみ、その要素プロセッサPE1の出
力データをステップST12で有効なものとして、ステ
ップST13で出力される。一方、ID=1でない他の
要素プロセッサPE0,PE2の出力データはステップ
ST14で無効であるとされてステップST13で出力
されないか、あるいは、ステップST14で無効処理さ
れた後に出力される。この無効処理された出力データ
は、外部には出力されない。
In the example of FIG. 2, in step ST11, all ID numbers in the PE group 2 are checked, and
Only when D = 1, the output data of the element processor PE1 is validated in step ST12 and output in step ST13. On the other hand, the output data of the other element processors PE0 and PE2 that do not have ID = 1 are invalidated in step ST14 and are not output in step ST13, or are output after being invalidated in step ST14. The invalidated output data is not output to the outside.

【0040】本実施例におけるデータの流れを分かりや
すく表すと、図3のようになる。なお、上記説明では、
中央の要素プロセッサPE1に有効データを入力した場
合を説明したが、当然、両端の要素プロセッサPE0,
PE2に対して有効データが入力される場合もある。こ
の場合、中間結果を保存する要素プロセッサが存在しな
いという事態が想定されるが、これは、処理の最初にス
テップST0で、有効データが入力される要素プロセッ
サが必ず中央に位置するようにPEグループ分けを変更
することで対処する。あるいは、ID番号0,1,2は
環状的に変化する規則にしておけば、この事態は避けら
れる。たとえば、有効データを入力した要素プロセッサ
が左端のPE0であるとき、中間結果1の保存で、前記
した“自己のIDがID=m−1(m:有効データを入
力したPEのID番号)ならば、PEmの中間結果1を
LM(m−1)に保存せよ”との指令にしたがうと、自
己のID=−1となって、そのようなID番号は存在せ
ず、中間結果1は保存されない事態となる。この事態を
避けるためID番号を環状的に変化させると、ID=−
1=2であるから、要素プロセッサPE2が中間結果1
を保存する。そして、読み出し時の命令に含まれる(自
己のID番号−1)=−1=2となって、正常に中間結
果1を読み出すことができる。この方法では、PEグル
ープ内で図2の処理フローを繰り返し行う場合、2回目
以降はステップST0を省略できるという利点がある。
FIG. 3 shows the flow of data in this embodiment in an easy-to-understand manner. In the above description,
The case where valid data is input to the central element processor PE1 has been described.
Valid data may be input to PE2. In this case, it is assumed that there is no element processor that stores the intermediate result. However, at the beginning of the processing, the PE group is set so that the element processor to which valid data is input is always located at the center. We will deal with it by changing the division. Alternatively, this situation can be avoided if the ID numbers 0, 1, and 2 are set to a rule that changes in a circular manner. For example, when the element processor that has input valid data is PE0 at the left end, when the intermediate result 1 is stored, if “the self ID is ID = m−1 (m: the ID number of the PE that has input valid data), For example, if the intermediate result 1 of PEm is stored in LM (m-1), the ID of the own device becomes −1, such ID number does not exist, and the intermediate result 1 is stored. It will not be. To avoid this situation, if the ID number is changed cyclically, ID = −
Since 1 = 2, the element processor PE2 determines that the intermediate result 1
Save. Then, (the own ID number -1) =-1 = 2 included in the command at the time of reading, and the intermediate result 1 can be read normally. This method has an advantage that when the processing flow of FIG. 2 is repeatedly performed in the PE group, step ST0 can be omitted from the second time on.

【0041】また、上記説明では3つの要素プロセッサ
PE0,PE1,PE2を1つのPEグループ2として
扱ったが、隣接する要素プロセッサ間のローカルメモリ
に対するデータ通信機能を利用すれば、理論的にPEグ
ループ2内の要素プロセッサの数に上限はない。このと
き、より離れた要素プロセッサのローカルメモリのデー
タを参照する場合、中間に位置する要素プロセッサは単
に中継させるだけにしてバケツリレー形式でデータ転送
すれば、ハードウェアとしてのデータ・パス3の追加は
必要ない。
In the above description, the three element processors PE0, PE1 and PE2 are treated as one PE group 2. However, if a data communication function for a local memory between adjacent element processors is used, the PE group is theoretically considered. There is no upper limit on the number of element processors in 2. At this time, when referring to the data in the local memory of the distant element processor, if the element processor located in the middle is merely relayed and the data is transferred in a bucket brigade format, the data path 3 as hardware can be added. Is not required.

【0042】第1実施形態では、複数の要素プロセッサ
PE0,PE1,PE2のローカルメモリLM0,LM
1,LM2を1つのデータに対して仮想的に割り当てて
使用する。このため、PEブロック2内の要素プロセッ
サ数をnとした場合、SIMD制御プロセッサ1として
一度に処理できるデータ数は1/nになるものの、1つ
のデータに対して使用できるローカルメモリを実質的に
ほぼn倍にすることが可能となる。このような仮想的な
メモリ拡張手法は、制御部のプログラムで行えるため、
従来のSIMD制御プロセッサのハードウェア構成を全
く変更することなしに実現できる点で極めて有用であ
る。
In the first embodiment, the local memories LM0, LM of the plurality of element processors PE0, PE1, PE2
1 and LM2 are virtually allocated to one data and used. Therefore, when the number of element processors in the PE block 2 is n, the number of data that can be processed at a time by the SIMD control processor 1 is 1 / n, but the local memory that can be used for one data is substantially. It becomes possible to increase the number substantially n times. Since such a virtual memory expansion method can be performed by a program of the control unit,
This is extremely useful in that it can be realized without changing the hardware configuration of the conventional SIMD control processor at all.

【0043】第2実施形態 第2実施形態では、複数の要素プロセッサそれぞれに1
つの有効なデータを割り当てるが、同時に、同じデータ
が割り当てられた要素プロセッサに対して、互いに異な
るパラメータを入力し、共通の命令コードにしたがって
処理を行うことで、実質的に1つのデータ当たりの処理
ステップ数を複数倍に増大させる手法を提案する。
Second Embodiment In the second embodiment, one processor is assigned to each of a plurality of element processors.
One valid data is allocated, but at the same time, by inputting different parameters to the element processors to which the same data is allocated, and performing the processing according to the common instruction code, the processing per one data is substantially performed. We propose a method to increase the number of steps multiple times.

【0044】この処理では、図1と同じ構造のSIMD
制御プロセッサを用いる。また、処理の具体例として
は、図4に示すように、3つの並列のFIRフィルタリ
ング処理P1と、それらの処理結果をミキシングする処
理P2がある。FIRフィルタリング処理P1で、原画
像の異なる複数のサンプリング点のデータに所定の係数
で重み付けする。そして、次のミキシング処理P2で、
重み付けした各データを合成する。この合成後の画像デ
ータは、新たなサンプリング点で欠落する画像情報が補
間されたものとなる。
In this processing, a SIMD having the same structure as that of FIG.
A control processor is used. Further, as a specific example of the processing, as shown in FIG. 4, there are three parallel FIR filtering processing P1 and processing P2 for mixing the processing results. In the FIR filtering process P1, data at a plurality of sampling points in the original image is weighted by a predetermined coefficient. Then, in the next mixing process P2,
The weighted data is combined. The image data after the synthesis is obtained by interpolating image information missing at a new sampling point.

【0045】図5は、第2実施形態に係る処理手順を示
すフローチャートである。まず、ステップST0におい
て、第1実施形態と同じ手法によって、0,1,2,
0,1,2,0,1,…と各要素プロセッサのローカル
メモリにID番号を記憶させ、ID番号ID0 ,ID
1 ,ID1 が左から0,1,2と並ぶ3つの要素プロセ
ッサPE0,PE1,PE2を、まとめて1つの要素プ
ロセッサ(PE)グループ2とする。
FIG. 5 is a flowchart showing a processing procedure according to the second embodiment. First, in step ST0, 0, 1, 2, 2, and 3 are performed in the same manner as in the first embodiment.
..., ID numbers are stored in the local memory of each element processor, and ID numbers ID 0 , ID
The three element processors PE 0, PE 1, and PE 2 in which 1 , 1 and ID 1 are lined up from the left with 0, 1, and 2 are collectively referred to as one element processor (PE) group 2.

【0046】ステップST21では、第1実施形態とは
異なり、PEグループ2内の各要素プロセッサPE0,
PE1,PE2に同一の有効なデータを入力する。ここ
ではFIRフィルタリング処理であるので、データとし
ては原画像のサンプリング時の画像データ、たとえば輝
度Yまたは色相Cr,Cbなどのデータであり、PEグ
ループ内の複数の要素プロセッサでは同一のものが用い
られる。この場合、必ずしも各要素プロセッサPE0,
PE1,PE2すべてに有効なデータを入力する必要は
なく、PEグループ2内の、たとえば中央の要素プロセ
ッサPE1にのみデータを入力し、それをグループ2内
の他の要素プロセッサPE0,PE2に内部で配信して
もよい。
In step ST21, unlike the first embodiment, each of the element processors PE0, PE0,
The same valid data is input to PE1 and PE2. Here, since the FIR filtering processing is performed, the data is image data at the time of sampling the original image, for example, data such as luminance Y or hue Cr, Cb, and the same data is used by a plurality of element processors in the PE group. . In this case, each element processor PE0, PE0,
It is not necessary to input valid data to all PE1 and PE2, but to input data only to, for example, the central element processor PE1 in the PE group 2 and to internally input it to the other element processors PE0 and PE2 in group 2. May be delivered.

【0047】続くステップST22において、それら各
要素プロセッサPE0,PE1,PE2に、データとは
別に、複数のFIRフィルタのフィルタ係数を、互いに
相異なる組み合わせパターンのパラメータ・セットとし
て入力する。パラメータ・セットは、含まれているパラ
メータ(フィルタ係数)の組合せが3つとも全く異なる
が、少なくとも中央の要素プロセッサPE1の出力デー
タ生成に必要なパラメータが分散して含まれる必要があ
る。
In the following step ST22, filter coefficients of a plurality of FIR filters are input to the respective element processors PE0, PE1 and PE2 as parameter sets of different combination patterns, apart from the data. The parameter set includes three different combinations of parameters (filter coefficients), but it is necessary that at least parameters necessary for generating output data of the central element processor PE1 are dispersed.

【0048】そして、ステップST23において、入力
したデータおよびパラメータ・セットを用いてFIRフ
ィルタリング処理P1を実行する。この処理時に、SI
MD制御プログラムの共通命令コードが発行され、これ
に従ってすべての要素プロセッサPE0,PE1,PE
2が同一手順で並列にFIRフィルタリング処理P1を
演算処理する。
Then, in step ST23, FIR filtering processing P1 is executed using the input data and parameter set. During this process, SI
A common instruction code of the MD control program is issued, and all the element processors PE0, PE1, PE
2 performs the FIR filtering process P1 in parallel in the same procedure.

【0049】FIRフィルタリング処理P1後は、つぎ
のステップST24およびST25において、ミキシン
グ処理P2を実行する。具体的に、たとえば図5に示す
ように、最初のステップST24で合成処理1が行わ
れ、その合成結果に対し、さらに次のステップST25
で合成処理2が施される。これらの合成処理1,2は、
たとえば図1で図示を省略したALU間通信パスを利用
して、それぞれの要素プロセッサPE0,PE1,PE
2が、自分を中心として左右の要素プロセッサからの処
理結果を取り込みながら行う。
After the FIR filtering process P1, the mixing process P2 is executed in the next steps ST24 and ST25. Specifically, for example, as shown in FIG. 5, the combining process 1 is performed in the first step ST24, and the combined result is further subjected to the next step ST25.
Performs the synthesis process 2. These combining processes 1 and 2
For example, each of the element processors PE0, PE1, and PE is utilized by using a communication path between ALUs not shown in FIG.
2, while taking in the processing results from the left and right element processors centering on itself.

【0050】たとえば、最初の合成処理1(ステップS
T24)の共通コマンドが、“自己の処理結果を(自己
のID番号)−1のPEの処理結果と合成せよ”であ
り、次の合成処理2(ステップST25)共通コマンド
が、“自己の合成処理1の結果を(自己のID番号)+
1のPEの処理結果と合成せよ”であるとする。このコ
マンドにしたがうと、要素プロセッサPE1は要素プロ
セッサPE0の処理結果を用いて合成処理1を行い、そ
の結果をさらに要素プロセッサPE2の処理結果と合成
し、出力データとして出力する。ところが、要素プロセ
ッサPE0は合成処理1時に、自己の処理結果を、当該
PEグループ2の左隣の他のPEグループでの処理結果
と合成してしまい、誤った処理を行ってしまう。同様
に、要素プロセッサPE2は合成処理2時に、自己の合
成処理1の結果を、当該PEグループ2の右隣の他のP
Eグループでの処理結果と合成してしまい、誤った処理
を行ってしまう。したがって、正しい出力データが得ら
れるのは、中央の要素プロセッサPE1のみである。
For example, the first synthesis processing 1 (step S
The common command of T24) is “combine the processing result of itself with the processing result of the PE of (own ID number) −1”, and the next common command of the combining processing 2 (step ST25) is The result of processing 1 is (self ID number) +
According to this command, the element processor PE1 performs the synthesis processing 1 using the processing result of the element processor PE0, and further combines the result with the processing result of the element processor PE2. However, the element processor PE0 combines its own processing result with the processing result of the other PE group to the left of the PE group 2 at the time of the combining processing 1 and outputs an error. Similarly, the element processor PE2 compares the result of its own synthesis processing 1 with the other Ps on the right of the PE group 2 during the synthesis processing 2.
The result is combined with the processing result in the E group, and an erroneous processing is performed. Therefore, only the central element processor PE1 can obtain correct output data.

【0051】その後は、第1実施形態と同様の手順によ
り、ステップST11〜ST13で出力データの有効性
判定を行う。この最後のステップST13では、たとえ
ば中央の要素プロセッサPE1のみから結果が出力さ
れ、図5で示した処理フローが完了する。この処理手法
では、3つの要素プロセッサPE0,PE1,PE2を
1つのPEグループ2とし、仮想的な1つの要素プロセ
ッサと見なせば、通常の要素プロセッサの3倍の処理能
力で、1つのFIRフィルタリング処理を行うことにな
る。
Thereafter, the validity of the output data is determined in steps ST11 to ST13 in the same procedure as in the first embodiment. In this last step ST13, for example, the result is output only from the central element processor PE1, and the processing flow shown in FIG. 5 is completed. In this processing method, if three element processors PE0, PE1, and PE2 are regarded as one PE group 2, and considered as one virtual element processor, one FIR filtering is performed with a processing capacity three times as large as that of a normal element processor. Processing will be performed.

【0052】なお、第2実施形態では、ID番号を環状
的に変化させることはなく、また、1つのPEグループ
2内の要素プロセッサ数に理論的に上限はない。
In the second embodiment, the ID number does not change cyclically, and the number of element processors in one PE group 2 has no theoretical upper limit.

【0053】このように、第2実施形態では、同一PE
グループ内の各要素プロセッサ全てに有効データを入力
し、かつ、PEグループ内の各要素プロセッサに対して
異なるパラメータ・セットを入力すれば、各有効データ
に対しパラメータの異なる処理を完全に並列で実行でき
る。処理したデータを各要素プロセッサのID番号で区
別して統合処理を行ったうえで、最終的に、各要素プロ
セッサの出力を、たとえばID番号で選択制御する。こ
れにより、各々のPEグループで1つ正しい処理結果が
出力データとして得られる。この処理では、各グループ
を仮想的な1つの要素プロセッサと見なせば、その仮想
要素プロセッサは個々の要素プロセッサよりも高い処理
能力を持つことになる。実質的には、この処理手法によ
って有効な出力が得られる要素プロセッサ数は減る。と
ころが、画像処理の分野などでは、一度に並列処理させ
たい画素は間欠的な場合も多いので、本手法によって、
従来は数回の処理に1度しか処理に寄与していなかった
要素プロセッサの処理能力を有効活用したことになる。
しかも、本実施形態では、この並列処理数を増加させた
高効率なSIMD制御プロセッサを、ハードウェアの構
成を全く変更することなしに実現できた。
As described above, in the second embodiment, the same PE
If valid data is input to all of the element processors in the group and a different parameter set is input to each of the element processors in the PE group, different processing of the parameters is performed on each of the valid data completely in parallel. it can. After performing the integration process while distinguishing the processed data by the ID number of each element processor, finally, the output of each element processor is selectively controlled by, for example, the ID number. As a result, one correct processing result is obtained as output data in each PE group. In this processing, if each group is regarded as one virtual element processor, the virtual element processor has a higher processing capability than the individual element processors. In effect, the number of element processors that can obtain an effective output by this processing method is reduced. However, in the field of image processing and the like, pixels that are desired to be processed in parallel at one time are often intermittent.
This means that the processing capability of the element processor, which has conventionally contributed only once in several processes, has been effectively utilized.
Moreover, in the present embodiment, a highly efficient SIMD control processor with an increased number of parallel processes can be realized without any change in the hardware configuration.

【0054】[0054]

【発明の効果】本発明に係るSIMD制御並列処理方法
および装置によれば、要素プロセッサが無駄になるデー
タ・ストリームに対して、要素プロセッサを有効利用し
たうえでローカルメモリを実質的に複数倍に増加させる
処理を、ハードウェアの構成をそのままに実現すること
を可能とした。
According to the SIMD control parallel processing method and apparatus according to the present invention, a local memory is effectively multiplied by a plurality of times for a data stream in which the element processor is wasted, while effectively utilizing the element processor. It has become possible to realize the increase processing without changing the hardware configuration.

【0055】また、本発明に係る他のSIMD制御並列
処理方法および装置によれば、FIRフィルタリング処
理など、パラメータ(フィルタ係数)が異なるだけで全
く同じような処理を繰り返す並列処理数を、ハードウェ
アの構成をそのまま増加させて、処理効率を上げること
を可能とした。
Further, according to another SIMD control parallel processing method and apparatus according to the present invention, the number of parallel processes that repeats exactly the same process except for different parameters (filter coefficients), such as FIR filtering, can be reduced by hardware. , The processing efficiency can be increased.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態に係るSIMD制御の多並列
デジタル・プロセッサの要部構成を示すブロック図であ
る。
FIG. 1 is a block diagram illustrating a main configuration of a SIMD-controlled multi-parallel digital processor according to an embodiment of the present invention.

【図2】第1実施形態の処理手順を示すフローチャート
である。
FIG. 2 is a flowchart illustrating a processing procedure according to the first embodiment.

【図3】第1実施形態における、各要素プロセッサ間の
データの流れを示す模式図である。
FIG. 3 is a schematic diagram illustrating a flow of data between element processors according to the first embodiment.

【図4】第2実施形態で実施する処理ブロックを示す図
である。
FIG. 4 is a diagram illustrating processing blocks implemented in a second embodiment.

【図5】第2実施形態の処理手順を示すフローチャート
である。
FIG. 5 is a flowchart illustrating a processing procedure according to a second embodiment.

【符号の説明】[Explanation of symbols]

1…SIMD制御の多並列デジタル・プロセッサ(SI
MD制御並列処理装置)、2…仮想的な要素プロセッサ
・グループ、3…データ・パス、4…メモリ選択手段、
5…有効性判定手段、PE0,PE1,PE2…要素プ
ロセッサ、LM0,LM1,LM2…ローカルメモリ
(メモリ部)、ALU…処理部、ID0 等…ID番号
(認識コード)。
1: SIMD-controlled multi-parallel digital processor (SI
MD control parallel processing device), 2 ... virtual element processor group, 3 ... data path, 4 ... memory selection means,
5 ... validity determining means, PE0, PE1, PE2 ... element processors, LM0, LM1, LM2 ... local memory (memory unit), ALU ... processor, ID 0, etc. ... ID number (identification code).

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】1次元的に配列された複数の要素プロセッ
サを単一の命令により制御するSIMD制御並列処理方
法であって、 所定数の要素プロセッサからなるグループごとに同じ配
列で繰り返し割り当てられ、かつ、各グループ内で任意
の要素プロセッサを特定可能な識別コードを各要素プロ
セッサごとに付与し、 上記複数の要素プロセッサにデータを入力して、同一の
処理を実行させ、 上記グループ内の特定の要素プロセッサにおいて、上記
処理の途中結果を、特定の識別コードを基準に指定した
他の要素プロセッサに記憶させ、当該記憶した途中結果
を、上記特定の識別コードを基準とした指定により読み
出して後続の処理に用いるSIMD制御並列処理方法。
1. An SIMD control parallel processing method for controlling a plurality of one-dimensionally arranged element processors by a single instruction, wherein the SIMD control parallel processing method is repeatedly assigned in the same arrangement for each group of a predetermined number of element processors, In addition, an identification code that can specify an arbitrary element processor in each group is assigned to each element processor, data is input to the plurality of element processors, and the same processing is executed. In the element processor, the intermediate result of the above processing is stored in another element processor specified based on the specific identification code, and the stored intermediate result is read out by the specification based on the specific identification code and the subsequent SIMD control parallel processing method used for processing.
【請求項2】上記処理の結果を、特定の識別コードを基
準とした指定により選択して出力させる請求項1記載の
SIMD制御並列処理方法。
2. The SIMD control parallel processing method according to claim 1, wherein a result of said processing is selected and output by designation based on a specific identification code.
【請求項3】1次元的に配列された複数の要素プロセッ
サを単一の命令により制御するSIMD制御並列処理方
法であって、 所定数の要素プロセッサからなるグループごとに同じ配
列で繰り返し割り当てられ、かつ、各グループ内で任意
の要素プロセッサを特定可能な識別コードを各要素プロ
セッサごとに付与し、 上記複数の要素プロセッサにデータとパラメータを入力
して、同一の処理を実行させ、 上記要素プロセッサの処理結果の幾つかを、識別コード
を基準に指定して統合処理し、 上記統合処理の結果を、識別コードを基準とした指定に
より選択して出力させるSIMD制御並列処理方法。
3. A SIMD control parallel processing method for controlling a plurality of one-dimensionally arranged element processors by a single instruction, wherein the method is repeatedly assigned in the same arrangement for each group of a predetermined number of element processors, In addition, an identification code that can specify an arbitrary element processor within each group is assigned to each element processor, data and parameters are input to the plurality of element processors, and the same processing is executed. A SIMD control parallel processing method in which some processing results are integrated based on an identification code as a reference, and the result of the integration processing is selected and output according to the specification based on the identification code.
【請求項4】情報を記憶するメモリ部、メモリ部に記憶
された情報を基に処理を実行する処理部をそれぞれに含
んで1次元的に配列され、隣接相互間でデータ通信が可
能な複数の要素プロセッサと、 上記複数の要素プロセッサを単一の命令によりSIMD
制御するSIMD制御回路とを有し、 上記SIMD制御に、所定数の要素プロセッサからなる
グループごとに同じ配列で繰り返し割り当てられ、か
つ、各グループ内で任意の要素プロセッサを特定可能な
識別コードを各要素プロセッサごとに付与し、上記複数
の要素プロセッサにデータを入力して、同一の処理を実
行させ、上記グループ内の特定の要素プロセッサにおい
て、上記処理の途中結果を、特定の識別コードを基準に
指定した他の要素プロセッサに記憶させ、当該記憶した
途中結果を、上記特定の識別コードを基準とした指定に
より読み出して後続の処理に用いる制御を含むSIMD
制御並列処理装置。
4. A plurality of one-dimensionally arrayed ones each including a memory unit for storing information and a processing unit for executing processing based on the information stored in the memory unit, and capable of data communication between adjacent ones. SIMD by using a single instruction
A SIMD control circuit for controlling the SIMD control, wherein the SIMD control is provided with an identification code that is repeatedly assigned in the same arrangement for each group of a predetermined number of element processors, and that can specify an arbitrary element processor in each group. Assigned for each element processor, input data to the plurality of element processors, execute the same processing, and, in a specific element processor in the group, determine an intermediate result of the processing based on a specific identification code. SIMD including control for storing in another designated element processor, reading out the stored intermediate result by designation based on the specific identification code, and using the same for subsequent processing
Control parallel processing unit.
【請求項5】上記SIMD制御に、さらに、上記処理の
結果を上記特定の識別コードを基準とした指定により選
択して出力させる制御を含む請求項4記載のSIMD制
御並列処理装置。
5. The SIMD control parallel processing apparatus according to claim 4, wherein said SIMD control further includes a control for selecting and outputting a result of said processing by designating said specific identification code as a reference.
【請求項6】情報を記憶するメモリ部、メモリ部に記憶
された情報を基に処理を実行する処理部をそれぞれに含
んで1次元的に配列され、隣接相互間でデータ通信が可
能な複数の要素プロセッサと、 上記複数の要素プロセッサを単一の命令によりSIMD
制御するSIMD制御回路とを有し、 上記SIMD制御に、所定数の要素プロセッサからなる
グループごとに同じ配列で繰り返し割り当てられ、か
つ、各グループ内で任意の要素プロセッサを特定可能な
識別コードを各要素プロセッサごとに付与し、上記複数
の要素プロセッサにデータとパラメータを入力して、同
一の処理を実行させ、上記要素プロセッサの処理結果の
幾つかを、識別コードを基準に指定して統合処理し、上
記統合処理の結果を、識別コードを基準とした指定によ
り選択して出力させる制御を含むSIMD制御並列処理
装置。
6. A plurality of memory units each of which is one-dimensionally arranged including a memory unit for storing information and a processing unit for executing processing based on the information stored in the memory unit, and capable of data communication between adjacent ones. SIMD by using a single instruction
A SIMD control circuit for controlling the SIMD control, wherein the SIMD control is provided with an identification code that is repeatedly assigned in the same arrangement for each group of a predetermined number of element processors, and that can specify an arbitrary element processor in each group. Assigned for each element processor, inputting data and parameters to the plurality of element processors, causing the same processing to be executed, and integrating and processing some of the processing results of the element processors with reference to an identification code. And a SIMD control parallel processing apparatus including a control for selecting and outputting the result of the integration processing by designating the identification code as a reference.
JP2000186226A 2000-06-21 2000-06-21 Method and device for parallel processing simd control Abandoned JP2002007359A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000186226A JP2002007359A (en) 2000-06-21 2000-06-21 Method and device for parallel processing simd control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000186226A JP2002007359A (en) 2000-06-21 2000-06-21 Method and device for parallel processing simd control

Publications (1)

Publication Number Publication Date
JP2002007359A true JP2002007359A (en) 2002-01-11

Family

ID=18686423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000186226A Abandoned JP2002007359A (en) 2000-06-21 2000-06-21 Method and device for parallel processing simd control

Country Status (1)

Country Link
JP (1) JP2002007359A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732253B1 (en) 2000-11-13 2004-05-04 Chipwrights Design, Inc. Loop handling for single instruction multiple datapath processor architectures
US6931518B1 (en) 2000-11-28 2005-08-16 Chipwrights Design, Inc. Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic
WO2007116560A1 (en) 2006-03-30 2007-10-18 Nec Corporation Parallel image processing system control method and apparatus
US8060726B2 (en) 2007-02-28 2011-11-15 Ricoh Company, Ltd. SIMD microprocessor, image processing apparatus including same, and image processing method used therein
US9069938B2 (en) 2006-11-03 2015-06-30 Bluerisc, Inc. Securing microprocessors against information leakage and physical tampering
US9235393B2 (en) 2002-07-09 2016-01-12 Iii Holdings 2, Llc Statically speculative compilation and execution
US9244689B2 (en) 2004-02-04 2016-01-26 Iii Holdings 2, Llc Energy-focused compiler-assisted branch prediction
US9569186B2 (en) 2003-10-29 2017-02-14 Iii Holdings 2, Llc Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US9582650B2 (en) 2003-11-17 2017-02-28 Bluerisc, Inc. Security of program executables and microprocessors based on compiler-architecture interaction

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732253B1 (en) 2000-11-13 2004-05-04 Chipwrights Design, Inc. Loop handling for single instruction multiple datapath processor architectures
US6931518B1 (en) 2000-11-28 2005-08-16 Chipwrights Design, Inc. Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic
US9235393B2 (en) 2002-07-09 2016-01-12 Iii Holdings 2, Llc Statically speculative compilation and execution
US10101978B2 (en) 2002-07-09 2018-10-16 Iii Holdings 2, Llc Statically speculative compilation and execution
US9569186B2 (en) 2003-10-29 2017-02-14 Iii Holdings 2, Llc Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US10248395B2 (en) 2003-10-29 2019-04-02 Iii Holdings 2, Llc Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US9582650B2 (en) 2003-11-17 2017-02-28 Bluerisc, Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US9244689B2 (en) 2004-02-04 2016-01-26 Iii Holdings 2, Llc Energy-focused compiler-assisted branch prediction
US9697000B2 (en) 2004-02-04 2017-07-04 Iii Holdings 2, Llc Energy-focused compiler-assisted branch prediction
US10268480B2 (en) 2004-02-04 2019-04-23 Iii Holdings 2, Llc Energy-focused compiler-assisted branch prediction
US8106912B2 (en) 2006-03-30 2012-01-31 Nec Corporation Parallel image processing system control method and apparatus
WO2007116560A1 (en) 2006-03-30 2007-10-18 Nec Corporation Parallel image processing system control method and apparatus
US9069938B2 (en) 2006-11-03 2015-06-30 Bluerisc, Inc. Securing microprocessors against information leakage and physical tampering
US9940445B2 (en) 2006-11-03 2018-04-10 Bluerisc, Inc. Securing microprocessors against information leakage and physical tampering
US10430565B2 (en) 2006-11-03 2019-10-01 Bluerisc, Inc. Securing microprocessors against information leakage and physical tampering
US11163857B2 (en) 2006-11-03 2021-11-02 Bluerisc, Inc. Securing microprocessors against information leakage and physical tampering
US8060726B2 (en) 2007-02-28 2011-11-15 Ricoh Company, Ltd. SIMD microprocessor, image processing apparatus including same, and image processing method used therein

Similar Documents

Publication Publication Date Title
US4905143A (en) Array processor and control method thereof
JP3674515B2 (en) Array type processor
US6795909B2 (en) Methods and apparatus for ManArray PE-PE switch control
US4837676A (en) MIMD instruction flow computer architecture
US5430885A (en) Multi-processor system and co-processor used for the same
JP2023134658A (en) Processor and method of controlling the same
KR100538727B1 (en) Multi-processor system
JPH0922404A (en) Array processor communication architecture with broadcast communication processor instruction
JP2002007359A (en) Method and device for parallel processing simd control
US6785800B1 (en) Single instruction stream multiple data stream processor
EP0347929B1 (en) Parallel processor
JPH0668053A (en) Parallel computer
EP0199757B1 (en) Instruction flow computer
US7814296B2 (en) Arithmetic units responsive to common control signal to generate signals to selectors for selecting instructions from among respective program memories for SIMD / MIMD processing control
JP4482356B2 (en) Image processing method and image processing apparatus using SIMD processor
JP2005189966A (en) Image processing device
EP1251431A2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory banks
JP3408888B2 (en) Data processing processor device
JP4530042B2 (en) Processor array, processor element complex, microinstruction control device, and microinstruction control method
JP2004062401A (en) Arithmetic processor and camera device using it
JP2001202351A (en) Simd type processor
JP4413905B2 (en) SIMD type processor
JPH0736842A (en) Parallel computer
JPH0877127A (en) Inter-processor data transfer method and parallel computer
JPH1185463A (en) Arithmetic network device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061115

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20080227