JPH0235543A - ページテーブルエントリ無効化装置 - Google Patents

ページテーブルエントリ無効化装置

Info

Publication number
JPH0235543A
JPH0235543A JP63186095A JP18609588A JPH0235543A JP H0235543 A JPH0235543 A JP H0235543A JP 63186095 A JP63186095 A JP 63186095A JP 18609588 A JP18609588 A JP 18609588A JP H0235543 A JPH0235543 A JP H0235543A
Authority
JP
Japan
Prior art keywords
address
register
page
instruction
translation buffer
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.)
Granted
Application number
JP63186095A
Other languages
English (en)
Other versions
JP2507785B2 (ja
Inventor
Tetsuya Morioka
哲哉 森岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63186095A priority Critical patent/JP2507785B2/ja
Publication of JPH0235543A publication Critical patent/JPH0235543A/ja
Application granted granted Critical
Publication of JP2507785B2 publication Critical patent/JP2507785B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概要] 仮想アドレスの特定のページを無効化するためのページ
テーブルエントリ無効化に関し、不必要な部分削除を回
避すると共に検索に必要な時間を短縮することを目的と
し、 対象となるページの実アドレスと命令で指示されたペー
ジインデックスを自CPUおよび他CPU1.:送り、
次に各CPIJにおいてはページインデックスを基に部
分的にアドレス変換バッファを検索し、対象となる実ア
ドレスと一致したアドレス変換バッファのエントリを無
効化するような構成とする。
[産業上の利用分野] 本発明は、仮想計算機システムにおける仮想アドレスの
特定のページを無効化するためのページテーブルエント
リ無効化(■p T E ; l nvalidate
 Page Table  [:ntry)命令を実行
する装置に関し、特にこのページテーブルエントリ無効
化の実行に伴うアドレス変換バッファ(TLB)の部分
削除に関する。
記憶装置の容量に制限されることなくプログラミングを
可能とするために、また記憶装置上に複数のプログラム
を置いて交互に実行させる多重プログラミングを可能と
するために、今日広く仮想計算機システムが採用されて
いる。このようなシ27ムでは・仮想アドレス空間を単
位(ページと呼ぶ)に分割し、仮想アドレスの各ページ
をアドレス変換テーブルに従って実アドレスに変換する
ことにより、記憶装置上に任意に割り当てるようにして
いる。
前記アドレス変換テーブルは、オペレーティングシステ
ム<O8)の管理下にあるが、記憶装置上に仮想アドレ
スのページを置くことができなくなったときには、O8
はこの領域を補助記憶装置にO−ドすると共にアドレス
変換テーブルを書き替え、また以前のアドレス変換テー
ブルに従い作成された仮想アドレスと実アドレスの対応
関係の一部を保持するアドレス変換バッファ(TLB)
のエントリの削除を行う必要がある。例えばIBM計算
機システム370では、このアドレス変換テーブルの書
き替えおよびアドレス変換バッファ(TLB)の部分削
除を行うための命令が、IPTE命令として用意されて
いる。
[従来の技術] IBM計算機システム370における仮想アドレスから
実アドレスへの変換の過程は次のようになっている。第
6図に示すように、仮想アドレスは、同図(a)に示す
ようにコントロールレジスタ0 (CROという)の値
によりセグメントサイズとページサイズが決まる。なお
、仮想アドレスは、セグメントインデックス部<SX>
 、ページインデックス部(PX)、バイトインデック
ス部(BX)を有している(同図(b))。
コントロールレジスタCR1(同図(C))内のセグメ
ントテーブルオリジン(STO)と前記SXから、同図
(d)に示すセグメントテーブルエントリ(STE)の
アドレスが求められ、STE内のページテーブルオリジ
ン(PTO)と前記PXから同図(e)に示すページテ
ーブルエントリ(PTE)アドレスが求められ、このペ
ージテーブルエントリ無効化内のページフレームリアル
アドレス(PFRA)と前記BXから、実アドレスが求
められる。
rPTE命令では、そのオペランドに、アドレス変換過
程で用いられるPTOとPXが与えられ、これらを基に
してP’T Eのアドレスを求め、PTE内のページ無
効ビットを1にすると共に、下記の(1)ないしく4)
のすべてを使って生成されたアドレス変換バッファ(T
LB)のエントリを、すべての中央演算処理袋! (C
PU)から削除する。(1)IPTE命令を発行したC
PUのCROで示されるセグメントとページサイズ(2
>IPTE命令のオペランドで指定されたPTO (3)IPTE命令のオペランドで指定されたPX (4)IP丁E命令のオペランドから求められたPTE
内のPFRA 従来の方式では、オペランドから求められたPTEのア
ドレスからPTEの内容を読み出し、ページ無効ビット
を1に書き替えた上で、これをPTEのアドレスにスト
アし、またPTE内のPFRAを部分削除すべきTLB
の実アドレスとして部分削除指示を自CPUおよび他C
PUに送る。
これにより各CPUではTLBのエントリを順次検索し
、指示された実アドレスと一致する実アドレス部を持つ
TLBのエントリがあった時は、このエントリの有効ビ
ットをオフにする。
この丁LBの検索は、CPU内の命令フェッチやオペラ
ンドアクセスなどのパイプライン制御による動作とは独
立に行い得る。ただし、パイプライン制御によるアクセ
スのTLBフェッチ模の実アドレスと、TLBの部分削
除の対象となる実アドレスが一致した場合は、その実ア
ドレスは無効であるため、TLBの全エントリの検索が
終了するまでバイブラインの動作を停止させる必要があ
る。
[発明が解決しようとする課題] しかしながら上記のような従来の方式では、ページフレ
ームリアルアドレスPFRAのみにより丁LBエントリ
の無効化を行っているため、必要以上のTLBエントリ
を削除することになり、TLBのヒツト率の低下が生じ
る。また、TLBの部分削除のために行うTLBの検索
は、全エントリについて行う必要があるため長時間を要
し、この間にパイプラインで必要とする実アドレスが部
分削除の対象と一致した場合にはバイブラインの動きが
停止しスルーブツトが下がるという問題がある。
更にまた、次々とTLBの部分削除の要求が生じたとき
は、その要求を保持しきれな(なるため、TLBの全削
除の必要が生じ、TLBのヒツト率が大きく下がるとい
う問題もある。
本発明の目的は、このような問題点を解決しようとする
もので、部分削除のためのTLBの検索の範囲を限定す
ることにより、不必要な部分削除を回避すると共に検索
に必要な時間を短縮することのできるページテーブルエ
ントリ無効化装置を提供することにある。
[課題を解決するための手段1 第1図は本発明のページテーブルエントリ無効化装置の
原U説明図である。図中、1はページテーブルエントリ
(PTE)のアドレスを生成すると共に部分削除要求を
出力する命令制御ユニット(Iユニット)、3はセット
アソシアティブ方式の構成を持ち仮想アドレスの一部の
ビットでアドレスされるアドレス変換バッファ(TLB
>、2は実アドレスが入るアドレス変換バッファ3をア
クセスするためのアドレスを出力するアドレスレジスタ
、4はアドレス変換バッファ3の実アドレスを読み出し
保持するレジスタ、5はメモリ制御ユニットMCtJへ
のアクセスのためのアドレスを保持するレジスタ、6は
メモリ制御ユニットMCUからのアドレス変換バッフy
 (TLB)部分削除要求としてのアドレスを受け取り
保持するレジスタである。
7はIPTE命令実行時にページインデックス部(PX
)をメモリ制御ユニットMCUへ送出するための保持レ
ジスタ、8はメモリt111−ユニットMC(Jからの
アドレス変換バッファ部分削除要求としてのページイン
デックス部(PX)を受け取り保持するためのレジスタ
、9はページインデツクス部(PX)を基に部分削除に
必要なアドレスを生成しアドレスレジスタ2ヘセツトす
るための制御回路である。
10はIユニット1または制御回路9の出力を切り替え
選択する選択回路、11はアドレスレジスタ2またはレ
ジスタ4の出力を切り替え選択する選択回路、12はレ
ジスタ4とレジスタ6の出力の一致を検出する比較回路
である。
〔作用〕
本発明では、対象となるページの実アドレスと命令で指
示されたページインデックスを前記レジスタ(7)から
自CPIJt3よび他CPUに送り。
次に各CPUにおいてはページインデックスを基に部分
的にアドレス変換バッファを検索し、対象となる実アド
レスと一致したアドレス変換バッファのエントリを無効
化する。
I PTE命令では、まずページテーブルエントリPT
Eのページ無効ビットを1にする必要がある。そのため
、1PTE命令のオペランドであるPTOとPXが加算
されてPTEのアドレスが生成され、これが■ユニット
1より送出される。このアドレスで主記憶装置をフェッ
チし、PTE内のページ無効ビット位置を1に書き替え
てメモリ制御ユニットMCLII!由で主記憶装置にス
トアする。
次に同一アドレスでアドレス変換バック7TLBの部分
削除要求がIユニット1から送出される。
この時、上位の位置に付加されたPXをレジスタ7に一
時保持し、それと同時にページテーブルエントリPTE
をアクセスしてPFRAを求める。
これが部分削除すべきページのアドレスである。
このアドレスをレジスタ5にセットし、MCU経由で全
CPUに部分削除要求を送る。各CPt1では部分削除
要求としてアドレスおよびPXを送出する。そのアドレ
スをレジスタ6で、またPXをレジスタ8で受ける。
ここで、TLBが512のセットからなり、仮想アドレ
スのビット11〜19の9ピツトでアドレスされるもの
とすると、ページサイズが4にバイトの時、TLBをア
クセスするためのアドレスのビット11はSXの最下位
ビット、アドレスのビット12〜19はPXの全8ピツ
トに相当する。
したがって、この場合は2つのセットのみを検索し、削
除すべき実アドレスの入ったレジスタ6とTLBの読み
出し結果の入ったレジスタ4を比較回路12で比較し、
一致したエントリがあった時のみその有効ビットを0に
する方法で部分削除を行うことができる。この検索のた
めのアドレス生成は制御回路9によって行われる。
[実施例] 第2図は本発明の装置の一実施例を示す構成図でT18
周辺部の全体構成を示す。また第3図および第4図にT
LBlおよびTLB2の内部構成を示す。
Iユニット1からの7エツチ要求のアドレスはアドレス
レジスタ21にセットされ、このアドレスで第1のTL
B22 (TLBlと略す)が検索される。TLB1に
は同一ビット構成のプライマIJ (PRrMARY)
、!:オルタネイト(ALTERNATE>があり、そ
の2つのウェイのうち−致した方の実アドレスが選択回
路24で選ばれる。
次にその実アドレスは選択回路25を通過して、MCU
経出で主記憶装置をアクセスするためのアドレスレジス
タ(MSAR)26かあるいはローカル・バッファ・ス
トレージ(L ocal  3 urfer3 tor
age>をアクセスするためのアドレスレジスタ27に
セットされる。
次に主記憶装置またはローカル・バッファ・ストレージ
からのフェッチデータは、選択回路28で選択された後
にデータレジスタ29にセットされる。
もし2つのウェイが共に一致しなかった場合には、アド
レス変換回路31によりアドレスレジスタ21内の仮想
アドレスに対する実アドレスがアドレス変換テーブルに
従って求められ、TLBlに登録される。
第3図はTLBlの内部構造を示す図である。
TLBIはアドレスレジスタ21のビット11〜19の
9ビツトでアドレスされる512セツトからなり、各セ
ットは2つのウェイで構成され、各エントリは有効ビッ
ト、ID部、仮想アドレス部、実アドレス部からなって
いる。■ユニットからのアクセスの際のTL8検索の時
は、アドレスレジスタ21内の仮想アドレスのビット0
0〜10と現在のID31 (例えば、仮想空間を識別
するSTo等)、ならびにTLB内の有効ビット、ID
部および仮想アドレス部を比較回路32で比較して一致
を検出する。一致した方のTLBの実アドレス部にアド
レスレジスタ21のビット20〜31が付加回路36で
付加され実アドレスが求められる。比較回路33.35
は、部分削除すべき実アドレス(PPAR)が部分削除
される前に■ユニットからのアクセスで使用されること
を防ぐためのもので、一致が検出された時は部分削除の
動作が終了するまでrユニットからのアクセス&ま禁止
される。
第4図に示す第2のTLB42(以下T L B 2と
略す)は、TLBの部分削除の処理を上述した■ユニッ
トからのアクセスとは独立に行うものである。T’ L
 B 2はTLBlと同様に、アドレスレジスタ41の
ビット11〜19の9ビツトでアドレスされる512セ
ツトからなり、各セットはPRIMARYとALTER
NATEの2つのウェイで構成されている。ただし、T
LBlの部分コピーであって、各エントリは有効ビット
と実アドレス部のみから成っている。アドレスレジスタ
41に検索のためのアドレスが与えられると、TLB2
を読み出し、比較回路43.44によって部分削除すべ
き実アドレス(p artial  P urge  
Address  Re5ister : PPAR)
 45との比較を行う。ここで一致が検出された時は、
その時点でTLBIとTLB2に対して、一致が見られ
たエントリの有効ビットを0にする。
次にI PTE命令実行時のTLBの部分削除の処理に
おける動作を説明する。第2図において、■ユニット1
から、PTEのアドレスのビット00〜07に8ビツト
あるPXを付加した値がアト1ノスレジスタにセットさ
れる。次のタイミングでビット00−07がP×レジス
タ23に、またビットOO〜07を強制的にOにした値
が選択回路25を通過してMSAR26またはアドレス
レジスタ27にセットされる。MCU経出で主記憶装置
から、あるいはL B Sか、らフェッチされたPTE
がデータレジスタ29に置かれる。PTE内のPFAR
部以外を強制的に0にした値に、PXレジスタ23の値
を併合回路30により併合(ビット24〜31に)した
結果が選択回路25を通過してMSAR26にセットさ
れる。この部分削除すべきページの実アドレスとPXを
持った値が、MCUを経由して全CPUに部分削除要求
指示と共に送られる。
各CPUでは、この要求をPPAR40で受け、第2の
TLB42を用いてその部分削除処理を行う。
部分削除のための検索のアドレスを発生させるI11御
回路9の詳細を第5図に示す。PPAR40のビット2
4〜31はPXの値であり、これはレジスタ55を経由
してアドレスレジスタ56のビット12〜1つにセット
される。この部分は検索の間は不変値となる。アドレス
レジスタ56のそれ以外の上位ビット(この例の場合は
ビット11のみ1ビツト分)はレジスタ54を経由して
セットされる。レジスタ54は、部分削除の開始時は選
択回路52でリセットが選択され、値はOになり、それ
以後は加算器51でインクリメントした値がレジスタ5
4にセットされる。
またインクリメントした値がオーバーフローした時は、
端子53よりオーバーフロー信号が出力され、必要な検
索が終了したことを示す。本実施例の場合は2度の検索
で終了となる。
[発明の効果] 以上説明したように、本発明によれば、IPTE命令を
実行する際、対象となるページの実アドレスと命令で指
示されたPXを自CPUおよび他CP(Jに送り、各C
PUにおいてはPXを基に部分的にTLBを検索し、対
象となる実アドレスと一致したTLBのエントリを無効
化することによリ、不必要な部分削除を回避すると共に
短時間で部分削除を終了することができる。
今日、CPUの性能向上のため丁LBのヒツト率を上げ
ることが求められているが、そのため丁L8のエントリ
の数を増やす必要がある。その方法として同時にアクセ
スが可能なエントリを増やす方法、すなわちウェイ数を
増やす方法と、セットの数を増やす方法とがある。セッ
トの数はTLBを物理的に構成するRAMの深さ方向の
容量を増やすことにより容易に実現できるが、部分削除
に伴うTLBの検索時間が問題になっていた。本発明を
採用することによりこの問題が解決される。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の一実施例を示すT18周辺部の構成図
、 第3図は第1のTLBの内部構成を示す図、第4図は第
2の丁LBの内部構成を示す図、第5図はTLB検索用
のアドレス生成のための回路構成を示す図、 第6図はアドレス変換テーブルの形式を説明するための
説明図である。 第1図において 1は命令制御ユニット、 2はアドレスレジスタ、 3はアドレス変換バッファ、 4は比較回路、 5はアドレスレジスタ、 6.7.8はレジスタ、 9は制−回路、 io、ilは選択回路、 12は比較回路である。 特許出願人   富  士  通  株  式  会 
 礼式  理  人     弁理士   井  島 
 藤  冶外1名 MCIから MCUから JR2(D T L B G 内wafJ、e iす口
筒4図 第1 図 TLB検索用■アドレス生成cbF:め■回路構成を示
す面角ξ5 四口

Claims (1)

  1. 【特許請求の範囲】 中央演算処理装置内にアドレス変換バッファを有し、1
    つあるいは複数の中央演算処理装置からなり、仮想アド
    レスにおける特定のページを無効化する命令であるペー
    ジテーブルエントリ無効化(IPTE)命令を実行する
    システムに使用されるページテーブルエントリ無効化装
    置であって、ページテーブルエントリ(PTE)のアド
    レスを生成すると共に部分削除要求を出力する命令制御
    ユニット(1)と、 セットアソシアティブ方式の構成を持ち仮想アドレスの
    一部のビットでアドレスされるアドレス変換バッファ(
    3)と、 実アドレスが入るアドレス変換バッファ(3)をアクセ
    スするためのアドレスを出力するアドレスレジスタ(2
    )と、 前記アドレス変換バッファ(3)の実アドレスを読み出
    し保持するレジスタ(4)と、 メモリ制御ユニット(MCU)へのアクセスのためのア
    ドレスを保持するレジスタ(5)と、メモリ制御ユニッ
    ト(MCU)からのアドレス変換バッファ部分削除要求
    としてのアドレスを受け取り保持するレジスタ(6)と
    、 ページテーブルエントリ無効化(IPTE)命令実行時
    にページインデックス部(PX)をメモリ制御ユニット
    (MCU)へ送出するための保持レジスタ(7)と、 メモリ制御ユニット(MCU)からのアドレス変換バッ
    ファ部分削除要求としてのページインデックス部(PX
    )を受け取り保持するためのレジスタ(8)と、 ページインデックス部(PX)を基に部分削除に必要な
    アドレスを生成し前記アドレスレジスタ(2)へセット
    するための制御回路(9)と、前記命令制御ユニット(
    1)または制御回路(9)の出力を切り替え選択する選
    択回路(10)と、 前記アドレスレジスタ(2)またはレジスタ(4)の出
    力を切り替え選択する選択回路(11)と、 前記レジスタ(4)とレジスタ(6)の出力の一致を検
    出する比較回路(12)を具備し、対象となるページの
    実アドレスと命令で指示されたページインデックスを前
    記レジスタ(7)から自CPUおよび他CPUへ送り、
    次に各CPUにおいてはページインデックスを基に部分
    的にアドレス変換バッファを検索し、対象となる実アド
    レスと一致したアドレス変換バッファのエントリを無効
    化するようにしたことを特徴とするページテーブルエン
    トリ無効化装置。
JP63186095A 1988-07-25 1988-07-25 ペ―ジテ―ブルエントリ無効化装置 Expired - Fee Related JP2507785B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63186095A JP2507785B2 (ja) 1988-07-25 1988-07-25 ペ―ジテ―ブルエントリ無効化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63186095A JP2507785B2 (ja) 1988-07-25 1988-07-25 ペ―ジテ―ブルエントリ無効化装置

Publications (2)

Publication Number Publication Date
JPH0235543A true JPH0235543A (ja) 1990-02-06
JP2507785B2 JP2507785B2 (ja) 1996-06-19

Family

ID=16182281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63186095A Expired - Fee Related JP2507785B2 (ja) 1988-07-25 1988-07-25 ペ―ジテ―ブルエントリ無効化装置

Country Status (1)

Country Link
JP (1) JP2507785B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526203A (ja) * 2003-05-12 2006-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージの無効化、バッファ・エントリの消去

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5716428A (en) * 1980-05-14 1982-01-27 Siemens Ag Camera with opto-electronic range finder
JPS62295147A (ja) * 1986-06-16 1987-12-22 Hitachi Ltd 仮想計算機システム
JPS63153653A (ja) * 1986-12-16 1988-06-27 Fujitsu Ltd バツフアメモリ制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5716428A (en) * 1980-05-14 1982-01-27 Siemens Ag Camera with opto-electronic range finder
JPS62295147A (ja) * 1986-06-16 1987-12-22 Hitachi Ltd 仮想計算機システム
JPS63153653A (ja) * 1986-12-16 1988-06-27 Fujitsu Ltd バツフアメモリ制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526203A (ja) * 2003-05-12 2006-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージの無効化、バッファ・エントリの消去

Also Published As

Publication number Publication date
JP2507785B2 (ja) 1996-06-19

Similar Documents

Publication Publication Date Title
JP2618175B2 (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
KR960001946B1 (ko) 우선 변환 참조버퍼
US5148538A (en) Translation look ahead based cache access
JP3936378B2 (ja) アドレス変換装置
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US4463420A (en) Multiprocessor cache replacement under task control
US6145064A (en) Method of efficiently updating hashed page tables
JP3666689B2 (ja) 仮想アドレス変換方法
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
KR100335672B1 (ko) 메모리페이지크로싱예측주석을사용하는실제주소지정데이타기억구조로부터의빠른데이타검색
JPH07295886A (ja) 階層メモリ、階層メモリを有するコンピュータ・システムおよび階層メモリ管理方法
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
JPH05134927A (ja) アドレス変換装置および方法
JP2020523678A (ja) 論理ディレクトリを使用したキャッシュ構造
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
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
JP2001034537A (ja) アドレス変換回路
EP0173909B1 (en) Look-aside buffer least recently used marker controller
US7472227B2 (en) Invalidating multiple address cache entries
US5341485A (en) Multiple virtual address translation per computer cycle
JPH0371355A (ja) キヤツシユ検索装置および検索方法
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
US6134699A (en) Method and apparatus for detecting virtual address parity error for a translation lookaside buffer
JPH0235543A (ja) ページテーブルエントリ無効化装置
JPH035851A (ja) バッファ記憶装置

Legal Events

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