JPH0642265B2 - Module for subroutine of data flow type machine - Google Patents
Module for subroutine of data flow type machineInfo
- Publication number
- JPH0642265B2 JPH0642265B2 JP23663985A JP23663985A JPH0642265B2 JP H0642265 B2 JPH0642265 B2 JP H0642265B2 JP 23663985 A JP23663985 A JP 23663985A JP 23663985 A JP23663985 A JP 23663985A JP H0642265 B2 JPH0642265 B2 JP H0642265B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- memory
- subroutine
- module
- 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.)
- Expired - Lifetime
Links
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータフロー型のアーキテクチャを持つ電子計
算機(マシン)のサブルーチン用モジュールに関する。The present invention relates to a module for a subroutine of an electronic computer (machine) having a data flow type architecture.
従来、データフロー型マシンのモジュールは、データの
並びが入れ換わることのないFIFO型のメモリを持
ち、サブルーチン動作を行なうためには色付きトークン
と呼ばれる拡張識別子を使っていた。Conventionally, a module of a data flow type machine has a FIFO type memory in which the arrangement of data is not exchanged, and an extended identifier called a colored token is used to perform a subroutine operation.
第6図はこの拡張識別子を用いたサブルーチンの動作例
を示すフロー図である。この場合、通常のデータフロー
型で必要とされるデータ値,識別子,行先の他に拡張識
別子も一緒にデータバスにのせて伝送している。図にお
いて、ステップ61で拡張識別子をセットし、ステップ
62でサブルーチンの演算動作を行い、ステップ63で
その拡張識別子を判定し、各種演算(ステップ64)を
行う。ステップ65,66,67でも同様にしてサブル
ーチン演算が行われる。FIG. 6 is a flowchart showing an operation example of a subroutine using this extended identifier. In this case, in addition to the data value, the identifier, and the destination required for the normal data flow type, the extended identifier is also placed on the data bus for transmission. In the figure, an extended identifier is set in step 61, a calculation operation of a subroutine is performed in step 62, the extended identifier is determined in step 63, and various calculations (step 64) are performed. Subroutine calculations are similarly performed in steps 65, 66 and 67.
〔発が解決しようとする問題点〕 上述した従来のデータフロー型マシンのモジュールは、
FIFO型の動作しか行なわないので、入れ子式になる
再帰的動作が困難である。そしてサブルーチンを使える
ように拡張識別子を用いると、データバスの量が増大し
てしまうという欠点がある。[Problems that the company is trying to solve] The module of the conventional data flow type machine described above is
Since only the FIFO type operation is performed, it is difficult to perform a recursive operation that becomes a nested expression. If the extended identifier is used so that the subroutine can be used, there is a drawback that the amount of data bus increases.
本発明の目的は、このような問題点を解決し、サブルー
チン動作の入出力動作を容易に可変できると共に再帰動
作が可能でハードウェアを少くできるデータフロー型マ
シンのサブルーチン用モジュールを提供することにあ
る。An object of the present invention is to solve such problems and provide a subroutine module of a data flow type machine which can easily change the input / output operation of the subroutine operation, can perform the recursive operation, and can reduce the hardware. is there.
本発明のデータフロー型マシンのサブルーチン用モジュ
ールは、入力された変動識別子に従って入力動作および
出力動作を切替えこの変動識別子をアドレスとしてパラ
メータ値と内部識別子とを出力するパラメータメモリ
と、前記パラメータ値をもとに入力数値データを加工し
て出力する加工部と、前記内部識別子を一時保持するス
タックメモリと、このスタックメモリのアドレスを格納
するポインタメモリと、前記内部識別子をそれぞれアド
レスとして入力し次の変動変動子および行先データをそ
れぞれ出力する識別子メモリおよび行先メモリとを含み
構成される。The module for subroutine of the data flow type machine of the present invention switches the input operation and the output operation according to the inputted variation identifier, and also has a parameter memory for outputting the parameter value and the internal identifier with the variation identifier as an address, and the parameter value. And 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 the stack memory, and the internal identifier that is input as an address, respectively It is configured to include an identifier memory and a destination memory which respectively output a variator and destination data.
次に本発明を図面により詳細に説明する。 Next, the present invention will be described in detail with reference to the drawings.
第1図は本発明の一実施例を用いたデータフロー型マシ
ンの部分ブロック図である。データフロー型マシンは、
モジュール10がバス・モジュール接続器20を介して
データバス30と接続されている。このデータバス30
によって変数識別子,行先データおよび数値データが送
られる。モジュール10は識別子によって入力側または
出力側に切換えられる。FIG. 1 is a partial block diagram of a data flow type machine using an embodiment of the present invention. The data flow type machine is
The module 10 is connected to the data bus 30 via the bus module connector 20. This data bus 30
Sends the variable identifier, destination data and numerical data. The module 10 is switched to the input side or the output side by the identifier.
バスモジュール接続器20には、ゲート11,比較器1
2,セレクタ13〜15が含まれる。The bus module connector 20 includes a gate 11 and a comparator 1.
2, selectors 13 to 15 are included.
データバス30からの行先データは、比較器12に入力
され、そのデータをモジュールに入力するか否かを、モ
ジュールアドレスによって判断される。この判断結果に
より、ゲート11が制御され、変数識別子と数値データ
とがモジュール10に供給される。Destination data from the data bus 30 is input to the comparator 12, and it is determined by the module address whether the data is input to the module. The gate 11 is controlled according to the result of this determination, and the variable identifier and the numerical data are supplied to the module 10.
このモジュール10は、加工部1,パラメータメモリ
2,識別子メモリ3,行先メモリ4と含んでいる。この
モジュール内のメモリには、あらかじめデータをプログ
ラムしておく。The module 10 includes a processing unit 1, a parameter memory 2, an identifier memory 3, and a destination memory 4. Data is programmed in advance in the memory in this module.
変数識別子は、パラメータメモリ2に対してアドレスと
して動作し、パラメータ値7と内部識別子8とを出力さ
せる。この内部識別子8により識別子メモリ3,行先メ
モリ4から、それぞれ加工後の新しい変数識別子,行先
データを出力させ、セレクタ14,13を介してデータ
バス30に接続させる。加工部1は、パラメータ値7を
もとに数値データを加工して出力し、セレクタ15を介
してデータバス30と接続させる。このようにモジュー
ル10からの出力データは、セレクタ13〜15を通し
て再びデータバス30に戻される。The variable identifier operates as an address for the parameter memory 2, and outputs the parameter value 7 and the internal identifier 8. The internal identifier 8 causes the identifier memory 3 and the destination memory 4 to output new processed variable identifiers and destination data, respectively, and connects them to the data bus 30 via the selectors 14 and 13. The processing unit 1 processes and outputs the numerical data based on the parameter value 7, and connects it to the data bus 30 via the selector 15. In this way, the output data from the module 10 is returned to the data bus 30 through the selectors 13 to 15.
第2図,第3図は本実施例のサブルーチン入力時および
出力時の関連部分のブロック図を示している。本実施例
は、変数識別子の、例えば最上位ビットが「1」,
「0」によって入力側になるか出力側になるかが切換え
られる。2 and 3 are block diagrams of relevant portions at the time of inputting and outputting the subroutine of this embodiment. In this embodiment, for example, the most significant bit of the variable identifier is "1",
The input side or the output side is switched by "0".
第2図のように入力側の場合、変数識別子は、パラメー
タメモリ2にアドレスとして入力され、パラメータ7と
内部識別子8とが出力される。パラメータ7の最上位ビ
ットが「1」のときモジュール10はサブルーチン入力
用に切換えられる。内部識別子8は、識別子メモリ3,
行先メモリ4に対してアドレスとして動作し、新しい変
数識別子,行先データを出力させる。さらに、内部識別
子8はスタックメモリ6に値が保持される。On the input side as shown in FIG. 2, the variable identifier is input to the parameter memory 2 as an address, and the parameter 7 and the internal identifier 8 are output. When the most significant bit of parameter 7 is "1", module 10 is switched for subroutine input. The internal identifier 8 is the identifier memory 3,
It operates as an address to the destination memory 4 and outputs a new variable identifier and destination data. Further, 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 operates as an address in the pointer memory 5 and causes the stack pointer 9 to be output. The stack pointer 9 is used as an address when the internal identifier 8 is input to the stack memory 6. The value of the stack pointer 9 in the stack memory 6 is incremented to "+1" after the pointer is output and prepared for the next input.
次に、第3図のように出力側の場合、変数識別子は、パ
ラメータメモリ2にアドレスとして入力され、パラメー
タ7と内部識別子8とを出力される。パラメータ7の最
上位ビットが「0」のとき、モジュール10はサブルー
チン出力用に切換えられる。内部識別子8はポインタメ
モリ5にアドレスとして動作し、スタックポインタ9を
出力させる。このスタックポインタ9はスタックメモリ
6にアドレスとして動作し、サブルーチン入力時に入力
されている内部識別子8のデータを出力させる。スタッ
クポインタ9の値は、ポインタ出力後「−1」にデクリ
メントされて、次の入力に備える。このスタックメモリ
6の出力は、識別子メモリ3,行先メモリ4に対してア
ドレスとして動作し、新しい変数識別子,行先データを
出力する。Next, on the output side as shown in FIG. 3, the variable identifier is input to the parameter memory 2 as an address, and the parameter 7 and the 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 operates as an address in the pointer memory 5 and outputs the stack pointer 9. The stack pointer 9 operates as an address in the stack memory 6 and outputs the data of the internal identifier 8 which is input when the subroutine is input. The value of the stack pointer 9 is decremented to "-1" after the pointer output and prepared for the next input. The output of the stack memory 6 operates as an address for the identifier memory 3 and the destination memory 4 and outputs a new variable identifier and destination data.
第4図は本実施例を用いたサブルーチン動作例のフロー
図である。まずステップ41において、例えば変動識別
子「001」で内部識別子「001」、行先データ「サ
ブルーチンモジュール」、スタックポインタ「001→
002」として入力動作が行われ、変動識別子「00
2」、行先データ「加算モジュール」となって、ステッ
プ42で加算などのサブルーチン演算が行われる。この
サブルーチン演算が終了すると、ステップ43で変動識
別子「003」で、内部識別子「002」、行先データ
「サブルーチンモジュール」、スタックポインタ「00
2→001」として出力動作が行われ、変動識別子「0
04」、行先データ「乗算モジュール」となって、ステ
ップ44で次の演算が行われる。その後、ステップ45
でサブルーチンモジュールの入力動作、ステップ46で
サブルーチン演算が行われ、ステップ47で出力動作が
行われ次の動作へ移行する。FIG. 4 is a flow chart of a subroutine operation example using this embodiment. First, in step 41, for example, the variable identifier “001” is used as the internal identifier “001”, the destination data “subroutine module”, and the stack pointer “001 →
The input operation is performed as “002”, and the variation identifier “00
2 ", the destination data becomes an" addition module ", and a subroutine calculation such as addition is performed in step 42. When this subroutine calculation is completed, in step 43, the variable identifier is “003”, the internal identifier is “002”, the destination data is “subroutine module”, and the stack pointer is “00”.
The output operation is performed as “2 → 001”, and the variation identifier “0
04 "and destination data" multiplication module ", and the next calculation is performed in step 44. Then, step 45
At step 46, the input operation of the subroutine module is performed. At step 46, the subroutine operation is performed. At step 47, the output operation is performed, and the operation proceeds to the next operation.
第5図は本実施例のサブルーチンモジュールを用いて実
施される再帰動作例のフロー図である。第4図の場合と
同様にして、まずステップ51でサブルーチンモジュー
ルの入力動作が行われ再帰ルーチンAが選択され、ステ
ップ50で再帰ルーチン(A)の再帰動作に入る。この再
帰動作が終了すると、ステップ52で出力動作を行って
次の動作へ移る。この再帰ルーチンAは、まずステップ
53で判断処理が行われ、入力データ値が1であるか否
かを判定し、そのデータ値が「1」であれば、その再帰
動作は終了する。このデータ値が「1」でなければ、ス
テップ54の加算処理で、データ値を「−1」として、
ステップ55のサブルーチ入力動作となり、ステップ5
6でデータ値(n−1)における再帰ルーチンAが行わ
れる。この再帰ルーチンAが終了すると、ステップ57
でサブルーチン出力動作となり、この出力側で保持され
た識別子により、ステップ58で「×2」の乗算、ステ
ップ59で「+」の加算処理が行われ再帰ルーチンを出
る。FIG. 5 is a flow chart of an example of the recursive operation performed by using the subroutine module of this embodiment. Similar to the case of FIG. 4, first, in step 51, the input operation of the subroutine module is performed to select the recursive routine A, and in step 50, the recursive operation of the recursive routine (A) is started. When this recursive operation is completed, the output operation is performed in step 52 and the next operation is performed. In the recursive routine A, a determination process is first performed in step 53 to determine whether or not the input data value is 1, and if the data value is "1", the recursive operation ends. If this data value is not "1", in the addition processing of step 54, the data value is set to "-1",
The subroutine input operation in step 55 is performed, and step 5
At 6, the recursive routine A for the data value (n-1) is performed. When this recursive routine A ends, step 57
Then, the subroutine output operation is performed, and the identifier held on the output side is used to perform multiplication of "× 2" in step 58 and addition processing of "+" in step 59 to exit the recursive routine.
〔発明の効果〕 以上説明したように、本発明は、スタック型のメモリに
データ識別子を記憶しておくことにより、データフロー
型のマシンでサブルーチン動作や再帰的動作をするよう
に使用することが出来ると共に、さらに拡張識別子が不
要なためバスのハードウェア量が少なくてすむという利
点を持つ。[Effects of the Invention] As described above, the present invention can be used to perform a subroutine operation or a recursive operation in a data flow type machine by storing a data identifier in a stack type memory. Besides, it has an advantage that the hardware quantity of the bus can be reduced because the extended identifier is unnecessary.
第1図は本発明の一実施例を含むデータフロー型マシン
のブロック図、第2図,第3図は本実施例が入力側およ
び出力側となった場合の関連部分のブロック図、第4図
は本実施例の動作を説明するフロー図、第5図は本実施
例の再帰動作のフロー図、第6図は従来のデータフロー
型マシンの一例のフロー図である。 1……加工部、2……パラメータメモリ、3……識別子
メモリ、4……行先メモリ、5……ポインタメモリ、6
……スタックメモリ、7……パラメータ、8……内部識
別子、9……スタックポインタ、10……サブルーチン
用モジュール、11……ゲート、12……比較器、13
〜15……セレクタ、20……バス・モジュール接続
器、30……データバス、41〜47,50〜59,6
1〜67……動作ステップ。FIG. 1 is a block diagram of a data flow type machine including an embodiment of the present invention, and FIGS. 2 and 3 are block diagrams of relevant portions when the present embodiment is an input side and an output side. FIG. 6 is a flow chart for explaining the operation of this embodiment, FIG. 5 is a flow chart of the recursive operation of this embodiment, and FIG. 6 is a flow chart of an example of a conventional data flow type machine. 1 ... Machining section, 2 ... Parameter memory, 3 ... Identifier memory, 4 ... Destination memory, 5 ... Pointer memory, 6
... stack memory, 7 ... parameter, 8 ... internal identifier, 9 ... stack pointer, 10 ... subroutine module, 11 ... gate, 12 ... comparator, 13
~ 15 ... selector, 20 ... bus module connector, 30 ... data bus, 41-47, 50-59, 6
1 to 67 ... Operation step.
Claims (1)
よび出力動作を切替えこの変動識別子をアドレスとして
パラメータ値と内部識別子とを出力するパラメータメモ
リと、前記パラメータ値をもとに入力数値データを加工
して出力する加工部と、前記内部識別子を一時保持する
スタックメモリと、このスタックメモリのアドレスを格
納するポインタメモリと、前記内部識別子をそれぞれア
ドレスとして入力し次の変動変動子および行先データを
それぞれ出力する識別子メモリおよび行先メモリとを含
むデータフロー型マシンのサブルーチン用モジュール。1. A parameter memory for switching between input operation and output operation according to an input variable identifier and outputting a parameter value and an internal identifier using the variable identifier as an address, and processing input numerical data based on the parameter value. Output unit, a stack memory that temporarily holds the internal identifier, a pointer memory that stores the address of the stack memory, and the internal identifier that is input as an address, and the next fluctuation variator and destination data are output. A module for a subroutine of a data flow type machine including an identifier memory and a destination memory.
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 JPS6295637A (en) | 1987-05-02 |
JPH0642265B2 true 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) |
-
1985
- 1985-10-22 JP JP23663985A patent/JPH0642265B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS6295637A (en) | 1987-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4591979A (en) | Data-flow-type digital processing apparatus | |
EP0118781A2 (en) | Control flow parallel computer system | |
US5043880A (en) | Data flow processor which combines packets having same identification and destination and synchronizes loop variables for detecting processing loop termination | |
JPH01265347A (en) | Address generating device | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
US4757444A (en) | Vector processor capable of performing iterative processing | |
JPH0642265B2 (en) | Module for subroutine of data flow type machine | |
JPH0831033B2 (en) | Data processing device | |
JP2714015B2 (en) | Logic circuit synthesizer | |
US5018092A (en) | Stack-type arithmetic circuit | |
JPH02205937A (en) | Information processing system | |
JPS6260755B2 (en) | ||
JPS6152517B2 (en) | ||
JP2511262Y2 (en) | Digital signal processor | |
JPS6227830A (en) | Interruption control system | |
JP3232717B2 (en) | Circuit description synthesizer | |
JPS59105110A (en) | Programmable controller | |
JPH0250220A (en) | Summarized arithmetic processing machine | |
JPS61253503A (en) | Sequence controller | |
JPH04365174A (en) | Signal delay time calculating system | |
JPS6031662A (en) | Address control circuit | |
JPH06282601A (en) | Logical simulator | |
JPS616738A (en) | Processor | |
JPH02141825A (en) | Arithmetic unit | |
JPS5935452B2 (en) | Addressing methods and devices |