JPS59501132A - 従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法 - Google Patents

従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法

Info

Publication number
JPS59501132A
JPS59501132A JP50237983A JP50237983A JPS59501132A JP S59501132 A JPS59501132 A JP S59501132A JP 50237983 A JP50237983 A JP 50237983A JP 50237983 A JP50237983 A JP 50237983A JP S59501132 A JPS59501132 A JP S59501132A
Authority
JP
Japan
Prior art keywords
queue
address
memory
code
memory address
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.)
Granted
Application number
JP50237983A
Other languages
English (en)
Other versions
JPS633336B2 (ja
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/000894 external-priority patent/WO1983004442A1/en
Publication of JPS59501132A publication Critical patent/JPS59501132A/ja
Publication of JPS633336B2 publication Critical patent/JPS633336B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 本願と直接または間接に関連づ−る米国特許出願は以下のとおりである。
1982年6月8日に△1fred J 、 [)e 3antts等によって 出願された「多重処理エレメントのための従属自由コードを発生する機構」とい う名称の出願番号第386.339号。
1982年6月8日にA 1fred J 、 [)e 3antis ニよっ て出願された「従属自由コードを用いるための同時処理エレメント」という名称 の出願番号第386.336号。
この発明は、従属自由コードを発生するための機構に関し、より特定的には複数 の同時処理エレメントを用いるためのそのような機構に関する。
先ユ目九止」旧l貝− 今日でもなほとんどのコンピュータは、本質的に類1次的である命令言語によっ て駆動されまたはそのような命令言語を実行するvOnNeUIIlanタイプ のものである。さらに、そのような順次的な言語は、個々の命令の間に多くの従 属性を含み、それによって個々の命令は順序を無視し工実行されることはできな い。たとえば以下のようなシーケンスを考察する。
C: =Fn 、(A、B) D ニーFn +i (C,E) この2つの関数FnおよびFn +iは、関数Fnの結果が次の関数Fn +i に対する入力として用いられるので、論理的な従属性を有している。
さらに、順次言語の欠点は、シーケンスまたはループが繰返されるときにメモリ 取出しおよびコード処理に冗長性が存在するということであり、もしそれが改良 されるならば、プロセッサの処理高は増大されるであろう。
処理システムの処理高を増大させる1つの方法は、複数のプロセッサを多重処理 モードで用いることである。しかしながら、個々のプロセッサはなお命令を順次 的に実行しな【プればならず、唯一の同時処理は、個々のプロセッサがプログラ ムの別々のセグメン1〜を実行しているときかまたは全く別のプログラムを実行 しているときにのみ存在する。
そのような多重処理システムは、たとえば、Mott等の米国特許第3,319 ,226号およびA nderson等の米国特許第3,419,849号に開 示されている。
処理高を増大させるさらに他の試みは、命令実行の種々の副関数がオーバラップ するパイプライニングを採用することである。これらのステップを一連の命令と オーバラップさせることによって、命令実行は各クロック時間行なわれることが でき、それによってプロセッサの処理高を増大させる。
処理高を増大させるためのこれらのすべての方法は、上述したような命令間の論 理的従属性のゆえに、順次的な命令実行のために設計されている。論理的な従属 性のため、種々の命令が互いに従゛属牲なく実行されて一群のまたは多数の処理 エレメントによる処理を容易に適合させる真の同時処理は達成されることができ ない。
応用古語は、各ステートメントが本質的に互いに無関係であり、したがってその ような応用ステートメントを縮小するように設計された処理エレメントの回路網 によって同時に実説されることができるという点において、命令言語とは異なっ ている。そのような応用言語プロセッサの例は、1301ton等の米国特許出 願第2’81.064号およびl−18flenlllaier等の米国特許出 願第281.065号において与えられている。これらの両出願は、1981年 7月7日に出願され、本願の譲受人に譲渡された。そのような応用言語は、それ らが設訂によってV on N euman的意味における順次的でないという 点において、命令言語とは異なっている。しかしながら、今日用いられるほとん どのプログラムライブラリは、命令i nで書かれており、またそれらのライブ ラリを用いるべきデータ処理システムの更新またはさらに別の世代は、命令言語 を実行するようにされなければならない。
処理高が増大され得る1つの方法は、前の処理の結果に依存しないオブジェクト コードのセグメントを認識し、それらのセグメントを複数の処理エレメントによ って同時に処理され得る非従属シーケンスまたは待ち行列に形成することである 。このことはもちろん、オペランドがメモリに存在するときのそのもとの値を破 壊することなく処理がオペランドに対して実行さ、れ得るといった方法のオペラ ンドの取゛扱いを必要とする。異なった記号名が、この目的のために任意のデー タアイテムを参照するのに指定され得る。
コードまたは記号のそのような待ち行列の配列は、処理装置による同時処理をさ ら゛に適合させる。
この発明の目的は、従属自由命令コードを発生するための改良された機構を提供 することである。
この発明の他の目的は、多重処理エレメントによる実行のため従属自由命令コー ドを提供することである。この発明のさらに他の目的は、従属自由命令コードを 複数の処理エレメントに同時的態様で与えるための改良された機構を提供するこ とである。
この発明のさらに他の目的は、冗長なメモリ取出しがなく、かつそのコードが一 連のそのようなコードの処理のために再処理されなくてもよい特性である命令コ ードを発生するための機構を提供することである。
11九1L 上述した目的を達成するために、この発明は、オブジェクトイードのストリング を受けそれらを高レベルのタスクに形成し、論理的に非従属であるそのようなタ スクのシーケンスを決定し、それによってそれらが別々に実行されるようにする 、データプロセッサのためのキャッシュ機構に向けられている。このキャッシュ 機構は、種々のタスクによって必要とされるすべてのメモリアクセスを行ない、 かつこれらのタスクを、種々のデータアイテムがストアされなかったローカルメ モリに対する対応するポインタまたはリファレンスとともにストアする。このキ ャッシュ機構は、記号翻訳テーブルを利用し、そこではタスクは、ローカルメモ リに対する種々のリファレンスまたはポインタを表わす記号とともに待ち行列の 態様でストアされる。この方法において、種々のデータアイテムは別々のタスク に用いるための別々の記号または記号名を割当てられることができ、したがって 種々のタスク間の依存性を限定しかつデータ変更を制御する。
この発明の特徴は、一群の処理エレメントに対するキャッシュ機構を与えること であり、そのキャッシュ機構は順次的なオブジェクトコードのストリングをタス クの待ち行列に形成し、各待ち行列は他のものとは論理的に非従属である。
晟1101虱左」υ1 この発明の上述の目的およびその他の目的、効果および特徴は、図面を参照して 行なう以下の詳細な説明から一層明らかとなろう。
第1図は、この発明が設計されるためのオブジェクトコードのストリングおよび そのオブジェクトコードがら形成される対応する論理的非従属待ち行列である。
第2図は、この発明によるシステムの概略ブロック図である。
第3図は、この発明により形成される持ち行列のフォーマットを示す。
第4図は、この発明に利用される記号翻訳テーブルモジュールの概略ブロック図 である5 第5図は、この発明に用いられる処理■レメントの概略ブロック図である。
第6図は、この発明を示すタイミング図である。
11悲11L1 上述の目的、効果および特徴を達成するために、この発明は3つの異なった見地 、すなわち多重処理エレメントによる改良されたコード処理、リファレンス処理 および並列的実行を有する。コード処理において、この発明はまず連結によって 命令ストリングを予備処理し、一連の連結された命令の間の関係を調べて、それ らの命令を互いにつないで従属命令の待ち行列を形成する。連結された命令が互 いにつながれるべぎかどうかを決定するために用いられる機構は、続く連結され た命令に対する出力を与える1つの連結された命令への従属である。一旦非従属 性が位置決めされると、Wち行列が形成される。一旦待ち行列が形成されると、 この発明による機構はその全待ち行列を1つのステップで処理することによって 効果的である。連結された命令を通常的に再処理するため数サイクルを必要とす るのが、今では1サイクルでなされ、また待ち行列は一連のシーケンスの実行に 対し再発生される必要がない。
さらに、コードの処理の間、前に参照されかつ処理ニレメン1〜に対しローカル であるオペランドリファレンスは認識され得る。このことは各リファレンスを受 けかつそのアイテムがプロセッサのローカルメモリにあるかどうかをみるために 翻訳テーブルをスキャンすることによって達成される。もしリファレンスがプロ セッサのローカルメモリに常駐しなければ、この発明はそのリファレンスに記号 を割当て、任意の待ち行列に対応する個々の記号は1つの処理エレメントに対す る後続の転送のためそこに付加される。
一旦対応する待ち行列が形成されると、それらは複数の処理エレメントによって 同時に実行されることができる。
今日の処理システムの設計において、スタック配向プロセッサを用いる傾向が多 く、そこにおいては、ブツシュダウンスタック、または先入れ後出しスタックが 与えられて、特定の高レベルプログラム言語によって用いられる再帰的手順およ びネスティッド処理を適合させる。このようなスタック配向プロセッサが与えら れると、親制御プログラムおよび処理システムの一部を形成する他のルーチンは 、アルゴル60のような本質的に再帰的である特定の高レベル言語で書かれるこ とができる。この形式の特定のプロセッサモジュールは、B arton等の特 許第3.46.1.’423号、 3,546.67’7号、および3,548 ,384号に開示されている。
スタック機構の機能、先入れ後出し機構は、命令および関連のパラメータを、特 定の高レベル言語のネストされた構造を反射する方法で操作することである。そ のようなスタックは主メモリに概念的に常駐し、プロセッサのスタック機構はス タック内のトップデータアイテムに対するリファレンスを含むようにされている 。この方法において、データアイテムの多くの種々のスタックはメモリ内に常駐 し、プロセッサはそれらをプロセッサ内に存在するスタックレジスタのトップに 対するアドレスに従ってアクセスし、種々のスタックはそのレジスタの内容の変 化によって別々のときアクセスされることができる。
もしプロセッサがそのようなスタック機構を与えられな(プれば、プロセッサは 再帰タイプの言語を、その一般目的のレジスタをそれらがハードウェアスタック 機構であるにもかかわらずアドレスすることによって実行する。
この発明の好ましい実施例は高レベル再帰的言語で書かれたプログラムを実行す るためのそのようなスタック配向プロセッサに向けられているが、この発明の内 容は再帰的なものとは別の高レベル言語プログラムの形式を実行する加計された 他の形式のプロセッサにも用いることができる。
一旦プログラムがこの高レベル言8台で書かれると、それはプロセッサのコンパ イラによってオブジェク1〜コードまたは機械言語コードのストリングにコンパ イラされ、その形式は特定のプロセッサの設泪に従って設計されならびに制御さ れる。上述したように、今日設計されるほとんどのプロセッサはなおV on  N eumanタイプのものであり、それは本来的に順次的でありかつ多くの論 理的従属性を含む。
この発明が「デコンパイルコされた高レベル言語コードの形式で従属自由コード をいかに与えるかということを一般的に示すために、ここで第1図を参照する。
第1図の左欄は、C[1,J] :=A[I、J]+B[I、J]の計算のため の機械言語コードのストリングを表わす。この計算は多くのアドレスに対するも のであるので、第1図の左端に示された機械言語フードのストリングはループの 一連のシーケンスまたはシリーズにおいて実行されるムこのコードのストリング は4つのコードのグループまたはサブセラ1−に分割され、その各々のグループ は第1図の中央部分のブロック図によって示されるように他のものと大部分論理 的に非従属である。一般的にこの発明の機構は、次の処理が前の処理またはスト アされた処理と非従属であるとき、論理的に非従属のストリングの端部を決定す る。
この発明において、機構は、第1図の右欄に示されるように、値呼出しまたは・ メモリ取出しを実行しかつオペレータの待ち行列またはデータアイテム(または データアイテムに対するローカルアドレス)を形成する。これらのオペレータお よびそのデータアイテムは互いに連結され、以下に説明する方法で処理エレメン トに転送され得る。このような連結された命令は、以後タスクとして参照される 。
第1図の例において、4つの別々の待ち行列ば従属連結命令の論理的に非従属な グループであり、以下に説明するように別々の処理エレメントによって同時に実 行され得る。
第1図の左欄におけるコードのストリングはループのシーケンスにおいて実行さ れるべきであるので、第1図の右欄における新しく発生された待ち行列は再発生 される必要はない。各一連のループにとって必要なことは、新たな値およびアレ イアイテムがメモリから取出されるということである。また、新たなポインタ値 は、ストアされる変数に割当てられなければならない。
1貝」」11虹五J− この発明によるプロセツザシステムは第2図に示されており、キャッシュ111 m10はオペレータの個々の待ち行列および複数の小さい処理エレメント11a 、bおよびCに対するデータリファレンス、ならびに待ち行列処理エレメント1 3aを供給するための機構であり、それらの各々はそれ自身のローカルメモリ1 2a、bおよびCならびにローカルメモリ13bにそれぞれ与えられる。キャッ シュ機構10は、主メモリ(図示せず)と直接に通信し、個々の処理エレメント はまた直接ストレージモジュール14によって主メモリと通信する。
機構10は4つのユニットから構成されており、その4つのユニツI〜は待ち行 列タスクモジュール10a、命令リファレンスモジュール10b、記号翻訳モジ コールIOC。
およびジョブ待ち行列10dを含む。ここで、これらの個々のユニツ1−の機能 を概略的に説明する。オブジェク1−コードまたは機械言語コードの個々のスト リングは待機タスクモジコール10aによってメモリから受取られ、待機タスク モジュール10aは、各命令を直列的に受けてそれらをタスクの待ち行列にアセ ンブルするバッファまたはキャッシュメモリであり、タスクの待ち行列の長さは 一連の連結されたキャラクタの間の論理的依存性による。待機タスクモジュール 10aは、命令のつながれたグループが以前の計算の結果を必要としないときを 決定するのに充分なデコード回路を含む。つながれたタスクのそのような待ち行 列がアセンブルされてしまうと、そのオペランドリファレンスは命令リファレン スモジュール10bに転送され、命令リファレンスモジュール10bは個々の命 令および割当記号によって要求される任意のメモリ取出しを実行する。
待機タスクモジュール10aはまた、記号翻訳モジュール10Cに待ら行列番号 を割当てる。
命令リファレンスモジュール10bは絶対メモリアドレスが論理的に保持されて いるかどうかを決定する連想メモリであり、もし保持されていなければ命令塞準 モジュール10bはそのアドレスを主メモリに送り、そのアドレスをストアし、 そこに記号を割当てることによってそのメモリア、クセスを行なう。この連想メ モリは次に、記号翻訳モジュール10cに対応するタスクとともにその記号を転 送する。記号翻訳モジュール10cはその記号に対しポインタ(ローカルメモリ アドレス)を割当て、そのポインタを主メモリに転送し、それによって主メモリ はローカルメモリ内にデータアイテムをストアすることができる。オブジェクト コードのストリングの最初の実行の間、一連の命令に対する待ち行列は記号翻訳 モジュール10cにおいて形成されている。これらの待ち行列が形成される一方 、個々のタスクおよびポインタはジョブ待ち行列lQdに転送される。
記号翻訳モジュールIOCは、待機タスクモジュール10aによって参照され得 る種々の待ち行列記憶位置を有するテーブルルツアップメモリである。これらの 記憶位置は、処理エレメントのローカルメモリに保持されたつながれた命令およ びアイテムの記号のリストを含む。各持ち行列が読出されると°き、待ち行列に 対する記号は、以下に詳細に説明するように、記号によって参照されるアイテム の実際の記憶位置に対するポインタを含むルックアップテーブルに対する読出し アドレスとして用いられる。第1図のオブジェクトコードストリングの最初の処 理の終わりに、ジョブ待ち行列10eは個々の作り出された待ち行列を含み、そ の作り出された待ち行列はタスクおよびポインタによって同時実行のため各処理 エレメント11a、、11b、およ−び11Cに直列的に送られ得る。一方、実 行のため必要とされる個々のデータアイテムは主メモリから取出されてローカル メモリ12a、12.bおよび12cの、適当な記憶位置でストアされており、 その記憶位置はジョブ待ち行列10dにおけるポインタによってアクセスされる 。
オブジェクトコードの最初のループまたは実行の完了により、すべてのタスク処 理が完了されてしまうまで記号翻訳モ、ジュールIOCからジョブ待ち行列10 dへ以前に作り出された待ち行列を供給することによって、一連のループが実行 され得る。 ゛ 第2図のジョブ待ち行列10dに待ち行列が常駐するときのそのフォーマットは 第3図に示されている。左から右へ読出される各フィールドは、乗算命令、加算 命令、減算命令、およびI、JおよびCフィールドに対するポインタが続くイン デックス命令である。これらは第1図にお゛ける第1の待ち行列(Qo)に対応 し、そこでは8ビツトリテラルは各乗算および加算命令の一部となる。
このようにして形成された待ち行列は、将来の実行のため命令を保持するのみな らず、スタック環境ならびにそのアドレスおよび実行されるべき次の持ち行列の 記憶位置を識別する。ステップごとに1一つの持ち行列を利用可能処理エレメン トに与えること以外、コード処理のため他のいがなる処理ステップも必要とされ ない。
第2図の記号翻訳モジュール10cは、第4図に詳細に示すれている。第4図に 示されるように、このモジュールはテーブルルックアップ機禍であり、待ち行列 記号テーブル16の列はつながれたタスクに対する記憶位@ならびに第2図の命 令リファレンスモジュール10bによって割当てられる記号名を表わし、また対 応する行は第2図の待機タスクモジュール10aによって割当てられる各待ち行 列番号を表わす。上述したように、記号翻訳モジュールにお【プるこのようにし て形成された待ち行列は、行なわれるべき計算の各一連のループに対し、第2図 のジョブ待ち行列10dに対する転送のため、ポインタテーブル17におけるポ インタをアクセスする準備ができているム第4図において、種々の記号は間接ロ ーカルメモリリファレンスであり、したがってそこにストアされたアイテムは巽 なったポインタを与えられ得るということに注意されたい。このことは、2つの 利点をもたらす。まず第1は、異なったポインタを再ネーミングまたは割当てし てそれを表わすことによって、任意のデータアイテムがローカルメモリ内の1つ 以上の記憶位置にストアされるということである。第2の利点は、任意の変数が 1つの記憶位置にストアされてそのポインタを変化することなくそこから出てい クシとができる一方、その変数に対して行なわれる処理の結果が同一の記号名で あるが異なったポインタを有する別の記憶位置にストアされ得るということであ る。
第2図の個々の処理エレメントは、第5図に示されている。要約すれば、それら は複数のマイクロプログラム化されたマイクロプロセッサから形成されており、 マイクロプロセッサはインテル8086のような商業的に利用可能なものであり 、またはそれらはFaber等の米国特許第3,983.539号に開示された カストマイズされたマイクロプログラム化されたプロセッサであってもよい。個 4のプロセッサは異なった関数を実行するようにされるので、それらはその各関 数を実行するのに必要とされるのみの論理回路を含む特別目的のマイクロプロセ ラ勺であってもよい。
各回路18は、演算論理ユニット、シフトユニット、乗算ユニット、インデキシ ングユニット、ストリングプロセッサ、およびデコードユニットである。さらに 、シーケンシングユニット19は第2図のジョブ持ち行列10(Iがら命令を受 けて、制御ストア2oにストアされたマイクロ命令をアクセスする。制御ストア からのマイクロ命令は命令バスIBを介して各ユニットに供給され、ユニットに よって発生された任意の状態信号は状態バスCBを介して転送される。対応する ローカルメモリからのデータは、AバズABで受けられ、実行された結果は1B バスBBに供給される。
第1図に戻って、第2図の待機タスクモジュール10aによって受けられている コードストリングにおける種々の命令およびそのモジュールによって形成される より高レベルの命令またはタスクのより詳細な説明をここで行なう。
第1mの左欄に示されるように、コードストリングの最初の3つの命令はデータ アイテムIの値呼出しまたはメモリ取出し、8ビツト値、および乗算命令である 。それらは次のタスク、すなわち第1図の右欄の第1のタスクによって示される リテラル値をIに乗算するタスク、に・)ながれている。処理は、加算タスクお よび減算タスクに対し続【プられる。名前呼出し命令は、データアイテムアドレ スをスタックのトップにおく命令であり、インデックス命令はメモリ内にあるデ ィスクリブタにおけるポインタを挿入する結果となる。このようにして、第1の 持ち行列Q。が形成される。
Qlの配列は、名前呼出し命令の後命令NXLVが実行されてインデックス処理 およびデータの取出しを生じるということ以外、同様である。このようにして、 第2の待ち行列Q、が形成される。第3の待ち行列Q2の配列において、加算命 令が存在し、この加算命令によって、スタックのトップにおける値を破壊するメ モリの破壊記憶(STOD)の前にAおよびBに対しこのように計算された値が 加算される。
がローカルメモリにストアされる計算Q。、およびQlの結果を必要とする。そ の記憶位置およびそれらの各ローカルメモリは、リファレンスが実際にそこにス トアされているかどうかを示すためのインデックスフラグに与えられる。
この方法において、処理エレメントが同時的な方法で処理されるとき、Q2のル ーチンは必要な値が計算されかつローカルメモリにストアされてしまう前に第2 のまたはR柊の加算タスクに達することが可能である。対応する処理エレメント はそれらの値がまだ利用可能でないということを検出し、その値が利用可能にな るまでそれらの記憶位置をアクセスし続ける。
第4の待ち行列またはQllは、値Jを取出しそれに1を加算し、スタックのト ップにおける値を残したままメモリ内の非破壊ストアを行なう前に、スタックの トップにそのアドレスを挿入する。。最後の4つの命令は、メモリから値Kを取 出し、それを値J (LSEQ)と比較し、もし値Kが値Jよりも大きければ次 の命令、すなわち偽への分校により、プログラムカウンタが再ロードされ、その ルーチンが繰返される。一方、コードストリングにおける最後の命令は、ルーチ ンの終了を生じる無条件分枝である。
第6図は個々の待ち行列に対する持ち行列実行時間のタイミング図であり、特定 のタスクに対する各クロック時間は2つの番号によって表わされている。第1の 番号は実行されている特定のループまたはシーケンスを表わし、第2の番号は命 令を実行している特定の処、環エレメントを表わす。待ち行列の配列の結果とな るコードストリングの最初の伝送ならびにタスクの実行はけば17クロツク時間 を必要とし、一方一連のループは実行のため5クロック時間のみを必要とする。
というのは、タスクはQTMおよびIRMにおいて完全に再処理される必要がな いので、個々の従属自由持ち行列が同時的に実行されるからである。
一般的に、待機タスクモージ−ニールはタスク・、これらのタスクの待機、待ち 行列実行、タグ予測および分校訂正に対する命令の同時的なステップを実行する 。命令基準モジュールは、再ネーミング、記号マネージメントおよび取替の機構 を実行する。記号翻訳モジュールは、並列アクセス、ポインタ割当およびタスク 割当を与える。小さな処理エレメントは、独特な処理エレメントが頻繁でないタ スク実行およびストリングの関数部分に対し用いられている間、頻繁なタスク実 行のため設けられる。第2図の直接リファレンスモジュール15は、ノンスタッ クリファレンスの評価のため設けられる。
最後に コンパイルされたオブジェクトコードを受けてそのコードのシーケンスをより高 レベルのタスクに形成し、かつそれがオブジェクトコ−トス1−リングの前の実 行の結果を必要としないという意味において他の待ち行列と論理的に無関係であ るようなタスクの待ち行列を形成する、データプロセラすのための機構が説明さ れてきた。この方法において、そのような待ち行列のシーケンスは、同時実行の ため、非従属処理エレメントに供給され得る。
記号翻訳テーブルが設【プられて、それによってデータアイテムが参照され、そ の記号はローカルメモリに対する任意のポインタを割当てられ、そのポインタは 変化されて、それによってデータアイテムは1つ以上のメモリ記憶位置に常駐す ることができ、またデータアイテム←Jそのアイテムに対する処理の結果が他の 記憶位置にス1−アされ得る一方でメモリ内に残ることができる。
この発明の一実施例が説明されたが、請求の範囲に記載された発明の精神から逸 脱することなく変更および修正が可能であるということは当業者にとって明らか であろう。
凡 ■ −f々l −f々2 −f〜J +TI” il; x!:: Q F > 2 CI F 5 Q (:I Q  2 LLI;3S写 ;Ss芽 ヲ♀8グ♀民 ?存ヨ() (> :□ − θ− 国際調査報告

Claims (1)

    【特許請求の範囲】
  1. 1. ローカルメモリおよび主メモリを含むプロセッサを有するデータ処理シス テムであって、 主メモリアドレスを受けてそれをその内容と比較し、そのアドレスがそこに存在 しなければ、そのメモリアドレスに対する記号名を表わすコードを割当ててその 主メ′モリにそのアドレスを転送する、連想メモリ手段と、前記連想メモリ手段 に接続されて、前記記号名コードを受けかつそれに対するローカルメモリアドレ スを割当てるテーブルルックアップ手段とを備えるシステム。 2、 前記連想メモリ手段は、受けた主メモリアドレスが前記連想メモリ手段内 に既にストアされているとき、前記テーブルルックアップ手段に予め割当てられ た記号名コードを転送するようにされている、請求の範囲第1項記載のシステム 。 3、 前記テーブルルックアップ手段は、前記記号名コードの待ち行列を形成す るようにされている、請求の範囲第1項記載のシステム。 4、 前記記号名コードに対応する前記ローカルメモリアドレスをストアするた めの手段をさらに含む、請求の範囲第3項記載のシステム。 5、 ジョブ持ち行列手段と、 前記ジョブ持ち行列手段に対する転送のため、記号名コードの前記持ち行列によ って前記ローカルメモリアドレスをアドレスする手段とをさらに含む、請求の範 囲第4項記載のシステム。 6、 前記順次的なコードを受(プて、オペレータが前の処理の結果を必要とし ないときを決定し、論理的な非従属性のスI・リングを形成し、かつ論理的非従 属性待ち行列内に後続の論理的従属性オペレータを形成する手段をさらに含み、 前記ルックアップ手段は、前記論理的非従属性待ち行列を受けて、そこに対応す るローカルメモリアドレスを与えるようにされている、請求の範囲第5項記載の システム。 7、 ローカルメモリと、主メモリと、連想メモリ手段と、テーブルルックアッ プ手段とを含むプロセッサを有するデータ処理システムにおける処理方法であっ て、前記連想メモリ手段によって主メモリアドレスを受け、それをその内容と比 較し、前記アドレスがそこに存在しないとき前記メモリアドレスに対する記号名 を表わすコードを割当て、前記アドレスを前記主メモリに転送し、前記記号名コ ードを前記テーブルルックアップ手段に転送し、それにローカルメモリアドレス を割当てる方法。 8、 さらに、受けられた主メモリアドレスが前記連想メモリ手段内に既にスト アされているとき、前記テーブルルックアップ手段に予め割当てられた記号名コ ードを特徴する請求の範囲第7項記載の方法。 9、 さらに、前記記号名コードの待ち行列を特徴する請求の範囲第8項記載の 方法。 10、 さらに、前記記号名コードに対応する前記ローカルメモリアドレスを特 徴とする請求の範囲第9項記載の方法。
JP50237983A 1982-06-08 1983-06-08 従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法 Granted JPS59501132A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38642089SE 1982-06-08
PCT/US1983/000894 WO1983004442A1 (en) 1982-06-08 1983-06-08 System and method of renaming data items for dependency free code

Publications (2)

Publication Number Publication Date
JPS59501132A true JPS59501132A (ja) 1984-06-28
JPS633336B2 JPS633336B2 (ja) 1988-01-22

Family

ID=22175249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50237983A Granted JPS59501132A (ja) 1982-06-08 1983-06-08 従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法

Country Status (1)

Country Link
JP (1) JPS59501132A (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

Also Published As

Publication number Publication date
JPS633336B2 (ja) 1988-01-22

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
US4791550A (en) Higher order language-directed computer
JP3461704B2 (ja) 条件コードを使用する命令処理システムおよびコンピュータ
US4587632A (en) Lookahead stack oriented computer
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US4771380A (en) Virtual vector registers for vector processing system
Brown Issues in selective perception
US4456958A (en) System and method of renaming data items for dependency free code
WO1982004148A1 (en) Digital computer for executing instructions in three time-multiplexed portions
JPS59501132A (ja) 従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法
JP3737573B2 (ja) Vliwプロセッサ
US4480306A (en) Digital data processing system using unique ALU register files and micro-instruction stacks
JPS59501131A (ja) 従属自由コ−ドを用いるための同時処理エレメント
JPS59501133A (ja) 多重処理エレメントのための従属自由コ−ドを発生する機構
JPS62256045A (ja) デ−タ駆動型計算機
Keyngnaert et al. Conflict graph based allocation of static objects to memory banks
Hansen A multiprocessor implementation of Joyce
JP2729795B2 (ja) 並列計算機及びその制御方法
JPH0784797A (ja) ロードモジュールへのソースコード行番号登録方法および装置
SU692400A1 (ru) Вычислительна система
EP0215001B1 (en) Higher order language-directed computer
Lewis et al. The BTI 8000-Homogeneous, general-purpose multiprocessing
Hayes Computer architecture the hardware-software interface
Ramsay The POPLOG program development system