JPH032989A - 高速通信機構を持った並列計算機 - Google Patents

高速通信機構を持った並列計算機

Info

Publication number
JPH032989A
JPH032989A JP13669689A JP13669689A JPH032989A JP H032989 A JPH032989 A JP H032989A JP 13669689 A JP13669689 A JP 13669689A JP 13669689 A JP13669689 A JP 13669689A JP H032989 A JPH032989 A JP H032989A
Authority
JP
Japan
Prior art keywords
register
data
arithmetic
arithmetic unit
output
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.)
Granted
Application number
JP13669689A
Other languages
English (en)
Other versions
JP2717850B2 (ja
Inventor
Tatsuya Shindo
達也 進藤
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

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 lのプロセッシング・エレメントPEを結合して構成し
たSIMD型の並列計算機に関し、PE間の通信を伴う
演算と伴わない演算とを同一の処理時間で実行すること
を目的とし、各PEに、自己の演算レジスタからのデー
タを自己の演算器に送る場合の時間と自己の演算レジス
タからのデータを隣接するPEの演算器に送る時間を等
しくすると共に自己の演算器からのデータを自己の演算
レジスタに送る場合の時間と自己の演算器からのデータ
を隣接するPEの演算レジスタに送る場合の時間とを等
しくするための段合わせレジスタを設けると同時に、複
数のPEをパイプライン制御する1個の制御装置を設け
、演算レジスタからデータを読み出すステージと、読み
出したデータを隣接するPEに転送するステージと、演
算を実行するステージと、演算器からのデータを隣接す
るPEに転送するステージと、演算結果を演算レジスタ
に書き込むステージとを持つように、制御装置を構成し
たものである。
〔産業上の利用分野] 本発明は、多数のプロセッシング・エレメントを通信用
のポートを介して結合して構成したSIMD型(Sin
gle In5truction Multi Dat
a型)の並列計算機に関する。
LSI設計のためのCAD (配置配線、論理シミュレ
ーション、回路シミュレーション等)のように処理の対
象が年々大きくなり、それに伴い演算の高速化が要求さ
れる分野に対して、並列計算機の適用が検討されている
。このような並列計算機を効率良く動かすためにはプロ
セッシング・エレメント間の通信を高速に実現する技術
が重要である。
〔従来の技術〕
従来の並列計算機におけるプロセッシング・エレメント
間通信は、プロセッシング・エレメント間が別のLSI
あるいは別のプリント基板に跨がる場合に、信号の伝播
が同一のLSI内に比べて遅くなることと、プロセッシ
ング・エレメントが通信を直接サポートする命令をサポ
ー1− していない場合に通信処理そのものを行うため
に複数の命令の実行を必要とすることの2点により、通
信を伴う演算の実行は、通信を伴わない場合に比べて処
理時間にオーバヘッドが生ずる。
〔発明が解決しようとする課題〕
従って、プロセッシング・エレメント間の通信が処理時
間の中で大きな割合を占めるアプリケーション(例えば
、プロセッシング・エレメントを格子上に結合した並列
計算機上で迷路法による配線プログラムを動かす場合)
を実行する場合には、通信によるオーバヘッドのために
、並列処理による高速化が生かされないと言う問題が生
じていた。
本発明は、この点に鑑みて創作されたものであって、プ
ロセッシング・エレメント間の通信を伴う演算と伴わな
い演算とを同一の処理時間で実行する機能を設け、通信
処理の多いアプリケーションに対して、通信のためのオ
ーバヘッドなく実行できる並列計算機を実現することを
目的としている。
〔課題を解決するための手段] 第1図に本発明を適用したプロセッシング・エレメント
のデータ・バス系の回路図の例を示す。
同図において、1は演算レジスタ用の3ボ一トSRAM
、2は演算器、3は演算器入力セレクタ、4は演算レジ
スタ入力セレクタ、5は隣接通信入力セレクタ、6は隣
接通信出力セレクタ、マないし17はレジスタをそれぞ
れ示している。
斜線の入っていない四角で表されるレジスタ7゜9.1
1.13〜17は、パイプラインを動かすために最低限
必要なレジスタ(話を簡単にするために、3ポ一トsR
AMのアクセス・タイムとセレクタ+演算器の論理回路
の遅延時間とを等しいものとして扱う)である。また、
斜線の入った四角で表されるレジスタ8,10.12は
、本発明を実現する上で必要な段数合わせレジスタであ
る。
これは、複数のプロセッシング・エレメントを格子状に
接続することを想定した回路となっている。
隣接通信入力セレクタ5の入力に接続されている4つの
レジスタ13〜14には、それぞれ隣接する4方向のプ
ロセッシング・エレメントの出力(隣接通信出力セレク
タ6の後段のレジスタ17の出力)が接続される。
第2図はプロセッシング・エレメント間の接続を示す図
である。同図において、PEはプロセッシング・エレメ
ント、E、W、N、Sは入力端子、OUTは出力端子を
それぞれ示している。
プロセッシング・エレメントPEは、4個の出力端子O
UTを有しているが、4個の出力端子OUTからは同一
のデータが出力される。プロセッシング・ニレメン1−
PEの左側出力は左側のプロセッシング・ニレメンl−
PEの入力端子Eに接続され、プロセッシング・エレメ
ントPEの右側出力は右側のプロセッシング・エレメン
トPEの入力E子Wに接続され、プロセッシング・ニレ
メン1− P Eの下側出力は下側のプロセッシング・
エレメントPEの入力端子Nに接続され、プロセッシン
グ・エレメントPEの上側出力は上側のプロセッシング
・エレメントPEの入力端子Sに接続されている。
本発明では、プロセッシング・エレメントの実行のパイ
プラインのステージの1つとしてプロセッシング・エレ
メント間の通信のためのステージを設けることにより、
通信のある演算と通信のない演算が混合したシーケンス
においても、実質的に何れの処理も1マシン・サイクル
で実行可能としている。
第1図と第2図の回路では、通信を伴った演算として2
種類を想定している。1つは、隣接プロセッシング・エ
レメント内の演算レジスタの値を通信によって得て、そ
の値と自分の演算レジスタ内の値を用いて演算し、その
結果を自分の演算レジスタ内に格納するもので、“レジ
スタ→ALU転送演算”と呼ぶことにする。もう1つは
、隣接プロセッシング・エレメント内の演算レジスタの
値を2つ用いて隣接プロセッシング・エレメント内の演
算器で演算した結果を通信によって得て、その結果を自
分の演算レジスタ内に格納するもので、“ALU悼レジ
スタ転送演算”と呼ぶことにする。当然のことながら、
本発明では、“通信を伴わない演算゛、即ち自分の演算
レジスタ内の値を2つ用いて演算し、その演算結果を自
分の演算レジスタ内に格納する演算をも実行することが
出来る。
′°レジスタ→ALU転送演算”’、”ALU→レジス
タ転送演算゛、“通信を伴わない演算゛の3つのタイプ
の演算が混合しても、パイプラインに乱れが生じないよ
うにする工夫を本発明では行っている。それはパイプラ
イン中の1つのデータに着目した場合に、演算レジスタ
から読み出した値が演算器に到達するまでに必要なマシ
ン・サイクル数と、演算器の出力した値が演算レジスタ
に到達するまでに必要なマシン・サイクル数を、演算の
タイプによらず一定にすることで行う。即ち、第1図に
斜線を入れた四角で示した段数合わせレジスタを挿入す
ることにより、実現する。
〔作用] 第3図は本発明におけるパイプライン動作のタイミング
・チャー1・を示す図である。同図において、“Ro“
として示しである部分は演算レジスクからの値の読み出
しを意味し、R=> A ’”と示しである部分は演算
レジスタから読み出したデータの隣接プロセッシング・
エレメントの演算器への転送を意味し、“E′”と示し
である部分は演算器における演算の実行を意味し、“A
 =+R”と示しである部分は演算レジスタからの演算
結果の隣接プロセッシング・エレメントの演算レジスタ
への転送を意味し、“W ++と示しである部分は演算
結果の演算レジスタへの書き込みを意味する。ここで、
II Rに)A″と“′Aに)R11に関しては、その
機能を必要としないタイプの演算では、単に段数合わせ
レジスタを通過するだけになる。
このパイプラインを毎サイクル連続して実行することに
より、パイプラインの立ち上がり後には、実質的に1マ
シン・サイクルで全てのタイプの演算が可能となる。
但し、注吉事項として、“ALU→レジスタ転送演算゛
の後の2クロック以内に゛レジスタ→ALU転送演算゛
を開始することが出来ない。これは、隣接プロセッシン
グ・エレメント間の通信路をAに)R”と“R→A゛の
両方で共有していることから、このような条件で使うと
競合が発生するためである。
〔実施例〕
第4図は本発明の制御回路の構成例を示すブロツク図で
ある。同図において、20はプログラム・カウンタ、2
1は制御卸コード・メモリ、22はレジスタ、23はデ
ゴーダ、24はパイプライン制′41■用調整レジスタ
、25はセレクタをそれぞれ示している。また、 ■AWE   演算レジスタへの書込み制御0:書き込
む、1:書き込まない ■ALUSEL  演算器入力セレクタの制?ff1l
O;自分の値、x:¥A接の値 ■0UTSEL  隣接通信出力セレクタ制?ff1O
:レジスタ11:演算器 ■lN5EL  隣接通信入力セレクタ制御00:東、
01:西、 10:南、11:北■REGSEL  演
算レジスタ入力セレクタ制御0:自分の値、1:隣接の
値 ■RADR5I  演算レジスタ続出しアドレス上側■
RADR32演算レジスタ続出しアドレス下側■WAD
RS  演算レジスタ書込みアドレス■OPC’GnR
5へのオペレーション・コードをそれぞれ示す。
S rMD型の並列計算機においては、全てのプロセッ
シング・エレメントが同一の動作を行い、1個の制御回
路が全てのプロセッシング・エレメントを制御する。制
御コード・メモリ21には複数の制御コードが格納され
ている。制御コードは、モードや通信方向、読出しアド
レス1.読出しアドレス2.書込みアドレス、演算器オ
ペレーション・コード、順序制御のための情報からなる
。モーL!:Lテハ、NOP、R→A、A===>R,
NOCOM(通信を伴わない演算)等がある。プログラ
ム・カウンタ20から出力されたアドレスに対応する制
御コードが制御コード・メモリ21から読み出され、読
み出された制御コードはレジスタ22にセットされる。
レジスタ22に格納された制御コードの内のモードを示
す部分は、デコーダ23によってデコードされる。モー
ドがNOPの場合には、デコーダ23のNOP出力端子
からは1が出力され、R→A出力端子からは0が出力さ
れ、A=>R出力端子からはOが出力される。モードが
R=>Aの場合には、デコーダ23のNOP出力端子か
らはOが出ノ】され、R=+A=+端子からは1が出力
され、Aに)R出力端子からはOが出力される。モード
がΔ−+Rの場合には、デコーダ23のNOP出力端子
からは0が出力され、R===>A出力端子からは0が
出力され、A→R出力端子からは1が出力される。
モードがNOCOMの場合には、デコーダ23のNOP
出力端子からは0が出力され、R=+人出力出力端子は
Oが出力され、A→R出力端子からは0が出力される。
レジスタ22に格納された制御コードの演算器オペレー
ション・コードは、3段のパイプライン制御用タイミン
グ調整レジスタ24を介して演算器2に供給される。制
御コードの書込みアドレスは、5段の調整レジスタ24
を介して演算レジスタ1  (3ポ一トSRAMで構成
)に与えられる。
続出しアドレス2は1段の調整レジスタ24を介して演
算レジスタ1に与えられ、同様に読出しアドレス1は1
段の調整レジスタ24を介して演算レジスタ1に与えら
れる。制?11コードの通信方向は、3段の調整レジス
タ24または5段の調整レジスタ24を介して隣接通信
入力セレクタ5に与えられる。セレクタ25は、選択制
御信号として0が入力された場合には左側入力を選択出
力し、選択制御信号として1が入力された場合には右側
入力を選択出力する。デコーダ23のAに)R出力端子
から出力されるデータは、5段の調整レジスタ24を介
して演算レジスタ入ツノセレクタ4にREGSELとし
て与えられ、3段の調整レジスタ24を介して隣接通信
出力セレクタ6に0UTSELとして与えられる。デコ
ーダ23のR=>A出力端子から出力されるデータは、
3段の調整レジスタ24を介して演算器入力セレクタ3
にALUSELとして与えられる。デコーダ23のNO
P出力端子から出力されるデータは、3段の調整レジス
タ24を介して演算レジスタ1に*WEとして与えられ
る。なお、*WEは、0で有効である。
モードがNOPの場合には、この制御″J■コードによ
っては演算レジスタ1は更新されない。
モードがR→Aの場合には、#1クロックに同期して演
算レジスタlからデータが読み出される。
#2クロックに同期して、演算レジスタ1の上側出力は
隣接通信出力セレクタ6 (OUTSEL= O)を介
してレジスタ17にセントされ、下側出力はレジスタ9
にセットされる。#3クロックに同期して、レジスタ1
7のデータは隣接するプロセッシング・エレメントのレ
ジスタ13〜16にセントされ、レジスタ9のデータは
レジスタ1oに移される。これと同時に、隣接通信入力
セレクタ5は1個のデータを選択出力し、演算器入力セ
レクタ3 (ALUSEL= 1 )は上側入力を選択
出力し、演算器2にオペレーション・コードが与えられ
る。μ4クロンクに同期して、演算器2の出力は、レジ
スタ11にセントされる。#5クロックに同期して、レ
ジスタ11のデータはレジスタ12に移される。これと
同時に、演算レジスタ入力セレクタ4 (REGSEL
= O)は下側入力を選択出力すると共に、演算レジス
タ1にOの書込み指示*WEが与えられる。
モードがA=>Rの場合には、#1クロツタに同期して
演算レジスタ1からデータが読み出される。
#2クロンクに同期して、演算レジスタ1の上側出力は
レジスタ8にセットされ、下側出力はレジスタ9にセン
トされる。#3クロンクに同期して、レジスタ7のデー
タはレジスタ8に移され、レジスタ9のデータはレジス
タ10に移される。これと同時に、演算器入力セレクタ
3(^LUSEL= O)は下側入力を選択出力し、演
算器2にオペレーション・コードが与えられ、隣接通信
出力セレクタ6 (OIJTSEL= 1 )は下側入
力を選択出力する。#4クロックに同期して、演算器2
の出力は、レジスタ17にセットされる。#5クロック
に同期して、レジスタ17のデータは、隣接するプロセ
ッシング・エレメントの入力レジスタ13〜16にセッ
トされる。これと同時に、隣接通信入力セレクタ5は指
定された入力を選択出力し、演算レジスタ入力セレクタ
4 (REGSEL= 1 )は上側入力を選択出力し
、演算レジスタ1に0の書込み指示*WEが与えられる
−E−FがNOCOMの場合には、#1クロックに同期
して演算レジスタ1からチ゛−夕が読み出される。#2
クロンクに同期して、(寅算しジスク1の上側出力はレ
ジスタ7にセットされ、下側出力はレジスタ9にセット
される。#3クロンクに同期して、レジスタ7のデータ
はレジスタ8に移され、レジスタ9のデータはレジスタ
1oに移される。これと同時に、演算器入力セレクタ3
 (ALIISEL=0)は下側入力を選択出力し、演
算器2にオペレーション・コードが与えられる。#4ク
ロックに同期して、演算器2の出力は、レジスタ11に
セットされる。#5クロックに同期して、演算レジスタ
入力セレクタ4 (REGSEL= 0 )は下側入力
を選択出力し、演算レジスタlに0の書込み指示*WE
が与えられる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、S 
IMD型の並列計算機において、パイプライン処理をす
ることにより、隣接プロセッシング・エレメント間の通
信を含む演算を、通信を含まない演算と同様に1マシン
・サイクルで実行でき、通信を多く含む並列プログラム
の高速化に大きく寄与できる。
スタ、20・・・プログラム・カウンタ、21・・・制
御’Il!コード・メモリ、22・・・レジスタ、23
・・・デゴーダ、24・・・パイプライン制御用調整レ
ジスタ、25・・・セレクタ。
特許出願人   冨士通株式会社 代理人弁理士  京 谷 四 部
【図面の簡単な説明】
第1図は本発明を適用したプロセッシング・エレメント
のデータ・バスを示す図、第2図は第1図のプロセッシ
ング・エレメントを格子結合して構成された並列計算機
を示す図、第3図は本発明によるパイプライン動作を示
したタイミング・チャート、第4図は本発明を実施する
上で必要な制御回路の構成例を示すブロフク図である。 1・・・演算レジスタ用の3ポ一トSRAM、2・・・
演算器、3・・・演算器入力セレクタ、4・・・演算レ
ジスタ入力セレクタ、5・・・隣接通信入力セレクタ、
6・・・隣接通信出力セレクタ、7ないし17・・・レ
ジデロセッシ〉グ・エレメント間捧撓 第2 図 1に 午 ぐ 本WE  ALL5EL CLffSEL REGSE
LINsEL  R旺択S1  剛りR父 W^OR5
PC 制#口外 第4図

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)に書き込むステージを具備するように構成されてい
    る ことを特徴とする高速通信機構を持った並列計算機。
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 true JPH032989A (ja) 1991-01-09
JP2717850B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165756A (ja) * 2006-12-01 2008-07-17 Thomson Licensing ローカル・レジスタを有する処理要素のアレイ
DE102018104620A1 (de) 2017-03-24 2018-09-27 Tdk Corporation Magnetsensor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165756A (ja) * 2006-12-01 2008-07-17 Thomson Licensing ローカル・レジスタを有する処理要素のアレイ
DE102018104620A1 (de) 2017-03-24 2018-09-27 Tdk Corporation Magnetsensor

Also Published As

Publication number Publication date
JP2717850B2 (ja) 1998-02-25

Similar Documents

Publication Publication Date Title
US9760373B2 (en) Functional unit having tree structure to support vector sorting algorithm and other algorithms
EP0075593B1 (en) A bit slice microprogrammable processor for signal processing applications
US5872987A (en) Massively parallel computer including auxiliary vector processor
EP0031889A1 (en) Processor on a single semiconductor substrate
EP0539595A1 (en) Data processor and data processing method
JPS61276032A (ja) 情報処理装置
JPH06195322A (ja) 汎用型ニューロコンピュータとして用いられる情報処理装置
Agrawal et al. MARS: A multiprocessor-based programmable accelerator
JPS60218138A (ja) 事象駆動形アルゴリズムを実行するコンピユータ装置
Hwang et al. Vector computer architecture and processing techniques
CA2304609A1 (en) Autonomously cycling data processing architecture
JP3822568B2 (ja) イベント処理
JPH032989A (ja) 高速通信機構を持った並列計算機
EP0164418B1 (en) Microprogram control system
US20220019437A1 (en) Clearing Register Data
US8856493B2 (en) System of rotating data in a plurality of processing elements
JP2638613B2 (ja) プログラマブル アクセラレータ及びその方法
RU2819403C1 (ru) Векторное вычислительное ядро
US9141498B2 (en) Method for verification of reconfigurable processor
Fellman Design issues and an architecture for the monolithic implementation of a parallel digital signal processor
US20230071941A1 (en) Parallel processing device
US5027300A (en) Two level multiplexer circuit shifter apparatus
JPS61114341A (ja) 処理システム
EP0394362A4 (en) Method and apparatus for aligning the operation of a plurality of processors
Rashidova et al. A brief history of computers

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees