Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0441378B2 - - Google Patents
[go: Go Back, main page]

JPH0441378B2 - - Google Patents

Info

Publication number
JPH0441378B2
JPH0441378B2 JP58127524A JP12752483A JPH0441378B2 JP H0441378 B2 JPH0441378 B2 JP H0441378B2 JP 58127524 A JP58127524 A JP 58127524A JP 12752483 A JP12752483 A JP 12752483A JP H0441378 B2 JPH0441378 B2 JP H0441378B2
Authority
JP
Japan
Prior art keywords
instructions
address
code
addresses
instruction
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.)
Expired - Lifetime
Application number
JP58127524A
Other languages
English (en)
Other versions
JPS5998255A (ja
Inventor
Hanto Guriin Hawaado
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
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 Unisys Corp filed Critical Unisys Corp
Publication of JPS5998255A publication Critical patent/JPS5998255A/ja
Publication of JPH0441378B2 publication Critical patent/JPH0441378B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 発明の背景 この発明は、比較的高レベルのソース言語の代
入文を比較的低レベルのオブジエクト言語の命令
に変換するコンピユータ化された方法に関し、低
レベルのオブジエクト言語の命令を実行するデイ
ジタルコンピユータに関する。
第1図は、高レベルのソース言語の代入文を低
レベルのオブジエクト言語の命令に変換する1つ
の従来技術の方法を概略的に示す。第1図におい
て、参照数字10は変換されるべき代入文を示
し、参照数字11は文10を受けかつこれを変換
するデイジタルコンピユータを示し、参照数字1
2は文10が変換される低レベルのオブジエクト
言語の命令の組を示し、また参照数字1〜4
7は組12における個々の命令を示す。
文10のような代入文は、フオートラン、アル
ゴル、パスカル、コボル、C、PL1、および
PL/M−80と呼ばれる高レベル言語の一部であ
る。それらはプログラマ個人によつて書かれ、プ
ログラマがコンピユータに実行させたいと思う処
理を特定する手段を与える。
代入文の特徴は、変数に対し或る値を割当て、
その割当てられた値が1つ以上の変数および/ま
たは定数の数学的関数として表現されるというこ
とである。たとえば文10において、変数ABLE
は、BAKER(J、I)+CHARLIE(K)−DELTA
(J2+I+3)+EASY−5+FOX(I、J、K)
と表現される値を割当てられ、ここでBAKER、
CHARLIE、DELTA、EASY、およびFOXまた
は変数である。
デイジタルコンピユータは、一般的に、代入文
を直接に実行することはしない。なぜならば、代
入文のフオーマツトは非常に複雑だからである。
代入文は実行される前に、より簡単なフオーマツ
トを有する低レベルのオブジエクト言語の命令に
変換される。この変換は、コンパイラと呼ばれる
プログラムの指示の下でのコンピユータ化された
処理によつて実行される。
第1図において、コンパイラプログラムは参照
数字13によつて示されている。コンパイラプロ
グラム13はメモリ14に記憶され、高レベルの
言語文が低レベルの言語命令に変換されるすべて
のステツプをコンピユータ11が実行するように
指示する。
コンパイラ13のタスクのうちの1つは、代入
文における変数の各々にメモリアドレスを与え
る。たとえば第1図において、命令I1〜I9は
BAKER(J、I)のアドレスを計算し、命令I
11〜I14はCHARLIE(K)のアドレスを計算
し、命令I17〜I23はDELTA(J2−I+3)
のアドレスを計算し、また命令I30〜I43は
FOX(I、J、K)のアドレスを計算する。
変数BAKER、CHARLIE、DELTA、および
FOXは、すべて指標付け変数である。それらは
各々N次元マトリクスを表わし、ここでNは変数
に関連する指標の数である。BAKERはJおよび
Iの2つの指標を持つており、したがつて2次元
マトリクスを表わし、CHARLIEおよびDELTA
は1つの指標を持つており、したがつてそれらは
各々1次元マトリクスを表わし、またFOXは3
つの指標I、J、Kを持つており、したがつて3
次元マトリクスを表わす。
コンパイラ13の他のタスクは、文10に特定
される演算処理をアドレス指定された変数に実行
する低レベルのオブジエクト言語の命令を発生す
る。第1図は、変数Bがアドレス指定された後命
令I10が変数BAKERを取出し、また変数
CHARLIEがアドレスされた後命令I15〜I1
6が変数BAKERに変数CHARLIEを加算するこ
とを示す。同様に、変数DELTA、EASYおよび
FOXのそれぞれに対するアドレス計算に続いて、
命令I24〜I25、I27〜I29、およびI
44〜I47が、文10に特定されるようにこれ
らの変数を数学的に結合する。
しかしながら、上述したコンパイラ発生命令I
1〜I47は、原代入文10に暗黙に含まれるあ
る種の情報がコンパイラ処理によつて失われると
いう問題を含む。たとえば、文10における含意
は、変数BAKER、CHARLIE、DELTA、
EASYおよびFOXが任意の順序に結合され得る
という事実であり、また変数が並列サブオペレー
シヨンによつて結合され得るという事実である。
これらの事実はいずれも、コンパイルされた命令
I1〜I47の検分からは現われてこない。した
がつて、コンパイルされた命令I1〜I47は、
直列形式で一度に1つずつ実行され、その最小実
行時間が不運にも制限される。
発明の概要 したがつて、この発明の主たる目的は、高レベ
ル言語の文を低レベル言語の命令に変換する改良
された方法および装置を提供することである。
この発明の他の目的は、高レベル言語の文を、
改良された速度で実行され得る複数の低レベル言
語の命令に変換する方法および装置を提供するこ
とである。
この発明において、上述の目的および他の目的
は、比較的高レベルのソース言語の文を、比較的
低レベルのオブジエクト言語の命令の第1、第
2、および第3の組に変換する、デイジタルコン
ピユータ化された方法によつて与えられ、またそ
の変換は、第1の組の命令が第2および第3の組
の命令とインターリーブされた形式で実行され、
第2および第3の組の命令が同時に実行されるよ
うに行なわれる。
この方法は、以下のステツプ(a)および(b)を含
む。すなわち、(a)変換されている文における演算
処理を特定し、かつ各アドレスが第2および第3
の組における命令のものであることを示す同一の
コードを有する2つのエンコードされたアドレス
を参照する第1の組の命令をコンピユータを通じ
て発生し、(b)第1の組の命令において特定された
処理によつて修正される、文における2つの変数
に対する各アドレスを計算することが同時に実行
可能である、エンコードされたアドレスでの個々
の記憶のための第2および第3の組の命令を、コ
ンピユータを通じて形成する。
さらに、上述のステツプと選択的にまたは結合
して、方法は以下のステツプを含む。すなわち、
(a)文における連算処理を特定し、かつアドレスが
第1の変数のものであることを示す第1のコード
を有するエンコードされたアドレスを参照しまた
アドレスが第2の組における命令のものであるこ
とを示す第2のコードを有する他のエンコードさ
れたアドレスを参照する、第1の組の命令を、コ
ンピユータを通じて発生し、(b)第1の組の命令に
おいて特定される処理によつてソース言語の文に
おいて第1の変数と結合される第2の変数のアド
レスを計算する、第2のエンコードされたアドレ
スでの記憶のための第2の組の命令を、コンピユ
ータを通じて形成する。
発明の詳細な説明 ここで第2図を参照して、高レベルのソース言
語の文を低レベルのオブジエクト言語の命令に変
換するこの発明による1つの好ましい方法を詳細
に説明する。この方法においては、言語変換処理
のすべてのステツプは、メモリ20に記憶されて
いる新規なコンピユータプログラム21の指示の
下で、コンピユータ11によつて実行される。
コンパイラプログラム21がコンピユータ11
に実行するように指示するステツプには、ネーム
テーブルを発生すること、および低レベルのオブ
ジエクト言語の命令の3つの異なつた組を発生す
ることが含まれる。オブジエクト言語の命令のこ
れらの3つの組は、第2図においてXコード、Y
コード、およびZコード命令として識別され、そ
れらはXコード命令がYコードおよびZコード命
令とインターリーブされた形式で実行可能であ
り、YコードおよびZコード命令が同時に実行可
能であるように発生される。
ネームテーブルを発生するために、個々のネー
ムテーブルエントリ(NTE)が、変換されるべ
き代入文における各変数に対して発生される。各
ネームテーブルエントリは、エンコードされたア
ドレスの形式である。コード11は、アドレスが対
応する変数のアドレスを計算する命令のものであ
ることを示すが、コード00は、アドレスが対応す
る変数それ自体のものであることを示す。
たとえば、第2図のネームテーブルにおいて、
エントリ22は変数CHARLIE(K)に対応する。エ
ントリ22は、コード11およびアドレスZ10を
有する。これは、アドレスZ10が、変数
CHARLIE(K)のアドレスを計算する命令の組の開
始アドレスであることを示す。これに対しエント
リ26は変数EASYに対応し、コード00およびア
ドレスY15を有する。これは、アドレスY15
が変数EASYのアドレスであることを示す。
好ましくは、もしそのエントリに対応する変数
が指標付けされているなら、コード11はネームテ
ーブルエントリに割当てられる。したがつて、エ
ントリ22,23,24および25はすべて、対
応する変数のCHARLIE、BAKER、FOX、およ
びDELTAがすべて指標付けされているので、コ
ード11を有する。これに対しコード00は、好まし
くは、もし対応する変数が指標付けされていない
なら、ネームテーブルにおけるエントリに割当て
られる。したがつて、エントリ26,27,28
および29はすべて、対応する変数のEASY、
I、J、およびKがすべて指標付けされていない
ので、コード00を有する。
コンパイル処理の他のステツプとして、コンパ
イラ21はコンピユータ11にYコードおよびZ
コード命令を発生するように指示する。1組のこ
れらの命令は、コード11を有するネームテーブル
内の各エントリに対し発生される。これらの命令
はネームテーブルにおいて与えられたアドレスで
各メモリに記憶され、それらは対応する変数のア
ドレスを計算する。
たとえば、ネームテーブルにおけるエントリ2
2は、コード11を有する。またそのエントリは変
数CHARLIE(K)に対応し、アドレスZ10を有す
る。したがつてコンパイラ21は、コンピユータ
11に、アドレス10で開始するメモリZにおけ
る記憶のためにオブジエクトコードの命令を発生
するように指示し、その命令は変数CHARLIE(K)
のアドレスを計算する。
同様に、ネームテーブルにおけるエントリ23
は11コードを有し、変数BAKER(J、I)に対
応する。またエントリ23はアドレスY15を有
し、したがつてコンパイラ21は、コンピユータ
11に、アドレス10で開始するメモリYにおけ
る命令を発生するように指示し、その命令は変数
BAKER(J、I)のアドレスを計算する。同様
にして、コンパイラ21はコンピユータ11にア
ドレス30で開始するメモリZに命令を発生する
ように指示し、その命令は変数FOX(I、J、
K)のアドレスを計算し、また、コンピユータ1
1にメモリYにおけるアドレス40で開始する命
令を発生するように指示し、その命令は変数
DELTA(J2−+3)のアドレスを計算する。
各XコードおよびYコード命令の組の一部とし
て、コンパイラは、プロセツサPXに計算された
アドレスを送り、次に制御を予め定められた状態
に戻す1対の命令を発生する。。この1対の命令
は、命令の組の末尾に位置決めされる。たとえ
ば、メモリYにおけるアドレス10で開始する命
令の組において、この1対の命令は19および
20として識別される。
コンパイル処理のさらに他のステツプとして、
コンパイラ21はコンピユータ11にXコード命
令を発生するように指示する。このステツプの間
に、コンパイルされている代入文において生じる
変数の対を結合し、かつその結果を一時的な記憶
位置に記憶する命令が発生される。すべての変数
の対が結合されてしまつた後、代入文によつて特
定される方法で中間結果の対を結合する他のXコ
ード命令が発生される。このような対結合ステツ
プによつて、最終結果に到達し、そしてその結果
は新しい値を割当てられている変数のアドレスで
記憶される。
たとえば第2図において、命令X1は変数
BAKERおよびCHARLIEを結合してその結果を
一時的な記憶位置T1に記憶し、命令X2は変数
DELTAおよびFOXを結合してその結果を一時
的な記憶位置T2に記憶し、また命令X3は残り
の変数EASYを定数「5」と結合してその結果を
一時的な記憶位置X3に記憶する。その後記憶位
置T1,T2,およびT3での中間結果は命令X
4およびX5によつて対に結合され、最終結果に
到達し、その最終結果は変数ABLEのアドレスで
記憶される。
変数の対を結合するこれらのXコード命令は、
ネームテーブルにおける適切なエントリを参照す
ることによつて結合されている変数を識別する。
たとえば命令X1は変数BAKERおよび
CHARLEIを結合し、したがつてネームテーブル
エントリ22および23を参照する。同様に命令
X2は変数DELTAおよびFOXを結合し、した
がつてネームテーブルエントリ24および25を
参照する。また同様に命令X3は変数EASYを定
数と結合し、したがつてネームテーブルエントリ
26を参照する。
好ましくはXコード命令は、可能なときはいつ
でも指標付けされている変数の対を結合するよう
に発生される。たとえば、代入文10において合
計4つの指標付き変数が存在し、そのうちの1つ
の対は命令X1によつて結合され、また他の対は
命令X2によつて結合される。また命令X2にお
いて参照される指標付き変数の対は、それらが文
10において指標付きでない変数EASYおよび定
数「5」によつて分離されていても結合される。
上述の説明から、各Xコード命令が、2つのア
イテムが結合されて別のアイテムとして記憶され
る、および各アイテムがネームテーブルエントリ
または一時的な記憶位置または定数に対する参照
であつてもよい、非常に規則的なフオーマツトを
有するということが明らかである。適宜に、特定
のアイテムの特徴は、アイテムに対する識別子ビ
ツトを含むことによつてXコード命令において示
される。また適宜に、ネームテーブルエントリを
参照するXコード命令におけるアイテムは、その
アイテムの一部として所望のエントリの記憶位置
を含むことによつて示される。
コンパイラ13によつて実行される上述したス
テツプおよびシーケンスのすべては、第3図のフ
ローチヤートに非常に詳細に示されている。第1
のステツプとして、コンパイラ13は、コンピユ
ータ11にソースコードから文を読出すように指
示する。このステツプは、参照数字41によつて
示される。その後コンパイラは、コンピユータ1
1に、変数または文の末尾のいずれかが検出され
るまで読出された文をスキヤンするように指示す
る。このステツプは、参照数字42によつて示さ
れる。
変数が検出されると、コンパイラ13は、コン
ピユータ11に、ネームテーブルをスキヤンして
同一の変数が以前にエントリを割当てられたかど
うかを決定するように指示する。もし既にエント
リが存在すれば、コンパイラ13は、コンピユー
タ11に、他の変数に対する文をスキヤンし続け
るように指示する。これらのステツプは、参照数
字43および44によつて示される。
一方、もし変数がネームテーブルにエントリを
持たなければ、コンパイラ13は、コンピユータ
11に、エントリを発生するように指示する。こ
の処理の一部として、コンパイラ13は、コンピ
ユータ11に、変数が指標付けされているかどう
かを決定するように指示する。もし変数が指標付
けされていなければ、そのときはコンパイラ13
は、コンピユータ11に、アドレスが変数それ自
身のものでありかつコードが値00を有するコー
ド・アドレス対を発生するように指示する。この
ステツプは、参照数字45および46によつて示
される。
しかしもし変数が指標付けされておれば、コン
パイラ13は、コンピユータ11に、実行される
ときに指標付き変数のアドレスを計算するYコー
ドまたはZコード命令を発生するように指示す
る。またコンパイラ13は、コンピユータ11
に、アドレスがYコードまたはZコード命令の開
始アドレスでありかつコードが値11を有するコ
ード・アドレス対を発生するように指示する。こ
のステツプは、参照数字47および48によつて
示される。
すべての上述のステツプは、処理されている文
の末尾が検出されるまで反復形式で繰返される。
文の末尾が検出されると、コンパイラ13は、コ
ンピユータ11に、文を再スキヤンして指標付き
変数の対を検出するように指示する。このステツ
プは、参照数字49によつて示される。
指標付き変数の対が検出されると、コンパイラ
13は、コンピユータ11に、代入文によつて命
令された方法でこれらの変数を結合しその結果を
一時的に記憶するXコード命令を発生するように
指示する。その後コンピユータ11は、指標付き
変数の他の対が検出される(この場合において他
のXコード命令が発生されて指標付き変数のこの
対を結合する)まで、または文の末尾が検出され
るまで、その文をスキヤンし続ける。これらのス
テツプは参照数字50および51によつて示され
る。
文の末尾が検出されると、コンパイラ13は、
コンピユータ11に、任意の一時的に記憶された
結果を文における任意の指標付きでない変数およ
び定数と結合するXコード命令を発生するように
指示する。この結合は2つのアイテムにより一時
に実行され、それによつて各Xコード命令のフオ
ーマツトは規則的なまま残る。次に最後のXコー
ド命令は、新たな値を指定されている変数のアド
レスでその最終結果を記憶する。このステツプ
は、参照数字52によつて示される。
その後コンパイラ13は、コンピユータ11
に、高レベルのソーソ言語において処理されるよ
うにのこつてる他の文が存在するかどうかを決定
するように指示する。もし他の文が残つておれ
ば、全シーケンスが繰返され、そうでなければコ
ンパイル処理は終了する。このステツプは、参照
数字53によつて示される。
上述したステツプを実行するためのコンパイラ
のコンピユータリストは、本願明細書第43頁ない
し第46頁に表1として示されている。このコンパ
イラは準アルゴン言語で書かれており、機械読取
可能な形式で、磁気デイスクのようなメモリ20
に記憶され、そこから必要に応じコンピユータ1
1に読出される。メモリ20にコンパイラを記憶
するための適当な方法が、米国特許第3108261号
および4007335号および4234897号に説明されてい
る。
ここで第4図を参照して、コンパイルされた低
レベルのXコード、Yコード、およびZコード命
令を実行するためのコンピユータシステムの好ま
しい一実施例を説明する。このコンピユータに
は、4つのプロセツサPX、PYZ1、PYZ2、およびPX
が含まれており、これらのすべてはバス60およ
び61の対を通じてシステムとして相互接続され
る。特定的に、バス60は、プロセツサPYZ1およ
びPYZ2上の各出力ポート62および63をプロセ
ツサPX上の入力ポート64に相互接続し、一方
バス61は、プロセツサPX上の出力ポート65
をプロセツサPYZ1、PYZ2、およびPX′上の各入力
ポート66,67および68に相互接続する。
好ましくは、入力ポート64および68の各々
は、バス60および61からの数個のメツセージ
をバツフアするための待ち行列を含む。
第4図のデイジタルコンピユータにはまた、メ
モリ70〜76が含まれる。メモリ70はXコー
ド命令を含み、プロセツサPXに接続される。メ
モリ71および72はそれぞれ、Yコードおよび
Zコード命令を含み、プロセツサPYZ1に接続され
る。同様にメモリ73および74はそれぞれ、Y
コードおよびZコード命令を含み、プロセツサ
PYZ2に接続される。
メモリ75はネームテーブルを含み、各バスを
通じてプロセツサPX、PYZ1およびPYZ2に接続され
る。また最後にメモリ76はデータを含み、各バ
スを通じてプロセツサPYZ1、PYZ2、およびPX′に
接続される。メモリ70〜76とプロセツサとの
間のすべての上述のバスは、単に矢印に付いたラ
インとして第4図に示されている。
適宜に、各プロセツサPX、PYZ1、PYZ2、および
PX′は「相互接続マトリクスを有するデイジタル
装置」という名称の米国特許第4327355号に示さ
れる型式のものであつてもよく、また1979年10月
24日に出願された「プログラマブル構造を有する
デイジタルコンピユータ」という名称の係属中の
特許出願番号第087666号において説明された型式
のものであつてもよく、両出願はいずれも本願の
譲受人に譲渡されている。また適宜に、メモリ7
0〜77の各々は、本願の譲受人に譲渡されてい
る「安定化サブストレートバイアスおよび低スレ
ツシヨルド狭幅転送ゲートを有するRAM」とい
う名称の米国特許第4262298号に説明された型式
のものであつてもよい。
プロセツサPXおよびPX′は、各Xコード命令の
実行を共用するために、分離された各時間間隔の
間に動作する。これに対し、プロセツサPYZ1およ
びPYZ2は、プロセツサPXおよびPX′が動作する時
間間隔の間に並列に動作して、各Yコードおよび
Zコード命令を実行する。ここで第5A図および
第5B図を参照して、この動作をより詳細に説明
する。
第5A図および第5B図は、数個の行および列
を有する図表の形式に書かれている。各行はそれ
ぞれ時間間隔を表わし、t1,t2,…t40の
記号が付けられている。また4つの列はIPX
IPYZ1、IPYZ2、およびIPX′の記号が付けられてお
り、種々の時間間隔の間にプロセツサPX、PYZ1
PYZ2、およびPX′によつてそれぞれ実行される低
レベル言語の命令を示す。これらの列の隣には、
この低レベル言語の命令がいかに実行されるかと
いうことを示す他の4つの列が存在する。
第5A図および第5B図において、リストされ
ているXコード、Yコード、およびZコード命令
は、第2図における文10のコンパイル処理の間
に発生されたものである。第5A図および第5B
図を参照することによつて、プロセツサPXは時
間間隔t1〜t6の間にコンパイルされた命令X
1の一部を実行し、一方プロセツサPXは時間間
隔t11〜t16の間にその同一の命令の残りの
部分を実行するということがわかる。
一方、プロセツサPXおよびPX′がX1命令を処
理している時間間隔の間の時間に、プロセツサ
PYZ1およびPYZ2はYコードおよびZコード命令の
各組を実行する。特定的に、プロセツサPYZ1は時
間間隔t5〜t15の間に命令Y10〜Y20を
実行し、一方プロセツサPYZ2は時間間隔t7〜t
12の間に命令Z10〜Z15を実行する。
同様に、プロセツサPXは時間間隔t7〜t1
6の間に命令X2の一部を実行し、一方プロセツ
サPX′は時間間隔t24〜t30の間にその命令
の残りの部分を実行する。そしてプロセツサPX
およびPX′が命令X2を処理している時間間隔の
間の時間に、プロセツサPYZ1およびPYZ2は同時に
別々のYコードおよびZコード命令を実行する。
特定的に、プロセツサPYZ1は時間間隔t17およ
びt25の間に命令Y40〜Y48を実行し、一
方プロセツサPYZ2は時間間隔t14〜t29の間
に命令Z30〜Z40を実行する。
ここでプロセツサPX、PYZ1、PYZ2、および
PX′がXコード、Yコード、およびZコード命令
を実行するシーケンスを詳細に考察する。まず始
めに、時間間隔t1の間に、プロセツサPXは命
令X1を取出す。次に、時間間隔t2の間に、プ
ロセツサPXは、命令X1において参照される指
標付き変数B(J、I)のネームテーブルエント
リを取出す。その後時間間隔t3の間に、プロセ
ツサPXは、変数B(J、I)に対するネームテー
ブルエントリがコード11を持つていることを決定
し、したがつてプロセツサPXはプロセツサPYZ1
バス60を介して対応するネームテーブルエント
リアドレスを送る。
時間間隔t4の間に、プロセツサPYZ1はプロセ
ツサPXによつて送られたアドレスを受け、時間
間隔t5の間に、そのアドレスはプログラムカウ
ンタにロードされる。そのアドレスは命令Y10
のものであり、したがつてプロセツサPYZ1は次の
時間間隔t5の間に命令Y10を実行する。その
後、プロセツサPYZ1は、時間間隔t6〜t13の
間に命令Y11〜Y18を順に実行して、指標付
き変数B(J、I)のアドレスを計算する。
続く時間間隔t14の間に、プロセツサPYZ1
プロセツサPXに対し変数B(J、I)のアドレス
を送る。次に時間間隔t15の間に、プロセツサ
PYZ1は、プロセツサPXからの他のアドレスを受け
る準備ができている状態に戻る。
一方、時間間隔t4の間に戻つて、プロセツサ
PXは、変数C(K)のネームテーブルエントリを取
出すことによつて命令X1を実行し続ける。次
に、時間間隔t5の間に、プロセツサPXは、ネ
ームテーブルエントリがコード11を持つことを決
定し、したがつてプロセツサPYZ2に対しバス60
を介して対応するネームテーブルエントリアドレ
スを送る。
そのアドレスは時間間隔t5の間にプロセツサ
PYZ2によつて受取られ、時間間隔t6の間にその
プロセツサのプログラムカウンタにロードされ
る。次に時間間隔t7の間に、プロセツサPYZ2
アドレスされた命令を実行し、その命令は命令Z
10である。
その後時間間隔t8〜t10の間に、プロセツ
サPYZ2は、命令Z11〜Z13を順に実行し、指
標付き変数C(K)のアドレスを計算する。次に時間
間隔t11の間に、プロセツサPYZ2はプロセツサ
PX′に対し変数C(K)のアドレスを送り、また時間
間隔t12の間に、プロセツサPXから他のアド
レスを受ける準備ができている状態に戻る。
一方、時間間隔t5の間に戻つて、プロセツサ
PXは命令X1の処理を完了した。したがつて次
の時間間隔t6の間に、プロセツサPXは、プロ
セツサPX′に対しバス60を介して命令X1を転
送する。その後時間間隔t7の間に、プロセツサ
PXは、次のXコード命令の実行を開始する状態
に戻る。
プロセツサPX′は、時間間隔t6の間に、プロ
セツサPXから命令X1を受ける。しかしプロセ
ツサPX′は、プロセツサPYZ1またはプロセツサ
PYZ2のうちの一方がアドレスを受けるまで、命令
X1の実行を開始しない。このことは時間間隔t
11の間に起こり、そこにおいてはプロセツサ
PX′はプロセツサPYZ2から変数C(K)のアドレスを
受ける。
続く時間間隔t12の間に、プロセツサPX
データメモリ77から変数C(K)を取出し、また時
間間隔t13の間に、一時的レジスタR1にその
結果を記憶する。次に時間間隔t14の間に、プ
ロセツサPX′は、プロセツサPYZ1から変数B(J、
I)のアドレスを受ける。
時間間隔t15において、プロセツサPX′は変
数B(J、I)を取出す。次の時間間隔t16の
間に、プロセツサPX′は変数B(J、I)を受け、
それを変数C(K)に加え、またその結果をレジスタ
R1に記憶する。この加算処理は、時間間隔t6
の間にプロセツサPXからプロセツサPX′によつて
前もつて受取られたX1命令によつて特定され
る。
プロセツサPX′による加算処理によつて、命令
X1の実行は完了する。したがつて、次の時間間
隔t17の間に、プロセツサPX′は、プロセツサ
PXからの他のXコード命令を受ける準備ができ
ている状態に戻る。
一方、時間間隔t7の間に戻つて、プロセツサ
PXは、命令X2である次のXコード命令を取出
す。次に、時間間隔t8の間に、プロセツサPX
は変数FOX(I、J、K)のネームテーブルエン
トリを取出す。次に時間間隔t9の間に、プロセ
ツサPXは、取出したネームテーブルエントリを
調べ、それが11コードを持つていることを決定
し、そしてプロセツサPYZ1またはプロセツサPYZ2
のうちの1つに対しネームテーブルエントリのア
ドレス部分を送ることを試みる。
しかしながら、両プロセツサPYZ1およびプロセ
ツサPYZ2は時間間隔t9の間に各アドレスを計算
して既に使用中であるので、それらはプロセツサ
PXからのアドレスを受けるようにフリーではな
い。したがつて、プロセツサPXは、後続の時間
間隔の間にそのアドレスを送ることを再び試み
る。そして、時間間隔t12の間に、プロセツサ
PYZ2は変数C(K)のアドレスの計算を完了し、した
がつてプロセツサPXからネーテーブルエントリ
アドレスを受ける。その後、時間間隔t13の間
に、プロセツサPYZ2は、変数FOX(I、J、K)
のアドレスを計算するZコード命令にブランチす
る。プロセツサPYZ2は、時間間隔t14〜t27
の間にこれらの命令を実行する。次に時間間隔t
28の間に、プロセツサPYZ2は計算されたアドレ
スをプロセツサPX′に送り、また時間間隔t29
の間に、プロセツサPYZ2は、他のYコードまたは
Zコード命令の組の実行を開始する準備ができて
いる状態に戻る。
一方、時間間隔t13の間に戻つて、プロセツ
サPXは、変数D(I2−J+3)のネームテーブル
エントリを取出すことによつて、命令X2の実行
を続ける。その後時間間隔t14の間に、プロセ
ツサPXは、取出されたネームテーブルエントリ
が11コードを持つていることを決定し、したがつ
てプロセツサPYZ1またはプロセツサPYZ2のうちの
一方に対しネームテーブルエントリアドレスを送
ることを試みる。
いずれのプロセツサPYZ1またはプロセツサPYZ2
もフリーではなく、時間間隔t14の間にプロセ
ツサPXからのネームテーブルエントリアドレス
は許されないので、プロセツサPXは時間間隔t
15の間にそのネームテーブルエントリアドレス
を送ることを再び試みる。次に時間間隔t16の
間に、プロセツサPXはプロセツサPX′に命令X2
を送り、また時間間隔t17の間に、プロセツサ
PXは、他のXコード命令の実行を開始する状態
に戻る。
しかし時間間隔t16の間に、プロセツサPYZ1
は、プロセツサPXから受けたアドレスでのYコ
ード命令にブランチする。その後時間間隔t17
〜t23の間に、プロセツサPYZ1は、変数D(J2
−I+3)のアドレスを計算するYコード命令を
実行する。次に、次の2つの時間間隔の間に、プ
ロセツサPYZ1はプロセツサPX′に計算されたアド
レスを送り、プロセツサPXから他のアドレスを
受ける準備ができている状態に戻る。
一方、時間間隔t17の間に、プロセツサ
PX′は、プロセツサPXから前もつて受けたX2命
令の実行を開始する準備ができている。したがつ
て、プロセツサPX′は、命令X2において処理さ
れる変数のアドレスを受けるまで待機する。これ
らのアドレスのうちの1つが時間間隔t24の間
にプロセツサPYZ1によつて送られ、また他のアド
レスが時間間隔t28の間にプロセツサPYZ2によ
つて送られる。次にこれらのアドレスは、アドレ
スされた変数を取出し、かつX2命令に示される
ようにそれらの処理を実行するために、時間間隔
t25〜t30の間にプロセツサPX′によつて利
用される。
時間間隔t17の間に戻つて、プロセツサPX
は、命令X3を取出すことによつてその命令X3
の実行を開始する。次に時間間隔t18の間に、
プロセツサPXは変数EASYに対するネームテー
ブルエントリを取出し、また次の時間間隔の間
に、プロセツサPXは、ネームテーブルエントリ
におけるコードが00であるので、変数EASYが指
標付けされていないということを決定する。
その後時間間隔t20の間に、プロセツサPX
は命令X3における第2のアイテムを調べ、それ
が定数であることを決定する。したがつて、次の
時間間隔t21の間に、プロセツサPXは、プロ
セツサPXに対し変数EASYのアドレスとともに
それを送ることによつて、命令X3の処理を完了
する。
次に時間間隔t22の間に、プロセツサPX
命令X4の実行を開始する。時間間隔t23にお
いて、プロセツサPXは命令をデコードして、そ
の命令におけるアイテムT1またはT2のいずれも
ネームテーブルからの取出しを必要としないとい
うことを決定する。したがつて時間間隔t24の
間に、プロセツサPXはプロセツサPX′に命令X4
を送る。
次に時間間隔t25の間に、プロセツサPX
命令X5の実行を開始する。この実行は、変数
ABLEに対するネームテーブルエントリの取出し
を含み、これは時間間隔t26の間に起こる。時
間間隔t27の間に、プロセツサPXは、変数
ABLEのネームテーブルエントリとともにその命
令をプロセツサPX′に送ることによつて、命令X
5の実行を完了する。
一方時間間隔t31の間に、プロセツサPX′は
命令X5の実行を開始する。この実行は、時間間
隔t32の間に変数EASYを取出すこと、および
時間間隔t33の間に定数−5にその変数を加算
することからなる。
次に時間間隔t34の間に、プロセツサPX′は
命令X4の実行を開始する。この実行は、レジス
タR1およびR2に記憶されている2つの前もつ
て計算された中間結果の加算を含む。
その後時間間隔t36の間に、プロセツサPX
は、命令X5の実行を開始する。この実行は、レ
ジスタR1およびR3における中間結果を結合す
ること、およびその最終結果を変数ABLEに対応
するアドレスでデータメモリ77に記憶すること
を含む。
上述のシーケンスの変形として、代わりに定数
が指標付き変数であり、ネームテーブルエントリ
におけるコード11を有しているとする。この場合
においては、プロセツサPXは、ネームテーブル
エントリにおけるアドレスを、プロセツサPYZ1
たはプロセツサPYZ2のうちの一方に転送し、その
プロセツサは次に他の指標付き変数に関し上述し
たようにその指標付き変数のアドレスを計算す
る。
以上の説明から、第4図のデータ処理システム
は、第2図のオブジエクトコードを、第1図の対
応するオブジエクトコードが実行され得るよりも
実質的に速く実行するということは明らかであ
る。なぜならば、第4図の処理システムは、Yコ
ードおよびZコード命令を並列に実行する一方、
同時にXコード命令の実行をインターリーブして
いるからである。
第5図を参照すると、プロセツサPXは時間間
隔t1〜t27の間に第2図のオブジエクトコー
ドを実行するということがわかる。これは統計27
時間間隔であるが、これに対し第1図の対応する
オブジエクトコードはその実行のために総計47時
間間隔を必要とする。したがつてこの比較によつ
て、(47−27)÷27の改良が得られ、これは74パー
セントの改良である。
改良の他の測定として、第5図を調べると、プ
ロセツサPXは時間間隔t11〜t38の間に第
2図のオブジエクトコードを実行するということ
がわかる。これは総計28時間間隔である。したが
つてこの比較によつて、(47−28)÷28の改良が得
られ、これは69パーセントの改良である。
この発明の種々の好ましい実施例が詳細に説明
されてきた。しかしながら、多くの修正および変
更がこの発明の精神から逸脱することなくなされ
得る。したがつて、この発明は実施例に限定され
るものではなく、添付の特許請求の範囲によつて
のみ規定されるべきものであるということを理解
されたい。
【図面の簡単な説明】
第1図は、変換が先行技術のコンパイル処理に
よつて実行される場合の、比較的高レベルのソー
ス言語の文から比較的低レベルの言語命令への変
換を示すブロツク図である。第2図は、変換がこ
の発明により実行される場合の、高レベルのソー
ス言語の文から複数の比較的低レベルのオブジエ
クト言語の命令の組への変換を示すブロツク図で
ある。第2A図は、第2図のブロツク図の一部を
示すブロツク図である。第2B図は、第2図のブ
ロツク図の一部を示すブロツク図である。第3図
は、第2図の言語変換処理の主要ステツプを示す
フローチヤートである。第3A図は、第3図のフ
ローチヤートの一部を示すフローチヤートであ
る。第3B図は、第3図のフローチヤートの一部
を示すフローチヤートである。第4図は、インタ
ーリーブされた並列形式で、第2図の処理によつ
て発生される複数の低レベルの言語の命令の組を
実行するための、この発明により構成されたデイ
ジタルコンピユータシステムを示す。第5図は、
第4図のシステムにおける各プロセツサが第2図
の処理によつて発生される複数の命令の組におけ
る種々の命令を実行するシーケンスを示すブロツ
ク図である。第5A図は、第5図のブロツク図の
一部を示すブロツク図である。第5B図は、第5
図のブロツク図の一部を示すブロツク図である。
第5C図は、第5図のブロツク図の一部を示すブ
ロツク図である。 図において、10は文、11はデイジタルコン
ピユータ、13はコンパイラプログラム、14,
20,70〜76はメモリ、21は新規なコンパ
イラプログラム、22〜29はエントリ、60,
61はバスをそれぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 1 代入文からなるプログラムをコンパイルし、
    かつ第1の命令の組を第2および第3の命令の組
    とインターリーブ態様で実行するためのデイジタ
    ルコンピユータであつて、前記第2および第3の
    命令の組は同時に実行され、 前記プログラムにおける各代入文を読出し、ネ
    ームテーブルと、第1、第2および第3の組の命
    令とを格納する読出/格納手段を備え、前記ネー
    ムテーブルは前記第1、第2および第3の組の命
    令を格納するメモリ手段の各項目の位置を示す複
    数のエンコードされたアドレスと関連のコードビ
    ツトとを含み、前記コードビツトの少なくとも1
    つの値は関連のアドレスが前記第2および第3の
    組に含まれる命令のアドレスであることを示す予
    め定められたコードを示し、前記第1の組の前記
    命令は前記ネームテーブルのエンコードされたア
    ドレスを参照する命令を含み、かつ前記第2およ
    び第3の組の命令は変数のアドレスを計算する命
    令であり、 前記読出/格納手段による前記プログラムのす
    べての代入文に対する前記第1、第2および第3
    の組の命令の前記メモリ手段への格納の後、前記
    第1の組の命令を前記メモリ手段からフエツチ
    し、該フエツチされた命令が、共に前記予め定め
    られたコードに関連する2つのエンコードされた
    アドレスを参照しているか否かを判別するための
    第1の処理手段、 前記参照された2つのエンコードされたアドレ
    スが前記予め定められたコードを共に有している
    ときには、前記第1の処理手段による前記第1の
    組の前記フエツチされた命令の処理を一時的に中
    断させる中断手段、 前記予め定められたコードを有する前記2つの
    エンコードされたアドレスのアドレスビツトが示
    す前記第2および第3の組の命令を第2および第
    3の処理手段で並列に実行して2つの変数のアド
    レスを計算するため、前記2つのエンコードされ
    たアドレスを前記第2および第3の処理手段へ転
    送する転送手段、および 前記第2および第3の処理手段による前記第2
    および第3の組の命令の同時実行の後、前記フエ
    ツチされた命令により特定された数学的演算を前
    記第2および第3の処理手段により計算されたア
    ドレスにより示される2つの変数に対して施すこ
    とにより、前記第1の組の前記フエツチされた命
    令の処理を続行するための処理続行手段を備え
    る、デイジタルコンピユータ。 2 前記第1の処理手段、前記中断手段、前記第
    2および第3の処理手段、並びに前記処理続行手
    段を直列に結合するための1対の互いに独立なバ
    ス手段をさらに含む、特許請求の範囲第1項記載
    のデイジタルコンピユータ。 3 前記2つのエンコードされたアドレスに関連
    する前記コードビツトが前記予め定められたコー
    ドと異なり、各エンコードされたアドレスが直接
    前記メモリ手段における前記2つの変数の位置を
    表していることを示す別のコードの場合には、前
    記第2および第3の組の命令の実行をバイパスし
    かつ前記第1の組の前記フエツチされた命令の処
    理に対する中断を禁止するための手段をさらに備
    える、特許請求の範囲第1項記載のデイジタルコ
    ンピユータ。 4 前記第2および第3の処理手段は、前記2つ
    の変数のアドレスとして指標付変数のアドレスを
    計算するための手段を含む、特許請求の範囲第1
    項記載のデイジタルコンピユータ。 5 前記指標付変数は、A(I)の形を有し、ここで
    A( )はリストを示し、A(I)はリストにおける
    指標IにあるI番目の項目を示し、またはA(I1、
    I2、…IN)の形を有し、ここでA( 、 、…)
    はN次元のマトリクスを示し、A(I1、I2、…
    IN)は該マトリクスにおける指標I1ないしINの
    特定の項目を示し、またはA(f(I))の形を有し、
    ここでA(f( ))は指標付項目の組を示し、f
    (I)は該組の指標IにあるI番目の項目を識別する
    式を示す、特許請求の範囲第4項記載のデイジタ
    ルコンピユータ。 6 代入文からなるプログラムをコンパイルし、
    かつ第1および第2の命令の組をインターリーブ
    態様で実行するためのデイジタルコンピユータで
    あつて、 前記プログラムにおける各代入文を読出し、ネ
    ームテーブルと、第1、第2および第3の組の命
    令を格納する格納手段を備え、前記ネームテーブ
    ルは、前記第1、第2および第3の組の命令を格
    納するメモリにおける各項目の位置を示す複数の
    エンコードされたアドレスと関連のコードビツト
    とを含み、前記コードビツトは関連の項目が変数
    であることを示す第1の予め定められたコード
    と、関連のアドレスが前記第2および第3の組の
    命令のアドレスであることを示す第2の予め定め
    られたコードとを含み、前記第1の予め定められ
    たコードと前記第2の予め定められたコードとは
    互いに異なる値を有し、前記第1の組の命令は前
    記ネームテーブル内のエンコードされたアドレス
    を参照する命令を含み、かつ前記第2および第3
    の組の命令は変数のアドレスを算出する命令であ
    り、 前記プログラムのすべての代入文に対する前記
    第1、第2および第3の組の命令が前記メモリ内
    に格納された後、前記第1の組の命令を前記メモ
    リからフエツチし、かつ前記ネームテーブルを参
    照して、前記第2および第3の組内の命令のアド
    レスを求め、かつ該フエツチされた命令が前記第
    1および第2の予め定められたコードにそれぞれ
    関連する2つのエンコードされたアドレスを参照
    しているか否かを判別する第1の処理手段、 前記2つのエンコードされたアドレスが前記第
    1および前記第2の予め定められたコードを有し
    ている場合には、前記フエツチされた命令の処理
    を一時的に中断させるための中断手段、 前記エンコードされたアドレスを受け、前記第
    2の予め定められたコードを有するエンコードさ
    れたアドレスにより位置の示された前記第2の組
    の命令を並列に実行して変数のアドレスを並列に
    計算するための第2および第3の処理手段、およ
    び 前記第1の処理手段からの前記第1の組の前記
    フエツチされた命令と前記第2および第3の処理
    手段から該計算された変数のアドレスとを受け、
    前記第2の組の前記命令の実行の後、前記フエツ
    チされた命令により特定された数学的演算を前記
    計算されたアドレスに従つて求められた前記変数
    に施すことにより前記第1の組の前記フエツチさ
    れた命令に対する処理を続行し、これにより前記
    第1の組のフエツチされた命令を実行するための
    第4の処理手段を備える、デイジタルコンピユー
    タ。 7 前記第1の処理手段、前記中断手段、前記第
    2および第3の処理手段、および前記第4の処理
    手段を直列に結合する1対の互いに独立なバス手
    段をさらに備える、特許請求の範囲第6項記載の
    デイジタルコンピユータ。 8 前記第2および第3の処理手段は、前記変数
    のアドレスとして指標付変数のアドレスを計算す
    る手段を含む、特許請求の範囲第6項記載のデイ
    ジタルコンピユータ。 9 前記指標付変数はA(I)の形を有し、ここでA
    ( )はリストを示し、A(I)は該リストの指標
    にある番目の項目を表し、またはA(I1、I2、
    …IN)の形を有し、ここでA( 、 、…)はN
    次元マトリクスを示し、かつ(I1、I2、…IN)
    は該マトリクスにおける指標I1ないしINの特定
    の項目を示し、またはA(f(I))の形を有し、こ
    こでA(f( ))は指標付項目の組を表し、f(I)
    は該組の指標IにあるI番目の項目を識別する式
    を示す、特許請求の範囲第8項記載のデイジタル
    コンピユータ。
JP58127524A 1982-07-14 1983-07-12 ディジタルコンピュータ Granted JPS5998255A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/398,195 US4484272A (en) 1982-07-14 1982-07-14 Digital computer for executing multiple instruction sets in a simultaneous-interleaved fashion
US398195 1982-07-14

Publications (2)

Publication Number Publication Date
JPS5998255A JPS5998255A (ja) 1984-06-06
JPH0441378B2 true JPH0441378B2 (ja) 1992-07-08

Family

ID=23574376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58127524A Granted JPS5998255A (ja) 1982-07-14 1983-07-12 ディジタルコンピュータ

Country Status (5)

Country Link
US (1) US4484272A (ja)
EP (1) EP0099263B1 (ja)
JP (1) JPS5998255A (ja)
CA (1) CA1193740A (ja)
DE (1) DE3379122D1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862351A (en) * 1983-09-01 1989-08-29 Unisys Corporation Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same
US4811243A (en) * 1984-04-06 1989-03-07 Racine Marsh V Computer aided coordinate digitizing system
US5142681A (en) * 1986-07-07 1992-08-25 International Business Machines Corporation APL-to-Fortran translators
US4825360A (en) * 1986-07-30 1989-04-25 Symbolics, Inc. System and method for parallel processing with mostly functional languages
JP3053092B2 (ja) * 1987-06-05 2000-06-19 株式会社日立製作所 並列化コンパイル方法
US5111389A (en) * 1987-10-29 1992-05-05 International Business Machines Corporation Aperiodic mapping system using power-of-two stride access to interleaved devices
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5347639A (en) * 1991-07-15 1994-09-13 International Business Machines Corporation Self-parallelizing computer system and method
US5408658A (en) * 1991-07-15 1995-04-18 International Business Machines Corporation Self-scheduling parallel computer system and method
US5867727A (en) * 1992-06-24 1999-02-02 Fujitsu Limited System for judging read out transfer word is correct by comparing flag of transfer word and lower bit portion of read destination selection address
US5699536A (en) * 1995-04-13 1997-12-16 International Business Machines Corporation Computer processing system employing dynamic instruction formatting
US5930490A (en) * 1996-01-02 1999-07-27 Advanced Micro Devices, Inc. Microprocessor configured to switch instruction sets upon detection of a plurality of consecutive instructions
US6842853B1 (en) * 1999-01-13 2005-01-11 Sun Microsystems, Inc. Thread suspension system and method
US20070005942A1 (en) * 2002-01-14 2007-01-04 Gil Vinitzky Converting a processor into a compatible virtual multithreaded processor (VMP)
WO2004049152A1 (en) * 2002-11-26 2004-06-10 Mplicity Ltd. A processor capable of multi-threaded execution of a plurality of instruction-sets
US7500210B2 (en) * 2006-11-15 2009-03-03 Mplicity Ltd. Chip area optimization for multithreaded designs
US20090044159A1 (en) * 2007-08-08 2009-02-12 Mplicity Ltd. False path handling
US8370820B2 (en) * 2009-10-20 2013-02-05 Guenthner Cynthia S Method and apparatus for enabling parallel processing during execution of a Cobol source program using two-stage compilation
US10318904B2 (en) 2016-05-06 2019-06-11 General Electric Company Computing system to control the use of physical state attainment of assets to meet temporal performance criteria

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623022A (en) * 1969-12-29 1971-11-23 Ibm Multiplexing system for interleaving operations of a processing unit
CA991751A (en) * 1971-07-30 1976-06-22 Western Electric Company, Incorporated Parallel element processing ensembles
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
JPS5390840A (en) * 1977-01-21 1978-08-10 Mitsubishi Electric Corp Arithmetic processor of microprogram control
JPS55159264A (en) * 1979-05-28 1980-12-11 Mitsubishi Electric Corp Computer processing system
US4346438A (en) * 1979-10-24 1982-08-24 Burroughs Corporation Digital computer having programmable structure
JPS56168272A (en) * 1980-05-29 1981-12-24 Fujitsu Ltd Parallel processing system for program of information processor
US4430708A (en) * 1981-05-22 1984-02-07 Burroughs Corporation Digital computer for executing instructions in three time-multiplexed portions

Also Published As

Publication number Publication date
EP0099263A2 (en) 1984-01-25
EP0099263A3 (en) 1986-11-26
DE3379122D1 (en) 1989-03-09
CA1193740A (en) 1985-09-17
US4484272A (en) 1984-11-20
EP0099263B1 (en) 1989-02-01
JPS5998255A (ja) 1984-06-06

Similar Documents

Publication Publication Date Title
JPH0417463B2 (ja)
JPH0441378B2 (ja)
US4344134A (en) Partitionable parallel processor
US5197137A (en) Computer architecture for the concurrent execution of sequential programs
EP3407182B1 (en) Vector computing device
US6272596B1 (en) Data processor
JPH0636515B2 (ja) 通信プロセッサ装置
KR20200031150A (ko) 데이터 처리장치의 데이터 항목들 내의 성분들의 계수
JP2898105B2 (ja) コンパイル中にソフトウェア・スケジューリング技術を用いてハードウェアのパイプライン処理の中断を最小化する方法
US6175935B1 (en) Software debugging method and recording medium to which debugging program has been recorded
US4430708A (en) Digital computer for executing instructions in three time-multiplexed portions
US6275984B1 (en) System and method for delaying indirect register offset resolution
US5099450A (en) Computer for reducing lambda calculus expressions employing variable containing applicative language code
US4616315A (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4598361A (en) Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
JPS5815810B2 (ja) デジタル処理装置
JP3278441B2 (ja) ベクトル処理装置
JPS63261430A (ja) 情報処理方式および装置
Haynes The architecture of an ALGOL 60 computer implemented with distributed processors
JPS5822452A (ja) 命令先取り制御方式
Kapps SPRINT: a direct approach to list processing languages
JPH08328871A (ja) 並列処理プログラム生成方法及びその実行方法並びにそれらの実施装置
JPH04266140A (ja) アドレス変換バッファ装置
JPS58159149A (ja) 命令コ−ド変換方式
JPS59501133A (ja) 多重処理エレメントのための従属自由コ−ドを発生する機構