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
element
processors
processor
element processors
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
徹 倉田
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
Application status is Abandoned legal-status Critical

Links

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 BACKGROUND OF THE INVENTION The present invention is, a number of PE (Pro
cessor Element) に対して単一の命令で多並列処理を実行するSIMD(Single Instruction Multiple Data)制御方式の並列処理装置およびその制御方法に関する。 Cessor Element parallel processing apparatus and a control method of SIMD (Single Instruction Multiple Data) control scheme that performs a multi-parallel processing by a single instruction to).

【0002】 [0002]

【従来の技術】SIMD制御の多並列プロセッサでは、 In the multi-parallel processor of the Prior Art SIMD control,
複数の要素プロセッサPEを1次元に配置し、当該複数の要素プロセッサ(PE)を単一の命令により制御するものである。 Arranging a plurality of element processors PE in one dimension, it is the more processor elements (PE) and controls by a single instruction. 従来、このSIMD制御の多並列プロセッサでは、同一のデータを割り当てることはなく、各要素プロセッサに対してデータが常に1対1もしくは1対多になっていた。 Conventionally, in the multi-parallel processor of this SIMD control, not to assign the same data, the data were always a one-to-one or one-to-many for each element processor. また、要素プロセッサ間通信を行う機能も有するが、この機能はあくまで、一つの処理に他の要素プロセッサの結果を利用する場合に用いるために設けられていた。 Also, has a function of performing inter-element processor communication, this function only, was provided for use in case of using the results of the other element processors into a single process.

【0003】 [0003]

【発明が解決しようとする課題】従来のSIMD制御の多並列プロセッサにおいて、しばしばローカルメモリ(LM)の不足や、処理ステップ数の不足が問題となっていた。 [Problems that the Invention is to Solve] In multi-parallel processor of conventional SIMD control, often missing or the local memory (LM), the lack of the number of processing steps has been a problem. また、SIMD制御プロセッサの構造上要素プロセッサ数が固定されているのに対し、データ・ストリームの長さが必ずしも要素プロセッサ数と一致しているとは限らないため、実際には使用されることのない要素プロセッサが数多く存在する場合があり、これらの要素プロセッサは無駄となっていた。 Further, while the structural element processor number of SIMD control processor is fixed, since the length of the data stream does not necessarily match the number of element processors, actually that used are there is a case where there is no element processor there are many, these elements processor had become a waste. また、データ・ストリームの中で所定の異なる処理を周期的に行う処理も多い。 Further, a predetermined different process in the data stream periodically performs processing often. SIMD制御では、所定数おきに要素プロセッサの一つが有効な処理中のとき、他の要素プロセッサも同じ手順の処理を行うが、周期的な処理では、他の要素プロセッサの処理結果は出力されない。 In SIMD control, when in one-enabled processing element processors into a predetermined number every Other element processor performs the processing of the same procedure, in a cyclic process, the processing result of another element processor is not output. このため、他の要素プロセッサの処理は、有効な処理に何ら寄与しておらず、この点でも無駄が多かった。 Therefore, processing other element processors are not contribute any to the effective treatment, waste was often in this respect.

【0004】本発明の目的は、このような要素プロセッサが無駄になるデータ・ストリームに対して、要素プロセッサを有効利用したうえでローカルメモリを実質的に複数倍に増加させる処理を、ハードウェアの構成をそのままに実現することにある。 An object of the present invention, for the data stream such element processor is wasted, a process substantially increases the multiples local memory in terms of the effective use of element processors, hardware it is to realize a configuration intact. また、本発明の他の目的は、フィルタリング処理等、パラメータが異なるだけで全く同じような処理を繰り返すような処理の場合に、従来では出力データの算出に全く寄与していなかった要素プロセッサを有効利用し、並列処理数を実質的に複数倍に増加させた効率が高い処理を、ハードウェアの構成をそのままに実現することにある。 Another object of the present invention, the filtering process, etc., if the parameter is a process to repeat exactly the same processing with different only enable element processors did not contribute at all to the calculation of the output data in the conventional use, substantially-effective processing which is increased to a multiple of the number of parallel processes is to realize a hardware configuration intact.

【0005】 [0005]

【課題を解決するための手段】本発明の第1の観点に係るSIMD制御並列処理方法は、1次元的に配列された複数の要素プロセッサを単一の命令により制御するSI Means for Solving the Problems] SIMD control parallel processing method according to the first aspect of the present invention, SI for controlling a plurality of element processors arranged one-dimensionally by a single instruction
MD制御並列処理方法であって、所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、 A MD control parallel processing method, are repeatedly assigned in the same sequence for each group of a predetermined number of elements processors, and any element processor capable of specifying identification code assigned to each element processor in each group ,
上記複数の要素プロセッサにデータを入力して、同一の処理を実行させ、上記グループ内の特定の要素プロセッサにおいて、上記処理の途中結果を、特定の識別コードを基準に指定した他の要素プロセッサに記憶させ、当該記憶した途中結果を、上記特定の識別コードを基準とした指定により読み出して後続の処理に用いる。 Entering data into the plurality of element processors, to execute the same processing, in particular element processors in the group, the intermediate result of the processing, in addition to the element processors specified in reference to the specific identification code were stored, an intermediate result of the storage, it reads used for subsequent processing by the specified relative to the above-mentioned specific identification code. 好適に、 Preferably,
上記処理の結果を、特定の識別コードを基準とした指定により選択して出力させる。 The results of the processing, and outputs selected by the designation relative to the specific identification code.

【0006】本発明の第2の観点に係るSIMD制御並列処理方法は、1次元的に配列された複数の要素プロセッサを単一の命令により制御するSIMD制御並列処理方法であって、所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、上記複数の要素プロセッサにデータとパラメータを入力して、同一の処理を実行させ、上記要素プロセッサの処理結果の幾つかを、識別コードを基準に指定して統合処理し、上記統合処理の結果を、識別コードを基準とした指定により選択して出力させる。 [0006] SIMD control parallel processing method according to a second aspect of the present invention, there is provided a SIMD control parallel processing method for controlling a plurality of element processors arranged one-dimensionally by a single instruction, a predetermined number of It is repeatedly assigned in the same sequence for each group of element processors, and the possible identification codes identify any element processors within each group assigned to each element processor, the input data and the parameter to the plurality of element processors and, to execute the same process, the number of processing results of the processor elements, and the integration process by specifying, based on the identification code, the result of the integration process, select the specified relative to the identification code to output Te.

【0007】本発明の第3の観点に係るSIMD制御並列処理装置は、情報を記憶するメモリ部、メモリ部に記憶された情報を基に処理を実行する処理部をそれぞれに含んで1次元的に配列され、隣接相互間でデータ通信が可能な複数の要素プロセッサと、上記複数の要素プロセッサを単一の命令によりSIMD制御するSIMD制御回路とを有し、上記SIMD制御に、所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、上記複数の要素プロセッサにデータを入力して、同一の処理を実行させ、上記グループ内の特定の要素プロセッサにおいて、上記処理の途中結果を、特定の識別コードを基準に指定 [0007] SIMD control parallel processing apparatus according to a third aspect of the present invention, a memory unit, one-dimensionally include a processing unit that executes processing based on the information stored in the memory unit, each for storing information are arranged in a plurality of element processors capable data communication between adjacent each other, and a SIMD controller for SIMD controlled by the plurality of element processors a single instruction, to the SIMD control, a predetermined number of elements It is repeatedly assigned in the same sequence for each group of processors, and the possible identification codes identify any element processors within each group assigned to each element processor, and enter data into the plurality of element processors, the same process is executed, designated in particular element processors in the group, the intermediate result of the processing, based on the particular identification code た他の要素プロセッサに記憶させ、 It has been stored in the other element processor,
当該記憶した途中結果を、上記特定の識別コードを基準とした指定により読み出して後続の処理に用いる制御を含む。 An intermediate result obtained by the storage, including control for use in subsequent processing by reading the specification with reference to the above specific identification code. 好適に、上記SIMD制御に、さらに、上記処理の結果を上記特定の識別コードを基準とした指定により選択して出力させる制御を含む。 Preferably, the above SIMD control, further comprising a control to output a result of the processing selects a specified relative to the above-mentioned specific identification code.

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

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

【0010】具体的に、上記第1および第3の観点に係るSIMD制御並列処理方法および装置では、複数の要素プロセッサのメモリ部を1つのデータに対して仮想的に割り当てて使用する。 [0010] Specifically, the at SIMD control parallel processing method and apparatus according to the first and third aspect, for use allocated virtual memory portion of the plurality of processor elements with respect to one data. このメモリ部への書き込みおよび読み出しでは、認識コードを基にメモリ部の指定を行う。 The writing and reading to the memory unit, for designating the memory unit based on the identification code. 認識コードを基にしたメモリ指定では、メモリ部への書き込みおよび読み出しを、基準となる要素プロセッサのみ正常にできる。 The memory setting based on recognition code, writing and reading of the memory unit can only successfully element processor as a reference. 他の要素プロセッサでは、書き込み先が指定されなかったり、データを別の場所から読み出すため、処理結果が誤ったものとなる。 In other element processors, or not specified writing destination, for reading data from a different location, and that the processing result is incorrect. そして、基準となる要素プロセッサのみから正常な出力データが得られる。 The normal output data only from the processor elements as a reference is obtained. このような制御では、要素プロセッサ・ブロック内の要素プロセッサ数をnとした場合、並列処理装置全体として一度に処理できるデータ数は1/nになるものの、1 つのデータに対して使用できるメモリ容量を実質的にほぼn倍にすることができる。 In such a control, when the number of element processors of element processor block is n, the number of data that can be processed in one portion as a whole parallel processing unit but becomes 1 / n, a memory capacity available for one data It may be substantially n times nearly. このような仮想的なメモリ拡張手法は、間欠的にしか出力データは要らないが、処理時に多量のメモリ空間を必要とする場合に適している。 Such virtual memory expansion approach, the output data is not needed only intermittently, it is suitable for applications that require large amounts of memory space during processing. また、SIMD制御回路のプログラム制御で行えるため、従来のSIMD制御並列処理装置のハードウェア構成を全く変更する必要がない。 Also, since that allows a program control of a SIMD controller, it is not necessary to completely change the hardware configuration of a conventional SIMD control parallel processor.

【0011】また、第2,第4の観点に係るSIMD制御並列処理方法および装置では、同一グループ内の各要素プロセッサ全てに同一データを入力し、かつ、異なるパラメータを入力することで、データに対しパラメータの異なる処理が完全に並列で実行される。 [0011] Second, in SIMD control parallel processing method and apparatus according to the fourth aspect, all the element processors in the same group to enter the same data, and, by entering the different parameters, the data different processing of against parameters is performed entirely in parallel. 処理結果を各要素プロセッサの認識コードを基に統合処理を行う際に、基準となる要素プロセッサのみ正常の統合処理ができる。 Processing result when performing integration processing based on the identification code of the processor elements, a primary element processors can only integration process successfully. また、最終的に、各要素プロセッサの出力を認識コードで選択制御する。 Further, finally, it selects and controls the output of each element processor identification code. これにより、各々のグループで1つ正しい処理結果が出力データとして得られる。 Thus, one correct processing results in each group is obtained as the output data. この処理では、各グループを仮想的な1つの要素プロセッサと見なせば、その仮想要素プロセッサは個々の要素プロセッサよりも高い処理能力を持つことになる。 In this process, is regarded each group as one virtual element processors, the virtual processor element will have a higher capacity than the individual processor elements. 実質的には、この処理手法によって有効な出力が得られる要素プロセッサ数は減る。 In effect, the number of element processors valid output can be obtained by this process approach is reduced. ところが、画像処理の分野などでは、一度に並列処理させたい画素は間欠的な場合も多いので、本手法によって、従来は数回に1度しか処理に寄与していなかった要素プロセッサの処理能力を有効活用したことになる。 However, in the fields of image processing, since the pixel you want to parallelism intermittent in many cases at a time, by this method, the processing capacity of the processor elements that did not contribute to only once processed conventionally several times it means that the effective use. しかも、本実施形態では、この並列処理数を増加させた高効率なSIMD制御プロセッサは、 Moreover, in the present embodiment, highly efficient SIMD control processor of increasing the number of parallel processes is
ハードウェアの構成を全く変更する必要がない。 There is no need to completely change the hardware configuration.

【0012】 [0012]

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

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

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

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

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

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

【0018】なお、ここでは、以下の説明を簡略化するために、隣接する要素プロセッサPE0,PE2のローカルメモリLM0,LM2とのデータの通信機能を実現するデータ・パス3は隣接左右の要素プロセッサLM [0018] Here, in order to simplify the following description, the data path 3 for realizing the communication function of the data to the local memory LM0, LM2 adjacent element processors PE0, PE2 adjacent left and right element processor LM
0,LM2に対してそれぞ1本ずつ存在するものとする。 0, respectively, and those present one by one to the LM2. もちろん、片側に隣接する2以上の要素プロセッサとのデータ・パスを有する構成でもよいし、これが煩雑であれば、たとえばALU間通信機能を設け、この機能を利用して遠く離れた要素プロセッサとのデータのやり取りも可能である。 Of course, it may be configured to have a data path between two or more elements processors adjacent to one side, which when is it cumbersome, for example, provided the ALU communication function, the remote element processors use this feature exchange of data is also possible.

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

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

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

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

【0023】より具体的なID番号設定方法としては、 [0023] As a specific ID number setting method than is,
まず、図1で示した3つの要素プロセッサPE0,PE First, three elements processors PE0, PE shown in FIG. 1
1,PE2を含めたすべての要素プロセッサのうちで1 1, 1 of all the element processors, including the PE2
番左に位置するものが、更に左側の要素プロセッサから読み出しを行おうとした場合に、常に読み出し可能なハードウェアの状態にする。 Those located in the turn left, further from the left side of the element processors when an attempt is made to read, always in a state of readable hardware. たとえば、処理に応じて要素プロセッサがn個のグループにすることが最適であると判断されるが、要素プロセッサの個数をnで割ると端数が生じる場合には、その左端および/または右端の幾つかの要素プロセッサにアクセス禁止を意味するID番号を付与する。 For example, although the element processors in accordance with the processing it is determined that it is optimal to n groups, if a fraction occurs Dividing the number of element processors by n, the left and / or right edge of the number to give an ID number, which means the access prohibition to Kano element processor. これによって、あるプロセッサが処理する際に読み出す要素プロセッサが存在しないということが防止される。 Thus, the element processor to read when the one processor to handle is prevented that absence. そして、まず、すべての要素プロセッサについて、ID番号を格納するアドレスのローカルメモリの値をクリアしておく。 Then, first, for all the processor elements, keep clear the value of the local memory address for storing the ID number.

【0024】続いて、アクセスが禁止されていない処理可能な要素プロセッサ群のうち、一番左端の要素プロセッサのID番号を格納するアドレスのメモリ領域にID [0024] Then, among the processable element processor group to which access is not prohibited, ID in the memory area of ​​the address for storing the ID number of the leftmost element processor
=0を書き込む。 = Writing 0. そして、SIMD制御の特質を利用して、他の全ての要素プロセッサに、“左隣りの要素プロセッサPEのIDに1足した値を自らのIDとし、ID Then, by utilizing the characteristics of SIMD control, all other processor elements, "a sum value to the ID of the element processors PE of neighboring left and own ID, ID
の値が3になったら0に戻す”という処理の命令を一括して送る。その結果、最初のID書き込み(ID=0) Value returns to 0 if is three letter collectively instructions processing of ". As a result, the first ID writing (ID = 0)
に続いて、左側から順次、ID番号が1,2,0,1, Then, sequentially from the left side, ID number is 1,2,0,1 to,
2,0,1,…と確定してゆく。 2,0,1, slide into fixed ... and. このようなID番号設定では、要素プロセッサの数が多くても、一番右側の要素プロセッサまで規則的なID番号が伝搬され、しかも最後のID番号が必ず2となる。 In such ID number setting, however many processor elements are the rightmost component regular ID number to the processor propagation, moreover last ID number is always 2. 確定したID番号は、 Finalized ID number,
各ローカルメモリ内の所定アドレスに保存される。 It is stored in a predetermined address in each local memory.

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

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

【0027】いま、この処理の途中で、中央の要素プロセッサPE1は、演算過程でその中間処理結果をテンポラリ・データとして自らのローカルメモリLM1に保存しておきたいが、これを保存すると、そのメモリ容量が限界近くに達してしまう場合がある。 [0027] Now, in the course of this process, the center of the element processors PE1, when want to keep to their local memories LM1 and the intermediate processing results in an operation process as temporary data, stores it, the memory there is a case where the capacity will reach to near the limit. このような場合、 In such a case,
実際に有効なデータを処理していない左右の要素プロセッサPE0,PE2のローカルメモリLM0,LM2のメモリ領域を一時的なデータ保存用に利用する。 Utilizing actual effective left and right element processors data not processing PE0, local memory PE2 LM0, the memory area of ​​LM2 for temporary data storage. また、 Also,
自らのローカルメモリLM1に十分な空き領域がある場合でも、後の合成処理時のデータの一時退避用などの用途に、この空き領域はとっておきたいこともあり、この場合も、ローカルメモリLM0,LM2を一時的に利用する。 Even if the own local memory LM1 has enough free space, for applications such as temporary save for the data in the synthesis process later sometimes want to take this free space, even in this case, the local memory LM0, LM2 temporarily to use. いずれにしても処理途中の演算結果を中間結果1 Intermediate result the calculation result of the middle of the process in any event 1
として出力するのであるが、ここでの中間結果1(後述する中間結果2も同様)は、それに続く処理に直ぐには用いられないような演算結果を想定している。 Although for output as, where the intermediate result of 1 (as well as intermediate results 2 to be described later) is immediately assumes the calculation result as not used for subsequent processing. たとえば繰り返し計算の幾つかのルーチンワークが完結した時点の演算結果などが、ここで言う中間結果に該当する。 For example, the calculation result of the time of several routine work iterations is completed is, corresponds to the intermediate result here. ただし、出力したい演算結果が、続く処理で用いるような演算結果とならざるを得ない場合も多い。 However, the output want calculation result, many cases inevitably the calculation result as used in subsequent processing. その場合、以下の説明では特に言及しないが、つぎのステップST In this case, although not particularly mentioned in the following description, the next step ST
3,ST4等を経て保存した後、通常の通信機能があるSIMD制御プロセッサが行っているように、その時々で適宜、ローカルメモリLM0またはLM2に保存している中間結果を読み出して処理に利用することになる。 3, after saving through ST4, etc., as SIMD control processor is performing with normal communication functions, as appropriate at any given time, using the process reads out the intermediate result is stored in the local memory LM0 or LM2 It will be.

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

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

【0030】各要素プロセッサPE0,PE1,PE2 [0030] Each element processor PE0, PE1, PE2
は、同様にして、ステップST5で演算処理2を実行する。 , Similarly, it executes arithmetic processing 2 in step ST5. この処理途中に、再びテンポラリ・データを保存する必要が生じれば、上記と同様にして、ID番号の一致判断とデータ保存を行う。 This being processed, should the need arise to again store temporary data, in the same manner as described above, it performs matching determination and data storage of the ID number. すなわち、ステップST6において、自己のID番号と、ステップST3で使用しなかった他のID番号(ID=2)との一致が判断される。 That is, in step ST6, matching the own ID number, and other ID number not used in the step ST3 (ID = 2) is determined. 着目している中央の要素プロセッサPE1と、その左隣の要素プロセッサPE0は、ともにID番号が不一致なので、中間結果2を保持したまま、他の要素プロセッサから中間結果2の掃き出しを要求されるまで待機状態にある。 A central element processors PE1 of interest, element processors PE0 of the left side until both ID numbers so discrepancies, while maintaining the intermediate results 2 are required to sweep from another element processors intermediate results 2 It is in a standby state. 所定期間待って掃き出し要求がない場合は、 If there is no sweep-out request waiting for a predetermined period of time,
処理を続行する。 continue processing.

【0031】一方、右側の要素プロセッサPE2は、I [0031] On the other hand, the right side of the element processor PE2 is, I
D番号が一致するので、ステップST7において、共通の処理命令に従って中間結果2の保存を行う。 Since D numbers match, in step ST7, for saving intermediate results 2 according to a common processing instructions. この処理命令には、たとえば“自己のIDがID=m+1(m: The processing instruction, such as "self-ID is ID = m + 1 (m:
有効データを入力したPEのID番号)ならば、PEm ID number), then the PE input valid data, PEm
の中間結果2をLM(m+1)に保存せよ”といった指示が含まれている。したがって、要素プロセッサPE2 It contains instructions such a case save intermediate results 2 to LM (m + 1) ". Thus, the element processor PE2
は、隣の要素プロセッサPE1に中間結果2を要求し、 Is an intermediate result 2 requests the next element processors PE1,
送られてきた中間結果2を、自己のローカルメモリLM The intermediate result 2 the sent, its local memory LM
2に保存した後、次の処理ステップに進む。 After you save the 2, proceed to the next processing step. 要素プロセッサPE1は、中間結果2を排出した時点で、次の処理ステップに進む。 Element processors PE1 is the time of discharging the intermediate result 2, the process proceeds to the next processing step.

【0032】この時点で、あるPEグループ2の3つの要素プロセッサPE0,PE1,PE2の中央の要素プロセッサPE1から見て、左右の要素プロセッサPE [0032] At this point, when viewed from a certain PE 3 single processor element PE0 Group 2, PE1, PE2 of the central element processors PE1, the left and right element processors PE
0,PE2のローカルメモリLM0,LM2には、それぞれ自分が行った演算処理の中間結果1,2が格納されている。 0, the local memory LM0 of PE2, the LM2 is an intermediate result and second calculation process that I went respectively are stored. したがって、要素プロセッサPE1にとって、 Therefore, taking the element processor PE1,
ローカルメモリLM0,LM2を、あたかも自己のローカルメモリLM1の一部として機能させたかのような状態になる。 The local memory LM0, LM2, as if in a state as if made to function as a part of its own local memory LM1. 一方、他の2つの要素プロセッサPE0,P On the other hand, the other two element processors PE0, P
E2においても、同様に中間結果1,2は算出されるが、もともと有効なデータが入力されていないうえ、このような大きなメモリ空間が必要な演算処理は正しく実行できない。 Also in E2, but similar intermediate results 1 and 2 are calculated, after not entered originally valid data, such processing that requires a large memory space can not be correctly performed. 中間結果1,2を保管する場所がないからである。 This is because there is no place to store the intermediate results 1,2.

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

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

【0035】演算処理3の結果を先に算出しておいた中間結果1,2の何れかと合成したい場合は、次のステップST9において合成処理1が実行される。 [0035] If desired combined with any of the intermediate results 1 and 2 the result of the arithmetic processing 3 had been previously calculated, the combining process 1 in the next step ST9 is executed. このとき中間結果1を読み出して合成処理1に用いる場合は、(自己のID番号−1)のID番号の要素プロセッサから中間結果1を読み出す。 In this case, when using the intermediate result 1 reads synthesis process 1 reads the intermediate result 1 from element processor ID number (own ID number -1). また、中間結果2を読み出して合成処理1に用いる場合は、(自己のID番号+1)のI In the case of using the intermediate result 2 reads synthesis process 1, the (own ID number +1) I
D番号の要素プロセッサから中間結果2を読み出す。 Reading the intermediate result 2 from the element processors of D numbers. このような処理命令はすべての要素プロセッサPE0,P Such processing instructions all of the element processors PE0, P
E1,PE2に共通である。 E1, it is common to PE2. このため、有効データを用いた要素プロセッサPE1以外の他の要素プロセッサP Therefore, other element processors P other than the element processor PE1 with valid data
E0,PE2は、正常な中間結果の読み出しができない。 E0, PE2 can not read normal intermediate results. たとえば要素プロセッサPE2にとっては、前記したように中間結果を両隣の要素プロセッサに保存できず、かりに自己のメモリ容量に余裕がある場合は、そこに中間結果1,2が保存されているはずである。 For example, for the processor element PE2, you can not store intermediate results as described above to the element processor on both sides, assuming the case where the memory capacity of the self can afford should the intermediate results 1 and 2 are stored therein . にもかかわらず、要素プロセッサPE2は、この共通の命令により隣の要素プロセッサPE1(または、存在していればPE4)から全く無関係の中間結果を誤って読み出してしまう。 Nevertheless, the element processor PE2 is thus read incorrectly completely unrelated intermediate results from the adjacent element processor PE1 (or, PE4 if present) by this common command. したがって、合成処理1後の結果は、全く意図しない結果となってしまう。 Therefore, the result of post-synthesis treatment 1, becomes totally unintended consequences. このことは、もう1つの要素プロセッサPE0においても同じである。 This is the same in another element processor PE0.

【0036】このようにSIMD制御で共通の命令が発行されることを上手に利用することで、有効データが与えられた中央の要素プロセッサPE1に限って、正しいデータの読み出しができ、したがって正常に合成処理1 [0036] In this manner, skillfully utilizing the common instruction in SIMD control is issued, only the center of the element processors PE1 valid data is given, it is the correct data read, thus properly synthesis process 1
が実行できることが保証される。 There it is ensured that can be performed. この合成処理1の結果を最終的な出力データとする場合は、処理フローが次のステップST10をスキップする。 If the result of the synthesis process 1 as the final output data, the process flow skips the following steps ST10.

【0037】さらに、合成処理1の結果を未だ合成していない他の中間結果と合成したい場合は、つぎのステップST10において合成処理2が実行される。 Furthermore, if you want the result of the synthesis process 1 was still combined with other intermediate results that are not synthesized, synthesis processing 2 in step ST10 of the next is executed. このときのデータ読み出しも、上記合成処理1のときと同じように、中央の要素プロセッサPE1のみが正しくでき、他の要素プロセッサPE0,PE2では誤読み出しとなってしまう。 Data read at this time as well, as if the synthesis process 1, only the center of element processors PE1 is correctly, resulting in a misreading the other element processors PE0, PE2. したがって、中央の要素プロセッサPE1だけから、正しい合成処理2の結果が出力される。 Therefore, only from the center of the element processors PE1, the output is correct synthesis process 2 results.

【0038】つぎに、ステップST11〜ST13で出力データの有効性判定を行う。 [0038] Next, the validity judgment of the output data in step ST11~ST13. 上記したように、中央の要素プロセッサPE1のみ正しい演算結果(あるいは合成結果)が得られているのであるから、一見、有効性判定の判断は必要ないように思われる。 As described above, since the center of the element processors PE1 only correct operation result (or composite result) is to be obtained, seemingly, the determination of the determination effectiveness seems not necessary. しかし、当該SI However, the SI
MD制御多並列プロセッサから外部にデータ出力するときは正しいものだけが出力されるのであるから、そのためには何らかの出力選択が行われる。 Since when data output from the MD control multi-parallel processor to the outside is the only correct is output, in order that some output selection is made. いわゆる出力ポインタ回路の動作、すなわち出力部が有効性判定フラグを用意して、それを1(有効)または0(無効)に変化させるなどといった制御に限らず、たとえば出力部で要素プロセッサPE1以外の結果は無視するといったことも、広い意味で、この有効性判定に含まれる。 Operation of the so-called output pointer circuit, that is, providing a validity determination flag output section, it 1 (enabled) or 0 is not limited to control, such as changing the (disabled), other than the element processors PE1, for example, the output unit it such results are ignored, in a broad sense, it is included in the validity determination. また、必ず2つ以上のローカルメモリを利用しなければ処理ができない場合にあっては、共通の命令に“自己のメモリが限界に達したときは処理を停止する”ことを含ませておけば、中央の要素プロセッサPE1以外からは出力データそのものが送られてこない。 Further, in a case can not be processed unless always using two or more local memories, if moistened with "When own memory reaches the limit stops processing" that a common instruction , from other than the center of the element processors PE1 not transmitted output data itself. このような制御も、ここでいう有効性判定の1種である。 Such control is also one of the validity determination here.

【0039】図2の例では、ステップST11において、PEグループ2内の全てのID番号が調べられ、I [0039] In the example of FIG. 2, in step ST11, examined all ID numbers in PE group 2, I
D=1である場合のみ、その要素プロセッサPE1の出力データをステップST12で有効なものとして、ステップST13で出力される。 If a D = 1 only, the output data of the element processors PE1 as valid in step ST12, is output in step ST13. 一方、ID=1でない他の要素プロセッサPE0,PE2の出力データはステップST14で無効であるとされてステップST13で出力されないか、あるいは、ステップST14で無効処理された後に出力される。 On the other hand, the output data of ID = 1 is not other element processors PE0, PE2 is either not output in step ST13 is to be invalid in step ST14, or is output after being disabled processed in step ST14. この無効処理された出力データは、外部には出力されない。 This invalid process output data is not output to the outside.

【0040】本実施例におけるデータの流れを分かりやすく表すと、図3のようになる。 [0040] Expressed clarity the flow of data in this embodiment is as shown in FIG 3. なお、上記説明では、 It should be noted that, in the above description,
中央の要素プロセッサPE1に有効データを入力した場合を説明したが、当然、両端の要素プロセッサPE0, Has been described a case of inputting a valid data in the middle of the element processors PE1, of course, both ends of the element processors PE0,
PE2に対して有効データが入力される場合もある。 Sometimes valid data is input to PE2. この場合、中間結果を保存する要素プロセッサが存在しないという事態が想定されるが、これは、処理の最初にステップST0で、有効データが入力される要素プロセッサが必ず中央に位置するようにPEグループ分けを変更することで対処する。 In this case, the situation that the element processor for storing the intermediate results do not exist is assumed, which, PE groups as first in step ST0, located always the element processors valid data is entered the central processing to address by changing the divided. あるいは、ID番号0,1,2は環状的に変化する規則にしておけば、この事態は避けられる。 Alternatively, ID numbers 0, 1, 2 if in the rule that changes circularly, this situation is avoided. たとえば、有効データを入力した要素プロセッサが左端のPE0であるとき、中間結果1の保存で、前記した“自己のIDがID=m−1(m:有効データを入力したPEのID番号)ならば、PEmの中間結果1をLM(m−1)に保存せよ”との指令にしたがうと、自己のID=−1となって、そのようなID番号は存在せず、中間結果1は保存されない事態となる。 For example, when element processors have entered a valid data is left in PE0, in intermediate result 1 of storage, the above-described "self-ID is ID = m-1: if (m ID number of the PE that have entered a valid data) If, according to the command of the storage case "intermediate results 1 PEm in LM (m-1), become self ID = -1, such ID number is not present, the intermediate result 1 save the not situation. この事態を避けるためID番号を環状的に変化させると、ID=− When an ID number to avoid this situation varying annular manner, ID = -
1=2であるから、要素プロセッサPE2が中間結果1 Since 1 = 2, the element processor PE2 intermediate results 1
を保存する。 To save. そして、読み出し時の命令に含まれる(自己のID番号−1)=−1=2となって、正常に中間結果1を読み出すことができる。 Then, at the time of reading Included in the instruction (own ID number -1) = - 1 = 2. But, it is possible to successfully read out the intermediate results 1. この方法では、PEグループ内で図2の処理フローを繰り返し行う場合、2回目以降はステップST0を省略できるという利点がある。 In this way, when repeating the processing flow in FIG. 2 in the PE group, the second and subsequent can be advantageously omitted step ST0.

【0041】また、上記説明では3つの要素プロセッサPE0,PE1,PE2を1つのPEグループ2として扱ったが、隣接する要素プロセッサ間のローカルメモリに対するデータ通信機能を利用すれば、理論的にPEグループ2内の要素プロセッサの数に上限はない。 Further, in the above description it has been dealt three element processors PE0, PE1, PE2 as one PE group 2, by utilizing the data communication function to the local memory between adjacent element processors, theoretically PE group no upper limit to the number of element processors in 2. このとき、より離れた要素プロセッサのローカルメモリのデータを参照する場合、中間に位置する要素プロセッサは単に中継させるだけにしてバケツリレー形式でデータ転送すれば、ハードウェアとしてのデータ・パス3の追加は必要ない。 In this case, when referring to data in the local memory of the more distant processor elements, if only to data transfer bucket brigade form to element processors simply relay located in the middle, additional data paths 3 as hardware there is no need.

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

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

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

【0045】図5は、第2実施形態に係る処理手順を示すフローチャートである。 [0045] Figure 5 is a flowchart of a process according to the second embodiment. まず、ステップST0において、第1実施形態と同じ手法によって、0,1,2, First, in step ST0, the same method as the first embodiment, 0,1,2,
0,1,2,0,1,…と各要素プロセッサのローカルメモリにID番号を記憶させ、ID番号ID 0 ,ID 0,1,2,0,1, ... and to store the ID number in the local memory of the processor elements, ID number ID 0, ID
1 ,ID 1が左から0,1,2と並ぶ3つの要素プロセッサPE0,PE1,PE2を、まとめて1つの要素プロセッサ(PE)グループ2とする。 1, ID 1 has three element processors PE0, along with 0,1,2 from left, PE1, a PE2, a collectively one element processor (PE) Group 2.

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

【0047】続くステップST22において、それら各要素プロセッサPE0,PE1,PE2に、データとは別に、複数のFIRフィルタのフィルタ係数を、互いに相異なる組み合わせパターンのパラメータ・セットとして入力する。 [0047] In the subsequent step ST22, in which the processor elements PE0, PE1, PE2, separately from the data, the filter coefficients of a plurality of FIR filters, enter a set of parameters different combination patterns from each other. パラメータ・セットは、含まれているパラメータ(フィルタ係数)の組合せが3つとも全く異なるが、少なくとも中央の要素プロセッサPE1の出力データ生成に必要なパラメータが分散して含まれる必要がある。 Parameter set is quite different but even three combinations of the included parameters (filter coefficients), it is necessary parameters required to output data generation of at least a central element processors PE1 are contained dispersed.

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

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

【0050】たとえば、最初の合成処理1(ステップS [0050] For example, the first synthetic process 1 (step S
T24)の共通コマンドが、“自己の処理結果を(自己のID番号)−1のPEの処理結果と合成せよ”であり、次の合成処理2(ステップST25)共通コマンドが、“自己の合成処理1の結果を(自己のID番号)+ Common Commands T24) is a "self-processing result (own ID numbers) the processing result of the PE -1 and case synthesis", the subsequent synthesis process 2 (step ST25) common command, "own synthesis the results of the processing 1 (self ID number) +
1のPEの処理結果と合成せよ”であるとする。このコマンドにしたがうと、要素プロセッサPE1は要素プロセッサPE0の処理結果を用いて合成処理1を行い、その結果をさらに要素プロセッサPE2の処理結果と合成し、出力データとして出力する。ところが、要素プロセッサPE0は合成処理1時に、自己の処理結果を、当該PEグループ2の左隣の他のPEグループでの処理結果と合成してしまい、誤った処理を行ってしまう。同様に、要素プロセッサPE2は合成処理2時に、自己の合成処理1の結果を、当該PEグループ2の右隣の他のP And a processing result of the first PE and case synthesis ". According to this command, the processor element PE1 will perform a combination process 1 using the processing result of the processor element PE0, the processing result of the further element processor PE2 results synthesized, and outputs as output data. However, the processor elements PE0 is sometimes combining process 1, the self-processing results, will be combined with the processing results in other PE group to the left of the PE group 2, mistakenly processing the gone. Similarly, the element processor PE2 at synthesis process 2, the synthesis process 1 result self, other P to the right of the PE group 2
Eグループでの処理結果と合成してしまい、誤った処理を行ってしまう。 It will be combined with the processing result in the E group, gone the wrong treatment. したがって、正しい出力データが得られるのは、中央の要素プロセッサPE1のみである。 Thus, the correct output data is obtained is only the center of the element processors PE1.

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

【0052】なお、第2実施形態では、ID番号を環状的に変化させることはなく、また、1つのPEグループ2内の要素プロセッサ数に理論的に上限はない。 [0052] In the second embodiment, rather than changing the ID number annular manner, also, there is no theoretical limit to the number of element processors in one PE group 2.

【0053】このように、第2実施形態では、同一PE [0053] Thus, in the second embodiment, the same PE
グループ内の各要素プロセッサ全てに有効データを入力し、かつ、PEグループ内の各要素プロセッサに対して異なるパラメータ・セットを入力すれば、各有効データに対しパラメータの異なる処理を完全に並列で実行できる。 Enter a valid data to all the processor elements in a group, and, by entering the different parameter sets for each element processor in PE group, run entirely in parallel different processing of parameters for each valid data it can. 処理したデータを各要素プロセッサのID番号で区別して統合処理を行ったうえで、最終的に、各要素プロセッサの出力を、たとえばID番号で選択制御する。 The processed data after performing integration processing by distinguishing the ID number of the processor elements, finally, the output of each element processor, selects and controls, for example, ID number. これにより、各々のPEグループで1つ正しい処理結果が出力データとして得られる。 Thus, one correct processing results in each of the PE group is obtained as the output data. この処理では、各グループを仮想的な1つの要素プロセッサと見なせば、その仮想要素プロセッサは個々の要素プロセッサよりも高い処理能力を持つことになる。 In this process, is regarded each group as one virtual element processors, the virtual processor element will have a higher capacity than the individual processor elements. 実質的には、この処理手法によって有効な出力が得られる要素プロセッサ数は減る。 In effect, the number of element processors valid output can be obtained by this process approach is reduced. ところが、画像処理の分野などでは、一度に並列処理させたい画素は間欠的な場合も多いので、本手法によって、 However, since the the fields of image processing, the pixels desired to be parallel processed at one time in many cases intermittent, by this technique,
従来は数回の処理に1度しか処理に寄与していなかった要素プロセッサの処理能力を有効活用したことになる。 Conventionally it would make effective use several times the processing power of the processor elements that did not contribute to only once processing process.
しかも、本実施形態では、この並列処理数を増加させた高効率なSIMD制御プロセッサを、ハードウェアの構成を全く変更することなしに実現できた。 Moreover, in this embodiment, it can be realized a highly efficient SIMD control processor of increasing the number of parallel processes, without changing any hardware configuration.

【0054】 [0054]

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

【0055】また、本発明に係る他のSIMD制御並列処理方法および装置によれば、FIRフィルタリング処理など、パラメータ(フィルタ係数)が異なるだけで全く同じような処理を繰り返す並列処理数を、ハードウェアの構成をそのまま増加させて、処理効率を上げることを可能とした。 [0055] According to another SIMD control parallel processing method and apparatus according to the present invention, such as FIR filtering, parameter parallel processing number (filter coefficient) is repeated differ only in exactly similar processing, hardware configure as it is increased, and made it possible to increase the processing efficiency.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

【図4】第2実施形態で実施する処理ブロックを示す図である。 4 is a diagram illustrating a processing block for implementing the second embodiment.

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

【符号の説明】 DESCRIPTION OF SYMBOLS

1…SIMD制御の多並列デジタル・プロセッサ(SI 1 ... a multi-parallel digital processor of the SIMD control (SI
MD制御並列処理装置)、2…仮想的な要素プロセッサ・グループ、3…データ・パス、4…メモリ選択手段、 MD control parallel processor), 2 ... virtual element processor group, 3 ... data paths, 4 ... memory selection means,
5…有効性判定手段、PE0,PE1,PE2…要素プロセッサ、LM0,LM1,LM2…ローカルメモリ(メモリ部)、ALU…処理部、ID 0等…ID番号(認識コード)。 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)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】1次元的に配列された複数の要素プロセッサを単一の命令により制御するSIMD制御並列処理方法であって、 所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、 上記複数の要素プロセッサにデータを入力して、同一の処理を実行させ、 上記グループ内の特定の要素プロセッサにおいて、上記処理の途中結果を、特定の識別コードを基準に指定した他の要素プロセッサに記憶させ、当該記憶した途中結果を、上記特定の識別コードを基準とした指定により読み出して後続の処理に用いるSIMD制御並列処理方法。 1. A one-dimensional plurality of element processors arranged in a SIMD control parallel processing method for controlling by a single instruction, are repeatedly assigned in the same sequence for each group of a predetermined number of elements processors, and the possible identification codes identify any element processors within each group assigned to each element processor, and enter data into the plurality of element processors, to execute the same process, certain of the above group in element processors, the intermediate result of the processing, to be stored in other element processors specified in reference to the specific identification code, an intermediate result of the storage, subsequent reads by the specified relative to the above specific identification code SIMD control parallel processing method for use in processing.
  2. 【請求項2】上記処理の結果を、特定の識別コードを基準とした指定により選択して出力させる請求項1記載のSIMD制御並列処理方法。 Wherein said process results, SIMD control parallel processing method according to claim 1, wherein to selectively output by the specified relative to the specific identification code.
  3. 【請求項3】1次元的に配列された複数の要素プロセッサを単一の命令により制御するSIMD制御並列処理方法であって、 所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、 上記複数の要素プロセッサにデータとパラメータを入力して、同一の処理を実行させ、 上記要素プロセッサの処理結果の幾つかを、識別コードを基準に指定して統合処理し、 上記統合処理の結果を、識別コードを基準とした指定により選択して出力させるSIMD制御並列処理方法。 3. A one-dimensional plurality of element processors arranged in a SIMD control parallel processing method for controlling by a single instruction, are repeatedly assigned in the same sequence for each group of a predetermined number of elements processors, and the possible identification codes identify any element processors within each group assigned to each element processor, enter the data and parameters to the plurality of element processors, to execute the same processing, the element processors processing some results, and the integration process by specifying, based on the identification code, the result of the integration process, SIMD control parallel processing method for selectively outputting the specified relative to the identification code.
  4. 【請求項4】情報を記憶するメモリ部、メモリ部に記憶された情報を基に処理を実行する処理部をそれぞれに含んで1次元的に配列され、隣接相互間でデータ通信が可能な複数の要素プロセッサと、 上記複数の要素プロセッサを単一の命令によりSIMD Memory unit for storing wherein information, including a processing unit that executes processing based on the information stored in the memory unit, each being one-dimensionally arranged, the plurality of possible data communication between adjacent each other SIMD and element processor, the plurality of element processors by a single instruction
    制御するSIMD制御回路とを有し、 上記SIMD制御に、所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、上記複数の要素プロセッサにデータを入力して、同一の処理を実行させ、上記グループ内の特定の要素プロセッサにおいて、上記処理の途中結果を、特定の識別コードを基準に指定した他の要素プロセッサに記憶させ、当該記憶した途中結果を、上記特定の識別コードを基準とした指定により読み出して後続の処理に用いる制御を含むSIMD And a SIMD controller for controlling, in the SIMD control, are repeatedly assigned in the same sequence for each group of a predetermined number of elements processors, and the possible identification codes identify any element processors within each group each It was given to each element processor, and enter data into the plurality of element processors, to execute the same processing, in particular element processors in the group, the intermediate result of the processing, based on the particular identification code is stored in other element processors specified, the intermediate result obtained by the storage, SIMD comprising control using the read out subsequent processing by the specified relative to the above specific identification code
    制御並列処理装置。 Control the parallel processor.
  5. 【請求項5】上記SIMD制御に、さらに、上記処理の結果を上記特定の識別コードを基準とした指定により選択して出力させる制御を含む請求項4記載のSIMD制御並列処理装置。 5. A said SIMD control, further, SIMD control parallel processing apparatus according to claim 4 further comprising a control to output a result of the processing selects a specified relative to the above-mentioned specific identification code.
  6. 【請求項6】情報を記憶するメモリ部、メモリ部に記憶された情報を基に処理を実行する処理部をそれぞれに含んで1次元的に配列され、隣接相互間でデータ通信が可能な複数の要素プロセッサと、 上記複数の要素プロセッサを単一の命令によりSIMD Memory unit for storing 6. Information, including the processing unit that executes processing based on the information stored in the memory unit, each being one-dimensionally arranged, the plurality of possible data communication between adjacent each other SIMD and element processor, the plurality of element processors by a single instruction
    制御するSIMD制御回路とを有し、 上記SIMD制御に、所定数の要素プロセッサからなるグループごとに同じ配列で繰り返し割り当てられ、かつ、各グループ内で任意の要素プロセッサを特定可能な識別コードを各要素プロセッサごとに付与し、上記複数の要素プロセッサにデータとパラメータを入力して、同一の処理を実行させ、上記要素プロセッサの処理結果の幾つかを、識別コードを基準に指定して統合処理し、上記統合処理の結果を、識別コードを基準とした指定により選択して出力させる制御を含むSIMD制御並列処理装置。 And a SIMD controller for controlling, in the SIMD control, are repeatedly assigned in the same sequence for each group of a predetermined number of elements processors, and the possible identification codes identify any element processors within each group each was given to each element processor, enter the data and parameters to the plurality of element processors, to execute the same process, the number of processing results of the processor elements, and the integration process by specifying, based on the identification code , SIMD control parallel processing apparatus including a control which results in the integration process, and outputs selected by the designation relative to the identification code.
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 (15)

* 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
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
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
US9697000B2 (en) 2004-02-04 2017-07-04 Iii Holdings 2, Llc Energy-focused compiler-assisted branch prediction
US9244689B2 (en) 2004-02-04 2016-01-26 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
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
EP0759594B1 (en) Modular crossbar interconnections in a digital computer
US7957381B2 (en) Globally asynchronous communication architecture for system on chip
JP2569323B2 (en) Kopurosetsusaa - Kitekuchiya
US4816993A (en) Parallel processing computer including interconnected operation units
EP0101596B1 (en) A data processor with parallel-operating operation units
JP3916680B2 (en) Processor
US5517666A (en) Program controlled processor wherein vector distributor and vector coupler operate independently of sequencer
US6128720A (en) Distributed processing array with component processors performing customized interpretation of instructions
JP3674515B2 (en) Array-type processor
JP2509678B2 (en) Computing device
EP0601029B1 (en) Massively parallel computer system including input/output arrangement
US4837676A (en) MIMD instruction flow computer architecture
JP3452929B2 (en) Multiprocessor
US4644466A (en) Pipeline processor
KR940005816B1 (en) Data processing apparatus
EP0425410A2 (en) Signal processor with independently arithmetic and logic unit and multiplier accumulator unit simultaneously operable
US20020143505A1 (en) Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals
US20030046513A1 (en) Arrayed processor of array of processing elements whose individual operations and mutual connections are variable
JP2809961B2 (en) Multiprocessor
JP2008226275A (en) Processor architecture
Ku et al. Scheduling in serial multiproduct batch processes with finite interstage storage: mixed integer linear program formulation
CA2043505A1 (en) Massively parallel processor including queue-based message delivery system
EP0533835A4 (en) Generating communication arrangements for massively parallel processing systems
EP0169709B1 (en) Real time processor for video signals
US5761522A (en) Program control system programmable to selectively execute a plurality of programs

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