JPH01123328A - Computer system - Google Patents

Computer system

Info

Publication number
JPH01123328A
JPH01123328A JP28250387A JP28250387A JPH01123328A JP H01123328 A JPH01123328 A JP H01123328A JP 28250387 A JP28250387 A JP 28250387A JP 28250387 A JP28250387 A JP 28250387A JP H01123328 A JPH01123328 A JP H01123328A
Authority
JP
Japan
Prior art keywords
variable
memory
program
control processor
data
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
JP28250387A
Other languages
Japanese (ja)
Inventor
Hajime Seki
一 関
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP28250387A priority Critical patent/JPH01123328A/en
Publication of JPH01123328A publication Critical patent/JPH01123328A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To attain a high-speed parallel arithmetic by executing a data driving type operation with a processing unit independently of a processing to read a program described in an inverse Polish format and update a using variable table. CONSTITUTION:The data driving type operation is executed with a processing unit 5 independently of the processing to read the program described in the inverse Polish format and update the using variable table 31. Namely, the program described in the inverse Polish notation is read successively, and concerning each variable in the read program, items such as the transfer destination of the value of the variable are written for each variable to be used in an already constructed using variable table 31. Thereafter, the operation is executed to a memory device 1, which is provided corresponding to plural processor units, with a data driving format, in parallel with the writing of a variable operation expression, and a high-speed parallel action is executed.

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする問題点問題点を解
決するための手段 作用 実施例 発明の効果 〔概要〕 逆ポーランド形式で記述されたプログラムを逐次的に読
み出し、データ駆動形式で実行する計算機方式に関し、 逆ポーランド形式で記述されたプログラムをデータ駆動
により並列に実行することを目的とし、逆ポーランド形
式に記述されたプログラムとデータを保持するメモリと
、該プログラムを実行順に取り出して、従制御プロセッ
サに入力する主制御プロセッサと、上記入力されたプロ
グラムの変数毎に、アドレス、値、識別番号9種々の状
態を示すフラグ、該変数の値を送信する際の宛先等を保
持する使用変数テーブルを連想記憶の形で持ち、該プロ
グラムが逐次的に読み出か#れる毎に、該使用変数テー
ブルの必要項目を書き込む従制御プロセッサと、上記主
制御プロセッサで取り出された演算命令を格納する連想
記憶機能を有する記憶装置と、該記憶装置に、データが
到着し演算可能となった段階で、該演算命令の実行をプ
ロセッシングユニットに委譲する手段とを設け、上記逆
ポーランド形式に記述されたプログラムを読み出し、上
記使用変数テーブルを更新する処理とは独立に該プロセ
ッシングユニットでデータ駆動的な演算を行うように構
成する。
[Detailed description of the invention] [Table of contents] Overview Industrial field of application Prior art and problems to be solved by the invention Means for solving the problems Actions Examples Effects of the invention [Summary] In reverse Polish format Regarding a computer method that reads a written program sequentially and executes it in a data-driven format, the purpose is to execute a program written in a reverse Polish format in parallel in a data-driven manner. a memory that holds data; a main control processor that takes out the program in execution order and inputs it to a slave control processor; and a flag indicating an address, value, and identification number 9 various states for each variable of the input program; A slave control that has a used variable table in the form of an associative memory that holds the destination etc. when transmitting the value of the variable, and writes necessary items in the used variable table every time the program is sequentially read or #. a processor; a storage device having an associative memory function for storing the arithmetic instructions retrieved by the main control processor; and a processing unit that executes the arithmetic instructions when data arrives at the storage device and becomes operable. The processing unit is configured to read the program written in the reverse Polish format and perform data-driven calculations in the processing unit independently of the process of updating the used variable table.

〔産業上の利用分野〕[Industrial application field]

本発明は、逆ポーランド形式で記述されたプログラムを
逐次的に読み出し、データ駆動形式で実行する計算機方
式に関する。
The present invention relates to a computer system that sequentially reads a program written in reverse Polish format and executes it in a data-driven format.

一般に、フォートラン(FORTRAN)等の高級言語
で記述されたプログラムは、コンパイラ等において、木
構造、又は逆ポーランド形式の中間言語プログラムに変
換された後、逐次形の目的プログラムに変換されて、逐
次形の所謂ノイマン型の計算機システムで実行される。
Generally, a program written in a high-level language such as FORTRAN is converted into a tree-structured or reverse-Polish intermediate language program by a compiler, etc., and then converted into a sequential object program. It is executed on a so-called Neumann type computer system.

一方、効率の良い並列計算方式として、データ駆動型の
計算方式が知られている。
On the other hand, a data-driven calculation method is known as an efficient parallel calculation method.

上記逆ポーランド形式等で記述されたプログラムを、デ
ータ駆動形式で並列に実行できる計算機方式が実現でき
れば、従来のノイマン方式で使用できる高級言語レベル
において互換性を保った侭、高速な並列計算機方式の実
現が期待できる。
If a computer system that can execute programs written in the above-mentioned reverse Polish format etc. in parallel in a data-driven format can be realized, it would be possible to maintain compatibility at the high-level language level that can be used with the conventional Neumann system, and to create a high-speed parallel computer system. We can expect this to come true.

〔従来の技術と発明が解決しようとする問題点〕第4図
は従来の計算機方式を説明する図である。
[Prior art and problems to be solved by the invention] FIG. 4 is a diagram illustrating a conventional computer system.

本図の(a)で示したノイマン方式においては、個々の
計算機システムが有する固有の命令セットの連鎖として
書かれ、主記憶装置(MS)上に格納されたプログラム
を中央処理装置(CPU)が逐次的に実行するものであ
る。
In the Neumann method shown in (a) of this figure, a central processing unit (CPU) executes a program written as a chain of instruction sets specific to each computer system and stored on the main memory (MS). It is executed sequentially.

従って、この方式では、逐次的に命令をこなすことによ
る中央処理装置(CPtl)と主記憶装置(MS)との
間等での通信制御の単純さが利点であるが、この方式を
採用すると、バイブライン方式と云った、多少工夫をし
た並列動作を行うにしても、現状以上の大幅な高速化は
最早望めない。
Therefore, the advantage of this method is the simplicity of communication control between the central processing unit (CPtl) and the main memory (MS) by sequentially executing commands, but if this method is adopted, Even if parallel operation is implemented with some innovation, such as the Vibrine method, it is no longer possible to expect a significant increase in speed beyond the current level.

又、(bl)、 (b2)図に示すような、マルチプロ
セッサシステム、或いはアレイプロセッサシステムは、
多数のプロセッサを同時に動作させようとするものであ
るが、ジョブの内容、プログラムの構成等によって効率
が大きく左右される。
In addition, a multiprocessor system or an array processor system as shown in figures (bl) and (b2),
Although it attempts to operate a large number of processors at the same time, efficiency is greatly affected by the content of the job, the structure of the program, etc.

つまり、計算機の構成を十分考慮してプログラムを作成
しなければ効率が上がらないと云う問題がある。
In other words, there is a problem in that efficiency cannot be improved unless the program is created with sufficient consideration given to the configuration of the computer.

この為、経済的な見地から汎用には向かないと云う問題
があった。
For this reason, there was a problem in that it was not suitable for general use from an economic standpoint.

一方、(c)図にプログラムの一例を示したデータフロ
一方式の場合は、処理をデータの流れによって行い、異
なるデータの流れが交わる節(ノード)(α1.α2.
・−・)において演算を定義し実行する方式である為、
プログラマがハードウェアの構成を意識しなくても、自
動的に効率の良い並列動作が期待できるものであるが、
プログラムがデータフロー図の節点を規定することによ
り得られるものである為、従来のノイマン方式のプログ
ラムの場合とは全く異なるものとなり、プログラムの資
産の継承に問題がある。
On the other hand, in the case of the data flow one-way system, an example of which is shown in figure (c), processing is performed by data flows, and there are nodes (α1, α2, etc.) where different data flows intersect.
Since it is a method of defining and executing operations in ),
Although it is expected that efficient parallel operation will occur automatically without the programmer being aware of the hardware configuration.
Since the program is obtained by defining the nodes of the data flow diagram, it is completely different from the conventional Neumann program, and there is a problem in inheritance of program assets.

更に、逐次的にしか実行できない計算においては、ノイ
マン方式に劣るばかりか、データ (変数)の送出先を
一々検索する必要があるため高度な並列計算の場合には
、これが隘路となる問題があった。
Furthermore, in calculations that can only be executed sequentially, it is not only inferior to the Neumann method, but also requires searching for each data (variable) destination one by one, which poses a problem in highly parallel calculations. Ta.

本発明は上記従来の欠点に鑑み、逆ポーランド形式で記
述されたプログラムを逐次的に読み出し、該読み出した
プログラムの中の各変数について、既に構築されている
使用変数テーブルへ、使用される変数毎にその値の転送
先等の項目を書き込み、複数個のプロセッサユニットに
対応して設けられている記憶装置に、該変数の演算式を
書き込むのと平行して、データ駆動形式による演算を実
行することで、高速な並列演算を行う計算機方式を提供
することを目的とするものである。
In view of the above conventional drawbacks, the present invention sequentially reads a program written in reverse Polish format, and stores each variable in the used variable table that has already been constructed for each variable in the read program. Writes items such as the destination of the value, and executes data-driven calculations in parallel with writing the arithmetic expression for the variable into the storage device provided corresponding to the plurality of processor units. The aim is to provide a computer system that can perform high-speed parallel operations.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は本発明の計算機方式の動作原理を説明する図で
あって、上記の問題点は、 逆ポーランド形式に記述されたプログラムと。
FIG. 1 is a diagram explaining the operating principle of the computer system of the present invention, and the above-mentioned problems arise when a program is written in reverse Polish format.

データを保持するメモリ 1と、 該プログラムを順次取り出して、従制御プロセンサ3に
入力する主制御プロセッサ2と、上記入力されたプログ
ラムの変数毎に、アドレス、値9種々の状態を示すフラ
グ、該変数の値を送信する際の宛先を保持する使用変数
テーブル31を連想記憶の形で持ち、該プログラムをデ
ータ駆動の形式で実行できるように、該使用変数テーブ
ル31を更新する従制御プロセッサ3と、上記主制御プ
ログラムで取り出された演算命令を格納する連想記憶機
能を有するローカルメモリ4と、 該ローカルメモリ4に、データが揃った段階で、該演算
の実行をプロセッシングユニット5に委譲する手段とを
設け、 上記逆ポーランド形式に記述されたプログラムを読み出
し、上記使用変数テーブル31を更新する処理とは独立
に、該プロセッシングユニット5でデータ駆動的な演算
を行うように構成することで解決される。
A memory 1 that holds data; a main control processor 2 that sequentially retrieves the program and inputs it to the slave control processor 3; and a memory 1 that sequentially retrieves the program and inputs it to the slave control processor 3; A slave control processor 3 has a variable-to-use table 31 in the form of an associative memory that holds destinations for sending variable values, and updates the variable-to-use table 31 so that the program can be executed in a data-driven manner. , a local memory 4 having an associative memory function for storing arithmetic instructions retrieved by the main control program; and means for delegating the execution of the arithmetic operation to the processing unit 5 when the local memory 4 has all the data. The problem can be solved by configuring the processing unit 5 to read the program written in the reverse Polish format and perform data-driven calculations independently of the process of updating the used variable table 31. .

〔作用〕[Effect]

一般に、計算機のプログラムは意図された問題を解決す
る手順を表現したものであるが、従来のノイマン方式に
おいては、該演算の引数(オペランド)と、その結果と
を区別する指標をもっていない為、中央処理装置(CP
U)において、上記問題解決手順を実現する為には、プ
ログラムを逐次的に実行するしかなく、計算の高速化は
、アーキテクチュアの上では、前述のように、主にパイ
プライン化に頬るしがなかった。
Generally, a computer program expresses a procedure for solving an intended problem, but in the conventional Neumann method, there is no index to distinguish between the arguments (operands) of the operation and the result, so the central Processing equipment (CP
In U), the only way to achieve the above problem solving procedure is to execute the program sequentially, and in terms of architecture, as mentioned above, the speed up of calculations mainly depends on pipelining. There was no.

そこで、本発明による計算機方式においては、逆ポーラ
ンド記法で記述されたプログラムを逐次的に読み出し、
該読み出したプログラムの中の各変数について、既に構
築されている使用変数テーブルへ、使用される変数毎に
その値の転送先等の項目を書き込み、複数個のプロセッ
サユニットに対応して設けられている記憶装置に、該変
数の演算式を書き込むのと並行して、データ駆動形式に
より演算を実行することにより、高速な並列動作を行う
ようにしている。
Therefore, in the computer method according to the present invention, a program written in reverse Polish notation is read out sequentially,
For each variable in the read program, write items such as the destination of the value for each variable used in the used variable table that has already been constructed. In parallel with writing the arithmetic expression of the variable into the storage device, the arithmetic operation is executed in a data-driven format, thereby achieving high-speed parallel operation.

以下に、演算部における本発明の計算機方式の作用、動
作を説明する。
The function and operation of the computer system of the present invention in the arithmetic unit will be explained below.

第1図(b)は使用変数テーブル31であって、連想記
憶機能を備えたメモリである。
FIG. 1(b) shows a used variable table 31, which is a memory equipped with an associative memory function.

木使用変数テーブル31において、rOBJ J欄は、
上記メモリ1から読み出された逆ポーランド記法で記述
されたプログラムの中の代入文における両辺の変数アド
レス(変数ADR3) 、或いは、該変数に識別番号を
付加したものが入れられる。以後、該“変数ADRS”
と、該識別番号を合わせて“OBJ No”と呼ぶ。
In the tree usage variable table 31, the rOBJ J column is
The variable address (variable ADR3) on both sides of the assignment statement in the program written in reverse Polish notation read from the memory 1, or the variable with an identification number added thereto, is entered. Hereafter, the “variable ADRS”
and the identification number are collectively referred to as "OBJ No."

次のrVALUE J欄には、上記rOBJ J欄に入
れられている変数に対して、演算結果、或いはメモリア
クセスによって得られた値が入る。
The next rVALUE J column contains the calculation results or values obtained by memory access for the variables entered in the rOBJ J column.

rFj欄は、それぞれの“OBJ”について、その実現
が、演算によるものか、メモリアクセスによるものか、
その結果がrVALUEJ欄に入力された・かどうか、
演算の後にメモリへのストアが済んだかどうか、後の代
入文によって、その変数が再定義されたかどうか等を示
すフラグである。
The rFj column indicates for each "OBJ" whether it is realized by calculation or memory access.
Whether the result has been entered in the rVALUEJ field,
This flag indicates whether the variable has been stored in memory after the operation, whether the variable has been redefined by a subsequent assignment statement, etc.

上記rOBJ NOJ欄における上記識別番号は、該r
OBJ NOJ欄において、変数の再定義によって生じ
た同じアドレスを有する2つの変数を区別する為のもの
である。
The above identification number in the above rOBJ NOJ column is
In the OBJ NOJ column, this is used to distinguish between two variables that have the same address caused by variable redefinition.

最後のrDHsTINATION J欄には、上記rO
BJ J欄の変数を引数(オペランド)として生成され
る変数の“OBJ No”が入る。
The last rDHsTINATION J column contains the above rO
“OBJ No” of the variable generated using the variable in the BJ J column as an argument (operand) is entered.

第1図(a)のメモリ 1から逆ポーランド記法で記述
されたプログラムが順次、主制御プロセッサ2に読み出
され、従制御プロセッサ3に送出される。
Programs written in reverse Polish notation are sequentially read out from the memory 1 in FIG. 1(a) by the main control processor 2 and sent to the slave control processor 3.

従制御プロセッサ3においては、上記の使用変数テーブ
ル31に対して、以下の書き込み操作を実行する。
The slave control processor 3 executes the following write operation on the above-mentioned usage variable table 31.

先ず、上記逆ポーランド記法で記述された代入文の左辺
に当たる変数の“OBJ No”を従制御プロセッサ3
内の専用のレジスタに保持しておくと共にrOBJ J
欄で検索し、見つかればその行の「F」欄に変数再定義
フラグを立てrDEsTINATION J欄の書き込
みを禁止し、更に、空行のrOBJ J欄た“OBJ 
NO”を書き込む。
First, the variable “OBJ No” on the left side of the assignment statement written in reverse Polish notation is sent to the slave control processor 3.
rOBJ J
If found, a variable redefinition flag is set in the "F" column of that line, prohibiting writing in the rDEsTINATION J column, and furthermore, the empty line rOBJ J column is set as "OBJ".
Write “NO”.

その際、変数再定義となっている場合は、識別番号を割
り当て、再定義の前後の変数が区別できるようにする。
At that time, if a variable has been redefined, an identification number is assigned so that the variable before and after the redefinition can be distinguished.

次に、代入文の右辺に現れる変数毎に、以下のような操
作を行う。即ち、引数の“変数ADRS”をrOBJ 
j Iで検索し、見当たらなければ空行のrOBJ J
欄にその引数に対応する“変数ADR5”を書き込み、
該当行を作成する。
Next, perform the following operations for each variable that appears on the right side of the assignment statement. In other words, the argument "variable ADRS" is set to rOBJ.
j Search with I, and if it is not found, leave a blank line rOBJ J
Write “variable ADR5” corresponding to that argument in the column,
Create the corresponding line.

その該当行に、上記専用レジスタに保持した“OBJ 
NO”、或いは、それに対応する後述のインタリーブ番
号をrDEsTINATIQN J欄に書き込む。
In the corresponding line, “OBJ” held in the above dedicated register
NO” or the corresponding interleave number, which will be described later, in the rDEsTINATIQNJ column.

ここで、上記空行を割り当てた引数についてはメモリフ
ェッチを行う。
Here, a memory fetch is performed for the argument to which the blank line is allocated.

上記の操作と平行して局所命令メモIJ(LIM)に逆
ポーランド形式の演算命令をその侭書き込む。
In parallel with the above operation, an arithmetic instruction in reverse Polish format is written in the local instruction memory IJ (LIM).

上記局所命令メモリ(LIM)に引数が届き、演算が可
能となると、プロセッシングユニット(PU)に演算が
委譲され、該プロセッシングユニツ) (PU)におい
て、当該演算が実行され、その結果が、上記使用変数テ
ーブルの該当行のrVALUE J欄に書き込まれる。
When the argument arrives at the local instruction memory (LIM) and the operation becomes possible, the operation is delegated to the processing unit (PU), where the operation is executed and the result is used for the above-mentioned use. It is written in the rVALUE J column of the corresponding row of the variable table.

上記rDEsTINATION J欄に書き込みがある
と、そのOBJ No”を基に、上記局所命令メモリ(
LIM)にデータを送ってやれば良い。
If there is a entry in the rDEsTINATION J column above, the above local instruction memory (
All you have to do is send the data to LIM).

該rDEsTINATION J欄は、第1図(b)に
示されているようなパイプライン、或いは、i−ストラ
フチャメモリ等の構造を有し、複数の送信先に対応でき
るものである。
The rDEsTINATION J column has a structure such as a pipeline shown in FIG. 1(b) or an i-stracture memory, and can correspond to a plurality of transmission destinations.

上記の変数再定義フラグがrFJ41!に立っている場
合には、演算結果の送信が完了した時点、それ以外の場
合には演算結果のメモリストアが終了し、rDEsTI
NATION J欄が空きになって、一定時間が立った
時点で、上記使用変数テーブル31の該当行はパージさ
れ、以後の演算命令の為に準備される。
The above variable redefinition flag is rFJ41! , when the transmission of the calculation result is completed; otherwise, the memory storage of the calculation result is finished, and rDEsTI
When the NATION J column becomes empty and a certain period of time has elapsed, the corresponding row of the used variable table 31 is purged and prepared for subsequent calculation instructions.

本発明においては、以上のような動作によって、逆ポー
ランド記法で記述されたプログラムの読み出しと、プロ
セッシングユニット(PU)によるデータ駆動的な演算
が独立に実行されるので、オブジェクトコードに逆ポー
ランド形式を採用することで、汎用性を失うことなく、
ノイマン方式で使用可能な高級言語レベルにおいて互換
性を保って、代入文の演算の際にはメモリアクセスを明
示する必要がない為、コンパイラの負担が少なく、効率
良くオブジェクトプログラムが生成できると共に、デー
タ駆動的な演算が行われるので高速な並列演算ができる
効果がある。
In the present invention, by the above-described operation, the reading of a program written in reverse Polish notation and the data-driven operation by the processing unit (PU) are executed independently, so it is possible to write the reverse Polish format in the object code. By adopting it, without losing versatility,
Compatibility is maintained at the high-level language level that can be used in the Neumann method, and there is no need to explicitly specify memory access when performing assignment statements, so the load on the compiler is reduced, object programs can be generated efficiently, and data Since driving calculations are performed, there is an effect that high-speed parallel calculations can be performed.

〔実施例〕 以下本発明の実施例を図面によって詳述する。〔Example〕 Embodiments of the present invention will be described in detail below with reference to the drawings.

前述の第1図が本発明の計算機方式の動作原理を説明す
る図であって、(a)は全体の構成例を示し、(b)は
使用変数テーブルの構成例を示し、第2図は使用変数テ
ーブルへの書き込み操作の例を示した図であり、(a)
は逆ポーランド形式のプログラムの例を示し、(b)は
使用変数テーブルの書き込みの例を示し、第3図は本発
明の一実施例を示した図であり、(a)は全体の構成例
を示し、(b)は従制御プロセッサ(TEP)の詳細例
を示し、(c)は従制御プロセッサ(TEP) 3’の
接続例を示していて、第1図、第2図、第3図における
主制御プロセッサ2.使用変数テーブル31を含む従制
御プロセッサ(TEP) 3.3’、局所命令メモリ(
LIM)4、プロセッシングユニット(、PLI)5が
本発明を実施するのに必要な手段である。尚、全図を通
して同じ符号は同じ対象物を示している。
The above-mentioned FIG. 1 is a diagram explaining the operating principle of the computer system of the present invention, in which (a) shows an example of the overall configuration, (b) shows an example of the configuration of the variable table used, and FIG. It is a figure showing an example of the write operation to the usage variable table, (a)
3 shows an example of a reverse Polish format program, (b) shows an example of writing a used variable table, FIG. 3 shows an embodiment of the present invention, and (a) shows an example of the overall configuration. , (b) shows a detailed example of the slave control processor (TEP), and (c) shows a connection example of the slave control processor (TEP) 3'. Main control processor in 2. A slave control processor (TEP) 3.3' including a usage variable table 31, a local instruction memory (
LIM) 4 and processing unit (PLI) 5 are the means necessary to implement the present invention. Note that the same reference numerals indicate the same objects throughout the figures.

以下、第1図〜第3図によって本発明の計算機方式を説
明する。
The computer system of the present invention will be explained below with reference to FIGS. 1 to 3.

先ず、第1図によって、本発明の計算機方式の基本動作
を説明する。
First, the basic operation of the computer system of the present invention will be explained with reference to FIG.

本発明においては、逆ポーランド形式で記述されたプロ
グラムがメモリ 1に格納されている。
In the present invention, a program written in reverse Polish format is stored in memory 1.

そこで、本計算機方式では、該逆ポーランド形式で記述
されたプログラムを主制御プロセッサ2において逐次的
に読み出し、該読み出した命令を従制御プロセッサ(T
EP) 3に送出すると、該従制御プロセッサ(TEP
) 、3において、(b)図にそのフォーマット例を示
している使用変数テーブル31に対する書き込み操作を
行う。
Therefore, in this computer method, the program written in the reverse Polish format is read out sequentially in the main control processor 2, and the read instructions are sent to the slave control processor (T
EP) 3, the slave control processor (TEP)
), 3, a write operation is performed on the used variable table 31, the format of which is shown in FIG. 3(b).

即ち、前述のように、先ず、代入文の左辺に当たる変数
の”OBJ No”を専用のレジスタに保持しておくと
共に、上記使用変数テーブル31のrOBJJ欄で検索
し、見つかればその行のrF J欄に変数再定義フラグ
を立て、rDEsTINATION J欄の書き込みを
禁止し、更に、空行のrOBJ J欄に60BJ NO
”を書き込む。
That is, as mentioned above, first, the "OBJ No." of the variable on the left side of the assignment statement is held in a dedicated register, and it is searched in the rOBJJ column of the used variable table 31, and if it is found, the rFJ No. of that row is stored. Set the variable redefinition flag in the column, prohibit writing in the rDEsTINATION J column, and write 60BJ NO in the blank rOBJ J column.
”.

その際、変数再定義となっている場合は、識別番号を割
り当て、再定義の前後の変数が区別できるようにする。
At that time, if a variable has been redefined, an identification number is assigned so that the variable before and after the redefinition can be distinguished.

次に、代入文の右辺に現れる変数毎に、以下のような操
作を行う。即ち、引数の“変数^ORS”を上記使用変
数テーブル31のrOBJ J欄で検索し、見当たらな
ければ空行のrOBJ J欄にその引数に対応する“変
数ADRS”を書き込み、該当行を作成する。
Next, perform the following operations for each variable that appears on the right side of the assignment statement. That is, search for the argument "variable ^ORS" in the rOBJ J column of the used variable table 31, and if it is not found, write "variable ADRS" corresponding to the argument in the blank rOBJ J column to create the corresponding line. .

その該当行に、上記、専用レジスタに保持した“OBJ
 NO”(即ち、上記代入文の左辺の゛変数へDRS″
)。
In the corresponding line, write “OBJ” stored in the dedicated register above.
NO” (i.e. DRS to the variable on the left side of the above assignment statement)
).

或いは、それに対応するインタリーブ番号をrDEST
INATION J欄に書き込む。
Or, rDEST the corresponding interleave number.
Write in INATION J column.

ここで、上記空行を割り当てた引数についてはメモリ 
1に対してメモリフェッチを行う。
Here, the memory for the argument to which the blank line was allocated is
Perform a memory fetch for 1.

上記の操作と平行して局所命令メモリ(LIM) 4に
逆ポーランド形式の演算命令(第2図(a)参照)をそ
の侭書き込む。
In parallel with the above operation, an arithmetic instruction in reverse Polish format (see FIG. 2(a)) is written in the local instruction memory (LIM) 4.

上記局所命令メモリ(LIM)4に引数が届き、演算が
可能となると、プロセッシングユニット(PU)5に演
算が委譲され、該プロセッシングユニット(PU) 5
において、当該演算が実行され、その結果が、上記使用
変数テーブル31の該当行のrVALUEl欄に書き込
まれる。
When the argument arrives at the local instruction memory (LIM) 4 and the operation becomes possible, the operation is delegated to the processing unit (PU) 5.
, the calculation is executed, and the result is written in the rVALUE column of the corresponding row of the used variable table 31.

rDEsTINATION J欄に書き込みがあると、
その’OBJ NO’を基に、上記局所命令、メモリ(
LIM)4にデータを送ってやれば良い。
If there is a entry in the rDEsTINATION J column,
Based on that 'OBJ NO', the above local instruction, memory (
All you have to do is send the data to LIM) 4.

該rDEsTINATION J @は、第1図(b)
に示されているようなパイプライン、或いは、i−スト
ラクチュヤメモリ等の構造を有し、複数の送信先に対応
できるものである。
The rDEsTINATION J@ is shown in FIG. 1(b)
It has a structure such as a pipeline shown in , or an i-structure memory, and can correspond to a plurality of transmission destinations.

上記の変数再定義フラグがrF J欄に立っている場合
には、演算結果の送信が完了した時点、それ以外の場合
には演算結果のメモリストアが終了し、rDEsTIN
ATION J欄が空きになって、一定時間が立った時
点で、上記使用変数テーブル31の該当行はパージされ
、以後の演算命令の為に準備される。
If the above variable redefinition flag is set in the rFJ column, the transmission of the calculation result is completed; otherwise, the memory storage of the calculation result is completed and the rDEsTIN
When the ATION J column becomes empty and a certain period of time has elapsed, the corresponding row of the used variable table 31 is purged and prepared for subsequent calculation instructions.

上記使用変数テーブル31に対する書き込みの例を第2
図に示す。
The second example of writing to the above used variable table 31 is
As shown in the figure.

ここで、(a)図に逆ポーランド形式で記述されたプロ
グラムの例を示しであるが、このプログラムがメモリ1
から順次読み出されたとき、従制御プロセッサ(TEP
) 3において、使用変数テーブル31に対する書き込
み操作が下記の手順で行われる。
Here, (a) shows an example of a program written in reverse Polish format.
When sequentially read from the slave control processor (TEP
) In 3, the write operation to the used variable table 31 is performed in the following procedure.

先ず、初期状態として、変数“A゛と°C゛に対応する
行が使用変数テーブル31に残っているものとしよう。
First, assume that rows corresponding to variables "A" and "C" remain in the used variable table 31 as an initial state.

ここで、メモリ 1から代入文が読み出され、該代入文
の左辺の変数“A゛が従制御プロセッサ3に到着すると
、該従制御プロセッサ3は、この変数をrOBJ J 
aで検索し、第1行目で見つかるので、その行の再定義
フラグをrFJ 8に立て、r DESTINATIO
N J 41111に対する書き込みを禁止し、更に、
空行のrOBJ J欄にA’の“変数ADRS”を書き
込み、その識別番号、例えば、’002’を割り当てる
Here, when the assignment statement is read from the memory 1 and the variable "A" on the left side of the assignment statement arrives at the slave control processor 3, the slave control processor 3 stores this variable as rOBJ J
Search for a, find it in the first line, set the redefinition flag for that line to rFJ 8, and use r DESTINATIO
Writing to NJ 41111 is prohibited, and further,
Write the "variable ADRS" of A' in the rOBJ J column of the blank line, and assign its identification number, for example, '002'.

次に、上記代入文の右辺の変数°B゛が到着すると、こ
れもrOBJ J欄で検索し、この場合には見つからな
いので、空行のrOBJ J 41j1に°B゛を書き
込み、そのrDEsTINATTON J欄に左辺の変
数°A。
Next, when the variable °B" on the right side of the above assignment statement arrives, it is also searched for in the rOBJ J column. In this case, it is not found, so °B" is written in the empty line rOBJ J 41j1, and its rDEsTINATTON J In the column, enter the variable °A on the left side.

を書き込み、メモリアクセスを要求する。writes and requests memory access.

更に、変数1clが到着すると、これは、rOBJ」欄
に対応行が見つかる為、そのrDEsTINATION
」欄に、該代入文の左辺の変数IAIを書き込むだけで
良い。
Furthermore, when the variable 1cl arrives, the corresponding line is found in the "rOBJ" column, so its rDEsTINATION
” column, simply write the variable IAI on the left side of the assignment statement.

変数+D1 、 ’E’についても同様に処理され、四
則演算子や5等号等の演算子は読み飛ばされる。
The variables +D1 and 'E' are processed in the same way, and operators such as the four arithmetic operators and the 5 equal sign are skipped.

そして、rVALUE J欄の書き込みは、上記メモリ
アクセス、或いは、演算の結果(即ち、β、δ。
Writing in the rVALUE J column is the result of the above memory access or operation (i.e., β, δ.

−・−)が随時連想記憶機能により書き込まれる。−・−) are written as needed by the associative memory function.

各読み出されたプログラムが指示する演算命令は、“変
数ADRS”がそれに゛識別番号′を付加した“OBJ
 No”に変わることを除いて、全くその侭局所命令メ
モリ(LIM) 4に書き込まれる。
The arithmetic instruction specified by each read program is specified by the “variable ADRS” in the “OBJ
No, except that it is written to the local instruction memory (LIM) 4 at all.

上記局所命令メモリ(LIM) 4に引数の値が届き、
部分的にも演算が可能になると、プロセッシングユニッ
ト(PU) 5に演算が委譲され、該プロセッシングユ
ニツ)(PU)5において、当該演算が実行され、その
結果が、該局所命令メモリ(LIM) 4.さらには、
上記使用変数テーブル31の該当行のrVALUE J
欄に書き込まれる。
The value of the argument arrives at the local instruction memory (LIM) 4,
When the operation becomes partially possible, the operation is delegated to the processing unit (PU) 5, where the operation is executed, and the result is stored in the local instruction memory (LIM) 4. .. Furthermore,
rVALUE J in the relevant row of the variable used table 31 above
is written in the field.

rDEsTINATION J 41j!に書き込みが
あると、それを元に、該当する局所命令メモリ(LIM
) 4にデータを送ってやれば良い。
rDEsTINATION J 41j! When there is a write to the local instruction memory (LIM), the corresponding local instruction memory (LIM)
) All you have to do is send the data to 4.

該rDEsTINATION J欄は、第1図(b)に
示されているように、パイプラインの構成になっていて
、データの送信毎に、1°QBJ No’宛シフトする
The rDEsTINATION J column has a pipeline configuration, as shown in FIG. 1(b), and is shifted by 1° to QBJ No' each time data is transmitted.

上記の変数再定義フラグがrF J欄に立っている場合
には、演算結果の送信が完了した時点、それ以外の場合
には演算結果のメモリストアが終了し、rDHsTTN
ATION J欄が空きになって、一定時間が立った時
点で、上記使用変数テーブル31の該当行はパージされ
、以後の演算命令の為に準備される。
If the above variable redefinition flag is set in the rF
When the ATION J column becomes empty and a certain period of time has elapsed, the corresponding row of the used variable table 31 is purged and prepared for subsequent calculation instructions.

そして、プロセッシングユニット(PU) 5において
は、主制御プロセッサ2でのプログラムの読み出し、従
制御プロセッサ3での使用変数テーブル31への書゛き
込み操作とは独立に、局所命令メモリ(LIM) 4に
データが揃った段階で、データ駆動形式で、該局所命令
メモリ(LIM) 4が指示する演算を実行し、該演算
結果を上記使用変数テーブル31の該当行のrVALU
E J欄に書き込まれる。
In the processing unit (PU) 5, the local instruction memory (LIM) 4 is operated independently of the reading of the program by the main control processor 2 and the write operation to the usage variable table 31 by the slave control processor 3. When the data has been collected, the operation instructed by the local instruction memory (LIM) 4 is executed in a data-driven format, and the operation result is stored in the rVALU of the corresponding row of the used variable table 31.
It is written in the E J column.

このようにして、使用変数テーブル31への書き込み操
作と、プロセッシングユニット(PU) 5での演算と
が、互いに独立に実行されることにより、並列動作が高
速に行われることになる。
In this way, the write operation to the used variable table 31 and the calculation in the processing unit (PU) 5 are executed independently of each other, so that parallel operations can be performed at high speed.

第3図(a)は、上記メモリ1を複数個のバンク11に
分割してインタリーブ方式で使用する場合を示しており
、各バンク11に対応して、使用変数テーブル315局
所命令メモリ(LIM) 4.プロセッシングユニット
(PU) 5が用意される。
FIG. 3(a) shows a case where the memory 1 is divided into a plurality of banks 11 and used in an interleaved manner. 4. A processing unit (PU) 5 is prepared.

このときの、各使用変数テーブル311局所命令メモI
J (LIM) 4.プロセッシングユニット(PU)
 5には、該分割されたインタリーブ番号が付与される
。    ・本図において、B(0〜N)11はメモリ
バンクであって、従制御プロセッサTEP(0−N) 
3’ は上記メモリバンクB(0〜N)11に対応して
おり、メモリバンクB(0〜N)11 と従制御プロセ
ッサ(TEP)(0〜N) 3°の間は、1対1に接続
されている。
At this time, each used variable table 311 local instruction memo I
J (LIM) 4. Processing unit (PU)
5 is given the divided interleave number.・In this figure, B(0-N)11 is a memory bank, and slave control processor TEP(0-N)
3' corresponds to the memory bank B (0 to N) 11, and there is a one-to-one relationship between the memory bank B (0 to N) 11 and the slave control processor (TEP) (0 to N) 3°. It is connected.

又、従制御プロセッサ(TEP) 3゛同士も互いにバ
スで接続されており、(C>図は、該従制御プロセッサ
(TEP) (0〜15) 3’間を、環状に接続した
例である。
In addition, the slave control processors (TEP) 3' are also connected to each other by a bus, and the figure (C) is an example in which the slave control processors (TEP) (0 to 15) 3' are connected in a ring. .

従制御プロセッサ(TEP) (0〜N) 3″は、数
個、本例では、1個の連想記憶の機能を有する局所命令
メモリ(LIM) 4を持ち、ここに、各演算命令が格
納される。上記の局所命令メモリ(L4M) 4は、そ
れぞれ、複数個(本例では、1個)のプロセッシングユ
ニット(PU) 5を専用に具備しており、これで、算
術演算、論理演算、シフト等の演算が実行される。
The slave control processor (TEP) (0 to N) 3'' has several local instruction memories (LIMs) 4, in this example, one having a function of associative memory, in which each arithmetic instruction is stored. Each of the local instruction memories (L4M) 4 described above is exclusively equipped with a plurality of (in this example, one) processing units (PU) 5, which perform arithmetic operations, logical operations, and shift operations. Operations such as the following are executed.

局所命令メモリ(LIM) 4上においては、上記従制
御プロセッサ(TEP) (0〜N)3′から、各変数
に対応したデータが送信され、該命令を実行するのに必
要なデータが連想記憶機構で該当欄に格納され、各命令
の単位で揃った時点において、該局所命令メモリ(Lr
M) 4に格納されている演算命令の実行が、プロセッ
シングユニット(PU)5に委譲され、以後、該プロセ
ッシングユニット(PU) 5において、独立に該演算
が実行されることになる。
On the local instruction memory (LIM) 4, data corresponding to each variable is transmitted from the slave control processor (TEP) (0 to N) 3', and the data necessary to execute the instruction is stored in an associative memory. The local instruction memory (Lr
M) Execution of the arithmetic instructions stored in the CPU 4 is delegated to the processing unit (PU) 5, and the processing unit (PU) 5 will thereafter independently execute the arithmetic operations.

主制御プロセッサ2においては、図示されている如く、
プログラムカウンタ(pc) 、命令レジスタ(INS
T) 、アドレスの格納、修飾等を行うのに使用される
一般レジスタ(G REG)、条件分岐の判断の結果が
入れられるコンデイションコード(CC) 、 プログ
ラムステータス語(P!V)等のレジスタを備えており
、該レジスタ関連の転送動作1分岐命令等による順序制
御や、各種制御、外部回路に対する操作を行うと共に、
上記バンク対応に設けられている従制御プロセッサ(T
EP) (0〜N)3゛に、該従制御プロセッサ(TE
P) (0〜N) 3°に接続されたバス(第3図(c
)参照)を介して、逆ポーランド形式のプログラムから
取り出した演算命令の放送を行う。
In the main control processor 2, as shown in the figure,
Program counter (pc), instruction register (INS)
T), general register (G REG) used to store and modify addresses, condition code (CC) where the result of conditional branch judgment is stored, program status word (P!V), etc. It is equipped with a register-related transfer operation, performs sequence control using branch instructions, various controls, and operations on external circuits.
A slave control processor (T
EP) (0 to N) 3, the corresponding slave control processor (TE
P) (0~N) Bus connected to 3° (Fig. 3(c)
)) to broadcast the arithmetic instructions extracted from the program in reverse Polish format.

第3図(b)は、上記従制御プロセッサ(TEP) (
0〜N) 3”の1つ、例えば、従制御プロセ、す((
TEP)、の詳細(但し、各従制御プロセッサ(TEP
) (0〜N) 3”間の接続ボート(O〜3)の内、
接続ボート(0)のみを詳細に示した場合)をプロセッ
シングユニソ)(PU)5.及び局所命令メモリ(LI
M) 4を含めて表したものであり、該従制御プロセッ
サ(TEP) 3′での使用変数テーブル31は、第1
図で説明した使用変数テーブル31を、メモリバンク1
1に対応して設けたものである。
FIG. 3(b) shows the slave control processor (TEP) (
0 to N) 3”, e.g. slave control process,
(TEP), details (however, each slave control processor (TEP)
) (0~N) Of the connection boats (O~3) between 3",
Processing Unison) (PU)5. and local instruction memory (LI
M) 4 is included, and the variable table 31 used in the slave control processor (TEP) 3' is
The used variable table 31 explained in the figure is stored in memory bank 1.
This was established in response to 1.

他の従制御プロセッサ(TEP)(1) 3“等とのイ
ンタフェースに使用される前述のポート(0)■はデー
タの送受信に、主制御プロセッサ2とのインタフェース
■は、逆ポーランド形式の演算命令の全従制御プロセッ
サ(Tll!P) (0〜N)3゛への放送、それぞれ
の従制御プロセッサ(TEP) (0〜N) 3°から
の条件分岐のコンデイションコード(CC)の送信等に
、メモリバンク11 とのインタフェース■は変数アド
レス(変数ADRS)によるデータのストア。
The aforementioned port (0) ■, which is used for interfacing with other slave control processors (TEP) (1) 3'', etc., is used for data transmission and reception, and the interface ■ with the main control processor 2 is used for reverse Polish format arithmetic instructions. Broadcasting to all slave control processors (Tll!P) (0 to N) 3°, sending condition codes (CC) for conditional branching from each slave control processor (TEP) (0 to N) 3°, etc. The interface (2) with the memory bank 11 stores data using a variable address (variable ADRS).

フェッチに、それぞれ用いられ、その内部動作は、第1
図で説明したものと全く同じであるので、ここでは省略
する。
The internal operation is the first
Since it is exactly the same as that explained in the figure, it will be omitted here.

本計算機方式における機械語プログラムは、代入文等の
演算式に関する部分に、逆ポーランド形式を採用した点
を除いて、ノイマン方式とほぼ同じで逐次的に記述され
る。以下にその使用命令セットの分類例を説明する。
Machine language programs in this computer method are written sequentially in almost the same way as in the Neumann method, except that the reverse Polish format is used for parts related to arithmetic expressions such as assignment statements. An example of classification of the instruction set used will be explained below.

(1)演算命令: 論理命令、算術命令、シフト命令等に分類され、逆ポー
ランド形式で記述される。
(1) Arithmetic instructions: Classified into logical instructions, arithmetic instructions, shift instructions, etc., and written in reverse Polish format.

又、ベクトル命令はベクトルエレメントの先頭アドレス
や、ベクトル長を指定することにより記述される。
Further, a vector instruction is written by specifying the start address of a vector element and the vector length.

(II)一般命令: 一般命令は、前述のようにノイマン方式とほぼ同じで、
逐次的に記述される。
(II) General instructions: As mentioned above, general instructions are almost the same as the Neumann method,
Written sequentially.

1)制御演算命令: 制御変数の操作、アドレス修飾、配列のアドレス計算等
を行う為のもので、形式的には、ノイマン方式の算術命
令、メモリアクセスを含む転送命令と同じである。
1) Control arithmetic instructions: These are for manipulating control variables, modifying addresses, calculating array addresses, etc., and are formally the same as Neumann arithmetic instructions and transfer instructions including memory access.

2)演算命令生成命令ニ アドレス生成命令により、主制御プロセッサ2で作られ
たアドレスを用いて演算命令を構成するものである。
2) Arithmetic instruction generation instruction A near address generation instruction is used to construct an arithmetic instruction using an address generated by the main control processor 2.

3)転送命令: 主制御プロセッサ2内pプログラムカウンタ(PC)l
 コンデイションコード(CC)等のレジスタ間の転送
命令であり、メモリエに対するストア、ロード命令は含
まない。
3) Transfer command: Program counter (PC) in main control processor 2
This is a transfer instruction between registers such as a condition code (CC), and does not include store or load instructions for a memory.

4)順序制御命令: 分岐命令、サブルーチンの為の連結命令、及び飛び越し
命令等である。
4) Sequence control instructions: branch instructions, concatenation instructions for subroutines, jump instructions, etc.

5)制御命令: 停止命令、スーパーバイザーコール等の割出し命令、入
出力命令等のシステム制御命令等である。
5) Control commands: System control commands such as stop commands, index commands such as supervisor calls, and input/output commands.

上記に分類され命令群で構成され、メモリ1に格納され
ているプログラムは、主制御プロセッサ2のプログラム
カウンタ(PC)によって、1語宛主制御プロセッサ2
の命令/アドレスレジスタ(INST/ADR5)に取
り出され、上記の一般命令は当該主制御プロセッサ2で
処理されるのに対して、上記演算命令は、一般命令に分
類されている演算命令生成命令で、該主制御プロセッサ
2内で生成されたものも含めて、全て、従制御プロセッ
サ(TEP)3に放送され、局所命令メモリ(LIM)
 4に格納された後、オペランドが揃った時点で、プロ
セッシングユニッ1−(PU)5でデータ駆動的に実行
される。
The program classified above and composed of instruction groups stored in the memory 1 is sent to the main control processor 2 by the program counter (PC) of the main control processor 2.
The above general instructions are fetched into the instruction/address register (INST/ADR5) and processed by the main control processor 2, whereas the above calculation instructions are calculation instruction generation instructions classified as general instructions. , including those generated within the master control processor 2, are broadcast to the slave control processor (TEP) 3 and stored in the local instruction memory (LIM).
After the data is stored in the processing unit 1-(PU) 5, when the operands are complete, the processing unit 1-(PU) 5 executes it in a data-driven manner.

ベクトル命令の場合には、各メモリバンクIfに対応し
て設けられている各従制御プロセッサ(TEP) 3”
において、ベクトル命令が指示するベクトルエレメント
の先頭アドレスとベクトル長とから、該当のメモリバン
ク11に含まれる対象エレメントを取り出し、それぞれ
に接続されているプロセッシングユニット(PU) 5
に委譲して実行する。
In the case of vector instructions, each slave control processor (TEP) 3" provided corresponding to each memory bank If
, the target element contained in the corresponding memory bank 11 is extracted from the start address and vector length of the vector element specified by the vector instruction, and the processing unit (PU) 5 connected to each element is extracted.
Delegate and execute.

このように、本発明は、逆ポーランド形式で記述された
プログラムをデータ駆動の形式で実行する計算機方式に
おいて、メモリから読み出したプログラム中の変数毎に
、そのアドレス、及び識別番号、値、該変数の状態を示
すフラグ、その変数値を送信する宛先(変数ADR5,
インタリーブ番号)を保持する使用変数テーブルを連想
記憶機能を有するメモリで構成し、メモリからプログラ
ムを読み出す毎に、該使用変数テーブルの書き込み操作
により、該変数間の使用、生成関係を表現し、演算その
ものは、上記プログラムの読み出し、使用変数テーブル
の書き込み操作とは独立に、データ駆動の形式で実行す
るようにした所に特徴がある。
As described above, the present invention provides, in a computer system that executes a program written in the reverse Polish format in a data-driven format, for each variable in the program read from memory, its address, identification number, value, and the value of the variable. A flag indicating the status of the variable, the destination to which the variable value is sent (variable ADR5,
A usage variable table that holds interleave numbers (interleave numbers) is configured with a memory that has an associative memory function, and each time a program is read from the memory, the usage and generation relationship between the variables is expressed by writing to the usage variable table, and the usage and generation relationships between the variables are expressed and calculated. Its feature is that it is executed in a data-driven format, independent of the above-mentioned program readout and use variable table write operations.

〔発明の効果〕〔Effect of the invention〕

以上、詳細に説明したように、本発明の計算機方式は、
逆ポーランド形式に記述されたプログラムとデータを保
持するメモリと、該プログラムを順次取り出して、従制
御プロセッサに入力する主制御プロセッサと、上記入力
されたプログラムの変数毎に、アドレス、値、演算の為
に割り当てられた識別番号9種々の状態を示すフラグ、
該変数の値の送信先等を保持する使用変数テーブルを連
想記憶の形で持ち、該プログラムが逐次的に読み出され
る毎に、該使用変数テーブルの必要項目を書き込む従制
御プロセッサと、上記主制御プロセッサで取り出した演
算命令を格納する局所命令メモリ(LIM)と、該局所
命令メモリ(LIM)に、データが揃った段階で、該演
算命令の実行をプロセンシングユニットに委譲する手段
とを設け、上記逆ポーランド形式に記述されたプログラ
ムを読み出し、上記使用変数テーブルを更新する処理と
は独立に、該プロセッシングユニットでデータ駆動的な
演算を行うようにしたものであるので、オブジェクトコ
ードに逆ポーランド記法を採用することで、汎用性を失
うことなく、ノイマン方式で使用可能な高級言語レベル
において互換性を保って、代入文の演算の際にはメモリ
アクセスを明示する必要がない為、コンパイラの負担が
少な(、効率良くオブジェクトプログラムが生成できる
と共に、データ駆動的な演算が行われるので高速な並列
演算ができる効果がある。
As explained above in detail, the computer method of the present invention is
A memory that holds programs and data written in reverse Polish format, a main control processor that sequentially retrieves the programs and inputs them to the slave control processor, and a memory that stores addresses, values, and calculations for each variable of the input program. Identification numbers assigned for 9Flags indicating various states,
a slave control processor that has a usage variable table in the form of an associative memory that holds the destination of the value of the variable, etc., and writes necessary items in the usage variable table each time the program is sequentially read; and the main controller. A local instruction memory (LIM) for storing arithmetic instructions retrieved by the processor, and means for delegating the execution of the arithmetic instructions to a processing unit when data is available in the local instruction memory (LIM), Since the program written in the reverse Polish format is read and data-driven calculations are performed in the processing unit independently of the process of updating the variable table used above, the object code is written in the reverse Polish notation. By adopting , compatibility is maintained at the high-level language level that can be used in the Neumann method without losing versatility, and there is no need to explicitly specify memory access when performing assignment statement operations, reducing the burden on the compiler. Object programs can be generated efficiently, and since data-driven calculations are performed, high-speed parallel calculations can be performed.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図が本発明の計算機方式の動作原理を説明する図。 第2図は使用変数テーブルへの書き込み操作の例を示し
た図。 第3図は本発明の一実施例を示した図。 第4図は従来の計算機方式を説明する図。 である。 図面において、 1はメモリ。 11はメモリバンク (B(0)〜B(N)) 。 2は主制御プロセッサ。 3は従制御プロセッサ(TEP) 。 3″は従制御プロセッサ(TEP (1)〜(N))3
工は使用変数テーブル。 4は局所命令メモリ(LIM)。 5はプロセッシングユニット(Ptl)。 pcはプログラムカウンタ。 lN5T/ADRSは命令/アドレスレジスタ。 CCはコンデイションコード。
FIG. 1 is a diagram explaining the operating principle of the computer system of the present invention. FIG. 2 is a diagram showing an example of a write operation to a used variable table. FIG. 3 is a diagram showing an embodiment of the present invention. FIG. 4 is a diagram explaining a conventional computer system. It is. In the drawing, 1 is memory. 11 is a memory bank (B(0) to B(N)). 2 is the main control processor. 3 is a slave control processor (TEP). 3″ is the slave control processor (TEP (1) to (N)) 3
is the variable table used. 4 is a local instruction memory (LIM). 5 is a processing unit (Ptl). pc is a program counter. lN5T/ADRS is an instruction/address register. CC is condition code.

Claims (3)

【特許請求の範囲】[Claims] (1)逆ポーランド形式で記述されたプログラムと、デ
ータを保持するメモリ(1)と、該プログラムを順次取
り出して、従制御プロセッサ(3)に入力する主制御プ
ロセッサ(2)と、上記入力されたプログラムの変数毎
に、アドレス、値、種々の状態を示すフラグ、該変数の
値を送信する際の宛先を保持する使用変数テーブル(3
1)を連想記憶の形で持ち、該プログラムが逐次的に読
み出される毎に、該使用変数テーブル(31)の必要項
目を書き込む従制御プロセッサ(3)と、上記主制御プ
ロセッサ(2)で取り出された演算命令を格納する記憶
装置(4)と、 該記憶装置(4)に、データが到着し演算が可能となっ
た段階で、該演算命令の実行をプロセッシングユニット
(5)に委譲する手段とを設け、上記逆ポーランド形式
に記述されたプログラムを上記メモリ(1)から読み出
し、上記使用変数テーブル(31)を更新する処理とは
独立に、該プロセッシングユニット(5)でデータ駆動
的な演算を行うことを特徴とする計算機方式。
(1) A memory (1) that holds programs written in reverse Polish format and data; a main control processor (2) that sequentially retrieves the programs and inputs them to the slave control processor (3); For each variable in the program, there is a variable table (3
1) in the form of associative memory, and each time the program is read out sequentially, the slave control processor (3) writes the necessary items of the used variable table (31), and the main control processor (2) reads out the necessary items. a storage device (4) for storing calculated calculation instructions; and means for delegating the execution of the calculation instructions to the processing unit (5) when data arrives in the storage device (4) and the calculation becomes possible. The processing unit (5) reads the program written in the reverse Polish format from the memory (1) and performs data-driven calculations independently of the process of updating the used variable table (31). A computer method characterized by performing the following.
(2)上記使用変数テーブル(31)を、メモリ(1)
の複数のメモリバンク(11)に対応してインタリーブ
に分割し、その分割単位毎に、上記プロセッシングユニ
ット(5)と上記記憶装置(4)の組を1個以上の特定
個数割り当て、 上記分割された使用変数テーブル(31)を備えた従制
御プロセッサ(3′)間でデータの授受を行って、それ
ぞれのプロセッシングユニット(5)で独立にデータ駆
動的な演算を行うことを特徴とする特許請求の範囲第1
項に記載の計算機方式。
(2) The above used variable table (31) is stored in the memory (1)
is interleaved corresponding to a plurality of memory banks (11), and for each unit of division, one or more specific number of pairs of the processing unit (5) and the storage device (4) are allocated; A patent claim characterized in that data is exchanged between slave control processors (3') equipped with a used variable table (31), and each processing unit (5) independently performs data-driven calculations. range 1
The computer method described in Section.
(3)上記(2)項で記載した計算機方式において、ベ
クトル命令を、ベクトルエレメントデータの先頭アドレ
スと、ベクトル長とを指定することによって表現し、こ
れを上記分割された使用変数テーブル(31)を備えた
、上記従制御プロセッサ(3′)群に放送し、 各インタリーブされたメモリバンク(11)に対応した
エレメントデータ毎に、上記ベクトル命令を並列に実行
することを特徴とする特許請求の範囲第2項に記載の計
算機方式。
(3) In the computer system described in item (2) above, a vector instruction is expressed by specifying the start address of vector element data and the vector length, and this is expressed in the divided usage variable table (31). The vector instruction is broadcast to the group of slave control processors (3') comprising a plurality of sub-control processors (3'), and executes the vector instruction in parallel for each element data corresponding to each interleaved memory bank (11). The computer method described in Scope 2.
JP28250387A 1987-11-09 1987-11-09 Computer system Pending JPH01123328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28250387A JPH01123328A (en) 1987-11-09 1987-11-09 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28250387A JPH01123328A (en) 1987-11-09 1987-11-09 Computer system

Publications (1)

Publication Number Publication Date
JPH01123328A true JPH01123328A (en) 1989-05-16

Family

ID=17653289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28250387A Pending JPH01123328A (en) 1987-11-09 1987-11-09 Computer system

Country Status (1)

Country Link
JP (1) JPH01123328A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008091391A (en) * 2006-09-29 2008-04-17 Showa Denko Kk Lead frame member for solid electrolytic capacitor
JP2008091389A (en) * 2006-09-29 2008-04-17 Showa Denko Kk Lead frame member for solid electrolytic capacitor
JP2008091390A (en) * 2006-09-29 2008-04-17 Showa Denko Kk Lead frame member for solid electrolytic capacitor
US10283270B2 (en) 2015-07-15 2019-05-07 Fujitsu Limited Electronic component and component-embedded substrate

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008091391A (en) * 2006-09-29 2008-04-17 Showa Denko Kk Lead frame member for solid electrolytic capacitor
JP2008091389A (en) * 2006-09-29 2008-04-17 Showa Denko Kk Lead frame member for solid electrolytic capacitor
JP2008091390A (en) * 2006-09-29 2008-04-17 Showa Denko Kk Lead frame member for solid electrolytic capacitor
US10283270B2 (en) 2015-07-15 2019-05-07 Fujitsu Limited Electronic component and component-embedded substrate
US10395832B2 (en) 2015-07-15 2019-08-27 Fujitsu Limited Electronic component and component-embedded substrate

Similar Documents

Publication Publication Date Title
JP3461704B2 (en) Instruction processing system and computer using condition codes
US4466061A (en) Concurrent processing elements for using dependency free code
US4468736A (en) Mechanism for creating dependency free code for multiple processing elements
US11550591B2 (en) Scheduling tasks in a multi-threaded processor
US8434074B2 (en) Register allocation with SIMD architecture using write masks
Kuehn et al. The Horizon supercomputing system: architecture and software
US9639371B2 (en) Solution to divergent branches in a SIMD core using hardware pointers
US3665421A (en) Information processing system implementing program structures common to higher level program languages
JPH04245540A (en) Computer system for efficiently executing program having conditional branch
CN103930883A (en) Interleaving data accesses issued in response to vector access instructions
JPS619760A (en) Vector processing system
JPS63253468A (en) Vector processor
JPH04336378A (en) Information processor
JPH0477347B2 (en)
CN107038019A (en) The method and computing system of process instruction in single-instruction multiple-data computing system
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
JPH01123328A (en) Computer system
US4456958A (en) System and method of renaming data items for dependency free code
US7404048B2 (en) Inter-cluster communication module using the memory access network
CN114281414B (en) Data writing method of URF register in AIGPU architecture
US11256516B2 (en) Processing system with a main processor pipeline and a co-processor pipeline
US20220283947A1 (en) Information processing device and information processing method
Maurer Mapping the Data Flow Model of Computation into an Enhanced Von Neumann Processor.
EP1378825A1 (en) A method for executing programs on selectable-instruction-length processors and corresponding processor system
WO1994015280A2 (en) Computer architecture for parallel data transfer in declarative computer languages