JPS6259347B2 - - Google Patents
Info
- Publication number
- JPS6259347B2 JPS6259347B2 JP4220882A JP4220882A JPS6259347B2 JP S6259347 B2 JPS6259347 B2 JP S6259347B2 JP 4220882 A JP4220882 A JP 4220882A JP 4220882 A JP4220882 A JP 4220882A JP S6259347 B2 JPS6259347 B2 JP S6259347B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- memory
- processors
- program
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
〔発明の属する技術分野〕
本発明は、並列処理方式、特に、データ処理装
置における並列処理方式に関する。 一般に、演算処理を高速化する方法の1つとし
て並列処理方式がある。 この並列処理方式は、処理すべきプログラムの
中で並列に実行できる部分を各々異なるプロセツ
サで実行し、N台のプロセツサで理想的にはN倍
の性能を得ようとするものである(実際には並列
に実行できない部分や並列動作を制御するための
余分な時間……オーバヘツド……のため、N倍以
下の性能しか得られない。) 〔従来技術〕 従来の並列処理方式は、制御プロセツサと、そ
れぞれがデータを記憶する複数のデータメモリ
と、前記制御プロセツサに並列に接続された複数
のプロセツサと、前記複数のプロセツサと前記複
数のデータメモリとを並行して相互に接続するた
めのメモリ・スイツチとを含み、前記複数のプロ
セツサのそれぞれはプロセツサエレメントと、前
記プロセツサエレメントを前記制御プロセツサと
接続するための制御プロセツサインターフエース
と、前記プロセツサエレメントを前記メモリスイ
ツチと接続するためのメモリスイツチインターフ
エースとを含んで構成される。 次に、従来の並列処理方式について、図面を参
照して詳細に説明する。 第1図は従来の並列処理システムの一例を示す
システム構成図であり、第2図は第1図に示すプ
ロセツサの一例を示す詳細ブロツク図である。 第1図に示す並列処理方式は、制御プロセツサ
CPと、この制御プロセツサCPに専用の制御専用
メモリCPM1,CPM2と、制御プロセツサCPに
並列接続されたプロセツサPP1〜PP16と、プ
ログラムおよびデータを記憶したメモリMM1〜
MM32と、16台のプロセツサと32台のメモリと
を相互に並行して接続するために16×32=512個
の接続点をもつメモリスイツチとを含んでいる。 プロセツサPP1〜PP16はいずれも同一の構
成をなし、第2図に示すように、プロセツサエレ
メントPEと、メモリスイツチインターフエース
MSIと、制御プロセツサインターフエースCPIを
含んでいる。メモリインターフエースMSIは、プ
ロセツサエレメントPEからデータあるいはプロ
グラムの読出を行なうためのアクセス要求をメモ
リスイツチMSを介してメモリMM1〜MM32に
供給するとともにメモリMM1〜MM32から読
み出したデータをプロセツサエレメントPEに供
給するとともにプロセツサエレメントPEでの演
算結果などをメモリMM1〜MM32に記憶させ
るために供給する。制御プロセツサインターフエ
ースCPIはインターフエースaを介して制御プロ
セツサCPと接続され、プログラム実行開始指示
STARTやプログラム実行停止指示STOPを制御
プロセツサCPから供給されて、プロセツサエレ
メントPEに供給したりプロセツサエレメントPE
からの処理終了通知ENDを制御プロセツサCPに
供給する。 すなわち、メモリスイツチMSを介して16台の
プロセツサPP1〜PP16が32台のメモリMM1
〜MM32にアクセスできるようになつており、
各プロセツサPP1〜PP16は各々独立にプログ
ラムを実行することが可能である。制御プロセツ
サCPはプロセツサPP1〜PP16とのインタフエ
ースaを通してプログラム実行開始指示START
を供給したり、プロセツサが実行を完了したとき
の処理終了通知ENDを受理する。 この制御プロセツサCPの制御の下でプロセツ
サPP1〜PP16は解くべきプログラム中の並列
処理部分について分担して実行する。たとえば、
a1+b1、a2+b2、……、ao+bn、という計算で
あればi番目のプロセツサPPiがai+biを計算
する。 このような従来の並列処理システムの性能を高
めるには各プロセツサの性能を高くするかプロセ
ツサの台数を増やす必要がある。 しかしながら、プロセツサの性能を高めるとそ
の装置寸法が大きくなり多数並べることが困難に
なる。さらに、プロセツサの台数を増やすとメモ
リを並行して使用できるようにするためにはメモ
リも増大する必要がありメモリスイツチはプロセ
ツサの台数とメモリの台数との積で増大して複
雑・大規模になり、やはり実現困難になる(たと
えばクロスバ・スイツチで考えるとプロセツサ台
数とメモリ台数を各々2倍にするとスイツチの規
模は2×2=4倍となる)。こうした欠点のため
大規模、超高性能の並列処理システムはほとんど
実用化されていない。 すなわち、従来の並列処理方式は並列度を増大
させることが困難であるという欠点があつた。 〔発明の目的〕 本発明の目的は並列度を増大できる並列処理方
式を提供することにある。 すなわち、本発明の目的は並列処理を分担する
各プロセツサをさらに複数のプロセツサエレメン
トからなる並列処理プロセツサとすることにより
メモリスイツチの規模を大きくすることなく並列
度を高めて上記欠点を解決し大規模、超高性能を
有する並列処理システムを提供することにある。 〔発明の構成〕 本発明の並列処理方式は、制御プロセツサと、
それぞれがデータを記憶する複数のデータメモリ
と、前記制御プロセツサに並列に接続された複数
のプロセツサと、前記複数のプロセツサと前記複
数のデータメモリとを並行して相互に接続するた
めのメモリ・スイツチとを含み、前記複数のプロ
セツサのそれぞれは、並列に設けられた複数のプ
ロセツサエレメントと、各プロセツサエレメント
に共通に設けられプログラムを記憶するプログラ
ムメモリと、前記複数のプロセツサエレメントを
前記制御プロセツサと接続するための制御プロセ
ツサインターフエースと、前記複数のプロセツサ
エレメントを前記メモリスイツチと接続するため
のメモリスイツチインターフエースと、前記メモ
リスイツチインターフエースに接続され前記デー
タメモリに記憶したデータの一部の写しを記憶す
るデータ用キヤツシユメモリとを含んで構成され
る。 すなわち、本発明の並列処理方式は、複数のプ
ロセツサエレメントと該複数のプロセツサエレメ
ントで共有されるプログラムメモリと該複数のプ
ロセツサエレメントで共有されるデータ用キヤツ
シユメモリと、該複数のプロセツサエレメントか
ら発生するデータメモリへのアクセス要求の中か
ら各データメモリアクセスタイミング毎に一つを
選択して処理する回路とから構成される演算処理
装置複数台と複数のデータメモリと任意の上記演
算処理装置から任意の上記データメモリへのアク
セスを可能にするメモリ・スイツチとを備えて構
成される。 さらに、本発明の並列処理方式は、上述の構成
に加えて、制御プロセツプと該制御プロセツサか
ら上記全プロセツサエレメントにプログラム実行
開始を指示する通信手段と上記各プロセツサエレ
メントからプログラム実行終了を上記制御プロセ
ツサに通知する手段とを備え、上記制御プロセツ
サの制御下で一つのプログラム中の並列処理部分
を上記全プロセツサエレメントにより並列に実行
するように構成される。 すなわち、本発明の並列処理方式は並列処理を
分担する各プロセツサを並列に動作する複数のプ
ロセツサエレメントで構成することにより、メモ
リスイツチの規模を大きくすることなく実質的な
並列処理プロセツサ台数を増やしている。 すなわち、本発明の並列処理システムは、n台
のプロセツサと、m台すなわち、n台あるいは
2n台などn台以上のデータメモリと、このn台
のプロセツサとm台のデータメモリとを接続する
ためのm×n個の接続点を有するメモリスイツチ
とを含み、このn台のプロセツサのそれぞれの1
台のプロセツサの内部構造をl台のプロセツサエ
レメントと、このl台のプロセツサエレメントで
共通的に使用される。メモリがl台のプロセツサ
エレメントの実行すべきプログラムを格納した1
台のプログラムメモリと、l台のプロセツサエレ
メントのそれぞれから前記m台のデータメモリへ
のアクセス要求を受けて、処理するメモリスイツ
チインターフエースとを含んでいる。すなわち、
このメモリスイツチインターフエースはメモリの
アクセスタイミング毎にl台のプロセツサエレメ
ントのうちの任意の1台以上のプロセツサエレメ
ントからのアクセス要求の中から1つを選択して
選択されたアクセス要求をメモリスイツチを介し
てデータメモリへ送出する。このアクセス要求が
読出要求であればデータメモリから送られてくる
データを要求元のプロセツサエレメントに渡す。
このように、メモリスイツチインターフエース
で、データメモリへのアクセス・インターフエー
スを1本に絞つているのでメモリスイツチの規模
(プロセツサを接続するためのインタフエース
数)を1/lにすることができる。この場合デー
タメモリへのアクセスがl台のプロセツサエレメ
ント間で競合するのでこれが性能上のボトルネツ
クになる可能性がある。 しかし、この問題は第1に、プロセツサエレメ
ントで共用するプログラム専用のプログラムメモ
リを持たせることで軽減している。すなわち、通
常のコンピユータではプログラムもデータも同じ
メモリに格納しているが本発明に使用するプロセ
ツサではプログラムはl台のプロセツサエレメン
トに共用される専用のプログラムメモリに格納さ
れているのでメモリスイツチインターフエースを
介してのメモリへのアクセスはデータに対するも
のに限られ、通常のコンピユータに比しアクセス
頻度は最大1/2位に低減される。 第2に、メモリスイツチインターフエースに接
続されたデータ用キヤツシユメモリによりデータ
メモリへのアクセス頻度をさらに軽減している。
すなわちデータ用キヤツシユ・メモリにはl台の
プロセツサエレメントで共通に利用できるデータ
(たとえば定数など)や計算の途中結果などかな
らずしもデータメモリに格納しておかなくてもよ
いデータを格納して、データメモリへアクセスす
る回数をへらす。 このため、メモリスイツチインターフエースは
プロセツサエレメントからデータメモリへのアク
セス要求があつた場合そのデータがすでにデータ
用キヤツシユメモリに格納されていないかを調べ
そこに格納されていればそこから読み出し、ない
ときのみデータメモリへ要求を出す。 〔実施例の説明〕 次に、本発明の実施例について、図面を参照し
て詳細に説明する。 第3図は本発明の一実施例を示すシステム構成
図、第4図は第3図に示すプロセツサの詳細ブロ
ツク図である。 プロセツサPP1′〜PP16′は内部に8台のプ
ロセツサエレメントPE1〜PE8を含む並列処理
方式のプロセツサで各々8個のプログラムを並列
に実行する能力を有しているがプロセツサの台数
やその中のプロセツサエレメントの台数はこの例
に限定されるものではない。 各プロセツサPP1′〜PP16′はメモリスイツ
チMSを介して任意のデータ・メモリDM1〜DM
32に対してデータの読出、書込ができる。デー
タメモリの台数は第3図では32台としているが、
これはプロセツサの台数やデータメモリの性能、
データメモリの使用頻度によつて定められこの例
に限定されるものではない。 また、メモリスイツチMSの構成については完
全なクロスバー方式をはじめとして多数の構成法
があるがそのいずれかに限定されるものではな
い。ここでは一例として完全クロスバー方式を仮
定しており複数のプロセツサから同時にデータメ
モリへのアクセス要求が発生しても同一のデータ
メモリへアクセスしないかぎり競合は起らないと
している。他の構成のメモリスイツチMSを用い
たとしても本発明の効果には関係しない。 制御プロセツサCPは制御専用メモリCPM1,
CPM2を有しさらにメモリスイツチMSを介して
データメモリDM1〜DM32へもアクセスでき
る。制御専用メモリの台数も本例では2台として
いるがこれに限定される訳ではない。制御プロセ
ツサCPはインタフエースaを介して各プロセツ
サPP1′〜PP16′のそれぞれの制御プロセツサ
インターフエースCPI′を介して各プロセツサと
通信することができる。 第4図は第3図に示すプロセツサの一例を示す
ブロツク図である。 プロセツサエレメントPE1〜PE8は各々プロ
グラムを実行する能力を有するプロセツサエレメ
ントでそのプログラムはプロセツサエレメント
PE1〜PE8に共通に接続された専用のプログラ
ムメモリPMに格納されている。プログラムメモ
リコントローラPMCはプログラムメモリPMのア
クセスを制御するもので、プロセツサエレメント
PE1〜PE8からのアクセスの交通整理などの制
御を行なう。 メモリスイツチインターフエースMSI′は各プ
ロセツサエレメントPE1〜PE8が第3図に示す
データメモリDM1〜DM32にアクセスするた
めの制御回路で複数のプロセツサエレメントPE
1〜PE8から同時にアクセス要求があつたとき
にはそれらの中から1つを一定のアルゴリズムに
従つて選択し、選択されたアクセス要求をメモリ
スイツチMSを経てデータメモリDM1〜DM32
のいずれかに送出する。読出動作であれば送つた
アドレスに従つて該当するデータメモリから送ら
れてくるデータを要求元のプロセツサエレメント
に引き渡す制御も行う。 データ用キヤツシユメモリDCの動作は一般の
コンピユータ用キヤツシユメモリと同様である。 すなわち、プロセツサエレメントPE1〜PE8
からデータメモリDM1〜DM32へのアクセス
要求があるとメモリスイツチインターフエース
MSI′はデータ用キヤツシユメモリDCの内容を調
べて求めるデータがすでにそこに格納されている
ときはそこから読み出してプロセツサエレメント
PE1〜PE8へ渡す。ない場合にはデータメモリ
DM1〜DM32へアクセス要求を出し、データ
メモリDM1〜DM32から送られてきたデータ
を要求元のプロセツサエレメントPE1〜PE8へ
引渡すと共にメモリスイツチインターフエース
MSI′にも格納しておき、同じデータが再び要求
されたときに備える(この要求は他のプロセツサ
エレメントからでもよい)。 また、データメモリDM1〜DM32への書込
みに際しては同じデータをデータ用キヤツシユメ
モリDCにも格納しておき後で再びこれを読み出
すときに備える。キヤツシユからの追出しアルゴ
リズムなども汎用コンピユータのキヤツシユにお
ける一般的手法が適用できるが、本コンピユー
タ・システムが専用機的であることからプロセツ
サエレメントPE1〜PE8のプログラムによりそ
れを制御させるようにしてもよいであろう。すな
わち、キヤツシユに格納しておきたいデータと格
納する必要のないデータをプログラムに指定させ
ることや、キヤツシユではなくアドレス指定可能
なメモリとしてしまう方法(この時はプロセツサ
エレメントPE1〜PE8からはデータメモリDM
1〜DM32と別のメモリとして見え、そこへ何
を格納するかはすべてプロセツサエレメントのプ
ログラムで指定されることになる)などが考えら
れる。 制御プロセツサインターフエースCPI′は制御
プロセツサCPと通信するための回路で各プロセ
ツサエレメントPE1〜PE8と制御プロセツサ
CP間の通信およびそのプロセツサPP1′〜PP1
6′自身と制御プロセツサCP間の通信を制御する
(本方式ではソフトウエアから見えるのは各プロ
セツサエレメントPE1〜PE8でありプロセツサ
PP1′〜PP16′は物理的なかたまり(装置単
位)としてしか意味がないので、制御プロセツサ
CPとの通信も論理的にはプロセツサエレメント
と制御プロセツサCP間が主である)。 この通信の例としては各プロセツサエレメント
PE1〜PE8にプログラム実行の開始を指示する
プログラム実行開始指示STARTや、プログラム
実行停止指示STOPなどがある。プロセツサエレ
メントPE1〜PE8はプログラム実行開始指示
STARTを受けてプログラムの実行を開始し、所
定の条件を満した時あるいはプログラム実行停止
指示STOPを受けたときに動作を中止する。ま
た、制御プロセツサインターフエースCPI′はプ
ロセツサエレメントPE1〜PE8から制御プロセ
ツサCPへインターフエースaを介して情報を伝
えるための制御も行い、たとえばプログラム実行
開始指示STARTを受けて実行開始後、特定のプ
ロセツサエレメントPE1〜PE8が実行を終了し
たなどある条件を満したらそれを制御プロセツサ
CPに伝えるものも制御プロセツサインターフエ
ースCPI′である。 各プロセツサエレメントPE1〜PE8の構成は
一般的なコンピユータと基本的には変らないが命
令語を共通に設けられたプログラムメモリPMか
ら読み出す点が異なる。一般のコンピユータでは
命令語とデータは同一のメモリに格納されるが本
発明を用いた並列処理システムではデータメモリ
DM1〜DM32へのアクセス・パスの負荷を軽
減するため命令語はプログラムメモリPMに格納
している。これはデータについては各プロセツサ
エレメントPE1〜PE8の相互間で受渡しする必
要があるとともに各プロセツサPP1′〜PP16′
の相互間でも受渡しの必要があるので共通のデー
タメモリに格納せざるを得ないけれど、プログラ
ムはその必要性がなく、各プロセツサエレメント
PE1〜PE8に共有されるが、各プロセツサPP
1′〜PP16′ごとに設けられている専用のメモ
リ中に格納しておけるという性質を利用してい
る。 各プロセツサエレメントPE1〜PE8はプログ
ラムメモリPMに格納されたプログラムに従つて
データ用キヤツシユメモリDCあるいはデータメ
モリDM1〜DM32からデータを読み出して処
理し、結果をデータメモリDM1〜DM32なら
びにデータ用キヤツシユメモリDCへ戻すという
動作を繰り返すことになる。 第3図に示す並列処理システムにおいて、プロ
グラムを実行する時の動作は次のようになる。 例として、各々128個のデータAi、Bi(i=1
〜128)に対して
置における並列処理方式に関する。 一般に、演算処理を高速化する方法の1つとし
て並列処理方式がある。 この並列処理方式は、処理すべきプログラムの
中で並列に実行できる部分を各々異なるプロセツ
サで実行し、N台のプロセツサで理想的にはN倍
の性能を得ようとするものである(実際には並列
に実行できない部分や並列動作を制御するための
余分な時間……オーバヘツド……のため、N倍以
下の性能しか得られない。) 〔従来技術〕 従来の並列処理方式は、制御プロセツサと、そ
れぞれがデータを記憶する複数のデータメモリ
と、前記制御プロセツサに並列に接続された複数
のプロセツサと、前記複数のプロセツサと前記複
数のデータメモリとを並行して相互に接続するた
めのメモリ・スイツチとを含み、前記複数のプロ
セツサのそれぞれはプロセツサエレメントと、前
記プロセツサエレメントを前記制御プロセツサと
接続するための制御プロセツサインターフエース
と、前記プロセツサエレメントを前記メモリスイ
ツチと接続するためのメモリスイツチインターフ
エースとを含んで構成される。 次に、従来の並列処理方式について、図面を参
照して詳細に説明する。 第1図は従来の並列処理システムの一例を示す
システム構成図であり、第2図は第1図に示すプ
ロセツサの一例を示す詳細ブロツク図である。 第1図に示す並列処理方式は、制御プロセツサ
CPと、この制御プロセツサCPに専用の制御専用
メモリCPM1,CPM2と、制御プロセツサCPに
並列接続されたプロセツサPP1〜PP16と、プ
ログラムおよびデータを記憶したメモリMM1〜
MM32と、16台のプロセツサと32台のメモリと
を相互に並行して接続するために16×32=512個
の接続点をもつメモリスイツチとを含んでいる。 プロセツサPP1〜PP16はいずれも同一の構
成をなし、第2図に示すように、プロセツサエレ
メントPEと、メモリスイツチインターフエース
MSIと、制御プロセツサインターフエースCPIを
含んでいる。メモリインターフエースMSIは、プ
ロセツサエレメントPEからデータあるいはプロ
グラムの読出を行なうためのアクセス要求をメモ
リスイツチMSを介してメモリMM1〜MM32に
供給するとともにメモリMM1〜MM32から読
み出したデータをプロセツサエレメントPEに供
給するとともにプロセツサエレメントPEでの演
算結果などをメモリMM1〜MM32に記憶させ
るために供給する。制御プロセツサインターフエ
ースCPIはインターフエースaを介して制御プロ
セツサCPと接続され、プログラム実行開始指示
STARTやプログラム実行停止指示STOPを制御
プロセツサCPから供給されて、プロセツサエレ
メントPEに供給したりプロセツサエレメントPE
からの処理終了通知ENDを制御プロセツサCPに
供給する。 すなわち、メモリスイツチMSを介して16台の
プロセツサPP1〜PP16が32台のメモリMM1
〜MM32にアクセスできるようになつており、
各プロセツサPP1〜PP16は各々独立にプログ
ラムを実行することが可能である。制御プロセツ
サCPはプロセツサPP1〜PP16とのインタフエ
ースaを通してプログラム実行開始指示START
を供給したり、プロセツサが実行を完了したとき
の処理終了通知ENDを受理する。 この制御プロセツサCPの制御の下でプロセツ
サPP1〜PP16は解くべきプログラム中の並列
処理部分について分担して実行する。たとえば、
a1+b1、a2+b2、……、ao+bn、という計算で
あればi番目のプロセツサPPiがai+biを計算
する。 このような従来の並列処理システムの性能を高
めるには各プロセツサの性能を高くするかプロセ
ツサの台数を増やす必要がある。 しかしながら、プロセツサの性能を高めるとそ
の装置寸法が大きくなり多数並べることが困難に
なる。さらに、プロセツサの台数を増やすとメモ
リを並行して使用できるようにするためにはメモ
リも増大する必要がありメモリスイツチはプロセ
ツサの台数とメモリの台数との積で増大して複
雑・大規模になり、やはり実現困難になる(たと
えばクロスバ・スイツチで考えるとプロセツサ台
数とメモリ台数を各々2倍にするとスイツチの規
模は2×2=4倍となる)。こうした欠点のため
大規模、超高性能の並列処理システムはほとんど
実用化されていない。 すなわち、従来の並列処理方式は並列度を増大
させることが困難であるという欠点があつた。 〔発明の目的〕 本発明の目的は並列度を増大できる並列処理方
式を提供することにある。 すなわち、本発明の目的は並列処理を分担する
各プロセツサをさらに複数のプロセツサエレメン
トからなる並列処理プロセツサとすることにより
メモリスイツチの規模を大きくすることなく並列
度を高めて上記欠点を解決し大規模、超高性能を
有する並列処理システムを提供することにある。 〔発明の構成〕 本発明の並列処理方式は、制御プロセツサと、
それぞれがデータを記憶する複数のデータメモリ
と、前記制御プロセツサに並列に接続された複数
のプロセツサと、前記複数のプロセツサと前記複
数のデータメモリとを並行して相互に接続するた
めのメモリ・スイツチとを含み、前記複数のプロ
セツサのそれぞれは、並列に設けられた複数のプ
ロセツサエレメントと、各プロセツサエレメント
に共通に設けられプログラムを記憶するプログラ
ムメモリと、前記複数のプロセツサエレメントを
前記制御プロセツサと接続するための制御プロセ
ツサインターフエースと、前記複数のプロセツサ
エレメントを前記メモリスイツチと接続するため
のメモリスイツチインターフエースと、前記メモ
リスイツチインターフエースに接続され前記デー
タメモリに記憶したデータの一部の写しを記憶す
るデータ用キヤツシユメモリとを含んで構成され
る。 すなわち、本発明の並列処理方式は、複数のプ
ロセツサエレメントと該複数のプロセツサエレメ
ントで共有されるプログラムメモリと該複数のプ
ロセツサエレメントで共有されるデータ用キヤツ
シユメモリと、該複数のプロセツサエレメントか
ら発生するデータメモリへのアクセス要求の中か
ら各データメモリアクセスタイミング毎に一つを
選択して処理する回路とから構成される演算処理
装置複数台と複数のデータメモリと任意の上記演
算処理装置から任意の上記データメモリへのアク
セスを可能にするメモリ・スイツチとを備えて構
成される。 さらに、本発明の並列処理方式は、上述の構成
に加えて、制御プロセツプと該制御プロセツサか
ら上記全プロセツサエレメントにプログラム実行
開始を指示する通信手段と上記各プロセツサエレ
メントからプログラム実行終了を上記制御プロセ
ツサに通知する手段とを備え、上記制御プロセツ
サの制御下で一つのプログラム中の並列処理部分
を上記全プロセツサエレメントにより並列に実行
するように構成される。 すなわち、本発明の並列処理方式は並列処理を
分担する各プロセツサを並列に動作する複数のプ
ロセツサエレメントで構成することにより、メモ
リスイツチの規模を大きくすることなく実質的な
並列処理プロセツサ台数を増やしている。 すなわち、本発明の並列処理システムは、n台
のプロセツサと、m台すなわち、n台あるいは
2n台などn台以上のデータメモリと、このn台
のプロセツサとm台のデータメモリとを接続する
ためのm×n個の接続点を有するメモリスイツチ
とを含み、このn台のプロセツサのそれぞれの1
台のプロセツサの内部構造をl台のプロセツサエ
レメントと、このl台のプロセツサエレメントで
共通的に使用される。メモリがl台のプロセツサ
エレメントの実行すべきプログラムを格納した1
台のプログラムメモリと、l台のプロセツサエレ
メントのそれぞれから前記m台のデータメモリへ
のアクセス要求を受けて、処理するメモリスイツ
チインターフエースとを含んでいる。すなわち、
このメモリスイツチインターフエースはメモリの
アクセスタイミング毎にl台のプロセツサエレメ
ントのうちの任意の1台以上のプロセツサエレメ
ントからのアクセス要求の中から1つを選択して
選択されたアクセス要求をメモリスイツチを介し
てデータメモリへ送出する。このアクセス要求が
読出要求であればデータメモリから送られてくる
データを要求元のプロセツサエレメントに渡す。
このように、メモリスイツチインターフエース
で、データメモリへのアクセス・インターフエー
スを1本に絞つているのでメモリスイツチの規模
(プロセツサを接続するためのインタフエース
数)を1/lにすることができる。この場合デー
タメモリへのアクセスがl台のプロセツサエレメ
ント間で競合するのでこれが性能上のボトルネツ
クになる可能性がある。 しかし、この問題は第1に、プロセツサエレメ
ントで共用するプログラム専用のプログラムメモ
リを持たせることで軽減している。すなわち、通
常のコンピユータではプログラムもデータも同じ
メモリに格納しているが本発明に使用するプロセ
ツサではプログラムはl台のプロセツサエレメン
トに共用される専用のプログラムメモリに格納さ
れているのでメモリスイツチインターフエースを
介してのメモリへのアクセスはデータに対するも
のに限られ、通常のコンピユータに比しアクセス
頻度は最大1/2位に低減される。 第2に、メモリスイツチインターフエースに接
続されたデータ用キヤツシユメモリによりデータ
メモリへのアクセス頻度をさらに軽減している。
すなわちデータ用キヤツシユ・メモリにはl台の
プロセツサエレメントで共通に利用できるデータ
(たとえば定数など)や計算の途中結果などかな
らずしもデータメモリに格納しておかなくてもよ
いデータを格納して、データメモリへアクセスす
る回数をへらす。 このため、メモリスイツチインターフエースは
プロセツサエレメントからデータメモリへのアク
セス要求があつた場合そのデータがすでにデータ
用キヤツシユメモリに格納されていないかを調べ
そこに格納されていればそこから読み出し、ない
ときのみデータメモリへ要求を出す。 〔実施例の説明〕 次に、本発明の実施例について、図面を参照し
て詳細に説明する。 第3図は本発明の一実施例を示すシステム構成
図、第4図は第3図に示すプロセツサの詳細ブロ
ツク図である。 プロセツサPP1′〜PP16′は内部に8台のプ
ロセツサエレメントPE1〜PE8を含む並列処理
方式のプロセツサで各々8個のプログラムを並列
に実行する能力を有しているがプロセツサの台数
やその中のプロセツサエレメントの台数はこの例
に限定されるものではない。 各プロセツサPP1′〜PP16′はメモリスイツ
チMSを介して任意のデータ・メモリDM1〜DM
32に対してデータの読出、書込ができる。デー
タメモリの台数は第3図では32台としているが、
これはプロセツサの台数やデータメモリの性能、
データメモリの使用頻度によつて定められこの例
に限定されるものではない。 また、メモリスイツチMSの構成については完
全なクロスバー方式をはじめとして多数の構成法
があるがそのいずれかに限定されるものではな
い。ここでは一例として完全クロスバー方式を仮
定しており複数のプロセツサから同時にデータメ
モリへのアクセス要求が発生しても同一のデータ
メモリへアクセスしないかぎり競合は起らないと
している。他の構成のメモリスイツチMSを用い
たとしても本発明の効果には関係しない。 制御プロセツサCPは制御専用メモリCPM1,
CPM2を有しさらにメモリスイツチMSを介して
データメモリDM1〜DM32へもアクセスでき
る。制御専用メモリの台数も本例では2台として
いるがこれに限定される訳ではない。制御プロセ
ツサCPはインタフエースaを介して各プロセツ
サPP1′〜PP16′のそれぞれの制御プロセツサ
インターフエースCPI′を介して各プロセツサと
通信することができる。 第4図は第3図に示すプロセツサの一例を示す
ブロツク図である。 プロセツサエレメントPE1〜PE8は各々プロ
グラムを実行する能力を有するプロセツサエレメ
ントでそのプログラムはプロセツサエレメント
PE1〜PE8に共通に接続された専用のプログラ
ムメモリPMに格納されている。プログラムメモ
リコントローラPMCはプログラムメモリPMのア
クセスを制御するもので、プロセツサエレメント
PE1〜PE8からのアクセスの交通整理などの制
御を行なう。 メモリスイツチインターフエースMSI′は各プ
ロセツサエレメントPE1〜PE8が第3図に示す
データメモリDM1〜DM32にアクセスするた
めの制御回路で複数のプロセツサエレメントPE
1〜PE8から同時にアクセス要求があつたとき
にはそれらの中から1つを一定のアルゴリズムに
従つて選択し、選択されたアクセス要求をメモリ
スイツチMSを経てデータメモリDM1〜DM32
のいずれかに送出する。読出動作であれば送つた
アドレスに従つて該当するデータメモリから送ら
れてくるデータを要求元のプロセツサエレメント
に引き渡す制御も行う。 データ用キヤツシユメモリDCの動作は一般の
コンピユータ用キヤツシユメモリと同様である。 すなわち、プロセツサエレメントPE1〜PE8
からデータメモリDM1〜DM32へのアクセス
要求があるとメモリスイツチインターフエース
MSI′はデータ用キヤツシユメモリDCの内容を調
べて求めるデータがすでにそこに格納されている
ときはそこから読み出してプロセツサエレメント
PE1〜PE8へ渡す。ない場合にはデータメモリ
DM1〜DM32へアクセス要求を出し、データ
メモリDM1〜DM32から送られてきたデータ
を要求元のプロセツサエレメントPE1〜PE8へ
引渡すと共にメモリスイツチインターフエース
MSI′にも格納しておき、同じデータが再び要求
されたときに備える(この要求は他のプロセツサ
エレメントからでもよい)。 また、データメモリDM1〜DM32への書込
みに際しては同じデータをデータ用キヤツシユメ
モリDCにも格納しておき後で再びこれを読み出
すときに備える。キヤツシユからの追出しアルゴ
リズムなども汎用コンピユータのキヤツシユにお
ける一般的手法が適用できるが、本コンピユー
タ・システムが専用機的であることからプロセツ
サエレメントPE1〜PE8のプログラムによりそ
れを制御させるようにしてもよいであろう。すな
わち、キヤツシユに格納しておきたいデータと格
納する必要のないデータをプログラムに指定させ
ることや、キヤツシユではなくアドレス指定可能
なメモリとしてしまう方法(この時はプロセツサ
エレメントPE1〜PE8からはデータメモリDM
1〜DM32と別のメモリとして見え、そこへ何
を格納するかはすべてプロセツサエレメントのプ
ログラムで指定されることになる)などが考えら
れる。 制御プロセツサインターフエースCPI′は制御
プロセツサCPと通信するための回路で各プロセ
ツサエレメントPE1〜PE8と制御プロセツサ
CP間の通信およびそのプロセツサPP1′〜PP1
6′自身と制御プロセツサCP間の通信を制御する
(本方式ではソフトウエアから見えるのは各プロ
セツサエレメントPE1〜PE8でありプロセツサ
PP1′〜PP16′は物理的なかたまり(装置単
位)としてしか意味がないので、制御プロセツサ
CPとの通信も論理的にはプロセツサエレメント
と制御プロセツサCP間が主である)。 この通信の例としては各プロセツサエレメント
PE1〜PE8にプログラム実行の開始を指示する
プログラム実行開始指示STARTや、プログラム
実行停止指示STOPなどがある。プロセツサエレ
メントPE1〜PE8はプログラム実行開始指示
STARTを受けてプログラムの実行を開始し、所
定の条件を満した時あるいはプログラム実行停止
指示STOPを受けたときに動作を中止する。ま
た、制御プロセツサインターフエースCPI′はプ
ロセツサエレメントPE1〜PE8から制御プロセ
ツサCPへインターフエースaを介して情報を伝
えるための制御も行い、たとえばプログラム実行
開始指示STARTを受けて実行開始後、特定のプ
ロセツサエレメントPE1〜PE8が実行を終了し
たなどある条件を満したらそれを制御プロセツサ
CPに伝えるものも制御プロセツサインターフエ
ースCPI′である。 各プロセツサエレメントPE1〜PE8の構成は
一般的なコンピユータと基本的には変らないが命
令語を共通に設けられたプログラムメモリPMか
ら読み出す点が異なる。一般のコンピユータでは
命令語とデータは同一のメモリに格納されるが本
発明を用いた並列処理システムではデータメモリ
DM1〜DM32へのアクセス・パスの負荷を軽
減するため命令語はプログラムメモリPMに格納
している。これはデータについては各プロセツサ
エレメントPE1〜PE8の相互間で受渡しする必
要があるとともに各プロセツサPP1′〜PP16′
の相互間でも受渡しの必要があるので共通のデー
タメモリに格納せざるを得ないけれど、プログラ
ムはその必要性がなく、各プロセツサエレメント
PE1〜PE8に共有されるが、各プロセツサPP
1′〜PP16′ごとに設けられている専用のメモ
リ中に格納しておけるという性質を利用してい
る。 各プロセツサエレメントPE1〜PE8はプログ
ラムメモリPMに格納されたプログラムに従つて
データ用キヤツシユメモリDCあるいはデータメ
モリDM1〜DM32からデータを読み出して処
理し、結果をデータメモリDM1〜DM32なら
びにデータ用キヤツシユメモリDCへ戻すという
動作を繰り返すことになる。 第3図に示す並列処理システムにおいて、プロ
グラムを実行する時の動作は次のようになる。 例として、各々128個のデータAi、Bi(i=1
〜128)に対して
【式】を計算する場合を
とりあげる。
演算開始前にデータAi、Biを制御プロセツサ
CPがデータメモリDM1〜DM32に入れる。た
とえば、データA1〜A8はデータメモリDM1に、
データA9〜A16はデータメモリDM2に格納し、
以下同様にしてデータA120〜A128はデータメモリ
DM16に格納する。同様に、データB1〜B8はデ
ータメモリDM17に、データB9〜B16はデータ
メモリDM18に、データB120〜B128はデータメ
モリDM32に格納する。 この例では、システム中には16(プロセツサの
数)×8(各プロセツサ中のプロセツサエレメン
トの数)=128台のプロセツサエレメントがあり、
i番目のプロセツサエレメントPEiはAi×Biの計
算をして演算結果Ciをデータメモリに格納す
る。この計算をやるためのプログラムは各プロセ
ツサエレメントPE1〜PE8に共通なプログラム
PMの中に格納されており、各プロセツサエレメ
ントPE1〜PE8の中の命令アドレス・レジスタ
にはそのプロセツサエレメントPE1〜PE8が実
行すべき最初の命令語のプログラムメモリPMの
アドレスが設定される。これは制御プロセツサ
CPの制御下でデータメモリDM1〜DM32から
メモリスイツチMSおよびメモリスイツチインタ
ーフエースMSI′を通して行なわれるか、あるい
はインターフエースaおよび制御プロセツサイン
ターフエースCPI′を通して行なわれる。 以上の準備は制御プロセツサCPが行い、完了
するとインターフエースaを通して128台のすべ
てのプロセツサエレメント宛のプログラム実行開
始指示STARTをプロセツサPP1′〜PP16′に
送出する。これよつて、すべてのプロセツサエレ
メントPE1〜PE8は各々の命令アドレスレジス
タの値に従つてプログラムメモリPMから命令語
を読み出し、解読して実行する。 いま、プロセツサPP1′中のプロセツサエレメ
ントPE1を例にとれば、データメモリDM1から
読み出したデータA1とデータメモリDM17から
読み出したデータB1に対しA1×B1の計算をして
演算結果C1をデータメモリに格納する。 同様に、プロセツサエレメントPE2はA2×B2
の計算をして、演算結果C2を格納し、以下同様
に、プロセツサエレメントPE8はA8×B8→C8の
処理をする。これらの処理は各プロセツサエレメ
ントPE1〜PE8が並行に同時に実行する。 なお、本例ではすべてのプロセツサエレメント
が同一のプログラムを実行するとしているがそれ
は異なるプログラムであつてもよいしたとえ同一
プログラムであつても条件分岐が入る場合には各
プロセツサエレメントに途中から異なる命令シー
ケンスを実行することになる可能性がある。 ここで、プログラムメモリPMに格納されてい
るプログラムについてすこし説明する。 プログラムメモリPMに記憶されたプログラム
が各プロセツサエレメントPE1〜PE8毎に異な
るものである場合は特に問題はないが唯一つのプ
ログラムをすべてのプロセツサエレメントPE1
〜PE8が共用する場合にはそれを可能にするた
めに特別の工夫が必要である。加算、乗算といつ
た演算処理の動作やその順序は各プロセツサエレ
メントPE1〜PE8に共通であつても使用するデ
ータメモリDM1〜DM32に記憶されているデ
ータはプロセツサエレメントPE1〜PE8毎に異
なるからである。このためにはたとえばインデツ
クス レジスタなどを用いてプログラム中の命令
語のオペランド アドレスを修正して使用するな
どが考えられる。たとえば「A番地のデータをア
キユムレータに加算せよ」という命令語の場合、
各プロセツサエレメントPE1〜PE8は自分のイ
ンデツクレジスタ中にプロセツサエレメント番号
「i」を記憶し、上記命令語を実行するときには
該インデツクス レジスタで番地Aを修飾し「A
+i」番地のデータをアキユムレータに加算する
ればよい。これにより各プロセツサエレメント
PE1〜PE8はすべて同じ加算動作をするが用い
るデータは互いに異なるようにできる。 各プロセツサエレメントPE1〜PE8から各デ
ータメモリDM1〜DM32へのアクセス要求
(Ai、Biを読み出したり、Ciを格納するための要
求)はメモリスイツチインターフエースMSI′で
交通整理され、競合した場合は1つだけ選択され
て他は待たされるので、各プロセツサエレメント
PE1〜PE8の命令実行のタイミングはずれてく
る可能性がある。同様に、プログラムメモリPM
へのアクセスについてもプロセツサエレメント
PE1〜PE8の相互間で競合が発生するが、これ
はプログラムメモリPMの制御部であるプログラ
ムメモリコントローラPMCが交通整理する。し
たがつて、たとえ同一のプログラムを実行してい
ても、すべてのプロセツサエレメントPE1〜PE
8がまつたく同期して同時刻に同じ動作・処理を
している訳ではない。 演算処理Ai×Bi→Ciの処理が完了すると制御
プロセツサインターフエースCPI′およびインタ
ーフエースaを通つて制御プロセツサCPにこの
旨通知される。制御プロセツサCPは128台すべて
のプロセツサエレメントPE1〜PE8からの完了
通知を待つて
CPがデータメモリDM1〜DM32に入れる。た
とえば、データA1〜A8はデータメモリDM1に、
データA9〜A16はデータメモリDM2に格納し、
以下同様にしてデータA120〜A128はデータメモリ
DM16に格納する。同様に、データB1〜B8はデ
ータメモリDM17に、データB9〜B16はデータ
メモリDM18に、データB120〜B128はデータメ
モリDM32に格納する。 この例では、システム中には16(プロセツサの
数)×8(各プロセツサ中のプロセツサエレメン
トの数)=128台のプロセツサエレメントがあり、
i番目のプロセツサエレメントPEiはAi×Biの計
算をして演算結果Ciをデータメモリに格納す
る。この計算をやるためのプログラムは各プロセ
ツサエレメントPE1〜PE8に共通なプログラム
PMの中に格納されており、各プロセツサエレメ
ントPE1〜PE8の中の命令アドレス・レジスタ
にはそのプロセツサエレメントPE1〜PE8が実
行すべき最初の命令語のプログラムメモリPMの
アドレスが設定される。これは制御プロセツサ
CPの制御下でデータメモリDM1〜DM32から
メモリスイツチMSおよびメモリスイツチインタ
ーフエースMSI′を通して行なわれるか、あるい
はインターフエースaおよび制御プロセツサイン
ターフエースCPI′を通して行なわれる。 以上の準備は制御プロセツサCPが行い、完了
するとインターフエースaを通して128台のすべ
てのプロセツサエレメント宛のプログラム実行開
始指示STARTをプロセツサPP1′〜PP16′に
送出する。これよつて、すべてのプロセツサエレ
メントPE1〜PE8は各々の命令アドレスレジス
タの値に従つてプログラムメモリPMから命令語
を読み出し、解読して実行する。 いま、プロセツサPP1′中のプロセツサエレメ
ントPE1を例にとれば、データメモリDM1から
読み出したデータA1とデータメモリDM17から
読み出したデータB1に対しA1×B1の計算をして
演算結果C1をデータメモリに格納する。 同様に、プロセツサエレメントPE2はA2×B2
の計算をして、演算結果C2を格納し、以下同様
に、プロセツサエレメントPE8はA8×B8→C8の
処理をする。これらの処理は各プロセツサエレメ
ントPE1〜PE8が並行に同時に実行する。 なお、本例ではすべてのプロセツサエレメント
が同一のプログラムを実行するとしているがそれ
は異なるプログラムであつてもよいしたとえ同一
プログラムであつても条件分岐が入る場合には各
プロセツサエレメントに途中から異なる命令シー
ケンスを実行することになる可能性がある。 ここで、プログラムメモリPMに格納されてい
るプログラムについてすこし説明する。 プログラムメモリPMに記憶されたプログラム
が各プロセツサエレメントPE1〜PE8毎に異な
るものである場合は特に問題はないが唯一つのプ
ログラムをすべてのプロセツサエレメントPE1
〜PE8が共用する場合にはそれを可能にするた
めに特別の工夫が必要である。加算、乗算といつ
た演算処理の動作やその順序は各プロセツサエレ
メントPE1〜PE8に共通であつても使用するデ
ータメモリDM1〜DM32に記憶されているデ
ータはプロセツサエレメントPE1〜PE8毎に異
なるからである。このためにはたとえばインデツ
クス レジスタなどを用いてプログラム中の命令
語のオペランド アドレスを修正して使用するな
どが考えられる。たとえば「A番地のデータをア
キユムレータに加算せよ」という命令語の場合、
各プロセツサエレメントPE1〜PE8は自分のイ
ンデツクレジスタ中にプロセツサエレメント番号
「i」を記憶し、上記命令語を実行するときには
該インデツクス レジスタで番地Aを修飾し「A
+i」番地のデータをアキユムレータに加算する
ればよい。これにより各プロセツサエレメント
PE1〜PE8はすべて同じ加算動作をするが用い
るデータは互いに異なるようにできる。 各プロセツサエレメントPE1〜PE8から各デ
ータメモリDM1〜DM32へのアクセス要求
(Ai、Biを読み出したり、Ciを格納するための要
求)はメモリスイツチインターフエースMSI′で
交通整理され、競合した場合は1つだけ選択され
て他は待たされるので、各プロセツサエレメント
PE1〜PE8の命令実行のタイミングはずれてく
る可能性がある。同様に、プログラムメモリPM
へのアクセスについてもプロセツサエレメント
PE1〜PE8の相互間で競合が発生するが、これ
はプログラムメモリPMの制御部であるプログラ
ムメモリコントローラPMCが交通整理する。し
たがつて、たとえ同一のプログラムを実行してい
ても、すべてのプロセツサエレメントPE1〜PE
8がまつたく同期して同時刻に同じ動作・処理を
している訳ではない。 演算処理Ai×Bi→Ciの処理が完了すると制御
プロセツサインターフエースCPI′およびインタ
ーフエースaを通つて制御プロセツサCPにこの
旨通知される。制御プロセツサCPは128台すべて
のプロセツサエレメントPE1〜PE8からの完了
通知を待つて
【式】の処理をする。演算結果
CiはデータメモリDM1〜DM32の中に格納さ
れているから制御プロセツサCPはメモリスイツ
チMSを介してデータメモリDM1〜DM32にア
クセスして演算結果Ciを読出順に加算する。こ
の動作は一般的コンピユータにおける加算と同じ
で制御プロセツサCP内のプログラムにより、演
算結果C1、C2、……C128を逐次読み出して加算
する。この加算が終了すれば求める答となる。 各プロセツサエレメントPE1〜PE8から制御
プロセツサCPへの通知は上記のようにプロセツ
サエレメントPE1〜PE8が終る毎に制御プロセ
ツサCPに通知してもよいが、プロセツトPP1′
〜PP16′の内でまとめて通知することで制御プ
ロセツサCPとの間で通信量を減らすことも考え
られよう。 また、上記のように
れているから制御プロセツサCPはメモリスイツ
チMSを介してデータメモリDM1〜DM32にア
クセスして演算結果Ciを読出順に加算する。こ
の動作は一般的コンピユータにおける加算と同じ
で制御プロセツサCP内のプログラムにより、演
算結果C1、C2、……C128を逐次読み出して加算
する。この加算が終了すれば求める答となる。 各プロセツサエレメントPE1〜PE8から制御
プロセツサCPへの通知は上記のようにプロセツ
サエレメントPE1〜PE8が終る毎に制御プロセ
ツサCPに通知してもよいが、プロセツトPP1′
〜PP16′の内でまとめて通知することで制御プ
ロセツサCPとの間で通信量を減らすことも考え
られよう。 また、上記のように
【式】の計算をすべて制
御プロセツサCPが実行するのではなくプロセツ
サエレメントPE1〜PE8が途中まで行う方法も
考えられる。すなわち、たとえばC1+C2+……
+C8はプロセツサPP1′の中で次のようにすれば
よい。(C1+C2)、(C3+C4)、(C5+C6)、(C7+
C8)の4つの計算を4つのプロセツサエレメント
PE1〜PE8を使つて並列に行い、その結果をそ
れぞれD1、D2、D3、D4とすると次に(D1+
D2)、(D3+D4)を並列に行い、その結果を各々
E1、E2とすると最後にE1+E2を計算する。これ
を各プロセツサPP1′〜PP16′内でやれば制御
プロセツサCPは16台のプロセツサPP1′〜PP1
6′の残した16個の演算結果の総和を計算するだ
けでよい(前の例では制御プロセツサCPは127回
の加算をやることになるがこの方法なら15回の加
算ですむ)。 この計算過程で演算結果C1〜C8はデータメモ
リDM1〜DM32から読み出してくる必要があ
るがデータD1〜D4、E1、E2はいずれもデータ用
キヤツシユメモリDCに格納しておけばよくデー
タメモリDM1〜DM32へ格納してまたそこか
ら読み出してくる必要はない(但し本実施例では
データメモリDM1〜DM32データ用キヤツシ
ユメモリDCの両方に格納し、キヤツシユから読
み出してくることになる)。 E1+E2の結果はかならずデータメモリDM1〜
DM32に残さないと制御プロセツサCPが次の計
算(16台のプロセツサPP1′〜PP16′の演算結
果を合計する)を実行できない。 どこまでの計算をプロセツサがやり、どこから
制御プロセツサCPがやるかの制御はこのシステ
ムを使用する人のプログラムによつてすべて行な
われるので制御プロセツサCPの性能ならびにプ
ロセツサの台数と性能に応じてケースバイケース
で判断されることになろう。 このように、第3図に示す実施例では8台のプ
ロセツサエレメントPE1〜PE8をそれぞれ含ん
だ16台のプロセツサPP1′〜PP16′で128の並列
演算ができるが実際に128台の独立したプロセツ
サをおいたとするとメモリスイツチMSの規模は
128×32になるのに比し本例では16×32で済み装
置実現上有利になる(コスト、装置の大きさ、性
能などの面で)。 〔発明の効果〕 本発明の並列処理方式は、制御プロセツサに並
列接続され複数のデータメモリとメモリスイツチ
を介して相互に並行して接続されるプロセツサの
それぞれが、単一のプロセツサエレメントからな
る代りに、並列に動作する複数のプロセツサエレ
メントを並列に設けることにより、メモリスイツ
チ側から見た場合には単一のプロセツサエレメン
トしか有していないように見えながら時分割で複
数のプロセツサエレメントをメモリスイツチに接
続することができるため、並列度を増大できると
いう効果がある。 すなわち、本発明の並列処理方式は、複数のプ
ロセツサを内蔵するプロセツサを並列におき、制
御プロセツサの制御下に並列動作されるように構
成することで大きな並列度の並列演算を実現容易
にし、かつ並列演算できない部分は制御プロセツ
サで処理することで融通性が増し応用分野が拡大
するという効果を有する。
サエレメントPE1〜PE8が途中まで行う方法も
考えられる。すなわち、たとえばC1+C2+……
+C8はプロセツサPP1′の中で次のようにすれば
よい。(C1+C2)、(C3+C4)、(C5+C6)、(C7+
C8)の4つの計算を4つのプロセツサエレメント
PE1〜PE8を使つて並列に行い、その結果をそ
れぞれD1、D2、D3、D4とすると次に(D1+
D2)、(D3+D4)を並列に行い、その結果を各々
E1、E2とすると最後にE1+E2を計算する。これ
を各プロセツサPP1′〜PP16′内でやれば制御
プロセツサCPは16台のプロセツサPP1′〜PP1
6′の残した16個の演算結果の総和を計算するだ
けでよい(前の例では制御プロセツサCPは127回
の加算をやることになるがこの方法なら15回の加
算ですむ)。 この計算過程で演算結果C1〜C8はデータメモ
リDM1〜DM32から読み出してくる必要があ
るがデータD1〜D4、E1、E2はいずれもデータ用
キヤツシユメモリDCに格納しておけばよくデー
タメモリDM1〜DM32へ格納してまたそこか
ら読み出してくる必要はない(但し本実施例では
データメモリDM1〜DM32データ用キヤツシ
ユメモリDCの両方に格納し、キヤツシユから読
み出してくることになる)。 E1+E2の結果はかならずデータメモリDM1〜
DM32に残さないと制御プロセツサCPが次の計
算(16台のプロセツサPP1′〜PP16′の演算結
果を合計する)を実行できない。 どこまでの計算をプロセツサがやり、どこから
制御プロセツサCPがやるかの制御はこのシステ
ムを使用する人のプログラムによつてすべて行な
われるので制御プロセツサCPの性能ならびにプ
ロセツサの台数と性能に応じてケースバイケース
で判断されることになろう。 このように、第3図に示す実施例では8台のプ
ロセツサエレメントPE1〜PE8をそれぞれ含ん
だ16台のプロセツサPP1′〜PP16′で128の並列
演算ができるが実際に128台の独立したプロセツ
サをおいたとするとメモリスイツチMSの規模は
128×32になるのに比し本例では16×32で済み装
置実現上有利になる(コスト、装置の大きさ、性
能などの面で)。 〔発明の効果〕 本発明の並列処理方式は、制御プロセツサに並
列接続され複数のデータメモリとメモリスイツチ
を介して相互に並行して接続されるプロセツサの
それぞれが、単一のプロセツサエレメントからな
る代りに、並列に動作する複数のプロセツサエレ
メントを並列に設けることにより、メモリスイツ
チ側から見た場合には単一のプロセツサエレメン
トしか有していないように見えながら時分割で複
数のプロセツサエレメントをメモリスイツチに接
続することができるため、並列度を増大できると
いう効果がある。 すなわち、本発明の並列処理方式は、複数のプ
ロセツサを内蔵するプロセツサを並列におき、制
御プロセツサの制御下に並列動作されるように構
成することで大きな並列度の並列演算を実現容易
にし、かつ並列演算できない部分は制御プロセツ
サで処理することで融通性が増し応用分野が拡大
するという効果を有する。
第1図は従来の一例を示すシステム構成図、第
2図は第1図に示すプロセツサの詳細ブロツク
図、第3図は本発明の一実施例を示すシステム構
成図、第4図は第3図に示すプロセツサの詳細ブ
ロツク図である。 CP……制御プロセツサ、PP1〜PP16,PP
1′〜PP16′……プロセツサ、CPM1,CPM2
……制御専用メモリ、MS……メモリスイツチ、
MM1〜MM32……メモリ、MSI,MSI′……メ
モリスイツチインターフエース、CPI,CPI′……
制御プロセツサインターフエース、PE,PE1〜
PE8……プロセツサエレメント、DM1〜DM3
2……データメモリ、DC……データ用キヤツシ
ユメモリ、PM……プログラムメモリ、PMC……
プログラムメモリコントローラ、a……インター
フエース。
2図は第1図に示すプロセツサの詳細ブロツク
図、第3図は本発明の一実施例を示すシステム構
成図、第4図は第3図に示すプロセツサの詳細ブ
ロツク図である。 CP……制御プロセツサ、PP1〜PP16,PP
1′〜PP16′……プロセツサ、CPM1,CPM2
……制御専用メモリ、MS……メモリスイツチ、
MM1〜MM32……メモリ、MSI,MSI′……メ
モリスイツチインターフエース、CPI,CPI′……
制御プロセツサインターフエース、PE,PE1〜
PE8……プロセツサエレメント、DM1〜DM3
2……データメモリ、DC……データ用キヤツシ
ユメモリ、PM……プログラムメモリ、PMC……
プログラムメモリコントローラ、a……インター
フエース。
Claims (1)
- 1 制御プロセツサと、それぞれがデータを記憶
する複数のデータメモリと、前記制御プロセツサ
に並列に接続された複数のプロセツサと、前記複
数のプロセツサと前記複数のデータメモリとを並
行して相互に接続するためのメモリ・スイツチと
を含み、前記複数のプロセツサのそれぞれは、並
列に設けられた複数のプロセツサエレメントと、
各プロセツサエレメントに共通に設けられプログ
ラムを記憶するプログラムメモリと、前記複数の
プロセツサエレメントを前記制御プロセツサと接
続するための制御プロセツサインターフエース
と、前記複数のプロセツサエレメントを前記メモ
リスイツチと接続するためのメモリスイツチイン
ターフエースと、前記メモリスイツチインターフ
エースに接続され前記データメモリに記憶したデ
ータの一部の写しを記憶するデータ用キヤツシユ
メモリとを含むことを特徴とする並列処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4220882A JPS58159171A (ja) | 1982-03-17 | 1982-03-17 | 並列処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4220882A JPS58159171A (ja) | 1982-03-17 | 1982-03-17 | 並列処理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58159171A JPS58159171A (ja) | 1983-09-21 |
| JPS6259347B2 true JPS6259347B2 (ja) | 1987-12-10 |
Family
ID=12629595
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4220882A Granted JPS58159171A (ja) | 1982-03-17 | 1982-03-17 | 並列処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58159171A (ja) |
-
1982
- 1982-03-17 JP JP4220882A patent/JPS58159171A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58159171A (ja) | 1983-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0243085B1 (en) | Coprocessor architecture | |
| US5056000A (en) | Synchronized parallel processing with shared memory | |
| US5535406A (en) | Virtual processor module including a reconfigurable programmable matrix | |
| AU714681B2 (en) | Parallel processor with redundancy of processor pairs | |
| JP2602240B2 (ja) | マルチプロセツサシステム | |
| US5920714A (en) | System and method for distributed multiprocessor communications | |
| US4951193A (en) | Parallel computer with distributed shared memories and distributed task activating circuits | |
| US4149242A (en) | Data interface apparatus for multiple sequential processors | |
| WO1994003860A1 (en) | Massively parallel computer including auxiliary vector processor | |
| JP2012038293A (ja) | マシンビジョン用マルチプロセッサシステムオンチップ | |
| JPH04348451A (ja) | 並列計算機 | |
| KR920006617B1 (ko) | 멀티프로세서시스템 | |
| US4451882A (en) | Data processing system | |
| JPS6259345B2 (ja) | ||
| JPS6246026B2 (ja) | ||
| JPS6259346B2 (ja) | ||
| JPH01177672A (ja) | ディジタル信号処理装置 | |
| JPS58159171A (ja) | 並列処理方式 | |
| JPH0444151A (ja) | プロセッサ | |
| JPH0215152Y2 (ja) | ||
| JP2504528B2 (ja) | 主記憶制御装置間バス制御方式 | |
| Ghosal et al. | SHAMP: an experimental shared memory multimicroprocessor system for performance evaluation of parallel algorithms | |
| JPS61234447A (ja) | バス獲得制御装置 | |
| JPS62210564A (ja) | プロセツサ | |
| JPS63198144A (ja) | マルチポ−トメモリにおけるダイレクトメモリアクセス制御方式 |