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
Application number
JP13669689A
Other languages
English (en)
Other versions
JPH032989A (ja
Inventor
達也 進藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP13669689A priority Critical patent/JP2717850B2/ja
Publication of JPH032989A publication Critical patent/JPH032989A/ja
Application granted granted Critical
Publication of JP2717850B2 publication Critical patent/JP2717850B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 多数のプロセッシング・エレメントPEを結合して構成
したSIMD型の並列計算機に関し、 PE間の通信を伴う演算と伴わない演算とを同一の処理
時間で実行することを目的とし、 各PEに、自己の演算レジスタからのデータを自己の演
算器に送る場合の時間と自己の演算レジスタからのデー
タを隣接するPEの演算器に送る時間を等しくすると共に
自己の演算器からのデータを自己の演算レジスタに送る
場合の時間と自己の演算器からのデータを隣接するPEの
演算レジスタに送る場合の時間とを等しくするための段
合わせレジスタを設けると同時に、複数のPEをパイプラ
イン制御する1個の制御装置を設け、演算レジスタから
データを読み出すステージと、読み出したデータを隣接
するPEに転送するステージと、演算を実行するステージ
と、演算器からのデータを隣接するPEに転送するステー
ジと、演算結果を演算レジスタに書き込むステージとを
持つように,制御装置を構成したものである。
〔産業上の利用分野〕
本発明は、多数のプロセッシング・エレメントを通信
用のポートを介して結合して構成したSIMD型(Single I
nstruction Multi Data型)の並列計算機に関する。
LSI設計のためのCAD(配置配線,論理シミュレーショ
ン,回路シミュレーション等)のように処理の対象が年
々大きくなり、それに伴い演算の高速化が要求される分
野に対して、並列計算機の適用が検討されている。この
ような並列計算機を効率良く動かすためにはプロセッシ
ング・エレメント間の通信を高速に実現する技術が重要
である。
〔従来の技術〕
従来の並列計算機におけるプロセッシング・エレメン
ト間通信は、プロセッシング・エレメント間が別のLSI
あるいは別のプリント基板に跨がる場合に、信号の伝播
が同一のLSI内に比べて遅くなることと、プロセッシン
グ・エレメントが通信を直接サポートする命令をサポー
トしていない場合に通信処理そのものを行うために複数
の命令の実行を必要とすることの2点により、通信を伴
う演算の実行は、通信を伴わない場合に比べて処理時間
にオーバヘッドが生ずる。
〔発明が解決しようとする課題〕
従って、プロセッシング・エレメント間の通信が処理
時間の中で大きな割合を占めるアプリケーション(例え
ば、プロセッシング・エレメントを格子上に結合した並
列計算機上で迷路法による配線プログラムを動かす場
合)を実行する場合には、通信によるオーバヘッドのた
めに、並列処理による高速化が生かされないと言う問題
が生じていた。
本発明は、この点に鑑みて創作されたものであって、
プロセッシング・エレメント間の通信を伴う演算と伴わ
ない演算とを同一の処理時間で実行する機能を設け、通
信処理の多いアプリケーションに対して、通信のための
オーバヘッドなく実行できる並列計算機を実現すること
を目的としている。
〔課題を解決するための手段〕
第1図に本発明を適用したプロセッシング・エレメン
トのデータ・バス系の回路図の例を示す。同図におい
て、1は演算レジスタ用の3ポートSRAM、2は演算器、
3は演算器入力セレクタ、4は演算レジスタ入力セレク
タ、5は隣接通信入力セレクタ、6は隣接通信出力セレ
クタ、7ないし17はレジスタをそれぞれ示している。
斜線の入っていない四角で表されるレジスタ7,9,11,1
3〜17は、パイプラインを動かすために最低限必要なレ
ジスタ(話を簡単にするために、3ポートSRAMのアクセ
ス・タイムとセレクタ+演算器の論理回路の遅延時間と
を等しいものとして扱う)である。また、斜線の入った
四角で表されるレジスタ8,10,12は、本発明を実現する
上で必要な段数合わせレジスタである。これは、複数の
プロセッシング・エレメントを格子状に接続することを
想定した回路となっている。
隣接通信入力セレクタ5の入力に接続されている4つ
のレジスタ13〜14には、それぞれ隣接する4方向のプロ
セッシング・エレメントの出力(隣接通信出力セレクタ
6の段数のレジスタ17の出力)が接続される。
第2図はプロセッシング・エレメント間の接続を示す
図である。同図において、PEはプロセッシング・エレメ
ント、E,W,N,Sは入力端子、OUTは出力端子をそれぞれ示
している。
プロセッシング・エレメントPEは、4個の出力端子OU
Tを有しているが、4個の出力端子OUTからは同一のデー
タが出力される。プロセッシング・エレメントPEの左側
出力は左側のプロセッシング・エレメントPEの入力端子
に接続され、プロセッシング・エレメントPEの右側出力
は右側のプロセッシング・エレメントPEの入力端子Wに
接続され、プロセッシング・エレメントPEの下側出力は
下側のプロセッシング・エレメントPEの入力端子Nに接
続され、プロセッシング・エレメントPEの上側出力は上
側のプロセッシング・エレメントPEの入力端子Sに接続
されている。
本発明では、プロセッシング・エレメントの実行のパ
イプラインのステージの1つとしてプロセッシング・エ
レメント間の通信のためのステージを設けることによ
り、通信のある演算と通信のない演算が混合したシーケ
ンスにおいても、実質的に何れの処理も1マシン・サイ
クルで実行可能としている。
第1図と第2図の回路では、通信を伴った演算として
2種類を想定している。1つは、隣接プロセッシング・
エレメント内の演算レジスタの値を通信によって得て、
その値と自分の演算レジスタ内の値を用いて演算し、そ
の結果を自分の演算レジスタ内に格納するもので、“レ
ジスタALU転送演算”と呼ぶことにする。もう1つ
は、隣接プロセッシング・エレメント内の演算レジスタ
の値を2つ用いて隣接プロセッシング・エレメント内の
演算器で演算した結果を通信によって得て、その結果を
自分の演算レジスタ内に格納するもので、“ALUレジ
スタ転送演算”と呼ぶことにする。当然のことながら、
本発明では、“通信を伴わない演算”、即ち自分の演算
レジスタ内の値を2つ用いて演算し、その演算結果を自
分の演算レジスタ内に格納する演算をも実行することが
出来る。
“レジスタALU転送演算",“ALUレジスタ転送演
算",“通信を伴わない演算”の3つのタイプの演算が混
合しても、パイプラインに乱れが生じないようにする工
夫を本発明では行っている。それはパイプライン中の1
つのデータに着目した場合に、演算レジスタから読み出
した値が演算器に到達するまでに必要なマシン・サイク
ル数と、演算器の出力した値が演算レジスタに到達する
までに必要なマシン・サイクル数を、演算のタイプによ
らず一定にすることで行う。即ち、第1図に斜線を入れ
た四角で示した段数合わせレジスタを挿入することによ
り、実現する。
〔作用〕
第3図は本発明におけるパイプライン動作のタイミン
グ・チャートを示す図である。同図において、“R"とし
て示してある部分は演算レジスタからの値の読み出しを
意味し、“RA"と示してある部分は演算レジスタから
読み出したデータの隣接プロセッシング・エレメントの
演算器への転送を意味し、“E"と示してある部分は演算
器における演算の実行を意味し、“AR"と示してある
部分は演算レジスタからの演算結果の隣接プロセッシン
グ・エレメントの演算レジスタへの転送を意味し、“W"
と示してある部分は演算結果の演算レジスタへの書き込
みを意味する。ここで、“RA"と“AR"に関して
は、その機能を必要としないタイプの演算では、単に段
数合わせレジスタを通過するだけになる。
このパイプラインを毎サイクル連続して実行すること
により、パイプラインの立ち上がり後には、実質的に1
マシン・サイクルで全てのタイプの演算が可能となる。
但し、注意事項として、“ALUレジスタ転送演算”
の後の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 演算器へのオペレーション・コード をそれぞれ示す。
SIMD型の並列計算機においては、全てのプロセッシン
グ・エレメントが同一の動作を行い、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が出力される。
レジスタ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で有効である。
モードがNOPの場合には、この制御コードによっては
演算レジスタ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が与えられる。
モードが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が与えられる。
モードが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が与えられる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、SI
MD型の並列計算機において、パイプライン処理をするこ
とにより、隣接プロセッシング・エレメント間の通信を
含む演算を、通信を含まない演算と同様に1マシン・サ
イクルで実行でき、通信を多く含む並列プログラムの高
速化に大きく寄与できる。
【図面の簡単な説明】
第1図は本発明を適用したプロセッシング・エレメント
のデータ・バスを示す図、第2図は第1図のプロセッシ
ング・エレメントを格子結合して構成された並列計算機
を示す図、第3図は本発明によるパイプライン動作を示
したタイミング・チャート、第4図は本発明を実施する
上で必要な制御回路の構成例を示すブロック図である。 1……演算レジスタ用の3ポートSRAM、2……演算器、
3……演算器入力セレクタ、4……演算レジスタ入力セ
レクタ、5……隣接通信入力セレクタ、6……隣接通信
出力セレクタ、7ないし17……レジスタ、20……プログ
ラム・カウンタ、21……制御コード・メモリ、22……レ
ジスタ、23……デゴーダ、24……パイプライン制御用調
整レジスタ、25……セレクタ。

Claims (1)

    (57)【特許請求の範囲】
  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)に書き込むステージ を具備するように構成されている ことを特徴とする高速通信機構を持った並列計算機。
JP13669689A 1989-05-30 1989-05-30 高速通信機構を持った並列計算機 Expired - Fee Related JP2717850B2 (ja)

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)

* Cited by examiner, † Cited by third party
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株式会社 磁気センサ

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