JPS6115250A - Tlb制御方式 - Google Patents

Tlb制御方式

Info

Publication number
JPS6115250A
JPS6115250A JP59135907A JP13590784A JPS6115250A JP S6115250 A JPS6115250 A JP S6115250A JP 59135907 A JP59135907 A JP 59135907A JP 13590784 A JP13590784 A JP 13590784A JP S6115250 A JPS6115250 A JP S6115250A
Authority
JP
Japan
Prior art keywords
entry
page
tlb
bit
same
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
JP59135907A
Other languages
English (en)
Other versions
JPH024017B2 (ja
Inventor
Kazutoshi Eguchi
江口 和俊
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP59135907A priority Critical patent/JPS6115250A/ja
Priority to US06/749,866 priority patent/US4731740A/en
Publication of JPS6115250A publication Critical patent/JPS6115250A/ja
Publication of JPH024017B2 publication Critical patent/JPH024017B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、TLBを備えた仮想記憶制御方式の計算機
におけるTLB制御方式に関する。
[発明の技術的背景] 仮想記憶制御方式の計算機では、一般に、仮想アドレス
から実アドレスへのアドレス変換を高速に行なうために
、TE01 (Lranslationl ookas
ide  3 uffer ; 7ドレス変換ハツ77
 )と呼ばれるハードウェア機構が設けられている。
このTLBの各エントリには、実ページ番号を含むアド
レス変換情報や、対応エントリが正当(有効)か否(無
効)かを示すバリッド(Valid)ビットのフィール
ドを有している。
TLBは、メモリアクセスに際し、仮想アドレスの所定
フィールドを用いて索引される。そして、仮想アドレス
の所定フィールドとTLBの対応エントリの内容とによ
り、メモリアクセスの正当性がチェックされる。このチ
ェックにより、正当性が保証された場合、対応エントリ
内の実ページ番号と仮想アドレス(のオフセット)とに
より得られる実アドレスを用いたメモリアクセスが行な
われる。これに対し、上記正当性が保証されない場合、
TLBの対応エントリの入替えが行なわれ、しかる後メ
モリアクセスが行なわれる。
[背景技術の問題点コ しかし、上記したTLBを用いた従来の仮想記憶制御方
式の計算機では、例えば、ハーフワード境界(Half
word  B oundary )のフルワードアク
セス(FuNword  A、ccess)であって、
且つページ境界(P age  3 oundary 
)をまタフメモリアクセスのときなどは、処理速度が低
下する欠点があった。これは、1つのメモリアクセスが
2ページにまたがる場合には、両ページに対応する各T
LBエントリをそれぞれチェックし、同メモリアクセス
の正当性を保証してからメモリアクセスを行なう必要が
あったためである。
[発明の目的] この発明は上記事情に鑑みてなされたものでその目的は
、TLBの各エントリに次ページに対する制御情報が設
定される構成とすることにより、ページ境界をまたぐメ
モリアクセスの場合でも、先頭ページに対応するTLB
エントリのチェックだけでこの種メモリアクセスの正当
性が保証でき、もって処理速度の向上が図れるTLB制
御方式を提供することにある。
このJ?Iu他の目的は、ページテーブルエントリに用
意され、対応するページが書換えられたか否かを示すモ
ディファイビットの状態が、たとえ2ページにまたがる
メモリアクセスの場合でも、簡単に把握できるようにす
ることにある。
この発明の更に他の目的は、上記モディファイビットが
簡単に把握できる方式を採用する場合において、TLB
エントリの入替え回数を減らすことにある。
[発明の概要] この発明では、仮想記憶制御方式の計算機において、各
TLBエントリに、同エントリの有効/無効を示すビッ
トv′、同エントリで示されるページの次のページに対
応するTLBエントリの有効/無効を示すビットVNi
(i′、,・・・n)nは1以上、の整数)、およびア
ドレス変換情報のフィールドを含むTLBが設けられる
。第1検出手段は、メモリアクセスに際し、対象仮想ア
ドレス、同対象仮想アドレスに対応する上記TLBエン
トリの上記ビットV′、VNi、およびアドレス変換情
報の所定フィールドにより、同エントリに正しいアドレ
ス変換情報が格納されているか否か、および同エントリ
で示されるページの次のページに対応する上記TLBエ
ントリに正しいアドレス変換情報が格納されているか否
かを検出する。また、第2検出手段は、1つのメモリア
クセスが2ページにまたがるか否かを検出する。入替え
手段は、上記第1および第2検出手段の検出結果に応じ
て上記TLBの対応エントリの入替えを行なう。
この入替え手段によるTLBエントリの入替え時には、
入替え対象TLBエントリの上記ビットV′が無条件で
セットされる。また、同入替え対象TLBエントリで示
されるページの直前ページに対応する上記TLBエント
リのビットVNiが変更される。更に、同入替え対象T
LBエントリで示されるページの直後ページに対応する
上記TLBエントリのチェックが行なわれ、そのチェッ
ク結果を利用することにより、上記入替え対象TLBエ
ントリのビットVNiの値の設定が行なわれる。
[発明の実施例1 以下、この発明の一実施例を図面を参照して説明する。
図面は、この発明を適用する仮想記憶制御方式の計算機
の要部の構成を示すもので、10は主メモリである。主
メモリ10には、仮想アドレス空間のセグメント情報を
示すセグメントテーブル11および各セグメントの中の
ページ情報を示すページテーブル12が置かれる。セグ
メントテーブル11の各エントリは、同エントリの有効
/周動を示すバリッドピントV、そのセグメントの主記
憶保護情報P、LEVEL、および対応するページテー
ブル12の先頭アドレスであるページテーブル起点アド
レスPTOのフィールドを有する。また、ページテーブ
ル12の各エントリは、同エントリの有効/無効を示す
バリッドビットV、対応するページが書換えられたこと
を示す(即ち、仮想空間内の該当ページの内容を、主メ
モリ10内の該当ページの内容に一致させる必要がある
ことを示す)モディファイビットM、および仮想アドレ
スを実アドレスに変換するための実ページ番号(アドレ
ス)RPAのフィールドを有する。
20はデータバス、30は演算制m装置である。演算制
fil装置30は、データバス20により主メモリ10
と接続される。
演篩制御装置30において、31はPSW(プログラム
ステータスワード)である。PSW31の所定フィール
ドには、プログラムの走行モード【保護の優先レベル)
を示すモード情報MODEが格納される。32は仮想ア
ドレスを保持するメモリアドレスレジスタ(MAR)で
ある。仮想アドレスは、論理的に、セグメント番号SN
、ページ番号PN、およびページ内オフセット0ffs
etに分割される。33はセグメントテーブル11のエ
ントリ(セグメントテーブルエントリ)に格納されてい
る主記憶保護情報P、LEVELを一時保持する保護レ
ジスタ、34はページテーブル12のエントリ(ページ
テーブルエントリ)に格納されている実ページ番号RP
Aを一時保持するRPAレジスタある。
35は仮想アドレスから実アドレスへのアドレス変換を
高速に行なうためのTLBである。TLB35は、TL
B35A、35Bの2セツトからなり、MAR32に保
持された仮想アドレスのセグメント番号SNの一部、例
えば下位ビットと、同じくページ番号PNの一部、例え
ば下位ビットとの連結情報(SNの一部が下位となる)
によって索引される。TLB35(内のTLB35A、
35B)の各エントリ(TLBエントリ)は、コントロ
ールセクションC8,SN”、PN′、RPAからなる
アドレス変換情報、およびP、LEVELのフィールド
を有する。コントロールセクションC8は、ビットV′
、ビットM′、ビットVNA、ビットVNB、ビットM
NA、およびビットMNBからなる。ビットV−は、対
応するTLBエントリの有効/無効を示し、ビットVN
A、VNBは、同エントリで示されるページの次のペー
ジに対応するTLBエントリ(T L B55A 、 
35Bのエントリ)の有効、/無効を示す。績だ、ビッ
トM′は、対応するページのページテーブル12内エン
トリのモディファイビットMの状態を示し、ビットMN
A。
MNBは、対応するページの次のページのページテーブ
ル12内エントリのモディファイビットMの状態を示す
。SN−は、セグメン1〜番@SNの残りビット(上位
ビット)に対応し、PN−は、ページ番号PNの残りビ
ットに対応する。また、例えばTLB35Bの各エント
リは、参照ピッl−Rを有している。ビットRは、T 
L B55A、 35Bの該当エントリのいずれが(即
ち、T L B 35のA11ll当エントリ、B側該
当エントリのどちらが)最も昔に参照されたかを示す。
36はMAR32に保持された仮想アドレスのベージ内
オフセットQffsetにより、対象メモリアクセスが
ページ境界にまたがるか否かをチェックし、その旨を示
す信号PAGEBDを出力する境界チェック回路、37
はT L B 35に対する制紳等を行なうコントロー
ル回路、38は実アドレスを保持するレジスタである。
コントロール回路37には、TLB35に対する索引結
果(具体的には、コントロールセクションO8,5N′
、PN′、およびP、LEVEL)、MAR32に保持
された仮想アドレスのSN、PNの上位ビット、境界チ
ェック回路3Gからの信号PAGEBD、図示せぬマイ
クロブログラム制御部からの各種メモリ制御信号が導か
れる。これらメモリ制御信号は、メモリアクセス要求を
示す信号MREQ、メモリリードを示す信号RD、メモ
リライトを示す信号WR1命令フェッチであることを示
す信号IF、およびフルワードアクセスであることを示
す信号FW等である。
次に、この発明の一実施例の動作を説明する。
今、主メモリ10に対するメモリアクセスのために、M
AR32に仮想アドレスがロードされたものとする。M
 A R32にロードされた仮想アドレス中のページ内
オフセットQffsetは、境界チェック回路36に導
かれる。これにより、境界チェック回路36は、上記し
た主メモ10に対するメモリアクセスがフルワードアク
セスであるものとした場合に、ページ境界にまたがるア
クセスとなるが否かをチェックする。この例では、1ペ
ージは2KBであり、したがって0ffsetは11ビ
ツトで構成される。この場合、ハーフワード境界のフル
ワードアクセスを条件とすると、境界チェック回路36
はQffsetが16進表現r ” 7 F E ”で
あるか否かをチェックすればよい。境界チェック回路3
6は、M A R32からのQffsetに基づくチェ
ック結果を信号PAGEBDとしてコントロール回路3
7に出力する。
一方、M A R32にロードされた仮想アドレス中の
セグメント番号SNの下位ビットとページ番号PNの下
位ビットとの連結情報は、TLB35に導かれる。しか
して、上記連結情報により、TLB35が索引される。
この結果、TLB35(TLB35A、35B)から、
該当エントリの格納情報が読出される。TLB35から
の読出し情報のうち、v′。
M′、VNA、VNB、MNA、MNB、SN”。
PN′、P、LEVEL、R(Rk一ついT1.tTL
B35Bからのみ)はコントロール回路37に導かれる
。また、コントロール回路37には、M A R32に
ロードされた仮想アドレスのSNの上位ビット(SN1
.PNの上位ビット(PN−’)、およびPSW31か
らのMODEも導かれる。コントロール回路37は、こ
れらの入力情報により、信号Miss、PRT、MOD
、NEXT:MISS。
NEXT:MODを生成する。信号Missは、TLB
35の該当エントリに(仮想アドレスから実アドレスへ
のアドレス変換のための)正しいアドレス変換情報が無
いこと、即ちミスヒツト(TLBミスヒツト)を示す。
信号PRTは、PSW31で示された動作モードがその
セグメントへのメモリアクセス権を持っていないこと、
即ち主記憶保護違反であることを示す。信号MODは、
ページテーブル12の該当エントリのモディファイビッ
トMがセントされていないこと(これをモディファイと
呼ぶ)を示す。信号NEXT:MISSは、今アクセス
しようとしているページの次のページに対応するTLB
エントリが正しく作られていないこと、即ち次ページミ
スヒツトを示す。そして、信号NEXT:MODは、今
アクセスしようとしているページの次のページに対応す
るページテーブルエントリのモディファイビットMがセ
ットされていないこと、即ち次ページモディファイを示
す。これらの信号の生成論理は以下の通りである。
■ MISS MISS=HIT HIT=HITA+HITa ITi =V+  ・(SN−−TLB+  (SN−))・ 
(PN”=TLBi  (PN−))なお、SN′、P
N−はMAR32からのSN。
PNの上位ピットを示し、V+ 、TLB+(SNi、
TLB+  (PN−)は、TLB35+(+−A、B
)め該当エンド!J(7)V、SN−。
PN”をホす。したがって、HIT+  (i −A。
B)は、TLB35iの該当エントリに正しいアドレス
変換情報が有ることを示す。このことから、HITが、
T L B 35の該当エントリのA側またはB側のい
ずれか一方に正しいアドレス変換情報が有ること、即ち
ヒツト(TLBヒツト)を示すことが理解されよう。
■ PRT PRT =HITA・<MODE≧P、LEVELA)+HIT
s ・ (MODE≧P、LEVELe )ナオ、P、
LEVEL+  (i=A、B)は、TL335iの該
当エントリのP、LEVELを示す。
■ MOD MOD=HI TA −MA +HI TB −Msな
お、M+(i−A、B)は、TLB35iの該当エント
リのMを示す。
■ NEXT:MISS NEXT:Miss なお、VNA+ 、VNB+  (i =A、B)le
t、TLB35iの該当エンドりのVNA、VNBを示
す。
■ NEXT:MOD NEXT:MOD なお、MNA+ 、MNB+  (i=A、B)は、T
LB35iの該当エントリのMNA、MNBを示す。
上記した■〜■に示す信号は、コントロール回路37か
ら図示せぬマイクロプログラム制御部に供給され、メモ
リアクセスを行なう際に、〈マイクロプログラムにより
)予めメモリアクセスの正当性をチェックするのに用い
られる。
また、この実施例では、コントロール回路37において
もメモリアクセスの正当性のチェックが行なわれる構成
となっている。これは、例えばロード(Load)命令
のように、メモリアクセスが1回しか行なわれない命令
などの場合、メモリアクセスの正当性をマイクロプロセ
ッサでチェックしていたのでは処理速度が著しく低下し
てしまうことを考慮したためである。即ち、コントロー
ル回路31は、上記した■〜■の信号、更にはマイクロ
プログラム制御部からの各種メモリ制御信号により、メ
モリアクセスの正当性をハード的にチェックする。コン
トロール回路37は、メモリアクセスの正当性が保証で
きない場合、命令実行前にファームウェアレベルでの割
込みを発生する。この場合には、ミスヒツト割込み信号
MISS:IN丁、主記憶保護違反割込み信号PRT:
INT、モディファイ割込み信号MOD : INT、
次ベージミスヒツト割込み信号NEXT:Miss:I
NT、更には次ページモディファイ割込み信号NEXT
 :MOD : INTが、以下に示す論理に従って生
成される。
■ Miss:INT MISS:INT −Miss−MREQ ■ PRT:IN”r PRT:INT =MISS−PRT−MREQ ■ MOD:INT MOD : INT =MISS−PRT−MOD−MREQ−WR@  N
EXT:MISS:INT NEXT:MISS: INT −MISS−PRT・ (MOD−WR)−NEXT 
:MISS−NEXT :MREQNEXT:MREQ =MREQ−PAGEBD −FW @)  NEXT:MOD:INT NEXT :MOD : INT −M I S3 ・I−’K l ・MtJLl−NE
XT:MISS−NEXT:MOD・NEXT :MR
EQ−WR 以上の■〜[株]の割込み(信号)は、上記した論理か
ら明らかなように、割込み発生の優先順位を有している
。上記の例では、■(ミスヒツト割込み)の優先度が最
も高く、以下■、■の順となり、[相](次ページモデ
ィファイ)の優先度が最も低くなっている。
上記した論理により、ミスヒツトが検出された場合、〈
マイクロプログラム制御部の制御の下で)コントロール
回路37により、後述するようにTL335の該当エン
トリの入替え(リプレース)が行なわれる。また、主記
憶保護違反の場合には、ソフトウェアレベルでの割込み
が発生される。また、モディファイ(割込み)の場合、
後述するようにページテーブル12の該当エントリのモ
ディファイビットMのセットと、T L B 35の該
当エンi・りのセットなどが行なわれる。また、次ペー
ジミスヒツトの場合、ミスヒツトの場合と同様に、TL
B35の該当エントリの入替えが行なわれる。また、次
ページモディファイの場合には、モディファイ(割込み
)の場合と同様に、ページテーブル12の該当エントリ
のモディファイピッl−Mのセットが行なわれ、更にT
LB35の内容の変更が行なわれる。なお、次ページミ
°スヒット、次ページモディファイは、ページ境界にま
たがるフルワードアクセスのときに発生する可能性があ
る。
ここで、TLB35の該当エントリの入替え(リプレー
ス)等、TLB35の内容を変更する場合について説明
する。なお、以下の説明では、MAR32にロードされ
た仮想アドレスを対象仮想アドレス、対象仮想アドレス
に対応するTLB35のエントリをTLB該当エントリ
と呼ぶ。また、対象仮想アドレスの直前ページに対応す
るTLBエン]・リセットをTLB直前エントリセット
、対象仮想アドレスの直後のページに対応するTLBエ
ン1〜リセットをTLB直後エントリセットと呼ぶ。
(1)  メモリリード時のミスヒツトの場合メモリリ
ード時にミスヒツト(割込み)が発生した場合、マイク
ロプログラム制御部の制御により、まずセグメントテー
ブル11の該当エントリ中の主配憶保護情報P、LEV
ELが保護レジスタ33にロードされ、対応するページ
テーブル12の該当エントリ中の実ページ番号RPAが
RPAレジスタ34にロードされる。P、LEVELは
、図示せぬセグメントテーブル起点レジスタに格納され
ているセグメントテーブル起点アドレスと、仮想アドレ
スのセグメント番号SNとを用いてセグメントテーブル
11をアクセスすることにより得られる。このときペー
ジテーブル起点アドレスも得られる。また、RPAは、
上記ページテーブル起点アドレスと仮想アドレスのペー
ジ番号PNとを用いて対応するページテーブル12をア
クセスすることにより得られる。
P、LEVELおよびRPAがロードされると、マイク
ロプログラムによりTLBリプレース(リード)指令が
発行される。この指令により、TLB35A、353の
該当エントリのうち、一番台に参照された側のエントリ
、例えばTLB35A(TL335のA側)の該当エン
トリの書換えが行なわれる。このとき、A側、B側のい
ずれを書換えたか(この例ではA側)が記憶される。こ
の書換え(リプレース)にあっては、対象仮想アドレス
のSN′、PN′、保護レジスタ33からのP、LEV
EL、およびRPAレジスタ34からのRPAが、TL
B該当エントリの所定フィールドに書込まれる。また、
TLB該当エントリのビットV′がセット、ビットM′
がリセッ]・される一方、VNA。
VNB、MNA、MNBはHL!:される。ナオ、書換
え(リプレース)対象エントリを、TLB35A側、ま
たはT L B 35B側のいずれとするかは、TLB
35Bの該当エントリ中の参照ビットRに基づいて決定
される。この書換えに際し、上記参照ビットRの論理値
は反転される。
上記した書換えの後、M A R32の内容が、対象仮
想アドレスより1ページ前を示すように変更され、続い
てコントロールセクション・チェンジ〈リード)指令が
発行される。この指令により、TLB直前エントリセッ
]−のコン1〜ロールセクシヨンO8が同時に変更され
る。このC8の変更内容は、TLB直前エントリセット
が、M A R32に設定された仮想アドレス(対象仮
想アドレスより1ページ前を示す仮想アドレス)に対応
するアドレス変換情報を正しく持っている(TLBヒツ
ト)か、否(TLBミス)かにより、次のように異なる
。但し、次の例は、TLBリプレース(リード1指令に
より、TLB35のA側がリプレースされた場合である
a)  ’TLBヒツトの場合 V:不変  VNA :セット VNB:不変(リセット) M:不変  MNA :リセット fvlNB:不変(リセット) b)  TLBミスの場合 V:不変  VNA :リセット VNB:不変 M:不変  MNA:リセット MNB:不変 TLB直前エントリセットのコントロールセクションO
8の変更が終了すると、M A R32の内容が、対象
仮想アドレスより1ページ後を示すように変更され、続
いてチェック指令が発行される。
この指令により、TLB直後エントリセットがチェック
される。置体的には、TLBミスが或はTLBヒツトか
、更にはビットMがセットされているか否かがチェック
される。なお、TLBミスの場合には、ビットMのチェ
ックは無意味となる。
このチェックにおいて、TLBヒツトが検出された場合
には、ヒツトしたTLB番号(TLB35のA側か、或
はB側か)が記憶される。
TLB直後エントリセットのチェックが終了(ると、M
 A R32の内容が対象仮想アドレスに戻され、続い
てチェンジ・ネクスト(ChanoeNeXt)指令が
発行される。この指令により、前記したTLB該当エン
トリのリプレース時に保留されティたVNA、VNB、
MNA、IvlNBが、以下に示すように正しい値に設
定される。この際、チェック指令の実行により得られた
情報が利用される。
a) チェック指令でTLBヒツト〈但しB側とする)
検出の場合 a′、)  ビットMはリセットしていたvNA:リセ
ット vNB:セット MNA :リセット MNB:リセットa−2)  ビ
ットMはセットしていたVNA :リセット VNB 
:セットMNA :リセット MNB :セットb) 
チェック指令でTLBミス検出の場合VNA :リセッ
ト VNB :リセットMNA :リセット MNB 
:リセット(2メモリライト時のミスヒツトの場合メモ
リライト時にミスヒツト(割込み)が発生した場合のT
LBIIJtllの手順は、前記(1)でのTLBリプ
レース(リード)指令の代りにTLBリプレース〈ライ
ト)指令が、コントロールセクション・チェンジ(リー
ド)指令の代りにコントロールセクション・チェンジ〈
ライト)指令が適用されること、そしてページテーブル
12の対応するエントリのモディファイビットMがセッ
トされることを除き、メモリリード時と同様である。こ
の場合、TLB該当エントリ、T L B直前エントリ
セットのコントロールセクションC8は、以下の通りと
なる。
a)TLB該当エントリ V:セット  VNA : H VNB:H M:セット  MNA ニス MNB : H X:メモリリード時と同様に設定 されることを示す b)  TLB直前エントリセット 但し、A側がリプレースされた場合 b′、)  TLBヒツトの場合 ■:不変  VNA :セット VNB:不変(リセット) M:不変  MNANヤニト・ MNB:不変(リセット) b−2)  TLBミスの場合 V:不変  VNA :リセット VNB :不変 M:不変  MNA :リセット MNB:不変 (3)  メモリライト時のモ′ディフフイ割込みメモ
リライト時にモディファイ割込みが発生すると、まずペ
ージテーブル12の該当エントリのモディファイビット
Mがセットされる。次に、MAR32に対象仮想アドレ
スがセットされ、続いてセット・モディファイ指令が発
行される。この指令により、TLBi当エントリ(この
例では、■[835のA側の対応するエントリであるも
のとする)のビットMがセットされる。次に、M A 
R32の内容が、対象仮想アドレスより1ページ前を示
すように変更され、続いてコントロールセクション・チ
ェンジ(モディファイ)指令が発行される。この指令に
より、TLB直前エントリセットのコントロールセクシ
ョンC8が変更される。このC8の変更内容は、TLB
直前エントリセットが、MA R32に設定された仮想
アドレス(対象仮想アト−へ レスより1ページ前を示す仮想アドレス)に対応するア
ドレス変換情報を正しく持っている(TLBヒツト)か
、否(TLBミス)かにより、次のように異なる。但し
、次の例は、セット・モディファイ指令により、T L
 B 35のA側の対応するエントリ中のビットMがセ
ットされた場合である。
a)  TLBヒツトの場合 V:不変  VNA :不変(セット)VNB:不変 M:不変  MNA :セット M N B :不変 b)  TLBミスの場合 V:不変  VNA :不変(リセット)VNB :不
変 M:不変  MNA :不変(リセツ)〜)MNB :
不変 この場合、TLB直後エンi・リセットの内容により、
TLB該当エントリのコントロールセクションC8が影
響されることはない。
上記したTLBilllllによれば、TLB35の各
エントリのコントロールセクションC8には、対応する
ページは勿論、次ページに対する最新の情報も正しく設
定される。例えば、成る仮想アドレスによるメモリリー
ド時にミスヒツト(割込み)が発生した場合、TLB該
当エントリがリプレースされる。この際、V、Mが一義
的に正しい値に設定されるだけでなく、(TLB直後エ
ンドリセットをチェックすることにより)VNA、VN
B。
MNA、MNBが、TLB直後エントリセットの状態を
正しく反映するように変更される。このとき、TLB該
当エントリのリプレースに伴い、TLB直前Iント’J
セット(DVNA、VNB、MNA、MNBも、TLB
該当エントリの状態を反映するように変更される。
また、上記メモリリードがページ境界にまたがるフルワ
ードアクセスである場合であって、いずれのページにつ
いてもTLB該当エントリにアドレス変換情報が正しく
格納されていない場合には、次のようにしてTLBエン
トリの変更が行なわれる。この場合、割込みの優先順位
から明らかなように、ミスヒツト扱いとなり、先頭ペー
ジのTLB該当エントリのリプレース(O8の変更を含
む)と、そのTLB直前エントリセットのC8(VNA
、VNB、MNA、MNB)の変更とが行なわれる。そ
して、再び上記したフルワードアクセスを実行しようと
すると、今度は次ページミスヒツト扱いとなる。この場
合には、次のページのTLB該当エントリのリプレース
(C3の変更を含む)と、そのTLB直前エントリセッ
ト、即ち先頭ページのTLB該当エントリのC8(VN
A、VNB、MNA、MNB)の変更とが行なわれる。
この結果、先頭ページに対応するTLB該当エントリに
は、同エントリおよびTLB直後エントリビットのいず
れにも、正しいアドレス変換情報が格納されていること
を示す情報が設定さ・れる。
また、メモリリード時のミスヒツトによりTLB該当エ
ントリのリプレースが行なわれたページに、メモリライ
トアクセスを行なう場合、(もし主記憶保護違反が発生
しなければ)モディファイ割込みが発生し、TLB該当
エントリのピッl−Mだけがセットされる。このとき、
TLB直前エントリセッ1〜のO8(中のMN i )
が、TLB該当エントリの状態を反映するように変更さ
れる。また、ページテーブル12の対応エントリのモデ
ィフアイビットMもセットされる。もし、モディファイ
割込みを適用せずに、ページテーブル12のモディファ
イビットMに対するセット動作回数を減少させたい場合
には、モディファイ(割込み)、次ページモディファイ
(割込み)に相当する状態もミスヒツト(割込み)、次
ページミスヒツト(割込み)扱いとすればよい。但し、
この場合には、TLBエントリのリプレースが伴うため
、セグメントテーブル11およびページテーブル12へ
のアクセスが必要となることから、前記した方式に比べ
効率は低下する。
なお、前記実施例では、主記憶保護情報P、 LEVE
Lが1種類である場合について説明したが、これに限る
ものではない。例えば、主記憶保護の効率化のために、
リード保護用、ライト保護用、命令実行保護用の3種類
の主記憶保護情報が用意されている場合にも、同様に実
施できる。この場合、主記憶保護違反の検出は、メモリ
アクセスの種類に対応する主記憶保護情報を用いて行な
われる。
[発明の効果] 以上詳述したようにこの発明によれば、次に列挙する作
用効果を奏することができる。
■ TLBの各エントリに、該当ページは勿論、次ペー
ジに対する最新の制御情報が正しく設定されるので、た
とえページ境界をまたぐメモリアクセスの場合でも、先
頭ページに対応するTLBエントリのチェックだけでこ
の種メモリアクセスの正当性が保証でき、したがってl
l!l理速度の向上が図れる。
■ 対応するページが書換えられたか否かを示すモディ
ファイビットをページテーブルエントリに用意する方式
を採用する場合、たとえ2ページにまたがるメモリアク
セスのときでも、同モディファイピットの状態を簡単に
把握でき、ページテーブルエントリのモディファイビッ
トのセット回数の減少が図れる。
■ ページテーブルエントリのモディファイビットの把
握が簡単に行なえる方式を採用する場合において、前回
リードアクセスされたページに対するメモリライト時に
は、対応するTLBエントリの入替えを不要とすること
ができる。
【図面の簡単な説明】
図面はこの発明の一実施例に係る仮想記憶制御方式の計
算機のの要部の構成を示すブロック図である。 10・・・主メモリ、11・・・セグメントテーブル、
12・・・ページテーブル、35・・・TLB、36・
・・境界チェック回路、37・・・コントロール回路。

Claims (3)

    【特許請求の範囲】
  1. (1)仮想記憶制御方式の計算機において、各TLBエ
    ントリに、同エントリの有効/無効を示すビットV′、
    同エントリで示されるページの次のページに対応するT
    LBエントリの有効/無効を示すビットVNi(i=1
    、・・・n、nは1以上の整数)、およびアドレス変換
    情報のフィールドを含むTLBと、メモリアクセスに際
    し、対象仮想アドレス、同対象仮想アドレスに対応する
    上記TLBエントリの上記ビットV′、VNi、および
    アドレス変換情報の所定フィールドにより、同エントリ
    に正しいアドレス変換情報が格納されているか否か、お
    よび同エントリで示されるページの次のページに対応す
    る上記TLBエントリに正しいアドレス変換情報が格納
    されているか否かを検出する第1検出手段と、1つのメ
    モリアクセスが2ページにまたがるか否かを検出する第
    2検出手段と、上記第1および第2検出手段の検出結果
    に応じて上記TLBの対応エントリの入替えを行なう入
    替え手段と、この入替え手段によるTLBエントリの入
    替え時に、入替え対象TLBエントリの上記ビットV′
    をセットする手段と、同入替え対象TLBエントリで示
    されるページの直前ページに対応する上記TLBエント
    リのビットVNiを変更する手段と、同入替え対象TL
    Bエントリで示されるページの直後ページに対応する上
    記TLBエントリをチェックし、そのチェック結果に応
    じて上記入替え対象TLBエントリのビットVNiの値
    を設定する手段とを具備することを特徴とするTLB制
    御方式。
  2. (2)各ページテーブルエントリに、対応するページが
    書換られたか否かを示すモディファイビット、および実
    ページ番号のフィールドを有するページテーブルを備え
    た仮想記憶制御方式の計算機において、各TLBエント
    リに、同エントリの有効/無効を示すビットV′、同エ
    ントリで示されるページの次のページに対応するTLB
    エントリの有効/無効を示すビットVNi(i=1、・
    ・・n)nは1以上の整数)、同エントリで示されるペ
    ージに対応する上記ページテーブルエントリのモディフ
    ァイビットの状態を示すビットM′、同エントリで示さ
    れるページの次のページに対応する上記ページテーブル
    エントリのモディファイビットの状態を示すビットMN
    i、およびアドレス変換情報のフィールドを含むTLB
    と、メモリアクセスに際し、対象仮想アドレス、同対象
    仮想アドレスに対応する上記TLBエントリの上記ビッ
    トV′、VNi、およびアドレス変換情報の所定フィー
    ルドにより、同エントリに正しいアドレス変換情報が格
    納されているか否か、同エントリで示されるページの次
    のページに対応する上記TLBエントリに正しいアドレ
    ス変換情報が格納されているか否か、同エントリで示さ
    れるページに対応する上記ページテーブルエントリの上
    記モディファイビットの状態、および同エントリで示さ
    れるページの次のページに対応する上記ページテーブル
    エントリの上記モディファイビットの状態を検出する第
    1検出手段と、1つのメモリアクセスが2ページにまた
    がるか否かを検出する第2検出手段と、上記第1および
    第2検出手段の検出結果に応じて上記TLBの対応エン
    トリの入替えを行なう入替え手段と、この入替え手段に
    よるTLBエントリの入替え時に、入替え対象TLBエ
    ントリの上記ビットV′をセットすると共にメモリリー
    ド/ライトに応じて上記ビットM′をリセット/セット
    する手段と、同入替え対象TLBエントリで示されるペ
    ージの直前ページに対応する上記TLBエントリのビッ
    トVNi、MNiをメモリリード/ライトに応じて変更
    する手段と、同入替え対象TLBエントリで示されるペ
    ージの直後ページに対応する上記TLBエントリをチェ
    ックし、そのチェック結果に応じて上記入替え対象TL
    BエントリのビットVNi、MNiの値を設定する手段
    とを具備することを特徴とするTLB制御方式。
  3. (3)各ページテーブルエントリに、対応するページが
    書換られたか否かを示すモディファイビット、および実
    ページ番号のフィールドを有するページテーブルを備え
    た仮想記憶制御方式の計算機において、各TLBエント
    リに、同エントリの有効/無効を示すビットV′、同エ
    ントリで示されるページの次のページに対応するTLB
    エントリの有効/無効を示すビットVNi(i=1、・
    ・・n、nは1以上の整数)、同エントリで示されるペ
    ージに対応する上記ページテーブルエントリのモディフ
    ァイビットの状態を示すビットM′、同エントリで示さ
    れるページの次のページに対応する上記ページテーブル
    エントリのモディファイビットの状態を示すビットMN
    i、およびアドレス変換情報のフィールドを含むTLB
    と、メモリアクセスに際し、対象仮想アドレス、同対象
    仮想アドレスに対応する上記TLBエントリの上記ビッ
    トV′、VNi、M′、MNi、およびアドレス変換情
    報の所定フィールドにより、同エントリに正しいアドレ
    ス変換情報が格納されているか否か、同エントリで示さ
    れるページの次のページに対応する上記TLBエントリ
    に正しいアドレス変換情報が格納されているか否か、同
    エントリで示されるページに対応する上記ページテーブ
    ルエントリの上記モディファイビットの状態、および同
    エントリで示されるページの次のページに対応する上記
    ページテーブルエントリの上記モディファイビットの状
    態を検出する第1検出手段と、1つのメモリアクセスが
    2ページにまたがるか否かを検出する第2検出手段と、
    上記第1および第2検出手段の検出結果に応じて上記T
    LBの対応エントリの入替えを行なう入替え手段と、こ
    の入替え手段によるTLBエントリの入替え時に、入替
    え対象TLBエントリの上記ビットV′をセットすると
    共にメモリリード/ライトに応じて上記ビットM′をリ
    セット/セットする手段と、同入替え対象TLBエント
    リで示されるページの直前ページに対応する上記TLB
    エントリのビットVNi、MNiをメモリリード/ライ
    トに応じて変更する手段と、同入替え対象TLBエント
    リで示されるページの直後ページに対応する上記TLB
    エントリをチェックし、そのチェック結果に応じて上記
    入替え対象TLBエントリのビットVNi、MNiの値
    を設定する手段と、上記第1および第2検出手段の検出
    結果に応じて上記TLBの対応エントリのビットM′の
    みをセットする手段と、この手段によるビットM′セッ
    ト対象TLBエントリで示されるページの直前ページに
    対応する上記TLBエントリのビットMNiを変更する
    手段とを具備することを特徴とするTLB制御方式。
JP59135907A 1984-06-30 1984-06-30 Tlb制御方式 Granted JPS6115250A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59135907A JPS6115250A (ja) 1984-06-30 1984-06-30 Tlb制御方式
US06/749,866 US4731740A (en) 1984-06-30 1985-06-28 Translation lookaside buffer control system in computer or virtual memory control scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59135907A JPS6115250A (ja) 1984-06-30 1984-06-30 Tlb制御方式

Publications (2)

Publication Number Publication Date
JPS6115250A true JPS6115250A (ja) 1986-01-23
JPH024017B2 JPH024017B2 (ja) 1990-01-25

Family

ID=15162614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59135907A Granted JPS6115250A (ja) 1984-06-30 1984-06-30 Tlb制御方式

Country Status (1)

Country Link
JP (1) JPS6115250A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132355A (ja) * 1986-06-18 1988-06-04 フランス国 メモリ制御装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139387A (ja) * 1982-02-12 1983-08-18 Hitachi Ltd アドレス変換方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139387A (ja) * 1982-02-12 1983-08-18 Hitachi Ltd アドレス変換方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132355A (ja) * 1986-06-18 1988-06-04 フランス国 メモリ制御装置

Also Published As

Publication number Publication date
JPH024017B2 (ja) 1990-01-25

Similar Documents

Publication Publication Date Title
US6321314B1 (en) Method and apparatus for restricting memory access
EP2862089B1 (en) Compare and replace dat table entry
JP3740195B2 (ja) データ処理装置
JP3713312B2 (ja) データ処理装置
EP1410218B1 (en) Mechanism for programmable modification of memory mapping granularity
EP2862059B1 (en) Local clearing control
US4731740A (en) Translation lookaside buffer control system in computer or virtual memory control scheme
JP6314212B2 (ja) ページ・テーブル・データ管理
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
JPS6184756A (ja) メモリアクセス制御装置
AU2004218704A1 (en) Lazy flushing of translation lookaside buffers
US4961135A (en) Translation lookaside buffer control system
JP2001034537A (ja) アドレス変換回路
JP2001222470A (ja) トランスレーション・ルックアサイド・バッファ回路
JPH05257811A (ja) メモリ管理装置
US5440708A (en) Microprocessor and storage management system having said microprocessor
KR20230101826A (ko) 캐퍼빌리티들을 사용하여 메모리에 대한 액세스를 제약하기 위한 기술
JP2007280421A (ja) データ処理装置
US6324635B1 (en) Method and apparatus for address paging emulation
JPS6115250A (ja) Tlb制御方式
KR100611305B1 (ko) 주소 맵핑 방법 및 장치
JPH024016B2 (ja)
JP2005108262A (ja) データ処理装置
JPS6252334B2 (ja)