JPH1115801A - データ演算装置および方法、並びに伝送媒体 - Google Patents

データ演算装置および方法、並びに伝送媒体

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
English (en)
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/ja
Publication of JPH1115801A publication Critical patent/JPH1115801A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 データ演算装置の処理を容易にする。 【解決手段】 N個のプロセッサエレメント15のう
ち、第1番目のプロセッサエレメント15にセレクタ6
0Aを設置し、第N番目のプロセッサエレメント15に
セレクタ60Bを設置する。セレクタ60Aには、第1
番目のプロセッサエレメント15のデータメモリ12の
データと、数値0および数値1が供給され、セレクタ6
0Bには、第N番目のプロセッサエレメント15のデー
タメモリ12のデータと、数値0および数値1が供給さ
れており、プログラム制御回路17は、セレクタ60A
およびセレクタ60Bのデータを選択して出力させるこ
とができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ演算装置お
よび方法、並びに伝送媒体に関し、特に、SIMD並列制御
を行う場合に用いて好適なデータ演算装置および方法、
並びに伝送媒体に関する。
【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つで、データは異なるが、同一の仕事を同時
処理するものである。
【0003】図12は、このような従来のデータ演算装
置の一構成例を示している。このデータ演算装置は、上
述のSIMD制御並列プロセッサである。このデータ演算装
置において、入力シリアルアクセスメモリ11、データ
メモリ12、演算回路13、および、出力シリアルアク
セスメモリ14は、リニアアレイ(直線配列)型に並列
化されたプロセッサエレメント群を構成している。これ
らのプロセッサエレメント15は、プログラム制御回路
17が有する1つのプログラムに従って、連動して制御
される。プログラムメモリ18は、各種回路を制御する
ためのプログラムを記憶しており、プログラム制御回路
17に供給するようになされている。
【0004】プログラム制御回路17は、プログラムメ
モリ18のアドレスを制御するシーケンス制御回路を内
蔵し、プログラムメモリ17に記憶されているプログラ
ムに従って、プログラムメモリ18のアドレスを更新し
ていくとともに、各種制御信号を発生して、各種回路を
制御する。
【0005】なお、入力シリアルアクセスメモリ11、
データメモリ12、出力シリアルアクセスメモリ14
は、主にメモリで構成されいる。図12の装置において
は、これらのメモリのためのロウ(ROW)アドレスデコー
ダは、プログラム制御回路17に含まれているものとす
る。また、データメモリ12は、2リード、1ライトの
3ポートを有しているメモリであり、データの書き込み
または読み出しのためのビット線は、この場合は縦に走
っており、このビット線端に演算回路13が接続されて
いる。
【0006】並列化されたプロセッサエレメント15
(単一エレメント分)は、図において斜線で示した部分
に対応し、複数のプロセッサエレメント15が、図中に
おいて横方向に配列されている。即ち、図の斜線の部分
だけで、1つのプロセッサに対応する構成要素を有して
いる。なお、要素演算回路16は、演算回路13の単一
エレメント分の回路である。
【0007】図13は、単一エレメント分のデータメモ
リ12および要素演算回路16の一構成例を示してい
る。各プロセッサエレメントにおける演算の際に、自ら
に割り当てられたデータ以外に、近傍のプロセッサエレ
メント15に割り当てられたデータを用いて演算を行う
場合がある。そのため、データメモリ12には、セレク
タ70およびセレクタ71が設けられており、隣接した
プロセッサエレメント15のデータメモリに供給されて
いるデータを、プログラム制御回路17の制御により適
宜読み出すことができるようになされている。
【0008】例えば、セレクタ70には、図に示されて
いるデータメモリ12のデータと、左側および右側に隣
接している図示せぬプロセッサエレメント15のデータ
メモリ12のデータが供給されている。この3つの入力
のうちの1つが、プログラム制御回路17の制御により
選択されて、セレクタ80およびセレクタ81に供給さ
れる。また、セレクタ71についても同様である。
【0009】ただし、プロセッサエレメント15のう
ち、左端および右端のプロセッサエレメント15は、そ
の片側にだけにしか、隣接しているデータメモリ12が
存在しないため、例えば、各プロセッサエレメント15
における演算の際に、左側に隣接したデータメモリ12
のデータを読み出すような制御が行われたとき、左端の
プロセッサエレメント15は、その左側からデータを読
み出すことはできない。そのため、その場合の入力デー
タとして、0または1を固定しておくことが考えられ
る。
【0010】セレクタ70からのデータは、セレクタ8
0を介してレジスタ84に供給されるとともに、セレク
タ81を介してレジスタ85に供給される。セレクタ7
1からのデータは、セレクタ82を介してレジスタ86
に供給される。セレクタ80は、予め設定されている値
1または0、データメモリ12からのデータ、およびレ
ジスタ84から帰還されるデータの中から、1つのデー
タを選択し、レジスタ84に供給するようになされてい
る。また、レジスタ87は、フルアダー91からセレク
タ83を介して供給されるキャリーオーバーのデータを
保持するようになされている。
【0011】論理積回路88は、レジスタ84とレジス
タ85に保持されているデータの論理積を演算するよう
になされている。排他的論理和回路89は、論理積回路
88の出力と、プログラム制御回路17から供給される
データとの排他的論理和を演算し、その演算結果をフル
アダー91に供給している。フルアダー91は、さらに
レジスタ86とレジスタ87とに保持されているデータ
が供給されている。フルアダー91は、これらの3つの
入力の加算を行い、その演算の結果生成された和(su
m)とキャリーオーバーとを、セレクタ92に出力する
ようになされている。このうちキャリーオーバーはセレ
クタ83にも供給されている。
【0012】セレクタ90はレジスタ84の値によっ
て、排他的論理和回路89、レジスタ86から供給され
るデータを選択し、セレクタ92に出力している。セレ
クタ92は、プログラム制御回路17の制御信号によ
り、セレクタ90の入力、フルアダー91からの2つの
入力の、合計3つの入力のうちのいずれか1つを選択
し、データメモリ12に出力している。セレクタ93
は、プログラム制御回路17からの信号により制御さ
れ、レジスタ85および論理積回路88の値を選択す
る。
【0013】例えば、プログラム制御回路17からの信
号により、セレクタ93を制御し、データメモリ12に
より供給されレジスタ85に保持されているデータが排
他的論理和回路89を介して、フルアダー91に入力さ
れる。フルアダー91は、排他的論理和回路89より入
力されるデータ(レジスタ85から供給されたデー
タ)、データメモリ12より供給され、レジスタ86に
保持されたデータ、およびレジスタ87に保持されてい
る前回の演算時に発生したキャリーオーバーのデータを
加算し、その加算結果と、新たに生成したキャリーオー
バーのデータをセレクタ92に出力する。キャリーオー
バーはまた、レジスタ87に供給され、保持される。
【0014】また、プログラム制御回路17は、セレク
タ92を制御して、フルアダー91の出力するキャリー
オーバーを選択し、データメモリ12に出力させること
ができる。あるいはまた、セレクタ90で排他的論理和
回路89またはレジスタ86から供給されたデータの一
方を選択し、これをさらにセレクタ92で選択させて、
データメモリ12に供給することができる。
【0015】プログラム制御回路17は、論理積回路8
8より出力されるデータの論理を反転して、フルアダー
91に供給したいとき、排他的論理和回路89の一方の
入力に論理1を出力する。このようにすると、排他的論
理和回路89は、論理積回路88より論理1が出力され
たとき、論理0を出力し、論理積回路88より論理0が
入力されたとき、論理1を出力することがきる。
【0016】また、プログラム制御回路17は、新たに
入力されたデータと、前回のデータとの論理積を演算さ
せる場合には、セレクタ80にレジスタ84の保持して
いるデータを再び選択させる。こうすることで、レジス
タ85に次のデータが保持されるので、論理積回路88
には、現在のデータと直前のデータとが入力され、その
論理積が演算される。セレクタ80によるレジスタ84
の出力の選択を繰り返すことにより、新たな入力データ
と過去の入力データの演算が可能となる。
【0017】以上のようにして1水平走査期間に割り当
てられている演算が終了すると、その水平走査期間のう
ちに、その水平走査期間に演算したデータは、出力シリ
アルアクセスメモリ14に転送される。
【0018】このように、1水平走査期間のうちに、入
力シリアルアクセスメモリ11に蓄積された入力データ
のデータメモリ12への転送、演算回路13による演
算、および、出力シリアルアクセスメモリ14へのデー
タの転送が、ビットを単位とするSIMD制御プログラムに
従って実行される。そして、この処理は、水平走査期間
を単位として、順次繰り返される。
【0019】そして、出力シリアルアクセスメモリ14
に転送された出力データは、さらに次の水平走査帰線期
間において、出力シリアルアクセスメモリ14から出力
される。
【0020】以上のように、入力データを入力シリアル
アクセスメモリ11に取り込む入力処理、プログラム制
御回路17による、入力シリアルアクセスメモリ11に
蓄積された入力データのデータメモリ12への転送、演
算回路13による演算、および、出力シリアルアクセス
メモリ14への出力データの転送の演算処理、並びに、
出力データを出力シリアルアクセスメモリ14から読み
出す出力処理の3つの処理が、各プロセッサエレメント
15の各入力データに対して行われる。なお、これらの
3つの処理は、画像信号の1水平走査期間を単位とする
パイプライン処理として実行される。すなわち、データ
演算装置において、割り当てられた1水平走査期間分の
画素データに対して、3つの処理が一括して行われてい
る。
【0021】このようなデータ演算装置において、間引
きフィルタ演算、補間フィルタ演算などを行うような場
合は、画素データ毎に異なる演算、あるいは、異なる係
数での演算が必要とされる。そのため、各プロセッサエ
レメント15ごとに、その位置を示す情報となる番号を
付し、さらに、所定の演算および所定の係数を選択させ
るためのフラグを生成し、所定の番号が付されたプロセ
ッサエレメント15毎に、フラグを用いて所定の演算を
行う。このような演算は、プログラムメモリ18におけ
るプログラムをそのように規定し、プログラム制御回路
17が、そのプログラムに基づいて制御することによっ
て可能となる。
【0022】
【発明が解決しようとする課題】しかしながら、SIMD制
御のもとでは各プロセッサエレメント15毎に番号を付
し、フラグを生成する処理は困難である課題があった。
【0023】また、前述したように、隣接したプロセッ
サエレメント15間のデータの授受において、左右両端
のプロセッサエレメント15は、外側からデータを得る
ことができない。そこで、この場合における入力データ
として、0または1を固定しておくと、両端のプロセッ
サエレメントのDCゲインが変動してしまう。そのた
め、両端のプロセッサエレメント15のデータを繰り返
して入力するなどの処理などが考えられる。しかしなが
ら、その分の処理を必要とし、プログラムのステップが
増加する課題があった。
【0024】本発明は、このような状況に鑑みてなされ
たものであり、データ演算装置の処理を容易にすること
を目的とする。
【0025】
【課題を解決するための手段】請求項1に記載のデータ
演算装置は、各プロセッサエレメントの動作を制御する
制御手段と、N個のプロセッサエレメントのうちの、第
1番目または第N番目のプロセッサエレメントの記憶手
段のデータと、数値0および数値1が供給され、制御手
段による制御に対応して、そのいずれかを選択する選択
手段とを備え、制御手段は、各プロセッサエレメントが
隣接したプロセッサエレメントの記憶手段からデータを
読み出す場合に、第1番目または第N番目のプロセッサ
エレメントが選択手段によって選択されたデータを読み
出すように制御することを特徴とする。
【0026】請求項3に記載のデータ演算方法は、各プ
ロセッサエレメントの動作を制御する制御ステップと、
N個のプロセッサエレメントのうちの、第1番目または
第N番目のプロセッサエレメントの記憶手段のデータ
と、数値0および数値1が入力され、制御ステップにお
ける制御に対応して、そのいずれかを選択する選択ステ
ップとを備え、各プロセッサエレメントが隣接したプロ
セッサエレメントの記憶手段からデータを読み出す場合
に、第1番目または第N番目のプロセッサエレメントが
選択ステップで選択されたデータを読み出すように制御
することを特徴とする。
【0027】請求項4に記載の伝送媒体は、各プロセッ
サエレメントの動作を制御する制御ステップと、N個の
プロセッサエレメントのうちの、第1番目または第N番
目のプロセッサエレメントの記憶手段のデータと、数値
0および数値1が入力され、制御ステップにおける制御
に対応して、そのいずれかを選択する選択ステップとを
有するコンピュータプログラムを伝送することを特徴と
する。
【0028】請求項1に記載のデータ演算装置、請求項
3に記載のデータ演算方法、および請求項4に記載の伝
送媒体においては、N個のプロセッサエレメントのうち
の、第1番目または第N番目のプロセッサエレメントの
記憶手段のデータと、数値0および数値1のいずれかが
選択される。そして、各プロセッサエレメントが隣接し
たプロセッサエレメントに記憶されているデータを読み
出す場合に、第1番目または第N番目のプロセッサエレ
メントが選択されたデータを読み出すように制御する。
例えば、各プロセッサエレメントが左隣のプロセッサエ
レメントの記憶手段からデータを読み出すときに、第1
番目のプロセッサエレメントは、選択された数値0を読
み出すことができる。
【0029】
【発明の実施の形態】以下に本発明の実施の形態を説明
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。但
し勿論この記載は、各手段を記載したものに限定するこ
とを意味するものではない。
【0030】請求項1に記載のデータ演算装置は、各プ
ロセッサエレメントの動作を制御する制御手段(例え
ば、図1のプログラム制御回路17)と、N個のプロセ
ッサエレメントのうちの、第1番目または第N番目のプ
ロセッサエレメントの記憶手段のデータと、数値0およ
び数値1が入力され、制御手段による制御に対応して、
そのいずれかを選択する選択手段(例えば、図1のセレ
クタ60A、60B)とを備え、制御手段は、各プロセ
ッサエレメントが隣接したプロセッサエレメントの記憶
手段からデータを読み出す場合に、第1番目または第N
番目のプロセッサエレメントが選択手段によって選択さ
れたデータを読み出すように制御することを特徴とす
る。
【0031】図1は、本発明のデータ演算装置の一構成
例を示すブロック図であり、図12に示した場合と対応
する部分には同一の符号が付されており、その説明は適
宜省略する。この構成例において、データ演算装置は、
N個のプロセッサエレメント15により構成されてい
る。図の左端のプロセッサエレメント15を第1番目と
し、右端のプロセッサエレメント15を第N番目とする
と、セレクタ60Aは、第1番目のプロセッサエレメン
ト15に対して設置され、セレクタ60Bは、第N番目
のプロセッサエレメント15に対して設置されている。
このセレクタ60Aおよびセレクタ60Bの詳細な説明
は、図2および図3を用いて後述する。その他の構成
は、図12における場合と同様である。
【0032】次に、図1のデータ演算装置の動作につい
て説明する。入力データ(1画素分の画像データ)は、
プログラム制御回路17からの制御信号により、入力シ
リアルアクセスメモリ11に供給される。このデータ
は、第1番目のプロセッサエレメント15から第N番目
のプロセッサエレメント15に向けて順次移動するの
で、入力データは、第1番目のプロセッサエレメント1
5の入力シリアルアクセスメモリ11のセルから、第N
番目のプロセッサエレメント15の入力シリアルアクセ
スメモリ11のセルに順次供給される。このような入力
動作は、水平走査期間毎に繰り返される。
【0033】プログラム制御回路17は、このようにし
て画像信号の1水平走査期間分のデータが入力シリアル
アクセスメモリ11に蓄積されるごとに、プログラムメ
モリ18に格納されているプログラムに従って入力シリ
アルアクセスメモリ11、データメモリ12、演算回路
13、および出力シリアルアクセスメモリ14を以下の
ようにSIMD制御して処理を実行する。この処理はSIMD制
御であるから、以下の動作は、全プロセッサエレメント
15において並列して同様に実行される。
【0034】入力シリアルアクセスメモリ11に蓄積さ
れた1水平走査期間分の入力データは、次の水平走査帰
線期間において、必要に応じて入力シリアルアクセスメ
モリ11からデータメモリ12へ転送される。プログラ
ム制御回路17は、プログラムに応じて、各プロセッサ
エレメント15の要素演算回路16に、各々のデータメ
モリ12に保持されているデータを供給する。そのデー
タに対して算術演算あるいは論理演算を行わせる。そし
て、その演算結果は、データメモリ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に供給するようになさ
れている。
【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からデータを読み出すよう
にできる。
【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に同一データを再入力しておき、次の演算
に用いることができる。
【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と共通した制御により演算が行われる。
【0039】ところで、各プロセッサエレメント15に
おいて異なる処理を行う場合は、選択される可能性のあ
る全ての処理を、あらかじめ全プロセッサエレメント1
5に実行させ、それぞれの結果を、各プロセッサエレメ
ント15のデータメモリ12に格納しておき、あらかじ
め生成されたフラグをレジスタ84に保持し、このフラ
グによって、各プロセッサエレメント15のデータメモ
リ12に格納されている演算結果の中から所定のものを
選択し出力する。
【0040】さらに、各プロセッサエレメント15毎
に、異なる係数を用いて演算を行う場合においても、同
様に、選択される可能性のある係数を生成し、データメ
モリ12に格納しておき、フラグによって選択された係
数を用いて演算を行う。このフラグおよび係数が、外部
で生成され、供給される場合は、入力シリアルアクセス
メモリ11から取り込み、データメモリ12に格納して
おき、適宜読み出して用いるようにしてもよい。本発明
のデータ演算装置においては、プログラムメモリ18の
プログラムに基づいて、プログラム制御回路17がデー
タ演算装置を制御することにより、フラグおよび係数を
生成するものとする。
【0041】図4は、各プロセッサエレメント15に、
第1番目のプロセッサエレメント15を区別するフラグ
を与える場合の処理を説明するフローチャートである。
まず、ステップS101において、プログラム制御回路
17は、各プロセッサエレメント15のデータメモリ1
2に、作業用アドレスを確保する。続いて、ステップS
102において、プログラム制御回路17は、各プロセ
ッサエレメント15のデータメモリ12の作業用アドレ
スに、数値1を格納する。
【0042】ステップS103において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
(データ)を読み出すように制御された場合に、セレク
タ60Aが、数値0を選択して出力するように設定す
る。そして、ステップS104では、プログラム制御回
路17は、各プロセッサエレメント15が、左隣のプロ
セッサエレメント15のデータメモリ12の作業アドレ
スに格納されている数値を読み出すように制御する。こ
のとき、ステップS103における設定に対応して、第
1番目のプロセッサエレメント15は、セレクタ60A
から数値0を読み出す。
【0043】ステップS105において、プログラム制
御回路17は、各プロセッサエレメント15が読みだし
た数値を、フラグとしてデータメモリ12の作業用アド
レスに格納する。これにより、結果として、第1番目の
プロセッサエレメント15のみ、フラグとして数値0が
与えられ、他のプロセッサエレメント15は、フラグと
して数値1が与えられたことになる。
【0044】図5は、さらに、図4に示した処理を応用
して、各プロセッサエレメント15に、任意のプロセッ
サエレメント15を区別するフラグを与える場合の処理
を説明するフローチャートである。なお、この処理は、
図4の処理に継続して行われるものとする。ステップS
201において、プログラム制御回路17は、各プロセ
ッサエレメント15のデータメモリ12の作業用アドレ
スに格納されている数値を反転する。
【0045】次に、ステップS202において、プログ
ラム制御回路17は、各プロセッサエレメント15が、
左隣のプロセッサエレメント15のデータメモリ12の
作業用アドレスに格納されている数値を読み出すように
制御する。続いて、ステップS203において、プログ
ラム制御回路17は、各プロセッサエレメント15が読
み出した数値を、データメモリ12の作業用アドレスに
格納する。
【0046】ステップS204では、プログラム制御回
路17は、ステップS202およびステップS203の
処理がL回行われたか否かを判定する。プログラム制御
回路17は、処理がL回行われていないと判定した場合
は、ステップS202に戻り、処理がL回行われたと判
定した場合は、ステップS205に進む。
【0047】ステップS205において、プログラム制
御回路17は、各プロセッサエレメント15のデータメ
モリ12に最終的に格納されている数値を、フラグとす
る。このような制御によって、第(L+1)番目のプロ
セッサエレメント15のみ、フラグとして数値1を得、
その他のプロセッサエレメント15は、フラグとして数
値0を得ることになる。即ち、第50番目のプロセッサ
エレメント15にフラグとして数値1を与えたい場合
は、この処理において、L=49すればよいことにな
る。
【0048】また、図6と図7は、各プロセッサエレメ
ント15に、任意のプロセッサエレメント15を区別す
るフラグを与える場合の、他の処理を説明するフローチ
ャートである。まず、ステップS301において、プロ
グラム制御回路17は、各プロセッサエレメント15の
データメモリ12に、作業用アドレスを確保する。次
に、ステップS302において、プログラム制御回路1
7は、各プロセッサエレメント15のデータメモリ12
の作業用アドレスに、数値1を格納する。
【0049】ステップS303において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
を読み出すように制御された場合に、セレクタ60A
が、数値0を選択して出力するように設定する。そし
て、ステップS304では、プログラム制御回路17
は、各プロセッサエレメント15が、左隣のプロセッサ
エレメント15のデータメモリ12の作業用アドレスか
ら数値を読み出すように制御する。
【0050】ステップS305において、プログラム制
御回路17は、各プロセッサエレメント15が読みだし
た数値を、データメモリ12の作業アドレスに格納す
る。続いて、ステップS306に進み、プログラム制御
回路17は、各プロセッサエレメント15が、左隣のプ
ロセッサエレメント15のデータメモリ12から数値を
読み出すように制御された場合に、セレクタ60Aが、
数値1を選択して出力するように設定する。
【0051】そして、ステップS304において、プロ
グラム制御回路17は、各プロセッサエレメント15
が、左隣のプロセッサエレメント15のデータメモリ1
2の作業用アドレスに格納されている数値を読み出すよ
うに制御する。このとき、第1番目のプロセッサエレメ
ント15は、セレクタ60Aから、数値1を読み出す。
【0052】ステップS305において、プログラム制
御回路17は、各プロセッサエレメント15が読みだし
た数値を、データメモリ12の作業用アドレスに格納す
る。次にステップS306に進み、プログラム制御回路
17は、各プロセッサエレメント15が、左隣のプロセ
ッサエレメント15のデータメモリ12から数値を読み
出すように制御された場合に、セレクタ60Aが、数値
1を選択して出力するように設定する。
【0053】ステップS307において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。そして、ステップS308では、プログラム制御回
路17は、各プロセッサエレメント15が読みだした数
値を、作業用アドレスに格納する。
【0054】ステップS309では、プログラム制御回
路17は、ステップS307およびステップS308の
処理がL回行われたか否かを判定する。プログラム制御
回路17は、処理がL回行われていないと判定した場合
は、ステップS307に戻り、処理がL回行われたと判
定した場合は、ステップS310に進む。
【0055】ステップS310において、プログラム制
御回路17は、各プロセッサエレメント15のデータメ
モリ12の作業用アドレスに最終的に格納されている数
値をフラグとする。これにより、任意のプロセッサエレ
メント15に、フラグとして数値0が生成され、他のプ
ロセッサエレメント15に、フラグとして数値1を与え
ることができる。
【0056】図8と図9は、各プロセッサエレメント1
5に、任意のプロセッサエレメント15を区別するフラ
グを与える場合の、さらに他の処理を説明するフローチ
ャートである。まず、ステップS401において、プロ
グラム制御回路17は、各プロセッサエレメント15の
データメモリ12に、作業用アドレスを確保する。続い
てステップS402において、プログラム制御回路17
は、各プロセッサエレメント15のデータメモリ12の
作業用アドレスに、数値1を格納する。
【0057】ステップS403において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
を読み出すように制御された場合に、セレクタ60A
が、数値0を選択して出力するように設定する。
【0058】ステップS404において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスから数値を読み出すように制御する。そして、
ステップS405では、プログラム制御回路17は、各
プロセッサエレメント15が読みだした数値を、データ
メモリ12の作業用アドレスに格納する。
【0059】ステップS406では、プログラム制御回
路17は、ステップS404およびステップS405の
処理がL−1回行われたか否かを判定する。プログラム
制御回路17は、処理がL−1回行われていないと判定
した場合は、ステップS404に戻り、処理がL−1回
行われたと判定した場合は、ステップS407に進む。
【0060】ステップS407において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。そして、ステップS408では、プログラム制御回
路17は、各プロセッサエレメント15が読みだした数
値と、データメモリ12の作業用アドレスに格納されて
いる数値との間で、排他的論理和演算を行う。続いてス
テップS409では、プログラム制御回路17は、演算
の結果得られた数値を、フラグとしてデータメモリ12
の作業用アドレスに格納する。これにより、第L番目の
プロセッサエレメント15にフラグとして数値1が与え
られ、他のプロセッサエレメント15には、フラグとし
て数値0が与えられることになる。
【0061】次に、図10は、各プロセッサエレメント
15に番号を付する処理を説明するフローチャートであ
る。まず、ステップS501において、プログラム制御
回路17は、各プロセッサエレメント15のデータメモ
リ12に、作業用アドレスを確保する。次にステップS
502では、プログラム制御回路17は、各プロセッサ
エレメント15が、左隣のプロセッサエレメント15の
データメモリ12から数値を読み出すように制御された
場合に、セレクタ60Aが、数値0を選択して出力する
ように設定する。
【0062】ステップS503において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。次に、ステップS504において、プログラム制御
回路17は、各プロセッサエレメント15が読みだした
数値に1を加算し、データメモリ12の作業用アドレス
に格納する。
【0063】ステップS505において、プログラム制
御回路17は、ステップS503およびS504の処理
がN回行われたか否かを判定する。プログラム制御回路
17は、ステップS503およびS504の処理がN回
行われていないと判定した場合は、ステップS503に
戻り、ステップS503およびS504の処理がN回行
われたと判定した場合は、処理を終了する。これによ
り、第1番目乃至第N番目のプロセッサエレメント15
まで、順に、1乃至Nまでの番号を付することができ
る。
【0064】ここで、図10のフローチャートにおける
処理において、1を加算する処理を、所定の数値Hを加
算するようにすれば、係数として、所定の数値Hの等差
数値を各プロセッサエレメントに生成することができ
る。また、加算ではなく、減算してもよい。
【0065】さらに、図11は、各プロセッサエレメン
ト15に、所定の数値の剰余系を与える処理を説明する
フローチャートである。まず、ステップS601におい
て、プログラム制御回路17は、各プロセッサエレメン
ト15のデータメモリ12に、作業用アドレスを確保す
る。続いて、ステップS602において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12から数値
を読み出すように制御された場合に、セレクタ60A
が、数値0を選択して出力するように設定する。
【0066】ステップS603において、プログラム制
御回路17は、各プロセッサエレメント15が、左隣の
プロセッサエレメント15のデータメモリ12の作業用
アドレスに格納されている数値を読み出すように制御す
る。そして、ステップS604では、プログラム制御回
路17は、各プロセッサエレメント15が読みだした数
値に1を加算して得られた数値が、所定の数値Mに等し
いか否かを判定し、プログラム制御回路17が、読み出
された数値と、所定の数値Mが等しいと判定した場合
は、ステップS605に進み、読み出された数値と、所
定の数値Mが等しくないと判定した場合は、ステップS
606に進む。
【0067】ステップS605において、プログラム制
御回路17は、データメモリ12の作業用アドレスに数
値0を格納する。一方、ステップS606においては、
プログラム制御回路17は、読み出された数値に1を加
算して得られた数値を、データメモリ12の作業用アド
レスに格納する。
【0068】ステップS607において、プログラム制
御回路17は、ステップS603乃至ステップS606
の処理が、L回行われたか否かを判定する。ステップS
603乃至ステップS606の処理が、L回行われてい
ないと判定した場合は、ステップS603に戻り、ステ
ップS603乃至ステップS606の処理が、L回行わ
れたと判定した場合は、処理を終了する。これにより、
各プロセッサエレメントに、所定の数値Mのmod(modul
o:剰余系)を与えることができる。
【0069】以上の説明において、各プロセッサエレメ
ントが、左隣のプロセッサエレメント15のデータメモ
リ12から数値を読み出す場合を示したが、各プロセッ
サエレメント15が、右隣のプロセッサエレメント15
のデータメモリ12から数値を読み出す処理を行う場合
は、第N番目のプロセッサエレメント15が、セレクタ
60Bから数値を読み出すようにする。
【0070】
【発明の効果】以上の如く、請求項1に記載のデータ演
算装置、請求項3に記載のデータ演算方法、および請求
項4に記載の伝送媒体によれば、各プロセッサエレメン
トの動作に対応して、N個のプロセッサエレメントのう
ちの第1番目のプロセッサエレメントおよび第N番目の
プロセッサエレメントが読み出すデータを、選択して出
力させるようにしたので、複雑な処理を必要とせずに、
各プロセッサエレメントに異なる情報を与えることがで
きる。また、画像信号の画素データの繰り返し処理を容
易に行うことができる。
【図面の簡単な説明】
【図1】本発明を適用したデータ演算装置の構成例を示
すブロック図である。
【図2】データメモリ12-1乃至12ーNおよび要素演
算回路16ー1乃至16ーNの構成例を示すブロック図で
ある。
【図3】データメモリ12-1および要素演算回路16ー
1のより詳細な構成例を示すブロック図である。
【図4】各プロセッサエレメント15に、第1番目のプ
ロセッサエレメント15を区別するフラグを与える処理
を説明するフローチャートである。
【図5】各プロセッサエレメント15に、任意のプロセ
ッサエレメント15を区別するフラグを生成する処理を
説明するフローチャートである。
【図6】各プロセッサエレメント15に、任意のプロセ
ッサエレメント15を区別するフラグを生成する他の処
理を説明するフローチャートである。
【図7】図6に続くフローチャートである。
【図8】各プロセッサエレメント15に、任意のプロセ
ッサエレメント15を区別するフラグを生成するさらに
他の処理を説明するフローチャートである。
【図9】図8に続くフローチャートである。
【図10】各プロセッサエレメント15に、番号を付す
る処理を説明するフローチャートである。
【図11】各プロセッサエレメント15に、数値Mの剰
余系を与える処理を説明するフローチャートである。
【図12】従来のデータ演算装置の構成例を示すブロッ
ク図である。
【図13】図12のデータ演算装置のデータメモリ12
および要素演算回路16のより詳細な構成例を示すブロ
ック図である。
【符号の説明】
11 シリアルアクセスメモリ, 12 データメモ
リ, 13 演算回路,14 出力シリアルアクセスメ
モリ, 15 プロセッサエレメント, 16要素演算
回路, 17 プログラム制御回路, 18 プログラ
ムメモリ,60A,60B セレクタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 N個のプロセッサエレメントを有し、 各プロセッサエレメントは、 所定のデータを演算する演算手段と、 前記演算手段に関するデータを記憶する記憶手段とを備
    え、 前記各プロセッサエレメントは、隣接した前記プロセッ
    サエレメントの前記記憶手段に記憶されているデータを
    読み出すことが可能なデータ演算装置において、 前記各プロセッサエレメントの動作を制御する制御手段
    と、 N個の前記プロセッサエレメントのうちの、第1番目ま
    たは第N番目のプロセッサエレメントの前記記憶手段の
    データと、数値0および数値1が供給され、前記制御手
    段による制御に対応して、そのいずれかを選択する選択
    手段とを備え、 前記制御手段は、前記各プロセッサエレメントが隣接し
    た前記プロセッサエレメントの前記記憶手段からデータ
    を読み出す場合に、前記第1番目または前記第N番目の
    プロセッサエレメントが前記選択手段により選択された
    データを読み出すように制御することを特徴とするデー
    タ演算装置。
  2. 【請求項2】 前記選択手段は、前記第1番目または前
    記第N番目のプロセッサエレメントに対して設置されて
    いることを特徴とする請求項1に記載のデータ演算装
    置。
  3. 【請求項3】 N個のプロセッサエレメントを有し、 各プロセッサエレメントは、 所定のデータを演算する演算手段と、 前記演算手段に関するデータを記憶する記憶手段とを備
    え、 前記各プロセッサエレメントは、隣接した前記プロセッ
    サエレメントの前記記憶手段に記憶されているデータを
    読み出すことが可能なデータ演算装置におけるデータ演
    算方法において、 前記各プロセッサエレメントの動作を制御する制御ステ
    ップと、 N個の前記プロセッサエレメントのうちの、第1番目ま
    たは第N番目のプロセッサエレメントの前記記憶手段の
    データと、数値0および数値1が供給され、前記制御ス
    テップにおける制御に対応して、そのいずれかを選択す
    る選択ステップとを備え、 前記制御ステップは、前記各プロセッサエレメントが隣
    接した前記プロセッサエレメントの前記記憶手段からデ
    ータを読み出す場合に、前記第1番目または前記第N番
    目のプロセッサエレメントが前記選択ステップで選択さ
    れたデータを読み出すように制御することを特徴とする
    データ演算方法。
  4. 【請求項4】 N個のプロセッサエレメントを有し、 各プロセッサエレメントは、 所定のデータを演算する演算手段と、 前記演算手段に関するデータを記憶する記憶手段とを備
    え、 前記各プロセッサエレメントは、隣接した前記プロセッ
    サエレメントの前記記憶手段に記憶されているデータを
    読み出すことが可能なデータ演算装置を制御するコンピ
    ュータプログラムを伝送する伝送媒体において、 前記各プロセッサエレメントの動作を制御する制御ステ
    ップと、 N個の前記プロセッサエレメントのうちの、第1番目ま
    たは第N番目のプロセッサエレメントの前記記憶手段の
    データと、数値0および数値1が供給され、前記制御ス
    テップにおける制御に対応して、そのいずれかを選択す
    る選択ステップとを有するコンピュータプログラムを伝
    送することを特徴とする伝送媒体。
JP16707697A 1997-06-24 1997-06-24 データ演算装置および方法、並びに伝送媒体 Withdrawn JPH1115801A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16707697A JPH1115801A (ja) 1997-06-24 1997-06-24 データ演算装置および方法、並びに伝送媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16707697A JPH1115801A (ja) 1997-06-24 1997-06-24 データ演算装置および方法、並びに伝送媒体

Publications (1)

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

Family

ID=15842967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16707697A Withdrawn JPH1115801A (ja) 1997-06-24 1997-06-24 データ演算装置および方法、並びに伝送媒体

Country Status (1)

Country Link
JP (1) JPH1115801A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193838A (ja) * 2007-04-02 2007-08-02 Ricoh Co Ltd Simd型マイクロプロセッサ
JP2007206887A (ja) * 2006-01-31 2007-08-16 Canon Inc Lsiチップ及び演算処理システム
JP2008519349A (ja) * 2004-11-03 2008-06-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Simd命令をサポートするプログラマブルデータ処理回路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008519349A (ja) * 2004-11-03 2008-06-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Simd命令をサポートするプログラマブルデータ処理回路
US8856494B2 (en) 2004-11-03 2014-10-07 Intel Corporation SIMD processor for performing data filtering and/or interpolation
JP2007206887A (ja) * 2006-01-31 2007-08-16 Canon Inc Lsiチップ及び演算処理システム
JP2007193838A (ja) * 2007-04-02 2007-08-02 Ricoh Co Ltd Simd型マイクロプロセッサ
JP4537420B2 (ja) * 2007-04-02 2010-09-01 株式会社リコー Simd型マイクロプロセッサ

Similar Documents

Publication Publication Date Title
EP0607988B1 (en) Program controlled processor
JP3251421B2 (ja) 半導体集積回路
EP0169709B1 (en) Real time processor for video signals
US4541114A (en) Routing techniques using serial neighborhood image analyzing system
JPS62264357A (ja) 並列プロセツサ・アレイにおけるプロセツサ付加のシミユレ−シヨン方法
US5960211A (en) Data formatting method and apparatus for a data processing array
CN108073549B (zh) 卷积运算装置及方法
JP5071707B2 (ja) データ処理装置およびその制御方法
JP2006018453A (ja) 半導体装置
JPH08235130A (ja) 並列プロセッサ
US4941107A (en) Image data processing apparatus
JP2552784B2 (ja) 並列データ処理制御方式
JPH06162228A (ja) データフロープロセッサ装置
JPH1115801A (ja) データ演算装置および方法、並びに伝送媒体
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 (ja) 並列処理における条件付き演算制御回路
US6330295B1 (en) Data processing system and data processing method
US5548771A (en) Multi-processor data processing system having multiple ports coupled to multiple interface circuits
US5420969A (en) Apparatus using mean value image smoothing for a two-dimensional image signal
JP2001202351A (ja) Simd型プロセッサ
CN115496193A (zh) 基于rram阵列的卷积计算瓦片架构及神经网络加速芯片
JPH07191955A (ja) データ駆動型情報処理装置
JPH10333971A (ja) データ演算装置
JPH04181373A (ja) ベクトル処理装置

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