JP2754866B2 - データ駆動形計算機用オブジエクトコード生成装置 - Google Patents

データ駆動形計算機用オブジエクトコード生成装置

Info

Publication number
JP2754866B2
JP2754866B2 JP13305290A JP13305290A JP2754866B2 JP 2754866 B2 JP2754866 B2 JP 2754866B2 JP 13305290 A JP13305290 A JP 13305290A JP 13305290 A JP13305290 A JP 13305290A JP 2754866 B2 JP2754866 B2 JP 2754866B2
Authority
JP
Japan
Prior art keywords
instruction
object code
node
node number
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 - Fee Related
Application number
JP13305290A
Other languages
English (en)
Other versions
JPH0432980A (ja
Inventor
浩乃 坪田
伸史 小守
俊之 田村
文康 浅井
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP13305290A priority Critical patent/JP2754866B2/ja
Publication of JPH0432980A publication Critical patent/JPH0432980A/ja
Application granted granted Critical
Publication of JP2754866B2 publication Critical patent/JP2754866B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データの依存関係に基づいて処理を駆動す
る方式を採用する、いわゆるデータ駆動形計算機のオブ
ジェクトコードを生成する装置に関するものである。
〔従来の技術〕
第6図は、例えば情報処理学会第32回(昭和61年前
期)全国大会予稿集の209〜210頁の「図的データ駆動形
言語UL1の仕様」および211〜212頁の「図的データ駆動
形言語UL1の言語処理系」に示されたデータ駆動形計算
機用オブジェクトコード生成装置の構成図である。第6
図において、1はグラフィック端末、2はグラフィック
エディタ、3はコンパイラ構文解析部、4はコンパイラ
意味解析部、5はコンパイラコード生成部、6はマッパ
である。
この従来のデータ駆動形計算機用オブジェクトコード
生成装置の処理で特に、[UL1では記憶を伴う、いわゆ
る履歴依存処理の記述を許すために、そのデータ従属性
を副作用が生じないように保証している」とあり、さら
に、「UL1プログラム中の一語記憶形式をとる履歴への
アクセスについては、参照(GET)、更新(PUT)に変換
すると共に、副作用の生じない参照・更新規則に基づ
き、その接続構造を保証している」とある。特に記憶の
アクセスに関しては完全に副作用がないように接続を行
なっている。従って、従来のデータ駆動形計算機用オブ
ジェクトコード生成装置において記憶のアクセス命令で
出力のない命令は存在しなかった。
一方、記憶アクセス命令以外では、データはなんらか
の処理に使用されるために準備されるので、出力がない
ということは有り得ない。
しかし、リアルタイムシステムなどにおいて、例えば
画像メモリへの書込み処理や、状態に応じて処理を行な
うようなプログラムの場合には、どんどんあるメモリの
データが更新され、ある一定時間ごとにそのデータに従
って処理がなされるといったこともある。そのために記
憶をアクセスするが出力がないという命令をもったデー
タ駆動形計算機が考えられる。データ用の記憶装置をア
クセスする命令の場合、また例えば演算処理部にあるレ
ジスタに積の結果を累算する命令(積和命令)の場合等
である。
第2図は、演算処理部にあるレジスタに積の結果を累
積する命令(MAC)を含むプログラム例である。命令MAC
のノード番号は#8であるが、MAC実行後に実行される
命令はないので、オブジェクトコードの#8は有効な情
報が格納されないノード(ダミーノード)となる。ダミ
ーノードであるので、本来#9に格納されている有効な
ノードを格納すると、行き先ノードが#9の命令も行き
先ノードが#8となるため、待ち合わせの識別子が#8
となり、待ち合わせ処理部への到着順によっては、ノー
ド#6実行後のデータと本体行き先ノード#9のデータ
が発火してしまうということが起こり得るので、ノード
#8に単純に有効命令をつめることはできない。そのた
め、従来のデータ駆動形計算機用オブジェクトコードを
オペコードの追加等の単純な方法で変更した場合には第
7図のように何の情報ももたないダミーノードを含むオ
ブジェクトコードが生成される。第7図で、7は次に実
行する命令、8は行き先ノード番号、9はその他の情報
である。
〔発明が解決しようとする課題〕
従来のデータ駆動形計算機用オブジェクトコード生成
装置に対して、待ち合わせは必要であるが出力のない命
令を追加した場合には、以上のようなオブジェクトコー
ドを生成するので、待ち合わせ処理の必要な命令は次の
命令を読み込まないものに対しても独立の行き先ノード
番号の割当てを行なわなくてはならず、従ってオブジェ
クトコードの該当するノード番号の部分は読み出される
ことはないにもかかわらず空けておかなくてはならず、
オブジェクトコードサイズが大きくなるという問題があ
った。
本発明はこのような点に鑑みてなされたものであり、
その目的とするところは、待ち合わせ処理は必要だが次
の命令を読み込まない命令に対しては、1入力命令など
その行き先ノード番号では待ち合わせ処理を行なわない
命令の行き先ノード番号を割り当てることができるとと
もに、それに伴って不必要な空きノードをオブジェクト
コード上に出力することのないデータ駆動形計算機用オ
ブジェクトコード生成装置を得ることにある。
〔課題を解決するための手段〕
本発明によるデータ駆動形計算機用オブジェクトコー
ド生成装置は、2入力0出力命令のように待ち合わせは
必要であるが他の命令を駆動しない命令および1入力命
令のように待ち合わせは必要としないが他の命令を駆動
する命令を検出し、それぞれの命令を1対1に対応させ
それぞれに共通の行き先ノード番号を割り当てる処理部
を、従来のデータ駆動形計算機用オブジェクトコードに
対して追加したものである。
〔作用〕
本発明によるデータ駆動形計算機用オブジェクトコー
ド生成装置は、2入力0出力命令のように待ち合わせは
必要であるが他の命令を駆動しない命令を検出する手段
により、行き先ノード番号を待ち合わせの識別子として
使用するが次の命令読込みには使用しない命令の検出を
行なう。また、1入力命令のように待ち合わせは必要と
しないが他の命令を駆動する命令を検出する手段によ
り、行き先ノード番号を次の命令読込みにのみ使用する
命令の検出を行なう。このように検出されたそれぞれの
命令を1対1に対応付けて共通の行き先ノード番号を割
り当てていく。
〔実施例〕
以下、本発明の一実施例を図面に基づいて説明する。
第1図は本発明によるデータ駆動形計算機用オブジェ
クトコード生成装置の一実施例を示すブロック系統図で
ある。同図において、10はデータ駆動形計算機用オブジ
ェクトコード生成装置、11は入力ファイルであり、本実
施例では従来のオブジェクトコードファイルである。ま
た、12は入力ファイル11の読込み処理を行なう読込み部
である。13は2入力0出力の命令の検出と、検出した命
令のそれぞれに1入力命令の行き先ノード番号の割当て
処理を行なう処理部、14は不要となったダミーノードを
削除し、新たなノード番号のオブジェクトコードを出力
するオブジェクトコード出力部、15は各処理で使用する
メモリ、16は生成されるオブジェクトコードファイルで
ある。
第2図は、データ駆動形計算機で実行されるプログラ
ムの一例をフローグラフで示したものである。第3図は
第2図のフローグラフをオブジェクトコード化したもの
であり、このオブジェクトコードはオブジェクトコード
生成装置1により出力される。
第5図は、処理においてメモリ15に格納され使用され
るテーブルの構成を示すテーブル構成図である。同図に
おいて、21は1入力命令を検出した場合にその行き先ノ
ード番号を格納する領域であり、2入力0出力の命令を
検出した場合に、その行き先ノード番号は領域22に、そ
のノード番号は領域23に格納される。また、2入力0出
力の命令を検出した場合にその行き先ノード番号が既に
領域22に格納されていた場合、即ち待ち合わせすべき相
手のノードが登録済みの場合にはその行き先ノード番号
が格納されている列の領域24に新たに検出されたノード
の番号が格納される。同じ列に格納された1入力命令の
行き先ノード番号が2入力0出力の待ち合わせに使用さ
れるノード番号になる。領域22〜24の情報が2入力0出
力ノードの情報である。
次に動作について説明する。
第4図は処理を示すフローチャートである。このフロ
ーチャートに従って動作の説明を行なう。まず1ノード
分の情報の読込みを行なう(ステップS1)。この読み込
んだノードに対して2入力0出力命令かどうかをチェッ
クする(ステップS2)。2入力0出力命令であった場合
には、第5図に示されるテーブルに格納するが、待ち合
わせすべき相手のノードが既に格納済みか否かのチェッ
クを行なう(ステップS3)。相手のノードはまだ格納さ
れていない場合、即ちこのノードの行き先ノード番号が
領域22に未登録の場合には、新たな行き先ノード番号お
よびこのノードの番号を登録する(ステップS4)。相手
となるノードが既に格納されていた場合には、その列の
領域24にこのノードのノード番号を格納する(ステップ
S5)。
このノードが2入力0出力の命令でなかった場合、1
入力命令のノードか否かをチェックする(ステップS
6)。1入力命令であった場合には、領域21の新たな列
に行き先ノード番号を登録する。以上の処理が終了した
ら、また、次のノードを読み込み(ステップS1)、上記
の処理を最後のノードを読み終えるまで繰り返す。
全ノードのチェックが終了した後、ダミーノードを除
く処理およびノード番号の再割付けの処理を行なう。ダ
ミーノードを取り除くことができる2入力0出力の命令
とは行き先ノード番号が共用できる1入力命令があるも
のである。本実施例では、第5図の処理に使うテーブル
の同じ列に格納された1入力命令の行き先ノード番号と
2入力0出力命令の待ち合わせの識別子として流用する
こととする。
領域22に格納されたノード番号が現在ダミーノードと
なっているノードの番号である。そのうちその列の1入
力ノードの行き先ノード番号領域21にノード番号が格納
されているものについてダミーノードを取り除くことが
できる。まず、全ノードに対して取り除けるノードをす
べて取り除いた場合のノード番号を決定する(ステップ
S9)。次に新たに決定されたノード番号で行き先のノー
ド番号を用いたオブジェクトコードを出力する(ステッ
プS10)。この場合、2入力0出力ノードの行き先ノー
ド番号は、テーブルに格納された1入力ノードの行き先
ノード番号(旧ノード番号)に対応する新ノード番号で
ある。
本実施例では入力ファイルを従来のオブジェクトコー
ドファイルとしたが、本発明は入力ファイルが高級言語
のソースプログラム、またアセンブリ言語のソースプロ
グラムなどコンパイラやアセンブラに適用することもで
きる。
本実施例では、待ち合わせをするが次の命令を駆動し
ない命令として、2入力0出力命令のものを示したが、
3入力以上の命令のものにも適用できる。また、待ち合
わせを行なわない命令として1入力命令のものを示した
が、2入力以上の命令であっても定数データの処理等で
待ち合わせを行なわない場合の命令のものにも適用でき
る。
〔発明の効果〕
以上説明したように本発明によれば、待ち合わせにだ
け用いられる行き先ノード番号と、次の命令の読出しに
だけ用いられる行き先ノード番号とを共用できるので、
オブジェクトコード上にダミーノードをつくる必要がな
く、サイズの小さなオブジェクトコードを得ることがで
きるという効果がある。また、一般に待ち合わせをする
が次の命令を読み込まない命令よりも、待ち合わせをし
ないが次の命令の読込みを行なう命令のほうが多く、ほ
とんどの場合ダミーノードのないオブジェクトコードが
得られる。
【図面の簡単な説明】
第1図は本発明によるデータ駆動形計算機用オブジェク
トコード生成装置の一実施例を示すブロック系統図、第
2図はデータ駆動形計算機で実行されるプログラムの一
例を示す説明図、第3図は第1図のデータ駆動形計算機
用オブジェクトコード生成装置で生成したオブジェクト
コードの構成を示す構成図、第4図は第1図の装置にお
ける処理を示すフローチャート、第5図は第1図の装置
の処理で使われるテーブルを示す構成図、第6図は従来
装置を示すブロック系統図、第7図は第6図の装置で生
成したオブジェクトコードの構成を示す構成図である。 10……オブジェクトコード生成装置、11……入力ファイ
ル、12……読込み部、13……処理部、14……オブジェク
トコード出力部、15……命令、16……オブジェクトコー
ドファイル。
フロントページの続き (72)発明者 浅井 文康 兵庫県伊丹市瑞原4丁目1番地 三菱電 機株式会社エル・エス・アイ研究所内 (56)参考文献 特開 平2−146688(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 15/82 G06F 9/44 JOIS(JICST)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】データの待ち合わせが必要であるが命令実
    行後に他の命令を駆動しない命令および待ち合わせを必
    要としないが命令実行後に他の命令を駆動する命令を検
    出し、前記駆動しない命令および駆動する命令の2種類
    の命令の少なくとも一部で共通の行き先ノード番号を割
    り当てる処理部を有することを特徴とするデータ駆動形
    計算機用オブジェクトコード生成装置。
JP13305290A 1990-05-22 1990-05-22 データ駆動形計算機用オブジエクトコード生成装置 Expired - Fee Related JP2754866B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13305290A JP2754866B2 (ja) 1990-05-22 1990-05-22 データ駆動形計算機用オブジエクトコード生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13305290A JP2754866B2 (ja) 1990-05-22 1990-05-22 データ駆動形計算機用オブジエクトコード生成装置

Publications (2)

Publication Number Publication Date
JPH0432980A JPH0432980A (ja) 1992-02-04
JP2754866B2 true JP2754866B2 (ja) 1998-05-20

Family

ID=15095695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13305290A Expired - Fee Related JP2754866B2 (ja) 1990-05-22 1990-05-22 データ駆動形計算機用オブジエクトコード生成装置

Country Status (1)

Country Link
JP (1) JP2754866B2 (ja)

Also Published As

Publication number Publication date
JPH0432980A (ja) 1992-02-04

Similar Documents

Publication Publication Date Title
JP2666847B2 (ja) 異種言語間連絡方式
JP2000347872A (ja) 例外を正規制御フローとして処理する方法及び装置
US5379407A (en) Error handling in a state-free system
JP2516703B2 (ja) 論理自動生成方法および論理自動生成システム
Halpern XPOP: a meta-language without metaphysics
JP2754866B2 (ja) データ駆動形計算機用オブジエクトコード生成装置
US5893122A (en) Hyper-media system including plural application processors which execute navigation processing for hyper-media document
Tyszberowicz et al. OBSERV-a prototyping language and environment combining object oriented approach, state machines and logic programming
JP2848609B2 (ja) 論理回路変換方法及び装置
JP2785138B2 (ja) 大規模知識データベースシステムにおける遺伝方式
JP3722854B2 (ja) データ編集装置
CN116166270A (zh) 一种xaml文件修正方法、装置、计算机设备及存储介质
JPS63261430A (ja) 情報処理方式および装置
JP3192177B2 (ja) オブジェクト処理装置
JP2928128B2 (ja) Cpu周辺装置のシミュレーション方式およびその方法
CN111273956A (zh) 一种程序模块加载方法、装置、设备及存储介质
JPH0285930A (ja) レコードのコンパイル方式
JPH11175344A (ja) 知識ベースシステム
JPH03157729A (ja) 多重継承制御方式
JP2004302840A (ja) データベースアクセス方法
JPS62216037A (ja) ソ−スライブラリによるメツセ−ジ管理方式
George A multilevel programming paradigm
JPH1124905A (ja) プログラムの開発方法
JPH01205331A (ja) 大規模プログラムリンク方式
JPH0268622A (ja) プログラム特殊化方式

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080306

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090306

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20100306

LAPS Cancellation because of no payment of annual fees