JPH0754468B2 - 仮想計算機システム - Google Patents

仮想計算機システム

Info

Publication number
JPH0754468B2
JPH0754468B2 JP59266457A JP26645784A JPH0754468B2 JP H0754468 B2 JPH0754468 B2 JP H0754468B2 JP 59266457 A JP59266457 A JP 59266457A JP 26645784 A JP26645784 A JP 26645784A JP H0754468 B2 JPH0754468 B2 JP H0754468B2
Authority
JP
Japan
Prior art keywords
register
group
computer system
registers
virtual computer
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
JP59266457A
Other languages
English (en)
Other versions
JPS61145646A (ja
Inventor
敏夫 広沢
潤一 栗原
成実 奥村
徹三 上原
伊藤  勉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59266457A priority Critical patent/JPH0754468B2/ja
Priority to US06/809,182 priority patent/US4975836A/en
Priority to EP85116263A priority patent/EP0185378B1/en
Priority to DE8585116263T priority patent/DE3582662D1/de
Publication of JPS61145646A publication Critical patent/JPS61145646A/ja
Publication of JPH0754468B2 publication Critical patent/JPH0754468B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムに関し、特に、仮想計算
機に対する実計算機資源の配分に関する。
〔発明の背景〕
仮想計算機システム(Virtual Machine System,以下VMS
と略記)は、第2図に概念的に示すように、1台の実計
算機(Bare Machine,以下BMと略記)501上で、複数のオ
ペレーテイング・システム(Operating System,以下OS
と略記)506,507を、見掛け上同時に走行させることを
可能にするものである。その実現のため、各OS506,507
とBM501の間に直接のベース・マシン・インタフエース
を設ける代りに、特殊な制御プログラム(例えば、バー
チヤル・マシン・モニタ:Virtual Machine Monitorなど
と呼ばれる。以下VMMと略記)502が用意され、これが、
ベース・マシン・インタフエース503を介して直接BM501
に作用するとともに、各OS506,507に対して、ベース・
マシン・インタフエース503と同等のベース・マシン・
インタフエース508を提供する。VMM502がベース・マシ
ン・インタフエース508を作り出すことによつて概念的
に形成されるマシンを、仮想計算機(バーチヤル・マシ
ン:Virtual Machine,以下VMと略記)という。第2図に
は、OS506が働らくVM504と、OS507が働らくVM507が示さ
れているが、いうまでもなく、任意数のVMを形成するこ
とができる。VM504とVM505はVMM502の制御の下に切替え
られ、かくて、OS506とOS507が見掛け上同時に動作す
る。
他方、OS506及び507は、ユーザ・プログラム(User Pro
gram,以下UPと略記)515,516及び517,518に対して、そ
れぞれ、拡張マシン・インタフエース513及び514を提供
し、それにより、拡張マシン(Extended Mechine,以下E
Mと略記)509〜512が形成される。EM509〜512のそれぞ
れは、それに連係するUPからのあるまとまつた機能に対
する処理要求(スーパバイザ・コール、フアンクシヨン
・コールなどと呼ばれる)に応じた処理をそれぞれのOS
内で実行する機能と、ベース・マシン・インタフエース
機能とを有している。したがつて、OS506とOS507が異な
つたものであれば、それぞれのOSに属するEM(例えば50
9と511)は、互いに異なる機能を有する。
以上のように、VMSは、単一のBM上で複数の異なるOS
が、見掛け上同時に走行することを可能にし、その結
果、次のような効用が期待できる。
(1)稼動中のシステムのサービスを停止することなし
に、新しく開発されるシステムのデバツグやテストを行
なうことができる。
(2)単一のBMで複数の異なるOSが動作できるので、ハ
ードウエア資源の使用効率が改善される。
(3)BMとはアーキテクチヤ又はシステム構成を異にす
る計算機システムを仮想的に作ることができ、したがつ
て、新しいマシン又はシステムの制御プログラムのテス
トを、実際のハードウエアが存在しない状態で行なうこ
とができる。ところが、VMSの実現のために、特殊な制
御プログラムVMM502が存在する。VMM502は、VM504,505
等を効率良く動作させるために、マルチプログラミング
技術を用いて、BM501のハードウエア資源を時間的及び
空間的に分割して、各VM504,505に割当てる。ハードウ
エア資源を操作する命令は、VMS内のシステムの全体的
完全性を保証するために、いわゆる特権命令として扱わ
れ、特権モードと呼ばれる動作モードにおいてのみ実行
可能となる。VMM502は、このような特権命令がOS506又
は507から発行されたことを検知すると、その命令を自
分で解釈・実行し、それが終了すると、制御を走行中の
OSに戻す。この処理は、BM501の資源をVM間で共用する
ために必要なものであり、この処理時間がVMS特有のオ
ーバヘツドとなる。また、主メモリの共用は、仮想記憶
方式の技術により実現されているので、そのためのアド
レス変換に要する時間も、オーバヘツドとなる。これら
のVMS特有のオーバヘツド中の主なものは、次のように
大別できる。
(1)特権命令のシミユレーシヨン処理によるオーバヘ
ツド (2)割込みのシミユレーシヨン処理によるオーバヘツ
ド (3)仮想記憶機能のサポートのためのアドレス変換に
よるオーバヘツド (4)VM間の切替サービス処理(デイスパツチ処理)の
ためのオーバヘツド 前記(3)のオーバヘツドの削減の試みの例は、特開昭
50-23146号公報、同57-212680号公報に記載されてい
る。前記(1)及び(2)のオーバヘツドの削減を目的
とする従来技術の一つは、特開昭55-53749号公報に記載
されている。これは、BM内に、諸VM上のOSが使用するた
めの演算レジスタ群と、VMMが使用するための演算レジ
スタ群を、別個に用意することにより、前記(1)及び
(2)の処理に伴なう演算レジスタ群の内容の退避/回
復処理によるオーバヘツドを、削減しようとするもので
ある。しかし、そのVM用演算レジスタ群は、VM間で共用
される単一の群であり、したがつて、前記(4)の処理
に際しては、演算レジスタ群の内容の入替えが必要であ
る。
ところで、従来、VMSは、大型汎用計算機の分野で考慮
の対象とされてきた。前掲公報に記載された発明も、大
型機を対象としたものと考えられる。他方、LSI技術の
最近における目覚しい発展により、マイクロ・コンピユ
ータ技術が大幅に進歩し、その結果、マイクロ・コンピ
ユータと周辺装置を組合せた、いわゆるパーソナル・コ
ンピユータ(Personal Computer,以下PSと略記)が広く
実用されるに至つた。そして、種々のPCのために多数の
応用プログラムが開発されつつある。そこで、他のPC用
に開発された魅力的な応用プログラムを使いたいという
要求が生じる。しかし、これらの応用プログラムは、そ
れぞれ特定のOSの下で動作するように作られており、特
にPCの場合、応用プログラムのOSへの密着性が強いか
ら、これらを異なるOSを備えたPCで使用しようとすれ
ば、一般には、OSを入替えるか、あるいは、その使いた
い応用プログラムのOS依存部分を作り変えなければなら
ず、いずれにしても、非常に不便である。したがつて、
この問題の解決策として、単一の実計算機上で複数のOS
が動作するのを可能にするVMSの採用は、PCのOSの規模
が大型機用のOSのそれと比較してずつと小さいこともあ
つて、甚だ効果的であろう。
しかしながら、現状において、PCには、前記のようなVM
Mのオーバヘツドを低減するための手段が備えられてい
ない。これらのオーバヘツドを極力低減するための改良
が、VMSのPCへの適用のために望まれる。なお、現用の
代表的なマイクロコンピユータのアーキテクチヤは、例
えば、次の文献に記載されている。
“A Microprocessor Architecture for a Changing Wor
ld;The Motorola 68000"Computer,Vol.12,pp.43〜51(1
979−2) "iAPX86 フアミリ・ユーザーズマニユアル”インテル
・ジヤパン:資料番号205885J 〔発明の目的〕 本発明の目的は、VMSにおいて、VMMの介入に際してのオ
ーバヘツド、特に、特権命令や割込みのシミユレーシヨ
ンのみならず、VM間の切替サービス処理(デイスパツチ
処理)に際してのオーバヘツドを低減して、PCのような
小型のマシンにおいてもVMSの適用を容易にすることに
ある。
〔発明の概要〕
本発明によれば、VMSの実計算機であるプロセツサに、
1群ずつ選択される複数群のレジスタ(データ・レジス
タやアドレス・レジスタなどの演算レジスタ、命令アド
レス・レジスタ等)と、これらのレジスタ群を選択する
レジスタ選択手段と、走行中のVMを識別する情報(例え
ばVM識別番号)を保持する手段とが設けられる。そし
て、レジスタ選択手段は、VM識別情報に応答して、1群
のレジスタを選択し、当該VMに使用させる。したがつ
て、各VMにそれぞれ1群のレジスタが専属的に割当てら
れることになる。VMMにも、それを1つのVMとみなし
て、1群のレジスタを割当て、また、VMMが任意のVMに
割当てられたレジスタ群を指定してそれにアクセスしう
るようにする。レジスタ選択手段は、動作モードに従つ
て、VMMに割当てられたレジスタ群か、走行中のVMに割
当てられたレジスタ群か、あるいは、VMMが指定したレ
ジスタ群を選択する。動作モードは、動作状態(ステー
タス)レジスタに設定する情報で示すことができる。
〔発明の実施例〕
第3図は、本発明の仮想計算機システムが適用されたパ
ーソナル・コンピユータ・システムの全体的構成の一例
を示すブロツク図である。
図において、符号1はマイクロ・プロセツサ(CPU)、
2はクロツク・ジエネレータ(CLOCK)、3は割込制御
回路、4は第2図で示した制御プログラム(VMM)502,O
S506,ユーザ・プログラム515等が格納される主メモリ
(RAM)、5はRAM4の制御部(MCU)、6はデイスク制御
回路、7は磁気デイスク・フアイル(DISC)、8はプリ
ンタ制御回路、9はプリンタ装置(PRT)、10はデイス
プレイ/キーボード(D/K)制御回路、11はデイスプレ
イ装置(CRT)とキー・ボード(KEY)、12は通信制御回
路、13は通信回路装置である。周辺装置については、必
要に応じて取捨選択し、あるいは図示以外のものを採用
してもよい。
CPU1と各コンポーネントとは、24ビツト幅のアドレス・
バス1、16ビット又は32ビット幅のデータ・バスl2、
各部への制御信号線群l4、及び各部からの応答信号線群
l5により接続されている。加えて、CPU1とMCU5は、アク
セス形態等を示す情報のためのフアンクシヨン・ライン
・バスl3と、CPU1の状態(ステータス)情報のための信
号線群l7とにより接続される。諸入出力装置からの割込
要求は、信号線群l8から割込制御回路3を経て割込ライ
ン・バスl6により、CPU1に伝えられる。CPU1は、所要の
メモリ・アドレスをアドレス・バスl1に送出して、RAM4
に格納されているVMM502、OS506、UP515等の中から必要
なものを読出させ、データ・バスl2を介して受取つて、
順次実行する。
第1図は、第3図におけるCPU1の構成のブロツク図であ
り、本発明の特徴を端的に示すものである。図におい
て、符号21は複数群のアドレス・レジスタからなるアド
レス・レジスタ・フアイルであり、22は複数群のデータ
・レジスタからなるデータ・レジスタ・フアイルであ
る。アドレス・レジスタとデータ・レジスタは、演算レ
ジスタの例として示されたものであり、これらの代り
に、例えば汎用レジスタ群が設けられてもよい。符号23
は複数の命令アドレス・レジスタ(Instruction Addres
s Register,以下IARと略記する。なお、IARはプログラ
ム・カウンタとも呼ばれる)である。後述するように、
アドレス・レジスタ・フアイル21とデータ・レジスタ・
フアイル22については、各1群のレジスタが各VMに連係
し、また、IAR群23については、各IARが各VMに連係す
る。これらのレジスタ群21,22,23は、本発明の特徴をな
すものである。符号24は、前記レジスタ群21,22,23中の
どの群及びどのIARが選択されるかを決定するレジスタ
選択回路であり、その詳細は、後で第6図により説明す
る。
符号25は、走行中のVMを識別する情報(例えばVM識別番
号)を保持するレジスタVMID、26はCPU1の動作状態(ス
テータス)情報を保持するレジスタSTATUSである。STAT
US26の詳細は後述する。
符号27は割込発生時の退避レジスタSR、28はアドレス・
レジスタ群21、データ・レジスタ群22中の個々のレジス
タの選択制御を行なうレジスタ・フアイル制御部、29は
命令レジスタIR、30は命令のデコード処理部、31は命令
制御部、32は命令の実行のためのマイクロ・プログラム
が格納されているローカル・ストレツジ、33は命令実行
制御部、34は一時的保持レジスタT−REG、35は演算器A
LU、36はシフト演算器、37はマルチプレクサMPX、38は
データ保持レジスタDR、39はアドレス値保持レジスタAD
R、40はセレクタ、41は割込処理回路、42は制御信号処
理部である。
信号線11は32ビット幅の内部データ・バスである。信
号線群l3には、CPU1の状態、例えば、VMモードであるか
否かの区別、スーパバイザ・モードであるかユーザ・プ
ログラム・モードであるかの区別、更に、VMID25の値な
どが出力される。また、STATUS26からの信号線群l7の値
も、CPU1からの出力信号となる。
では、第1図を用いて、本発明による複数組の演算レジ
スタ21,22及び複数個のIARがVM識別番号VMID25及び状態
レジスタSTATUS26に従つて選択されるとともに、命令が
順次実行される動作を説明する。
命令制御部31は、命令アドレス・レジスタIAR群23の中
からレジスタ選択回路24によつて選択されたIARが示す
メモリ・アドレスから、次に実行すべき命令を読み出す
ことを試みる。選択されたIAR23の値は、MPX37を経てAD
R39に保持され、そこからアドレス・バス1上に送出
される。次に、制御信号処理部42は、制御信号線群l4の
中のR/W信号線l43を“1"として、読込動作の旨を指示す
る。このとき、信号線l41,l42に補助信号が送出され
る。すなわち、データ・バスl2のビツト幅が16ビツトの
場合には、信号線l41の信号が“1"ならば16ビツト中の
下位8ビツトを意味し、信号線l42の信号が“1"ならば1
6ビツト中の上位8ビツトを意味する。命令の読出しの
場合には、信号線l41,l42の信号は共に“1"となる。
次に、信号線l44の信号をある一定期間の間論理“1"に
保つことにより、アクセス要求を出す。この信号線群l4
と先に述べた信号線群l3及びl7が第3図に示したMCU5へ
送出される。MCU5は、VMID25から信号線l12,l11,l13,l3
を経て送出されるVM識別番号と、アドレス・バスl1を介
して送出されるメモリ・アドレスと、信号線群l3の一部
及び信号線群l7から送出されるCPU1状態信号とにもとづ
いて、当該メモリ・アドレスに対応するRAM4内の領域か
ら命令データを取り出し、それをデータ・バスl2に送出
する。なお、データ・バスl2は双方向バス構造である。
次に、MCU5は信号線l5の信号を“1"とする。この信号
は、信号線l44の要求信号に対する応答信号である。CPU
1は、信号線15の信号が“1"になると、データ・バスl2
上のデータをDR38に取込んだ後、MPX37,信号線l14,内部
バスl11を介して、命令レジスタIR29に入れる。
IR29に保持された命令データは、命令デコード処理部30
で解読される。第4図は命令ワードのフオーマツトの例
を示している。第4図において、レジスタ演算を伴なう
命令のときのフオーマツトは、OPフイールド45で演算の
種別(例えば加算)、R(Register)フイールド46でレ
ジスタ番号n、OPM(Operation Mode)フイールド47で
演算の修飾(例えば、演算対象レジスタがデータ・レジ
スタ22かアドレス・レジスタ21かの区別など)を、それ
ぞれ指定する。なお、第4図において、Dnはデータ・レ
ジスタを表わし、Anはアドレス・レジスタを表わし、EA
は実効アドレスを表わす。また、AD(Address)フイー
ルド48によつてメモリ・アドレスが指定される。一般
に、命令データの長さは、第4図の命令語のOPM47及びO
Pフイールド45によつて決まる。例えば、OPフイールド4
5でレジスタ内容とメモリ内容との加算を指定している
場合などでは、第4図の命令ワードに続くいくつかのワ
ードが、第5図に示すように、拡張アドレス(EA:Exten
ded Address)として付加される。この場合には、命令
制御部31と命令デコード処理部30は、MCU5から第5図に
示したデータを続けて読込む。第4図のADフイールド48
の値と第5図のEAの値とを結合した結果が、実効メモリ
・アドレスとなる。
命令デコード処理部30は、OPフイールド45を調べて命令
の種別を判別し、命令制御部31へ必要な情報を信号線l1
5を介して送出する。命令制御部31は、先に述べた実効
メモリ・アドレスの計算と、それに必要な命令データの
準備のために、線l10を介して処理部30へ連絡するとと
もに、演算に必要なマイクロ・プログラムの準備を行な
う。また、IAR23の更新も行なう。アドレス計算はALU35
を用いて行なわれ、最終的な実効アドレスはADR39に保
持される。
次に、命令実効制御部33によつて演算制御がなされる。
例えば、第4図に示した加算演算の場合には、レジスタ
・フアイル制御部28を介して、アドレス・レジスタ・フ
アイル21又はデータ・レジスタ・フアイル22のどちらか
一方を選択するとともに該当するレジスタ番号のデータ
を取出し、内部バス11、線16を介してT−REG34に
セツトする。このデータは、そこからセレクタ40を経て
ALU35の一方の入力となる。なお、レジスタ選択回路24
により、後述するようにして、両レジスタ・フアイル2
1,22中の特定のレジスタ群が選択されているものとす
る。他方、メモリ・アドレス内のデータは、先に計算さ
れてADR39に保持されていた実効アドレスを用いて、前
述した命令データの読込み時と同様にしてDR38に読込ま
れた後、MPX37,線14,11,17を経て、ALU35の他方
の入力となる。この結果、ALU35による演算が遂行され
る。演算結果は、レジスタに入れられるときには、信号
線18,11を経て、アドレス・レジスタ・フアイル21
又はデータ・レジスタ・フアイル22のどちらか一方にお
いて、指定された番号のレジスタに格納される。演算結
果をメモリに戻すときには、演算結果はMPX37を経てDR3
8に一旦格納され、制御信号処理部42の制御の下に、デ
ータ・バスl2を通つてRAM4に送られて、ADR39が示すア
ドレスに書込まれる。
割込処理部41は、信号線群l6を介して報告される割込要
求の割込レベルを、STATUS26に設定されている割込マス
クと比較し、報告された割込レベルが高ければ、割込条
件の発生を認めて、STATUS26の内容をSR27に退避させた
後、信号線l9を介して、命令実行制御部33の割込処理動
作を起動する。命令実行制御部33は、割込処理ルーチン
のアドレスを算出し、次いで、該当する命令シーケンス
を実行するために、線19を介して命令デコード部30,
命令制御部31に通報する。
次に、アドレス・レジスタ・フアイル21、データ・レジ
スタ・フアイル22及びIAR群23の中から所要のレジスタ
群及びIARを選択する機構を説明する。この選択は、VMI
D25からのVM識別番号と、STATUS26からのモードビツト
とに従つて、レジスタ選択回路24により遂行される。す
なわち、レジスタ選択回路24は、VMID25とSTATUS26から
の情報をもとにしてレジスタ・グループ選択信号l21を
生成し、複数群のアドレス・レジスタ群21及びデータ・
レジスタ群22中の特定の群と、IAR群23中の特定の1個
を選択する。
第6図は、第1図に示したレジスタ選択回路24を詳細に
示した回路図である。図中の符号51,52は反転回路であ
り、正信号と反転信号を生成する。符号53,54,55はアン
ド回路(論理積回路)、56はオア回路(論理和回路)、
57は選択レジスタ(S−REG)、58は選択回路(S)、5
9はデコーダ(DEC)である。信号線l71,l72は第1図のS
TATUS26から出力されている信号線群l7の一部であり、l
71はVMM動作モード信号(Hビツト信号)を表わし、l72
は仮想計算機モード信号(Vビツト信号)を表わす。な
お、VMM動作モード信号をハイパバイザ・モード信号、
仮想計算機モード信号をVMモード信号ともいう。第7図
は第1図に示したSTATUS26の内容の例を示したものであ
り、第7図のHビツトの値が線l71を介し、Vビツトの
値が線l72を介して、それぞれ出力されていることを示
している。なお、第7図において、スーパバイザ・モー
ド・ビツトは、VMモードにおいてOSが走行中かユーザ・
プログラムが走行中かを示す。
第1図及び第6図に示したレジスタ選択回路24は、上に
述べたHビツト及びVビツトの値によつて選択信号l21
を生成する。第8図はその組み合せを示したものであ
る。すなわち、Hビツト及びVビツトの値が共に“0"で
あるならば、これは通常の実計算機の動作モードを意味
し、演算レジスタ群及びIARとして0番のものが選択さ
れる。Vビツトのみが“1"の場合には、仮想計算機の動
作モードを意味し、VMID25に対応した演算レジスタ群と
IARとが選択される。HビツトとVビツトの両方が“1"
の場合には、複数の演算レジスタ群とIARの中から別途
指定されるレジスタ群とIARとを選択することを意味
し、この選択のための情報は、第6図に示したS−REG5
7の値によつて与えられる。この動作モードは、VMMが各
VMの状態を調べたいときや、VMMがVMに代つて動作を遂
行する場合に使用する。Vビツトが“0"でHビツトが
“1"の状態は、本実施例では使用されない。なお、VMM
独自の動作、例えば、仮想計算機システム内のメモリ割
当処理や入出力処理などを行なう場合には、VMMも1つ
のVMとみなすことができ、その場合のためにVMMのVM番
号を0番としている。
では、第8図に示した信号の組合せにもとづくレジスタ
選択回路24の動作を、第6図を用いて詳細に説明する。
第6図を参照するに、信号線群l22は第1図に示した内
部データ・バス11に接続されており、また、l23はVMI
D25の出力に接続されている。S−REG57とVMID25はVMM
からアクセス可能である。
まず、STATUS26のHビツトとVビツトの両方が“0"の場
合の動作について説明する。この場合には、信号線l71,
l72の信号が共に“0"となり、回路51,52からの反転出力
信号がアンド回路55の2入力に“1"を与える。したがつ
て、アンド回路55の出力信号は“1"となり、オア回路56
を経てレジスタ・グループ選択信号l21の0番目が“1"
となり、結果として、アドレス・レジスタ・フアイル2
1,データ・レジスタ・フアイル22,IAR群23の中から第0
番目のレジスタ群とIARとが選択されることになる。
STATUS26のHビツトの値が“0"でVビツトの値が“1"の
場合には、信号線l71の信号が“0"で信号線l72の信号が
“1"となり、アンド回路54から信号線l31を介して出力
される信号が“1"となる。このとき、選択回路58は、信
号線群l23からのデータをデコーダ(DEC)59へ送出す
る。信号線l23には第1図のVMID25の内容が送出されて
いる。したがつて、DEC59の出力信号線群l21のうちのど
れか1つの信号線の信号が“1"となる。信号線群l21はV
MID25の内容に対応して用意され、例えば、VMID25が4
ビツトで構成されていれば、第0番から第15番までの信
号線が設けられる。そこで、信号線群l21のどれか1つ
の信号線の信号が“1"となると、第1図に示した複数群
からなるアドレス・レジスタ・フアイル21とデータ・レ
ジスタ・フアイル22、及びIAR群23の中から、それぞ
れ、“1"出力を生じた選択信号線l21に対応した群のア
ドレス・レジスタとデータ・レジスタ及び1個のIARが
選択される。なお、VMID25の値が0、すなわちVMMに割
当てられたVM番号の場合には、オア回路56を介して信号
線l21の0番が“1"となり、VビツトとHビツトが共に
“0"の場合、すなわち、実計算機モードと同一になる。
STATUS26のHビツトとVビツトの両方の値が“1"の場合
には、信号線l71,l72の信号が共に“1"となり、アンド
回路53から信号線l32を介して出力される信号が“1"と
なる。このときには、選択回路58はS−REG57のデータ
をデコーダDEC59へ送出する。したがつて、VMMは、S−
REG57に参照したいVMの番号を設定することにより、そ
のVMに割当てられている演算レジスタ群とIARにアクセ
スすることができる。
〔発明の効果〕
本発明によれば、アドレス・レジスタ、データ・レジス
タ等の演算レジスタや命令アドレス・レジスタなどのレ
ジスタ類を各VMに割当てて、VM識別情報を用いてそれら
に直ちにアクセスできるので、VMの動作モードとVMMの
動作モードの相互間の切替え時はもちろん、VMMが走行V
Mの切替処理(デイスパツチ処理)を行なうに際して
も、これらのレジスタの内容の退避/回復処理が不要と
なり、その結果、VMMの介入によるオーバヘツドを大幅
に低減できる。また、VMMは、任意のVMに割当てられた
前記レジスタ類に、必要に応じて直ちにアクセスできる
から、前記のオーバヘツド低減効果は一層助長される。
【図面の簡単な説明】
第1図は本発明の一実施例の構成要素としてのマイクロ
・プロセツサのブロツク図、第2図は仮想計算機システ
ムの概念図、第3図は第1図のプロセツサを含むパーソ
ナル・コンピユータ・システムの全体を概略的に示すブ
ロツク図、第4図及び第5図は第1図のプロセツサで用
いられる命令データのフオーマツト図、第6図は第1図
のプロセツサ中のレジスタ選択回路の回路図、第7図は
第1図のプロセツサ中の状態レジスタの内容を示す模式
図、第8図はモード・ビツトとレジスタ選択の関係図で
ある。 21……複数群のアドレス・レジスタ、22……複数群のデ
ータ・レジスタ、23……複数の命令アドレス・レジス
タ、24……レジスタ選択回路、25……VM識別情報レジス
タ、26……状態(ステータス)レジスタ。
フロントページの続き (72)発明者 上原 徹三 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 伊藤 勉 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭55−53749(JP,A) 特開 昭55−34774(JP,A)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】制御プログラムが提供するベース・マシン
    ・インタフエースを介して複数の仮想計算機が単一の実
    計算機システム上で機能しうる仮想計算機システムにお
    いて、前記実計算機システム中のプロセツサが、一群ず
    つ選択可能な複数群のレジスタと、走行中の仮想計算機
    を識別する情報を保持する第1の識別情報保持手段と、
    前記制御プログラムが任意に指定する一群の前記レジス
    タを識別する情報を保持する第2の識別情報保持手段
    と、前記プロセツサの動作モードを示す情報を保持する
    モード情報保持手段と、前記モード情報保持手段の内容
    が第1、第2、又は第3の動作モードを示すことに応答
    して、前記複数群のレジスタの中から、前記制御プログ
    ラムに割り当てられた一群、前記第1の識別情報保持手
    段の内容に対応する一群、又は前記第2の識別情報保持
    手段の内容により識別される一群を、それぞれ選択する
    レジスタ選択手段とを備えたことを特徴とする仮想計算
    機システム。
  2. 【請求項2】特許請求の範囲1において、その第1の識
    別情報保持手段に保持される情報は前記制御プログラム
    を仮想計算機の一つとして識別することを特徴とする仮
    想計算機システム。
  3. 【請求項3】特許請求の範囲1又は2において、そのモ
    ード情報保持手段は前記プロセツサの動作状態情報を保
    持するレジスタの部分であることを特徴とする仮想計算
    機システム。
  4. 【請求項4】特許請求の範囲1,2又は3において、その
    レジスタの各群は演算レジスタ群及び命令アドレス・レ
    ジスタの少なくとも一方を含むことを特徴とする仮想計
    算機システム。
  5. 【請求項5】特許請求の範囲4において、その演算レジ
    スタ群はデータ・レジスタ群及びアドレス・レジスタ群
    の少なくとも一方を含むことを特徴とする仮想計算機シ
    ステム。
  6. 【請求項6】特許請求の範囲1ないし5の一つにおい
    て、そのプロセツサはマイクロコンピユータであること
    を特徴とする仮想計算機システム。
JP59266457A 1984-12-19 1984-12-19 仮想計算機システム Expired - Lifetime JPH0754468B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP59266457A JPH0754468B2 (ja) 1984-12-19 1984-12-19 仮想計算機システム
US06/809,182 US4975836A (en) 1984-12-19 1985-12-16 Virtual computer system
EP85116263A EP0185378B1 (en) 1984-12-19 1985-12-19 Virtual computer system
DE8585116263T DE3582662D1 (de) 1984-12-19 1985-12-19 Virtuelles datenverarbeitungssystem.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59266457A JPH0754468B2 (ja) 1984-12-19 1984-12-19 仮想計算機システム

Publications (2)

Publication Number Publication Date
JPS61145646A JPS61145646A (ja) 1986-07-03
JPH0754468B2 true JPH0754468B2 (ja) 1995-06-07

Family

ID=17431194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59266457A Expired - Lifetime JPH0754468B2 (ja) 1984-12-19 1984-12-19 仮想計算機システム

Country Status (1)

Country Link
JP (1) JPH0754468B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01316870A (ja) * 1988-06-17 1989-12-21 Fujitsu Ltd ベクトルレジスタ分割制御方式
US7996835B2 (en) * 2006-10-10 2011-08-09 International Business Machines Corporation System, method and program for managing communication with multiple configurations for virtual machine
JP5852677B2 (ja) * 2011-12-26 2016-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation レジスタ・マッピング方法
CN114840305A (zh) * 2020-12-30 2022-08-02 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5534774A (en) * 1978-09-04 1980-03-11 Fujitsu Ltd Information processing unit
JPS5553749A (en) * 1978-10-16 1980-04-19 Fujitsu Ltd Register control system for virtual computer system

Also Published As

Publication number Publication date
JPS61145646A (ja) 1986-07-03

Similar Documents

Publication Publication Date Title
US4975836A (en) Virtual computer system
US4843541A (en) Logical resource partitioning of a data processing system
US4347565A (en) Address control system for software simulation
US5644755A (en) Processor with virtual system mode
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
US4814975A (en) Virtual machine system and method for controlling machines of different architectures
US4494189A (en) Method and means for switching system control of CPUs
US4031517A (en) Emulation of target system interrupts through the use of counters
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPH0782441B2 (ja) シミユレーシヨン方法
JPS6311697B2 (ja)
JPH0326414B2 (ja)
US5339417A (en) Computer system with two levels of guests
EP0550286A2 (en) 2-Level multi-processor synchronization protocol
US5280592A (en) Domain interlock
JPH05151003A (ja) システム・コントロール・プログラム、及び情報処理システム
EP0619899A4 (en) SOFTWARE ORDER OF INTERRUPTIONS OF MATERIAL.
JPH0754468B2 (ja) 仮想計算機システム
EP0171475B1 (en) Data processing system with logical processor facility
JPH0833851B2 (ja) 仮想計算機のモニタリング方式
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH0564375B2 (ja)
JPS61160160A (ja) 仮想計算機システムにおけるアドレツシング制御装置
Tsai et al. On the architectural support for logical machine systems
JPS61208133A (ja) 仮想計算機システムにおける状態レジスタ制御装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term