JPH01100632A - Program parallel performing method - Google Patents

Program parallel performing method

Info

Publication number
JPH01100632A
JPH01100632A JP25893287A JP25893287A JPH01100632A JP H01100632 A JPH01100632 A JP H01100632A JP 25893287 A JP25893287 A JP 25893287A JP 25893287 A JP25893287 A JP 25893287A JP H01100632 A JPH01100632 A JP H01100632A
Authority
JP
Japan
Prior art keywords
loop
recurrent
program
parallel
arithmetic
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
JP25893287A
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 JP25893287A priority Critical patent/JPH01100632A/en
Publication of JPH01100632A publication Critical patent/JPH01100632A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To execute a program in parallel by being equipped with the detecting means of a DO loop in an input program, the detecting means of static/dynamic information depending relationship in the DO loop, and the successive executing instruction means only for a recurrent arithmetic part, successively processing the recurrent arithmetic part and processing the other part in parallel. CONSTITUTION:An executing program is read into an input buffer 1. A DO loop detecting device 2 sends the part other than the DO loop to an executing device 6, and writes the DO loop part to a working register. A recurrent arithmetic static detecting device 4 sends the recurrent arithmetic part in the DO loop so as to be successively executed, the other part so as to be processed executing device 6. A statistically undecidable part is sent to a recurrent arithmetic dynamic detector 5, a value at the time of the execution is received from the executing device 6, the presence and absence of the recurrent operation is detected, the recurrent arithmetic part is sent so as to be successively processed, the other part is sent so as to be processed in parallel to the executing device 6. The operation which can be decided not to be the recurrent operation is processed in parallel, and the program is executed at high speed.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は並列に動作できる複数の演算処理装置を備え、
高速に処理を行う計算機システムで使用して効果をあげ
るための、プログラム並列実行方。
[Detailed Description of the Invention] Industrial Application Field The present invention includes a plurality of arithmetic processing units that can operate in parallel,
A method of parallel program execution that can be used effectively in computer systems that perform high-speed processing.

法に関するものである。It is about law.

従来の技術 従来のプログラム並列実行方法では、再帰関係のないこ
とが実行前に分るDOループの並列化を行う。しかし、
例えば下記のDOループは実行前に再帰関係がわからな
いため、並列処理することをやめる。
BACKGROUND OF THE INVENTION In a conventional program parallel execution method, DO loops are parallelized in which it is known before execution that there is no recursion relationship. but,
For example, the DO loop below does not perform parallel processing because the recursion relationship is not known before execution.

READ C*、*)   K DO  10  I=1.N A (I) =A (I) *2 B (I)〒A(I+K) 10  C0NTINUE 発明が解決しようとする問題点 このような従来のプログラム並列実行方式では、DOル
ープ中に再帰演算かどうかが実行前に判定できない実行
文が含まれる場合、並列化できないという問題がある。
READ C*, *) K DO 10 I=1. N A (I) = A (I) *2 B (I)〒A(I+K) 10 C0NTINUE Problems to be Solved by the Invention In such a conventional program parallel execution method, whether recursive operations are performed during the DO loop or not If it contains an executable statement that cannot be determined before execution, there is a problem that it cannot be parallelized.

本発明は上記問題点に鑑み、DOループ中のデータ依存
関係を動的に判定し、再帰演算となる場合は逐次に、な
らない場合は並列に処理するようなプログラム並列実行
方法である。
In view of the above-mentioned problems, the present invention is a program parallel execution method that dynamically determines data dependencies in a DO loop, and processes the data sequentially if it is a recursive operation, and in parallel if it does not.

問題点を解決するための手段 上記問題点を解決するために本発明のプログラム並列実
行方法は、入出カプログラムを保持するだめのバッファ
、DO文の検出装置、データ依存関係の検出装置、再帰
演算の静的検出装置、及び再帰演算の動的検出装置とい
う構成を持つものである。
Means for Solving the Problems In order to solve the above problems, the program parallel execution method of the present invention includes a buffer for holding input/output programs, a DO statement detection device, a data dependency detection device, and a recursive operation. The system consists of a static detection device for static detection, and a dynamic detection device for recursive operations.

作用 本発明は上記した機構によって、入カバソファのプログ
ラムから、DO文の検出装置によって検出された一連の
DO小ループ、ワークレジスタに格納され、再帰演算の
静的検出装置によって判定された演算は、再帰演算なら
ば逐次に、そうでなければ並列に処理し、再帰演算の静
的検出装置によって判定されなかった演算は実行時に再
帰演算の動的検出装置によって判定され、再帰演算なら
ば逐次に、そうでなければ並列に・処理されることを特
徴とするプログラム並列実行方法である。
Operation The present invention uses the above-described mechanism to detect a series of DO small loops detected by the DO statement detection device from the program of the input cover sofa, operations stored in the work register, and determined by the static detection device for recursive operations. If it is a recursive operation, it will be processed sequentially, if it is not, it will be processed in parallel, and if the operation is not judged by the static detection device for recursive operations, it will be judged by the dynamic detection device for recursive operations at the time of execution. This is a parallel program execution method characterized in that the programs are otherwise processed in parallel.

実施例 以下本発明の一実施例のプログラム並列実行方法につい
て、図面を参照しながら説明する。第1図は本発明の一
実施例の全体構成を示すブロック図で、入カバソファ1
、DOループ検出装置2、ワークレジスタ3、再帰演算
静的検出装置4、再帰演算動的検出装置5、及び実行装
置6などから構成される。
Embodiment Hereinafter, a program parallel execution method according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of an embodiment of the present invention.
, a DO loop detection device 2, a work register 3, a recursive operation static detection device 4, a recursive operation dynamic detection device 5, an execution device 6, and the like.

第1図において、実行プログラムは、まず入カバソファ
1に読み込まれる。DOループ検出装置2は、プログラ
ムのDOループ以外の部分はそのまま実行装置6に送り
出し、DO小ループ部分はワークレジスタ3に書き出す
。再帰演算静的検出装置4は、DOループ中の再帰演算
の有無を検出し、再帰演算ならば逐次に、そうでなけれ
ば並列に処理するように実行装置6に送り出し、静的に
判定できない部分は再帰演算動的検出装置5に送る。再
帰演算動的検出装置5は、実行装置6から実行時の値を
受は取って再帰演算の有無を検出し、再帰演算ならば逐
次に、そうでなければ並列に処理するように実行装置6
に送り出す。
In FIG. 1, an execution program is first read into the entrance sofa 1. As shown in FIG. The DO loop detection device 2 sends the portion of the program other than the DO loop as it is to the execution device 6, and writes the DO small loop portion to the work register 3. The recursive operation static detection device 4 detects the presence or absence of a recursive operation in the DO loop, and sends it to the execution device 6 to be processed sequentially if it is a recursive operation, or in parallel if it is not, and detects parts that cannot be determined statically. is sent to the recursive operation dynamic detection device 5. The recursive operation dynamic detection device 5 receives the value at the time of execution from the execution device 6 and detects the presence or absence of a recursive operation.
send to.

第2図は、あるDO小ループ当プログラム並列実行方法
によって処理される場合の実行経過を示す流れ図である
FIG. 2 is a flowchart showing the execution progress when a certain DO small loop is processed by the program parallel execution method.

発明の効果 以上述べてきたように、本発明によればDOループ中に
再帰演算となるかどうかを実行前には判定できない演算
を持つプログラムを複数の演算処理装置を持つ計算機シ
ステムで実行する場合、従来のように逐次的に処理を行
うのではなく、実行時に再帰演算でないと判定できる演
算は、並列に処理し、プログラムが高速に実行できると
いう効果が得られる。
Effects of the Invention As described above, according to the present invention, when a program having an operation in which it is not possible to determine whether or not it will be a recursive operation during the DO loop before execution is executed on a computer system having a plurality of arithmetic processing units. Instead of performing processing sequentially as in the conventional method, operations that can be determined to be non-recursive operations at the time of execution are processed in parallel, resulting in the effect that the program can be executed at high speed.

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

第1図は本発明の一実施例のシステム構成を示すブロッ
ク図、第2図はあるプログラムの実行方法を示す流れ図
である。 1・・・・・・入カバソファ、2・・・・・・DOルー
プ検出装置、3・・・・・・ワークレジスタ、4・・・
・・・再帰演算静的検出装置、5・・・・・・再帰演算
動的検出装置、6・・・・・・実行装置。 代理人の氏名 弁理士 中尾敏男 はか1名/  −一
一人カバフファ 2−−− DO71/−ブオ趣士1肢]13−−−ワー
クシンスゲ 6−実行装置 第1図 第2図
FIG. 1 is a block diagram showing the system configuration of an embodiment of the present invention, and FIG. 2 is a flow chart showing a method of executing a certain program. 1... Input cover sofa, 2... DO loop detection device, 3... Work register, 4...
. . . Recursive operation static detection device, 5 . . . Recursive operation dynamic detection device, 6 . . . Execution device. Name of agent Patent attorney Toshio Nakao Haka 1/-Each person Kabafufa 2---DO71/-Buo 1 limb] 13--Work Shinsuge 6-Execution device Fig. 1 Fig. 2

Claims (1)

【特許請求の範囲】[Claims] 入力プログラム中のDOループの有無を検出する手段と
、該DOループ中における静的及び動的なデータ依存関
係を検出する手段と、再帰演算部分のみの逐次実行を指
定する手段を持ち、該プログラム中の該DOループを再
帰演算部分は逐次に他は並列に処理することを特徴とす
るプログラム並列実行方法。
The program includes a means for detecting the presence or absence of a DO loop in an input program, a means for detecting static and dynamic data dependencies in the DO loop, and a means for specifying sequential execution of only the recursive operation part. 1. A program parallel execution method, characterized in that a recursive calculation part of the DO loop is processed sequentially and the rest is processed in parallel.
JP25893287A 1987-10-14 1987-10-14 Program parallel performing method Pending JPH01100632A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25893287A JPH01100632A (en) 1987-10-14 1987-10-14 Program parallel performing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25893287A JPH01100632A (en) 1987-10-14 1987-10-14 Program parallel performing method

Publications (1)

Publication Number Publication Date
JPH01100632A true JPH01100632A (en) 1989-04-18

Family

ID=17327044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25893287A Pending JPH01100632A (en) 1987-10-14 1987-10-14 Program parallel performing method

Country Status (1)

Country Link
JP (1) JPH01100632A (en)

Similar Documents

Publication Publication Date Title
JPH02257219A (en) Pipeline processing apparatus and method
JPH01100632A (en) Program parallel performing method
JPS63120338A (en) Program converting device
JPH0454638A (en) Electronic computer
JP2871693B2 (en) Critical section optimization method
JPH02118733A (en) System for controlling execution of task
Marti Compilation techniques for a control-flow concurrent LISP system
JPH02181236A (en) Debug device
JPH0512062A (en) Step break processing system
JPS60198640A (en) Pipeline type information processor
JPS6349841A (en) Automatic program converter
JPH0378832A (en) Data processor
JPH04106652A (en) Exceptional treatment system
JPH0340143A (en) Debugging system for pipeline type computer
JPH0877037A (en) Jamming device
JPH0546444A (en) Debugger with log function
JPH04104330A (en) Procedure calling system at parallel processing time
JPH01226031A (en) Control system for pipe line of information processor
JPS63140344A (en) Exception processing control system
JPH0764805A (en) Real-time multitask system
JPH02194431A (en) Continuous job processing system
JPS638841A (en) Interruption accepting system
JPH02112028A (en) System for controlling execution of data flow type language
JPH0527963A (en) Simultaneous support method for various floating point calculating instructions
JPS63174137A (en) System for initializing exceptional data