JPS6295637A - Subroutine module for data flow type machine - Google Patents

Subroutine module for data flow type machine

Info

Publication number
JPS6295637A
JPS6295637A JP23663985A JP23663985A JPS6295637A JP S6295637 A JPS6295637 A JP S6295637A JP 23663985 A JP23663985 A JP 23663985A JP 23663985 A JP23663985 A JP 23663985A JP S6295637 A JPS6295637 A JP S6295637A
Authority
JP
Japan
Prior art keywords
identifier
memory
data
address
input
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
JP23663985A
Other languages
Japanese (ja)
Other versions
JPH0642265B2 (en
Inventor
Takeshi Kikuchi
剛 菊池
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP23663985A priority Critical patent/JPH0642265B2/en
Publication of JPS6295637A publication Critical patent/JPS6295637A/en
Publication of JPH0642265B2 publication Critical patent/JPH0642265B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To attain a subroutine action SL and a recurrent action with a data flow type machine and at the same time to decrease the hardware quantity of a bus with omission of an extension identifier, by storing previously a data identifier in a stack type memory. CONSTITUTION:This subroutine modulus for a machine having a data flow type architecture is provided with a parameter memory 2 which switches the input and output actions according to an input fluctuation identifier and delivers the parameter value and an internal identifier with the fluctuation identifier used as an address, a numerical data processing part, a stack memory 6 which holds temporarily the internal identifier, a pointer memory 5 which stores the address of the memory 6, an identifier memory 3 which supplies the internal identifier as an address and delivers the next fluctuation identifier and the data on the destination, and a destination memory 4. Then each output is connected to a bus from a selector.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータフロー型のアーキテクチャを持つ電子計
算機(マシン)のサブルーチン用モジュールに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a subroutine module for an electronic computer (machine) having a data flow type architecture.

〔従来の技術〕[Conventional technology]

従来、y’−タフロー型マシンのモジュールは、データ
の並びが入れ換わることのないFIFO型−のメモリを
持ち、サブルーチン動作を行なうためには色付きトーク
ンと呼ばれる拡張識別子を使っていた。
Conventionally, a module of a y'-tafflo type machine has a FIFO type memory in which the data arrangement is not changed, and uses extended identifiers called colored tokens to perform subroutine operations.

第6図はこの拡張識別子を用いたサブルーチンの動作例
を示すフロー図である。この場合、通常のデータフロー
型で必要とされるデータ値、R刷子1竹先の他に拡張識
別子も一緒にデータバスにのせて伝送している。図にお
いて、ステップ61で拡張識別子をセットし、ステップ
62でサブルーチンの演算動作を行い、ステップ63で
その拡張識別子を判定し、各種演算(ステップ64)を
行う。ステップ65.66.67でも同様にしてサブル
ーチン演算が行われる。
FIG. 6 is a flow diagram showing an example of the operation of a subroutine using this extended identifier. In this case, in addition to the data value required in the normal data flow type, the R brush 1 tip, an extended identifier is also transmitted on the data bus. In the figure, an extended identifier is set in step 61, a subroutine calculation operation is performed in step 62, the extended identifier is determined in step 63, and various calculations (step 64) are performed. Subroutine operations are performed in the same manner at steps 65, 66, and 67.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来のデータフロー型マシンのモジ−一ルは、
FIFO型の動作しか行なわないので、入れ子穴になる
再帰的動作が困難である。そしてサブルーチンを使える
ように拡張識別子を用いると、データバスの量が増大し
てしまうという欠点がある。
The module of the conventional dataflow machine mentioned above is
Since only FIFO type operations are performed, recursive operations such as nested holes are difficult. If extended identifiers are used so that subroutines can be used, there is a drawback that the amount of data bus increases.

本発明の目的は、このような問題点を解決し、サブルー
チン動作の入出力動作を容易に可変できると共に再帰動
作が可能でハードウェアを少くできるデータフロー型マ
シンのサブルーチン用モジュールを提供することにある
SUMMARY OF THE INVENTION An object of the present invention is to solve these problems and provide a subroutine module for a data flow machine that can easily vary the input/output operations of subroutine operations, and can also perform recursive operations and reduce the amount of hardware required. be.

〔問題点を解決するだめの手段〕[Failure to solve the problem]

本発明のチータフ0−型マシンのサブルーチン用モジュ
ールは、入力された変動識別子に従って入力動作および
出力動作を切替えこの変動識別子をアドレスとしてパラ
メータ値と内部識別子とを出力するパラメータメモリと
、前記パラメータ値をもとに入力数値データを加工して
出力する加工部と、前記内部識別子を一時保持するスタ
ックメモリと、このスタックメモリのアドレスを格納す
るポインタメモリと、前記内部識別子をそれぞれアドレ
スとして入力し次の変動変動子および行先データをそれ
ぞれ出力する識別子メモリおよび行先メモリとを含み構
成される。
The subroutine module of the Cheetah 0-type machine of the present invention includes a parameter memory that switches input operation and output operation according to an input variation identifier and outputs a parameter value and an internal identifier using this variation identifier as an address; A processing unit that processes and outputs the input numerical data, a stack memory that temporarily holds the internal identifier, a pointer memory that stores the address of this stack memory, and a processing unit that inputs the internal identifier as an address and processes the next one. It is configured to include an identifier memory and a destination memory that output variable variables and destination data, respectively.

〔実施例〕〔Example〕

次に本発明を図面により詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例を用いたチータフロー型マシ
ンの部分ブロック図である。チータフロー型マシンハ、
モジュール10がバス・モジュール接続器20を介して
データバス30と接続されている。このデータバス30
によって変数識別子。
FIG. 1 is a partial block diagram of a cheetah flow type machine using one embodiment of the present invention. Cheetah flow type machine,
A module 10 is connected to a data bus 30 via a bus module connector 20. This data bus 30
by variable identifier.

行先データおよび数値データが送られる。モジ−一ル1
0は識別子によって入力側または出力側に切換えられる
Destination data and numerical data are sent. Module 1
0 is switched to input or output depending on the identifier.

パスモジュール接続器20には、ゲート11゜比較器1
2.セレクタ13〜15が含まれる。
The pass module connector 20 includes a gate 11° and a comparator 1.
2. Selectors 13-15 are included.

データバス30からの行先データは、比較器12に入力
され、そのデータをモジュールに入力するか否かを、モ
ジー−ルアドレスによって判断される。この判断結果に
より、ゲート11が制御され、変数識別子と数値データ
とがモジュール10に供給される。
Destination data from data bus 30 is input to comparator 12, and whether or not to input the data to the module is determined by the module address. Based on this determination, the gate 11 is controlled and the variable identifier and numerical data are supplied to the module 10.

このモジュール10は、加工部1.パラメータメモリ2
.識別子メモリ3.行先メモリ4と含んでいる。このモ
ジュール内のメモリには、あらかシメデータをプログラ
ムしておく。
This module 10 includes a processing section 1. Parameter memory 2
.. Identifier memory 3. It includes a destination memory 4. The memory in this module is programmed with some shimmering data.

変数識別子は、パラメータメモリ2に対してアドレスと
して動作し、パラメータ値7と内部識別子8とを出力さ
せる。この内部識別子8により識別子メモリ39行先メ
モリ4から、それぞれ加工後の新しい変数識別子9行先
データを出力させ、セレクタ14.13を介してデータ
バス30Ki絖させる。加工部1は、パラメータ値7を
もとに数値データを加工して出力し、セレクタ15を介
してデータバス30と接続させる。このようにモシー−
ル10からの出力データは、セレクタ13〜15を通し
て再びデータバス3oに戻される。
The variable identifier acts as an address for the parameter memory 2 and causes the parameter value 7 and internal identifier 8 to be output. This internal identifier 8 causes the identifier memory 39 to output new variable identifier 9 destination data after processing from the destination memory 4, and connects it to the data bus 30Ki via the selector 14, 13. The processing section 1 processes and outputs numerical data based on the parameter value 7, and connects it to the data bus 30 via the selector 15. Mossy like this
The output data from bus 10 is returned to data bus 3o through selectors 13-15.

第2図、第3図は本実施例のサブルーチン入力時および
出力時の関連部分のブロック図を示している。本実施例
は、変数識別子の、例えば最上位ビットがrxJ、ro
Jによって入力側になるか出力側になるかが切換えられ
る。
FIGS. 2 and 3 show block diagrams of relevant parts during input and output of the subroutine of this embodiment. In this embodiment, for example, the most significant bit of the variable identifier is rxJ, ro
J allows switching between input and output sides.

第2図のように入力側の場合、変数識別子は、パラメー
タメモリ2にアドレスとして入力され、パラメータ7と
内部識別子8とが出力される。パラメータ7の最上位ビ
ットが「1」のときモジ−一ルlOはサブルーチン入力
用に切換えられる。
In the case of the input side as shown in FIG. 2, the variable identifier is input as an address to the parameter memory 2, and the parameter 7 and internal identifier 8 are output. When the most significant bit of parameter 7 is "1", module lO is switched for subroutine input.

内部識別子8は、識別子メモリ31行先メモリ4に対し
てアドレスとして動作し、新しい変数識別子9行先デー
タを出力させる。さらに、内部識別子8はスタックメモ
リ6に値が保持される。
The internal identifier 8 acts as an address for the identifier memory 31 destination memory 4, and causes the new variable identifier 9 destination data to be output. Furthermore, the value of the internal identifier 8 is held in the stack memory 6.

新しい変数識別子は、ポインタメモリ5にアドレスとし
て動作し、スタックポインタ9を出力させる。このスタ
ックポインタ9は、内部識別子8をスタックメモリ6に
入力する時のアドレスとして用いられる。なお、スタッ
クメそり6中のスタックポインタ9の値は、ポインタ出
力後に「+1」にインクリメントされて次の入力に備え
る。
The new variable identifier acts as an address in the pointer memory 5 and causes the stack pointer 9 to be output. This stack pointer 9 is used as an address when inputting the internal identifier 8 into the stack memory 6. Note that the value of the stack pointer 9 in the stack memory 6 is incremented to "+1" after the pointer is output in preparation for the next input.

次に、第3図のように出力側の場合、変数識別子は、パ
ラメータメモリ2にアドレスとして入力され、パラメー
タ7と内部識別子8とを出力される。パラメータ7の最
上位ビットが「0」のとき、モジュール10はサブルー
チン出力用に切換えられる。内部識別子8はポインタメ
モリ5にアドレスとして動作し、スタックポインタ9を
出力させる。このスタックボイyり9はスタックメモリ
6にアドレスとして動作し、サブルーチン入力時に入力
されていた内部識別子8のデータを出力させる。スタッ
クポインタ9の値は、ポインタ出力後「−1」にデクリ
メントされて、次の入力に備える。このスタックメモリ
6の出力は、識別子メモリ31行先メモリ4に対してア
ドレスとして動作し、新しい変数識別子9行先データを
出力する。
Next, in the case of the output side as shown in FIG. 3, the variable identifier is input as an address to the parameter memory 2, and the parameter 7 and internal identifier 8 are output. When the most significant bit of parameter 7 is "0", module 10 is switched for subroutine output. The internal identifier 8 acts as an address in the pointer memory 5 and causes the stack pointer 9 to be output. This stack void 9 acts as an address in the stack memory 6, and causes the data of the internal identifier 8 that was input at the time of inputting the subroutine to be output. After the pointer is output, the value of the stack pointer 9 is decremented to "-1" in preparation for the next input. The output of this stack memory 6 acts as an address for the identifier memory 31 destination memory 4, and outputs new variable identifier 9 destination data.

第4図は本実施例を用いたサブルーチン動作例のフロー
図である。まずステップ41において、例えば変動識別
子r001Jで内部識別子「001」、行先データ「サ
ブルーチンモジュール」、スタックポインタ「001→
002」として入力動作が行われ、変動識別子r OO
2J、行先データ「加算モジュール」となって、ステッ
プ42で加算などのサブルーチン演算が行われる。この
サブルーチン演算が終了すると、ステップ43で変動識
別子ro03Jで、内部識別子r002.J、行先デー
タ「サブルーチンモジー−ル」、スタックポインタ「0
02→001」として出力動作が行われ、変動識別子r
 004 J、行先データ「乗算モジュール」となって
、ステップ44で次の演算が行われる。その後、ステッ
プ45でサブルーチンモジュールの入力動作、ステップ
46でサブルーチン演算が行われ、ステップ47で出力
動作が行われ次の動作へ移行する。
FIG. 4 is a flow diagram of an example of subroutine operation using this embodiment. First, in step 41, for example, the variable identifier r001J, the internal identifier "001", the destination data "subroutine module", and the stack pointer "001→
002", and the variation identifier r OO
2J, the destination data becomes the "addition module", and subroutine operations such as addition are performed in step 42. When this subroutine operation is completed, in step 43, the variable identifier ro03J is used, and the internal identifier r002. J, destination data “subroutine module”, stack pointer “0”
02→001", and the fluctuation identifier r
004 J, the destination data becomes "multiplication module" and the next operation is performed in step 44. Thereafter, an input operation of the subroutine module is performed in step 45, a subroutine calculation is performed in step 46, an output operation is performed in step 47, and the process moves to the next operation.

第5図は本実施例のサブルーチンモジュールを用いて実
施される再帰動作例のフロー図である。
FIG. 5 is a flow diagram of an example of recursive operation performed using the subroutine module of this embodiment.

第4図の場合と同様にして、まずステップ51でサブル
ーチンモジュールの入力動作が行われ再癩ルーチンAが
選択され、ステップ50で再帰ルーチン(A)の再帰動
作に入る。この再帰動作が終了すると、ステップ52で
出力動作を行って次の動作へ移る。この再帰ルーチンA
は、まずステップ53で判断処理が行われ、入力データ
値が1であるか否かを判定し、そのデータ値が「1」で
あれは、その再帰動作は終了する。このデータ値が「1
」でなければ、ステップ54の加算処理で、データ値を
「−1」として、ステップ55のサブルーチン入力動作
となり、ステップ56でデータ値(n−1)における再
帰ルーチン人が行われる。
As in the case of FIG. 4, first, in step 51, the input operation of the subroutine module is performed, and the recursive routine A is selected, and in step 50, the recursive operation of the recursive routine (A) is started. When this recursive operation is completed, an output operation is performed in step 52, and the process moves to the next operation. This recursive routine A
First, a determination process is performed in step 53 to determine whether the input data value is 1, and if the data value is 1, the recursive operation ends. This data value is “1”
'', the data value is set to ``-1'' in the addition process in step 54, and the subroutine input operation is performed in step 55. In step 56, the recursive routine is executed at the data value (n-1).

この再帰ルーチン人が終了すると、ステ、プ57でサブ
ルーチン出力動作となり、この出力側で保持された識別
子により、ステップ58で「×2」の乗算、ステップ5
9で「+」の加算処理が行われ再帰ルーチンを出る。
When this recursive routine is completed, the subroutine output operation occurs in step 57, and the identifier held on this output side is multiplied by "x2" in step 58, and step 5
At step 9, "+" is added and the recursive routine is exited.

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

以上説明したように、本発明は、スタック屋のメモリに
データ識別子を記憶しておくことにより、データフロー
型のマシンでサブルーチン動作や再帰的動作をするよう
に使用することが出来ると共に、さらに拡張識別子が不
要なためバスのハードウェア量が少なくてすむという利
点を持つ。
As explained above, by storing data identifiers in the memory of the stack shop, the present invention can be used to perform subroutine operations and recursive operations on a data flow type machine, and can be further expanded. It has the advantage that the amount of bus hardware can be reduced because no identifier is required.

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

第1図は本発明の一実施例を含むデータフロー型マシン
のブロック図、第2図、第3図は本実施例が入力側およ
び出力側となった場合の関連部分のブロック図、第4図
は本実施例の動作を説明するフロー図、第5図は本実施
例の再帰動作のフロー図、第6図は従来のデータフロー
型マシンの一例のフロー図である。 1・・・・・・加工部、2・・・・・・パラメータメモ
1ハ 3・・・識別子メモリ、4・・・・・・行先メモ
リ、5・・・・・・ポインタメモリ、6・・・・・・ス
タックメモリ、7・・・・・・パラメータ、8・・・・
・・内部識別子、9・・・・・・スタックポインタ、1
0パ・・・・サブルーチン用モジー−ル、11°°。 °゛°°ゲート2゛°゛°°°比較器、13〜15・・
・・・・セレクタ、20・・・・・・バス拳モジュール
接続器、30・・・・・・データバス、41〜47.5
0〜59.61〜67・・・・・・動作ステップ。 ム;′・ 二 代理人 弁理士  内 原   日 、・1、茅 l 
閉 $ 2 図 半 3 関 第 5 図
FIG. 1 is a block diagram of a data flow type machine including an embodiment of the present invention, FIGS. 2 and 3 are block diagrams of related parts when this embodiment is on the input side and output side, and FIG. FIG. 5 is a flowchart explaining the operation of this embodiment, FIG. 5 is a flowchart of recursive operation of this embodiment, and FIG. 6 is a flowchart of an example of a conventional data flow type machine. 1... Processing section, 2... Parameter memo 1c, 3... Identifier memory, 4... Destination memory, 5... Pointer memory, 6... ...Stack memory, 7...Parameter, 8...
...Internal identifier, 9...Stack pointer, 1
0P... Subroutine module, 11°°. °゛°°Gate 2゛°゛°°° Comparator, 13 to 15...
... Selector, 20 ... Bus fist module connector, 30 ... Data bus, 41 to 47.5
0~59.61~67...Movement step. Mu;'・2 Agents Patent Attorney Uchihara Hi,・1, Kaya L
Closed $ 2 Figure half 3 Seki Figure 5

Claims (1)

【特許請求の範囲】[Claims] 入力された変動識別子に従って入力動作および出力動作
を切替えこの変動識別子をアドレスとしてパラメータ値
と内部識別子とを出力するパラメータメモリと、前記パ
ラメータ値をもとに入力数値データを加工して出力する
加工部と、前記内部識別子を一時保持するスタックメモ
リと、このスタックメモリのアドレスを格納するポイン
タメモリと、前記内部識別子をそれぞれアドレスとして
入力し次の変動変動子および行先データをそれぞれ出力
する識別子メモリおよび行先メモリとを含むデータフロ
ー型マシンのサブルーチン用モジュール。
a parameter memory that switches input operation and output operation according to an input variation identifier and outputs a parameter value and an internal identifier using this variation identifier as an address; and a processing section that processes and outputs input numerical data based on the parameter value. , a stack memory that temporarily holds the internal identifier, a pointer memory that stores the address of this stack memory, and an identifier memory and destination that input the internal identifier as an address and output the next variable variable and destination data, respectively. A module for subroutines in dataflow machines, including memory.
JP23663985A 1985-10-22 1985-10-22 Module for subroutine of data flow type machine Expired - Lifetime JPH0642265B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23663985A JPH0642265B2 (en) 1985-10-22 1985-10-22 Module for subroutine of data flow type machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23663985A JPH0642265B2 (en) 1985-10-22 1985-10-22 Module for subroutine of data flow type machine

Publications (2)

Publication Number Publication Date
JPS6295637A true JPS6295637A (en) 1987-05-02
JPH0642265B2 JPH0642265B2 (en) 1994-06-01

Family

ID=17003603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23663985A Expired - Lifetime JPH0642265B2 (en) 1985-10-22 1985-10-22 Module for subroutine of data flow type machine

Country Status (1)

Country Link
JP (1) JPH0642265B2 (en)

Also Published As

Publication number Publication date
JPH0642265B2 (en) 1994-06-01

Similar Documents

Publication Publication Date Title
US5051911A (en) Apparatus for effecting simulation of a logic circuit and method for producing a semiconductor device using the simulation approach
EP0181516A2 (en) Data processing apparatus having efficient min and max functions
JP2001282529A (en) Linear address generating method
US4878189A (en) Microcomputer having Z-flag capable of detecting coincidence at high speed
EP0298418B1 (en) Virtual computer system
JPS6295637A (en) Subroutine module for data flow type machine
JPH0343827A (en) Fuzzy microcomputer
US4870606A (en) Trigonometric function preprocessing system
US5646974A (en) High speed apparatus for branch detection of a loop instruction
JP3201258B2 (en) Test data creation apparatus and method
JPH0619806A (en) Address generation circuit for data compression
JPS59184944A (en) Rounding arithmetic system
JPH0113129B2 (en)
JP2714015B2 (en) Logic circuit synthesizer
JP2629359B2 (en) Logic simulator
JPS5995646A (en) Arithmetic control system
JPH04184535A (en) Parallel arithmetic units
JPS60178539A (en) By-pass control system of information processor
JPH0764768A (en) Absolute value accumulator
KR100357175B1 (en) Digital signal processor
JPS61100836A (en) System for processing comparison and instruction of moving instruction logic
Dushina et al. Correct Reuse of Complex Design Units During High Level Synthesis: Verification Issues
JPH03163634A (en) Additional device for debug
JPH01189727A (en) Information processor
JPH10260834A (en) Load address predicting device, parallel processor, and its load address predicting method