JP2958985B2 - 排他制御の最適化方式 - Google Patents

排他制御の最適化方式

Info

Publication number
JP2958985B2
JP2958985B2 JP19902789A JP19902789A JP2958985B2 JP 2958985 B2 JP2958985 B2 JP 2958985B2 JP 19902789 A JP19902789 A JP 19902789A JP 19902789 A JP19902789 A JP 19902789A JP 2958985 B2 JP2958985 B2 JP 2958985B2
Authority
JP
Japan
Prior art keywords
exclusive control
section
target section
movement
immediately
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
JP19902789A
Other languages
English (en)
Other versions
JPH0363728A (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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP19902789A priority Critical patent/JP2958985B2/ja
Publication of JPH0363728A publication Critical patent/JPH0363728A/ja
Application granted granted Critical
Publication of JP2958985B2 publication Critical patent/JP2958985B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、高級プログラミング言語のコンパイラにお
ける排他制御の最適化方式に関する。
(従来の技術) 従来、プログラム中の排他制御の開始処理、および終
了処理の実行によるオーバヘツド時間を減らすために
は、排他制御する文が連続するように利用者がプログラ
ムを記述して、排他制御の開始および終了の処理回数を
減らす必要があつた。
(発明が解決しようとする課題) 上述した従来の方式では、利用者が文間の依存関係な
どを意識して、プログラムを作成しなければならないと
いう煩わしさがあつた。また、排他制御する文が連続的
に現れるように利用者が意識してプログラムを作成する
と、文の出現順序がプログラムの流れとは異なり、その
ドキユメント性が低下するという欠点があつた。
本発明の目的は、コンパイラでプログラム中の文を並
びかえることにより上記欠点を除去し、ドキユメント性
の低下することがないように構成した排他制御の最適化
方式を提供することにある。
(課題を解決するための手段) 本発明による排他制御の最適化方式は、マルチプロセ
サでの実行を記述可能な高級プログラミング言語を翻訳
するコンパイラに入力された原始プログラムから、排他
制御する文の集まりとしての排他制御区間に挟まれた排
他制御しない文の集まりとしての移動対象区間を検出す
る移動対象区間検出手段と、 前記移動対象区間の文を一文づつ取出し、前記取出さ
れた文が直前、あるいは直後に置かれた前記排他制御区
間内のすべての文と依存関係がなく移動可能か否かを判
定し、前記移動対象区間のすべての文について移動可能
か否かの判定が終了した後に、前記移動対象区間のすべ
ての文が、前記直前の排他制御区間の前、あるいは直後
の排他制御区間の後ろのいずれかに移動させた場合、依
存関係を保つことができるかどうかを判定する移動可能
性判定手段と、 前記移動可能性判定手段で移動可能と判定された前記
移動対象区間のすべての文を前記直前の排他制御区間の
前、あるいは直後の排他制御区間の後ろに移動す=とと
もに、前記移動対象区間の文の移動で連続になった2つ
の排他制御区間をひとつの排他制御区間に変更する移動
処理手段とを具備したものである。
(実施例) 次に、本発明の実施例について図面を参照して説明を
する。
第1図は、本発明による排他制御の最適化方式の一実
施例を示すブロツク構成図である。
第1図において、1は原始プログラム、2はコンパイ
ラ、10は移動対象区間検出手段、20は移動可能性判定手
段、30は移動処理手段である。
コンパイラ2は移動対象区間検索手段10と、移動可能
性判定手段20と、移動処理手段30とを備えている。
コンパイラ2の移動対象区間検索手段10では、入力さ
れた原始プログラム1から移動対象区間を検索して取出
す。移動可能性判定手段20は、検索された移動対象区間
の文と直前、あるいは直後の排他制御区間のすべての文
との依存関係を調べて、直前の排他制御区間の前、ある
いは直後の排他制御に移動可能か否かを判定する。移動
処理手段30は、移動可能と判定された移動対象区間のす
べての文を、直前の排他制御区間の前、あるいは直後の
排他制御区間の後ろに移動する。それらの移動の結果、
連続的になつた排他制御区間がひとつの排他制御区間に
なるように変更する。
第2図は、FORTRAN言語で記述した原始プログラム1
の一例と、原始プログラム1を最適化した後の原始プロ
グラムの一例を示す説明図である。
原始プログラム1は排他制御開始文110,210、および
排他制御終了文190,290を備えている。また、排他制御
区間110a内には文120,130、排他制御区間210a内には文2
10、移動対象区間310a内には文310,320を含んでいる。
コンパイラ2の移動対象区間検索手段10は、入力され
た原始プログラム1の移動対象区間310aを検索する。
移動可能性判定手段20は、移動対象区間310aの文310
を取出し、直前の排他制御区間110aのすべての文120,13
0との依存関係を調べる。その結果、文310は文120,130
の両方と依存関係があるので、排他制御区間110aの前に
移動できないと判定する。
また、文310は直後の排他制御区間210aの文220と依存
関係がないので、排他制御区間210aの後方に移動できる
と判定する。
同様に、文320についても文の移動判定を行うと、排
他制御区間110aの前には移動可能、排他制御区間210aの
後方には移動不可能となる。
移動対象区間310aのすべての文について、文の移動可
能性の判定が終了した後に、移動対象区間310aの移動可
能性を判定する。判定の結果、移動対象区間310aの文31
0を直後の排他制御区間220aの後方に移動し、さらに文3
20を直前の排他制御区間110aの前に移動しても、その依
存関係を保てるので、移動対象区間310aを移動可能と判
定する。
移動処理手段30は、移動可能性判定手段20で移動可能
と判定された移動対象区間310aの文310,320をその判定
に従つて移動させる。文の移動の結果、連続になつた制
御区間110a,210aから排他制御終了文190と排他制御開始
文210とを削除して、ひとつの排他制御区間410aに変更
する。
原始プログラム1aは、排他制御の最適化が終了した後
の原始プログラム1である。
(発明の効果) 以上説明したように本発明は、コンパイラでプログラ
ム中の文を並びかえることにより、複数の非連続な排他
制御区間をひとつの連続した排他制御区間に変換できる
と云う効果がある。そのため、利用者が排他制御の最適
化を意識することなしに、排他制御の開始処理および終
了処理に伴うオーバヘツド時間を削減して実行時間の短
縮を図ることができると云う効果がある。
【図面の簡単な説明】
第1図は、本発明による排他制御の最適化方式の一実施
例を示すブロツク構成図である。第2図は、入力する原
始プログラムの一例と、その原始プログラムに対して排
他制御の最適化が終了した後の一例を示す説明図であ
る。 1…原始プログラム 1a…最適化した原始プログラム 2…コンパイラ 10…移動対象区間検索手段 20…移動可能性判定手段 30…移動処理手段 110,210…排他制御開始文 190,290…排他制御終了文 120,130,310,320…文 110a,210a,410a…排他制御区間 310a…移動対象区間

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】マルチプロセサでの実行を記述可能な高級
    プログラミング言語を翻訳するコンパイラに入力された
    原始プログラムから、排他制御する文の集まりとしての
    排他制御区間に挟まれた排他制御しない文の集まりとし
    ての移動対象区間を検出する移動対象区間検出手段と、 前記移動対象区間の文を一文づつ取出し、前記取出され
    た文が直前、あるいは直後に置かれた前記排他制御区間
    内のすべての文と依存関係がなく移動可能か否かを判定
    し、前記移動対象区間のすべての文について移動可能か
    否かの判定が終了した後に、前記移動対象区間のすべて
    の文が、前記直前の排他制御区間の前、あるいは直後の
    排他制御区間の後ろのいずれかに移動させた場合、依存
    関係を保つことができるかどうかを判定する移動可能性
    判定手段と、 前記移動可能性判定手段で移動可能と判定された前記移
    動対象区間のすべての文を前記直前の排他制御区間の
    前、あるいは直後の排他制御区間の後ろに移動するとと
    もに、前記移動対象区間の文の移動で連続になった2つ
    の排他制御区間をひとつの排他制御区間に変更する移動
    処理手段と、 を具備して構成したことを特徴とするコンパイラの排他
    制御の最適化方式。
JP19902789A 1989-07-31 1989-07-31 排他制御の最適化方式 Expired - Fee Related JP2958985B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19902789A JP2958985B2 (ja) 1989-07-31 1989-07-31 排他制御の最適化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19902789A JP2958985B2 (ja) 1989-07-31 1989-07-31 排他制御の最適化方式

Publications (2)

Publication Number Publication Date
JPH0363728A JPH0363728A (ja) 1991-03-19
JP2958985B2 true JP2958985B2 (ja) 1999-10-06

Family

ID=16400900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19902789A Expired - Fee Related JP2958985B2 (ja) 1989-07-31 1989-07-31 排他制御の最適化方式

Country Status (1)

Country Link
JP (1) JP2958985B2 (ja)

Also Published As

Publication number Publication date
JPH0363728A (ja) 1991-03-19

Similar Documents

Publication Publication Date Title
IL142572A0 (en) Method for determining differences between two or more models
KR860004366A (ko) 화상 처리 장치의 제어방법
DE69419036D1 (de) Datenverarbeitungssystem und betriebsverfahren
JP2958985B2 (ja) 排他制御の最適化方式
WO1997025672A3 (en) A method and system for synchronizing concurrent sequential processes by means of intra-process update operations and inter-process adapt operations
JPS57153343A (en) Compile method for architecture program
JPH04116756A (ja) アプリケーション内のユーザ定義コマンドのダイナミックリンクシステム
JPH02168321A (ja) プログラム差分抽出方式
JPH03157749A (ja) コマンドプロシージャのテキスト出力制御方式
JPS62187940A (ja) ループ制御処理方法
JPH04101228A (ja) 言語プロセッサ
JPH05225231A (ja) 機械翻訳の後編集方式
JPH0254368A (ja) 機械翻訳における翻訳制御方式
JPH05210562A (ja) ネットワークファイル方式
JPS63292234A (ja) コンパイラ処理方法
JPH0394320A (ja) 文書作成装置
JPS62216050A (ja) プログラム単位の実行cpu時間測定処理方式
JPH01295336A (ja) クリティカルセクション最適化方式
JPH03282826A (ja) 並列化翻訳方式
JPH01291329A (ja) 高速コンパイル処理方式
JPH03233725A (ja) 自動コメント生成方式
JPH0319041A (ja) 制御項目自動管理方式
JPH0210433A (ja) 予約語判定方式
JPH03113538A (ja) コンパイル装置
JPH0399330A (ja) 手続きインライン展開方式

Legal Events

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