JPS6314242A - メモリ拡張方式 - Google Patents

メモリ拡張方式

Info

Publication number
JPS6314242A
JPS6314242A JP15603386A JP15603386A JPS6314242A JP S6314242 A JPS6314242 A JP S6314242A JP 15603386 A JP15603386 A JP 15603386A JP 15603386 A JP15603386 A JP 15603386A JP S6314242 A JPS6314242 A JP S6314242A
Authority
JP
Japan
Prior art keywords
area
bank
program
user
stack
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
JP15603386A
Other languages
English (en)
Inventor
Satoru Tezuka
悟 手塚
Tomihisa Hatano
富久 幡野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15603386A priority Critical patent/JPS6314242A/ja
Publication of JPS6314242A publication Critical patent/JPS6314242A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一定の大きさのアドレス空間を有するマイク
ロプロセッサシステムのメモリヲハンク制御方式により
実質的に拡張するメモリ拡張方式(ζ関し、特に、バン
ク切換え時、従来ユーザプログラムを修正することなく
動作させることができるようにしたメモリ拡張方式に関
する。
〔従来の技術〕
20ビツトのアドレスバスを備える一ンイクロプロセッ
サを使った機器、たとえばノく−ソナルコンピュータで
は、IMBのアドレス空間をアクセスできる。この空間
内lこ、システム領域とユーザ領域を配置し、一つのシ
ステムを構築している。ところで、近年、システムの性
能1機能の向上に伴なって、システム領域が増大し、ま
た、大規模なユーザプログラムも出現してきて、メモリ
の増大が要請されている。
従来のパーソナルコンピュータのアドレス空間構造を第
2図1こ示す。
複数のユーザプログラムを同時に並列実行させるシステ
ムでは、ユーザ領域を分割して使用するので、1ユーザ
当りの開通て領域が小さくなる。
したがって、大規模なユーザプログラムを動作させる時
ζこは、メモリ不足が発生し、他のユーザプログラムお
同時(こ実行させることが困難であった。
これらの対策として、特開昭58−23574号公報に
記載された方式、および、同59−251661号公報
に記載された方式が知られている。
前者の方式は、一定の大きさのアドレス空間を複数重T
る多重仮想記憶計算機において、ユーザに与えられるア
ドレス空間を二重化し、その一方をユーザプログラム用
に解放するとともに他方ではシステム・プログラムを動
作させ、かつ、両者の間で情報の交換が行なえるアドレ
ス共通部と雨空間を制御する制御プログラムを設けたこ
とを特徴とするアドレス空間拡張方式である。
一方、後者の方式は、バンク領域と非バンク領域とから
なるメモリを具備し、該メモリに格納された複数個のモ
ジュールからなるプログラムに従って動作するシステム
において、前記非バンク領域に格納されていた複数個の
モジュールのうち、少なくとも1個のモジュールを前記
バンク領域に移設するに際し、前記被移設モジュールを
格納せるバンク番号およびそのスタートアドレス七をセ
ットする機能と、前記被移設モジュールからの戻り先の
バンク番号およびそのアドレスとをセットする機能を具
備する中継モジュールを付設するとともに、該中継モジ
ュールに前記被移設モジュールの移設前のラベルを付与
し、かつ前記被移設モジュールには、前記移設前のラベ
ルとは異なるラベルを付与しておき、前記被移設モジュ
ールの移設前のラベルを用いて前記中継モジュールをコ
ールすることにより、前記被移設モジュールをアクセス
可能としたことを特徴とする、プログラム分割(こ伴な
うバンク制御方式である。
〔発明が解決しようとする問題点〕
上記従来技術のうち前者は、多重仮想記憶装置を備える
ことを前提としており、バンク切換制御については配慮
されていなかった。また、後者は、バンク切換制御に関
するものであるが、一つのユーザプログラムを分割して
、片方をバンク部で動作させる方式(こ関するもので、
複数のユーザプログラムを同時に並列実行させること(
こつぃて配慮されていなかった。さらにまた、スタック
機構の扱い(こついて(ま、−切言及されていなかった
ユーザプログラムには、自分で割込処理プログラムを持
つものが多く、これらのユーザプログラムをバンク領域
で並列動作させるためには、非同期に発生ずる1り込み
に対してバンク切換えを行なうことが必要で、かつ、こ
の時、スタックの切換えも行なう必要がある。
本発明の目的は、既存のユーザプログラムを無修正で、
任意のバンク上で動作できるように、スタック切換えを
行なうことができ、複数のユーザプログラムをそれぞれ
のバンク上で並列実行させることができるメモリ拡張方
式を提供すること1こある。
〔問題点を解決するための手段〕
上記目的は、ユーザプログラムの実行に際し、非同期に
発生する割込みに対して、バンク切換え処理とスタック
切換え処理とを伴なう割込制御を行なうプログラムを格
納するととも(こ、割込処理プログラムの配置されてい
るバンク番号、先頭アドレス、および、スタック領域の
最後尾アドレスを保存管理する領域を、上記非バンク領
域に割込制御領域として具備することにより達成される
上記割込制御領域は、好ましくは、非バンク領域内のシ
ステム領域中に設ける。また、バンク番号と先頭アドレ
スとスタック領域の最後尾アドレスとは、テーブル形式
にして格納することができる0 〔作用〕 あるバンク領域でユーザプログラムが動作中(こ割込み
が発生した場合、その割込みの処理プログラムが別のバ
ンク領域に配置され、力)つ、スタック領域がユーザプ
ログラムの動作しているバンク領域に取られている場合
がある。本発明に係る割込制御では、割込みに対する処
理プログラムの配置されているバンク番号とその先頭ア
ドレス、さらに非バンク領域に設けたスタック領域の最
後尾アドレスの三つの情報を管理する。割込みを受は付
けた時、まず、スタック領域をバンク上から非バンク上
に切り換える。これは、スタックの切換えを行なわない
でバンク切換えを行なうと、プログラムは正しいスタッ
ク領域をアクセスすることができなくなり、誤動作する
ためである。
スタックの切換えが終ると、つぎに該当する割込処理プ
ログラムのバンク番号(こバンクを切換え、該当プログ
ラムを呼び出して実行する。割込処理が終了したならば
、再び、割込み受付は時のバンク番号にバンクを切換え
る。そして、スタックも再び、割込み受付は時のバンク
上のスタック領域のアドレスにもどして、割込まれた所
ヘリターンする。
このような動作を行なう割込制御プログラムをシステム
に備えていることにより、既存のユーザプログラムは、
バンク上に配置されても、プログラム自身では、バンク
やスタックを意識せず(こ、他のユーザプログラムと並
列動作できる。
〔実施例〕
以下、本発明の実施例を図面により説明する。
第5図に、本発明のメモリ拡張方式の一実施例fi用し
たパーソナルコンピュータシステムを示す0 同図において、10はメモリ(RAM)、20はRAM
コントローラであって、バンク切換え機能を持つ。
21はバンクレジスタである。30はマイクロプロセッ
サ(CPU)、40はDMAコントローラ、 50はデ
ィスク装置である。
上記メモリ10には、後述するようjこ、複数のバンク
が設けられており、バンクレジスタ211こよって、複
数バンクの内から任意の一つを選択してアクセスできる
第1図に、本発明のメモリ拡張方式によるアドレス空間
構造の一実施例を示す。
同図において、600は非バンク領域、 700はバン
ク領域である。非バンク領域600に、システム領域1
00とユーザ1領域300を配置する。バンク領域7o
oに、システム領域200 、ユーザ2領域400、ユ
ーザ3領域500を配置する。
ユーザ2領域400と、ユーザ3領域500を非バンク
領域600からバンク領域700に移すことによッテ、
ユーザ1領域を拡大している。ユーザ2領域とユーザ3
領域の大きさは、バンク領域の大きさまで拡大できる。
第1図は、ユーザ1.ユーザ2およびユーザ6の、三つ
のユーザプログラムを並列実行させる例を示している。
バンクの数を増加するこおによって、これ以上のユーザ
プログラムを並列実行させることができる。
110はバンク切換制御を含む割込制御領域であり、シ
ステム領域100内に備えられる。尚該割込制御領域は
、非バンク領域にあるので、バンクレジスタ値に関係な
く、常にアクセスできる。また、システム領域100内
には、スタック領域125が設けである。
第4図に、割込み発生時のバンク切換制御のメカニズム
を示す。圏図は、ユーザ3領域500チユーザブログラ
ムが実行中で、かつ、ユーザ5領域(こスタック領域5
10が存在する時、ある割込み(たとえば通信回線から
の割込み)が発生し、この割込処理プログラムがユーザ
2領域にある場合の動作説明図である。
ユーザ6領域500に格納されているプログラムが実行
中の場合であるとすると、バンクレジスタ21の値は、
ユーザ3領域のバンク番号を示している。ここで割込み
が発生すると、割込制御領域110内に格納されている
割込制御プログラムに制御が渡る(■。割込制御プログ
ラムは、バンクをユーザ2領域に切換える前に、スタッ
ク領域510かう非バンク領域のシステムスタック領域
125に切換える(■)。その後、発生した割込みに対
する処理フログラムが配置されているバンク番号ヲ、バ
ンクレジスタ21に設定し、バンクを切換える(■)。
つぎに、当該割込処理プログラムを呼び出す(■)。
所定の割込処理が終了したtらば、呼び出し元ヘリター
ンする([相]。この場合は、割込制御領域110の割
込制御プログラムにリターンする。割込制御プログラム
は、バンクレジスタ21の値を、割込み発生前の値に回
復し、再びバンクを切換える(■)。そして、スタック
領域125からスタック領域510に切換える(■)。
その後、割込まれたプログラム1こリターンする(■)
このスタック切換えの必要性は、スタック領域がバンク
上に存在する場合、スタック切換えを行なわずバンク切
換えを行なうと、いままでアクセスしていたスタック領
域が、バンクが異なるためアクセスできなくなることに
対処するためである。
すなわち、このような$態は、7ステムの藁走を招キ、
システムダウンとなるので、上記を防止するため、スタ
ック切換えが必要となる。
第5図に、割込制御領域110に格納される割込制御プ
ログラムのロジックの流れ図と、割込制御テーブル12
0を示す。
割込制御テーブル120には、割込処理プログラムのア
ドレス(1201)と、そのプログラムが配置されてい
る領域のバンク番号(1202)と、非バンク領域に設
けたスタック領域の最後尾アドレス(1203)の三つ
の情報を格納しておく。割込タイプは複数あるので、そ
れぞれの割込タイプ別(こ、これらの情報を管理する。
つぎに、gsA図を参照して、割込制御プログラムの動
作を説明する。
割込制御プログラムは、まず、バンク切換えが必要か否
かを判定する(ステップ111)。割込処理プログラム
が非バンク領域に配置されている場合には、バンク切換
えスタック切換え処理が不要なので、この判定処理lこ
よって高速化を実現する。
つぎに、バンク切換えが必要な場合、現在のスタック領
域のアドレスを退避して、割込制御テーブル120に設
定されているスタック領域のアドレスヲ設定スる(ステ
ップ112)。引き続いて、バンクレジスタ21に現在
設定されている値を退避しておき、これから実行する割
込処理プログラムが配置されている領域のバンク番号を
、バンクレジスタ21ζこ設定し、バンク切換えを行な
う(ステップ113)。そして、割込処理プログラムを
呼び出す(ステップ114)。
割込処理プログラムからリターンしてきた時、ステップ
116で退避しておいたバンク番号をバンクレジスタ2
1に回復して、バンクを切換える(ステップ115)。
さらに、ステップ112で退避しておいたスタック領域
のアドレスを回復する(ステップ116)。最後(こ、
割込まれたプログラムへリターンする(ステップ117
)。
割込制御テーブル120の割込処理プログラムのアドレ
ス(1201)とバンク番号(1202)の情報登録は
、各ユーザプログラムの初期化ルーチンが、第6図(こ
示す割込プログラム登録機能を呼び出すことによって行
なう。すなわち、この割込プログラム登録機能処理では
、割込処理プログラムのアドレスと、当該プロクラムの
配置されでいる領域のバンク番号を、割込制御テーブル
120へ格納する(ステップ131 、132 )。
割込制御テーブル120の、非バンク領域に設けたスタ
ック領域の最後尾アドレス(1203)の情報登録は、
システム立上げ時の初期化ルーチンが、第7図に示す非
バンク上のスタック登録機能を呼び出すこと(こよって
行なう。すなわち、この登録機能では、非バンク上にス
タック領域125ヲ設け、スタック領域125の最後尾
アドレスを割込制御テーブル120に格納する(ステッ
プ141)。
〔発明の効果〕
本発明によれば、バンク領域と非バンク領域とからなる
メモリ装置を備えるシステムにおいて、バンク制御にお
けるスタック切換えに関する特別な処理をシステムプロ
グラムで行なうので、既存のユーザプログラムを無修正
で、任意のバンク上に配置し、複数のユーザプログラム
を、それぞれのバンク上で並列実行させることができる
【図面の簡単な説明】
第1図は本発明メモリ拡張方式の一実施例によるアドレ
ス空間構造を示す概念図、第2図は従来システムのアド
レス空間構造を示す概念図、第3図は本発明のメモリ拡
張方式の一実施例を適用したパーソナルコンピュータの
講成図、第4図は割込発生時のバンク切換制御のメカニ
ズムの説明図、シπ5A南は割込制御プログラムのロジ
ックの流れを示すフローチャート、第5B図は割込制御
テーブルの構造を示す構造図、第6図は割込プログラム
登録機能のロジックの流れを示すフローチャート、第7
図はスタック登碌機能のロジックの流れを示すフローチ
ャートである。 10・・RA〜I(メモリ)20・・・RAMコントロ
ーラ 21・・・バンクレジスタ 50・・・CPU(
プロセッサ)  100・・・システム領域200・・
・システム領域 500・・ユーザ1領域 400・・
・ユーザ2領域500・・・ユーザ6領域 600・・
・非バンク領域700・・・バンク領域 110・・・
割込制御領域 120・・・割込制御テーブル 125
・・・スタック領域1  ;  図 ス 2 図 53”W z 4 回 J!ll B A 回 5 薯 困 第 ら ■ 小 7 回

Claims (2)

    【特許請求の範囲】
  1. (1)一定の大きさのアドレス空間を有するマイクロプ
    ロセッサシステムに、バンク領域と非バンク領域とから
    なるメモリ装置を備え、バンク領域をユーザプログラム
    の動作領域に解放することによつて、ユーザプログラム
    の動作領域を拡張するようにしたメモリ拡張方式であつ
    て、ユーザプログラムの実行に際し、非同期に発生する
    割込みに対して、バンク切換え処理とスタック切換え処
    理とを伴なう割込制御を行なうプログラムを格納すると
    ともに、割込処理プログラムの配置されているバンク番
    号、先頭アドレス、および、スタック領域の最後尾アド
    レスを保存管理する領域を、上記非バンク領域に割込制
    御領域として具備することによつて、既存のユーザプロ
    グラムを最小限の修正で、任意のバンク上に配置し、複
    数のユーザプログラムをそれぞれのバンク上で並列実行
    させるようにスタック制御することを特徴とするメモリ
    拡張方式。
  2. (2)上記割込制御領域を、上記非バンク領域内のシス
    テム領域中に設定した特許請求の範囲第1項記載のメモ
    リ拡張方式。
JP15603386A 1986-07-04 1986-07-04 メモリ拡張方式 Pending JPS6314242A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15603386A JPS6314242A (ja) 1986-07-04 1986-07-04 メモリ拡張方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15603386A JPS6314242A (ja) 1986-07-04 1986-07-04 メモリ拡張方式

Publications (1)

Publication Number Publication Date
JPS6314242A true JPS6314242A (ja) 1988-01-21

Family

ID=15618846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15603386A Pending JPS6314242A (ja) 1986-07-04 1986-07-04 メモリ拡張方式

Country Status (1)

Country Link
JP (1) JPS6314242A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154130A (ja) * 1989-11-10 1991-07-02 Mita Ind Co Ltd タスクスイッチング方式
US5202412A (en) * 1990-10-02 1993-04-13 E. I. Du Pont De Nemours And Company Polyimide copolymer precursors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154130A (ja) * 1989-11-10 1991-07-02 Mita Ind Co Ltd タスクスイッチング方式
US5202412A (en) * 1990-10-02 1993-04-13 E. I. Du Pont De Nemours And Company Polyimide copolymer precursors

Similar Documents

Publication Publication Date Title
JPH04348451A (ja) 並列計算機
JP3970609B2 (ja) プロセッサシステム
JPS6314242A (ja) メモリ拡張方式
JPS6314241A (ja) メモリ拡張方式
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
US6199143B1 (en) Computing system with fast data transfer of CPU state related information
KR100365332B1 (ko) 비동기전달모드 교환기에 있어서 크로스포인트 위칭제어회로
JPH05113888A (ja) マイクロプロセツサユニツト
JP2000250762A (ja) マイクロコンピュータ
JPS6222149A (ja) プロセス切り換え方式
JPS6352240A (ja) デ−タ処理装置
JPH03242748A (ja) 汎用バス制御方式
JPS6269321A (ja) プロセススイツチ方式
JPH0477930A (ja) マイクロコンピュータ
JPH04332059A (ja) バンク切り替え型計算機
JP2001134449A (ja) データ処理装置とその制御方法
JPH02183342A (ja) 割込み制御装置
JPH10240556A (ja) 共有メモリを持つ疎結合計算機システム
JPH0954743A (ja) チャネル装置
JPH0724025B2 (ja) マルチレジスタセツト方式のマイクロコンピユ−タ
JPH0410137A (ja) 故障バックアップ方式
JPH01211158A (ja) 制御装置多重化システムおよびメモリ空間制御方式
JPS6394339A (ja) 仮想計算機システム
JPH01297732A (ja) 割込制御方式
JPS60243743A (ja) 多重マイクロプログラム制御方式