JPS6336337A - スカラ/ベクトル命令の融合スケジユ−リング処理方式 - Google Patents
スカラ/ベクトル命令の融合スケジユ−リング処理方式Info
- Publication number
- JPS6336337A JPS6336337A JP17781486A JP17781486A JPS6336337A JP S6336337 A JPS6336337 A JP S6336337A JP 17781486 A JP17781486 A JP 17781486A JP 17781486 A JP17781486 A JP 17781486A JP S6336337 A JPS6336337 A JP S6336337A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- scalar
- vector
- execution
- vector instruction
- 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
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 241001274197 Scatophagus argus Species 0.000 description 2
- 235000009854 Cucurbita moschata Nutrition 0.000 description 1
- 240000001980 Cucurbita pepo Species 0.000 description 1
- 235000009852 Cucurbita pepo Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 229940109690 nucala Drugs 0.000 description 1
- 235000020354 squash Nutrition 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はコンパイラの命令スケジューリング処理方式に
関し、特に、スカラ命令とベクトル命令との間でのスケ
ジューリング処理方式に関する。
関し、特に、スカラ命令とベクトル命令との間でのスケ
ジューリング処理方式に関する。
従来、コンパイラの命令スケジューリング処理は、スカ
ラ命令どうし、あるいは、ベクトル命令どうしでしか行
わnでおらずスカラ命令とベクトル命令との関係を考慮
した命令スケジューリング処理は行わ汎でいなかった。
ラ命令どうし、あるいは、ベクトル命令どうしでしか行
わnでおらずスカラ命令とベクトル命令との関係を考慮
した命令スケジューリング処理は行わ汎でいなかった。
以下余日
〔発明が解決しようとする問題点〕
上述した従来の命令スケジューリング処理は。
スカラ命令とスカラ命令との間あるいはベクトル命令と
ベクトル命令との間の関係は考慮するが、スカラ命令と
ベクトル命令との間の関係を考慮しておらず、システム
の特徴、すなわち実行開始待ち中のベクトル命令の後ろ
に実行開始可能なスカラ命令がある場合にはベクトル命
令の実行開始に先立ってスカラ命令を実行開始させるこ
とにより演算器の空き時間を少なくしているという特徴
や、スカラ命令はベクトル命令より実行時間がはるかに
短く、ベクトル命令とスカラ命令は並行に実行さnるの
でベクトル命令の後ろで実行されるスカラ命令はベクト
ル命令の実行にかくれて実質上実行時間が0になるとい
う特徴を十分に生かしき牡ないという欠点がある。
ベクトル命令との間の関係は考慮するが、スカラ命令と
ベクトル命令との間の関係を考慮しておらず、システム
の特徴、すなわち実行開始待ち中のベクトル命令の後ろ
に実行開始可能なスカラ命令がある場合にはベクトル命
令の実行開始に先立ってスカラ命令を実行開始させるこ
とにより演算器の空き時間を少なくしているという特徴
や、スカラ命令はベクトル命令より実行時間がはるかに
短く、ベクトル命令とスカラ命令は並行に実行さnるの
でベクトル命令の後ろで実行されるスカラ命令はベクト
ル命令の実行にかくれて実質上実行時間が0になるとい
う特徴を十分に生かしき牡ないという欠点がある。
本発明の命令スケジューリング処理方式は。
少なくとも、ベクトル演算手段、スカラ演算手段、スカ
ラ演算とベクトル演算の並行処理手段。
ラ演算とベクトル演算の並行処理手段。
命令を逐次取り出し解析し、その命令を実行開始させる
ことが可能か否かを判定し、実行を開始または待たせる
手段、及び実行開始可能なスカラ命令の前にその時点で
は実行開始不可能なベクトル命令が待たされている場合
にそのベクトル命令の実行開始に先立って前記スカラ命
令の実行を開始させる手段を有するシステムに対して、
コンパイル方式の高級言語で記述さ扛たプログラムの目
的プログラム生成時における命令スケジューリング処理
に際して、1個以上のスカラ命令とその直後のベクトル
命令との依存関係を調べ、実行順序に依存関係がない場
合にはスカラ命令をベクトル命令の後ろに配置するよう
な命令のスケジューリング手段を有するコンパイラを備
えるよう構成されている。
ことが可能か否かを判定し、実行を開始または待たせる
手段、及び実行開始可能なスカラ命令の前にその時点で
は実行開始不可能なベクトル命令が待たされている場合
にそのベクトル命令の実行開始に先立って前記スカラ命
令の実行を開始させる手段を有するシステムに対して、
コンパイル方式の高級言語で記述さ扛たプログラムの目
的プログラム生成時における命令スケジューリング処理
に際して、1個以上のスカラ命令とその直後のベクトル
命令との依存関係を調べ、実行順序に依存関係がない場
合にはスカラ命令をベクトル命令の後ろに配置するよう
な命令のスケジューリング手段を有するコンパイラを備
えるよう構成されている。
次に9本発明の実施例について図面を参照して説明する
。
。
第1図は本発明の一実施例に使用するコンパイラの機能
ブロック図である。コンパイラ2内のソース解析部21
は供給さ汎たソースプログラム1を解析し、ベクトル化
処理部分をベクトル化処理部25に渡し、他の部分を非
ベクトル化処理部26に渡す。
ブロック図である。コンパイラ2内のソース解析部21
は供給さ汎たソースプログラム1を解析し、ベクトル化
処理部分をベクトル化処理部25に渡し、他の部分を非
ベクトル化処理部26に渡す。
筬
中間テキスト生f部22内のベクトル化処理部25は、
ソース解析部21から渡されたプログラムに対し、ベク
トル命令を用いた目的プログラムを生成するための中間
テキスト3を生成する。一方、非ベクトル化処理部26
は、ヌカラ命令を用いた目的プログラムを生成するため
の中間テキスト6を生成する。中間テキスト生成部22
によって生成さ扛た中間テキストろは中間テキスト最適
化部26において周知の最適化処理が施されたのち、目
的プログラム生成部24に渡される。
ソース解析部21から渡されたプログラムに対し、ベク
トル命令を用いた目的プログラムを生成するための中間
テキスト3を生成する。一方、非ベクトル化処理部26
は、ヌカラ命令を用いた目的プログラムを生成するため
の中間テキスト6を生成する。中間テキスト生成部22
によって生成さ扛た中間テキストろは中間テキスト最適
化部26において周知の最適化処理が施されたのち、目
的プログラム生成部24に渡される。
目的プログラム主成部24内の命令生成部27は、渡さ
れた中間テキスト3に対し、ベクトル命令やスカラ命令
の列、すなわち目的プログラム4を生成し、命令スケジ
ューリング処理部28に渡す。命令スケジューリング処
理部28は、目的プログラム4に含まれるスカラ命令列
及びベクトル命令列の中からスカラ命令とそnに直続す
るベクトル命令との対を選び出し。
れた中間テキスト3に対し、ベクトル命令やスカラ命令
の列、すなわち目的プログラム4を生成し、命令スケジ
ューリング処理部28に渡す。命令スケジューリング処
理部28は、目的プログラム4に含まれるスカラ命令列
及びベクトル命令列の中からスカラ命令とそnに直続す
るベクトル命令との対を選び出し。
スカシ/ベクトル命令依存関係解析部29に渡す。
スカシ/ベクトル命令依存関係解析部29は。
渡されたスカラ命令とベクトル命令の各オペランドを調
べ、当該スカラ命令とベクトル命令の実行順序を入扛換
えた場合にオペランドの定義。
べ、当該スカラ命令とベクトル命令の実行順序を入扛換
えた場合にオペランドの定義。
参照関係が壊汎ないかどうかを判定し、命令スケジュー
リング処理部28に知らせる。
リング処理部28に知らせる。
命令スケジューリング処理部28は、スカシ/ベクトル
命令依存関係解析部29によって入n換え後も定義、参
照関係が壊れないと判定された場合には、当該スカラ命
令tベクトル命令の後ろに移動させる。
命令依存関係解析部29によって入n換え後も定義、参
照関係が壊れないと判定された場合には、当該スカラ命
令tベクトル命令の後ろに移動させる。
命令スケジューリング処理部28は、スカラ命令とそ扛
に直続するベクトル命令とのすべての対に対して上記の
操作を操り返した後に生成された命令列(目的プログラ
ム4)に対して周知のスケジューリング処理を施し、最
終的な目的プログラム4を生成する。
に直続するベクトル命令とのすべての対に対して上記の
操作を操り返した後に生成された命令列(目的プログラ
ム4)に対して周知のスケジューリング処理を施し、最
終的な目的プログラム4を生成する。
第2図は本発明で使用する演算処理システム納されたプ
ログラムを実行する。入出力制御装置7は演算処理装置
6と並行して入出力装置を制御する。
ログラムを実行する。入出力制御装置7は演算処理装置
6と並行して入出力装置を制御する。
ベクトルマスクレジスタ61及びマスク演算器62i、
条件付きのベクトル演算時に参照さ汎るベクトルマスク
を生成するために使用される。ベクトルレジスタ63に
はベクトルデータが保持され、ベクトル演算器64はベ
クトルレジスタ63に保持されたベクトルデータを高速
に演算処理する。スカシレジスタ65にはスカシデータ
が保持さn、スカシ演算器66により演算処理が施さn
る。スカシレジスタ65はベクトル演算器64によって
参照することも可能である。また、ベクトル演算器64
とスカシ演算器66は並行動作が可能である。
条件付きのベクトル演算時に参照さ汎るベクトルマスク
を生成するために使用される。ベクトルレジスタ63に
はベクトルデータが保持され、ベクトル演算器64はベ
クトルレジスタ63に保持されたベクトルデータを高速
に演算処理する。スカシレジスタ65にはスカシデータ
が保持さn、スカシ演算器66により演算処理が施さn
る。スカシレジスタ65はベクトル演算器64によって
参照することも可能である。また、ベクトル演算器64
とスカシ演算器66は並行動作が可能である。
第6図は本発明で使用する演算処理システムで実行され
るスカシ及びベクトル命令列の実行態様を示す例である
。VRl、VH2,・・・、VB2ばそnぞnベクトル
レジスタを示し、SR1゜SR2,・・・、SR6はそ
nぞnスカランジスタを示す。時刻toにおいてベクト
ル加算命令VR4−VR2+VR3が取り出さn、解析
さ扛9時刻t1においてベクトル加算器が起動さn、ベ
クトル加算の実行が開始される。こnと並行して。
るスカシ及びベクトル命令列の実行態様を示す例である
。VRl、VH2,・・・、VB2ばそnぞnベクトル
レジスタを示し、SR1゜SR2,・・・、SR6はそ
nぞnスカランジスタを示す。時刻toにおいてベクト
ル加算命令VR4−VR2+VR3が取り出さn、解析
さ扛9時刻t1においてベクトル加算器が起動さn、ベ
クトル加算の実行が開始される。こnと並行して。
時刻t+ においては1次の命令、すなわちベクトル乗
算命令VR4=VR5*VR6が取り出され、解析され
9時刻t2においてベクトル乗算器が起動され、ベクト
ル乗算の実行が開始される。
算命令VR4=VR5*VR6が取り出され、解析され
9時刻t2においてベクトル乗算器が起動され、ベクト
ル乗算の実行が開始される。
さらに2時刻t2においては、スカシ加算命令SRI
、=SR2+SR3が取り出さn、解析さn。
、=SR2+SR3が取り出さn、解析さn。
時刻t5において実行が開始さnる。時刻t5において
はさらに2次のスカシ加算命令5R4=SR5+SR6
が取り出さn、解析され1時刻t4において実行が開始
される。図に示すようにベクトル演算の実行時間はスカ
シ演算と比べてはるかに長いので、2個のスカシ命令(
5R1=SR2+SRろ及び5R4=SR5+SR6)
は。
はさらに2次のスカシ加算命令5R4=SR5+SR6
が取り出さn、解析され1時刻t4において実行が開始
される。図に示すようにベクトル演算の実行時間はスカ
シ演算と比べてはるかに長いので、2個のスカシ命令(
5R1=SR2+SRろ及び5R4=SR5+SR6)
は。
先行するベクトル命令よりも早く終了する。すなわち、
この2個のスカシ命令の実質的な実行時間けOである。
この2個のスカシ命令の実質的な実行時間けOである。
第4図は本発明を実施前後の命令列の例であり、第5図
はその効果を示した図である。第4図において、スカシ
命令(1)(2)とベクトル命令(1)(2)の間に依
存関係はないので、ベクトル命令(1)(2)の後ろに
スカシ命令(1)(2)を配置するようなスケジューリ
ング処理を施すことにより、第4図の後半に示すような
命令列を得る。第5図の前半の命令列においては、スカ
シ命令5R7=SR3+SR9の取り出し及び解析時間
t1−t。
はその効果を示した図である。第4図において、スカシ
命令(1)(2)とベクトル命令(1)(2)の間に依
存関係はないので、ベクトル命令(1)(2)の後ろに
スカシ命令(1)(2)を配置するようなスケジューリ
ング処理を施すことにより、第4図の後半に示すような
命令列を得る。第5図の前半の命令列においては、スカ
シ命令5R7=SR3+SR9の取り出し及び解析時間
t1−t。
とスカシ命令5R10=SR11+5R12の取り出し
及び解析時間’t、5− t2とが命令列全体の実行時
間tz −toの中に含まれているのに対し。
及び解析時間’t、5− t2とが命令列全体の実行時
間tz −toの中に含まれているのに対し。
第5図の後半の命令列、すなわち本発明実施後の命令列
全体の実行時間tr −toの中V′Cは含まれていな
いことが判る。すなわち、tz−jr=(t+−to)
+(ts−t2) だけの実行時間短縮が図られたこ
とになる。
全体の実行時間tr −toの中V′Cは含まれていな
いことが判る。すなわち、tz−jr=(t+−to)
+(ts−t2) だけの実行時間短縮が図られたこ
とになる。
以上説明したように本発明は、同時に実行開始可能なベ
クトル命令とスカシ命令がある場合にスカシ命令の取り
出しに先立ってベクトル命令の取り出しが行わnるよう
に命令列をスケジューリングすることにより、プログラ
ムの実行効率が向上するという効果がある。
クトル命令とスカシ命令がある場合にスカシ命令の取り
出しに先立ってベクトル命令の取り出しが行わnるよう
に命令列をスケジューリングすることにより、プログラ
ムの実行効率が向上するという効果がある。
第1図は本発明の一実施例に使用するコンパ第4図に示
す命令列の実行態様を示す図であるっ1・・・ソースプ
ログラム、2・・コンパイラ。 6・・・中間テキスト、4・・・目的プログラム、21
・・・ソース解析部、22・・・中間テキスト生成部。 26・・・中間テキスト最適化部、2.4・・・目的プ
ログラム生成部、25・・・ベクトル化処理部、26・
・・非ベクトル化処理部、27・・・命令生成部。 28・・・命令スケジューリング処理部、29・・・ス
カラ/ベクトル命令依存関係解析部。 第1図 第2図 、5 第3図 明 t、 b t2b L4 氾4図 第5図
す命令列の実行態様を示す図であるっ1・・・ソースプ
ログラム、2・・コンパイラ。 6・・・中間テキスト、4・・・目的プログラム、21
・・・ソース解析部、22・・・中間テキスト生成部。 26・・・中間テキスト最適化部、2.4・・・目的プ
ログラム生成部、25・・・ベクトル化処理部、26・
・・非ベクトル化処理部、27・・・命令生成部。 28・・・命令スケジューリング処理部、29・・・ス
カラ/ベクトル命令依存関係解析部。 第1図 第2図 、5 第3図 明 t、 b t2b L4 氾4図 第5図
Claims (1)
- 1、すくなくとも、ベクトル演算手段、スカラ演算手段
、スカラ演算とベクトル演算の並行処理手段、命令を逐
次取り出し解析し、その命令を実行開始させることが可
能か否かを判定し、実行を開始または待たせる手段、及
び実行開始可能なスカラ命令の前にその時点では実行開
始不可能なベクトル命令が待たされている場合に、その
ベクトル命令の実行開始に先立って前記スカラ命令の実
行を開始させる手段を有するシステムに対して、コンパ
イル方式の高級言語で記述されたプログラムの目的プロ
グラム生成時における命令スケジューリング処理に際し
て、1個以上のスカラ命令とその直後のベクトル命令と
の依存関係を調べ、実行順序に依存関係がない場合には
スカラ命令をベクトル命令の後ろに配置するような命令
のスケジューリング手段を有するコンパイラを備えたこ
とを特徴とするスカラ/ベクトル命令の融合スケジュー
リング処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17781486A JPS6336337A (ja) | 1986-07-30 | 1986-07-30 | スカラ/ベクトル命令の融合スケジユ−リング処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17781486A JPS6336337A (ja) | 1986-07-30 | 1986-07-30 | スカラ/ベクトル命令の融合スケジユ−リング処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6336337A true JPS6336337A (ja) | 1988-02-17 |
Family
ID=16037556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17781486A Pending JPS6336337A (ja) | 1986-07-30 | 1986-07-30 | スカラ/ベクトル命令の融合スケジユ−リング処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6336337A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0377141A (ja) * | 1989-08-18 | 1991-04-02 | Fujitsu Ltd | コンパイル処理装置 |
JP2008125526A (ja) * | 2006-11-16 | 2008-06-05 | Sekisui Home Techno Kk | 棚板支持具 |
JP2009048252A (ja) * | 2007-08-14 | 2009-03-05 | Oki Electric Ind Co Ltd | プログラム変換装置及びコンパイラプログラム |
-
1986
- 1986-07-30 JP JP17781486A patent/JPS6336337A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0377141A (ja) * | 1989-08-18 | 1991-04-02 | Fujitsu Ltd | コンパイル処理装置 |
JP2008125526A (ja) * | 2006-11-16 | 2008-06-05 | Sekisui Home Techno Kk | 棚板支持具 |
JP2009048252A (ja) * | 2007-08-14 | 2009-03-05 | Oki Electric Ind Co Ltd | プログラム変換装置及びコンパイラプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4042604B2 (ja) | プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム | |
US20020169942A1 (en) | VLIW processor | |
JP3480973B2 (ja) | 並列処理システムの動作解析装置 | |
JPH04307625A (ja) | ループ最適化方法及び装置 | |
KR20080093108A (ko) | 프로그램 병렬 실행 시스템 및 방법 | |
JPH0756892A (ja) | マスク付きベクトル演算器を持つ計算機 | |
JP2008176453A (ja) | シミュレーション装置 | |
US5850551A (en) | Compiler and processor for processing loops at high speed | |
JPS6336337A (ja) | スカラ/ベクトル命令の融合スケジユ−リング処理方式 | |
JP2001125792A (ja) | 最適化促進装置 | |
JPS62217325A (ja) | アセンブラコ−ド最適化方式 | |
JPS61245239A (ja) | 論理回路方式 | |
US7644256B2 (en) | Method in pipelined data processing | |
JP3547562B2 (ja) | マイクロプロセッサ | |
JPH11242598A (ja) | コンパイル方法およびコンパイル装置ならびにオブジェクトプログラム実行方法およびオブジェクトプログラム実行装置ならびにプログラム記憶媒体 | |
JPH1196018A (ja) | コンパイル装置及び方法並びにコンパイル実行プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR101118593B1 (ko) | Vliw 명령어 처리 장치 및 방법 | |
JP2924735B2 (ja) | パイプライン演算装置及びデコーダ装置 | |
JPH05289870A (ja) | 並列命令実行制御方式 | |
JP2835179B2 (ja) | 並列処理計算機 | |
JPH11250035A (ja) | 編集方式及び方法 | |
JPH06309166A (ja) | 演算処理装置及び演算処理方法 | |
JPH06103083A (ja) | 部分和計算方法 | |
JPS59160239A (ja) | 情報処理装置 | |
JPH0659933A (ja) | コード変換装置 |