JPH01159734A - 回帰演算におけるデータ形式変換処理方式 - Google Patents
回帰演算におけるデータ形式変換処理方式Info
- Publication number
- JPH01159734A JPH01159734A JP31835687A JP31835687A JPH01159734A JP H01159734 A JPH01159734 A JP H01159734A JP 31835687 A JP31835687 A JP 31835687A JP 31835687 A JP31835687 A JP 31835687A JP H01159734 A JPH01159734 A JP H01159734A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- instruction
- type
- loop
- data
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 52
- 238000005457 optimization Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
↑?1報処理システムにおいて1回帰演算を行う際のデ
ータ形式の変換処理方式に関し。
ータ形式の変換処理方式に関し。
回帰演算処理プログラムにおけるデータ形式変換の手順
を改善することにより、処理時間の短縮を図ることを目
的とし。
を改善することにより、処理時間の短縮を図ることを目
的とし。
ソースプログラムのコンパイル処理を行い、このコンパ
イル処理された結果の中間テキストを対象にさらに最適
化処理を行う最適化処理部をそなえたコンパイラにおい
て、前記最適化処理部は。
イル処理された結果の中間テキストを対象にさらに最適
化処理を行う最適化処理部をそなえたコンパイラにおい
て、前記最適化処理部は。
コンパイル処理された結果の中間テキストを対象に回帰
演算のループを婢出し、j亥回帰演算のループ中にデー
タ形式を変換あるいは逆変換する命令があるとき、これ
らの命令をそれぞれ、ループのバックターゲットBTお
よびフォワードターゲットFTに移動させる機能をもつ
。
演算のループを婢出し、j亥回帰演算のループ中にデー
タ形式を変換あるいは逆変換する命令があるとき、これ
らの命令をそれぞれ、ループのバックターゲットBTお
よびフォワードターゲットFTに移動させる機能をもつ
。
本発明は、情報処理システムにおいて1回帰演算を行う
際のデータ形式の変換処理方式に関する。
際のデータ形式の変換処理方式に関する。
本発明は特に回帰演算処理プログラムにおいて。
数値データのデータ形式を文字型から算術データ型へ、
あるいはその逆方向へ変換する回数が最小になるように
最適化する処理方式に関する。
あるいはその逆方向へ変換する回数が最小になるように
最適化する処理方式に関する。
−Sに情報処理システム内の数値データは1通常例えば
ファイル格納中は出力表示等に存利なゾーン(ZONB
)型10進形式のような文字型をとっており、そして演
算時には演算に適したパンク(PACK)型10進形式
のような算術データ型をとっているのが普通である。
ファイル格納中は出力表示等に存利なゾーン(ZONB
)型10進形式のような文字型をとっており、そして演
算時には演算に適したパンク(PACK)型10進形式
のような算術データ型をとっているのが普通である。
ところで、実行しようとするプログラム中に回帰/ii
i算(例えばA=A+1のような反復演算)のループが
あった場合、従来はループ内の回帰1算の前にデータ形
式をゾーン型からバック型に変換する変換命令を置き、
また回帰演算の後にデータ形式をゾーン型に逆変換する
変換命令を置いて。
i算(例えばA=A+1のような反復演算)のループが
あった場合、従来はループ内の回帰1算の前にデータ形
式をゾーン型からバック型に変換する変換命令を置き、
また回帰演算の後にデータ形式をゾーン型に逆変換する
変換命令を置いて。
ループを1回通るごとにこれら前後の変換命令をそれぞ
れ実行していた。
れ実行していた。
第3図は、このような従来の方式による回帰演算処理プ
ログラムの1例を示したものである。
ログラムの1例を示したものである。
図において、A=A+1は回帰演算命令、X−A+1は
ループの実行回数演算の命令、BTはバックターゲット
(ループの直前の命令)、FTはフォワードターゲット
(ループの次の命令)である。
ループの実行回数演算の命令、BTはバックターゲット
(ループの直前の命令)、FTはフォワードターゲット
(ループの次の命令)である。
命令A−A+1は、コンパイル処理において。
3つの命令
T1±CV (A)
TI−Tl+1
A−CV (TI>
に展開される。ここでTl−CV(A)は、ゾーン型の
変数Aを、パック型の変数T1に変換する命令であり、
Tl−Tl+1は、パック型の変数T1による回帰演算
の命令、そしてA=CV (T1)は、パック型の変数
T1をゾーン型変数に変換する処理である。
変数Aを、パック型の変数T1に変換する命令であり、
Tl−Tl+1は、パック型の変数T1による回帰演算
の命令、そしてA=CV (T1)は、パック型の変数
T1をゾーン型変数に変換する処理である。
また、命令X−A+1は、同様にしてコンパイル処理で
、2つの命令 T2コCV (A) X=72+1 に展開される。ここで72−CV (A)は、ゾーン型
変数Aを変換命令CVによりバック型変数T2に変換す
る処理である。そしてX=T2+1は。
、2つの命令 T2コCV (A) X=72+1 に展開される。ここで72−CV (A)は、ゾーン型
変数Aを変換命令CVによりバック型変数T2に変換す
る処理である。そしてX=T2+1は。
バック型変数T2を+1更新する処理である。Xが一定
数に達するまで2以上のループ内の命令の実行が繰り返
される。
数に達するまで2以上のループ内の命令の実行が繰り返
される。
データ形式変換を伴う従来の回帰演算処理プログラムで
は、データ形式の変換と逆変換の変換命令がループを回
るごとに実行されるため、オーバーヘッドが大きくなり
1回帰演算処理プログラムの処理時間が長くなるという
問題があった。
は、データ形式の変換と逆変換の変換命令がループを回
るごとに実行されるため、オーバーヘッドが大きくなり
1回帰演算処理プログラムの処理時間が長くなるという
問題があった。
本発明は9回帰演算処理プログラムにおけるデータ形式
変換の手順を改善することにより、処理時間の短縮を図
ることを目的とする。
変換の手順を改善することにより、処理時間の短縮を図
ることを目的とする。
本発明は、ループ内にあるデータ形式の変換(文字型か
ら算術データ型へ)と逆変換(算術データ型から文字型
へ)の変換命令を、最適化処理により、バックターゲッ
トBTとフォワードターゲットFTに移すことにより、
ループを回るごとにデータ形式の変換と逆変換とを行う
必要をなくしたものである。
ら算術データ型へ)と逆変換(算術データ型から文字型
へ)の変換命令を、最適化処理により、バックターゲッ
トBTとフォワードターゲットFTに移すことにより、
ループを回るごとにデータ形式の変換と逆変換とを行う
必要をなくしたものである。
第1図は本発明の原理説明図である。
図において、lはソースプログラム、2はコンパイラ部
、3はコンパイラ部2内のループ中にあるデータ形式の
変換および逆変換を行う変換命令をそれぞれバンクター
ゲットとフォワードターゲットに移動する最適化処理部
、4はコンパイル処理結果の第1の中間テキスト 5は
最適化処理結果の第2の中間テキスト、6はオブジェク
トプログラムである。
、3はコンパイラ部2内のループ中にあるデータ形式の
変換および逆変換を行う変換命令をそれぞれバンクター
ゲットとフォワードターゲットに移動する最適化処理部
、4はコンパイル処理結果の第1の中間テキスト 5は
最適化処理結果の第2の中間テキスト、6はオブジェク
トプログラムである。
コンパイラ部2は、ソースプログラム1のコンパイル処
理を行い、その際プログラム中のデータ形式の変換が必
要な演算命令ごとに2文字型(例えばゾーン型)から算
術データ型(例えばバック型)へあるいはその逆へのデ
ータ形式の変換命令を追加する。
理を行い、その際プログラム中のデータ形式の変換が必
要な演算命令ごとに2文字型(例えばゾーン型)から算
術データ型(例えばバック型)へあるいはその逆へのデ
ータ形式の変換命令を追加する。
例えば演算命令A−A+1を。
TI−CV(A)・・・ゾーン型からパンク型へ変換す
る変換命令 Tl−Tl+1・・・演算命令 A−CV (Tl)・・・パック型からゾーン型へ逆変
換する変換命令 に展開し。
る変換命令 Tl−Tl+1・・・演算命令 A−CV (Tl)・・・パック型からゾーン型へ逆変
換する変換命令 に展開し。
同様に演算命令X−A+1を。
T2−CV (A)・・・ゾーン型からパック型へ、
変換する変換命令 X−72+1・・・演算命令 に展開して、第1の中間テキスト4を生成する。
変換する変換命令 X−72+1・・・演算命令 に展開して、第1の中間テキスト4を生成する。
次に、最適化処理部3は、第1の中間テキスト4につい
て、ループ中の演算命令が定義しているデータ項目につ
いてデータ形式の変換命令を検出し、ゾーン型からパッ
ク型への変換命令を、そのループのバックターゲットB
Tに移し、またパック型からゾーン型への変換命令を、
そのループのフォワードターゲットFTに移す、そして
これと同時に、データ形式変換が行われたデータ項目の
データ名、すなわちコンパイラ部2が使用する作業領域
名を統合し、第2の中間テキスト5を生成する。
て、ループ中の演算命令が定義しているデータ項目につ
いてデータ形式の変換命令を検出し、ゾーン型からパッ
ク型への変換命令を、そのループのバックターゲットB
Tに移し、またパック型からゾーン型への変換命令を、
そのループのフォワードターゲットFTに移す、そして
これと同時に、データ形式変換が行われたデータ項目の
データ名、すなわちコンパイラ部2が使用する作業領域
名を統合し、第2の中間テキスト5を生成する。
コンパイラ部2は、この後、第2の中間テキスト5につ
いてコード変換を行い、オブジェクトプログラム6を生
成する。
いてコード変換を行い、オブジェクトプログラム6を生
成する。
第2図に本発明の1実施例によるHa化処理例を示す。
第2図において、(a)はソースプログラム、(b)は
(alについての第1の中間テキスト、(C)は(b)
について本発明によるデータ形式変換の最適化処理をさ
れた第2の中間テキストである。
(alについての第1の中間テキスト、(C)は(b)
について本発明によるデータ形式変換の最適化処理をさ
れた第2の中間テキストである。
第2図(a)において、■ないし■は命令のステップを
表し、そのうち■、■、■は回帰演算処理の1つのルー
プに含まれるステップであり、また■はそのループのバ
ックターゲットBT、そして■はフォワードターゲット
FTである。このプログラムは、1≦A≦100の範囲
内でデータへの配列(1,2,4,5,7,8,・・・
)を求めるためのものである。
表し、そのうち■、■、■は回帰演算処理の1つのルー
プに含まれるステップであり、また■はそのループのバ
ックターゲットBT、そして■はフォワードターゲット
FTである。このプログラムは、1≦A≦100の範囲
内でデータへの配列(1,2,4,5,7,8,・・・
)を求めるためのものである。
第2図の山)において、づないしdは、第2図+al中
のステップ■ないし■をそれぞれコンパイル処理した結
果の中間テキストを対応的に示している。
のステップ■ないし■をそれぞれコンパイル処理した結
果の中間テキストを対応的に示している。
Φは、データAに初期値’0001″を設定するバック
ターゲットBTの命令である。データAは、ゾーン型の
4桁数字(外部10進数)で表されている。
ターゲットBTの命令である。データAは、ゾーン型の
4桁数字(外部10進数)で表されている。
dでは、変換命令TI−PACK CV (A)によ
り、データAのデータ形式をゾーン型からパンク型に変
換してから、T2−Tl+1を演算し。
り、データAのデータ形式をゾーン型からパンク型に変
換してから、T2−Tl+1を演算し。
その後、演算結果T2のデータ領域を、変換命令A−z
oNF、 Cv (T2) によりゾーン型に戻して
いる。
oNF、 Cv (T2) によりゾーン型に戻して
いる。
(75テは、T3−PACK CV (A) により
再びデータAをパック型に変換し2次に74=73+1
を演算し、その演算結果のT4を1f(T4>100)
により判定して、T4>100であればフォワードター
ゲットFTの蔓を実行し、またT4≦100であればφ
を実行する。
再びデータAをパック型に変換し2次に74=73+1
を演算し、その演算結果のT4を1f(T4>100)
により判定して、T4>100であればフォワードター
ゲットFTの蔓を実行し、またT4≦100であればφ
を実行する。
φでは、T5−PACK CV (A)によりデータ
Aをパック型に変換し1次に76−75+2を演算して
、その結果T6のデータ形式をA−ZONE CV
(T6)によりゾーン型に逆変換してから鴬に戻る。
Aをパック型に変換し1次に76−75+2を演算して
、その結果T6のデータ形式をA−ZONE CV
(T6)によりゾーン型に逆変換してから鴬に戻る。
第1図の最適化処理部3は、第2図世)の中間テキスト
を調べ、dでT2−Tl+1の演算のための変換命令T
I−PACK CV (A)と、A=ZONE C
V (T2)を検出すると、T1=PACK CV
(A)を優からΦのBTへ移動し。
を調べ、dでT2−Tl+1の演算のための変換命令T
I−PACK CV (A)と、A=ZONE C
V (T2)を検出すると、T1=PACK CV
(A)を優からΦのBTへ移動し。
またT2=714−1をTl−Tl+1に書き替えると
ともに、A−ZONE CV (T2)をA−ZON
E CV (Tl)に書き替えテ(fiのFTへ移動
する。
ともに、A−ZONE CV (T2)をA−ZON
E CV (Tl)に書き替えテ(fiのFTへ移動
する。
さらにd、φの他の命令を調べ、解析により暮と同じデ
ータAを定義している演算命令に伴う変換命令T3−P
ACK CV (A)、T5=PACK CV (A
) A=ZONE CV (T6)を検出すると、これ
らを削除し、またデータ名T3゜T5.T6を統合して
それぞれT1に書き替える。
ータAを定義している演算命令に伴う変換命令T3−P
ACK CV (A)、T5=PACK CV (A
) A=ZONE CV (T6)を検出すると、これ
らを削除し、またデータ名T3゜T5.T6を統合して
それぞれT1に書き替える。
このようにして、ループ中にデータAのデータ形式変換
を含まない第2図(C1の中間テキスト(a5ないしづ
)が得られる。
を含まない第2図(C1の中間テキスト(a5ないしづ
)が得られる。
この第2図(C1の中間テキストでは、データAについ
てのデータ形式の変換と逆変換とは、それぞれBTとF
Tとで1回ずつ行えば良いようになっている。
てのデータ形式の変換と逆変換とは、それぞれBTとF
Tとで1回ずつ行えば良いようになっている。
このように本発明によるプログラムの最適化処理によれ
ば、ループ中にデータ形式の変換命令を伴う演算が含ま
れる場合、それらのデータ形式の変換命令は自動的にル
ープの外に移動され、また回帰演算中の複数の命令によ
って定義されていた1つのデータ項目が、統合化される
ことによって。
ば、ループ中にデータ形式の変換命令を伴う演算が含ま
れる場合、それらのデータ形式の変換命令は自動的にル
ープの外に移動され、また回帰演算中の複数の命令によ
って定義されていた1つのデータ項目が、統合化される
ことによって。
効率的なプログラムが得られるので0回帰演算の処理時
間を大幅に短縮することができる。
間を大幅に短縮することができる。
第1図は本発明の原理説明図、第2図は本発明の1実施
例の具体例による説明図、第3図は従来方式の説明図で
ある。 第1図中。 1:ソースプログラム 2:コンパイラ部 3:最適化処理部 4:第1の中間テキスト 5:第2の中間テキスト 6:オブジェクトプログラム
例の具体例による説明図、第3図は従来方式の説明図で
ある。 第1図中。 1:ソースプログラム 2:コンパイラ部 3:最適化処理部 4:第1の中間テキスト 5:第2の中間テキスト 6:オブジェクトプログラム
Claims (1)
- 【特許請求の範囲】 ソースプログラム(1)のコンパイル処理を行い、この
コンパイル処理された結果の中間テキストを対象にさら
に最適化処理を行う最適化処理部(3)をそなえたコン
パイラ部(2)において、 前記最通化処理部(3)は、コンパイル処理された結果
の中間テキストを対象に回帰演算のループを検出し、該
回帰演算のループ中にデータ形式を変換あるいは逆変換
する命令があるとき、これらの命令をそれぞれ、ループ
のバックターゲット(BT)およびフォワードターゲッ
ト(FT)に移動させることを特徴とする回帰演算にお
けるデータ形式変換処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31835687A JPH01159734A (ja) | 1987-12-16 | 1987-12-16 | 回帰演算におけるデータ形式変換処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31835687A JPH01159734A (ja) | 1987-12-16 | 1987-12-16 | 回帰演算におけるデータ形式変換処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01159734A true JPH01159734A (ja) | 1989-06-22 |
Family
ID=18098239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31835687A Pending JPH01159734A (ja) | 1987-12-16 | 1987-12-16 | 回帰演算におけるデータ形式変換処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01159734A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03132828A (ja) * | 1989-10-16 | 1991-06-06 | Internatl Business Mach Corp <Ibm> | 共通の部分式を除去する方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58149543A (ja) * | 1982-02-27 | 1983-09-05 | Fujitsu Ltd | デ−タ・レジスタ割当て処理方式 |
-
1987
- 1987-12-16 JP JP31835687A patent/JPH01159734A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58149543A (ja) * | 1982-02-27 | 1983-09-05 | Fujitsu Ltd | デ−タ・レジスタ割当て処理方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03132828A (ja) * | 1989-10-16 | 1991-06-06 | Internatl Business Mach Corp <Ibm> | 共通の部分式を除去する方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2580592B2 (ja) | データ構造駆動型処理装置とその制御方法 | |
Fauth et al. | Automated generation of DSP program development tools using a machine description formalism | |
García Rosa et al. | Modeling a fuzzy coprocessor and its programming language | |
JPH01159734A (ja) | 回帰演算におけるデータ形式変換処理方式 | |
JP3175768B2 (ja) | 複合型命令スケジューリング処理装置 | |
JPH0764766A (ja) | 並列計算機における最大・最小値演算方法 | |
JP2554169B2 (ja) | データ駆動型プロセッサの相対ランク解析方式 | |
JPH0713962A (ja) | コンパイラ装置 | |
JPS6155738A (ja) | 演算モ−ドの決定方式 | |
JP3367438B2 (ja) | 条件実行処理装置 | |
JP2682206B2 (ja) | 目的プログラムの最適化方式 | |
JPH0414144A (ja) | コンパイル処理方法 | |
Reuss | Macro implementation of a structured assembly language | |
JPH08171554A (ja) | ベクトル演算の最適化コンパイラ | |
JPH0468664B2 (ja) | ||
JPS6395535A (ja) | 演算処理方式 | |
JPH0337726A (ja) | Case文最適化方式 | |
JPH04343140A (ja) | コンパイラの最適化処理方法 | |
JPH0554057A (ja) | 非線形最適化方法及びその装置 | |
JPH02214974A (ja) | ベクトル化処理方式 | |
JPH04205422A (ja) | プログラム自動翻訳結合及び選択方法 | |
JPH04102925A (ja) | 計算機プログラムの作成・実行方式 | |
García Rosa et al. | Modelo de un coprocesador difuso y de su lenguaje de programación | |
Whitcomb | Vector algorithms for geometrically nonlinear 3D finite element analysis | |
JPH05100866A (ja) | コンパイル・リンク方式 |