JPS6278642A - Control system for memory control unit - Google Patents
Control system for memory control unitInfo
- Publication number
- JPS6278642A JPS6278642A JP60218799A JP21879985A JPS6278642A JP S6278642 A JPS6278642 A JP S6278642A JP 60218799 A JP60218799 A JP 60218799A JP 21879985 A JP21879985 A JP 21879985A JP S6278642 A JPS6278642 A JP S6278642A
- Authority
- JP
- Japan
- Prior art keywords
- address
- management unit
- memory management
- program
- conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
〔発明の利用分野1
本発明は仮想側算機システムにおけるメモリ管理ユニッ
トの制御方式に関し、特に1台の実計算機上で複数の仮
想計算機を並行して動作させる仮想計算機システムの性
能を高めるのに好適なメモリ管理ユニット制御方式に関
するものである。
〔発明の背景〕
通常、実計算機システムは、第2図に示すように中央処
理装!(c p U) ] 、メメモリ管理ユニットM
MU)2.主記憶装置(M EM) 3.人出力制御装
置i(I 0C)4 、入出力装貯系(I O)5 a
、 513・・、アプリケージ目ン・プロゲラ4(A
P)7 a 。
7b・・・・7に、それにハードウェアとラフ1〜ウエ
アの双方を制御するオペレーティング・システ11(以
下、O8と呼ぶ)6により構成する。
これに対して仮想計算機システノ、(以下、VMSと呼
ぶ)は、上記の実計算機システム上において複数個の仮
想削算機(以十、VMと呼ぶ)をMe行番こ処理実行さ
せるために、第3図に示すように上記第2図の各部1〜
5b、各ソフトウェア6〜7にと同様の中央処理装置(
CPU)II、メモリ管理ユニット(MMU)12.・
・・・・・・・、アプリケーション・プログラム(AP
)17bを設ける他に、0816と中央処理装置(CP
U)11間に仮想計算機制御プログラム(以下、VMC
Pと呼ぶ)18を備える構成にする。このVMCPlg
が第2図のO86に代って中央処理装置(CPU)11
に対応して、第2図の実計算機システムを複数個の仮想
計算機として動作させる。
VM、9では、主記憶装置(MwM)13内に各VMご
との領域を設け、その領域内に中央処理装置(CPTJ
)11などの仮想のハードウェアを保持して、それぞれ
のVMに実計算機を時分割で使用させ動作させることに
より、複数のVMに対応する(図示してない)各O8の
制御下で各々のアプリケーション・プログラム(AP)
を処理実行させる。すなhち、各O8が自分のタイム・
スロット内において仮想のハードウェアである゛演算レ
ジスタ・。
1制御レジスタ′、′命令アドレス・レジスタ′。
′メモリ管理ユニット′、゛メ干り装置′などを実ハー
ドウェア上に設定することで、1台の実計算機があたか
も別個の側算機のように動作させる。つまり、1台の実
計算機トにおいて複数個のオペレーティング・システム
を同時に走行させている。
従来のVMSにおいては、実行中のVMに対してメモリ
領域を固定的に割当てて、そのVM上の0816が管理
するアドレス変換テーブル19をメモリ管理ユニット(
MMU)12に直接アドレス変換(論理アドレス→物理
アドレス)させてVMSの高性能化を図るという方法が
知られている。なお、VMが用いるメモリを固定的に割
当ててVMSを性能向−11させる方法としては特開昭
53−142137、特開昭54−052929 @公
報等が挙げられる。
しかしながら、0816で有しているアドレス変換テー
ブル19の中に中央処理装置(Cp [1) +1の実
行モードに対応する′保護コード′を設け、それをアド
レス変換時にメモリ管理ユニット(MMTJ)12に読
出させ、中央処理装置(CPU)1.1の実際の実行モ
ードと比較させて、アプリケーション・プログラム(A
P)17 a、 I 7 bのバグなどで壊されるのを
防止するために゛保護チェック′を行わせているが、そ
の実行モードの設定に当っては、7M」二の0816が
′ユーザ・モード′で実行しているにもかかわらずアド
レス変換テーブル19に対して゛スーパーバイザー・モ
ードIでのみアクセス可能な′保護コード′を設定する
ので、メモリ管理ユニット(MMU)12は′保護チェ
ック′エラーと判定し、アドレスの変換を行わないため
に、その度VMCP18を径由させることなり、処理の
ロス時間が多くなっていた。
また、VM上のO81,6が管理するアドレス変換テー
ブル19には、VMCPlgのメモリ領域を定義してい
ないので、VM上のプログラムがらVMCPlgへの動
作に戻るとき、メモリ管理ユニット(MMU)12では
アドレス変換を行わずに直接VMCPI8に主記憶袋f
il(MEM)23を使用させる必要がある。
〔発明の目的〕
本発明の目的は、このような従来の問題を解決し、O8
がアドレス変換テーブルをスーパーバイザー・モードに
設定する仮想計算機システムにおいて、簡単かつ安価な
方法により、上記アドレス変換テーブルを直接メモリ管
理ユニット(MMtJ)に使用させてアドレス変換およ
び保護チェックを行わせ、仮想計算機システノ、(VM
S)の性能を高めることのできるメモリ管理ユニット制
御方式を提供することにある。
〔発明の概要〕
上記目的を達成するため、本発明のメモリ管理ユニット
制御方式は、メモリ管理ユニツl−、複数のオペレーテ
ィング・システムを有する仮想計算機システムにおいて
、」1記仮想計算機システムの゛運用中′を記憶する第
一の格納手段(VMビット32)と、上記仮想計算機上
のプログラムの゛実行モード′を記憶する第二の格納手
段(PCビット32)と、上記メモリ管理ユニットによ
る保護チェックを制御するための信号(ST、J信号2
8)を出力する手段と、に記メモリ管理ユニットのアド
レス変換を非変換に指示する(hrp信号29)手段と
を備え、l−記メモリ管理ユニットは−1−記オペレー
ティング・システムのアドレス変換テーブル(]O9を
直接使用して、1−記仮想計算機−Lのプログラム(O
8あるいはAP)から上記仮想nI算機を制御する制御
プログラム(VMCP18)の動作へ戻ったときに1−
配弁変換指示によリアドレス変換を不実行にすると共に
、上記第一、第二の格納手段の内容で出力された一■二
記制御信号に基づいて保護ヂエックを行うことに特徴が
ある。
〔発明の実施例〕
以下、本発明の実施例を図面により説明する。
第1図は本発明の一実施例を示す仮想SL算機システム
(VMS)の構成図である。同図において、21は各種
処理を行う中央処理袋[(cpu)、22は論理/物理
のアドレス変換などを行うメモリ管理ユニツl−(MM
TJ)、23は:8vMの処理プロゲラ!1などを格納
する主記憶装置(M E M)、24はC)iJ21と
M E M 23間のデータ転送に用いる16本のデー
タ線、25けCPU2+が出力する32ビツトのアドレ
ス信号の中の下位12本のオフセット・アドレス線であ
り、CPU2+とMEM23間を直接結ぶ、26は同3
2ピツ1−中の上位20本の論理アドレス線であり、M
M TJ 22に゛論理アドレス信号′を送り出す。
27はM M 1122が変換した゛物理アドレス信号
′をMEM23へ送り出す20本の物理アドレス線、2
8はVMSの実行モードをCI”TJ21からMMIJ
22へ報告するS U信号線、29はcpn2]からM
M tJ22ヘアドレスの非変換動作すなわち論理)
′ドレス線26の内容&+のまま物理アトLノス線2V
に送り出させること各指示する13[3信号線でJりる
。
なお、本システムは前%i l、た第3図のVMSソフ
トウェア構成により動作する。また、′スーパーバイザ
ー・モ・−ド′においでのみ′特権命令′を実行可能で
あり、VM(:)18だけが゛特椿命令゛を実行可能で
ある。言い換えれば、′ユーザ・干−ド′で動作する0
316.AP27においてけ1特権命令′ を実行する
ことはできない。V M 、1xのプアー
ログラム(0816あるいはAP17a、17b)はv
MCP18の制御下で゛ユーザ・モード′で動作させる
9さらに、S tJ信号線28を用いて実行モードを報
告することで′スーパーバイザー・モード′で実行する
プログラムの論理アドレス空間が1ユーザ・モード′で
実行するプログラムによってアクセスされるのを防止し
ている。
次の第4図はVM制御レジスタ30とステータス・レジ
スタ35の構成図である。同図において、30はV M
、t−プログラムの゛実行モード′を示すPCピッ1
へ31とVMSの′運用中′を示すVMビット32を格
納するVM制御レジスタ、35はCPU1lの゛実行モ
ード′を示すSビットを格納するステータス・1ノジス
タである。なお、両レジスタ30.35ともCF) U
21内に実装する。また、Sピッ1−はcp’tTi
iが′スーパーバイザー・モード′時[Field of Application of the Invention 1] The present invention relates to a control method for a memory management unit in a virtual computer system, and particularly to improving the performance of a virtual computer system in which multiple virtual computers operate in parallel on one real computer. The present invention relates to a preferred memory management unit control method. [Background of the Invention] Usually, a real computer system has a central processing unit as shown in Figure 2. (c p U)], memory management unit M
MU)2. Main memory (MEM) 3. Human output control device i (I 0C) 4, input/output equipment storage system (IO) 5 a
, 513..., Appli Cage Men Progera 4 (A
P) 7 a. 7b...7, and an operating system 11 (hereinafter referred to as O8) 6 that controls both the hardware and the rough 1 to software. On the other hand, a virtual computer system (hereinafter referred to as VMS) is used to cause multiple virtual machines (hereinafter referred to as VMs) to execute Me line number processing on the above-mentioned real computer system. As shown in FIG. 3, each part 1 to 1 in FIG.
5b, a central processing unit similar to each software 6-7 (
CPU) II, memory management unit (MMU) 12.・
......Application program (AP)
) 17b, 0816 and central processing unit (CP
U) Virtual machine control program (hereinafter referred to as VMC)
(referred to as P) 18. This VMCPlg
is the central processing unit (CPU) 11 instead of O86 in Figure 2.
Corresponding to this, the real computer system shown in FIG. 2 is operated as a plurality of virtual computers. In the VM 9, an area is provided for each VM in the main memory (MwM) 13, and a central processing unit (CPTJ) is installed in that area.
) 11, etc., and have each VM use a real computer in a time-sharing manner to operate each VM under the control of each O8 (not shown) that corresponds to multiple VMs. Application program (AP)
Execute the process. In other words, each O8 has their own time.
``Arithmetic registers'' are virtual hardware within the slot. 1 control register', 'instruction address register'. By setting up a 'memory management unit', a memory device, etc. on real hardware, one real computer can operate as if it were a separate side computer. In other words, multiple operating systems are running simultaneously on one actual computer. In a conventional VMS, a memory area is fixedly allocated to a running VM, and the address translation table 19 managed by the 0816 on that VM is stored in a memory management unit (
A method is known in which the MMU 12 directly performs address translation (logical address to physical address) to improve the performance of the VMS. Note that Japanese Patent Laid-Open No. 53-142137, Japanese Patent Laid-Open No. 54-052929@publication, etc. are cited as methods for fixedly allocating the memory used by the VM to lower the performance of the VMS by 11%. However, a 'protection code' corresponding to the execution mode of the central processing unit (Cp [1) +1] is provided in the address translation table 19 of the 0816, and it is sent to the memory management unit (MMTJ) 12 during address translation. The application program (A
P) In order to prevent it from being broken by bugs in 17a and I7b, a ``protection check'' is performed, but when setting the execution mode, 0816 of 7M''2 Since the memory management unit (MMU) 12 sets a ``protection code'' that is accessible only in ``supervisor mode I'' to the address translation table 19 even though it is executed in ``mode'', the memory management unit (MMU) 12 has a ``protection check'' error. Since it is determined that the address is not converted and the VMCP 18 is bypassed each time, a lot of processing time is lost. In addition, since the memory area of VMCPlg is not defined in the address translation table 19 managed by O81, 6 on the VM, when the program on the VM returns to the operation of VMCPlg, the memory management unit (MMU) 12 Main memory bag f directly to VMCPI8 without address conversion
It is necessary to use il(MEM)23. [Object of the invention] The object of the present invention is to solve such conventional problems and to
In a virtual machine system in which the address translation table is set to supervisor mode, there is a simple and inexpensive method that allows the memory management unit (MMtJ) to directly use the address translation table to perform address translation and protection checks. Computer Sisteno, (VM
An object of the present invention is to provide a memory management unit control method that can improve the performance of S). [Summary of the Invention] In order to achieve the above object, the memory management unit control method of the present invention provides a memory management unit control method for controlling a memory management unit in a virtual computer system having a plurality of operating systems. A first storage means (VM bit 32) for storing the 'execution mode' of the program on the virtual machine, a second storage means (PC bit 32) for storing the 'execution mode' of the program on the virtual machine, and a protection check by the memory management unit. Signals for control (ST, J signal 2
8); and means (hrp signal 29) for instructing the memory management unit to perform address conversion to non-conversion (hrp signal 29); (] Directly use O9 to program (1) virtual computer-L (O
8 or AP) to return to the operation of the control program (VMCP18) that controls the virtual nI computer, 1-
The present invention is characterized in that the rear address conversion is not executed in accordance with the valve allocation conversion instruction, and the protection check is performed based on the 1 and 2 control signals output based on the contents of the first and second storage means. [Embodiments of the Invention] Examples of the present invention will be described below with reference to the drawings. FIG. 1 is a configuration diagram of a virtual SL computer system (VMS) showing an embodiment of the present invention. In the figure, 21 is a central processing unit (CPU) that performs various processes, and 22 is a memory management unit (MM) that performs logical/physical address conversion.
TJ), 23: 8vM processing progera! 1, etc., 24 is C) 16 data lines used for data transfer between iJ21 and MEM 23, and 32-bit address signal output by 25 CPU2+. These are the lower 12 offset address lines, which directly connect the CPU2+ and MEM23, and 26 is the lower 12 offset address lines.
These are the upper 20 logical address lines in 2 bits 1-, and M
A ``logical address signal'' is sent to the M TJ 22. 27 are 20 physical address lines that send out the ``physical address signal'' converted by MM 1122 to MEM 23;
8 changes the VMS execution mode from CI”TJ21 to MMIJ
S U signal line reporting to 22, 29 is cpn2] to M
M tJ22 head address non-conversion operation (logic)
'Contents of dress line 26 &+ remains physical atto L nos line 2V
13 [3 signal lines to instruct each signal to be sent out. Note that this system operates according to the VMS software configuration shown in FIG. 3. Further, only the ``supervisor mode'' can execute the ``privileged instruction'', and only the VM(:) 18 can execute the ``special camellia instruction''. In other words, 0 running at 'user-board'
316. It is not possible to execute a privileged instruction in AP27. V M , the poor algorithm (0816 or AP17a, 17b) of 1x is v
Operating in ``user mode'' under the control of MCP 18 9 Furthermore, by reporting the execution mode using the S tJ signal line 28, the logical address space of the program executed in ``supervisor mode'' is set to 1 user mode. This prevents it from being accessed by programs running in . The following FIG. 4 is a configuration diagram of the VM control register 30 and status register 35. In the same figure, 30 is V M
, PC pin 1 indicating the ``execution mode'' of the t-program.
A VM control register 31 stores a VM bit 32 indicating that the VMS is in operation, and a status 1 register 35 stores an S bit indicating an ``execution mode'' of the CPU 1l. In addition, both registers 30 and 35 are CF) U
Implemented within 21. Also, S p1- is cp'tTi
When i is in 'supervisor mode'
【シLVJ、Iユ
ーザ・モード′時に′0″とする。
CPNllは、p cビット31が111′”(VMが
スーパーバイザー・モード)で、かつVMビット32が
LLlll(運用中)の場合には、CPUII自身−8
=
の実行モードに関係なくSTI信号28をi+ 1 、
、、すなわち、VMSは′スーパーバイザー・モード′
の動作中にあることをMMN22へ報告する4、一方、
VMビット32が’1”(VMSが運用中)で、がっC
PU]、1の実行モードが′スーパーバイザー・モード
′の場合にはB P信号29を1″′、すなオ〕ちVM
CP18(7)動作である(1)でMMU22に、7ド
レス変換を行わないように指示する。
上記各ビット31,32,36おJ、び両制御信号28
.29と、VMSの運用時における実行プログラムとの
関係は第5図に示ず通llである。
すなオ〕ち、VMCP18の動作時はSピッl−36、
VMピッ1−32.STJ信号28そ扛1.:I RP
信号29を全てII 111 ニして、゛スーパーバイ
ザー・モード′、′アドレス変換の申出′、をMM(J
22に指示する。次に、V M 、1−:での0816
の動作時はPCピッ1−31.VMビー)l−32,S
t■イi□’+ 28を全てIf I IIにして、′
スー・パーバイザー・干・−ド°、′アドレス変換の実
行′をMMIJ22に指示する。続いて、■λ4トでの
AP 17 a、 1.7 bの動作時はVMビット
32のみをII 1 pzにして′ユーザ・モード′、
′アドレス変換の実行′をMMU 22に指示する。
同様に上記各ビット31,32,36および面制御信号
28.29と、実計算機システムの運用時における実行
プログラムとの関係は第6図に示す通りである。
すなわち、O86が動作する時はSビット36゜STJ
信号28を全て′1″にしpcビット31の′111
/ II OIIにかかわらず、′スーパーバイザー・
モード′をMMU2に指示する。次に、AP7a、7b
、・・のいずれかが動作する時は′ユーザ・モード″を
MMU2に指示する。このように実計算機システムの運
用ではVMビット32を常に′0″にすることで本来の
動作を保証する。
本実施例におけるVMSは、第3図に示したようKVM
CP18の制御下にて0816を動作させ、その081
6の制御下にてAP 17 a、 17b、・・を動作
させている。CPUの内部においてはVM下の0816
を′ユーザ・モード′で実行させる。VM上(7)O8
16(あるいはAPl、7)が′ユーザ・モード′の動
作状態でCI)Ul、1やl0C14を制御するための
′特権命令′を発行すると、それをVMCP18が゛特
権命令達反割込み′として検出し、その後はその命令に
基づいてVMCPI3が゛スーパーバイザ・モード′で
、例えば、7M(7)仮想的なCPUIIや仮想的なl
0C14を制御する。すなわち、゛特権命令達反割込み
″が発生したときに実行モードを自動的に′スーパーバ
イザー・モード″へと切替えVMCP18に制御を移す
ことで、仮想的な入出力装置に対応する実際のl0C1
4を制御する゛特権命令′が実行できるようにする。
○S16がMMU22巾にある制御レジスタにアドレス
変換テーブル19のアドレスをセットする′特権命令′
を発行すると上記のごとく、″特権命令達反割込み′が
発生し、VMCP18に制御が移る。VMCP18は゛
特権命令達反割込み′を受けたときに、MMU22内に
ある制御レジスタに対して0816に代って、アドレス
変換テープル19のテーブル・アドレスをセットする。
そのアトL/Xを基にMMU22は、VM下+71O8
16が設定したアドレス変換テーブルI9を直接使用し
てアドレスの変換、保護チェックなどを実行する。この
ため、各VMが使用するプログラムは固定的にメモリ上
に割り当てている。
次に、VM上の0816が設定したアドレス変換テーブ
ル19をMMU22に直接使用させるようにしたときに
課題が2つ生ずるので、それを以下に述べる。
第1の課題として、VM上の0816が管理する論理ア
ドレスの空間内にはVMCP18の領域を設けていない
ので、制御がVM上の0816からVMCP18へ移っ
たときにMMTJ22のアドレス変換機能をバイパスし
、アドレスを非変換にする必要がある。
これを実現するため、■VMCP13にはVMSを起動
すると同時にVM制御レジスタ30の■ ゛Mビット1
2を“1”(VMの運用中)にセットさせる。■CPU
21内において′ユーザ・モード′で動作しているVM
上のプログラム(0816またはAPl7)から1スー
パーバイザー・モード′で動作するVMCP18へと制
御を移5行するときには、CPU21からMMTJ22
へのBP信号29を0171にし、M M t−722
にアドレス変換を行わないよう指令する(第5図のVM
CP動作を参照)。
なお、この処置については、CPU21内のステータス
・レジスタ35のSビット36が100 uがら′11
7へと変化したときに、VM制御レジスタ3゜のVMビ
ット32がII 177である場合のみ、BP信号29
をsr 1″″にするように行う。
第2の8頭として、VM上の0816は自分自身が′ス
ーパーバイザー・モード′で実行しているとして、MM
U2が示すアドレス変換テーブル19のO8領域を、゛
スーパーバイザー・モード′でのみアクセス可能なよう
に設定するのに対して、CPUII内では′ユーザ・モ
ード′で動作することである・したがって、このままで
はMMU22による′保護チェック′エラーとなり、0
816がMEM23のO8領域をアクセスすることがで
きない。
これをなくすため、■VMCP18がVM下の0816
を起動するときにVM制御レジスタ3゜のPCビット3
1にN 1 +7をセットさせ、VM上のA、P17a
、17bを起動するときにVM制御レジスタ30のPC
ビット31に′0″をセットさせる。@CPTJ2Lか
らMMU22へ(7)STJ信号28は次論理式で出力
する。
5U=S or (VM and PC) ・・”
(1)ただし、orは論理和、 andは論理積、S、
VM、PCはそのビットの内容である。
すなわち、実計算機のモード(VMビット32がII
OII)のときはステータスレジスタ35のSビット3
6の内容をそのまま50m号28として出力し、反対に
、VMのモード(VMピッh32がit ] 1゜)の
ときは−■−fiBと同じSビット36とPCビット3
1との両内容の論理和をS TJ信号28として出力す
る。これにより、VM−ヒの0816が′ユーザモード
′で動作しているにもかかわらず、MMU22が゛スー
パーバイザー・モード′で動作しているものと認識し′
保護チェック′を行うので、0816は゛保護チェック
′エラーを生じさせることなく動作することができる。
このように、VM上の0816実行時にはcPU内部の
実行モードは゛ユーザ・モード′であるにもかかオ】ら
ず、MMU22へは1スーパーバイザー・モード′であ
ると報告して、アドレス変換テーブルの保護コードとC
PTTilの実行コードを比較したときの1保護チエツ
ク′エラーを防ぐことで。
アドレス変換を行オ〕なことによるVMCP 18の処
理を少なくし、かつ、VM上のO8+6が設定したアド
レス変換テーブルを直接MMU22に使用させ、アドレ
ス変換の制御もVMCP18を径由することなく行うこ
とができるので、高性能な仮想計算機システノ、が実現
できる。また、V M −にのプロゲラ11から7MC
1118への移行時、すなわち、cpuiiの実行モー
ドが゛ユーザ・干−ド″から゛スーパーバイザー・干−
ド′へ変ったとき、CPUIIがVMSの運用中を検出
しHPrn号29を送出して、MMTI22をアドレス
非変換−15〜
にするので、′特権命令達反割込み′によりVM上のプ
ログラムからVMCI318に移ることが可能となり、
VMCP18は′スーパーバイザー・モード′で各VM
を制御することができる。
本実施例では、VM制御レジスタ30およびステータス
レジスタ35をCPU21内に内蔵したことで、実開算
機システムで運用する場合とVMSで運用する場合を同
一のシステム構成で使用可能である。また、CPU21
内
U信号線28とBP信号線29をハード的に設けたこと
により、CPTJ21 、MMU22を別チップ構成に
することができる。
〔発明の効果〕
以」−説明したように、本発明によれば、VM上のO8
がO8領域に対応するアドレス変換テーブルをスーパー
バイザー・モード′でしか参照できないように設定する
仮想計算機システムにおいて、VMピッ1−にVMSの
′運用中’、I”Cピッ1−に■M−ヒプログラlいの
″スーパーバイザー・モード′が格納されたときに、M
M Uに対し′スーパーバイザー・モード′、′アド
レス非変換の指示′髪ハード的に送出するので、特殊な
回路部品を用いることなく、M M UはVM−1−の
O8が設定したアドレス変換テーブルを直接使用してア
ドレス変換および保護チェックを実行することができる
と共に、VMSの性能は大巾に向」−する。[SLVJ, set to 0 when in user mode.CPNll is set to 0 when pc bit 31 is 111' (VM is in supervisor mode) and VM bit 32 is LLll (in operation). is CPUII itself-8
= STI signal 28 is i+ 1, regardless of the execution mode of
, , i.e. the VMS is in 'supervisor mode'
Reports to MMN 22 that it is in operation 4.Meanwhile,
VM bit 32 is '1' (VMS is in operation),
PU], if the execution mode of 1 is 'supervisor mode', the BP signal 29 is set to 1''', i.e. VM
CP18 (7) operation (1) instructs the MMU 22 not to perform 7-dress conversion. Each of the above bits 31, 32, 36 and J, and both control signals 28
.. The relationship between 29 and the execution program during operation of the VMS is not shown in FIG. In other words, when VMCP18 is operating, S-pill-36,
VM Pi 1-32. STJ signal 28 operation 1. :IRP
All signals 29 are set to II 111, and ``Supervisor mode'' and ``Address conversion offer'' are set to MM (J
22. Then 0816 at V M , 1-:
When operating, the PC picks 1-31. VM Bee) l-32, S
t■iii□'+ 28 are all If I II,'
The supervisor instructs the MMIJ 22 to 'execute address translation'. Next, when operating APs 17a and 1.7b at
Instructs the MMU 22 to 'execute address translation'. Similarly, the relationship between the bits 31, 32, 36 and the surface control signals 28, 29 and the execution program during operation of the actual computer system is as shown in FIG. In other words, when O86 operates, the S bit is 36°STJ.
Set all signals 28 to '1' and set pc bit 31 to '111'
/ II Regardless of OII, 'Supervisor
Instruct the MMU2 to set the mode'. Next, AP7a, 7b
, . . , instructs the MMU 2 to operate in 'user mode'. In this way, in the operation of a real computer system, the original operation is guaranteed by always setting the VM bit 32 to '0'. The VMS in this embodiment is a KVM as shown in FIG.
0816 is operated under the control of CP18, and its 081
APs 17a, 17b, . . . are operated under the control of AP 6. Inside the CPU, 0816 under VM
run in ``user mode''. On VM (7) O8
When 16 (or AP1, 7) issues a 'privileged instruction' to control CI) Ul, 1 or l0C14 while operating in 'user mode', VMCP18 detects it as a 'privileged instruction interrupt'. After that, based on that instruction, VMCPI3 goes into ``supervisor mode'', for example, 7M (7) virtual CPU II or virtual l
Controls 0C14. In other words, when a "privileged instruction arrival interrupt" occurs, the execution mode is automatically switched to "supervisor mode" and control is transferred to VMCP18, so that the actual l0C1 corresponding to the virtual input/output device
Enables execution of ``privileged instructions'' that control 4. ○ A 'privileged instruction' in which S16 sets the address of the address conversion table 19 in the control register located in the width of the MMU22.
As mentioned above, a "privileged instruction arrival interrupt" is generated and control is transferred to the VMCP18.When the VMCP18 receives the "privileged instruction arrival interrupt", it writes the 0816 to the control register in the MMU22. Then, the table address of the address conversion table 19 is set. Based on that at L/X, the MMU 22 sets the VM lower +71O8.
Address translation, protection checking, etc. are performed by directly using the address translation table I9 set by 16. For this reason, the programs used by each VM are fixedly allocated on memory. Next, two problems arise when the MMU 22 is made to directly use the address translation table 19 set by the 0816 on the VM, which will be described below. The first issue is that since there is no VMCP18 area in the logical address space managed by 0816 on the VM, the address conversion function of MMTJ22 can be bypassed when control is transferred from 0816 on VM to VMCP18. , the address needs to be untranslated. In order to achieve this, ■ VMCP13 has the ■ ゛M bit 1 of the VM control register 30 at the same time as starting the VMS.
2 to "1" (VM in operation). ■CPU
VM running in 'user mode' in 21
When transferring control from the above program (0816 or APl7) to VMCP18 operating in 1 supervisor mode', the MMTJ22 from CPU21
BP signal 29 to 0171, M M t-722
command not to perform address conversion (VM in Figure 5).
(See CP operation). Regarding this procedure, if the S bit 36 of the status register 35 in the CPU 21 is 100u
BP signal 29 only if the VM bit 32 of the VM control register 3° is II 177.
This is done so that sr is 1″″. As the second eight, 0816 on the VM assumes that it is running in 'supervisor mode', and
The O8 area of the address translation table 19 indicated by U2 is set to be accessible only in ``supervisor mode,'' whereas it operates in ``user mode'' within CPU II. In this case, a 'protection check' error occurs due to MMU22, and 0
816 cannot access the O8 area of MEM23. In order to eliminate this, ■VMCP18 is 0816 under VM.
PC bit 3 of VM control register 3° when starting
Set N 1 +7 to 1, A on VM, P17a
, 17b, the VM control register 30 PC
Set bit 31 to '0''. @CPTJ2L to MMU22 (7) STJ signal 28 is output according to the following logical formula. 5U=S or (VM and PC)..."
(1) However, or is logical sum, and is logical product, S,
VM and PC are the contents of the bits. In other words, the mode of the real computer (VM bit 32 is
OII), S bit 3 of status register 35
6 is output as is as 50m No. 28, and on the other hand, when in VM mode (VM pitch h32 is 1 degree), -■-S bit 36 and PC bit 3 are the same as fiB.
The logical sum of both contents with 1 is output as the STJ signal 28. As a result, even though VM-HI's 0816 is operating in 'user mode', the MMU 22 recognizes it as operating in 'supervisor mode'.
Since the 0816 performs a 'protection check', it can operate without causing a 'protection check' error. In this way, when 0816 is executed on the VM, even though the internal execution mode of the cPU is 'user mode', it is reported to the MMU 22 that it is '1 supervisor mode', and the address translation table is protection code and C
By preventing 1 protection check' errors when comparing PTTil's executable code. To reduce the processing of the VMCP 18 by performing address translation, and to have the MMU 22 directly use the address translation table set by O8+6 on the VM, and also control the address translation without going through the VMCP 18. As a result, a high-performance virtual computer system can be realized. In addition, 7MC from Progera 11 on VM-
1118, that is, the execution mode of cpuii changes from "user/host" to "supervisor/host".
When the CPU changes to the VM mode, the CPU II detects that the VMS is in operation, sends HPrn number 29, and sets the MMTI 22 to address non-conversion -15. It became possible to move to
VMCP18 manages each VM in 'supervisor mode'.
can be controlled. In this embodiment, the VM control register 30 and the status register 35 are built into the CPU 21, so that the same system configuration can be used when operating on a real computer system and when operating on a VMS. Also, CPU21
By providing the inner U signal line 28 and the BP signal line 29 as hardware, the CPTJ 21 and MMU 22 can be configured as separate chips. [Effects of the Invention] As explained above, according to the present invention, O8 on the VM
In a virtual machine system where the address translation table corresponding to the O8 area can be referenced only in supervisor mode, VM pin 1- is set to ``Operating'', and I''C pin 1- is set to ``Operating'' of VMS, and I''C pin 1- is set to When the ``supervisor mode'' of the program is stored, M
Since 'supervisor mode' and 'address non-conversion instructions' are sent to M U in a hardware manner, M M U can perform the address conversion set by O8 of VM-1- without using any special circuit components. Tables can be used directly to perform address translation and protection checks, and VMS performance is greatly improved.
第1図は本発明の一実施例を示す仮想計算機システム(
VMS)の構成図、第2図は実計算機のソフトウェア構
成図、第3図は仮想計算機システム(VMS)のソフト
ウェア構成図、第4図はVM制御レジスタおよびステー
タスレジスタの構成図、第5図は仮想計算機システム(
VMS)運用時のレジスタおよび制御信号の状態を示す
図、第6図は実計算機システム運用時のレジスタおよび
制御信号の状態を示す図である。
1.11:中央処理装置(cpU)、2,12:メモリ
管理ユニット(M M TJ )、3.13:主記憶装
置(MEM)、4.14:入出力制御装置−OC)、5
a、5b、15a、15b:入出力装置系(10)、6
.16:オペレーティング・システム(O8)、7a、
7b・・7に、17a、17biアプリケーシヨン・プ
ログラム(AP)、I8:仮想計算機制御プログラム(
VMCP)、19ニアドレス変換テーブル、21:中央
処理袋[1(CPU)、22:メモリ管理ユニット(M
MU)、23:主記憶装置(M E M)、24:デー
タ線、25:オフセット・アドレス線、26:論理アド
レスL27:物理アドレス線、28:SU信号線、29
: BP信号線、30:VM*J御レジスタ、31
: PCビット、32 : VMビット、35:ステー
タスレジスタ、36:Sビット。FIG. 1 shows a virtual computer system (
Figure 2 is the software configuration diagram of the real computer, Figure 3 is the software configuration diagram of the virtual machine system (VMS), Figure 4 is the configuration diagram of the VM control register and status register, and Figure 5 is the configuration diagram of the VM control register and status register. Virtual computer system (
FIG. 6 is a diagram showing the states of registers and control signals during operation of the actual computer system. 1.11: Central processing unit (cpU), 2, 12: Memory management unit (MMTJ), 3.13: Main memory (MEM), 4.14: Input/output control unit-OC), 5
a, 5b, 15a, 15b: Input/output device system (10), 6
.. 16: Operating System (O8), 7a,
7b...7, 17a, 17bi application program (AP), I8: Virtual computer control program (
VMCP), 19 Near address conversion table, 21: Central processing bag [1 (CPU), 22: Memory management unit (M
MU), 23: Main memory (MEM), 24: Data line, 25: Offset address line, 26: Logical address L27: Physical address line, 28: SU signal line, 29
: BP signal line, 30: VM*J control register, 31
: PC bit, 32: VM bit, 35: Status register, 36: S bit.
Claims (1)
システムを有する仮想計算機システムにおいて、上記仮
想計算機システムの‘運用中’を記憶する第一の格納手
段と、上記仮想計算機上のプログラムの‘実行モード’
を記憶する第二の格納手段と、上記メモリ管理ユニット
による保護チェックを制御するための信号を出力する手
段と、上記メモリ管理ユニットのアドレス変換を非変換
に指示する手段とを備え、上記メモリ管理ユニットは上
記オペレーティング・システムのアドレス変換テーブル
を直接使用して、上記仮想計算機上のプログラムから上
記仮想計算機を制御する制御プログラムの動作へ戻った
ときに上記非変換指示によリアドレス変換を不実行にす
ると共に、上記第一、第二の格納手段の内容で出力され
た上記制御信号に基づいて保護チェックを行うことを特
徴とするメモリ管理ユニット制御方式。(1) Memory management unit, multiple operating systems
In a virtual computer system having a system, a first storage means for storing 'in operation' of the virtual computer system, and an 'execution mode' of a program on the virtual computer.
a second storage means for storing a protection check by the memory management unit, a means for outputting a signal for controlling a protection check by the memory management unit, and a means for instructing the memory management unit to perform address conversion to non-conversion; The unit directly uses the address translation table of the operating system and does not execute rear address translation according to the non-conversion instruction when returning from the program on the virtual machine to the operation of the control program that controls the virtual machine. A memory management unit control method characterized in that a protection check is performed based on the control signal output based on the contents of the first and second storage means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60218799A JPS6278642A (en) | 1985-10-01 | 1985-10-01 | Control system for memory control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60218799A JPS6278642A (en) | 1985-10-01 | 1985-10-01 | Control system for memory control unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6278642A true JPS6278642A (en) | 1987-04-10 |
Family
ID=16725541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60218799A Pending JPS6278642A (en) | 1985-10-01 | 1985-10-01 | Control system for memory control unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6278642A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02231659A (en) * | 1989-03-06 | 1990-09-13 | Nec Corp | Exceptional address detector |
JPH04155577A (en) * | 1990-10-19 | 1992-05-28 | Fujitsu Ltd | Storage protection control system for vector processing system |
JP2005528665A (en) * | 2001-09-27 | 2005-09-22 | インテル コーポレイション | Methods for providing system integrity and legacy environments |
-
1985
- 1985-10-01 JP JP60218799A patent/JPS6278642A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02231659A (en) * | 1989-03-06 | 1990-09-13 | Nec Corp | Exceptional address detector |
JPH04155577A (en) * | 1990-10-19 | 1992-05-28 | Fujitsu Ltd | Storage protection control system for vector processing system |
JP2005528665A (en) * | 2001-09-27 | 2005-09-22 | インテル コーポレイション | Methods for providing system integrity and legacy environments |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9229730B2 (en) | Multi-chip initialization using a parallel firmware boot process | |
JP5936640B2 (en) | Creating an isolated execution environment for co-designed processors | |
JP5749304B2 (en) | Interrupt communication apparatus, method, and system | |
US20060206892A1 (en) | Systems and methods for multi-level intercept processing in a virtual machine environment | |
US11048588B2 (en) | Monitoring the operation of a processor | |
US7484032B2 (en) | Fault tolerant computer system | |
JPS6057438A (en) | Virtual computer system controller | |
JPH0430053B2 (en) | ||
JPS61206043A (en) | Interruption control method in virtual computer system | |
JPH02734B2 (en) | ||
JPS6248258B2 (en) | ||
JPH041374B2 (en) | ||
EP0205943B1 (en) | Composite data-processing system using multiple standalone processing systems | |
US20190121744A1 (en) | Emulating page modification logging for a nested hypervisor | |
US10698713B2 (en) | Virtual processor state switching virtual machine functions | |
JP5491102B2 (en) | Data processor | |
JP2974577B2 (en) | Computer system | |
EP0619899A4 (en) | Software control of hardware interruptions. | |
JPS61156445A (en) | Tlb purge control system | |
JPS6278642A (en) | Control system for memory control unit | |
JPS6049352B2 (en) | data processing equipment | |
JPH06332803A (en) | Tlb control method in virtual computer system | |
JP2610966B2 (en) | Virtual computer control method | |
JPS61145646A (en) | Virtual computer system | |
JPS62295147A (en) | Virtual computer system |