JPH04217032A - アドレス空間割り付け方式 - Google Patents

アドレス空間割り付け方式

Info

Publication number
JPH04217032A
JPH04217032A JP41134290A JP41134290A JPH04217032A JP H04217032 A JPH04217032 A JP H04217032A JP 41134290 A JP41134290 A JP 41134290A JP 41134290 A JP41134290 A JP 41134290A JP H04217032 A JPH04217032 A JP H04217032A
Authority
JP
Japan
Prior art keywords
data
external reference
overlay
allocated
address space
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
Application number
JP41134290A
Other languages
English (en)
Inventor
Shukuyu Kudo
工藤 淑裕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP41134290A priority Critical patent/JPH04217032A/ja
Publication of JPH04217032A publication Critical patent/JPH04217032A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子計算機システムに関
し、特にそのアドレス空間割り付け方式に関する。
【0002】
【従来の技術】従来の技術では、複数のフェーズを有し
、一つのフェーズでのみ局所的に利用され、他のフェー
ズでは利用されないような初期値なしデータを有するプ
ログラムをアドレス空間に割り付ける場合、前述のよう
なデータに対してもデータ毎に、一対一にアドレス空間
を割り付けるか、オーバレイ機能を有しているシステム
においては、前述のようなデータをアクセスするとき、
オーバレイローダでデータをロードすることにより、デ
ータにアクセスできるようにアドレス空間に割り付けて
いた。
【0003】
【発明が解決しようとする課題】前述した従来のアドレ
ス空間の割り付け方式では、一つのフェーズでのみ局所
的に利用され、他のフェーズでは利用されないような初
期値なしデータを割り付ける場合、データ毎に、一対一
にアドレス空間を割り付けるため、大きなアドレス空間
が必要になり、また、オーバレイ機能を利用した場合で
も、オーバレイローダによりロードが行われるため、オ
ーバレイのためのオーバーヘッドが生じるという課題が
ある。
【0004】
【課題を解決するための手段】本発明では、フェーズの
内部で局所的に使用される初期値なしデータを同一アド
レスに割り付けられるかどうかを判定するオーバレイ可
・不可判定手段と、前記手段によって判定されたデータ
を同一アドレス空間に割り付けるオーバレイ可能データ
割り付け手段をもつリンカを有している。
【0005】
【作用】本発明によれば、オーバレイ可・不可判定手段
により、同一アドレスに割り付け可能な初期値なしデー
タは、オーバレイ可能データ割り付け手段により同一ア
ドレスに割り付け、必要とするアドレス空間を小さくす
る。
【0006】
【実施例】次に本発明の実施例について図面を参照して
説明する。
【0007】最初に、本実施例の全体構成図について図
1を参照して説明する。(1−2)は、オーバレイ可・
不可判定手段(1−3)と、オーバレイ可能データ割り
付け手段(1−4)をもつリンカである。(1−1)は
、リンカに入力されるオブジェクト・モジュール群であ
る。(1−5)は、入力されたオブジェクト・モジュー
ル群(1−1)が、リンカ(1−2)によって、リンク
されて作成されたロード・モジュールである。
【0008】次に、外部参照の構成について第2図を参
照して説明する。(2−1)は、初期値なしデータの参
照解決時に利用される外部参照であり、従来の外部参照
情報(2−2)に加えて、フラグ(2−3)と、呼び出
しCU名(2−4)、属しているCU名(2−5)が付
加されている。(2−3)のフラグは、オーバレイ可・
不可判定手段によってセットされる。フラグ(2−3)
がONのときは、そのデータに対してはオーバレイ不可
(以後、データがロックされていると記述する)という
ことを示す。OFFの場合はそのデータに対して現在オ
ーバレイ可であることを示す。(2−4)の呼び出しC
U名には、この外部参照(2−1)が属しているオブジ
ェクト・モジュールをCALLしたオブジェクト・モジ
ュールの名前が、オーバレイ可・不可判定手段によって
セットされる。(2−5)の属しているCU名には、こ
の外部参照が属しているオブジェクト・モジュールの名
前が、オーバレイ可・不可判定手段によってセットされ
る。
【0009】次に、オーバレイ可・不可判定手段の処理
について、図3、4、5を参照して説明する。
【0010】図3のようなプログラム構成のオブジェク
ト・モジュール群がCU−A〜CU−Hがリンカに入力
されたとする。(3−1)は、主入口点をもち、名前が
CU−Aというオブジェクト・モジュールである。これ
は、CU−Bというオブジェクト・モジュール(3−2
)をCALLしている。CU−Bには、referAと
いう初期値なしデータAへの外部参照(3−3)がある
。CU−Bは、CU−Cというオブジェクト・モジュー
ル(3−4)をCALLしている。CU−Cには、初期
値なしデータB、Cへの外部参照(3−5)、(3−6
)がある。CU−D、・・・、CU−H、refer 
 D、・・・、refer  Fについても同様である
【0011】次に図3のような構成のオブジェクト・モ
ジュール群が入力された場合のオーバレイ可・不可判定
手段の処理について、図4を参照して説明する。
【0012】リンカが初期値なしデータの外部参照を検
出したとき、オーバレイ可・不可判定手段はその外部参
照を読み込む(4−1)。この場合はAへの外部参照が
読み込まれる。
【0013】次に、現在処理している外部参照の属して
いるオブジェクト・モジュールをCALLしたオブジェ
クト・モジュールの名前を外部参照の呼び出しCU名に
セットする。
【0014】次に、現在処理している外部参照の属して
いるオブジェクト・モジュールの名前を外部参照の属し
ているCU名にセットする(4−3)。この場合はCU
−Bがセットされる。
【0015】次に一時的に確保される外部参照のセーブ
エリアに現在処理している外部参照に対応するデータ(
この場合はA)への外部参照があるかどうかサーチする
(4−4)。この場合は、一番最初に読み込んだ外部参
照であるのでセーブエリアには外部参照はひとつも退避
されていない。よって、外部参照は見つからず(4−5
)、現在処理している外部参照をセーブエリアに退避す
る(4−7)。
【0016】複数の初期値無データへの外部参照を処理
した後で、同じデータへの外部参照がセーブエリア中で
見つかった場合は(4−5)、セーブエリア中の外部参
照のフラグをONにする(4−6)。
【0017】そして、現在処理している外部参照をセー
ブエリアに退避して(4−7)、次の初期値無データへ
の外部参照を検出するまで手段の処理を終了する。
【0018】以上のようにして、オブジェクト・モジュ
ール中の初期値無データへの外部参照をすべて読み終え
ると、図3のような構成のオブジェクト・モジュール群
をリンカに入力した場合、外部参照のセーブエリアは図
5のようになる。図5において、(5−1)、(5−2
)はデータA、Bへの外部参照である。データA、Bへ
の外部参照は2度以上検出されたため、フラグに1がセ
ットされている。
【0019】次に、オーバレイ可能データ割り付け手段
(1−4)の処理について、図5、6、7、8を参照し
て説明する。
【0020】オーバレイ可・不可判定手段(1−4)に
よって、図5のような外部参照のセーブエリアが作成さ
れたとする。
【0021】最初に、オーバレイ可能データ割り付け手
段(1−4)は、外部参照のセーブエリアから外部参照
を読み込む(6−1)。この場合は、(5−1)のデー
タAへの外部参照を読み込む。
【0022】ここで、セーブエリアの外部参照をすべて
読み込んだかどうかチェックする(6−2)。すべて読
み込んでいた場合はこの手段の処理を終了する(6−3
)。
【0023】そうでない場合は、現在処理している外部
参照に対応するデータへの外部参照を以前処理したかど
うかチェックする(6−4)。この場合、先頭の外部参
照であるためNOである。
【0024】次に、前回割り付けたデータに対応する外
部参照の属しているCU名と現在処理している外部参照
の呼び出しCU名が一致しているかどうかチェックする
(6−5)。この場合は、先頭の外部参照であるため、
割り付けたデータがないので呼び出しCU名は一致して
いないとみなしNOとする。
【0025】次に、前回割り付けたデータに対応する外
部参照の属しているCU名と現在処理している外部参照
の属しているCU名が一致しているかどうかチェックす
る(6−6)。この場合は、先頭の外部参照であるため
、割り付けたデータがないので属しているCU名は一致
していないとみなしNOとする。
【0026】ここで、これまで処理した外部参照で現在
処理している外部参照の呼び出しCU名と同じ名前の属
しているCU名をもつ外部参照に対応するデータのうち
、一番後ろに割り付けられたデータの後ろに、現在処理
している外部参照に対応するデータの割り付けアドレス
を決定する。該当するデータがない場合はオーバレイ領
域の先頭とする(6−7)。
【0027】次に、データの割り付けられるアドレスが
ロックのかかっているデータのうち一番後ろのものより
前かどうかチェックする(6−9)。この場合は、先頭
の外部参照であるため、割り付けたデータがないのでN
Oである。
【0028】前だった場合は、このデータを割り付ける
アドレスをロックのかかっているデータのうちで一番後
ろにあるデータのすぐ後ろのアドレスに変更する(6−
10)。
【0029】次に、現在処理している外部参照のフラグ
がOFFかどうかチェックする(6−11)。
【0030】フラグがONになっている場合、割り付け
たデータのすぐ後ろのアドレスを記憶し、そのアドレス
より前にはデータが割り付けられないようにすることで
データにロックをかける(6−13)。この場合、デー
タAにロックがかけられる。
【0031】そして、次の外部参照(5−2)を処理す
る。(5−2)のデータBへの外部参照を処理した場合
、前回割り付けたデータへの外部参照の属しているCU
名と今回処理している外部参照の呼び出しCU名が一致
しているため(6−5)、処理中の外部参照に対応する
データの割り付けアドレスを前回割り付けたデータのす
ぐ後ろにする(6−8)。
【0032】次に決定した割り付けアドレスがロックの
かかっているデータより前かどうかチェックし(6−9
)、この場合前ではないので割り付けアドレスはこのま
まにする。
【0033】次に外部参照のフラグをチェックし(6−
11)、データBにロックをかける(6−13)。
【0034】次に、5−3のデータCへの外部参照を処
理する。この場合、前回割り付けたデータに対応する外
部参照の属しているCU名と現在処理している外部参照
の属しているCU名が同じなので(6−6)、処理中の
外部参照に対応するデータの割り付けアドレスを前回割
り付けたデータのすぐ後ろにする(6−8)。
【0035】次に決定した割り付けアドレスがロックの
かかっているデータより前かどうかチェックし(6−9
)、この場合、前ではないので割り付けアドレスはこの
ままにする。
【0036】次に外部参照のフラグをチェックし(6−
11)、この場合フラグはONなので、データにロック
をかけ(6−13)、次の外部参照を処理する。
【0037】次に(5−4)のデータBへの外部参照を
処理する。データBへの外部参照は以前処理しているの
で(6−4)、以前データBを割り付けたアドレスをそ
のまま利用する。
【0038】そして、外部参照のフラグをチェックし(
6−11)、フラグがONなのでデータBのロックはか
かったままにし(6−13)、次の外部参照を処理する
【0039】次に、(5−5)のデータBへの外部参照
を処理する。データBへの外部参照は以前処理している
ので(6−4)、以前データBを割り付けたアドレスを
そのまま利用する。そして、外部参照のフラグをチェッ
クし(6−11)、フラグがOFFなのでデータBのロ
ックをはずし(6−12)、次の外部参照を処理する。
【0040】次に(5−6)の外部参照を処理する。こ
れは、前述のBへの外部参照と同じように処理される。
【0041】次に、(5−7)のDへの外部参照が処理
される。Dへの外部参照は、(6−4)、(6−5)、
(6−6)ともNOであるので、これまで処理した外部
参照で現在処理している外部参照の呼び出しCU名と同
じ名前の属しているCU名をもつ外部参照に対応するデ
ータのうち、一番後ろに割り付けられたデータの後ろに
割り付けアドレスが決定される(6−7)。この場合は
、データBの後ろとなる。
【0042】以上のようにして、セーブエリアの外部参
照をすべて処理し、データをオーバレイ領域に割り付け
た結果が図8である。(7−1)は、データAの割り付
けられた領域で、(7−2)はデータBの割り付けられ
た領域である。(7−3)は、データEの割り付けられ
た領域で、その先頭はデータBの割り付けられた領域の
先頭のアドレスと等しい。
【0043】
【発明の効果】以上述べた様に、本発明によれば、割り
付けられたアドレス空間が、実行時のアドレス空間に対
して一対一にマッピングされるシステム上において、複
数のフェーズで構成され、前記フェーズのそれぞれが複
数のモジュールから構成されるプログラムの作成時に、
前記フェーズの内部で局所的に使用される初期値なしデ
ータを、同一アドレスに割り付けられるかどうかを判定
するオーバレイ可・不可判定手段と、前記手段によって
判定されたデータを同一アドレス空間に割り付けるオー
バレイ可能データ割り付け手段をもつリンカを有してい
るので、一つのフェーズでのみ局所的に利用され、他の
フェーズでは利用されないような初期値なしデータを割
り付ける場合、従来のように、データ毎一対一にアドレ
ス空間を割り付ける必要がなくなるため、従来よりアド
レス空間を小さくすることができる。
【0044】また、オーバレイ機能を利用する必要がな
いので、オーバレイのためのオーバーヘッドが生じない
という効果がある。
【図面の簡単な説明】
【図1】本発明の全体構成図である。
【図2】本発明における外部参照の構成図である。
【図3】本発明の実施例で取り上げたプログラムの構成
図である。
【図4】本発明のオーバレイ可・不可判定手段の処理の
フロー図である。
【図5】図3で示されるプログラムを本発明のオーバレ
イ可・不可判定手段が処理した場合に作成される外部参
照のセーブエリアの様子を示す図である。
【図6】本発明のオーバレイ可能データ割り付け手段の
処理のフロー図である。
【図7】図6の続きのフロー図。
【図8】本発明のオーバレイ可能データ割り付け手段に
よってオーバレイ領域に割り付けられたデータの様子を
示す図である。
【符号の説明】
1−1    オブジェクト・モジュール群1−2  
  リンカ 2−1    外部参照 3−1    オブジェクト・モジュール3−2   
   〃 3−3    外部参照 3−4    オブジェクト・モジュール3−5   
 外部参照 3−6      〃 7−1    データA割り付け領域

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  割り付けられたアドレス空間が実行時
    のアドレス空間に対して一対一にマッピングされる電子
    計算機システムにおいて、複数のフェーズで構成され、
    前記フェーズのそれぞれが複数のモジュールから構成さ
    れるプログラムの作成時に、前記フェーズの内部で局所
    的に使用される初期値なしデータを、同一アドレスに割
    り付けられるかどうかを判定するオーバレイ可・不可判
    定手段と、前記手段によって判定された前記初期値なし
    データを、同一アドレス空間に割り付けるオーバーレイ
    可能データ割り付け手段を含むリンカを有することを特
    徴とするアドレス空間割り付け方式。
JP41134290A 1990-12-18 1990-12-18 アドレス空間割り付け方式 Pending JPH04217032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP41134290A JPH04217032A (ja) 1990-12-18 1990-12-18 アドレス空間割り付け方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP41134290A JPH04217032A (ja) 1990-12-18 1990-12-18 アドレス空間割り付け方式

Publications (1)

Publication Number Publication Date
JPH04217032A true JPH04217032A (ja) 1992-08-07

Family

ID=18520360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP41134290A Pending JPH04217032A (ja) 1990-12-18 1990-12-18 アドレス空間割り付け方式

Country Status (1)

Country Link
JP (1) JPH04217032A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4431348A1 (de) * 1993-09-06 1995-03-09 Aisin Seiki Automatische Schiebetür

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4431348A1 (de) * 1993-09-06 1995-03-09 Aisin Seiki Automatische Schiebetür

Similar Documents

Publication Publication Date Title
US5465373A (en) Method and system for single cycle dispatch of multiple instructions in a superscalar processor system
JP3010947B2 (ja) メモリアクセス制御装置
JPH04217032A (ja) アドレス空間割り付け方式
US6421825B2 (en) Register control apparatus and method thereof for allocating memory based on a count value
JPH03194641A (ja) アプリケーションプログラム共用方式
JPH07107666B2 (ja) 計算機システム
JP2787107B2 (ja) バッファ制御方式及び装置
JPH0465717A (ja) プログラム呼び出し方法
JP2004086921A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JPS5856153A (ja) サブル−チンリタ−ン方式
JPS62186328A (ja) ソ−ト処理方式
JPS6198467A (ja) レジスタ構成方法
CN85104907A (zh) 分级多处理器系统及其控制方法
JP3405794B2 (ja) マルチプロセッサシステム
JPH01307825A (ja) インターフェイスモジュールを介する動的リンク実行方式
JPH0328934A (ja) 共有資源のデッドロック防止方法
JPH04188232A (ja) オーバレイセグメント割当て方式
JPH02136930A (ja) Auto変数割り付け方式
JPH07129408A (ja) 言語処理プログラムの実行方式
JPH11338768A (ja) メモリ制御方法、メモリ制御装置及びその記録媒体
JPH0740227B2 (ja) デ−タのオ−バレイセグメント割当て方式
JPS62216042A (ja) デ−タ領域のメモリ割付方式
JPH01191232A (ja) 外部モジュール獲得方式
JPH07141189A (ja) オーバレイリンク方式
JPS5955524A (ja) 初期プログラムロ−ド方式