JPS5927352A - Data flow computer controlling system - Google Patents

Data flow computer controlling system

Info

Publication number
JPS5927352A
JPS5927352A JP13587182A JP13587182A JPS5927352A JP S5927352 A JPS5927352 A JP S5927352A JP 13587182 A JP13587182 A JP 13587182A JP 13587182 A JP13587182 A JP 13587182A JP S5927352 A JPS5927352 A JP S5927352A
Authority
JP
Japan
Prior art keywords
tag
address
operand
environment
controller
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
JP13587182A
Other languages
Japanese (ja)
Inventor
Shigeki Yamada
茂樹 山田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP13587182A priority Critical patent/JPS5927352A/en
Publication of JPS5927352A publication Critical patent/JPS5927352A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To suppress an environment tag to a fixed bit, and to realize generation and erasion of a tag at a high speed, by using a memory address of an idle area of a tag control table, as a new environment tag bit, and storing an old environment tag in the idle area. CONSTITUTION:A processing element PE has K-pieces of PEs 11-1k. As for an operand of a result operated by the PEs 11-1k, PE of a transfer destination is determined in accordance with a PE mapping method, and is sent to an operand network 2. The network 2 executes routing by seeing a transfer destination PE number added to the operand, and sends the operand to a prescribed PE. Inherent device number is given to I/O controllers 31-3m for controlling an input/ output apparatus, etc., in the same way as the PE. When controlling the I/O controller from the PE, a destination I/O controller number is added to a control data, it is subjected to routing in the network 2, and is sent to a prescribed I/O controller. Plural input/output apparatuses 4 are connected to the I/O controller.

Description

【発明の詳細な説明】 発明の技術分野 本発明は、タグ付トークン制御方式を用いたデータフロ
ー計算機において、効率的にタグ発生・消去の管理を行
う方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION Technical Field of the Invention The present invention relates to a method for efficiently managing tag generation and deletion in a data flow computer using a tagged token control method.

技術の背景 従来、7オン・ノイマン型と称されてきた計算機では、
ただ1個のプログラムカウンタによって指定されたアド
レスの命令をメモリから順次数シ出して実行するために
、基本的には一度に1個の命令しか実行できず、多数の
異なる命令を一度に並列実行させることが本質的に困難
であった。データフロー制御方式を用いた計算機(デー
タフロー計算機)は、7オン・ノイマン型計算機と異な
ってプログラムカウンタを持たず「演算対象であるオペ
ランド、即ちデータがすべて使用可能になったとき、そ
の命令が実行可能となる」というデータ駆動の規則にし
たがって命令実行が制御される。このデータ駆動の規則
によυ、データが揃って実行可能となった命令が複数個
あれば、これらを同時に並列実行できるので、7オン・
ノイマン型計算機に比較して高い処理能力を実現するこ
とができる。データフロー計算機における命令実行制御
の一例を以下に示す。
Technical background Traditionally, computers that have been called 7-on-Neumann type have
Basically, only one instruction can be executed at a time, and many different instructions can be executed in parallel at once, since the instructions at the address specified by a single program counter are sequentially retrieved from memory and executed. It was essentially difficult to do so. Computers using the data flow control method (data flow computers) differ from 7on Neumann type computers in that they do not have a program counter. Instruction execution is controlled according to data-driven rules such that the command is executable. According to this data-driven rule, υ, if there are multiple instructions that can be executed with the same data, they can be executed in parallel at the same time.
It can achieve higher processing power than a von Neumann computer. An example of instruction execution control in a data flow computer is shown below.

第1図は、C=(,4+1 )*(f−1、D=(A−
E)/Bのプログラムをコンパイラによって変換したデ
ータフローグラフで、各ノードはデータフロー計算機の
命令に対応し、ノード間を接続するアーク上をデータ(
これをトークンと呼ぶ)が移動する。
In Figure 1, C=(,4+1)*(f-1, D=(A-
E) A data flow graph obtained by converting the /B program using a compiler. Each node corresponds to an instruction from the data flow computer, and data (
This is called a token) is moved.

たとえは、第1図で初期値としてAm8 、 B=2 
 を仮定し、ノード町にAm8のデータが入力されると
ノード町が起動され、演算結果8+1=9を出力アーク
上に出力する。一方ノードn、は、Am8とB=2の2
個のデータが揃った時点で起動され、演算結果8−2=
6を出力する。これによシ、ノード町の2個の入力デー
タ(9と6)と、ノードn4の2個の入力データ(6と
2)が揃ったので、両ノードが並列起動され、ノードn
、は9*6=54を、ノードn、は6+2=3を出力し
演算を終了する。
For example, in Figure 1, the initial value is Am8, B=2
Assuming that, when the data of Am8 is input to the node town, the node town is activated and outputs the calculation result 8+1=9 on the output arc. On the other hand, node n is 2 of Am8 and B=2.
It is activated when the data for 8-2=
Outputs 6. As a result, the two input data for node town (9 and 6) and the two input data for node n4 (6 and 2) are now available, so both nodes are activated in parallel, and node n
, outputs 9*6=54, node n outputs 6+2=3, and the operation ends.

第1図のブータフローブ27については、実際には、命
令ノードの演算種類と、ノード間の接続関係をプログラ
ムとしてメモリ上に記憶させ、マシンがある命令の演算
結果(データ)を、指定された接続関係にしたがって次
の命令の存在するメモリへ転送することによシ実現さ九
る。
Regarding the booter lobe 27 in FIG. 1, in reality, the type of operation of an instruction node and the connection relationship between the nodes are stored in memory as a program, and the machine outputs the operation result (data) of a certain instruction using the specified connection. This is accomplished by transferring to the memory where the next instruction resides according to the relationship.

ここで第1図のプログラムが同時に異なる2個のプログ
ラム(PIQ)  から呼び出されて並列実行されると
きには、第1図のデータフローグラフの同一アーク上に
2個のプログラムp+Qに対応した2種類のトークンが
存在する。この上うな猿境下で演算を実行する方法とし
て、各々のトークンにPrQのいずれから呼び出された
かを示す識別情報(環境タグ)を付加し、同じタグを持
つトークンとおしの間で演算を行う「タグ付トークン方
式」が提案されている。
Here, when the program in Figure 1 is simultaneously called by two different programs (PIQ) and executed in parallel, two types of programs corresponding to the two programs p+Q are placed on the same arc in the data flow graph in Figure 1. Token exists. As a method to perform calculations under such conditions, we add identification information (environment tag) to each token indicating which PrQ it was called from, and perform calculations between tokens with the same tag. A ``tagged token method'' has been proposed.

従来技術と問題点 従来のタグ付トークン方式をそのままデータフロー計算
機で実現させようとすると、以下のような問題が生じる
PRIOR ART AND PROBLEMS If the conventional tagged token method is directly implemented in a data flow computer, the following problems will arise.

たとえば、プログラムP1がプログラムP、を呼出し、
プログラムP、がプログラムP1を呼出す場合、P、で
使用されるトークンの環境タグピット長はP1識別コー
ド長であシ、P、で使用されるトークンの環境タグビッ
ト長はP1識別コード長十P、識別コード長となる。す
なわち、プログラムのネストの深さに応じて実行時に環
境タグピット長が可変にな、ってしまい、ハードウェア
の制御が著しく複雑化するとともに、ネストが深い場合
には環境タグピット長が非常に大きくなシ、効率的なデ
ータフロー計算機を提供することが困難であった。
For example, program P1 calls program P,
When program P, calls program P1, the environment tag pit length of the token used in P is the P1 identification code length, and the environment tag bit length of the token used in P is P1 identification code length ten P. This is the identification code length. In other words, the length of the environment tag pit becomes variable during execution depending on the depth of the nesting of the program, which significantly complicates the control of the hardware, and when the nesting is deep, the length of the environment tag pit becomes extremely large. However, it has been difficult to provide an efficient data flow calculator.

発明の目的 本発明は、これらの欠点を除去するため、メモリ上に環
境タグを記憶するタグ管理テーブルを用意し、該タグ管
理テーブルの空きエリアのメモリアドレスポインタを新
環境タグとして用い、該空きエリアに旧環境タグを記憶
させることによシ、環境タグを固定ピットに抑えるとと
もに、環境タグの発生・消去を高速かつ容易に行うもの
で、以下本発明の実施例を図面を用いて詳細に説明する
Purpose of the Invention In order to eliminate these drawbacks, the present invention provides a tag management table for storing environment tags in memory, uses a memory address pointer of an empty area of the tag management table as a new environment tag, and stores environment tags in the empty area. By storing the old environment tag in the area, the environment tag can be suppressed to a fixed pit, and the environment tag can be generated and deleted quickly and easily.Examples of the present invention will be described in detail below using drawings. explain.

発明の実施例 第2図は本発明によるデータフロー計算機のシステム構
成図で、11〜1□IdK個のプロセシングエレメント
(PR)であシ、これは通常の7オン・ノイマン型計算
機のプロセッサ(メモリを含む)に相当する。各PEは
命令演算の実行以外にオペランドの到着の待ち合わせや
実行可能な命令の検出などデータフロー制御に特有な機
能を有する。PE1゜〜1Kによって演算された結果の
オペランドは、ある規則(これをPEマツピング法と呼
ぶ)にしたがって転送先のPEが決められ、オペランド
ネットワーク2に送シ出される。オペランドネットワー
ク2は、オペランドに付加された転送先PK番号を見て
ルーチングを行い、所定のPHにオペラン、ドを送シこ
む。3.〜3.は入出力機器類を制御する大めの10コ
ントローラでオペランドネットワーク2を介してPE1
.〜1Kに接続されている。各10コントローラには、
PEと同じように固有の装置番号が付与されておシ、P
Eから10コントローラを制御するときには、制御デー
タ(オペ2ンド)に宛先10コントローラ番号を付加す
ることにょシ、オペランドネットワーク2内でルーチン
グされて新宮のIOコントローラに送られる。4は複数
の入出力機器であシ、各10コントローラ#1(3,)
”2(3*)+・・・・・・、*m(Am)にはそれぞ
れ”1 * ”M r・聞・、rm台の入出力機器が接
続されている。5.〜5には各PE1.〜1Xを共通メ
モリコントローラ6および共通メモリ7に接続するだめ
のパスカップ2である。8は共通パスである。
Embodiment of the Invention FIG. 2 is a system configuration diagram of a data flow computer according to the present invention, which has 11 to 1□IdK processing elements (PR), which corresponds to the processor (memory ). In addition to executing instruction operations, each PE has functions specific to data flow control, such as waiting for the arrival of operands and detecting executable instructions. The operands resulting from the calculations performed by the PEs 1° to 1K are sent to the operand network 2 after a transfer destination PE is determined according to a certain rule (this is called a PE mapping method). The operand network 2 performs routing by looking at the transfer destination PK number added to the operand, and sends the operand and do to a predetermined PH. 3. ~3. is a large 10 controller that controls input/output devices and connects PE1 via operand network 2.
.. Connected to ~1K. Each 10 controllers include
A unique device number is assigned like the PE, and the P
When controlling 10 controllers from E, a destination 10 controller number is added to the control data (operand 2), which is routed within the operand network 2 and sent to the IO controller in Shingu. 4 is multiple input/output devices, each 10 controller #1 (3,)
``2(3*)+..., *m(Am) are connected to ``1*'' M r, m, and rm input/output devices, respectively. A path cup 2 is used to connect each PE1. to 1X to a common memory controller 6 and a common memory 7. 8 is a common path.

第6図は、本発明の一実施例である共通メモリコントロ
ー26と共通メモリ7の関連を説明する詳細図である。
FIG. 6 is a detailed diagram illustrating the relationship between the common memory controller 26 and the common memory 7, which is an embodiment of the present invention.

ここで9は受信データレジスタで、各PEよシ共通バス
8を介して送られてきた環境タグの更新および復旧要求
が、一旦この受信データレジスタ9に記憶される。受信
データレジスタ9は、第5図に示すように制御オーダフ
ィールド9、と環境タグフィールド9.よ多構成される
。10は9Mアドレスレジスタで、受信データの送信側
装置を指定する送信装置番号フィールド101及び受信
側装置を指定する受信装置番号フィールド10゜よ多構
成される。11はシーケンス制御部で、受信データレジ
スタ9内の制御オーダをデコードし、演算・テスト回路
12や各種レジスタ類に対して各種タイミング信号や制
御信号を発生する。16は共通メモリ(chr )7を
アクセスするためのアドレスを記憶する0Mアドレスレ
ジスタ、14tj、演算の中間結果や各種制御情報を記
憶するデータレジスタ群、15はオペランドパス、16
はリサルトパスである。17は共通パス8を介してPE
にアンサデータを返すための送信データレジスタ、 1
8は送信アドレスレジスタで、受信アドレスレジスタ1
0と同様に送信装置番号フィールド181および受信装
置番号フィールド18.よ多構成される。
Here, reference numeral 9 denotes a reception data register, and the environment tag update and restoration requests sent from each PE via the common bus 8 are temporarily stored in this reception data register 9. The reception data register 9 includes a control order field 9, an environment tag field 9. as shown in FIG. It is composed of many. Reference numeral 10 denotes a 9M address register, which includes a transmitting device number field 101 for specifying the transmitting device of received data and a receiving device number field 10° for specifying the receiving device. Reference numeral 11 denotes a sequence control unit that decodes the control order in the received data register 9 and generates various timing signals and control signals to the arithmetic/test circuit 12 and various registers. 16 is an 0M address register that stores an address for accessing the common memory (chr) 7; 14tj is a data register group that stores intermediate results of operations and various control information; 15 is an operand path;
is the result pass. 17 is connected to PE via common path 8
Transmit data register for returning answer data to 1
8 is the transmit address register, and receive address register 1
Similarly to 0, the transmitting device number field 181 and the receiving device number field 18. It is composed of many.

まず、環境タグを新たに発生する方法を述べる。First, we will explain how to generate a new environment tag.

ステップ1:環境タグ発生要求は、あるPEでタグ発生
のための特殊な命令(たとえはプロシージャコール命令
)を実行した場合に、共通メモリコントロー56へ伝え
られる。たとえばPE#1(1□)でタグ発生要求命令
が実行されると、PE*1(1t)は第4図αの「アド
レス」、第4図すの「データ」からなる第4図のPEか
ら共通メモリコントローラ6への転送情報に示すように
新タグ発生に必要な情報(新タグ要求の制御オーダと現
在の環境タグピット)をパスカップラ#1(5,)を経
由してメモリコントローラ6内の受信データレジスタ9
0制御オーダフィールド9゜と環境タグフィールド9.
に送シ、また送信装置番号と受信装置番号を受信アドレ
スレジスタ10内の送信装置番号フィールド10.と受
信装置番号フィールド10.に送シこむ。第4図すの制
御オーダ1はタグ発生要求を意味する。
Step 1: An environment tag generation request is transmitted to the common memory controller 56 when a certain PE executes a special instruction (for example, a procedure call instruction) for generating a tag. For example, when a tag generation request command is executed in PE#1 (1□), PE*1 (1t) is the PE in Figure 4 consisting of the "address" in Figure 4 α and the "data" in Figure 4 As shown in the information transferred from to the common memory controller 6, the information necessary for new tag generation (the control order of the new tag request and the current environment tag pit) is transferred to the memory controller 6 via path coupler #1 (5,). Receive data register 9
0 control order field 9° and environment tag field 9.
and the transmitting device number and receiving device number in the transmitting device number field 10. in the receiving address register 10. and receiving device number field 10. Send it to. Control order 1 in FIG. 4 means a tag generation request.

ステップ2ニジ−ケンス制御部11は、受信データレジ
スタ90制御オーダフイールド9.をデコードして新タ
グ発生要求(=1)であることを知ると、環境タグピッ
トをキーとして、演算・テスト回路12を用いてハツシ
ングを行う。すなわち、Xをキー、ハツシュ関数A(z
)を、たとえばA(z) =が(モジュロ256)とし
、共通メモリ7上に用意したハツシュテーブル(タグ管
理テーブル)のエントリサイズを256とすると、第4
図すからz−24とし”r Z2= 24” −576
となるが、モジュロ256の演算を行うのでこの値はA
(Z)〜24”=576→576−256 x 2 =
 64 (モジュロ256の演$#)となシ、この値が
最終的に演算・テスト回路12よシ出力される。この陣
をノ・ツシュテープルのアドレスとして使用するために
、CMアドレスレジスタ13に一旦スドアスル。ハツシ
ュテーブルは、第5図に示すように共通メモリ7の0番
地から255番地までのエリアを占めており、各エント
リは空/塞表示フィールドおよび環境タグフィールドよ
多構成される。この例では、ハツシュテーブルの64番
地を読み出す。
Step 2 The error control unit 11 inputs the received data register 90 control order field 9. When it is decoded and found to be a new tag generation request (=1), hashing is performed using the arithmetic/test circuit 12 using the environmental tag pit as a key. In other words, X is the key, hash function A(z
), for example, if A(z) = (modulo 256) and the entry size of the hash table (tag management table) prepared on the common memory 7 is 256, then the fourth
From the figure, let's say z-24"r Z2= 24" -576
However, since the calculation is performed modulo 256, this value is A
(Z) ~ 24” = 576 → 576-256 x 2 =
64 (modulo 256 operation $#), and this value is finally output from the arithmetic/test circuit 12. In order to use this group as the address for the next staple, it is temporarily assigned to the CM address register 13. As shown in FIG. 5, the hash table occupies an area from address 0 to address 255 in the common memory 7, and each entry is composed of an empty/full field and an environment tag field. In this example, address 64 of the hash table is read.

これを演算・テスト回路12に入力し、空/塞表示フィ
ールドをテストすることによシ、64番地に塞表示が誉
きこまれていることをシーケンス制御部11が検出する
。これは、ハツシュ法における衝突現象であシ、64番
地には、既に他の用途のために情報が記憶されているこ
とを示している。
By inputting this to the arithmetic/test circuit 12 and testing the empty/occupied display field, the sequence control section 11 detects that the empty/occupied display is written at address 64. This is a collision phenomenon in the hash method, and indicates that information is already stored at address 64 for another purpose.

ステップ6:衝突現象を回避して別の空きエリアを見つ
ける方法として、開番地法や連鎖法など種々の方法が公
知であるが、ここでは最も簡単な開番地法を述べる。す
なわちシーケンス制御部11は、 CMアドレスレジス
タ13 (7) 内容(〜64)を演算・テスト回路1
2で+1して再びCMアドレスレジスタ16に戻す。こ
れによって共通メモリ7の65番地の内容を読み出す。
Step 6: Various methods such as the open address method and the chain method are known as methods for avoiding the collision phenomenon and finding another vacant area, but the simplest open address method will be described here. That is, the sequence control unit 11 calculates the contents (~64) of the CM address register 13 (7) and sends it to the test circuit 1.
2, it is incremented by 1 and returned to the CM address register 16 again. As a result, the contents of address 65 of the common memory 7 are read out.

第5図に示すように、65番地の内容の空/塞表示フィ
ールドは空を示しておシ、これを演算・テスト回路12
で検出すると、シーケンス制御部11はこのメモリアド
レス(65番地)自体を新しい環境タグとして割シ当て
るために、CMアドレスレジスタ16の内容(−65)
を演算・テスト回路12経由(演算実行させず、単にス
ルーさせる)で送信データレジスタ17にストアする。
As shown in FIG. 5, the empty/full display field at address 65 indicates empty, and this
When detected, the sequence control unit 11 assigns the memory address (address 65) itself as a new environment tag by assigning the contents (-65) of the CM address register 16.
is stored in the transmission data register 17 via the arithmetic/test circuit 12 (the arithmetic is not executed, but simply passed through).

さらに新タグ発生を要求したPE#1(11)に新タグ
を送シ返すために、受信アドレスレジスタ10 (7)
該各フィールド10. 、10.内の送信装置番号(=
J)E#1)  と受信装置番号(−メモリコントロー
ラ番号)とを演算・テスト回路12で互いに入れかえ、
送信アドレスレジスタ18ニセツトする。その結果は、
送信アドレスレジスタ18内の送信装置番号=メモリコ
ントローラ番号、受信装置番号=PE#1 となる。
Furthermore, in order to send a new tag back to PE#1 (11) that requested new tag generation, the reception address register 10 (7)
Each field 10. , 10. Transmitting device number (=
J) Exchange E#1) and the receiving device number (-memory controller number) with each other in the arithmetic/test circuit 12,
The transmission address register 18 is reset. The result is
The transmitting device number in the transmitting address register 18=memory controller number, and the receiving device number=PE#1.

ステップ4:送信アドレスレジスタ18と送信データレ
ジスタ17の内容を共通バスに送シ出す前に以下の後処
理を行う。すなわち、シーケンス制御部11は、演算・
テスト回路12で、受信データレジスタ9の環境タグフ
ィールド9.(値24)と空/塞衣示フイレルドに対応
するビット位置を1(=塞状態)にしたフィールドとを
合成編集し、リザルトバス16を経由して共通メモリ7
065′&地(CMアドレスレジスタ13で指定されて
いる)にストアする。その結果のハツシュテーブルのマ
ツプを嬉6図に示す。
Step 4: Perform the following post-processing before sending the contents of the transmission address register 18 and transmission data register 17 to the common bus. That is, the sequence control unit 11 performs calculations and
In the test circuit 12, the environment tag field 9. of the receive data register 9. (value 24) and the field in which the bit position corresponding to the empty/occupied field is set to 1 (=occupied state) are combined and edited, and the result is sent to the common memory 7 via the result bus 16.
Store in 065'& (specified by CM address register 13). The resulting hashtable map is shown in Figure 6.

ステップ5:縦波に、送信アドレスレジスタ18と送信
データレジスタ17の内容を示す第7図αの「ア、ドレ
ス」、第7図すの「データ」を共通バス8を介してPE
#1へ返送することによシ、PE群1.〜1には65と
いう値を持つ新環境タグをオペ2ンドデータに付加して
使用することができる。
Step 5: The "address" shown in FIG.
By sending it back to #1, PE group 1. ~1 can be used by adding a new environment tag with a value of 65 to the operand data.

以上示したように、新環境タグの割シ当て要求が発生す
るたびに、テーブルの空きエリアを探してそのアドレス
を新環境タグとして割)当てることによシ、多数の環境
タグビットが互いに重複しないように容易に制御するこ
とができる。
As shown above, each time a request to allocate a new environment tag occurs, by searching for an empty area in the table and allocating that address as a new environment tag, a large number of environment tag bits overlap with each other. It can be easily controlled not to.

次に旧櫨境タグへの復旧(現環境タグから旧嬢境タグに
戻す)方法を説明する。
Next, a method for restoring to the old Kashikyou tag (returning from the current environment tag to the old Kashikyou tag) will be explained.

ステップ1:タグの復旧要求は、タグ発生要求と同様に
特殊な命令によシ発せられ、この命令を実行しているP
R(たとえばPA’#3(1a) )よシバスカツプラ
58.共通バス8を経由してPRから共通メモリコント
ローラ6への転送情報を示す第8図αの「アドレス」、
第8図すの「データ」に示す制御情報が受信アドレスレ
ジスタ10と受信データレジスタ9に入れられる。シー
ケンス制御部11は、第8図すの制御オーダ(〜2(タ
グ復旧要求))を見て、タグ復旧〜要求であることを検
出し、受信データレジスタ9の現環境タグフィールド9
.(値65を持つ)を演算・  」テスト回路12に入
力し、スルーさせてCMアドレスレジスタ15にストア
する。この値(現環境タグの値65)は第6図に示すよ
うに旧環境タグを記憶している共通メモリエリアのアド
レスそのものであるから、旧環境タグを記憶するエリア
をわざわざサーチする必要はなく、現環境タグを用いて
、直接、高速に旧項境タグ(値24)を読み出すことが
できる。これを演算・テスト回路12に入れ、スルーで
通過させ、リザルトハス16を介して送信データレジス
タ17にストアする。シーケンス制御部は、さらに受信
アドレスレジスタ1oの送信装置番号(PEII5)と
、受信装置番号(メそリコントローラ番号)とを演算・
テスト回路12で互いに入れかえて、送信アドレスレジ
スタ17ニセツトスル。
Step 1: A tag recovery request is issued by a special command similar to a tag generation request, and the tag
R (for example, PA'#3 (1a)), Shiba Katsupura 58. “Address” in FIG. 8 α showing information transferred from the PR to the common memory controller 6 via the common bus 8;
Control information shown in "Data" in FIG. 8 is entered into the reception address register 10 and the reception data register 9. The sequence control unit 11 looks at the control order (~2 (tag recovery request)) shown in FIG.
.. (having a value of 65) is input to the arithmetic test circuit 12, passed through, and stored in the CM address register 15. This value (value 65 of the current environment tag) is the exact address of the common memory area that stores the old environment tag, as shown in Figure 6, so there is no need to go out of your way to search for the area that stores the old environment tag. , the old item boundary tag (value 24) can be read directly and quickly using the current environment tag. This is input into the arithmetic/test circuit 12, passed through, and stored in the transmission data register 17 via the result lot 16. The sequence control unit further calculates and calculates the transmitting device number (PEII5) of the receiving address register 1o and the receiving device number (memory controller number).
The test circuit 12 replaces each other and the transmission address register 17 is reset.

以上によシ、第9図αの「アドレス」、第9図すの「デ
ータ」に示すプロセシングエレメントとメモリコントロ
ーラとの間の転送情報が編集される。
As described above, the transfer information between the processing element and the memory controller shown in "address" in FIG. 9 and "data" in FIG. 9 is edited.

ステップ2:送信アドレスレジスタ18と送信データレ
ジスタ17の内容を共通バスに送シ出す前に以下の後処
理を行う。すなわち、シーケンス制御部11は、オール
ゼロデータを演算・テスト回路12よシ出力させ、これ
をCMアドレスレジスタ16で示される番地(65番地
)に書きこむことにより第5図の状態に戻す。以後、6
5番地は空きエリ・アとみなされ、次のタグ要求が発生
したときに再び65という値を割シ当てることができる
Step 2: Perform the following post-processing before sending the contents of the transmission address register 18 and transmission data register 17 to the common bus. That is, the sequence control section 11 causes the arithmetic/test circuit 12 to output all zero data, and writes this to the address (address 65) indicated by the CM address register 16, thereby returning to the state shown in FIG. From then on, 6
Address 5 is regarded as a vacant area, and the value 65 can be assigned again when the next tag request occurs.

ステップ6:最後に、送信アドレスレジスタ18と送信
データレジスタ17の内容を共通バス8を介してPE5
6(1,)へ返送し、24という値の旧櫃境タグを通知
する。PE群1.〜1には、以後この旧壊境タグをオペ
ランドデータに付加して使用することができる。
Step 6: Finally, the contents of the transmission address register 18 and transmission data register 17 are sent to the PE5 via the common bus 8.
6(1,) and notifies the old storage tag with a value of 24. PE group 1. 1, this old broken boundary tag can be added to the operand data and used thereafter.

つぎに、プログラムがネスト構造をなしている場合にも
、固定長のタグビットを利用して矛盾ない制御が可能で
あることを示す。
Next, we will show that even when programs have a nested structure, consistent control is possible using fixed-length tag bits.

第10図は、プロシージャP1がプロシージャP2をコ
ールし、プロシージャP2がプロシージャP6P6をコ
ールし、プロシージャP6がプロシージャP4をコール
する様子を示している。この例では、プロシージャコー
ル命令の実行に、よシ新グロシージャ用に新環境タグが
割シ尚てられ、プロシージャリターン命令の実行によ)
旧環境タグへの復帰が行われる。第10図のプロシージ
ャP4と第11図のプロシージャP4か並列実行されて
いる場合のハツシュテーブルの状態は、前述の動作原理
によれば、たとえば第12図のようになる。すなわち、
第10図のネスト構造に対しては24→65→129→
1の環境タグリストが組まれてお夛、ネストの深さに関
係なく一定長の環境タグビット(本実施例では、テーブ
ルサイズ256から求められる8ビツト)で実現できる
FIG. 10 shows how procedure P1 calls procedure P2, procedure P2 calls procedure P6P6, and procedure P6 calls procedure P4. In this example, upon execution of the procedure call instruction, a new environment tag is allocated for the new glossary, and upon execution of the procedure return instruction)
A reversion to the old environment tag is performed. The state of the hash table when procedure P4 in FIG. 10 and procedure P4 in FIG. 11 are executed in parallel is as shown in FIG. 12, for example, according to the above-described operating principle. That is,
For the nested structure in Figure 10, 24→65→129→
When one environment tag list is assembled, it can be realized with a fixed length of environment tag bits (in this embodiment, 8 bits obtained from the table size 256) regardless of the depth of nesting.

また、第10図のプロシージャP4の環境タグ(=1)
と、第11図のプロシージャP4の環境タグ(−97)
は、ハツシュテーブルの空きエリア探索にもとづき、互
いに異なる値が割シ当てられることが保証されている。
Also, the environment tag (=1) of procedure P4 in Figure 10
and the environment tag (-97) of procedure P4 in Figure 11.
are guaranteed to be assigned different values based on the search for empty areas in the hash table.

したがって両プロシージャがたとえ並列実行されても両
グロシージャで生成されるデータの環境タグが互いに異
なるため、PE(1,〜IK)内で両データが混在して
も正しく識別して処理することができる。
Therefore, even if both procedures are executed in parallel, the environment tags of the data generated by both glossaries are different, so even if both types of data are mixed in PE (1, ~ IK), they can be correctly identified and processed. .

以上述べた本発明においては、本実施例に限定されるこ
となく、目的・用途に応じて公知の任意のハツシュ関数
を選択できるし、衝突処理に関しても公知の任意の技術
が適用できる。また本実施例では説明を簡単化するため
、ハツシュ関数A(z)の出力そのものをハツ7ユテー
ブルアドレストシたが、ハツシュテーブルが共通メモリ
上のどの場所にあっても実現できるようにするためには
、ハツシュテーブルのベースアドレスを、たとえはデー
タレジスタ群1201個に記憶させ、ハツシュ関数A(
2)の出力と該ペースアドレス令加算することにより容
易に実現できる。
The present invention described above is not limited to this embodiment, and any known hash function can be selected depending on the purpose and application, and any known technique can be applied to collision processing. In addition, in this embodiment, in order to simplify the explanation, the output of the hash function A(z) itself is stored in the hash table address, but the hash table can be realized no matter where the hash table is located in the common memory. In order to do this, the base address of the hash table is stored in, for example, 1201 data registers, and the hash function A (
This can be easily realized by adding the output of 2) and the pace address command.

さらに新タグ発生法としては、空きエリアのメモリアド
レスをタグとして割シ当てる方法ならば何でもよく、た
とえば空きエリアをポインタ・リストでチェイン接続し
ておき、タグ発生要求に応じて空きエリアのアドレスを
新タグとして割シ当て、空きエリアに旧タグを格納し、
旧タグへの復帰要求に対しては、現在使用中のタグで示
されるアドレスのエリアから旧タグを取・シ出し、この
エリアを空きエリアのチェインに戻す方式にも適用可能
である。
Furthermore, any new tag generation method may be used as long as it allocates the memory address of an empty area as a tag.For example, empty areas are connected in a chain using a pointer list, and the address of the empty area is assigned in response to a tag generation request. Assign it as a new tag, store the old tag in the empty area,
In response to a request to return to an old tag, a method can also be applied in which the old tag is removed from the area of the address indicated by the tag currently in use and this area is returned to the chain of free areas.

発明の詳細 な説明したように本発明はタグ管理テーブルの空きエリ
アのメモリアドレスを新タグピットとして用い、旧タグ
ピットを該空きエリアに記憶させることによシ、プロシ
ージャ呼出しのネストが深くなってもタグビットを常に
一定長で実現でき、タグの発生・消去などの制御を高速
、容易かつ経済的に実現することができる。
As described in detail, the present invention uses a memory address in an empty area of the tag management table as a new tag pit, and stores the old tag pit in the empty area. Bits can always be of a constant length, and control of tag generation and erasure can be achieved quickly, easily, and economically.

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

第1図はデータフローグラフの例、第2図は本発明を用
いたデータフロー計算機のシステム構成図、第5図は本
発明のメモリコントローラおよび共通メモリの一実施例
の詳細図、第+団α、b、第7図α、b〜第9図α、b
はプロセシングエレメントとメモリコントローラとの間
の転送情報、第5図及びM6図はタグ管理テーブルのマ
ツプ、第10図及び11図はプロシージャコール・リタ
ーンと壌境タグの移り変わ9を示す遷移図、第12図は
第10図および第11図に対応するタグ管理テーブルの
マツプである。 1、〜1に・・・プロセシング・エレメント、2・・・
オペランドネットワーク、6□〜6rn・・・10コン
トロー2.4・・・入出力機器、5.〜5K・・・パス
カップラ、6・・・共通メモリコントローラ、7・・・
共通メモリ、8・・・共通パス、9・・・受信データレ
ジスタ、10・・・受信アドレスレジスタ、11・・・
シーケンス制611部、12・・・演算・テスト回路、
16・・・CMアドレスレジスタ、14・・・データレ
ジスタ群、15・・・オペランドパス、16・・・リザ
ルトバス、17・・・送信データレジスタ、18・・・
送信アドレスレジスタ。 特許出願人 日本電信電話公社 代理人 弁理士玉蟲久五部(外3名) 第1図 第 2 図 第3図 第4因   b α 31!5  日 第 6 馨 a   第7図    b 第 8 図 第 9 図 第11図 第12図
Figure 1 is an example of a data flow graph, Figure 2 is a system configuration diagram of a data flow computer using the present invention, Figure 5 is a detailed diagram of an embodiment of the memory controller and common memory of the present invention, and Group + α, b, Fig. 7 α, b to Fig. 9 α, b
5 and M6 are maps of tag management tables, and FIGS. 10 and 11 are transition diagrams showing procedure call return and transition 9 of remote tags, FIG. 12 is a map of the tag management table corresponding to FIGS. 10 and 11. 1, to 1...processing element, 2...
Operand network, 6□~6rn...10 controllers 2.4...I/O equipment, 5. ~5K...Path coupler, 6...Common memory controller, 7...
Common memory, 8... Common path, 9... Reception data register, 10... Reception address register, 11...
Sequence system 611 part, 12... Arithmetic/test circuit,
16... CM address register, 14... Data register group, 15... Operand path, 16... Result bus, 17... Transmission data register, 18...
Transmit address register. Patent Applicant Nippon Telegraph and Telephone Public Corporation Agent Patent Attorney Gobe Tamamushi (3 others) Figure 1 Figure 2 Figure 3 Figure 4 Cause b α 31!5 Day 6 Kaoru a Figure 7 b Figure 8 9 Figure 11 Figure 12

Claims (1)

【特許請求の範囲】[Claims] タグ付トークン制御方式を用いたデータフロー計算機に
おいて、メモリ上にタグを記憶するタグ管理テーブルを
用意し、新タグ発生要求が生じた場合に、該タグ管理テ
ーブルの空きエリアを検出し、該空きエリアのメモリア
ドレスと1対1に対在使用しているタグに1対1に対応
するメモリアドレスを用いて該タグ管理テーブルエリア
をアクセスし、旧タグを取り出す手段とによシ、固定長
のタグによるタグ付トークン制御を行うことを特徴とす
るデータフロー計算機の制御方式。
In a data flow computer using a tagged token control method, a tag management table for storing tags in memory is prepared, and when a new tag generation request occurs, an empty area in the tag management table is detected and the empty area is Fixed length A control method for a data flow computer characterized by controlling tagged tokens using tags.
JP13587182A 1982-08-04 1982-08-04 Data flow computer controlling system Pending JPS5927352A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13587182A JPS5927352A (en) 1982-08-04 1982-08-04 Data flow computer controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13587182A JPS5927352A (en) 1982-08-04 1982-08-04 Data flow computer controlling system

Publications (1)

Publication Number Publication Date
JPS5927352A true JPS5927352A (en) 1984-02-13

Family

ID=15161714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13587182A Pending JPS5927352A (en) 1982-08-04 1982-08-04 Data flow computer controlling system

Country Status (1)

Country Link
JP (1) JPS5927352A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5933556A (en) * 1982-08-18 1984-02-23 Oki Electric Ind Co Ltd Data flow processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5933556A (en) * 1982-08-18 1984-02-23 Oki Electric Ind Co Ltd Data flow processing system

Similar Documents

Publication Publication Date Title
CN108537543B (en) Parallel processing method, device, equipment and storage medium for blockchain data
US7587717B2 (en) Dynamic master/slave configuration for multiple expansion modules
US4205373A (en) System and method for accessing memory connected to different bus and requesting subsystem
USRE41904E1 (en) Methods and apparatus for providing direct memory access control
JP2772604B2 (en) Data processing system
EP0514972A2 (en) Multinode distributed data processing system for use in a surface vehicle
EP0113612A2 (en) Address conversion unit for multiprocessor system
CN104899085B (en) A kind of data processing method and device
JPH1196127A (en) Method and device for remote disk reading operation between first computer and second computer
US20110206051A1 (en) I/o bus system
US20220045948A1 (en) Path creation method and device for network on chip and electronic apparatus
CN107526620A (en) A kind of User space input-output equipment collocation method and device
CN107817962B (en) Remote control method, device, control server and storage medium
JPS63303460A (en) Parallel processor
CN107783728A (en) Date storage method, device and equipment
JPS5927352A (en) Data flow computer controlling system
CN113014409B (en) Networking equipment configuration method, device, equipment and storage medium
JPS5965354A (en) Priority control system for reception of processing request
JPH05324574A (en) Inter-processor communication system
JPH0738190B2 (en) Environmental identifier assignment method
KR100461521B1 (en) Program Debugging Method using Assert Function in Switching System
JP2507314B2 (en) Linkage Convenience Method
JPS59180741A (en) Communication control device executing relative address form program
KR100469235B1 (en) Apparatus for Routing Packets and Method for loop test Applying for Base Station in Communication System
JPS6131493B2 (en)