JPS5927352A - デ−タフロ−計算機制御方式 - Google Patents

デ−タフロ−計算機制御方式

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
English (en)
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.)
NTT Inc
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/ja
Publication of JPS5927352A publication Critical patent/JPS5927352A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の技術分野 本発明は、タグ付トークン制御方式を用いたデータフロ
ー計算機において、効率的にタグ発生・消去の管理を行
う方式に関するものである。
技術の背景 従来、7オン・ノイマン型と称されてきた計算機では、
ただ1個のプログラムカウンタによって指定されたアド
レスの命令をメモリから順次数シ出して実行するために
、基本的には一度に1個の命令しか実行できず、多数の
異なる命令を一度に並列実行させることが本質的に困難
であった。データフロー制御方式を用いた計算機(デー
タフロー計算機)は、7オン・ノイマン型計算機と異な
ってプログラムカウンタを持たず「演算対象であるオペ
ランド、即ちデータがすべて使用可能になったとき、そ
の命令が実行可能となる」というデータ駆動の規則にし
たがって命令実行が制御される。このデータ駆動の規則
によυ、データが揃って実行可能となった命令が複数個
あれば、これらを同時に並列実行できるので、7オン・
ノイマン型計算機に比較して高い処理能力を実現するこ
とができる。データフロー計算機における命令実行制御
の一例を以下に示す。
第1図は、C=(,4+1 )*(f−1、D=(A−
E)/Bのプログラムをコンパイラによって変換したデ
ータフローグラフで、各ノードはデータフロー計算機の
命令に対応し、ノード間を接続するアーク上をデータ(
これをトークンと呼ぶ)が移動する。
たとえは、第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を出力し
演算を終了する。
第1図のブータフローブ27については、実際には、命
令ノードの演算種類と、ノード間の接続関係をプログラ
ムとしてメモリ上に記憶させ、マシンがある命令の演算
結果(データ)を、指定された接続関係にしたがって次
の命令の存在するメモリへ転送することによシ実現さ九
る。
ここで第1図のプログラムが同時に異なる2個のプログ
ラム(PIQ)  から呼び出されて並列実行されると
きには、第1図のデータフローグラフの同一アーク上に
2個のプログラムp+Qに対応した2種類のトークンが
存在する。この上うな猿境下で演算を実行する方法とし
て、各々のトークンにPrQのいずれから呼び出された
かを示す識別情報(環境タグ)を付加し、同じタグを持
つトークンとおしの間で演算を行う「タグ付トークン方
式」が提案されている。
従来技術と問題点 従来のタグ付トークン方式をそのままデータフロー計算
機で実現させようとすると、以下のような問題が生じる
たとえば、プログラムP1がプログラムP、を呼出し、
プログラムP、がプログラムP1を呼出す場合、P、で
使用されるトークンの環境タグピット長はP1識別コー
ド長であシ、P、で使用されるトークンの環境タグビッ
ト長はP1識別コード長十P、識別コード長となる。す
なわち、プログラムのネストの深さに応じて実行時に環
境タグピット長が可変にな、ってしまい、ハードウェア
の制御が著しく複雑化するとともに、ネストが深い場合
には環境タグピット長が非常に大きくなシ、効率的なデ
ータフロー計算機を提供することが困難であった。
発明の目的 本発明は、これらの欠点を除去するため、メモリ上に環
境タグを記憶するタグ管理テーブルを用意し、該タグ管
理テーブルの空きエリアのメモリアドレスポインタを新
環境タグとして用い、該空きエリアに旧環境タグを記憶
させることによシ、環境タグを固定ピットに抑えるとと
もに、環境タグの発生・消去を高速かつ容易に行うもの
で、以下本発明の実施例を図面を用いて詳細に説明する
発明の実施例 第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は共通パスである。
第6図は、本発明の一実施例である共通メモリコントロ
ー26と共通メモリ7の関連を説明する詳細図である。
ここで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.よ多構成される。
まず、環境タグを新たに発生する方法を述べる。
ステップ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はタグ発生要求を意味する。
ステップ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番
地を読み出す。
これを演算・テスト回路12に入力し、空/塞表示フィ
ールドをテストすることによシ、64番地に塞表示が誉
きこまれていることをシーケンス制御部11が検出する
。これは、ハツシュ法における衝突現象であシ、64番
地には、既に他の用途のために情報が記憶されているこ
とを示している。
ステップ6:衝突現象を回避して別の空きエリアを見つ
ける方法として、開番地法や連鎖法など種々の方法が公
知であるが、ここでは最も簡単な開番地法を述べる。す
なわちシーケンス制御部11は、 CMアドレスレジス
タ13 (7) 内容(〜64)を演算・テスト回路1
2で+1して再びCMアドレスレジスタ16に戻す。こ
れによって共通メモリ7の65番地の内容を読み出す。
第5図に示すように、65番地の内容の空/塞表示フィ
ールドは空を示しておシ、これを演算・テスト回路12
で検出すると、シーケンス制御部11はこのメモリアド
レス(65番地)自体を新しい環境タグとして割シ当て
るために、CMアドレスレジスタ16の内容(−65)
を演算・テスト回路12経由(演算実行させず、単にス
ルーさせる)で送信データレジスタ17にストアする。
さらに新タグ発生を要求したPE#1(11)に新タグ
を送シ返すために、受信アドレスレジスタ10 (7)
該各フィールド10. 、10.内の送信装置番号(=
J)E#1)  と受信装置番号(−メモリコントロー
ラ番号)とを演算・テスト回路12で互いに入れかえ、
送信アドレスレジスタ18ニセツトする。その結果は、
送信アドレスレジスタ18内の送信装置番号=メモリコ
ントローラ番号、受信装置番号=PE#1 となる。
ステップ4:送信アドレスレジスタ18と送信データレ
ジスタ17の内容を共通バスに送シ出す前に以下の後処
理を行う。すなわち、シーケンス制御部11は、演算・
テスト回路12で、受信データレジスタ9の環境タグフ
ィールド9.(値24)と空/塞衣示フイレルドに対応
するビット位置を1(=塞状態)にしたフィールドとを
合成編集し、リザルトバス16を経由して共通メモリ7
065′&地(CMアドレスレジスタ13で指定されて
いる)にストアする。その結果のハツシュテーブルのマ
ツプを嬉6図に示す。
ステップ5:縦波に、送信アドレスレジスタ18と送信
データレジスタ17の内容を示す第7図αの「ア、ドレ
ス」、第7図すの「データ」を共通バス8を介してPE
#1へ返送することによシ、PE群1.〜1には65と
いう値を持つ新環境タグをオペ2ンドデータに付加して
使用することができる。
以上示したように、新環境タグの割シ当て要求が発生す
るたびに、テーブルの空きエリアを探してそのアドレス
を新環境タグとして割)当てることによシ、多数の環境
タグビットが互いに重複しないように容易に制御するこ
とができる。
次に旧櫨境タグへの復旧(現環境タグから旧嬢境タグに
戻す)方法を説明する。
ステップ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ニセツトスル。
以上によシ、第9図αの「アドレス」、第9図すの「デ
ータ」に示すプロセシングエレメントとメモリコントロ
ーラとの間の転送情報が編集される。
ステップ2:送信アドレスレジスタ18と送信データレ
ジスタ17の内容を共通バスに送シ出す前に以下の後処
理を行う。すなわち、シーケンス制御部11は、オール
ゼロデータを演算・テスト回路12よシ出力させ、これ
をCMアドレスレジスタ16で示される番地(65番地
)に書きこむことにより第5図の状態に戻す。以後、6
5番地は空きエリ・アとみなされ、次のタグ要求が発生
したときに再び65という値を割シ当てることができる
ステップ6:最後に、送信アドレスレジスタ18と送信
データレジスタ17の内容を共通バス8を介してPE5
6(1,)へ返送し、24という値の旧櫃境タグを通知
する。PE群1.〜1には、以後この旧壊境タグをオペ
ランドデータに付加して使用することができる。
つぎに、プログラムがネスト構造をなしている場合にも
、固定長のタグビットを利用して矛盾ない制御が可能で
あることを示す。
第10図は、プロシージャP1がプロシージャP2をコ
ールし、プロシージャP2がプロシージャP6P6をコ
ールし、プロシージャP6がプロシージャP4をコール
する様子を示している。この例では、プロシージャコー
ル命令の実行に、よシ新グロシージャ用に新環境タグが
割シ尚てられ、プロシージャリターン命令の実行によ)
旧環境タグへの復帰が行われる。第10図のプロシージ
ャP4と第11図のプロシージャP4か並列実行されて
いる場合のハツシュテーブルの状態は、前述の動作原理
によれば、たとえば第12図のようになる。すなわち、
第10図のネスト構造に対しては24→65→129→
1の環境タグリストが組まれてお夛、ネストの深さに関
係なく一定長の環境タグビット(本実施例では、テーブ
ルサイズ256から求められる8ビツト)で実現できる
また、第10図のプロシージャP4の環境タグ(=1)
と、第11図のプロシージャP4の環境タグ(−97)
は、ハツシュテーブルの空きエリア探索にもとづき、互
いに異なる値が割シ当てられることが保証されている。
したがって両プロシージャがたとえ並列実行されても両
グロシージャで生成されるデータの環境タグが互いに異
なるため、PE(1,〜IK)内で両データが混在して
も正しく識別して処理することができる。
以上述べた本発明においては、本実施例に限定されるこ
となく、目的・用途に応じて公知の任意のハツシュ関数
を選択できるし、衝突処理に関しても公知の任意の技術
が適用できる。また本実施例では説明を簡単化するため
、ハツシュ関数A(z)の出力そのものをハツ7ユテー
ブルアドレストシたが、ハツシュテーブルが共通メモリ
上のどの場所にあっても実現できるようにするためには
、ハツシュテーブルのベースアドレスを、たとえはデー
タレジスタ群1201個に記憶させ、ハツシュ関数A(
2)の出力と該ペースアドレス令加算することにより容
易に実現できる。
さらに新タグ発生法としては、空きエリアのメモリアド
レスをタグとして割シ当てる方法ならば何でもよく、た
とえば空きエリアをポインタ・リストでチェイン接続し
ておき、タグ発生要求に応じて空きエリアのアドレスを
新タグとして割シ当て、空きエリアに旧タグを格納し、
旧タグへの復帰要求に対しては、現在使用中のタグで示
されるアドレスのエリアから旧タグを取・シ出し、この
エリアを空きエリアのチェインに戻す方式にも適用可能
である。
発明の詳細 な説明したように本発明はタグ管理テーブルの空きエリ
アのメモリアドレスを新タグピットとして用い、旧タグ
ピットを該空きエリアに記憶させることによシ、プロシ
ージャ呼出しのネストが深くなってもタグビットを常に
一定長で実現でき、タグの発生・消去などの制御を高速
、容易かつ経済的に実現することができる。
【図面の簡単な説明】
第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図

Claims (1)

    【特許請求の範囲】
  1. タグ付トークン制御方式を用いたデータフロー計算機に
    おいて、メモリ上にタグを記憶するタグ管理テーブルを
    用意し、新タグ発生要求が生じた場合に、該タグ管理テ
    ーブルの空きエリアを検出し、該空きエリアのメモリア
    ドレスと1対1に対在使用しているタグに1対1に対応
    するメモリアドレスを用いて該タグ管理テーブルエリア
    をアクセスし、旧タグを取り出す手段とによシ、固定長
    のタグによるタグ付トークン制御を行うことを特徴とす
    るデータフロー計算機の制御方式。
JP13587182A 1982-08-04 1982-08-04 デ−タフロ−計算機制御方式 Pending JPS5927352A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13587182A JPS5927352A (ja) 1982-08-04 1982-08-04 デ−タフロ−計算機制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13587182A JPS5927352A (ja) 1982-08-04 1982-08-04 デ−タフロ−計算機制御方式

Publications (1)

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

Family

ID=15161714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13587182A Pending JPS5927352A (ja) 1982-08-04 1982-08-04 デ−タフロ−計算機制御方式

Country Status (1)

Country Link
JP (1) JPS5927352A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5933556A (ja) * 1982-08-18 1984-02-23 Oki Electric Ind Co Ltd デ−タフロ−処理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5933556A (ja) * 1982-08-18 1984-02-23 Oki Electric Ind Co Ltd デ−タフロ−処理方式

Similar Documents

Publication Publication Date Title
US6513091B1 (en) Data routing using status-response signals
US4041472A (en) Data processing internal communications system having plural time-shared intercommunication buses and inter-bus communication means
JP2772604B2 (ja) データ処理システム
CN111382115B (zh) 一种用于片上网络的路径创建方法、装置及电子设备
US20110206051A1 (en) I/o bus system
USRE41904E1 (en) Methods and apparatus for providing direct memory access control
JPS63303460A (ja) 並列プロセッサ
CN107817962A (zh) 一种远程控制方法、装置、控制服务器及存储介质
CN114217927B (zh) 一种线程调用方法、装置、计算机设备及存储介质
US6279104B1 (en) Debugging system for parallel processed program and debugging method thereof
JPS5927352A (ja) デ−タフロ−計算機制御方式
JPS62274451A (ja) 並列計算機及び並列計算機のデータ転送方法
CN114168652A (zh) 一种智能合约交互方法、装置、设备以及存储介质
CN120653587B (zh) 地址映射关系随机生成方法、系统及相关设备
JP2016085495A (ja) テスト支援方法およびテスト支援装置
JPS5965354A (ja) 処理要求受付の優先順位制御方式
JPH0738190B2 (ja) 環境識別子付与方式
KR100461521B1 (ko) 교환기에서 어서트 기능을 이용한 프로그램 디버깅 방법
JP2507314B2 (ja) リンケ−ジコンベンシヨン方法
JPH0784824A (ja) プログラムデバッグ装置
JPS59180741A (ja) 相対アドレス形式プログラムを実行する通信制御装置
CN118747128A (zh) 进程间通信的方法、装置、电子设备、介质及程序产品
JP2004139609A (ja) 開発支援装置
CN116820947A (zh) 一种应用程序测试方法及装置
JPS6131493B2 (ja)