JPS588073B2 - アドレス変換装置 - Google Patents

アドレス変換装置

Info

Publication number
JPS588073B2
JPS588073B2 JP52007734A JP773477A JPS588073B2 JP S588073 B2 JPS588073 B2 JP S588073B2 JP 52007734 A JP52007734 A JP 52007734A JP 773477 A JP773477 A JP 773477A JP S588073 B2 JPS588073 B2 JP S588073B2
Authority
JP
Japan
Prior art keywords
address
tlb
identifier
virtual machine
virtual
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
Application number
JP52007734A
Other languages
English (en)
Other versions
JPS53101234A (en
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 JP52007734A priority Critical patent/JPS588073B2/ja
Publication of JPS53101234A publication Critical patent/JPS53101234A/ja
Publication of JPS588073B2 publication Critical patent/JPS588073B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 (発明の利用分野) 本発明は、仮想記憶を有する計算機システムで実現され
る仮想計算機構成において、仮想計算機が作る論理アド
レスを実計算機の物理アドレスに変換する装置に関する
ものである。
(従来技術) 近年、デイジタル型電子計算機の応用分野が拡大するに
従い、実メモリの容量の制約を解除したアドレス方式、
すなわち仮想記憶方式が一般的になりつつある。
さらに、この仮想記憶方式の延長として、1つの実計算
機を多数のユーザが同時に使用できるような方式、すな
わち、仮想計算機方式が利用されつつある。
この仮想計算機方式とは実計算機を時分割に利用し、そ
の仮想計算機がサービスを受ける時点でユーザの定義し
た仮想ハードウエア情報(制御レジスタ、演算レジスタ
、PSWなど)を実ハードウエアにセットして、実計算
機のサービスを得ることになる。
したがって1台の実計算機で複数個の異なったオペレー
テイング、システムが、見かけ上同時に走行できること
になる。
この仮想計算機方式は、稼動しているシステムのサービ
スを停止することなく、新しく開発するオペレーテイン
グ・システムやソフトウエア・プログラムのテストがで
きることや、多数のオペレーテイング・システム間で交
信できるなどの利点がある。
以上に述べたような効果が仮想計算機方式にあるが、こ
の仮想計算機(VirtualMach ine :
VM )を実現するための制御プログラムを仮想計算機
モニタ( Virtual MachineMoni
tor : 以後、VMMと略す。
)と云う。VMMは第1図に示すが如く、各仮想計算機
が実のストーレジとみなしているストーレジ300(こ
れを第2レベル・ストーレジという。
)をVMMが実際に管理している実のストーレジ200
(これを第1レベル・ストーレジという。
上のセグメント・テーブル(RST)210とページ・
テーブル(RPT)220で管理する。
このRST210は実計算機の制御レジスタ(CR21
0から指されている。
したがって仮想計算機方式でない場合には第1図の第2
レベル・ストーレジ300が実のストーレジとなり、そ
のストーレジを用いてオペレーテイング・システム(以
降OSと略す)が動作していたものが、仮想計算機方式
を実現するVMMによって、ストーレジの仮想化( V
irtual ize)がなされることになる。
なお、この第2レベル・ストーレジ300は各仮想計算
機毎に割り当てられ、VMMが各VN毎のRST210
,RST220を作り、管理している。
すなわち、■MMが各VMのサービスを切り替えるとき
には実の制御レジスタCR270に格納するRST2
1 0のアドレスとして第1レベル・ストーレジ200
内に存在する当該VM用のRST210のアドレスを設
定すれば、そのVM用のストーレジ300を作り出すこ
とになる。
さらに、仮想計算機のもとで動作するOSが仮想記憶を
有する場合には、そのOSが第2レベル・ストーレジ3
00上に仮想のセグメント・テーブル(VST)310
、仮想のページ・テーブル(VPT)320を作り、ユ
ーザ・プログラムのストーレジ(これを第3レベル・ス
トーレジという)350を管理することになる。
ここで、VMのもとで動作しているOSは、VM下で動
作していることに全く関知する必要がなく第2レベル、
ストーレジ300がそのOSが使用できる実ストーレジ
とみなしてVST31 0 ,VPT 3 2 0を作
れば良い。
次に、第3レベル・ストーレジ350の論理アドレスを
第1レベル・ストーレジ200内の物理アドレスに変換
する手順を説明する。
これは、第1図に示すように、仮想計算機がVMMによ
ってサービスを受ける場合の第3レベル・ストーレジ3
50は、VST310とVPT320のアドレス変換と
、RST210とRPT220のアドレス変換の2回の
アドレス変換ヲ受けて第1レベル・ストーレジ200上
の物理アドレスが決められる。
すなわち、第3レベル・ストーレジ350の論理アドレ
スはVST310とVPT320によって第2レベル・
ストーレジ300内でのアドレスが決まる。
このアドレスは実計算機の場合には実の物理アドレスと
なるが、仮想計算機方式の場合にはRST210とRP
T220で管理されているので仮想物理アドレスという
ことにする。
この仮想物理アドレスは、RST210とRPT220
によって第1レベル・ストーレジ内のアドレスが決まり
、そのアドレスが物理アドレスである。
なお、vST310と■PT320によるアドレス変換
やRST210とRPT220によるアドレス変換の方
法は、後に第4図を用いてSST250とSPT260
によるアドレス変換の方法を説明しているのと同一であ
る。
この2回のアドレス変換は性能低下の要因となるので、
■MMは第3レベル・ストーレジ350から第1レベル
・ストーレジ200を直接にマッピングする変換テーブ
ルSST250(これをシャドウ・セグメント・テーブ
ルという。
)SPT260(これをシャドウ・ページ・テーブルと
いう。
)を作り出している。第2図は上記の効果を概念的に示
したものである。
図中、350の論理アドレスは315のアドレス変換と
215のアドレス変換を受ける代りに、255のアドレ
ス変換によって200の物理アドレスが得られることに
なる。
これによって、第3レベル・ストーレジの論理アドレス
から1回のアドレス変換によって第1レベル・ストーレ
ジ内の物理アドレスを得ることができる。
ところで、仮想記憶を実現する電子計算機では、常にS
ST250とSPT260を用いて論理アドレスを物理
アドレスに変換していたのでは変換処理に時間を費やす
ので、アドレス変換処理の高速化のために過去に参照さ
れた論理アドレスとそれに対応する物理アドレスの対応
テーブルを有しており、まず、その対応テーブルを調べ
て物理アドレスを得るようになっている。
その対応テーブルをT L B ( Trans la
t ionLook−aside Buffer)、あ
るいはアドレス変換テーブルと呼んでいる。
TLBによるアドレス変換方法については本発明の実施
例において、第4図、第5図を用いて詳細に説明する。
再び第1図を参照するに、仮想計算機のハードウエア情
報VCR230 ,VPSW240などはVMMがサー
ビスするときに、実のハードウエアCR270 ,PS
W280などに写されることになる。
ここで、CRとは制御レジスタ( Con t ro
IRegister)の略であり、pswとはプログラ
ム状態語( Program Status Word
)の略称である。
これらCR,PSWの先頭に■が付加したVCR,VP
SWは仮想化されたハードウエア情報であることを意味
する。
なお、CR,PSWの役割りのより詳細な説明な下記刊
行物を参照されたい。
「IBMシステム/370の動作原理」IBMシステム
参考図書類GA22−7000。
なお、CR270はSST250を指すことになる。
以上によって、アドレス変換のオーバヘッドの問題は解
決されたように思われるが、現状ではTLBの処理に関
して以下のように処理しているので、新しい性能低下の
問題が生じる。
(1)VMMはシャドウ・テーブルに登録した第1レベ
ル・ストーレジのページを補助記憶装置へページ・アウ
トした場合には、TLB内の論理アドレスと物理アドレ
スの対応関係を無効にするためにVMMが他の仮想計算
機をサービスする前にPTLB命令( Purge T
LB命令の略であり Translation Loo
k−asideBufferのすべての内容を無効にす
る命令)を発行している。
(2)仮想計算機のオペレーテイング・システムがPT
LB命令を発行したときや、OSのもとで走行するユー
ザ・プログラムのアドレス空間を変更するためにVST
310の値を変更する命令(LCTL命令: Load
Contr01Regi s ts r 命令の略で
あり、CRに情報を設定する命令)を発行した場合も、
TLBの内容すべてをキャンセルしている。
(3) (1),(2)によって、TLB内の他の仮
想計算機の論理アドレスと物理アドレスの対応対も無効
にされてしまうので、TLBを用いたアドレス変換の効
果が発揮できない。
上記の問題点はすべてT L B(Translati
onLook−aside Buffer:アドレス
変換の高速バツファ)の使用効率低下になるものである
さて、仮想計算機方式の利点でも述べたように、稼動中
の仮想計算機(以後、これをHostVMと略す。
)の性能は、デバック中の仮想計算機(以後、これをT
estVMと略す。
)よりも良くなり、さらに、実計算機方式のときと同程
度の性能が得られるような装置を発明することが望まし
い。
このような装置を発明することによって、仮想計算機方
式におけるHostVMの性能は実計算方式のものと変
りないものが得られることになる。
(発明の目的) したがって、本発明の目的はTLBの内容をすべて無効
にする処理をやめ、無効にすべきTLBエントリのみを
無効にする処理を施すことによって、TLBの使用効率
を向上させること、およびTLBのエントリの参照方式
に新方式を用いることにより、TLBエントリの参照、
削除の性能を向上させることにある。
具体的には、計算機システム内に仮想計算機を識別する
制御レジスタとその仮想計算機の属性値を保持する制御
レジスタおよびTLBの使用形態を規定するモードを設
け、上記レジスタ情報を有機的に活用せしめ、TLBの
各エントリにVMの識別情報を有すること、およびTL
Bを複数個有し検索開始のTLB位置を制御することに
よってアドレス変換時、およびTLBの参照、削除時の
性能を向上させることにある。
(実施例) 以下、本発明を実施例を参照して詳細に説明する。
第3図は本発明の実施例である。図中、1100は命令
ユニット、1200は演算ユニット、1000は記憶制
御ユニット、1300は主記憶装置、1110は主記憶
装置1300から読出された命令のオペランド・アドレ
スを計算した結果を保持するアドレス・レジスタ(AR
)、1111はレングス・レジスタ(LR)、100は
TLB制御装置、150は論理アドレスと物理アドレス
の対を格納しているバツファ ( Transla−tion Look−aside
Buffer:TLB),1020は第1図で示した
SST250 ,SPT260を用いて論理アドレスか
ら物理アドレスに変換する装置( Dynami cA
ddress Translator:DAT )、1
040はバツファ・アドレス・アレイ、1050はバツ
ファ・ストーレジ、1210はアドレス変換の制御レジ
スタ、1220は仮想計算機( VirtualMac
.hjne :以後、VMと略す。
)の識別と属性を制御する制御レジスタである。
このレジスタの内容はプログラムによって変更可能であ
る。
命令ユニット1100は主記憶装置1300より命令を
読出して、その命令をデコードし、アドレス計算の結果
をAR1110にセットする。
また、命令のオペランドの長さはLR1111にセット
される。
命令ユニット1100は、AR1110内のオペランド
のアドレスとLR1111内のオペランド長を記憶制御
ユニット1000へ送る。
記憶制御ユニットioooではT L ,B 制御装置
100がこの送られたデータを使用してTLB150を
参照する。
TLB150にAR1110のアドレスがあれば、命令
ユニット1100へ報告する。
もしもなければDAT1020ヘオペランド・アドレス
を送り物理アドレスへのアドレス変換を起動する。
DAT1020でのアドレス変換が終了したならば、そ
の物理アドレスがTLB制御装置100へ送られ、TL
B150に書込まれる。
次に、TLB制御装置100は求まった物理アドレスに
基づき信号線1030を経てバツファ・アドレス・アレ
イ1040を参照し、バツファ・ストーレジ1050に
当該物理アドレスデータがあるか否かを調べる。
このときLRI 1 1 1内のオペランドの長さもバ
ツファ・アドレス・アレイ1040に送られる。
バツファ・ストーレジにデータがあればバツファ・スト
ーレジ1050からそのデータを読出し演算ユニット1
200へ線1060を介して供給する。
バツファにデータがなければ主記憶装置1300からデ
ータを読出しバツファ・アドレス・アレイ1040、バ
ツファストーレジ1050を経由して演算ユニット12
00へ供給する。
以上が論理アドレスを物理アドレスに変換するアドレス
変換の過程であるが、本発明は仮想計算機の属性を制御
するための制御レジスタ1220とTLB制御装置10
0の制御方式およびTLB150の構造に特長がある。
第4図はアドレス変換を説明した図である。
図の番号は第1図〜第3図に対応して付してある。
仮想計算機上のプログラムの論理アドレス350はセグ
メント・インデックス8ビット、ページ・インデックス
5ビット、バイト・インデックス11ビットの24ビッ
トからなる。
なお、この論理アドレスのビット数は容易に拡張できる
セグメント・インデックスとページ・インデックスは第
1図で示したVMMが作るシャドウ・テーブルSST2
50、SPT260でアドレス変換を受け、バイト・イ
ンデックスは変換を受けない。
SST250とSPT260はバツファ・ストーレジに
ある 論理アドレス350から物理アドレス200へのアドレ
ス変換は次のようにしてなされる。
制御レジスタ1210のビット8からビット31は第1
図のSST250の先頭アドレスが格納されている。
ビット0からビット7はSST250の1エントリの長
さを表示している。
制御レジスタ1210のビット8からビット31の内容
と論理アドレス350のビット8から15、すなわち、
セグメント・インデックスとを加算することによってS
ST250内のセグメントテーブル内のエントリ・アド
レスが求まる。
セグメント・テーブルの内容を表わしたのが第4図の2
50であり、このビット8からビット30の値を2倍す
ると第1図のSPT260の先頭アドレス、すなわちペ
ージ・テーブルの先頭アドレスが求まる。
この値に第4図の論理アドレスのうちのページ・インデ
ックス部を加えることによってページテーブル内のエン
トリ・アドレスが求まる。
第4図のページ・テーブルエントリ260のビット0か
らビット12までが、物理アドレス200のピント8か
らビット20に対応し、小こ論理アドレス350のビッ
ト21からビット31を連結することによって物理アド
レスが求まる。
なお、第4図のより詳しい説明は下肥刊行物を参照され
たい。
1’IBMシステム/370の動作原理」IBMシステ
ム参考図書類GA22−7000 上記アドレス変換は第3図のDAT1020によるもの
であるが、この変換を高速化するためにTLB150と
その制御装置100がある。
本発明は、TLB制御装置100とTLB150、およ
びVMID制御レジスタ1220に関するものである。
第5図は第4図のTLB制御装置100、TLB150
をより詳細に示した図である。
図においては1はアドレス・レジスタ、2はハツシング
装置( Hashing装置:HASH)、150は複
数個のTLB14はTL815.0への書込み読出しを
制御する選択回路、3は選択回路4の制御部であり演算
ユニット1200からのPTLB命令の指令信号L27
、およびそのときのTLBの状態信号L25によって制
御信号L28〜L30を作る。
5はTLB150の一つを選択するためのロー・アドレ
ス( Row Address )を決定する回路であ
る。
TLB150の各カラムには論理アドレスLAと物理ア
ドレスPAの対と対応するストレジキーKEYおよびそ
のカラムのエントリが有効か否かを示すビットVの他に
、そのカラムを使用しているVMの識別子IDと、その
VMがHostVMか否かの識別子Hとが記憶されてい
る。
6は仮想計算機のID(丁dentifier)とTL
B150内の丁Dを比較する比較器、7は物理アドレス
・レジスタ、8は論理アドレスの比較器、9〜14はア
ンド回路やオア回路、15は物理アドレス・レジスタ7
の出力ゲート回路である。
L1はアドレス・レジスタ1の出力、L2はHASH2
の出力でありTLB150のカラム・アドレスを定める
信号線、L3〜L8はTLB1 50への書込みデータ
、L9はVMID制御レジスタ1220の情報をロー・
アドレス(RowAddress)決定回路5へ送出す
る信号線、L10〜L15はTLB150からの出力デ
ータ、L16はロー・アドレスを定める信号、L17は
ロー・アドレスを増大せしめる指令信号、L25はその
TLBエントリを削除しても良い旨の信号、L18はD
AT1020にアドレス変換を要求する信号であり、D
AT1020によって変換された物理アドレスは信号L
31を介して選択回路4に戻り、TLB150に書込ま
れる。
L19〜L22、L26はVMID制御レジスタ122
0からの出力信号線である。
L19はV M (Vi r tualMachine
)の識別信号8ビット(詳細後述)、L20はVMモ
ードの表示信号(詳細後述)、L22はHostVMで
ある旨の表示信号(詳細後述)L26はVMMがTLB
150のすべてのエントリを削除したい場合に、TLB
150を削除する旨の指令信号である。
L24は比較器6の出力であり、L23は比較器6の結
果が等しいときにアクティブすなわちオンとなる。
一方、L24は等しくないときにアクティブすなわちオ
ンとなる。
L25はPTLB命令の処理のための制御信号であり、
詳細は後述する。
第6図はVMID制御レジスタ1220の構成を示す。
制御レジスタ1220のビット8からビット31には各
仮想計算機(VM)識別情報として各々の制御ブロック
が格納されているアドレスが記憶されている。
この制御ブロックとは第1図で示したVOR230やV
PSW240など各VM用の仮想的なハードウエア情報
が格納されている制御ブロックであり、必らず第1図の
第1レベル・ストーレジ内に存在する。
また、仮想計算機システムにおいては、その仮想計算機
システムを実現するための制御プログラムであるVMM
( Virtual Machine Monitor
)も1つのVMとなり、VCR230やVPSW24
0が格納されている制御ブロックを有している。
第6図の制御レジスタ1220内のビット8からビット
31までの仮想計算機の制御ブロックのアドレスは、仮
想計算機システム内で唯一(ユニーク:unigue)
であり、VM間同士で同一のアドレスとはなり得ない。
したがって、このアドレスをハツシング回路51を介す
ることによって線L19に8ビットのVM毎の識別子I
Dを作り出している。
この識別子IDが第5図のTLB150内に書込まれる
なお、本実施例ではハツシング結果は8ビットとなって
いるが、このビット数は任意で良い。
第6図においてビットOから7までが各仮想計算機の属
性情報で動作モード規定するのに用いられる。
各モードの意味は次の通りである。(1) Bare
Mode これは実計算機としての動作モードであり、このモード
の動作に対してTLB150の割当ては制限されない。
4(2) VM Test Mode これは、デバック中のVM(TestVM)に対する動
作モードであり、TLB150の割当ては制限される。
(3) VM Super Test Modeこ
れは、TLB150の割当てを制限されたTest V
Mに対するモードであり、具体的には、TLB150の
全てのロー数の後半の半分のみがこのモードのVMに割
当てられる。
(4) VM Host Mode これは、稼動中のVMであり、高速処理が要求されるV
M(Host VM)に対するモードであり、このモー
ドのVMに対してTLB150の割当てに制限はない。
(5) VM Super Host Mo.deこ
れは、このモードのVM ( Super HostV
M)に対して、TLB150の一つのローの全力ラムを
占有的に割当てるモードである。
具体的には、ローアドレスの大きい方かラ順に、このモ
ードのVMに一つづつローが割当てられる。
したがってこのモードのVMは、TLBを1ローだけ有
する実計算機と同じTLB使用効率を有することになる
このVMID制御レジスタ1220の更新はVMMが行
う。
つまり、VMMは動作させるべきVMを切り換えるご七
に、動作させるべきVMの制御1ブロックのアドレスを
ビット位置8−31にセットし、このVMの動作モード
を指定するモードをビット位置4−7にセットする。
特に動作させるべきVMがSuper Host VM
のときは、全Super Host VM群に対して順
に1番からk(Super HoSt ModeのV
Mの全数)の番号をつけ)あるSuper Host
VMの番号がSのときに(N−S+1)のローアドレス
のローをその番号SのSuper Host VMに
占有的に割当てる。
但し、Nは全ロー数である。
VMID制御レジスタ1220のビット0−3には、S
uperHost VM が起動されたときに、この番
号Sがセットされる。
なお、第6図において第4ビットはHyperMode
を指示するビットで、このModeはTLBの削除に関
連して用いられるもので、その説明は後述する。
まず、TLBI 50の参照方法について説明する。
命令ユニット1100から送られたアドレスはアドレス
・レジスタ1にセットされる。
アドレス・レジスタ1からのデータL1はハツシング回
路(HASH)2でハツシング(Hashing)を受
け、TLBのカラム・アドレスが決まり、当該信号L2
がアクティブとなり、カラム・アドレスが決まる。
一方、ロー・アドレスL16は、第6図に示すが如く、
VMID制御レジスタのビット・アドレス0〜7がL9
を介してロー・アドレス決定回路5に送出され決定され
る。
ロー・アドレスの初期値は第7図に示すように設定され
る。
カラム・アドレス信号線L2、ロー・アドレスL16に
よってTLB150のカラム・アドレスとロー・アドレ
スが決まり、これで指定される一つのカラムが読出され
る。
TLB150の各カラムは、HostVMが使用してい
るか否かの識別(H)、8ビットのVM識別(■D)、
論理アトレス(LA)物理アドレス(PA)、ストレジ
キーKEY,このエントリが有効であるかどうかを示す
ビットVから成る。
TLB150のカラム数は任意である。
たとえば64カラムのときにはアドレス・レジスタ1の
6ビットがハツシングに使われ、128カラムのときに
は7ビットがハツシングに使われる。
さらに、どの6ビット、7ビットが使われるかは自由で
良い。
たとえば、アドレス・レジスタADR1のビット・アド
レス15〜20ビット、あるいは14〜20ビットで良
い同様にTLB150のロー数も任意で良い。
なおSuper Host Mode以外の場合には1
つの口−・アドレス上のカラム・エントリは種々のVM
の情報が格納されている。
TLB150から読出された物理アドレスPA、ストレ
ジキーKEYは物理アドレス・レジスタ7に保持される
また、■ビットは検査回路17でチェックされる。
有効でない場合には、アンド・ゲート14、オア・ゲー
ト11を介して、L17にその旨が反映され、次のロー
・アドレスをポイントする要求がローアドレス決定回路
5に対してなされる。
TLB150のIDは比較器6で第6図で示した制御レ
ジスタ1220の出力信号であるVMの識別信号L19
と比較される。
この比較器6は、アンドゲート10の出力が1、つまり
VMモードビットL20が1の場合であって、両IDが
一致したときにはL23がオンとなり、不一致のときに
はL24がオンとなる。
なお、VMモードでないときすなわちL20がオフのと
きには、つねにL23がオンとなる。
さらに、TLB150から読出された論理アドレスLA
とアドレス・レジスタ1のアドレスL1とが比較器8で
比較される。
この一致が検出され、かつ検査回路17がVビットか有
効を示すものであることを検出し、かつL23がオンと
なっているというアンドゲート14の入力条件が成立し
たときにはアンド・ゲート14の非反転出力が1となり
、ゲート15が開かれ、物理アドレス・レジスタ7の出
力はゲート15と線1030を通ってバツファ・アドレ
ス・アレイ1040へ送られる。
こうして、所望の物理アドレスPAが読出されたことに
なる。
このときアンドゲート14の反転出力はOであるのでL
17はオンとならない。
一方、アンド・ゲート14の入力条件が成立しないとき
には、アンドゲート14の反転出力によりL17がオン
となる。
L17がオンになった場合には、動作モードが■MSu
per Host Mode以外のときはロー・アドレ
ス決定回路5によってローアドレスL16が1だけ増大
される。
TLB1 50の最後のロー・アドレスを越えた場合に
は、L18によってDAT1020へ報告されてDAT
1020によってアドレス変換を受ける。
L17がオンになった場合であって、動作モードがVM
Super HostModeのときは、ロー・ア
ドレスを更新するすることなくL18がオンとされ、D
AT1020によるアドレス変換を受ける。
変換後の物理アドレスはDAT1020よりL31に戻
り、選択回路4、ロー・アドレス決定回路5によって、
登録すべきTLBエントリが決定されて、■ビットがオ
フのエントリを探し、TLB150に論理アドレス(
L A )、H,ID,KEY,Vとともに書込まれる
すなわち、ロー・アドレス決定回路5は、信号L18を
オンとした後、再びロー・アドレスL16を第7図に示
す初期値にセットし、このアドレスとカラム・アドレス
L12にて指定されるエントリを読出す。
読出されたエントリのVビットがオフであることが検査
回路17により検出される、この検査回路17の出力が
ロー・アドレス決定回路5に送出される(このための信
号線は図示せず)。
ロー・アドレス決定回路5はVビットがオフであること
に応答して、ロー・アドレスを更新する。
ロー・アドレス決定回路5はVビットがオフのエントリ
(オフエントリ)が見つかるまで、順次ロー・アドレス
を更新し、Vビットがオフのエントリが見つかった時点
で書込み指令を選択回答4に送出する(このための信号
線は図示せず)。
選択回路4は、この書込み指令に応答して、TLB15
0にデータの書込みを行う。
書込むべきデータの内、論理アドレスLAとストレジキ
ーKEYは物理アドレスPAとともにDAT1020よ
り線L31を介して与えられ、VMのIDは、VMID
制御レジスタ1220より線L19から与えられ、Hビ
ットは、VMID制御レジスタ1220の第6ビット位
置から線L9を介して与えられる。
またVビットは選択回路4により発生される。
こうして選択回路4は、線L3〜L8を介してこれらの
データをTLB150に書込む。
なお、ロー・アドレスを順次更新し、最犬のロー・アド
レスに達つしてもなお、オフエントリが見つからない場
合には、TLB150内のVビットがオンのエントリを
書きかえる。
この書きカエエントリーのロー・アドレスは、一つのロ
ー・アドレス、たとえば最初のロー・アドレスのものに
するようあらかじめ定めておけばよい。
この場合、ロー・アドレス決定回路5は、最大ロー・ア
ドレスを発生してなおかつ、■ビットがオフのエントリ
を見い出せなかったときに書込み指令を選択回路4に出
力するとともに、ロー・アドレスL16を第7図の初期
値に変更すればよい。
なお、VMSuper Host Mode のと
きは、ロー・アドレス決定回路5はそのモードのVMに
対するロー・アドレスにオフエントリがない場合は、ア
ドレスを更新することなく、ただちに、オフエントリが
ないものとして書込み指令を出すことは言うまでもない
以上によって、TLBI 50は各仮想計算機(Vir
tual Machine)間で共用され、ざらにHo
st VM に対してはTLBエントリが優先して
割当てられることになり、Super HostVM
に対してはあるロー・アドレスのカラム全体が割当てら
れ、TLB1 50の参照成功の確率が高くなる。
次にTLBエントリの削除方法について説明する。
TLBエントリの削除はP TL B (purgeT
LB)命令がプログラムから発せられることによってな
される。
PTLB命令は演算ユニット1200より信号線L27
によって指令される。
制御部3はロー・アドレス決定回路5へL28を介して
PTLB命令の旨を知らせると同時に、L29のカラム
・アドレスを先頭カラムのものに設定する。
ロー・アドレス決定回路5は、このPTLB命令の実行
を示す信号L28に応答して、VMID制御レジス1
220のモード指定信号L9に応じて、ローアドレスの
初期値を設定してある。
なお、レジスタ1220はTLBエントリをすべて消去
するモード( Hyper Mode )を示すための
ビット(第4ビット)を有している。
このビットが1のときは、第5〜第7ビットの値にかか
わらずHyperModeとみなされる。
ロー・アドレスの初期値はHYper Modeのとき
は先頭アドレス、それ以外のモードのときは第7図の通
りである。
以上によってカラム・アドレス、ロー・アドレスで指定
されたTLBエントリの内容がL10〜L15に出力さ
れる。
その出力L10〜L15を判断して、そのエントリが削
除すべきか否か判断される。
この削除すべきか否かの判断は、動作モードによって異
なっている。
その詳細は後述するが、いずれのモードであってもその
エントリが削除すべきもののときは信号L25がオンと
なり、この信号は制御部3およびロー・アドレス決定回
路5へ送出される。
制御部3はL25を受けると選択回路4へ信号線L30
を介してそのエントリのVビットをオフする指令を出し
、選択回路4はこれにもとづいてTLB150へ書出せ
次に制御部3はカラム・アドレスを1増加し、上記信号
L25の結果を待つ。
L25がオフならばVビットをオフにする動作は行なわ
れない。
制御部3は最後のカラムの処理を終了すると、ロー・ア
ドレス決定回路5へL28を回して知らせ、ロー・アド
レス決定回路5は次のロー・アドレスを設定する。
制御部3は再び前述の動作を繰返す。以上によって、す
べてのTLBエントリが検査され、必要に応じてvビッ
トがオフになる。
TLBエンt− IJの削除を示す信号L25がオンに
なるのは次の場合である。
(1) Bare Mode のとき。
L20がオフであり、このときオア・ゲートの出力L2
5はTLBから読出されたデータの内容に無関係につね
にオンとなる。
したがってすべてのTLBエントリが削除される。
このモードは実計算機の動作状態であるが、従来の実計
算機の動作と同じ動作が本実施例でも保証される。
(2)VM Host Mode 又はVM Su
perHost Modeのとき。
このときは、Host VM であることを示す信号
L22がオンであるので、TLB 1 5 0から読出
したエントリのHビットL10がオンでかつ、読出した
エントリID,L11が、実行中のVMのID,L19
とが等しいときには、アンドゲート13の出力がオンと
なり、信号L25がオンとなる。
従って、これらのM o d eのときは、実行中のH
ost VMあるいはS uperHostVMのI
Dと等しいIDを有するエントリのみが削除される。
ただし、Host VM のときは、TLB150の
全ローから削除すべきエントリがチェックされるが、S
uper HostVMのときは、このVMに対して割
りあてられた一つのローのみ内のエントリがチェックさ
れる。
後者の場合、そのローは、そのSuperHost V
Mに割当てられたものであるので、そのSuper H
ost VMのIDと、そのローのすべてのエントリ
のIDとは等しいため、その口−のすべてのエントリが
削除されることになる(3) Hyper Mode
のとき。
このモードはVMMのために提供されるものであり、L
26がオンであるので、(1)のときと同様に、出力L
25はTLBの内容に無関係につねにオンとなり、すべ
てのTLBエントリが削除される。
(4) VM Test Mode又はVM Su
perTestModeのとき。
このときは、VMモード指示信号L20はオンであり、
Host VM指示信号L22はオフであるので、TL
B150から読出されたエントリのHビットL10がオ
フのときに、アンド・ゲート18がオンとなり信号L2
5がオンとなる。
したがって、TLBのエントリの内、TestVMが使
用していたエントリが、そのエントリの丁Dとは無関係
に削除されることになる。
これはTest VMが使用できる主記憶領域(メモリ
領域:第3図の1300)が少ない場合に、他のTes
tVMのTLBエントリをも削除するためであるが、記
憶領域が十分に多いときにはたとえば1つのVMが実計
算機状態でnMB(MB=106バイト)の記憶領域を
使用すると仮定したときにm個のVMにおいて記域領域
がn×mMB以上あるときには、(2)と同様にそのV
MのIDのみの比較を行なえば良い。
(すなわち、各VMはすべてHostVMであるとすれ
ば良い。
)なお、VM Test Mode のときは、すべ
てのローのエントリがチェックされるが、VMSupe
r Test Modeのときは、ロ一番号の大きい方
の半分のローのエントリがチェックされる。
後者の場合、残りのローには、なお、本実施例において
はモード・ビットにVMID制御レジスタ1220の先
頭バイトを使用しているが、これはとくに限定されるも
のではない。
たとえば、物理アドレスが32ビット・アドレスのとき
には、このバイトはアドレス用に使われ、モード・ビッ
トは他の制御レジスタに設定すればよい。
以上説明したごとく本発明によれば、次の効果が期待で
きる。
(1)TLBエントリ内にVMの識別を設けることによ
って、TLBを各VM間で有効に利用できTLBの使用
効率が向上する。
(2)TLBを複数個用意することによって、TLBエ
ントリの割当て方式を動的に変更でき、特定のVMが数
個のTLBを占有することができ、そのVMの性能が向
上する。
(3)VMの識別を表わすレジスタ(VMIDレジスタ
)に上記の制御情報を含ませ、かつ識別はハツシング回
路を介して小数のビット数で行なえる。
(4)TLBを削除する場合は、上記識別子および制御
情報を使用した部分削除の機能が実現できる。
さらに、これらの動作は従来のPTLB命令の仕様を変
更することなく可能である。
(5)上記(1)〜(4)に加えて、各VMはあたかも
TLBを占有しているかのように見え、TLBによるア
ドレス変換が成功する度合いが高くなる。
(6)実計算機を仮想計算機の環境で使用しない場合に
は、従来の処理方式がそのまま保証できる。
【図面の簡単な説明】
第1図は仮想計算機方式で実現されるストーレジの階層
構造を示す図、第2図は仮想計算機における論理アドレ
スを実計算機の物理アドレスに変換する過程を説明した
図、第3図は本発明を実施した仮想記憶システム、第4
図はアドレス変換を説明した図と本発明との関係を示し
た図、第5図は本発明の特徴となっているTLB制御装
置の構成図、第6図は仮想計算機の識別をする制御レジ
スタの構成とハツシング回路を組合せて説明した図、第
7図は制御情報ビットとTLBのロー・アドレスの初期
値との関係を表わした図である。

Claims (1)

  1. 【特許請求の範囲】 1 共通の実計算機において実現される複数の仮想計算
    機が作る論理アドレスを物理アドレスに変換するアドレ
    ス変換装置であって、ある仮想計算機が用いる論理アド
    レスに対応する物理アドレスとその仮想計算機を識別す
    るための識別子とからなるデータの組を異なる論理アド
    レスに対応して複数記憶したテーブルと、実行中の仮想
    計算機よりテーブル無効命令が発つせられたときに、上
    記複数のデータの組の内、当該無効命令を発つした仮想
    計算機の識別子と同じ識別子を有するデータの組を選択
    的に無効とする手段を有するアドレス変換装置。 2 該テーブルのデータの組はさらに、各仮想計算機ご
    とに定められた動作モードの種別情報を含んだものであ
    り、該無効手段は、上記無効命令を発つした仮想計算機
    に対する種別情報が第1の種別情報であるとき、該デー
    タ組の内、該仮想計算機の識別子と同じ識別子を有する
    データ組を選択的に無効とし、上記無効命令を発つした
    仮想計算機に対する種別情報が第2の種別情報であると
    き、上記データ組の内、上記第2の種別情報を含んだデ
    ータ組をその識別子に無関係に選択的に無効とする手段
    である第1項のアドレス変換装置。 3 該テーブルは複数のテーブルからなり、該無効手段
    は、該無効命令を発つした仮想計算機の種別情報に応じ
    てあらかじめ定められたテーブルに関してのみ上記無効
    処理をするものである第2項のアドレス変換装置。 4 該複数の仮想計算機の実行を制御する複数の第1の
    制御プログラムの実行を切換え制御する第2の制御プロ
    グラムにより、実行すべき該第1の制御プログラムが切
    換わるごとに該種別情報と該識別子を定めるための情報
    がセットされるレジスタを有し、該無効手段は該レジス
    タの出力に応答して該無効処理をするものである第2項
    又は第3項のアドレス変換装置。 5 該識別子を定めるための情報は該実行すべき仮想計
    算機を実行するための制御データが格納されているブロ
    ックのアドレスであり、該無効手段は、該ブロックアド
    レスをハツシングして該識別子を発生する回路と、該発
    生された識別子により該無効処理をする手段とを有する
    第4項のアドレス変換装置。
JP52007734A 1977-01-28 1977-01-28 アドレス変換装置 Expired JPS588073B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52007734A JPS588073B2 (ja) 1977-01-28 1977-01-28 アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52007734A JPS588073B2 (ja) 1977-01-28 1977-01-28 アドレス変換装置

Publications (2)

Publication Number Publication Date
JPS53101234A JPS53101234A (en) 1978-09-04
JPS588073B2 true JPS588073B2 (ja) 1983-02-14

Family

ID=11673924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52007734A Expired JPS588073B2 (ja) 1977-01-28 1977-01-28 アドレス変換装置

Country Status (1)

Country Link
JP (1) JPS588073B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856058A (ja) * 1981-09-29 1983-04-02 Fujitsu Ltd 仮想計算機システムcp常駐ボリユ−ムのdasd共用管理方式
JPS58196680A (ja) * 1982-05-11 1983-11-16 Nec Corp 仮想マシンシステムにおけるアドレス変換方式
JP4295783B2 (ja) * 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50722A (ja) * 1973-05-02 1975-01-07
JPS5022548A (ja) * 1973-06-27 1975-03-11
JPS5030435A (ja) * 1973-07-18 1975-03-26
JPS5040239A (ja) * 1973-08-17 1975-04-12
JPS51127627A (en) * 1975-04-30 1976-11-06 Hitachi Ltd Address converter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50722A (ja) * 1973-05-02 1975-01-07
JPS5022548A (ja) * 1973-06-27 1975-03-11
JPS5030435A (ja) * 1973-07-18 1975-03-26
JPS5040239A (ja) * 1973-08-17 1975-04-12
JPS51127627A (en) * 1975-04-30 1976-11-06 Hitachi Ltd Address converter

Also Published As

Publication number Publication date
JPS53101234A (en) 1978-09-04

Similar Documents

Publication Publication Date Title
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
JP2825550B2 (ja) 多重仮想空間アドレス制御方法および計算機システム
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5991757A (en) Method and system for searching an array for an array value
US8438363B1 (en) Optimization of paging cache protection in virtual environment
US4616311A (en) Data processing system
US4814975A (en) Virtual machine system and method for controlling machines of different architectures
US20140040529A1 (en) Translation table control
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
US6606697B1 (en) Information processing apparatus and memory control method
US4757447A (en) Virtual memory system having identity marking for common address space
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JP2002032264A (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
Smith Design of CPU cache memories
US4984150A (en) Virtual memory control management system
JPS588073B2 (ja) アドレス変換装置
US6324635B1 (en) Method and apparatus for address paging emulation
JPH02292648A (ja) 多重仮想記憶システムおよびアドレス制御装置
JP2933628B2 (ja) 主記憶装置管理方法および計算機システム
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH0793221A (ja) 仮想計算機システム及びその制御方法