JPH05128006A - 仮想計算機システム - Google Patents
仮想計算機システムInfo
- Publication number
- JPH05128006A JPH05128006A JP3060756A JP6075691A JPH05128006A JP H05128006 A JPH05128006 A JP H05128006A JP 3060756 A JP3060756 A JP 3060756A JP 6075691 A JP6075691 A JP 6075691A JP H05128006 A JPH05128006 A JP H05128006A
- Authority
- JP
- Japan
- Prior art keywords
- page
- data
- memory
- virtual
- map table
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 ページ単位のデータを迅速に交換することの
できる仮想計算機システムを提供する。 【構成】 2次記憶装置14から読み出されたデータを
格納する実メモリ15と、この実メモリ15のリアル・
ページとバーチャル・ページを対応付けるためのマップ
・テーブル18と、データをページ単位で交換すること
が要求されたとき、マップ・テーブル18における交換
対象とされる双方のページに関する記入項目を交換する
マップ・テーブル書換手段とを計算機11に具備させ
る。
できる仮想計算機システムを提供する。 【構成】 2次記憶装置14から読み出されたデータを
格納する実メモリ15と、この実メモリ15のリアル・
ページとバーチャル・ページを対応付けるためのマップ
・テーブル18と、データをページ単位で交換すること
が要求されたとき、マップ・テーブル18における交換
対象とされる双方のページに関する記入項目を交換する
マップ・テーブル書換手段とを計算機11に具備させ
る。
Description
【0001】
【産業上の利用分野】本発明は仮想計算機システムに係
わり、特に所定量のバーチャル・ページからなるブロッ
ク同士を高速で交換することができるようにした仮想計
算機システムに関する。
わり、特に所定量のバーチャル・ページからなるブロッ
ク同士を高速で交換することができるようにした仮想計
算機システムに関する。
【0002】
【従来の技術】計算機システムでは、必要とするデータ
を磁気ディスク等の記憶媒体から所定単位量ずつ読み出
して、内部のキャッシュ・メモリに格納して使用するよ
うになっていることが多い。このようなシステムで、キ
ャッシュ・メモリに格納された2つのトラックにまたが
ってアクセスが要求された場合を考える。キャッシュ・
メモリにおいてこれらのトラック・データが連続してい
なければならないものとする。これらのトラック・デー
タはキャッシュ・メモリ内に格納されているが、降順ま
たは昇順で互いに隣接してはいないものとする。例えば
第1のトラックから読み出したトラック・データの次に
第5のトラックから読み出したトラック・データが配置
され、その次に第2のトラックから読み出したトラック
・データが配置されており、第1と第2のトラック・デ
ータをアクセスするような場合である。
を磁気ディスク等の記憶媒体から所定単位量ずつ読み出
して、内部のキャッシュ・メモリに格納して使用するよ
うになっていることが多い。このようなシステムで、キ
ャッシュ・メモリに格納された2つのトラックにまたが
ってアクセスが要求された場合を考える。キャッシュ・
メモリにおいてこれらのトラック・データが連続してい
なければならないものとする。これらのトラック・デー
タはキャッシュ・メモリ内に格納されているが、降順ま
たは昇順で互いに隣接してはいないものとする。例えば
第1のトラックから読み出したトラック・データの次に
第5のトラックから読み出したトラック・データが配置
され、その次に第2のトラックから読み出したトラック
・データが配置されており、第1と第2のトラック・デ
ータをアクセスするような場合である。
【0003】このような場合には、第5のトラック・デ
ータと第2のトラック・データをスワップ(交換)する
ことによって、2トラック分の連続したアクセスが可能
になる。
ータと第2のトラック・データをスワップ(交換)する
ことによって、2トラック分の連続したアクセスが可能
になる。
【0004】従来、このような場合にはデータを現実に
単位量ずつスワップする処理が行われていた。このと
き、CPU(中央処理装置)の処理する単位量のデータ
としての1ワードのデータを交換するのに、次のように
6回の操作が必要とされた。
単位量ずつスワップする処理が行われていた。このと
き、CPU(中央処理装置)の処理する単位量のデータ
としての1ワードのデータを交換するのに、次のように
6回の操作が必要とされた。
【0005】まず、CPUは前記した第2トラックの
データのうちの最初のページの1ワードのデータAを読
み出す。次にこの1ワードのデータAを所定のメモリ
領域に退避させる。そして、第5トラックのデータの
うちの最初のページの1ワードのデータBを読み出す。
次にこの第5トラックの1ワードのデータBを第2ト
ラックのデータの読出箇所に書き込む。そしてメモリ
領域に退避させた1ワードのデータAを読み出す。最後
に、これを第5トラックのデータBの読み出された箇
所に書き込む。
データのうちの最初のページの1ワードのデータAを読
み出す。次にこの1ワードのデータAを所定のメモリ
領域に退避させる。そして、第5トラックのデータの
うちの最初のページの1ワードのデータBを読み出す。
次にこの第5トラックの1ワードのデータBを第2ト
ラックのデータの読出箇所に書き込む。そしてメモリ
領域に退避させた1ワードのデータAを読み出す。最後
に、これを第5トラックのデータBの読み出された箇
所に書き込む。
【0006】このようにして第2トラック・データと第
5トラック・データのそれぞれ1ワード分のスワップが
終了したら次の1ワードについて同様の処理が行われ、
以後同様な操作が繰り返されて1トラック分のデータの
スワップが完了する。
5トラック・データのそれぞれ1ワード分のスワップが
終了したら次の1ワードについて同様の処理が行われ、
以後同様な操作が繰り返されて1トラック分のデータの
スワップが完了する。
【0007】このように、従来の仮想計算機システムで
は、データの交換を行う場合にこれらのデータを現実に
移動させながら交換を実現していた。このため、例えば
1ページのデータをスワップする場合でも、1ページが
256ワードで構成されているものとすると、前記した
6ステップのメモリ・アクセスがワードごとに行われる
結果、合計では6×256回のメモリ・アクセスが必要
であった。1トラックのスワップの場合には、これを1
6倍した回数のメモリ・アクセスが必要であり、スワッ
ピングのためのメモリ処理に多くの時間を必要とすると
いった問題があった。
は、データの交換を行う場合にこれらのデータを現実に
移動させながら交換を実現していた。このため、例えば
1ページのデータをスワップする場合でも、1ページが
256ワードで構成されているものとすると、前記した
6ステップのメモリ・アクセスがワードごとに行われる
結果、合計では6×256回のメモリ・アクセスが必要
であった。1トラックのスワップの場合には、これを1
6倍した回数のメモリ・アクセスが必要であり、スワッ
ピングのためのメモリ処理に多くの時間を必要とすると
いった問題があった。
【0008】そこで本発明の目的は、ページ単位のデー
タを迅速に交換することのできる仮想計算機システムを
提供することにある。
タを迅速に交換することのできる仮想計算機システムを
提供することにある。
【0009】
【課題を解決するための手段】請求項1記載の発明で
は、磁気ディスクから読み出されたデータ等のデータを
格納するメモリと、このメモリのリアル・ページとバー
チャル・ページを対応付けるためのマップ・テーブル
と、データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる双方の
ページに関する記入項目を交換するマップ・テーブル書
換手段とを仮想計算機システムに具備させる。
は、磁気ディスクから読み出されたデータ等のデータを
格納するメモリと、このメモリのリアル・ページとバー
チャル・ページを対応付けるためのマップ・テーブル
と、データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる双方の
ページに関する記入項目を交換するマップ・テーブル書
換手段とを仮想計算機システムに具備させる。
【0010】すなわち請求項1記載の発明では、現実の
データを転送制御するのではなく、リアル・ページとバ
ーチャル・ページを対応付けたマップ・テーブルの双方
のページに関する記入項目(エントリ)を交換するよう
にする。これにより、例えば1ページが1ワードで記入
されていた場合には、1ページ分のデータを交換する場
合に比べて遙かに速く交換を実現することができる。
データを転送制御するのではなく、リアル・ページとバ
ーチャル・ページを対応付けたマップ・テーブルの双方
のページに関する記入項目(エントリ)を交換するよう
にする。これにより、例えば1ページが1ワードで記入
されていた場合には、1ページ分のデータを交換する場
合に比べて遙かに速く交換を実現することができる。
【0011】請求項2記載の発明では、磁気ディスクか
ら読み出されたデータ等のデータを格納するメモリと、
このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、レジスタと、デー
タをページ単位で交換することが要求されたとき、マッ
プ・テーブルにおける交換対象とされる一方のページに
関する記入項目をレジスタに退避させる第1の処理手段
と、交換対象とされる他方のページに関する記入項目を
前記した1ページに関する記入項目の読み出された箇所
に書き込む第2の処理手段と、レジスタに退避された記
入項目を前記した他方のページに関する記入項目の読み
出された箇所に書き込む第3の処理手段とを仮想計算機
システムに具備させる。
ら読み出されたデータ等のデータを格納するメモリと、
このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、レジスタと、デー
タをページ単位で交換することが要求されたとき、マッ
プ・テーブルにおける交換対象とされる一方のページに
関する記入項目をレジスタに退避させる第1の処理手段
と、交換対象とされる他方のページに関する記入項目を
前記した1ページに関する記入項目の読み出された箇所
に書き込む第2の処理手段と、レジスタに退避された記
入項目を前記した他方のページに関する記入項目の読み
出された箇所に書き込む第3の処理手段とを仮想計算機
システムに具備させる。
【0012】すなわち請求項2記載の発明では、マップ
・テーブルにおけるアドレス情報等のエントリをページ
単位で交換することにし、このときレジスタにこれらの
エントリを一時的に格納することで、メモリ領域にデー
タを格納する場合に比べて更に処理の高速化を図るよう
にしている。
・テーブルにおけるアドレス情報等のエントリをページ
単位で交換することにし、このときレジスタにこれらの
エントリを一時的に格納することで、メモリ領域にデー
タを格納する場合に比べて更に処理の高速化を図るよう
にしている。
【0013】
【実施例】以下実施例につき本発明を詳細に説明する。
【0014】図1は本発明の一実施例における仮想計算
機システムを構成する計算機の一例を表わしたものであ
る。この計算機11は、CPU12を備えている。CP
U12は、データバス等のバス13を介して磁気ディス
クやその駆動装置等から構成される2次記憶装置14
と、ランダム・アクセス・メモリ等からなる実メモリ1
5と接続されている。ただし、2次記憶装置14との間
のI/O(入出力)ポートの図示は省略している。ま
た、この計算機11が例えばワークステーションの一部
として構成されている場合には、バス13にキーボー
ド、ディスプレイ、マウス等の入出力機器がインタフェ
ース回路を介して接続されるが、これらについては本発
明と直接関係しないので、図示を省略している。
機システムを構成する計算機の一例を表わしたものであ
る。この計算機11は、CPU12を備えている。CP
U12は、データバス等のバス13を介して磁気ディス
クやその駆動装置等から構成される2次記憶装置14
と、ランダム・アクセス・メモリ等からなる実メモリ1
5と接続されている。ただし、2次記憶装置14との間
のI/O(入出力)ポートの図示は省略している。ま
た、この計算機11が例えばワークステーションの一部
として構成されている場合には、バス13にキーボー
ド、ディスプレイ、マウス等の入出力機器がインタフェ
ース回路を介して接続されるが、これらについては本発
明と直接関係しないので、図示を省略している。
【0015】この計算機11には、仮想的なメモリとし
て仮想メモリ17が配置されている。仮想メモリ17
は、マップ・テーブル18によって管理されている。マ
ップ・テーブル18と実メモリ15の間には、割付部1
9が配置されている。ただし、仮想メモリ17は、実際
の回路装置として存在するものではなく、実メモリ15
の所定の領域と2次記憶装置14に格納された所定のプ
ログラムによって機能的に存在するものであることはも
ちろんである。また、マップ・テーブルおよび割付部1
9は、実際の回路装置として存在しても、あるいは仮想
メモリ17のように機能的に存在しても構わない。本実
施例では、実メモリ15の所定の領域と2次記憶装置1
4を用いて機能的に存在させた。
て仮想メモリ17が配置されている。仮想メモリ17
は、マップ・テーブル18によって管理されている。マ
ップ・テーブル18と実メモリ15の間には、割付部1
9が配置されている。ただし、仮想メモリ17は、実際
の回路装置として存在するものではなく、実メモリ15
の所定の領域と2次記憶装置14に格納された所定のプ
ログラムによって機能的に存在するものであることはも
ちろんである。また、マップ・テーブルおよび割付部1
9は、実際の回路装置として存在しても、あるいは仮想
メモリ17のように機能的に存在しても構わない。本実
施例では、実メモリ15の所定の領域と2次記憶装置1
4を用いて機能的に存在させた。
【0016】図2は、マップ・テーブルの一例を表わし
たものである。このマップ・テーブル18のバーチャル
・ページV1 〜V16に順次対応した合計16ページ分
(1トラック)の領域には、それぞれ実メモリ15のリ
アル・ページR1 〜R16がエントリとして1ワードずつ
記憶されている。また、同様に他のバーチャル・ページ
V1 ′〜V16′に順次対応した合計16ページ分の領域
には、それぞれ実メモリ15のリアル・ページR1 ′〜
R16′がエントリとして1ワードずつ記憶されている。
たものである。このマップ・テーブル18のバーチャル
・ページV1 〜V16に順次対応した合計16ページ分
(1トラック)の領域には、それぞれ実メモリ15のリ
アル・ページR1 〜R16がエントリとして1ワードずつ
記憶されている。また、同様に他のバーチャル・ページ
V1 ′〜V16′に順次対応した合計16ページ分の領域
には、それぞれ実メモリ15のリアル・ページR1 ′〜
R16′がエントリとして1ワードずつ記憶されている。
【0017】本実施例では、バーチャル・ページV1 〜
V16で表わされる1トラック分(16ページ)のデータ
を、他のバーチャル・ページV1 ′〜V16′で表わされ
る1トラック分のデータとスワップするものとする。本
実施例では、この場合にマップ・テーブル18のこれら
のエントリを相互に書き換えることにして、リアル・ペ
ージのスワップを実現する。
V16で表わされる1トラック分(16ページ)のデータ
を、他のバーチャル・ページV1 ′〜V16′で表わされ
る1トラック分のデータとスワップするものとする。本
実施例では、この場合にマップ・テーブル18のこれら
のエントリを相互に書き換えることにして、リアル・ペ
ージのスワップを実現する。
【0018】図3は、1トラック分のデータのスワップ
が要求されたときのこの仮想計算機システムの動作を説
明するためのものである。CPU12は、まず、マップ
・テーブル18における該当するトラックの最初のバー
チャル・ページVのリアル・ページを記した1ワード分
のエントリを読み出す(ステップS101)。そして、
このエントリをCPU14の汎用レジスタに格納する
(ステップS102)。
が要求されたときのこの仮想計算機システムの動作を説
明するためのものである。CPU12は、まず、マップ
・テーブル18における該当するトラックの最初のバー
チャル・ページVのリアル・ページを記した1ワード分
のエントリを読み出す(ステップS101)。そして、
このエントリをCPU14の汎用レジスタに格納する
(ステップS102)。
【0019】次にCPU14はスワップを行うトラック
の対応するバーチャル・ページV′のエントリを読み出
す(ステップS103)。そして、このエントリをバー
チャル・ページVのエントリが読み出された箇所に書き
込む(ステップS104)。次に汎用レジスタに格納さ
れた内容をバーチャル・ページVに書き込んで、1ペー
ジ分のスワップを終了させる(ステップS105)。
の対応するバーチャル・ページV′のエントリを読み出
す(ステップS103)。そして、このエントリをバー
チャル・ページVのエントリが読み出された箇所に書き
込む(ステップS104)。次に汎用レジスタに格納さ
れた内容をバーチャル・ページVに書き込んで、1ペー
ジ分のスワップを終了させる(ステップS105)。
【0020】こののち、CPU14はスワップを行う残
りのページが存在するかとうかをチェックする(ステッ
プS106)。そして、残りのページが存在すれば
(Y)、それぞれのバーチャル・ページV、V′を次の
ページに進める(ステップS107)。図2に示した例
では、バーチャル・ページV1 がV2 になり、他のバー
チャル・ページV1 ′がV2 ′になる。そして、ステッ
プS101に戻って1ページ分のスワップが行われる。
このようにして16ページ分のスワップが終了すると
(ステップS106;Y)、1トラック分のスワップが
完了する(エンド)。
りのページが存在するかとうかをチェックする(ステッ
プS106)。そして、残りのページが存在すれば
(Y)、それぞれのバーチャル・ページV、V′を次の
ページに進める(ステップS107)。図2に示した例
では、バーチャル・ページV1 がV2 になり、他のバー
チャル・ページV1 ′がV2 ′になる。そして、ステッ
プS101に戻って1ページ分のスワップが行われる。
このようにして16ページ分のスワップが終了すると
(ステップS106;Y)、1トラック分のスワップが
完了する(エンド)。
【0021】なお、このようなマップ・テーブル18書
き換えの作業は、他の作業を途中に入れずに連続して実
行することが好ましい。
き換えの作業は、他の作業を途中に入れずに連続して実
行することが好ましい。
【0022】以上説明した実施例では、CPU内のレジ
スタを使用してデータの退避を行ったので、メモリに退
避させる場合に比べて処理が高速化する。もちろん、メ
モリにこれらのエントリを退避させてもよく、この場合
であっても前記した従来技術と比較して1ページを1ワ
ードで処理できるので256分の1の処理時間で1ペー
ジのデータのスワップを行うことができる。
スタを使用してデータの退避を行ったので、メモリに退
避させる場合に比べて処理が高速化する。もちろん、メ
モリにこれらのエントリを退避させてもよく、この場合
であっても前記した従来技術と比較して1ページを1ワ
ードで処理できるので256分の1の処理時間で1ペー
ジのデータのスワップを行うことができる。
【0023】なお、以上説明した実施例ではスワップの
行われる単位を1トラック(16ページ)としたが、こ
れ以外であってもよいことはもちろんである。
行われる単位を1トラック(16ページ)としたが、こ
れ以外であってもよいことはもちろんである。
【発明の効果】以上説明したように本発明によれば、リ
アル・ページとバーチャル・ページを対応付けるための
マップ・テーブルのエントリを交換することでスワップ
を実現したので、通常のブロック転送を行う場合と比
べ、処理が非常に高速化し、システム効率を高めること
ができる。また、フェッチするコード量も減少し、スワ
ップの実行自体もすべてハードウェアあるいはマイクロ
コードで実現できるので、この意味でも高速化を図るこ
とができる。
アル・ページとバーチャル・ページを対応付けるための
マップ・テーブルのエントリを交換することでスワップ
を実現したので、通常のブロック転送を行う場合と比
べ、処理が非常に高速化し、システム効率を高めること
ができる。また、フェッチするコード量も減少し、スワ
ップの実行自体もすべてハードウェアあるいはマイクロ
コードで実現できるので、この意味でも高速化を図るこ
とができる。
【図1】本発明の一実施例における仮想計算機システム
を構成する計算機の一例を表わしたブロック図である。
を構成する計算機の一例を表わしたブロック図である。
【図2】マップ・テーブルの使用例を表わした説明図で
ある。
ある。
【図3】スワッピングの作業を表わした流れ図である。
11 計算機 12 CPU 14 2次記憶装置 15 実メモリ 17 仮想メモリ 18 マップ・テーブル R リアル・ページ V バーチャル・ページ
【手続補正書】
【提出日】平成4年11月9日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
Claims (2)
- 【請求項1】 データを格納するメモリと、 このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、 前記データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる双方の
ページに関する記入項目を交換するマップ・テーブル書
換手段とを具備することを特徴とする仮想計算機システ
ム。 - 【請求項2】 データを格納するメモリと、 このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、 レジスタと、 前記データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる一方の
ページに関する記入項目を前記レジスタに退避させる第
1の処理手段と、 前記交換対象とされる他方のページに関する記入項目を
前記1ページに関する記入項目の読み出された箇所に書
き込む第2の処理手段と、 前記レジスタに退避された記入項目を前記他方のページ
に関する記入項目の読み出された箇所に書き込む第3の
処理手段とを具備することを特徴とする仮想計算機シス
テム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3060756A JPH05128006A (ja) | 1991-02-12 | 1991-02-12 | 仮想計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3060756A JPH05128006A (ja) | 1991-02-12 | 1991-02-12 | 仮想計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05128006A true JPH05128006A (ja) | 1993-05-25 |
Family
ID=13151439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3060756A Pending JPH05128006A (ja) | 1991-02-12 | 1991-02-12 | 仮想計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05128006A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013511079A (ja) * | 2009-11-16 | 2013-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想マシンの対称型ライブ・マイグレーション |
-
1991
- 1991-02-12 JP JP3060756A patent/JPH05128006A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013511079A (ja) * | 2009-11-16 | 2013-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想マシンの対称型ライブ・マイグレーション |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6376034A (ja) | 多重アドレス空間制御方式 | |
JPH05128006A (ja) | 仮想計算機システム | |
JP2004206424A (ja) | データ処理装置及びデータ処理装置におけるデータ転送方法 | |
JP2994917B2 (ja) | 記憶システム | |
JPS6237754A (ja) | 仮想拡張記憶方式 | |
JPH05100926A (ja) | 入出力管理方式 | |
JPS58171781A (ja) | 電子計算機 | |
JPH04195563A (ja) | メモリシステムの制御装置 | |
JPH0650481B2 (ja) | データ処理装置 | |
JPS635432A (ja) | マイクロプロセツサ | |
JPS623294A (ja) | ビツトマツプム−バ− | |
JPH02257282A (ja) | 作表処理装置 | |
JPH03127126A (ja) | 情報処理装置 | |
JPH03282645A (ja) | ローカルエリアネットワークシステム | |
JPS6385845A (ja) | キヤツシユ装置 | |
JPH10275113A (ja) | 記憶装置 | |
JPS6168655A (ja) | バツフアストレ−ジのアクセス方法 | |
JPS5987684A (ja) | スワツプ方式のバツフアストレイジを有する電子計算機 | |
JPH0488562A (ja) | 回路設計システム | |
JPH0520264A (ja) | バツフア制御方法 | |
JPH01222350A (ja) | 記憶装置 | |
JPH01116848A (ja) | バッファメモリ | |
JPS58166581A (ja) | メモリのアドレツシング方式 | |
JPH02226447A (ja) | コンピユータ・システムおよびその記憶装置アクセス方法 | |
JPH02306473A (ja) | 磁気ディスク装置 |