JPS6155739A - 手続区画サイズの決定方式 - Google Patents
手続区画サイズの決定方式Info
- Publication number
- JPS6155739A JPS6155739A JP17811484A JP17811484A JPS6155739A JP S6155739 A JPS6155739 A JP S6155739A JP 17811484 A JP17811484 A JP 17811484A JP 17811484 A JP17811484 A JP 17811484A JP S6155739 A JPS6155739 A JP S6155739A
- Authority
- JP
- Japan
- Prior art keywords
- procedure
- size
- branching
- register allocation
- procedure block
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンパイラ、特にソース・プログラムの性質
(データ量など)に従って手続区画(J’rocedu
re Domain)のサイズを決定するようにした手
続区画サイズ決定方式に関するものである。
(データ量など)に従って手続区画(J’rocedu
re Domain)のサイズを決定するようにした手
続区画サイズ決定方式に関するものである。
第4図は従来の手続区画の分割方式を説明するものであ
うで、1はデータ部、2は手続き部、OMはオブジェク
ト・モジュール、PDTは手続区画テーブル、PDIな
いしPD3は手続区画をそれぞれ示している。オブジェ
クト・モジュールOMは、データ部1と手続き部2に分
割されている。
うで、1はデータ部、2は手続き部、OMはオブジェク
ト・モジュール、PDTは手続区画テーブル、PDIな
いしPD3は手続区画をそれぞれ示している。オブジェ
クト・モジュールOMは、データ部1と手続き部2に分
割されている。
手続き部2は、複数の手続区画PDI、PD2、PD3
・・・に分割されている。従来技術においては、手続区
画PDISPD2、PD3・・・の大きさは全て同じで
あり、その大きさは4 K (4096)バイトである
。データ部1の中には、手続区画テーブルPDTが存在
している0手続区画テーブルPDTは、手続区画の先頭
番地を記憶する。手続区画PDiに分岐する場合には、 L Br =A (PD i) Φ
BCm、 D (0,B、) ■なる命令
が必要になることがある。■の命令は、手続区画PDi
の先頭番地をベース・レジスタBrにロードせよという
命令であり、■の命令は分岐条件mが成立したときベー
ス・レジスタBrの内容にディスプレイスメントDを加
算した番地に分岐せよという命令である。■の手続区画
の先頭番地をロードする命令は、同じ手続区画への分岐
が続くうちは最初の一度だけで足りる。しかし、手続区
画の境界近くでは別の手続区画内への分岐と現在の手続
区画内への分岐とが入り混じり、■のロード命令を必要
とする頻度が高くなる。特に、手続区画の境界がループ
の中に存在する場合には、実行回数が多い部分なので、
その影響は大きい。
・・・に分割されている。従来技術においては、手続区
画PDISPD2、PD3・・・の大きさは全て同じで
あり、その大きさは4 K (4096)バイトである
。データ部1の中には、手続区画テーブルPDTが存在
している0手続区画テーブルPDTは、手続区画の先頭
番地を記憶する。手続区画PDiに分岐する場合には、 L Br =A (PD i) Φ
BCm、 D (0,B、) ■なる命令
が必要になることがある。■の命令は、手続区画PDi
の先頭番地をベース・レジスタBrにロードせよという
命令であり、■の命令は分岐条件mが成立したときベー
ス・レジスタBrの内容にディスプレイスメントDを加
算した番地に分岐せよという命令である。■の手続区画
の先頭番地をロードする命令は、同じ手続区画への分岐
が続くうちは最初の一度だけで足りる。しかし、手続区
画の境界近くでは別の手続区画内への分岐と現在の手続
区画内への分岐とが入り混じり、■のロード命令を必要
とする頻度が高くなる。特に、手続区画の境界がループ
の中に存在する場合には、実行回数が多い部分なので、
その影響は大きい。
ループが1個の手続区画の中に入ってしまえば、■のロ
ード命令を可成り減らすことが出来、効率の良いオブジ
ェクト・モジュールを作成することが出来る。手続き部
における手続区画の数が少なく手続区画のサイズが大き
い程、■のロード命令を必要としなくなる。
ード命令を可成り減らすことが出来、効率の良いオブジ
ェクト・モジュールを作成することが出来る。手続き部
における手続区画の数が少なく手続区画のサイズが大き
い程、■のロード命令を必要としなくなる。
本発明は、上記の考察に基づくも、のであって、分岐に
際してロード命令の実行頻度が少なくなるようなオブジ
ェクト・モジュールを作成できるようにした手続区画サ
イズの決定方式を提供することを目的としている。
際してロード命令の実行頻度が少なくなるようなオブジ
ェクト・モジュールを作成できるようにした手続区画サ
イズの決定方式を提供することを目的としている。
そしてそのため、本発明の手続区画サイズの決定方式は
、手続き部が複数の手続区画に分割されているオブジェ
クト・モジュールを生成するコンパイラにおいて、レジ
スタ割付処理において手続区画を定義するために使用さ
れるレジスタの個数nを定め、定められた個数nに従っ
て手続区画のサイズを決定するようにしたことを特徴と
するものである。
、手続き部が複数の手続区画に分割されているオブジェ
クト・モジュールを生成するコンパイラにおいて、レジ
スタ割付処理において手続区画を定義するために使用さ
れるレジスタの個数nを定め、定められた個数nに従っ
て手続区画のサイズを決定するようにしたことを特徴と
するものである。
要約すると、本発明は、手続区画のサイズを大きくして
、オブジェクト・モジュールの実行性能の向上を図るよ
うにしたものである。本発明においては、手続き部2を
4にパイ)Xn (nは分岐レジスタの個数)ごとに手
続区画に分割し、手続区画の先頭番地、先頭番地+40
96.・・・、先頭番地+4096X (n −1)を
各手続区画について定義する0分岐命令に対して分岐先
を含む上記番地群をロードして、これからの変位で分岐
する。このための命令は、 LM Br、 BIm+ −A 、(P D i
) ■BCm、D (L Bs )
■である。なお、LMはLoad Multiple命
令を示す。
、オブジェクト・モジュールの実行性能の向上を図るよ
うにしたものである。本発明においては、手続き部2を
4にパイ)Xn (nは分岐レジスタの個数)ごとに手
続区画に分割し、手続区画の先頭番地、先頭番地+40
96.・・・、先頭番地+4096X (n −1)を
各手続区画について定義する0分岐命令に対して分岐先
を含む上記番地群をロードして、これからの変位で分岐
する。このための命令は、 LM Br、 BIm+ −A 、(P D i
) ■BCm、D (L Bs )
■である。なお、LMはLoad Multiple命
令を示す。
第1図は本発明における分岐と従来技術における分岐と
を説明するものである。第1図(イ)は本発明による分
岐を説明するものであって、手続き部2は8にバイトの
大きさを有しており、これが1個の手続区画とされてい
る。第f、番地ないし第1 +40’95番地内の番地
に分岐する場合には、例えばレジスタ9と10に11と
1. +4096をロードとするLM命令を発行し、次
いでレジスタ9をベースとするBC命令を発行すれば良
い、第2゜+ 4096番地ないし第i+ +8191
番地内の番地に分岐する場合にはLM命令を再度実行す
ることは不要であり、レジスタ10をベースとするBC
命令を発行すればよい。第1図(ロ)は従来技術による
分岐を説明するものであり、手続き部2は手続区画PD
I’とPD2’に分割されている。なお、手続区画PD
I’とPD2’は、それぞれ4にバイトの大きさを持つ
0手続区画PD2’の番地に分岐する場合には、it
+4196をレジスタにロードするためのロード命令り
を発行し、次いで、このレジスタをベースとするBC命
令を発行する必要がある。このように、手続き部2を分
割する手続区画の数を少なくし、手続区画のサイズを大
きくすると、ロード命令の実行回数を減らすことが出来
る。
を説明するものである。第1図(イ)は本発明による分
岐を説明するものであって、手続き部2は8にバイトの
大きさを有しており、これが1個の手続区画とされてい
る。第f、番地ないし第1 +40’95番地内の番地
に分岐する場合には、例えばレジスタ9と10に11と
1. +4096をロードとするLM命令を発行し、次
いでレジスタ9をベースとするBC命令を発行すれば良
い、第2゜+ 4096番地ないし第i+ +8191
番地内の番地に分岐する場合にはLM命令を再度実行す
ることは不要であり、レジスタ10をベースとするBC
命令を発行すればよい。第1図(ロ)は従来技術による
分岐を説明するものであり、手続き部2は手続区画PD
I’とPD2’に分割されている。なお、手続区画PD
I’とPD2’は、それぞれ4にバイトの大きさを持つ
0手続区画PD2’の番地に分岐する場合には、it
+4196をレジスタにロードするためのロード命令り
を発行し、次いで、このレジスタをベースとするBC命
令を発行する必要がある。このように、手続き部2を分
割する手続区画の数を少なくし、手続区画のサイズを大
きくすると、ロード命令の実行回数を減らすことが出来
る。
第2図はコンパイラの概要を示す図である。コンパイラ
は、ソース・プログラムの入力、構文解析、意味付け、
最適化、レジスタ割付及びオブジェクト生成という処理
を行う0本発明は第2図のレジスタ割付処理及びオブジ
ェクト生成処理に関係するものである。
は、ソース・プログラムの入力、構文解析、意味付け、
最適化、レジスタ割付及びオブジェクト生成という処理
を行う0本発明は第2図のレジスタ割付処理及びオブジ
ェクト生成処理に関係するものである。
第3図は本発明を実施するための装置の機能ブロック図
である。第3図において、3はレジスタ割付装置、4は
PDサイズ決定装置、5はオブジェクト生成装置、6は
PD分割装置、7は分岐命令生成装置をそれぞれ示して
いる。なお、PDは手続区画を意味している。従来技術
においては、レジスタ割付装置3とオブジェクト生成装
置5との間にはPDサイズ決定装置4が存在しなかった
し、分岐レジスタの個数は常に1であったが、本発明で
はこれら装置3と5との間にPDサイズ決定装置4を設
け、レジスタ割付装置3が分岐レジスタの個数をきめて
いる。手続区画のサイズは4にバイト×nで求められる
。nの値はレジスタ割付装置3が決めるので、このnの
値からPDサイズ決定装置4が手続区画サイズを求める
。オブジェクト生成装置5が機械語命令を生成する。P
D分割装W6は手続き部2が手続区画サイズに達したか
否かを調べ、達していれば手続き部2を分割する。nの
値は翻訳するプログラムごとに可変であるので、手続区
画サイズも可変である。
である。第3図において、3はレジスタ割付装置、4は
PDサイズ決定装置、5はオブジェクト生成装置、6は
PD分割装置、7は分岐命令生成装置をそれぞれ示して
いる。なお、PDは手続区画を意味している。従来技術
においては、レジスタ割付装置3とオブジェクト生成装
置5との間にはPDサイズ決定装置4が存在しなかった
し、分岐レジスタの個数は常に1であったが、本発明で
はこれら装置3と5との間にPDサイズ決定装置4を設
け、レジスタ割付装置3が分岐レジスタの個数をきめて
いる。手続区画のサイズは4にバイト×nで求められる
。nの値はレジスタ割付装置3が決めるので、このnの
値からPDサイズ決定装置4が手続区画サイズを求める
。オブジェクト生成装置5が機械語命令を生成する。P
D分割装W6は手続き部2が手続区画サイズに達したか
否かを調べ、達していれば手続き部2を分割する。nの
値は翻訳するプログラムごとに可変であるので、手続区
画サイズも可変である。
以上の説明から明らかなように、本発明によれば、翻訳
するソース・プログラムの性質(データの量など)に応
じた分岐の最適化が行われ、実行性能のよいトブジェク
ト・モジュールを作成できる。
するソース・プログラムの性質(データの量など)に応
じた分岐の最適化が行われ、実行性能のよいトブジェク
ト・モジュールを作成できる。
第1図は本発明における分岐と従来技術における分岐を
説明する図、第2図はコンパイラの概要を示す図、第3
図は本発明を実施するための装置の機能ブロック図、第
4図はオブジェクト・モジュールの構成を示す図である
。 1・・・データ部、2・・・手続き部、3・・・レジス
タ割付装置、4・・・PDサイズ決定装置、5・・・オ
ブジェクト生成装置、6・・・PD分割装置、7・・・
分岐命令生成装置、OM・・・オブジェクト・モジュー
ル、PDT・・・手続区画テーブル、PDIないしPD
3・・・手続区画。
説明する図、第2図はコンパイラの概要を示す図、第3
図は本発明を実施するための装置の機能ブロック図、第
4図はオブジェクト・モジュールの構成を示す図である
。 1・・・データ部、2・・・手続き部、3・・・レジス
タ割付装置、4・・・PDサイズ決定装置、5・・・オ
ブジェクト生成装置、6・・・PD分割装置、7・・・
分岐命令生成装置、OM・・・オブジェクト・モジュー
ル、PDT・・・手続区画テーブル、PDIないしPD
3・・・手続区画。
Claims (1)
- 手続き部が複数の手続区画に分割されているオブジェク
ト・モジュールを生成するコンパイラにおいて、レジス
タ割付処理において手続区画を定義するために使用され
るレジスタの個数nを定め、定められた個数nに従って
手続区画のサイズを決定するようにしたことを特徴とす
る手続区画サイズの決定方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17811484A JPS6155739A (ja) | 1984-08-27 | 1984-08-27 | 手続区画サイズの決定方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17811484A JPS6155739A (ja) | 1984-08-27 | 1984-08-27 | 手続区画サイズの決定方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6155739A true JPS6155739A (ja) | 1986-03-20 |
Family
ID=16042900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17811484A Pending JPS6155739A (ja) | 1984-08-27 | 1984-08-27 | 手続区画サイズの決定方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6155739A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04213118A (ja) * | 1990-12-07 | 1992-08-04 | Fuji Xerox Co Ltd | プログラム翻訳装置およびプログラム翻訳方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5852752A (ja) * | 1981-09-24 | 1983-03-29 | Fujitsu Ltd | セクション決定方式 |
-
1984
- 1984-08-27 JP JP17811484A patent/JPS6155739A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5852752A (ja) * | 1981-09-24 | 1983-03-29 | Fujitsu Ltd | セクション決定方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04213118A (ja) * | 1990-12-07 | 1992-08-04 | Fuji Xerox Co Ltd | プログラム翻訳装置およびプログラム翻訳方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630273B (zh) | 一种电力系统小干扰稳定仿真方法 | |
CN108416433B (zh) | 一种基于异步事件的神经网络异构加速方法和系统 | |
US4876646A (en) | Data processor having multilevel address translation tables | |
JP2513024B2 (ja) | 拡張記憶アドレス制御方式 | |
CN110659278A (zh) | 基于cpu-gpu异构架构的图数据分布式处理系统 | |
JPS6155739A (ja) | 手続区画サイズの決定方式 | |
Jansen et al. | Parallel branch-and-bound algorithms | |
JPS5826584B2 (ja) | デ−タ処理装置 | |
Coelho et al. | A hybrid cpu-gpu local search heuristic for the unrelated parallel machine scheduling problem | |
CN104978345B (zh) | 一种基于MapReduce的数据处理方法和装置 | |
JPS6182241A (ja) | 手続区画の分割方式 | |
CN112887319B (zh) | 一种基于下行流量的网络状态监控方法、装置和电子设备 | |
JP2527038B2 (ja) | 拡張記憶転送制御方式 | |
JP2591212B2 (ja) | 高速割込み処理装置 | |
CN113612415A (zh) | 一种电机控制方法、装置、存储介质及控制系统 | |
JP3625878B2 (ja) | コンパイラによるスタック領域割り付け方法 | |
JPS6023378B2 (ja) | 情報処理装置 | |
JPH04211858A (ja) | データフローグラフ分割装置及び分割方法 | |
CN117578582A (zh) | 一种并网变换器同步稳定性分析方法及系统 | |
JPS58163046A (ja) | 情報処理装置 | |
CN117170742A (zh) | 寄存器的处理方法、装置、电子设备及存储介质 | |
Bartlett | The HP 3000 computer system | |
JPH04286031A (ja) | プログラムのループ並列実行処理方法 | |
CN118349214A (zh) | 一种随机数生成方法及装置 | |
Schneck | SUPERLINEAR SPEED‐UP AND THE HALTING PROBLEM |