JP2612173B2 - Virtual computer - Google Patents

Virtual computer

Info

Publication number
JP2612173B2
JP2612173B2 JP62224389A JP22438987A JP2612173B2 JP 2612173 B2 JP2612173 B2 JP 2612173B2 JP 62224389 A JP62224389 A JP 62224389A JP 22438987 A JP22438987 A JP 22438987A JP 2612173 B2 JP2612173 B2 JP 2612173B2
Authority
JP
Japan
Prior art keywords
guest
host
address
register
prefix
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.)
Expired - Fee Related
Application number
JP62224389A
Other languages
Japanese (ja)
Other versions
JPS6465640A (en
Inventor
元計 加藤
裕朗 大塚
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62224389A priority Critical patent/JP2612173B2/en
Publication of JPS6465640A publication Critical patent/JPS6465640A/en
Application granted granted Critical
Publication of JP2612173B2 publication Critical patent/JP2612173B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Description

【発明の詳細な説明】 〔概要〕 ホスト−ゲスト間のデータ転送を1命令で実行できる
ようになった仮想計算機に関し、 ホスト−ゲスト間のデータ転送命令を設け、ホスト−
ゲスト間のデータ転送命令が発行されたとき、ホスト−
ゲスト間のデータ転送をハードウェアにより行い得るよ
うになった仮想計算機を提供することを目的とし、 最も最小に走行していたゲストに対して、ゲストの動的
変換モード及びアドレス空間モードを示す情報を格納す
るゲスト・プログラム状態語レジスタと、ゲストのセグ
メント・テーブル・オリジンを示す情報を格納するゲス
ト制御レジスタの複数個と、ゲスト領域のアドレス基底
および限界を示す情報を格納するゲスト・アドレス基底
/限界レジスタと、ゲストのプレフィックス値を格納す
るゲスト・プレフィックス・レジスタとを設け、ホスト
に対しても同様なレジスタを設け、更に、ホスト−ゲス
ト間データ転送命令をハードウェア的に処理するデータ
転送命令処理機構を設けたことを構成要件とする。
DETAILED DESCRIPTION OF THE INVENTION [Overview] With regard to a virtual machine capable of executing data transfer between a host and a guest with one instruction, a data transfer instruction between a host and a guest is provided,
When a data transfer instruction between guests is issued, the host
Information indicating a dynamic translation mode and an address space mode of a guest with respect to a guest running the least, with the object of providing a virtual machine capable of performing data transfer between guests by hardware. , A plurality of guest control registers for storing information indicating the segment table origin of the guest, and a guest address base / for storing information indicating the address base and limit of the guest area. A limit register and a guest prefix register for storing a guest prefix value; a similar register for the host; and a data transfer instruction for processing the host-guest data transfer instruction in hardware. It is assumed that a processing mechanism is provided.

〔産業上の利用分野〕[Industrial applications]

本発明は、ホスト−ゲスト間のデータ転送を1命令で
実行できるようになった仮想計算機に関するものであ
る。
The present invention relates to a virtual machine capable of executing data transfer between a host and a guest with one instruction.

第7図は仮想計算機を説明する図である。仮想計算機
機構は一つの実計算機上に複数のOS(オペレーティング
・システム)を動作させる機構である。システム制御プ
ログラムはシステム全体を制御するものであり、複数の
システム制御プログラム(OS)が一つの実計算機の上で
走行し得るためには、システム制御プログラムを管理す
る別のプログラムが必要となる。ここでは、システム制
御プログラム(OS)のことをゲスト、システム制御プロ
グラム(OS)を管理するプログラムのことをホストと言
う。複数のゲストは様々なシステム・リソースを共用し
ている。例えば、レジスタや主記憶装置、入出力装置等
である。ホストは、これらシステム・リソースの管理や
ゲストのディスパッチを行う。
FIG. 7 is a diagram illustrating a virtual machine. The virtual machine mechanism is a mechanism for operating a plurality of OSs (operating systems) on one real machine. The system control program controls the entire system. In order for a plurality of system control programs (OS) to run on one real computer, another program for managing the system control program is required. Here, the system control program (OS) is called a guest, and the program that manages the system control program (OS) is called a host. Multiple guests share various system resources. For example, a register, a main storage device, an input / output device, and the like. The host manages these system resources and dispatches guests.

〔従来の技術〕[Conventional technology]

ホストからゲストへのデータ転送やゲストからホスト
へのデータ転送は、従来はソフトウェアにより実現して
いるので、先ずソフトウェアによる実現方法について述
べる。
Conventionally, data transfer from the host to the guest and data transfer from the guest to the host are implemented by software. First, a method of implementing the software will be described.

ゲスト−ホスト間のデータ転送を行う場合には、ゲス
ト論理アドレスをホスト論理アドレスに変換し、ホスト
論理アドレスをシステム絶対アドレスに変換することが
必要である。このために、先ずゲスト論理アドレスをホ
スト実アドレスに変換する。ゲスト・プログラム状態語
の値を主記憶上に格納されているゲスト制御情報ブロッ
クより読出し、そのDAT(動的アドレス変換)モード・
ビットをチェックする。このビットが‘0'である場合に
は、ゲスト論理アドレスは、ゲスト実アドレスに等し
い。‘1'である場合には、論理アドレスが実アドレスに
等しくないので、このアドレスを変換しなければならな
い。この変換の手順を以下に説明する。
When performing data transfer between a guest and a host, it is necessary to convert a guest logical address into a host logical address and convert a host logical address into a system absolute address. For this purpose, the guest logical address is first converted to a host real address. The value of the guest program status word is read from the guest control information block stored in the main memory, and its DAT (dynamic address translation) mode is read.
Check bits. If this bit is '0', the guest logical address is equal to the guest real address. If it is '1', then the logical address is not equal to the real address and this address must be translated. The procedure of this conversion will be described below.

ゲスト論理アドレスを実アドレスに変換するために
は、ゲスト制御レジスタCR1,CR7の値が必要である。先
に読出したプログラム状態語のアドレス空間モードによ
り、ゲスト論理アドレスがプライマリ空間にあるもの
か、セカンダリ空間にあるものかを先ずチェックする。
そのビットにより、プライマリ空間ならばゲスト制御レ
ジスタCR1、セカンダリ空間ならばゲスト制御レジスタC
R7の値が選択される。ここではプライマリ空間である場
合を考える。なお、プライマリ空間とは、その仮想空間
を変換テーブルの基点が制御レジスタCR1により指定さ
れる仮想空間のことである。同様に、セカンダリ空間と
は、その仮想空間の変換テーブルの基点が制御レジスタ
CR7により指定される仮想空間のことである。プライマ
リ空間,セカンダリ空間とは、アドレス空間の呼び方で
ある。
In order to convert a guest logical address into a real address, the values of the guest control registers CR1 and CR7 are required. First, it is checked whether the guest logical address is in the primary space or the secondary space according to the address space mode of the previously read program state word.
Depending on the bit, the guest control register CR1 in the primary space and the guest control register C in the secondary space
The value of R7 is selected. Here, consider the case of the primary space. Note that the primary space is a virtual space whose base point of the conversion table is specified by the control register CR1. Similarly, the secondary space is defined as the base point of the conversion table of the virtual space being the control register.
This is the virtual space specified by CR7. The primary space and the secondary space are called address spaces.

ゲスト制御レジスタCR1の値をゲスト制御情報ブロッ
クにより読出し、(以下、ゲスト制御情報ブロックに格
納されているものは、全て読出しの手続きが必要であ
る。従って、読出しの記述は省略する。)そこに格納さ
れているゲスト空間におけるセグメント・テーブル・オ
リジンを得る。このオリジンのアドレスにセグメント・
インデックスを加えることで、セグメント・テーブル・
エントリを得る。このエントリのアドレスはゲスト実ア
ドレスである。そこで、ゲスト制御情報ブロックに格納
されているゲスト・プレフィックスにより、該アドレス
をゲスト絶対アドレスに変換する。このゲスト絶対アド
レスはゲスト制御情報ブロックに格納がされているアド
レス・ベースを加えることにより、ホスト論理アドレス
に変換される。ホスト・プログラムとしては、このホス
ト論理アドレスを用いてセグメント・テーブル・エント
リをアクセスする。
The value of the guest control register CR1 is read by the guest control information block. (Hereinafter, everything stored in the guest control information block requires a read procedure. Therefore, the read description is omitted.) Get the segment table origin in the stored guest space. The segment /
By adding an index, the segment table
Get entry. The address of this entry is a guest real address. Therefore, the address is converted to a guest absolute address by the guest prefix stored in the guest control information block. This guest absolute address is converted to a host logical address by adding the address base stored in the guest control information block. The host program accesses the segment table entry using the host logical address.

セグメント・テーブル・エントリの中には、ページ・
テーブル・オリジンが格納されている。ページ・テーブ
ル・エントリを求めるためには、このオリジナルの値に
ページ・テーブル・インデックスを加え、ページ・テー
ブル・エントリを得る。このエントリのアドレスはやは
りゲスト実アドレスである。従って、ホストとしては、
セグメント・テーブルの場合と同様にして、ページ・テ
ーブル・エントリをアクセスして、その内容であるペー
ジ・アドレスを得る。
Some segment table entries contain page
Stores the table origin. To determine the page table entry, add the page table index to this original value to get the page table entry. The address of this entry is also the guest real address. Therefore, as a host,
As in the case of the segment table, the page table entry is accessed to obtain the contents, that is, the page address.

このページ・アドレスと、ゲスト論理アドレスのペー
ジ内変位を連結して、ゲスト実アドレスを得る。
This page address is concatenated with the in-page displacement of the guest logical address to obtain a guest real address.

第6図はゲスト論理アドレスのゲスト実アドレスへの
変換を概念的に示す図である。ゲスト実アドレスをプレ
フィックス変換すると、ゲスト絶対アドレスが得られ
る。ゲスト絶対アドレスにアドレス・ベースを加算する
と、ホスト論理アドレスが得られる。このホスト論理ア
ドレスは、上記ゲスト論理アドレスに対応するシステム
絶対アドレスに等しい。
FIG. 6 is a diagram conceptually showing conversion of a guest logical address into a guest real address. When the guest real address is prefix-converted, a guest absolute address is obtained. Adding the address base to the guest absolute address gives the host logical address. This host logical address is equal to the system absolute address corresponding to the guest logical address.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

上述の処理段階中に幾つかの例外事項が認識される。
ゲスト実アドレスを求められた段階で、そのアドレスが
ゲストに割り当てられた領域を越える場合がある。この
チェックはアドレス限界と比較することでなされる。こ
の場合には、アドレス指定例外が認識され、ホストは目
的のオペランドを含むページをDASDよりアクセスし、ペ
ージインする。その他にも、種々の例外が考えられる。
Several exceptions are recognized during the processing steps described above.
When the guest real address is determined, the address may exceed the area allocated to the guest. This check is made by comparing to the address limit. In this case, the addressing exception is recognized, and the host accesses the page containing the target operand from DASD and pages in. Various other exceptions are possible.

ソフトウェアは、以上のような手続きを経て、ゲスト
論理アドレスとホスト論理アドレスを用いてデータの転
送を行っている。この従来方式の問題点としては、 (a) 処理手続きが多い。
The software transfers data using the guest logical address and the host logical address through the above procedure. The problems of this conventional method are as follows: (a) There are many processing procedures.

(b) 例外発生に対するオーバーヘッドが大きい。(B) The overhead for exception occurrence is large.

ことが挙げられる。It is mentioned.

本発明は、この点に鑑みて創作されたものであって、
ホスト−ゲート間のデータ転送命令を設け、ホスト−ゲ
スト間のデータ転送命令が発行されたとき、ホスト−ゲ
スト間のデータ転送をハードウェアにより行い得るよう
になった仮想計算機を提供することを目的としている。
The present invention has been made in view of this point,
It is an object of the present invention to provide a virtual machine which is provided with a data transfer instruction between a host and a gate, and which can perform data transfer between a host and a guest by hardware when a data transfer instruction between a host and a guest is issued. And

〔問題点を解決するための手段〕[Means for solving the problem]

第1図は本発明の原理図である。ホスト10のプログラ
ム,ゲスト1のプログラム,ゲスト2のプログラム,ゲ
スト3のプログラムおよびゲスト4のプログラムは、メ
モリ上に存在する。中央処理装置の中には、命令レジス
タ240と、転送先であるゲスト論理アドレス又はホスト
論理アドレスを示すオペランド部と転送元であるホスト
論理アドレス又はゲスト論理アドレスを示す他のオペラ
ンド部とを持つホスト−ゲスト間データ転送命令を処理
するデータ転送処理機構210と、最も最近に走行してい
たゲストの動的変換モード及びアドレス空間モードを示
す情報を格納するゲスト・プログラム状態語レジスタ22
1と、最も最近に走行していたゲストのセグメント・テ
ーブル・オリジンを示す情報を格納するゲスト制御レジ
スタ222の複数個と、最も最近に走行していたゲストに
割り当てられている実記憶領域のアドレス基底を示す情
報を格納するゲスト・アドレス基底レジスタ223と、最
も最近に走行していたゲストのプレフィックス値を格納
するゲスト・プレフィックス・レジスタ224と、ホスト
の動的変換モード及びアドレス空間モードを示す情報を
格納するホスト・プログラム状態語レジスタ231と、ホ
ストのセグメント・テーブル・オリジンを示す情報を格
納するホスト制御レジスタ232の複数個と、システム実
記憶領域のアドレス基底を示す情報を格納するシステム
領域基底レジスタ233と、ホストのプレフィックス値を
格納するホスト・プレフィックス・レジスタ234が存在
する。
FIG. 1 is a diagram illustrating the principle of the present invention. The program of the host 10, the program of the guest 1, the program of the guest 2, the program of the guest 3, and the program of the guest 4 exist on the memory. The central processing unit includes a host having an instruction register 240, an operand portion indicating a guest logical address or a host logical address as a transfer destination, and another operand portion indicating a host logical address or a guest logical address as a transfer source. A data transfer processing mechanism 210 for processing an inter-guest data transfer instruction, and a guest program status word register 22 for storing information indicating a dynamic translation mode and an address space mode of the guest most recently running.
1 and a plurality of guest control registers 222 that store information indicating the segment table origin of the guest that has been running most recently, and the address of the real storage area allocated to the guest that has been running most recently A guest address base register 223 for storing information indicating the base, a guest prefix register 224 for storing the prefix value of the guest that has been running most recently, and information indicating the dynamic translation mode and address space mode of the host , A plurality of host control registers 232 for storing information indicating the segment table origin of the host, and a system area base for storing information indicating the address base of the system real storage area. Register 233 and host prefix to store host prefix value -The register 234 exists.

データ転送命令処理機構210は、命令レジスタ240にホ
スト−ゲスト間データ転送命令がセットされたときに起
動され、当該命令で指定されるゲスト論理アドレスを、
ゲスト・プログラム状態語レジスタ221とゲスト制御レ
ジスタ222の複数個とゲスト・アドレス基底レジスタ223
とゲスト・プレフィックス・レジスタ224とから成るゲ
スト専用レジスタ群の一部又は全部を使用して、システ
ム絶対アドレスに変換し、当該命令で指定されるホスト
論理アドレスを、ホスト・プログラム状態語にレジスタ
231とホスト制御レジスタ232の複数個とシステム領域基
底レジスタ233とホスト・プレフィックス・レジスタ234
とから成るホスト専用レジスタ群の一部または全部を使
用して、システム絶対アドレスに変換するように構成さ
れている ことを特徴とするものである。
The data transfer instruction processing mechanism 210 is activated when a host-guest data transfer instruction is set in the instruction register 240, and stores a guest logical address specified by the instruction.
A plurality of guest program status word registers 221 and guest control registers 222 and a guest address base register 223
Using a part or all of the guest-only registers including the guest prefix register 224 and a guest prefix register 224, the host logical address is converted into a system absolute address, and the host logical address specified by the instruction is registered in the host program status word.
231, multiple host control registers 232, system area base register 233, and host prefix register 234
A part or all of the host-dedicated register group consisting of the following is used to convert to a system absolute address.

〔実施例〕〔Example〕

第2図は本発明の基本的なアイデアを説明する図であ
る。例えば、ホスト領域に存在するデータを読み出し、
読出しデータをゲスト3の領域に書き込む場合、ホスト
の読出アドレスをホスト論理アドレスで指定し、ゲスト
3の書込みアドレスをゲスト論理アドレスで指定する。
FIG. 2 is a diagram for explaining the basic idea of the present invention. For example, reading data existing in the host area,
When writing the read data to the guest 3 area, the host read address is specified by the host logical address, and the write address of the guest 3 is specified by the guest logical address.

第2図は左側はホスト,ゲスト1,ゲスト2,ゲスト3,ゲ
スト4に対する主記憶領域の割当を示すものであるが、
第2図に示すように複数のゲストが存在する場合には、
それぞれのゲストに対してゲスト・アドレス基底レジス
タとゲスト・アドレス限界レジスタが設けられている。
例えば、ゲスト1のゲスト・アドレス基底レジスタはゲ
スト1の領域の先頭の主記憶アドレスを示し、ゲスト・
アドレス限界レジスタはゲスト1の領域の最終の主記憶
アドレスを示す。
FIG. 2 shows the assignment of the main storage areas to the host, guest 1, guest 2, guest 3, and guest 4 on the left side.
If there are multiple guests as shown in FIG. 2,
A guest address base register and a guest address limit register are provided for each guest.
For example, the guest address base register of the guest 1 indicates the main memory address at the head of the guest 1 area,
The address limit register indicates the last main memory address of the guest 1 area.

ホストに対してもシステム領域基底レジスタとシステ
ム領域限界レジスタが設けられている。システム領域基
底アドレスはホスト領域の先頭の主記憶アドレス(0番
地)を示す。システム領域限界レジスタの値は変えるこ
とができ、システム領域限界レジスタは或る場合にはホ
スト領域の最終の主記憶アドレスを示し、或る場合には
主記憶アドレスの最大値を示す。
The host also has a system area base register and a system area limit register. The system area base address indicates the main memory address (address 0) at the head of the host area. The value of the system area limit register can be changed, the system area limit register indicating the last main memory address of the host area in some cases and the maximum value of the main memory address in some cases.

第3図は本発明のデータ転送命令の形式を示す図であ
る。同図において、OPはオペレーション・コードは、L
はレングス、B1はベース・レジスタ指定、D1はディスプ
レイスメント、B2はベース・レジスタ指定、D2はディス
プレイスメントをそれぞれ示している。ホスト−ゲスト
間データ転送命令には、MOVE TO GUESTおよびMOVE TO H
OSTがある。第2オペランドはデータ転送元を示し、第
1オペランドはデータ転送先を示す。MOVE TO GUESTの
場合には、B1とD1はデータ転送先のゲスト論理アドレス
を示し、B2とD2はデータ転送元のホスト論理アドレスを
示す。
FIG. 3 is a diagram showing the format of a data transfer instruction according to the present invention. In the figure, OP is an operation code, L
Indicates the length, B1 indicates the base register designation, D1 indicates the displacement, B2 indicates the base register designation, and D2 indicates the displacement. MOVE TO GUEST and MOVE TO H
There is an OST. The second operand indicates a data transfer source, and the first operand indicates a data transfer destination. In the case of MOVE TO GUEST, B1 and D1 indicate the guest logical address of the data transfer destination, and B2 and D2 indicate the host logical address of the data transfer source.

第4図はCPUにおけるレジスタ類の割り当てを説明す
る図である。ホストは、プログラム状態語(PSW)レジ
スタや制御レジスタ、タイマ、プレフィックス・レジス
タ等を独立して有している。ゲストもプログラム状態語
レジスタや制御レジスタ、タイマ、プレフィックス・レ
ジスタ等を独立して有している。汎用レジスタの中に或
るものはホスト専用とされ、同様に汎用レジスタの中の
或るものはゲスト専用とされる。
FIG. 4 is a diagram for explaining the assignment of registers in the CPU. The host independently has a program status word (PSW) register, a control register, a timer, a prefix register, and the like. The guest also has a program status word register, a control register, a timer, a prefix register, and the like independently. Some of the general registers are dedicated to the host, and some of the general registers are dedicated to the guest.

第5図は本発明の1実施例のブロック図である。同図
において、100はシステム実記憶、210はデータ転送命令
処理機構、211はゲスト・アドレス変換機構、212はプレ
フィックス変換機構、213はホスト動的アドレス変換機
構、214はプレフィックス変換機構、240は命令レジス
タ、251と252はシステム絶対アドレス・レジスタをそれ
ぞれ示している。また、CRは制御レジスタ、GRは汎用レ
ジスタ、PSWはプログラム状態語、PREFIXはプレフィッ
クス、ADDRES BASE/LIMITはアドレス基底/限界(ゲス
トの領域を示す)、SYSTEM BASE/LIMITはシステム領域
基底/限界、VIRTUAL ADDRESは仮想アドレス(論理アド
レス)、REAL ADDRESは実はアドレス、ABS.ADDRESは絶
対アドレスをそれぞれ示している。システム実記憶と
は、ホスト・プログラムとゲスト・プログラムに割り当
てられた実記憶領域を意味している。データ転送命令処
理機構210は、ホスト−ゲスト間データ転送命令を処理
するものであり、マイクロプログラムで実現可能であ
る。主記憶装置の中には、システム実記憶の外に、ハー
ドウェア専用領域のような領域も存在する。
FIG. 5 is a block diagram of one embodiment of the present invention. In the figure, 100 is system real storage, 210 is a data transfer instruction processing mechanism, 211 is a guest address translation mechanism, 212 is a prefix translation mechanism, 213 is a host dynamic address translation mechanism, 214 is a prefix translation mechanism, and 240 is an instruction Registers 251 and 252 indicate system absolute address registers, respectively. In addition, CR is a control register, GR is a general-purpose register, PSW is a program status word, PREFIX is a prefix, ADDRES BASE / LIMIT is an address base / limit (indicating a guest area), SYSTEM BASE / LIMIT is a system area base / limit, VIRTUAL ADDRES indicates a virtual address (logical address), REAL ADDRES indicates an actual address, and ABS.ADDRES indicates an absolute address. The system real storage means a real storage area allocated to the host program and the guest program. The data transfer instruction processing mechanism 210 processes a host-guest data transfer instruction, and can be realized by a microprogram. In the main storage device, there is an area such as a hardware dedicated area in addition to the system actual storage.

第5図において下線が引かれているレジスタは、ハー
ドウェア(マイクロプログラム)によってホスト−ゲス
ト間のデータ転送を行うために、特に設置されたレジス
タである。即ち、ゲスト・プログラム状態語レジスタ、
ゲスト制御レジスタCR1、ゲスト制御レジスタCR7、ゲス
ト汎用レジスタGR14(アドレス基底用)、ゲスト汎用レ
ジスタGR15(アドレス限界用)およびゲスト・プレック
ス・レジスタは、ゲスト専用に設置されている。これら
のゲスト専用の特殊レジスタは、各物理CPUに対して1
組ずつ存在する。これらのゲスト専用の特殊レジスタに
書込まれているデータは、最も最近に走行したゲストの
ものである。また、ホスト・プログラム状態語レジス
タ、ホスト制御レジスタCR1、ホスト制御レジスタCR7、
ホスト汎用レジスタGR14(システム領域基底用)、ホス
ト汎用レジスタGR15(システム領域限界用)およびホス
ト・プレフックス・レジスタは、ホスト専用に設置され
ている。
Registers underlined in FIG. 5 are registers provided especially for performing data transfer between the host and the guest by hardware (microprogram). That is, the guest program status word register,
The guest control register CR1, the guest control register CR7, the guest general register GR14 (for address base), the guest general register GR15 (for address limit), and the guest plex register are provided exclusively for the guest. These special guest-specific registers are one for each physical CPU.
Exist in pairs. The data written in these special guest-dedicated registers are those of the guest who has traveled most recently. The host program status word register, host control register CR1, host control register CR7,
The host general-purpose register GR14 (for system area base), the host general-purpose register GR15 (for system area limit), and the host pre-hooks register are provided exclusively for the host.

ゲスト・プログラム状態語レジスタは、従来の技術の
所で述べたプログラム状態語を保持するものであり、こ
の中には動的変換モードやアドレス空間モードを示す情
報が存在する。ゲスト制御レジスタは、従来の技術の所
で述べたゲスト制御レジスタと同じものである。即ち、
ゲスト制御レジスタCR1はセグメント・テーブル・オリ
ジンを示し、ゲスト制御レジスタCR7もセグメント・テ
ーブル・オリジンを示す。ゲスト・アドレス基底レジス
タは、ゲスト領域の先頭の主記憶アドレスを示す。ゲス
ト絶対アドレスにゲスト・アドレス基底レジスタの値
(アドレス・ベース)を加算したものがシステム絶対ア
ドレスになる。ゲスト・アドレス限界レジスタは、ゲス
ト領域の最終の主記憶アドレスを示す。上記のシステム
絶対アドレスがゲスト・アドレス限界レジスタの値を越
えたときには、アドレス指定例外が発生する。
The guest program status word register holds the program status word described in the description of the related art, and includes information indicating a dynamic translation mode and an address space mode. The guest control register is the same as the guest control register described in the related art. That is,
The guest control register CR1 indicates the segment table origin, and the guest control register CR7 indicates the segment table origin. The guest address base register indicates the main memory address at the head of the guest area. The sum of the guest absolute address and the value (address base) of the guest address base register becomes the system absolute address. The guest address limit register indicates the final main memory address of the guest area. When the above system absolute address exceeds the value of the guest address limit register, an addressing exception occurs.

ホスト・プログラム状態語レジスタの中には、動的変
換モードやアドレス空間モードを示す情報が存在する。
ホスト制御レジスタCR1はセグメント・テーブル・オリ
ジンを示し、ホスト制御レジスタCR7もセグメント・テ
ーブル・オリジンを示す。システム領域基底レジスタ
は、ホスト領域の先頭の主記憶アドレス(0番地)を示
すホスト論理アドレスをアドレス変換するとホスト実ア
ドレスが得られ、このホスト実アドレスをプレフィック
ス変換するとホスト絶対アドレスが得られるが、このホ
スト絶対アドレスにシステム領域基底レジスタの値を加
算したものがシステム絶対アドレスになる。システム絶
対アドレスがシステム領域限界レジスタの値を越えたと
きには、アドレス指定例外が発生する。システム領域限
界のレジスタの値は変えることが出来る。システム領域
限界レジスタの値は、ホスト−ゲスト間データ転送命令
のホスト論理アドレスをシステム絶対アドレスに変換す
る際にはホスト領域の主記憶アドレスとされ、ホスト−
ゲスト間データ転送命令のゲスト論理アドレスをシステ
ム絶対アドレスに変換する際には主記憶の最大値とされ
る。
Information indicating the dynamic conversion mode and the address space mode exists in the host program status word register.
The host control register CR1 indicates the segment table origin, and the host control register CR7 indicates the segment table origin. The system area base register obtains a host real address by converting a host logical address indicating the main storage address (address 0) at the head of the host area, and obtains a host absolute address by performing prefix conversion on the host real address. The system absolute address is obtained by adding the value of the system area base register to the host absolute address. When the system absolute address exceeds the value of the system area limit register, an addressing exception occurs. The value of the system area limit register can be changed. The value of the system area limit register is used as the main memory address of the host area when converting the host logical address of the host-guest data transfer instruction into the system absolute address,
When the guest logical address of the inter-guest data transfer instruction is converted into a system absolute address, the maximum value of the main memory is used.

ゲスト・アドレス変換機構211は、ホスト−ゲスト間
データ転送命令のゲスト論理アドレスをゲスト実アドレ
スに変換するものである。プレフィックス機構212は、
このゲスト実アドレスをゲスト絶対アドレスに変換する
ものである。図示されていないが、このゲスト絶対アド
レスにアドレス・ベースを加算する機構が存在し、この
機構によって、ゲスト絶対アドレスはホスト論理アドレ
スに変換される。
The guest address conversion mechanism 211 converts a guest logical address of a host-guest data transfer instruction into a guest real address. The prefix mechanism 212
This guest real address is converted into a guest absolute address. Although not shown, there is a mechanism for adding an address base to this guest absolute address, and this mechanism converts the guest absolute address into a host logical address.

ホスト動的アドレス変換機構213は、ホスト論理アド
レスをホスト実アドレスに変換する。ホスト動的変換機
構213から出力されるホスト実アドレスは、プレフィッ
クス機構214によってプレフックスされ、システム絶対
アドレスに変換される。
The host dynamic address translation mechanism 213 translates a host logical address into a host real address. The host real address output from the host dynamic translation mechanism 213 is prehooked by the prefix mechanism 214 and translated into a system absolute address.

ホストからゲストへデータ転送する場合を想定する。
データ転送されるゲストは直前に走行していたゲストで
ある。MOVE TO GUEST命令のゲスト論理アドレスはゲス
ト・アドレス変換機構211によってゲスト実アドレスに
変換され、このゲスト実アドレスはプレフィックス変換
機構212によってゲスト絶対アドレスに変換され、アド
レス・ベースが加算されて、ホスト論理アドレスが生成
され、このホスト論理アドレスがホスト動的変換機構21
3およびプレフィックス変換機構214によってシステム絶
対アドレスに変換され、このシステム絶対アドレスがレ
ジスタ251にセットされる。MOVE TO GUEST命令のホスト
論理アドレスは、ホスト動的変換機構213およびプレフ
ィックス変換機構214によってシステム絶対アドレスに
変換され、このシステム絶対アドレスはレジスタ252に
セットされる。そして、レジスタ252で保持されている
アドレスにより主記憶装置内の当該データを取り出し、
次に、レジスタ251の指定するアドレスに該データを格
納する。
It is assumed that data is transferred from the host to the guest.
The guest to which data is transferred is the guest who was running immediately before. The guest logical address of the MOVE TO GUEST instruction is translated into a guest real address by the guest address translator 211, and the guest real address is translated into a guest absolute address by the prefix translator 212, the address base is added, and the host logical address is added. An address is generated, and this host logical address is
The address is converted into a system absolute address by 3 and the prefix conversion mechanism 214, and the system absolute address is set in the register 251. The host logical address of the MOVE TO GUEST instruction is converted into a system absolute address by the host dynamic conversion mechanism 213 and the prefix conversion mechanism 214, and this system absolute address is set in the register 252. Then, the data in the main storage device is extracted by the address held in the register 252,
Next, the data is stored in the address specified by the register 251.

ゲストからホストへデータ転送する場合には、MOVE T
O HOST命令のゲスト論理アドレスに対応するシステム絶
対アドレスが生成されてレジスタ251にセットされ、MOV
E TO HOST命令のホスト論理アドレスに対応するシステ
ム絶対アドレスが生成されてレジスタ252にセットす
る。そして、レジスタ251に保持されているアドレスに
より主記憶装置内の該当アドレスを取り出し、次に、レ
ジスタ252の指定するアドレスに該データを格納する。
MOVE T when transferring data from guest to host
A system absolute address corresponding to the guest logical address of the O HOST instruction is generated and set in the register 251.
A system absolute address corresponding to the host logical address of the E TO HOST instruction is generated and set in the register 252. Then, the corresponding address in the main storage device is extracted from the address held in the register 251, and the data is stored in the address specified by the register 252.

〔発明の効果〕 以上の説明から明らかなように、本発明によれば、 (a) ホスト領域に格納されているゲストの情報制御
ブロックをCPU内部に設置された特殊なレジスタに格納
して置くので、処理の高速化が期待できる。
[Effects of the Invention] As is clear from the above description, according to the present invention, (a) the information control block of the guest stored in the host area is stored in a special register provided inside the CPU. Therefore, high-speed processing can be expected.

(b) ハードウェアの処理としては、従来のソフトウ
ェアによるアドレス変換の手続き同様であるが、ゲスト
論理アドレスをシステム絶対アドレスに変換する処理を
開始する際には既にゲストのアドレス変換に必要なデー
タの大部分がCPUの内部のレジスタに含まれているた
め、ゲスト論理アドレスをシステム絶対アドレスに変換
する過程においてはゲスト状態語やゲスト制御レジスタ
の値を主記憶から読み出す必要がなくなり、結果として
アドレス変換過程における主記憶アクセスの際の例外を
少なくすることが出来る。
(B) The hardware processing is the same as the conventional software address conversion procedure. However, when the processing for converting a guest logical address into a system absolute address is started, data already required for the guest address conversion is converted. Since most of the registers are included in the CPU internal registers, it is not necessary to read the guest status word and the value of the guest control register from the main memory in the process of converting the guest logical address to the system absolute address, resulting in address conversion. Exceptions during main memory access in the process can be reduced.

(c) ホスト−ゲスト間のデータ転送を1命令で指定
することが可能になるので、ソフトウェアの作成効率が
向上する。
(C) Since the data transfer between the host and the guest can be specified by one instruction, the software creation efficiency is improved.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の原理図、第2図は本発明の基本的アイ
デアを説明するための図、第3図は本発明のデータ転送
命令の形式の例を示す図、第4図はレジスタ類の割り当
てを説明するための図、第5図は本発明の1実施例のブ
ロック図、第6図はゲスト論理アドレスからゲスト実ア
ドレスへの変換を説明するための図、第7図は仮想計算
機を説明するための図である。 100……システム実記憶、210……データ転送命令処理機
構、211……ゲズト・アドレス変換機構、212……プレフ
ィックス変換機構、213……ホスト動的アドレス変換機
構、214……プレフィックス変換機構、240……命令レジ
スタ、251と252……システム絶対アドレス・レジスタ。
FIG. 1 is a diagram showing the principle of the present invention, FIG. 2 is a diagram for explaining the basic idea of the present invention, FIG. 3 is a diagram showing an example of the format of a data transfer instruction of the present invention, and FIG. FIG. 5 is a block diagram of one embodiment of the present invention, FIG. 6 is a diagram for explaining the conversion from a guest logical address to a guest real address, and FIG. 7 is a virtual diagram. It is a figure for explaining a computer. 100 system real storage 210 data transfer instruction processing mechanism 211 gest address conversion mechanism 212 prefix conversion mechanism 213 host dynamic address conversion mechanism 214 prefix conversion mechanism 240 … Instruction register, 251 and 252… System absolute address register.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭59−140565(JP,A) 特開 昭59−140566(JP,A) ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-59-140565 (JP, A) JP-A-59-140566 (JP, A)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ホスト(10)と、 複数のゲスト(1,2,3,4)と、 命令レジスタ(240)と、 転送先であるゲスト論理アドレス又はホスト論理アドレ
スを示すオペランド部と,転送元であるホスト論理アド
レス又はゲスト論理アドレスを示す他のオペランド部と
を持つホスト−ゲスト間データ転送命令を処理するデー
タ転送命令処理機構(210)と、 最も最近に走行していたゲストの動的変換モード及びア
ドレス空間モードを示す情報を格納するゲスト・プログ
ラム状態語レジスタ(221)と、 最も最近に走行していたゲストのセグメント・テーブル
・オリジンを示す情報を格納するゲスト制御レジスタ
(222)の複数個と、 最も最近に走行していたゲストに割り当てられている実
記憶領域のアドレス基底を示す情報を格納するゲスト・
アドレス基底レジスタ(223)と、 最も最近に走行していたゲストのプレフィックス値を格
納するゲスト・プレフィックス・レジスタ(224)と、 ホストの動的変換モード及びアドレス空間モードを示す
情報を格納するホスト・プログラム状態語レジスタ(23
1)と、 ホストのセグメント・テーブル・オリジンを示す情報を
格納するホスト制御レジスタ(232)の複数個と、 システム実記憶領域のアドレス基底を示す情報を格納す
るシステム領域基底レジスタ(233)と、 ホストのプレフィックス値を格納するホスト・プレフィ
ックス・レジスタ(234)と を具備し、 上記データ転送命令処理機構(210)は、命令レジスタ
(240)にホスト−ゲスト間データ転送命令がセットさ
れたときに起動され、当該命令で指定されるゲスト論理
アドレスを、ゲスト・プログラム状態語レジスタ(22
1)とゲスト制御レジスタ(222)の複数個とゲスト・ア
ドレス基底レジスタ(223)とゲスト・プレフィックス
・レジスタ(224)とから成るゲスト専用レジスタ群の
一部又は全部を使用して、システム絶対アドレスに変換
し、当該命令で指定されるホスト論理アドレスを、ホス
ト・プログラム状態語レジスタ(231)とホスト制御レ
ジスタ(232)の複数個とシステム領域基底レジスタ(2
33)とホスト・プレフィックス・レジスタ(234)とか
ら成るホスト専用レジスタ群の一部または全部を使用し
て、システム絶対アドレスに変換するように構成されて
いる ことを特徴とする仮想計算機。
1. A host (10), a plurality of guests (1, 2, 3, 4), an instruction register (240), an operand portion indicating a guest logical address or a host logical address as a transfer destination, and a transfer A data transfer instruction processing mechanism (210) for processing a host-guest data transfer instruction having an original host logical address or another operand indicating a guest logical address; A guest program status word register (221) for storing information indicating the translation mode and the address space mode, and a guest control register (222) for storing information indicating the segment table origin of the guest that has been running most recently. A plurality of guest units storing information indicating an address base of a real storage area allocated to a guest who has been running most recently;
An address base register (223), a guest prefix register (224) for storing the prefix value of the guest that has been running most recently, and a host for storing information indicating the dynamic translation mode and address space mode of the host. Program status word register (23
1) a plurality of host control registers (232) for storing information indicating the host's segment table origin; a system area base register (233) for storing information indicating the address base of the system real storage area; And a host prefix register (234) for storing a prefix value of the host. The data transfer instruction processing mechanism (210) is provided when a host-guest data transfer instruction is set in the instruction register (240). When activated, the guest logical address specified by the instruction is stored in the guest program status word register (22
1), a plurality of guest control registers (222), and a part or all of a guest dedicated register group including a guest address base register (223) and a guest prefix register (224), and a system absolute address is used. And converts the host logical address specified by the instruction into a plurality of host program status word registers (231) and host control registers (232) and a system area base register (2
33) A virtual machine characterized in that a part or all of a host-dedicated register group consisting of a host prefix register (234) and a host prefix register (234) is used to convert it into a system absolute address.
JP62224389A 1987-09-07 1987-09-07 Virtual computer Expired - Fee Related JP2612173B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62224389A JP2612173B2 (en) 1987-09-07 1987-09-07 Virtual computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62224389A JP2612173B2 (en) 1987-09-07 1987-09-07 Virtual computer

Publications (2)

Publication Number Publication Date
JPS6465640A JPS6465640A (en) 1989-03-10
JP2612173B2 true JP2612173B2 (en) 1997-05-21

Family

ID=16812980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62224389A Expired - Fee Related JP2612173B2 (en) 1987-09-07 1987-09-07 Virtual computer

Country Status (1)

Country Link
JP (1) JP2612173B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371867A (en) * 1992-11-10 1994-12-06 International Business Machines Corporation Method of using small addresses to access any guest zone in a large memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59140566A (en) * 1983-01-31 1984-08-11 Nec Corp Information processing device
JPS59140565A (en) * 1983-01-31 1984-08-11 Nec Corp Information processing device

Also Published As

Publication number Publication date
JPS6465640A (en) 1989-03-10

Similar Documents

Publication Publication Date Title
EP0208428B1 (en) Direct input/output in a virtual memory system
US4742450A (en) Method to share copy on write segment for mapped files
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPH0512126A (en) Device and method for address conversion for virtual computer
US5107417A (en) Address translating method for translating virtual address to real address with specified address register to allow bypass of translation steps
JP2612173B2 (en) Virtual computer
JPH0548500B2 (en)
JP2933628B2 (en) Main storage device management method and computer system
JPS61206042A (en) Input/output system for virtual computer
JPS59140566A (en) Information processing device
KR920008959B1 (en) Method of transferring information for virtual computer system
JPS6237754A (en) Virtual extension storage system
JPS6360427B2 (en)
JP2635310B2 (en) Address translation device
JPS59140565A (en) Information processing device
JPS6141021B2 (en)
JPH0481951A (en) Address converting mechanism of virtual machine system
JPS589452B2 (en) Firmware broom
JPS5918787B2 (en) TLB partition method
JPH02101552A (en) Address conversion buffer processing system
JPH01197844A (en) Address converter
JPS628245A (en) Virtual memory system
JPH04205535A (en) Copy on write system
JPH02116940A (en) Page shared system using indirect pointer
JPH0550019B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees