JPH01500306A - マルチプロセッサコンピュータ用メモリアーキテクチャ - Google Patents

マルチプロセッサコンピュータ用メモリアーキテクチャ

Info

Publication number
JPH01500306A
JPH01500306A JP50216887A JP50216887A JPH01500306A JP H01500306 A JPH01500306 A JP H01500306A JP 50216887 A JP50216887 A JP 50216887A JP 50216887 A JP50216887 A JP 50216887A JP H01500306 A JPH01500306 A JP H01500306A
Authority
JP
Japan
Prior art keywords
processing elements
processing
processing element
address
memory
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
JP50216887A
Other languages
English (en)
Inventor
モッターズヘッド,クリストファー ジョン
Original Assignee
ザ ブリテイッシュ ピトローリアム コンパニー ピー.エル.シー.
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 ザ ブリテイッシュ ピトローリアム コンパニー ピー.エル.シー. filed Critical ザ ブリテイッシュ ピトローリアム コンパニー ピー.エル.シー.
Publication of JPH01500306A publication Critical patent/JPH01500306A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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/8023Two 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)

Abstract

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

Description

【発明の詳細な説明】 マルチプロセッサコンピュータ用メモリアーキテクチャ技術分野 本発明はマルチプロセッサコンピュータのメモリ組織の改良に関する。
従来技術 データ処理を処理ステップを同時に遂行する複数の処理要素の間で、分割するこ とによって複合データ処理を実行できる速度を向上することが従来より提案され ている。同一命令を異なるデータについて同時に実行したり(SIMD−単一命 令、複数データストリームのデータ処理方式)、異なる命令を異なるデータにつ いて同時に実行したり(MIMD−複数命令、複数データストリームのデータ処 理方式)するvi器が提案されている。
SIMD機とMIMD機の詳細については、ストーン外層「コンピュータアーキ テクチャ序説」、サイエンス リサーチ アソシエーツ社、1975年発行、3 27〜354頁(SIMD)および355〜372頁(MIMD)を参照された い。
マルチプロセッサとして従来より提案されている構成の一つは、制御コンピュー タもしくはホストコンピュータと称される従来形のコンピュータで、該コンピュ ータがコントローラに接続され前記コントローラ自体は複数の独立の処理要素を 往復するデータと命令の移送を制御するようになったものから構成される。制御 コンピュータもしくはホストコンピュータは、ディスクメモリ、キーボード、プ リンタ等の周辺装置を制御し、コントローラを経由して処理要素へプログラムと データを移送する働きを行う。
コントローラは命令とデータを個々の処理要素へ送る働きをする。個々の処理要 素が相互接続される方法によって、コントローラは個々の処理要素同士の間のデ ータの転送を行うことができる。
複数の処理要素からなる何れのシステムにとっても、重要な考慮事項は、処理要 素同士の間でデータやメツセージを通信させたり、処理要素同士の間でデータを 共をすることができるようにすることである。
システムの制御が、コントローラに集中しているようなシステムの場合、コント ローラを介して処理要素間の連絡用に使用される通信路が存在する。この通信方 法は、メツセージが処理要素からコントローラへ移送された後、受信処理要素へ 至るという点で間接的である。更に、かかるメツセージは、一度には処理要素間 を唯1(IiLか送ることができない、このことはかかるシステムの並行性、従 ってその演算速度を低下させることになる。
複数の処理要素を有するシステムの使用に成功したもう一つの方法は、各処理要 素にデータ転送レジスタを設けることである。各データ転送レジスタは、相互接 続バスに接続され、同バス自身は独立の処理要素の各々の上に個々のデータ転送 レジスタをリンクして処理要素間でぶントワークを形成する。
かかるシステムの場合、データもしくはメツセージは、同しデータもしくはメツ セージをデータ転送レジスタ内へ配置した後、それらをデータ転送レジスタ間を ホップさせて相互接続ネットワークを通って送ることによって転送先処理要素へ 送られる。データもしくはメツセージを処理要素間で転送するこの方法は、コン トローラを使用した以前の方法と異なり、複数の処理要素全体に並行して使用す ることができる。しかしながら、この方法の欠点は、複数処理要素の各々に特別 のデータ転送レジスタが必要となり、これらデータ転送レジスタ間に相互接続バ スが必要となる点である。更に、このデータまたはメンセージ通信システムは、 処理要素間でデータを共用することが困難である。処理要素間でデータを共用す るためには、データのコピーをこれらレジスタと接続バスを介してデータを共有 する必要のある個々の処理要素へ送らなければならない、この状況は、個々の処 理要素が厳密な意味でデータを共有するものではないということを意味する。な ぜならば、それぞれの処理要素はそれ自身のデータのコピーを有することになる からである。データがコピーされる場合には、種々のコピーとマスクコピーとの 間の一致を確保する必要が常に存在する。「大規模並行処理用相互接続ネットワ ーク」エイチ。ジェイ、シーゲル著、レキシントンブ、クス1985年発行、1 4.18−20頁には、かかる構成が開示されている。
米国特許第4325116号(フランツ外)は、2個のプロセッサと2個のメモ リを備えたコンピュータシステムを開示している。前記メモリのうちの一つは、 2冊のプロセッサにより共有される。一つのプロセッサによりこのメモリ中に配 置されたデータは、他のプロセッサにより該メモリから直接検索することができ る。
米国特許第4325116号の2つのプロセッサは、並行に動作して計算を実行 する独立の同一処理要素の簗合体の一部ではない。2つのプロセッサは異なる機 能を遂行している。
一つのマルチプロセッサコンピュータ中の処理要素同士の間でデータを共有する ことが望ましいであろう、その場合には、複数の独立の同一処理要素が共働して 演算を実行することになり、特別のレジスフを設ける必要がない。
本発明によれば、複数の同一の処理要素を格納するマルチプロセッサコンピュー タが提供され、前記処理要素はそれぞれプロセッサと、該プロセッサがアドレス 指定できるローカルメモリと、他の処理要素から前記ローカルメモリへのアクセ スを制御するための裁定手段とから成る。そして、前記処理要素の少なくとも一 つは、X個の隣接処理要素(但しXは少なくとも1である整数)に接続され、処 理要素内のプロセッサによりアドレス指定可能なメモリスペースは少なくともX +1個の領域に分割され、前記領域の一つをアドレス指定すると処理要素のロー カルメモリ中のデータをアクセスすることができる。さらに、前記領域の他の一 つをそれぞれアドレス指定すると、前記X個の隣接処理要素のうち異なった一つ のローカルメモリ内のデータをアクセスすることができる。
所定の処理要素の隣接処理要素は、前記所定の処理要素が恒久的に接続されるこ とによりて、所定の処理要素が接続された処理要素のローカルメモリにアクセス することができるようになっている。複数の処理要素の任意の一つを、全ての処 理要素がアクセスする共通ハスによって、その他の何れの処理要素にも接続する ことができるようなマルチプロセッサコンピュータが今日知られている。全ての 処理要素に対して共通のバスによってはじめて相互接続される処理要素は、本明 細書の目的とする隣接処理要素ではない。
複数の処理要素の一つを、何れも処理要素同士の間に介在させた交換網により、 もう一つの処理要素と連絡させることができるようなマルチプロセッサコンビニ ーりもまた知られている。かかるマルチプロセッサコンピュータは、データのコ ピーを一つのローカルメモリから別のメモリへ交換網を経て送ることによって、 処理要素同士の間にデータを移送させる。処理要素同士は、処理要素の一つのロ ーカルメモリ内に配置された同一のデータを共同アクセスすることはない、第2 の処理要素と共にそのローカルメモリ内に保持されたデータに共同アクセスしな い第1の処理要素は、第2処理要素には隣接しない。
一般的に、もしある処理要素(例えばAで示す)が別の処理要素(例えばBで示 す)の隣接処理要素であれば、BもまたAの隣接処理要素である。しかしながら 、AのプロセッサはBのローカルメモリにアクセスできるが、Bのプロセッサは Aのローカルメモリにアクセスできないような構成を考えることもできる。かか る状況においては、BはAの隣接処理要素であるがAはBの隣接処理要素ではな いことになる。
複数の処理要素が存在することによって、その各々が隣接処理要素を一つ備える と共に一つの処理要素の隣接処理要素であることが望ましい0例えば、一連の処 理要素でその各々が当該一連の処理要素以降の一個の処理要素のローカルメモリ にアクセスできるが、その一連の処理要素以上の一個の処理要素のローカルメモ リにはアクセスできないようになったものを考えることができる。しかしながら 、隣接処理要素を有するそれぞれの処理要素自体は、前記隣接処理要素に対して 隣接する処理要素であることが望ましい、かくして、もしある処理要素人が処理 要素Bに対する隣接処理要素であれば、BはAの隣接処理要素でもあることが望 ましい。
処理要素の総数につき全処理要素が隣接処理要素となる程の十分に小さなマルチ プロセッサコンピュータを考えることが可能である。
しかしながら、一般的に、任意の所定の処理要素に対する隣接処理要素の最大数 は、コンピュータ内の処理要素の総数よりも少ないであろう。
隣接処理要素は、それらが取付けられる囲い内に互いに物理的に隣接しているこ とが、一般的に便利であろうが、このことは本質的要件ではない、処理要素は、 例えば単一の回路板上に単一のユニットとして構成するのが便利である。メモリ が同一の回路板上にあるか、あるいは特定のプロセッサと関連し合っていること が明らかである場合には、そのメモリはローカルメモリと考えることができる。
メモリは、プロセッサから隔たって取付けることによって、所定のメモリが所定 のプロセッサと物理的に明らかに関連しないようにすることができる。かかる場 合にば、ローカルメモリの選択は随意である。それぞれのプロセッサからそのロ ーカルメモリとその隣接処理要素へのアドレス線およびデータ線の配線は、正規 のユニプロセッサにおけると同じである。プロセッサとメモリ同士は、交換網に より接続せずに、何れのプロセッサも例えばバケット交換網によって任意のメモ リと交信することができるようにする。
全ての処理要素は、同数の隣接処理要素に接続する必要はない、標準的な設計の 処理要素をもつためには、所定数(Xmax )の処理要素に対して接続できる ようにして、少なくとも若干の処理要素をX max個未満の数の隣接処理要素 に接続するのが便利であるかもしれない。
処理要素同士は、規則的な構成を与えるために共に接続する必要はない。しかし ながら、一般的には、成る種の規則的構成をもつことが望ましかろう。かくして 、処理要素は2進トリーの形に接続することができよう。2進トリーの場合、根 処理要素は隣接処理要素を2つしか有しないであろう、2進トリーの末端(葉) の処理要素は隣接処理要素を1つしがもたないであろう、2進トリー内のその他 の処理要素は、隣接処理要素を3つ有することになろう。
2進トリーの位相形に処理要素同士が接続される場合の隣接処理要素の数に関す る前記事項は、根と葉の両方向にローカルメモリに対する等しいアクセスが存在 することを想定している。もし、葉の方向へ2つの処理要素のローカルメモリに アクセスすることが許されて、根の方向への処理要素のローカルメモリに対する アクセスが許されないのであれば、葉の処理要素は本明細書の目的とする隣接処 理要素は有しない。
なぜならば、それらはその他のどの処理要素のメモリもアクセスできないからで ある。他の処理要素は、全て隣接処理要素を2つ有する。なぜならば、それらは それぞれ他の2つの処理要素のメモリを葉の方向にアクセスすることができるか らである。
もう一つの接続方法は、それぞれの処理要素が4つの隣接処理要素を有するトー ルスの形をしている。しかし、もう一つの可能な接続法は超立方体の形をしてい る。
それぞれの相互接続された処理要素上でアドレス指定可能な記憶空間は、X +  2 IIIの領域に分割され、追加的な領域が共通のコン]・ローラにリンク されることによって、この追加的領域内のアドレスがコントローラ内のメモリに アクセスするようになっている。かくして、本出願人の国際出願PCT/GB8 7100093 (整理番号6147/6326)に対応する同時係ス出願には 、SIMDモードで動作しコントローラ内の命令メモリから処理要素へ命令を伝 えるマルチプロセッサコンピュータが記載されている0個々の処理要素上にメモ リアドレスを配列して、コントローラにアクセスすることによって処理要素は、 そのプロセッサ内で実行されるべきコントローラから命令を得ることができる。
前記メモリの追加領域内のアドレスは、直接コントローラには通さない方が望ま しい、そうではなく、関連範囲のアドレスを全て単一のアドレスとして処理する ことが望ましく、その場合、その単一のアドレス自体は直接コントローラには通 されずに、ある回路によって信号をコントローラに通して、処理要素がコントロ ーラからのデータもしくは(より普通の)命令を必要とすることを示すようにす る。
処理要素が規則的な位相形で共に接続される場合には、メモリ領域の割当てが首 尾一貫するようにすることが望ましい。
複数の処理要素で、その各々が位相幾何学的に区別された位置に隣接しあう処理 要素を存する場合を考察してみよう。処理要素は全て同じ範囲のアドレスによっ て所定の位相幾何学的位置で隣接する処理要素のメモリにアクセスすることが望 ましい。
2進トリーの形をしたコンピュータで逐次的により高いアドレス範囲をを効にカ バーするラベルnO,n1.n2.n3゜n4により識別される複数の領域に分 割された各処理要素と関連する記憶空間ををするものを考えてみよう、かかるコ ンビニーりの場合、例えばnoのアドレスが常に根の方向の処理要素のメモリに アクセスし、n2のアドレスが常に立技の処理要素のメモリにアクセスし、n3 のアドレスが常に右枝の処理要素のメモリにアクセスし、更にn4のアドレスが コントローラと関連するようにすることが望ましい。
以下の本発明の説明において、記号*は乗箆記号として用い、記号十は加算記号 として用い、どの記号もプール演算子のANDやORを表示するためには使用さ れない。
循環接続(トールス)される処理要素の矩形配列に適用した本発明の一般論を以 下に示す、かかる配列の場合、処理要素は全て4つの隣接処理要素を有する。
しかしながら、前記の如く、その伯の構成も可能である。
例えば、前記の如く処理要素を3つ有する2進トリーの形に処理要素を配列する こともできよう。アドレス空間を仕切る同様の原理も依然使用できる。
コントローラの制御下にあるa*b処理要素より成る処理要素の矩形配列の場合 を考えてみよう、但し、(aとb)は正の整数である。
a*b処理要素は、3行す列の矩形状に配列される。この配列による独立した一 つの処理要素は、4つの隣接処理要素を有する。これらは、P (N)すなわち 北、P (E)すなわち東、P (S)すなわち南およびP (W)すなわち西 のラベルを付与することができる。
ラベルP (N) 、P (S) 、P (W)およびP (E)は何ら物理的 重要性をもつものではなく、“up”、“down”。
”1eft”および”right”もしくは”green’。
”blue″、”red″、“y e I 1. o w ”のラベルに置き換 えても差支えない、この処理要素の配列の独立した一つの処理要素は、P (t 、j)により表わすことができる。但し、iは処理要素が位置する行でjは列で ある。4つの隣接処理要素は次のように!識別することができる。
P (N)はP(i−1,j)。
P (E)はP (i、j+1)。
P (S)はP (i+1.j)およびP (W)はP(i、j−1)。
より厳密には、隣接処理要素は次のように識別することができる。
P (N)は(P (1+ ((i−2) mod b) 、 j))P (E )は(P ci、 1 + (jmod a) ) )P (S)は(P (1 + (imod b> 、 j))P (W)は(P (i、 l+ ((J  2) +mod a) ))各処理要素内のプロセッサは、ho−Hの範囲の記 憶空間にアドレス指定することができる。但し、hOとHはプロセッサがアドレ ス指定できる最下位と最上位のアドレスを示す。
これら処理要素のP(i、j)は、それぞれローカルメモリのM(i、j)を有 する。ローカルメモリは、プロセンサのアドレス空間全体の一部で占めるだけで ある。ローカルメモリは、hO−hl−1の範囲にアドレス指定できる。更に、 プロセッサはその4つの隣接処理要素のローカルメモリに対してh1〜h2−1 .h2〜h3−1.h3〜h4−1. もしくはh4〜h5−1の範囲のアドレ スを用いてアドレス指定することができる。但し、前記第1番目の範囲は処理要 素P (N)を、第2番目の範囲はP (E)のローカルメモリを、第3番目の 範囲はP (S)のローカルメモリを、そして第4番目の範囲はP (W)のロ ーカルメモリをそれぞれアドレス指定するものである。コントローラは、h5も しくはそれ以上のアドレスを使用するa*b処理要素の何れかによってアドレス 指定できる。処理要素内のプロセッサがアドレス指定できる記憶空間は、かくし てX+2の領域に分割される(隣接処理要素の数であるXは、この場合4である )、領域同士は重なり合っていないが、必ずしも隣接しているとは躍らない、前 記用語法を用いて処理要素の記憶領域を識別すると、範囲hO〜hl−1のアド レスは領域noに相当し、範囲h1〜h2−1のアドレスは領域n1に相当し、 範囲h2〜h3−1のアドレスは領域n2に相当し、範囲h3〜h4−1のアド レスはfI域n3に相当し、範囲h4〜h5−1のアドレスは領域n4に相当し 、範囲h5〜Hのアドレスは領域n5に相当する(Hはプロセッサが生成させる ことのできる最上位のアドレスである)。
00000−FFFFFの範囲の16進アドレスを生成させることのできるプロ セッサの場合には、各処理要素のローカルメモリはooooo〜OFFFFのア ドレス範囲をもつことができ、その隣接処理要素のローカルメモリは、それぞれ P (N) 、P (E) 、 P (S)およびP (W)について、100 00〜lFFFF、20000〜2FFFF、30000〜3FFFFおよび4 0000〜4FFFFの範囲の16進アドレスによりアクセスすることができる (すなわち、今述べたアドレス範囲と隣接しないアドレス範囲である)。
処理要素P(i、j)のプロセッサからローカルメモリM(i、j)に対するア クセスは、ローカルバスB(i、j)を介して転送される。メモリM(i、j) に対するアクセスは、全てローカルアドレス裁定回路D(i、j)により散定す レる。D(i、j)が処理要素P (i、j)のローカルプロセッサによりM( i、j)に対してアクセスすることができるためには、P (i、j)のローカ ルプロセッサによって発せられるアドレスは、前記特殊例の場合、ローカルメモ リに付与された範囲、例えば16進ooooo〜0FFFFの範囲になければな らない。
処理要DP (i、j)のプロセッサもまたローカルハスB(i、j)を介して 隣接処理要素のローカルメモリM (N) 。
M (E) 、 M (S)およびM (W)にアクセスすることができる、こ れら隣接するローカルメモリに対するアクセスは、対応するローカルアドレス裁 定回路、すなわちD (N) 。
D (E) 、 D (S)およびD (W)により裁定される。P(i、j) のローカルプロセッサが、これら隣接ローカルメモリにアクセスできるためには 、P(i、j)のローカルプロセッサは前記特殊例の場合、適当な範囲内のアド レス、例えばそれぞれ10000〜lFFFF、20000〜2FFFF、30 000〜3FFFFおよび40000〜4FFFFの範囲のアドレスを使用しな ければならない。
逆に、ローカルメモリM(i、j)は、D(i、j)により裁定される各ローカ ルバス上に配置されたアドレスを介して隣接する処理要素のプロセッサによりア クセスすることができる。処理要素のプロセッサP (N) 、 P (E)  、 P (S)およびP (W)が、ローカルメモリM(i、j)にアクセスす ることができるためには、これらのプロセッサは前記特殊例の場合、それぞれ1 6進アドレス範囲30000〜3FFFF、40000〜4FFFF、1000 0〜lFFFFもしくは20000〜2FFFFでこのメモリにアクセスするこ とになろう。
P(i−1,3)がP (i、3)上のローカルメモリにアクセスする場合には 、それはP(i−1,j)から考えられるP (S)の処理要素をアクセスする ことになる。P(i−1、j)からP(i、3)のローカルメモリにアクセスす るために使用されるアドレスは、かくしてP (S)のアドレス、すなわち30 000〜3FFFFということになる。
このようなデバイスにより、a*b処理要素は何れもその隣接処理要素とデータ を共有することができる。
ローカルアドレス裁定装置D(i、j)は、1つのローカルプロセッサから、4 つは隣接処理要素上のブロモ、すから全部で5つの入力接続部と、ローカルメモ リM(i、j)への1つの出力接続部とを備える。各入力は、異なる領域にある アドレスを受け取る。入力は、no、nl、n2.n3およびn4の領域のアド レスを受けとる。一つの入力がアドレスを1個受は取ると、該入力はローカルメ モリに対する出力である@2のアドレスM(i、j)にそのアドレスをマフピン グすることによって、ローカルメモリ内の物理的メモリロケーションをアクセス する。前記特殊例の場合、受は取られたアドレスはアドレスの最大を効16進桁 を無視することによりマツピングされる。
かくして、例えばもし処理要素のプロセンサP(i、j)が、ローカルメモリM (i、j)内の16進アドレス0123Aのデータにアクセスできれば、処理要 @P (N)のプロセッサはメモリM(i、j)内の16進アドレス3123A の同一データにアクセスでき、処理要素P (E)のプロセッサはメモリM(i 、j)内の16進アドレス4123Aの同一データにアクセスでき、処理要素P  (S)のプロセンサはメモリM(i、j)内の16進アドレス1123Aの同 一データにアクセスでき、更に処理要素P (W)のプロセッサはメモリM(i 、j)内の16進アドレス2123Aの同一データにアクセスすることができる 。
コントローラは、グローバルバスG上にある。ローカルバスB(i、j)上に配 置されたアドレスは、ローカル−グローバルアドレスマンピング回路ヲ介してグ ローバルバスへ発することができる。処理要素P(i、j)がコントローラにア ドレス指定することができるためには、ローカルバスB(i、j)上にh5より 大きいかもしくはそれに等しいアドレス(例えば、16進FOOOO〜FFFF F)を配置しなければならない、範囲h5〜Hのアドレスは、全て単一のアドレ スに77ピングするように構成するのが便利であると思われる。例えば、ローカ ル−グローバルアドレスマツピング回路は、単一のアドレスに対して16進アド レス範囲FOO00〜FFFFF内のアドレスをマツピングしてもよく、さらに 唯一つのアドレスだけしかグローバルバス上には置かれないから、その単一のア ドレスを単一の信号によって置き換えることができる。更に、データをコントロ ーラに転送せずに、コントローラから処理要素により読み取るようにすることが 望ましい、この手段によって、全プロセッサP (i、j)がSIMDモードで 動作している場合、それらに対して命令コードを「同報通信」させることができ る。
本発明により必要とされる裁定ならびにアトI/スマソビング回路は、当業者に よって設計することが容易であろう。
添付図面を参照して本発明を説明する。
第1図は、4つの隣接処理要素に接続するための手段を備えた一つの独立した処 理要素の線図、および第2図は4つの隣接処理要素に接続された独立の処理要素 の線図である。
第1図は、とりわけメモリアドレス裁定装置とバスから成る処理要素の全体構造 を示したものである0図示した付加的バスは、複数の処理要素の場合の隣接処理 要素上にある同様のバスから派生する。
プロセッサ1は、0〜FFFFFの範囲の16進アドレスを生成させることので きるものであれば、従来より市販されているマルチプロセンサでよく、これはア ドレス/データバス2に接続される。プロセッサによるメモリ要求はこのローカ ルバスを介して転送される。処理要素は、複数の処理要素のうちの一つを表わす 。
ローカルバス2もまた、ローカルアドレス裁定装置3.ローカル−グローバルア ドレスマンピング装置9および4つの隣接処理要素のアドレス裁定装置に接続さ れる。従って、プロセッサ1により発せられるアドレスは、バス2を介して隣接 処理要素のローカルアドレス裁定装置へ向かう。
逆に、ローカルアドレス裁定装置3は、ローカルバス2へ接続されるほか、4つ の隣接処理要素のローカルバスにも接続される。裁定装W、3の働きは、異なる アドレス範囲を用いてローカルメモリ4を分岐することである。ローカルアドレ ス裁定装置3は、当業者により標準的部品から製作することができる。この装置 は、プロセッサ1によりローカルバス2上に配置された16進アドレス範囲oo ooo〜0FFFFのアドレスを受けとり、16進アドレス範囲0000〜FF FFでローカルメモリ4をアクセスすることができる。該装置3は、隣接処理要 素のバス5.6.7.8上にそれぞれ置かれた16進範囲10000〜lFFF F、20000〜2FFFF、30000〜3FFFFおよび40000〜4F FFFのアドレスを受け取る。これらのアドレスは、0000〜FFFFの16 進アドレス範囲にマンピングされ、ローカルメモリ4へのアクセスが可能になる 。
アイテム11は、ローカル裁定装置からローカルメモリへ至る単なるアドレス/ データバスである。
装置3が受け取ったアドレスは、装置3に提示されたアドレスの4つの下位16 進tijにより識別されるアドレスで、ローカルメモリ4内のデータをアドレノ ンングすることになる。
ローカル−グローバルアドレスマツピング装τ9は、ローカルバス2に接続され る。FOOOO〜FFFFFの範囲のアドレスは、装置9によりグローバルバス 10上の単一(,3号にマツピングされる。この装置は、当業者により標準的部 品から製作することができる。
グローバルバスは、任意数の複数処理要素により同時にアクセスすることのでき る命令・データバスであり、コントローラに接続される。
グローバルバスは、処理要素による読み取りサイクル用にだけ使用される。複数 処理要素は、グローバルバスを使用してSIMD操作用の命令コードを受けとる 。
これは、複数処理要素が全て同時にグローバルバスをアトレンジングする場合に 行われる。
第2図は、単一処理要素11をその隣接処理要素12゜13.14.15の裁定 装置に隣接接続したものを示したものである。各処理要素は、隣接処理要素を4 つもっており、更にグローバルバス、従ってコントローラへ接続される。
一般に、その他の相互接続、形が必要な場合には、一つの処理要素は前記以下の 数の処理要素もしくは数多く隣接するために拡大した裁定装置へ接続することが できる。
ど FI6.2 、−−−−、、−−−、、−、、−、、−−−− Wj〒/l’:ljl R7 /nO)11I剛−一書−^紳−約−s、、PCτ/GB 87100231

Claims (13)

    【特許請求の範囲】
  1. 1.複数の同一処理要素でその各処理要素が、プロセッサと,同プロセッサによ りアドレッシング可能なローカルメモリと、その他の処理要素からの前記ローカ ルメモリに対するアクセスを制御するための裁定装置とから構成され、前記処理 要素の少なくとも一つがデータを共有するためにX個の隣接処理要素(但しXは 少なくとも1の整数)に接続され、処理要素内のプロセッサによりアドレッシン グされる記憶空間が少なくともX+1個の領域に分割され、前記領域のうちのア ドレッシング中のものによって処理要素のローカルメモリ中のデータがアクセス 可能になり、前記領域の他の一つをそれぞれアドレッシングすることによって前 記X個の隣接処理要素のうちの異なった一つのローカルメモリ内でデータをアク セスすることを可能とするマルチプロセッサコンピュータ。
  2. 2.複数の処理要素でその各々が1個の隣接処理要素を備えると共に1個の処理 要素の隣接処理要素である請求の範囲第1項に記載のマルチプロセッサコンピュ ータ。
  3. 3.1個の隣接処理要素を有する処理要素がそれぞれそれ自身前記隣接処理要素 の隣接処理要素である請求の範囲第2項に記載のマルチプロセッサ。
  4. 4.処理要素の動作を制御し処理要素を往復するデータの転送を制御するための コントローラを備え、それぞれの相互接続された処理要素上でアドレッシング可 能な記憶空間がX+2個の領域に分割され、記憶空間領域が前記コントローうと 連絡するため前記記憶空間領域内のアドレスにアクセスすることにより処理要素 にコントローラ内のメモリにアクセスさせるようにした請求の範囲第1項ないし 第3項の何れかに記載のマルチプロセッサコンピュータ。
  5. 5.コントローラにリンクした記憶空間領域内のアドレスが全て単一のアドレス にマッピングされ、このアドレスに照会することによって回路に対して信号をコ ントローラに送らせ、処理要素がデータもしくは命令を必要としていることを指 示する請求の範囲第4項に記載のマルチプロセッサコンピュータ。
  6. 6.コントローラと関連するメモリロケーションにアクセスする処理要素が、コ ントローラと無関係のメモリロケーション内のアドレスにアクセスすることにな るまで、同様にコントローラと関連したアドレスにアクセスする他の処理要素と 共にSIMDモードで動作する請求の範囲第4項または第5項に記載のマルチプ ロセッサコンピュータ。
  7. 7.処理要素同士が共に規則的位相形に接続される請求の範囲第1項ないし第6 項の何れかに記載のマルチプロセッサコンピュータ。
  8. 8.処理要素同士が2進トリ−として接続される請求の範囲第7項に記載のマル チプロセッサ。
  9. 9.処理要素同士がトールスとして共に接続される請求の範囲第7項に記載のマ ルチプロセッサコンピュータ。
  10. 10.処理要素同士が超立方体形に接続される請求の範囲第7項に記載のマルチ プロセッサ。
  11. 11.複数の処理要素でその各々が位相的に識別される位置に隣接処理要素を備 え、その全てが同一範囲のアドレス群により所定の位相幾何学的位置にある隣接 処理要素のメモリをアクセスする請求の範囲第7項ないし第10項の何れかに記 載のマルチプロセッサ。
  12. 12.所定の処理要素に対する隣接処理要素の数が、複数の処理要素全体に亘っ て一定である請求の範囲第1項ないし第11項の何れかに記載のマルチプロセッ サコンピュータ。
  13. 13.処理要素がそれぞれ4つの最も近接する隣接処理要素を有する請求の範囲 第12項に記載のマルチプロセッサ。
JP50216887A 1986-04-04 1987-04-02 マルチプロセッサコンピュータ用メモリアーキテクチャ Pending JPH01500306A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8608312 1986-04-04
GB868608312A GB8608312D0 (en) 1986-04-04 1986-04-04 Process control units

Publications (1)

Publication Number Publication Date
JPH01500306A true JPH01500306A (ja) 1989-02-02

Family

ID=10595719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50216887A Pending JPH01500306A (ja) 1986-04-04 1987-04-02 マルチプロセッサコンピュータ用メモリアーキテクチャ

Country Status (4)

Country Link
EP (1) EP0240354A1 (ja)
JP (1) JPH01500306A (ja)
GB (1) GB8608312D0 (ja)
WO (1) WO1987006039A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11972132B2 (en) 2018-04-03 2024-04-30 Xilinx, Inc. Data processing engine arrangement in a device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830577A (ja) * 1994-07-15 1996-02-02 Mitsubishi Electric Corp Simdプロセッサ
US10747690B2 (en) * 2018-04-03 2020-08-18 Xilinx, Inc. Device with data processing engine array

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5839360A (ja) * 1981-09-01 1983-03-08 Toshiba Corp メモリ−アクセス方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11972132B2 (en) 2018-04-03 2024-04-30 Xilinx, Inc. Data processing engine arrangement in a device

Also Published As

Publication number Publication date
WO1987006039A1 (en) 1987-10-08
EP0240354A1 (en) 1987-10-07
GB8608312D0 (en) 1986-05-08

Similar Documents

Publication Publication Date Title
US4507726A (en) Array processor architecture utilizing modular elemental processors
Siegel et al. A survey of interconnection methods for reconfigurable parallel processing systems
US5404562A (en) Massively parallel processor including queue-based message delivery system
US5247694A (en) System and method for generating communications arrangements for routing data in a massively parallel processing system
US5428803A (en) Method and apparatus for a unified parallel processing architecture
US5247613A (en) Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel
US5230057A (en) Simd system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers
US5367692A (en) Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation
US7673118B2 (en) System and method for vector-parallel multiprocessor communication
US9612750B2 (en) Autonomous memory subsystem architecture
US8812765B2 (en) Data coherence method and apparatus for multi-node computer system
JPH07152722A (ja) Simdマルチプロセッサ用動的再構成可能スイッチ装置
EP0293701A2 (en) Parallel neighborhood processing system and method
US20050024983A1 (en) Providing a register file memory with local addressing in a SIMD parallel processor
MXPA05000753A (es) Metodo para gestion de datos en un procesador de arreglo y procesador de arreglo que lleva a cabo este metodo.
JP2000506645A (ja) マルチプロセッサ中央処理ユニット
Ramanathan et al. Survey of commercial parallel machines
JP2938711B2 (ja) 並列計算機
JPH01500306A (ja) マルチプロセッサコンピュータ用メモリアーキテクチャ
US5465369A (en) Network structure for parallel software processing
JP2934382B2 (ja) プロセッサ・ノード
Murakami et al. An overview of the Kyushu University reconfigurable parallel processor
Bornstein et al. Data reshuffling in support of fast I/O for distributed-memory machines
JPS608958A (ja) 主記憶装置
Hayat et al. An efficient multidimensional/multidirectional parallel pipelined architecture for image processing