JPH0532772B2 - - Google Patents

Info

Publication number
JPH0532772B2
JPH0532772B2 JP58165995A JP16599583A JPH0532772B2 JP H0532772 B2 JPH0532772 B2 JP H0532772B2 JP 58165995 A JP58165995 A JP 58165995A JP 16599583 A JP16599583 A JP 16599583A JP H0532772 B2 JPH0532772 B2 JP H0532772B2
Authority
JP
Japan
Prior art keywords
virtual
computer
register
virtual computer
microprogram
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
JP58165995A
Other languages
English (en)
Other versions
JPS6057438A (ja
Inventor
Toshio Hirozawa
Masaru Ooki
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)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システム制御装置に関
し、特にベースマシンと動作仕様が異なる仮想計
算機動作も実行できる仮想計算機システム制御装
置に関するものである。
〔発明の背景〕
近年、デイジタル電子計算機の応用分野が拡大
するにしたがつて、実メモリの容量の制約を解除
したアドレス方式、つまり仮想記憶方式が使用さ
れ、さらにこの仮想記憶方式の延長として、1つ
の実計算機を多数のユーザが同時に使用できる方
式、つまり仮想計算機システムが用いられてい
る。仮想計算機システムでは、主メモリや入出力
装置は勿論、中央処理装置をも含むすべての資源
をユーザ間で共用することができるように、多数
のオペレーテイング・システム(以下OS)が1
つの実計算機(ベース・マシン(Base
Machine)以下BM)上で見かけ上、同時に走行
できるようにする。
このため、BMにおける2つの動作モード、つ
まり特権モードと非特権モードの動作形態を利用
している。すなわち、一般的には特権モードは
OSの動作モードに使用されているが、仮想計算
機システム(Virtual Machine System:VMS)
では、特権モードは特殊な制御プログラムの動作
モードとし、OSを非特権モードで動作させるの
である。この特殊な制御プログラムを、バーチヤ
ル・マシン・モニタ(Virtual Machine
Monitor:VMM)と呼ぶ。
第1図は、通常のVMSの概念図である。
BM501は、特権または非特権モードの処理
要求(これはマシン命令とも呼ばれる)を扱うこ
とができるベース・マシン・インタフエース50
3をソフトウエアに対して提供する。したがつ
て、VMM502はBM501が提供するベー
ス・マシン・インタフエース503を利用して動
作するが、このVMM502は各仮想計算機
(Virtual Machine:VM)のOS506やOS50
7の動作を可能にするため、別のベース・マシ
ン・インタフエース508を提供することにな
る。このベース・マシン・インタフエース508
を実際に提供する機構は、個々のVM504と
VM505である。なお、第1図では、2つの
VMしか示していないが、多数個のVMが存在し
ているのは言うまでもない。
OS506やOS507は、VM504とVM5
05が提供するベース・マシン・インタフエース
508を用いて動作することになり、あたかも
BM501上で動作しているように見える。
また、OS506,507は、ユーザ・プログ
ラム(User Program:UP)515〜518に
対して拡張マシン・インタフエース513,51
4を提供する。ここで、拡張マシン(Bxtended
Machine:EM)509〜512とは、ユーザ・
プログラムからのあるまとまつた機能処理の要求
(通常、スーパバイザ・コールとも呼ばれる)に
対する処理を、OSごとにそのOS内で実行する機
能、および非特権モードのマシン命令等である。
したがつて、OS506とOS507とが異なつた
ものであれば、OSごとに実行されるEM509
とEM511は、当然互いに異なつた機能であ
る。
以上がVMSの動作概念であつて、これにより
1つのBM上で複数個の異なつたOSが見掛上、
同時に走行できることになる。したがつて、次の
ような効果が期待できる。(i)稼動しているシステ
ムのサービスを停止することなく、新しく開発さ
れるシステムのデバツグ、あるいはテストを行う
ことができる。(ii)1個のBMで、複数個の異なつ
たOSが動作できるので、実ハードウエアのコス
ト低下が可能となり、かつハードウエア資源の使
用効率が向上する。
ところで、第1図に示すVMSの概念では、
VMM502が提供するベース・マシン・インタ
フエース508は、BM501が提供するベー
ス・マシン・インタフエース503と機能的に同
一であるため、BM501で実行できるOSはVM
504、VM505においても同じように実行で
きるであろう。したがつて、根本的には、VMは
それが使用するBMに等価であり、機能的に区別
できるような差異は存在しない。VMM502
は、OSやUPのプログラムを各命令ごとに解釈実
行することはしないが、大部分の時間内では、プ
ログラムがBM501において直接的に実行する
ことを許可する。しかし、VMM502は、ある
種の命令(これは特権命令であつて、動作モード
が特権モードのときに実行できる命令)を検知
し、VMS内のシステムの内容の全体的完全性を
保証するために検知した命令を解釈実行して、そ
の解釈・実行が終了した後に制御を実行中のプロ
グラムに戻す。したがつて、大部分の命令は、
VMM502の介入なしに直接的に実行され、
VMM502による解釈・実行が必要な命令の
み、VMM502の介入が行われることになる。
VMM502が、各VM504や505に対し
てBM501のサービスを行う方法は、通常のマ
ルチプログラム制御方式と同じであり、BM50
1のハードウエア資源を時間的および空間的に分
割して各VMに割当てる。そこで、VMM502
は、BM501のハードウエア資源の管理を容易
にするために、資源管理を行う。
第2図は、VMSにおける主メモリの空間的分
割管理の方法を示す図である。
VMMは、主メモリ、入出力装置等のハードウ
エア資源を空間的に分割して管理し、中央処理装
置やマシン命令の実行にともなう制御レジスタ
(Control Register:CR)521、汎用レジスタ
(General Register:GR)522、浮動小数点
レジスタ(Floating Point Register:FPR)5
23、プログラム状態語(Program Status
Word:PSW)524、およびタイマ525等に
対して時間的に分割して管理する。すなわち、該
当するVMをサービスする際に、時分割的に実の
ハードウエアに移すのである。
いま、第2図に示すように、主メモリ526を
第1レベル・ストレツジと呼ぶことにすると、第
1レベル・ストレツジ526内に各VMの制御ブ
ロツク527を作り、その制御ブロツク527内
に各VMのVCR528、VGR、VFPR529、
VPSW530およびタイマー値の格納域を設け、
当該VMをBM501でサービスするときに、そ
の値を実のハードウエア資源であるCR521、
GR522、FPR523、PSW524、タイマー
525に移す。
一般に、VMM502がVM504等をBM5
01によりサービスするための準備処理のこと
を、デイスパツチ(Dispatch)処理ともいう。
一方、主メモリの空間的分割管理には、よく知
られている仮想記憶制御方式を用いている。すな
わち、VMM502は各VMごとに仮想主メモリ
空間531を与え、これを第2レベル・ストレツ
ジとする。この第2レベル・ストレツジ531
は、写像変換テーブル(マツピング・テーブルま
たはアドレス変換テーブルとも呼ぶ)RST(Real
Segment Table)532、RPT(Real Page
Table)533により管理される。なお、VM5
04のもとで走行するOS506が仮想記憶方式
を用いている場合には、第2レベル・ストレツジ
531内にVST(Virtual Segment Table)53
4、VPT(Virtual Page Table)535をその
OS506が作ることになる。したがつて、ユー
ザ・プログラムはVST534、VPT535の管
理のもとに、第3レベル・ストレツジ536で動
作することになる。第3レベル・ストレツジ53
6から第1レベル・ストレツジ526への写像変
換は、VST534、VPT535による変換と、
RST532、RPT533による変換の2回を必
要とするため、その変換を1回ですませるよう
に、RST532、RPT533とVST534、
VPT535をマージして、シヤドウ・テーブル
SST(Shadow Segment Table)537、SPT
(Shadow Page Table)538をVMM502
が作り出している。
また、入出力装置の管理も、主メモリの管理方
法と同じようにして、VMごとの装置番号と実の
装置番号との対応テーブルが設けられ、空間的分
割管理が行われている。
従来の仮想計算機システムは、第2図に示すよ
うな構成であるが、上述の説明からも明らかなよ
うに、VMM502のもとで生成されるVM50
4,505等は、BM501と同種
(homogeneous)の仮想ハードウエアを実現して
いる。このように、BMと同種のVMを有する
VMSにおいては、前述の利点、すなわち、サー
ビスと並行したデバツグや、複数のOSの動作が
可能となるが、VM相互間で異なつた種類の仮想
ハードウエアを実現することは不可能である。す
なわち、第1図においては、VMM502は、
VM504とVM505との間に異なつたベー
ス・マシン・インタフエースを提供することがで
きない。例えば、VM504はBM501とベー
ス・マシン・インタフエースが同種のものに限定
され、またVM505もBM501と同種のもの
に限定されてしまい、BM501とは全く異なつ
たベース・マシン・インタフエース、あるいは部
分的に異なつたベース・マシン・インタフエース
を持つことはできないという欠点がある。従来の
VMSでは、BMのもとで、このBMとは異機種の
マシンで動作するOSは動作できないことである。
また、従来よりVMSの改良が提案されている
が、これらはいずれもBMと同種のマシンの走行
性能を向上させるものである(例えば、特開昭55
−42326号、特開昭57−47451号、特公昭58−
20066号各公報参照)。
しかし、VMSが各種分野で使用されるように
なると、例えば大型計算機のもとで、この計算機
とは特権命令やPSWの形式が異なつているミニ
コンピユータやマイクロコンピユータのプログラ
ム、OS等をVMSとして走行させたいという要求
が高まつている。
〔発明の目的〕
本発明の主な目的は、上記の従来の問題を改善
善するため、仮想計算機システムのベース・マシ
ンとは異なつたハードウエア動作仕様を有するパ
ーチヤル・マシンを有効に動作させることが可能
な仮想計算機システム制御装置を提供することに
ある。
また、本発明の他の目的は、ベース・マシンと
異種のバーチヤル・マシンの動作が可能な場合
に、上記バーチヤル・マシンがベース・マシンと
同種のバーチヤル・マシンに比べて同等な処理性
能を保証することができる仮想計算機システム制
御装置を提供することにある。
また、本発明のさらに他の目的は、ベース・マ
シン・インタフエースの異なるバーチヤル・マシ
ンが仮想計算機システム内に混在した場合にも、
各バーチヤル・マシンの走行に予盾が生じないデ
イスパツチ制御を行うことができる仮想計算機シ
ステム制御装置を提供することにある。
〔発明の概要〕
上記目的を達成するために、本発明の仮想計算
機システム制御装置は、演算制御部、記憶制御
部、主記憶装置および入出力装置を備えた実計算
機で実行される仮想計算機システムにおいて、上
記実計算機とハードウエア動作仕様の異なる計算
機の命令を処理するマイクロプログラムを含め
て、マイクロプログラムを複数種類格納するため
のコントロール・ストレツジと、上記実計算機上
で走行する仮想計算機を識別するレジスタと、上
記実計算機の動作モードを指示するモード・イン
デイケータと、該モード・インデイケータおよび
仮想計算機識別レジスタにより上記コントロー
ル・ストレツジから各仮想計算機用マイクロプロ
グラムを自動的に選択し、上記実計算機の演算制
御部内で命令列の処理を実行させる手段を有する
ことに特徴がある。さらに、本発明の仮想計算機
システムにおける前記コントロール・ストレツジ
は、外部プログラムにより選択された領域に対
し、実計算機とハードウエア動作仕様の異なる計
算機を処理するマイクロプログラムを含めて、複
数個のマイクロプログラムを順次書込み、また読
出す手段を具備することに特徴がある。
〔発明の実施例〕
第3図は、本発明の一実施例を示す電子計算機
システムのブロツク構成図である。
第3図には、電子計算機システムの中央処理装
置のみが示されており、主記憶装置130以外は
記載が省略され、また入出力装置の接続も省略さ
れている。中央処理装置は、演算制御部110と
記憶制御部120からなり、記憶制御部120に
は主記憶装置130が接続されている。
演算制御部110において、100はマイクロ
プログラムが格納されるCS(コントロール・スト
レツジ)制御回路、101は走行中のVMを識別
するためのVMIDレジスタ、102はCS制御回
路100内のCS格納域をロケートするためのイ
ンデツクス・レジスタ(Index Register:IXR)、
103は動作モードを表示するモード・インデイ
ケータ(Mode Indicato:MD)、104はベー
ス・マシンとはハードウエア仕様の異なる資源を
作り出すローカル・ストレツジ(Local
Storage:LS)、105は演算回路である。
記憶制御部120において、121は論理アド
レスと物理アドレスの対応対を格納している
TLB(Translation Look−aside Buffer)、12
2はTLBを制御するためのTLB制御装置、12
3はTLB121内に論理アドレスに対応する物
理アドレスが存在しなかつたときに、第2図に示
すアドレス変換テーブルを用いて物理アドレスを
計算するDAT装置(Dynamic Address
Translation)、124は主記憶装置130のバ
ツフア制御装置であつて、主記憶装置130内で
頻繁に使用されるデータを格納しており、バツフ
ア・ストレツジ(図示省略)を含んでいる。
先ず、通常の動作モードのとき、つまり第1図
に示すBM501がVMSのモードで動作しない
ときの動作を説明する。このときには、モード・
インデイケータ103の値は“0”であり、また
VMIDレジスタ101、インデツクス・レジスタ
102はいずれも意味を持たない。
モード・インデイケータ103の出力が、信号
線L100を介してCS制御回路100に入力す
る。CS制御回路100では、モード・インデイ
ケータ103の出力信号により通常のBMでの動
作であることを認識し、それに対応するマイクロ
プログラムが格納されているCS領域を位置付け
る。そのCS領域内のマイクロプログラムは、主
記憶装置130から命令を読み出すために、記憶
制御部120内のTLB制御装置122に信号線
L101を介して命令のアドレスを送出する。
TLB制御装置122では、送られてきたアドレ
スを使用してTLB121を参照する。TLB12
1には、論理アドレスに対応する主記憶装置13
0内の物理アドレスが格納されているが、もし、
論理アドレスに対応する物理アドレスが割当てら
れていない場合には、そのTLB121には登録
されていないので、参照できない。なお、論理ア
ドレスから物理アドレスへの変換方法、および
TLB121内の形式等については、本発明者等
による先願である「記憶制御装置」を参照された
い(特公昭57−40584号公報)。
TLB121に該当する論理アドレスが登録さ
れていなければ、信号線L102を介してDAT
123にそのアドレスを送り、物理アドレスへの
アドレス変換を起動する。このアドレス変換は、
第2図に示すアドレス変換テーブル532,53
3を用いて行われる。DAT装置123でのアド
レス変換が終了したならば、その論理アドレスと
物理アドレスとが信号線L103を介してTLB
制御装置122に送られ、TLB121に書込ま
れる。なお、DAT装置123がアドレス変換の
動作を行うときには、第2図に示すアドレス変換
テーブル532,533をアクセスするために、
信号線L104,L105を介してバツフア制御
装置124とデータの授受を行う。具体的には、
信号線L104に主記憶装置130内のメモリ・
アドレスを送出すると、バツフア制御装置124
は、制御装置124内のバツフア・アドレス・ア
レイ(図示省略)を参照し、バツフア・ストレツ
ジ(図示省略)にデータがあるか否かを調べ、バ
ツフア・ストレツジにデータがあれば、そのデー
タを読出して、信号線L105を介しDAT装置
123に返送する。バツフア・ストレツジにデー
タがなければ、主記憶装置130から信号線L1
06を介して読出してくる。
TLB制御装置122は、上述した方法により
得た命令の物理アドレスを、信号線L107を介
してバツフア制御装置124に送る。バツフア制
御装置124は、先に述べた動作方法により、こ
の物理アドレスのデータを読出し、このデータを
信号線L108を介してCS制御回路100に送
出する。
CS制御回路100内のマイクロプログラムは、
当該命令のオペランド・アドレスを計算し、再び
記憶制御部120に対してオペランド・アドレス
に対応する物理アドレスのデータを要求する。そ
のオペランドのデータが信号線L108を介して
戻されると、CS制御回路100は当該命令の命
令コード(Operation Code)とともに、そのデ
ータを信号線L109を介して演算回路105に
送出する。
演算回路105では、当該命令コード、例えば
加算処理、減算処理あるいはデータの格納処理等
の命令コードにもとづいた演算を行う。このと
き、必要に応じてローカル・ストレツジ104
を、作業領域として使用する。演算の結果は、信
号線L110を介してCS制御回路100へ報告
され、CS制御回路100内のマイクロプログラ
ムはPSWに演算結果の状態を設定したり、次の
命令アドレス(Next Instrction Address:
NIA)を設定したりする処理を行つた後、次に
実行すべき命令のアドレスを計算して、再び元の
動作に戻る。なお、演算回路105は、信号線L
111を介してデータを主記憶装置130内に格
納したり、あるいは信号線L112を介して論理
アドレスを物理アドレスに変換する要求も行う。
以上が通常のBM501における動作であつ
て、これは第1図に示す従来のVMS、つまり
VM504やVM505のハードウエア動作仕様
がBM501と同種である場合の動作と同じであ
る。
本発明は、VM504、VM505等がBM5
01との間でハードウエア動作仕様の異なるとき
のCS制御回路100の制御方法、および走行中
のVMを識別するVMIDレジスタ101、動作モ
ードを表わすモード・インデイケータ103の設
置に特徴がある。
本発明の新しい構成要素であるCS制御回路1
00の内部構成およびその制御方法を説明する前
に、VM504、VM505等がBM501のハ
ードウエア動作仕様と異なる例について、説明す
る。
第4図aは、BM501が拡張モード
(Extended Control Mode:ECモード)のとき
のPSW形式図、第4図bはBM501が基本モ
ード(Basic Control Mode:BCモード)のと
きのPSW形式図である(M−シリーズと呼ばれ
るHITACM−180、M−200H、M−280型電子計
算機等で採用されているPSWの形式)。
一方、E−シリーズと呼ばれるHITACE−800
型電子計算機でのPSW形式は、第5図に示すよ
うなビツト構成であり、これは第4図bの基本モ
ードの形式と似ているにもかかわらず、仮想記憶
制御方式による動作に伴う。なお、E−800型計
算機の命令形式は、特殊な特権命令を除いてM−
シリーズ型電子計算機と同一である。
第6図は、マイクロコンピユータにおける制御
レジスタ類を示す図で、これらはPSWに相当す
るものであり、プログラム・カウンタ131、ス
テータス・レジスタ132、インタラブト・ステ
ータス・レジスタ133およびアキユムレータ1
34が示されている。なお、アキユムレータ13
4は、第3図に示す演算回路105内に含まれて
いる。
第6図のプログラム・カウンタ131は、第4
図、第5図のNext Instruction Address(NIA)
135に対応しており、ステータス・レジスタ1
32は、第4図、第5図のC.C(Condition Code)
や、主記憶装置130内のPSA(Prefixed
Storage Area)の特定番地(図示省略)に相当
する。また、インタラプシヨン・ステータス・レ
ジスタ133は、第4図、第5図のInterruption
Code137に相当する。なお、第4図aにおけ
るECモードでは、Interruption Codeは主記憶装
置130内のPSAの特定番地に作られている。
いま、第1図に示すBM501が第4図a,b
におけるハードウエア動作、つまりM−シリーズ
のハードウエア動作仕様のマシンであるものと
し、VM504あるいはVM505を、第5図に
示すE−シリーズのマシン、あるいは第6図に示
すハードウエア動作仕様のマイクロコンピユータ
等として動作させようとした場合、従来のVMS
では動作できない。
これに対して、本発明では、第3図に示すCS
制御回路100内に特殊な制御回路を組込ませる
ことによつて、BM501とハードウエア動作仕
様が異なるマシン、つまり異機種のマシンでも
VM504やVM505のもとで動作できる。ま
た、上記動作を円滑に行わせるため、各種の制御
レジスタ類も付加されている。
第7図は、本発明の一実施例を示すCS制御回
路の構成図である。
第7図において、VMIDレジスタ101とイン
デツクス・レジスタ102とモード・インデイケ
ータ103以外の部分が、CS制御回路の内部構
成である。
第7図において、1はマイクロプログラムが格
納されているCS(Control Storage)であつて、
複数個の種別のマイクロプログラムを格納できる
ようにマルチ構成となつている。第7図では、番
号0から番号7までの8種類の異なつた種別のマ
イクロプログラムが格納されているが、その個数
は容易に拡張可能である。2はマイクロプログラ
ムをCS1内に格納するときのマイクロプログラ
ム・データ・レジスタ(CREGIN)、3はCS1内
のアドレス付けするためのアドレス・レジスタ
(CSAR)、4は+1回路、5はCS1から読出さ
れたマイクロ命令をセツトするためのマイクロ命
令レジスタ(CREG)、6はマイクロプログラム
の種類を選択するためのセレクタ(SEL)、7,
8はゲート回路、9はオア回路、10はデコー
ダ、11はゼロ発生回路、12はVMIDレジスタ
101をプログラムから参照したときに、その値
を応答するための作業レジスタ(VMIDM)であ
る。また、101〜103は、第3図の同一符号
と同じレジスタを示しており、それぞれVMIDレ
ジスタ、インデツクス・レジスタ、モード・イン
デイケータである。
第7図において、CS1のマイクロプログラム
群は、番号0から番号7までアドレス付けされて
おり、これらのうち番号0のマイクロプログラム
はBM501のハードウエア動作仕様の命令を処
理するものであり、BM501で動作するVMM
502や、あるいはBM501で動作するときに
はモード・インデイケータ103の値が“0”と
なるので、この値がデコーダ10を経て信号線L
1を介し番号0のマイクロプログラムが強制的に
アドレス付けされる。
アドレス付けされたCS1内のマイクロプログ
ラム群は、アドレス・レジスタ(CSAR)3で当
該番地がロケートされ、マイクロ命令レジスタ
(CREG)5に読出される。マイクロ命令レジス
タ5に保持されたデータの一部は、必要に応じて
線L2を介した信号となり、アドレス・レジスタ
3の値を変更する。通常のマイクロプログラム処
理では、+1回路4によりアドレス・レジスタ3
の値が増加する。
マイクロ命令レジスタ5に保持されたマイクロ
命令は、信号線L3を介して演算回路105およ
び演算制御部110の各回路に送出され、各種処
理を実行させるために電子計算機システム内の各
種回路を駆動する。具体的には、第3図で説明し
たように、各マシン命令の動作仕様にもとづいた
処理を行う。
次に、電子計算機システムがVMSの動作モー
ドで動作する場合には、モード・インデイケータ
103の値が“1”となるため、デコーダ10の
出力信号線L4を介してこの値が送出され、ゲー
ト回路7を開く。このときのCS1内のCS番号
は、VMIDレジスタ101の第29ビツト目から第
31ビツト目までの3ビツトの値が信号線L5を介
して送出され、オア回路9を経てセレクタ6によ
り、CS1のマイクロプログラム群の中の1つが
位置付けされる。したがつて、VMIDレジスタ1
01の第29ビツト目から第31ビツト目までの値が
CS1内の1つのマイクロプログラムを位置付け
るための番号を意味していることになり、この値
が“0”の場合には、VM504はBM501と
同一のハードウエア動作仕様を有するマシンとい
うことになる。
VM504がBM501とハードウエア動作仕
様が異なつている場合には、VMIDレジスタ10
1の第29ビツトから第31ビツトまでの値は“1”
〜“7”の1つであり、この番号に対応したCS
1内のマイクロプログラムが実行される。すなわ
ち、第5図および第6図に示すマシン特性の動作
を行うマイクロプログラムをCS1内に格納して
おくことにより、BM501と異種のハードウエ
ア動作が可能になる。
第7図に示すVMIDレジスタ101がプログラ
ムから参照された場合には、ゼロ発生回路11に
より第29ビツト目から第31ビツト目までを強制的
に“0”にして作業レジスタ(VMIDM)12に
設定し、このレジスタ12の値を参照したプログ
ラムに渡す。
次に、CS1の中のマイクロプログラム群の1
つを読出したり、あるいはマイクロプログラム群
の1つを格納するための動作を説明する。
先ず、読出し動作の場合について述べる。この
とき、例えばモード・インデイケータ103の値
は“2”となつているものとする。モード・イン
デイケータ103の値は、デコーダ10によりデ
コードされ、信号線L6の信号が“1”となる。
この信号線L6の信号はゲート回路8を開くため
の契機信号となるため、インデツクス・レジスタ
102の値がアンド回路8、オア回路9を通り、
セレクタ(SEL)6に送られ、セレクタ6を駆動
してCS1内の番号0から番号7までのマイクロ
プログラムの1つを選択する。なお、インデツク
ス・レジスタ102には、CS1内の選択番号が
演算制御部110により格納されている。
次に、アドレス・レジスタ3が初期化されて、
アドレス・レジスタ3がポイントするマイクロ命
令がCS1から読出され、マイクロ命令レジスタ
5にセツトされた後、信号線L3を介して第3図
に示す演算制御部110あるいは演算回路105
に送出される。マイクロ命令の値は、最後にプロ
グラムが指定した主記憶装置130内のある領域
に格納される。
それ以後、CS1内の選択されたマイクロプロ
グラムが終了するまで、アドレス・レジスタ3の
値を順次+1ずつ加算して、上述の処理を繰返え
す。
次に、書込み動作の場合について述べる。
マイクロプログラムをCS1内に書込むには、
主記憶装置130から読出したデータを、CS1
のマイクロプログラム群のいずれか1つに書込む
ことになる。CS1のマイクロプログラム群の中
の1つを選択する方法は、読出し動作の場合と同
じようにして、インデツクス・レジスタ102の
内容により決定される。CS1群内のいずれか1
つが選択されると、アドレス・レジスタ3が初期
化される。主記憶装置130から読出されたデー
タは線L108を介してCS制御回路100に送
られ、マイクロプログラム・データ・レジスタ2
に保持されており、このデータはアドレス・レジ
スタ3がポイントする領域に格納される。次に、
アドレス・レジスタ3の値は+1回路4によつて
増加され、一方のマイクロプログラム・データ・
レジスタ2のデータも主記憶装置130から新し
いデータを受取つている。なお、主記憶装置13
0へのアクセス方法は、第3図で説明した方法と
同じである。
このようにして、複数個のマイクロプログラム
格納領域を有するCS1の制御および各格納領域
内の管理が行われることになる。なお、VMIDレ
ジスタ101へのデータのセツトは、LOAD
VMID、REF VMIDの各命令により行われ、モ
ード・インデイケータ103へのアクセスは、
SETMODE命令により行われる。また、CS1へ
のマイクロプログラム群の各命令の読出し/格納
は、READ CW,STORE CWの各命令によつ
て行われる。ここで、LOAD VMID命令は、
VMIDレジスタ101にVMの識別情報をローデ
イングする命令、REF VMID命令は、VMIDレ
ジスタ101の値を作業レジスタ(VMIDM)1
2を経由してプログラムに教える命令、SET
MODE命令はモード・インデイケータ103に
値をセツトする命令、READ CW命令はマイク
ロ命令の読出し命令、STORE CW命令はマイク
ロ命令の書込み命令である。そして、これらの命
令は、BM501のみで実行可能である。
次に、第1図に示すBM501のVMM502
が、第7図に示すCS制御回路を用いて各VMの
デイスパツチ制御を行う方法について説明する。
第8図は、VMM502が各VM504,50
5の走行を管理するために、主記憶装置130内
に作成している管理情報ブロツクの関係を示す図
である。
第8図において、21,22は各VMの走行を
管理するための制御ブロツク(VMLIST)であ
り、これは各VM504,505ごとに作成され
る。23は、VM504の特性やハードウエア・
レジスタ類を格納しておくための制御ブロツク
(VMCB)、24は、シヤドウ・テーブル(SST,
SPT)の領域、25は第2図に示す第2レベ
ル・ストレツジ531を管理するためのアドレス
変換テーブル(RST,RPT)の領域、26は第
3レベル・ストレツジ536を管理するためのア
ドレス変換テーブル(VST,VPT)の領域、2
7は入出力装置に関する仮想装置と実装置との対
応テーブル(CHTB,DVTB)の領域である。
なお、領域26は、VM504で走行するOSが
仮想記憶方式を用いている場合に確保されるもの
であつて、第2レベル・ストレツジ531内に作
られてる。その他の領域21〜25,27は、第
2図に示す第1レベル・ストレツジ526内に作
られる。
制御ブロツク21は、VM504,VM505
に関する制御ブロツク類のアドレスが格納されて
おり、各VMのルート情報となる。また、第8図
に示すように、制御ブロツク21,22相互間は
結合されており、BM501で走行中のVMに対
応する制御ブロツク21は、作業レジスタ
(VMIDM)12からポイントされている。作業
レジスタ12の第29ビツト目から第31ビツト目ま
では“0”となつているので、制御ブロツク2
1,22等は主記憶装置130内で8バイト境界
に格納されている。
制御ブロツク23におけるVM特性28には、
VM504のタイプや第7図に示すCS1内のマ
イクロプログラム群中の使用番号が設定されてい
る。したがつて、VMIDレジスタ101の第0ビ
ツト目から第28ビツト目までは制御ブロツク21
のアドレス、第29ビツト目から第31ビツト目まで
は制御ブロツク23内のVM特性28から得た使
用マイクロプログラム番号が、それぞれ格納され
ている。
制御ブロツク23内には、第8図に示すよう
に、BM501で走行するVM504のハードウ
エア情報、すなわち具体的には制御レジスタ、汎
用レジスタ等が格納されており、VMM502に
よりデイスパツチされるときに、BM501に移
される。
なお、制御ブロツク23内のVMハードウエア
情報格納領域29は、走行するVM504がベー
ス・マシンBM501とハードウエア動作仕様が
異なるとき、例えばHITAC M−シリーズのBM
501上で、HITACE−800あるいはマイクロコ
ンピユータ等のようなマシンを動作させるとき
に、当該マシンのハードウエア情報を格納するた
めに使用される。具体的には、領域29に、第5
図のPSW、第6図のプログラム・カウンタ
(PC)131、アキユムレータ(ACC)134、
ステータス・レジスタ132、インタラプト・ス
テータス・レジスタ133およびVM504のハ
ードウエア・レジスタ類等である。これらの情報
は、当該VMのマシン命令を実行するときに、第
3図に示すローカル・ストレツジ104に移さ
れ、マイクロプログラムにより処理される。制御
ブロツク23のポインタ・リストは、シヤドウ・
テーブル、アドレス変換テーブル等の領域24〜
27の各アドレスをポイントする。
第9図は、本発明におけるVMM502のデイ
スパツチ処理のフローチヤートである。
第3図、第7図および第8図を参照しながら、
第9図のフローチヤートを説明する。
先ず、モード・インデイケータ103の値を
“0”にすることにより、第7図のCS1中の第0
番目のマイクロプログラムが選択される(処理4
1)。したがつて、この処理41以降のVMM5
02の動作は、ベース・マシンBM501のハー
ドウエア動作仕様と同じになる。
次に走行させるべきVMを選択するため、制御
ブロツク21,22等の状態を調べて、走行させ
るべきVMを、VMIDレジスタ101に設定す
る。このとき、作業レジスタ(VMIDM)12の
第29ビツト目から第31ビツト目までには、制御ブ
ロツク23内のVMの特性28より得たCS1の
マイクロプログラム番号が設定される(処理4
2)。
次に、第8図に示す制御ブロツク23をロケー
トするとともに、制御ブロツク21のアドレスを
制御レジスタにセツトする(処理43、処理4
4)。
次に、処理45では、制御ブロツク23内の
VMの特性28を調べることにより、当該VM5
04がBM501と同じハードウエア動作仕様で
あれば、処理46,47を実行し、またVM50
4がBM501と異なるハードウエア動作仕様で
あれば、処理48,49を実行する。
処理46は、制御ブロツク23内に格納されて
いるハードウエア情報をBM501のハードウエ
ア資源に移す処理であり、また処理47は、走行
させるVM504に対して仮想化した主記憶装置
の領域を割当てるため、アドレス変換テーブルの
アドレスを制御レジスタにセツトする。
これに対して、処理48、処理49は、走行さ
せVM504のハードウエア動作仕様がBM50
1と異なつているときの処理であるが、処理48
は処理47と同一の処理となる。これは、走行さ
せるべきVM504に割当てる主記憶装置130
の仮想化方法、つまり主記憶装置130の空間的
分割方法は、BM501と同種のマシンに割当て
る方法と同一であるためである。したがつて、処
理47と処理48を一緒にして、処理45の前段
で実行してもよい。
次の処理49は、当該VM504のハードウエ
ア動作仕様にもとづく命令の処理をマイクロプロ
グラムが実行できるように、制御ブロツク23の
ハードウエア情報格納領域29をロケートしてお
き、実行するマイクロプログラムがそのハードウ
エア情報をローカル・ストレツジ104に移して
これを処理する。なお、図示省略されているが、
ローカル・ストレツジ104に移されたハードウ
エア情報は、VM504の走行中にはローカル・
ストレツジ104内に存在するが、BM501で
の動作が他のVM505あるいはVMM502に
移するきには、再び制御ブロツク23内に戻され
る。
最後に、モード・インデイケータ103の値を
“1”にすることにより、デイスパツチ処理は終
了する。
この処理が終了することにより、第7図に示す
CS制御回路が動作し、当該VMのハードウエア
動作仕様に対応するマイクロプログラムが選択さ
れる。
なお、第7図のCS1には、第0番〜第7番の
最大8種類のマイクロプログラムが格納できるよ
うに構成されているが、これは8個のVMが走行
できることを意味するものではなく、各VM間で
マイクロプログラムが共用される場合も考慮する
と、走行できるVMの個数に制限はない。
VMM502がデイスパツチ処理を行うことに
よつて、各VM504,505等の走行が予盾な
く行える。すなわち、BM501のハードウエア
動作仕様と異なる動作仕様のマシンが走行すると
きには、そのマシンに対応するマイクロプログラ
ムが選択され、そのハードウエア情報がローカ
ル・ストレツジ104に移されている。第6図の
例では、BM501のもとでマイクロコンピユー
タが動作することになる。このマイクロコンピユ
ータは、プログラム・カウンタ(PC)131を
従来の次命令アドレス(NIA)135に相当さ
せ、プログラム・カウンタ131がポイントする
命令を主記憶装置130から取出す。なお、主記
憶装置130へのアクセス方法は、第3図で説明
した方法と同じである。
また、マイクロコンピユータの命令の処理につ
いては、アキユムレータの概念がまだ残つてお
り、アキユムレータと主記憶装置から読出された
値との加算、減算等や、アキユムレータとレジス
タの値との加算、減算等がある。これらに対して
は、第6図に示したように、アキユムレータ
(ACC)134、ステータス・レジスタ132等
を設定して動作する。すなわち、ローカル・スト
レツジ104にアキユムレータ134の領域を設
けて、この領域134の値と主記憶装置130の
値との演算を行い、演算結果の状態(例えば、オ
ーバフロー、キヤリーの発生状態等)は、ステー
タス・レジスタ132に設定するようにして処理
を進めることになる。
〔発明の効果〕
本発明によれば、マイクロプログラムの格納領
域を複数個用意し、この中にBMのハードウエア
動作仕様と異なる仕様のVMの動作を行うマイク
ロプログラムも格納し、さらに走行するVMを識
別する情報にもとづいて、上記マイクロプログラ
ムを自動的に選択できるようにしたので、BMと
異なるハードウエア動作仕様を有するVMを有効
に動作させることができ、かつBMと同一のハー
ドウエア動作仕様を有するVMに比べ、同様な処
理性能を得ることができ、しかもBMと同一およ
び異なるハードウエア動作仕様を有するVMが混
在している場合にも各VMが矛盾なく走行でき
る。
【図面の簡単な説明】
第1図は通常の仮想計算機システムの概念を示
す図、第2図は仮想計算機システムにおける主記
憶装置の空間的分割管理の方法を示す図、第3図
は本発明の一実施例を示す電子計算機システムの
ブロツク構成図、第4図はベース・マシンのプロ
グラム状態語(PSW)の形式を示す図、第5図
はベース・マシンと異なるハードウエア動作仕様
のマシンのPSWの形式を示す図、第6図はマイ
クロコンピユータ等のハードウエア制御情報を示
す図、第7図は本発明の一実施例を示すCS制御
回路のブロツク図、第8図は本発明の一実施例を
示す仮想計算機モニタの各仮想計算機走行管理用
の制御情報ブロツクの関係図、第9図は本発明の
一実施例を示す仮想計算機モニタにおけるデイス
パツチ処理のフローチヤートである。 1:コントロール・ストレツジ(CS)、2:マ
イクロプログラム・データ・レジスタ
(CREGIN)、3:アドレス・レジスタ
(CSAR)、4:+1回路、5:マイクロ命令レジ
スタ(CREG)、6:セレクタ(SEL)、7,8:
ゲート回路、9:オア回路、10:デコーダ、1
1:ゼロ発生回路、101:VMIDレジスタ、1
02:インデツクス・レジスタ(IXR)、10
3:モード・インデイケータ(MD)。

Claims (1)

  1. 【特許請求の範囲】 1 演算制御部、記憶制御部、主記憶装置および
    入出力装置を備えた実計算機で実行される仮想計
    算機システムにおいて、上記実計算機とハードウ
    エア動作仕様の異なる計算機の命令を処理するマ
    イクロプログラムを含めて、マイクロプログラム
    を複数種類格納するためのコントロール・ストレ
    ツジと、上記実計算機上で走行する仮想計算機を
    識別するレジスタと、上記実計算機の動作モード
    を指示するモード・インデイケータと、該モー
    ド・インデイケータおよび仮想計算識機別レジス
    タにより上記コントロール・ストレツジから各仮
    想計算機用マイクロプログラムを自動的に選択
    し、上記実計算機の演算制御部内で命令列の処理
    を実行させる手段を有することを特徴とする仮想
    計算機システム制御装置。 2 前記コントロール・ストレツジは、外部プロ
    グラムにより選択された領域に対し、実計算機と
    ハードウエア動作仕様の異なる計算機を処理する
    マイクロプログラムを含めて、複数個のマイクロ
    プログラムを順次書込み、また読出す手段を具備
    することを特徴とする特許請求の範囲第1項記載
    の仮想計算機システム制御装置。 3 前記マイクロプログラムの自動選択および処
    理実行手段は、実計算機とハードウエア動作仕様
    の異なる仮想計算機の命令処理を実行する際に、
    主記憶装置内に準備された上記仮想計算機のハー
    ドウエア情報を演算制御部内のローカル・ストレ
    ツジに移して、上記仮想計算機の命令処理を実計
    算機と同じように実行することを特徴とする特許
    請求の範囲第1項または第2項記載の仮想計算機
    システム制御装置。 4 前記マイクロプログラムの自動選択および処
    理実行手段は、実計算機とハードウエア動作仕様
    の異なる仮想計算機、および実計算機とハードウ
    エア動作仕様の同一な仮想計算機が混在して、実
    計算機上を走行する場合でも、矛盾なく処理が行
    われるように、主記憶装置内に仮想計算機ごとの
    ハードウエア情報テーブル類と、該テーブル類を
    制御するための制御プログラムを格納しているこ
    とを特徴とする特許請求の範囲第1項、第2項ま
    たは第3項記載の仮想計算機システム制御装置。 5 前記マイクロプログラムの自動選択および処
    理実行手段は、先ずモード・インデイケータの値
    を設定した後、走行させるべき仮想計算機のハー
    ドウエア情報テーブル類のアドレスを制御レジス
    タに設定し、該テーブル類からコントロール・ス
    トレツジ内のエントリ番号を得て該番号を仮想計
    算機識別レジスタに設定し、該仮想計算機のテー
    ブル類を前記ローカル・ストレツジにロケート
    し、ハードウエア情報テーブル類のアドレスを制
    御レジスタに設定することを特徴とする特許請求
    の範囲第1項、第2項、第3項または第4項記載
    の仮想計算機システム制御装置。 6 前記マイクロプログラムの自動選択および処
    理実行手段は、実計算機とハードウエア動作仕様
    が同一か否かにかかわらず、ハードウエア情報テ
    ーブル内のポインタ・リストからアドレス変換テ
    ーブルのアドレスを制御レジスタに設定すること
    を特徴とする特許請求の範囲第1項〜第4項また
    は第5項記載の仮想計算機システム制御装置。 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 JPS6057438A (ja) 1985-04-03
JPH0532772B2 true 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)

Families Citing this family (39)

* 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
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
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
JPH03156542A (ja) * 1989-08-29 1991-07-04 Hitachi Ltd アドレス変換装置及びそのためのアドレス情報の管理方法
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 株式会社日立製作所 仮想計算機システム
WO1992001990A1 (en) * 1990-07-20 1992-02-06 Temple University - Of The Commonwealth System Of Higher Education System for high-level virtual computer with heterogeneous operating systems
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
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
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
US20070143315A1 (en) * 2005-12-21 2007-06-21 Alan Stone Inter-partition communication in a virtualization environment
US20070143302A1 (en) * 2005-12-21 2007-06-21 Alan Stone Inter-node communication in a distributed system
US8938605B2 (en) * 2010-03-05 2015-01-20 International Business Machines Corporation Instruction cracking based on machine state

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

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH0532772B2 (ja)
US4347565A (en) Address control system for software simulation
US10318407B2 (en) Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus
CA1304166C (en) Software emulation of bank-switched memory using a virtual dos monitorand paged memory management
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
CA1141475A (en) Virtual machine system
US7712104B2 (en) Multi OS configuration method and computer system
EP0238158B1 (en) Copy-on-write segment sharing in a virtual memory, virtual machine data processing system
US7793286B2 (en) Methods and systems to manage machine state in virtual machine operations
US6813522B1 (en) Method of sharing memory in a multi-processor system including a cloning of code and data
US4812981A (en) Memory management system improving the efficiency of fork operations
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
KR20130050156A (ko) 가상 주소 공간 전환 장치
JPH02734B2 (ja)
US5392409A (en) I/O execution method for a virtual machine system and system therefor
JPS6055467A (ja) マルチ・マイクロプロセツサによつて実現されたメインフレ−ム・エミユレ−シヨン用デ−タ処理システム
JPH0458056B2 (ja)
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch
JPS5820066B2 (ja) ハ−ドウエア バ−チヤライザ
EP0442297B1 (en) Processor with an overwriteable microcode memory
JPH05204760A (ja) 仮想計算機システムの制御方式
JPH0548500B2 (ja)
JPS6336012B2 (ja)
JPS62120542A (ja) 情報処理装置
JP2523502B2 (ja) リカ−シブ仮想計算機の制御方式