JPH0317136B2 - - Google Patents
Info
- Publication number
- JPH0317136B2 JPH0317136B2 JP58055482A JP5548283A JPH0317136B2 JP H0317136 B2 JPH0317136 B2 JP H0317136B2 JP 58055482 A JP58055482 A JP 58055482A JP 5548283 A JP5548283 A JP 5548283A JP H0317136 B2 JPH0317136 B2 JP H0317136B2
- Authority
- JP
- Japan
- Prior art keywords
- vectorization
- analysis information
- sentence
- intermediate code
- indicates
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector 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)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、複数の並列演算部を備えると共に複
数個のレジスタを少なくとも備えてなるベクトル
命令を実行するベクトル処理プロセツサに対し
て、与えられたソース・プログラムから目的プロ
グラムを生成して供給するコンパイラによつて解
析されたベクトル化解析情報を、文対応ベクトル
化解析情報として文単位でソース・リストと対応
づけ、ベクトル化解析情報ソース・リストを出力
し得るようになつたベクトル化解析情報付ソー
ス・リスト出力方式に関するものである。
数個のレジスタを少なくとも備えてなるベクトル
命令を実行するベクトル処理プロセツサに対し
て、与えられたソース・プログラムから目的プロ
グラムを生成して供給するコンパイラによつて解
析されたベクトル化解析情報を、文対応ベクトル
化解析情報として文単位でソース・リストと対応
づけ、ベクトル化解析情報ソース・リストを出力
し得るようになつたベクトル化解析情報付ソー
ス・リスト出力方式に関するものである。
第1図はベクトル命令に対応した処理を概念的
に説明する図、第2図はベクトル処理プロセツサ
を有する処理システムの1例を示す図、第3図は
コンパイラの1構成例を示す図、第4図はソー
ス・プログラムを中間コードに移していく態様を
説明する図、第5図はソース・プログラムをベク
トル化していく態様を説明する図である。
に説明する図、第2図はベクトル処理プロセツサ
を有する処理システムの1例を示す図、第3図は
コンパイラの1構成例を示す図、第4図はソー
ス・プログラムを中間コードに移していく態様を
説明する図、第5図はソース・プログラムをベク
トル化していく態様を説明する図である。
例えば、第1図Aに示す如く、ベクトルAに属
するエレメントa1,a2,……とベクトルBに属す
るエレメントb1,b2……との各エレメント相互を
加算して、エレメントc1,c2,……をもつベクト
ルCを生成するような、ベクトル命令を実行する
ベクトル処理プロセツサが存在している。第1図
A図示の場合、第i番目のエレメント相互の加算
を行うか否かをマスク・エレメントm1,m2,…
…にて指示するようにされており、第1図Bに一
般化して示す如き処理が行われる。
するエレメントa1,a2,……とベクトルBに属す
るエレメントb1,b2……との各エレメント相互を
加算して、エレメントc1,c2,……をもつベクト
ルCを生成するような、ベクトル命令を実行する
ベクトル処理プロセツサが存在している。第1図
A図示の場合、第i番目のエレメント相互の加算
を行うか否かをマスク・エレメントm1,m2,…
…にて指示するようにされており、第1図Bに一
般化して示す如き処理が行われる。
上記の如き処理を行うベクトル処理プロセツサ
を有するデータ処理システムは、1実施例として
第2図図示の如きシステム構成をもつている。図
中の符号1は主記憶装置、2はメモリ制御装置、
3はベクトル処理プロセツサ、4はチヤネル・プ
ロセツサ、5は大記憶装置、6はスカラ処理回路
部、7はベクトル処理回路部、8−0,8−1,
……は夫々浮動小数点データ・レジスタ、9−
0,9−1,……は夫々複数個のデータ(エレメ
ント・データ)を格納し得るベクトル・レジス
タ、10−0、10−1,……は夫々複数個のマ
スク・データ(マスク・エレメント・データ)を
格納し得るマスク・レジスタ、11はベクトル長
レジスタであつて各ベクトル・レジスタに格納さ
れるエレメントの個数情報がセツトされるもの、
12−0,12−1は夫々メモリ・アクセス・パ
イプライン、13は加減算パイプライン、14は
乗算処理パイプライン、15は除算処理パイプラ
イン、16はマスク処理パイプラインを表わして
いる。
を有するデータ処理システムは、1実施例として
第2図図示の如きシステム構成をもつている。図
中の符号1は主記憶装置、2はメモリ制御装置、
3はベクトル処理プロセツサ、4はチヤネル・プ
ロセツサ、5は大記憶装置、6はスカラ処理回路
部、7はベクトル処理回路部、8−0,8−1,
……は夫々浮動小数点データ・レジスタ、9−
0,9−1,……は夫々複数個のデータ(エレメ
ント・データ)を格納し得るベクトル・レジス
タ、10−0、10−1,……は夫々複数個のマ
スク・データ(マスク・エレメント・データ)を
格納し得るマスク・レジスタ、11はベクトル長
レジスタであつて各ベクトル・レジスタに格納さ
れるエレメントの個数情報がセツトされるもの、
12−0,12−1は夫々メモリ・アクセス・パ
イプライン、13は加減算パイプライン、14は
乗算処理パイプライン、15は除算処理パイプラ
イン、16はマスク処理パイプラインを表わして
いる。
上記の如きベクトル処理プロセツサが処理を実
行するに当つて、当該プロセツサが実行するに適
した形に、与えられたソース・プログラムをコン
パイルし目的プログラムを生成することが行われ
る。当該コンパイルを行うコンパイラの構成を示
したのが第3図である。
行するに当つて、当該プロセツサが実行するに適
した形に、与えられたソース・プログラムをコン
パイルし目的プログラムを生成することが行われ
る。当該コンパイルを行うコンパイラの構成を示
したのが第3図である。
第3図において、17は大記憶装置に格納され
ているソース・プログラム、18はコンパイラ、
19はコンパイルされて大記憶装置上に格納され
る目的プログラム、20はソース解釈部、21は
記憶域割付け部、22はベクトル化部、23は中
間コード最適化部、24はレジスタ使用決定部、
25は目的プログラム出力部を表わしている。
ているソース・プログラム、18はコンパイラ、
19はコンパイルされて大記憶装置上に格納され
る目的プログラム、20はソース解釈部、21は
記憶域割付け部、22はベクトル化部、23は中
間コード最適化部、24はレジスタ使用決定部、
25は目的プログラム出力部を表わしている。
コンパイラ18は、大記憶装置からソース・プ
ログラム17を取込んで、所望の目的プログラム
19を生成する。このとき図示の各部は次のよう
な処理を行う。
ログラム17を取込んで、所望の目的プログラム
19を生成する。このとき図示の各部は次のよう
な処理を行う。
すなわち、ソース解釈部20はソース・プログ
ラム17を大記憶装置から取込み、文解釈を行つ
て中間コードに展開する。例えばソース・プログ
ラムが第4図図示左側の如き場合に図示右側に示
す如き中間コードに展開する。記憶域割付け部2
1はプログラム内に出現する各種データに対応し
て記憶域内番地を割当てる。ベクトル化部22
は、プログラム中のループ構造を検出し、並列実
行可能部分を認識し、第5図図示の如く中間コー
ド変更を行う。中間コード最適化部23は、中間
コードのレベルで、第2図図示の如きベクトル処
理プロセツサを有効に利用するための最適化を施
す。レジスタ使用決定部24は、中間コードに現
われたデータに対して、ベクトル処理プロセツサ
上の資源(レジスタ)を割当てる。そして目的プ
ログラム出力部25は機械命令語を大記憶装置へ
出力しかつ命令語レベルの最適化を行う。
ラム17を大記憶装置から取込み、文解釈を行つ
て中間コードに展開する。例えばソース・プログ
ラムが第4図図示左側の如き場合に図示右側に示
す如き中間コードに展開する。記憶域割付け部2
1はプログラム内に出現する各種データに対応し
て記憶域内番地を割当てる。ベクトル化部22
は、プログラム中のループ構造を検出し、並列実
行可能部分を認識し、第5図図示の如く中間コー
ド変更を行う。中間コード最適化部23は、中間
コードのレベルで、第2図図示の如きベクトル処
理プロセツサを有効に利用するための最適化を施
す。レジスタ使用決定部24は、中間コードに現
われたデータに対して、ベクトル処理プロセツサ
上の資源(レジスタ)を割当てる。そして目的プ
ログラム出力部25は機械命令語を大記憶装置へ
出力しかつ命令語レベルの最適化を行う。
ベクトル処理プロセツサを稼動させるためのコ
ンパイラは、以上に述べた如く、第3図図示の如
き構成により第5図に概念的に示した如く並列実
行可能な形にして処理していくことが可能であ
る。しかし、与えられたソース・プログラムから
全て並列実行可能な形に、すなわちベクトル化で
きるとは限らない。先に述べたベクトル化部は、
プログラム中のループ構造を検出し、並列実行可
能な部分の認識を行い、その結果をマスク情報を
用いて指示する。
ンパイラは、以上に述べた如く、第3図図示の如
き構成により第5図に概念的に示した如く並列実
行可能な形にして処理していくことが可能であ
る。しかし、与えられたソース・プログラムから
全て並列実行可能な形に、すなわちベクトル化で
きるとは限らない。先に述べたベクトル化部は、
プログラム中のループ構造を検出し、並列実行可
能な部分の認識を行い、その結果をマスク情報を
用いて指示する。
従来、ベクトル化解析結果は、それのみをISN
(又はLNO;ソース・リストのライン・ナンバ
ー)対応のメツセージとして、エラー・メツセー
ジなどと同様、ソース・リストとは別に出力され
ていた。ベクトル化解析結果は、ベクトル化状況
を把握し、或いは、ベクトル化が不可能な文につ
いても部分的なプログラムの変更によりベクトル
化を可能にすることができるか否かなどの検討情
報としても用いられものである。しかし、ベクト
ル化解析結果とソース・リストとが別に出力され
るため、どの文はベクトル化が可能で、どの文は
ベクトル化が不可能であるかを知るためには、2
つのリストを比較して対応づけなければならなか
つた。通常、ソース・リストの行数は膨大である
ため、2つのリストを比較して対応づけること
は、非常に大きな負担となつている。
(又はLNO;ソース・リストのライン・ナンバ
ー)対応のメツセージとして、エラー・メツセー
ジなどと同様、ソース・リストとは別に出力され
ていた。ベクトル化解析結果は、ベクトル化状況
を把握し、或いは、ベクトル化が不可能な文につ
いても部分的なプログラムの変更によりベクトル
化を可能にすることができるか否かなどの検討情
報としても用いられものである。しかし、ベクト
ル化解析結果とソース・リストとが別に出力され
るため、どの文はベクトル化が可能で、どの文は
ベクトル化が不可能であるかを知るためには、2
つのリストを比較して対応づけなければならなか
つた。通常、ソース・リストの行数は膨大である
ため、2つのリストを比較して対応づけること
は、非常に大きな負担となつている。
本発明は、上記の考察に基づくものであつて、
ベクトル化解析結果とソース・リストとの2つの
リストを比較することなく、ソース・リストを見
るだけで文に対するベクトル化解析結果がわかる
ベクトル化解析情報付ソース・リスト出力方式を
提供することを目的とするものである。
ベクトル化解析結果とソース・リストとの2つの
リストを比較することなく、ソース・リストを見
るだけで文に対するベクトル化解析結果がわかる
ベクトル化解析情報付ソース・リスト出力方式を
提供することを目的とするものである。
そのために本発明のベクトル化解析情報付ソー
ス・リスト出力方式は、 与えられたソース・プログラムの文解釈を行つ
て中間コードに展開するソース解釈部と、 プログラム中に出現する各種データに記憶域内
番地を割当てる記憶域割付付け部と、 プログラム中のループ構造を検出して並列実行
可能な部分の認識を行い、上記中間コード変更を
行うベクトル化部と、 中間コードのレベルでベクトル処理プロセツサ
を有効に利用するための最適化を施す中間コード
最適化部と、 中間コードに現れたデータに実際の資源を割当
てるレジスタ使用決定部と、 目的プログラム出力部と を備えたコンパイラにおいて、 ベクトル化解析情報付きソース・リストを出力
す診断情報出力部を設け、 且つ、上記ソース解釈部は、ソース・プログラ
ムを解析して文単位でまとめたソース情報を出力
すると共に、文対応ベクトル化解析情報を設定す
るための領域を確保する処理をも行うよう構成さ
れ、 上記ベクトル化部は、中間コードに対応するベ
クトル化解析情報を設定し、当該中間コードに対
応する文の文対応ベクトル化解析情報を取り出
し、 (a) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報が未設定を示す場合には、ベクト
ル化可能を示す文対応ベクトル化解析情報を設
定し、 (b) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化可能を示している場
合には、ベクトル化可能を示す文対応ベクトル
化解析情報を設定し、 (c) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化可能な部分と不可能
な部分を持つことを示している場合には、ベク
トル化可能な部分と不可能な部分を持つことを
示す文対応ベクトル化解析情報を設定し、 (d) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化不可能を示している
場合には、ベクトル化可能な部分と不可能な部
分を持つことを示す文対応ベクトル化解析情報
を設定し、 (e) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報が未設定を示している場合に
は、ベクトル化不可能を示す文対応ベクトル化
解析情報を設定し、 (f) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化可能を示している
場合には、ベクトル化可能な部分とベクトル化
不可能な部分を持つことを示す文対応ベクトル
化解析情報を設定し、 (g) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化可能な部分と不可
能な部分を持つことを示している場合には、ベ
クトル化可能な部分と不可能な部分を持つこと
を示す文対応ベクトル化解析情報を設定し、 (h) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化不可能を示してい
る場合には、ベクトル化不可能を示す文対応ベ
クトル化解析情報を設定する ように構成され、 上記診断情報出力部は、上記文対応ベクトル化
解析情報と上記ソース情報とを読み込み、ソー
ス・リストと文対応ベクトル化解析情報とを対応
付けてベクトル化解析情報付ソース・リストを出
力する処理を行うよう構成されている ことを特徴とするものである。
ス・リスト出力方式は、 与えられたソース・プログラムの文解釈を行つ
て中間コードに展開するソース解釈部と、 プログラム中に出現する各種データに記憶域内
番地を割当てる記憶域割付付け部と、 プログラム中のループ構造を検出して並列実行
可能な部分の認識を行い、上記中間コード変更を
行うベクトル化部と、 中間コードのレベルでベクトル処理プロセツサ
を有効に利用するための最適化を施す中間コード
最適化部と、 中間コードに現れたデータに実際の資源を割当
てるレジスタ使用決定部と、 目的プログラム出力部と を備えたコンパイラにおいて、 ベクトル化解析情報付きソース・リストを出力
す診断情報出力部を設け、 且つ、上記ソース解釈部は、ソース・プログラ
ムを解析して文単位でまとめたソース情報を出力
すると共に、文対応ベクトル化解析情報を設定す
るための領域を確保する処理をも行うよう構成さ
れ、 上記ベクトル化部は、中間コードに対応するベ
クトル化解析情報を設定し、当該中間コードに対
応する文の文対応ベクトル化解析情報を取り出
し、 (a) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報が未設定を示す場合には、ベクト
ル化可能を示す文対応ベクトル化解析情報を設
定し、 (b) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化可能を示している場
合には、ベクトル化可能を示す文対応ベクトル
化解析情報を設定し、 (c) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化可能な部分と不可能
な部分を持つことを示している場合には、ベク
トル化可能な部分と不可能な部分を持つことを
示す文対応ベクトル化解析情報を設定し、 (d) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化不可能を示している
場合には、ベクトル化可能な部分と不可能な部
分を持つことを示す文対応ベクトル化解析情報
を設定し、 (e) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報が未設定を示している場合に
は、ベクトル化不可能を示す文対応ベクトル化
解析情報を設定し、 (f) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化可能を示している
場合には、ベクトル化可能な部分とベクトル化
不可能な部分を持つことを示す文対応ベクトル
化解析情報を設定し、 (g) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化可能な部分と不可
能な部分を持つことを示している場合には、ベ
クトル化可能な部分と不可能な部分を持つこと
を示す文対応ベクトル化解析情報を設定し、 (h) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化不可能を示してい
る場合には、ベクトル化不可能を示す文対応ベ
クトル化解析情報を設定する ように構成され、 上記診断情報出力部は、上記文対応ベクトル化
解析情報と上記ソース情報とを読み込み、ソー
ス・リストと文対応ベクトル化解析情報とを対応
付けてベクトル化解析情報付ソース・リストを出
力する処理を行うよう構成されている ことを特徴とするものである。
以下、本発明の実施例を図面を参照しつつ説明
する。
する。
第6図は本発明の1実施例構成を示す図、第7
図はベクトル化部の処理の流れを説明する図、第
8図は診断情報出力部の処理の流れを説明する
図、第9図は文対応ベクトル化解析情報とソース
情報の内容および関連を説明する図、第10図は
ベクトル化解析情報付ソース・リストの出力例を
示す図である。図において、17ないし25は第
3図に対応するものを示し、26はソース情報、
27はベクトル化解析情報、28は診断情報出力
部、29はベクトル化解析情報付ソース・リスト
を示す。
図はベクトル化部の処理の流れを説明する図、第
8図は診断情報出力部の処理の流れを説明する
図、第9図は文対応ベクトル化解析情報とソース
情報の内容および関連を説明する図、第10図は
ベクトル化解析情報付ソース・リストの出力例を
示す図である。図において、17ないし25は第
3図に対応するものを示し、26はソース情報、
27はベクトル化解析情報、28は診断情報出力
部、29はベクトル化解析情報付ソース・リスト
を示す。
第6図において、コンパイラ18は、基本的に
は先に述べた第3図図示のものと同じであるが、
さらに、本発明では、ソース解釈部20とベクト
ル化部22に新たに以下に説明する機能が追加さ
れると共に、診断情報出力部28を設け、これに
よつてベクトル化解析情報付ソース・リスト29
を出力するようにしたものである。まず、ソース
解釈部20は、ソース・プログラムを解析して、
文単位でまとめた型式のソース情報26を出力す
ると共に、文対応ベクトル化解析情報27を設定
するためのベクトル化解析情報設定領域を確保
し、文対応に出現順序番号を例えば1から順に付
けておく。ベクトル化部22は、ソース解釈部2
2により確保されたベクトル化解析情報設定領域
に、後述するようにして文対応ベクトル化解析情
報27を設定する。そして、診断情報出力部28
は、ベクトル化部22により設定された文対応ベ
クトル化解析情報27を読み込むと共に、ソース
解釈部20により出力されたソース情報26を読
み込み、1文ずつソース・リストと文対応ベクト
ル化解析情報とを対応づけ、ベクトル化解析情報
付ソース・リスト29を出力る。従つて、診断情
報出力部28は、第6図において便宜上目的プロ
グラム出力部25の出力側に示したが、別の位置
に設け、第3図図示の如く目的プログラム出力部
25から大記憶装置へ出力するように構成しても
よい。
は先に述べた第3図図示のものと同じであるが、
さらに、本発明では、ソース解釈部20とベクト
ル化部22に新たに以下に説明する機能が追加さ
れると共に、診断情報出力部28を設け、これに
よつてベクトル化解析情報付ソース・リスト29
を出力するようにしたものである。まず、ソース
解釈部20は、ソース・プログラムを解析して、
文単位でまとめた型式のソース情報26を出力す
ると共に、文対応ベクトル化解析情報27を設定
するためのベクトル化解析情報設定領域を確保
し、文対応に出現順序番号を例えば1から順に付
けておく。ベクトル化部22は、ソース解釈部2
2により確保されたベクトル化解析情報設定領域
に、後述するようにして文対応ベクトル化解析情
報27を設定する。そして、診断情報出力部28
は、ベクトル化部22により設定された文対応ベ
クトル化解析情報27を読み込むと共に、ソース
解釈部20により出力されたソース情報26を読
み込み、1文ずつソース・リストと文対応ベクト
ル化解析情報とを対応づけ、ベクトル化解析情報
付ソース・リスト29を出力る。従つて、診断情
報出力部28は、第6図において便宜上目的プロ
グラム出力部25の出力側に示したが、別の位置
に設け、第3図図示の如く目的プログラム出力部
25から大記憶装置へ出力するように構成しても
よい。
次にベクトル化部による処理の流れを第7図を
参照しつつ説明する。
参照しつつ説明する。
ベクトル化解析部において、先に述べたよう
なマスク情報により中間コードに対応するベク
トル化解析情報を設定する。次にの処理を行
う。
なマスク情報により中間コードに対応するベク
トル化解析情報を設定する。次にの処理を行
う。
全中間コードに対して終了したか否かを調べ
る。
る。
N0の場合にはの処理を行う。
中間コードに対応する文の文対応ベクトル化
解析情報を取り出す。次にの処理を行う。
解析情報を取り出す。次にの処理を行う。
文対応ベクトル化解析情報を設定する。
ここで、ベクトル化の対象になり、ベクトル化
可能である場合をV、ベクトル化の対象になつた
がベクトル化が不可能である場合をS、ベクトル
化の対象になり、ベクトル化が可能な部分と不可
能な部分がある場をMで表現すると、中間コード
に対応する解析情報としてはVかSであり、中間
コードに対応するベクトル化解析情報が全てVで
ある場合には文対応ベクトル化解析情報もVにな
るが中間コードに対応するベクトル化解析情報が
VとSの混在である場合には文対応ベクトル化解
析情報がMになる。また、中間コードに対応する
ベクトル化解析情報が全てSである場合には当然
文対応ベクトル化解析情報もSになる。その対応
例を示したが第7図のの中に示したテーブルで
ある。
可能である場合をV、ベクトル化の対象になつた
がベクトル化が不可能である場合をS、ベクトル
化の対象になり、ベクトル化が可能な部分と不可
能な部分がある場をMで表現すると、中間コード
に対応する解析情報としてはVかSであり、中間
コードに対応するベクトル化解析情報が全てVで
ある場合には文対応ベクトル化解析情報もVにな
るが中間コードに対応するベクトル化解析情報が
VとSの混在である場合には文対応ベクトル化解
析情報がMになる。また、中間コードに対応する
ベクトル化解析情報が全てSである場合には当然
文対応ベクトル化解析情報もSになる。その対応
例を示したが第7図のの中に示したテーブルで
ある。
最後の診断情報出力部による処理の流れを第8
図を参照しつつ説明する。なお、この時における
文対応ベクトル化解析情報27の内容とソース情
報26の内容およびそれらの関連について例示し
たのが第9図である。
図を参照しつつ説明する。なお、この時における
文対応ベクトル化解析情報27の内容とソース情
報26の内容およびそれらの関連について例示し
たのが第9図である。
ソース情報の全レコードに対して以下の処理
が終了したか否かを調べる。
が終了したか否かを調べる。
N0の場合にはの処理を行う。
ソース情報のレコードを読み込む。次にの
処理をう。
処理をう。
文の開始を示すレコードか否かを調べる。
Yesの場合にはの処理を行い、Noの場合
にはの処理を行う。
にはの処理を行う。
処理中の文に対するベクトル化解析情報と
ISN情報(ソース情報の番号)を取り出す。次
にの処理に戻る。
ISN情報(ソース情報の番号)を取り出す。次
にの処理に戻る。
ソースを示すレコードか否かを調べる。
Yesの場合にはの処理を行い、Noの場合
にはの処理に戻る。
にはの処理に戻る。
の処理により取り出したベクトル化解析情
報を設定したソースの出力を行う。
報を設定したソースの出力を行う。
例えば、具体的には、、まず出力フオーマツ
トの先頭にの処理で取り出し済みのISN情報
を設定する。次に、同じくの処理で取り出し
済みのベクトル化解析情報を1カラムあけて設
定する。そして、の処理で取り出し済みのソ
ース情報を1カラムあけて設定する。このよう
にして得られたベクトル化解析情報付ソース・
リストの出力側を示したのが第13である。
トの先頭にの処理で取り出し済みのISN情報
を設定する。次に、同じくの処理で取り出し
済みのベクトル化解析情報を1カラムあけて設
定する。そして、の処理で取り出し済みのソ
ース情報を1カラムあけて設定する。このよう
にして得られたベクトル化解析情報付ソース・
リストの出力側を示したのが第13である。
なお、第9図において、ソース情報26の開
は文の開始を示すレコードであり、終は文の終
了を示すレコードである。また、文対応ベクト
ル化解析情報27のはベクトル化の対象にな
らなかつたことを示すものである。
は文の開始を示すレコードであり、終は文の終
了を示すレコードである。また、文対応ベクト
ル化解析情報27のはベクトル化の対象にな
らなかつたことを示すものである。
以上の説明から明らかなように、本発明によれ
ば、ベクトル化解析情報が付加されたソース・リ
ストが得られるので、ソース・リストを見るだけ
で、ベクトル化解析結果がわかり、すぐにベクト
ル化能な部分とベクトル化不可能な部分とを知る
ことができる。従つて、ベクトル化状況の把握、
およびベクトル化下可能な部分についての検討な
ども効率よく行うことができる。
ば、ベクトル化解析情報が付加されたソース・リ
ストが得られるので、ソース・リストを見るだけ
で、ベクトル化解析結果がわかり、すぐにベクト
ル化能な部分とベクトル化不可能な部分とを知る
ことができる。従つて、ベクトル化状況の把握、
およびベクトル化下可能な部分についての検討な
ども効率よく行うことができる。
第1図はベクトル命令に対応した処理を概念的
に説明する図、第2図はベクトル処理プロセツサ
を有する処理システムの1例を示す図、第3図は
コンパイラの1構成例を示す図、第4図はソー
ス・プログラムを中間コードに移していく態様を
説明する図、第5図はソース・プログラムをベク
トル化していく態様を説明する図、第6図は本発
明の1実施例構成を示す図、第7図はベクトル化
部の処理の流れを説明するる図、第8図は診断情
報出力部の処理の流れを説明する図、第9図は文
対応ベクトル化解析情報とソース情報の内容およ
び関連を説明する図、第10図はベクトル化解析
情報付ソース・リストの出力例を示す図である。 1…主記憶装置、2…メモリ制御装置、3…ベ
クトル処理プロセツサ、4…チヤネル・プロセツ
サ、5…大記憶装置、6…スカラ処理回路部、7
…ベクトル処理回路部、8−0ないし8−n…浮
動小数点データ・レジスタ、9−0ないし9−n
…ベクトル・レジスタ、10−0ないし10−n
…マスク・レジスタ、11…ベクトル長レジス
タ、12−0と12−1…メモリ・アクセス・パ
イプライン、13…加減算パイプライン、14…
乗算処理パイプライン、15…除算処理パイプラ
イン、16…マスク処理パイプライン、17…ソ
ース・プログラム、18…コンパイラ、19…目
的プログラム、20…ソース解釈部、21…記憶
域割付け部、22…ベクトル化部、23…中間コ
ード最適化部、24…レジスタ使用決定部、25
…目的プログラム、26…ソース情報、27…ベ
クトル化解析情報、28…診断情報出力部、29
…ベクトル化解析情報付ソース・リスト。
に説明する図、第2図はベクトル処理プロセツサ
を有する処理システムの1例を示す図、第3図は
コンパイラの1構成例を示す図、第4図はソー
ス・プログラムを中間コードに移していく態様を
説明する図、第5図はソース・プログラムをベク
トル化していく態様を説明する図、第6図は本発
明の1実施例構成を示す図、第7図はベクトル化
部の処理の流れを説明するる図、第8図は診断情
報出力部の処理の流れを説明する図、第9図は文
対応ベクトル化解析情報とソース情報の内容およ
び関連を説明する図、第10図はベクトル化解析
情報付ソース・リストの出力例を示す図である。 1…主記憶装置、2…メモリ制御装置、3…ベ
クトル処理プロセツサ、4…チヤネル・プロセツ
サ、5…大記憶装置、6…スカラ処理回路部、7
…ベクトル処理回路部、8−0ないし8−n…浮
動小数点データ・レジスタ、9−0ないし9−n
…ベクトル・レジスタ、10−0ないし10−n
…マスク・レジスタ、11…ベクトル長レジス
タ、12−0と12−1…メモリ・アクセス・パ
イプライン、13…加減算パイプライン、14…
乗算処理パイプライン、15…除算処理パイプラ
イン、16…マスク処理パイプライン、17…ソ
ース・プログラム、18…コンパイラ、19…目
的プログラム、20…ソース解釈部、21…記憶
域割付け部、22…ベクトル化部、23…中間コ
ード最適化部、24…レジスタ使用決定部、25
…目的プログラム、26…ソース情報、27…ベ
クトル化解析情報、28…診断情報出力部、29
…ベクトル化解析情報付ソース・リスト。
Claims (1)
- 【特許請求の範囲】 1 与えられたソース・プログラムの文解釈を行
つて中間コードに展開するソース解釈部と、 プログラム中に出現する各種データに記憶域内
番地を割当てる記憶域割付け部と、 プログラム中のループ構造を検出して並列実行
可能な部分の認識を行い、上記中間コード変更を
行うベクトル化部と、 中間コードのレベルでベクトル処理プロセツサ
を有効に利用するための最適化を施す中間コード
最適化部と、 中間コードに現れたデータに実際の資源を割当
てるレジスタ使用決定部と、 目的プログラム出力部と を備えたコンパイラにおいて、 ベクトル化解析情報付きソース・リストを出力
する診断情報出力部を設け、 且つ、上記ソース解釈部は、ソース・プログラ
ムを解析して文単位でまとめたソース情報を出力
すると共に、文対応ベクトル化解析情報を設定す
るための領域を確保する処理をも行うよう構成さ
れ、 上記ベクトル化部は、中間コードに対応するベ
クトル化解析情報を設定し、当該中間コードに対
応する文の文対応ベクトル化解析情報を取り出
し、 (a) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報が未設定を示す場合には、ベクト
ル化可能を示す文対応ベクトル化解析情報を設
定し、 (b) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化可能を示している場
合には、ベクトル化可能を示す文対応ベクトル
化解析情報を設定し、 (c) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化可能な部分と不可能
な部分を持つことを示している場合には、ベク
トル化可能な部分と不可能な部分を持つことを
示す文対応ベクトル化解析情報を設定し、 (d) 当該中間コードのベクトル化解析情報がベク
トル化可能を示し且つ取り出した文対応ベクト
ル化解析情報がベクトル化不可能を示している
場合には、ベクトル化可能な部分と不可能な部
分を持つことを示す文対応ベクトル化解析情報
を設定し、 (e) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報が未設定を示している場合に
は、ベクトル化不可能を示す文対応ベクトル化
解析情報を設定し、 (f) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化可能を示している
場合には、ベクトル化可能な部分とベクトル化
不可能な部分を持つことを示す文対応ベクトル
化解析情報を設定し、 (g) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化可能な部分と不可
能な部分を持つことを示している場合には、ベ
クトル化可能な部分と不可能な部分を持つこと
を示す文対応ベクトル化解析情報を設定し、 (h) 当該中間コードのベクトル化解析情報がベク
トル化不可能を示し且つ取り出した文対応ベク
トル化解析情報がベクトル化不可能を示してい
る場合には、ベクトル化不可能を示す文対応ベ
クトル化解析情報を設定する ように構成され、 上記診断情報出力部は、上記文対応ベクトル化
解析情報と上記ソース情報とを読み込み、ソー
ス・リストと文対応ベクトル化解析情報とを対応
付けてベクトル化解析情報付ソース・リストを出
力する処理を行うよう構成されている。 ことを特徴とするベクトル化解析情報付ソース・
リスト出力方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58055482A JPS59197964A (ja) | 1983-03-31 | 1983-03-31 | ベクトル化解析情報付ソ−ス・リスト出力方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58055482A JPS59197964A (ja) | 1983-03-31 | 1983-03-31 | ベクトル化解析情報付ソ−ス・リスト出力方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59197964A JPS59197964A (ja) | 1984-11-09 |
| JPH0317136B2 true JPH0317136B2 (ja) | 1991-03-07 |
Family
ID=12999834
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58055482A Granted JPS59197964A (ja) | 1983-03-31 | 1983-03-31 | ベクトル化解析情報付ソ−ス・リスト出力方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59197964A (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61131131A (ja) * | 1984-11-30 | 1986-06-18 | Hitachi Ltd | プログラム編集方式 |
| JPS62274344A (ja) * | 1986-05-23 | 1987-11-28 | Hitachi Ltd | プログラム構造表示方式 |
| JP2638278B2 (ja) * | 1990-09-27 | 1997-08-06 | 富士通株式会社 | コンパイル処理方式 |
| JP3380390B2 (ja) * | 1996-03-27 | 2003-02-24 | 富士通株式会社 | デバッグ情報表示装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5837749A (ja) * | 1981-08-28 | 1983-03-05 | Fujitsu Ltd | コンパイルリストにおけるプログラム分岐先表示方式 |
-
1983
- 1983-03-31 JP JP58055482A patent/JPS59197964A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59197964A (ja) | 1984-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6253371B1 (en) | Method for supporting parallelization of source program | |
| US5371747A (en) | Debugger program which includes correlation of computer program source code with optimized object code | |
| CN106919434B (zh) | 一种代码生成方法及装置 | |
| KR910010301A (ko) | 명령 지정방법 및 실행장치 | |
| JPH04211830A (ja) | 並列化コンパイル方式 | |
| JPS61107431A (ja) | 演算装置 | |
| JPH0346863B2 (ja) | ||
| JPS59197964A (ja) | ベクトル化解析情報付ソ−ス・リスト出力方式 | |
| JPS58149567A (ja) | ベクトル・レングス制御範囲融合処理方式 | |
| JP2556148B2 (ja) | ベクトルレジスタ割付け方式 | |
| JPH07244647A (ja) | 間接参照ループの並列化方法、並列化装置、並列実行方法および並列実行装置 | |
| JP2621555B2 (ja) | ベクトル化処理方式 | |
| JPH037989B2 (ja) | ||
| JPS6345637A (ja) | レジスタ割当て誤り検出方式 | |
| JP2507809B2 (ja) | 索引入出力の指定方式 | |
| JPH046020B2 (ja) | ||
| JPH0695890A (ja) | コンパイラにおける名前置換方式 | |
| JPH02105224A (ja) | コンパイラにおけるデータ割付け方式 | |
| JP3367438B2 (ja) | 条件実行処理装置 | |
| JPS58149570A (ja) | ベクトル命令のスケジユ−リング処理方式 | |
| JPS6182242A (ja) | フオ−トラン翻訳方式 | |
| JPS6074039A (ja) | コンパイル言語認識処理方式 | |
| JPH04364537A (ja) | 並列処理用プログラム最適化方法、装置およびコンパイラ | |
| JPS59231649A (ja) | コンパイルリスト出力処理方式 | |
| JP3200277B2 (ja) | シーケンスプログラム処理方法及び装置 |