JPH05128006A - Virtual computer system - Google Patents

Virtual computer system

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
Application number
JP3060756A
Other languages
Japanese (ja)
Inventor
Takayoshi Hamano
隆芳 濱野
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 JP3060756A priority Critical patent/JPH05128006A/en
Publication of JPH05128006A publication Critical patent/JPH05128006A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To obtain a virtual computer system capable of rapidly exchanging data in each page. CONSTITUTION:A computer 11 is provided with a real memory 15 for storing data read out from a secondary storage device 14, a map table 18 for allowing real pages stored in the memory 15 to correspond to virtual pages and a map table rewriting means for exchanging entering items relating to two pages to be mutually exchanged in the table 18.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は仮想計算機システムに係
わり、特に所定量のバーチャル・ページからなるブロッ
ク同士を高速で交換することができるようにした仮想計
算機システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a virtual computer system and, more particularly, to a virtual computer system capable of exchanging blocks each having a predetermined amount of virtual pages at high speed.

【0002】[0002]

【従来の技術】計算機システムでは、必要とするデータ
を磁気ディスク等の記憶媒体から所定単位量ずつ読み出
して、内部のキャッシュ・メモリに格納して使用するよ
うになっていることが多い。このようなシステムで、キ
ャッシュ・メモリに格納された2つのトラックにまたが
ってアクセスが要求された場合を考える。キャッシュ・
メモリにおいてこれらのトラック・データが連続してい
なければならないものとする。これらのトラック・デー
タはキャッシュ・メモリ内に格納されているが、降順ま
たは昇順で互いに隣接してはいないものとする。例えば
第1のトラックから読み出したトラック・データの次に
第5のトラックから読み出したトラック・データが配置
され、その次に第2のトラックから読み出したトラック
・データが配置されており、第1と第2のトラック・デ
ータをアクセスするような場合である。
2. Description of the Related Art In a computer system, required data is often read from a storage medium such as a magnetic disk by a predetermined unit amount and stored in an internal cache memory for use. Consider the case where an access is requested across two tracks stored in cache memory in such a system. cache·
It is assumed that these track data must be consecutive in memory. These track data are stored in the cache memory but are not adjacent to each other in descending or ascending order. For example, after the track data read from the first track, the track data read from the fifth track is arranged, and then the track data read from the second track is arranged. This is the case when accessing the second track data.

【0003】このような場合には、第5のトラック・デ
ータと第2のトラック・データをスワップ(交換)する
ことによって、2トラック分の連続したアクセスが可能
になる。
In such a case, swapping (exchanging) the fifth track data and the second track data enables continuous access for two tracks.

【0004】従来、このような場合にはデータを現実に
単位量ずつスワップする処理が行われていた。このと
き、CPU(中央処理装置)の処理する単位量のデータ
としての1ワードのデータを交換するのに、次のように
6回の操作が必要とされた。
Conventionally, in such a case, a process of actually swapping data by unit amount has been performed. At this time, in order to exchange 1-word data as a unit amount of data to be processed by the CPU (central processing unit), 6 operations were required as follows.

【0005】まず、CPUは前記した第2トラックの
データのうちの最初のページの1ワードのデータAを読
み出す。次にこの1ワードのデータAを所定のメモリ
領域に退避させる。そして、第5トラックのデータの
うちの最初のページの1ワードのデータBを読み出す。
次にこの第5トラックの1ワードのデータBを第2ト
ラックのデータの読出箇所に書き込む。そしてメモリ
領域に退避させた1ワードのデータAを読み出す。最後
に、これを第5トラックのデータBの読み出された箇
所に書き込む。
First, the CPU reads the 1-word data A of the first page among the data of the second track. Next, this 1-word data A is saved in a predetermined memory area. Then, the data B of one word of the first page of the data of the fifth track is read.
Then, the 1-word data B of the fifth track is written in the read-out portion of the data of the second track. Then, the 1-word data A saved in the memory area is read. Finally, this is written in the read portion of the data B of the fifth track.

【0006】このようにして第2トラック・データと第
5トラック・データのそれぞれ1ワード分のスワップが
終了したら次の1ワードについて同様の処理が行われ、
以後同様な操作が繰り返されて1トラック分のデータの
スワップが完了する。
In this way, when the swap of one word each of the second track data and the fifth track data is completed, the same processing is performed for the next one word,
After that, the same operation is repeated and the data swap for one track is completed.

【0007】このように、従来の仮想計算機システムで
は、データの交換を行う場合にこれらのデータを現実に
移動させながら交換を実現していた。このため、例えば
1ページのデータをスワップする場合でも、1ページが
256ワードで構成されているものとすると、前記した
6ステップのメモリ・アクセスがワードごとに行われる
結果、合計では6×256回のメモリ・アクセスが必要
であった。1トラックのスワップの場合には、これを1
6倍した回数のメモリ・アクセスが必要であり、スワッ
ピングのためのメモリ処理に多くの時間を必要とすると
いった問題があった。
As described above, in the conventional virtual computer system, when exchanging data, the exchanging of the data is realized while actually moving the data. Therefore, for example, even when swapping the data of one page, assuming that one page is composed of 256 words, the above-mentioned 6-step memory access is performed for each word, resulting in a total of 6 × 256 times. Memory access was required. In case of 1-track swap, set this to 1
There is a problem that the memory access is required to be multiplied by 6 times, and a lot of time is required for the memory processing for swapping.

【0008】そこで本発明の目的は、ページ単位のデー
タを迅速に交換することのできる仮想計算機システムを
提供することにある。
It is therefore an object of the present invention to provide a virtual computer system capable of quickly exchanging data in page units.

【0009】[0009]

【課題を解決するための手段】請求項1記載の発明で
は、磁気ディスクから読み出されたデータ等のデータを
格納するメモリと、このメモリのリアル・ページとバー
チャル・ページを対応付けるためのマップ・テーブル
と、データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる双方の
ページに関する記入項目を交換するマップ・テーブル書
換手段とを仮想計算機システムに具備させる。
According to a first aspect of the present invention, a memory for storing data such as data read from a magnetic disk and a map for associating a real page and a virtual page of this memory with each other are provided. The virtual computer system is provided with a table and a map table rewriting means for exchanging entries relating to both pages to be exchanged in the map table when it is requested to exchange data in page units.

【0010】すなわち請求項1記載の発明では、現実の
データを転送制御するのではなく、リアル・ページとバ
ーチャル・ページを対応付けたマップ・テーブルの双方
のページに関する記入項目(エントリ)を交換するよう
にする。これにより、例えば1ページが1ワードで記入
されていた場合には、1ページ分のデータを交換する場
合に比べて遙かに速く交換を実現することができる。
That is, according to the first aspect of the invention, instead of controlling the transfer of actual data, the entry items (entries) relating to both pages of the map table in which the real page and the virtual page are associated are exchanged. To do so. Thus, for example, when one page is written in one word, the exchange can be realized much faster than the case of exchanging the data for one page.

【0011】請求項2記載の発明では、磁気ディスクか
ら読み出されたデータ等のデータを格納するメモリと、
このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、レジスタと、デー
タをページ単位で交換することが要求されたとき、マッ
プ・テーブルにおける交換対象とされる一方のページに
関する記入項目をレジスタに退避させる第1の処理手段
と、交換対象とされる他方のページに関する記入項目を
前記した1ページに関する記入項目の読み出された箇所
に書き込む第2の処理手段と、レジスタに退避された記
入項目を前記した他方のページに関する記入項目の読み
出された箇所に書き込む第3の処理手段とを仮想計算機
システムに具備させる。
According to a second aspect of the present invention, a memory for storing data such as data read from the magnetic disk,
A map table for associating a real page with a virtual page of this memory, a register, and an entry regarding one of the pages to be exchanged in the map table when it is requested to exchange data in page units. A first processing means for saving an item in a register, a second processing means for writing an entry related to the other page to be exchanged at a location where the above-mentioned entry for one page has been read out, and saving to a register The virtual computer system is provided with a third processing means for writing the written entry in the read location of the entry related to the other page.

【0012】すなわち請求項2記載の発明では、マップ
・テーブルにおけるアドレス情報等のエントリをページ
単位で交換することにし、このときレジスタにこれらの
エントリを一時的に格納することで、メモリ領域にデー
タを格納する場合に比べて更に処理の高速化を図るよう
にしている。
That is, according to the second aspect of the invention, the entries such as the address information in the map table are exchanged in page units, and at this time, these entries are temporarily stored in the register so that the data is stored in the memory area. The processing speed is further increased as compared with the case of storing.

【0013】[0013]

【実施例】以下実施例につき本発明を詳細に説明する。EXAMPLES The present invention will be described in detail below with reference to examples.

【0014】図1は本発明の一実施例における仮想計算
機システムを構成する計算機の一例を表わしたものであ
る。この計算機11は、CPU12を備えている。CP
U12は、データバス等のバス13を介して磁気ディス
クやその駆動装置等から構成される2次記憶装置14
と、ランダム・アクセス・メモリ等からなる実メモリ1
5と接続されている。ただし、2次記憶装置14との間
のI/O(入出力)ポートの図示は省略している。ま
た、この計算機11が例えばワークステーションの一部
として構成されている場合には、バス13にキーボー
ド、ディスプレイ、マウス等の入出力機器がインタフェ
ース回路を介して接続されるが、これらについては本発
明と直接関係しないので、図示を省略している。
FIG. 1 shows an example of a computer constituting a virtual computer system according to an embodiment of the present invention. The calculator 11 includes a CPU 12. CP
U12 is a secondary storage device 14 including a magnetic disk, a drive device thereof, and the like via a bus 13 such as a data bus.
And a real memory 1 consisting of random access memory, etc.
It is connected to 5. However, illustration of an I / O (input / output) port with the secondary storage device 14 is omitted. Further, when the computer 11 is configured as a part of a workstation, for example, input / output devices such as a keyboard, a display and a mouse are connected to the bus 13 through an interface circuit. Since it is not directly related to, the illustration is omitted.

【0015】この計算機11には、仮想的なメモリとし
て仮想メモリ17が配置されている。仮想メモリ17
は、マップ・テーブル18によって管理されている。マ
ップ・テーブル18と実メモリ15の間には、割付部1
9が配置されている。ただし、仮想メモリ17は、実際
の回路装置として存在するものではなく、実メモリ15
の所定の領域と2次記憶装置14に格納された所定のプ
ログラムによって機能的に存在するものであることはも
ちろんである。また、マップ・テーブルおよび割付部1
9は、実際の回路装置として存在しても、あるいは仮想
メモリ17のように機能的に存在しても構わない。本実
施例では、実メモリ15の所定の領域と2次記憶装置1
4を用いて機能的に存在させた。
In this computer 11, a virtual memory 17 is arranged as a virtual memory. Virtual memory 17
Are managed by the map table 18. The allocation unit 1 is provided between the map table 18 and the real memory 15.
9 are arranged. However, the virtual memory 17 does not exist as an actual circuit device, but the actual memory 15
Of course, it is functionally present depending on a predetermined area of the above and a predetermined program stored in the secondary storage device 14. Also, map table and allocation unit 1
9 may exist as an actual circuit device or may exist functionally like the virtual memory 17. In the present embodiment, a predetermined area of the real memory 15 and the secondary storage device 1
Functionally present with 4.

【0016】図2は、マップ・テーブルの一例を表わし
たものである。このマップ・テーブル18のバーチャル
・ページV1 〜V16に順次対応した合計16ページ分
(1トラック)の領域には、それぞれ実メモリ15のリ
アル・ページR1 〜R16がエントリとして1ワードずつ
記憶されている。また、同様に他のバーチャル・ページ
1 ′〜V16′に順次対応した合計16ページ分の領域
には、それぞれ実メモリ15のリアル・ページR1 ′〜
16′がエントリとして1ワードずつ記憶されている。
FIG. 2 shows an example of the map table. In the area of a total of 16 pages (1 track) corresponding to the virtual pages V 1 to V 16 of the map table 18 in sequence, the real pages R 1 to R 16 of the real memory 15 are 1 word each as an entry. Remembered Similarly, in the areas for a total of 16 pages corresponding to the other virtual pages V 1 ′ to V 16 ′ in sequence, the real pages R 1 ′ to
R 16 ′ is stored as an entry word by word.

【0017】本実施例では、バーチャル・ページV1
16で表わされる1トラック分(16ページ)のデータ
を、他のバーチャル・ページV1 ′〜V16′で表わされ
る1トラック分のデータとスワップするものとする。本
実施例では、この場合にマップ・テーブル18のこれら
のエントリを相互に書き換えることにして、リアル・ペ
ージのスワップを実現する。
In this embodiment, virtual pages V 1 ...
The data for one track (page 16) represented by V 16, it is assumed that the data swapped for one track represented by the other virtual page V 1 '~V 16'. In this embodiment, in this case, these entries of the map table 18 are mutually rewritten to realize the real page swap.

【0018】図3は、1トラック分のデータのスワップ
が要求されたときのこの仮想計算機システムの動作を説
明するためのものである。CPU12は、まず、マップ
・テーブル18における該当するトラックの最初のバー
チャル・ページVのリアル・ページを記した1ワード分
のエントリを読み出す(ステップS101)。そして、
このエントリをCPU14の汎用レジスタに格納する
(ステップS102)。
FIG. 3 is a diagram for explaining the operation of the virtual computer system when a data swap for one track is requested. First, the CPU 12 reads an entry for one word that describes the real page of the first virtual page V of the corresponding track in the map table 18 (step S101). And
This entry is stored in the general-purpose register of the CPU 14 (step S102).

【0019】次にCPU14はスワップを行うトラック
の対応するバーチャル・ページV′のエントリを読み出
す(ステップS103)。そして、このエントリをバー
チャル・ページVのエントリが読み出された箇所に書き
込む(ステップS104)。次に汎用レジスタに格納さ
れた内容をバーチャル・ページVに書き込んで、1ペー
ジ分のスワップを終了させる(ステップS105)。
Next, the CPU 14 reads the entry of the virtual page V'corresponding to the track to be swapped (step S103). Then, this entry is written in the location where the entry of the virtual page V is read (step S104). Next, the contents stored in the general-purpose register are written in the virtual page V, and the swap for one page is completed (step S105).

【0020】こののち、CPU14はスワップを行う残
りのページが存在するかとうかをチェックする(ステッ
プS106)。そして、残りのページが存在すれば
(Y)、それぞれのバーチャル・ページV、V′を次の
ページに進める(ステップS107)。図2に示した例
では、バーチャル・ページV1 がV2 になり、他のバー
チャル・ページV1 ′がV2 ′になる。そして、ステッ
プS101に戻って1ページ分のスワップが行われる。
このようにして16ページ分のスワップが終了すると
(ステップS106;Y)、1トラック分のスワップが
完了する(エンド)。
After this, the CPU 14 checks whether or not there are remaining pages to be swapped (step S106). Then, if there are remaining pages (Y), the respective virtual pages V and V ′ are advanced to the next page (step S107). In the example shown in FIG. 2, the virtual page V 1 becomes V 2 and the other virtual page V 1 ′ becomes V 2 ′. Then, returning to step S101, swapping for one page is performed.
When the swap for 16 pages is completed in this way (step S106; Y), the swap for one track is completed (END).

【0021】なお、このようなマップ・テーブル18書
き換えの作業は、他の作業を途中に入れずに連続して実
行することが好ましい。
It is preferable that the rewriting operation of the map table 18 is continuously executed without interposing other operations.

【0022】以上説明した実施例では、CPU内のレジ
スタを使用してデータの退避を行ったので、メモリに退
避させる場合に比べて処理が高速化する。もちろん、メ
モリにこれらのエントリを退避させてもよく、この場合
であっても前記した従来技術と比較して1ページを1ワ
ードで処理できるので256分の1の処理時間で1ペー
ジのデータのスワップを行うことができる。
In the embodiment described above, the data is saved by using the register in the CPU, so that the processing speed is increased as compared with the case of saving the data in the memory. Of course, these entries may be saved in the memory, and even in this case, one page can be processed with one word as compared with the above-mentioned conventional technique, so that one page of data can be processed in 1/256 processing time. You can swap.

【0023】なお、以上説明した実施例ではスワップの
行われる単位を1トラック(16ページ)としたが、こ
れ以外であってもよいことはもちろんである。
In the above-described embodiment, the unit of swapping is one track (16 pages), but it goes without saying that other units may be used.

【発明の効果】以上説明したように本発明によれば、リ
アル・ページとバーチャル・ページを対応付けるための
マップ・テーブルのエントリを交換することでスワップ
を実現したので、通常のブロック転送を行う場合と比
べ、処理が非常に高速化し、システム効率を高めること
ができる。また、フェッチするコード量も減少し、スワ
ップの実行自体もすべてハードウェアあるいはマイクロ
コードで実現できるので、この意味でも高速化を図るこ
とができる。
As described above, according to the present invention, the swap is realized by exchanging the entries of the map table for associating the real page and the virtual page, so that the normal block transfer is performed. Compared with, the processing speed is very high and the system efficiency can be improved. In addition, the amount of code to be fetched is reduced, and the swap execution itself can be realized by hardware or microcode. Therefore, also in this sense, the speed can be increased.

【図面の詳細な説明】[Detailed Description of Drawings]

【図1】本発明の一実施例における仮想計算機システム
を構成する計算機の一例を表わしたブロック図である。
FIG. 1 is a block diagram showing an example of a computer that constitutes a virtual computer system according to an embodiment of the present invention.

【図2】マップ・テーブルの使用例を表わした説明図で
ある。
FIG. 2 is an explanatory diagram showing a usage example of a map table.

【図3】スワッピングの作業を表わした流れ図である。FIG. 3 is a flowchart showing a swapping operation.

【符号の説明】[Explanation of symbols]

11 計算機 12 CPU 14 2次記憶装置 15 実メモリ 17 仮想メモリ 18 マップ・テーブル R リアル・ページ V バーチャル・ページ 11 computer 12 CPU 14 secondary storage device 15 real memory 17 virtual memory 18 map table R real page V virtual page

【手続補正書】[Procedure amendment]

【提出日】平成4年11月9日[Submission date] November 9, 1992

【手続補正1】[Procedure Amendment 1]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】全図[Correction target item name] All drawings

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図1】 [Figure 1]

【図2】 [Fig. 2]

【図3】 [Figure 3]

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 データを格納するメモリと、 このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、 前記データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる双方の
ページに関する記入項目を交換するマップ・テーブル書
換手段とを具備することを特徴とする仮想計算機システ
ム。
1. A memory for storing data, a map table for associating a real page and a virtual page of the memory, and a map table for exchanging the data page by page. A virtual computer system comprising map table rewriting means for exchanging entries relating to both pages to be exchanged.
【請求項2】 データを格納するメモリと、 このメモリのリアル・ページとバーチャル・ページを対
応付けるためのマップ・テーブルと、 レジスタと、 前記データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる一方の
ページに関する記入項目を前記レジスタに退避させる第
1の処理手段と、 前記交換対象とされる他方のページに関する記入項目を
前記1ページに関する記入項目の読み出された箇所に書
き込む第2の処理手段と、 前記レジスタに退避された記入項目を前記他方のページ
に関する記入項目の読み出された箇所に書き込む第3の
処理手段とを具備することを特徴とする仮想計算機シス
テム。
2. A memory for storing data, a map table for associating a real page and a virtual page of this memory, a register, and a map when it is requested to exchange the data page by page. First processing means for saving the entry related to one page to be exchanged in the table to the register, and the entry related to the other page to be exchanged being read out of the entry related to the one page And a third processing unit for writing the entry saved in the register to the location where the entry related to the other page is read out. Computer system.
JP3060756A 1991-02-12 1991-02-12 Virtual computer system Pending JPH05128006A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3060756A JPH05128006A (en) 1991-02-12 1991-02-12 Virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3060756A JPH05128006A (en) 1991-02-12 1991-02-12 Virtual computer system

Publications (1)

Publication Number Publication Date
JPH05128006A true JPH05128006A (en) 1993-05-25

Family

ID=13151439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3060756A Pending JPH05128006A (en) 1991-02-12 1991-02-12 Virtual computer system

Country Status (1)

Country Link
JP (1) JPH05128006A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013511079A (en) * 2009-11-16 2013-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Symmetric live migration of virtual machines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013511079A (en) * 2009-11-16 2013-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Symmetric live migration of virtual machines

Similar Documents

Publication Publication Date Title
JPS6376034A (en) Multiple address space control system
JPS5868286A (en) Cash memory and operation thereof
JPH05128006A (en) Virtual computer system
JP2004206424A (en) Data processing device and data transfer method for data processing device
JPS61216016A (en) Area control system for data base
JP2994917B2 (en) Storage system
JPS6237754A (en) Virtual extension storage system
JPH05100926A (en) Input/output managing system
JPH01181137A (en) Storage unit
JPS58171781A (en) Electronic computer
JPH04195563A (en) Controller for memory system
JPH0650481B2 (en) Data processing device
JP2906739B2 (en) Storage device
JPS635432A (en) Microprocessor
JPS623294A (en) Bit map mover
JPH02257282A (en) Table preparation processor
JPH03127126A (en) Information processor
JPS6385845A (en) Cache device
JPH10275113A (en) Storage device
JPS6168655A (en) Access method for buffer storage
JPS5987684A (en) Electronic computer having swap system buffer storage
JPH0520264A (en) Method for controlling buffer
JPH01222350A (en) Storage device
JPH01116848A (en) Buffer memory
JPS6222165A (en) Control system for access to main storage device