JPH05128006A - Virtual computer system - Google Patents
Virtual computer systemInfo
- 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
Abstract
Description
【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ワードずつ
記憶されている。また、同様に他のバーチャル・ページ
V1 ′〜V16′に順次対応した合計16ページ分の領域
には、それぞれ実メモリ15のリアル・ページR1 ′〜
R16′がエントリとして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 〜
V16で表わされる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.
【図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.
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)
応付けるためのマップ・テーブルと、 前記データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる双方の
ページに関する記入項目を交換するマップ・テーブル書
換手段とを具備することを特徴とする仮想計算機システ
ム。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.
応付けるためのマップ・テーブルと、 レジスタと、 前記データをページ単位で交換することが要求されたと
き、マップ・テーブルにおける交換対象とされる一方の
ページに関する記入項目を前記レジスタに退避させる第
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013511079A (en) * | 2009-11-16 | 2013-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Symmetric live migration of virtual machines |
-
1991
- 1991-02-12 JP JP3060756A patent/JPH05128006A/en active Pending
Cited By (1)
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 |