JPH0981459A - アドレス変換バッファ装置 - Google Patents

アドレス変換バッファ装置

Info

Publication number
JPH0981459A
JPH0981459A JP7239385A JP23938595A JPH0981459A JP H0981459 A JPH0981459 A JP H0981459A JP 7239385 A JP7239385 A JP 7239385A JP 23938595 A JP23938595 A JP 23938595A JP H0981459 A JPH0981459 A JP H0981459A
Authority
JP
Japan
Prior art keywords
address
guest
translation buffer
address translation
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.)
Pending
Application number
JP7239385A
Other languages
English (en)
Inventor
Koji Kawamoto
浩二 川元
Hiromichi Kaino
博通 戒能
Kunimoto Momohara
国基 桃原
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP7239385A priority Critical patent/JPH0981459A/ja
Priority to US08/714,395 priority patent/US5924127A/en
Publication of JPH0981459A publication Critical patent/JPH0981459A/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)【要約】 【目的】 仮想計算機方式でのアドレス変換バッファの
無効化に費やす処理時間を短縮する。 【構成】 アドレス変換バッファ21を計算機属性30
によりホスト領域/ゲスト領域といった複数の領域に分
割する。カラム制御回路41,42,43に対し、仮想
アドレス下位部32に加え、計算機属性30を入力する
ことにより、アドレス変換バッファ21へのアクセスを
分割した領域単位に行なえるようにする。これにより、
アドレス変換バッファ21の無効化におけるエントリの
サーチ処理の時も、カラム制御回路41,42,43を
通して、指定する計算機属性で登録されているエントリ
にのみサーチ処理が行え、サーチ処理のエントリ数を削
減できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、アドレス変換バッファ
を備えた仮想計算機方式の情報処理装置に係り、特にア
ドレス変換バッファのエントリの無効化に費やす実効的
な処理時間を短縮するのに好適なアドレス変換バッファ
構成に関する。
【0002】
【従来の技術】一般に仮想記憶の情報処理装置は、仮想
アドレスから実アドレスへのアドレス変換処理を行うと
きに2つの変換テーブルを利用する。その変換テーブル
とは、仮想アドレスをセグメントと呼ばれる単位で管理
するためのセグメントテーブルとそのセグメントをさら
に細かく分割し、ページと呼ばれる単位で管理するため
のページテーブルである。前記セグメントテーブルはエ
ントリとして各ページテーブルの先頭アドレスを保持
し、前記ページテーブルはエントリとして各ページの実
ページアドレスを保持する。図5に、セグメントテーブ
ルとページテーブルによるアドレス変換処理の概念図を
示す。また、図6に仮想アドレス空間と実アドレス空間
の対応関係の概念図を示す。
【0003】ところで、この種の情報処理装置は、図5
のようなアドレス変換処理を高速に行なうために、以前
にセグメント/ページテーブル参照によるアドレス変換
処理により求めた仮想アドレスと実アドレスとの対を含
むエントリを複数格納する専用のアドレス変換バッファ
を備えている。情報処理装置は、仮想アドレスを実アド
レスへ変換する要求があると、要求のあった仮想アドレ
スが既にアドレス変換バッファに格納されていれば、そ
の仮想アドレスに対応する実アドレスをアドレス変換バ
ッファから読出す。
【0004】この仮想記憶の情報処理装置においては、
既にアドレス変換バッファに登録されているエントリが
不要となる場合があり、このエントリに対して無効化処
理を実行する。この処理をパージ処理という。アドレス
変換バッファへのパージ処理を行なう命令としてIPT
E(Invalidate Page Table Entry ;ページテーブ
ルエントリの無効化)命令がある。IPTE命令によ
り、指定されたページテーブルエントリが無効化される
ため、該ページテーブルエントリを使用してアドレス変
換バッファに登録されたエントリがある場合、該エント
リも無効化する必要がある。
【0005】一方、仮想計算機方式は、1台の実計算機
上で複数のOperating System(OS)が実行可能な方
式である。1つ1つのOSは複数のユーザプログラム
(AP)を実行し、独立した計算機のように見えるの
で、仮想計算機と呼ばれる。仮想計算機方式における各
OSをゲスト、これらOSを管理するControl Progra
m(CP)をホストと呼ぶ。図7に、仮想計算機方式の
概念図を示す。これは、CP(ホスト)の制御下で、二
つのOS(ゲスト)が各々独立に動作することを示して
いるが、さらに、それぞれのOSの下で別のOSを動作
させることもできる。
【0006】仮想計算機方式では、ゲストのアドレス空
間はホストの仮想アドレス空間に割り当てられ、さらに
各ゲスト上でゲスト仮想アドレスからゲスト実アドレス
に変換するゲストアドレス変換処理とホスト上でのホス
ト仮想アドレスからホスト実アドレスに変換するホスト
アドレス変換処理との2段階のアドレス変換処理により
システム全体のメモリ管理を行なっている。このため、
ゲスト仮想アドレスからゲスト実アドレスを求めるため
のゲスト変換テーブルとホスト仮想アドレスからホスト
実アドレスを求めるためのホスト変換テーブルを設置し
ている。図8に、仮想計算機方式でのアドレス変換の概
念図を示す。
【0007】ゲスト上のゲスト仮想アドレスは、ゲスト
上のゲスト変換テーブルによりゲスト仮想アドレスをゲ
スト実アドレス、すなわちホスト仮想アドレスに変換さ
れ(ゲストアドレス変換)、さらにホスト上のホスト変
換テーブルにより、このホスト仮想アドレスをホスト実
アドレスに変換する(ホスト変換テーブル)、2回のア
ドレス変換処理がおこなわれる。一方、ホスト上のホス
ト仮想アドレスは、ホスト上のホスト変換テーブルによ
りホスト仮想アドレスからホスト実アドレスへアドレス
変換される。
【0008】これらの結果、ゲスト仮想アドレスをアド
レス変換バッファに登録する場合には、ゲスト仮想アド
レスとホスト実アドレスの対を含むエントリを登録す
る。ホスト仮想アドレスを登録する場合には、ホスト仮
想アドレスとホスト実アドレスの対を含むエントリを登
録する。従って、図8に一例を示すように、アドレス変
換バッファには、同一のホスト実アドレスに対してゲス
ト仮想アドレスとホスト仮想アドレスが登録される可能
性がある。そこで登録するエントリにホスト/ゲストの
区別を行なうフィールド(以下、計算機属性と呼ぶ)を
持ち、アドレス変換バッファへアドレス等と同時に登録
する。これにより、アドレス変換バッファに登録したエ
ントリがゲスト仮想アドレスかホスト仮想アドレスかを
区別できるようにしている。
【0009】仮想計算機方式におけるIPTE命令で
は、指定されたページテーブルエントリの無効化処理と
該ページテーブルエントリを使用してアドレス変換バッ
ファに登録されたエントリがある場合の該エントリの無
効化処理が行なわれる。しかし、無効化するページテー
ブルエントリがゲストページテーブルエントリかホスト
ページテーブルエントリであるかによってアドレス変換
バッファのエントリの無効化処理が異なる。図9に、仮
想計算機方式でページテーブルエントリの無効化による
アドレス変換バッファの無効化の概念図を示す。
【0010】まず、ゲストページテーブルエントリを無
効化する場合、無効化する該エントリとホスト変換テー
ブルとを使用したアドレス変換処理によって得られたホ
スト実アドレスとアドレス変換バッファに既に登録され
ているホスト実アドレスとを比較し、一致するエントリ
を無効化する。この場合、アドレス変換バッファ内の比
較するエントリは、無効化するゲストページテーブルエ
ントリが示すゲスト仮想アドレスを含むエントリのみで
ある(図9(a))。
【0011】次に、ホストページテーブルエントリを無
効化する場合、無効化する該エントリを使用したアドレ
ス変換処理によって得られたホスト実アドレスとアドレ
ス変換バッファに既に登録されているホスト実アドレス
とを比較し、一致するエントリを無効化する。この場
合、アドレス変換バッファ内の比較するホスト仮想アド
レスを登録しているエントリは、無効化するホストペー
ジテーブルエントリが示すホスト仮想アドレスを含むエ
ントリのみである。しかし、ゲスト仮想アドレスを登録
しているエントリは、無効化するホストページテーブル
エントリでは、ゲスト仮想アドレスを特定できない。従
って、アドレス変換バッファの全エントリを比較し、ホ
スト実アドレスが一致したエントリに対して無効化処理
を行なう(図9(b))。
【0012】このように仮想計算機方式では、ホスト上
でのIPTE命令により全エントリに対しての逐一サー
チが行われることがある。近年の仮想記憶方式の情報処
理装置では、アドレス変換バッファの容量が増大し、そ
のことによりアドレス変換処理におけるアドレス変換バ
ッファのヒット率が向上している。しかし、アドレス変
換バッファのエントリ数が増加したことにより、先に述
べたホストのIPTE命令ではサーチが必要となるエン
トリ数が増加する。従って、仮想計算機方式では、パー
ジ処理時の全エントリサーチにかかるオーバヘッドが問
題となってくる。
【0013】
【発明が解決しようとする課題】従来技術におけるアド
レス変換バッファ装置の構成例を図10に示す。アドレ
ス変換バッファ21への登録は、アドレス変換バッファ
入力レジスタ20における仮想アドレス下位部32で示
されるカラムに対し、該入力レジスタ20中の仮想アド
レス上位部31、実アドレス33、及び計算機属性30
を一組にして書き込むことにより行なわれる。アドレス
変換バッファ21に対する参照要求があると、入力レジ
スタ20の仮想アドレス下位部32で示されるカラムを
読み出し、その仮想アドレス上位部出力36と入力レジ
スタ20の仮想アドレス上位部31とを比較回路23で
比較し、一致すると、有効判定回路24により、当該カ
ラムの実アドレス出力37を実アドレス出力レジスタ2
2に設定する。バリットビット34は、当該カラムが有
効か否かを示し、例えば、有効は“1”、無効は“0”
となるものである。
【0014】この従来のアドレス変換バッファ構成で
は、エントリは仮想アドレス下位部32で示されるカラ
ムに連想的に登録されるため、計算機属性30に関して
は連想されない。従って、先に述べたとおり、ホスト上
でのIPTE命令によってパージ処理を実行するとき、
アドレス変換バッファ内のどのエントリにどの計算機属
性が登録されているかが不明であることから、アドレス
変換バッファの全エントリをサーチする必要がある。
【0015】本発明の目的は、前記問題点を解決し、ア
ドレス変換バッファを備えた仮想計算機方式の情報処理
装置において、大容量のアドレス変換バッファを使用し
た場合でも、アドレス変換バッファのパージ処理の高速
化を図ることにある。
【0016】
【課題を解決するための手段】本発明は、アドレス変換
バッファを計算機属性により連続した複数の領域に分割
し、仮想アドレスと実アドレスの対を含む各エントリ
を、その計算機属性に従ってアドレス変換バッファに登
録することで、パージ処理の際に従来技術ではアドレス
変換バッファの全エントリのサーチが必要な場合でも、
サーチする計算機属性を特定して、サーチに要するエン
トリの数を削減するようにしたことである。
【0017】図1は、本発明のアドレス変換バッファ装
置の一般的構成を示すブロック図である。図において、
アドレス変換バッファ21は、仮想アドレスの種類を示
す計算機属性により、ホスト領域、ゲスト領域、さらに
はゲストの配下のサブゲスト領域といった複数の領域
(1〜N領域)に分割される。カラム制御回路41、4
2、43は、該アドレス変換バッファ21の各領域に対
応して、アドレス変換バッファ入力レジスタ20の仮想
アドレス下位部32に加え、計算機属性30を入力する
ことにより、アドレス変換バッファ21の各領域対応
に、該アドレス変換バッファ21への格納、読出しを行
なうエントリを決定する。また、パージ処理を実行する
時にも、このカラム制御回路41,42,43を通し
て、アドレス変換バッファ21のサーチ領域を特定す
る。
【0018】
【作用】アドレス変換処理の結果をアドレス変換バッフ
ァ21に登録するときは、アドレス変換バッファ入力レ
ジスタ20における仮想アドレス上位部31と登録用実
アドレス33の対を含む計算機属性30、バリッドビッ
ト34などを、カラム制御回路41、42あるいは43
により決定された該当領域の該当エントリに登録する。
また、アドレス変換バッファ21に対する参照要求があ
ると、同様にカラム制御回路41、42あるいは43に
より決定されたアドレス変換バッファ21の該当領域の
該当エントリを読み出し、その仮想アドレス上位出力3
6部と入力レジスタ20の仮想アドレス上位部31とを
比較回路23で比較し、一致の場合、実アドレス出力3
7を実アドレス出力レジスタ22の上位に設定する。実
アドレス出力レジスタ22の下位には、入力レジスタ2
0のオフセットアドレスがそのまま設定される。
【0019】IPTE命令の実行の際は、計算機属性3
0に従い、次の様に処理を行なう。ゲストページテーブ
ルに対するIPTE命令の場合は、指定されたゲストペ
ージテーブルエントリを無効化するとともに、カラム制
御回路41、42あるいは43を通し、計算機属性30
がゲストであるアドレス変換バッファ21の該当領域を
アクセスし、出力したホスト実アドレス37が無効化す
るゲストページテーブルエントリのホスト実アドレスと
一致した場合、そのエントリのバリッドビット34を無
効化する。ホストページテーブルに対するIPTE命令
の場合は、指定されたホストページテーブルエントリを
無効化するとともに、同様にカラム制御回路41、42
あるいは43を通し、計算機属性30がホストであるア
ドレス変換バッファ21の該当領域をアクセスし、出力
したホスト実アドレス37が無効化するホストページテ
ーブルエントリのホスト実アドレスと一致した場合、そ
のエントリのバリッドビットを無効化する。さらに、ゲ
スト仮想アドレスがそのホスト仮想アドレスに割り当て
られていることがあるため、アドレス変換バッファ21
の計算機属性ゲストの領域の全エントリをサーチし、ホ
スト実アドレスが一致したエントリの無効化処理を行な
う。
【0020】図2に、計算機属性によるアドレス変換バ
ッファの分割の一例を示す。図2(a)は計算機属性に
よる分割前の状態、図2(b)は分割後の状態で、ここ
ではホスト領域とゲスト領域の二つに分割される例を示
している。図2(b)の場合、ゲストページテーブルに
対するIPTE命令では、ゲスト領域をサーチすればよ
いため、サーチに要するエントリ数を削減でき、アドレ
ス変換バッファのバージ処理の高速化が達成される。
【0021】
【実施例】以下、本発明の実施例を図面により詳細に説
明する。
【0022】図3は本発明の第1の実施例の構成を示す
ブロック図である。図において、20はアドレス変換バ
ッファへの入力レジスタである。この入力レジスタ20
は、データの内容により仮想アドレス上位部31、仮想
アドレス下位部32、計算機属性フィールド30、アド
レス変換バッファ分割イネーブルビット51、実アドレ
ス33、バリッド34、オフセットアドレス35に分け
られる。21はアドレス変換バッファであり、各エント
リは仮想アドレス上位部31、計算機属性(ここではホ
スト/ゲスト)30、実アドレス33およびバリッドビ
ット34を登録している。36はアドレス変換バッファ
21からの仮想アドレス上位部出力、37はアドレス変
換バッファ21からの実アドレス出力である。22は実
アドレスの出力レジスタである。23は比較回路で、ア
ドレス変換バッファ参照時、入力レジスタ20の仮想ア
ドレス上位部31とアドレス変換バッファ21からの仮
想アドレス上位部出力36との比較を行う。24は実ペ
ージアドレスの有効判定回路である。41はホスト仮想
アドレスに対するカラム制御回路(ホストカラム制御回
路)、42はゲスト仮想アドレスに対するカラム制御回
路(ゲストカラム制御回路)である。本実施例では、計
算機属性の値が“0”のとき、そのときの仮想アドレス
はホスト仮想アドレスとして取り扱われ、計算機属性の
値が“1”のときは、ゲスト仮想アドレスとして取り扱
われるとする。
【0023】図3(a)は、アドレス変換バッファ21
を計算機属性により、ホスト仮想アドレスの下位部が連
続して登録されているエントリの領域(ホスト領域)2
1−1とゲスト仮想アドレスの下位部が連続して登録さ
れているエントリの領域(ゲスト領域)21−2とに、
同一エントリ数ずつ2分割することを示す図である。以
下、この図3(a)により、アドレス変換バッファ21
を分割した場合のエントリの登録、読み出し、パージの
処理を説明する。この場合、アドレス変換バッファイネ
ーブル51は“1”にセットされ、固定されている。
【0024】アドレス変換処理により仮想アドレスに対
応した実アドレスが求められると、仮想アドレスと実ア
ドレスの対を含むエントリをアドレス変換バッファ21
に登録するために、アドレス変換バッファ入力レジスタ
20に計算機属性30、仮想アドレス上位部31、仮想
アドレス下位部32、実アドレス33の各値がセットさ
れる。該入力レジスタ20の計算機属性30が“0”の
ときはホスト仮想アドレスとして取り扱われ、ホストカ
ラム制御回路41にアドレス変換バッファイネーブル5
1の“1”、計算機属性30の“0”及び仮想アドレス
下位部32を入力することにより、アドレス変換バッフ
ァ21におけるホスト領域21−1内の仮想アドレス下
位部32によって示されたカラムに、入力レジスタ20
の仮想アドレス上位部31、計算機属性30、実アドレ
ス33の各値及び該エントリの有効性を示すバリッドビ
ット34の“1”を書込み、該エントリからの読み出し
を可能とする。また、入力レジスタ20の計算機属性3
0が“1”のときはゲスト仮想アドレスとして取り扱わ
れ、ゲストカラム制御回路42にアドレス変換バッファ
イネーブル51の“1”、計算機属性30の“1”及び
仮想アドレス下位部32を入力することにより、アドレ
ス変換バッファ21におけるゲスト領域21−2内の仮
想アドレス下位部32によって示されたカラムに、入力
レジスタ20の仮想アドレス上位部31、計算機属性3
0、実アドレス33の各値及び該エントリのバリッドビ
ット34として“1”を書込み、該エントリからの読み
出しを可能とする。
【0025】このように、計算機属性30をカラム制御
に使用することにより、アドレス変換バッファをホスト
領域/ゲスト領域に分割することが可能となる。
【0026】アドレス変換バッファ21に既に登録され
ているエントリを読み出す場合も、入力レジスタ20の
計算機属性が“0”のときは、ホストカラム制御回路4
1にアドレス変換バッファイネーブル51の“1”、計
算機属性30の“0”及び仮想アドレス下位部32を入
力することにより、アドレス変換バッファ21における
ホスト領域21−1内の仮想アドレス下位部32によっ
て示されたカラムから、仮想アドレス上位部出力36と
実アドレス出力37が読み出される。また計算機属性が
“1”のときは、ゲストカラム制御回路42にアドレス
変換バッファイネーブル51の“1”、計算機属性30
の“1”及び仮想アドレス下位部32を入力することに
より、アドレス変換バッファ21におけるゲスト領域2
1−2内の仮想アドレス下位部32によって示されたカ
ラムから、仮想アドレス上位部出力36と実アドレス出
力37が読み出される。この読み出された仮想アドレス
上位部出力36は、入力レジスタ20の仮想アドレス上
位部31と比較回路23にて比較され、一致した場合
は、“1”を有効判定回路23に出力する。この時、有
効判定回路23はアドレス変換バッファ21からの実ア
ドレス出力37を有効とし、実アドレス出力レジスタ2
2にセットする。比較回路23の入力が一致しない場合
は、図5に示すようなアドレス変換処理を行ない、上記
計算機属性にしたがってアドレス変換バッファ21へ登
録したあとで、再読出しを行なう。
【0027】アドレス変換バッファ21を、図3(a)
このように2分割した場合、分割しない場合と比べて総
容量は変化しないが、仮想アドレス下位部32として入
力できるカラム数は半分となる。従って、減少したアド
レスのビット分は、仮想アドレス上位部31としてアド
レス変換バッファ21に書込まれるため、図3(a)
2、3ビット分の容量が増える。しかし、もともとアド
レス変換バッファ21は、4バイト程度のビット幅を持
っているため、この増加は、全体量からは、大きな増加
ではない。
【0028】アドレス変換バッファ21のパージ処理で
は、ホスト領域21−1、ゲスト領域21−2のエント
リによらず、ホスト制御回路41あるいはゲストカラム
制御回路42に無効化するエントリに対して仮想アドレ
ス下位部31をカラムとして入力することで、そのエン
トリのバリッドビット34に“0”を書き込む。これに
より、次にこのカラムにエントリが登録されるまで、該
エントリは読出し不可となる。
【0029】ホストページテーブルエントリを無効化す
るIPTE命令において、ホスト仮想アドレスでアドレ
ス変換バッファ21に登録したエントリの無効化のほ
か、ゲスト仮想アドレスでアドレス変換バッファ21に
登録したエントリの無効化においてエントリをサーチ処
理する時には、アドレス変換バッファ21は、計算機属
性30によりホスト領域21−1、ゲスト領域21−2
に分割されているため、ゲスト領域21−2内のエント
リのみサーチを行えばよい。
【0030】この場合、アドレス変換バッファイネーブ
ル51の“1”、計算機属性30の“1”、及び仮想ア
ドレス下位部32をゲストカラム制御回路42に入力
し、仮想アドレス下位部32の値は、“0”から“1”
ずつ加算した値をカラムとして入力する。そして、各エ
ントリに登録された実アドレスを読み出し、無効化する
ページテーブルエントリの実アドレスと比較して、一致
したエントリのバリッド34に“0”を入力する。これ
により、アドレス変換バッファ21のゲスト領域21−
2に対してのみサーチ処理が行われる。
【0031】このように、図3(a)では、アドレス変
換バッファ21のサーチする領域を特定できるため、図
10の従来技術によるアドレス変換バッファに比べてサ
ーチするエントリ数の削減が実現できる。
【0032】次に、図3(b)により、アドレス変換バ
ッファ21を計算機属性により分割しない場合の動作を
説明する。この場合、アドレス変換バッファイネーブル
51には”0”がセットされ、固定されている。この時
は、ホストカラム制御回路41とゲストカラム制御回路
42への計算機属性30の入力は無効となり、仮想アド
レス下位部32の入力により、アドレス変換バッファ2
1は、1つの連続した仮想アドレス下位部32をカラム
入力とするアドレス変換バッファとして動作する。アド
レス変換バッファ21の各エントリの登録、読出し、パ
ージの各処理は、図10の従来技術によるアドレス変換
バッファと同じである。
【0033】図3(b)のように、アドレス変換バッフ
ァ21を領域分割しない場合は、カラムの入力は、仮想
アドレス下位部32だけに依存し、出来るだけ新しいエ
ントリが格納されるため、ヒット率の向上が期待でき
る。
【0034】パージ処理における全エントリサーチの実
行時間が問題とならないような場合は、アドレス変換バ
ッファを計算機属性によって分割せずにヒット率を向上
させた方がシステムの実効的な処理時間を短縮できる。
図3の構成では、アドレス変換バッファイネーブル51
の入力により、それぞれアドレス変換バッファ21をア
ドレス空間での分割、非分割を制御できる。アドレス変
換バッファイネーブル51の“0”と“1”の切り替え
は、アドレス変換バッファ21が全て空きの状態、即ち
アドレス変換バッファ21の全エントリのバリッドビッ
ト34が“0”のときに可能である。構成するシステム
や使用するプログラムの特性に応じて、特にパージ処理
に関して、アドレス変換バッファイネーブル51の値の
選択を適切に行なうことにより、さらに実効的な処理時
間を短縮できる。
【0035】図4は本発明の第2の実施例の構成を示す
ブロック図である。仮想計算機方式では、ゲスト上でさ
らに各OSの割当てを行なうことがあり、ゲストに管理
される各OSをサブゲストとして扱う。以下、サブゲス
トをs−ゲスト、そして、s−ゲストを配下にもつゲス
トをm−ゲスト(メインゲスト)と呼ぶ。ここで、s−
ゲストとm−ゲストとのアドレス変換処理の関係は、m
−ゲストとホストとのアドレス変換処理と同様の関係に
あり、s−ゲスト仮想アドレスからs−ゲスト変換テー
ブルによって得られたs−ゲスト実アドレスはm−ゲス
ト仮想アドレス空間に割り当てられる。
【0036】このような場合、図4(a)に示すよう
に、アドレス変換バッファ21をホスト領域21−1、
m−ゲスト領域21−2、s−ゲスト領域21−3に分
割し、カラム制御回路は、ホスト仮想アドレスに対する
カラム制御回路(ホストカラム制御回路)41、m−ゲ
スト仮想アドレスに対するカラム制御回路(m−ゲスト
カラム制御回路)42及びs−ゲスト仮想アドレスに対
するカラム制御回路(s−ゲストカラム制御回路)43
の3組とする。アドレス変換バッファイネーブル51は
“1”にセットし、仮想アドレスの計算機属性30は、
例えば、ホストの場合は“00”、m−ゲストは“1
0”、s−ゲストは“01”とする。このアドレス変換
バッファイネーブル51、計算機属性30及び仮想アド
レス下位部32の値を、ホストカラム制御回路41、m
−ゲストカラム制御回路42及びs−ゲストカラム制御
回路43に入力することにより、図3(a)と同様にし
て、アドレス変換バッファ21の登録、読出し、パージ
処理を行なうエントリを、それぞれの分割した領域内に
指定して行なうことができる。
【0037】図4(a)のように、アドレス変換バッフ
ァ21をホスト、m−ゲスト及びs−ゲストの領域に分
割した場合のIPTE命令では、無効化するページテー
ブルエントリの計算機属性30により、次の様なアドレ
ス変換バッファのパージ処理を行なえばよい。s−ゲス
トページテーブルエントリを無効化するときは、s−ゲ
スト仮想アドレスでアドレス変換バッファ21に登録し
たs−ゲスト領域21−3内のエントリの無効化を行な
う。m−ゲストページテーブルエントリを無効化すると
きは、m−ゲスト仮想アドレスで登録したm−ゲスト領
域21−2内のエントリの無効化を行なうほか、s−ゲ
スト領域21−3t領域に対しサーチ処理を行なう。ま
た、ホストページテーブルエントリを無効化するとき
は、ホスト仮想アドレスで登録したホスト領域21−1
内のエントリの無効化を行なうほか、m−ゲスト領域2
1−2領域とs−ゲスト領域21−3領域に対しサーチ
処理を行なう。
【0038】ここで、m−ゲスト領域21−2領域への
サーチ処理では、アドレス変換バッファイネーブル51
の“1”、計算機属性30の“10”、及び仮想アドレ
ス下位部32をm−ゲストカラム制御回路42に入力
し、仮想アドレス下位部32の値は、“0”から“1”
ずつ加算した値をカラムとして入力する。そして、各エ
ントリに登録された実アドレス37を読み出し、無効化
するページテーブルエントリの実アドレスと比較した結
果、一致したエントリのバリッドビット34に“0”を
入力する。これにより、アドレス変換バッファ21のm
−ゲスト領域21−2に対してのみサーチ処理が行われ
る。また、s−ゲスト領域21−3領域へのサーチ処理
も同様に、アドレス変換バッファイネーブル51の
“1”、計算機属性30の“01”、及び仮想アドレス
下位部32をs−ゲストカラム制御回路43に入力し、
仮想アドレス下位部32の値は、“0”から“1”ずつ
加算した値をカラムとして入力する。そして、各エント
リに登録された実アドレス37を読み出し、無効化する
ページテーブルエントリの実アドレスと比較した結果、
一致したエントリのバリッドビット34に“0”を入力
する。これにより、アドレス変換バッファ21のs−ゲ
スト領域21−3に対してのみサーチ処理が行われる。
【0039】このようにして、アドレス変換バッファ2
1のサーチ区間を特定することにより、IPTE命令に
よるホスト仮想アドレスのパージ処理におけるm−ゲス
ト領域21−2とs−ゲスト領域21−3とをサーチす
るエントリ数、m−ゲスト仮想アドレスのパージ処理に
おけるs−ゲスト領域21−3をサーチするエントリ数
が、従来技術での全エントリのサーチに比べ削減でき
る。
【0040】アドレス変換バッファ21を計算機属性3
0により分割しない場合は、図3(b)に示すように、
アドレス変換バッファイネーブル51の値を“0”に固
定する。これにより、図10の従来技術によるアドレス
変換バッファと同様の登録、読出し及びパージ処理を行
なうことができる。
【0041】以上、二つの実施例を示したが、図3及び
図4に示す分割例だけでなく、計算機属性の構成をホス
トカラム制御回路及びゲストカラム制御回路の構成に反
映させることによりアドレス変換バッファは、ゲスト領
域とホスト領域の配分比を変えたり、ゲスト領域の分割
数を変えたりなど、様々なパターンに分割できる。
【0042】
【発明の効果】以上説明したように、本発明によれば、
仮想計算機方式においてアドレス変換バッファに対して
パージ処理が多発した場合でも、計算機属性でアドレス
変換バッファのエントリを分割することにより、パージ
処理においてサーチするエントリ数を削減できる。具体
的には、第1の実施例の場合は、ホストページテーブル
エントリを無効化するIPTE命令において、計算機属
性ゲストで登録したエントリのサーチ処理を行なうエン
トリ数を削減する。また、第2の実施例の場合は、ホス
トページテーブルエントリを無効化するIPTE命令に
おいて、計算機属性m−ゲストとs−ゲストのエントリ
のサーチ処理を行なうエントリ数、m−ゲストページテ
ーブルエントリを無効化するIPTE命令において計算
機属性s−ゲストのエントリのサーチ処理を行なうエン
トリ数とを削減する。
【0043】このように、アドレス変換バッファのサー
チ区間を計算機属性によって特定できるため、従来技術
での全エントリのサーチに比べ、パージ処理に費やす実
行的な処理時間を削減したエントリ数だけ短縮し、装置
全体の効率化を図ることができる。
【図面の簡単な説明】
【図1】本発明のアドレス変換バッファ装置の一般的構
成を示すブロック図である。
【図2】計算機属性によるアドレス変換バッファの分割
の一例を示す図である。
【図3】本発明の第1の実施例の構成を示すブロック図
である。
【図4】本発明の第2の実施例の構成を示すブロック図
である。
【図5】仮想記憶方式でのアドレス変換処理の概念図で
ある。
【図6】仮想記憶方式での仮想アドレス空間と実アドレ
ス空間の対応関係を示す図である。
【図7】仮想計算機方式の概念図である。
【図8】仮想計算機方式でのアドレス変換の概念図であ
る。
【図9】仮想計算機方式でのページテーブルエントリの
無効化によるアドレス変換バッファの無効化を示す図で
ある。
【図10】従来技術におけるアドレス変換バッファ装置
の構成例を示すブロック図である。
【符号の説明】
20 アドレス変換バッファ入力レジスタ 21 アドレス変換バッファ 22 実アドレス出力レジスタ 23 比較回路 24 有効判定回路 30 計算機属性 31 仮想アドレス上位部 32 仮想アドレス下位部 33 実アドレス 34 バリッドビット 36 仮想アドレス上位部出力 37 実アドレス出力 41、42、43 カラム制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 戒能 博通 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 桃原 国基 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング株式会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 仮想アドレスと実アドレスの対を含むエ
    ントリを複数保持するアドレス変換バッファを備えた仮
    想計算機方式の情報処理装置において、計算機属性によ
    りアドレス変換バッファを複数の領域に分割し、各エン
    トリをその計算機属性に従って該当領域内に保持するこ
    とを特徴とするアドレス変換バッファ装置。
  2. 【請求項2】 請求項1記載のアドレス変換バッファ装
    置において、アドレス変換バッファを、仮想アドレスの
    種類を示す計算機属性によりホスト領域とゲスト領域に
    分割することを特徴とするアドレス変換バッファ装置。
  3. 【請求項3】 請求項1および2記載のアドレス変換バ
    ッファ装置において、パージ処理のときに行なわれる無
    効化エントリのサーチ区間を分割単位に指定して実行す
    ることを特徴とする情報処理装置。
JP7239385A 1995-09-19 1995-09-19 アドレス変換バッファ装置 Pending JPH0981459A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7239385A JPH0981459A (ja) 1995-09-19 1995-09-19 アドレス変換バッファ装置
US08/714,395 US5924127A (en) 1995-09-19 1996-09-16 Address translation buffer system and method for invalidating address translation buffer, the address translation buffer partitioned into zones according to a computer attribute

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7239385A JPH0981459A (ja) 1995-09-19 1995-09-19 アドレス変換バッファ装置

Publications (1)

Publication Number Publication Date
JPH0981459A true JPH0981459A (ja) 1997-03-28

Family

ID=17044004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7239385A Pending JPH0981459A (ja) 1995-09-19 1995-09-19 アドレス変換バッファ装置

Country Status (2)

Country Link
US (1) US5924127A (ja)
JP (1) JPH0981459A (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6212613B1 (en) * 1999-03-22 2001-04-03 Cisco Technology, Inc. Methods and apparatus for reusing addresses in a computer
US6687833B1 (en) * 1999-09-24 2004-02-03 Networks Associates, Inc. System and method for providing a network host decoy using a pseudo network protocol stack implementation
GB2376097B (en) * 2001-05-31 2005-04-06 Advanced Risc Mach Ltd Configuration control within data processing systems
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
JP4756603B2 (ja) * 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
US8701120B2 (en) 2009-02-27 2014-04-15 International Business Machines Corporation Virtualization of storage buffers used by asynchronous processes
US10324872B2 (en) 2016-09-20 2019-06-18 Intel IP Corporation Interrupt-vector translation lookaside buffer
US20180203807A1 (en) 2017-01-13 2018-07-19 Arm Limited Partitioning tlb or cache allocation
US10394454B2 (en) 2017-01-13 2019-08-27 Arm Limited Partitioning of memory system resources or performance monitoring
US10268379B2 (en) 2017-01-13 2019-04-23 Arm Limited Partitioning of memory system resources or performance monitoring
US10649678B2 (en) 2017-01-13 2020-05-12 Arm Limited Partitioning of memory system resources or performance monitoring
US10664306B2 (en) 2017-01-13 2020-05-26 Arm Limited Memory partitioning
US10664400B2 (en) * 2017-07-11 2020-05-26 Arm Limited Address translation cache partitioning
US11256625B2 (en) 2019-09-10 2022-02-22 Arm Limited Partition identifiers for page table walk memory transactions

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4779188A (en) * 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
JPS60138654A (ja) * 1983-12-27 1985-07-23 Hitachi Ltd アドレス変換方式
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
JP2510605B2 (ja) * 1987-07-24 1996-06-26 株式会社日立製作所 仮想計算機システム
JPH0481951A (ja) * 1990-07-25 1992-03-16 Fujitsu Ltd 仮想計算機システムのアドレス変換機構
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
JPH05151085A (ja) * 1991-11-27 1993-06-18 Omron Corp 仮想メモリ方式計算機システム用プロセツサ

Also Published As

Publication number Publication date
US5924127A (en) 1999-07-13

Similar Documents

Publication Publication Date Title
US6088780A (en) Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address
US6012132A (en) Method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table
US5295251A (en) Method of accessing multiple virtual address spaces and computer system
US6408373B2 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
US5493660A (en) Software assisted hardware TLB miss handler
US6014732A (en) Cache memory with reduced access time
KR920004400B1 (ko) 가상계산기시스템
US6430668B2 (en) Speculative address translation for processor using segmentation and optical paging
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
JPH04320553A (ja) アドレス変換機構
JPH0981459A (ja) アドレス変換バッファ装置
CA1332984C (en) Dual cache memory
JPS6341100B2 (ja)
US6571316B1 (en) Cache memory array for multiple address spaces
US6745292B1 (en) Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US5437016A (en) Apparatus and method for translating logical addresses for virtual machines
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
JPS61156445A (ja) Tlbパ−ジ制御方式
JP2000276405A (ja) アドレス変換装置及びこのアドレス変換装置を有するコンピュータシステム
US5710903A (en) Data processing system provided with an address translation lookaside buffer capable of quick partial purge operation
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
JP2002049531A (ja) メモリ領域境界検出方法及びコンピュータシステム
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JPH06139147A (ja) キャッシュメモリシステム
JP3204098B2 (ja) 動的アドレスデコードキャッシュ制御方式