JPS6238954A - 動的リンクによるアドレスモ−ド切換え制御方式 - Google Patents

動的リンクによるアドレスモ−ド切換え制御方式

Info

Publication number
JPS6238954A
JPS6238954A JP60178984A JP17898485A JPS6238954A JP S6238954 A JPS6238954 A JP S6238954A JP 60178984 A JP60178984 A JP 60178984A JP 17898485 A JP17898485 A JP 17898485A JP S6238954 A JPS6238954 A JP S6238954A
Authority
JP
Japan
Prior art keywords
entry
address
module
instruction
dynamic link
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
Application number
JP60178984A
Other languages
English (en)
Other versions
JPH0344328B2 (ja
Inventor
Koichi Furugaki
古垣 幸一
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60178984A priority Critical patent/JPS6238954A/ja
Publication of JPS6238954A publication Critical patent/JPS6238954A/ja
Publication of JPH0344328B2 publication Critical patent/JPH0344328B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 例えば24ビツトでアドレスされる仮想空間で動作する
プログラムモジュールと、31ビツトで動作するプログ
ラムモジュールとの間で制御を移行する場合、アドレス
モードの切換えを行う必要がある。本発明は、動的リン
クの制御において動作モードが異なるとき、プログラム
管理部が、動的リンク用テーブルから制御が渡される拡
張移行用エントリを付与することにより、この拡張移行
用エントリによって、アドレスモードの切換えを伴う拡
張分岐命令が発行されるようにし、特に既存の24ビツ
ト・モードで動作するモジュールに修正を加えることな
く、アドレス拡張移行をなし得るようにしている。
〔産業上の利用分野〕
本発明は仮想空間の上限が異なるアドレスモードの切換
え制御方式に係り、特に、動的リンク構造の既存プログ
ラムについて、スムーズに「アドレス拡張移行」をでき
るようにした動的リンクによるアドレスモード切換え制
御方式に関するものである。
〔従来の技術と問題点〕
特に、大型計算機システムでは9年々2プログラムの規
模が巨大化する傾向にあり1例えば24ビツトのアドレ
スでは、ユーザプログラムは16MBの仮想空間しか使
用できないため、31ビツトによりアドレスするアドレ
ス拡張機能が提供され、ユーザプログラムは、2GBま
での巨大仮想空間を利用できるようになっている。しか
し、従来、16MBの仮想空間で動作していたプログラ
ムは、そのままで2GBの仮想空間を使用できるわけで
はなく、16MB以上のアドレスを参照するためには、
プログラム内において、アドレスモードを切換える必要
がある。即ち、いわゆるBX命令やBASX命令等のア
ドレス切換えを伴って分岐する拡張分岐命令等を使用す
ることにより。
プログラム状態語(PSW)上にアドレスモードを指定
する必要がある。
従って、既存のユーザプログラムが、2GBの仮想空間
を使用するためには、まずプログラム内でアドレスモー
ドを切換えるための処理を、プログラムに追加しなけれ
ばならない。しかし、一般に既存のモジュールは、何百
、何千とあり、一度に修正することは、極めて困難であ
るという問題がある。
そのため、既存のユーザプログラムが、2GBの仮想空
間を使用できるようにするためのコンバージョン、即ち
、「アドレス拡張移行」を容易にする手段の提供が望ま
れている。
本発明の詳細な説明するに先立ち1本発明に関連する従
来の動的リンク構造について、第4図に従って説明する
第4図において、10は呼出し元モジュール。
11はブランチアンドリンク命令、12は■形式アドレ
ス定数、13は動的リンク用テーブル、14は呼出し先
モジュールに対応して作られるネームエントリ、15は
呼出し処理で使用されるリンケージエントリ、20は呼
出し先モジュール、21は分岐命令、22は動的リンク
時に制御が渡される制御プログラム内のプログラム管理
部、23はロードモジュールを主記憶へローディングす
るローダ227はロードモジュールが格納されたライブ
ラリを表す。
呼出し元モジュール10は、呼出し先モジュール20を
呼出して制御を渡す必要がある場合、予め■形式アドレ
ス定数12により、呼出し先モジュール20の入口点基
XYZを指定する。この指定があると、リンクエディツ
ト時にリンケージエディタによって、動的リンク用テー
ブル13が作成される。この動的リンク用テーブル13
には。
アドレスが未解決の■形式アドレス定数に対応して、ネ
ームエントリ14が設けられ、最後にリンケージエント
リ15が設けられる。
ネームエントリ14には5 リンケージエントリ15の
先頭へ分岐する命令14Aと、入口点アドレス(初期値
−〇)と、入口点基が設定され、リンケージエントリ1
5には、プログラム管理部22を呼出すスーパバイザコ
ール(S V C>命令と。
入口点アドレスをレジスタにロードする命令と。
入口点アドレスへ分岐する命令とが、予め設定される。
動的リンクにおける動作は、以下の通りである。
■ 呼出し元モジュール10が、■形式アドレス定数1
・2をレジスタ(R15)に指定して、ブランチアンド
リンク命令11を発行すると、ネームエントリ14に制
御が渡る。
■ 呼出し先モジュール20の呼出しが初めて行われた
場合には9分岐命令14Aは、リンケージエントリ15
の先頭を指しているので、S■C命令が実行される。
■ これにより、プログラム管理部22が起動され、プ
ログラム管理部22は、ローダ23によって、ライブラ
リ27から呼出し先モジュール20を主記憶ヘロードし
3分岐命令14Aのディスプレイスメントdosρに、
2を加算する。また、呼出し先モジュール20の入口点
アドレスが決まるので、ネームエントリ14に入口点ア
ドレスを設定する。
■ プログラム管理部22からの復帰により、入口点ア
ドレスのロード命令が実行される。
■ そして1分岐命令によって、呼出し先モジj。
−ル20の人口点(XYZ)へ制御が渡される。
呼出し先モジュール20による処理が終了すると2分岐
命令21によって、呼出し元モジュール10のブランチ
アンドリンク命令11の後に。
制御が戻される。
■ 呼出し元モジュール10が5呼出し先モジュール2
0を再び呼出す場合には3分岐命令14Aのディスプレ
イスメントが更新されているので、プログラム管理部2
2は呼出されず、直接。
リンケージエントリ15を介して、呼出し先モジュール
20へ制御が移行される。
なお、上記従来の動的リンクは、呼出し元と呼出し先と
のアドレスの動作モードが同じである場合にのみ、有効
となることは言うまでもない。
〔問題点を解決するための手段〕
本発明は上記問題点の解決を図り、ユーザプログラムを
修正することなく、動的リンク時に自動的にアドレスモ
ートの切換えがなされるようにし。
例えば16MBの仮想空間で動作していたユーザプログ
ラムが、2GBの仮想空間を使用できるようにするアド
レス拡張移行を容易にする手段を提供するものである。
第1図は本発明の原理ブロック図を示す。
第1図において、第4図と同符号のものは、第4図図示
のものに対応する。16は動作モードが異なるモジュー
ル間の動的リンクにあたって、プログラム管理部22が
割当てる拡張移行用エントリ、17は入口点アドレスを
所定のレジスタにロードする命令、18はアドレス切換
えを伴う拡張分岐命令、24は呼出し元モジュールエ0
と呼出し先モジュール20とのアドレスの動作モードが
異なるか否かを判別するモード判別部、25は動作モー
ドが異なるとき、呼出し元モジュール10に対し拡張移
行用エントリ16を動的に割当てる拡張移行用エントリ
割当て部、26は拡張移行用エントリ16が動的リンク
用テーブル13の分岐命令から制御が渡されるように動
的リンク用テーブル13を更新するテーブル更新部を表
す。
呼出し元モジュール10は、呼出し先モジュール20の
アドレスの動作モードが、自動作モードと異なる場合で
あっても、従来と同様のインタフェースにより、動的リ
ンクを指示する。本発明の場合、ローダ23がライブラ
リ27から呼・出し先モジュール20をロードした後、
モード判別部24によって、呼出し先モジュール20の
動作モードを判別する。そして、呼出し元モジュール1
0の動作モードと異なっていれば、拡張移行用エントリ
割当て部25を起動する。拡張移行用エントリ割当て部
25が、拡張移行用エントリ16を用意した後、テーブ
ル更新部264こよって、動的リンク用テーブル13か
ら拡張移行用エントリ16へ制御が移行されるように、
動的リンク用テーブル13を更新する。即ち、呼出し元
モジュール10から呼出し先モジュール20への制御移
行時に。
拡張移行用エントリ16が自動的に介入するようにして
、ここで拡張分岐命令18により、アドレスモードの切
換えがなされるようにしている。
動的リンク時の動作は、以下の通りである。図面に付し
た番号■ないし■は、以下の説明番号に対応している。
■ ブランチアンドリンク命令11により、■形式アド
レス定数12で指定されたネームエンド1J14の先頭
に制御が渡される。
■ 分岐命令14Aは、最初、リンケージエンド1J1
5の先頭を指しており、リンケージエンドI715へ制
御が移る。
■ SVC命令(SVC番号−45)により、プログラ
ム管理部22が起動される。
(i)ローダ23は、ライブラリ27から呼出し先モジ
ュール20をロードする。
(ii )モード判別部24は、アドレスの動作モーを
判別し、動作モードが異なるとき、拡張移行用エントリ
割当て部25を起動する。
(iii )テーブル更新部26は、拡張移行用エンド
I716に呼出し先モジュール20の入口点アドレスを
格納し、ネームエントリ14の入口点アドレス設定部1
4Bに、拡張移行用エントリ16の先頭アドレスを設定
する。分岐台令14Aは、SVC命令の後を指すように
更新する。
■ プロゲラ1、管理部22からの制御復帰により。
入口点アドレス設定部14Bのデータがロードされる。
■ 入口点アドレス設定部14Bのデータは、拡張移行
用エントリ16の先頭アドレスとなっているので、実際
の入口点アドレスをロードする命令17と、拡張分岐命
令18とが実行される。
■ 拡張分岐命令18により、アドレスモードが切換え
られると共に、呼出し先モジュール20へ制御が渡され
る。
■ 2回目以降の呼出し先モジュール20の呼出し時に
は、SVC命令の実行が省略されて、リンケージエント
リ15および拡張移行用エンドU 16を介して1呼出
し先モジュール20が呼出される。
■ または、テーブル更新部26は、以下のようにテー
ブルを更新して、拡張移行用エントリ16を介在させる
ようにしてもよい。即ち、入口点アドレス設定部14B
に、呼出し先モジュール20の入口点アドレスを格納し
9分岐命令14Aが拡張移行用エントリ16へ分岐する
ように分岐先アドレスを設定する。これにより、2回目
以降の呼出し時には1分岐命令14Aから。
リンケージエントリ15を通らずに、拡張移行用エント
リ16へ制御が移行され、拡張分岐命令18により、呼
出し先モジュール20が呼出される。
〔作用〕
動的リンク構造を持つプログラムは、静的リンクの場合
と異なり、モジュールは細分化されている。そして、各
モジュールは、要求時に制御プログラムのプログラム管
理部22によりロードされ。
制御が渡される。本発明はこの点に着目してなされたも
ので、動的リンクでは、必ず最初にプログラム管理部2
2が関与することから、プログラム管理部22が、アド
レスモードに関する動作モードを判別し、アドレスモー
ドを切換える命令発行機構、即ち、拡張移行用エントリ
16を動的にイ1加することにより、ユーザプログラム
が意識することなく、アドレスモードを切換えて、呼出
し先のモジュールへ制御を移行できるようにしている。
従って、細分化されたモジュールを、必要に応じて各モ
ジュール毎に段階的にアドレス拡張移行することが可能
となる。
〔実施例〕
第2図は本発明の一実施例を説明するための図。
第3図は本発明の他の一実施例を説明するための図であ
る。
第2図に示す実施例は、呼出し元モジュール10から呼
出し先モジュール20の呼出し時にも。
また呼出し先モジュール20から呼出し元モジュール1
0への復帰時にも、自動的にアドレスモードの切換えが
なされるようにしたものである。
最初、動的リンク用テーブル13は、第2図(イ)図示
のようになっており、ネームエントリ14の分岐命令1
4Aのディスプレイスメントは。
リンケージエントリ15までの相対距離aが設定されて
いる。
呼出し元モジュール10が、  rL  15. VC
ONJ命令を発行すると、ネームエントリ14のアドレ
スがレジスタ(R15)にロードされ、[BALR14
,15j命令によって、レジスタ(R]4)に復帰アド
レスが設定されると共に。
分岐命令14Aへの分岐が行われる。次に1分岐命令1
4AからrsVc  45J命令へ制御が渡され、プロ
グラム管理部が制御を得る。
本実施例の場合、プログラム管理部は、拡張移行用エン
トリ16が設定される拡張テーブル30が既に確保され
ているか否かを判定し、確保されていない場合には、ユ
ーザ領域等から拡張テーブル30を切り出し、その中に
、ネームエントリ14に対応して、拡張移行用エントリ
16を用意する。そして、動的リンク用テーブル13を
、第2図(ロ)図示のように更新する。即ち1分岐命令
14Aのディスブレイスメントをra+2Jとし。
入口点アドレス設定部14Bに拡張移行用エンド1J1
6の先頭アドレスを設定する。拡張移行用エントリI6
には、レジスタ(RI 4)の退避域および入口点アド
レス設定部14Bの代わりとなる入口点アドレス設定部
19が設けられ、該設定部19に呼出し先モジュール2
0の人口点アドレスが設定される。
rsVc  45J命令からの戻りにより、または2回
目以降の分岐命令14Aによる分岐によって、rL 1
5.4 (,15)J命令が実行されると、レジスタ(
RI5)には、拡張移行用エントリ16のアドレスが設
定される。そして、「BR15」命令により、拡張移行
用エントリ16へ制御が移行される。
拡張移行用エントリ16における命令+alは、リンク
時に破壊してしまうレジスタ(R14)を。
領域(flに退避する命令である。命令(b)は、入口
点アドレスをロードする命令17であって、領域(幻の
内容をレジスタ(RI5)にロードする。命令(C1は
、拡張分岐命令18であり、特に復帰アドレスをレジス
タ(R14)に退避し、かつアドレスモードを切換えて
レジスタ(R15)のアドレスに分岐する命令である。
呼出し先モジュール20からの復帰により、命令(d)
に制御が渡され、命令(d)は1M域(f)からレジス
タ(R14)の内容を復元する。その後、命令(e)に
よって、呼出し元モジュールIOへ制御を戻す。命令(
e)は、拡張分岐命令の1つであり、アドレスモード切
換えを伴う分岐命令である。これにより、制御が呼出し
元モジュール10に戻される場合にも9元のアドレスモ
ードへの切換えが自動的になされることになる。
第3図に示す実施例は、呼出し先モジュール20から、
呼出し元モジュール10へ制御を戻すときに、呼出し先
モジュール20が明示的にアドレスモード切換えを伴う
拡張分岐命令を発行し、直接、呼出し元モジュール10
へ制御を戻す例である。第52図に示した実施例との違
いは、以下の通りである。
拡張移行用エントリ16は9例えば仮想空間の第1ペー
ジである固定アドレス開城に、ただ1つだけ設けられる
。そして、呼出し先モジュール20への最初の動的リン
クによって、プログラム管理部が起動されると、プログ
ラム管理部は、動的リンク用テーブル13を、第3図(
イ)の状態がら第3図(ロ)図示のように更新する。即
ち1分岐命令14Aの分岐先を、拡張移行用エントリ1
6の先頭アドレスFLCEとする。入口点アドレス設定
部14Bに呼出し先モジュール2oの入口点(XYZ)
アドレスを設定する。また、入口点アドレス設定部14
Bの先頭1ビツトに、アドレスモードの表示14B′を
行う。即ち、先頭1ビツトを1″にして、拡張アドレス
モードであることを記憶する。
動的リンク用テーブル13の更新後に1分岐命令14A
が実行されると、拡張移行用エントリ16に制御が移行
され、入口点アドレスをロードする命令17によって、
入口点アドレス設定部14Bの内容がロードされる。そ
して、拡張分岐命令18であるrBX  O,15J命
令によって、アドレスモード切換えと、呼出し先モジュ
ール20への分岐が同時に実行される。
例えば、24ビツト・モートのモジュール(以下、旧モ
ジュールという)から、31ビ・ノド・モードのモジュ
ール(以下、新モジュールとし)う)を呼出す場合、新
モジュールは、新たに作成または修正されたモジュール
であるので、第3図に示す実施例を利用できる。新モジ
ュールから旧モジュールを動的リンクにより呼出す場合
には、第2図に示す実施例が都合がよい。第2図に示す
実施例と、第3図に示す実施例とを併存させて、実施す
ることも可能である。この場合、プログラム管理部は、
モジュール間の動作モードの組合わせGこよって、拡張
移行用エントリ16を使い分ける。
もちろん、アドレスモードの切換えが必要でなり)場合
には、拡張移行用エンド1月6は使用されず。
従来と同様な動的リンク制御がなされると考えてよい。
〔発明の効果〕
以上説明したように1本発明によれば、動的りツク時に
自動的にアドレスモードを切換える拡張分岐命令の発行
機構が付与されるので1例えば。
24ヒント・モードの旧モジュールを何ら修正すること
なく、旧モジュールと、31ビツト・モードの新モジュ
ールとの制御の受は渡しを実現できるようになる。従っ
て、既存のユーザプログラムが、巨大仮想空間を使用で
きるようにするためのコンバージョン、即ち、アドレス
拡張移行を、必要に応じて適当なモジュールから段階的
に実施できることとなり5モジユールの修正に要する時
間と労力とを大幅に削減することが可能となる。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、第2図は本発明の一
実施例を説明するための図、第3図は本発明の他の一実
施例を説明するための図、第4図は従来の動的リンク構
造を説明する図である。 図中、10は呼出し元モジュール、13は動的リンク用
テーブル、14はネームエントリ、15はリンケージエ
ントリ、16は拡張移行用エンドす、18は拡張分岐命
令、20は呼出し先モジュール、22はプログラム管理
部、23はローダ。 24はモード判別部、25は拡張移行用エントリ割当て
部、26はテーブル更新部、27はライブラリを表す。

Claims (1)

  1. 【特許請求の範囲】 仮想空間の上限が異なる複数の走行アドレスモード属性
    を有し、該アドレスモードの切換えを伴う拡張分岐命令
    機構を備えた計算機システムであって、動的リンク対象
    の呼出し先入口点情報が格納されるネームエントリ(1
    4)および動的リンクを処理するプログラム管理部(2
    2)を呼出す命令と分岐命令とが用意されたリンケージ
    エントリ(15)を有する動的リンク用テーブル(13
    )によって、動的リンクを制御するようにされた計算機
    システムにおいて、 上記リンケージエントリ(15)により呼出されるプロ
    グラム管理部(22)は、 呼出し元モジュール(10)と呼出し先モジュール(2
    0)のアドレスモードに関する動作モードが異なるか否
    かを判別する手段(24)と、 動作モードが異なるとき、少なくとも、所定の領域に格
    納された呼出し先入口点アドレスを所定のレジスタにロ
    ードする命令(17)とアドレスモードの切換えを伴う
    拡張分岐命令(18)とを含む命令コード列が格納され
    た拡張移行用エントリ(16)を割当てる手段(25)
    と、 上記動的リンク用テーブル(13)における制御移行先
    が、上記拡張移行用エントリ(16)に格納された命令
    コード列の先頭になるよう上記動的リンク用テーブル(
    13)を更新する手段(26)とを備え、上記拡張移行
    用エントリ(16)に格納された命令コード列の実行に
    より、アドレスモードの切換えが行われるようにしたこ
    とを特徴とする動的リンクによるアドレスモード切換え
    制御方式。
JP60178984A 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式 Granted JPS6238954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60178984A JPS6238954A (ja) 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60178984A JPS6238954A (ja) 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式

Publications (2)

Publication Number Publication Date
JPS6238954A true JPS6238954A (ja) 1987-02-19
JPH0344328B2 JPH0344328B2 (ja) 1991-07-05

Family

ID=16058079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60178984A Granted JPS6238954A (ja) 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式

Country Status (1)

Country Link
JP (1) JPS6238954A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01191232A (ja) * 1988-01-26 1989-08-01 Nec Corp 外部モジュール獲得方式

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101598046B1 (ko) * 2014-05-02 2016-03-08 조익훈 센서 모듈 및 센서 모듈의 제조 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01191232A (ja) * 1988-01-26 1989-08-01 Nec Corp 外部モジュール獲得方式

Also Published As

Publication number Publication date
JPH0344328B2 (ja) 1991-07-05

Similar Documents

Publication Publication Date Title
US6681267B2 (en) Virtual computer system and method for swapping input/output devices between virtual machines and computer readable storage medium
US4587628A (en) Method and apparatus for dynamic invocation of utilities
US4782442A (en) Time-sharing computer system operable in a host TSS mode and a terminal TSS mode
JPH0644085A (ja) アクセスを実行する方法及び装置並びにコンピュータシステム
JPH064405A (ja) 拡張仮想記憶を有するコンピュータ
JPH09506457A (ja) アプリケーション・プログラム間のデータを統合するマネージング・リンクのためのリンク・マネジャ
JPH06110715A (ja) 仮想計算機システムにおける計算機資源の動的割付け方法
WO1994014114A1 (en) Interception system and method including user interface
JPS6238954A (ja) 動的リンクによるアドレスモ−ド切換え制御方式
JP2555920B2 (ja) オンラインリアルタイム処理装置
JP3019915B2 (ja) 手続き呼出し方法
JPS6356728A (ja) プログラム修正実行方式
JP2002024037A (ja) ダイナミック・リンク・ライブラリ・ファイルの更新方法
JPH01207824A (ja) モジュール結合制御方式
JPH064477A (ja) 副ロードモジュール置換方式
JPS6123262A (ja) ドメイン動的再配置処理方式
JPH0256666A (ja) ジョブネットワーク一元管理システム生成情報動的更新方式
JPH021017A (ja) プログラム結合制御方式
JPH0421028A (ja) レジスタ管理方法
JPH04147340A (ja) データ管理呼出方式
JPS6150356B2 (ja)
JPS6210725A (ja) マルチジヨブシステムでの画像管理方式
JPS63109555A (ja) 仮想記憶空間サイズ動的変換方式
JPS635790B2 (ja)
JPS6248871B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees