JPS59501133A - 多重処理エレメントのための従属自由コ−ドを発生する機構 - Google Patents

多重処理エレメントのための従属自由コ−ドを発生する機構

Info

Publication number
JPS59501133A
JPS59501133A JP50244283A JP50244283A JPS59501133A JP S59501133 A JPS59501133 A JP S59501133A JP 50244283 A JP50244283 A JP 50244283A JP 50244283 A JP50244283 A JP 50244283A JP S59501133 A JPS59501133 A JP S59501133A
Authority
JP
Japan
Prior art keywords
memory
main memory
local
data
logically
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
JP50244283A
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 バロ−ス・コ−ポレ−ション
Priority claimed from PCT/US1983/000896 external-priority patent/WO1983004444A1/en
Publication of JPS59501133A publication Critical patent/JPS59501133A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 多重処理エレメントのための 従属自由コードを 生する 関連米国特許 本願と直接または間接に関連する米国特許出願は以下のとおりである。
1982年6月8日にAlfred J 、 lee 5antiS等によって 出願された「従属自由コードを用いるための同時処理エレメント」という名称の 出願番号第386.336号。
1982年6月8日にAlfred J 、 De 3antisによって出願 された「従属自由コードのためのデータアイテムを再ネーミングするシステムお よび方法」という名称の出願番号第38.6.420号。
この発明は、従属自由コードを発生するための機構に関し、より特定的には複数 の同時処理エレメントを用いるためのそのような機構に関する。
笈i交」匹」」 今日でもなほとんどのコンピュータは、本質的に順次的である命令言語によって 駆動されまたはそのような命令言語を実行するy on N eumanタイプ のものである。さらに、そのような順次的な言語は、個々の命、令の間に多くの 従属性を含み、それによって個々の命令は順序を無視して実行。
されることはできない。たとえば以下のようなシーケンスを考察する。
この2つの関数FnおよびFn +iは、関数Fnの結果が次の関数1”n + iに対する入力として用いられるので、論理的な従属性を有している。
さらに、順次言語の欠点は、シーケンスまたはループが繰返されるときにメモリ 取出しおよびコード処理に冗長性が存在するということであり、もしそれが改良 されるならば、プロセッサの処理高は増大されるであろう。
処理システムの処理高を増大させる1つの方法は、複数のプロセッサを多重処理 モードで用いることである。しh\しながら、個々のプロセッサはなお命令を順 次的に実行しなければならず、唯一の同時処理は、個々のブロセツリー力(プロ グラムの別々のセグメントを実行しているときかまたは全く別のプログラムを実 行しているときにのみ存在する。
そのような多重処理システムは、たとえば、Mott等の米国特許第3,319 ,226号およびA nde’rson等の米国特許第3.41.9,849号 に開示されている。
処理高を増大させるさらに他の試みは、命令実行の種々の副関数がA−バラツブ するパイプライニングを採用するこ(とである。これらのステップを一連の命令 とオーツ\ラップさせることによって、命令実行は各クロック時間行なわれるこ とができ、それによってプロセッサの処理高を増大させる。
処理高を増大させるためのこれらのすべての方法は、上述したような命令間の論 理的従属性のゆえに、順次的な命令実行のために設計されている。論理的な従属 性のため、種々の命令が互いに従属性なく実行されて一群のまたは多数の処理エ レメントによる処理を容易に適合させる真の同時処理は達成されることができな い。
応用言語は、各ステートメントが本質的に互いに無関係であり、したがってその ような応用ステートメントを縮小するように設計された処理エレメントの回路網 によって同時に実現されることができるという点において、命令言語とは異なっ ている。そのような応用言語プロセッサの例は、Boston等の米国特許出願 第281,064号およびHaaenmaier等の米国特許出願第281,0 65号において与えられている。これらの両出願は、1981年7月7日に出願 され、本願の譲受人に譲渡された。そのような応用言語は、それらが段目によっ てV On N eLIman的意味における順次的でないという点において、 命令言語とは異なっている。しかしながら、今日用いられるほとんどのプログラ ムライブラリは、命令言語で書かれており、またそれらのライブラリを用いるべ きデータ処理システムの更新またはさらに別の世代は、命令言語を実行するよう にされなければならない。
処理高が増大され得る1つの方法は、前の処理の結果に依存しないオブジェクト コードのセグメントを認識し、それらのセグメントを複数の処理エレメントによ って同時に処理され得る非従属シーケンスまたは待ち行列に形成することである 。このことはもちろん、オペランドがメモリに存在するときのそのもとの値を破 壊することなく処理がオペランドに対して実行され得るといった方5法のオペラ ンドの取扱いを必要とする。異なった記号名が、この目的のために任意のデータ アイテムを参照するのに指定され得る。
コードまたは記号のそのような持ち行列の配列は、処理装置による同時処理をさ らに適合させる。
この発明の目的は、従属自由命令コードを発生するための改良された機構を提供 することである。
この発明の他の目的は、多重処理エレメントによる実行のため従属自由命令コー ドを提供することである。この発明のさらに他の目的は、従属自由命令コードを 複数の処理ニレメンl−に同時的態様で与えるだめの改良された機構を提供づ− ることである。
この発明のさらに他の目的は、冗長なメモリ取出しがなく、かつそのコードが一 連のそのようなコードの処理のために再処理されなくてもよい特性である命令コ ードを発生するための機構を提供することである。
発明の概要 上述した目的を達成するために、この発明は、オブジェクトコードのストリング を受けそれらを高レベルのタスクに形成し、論理的に非従属であるそのようなタ スクのシーケンスを決定し、それによってそれらが別々に実行されるようにする 、−データプロセッサのためのキャッシュ機構に向けられている。このキャッシ ュ機構は、種々のタスクによって必要とされるすべてのメモリアクセスを行ない 、かつこれらのタスクを、種々のデータアイテムがストアされなかったローカル メモリに対する対応するポインタまたはリファレンスとともにストアする。この キャッシュ機構は、記号翻訳テーブルを利用し、そこではタスクは、ローカルメ モリに対する種々のリファレンスまたはポインタを表わす記号とともに持ち行列 の態様でストアされる。この方法において、種々のデータアイテムは別々のタス クに用いるための別々の記号または記号名を割当てられることができ、したがっ て種々のタスク間の依存性を限定しかつデータ変更を制御する。
この発明の特徴は、一群の処理エレメントに対するキャッシュ機構を与えること であり、そのキャッシュ機構は順次的なオブジェクトコードのストリングをタス クの待ち行列に形成し、各持ち行列は他のものとは論理的に非従属である。
乳貝」す1虱食J目り この発明の上述の目的およびその他の目的、効果および特徴は、図面を参照して 行なう以下の詳細な説明から一層明らかとなろう。
第1図は、この発明が設計されるためのオブジェクトコードのストリングおよび そのオブジェクトコードから形成される対応する論理的非従2属待ち行列である 。
第2図は、この発明によるシステムの概略ブロック図である。
第3図は、この発明により形成される待ち行列のフォーマットを示す。
第4図は、この発明に利用される記号1]訳テーブルモジユールの概略ブロック 図である。
第5図は、この発明に用いられる処理エレメントの概略ブロック図である。
第6図は、この発明を示すタイミング図である。
■1U亙JU1 上述の目的、効果および特徴を達成するために、この発明は3つの異なった見地 、すなわち多重処理エレメントによる改良されたコード処理、リファレンス処理 および並列的実行を有する。コード処理において、この発明はまず連結によって 命令ストリングを予備処理し、一連の連結された命令の間の関係を調べて、それ らの命令を互いにつないで従属命令の持ち行列を形成する。連結された命令が互 いにつながれるべきかどうかを決定するために用いられる機構は、続く連結され た命令に対する出力を与える1つの連結された命令への従属である。一旦非従属 牲が位置決めされると、待ち行列が形成される。一旦持ち行列が形成されると、 この発明による機構はその全待ち行列を1つのステップで処理することによって 効果的である。連結された命令を通常的に再処理するため数サイクルを必要とす るのが、今では1サイクルでなされ、また待ち行列は一連のシーケンスの実行に 対し再発生される必要がない。
ざらに、コードの処理の間、前に参照されかつ処理エレメントに対しローカルで あるオペランドリファレンスは認識され得る。このことは各リファレンスを受け かつそのアイテムがプロセッサのローカルメモリにあるかどうかをみるために翻 訳テーブルをスキャンすることによって達成される。もしリファレンスがプロセ ッサのローカルメモリに常駐しなければ、この発明はそのリファレンスに記号を 割当て、任意の持ち行列に対応する個々の記号は1つの処理エレメントに対する 後続の転送のためそこに付加される。
一旦対応する持ち行列が形成されると、それらは複数の処理ニレメンl−によっ て同時に実行されることができる。
今日の処理システムの設計において、スタック配向プロセッサを用いる傾向が多 く、そこにおいては、ブツシュダウンスタック、または先入れ後出しスタックが 与えられて、特定の高レベルプログラム言語によって用いられる再帰的手順およ びネスティッド処理を適合させる。このようなスタック配向プロセッサが与えら れると、親制御プログラムおよび処理システムの一部を形成する他のルーチンは 、アルゴル6,0のような本質的に再帰的である特定の高レベル言語で書かれる ことができる。この形式の特定のプロセッサモジュールは、B arton等の 特許第3.4’61..423号、3,546.677号、および3’、548 .3’84号に開示されている。
スタック機構の機能、先入れ後出し機構は、命令および関連のパラメータを、特 定−の高レベル言語のネストされた構造を反射する方法で操°作することである 。そのようなスタックは主メモリに概念的に常駐し、プロセッサのスタック機構 はスタック内のトップデータアイテムに対するリファ−センスを含むようにされ ている。この方法において、データアイテムの多くの種々の2タツクはメモリ内 に常駐し、プロセッサはそれらをプロセッサ内に存在するスタックレジスタのト ップに対するアドレスに従ってアクセスし、種々のスタックはそのレジスタの内 容の変化によって別々のとぎアクセスされることができる。
もしプロセッサがそのようなスタック機構を与えられなければ、プロセッサは再 帰タイプの言語を、その一般目的のレジスタをそれらがハードウェアスタック機 構であるにもかかわらずアドレスすることによって実行する。
この発明の好ましい実施例−は高レベル再帰的言語で書かれたプログラムを実行 するためのそのようなスタック配向プロセッサに向けられているが、この発明の 内容は再帰的なものとは別の高レベル言語プログラムの形式を実行す、る設計さ れた他の形式のプロセッサにも用いることができる。
一旦プログラムがこの高レベル言語で書かれると、それはプロセッサのコンパイ ラによってオブジェクトコードまたは機械言語コードのストリングにコンパイラ され、その形式は特定のプロセッサの設計に従って設計されならびに制御される 。上述したように、今日設計されるほとんどのプロセッサはなおV on N  eumanタイプのものであり、それは本来的に順次的でありかつ多くの論理的 従属性を含む。
この発明が「デコンパイル」された高レベル言語コードの形式で従属自由コード をいかに与えるがということを一般的に示すために、ここで第1図を参照する。
第1図の左欄は、C[1,J] :=A [1,J]+8 [1,J]の計算の ための機械言語コードのストリングを表わす。、この計算は多くのアドレスに対 するものであるので、第1図の左端に示された機械言語コードのストリングはル ープの一連のシーケンスまたはシリーズにおいて実行される。
このコードのストリングは4つのコードのグループまたはサブセラ1−に分割さ れ、その各々のグループは第1図の中央部分のブロック図によって示されるよう に他のもの−と大部分論理的に1従属である。一般的にこの発明の機構は、次の 処理が前の処理またはストアされた処理と非従属であるとき、論理的に非従属の ストリングの一端部を決定する。
この発明において、機構は、第1図の右欄に示されるように、値呼出しまたはメ モリ取出しを実行しかつオペレータの持ち行列またはデータアイテム(またはデ ータアイテムに対するローカルアドレス)を形成する。これらのオペレータおよ びそのデータアイテムは互いに連結され、以下に説明する方法で処理エレメント に転送され得る。このような連結された命令は、以後タスクとして参照される。
第1図の例において、4つの別々の持ち行列は従属連結命令の論理的に非従属な グループであり、以下に説明するように別々の処理エレメントによって同時に実 行され得る。
第1図の左欄におけるコードのストリングはループのシーケンスにおいて実行さ れるべきであるので、第1図の右欄における新しく発生された待ち行列は再発生 される必要はない。各一連のループにとって必要なことは、新たな値およびアレ イアイテムがメモリから取出されるということである。また、新たなポインタ値 は、ストアされる変数に割当てられなければならない。
発明の詳細な説明 この発明によるプロセッサシステムは第2図に示されており、キャッシュ機Wi 10はオペレータの個々の持ち行列および複数の小さい処理エレメント11a、 bおよびCに対するデータリファレンス、ならびに待ち行列処理エレメント13 aを供給するための機構であり、それらの各々はそれ自身のローカルメモリ12 a、bおよびCならびにローカルメモリ13bにそれぞれ与えられる。キャッシ ュ機構10は、主メモリ(図示せず)と直接に通信し、個々の処理エレメントは また直接ストレージモジュール14によって主メモリと通信する。
機構10は4つのユニットから構成されており、その4つのユニットは待ち行列 タスクモジュール10a、命令リファレンスモジュール10b、記号翻訳モジュ ール10C。
およびジ、ヨブ待ち行列10dを含む。ここで、これらの個々のユニットの機能 を概略的に説明する。オブジェクトコードまたは機械言語コードの個々のストリ ングは待機タスクモジュール10aによってメモリから受取られ、待機タスクモ ジュール10aは、各命令を直列的に受けてそれらをタスクの持ち行列にアセン ブルするバッファまたはキャッシュメモリであり、タスクの待ち行列の長さは一 連の連結されたキャラクタの間の論理的依存性による。待機タスクモジュール1 0aは、命令のつながれたグループが以前の計算の結果を必要とじないどぎを決 定するのに充分なデコード回路を含む。つながれたタスクのそのような待ち行列 がアセンブルされてしまうと、そのオペランドリファレンスは命令リファレンス モジコール10bに転送され、命令リファレンスモジュール10bは個々の命令 および割当記号によって要求される任意のメモ、り取出しを実行する。
待機タスクモジュール10aはまた、記号翻訳モジュール10cに待ち行列番号 を割当てる。
命令リファレンスモジュール10bは絶対メモリアドレスが論理的に保持されて いるかどうかを決定する連想メモリであり、もし保持されて・いなければ命令基 準モジュール10−bはそのアト−レスを主メモリに送り、そのアドレスをア゛ クセスを行なう。この連想メモリは次に、記号翻訳モジュール100に対応する タスクとともにその記号を転送する。記号翻訳モジュール10cはその記号に対 しポインタ(ローカルメモリアドレス)を割当て、そのポインタを主メモリに転 送し、それによって主メモリはローカルメモリ内にデータアイテムをストアする ことができる。オブジェクトコードのストリングの最初の実行の間、一連の命令 に対する持ち行列は記号翻訳モジュール100において形成さ、れている。これ らの待ち行列が形成される一方、個々のタスクおよびポインタはジョブ待ち行列 10dに転送される。
記号翻訳モジュール1C1は、待機タスクモジュール10aによって参照され得 る種々の待ち行列記憶位置を有するテーブルルツアップメモリである。これらの 記憶位置は、処理ニレメン1−のローカルメモリに保持されたつながれた命令お よびアイテムの記号のリストを含む。各持ち行列が読出されるとき、待ち行列に 対する記号は、以下に詳細に説明するように、記号によって参照されるアイテム の実際の記憶位−に対するポインタを含むルックアップテーブルに対する読出し アドレスとして用いられる。第1図のオブジェクトコードストリングの最初の処 理の終わりに、ジョブ持ち行列10eは個々の作・り出された持ち行列を含み、 その作り出された待ち行列はタスクおよびポインタによって同時実行のため各処 理エレメント11a、11b、および11Cに直列的に送られ得る。一方、実行 のため必要とされる個々のデータアイテムは主メモリから取出されてローカルメ モリ内ッサ、12bおよび120の適当な記憶位置でストアされており、その記 憶位置はジョブ待ち行列10dにおけるポインタによってアクセスされる。
オブジェクトコードの最初のループまたは実行の完了により、すべてのタスク処 理が完了されてしまうまで記号翻訳モジュール10Cからジョブ待ち行列10d へ以前に作り出された持ち行列を供給することによって、一連のループが実行さ れ得る。
第2図のジョブ待ち行列10dに待ち行列が常駐するときのそのフォーマットは 第3図に示されている。左から右へ読出される各フィールドは、乗算命令、加算 命令、減算命令、および1.JおよびCフィールドに対するポインタが続くイン デックス命令である。これらは第1図における第1の待ち行列(QO)に対応し 、そこでは8ビツトリテラルは各乗算および加算命令の7部となる。
このようにして形成され)だ待ち行、列は、将来の実行のため命令を保持するの みならず、スタック環境ならびにそのアドレスおよび実行されるべき次の持ち行 列の記憶位置を識別する。ステップごとに、1つの待ち行列を利用可能処理エレ メントに与えること以外、コード処理のため他のいかなる処理ステップも必要と されない。
第2図の記号翻訳モジュール10Cは、第4図に詳細に示されている。第4図に 示されるように、このモジュールはテーブルルックアップ機構であり、待ち行列 記号テーブル16の列はつながれたタスクに対する記憶位置ならびに第2図の命 令リファレンスモジュール10bによって割当てられる記号名を表わし、また対 応する行は第2図の待機タスクモジュール10aによって割当てられる各待ち行 列番号を表わす。上述したように、記号翻訳モジュールにおけるこのようにして 形成された待ち行列は、行なわれるべきg1算の各一連のループに対し、第2図 のジョブ待ちb JJlodに対する転送のため、ポインタテーブル17にお( プるポインタをアクセスする準備ができている。
第4図において、種々の記号は間接ローカルメモリリファレンスであり、シIこ かってそこにストアされI、ニアイテムは異なったポインタを与えられ得るとい うことに注意され。
たい。このことは1.2つの利点をもたらす。まず第1(よ、異なったポインタ を再ネーミングまたは割当てしてそれを表わすことによって、任意のデータアイ テムがローカルメモリ内の1つ以上の記憶位置にストアされるとし1うことであ る/。第2の利点は、任意の変数が1つの記憶位置(こストアされてそのポイン タを変化することなくそこ力\ら出てし1くことができる一方、その変数に対し て行なわれる処理の結果が同一の記号名であるが異なったポインタを有するgl の記憶位置にストアされ得るということである。
第2図の個々の処理エレメントは、第5図に示されている。要約すれば、それら は複数のマイクロ70グラム化されたマイクロプロセッサから形成されており、 マイクロプロセッサはインテル8086のような商業的に利用可能なものであり 、またはそれらはF aber等の米国特許第3.983.539号に開示され たカストマイズされたマイクロプログラム化されたプロセッサであってもよい。
個々のプロセッサは異なった関数を実行するようにされるので、それらはその各 関数を実行するのに必要とされるのみの論理回路を含む特別目的のマイクロプロ セッサであってもよい。
各回路18は、演算論理ユニット、シフトユニット、乗算ユニット、インデキシ ングユニット、ストリングプロセッサ、およびデコードユニットである。さらに 、シーケンシングユニット19は第2図のジョブ待ち行列10dから命令を受け て、制御ストア20にストアされたマイクロ命令をアクセスする。制御ストアか らのマイクロ命令は命令バスIBを介して各ユニットに供給され、ユニットによ って発生された任意の状態信号は状態バスCBを介して転送される。対応するロ ーカルメモリからのデータは、AバスABで受けられ、実行された結果はBバス Beに供給される。
第1図に戻って、第2図の待機タスクモジュール10aによって受けられている コードストリングにおける種々の命令およびそのモジュールによって形成される より高レベルの命令またはタスクのより詳細な説明をここで行な′う。
第1図の左欄に示されるように、コード、ストリングの最初の3つの命令はデー タアイテム■の値呼出しまたはメモリ取出し、8ビツト値、および乗算命令であ る。それらは次のタスク、すなわち第1図の右欄の第1のタスクによって示され るリテラル値を1−に乗算するタスク、につながれている。処理は、加算タスク および減算タスクに対し続けられる。名前呼出し命令は、データアイテムアドレ スをスタックのトップにおく命令であ・す、インデックス命令はメモリ内にある ディスクリブタにおけるポインタを挿入する結果となる。このようにして、第1 の持ち行列Q。が形成される。
Qlの配列は、名前呼出し命令の後命令N X L Vが実行されてインデック ス処理およびデータの取出しを生じるということ以外、同様である。このように して、第2の待ち行列Q、が形成される。第3の待ち行列Q2の配列におり為で 、加算命令が存在し、この加算命令によって、スタックのトップにおける値を破 壊するメモリの破壊記憶(STOD)の前にAおよびBに対()このように計算 された値が加算される。
第1図の中央のブロック図かられかるように、Q2の最後の2つのタスクまたは つながれた命令の実行は、その値がローカルメモリにストアされる計算Q。F3 よびQlの結果を必要とする。その記憶位置およびそれらの各ローカルメモリは 、リファレンスが実際にそこにストアされているかどうかを示すだめのインデッ クスフラグに与えられる。
この方法において、処理エレメントが同時的な方法で処理されるとぎ、Q2のル ーチンは必要な値が計算されかつローカルメモリにストアされてしまう前に第2 のまたは最終の加算タスクに達することが可能である。対応する処理エレメント はそれらの値がまだ利用可能でないということを検出し、その値が利用可能にな るまでそれらの記憶位置をアクセスし続ける。
第4の待ち行列またはQ、は、値Jを取出しそれに1を加算し、スタックのトッ プにおける値を残したままメモリ内の非破壊ストアを行なう前に、スタックのト ップにそのアドレスを挿入する。最後の4つの命令は、メモリから値Kを取出し 、すれを値J (LSEQ)と比較し、もし値Kが値Jよりも大きければ次の命 令、すなわち偽への分校により、プログラムカウンタが再ロードされ、そのルー チンが繰返される。一方、コードストリングにおける最後の命令は、ルーチンの 終了を生じる無条件分枝である。
第6図は個々の待ち行列に対する待ち行列実行時間のタイミング図であり、特定 のタスクに対する各クロック時間は2つの番号によって・表わされている。第1 の番号は実行されている特定のループまたはシーケンスを表わし、第2の番号は 命令を実行している特定の処理エレメントを表わす。持ち行列の配列の結果とな るコードストリングの最初の伝送ならびにタスクの実行はほぼ17クロツク時間 を必要とし、一方一連のループは実行のため5クロック時間のみを必要とする。
というのは、タスクはQTMおよびIRMにおいて完全に再処理される必要がな いので、個々の従属自由持ち行列が同時的に実行されるからである。
一般的に、待機タスクモジュールはタスク、これらのタスクの待機、持ち行列実 行、タグ予測および分校訂正に対する命令の同時的なステップを実行する。命令 基準モジュールは、再ネーミング、記号マネージメントおよび取替の機能を実行 づる。記号翻訳モジュールは、並列アクセス、ポインタ割当およびタスク割当を 与える。小さな処理エレメントは、独特な処理エレメントが頻繁でないタスク実 行およびストリングの関数部分に対し用いられている間、頻繁なタスク実行のた め設けられる。第2図の直接リファレンスモジュール15は、ノンスタックリフ ァレンスの評価のため設(プられる。
最後に コンパイルされたオブジェクトコードを受けてそのコードのシーケンスをより高 レベルのタスクに形成し、かつそれがオブジェクトコードストリングの前の実行 の結果を必要としないという意味において他の持ち行列と論理的に無関係である ようなタスクの持ち行列を形成する、データプロセッザのための機構が説明され てきた。この方法において、そのような待ち行列のシーケンスは、同時実行のた め、非従属処理エレメントに供給され得る。
記号翻訳テーブルが設(プられて、それによってデータアイテムが参照され、そ の記号はローカルメモリに対する任意のポインタを割当てられ、そのポインタは 変化されて、それによってデータアイテムは1つ以上のメモリ記憶位置に常駐す ることができ、またデータアイテムはそのアイテムに対する処理の結果が弛の記 憶位置にストアされ得る一方でメモリ内に残ることができる。
この発明の一実施例が説明されたが、請求の範囲に記載された発明の精神から逸 脱することなく変更および修正が可能ヱあるということは当業者にとって明らか であろう。
剋 AT −fで、2 国際調査報告 特lk昭59−501133(8)

Claims (1)

    【特許請求の範囲】
  1. 1. オペレータおよびメモリアドレスを含む順次的コードを実行するようにさ れたデータ処理システムであって、前記順次的コードを受ける第1の手段と、オ ペレータが前の処理の結果を必要とせずしたがって論理的非従属性を示すときを 決定する第2の手段と、論理的に非従属のストリングおよび後続の論理的に従属 性のオペレータを論理的に非従属の持ち行列に形成する第3の手段とを備えるシ ステム。 2、 前記データ処理システムは主メモリおよびプロセッサを含み、 前記メモリアドレスを受けかつ前記主メモリからデータを取出す主メモリアドレ ス手段をさらに含む、請求の範囲第1項記載の一システム。 3、 前記プロセッサはローカルストレージを含み、前記主メモリに接続されて 、ローカルメモリアドレスを前記主メモリに転送し、それによって前記主メモリ が取出されたデータを前記ローカルメモリに転送することができるようにするロ ーカルストレージアドレス手段をさらに含む、請求の範囲第2項記載のシステム 。 4、 前記第3の手段は、前記ローカルメモリアドレスを、特定の論理的非従属 の持ち行列を形成するオペレータの対応するストリングに与えるようにされてい る、請求の範囲第3項記載のシステム。 5、 オペレータの前記各論理的非従属の待ち行列および対応するローカルメモ リアドレスを受けるジョブ持ち行列手段をさらに含む、請求の範囲第4項記載の システム。 6、 オペレータおよびメモリアドレスを含む順次的コードを実行するようにさ れたデータ処理システムにおける処理方法であって、 前記順次的コードを受け、 オペレータが前の処理の結果を必要とせずしたがって論理的非従属性を示すとき を決定し、 論理的に非従属のストリングおよび後続の論理的に従属性のオペレータを論理的 に非従属の待ち行列に形成する方法。 7、 前記データ処理システムは主メモリおよびプロセッサを含み、 前記メモリアドレスを受けかつ前記主メモリからデータを取出すことをさらに含 む、請求の範囲第6項記載の方法。 8、 前記プロセッサはローカルストレージを含み、ローカルメモリアドレスを 前記主メモリに転送し、それによって前記主メモリが前記取出されたデータを前 記ローカルメモリに転送することができるようにすることをさらに含む、請求の 範囲第7項記載の方法。 9、 前記ローカルメモリアドレスを、論理的非従属の持ち行列を形成するオペ レータの対応するストリングに与えることをさらに含む、請求の範囲第8項記載 の方法。 10、 前記データ処理システムはジョブ待ち行列を含み、オペレータの前記各 論理的非従属の待ち行列および対応するローカルメモリアドレスを前記ジョブ待 ち行列に転送することをさらに含む、請求の範囲第9項記載の方法。
JP50244283A 1982-06-08 1983-06-08 多重処理エレメントのための従属自由コ−ドを発生する機構 Pending JPS59501133A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38633989SE 1982-06-08
PCT/US1983/000896 WO1983004444A1 (en) 1982-06-08 1983-06-08 Mechanism for creating dependency free code for multiple processing elements

Publications (1)

Publication Number Publication Date
JPS59501133A true JPS59501133A (ja) 1984-06-28

Family

ID=22175251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50244283A Pending JPS59501133A (ja) 1982-06-08 1983-06-08 多重処理エレメントのための従属自由コ−ドを発生する機構

Country Status (1)

Country Link
JP (1) JPS59501133A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49122941A (ja) * 1973-03-26 1974-11-25
JPS5011743A (ja) * 1973-06-04 1975-02-06
JPS5023949A (ja) * 1973-06-27 1975-03-14
JPS51130135A (en) * 1975-05-07 1976-11-12 Fujitsu Ltd Information processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49122941A (ja) * 1973-03-26 1974-11-25
JPS5011743A (ja) * 1973-06-04 1975-02-06
JPS5023949A (ja) * 1973-06-27 1975-03-14
JPS51130135A (en) * 1975-05-07 1976-11-12 Fujitsu Ltd Information processing system

Similar Documents

Publication Publication Date Title
US4466061A (en) Concurrent processing elements for using dependency free code
US4468736A (en) Mechanism for creating dependency free code for multiple processing elements
JP3461704B2 (ja) 条件コードを使用する命令処理システムおよびコンピュータ
US3573851A (en) Memory buffer for vector streaming
US5197137A (en) Computer architecture for the concurrent execution of sequential programs
US5499349A (en) Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution
US3573852A (en) Variable time slot assignment of virtual processors
US4974146A (en) Array processor
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
EP0565705B1 (en) Out of order job processing method and apparatus
JPS6028015B2 (ja) 情報処理装置
JPH0778738B2 (ja) ディジタル・コンピュータ・システム
JPH0760380B2 (ja) プログラム呼び出し装置
CA2304609A1 (en) Autonomously cycling data processing architecture
US4456958A (en) System and method of renaming data items for dependency free code
EP0061586B1 (en) Data processing apparatus with extended general purpose registers
US5506974A (en) Method and means for concatenating multiple instructions
JPS59501133A (ja) 多重処理エレメントのための従属自由コ−ドを発生する機構
JPS59501131A (ja) 従属自由コ−ドを用いるための同時処理エレメント
JPS59501132A (ja) 従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法
JP3278441B2 (ja) ベクトル処理装置
SU692400A1 (ru) Вычислительна система
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
Heller et al. Vertical and outboard migration: a progress report
JP2895892B2 (ja) データ処理装置