JPS63120369A - プログラム変換装置 - Google Patents

プログラム変換装置

Info

Publication number
JPS63120369A
JPS63120369A JP26694286A JP26694286A JPS63120369A JP S63120369 A JPS63120369 A JP S63120369A JP 26694286 A JP26694286 A JP 26694286A JP 26694286 A JP26694286 A JP 26694286A JP S63120369 A JPS63120369 A JP S63120369A
Authority
JP
Japan
Prior art keywords
program
loop
sentence
range
statement
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
JP26694286A
Other languages
English (en)
Inventor
Masaru Nakai
賢 中井
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 JP26694286A priority Critical patent/JPS63120369A/ja
Publication of JPS63120369A publication Critical patent/JPS63120369A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、文相瓦間の依存関係のためにベクトル化不可
能であるようなループを除くループ(以下文独立ループ
)中に、両辺に同じ配列変数があられれ且つベクトル化
可能なループ範囲がコンパイル時に決定できるような文
(以下、決定性再帰文)を含むようなソースプログラム
の変換装置に関するものである。
従来の技術 従来のベクトルコンパイラは、文独立ループ中の決定性
再帰文に関しては、右辺にあられれる左辺と同じ配列変
数のすべてに対して、ベクトル化可能条件(以下、■条
件)式 (右辺添字−左辺添字)×ループ増分≧0の右辺が0以
上の定数である場合にはベクトル化を行う。
発明が解決しようとする問題点 しかし、■条件式の右辺を部槽化してもループ変数が残
るような決定性再帰文の場合には、たとえループ範囲内
にベクトル化可能範囲(以下、V範囲)が存在しても、
その文はベクトル化することができないという問題点が
あった。例えば下記のようなりOループをコンパイルす
る場合を想定する。
Do  10 1=1,100 A  (I+50)=A  (2*1)   ・・・・
・・■10   C0NTINUE この例では、■の決定性再帰文のV条件式は(2xl 
−(I+50))XI≧0 であり、これを変形すると 夏−50≧O どなり、■が1〜49の範囲はベクトル化不可能範囲(
以下、NV範囲)、■が50〜100の範囲はV範囲で
ある。しかし、従来のベクトルコンパイラではこの例の
ようにV条件式の右辺を簡単化してもループ変数■が残
るような決定性再帰文は全くベクトル化されなかった。
そこで本発明は、文独立ループ中の決定性再帰文のV条
件の右辺を簡単化してもループ変数1が残るような場合
でも、■条件式を解くことによってループ範囲をV範囲
とNV範囲に分け、■範囲に対してはベクトル化した目
的コード(以下、■コード)が、NV範囲に対してはベ
クトル化しない目的コード(以下、NVコード)が実行
されるような目的プログラムを生成し、■範囲ではベク
トル処理が行えるようにするものである。
問題点を解決するための手段 上記問題点を解決するための本発明の技術的な手段は従
来のベクトルコンパイラに、文独立ループ中の決定性再
帰文を検出した場合にV条件を解くことでその文のルー
プ範囲をV範囲とNV範囲に分け、それぞれの範囲に対
してVコードとNVコードが実行されるような目的プロ
グラムを生成する手段を追加したものを主記憶装置中に
格納するものである。
作用 この技術的手段による作用は次のようになる。
ソースプログラムの文独立ループ中の決定性再帰文を検
出した場合は、■条件を解くことでその文のループ範囲
をV範囲とNV範囲に分け、それぞれの範囲に対して■
コードとNVコードが実行されるような目的プログラム
を生成するので、■範囲ではベクトル処理が行われて実
行時間が短縮される。
実施例 以下、本発明の一実施例を図面を参照しながら説明する
第1図は本発明のハードウェア構成の一例を示すもので
ある。第1図において、1は決定性再帰文を含むソース
プログラムの変換手段を格納した主記憶装置、2は記憶
制御装置、3は中央処理装置、4はチャネルプロセッサ
、5はソースプログラム格納用大記憶装置、6は目的プ
ログラム格納用大記憶装置をあられしている。
第2図は、決定性再帰文を含むソースプログラムの変換
手段の機能ブロック図である。ソース解釈部は、ソース
プログラムを第1図・5の大記憶装置から入力し、文を
解釈して中間コードに変換する。記憶域割付部は、プロ
グラム中の各種データの番地割付を行う、ループ処理部
はプログラム中よりループを検出して、それに対する処
理を行い、中間コードを変更する部分である。目的プロ
グラム出力部は、変更後の中間コードを目的プログラム
に変換して第1図・60大記憶装置に出力する部分であ
る。
第3図は、第2図のループ処理部における処理の流れを
示すものである。全体としては、文独立ループ部分に関
してのみは中間コードを変更するという処理を行ってい
る。まずループ範囲を取り出す。次に、このループが文
独立であるかどうかチェックしながら、ループ中の各文
を決定性再帰文とその他の文に分類しもとのコードにそ
の情報を付加したものをワークファイルへ出力する。こ
こまでは従来の技術を用いて実現できる。続いてループ
が文独立でなかった場合にはもとのコードをそのまま出
力する。ループが文独立であった場合には、ワークファ
イルから一文ずつ読み込み、決定性再帰文に関しては後
で説明する決定性再帰文処理を行って中間コードを変更
し、その他の文に関しては既存のベクトルコンパイラと
同じ判断基準でベクトル処理を行う中間コードもしくは
逐次処理を行う中間コードに変更する。以上の処理を操
り返し中間コード全体に変更を加える。
第4図は、決定性再帰文処理部分の処理の流れを示すも
のである。決定性再帰文の右辺における左辺の配列変数
と同じ配列すべてに対してV条件式を作成し、それを連
立させて解くことでV範囲とNV径範囲求める。そして
■範囲に対してはベクトル処理を、NV径範囲対しては
逐次処理を行うように中間コードを変更する。
ここで、本実施例のプログラム変換装置の使用例として
、次のT)Oループをベクトル化する場合を考える。
Do  10 1菖り、 M A (T) −B (1) +C(I)   ・・・・
・・■P (++20)−P (211)   ・・・
・・・■s (1+1)=S (1)       ・
・・・・・■T (1+N) −T (1)     
  ・・・・・・■10  C0NTINUE この例で、■は再帰文ではなく、■と■は決定性再帰文
、■は非決定性再帰文である。それぞれの■条件式によ
り■のV範囲は20−M(M<20の場合は■範囲なし
)、NV径範囲L〜19(L>19の場合はNV径範囲
し)、■はV範囲はなくNV径範囲L−Mとなる。従っ
て、この場合に生成される目的プログラムは第5図に示
すようにV範囲にはVコード、NV径範囲はNVコード
が対応したものになる。ただし、実行時のし。
Mの値によっては実行されないコードも含まれる。
発明の効果 以上述べてきたように本発明には、文独立ループ中の決
定性再帰文をV範囲ではVコードで実行させるような目
的プログラムを生成することで実行時間を短縮させると
いう効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例であるハードウェアの構成図
、第2図は本発明のソースプログラムの変換手段の機能
ブロック図、第3図はループ処理部における処理の流れ
図、第4図は決定性再帰文処理部分の処理の流れ図、第
5図は生成される目的プログラムの処理の流れ図である
。 1・・・・・・決定性再帰文を含むソースプログラムの
変換手段を格納した主記憶装置、2・・・・・・記憶制
御装置、3・・・・・・中央処理装置、4・・・・・・
チャネルプロセッサ、5・・・・・・ソースプログラム
格納用大記憶装置、6・・・・・・ソースプログラム格
納用大記憶装置。 代理人の氏名 弁理士 中尾敏男 はか1名第3図

Claims (1)

    【特許請求の範囲】
  1. ソースプログラム格納用大記憶装置と目的プログラム格
    納用大記憶装置と主記憶装置を具備し、ソースプログラ
    ムにおける文独立ループ中から決定性再帰文を検出した
    場合、ベクトル化条件式を解くことでその文のベクトル
    化可能範囲とベクトル化不可能範囲を求め、それぞれの
    範囲に対してベクトル化した目的コードとベクトル化し
    ない目的コードが実行されるような目的プログラムを生
    成する手段を主記憶装置中に格納していることを特徴と
    するプログラム変換装置。
JP26694286A 1986-11-10 1986-11-10 プログラム変換装置 Pending JPS63120369A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26694286A JPS63120369A (ja) 1986-11-10 1986-11-10 プログラム変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26694286A JPS63120369A (ja) 1986-11-10 1986-11-10 プログラム変換装置

Publications (1)

Publication Number Publication Date
JPS63120369A true JPS63120369A (ja) 1988-05-24

Family

ID=17437824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26694286A Pending JPS63120369A (ja) 1986-11-10 1986-11-10 プログラム変換装置

Country Status (1)

Country Link
JP (1) JPS63120369A (ja)

Similar Documents

Publication Publication Date Title
JPH01121938A (ja) オブジェクト生成方法
JPH06324881A (ja) メモリデータの重なり判定機能を備えたコンパイラ装置
JP3539613B2 (ja) ループ飛び出し文を含むループに対する配列サマリ解析方法
JP2002527816A (ja) プログラム最適化装置および方法
JPS63120369A (ja) プログラム変換装置
JPS63120367A (ja) プログラム変換装置
JPH03135630A (ja) 命令スケジューリング方式
JPS63120368A (ja) プログラム変換装置
JPH0512033A (ja) 並列化コンパイル方式
Phuc et al. Enhancing the performance of android applications on multi-core processors by selecting parallel configurations for source codes
JP2009140451A (ja) コンパイラ装置、コンパイル方法およびそのプログラム
JP3018783B2 (ja) コンパイル方式
JP2682215B2 (ja) 並列処理時の手続き呼出し方式
JPS6367676A (ja) 一般ル−プベクトル化処理方式
JPH04343140A (ja) コンパイラの最適化処理方法
JPH0373026A (ja) コンパイル方式
JPH03144830A (ja) 並列処理方式
JPH03257579A (ja) コンパイラの並列化方式
JP2000222369A (ja) 並列/ベクトル化方法およびその手順が記録された記録媒体
JPS6116362A (ja) ベクトルプロセツサ制御処理方式
JPH0264766A (ja) ベクトル化処理方式
JPH02105224A (ja) コンパイラにおけるデータ割付け方式
Westendorp Programming a Coarse-Grained Reconfigurable Architecture using Halide
JPS6364173A (ja) 自動ベクトル化方式
JPH0748205B2 (ja) ベクトル化処理方式