JPS62264357A - 並列プロセツサ・アレイにおけるプロセツサ付加のシミユレ−シヨン方法 - Google Patents
並列プロセツサ・アレイにおけるプロセツサ付加のシミユレ−シヨン方法Info
- Publication number
- JPS62264357A JPS62264357A JP62039301A JP3930187A JPS62264357A JP S62264357 A JPS62264357 A JP S62264357A JP 62039301 A JP62039301 A JP 62039301A JP 3930187 A JP3930187 A JP 3930187A JP S62264357 A JPS62264357 A JP S62264357A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processor
- processors
- array
- controller
- 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
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
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
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)
- Image Processing (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、単一命令多重データ(シングル・インストラ
クション・マルティブル・データSIMD)方式並列プ
ロセッサ・アレイの中のプロセッサの数を、問題の解決
に必要なプロセッサの数にまで、事実上変更(付加)す
ることができるシミュレーション方法に関する。
クション・マルティブル・データSIMD)方式並列プ
ロセッサ・アレイの中のプロセッサの数を、問題の解決
に必要なプロセッサの数にまで、事実上変更(付加)す
ることができるシミュレーション方法に関する。
従来の通常のコンピュータでは、問題を解決するための
一連の命令は、原則的には、一時に一つずつ直列的に演
算処理される。これは、ある時点では、大規模なコンピ
ュータシステムの中の僅かな部分しか利用しないことを
意味し、特に、人工知能の分野においては深刻な問題に
なっている。
一連の命令は、原則的には、一時に一つずつ直列的に演
算処理される。これは、ある時点では、大規模なコンピ
ュータシステムの中の僅かな部分しか利用しないことを
意味し、特に、人工知能の分野においては深刻な問題に
なっている。
このような問題の対策として、相互接続され並列的に動
作する多数のプロセッサを有する大規模「並列プロセッ
サ」が、例えば特開昭60−84661号公報Gこ開示
されている。この方法は従来の技術に対しては相当進歩
したものであるが、それでも未だ更に一層多(のプロセ
ッサ/メモリよりなるアレイに対する要求がある。例え
ば、画面表示する際、各画素につい、てプロセッサ/メ
モリを備えることが有効であるが、1000 X 10
00画素の高解像度表示に対しては1.OOo、000
組のプロセッサ/メモリが必要になる。また、人工知能
研究に重要な視覚シミュレーションその他の機器でも同
様な数が必要なようである。更に偏微分方程式で記述さ
れる流体媒質についてのシミュレーションでも、上記発
明を利用するには、莫大な数のプロセッサ/メモリを必
要とする。
作する多数のプロセッサを有する大規模「並列プロセッ
サ」が、例えば特開昭60−84661号公報Gこ開示
されている。この方法は従来の技術に対しては相当進歩
したものであるが、それでも未だ更に一層多(のプロセ
ッサ/メモリよりなるアレイに対する要求がある。例え
ば、画面表示する際、各画素につい、てプロセッサ/メ
モリを備えることが有効であるが、1000 X 10
00画素の高解像度表示に対しては1.OOo、000
組のプロセッサ/メモリが必要になる。また、人工知能
研究に重要な視覚シミュレーションその他の機器でも同
様な数が必要なようである。更に偏微分方程式で記述さ
れる流体媒質についてのシミュレーションでも、上記発
明を利用するには、莫大な数のプロセッサ/メモリを必
要とする。
しかし、実際に並列プロセッサ/メそり方式を利用スる
場合に、プロセッサ/メモリの数を非常に大きくするこ
とは困難な問題である。
場合に、プロセッサ/メモリの数を非常に大きくするこ
とは困難な問題である。
(発明が解決しようとする問題点)
本発明は、現実的な規模のSIMD方式並列プロセッサ
・アレイ例えば32,000組のプロセ、す/メモリよ
りなるコネクションマシン(米国登録商標)コンピュー
タを用いながら、1000 X 1000画素を有する
表示の各画・素のデータを処理することが出来るように
、あたかもプロセッサ/メモリの数を増加させたかの如
くシミエレートする方法を提供することを目的とする。
・アレイ例えば32,000組のプロセ、す/メモリよ
りなるコネクションマシン(米国登録商標)コンピュー
タを用いながら、1000 X 1000画素を有する
表示の各画・素のデータを処理することが出来るように
、あたかもプロセッサ/メモリの数を増加させたかの如
くシミエレートする方法を提供することを目的とする。
上記問題点を解決するために本発明においては、制御器
と、該制御器により並列に制御される複数プロセッサの
アレイからなり、各プロセッサは同一入力、同一出力、
同一処理要素(プロセシング・エレメント)、及び処理
要素に結合された同一メモリよりなり、この処理要素は
前記制御器から与えられる命令に従うて、其の入力及び
結合されたメモリにより与えられたデータについて処理
して、其の出力にデータを発生させる、単一命令多重デ
ータ(SIMD)方式並列プロセッサ・アレイにおいて
、 (a)各処理要素に結合された各メモリを、処理要素に
結合された複数の下位メモリに夫々同様に細分割する、 (b)制御器から各プロセッサに少なくとも最初の命令
または命令の最初の組を与えて、少なくとも幾つかのプ
ロセッサの処理要素夫々に、処理要素と結合された第1
の下位メモリの第1の位置に格納されたデータを処理さ
せる、 (c)ついで、前記最初の命令または命令の最初の組を
、制御器から各プロセッサに与えて、少なくとも幾つか
のプロセッサの処理要素夫々に、処理要素に結合された
第2の下位メモリの第1の位置に格納されたデータを処
理させる、 という各ステップを実行することによって、プロセッサ
/メモリの数を増加させたかのようなシミュレーション
を行うこととした。
と、該制御器により並列に制御される複数プロセッサの
アレイからなり、各プロセッサは同一入力、同一出力、
同一処理要素(プロセシング・エレメント)、及び処理
要素に結合された同一メモリよりなり、この処理要素は
前記制御器から与えられる命令に従うて、其の入力及び
結合されたメモリにより与えられたデータについて処理
して、其の出力にデータを発生させる、単一命令多重デ
ータ(SIMD)方式並列プロセッサ・アレイにおいて
、 (a)各処理要素に結合された各メモリを、処理要素に
結合された複数の下位メモリに夫々同様に細分割する、 (b)制御器から各プロセッサに少なくとも最初の命令
または命令の最初の組を与えて、少なくとも幾つかのプ
ロセッサの処理要素夫々に、処理要素と結合された第1
の下位メモリの第1の位置に格納されたデータを処理さ
せる、 (c)ついで、前記最初の命令または命令の最初の組を
、制御器から各プロセッサに与えて、少なくとも幾つか
のプロセッサの処理要素夫々に、処理要素に結合された
第2の下位メモリの第1の位置に格納されたデータを処
理させる、 という各ステップを実行することによって、プロセッサ
/メモリの数を増加させたかのようなシミュレーション
を行うこととした。
前記第1と第2の下位メモリの第1の位置に格納された
新しいデータに、前記(b)および(c)ステップを繰
り返すとか、更に、前記第1と第2の下位メモリの第2
の位置に格納されたデータに、前記(b)および(c)
ステ、プを繰り返すとか、各下位メモリに以下同様に繰
り返し行って、プロセッサ数増加のシミニレ−ジョンを
確実に実行してゆくことが出来る。
新しいデータに、前記(b)および(c)ステップを繰
り返すとか、更に、前記第1と第2の下位メモリの第2
の位置に格納されたデータに、前記(b)および(c)
ステ、プを繰り返すとか、各下位メモリに以下同様に繰
り返し行って、プロセッサ数増加のシミニレ−ジョンを
確実に実行してゆくことが出来る。
上記のような手段をとることによって、多数のプロセッ
サを必要とするプログラムを、実際にはそれほど多数の
プロセッサを備えていないコンピュータ上で走らせるこ
とが出来るようになる。本発明方法により、画像表示生
成に関連する計算上の問題を、他の方法で行うよりは遥
かに高解像度で実行することができ、また、偏微分方程
式によって記述されるシステムの場合には、4.000
.000点以上についてのデータの計算を、僅か32.
768個のプロセッサを用いるアレイによって行うこと
が可能になる。
サを必要とするプログラムを、実際にはそれほど多数の
プロセッサを備えていないコンピュータ上で走らせるこ
とが出来るようになる。本発明方法により、画像表示生
成に関連する計算上の問題を、他の方法で行うよりは遥
かに高解像度で実行することができ、また、偏微分方程
式によって記述されるシステムの場合には、4.000
.000点以上についてのデータの計算を、僅か32.
768個のプロセッサを用いるアレイによって行うこと
が可能になる。
本発明は、特開昭60−84661号公報に詳細に開示
されたSIMD方式コンピュータ例えばコネクションマ
シン(connection Machine)コンピ
ュータで実行できるように意図されている。
されたSIMD方式コンピュータ例えばコネクションマ
シン(connection Machine)コンピ
ュータで実行できるように意図されている。
第1図に示すように、このコンピュータシステムは、メ
インフレームコンピュータ10、マイクロ制御器20、
並列処理集積回路(IC)35のアレイ30、データソ
ース40.Jlバッファ兼マルチプレクサ/デマルチプ
レクザ50、第1、第2、第3及び第4双方向バス制御
回路60.65.70.75、第2ハソフア兼マルチプ
レクサ/デマルチプレクサ80、データシンク90より
成る。メインフレームコンピュータ10は、例えば米国
DEC社製の市販汎用コンピュータVAXを適当にプロ
グラムして用いれば良い。マイクロ制御器20は32ビ
ット並列ハス22を介してアレイ30に与える一連の命
令を発生させる従来の設計による命令順序制御器である
。マイクロ制御器20はアレイ30から線26上の信号
を受は取る。この信号はデータ出力や状態情報として用
い −られる汎用部ちグローバル信号である。バス22
と線26は各IC35に並列に接続される。その結果、
マイクロ制御器20からの信号はアレイ30中の各IC
35に同時に与えられ、またマイクロ制御器20に線2
6で与えられる信号はアレイの全IC35からの信号出
力を結合して形成されることになる。
インフレームコンピュータ10、マイクロ制御器20、
並列処理集積回路(IC)35のアレイ30、データソ
ース40.Jlバッファ兼マルチプレクサ/デマルチプ
レクザ50、第1、第2、第3及び第4双方向バス制御
回路60.65.70.75、第2ハソフア兼マルチプ
レクサ/デマルチプレクサ80、データシンク90より
成る。メインフレームコンピュータ10は、例えば米国
DEC社製の市販汎用コンピュータVAXを適当にプロ
グラムして用いれば良い。マイクロ制御器20は32ビ
ット並列ハス22を介してアレイ30に与える一連の命
令を発生させる従来の設計による命令順序制御器である
。マイクロ制御器20はアレイ30から線26上の信号
を受は取る。この信号はデータ出力や状態情報として用
い −られる汎用部ちグローバル信号である。バス22
と線26は各IC35に並列に接続される。その結果、
マイクロ制御器20からの信号はアレイ30中の各IC
35に同時に与えられ、またマイクロ制御器20に線2
6で与えられる信号はアレイの全IC35からの信号出
力を結合して形成されることになる。
この発明の実施例では、アレイ30は4096(=2”
)個の同−IC35を備え、各IC35は16(・t)
の同一プロセッサ/メモリ36を持っている。従って全
アレイ30は65,536(・27うの同一プロセッサ
/メモリ36を持っている。
)個の同−IC35を備え、各IC35は16(・t)
の同一プロセッサ/メモリ36を持っている。従って全
アレイ30は65,536(・27うの同一プロセッサ
/メモリ36を持っている。
プロセッサ/メモリ36は、2種類の形態に編成され相
互接続されている。一つの形態は従来通りの二次元格子
パターンで、プロセッサ/メモリは128 X512の
長方形アレイに編成され、夫々アレイ内で隣接する4組
と接続される。もう一つの形態は15次元のプール立方
体である。
互接続されている。一つの形態は従来通りの二次元格子
パターンで、プロセッサ/メモリは128 X512の
長方形アレイに編成され、夫々アレイ内で隣接する4組
と接続される。もう一つの形態は15次元のプール立方
体である。
各プロセッサ/メモリを其の隣接する4Il&iと接続
するために、個々のプロセッサ/メそりは格子の各行、
各列で隣接するプロセッサ/メモリと前記特開昭60−
84661号公報のFig、6A、 Fig、7Aに示
す通り電気導体で接続される;そしてアレイの縁のIC
を除き、あるICの4個の隣接ICは、そのICの東西
南北に直接隣接するICとして識別される。
するために、個々のプロセッサ/メそりは格子の各行、
各列で隣接するプロセッサ/メモリと前記特開昭60−
84661号公報のFig、6A、 Fig、7Aに示
す通り電気導体で接続される;そしてアレイの縁のIC
を除き、あるICの4個の隣接ICは、そのICの東西
南北に直接隣接するICとして識別される。
プール立方体内での各プロセッサ/メモリと15組の最
近接プロセッサ/メモリとの接続は電気導体とルータ(
rou ter)によって行われる。配線についての詳
細は特願昭61−128294号「超次元アレイ内のプ
ロセッサ相互接続方法およびその装置」の明細書内で説
明されている。ルータについての詳細は「経路指定回路
系」として前記特開昭60−84661号公報で説明さ
れている。
近接プロセッサ/メモリとの接続は電気導体とルータ(
rou ter)によって行われる。配線についての詳
細は特願昭61−128294号「超次元アレイ内のプ
ロセッサ相互接続方法およびその装置」の明細書内で説
明されている。ルータについての詳細は「経路指定回路
系」として前記特開昭60−84661号公報で説明さ
れている。
第2図は更に詳細なプロセッサ/メそり36の説明図(
特開昭60−84661号公報の第7八図と同じ)であ
る。第2図に示すように、プロセッサ/メそりは、RA
M 250 、算術論理演算機構(ALU) 280、
フラッグ制御器290より成る。ALUは3送信源、即
ちRAM内の2個のレジスタと1個のフラッグ入力から
のデータに演算を行い、2個の出力、即ちRAMレジス
タの一つに書込まれる和出力と、フラッグ制御器内の特
定レジスタ及び他の特定プロセッサ/メモリで利用でき
る桁上り出力とを生ずる。
特開昭60−84661号公報の第7八図と同じ)であ
る。第2図に示すように、プロセッサ/メそりは、RA
M 250 、算術論理演算機構(ALU) 280、
フラッグ制御器290より成る。ALUは3送信源、即
ちRAM内の2個のレジスタと1個のフラッグ入力から
のデータに演算を行い、2個の出力、即ちRAMレジス
タの一つに書込まれる和出力と、フラッグ制御器内の特
定レジスタ及び他の特定プロセッサ/メモリで利用でき
る桁上り出力とを生ずる。
RAM250への入力は、ハス152.154.156
.158. ALU280からの和出力線285、特開
昭60−84661号公報第6A図中の通信インタフェ
ース装置(c1ll)180からのメンセージパケット
入力線I22、及びフラッグ制御器290からの書込み
許可線298である。RAM250からの出力は、線2
56.257である。線256.257上の信号はRA
M250内の二つの別のレジスタの同じ列から得られる
、これらの内の一つはレジスタAと呼ばれ、他はレジス
タBと呼ばれる。バス152.154.156.158
はマイクロ制御器20からの命令に従って、これらのレ
ジスタ及び其の中の列にアドレスする。この例では、R
AM250は記憶容量4096ビツトを持つ。
.158. ALU280からの和出力線285、特開
昭60−84661号公報第6A図中の通信インタフェ
ース装置(c1ll)180からのメンセージパケット
入力線I22、及びフラッグ制御器290からの書込み
許可線298である。RAM250からの出力は、線2
56.257である。線256.257上の信号はRA
M250内の二つの別のレジスタの同じ列から得られる
、これらの内の一つはレジスタAと呼ばれ、他はレジス
タBと呼ばれる。バス152.154.156.158
はマイクロ制御器20からの命令に従って、これらのレ
ジスタ及び其の中の列にアドレスする。この例では、R
AM250は記憶容量4096ビツトを持つ。
フラッグ制御器290は8個の1ビツトD形フリツプ・
フロップ292.16から2を選択するセレクタ294
及び幾つかの論理ゲートのアレイである。
フロップ292.16から2を選択するセレクタ294
及び幾つかの論理ゲートのアレイである。
フリップ・フロップ292への入力はALU280から
の桁上り出力信号、セレクタ294からの書込み許可線
298(信号)、及び特開昭60−84661号公報第
6B図中のプログラマブル・ロジック・アレイ(PLA
) 150からの8本の線よりなるバス172である。
の桁上り出力信号、セレクタ294からの書込み許可線
298(信号)、及び特開昭60−84661号公報第
6B図中のプログラマブル・ロジック・アレイ(PLA
) 150からの8本の線よりなるバス172である。
バス172の各線は、夫々別のフリップ・フロップ29
2に接続され、フラッグ・ビットが書込まれる一つのフ
リップ・フロップを選択する。フリップ・フロップ29
2の出力はセレクタ294に与えられる。
2に接続され、フラッグ・ビットが書込まれる一つのフ
リップ・フロップを選択する。フリップ・フロップ29
2の出力はセレクタ294に与えられる。
セレクタ294への入力は、フリップ・フロップ292
からの8本を含む最高16本のフラッグ信号線295、
それぞれ16本の線よりなるバス174.176である
。更に、バス174,176の各線は、出力または継続
処理のために、フラッグ信号線の一つを選択するアドレ
ス線である。バス174.176によりどのフラッグが
選択された場合にも、セレクタ294は、線296と2
97に、それぞれ出力を生ずる。フラッグは特開昭60
−84661号公報の表■に詳細に定義されている。
からの8本を含む最高16本のフラッグ信号線295、
それぞれ16本の線よりなるバス174.176である
。更に、バス174,176の各線は、出力または継続
処理のために、フラッグ信号線の一つを選択するアドレ
ス線である。バス174.176によりどのフラッグが
選択された場合にも、セレクタ294は、線296と2
97に、それぞれ出力を生ずる。フラッグは特開昭60
−84661号公報の表■に詳細に定義されている。
ALU280は、8から1を取るデコーダ282.和出
力のセレクタ2849桁上り出力セレクタ286よりな
る。特開昭60−84661号公報に詳述したように、
これ−により、加算、論理和、論理積を含む多(の関故
に対する和および桁上り出力を発生できる。ALU28
0は一度に3ビツト、即ち、RAIII250内のレジ
スタA、Bからの線256.257上の2ビツト及びフ
ラッグ制御器290からの線296上の1ビツト、につ
いて操作する。ALUは2出力、即ち、RAM250の
レジスタAに書込まれる線285上の和、及び、フラッ
グ・レジスタ292に書込まれ、このプロセッサ/メモ
リに接続されている他のプロセッサ/メモリ36の東西
南北およびディジー入力に付は加えられる線287上の
桁上り、を持つ。
力のセレクタ2849桁上り出力セレクタ286よりな
る。特開昭60−84661号公報に詳述したように、
これ−により、加算、論理和、論理積を含む多(の関故
に対する和および桁上り出力を発生できる。ALU28
0は一度に3ビツト、即ち、RAIII250内のレジ
スタA、Bからの線256.257上の2ビツト及びフ
ラッグ制御器290からの線296上の1ビツト、につ
いて操作する。ALUは2出力、即ち、RAM250の
レジスタAに書込まれる線285上の和、及び、フラッ
グ・レジスタ292に書込まれ、このプロセッサ/メモ
リに接続されている他のプロセッサ/メモリ36の東西
南北およびディジー入力に付は加えられる線287上の
桁上り、を持つ。
この発明に従って、各プロセッサ/メモリは同様に機能
する数個のユニットに分割できる。事実上、各ユニット
は物理的に1個のプロセッサ/メモリのRAM、ALU
、及びフラッグ制御器を共に分は合う別々のプロセッサ
/メモリとして作用する。1組の物理的プロセッサ/メ
モリで実現できるこのようなユニットの数は、各ユニッ
トに対するメモリ要求量によって定まる。
する数個のユニットに分割できる。事実上、各ユニット
は物理的に1個のプロセッサ/メモリのRAM、ALU
、及びフラッグ制御器を共に分は合う別々のプロセッサ
/メモリとして作用する。1組の物理的プロセッサ/メ
モリで実現できるこのようなユニットの数は、各ユニッ
トに対するメモリ要求量によって定まる。
1組の物理的プロセッサ/メモリを幾つかに細分割する
ことは、各物理的プロセッサ/メそり中のメモリを夫々
同じ様に区切ること、及び、第1図中のマイクロ制御器
20の中に、各物理的プロセッサ/メモリに、まず区切
ったメモリの一区分で動作させ、次回は区切ったメモリ
の其の次の区分゛で動作させ、以下、各細分割下位メモ
リ全部にわたって同様に動作させる機能を持たせること
とによって達成される。この過程を説明するフローチャ
ートを第3図に示す。 ′ メモリの細分割は容易に達成される。例えば、コネクシ
ョンマシンの現在の設計では、各RA?’1250は4
096ビソト即・ち各8ビツトよりなる512バ′イト
を持つ。実施例では、各バイトは000から511に至
る個別のメモリ位置すなわちアドレスを持つ。
ことは、各物理的プロセッサ/メそり中のメモリを夫々
同じ様に区切ること、及び、第1図中のマイクロ制御器
20の中に、各物理的プロセッサ/メモリに、まず区切
ったメモリの一区分で動作させ、次回は区切ったメモリ
の其の次の区分゛で動作させ、以下、各細分割下位メモ
リ全部にわたって同様に動作させる機能を持たせること
とによって達成される。この過程を説明するフローチャ
ートを第3図に示す。 ′ メモリの細分割は容易に達成される。例えば、コネクシ
ョンマシンの現在の設計では、各RA?’1250は4
096ビソト即・ち各8ビツトよりなる512バ′イト
を持つ。実施例では、各バイトは000から511に至
る個別のメモリ位置すなわちアドレスを持つ。
メモリを4個の下位メモリに細分割するには、メモリ位
置000から127までを第1下位メモリに、メモリ位
置128から255までを第2下位メモリに、メモリ位
置256から383までを第3下位メモリに、メモリ位
置384から511までを第4下位メモリに割り当てる
。もし必要ならばメモリをもっと小さい区分に分割する
ことが出来る。
置000から127までを第1下位メモリに、メモリ位
置128から255までを第2下位メモリに、メモリ位
置256から383までを第3下位メモリに、メモリ位
置384から511までを第4下位メモリに割り当てる
。もし必要ならばメモリをもっと小さい区分に分割する
ことが出来る。
各下位メモリでの第1メモリ位置に相対的な同一メモリ
位置は、各下位メモリで全く同様に用いられる。従って
、もし角度の度、分、秒を指定するデータが、第1下位
メモリの第1、第2、第3メモリ位置000.001.
002に格納されると、角度の度、分、秒を指定するデ
ータがやはり同様に、第2下位メモリの第1.第2、第
3メモリ位置128、129.130に、第に下位メモ
リの第1、第2、第3メモリ位置256.257.25
8に、第4下位メモリの第1、第2、第3メモリ位置3
84.385.386に格納される。
位置は、各下位メモリで全く同様に用いられる。従って
、もし角度の度、分、秒を指定するデータが、第1下位
メモリの第1、第2、第3メモリ位置000.001.
002に格納されると、角度の度、分、秒を指定するデ
ータがやはり同様に、第2下位メモリの第1.第2、第
3メモリ位置128、129.130に、第に下位メモ
リの第1、第2、第3メモリ位置256.257.25
8に、第4下位メモリの第1、第2、第3メモリ位置3
84.385.386に格納される。
区分化されたメモリの各部分に対して行われる演算処理
の順序は、それが単独の処理か複数の処理を含むかにか
かわらず、同一である。区分化されたメモリのある部分
から次の部分に進む機能は、様々な方法で達成できる。
の順序は、それが単独の処理か複数の処理を含むかにか
かわらず、同一である。区分化されたメモリのある部分
から次の部分に進む機能は、様々な方法で達成できる。
例えば、制御器によって指定されるプログラム中のアド
レシングは全部、メモリの各細分割ユニットの第1メモ
リのアドレスに対して相対的に行うことが出来る。これ
に代わって、プログラムで用いるメモリ・アドレスを該
プログラム中で相対的な言い方で指定し、そうすること
によって、区分化されたメモリのある部分から次の部分
に進む時に、これらのアドレスをインクリメントするよ
うにしても良い。
レシングは全部、メモリの各細分割ユニットの第1メモ
リのアドレスに対して相対的に行うことが出来る。これ
に代わって、プログラムで用いるメモリ・アドレスを該
プログラム中で相対的な言い方で指定し、そうすること
によって、区分化されたメモリのある部分から次の部分
に進む時に、これらのアドレスをインクリメントするよ
うにしても良い。
当業者には良く判るように、上記発明の範囲内で多数の
変った態様を実行することが出来る。
変った態様を実行することが出来る。
以上説明したように本発明によれば、SIMD方式並列
プロセッサ・アレイの中のプロセッサの数を、実際には
、実用的な範囲内、例えば数万個に抑制しながら、あた
かも百万個程度のプロセッサを用いたかの如きシミュレ
ーションを行うことが可能となる効果が得られる。
プロセッサ・アレイの中のプロセッサの数を、実際には
、実用的な範囲内、例えば数万個に抑制しながら、あた
かも百万個程度のプロセッサを用いたかの如きシミュレ
ーションを行うことが可能となる効果が得られる。
第1図、第2図は此の発明の実施に好適なSIMD方式
並列プロセッサ・アレイの図式的詳細図、第3図はこの
発明を実施する際のフローチャートである。 10− メインフレームコンピュータ、20・−・・マ
イクロ制御器、 30〜アレイ、 35・−・−並列処
理IC136−プロセッサ/メモリ、50・・−第1バ
ツフア兼マルチプレクサ/デマルチプレクサ、 60.
65.70.75・−双方向バス制御回路、 80−・
−第2バツフア兼マルチプレクサ/デマルチプレクサ、
122−メツセージパケット入力線、180・−通信イ
ンタフェース装置(cIU) 、250−RAM、 2
80−演算論理機構(ALU)、284−和出力のセレ
クタ、281y−292−D形フリップ・フロップ、2
94−16から2を選択するセレクタ、295・−フラ
ッグ信号線、298−m−書込み許可線。
並列プロセッサ・アレイの図式的詳細図、第3図はこの
発明を実施する際のフローチャートである。 10− メインフレームコンピュータ、20・−・・マ
イクロ制御器、 30〜アレイ、 35・−・−並列処
理IC136−プロセッサ/メモリ、50・・−第1バ
ツフア兼マルチプレクサ/デマルチプレクサ、 60.
65.70.75・−双方向バス制御回路、 80−・
−第2バツフア兼マルチプレクサ/デマルチプレクサ、
122−メツセージパケット入力線、180・−通信イ
ンタフェース装置(cIU) 、250−RAM、 2
80−演算論理機構(ALU)、284−和出力のセレ
クタ、281y−292−D形フリップ・フロップ、2
94−16から2を選択するセレクタ、295・−フラ
ッグ信号線、298−m−書込み許可線。
Claims (1)
- 【特許請求の範囲】 1、制御器と、該制御器により並列に制御される複数プ
ロセッサのアレイからなり、各プロセッサは同一入力、
同一出力、同一処理要素、及び処理要素に結合された同
一メモリよりなり、この処理要素は前記制御器から与え
られる命令に従って、其の入力及び結合されたメモリに
より与えられたデータについて処理し、其の出力にデー
タを発生させる、単一命令多重データ並列プロセッサ・
アレイにおいて、下記各段階よりなることを特徴とする
並列プロセッサ・アレイにおけるプロセッサ付加のシミ
ュレーション方法。 (a)各処理要素に結合された各メモリを、処理要素に
結合された複数の下位メモリに夫々同様に細分割する。 (b)制御器から各プロセッサに少なくとも最初の命令
または命令の最初の組を与えて、少なくとも幾つかのプ
ロセッサの処理要素夫々に、処理要素と結合された第1
の下位メモリの第1の位置に格納されたデータを処理さ
せる。 (c)ついで、前記最初の命令または命令の最初の組を
、制御器から各プロセッサに与えて、少なくとも幾つか
のプロセッサの処理要素夫々に、処理要素に結合された
第2の下位メモリの第1の位置に格納されたデータを処
理させる。 2、前記第1と第2の下位メモリの第1の位置に格納さ
れた新しいデータに、上記(b)および(c)段階を繰
り返す各段階よりなる特許請求の範囲第1項記載の並列
プロセッサ・アレイにおけるプロセッサ付加のシミュレ
ーション方法。 3、前記第1と第2の下位メモリの第2の位置に格納さ
れたデータに、上記(b)および(c)段階を繰り返す
各段階よりなる特許請求の範囲第1項記載の並列プロセ
ッサ・アレイにおけるプロセッサ付加のシミュレーショ
ン方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/832,913 US4773038A (en) | 1986-02-24 | 1986-02-24 | Method of simulating additional processors in a SIMD parallel processor array |
| US832913 | 1986-02-24 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62264357A true JPS62264357A (ja) | 1987-11-17 |
Family
ID=25262910
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62039301A Pending JPS62264357A (ja) | 1986-02-24 | 1987-02-24 | 並列プロセツサ・アレイにおけるプロセツサ付加のシミユレ−シヨン方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4773038A (ja) |
| EP (1) | EP0237218A3 (ja) |
| JP (1) | JPS62264357A (ja) |
| CN (1) | CN87100892A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6385846A (ja) * | 1986-09-30 | 1988-04-16 | Agency Of Ind Science & Technol | 仮想情報処理システム |
Families Citing this family (74)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB8618943D0 (en) * | 1986-08-02 | 1986-09-10 | Int Computers Ltd | Data processing apparatus |
| US5418970A (en) * | 1986-12-17 | 1995-05-23 | Massachusetts Institute Of Technology | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content |
| US5170482A (en) * | 1987-08-14 | 1992-12-08 | Regents Of The University Of Minnesota | Improved hypercube topology for multiprocessor computer systems |
| US4943912A (en) * | 1987-10-13 | 1990-07-24 | Hitachi, Ltd. | Parallel processor system having control processor and array control apparatus for selectively activating different processors |
| US5088048A (en) * | 1988-06-10 | 1992-02-11 | Xerox Corporation | Massively parallel propositional reasoning |
| US5583506A (en) * | 1988-07-22 | 1996-12-10 | Northrop Grumman Corporation | Signal processing system and method |
| US5159690A (en) * | 1988-09-30 | 1992-10-27 | Massachusetts Institute Of Technology | Multidimensional cellular data array processing system which separately permutes stored data elements and applies transformation rules to permuted elements |
| EP0390907B1 (en) * | 1988-10-07 | 1996-07-03 | Martin Marietta Corporation | Parallel data processor |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| US5072371A (en) * | 1989-03-01 | 1991-12-10 | The United States Of America As Represented By The United States Department Of Energy | Method for simultaneous overlapped communications between neighboring processors in a multiple |
| US5210836A (en) * | 1989-10-13 | 1993-05-11 | Texas Instruments Incorporated | Instruction generator architecture for a video signal processor controller |
| EP0424618A3 (en) * | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
| US5170370A (en) * | 1989-11-17 | 1992-12-08 | Cray Research, Inc. | Vector bit-matrix multiply functional unit |
| EP0432359A3 (en) * | 1989-11-21 | 1993-03-17 | International Business Machines Corporation | Method and apparatus for performing memory protection operations in a parallel processor system |
| CA2073185A1 (en) * | 1990-01-05 | 1991-07-06 | Won S. Kim | Parallel processor memory system |
| US5280474A (en) * | 1990-01-05 | 1994-01-18 | Maspar Computer Corporation | Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays |
| EP0509058A4 (en) * | 1990-01-05 | 1993-11-18 | Maspar Computer Corporation | Router chip with quad-crossbar and hyperbar personalities |
| DE69031865T2 (de) * | 1990-02-28 | 1998-08-06 | Texas Instruments Inc | Ein SIMD-Prozessor als digitales Filter |
| US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
| WO1991019256A1 (en) * | 1990-05-30 | 1991-12-12 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in simd architecture |
| GB9018048D0 (en) * | 1990-08-16 | 1990-10-03 | Secr Defence | Digital processor for simulating operation of a parallel processing array |
| US5325500A (en) * | 1990-12-14 | 1994-06-28 | Xerox Corporation | Parallel processing units on a substrate, each including a column of memory |
| US5131054A (en) * | 1991-01-09 | 1992-07-14 | Thinking Machines Corporation | Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity |
| US5175858A (en) * | 1991-03-04 | 1992-12-29 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in SIMD architecture |
| US5355492A (en) * | 1991-11-05 | 1994-10-11 | Thinking Machines Corporation | System for compiling parallel communications instructions including their embedded data transfer information |
| US5515535A (en) * | 1991-11-05 | 1996-05-07 | Thinking Machines Corporation | System and method for parallel variable optimization |
| US5442797A (en) * | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
| US5355494A (en) * | 1991-12-12 | 1994-10-11 | Thinking Machines Corporation | Compiler for performing incremental live variable analysis for data-parallel programs |
| US5278986A (en) * | 1991-12-13 | 1994-01-11 | Thinking Machines Corporation | System and method for compiling a source code supporting data parallel variables |
| US5561801A (en) * | 1991-12-13 | 1996-10-01 | Thinking Machines Corporation | System and method for multilevel promotion |
| US5586026A (en) * | 1991-12-20 | 1996-12-17 | Schlumberger Technology Corporation | Method of seismic migration using a massively parallel computer |
| US5349527A (en) * | 1991-12-20 | 1994-09-20 | Schlumberger Technology Corporation | Method of seismic time migration using a massively parallel computer |
| US5274818A (en) * | 1992-02-03 | 1993-12-28 | Thinking Machines Corporation | System and method for compiling a fine-grained array based source program onto a course-grained hardware |
| US5551039A (en) * | 1992-02-03 | 1996-08-27 | Thinking Machines Corporation | Compiling a source code vector instruction by generating a subgrid loop for iteratively processing array elements by plural processing elements |
| US5347654A (en) * | 1992-02-03 | 1994-09-13 | Thinking Machines Corporation | System and method for optimizing and generating computer-based code in a parallel processing environment |
| US5659778A (en) * | 1992-02-03 | 1997-08-19 | Tm Patents, L.P. | System and method of mapping an array to processing elements |
| US5581773A (en) * | 1992-05-12 | 1996-12-03 | Glover; Michael A. | Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements |
| US5579527A (en) * | 1992-08-05 | 1996-11-26 | David Sarnoff Research Center | Apparatus for alternately activating a multiplier and a match unit |
| US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
| US6073185A (en) * | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
| US5537319A (en) * | 1993-12-01 | 1996-07-16 | Schlumberger Technology Corporation | Method for load balancing seismic migration processing on a multiproccessor computer |
| US5524223A (en) * | 1994-01-31 | 1996-06-04 | Motorola, Inc. | Instruction accelerator for processing loop instructions with address generator using multiple stored increment values |
| JPH07234842A (ja) * | 1994-02-22 | 1995-09-05 | Fujitsu Ltd | 並列データ処理システム |
| US6567837B1 (en) * | 1997-01-29 | 2003-05-20 | Iq Systems | Object oriented processor arrays |
| US6230257B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
| US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
| US6212628B1 (en) | 1998-04-09 | 2001-04-03 | Teranex, Inc. | Mesh connected computer |
| US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
| US6185667B1 (en) | 1998-04-09 | 2001-02-06 | Teranex, Inc. | Input/output support for processing in a mesh connected computer |
| US6513108B1 (en) | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
| US6836838B1 (en) | 1998-06-29 | 2004-12-28 | Cisco Technology, Inc. | Architecture for a processor complex of an arrayed pipelined processing engine |
| US6101599A (en) * | 1998-06-29 | 2000-08-08 | Cisco Technology, Inc. | System for context switching between processing elements in a pipeline of processing elements |
| US6119215A (en) | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
| US6195739B1 (en) | 1998-06-29 | 2001-02-27 | Cisco Technology, Inc. | Method and apparatus for passing data among processor complex stages of a pipelined processing engine |
| US6356548B1 (en) | 1998-06-29 | 2002-03-12 | Cisco Technology, Inc. | Pooled receive and transmit queues to access a shared bus in a multi-port switch asic |
| US6839728B2 (en) * | 1998-10-09 | 2005-01-04 | Pts Corporation | Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture |
| US6728839B1 (en) | 1998-10-28 | 2004-04-27 | Cisco Technology, Inc. | Attribute based memory pre-fetching technique |
| US6385747B1 (en) | 1998-12-14 | 2002-05-07 | Cisco Technology, Inc. | Testing of replicated components of electronic device |
| US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
| US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
| JP2001051957A (ja) * | 1999-08-04 | 2001-02-23 | Hitachi Ltd | オンチップマルチプロセッサ |
| US6681341B1 (en) | 1999-11-03 | 2004-01-20 | Cisco Technology, Inc. | Processor isolation method for integrated multi-processor systems |
| US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
| US6892237B1 (en) | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
| US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
| US6732253B1 (en) * | 2000-11-13 | 2004-05-04 | Chipwrights Design, Inc. | Loop handling for single instruction multiple datapath processor architectures |
| US6931518B1 (en) | 2000-11-28 | 2005-08-16 | Chipwrights Design, Inc. | Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic |
| US6970985B2 (en) | 2002-07-09 | 2005-11-29 | Bluerisc Inc. | Statically speculative memory accessing |
| WO2004104790A2 (en) * | 2003-05-20 | 2004-12-02 | Kagutech Ltd. | Digital backplane |
| US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
| US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
| US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
| EP1807988B1 (en) * | 2004-11-05 | 2015-12-09 | NVIDIA Technology UK Limited | Method for computing log-likelihood ratios for coded quadrature modulated signals |
| US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57150043A (en) * | 1981-03-11 | 1982-09-16 | Hitachi Ltd | Information processor |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3573852A (en) * | 1968-08-30 | 1971-04-06 | Texas Instruments Inc | Variable time slot assignment of virtual processors |
| US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
| US4546433A (en) * | 1981-07-04 | 1985-10-08 | Gec Avionics Limited | Arrangement for processing data in a two-dimensional array |
| US4539655A (en) * | 1982-03-16 | 1985-09-03 | Phoenix Digital Corporation | Microcomputer based distributed control network |
| US4523273A (en) * | 1982-12-23 | 1985-06-11 | Purdue Research Foundation | Extra stage cube |
| US4621339A (en) * | 1983-06-13 | 1986-11-04 | Duke University | SIMD machine using cube connected cycles network architecture for vector processing |
-
1986
- 1986-02-24 US US06/832,913 patent/US4773038A/en not_active Expired - Fee Related
-
1987
- 1987-02-20 CN CN198787100892A patent/CN87100892A/zh active Pending
- 1987-02-23 EP EP87301523A patent/EP0237218A3/en not_active Withdrawn
- 1987-02-24 JP JP62039301A patent/JPS62264357A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57150043A (en) * | 1981-03-11 | 1982-09-16 | Hitachi Ltd | Information processor |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6385846A (ja) * | 1986-09-30 | 1988-04-16 | Agency Of Ind Science & Technol | 仮想情報処理システム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0237218A2 (en) | 1987-09-16 |
| CN87100892A (zh) | 1988-11-16 |
| US4773038A (en) | 1988-09-20 |
| EP0237218A3 (en) | 1988-04-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS62264357A (ja) | 並列プロセツサ・アレイにおけるプロセツサ付加のシミユレ−シヨン方法 | |
| EP0099135B1 (en) | Dynamic gate array whereby an assembly of gates is simulated by logic operations on variables selected according to the gates | |
| US4215401A (en) | Cellular digital array processor | |
| US5070446A (en) | Method of simulating a hexagonal array of computer processors and/or memories | |
| US4739474A (en) | Geometric-arithmetic parallel processor | |
| Tucker et al. | Architecture and applications of the Connection Machine | |
| EP0390907B1 (en) | Parallel data processor | |
| Siegel et al. | A survey of interconnection methods for reconfigurable parallel processing systems | |
| EP0539595A1 (en) | Data processor and data processing method | |
| JPS58169663A (ja) | アレイプロセツサ装置 | |
| JPS58144971A (ja) | アレイプロセツサ装置 | |
| Marchal et al. | Embryological development on silicon | |
| US4939642A (en) | Virtual bit map processor | |
| JPS60153088A (ja) | メモリ・デ−タ・シフト装置 | |
| JPH02503245A (ja) | N次元網でm次元(mはnより小さい)結合網をシミュレートする方法と装置 | |
| JPH04316153A (ja) | ニューロプロセッサ | |
| RU2134448C1 (ru) | Однородная вычислительная среда с двуслойной программируемой структурой | |
| Harper | A multiaccess frame buffer architecture | |
| US7516059B2 (en) | Logical simulation device | |
| EP0270198A1 (en) | Parallel processor | |
| US5913070A (en) | Inter-connector for use with a partitionable massively parallel processing system | |
| JPS58178532A (ja) | 配線径路発見装置 | |
| JPS60198655A (ja) | 画像記憶装置 | |
| JP3032218B2 (ja) | プロセッサユニット | |
| CN119301679A (zh) | 存储器架构 |