JPH077346B2 - データフローコンピュータのデバッグ方式 - Google Patents

データフローコンピュータのデバッグ方式

Info

Publication number
JPH077346B2
JPH077346B2 JP63200863A JP20086388A JPH077346B2 JP H077346 B2 JPH077346 B2 JP H077346B2 JP 63200863 A JP63200863 A JP 63200863A JP 20086388 A JP20086388 A JP 20086388A JP H077346 B2 JPH077346 B2 JP H077346B2
Authority
JP
Japan
Prior art keywords
language
target
data flow
target language
executed
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
JP63200863A
Other languages
English (en)
Other versions
JPH0247733A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP63200863A priority Critical patent/JPH077346B2/ja
Publication of JPH0247733A publication Critical patent/JPH0247733A/ja
Publication of JPH077346B2 publication Critical patent/JPH077346B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、高級言語で記述されたプログラムをコンパイ
ラで目的言語で翻訳して実行する非ノイマン形のデータ
フローコンピュータのデバッグ方式に関する。
〈従来の技術〉 従来のノイマン形のコンピュータは、メインメモリに格
納されたプログラムをプログラムカウンタの指定によっ
て遂次読み出して、第6図に示すようにステップ順に実
行する。そして、このコンピュータにおけるデバッグ
は、処理の遂次性を利用して次のように行なわれる。即
ち、コンピュータ内に第7図に示すような各プログラム
ステップ(文1,文2,…)のスタート,エンドアドレスを
記憶したアドレステーブルを設け、各プログラムステッ
プをコンパイラで翻訳して得られる目的言語(オブジェ
クト)のうち実行中のもののアドレスが、デバッグを開
始すべきプログラムステップのスタートアドレスになっ
たとき直ちに実行を停止するのである。
一方、昨今の処理情報量の増大化に伴う多量データ高速
処理の要請を満たすべく、従来の遂次処理方式のノイマ
ン形コンピュータに代わって、プログラム中のどの複数
の命令でもその入力が揃った時点で並列演算できるハー
ドウェア構成になった非ノイマン形のデータフローコン
ピュータが研究,開発され、実用に供せられつつある。
このデータフローコンピュータは、高級言語で記述され
たプログラムをコンパイラで目的言語即ち命令とデステ
ィネーションセルとオペランドからなる命令セルに翻訳
した後、命令セルのオペランドが全て揃った段階でこの
命令セルをネットワークで結合された複数の演算器に送
って並列に命令を実行して、演算処理の高速化を図った
ものである。
〈発明が解決しようとする課題〉 ところが、このデータフローコンピュータは、前述のノ
イマン形コンピュータと異なり、上述の如き並列演算を
行なうことから各命令セルの実行順序が定かでなく、第
8図,第9図に示すように高級言語の1プログラムステ
ップ中の命令の実行中に他のプログラムステップ中の命
令が同時並行的に実行されるのが普通である。また、第
10図に示すように一つの演算が例1,例2のいずれの順で
でも行なえる。そのため、各プログラムステップの終端
即ちプレイクポイントを見つけることが難しく、高級言
語1ステップの実行確認ができず、実質的にデバッグが
できないという欠点がある。しかるに、このデータフロ
ーコンピュータ自体が、最近実用化の途についたばかり
なので、デバッグを可能ならしめる方式は未だ提案すら
されていない。
そこで、本発明の目的は、高級言語を目的言語に翻訳し
て実行する非ノイマン形のデータフローコンピュータに
おいて、高級言語1ステップの実行を検知して、デバッ
グを可能ならしめるデータフローコンピュータのデバッ
グ方式を提供することである。
〈課題を解決するための手段〉 上記目的を達成するため、本発明のデータフローコンピ
ュータのデバッグ方式は、高級言語で記述されたプログ
ラムの各ステップに含まれ、コンパイラで翻訳された目
的言語の数を記憶する第1テーブルと、上記各ステップ
のステップ番号とそのステップに含まれる目的言語の言
語番号とを対応づけて記憶する第2テーブルと、実行停
止条件として予め与えられた停止ステップ番号に該当す
るステップ中の目的言語数に応じた数のフラグをもち得
る第3テーブルと、実行中の目的言語が上記停止ステッ
プ番号に該当するステップに含まれる目的言語であるか
否かを上記第2テーブルを参照して判別し、肯と判別し
たとき上記第3テーブルに対応するフラグを立てるとと
もに、この第3テーブルの全てのフラグが立ったか否か
を上記第1テーブルを参照して判断し、肯と判別したと
き実行中の処理を中断するモニタ手段とを備えて、ステ
ップ単位のデバッグを可能ならしめたことを特徴とす
る。
〈作用〉 高級言語で記述されたプログラムの各ステップがコンパ
イラで翻訳されると、第1テーブルには各ステップに含
まれる目的言語数が、第2テーブルには各ステップのス
テップ番号とそのステップに含まれる目的言語の言語番
号とが対応づけて夫々記憶される。次に、モニタ手段
は、実行中の目的言語が実行停止条件として予め与えら
れた停止ステップ番号に該当するステップに含まれる目
的言語であるか否かを上記第2テーブルを参照して判別
し、肯と判別したとき、停止ステップ中の目的言語数に
応じた数のフラグをもつ第3テーブルに対応するフラグ
を立てる。そして、上記モニタ手段は、第3テーブルの
全てのフラグが立ったか否かを上記第1テーブルのその
ステップの目的言語を参照して判別し、肯と判別したと
き実行中の処理を中断する。つまり、任意の停止ステッ
プの全目的言語の実行が終わると、処理が中断するの
で、ステップ単位のデバッグが可能になる。
〈実施例〉 以下、本発明を図示の実施例により詳細に説明する。
第1図は、本発明のデバッグ方式を採用したデータフロ
ーコンピュータのハードウェア構造を模式的に示した図
である。同図において、1はコンパイラで翻訳された目
的言語からなるプログラムを収納するプログラム収納
部、2は加算器,乗算器など複数の演算器からなる演算
部、3は処理すべきデータ等を貯える外部メモリ、4は
これら各部間をループ状に結合する通信ネットワーク、
5は上記プログラム収納部1と演算部2間の通信ネット
ワーク4aに介設され、プログラム収納部1から送られて
くる目的言語(命令セル)がそのオペランドが揃うまで
データ待ちをするデータ待ち合せ部、6は上記演算部2
による命令セルの演算結果をプログラム収納部1へ送る
通信ネットワーク4bに介設されたモニタ部である。
上記モニタ部6は、高級言語で記述されたプログラムの
各ステップ(実行文1,実行文2,…)からコンパイラによ
って翻訳された目的言語の数(機械語命令数)を記憶す
る第2図に示すような第1テーブルと、各ステップのス
テップ番号(実行文No.)とそのステップに含まれる目
的言語の言語番号(機械語No.)とを対応づけて記憶す
る第3図に示すような第2テーブルと、実行停止条件と
して予め定められた停止ステップ番号に該当するステッ
プ中の目的言語数に応じた数のフラグをもち得る第4図
に示すような第3テーブルと、モニタ手段を備えてい
る。
上記モニタ手段は、データフローコンピュータが実行中
の目的言語が、上記停止ステップ番号に該当するステッ
プに含まれる目的言語である否かを上記第2テーブル
(第3図)を参照して判別し、肯と判別したとき上記第
3テーブル(第4図)の対応するフラグを立てるととも
に、この第3テーブルの全てのフラグが立ったか否かを
上記第1テーブル(第2図)を参照して判別し、肯と判
別したときデータフローコンピュータをして実行中の処
理を中断せしめるようになっている。なお、上記第1,第
2テーブルは、高級言語から目的言語へのコンパイル時
に作成され、CPUはこの目的言語(機械語)に基づいて
第3図右側に示すように処理を実行する。また、上記モ
ニタ手段は、具体的には上記CPUで構成され、第3テー
ブルを処理実行中に順次作成する。第3図テーブル中の
“0"はその目的言語が未実行であることを、“1"はその
目的言語が実行済みであることを夫々表わす。
上記構成のデータフローコンピュータのデバッグ方式に
ついて、第5図のフローチャートを参照しつつ次に述べ
る。
まず、コンパイラは、ステップS1で、高級言語で記述さ
れたプログラムをステップ順に目的言語に翻訳し、その
際、各ステップの目的言語の数を格納した第2図のテー
ブルと、各ステップのステップ番号とそのステップに含
まれる目的言語の言語番号とを対応づけて格納した第3
図のテーブルが作成され、CPUは上記目的言語に基づい
て処理を実行する。次に、ステップS2で、デバッグを開
始すべきプログラムステップの直前のステップ番号Nが
設定される。すると、モニタ部6内のモニタ手段は、ス
テップS3で、CPUがその時実行している目的言語nが、
実行停止条件として予め与えられた上記N番ステップに
含まれる目的言語N1,…,Ncnのいずれかであるかどう
かを第3図のテーブルを参照して順次判別し、肯と判別
すれば、ステップS4に進んで第4図のテーブルのその目
的言語に対応する箇所にフラグを立て(Fnk←1)、否
と判別すれば、フラグをそのまま(Fnk←0)にしてお
く。そして、ステップS5でN番ステップの全ての目的言
語が全て参照されたと判断されれば、次のステップS6に
進む。
ステップS6で、上記モニタ手段は、第4図のテーブルの
全てのフラグが立った(Fnk=1;k=1,…,Cn)か否かを
第2図のテーブルのN番ステップの目的言語Cnを参照し
て判別し、肯と判別したときステップS7へ進んでCPUを
して実行中の処理を中断せしめる一方、否と判別したと
きステップS8へ進んでCPUをして実行中の処理を続行せ
しめる。最後に、ステップS9で、高級言語で記述された
プログラムが全て実行されたか否かが判断され、否なら
ステップS3に処理を戻し、肯なら処理を終了する。な
お、第4図のテーブルをN番ステップを構成する全ての
目的言語(N1,…,Ncn)について作成するのは、これ
らの目的言語の実行順が必ずしも一定でないからであ
る。
このように、上記実施例のデータフローコンピュータで
は、コンパイル時に各ステップの目的言語数を記憶した
第2図のテーブルと、各ステップのステップ番号とその
ステップに含まれる目的言語の言語番号とを対応づけて
記憶した第3図のテーブルを作成する一方、実行中の目
的言語を予め与えられた停止ステップに含まれる目的言
語であるか否かをモニタ手段によって第3図のテーブル
を参照して判別し、そうであるとき第4図の実行フラグ
テーブルの対応箇所にフラグを立てていき、この実行フ
ラグテーブルの全てのフラグが立ったとき実行中の処理
を中断するので、プログラムの任意のステップ直前まで
実行を中断して、確実にステップ単位にデバッグを行な
うことができる。
なお、本発明のデータフローコンピュータのデバッグ方
式が図示の実施例に限られないのはいうまでもない。
〈発明の効果〉 以上の説明で明らかなように、本発明のデータフローコ
ンピュータのデバッグ方式は、コンパイル時に、高級言
語で記述されたプログラムの各ステップの目的言語数を
記憶した第1テーブルと、各ステップのステップ番号と
そのステップに含まれるめ目的言語の言語番号とを対応
づけて記憶した第2テーブルを作成する一方、実行中の
目的言語が予め与えられた停止ステップに含まれる目的
言語であるか否かをモニタ手段によって上記第2テーブ
ルを参照して判別し、そうであるときフラグテーブルた
る第3テーブルの対応箇所にフラグを立てていき、この
第3テーブルの全てのフラグが立ったとき実行中の処理
を中断するようにしているので、高級言語で記述された
プログラムの任意のステップ直前で実行を中断して、従
来不可能だったデータフローコンピュータにおけるデバ
ッグを確実に行なうことができる。
【図面の簡単な説明】
第1図は本発明のデバッグ方式を採用したデータフロー
コンピュータのハードウェア構造を示す模式図、第2
図,第3図,第4図は上記デバッグ方式に用いる夫々第
1テーブル,第2テーブル,第3テーブルを示す図、第
5図は上記デバッグ方式の処理の流れを示すフローチャ
ート、第6図,第7図は従来のノイマン形コンピュータ
の逐次処理を示す図、第8図,第9図,第10図は非ノイ
マン形コンピュータの並列処理の例を示す図である。 1……プログラム収納部、2……演算部、4……通信ネ
ットワーク、6……モニタ部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】高級言語で記述されたプログラムを目的言
    語に翻訳するコンパイラを有するデータフローコンピュ
    ータにおいて、 高級言語で記述されたプログラムの各ステップに含まれ
    る目的言語数を記憶する第1テーブルと、上記各ステッ
    プのステップ番号とそのステップに含まれる目的言語の
    言語番号とを対応づけて記憶する第2テーブルと、実行
    停止条件として予め与えられた停止ステップ番号に該当
    するステップ中の目的言語数に応じた数のフラグをもち
    得る第3テーブルと、実行中の目的言語が上記停止ステ
    ップ番号に該当するステップに含まれる目的言語である
    か否かを上記第2テーブルを参照して判別し、肯と判別
    したとき上記第3テーブルに対応するフラグを立てると
    ともに、この第3テーブルの全てのフラグを立ったか否
    かを上記第1テーブルを参照して判別し、肯と判別した
    とき実行中の処理を中断するモニタ手段とを備えて、ス
    テップ単位のデバッグを可能ならしめたことを特徴とす
    るデータフローコンピュータのデバッグ方式。
JP63200863A 1988-08-09 1988-08-09 データフローコンピュータのデバッグ方式 Expired - Fee Related JPH077346B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63200863A JPH077346B2 (ja) 1988-08-09 1988-08-09 データフローコンピュータのデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63200863A JPH077346B2 (ja) 1988-08-09 1988-08-09 データフローコンピュータのデバッグ方式

Publications (2)

Publication Number Publication Date
JPH0247733A JPH0247733A (ja) 1990-02-16
JPH077346B2 true JPH077346B2 (ja) 1995-01-30

Family

ID=16431479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63200863A Expired - Fee Related JPH077346B2 (ja) 1988-08-09 1988-08-09 データフローコンピュータのデバッグ方式

Country Status (1)

Country Link
JP (1) JPH077346B2 (ja)

Also Published As

Publication number Publication date
JPH0247733A (ja) 1990-02-16

Similar Documents

Publication Publication Date Title
JPH077346B2 (ja) データフローコンピュータのデバッグ方式
JPS5922140A (ja) 対話型コンパイル方式
JPH0410081B2 (ja)
JP2747164B2 (ja) ソフトウェア・シミュレータ
JP2552738B2 (ja) データ処理装置
JP2540605B2 (ja) デ―タフロ―コンピュ―タの実行検知方式
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
JPS5856051A (ja) アクセス割込みによるアドレス・コンペア方式
JPS59191614A (ja) ロボツトの制御装置
JPH0677236B2 (ja) I/o割込みをシミュレートする装置及び方法
JPH0262639A (ja) 言語デバッガの中断方式
JPS61180344A (ja) 高級言語のステツプ実行システム
JPH0795288B2 (ja) マイクロコンピュータ
JP3619861B2 (ja) パイプライン情報の出力方法ならびにそのための出力装置およびコンピュータ読み取り可能な記録媒体
JP3130421B2 (ja) プログラム解析方法および装置
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JPS6214240A (ja) プログラム検査方式
JPH02128223A (ja) 演算処理装置
JPH03127171A (ja) ベクトル処理装置
JPS61259342A (ja) 仮想計算機システムにおける特権命令のシミユレ−シヨン方式
JPS61279935A (ja) プログラム処理方式
JPS634338A (ja) 関数呼び出し方式
JPS63228341A (ja) プログラム構文チエツク方式
JPH03100826A (ja) 情報処理装置
JPH03242736A (ja) 異常処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees