JPH1115801A - Data arithmetic unit, method and transmission medium - Google Patents

Data arithmetic unit, method and transmission medium

Info

Publication number
JPH1115801A
JPH1115801A JP16707697A JP16707697A JPH1115801A JP H1115801 A JPH1115801 A JP H1115801A JP 16707697 A JP16707697 A JP 16707697A JP 16707697 A JP16707697 A JP 16707697A JP H1115801 A JPH1115801 A JP H1115801A
Authority
JP
Japan
Prior art keywords
data
processor element
processor
numerical value
control circuit
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.)
Withdrawn
Application number
JP16707697A
Other languages
Japanese (ja)
Inventor
Masuyoshi Kurokawa
益義 黒川
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 JP16707697A priority Critical patent/JPH1115801A/en
Publication of JPH1115801A publication Critical patent/JPH1115801A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily execute the processing of a data arithmetic unit. SOLUTION: A selector 60A is arranged in a 1st processor element(PE) out of N PEs 15 and a selector 60B is arranged in an N-th PE 15. The data of a data memory 12 in the 1st PE 15 and values '0' and '1' are supplied to the selector 60A and the data of a data memory 12 in the N-th PE 15 and the values '0', '1' are supplied to the selector 60B, so that a program control circuit 17 can select and output the data of the selectors 60A, 60B.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データ演算装置お
よび方法、並びに伝送媒体に関し、特に、SIMD並列制御
を行う場合に用いて好適なデータ演算装置および方法、
並びに伝送媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device and method, and a transmission medium, and more particularly to a data processing device and method suitable for performing SIMD parallel control.
And a transmission medium.

【0002】[0002]

【従来の技術】従来のデータ演算装置としては、特願平
07-230743号に開示されたものや、IEEE(The Institute
of Electrical and Electronics Engineers, Inc.)19
90 CUSTOM INTEGRATED CIRCUITS CONFERENCE ,P17. 3.1
に記載のSVP(Serial Video Processsor)と呼ばれるプ
ロセッサがある。このSVPは、映像信号をリアルタイム
でデジタル処理するプロセッサで、1024個のプロセ
ッサを1チップに収めたものである。そしてこのSVP
は、SIMD(Single Instruction stream/Multiple Datas
tream)構造で、水平走査線の画素データを並列処理可
能である。ここで、SIMDとは、コンピュータのデータ処
理方式の1つで、データは異なるが、同一の仕事を同時
処理するものである。
2. Description of the Related Art As a conventional data processing device, Japanese Patent Application No.
No. 07-230743 and IEEE (The Institute
of Electrical and Electronics Engineers, Inc.) 19
90 CUSTOM INTEGRATED CIRCUITS CONFERENCE, P17. 3.1
There is a processor called SVP (Serial Video Processsor). The SVP is a processor that digitally processes a video signal in real time, and includes 1024 processors in one chip. And this SVP
Is a SIMD (Single Instruction stream / Multiple Datas
(tream) structure, the pixel data of the horizontal scanning line can be processed in parallel. Here, SIMD is one of the data processing methods of a computer, and performs the same job simultaneously, although the data is different.

【0003】図12は、このような従来のデータ演算装
置の一構成例を示している。このデータ演算装置は、上
述のSIMD制御並列プロセッサである。このデータ演算装
置において、入力シリアルアクセスメモリ11、データ
メモリ12、演算回路13、および、出力シリアルアク
セスメモリ14は、リニアアレイ(直線配列)型に並列
化されたプロセッサエレメント群を構成している。これ
らのプロセッサエレメント15は、プログラム制御回路
17が有する1つのプログラムに従って、連動して制御
される。プログラムメモリ18は、各種回路を制御する
ためのプログラムを記憶しており、プログラム制御回路
17に供給するようになされている。
FIG. 12 shows a configuration example of such a conventional data processing device. This data processing device is the above-described SIMD control parallel processor. In this data processing device, the input serial access memory 11, the data memory 12, the arithmetic circuit 13, and the output serial access memory 14 form a processor element group parallelized in a linear array type. These processor elements 15 are controlled in conjunction with each other according to one program of the program control circuit 17. The program memory 18 stores programs for controlling various circuits, and supplies the programs to the program control circuit 17.

【0004】プログラム制御回路17は、プログラムメ
モリ18のアドレスを制御するシーケンス制御回路を内
蔵し、プログラムメモリ17に記憶されているプログラ
ムに従って、プログラムメモリ18のアドレスを更新し
ていくとともに、各種制御信号を発生して、各種回路を
制御する。
[0004] The program control circuit 17 has a built-in sequence control circuit for controlling the address of the program memory 18, updates the address of the program memory 18 in accordance with the program stored in the program memory 17, and controls various control signals. To control various circuits.

【0005】なお、入力シリアルアクセスメモリ11、
データメモリ12、出力シリアルアクセスメモリ14
は、主にメモリで構成されいる。図12の装置において
は、これらのメモリのためのロウ(ROW)アドレスデコー
ダは、プログラム制御回路17に含まれているものとす
る。また、データメモリ12は、2リード、1ライトの
3ポートを有しているメモリであり、データの書き込み
または読み出しのためのビット線は、この場合は縦に走
っており、このビット線端に演算回路13が接続されて
いる。
The input serial access memory 11,
Data memory 12, output serial access memory 14
Is mainly composed of memory. 12, it is assumed that row address decoders for these memories are included in the program control circuit 17. The data memory 12 is a memory having three ports of two read and one write. In this case, a bit line for writing or reading data runs vertically in this case. The arithmetic circuit 13 is connected.

【0006】並列化されたプロセッサエレメント15
(単一エレメント分)は、図において斜線で示した部分
に対応し、複数のプロセッサエレメント15が、図中に
おいて横方向に配列されている。即ち、図の斜線の部分
だけで、1つのプロセッサに対応する構成要素を有して
いる。なお、要素演算回路16は、演算回路13の単一
エレメント分の回路である。
[0006] The parallelized processor element 15
(For a single element) corresponds to the hatched portion in the figure, and a plurality of processor elements 15 are arranged in the horizontal direction in the figure. That is, only the hatched portions in the figure have components corresponding to one processor. The element operation circuit 16 is a circuit for a single element of the operation circuit 13.

【0007】図13は、単一エレメント分のデータメモ
リ12および要素演算回路16の一構成例を示してい
る。各プロセッサエレメントにおける演算の際に、自ら
に割り当てられたデータ以外に、近傍のプロセッサエレ
メント15に割り当てられたデータを用いて演算を行う
場合がある。そのため、データメモリ12には、セレク
タ70およびセレクタ71が設けられており、隣接した
プロセッサエレメント15のデータメモリに供給されて
いるデータを、プログラム制御回路17の制御により適
宜読み出すことができるようになされている。
FIG. 13 shows a configuration example of the data memory 12 and the element operation circuit 16 for a single element. At the time of calculation in each processor element, the calculation may be performed using data allocated to the neighboring processor element 15 in addition to the data allocated to itself. Therefore, the data memory 12 is provided with the selector 70 and the selector 71, and the data supplied to the data memory of the adjacent processor element 15 can be appropriately read under the control of the program control circuit 17. ing.

【0008】例えば、セレクタ70には、図に示されて
いるデータメモリ12のデータと、左側および右側に隣
接している図示せぬプロセッサエレメント15のデータ
メモリ12のデータが供給されている。この3つの入力
のうちの1つが、プログラム制御回路17の制御により
選択されて、セレクタ80およびセレクタ81に供給さ
れる。また、セレクタ71についても同様である。
For example, the selector 70 is supplied with the data of the data memory 12 shown in the figure and the data of the data memory 12 of the processor element 15 (not shown) adjacent to the left and right sides. One of these three inputs is selected under the control of the program control circuit 17 and supplied to the selector 80 and the selector 81. The same applies to the selector 71.

【0009】ただし、プロセッサエレメント15のう
ち、左端および右端のプロセッサエレメント15は、そ
の片側にだけにしか、隣接しているデータメモリ12が
存在しないため、例えば、各プロセッサエレメント15
における演算の際に、左側に隣接したデータメモリ12
のデータを読み出すような制御が行われたとき、左端の
プロセッサエレメント15は、その左側からデータを読
み出すことはできない。そのため、その場合の入力デー
タとして、0または1を固定しておくことが考えられ
る。
However, among the processor elements 15, the leftmost and rightmost processor elements 15 have the adjacent data memory 12 only on one side thereof.
At the time of calculation in the data memory 12 adjacent to the left side.
Is performed, the leftmost processor element 15 cannot read data from the left side. Therefore, it is conceivable that 0 or 1 is fixed as input data in that case.

【0010】セレクタ70からのデータは、セレクタ8
0を介してレジスタ84に供給されるとともに、セレク
タ81を介してレジスタ85に供給される。セレクタ7
1からのデータは、セレクタ82を介してレジスタ86
に供給される。セレクタ80は、予め設定されている値
1または0、データメモリ12からのデータ、およびレ
ジスタ84から帰還されるデータの中から、1つのデー
タを選択し、レジスタ84に供給するようになされてい
る。また、レジスタ87は、フルアダー91からセレク
タ83を介して供給されるキャリーオーバーのデータを
保持するようになされている。
The data from the selector 70 is transmitted to the selector 8
The signal is supplied to the register 84 via the “0” and the register 85 via the selector 81. Selector 7
1 from the register 86 via the selector 82.
Supplied to The selector 80 selects one data from a preset value 1 or 0, data from the data memory 12, and data fed back from the register 84, and supplies the selected data to the register 84. . The register 87 holds carry-over data supplied from the full adder 91 via the selector 83.

【0011】論理積回路88は、レジスタ84とレジス
タ85に保持されているデータの論理積を演算するよう
になされている。排他的論理和回路89は、論理積回路
88の出力と、プログラム制御回路17から供給される
データとの排他的論理和を演算し、その演算結果をフル
アダー91に供給している。フルアダー91は、さらに
レジスタ86とレジスタ87とに保持されているデータ
が供給されている。フルアダー91は、これらの3つの
入力の加算を行い、その演算の結果生成された和(su
m)とキャリーオーバーとを、セレクタ92に出力する
ようになされている。このうちキャリーオーバーはセレ
クタ83にも供給されている。
The AND circuit 88 calculates the AND of the data held in the registers 84 and 85. The exclusive OR circuit 89 performs an exclusive OR operation on the output of the AND circuit 88 and the data supplied from the program control circuit 17, and supplies the operation result to the full adder 91. The full adder 91 is further supplied with data held in the registers 86 and 87. The full adder 91 performs addition of these three inputs, and generates a sum (su) generated as a result of the operation.
m) and carryover are output to the selector 92. Of these, carryover is also supplied to the selector 83.

【0012】セレクタ90はレジスタ84の値によっ
て、排他的論理和回路89、レジスタ86から供給され
るデータを選択し、セレクタ92に出力している。セレ
クタ92は、プログラム制御回路17の制御信号によ
り、セレクタ90の入力、フルアダー91からの2つの
入力の、合計3つの入力のうちのいずれか1つを選択
し、データメモリ12に出力している。セレクタ93
は、プログラム制御回路17からの信号により制御さ
れ、レジスタ85および論理積回路88の値を選択す
る。
The selector 90 selects the data supplied from the exclusive OR circuit 89 and the register 86 according to the value of the register 84 and outputs the data to the selector 92. The selector 92 selects one of a total of three inputs, the input of the selector 90 and the two inputs from the full adder 91, according to the control signal of the program control circuit 17, and outputs the selected input to the data memory 12. . Selector 93
Is controlled by a signal from the program control circuit 17, and selects the values of the register 85 and the AND circuit 88.

【0013】例えば、プログラム制御回路17からの信
号により、セレクタ93を制御し、データメモリ12に
より供給されレジスタ85に保持されているデータが排
他的論理和回路89を介して、フルアダー91に入力さ
れる。フルアダー91は、排他的論理和回路89より入
力されるデータ(レジスタ85から供給されたデー
タ)、データメモリ12より供給され、レジスタ86に
保持されたデータ、およびレジスタ87に保持されてい
る前回の演算時に発生したキャリーオーバーのデータを
加算し、その加算結果と、新たに生成したキャリーオー
バーのデータをセレクタ92に出力する。キャリーオー
バーはまた、レジスタ87に供給され、保持される。
For example, the selector 93 is controlled by a signal from the program control circuit 17, and data supplied from the data memory 12 and held in the register 85 is input to the full adder 91 via the exclusive OR circuit 89. You. The full adder 91 receives data input from the exclusive OR circuit 89 (data supplied from the register 85), data supplied from the data memory 12 and stored in the register 86, and the previous data stored in the register 87. The carry-over data generated during the operation is added, and the result of the addition and the newly generated carry-over data are output to the selector 92. The carryover is also supplied to the register 87 and held.

【0014】また、プログラム制御回路17は、セレク
タ92を制御して、フルアダー91の出力するキャリー
オーバーを選択し、データメモリ12に出力させること
ができる。あるいはまた、セレクタ90で排他的論理和
回路89またはレジスタ86から供給されたデータの一
方を選択し、これをさらにセレクタ92で選択させて、
データメモリ12に供給することができる。
The program control circuit 17 can control the selector 92 to select the carry-over output from the full adder 91 and output it to the data memory 12. Alternatively, one of the data supplied from the exclusive OR circuit 89 or the register 86 is selected by the selector 90, and the selected data is further selected by the selector 92.
It can be supplied to the data memory 12.

【0015】プログラム制御回路17は、論理積回路8
8より出力されるデータの論理を反転して、フルアダー
91に供給したいとき、排他的論理和回路89の一方の
入力に論理1を出力する。このようにすると、排他的論
理和回路89は、論理積回路88より論理1が出力され
たとき、論理0を出力し、論理積回路88より論理0が
入力されたとき、論理1を出力することがきる。
The program control circuit 17 includes a logical product circuit 8
When it is desired to invert the logic of the data output from 8 and supply the inverted data to the full adder 91, a logical 1 is output to one input of the exclusive OR circuit 89. In this way, the exclusive OR circuit 89 outputs a logical 0 when the logical 1 is output from the logical AND circuit 88, and outputs a logical 1 when the logical 0 is input from the logical AND circuit 88. I can do it.

【0016】また、プログラム制御回路17は、新たに
入力されたデータと、前回のデータとの論理積を演算さ
せる場合には、セレクタ80にレジスタ84の保持して
いるデータを再び選択させる。こうすることで、レジス
タ85に次のデータが保持されるので、論理積回路88
には、現在のデータと直前のデータとが入力され、その
論理積が演算される。セレクタ80によるレジスタ84
の出力の選択を繰り返すことにより、新たな入力データ
と過去の入力データの演算が可能となる。
In order to calculate the logical product of the newly input data and the previous data, the program control circuit 17 causes the selector 80 to select the data held in the register 84 again. By doing so, the next data is held in the register 85, so that the logical product circuit 88
, The current data and the immediately preceding data are input, and the logical product thereof is calculated. Register 84 by selector 80
By repeating the selection of the output, the calculation of the new input data and the past input data becomes possible.

【0017】以上のようにして1水平走査期間に割り当
てられている演算が終了すると、その水平走査期間のう
ちに、その水平走査期間に演算したデータは、出力シリ
アルアクセスメモリ14に転送される。
When the operation assigned to one horizontal scanning period is completed as described above, the data calculated during the horizontal scanning period is transferred to the output serial access memory 14 during the horizontal scanning period.

【0018】このように、1水平走査期間のうちに、入
力シリアルアクセスメモリ11に蓄積された入力データ
のデータメモリ12への転送、演算回路13による演
算、および、出力シリアルアクセスメモリ14へのデー
タの転送が、ビットを単位とするSIMD制御プログラムに
従って実行される。そして、この処理は、水平走査期間
を単位として、順次繰り返される。
As described above, during one horizontal scanning period, the transfer of the input data stored in the input serial access memory 11 to the data memory 12, the calculation by the arithmetic circuit 13, and the data transfer to the output serial access memory 14 Is executed according to a SIMD control program in units of bits. This process is sequentially repeated in units of the horizontal scanning period.

【0019】そして、出力シリアルアクセスメモリ14
に転送された出力データは、さらに次の水平走査帰線期
間において、出力シリアルアクセスメモリ14から出力
される。
The output serial access memory 14
Are output from the output serial access memory 14 in the next horizontal scanning retrace period.

【0020】以上のように、入力データを入力シリアル
アクセスメモリ11に取り込む入力処理、プログラム制
御回路17による、入力シリアルアクセスメモリ11に
蓄積された入力データのデータメモリ12への転送、演
算回路13による演算、および、出力シリアルアクセス
メモリ14への出力データの転送の演算処理、並びに、
出力データを出力シリアルアクセスメモリ14から読み
出す出力処理の3つの処理が、各プロセッサエレメント
15の各入力データに対して行われる。なお、これらの
3つの処理は、画像信号の1水平走査期間を単位とする
パイプライン処理として実行される。すなわち、データ
演算装置において、割り当てられた1水平走査期間分の
画素データに対して、3つの処理が一括して行われてい
る。
As described above, the input processing for taking the input data into the input serial access memory 11, the transfer of the input data accumulated in the input serial access memory 11 to the data memory 12 by the program control circuit 17, and the operation by the arithmetic circuit 13 Calculation and calculation processing of transfer of output data to the output serial access memory 14, and
Three processes of output processing for reading output data from the output serial access memory 14 are performed on each input data of each processor element 15. Note that these three processes are executed as pipeline processes in units of one horizontal scanning period of the image signal. That is, in the data processing device, three processes are collectively performed on the assigned pixel data for one horizontal scanning period.

【0021】このようなデータ演算装置において、間引
きフィルタ演算、補間フィルタ演算などを行うような場
合は、画素データ毎に異なる演算、あるいは、異なる係
数での演算が必要とされる。そのため、各プロセッサエ
レメント15ごとに、その位置を示す情報となる番号を
付し、さらに、所定の演算および所定の係数を選択させ
るためのフラグを生成し、所定の番号が付されたプロセ
ッサエレメント15毎に、フラグを用いて所定の演算を
行う。このような演算は、プログラムメモリ18におけ
るプログラムをそのように規定し、プログラム制御回路
17が、そのプログラムに基づいて制御することによっ
て可能となる。
In such a data arithmetic device, when performing a thinning filter operation, an interpolation filter operation, or the like, a different operation for each pixel data or an operation using different coefficients is required. For this reason, each processor element 15 is assigned a number as information indicating its position, and a flag for allowing a predetermined operation and a predetermined coefficient to be selected is generated. Each time, a predetermined calculation is performed using the flag. Such an operation is enabled by defining the program in the program memory 18 as such and controlling the program control circuit 17 based on the program.

【0022】[0022]

【発明が解決しようとする課題】しかしながら、SIMD制
御のもとでは各プロセッサエレメント15毎に番号を付
し、フラグを生成する処理は困難である課題があった。
However, under SIMD control, it is difficult to assign a number to each processor element 15 and generate a flag.

【0023】また、前述したように、隣接したプロセッ
サエレメント15間のデータの授受において、左右両端
のプロセッサエレメント15は、外側からデータを得る
ことができない。そこで、この場合における入力データ
として、0または1を固定しておくと、両端のプロセッ
サエレメントのDCゲインが変動してしまう。そのた
め、両端のプロセッサエレメント15のデータを繰り返
して入力するなどの処理などが考えられる。しかしなが
ら、その分の処理を必要とし、プログラムのステップが
増加する課題があった。
Also, as described above, in the transfer of data between adjacent processor elements 15, the processor elements 15 at the left and right ends cannot obtain data from outside. Therefore, if 0 or 1 is fixed as input data in this case, the DC gains of the processor elements at both ends fluctuate. Therefore, processing such as repeatedly inputting the data of the processor elements 15 at both ends can be considered. However, there is a problem that the processing is required for that and the number of steps of the program is increased.

【0024】本発明は、このような状況に鑑みてなされ
たものであり、データ演算装置の処理を容易にすること
を目的とする。
The present invention has been made in view of such circumstances, and has as its object to facilitate the processing of a data processing device.

【0025】[0025]

【課題を解決するための手段】請求項1に記載のデータ
演算装置は、各プロセッサエレメントの動作を制御する
制御手段と、N個のプロセッサエレメントのうちの、第
1番目または第N番目のプロセッサエレメントの記憶手
段のデータと、数値0および数値1が供給され、制御手
段による制御に対応して、そのいずれかを選択する選択
手段とを備え、制御手段は、各プロセッサエレメントが
隣接したプロセッサエレメントの記憶手段からデータを
読み出す場合に、第1番目または第N番目のプロセッサ
エレメントが選択手段によって選択されたデータを読み
出すように制御することを特徴とする。
According to a first aspect of the present invention, there is provided a data processing apparatus comprising: a control unit for controlling an operation of each processor element; and a first or Nth processor among the N processor elements. The data of the element storage means and the numerical value 0 and the numerical value 1 are supplied, and there is provided a selection means for selecting one of them in accordance with the control by the control means. When reading data from the storage means, the first or Nth processor element is controlled to read the data selected by the selection means.

【0026】請求項3に記載のデータ演算方法は、各プ
ロセッサエレメントの動作を制御する制御ステップと、
N個のプロセッサエレメントのうちの、第1番目または
第N番目のプロセッサエレメントの記憶手段のデータ
と、数値0および数値1が入力され、制御ステップにお
ける制御に対応して、そのいずれかを選択する選択ステ
ップとを備え、各プロセッサエレメントが隣接したプロ
セッサエレメントの記憶手段からデータを読み出す場合
に、第1番目または第N番目のプロセッサエレメントが
選択ステップで選択されたデータを読み出すように制御
することを特徴とする。
[0026] According to a third aspect of the present invention, in the data operation method, a control step of controlling an operation of each processor element;
Of the N processor elements, the data of the storage means of the first or Nth processor element, the numerical value 0 and the numerical value 1 are input, and one of them is selected according to the control in the control step. And selecting a first or Nth processor element to read the data selected in the selecting step when each processor element reads data from storage means of an adjacent processor element. Features.

【0027】請求項4に記載の伝送媒体は、各プロセッ
サエレメントの動作を制御する制御ステップと、N個の
プロセッサエレメントのうちの、第1番目または第N番
目のプロセッサエレメントの記憶手段のデータと、数値
0および数値1が入力され、制御ステップにおける制御
に対応して、そのいずれかを選択する選択ステップとを
有するコンピュータプログラムを伝送することを特徴と
する。
According to a fourth aspect of the present invention, there is provided the transmission medium, wherein the control step controls the operation of each processor element, and the data stored in the storage means of the first or Nth processor element among the N processor elements. , A numerical value 0 and a numerical value 1 are inputted, and a computer program having a selection step of selecting one of them in response to the control in the control step is transmitted.

【0028】請求項1に記載のデータ演算装置、請求項
3に記載のデータ演算方法、および請求項4に記載の伝
送媒体においては、N個のプロセッサエレメントのうち
の、第1番目または第N番目のプロセッサエレメントの
記憶手段のデータと、数値0および数値1のいずれかが
選択される。そして、各プロセッサエレメントが隣接し
たプロセッサエレメントに記憶されているデータを読み
出す場合に、第1番目または第N番目のプロセッサエレ
メントが選択されたデータを読み出すように制御する。
例えば、各プロセッサエレメントが左隣のプロセッサエ
レメントの記憶手段からデータを読み出すときに、第1
番目のプロセッサエレメントは、選択された数値0を読
み出すことができる。
[0028] In the data operation device according to the first aspect, the data operation method according to the third aspect, and the transmission medium according to the fourth aspect, the first or Nth one of the N processor elements is provided. The data of the storage means of the third processor element and one of the numerical values 0 and 1 are selected. Then, when each processor element reads data stored in an adjacent processor element, control is performed so that the first or Nth processor element reads the selected data.
For example, when each processor element reads data from the storage means of the processor element on the left, the first
The third processor element can read the selected value 0.

【0029】[0029]

【発明の実施の形態】以下に本発明の実施の形態を説明
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。但
し勿論この記載は、各手段を記載したものに限定するこ
とを意味するものではない。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below. In order to clarify the correspondence between each means of the invention described in the claims and the following embodiments, each means is described. When the features of the present invention are described by adding the corresponding embodiment (however, an example) in parentheses after the parentheses, the result is as follows. However, of course, this description does not mean that each means is limited to those described.

【0030】請求項1に記載のデータ演算装置は、各プ
ロセッサエレメントの動作を制御する制御手段(例え
ば、図1のプログラム制御回路17)と、N個のプロセ
ッサエレメントのうちの、第1番目または第N番目のプ
ロセッサエレメントの記憶手段のデータと、数値0およ
び数値1が入力され、制御手段による制御に対応して、
そのいずれかを選択する選択手段(例えば、図1のセレ
クタ60A、60B)とを備え、制御手段は、各プロセ
ッサエレメントが隣接したプロセッサエレメントの記憶
手段からデータを読み出す場合に、第1番目または第N
番目のプロセッサエレメントが選択手段によって選択さ
れたデータを読み出すように制御することを特徴とす
る。
According to the first aspect of the present invention, there is provided a data processing device comprising: a control unit (for example, the program control circuit 17 in FIG. 1) for controlling the operation of each processor element; The data of the storage means of the N-th processor element, the numerical value 0 and the numerical value 1 are inputted,
Selecting means (for example, selectors 60A and 60B in FIG. 1) for selecting any one of them, and the control means, when each processor element reads data from the storage means of the adjacent processor element, selects the first or second data. N
The processor element is controlled to read out the data selected by the selection means.

【0031】図1は、本発明のデータ演算装置の一構成
例を示すブロック図であり、図12に示した場合と対応
する部分には同一の符号が付されており、その説明は適
宜省略する。この構成例において、データ演算装置は、
N個のプロセッサエレメント15により構成されてい
る。図の左端のプロセッサエレメント15を第1番目と
し、右端のプロセッサエレメント15を第N番目とする
と、セレクタ60Aは、第1番目のプロセッサエレメン
ト15に対して設置され、セレクタ60Bは、第N番目
のプロセッサエレメント15に対して設置されている。
このセレクタ60Aおよびセレクタ60Bの詳細な説明
は、図2および図3を用いて後述する。その他の構成
は、図12における場合と同様である。
FIG. 1 is a block diagram showing an example of the configuration of a data processing device according to the present invention. In the drawing, portions corresponding to those shown in FIG. 12 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. I do. In this configuration example, the data operation device includes:
It is composed of N processor elements 15. Assuming that the leftmost processor element 15 is the first processor element and the rightmost processor element 15 is the Nth processor, the selector 60A is provided for the first processor element 15 and the selector 60B is the Nth processor element. It is provided for the processor element 15.
The detailed description of the selector 60A and the selector 60B will be described later with reference to FIGS. Other configurations are the same as those in FIG.

【0032】次に、図1のデータ演算装置の動作につい
て説明する。入力データ(1画素分の画像データ)は、
プログラム制御回路17からの制御信号により、入力シ
リアルアクセスメモリ11に供給される。このデータ
は、第1番目のプロセッサエレメント15から第N番目
のプロセッサエレメント15に向けて順次移動するの
で、入力データは、第1番目のプロセッサエレメント1
5の入力シリアルアクセスメモリ11のセルから、第N
番目のプロセッサエレメント15の入力シリアルアクセ
スメモリ11のセルに順次供給される。このような入力
動作は、水平走査期間毎に繰り返される。
Next, the operation of the data processing device shown in FIG. 1 will be described. The input data (image data for one pixel)
It is supplied to the input serial access memory 11 by a control signal from the program control circuit 17. Since this data sequentially moves from the first processor element 15 to the Nth processor element 15, the input data is the first processor element 1
5 from the cell of the input serial access memory 11
The input is sequentially supplied to the cells of the input serial access memory 11 of the processor element 15. Such an input operation is repeated every horizontal scanning period.

【0033】プログラム制御回路17は、このようにし
て画像信号の1水平走査期間分のデータが入力シリアル
アクセスメモリ11に蓄積されるごとに、プログラムメ
モリ18に格納されているプログラムに従って入力シリ
アルアクセスメモリ11、データメモリ12、演算回路
13、および出力シリアルアクセスメモリ14を以下の
ようにSIMD制御して処理を実行する。この処理はSIMD制
御であるから、以下の動作は、全プロセッサエレメント
15において並列して同様に実行される。
Each time data for one horizontal scanning period of an image signal is accumulated in the input serial access memory 11 in this manner, the program control circuit 17 operates according to the program stored in the program memory 18. 11, the data memory 12, the arithmetic circuit 13, and the output serial access memory 14 are subjected to SIMD control as follows to execute processing. Since this processing is SIMD control, the following operations are similarly executed in parallel in all processor elements 15.

【0034】入力シリアルアクセスメモリ11に蓄積さ
れた1水平走査期間分の入力データは、次の水平走査帰
線期間において、必要に応じて入力シリアルアクセスメ
モリ11からデータメモリ12へ転送される。プログラ
ム制御回路17は、プログラムに応じて、各プロセッサ
エレメント15の要素演算回路16に、各々のデータメ
モリ12に保持されているデータを供給する。そのデー
タに対して算術演算あるいは論理演算を行わせる。そし
て、その演算結果は、データメモリ12の所定のアドレ
スに書き込まれる。
The input data for one horizontal scanning period stored in the input serial access memory 11 is transferred from the input serial access memory 11 to the data memory 12 as needed in the next horizontal scanning retrace period. The program control circuit 17 supplies the data held in each data memory 12 to the element operation circuit 16 of each processor element 15 according to the program. An arithmetic operation or a logical operation is performed on the data. Then, the operation result is written to a predetermined address of the data memory 12.

【0035】ここで、図2は、N個のプロセッサエレメ
ント15の、データメモリ12ー1乃至12ーNおよび要
素演算回路16ー1乃至16ーNの一構成例を示してい
る。データメモリ12-1乃至12ーNと、各要素演算回
路16ー1乃至16ーNとの間に設けられているセレクタ
70ー1乃至70ーN、およびセレクタ71ー1乃至71ー
Nは、自分自身に対応するものと、左右に隣接している
ものとを含め、合計3つのプロセッサエレメント15の
データメモリ12のデータが入力されており、図1のプ
ログラム制御回路17の制御によって、そのうちの1つ
を選択して、各要素演算回路16に供給するようになさ
れている。
FIG. 2 shows a configuration example of the data memories 12-1 to 12-N and the element operation circuits 16-1 to 16-N of the N processor elements 15. The selectors 70-1 to 70-N and the selectors 71-1 to 71-N provided between the data memories 12-1 to 12-N and the respective element operation circuits 16-1 to 16-N include: The data of the data memory 12 of the three processor elements 15 including the one corresponding to itself and the one adjacent to the right and left is input, and the data is controlled by the program control circuit 17 in FIG. One is selected and supplied to each element operation circuit 16.

【0036】ここで、N個のプロセッサエレメント15
のうち、第1番目のプロセッサエレメント15および第
N番目のプロセッサエレメント15は、隣接しているプ
ロセッサエレメント15が、片側にしか存在していな
い。そのため他方からの入力として、第1番目のプロセ
ッサエレメント15のセレクタ70ー1およびセレクタ
71ー1には、セレクタ60Aが接続されており、第N
番目のプロセッサエレメント15のセレクタ70ーNお
よびセレクタ71ーNには、セレクタ60Bが接続され
ている。このようにすることにより、例えば、各プロセ
ッサエレメント15が、左側に隣接しているプロセッサ
エレメント15のデータメモリ12のデータを読み出す
ように制御された場合に、第1番目のプロセッサエレメ
ント15は、セレクタ60Aからデータを読み出すよう
にできる。
Here, the N processor elements 15
Among them, the first processor element 15 and the N-th processor element 15 have adjacent processor elements 15 on only one side. Therefore, as an input from the other, the selector 60A is connected to the selector 70-1 and the selector 71-1 of the first processor element 15, and the Nth
The selector 60B is connected to the selector 70-N and the selector 71-N of the processor element 15. By doing so, for example, when each processor element 15 is controlled to read data from the data memory 12 of the processor element 15 adjacent on the left side, the first processor element 15 Data can be read from 60A.

【0037】セレクタ60Aには、数値0、数値1、お
よびデータメモリ12ー1のデータが入力されており、
図1のプログラム制御回路17の制御により、そのうち
の1つが選択され、セレクタ70ー1およびセレクタ7
1ー1に供給される。セレクタ60Bには、数値0、数
値1、およびデータメモリ12ーNのデータが入力され
ており、セレクタ60Aと同様に制御される。例えば、
第1番目のプロセッサエレメント15および第N番目の
プロセッサエレメント15において、同一データを繰り
返し用いて演算を行う場合に、セレクタ60Aおよびセ
レクタ60Bに同一データを再入力しておき、次の演算
に用いることができる。
A numerical value 0, a numerical value 1, and data of the data memory 12-1 are input to the selector 60A.
One of them is selected under the control of the program control circuit 17 of FIG.
1-1. A numerical value 0, a numerical value 1, and data of the data memory 12-N are input to the selector 60B, and are controlled in the same manner as the selector 60A. For example,
When the first processor element 15 and the N-th processor element 15 repeatedly perform the operation by using the same data, the same data is re-input to the selectors 60A and 60B and used for the next operation. Can be.

【0038】図3は、第1番目のプロセッサエレメント
15のデータメモリ12ー1および要素演算回路16ー1
の一構成例を示しており、図13に示した場合と対応す
る部分には同一の符号が付してあり、その説明は適宜省
略する。この構成例において、セレクタ70ー1および
セレクタ71ー1には、データメモリ12ー1のデータ、
右側に隣接しているプロセッサエレメント15(図示せ
ず)のデータ、およびセレクタ60Aのデータが入力さ
れている。セレクタ70ー1およびセレクタ71ー1にお
いて選択されたデータは、要素演算回路16ー1に供給
され、他のプロセッサエレメント15の要素演算回路1
6と共通した制御により演算が行われる。
FIG. 3 shows the data memory 12-1 and the element operation circuit 16-1 of the first processor element 15.
The same reference numerals are given to portions corresponding to the case shown in FIG. 13, and the description thereof will be omitted as appropriate. In this configuration example, the selector 70-1 and the selector 71-1 have data of the data memory 12-1 and
The data of the processor element 15 (not shown) adjacent to the right side and the data of the selector 60A are input. The data selected by the selector 70-1 and the selector 71-1 is supplied to the element operation circuit 16-1 and the element operation circuit 1 of the other processor element 15
The calculation is performed by the control common to that of FIG.

【0039】ところで、各プロセッサエレメント15に
おいて異なる処理を行う場合は、選択される可能性のあ
る全ての処理を、あらかじめ全プロセッサエレメント1
5に実行させ、それぞれの結果を、各プロセッサエレメ
ント15のデータメモリ12に格納しておき、あらかじ
め生成されたフラグをレジスタ84に保持し、このフラ
グによって、各プロセッサエレメント15のデータメモ
リ12に格納されている演算結果の中から所定のものを
選択し出力する。
When different processing is performed in each processor element 15, all processing that may be selected is performed in advance for all processor elements 1.
5 is executed, the respective results are stored in the data memory 12 of each processor element 15, and a flag generated in advance is stored in the register 84, and stored in the data memory 12 of each processor element 15 by this flag. A predetermined result is selected from the calculated results and output.

【0040】さらに、各プロセッサエレメント15毎
に、異なる係数を用いて演算を行う場合においても、同
様に、選択される可能性のある係数を生成し、データメ
モリ12に格納しておき、フラグによって選択された係
数を用いて演算を行う。このフラグおよび係数が、外部
で生成され、供給される場合は、入力シリアルアクセス
メモリ11から取り込み、データメモリ12に格納して
おき、適宜読み出して用いるようにしてもよい。本発明
のデータ演算装置においては、プログラムメモリ18の
プログラムに基づいて、プログラム制御回路17がデー
タ演算装置を制御することにより、フラグおよび係数を
生成するものとする。
Further, even when the calculation is performed using a different coefficient for each processor element 15, similarly, a coefficient that may be selected is generated, stored in the data memory 12, and set by a flag. An operation is performed using the selected coefficient. When these flags and coefficients are generated and supplied externally, they may be taken from the input serial access memory 11, stored in the data memory 12, read out as appropriate, and used. In the data operation device of the present invention, the program control circuit 17 controls the data operation device based on the program in the program memory 18 to generate flags and coefficients.

【0041】図4は、各プロセッサエレメント15に、
第1番目のプロセッサエレメント15を区別するフラグ
を与える場合の処理を説明するフローチャートである。
まず、ステップS101において、プログラム制御回路
17は、各プロセッサエレメント15のデータメモリ1
2に、作業用アドレスを確保する。続いて、ステップS
102において、プログラム制御回路17は、各プロセ
ッサエレメント15のデータメモリ12の作業用アドレ
スに、数値1を格納する。
FIG. 4 shows that each processor element 15 has
10 is a flowchart illustrating a process when a flag for distinguishing the first processor element 15 is given.
First, in step S101, the program control circuit 17 sends the data memory 1 of each processor element 15
Second, a work address is secured. Then, step S
At 102, the program control circuit 17 stores the numerical value 1 in the working address of the data memory 12 of each processor element 15.

【0042】ステップS103において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
(データ)を読み出すように制御された場合に、セレク
タ60Aが、数値0を選択して出力するように設定す
る。そして、ステップS104では、プログラム制御回
路17は、各プロセッサエレメント15が、左隣のプロ
セッサエレメント15のデータメモリ12の作業アドレ
スに格納されている数値を読み出すように制御する。こ
のとき、ステップS103における設定に対応して、第
1番目のプロセッサエレメント15は、セレクタ60A
から数値0を読み出す。
In step S103, when each processor element 15 is controlled to read a numerical value (data) from the data memory 12 of the processor element 15 on the left side, the program control circuit 17 determines that the selector 60A has a numerical value of 0. And select to output. Then, in step S104, the program control circuit 17 controls each processor element 15 to read the numerical value stored in the work address of the data memory 12 of the processor element 15 on the left. At this time, in response to the setting in step S103, the first processor element 15 selects the selector 60A
Read the value 0 from.

【0043】ステップS105において、プログラム制
御回路17は、各プロセッサエレメント15が読みだし
た数値を、フラグとしてデータメモリ12の作業用アド
レスに格納する。これにより、結果として、第1番目の
プロセッサエレメント15のみ、フラグとして数値0が
与えられ、他のプロセッサエレメント15は、フラグと
して数値1が与えられたことになる。
In step S105, the program control circuit 17 stores the numerical value read by each processor element 15 as a flag in the working address of the data memory 12. As a result, only the first processor element 15 is given the numerical value 0 as a flag, and the other processor elements 15 are given the numerical value 1 as a flag.

【0044】図5は、さらに、図4に示した処理を応用
して、各プロセッサエレメント15に、任意のプロセッ
サエレメント15を区別するフラグを与える場合の処理
を説明するフローチャートである。なお、この処理は、
図4の処理に継続して行われるものとする。ステップS
201において、プログラム制御回路17は、各プロセ
ッサエレメント15のデータメモリ12の作業用アドレ
スに格納されている数値を反転する。
FIG. 5 is a flowchart for explaining a process in which a flag for distinguishing an arbitrary processor element 15 is given to each processor element 15 by applying the process shown in FIG. Note that this process
It is assumed that the processing is continued from the processing in FIG. Step S
In 201, the program control circuit 17 inverts the numerical value stored in the working address of the data memory 12 of each processor element 15.

【0045】次に、ステップS202において、プログ
ラム制御回路17は、各プロセッサエレメント15が、
左隣のプロセッサエレメント15のデータメモリ12の
作業用アドレスに格納されている数値を読み出すように
制御する。続いて、ステップS203において、プログ
ラム制御回路17は、各プロセッサエレメント15が読
み出した数値を、データメモリ12の作業用アドレスに
格納する。
Next, in step S202, the program control circuit 17 determines that each processor element 15
Control is performed so that the numerical value stored in the work address of the data memory 12 of the processor element 15 on the left side is read. Subsequently, in step S203, the program control circuit 17 stores the numerical value read by each processor element 15 in the working address of the data memory 12.

【0046】ステップS204では、プログラム制御回
路17は、ステップS202およびステップS203の
処理がL回行われたか否かを判定する。プログラム制御
回路17は、処理がL回行われていないと判定した場合
は、ステップS202に戻り、処理がL回行われたと判
定した場合は、ステップS205に進む。
In step S204, the program control circuit 17 determines whether or not the processing in steps S202 and S203 has been performed L times. If the program control circuit 17 determines that the process has not been performed L times, the process returns to step S202, and if it determines that the process has been performed L times, the process proceeds to step S205.

【0047】ステップS205において、プログラム制
御回路17は、各プロセッサエレメント15のデータメ
モリ12に最終的に格納されている数値を、フラグとす
る。このような制御によって、第(L+1)番目のプロ
セッサエレメント15のみ、フラグとして数値1を得、
その他のプロセッサエレメント15は、フラグとして数
値0を得ることになる。即ち、第50番目のプロセッサ
エレメント15にフラグとして数値1を与えたい場合
は、この処理において、L=49すればよいことにな
る。
In step S205, the program control circuit 17 sets a numerical value finally stored in the data memory 12 of each processor element 15 as a flag. By such control, only the (L + 1) -th processor element 15 obtains a numerical value 1 as a flag,
The other processor elements 15 obtain the numerical value 0 as the flag. That is, when it is desired to give the 50th processor element 15 a numerical value of 1 as a flag, it is sufficient to set L = 49 in this processing.

【0048】また、図6と図7は、各プロセッサエレメ
ント15に、任意のプロセッサエレメント15を区別す
るフラグを与える場合の、他の処理を説明するフローチ
ャートである。まず、ステップS301において、プロ
グラム制御回路17は、各プロセッサエレメント15の
データメモリ12に、作業用アドレスを確保する。次
に、ステップS302において、プログラム制御回路1
7は、各プロセッサエレメント15のデータメモリ12
の作業用アドレスに、数値1を格納する。
FIGS. 6 and 7 are flowcharts for explaining other processing when a flag for distinguishing an arbitrary processor element 15 is given to each processor element 15. First, in step S301, the program control circuit 17 secures a working address in the data memory 12 of each processor element 15. Next, in step S302, the program control circuit 1
7 is a data memory 12 of each processor element 15
The numerical value 1 is stored in the work address.

【0049】ステップS303において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
を読み出すように制御された場合に、セレクタ60A
が、数値0を選択して出力するように設定する。そし
て、ステップS304では、プログラム制御回路17
は、各プロセッサエレメント15が、左隣のプロセッサ
エレメント15のデータメモリ12の作業用アドレスか
ら数値を読み出すように制御する。
In step S303, when each processor element 15 is controlled to read a numerical value from the data memory 12 of the processor element 15 on the left, the program control circuit 17 selects the selector 60A.
Is set to select and output the numerical value 0. Then, in step S304, the program control circuit 17
Controls each processor element 15 to read a numerical value from the working address in the data memory 12 of the processor element 15 on the left side.

【0050】ステップS305において、プログラム制
御回路17は、各プロセッサエレメント15が読みだし
た数値を、データメモリ12の作業アドレスに格納す
る。続いて、ステップS306に進み、プログラム制御
回路17は、各プロセッサエレメント15が、左隣のプ
ロセッサエレメント15のデータメモリ12から数値を
読み出すように制御された場合に、セレクタ60Aが、
数値1を選択して出力するように設定する。
In step S 305, the program control circuit 17 stores the numerical value read by each processor element 15 in the work address of the data memory 12. Subsequently, proceeding to step S306, when the program control circuit 17 controls each processor element 15 to read a numerical value from the data memory 12 of the processor element 15 on the left side, the selector 60A
Set to select and output the numerical value 1.

【0051】そして、ステップS304において、プロ
グラム制御回路17は、各プロセッサエレメント15
が、左隣のプロセッサエレメント15のデータメモリ1
2の作業用アドレスに格納されている数値を読み出すよ
うに制御する。このとき、第1番目のプロセッサエレメ
ント15は、セレクタ60Aから、数値1を読み出す。
Then, in step S304, the program control circuit 17
Is the data memory 1 of the processor element 15 on the left.
Control is performed so that the numerical value stored in the work address 2 is read. At this time, the first processor element 15 reads the numerical value 1 from the selector 60A.

【0052】ステップS305において、プログラム制
御回路17は、各プロセッサエレメント15が読みだし
た数値を、データメモリ12の作業用アドレスに格納す
る。次にステップS306に進み、プログラム制御回路
17は、各プロセッサエレメント15が、左隣のプロセ
ッサエレメント15のデータメモリ12から数値を読み
出すように制御された場合に、セレクタ60Aが、数値
1を選択して出力するように設定する。
In step S 305, the program control circuit 17 stores the numerical value read by each processor element 15 in the working address of the data memory 12. Next, proceeding to step S306, the program control circuit 17 causes the selector 60A to select the numerical value 1 when each processor element 15 is controlled to read a numerical value from the data memory 12 of the processor element 15 on the left. Set to output.

【0053】ステップS307において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。そして、ステップS308では、プログラム制御回
路17は、各プロセッサエレメント15が読みだした数
値を、作業用アドレスに格納する。
In step S307, the program control circuit 17 controls each processor element 15 to read the numerical value stored in the working address of the data memory 12 of the processor element 15 on the left. Then, in step S308, the program control circuit 17 stores the numerical value read by each processor element 15 in the work address.

【0054】ステップS309では、プログラム制御回
路17は、ステップS307およびステップS308の
処理がL回行われたか否かを判定する。プログラム制御
回路17は、処理がL回行われていないと判定した場合
は、ステップS307に戻り、処理がL回行われたと判
定した場合は、ステップS310に進む。
In step S309, the program control circuit 17 determines whether or not the processing in steps S307 and S308 has been performed L times. When the program control circuit 17 determines that the process has not been performed L times, the process returns to step S307, and when it determines that the process has been performed L times, the process proceeds to step S310.

【0055】ステップS310において、プログラム制
御回路17は、各プロセッサエレメント15のデータメ
モリ12の作業用アドレスに最終的に格納されている数
値をフラグとする。これにより、任意のプロセッサエレ
メント15に、フラグとして数値0が生成され、他のプ
ロセッサエレメント15に、フラグとして数値1を与え
ることができる。
In step S310, the program control circuit 17 sets the numerical value finally stored in the work address of the data memory 12 of each processor element 15 as a flag. As a result, a numerical value 0 is generated as a flag in an arbitrary processor element 15 and a numerical value 1 can be given to another processor element 15 as a flag.

【0056】図8と図9は、各プロセッサエレメント1
5に、任意のプロセッサエレメント15を区別するフラ
グを与える場合の、さらに他の処理を説明するフローチ
ャートである。まず、ステップS401において、プロ
グラム制御回路17は、各プロセッサエレメント15の
データメモリ12に、作業用アドレスを確保する。続い
てステップS402において、プログラム制御回路17
は、各プロセッサエレメント15のデータメモリ12の
作業用アドレスに、数値1を格納する。
FIGS. 8 and 9 show each processor element 1.
5 is a flowchart for explaining still another process when a flag for discriminating an arbitrary processor element 15 is given to 5. First, in step S401, the program control circuit 17 secures a working address in the data memory 12 of each processor element 15. Subsequently, in step S402, the program control circuit 17
Stores a numerical value 1 in a work address of the data memory 12 of each processor element 15.

【0057】ステップS403において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
を読み出すように制御された場合に、セレクタ60A
が、数値0を選択して出力するように設定する。
In step S403, when each processor element 15 is controlled to read a numerical value from the data memory 12 of the processor element 15 on the left, the program control circuit 17 selects the selector 60A.
Is set to select and output the numerical value 0.

【0058】ステップS404において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスから数値を読み出すように制御する。そして、
ステップS405では、プログラム制御回路17は、各
プロセッサエレメント15が読みだした数値を、データ
メモリ12の作業用アドレスに格納する。
In step S404, the program control circuit 17 controls each processor element 15 to read a numerical value from the working address of the data memory 12 of the processor element 15 on the left. And
In step S405, the program control circuit 17 stores the numerical value read by each processor element 15 in the working address of the data memory 12.

【0059】ステップS406では、プログラム制御回
路17は、ステップS404およびステップS405の
処理がL−1回行われたか否かを判定する。プログラム
制御回路17は、処理がL−1回行われていないと判定
した場合は、ステップS404に戻り、処理がL−1回
行われたと判定した場合は、ステップS407に進む。
In step S406, the program control circuit 17 determines whether the processing in steps S404 and S405 has been performed L-1 times. When the program control circuit 17 determines that the process has not been performed L−1 times, the process returns to step S404, and when it determines that the process has been performed L−1 times, the process proceeds to step S407.

【0060】ステップS407において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。そして、ステップS408では、プログラム制御回
路17は、各プロセッサエレメント15が読みだした数
値と、データメモリ12の作業用アドレスに格納されて
いる数値との間で、排他的論理和演算を行う。続いてス
テップS409では、プログラム制御回路17は、演算
の結果得られた数値を、フラグとしてデータメモリ12
の作業用アドレスに格納する。これにより、第L番目の
プロセッサエレメント15にフラグとして数値1が与え
られ、他のプロセッサエレメント15には、フラグとし
て数値0が与えられることになる。
In step S407, the program control circuit 17 controls each processor element 15 to read the numerical value stored in the working address of the data memory 12 of the processor element 15 on the left. Then, in step S408, the program control circuit 17 performs an exclusive OR operation between the numerical value read by each processor element 15 and the numerical value stored in the work address of the data memory 12. Subsequently, in step S409, the program control circuit 17 uses the numerical value obtained as a result of the calculation as a flag in the data memory 12
At the work address. As a result, the value 1 is given to the L-th processor element 15 as a flag, and the value 0 is given to other processor elements 15 as flags.

【0061】次に、図10は、各プロセッサエレメント
15に番号を付する処理を説明するフローチャートであ
る。まず、ステップS501において、プログラム制御
回路17は、各プロセッサエレメント15のデータメモ
リ12に、作業用アドレスを確保する。次にステップS
502では、プログラム制御回路17は、各プロセッサ
エレメント15が、左隣のプロセッサエレメント15の
データメモリ12から数値を読み出すように制御された
場合に、セレクタ60Aが、数値0を選択して出力する
ように設定する。
Next, FIG. 10 is a flowchart for explaining the process of numbering each processor element 15. First, in step S501, the program control circuit 17 secures a working address in the data memory 12 of each processor element 15. Next, step S
In 502, the program control circuit 17 causes the selector 60A to select and output the numerical value 0 when each processor element 15 is controlled to read a numerical value from the data memory 12 of the processor element 15 on the left. Set to.

【0062】ステップS503において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。次に、ステップS504において、プログラム制御
回路17は、各プロセッサエレメント15が読みだした
数値に1を加算し、データメモリ12の作業用アドレス
に格納する。
In step S503, the program control circuit 17 controls each processor element 15 to read the numerical value stored in the working address of the data memory 12 of the processor element 15 on the left. Next, in step S504, the program control circuit 17 adds 1 to the numerical value read by each processor element 15 and stores the result in the working address of the data memory 12.

【0063】ステップS505において、プログラム制
御回路17は、ステップS503およびS504の処理
がN回行われたか否かを判定する。プログラム制御回路
17は、ステップS503およびS504の処理がN回
行われていないと判定した場合は、ステップS503に
戻り、ステップS503およびS504の処理がN回行
われたと判定した場合は、処理を終了する。これによ
り、第1番目乃至第N番目のプロセッサエレメント15
まで、順に、1乃至Nまでの番号を付することができ
る。
In step S505, the program control circuit 17 determines whether or not the processing in steps S503 and S504 has been performed N times. If the program control circuit 17 determines that the processing in steps S503 and S504 has not been performed N times, the program control circuit 17 returns to step S503. If it determines that the processing in steps S503 and S504 has been performed N times, the processing ends. I do. As a result, the first to Nth processor elements 15
, Numbers from 1 to N can be assigned in order.

【0064】ここで、図10のフローチャートにおける
処理において、1を加算する処理を、所定の数値Hを加
算するようにすれば、係数として、所定の数値Hの等差
数値を各プロセッサエレメントに生成することができ
る。また、加算ではなく、減算してもよい。
Here, in the processing in the flowchart of FIG. 10, if the process of adding 1 is to add a predetermined numerical value H, an arithmetic difference value of the predetermined numerical value H is generated as a coefficient in each processor element. can do. Further, instead of addition, subtraction may be performed.

【0065】さらに、図11は、各プロセッサエレメン
ト15に、所定の数値の剰余系を与える処理を説明する
フローチャートである。まず、ステップS601におい
て、プログラム制御回路17は、各プロセッサエレメン
ト15のデータメモリ12に、作業用アドレスを確保す
る。続いて、ステップS602において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
を読み出すように制御された場合に、セレクタ60A
が、数値0を選択して出力するように設定する。
FIG. 11 is a flow chart for explaining a process of giving each processor element 15 a modulo system of a predetermined numerical value. First, in step S601, the program control circuit 17 secures a working address in the data memory 12 of each processor element 15. Subsequently, in step S602, when each processor element 15 is controlled to read a numerical value from the data memory 12 of the processor element 15 on the left side, the program control circuit 17 selects the selector 60A.
Is set to select and output the numerical value 0.

【0066】ステップS603において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。そして、ステップS604では、プログラム制御回
路17は、各プロセッサエレメント15が読みだした数
値に1を加算して得られた数値が、所定の数値Mに等し
いか否かを判定し、プログラム制御回路17が、読み出
された数値と、所定の数値Mが等しいと判定した場合
は、ステップS605に進み、読み出された数値と、所
定の数値Mが等しくないと判定した場合は、ステップS
606に進む。
In step S603, the program control circuit 17 controls each processor element 15 to read the numerical value stored in the working address of the data memory 12 of the processor element 15 on the left. Then, in step S604, the program control circuit 17 determines whether or not a numerical value obtained by adding 1 to the numerical value read by each processor element 15 is equal to a predetermined numerical value M. If it is determined that the read numerical value is equal to the predetermined numerical value M, the process proceeds to step S605. If it is determined that the read numerical value is not equal to the predetermined numerical value M, the process proceeds to step S605.
Proceed to 606.

【0067】ステップS605において、プログラム制
御回路17は、データメモリ12の作業用アドレスに数
値0を格納する。一方、ステップS606においては、
プログラム制御回路17は、読み出された数値に1を加
算して得られた数値を、データメモリ12の作業用アド
レスに格納する。
In step S605, the program control circuit 17 stores the numerical value 0 in the working address of the data memory 12. On the other hand, in step S606,
The program control circuit 17 stores a numerical value obtained by adding 1 to the read numerical value in a work address of the data memory 12.

【0068】ステップS607において、プログラム制
御回路17は、ステップS603乃至ステップS606
の処理が、L回行われたか否かを判定する。ステップS
603乃至ステップS606の処理が、L回行われてい
ないと判定した場合は、ステップS603に戻り、ステ
ップS603乃至ステップS606の処理が、L回行わ
れたと判定した場合は、処理を終了する。これにより、
各プロセッサエレメントに、所定の数値Mのmod(modul
o:剰余系)を与えることができる。
In step S607, the program control circuit 17 executes steps S603 to S606.
Is determined L times. Step S
If it is determined that the processing of Steps 603 to S606 has not been performed L times, the process returns to Step S603. If it is determined that the processing of Steps S603 to S606 has been performed L times, the processing ends. This allows
A mod (modul) of a predetermined numerical value M is assigned to each processor element.
o: remainder system).

【0069】以上の説明において、各プロセッサエレメ
ントが、左隣のプロセッサエレメント15のデータメモ
リ12から数値を読み出す場合を示したが、各プロセッ
サエレメント15が、右隣のプロセッサエレメント15
のデータメモリ12から数値を読み出す処理を行う場合
は、第N番目のプロセッサエレメント15が、セレクタ
60Bから数値を読み出すようにする。
In the above description, the case where each processor element reads a numerical value from the data memory 12 of the processor element 15 on the left side has been described.
When performing the process of reading a numerical value from the data memory 12, the Nth processor element 15 reads the numerical value from the selector 60B.

【0070】[0070]

【発明の効果】以上の如く、請求項1に記載のデータ演
算装置、請求項3に記載のデータ演算方法、および請求
項4に記載の伝送媒体によれば、各プロセッサエレメン
トの動作に対応して、N個のプロセッサエレメントのう
ちの第1番目のプロセッサエレメントおよび第N番目の
プロセッサエレメントが読み出すデータを、選択して出
力させるようにしたので、複雑な処理を必要とせずに、
各プロセッサエレメントに異なる情報を与えることがで
きる。また、画像信号の画素データの繰り返し処理を容
易に行うことができる。
As described above, according to the data operation device according to the first aspect, the data operation method according to the third aspect, and the transmission medium according to the fourth aspect, the operation of each processor element is supported. The data read by the first processor element and the N-th processor element among the N processor elements is selected and output, so that complicated processing is not required,
Different information can be given to each processor element. Further, it is possible to easily perform the repetition processing of the pixel data of the image signal.

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

【図1】本発明を適用したデータ演算装置の構成例を示
すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of a data processing device to which the present invention has been applied.

【図2】データメモリ12-1乃至12ーNおよび要素演
算回路16ー1乃至16ーNの構成例を示すブロック図で
ある。
FIG. 2 is a block diagram illustrating a configuration example of data memories 12-1 to 12-N and element operation circuits 16-1 to 16-N.

【図3】データメモリ12-1および要素演算回路16ー
1のより詳細な構成例を示すブロック図である。
FIG. 3 is a block diagram showing a more detailed configuration example of a data memory 12-1 and an element operation circuit 16-1.

【図4】各プロセッサエレメント15に、第1番目のプ
ロセッサエレメント15を区別するフラグを与える処理
を説明するフローチャートである。
FIG. 4 is a flowchart illustrating a process of giving a flag for distinguishing a first processor element 15 to each processor element 15;

【図5】各プロセッサエレメント15に、任意のプロセ
ッサエレメント15を区別するフラグを生成する処理を
説明するフローチャートである。
FIG. 5 is a flowchart illustrating a process of generating a flag for distinguishing an arbitrary processor element 15 from each processor element 15;

【図6】各プロセッサエレメント15に、任意のプロセ
ッサエレメント15を区別するフラグを生成する他の処
理を説明するフローチャートである。
FIG. 6 is a flowchart illustrating another process of generating a flag for distinguishing an arbitrary processor element 15 from each processor element 15;

【図7】図6に続くフローチャートである。FIG. 7 is a flowchart following FIG. 6;

【図8】各プロセッサエレメント15に、任意のプロセ
ッサエレメント15を区別するフラグを生成するさらに
他の処理を説明するフローチャートである。
FIG. 8 is a flowchart illustrating still another process of generating a flag for distinguishing an arbitrary processor element 15 from each processor element 15;

【図9】図8に続くフローチャートである。FIG. 9 is a flowchart following FIG. 8;

【図10】各プロセッサエレメント15に、番号を付す
る処理を説明するフローチャートである。
FIG. 10 is a flowchart illustrating a process of assigning a number to each processor element.

【図11】各プロセッサエレメント15に、数値Mの剰
余系を与える処理を説明するフローチャートである。
FIG. 11 is a flowchart illustrating a process of giving a remainder system of a numerical value M to each processor element 15;

【図12】従来のデータ演算装置の構成例を示すブロッ
ク図である。
FIG. 12 is a block diagram illustrating a configuration example of a conventional data operation device.

【図13】図12のデータ演算装置のデータメモリ12
および要素演算回路16のより詳細な構成例を示すブロ
ック図である。
FIG. 13 shows a data memory 12 of the data processing device of FIG.
FIG. 3 is a block diagram showing a more detailed configuration example of an element operation circuit 16.

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

11 シリアルアクセスメモリ, 12 データメモ
リ, 13 演算回路,14 出力シリアルアクセスメ
モリ, 15 プロセッサエレメント, 16要素演算
回路, 17 プログラム制御回路, 18 プログラ
ムメモリ,60A,60B セレクタ
11 serial access memory, 12 data memory, 13 arithmetic circuit, 14 output serial access memory, 15 processor element, 16 element arithmetic circuit, 17 program control circuit, 18 program memory, 60A, 60B selector

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 N個のプロセッサエレメントを有し、 各プロセッサエレメントは、 所定のデータを演算する演算手段と、 前記演算手段に関するデータを記憶する記憶手段とを備
え、 前記各プロセッサエレメントは、隣接した前記プロセッ
サエレメントの前記記憶手段に記憶されているデータを
読み出すことが可能なデータ演算装置において、 前記各プロセッサエレメントの動作を制御する制御手段
と、 N個の前記プロセッサエレメントのうちの、第1番目ま
たは第N番目のプロセッサエレメントの前記記憶手段の
データと、数値0および数値1が供給され、前記制御手
段による制御に対応して、そのいずれかを選択する選択
手段とを備え、 前記制御手段は、前記各プロセッサエレメントが隣接し
た前記プロセッサエレメントの前記記憶手段からデータ
を読み出す場合に、前記第1番目または前記第N番目の
プロセッサエレメントが前記選択手段により選択された
データを読み出すように制御することを特徴とするデー
タ演算装置。
1. Each of the processor elements includes N processor elements, each of the processor elements includes: an operation unit that operates on predetermined data; and a storage unit that stores data relating to the operation unit. A data processing device capable of reading data stored in the storage means of the processor element, wherein the control means controls the operation of each processor element; and a first of the N processor elements Data provided in the storage means of the Nth or Nth processor element and numerical value 0 and numerical value 1 are provided, and in response to control by the control means, there is provided selection means for selecting one of them. Is the storage method of the processor element adjacent to each processor element. Data processing apparatus, characterized in that when reading data, the first second or the N-th processor element is controlled to read out the data selected by said selecting means from.
【請求項2】 前記選択手段は、前記第1番目または前
記第N番目のプロセッサエレメントに対して設置されて
いることを特徴とする請求項1に記載のデータ演算装
置。
2. The data processing device according to claim 1, wherein said selection means is provided for said first or Nth processor element.
【請求項3】 N個のプロセッサエレメントを有し、 各プロセッサエレメントは、 所定のデータを演算する演算手段と、 前記演算手段に関するデータを記憶する記憶手段とを備
え、 前記各プロセッサエレメントは、隣接した前記プロセッ
サエレメントの前記記憶手段に記憶されているデータを
読み出すことが可能なデータ演算装置におけるデータ演
算方法において、 前記各プロセッサエレメントの動作を制御する制御ステ
ップと、 N個の前記プロセッサエレメントのうちの、第1番目ま
たは第N番目のプロセッサエレメントの前記記憶手段の
データと、数値0および数値1が供給され、前記制御ス
テップにおける制御に対応して、そのいずれかを選択す
る選択ステップとを備え、 前記制御ステップは、前記各プロセッサエレメントが隣
接した前記プロセッサエレメントの前記記憶手段からデ
ータを読み出す場合に、前記第1番目または前記第N番
目のプロセッサエレメントが前記選択ステップで選択さ
れたデータを読み出すように制御することを特徴とする
データ演算方法。
3. Each of the processor elements includes N processor elements, each of the processor elements includes: an operation unit that operates on predetermined data; and a storage unit that stores data related to the operation unit. A data operation method in a data operation device capable of reading data stored in said storage means of said processor element, comprising: a control step of controlling an operation of each of said processor elements; The data of the storage means of the first or Nth processor element and the numerical value 0 and the numerical value 1 are supplied, and a selection step of selecting one of them in response to the control in the control step is provided. The control step is such that the processor elements are adjacent to each other. And controlling the first or the Nth processor element to read the data selected in the selection step when reading data from the storage means of the processor element. .
【請求項4】 N個のプロセッサエレメントを有し、 各プロセッサエレメントは、 所定のデータを演算する演算手段と、 前記演算手段に関するデータを記憶する記憶手段とを備
え、 前記各プロセッサエレメントは、隣接した前記プロセッ
サエレメントの前記記憶手段に記憶されているデータを
読み出すことが可能なデータ演算装置を制御するコンピ
ュータプログラムを伝送する伝送媒体において、 前記各プロセッサエレメントの動作を制御する制御ステ
ップと、 N個の前記プロセッサエレメントのうちの、第1番目ま
たは第N番目のプロセッサエレメントの前記記憶手段の
データと、数値0および数値1が供給され、前記制御ス
テップにおける制御に対応して、そのいずれかを選択す
る選択ステップとを有するコンピュータプログラムを伝
送することを特徴とする伝送媒体。
4. Each of the processor elements includes N processor elements, each of the processor elements includes: an operation unit that operates on predetermined data; and a storage unit that stores data related to the operation unit. A transmission medium for transmitting a computer program for controlling a data processing device capable of reading data stored in said storage means of said processor element, wherein a control step of controlling the operation of each processor element; Of the processor element of the first or Nth processor element, and numerical values 0 and 1 are supplied, and one of them is selected according to the control in the control step. Transmitting a computer program having a selecting step A transmission medium characterized by being transmitted.
JP16707697A 1997-06-24 1997-06-24 Data arithmetic unit, method and transmission medium Withdrawn JPH1115801A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16707697A JPH1115801A (en) 1997-06-24 1997-06-24 Data arithmetic unit, method and transmission medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16707697A JPH1115801A (en) 1997-06-24 1997-06-24 Data arithmetic unit, method and transmission medium

Publications (1)

Publication Number Publication Date
JPH1115801A true JPH1115801A (en) 1999-01-22

Family

ID=15842967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16707697A Withdrawn JPH1115801A (en) 1997-06-24 1997-06-24 Data arithmetic unit, method and transmission medium

Country Status (1)

Country Link
JP (1) JPH1115801A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193838A (en) * 2007-04-02 2007-08-02 Ricoh Co Ltd Simd type microprocessor
JP2007206887A (en) * 2006-01-31 2007-08-16 Canon Inc Lsi chip and arithmetic processing system
JP2008519349A (en) * 2004-11-03 2008-06-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Programmable data processing circuit supporting SIMD instructions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008519349A (en) * 2004-11-03 2008-06-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Programmable data processing circuit supporting SIMD instructions
US8856494B2 (en) 2004-11-03 2014-10-07 Intel Corporation SIMD processor for performing data filtering and/or interpolation
JP2007206887A (en) * 2006-01-31 2007-08-16 Canon Inc Lsi chip and arithmetic processing system
JP2007193838A (en) * 2007-04-02 2007-08-02 Ricoh Co Ltd Simd type microprocessor
JP4537420B2 (en) * 2007-04-02 2010-09-01 株式会社リコー SIMD type microprocessor

Similar Documents

Publication Publication Date Title
EP0607988B1 (en) Program controlled processor
JP3251421B2 (en) Semiconductor integrated circuit
EP0169709B1 (en) Real time processor for video signals
US4541114A (en) Routing techniques using serial neighborhood image analyzing system
US5960211A (en) Data formatting method and apparatus for a data processing array
CN108073549B (en) Convolution operation device and method
JP4485272B2 (en) Semiconductor device
JPH08235130A (en) Parallel processor
US4941107A (en) Image data processing apparatus
JP2552784B2 (en) Parallel data processing control method
JPH06162228A (en) Data flow processor device
JPH1115801A (en) Data arithmetic unit, method and transmission medium
US5603046A (en) Method for complex data movement in a multi-processor data processing system
US5502834A (en) Memory interface apparatus for carrying out complex operation processing
JPH05189585A (en) Conditional operation control circuit for parallel processing
US6330295B1 (en) Data processing system and data processing method
US5548771A (en) Multi-processor data processing system having multiple ports coupled to multiple interface circuits
JP3190781B2 (en) Semiconductor memory
JP2518912B2 (en) Parallel data processor
US5420969A (en) Apparatus using mean value image smoothing for a two-dimensional image signal
JPH0668055A (en) Digital signal processor
JPH03139773A (en) Digital image processor
CN115496193A (en) Convolution computing tile architecture based on RRAM array and neural network acceleration chip
JPH07191955A (en) Data-driven information processor
JPH10333971A (en) Data arithmetic unit

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907