JPH01287744A - Program converting device - Google Patents

Program converting device

Info

Publication number
JPH01287744A
JPH01287744A JP11726288A JP11726288A JPH01287744A JP H01287744 A JPH01287744 A JP H01287744A JP 11726288 A JP11726288 A JP 11726288A JP 11726288 A JP11726288 A JP 11726288A JP H01287744 A JPH01287744 A JP H01287744A
Authority
JP
Japan
Prior art keywords
program
parallel
programming language
information
work file
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
JP11726288A
Other languages
Japanese (ja)
Inventor
Kimiharu Okabe
岡部 公治
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11726288A priority Critical patent/JPH01287744A/en
Publication of JPH01287744A publication Critical patent/JPH01287744A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To reduce a load on a user by composing the program converting device of an analyzing device for data dependency relation between a control flow and respective sentences, a determining device for a parallel execution mode, and a converting device for conversion to a parallel type programming language. CONSTITUTION:A series of pieces of information which are analyzed by the analyzing device for the data dependency relation between the control flow and respective sentences from a program in an input buffer 1 are stored in a work file 6. The parallel execution mode determining device 3 determines the execution mode of the program according to said information and its information is stored in the work file 6. Then the converting device 4 for the conversion to the parallel type programming language converts the program in the input buffer into the parallel type programming language according to the information stored in the work file 6 and outputs it to an output buffer 5. Consequently, the load on the user is reduced.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は並列に動作できる複数の演算処理装置を備え、
高速に処理を行う計算機システムで使用して効果をあげ
るために、プログラムを並列処理が可能なように変換す
るプログラム変換装置に関するものである。
[Detailed Description of the Invention] Industrial Application Field The present invention includes a plurality of arithmetic processing units that can operate in parallel,
The present invention relates to a program conversion device that converts a program to enable parallel processing in order to be used effectively in a computer system that performs high-speed processing.

従来の技術 従来のプログラム変換装置では、並列実行形態を決定後
、直接そのプログラムを実行するマシンに依存した命令
コードに変換する。あるいは、プログラムの並列処理を
行う場合、上記のような変換装置はなく、ユーザが最初
から、並列型のプログラミング言語でプログラミングを
作成しなければならない。
2. Description of the Related Art In conventional program conversion devices, after determining a parallel execution form, the program is directly converted into an instruction code depending on the machine that executes the program. Alternatively, when performing parallel processing of programs, there is no conversion device as described above, and the user must create programming from the beginning in a parallel programming language.

発明が解決しようとする課題 しかし、このような従来のプログラム変換装置では、各
文間でのデータ依存関係の解析部や、並列実行可能部分
における並列実行形態決定部の能力の限界から、ユーザ
が入力プログラム中にチューニングのための制御情報を
挿入するのが、通常のやり方であり、ユーザに多大な負
担をかける。
Problems to be Solved by the Invention However, in such conventional program conversion devices, the ability of the data dependency analysis unit between each statement and the parallel execution mode determination unit in the parallel executable portion is limited. It is common practice to insert control information for tuning into the input program, which places a large burden on the user.

また、このようなプログラム変換装置は実行計算機に依
存した命令コードに直接変換するため、異なる計算機で
の互換性に欠ける。さらにユーザが最初から、並列型の
プログラミング言語でプログラミングを作成する方式で
は、既存のプログラムの書換えや、新言語の習得におい
てユーザの負担が大きいといった問題がある。
Furthermore, since such program conversion devices directly convert instruction codes that depend on the execution computer, they lack compatibility with different computers. Furthermore, in a system in which the user creates programming from the beginning in a parallel programming language, there is a problem in that the user is burdened with rewriting existing programs and learning a new language.

本発明は上記問題点に鑑み、逐次処理用のプログラミン
グ言語で記述された入力プログラムの制御フローと各文
間でのデータ依存関係を解析し、並列実行可能部分の並
列実行形態を決定して、該並列実行形態に関する情報か
ら入力プログラムを並列型のプログラミング言語に変換
することを特徴とするプログラム変換装置である。
In view of the above problems, the present invention analyzes the control flow of an input program written in a programming language for sequential processing and the data dependencies between each statement, determines the parallel execution form of the parallel executable parts, and The present invention is a program conversion device that converts an input program into a parallel programming language based on information regarding the parallel execution form.

課題を解決するだめの手段 上記問題点を解決するために本発明のプログラム変換装
置は、制御フローと各文間でのデータ依存関係の解析装
置、並列実行形態の決定装置、並列型のプログラミング
言語への変換装置という構成を持つものである。
Means for Solving the Problems In order to solve the above problems, the program conversion device of the present invention includes a control flow and data dependency analysis device between statements, a parallel execution form determining device, and a parallel programming language. It has the configuration of a conversion device.

作  用 本発明は上記した機構によって、入カパッフアのプログ
ラムから、制御フローと各文間でのデータ依存関係の解
析装置によって解析された一連の情報は、ワークファイ
ルに格納される。この情報をもとに並列実行形態の決定
装置は、プログラムの実行形態を決定し、その情報は、
ワークファイルに格納される。以上ワークファイルに格
納された情報から、並列型のプログラミング言語への変
換装置は入力バッファのプログラムを並列型のプログラ
ミング言語へ変換し、出力バッファに出力することを特
徴とするプログラム変換装置である。
Operation According to the above-described mechanism, the present invention stores a series of information from the input puffer program, which is analyzed by the control flow and inter-statement data dependency analysis device, in a work file. Based on this information, the parallel execution mode determining device determines the execution mode of the program, and the information is
Stored in work file. The apparatus for converting information stored in a work file into a parallel programming language is a program conversion apparatus characterized by converting a program in an input buffer into a parallel programming language and outputting the program to an output buffer.

実施例 以下本発明の一実施例のプログラム変換装置について、
図面を参照しながら説明する。第1図は本発明の一実施
例の全体構成を示すブロック図で、入力バッファ1.デ
ータ依存関係解析装置2.実行形態決定装置3.プログ
ラム変換装置4.出力バッファ6.及びワークファイル
6から構成される。
Example Below, regarding a program conversion device according to an example of the present invention,
This will be explained with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of an embodiment of the present invention, in which input buffers 1. Data dependency analysis device 2. Execution mode determining device 3. Program conversion device 4. Output buffer 6. and a work file 6.

第1図において、被変換プログラムは、まず入力バッフ
ァ1に読み込まれる。データ依存関係解析装置2は、プ
ログラムの制御フローと各文間でのデータ依存関係を解
析し、ワークファイル6にその情報を書き出す。実行形
態決定装置3は、ワークファイルeの情報からプログラ
ムの並列実行形態を決定し、ワークファイル6にその情
報を書き出す。プログラム変換装置4は、ワークファイ
ル6の情報から入力プログラムを並列性を陽に示す並列
型のプログラミング言語に変換し、出力バッファ6に書
き出す。
In FIG. 1, a program to be converted is first read into an input buffer 1. In FIG. The data dependency analysis device 2 analyzes the control flow of the program and the data dependency relationships between each statement, and writes the information to the work file 6. The execution mode determining device 3 determines the parallel execution mode of the program from the information in the work file e, and writes the information to the work file 6. The program conversion device 4 converts the input program into a parallel programming language that explicitly indicates parallelism based on the information in the work file 6, and writes it to the output buffer 6.

第2図は本発明の一実施例のデータ依存関係解析装置2
の処理の流れを示すフローチャートである。第2図にお
いて、データ依存関係解析装置2は、入力バッファ1よ
シ入カプログラムを1行ずつ読み込んで処理を行う。ま
ず、その文が分岐文または条件文の場合、その分岐先を
調べてワークファイルe内の制御フロー表に書き込む、
次にその文に現れるすべての変数に対して、その変数が
更新されているか、参照されているかを調べ、利用形態
を変数名と共にワークファイル6内の変数表に書き込む
。1行に対する処理が終われば次の処理に移り、入力バ
ッファが空になった時、次のステップである実行形態決
定装置3に処理を移す。
FIG. 2 shows a data dependency analysis device 2 according to an embodiment of the present invention.
3 is a flowchart showing the flow of processing. In FIG. 2, the data dependency analysis device 2 reads the input program line by line from the input buffer 1 and processes it. First, if the statement is a branching statement or a conditional statement, check the branch destination and write it to the control flow table in the work file e.
Next, it is checked whether all variables appearing in the sentence have been updated or referenced, and the usage form is written in the variable table in the work file 6 along with the variable name. When the processing for one line is completed, the process moves to the next one, and when the input buffer becomes empty, the process moves to the next step, the execution mode determining device 3.

第3図は本発明の一実施例の実行形態決定装置3の処理
の流れを示すフローチャートである。第3図において、
実行形態決定装置3は、ワークファイルθ内の制御フロ
ー図を読み、ステートメントのブロック化を行う。この
時、各ブロックは制御の入出カフローが唯一つだけ存在
するようにする。次にワークファイルθ内の変数テーブ
ルを読み、各ブロック間でどのようなデータ依存関係が
存在するか調べる。データ依存関係が「更新→参照」、
「更新→更新」、「参照→更新」など、更新データを含
む場合、両ブロック間での同期を持つ必要があるので、
ワークファイルe内の同期表に書き込む。このようにし
て作成された同期表は、他の同期でカバーされる冗長な
同期を含むので、そのような同期の除去などの最適化を
行う。
FIG. 3 is a flowchart showing the processing flow of the execution mode determining device 3 according to an embodiment of the present invention. In Figure 3,
The execution mode determining device 3 reads the control flow diagram in the work file θ and blocks statements. At this time, each block ensures that only one control input/output flow exists. Next, read the variable table in the work file θ and check what kind of data dependence exists between each block. Data dependency is "Update → Reference",
If update data is included, such as "update → update" or "reference → update," it is necessary to synchronize between both blocks.
Write to the synchronization table in work file e. Since the synchronization table created in this way includes redundant synchronizations that are covered by other synchronizations, optimizations such as removal of such synchronizations are performed.

発明の効果 以上述べてきたように、本発明によれば逐次型のプログ
ラミング言語で書かれたプログラムを、複数の演算処理
装置を持つ計算機システムで実行する場合、従来のよう
に、人手によシブログラムに制御情報を付加した後、直
接実行計算機に依存した命令コードに変換したり、最初
から並列型のプログラミング言語でプログラミングする
のでなく、自動的に並列型のプログラミング言語に書換
えるため、ユーザの負担が軽くなるという効果が得られ
る。
Effects of the Invention As described above, according to the present invention, when a program written in a sequential programming language is executed on a computer system having a plurality of arithmetic processing units, it is possible to manually execute a program written in a sequential programming language. After adding control information to the , the user is automatically rewritten into a parallel programming language instead of directly converting it into an instruction code that depends on the execution computer or programming in a parallel programming language from the beginning. This has the effect of making it lighter.

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

第1図は本発明の一実施例のシステム構成を示すブロッ
ク図、第2図は本発明の一実施例のデータ依存関係解析
装置2の処理の流゛れを示すフローチャート、第3図は
本発明の一実施例の実行形態決定装置3の処理の流れを
示すフローチャートである。 1・・・・・・入力バッファ、2・・・・・・データ依
存関係解析装置、3・・・・・・実行形態決定装置、4
・・・・・・プログラム変換装置、6・・・・・・出力
バッファ、6・・・・・・ワークファイル。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名/ 
−−一人力へ°ヲファ ?−デーグ截#関抹 N側11! 3−実4テ形匙決文j電置 第 1 図        ≠−アログラム衾換五15
−とカバ・7フア 6−ワークフアイシ 第2図 第3図
FIG. 1 is a block diagram showing the system configuration of an embodiment of the present invention, FIG. 2 is a flow chart showing the flow of processing of the data dependency relationship analysis device 2 of the embodiment of the present invention, and FIG. 3 is a flowchart showing a process flow of the execution mode determining device 3 according to an embodiment of the invention. 1... Input buffer, 2... Data dependency analysis device, 3... Execution form determining device, 4
...Program converter, 6...Output buffer, 6...Work file. Name of agent: Patent attorney Toshio Nakao and 1 other person/
--Towards single power °wofa? -Daegki #Sekima N side 11! 3-Real 4 Te-shaped Spoon Ketsubun j Deki No. 1 Figure ≠-Allogram kankan 515
- and cover 7 floor 6- work area Figure 2 Figure 3

Claims (1)

【特許請求の範囲】[Claims] 入力プログラムの制御フローと各文間でのデータ依存関
係を解析する手段と、並列実行可能部分の並列実行形態
を決定する手段と、前記並列実行形態に関する情報から
入力プログラムを変換する手段を持ち、逐次処理用のプ
ログラミング言語で記述された入力プログラムを並列性
を陽に示す並列型のプログラミング言語に変換すること
を特徴とするプログラム変換装置。
having means for analyzing the control flow of an input program and data dependencies between statements, means for determining a parallel execution form of a parallel executable part, and means for converting the input program from information regarding the parallel execution form, A program conversion device that converts an input program written in a programming language for sequential processing into a parallel programming language that explicitly indicates parallelism.
JP11726288A 1988-05-13 1988-05-13 Program converting device Pending JPH01287744A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11726288A JPH01287744A (en) 1988-05-13 1988-05-13 Program converting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11726288A JPH01287744A (en) 1988-05-13 1988-05-13 Program converting device

Publications (1)

Publication Number Publication Date
JPH01287744A true JPH01287744A (en) 1989-11-20

Family

ID=14707409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11726288A Pending JPH01287744A (en) 1988-05-13 1988-05-13 Program converting device

Country Status (1)

Country Link
JP (1) JPH01287744A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0470931A (en) * 1990-07-05 1992-03-05 Agency Of Ind Science & Technol Arithmetic allocation method for logical synthesization

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0470931A (en) * 1990-07-05 1992-03-05 Agency Of Ind Science & Technol Arithmetic allocation method for logical synthesization

Similar Documents

Publication Publication Date Title
JP3480973B2 (en) Behavior analysis device for parallel processing system
JP3990332B2 (en) Data processing system
JPH01287744A (en) Program converting device
JPH0766342B2 (en) Program test equipment
JPS63120338A (en) Program converting device
JPS5922140A (en) Interactive compiling system
KR940000883B1 (en) Common lisp having synchronized processing type
JPS63276127A (en) System for generating dynamic instruction
JP3367438B2 (en) Conditional execution processing device
JP3018783B2 (en) Compilation method
JPH0612259A (en) Compiler processing system
JPH01123369A (en) Presentation device
JPS63217433A (en) Control system for execution of program
KR950005523B1 (en) Step-run processing method of programmable logic controller
JPH034336A (en) Program debug processor
JPS62182930A (en) Function dividion type parallel compiling system
JPH0417031A (en) System for optimizing propagation of constant value
JPH03282826A (en) Parallel conversion translating system
JPH04289927A (en) Extended command generating system for debugger
JPH0746319B2 (en) FORTRAN tuning processor
JPH02280285A (en) System for generating debugging program of data flow type calculator
JPH06332673A (en) Program execution environment setting system
JPH04250530A (en) Program conversion and translation device
JPH0267637A (en) Compiling system for program using specified macro
JPS62208170A (en) Logical design supporting system