JPH05509184A - 並列プロセッサーアレイのための仮想処理アドレス・命令ジェネレーター - Google Patents

並列プロセッサーアレイのための仮想処理アドレス・命令ジェネレーター

Info

Publication number
JPH05509184A
JPH05509184A JP3510619A JP51061991A JPH05509184A JP H05509184 A JPH05509184 A JP H05509184A JP 3510619 A JP3510619 A JP 3510619A JP 51061991 A JP51061991 A JP 51061991A JP H05509184 A JPH05509184 A JP H05509184A
Authority
JP
Japan
Prior art keywords
processor
virtual
address
cell
physical
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
JP3510619A
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 JPH05509184A publication Critical patent/JPH05509184A/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

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

【発明の詳細な説明】 6杵: 並列プロセッサーアレイのための仮想処理アドレス・命令ジエネレーターヱ服り 分野: 本発明はコンピューターシステム、そしてより詳細には並列処理コンピューター システムに関するものである。
及咀の背量: 電場と磁場、流体の流れ5音波、熱の流れなどの自然現象の、ある与えられた時 刻における状態は、3次元的、空間的に分布するデータとして、互いに直交する 3つの座標軸の方向における空間的位置が指標をもって示されるところの、1つ または1組の数によって表現される。場合によっては、さらに第4の次元として 、「時間」も考慮しなければならない。これまで科学者やその他のコンビコータ ー・ユーザーは、ボワッノン方程式やマックスウェル方程式など、空間的に分布 するデータにかかわる偏微分方程式を解こうとする場合に5十分なデータ処理能 力を享受することができなかった。これは、従来技術によるプロセッサーシステ ムとプロセッサーアレイが、2次元構成に限定されていたことによるものである 。
純粋に1次元アレイまたは2次元アレイを用いて行う、3次兄方程式を解くため の従来技術による試みは、プロセッサーではなくメモリーに記憶させなければな らない空間データの、第2または第3の次元への指標またはアドレスポインター を計算するために、大意の「プロセッサーオーバーヘッド」を必要とする処理シ ステムを生み出した8たとえば伝統的なシングルプロセッサー型コンピューター の場合、X次元とZ次元の指標を計算するには、最大で3回の乗算と2回の加算 を実行しなければならない、2次元コンピューターを使った場合には、X軸とY 軸は直接的にアクセスできるが、2ポインターはやはり計算しなければならず、 そしてこの計算のために依然として最大で1回の乗算と加算が必要である。
3次元データを従来技術によって取り扱おうとする場合には、このほか、米国特 許No、4.814.973で開示されているような相互結合配列もまた用いら れる。この特許では、3次元プロセッサーアレイの挙動に似せてプロセッサーセ ル間でデータの切り替えを行うよう、ルータ−に命令を与えることができるよう になっている。しかしながらルータ−は、データを各種プロセッサーの間で移動 させるために、多量のプロセッサーオーバーヘットを必要とする。またこれに加 えて、スイッチインク機能を遂行するための支援制御回路も必要である。システ ムスルーブツトまたは帯幅は、ルータ−オーバーヘッドによってかなり損なわれ 、またシステムのコストと信顧性も、ルータ−と支援制御回路を含めなければな らないために、やはり大きく損なわれる。
さらにまた、並列処理問題の多くば、プロセッサーアレイの利用可能なプロセッ サーセル数を上回る数の問題ノードを必要とする。こうした状況においては、あ る与えられたプロセッサーアレイに問題空間を合致させるための調整を、応用プ ログラマ−に行わせることは回避するのが望ましい。むしろ応用プログラマ−は 5プロセツサーアレイのサイズの束縛から切り離し、問題空間のサイズのみを指 定すればよいという状況にすべきである。さらにまた、プロセッサーアレイのサ イズが異なる各種のプロセッサーシステム間での共用性を確保するために、プロ セッサーアレイがどのようなサイズのものであっても5並列処理プログラムをラ ンさせることが可能でなければならない。
元服の1豹: 本発明は、問題空間のノード数より少ない数のプロセッサーセルを有していても 差し支えない多次元プロセッサーアレイなどの並列処理アレイに、プロセッサー 命令を生成するための、仮想処理アドレス・命令ジェネレーターを含む並列処理 システムを提供するものである。
好ましい1つの実施例においては5上記処理システムは各プロセッサーセルのメ モリーをいくつかの等しい部分に分割し、そしてこの分割された夫々に1つの問 題空間を対応させる。つぎに命令ジェネレーターは、与えられた問題空間の各部 分空間に対してl続きのプロセッサーセル命令を生じさせ、そしてこの命令シー ケンスのそれぞれについて、該当するアドレス変更がアドレスジェネレーターに よって与えられる。このような仕組みにより、該並列処理アレイは、プロセッサ ーアレイに存在するプロセッサーセル数より多い数の問題ノートを有する問題を 、メモリースワツピング無しで解くことができる。
X血の説里・ 上記ならびに上記以外の本発明の特徴は5以下に述へる説明を添付図面を会計し つつ読み通すことにより、一層よく理解されるであろう。添付図面において、図 1は、本発明にもとづく、コントロールプロセッサーと仮想処理アドレス・命令 ジェネレーターを有する多次元並列処理システムとプロセッサーアレイの概要を 示す。
図2は、本発明にもとづくアドレス・命令ジェネレーターの一層詳細なブロック 図である。
図3は、図1に示すコントロールプロセッサーの一層詳細なブロック図である。
図4は、図2に示すオペランドアドレスジェネレーターの一層詳細なブロック図 である。
図5は、本発明にもとづくマイクロコードメモリーアドレスジェネレーターと即 値オペランドビットエクストラクターの一層詳細なブロック図である。
図6は、本発明にもとづく仮想処理アドレス・命令ジェネレーターのタイミング 図である。
図7Aと図7Bは、物理・仮想プロセッサーセルメモリーの分割を示す。
図8は、図2に示すアドレス再配置回路の一部分をなすアドレス再配置コントロ ールレジスターのブロック図である。
図9と図10は、図2に示すアドレス再配置回路の追加回路にかかわる該略図で ある。
図11Aと図11Bは、プロセッサー間通信命令の1例を示す、 また、図12 は5図2に示すナノ命令・テンプレートジェネレーター回路の一層詳細なブロッ ク図である。
尺咀の1細l説酉: 図1は、複数のプロセッサーセルを有する、本発明にもとづく多次元プロセッサ ーシステムlOOを示す、該プロセッサーシステムには、小型コンピューターシ ステムインターフェース(SC3I)106などのインターフェースによつてプ ロセッサーコントローラ104に接続されてコマンドプリプロセッサーとして機 能するところの、適切な@置型プロセッサー102が含まれる。好ましい実施例 においては、このHa型プロセッサー102として、IJnix”オペレーティ ングシステムの制御のもとに動作する通常のコンピューターを用いる。かかる面 直型プロセッサーの一例は、Sun Microsystems社から人手する ことが可能な3 u nワークステーションである。前置型プロセッサー102 には、通常のCコンパイラ−と、C言語への並列処理拡大体を用いて書き込みが なされたプログラムをシステムがコンパイルし実行することを可能にする、@記 Cコンパイラーのためのブリプロセッサーが含まれる。
プロセッサーコントローラー104は、前置型プロセッサー102とプロセンサ ーアレイ108の間の中間処理機能を提供する。このプロセッサーコントローラ ー1.04には、コントロールプロセッサープログラムメモリー112に記憶さ れたコントロールプロセッサープログラムの制御のもとに動作するコントロール プロセッサー110が含まれる。このような並列処理システムの一例は、いずれ も本明細書で引用しているところの、同時継続米国特許No、071530゜0 27(名称”MULTI−DIMENSTONAL PROCESSORSYS TEM AND PROCESSORARRAY WITHMASSIVELY  PARALLEL INPIJTloUTPUT”)および同No、0715 29.962 (名称”DIMENSIONALLY RECONFIGtJR ABLE MULTI−DIMENSIONAL PROCESSORARRA Y”)に開示されているとおりである。
部首型プロセッサー102はコントロールプロセッサー110と連絡し、選択さ れたコマンドに応答して該コントロールプロセッサーにコマンドを送り、かつま た該コントロールプロセッサーからのデータを読み取る。通常、各々のコマンド は、全数や乗数などのワード・オリエンテッド型の単項演算または2項演算を記 述する。コントロールプロセッサー1.10はかかるコマンドを同定し、そして それらをマクロ命令と呼ばれる1続きのワード・オリエンテッド型のコマンドと してリフす−マットする。マクロ命令はアドレス・命令ジェネレーターに転送さ れる。そしてこのアドレス・命令ジェネレーターは、シリアライザー内に配置さ れたレジスターを初期設定することにより、シリアライザー120と命名したも にになる。シリアライザー120はマイクロトート122の制御のもとで動作し 、そして各々のワード・オリエンテッド型マクロ命令を5ナノ命令と呼ばれるl 続きのビット・オリエンテッド型コマンドに変換する。このビット・オリエンテ ッド型コマンドは、それぞれ、メモリーアドレスビットとボントロールビットか らなるプロセッサーセル命令である。該シリアライザーは、該シリアライザーが 生成させるナノ命令の各シーケンスを、プロセッサーアレイ108の全てのプロ セッサーに伝送する。ナノ命令メモリー124には、シリアライザー120がそ れにアクセスしてプロセッサーアレイのためのナノ命令を形成するところの5ナ ノ命令テンプレートの表が含まれる。
コントロールプロセッサー110はシリアライザー120との間で直接的にデー タの受渡しを行うが、一方、両方向エツジPIFOL26を経由してプロセッサ ーアレイ108との間でもデータの受渡しを行う、同様にして、前置型プロセッ サー102との間の通信は小型コンピューターシステムインターフェース(SC 3I)106を介してなされる。コントロールプロセッサー110はプロセッサ ーアレイ108を初期設定するためのコマンドを受け取り、そしてプロセッサー アレイ、前置型プロセッサー、ならびに、標準およびオプションのスワツピング RAMやオプションのI10デバイスなどの周辺装置間の入出力転送を制御する 。
シリアライザー120は、図2のブロック・ダイアグラムに一層詳細に示すとお りである0図においてシリアライザーはその入力信号をコントロールプロセッサ ー1.10から受け取り、また、コントロールプロセッサー110はソノ入力信 号を前置型プロセッサー102から受け取る。
mW型プロセッサー102は、問題空間次元150ならびに追加的な初期設定情 報をコントロールプロセッサー110へ伝送することにより、システムを初期設 定する。コントロールプロセッサー110は、シリアライザー120内にレジス ターをロートして、各プロセッサーセルにともなう問題ノードの写像156をシ リアライザーに記述することにより、この情報に応答する。アドレス再配置回路 162は写像156を受け取り、そして、面直型プロセッサー102からの後続 の情報を処理する間に、それを用いて、仮想アトレスヘース164と遠隔アトレ スヘース165の値を生成させる。
つぎに前置型プロセッサー102は、コントロールプロセッサー110にコマン ドを送ってシステムを制置し始める。このコマンドは操作符号154とオペラン ドデータ152からなる。オペランドビット・アドレスジェネレーター168は 、オペランドアドレスデータ158をコントロールプロセッサー110から受け 取り、そしてプロセッサーアレイによって処理されるべきオペラントビブトの仮 想アドレスを、信号経路170を通じてナノ命令ジェネレーター166に提供す る。ナノ命令ジェネレーター166の集計回路172は、仮想アドレス170の 各々を、各プロセッサーセルにおいて現在のオペランドビットについて遂行され つつある操作に応じて、仮想アドレスペース164または遠隔アドレスペース1 65のいずれかで加算し、処理されるべきオペランドビットのブロセッガーセル メモリー物理アドレス174を形成する。
コントロールプロセッサーはまた、操作符号154とオペランドデータ152を 復号してマイクロプログラム’$制御信号160を生成させ、そしてそれをマイ クロプログラム・コントロールユニット176へ送る。マイクロプログラム・コ ントロールユニット176は、これらの信号に応答してナノ命令テーブルアドレ ス178を発生し、そしてそれを用いてナノ命令メモリー124をアドレスし、 ナノ命令テンプ1/−ト180を得、ついでそれをナノ命令ジェネレータ−16 6へ送る。マイクロプログラム・コントロールユニット176はまた、オペラン ドビットの7トレスジエネレーター168、アドレス再配置回路362.および ナノ命令ジェネレーター166を、それ自身の操作と同期させるための制御情報 を生成する。ナノ命令ジェネレーター166は、仮想アドレスビット164また は遠隔アドレスペース165と仮想ア1ζレス170の相としてそれが形成する 各々の物理アドレス174を、対応するナノ命令テンプレート180のアドレス ビットと加算し、それぞれのナノ命令182を生成する。それぞれのナノ命令1 82は、各プロセッサーセルのメモリーにおける1つのビットの物理アドレスと 、各プロセッサーセルのそのビットについて遂行されるべき操作を記述する制御 ビット、の両方を含む。ナノ命令ジェネレーター166は、それが生成させる各 々のナノ命令182を、アレイの全てのプロセッサーセルへ流す。
tFJ型プロセッサー102は、ワード・オリエンテッド型コマンドをコントロ ールプロセッサーへ迭ることによって、コントロールプロセッサー110と連絡 する。コントロールプロセッサー110はかかるコマンドを同定し、そしてそれ らを1続きのマクロ命令としてリフオーマットする。かかるコントロールプロセ ッサー110の1例は、図3のブロック・ダイアグラムに一層詳細に示すとおり であるが5マイクロプロセッサ−180がこれに含まれる。このマイクロプロセ ッサ−180はADM−29000プロセツサーであって、コントロールプロセ ッサープログラムFROMとRAM112の制御のもとに動作する。コントロー ルプロセッサーのデータRAM114は、一時的データとプロセッサー変数記憶 をマイクロプロセッサ−180に提供する。
ある与えられたユーザー・プログラムを、変更せずに各種サイズの10セツサー アレイのランに使えるようにするためには、応用プログラマ−は、仮想処理のた めのメモリーの割り付けを要求されてはならない。それゆえ、天際、応用プログ ラムは、ある与えられたプロセッサーアレイにおける物理プロセッサーセル数の 束縛から切り離される。そのかわりに、応用プログラムは単に、希望する問題空 間のX、Yおよび2次元のみを確定する。つぎにコントロールプロセッサーは、 プロセッサーアレイのサイズを測定し、そして問題空間の与えられた次元とプロ セッサーアレイの各エツジに沿ってのプロセッサーの数から、各物理プロセッサ ーに割り振られるべき1組の仮想プロセッサーを計算する。このl紐の仮想プロ セッサーを、物理プロセッサーセルの領域と称する。これらの領域次元は、好ま しい実施例におけるように多次元であっても差し支えなく、次によって得られる 。
Xt =X/Sx 、Yt =Y/sy−およびZt=Z/s。
ここにXt、Y?およびZ、は各物理プロセッサーセルの領域の次元、X、Yお よび2は問題空間の次元、またSX、SFおよびS2は物理プロセッサーにおけ るアレイの次元である。
シリアライザーは、それがコントロールプロセッサーから入手することが可能な 未処理の入力を有するときは、それぞれのナノ命令サイクルに1回だけ、ブロセ ッサーアレイの各プロセッサーセルに、有用なナノ命令を流すべきである。
シリアライザーは、プロセッサーコントローラーから受け取った各マクロ命令に 対して1つのナノ命令シーケンスを生成するだけでなく、また、必要に応じて各 ナノ命令についてアドレスを変更したうえで、既にそわぞれの物理ブロセツw− セルにマツピングされている各仮想プロセッサーについてそのナノ命令シーケン スを反復しなければならない、アドレス・命令ジェネレーターはまた、2つの仮 想プロセッサーが相互に通信し合わなければならないときは、複数の物理プロセ ッサーセルが関与する場合があることも考慮しなければならない。
したがって、コントロールブロセッ勺−から受け取るある与えられたマクロ命令 に対応する各ナノ命令シーケンスを生成さゼるためには、本究明のアドレス・命 令ジェネレーターは、それが生成させる各ナノ命令に含めるためのオペランドの 物理アドレスを計算し、また、つぎのサイクルでどのマイクロコート命令を実行 するか、したがってまた5とのナノ命令を生成させるかを決定するための条件を 評価しなければならない。つぎにシリアライザーは、あるl一つの物理プロセッ サーセルの領域にあるそれぞれの仮想プロセッサーについて、該当する変更を施 したうえで、それが生成させる各ナノ命令シーケンスを反復しなければならない 。
本発明のアドレス・命令ジェネレーター120は、dオペランドの場合について 図4に示すような、5つのオペランドアドレスジェネレーターを有している。マ クロ命令オペランドd、eおよびfに対しては3つのアドレスユニットがあり、 一方、一時的変数tおよびUに対しては2つのアドレスユニットがある。それぞ れのオペランドアドレスジェネレーター168には、2つの16ビツト・ハイア ドレスレジスター181と182.2つの16ビツト・ローアトレスレジスター 1g3と184、および2つの1ビット初期設定フラグレジスター185と18 6が含まれる。これらのレジスターのうちの第1のレジスターはコントロールプ ロセッサーにより直接的にロートされる。一方、第2のレジスターはシリアライ ザーにより第1のレジスターからロートされ、これによりシリアライザーは、コ ントロールプロセッサーが新たなマクロ命令を提供しているあいだに、1つのマ クロ命令を処理することができる。このほかに、3つのカウンターずなわち16 ビツト・ハイアドレスカウンター187.16ビツト位置アドレスカウンター1 88、および16ビツト・ローアトレスカウンター189が含まれる。
バイア[・レスレジスター181と182のそれぞれは、カウンター186と同 じく、ある1つのオペランドの最上位ビット(MSB)の仮想アドレスを含み、 一方、ローアトレスレジスター183と184のそれぞれは、カウンター189 と同じく、対応するオペランドの最丁位ビット(LSB)の仮想アドレスを保持 する。初期設定フラグ185と186は、それぞれ、当初にハイアドレスレジス ターの内容がロートされるべき各ビット位置アドレスカウンター188に対して 設定され、あるいは、当初そのビット位置アドレスカウンターにローアトカウン ターの内容がロートされるへきであれば、クリアされる。ラン信号191 ’; iシリアライザーがマイクロコードを実行しているときに設定され、そしてci  −d h信号190は、dカウンター188をdhカウンター187からり− 1・するマイクロ命令を実行しているときに設定される。
図4に示す5つのシリアライザーアドレスユニットのレジスターとカウンターに 加えて、シリアライザーは、図5のレジスター202を経由してコントロールプ ロセッサーから情報を受け取る。マイクロプログラムアドレスレジスター203 と204、およびマイクロプログラムアドレスカウンター206は、各シリアラ イザーサイクルの終端でロードされる。メモリーレジスター206はシリアライ ザーがマイクロコートの実行を開始するときにレジスター204からロードされ 、そしてシリアライザーがランしているあいだは、マイクロプログラムによって 生成させられるブランチアドレスからロードされる。各シリアライザーサイクル の終端でシリアライザーがマイクロプログラムメモリーアドレスレジスター20 6をロートするときは、シリアライザーはまた、アドレスレジスター206にロ ートされつつあるアドレスで、図1のコントロールプロセッサーデータメモリー 114からデータワードを読み取る。このデータは、それぞれ64ビツトワイド の前置オペランドレジスターFOおよびFl(それぞれ210および212)に 読み込まれる。fオペランドアドレスユニットからのfビットアドレスカウンタ ーのローオーダー6ビツト214は、64:lマルチプレックサ−216を経由 して、前置並列変数の現行ビット216となるように、Fルジスターに1つのビ ットを選択する。
オペランドアドレスユニット168のタイミングは図6に示す通りである。
ここにnは、各物理プロセッサーセルの領域内における仮想プロセッサーの数で ある。シリアライザーはコントロールプロセンサーから受け取るそれぞれのマク ロ命令に対して該当するマイクロコートをn(818]寅行し、それぞれの仮想 プロセッサーについて1つづつパスを行う。符号192などで示した縦線はサイ クル間【こ選んだ境界であって、この時点でシリアライザーのレジスターとカウ ンターにデータをロートすることができる、すなわちインクレメントが可能であ る。ノ\ス193などの各仮想プロセッサーパスには1クロツクサイクル194 が先行し、そしてこのクロックサイクルの間にシリアライザーは1つのデフォル ト・ナノ命令を発生させ、そして次のパスのためのワーキングレジスターとカウ ンターを初期設定する。
コントロールプロセッサーは、オペランドアドレスユニットのシリアライザーレ ジスターの第1セットdhO,dloおよびd f Oに5シリアライザーがマ クロ命令1−1(196)のための最初の仮想ブロモ・ソサーパス195を開始 した時点から同じくシリアライザーがマクロ命令i−1のための最後のパスを終 了するlクロックサイクル前の時点(197)までの間に、マクロ命令iのため の該当する値をロードする。シリアライザーは、それが時点198で示すマクロ 命令i−1の最後の仮想プロセッサーパスを終了するときに、これらの値を、バ イブラインレジスターの第2のセットdh1.dllおよびdflに複写する。
ついでシリアライザーは、マクロ命令iのための各仮想プロセッサーバスに先行 する各サイクル199の終端において、ハイアドレスレジスターとローアトレス レジスター(dhlとdll)から、3つのカウンターdh1.d、およびdl をロートする。各仮想プロセッサーバスの残りのす・イクルの間、シリアライザ ーは、マクロ命令のための選択されたマイクロコードシーケンスを実行しかつマ イクロコートの指令に従って各仮想プロセッサーのためのアドレスカウンターを 修正することにより、マクロ命令1のためのナノ命令シーケンスを発生させる。
パス193などの各仮想プロセッサーバスは、複数のサイクル200からなせる ように設計される。
シリアライザーは、各シリアライザークロックサイクル199の終端で、各オペ ランドアドレスユニットの3つのカウンター187〜189の内容を、インクレ メントならびにディクレメントすることができる。ビット位置アドレスカウンタ ー188などのカウンターをインクレメントならびにデイクレメントする能力は 、1つのオペランドのすへてのビット位置を順々にアドレスするために必要であ る6コントロールプロセツサーから受け取ったマクロ命令の結果として実行され るシリアライザーマイクロコートは、カウンターがインクレメントされるべきか ディクレメントされるべきかを指令する。
各物理プロセッサーのメモリーは、図7Aのメモリーマツプ220に示すように 区分される。このメモリーマツプには、プロセッサーアレイ内の物理プロセッサ ー位置を記述するフラグを有する物理フラグ・セグメント222と、一時メモリ ー記憶領域224が含まれる。残りのメモリーは、長さがそれぞれvビットの、 xtytz、個の等しい仮想プロセッサーメモリー領域226に区分される。
それぞれの物理プロセッサーセルは、各マクロ命令を、その領域にある各仮想プ ロセッサーごとに1回づつ、全部でx、 ytz、回実行しなければならない。
図7Bのメモリーマツプ230は、長さVビットの、1つの仮想プロセッサーメ モリー226のメモリーマツピングを示す。マクロ命令間の、与えられたある1 つの仮想プロセッサー226の状態は、全ての変数232の値、そのヒー123 4とスタック236の状態、およびそのSフラグ238の値によって記述される 。
ナノ命令間の仮想プロセッサーの状態にはまた、マクロ命令を完成するのに必要 な図7Aの一時記憶領域224の値と、物理プロセッサーの各レジスターの状態 が含まれる。
1つの仮想処理空間を設定するために、コントロールプロセッサーは、図8の4 つのプロセッサーxo、yO,sOよびzo (240〜246)を以下のよう にロートする。ただし、Vはl仮想プロセッサーのメモリーサイズである。
z O= Z t V S O=V プロセラ号−アレイ内での1つのプロセッサーセルから別のプロセッサーセルへ のデータの移動は、以下の構文に従って記述される。
a=[ΔX:Δy:ΔZ]1〕 ただし、“a“は宛先プロセッサーセルのメモリー内の1つの場所であり、また ”b”は原始プロセッサーセル内の1つの場所である。原始プロセッサーセルは 、宛先プロセッサーセルaに対し7て座標ΔX、Δy、およびΔlだけ隔った場 所にある。
複数の仮想プロセッサーとの間でデータの移動をおこなうマクロ命令を処理する に先立ち、コントロールプロセッサーは、3つのレジスターdxo、dyOおよ びd、zo(248〜252)を以下のようにロードする。
dxo= (△x−Xt lΔX/X、1)YtZtVdyo= (Δy−Yt lΔy/Y、l)Z、VdzO= (Δz−Z、IΔz/Z、lンVここにΔX 、Δy、およびΔZは、演算a=[ΔX: Δy: Δz]bで示されるような 、宛先仮想プロセッサーを基準にとったときの、原始仮想プロセッサーに対する 符号付き仮想プロセッサー座標である0表示dxo、dye、およびd z O は、距fidx、dy、およびdzを該当する領域次元X、、Yt、おまび2、 でそれぞれ除したときの残余をあられす。
図2のアドレス再配置回路162には再配置ベースジェネレーション回路が含ま れ、そしてこの再配置ベースジェネレーション回路は仮想ベースジェネレーショ ン回路と遠隔ベースジェネレーション回路からなる。図9の仮想ベースジェネL /−シ*ン回路260には3一つのモジューロコンバレー9−262,264お よび266が含まれる。第1のモジューロカウンター262へのインフレメン1 〜人力268は、仮想プロセッサーのメモリーサイズVを含むように前に定義し たSOレジスターの値である。各モジューロカウンターは、そのインクレメント 人力およびリミット入力が各物理プロセッサーセルの領域次元x、、y、および Z、の関数として設定されるように、ステージされる。結果として得られる出力 X、YおよびZ (270〜274)は、アッダー276によって加算され仮想 へ一ス信号278が得られ、そしてそのあと、この仮想ベース信号は仮想アドレ スに加算されて、アレイの全てのプロセッサーセルに物理アドレスを生成させる 。
図10の遠隔ベースジェネレーション回路280には3つのモジューロアッダ− 282,284および286が含まれ、そしてこれらが1つづつ、座標X。
YおよびZに対応する。これらのモジューロアッダーはそれぞれ、総和出方とオ ーバフロー出力を生成させる。総和出力は次のいずれかに等しい、(a)ベース +インクレメント〈リミットならば、ヘース+インクレメント (b)ベース+ インクレメント≧リミットならば、ベース+インクレメントーリミット、オーバ ーフロー信号は、ヘース+インクレメント≧リミットならば正規出方に等jバ、 へ−ス+インクレメント〈リミットならばこの久方信号の補数に等しい。
インタープロセッサー通信マクロ命令を寅現するマイクロコードは、データをX 、Yおよび2方向に移動させる物理プロセッサーの数をカウントするために、そ れぞれF、TおよびUを使用する。各座標でデータを移動させなければならない 物理プロセッサーの数を記述するため、シリアライザーは、F、TおよびUオペ ランドについてオペランドアドレスユニットを以下のように初期設定する。
flO= tlo=uiO=1 それぞれのオペランドアドレスレジスターの各々のハイアドレスカウンターは、 その座標のモジューロアッダーがオーバフローしないときはいつでも、対応する 座標の物理アレイを通してデータを移動させねばならない距離を記述するように 設定する。関係する座標のためのモジューロアツダーがオーバフローしないとき はいつでも、データは、もう1つの物理プロセッサーを通して移動する。データ を正座標の方向に移動させる場合には、それぞれのアドレスユニットのビット位 置アドレスカウンターは、ハイアドレスカウンターに初期設定し、そしてローア トレスカウンターにカウントダウンする。一方、データを負座標の方向に移動さ せる場合には、ビットアドレスカウンターは、ローアトレスカウンターに初期設 定し、そしてハイアドレスカウンターにカウントダウンする。出力信号X+dx 、y+dy、およびz+dz (288〜292)は、アッダー294によって 加算され、遠隔ベース信号206を生ずる。
各仮想処理バスの開始点において、図2のマイクロプログラム・コントロールユ ニット178は、オーバフロービットxO,yOおよびZOを、それぞれ、F、 TおよびUアドレスユニットのハイビット位置アドレスカウンター187(図4 )に加算する。さらにまた、データを正の方向に移動させるべき各座標について 、対応するオーバフロービットxO,yOおよび20は図4の対応する位置アド レスカウンター188にも加算される。このようにしで、 F、 TおよびI− )アドレスユニットの各々は、それぞれの仮想処理バスのあいだの物理プロセッ サーセルの移動数をカウントするように、正しく初期設定される。
例として、領域次元4.1.1を有する物理プロセッサー300〜306のため の、a=[−11,0,0] bの形の、プロセッサー間通信演算を図11Aお よび図11Bに示す、仮想処理を開始させた結果として、コントロールプロセッ サーは、各物理プロセッサーの領域次元を設定するため、以下に示すようにSo 、yOおよび20をすでにロードしている。ただし、■は各仮想プロセッサーに 割り付けられたメモリービットの数である。
この例の場合には、Δx=−ii、Δy:0.およびΔ2==0である。
図IBの表は、各仮想プロセッサーにおけるこの演算のための、キーレジスター と信号の値を示す。バスlのあいだ、仮想ベースコンパレーター回路のXレジス ターはクリアーされており、したがってOの仮想ベースを生成する。遠隔ベース ジェネレーション回路のモジューロアッダー回路は、オーバフロー信号xOを発 生し、したがってfおよびfhのレジスターに1が加算され、これにより原始物 理プロセッサー(たとえば300)が宛先物理プロセッサー(たとえば306ン から3プロセツサーだけ離れていることが示される。遠隔ベース(これは原始オ ペランドを再位置する)はVである、一方、仮想ベース(これは宛先オペランド を再位置する)はOである。これは、物理プロセッサー300の領域内にある仮 想プロセッサー308から、物理プロセッサー306の領域内にある仮想プロセ ッサー310へのデータ移動に対応する。第2の仮想処理バスのあいだに、Xレ ジスターはOからVヘインクレメントされ、原始または遠隔ベースO1ならびに 宛先または仮想ベースVをもたらす。第4のバスではオーバフロービットXOは 0になり、このためfおよびfhのレジスターは、バスの開始点でインクレメン トされない。つぎにデータは、2つの物理プロセッサーのみを通って、物理プロ セッサー302から物理プロセッサー306へ、そしてまた物理プロセッサー3 00から物理プロセッサー304へ移動する。
図2のナノ命令ジェネレーション回路166の詳細を図12に示す、この回路は 、5つのビット位置カウンター320〜328、仮想ベース278、遠隔ベース 296、およびナノ命令メモリー124に記憶されたナノ命令の表の数値から、 ナノ命令を発生させる。マイクロプログラムの制御のもとで、マクロ命令レジス ター330にナノ命令インデックスビット332がロードされ、そしてこれらの ナノ命令インデックスビットが、ナノ命令メモリー124内の該当するナノ命令 テンプレートを指定する1つのナノ命令アドレス334を発生させる。マルチプ レクサ−336は、信号338の制御のもとに、0、遠隔ベース296または仮 想ベース278がアッダー342によって選択されたビットオペランドアドレス 信号340に加算されるへきか否かを指令する。この結果としてアッダー342 から得られる出力信号344は、オペランドデータの物理アドレスである。
この物理アドレスはアッダー346によってナノ命令に加算され、ナノ命令レジ スター348に記憶され、そして次のシリアライザーサイクルの開始時にプロセ ッサーアレイの各プロセッサーセルに流される。
通常の技術的な熟達をもってなしつる本発明に対する変更および置換は、本発明 ならびに以下添付する請求項の範囲内のものであると考える。
1豹 問題空間のノート数より少ない数のプロセッサーセルを有していても差し支えな い多次元プロセッサーアレイ(108)などの並列処理アレイにプロセッサー命 令を生成するための、仮想処理アドレス・命令ジェネレーター(120)を含む 並列処理システム(100)、この並列処理システムは、各々の物理プロセッサ ーセルのメモリー(230)をいくつかの等しい部分に分割し、そしてこの分割 された部分のそれぞれに問題空間の1つのノートが対応する。つぎに命令ジェネ レーターは、与えられた問題空間のそれぞれのノードに対してl続きのプロセッ サーセル命令を生成し、そしてこの命令シーケンスのそれぞれについて、該当す るアドレス変更がアドレス再配置回路(166)によって与えられる。
国際調査報告

Claims (1)

  1. 【特許請求の範囲】 1.選択された1つの問題次元に含まれるノードの数より少ない数のプロセッサ ーセルを有するプロセッサーアレイのための、プロセッサーセル命令とそれに対 応するプロセッサーセル物理メモリーアドレスを生成することを目的とした、仮 想処理命令・アドレスジェネレーターを備えた、以下のものからなる並列処理シ ステム: 前もって決められた数の物理プロセッサーセルを有する1つのプロセッサーアレ イ; 解かれるべき1つの問題次元のサイズを構成する数の問題ノードを提供するため の手段: 問題ノード数を提供するための手段と前もって決められた数の物理プロセッサー セルに応答して、この前もって決められた数の物理プロセッサーセルの各々に伴 うべき仮想プロセッサーの数を確定するための手段:前記の前もって決められた 数の物理プロセッサーセルの各々に伴うべき仮想プロセッサーの数を確定するた めの手段に応答して、物理プロセッサーセルの各々に伴う各仮想プロセッサーの ベースメモリーアドレスに対応する1つの物理プロセッサーセルメモリーアドレ スを確定するための手段:1つまたは1つ以上のプロセッサーセル命令を提供す るための手段:各オペランドを前記のプロセッサーセルのアレイによって処理す るための、1つの仮想オペランドメモリーアドレスを提供するための手段:仮想 オペランドメモリーアドレスを提供するための前記の手段と前記の仮想プロセッ サーのベースメモリーアドレスに応答して、1つの対応する仮想プロセッサーベ ースメモリーアドレスで仮想オペランドメモリーアドレスを加算し、処理される べきオペランドの1つの物理プロセッサーセルメモリーアドレスを生成するため の手段:ならびに 処理されるべきオペランドの物理アドレスを発生させるための前記の手段および 1つまたは1つ以上のプロセッサーセル命令を提供するための前記の手段に応答 して、プロセッサーアレイの各プロセッサーセルに流すべきアドレス再配置プロ セッサーセル命令を発生させるための対応する1つの物理プロセッサーセルメモ リーアドレスをもった1つのプロセッサーセル命令を生じさせるための手段2. 請求項1のシステムにおいて、プロセッサーセルアレイに、多次元アレイを構成 するように相互接続された複数のプロセッサーセルが含まれるもの3.請求項2 のシステムにおいて、多次元アレイに1つの3次元アレイが含まれるもの 4.請求項1のシステムにおいて、1つの問題次元のサイズを構成する問題ノー ド数を提供するための手段に、前置型プロセッサーが含まれるもの5.請求項1 のシステムにおいて、各仮想プロセッサーのベースメモリーアドレスに対応する 1つの物理プロセッサーセルメモリーアドレスを確定するための手段が、オペラ ンドがそこから取られるべき原始仮想プロセッサーのベースメモリーアドレスと 、オペランドがそこに記憶されるべき宛先仮想プロセッサーのベースメモリーア ドレスを確定するもの 6.請求項1のシステムにおいて、プロセッサーセル命令の各々に、少なくとも 1つのプロセッサーセルアドレスセグメントと1つのプロセッサーセルコントロ ールセグメントが含まれるもの 7.請求項1のシステムにおいて、対応する1つの物理プロセッサーセルメモリ ーアドレスをもった1つのプロセッサーセル命令を生じさせるための手段が、そ の物理プロセッサーセルメモリーアドレスを、1つの対応するプロセッサーセル 命令のアドレスセグメントの値に加算するもの8.選択された1つの問題次元に 含まれるノードの数より少ない数のプロセッサーセルを有する多次元プロセッサ ーアレイのための、プロセッサーセル命令とそれに対応するプロセッサーセル物 理メモリーアドレスを生成することを目的とした、仮想処理命令・アドレスジェ ネレーターを備えた、以下のものからなる多次元並列処理システム: 少なくとも1つの3次元アレイを形成するように相互接続された、前もって決め られた数の物理プロセッサーセルを有する1つのプロセッサーアレイ:解かれる べき1つの問題次元のサイズを構成する数の問題ノードを提供するための手段: 問題ノード数を提供するための手段と前もって決められた数の物理プロセッサー セルに応答して、この前もって決められた数の物理プロセッサーセルの各々に伴 うべき仮想プロセッサーの数を確定するための手段:前記の前もって決められた 数の物理プロセッサーセルの各々に伴うべき仮想プロセッサーの数を確定するた めの手段に応答して、物理プロセッサーセルの各々に伴う各仮想プロセッサーの ベースメモリーアドレスに対応する1つの物理プロセッサーセルメモリーアドレ スを確定するための手段:プロセッサーセル命令の各々に少なくとも1つのプロ セッサーセルアドレスセグメントと1つのプロセッサーセルコントロールセグメ ントが含まれるような状態で、1つまたは1つ以上のプロセッサーセル命令を提 供するための手段:各オペランドを前記のプロセッサーセルのアレイによって処 理するための、1つの仮想オペランドメモリーアドレスを提供するための手段: 仮想オペランドメモリーアドレスを提供するための前記の手段と前記の仮想プロ セッサーのベースメモリーアドレスに応答して、1つの対応する仮想プロセッサ ーベースメモリーアドレスで仮想オペランドメモリーアドレスを加算し、処理さ れるべきオペランドの1つの物理プロセッサーセルメモリーアドレスを生成する ための手段:ならびに 処理されるべきオペランドの物理アドレスを発生させるための前記の手段および 1つまたは1つ以上のプロセッサーセル命令を提供するための前記の手段に応答 して、多次元プロセッサーアレイの各プロセッサーセルに流すべきアドレス再配 置プロセッサーセル命令を発生させるための対応する1つの物理プロセッサーセ ルメモリーアドレスをもった前記のプロセッサーセルアドレスセグメントを加算 するための手段。
JP3510619A 1990-05-29 1991-05-14 並列プロセッサーアレイのための仮想処理アドレス・命令ジェネレーター Pending JPH05509184A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US529,947 1990-05-29
US07/529,947 US5193202A (en) 1990-05-29 1990-05-29 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

Publications (1)

Publication Number Publication Date
JPH05509184A true JPH05509184A (ja) 1993-12-16

Family

ID=24111846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3510619A Pending JPH05509184A (ja) 1990-05-29 1991-05-14 並列プロセッサーアレイのための仮想処理アドレス・命令ジェネレーター

Country Status (5)

Country Link
US (1) US5193202A (ja)
EP (1) EP0531431A4 (ja)
JP (1) JPH05509184A (ja)
AU (1) AU7981891A (ja)
WO (1) WO1991019268A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9018048D0 (en) * 1990-08-16 1990-10-03 Secr Defence Digital processor for simulating operation of a parallel processing array
US5774727A (en) * 1991-06-27 1998-06-30 Digital Equipment Corporation Parallel processing system for virtual processor implementation of machine-language instructions
US5355492A (en) * 1991-11-05 1994-10-11 Thinking Machines Corporation System for compiling parallel communications instructions including their embedded data transfer information
JP2977688B2 (ja) * 1992-12-18 1999-11-15 富士通株式会社 マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US5524223A (en) * 1994-01-31 1996-06-04 Motorola, Inc. Instruction accelerator for processing loop instructions with address generator using multiple stored increment values
US5640584A (en) * 1994-12-12 1997-06-17 Ncr Corporation Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
WO2002071196A2 (de) * 2001-03-05 2002-09-12 Pact Informationstechnologie Gmbh Verfahren und vorrichtung zu datenbe- und/oder verarbeitung
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5765198A (en) * 1996-02-01 1998-06-09 Cray Research, Inc. Transparent relocation of real memory addresses in the main memory of a data processor
US5930827A (en) * 1996-12-02 1999-07-27 Intel Corporation Method and apparatus for dynamic memory management by association of free memory blocks using a binary tree organized in an address and size dependent manner
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
EP1329816B1 (de) * 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US6205528B1 (en) 1997-08-29 2001-03-20 International Business Machines Corporation User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture
US6049853A (en) * 1997-08-29 2000-04-11 Sequent Computer Systems, Inc. Data replication across nodes of a multiprocessor computer system
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
JP2003505753A (ja) 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
US6728863B1 (en) 1999-10-26 2004-04-27 Assabet Ventures Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory
WO2001031473A1 (en) 1999-10-26 2001-05-03 Arthur D. Little, Inc. Multiplexing n-dimensional mesh connections onto (n + 1) data paths
JP2001134539A (ja) * 1999-11-01 2001-05-18 Sony Computer Entertainment Inc 面計算機及び面計算機における演算処理方法
JP2004506261A (ja) 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
AU2002220600A1 (en) 2000-10-06 2002-04-15 Pact Informationstechnologie Gmbh Cell system with segmented intermediate cell structure
US6732253B1 (en) * 2000-11-13 2004-05-04 Chipwrights Design, Inc. Loop handling for single instruction multiple datapath processor architectures
US6990555B2 (en) 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7711763B2 (en) * 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7599981B2 (en) 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US7581076B2 (en) * 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7844796B2 (en) * 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
JP2004533691A (ja) * 2001-06-20 2004-11-04 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データを処理するための方法
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
JP3693013B2 (ja) * 2001-12-26 2005-09-07 日本電気株式会社 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
WO2003071418A2 (en) * 2002-01-18 2003-08-28 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8127061B2 (en) * 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US20070011433A1 (en) * 2003-04-04 2007-01-11 Martin Vorbach Method and device for data processing
EP1518186A2 (de) * 2002-03-21 2005-03-30 PACT XPP Technologies AG Verfahren und vorrichtung zur datenverarbeitung
US6970985B2 (en) * 2002-07-09 2005-11-29 Bluerisc Inc. Statically speculative memory accessing
WO2004021176A2 (de) * 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
AU2003283685A1 (en) * 2002-12-12 2004-06-30 Koninklijke Philips Electronics N.V. Dataflow-synchronized embedded field programmable processor array
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US20050065263A1 (en) * 2003-09-22 2005-03-24 Chung James Y.J. Polycarbonate composition
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
US7606995B2 (en) * 2004-07-23 2009-10-20 Hewlett-Packard Development Company, L.P. Allocating resources to partitions in a partitionable computer
US7281942B2 (en) * 2005-11-18 2007-10-16 Ideal Industries, Inc. Releasable wire connector
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US20070294181A1 (en) * 2006-05-22 2007-12-20 Saurabh Chheda Flexible digital rights management with secure snippets
US20080126766A1 (en) 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering
US20080154379A1 (en) * 2006-12-22 2008-06-26 Musculoskeletal Transplant Foundation Interbody fusion hybrid graft
US8024728B2 (en) * 2006-12-28 2011-09-20 International Business Machines Corporation Virtual machine dispatching to maintain memory affinity

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3597744A (en) * 1969-09-11 1971-08-03 James H Case Digital computing and information processing machine and system
US3891836A (en) * 1972-04-21 1975-06-24 Mobil Oil Corp Apparatus for optimizing multiunit processing systems
US3970993A (en) * 1974-01-02 1976-07-20 Hughes Aircraft Company Cooperative-word linear array parallel processor
US4011545A (en) * 1975-04-28 1977-03-08 Ridan Computers, Inc. Computer and communications systems employing new architectures
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4507726A (en) * 1982-01-26 1985-03-26 Hughes Aircraft Company Array processor architecture utilizing modular elemental processors
WO1984000629A1 (en) * 1982-07-21 1984-02-16 Marconi Avionics Multi-dimensional-access memory system
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
US4709327A (en) * 1983-05-31 1987-11-24 Hillis W Daniel Parallel processor/memory circuit
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US5123109A (en) * 1983-05-31 1992-06-16 Thinking Machines Corporation Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
US4697247A (en) * 1983-06-10 1987-09-29 Hughes Aircraft Company Method of performing matrix by matrix multiplication
US4621339A (en) * 1983-06-13 1986-11-04 Duke University SIMD machine using cube connected cycles network architecture for vector processing
NL192637C (nl) * 1984-02-27 1997-11-04 Nippon Telegraph & Telephone Stelselprocessor.
US4805091A (en) * 1985-06-04 1989-02-14 Thinking Machines Corporation Method and apparatus for interconnecting processors in a hyper-dimensional array
US4739476A (en) * 1985-08-01 1988-04-19 General Electric Company Local interconnection scheme for parallel processing architectures
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
US4811210A (en) * 1985-11-27 1989-03-07 Texas Instruments Incorporated A plurality of optical crossbar switches and exchange switches for parallel processor computer
US4809202A (en) * 1985-12-27 1989-02-28 Thinking Machines Corporation Method and apparatus for simulating systems described by partial differential equations
US4773038A (en) * 1986-02-24 1988-09-20 Thinking Machines Corporation Method of simulating additional processors in a SIMD parallel processor array
US4814980A (en) * 1986-04-01 1989-03-21 California Institute Of Technology Concurrent hypercube system with improved message passing
US4729095A (en) * 1986-05-19 1988-03-01 Ncube Corporation Broadcast instruction for use in a high performance computer system
US4809347A (en) * 1986-07-18 1989-02-28 Hughes Aircraft Company Computer vision architecture
US4809346A (en) * 1986-07-18 1989-02-28 Hughes Aircraft Company Computer vision architecture for iconic to symbolic transformation
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US4791567A (en) * 1986-09-15 1988-12-13 General Electric Company Three dimensional connectivity system employing an equivalence schema for determining connected substructures within a body
US4766534A (en) * 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US4811214A (en) * 1986-11-14 1989-03-07 Princeton University Multinode reconfigurable pipeline computer
US4827403A (en) * 1986-11-24 1989-05-02 Thinking Machines Corporation Virtual processor techniques in a SIMD multiprocessor array
US4796199A (en) * 1987-02-24 1989-01-03 Oregon Graduate Center Neural-model, information-handling architecture and method
US5058001A (en) * 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network
US4996648A (en) * 1987-10-27 1991-02-26 Jourjine Alexander N Neural network using random binary code
US4939642A (en) * 1989-02-01 1990-07-03 The Board Of Trustees Of The Leland Stanford Jr. University Virtual bit map processor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE45109E1 (en) 1997-02-08 2014-09-02 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
USRE45223E1 (en) 1997-02-08 2014-10-28 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device

Also Published As

Publication number Publication date
EP0531431A4 (en) 1993-05-12
EP0531431A1 (en) 1993-03-17
WO1991019268A1 (en) 1991-12-12
US5193202A (en) 1993-03-09
AU7981891A (en) 1991-12-31

Similar Documents

Publication Publication Date Title
JPH05509184A (ja) 並列プロセッサーアレイのための仮想処理アドレス・命令ジェネレーター
Rabenseifner et al. Hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes
Kim An implementation of fuzzy logic controller on the reconfigurable FPGA system
Snyder Type architectures, shared memory, and the corollary of modest potential
US5774133A (en) Computer system with improved pixel processing capabilities
Hager et al. Communication characteristics and hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes
Stork et al. Efficient and precise solid modelling using a 3D input device
Akhmetova et al. Performance study of multithreaded MPI and OpenMP tasking in a large scientific code
US5623664A (en) Interactive memory organization system and method therefor
Bäuml et al. When hard realtime matters: Software for complex mechatronic systems
JPH0855042A (ja) データ処理システムをプログラミングする方法
Clarke Emulating shared memory to simplify distributed-memory programming
Nishino et al. A virtual environment for modeling 3D objects through spatial interaction
Lee et al. A distributed testbed for active sensory processing
Kaya New trends in graphic display system architecture
Di Trapani et al. NTGsim: A graphical user interface and a 3D simulator for nonlinear trajectory generation methodology
JPH10217174A (ja) ロボツト装置
Lesser Dynamic Control Structures and their use in Emulation
Perz et al. New approach for modelling energy systems
Reynolds Jr Commentary—The Silver Bullet
WO2023145361A1 (ja) ロボット制御システムおよびロボット制御システムを構成する方法
Chakraborty Computer Organisation and Architecture: Evolutionary Concepts, Principles, and Designs
Eleftheriou et al. A C++ implementation of the Co-Array programming model for Blue Gene/L
Lesk Generation of interactive displays from FORTRAN using the PDP‐10/LDS‐1 computer graphics system
Wei Developing Three-dimensional CAD Software with the IBM PC