JPH0713957A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPH0713957A
JPH0713957A JP5157633A JP15763393A JPH0713957A JP H0713957 A JPH0713957 A JP H0713957A JP 5157633 A JP5157633 A JP 5157633A JP 15763393 A JP15763393 A JP 15763393A JP H0713957 A JPH0713957 A JP H0713957A
Authority
JP
Japan
Prior art keywords
mask
processor
flag
instruction
processors
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.)
Pending
Application number
JP5157633A
Other languages
English (en)
Inventor
Seigo Suzuki
清吾 鈴木
Masashi Takahashi
真史 高橋
Hiroshige Fujii
洋重 藤井
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5157633A priority Critical patent/JPH0713957A/ja
Publication of JPH0713957A publication Critical patent/JPH0713957A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 この発明は、処理速度の高速化を図った並列
プロセッサを提供することを目的とする。 【構成】 この発明は、プロセッサPE1,PE3から
引き出される配線を直接外部と接続する第1のピン1
W,3W等と、プロセッサPE2,PE4から引き出さ
れる配線を隣接するプロセッサPE1,PE3をバイパ
スして外部と接続する第2のピン2E,4E等を有し、
第1のピン等及び第2のピン等のみを介して1チップ化
された複数のプロセッサが二次元トーラス結合されて構
成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、複数のプロセッサを
使用して処理を実行する並列プロセッサに関する。
【0002】
【従来の技術】従来は、LSIチップ間の接続は、パッ
ケージのピンを介して一旦基板に落とし、基板上の配線
を経て他のパッケージのピンに接続される。
【0003】特に、並列プロセッサのトーラス(捻れ)
接続の場合には、図7に示すように基板上の両端を結ぶ
配線が必要となるが、これは特に基板が大きくなった場
合は非常に長いものとなり、チップの間の高速なデータ
転送に障害となっていた。
【0004】更に隣接チップ同志の接続においても、従
来の様に各プロセッサの入出力ピンを逐一基板上に一旦
落としてから配線していると、これによって付加容量が
大幅に増えてしまっていた。しかし、全体の速度が数十
MHZ以下の場合は、このような事情は障害とはなら
ず、問題にされていなかった。
【0005】一方、単純な二次元格子構造は、構成が極
めてシンプルでLSIとして最も作りやすいもののエッ
ジ(端)の部分が構造的に非対象となる為、4辺の部分
の処理が非常に複雑になる。これを解決する為、トーラ
ス結合が提案されており、実際にも多く使われている。
【0006】しかし、この二次元トーラス構造をLSI
で実現しようとすると、両端の捻れの部分の結線処理が
難しくなり、両端(二辺)を結ぶワイヤの長さが長くな
り、時には数十cmから、1m以上にもなってしまう。
【0007】仮に1mとすると、この配線自体での伝搬
遅れが4nsも生じてしまう。これでは原理的にも25
0MHz以上のやり取りは不可能である。更に、この長
大な配線長に起因する負荷容量は非常に大きく、一般に
基板上に配線した場合は>100pFともなる。
【0008】このため、特にCMOSにて駆動した場
合、この負荷容量による遅れが>10数nsにもなり、
両者の影響で、端から端までの遅延時間は20ns前後
になってしまう。こうなると全体のやり取りの速度は高
々50MHz程度となってしまい、性能面で大きなネッ
クとなる。
【0009】また、最近はプロセッサの内部動作速度は
非常に向上しており、200から400MHzも可能に
なってきている。内部が400MHzで動くプロセッサ
同志のやり取りが50MHzでしかできないとなると、
このバランスを取るためのシステム的な配慮が複雑とな
る。特に、数多くのプロセッサの動作をお互いに同期を
取って制御しあう必要のある、超並列プロセッサアレー
においては、このアンバランスは致命的に問題である。
【0010】一方、近年、多数の要素プロセッサを同時
に動作させることによって、高速処理を可能とするSI
MD(Single instruction Multiple ata Stream)型並
列プロセッサが開発されている。そのような並列プロセ
ッサは、例えば図8に示すような構成になっている。同
図で、このSIMD型並列プロセッサは、制御プロセッ
サ11、全体メモリ12、グローバルバス13、複数台
の要素プロセッサ14、ローカルメモリ15、通信ネッ
トワーク16から構成される。制御プロセッサ11には
全体メモリ12が接続され、要素プロセッサ14にはそ
れぞれローカルメモリ15が接続される。制御プロセッ
サ11と各要素プロセッサ14は、命令供給バス13で
接続される。要素プロセッサ14は、ネットワーク16
で相互接続される。ネットワーク16の形態としては、
格子結合、2進nキューブ結合、木結合等、多くのもの
が知られている。
【0011】制御プロセッサ11は、全体メモリ12に
格納されている命令列を逐次読み込み、制御プロセッサ
11で実行すべき命令であれば制御プロセッサ11自身
で実行し、要素プロセッサ14で実行すべき命令であれ
ばグローバル13を介して全要素プロセッサ14に放送
する。
【0012】図9に要素プロセッサ14の構成図を示
す。
【0013】要素プロセッサ14は、制御プロセッサ1
1からの命令を実行する演算処理ユニット41と、演算
処理ユニット41での命令実行を抑制するマスクフラグ
42から構成される。演算処理ユニット41は、マスク
フラグ42がセットされていなければ、制御プロセッサ
11からの命令にしたがって、算術論理演算、ローカル
メモリ15へのアクセス、通信ネットワーク16を介し
ての他の要素プロセッサとの通信等の処理を行う。マス
クフラグ42がセットされていれば、演算処理ユニット
は制御プロセッサ11からの命令を実行しない。このマ
スクフラグ42によって、制御プロセッサからの命令に
対して、処理を行う要素プロセッサと処理を行わない要
素プロセッサを設定することができ、MIMD(Multip
le Instruction Multiple Data Stream )処理をエミュ
リレートすることができる。
【0014】マスクフラグ42の設定は、ソースプログ
ラムのifブロック等の条件判断に対応して行われる。
このような、マスクフラグが設定される状態をマスク階
層と呼ぶ。すなわちマスク階層に入るときに、if文等
による条件判断を行い、条件不成立のために処理を行わ
ない要素プロセッサのマスクフラグをセットする。そし
て、マスク階層を抜けるときにマスクフラグをリセット
する。あるマスク階層にいるときに、さらに新たなマス
ク階層に入るとき、すなわちifブロックが入れ子にな
っているような場合には、新たなマスク階層に入ると
き、現在のマスクフラグの状態を保存しておき、マスク
階層を抜けるときに、マスクフラグを復元する操作が必
要となる。マスクフラグの保存には、スタックを用い
る。
【0015】図10に、図11のプログラムをPE0〜
PE4の5つの要素プロセッサで実行する場合の、各要
素プロセッサのマスクフラグの値,メモリスタックの状
況を示す。
【0016】図11のプログラム中、iprocはプロ
セッサ番号を示す。このプログラムでは、Proces
aOをPE2が、Process bOをPE0と
PE1が、Process cOをPE3とPE4がそ
れぞれ実行する。以下ではプログラムの行ごとに説明す
る。初期状態ではすべてのPEのマスクフラグはリセッ
トされているとする。
【0017】(1) ifブロックに入るので、現在のマス
クフラグ値をメモリスタックに退避する。その後、if
文の条件判断により、PE番号が2より大きいPE3,
PE4のマスクフラグがセットされる。
【0018】(2) ifブロックに入るので、現在のマス
クフラグ値をメモリスタックに退避する。その後、if
文の条件判断により、PE番号が2以外のPE、すなわ
ちPE0,PE1のマスクフラグがセットされる。PE
3,PE4は、すでにマスクフラグがセットされてい
る。
【0019】(3) Process aOが、マスクフラ
グのセットされていないPE2で実行される。
【0020】(4) メモリスタックからマスクフラグが回
復され、再度メモリスタックに退避される。PE3とP
E4はマスクされたままである。else文により、
(2) のif文と逆の条件判断により、PE2がマスクさ
れる。
【0021】(5) Process bOが、マスクフラ
グのセットされていないPE0,PE1で実行される。
【0022】(6) メモリスタックからマスクフラグが回
復される。
【0023】(7) メモリスタックからマスクフラグが回
復され、再度メモリスタックに退避される。すべてのマ
スクフラグがリセットされる。else文により、(1)
のif文と逆の条件判断により、プロセッサ番号が2以
下のPE、すなわちPE0,PE1,PE2のマスクフ
ラグがセットされる。
【0024】(8) Process cOが、マスクフラ
グのセットされていないPE3,PE4で実行される。
【0025】(9) メモリスタックからマスクフラグが回
復され、初期状態に戻る。
【0026】以上のようなマスク操作により、SIMD
制御でありながら、それぞれのPEで異なった処理を行
うMIMD処理をエミュレートできる。
【0027】以上で述べた方法では、マスク情報をメモ
リに退避するため、マスク階層が深くなると、頻繁にメ
モリアクセスが発生し、処理速度が低下する可能性があ
る。この対策として、要素プロセッサ内部にマスク情報
の退避用スタックを設けることが考えられるが、大幅な
ハードウェア量の増加につながる。
【0028】このようなマスク情報は、あるマスク階層
でマスクフラグがセットされると、その内側のマスク階
層ではマスクフラグがセットされたままである。したが
って、退避されるマスク情報は、マスクがセットされる
前は0が退避され、マスクがセットされてからは常に1
が退避される。つまり、マスクフラグが0から1に変化
したのがどのマスク階層かという情報さえあればもとの
状態が復元できる。したがって、従来のマスクフラグを
すべてスタックに退避する方法は、冗長な情報をスタッ
クに退避させており、その結果、性能低下、あるいはハ
ードウェア量の増大を引き起こしていると言える。
【0029】
【発明が解決しようとする課題】以上説明したように、
従来の並列プロセッサアレーにおいては、パッケージ間
の結線容量の増大によって、パッケージ間のデータ転送
速度が著しく劣化していた。また、二次元トーラス構造
を実現する場合、従来の構造では、両端の素子を結線す
るのに基板の端から端までの物理的に非常に長い配線が
必要となるが、これが結線容量を更に増加させていた。
【0030】一方、SIMD型並列プロセッサでは、M
IMD処理をエミュレートする手段としてマスク操作が
用いられる。ところが従来のマスク操作では、新たなマ
スク階層に入るごとにマスク情報を退避させるため、マ
スク階層が深くなると、マスク情報を記憶するために大
きな容量が必要となり、さらにマスク情報をメモリに記
憶させようとすると、処理速度が低下してしまうという
欠点があった。
【0031】そこで、この発明は上記に鑑みてなされた
ものであり、その目的とするところは、信号伝送能力の
向上あるいはマスク階層の変化を高速化することによっ
て、処理速度の高速化を達成し得る並列プロセッサを提
供することを目的とする。
【0032】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明は、1チップ化された複数のプ
ロセッサと、プロセッサから引き出される配線を直接外
部と接続する第1の端子と、プロセッサから引き出され
る配線を隣接するプロセッサをバイパスして外部と接続
する第2の端子とを有し、第1の端子及び第2の端子の
みを介して1チップ化された複数のプロセッサが二次元
トーラス結合されて構成される。
【0033】請求項2記載の発明は、複数の要素プロセ
ッサを統括制御する制御プロセッサと、単一命令、複数
データストリーム(SIMD)方式によって制御プロセ
ッサから発行される命令を実行処理する複数個の要素プ
ロセッサとを有する並列プロセッサにおいて、それぞれ
の要素プロセッサは、命令を実行処理する演算処理ユニ
ットと、制御プロセッサから発行される命令を演算処理
ユニットで実行処理するか否かを示すマスクフラグと、
マスクフラグにおけるマスクの階層を示すマスクカウン
タと、制御プロセッサからの指令及び演算処理ユニット
の処理結果に基づいてマスクフラグをセット/リセット
し、マスクの階層が進む毎にマスクカウンタのカウント
値を増加させ、マスクの階層が戻る毎にマスクカウンタ
のカウント値を減少させてマスクカウンタのカウント値
が0でマスクフラグをリセットするようにマスクフラグ
及びマスクカウンタを制御するマスク制御回路とから構
成される。
【0034】この発明は、請求項1記載の並列プロセッ
サにおいて、1チップ化された複数のプロセッサは、テ
ープキャリア(TAB)方式により二次元トーラス結合
されて構成される。
【0035】この発明は、請求項2記載の並列プロセッ
サにおいて、1チップ化された複数のプロセッサは、そ
の底面にヒートシンクが設けられて構成される。
【0036】
【作用】上記構成において、請求項1記載の発明は、隣
接するプロセッサの対向する端子同志を接続して、二次
元トーラス結合を実現するようにしている。
【0037】請求項2記載の発明は、マスク階層の変化
をマスクカウンタの増減によって表すようにしている。
【0038】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0039】図1は請求項1記載の発明の一実施例に係
わる並列プロセッサの配置構成を示す図である。
【0040】図1において、LSIチップ1の内部に、
4つの内部プロセッサPE1〜PE4が設けられてお
り、それぞれ対応するプロセッサPE1〜PE4をバイ
パスしてチップ1外へピンを介して入出力する配線路を
形成し、このピンを内部プロセッサから直接入出力され
るピンと並設している。
【0041】すなわち、例えばチップ1の左辺のピン1
WはプロセッサPE1に直接接続されるピンであるが、
ピン2EはプロセッサPE2のE側の配線をプロセッサ
PE1をバイパスさせてチップ1のW側に引き出させた
ものである。また、ピン3WはプロセッサPE3のW側
の入出力をそのままチップ1の外部に入出力するもので
あり、ピン4EはプロセッサPE4のE側の入出力をプ
ロセッサPE3をバイパスさせてチップのW側へ引き出
させるものである。
【0042】このようなピン配置構造において、例えば
図2に示すように格子状に接続配置することによって、
図7に示すような二次元トーラス結合網を実現すること
が可能となる。さらに、このように、互いに隣接したチ
ップのプロセッサ同志を基板を用いることなくピン同志
で接続することにより、図3に示すように、大規模な二
次元トーラス結合網を形成する並列プロセッサを実現す
ることができる。
【0043】このような接続方法を実現するにおいて、
チップ内部の配線構造を図1の如く設定し、図2に示す
ようにチップの四辺PE(i,j),PE(i+1,
J),PE(i,j+1),PE(i+j,j+1)の
各々のN,E,W,S各方向への隣接プロセッサへの接
続ピンを出しておくと、それらのピンを唯直接的に向か
い合った隣のピン同志を繋ぐのみで、複雑に見える二次
元トーラス構造が実現される。しかも、この構造自体
は、格子の大きさ、PEの数に対して普遍的であり、例
えば2×2から、1,000 ×1,000 のいわゆるミリオン・
プロセッサ迄、基本的に対応できるものである。
【0044】このような構造においては、送信側の出力
バッファの負荷容量の総量は高々10PE程度となり、
信号線の抵抗も、隣接LSIと接続するのみとなるの
で、距離が短く問題にならない。このため、出力信号の
遅延1ns以下に納まるので、数百MHzオーダの高速
伝送が容易に実現する。
【0045】ここで、300MHz程度のデータ転送が
可能であるから、例えば64本のピンを用いて300M
ワードのデータ転送が可能と言うことになり、基本的に
はプロセッサの能力が300MIPs迄は十分良好なバ
ランスとなる。
【0046】一例として、メッシュ構造の並列プロセッ
サアレーの場合、隣接するN.E.W.Sの4方向のプ
ロセッサに対し本案の接続を行なうと、64ビット(8
バイト)構成として、このプロセッサ周りのデータ伝送
能力(帯域)は8×4×300M=9,600M=9.
6G バイト/Sに達する。更に、この伝送路を往復二
重化し128ピン/チャンネルとすると、19.2Gバ
イトという高帯域が実現される。これをビットに直すと
153.6Gビット/Sの超高速伝送となる。
【0047】ちなみに、現在最も高速と見なされる光技
術による伝送では、10−20Gビット/Sが得られて
いるが、100Gビット/Sを越える伝送は非常に難し
く、コストもかかる。
【0048】コストに関しては本案は極めて有利であ
る。光技術の如き特殊な部品や技術は必要とせず、単に
隣のLSIとの間を接続すれば良く、最も簡便である。
ちなみに、100MHオーダーで動作可能なプリント基
板は存在しても極めて高価であり、更に1000ピンレ
ベルのピン・ピッチに対応する加工精度を実現する事
は、事実上困難である。
【0049】次に、この発明に係わる並列プロセッサの
構造について、図4を参照して説明する。
【0050】図4(A)は図3に示す二次元トーラス構
造の並列プロセッサアレーの斜視図、同図(B)は同図
(A)の断面図である。
【0051】図4において、この実施例は図3に示す二
次元トーラス結合された並列プロセッサをテープキャリ
ア(TAB)方式により実装したことを特徴とするもの
である。
【0052】図4において、2はフィルム上の平板であ
って、チップ3を実装する部分にチップ3の大きさに相
応した(一般的にはチップより多少大きい)穴を有し、
この複数の穴にチップ3が収まる。これらのチップ3と
該フィルム状平面上の金属配線(引き出し線)とは、図
4(B)の断面図に示すように接続されている。図4
(B)において4は絶縁膜(平板上)、5は金属その他
による導熱のヒートシンクである。容量6はフィルム2
とヒートシンク5との間の寄生容量であり、この大きさ
が上述した様に高速化に非常に強く関係する。
【0053】ヒートシンク5は通常金属板状のものを用
いるが、その他にもセラミックや人工ダイヤモンド粉の
ごとき、導熱性は良く、導電性の無いものを選べば、容
量6の寄生容量は極めて小さいものとなる。
【0054】更に、フィルム2による多数の結線で機械
的強度が十分な場合は絶縁膜4を取除くことも可能であ
り、その他空中配線構造とした場合は、容量6(含むピ
ン間容量)は更に一層小さな値となる。
【0055】図4に示すような構造を採れば、各プロセ
ッサの隣接プロセッサ迄の結線は極めて短くなり、特に
TAB構造を応用して、二次元に広げた形状を採用すれ
ば、二次元メッシュ構造のプロセッサアレーが極めて容
易に実現できる。
【0056】更にこの構造を考察すると、各プロセッサ
の出力ピンに負荷となってつながる容量は、高々、自分
のバッファ回路容量と、TAB構造のピン容量、相手
(受け側)の入力容量の総和のみである。
【0057】このTAB構造の場合の負荷容量は、高々
1.5PF+0.5PF+0.5PPF=2.5PFで
あるが、通常バッファの自己容量はカウントしないので
0.5+0.5PF=1.0PFとなり、通常の出力バ
ッファ(ドライブ)回路を用いると遅れ時間は約0.3
ns程度である。
【0058】しかし、TAB構造によらず、通常のパッ
ケージを用いた場合はもう少し容量が大きくなり、パッ
ケージ容量が2PF程度であるから2PF+2PF+2
PF=6PFとなり、1.5ns程度の遅れとなる。即
ち、通常のパッケージを用いた実装でも、原理的に66
6MHzのデータ転送が可能になり、更にTAB構造を
使用すれば、3GHzの超高速データ転送が、通常のC
MOS回路によっても可能になる。
【0059】これは、一般的にこのスピードの転送には
GaAs等の特殊な材料が必要とされていた常識を覆え
すものである。
【0060】またさらに、TAB方式を採用すれば、負
荷要領の増大、更に加工精度の問題は一層有利な方法で
同時に解決される。
【0061】即ち、二次元平面に展開したフィルム上の
平面をLSIのチップサイズに相当する部分を切り取っ
て、TAB技術によって、複数個のチップをフィルム上
の平面に実装する。この場合、隣接するチップ同志はチ
ップ間の隙間に存在するTABの金属片に形成された複
数のピンに依って接続される。チップ間の距離は3−1
0mm程度となる。
【0062】このため、結線の長さも同程度となる。従
って、結線の抵抗は一般的な金に依る場合は、殆ど無視
出来るし、これによる寄生容量(負荷要領の一部)は、
高々0.1−0.2PFにすぎぬ非常に小さい値をと
る。
【0063】図5は請求項2記載の発明の一実施例に係
わる並列プロセッサにおける要素プロセッサの構成を示
すブロック図である。図5に示す要素プロセッサは図8
に示す並列プロセッサを構成するものである。
【0064】図5において、要素プロセッサは14は、
処理ユニット401,マスクフラグ(mask f)4
02,マスクカウンタ(m counter)403、
マスク制御回路404から構成される。
【0065】処理ユニット401は、マスクフラグ40
2がセットされていなければ、図8に示す制御プロセッ
サ11からの命令にしたがって、算術論理演算、ローカ
ルメモリ15へのアクセス、通信ネットワーク16を介
しての他の要素プロセッサとの通信等の処理を行う。マ
スクフラグ402がセットされていれば、処理ユニット
401は、制御プロセッサ11からの命令を実行しな
い。
【0066】また、処理ユニット401には、整数演算
および浮動小数点演算のコンディション・コードを保持
するレジスタを持つ。これは、条件コードによる分岐命
令や、後述する条件コードによるマスク命令実行時に参
照される。
【0067】マスクフラグ402,マスクフラグ403
は、制御プロセッサ11からの命令によって、マスク制
御回路404によって制御される。以下に、マスクフラ
グ402,マスクカウンタ403を制御する命令と、こ
れらの命令によって、マスク制御回路404がどのよう
な制御を行うかを説明する。
【0068】(1) 整数条件コードによるマスク命令(M
icc) 整数演算のコンディションコードを参照し、条件が成立
するとマスクフラグをセットする。すでにマスクフラグ
がセットされている場合、条件不成立でもマスクフラグ
はリセットされない。
【0069】Micc命令は、表1に示す種類がある。
【0070】
【表1】 (2) 浮動小数点数条件コードによるマスク命令(fMf
cc) 浮動小数点演算結果による条件が成立するとマスクフラ
グをセットする。すでにマスクフラグがセットされてい
る場合、条件不成立でもマスクフラグはリセットされな
い。
【0071】fMfcc命令には、表2に示す種類があ
る。
【0072】
【表2】 (3) マスク階層更新命令(mpush) 新たなifブロック等のマスク階層に入るときに実行す
る。現在のマスク状態をスタックに退避するのと同等の
機能である。マスクフラグがセットされていれば、マス
クカウンタを1加算する。マスクフラグがセットされて
いなければ、マスクカウンタはそのまま(0のままのは
ず)である。
【0073】 (4) マスク階層復元命令(mpop) マスク階層から抜けるときに実行する。前回のマスク状
態をスタックから回復するのと同様の機能である。マス
クカウントが0よりも大きければ、マスクカウンタを1
減算する。マスクカウンタが0ならば、マスクカウンタ
はそのまま(0のまま)でマスクフラグをリセットす
る。
【0074】 (5) マスク反転命令(mrev) else文の実行のように、マスク状態を反転する場合
に実行する。マスクカウンタが0ならば、マスクフラグ
の値を反転する。マスクカウンタが0よりも大きけれ
ば、マスクフラグはそのまま(1のままのはず)であ
る。
【0075】 このようなマスク制御機構、および命令を用いて、図1
1に示すプログラムをPE0〜PE4の5台の要素プロ
セッサを持つSIMD型並列プロセッサで実行する場合
のアセンブラ命令列、各要素プロセッサでのマスクフラ
グ、マスクカウンタの値を図6に示す。
【0076】図11のプログラム中、iprocはプロ
セッサ番号を示す。このプログラムでは、proces
a0をPE2が、process b0をPE0と
PE1が、process cをPE3とPE4がそれ
ぞれ実行する。以下ではプログラムの行ごとに説明す
る。初期状態ではすべてのPEのマスクフラグはリセッ
トされているとする。
【0077】(1) ifブロックに入るので、現在のマス
ク状態を退避するために、マスク階層更新命令(mpu
sh)を実行する。すべてのマスクフラグはリセットさ
れているので、なにも変化しない。その後、cmp命令
によって整数条件コードが設定され、さらに整数条件コ
ードによるマスク命令(mg)により、PE番号が2よ
り大きいPE3,PE4のマスクフラグがセットされ
る。
【0078】(2) 新たなifブロックに入るので、mp
ush命令を実行する。マスクフラグのセットされてい
るPE3,PE4のマスクカウンタが更新されて1にな
る。その後、cmp,mne命令により、PE番号が2
以外のPE、すなわちPE0,PE1のマスクフラグが
セットされる。PE3,PE4は、すでにマスクフラグ
がセットされている。
【0079】(3) process a0が、マスクフラ
グのセットされていないPE2で実行される。
【0080】(4) else文に対応して、マスク反転命
令(mrev)命令が実行される。マスクカウンタが0
であるPE0,PE1,PE2のマスクフラグが反転さ
れる。すなわち、PE0,PE1のマスクフラグはリセ
ットされ、PE2のマスクフラグはセットされる。
【0081】(5) process b0が、マスクフラ
グのセットされていないPE0,PE1で実行される。
【0082】(6) ifブロックを抜けるので、マスク階
層復元命令(mpop)が実行される。この命令によ
り、マスクカウンタが0である。PE0,PE1,PE
2は、マスクフラグがリセットされる。マスクカウンタ
が0でないPE3,PE4は、マスクフラグは1のまま
で、マスクカウンタが1減算されて0になる。
【0083】(7) else文に対応して、mrev命令
が実行される。マスクカウンタはすべて0なのですべて
のマスクフラグが反転される。すなわちPE0,PE
1,PE2のマスクフラグはセットされ、PE3,PE
4のマスクフラグはリセットされる。
【0084】(8) process c0が、マスクフラ
グのセットされていないPE3,PE4で実行される。
【0085】(9) ブロックを抜けるので、mpop命令
が実行される。すべてのマスクカウンタは0なので、す
べてのマスクフラグがリセットされ、プログラム実行開
始前の状態に戻る。
【0086】以上のように、上記実施例のSIMD型並
列プロセッサでは、従来必要であったマスクフラグのス
タックへの退避が必要ない。特にマスク階層が深い場合
には、従来のメモリスタックを用いる方法よりもはるか
に高速であり、また、従来のレジスタスタックを用いる
方法よりもはるかに少ないハードウェア量でマスク操作
を行うことができる。ソースプログラムからアセンブラ
命令列への変換も極めて無理なく行うことができる。し
かも、追加したハードウェア量は、マスクカウンタとわ
ずかな論理回路のみであり、高い価格性能比が実現でき
る。
【0087】
【発明の効果】請求項1記載の発明のチップ構造を採用
すれば、極めて簡単に二次元トーラス構造が実現でき、
しかも、従来大いに問題であった両端の辺同志を結ぶ長
大な結線を不要にすることができる。これによって、チ
ップ間のやり取りが総て平均化し、且つ非常に高速にな
り、プロセッサシステムの性能を大幅に向上させること
ができる。
【0088】請求項2記載の発明のチップ構造を採用す
れば、従来のTAB構造を応用して、二次元の構造に拡
張し、TABのピンを介して直接隣のチップに接続する
構造によって、チップ間の寄生容量を大幅に減少させる
ことができ、この結果チップ間のやり取りを大幅に高速
化できる。
【0089】請求項4記載の発明によれば、制御プロセ
ッサと複数の演算プロセッサから構成される並列プロセ
ッサにおいて、各要素プロセッサにマスクカウンタ、お
よびマスクフラグ/マスクカウンタを制御する回路を設
け、これらを制御する命令を追加することによって、マ
スクを用いてMIMD処理をエミュレートする場合に、
少ないハードウェア量で、かつ高速に実行することがで
きる。このため、極めて価格性能比の高い並列プロセッ
サを実現できる。
【図面の簡単な説明】
【図1】請求項1記載の発明の一実施例に係わる並列プ
ロセッサの構成を示す図である。
【図2】図1に示す並列プロセッサのトーラス結合を示
す図である。
【図3】図1に示す並列プロセッサのトーラス結合を示
す図である。
【図4】図1に示す並列プロセッサをTAB方式により
接続したトーラス結合を示す図である。
【図5】請求項2記載の発明の一実施例に係わる並列プ
ロセッサにおける要素プロセッサの構成を示す図であ
る。
【図6】図4に示す要素プロセッサを含む並列プロセッ
サの動作の一実施例を示す図である。
【図7】従来のトーラス結合網を示す図である。
【図8】SIMD型並列プロセッサの構成を示す図であ
る。
【図9】図8に示す並列プロセッサにおける従来の要素
プロセッサの構成を示す図である。
【図10】図9に示す従来の要素プロセッサ含む並列プ
ロセッサの動作の一実施例を示す図である。
【図11】図8に示す並列プロセッサが実行するプログ
ラムの一実施例を示す図である。
【符号の説明】
1,3 チップ 2 フィルム 5 ヒートシンク PE1〜PE4 内部プロセッサ 1W,2E,3W,4E ピン 11 制御プロセッサ 12 全体メモリ 13 グローバルバス 14 要素プロセッサ 15 ローカルメモリ 16 通信ネットワーク 401 演算処理ユニット 402 マスクフラグ 403 マスクカウンタ 404 マスク制御回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 1チップ化された複数のプロセッサと、 プロセッサから引き出される配線を直接外部と接続する
    第1の端子と、 プロセッサから引き出される配線を隣接するプロセッサ
    をバイパスして外部と接続する第2の端子とを有し、 第1の端子及び第2の端子のみを介して1チップ化され
    た複数のプロセッサが二次元トーラス結合されてなるこ
    とを特徴とする並列プロセッサ。
  2. 【請求項2】 複数の要素プロセッサを統括制御する制
    御プロセッサと、 単一命令、複数データストリーム(SIMD)方式によ
    って制御プロセッサから発行される命令を実行処理する
    複数個の要素プロセッサとを有する並列プロセッサにお
    いて、 それぞれの要素プロセッサは、 命令を実行処理する演算処理ユニットと、 制御プロセッサから発行させる命令を演算処理ユニット
    で実行処理するか否かを示すマスクフラグと、 マスクフラグにおけるマスクの階層を示すマスクカウン
    タと、 制御プロセッサからの指令及び演算処理ユニットの処理
    結果に基づいてマスクフラグをセット/リセットし、マ
    スクの階層が進む毎にマスクカウンタのカウント値を増
    加させ、マスクの階層が戻る毎にマスクカウンタのカウ
    ント値を減少させてマスクカウンタのカウント値が0で
    マスクフラグをリセットするようにマスクフラグ及びマ
    スクカウンタを制御するマスク制御回路とを有すること
    を特徴とする並列プロセッサ。
JP5157633A 1993-06-28 1993-06-28 並列プロセッサ Pending JPH0713957A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5157633A JPH0713957A (ja) 1993-06-28 1993-06-28 並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5157633A JPH0713957A (ja) 1993-06-28 1993-06-28 並列プロセッサ

Publications (1)

Publication Number Publication Date
JPH0713957A true JPH0713957A (ja) 1995-01-17

Family

ID=15653990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5157633A Pending JPH0713957A (ja) 1993-06-28 1993-06-28 並列プロセッサ

Country Status (1)

Country Link
JP (1) JPH0713957A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310166A (ja) * 2004-04-22 2005-11-04 Sony Computer Entertainment Inc Simd命令セットプロセッサに対するマルチスカラ拡張
JP2007249744A (ja) * 2006-03-17 2007-09-27 Fukushima Prefecture 演算処理ユニット
JP2013161271A (ja) * 2012-02-06 2013-08-19 Ricoh Co Ltd Simd型マイクロプロセッサ
JP2014186509A (ja) * 2013-03-22 2014-10-02 Research Organization Of Information & Systems 半導体チップ、半導体チップ接続システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310166A (ja) * 2004-04-22 2005-11-04 Sony Computer Entertainment Inc Simd命令セットプロセッサに対するマルチスカラ拡張
JP2007249744A (ja) * 2006-03-17 2007-09-27 Fukushima Prefecture 演算処理ユニット
JP2013161271A (ja) * 2012-02-06 2013-08-19 Ricoh Co Ltd Simd型マイクロプロセッサ
JP2014186509A (ja) * 2013-03-22 2014-10-02 Research Organization Of Information & Systems 半導体チップ、半導体チップ接続システム

Similar Documents

Publication Publication Date Title
JP6856612B2 (ja) 多層相互接続による分散型プロセッサを有する処理システム
JP4542845B2 (ja) システム・オン・チップ設計のための構成要素としての自己完結型プロセッサ・サブシステムおよびネットワーク・プロセッサ
US8127112B2 (en) SIMD array operable to process different respective packet protocols simultaneously while executing a single common instruction stream
US9384165B1 (en) Configuring routing in mesh networks
US8050256B1 (en) Configuring routing in mesh networks
US20170192926A1 (en) Configurable Mesh Data Bus In An Island-Based Network Flow Processor
KR100259276B1 (ko) 대역폭확장이 가능한 상호연결망
US7386689B2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JP2004086906A (ja) 分割されたシステムデータバスに連結されるメモリモジュールを具備する半導体メモリシステム
US7409529B2 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
US20060218375A1 (en) System and method of transferring data between a massive number of processors
US6263415B1 (en) Backup redundant routing system crossbar switch architecture for multi-processor system interconnection networks
US6597692B1 (en) Scalable, re-configurable crossbar switch architecture for multi-processor system interconnection networks
US6567909B2 (en) Parallel processor system
JPH0713957A (ja) 並列プロセッサ
JPH0675930A (ja) 並列プロセッサシステム
JP3015428B2 (ja) 並列計算機
US20020194370A1 (en) Reliable links for high performance network protocols
US5151995A (en) Method and apparatus for producing successive calculated results in a high-speed computer functional unit using low-speed VLSI components
JPH0675931A (ja) コンピュータ・システム
US6934597B1 (en) Integrated circuit having integrated programmable gate array and method of operating the same
JP2912131B2 (ja) Lsi配線構造
JPS6146868B2 (ja)
JPH0652126A (ja) 相互接続ノード・ネットワークのメッセージ通過装置及びそのコンピュータ・システム
JPH05197696A (ja) ネットワーク