JPH01100632A - Program parallel performing method - Google Patents
Program parallel performing methodInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 12
- 230000003068 static effect Effects 0.000 claims abstract description 10
- 230000000306 recurrent effect Effects 0.000 abstract 8
- 238000001514 detection method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
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.
第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)
、該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.
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) |
-
1987
- 1987-10-14 JP JP25893287A patent/JPH01100632A/en active Pending
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 |