JP2702925B2 - 仮想計算機システムにおけるページテーブル無効化方式 - Google Patents

仮想計算機システムにおけるページテーブル無効化方式

Info

Publication number
JP2702925B2
JP2702925B2 JP62139720A JP13972087A JP2702925B2 JP 2702925 B2 JP2702925 B2 JP 2702925B2 JP 62139720 A JP62139720 A JP 62139720A JP 13972087 A JP13972087 A JP 13972087A JP 2702925 B2 JP2702925 B2 JP 2702925B2
Authority
JP
Japan
Prior art keywords
cpu
guest
computer
instruction
real
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 - Fee Related
Application number
JP62139720A
Other languages
English (en)
Other versions
JPS63304346A (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 JP62139720A priority Critical patent/JP2702925B2/ja
Publication of JPS63304346A publication Critical patent/JPS63304346A/ja
Application granted granted Critical
Publication of JP2702925B2 publication Critical patent/JP2702925B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムの高性能化に係り、特
に、密結合マルチプセツサシステムでの仮想計算機シス
テム下の仮想計算機上のオペレーテイングシステムOSの
メモリ管理に好適なページテーブル無効化方式に関す
る。 〔従来の技術〕 従来から主記憶装置を共有する複数台の中央処理装置
(Central Processing Unit:CPU)から構成されるシス
テム(以後、密結合マルチプロセツサシステム、又は、
単にマルチプロセツサシステム又は単にマルチプロセツ
サという)で、動作する仮想計算機システム(VMS)が
考案されている。第7図参照。第7図は、4台のマルチ
プロセツサを示す。VMSにおいては、VMSを制御するプロ
グラム(VMCP)と、複数台の論理的な計算機である仮想
計算機(VM)が存在する。VMは、実計算機と同じく、CP
U,主記憶装置,I/O装置を論理的に有するものである。論
理的という意味は、例えばVMのCPUは、実計算機のCPU
(実CPUという)を時分割で使用することにより実現さ
れることもあり、または、実CPUが複数台ある場合は、
一台の実CPUを専有することにより実現されることもあ
る。また、VMの主記憶装置は、実計算機の主記憶装置70
0のある連続領域を専有するという形で実現されること
もあり、または、VMCPによつて作られた仮想記憶装置と
して実現されることもある。VMのI/O装置は、実のI/O装
置200の、ある一部分を専有して実現されることもあ
り、実のI/O装置全体を専有して実現されることもあ
る。いずれにせよ、以上の割当ては、VMCPにより管理さ
れるべきものである。実計算機が、VMSを動作させてい
るとき、特に、その実計算機をホスト実計算機と呼ぶ。
また、VMのことをゲストとも呼ぶ。VMCPのことをホスト
プラグラムということもある。単に、ホストというと、
ホスト実計算機かまたは、ホストプログラムかを意味す
るとする。 ホストがマルチプロセツサで動作するとき、VMCPがマ
ルチプロセツサ・モードで動作するとともに、ゲスト上
のOSもまた、マルチプロセツサ・モードで動作させるこ
とができる。もちろん、ゲストとしては単一プロセツサ
・モードで動作させても良い。ゲスト上のOSが、マルチ
プロセツサ・モードで動作するとは、ゲスト上のOSが、
自分自身は、実際にマルチプロセツサ・モードで動作し
ていると思うことを意味する。これは、例えば、ゲスト
上のOSが、マルチプロセツサ用の命令を発行したとき、
VMCPの方で、そのゲストOSが、あたかも、実際のマルチ
プロセツサで動作しているかのように、その命令の機能
をシミユレーシヨンすることにより、実現されるもので
ある。例えば、ゲストOSから発行されたStore CPU Addr
ess(STAP)命令に対しては、実CPUアドレスに無関係
に、0または2を報告することにより、ゲストOSから見
れば、実CPU0,2で動作しているように見えるものであ
る。この際、ゲストの多重度(何台のCPUで動作するか
の指標)と、ホストの多重度とは互いに独立である。例
えば、ホストの多重度が1であつても、すなわち、ホス
トが単一プロセツサモードであつても、ゲストの多重度
は2以上であつてもかまわない。その場合は、VMCPが仮
想的に、ゲストのマルチプロセツサモードをシミユレー
シヨンすることとなる。逆に、ホストの多重度(Nh)が
ゲストの多重度(Ng)より高い場合、ゲストは実際に、
Ng台の実CPUを使用して、マルチプロセツサモードで動
作し得るものである。もちろん、その時、ゲストが認識
するCPUアドレスは、ホストが認識する実のCPUアドレス
とは異なつたものである。 さて、以下に、上記に説明したマルチプロセツサシス
テムで動作するVMSの問題点について述べる。一般に、
仮想記憶を有するOSでは、実記憶を管理するために、ペ
ージテーブル無効化命令を発行する。例えば、Invalida
te Page Table Entry(IPTE)命令が使用される。この
命令は、第4図820に示すように、2つのオペランドR1,
R2を有する。R1の内容は、ページ・テーブル810の先頭
アドレスを含む。R2の内容は、ページインデクス(PI)
を含む。この命令が実計算機上のOSから発行されたとき
の処理方法は、IBM社の文献A「IBM Ststem/370 Extend
ed Architecture Principles of Operation SA22−7085
−0)」に詳細に記述されている。また、この命令が、
ゲストOSから発行されたときの処理方法については、文
献(B)「IBM System/370 Extended Architecture Int
erpretive Execution SA22−7095−1)」に記述されて
いる。第6図に示すように、ゲストがマルチプロセツサ
システムを構成するとき、(以下単にゲストマルチと呼
ぶ)その多重度の個数だけ、System Description(SD)
(SD0,SD1,SD2,………)がホストの主記憶装置700に作
られ、各SDから、ひとつのSystem Control Area(SCA)
が指し示される。各SDには、ゲストのPSW(Program Sta
us Word)やCRs(Control Registers)が記述されてい
る。各SDは、仮想CPUと呼ばれるものであり、Sie(Star
t interpretive execution)命令によりゲストを起動す
るとき、そのオペランドとなるものである。あるホスト
の実CPU上で、ホストプログラムがSD0をオペランドとし
てSie命令を発行する(これを、ホストプログラムが、S
D0をデイスパツチするともいう)と、そのホストCPU
は、I.E.(Interpretive Execution)モード(いいかえ
れば、VMの走行モード)となり、SD0の内容に従つて、
当該ゲスト用のPSWやCRsが初期設定されてその仮想CP
U、即ち、SD0の実行が開始される。他のSD1,SD2等につ
いても全く同様である。第6図に示すように、各SDから
は、共通のSCAを指示し、これにより、各SDがあるひと
つのゲストの仮想CPUを構成することが示されている。S
CAの先頭1bitはKbitと呼ばれ、インタロツクに使用され
る。上記文献(B)に示される、ゲストマルチのときの
ゲストの発行したIPTE命令の処理方法は以下の通りであ
る。 (1)第4図に示すゲストのページテーブル(PT)810
のエントリの無効化ビットaを1とし、 (2)そのPT810のエントリの内容に示されるゲスト実
ページアドレス(y)に対応するアドレス変換バツフア
(TLBという)の該当エントリ(第5図のTLB0の1000で
示すエントリ)をパージする。 (3)ホストマルチプロセツサを構成する全CPUに、IPC
(Inter processor Controller)500を経由して無効化
信号を送り、各CPUのTLBの該当エントリ(第5図のCPU1
のTLB1の1010エントリ等)を無効化することを要求す
る。 (4)TLB内の該当エントリの決定には、ホスト主記憶7
00の特定領域におかれたゲスト実ページアドレスy,SCA
アドレス,ページインデクスPIが使用され、それらの全
部又は一部と一致する成分を含むエントリが選択され
て、無効化される。 (5)(1)〜(3)において、各CPUのメモリアクセ
スは、命令が完了するまでの間、シリアライズされる。 (6)ゲストIPTE命令の実行に先立ち、SCAのKビツト
が調べられ、これが0のとき、1として実行を開始し、
完了時に0とする。もし、最初に調べたとき、1となつ
ているときは、命令の実行は、抑止され、ホストプログ
ラムへ制御が渡される。このとき、当該CPUのI.E.モー
ドは解除され、ホストプログラム(VMCP)の状態が回復
されて、走行が再開される。 〔本発明が解決しようとする問題点〕 以上のゲストIPTE命令処理における問題点は以下の通
りである。 (1)すなわち、ゲストから発行されたIPTE命令の処理
におけるTLB無効化信号の伝達は、ゲストを構成する各
仮想CPUに伝達されれば充分なはずであるが、各仮想CPU
が走行した実CPUアドレスが不明であるため、ホストマ
ルチプロセツサを構成する全CPUに、伝達されている。
このための伝達オーバヘツドが大きくなる。 (2)TLB無効化信号を受け取つたCPU側でも、メモリア
クセスがシリアライズされ、さらに、TLBエントリを検
索しなければならなくなる。特に、当該ゲストを全く走
行させたことのない、ホストの実CPUにまで、TUB無効化
信号が送られるため、受け取つた側では、TLB検索とい
う長時間全く無駄なCPUサイクルを消費することとな
る。 本発明は、従来のゲストIPTE命令処理における上記問
題点を解決することを目的とするものである。すなわ
ち、本発明の目的は、ゲスト上のOSから発行された、ペ
ージテーブル無効化命令に対して、効率的な処理方式を
提供することにある。 〔問題点を解決するための手段〕 ゲストOSの発行したページテーブル無効化命令は、発
行元のCPUのTLB(アドレス変換バツフア)を無効化する
のみならず、密結合マルチプロセツサを構成する他のCP
UのTLBの該当エントリをも無効化するために、無効化要
求信号を送る。 実計算機下のOSでは、この無効化信号は、密結合を構
成する全てのCPUに伝達され、そのCPUにおけるメモリア
クセスのシリアライゼーシヨンが行われ、TLBの該当エ
ントリが無効化されるものである。実計算機上のOSの場
合は、OS下のプロセスまたはタスクは、各CPUで並列に
実行されるため、無効化信号は全CPUに送られるが、ゲ
ストは、ひとつの論理的な計算機であるから、ゲストOS
より発行されたページ無効化命令の影響の及ぶ範囲は、
そのゲストを構成する全ての仮想CPU(具体的には、Sys
tem Description SD)に限定する。すなわち、仮想CPU
を実際にデイスパツチした実のCPUの範囲内に、その命
令の処理範囲を限定する。 〔作用〕 例えば、あるゲストの各仮想CPUである各SDが、CPU
0、とCPU2でしか走行したことがなく、他のCPU1,CPU3で
は、デイスパツチされたことがなければ、このゲストOS
より発行されたページテーブル無効化命令の処理範囲
は、CPU0とCPU2に限定することができるし、また、そう
した方が、全体の性能が向上する。 〔発明の実施例〕 以下、本発明の一実施例を、主に、第1図,第2図,
第3図,第6図により説明する。 第1図の説明:200−0から200−15はマルチプロセツサ
を構成する各CPUである。第1図では、16台のマルチプ
ロセツサ構成を表わしている。各CPUは、Inter Process
or Controller(IPC)500を介して結合され、主記憶装
置700のを共有している。各CPUの中には、現在走行中の
ゲストの仮想CPU即ちSystem Description(SD)が、指
示するSystem Control Area(SCA)アドレスを含むレジ
スタ300−0,300−1,………300−15がある。さらに、各C
PUは、アドレス変換バツフア(TLB)400−0,400−1,…
……400−15を含む。以上については従来と全く同じで
ある。SDとSCAの関係については、第6図に示すとおり
である。SDには、仮想CPUのProgram Status Word(PS
W)やControl Registers(CRs)が格納されており、各S
Dは、あるゲストの仮想CPUを構成し、各仮想CPUは、そ
のゲストの主記憶装置を共有する形で、そのゲストのマ
ルチプロセツサシステムを構成するものである。いいか
えれば、各SDが、ゲストマルチプロセツサシステムを構
成することは、各SDが、同一のSCAを指し示すことによ
り、示されるものである。SCAの先頭には、Kビツトと
呼ばれるインタロツク用ビツトが存在し、その使用方法
は、従来技術で述べた方法と同じである。TLBの内容
は、第5図に示す通りであり、その用法は、従来技術と
同じであり、論理アドレスと実アドレスとの対応づけが
記述されており、前者から後者への迅速な変換手段とし
て使用される。しかしホスト計算機が、仮想計算機シス
テム(VMS)を動作させているときの、TLBの内容は、や
や異なるものとなる。TLBのエントリの各フイールドに
は、第5図1000に示すように、前述したSCAアドレス
と、ゲストの論理アドレスxと、ホストの絶対アドレス
zとが登録される(第4図参照)。その他に、該当する
SDアドレスが登録されることもあるが、第5図では省略
してある。ホストの絶対アドレスzとは、ホスト主記憶
700の実アドレスと解釈しても良い。一般に、実アドレ
スと絶対アドレスとは異なるが、本発明においては、両
者を同一視しても差しつかえないので、同一視して説明
することにする。第4図に示すように、ゲストの論理ア
ドレスxは、ゲストがその仮想記憶900を有し、その仮
想記憶上で動作しているときは、ゲストの仮想アドレス
となるものである。従つて、その場合の、TLBのエント
リの内容は、第5図の1000に示すように、ゲストの仮想
アドレスxと対応するホストの絶対アドレスzとの組が
登録されるものである。さらに、第1図の100はCPUの共
通レジスタであり、線600を経由して、IPC500とつなが
り、逆に、IPC500を通して、各CPUから自由にアクセス
可能なものである。レジスタ群100はホストの実CPUの台
数分のレジスタCOMR0,COMR1,………,COMR15から構成さ
れている。各レジスタCOMRiは、第1図に示すように、S
CAアドレス,CPU−Aマスク,CPU−Bマスクを含んでい
る。各COMR.の初期値は0である。今あるCPU上のホスト
プログラムが、ある仮想CPU、すなわち、SDをデイスパ
ツチするとき、そのSDの含むSCAアドレスが該当レジス
タ300に登録される。SDをデイスパツチするとは、そのC
PUのゲスト用のPSWや、CRsに、SDに記述されている該当
の値を設定し、CPUをI.E.(Interpretive Execution)
モードとし、ゲストPSWの示すところに制御を渡すこと
であり、そのためにSie(Start interpretive executio
n)命令が用いられ、Sie命令がSDのアドレスをオペラン
ドとすることは、従来技術と全く同様である。CPU間の
共通レジスタ100は、本特許を実現するために、新たに
設けたものである。次に、CPU−AマスクとCPU−Bマス
クについて、第2図,第3図に示す。 第2図、第3図の説明:CPU−AマスクもCPU−Bマスク
も各々16ビツトからなるレジスタである。前者の第iビ
ツトの値をAi後者の第iビツトの値をBiとする。 Ai=1とは、CPUiが該当SCAに対して、アクテイブで
あることを意味する。CPUiが該当SCAに対して、アクテ
イブとは、CPUiが、該当CPU−Aマスクを含むCOMR.の中
のSCAアドレスを含むある仮想CPU、すなわちSDを走行中
であるすなわち、CPUiが、そのSDをデイスパツチしてい
ることを表わしている。 Ai=0とは、上記でないことを示す。従つて、CPUi
が、I.E.モードで、SDを走行中に、その走行が中断さ
れ、非I.E.モードとなつて、VMCPに制御が渡るときは、
Ai←0となる。 Bi=1とは、このCPU−Bマスクを含むCOMR.に含まれ
るSCAアドレスを含むある仮想CPUすなわちSDが、ある実
CPU(CPUiとは限らない)からページテーブルを無効化
する命令、すなわち第4図のIPTE命令を発行したとき、
そのCPUから、CPUiへTLB無効化信号を伝達しなければな
らないことを意味している。 Bi=0のときは、上記は不要である。 ある実CPUがI.E.モードで、IPTE命令を発行したと
き、他のCPUに伝えるべきデータは、ホスト主記憶700の
特定領域750に設定される。第5図参照。伝達データの
内容は、従来技術で説明したとおりの内容である。 第6図:従来技術で説明した通り、ゲストマルチプロセ
ツサを構成する仮想CPUであるSD0,SD1,SD2と、共通に指
示されるSCAからなる。SCAの中には、従来のKbitと、本
発明で設定されるCPU−AマスクとCPU−Bマスクからな
る。CPU−AマスクとCPU−マスクは、第2図,第3図に
示すものと同じである。これらは、ホストの主記憶700
上に存在するが、CPU−AマスクとCPU−Bマスクは、以
下のように設定される。Kbitは従来と同じであるので省
略する。 (1)初期値は全て0 (2)CPUi上で走行しているVMCPが、あるSDをデイスパ
ツチするとき、もし、SDのSCAアドレスが0ならば、ゲ
ストはシングルプロセツサモードであると解釈される。
このとき、かかるゲストから発行されたIPTE命令は、当
該CPUのTLBの該当エントリの無効化だけで充分であり、
他のCPUのTLBエントリについては、本特許に述べる方法
によらず、別の方法を用いる。そのひとつの方法は、従
来技術として文献(B)に示される通りであるので、こ
こでは説明を省略する。 (3)SCAアドレスが≠0のときは、ゲストはマルチプ
ロセツサモードであると解釈され、本発明に述べる方式
が適用される。CPUi上のVMCPがSie命令によりSDをデイ
スパツチするときは、SCAの中の、CPU−AマスクのAi←
1とし、さらにCPU−BマスクのBi←1とする。第1図
に示すように、CPUiには、当該SCAアドレスが、レジス
タ300−iに設定される。さらに、Sie命令により、共通
レジスタにアクセスし、同一のSCAアドレスを含むCOMR.
を検索し、そこへ、SCA内のCPU−AマスクとCPU−Bマ
スクとを設定する。同一のSCAアドレスを有するものが
存在しないときは、かならず、CPU−Aマスクが全て0
のCOMR.が存在するから、それを選択して、設定する。 さて、以下に、第1図にもどつて、本発明の動作を説
明する。 (1)VMCPがあるCPUi上で走行中に、Sie命令により、
あるSDをデイスパツチしようとしたとする。そのSDのSC
Aアドレス(SCAADROとする)は≠0であり、従つて、そ
のSCA内のCPU−AマスクのAi←1,CPU−BマスクのBi←
1とする。 (2)Sie命令の実行の中で、CPUiのレジスタ300−iの
中にSCAアドレスが設定され、さらに、共通レジスタ100
の中の同一SCAアドレスを有するCOMR.(COMRiとは限ら
ない)に、SCA内のCPU−Aマスク,CPU−Bマスクと設定
する。同一のものがなければ、CPU−Aマスクが全て0
のものを使う。) (3)CPUi上の仮想CPUの走行が、中断されて、CPUiが
I.E.モードから抜けるときは、その抜け出る処理(ハー
ドウエア又はマイクロプログラム)において、第1図10
0の、該当COMR.内のCPU−AマスクのAi←0とする。Bi
はそのままとする。抜け出てる時、該当のSCAのCPU−A
マスク,CPU−Bマスクに、該当COMR.のそれぞれを退避
する。 (4)CPUi上のゲストOSがIPTE命令を発行したとき、第
4図に示すように、当該ゲストのページテーブル810の
該当エントリの無効化ビツトa←1とし、さらに、第5
図に示すように、該当CPUiのTLBiの該当エントリを無効
化する。これは従来と同じ。 (5)次に共通レジスタ100にアクセスし、現在のSCAア
ドレス(SCAADRO)と一致するものを含む、COMR.を選択
する。これは(2)により必ず存在する。 (6)選択したCOMR.内のCPU−Bマスクに示されるBj=
1の各CPUj(j=0,1,………15)にだけ、TLB無効化信
号を送る。もちろん、この時、TLBエントリの選択に用
いる伝達データは、ホスト主記憶700の特定領域750に設
定され、各CPUで使用されることは、従来と全く同じで
ある。 (7)信号を受け取つた側のCPUでは、伝達されたデー
タ750の内容により、自己のTLBのエントリを選択し、無
効化することは、従来と同じである。 (8)しかし、以下の点が異なる。すなわち、信号を受
け取つたCPUを今CPUrとすると、CPUrのTLBrの該当エン
トリは、普通は処理を簡単化するため伝達データ750の
中のSCAアドレス(SCAADRO)だけによつて選択され、そ
の時は、TLBr内の同一SCAアドレス(SCAADRO)を有する
全てのエントリが無効化される。この時、当該CPUrのTL
Brは、当該SCAのエントリを持たなくなるため、これ以
後、新たに登録されるまでは、当該CPUrに対する当該SC
Aアドレス(SCAADRO)を含むTLBエントリの無効化要求
信号は不要となる。従つて、このときは、 Br←Ar とする。すなわち、Ar=1のときは、CPUrが、当該SCA
アドレス(SCAADRO)を有する、あるSDを走行中である
から、再び、TLBrに登録される可能性があるためBr←1
とする。Ar=0ということは、CPUrは非IEモードか、又
は、I.E.モードであつても、別のゲスト(当然SCAアド
レスはSCAADROとは異なる)を走行中であるから、再登
録されない。従つて、以後の、TLBrに対するSCAアドレ
ス(SCAADRO)に関する無効化信号伝達は不要となるか
ら、Br←0とする。 (9)各CPUでの処理が完了した時点で、CPUi上のゲス
トOSが発行したIPTE命令の処理は完了する。 (10)さらに説明を補足する。第1図における共通レジ
スタ100は、各CPUからアクセスされるためロツクが必要
であり、各COMR.単位にロツクが取られる。しかし、以
下の規則に従う。 (a)Sie命令でのCOMR.への設定と、IPTE命令実行中の
COMR.へのアクセスが同時に発生したときは、Sie命令側
を優先する。 (B)インタセプシヨンでのSCAへの書き込みと、Sieで
のSCAへの書き込みが同時に発生したときは、インタセ
プシヨン側を先行させる。 以上が、第1図に示す実施例の動作仕様である。以上
の動作仕様の制御は、多くは各CPUiのマイクロプログラ
ムコントロールによつて行なわれることであり、それ
は、従来と全く同じであるため、第1図においては該制
御回路については省略する。 以上の実施例によれば、以下の効果がある。 (1)例えば、あるゲスト1の各SDが、CPU0とCPU2だけ
で走行しており、他のCPUでは走行したことがないとす
ると、第1図におけるCPU−BマスクのB0,B2は1となり
得るが、他のBi(i≠0,i≠2)は0である。従つて、
ゲスト1のOSから発行されたIPTE命令のTLB無効化信号
は、CPU0とCPU2だけに行えば良く、他のCPUには、伝達
する必要はなくなる。これは、IPTE命令発行側のCPUに
とつても、その実行時間が短縮されるだけでなく、従来
の方法だと、例えば、CPU1側にも無効化信号が送られ、
従つてCPU1でも、メモリアクセスのシリアライズと、TL
Bエントリの検索という外乱がはいり、性能低下を招い
ていたが、それが回避される。 (2)さらに、例えば、あるゲスト1が、CPU0とCPU2で
走行していて、CPU0側がwait状態となつて、I.E.モード
から抜け、CPU2側の仮想CPUからIPTE命令が発行された
とすると、最初は、第1図,第2図でB0=B2=1(A0=
0,A2=1だが)だから、CPU0とCPU2に無効化信号が送ら
れる。この時、CPU01側のTLBについては、SCAアドレス
が一致するもの全てのエントリをパージするとすると、
B0←A0(=0)とするから、この後、ふたたび、CPU2側
からIPTE命令が発行されたときは、CPU0への無効化信号
の伝達は不要となり、(1)と同様の効果が得られる。 〔発明の効果〕 本発明によれば、仮想計算機システム下のゲストOSの
発行したページテーブル無効化命令の処理において、ア
ドレス変換バツフア(TLB)無効化信号の伝達範囲、す
なわち、ホストマルチプロセツサを構成する各CPUのど
れに伝達するかの範囲を限定することができるので、該
命令発行元CPUにとつての該命令実行時間が短縮され、
さらに、信号を伝達されたCPUにとつても、当該ゲスト
に関係のあるエントリがない時は、無効化信号を送らな
いことにより、外乱を受けることを回避することがで
き、性能を向上させることができる。例えば、4台のマ
ルチプロセツサの時、上記命令の実行において、全ての
CPUに信号伝達をするオーバヘツドは、全体のIPTE実行
時間の30%以上を占める。これを例えば、内部的に近
い、すなわち、1〜2マシンサイクル程度で伝達できる
CPUだけに限定できれば、他CPUへの伝達オーバヘツドを
削除することができる。また、当該ゲストに関係するTL
Bのエントリの検索には、数百マシンサイクルを要し、
これは、通常の命令の平均実行時間である3〜5マシン
サイクルに比べ、約100倍近くのCPU時間がかかることを
意味し、それを本発明の方式により、当該ゲストに関す
るTLBエントリを含まないCPUには、無効化信号を伝達し
ないようにすることにより、回避することができる。
【図面の簡単な説明】 第1図は、本発明の実施例の全体図、第2図は、第1図
の共通レジスタ100の部分を示す図、第3図は、第2図
の説明図、第4図は、ゲストのメモリ階層図、第5図
は、第1図の中で、特にTLB関係表示図、第6図は、ゲ
ストマルチプロセツサシステム時の構成法を示す図、第
7図は、ホストマルチプロセツサ下の仮想計算機システ
ムの説明図である。 100……CPU間の共通レジスタ、200−i……ホストマル
チプロセツサ構成時のCPUi,i=0,1,2,……,15、500……
各CPUを結合する装置(Inter Processor Controlle
r)、700……ホストの主記憶装置、800……ゲストの主
記憶装置、900……ゲストの仮想記憶装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡辺 毅 秦野市堀山下1番地 株式会社日立製作 所神奈川工場内 (72)発明者 柳 忠弘 横浜市戸塚区戸塚町5030番地 株式会社 日立製作所ソフトウエア工場内 (72)発明者 吉岡 正壱郎 川崎市麻生区王禅寺1099番地 株式会社 日立製作所システム開発研究所内 (56)参考文献 特開 昭63−253449(JP,A) 特開 昭63−286944(JP,A) 特開 昭62−69338(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.主記憶装置を共有する複数台の実計算機を有するマ
    ルチプロセッサシステム上で、管理プログラムの制御の
    基に複数台のゲスト計算機を有する仮想的な計算機シス
    テムの走行を可能とした仮想計算機システムのページテ
    ーブル無効化方式において、前記仮想的な計算機システ
    ム内のあるゲスト計算機からページテーブルを無効化す
    る命令が発行されたとき、前記命令を発行したゲスト計
    算機が走行中の実計算機により、前記仮想的な計算機シ
    ステムのページテーブル及び当該実計算機が保持するア
    ドレス変換バッファの該当するエントリを無効化すると
    共に、前記命令の発行時点までに前記仮想的な計算機シ
    ステム内のゲスト計算機が走行した実計算機を識別し、
    この結果識別された実計算機に対して無効化信号を送
    り、該無効化信号を受けた実計算機では、前記無効化信
    号に応じてそれらが保持するアドレス変換バッファの該
    当するエントリを無効化することを特徴とする仮想計算
    機システムのページテーブル無効化方式。
JP62139720A 1987-06-05 1987-06-05 仮想計算機システムにおけるページテーブル無効化方式 Expired - Fee Related JP2702925B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62139720A JP2702925B2 (ja) 1987-06-05 1987-06-05 仮想計算機システムにおけるページテーブル無効化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62139720A JP2702925B2 (ja) 1987-06-05 1987-06-05 仮想計算機システムにおけるページテーブル無効化方式

Publications (2)

Publication Number Publication Date
JPS63304346A JPS63304346A (ja) 1988-12-12
JP2702925B2 true JP2702925B2 (ja) 1998-01-26

Family

ID=15251832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62139720A Expired - Fee Related JP2702925B2 (ja) 1987-06-05 1987-06-05 仮想計算機システムにおけるページテーブル無効化方式

Country Status (1)

Country Link
JP (1) JP2702925B2 (ja)

Also Published As

Publication number Publication date
JPS63304346A (ja) 1988-12-12

Similar Documents

Publication Publication Date Title
US7469321B2 (en) Software process migration between coherency regions without cache purges
US5265232A (en) Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data
KR920004400B1 (ko) 가상계산기시스템
US7484043B2 (en) Multiprocessor system with dynamic cache coherency regions
US7073044B2 (en) Method and apparatus for sharing TLB entries
US7165164B2 (en) Method and apparatus including heuristic for sharing TLB entries
US6408345B1 (en) Superscalar memory transfer controller in multilevel memory organization
US9372805B2 (en) Operating on translation look-aside buffers in a multiprocessor environment
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US4586133A (en) Multilevel controller for a cache memory interface in a multiprocessing system
KR100308682B1 (ko) 다중방향연관외부마이크로프로세서캐쉬
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
US5860101A (en) Scalable symmetric multiprocessor data-processing system with data allocation among private caches and segments of system memory
US5615327A (en) Apparatus and method for controlling the initiating of a synchronization protocol for synchronizing a plurality of processors in a multi-processor system
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
US5459872A (en) Software control of hardware interruptions
US5737756A (en) Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue
US5280592A (en) Domain interlock
US5652915A (en) System for controlling mode of operation of a data cache based on storing the DMA state of blocks by setting the DMA state to stall
JP2702925B2 (ja) 仮想計算機システムにおけるページテーブル無効化方式
JPH07105091A (ja) キャッシュの制御装置および制御方法
JPH0816474A (ja) マルチプロセッサシステム
JPS6079446A (ja) 多重仮想記憶デ−タ処理装置
JPS63286944A (ja) アドレス変換バツフア無効化方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees