[go: up one dir, main page]

JPH071491B2 - Virtual computer system - Google Patents

Virtual computer system

Info

Publication number
JPH071491B2
JPH071491B2 JP60208376A JP20837685A JPH071491B2 JP H071491 B2 JPH071491 B2 JP H071491B2 JP 60208376 A JP60208376 A JP 60208376A JP 20837685 A JP20837685 A JP 20837685A JP H071491 B2 JPH071491 B2 JP H071491B2
Authority
JP
Japan
Prior art keywords
address
real
instruction
processing device
main memory
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 - Lifetime
Application number
JP60208376A
Other languages
Japanese (ja)
Other versions
JPS6269341A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60208376A priority Critical patent/JPH071491B2/en
Publication of JPS6269341A publication Critical patent/JPS6269341A/en
Publication of JPH071491B2 publication Critical patent/JPH071491B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔発明の詳細な説明〕 本発明は仮想計算機システムに係り、特にアドレス変換
に伴う主記憶アクセスに係るオーバヘッドの削除に好適
な仮想計算機システムに関する。
[Detailed Description of the Invention] [Detailed Description of the Invention] The present invention relates to a virtual computer system, and more particularly to a virtual computer system suitable for deleting an overhead related to a main memory access associated with address translation.

〔発明の背景〕[Background of the Invention]

仮想計算機システムは、1つの実計算機上で複数のオペ
レーティング・システムを動作させることによって、あ
たかも複数の計算機システムが存在するかのような制御
をするものである。実計算機システム上に実現する仮想
的な計算機は実計算機と区別して仮想計算機(VM:Virtu
al machine)と呼ばれる。このVMを制御するためのプロ
グラムは仮想計算機モニタ(VMM:VM Monitor)と呼ばれ
る。VMMが実計算機システムのハードウェア資源を各VM
に時間的、空間的に分割割当てを行うことによって仮想
計算機システムが実現される。
The virtual computer system operates by operating a plurality of operating systems on a single real computer to control as if there were a plurality of computer systems. A virtual computer realized on a real computer system is distinguished from a real computer by a virtual computer (VM: Virtu
al machine). The program for controlling this VM is called a virtual machine monitor (VMM: VM Monitor). VMM allocates hardware resources of real computer system to each VM
A virtual computer system is realized by temporally and spatially allocating partitions.

各VMに割当てられるハードウェア資源としては命令処理
装置、主記憶、入出力装置等があり、従来、命令処理装
置は時分割方式で、主記憶は実計算機の仮想記憶方式を
利用して空間または時分割方式で、入出力装置はVM毎に
専用的(空間分割)または共用(時分割)することによ
って実ハードウェア資源のVMの割当てが行われている。
VMMの機能としては、命令処理装置および入出力装置
のVMへの割当て、実および仮想計算機の主記憶の管
里、VMで直接実行できなかった命令および割込みのシ
ミュレーション等がある。主記憶の管理に係る点につい
て説明すると、VMMはそれ自身が仮想記憶方式を利用し
て実計算機の仮想記憶アドレス空間をVMの実記憶アドレ
ス空間として割当てるので、VMの仮想アドレスを実計算
の実アドレスに変換するためには2段階のアドレス変換
が必要となる。この2段階のアドレス変換は、先ず、VM
上ではアドレス変換テーブルを用いてアドレス変換を行
って、VMでの実アドレスすなわちVMMでの仮想アドレス
を求め、次いて実計算機すなわちVMMでのアドレス変換
テーブルを用いて実アドレスを求めることによる。とこ
ろで、VMでのアドレス変換テーブルをアクセスするに
は、VMでのアドレス変換テーブルそのものがVMMの仮想
アドレス空間に存在し、従来の実計算機システムは1段
階のアドレス変換機能しか有していないため、この2段
階のアドレス変換はVMMが行わざるを得ず、複雑でかつ
多大のアドレス変換オーバヘッドを生じることになる。
この2段階のアドレス変換を簡素化して実計算機による
アドレス変換を使用できるようにするために、VMMはVM
での仮想アドレスを直接VMMでの実アドレスに変換する
ためのテーブルを作成し、VMでの仮想アドレスから実計
算機の実アドレスへのアドレス変換が1段階で済むよう
にしている。VMMのこの操作によって作成されるアドレ
ス変換テーブルはシャドウテーブルと呼ばれる。
The hardware resources allocated to each VM include an instruction processing device, main memory, input / output device, etc. Conventionally, the instruction processing device is a time-division system, and the main memory is space or space using a virtual memory system of a real computer. In the time-sharing method, input / output devices are dedicated (space-divided) or shared (time-divided) for each VM to allocate VMs of actual hardware resources.
Functions of the VMM include allocation of instruction processing units and input / output units to VMs, management of main memory of real and virtual computers, simulation of instructions and interrupts that could not be directly executed by VMs. Explaining the points related to the management of the main memory, the VMM itself allocates the virtual memory address space of the real computer as the real memory address space of the VM by using the virtual memory method. Two-stage address conversion is required to convert the address. This two-stage address translation is first done by VM
In the above, the address translation is performed using the address translation table to obtain the real address in the VM, that is, the virtual address in the VMM, and then the real address is obtained using the address translation table in the real computer, that is, the VMM. By the way, in order to access the address translation table in the VM, the address translation table itself in the VM exists in the virtual address space of the VMM, and the conventional real computer system has only one-step address translation function. This two-stage address translation must be performed by the VMM, which causes a complicated and large address translation overhead.
In order to simplify this two-step address translation and enable the use of address translation by a real computer, VMM uses VM
A table is created to directly convert the virtual address in the VMM to the real address in the VMM so that the address conversion from the virtual address in the VM to the real address of the real computer can be done in one step. The address translation table created by this operation of VMM is called a shadow table.

仮想計算機システムににおけるオーバヘッドとして大き
なものには、上記VMMの機能であるところのシャドウ・
テーブルの管理すなわちアドレス変換に伴うオーバヘッ
ドと、VMで直接実行できない命令および割込みのVMMに
よるシミュレーシヨンによるオーバヘッドがある。
The major overhead in the virtual machine system is shadowing, which is a function of the above VMM.
There is overhead associated with table management, that is, address translation, and overhead due to VMM simulation of instructions and interrupts that cannot be directly executed by VM.

従来、この種のオーバヘッドを削除する方法として、VM
Mによるシミュレーシヨンを頻繁に発生するVMの命令を
ファームウェア化することによってVMがVMMに割込むこ
となく直接実行できるようにして、命令および割込みの
シミュレーシヨンに伴うオーバヘッドを削除する方法、
また、実主記憶の一部領域を固定的にVMに割当てて、VM
の仮想実記憶と実計算機の実記憶とが一定の関係で直接
対応するようにしてシャドウ・テーブルを不要にする方
法がある。
Traditionally, VMs have been the only way to eliminate this kind of overhead.
A method that eliminates the overhead associated with instruction and interrupt simulation by allowing VMs to execute directly without interrupting the VMM by firmwareizing VM instructions that frequently generate M simulations.
In addition, some areas of real main memory are fixedly allocated to VMs,
There is a method in which the virtual real memory and the real memory of the real computer directly correspond to each other in a fixed relationship to eliminate the need for the shadow table.

アドレス変換に伴う主記憶アクセスに係るオーバヘッド
を削除するものとして特公昭57−40584号公報には、VM
毎に実主記憶の領域の割当てを行って、その領域の開始
アドレスと終了アドレスを保持しておき、VMが主記憶を
アクセスするときにはVMの仮想実記憶アドレスに上記開
始アドレスを加算することで実主記憶アドレスを得るこ
とによってシャドウテーブルを不要とし、上記アドレス
変換に伴うオーバヘッドを削除すると共に、終了アドレ
スと比較することにより実記憶の保護をも行う方法が開
示されている。しかしながら、命令処理装置で動作中の
VMと、入出力処理装置で動作中のVMとが一致する保証は
得られないのが一般的である。特公昭57−40584号公報
には、このような入出力処理動作の場合にどのようにし
てアドレス変換を行うか開示がなく、該アドレス変換は
VMMが行わざるを得ないため、入出力処理の場合、依然
としてアドレス変換に伴う主記憶アクセスのオーバヘッ
ドが生ずることになる。
JP-A-57-40584 discloses that the overhead related to the main memory access associated with the address translation is deleted.
By allocating a real main memory area for each, holding the start address and end address of that area, and adding the above start address to the virtual real memory address of the VM when the VM accesses the main memory. A method is disclosed in which the shadow table is not required by obtaining the real main memory address, the overhead associated with the address conversion is deleted, and the real memory is protected by comparing with the end address. However, if the command processor is running
Generally, it is not possible to guarantee that the VM and the VM running on the I / O processor match. Japanese Patent Publication No. 57-40584 does not disclose how to perform address conversion in such an input / output processing operation.
Since the VMM is forced to do so, in the case of input / output processing, the overhead of main memory access due to address translation still occurs.

〔発明の目的〕[Object of the Invention]

本発明の目的は、入出力処理を含めて仮想計算機システ
ムにおけるアドレス変換に伴う主記憶アクセスに係るオ
ーバヘッドを削除する方式を提供することにある。
An object of the present invention is to provide a method of eliminating the overhead related to main memory access associated with address translation in a virtual computer system including I / O processing.

〔発明の概要〕[Outline of Invention]

本発明は、実主記憶を複数の領域に分割し、該分割した
各々の領域をオペレーティング・システム(VM)の仮想
実記憶として、複数のオペレーティング・システムの各
々に専用または共用で割り当てるようにして、該複数の
オペレーティング・システムを命令処理装置と複数のサ
ブチャネルを含む入出力処理装置でそれぞれ動作させる
仮想計算機システムにおいて、命令処理装置に、該命令
処理装置上で動作するオペレーティング・システムに割
り当てられた実主記憶領域の開始アドレスと終了アドレ
スとを設定する手段と、該命令処理装置が発行した仮想
実記憶アドレスに前記設定されている実主記憶領域の開
始アドレスを演算(アドレス定数加算)する手段と、該
演算したアドレスと前記設定されている実主記憶領域の
終了アドレスとを比較する手段を設けると共に、入出力
処理装置にも、複数のサブチャネルの名々に対して、当
該サブチャネルを使用するオペレーティング・システム
に割り当てられた実主記憶領域の開始アドレスと終了ア
ドレスとを設定する手段と、該サブチャネルが発する仮
想実記憶アドレスに該サブチャネルの前記設定されてい
る実主記憶領域の開始アドレスを演算(アドレス定数加
算)する手段と、該演算されたアドレスと該サブチャネ
ルの前記設定されている実主記憶領域の終了アドレスと
を比較する手段とを設けたことである。これにより、VM
Mの介在なしに、命令処理装置でのVMの動作とは独立に
入出力処理装置側でアドレス変換を行うことが可能とな
り、仮想計算機システムにおけるアドレス変換に伴う主
記憶アクセスのオーバヘッドを入出力処理も含めて削除
できる。さらに、サブチャネルが特定のオペレーティン
グ・システムに専用される場合、該オペレーティング・
システムの識別情報を保持し、あるオペレーティング・
システムがサブチャネルをアクセスするときに、命令処
理装置は、そのオペレーティング・システムの識別情報
と前記保持している識別情報とを比較するようにする。
これにより、主記憶の保護に加えてサブチャネルが不要
に他VMによってアクセスされるのを保護することができ
る。
The present invention divides the real main memory into a plurality of areas, and allocates each of the divided areas to each of the plurality of operating systems as a virtual real memory of the operating system (VM). In a virtual computer system in which the plurality of operating systems are respectively operated by an instruction processing device and an input / output processing device including a plurality of sub-channels, the instruction processing device is assigned to the operating system operating on the instruction processing device. Means for setting a start address and an end address of the real main memory area, and calculating (adding an address constant) the start address of the real main memory area set to the virtual real memory address issued by the instruction processing device. Means, the calculated address and the end address of the set actual main storage area In addition to providing a means for comparing, the input / output processing device is also provided with the start address and end address of the real main storage area allocated to the operating system using the subchannels for each of the subchannels. Means for setting, means for calculating (adding an address constant) the start address of the set real main storage area of the sub-channel to the virtual real storage address issued by the sub-channel, the calculated address and the sub-address And means for comparing the end address of the set actual main storage area of the channel. This allows the VM
It is possible to perform address translation on the input / output processor side independently of the VM operation in the instruction processor without the intervention of M, and the input / output processing of the main memory access overhead associated with address translation in the virtual computer system is performed. It can be deleted including. In addition, if a subchannel is dedicated to a particular operating system, that operating system
Holds system identification information
When the system accesses a subchannel, the instruction processor causes the operating system identification information to be compared with the retained identification information.
As a result, in addition to the protection of the main memory, it is possible to protect the sub-channel from being unnecessarily accessed by another VM.

〔発明の実施例〕Example of Invention

以下、本発明の一実施例について図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第2図は仮想計算機システムにおける実計算機システム
の構成を示す。図中、1は主記憶装置、2は記憶制御装
置、3は命令処理装置、4は入出力処理装置、5は入出
力装置群である。3および4の各処理装置は各々1台の
ときもあれば、複数台のときもあるが、本実施例では、
それぞれ1台の場合を示してある。仮想記憶制御計算機
に係るアドレス変換機構は命令処理装置3に存在する。
記憶制御装置2は、命令処理装置3および入出力処理装
置4の主記憶装置1へのアクセスを制御すると共に、命
令処理装置3と入出力装置4との間にあって、入出力命
令の実行および入割込みに係るインタフェースを制御す
る。
FIG. 2 shows the configuration of the real computer system in the virtual computer system. In the figure, 1 is a main storage device, 2 is a storage control device, 3 is an instruction processing device, 4 is an input / output processing device, and 5 is an input / output device group. The number of each of the processing devices 3 and 4 may be one or may be more than one, but in the present embodiment,
Each case is shown as one. The address translation mechanism related to the virtual memory control computer exists in the instruction processing device 3.
The storage control device 2 controls the access of the instruction processing device 3 and the input / output processing device 4 to the main storage device 1, and is between the instruction processing device 3 and the input / output device 4 to execute and input / output the input / output instructions. Controls the interface related to the interrupt.

第3図は、VMモニタ(VMM)がVMを実計算機にディスパ
ッチし、該ディスパッチされたVMが実計算機で動作する
場合様子を示す。VMMは、VMを実計算機にディスパッチ
するときにはVMディスパッチ命令を発行するが、この命
令を発行する前に、VMディスパッチ命令のオペランドで
ある主記憶上のVM状態記述ブロックにディスパッチする
VMの実行に関する情報を設定しておく。この情報には、
少なくともディスパッチするVMが実行すべき先頭の命令
アドレスを含む処理状態語(PSW)、汎用レジスタ、浮
動少数点レジスタ、制御レジスタ、プリフィクスレジス
タ等の従来のVMシステムと同様にVMの処理再開に必要と
なる情報に加えて、本発明によって追加されたVMの識別
情報、当VMに割当てた実主記憶領域に関する情報を含ん
でいる。実主記憶領域に関する情報には、ディスパッチ
れるVMに割当てられた実主記憶の開始アドレスと終了ア
ドレスを含んでおり、これらの情報はVMモニタによって
予じめ割当てられた領域に関する値が設定される。
FIG. 3 shows a case where a VM monitor (VMM) dispatches a VM to a real computer and the dispatched VM operates on the real computer. VMM issues a VM dispatch instruction when dispatching a VM to a real computer, but before issuing this instruction, dispatches to the VM state description block on the main memory that is the operand of the VM dispatch instruction.
Set the information about VM execution. This information includes
It is necessary to restart the processing of VM, at least like the conventional VM system such as processing status word (PSW) including the first instruction address to be executed by the dispatching VM, general-purpose register, floating point register, control register, prefix register, etc. In addition to the following information, the identification information of the VM added by the present invention and the information about the real main storage area allocated to this VM are included. The information about the real main memory area includes the start address and end address of the real main memory allocated to the VM to be dispatched, and these pieces of information are set with the values related to the area previously allocated by the VM monitor. .

VMディスパッチ命令が発行されると、命令処理装置は、
VM状態記述ブロック内の上記情報を処理装置内部の所定
のレジスタに取り込んで、VMモードとなってVMの命令処
理を実行する。VMの命令実行処理の中断は次のいずれか
によって行われる。1つはVM自身では直接実行できない
命令または状況に出合ったときで、このときにはVMディ
スパッチ命令の次の命令に制御が移り、VMモニタによっ
てシミュレーシヨンが行われ、その後に再度VMディスパ
ッチ命令が発行される。もう1つは、VMが走行中にVMが
直接処理できない割込みが発行したときで、VMモニタの
割込み処理ルーチンに制御が渡り、VMモニタによって割
込みの処理が行われる。上記いずれの場合もVMモニタに
制御が渡る前に、命令処理装置3で実行中のVMの処理を
再開するのに必要な情報はすべて前述のVM状態記述ブロ
ックに退避させ、再開に備えることが行われる。VMモニ
タに制御が渡るとVMモードは解除される。
When a VM dispatch instruction is issued, the instruction processing unit
The above information in the VM state description block is fetched into a predetermined register inside the processing device, and the VM mode is entered to execute the VM instruction processing. The VM instruction execution process is interrupted by any of the following. One is when the VM itself encounters an instruction or situation that cannot be directly executed, at which time control is transferred to the instruction following the VM dispatch instruction, simulation is performed by the VM monitor, and then the VM dispatch instruction is issued again. It The other is when an interrupt that cannot be directly processed by the VM is issued while the VM is running, control is passed to the interrupt processing routine of the VM monitor, and the interrupt processing is performed by the VM monitor. In any of the above cases, before the control is passed to the VM monitor, all the information necessary for restarting the processing of the VM being executed by the instruction processing device 3 may be saved in the above-mentioned VM state description block to prepare for the restart. Done. The VM mode is released when control is passed to the VM monitor.

第1図に本発明の仮想計算機システムにおける実主記憶
の領域分割とVMへの領域割当て、およびVM状態記述ブロ
ック内の主記憶領域情報との関係を示す。各VMに対応す
るVM状態記述ブロックには、そのVM(仮想実記憶)に割
当てられた実主記憶領域の開始アドレスと終了アドレス
を保持する。第1図の例では、VMmとVMnは実主記憶上の
同一領域を共用するので、VM状態記述ブロック内の開始
アドレスと終了アドレスは両VM共に同じ値を保持するこ
とになる。
FIG. 1 shows the relationship between the area division of the real main memory, the area allocation to the VM, and the main memory area information in the VM state description block in the virtual computer system of the present invention. The VM state description block corresponding to each VM holds the start address and end address of the real main memory area allocated to that VM (virtual real memory). In the example of FIG. 1, since VMm and VMn share the same area in the real main memory, both VMs hold the same value for the start address and end address in the VM state description block.

第4図は命令処理装置3におけるアドレス変換機構のう
ち本発明に関係する部分を示したもので、この図を用い
て本発明における命令処理装置3でのアドレス変換を説
明する。
FIG. 4 shows a part of the address translation mechanism in the instruction processing device 3 relating to the present invention. The address translation in the instruction processing device 3 in the present invention will be described with reference to this drawing.

第4図において、10は主記憶装置1から読出したデータ
を保持するレジスタ(FDR)、11はセグメント・テーブ
ルの起点アドレスを保持するレジスタ(STOR)、12は命
令ユニットから送られてくる命令アドレスまたはオペラ
ンドのアドレスを保持するレジスタ(LAR)、13はVMの
識別情報を保持するレジスタ(VMIDR)、14は割当てら
れた実主記憶領域の開始アドレスを保持するレジスタ
(SAR)、15は同じく終了アドレスを保持するレジスタ
(EAR)である。16はアドレス変換前および変換後のア
ドレス対を保持するための変換索引バッファ(TLB)、1
7はLAR12のアドレスからTLB16内のエントリのアドレス
を決定するためのTLBエントリ制御回路(TLBC)であ
る。18と19はアドレス加算器、20〜22、26〜28は比較器
である。23はVMモード時に使用するプリフィクスアドレ
スを保持するレジスタ(GPFX)、24はVMモードでないと
きに使用するプリフィクスアドレスを保持するためのレ
ジスタ(HPFX)、25はプリフィクス回路、27はアドレス
変換後の実主記憶への絶対アドレスを保持するレジスタ
(AARR)である。
In FIG. 4, 10 is a register (FDR) for holding the data read from the main memory 1, 11 is a register (STOR) for holding the starting address of the segment table, and 12 is an instruction address sent from the instruction unit. Alternatively, the register that holds the address of the operand (LAR), 13 that holds the VM identification information (VMIDR), 14 that holds the start address of the allocated real main memory area (SAR), and 15 that also ends It is a register (EAR) that holds an address. 16 is a translation lookaside buffer (TLB) to hold address pairs before and after translation, 1
Reference numeral 7 is a TLB entry control circuit (TLBC) for determining the address of the entry in the TLB 16 from the address of the LAR 12. 18 and 19 are address adders, and 20 to 22 and 26 to 28 are comparators. 23 is a register that holds the prefix address used in VM mode (GPFX), 24 is a register that holds the prefix address used when not in VM mode (HPFX), 25 is a prefix circuit, and 27 is the actual address after address translation. This is a register (AARR) that holds the absolute address to the main memory.

命令処理装置3は、VMMの命令列処理中にVMディスパッ
チ命令をデコードすると、前述のVM状態記述ブロックの
読出しを行って、ディスパッチされたVMの処理に必要な
セットアップ動作に入る。セットアップ動作では、VM状
態記述ブロック内のセグメントテーブル起点アドレス
(これは、同ブロック内の制御レジスタフィールドにあ
る)、VM識別情報、実主記憶領域の開始アドレスと終了
アドレス、プリフィックスをそれぞれ、STOR11、VMIDR1
3、SAR15、GPFX23へ設定する。このときに用いられる主
記憶アドレスの生成方法は従来技術と変わるところはな
い。上記セットアップ動作が完了すると、命令処理装置
3は(図示はしていないが)同じくVM状態記述ブロック
内から読出したPSWを命令処理装置内の所定の場所に設
定すると共にVMモードとなって、ディスパッチされたVM
の命令処理を開始する。
When the instruction processing device 3 decodes the VM dispatch instruction during the processing of the VMM instruction string, the instruction processing device 3 reads the VM state description block described above, and enters the setup operation required for processing the dispatched VM. In the setup operation, the segment table starting point address in the VM state description block (this is in the control register field in the block), VM identification information, the start and end addresses of the real main storage area, and the prefix are stored in STOR11, VMIDR1
3, set to SAR15, GPFX23. The method of generating the main memory address used at this time is no different from the conventional technique. When the above setup operation is completed, the instruction processing unit 3 (not shown) also sets the PSW read from the VM state description block to a predetermined place in the instruction processing unit and enters the VM mode to dispatch the PSW. VMs
Command processing is started.

第4図でのアドレス変換は次の様に行われる。命令列の
処理によって生成された仮想アドレスが命令ユニットに
よってLAR12に設定される。このアドレスは、セグメン
ト番号(SX)、ページ番号(PX)、ページ内アドレス
(DX)の部分で構成されている。セグメント番号とペー
ジ番号の部分、およびVMIDR13の内容はTLBC17に入力さ
れてTLB16内のエントリを選択し、対応するエントリが
読出される。読出されたTLBエントリはVM識別情報(VMI
D)、セグメントテーブル起点アドレス(STO)、セグメ
ント/ページ番号(LA)および該当ページの実主記憶上
の絶対アドレス部(PA)から成る。読出されたVM識別情
報とVMIDR13の内容、セグメントテーブル起点アドレス
とSTOR11の内容、およびセグメント/ページ番号とLAR1
2のセグメント/ページ番号部とがそれぞれ比較器20,2
1,22で比較される。比較器20,21,22のすべてが一致を検
出したならば、TLB16には該当するエントリが登録され
ていることになり、読出されたエントリの絶対アドレス
部とLAR12のページ内アドレス部とが結合されてAAR27に
設定されて、実主記憶アクセス時の絶対アドレスとな
る。
The address conversion in FIG. 4 is performed as follows. The virtual address generated by processing the instruction sequence is set in LAR12 by the instruction unit. This address is composed of a segment number (SX), a page number (PX), and an in-page address (DX). The segment number and page number portions and the contents of VMIDR13 are input to TLBC17 to select an entry in TLB16, and the corresponding entry is read. The read TLB entry has VM identification information (VMI
D), segment table origin address (STO), segment / page number (LA), and absolute address section (PA) on the actual main memory of the corresponding page. Read VM identification information and VMIDR13 contents, segment table start address and STOR11 contents, segment / page number and LAR1
2 segment / page number part is comparator 20,2 respectively
Compared with 1,22. If all the comparators 20, 21, 22 detect a match, it means that the corresponding entry is registered in the TLB16, and the absolute address part of the read entry and the in-page address part of the LAR12 are combined. It is set to AAR27 and becomes the absolute address when accessing the main memory.

比較器20,21,22のいずれかが不一致を検出するときに
は、TLB16から読出されたエントリは別な仮想アドレス
のものであり、次の様にしてアドレス変換が行われる。
When any of the comparators 20, 21, and 22 detects a mismatch, the entry read from the TLB 16 has a different virtual address, and the address conversion is performed as follows.

まず、STOR11内のセグメントテーブル起点アドレスを用
いて実主記憶上のセグメントテーブルエントリを読出す
ため、STOR11の内容とLAR12のセグメント番号部とを加
算器18で加算し、加算結果をプリフィクス回路25を通し
てプリフィックス変換を行う。このときのプリフィック
ス変換にはVMモード用に用意されているGPFX23の内容が
使用される。プリフィックス変換後のアドレスは加算器
19によってSAR14の内容の加算が行われ、AAR27に設定さ
れて、実主記憶アクセスのための絶対アドレスとなる。
同時に加算器19の出力は比較器26に入力されてEAR15の
内容との比較が行われる。比較の結果として、加算器19
の出力の方がEAR15の内容よりも大きいときにはアドレ
ス変換例外となり、以後のアドレス変換は中止される。
アドレス変換外が検出されいときには、AAR27内のアド
レスは主記憶装置1上のセグメントテーブルのエントリ
アドレスを示しており、実主記憶から当該エントリの読
出しが行われる。
First, in order to read the segment table entry in the actual main memory using the segment table starting address in STOR11, the contents of STOR11 and the segment number part of LAR12 are added by adder 18, and the addition result is passed through prefix circuit 25. Perform prefix conversion. The contents of GPFX23 prepared for VM mode are used for the prefix conversion at this time. Address after prefix conversion is adder
The contents of SAR14 are added by 19 and set in AAR27 to become the absolute address for real main memory access.
At the same time, the output of the adder 19 is input to the comparator 26 and compared with the content of the EAR15. As a result of the comparison, the adder 19
If the output of is larger than the contents of EAR15, an address translation exception will occur and further address translation will be aborted.
When out-of-address translation is not detected, the address in the AAR 27 indicates the entry address of the segment table on the main memory 1, and the entry is read from the actual main memory.

実主記憶から読出されたエントリはFDR10に設定され
る。これにはページテーブルの起点アドレス部分を含ん
でおり、加算器18に入力されて、LAR12のページ番号部
との加算が行われて、上述のセグメントテーブルエント
リの読出しと同様にプリフィックス変換、SAR14の内容
の加算、AAR27への設定、EAR15の内容との比較が行われ
る。比較器26により加算器19の出力の方がEAR15の内容
よりも大きいときにはアドレス変換例外となり、以後の
アドレス変換は中止される。アドレス変換例外が検出さ
れなければ、AAR27内のアドレスは実主記憶上のページ
テーブルのエントリアドレスを示しており、実主記憶か
ら当該エントリの読出しが行われて、FDR10への設定が
行われる。
The entry read from the real main memory is set in FDR10. This includes the starting point address part of the page table, is input to the adder 18, is added with the page number part of the LAR12, and is subjected to prefix conversion as in the reading of the segment table entry described above. The contents are added, set to AAR27, and compared with the contents of EAR15. When the output of the adder 19 is larger than the content of the EAR15 by the comparator 26, an address translation exception occurs and the subsequent address translation is stopped. If no address translation exception is detected, the address in the AAR 27 indicates the entry address of the page table in the real main memory, the entry is read from the real main memory, and the FDR 10 is set.

上記読出されたエントリには、求めようとしたページの
仮想主記憶における実アドレス(VMの仮想実記憶アドレ
ス)を含んでいる。このエントリは加算器18をそのまま
通過させ、プリフィツクス回路25でプリフィツクス変換
を行ってから、加算器19でSAR14の内容との加算、比較
器26によるEAR15の内容との比較を行う。アドレス変換
例外が検出されなければ、加算器19の出力は求めようと
するページの実主記憶上における絶対アドレス(実主記
憶アドレス)であるから、この内容とLAR12のページ内
アドレス部と結合することによって実主記憶上のページ
内絶対アドレスが得られることになる。得られたアドレ
スのページの起点アドレス部分は、STOR11、VMDR13、LA
R12のセグメント/ページ番号部のそれぞれの内容と共
にTLB16内の対応するエントリに格納されることによ
り、一連のアドレス変換が完了する。
The read entry includes the real address (virtual real memory address of VM) in the virtual main memory of the page to be sought. This entry is allowed to pass through the adder 18 as it is, and the prefix circuit 25 performs prefix conversion, and then the adder 19 performs addition with the contents of SAR 14 and comparison with the contents of EAR 15 by the comparator 26. If no address translation exception is detected, the output of the adder 19 is the absolute address (real main memory address) of the page to be obtained on the real main memory, so this content is combined with the in-page address part of the LAR12. As a result, the in-page absolute address in the real main memory can be obtained. The origin address part of the page of the obtained address is STOR11, VMDR13, LA
A series of address conversion is completed by storing the contents in the corresponding entry in TLB16 together with the contents of each segment / page number part of R12.

その後、命令処理装置3の同一ページをアクセスする場
合には、上記TLB16内のエントリが選ばれて使用される
ので、上述のアドレス変換は不要となる。
After that, when the same page of the instruction processing device 3 is accessed, the entry in the TLB 16 is selected and used, so that the above address translation is not necessary.

以上が命令処理装置3における本発明に係るアドレス変
換である。次に、入出力動作について説明する。
The above is the address conversion according to the present invention in the instruction processing device 3. Next, the input / output operation will be described.

第5図は、実主記憶上の絶対アドレス空間における入出
力動作に係る制御情報の配置を示すものである。図中、
システム領域はプログラムがアクセスすることのできる
領域であり、プログラムおよびプログラムが扱うデータ
はこの部分に格納される。ハードウェア領域はプログラ
ムがアクセスすることのできない領域で、実計算機シス
テムのハードウェアによって使用される領域である。こ
のハードウェア領域には、命令処理装置3と入出力処理
装置4とのコミニュケーションに用いられる入出力制御
ブロックと呼ぶ領域(以下IOCBと称す)と、入出力装置
の制御情報を格納すると共に、IOCB同様に命令処理装置
3と入出力処理装置4とのコミュニケーションにも使用
する複数のサブチャネル制御語(以下SCCWと称す)など
が置かれる。第6図及び第7図はそれぞれ、IOCBとSCCW
内の情報のうち、本発明に係る部分を示してある。
FIG. 5 shows the arrangement of control information relating to input / output operations in the absolute address space on the real main memory. In the figure,
The system area is an area that can be accessed by the program, and the program and the data handled by the program are stored in this area. The hardware area is an area that cannot be accessed by the program and is used by the hardware of the real computer system. In this hardware area, an area called an input / output control block (hereinafter referred to as IOCB) used for communication between the instruction processing device 3 and the input / output processing device 4 and control information of the input / output device are stored and the IOCB is stored. Similarly, a plurality of sub-channel control words (hereinafter referred to as SCCW) used for communication between the instruction processing device 3 and the input / output processing device 4 are placed. Figures 6 and 7 show IOCB and SCCW respectively.
Of the information therein, the portion related to the present invention is shown.

入出力動作に係る命令としては、プログラムがサブチャ
ネルをアクセスするためのサブチャネル変更命令(以下
MSCH命令と称す)、サブチャネルにおける入出力動作を
開始させるためのサブチャネル動作開始命令群(以下SS
CH命令と称す)などがある。MSCH命令は、入出力装置に
対応して設けられる個々のサブチャネルに対して、それ
ぞれのサブチャネルが制御を行う入出力装置の特性に合
わせてサブチャネルを所定の動作モードに設定するため
などに使用される。また、SSCH命令は、サブチャネルに
対して入出力動作の実行を開始はさせるために使用され
る。
The sub-channel change instruction (hereinafter referred to as a sub-channel change instruction) for the program to access the sub-channel
MSCH instruction), a sub-channel operation start instruction group (hereinafter SS
CH command)) and so on. The MSCH instruction is used to set the subchannel to a specified operation mode according to the characteristics of the input / output device controlled by each subchannel for each subchannel provided corresponding to the input / output device. used. Further, the SSCH instruction is used to start execution of an input / output operation for a sub channel.

MSCH命令が発行されると、命令のオペランドで指定され
るサブチャネル番号に対応する前述のハードウェア領域
のSCCWすなわちサブチャネルが、同じ命令のもうひとつ
のオペランドで指定される領域の情報によって変更を受
ける。サブチャネルが入出力動作を実行中のときには変
更は行わない。SSCH命令が発行されると、命令のオペラ
ンドで指定されるサブチャネル番号に対応するサブチャ
ネルの状態が調べられ、サブチャネルが入出力動作可能
な状態であれば、同じ命令のもうひとつのオペランドで
指定されるチャネルで指定されるチャネルプログラムア
ドレスをサブチャネルに設定すると共に、サブチャネル
番号と入出力命令コードすなわちSSCHコードがIOCBに設
定された後、命令処理装置3から入出力処理装置4へ入
出力命令起動通知が行われる。サブチャネルがすでに入
出力動作を実行中の場合であるとか、サブチャネルが新
たな入出力動作を受付け不可能な状態であったときに
は、それらの条件に対応したコンディション・コードが
設定されて命令は終了し、入出力処理装置4への入出力
命令起動通知は行われない。
When the MSCH instruction is issued, the SCCW, that is, the subchannel of the above-mentioned hardware area corresponding to the subchannel number specified by the operand of the instruction is changed by the information of the area specified by the other operand of the same instruction. receive. No change is made when the subchannel is performing an I / O operation. When the SSCH instruction is issued, the status of the subchannel corresponding to the subchannel number specified by the operand of the instruction is checked. If the subchannel is ready for I / O operation, another operand of the same instruction is used. After the channel program address specified by the specified channel is set in the subchannel and the subchannel number and input / output instruction code, that is, SSCH code is set in IOCB, the instruction processing unit 3 enters the input / output processing unit 4. Output instruction activation notification is performed. If the sub-channel is already executing an I / O operation or if the sub-channel cannot accept a new I / O operation, the condition code corresponding to those conditions is set and the instruction is Upon completion, the input / output instruction activation notification to the input / output processing device 4 is not performed.

本発明の実施により、MSCH命令およびSSCH命令の実行は
VMモードの場合とそうでない場合とで次のように異な
る。命令処理装置3がVMモードでないとき、すなわち、
命令処理装置3がVMMのプログラムを実行中のときのMSC
H命令では、第7図のサブチャネル情報は何ら制限を受
けることなく、MSCH命令のオペランドで指定される領域
の情報によって変更を受ける。命令処理装置3がVMモー
ドのとき、すなわち、命令処理装置3がVMMから発行さ
れたVMディスパッチ命令によってVMモードでプログラム
を実行中のときの、MSCH命令では、第7図のサブチャネ
ル情報の変更には制限が加えられる。このときは、サブ
チャネルの専用/共用識別情報、VM識別情報、開始アド
レスと終了アドレスの部分の変更がなされない。サブチ
ャネル内の専用/共用識別情報は当サブチャネルが特定
のVMによって使用されるか、複数のVMによって共用され
るかを示す。また、VM識別情報は当サブチャネルが専用
されることを示すときに、当サブチャネルを専用するVM
の識別情報が設定される。開始アドレス、終了アドレス
は、当サブチャネルがアクセス可能な実主記憶上の領域
を示すものである。これらの情報はVMMによってのみ変
更することができる。第7図におけるその他のサブチャ
ネル制御情報は、VMモードの如何にかかわらず変更可能
である。
By implementing the present invention, the execution of MSCH and SSCH instructions is
The difference between the VM mode and the VM mode is as follows. When the instruction processing device 3 is not in the VM mode, that is,
MSC when the instruction processing unit 3 is executing a VMM program
In the H instruction, the subchannel information shown in FIG. 7 is not limited at all, and is changed by the information of the area specified by the operand of the MSCH instruction. When the instruction processing device 3 is in the VM mode, that is, when the instruction processing device 3 is executing the program in the VM mode by the VM dispatch instruction issued from the VMM, the MSCH instruction changes the subchannel information in FIG. Are subject to restrictions. At this time, the dedicated / shared identification information of the subchannel, the VM identification information, and the start address and end address portions are not changed. The dedicated / shared identification information in the sub-channel indicates whether this sub-channel is used by a specific VM or shared by multiple VMs. When the VM identification information indicates that this subchannel is dedicated, the VM that is dedicated to this subchannel
Identification information is set. The start address and the end address indicate the areas on the actual main memory that can be accessed by this subchannel. This information can only be changed by VMM. Other subchannel control information in FIG. 7 can be changed regardless of the VM mode.

次にSSCH命令が発行されたときに、命令処理装置3がVM
モードでないときには、サブチャネル内の専用/共用識
別情報およびVM識別情報が調べられることはない。命令
処理装置がVMモードのときには、サブチャネル内の専用
/共用識別情報が調べられる。そして、サブチャネルが
共用の場合には、VMモードでないときと同様に入出力処
理装置4への入力命令起動通知が行われる。サブチャネ
ルが専用の場合、サブチャネル内のVM識別情報と命令処
理装置内のVM識別情報(これは第4図におけるVMIDR13
にある)との比較が行われる。この比較は第4図におい
て、FDR10に読み出された当該サブチャネルのVM識別情
報部分とVMIDR13の内容とを比較器28で比較することに
よる。比較結果が不一致であれば、現在命令処理装置3
で動作中のVMによる当サブチャネルのアクセスがVMMに
よって許可されていないことを示し、SSCH命令はプログ
ラムチエック条件が検出されて、入出力処理装置4への
入出力命令起動通知がされることなく終了する。比較結
果が一致であれば、入出力処理装置4への入出力命令起
動通知が行われる。
Next time the SSCH instruction is issued, the instruction processing unit 3
When not in mode, dedicated / shared identities and VM identities in the sub-channel are not examined. When the instruction processor is in VM mode, the private / shared identification information in the sub-channel is examined. Then, when the sub-channel is shared, the input instruction activation notification to the input / output processing device 4 is performed as in the case of not in the VM mode. When the sub-channel is dedicated, VM identification information in the sub-channel and VM identification information in the instruction processor (this is VMIDR13 in FIG. 4).
There is a comparison with. This comparison is based on the fact that the comparator 28 compares the VM identification information part of the sub-channel read in the FDR 10 and the contents of the VMIDR 13 in FIG. If the comparison results do not match, the current instruction processing device 3
Indicates that the VMM does not allow access to this subchannel by the VM that is running on the SSCH instruction, and the SSCH instruction does not notify the I / O instruction start-up to the I / O processor 4 when the program check condition is detected. finish. If the comparison result is a match, an input / output command activation notification is sent to the input / output processing device 4.

次に、第8図によって入出力処理装置4におけるアドレ
ス変換について説明する。
Next, address conversion in the input / output processing device 4 will be described with reference to FIG.

第8図において、30は入出力処理装置4の各チャネルに
共通な制御を行う共通制御部、40は各チャネルのうち1
チャネルの部分の抜き出したもので、実際には複数のチ
ャネル部が実装される。50は主記憶装置1からの読出し
データを保持するためのレジスタ(CFDR)、51は入出力
制御に係る制御情報を集中的に保持しておくためのロー
カル記憶(LS)、52はLS51をアクセスする際のアドレス
を保持するレジスタ(LSAR)、53はLSARの内容からLSの
レジスタを生成するためのアドレス生成回路(LSAC)、
54は実主記憶上に予め設定されたハードウェア領域のア
ドレスを生成する回路(MSAC)、55,56はそれぞれ加算
器の入力レジスタ(ACIR,ALIR)、57は終了アドレスを
保持するレジスタ(CEAR)、58は加算器、59は加算器の
出力を保持するレジスタ(ALR)、60は加算器の出力とC
EAR57の内容を比較するための比較器、61は実主話憶ア
クセス時のアドレスを保持するレジスタ(CSAR)であ
る。また、チャネル部40内の71は入出力動作に伴う入出
力データの実主記憶アドレスを保持、更新するレジスタ
(CDAR)、72はチャネルで実行中のCCWを保持、更新す
るためのレジスタ(CCR)、73,74は実主記憶と入出力装
置間の入出力データをバッファリングするためのレジス
タ(CBR)、75はCCR72の内容に基づいてI/Oインタフェ
ースを制御するための回路である。
In FIG. 8, reference numeral 30 is a common control section for performing common control for each channel of the input / output processing device 4, and 40 is one of the channels.
It is a channel part extracted, and in practice, a plurality of channel parts are mounted. 50 is a register (CFDR) for holding the read data from the main memory 1, 51 is a local memory (LS) for centrally holding control information related to input / output control, and 52 is an access to LS51. A register (LSAR) that holds the address when performing the operation, 53 is an address generation circuit (LSAC) that generates an LS register from the LSAR contents,
54 is a circuit (MSAC) that generates an address of a hardware area preset in the actual main memory, 55 and 56 are input registers (ACIR, ALIR) of the adder, and 57 is a register (CEAR that holds the end address). ), 58 is an adder, 59 is a register (ALR) that holds the output of the adder, and 60 is the output of the adder and C
A comparator for comparing the contents of EAR57, 61 is a register (CSAR) for holding an address at the time of real main memory access. Further, 71 in the channel unit 40 is a register (CDAR) for holding and updating the actual main memory address of the input / output data accompanying the input / output operation, and 72 is a register (CCR) for holding and updating the CCW being executed in the channel. ), 73 and 74 are registers (CBR) for buffering input / output data between the real main memory and the input / output device, and 75 is a circuit for controlling the I / O interface based on the contents of CCR72.

さて、命令処理装置3からの入出力処理装置4に対して
入出力命令起動通知が行われると、入出力処理装置4
(以下、IOPと称す)は、実主記憶上のIOCBをCFDR50に
読出し、サブチャネル番号部分をMSAC54に入力して当該
サブチャネルに対応する実主記憶アドレスを生成し、加
算器58を通過させ、ALR59、CSAR61を経由して実主記憶
からサブチャネル情報を読出す。読出したサブチャネル
情報はCFDR50を経由してLS51の所定の場所に格納する。
次いで、このサブチャネル情報に含まれるチャネル指定
情報によって指定されるチャネルを選択する。指定され
たチャネルが起動可能であると、サブチャネル情報のひ
とつであるCCWアドレス(これはSSCH命令実行時に命令
処理装置によってサブチャネルに設定されるチャネルプ
ログラムアドレスである)をLS51からACIR55へ読み出
す。さらに当サブチャネルに割当てられている実主記憶
の開始アドレスと終了アドレスをそれぞれALIR56,CEAR5
7へ読出す。ACIR55の内容とALIR56の内容は加算器58に
よって加算が行われてALR59へ設定されると同時に、CEA
R57の内容との比較が比較器60によって行われる。比較
器60の出力が、該加算されたアドレスの方がCEAR57の内
容よりも大きいことを示す場合にはアドレス変換例外が
検出されて、この入出力起動は中止され、入出力割込み
によってプログラムチエック条件が報告されることにな
る。アドレス変換例が検出されないと、ALR59の内容はC
AAR61を介して主記憶装置へ送られてCFDR50にはCCWが読
み出される。入出力動作に係るアドレスは、絶対アドレ
スとしての属性をもつので、プリフイックス変換は行わ
れない。
Now, when an input / output instruction activation notification is issued from the instruction processing device 3 to the input / output processing device 4, the input / output processing device 4
(Hereinafter referred to as IOP) reads the IOCB on the real main memory to CFDR50, inputs the subchannel number part to MSAC54, generates the real main memory address corresponding to the subchannel, and passes it through the adder 58. , Subchannel information is read from the actual main memory via ALR59, CSAR61. The read sub-channel information is stored in a predetermined location of LS51 via CFDR50.
Then, the channel designated by the channel designation information included in this sub-channel information is selected. When the specified channel can be activated, the CCW address, which is one of the sub-channel information (this is the channel program address which is set to the sub-channel by the instruction processing unit when the SSCH instruction is executed), is read from LS51 to ACIR55. Furthermore, the start and end addresses of the actual main memory assigned to this subchannel are set to ALIR56 and CEAR5, respectively.
Read to 7. The contents of ACIR55 and ALIR56 are added by the adder 58 and set in ALR59.
The comparison with the contents of R57 is performed by the comparator 60. If the output of the comparator 60 indicates that the added address is larger than the contents of CEAR57, an address translation exception is detected, this I / O activation is aborted, and the I / O interrupt causes a program check condition. Will be reported. If no address translation example is detected, the content of ALR59 is C
The CCW is sent to the main memory via the AAR61 and the CCW is read to the CFDR50. Since the address related to the input / output operation has an attribute as an absolute address, prefix conversion is not performed.

CCWが読出されると、コマンド部、フラグ部、カウント
部はチャネル40内のCCR72へ転送される。CCWのデータア
ドレス部(仮想実記憶アドレス)はACIR55に転送し、コ
マンド部が逆読みでない場合は1ページ分のアドレスを
加算し、逆読込みコマンドであれば、1ページ分のアド
レスが減算され、ページ内アドレスの部分は削除され
て、LS51内に格納される。次いで、ACIR55の内容は前述
と同様にして開始アドレスの加算と終了アドレスとの比
較が行われる。比較器60によって、アドレス変換例外が
検出されると、この入出力命令起動動作は中止される。
アドレス変換例外が検出されなければ、ALR59の内容
(実主記憶アドレス)はチャネル部40内のXDAR71に転送
されて、チャネル部40による入出力動作が開始される。
When CCW is read, the command part, flag part, and count part are transferred to CCR 72 in channel 40. The data address part (virtual real memory address) of CCW is transferred to ACIR55, and if the command part is not reverse read, the address for one page is added, and if it is the reverse read command, the address for one page is subtracted, The in-page address part is deleted and stored in LS51. Then, the contents of the ACIR 55 are added with the start address and compared with the end address in the same manner as described above. When the address translation exception is detected by the comparator 60, the input / output instruction activation operation is stopped.
If no address translation exception is detected, the contents of ALR 59 (actual main memory address) are transferred to the XDAR 71 in the channel unit 40, and the input / output operation by the channel unit 40 is started.

チャネル部のデータ転送に伴って、CDAR71内のアドレス
がページ境界を検出すると、チャネル部40は集中制御部
30へアドレスの変更を要求する。アドレス更新、要求を
受けた集中制御部40によって、LS51から対応するチャネ
ルのデータアドレス部、開始アドレス部および終了アド
レス部の読出しと、前述と同様にしてデータアドレス部
(仮想実記憶アドレス)に対する開始アドレスの加算と
終了アドレスとの比較が行われる。比較器60によってア
ドレス変換例外が検出されれば、集中制御部30によって
チャネル部40の入出力動作終了が指示されて入出力動作
は終了する。アドレス変換例外が検出されなければ、CD
AR71には新しいアドレスが設定されてデータ転送が続行
される。
When the address in the CDAR71 detects a page boundary along with the data transfer of the channel section, the channel section 40 is controlled by the centralized control section.
Request an address change to 30. Upon receiving the address update and request, the central control unit 40 reads the data address part, the start address part and the end address part of the corresponding channel from the LS 51 and starts the data address part (virtual real storage address) in the same manner as described above. Address addition and comparison with the end address are performed. If the address translation exception is detected by the comparator 60, the centralized control unit 30 instructs the end of the input / output operation of the channel unit 40 and the input / output operation ends. CD if no address translation exception detected
A new address is set in AR71 and data transfer continues.

〔発明の効果〕〔The invention's effect〕

本発明によれば、実主記憶を複数の領域に分割し、該分
割した各々の領域をオペレーティング・システム(VM)
の仮想実記憶として、複数のオペレーティング・システ
ムの各々に専用または共用で割り当てるようにして、該
複数のVMを命令処理装置と複数のサブチャネル含む入出
力処理装置でそれぞれ動作させる仮想計算機システムに
おいて、命令処理装置側と入出力処理装置側に各々アド
レス定数演算すなわちアドレス変換とその上限チエック
のための手段を設けたことにより、VMMの介在なしに、
命令処理装置でのVMの動作とは独立に入出力処理装置側
で入出力処理に伴うアドレス変換を行うことが可能にな
り、命令処理のみならずサブチャネルの入出力動作にお
いても、アドレス変換に伴う主記憶アクセスのオーバヘ
ッドを削除できる効果がある。さらに、サブチャネルが
特定のVMに専用される場合、該VMの識別情報を保持する
手段を設けると共に、命令処理装置に、サブチャネルを
アクセスしようとするVMの識別情報と該保持しているVM
の識別情報とを比較する手段を設けることにより、サブ
チャネルが不要に他VMによってアクセスされるのを保護
できる効果がある。
According to the present invention, the real main memory is divided into a plurality of areas, and each of the divided areas is divided into an operating system (VM).
In a virtual computer system in which the plurality of VMs are respectively operated by an instruction processing device and an input / output processing device including a plurality of sub-channels, as a virtual real storage of By providing means for address constant calculation, that is, address conversion and its upper limit check on the instruction processor side and the input / output processor side respectively, without intervention of VMM,
It is possible to perform address translation associated with I / O processing on the I / O processor side independently of VM operation in the instruction processing unit, and to perform address translation not only for instruction processing but also for sub-channel I / O operations. This has the effect of eliminating the accompanying overhead of main memory access. Further, when the sub-channel is dedicated to a specific VM, a means for holding the identification information of the VM is provided, and the instruction processing device is provided with the identification information of the VM trying to access the sub-channel and the holding VM.
By providing a means for comparing with the identification information of the sub-channel, it is possible to protect the sub-channel from being unnecessarily accessed by another VM.

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

第1図は本発明の仮想計算機システムにおける実主記憶
の分割とVMへの割当て、およびVM状態記述ブロック内情
報との関係を示す図、第2図は実計算機システムの構成
を示す図、第3図はVMモニタによるVMのディスパッチの
様子を示す図、第4図は命令処理装置におけるアドレス
変換機構を示す図、第5図は主記憶装置における入出力
制御情報の配置を示す図、第6図は入出力制御ブロック
を示す図、第7図はサブチャネル情報を示す図、第8図
は入出力処理装置におけるアドレス変換機構を示す図で
ある。 1……主記憶装置、2……記憶制御装置、3……命令処
理装置、4……入出力処理装置、5……入出力装置群、
13……VM識別情報保持レジスタ、14……開始アドレス保
持レジスタ、15……終了アドレス保持レジスタ、16……
TLB、26……比較器、51……ローカル記憶、57……終了
アドレス保持レジスタ、60……比較器。
FIG. 1 is a diagram showing the relationship between real main memory partitioning and VM allocation and VM state description block information in the virtual computer system of the present invention. FIG. 2 is a diagram showing the configuration of the real computer system. FIG. 3 is a diagram showing a state of VM dispatch by a VM monitor, FIG. 4 is a diagram showing an address conversion mechanism in an instruction processing device, FIG. 5 is a diagram showing an arrangement of input / output control information in a main storage device, and FIG. FIG. 7 is a diagram showing an input / output control block, FIG. 7 is a diagram showing subchannel information, and FIG. 8 is a diagram showing an address conversion mechanism in an input / output processing device. 1 ... Main storage device, 2 ... Storage control device, 3 ... Command processing device, 4 ... Input / output processing device, 5 ... Input / output device group,
13 …… VM identification information holding register, 14 …… Start address holding register, 15 …… End address holding register, 16 ……
TLB, 26 ... comparator, 51 ... local memory, 57 ... end address holding register, 60 ... comparator.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】実主記憶を複数の領域に分割し、該分割し
た各々の領域をオペレーティング・システムの仮想実記
憶として、複数のオペレーティング・システムの各々に
専用または共用で割り当てるようにして、該複数のオペ
レーティング・システムを命令処理装置と複数のサブチ
ャネルを含む入出力処理装置でそれぞれ動作させる仮想
計算機システムにおいて、 前記命令処理装置に、該命令処理装置上で動作するオペ
レーティング・システムに割り当てられた実主記憶領域
の開始アドレスと終了アドレスとを設定する手段と、該
命令処理装置が発行した仮想実記憶アドレスに前記設定
されている実主記憶領域の開始アドレスを演算する手段
と、該演算したアドレスと前記設定されている実主記憶
領域の終了アドレスとを比較する手段を設け、 前記入出力処理装置に、複数のサブチャネルの名々に対
して、当該サブチャネルを使用するオペレーティング・
システムに割り当てられた実主記憶領域の開始アドレス
と終了アドレスとを設定する手段と、該サブチャネルが
発する仮想実記憶アドレスに該サブチャネルの前記設定
されている実主記憶領域の開始アドレスを演算する手段
と、該演算されたアドレスと該サブチャネルの前記設定
されている実主記憶領域の終了アドレスとを比較する手
段とを設けたことを特徴とする仮想計算機システム。
1. A real main memory is divided into a plurality of areas, and each divided area is allocated as a virtual real memory of an operating system to each of the plurality of operating systems in a dedicated or shared manner. A virtual computer system in which a plurality of operating systems are respectively operated by an instruction processing device and an input / output processing device including a plurality of subchannels, wherein the instruction processing device is assigned to an operating system operating on the instruction processing device. A means for setting a start address and an end address of the real main memory area; a means for calculating the start address of the real main memory area set to the virtual real memory address issued by the instruction processing device; A means for comparing the address with the end address of the set actual main storage area is provided, The input / output processing unit is provided with an operating system that uses the sub-channel for each of the sub-channels.
Means for setting a start address and an end address of a real main storage area assigned to the system, and calculating a start address of the set real main storage area of the subchannel to a virtual real storage address issued by the subchannel And a means for comparing the calculated address with the end address of the set real main storage area of the sub-channel.
【請求項2】特許請求の範囲第1項記載の仮想計算機シ
ステムにおいて、 サブチャネルが特定のオペレーティング・システムに専
用される場合に該オペレーティング・システムの識別情
報を保持する手段を設けると共に、命令処理装置に、サ
ブチャネルをアクセスしようとするオペレーティング・
システムの識別情報と前記保持しているオペレーティン
グ・システムの識別情報とを比較する手段を設けたこと
を特徴とする仮想計算機システム。
2. The virtual computer system according to claim 1, further comprising means for holding identification information of the operating system when the sub-channel is dedicated to a specific operating system, and instruction processing. The operating system trying to access the subchannel on the device
A virtual computer system comprising means for comparing system identification information with the retained operating system identification information.
JP60208376A 1985-09-20 1985-09-20 Virtual computer system Expired - Lifetime JPH071491B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60208376A JPH071491B2 (en) 1985-09-20 1985-09-20 Virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60208376A JPH071491B2 (en) 1985-09-20 1985-09-20 Virtual computer system

Publications (2)

Publication Number Publication Date
JPS6269341A JPS6269341A (en) 1987-03-30
JPH071491B2 true JPH071491B2 (en) 1995-01-11

Family

ID=16555256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60208376A Expired - Lifetime JPH071491B2 (en) 1985-09-20 1985-09-20 Virtual computer system

Country Status (1)

Country Link
JP (1) JPH071491B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211526A (en) * 2009-03-10 2010-09-24 Fujitsu Ltd Program, computer, and control method

Also Published As

Publication number Publication date
JPS6269341A (en) 1987-03-30

Similar Documents

Publication Publication Date Title
US4347565A (en) Address control system for software simulation
US5574878A (en) Method of parallel purging of translation lookaside buffer in a multilevel virtual machine system
CA1141475A (en) Virtual machine system
US4916608A (en) Provision of virtual storage resources to an operating system control program
US4802084A (en) Address translator
CA1305799C (en) Logical resource partitioning of a data processing system
CA1123109A (en) Channel address control system in a virtual machine system
CA1182575A (en) Method and means for switching system control of cpus
EP0106572B1 (en) Data processing system with virtual machines
JP2839201B2 (en) Virtual computer system
US4466056A (en) Address translation and generation system for an information processing system
EP0185378A2 (en) Virtual computer system
CA1213986A (en) Selective guest system purge control
JPH06110715A (en) Dynamic allocation method of computer resources in virtual computer system
EP0303783B1 (en) Data processing system with logical processor facitily
JPH071491B2 (en) Virtual computer system
CN117270929A (en) Method and device for hot upgrading of virtual machine
Katzan Jr Operating systems architecture
JPS6336012B2 (en)
JP3022398B2 (en) Virtual computer system
JPS6299844A (en) address translation device
KR102708907B1 (en) External exception handling
JPH1153327A (en) Multiprocessor system
JPS5911944B2 (en) Virtual machine simulation method
JPS62221041A (en) Dispatch controller in virtual computer system