JP2717850B2 - 高速通信機構を持った並列計算機 - Google Patents
高速通信機構を持った並列計算機Info
- Publication number
- JP2717850B2 JP2717850B2 JP13669689A JP13669689A JP2717850B2 JP 2717850 B2 JP2717850 B2 JP 2717850B2 JP 13669689 A JP13669689 A JP 13669689A JP 13669689 A JP13669689 A JP 13669689A JP 2717850 B2 JP2717850 B2 JP 2717850B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- output
- processing element
- adjacent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【発明の詳細な説明】 〔概要〕 多数のプロセッシング・エレメントPEを結合して構成
したSIMD型の並列計算機に関し、 PE間の通信を伴う演算と伴わない演算とを同一の処理
時間で実行することを目的とし、 各PEに、自己の演算レジスタからのデータを自己の演
算器に送る場合の時間と自己の演算レジスタからのデー
タを隣接するPEの演算器に送る時間を等しくすると共に
自己の演算器からのデータを自己の演算レジスタに送る
場合の時間と自己の演算器からのデータを隣接するPEの
演算レジスタに送る場合の時間とを等しくするための段
合わせレジスタを設けると同時に、複数のPEをパイプラ
イン制御する1個の制御装置を設け、演算レジスタから
データを読み出すステージと、読み出したデータを隣接
するPEに転送するステージと、演算を実行するステージ
と、演算器からのデータを隣接するPEに転送するステー
ジと、演算結果を演算レジスタに書き込むステージとを
持つように,制御装置を構成したものである。
したSIMD型の並列計算機に関し、 PE間の通信を伴う演算と伴わない演算とを同一の処理
時間で実行することを目的とし、 各PEに、自己の演算レジスタからのデータを自己の演
算器に送る場合の時間と自己の演算レジスタからのデー
タを隣接するPEの演算器に送る時間を等しくすると共に
自己の演算器からのデータを自己の演算レジスタに送る
場合の時間と自己の演算器からのデータを隣接するPEの
演算レジスタに送る場合の時間とを等しくするための段
合わせレジスタを設けると同時に、複数のPEをパイプラ
イン制御する1個の制御装置を設け、演算レジスタから
データを読み出すステージと、読み出したデータを隣接
するPEに転送するステージと、演算を実行するステージ
と、演算器からのデータを隣接するPEに転送するステー
ジと、演算結果を演算レジスタに書き込むステージとを
持つように,制御装置を構成したものである。
本発明は、多数のプロセッシング・エレメントを通信
用のポートを介して結合して構成したSIMD型(Single I
nstruction Multi Data型)の並列計算機に関する。
用のポートを介して結合して構成したSIMD型(Single I
nstruction Multi Data型)の並列計算機に関する。
LSI設計のためのCAD(配置配線,論理シミュレーショ
ン,回路シミュレーション等)のように処理の対象が年
々大きくなり、それに伴い演算の高速化が要求される分
野に対して、並列計算機の適用が検討されている。この
ような並列計算機を効率良く動かすためにはプロセッシ
ング・エレメント間の通信を高速に実現する技術が重要
である。
ン,回路シミュレーション等)のように処理の対象が年
々大きくなり、それに伴い演算の高速化が要求される分
野に対して、並列計算機の適用が検討されている。この
ような並列計算機を効率良く動かすためにはプロセッシ
ング・エレメント間の通信を高速に実現する技術が重要
である。
従来の並列計算機におけるプロセッシング・エレメン
ト間通信は、プロセッシング・エレメント間が別のLSI
あるいは別のプリント基板に跨がる場合に、信号の伝播
が同一のLSI内に比べて遅くなることと、プロセッシン
グ・エレメントが通信を直接サポートする命令をサポー
トしていない場合に通信処理そのものを行うために複数
の命令の実行を必要とすることの2点により、通信を伴
う演算の実行は、通信を伴わない場合に比べて処理時間
にオーバヘッドが生ずる。
ト間通信は、プロセッシング・エレメント間が別のLSI
あるいは別のプリント基板に跨がる場合に、信号の伝播
が同一のLSI内に比べて遅くなることと、プロセッシン
グ・エレメントが通信を直接サポートする命令をサポー
トしていない場合に通信処理そのものを行うために複数
の命令の実行を必要とすることの2点により、通信を伴
う演算の実行は、通信を伴わない場合に比べて処理時間
にオーバヘッドが生ずる。
従って、プロセッシング・エレメント間の通信が処理
時間の中で大きな割合を占めるアプリケーション(例え
ば、プロセッシング・エレメントを格子上に結合した並
列計算機上で迷路法による配線プログラムを動かす場
合)を実行する場合には、通信によるオーバヘッドのた
めに、並列処理による高速化が生かされないと言う問題
が生じていた。
時間の中で大きな割合を占めるアプリケーション(例え
ば、プロセッシング・エレメントを格子上に結合した並
列計算機上で迷路法による配線プログラムを動かす場
合)を実行する場合には、通信によるオーバヘッドのた
めに、並列処理による高速化が生かされないと言う問題
が生じていた。
本発明は、この点に鑑みて創作されたものであって、
プロセッシング・エレメント間の通信を伴う演算と伴わ
ない演算とを同一の処理時間で実行する機能を設け、通
信処理の多いアプリケーションに対して、通信のための
オーバヘッドなく実行できる並列計算機を実現すること
を目的としている。
プロセッシング・エレメント間の通信を伴う演算と伴わ
ない演算とを同一の処理時間で実行する機能を設け、通
信処理の多いアプリケーションに対して、通信のための
オーバヘッドなく実行できる並列計算機を実現すること
を目的としている。
第1図に本発明を適用したプロセッシング・エレメン
トのデータ・バス系の回路図の例を示す。同図におい
て、1は演算レジスタ用の3ポートSRAM、2は演算器、
3は演算器入力セレクタ、4は演算レジスタ入力セレク
タ、5は隣接通信入力セレクタ、6は隣接通信出力セレ
クタ、7ないし17はレジスタをそれぞれ示している。
トのデータ・バス系の回路図の例を示す。同図におい
て、1は演算レジスタ用の3ポートSRAM、2は演算器、
3は演算器入力セレクタ、4は演算レジスタ入力セレク
タ、5は隣接通信入力セレクタ、6は隣接通信出力セレ
クタ、7ないし17はレジスタをそれぞれ示している。
斜線の入っていない四角で表されるレジスタ7,9,11,1
3〜17は、パイプラインを動かすために最低限必要なレ
ジスタ(話を簡単にするために、3ポートSRAMのアクセ
ス・タイムとセレクタ+演算器の論理回路の遅延時間と
を等しいものとして扱う)である。また、斜線の入った
四角で表されるレジスタ8,10,12は、本発明を実現する
上で必要な段数合わせレジスタである。これは、複数の
プロセッシング・エレメントを格子状に接続することを
想定した回路となっている。
3〜17は、パイプラインを動かすために最低限必要なレ
ジスタ(話を簡単にするために、3ポートSRAMのアクセ
ス・タイムとセレクタ+演算器の論理回路の遅延時間と
を等しいものとして扱う)である。また、斜線の入った
四角で表されるレジスタ8,10,12は、本発明を実現する
上で必要な段数合わせレジスタである。これは、複数の
プロセッシング・エレメントを格子状に接続することを
想定した回路となっている。
隣接通信入力セレクタ5の入力に接続されている4つ
のレジスタ13〜14には、それぞれ隣接する4方向のプロ
セッシング・エレメントの出力(隣接通信出力セレクタ
6の段数のレジスタ17の出力)が接続される。
のレジスタ13〜14には、それぞれ隣接する4方向のプロ
セッシング・エレメントの出力(隣接通信出力セレクタ
6の段数のレジスタ17の出力)が接続される。
第2図はプロセッシング・エレメント間の接続を示す
図である。同図において、PEはプロセッシング・エレメ
ント、E,W,N,Sは入力端子、OUTは出力端子をそれぞれ示
している。
図である。同図において、PEはプロセッシング・エレメ
ント、E,W,N,Sは入力端子、OUTは出力端子をそれぞれ示
している。
プロセッシング・エレメントPEは、4個の出力端子OU
Tを有しているが、4個の出力端子OUTからは同一のデー
タが出力される。プロセッシング・エレメントPEの左側
出力は左側のプロセッシング・エレメントPEの入力端子
に接続され、プロセッシング・エレメントPEの右側出力
は右側のプロセッシング・エレメントPEの入力端子Wに
接続され、プロセッシング・エレメントPEの下側出力は
下側のプロセッシング・エレメントPEの入力端子Nに接
続され、プロセッシング・エレメントPEの上側出力は上
側のプロセッシング・エレメントPEの入力端子Sに接続
されている。
Tを有しているが、4個の出力端子OUTからは同一のデー
タが出力される。プロセッシング・エレメントPEの左側
出力は左側のプロセッシング・エレメントPEの入力端子
に接続され、プロセッシング・エレメントPEの右側出力
は右側のプロセッシング・エレメントPEの入力端子Wに
接続され、プロセッシング・エレメントPEの下側出力は
下側のプロセッシング・エレメントPEの入力端子Nに接
続され、プロセッシング・エレメントPEの上側出力は上
側のプロセッシング・エレメントPEの入力端子Sに接続
されている。
本発明では、プロセッシング・エレメントの実行のパ
イプラインのステージの1つとしてプロセッシング・エ
レメント間の通信のためのステージを設けることによ
り、通信のある演算と通信のない演算が混合したシーケ
ンスにおいても、実質的に何れの処理も1マシン・サイ
クルで実行可能としている。
イプラインのステージの1つとしてプロセッシング・エ
レメント間の通信のためのステージを設けることによ
り、通信のある演算と通信のない演算が混合したシーケ
ンスにおいても、実質的に何れの処理も1マシン・サイ
クルで実行可能としている。
第1図と第2図の回路では、通信を伴った演算として
2種類を想定している。1つは、隣接プロセッシング・
エレメント内の演算レジスタの値を通信によって得て、
その値と自分の演算レジスタ内の値を用いて演算し、そ
の結果を自分の演算レジスタ内に格納するもので、“レ
ジスタALU転送演算”と呼ぶことにする。もう1つ
は、隣接プロセッシング・エレメント内の演算レジスタ
の値を2つ用いて隣接プロセッシング・エレメント内の
演算器で演算した結果を通信によって得て、その結果を
自分の演算レジスタ内に格納するもので、“ALUレジ
スタ転送演算”と呼ぶことにする。当然のことながら、
本発明では、“通信を伴わない演算”、即ち自分の演算
レジスタ内の値を2つ用いて演算し、その演算結果を自
分の演算レジスタ内に格納する演算をも実行することが
出来る。
2種類を想定している。1つは、隣接プロセッシング・
エレメント内の演算レジスタの値を通信によって得て、
その値と自分の演算レジスタ内の値を用いて演算し、そ
の結果を自分の演算レジスタ内に格納するもので、“レ
ジスタALU転送演算”と呼ぶことにする。もう1つ
は、隣接プロセッシング・エレメント内の演算レジスタ
の値を2つ用いて隣接プロセッシング・エレメント内の
演算器で演算した結果を通信によって得て、その結果を
自分の演算レジスタ内に格納するもので、“ALUレジ
スタ転送演算”と呼ぶことにする。当然のことながら、
本発明では、“通信を伴わない演算”、即ち自分の演算
レジスタ内の値を2つ用いて演算し、その演算結果を自
分の演算レジスタ内に格納する演算をも実行することが
出来る。
“レジスタALU転送演算",“ALUレジスタ転送演
算",“通信を伴わない演算”の3つのタイプの演算が混
合しても、パイプラインに乱れが生じないようにする工
夫を本発明では行っている。それはパイプライン中の1
つのデータに着目した場合に、演算レジスタから読み出
した値が演算器に到達するまでに必要なマシン・サイク
ル数と、演算器の出力した値が演算レジスタに到達する
までに必要なマシン・サイクル数を、演算のタイプによ
らず一定にすることで行う。即ち、第1図に斜線を入れ
た四角で示した段数合わせレジスタを挿入することによ
り、実現する。
算",“通信を伴わない演算”の3つのタイプの演算が混
合しても、パイプラインに乱れが生じないようにする工
夫を本発明では行っている。それはパイプライン中の1
つのデータに着目した場合に、演算レジスタから読み出
した値が演算器に到達するまでに必要なマシン・サイク
ル数と、演算器の出力した値が演算レジスタに到達する
までに必要なマシン・サイクル数を、演算のタイプによ
らず一定にすることで行う。即ち、第1図に斜線を入れ
た四角で示した段数合わせレジスタを挿入することによ
り、実現する。
第3図は本発明におけるパイプライン動作のタイミン
グ・チャートを示す図である。同図において、“R"とし
て示してある部分は演算レジスタからの値の読み出しを
意味し、“RA"と示してある部分は演算レジスタから
読み出したデータの隣接プロセッシング・エレメントの
演算器への転送を意味し、“E"と示してある部分は演算
器における演算の実行を意味し、“AR"と示してある
部分は演算レジスタからの演算結果の隣接プロセッシン
グ・エレメントの演算レジスタへの転送を意味し、“W"
と示してある部分は演算結果の演算レジスタへの書き込
みを意味する。ここで、“RA"と“AR"に関して
は、その機能を必要としないタイプの演算では、単に段
数合わせレジスタを通過するだけになる。
グ・チャートを示す図である。同図において、“R"とし
て示してある部分は演算レジスタからの値の読み出しを
意味し、“RA"と示してある部分は演算レジスタから
読み出したデータの隣接プロセッシング・エレメントの
演算器への転送を意味し、“E"と示してある部分は演算
器における演算の実行を意味し、“AR"と示してある
部分は演算レジスタからの演算結果の隣接プロセッシン
グ・エレメントの演算レジスタへの転送を意味し、“W"
と示してある部分は演算結果の演算レジスタへの書き込
みを意味する。ここで、“RA"と“AR"に関して
は、その機能を必要としないタイプの演算では、単に段
数合わせレジスタを通過するだけになる。
このパイプラインを毎サイクル連続して実行すること
により、パイプラインの立ち上がり後には、実質的に1
マシン・サイクルで全てのタイプの演算が可能となる。
により、パイプラインの立ち上がり後には、実質的に1
マシン・サイクルで全てのタイプの演算が可能となる。
但し、注意事項として、“ALUレジスタ転送演算”
の後の2クロック以内に“レジスタALU転送演算”を
開始することが出来ない。これは、隣接プロセッシング
・エレメント間の通信路を“AR"と“RA"の両方で
共有していることから、このような条件で使うと競合が
発生するためである。
の後の2クロック以内に“レジスタALU転送演算”を
開始することが出来ない。これは、隣接プロセッシング
・エレメント間の通信路を“AR"と“RA"の両方で
共有していることから、このような条件で使うと競合が
発生するためである。
第4図は本発明の制御回路の構成例を示すブロック図
である。同図において、20はプログラム・カウンタ、21
は制御コード・メモリ、22はレジスタ、23はデコーダ、
24はパイプライン制御用調整レジスタ、25はセレクタを
それぞれ示している。また、 *WE 演算レジスタへの書込み制御 0:書き込む,1:書き込まない ALUSEL 演算器入力セレクタの制御 0:自分の値,1:隣接の値 OUTSEL 隣接通信出力セレクタ制御 0:レジスタ,1:演算器 INSEL 隣接通信入力セレクタ制御 00:東,01:西,10:南,11:北 REGSEL 演算レジスタ入力セレクタ制御 0:自分の値,1:隣接の値 RADRS1 演算レジスタ読出しアドレス上側 RADRS2 演算レジスタ読出しアドレス下側 WADRS 演算レジスタ書込みアドレス OPC 演算器へのオペレーション・コード をそれぞれ示す。
である。同図において、20はプログラム・カウンタ、21
は制御コード・メモリ、22はレジスタ、23はデコーダ、
24はパイプライン制御用調整レジスタ、25はセレクタを
それぞれ示している。また、 *WE 演算レジスタへの書込み制御 0:書き込む,1:書き込まない ALUSEL 演算器入力セレクタの制御 0:自分の値,1:隣接の値 OUTSEL 隣接通信出力セレクタ制御 0:レジスタ,1:演算器 INSEL 隣接通信入力セレクタ制御 00:東,01:西,10:南,11:北 REGSEL 演算レジスタ入力セレクタ制御 0:自分の値,1:隣接の値 RADRS1 演算レジスタ読出しアドレス上側 RADRS2 演算レジスタ読出しアドレス下側 WADRS 演算レジスタ書込みアドレス OPC 演算器へのオペレーション・コード をそれぞれ示す。
SIMD型の並列計算機においては、全てのプロセッシン
グ・エレメントが同一の動作を行い、1個の制御回路が
全てのプロセッシング・エレメントを制御する。制御コ
ード・メモリ21には複数の制御コードが格納されてい
る。制御コードは、モードや通信方向,読出しアドレス
1,読出しアドレス2,書込みアドレス,演算器オペレーシ
ョン・コード,順序制御のための情報からなる。モード
としては、NOP,RA,AR,NOCOM(通信を伴わない演
算)等がある。プログラム・カウンタ20から出力された
アドレスに対応する制御コードが制御コード・メモリ21
から読み出され、読み出された制御コードはレジスタ22
にセットされる。
グ・エレメントが同一の動作を行い、1個の制御回路が
全てのプロセッシング・エレメントを制御する。制御コ
ード・メモリ21には複数の制御コードが格納されてい
る。制御コードは、モードや通信方向,読出しアドレス
1,読出しアドレス2,書込みアドレス,演算器オペレーシ
ョン・コード,順序制御のための情報からなる。モード
としては、NOP,RA,AR,NOCOM(通信を伴わない演
算)等がある。プログラム・カウンタ20から出力された
アドレスに対応する制御コードが制御コード・メモリ21
から読み出され、読み出された制御コードはレジスタ22
にセットされる。
レジスタ22に格納された制御コードの内のモードを示
す部分は、デコーダ23によってデコードされる。モード
がNOPの場合には、デコーダ23のNOP出力端子からは1が
出力され、RA出力端子からは0が出力され、AR
出力端子からは0が出力される。モードがRAの場合
には、デコーダ23のNOP出力端子からは0が出力され、
RA出力端子からは1が出力され、AR出力端子か
らは0が出力される。モードがARの場合には、デコ
ーダ23のNOP出力端子からは0が出力され、RA出力
端子からは0が出力され、AR出力端子からは1が出
力される。モードがNOCOMの場合には、デコーダ23のNOP
出力端子からは0が出力され、RA出力端子からは0
が出力され、AR出力端子からは0が出力される。
す部分は、デコーダ23によってデコードされる。モード
がNOPの場合には、デコーダ23のNOP出力端子からは1が
出力され、RA出力端子からは0が出力され、AR
出力端子からは0が出力される。モードがRAの場合
には、デコーダ23のNOP出力端子からは0が出力され、
RA出力端子からは1が出力され、AR出力端子か
らは0が出力される。モードがARの場合には、デコ
ーダ23のNOP出力端子からは0が出力され、RA出力
端子からは0が出力され、AR出力端子からは1が出
力される。モードがNOCOMの場合には、デコーダ23のNOP
出力端子からは0が出力され、RA出力端子からは0
が出力され、AR出力端子からは0が出力される。
レジスタ22に格納された制御コードの演算器オペレー
ション・コードは、3段のパイプライン制御用タイミン
グ調整レジスタ24を介して演算器2に供給される。制御
コードの書込みアドレスは、5段の調整レジスタ24を介
して演算レジスタ1(3ポートSRAMで構成)に与えられ
る。読出しアドレス2は1段の調整レジスタ24を介して
演算レジスタ1に与えられ、同様に読出しアドレス1は
1段の調整レジスタ24を介して演算レジスタ1に与えら
れる。制御コードの通信方向は、3段の調整レジスタ24
または5段の調整レジスタ24を介して隣接通信入力セレ
クタ5に与えられる。セレクタ25は、選択制御信号とし
て0が入力された場合には左側入力を選択出力し、選択
制御信号として1が入力された場合には右側入力を選択
出力する。デコーダ23のAR出力端子から出力される
データは、5段の調整レジスタ24を介して演算レジスタ
入力セレクタ4にREGSELとして与えられ、3段の調整レ
ジスタ24を介して隣接通信出力セレクタ6にOUTSELとし
て与えられる。デコーダ23のRA出力端子から出力さ
れるデータは、3段の調整レジスタ24を介して演算器入
力セレクタ3にALUSELとして与えられる。デコーダ23の
NOP出力端子から出力されるデータは、3段の調整レジ
スタ24を介して演算レジスタ1に*WEとして与えられ
る。なお、*WEは、0で有効である。
ション・コードは、3段のパイプライン制御用タイミン
グ調整レジスタ24を介して演算器2に供給される。制御
コードの書込みアドレスは、5段の調整レジスタ24を介
して演算レジスタ1(3ポートSRAMで構成)に与えられ
る。読出しアドレス2は1段の調整レジスタ24を介して
演算レジスタ1に与えられ、同様に読出しアドレス1は
1段の調整レジスタ24を介して演算レジスタ1に与えら
れる。制御コードの通信方向は、3段の調整レジスタ24
または5段の調整レジスタ24を介して隣接通信入力セレ
クタ5に与えられる。セレクタ25は、選択制御信号とし
て0が入力された場合には左側入力を選択出力し、選択
制御信号として1が入力された場合には右側入力を選択
出力する。デコーダ23のAR出力端子から出力される
データは、5段の調整レジスタ24を介して演算レジスタ
入力セレクタ4にREGSELとして与えられ、3段の調整レ
ジスタ24を介して隣接通信出力セレクタ6にOUTSELとし
て与えられる。デコーダ23のRA出力端子から出力さ
れるデータは、3段の調整レジスタ24を介して演算器入
力セレクタ3にALUSELとして与えられる。デコーダ23の
NOP出力端子から出力されるデータは、3段の調整レジ
スタ24を介して演算レジスタ1に*WEとして与えられ
る。なお、*WEは、0で有効である。
モードがNOPの場合には、この制御コードによっては
演算レジスタ1は更新されない。
演算レジスタ1は更新されない。
モードがRAの場合には、#1クロックに同期して
演算レジスタ1からデータが読み出される。#2クロッ
クに同期して、演算レジスタ1の上側出力は隣接通信出
力セレクタ6(OUTSEL=0)を介してレジスタ17にセッ
トされ、下側出力はレジスタ9にセットされる。#3ク
ロックに同期して、レジスタ17のデータは隣接するプロ
セッシング・エレメントのレジスタ13〜16にセットさ
れ、レジスタ9のデータはレジスタ10に移される。これ
と同時に、隣接通信入力セレクタ5は1個のデータを選
択出力し、演算器入力セレクタ3(ALUSEL=1)は上側
入力を選択出力し、演算器2にオペレーション・コード
が与えられる。#4クロックに同期して、演算器2の出
力は、レジスタ11にセットされる。#5クロックに同期
して、レジスタ11のデータはレジスタ12に移される。こ
れと同時に、演算レジスタ入力セレクタ4(REGSEL=
0)は下側入力を選択出力すると共に、演算レジスタ1
に0の書込み指示*WEが与えられる。
演算レジスタ1からデータが読み出される。#2クロッ
クに同期して、演算レジスタ1の上側出力は隣接通信出
力セレクタ6(OUTSEL=0)を介してレジスタ17にセッ
トされ、下側出力はレジスタ9にセットされる。#3ク
ロックに同期して、レジスタ17のデータは隣接するプロ
セッシング・エレメントのレジスタ13〜16にセットさ
れ、レジスタ9のデータはレジスタ10に移される。これ
と同時に、隣接通信入力セレクタ5は1個のデータを選
択出力し、演算器入力セレクタ3(ALUSEL=1)は上側
入力を選択出力し、演算器2にオペレーション・コード
が与えられる。#4クロックに同期して、演算器2の出
力は、レジスタ11にセットされる。#5クロックに同期
して、レジスタ11のデータはレジスタ12に移される。こ
れと同時に、演算レジスタ入力セレクタ4(REGSEL=
0)は下側入力を選択出力すると共に、演算レジスタ1
に0の書込み指示*WEが与えられる。
モードがARの場合には、#1クロックに同期して
演算レジスタ1からデータが読み出される。#2クロッ
クに同期して、演算レジスタ1の上側出力はレジスタ8
にセットされ、下側出力はレジスタ9にセットされる。
#3クロックに同期して、レジスタ7のデータはレジス
タ8に移され、レジスタ9のデータはレジスタ10に移さ
れる。これと同時に、演算器入力セレクタ3(ALUSEL=
0)は下側入力を選択出力し、演算器2にオペレーショ
ン・コードが与えられ、隣接通信出力セレクタ6(OUTS
EL=1)は下側入力を選択出力する。#4クロックに同
期して、演算器2の出力は、レジスタ17にセットされ
る。#5クロックに同期して、レジスタ17のデータは、
隣接するプロセッシング・エレメントの入力レジスタ13
〜16にセットされる。これと同時に、隣接通信入力セレ
クタ5は指定された入力を選択出力し、演算レジスタ入
力セレクタ4(REGSEL=1)は上側入力を選択出力し、
演算レジスタ1に0の書込み指示*WEが与えられる。
演算レジスタ1からデータが読み出される。#2クロッ
クに同期して、演算レジスタ1の上側出力はレジスタ8
にセットされ、下側出力はレジスタ9にセットされる。
#3クロックに同期して、レジスタ7のデータはレジス
タ8に移され、レジスタ9のデータはレジスタ10に移さ
れる。これと同時に、演算器入力セレクタ3(ALUSEL=
0)は下側入力を選択出力し、演算器2にオペレーショ
ン・コードが与えられ、隣接通信出力セレクタ6(OUTS
EL=1)は下側入力を選択出力する。#4クロックに同
期して、演算器2の出力は、レジスタ17にセットされ
る。#5クロックに同期して、レジスタ17のデータは、
隣接するプロセッシング・エレメントの入力レジスタ13
〜16にセットされる。これと同時に、隣接通信入力セレ
クタ5は指定された入力を選択出力し、演算レジスタ入
力セレクタ4(REGSEL=1)は上側入力を選択出力し、
演算レジスタ1に0の書込み指示*WEが与えられる。
モードがNOCOMの場合には、#1クロックに同期して
演算レジスタ1からデータが読み出される。#2クロッ
クに同期して、演算レジスタ1の上側出力はレジスタ7
にセットされ、下側出力はレジスタ9にセットされる。
#3クロックに同期して、レジスタ7のデータはレジス
タ8に移され、レジスタ9のデータはレジスタ10に移さ
れる。これと同時に、演算器入力セレクタ3(ALUSEL=
0)は下側入力を選択出力し、演算器2にオペレーショ
ン・コードが与えられる。#4クロックに同期して、演
算器2の出力は、レジスタ11にセットされる。#5クロ
ックに同期して、演算レジスタ入力セレクタ4(REGSEL
=0)は下側入力を選択出力し、演算レジスタ1に0の
書込み指示*WEが与えられる。
演算レジスタ1からデータが読み出される。#2クロッ
クに同期して、演算レジスタ1の上側出力はレジスタ7
にセットされ、下側出力はレジスタ9にセットされる。
#3クロックに同期して、レジスタ7のデータはレジス
タ8に移され、レジスタ9のデータはレジスタ10に移さ
れる。これと同時に、演算器入力セレクタ3(ALUSEL=
0)は下側入力を選択出力し、演算器2にオペレーショ
ン・コードが与えられる。#4クロックに同期して、演
算器2の出力は、レジスタ11にセットされる。#5クロ
ックに同期して、演算レジスタ入力セレクタ4(REGSEL
=0)は下側入力を選択出力し、演算レジスタ1に0の
書込み指示*WEが与えられる。
以上の説明から明らかなように、本発明によれば、SI
MD型の並列計算機において、パイプライン処理をするこ
とにより、隣接プロセッシング・エレメント間の通信を
含む演算を、通信を含まない演算と同様に1マシン・サ
イクルで実行でき、通信を多く含む並列プログラムの高
速化に大きく寄与できる。
MD型の並列計算機において、パイプライン処理をするこ
とにより、隣接プロセッシング・エレメント間の通信を
含む演算を、通信を含まない演算と同様に1マシン・サ
イクルで実行でき、通信を多く含む並列プログラムの高
速化に大きく寄与できる。
第1図は本発明を適用したプロセッシング・エレメント
のデータ・バスを示す図、第2図は第1図のプロセッシ
ング・エレメントを格子結合して構成された並列計算機
を示す図、第3図は本発明によるパイプライン動作を示
したタイミング・チャート、第4図は本発明を実施する
上で必要な制御回路の構成例を示すブロック図である。 1……演算レジスタ用の3ポートSRAM、2……演算器、
3……演算器入力セレクタ、4……演算レジスタ入力セ
レクタ、5……隣接通信入力セレクタ、6……隣接通信
出力セレクタ、7ないし17……レジスタ、20……プログ
ラム・カウンタ、21……制御コード・メモリ、22……レ
ジスタ、23……デゴーダ、24……パイプライン制御用調
整レジスタ、25……セレクタ。
のデータ・バスを示す図、第2図は第1図のプロセッシ
ング・エレメントを格子結合して構成された並列計算機
を示す図、第3図は本発明によるパイプライン動作を示
したタイミング・チャート、第4図は本発明を実施する
上で必要な制御回路の構成例を示すブロック図である。 1……演算レジスタ用の3ポートSRAM、2……演算器、
3……演算器入力セレクタ、4……演算レジスタ入力セ
レクタ、5……隣接通信入力セレクタ、6……隣接通信
出力セレクタ、7ないし17……レジスタ、20……プログ
ラム・カウンタ、21……制御コード・メモリ、22……レ
ジスタ、23……デゴーダ、24……パイプライン制御用調
整レジスタ、25……セレクタ。
Claims (1)
- 【請求項1】格子状に結合された複数のプロセッシング
・エレメント(PE)と、 複数のプロセッシング・エレメント(PE)をパイプライ
ン制御する1個の制御装置と を具備する単一命令多重データ型の並列計算機であっ
て、 各プロセッシング・エレメント(PE)は、 複数のデータを格納する演算レジスタ(1)と、 演算器(2)と、 隣接するプロセッシング・エレメント(PE)から送られ
て来たデータ又は自己の演算レジスタ(1)から出力さ
れたデータを選択し、選択したデータを自己の演算器
(2)に入力する演算器入力セレクタ(3)と、 隣接するプロセッシング・エレメント(PE)から送られ
て来たデータ又は自己の演算器(2)から出力されたデ
ータを選択し、選択されたデータを自己の演算レジスタ
(1)に入力する演算レジスタ入力セレクタ(4)と、 隣接したプロセッシング・エレメント(PE)から送られ
た来たデータを選択し、選択したデータを自己の演算レ
ジスタ入力セレクタ(4)および自己の演算器入力セレ
クタ(3)に入力する隣接通信入力セレクタ(5)と、 自己の演算レジスタ(1)から出力されたデータまたは
自己の演算器(2)から出力されたデータを選択し、選
択されたデータを隣接するプロセッシング・エレメント
(PE)に送る隣接通信出力セレクタ(6)と、 自己の演算レジスタ(1)からのデータを自己の演算器
(2)に送る場合の時間と自己の演算レジスタ(1)か
らのデータを隣接するプロセッシング・エレメント(P
E)の演算器(2)に送る時間を等しくすると共に、自
己の演算器(2)からのデータを自己の演算レジスタ
(1)に送る場合の時間と自己の演算器(2)からのデ
ータを隣接するプロセッシング・エレメント(PE)の演
算レジスタ(1)に送る場合の時間とを等しくするため
の段合わせレジスタ(8,10,12)とを有し、 制御装置は、 演算レジスタ(1)からデータを読み出すステージと、 読み出したデータを隣接するプロセッシング・エレメン
ト(PE)に転送するためのステージと、 演算を実行するステージと、 演算器(2)から出力されるデータを隣接するプロセッ
シング・エレメント(PE)に転送するためのステージと 演算器(2)から出力されたデータを演算レジスタ
(1)に書き込むステージ を具備するように構成されている ことを特徴とする高速通信機構を持った並列計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13669689A JP2717850B2 (ja) | 1989-05-30 | 1989-05-30 | 高速通信機構を持った並列計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13669689A JP2717850B2 (ja) | 1989-05-30 | 1989-05-30 | 高速通信機構を持った並列計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH032989A JPH032989A (ja) | 1991-01-09 |
JP2717850B2 true JP2717850B2 (ja) | 1998-02-25 |
Family
ID=15181338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13669689A Expired - Fee Related JP2717850B2 (ja) | 1989-05-30 | 1989-05-30 | 高速通信機構を持った並列計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2717850B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1927949A1 (en) * | 2006-12-01 | 2008-06-04 | Thomson Licensing | Array of processing elements with local registers |
JP6544374B2 (ja) | 2017-03-24 | 2019-07-17 | Tdk株式会社 | 磁気センサ |
-
1989
- 1989-05-30 JP JP13669689A patent/JP2717850B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH032989A (ja) | 1991-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0539595A1 (en) | Data processor and data processing method | |
US5752070A (en) | Asynchronous processors | |
US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
EP1038253B1 (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
US6152613A (en) | Circuit implementations for asynchronous processors | |
US4378589A (en) | Undirectional looped bus microcomputer architecture | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
JPH05233281A (ja) | 電子計算機 | |
JPS60218138A (ja) | 事象駆動形アルゴリズムを実行するコンピユータ装置 | |
US20100318952A1 (en) | System and Method Incorporating An Arithmetic Logic Unit For Emulation | |
US5307300A (en) | High speed processing unit | |
US4837730A (en) | Linking scalar results directly to scalar operation inputs on a bidirectional databus in a computer which superpositions vector and scalar operations | |
JP2717850B2 (ja) | 高速通信機構を持った並列計算機 | |
US5465334A (en) | Processor with a respective latch provided for each pipelined stage to transfer data to the pipeland stages | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
US20040128475A1 (en) | Widely accessible processor register file and method for use | |
JP2638613B2 (ja) | プログラマブル アクセラレータ及びその方法 | |
EP0314342B1 (en) | Parallel pipelined computer processor | |
Fellman | Design issues and an architecture for the monolithic implementation of a parallel digital signal processor | |
JP2861560B2 (ja) | データ処理装置 | |
JP2859645B2 (ja) | ベクトル処理システム | |
JPS61114341A (ja) | 処理システム | |
JPH0926945A (ja) | 情報処理装置 | |
JP3532026B2 (ja) | 演算装置 | |
JP2518912B2 (ja) | 並列デ―タ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |