JPH06214794A - モジュール単位でのオーバレイ切替方法 - Google Patents

モジュール単位でのオーバレイ切替方法

Info

Publication number
JPH06214794A
JPH06214794A JP5005683A JP568393A JPH06214794A JP H06214794 A JPH06214794 A JP H06214794A JP 5005683 A JP5005683 A JP 5005683A JP 568393 A JP568393 A JP 568393A JP H06214794 A JPH06214794 A JP H06214794A
Authority
JP
Japan
Prior art keywords
overlay
module
switching
area
over
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.)
Withdrawn
Application number
JP5005683A
Other languages
English (en)
Inventor
Masahiro Koyama
正博 小山
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP5005683A priority Critical patent/JPH06214794A/ja
Publication of JPH06214794A publication Critical patent/JPH06214794A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 オーバレイ切替処理を意識することなく、オ
ーバレイ切替することができ、オーバレイエリアを縮小
して常駐部を拡大することのできるオーバレイ切替方法
を提供することを目的とする。 【構成】 呼び出されたモジュールがどのオーバレイに
属し、どのアドレスに実行を移せば良いかを判断するオ
ーバレイ切替制御モジュールを設けると共に、呼び出さ
れたモジュールの処理が終了した場合に、どこに実行を
移せば良いかをスタックを用いて制御する。更に、オー
バレイの大きさをオーバレイ切替可能な最小単位とし
た。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウェアプログラ
ムに適用されるオーバレイ切替方法に関し、その他のオ
ーバレイを使用するプログラムにも適用できるものであ
る。
【0002】
【従来の技術】従来のオーバレイ構造においては、図4
に示すように、互いに関連性のない機能をオーバレイと
し、機能毎にオーバレイ切替を行っている。即ち、論理
メモリは、常駐部と、二つのオーバレイエリアに分割さ
れ、物理メモリは、機能0−0,0−1,…0−n,1
−0,1−1,1−2から構成されている。各機能の認
識は、常駐部で行い、必要な機能を認識した時点で各機
能単位のオーバレイを切り換え、オーバレイエリアのプ
ログラムを実行する。
【0003】このため、プログラマは、各機能の関連性
により、その機能を必要とする部分には、オーバレイ切
替を行う処理をプログラムして組み込む必要があった。
また、オーバレイの分割単位は、機能毎であるため、オ
ーバレイエリアの大きさの最大の大きさを持つ機能によ
って決定されていた。
【0004】
【発明が解決しようとする課題】このように従来のオー
バレイ方式では、プログラマが各オーバレイの持つ機能
を認識し、その機能を必要とする場合には、オーバレイ
切替を行う処理をプログラム化し、プログラムを組み込
む必要がある。これは、プログラマが、オーバレイ切替
手順を理解すると共にオーバレイを意識してプログラミ
ングする必要があることを意味する。
【0005】また、従来のオーバレイ方式では、オーバ
レイの分割単位が機能毎なので、オーバレイエリアのサ
イズは、最大サイズを持つ機能によって決まってしま
う。この為、オーバレイエリアが一般的に大きくなる傾
向にあり、常駐部を圧迫する結果となる。
【0006】本発明は、上記従来技術に鑑みて成された
ものであり、オーバレイ切替処理を意識することなく、
オーバレイ切替することができ、オーバレイエリアを縮
小して常駐部を拡大することのできるオーバレイ切替方
法を提供することを目的とする。
【0007】
【課題を解決するための手段】斯かる目的を達成するた
め本発明は次のような手段を用いる。 (1)オーバレイ切替を意識することなく、オーバレイ
切替が行えるようにモジュール単位でのオーバレイ切替
とする。但し、オーバレイとして扱える最小単位が大き
い場合、その最小単位内に複数のモジュールを組み込
む。その場合、そのモジュールがどのオーバレイに属し
ているかは、判別できるようにしておく。
【0008】モジュール単位でのオーバレイ切替を実現
するために、オーバレイ切替制御モジュールを新たに制
作すると共に従来の様にリターンアドレスをスタックに
退避するだけでなく、切替前、切替後のノード・セグメ
ント番号もスタックに退避する。 (2)常駐部の拡大を目的として、オーバレイエリアの
サイズは、オーバレイ切替を行える最小単位で統一す
る。
【0009】
【作用】新しく作製したオーバレイ切替制御モジュール
により、呼び出されたモジュールがどのオーバレイに属
し、どのアドレスに実行を移せば良いかを判断する。ま
た、呼び出されたモジュールの処理が終了した場合に、
どこに実行を移せば良いかをスタックを用いて制御す
る。オーバレイのサイズをオーバレイ切替可能な最小単
位とすることで、マルチタスクでないシステムでプログ
ラムを実行する場合、オーバレイエリアを1個とするこ
とも可能となる。また、マルチ・タスクで動作している
システムであろうと最悪でも、タスク数分オーバレイエ
リアを作成すれば良い。
【0010】
【実施例】以下、本発明について、図面に示す実施例を
参照して詳細に説明する。図1及び図2に本発明の一実
施例を示す。図1は、オーバレイエリア(1.0),
(1.1),(1.2)と、そのオーバレイエリアを切
替制御するオーバレイ切替制御モジュール2を示すと共
にそれぞれのオーバレイエリアで切り替えられるオーバ
レイの位置づけを示すものである。
【0011】即ち、論理メモリ1は、オーバレイ切替制
御モジュール2を含む常駐部と、ノード番号1,2,3
に対応する三つのオーバレイエリア(1.0),(1.
1),(1.2)とから構成される。また、物理メモリ
3は、ノード番号0に対応する(n+1)個のオーバレ
イ(3.0.0),(3.0.1),…(3.0.n)
と、ノード番号1に対応する3個のオーバレイ(3.
1.0),(3.1.1),(3.1.2)と、ノード
番号2に対応する5個のオーバレイ(3.2.0),
(3.2.1),(3.2.2),(3.2.3),
(3.2.4)とを有する。オーバレイエリア及びオー
バレイは共通したサイズを有し、各オーバレイは、図2
に示すように異なる各種のモジュールを有する。尚、各
オーバレイの第3個目の数字は、ノード番号毎のセグメ
ント番号を示す。
【0012】図2は、オーバレイエリア内のモジュール
が呼び出された場合の動作を図示したものである。即
ち、各オーバレイエリア(1.0),(1.1),
(1.2)には、セグメント番号0を持つオーバレイ
(3.0.0),(3.1.0),(3.2.0)が設
定されており、プログラムはオーバレイ(3.1.0)
内のモジュールJを実行中とする。このモジュールJ内
では、ノード番号2、セグメント番号1を持ったオーバ
レイ(3.2.1)内にあるモジュールRを呼び出すの
で、一旦、オーバレイ切替制御モジュール2に実行を移
す。
【0013】その際、スタックには、オーバレイ切替制
御モジュール2から実行が戻されるべきモジュールJ内
のリターンアドレス、即ち、モジュールRを呼び出した
命令のアドレスに+1をしたアドレスが退避され、オー
バレイ切替制御モジュール2には、呼び出されるモジュ
ールRの属するノード・セグメント番号(3.2.1)
が渡される。実行の移されたオーバレイ切替制御モジュ
ール2は、オーバレイエリア(1.2)には現在、渡さ
れたノード・セグメント番号(3.2.1)と異なるオ
ーバレイ(3.2.0)が設定されていると判断し、オ
ーバレイ(3.2.0)とオーバレイ(3.2.1)と
を切り替える作業を図3のフローチャートに従って行
う。
【0014】先ず、切替前にオーバレイエリア(1.
2)に設定されていたオーバレイ(3.2.0)のノー
ド・セグメント番号(3.2.0)を旧ノード・セグメ
ント番号としてスタックに退避する。また、切替後のノ
ード・セグメント番号(3.2.1)を新ノード・セグ
メント番号としてスタックに退避し、オーバレイエリア
(1.2)においてオーバレイ(3.2.0)からオー
バレイ(3.2.1)へ切り替える。その後、オーバレ
イ(3.2.1)内のモジュールRを呼び出して、実行
に移すと同時に、実行を移したモジュールRの処理が終
了した場合の戻り先アドレス、つまり、オーバレイ切替
制御モジュール2のモジュールRを呼び出した命令のア
ドレスに+1をしたアドレスをモジュールリターンアド
レスとしてスタックに退避しておく。
【0015】更に、処理を進め、モジュールRの処理が
全て終了した時点で、スタックよりモジュールリターン
アドレスは取り出され、戻り先に実行を移す。この処理
は、オーバレイ切替制御モジュール2内で行われない。
引続き、新ノード・セグメント番号(3.2.1)、旧
ノード・セグメント番号(3.2.0)をそれぞれスタ
ックより取り出し、オーバレイエリア(1.2)におい
てオーバレイ(3.2.1)からオーバレイ(3.2.
0)へ切り替える。その後、スタックよりリターンアド
レスを取り出し、戻り先に実行が移されることにより、
最初の状態に戻る。
【0016】ここで、図3に示すようにオーバレイ切替
が不要であると判断する場合がある。例えば、各オーバ
レイエリア(1.0),(1.1),(1.2)に設定
されたオーバレイ(3.0.0),(3.1.0),
(3.2.0)のモジュールのみを呼び出す場合であ
る。このような場合には、指定されたモジュールを呼び
出すと同時に、モジュールリターンアドレスをスタック
に退避する。そして、指定されたモジュールの処理終了
と同時にモジュールリターンアドレスをスタックより取
り出す。この処理は、オーバレイ切替制御モジュール2
内で行われない。
【0017】その後、リターンアドレスをスタックより
取り出し、リターンアドレスへジャンプする。尚、実行
の移されたモジュールR内にも、更にオーバレイエリア
内に存在しないモジュールSを呼び出す命令が存在した
場合、再び、モジュールSの存在するノード・セグメン
ト番号(3.2.4)をオーバレイ切替制御モジュール
2に渡し、スタックにオーバレイ切替制御モジュール2
から実行が戻されるモジュールR内のリターンアドレス
が退避され、オーバレイ切替制御モジュール2に実行が
移される。
【0018】そして、オーバレイ切替制御モジュール2
は、先程と同様に、オーバレイエリア(1.2)にはオ
ーバレイ(3.2.4)が設定されていないと判断し、
旧ノード・セグメント番号、新ノード・セグメント番
号、モジュールリターンアドレスを設定した後、オーバ
レイ(3.2.1)からオーバレイ(3.2.4)へ切
り替え、モジュールSを実行に移す。その後、実行を移
されたモジュールSの処理が終了した時点で、スタック
よりモジュールリターンアドレスを取り出し、その戻り
先に実行を移すことにより、オーバレイ切替制御モジュ
ール2内のモジュールSを呼び出した命令のアドレスに
+1をしたアドレスに実行が移ることになる。
【0019】その後の処理は、図3に示すフローチャー
トと同様である。先ず、新ノード・セグメント番号、旧
ノード・セグメント番号をスタックより取り出し、旧ノ
ード・セグメント番号でオーバレイ切替を行う。次に、
スタックよりリターンアドレスを取り出し、戻り先に実
行を移す。現在の時点で実行は、モジュールR内のモジ
ュールSを呼び出した命令のアドレスに+1をしたアド
レスに実行が移っていることになる。
【0020】
【発明の効果】以上、実施例に基づいて具体的に説明し
たように、本発明は、オーバレイにあるモジュールの呼
び出しを、常駐部にあるモジュールと同様の感覚で呼び
出すことができ、モジュールの機能に合わせてグループ
化する必要もなくなり、また、プログラム中にオーバレ
イ切替を行う処理を組み込むことも不要となった。従っ
て、本発明によれば、オーバレイを縮小し、常駐部の拡
大が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る構成を示す概念図であ
る。
【図2】本発明の一実施例におけるオーバレイ切替を示
す説明図である。
【図3】オーバレイ切替の手順を示すフローチャートで
ある。
【図4】従来のオーバレイを示す説明図である。
【符号の説明】
1 論理メモリ (1.0),(1.1),(1.2) オーバレイエリ
ア 2 オーバレイ切替制御モジュール 3 物理メモリ (3.0.0),(3.1.0),…(3.2.4)
オーバレイ A,B,…T モジュール

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 一定のサイズを有する1又は2以上のオ
    ーバレイエリアと、該オーバエリアのサイズに合わせた
    複数のオーバレイを有する物理メモリと、前記オーバレ
    イを構成する1又は2以上のモジュール単位でのオーバ
    レイ切替を実現するためのオーバレイ切替制御モジュー
    ルとにより構成され、オーバレイ切替制御モジュールは
    オーバレイエリア内のオーバレイから呼び出されるモジ
    ュール及びこのモジュールの属するオーバレイを認識
    し、このオーバレイが前記オーバレイエリア内に設定さ
    れていないと判断したら、当該モジュールの属するオー
    バレイを前記物理メモリ内から呼び出して、オーバレイ
    エリア内の古いオーバレイと新たなオーバレイとを切り
    替えて、当該モジュールの処理を実行した後、更に、新
    たなオーバレイと古いオーバレイとを再度切り替えるこ
    と特徴とするオーバレイ切替方法。
JP5005683A 1993-01-18 1993-01-18 モジュール単位でのオーバレイ切替方法 Withdrawn JPH06214794A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5005683A JPH06214794A (ja) 1993-01-18 1993-01-18 モジュール単位でのオーバレイ切替方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5005683A JPH06214794A (ja) 1993-01-18 1993-01-18 モジュール単位でのオーバレイ切替方法

Publications (1)

Publication Number Publication Date
JPH06214794A true JPH06214794A (ja) 1994-08-05

Family

ID=11617901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5005683A Withdrawn JPH06214794A (ja) 1993-01-18 1993-01-18 モジュール単位でのオーバレイ切替方法

Country Status (1)

Country Link
JP (1) JPH06214794A (ja)

Similar Documents

Publication Publication Date Title
US4656581A (en) Vector mask control system
JPH06214794A (ja) モジュール単位でのオーバレイ切替方法
JP2677458B2 (ja) システムコール実行装置
KR20020001853A (ko) 모션컨트롤러의 프로그래밍 방법
JPH03288906A (ja) Pcの命令実行方式
JPH0612253A (ja) マイクロコンピュータ
JPH02176832A (ja) マイクロコンピュータ
JP3022398B2 (ja) 仮想計算機方式
JPH04370831A (ja) 動作モード制御方式
JPH02137028A (ja) 命令制御方式
JPH0495137A (ja) オペレーティングシステムのコンテキスト切替方式
JPH05241889A (ja) 機械語命令のステップ実行方式
JPH0640312B2 (ja) プログラムインタフエ−ス方式
JPH01222329A (ja) 条件分岐命令を含むプログラムの実行方式
JPH03126134A (ja) Cpuのタスク切替方式
JPH01288904A (ja) シーケンプログラム切り換え装置
JPH07334365A (ja) 命令実行方式
JPH0195334A (ja) マルチタスクアドレストラップ方式
JPS62109137A (ja) デ−タ処理システム
JPS6288036A (ja) マイクロプログラム制御装置
JPH04112341A (ja) マイクロコンピュータlsi
JPS6288035A (ja) マイクロプログラム制御装置
JPH04155532A (ja) タスク切替方式
JPH06314197A (ja) 補助処理装置
JPH0198023A (ja) 条件付きサブルーチン呼出し方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000404