JPH0512126A - 仮想計算機のアドレス変換装置及びアドレス変換方法 - Google Patents

仮想計算機のアドレス変換装置及びアドレス変換方法

Info

Publication number
JPH0512126A
JPH0512126A JP3165357A JP16535791A JPH0512126A JP H0512126 A JPH0512126 A JP H0512126A JP 3165357 A JP3165357 A JP 3165357A JP 16535791 A JP16535791 A JP 16535791A JP H0512126 A JPH0512126 A JP H0512126A
Authority
JP
Japan
Prior art keywords
virtual
tlb
address
value
prefix
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.)
Pending
Application number
JP3165357A
Other languages
English (en)
Inventor
Hiroshi Ikegaya
浩 池ケ谷
Hidenori Umeno
英典 梅野
Takeshi Watanabe
毅 渡辺
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 JP3165357A priority Critical patent/JPH0512126A/ja
Priority to US07/909,308 priority patent/US5437016A/en
Publication of JPH0512126A publication Critical patent/JPH0512126A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

Abstract

(57)【要約】 【目的】TLBの使用効率を向上させ、仮想計算機の性
能低下を抑える。 【構成】MPフィールド設定回路6は、プリフィクス変
換回路5−1によって求められた絶対アドレスと仮想プ
ロセッサプリフィクスレジスタ4−1,4−2の内容と
を比較する。比較結果により、アドレス変換バッファ
(TLB)7のMPフィールドに、仮想プロセッサ間で
共通な領域に対するエントリであるか否かを示す値を格
納する。TLB7のMPフィールドとマルチプロセッサ
レジスタ2の内容、及びTLB7のVPフィールドと仮
想プロセッサレジスタ3の内容は比較器8及び9で比較
される。比較器8の比較結果が一致、あるいは比較器8
の比較結果が不一致で比較器9の比較結果が一致の時、
TLB7のAAフィールドを絶対アドレスレジスタ12
に入力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想計算機のアドレス
変換装置及びアドレス変換方法に関し、特に仮想計算機
が複数台の仮想プロセッサからなるマルチプロセッサ構
成の場合に有用な仮想計算機のアドレス変換装置及びア
ドレス変換方法に関する。
【0002】
【従来技術】アドレス変換機能は、プログラムの動的再
配置を容易に、効率良く実現するための機能であり、仮
想記憶をサポートするオペレーティングシステムと一体
となって、効率的に論理アドレスを実アドレスに変換す
る機能である。動的再配置とは、実行しようとするプロ
グラム容量が、実際に設置されている主記憶容量より大
きい場合などに用いられる手法である。アドレス変換は
プログラムにより与えられるアドレスを論理アドレスと
して扱うときにおこなわれる。アドレス変換において
は、記憶装置を参照する際の論理アドレスが、実際に設
置されている記憶装置(実記憶装置)の位置を指定する
実アドレスに変換される。
【0003】マルチプロセッサ・システムでは、複数台
のプロセッサが、同一の主記憶装置を共有し、1つのオ
ペレーティングシステムの管理下で相互に情報の交換を
行う。このように、マルチプロセッサ・システムでは1
つの主記憶装置を共有するため、主記憶装置内のプリフ
ィクス領域を互いに異なったエリアに設ける必要があ
る。プリフィクス領域とは各プロセッサ固有の情報(入
出力制御を行うためのチャネル状態語,チャネルアドレ
ス語,割り込み制御を行うための新PSW,旧PSW
等)を格納しておく領域である。このため、プロセッサ
内にプリフィクス・レジスタを設け、図2に示すよう
に、プログラムから発行された論理アドレスは、アドレ
ス変換により実アドレスに変換され、その実アドレス
は、プリフィクス変換で実際の主記憶参照アドレス(絶
対アドレス)に変換される。プリフィクス変換には次の
3通りの変換がある。
【0004】(1)実アドレスが0ページを参照するも
のであれば、プリフィクスレジスタの内容が示すページ
が絶対アドレスとなる。
【0005】(2)プリフィクスレジスタの内容と実ア
ドレスが参照するページが等しいとき、0ページを参照
するアドレスが絶対アドレスとなる。
【0006】(3)実アドレスが0ページを参照するも
のでもなく、プリフィクスレジスタの内容と等しくない
とき、実アドレスが絶対アドレスとなる。
【0007】例えば、2台のプロセッサによるマルチプ
ロセッサ・システムでプロセッサ(0)のプリフィクス
・レジスタの値が“0”、プロセッサ(1)のプリフィ
クス・レジスタの値が“α”の場合、図3に示すよう
に、プロセッサ(0)では実アドレス0番地は絶対アド
レス0番地に、実アドレスα番地は絶対アドレスα番地
に変換され、プロセッサ(1)では実アドレス0番地は
絶対アドレスα番地に、実アドレスα番地は絶対アドレ
ス0番地に変換される。
【0008】通常、TLBには、論理アドレスに対応し
た絶対アドレスが登録され、アドレス変換の高速化が図
られている。マルチプロセッサ・システムの場合、TL
Bは各プロセッサに存在しているので、自プロセッサの
プリフィクス・レジスタを使用したプリフィクス変換の
結果がTLBに登録される。
【0009】仮想計算機システムとは、1台の実計算機
の資源(処理装置,実記憶装置,チャネルおよび入出力
装置等)のもとであたかも複数の計算機が存在するかの
如く制御するシステムである。仮想計算機システムで
は、主記憶装置や入出力装置は勿論、処理装置を含むす
べての資源をオペレーティングシステム間で共有するこ
とができるように、多数のオペレーティングシステムが
1台の実計算機上で見掛け上同時に走行できるようにす
る。ここで、仮想計算機がマルチプロセッサ・システム
の場合、実計算機におけるマルチプロセッサ・システム
のシステム全体が仮想計算機に相当し、実計算機の各プ
ロセッサに対応するものが仮想計算機の仮想プロセッサ
に相当する。マルチプロセッサ・システムの場合、実計
算機のプロセッサにはTLBは1つしか存在しないの
で、各仮想プロセッサ毎のTLBエントリを区別する必
要がある。
【0010】従来、アイ・ビイ・エム システム/37
0,エクステンデッド アーキテクチャ,インタプリテ
ィブ エクセキューション,エス エー 22−709
5−1,第2頁及び第18頁から第19頁(IBM Sys
tem/370,ExtendedArchitecture,Interpretive Ex
ecution,SA22−7095−1,PP2,PP18
−19)に記載のように、ゲスト(仮想計算機)は主記
憶を共有したマルチプロセッサ・システムを実現するこ
とができる。各々のゲストCPU(仮想プロセッサ)
は、独立したステート・ディスクリプション(state des
cription)によって定義される。ゲストタイプTLBエ
ントリは、ゲストの環境情報によって異なるエントリが
作られる。ゲストの環境情報には、ステート・ディスク
リプションが含まれる。つまり、仮想計算機が複数台の
仮想プロセッサからなるマルチプロセッサ構成をとり、
各仮想プロセッサ毎に異なるTLBエントリが存在する
ことになる。そして、各仮想プロセッサ対応のプリフィ
クス領域を含む全ての領域が識別可能となる。
【0011】
【発明が解決しようとする課題】前記従来技術は、仮想
計算機が複数台の仮想プロセッサによって構成されるマ
ルチプロセッサの形態をとる場合に、各仮想プロセッサ
のプリフィクス領域を識別する方法として、プリフィク
ス領域を含む全ての領域に対するTLBエントリを各仮
想プロセッサ毎に異なるエントリとすることによって実
現している。したがって、プリフィクス領域以外の領域
(仮想プロセッサ間で共通な領域)に対するTLBエン
トリは、仮想プロセッサを識別する情報以外の情報は同
一の情報を格納しているにもかかわらず仮想プロセッサ
毎に別々のTLBエントリとしてTLBに登録されてし
まう。また、プリフィクス領域に対するTLBエントリ
は各仮想プロセッサ毎に1エントリしか必要としないの
で、TLBには仮想プロセッサ間で共通な領域に対する
TLBエントリがほとんどを占めている。その結果、冗
長なTLBエントリにより必要以上にTLBが占有さ
れ、TLB利用効率が下がり、仮想計算機の性能低下の
要因となる。
【0012】本発明の目的は、仮想プロセッサ間で共通
な領域に対するTLBエントリが、仮想プロセッサ毎に
別々のTLBエントリとしてTLBに登録され、必要以
上にTLBが占有されるという従来の課題を解決し、仮
想計算機が複数の仮想プロセッサからなるマルチプロセ
ッサ構成をとる場合、プリフィクス領域以外の領域(共
通領域)に対するTLBエントリを、各仮想プロセッサ
間で共通に使用可能とし、TLBの使用効率を向上さ
せ、仮想計算機の性能低下を抑えることができる仮想計
算機のアドレス変換装置及びアドレス変換方法を提供す
ることにある。
【0013】
【課題を解決するための手段】本発明は、仮想計算機の
論理アドレスを保持する手段と、仮想計算機の論理アド
レスを実計算機の絶対アドレスに変換する変換対を保持
するアドレス変換バッファ(TLB)と、仮想計算機の
実アドレスを仮想計算機の絶対アドレスに変換するプリ
フィクス変換手段と、仮想計算機の論理アドレスを仮想
計算機の実アドレスに変換するアドレス変換手段と、主
記憶装置を参照する絶対アドレスを保持する手段とを有
するアドレス変換装置において、仮想計算機が複数台の
仮想プロセッサからなるマルチプロセッサ構成で、各仮
想計算機を識別しさらに仮想プロセッサ間で共通な領域
に対するエントリであるか否かを示す値を格納するマル
チプロセッサフィールドと、マルチプロセッサを構成す
る各仮想プロセッサを識別する値を格納する仮想プロセ
ッサフィールドとを前記TLBに追加し、各仮想プロセ
ッサのプリフィクス値を保持する手段と、該保持手段に
よって保持されたプリフィクス値と前記プリフィクス変
換手段によって求められた絶対アドレスとを比較する手
段と、該比較手段の比較結果によって前記マルチプロセ
ッサフィールドに各仮想計算機を識別しさらに仮想プロ
セッサ間で共通な領域に対するエントリであるか否かを
示す値を設定する手段とを備えることを特徴とする仮想
計算機のアドレス変換装置を提供する。
【0014】上記構成において、現在走行している仮想
計算機を識別する値と、現在走行している仮想プロセッ
サを識別する値とを保持する手段と、仮想計算機を識別
する値と前記TLBのマルチプロセッサフィールドを比
較する手段及び仮想プロセッサを識別する値と前記TL
Bの仮想プロセッサフィールドを比較する手段と、前記
TLBエントリの有効あるいは無効を判定する手段とを
さらに備えるのが好ましい。
【0015】また、本発明は、仮想計算機の論理アドレ
スを実計算機の絶対アドレスに変換するアドレス変換方
法において、アドレス変換手段及びプリフィクス変換手
段により仮想計算機の論理アドレスを仮想計算機の絶対
アドレスに変換し、各仮想プロセッサ毎のプリフィクス
値と絶対アドレスを比較し、該比較結果により両者が不
一致の場合、仮想計算機を識別しさらに仮想プロセッサ
間で共通な領域に対するエントリであることを示す値を
TLBに登録し、両者が一致した場合、仮想プロセッサ
間で共通な領域に対するエントリでないことを示す値を
TLBに登録する仮想計算機のアドレス変換方法を提供
する。
【0016】上記処理において、現在走行している仮想
計算機を識別する値とTLBのマルチプロセッサフィー
ルドを比較し、現在走行している仮想プロセッサを識別
する値とTLBの仮想プロセッサフィールドを比較し、
仮想計算機を識別する値とTLBのマルチプロセッサフ
ィールドが一致した時、及び仮想計算機を識別する値と
TLBのマルチプロセッサフィールドが不一致でかつ仮
想プロセッサを識別する値とTLBの仮想プロセッサフ
ィールドが一致したときにTLBのエントリを有効とす
るのが好ましい。
【0017】
【作用】本発明のアドレス変換装置では、TLBのマル
チプロセッサフィールドは、仮想計算機がマルチプロセ
ッサ構成の時の各仮想プロセッサ間で共通な領域のTLB
エントリと各仮想プロセッサ対応のプリフィクス領域の
TLBエントリを区別して表すことができる。仮想計算
機を識別しさらに仮想プロセッサ間で共通な領域に対す
るエントリであるか否かを示す値を設定する手段は、T
LBに登録するエントリが仮想プロセッサ間で共通な領
域に対するエントリか各仮想プロセッサ毎のプリフィク
ス領域に対するエントリかを区別して登録することがで
きる。各仮想プロセッサのプリフィクス値を保持する手
段と、該保持手段によって保持されたプリフィクス値と
前記プリフィクス変換手段によって求められた絶対アド
レスを比較する手段は、TLBに登録するエントリが仮
想プロセッサのプリフィクス領域に対するエントリであ
るか否かを判断することができる。
【0018】また、現在走行している仮想計算機を識別
する値と、現在走行している仮想プロセッサを識別する
値とを保持する手段と、仮想計算機を識別する値とTL
Bのマルチプロセッサフィールドを比較する手段及び仮
想プロセッサを識別する値とTLBの仮想プロセッサフ
ィールドを比較する手段は、TLBに登録されているエ
ントリが現在走行している仮想計算機の現在走行してい
る仮想プロセッサのエントリであるか否かを判断するこ
とができる。TLBエントリの有効あるいは無効を判定
する手段は、TLBにより各仮想プロセッサ間で共通な
領域あるいは各仮想プロセッサ対応のプリフィクス領域
に対するアドレス変換が行われたか否かを判定すること
ができる。
【0019】本発明のアドレス変換方法では、各仮想プ
ロセッサ毎のプリフィクス値と絶対アドレスを比較し、
両者が不一致の場合、仮想計算機を識別しさらに仮想プ
ロセッサ間で共通な領域に対するエントリであることを
示す値をTLBに登録し、両者が一致した場合、仮想プ
ロセッサ間で共通な領域に対するエントリでないことを
示す値をTLBに登録することにより、仮想プロセッサ
間で共通な領域に対するTLBエントリと各仮想プロセ
ッサのプリフィクス領域に対するTLBエントリを登録
することができる。
【0020】また、仮想計算機を識別する値とTLBの
マルチプロセッサフィールドが一致した時、及び仮想計
算機を識別する値とTLBのマルチプロセッサフィール
ドが不一致でかつ仮想プロセッサを識別する値とTLB
の仮想プロセッサフィールドが一致したときにTLBの
エントリを有効とすることにより、TLBにより各仮想
プロセッサ間で共通な領域あるいは各仮想プロセッサ対
応のプリフィクス領域に対するアドレス変換が行われた
ことになる。
【0021】これによれば、仮想プロセッサ間で共通な
領域に対するエントリと各仮想プロセッサ毎のプリフィ
クス領域に対するエントリを区別してTLBに登録する
ことができ、仮想プロセッサ間で共通な領域に対するエ
ントリを各仮想プロセッサ間で共通に使用可能とし、T
LBの使用効率を向上させ、仮想計算機の性能低下を抑
えることができる。
【0022】
【実施例】以下、本発明の実施例を図面により詳細に説
明する。
【0023】図4は、仮想計算機が実計算機に割当てら
れる形態を示す説明図である。図4において、実計算機
40の中の実主記憶装置40−1上で仮想計算機1 4
2−1及び仮想計算機2 42−2が走行する。仮想計
算機1 42−1は、仮想プロセッサ0(VP0)43
−1,仮想プロセッサ1(VP1)43−2の2つのプ
ロセッサから成るマルチプロセッサ構成をとっている。
仮想計算機2 42−2も同様にマルチプロセッサ構成
をとっている。各仮想プロセッサは各々プリフィクスレ
ジスタを保持しており、仮想プロセッサ0 43−1の
プリフィクスレジスタ(VPXR0)44−1は、例え
ば“0”を格納しているとし、仮想プロセッサ1(VP
1)43−2のプリフィクスレジスタ(VPXR1)4
4−2は、“α”を格納しているとする。その場合、仮
想計算機1 42−1の主記憶装置45−1上で、仮想
プロセッサ0(VP0)43−1のプリフィクス領域
(PSA)は0番地となり、仮想プロセッサ1(VP
1)43−2のプリフィクス領域(PSA)はα番地と
なる。また、仮想プロセッサ2 43−3のプリフィク
スレジスタ(VPXR2)44−3は、例えば“0”を
格納しているとし、仮想プロセッサ3(VP3)43−
4のプリフィクスレジスタ(VPXR3)44−4は、
“β”を格納しているとすると、仮想計算機2 42−
2の主記憶装置45−2上で、仮想プロセッサ2(VP
2)43−3のプリフィクス領域(PSA)は0番地と
なり、仮想プロセッサ3(VP3)43−4のプリフィ
クス領域(PSA)はβ番地となる。
【0024】表1は、走行仮想プロセッサに対する仮想
計算機を識別する値,仮想プロセッサを識別する値及
び、TLBに登録する値の関係を示す図である。
【0025】図4の構成において、仮想計算機1には仮
想計算機を識別する値として“1”を割当て、仮想計算
機2には“2”を割当てる。また、仮想プロセッサ0に
は仮想プロセッサを識別する値として“0”を割当て、
以下同様に仮想プロセッサ1,2,3に各々“1”,
“2”,“3”を割当てる。TLBのマルチプロセッサ
(MP)フィールドには、各仮想プロセッサのプリフィ
クス領域に対するエントリを登録する場合“0”を格納
し、仮想プロセッサ間で共通な領域に対するエントリを
登録する場合、仮想計算機を識別する値を格納する。
【0026】ここで、仮想プロセッサ0(VP0)が走
行する場合を考えると、表1に示すように仮想計算機1
に対応する仮想計算機を識別する値は“1”であり、仮
想プロセッサ0に対応する仮想プロセッサを識別する値
は“0”である。また、仮想プロセッサ0のエントリを
TLBに登録する場合、仮想プロセッサ0及び仮想プロ
セッサ1のプリフィクス領域のエントリに対して、TL
Bのマルチプロセッサ(MP)フィールドには“0”を
登録し、仮想プロセッサ(VP)フィールドには“0”を
登録する。仮想プロセッサ間で共通な領域のエントリに
対して、TLBのマルチプロセッサ(MP)フィールド
には“1”を登録し、仮想プロセッサ(VP)フィール
ドには“0”を登録する。
【0027】
【表1】
【0028】図1は、本発明のアドレス変換装置の実施
例の構成図である。
【0029】このアドレス変換装置は、論理アドレスレ
ジスタ(LAR)1,マルチプロセッサレジスタ(MP
R)2,仮想プロセッサレジスタ(VPR)3,仮想プ
ロセッサプリフィクスレジスタ(VPXR0,VPXR
1)4−1,4−2,アドレス変換回路5,プリフィク
ス変換回路5−1,MPフィールド設定回路6,アドレ
ス変換バッファ(TLB)7,比較回路(CMP)8,
9,AND回路10,OR回路11,絶対アドレスレジ
スタ(AAR)12から構成される。
【0030】図1の装置の動作は以下の通りである。論
理アドレスレジスタ1には、プログラムから発行された
論理アドレスが格納される。マルチプロセッサレジスタ
2には、現在走行している仮想計算機を識別する値が仮
想計算機制御テーブル41−1から、仮想計算機を起動
する時に格納される。仮想プロセッサレジスタ3には、
現在走行している仮想プロセッサを識別する値が仮想計
算機制御テーブル41−1から、仮想計算機を起動する
時に格納される。仮想プロセッサプリフィクスレジスタ
4−1,4−2には、現在走行している仮想計算機を構
成している各仮想プロセッサのプリフィクスレジスタの
値が仮想計算機制御テーブル41−1から、仮想計算機
を起動する時に格納される。
【0031】論理アドレスレジスタ1に格納されている
論理アドレスは、データ線101を通してTLB7を検
索する。当該論理アドレスに対するエントリがTLBに
登録されていない場合、アドレス変換回路5によってア
ドレス変換が実行され、さらにプリフィクス変換回路5
−1によってプリフィクス変換が実行される。プリフィ
クス変換によって求められた絶対アドレスは、データ線
102を通してMPフィールド設定回路6の入力とな
る。また、データ線120を通して絶対アドレスレジス
タ12の入力となる。MPフィールド設定回路6は、デ
ータ線102の絶対アドレスと仮想プロセッサプリフィ
クスレジスタ4−1,4−2の内容を比較し、絶対アド
レスがいずれかのレジスタの内容と一致した場合、仮想
プロセッサのプリフィクス領域であることを示す値(例
えば“0”)をデータ線104から出力する。また、絶
対アドレスがいずれのレジスタとも一致しなかった場
合、マルチプロセッサレジスタ2の内容をデータ線10
4から出力する。TLB7には、論理アドレスレジスタ
1に格納された論理アドレスに対応するエントリに対し
て、論理アドレスレジスタ1の一部をデータ線105を
通してLAフィールドに、アドレス変換回路5によって
求められた絶対アドレスをデータ線106を通してAA
フィールドに、MPフィールド設定回路から出力された
仮想プロセッサのプリフィクス領域であることを示す値
(“0”)あるいはマルチプロセッサレジスタ2の内容
をデータ線104を通してMPフィールドに、仮想プロ
セッサレジスタ3の内容をデータ線107を通してVP
フィールドにそれぞれ登録する。
【0032】また、TLB7を検索したときにTLB7
のMPフィールドは、データ線110を通して比較回路8
の入力となる。また、マルチプロセッサレジスタ2の内
容はデータ線111を通して比較回路8の入力となる。
比較回路8は、比較の結果両者が一致した場合、信号線
114,115を通して“1”を出力し、両者が不一致
の場合、信号線114,115を通して“0”を出力す
る。TLB7のVPフィールドは、データ線112を通
して比較回路9の入力となる。また、仮想プロセッサレ
ジスタ3の内容はデータ線113を通して比較回路9の
入力となる。比較回路9は、比較の結果両者が一致した
場合、信号線116を通して“1”を出力する。AND
回路10は、信号線115が“0”で信号線116が
“1”の時、信号線117に“1”を出力する。OR回
路11は、信号線114と117のいずれかの値が
“1”の時、信号線118に“1”を出力する。TLB
7のAAフィールドは、信号線118が“1”の時、絶
対アドレスレジスタ12に入力される。つまり、TLB
7によってアドレス変換が実行されたことになる。
【0033】本実施例によれば、各仮想プロセッサのプ
リフィクス領域のエントリをTLBに登録でき、さらに
仮想プロセッサ間で共通な領域に対するTLBエントリ
を、各仮想プロセッサ間で共通に使用可能となり、TL
Bの使用効率を向上させ、仮想計算機の性能低下を抑え
ることができる。
【0034】図5は、図1におけるMPフィールド設定
回路6の詳細構成例を示す図である。
【0035】本MPフィールド設定回路6は、比較回路
(CMP)6−1,6−2,OR回路6−3,セレクタ
(SEL)6−4から構成される。以下、本MPフィー
ルド設定回路の動作を説明する。
【0036】プリフィクス変換回路によって求められた
絶対アドレスはデータ線102を通して比較回路6−
1,6−2の入力となる。仮想プロセッサ0のプリフィ
クスレジスタ4−1の内容が比較回路6−1に、仮想プ
ロセッサ1のプリフィクスレジスタ4−2の内容が比較
回路6−2に入力される。比較回路6−1,6−2は、
絶対アドレスと各仮想プロセッサのプリフィクスレジス
タの値を比較し両者が一致した場合に信号線201およ
び202にそれぞれ“1”を出力する。OR回路6−3
は、信号線201と202のいずれかが“1”の時信号
線203に“1”を出力する。セレクタ6−4は、信号
線203が“0”の時データ線103のマルチプロセッ
サレジスタ2の内容をデータ線104に出力し、信号線
203が“1”の時データ線204の“0”をデータ線
104に出力する。これにより、TLB7に登録する絶
対アドレスが仮想プロセッサ間で共通な領域に対する場
合、データ線104に仮想計算機を識別する値(マルチ
プロセッサレジスタの内容)を出力し、各仮想プロセッ
サのプリフィクス領域に対する場合、データ線104に
仮想プロセッサ間で共通な領域でないことを示す値
(“0”)を出力する。
【0037】図6は、MPフィールド設定回路6の他の
実施例の詳細構成を示す図である。図6のMPフィール
ド設定回路6は、仮想プロセッサ・プリフィクスレジス
タスタック4−3,比較回路(CMP)6−1,セレク
タ(SEL)6−4から構成される。以下、本MPフィ
ールド設定回路の動作を説明する。
【0038】仮想プロセッサ・プリフィクスレジスタス
タック4−3には、各仮想プロセッサのプリフィクスレ
ジスタの値がスタックされる。プリフィクス変換回路に
よって求められた絶対アドレスはデータ線102を通し
て比較回路6−1の入力となる。仮想プロセッサ・プリ
フィクスレジスタスタック4−3の内容が比較回路6−
1に入力される。仮想プロセッサ・プリフィクスレジス
タスタック4−3からは、各仮想プロセッサのプリフィ
クスレジスタの値が読み出され、比較回路6−1によっ
て絶対アドレスと比較される。比較の結果、いずれかの
仮想プロセッサのプリフィクスレジスタの値と絶対アド
レスが一致した場合、比較回路6−1から“1”が出力
され、いずれの仮想プロセッサのプリフィクスレジスタ
の値とも一致しなかった場合、比較回路6−1から
“0”が出力される。セレクタ6−4は、前述と同様に
信号線203が“0”の時データ線103からマルチプ
ロセッサレジスタ2の内容をデータ線104に出力し、
信号線203が“1”の時データ線204から“0”を
データ線104に出力する。以上説明した実施例によれ
ば、仮想プロセッサの数に関係なく比較回路が1個で実
現できる。
【0039】次に、本発明におけるアドレス変換方法に
ついて説明する。図7は、第2の観点におけるアドレス
変換方法によって動作するアドレス変換装置の構成図で
ある。図8は、本発明におけるアドレス変換方法のTL
Bに登録する処理の動作を示す図である。図8に示す処
理は、図7の装置のTLBエントリ登録方法41−3に
おいて実行される。以下、図8の処理について説明す
る。
【0040】論理アドレスは、アドレス変換及びプリフ
ィクス変換によって絶対アドレスに変換される。(ステ
ップ301) マルチプロセッサを構成する複数の仮想プロセッサの
内、最初の仮想プロセッサを指定する。(ステップ30
2) ステップ301によって求められた絶対アドレスと指定
された仮想プロセッサのプリフィクスレジスタの値が比
較され、両者が一致した場合、ステップ305へ進む。
比較の結果両者が一致しなかった場合、ステップ304
へ進む。(ステップ303) マルチプロセッサを構成する全ての仮想プロセッサを指
定したか否かを判定し、全ての仮想プロセッサを指定し
た場合、ステップ306へ進む。全ての仮想プロセッサ
を指定していない場合、ステップ307へ進む。(ステ
ップ304) TLBのMPフィールドに、仮想プロセッサのプリフィ
クス領域に対するエントリであることを示す値“0”を
登録する。(ステップ305) TLBのMPフィールドに、仮想プロセッサ間で共通の
領域に対するエントリであることを示すMPRの値を登
録する。(ステップ306) マルチプロセッサを構成する次の仮想プロセッサを指定
する。(ステップ307)TLBの各フィールドに、論理ア
ドレスの一部(LAフィールド),絶対アドレス(AA
フィールド),仮想プロセッサを識別する値(VPフィ
ールド)を登録する。(ステップ308) 図9は、本発明におけるアドレス変換方法のTLBに登
録されているエントリが有効か否かを判定する処理の動
作を示す図である。図9に示す処理は、図7の装置のT
LBエントリ判定方法41−2において実行される。以
下、図9の処理について説明する。
【0041】論理アドレスによってTLBを検索し、仮
想計算機を識別する値(マルチプロセッサレジスタMP
Rの内容)と、TLBのマルチプロセッサフィールドの
値を比較する。比較の結果、両者が一致した場合、ステ
ップ403へ進み、両者が一致しなかった場合、ステッ
プ402へ進む。(ステップ401) 仮想プロセッサを識別する値(仮想プロセッサレジスタ
VPRの内容)と、TLBの仮想プロセッサフィールド
の値を比較する。比較の結果、両者が一致した場合、ス
テップ403へ進み、両者が一致しなかった場合、ステ
ップ404へ進む。(ステップ402) TLBによるアドレス変換が実行されたことを意味し、
TLBに登録されている絶対アドレスを絶対アドレスレ
ジスタに設定する。(ステップ403) TLBによるアドレス変換が失敗したことをいみし、T
LBミスをアドレス変換回路に報告し、アドレス変換回
路によるアドレス変換を実行する。(ステップ404) 以上説明したように本実施例によれば、各仮想プロセッ
サのプリフィクス領域に対するTLBエントリと仮想プ
ロセッサ間で共通な領域に対するTLBエントリをTL
Bに登録でき、さらに、TLBを使用して各仮想プロセ
ッサのプリフィクス領域と仮想プロセッサ間で共通な領
域に対するアドレス変換が可能となり、仮想計算機の性
能低下を抑えることができる。
【0042】
【発明の効果】本発明によれば、各仮想プロセッサのプ
リフィクス領域のエントリをTLBに登録でき、さらに
仮想プロセッサ間で共通な領域に対するTLBエントリ
を、各仮想プロセッサ間で共通に使用可能となり、TL
Bの使用効率を向上させ、仮想計算機の性能低下を抑え
ることができる。
【図面の簡単な説明】
【図1】本発明のアドレス変換装置の実施例の構成図。
【図2】アドレス変換及びプリフィクス変換の過程を示
す説明図。
【図3】プリフィクス変換の例を示す説明図。
【図4】仮想計算機が実計算機に割当てられる形態を示
す説明図。
【図5】図1のMPフィールド設定回路の詳細構成例を
示す図。
【図6】MPフィールド設定回路の他の実施例の詳細構
成を示す図。
【図7】第2の観点におけるアドレス変換方法によって
動作するアドレス変換装置の構成図。
【図8】本発明におけるアドレス変換方法のTLBに登
録する処理の動作を示す図。
【図9】本発明におけるアドレス変換方法のTLBに登
録されているエントリが有効か否かを判定する処理の動
作を示す図。
【符号の説明】
1…論理アドレスレジスタ(LAR)、2…マルチプロセ
ッサレジスタ(MPR)、3…仮想プロセッサレジスタ
(VPR)、4−1〜2…仮想プロセッサプリフィクス
レジスタ(VPXR0,VPXR1)、4−3…仮想プ
ロセッサ・プリフィクスレジスタスタック、5…アドレ
ス変換回路、5−1…プリフィクス変換回路、6…MP
フィールド設定回路、6−1〜2,8,9…比較回路
(CMP)、6−3,11…OR回路,6−4…セレク
タ(SEL)、7…アドレス変換バッファ(TLB)、
10…AND回路、12…絶対アドレスレジスタ(AA
R)、40…実計算機、40−1…実プロセッサ、40
−2…実記憶装置、41−1…仮想計算機制御テーブ
ル、41−2…TLBエントリ判定方法、41−3…TL
Bエントリ登録方法、42−1〜2…仮想計算機、43
−1〜4…仮想プロセッサ、44−1〜4…仮想プロセ
ッサのプリフィクスレジスタ、45−1〜2…仮想計算
機の主記憶装置。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】仮想計算機の論理アドレスを保持する手段
    と、仮想計算機の論理アドレスを実計算機の絶対アドレ
    スに変換する変換対を保持するアドレス変換バッファ(T
    LB)と、仮想計算機の実アドレスを仮想計算機の絶対ア
    ドレスに変換するプリフィクス変換手段と、仮想計算機
    の論理アドレスを仮想計算機の実アドレスに変換するア
    ドレス変換手段と、主記憶装置を参照する絶対アドレス
    を保持する手段とを有するアドレス変換装置において、 仮想計算機が複数台の仮想プロセッサからなるマルチプ
    ロセッサ構成で、各仮想計算機を識別しさらに仮想プロ
    セッサ間で共通な領域に対するエントリであるか否かを
    示す値を格納するマルチプロセッサフィールドと、マル
    チプロセッサを構成する各仮想プロセッサを識別する値
    を格納する仮想プロセッサフィールドとを前記TLBに
    追加し、 各仮想プロセッサのプリフィクス値を保持する手段と、
    該保持手段によって保持されたプリフィクス値と前記プ
    リフィクス変換手段によって求められた絶対アドレスと
    を比較する手段と、該比較手段の比較結果によって前記
    マルチプロセッサフィールドに各仮想計算機を識別しさ
    らに仮想プロセッサ間で共通な領域に対するエントリで
    あるか否かを示す値を設定する手段とを備えることを特
    徴とする仮想計算機のアドレス変換装置。
  2. 【請求項2】現在走行している仮想計算機を識別する値
    と、現在走行している仮想プロセッサを識別する値とを
    保持する手段と、仮想計算機を識別する値と前記TLB
    のマルチプロセッサフィールドを比較する手段及び仮想
    プロセッサを識別する値と前記TLBの仮想プロセッサ
    フィールドを比較する手段と、前記TLBエントリの有
    効あるいは無効を判定する手段とをさらに備えることを
    特徴とする請求項1の仮想計算機のアドレス変換装置。
  3. 【請求項3】仮想計算機の論理アドレスを実計算機の絶
    対アドレスに変換するアドレス変換方法において、 アドレス変換手段及びプリフィクス変換手段により仮想
    計算機の論理アドレスを仮想計算機の絶対アドレスに変
    換し、 各仮想プロセッサ毎のプリフィクス値と絶対アドレスを
    比較し、 該比較結果により両者が不一致の場合、仮想計算機を識
    別しさらに仮想プロセッサ間で共通な領域に対するエン
    トリであることを示す値をTLBに登録し、両者が一致
    した場合、仮想プロセッサ間で共通な領域に対するエン
    トリでないことを示す値をTLBに登録する仮想計算機
    のアドレス変換方法。
  4. 【請求項4】現在走行している仮想計算機を識別する値
    とTLBのマルチプロセッサフィールドを比較し、 現在走行している仮想プロセッサを識別する値とTLB
    の仮想プロセッサフィールドを比較し、 仮想計算機を識別する値とTLBのマルチプロセッサフ
    ィールドが一致した時、及び仮想計算機を識別する値と
    TLBのマルチプロセッサフィールドが不一致でかつ仮
    想プロセッサを識別する値とTLBの仮想プロセッサフ
    ィールドが一致したときにTLBのエントリを有効とす
    る請求項3の仮想計算機のアドレス変換方法。
JP3165357A 1991-07-05 1991-07-05 仮想計算機のアドレス変換装置及びアドレス変換方法 Pending JPH0512126A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3165357A JPH0512126A (ja) 1991-07-05 1991-07-05 仮想計算機のアドレス変換装置及びアドレス変換方法
US07/909,308 US5437016A (en) 1991-07-05 1992-07-06 Apparatus and method for translating logical addresses for virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3165357A JPH0512126A (ja) 1991-07-05 1991-07-05 仮想計算機のアドレス変換装置及びアドレス変換方法

Publications (1)

Publication Number Publication Date
JPH0512126A true JPH0512126A (ja) 1993-01-22

Family

ID=15810833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3165357A Pending JPH0512126A (ja) 1991-07-05 1991-07-05 仮想計算機のアドレス変換装置及びアドレス変換方法

Country Status (2)

Country Link
US (1) US5437016A (ja)
JP (1) JPH0512126A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503115A (ja) * 2006-09-22 2010-01-28 インテル コーポレイション 仮想マシン環境におけるゲスト間での情報の共有
JP5412504B2 (ja) * 2009-02-17 2014-02-12 パナソニック株式会社 マルチスレッドプロセッサ及びデジタルテレビシステム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
US6427162B1 (en) * 1996-05-02 2002-07-30 Sun Microsystems, Inc. Separate code and data contexts: an architectural approach to virtual text sharing
US5956754A (en) * 1997-03-03 1999-09-21 Data General Corporation Dynamic shared user-mode mapping of shared memory
JPH11296381A (ja) * 1998-04-08 1999-10-29 Matsushita Electric Ind Co Ltd 仮想マシン及びコンパイラ
EP1182570A3 (en) * 2000-08-21 2004-08-04 Texas Instruments Incorporated TLB with resource ID field
EP1182568A3 (en) * 2000-08-21 2004-07-21 Texas Instruments Incorporated TLB operation based on task-id
EP1182571B1 (en) * 2000-08-21 2011-01-26 Texas Instruments Incorporated TLB operations based on shared bit
US7073044B2 (en) 2001-03-30 2006-07-04 Intel Corporation Method and apparatus for sharing TLB entries
US6728858B2 (en) 2001-03-30 2004-04-27 Intel Corporation Method and apparatus including heuristic for sharing TLB entries
US7069413B1 (en) 2003-01-29 2006-06-27 Vmware, Inc. Method and system for performing virtual to physical address translations in a virtual machine monitor
WO2004104825A1 (en) * 2003-05-15 2004-12-02 Applianz Technologies, Inc. Systems and methods of creating and accessing software simulated computers
US7093100B2 (en) * 2003-11-14 2006-08-15 International Business Machines Corporation Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes
EP1736887A3 (fr) * 2005-05-31 2009-04-22 Stmicroelectronics Sa Repertoire de pages memoire
JP2007052673A (ja) * 2005-08-18 2007-03-01 Nec Corp ジョブ管理システム、ジョブ管理方法、及びジョブ管理プログラム
JP4744480B2 (ja) * 2007-05-30 2011-08-10 株式会社日立製作所 仮想計算機システム
US9830275B2 (en) * 2015-05-18 2017-11-28 Imagination Technologies Limited Translation lookaside buffer

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
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
JPS60142451A (ja) * 1983-12-29 1985-07-27 Fujitsu Ltd アドレス変換制御方式
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH01255945A (ja) * 1988-04-06 1989-10-12 Hitachi Ltd 仮想計算機におけるアドレス変換装置
JPH0293952A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503115A (ja) * 2006-09-22 2010-01-28 インテル コーポレイション 仮想マシン環境におけるゲスト間での情報の共有
JP5412504B2 (ja) * 2009-02-17 2014-02-12 パナソニック株式会社 マルチスレッドプロセッサ及びデジタルテレビシステム

Also Published As

Publication number Publication date
US5437016A (en) 1995-07-25

Similar Documents

Publication Publication Date Title
JP2825550B2 (ja) 多重仮想空間アドレス制御方法および計算機システム
JPH0512126A (ja) 仮想計算機のアドレス変換装置及びアドレス変換方法
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JPS6341100B2 (ja)
JPS61206057A (ja) アドレス変換装置
JPH0816536A (ja) マルチプロセッサシステム
JPH0137773B2 (ja)
US7035986B2 (en) System and method for simultaneous access of the same line in cache storage
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
KR910001314B1 (ko) 데이타 처리 시스템에서의 가상 메모리 사용방법
JP2561261B2 (ja) バッファ記憶アクセス方法
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US5727179A (en) Memory access method using intermediate addresses
JPH04354039A (ja) アドレス変換装置
JPH05257796A (ja) 分散共有型メモリ管理方式
US6990556B2 (en) System and method for simultaneous access of the same doubleword in cache storage
JP2503702B2 (ja) アドレス変換装置
JPS59173828A (ja) デ−タ処理システム
JPS6059621B2 (ja) バッファ無効化制御方式
JPS5858752B2 (ja) アドレス変換装置
JP2612173B2 (ja) 仮想計算機
JPH04156620A (ja) 仮想計算機システム
JPH0679296B2 (ja) 多重仮想アドレス空間アクセス方法およびデータ処理装置
JP2742245B2 (ja) 並列計算機
JPH04355847A (ja) ストアバッファ制御装置