JPH04280337A - 仮想記憶計算システム - Google Patents

仮想記憶計算システム

Info

Publication number
JPH04280337A
JPH04280337A JP3067715A JP6771591A JPH04280337A JP H04280337 A JPH04280337 A JP H04280337A JP 3067715 A JP3067715 A JP 3067715A JP 6771591 A JP6771591 A JP 6771591A JP H04280337 A JPH04280337 A JP H04280337A
Authority
JP
Japan
Prior art keywords
address
real
memory
virtual
program module
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
JP3067715A
Other languages
English (en)
Inventor
Hiroyuki Kaneko
裕之 金子
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3067715A priority Critical patent/JPH04280337A/ja
Publication of JPH04280337A publication Critical patent/JPH04280337A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリ管理方式に係わり
、特に仮想メモリをサポートする仮想記憶計算システム
に関する。
【0002】
【従来の技術】近年、コンピュータに対する要請の高度
化、複雑化に伴い、プログラムサイズが増大している。 これに対応するため、たとえマイクロコンピュータであ
っても大きな主記憶容量を必要とする場合が多くなって
いる。そこで、この要求を経済的に解決する方法として
、いわゆる仮想記憶方式が用いられている。
【0003】この仮想記憶方式を用いたシステムでは、
機械語命令のアドレス部で指定できる記憶空間、すなわ
ちプログラマが定義できる論理空間をハードディスク等
の補助記憶装置に割り当てるようになっている。そして
、実際にプログラムを実行するときには、ある時点で中
央処理装置(以下、プロセッサと呼ぶ。)がアクセスし
そうなデータまたは命令を含むブロックを補助記憶装置
から主記憶装置へ写し取っておくことによって、主記憶
装置のみならず補助記憶装置をも主記憶装置の一部とみ
なして使用することができる。これにより、限られた容
量の主記憶装置であっても、プログラム上では無限に近
い大きな論理空間を扱うことができると共に、実行時に
は高速かつ大容量の主記憶装置が存在するのと等価とな
る。
【0004】図4は仮想記憶計算システムの一例につい
てその一般的動作原理を表わしたものである。この図に
示すように、実メモリ18および仮想メモリ17はそれ
ぞれ同一サイズのページ単位に区切られている。このペ
ージ単位としては、通常512バイト〜2キロバイト程
度の固定サイズが用いられることが多い。仮想メモリ1
7の各ページはマップテーブル19により予め実メモリ
空間の各ページに対応付けられている。また、ハードデ
ィスク装置15は、実メモリ18との間でページ単位の
データ交換を行うようになっている。
【0005】仮想メモリ上には、プロセッサ(図示せず
)が実行すべきプログラムモジュール■、■、■等に対
応してグローバルフレーム(GF)■、■、■等が設け
られている。ここで、プログラムモジュールとは、製作
および管理の便宜上、小さなモジュール単位で製作した
プログラムの一単位であり、これをコンパイルしてプロ
グラム全体を構成するようになっている。また、グロー
バルフレームとは、プログラムモジュールごとにもって
いるデータ管理のための作業用領域である。
【0006】このような仮想記憶計算システムで、プロ
グラムモジュールから仮想メモリ17の仮想アドレスへ
のアクセスが行われると、この仮想アドレスはマップテ
ーブル19により実メモリ18の物理アドレス(以下、
実アドレスと呼ぶ。)に変換され、この実アドレスに対
して実際のメモリアクセスが行われる。
【0007】以下、図5と共に従来の仮想記憶計算シス
テムの動作を説明する。今、図6に示すように、グロー
バルフレーム■のアドレス領域が仮想メモリ17の第2
ページから第3ページにわたって存在しており、プログ
ラムモジュール(以下単にモジュールと呼ぶ。)■から
グローバルフレーム■に対してアクセスを行うものとす
る。
【0008】まず、モジュール■の先頭アドレス“○○
○○”のインストラクションの実行によりグローバルフ
レームへのアクセスが行われると(図5ステップS10
1)、主記憶装置13に予め設けられているモジュール
管理テーブルからグローバルフレーム■の先頭アドレス
“○×○×”が抽出される(ステップS102)。
【0009】図7はモジュール管理テーブルを表わした
ものである。このテーブルには、各モジュールごとにそ
の先頭アドレスとこれに対応するグローバルフレームの
先頭アドレスとが対になって登録されている。
【0010】図示しないプロセッサはこの先頭アドレス
“○×○×”に、このアドレスからの距離を示すオフセ
ット値xを加算しこれをターゲット仮想アドレスAV 
とする(ステップS103)。ここでは、オフセット値
xは“0”なので、先頭アドレス“○×○×”がそのま
まターゲット仮想アドレスAV となる。これにより、
グローバルフレーム内のカレントアドレスを示すグロー
バルフレームポインタが図6のPG (1) の位置、
すなわちグローバルフレーム■の先頭アドレス“○×○
×”を指す。
【0011】このターゲット仮想アドレスAV はマッ
プテーブル19(図1、図4)により実アドレスAR 
に変換され(ステップS104)、これにより求められ
た実メモリ18の実アドレスAR に対してアクセスが
行われる(ステップS105)。この場合、グローバル
フレーム■の先頭アドレス“○×○×”は仮想メモリ1
7の第2ページに属するので、マップテーブル19によ
り変換された実メモリの第5ページの該当アドレスに対
しアクセスが行われる。
【0012】モジュール■のプログラムステップの進行
に伴い、グローバルフレームポインタの位置がPG (
2) 〜PG (4) 等に移動するごとに、ステップ
S101〜S106の処理が繰り返される。すなわち、
同一ページ内か否かにかかわらず、グローバルフレーム
ポインタPG の移動ごとに、マップテーブル19によ
るアドレス変換(マッピング)が行われることとなる。 図6の矢印21−1〜21−4等はグローバルフレーム
ポインタPG の移動ごとにマップテーブルによるアド
レス変換が行われる様子を示す。
【0013】なお、グローバルフレームポインタPG 
がPG (4) の位置に移動したとき、仮想メモリ上
のページが第2ページから第3ページへと切り換わるが
、この第3ページに対応するものはマップテーブル19
上に存在しないので、いわゆるページフォールト処理が
行われる。例えば、この時点でアクセスの対象となって
いない第iページに対応する実メモリ18上の第4ペー
ジの内容を一旦ハードディスク15に退避すると共に、
ハードディスク15から必要な部分の読込みを行う。そ
して、マップテーブル19の該当部分に(3→4)とい
う対応データを登録すると共に、(i→4)という対応
データを削除する。
【0014】
【発明が解決しようとする課題】このように、仮想記憶
計算システムではグローバルフレームのアドレスは仮想
アドレスによって管理されているが、従来のシステムで
はそのフレーム内のデータをアクセスするときに、毎回
必ず仮想メモリから実メモリへのアドレス変換を行うよ
うになっていたので、システムの動作速度が低下すると
いう欠点があった。
【0015】そこで、本発明の目的は、仮想メモリから
実メモリへのアドレス変換の頻度を削減することでシス
テムの動作速度を向上させることができる仮想記憶計算
システムを提供することにある。
【0016】
【課題を解決するための手段】請求項1記載の発明では
、(i) 同一サイズのページに区分された仮想上の論
理アドレスによって表現される論理メモリ空間を有する
仮想メモリと、(ii)ページ単位で仮想メモリと対応
付けられた物理アドレスにより参照されるメモリ空間を
有する実メモリと、(iii)仮想メモリ上に各プログ
ラムモジュールごとにデータ管理用の作業領域として設
けられたグローバルフレームのうち、1つのプログラム
モジュールから最初にアクセスされた仮想アドレスを実
メモリ上の実アドレスに変換するアドレス変換テーブル
と、(iv)このアドレス変換テーブルにより実アドレ
スに変換された実アドレスを格納するアドレスキャッシ
ュレジスタと、(v)プログラムモジュールからの2度
目以降のアクセスがあったとき、アドレスキャッシュレ
ジスタに格納された実アドレスを用いて目的の実アドレ
スを算出する実アドレス算出手段とを仮想記憶計算シス
テムに具備させる。
【0017】そして、請求項1記載の発明では、あるプ
ログラムモジュールから仮想メモリ上の対応するグロー
バルフレームへの最初のアクセスに対してはアドレス変
換テーブルにより仮想アドレスを実メモリ上の実アドレ
スに変換し、これをアドレスキャッシュレジスタに格納
したうえで、その実アドレスに実際のアクセスを行い、
二度目以降のアクセスに対しては、アドレス変換テーブ
ルを参照せず、キャッシュしておいた実アドレスから直
接目的の実アドレスを算出してアクセスすることとする
【0018】請求項2記載の発明では、(i) 同一サ
イズのページに区分された仮想上の論理アドレスによっ
て表現される論理メモリ空間を有する仮想メモリと、(
ii)ページ単位で仮想メモリと対応付けられた物理ア
ドレスにより参照されるメモリ空間を有する実メモリと
、(iii) 仮想メモリ上に各プログラムモジュール
ごとにデータ管理用の作業領域として設けられたグロー
バルフレームのうち、1つのプログラムモジュールから
最初にアクセスされた仮想アドレスを実メモリ上の実ア
ドレスに変換するアドレス変換テーブルと、(iv)こ
のアドレス変換テーブルにより実アドレスに変換された
実アドレスを格納するアドレスキャッシュレジスタと、
(v)プログラムモジュールからの2度目以降のアクセ
スがあったとき、そのアクセスが仮想メモリのそれまで
アクセスされていたページと同一ページ内のアドレスに
対するものであるか否かを判定する判定手段と、(vi
)この判定手段により同一ページ内のアドレスに対する
アクセスと判定されたとき、アドレスキャッシュレジス
タに格納された実アドレスに、該当するグローバルフレ
ームの先頭アドレスからの距離を示すオフセット値を加
算する加算手段と、(vii) この加算手段により得
られた値を実アドレスとして実メモリへのアクセスを実
行するアクセス実行手段とを仮想記憶計算システムに具
備させる。
【0019】そして、請求項2記載の発明では、あるプ
ログラムモジュールから仮想メモリ上の対応するグロー
バルフレームへの最初のアクセスに対しては、アドレス
変換テーブルにより仮想アドレスを実メモリ上の実アド
レスに変換し、これをアドレスキャッシュレジスタに格
納したうえで、その実アドレスに実際のアクセスを行い
、二度目以降のアクセスに対しては、そのアクセスが同
一ページ内のアドレスに対するものである限り、アドレ
ス変換テーブルを参照せず、キャッシュしておいた実ア
ドレスにオフセット値を加算することで目的の実アドレ
スを算出しアクセスすることとする。また、同一ページ
内のアドレスに対するアクセスでないときは、アドレス
変換テーブルを参照することとする。
【0020】
【実施例】以下実施例につき本発明を詳細に説明する。 図1は本発明の一実施例における仮想記憶計算システム
を表わしたものである。このシステムには、各種の命令
を実行しシステム全体の動作を制御する中央処理装置(
以下プロセッサと呼ぶ。)11が備えられ、データバス
やアドレスバス等からなるシステムバス12に接続され
ている。
【0021】このシステムバス12には、各種プログラ
ムやデータを格納する主記憶装置13や補助記憶装置と
してのハードディスク15が接続されている。
【0022】主記憶装置13は、仮想メモリ17、実メ
モリ18、およびマップテーブル19等から構成されて
いる。これら相互の関係や一般的動作原理は従来例(図
4)と同様であるのでここでは説明を省略する。
【0023】図2は、この仮想記憶計算システムにおけ
るプログラムモジュールと仮想メモリとの関係を表わし
たものである。このシステムのプログラムモジュールの
モジュール構成や仮想メモリ17のアドレスおよびペー
ジ構成は従来例と同様として説明する。すなわち、モジ
ュール■はアドレス“○○○○”を先頭とするプログラ
ムモジュールであり、仮想メモリ17のグローバルフレ
ーム■がこれに対応している。このグローバルフレーム
■のアドレス領域は仮想メモリ17の第2ページから第
3ページにわたって存在しており、モジュール■の実行
に伴い、順次グローバルフレーム■へのアクセスが行わ
れるようになっている。
【0024】以上のような構成の仮想記憶計算システム
の動作を、図3と共に説明する。まず、モジュール■の
先頭アドレス“○○○○”のインストラクションの実行
によりグローバルフレーム■へのアクセスが行われると
(図3ステップS101)、プロセッサ11(図1)は
このアクセスがグローバルフレーム■への最初のアクセ
スか否かを判断する(ステップS102)。この場合、
最初のアクセスなので(Y)、プロセッサ11は主記憶
装置13のモジュール管理テーブル(図7)からグロー
バルフレーム■の先頭アドレス“○×○×”を抽出する
(ステップS103)。
【0025】プロセッサ11は、このグローバルフレー
ムの先頭アドレスをマップテーブル19(図1、図4)
により実アドレスAR に変換し(ステップS104)
、この実アドレスAR を自己のキャッシュレジスタ1
4(図1)に格納する(ステップS105)。
【0026】この場合、グローバルフレーム■の先頭ア
ドレス“○×○×”は仮想メモリ17の第2ページに属
するので、マップテーブル19により実メモリの第5ペ
ージの該当アドレスに変換されてキャッシュされる。
【0027】さらにプロセッサ11は、変換したアドレ
スAR に、このアドレスからの距離を示すオフセット
値xを加算し、これを新たなAR とする(ステップS
106)。
【0028】ここで、実アドレスAR がページ境界を
越えていないときには(ステップS107;N)、プロ
セッサ11はそのまま実メモリ18の実アドレスAR 
にアクセスを行う(ステップS108)。
【0029】モジュールプログラム■の次のインストラ
クションが実行されると(ステップS109;N、ステ
ップS101)、今度は最初のアクセスでないので(ス
テップS102;N)、プロセッサ11はキャッシュレ
ジスタ14に既に格納してある実アドレスAR にオフ
セットxを加算し(ステップS106)、これを新たな
実アドレスAR とする。
【0030】一方、実アドレスAR がページ境界を越
えていたときには(ステップS107;Y)、グローバ
ルフレーム■の先頭アドレス“○×○×”にオフセット
値xを加算してこれをターゲット仮想アドレスAV と
し(ステップS110)、これをマップテーブル19(
図1、図4)により実アドレスAR に変換したうえで
(ステップS111)、実メモリ18の実アドレスAR
 に対する物理的アクセスを実行する(ステップS10
8)。
【0031】図2でグローバルフレームポインタPG 
がPG (4) の位置に移動し、仮想メモリ上のペー
ジが第2ページから第3ページへと切り換わる場合、こ
れに対応するページがマップテーブル19上に存在しな
いため、従来例と同様にしてページフォールト処理が行
われる。
【0032】以下同様にしてプログラムモジュールの各
インストラクションが順次実行されるが、図2に矢印2
1−1および21−4で示したように、同一グローバル
フレーム内では、ページが切り換わったときにのみマッ
プテーブルによるアドレス変換が行われることとなる。
【0033】本実施例では、グローバルフレーム■につ
いてのみ説明したが、ステップが次のグローバルフレー
ム■に移る場合には、あらためてマップテーブルによる
アドレス変換を行い、これをキャッシュレジスタに格納
することとなる。
【0034】なお、本実施例でページ境界を越えたとき
は最初の実アドレスの計算(図3ステップS106)の
分だけ処理が増すが、従来逐一行っていたマップテーブ
ルによるアドレス変換処理に比べ、アドレスの加算処理
に要する時間は格段に短くて済むことから、全体として
のパフォーマンスとしては有利となる。また、例えばグ
ローバルフレームの先頭に使用頻度の高いデータを配置
することによりマップテーブルによる変換の頻度を少な
くすることができ、パフォーマンスをより向上させるこ
とができる。
【0035】
【発明の効果】以上説明したように、請求項1記載の発
明によれば、あるプログラムモジュールから仮想メモリ
上の対応するグローバルフレームへの最初のアクセスに
ついてのみアドレス変換テーブルを参照し、二度目以降
のアクセスに対してはアドレス変換テーブルを参照せず
、キャッシュしておいた実アドレスから直接目的の実ア
ドレスを算出することとしたので、仮想メモリから実メ
モリへのアドレス変換の頻度を削減することができる。 このため、システム全体としての動作速度を向上させる
ことができるという効果がある。
【0036】また、請求項2記載の発明によれば、ある
プログラムモジュールから仮想メモリ上の対応するグロ
ーバルフレームへの二度目以降のアクセスにおいて、そ
のアクセスが同一ページ内のアドレスに対するものであ
る限り、アドレス変換テーブルを参照せず、目的の実ア
ドレスを直接算出してアクセスし、そうでない場合にの
みアクセス変換テーブルを参照することとしたので、複
数ページにわたるグローバルフレームであっても問題が
なく、効率よくアクセスを実行することができるという
効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例における仮想記憶計算システ
ムを示すブロック図である。
【図2】この仮想記憶計算システムにおけるプログラム
モジュールと仮想メモリとの関係を示す説明図である。
【図3】この仮想記憶計算システムの動作を説明するた
めの流れ図である。
【図4】この仮想記憶計算システムの一般的動作原理を
説明するための説明図である。
【図5】従来の仮想記憶計算システムの動作を説明する
ための流れ図である。
【図6】従来の仮想記憶計算システムにおけるプログラ
ムモジュールと仮想メモリとの関係を示す説明図である
【図7】モジュール管理テーブルを示す説明図である。
【符号の説明】
11  プロセッサ 12  システムバス 13  主記憶装置 14  キャッシュレジスタ 15  ハードディスク 17  仮想メモリ 18  実メモリ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  同一サイズのページに区分された仮想
    上の論理アドレスによって表現される論理メモリ空間を
    有する仮想メモリと、ページ単位で仮想メモリと対応付
    けられた物理アドレスにより参照されるメモリ空間を有
    する実メモリと、前記仮想メモリ上に各プログラムモジ
    ュールごとにデータ管理用の作業領域として設けられた
    グローバルフレームのうち、1つのプログラムモジュー
    ルから最初にアクセスされた仮想アドレスを実メモリ上
    の実アドレスに変換するアドレス変換テーブルと、この
    アドレス変換テーブルにより実アドレスに変換された実
    アドレスを格納するアドレスキャッシュレジスタと、前
    記プログラムモジュールからの2度目以降のアクセスが
    あったとき、前記アドレスキャッシュレジスタに格納さ
    れた実アドレスを用いて目的の実アドレスを算出する実
    アドレス算出手段とを具備することを特徴とする仮想記
    憶計算システム。
  2. 【請求項2】  同一サイズのページに区分された仮想
    上の論理アドレスによって表現される論理メモリ空間を
    有する仮想メモリと、ページ単位で仮想メモリと対応付
    けられた物理アドレスにより参照されるメモリ空間を有
    する実メモリと、前記仮想メモリ上に各プログラムモジ
    ュールごとにデータ管理用の作業領域として設けられた
    グローバルフレームのうち、1つのプログラムモジュー
    ルから最初にアクセスされた仮想アドレスを実メモリ上
    の実アドレスに変換するアドレス変換テーブルと、この
    アドレス変換テーブルにより実アドレスに変換された実
    アドレスを格納するアドレスキャッシュレジスタと、前
    記プログラムモジュールからの2度目以降のアクセスが
    あったとき、そのアクセスが前記仮想メモリのそれまで
    アクセスされていたページと同一ページ内のアドレスに
    対するものであるか否かを判定する判定手段と、この判
    定手段により同一ページ内のアドレスに対するアクセス
    と判定されたとき、前記アドレスキャッシュレジスタに
    格納された実アドレスに、該当するグローバルフレーム
    の先頭アドレスからの距離を示すオフセット値を加算す
    る加算手段と、この加算手段により得られた値を実アド
    レスとして実メモリへのアクセスを実行するアクセス実
    行手段とを具備することを特徴とする仮想記憶計算シス
    テム。
JP3067715A 1991-03-08 1991-03-08 仮想記憶計算システム Pending JPH04280337A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3067715A JPH04280337A (ja) 1991-03-08 1991-03-08 仮想記憶計算システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3067715A JPH04280337A (ja) 1991-03-08 1991-03-08 仮想記憶計算システム

Publications (1)

Publication Number Publication Date
JPH04280337A true JPH04280337A (ja) 1992-10-06

Family

ID=13352935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3067715A Pending JPH04280337A (ja) 1991-03-08 1991-03-08 仮想記憶計算システム

Country Status (1)

Country Link
JP (1) JPH04280337A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573425A (ja) * 1991-09-12 1993-03-26 Fuji Xerox Co Ltd 仮想計算機のアドレス変換方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573425A (ja) * 1991-09-12 1993-03-26 Fuji Xerox Co Ltd 仮想計算機のアドレス変換方式

Similar Documents

Publication Publication Date Title
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JP2003167737A (ja) スタック使用方法
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
KR910001314B1 (ko) 데이타 처리 시스템에서의 가상 메모리 사용방법
JP3088303B2 (ja) キャッシュ・メモリ・バンク制御装置
JPS6150345B2 (ja)
JPH02292648A (ja) 多重仮想記憶システムおよびアドレス制御装置
JPH04280337A (ja) 仮想記憶計算システム
JPS6273347A (ja) アドレス変換装置
JPS6237754A (ja) 仮想拡張記憶方式
JPH11249937A (ja) コンピュータシステム
JPH04291642A (ja) キャッシュ制御方式
JP2759952B2 (ja) キャッシュメモリ
JPH04340143A (ja) ディジタル計算機
JPH01311343A (ja) メモリ制御方式
JPS62197843A (ja) フアイルアクセス方式
JPH05120134A (ja) キヤツシユメモリ実装方式
JPH0521256B2 (ja)
JPH07141252A (ja) データ処理装置
JPS63300340A (ja) マイクロプロセッサ処理装置
JPS61156450A (ja) 動的バッファ管理方法
JPH0447344B2 (ja)
JPH01123341A (ja) 仮想記憶方式のコンピュータシステム
JPH04113432A (ja) 仮想記憶制御方法
JPH0485641A (ja) 仮想記憶管理方式