JPS6065339A - プログラム配置装置 - Google Patents
プログラム配置装置Info
- Publication number
- JPS6065339A JPS6065339A JP58173798A JP17379883A JPS6065339A JP S6065339 A JPS6065339 A JP S6065339A JP 58173798 A JP58173798 A JP 58173798A JP 17379883 A JP17379883 A JP 17379883A JP S6065339 A JPS6065339 A JP S6065339A
- Authority
- JP
- Japan
- Prior art keywords
- program
- assembler source
- placement
- assembler
- programs
- 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.)
- Granted
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
この発明はページメモリ方式を有するマイクロコンピュ
ータにおけるメモリ領域へのプログラム配置を行うプロ
グラム配置装置に閂するものである。
ータにおけるメモリ領域へのプログラム配置を行うプロ
グラム配置装置に閂するものである。
従来例の溝成とその問題点
ページメモリ方式ヲ有するマイクロコンピュータでは、
プログラムメモリ空間を複数個のページと呼ばれるメモ
リ領域に分割してかv、命令の中には同一ページ内に分
岐先が存在しなければならない分岐命令や、同一ページ
内に被参照データが存在しなければならないデータ参照
命令など、べ−ジ境界の考慮を必留とする命令が存在す
る。前記ページ境界の考慮の必要な命令が混在する1個
以上のアセンブラソースプログラムの配置を決定する場
合、従来VC訃いては、人間がプログラ配置イズ。酎置
場所を陽に指定したプログラムに関する配置アドレス情
報等をみて決定しなければならなかった。特に、与えら
れたアセンブラソースプログラムのままではメモリ空間
への配置が不可能となった場合には、人間の手f@業で
前記ページ境界の考慮を行ないながら、アセンブラソー
スプログラムの分割を行なわなければならず、プログラ
ム配置のために多大の労力と時間を要するという問題が
あった。
プログラムメモリ空間を複数個のページと呼ばれるメモ
リ領域に分割してかv、命令の中には同一ページ内に分
岐先が存在しなければならない分岐命令や、同一ページ
内に被参照データが存在しなければならないデータ参照
命令など、べ−ジ境界の考慮を必留とする命令が存在す
る。前記ページ境界の考慮の必要な命令が混在する1個
以上のアセンブラソースプログラムの配置を決定する場
合、従来VC訃いては、人間がプログラ配置イズ。酎置
場所を陽に指定したプログラムに関する配置アドレス情
報等をみて決定しなければならなかった。特に、与えら
れたアセンブラソースプログラムのままではメモリ空間
への配置が不可能となった場合には、人間の手f@業で
前記ページ境界の考慮を行ないながら、アセンブラソー
スプログラムの分割を行なわなければならず、プログラ
ム配置のために多大の労力と時間を要するという問題が
あった。
発明の目的
この発明は・上記従来の問題を解消するものでろ!り、
1flY以上のアセンブラソースプログラムヲ入力とし
て、人手を介することなくプログラム配置を自動的に行
うことができ、リンクに必要なリンク情報とアセンブル
後リンクの対象となるアセンブラソースプログラムを出
力することができるプログラム配置装置を提供すること
を目的とする。
1flY以上のアセンブラソースプログラムヲ入力とし
て、人手を介することなくプログラム配置を自動的に行
うことができ、リンクに必要なリンク情報とアセンブル
後リンクの対象となるアセンブラソースプログラムを出
力することができるプログラム配置装置を提供すること
を目的とする。
発明の梠成
この発明のプログラム配置装置は、複数個のメモリ領域
に分割されたプログラムメモリ空間1c1個以上のアセ
ンブラソースプログラムを配置するプログラム配置装置
であって、1個以上のアセンブラソースプログラムが与
えられたときに、各アセンブラソースの中で陽に指定さ
れた絶対10グヲム部分と相対プログラム部分の分割と
1分割された各部分のアセンブラソースプログラムの出
力と6分割後のアセンブラソース10グフムのサイズ情
報の出力と、絶対プログラムに関する配置情報の出力と
を行なうアセンブラソース読込み手段と、前記アセンブ
ラソース読込み手段によって得られるアセンブラソース
プログラムの情報に基づキ、各アセンブヲソースプログ
ラムのメモリ領域への配置可能性を判別し、配置可能な
アセンブラソースプログラムに対してはリンクのための
配置情報とそのア七ンブラソースデログフムトヲ出カす
るプログツム配置決定手段と、配置可能性判断416に
基づき配置不可能なアセンブラソースプログラムに対し
て分割を行ない1分割後のアセンブラソースプログラム
を出力して再度前記配置可能性の判別への入力にするプ
ログラム分割手段とを備えるもので、自動的にプログラ
ムの配@を決定することができるものである。
に分割されたプログラムメモリ空間1c1個以上のアセ
ンブラソースプログラムを配置するプログラム配置装置
であって、1個以上のアセンブラソースプログラムが与
えられたときに、各アセンブラソースの中で陽に指定さ
れた絶対10グヲム部分と相対プログラム部分の分割と
1分割された各部分のアセンブラソースプログラムの出
力と6分割後のアセンブラソース10グフムのサイズ情
報の出力と、絶対プログラムに関する配置情報の出力と
を行なうアセンブラソース読込み手段と、前記アセンブ
ラソース読込み手段によって得られるアセンブラソース
プログラムの情報に基づキ、各アセンブヲソースプログ
ラムのメモリ領域への配置可能性を判別し、配置可能な
アセンブラソースプログラムに対してはリンクのための
配置情報とそのア七ンブラソースデログフムトヲ出カす
るプログツム配置決定手段と、配置可能性判断416に
基づき配置不可能なアセンブラソースプログラムに対し
て分割を行ない1分割後のアセンブラソースプログラム
を出力して再度前記配置可能性の判別への入力にするプ
ログラム分割手段とを備えるもので、自動的にプログラ
ムの配@を決定することができるものである。
実施例の説明
以下、この発明の一実施例を図面にもとすいて説明する
1図面に示す11〜ILは入力となるアセンブラソース
プログラムである。これらのアセンブラソースプログラ
ム11〜ILは、配置アドレスを指定した絶対プログラ
ムあるいは配置アドレスの指定のない相対プログラムあ
るいはこれら2種のプログラムの混在したプログラムで
ある。
1図面に示す11〜ILは入力となるアセンブラソース
プログラムである。これらのアセンブラソースプログラ
ム11〜ILは、配置アドレスを指定した絶対プログラ
ムあるいは配置アドレスの指定のない相対プログラムあ
るいはこれら2種のプログラムの混在したプログラムで
ある。
図面に符号2で示すアセンブラソースプログラム読込み
部は、上記アセンブラソースプログラム11〜ILを入
力して、絶対プログラムだけから成るプログラムの場合
にはプログラムサイズと指定配置アドレスと絶対プログ
ラムである旨の情報を添えてアセンブラソースプログラ
ムを出力する、また、相対プログツムだけから成るプロ
グラムの場合にはプログラムサイズと相対プログラムで
ある旨のtW ffl ヲ添えてアセンブラソースプロ
グラムを出力する。一方、前述20のプログラムが混在
している場合には、絶対プログラムと相対フ゛ログヲム
とに分割し、絶対プログラム部分にはプログラムサイズ
と指定配置アドレスと絶対プログラムである旨の情報分
添え、相対プログラム部分にはプログラムサイズと相対
プログツムである旨の情報ヲ添えて、アセンブラソース
プログラムを出力する。図面の31〜3Mは絶対プログ
ラムの7七ンブヲソースブログヲムであり、プログラム
サイズ。
部は、上記アセンブラソースプログラム11〜ILを入
力して、絶対プログラムだけから成るプログラムの場合
にはプログラムサイズと指定配置アドレスと絶対プログ
ラムである旨の情報を添えてアセンブラソースプログラ
ムを出力する、また、相対プログツムだけから成るプロ
グラムの場合にはプログラムサイズと相対プログラムで
ある旨のtW ffl ヲ添えてアセンブラソースプロ
グラムを出力する。一方、前述20のプログラムが混在
している場合には、絶対プログラムと相対フ゛ログヲム
とに分割し、絶対プログラム部分にはプログラムサイズ
と指定配置アドレスと絶対プログラムである旨の情報分
添え、相対プログラム部分にはプログラムサイズと相対
プログツムである旨の情報ヲ添えて、アセンブラソース
プログラムを出力する。図面の31〜3Mは絶対プログ
ラムの7七ンブヲソースブログヲムであり、プログラム
サイズ。
指定配置アドレス訃よび絶対プログラムである旨を示す
情報が付加されている。41〜4Nは相対プログラムの
アセンブヲンースプログヲJ1でろV。
情報が付加されている。41〜4Nは相対プログラムの
アセンブヲンースプログヲJ1でろV。
プログラムサイズおよび相対プログラムである旨を示す
情報が付加されている。
情報が付加されている。
図面の5tiアセンブラソーヌプログワムR込み部2か
ら出力されたアセンブラソースプログラム31〜3M、
41〜4Nあるいけ後述するアセンフッソース分割部6
からの出力アセンブラソースプログラム71〜7Jを入
力として、アセンブラソースプログラムの配置を決定し
、リンクに必要ナリンク(Li2とアセンブラソースプ
ログラム91〜9Kを出力する10グヲム配置決定部で
ある・このプログラム配置決定部5の中の処理51では
、まず絶対プログラムのアセンブラソースプログラム3
1〜3Mを読込んで、配置管理テープ/1152に指定
配置アドレスとそのサイズを登録する。この登録後、相
対プログツムの配置可能な領域が配置管理テーブル52
を調べることにより決定でSル、以降、相対プログラム
のアセンブラソースプログラム41〜4Nあるいはアセ
ンブラソース分割部6からの出力アセンブラソースプロ
グラム71〜7Jを順に6置していく1余に、配置管理
テープIV 52を調べ、最大の空きメモリ領域をもっ
ページに対して、未配置の相対プログラムの中で最大の
相対プログラムを割付けて配置するアルゴリズムを適用
する0判定53は処理51により配置の対象となった相
対プログラムがメモリ領域に配置できたかの判定であり
、配置可能であった場合、処理54において配置管理テ
ープ/L152に配置アドレスとプログラムサイズとを
登録する。この段階で配置の対象となった相対プログラ
ムは配置済となる0判定55では全てのアセンブラソー
スの配置が完了したかの確認を行ない、完了していない
場合には、再び処理51へ戻る。全てのアセンブラソー
スの配置が完了した場合、処理56で配置%F理テープ
fv521C基づいてリンクに必要なリンク4T[8と
アセンブラソースプログラム91〜9Kを出力する。ア
センブラソースプログラム91〜9には、アセンブラ1
00の入力となり、アセンブラの出力とリンク情報8と
がリンク110へ与えられて、実際のメモリ上にのせら
れる目的プログラム120が得られる、 判定53で配置が不可能であった場合、判定57で空き
メモリ領域の有無を確認する。空きメモリ領域がない場
合には、空きメモリがなくなった旨を知らせるエラーメ
ツセージを出力して配置処理を終了する。空きメモリ領
域が存在する場合は、配置対象のアセンブラソースプロ
グラムの5[f1行なうために、アセンブラソースプロ
グラム分割部6にそのアセンブラソースプログラム61
’e与えてアセンブラソースプログラムの分割を実行す
る。
ら出力されたアセンブラソースプログラム31〜3M、
41〜4Nあるいけ後述するアセンフッソース分割部6
からの出力アセンブラソースプログラム71〜7Jを入
力として、アセンブラソースプログラムの配置を決定し
、リンクに必要ナリンク(Li2とアセンブラソースプ
ログラム91〜9Kを出力する10グヲム配置決定部で
ある・このプログラム配置決定部5の中の処理51では
、まず絶対プログラムのアセンブラソースプログラム3
1〜3Mを読込んで、配置管理テープ/1152に指定
配置アドレスとそのサイズを登録する。この登録後、相
対プログツムの配置可能な領域が配置管理テーブル52
を調べることにより決定でSル、以降、相対プログラム
のアセンブラソースプログラム41〜4Nあるいはアセ
ンブラソース分割部6からの出力アセンブラソースプロ
グラム71〜7Jを順に6置していく1余に、配置管理
テープIV 52を調べ、最大の空きメモリ領域をもっ
ページに対して、未配置の相対プログラムの中で最大の
相対プログラムを割付けて配置するアルゴリズムを適用
する0判定53は処理51により配置の対象となった相
対プログラムがメモリ領域に配置できたかの判定であり
、配置可能であった場合、処理54において配置管理テ
ープ/L152に配置アドレスとプログラムサイズとを
登録する。この段階で配置の対象となった相対プログラ
ムは配置済となる0判定55では全てのアセンブラソー
スの配置が完了したかの確認を行ない、完了していない
場合には、再び処理51へ戻る。全てのアセンブラソー
スの配置が完了した場合、処理56で配置%F理テープ
fv521C基づいてリンクに必要なリンク4T[8と
アセンブラソースプログラム91〜9Kを出力する。ア
センブラソースプログラム91〜9には、アセンブラ1
00の入力となり、アセンブラの出力とリンク情報8と
がリンク110へ与えられて、実際のメモリ上にのせら
れる目的プログラム120が得られる、 判定53で配置が不可能であった場合、判定57で空き
メモリ領域の有無を確認する。空きメモリ領域がない場
合には、空きメモリがなくなった旨を知らせるエラーメ
ツセージを出力して配置処理を終了する。空きメモリ領
域が存在する場合は、配置対象のアセンブラソースプロ
グラムの5[f1行なうために、アセンブラソースプロ
グラム分割部6にそのアセンブラソースプログラム61
’e与えてアセンブラソースプログラムの分割を実行す
る。
アセンブラソースプログラム分割部6は、相対アセンブ
ラソースプログラム61を入力としてプログラムを2以
上に分割するもので、分割数および分割の大きさはソー
スプログラムに依存する。
ラソースプログラム61を入力としてプログラムを2以
上に分割するもので、分割数および分割の大きさはソー
スプログラムに依存する。
また、可能な限りの分割を行なうのではなく、プログラ
ム配置処理に有効な分割を採る。この分割において、ペ
ージメモリ方式をもつマイクロコンビーータでは、同一
ページ内に被参照データカ存在しなければならないデー
タ参照命令や同一べ一ジ内に分岐先が存在しなければな
らない分岐命令などがあり、同一ページ内データ参照命
令とデータとの間や同一ページ内分岐命令と分岐先との
間は分割不可能区間となる。これら分割不可能区間の調
査を行なって分割可能区間を抽出し、プログラム配置処
理に有効な分割を採る0分割を行なった場合、後処理が
必要となる1例えば2分割の場合eこは、先に実行され
る部分から後に実行される部分へのページ外無条件分岐
命令が必9となり、後に実行される部分が終了した場合
にも元へ戻すベージ外無条件分岐命令が必要となる。ま
た、分岐先を示すラベルも必要となる。これらの処理を
行なって、相対プログラムのアセンブラソースプログラ
ム71〜7Jが出方される。相対プログラムである旨を
示す情報とプログラムサイズもイー1加されている。
ム配置処理に有効な分割を採る。この分割において、ペ
ージメモリ方式をもつマイクロコンビーータでは、同一
ページ内に被参照データカ存在しなければならないデー
タ参照命令や同一べ一ジ内に分岐先が存在しなければな
らない分岐命令などがあり、同一ページ内データ参照命
令とデータとの間や同一ページ内分岐命令と分岐先との
間は分割不可能区間となる。これら分割不可能区間の調
査を行なって分割可能区間を抽出し、プログラム配置処
理に有効な分割を採る0分割を行なった場合、後処理が
必要となる1例えば2分割の場合eこは、先に実行され
る部分から後に実行される部分へのページ外無条件分岐
命令が必9となり、後に実行される部分が終了した場合
にも元へ戻すベージ外無条件分岐命令が必要となる。ま
た、分岐先を示すラベルも必要となる。これらの処理を
行なって、相対プログラムのアセンブラソースプログラ
ム71〜7Jが出方される。相対プログラムである旨を
示す情報とプログラムサイズもイー1加されている。
もし、上記分割が不可能であった場合、アセンブラソー
スプログラム分割部6は、プログラム配置決定部5に対
し、相対プログラムの配置決定の再実行?:甥求する。
スプログラム分割部6は、プログラム配置決定部5に対
し、相対プログラムの配置決定の再実行?:甥求する。
この要求により、プログラムIS!置決定部5は、配置
対象プログ′クムの評価順を変更して再度配置処理を行
なう、また、上記分割が不可能で、かつ絶対プログラム
I!il装置直後の配置管理テーブルの中で最大の空き
メモリ領域をもつページの大きさよりも大きなプログラ
ムサイズをもつ場合には、配置不可能を知らせる旨のエ
ラーメーノセージを出力して配置処理を終了する。
対象プログ′クムの評価順を変更して再度配置処理を行
なう、また、上記分割が不可能で、かつ絶対プログラム
I!il装置直後の配置管理テーブルの中で最大の空き
メモリ領域をもつページの大きさよりも大きなプログラ
ムサイズをもつ場合には、配置不可能を知らせる旨のエ
ラーメーノセージを出力して配置処理を終了する。
発明の効果
この発明のプログラム配置装置は、複数個のメモリ領域
に分割されたプログラムメモリ空n’iIIに1個以上
のアセンブラソースプログラムを配置するプログラム配
置装置であって、プログラムの配置の決定されていない
1個以上のアセンブラソースプログラムを入力とするア
センプヲソースデログヲム読込み部と、アセンブラソー
スプログラム読込み部の出力する情報に基づいてアセン
ブラソースプログラムの配置を決めるプログラム配置決
定部と、I必要があれはアセンブラソースプログラムを
分割してプログラム配置を容易にするプログラム分割部
とを備えたものであるから、プログラムの配置を人間の
手をかりることなく行なうことができ、リンクに必要な
リンク情報とアセングル後リンクの対iとなるアセンブ
ラソースプログラムを出力することができ、非常vc便
利なものである。
に分割されたプログラムメモリ空n’iIIに1個以上
のアセンブラソースプログラムを配置するプログラム配
置装置であって、プログラムの配置の決定されていない
1個以上のアセンブラソースプログラムを入力とするア
センプヲソースデログヲム読込み部と、アセンブラソー
スプログラム読込み部の出力する情報に基づいてアセン
ブラソースプログラムの配置を決めるプログラム配置決
定部と、I必要があれはアセンブラソースプログラムを
分割してプログラム配置を容易にするプログラム分割部
とを備えたものであるから、プログラムの配置を人間の
手をかりることなく行なうことができ、リンクに必要な
リンク情報とアセングル後リンクの対iとなるアセンブ
ラソースプログラムを出力することができ、非常vc便
利なものである。
図面はこの発明の一実施例を示すプログラム溝11〜I
L・・・入力アセンブラソースプログラム、2゛・・・
アセンブツンース読込み部、5・・・プロクー)ム配置
決定部、6・・・7′センブヲン一ス分割部、91〜9
K・・・出力アセンブラソースプログラム、8・・・出
力リンク情報
L・・・入力アセンブラソースプログラム、2゛・・・
アセンブツンース読込み部、5・・・プロクー)ム配置
決定部、6・・・7′センブヲン一ス分割部、91〜9
K・・・出力アセンブラソースプログラム、8・・・出
力リンク情報
Claims (1)
- 複数個のメモリ領域に分割されたプログラムメモリ空間
に1個以上のアセンブラソースプログラムを配置4する
プログラム配置;1装置であって、前記1個以とのアセ
ンブラソースプログラム全入力とし、各アセンブラソー
スプログラムの中での絶対ブログヲム部分および相対プ
ログラム部分の分割と分割後のアセンブラソースプログ
ラムの出力と分割後の各アセンブラソースプログラムの
プログラムサイズ情報と絶対プログラムの場合の配置ア
ドレス1青報の出力を行なうアセンブラソースプログラ
ム読込み手段と、前記アセンブラソースプログツム読込
み手段により出力されるアセンブラソースプログラムの
情報に基づき、各アセンブラソースプログラムのメモリ
領域への配置可能性を判別し、配置可能なアセンブラソ
ースプログラムに対してはリンクのための配置情報とそ
のアセンブラソースプログラムを出力するプログラム配
置胤決定手段と、配置可能性判別情報に基づき、配置不
可能なアセンブラソースプログラムに対してその分割を
行ない0分割後のアセンブラソースプログラムを出力し
て再度前記配置可能性の判別への入力にするプログラム
手段とを備えたプログラム配置装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58173798A JPS6065339A (ja) | 1983-09-19 | 1983-09-19 | プログラム配置装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58173798A JPS6065339A (ja) | 1983-09-19 | 1983-09-19 | プログラム配置装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6065339A true JPS6065339A (ja) | 1985-04-15 |
| JPH039490B2 JPH039490B2 (ja) | 1991-02-08 |
Family
ID=15967350
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58173798A Granted JPS6065339A (ja) | 1983-09-19 | 1983-09-19 | プログラム配置装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6065339A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017045134A (ja) * | 2015-08-24 | 2017-03-02 | 富士通株式会社 | 情報処理装置、コンパイル方法及びコンパイラ |
-
1983
- 1983-09-19 JP JP58173798A patent/JPS6065339A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017045134A (ja) * | 2015-08-24 | 2017-03-02 | 富士通株式会社 | 情報処理装置、コンパイル方法及びコンパイラ |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH039490B2 (ja) | 1991-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0342362B1 (en) | Virtual machine architecture independent program loader | |
| US20020161986A1 (en) | Instruction processing method for verifying basic instruction arrangement in VLIW instruction for variable length VLIW processor | |
| JPS6027964A (ja) | メモリアクセス制御回路 | |
| EP0889405A1 (en) | Software debugging method | |
| JPS6065339A (ja) | プログラム配置装置 | |
| JPH01118931A (ja) | プログラム変換方式 | |
| US5784605A (en) | Method for processing branch instructions between computer program modules | |
| JPS5826584B2 (ja) | デ−タ処理装置 | |
| US6961839B2 (en) | Generation of native code to enable page table access | |
| CN118295669B (zh) | 一种确定全局偏移表的方法、装置及电子设备 | |
| CN114564250B (zh) | 一种读取配置方法及装置 | |
| CN113535178B (zh) | 代码包的引用方法及装置 | |
| JP3304445B2 (ja) | プログラム生成処理装置 | |
| JPH02140825A (ja) | プログラムの再配置処理方法 | |
| JPS61165158A (ja) | 記憶装置のデ−タチエツク方式 | |
| JP2514023B2 (ja) | プログラマブル制御装置の制御方法 | |
| JPS62118636A (ja) | フアン数チエツク方法 | |
| JP2663600B2 (ja) | 制御表再配置処理方式 | |
| JPH0675757A (ja) | 仮想空間常駐プログラムのリンク方式 | |
| KR860000792B1 (ko) | 가상 기억 제어장치 | |
| JP3046126B2 (ja) | プログラムモジュールの呼び出し方式 | |
| JPH02130654A (ja) | コンピュータ装置 | |
| JPH03109642A (ja) | コンパイル装置 | |
| JPS6353573B2 (ja) | ||
| JPH04145536A (ja) | プログラム変換処理システムにおけるアドレス再配置処理方式 |