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

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

Info

Publication number
JP2507785B2
JP2507785B2 JP63186095A JP18609588A JP2507785B2 JP 2507785 B2 JP2507785 B2 JP 2507785B2 JP 63186095 A JP63186095 A JP 63186095A JP 18609588 A JP18609588 A JP 18609588A JP 2507785 B2 JP2507785 B2 JP 2507785B2
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.)
Expired - Fee Related
Application number
JP63186095A
Other languages
English (en)
Other versions
JPH0235543A (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.)
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)

Description

【発明の詳細な説明】 [概要] 仮想アドレスの特定のページを無効化するためのペー
ジテーブルエントリ無効化に関し、 不必要な部分削除を回避すると共に検索に必要な時間
を短縮することを目的とし、 対象となるページの実アドレスと命令で指示されたペ
ージインデックスを自CPUおよび他CPUに送り、次に各CP
Uにおいてはページインデックスを基に部分的にアドレ
ス変換バッファを検索し、対象となる実アドレスと一致
したアドレス変換バッファのエントリを無効化するよう
な構成とする。
[産業上の利用分野] 本発明は、仮想計算機システムにおける仮想アドレス
の特定のページを無効化するためのページテーブルエン
トリ無効化(IPTE:Invalidate Page Table Entry)命令
を実行する装置に関し、特にこのページテーブルエント
リ無効化の実行に伴うアドレス変換バッファ(TLB)の
部分削除に関する。
記憶装置の容量に制限されることなくプログラミング
を可能とするために、また記憶装置上に複数のプログラ
ムを置いて交互に実行させる多重プログラミングを可能
とするために、今日広く仮想計算機システムが採用され
ている。このようなシステムでは、仮想アドレス空間を
単位(ページと呼ぶ)に分割し、仮想アドレスの各ペー
ジをアドレス変換テーブルに従って実アドレスに変換す
ることにより、記憶装置上に任意に割り当てるようにし
ている。
前記アドレス変換テーブルは、オペレーティングシス
テム(OS)の管理下にあるが、記憶装置上の仮想アドレ
スのページを置くことができなくなったときには、OSは
この領域を補助記憶装置にロードすると共にアドレス変
換テーブルを書き替え、また以前のアドレス変換テーブ
ルに従い作成された仮想アドレスと実アドレスの対応関
係の一部を保持するアドレス変換バッファ(TLB)のエ
ントリの削除を行う必要がある。例えばIBM計算機シス
テム370では、このアドレス変換テーブルの書き替えお
よびアドレス変換バッファ(TLB)の部分削除を行うた
めの命令が、IPTE命令として用意されている。
[従来の技術] IBM計算機システム370における仮想アドレスから実ア
ドレスへの変換の過程は次のようになっている。第6図
に示すように、仮想アドレスは、同図(a)に示すよう
にコントロールレジスタ0(CR0という)の値によりセ
グメントサイズとページサイズが決まる。なお、仮想ア
ドレスは、セグネントインデックス部(SX)、ページイ
ンデックス部(PX)、バイトインデックス部(BX)を有
している(同図(b))。
コントロールレジスタCR1(同図(c))内のセグメ
ントテーブルオリジン(STO)と前記SXから、同図
(d)に示すセグメントテーブルエントリ(STE)のア
ドレスが求められ、STE内のページテーブルオリジン(P
TO)と前記PXから同図(e)に示すページテーブルエン
トリ(PTE)アドレスが求められ、このページテーブル
エントリPTE内のページフレームリアルアドレス(PFR
A)と前記BXから、実アドレスが求められる。
IPTE命令では、そのオペランドに、アドレス変換過程
で用いられるPTOとPXが与えられ、これらを基にしてPTE
のアドレスを求め、PTE内のページ無効ビットを1にす
ると共に、下記の(1)ないし(4)のすべてを使って
生成されたアドレス変換バッファ(TLB)のエントリ
を、すべての中央演算処理装置(CPU)から削除する。
(1)IPTE命令を発行したCPUのCR0で示されるセグメン
トとページサイズ (2)IPTE命令のオペランドで指定されたPTO (3)IPTE命令のオペランドで指定されたPX (4)IPTE命令のオペランドから求められたPTE内のPFR
A 従来の方式では、オペランドから求められたPTEのア
ドレスからPTEの内容を読み出し、ページ無効ビットを
1に書き替えた上で、これをPTEのアドレスにストア
し、またPTE内のPFRAを部分削除すべきTLBの実アドレス
として部分削除指示を自CPUおよび他CPUに送る。これに
より各CPUではTLBのエントリを順次検索し、指示された
実アドレスと一致する実アドレス部を持つTLBのエント
リがあった時は、このエントリの有効ビットをオフにす
る。
このTLBの検索は、CPU内の命令フェッチやオペランド
アクセスなどのパイプライン制御による動作とは独立に
行い得る。ただし、パイプライン制御によるアクセスの
TLBフェッチ後の実アドレスと、TLBの部分削除の対象と
なる実アドレスが一致した場合は、その実アドレスは無
効であるため、TLBの全エントリの検索が終了するまで
パイプラインの動作を停止させる必要がある。
[発明が解決しようとする課題] しかしながら上記のような従来の方式では、ページフ
レームリアルアドレスPFRAのみによりTLBエントリの無
効化を行っているため、必要以上のTLBエントリを削除
することになり、TLBのヒット率の低下が生じる。ま
た、TLBの部分削除のために行うTLBの検索は、全エント
リについて行う必要があるため長時間を要旨、この間に
パイプラインで必要とする実アドレスが部分削除の対象
と一致した場合にはパイプラインの動きが停止しスルー
プットが下がるという問題がある。
更にまた、次々とTLBの部分削除の要求が生じたとき
は、その要求を保持しきれなくなるため、TLBの全削除
の必要が生じ、TLBのヒット率が大きく下がるという問
題もある。
本発明の目的は、このような問題点を解決しようとす
るもので、部分削除のためのTLBの検索の範囲を限定す
ることにより、不必要な部分削除を回避すると共に検索
に必要な時間を短縮することのできるページテーブルエ
ントリ無効化装置を提供することにある。
[課題を解決するための手段] 第1図は本発明のページテーブルエントリ無効化装置
の原理説明図である。図中、1はページテーブルエント
リ(PTE)のアドレスを生成すると共に部分削除要求を
出力する命令制御ユニット(Iユニット)、3はセット
アソシアティブ方式の構成を持ち仮想アドレスの一部の
ビットでアドレスされるアドレス変換バッファ(TL
B)、2は実アドレスが入るアドレス変換バッファ3を
アクセスするためのアドレスを出力するアドレスレジス
タ、4はアドレス変換バッファ3の実アドレスを読み出
し保持するレジスタ、5はメモリ制御ユニットMCUへの
アクセスのためのアドレスを保持するレジスタ、6はメ
モリ制御ユニットMCUからのアドレス変換バッファ(TL
B)部分削除要求としてのアドレスを受け取り保持する
レジスタである。
7はIPTE命令実行時にページインデックス部(PX)を
メモリ制御ユニットMCUへ送出するための保持レジス
タ、8はメモリ制御ユニットMCUからのアドレス変換バ
ッファ部分削除要求としてのページインデックス部(P
X)を受け取り保持するためのレジスタ、9はページイ
ンデックス部(PX)を基に部分削除に必要なアドレスを
生成しアドレスレジスタ2へセットするための制御回路
である。
10はIユニット1または制御回路9の出力を切り替え
選択する選択回路、11はアドレスレジスタ2またはレジ
スタ4の出力を切り替え選択する選択回路、12はレジス
タ4とレジスタ6の出力の一致を検出する比較回路であ
る。
[作用] 本発明では、対象となるページの実アドレスと命令で
指示されたページインデックスを前記レジスタ(7)か
ら自CPUおよび他CPUに送り、次に各CPUにおいてはペー
ジインデックスを基に部分的にアドレス変換バッファを
検索し、対象となる実アドレスと一致したアドレス変換
バッファのエントリを無効化する。
IPTE命令では、まずページテーブルエントリPTEのペ
ージ無効ビットを1にする必要がある。そのため、IPTE
命令のオペランドであるPTOとPXが加算されてPTEのアド
レスが生成され、これがIユニット1より送出される。
このアドレスで主記憶装置をフェッチし、PTE内のペー
ジ無効ビット位置を1に書き替えてメモリ制御ユニット
MCU経由で主記憶装置にストアする。
次に同一アドレスでアドレス変換バッファTLBの部分
削除要求がIユニット1から送出される。この時、上位
の位置に付加されたPXをレジスタ7に一時保持し、それ
と同時にページテーブルエントリPTEをアクセスしてPFR
Aを求める。これが部分削除すべきページのアドレスで
ある。このアドレスをレジスタ5にセットし、MCU経由
で全CPUに部分削除要求を送る。各CPUでは部分削除要求
としてアドレスおよびPXを送出する。そのアドレスをレ
ジスタ6で、またPXをレジスタ8で受ける。
ここで、TLBが512のセットからなり、仮想アドレスの
ビット11〜19の9ビットでアドレスされるものとする
と、ページサイズが4Kバイトの時、TLBをアクセスする
ためのアドレスのビット11はSXの最下位ビット、アドレ
スのビット12〜19はPXの全8ビットに相当する。
したがって、この場合は2つのセットのみを検索し、
削除すべき実アドレスの入ったレジスタ6とTLBの読み
出し結果の入ったレジスタ4を比較回路12で比較し、一
致したエントリがあった時のみその有効ビットを0にす
る方法で部分削除を行うことができる。この検索のため
のアドレス生成は制御回路9によって行われる。
[実施例] 第2図は本発明の装置の一実施例を示す構成図でTLB
周辺部の全体構成を示す。また第3図および第4図にTL
B1およびTLB2の内部構成を示す。
Iユニット1からのフェッチ要求のアドレスはアドレ
スレジスタ21にセットされ、このアドレスで第1のTLB2
2(TLB1と略す)が検索される。TLB1には同一ビット構
成のプライマリ(PRIMARY)とオルタネイト(ALTERNAT
E)があり、その2つのウェイのうち一致した方の実ア
ドレスが選択回路24で選ばれる。次にその実アドレスは
選択回路25を通過して、MCU経由で主記憶装置をアクセ
スするためのアドレスレジスタ(MSAR)26かあるいはロ
ーカル・バッファ・ストレージ(Local Buffer Storag
e)をアクセスするためのアドレスレジスタ27にセット
される。
次に主記憶装置またはローカル・バッファ・ストレー
ジからのフェッチデータは、選択回路28で選択された後
にデータレジスタ29にセットされる。
もし2つのウェイが共に一致しなかった場合には、ア
ドレス変換回路31によりアドレスレジスタ21内の仮想ア
ドレスに対する実アドレスがアドレス変換テーブルに従
って求められ、TLB1に登録される。
第3図はTLB1の内部構造を示す図である。TLB1はアド
レスレジスタ21のビット11〜19の9ビットでアドレスさ
れる512セットからなり、各セットは2つのウェイで構
成され、各エントリは有効ビット、ID部、仮想アドレス
部、実アドレス部からなっている。Iユニットからのア
クセスの際のTLB検索の時は、アドレスレジスタ21内の
仮想アドレスのビット00〜10と現在のID31(例えば、仮
想空間を識別するSTO等)、ならびにTLB内の有効ビッ
ト、ID部および仮想アドレス部を比較回路32で比較して
一致を検出する。一致した方のTLBの実アドレス部にア
ドレスレジスタ21のビット20〜31が付加回路36で付加さ
れ実アドレスが求められる。比較回路33,35は、部分削
除すべき実アドレス(PPAR)が部分削除される前にIユ
ニットからのアクセスで使用されることを防ぐためのも
ので、一致が検出された時は部分削除の動作が終了する
までIユニットからのアクセスは禁止される。
第4図に示す第2のTLB42(以下TLB2と略す)は、TLB
の部分削除の処理を上述したIユニットからのアクセス
とは独立に行うものである。TLB2はTLB1と同様に、アド
レスレジスタ41のビット11〜19の9ビットでアドレスさ
れる512セットからなり、各セットはPRIMARYとALTERNAT
Eの2つのウェイで構成されている。ただし、TLB1の部
分コピーであって、各エントリは有効ビットと実アドレ
ス部のみから成っている。アドレスレジスタ41に検索の
ためのアドレスが与えられると、TLB2を読み出し、比較
回路43,44によって部分削除すべき実アドレス(Partial
Purge Address Resister:PPAR)45との比較を行う。こ
こで一致が検出された時は、その時点でTLB1とTLB2に対
して、一致が見られたエントリの有効ビットを0にす
る。
次にIPTE命令実行時のTLBの部分削除の処理における
動作を説明する。第2図において、Iユニット1から、
PTEのアドレスのビット00〜07に8ビットあるPXを付加
した値がアドレスレジスタにセットされる。次のタイミ
ングでビット00〜07がPXレジスタ23に、またビット00〜
07を強制的に0にした値が選択回路25を通過してMSAR26
またはアドレスレジスタ27にセットされる。MCU経由で
主記憶装置から、あるいはLBSからフェッチされたPTEが
データレジスタ29に置かれる。PTE内のPFAR部以外を強
制的に0にした値に、PXレジスタ23の値を併合回路30に
より併合(ビット24〜31に)した結果が選択回路25を通
過してMSAR26にセットされる。この部分削除すべきペー
ジの実アドレスとPXを持った値が、MCUを経由して全CPU
に部分削除要求指示と共に送られる。
各CPUでは、この要求をPPAR40で受け、第2のTLB42を
用いてその部分削除処理を行う。
部分削除のための検索のアドレスを発生させる制御回
路9の詳細を第5図に示す。PPAR40のビット24〜31はPX
の値であり、これはレジスタ55を経由してアドレスレジ
スタ56のビット12〜19にセットされる。この部分は検索
の間は不変値となる。アドレスレジスタ56のそれ以外の
上位ビット(この例の場合はビット11のみ1ビット分)
はレジスタ54を経由してセットされる。レジスタ54は、
部分削除の開始時は選択回路52でリセットが選択され、
値は0になり、それ以後は加算器51でインクリメントし
た値がレジスタ54にセットされる。
またインクリメントした値がオーバーフローした時
は、端子53よりオーバーフロー信号が出力され、必要な
検索が終了したことを示す。本実施例の場合は2度の検
索で終了となる。
[発明の効果] 以上説明したように、本発明によれば、IPTE命令を実
行する際、対象となるページの実アドレスと命令で指示
されたPXを自CPUおよび他CPUに送り、各CPUにおいてはP
Xを基に部分的にTLBを検索し、対象となる実アドレスと
一致したTLBのエントリを無効化することにより、不必
要な部分削除を回避すると共に短時間で部分削除を終了
することができる。
今日、CPUの性能向上のためTLBのヒット率を上げるこ
とが求められているが、そのためTLBのエントリの数を
増やす必要がある。その方法として同時にアクセスが可
能なエントリを増やす方法、すなわちウェイ数を増やす
方法と、セットの数を増やす方法とがある。セットの数
はTLBを物理的に構成するRAMの深さ方向の容量を増やす
ことにより用意に実現できるが、部分削除を伴うTLBの
検索時間が問題になっていた。本発明を採用することに
よりこの問題が解決される。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の一実施例を示すTLB周辺部の構成図、 第3図は第1のTLBの内部構成を示す図、 第4図は第2のTLBの内部構成を示す図、 第5図はTLB検索用のアドレス生成のための回路構成を
示す図、 第6図はアドレス変換テーブルの形式を説明するための
説明図である。 第1図において 1は命令制御ユニット、2はアドレスレジスタ、3はア
ドレス変換バッファ、4は比較回路、5はアドレスレジ
スタ、6,7,8はレジスタ、9は制御回路、10,11は選択回
路、12は比較回路である。

Claims (1)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284100B2 (en) * 2003-05-12 2007-10-16 International Business Machines Corporation Invalidating storage, clearing buffer entries, and an instruction therefor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3018564A1 (de) * 1980-05-14 1981-11-19 Siemens AG, 1000 Berlin und 8000 München Spiegelreflexkamera mit im bereich des sucherokulars eingebautem optoelektronischen entfernungsmesser
JPS62295147A (ja) * 1986-06-16 1987-12-22 Hitachi Ltd 仮想計算機システム
JPS63153653A (ja) * 1986-12-16 1988-06-27 Fujitsu Ltd バツフアメモリ制御方式

Also Published As

Publication number Publication date
JPH0235543A (ja) 1990-02-06

Similar Documents

Publication Publication Date Title
KR960001946B1 (ko) 우선 변환 참조버퍼
KR920005280B1 (ko) 고속 캐쉬 시스템
US4495575A (en) Information processing apparatus for virtual storage control system
US5475827A (en) Dynamic look-aside table for multiple size pages
US5278963A (en) Pretranslation of virtual addresses prior to page crossing
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPH077363B2 (ja) アクセス装置及び方法
JPS6341100B2 (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
US4757447A (en) Virtual memory system having identity marking for common address space
US5341485A (en) Multiple virtual address translation per computer cycle
EP0173909A2 (en) Look-aside buffer least recently used marker controller
JPH0519176B2 (ja)
JP2507785B2 (ja) ペ―ジテ―ブルエントリ無効化装置
JPH055137B2 (ja)
US5426749A (en) Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JP2501353B2 (ja) プリフェッチ制御方式
EP0349757B1 (en) Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH0336647A (ja) キャッシュ・バッファリング制御方式
JPH04205535A (ja) コピーオンライト方式
JPH0535592A (ja) キヤツシユメモリ装置
JPS626350A (ja) Tlb制御装置

Legal Events

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