JPS6057438A - 仮想計算機システム制御装置 - Google Patents

仮想計算機システム制御装置

Info

Publication number
JPS6057438A
JPS6057438A JP58165995A JP16599583A JPS6057438A JP S6057438 A JPS6057438 A JP S6057438A JP 58165995 A JP58165995 A JP 58165995A JP 16599583 A JP16599583 A JP 16599583A JP S6057438 A JPS6057438 A JP S6057438A
Authority
JP
Japan
Prior art keywords
computer
virtual
register
microprogram
storage
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.)
Granted
Application number
JP58165995A
Other languages
English (en)
Other versions
JPH0532772B2 (ja
Inventor
Toshio Hirozawa
広沢 敏夫
Masaru Oki
優 大木
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 JP58165995A priority Critical patent/JPS6057438A/ja
Priority to US06/638,270 priority patent/US4814975A/en
Priority to EP84109356A priority patent/EP0137191A3/en
Publication of JPS6057438A publication Critical patent/JPS6057438A/ja
Publication of JPH0532772B2 publication Critical patent/JPH0532772B2/ja
Granted 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システム制御装置に関し、特にベ
ースマシンと動作仕様が異なる仮想計算機動作も実行で
きる仮想計算機システム制御装置に関するものである。
〔発明の背景〕
近年、ディジタル電子計算機の応用分野が拡大するにし
たがって、実メモリの客員の制約を解除したアドレス方
式、つまり仮想記憶方式が使用され、さらにこの仮想記
憶方式の延長として、1つの実計算機を多数のユーザが
同時九使用できる方式、つまり仮想計算機システムが用
いられている。
仮想計算機システムでは、主メモリや入出力装置は勿論
、中央処理装置をも含むすべての資源をユーザ間で共用
することができるように、多数のオペレーティング・シ
ステム(以下O8)が1つの実計算機(べ−y、 −7
シy (Base Machine)以下BM)上で見
かけ上、同時に走行できるようにする。
このため、BMにおける2つの動作モード、つまり特権
モードと非特牛11モードの動作形態を利用している。
すなわち、一般的には特権モードはO8の動作モードに
使用されているが、仮想計算機y スy ム(Virt
ualMachine System : V M S
 )では、特権モードは特殊な制御プログラムの動作モ
ードとし、O8を非%横モードで動作させるのである。
この特殊な制御プログラムを、バーチャル・マシン・モ
ニタ(VirtualMachine Mon1tor
 : VMM)と呼ぶ。
第1図は、通常のVMSの概念図である。
B M 501は、特権または非特4刊モードの処理要
求(これはマシン命令とも呼ばれる)を扱うことができ
るベース・マシン・インタフェース503をソフトウェ
アに対して提供する。したがって、VM M 502は
B M 501が提供するベース・マシン・インタフェ
ースδ03を利用して動作するが、とのV M M 5
02は各仮想計算機(VirtuaJ Machine
 :VM ) +7)OS 506’POS 507ノ
動作ヲ可能ニfルタメ、別のベース・マシン・インタフ
ェース506を提供することになる。このベース・マシ
ン・インタフェース508を実際に提供する機構は、個
々のV M 504とV M 505である。なお、第
1図では、2つの7Mしか示していないが、多数個のV
Mが存在しているのは言うまでもない。
o S 506 + OS 507 h−z、V M 
504 トV M 505が提供スるベース・マシン・
インタフェース508 ’t”用いて動作することにな
り、あたかもB M 501上で動作しているように見
える。
また、OS 506 、.507は、ユーザ・プログラ
ム(User Program : U P ) 51
5〜5181C対して拡張マシン・インタフェース51
3. 5141011:スル。
ここで、拡張マシy (Extended Machi
ne : E M )509〜512とは、ユーザ・プ
ログラムからのあるまとまった機能処理の要求(通常、
スーパバイザ・コールとも呼ばれる)に対する処理を、
O8ごとにそのO8内で実行する機能、および非特権モ
ードのマシン命令等である。したがって、08506と
OS 507とが異なったものであれば、O8ごとに実
行されるE M 5o9とE M 511は、当然互い
に異なった機能である。
以上がVMSの動作概念であって、これにより1つのB
M上で複数個の異なったO8が見掛上、同時に走行でき
ること忙なる。したがつ1、次のような効果が期待でき
る。(1)稼動しているシステムのサービスを停止する
ことなく、新しく開発されるシステムのデバッグ、ある
いはテストを行うことができる。Ii) 1個のBMで
、複数個の異なりト低下が可能となり、かつハードウェ
ア資源の使用効率が向上する。
ところで、第1図に示すVMSの概念では、VM M 
502 カ提供するベース・マシン・インタフェース5
08 Gt、、B M 501が提供するベース・マシ
ン・インタフェース503と機能的に同一であるため、
8M501で実行できるO8+iVM504.VM50
5においても同じように実行できるであろう。したがっ
て、根本的には、VMはそれが使用するBMに等価であ
り、機能的に区別できるような差異は存在しない。V 
M M 502は、O8やUPのプログラノ・を各命令
ごとに解釈実行することはしないが、大部分の時間内で
は、プログラムがB M 5Qlにおいて直接的に実行
することを許可する。しかし、V M M 502は、
ある種の命令(これは骨相命令であって、動作モードが
特権モードのときに実行できる命令)を検知し、VMS
内のシステムの内容の全体的完全性を保証するために検
知した命令を解釈実行して、その解釈・実行が終了した
彼処制御を実行中のプログラムに戻す。したがって、大
部分の命令は、vMM502の介入なしに直接的に実行
され、’ V M M 502による解釈・実行が必要
な命令のみ、VMM502の介入が行われることになる
V M M 502 カ、各V M 504 ’P 5
05 [51’t L −CB M2O3のサービスを
行う方法は、通常のマルチプログラム制御方式と同じで
あり、8M501のハードウェア資源を時間的および空
間的に分割して各VMに割当てる。そこで、V M M
 502は、B M 501のハードウェア資源の管理
を容易にするために、資源管理を行う。
第2図は、VMSにおける主メモリの空間的分割管理の
方法を示す図である。
VMMは、主メモリ、入出力装置等のハードウェア資源
を空間的に分割して管理し、中央処理装置やマシン命令
の実行にともなう制御レジスタ(Control Re
gister :c R) 521 %汎用レジスタ(
General Register :G、R) 52
2 、浮動小数点レジスタ(Floating Po1
nt Register : F P R)523、プ
ログラム状態語(Program 5tatus Wo
rd : P 5W)524、オヨヒタイマ525等に
対して時間的に分割して管理する。すなわち、該当する
VMをサービスする際に、時分割的に実のハードウェア
に移すのである。
いま、第2図に示すように、主メモリ526を第ルベル
・ストレッジと呼ぶことにすると、第ルベル・ストレッ
ジ526内に各VMの制御ブロック527を作り、その
制御ブロック527内に各VMノv CR528、V 
G RlV F P R529、VPSW530および
タイマー値の格納域を設け、当該■MをB M 501
でサービス゛するときに、その値を実のハードウェア資
源であるC R521、G R522、FP R523
、P S W 524、タイマー525に移す。
一般に、V M M 502がV M 504等をB 
M 501 ニよりサービスするだめの準備処理のこと
を、ディスパッチ(Dispatch )処理ともいう
一方、主メモリの空間的分割管理には、よく知られてい
る仮想記憶制御方式を用いている。すなわち、VMM5
02は各VMごとに仮想主メモリを間531を与え、こ
れを第2レベル・ストレッジとする。この第2レベル・
ストレッジ531は、写像変換テーブル(マツピング・
テーブルまたはアドレス変換テーブルとも呼ぶ) RS
 T (lLealSeg−ment Table) 
+532、RP T (FLeal Page ’i’
able )533によりH埋される。なお、VM50
4−のもとで走行するO S 506が仮想記憶方式を
用いている場合には、第2レベル・ストレッジ531内
にVST(Virtual Segment Tabl
e ) 534、V P T(Vir−tuaJ Pa
ge TaMe ) 535をそのOS 506が作る
ことになる。したがって、ユーザ・プログラム+1VS
T534、VPT535の管理のもとに、第3レベル・
ストレッジ536で動作することになる。第3レベル・
ストレッジ536がらfJlレベル・ストレッジ526
ヘノ写像変換は、V S T 534、v p ’rS
市による変換と、RS T 532、It P T 5
33による変換の2回を必要とするため、その変換を1
回ですませるように、RS ’I’ 532、It P
 T 533と■S T 534、V P T 535
 ヲ?−ジして、シャドウ・テープk S S T (
Shaaow Segment 、Table) 53
7、SPT(5hadow page Tabje)5
38.をVMM502が作り出している。
また、入出力装置の管理も、主メモリの管理方法と同じ
ようにして、MMごとの装置番号と実の装置番号との対
応テーブルが設けられ、空間的分割管理が行われCいる
従来の仮想計kL INシステムは、第2図に示すよう
な溝底であるが、上述の説明からも明らかなように、V
 M M 502のもとで生成されるV M 5Q4 
505等は、B M 501と同種(homogene
ous )の仮想ハードウェアを実現している。このよ
うに、BMと同種のVMを有するVMSにおいては、前
述の利点、すなわち、サービスと並行したデバッグや1
.複数のO8の動作が可能となるが、■M相互間で異な
った種類の仮想ハードウェアを実現することは不可能で
ある。すなわち、第1図妊おいては、V MM 502
ハ、V M 504 トV M 505 トノ間に異す
つ光ベース・マシン・インタフェースヲ提供することが
できない。例えば、VM504は8M501 、!zペ
ース・マシン・インタフェースカ同1重のもの忙限定さ
れ、またV M 505もB M 501と同種のもの
に限定されてしまい、BA(5Qlとは全く異なったペ
ース・マシン・インタフェース、あるいは部分的に異な
ったペース・マシン・インタフェースを持つことはでき
ないという欠点がある。従来のVMSでは、BMのもと
で、このBMとは異a種のマシンで動作するO8は動作
できないことである。
また、従来よりVMSの改良が提案されているが、これ
らはいずれもBMと同種のマシンの走行性能を向上させ
るものである(例えば、特開昭閃−42326号、特開
昭57−47451号、特公昭58−20066号各公
報参照)。
しかし、VMSが各種分野で使用されるようになると、
例えば大型計算機のもとで、この計算機とは特権命令や
PSWの形式が異なっているミニコンピユータやマイク
ロコンピュータのプログラム、O8等をVMSとして走
行させたいという要求が高まっている。
〔発明の目的〕
本発明の主な目的は、上記の従来の問題を改善善するた
め、仮想計算機システム内 ンとは異なったハードウェア動作仕様を有するバーチャ
ル・マシンを有効に動作させることが可能な仮想計算機
システム制御装置を提供することにある。
また、本発明の他の目的は、ベース・マシンと異種のバ
ーチャル・マシンの動作が可能な場合に、上記ハーチャ
ル・マシンがベース・マシント同種のバーチャル・マシ
ンに比べて同等な処理性能を保証することができる仮想
計社機システム制御装置を提供することKある。
また、本発明のさらに他の目的は、ペース・マシン・イ
ンタフェースの異なるバーチャル・−rシンが仮想計算
機システム内に混在した場合にも、各バーチャル・マシ
ンの走行に矛盾が生じないディスパッチ制御を行うこと
ができる仮想計算機システム制御装置を提供することに
ある。
〔発明の概要〕
上記目的を達成するために、本発明の仮想計算機システ
ム制御装置は、演算制御部、記憶1iす御部、主記憶装
置および入出力装置を備えた実計n機で実行される仮想
計算機システムにおいて、上記実計算機とハードウェア
動作仕様の異なる計n機の命令を処理するマイクロプロ
グラムを含めて、マイクロプログラムを複数種類格納す
るためのコントロール・ストレッジと、上記実計算機上
で走行する仮想計算機を識別するレジスタと、上記実計
算機の動作モードを指示するモード・インディケータと
、該モード・インディケータおよび仮想側算機識別レジ
スタにより上記コントロール・ストレッジから各仮想計
算機用マイクロプログラムを自動的に選択し、上記実計
算機の演算制御部内で命令列の処理を実行させる手段を
有することに特徴がある。さらに、本発明の仮想針n機
システムにおげろ前記コントロール・ストレッジは、外
部プログラムにより選択された領域に対し、実計算機と
ハードウェア動作仕様の異なる言1算機を処理するマイ
クロプログラムを含めて、複数個のマ(クロプログラム
を順次書込み、また読出す手段を具備することに特徴が
ある。
〔発明の実施例〕
第3図は、本発明の一実施例を示す電子計算機システム
のブロック構成図である。
第3図には、電子計算機システムの中央処理装置のみが
示されており、主記憶装置130以外は記載が省略され
、また入出力装置の接続も省略されている。中央処理装
置は、演算制御部110と記憶制御部120からなり、
記憶制御部120忙は主記憶装置130が接続されてい
る。
演9制御部110において、100はマイクロプログラ
ムが格納されるC8(コントロール・ストレッジ)制御
回路、101は走行中のVMを識別するためのVMID
レジスタ、102はC8制御回路100内のC8格納域
をロケートするためのインデックス−レジスタ(Ind
ex Register : I X R)、103は
動作モードを表示するモード・インデイケ−タ(Mod
e Indicator : M D )、104はペ
ース。
マシンとはハードウェア仕様の異なる資源を作り出すロ
ーカル・ストレッジ(Local Storage :
 LS)、105は演算回路である。
記憶制御部120において、121は論理アドレスと物
理アドレスの対応対を格納しているT L B(Tra
ns 1ation Look−aside Buff
er ) 、122 はTLBを制御するためのTLB
制御装置、123はTL B 121内に論理アドレス
に対応する物理アドレスが存在しなかったときに、第2
図に示すアドレス変換テーブルを用いて物理アドレスを
計算するDAT装置(Dynamic Address
 Translation )、124は主記憶装置1
30のバッファ制御装置であって、主記憶装置130内
で頻繁に使用されるデータを格納しており、バッファ・
ストレッジ(図示省略)を含んでいる。
先ず1.通常の動作モードのとき、つまり第1図に示す
B M 501がVMSのモードで動作しないときの動
作を説明する。このときには、モード・インディケータ
103の値は“0”であり、またVMIDレジスタ10
1、インデックス・レジスタ102はいずれも意味を持
たない。
モード・インディケータ103の出力が、信号線L 1
00 を介してC8制御回路100に入力する。C8制
御回路100では、モード・インディケータ103の出
力信号により通常のBMでの動作であることを認識し、
それに対応するマイクロプログラムが格納されているC
8領域を位置付ける。そのC8領域内のマイクロプログ
ラムは、主記憶装置130から命令を読み出すために、
記憶制御部120内の1’ L B制御装置122に信
号線L101を介して命令のアドレスを送出する。TL
B制御装置122では、送られてきたアドレスを使用し
てTLB121を参照する。T L B 121には、
論理アドレスに対応する主記憶装置130内の物理アド
レスが格納されているが、もし、論理アドレスに対応す
る物理アドレスが割当てられていない場合には、そのT
 L B 121には登録されていないので、参照でき
ない。なお、論理アドレスから物理アドレスへの変換方
法、およびT L B 121内の形式等については、
本発明者等による先願である「記憶制御装置」を参照さ
れたい(特公昭57−40584号公報)。
T L B 121に該当する論理アドレスが登録され
ていなければ、信号線L102を介してD A T 1
23にそのアドレスを送り、物理アドレスへのアドレス
変換を起動する。このアドレス変換は、第2図に示すア
ドレス変換テーブル532 、 533を用いて行われ
る。DAT装置123でのアドレス変換が終了したなら
ば、その論理アドレスと物理アドレスとが信号m L 
103を介してTLB制御装置122に送られ、TL8
121に書込まれる。なお、DAT装置123がアドレ
ス変換の動作を行うときには、第2図に示すアドレス変
換テーブル532. 533をアクセスするために、信
号線L 10! 、L 105を介してバッファ制御装
置124とデータの授受を行う。
具体的には、信号線L104に主記憶装置130内のメ
モリ・アドレスを送出すると、バッファ制御装置ll 
124は、制御装置124内のバッファ・アドレス・ア
レイ(図示省略)を参照し、バッファ・ストレッジ(図
示省略)にデータがあるか否かを調べ、バッファ・スト
レッジにデータがあれば、そのデータを読出して、信号
線L 105を介しDAT装置123に返送する。バッ
ファ・ストレッジにデータがなければ、主記憶装置13
0がら信号線L 106を介して読出してくる。
T L B制御装置122は、上述した方法により得た
命令の物理アドレスを、信号線L 107を介してバッ
ファ制御装置124に送る。バッファ制御装置124は
、先に述べた動作方法により、この物理アドレスのデー
タを読出し、このデータを信号線L108を介してCS
 ii+lJ御回路100に送出する。
C8制御回路100円のマイクロプログラムは、当該命
令のオペランド・アドレスを計算し、再び記憶制御部1
20に対してオペランドパアドレスに対応する物理アド
レスのデータを要求する。そのオペランドのデータが信
号i L 108を介して戻されると、csltlj御
回路100は当該命令の命令コード(0peratio
n Code)とともに、そのデータを信号ftQ L
 109を介して演算回路105に送出する。
演算回路105では、当該命令コード、例えば加算処理
、減算処理あるいはデータの格納処理等の命令コードに
もとづいた演算を行う。このとき、必要に応じてローカ
ル・ストレッジ104を、作業領域として使用する。演
算の結果は、信号線L110を介してC3制御回路10
0へ報告され、C8制御回路100内のマイクロプログ
ラムはP S WVc演算結果の状態を設定したり、次
の命令アドレス(Next In5truction 
Address : N I A )を設定したりする
処理を行った後、次に実行すべき命令のアドレスを割算
して、再び元の動作に戻る。なお、演算回路105は、
信号線L111を介してデータを主記憶装fd 130
内番(格納したり、あるいは信号線L112を介して論
理アドレスを物理アドレスに変換する要求も行う。
以上が通常のB M 501における動作であって、こ
れは第1図に示す従来のVMS、つまりVM504やV
 M 505のハードウェア動作仕様がB M 501
と同種である場合の動作と同じである。
本発明は、V M 504、V M 505等がBへ4
501との間でハードウェア動作仕様の異なるときのC
8制御回路1000制御方法、および走行中のVMを識
別するV M I DレジスタlO1、動作モードを表
わすモード・インディケータ103の設置に特徴がある
本発明の新しい構成要素であるC8制御回路100の内
部構成およびその制御方法を説明する前に、V M 5
04、V M 505 等力B M 501 d) ハ
)” ウェア動作仕様と異なる例について、説明する。
第4図(a)は、B M 501が拡張モード(Ext
endedControl Mode 二E Cモード
)のときのpsw形式図、第4図(blct B M 
801が基本モード(BasicControl Mo
de : I) Cモード)のときノP S W形式図
である(M−シリーズと呼ばれるHITACM 180
.M−200H,M−280型電子計算機等で採用され
ているPSWの形式)。
一方、E−シリーズと呼ばれるHITACg−800型
電子泪算機でのPSW形式は、ダc5図に示すようなピ
ッ)4’??成であり、これは第4図(b)の基本モー
ドの形式と似ているにもかかわらず、仮想記憶制御方式
によるρ作を伴で。なお、E−800型計S機の命令形
式は、特殊な’IW権命令を除いてM−シリーズ型電子
計算機と同一である。
m6図は、マイクロコンピュータにおける制御レジスタ
類を示す図で、これらはPSWに相当スるものであり、
プログラム・カウンタ131、ステータス・レジスタ1
32、インクラット・ステータス・レジスタ133およ
びアキュムレータ134が示されている。なお、アキュ
ムレータ134は、第3図に示す演算回路105内に含
まれている。
第0図のプログラム・カウンタ131は、第4図、第5
図のNext In5truction Addres
s (N I A )135に対応しており、ステータ
ス・レジスタ132は、第4図、第5図のC、C(Co
ndition Code )や、主記憶装置130内
のP S A (Prefixed StorageA
rea ) の特定番地(図示省略)に相当する。また
、インタラブジョン・ステータス・レジスタ133は、
第4図、第5図のInterruption Code
137に相当する。なお、m4図(a)におゆるECモ
ードでは、Interruption Coded!主
記憶装置130内のPSAの特定番地に作られている。
いま、第1図に示すB M 501が第4図tag、 
(b)におけるハードウェア動作、つまりM−シリーズ
のハードウェア動作仕様のマシンであるものとし、VM
504あるい)!VM505t、m5図に示fE−シリ
ーズのマシン、あるいは第6図に示すハードウェア動作
仕様のマイクロコンピュータ等として動作させようとし
た場合、従来のVMSでヲマ動作できない。
これに対して、本発明では、第3図に示すC8制御回路
100内に特殊な制御回路を組込ませることによって、
8M501とハードウェア動作仕様が異なるマシン、つ
まり異機種のマシンでもVM504やV M 505の
もとで動作できる。また、上記動作を円滑に行わせるた
め、各種の制御レジスタ類も付加されている。
第7図は、本発明の一実施例を示すC8制御回路の構成
図である。
第7図において1.VMIDレジスタ101とインデッ
クス・レジスタ102とモード・インディケータ103
以外の部分が、C8制御回路の内部構成である。
第7図において、1はマイクロプログラムが格納されて
いるC S (Cnntro/ Storage )で
あって、複数個の種別のマイクロプログラムを格納でき
るよ5にマルチ構成となっている。第7図では、番号O
から番号7までの8種類の異なった種別のマイクロプロ
グラムが格納されているが、その個数は容易に拡張可能
である。2はマイクロプログラムをC8l内に格納する
ときのマイクロプロクラム・データ・レジスタ(CI’
tEGIN)、3はCSl内のアドレス付けするための
アドレス・レジスタ(C8AIiL)、牛は+1回路、
凸はcslから読出されたマイクロ命令をセットするた
めのマイクロ命令レジスタ(CREG)、6はマイクロ
プログラムの種類を選択するためのセレクタ(SEL)
、7.8はケート回路、9はオア回路、loはデコーダ
、11はゼロ発生回路、12はVMIDレジスタ101
をプログラムから参照したときに、その値を応答するた
めの作業レジスタ(VMIDM)である。また、101
〜103は、第3図の同一符号と同じレジスタを示して
おり、それぞれVMIDレジスタ、インデックス・レジ
スタ、モード・インディケータである。
第7図において、C81のマイクロプログラム群は、番
号0から番号7までアドレス付げされており、これらの
うち番号OのマイクロプログラムはB M 501のハ
ードウェア動作仕様の命令を処理するものであり、B 
M 501で動作するV M M 502や、あるいは
B M 501で動作するときにはモード・インディケ
ータ103の値が“0″となるので、この値がデコーダ
10を経て信号!Llを介し番号Oのマイクロプログラ
ムが強制的にアドレス付げされる。
アドレス付げされたcs1’Hのマイクロプログラム群
は、アドレス・レジスタ(C8AR)3で当該番地がロ
ケートされ、マイクロ命令レジスタ(CREG)5に読
出される。マイクロ命令レジスタ5に保持されたデータ
の一部は、必要に応じて線L2を介した信号となり、ア
ドレス・レジスタ3の値を変更する。通常のマイクロプ
ログラム処理では、+1回路舎によりアドレス・レジス
タ3の値が増加する。
マイクロ命令レジスタ6に保持されたマイクロ命令は、
信号線L3を介して演算回路105および演算制御部1
10の各回路に送出され、各種処理を実行させるために
電子計算機システム内の各種回路を駆動する。具体的に
は、第3図で説明したように、各マシン命令の動作仕様
にもとづいた処理を行う。
次に、電子計算機システムがVMSの動作モードで動作
する場合には、そ−ド・インディケータ103の値がl
”となるため、デコーダ10の出力信号線L4を介して
この値が送出され、ゲート回路7を開く。このときのC
8l内のC8番号は、VMIDレジスタ101の第29
ビツト目から第31ビツト目までの3ビツトの値が信号
線L 5を介して送出され、オア回路9を経てセレクタ
6により、C8lのマイクロプログラム群の中の1つが
位置付けされる。したがって、VMIDレジスタ101
の第29ビツト目から第31ビツト目までの値がC8l
内の1つのマイクロプログラムを位置付けるための番号
を意味していることになり、この値が“0”の場合には
、V M 504はB M 501と同一のハードウェ
ア動作仕様を有するマシンということになる。
V M 504がB M 501とハードウェア動作仕
様が異なっている場合には、VMIDレジスタ101の
第29ビツトから第31ビツトまでの値は“1”〜“7
″の1つであり、この番号に対応したC8l内のマイク
ロプログラムが実行される。すなわち、第5図および第
6図に示すマシン特性の動作を行うマイクロプログラム
をC8l内に格納しておくことにより、8M501と異
種のハードウェア動作が可能になる。
第7図に示すVMIDレジスタ101がプログラムから
参照された場合には、ゼロ発生回路11により第29ビ
ツト目から第31ビツト目までを強制的に“0″にして
作業レジスタ(VMIDM)12忙設定し、このレジス
タ12の値を参照したプログラムに渡す。
次に、C81の中のマイクロプログラム群の1つを読出
したり、あるいはマイクロプログラム群の1つを格納す
るための動作を説明する。
先r1読出し動作の場合について述べる。このとき、例
えばモード・インディケータ103の値は“2″となっ
ているものとする。モード・インディケータ103の値
は、デコーダ10によりデコードされ、信号線L6の信
号が“1”となる。この信号線L6の信号はゲート回路
8を開くための契機信号となるため、インデックス・レ
ジスタ102の値がアンド回路8、オア回路9を通り、
セレクタ(SEL)6に送られ、セレクタ6を駆動して
C8l内の番号Oから番号7までのマイクロプログラム
の1つを選択する。なお、インデックス・レジスタ10
2には、C8l内の選択番号が演算制御部110により
格納されている。
次に、アドレス・レジスタ3が初期化されて、アドレス
・レジスタ3がポイントするマイクロ命令がC8lから
読出され、マイクロ命令レジスタ5にセットされた後、
信号線L3を介して第3図に示す演算制御部110ある
いは演算回路105に送出される。マイクロ命令の値は
、最−後忙プログラムが指定した主記憶装置130内の
ある領域に格納される。
それ以後、C8l内の選択されたマイクロプログラムが
終了するまで、アドレス・レジスタ3の値を順次+1ず
つ加算して、上述の処理を繰返えす。
次に、書込み動作の場合忙ついて述べる。
マイクロプログラムをC8l内に書込むには、主記憶装
置130から読出したデータを、cslのマイクロプロ
グラム群のいずれか1つに書込むことになる。C81の
マイクロプログラム群の中の1つを選択する方法は゛、
読出し動作の場合と同じようにして、インデックス・レ
ジスタ102の内容忙より決定される。C81群内のい
ずれか1つが選択されると、アドレス・レジスタ3が初
期化される。主記憶装置130から読出されたデータは
線L108を介してC8制御回路100に送られ、マイ
クロプログラム・データ・レジスタ2に保持されており
、このデータはアドレス・レジスタ3がポイントする領
域忙格納される。次忙、アドレス・レジスタ3の値は+
1回路4によって増加され、一方のマイクロプログラム
・データ・レジスタ2のデータも主記憶装置1.30が
ら新しいデータを受取ツ”C’、’ル。なお、主記憶装
置130へのアクセス方法は、第3図で説明した方法と
同じである。
このよう忙して、複数個のマイクロプログラム格納領域
を有するC81の制御および各格納領域内の管理が行わ
れることになる。なお、VMIDレジスタ101へのデ
ータのセットは、LOADVMII)、IN E F 
V M I Dノ各命令1c ヨ’) r’Jbtt、
モード・インディケータ103へのアクセスは、SET
MODト】命令により行われる。また、cslへのマイ
クロプログラム群の各命令の読出し/格納ff、、RE
 A D CW、 S To RE CW f)各命令
によって行われる。ここで、LOAD VMII)命令
は、VMIDレジスタ101にV Mの識別情報をロー
ディングする命令、)IEF VMID命令は、VMI
Dレジスタ101の値を作業レジスタ(VMIDM)1
2を経由してプログラムに教える命令、SETMODE
命令はモード・インディケータ103に値をセットする
命令、READ CW命令はマイクロ命令の読出し命令
、5TOFLE CW命令はマイクロ命令の書込み命令
である。そして、これらの命令は、8M501のみで実
行可能である。
次に、第1図忙示すB M 501のV M M 50
2が、第7図に示すC8制御回路を用いて各VMのダイ
スパッチ制御を行う方法について説明する。
第8図は、V M M 502が各V M 504 、
505の走行を管理するために、主配管、は装@130
内圧作成している管埋清報ブロックの関係を示す図であ
る。
第8図において、21.22は各VMの走行を管理する
ための制御ブロック(VMLIST)であり、これは各
V M 504 、 505ごとに作成される。
23は、VM504の特性やハードウェア・レジスタ類
を格納しておくだめの制御ブロック(VMCB)、24
は、シーYトウーテープ/l/(SST、5PT)の領
域、25は第2図に示す第2レベル・ストレッジ531
を管理fτためのアドレス変換テーブル(R8T、rL
f’T)の領域、26は第3レベル・ストレッジ530
を!埋するためのアドレス変換チー7’ル(VST、V
PT)の領域、27は入出力装置に関する仮想装置と実
装置との対応テーブル(CHTI3.DV’rB )(
7)Il[”ある。ナオ、領域26は、VM504で走
行するO8が仮想記憶方式を用いている場合に確保され
るものであって、第2レベル・ストレッジ531内に作
られる。その他の領域21〜25.27は、第2図に示
す第ルベル・ストレッジ526内に作られる。
制御7’ a ツク21 k’s、V M 504. 
V M 505 IIする制御ブロック類のアドレスが
格納されており、各VMのルート情報となる。また、第
8図に示すように、制御ブロック21.22相互間は精
舎されており、8M501で走行中のVMに対応する制
御ブロック21)’!、作業レジスタ(V M 11)
 M )12からポイントされている。作業レジスタ1
2の第29ビツト目から第31ビツト目までは“0″と
なっているので、制御ブロック21 g 22 %は主
記憶装置130内で8バイト境界に格納されている。
制御ブロック23におけるVM特性28には、V M 
504のタイプや第7図に示すC8l内のマイクロプロ
グラム群中の使用番号が設定されている。
したがって、VMIDレジスタ101の第0ビツト目か
ら第28ビツト目までは制御ブロック21のアドレス、
第29ビツト目から第31ビツト目までは制御ブロック
23内のVM特性28から得た使用マイクロプログラム
番号が、それぞれ格納されている。
制御ブロック23内には、第8図に示すように、B M
 501で走行スるV M 504のハードウェア情報
、すなわち具体的には制御レジスタ、汎用レジスタ等が
格納されており、V M M 502 Kよりディスパ
ッチされるときに、8M501C移される。
なお、制御ブロック23内のVMハードウェア情報格納
領域29は、走行するV M 504がベース・マシン
B M 501とハードウェア動作仕様が異なるとき、
例えばHITACM−シリーズのB M 501上で、
HI TACE−800あるいはマイクロコノピュータ
等のようなマシンを動作させるときに、当該マシンのハ
ードウェア情報を格納するために使用される。具体的に
は、領域29に、第5図のpsw、第0図のプログラム
・カウンタ(PC)131、アキュムレータ(A CC
) 134、ステータス・レジスタ132、インタラシ
ト・ステータス・レジスタ133およびV M 504
のハードウェア・レジスタ類等である。これらの情報は
、当該VMのマシン命令を実行するどきに、第3図に示
すローカル・ストレッジ104に移され、マイクロプロ
グラムにより処理される。制御ブロック23のポインタ
・リストは、シャドウ・テーブル、アドレス変換テーブ
ル等の領域24〜27の各アドレスをポイントする。
第9図は、本発明におけるV M M 502のディス
パッチ処理のフローチャートである。
第3図、第7図および第8図を参照しながら、第9図の
フローチャートを説明する。
先ス、モード・インディケータ103の値を“0″にす
ることにより、第7図のC8l中の第0番目のマイクロ
プログラムが選択される(処理41)。
したがって、この処理41以降の■MM502の動作は
、ペース・マシンB M 501のハードウェア動作仕
様と同じになる。
次に走行させるべきVMを選択するため、制御ブロック
21.22%の状態を調べて、走行させるべきVMを、
■MIDレジスタ101に設定する。
このとき、作業レジスタ(VMIDM)12の第29ビ
ツト目から第31ビツト目までには、制御ブロック23
内のVMの特性28より得たC81のマイクロプログラ
ム番号が設定される(処理42)。
次に、第8図に示す制御ブロック23をロケートすると
ともに、制御ブロック21のアドレスを制御レジスタに
セットする(処理43.処理44)。
次に、処理45では、制御ブロック23内のVMの特性
28を調べることにより、当該V M 504がB M
 501と同じノ・−ドウエア動作仕様であれば、処理
46.47を実行し、またV M 504が13M50
1と異なるハードウェア動作仕様であれば、処理48.
49を実行する。
処理40は、制御ブロック23内に格納されているハー
ドウェア情報をB M 501の71−ドウエア資源に
移す処理であり、また処理47は、走行させるV M 
504に対して仮想化した主記憶装置の領域を割当てる
ため、アドレス変換テーブルのアト。
レスを制御レジスタにセットする。
これに対して、処理48、処理49は、走行させるV 
M 504のハードウェア動作仕様が8 M 501と
異なっているときの処理であるが、処理48は処理47
と同一の処理となる。これは、走行させるべきV M 
504に割当てる主記憶装置130の仮想化方法、つま
り主記憶装置130の空間的分割方法は、8M501と
同種のマシンに割当てる方法と同一であるためである。
したがって、処理47と処理48を一緒にして、処理4
5の前段で実行してもよい。
次の処理49は、当該V M 504のノ・−ドウエア
動作仕様にもとづく命令の処理をマイクロプログラムが
実行できるように、制御ブロック23のノ)−ドウエア
情報格納領域29をロケートしておき、実行するマイク
ロプログラムがそのノA−ドウエア情報をローカル・ス
トレッジ104に移してこれを処理する。なお、図示省
略されているが、ローカル・ストレッジ104に移され
たハードウェア情報は、■r〜N504の走行中にはロ
ーカル・ストレッジ104内に存在するが、8M501
での動作が他のVM505あるいはV M M 5C1
2K移るときには、再び制御ブロック23内に戻される
最後に、モード・インディケータ103の値を°“1”
にすることにより、ディスパッチ処理は終了する。
この処理が終了することにより、第7図に示すC8制御
回路が動作し、当該vMのノ・−ドウエア動作仕様に対
応するマイクロプログラムが選択される。
なお、第7図のC81には、第0番〜第7番の最大8鍾
類のマイクロプログラムが格納できるよ5&C措成され
ているが、これは8個のVMが走行できることを意味す
るものではなく、各VM間でマイクロプログラムが共用
される場合も考慮すると、走行できるV Mの個数に制
限はない。
V M M 502がディスパッチ処理を行うことによ
って、各■M504,505等の走行が矛盾なく行える
。スナわち、8M501のハードウェア動作仕様と異な
る動作仕様のマシンが走行するときには、そのマシンに
対応するマイクロプログラムが選択され、そのハードウ
ェア情報がローカル・ストレッジ104に移されている
。第6図の例で41.8M501のもとでマイクロコン
ピュータが動作することになる。このマイ−クロコンピ
ユータは、グログラム・カウンタ(P C) 131を
従来の次命令アドレス(N I A ) 135に相当
させ、プログラム・カウンタ131がポイントする命令
を主記憶装置130から取出す。なお、主記憶装置13
0へのアクセス方法は、第3図で説明した方法と同じで
ある。
また、マイクロコンピュータの命令の処理については、
アキュムレータの概念がまだ残っており、アキュムレー
タと主記憶装置から読出された値との加算、減算等や、
アキュムレータとレジスタの値との加算、減算等がある
。これらに対しては、第6図に示したように、アキュム
レータ(ACC)134、ステータス・レジスタ132
等を設定して動作する。すなわち、ローカル・ストレッ
ジ104にアキュムレータ134の領域を設けて、この
領域134の値と主記憶装置130の値との演算を行い
、演算結果の状態(例えば、オーバフロー、キャリーの
発生状態等)は、ステータス・レジスタ132に設定す
るようにして処理を進めることになる。
〔発明の効果〕
本発明によれば、マイクロプログラムの格納領域を複数
個用意し、この中に13Mのハードウェア動作仕様と異
なる仕様のVMの動作を行うマイクロプログラムも格納
し、さらに走行するVMを識別する情報にもとづいて、
上記マイクロプログラムを自動的に選択できるようにし
たので、BMと異なるハードウェア動作仕様を有するV
Mを有効に動作させることができ、かつI3Mと同一の
ハードウェア動作仕様を有するVMに比べ、同等な処理
性能を得ることができ、しかもBMと同一および異なる
ハードウェア動作仕様を有するVMが混在している場合
にも各VMが矛盾なく走行できる。
【図面の簡単な説明】
第1図は通常の仮想計算機システムの概念を示す図、第
2図は仮想計算機システムにおける主記憶装置の空間的
分割管理の方法を示す図、第3図は本発明の一実施例を
示す電子計算機システムのブロック構成図、第4図はベ
ース・マシンのプログラム状態語(psw)の形式を示
す図、第6図はベース・マシンと異なるハードウェア動
作仕様のマシンのPSWの形式を示す図、第6図はマイ
クロコンピュータ等の・・−ドウエア制御情報を示す図
、第7図は本発明の一実施例を示すC8制御回路のブロ
ック図、第8図は本発明の一実施例を示す仮想計算機モ
ニタの各仮想計算機走行管理用の制御情報ブロックの関
係図、第9図は本発明の一実施例を示す仮想計算機モニ
タ忙おけるディスパッチ処理のフローチャートである。 1:コントロール・ストレッジ(C8)、2:マイクロ
プログラム・データ・レジスタ(CILEGIN)、3
ニアドレス・レジスタ(C8AR)、4:+1回路、5
二マイクロ命令レジスタ(CREG)、6:セレクタ(
SEL)、7,8:ゲート回路、9:オア回路、lO:
デコーダ、ll:ゼロ発生回路、lQl : V M 
I Dレジスタ、102:インデックス・レジスタ(I
XR)、103:モード・インディケータ(MD)。

Claims (1)

  1. 【特許請求の範囲】 <1)演算制御部、記憶制御部、主記憶装置および入出
    力装置を備えた実計算機で実行される仮想計算機システ
    ムにおいて、上記実計算機とハードウェア動作仕様の異
    なる計算機の命令を処理するマイクロプログラムを含め
    て、マイクロプログラムを複数種類格納するためのコン
    トロール・ストレッジと、上記実計算機上で走行する仮
    想計算機を識別するレジスタと、上記実計算機の動作モ
    ードを指示するモード・インディケータと、該モード・
    インディゲータおよび仮想計算機識別レジスタにより上
    記コントロール・ストレッジから各仮想計算機用マイク
    ロプログラムを自動的に選択し、上記実計算機の演算制
    御部内で命令列の処理を実行させる手段を有することを
    特徴とする仮想計算機システム制御装置。 (2) 前記コントロール・ストレッジは、外部フロダ
    ラムにより選択された領域に対し、実計算機とハードウ
    ェア動作仕様の異なる計算機を処理するマイクロプログ
    ラムを含めて、複数個のマイクロプログラムを順次書込
    み、また読出す手段を具備することを特徴とする特許請
    求の範囲第1項記載の仮想針n、!JAシステム制御装
    置。 (3)前記マイクロプログラムの自動選択および処理実
    行手段は、実計算機とハードウェア動作仕様の異なる仮
    想計算機の命令処理を実行する際に、主記憶装置内忙準
    備された上記仮想計算機のハードウェア情報を演算制御
    部内のローカル・ストレッジに移して、上記仮想針n機
    の命令処理を実計算機と同じように実行することを特徴
    とする特許請求の範囲第1項または第2項記載の仮想計
    算機システム制御装置。 (4)前記マイクロプログラムの自動選択および処理実
    行手段は、実計算機とハードウェア動作仕様の異なる仮
    想計算機、および実計算機とハードウェア動作仕様の同
    一な仮想針8機が混在して、実計算機上を走行する場合
    でも、矛盾なく処理が行われるように、主記憶装置内に
    仮想計算機ごとのハードウェア情報テーブル類と、該テ
    ーブル類を制御するための制御プログラムを格納してい
    ることを特徴とする特許請求の範囲第1項、第2項また
    は第3項記載の仮想!を算機システム制御装置。 (5)前記マイクロプログラムの自動選択および処理実
    行手段は、先ずモード・インディケータの値を設定した
    後、走行させるべき仮想計算機の/S −ドウエア情報
    テーブル類のアドレスを設定し、該テーブル類からコン
    トロール・ストレッジ内のエン) IJ番号を得て該番
    号を仮想計算機識別レジスタに設定し、該仮想計算機の
    テーブル類をロケートシ、バードウェア情報テーブル類
    のアドレスを制御レジスタに設定することを特徴とする
    特許請求の範囲第1項、第2項、第3項または第4項記
    載の仮想計算機システム制御装置。 (6)前記マイクロプログラムの自動選択および処理実
    行手段は、実計算機とノ・−ドウエア動作仕様が同一か
    否かにかかわらず、ノ・−ドウエア情報テーブル内のポ
    インタ・リストからアドレス変換テーブルのアドレスを
    制御レジスタに設定することを特徴とする特許請求の範
    囲第1項〜第牛項または第5項記載の仮想計31機シス
    テム制御装置。 (7)前記マイクロプログラムの自動選択および処理実
    行手段は、仮想計算機がマイクロコンピュータやパーソ
    ナル・コンピュータの場合には、演算制御部内のローカ
    ル・ストレッジにアキュムレータの領域を設けて、該ア
    キュムレータの値と主記憶装置の値の演算を行い演算結
    果の状態をステータス・レジスタ領域に設定することを
    特徴とする特許請求の範囲第1項〜第5項または第6項
    記載の仮想割算機システム制御装置。
JP58165995A 1983-09-08 1983-09-08 仮想計算機システム制御装置 Granted JPS6057438A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP58165995A JPS6057438A (ja) 1983-09-08 1983-09-08 仮想計算機システム制御装置
US06/638,270 US4814975A (en) 1983-09-08 1984-08-06 Virtual machine system and method for controlling machines of different architectures
EP84109356A EP0137191A3 (en) 1983-09-08 1984-08-07 Virtual machine system controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58165995A JPS6057438A (ja) 1983-09-08 1983-09-08 仮想計算機システム制御装置

Publications (2)

Publication Number Publication Date
JPS6057438A true JPS6057438A (ja) 1985-04-03
JPH0532772B2 JPH0532772B2 (ja) 1993-05-17

Family

ID=15822910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58165995A Granted JPS6057438A (ja) 1983-09-08 1983-09-08 仮想計算機システム制御装置

Country Status (3)

Country Link
US (1) US4814975A (ja)
EP (1) EP0137191A3 (ja)
JP (1) JPS6057438A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499379A (en) * 1988-06-30 1996-03-12 Hitachi, Ltd. Input/output execution apparatus for a plural-OS run system
JP2012074074A (ja) * 2002-12-19 2012-04-12 Intel Corp バーチャルマシン動作においてマシン状態を管理する方法及びシステム
JP2013521551A (ja) * 2010-03-05 2013-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーション マシン状態に基づいた命令の分割

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4967342A (en) * 1984-08-17 1990-10-30 Lent Robert S Data processing system having plurality of processors and channels controlled by plurality of system control programs through interrupt routing
US4660144A (en) * 1985-05-23 1987-04-21 International Business Machines Corp. Adjunct machine
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
JPH0731609B2 (ja) * 1985-09-18 1995-04-10 日本電気株式会社 Vmモード変更装置
AU588389B2 (en) * 1985-11-14 1989-09-14 Data General Corporation Multiprocessor data processing system
US4785392A (en) * 1986-10-14 1988-11-15 Amdahl Corporation Addressing multiple storage spaces
EP0264215A3 (en) * 1986-10-14 1991-10-23 Amdahl Corporation Fast entry to emulation
JPS63182749A (ja) * 1987-01-26 1988-07-28 Nec Corp 計算機システムのタイマ制御装置
JPS6410338A (en) * 1987-07-02 1989-01-13 Nec Corp Virtual computer controller
JPH0293952A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
WO1990005338A1 (en) * 1988-11-02 1990-05-17 Hitachi, Ltd. Virtual computer system having extended memory
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
US5278973A (en) * 1989-03-27 1994-01-11 Unisys Corporation Dual operating system computer
US5375213A (en) * 1989-08-29 1994-12-20 Hitachi, Ltd. Address translation device and method for managing address information using the device
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
US5778423A (en) * 1990-06-29 1998-07-07 Digital Equipment Corporation Prefetch instruction for improving performance in reduced instruction set processor
JP2839201B2 (ja) * 1990-07-30 1998-12-16 株式会社日立製作所 仮想計算機システム
JPH06502941A (ja) * 1990-07-20 1994-03-31 テンプル ユニヴァーシティ―オブ ザ コモンウエルス システム オブ ハイヤー エデュケーション 異種オペレーティングシステムを有する高レベル仮想コンピュータのシステム
WO1994019747A1 (en) * 1993-02-17 1994-09-01 3Com Corporation System for reading dynamically changing data
US5432937A (en) * 1993-08-20 1995-07-11 Next Computer, Inc. Method and apparatus for architecture independent executable files
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US6567837B1 (en) * 1997-01-29 2003-05-20 Iq Systems Object oriented processor arrays
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US6636899B1 (en) * 1998-09-24 2003-10-21 Xerox Corporation Architecture for software for remote maintenance of a machine such as a copier
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US6651132B1 (en) * 2000-07-17 2003-11-18 Microsoft Corporation System and method for emulating the operation of a translation look-aside buffer
FR2814257B1 (fr) * 2000-09-20 2002-12-06 Palmware Architecture de microprocesseur virtuel multiplate-forme et son systeme d'exploitation complementaire, notamment pour le domaine de l'informatique embarquee et mobile
US7149878B1 (en) * 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7475002B1 (en) * 2004-02-18 2009-01-06 Vmware, Inc. Method and apparatus for emulating multiple virtual timers in a virtual computer system when the virtual timers fall behind the real time of a physical computer system
US7937525B2 (en) * 2004-06-25 2011-05-03 Intel Corporation Method and apparatus for decoding a virtual machine control structure identification
US20070143302A1 (en) * 2005-12-21 2007-06-21 Alan Stone Inter-node communication in a distributed system
US20070143315A1 (en) * 2005-12-21 2007-06-21 Alan Stone Inter-partition communication in a virtualization environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3094610A (en) * 1959-06-02 1963-06-18 Sylvania Electric Prod Electronic computers
US3969722A (en) * 1974-07-03 1976-07-13 General Electric Company Method and apparatus for operator interrogation of simulated control circuits
IT1059493B (it) * 1976-04-22 1982-05-31 Olivetti & Co Spa Dispositivo per cambiare l ambiente di lavoro di un calcolatore
US4096568A (en) * 1976-09-24 1978-06-20 Sperry Rand Corporation Virtual address translator
US4315321A (en) * 1978-06-16 1982-02-09 The Kardios Systems Corporation Method and apparatus for enhancing the capabilities of a computing system
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499379A (en) * 1988-06-30 1996-03-12 Hitachi, Ltd. Input/output execution apparatus for a plural-OS run system
JP2012074074A (ja) * 2002-12-19 2012-04-12 Intel Corp バーチャルマシン動作においてマシン状態を管理する方法及びシステム
JP2013521551A (ja) * 2010-03-05 2013-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーション マシン状態に基づいた命令の分割

Also Published As

Publication number Publication date
JPH0532772B2 (ja) 1993-05-17
US4814975A (en) 1989-03-21
EP0137191A2 (en) 1985-04-17
EP0137191A3 (en) 1988-01-07

Similar Documents

Publication Publication Date Title
JPS6057438A (ja) 仮想計算機システム制御装置
US4347565A (en) Address control system for software simulation
US4253145A (en) Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
US20230259380A1 (en) Chip system, virtual interrupt processing method, and corresponding apparatus
JPH0430053B2 (ja)
US5339417A (en) Computer system with two levels of guests
CN107368379B (zh) 面向EVP的跨Guest OS进程间通信方法及系统
CN114327777B (zh) 确定全局页目录的方法、装置、电子设备及存储介质
JPH0458056B2 (ja)
JPS5820066B2 (ja) ハ−ドウエア バ−チヤライザ
JPH0195347A (ja) アドレス変換方式
KR100220496B1 (ko) 프로세서 및 정보 처리 장치
JPH05204760A (ja) 仮想計算機システムの制御方式
JPH0552535B2 (ja)
JPS6049352B2 (ja) デ−タ処理装置
JPS5856058A (ja) 仮想計算機システムcp常駐ボリユ−ムのdasd共用管理方式
JPS62120542A (ja) 情報処理装置
JPS5850383B2 (ja) 情報処理装置
JPS61145646A (ja) 仮想計算機システム
JPS6336012B2 (ja)
JP2523502B2 (ja) リカ−シブ仮想計算機の制御方式
Marsland et al. A case study of computer emulation
JPS6278642A (ja) メモリ管理ユニツト制御方式
JPH07134658A (ja) 仮想計算機システムのアドレス変換バッファ制御方式