JPS61123937A - データ処理装置のデータ駆動型制御方式 - Google Patents

データ処理装置のデータ駆動型制御方式

Info

Publication number
JPS61123937A
JPS61123937A JP24443284A JP24443284A JPS61123937A JP S61123937 A JPS61123937 A JP S61123937A JP 24443284 A JP24443284 A JP 24443284A JP 24443284 A JP24443284 A JP 24443284A JP S61123937 A JPS61123937 A JP S61123937A
Authority
JP
Japan
Prior art keywords
data
input
program
input data
processing program
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
JP24443284A
Other languages
English (en)
Other versions
JPH0715676B2 (ja
Inventor
Yukito Maejima
前島 幸仁
Hirotoshi Shirasu
白須 宏俊
Tahei Suzuki
鈴木 太平
Shiro Tanabe
史朗 田辺
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24443284A priority Critical patent/JPH0715676B2/ja
Priority to US07/753,852 priority patent/US4901274A/en
Priority to DE8585108647T priority patent/DE3584324D1/de
Priority to EP85108647A priority patent/EP0168054B1/en
Publication of JPS61123937A publication Critical patent/JPS61123937A/ja
Publication of JPH0715676B2 publication Critical patent/JPH0715676B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデータ駆動型制御方式に関し、特に逐次実行型
プロセッサシステムにおいて、処理能力の低下を防止し
たデータ駆動型制御方式に関するものである。
〔発明の背景〕
データ駆動型制御は、データのフロー、すなわち被処理
データの準備状況に応じて、処理シーケンスを制御する
ものであって、従来、いわゆる非ノイマン型コンピュー
タの実現手段として研究されてきたものである(「コン
ピュータ構造を変革するデータフロー・コンピュータの
動向(上)」日経エレクトロニクス、1979年5月2
8日号。
第64〜81頁参照)、データ駆動式の非ノイマン型コ
ンピュータは従来のいわゆるノイマン型、すなわち、プ
ログラムが予め定められた単一の流れとして逐次実行さ
れる型(本明細書では逐次実行型という)のコンピュー
タとは基本的に異なるアーキテクチャを有し、かつ、並
列処理等によるデータ処理能力の向上を主として狙った
ものであるから、限られた処理能力で充分な仕事にとっ
ては非常に高価なものとなるなど、必ずしも常に最適と
はいえない面を持っている。
他方、従来の逐次実行型装置は、データ処理能力のみな
らず、ソフトウェアの作成に関しても、種々の難点が指
摘されている。この点でも、データ駆動型制御は、プロ
グラムの諸部分の間における入出力データの相互関係や
各部分の実行条件などが明瞭になることによって、プロ
グラムの全体構造を見やすくする結果、ソフトウェアの
開発。
デバッグ、変更などが容易になる利点をもつ。
一つの妥協案は、さほどのデータ処理能力を要しない場
合に、従来の逐次実行型装置を、データ駆動型動作を行
なうようにプログラムすることである。しかし、II々
の演算命令に対して、所要のオペランドが準備されてい
るか否かをチェックするとともに、その実行の都度、そ
の生成データをオペランドとする命令について、その準
備ができたことを開示するための処理、いわゆるオーバ
ヘッドは大きく、さらにこのデータ駆動型プログラムを
何度も繰り返して使用する場合(例えば、電子交換機)
には、前記の入力データの準備状況の表示の初期設定に
費いやす処理の大小が、処理能力低下に大きく影響する
〔発明の目的〕
本発明の目的は、従来の逐次実行型装置において、オー
バヘッドその他に基因する処理能力の低下を最小限に抑
え、実用的で汎用性のあるデータ駆動型制御方式を実現
することにある。
〔発明の概要〕
本発明は、比較的小規模で独立した逐次実行型の処理プ
ログラムモジュールを単位とし、かようなプログラムモ
ジュールの相互間を入出力データに関する情報を集約し
たテーブルに基づくデータ駆動型制御で連結し、それに
伴うオーバヘッド環を最小°限に抑え、大規模な実時間
ソフトウェアの構築においてデータ駆動論理の利点を享
受しようとするものである。
すなわち、逐次実行型の制御装置において、前記各処理
プログラムモジュールに対応してテーブル(入出力規定
テーブル)を記憶装置内に用意し、ここにその処理プロ
グラムモジュールのための入出力データ入手先テーブル
指示部、入力データ準備状況表示部、出力通知先テーブ
ル指示部、出力データ格納部などを設ける。また、入力
データが全部揃ったテーブルを待機させておくキュー(
起動待合せキュー)を記憶装置内に用意する。各処理プ
ログラムモジュールは、起動されると、対応するテーブ
ルを参照しつつ、そこに指示された入手先テーブルから
入力データを読出し、逐次実行形式で所定の処理を行な
って、その結果の出力データを前記の対応するテーブル
の所定格納部に書込む、そうして、実行制御プログラム
は、前記の対応するテーブルを参照して、前記処理結果
の出力データについて指示された出力通知先テーブルの
入力データ準備状況表示部に、対応する入力データが準
備されたことを表示する。この入力データ準備状況表示
部はカウンタで、他のプログラムモジュールからの出力
データのみの個数を初期値としてセットする。実行制御
プログラムは、入力データが揃うたびに該カウンタの値
をチェックし。
カウンタの値が2以上であればカウンタの値を1だけ減
算し、既に該カウンタの値が1であれば所要の入力デー
タが全部揃ったと判断し、その入力データが揃ったテー
ブルを前記キューの末尾に登録するが、該カウンタは1
のままで更新しない。
さらに、実行制御プログラムは該キュー内で待機中のテ
ーブルを先頭から順次取り出して、対応する処理プログ
ラムモジュールを起動する。
この制御方法によると、入力データ準備状況表示部のカ
ウンタの初期値が1であるプログラムが大多数である場
合には、あらかじめ、入力データ準備表示部のカウンタ
が2以上の入出力規定テーブルだけの初期値をセットす
ればよく、入力データ表示部のカウンタが1のものは、
初期設定処理を行う必要がなく、初期設定処理量の増大
を抑える効果が非常に大きい、初期設定の時期について
は、すべてのプログラムの終了時、すなわち、前記キュ
ーに登録されたテーブルが無くなったときか、あるいは
、一番最初にプログラムが実行される直前かのどちらか
の場合でよい。
所要入力データ中に定数などの既知データがあれば、そ
のデータ自体をテーブルに格納する。このように入力デ
ータに複数の種類(例えばデータ自体とアドレス)があ
るときは、テーブル中にその種別を表示しておく、また
条件によって出力通知先が異なる場合には、出力データ
の格納とともにそれが有効であることを表示し、この表
示があるものについてのみ出力通知処理を行なう。
〔発明の実施例〕
第1図は本発明の制御方法を実施するための制御装置の
一例を示す、この制御装置は1台の逐次実行型プロセッ
サ10と、処理プログラム20と、入出力規定テーブル
30と、実行制御プログラム40と、起動待合せキュー
50とがプロセッサバス60で相互に接続されたもので
ある。また、これらの20〜50のプログラム及びキュ
ーをそれぞれ別個の記憶装置に収容したり、同一記憶装
置に収容したりすることは可能である。
処理プログラム20は、複数の小規模で独立した処理プ
ログラムモジュールから成り、入出力規定テーブル30
は、前記処理プログラムモジュールのそれぞれに対応し
て、プログラム同定情報(プログラム信号、先頭アドレ
ス等)、入力データ準備状況表示情報、入力データ指示
情報(アドレス又はリテラル)、出力データ格納領域、
出力通知先指示情報その他からなる。入出力規定テール
を制御する実行制御プログラム40は、入出力データの
制御や入力データの準備が整ったか否かの判定や、起動
待合せキュー50から実行可能な入出力規定テーブル3
0を取出し、対応する処理プログラムモジュール20を
起動する。起動待合せキュー50は、全入力データが揃
った処理プログラムモジュールに対応する入出力規定テ
ーブル30のアドレスをFIFO形式で登録する。
全体の動作を概説すれば、逐次実行型プロセッサ10は
、実行制御プログラム40と処理プログラム20を交互
に実行し、実行制御プログラム40は、入出力規定テー
ブル30の入力データの4!!備状況を示す入力状況表
示カウンタが′″2″2″以上だけに所定の初期値を設
定する。但し、入力状況表示カウンタがl″であるもの
についてはシステム立上げ時に初期値として711 I
+がセットしである。初期設定が終了すると、実行制御
プログラム40は一番初めに起動すべき入出力規定テー
ブル30の1つを起動待合せキュー50の先頭に登録す
る0次に、実行制御プログラム40は、前記起動待合せ
キュー50の先頭にある入出力規定テーブル30のアド
レスを取出して、当該テーブルから対応する処理プログ
ラム20の同定情報を読出し、当該テーブルアドレス情
報を対応する処理プログラム20に引渡し、当該処理プ
ログラム20を起動する。起動された処理プログラム2
0は、対応する入出力規定テーブル30を参照しつつ、
そこに指示された入力データを用いて実行し、出力デー
タを同テーブル中の所定領域に書込み、しかる後、実行
制御プログラム40に処理゛の完了を報告する。この報
告を受けた実行制御プログラム40は対応する入出力規
定テーブル30を調べ、そこに指示されたすべての出力
通知先の入出力規定テーブル50に対して、それらの入
力状況表示のカウンタをチェックし、そのカウンタの値
が2以上であれば、1だけカウントダウンし、もし、カ
ウンタの値が1であれば全入力データが揃ったと判断し
、そのカウンタを更新することなく、その入出力規定テ
ーブル30を起動待合せキュー50の末尾に登録する。
このように実行制御プログラム40は、起動待合せキュ
ー50が空きになるまで、 iIf記動作を繰返し、デ
ータ駆動型制御を実現している。
以下、更に細部の説明をする。第2図は1本発明が適用
される簡単なデータ駆動型プログラムの例である。これ
は、全体としては、入力データAに対しである処理を施
して、結果の出力データBを得るプログラムである。そ
の処理の内容は、小規模な処理プログラムモジュールF
’t+ F2及びF、の組合せによって表わされ、各処
理プ、ログラムモジュールの間のデータ授受関係は、矢
印の線であられされる。各処理プログラムモジュールF
1〜F、の中味は、通常の逐次実行型プログラムにより
実現されるが、それらの実行は、それらの必要な入力デ
ータのすべてが揃ったことに応じて起動され1通常の逐
次実行型のプログラムとは違って、プログラムカウンタ
の指示によることはない。
各処理プログラムモジュール間における入出力データの
授受を仲介する場が入出力規定テーブルであって、第3
図はその構成の一例を示す。1つの処理プログラムモジ
ュールに対する入出力規定テーブル100は、起動待合
せキューを形成するためのリンケージポインタ(LIN
KPT>101、当該処理プログラムモジュールの同定
情報(プログラム番号、先頭アドレス等)102゜入力
データ数103.入力データの準備状況を示す入力状況
表示カウンタ104.出力データ数105、入力データ
種別106.入力データの指示(リテラルデータ又はア
ドレス)107.出力データの有効性表示108.出力
通知先数109゜出力データ格納部110及び出力通知
先の指示111の諸領域を含む、106と107の組み
は。
そのプログラムが必要とする入力データの数だけ設けら
れ、また111は当該出力の通知先の数だけ設けられる
とともに、108〜111の組は。
そのプログラムによって生成される全出力データの数だ
け設けられる。
リンケージポインタ101と出力データ有効性表示10
8は、選択的に出力データが出力される場合に、その出
力データの有効性を示すフラグに用いる。同定情報10
2.入力データ数103゜出力データ数105.及び出
力データ格納部110については、説明を要しないであ
ろう。入力状況表示104はカウンタで、他の処理プロ
グラムからの出力データ数の個数のみを示している。
但し1例外的に一番先に起動すべき入出力規定テーブル
は、必ず一番先に起動されるので、この入力状況°表示
の値は″1”に設定しである。入力データ種別106は
、1ビツトのフラグであって、当該入力データが予め知
られている固定データ(例えば定数)の場合はl OH
で、他のプログラムの出力データである場合は′1”と
なる。そして、前者の場合には、入力データ指示107
にそのデータ自体が予め書込まれており、後者の場合に
は、そのデータが読取られるべきアドレス(すなわち、
そのデータを生成する処理プログラムモジュールに対応
する入出力規定テーブルの領域110)が書込まれてい
る。出力通知先数109には、当該出力データを入力デ
ータとして必要とする処理プログラムモジュールの個数
が格納されており、そして、出力通知先表示111には
、前記出力通知先プログラムモジュールに対応する入出
力規定テーブルのアドレス、詳しくいえばその入力状況
表示104の対応のカウンタ位置が書込まれている。な
お、これらの情報は+  101゜104.108,1
10を除きすべてプログラミングの段階で決定されてい
る固定情報である。
例として、第2図のデータ駆動型プログラムのための入
出力規定テーブルを第4rMに示す、なお。
第3のプログラムF、の出力データを入力データとして
使用されるプログラムは1図示されていないが、n個あ
るものとする。
起動待合せキュー50は1通常のFIF○メモリで一向
に差支えないが、本実施例は、キューの構成を簡単なも
のにするために入出力規定テーブルのリンケージポイン
タ(第3図101)によってキューのリンクを行なう、
第5図に示すように起動待合せキュ−50自体は、ヘッ
ドポインタ200とテールポインタ201のみを備えて
いるにすぎない。ヘッドポインタ200は、キューの先
頭にある入出力規定テーブル(TBLI)100−1の
アドレスを保持する。TBLIのリンケージポインタ1
01−1は、キューに並ぶ次位の入出力規定テーブル(
TBL2)のアドレスを保持し、以下同様して、キュー
の最後尾にある入出力規定テーブル(TBL3)のリン
ケージポインタ101−3はそれ以上のリンクがないこ
とを表示すべく ” OIIを保持する。そして、起動
待合せキュー50内のテールポインタ301は、この最
後尾にある入出力規定テーブル(TBL3)のアドレス
を保持する。キューからの取出し及び登録については、
公知の技術なので説明を要しないであろう。
次に、第4図の入出力規定テーブルに従って第2図のプ
ログラムを実行する場合における。第1図の制御装置の
動作を説明する。実行制御プログラム40は、まず、こ
れから実行すべき処理プログラムモジュール20に対応
する入出力規定テーブル30の入力状況表示104の初
期値が2以上のものだけに所定の初期値を設定する(シ
ステム立上げ時に、全入出力規定テーブルの入力状況表
示は# 1 ′1が初期値として設定されている。)(
第6図70)、この場合、F3TBLの入力状況表示に
l# 2 pgを初期値と設定する0次に予め一番先に
起動するよう定められたFITBLのアドレスを起動待
合せキュー50に登録する(71)、次いで、実行制御
プログラム40は、起動待合せキュー50のヘッドポイ
ンタ200を調べて(72)、その内容(この場合はF
LTBLのアドレス)を取出しく73)、それに基づい
て当該テーブルを参照することにより、そのプログラム
番号102から起動すべき処理プログラムがFlである
ことを知り、処理プログラムFlに制御を渡す(74)
、処理プログラムF1は、外部からの入力データをオペ
ランドして使用する際に、FITBLを参照して、その
入力データ数103が1で、入力データ種別106が0
であることがら、入力データが1個で、それは入力デー
タ指示部107に格納されたデータ自体であることを知
す、そこから ′A′  を読出して所定の演算を行な
い、その結果である C′ を、第1出力データ格納部
110すなわち○UTIIに格納し、出力データ有効性
表示108に1を設定する。処理プログラムが終了する
と、実行制御プログラム40に制御を戻す、そこで、実
行制御プログラム40は、今実行された処理プログラム
F1に対応する入出力規定テーブルFITBLを参照す
る。そして、その出力データ有効性表示108に1が設
定されている出力データに対応する出力通知先指示11
1に従って、F2TBL及びF3TBLの入 6力状況
表示104を読出す(75)、そして、入力状況表示1
04が1か否かの判定をしく76)、1であれば、それ
(この場合ではF2TBL)が起動待合せキュー50に
登録され(77)、1以外であれば、入力状況表示10
4(この場合F3TBL)を1だけ減算し、その値が更
新される(78)。以下同様にして、処理プログラムF
2およびF3が実行される。
なお、実行制御プログラム40は、起動待合せキュー5
0に登録された入出力規定テーブルがなくなったことを
検出すると(72)、全処理が終了したと判断する。
この制御方式によれば、データ駆動型プログラムが何度
も繰り返し実行し、かつ、入力状況表示の初期値が11
”である入出力規定テーブルが大部分を占める場合には
、実行制御プログラムの入力データが揃ったか否かの判
断処理時間や入出力状況表示の初期設定処理時間の増大
を防ぎ、処理能力低下を最小限にとどめることができる
〔発明の効果〕
本発明によれば、従来の逐次実行型プロセッサを用いて
、処理能力低下に基因する種々のオーバヘッドを最小限
に抑え、実用性のあるデータ駆動制御を実現でき、プロ
グラム各部の入出力条件及び起動条件が明解で、しかも
、それらの実行順序がそれらの記述順序によらないとい
う、データ駆動制御の利点を実質上享受することができ
る。その結果、ソフトウェアの開発、保守などが容易に
なり、ソフトウェアの生産性、保守性の向上に寄与する
ところ大である。
【図面の簡単な説明】
第1図は本発明による制御装置の一実施例のダイヤグラ
ム、第2図はデータ駆動型プログラムの一例のプログラ
ムチャート、第3図は入出力規定テーブルの構成図、第
4図は第2図に示されたプログラムにおける入出力規定
テーブルの相互関係図、第5図は起動待合せキューの模
式図、第6図は実行制御処理のフローチャートである。 10・・・逐次実行型プロセッサ、20・・・処理プロ
グラム、30・・・入出力規定テーブル、40・・・実
行制御プログラム、50・・・起動待合せキュー。 60・・・プロセッサバス 葛 / 図 躬3図 第4図 葛夕図

Claims (1)

  1. 【特許請求の範囲】 1、逐次実行型プロセッサ及び処理プログラムモジュー
    ル群とテーブル群とキューとを格納した記憶手段を備え
    たデータ処理装置において、前記テーブルにより各処理
    プログラムモジュール対応に入力データ入手先テーブル
    と出力通知先テーブルを指示し、起動された処理プログ
    ラムモジュールに対応するテーブルの前記指示に従って
    入力データを入手させるとともに処理結果の出力データ
    を同テーブルの所定位置に書込ませ、そして、前記処理
    結果の出力データについて指示された通知先テーブル中
    に対応する入力データが準備されたことを通知する表示
    カウンタを設け、入力データが準備されるたびに該表示
    カウンタの値をチェックし、該表示カウンタが2以上の
    場合には、該表示カウンタを1減算し、該表示カウンタ
    が1の場合には該表示カウンタを更新せず、所要入力デ
    ータが全部準備されたと判断し、該テーブルを前記キュ
    ーの末尾に登録し、同キュー内で待機中のテーブルを順
    次取出して対応する処理プログラムモジュールを起動す
    ることを特徴とする、データ駆動型制御方式。 2、特許請求の範囲第1項において、一番初めに処理プ
    ログラムモジュールを起動する直前か、あるいはすべて
    の処理プログラムモジュールの終了したときに、入力デ
    ータ数が少なくとも2以上のテーブルの表示カウンタだ
    けに所定の初期値を設定し、入力データ数が1の場合、
    該表示カウンタの値をそのまま使用することを特徴とす
    るデータ駆動型制御方式。
JP24443284A 1984-07-11 1984-11-21 データ処理装置のデータ駆動型制御方式 Expired - Lifetime JPH0715676B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP24443284A JPH0715676B2 (ja) 1984-11-21 1984-11-21 データ処理装置のデータ駆動型制御方式
US07/753,852 US4901274A (en) 1984-07-11 1985-07-11 Method and system for data driven information processing
DE8585108647T DE3584324D1 (de) 1984-07-11 1985-07-11 Datenflussgesteuertes informationsverarbeitungsverfahren und -system.
EP85108647A EP0168054B1 (en) 1984-07-11 1985-07-11 Method and system for data driven information processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24443284A JPH0715676B2 (ja) 1984-11-21 1984-11-21 データ処理装置のデータ駆動型制御方式

Publications (2)

Publication Number Publication Date
JPS61123937A true JPS61123937A (ja) 1986-06-11
JPH0715676B2 JPH0715676B2 (ja) 1995-02-22

Family

ID=17118567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24443284A Expired - Lifetime JPH0715676B2 (ja) 1984-07-11 1984-11-21 データ処理装置のデータ駆動型制御方式

Country Status (1)

Country Link
JP (1) JPH0715676B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185873A (en) * 1988-02-19 1993-02-09 Hitachi, Ltd. Control system with flag indicating two or less data inputs and counter indicating two or more controlling data driven execution method
WO2007037215A1 (ja) * 2005-09-27 2007-04-05 Sonac Incorporated データ駆動型プロセッサのシミュレータ及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185873A (en) * 1988-02-19 1993-02-09 Hitachi, Ltd. Control system with flag indicating two or less data inputs and counter indicating two or more controlling data driven execution method
WO2007037215A1 (ja) * 2005-09-27 2007-04-05 Sonac Incorporated データ駆動型プロセッサのシミュレータ及びプログラム

Also Published As

Publication number Publication date
JPH0715676B2 (ja) 1995-02-22

Similar Documents

Publication Publication Date Title
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
JPH08505965A (ja) コンテキスト切り換え装置及び方法
JPS61107434A (ja) デ−タ処理装置
JPH05250305A (ja) データ転送制御方式
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPS62115542A (ja) 情報処理装置
JP2690406B2 (ja) プロセッサおよびデータ処理システム
US7155718B1 (en) Method and apparatus to suspend and resume on next instruction for a microcontroller
JPS61123937A (ja) データ処理装置のデータ駆動型制御方式
JPH11110214A (ja) 命令制御システム及びその方法
JPH0754467B2 (ja) データ処理装置
JPH07219766A (ja) 演算処理装置
JPS6230455B2 (ja)
JP2824484B2 (ja) パイプライン処理計算機
JPS59163671A (ja) ベクトル処理装置
JPH07110769A (ja) Vliw型計算機
JPS6352240A (ja) デ−タ処理装置
JPH06266630A (ja) トレース機能付き入出力制御装置
JPS6123239A (ja) デ−タ処理装置の制御方法及びそのためのデ−タ処理装置
JPS60193046A (ja) 命令例外検出方式
JPH05298092A (ja) 情報処理装置
JPS58166454A (ja) デ−タ処理装置
JPH06301633A (ja) データ転送装置
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPH0279122A (ja) 浮動小数点演算機構

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term