JPH024016B2 - - Google Patents
Info
- Publication number
- JPH024016B2 JPH024016B2 JP59135906A JP13590684A JPH024016B2 JP H024016 B2 JPH024016 B2 JP H024016B2 JP 59135906 A JP59135906 A JP 59135906A JP 13590684 A JP13590684 A JP 13590684A JP H024016 B2 JPH024016 B2 JP H024016B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- page
- tlb
- bit
- vni
- 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 - Lifetime
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は、TLBを備えた仮想記憶制御方式
の計算機におけるTLB制御方式に関する。
の計算機におけるTLB制御方式に関する。
[発明の技術的背景]
仮想記憶制御方式の計算機では、一般に、仮想
アドレスから実アドレスへのアドレス変換を高速
に行なうために、TLB(Translation Lookaside
Buffer;アドレス変換バツフア)と呼ばれるハ
ードウエア機構が設けられている。このTLBの
各エントリには、実ページ番号を含むアドレス変
換情報や、対応エントリが正当(有効)か否(無
効)かを示すバリツド(Valid)ビツトのフイー
ルドを有している。
アドレスから実アドレスへのアドレス変換を高速
に行なうために、TLB(Translation Lookaside
Buffer;アドレス変換バツフア)と呼ばれるハ
ードウエア機構が設けられている。このTLBの
各エントリには、実ページ番号を含むアドレス変
換情報や、対応エントリが正当(有効)か否(無
効)かを示すバリツド(Valid)ビツトのフイー
ルドを有している。
TLBは、メモリアクセスに際し、仮想アドレ
スの所定フイールドを用いて索引される。そし
て、仮想アドレスの所定フイールドとTLBの対
応エントリの内容とにより、メモリアクセスの正
当性がチエツクされる。このチエツクにより、正
当性が保証された場合、対応エントリ内の実ペー
ジ番号と仮想アドレス(のオフセツト)とにより
得られる実アドレスを用いたメモリアクセスが行
なわれる。これに対し、上記正当性が保証されな
い場合、TLBの対応エントリの入替えが行なわ
れ、しかる後メモリアクセスが行なわれる。
スの所定フイールドを用いて索引される。そし
て、仮想アドレスの所定フイールドとTLBの対
応エントリの内容とにより、メモリアクセスの正
当性がチエツクされる。このチエツクにより、正
当性が保証された場合、対応エントリ内の実ペー
ジ番号と仮想アドレス(のオフセツト)とにより
得られる実アドレスを用いたメモリアクセスが行
なわれる。これに対し、上記正当性が保証されな
い場合、TLBの対応エントリの入替えが行なわ
れ、しかる後メモリアクセスが行なわれる。
[背景技術の問題点]
しかし、上記したTLBを用いた従来の仮想記
憶制御方式の計算機では、例えば、ハーフワード
境界(Halfword Boundary)のフルワードアク
セス(Fullword Access)であつて、且つページ
境界(Page Boundary)をまたぐメモリアクセ
スのときなどは、処理速度が低下する欠点があつ
た。これは、1つのメモリアクセスが2ページに
またがる場合には、両ページに対応する各TLB
エントリをそれぞれチエツクし、同メモリアクセ
スの正当性を保証してからメモリアクセスを行な
う必要があつたためである。
憶制御方式の計算機では、例えば、ハーフワード
境界(Halfword Boundary)のフルワードアク
セス(Fullword Access)であつて、且つページ
境界(Page Boundary)をまたぐメモリアクセ
スのときなどは、処理速度が低下する欠点があつ
た。これは、1つのメモリアクセスが2ページに
またがる場合には、両ページに対応する各TLB
エントリをそれぞれチエツクし、同メモリアクセ
スの正当性を保証してからメモリアクセスを行な
う必要があつたためである。
[発明の目的]
この発明は上記事情に鑑みてなされたものでそ
の目的は、nセツト(nは2以上の整数)の
TLBを備えた仮想記憶制御方式の計算機におい
て、nセツトのTLBの各エントリ(TLBエント
リ)に、自エントリの有効/無効を示すビツト
V′並びにアドレス変換情報の他に、自エントリ
で示されるページの次のページに対応する有効な
TLBエントリがTLBのいずれのセツトに存在す
るかを各セツト毎に示すビツトVNi(i=1,…
n)が設定される構成とすることにより、ページ
境界をまたぐメモリアクセスの場合でも、先頭ペ
ージに対応するTLBエントリのチエツクだけで
この種のメモリアクセスの正当性が保証でき、し
かもTLBエントリの入替え(リプレース)が行
われた場合には、該当TLBエントリとその直前
の各セツト毎のTLBエントリとの個々のつなが
り具合をチエツクすることなく、直前のTLBエ
ントリのビツトVNiを正しく変更することがで
きるTLB制御方式を提供することにある。
の目的は、nセツト(nは2以上の整数)の
TLBを備えた仮想記憶制御方式の計算機におい
て、nセツトのTLBの各エントリ(TLBエント
リ)に、自エントリの有効/無効を示すビツト
V′並びにアドレス変換情報の他に、自エントリ
で示されるページの次のページに対応する有効な
TLBエントリがTLBのいずれのセツトに存在す
るかを各セツト毎に示すビツトVNi(i=1,…
n)が設定される構成とすることにより、ページ
境界をまたぐメモリアクセスの場合でも、先頭ペ
ージに対応するTLBエントリのチエツクだけで
この種のメモリアクセスの正当性が保証でき、し
かもTLBエントリの入替え(リプレース)が行
われた場合には、該当TLBエントリとその直前
の各セツト毎のTLBエントリとの個々のつなが
り具合をチエツクすることなく、直前のTLBエ
ントリのビツトVNiを正しく変更することがで
きるTLB制御方式を提供することにある。
この発明の他の目的は、nセツトのTLBの各
エントリに、上記の各情報の他に、自エントリで
示されるページに対応するページテーブルエント
リのモデイフアイビツト(対応するページが書換
えられたか否かを示すビツト)の状態を示すビツ
トM′、および上記ビツトVNiと対を成し、対応
VNiが有効指定状態にある場合に自エントリで
示されるページの次のページに対応するページテ
ーブルエントリのモデイフアイビツトの状態を示
すビツトMNiが更に設定される構成とすること
により、メモリライトアクセスの場合でも、
TLBにヒツトし且つ該当TLBエントリのビツト
M′が真であれば、ページテーブルの対応ページ
テーブルエントリのモデイフアイビツトのセツト
動作を不要とすることができ、また、ページ境界
をまたぐメモリライトアクセスの場合でも、先頭
ページに対応するTLBエントリのチエツクだけ
で、次のページに対応するページテーブルエント
リのモデイフアイビツトのセツト動作を不要とす
ることができるか否かが判別でき、更に、TLB
エントリの入替えが行われた場合には、該当
TLBエントリとその直前の各セツト毎のTLBエ
ントリとの個々のつながり具合をチエツクするこ
となく、直前のTLBエントリのビツトMNiを正
しく変更することができるTLB制御方式を提供
することにある。
エントリに、上記の各情報の他に、自エントリで
示されるページに対応するページテーブルエント
リのモデイフアイビツト(対応するページが書換
えられたか否かを示すビツト)の状態を示すビツ
トM′、および上記ビツトVNiと対を成し、対応
VNiが有効指定状態にある場合に自エントリで
示されるページの次のページに対応するページテ
ーブルエントリのモデイフアイビツトの状態を示
すビツトMNiが更に設定される構成とすること
により、メモリライトアクセスの場合でも、
TLBにヒツトし且つ該当TLBエントリのビツト
M′が真であれば、ページテーブルの対応ページ
テーブルエントリのモデイフアイビツトのセツト
動作を不要とすることができ、また、ページ境界
をまたぐメモリライトアクセスの場合でも、先頭
ページに対応するTLBエントリのチエツクだけ
で、次のページに対応するページテーブルエント
リのモデイフアイビツトのセツト動作を不要とす
ることができるか否かが判別でき、更に、TLB
エントリの入替えが行われた場合には、該当
TLBエントリとその直前の各セツト毎のTLBエ
ントリとの個々のつながり具合をチエツクするこ
となく、直前のTLBエントリのビツトMNiを正
しく変更することができるTLB制御方式を提供
することにある。
この発明の更に他の目的は、ページテーブルの
モデイフアイビツトの状態がTLBエントリを参
照するだけで把握できる構成としながら、TLB
エントリの入替え回数が減少できるTLB制御方
式を提供することにある。
モデイフアイビツトの状態がTLBエントリを参
照するだけで把握できる構成としながら、TLB
エントリの入替え回数が減少できるTLB制御方
式を提供することにある。
[発明の概要]
この発明では、仮想記憶制御方式の計算機にお
いて、各TLBエントリに、同エントリの有効/
無効を示すビツトV′、同エントリで示されるペ
ージの次のページに対応するTLBエントリの有
効/無効を示すビツトVNi(i=1,…n、nは
1以上の整数)、およびアドレス変換情報のフイ
ールドを含むTLBが設けられる。第1検出手段
は、メモリアクセスに際し、対象仮想アドレス、
同対象仮想アドレスに対応する上記TLBエント
リの上記ビツトV′,VNi、およびアドレス変換
情報の所定フイールドにより、同エントリに正し
いアドレス変換情報が格納されているか否か、お
よび同エントリで示されるページの次のページに
対応する上記TLBエントリに正しいアドレス変
換情報が格納されているか否かを検出する。ま
た、第2検出手段は、1つのメモリアクセスが2
ページにまたがるか否かを検出する。入替え手段
は、上記第1および第2検出手段の検出結果に応
じて上記TLBの対応エントリの入替えを行なう。
この入替え手段によるTLBエントリの入替え時
には、入替え対象TLBエントリの上記ビツト
V′が無条件でセツトされ、ビツトVNiが無条件
でリセツトされる。また、同入替え対象TLBエ
ントリで示されるページの直前ページに対応する
上記TLBエントリのビツトVNiが変更される。
いて、各TLBエントリに、同エントリの有効/
無効を示すビツトV′、同エントリで示されるペ
ージの次のページに対応するTLBエントリの有
効/無効を示すビツトVNi(i=1,…n、nは
1以上の整数)、およびアドレス変換情報のフイ
ールドを含むTLBが設けられる。第1検出手段
は、メモリアクセスに際し、対象仮想アドレス、
同対象仮想アドレスに対応する上記TLBエント
リの上記ビツトV′,VNi、およびアドレス変換
情報の所定フイールドにより、同エントリに正し
いアドレス変換情報が格納されているか否か、お
よび同エントリで示されるページの次のページに
対応する上記TLBエントリに正しいアドレス変
換情報が格納されているか否かを検出する。ま
た、第2検出手段は、1つのメモリアクセスが2
ページにまたがるか否かを検出する。入替え手段
は、上記第1および第2検出手段の検出結果に応
じて上記TLBの対応エントリの入替えを行なう。
この入替え手段によるTLBエントリの入替え時
には、入替え対象TLBエントリの上記ビツト
V′が無条件でセツトされ、ビツトVNiが無条件
でリセツトされる。また、同入替え対象TLBエ
ントリで示されるページの直前ページに対応する
上記TLBエントリのビツトVNiが変更される。
[発明の実施例]
以下、この発明の一実施例を図面を参照して説
明する。図面は、この発明を適用する仮想記憶制
御方式の計算機の要部の構成を示すもので、10
は主メモリである。主メモリ10には、仮想アド
レス空間のセグメント情報を示すセグメントテー
ブル11および各セグメントの中のページ情報を
示すページテーブル12が置かれる。セグメント
テーブル11の各エントリは、同エントリの有
効/無効を示すバリツドドビツトV、そのセグメ
ントの主記憶保護情報P.LEVEL、および対応す
るページテーブル12の先頭アドレスであるペー
ジテーブル起点アドレスPTOのフイールドを有
する。また、ページテーブル12の各エントリ
は、同エントリの有効/無効を示すバリツドビツ
トV、対応するページが書換えられたことを示す
(即ち、仮想空間内の該当ページの内容を、主メ
モリ10内の該当ページの内容に一致させる必要
があることを示す)モデイフアイビツトM、およ
び仮想アドレスを実アドレスに変換するための実
ページ番号(アドレス)RPAのフイールドを有
する。
明する。図面は、この発明を適用する仮想記憶制
御方式の計算機の要部の構成を示すもので、10
は主メモリである。主メモリ10には、仮想アド
レス空間のセグメント情報を示すセグメントテー
ブル11および各セグメントの中のページ情報を
示すページテーブル12が置かれる。セグメント
テーブル11の各エントリは、同エントリの有
効/無効を示すバリツドドビツトV、そのセグメ
ントの主記憶保護情報P.LEVEL、および対応す
るページテーブル12の先頭アドレスであるペー
ジテーブル起点アドレスPTOのフイールドを有
する。また、ページテーブル12の各エントリ
は、同エントリの有効/無効を示すバリツドビツ
トV、対応するページが書換えられたことを示す
(即ち、仮想空間内の該当ページの内容を、主メ
モリ10内の該当ページの内容に一致させる必要
があることを示す)モデイフアイビツトM、およ
び仮想アドレスを実アドレスに変換するための実
ページ番号(アドレス)RPAのフイールドを有
する。
20はデータバス、30は演算制御装置であ
る。演算制御装置30は、データバス20により
主メモリ10と接続される。
る。演算制御装置30は、データバス20により
主メモリ10と接続される。
演算制御装置30において、31はPSW(プロ
グラムステータスワード)である。PSW31の
所定フイールドには、プログラムの走行モード
(保護の優先レベル)を示すモード情報MODEが
格納される。32は仮想アドレスを保持するメモ
リアドレスレジスタ(MAR)である。仮想アド
レスは、論理的に、セグメント番号SN、ページ
番号PN、およびページ内オフセツトOffsetに分
割される。33はセグメントテーブル11のエン
トリ(セグメントテーブルエントリ)に格納され
ている主記憶保護情報P.LEVELを一時保持する
保護レジスタ、34はページテーブル12のエン
トリ(ページテーブルエントリ)に格納されてい
る実ページ番号RPAを一時保持するRPAレジス
タある。
グラムステータスワード)である。PSW31の
所定フイールドには、プログラムの走行モード
(保護の優先レベル)を示すモード情報MODEが
格納される。32は仮想アドレスを保持するメモ
リアドレスレジスタ(MAR)である。仮想アド
レスは、論理的に、セグメント番号SN、ページ
番号PN、およびページ内オフセツトOffsetに分
割される。33はセグメントテーブル11のエン
トリ(セグメントテーブルエントリ)に格納され
ている主記憶保護情報P.LEVELを一時保持する
保護レジスタ、34はページテーブル12のエン
トリ(ページテーブルエントリ)に格納されてい
る実ページ番号RPAを一時保持するRPAレジス
タある。
35は仮想アドレスから実アドレスへのアドレ
ス変換を高速に行なうためのTLBである。TLB
35は、TLB35A,35Bの2セツトからな
り、MAR32に保持された仮想アドレスのセグ
メント番号SNの一部、例えば下位ビツトと、同
じくページ番号PNの一部、例えば下位ビツトと
の連結情報(SNの一部が下位となる)によつて
索引される。TLB35(内のTLB35A,35
B)の各エントリ(TLBエントリ)は、コント
ロールセクシヨンCS、SN′,PN′,RPAからな
るアドレス変換情報、およびP.LEVELのフイー
ルドを有する。コントロールセクシヨンCSは、
ビツトV′、ビツトM′、ビツトVNA、ビツト
VNB、ビツトMNA、およびビツトMNBからな
る。ビツトV′は、対応するTLBエントリの有
効/無効を示し、ビツトVNA,VNBは、同エン
トリで示されるページの次のページに対応する
TLBエントリ(TLB35A,35Bのエント
リ)の有効/無効を示す。また、ビツトM′は、
対応するページのページテーブル12内エントリ
のモデイフアイビツトMの状態を示し、ビツト
MNA,MNBは、対応するページの次のページ
のページテーブル12内エントリのモデイフアイ
ビツトMの状態を示す。SN′は、セグメント番号
SNの残りビツト(上位ビツト)に対応し、
PN′は、ページ番号PNの残りビツトに対応する。
また、例えばTLB35Bの各エントリは、参照
ビツトRを有している。ビツトRは、TLB35
A,35Bの該当エントリのいずれが(即ち、
TLB35のA側該当エントリ、B側該当エント
リのどちらが)最も昔に参照されたかを示す。
ス変換を高速に行なうためのTLBである。TLB
35は、TLB35A,35Bの2セツトからな
り、MAR32に保持された仮想アドレスのセグ
メント番号SNの一部、例えば下位ビツトと、同
じくページ番号PNの一部、例えば下位ビツトと
の連結情報(SNの一部が下位となる)によつて
索引される。TLB35(内のTLB35A,35
B)の各エントリ(TLBエントリ)は、コント
ロールセクシヨンCS、SN′,PN′,RPAからな
るアドレス変換情報、およびP.LEVELのフイー
ルドを有する。コントロールセクシヨンCSは、
ビツトV′、ビツトM′、ビツトVNA、ビツト
VNB、ビツトMNA、およびビツトMNBからな
る。ビツトV′は、対応するTLBエントリの有
効/無効を示し、ビツトVNA,VNBは、同エン
トリで示されるページの次のページに対応する
TLBエントリ(TLB35A,35Bのエント
リ)の有効/無効を示す。また、ビツトM′は、
対応するページのページテーブル12内エントリ
のモデイフアイビツトMの状態を示し、ビツト
MNA,MNBは、対応するページの次のページ
のページテーブル12内エントリのモデイフアイ
ビツトMの状態を示す。SN′は、セグメント番号
SNの残りビツト(上位ビツト)に対応し、
PN′は、ページ番号PNの残りビツトに対応する。
また、例えばTLB35Bの各エントリは、参照
ビツトRを有している。ビツトRは、TLB35
A,35Bの該当エントリのいずれが(即ち、
TLB35のA側該当エントリ、B側該当エント
リのどちらが)最も昔に参照されたかを示す。
36はMAR32に保持された仮想アドレスの
ページ内オフセツトOffsetにより、対象メモリア
クセスがページ境界にまたがるか否かをチエツク
し、その旨を示す信号PAGEBDを出力する境界
チエツク回路、37はTLB35に対する制御等
を行なうコントロール回路、38は実アドレスを
保持するレジスタである。コントロール回路37
には、TLB35に対する索引結果(具体的には、
コントロールセクシヨンCS、SN′、PN′、および
P.LEVEL)、MAR32に保持された仮想アドレ
スのSN,PNの上位ビツト、境界チエツク回路
36からの信号PAGEBD、図示せぬマイクロプ
ログラム制御部からの各種メモリ制御信号が導か
れる。これらメモリ制御信号は、メモリアクセス
要求を示す信号MREQ、メモリリードを示す信
号RD、メモリライトを示す信号WR、命令フエ
ツチであることを示す信号IF、およびフルワー
ドアクセスであることを示す信号FW等である。
ページ内オフセツトOffsetにより、対象メモリア
クセスがページ境界にまたがるか否かをチエツク
し、その旨を示す信号PAGEBDを出力する境界
チエツク回路、37はTLB35に対する制御等
を行なうコントロール回路、38は実アドレスを
保持するレジスタである。コントロール回路37
には、TLB35に対する索引結果(具体的には、
コントロールセクシヨンCS、SN′、PN′、および
P.LEVEL)、MAR32に保持された仮想アドレ
スのSN,PNの上位ビツト、境界チエツク回路
36からの信号PAGEBD、図示せぬマイクロプ
ログラム制御部からの各種メモリ制御信号が導か
れる。これらメモリ制御信号は、メモリアクセス
要求を示す信号MREQ、メモリリードを示す信
号RD、メモリライトを示す信号WR、命令フエ
ツチであることを示す信号IF、およびフルワー
ドアクセスであることを示す信号FW等である。
次に、この発明の一実施例の動作を説明する。
今、主メモリ10に対するメモリアクセスのため
に、MAR32に仮想アドレスがロードされたも
のとする。MAR32にロードされた仮想アドレ
ス中のページ内オフセツトOffsetは、境界チエツ
ク回路36に導かれる。これにより、境界チエツ
ク回路36は、上記した主メモリ10に対するメ
モリアクセスがフルワードアクセスであるものと
した場合に、ページ境界にまたがるアクセスとな
るか否かをチエツクする。この例では、1ページ
は2KBであり、したがつてOffsetは11ビツトで構
成される。この場合、ハーフワード境界のフルワ
ードアクセスを条件とすると、境界チエツク回路
36はOffsetが16進表現で“7FE”であるか否か
をチエツクすればよい。境界チエツク回路36
は、MAR32からのOffsetに基づくチエツク結
果を信号PAGEBDとしてコントロール回路37
に出力する。
今、主メモリ10に対するメモリアクセスのため
に、MAR32に仮想アドレスがロードされたも
のとする。MAR32にロードされた仮想アドレ
ス中のページ内オフセツトOffsetは、境界チエツ
ク回路36に導かれる。これにより、境界チエツ
ク回路36は、上記した主メモリ10に対するメ
モリアクセスがフルワードアクセスであるものと
した場合に、ページ境界にまたがるアクセスとな
るか否かをチエツクする。この例では、1ページ
は2KBであり、したがつてOffsetは11ビツトで構
成される。この場合、ハーフワード境界のフルワ
ードアクセスを条件とすると、境界チエツク回路
36はOffsetが16進表現で“7FE”であるか否か
をチエツクすればよい。境界チエツク回路36
は、MAR32からのOffsetに基づくチエツク結
果を信号PAGEBDとしてコントロール回路37
に出力する。
一方、MAR32にロードされた仮想アドレス
中のセグメント番号SNの下位ビツトとページ番
号PNの下位ビツトとの連結情報は、TLB35に
導かれる。しかして、上記連結情報により、
TLB35が索引される。この結果、TLB35
(TLB35A,35B)から、該当エントリの格
納情報が読出される。TLB35からの読出し情
報のうち、V′,M′,VNA,VNB,MNA,
MNB,SN′,PN′,P.LEVEL,R(Rについて
はTLB35Bからのみ)はコントロール回路3
7に導かれる。また、コントロール回路37に
は、MAR32にロードされた仮想アドレスの
SNの上位ビツト(SN′)、PNの上位ビツト
(PN′)、およびPSW31からのMODEも導かれ
る。コントロール回路37は、これらの入力情報
により、信号MISS,PRT,MOD,NEXT:
MISS,NEXT:MODを生成する。信号MISS
は、TLB35の該当エントリに(仮想アドレス
から実アドレスへのアドレス変換のための)正し
いアドレス変換情報が無いこと、即ちミスヒツト
(TLBミスヒツト)を示す。信号PRTは、PSW
31で示された動作モードがそのセグメントへの
メモリアクセス権を持つていないこと、即ち主記
憶保護違反であることを示す。信号MODは、ペ
ージテーブル12の該当エントリのモデイフアイ
ビツトMがセツトされていないこと(これをモデ
イフアイと呼ぶ)を示す。信号NEXT:MISS
は、今アクセスしようとしているページの次のペ
ージに対応するTLBエントリが正しく作られて
いないこと、即ち次ページミスヒツトを示す。そ
して、信号NEXT:MODは、今アクセスしよう
としているページの次のページに対応するページ
テーブルエントリのモデイフアイビツトMがセツ
トされていないこと、即ち次ページモデイフアイ
を示す。これらの信号の生成論理は以下の通りで
ある。
中のセグメント番号SNの下位ビツトとページ番
号PNの下位ビツトとの連結情報は、TLB35に
導かれる。しかして、上記連結情報により、
TLB35が索引される。この結果、TLB35
(TLB35A,35B)から、該当エントリの格
納情報が読出される。TLB35からの読出し情
報のうち、V′,M′,VNA,VNB,MNA,
MNB,SN′,PN′,P.LEVEL,R(Rについて
はTLB35Bからのみ)はコントロール回路3
7に導かれる。また、コントロール回路37に
は、MAR32にロードされた仮想アドレスの
SNの上位ビツト(SN′)、PNの上位ビツト
(PN′)、およびPSW31からのMODEも導かれ
る。コントロール回路37は、これらの入力情報
により、信号MISS,PRT,MOD,NEXT:
MISS,NEXT:MODを生成する。信号MISS
は、TLB35の該当エントリに(仮想アドレス
から実アドレスへのアドレス変換のための)正し
いアドレス変換情報が無いこと、即ちミスヒツト
(TLBミスヒツト)を示す。信号PRTは、PSW
31で示された動作モードがそのセグメントへの
メモリアクセス権を持つていないこと、即ち主記
憶保護違反であることを示す。信号MODは、ペ
ージテーブル12の該当エントリのモデイフアイ
ビツトMがセツトされていないこと(これをモデ
イフアイと呼ぶ)を示す。信号NEXT:MISS
は、今アクセスしようとしているページの次のペ
ージに対応するTLBエントリが正しく作られて
いないこと、即ち次ページミスヒツトを示す。そ
して、信号NEXT:MODは、今アクセスしよう
としているページの次のページに対応するページ
テーブルエントリのモデイフアイビツトMがセツ
トされていないこと、即ち次ページモデイフアイ
を示す。これらの信号の生成論理は以下の通りで
ある。
MISS
MISS=
HIT=HITA+HITB
HITi
=Vi・(SN′=TLBi(SN′))
・(PN′=TLBi(PN′))
なお、SN′,PN′はMAR32からのSN,
PNの上位ビツトを示し、Vi,TLBi(SN′),
TLBi(PN′)は、TLB35i(i=A,B)の
該当エントリのV′,SN′,PN′を示す。したが
つて、HITi(i=A,B)は、TLB35iの
該当エントリに正しいアドレス変換情報が有る
ことを示す。このことから、HITが、TLB3
5の該当エントリのA側またはB側のいずれか
一方に正しいアドレス変換情報が有ること、即
ちビツト(TLBビツト)を示すことが理解さ
れよう。
PNの上位ビツトを示し、Vi,TLBi(SN′),
TLBi(PN′)は、TLB35i(i=A,B)の
該当エントリのV′,SN′,PN′を示す。したが
つて、HITi(i=A,B)は、TLB35iの
該当エントリに正しいアドレス変換情報が有る
ことを示す。このことから、HITが、TLB3
5の該当エントリのA側またはB側のいずれか
一方に正しいアドレス変換情報が有ること、即
ちビツト(TLBビツト)を示すことが理解さ
れよう。
PRT
PRT
=HITA・(MODE≧P.LEVELA)
+HITB・(MODE≧P.LEVELB)
なお、P.LEVELi(i=A,B)は、TLB3
5iの該当エントリのP.LEVELを示す。
5iの該当エントリのP.LEVELを示す。
MOD
MOD=HITA・A+HITB・B
なお、Mi(i=A,B)は、TLB35iの
該当エントリのM′を示す。
該当エントリのM′を示す。
NEXT:MISS
NEXT:MISS
=HITA・(A+A)
+HITB・(B+B)
なお、VNAi,VNBi(i=A,B)は、
TLB35iの該当エントリのVNA,VNBを
示す。
TLB35iの該当エントリのVNA,VNBを
示す。
NEXT:MOD
NEXT:MOD
=HITA・(A+A)
+HITB・(B+B)
なお、MNAi,MNBi(i=A,B)は、
TLB35iの該当エントリのMNA,MNBを
示す。
TLB35iの該当エントリのMNA,MNBを
示す。
上記した〜に示す信号は、コントロール回
路37から図示せぬマイクロプログラム制御部に
供給され、メモリアクセスを行なう際に、(マイ
クロプログラムにより)予めメモリアクセスの正
当性をチエツクするのに用いられる。
路37から図示せぬマイクロプログラム制御部に
供給され、メモリアクセスを行なう際に、(マイ
クロプログラムにより)予めメモリアクセスの正
当性をチエツクするのに用いられる。
また、この実施例では、コントロール回路37
においてもメモリアクセスの正当性のチエツクが
行なわれる構成となつている。これは、例えばロ
ード(Load)命令のように、メモリアクセスが
1回しか行なわれない命令などの場合、メモリア
クセスの正当性をマイクロプロセツサでチエツク
していたのでは処理速度が著しく低下してしまう
ことを考慮したためである。即ち、コントロール
回路37は、上記した〜の信号、更にはマイ
クロプログラム制御部からの各種メモリ制御信号
により、メモリアクセスの正当性をハード的にチ
エツクする。コントロール回路37は、メモリア
クセスの正当性が保証できない場合、命令実行前
にフアームウエアレベルでの割込みを発生する。
この場合には、ミスヒツト割込み信号MISS:
INT、主記憶保護違反割込み信号PRT:INT、
モデイフアイ割込み信号MOD:INT、次ページ
ミスヒツト割込み信号NEXT:MISS:INT、更
には次ページモデイフアイ割込み信号NEXT:
MOD:INTが、以下に示す論理に従つて生成さ
れる。
においてもメモリアクセスの正当性のチエツクが
行なわれる構成となつている。これは、例えばロ
ード(Load)命令のように、メモリアクセスが
1回しか行なわれない命令などの場合、メモリア
クセスの正当性をマイクロプロセツサでチエツク
していたのでは処理速度が著しく低下してしまう
ことを考慮したためである。即ち、コントロール
回路37は、上記した〜の信号、更にはマイ
クロプログラム制御部からの各種メモリ制御信号
により、メモリアクセスの正当性をハード的にチ
エツクする。コントロール回路37は、メモリア
クセスの正当性が保証できない場合、命令実行前
にフアームウエアレベルでの割込みを発生する。
この場合には、ミスヒツト割込み信号MISS:
INT、主記憶保護違反割込み信号PRT:INT、
モデイフアイ割込み信号MOD:INT、次ページ
ミスヒツト割込み信号NEXT:MISS:INT、更
には次ページモデイフアイ割込み信号NEXT:
MOD:INTが、以下に示す論理に従つて生成さ
れる。
MISS:INT
MISS:INT
=MISS・MREQ
PRT:INT
PRT:INT
=・PRT・MREQ
MOD:INT
MOD:INT
=・・MOD・MREQ・WR
NEXT:MISS:INT
MEXT:MISS:INT
=・・(・)
・NEXT:MISS・NEXT:MREQ
NEXT:MREQ
=MREQ・PAGEBD・FW
NEXT:MOD:INT
NEXT:MOD:INT
=・・
・:・NEXT:MOD
・NEXT:MREQ・WR
以上の〜の割込み(信号)は、上記した論
理から明らかなように、割込み発生の優先順位を
有している。上記の例では、(ミスビツト割込
み)の優先度が最も高く、以下、の順とな
り、(次ページモデイフアイ)の優先度が最も
低くなつている。
理から明らかなように、割込み発生の優先順位を
有している。上記の例では、(ミスビツト割込
み)の優先度が最も高く、以下、の順とな
り、(次ページモデイフアイ)の優先度が最も
低くなつている。
上記した論理により、ミスヒツトが検出された
場合、(マイクロプログラム制御部の制御の下で)
コントロール回路37により、後述するように
TLB35の該当エントリの入替え(リプレース)
が行なわれる。また、主記憶保護違反の場合に
は、ソフトウエアレベルでの割込みが発生され
る。また、モデイフアイ(割込み)の場合、後述
するようにページテーブル12の該当エントリの
モデイフアイビツトMのセツトと、TLB35の
該当エントリのセツトなどが行なわれる。また、
次ページミスヒツトの場合、ミスヒツトの場合と
同様に、TLB35の該当エントリの入替えが行
なわれる。また、次ページモデイフアイの場合に
は、モデイフアイ(割込み)の場合と同様に、ペ
ージテーブル12の該当エントリのモデイフアイ
ビツトMのセツトが行なわれ、更にTLB35の
内容の変更が行なわれる。なお、次ページミスヒ
ツト、次ページモデイフアイは、ページ境界にま
たがるフルワードアクセスのときに発生する可能
性がある。
場合、(マイクロプログラム制御部の制御の下で)
コントロール回路37により、後述するように
TLB35の該当エントリの入替え(リプレース)
が行なわれる。また、主記憶保護違反の場合に
は、ソフトウエアレベルでの割込みが発生され
る。また、モデイフアイ(割込み)の場合、後述
するようにページテーブル12の該当エントリの
モデイフアイビツトMのセツトと、TLB35の
該当エントリのセツトなどが行なわれる。また、
次ページミスヒツトの場合、ミスヒツトの場合と
同様に、TLB35の該当エントリの入替えが行
なわれる。また、次ページモデイフアイの場合に
は、モデイフアイ(割込み)の場合と同様に、ペ
ージテーブル12の該当エントリのモデイフアイ
ビツトMのセツトが行なわれ、更にTLB35の
内容の変更が行なわれる。なお、次ページミスヒ
ツト、次ページモデイフアイは、ページ境界にま
たがるフルワードアクセスのときに発生する可能
性がある。
ここで、TLB35の該当エントリの入替え
(リプレース)等、TLB35の内容を変更する場
合について説明する。なお、以下の説明では、
MAR32にロードされた仮想アドレスを対象仮
想アドレス、対象仮想アドレスに対応するTLB
35のエントリをTLB該当エントリと呼ぶ。ま
た、対象仮想アドレスの直前ページに対応する
TLBエントリセツトをTLB直前エントリセツ
ト、対象仮想アドレスの直後のページに対応する
TLBエントリセツトをTLB直後エントリセツト
と呼ぶ。
(リプレース)等、TLB35の内容を変更する場
合について説明する。なお、以下の説明では、
MAR32にロードされた仮想アドレスを対象仮
想アドレス、対象仮想アドレスに対応するTLB
35のエントリをTLB該当エントリと呼ぶ。ま
た、対象仮想アドレスの直前ページに対応する
TLBエントリセツトをTLB直前エントリセツ
ト、対象仮想アドレスの直後のページに対応する
TLBエントリセツトをTLB直後エントリセツト
と呼ぶ。
(1) メモリリード時のミスヒツトの場合
メモリリード時にミスヒツト(割込み)が発
生した場合、マイクロプログラム制御部の制御
により、まずセグメントテーブル11の該当エ
ントリ中の主記憶保護情報P.LEVELが保護レ
ジスタ33にロードされ、対応するページテー
ブル12の該当エントリ中の実ページ番号
RPAがRPAレジスタ34にロードされる。P.
LEVELは、図示せぬセグメントテーブル起点
レジスタに格納されているセグメントテーブル
起点アドレスと、仮想アドレスのセグメント番
号SNとを用いてセグメントテーブル11をア
クセスすることにより得られる。このときペー
ジテーブル起点アドレスも得られる。また、
RPAは、上記ページテーブル起点アドレスと
仮想アドレスのページ番号PNとを用いて対応
するページテーブル12をアクセスすることに
より得られる。
生した場合、マイクロプログラム制御部の制御
により、まずセグメントテーブル11の該当エ
ントリ中の主記憶保護情報P.LEVELが保護レ
ジスタ33にロードされ、対応するページテー
ブル12の該当エントリ中の実ページ番号
RPAがRPAレジスタ34にロードされる。P.
LEVELは、図示せぬセグメントテーブル起点
レジスタに格納されているセグメントテーブル
起点アドレスと、仮想アドレスのセグメント番
号SNとを用いてセグメントテーブル11をア
クセスすることにより得られる。このときペー
ジテーブル起点アドレスも得られる。また、
RPAは、上記ページテーブル起点アドレスと
仮想アドレスのページ番号PNとを用いて対応
するページテーブル12をアクセスすることに
より得られる。
P.LEVELおよびRPAがロードされると、マ
イクロプログラムによりTLBリプレース(リ
ード)指令が発行される。この指令により、
TLB35A,35Bの該当エントリのうち、
一番昔に参照された側のエントリ、例えば
TLB35A(TLB35のA側)の該当エント
リの書換えが行なわれる。このとき、A側、B
側のいずれを書換えたか(この例ではA側)が
記憶される。この書換え(リプレース)にあつ
ては、対象仮想アドレスのSN′,PN′、保護レ
ジスタ33からのP.LEVEL、およびRPAレジ
スタ34からのRPAが、TLB該当エントリの
所定フイールドに書込まれる。また、TLB該
当エントリのビツトV′がセツト、ビツト
VNA,VNB,M′,MNA,MNBがリセツト
される。但し、MNA,MNBについては不変
としてもよい。なお、書換え(リプレース)対
象エントリを、TLB35A側、またはTLB3
5B側のいずれとするかは、TLB35Bの該
当エントリ中の参照ビツトRに基づいて決定さ
れる。この書換えに際し、上記参照ビツトRの
論理値は反転される。
イクロプログラムによりTLBリプレース(リ
ード)指令が発行される。この指令により、
TLB35A,35Bの該当エントリのうち、
一番昔に参照された側のエントリ、例えば
TLB35A(TLB35のA側)の該当エント
リの書換えが行なわれる。このとき、A側、B
側のいずれを書換えたか(この例ではA側)が
記憶される。この書換え(リプレース)にあつ
ては、対象仮想アドレスのSN′,PN′、保護レ
ジスタ33からのP.LEVEL、およびRPAレジ
スタ34からのRPAが、TLB該当エントリの
所定フイールドに書込まれる。また、TLB該
当エントリのビツトV′がセツト、ビツト
VNA,VNB,M′,MNA,MNBがリセツト
される。但し、MNA,MNBについては不変
としてもよい。なお、書換え(リプレース)対
象エントリを、TLB35A側、またはTLB3
5B側のいずれとするかは、TLB35Bの該
当エントリ中の参照ビツトRに基づいて決定さ
れる。この書換えに際し、上記参照ビツトRの
論理値は反転される。
上記した書換えの後、MAR32の内容が、
対象仮想アドレスより1ページ前を示すように
変更され、続いてコントロールセクシヨン・チ
エンジ(リード)指令が発行される。この指令
により、TLB直前エントリセツトのコントロ
ールセクシヨンCSが同時に変更される。この
CSの変更内容は、TLB直前エントリセツト
が、MAR32に設定された仮想アドレス(対
象仮想アドレスより1ページ前を示す仮想アド
レス)に対応するアドレス変換情報を正しく持
つている(TLBビツト)か、否(TLBミス)
かにより、次のように異なる。但し、次の例
は、TLBリプレース(リード)指令により、
TLB35のA側がリプレースされた場合であ
る。
対象仮想アドレスより1ページ前を示すように
変更され、続いてコントロールセクシヨン・チ
エンジ(リード)指令が発行される。この指令
により、TLB直前エントリセツトのコントロ
ールセクシヨンCSが同時に変更される。この
CSの変更内容は、TLB直前エントリセツト
が、MAR32に設定された仮想アドレス(対
象仮想アドレスより1ページ前を示す仮想アド
レス)に対応するアドレス変換情報を正しく持
つている(TLBビツト)か、否(TLBミス)
かにより、次のように異なる。但し、次の例
は、TLBリプレース(リード)指令により、
TLB35のA側がリプレースされた場合であ
る。
(a) TLBヒツトの場合
V′:不変 VNA:セツト
VNB:不変(リセツト)
M′:不変 MNA:リセツト
MNB:不変(リセツト)
(b) TLBミスの場合
V′:不変 VNA:リセツト
VNB:不変
M′:不変 MNA:リセツト
MNB:不変
(2) メモリライト時のミスヒツトの場合
メモリライト時にミスヒツト(割込み)が発
生した場合のTLB制御の手順は、前記(1)での
TLBリプレース(リード)指令の代りにTLB
リプレース(ライト)指令が、コントロールセ
クシヨン・チエンジ(リード)指令の代りにコ
ントロールセクシヨン・チエンジ(ライト)指
令が適用されること、そしてページテーブル1
2の対応するエントリのモデイフアイビツトM
がセツトされることを除き、メモリリード時と
同様である。この場合、TLB当該エントリ、
TLB直前エントリセツトのコントロールセク
シヨンCSは、以下の通りとなる。
生した場合のTLB制御の手順は、前記(1)での
TLBリプレース(リード)指令の代りにTLB
リプレース(ライト)指令が、コントロールセ
クシヨン・チエンジ(リード)指令の代りにコ
ントロールセクシヨン・チエンジ(ライト)指
令が適用されること、そしてページテーブル1
2の対応するエントリのモデイフアイビツトM
がセツトされることを除き、メモリリード時と
同様である。この場合、TLB当該エントリ、
TLB直前エントリセツトのコントロールセク
シヨンCSは、以下の通りとなる。
(a) TLB該当エントリ
V′:セツト VNA:リセツト
VNB:リセツト
M′:セツト MNA:リセツト
MNB:リセツト
(b) TLB直前エントリセツト
但し、A側がリプレースされた場合
(b‐1) TLBヒツトの場合
V′:不変 VNA:セツト
VNB:不変(リセツト)
M′:不変 MNA:セツト
MNB:不変(リセツト)
(b‐2) TLBミスの場合
V′:不変 VNA:リセツト
VNB:不変
M′:不変 MNA:リセツト
MNB:不変
(3) メモリライト時のモデイフアイ割込み
メモリライト時にモデイフアイ割込みが発生
すると、まずページテーブル12の該当エント
リのモデイフアイビツトMがセツトされる。次
に、MAR32に対象仮想アドレスがセツトさ
れ、続いてセツト・モデイフアイ指令が発行さ
れる。この指令により、TLB該当エントリ
(この例では、TLB35のA側の対応するエン
トリであるものとする)のビツトM′がセツト
される。次に、MAR32の内容が、対象仮想
アドレスより1ページ前を示すように変更さ
れ、続いてコントロールセクシヨン・チエンジ
(モデイフアイ)指令が発行される。この指令
により、TLB直前エントリセツトのコントロ
ールセクシヨンCSが変更される。このCSの変
更内容は、TLB直前エントリセツトが、MAR
32に設定された仮想アドレス(対象仮想アド
レスより1ページ前を示す仮想アドレス)に対
応するアドレス変換情報を正しく持つている
(TLBヒツト)か、否(TLBミス)かにより、
次のように異なる。但し、次の例は、セツト・
モデイフアイ指令により、TLB35のA側の
対応するエントリ中のビツトM′がセツトされ
た場合である。
すると、まずページテーブル12の該当エント
リのモデイフアイビツトMがセツトされる。次
に、MAR32に対象仮想アドレスがセツトさ
れ、続いてセツト・モデイフアイ指令が発行さ
れる。この指令により、TLB該当エントリ
(この例では、TLB35のA側の対応するエン
トリであるものとする)のビツトM′がセツト
される。次に、MAR32の内容が、対象仮想
アドレスより1ページ前を示すように変更さ
れ、続いてコントロールセクシヨン・チエンジ
(モデイフアイ)指令が発行される。この指令
により、TLB直前エントリセツトのコントロ
ールセクシヨンCSが変更される。このCSの変
更内容は、TLB直前エントリセツトが、MAR
32に設定された仮想アドレス(対象仮想アド
レスより1ページ前を示す仮想アドレス)に対
応するアドレス変換情報を正しく持つている
(TLBヒツト)か、否(TLBミス)かにより、
次のように異なる。但し、次の例は、セツト・
モデイフアイ指令により、TLB35のA側の
対応するエントリ中のビツトM′がセツトされ
た場合である。
(a) TLBヒツトの場合
V′:不変 VNA:不変(セツト)
VNB:不変
M′:不変 MNA:セツト
MNB:不変
(b) TLBミスの場合
V′:不変 VNA:不変(リセツト)
VNB:不変
M′:不変 MNA:不変(リセツト)
MNB:不変
上記したTLB制御によれば、TLB35の各エ
ントリのコントロールセクシヨンCSには、対応
するページは勿論、次ページに対する最新の情報
も正しく設定される。例えば、或る仮想アドレス
によるメモリリード時にミスヒツト(割込み)が
発生した場合、TLB該当エントリがリプレース
される。この際、V′,M′が一義的に正しい値に
設定される。このとき、TLB該当エントリのリ
プレースに伴い、TLB直前エントリセツトの
VNA,VNB,MNA,MNBも、TLB該当エン
トリの状態を反映するように変更される。なお、
この実施例では、TLB該当エントリのリプレー
スが行なわれた場合において、TLB該当エント
リのVNi,MNiが、TLB直後エントリセツトの
状態が正しく反映しているとは限らない。しか
し、TLB直後エントリセツトのリプレースが行
なわれた際には、TLB該当エントリのVNi,
MNiは、必ずTLB直後エントリセツトの状態を
正しく反映する。
ントリのコントロールセクシヨンCSには、対応
するページは勿論、次ページに対する最新の情報
も正しく設定される。例えば、或る仮想アドレス
によるメモリリード時にミスヒツト(割込み)が
発生した場合、TLB該当エントリがリプレース
される。この際、V′,M′が一義的に正しい値に
設定される。このとき、TLB該当エントリのリ
プレースに伴い、TLB直前エントリセツトの
VNA,VNB,MNA,MNBも、TLB該当エン
トリの状態を反映するように変更される。なお、
この実施例では、TLB該当エントリのリプレー
スが行なわれた場合において、TLB該当エント
リのVNi,MNiが、TLB直後エントリセツトの
状態が正しく反映しているとは限らない。しか
し、TLB直後エントリセツトのリプレースが行
なわれた際には、TLB該当エントリのVNi,
MNiは、必ずTLB直後エントリセツトの状態を
正しく反映する。
また、上記メモリリードがページ境界にまたが
るフルワードアクセスである場合であつて、いず
れのページについてもTLB該当エントリにアド
レス変換情報が正しく格納されていない場合に
は、次のようにしてTLBエントリの変更が行な
われる。この場合、割込みの優先順位から明らか
なように、ミスヒツト扱いとなり、先頭ページの
TLB該当エントリのリプレース(CSの変更を含
む)と、そのTLB直前エントリセツトのCS
(VNA,VNB,MNA,MNB)の変更とが行な
われる。そして、再び上記したフルワードアクセ
スを実行しようとすると、今度は次ページミスヒ
ツト扱いとなる。この場合には、次のページの
TLB該当エントリのリプレース(CSの変更を含
む)と、そのTLB直前エントリセツト、即ち先
頭ページのTLB該当エントリのCS(VNA,
VNB,MNA,MNB)の変更とが行なわれる。
この結果、先頭ページに対応するTLB該当エン
トリには、同エントリおよびTLB直後エントリ
セツトのいずれにも、正しいアドレス変換情報が
格納されていることを示す情報が設定される。
るフルワードアクセスである場合であつて、いず
れのページについてもTLB該当エントリにアド
レス変換情報が正しく格納されていない場合に
は、次のようにしてTLBエントリの変更が行な
われる。この場合、割込みの優先順位から明らか
なように、ミスヒツト扱いとなり、先頭ページの
TLB該当エントリのリプレース(CSの変更を含
む)と、そのTLB直前エントリセツトのCS
(VNA,VNB,MNA,MNB)の変更とが行な
われる。そして、再び上記したフルワードアクセ
スを実行しようとすると、今度は次ページミスヒ
ツト扱いとなる。この場合には、次のページの
TLB該当エントリのリプレース(CSの変更を含
む)と、そのTLB直前エントリセツト、即ち先
頭ページのTLB該当エントリのCS(VNA,
VNB,MNA,MNB)の変更とが行なわれる。
この結果、先頭ページに対応するTLB該当エン
トリには、同エントリおよびTLB直後エントリ
セツトのいずれにも、正しいアドレス変換情報が
格納されていることを示す情報が設定される。
また、メモリリード時のミスヒツトにより
TLB該当エントリのリプレースが行なわれたペ
ージに、メモリライトアクセスを行なう場合、
(もし主記憶保護違反が発生しなければ)モデイ
フアイ割込みが発生し、TLB該当エントリのビ
ツトM′だけがセツトされる。このとき、TLB直
前エントリセツトのCS(中のMNi)が、TLB該
当エントリの状態を反映するように変更される。
また、ページテーブル12の対応エントリのモデ
イフアイビツトMもセツトされる。もし、モデイ
フアイ割込みを適用せずに、ページテーブル12
のモデイフアイビツトMに対するセツト動作回数
を減少させたい場合には、モデイフアイ(割込
み)、次ページモデイフアイ(割込み)に相当す
る状態もミスヒツト(割込み)、次ページミスヒ
ツト(割込み)扱いとすればよい。但し、この場
合には、TLBエントリのリプレースが伴うため、
セグメントテーブル11およびページテーブル1
2へのアクセスが必要となることから、前記した
方式に比べ効率は低下する。
TLB該当エントリのリプレースが行なわれたペ
ージに、メモリライトアクセスを行なう場合、
(もし主記憶保護違反が発生しなければ)モデイ
フアイ割込みが発生し、TLB該当エントリのビ
ツトM′だけがセツトされる。このとき、TLB直
前エントリセツトのCS(中のMNi)が、TLB該
当エントリの状態を反映するように変更される。
また、ページテーブル12の対応エントリのモデ
イフアイビツトMもセツトされる。もし、モデイ
フアイ割込みを適用せずに、ページテーブル12
のモデイフアイビツトMに対するセツト動作回数
を減少させたい場合には、モデイフアイ(割込
み)、次ページモデイフアイ(割込み)に相当す
る状態もミスヒツト(割込み)、次ページミスヒ
ツト(割込み)扱いとすればよい。但し、この場
合には、TLBエントリのリプレースが伴うため、
セグメントテーブル11およびページテーブル1
2へのアクセスが必要となることから、前記した
方式に比べ効率は低下する。
なお、前記実施例では、主記憶保護情報P.
LEVELが1種類である場合について説明した
が、これに限るものではない。例えば、主記憶保
護の効率化のために、リード保護用、ライト保護
用、命令実行保護用の3種類の主記憶保護情報が
用意されている場合にも、同様に実施できる。こ
の場合、主記憶保護違反の検出は、メモリアクセ
スの種類に対応する主記憶保護情報を用いて行な
われる。
LEVELが1種類である場合について説明した
が、これに限るものではない。例えば、主記憶保
護の効率化のために、リード保護用、ライト保護
用、命令実行保護用の3種類の主記憶保護情報が
用意されている場合にも、同様に実施できる。こ
の場合、主記憶保護違反の検出は、メモリアクセ
スの種類に対応する主記憶保護情報を用いて行な
われる。
[発明の効果]
以上詳述したようにこの発明によれば、次に列
挙する作用効果を奏することができる。
挙する作用効果を奏することができる。
TLBの各エントリに、該当ページは勿論、
次ページに対する最新の制御情報が正しく設定
されるので、たとえページ境界をまたぐメモリ
アクセスの場合でも、先頭ページに対応する
TLBエントリのチエツクだけでこの種メモリ
アクセスの正当性が保証でき、したがつて処理
速度の向上が図れる。
次ページに対する最新の制御情報が正しく設定
されるので、たとえページ境界をまたぐメモリ
アクセスの場合でも、先頭ページに対応する
TLBエントリのチエツクだけでこの種メモリ
アクセスの正当性が保証でき、したがつて処理
速度の向上が図れる。
対応するページが書換えられたか否かを示す
モデイフアイビツトをページテーブルエントリ
に用意する方式を採用する場合、たとえ2ペー
ジにまたがるメモリアクセスのときでも、同モ
デイフアイビツトの状態を簡単に把握でき、ペ
ージテーブルエントリのモデイフアイビツトの
セツト回数の減少が図れる。
モデイフアイビツトをページテーブルエントリ
に用意する方式を採用する場合、たとえ2ペー
ジにまたがるメモリアクセスのときでも、同モ
デイフアイビツトの状態を簡単に把握でき、ペ
ージテーブルエントリのモデイフアイビツトの
セツト回数の減少が図れる。
ページテーブルエントリのモデイフアイビツ
トの把握が簡単に行なえる方式を採用する場合
において、前回リードアクセスされたページに
対するメモリライト時には、対応するTLBエ
ントリの入替えを不要とすることができる。
トの把握が簡単に行なえる方式を採用する場合
において、前回リードアクセスされたページに
対するメモリライト時には、対応するTLBエ
ントリの入替えを不要とすることができる。
図面はこの発明の一実施例に係る仮想記憶制御
方式の計算機のの要部の構成を示すブロツク図で
ある。 10…主メモリ、11…セグメントテーブル、
12…ページテーブル、35…TLB、36…境
界チエツク回路、37…コントロール回路。
方式の計算機のの要部の構成を示すブロツク図で
ある。 10…主メモリ、11…セグメントテーブル、
12…ページテーブル、35…TLB、36…境
界チエツク回路、37…コントロール回路。
Claims (1)
- 【特許請求の範囲】 1 仮想記憶制御方式の計算機において、 nセツト(nは2以上の整数)のTLB(アドレ
ス変換バツフア)であつて、各TLBエントリに、
自エントリの有効/無効を示すビツトV′、自エ
ントリで示されるページの次のページに対応する
有効なTLBエントリが上記TLBのいずれのセツ
トに存在するかを各セツト毎に示すビツトVNi
(i=1,…n)、およびアドレス変換情報のフイ
ールドを含むTLBと、 メモリアクセスに際し、対象仮想アドレス、同
対象仮想アドレスに対応する上記TLBエントリ
の上記ビツトV′,VNi、およびアドレス変換情
報の所定フイールドにより、同エントリに正しい
アドレス変換情報が格納されているか否か、およ
び同エントリで示されるページの次のページに対
応する上記TLBエントリに正しいアドレス変換
情報が格納されているか否かを検出する第1検出
手段と、 1つのメモリアクセスが2ページにまたがるか
否かを検出する第2検出手段と、 上記第1および第2検出手段の検出結果に応じ
て上記TLBの対応エントリの入替えを行なう入
替え手段と、 この入替え手段によるTLBエントリの入替え
時に、入替え対象TLBエントリの上記ビツト
V′をセツトし、上記ビツトVNiをリセツトする
手段と、 上記入替え対象TLBエントリで示されるペー
ジの直前ページに対応する上記TLBエントリの
上記ビツトVNiを変更する手段と、 を具備することを特徴とするTLB制御方式。 2 各ページテーブルエントリに、対応するペー
ジが書換えられたか否かを示すモデイフアイビツ
ト、および実ページ番号のフイールドを有するペ
ージテーブルを備えた仮想記憶制御方式の計算機
において、 nセツト(nは2以上の整数)のTLB(アドレ
ス変換バツフア)であつて、各TLBエントリに、
自エントリの有効/無効を示すビツトV′、自エ
ントリで示されるページの次のページに対応する
有効なTLBエントリが上記TLBのいずれのセツ
トに存在するかを各セツト毎に示すビツトVNi
(i=1,…n)、自エントリで示されるページに
対応する上記ページテーブルエントリのモデイフ
アイビツトの状態を示すビツトM′、上記ビツト
VNiと対を成して設けられ、対応する上記VNi
が有効指定状態にある場合に自エントリで示され
るページの次のページに対応する上記ページテー
ブルエントリのモデイフアイビツトの状態を示す
ビツトMNi、およびアドレス変換情報のフイー
ルドを含むTLBと、 メモリアクセスに際し、対象仮想アドレス、同
対象仮想アドレスに対応する上記TLBエントリ
の上記ビツトV′,VNi、M′,MNi、およびアド
レス変換情報の所定フイールドにより、同エント
リに正しいアドレス変換情報が格納されているか
否か、同エントリで示されるページの次のページ
に対応する上記TLBエントリに正しいアドレス
変換情報が格納されているか否か、同エントリで
示されるページに対応する上記ページテーブルエ
ントリの上記モデイフアイビツトの状態、および
同エントリで示されるページの次のページに対応
する上記ページテーブルエントリの上記モデイフ
アイビツトの状態を検出する第1検出手段と、 1つのメモリアクセスが2ページにまたがるか
否かを検出する第2検出手段と、 上記第1および第2検出手段の検出結果に応じ
て上記TLBの対応エントリの入替えを行なう入
替え手段と、 この入替え手段によるTLBエントリの入替え
時に、入替え対象TLBエントリの上記ビツト
V′をセツトし、且つ上記ビツトVNi,MNiをリ
セツトすると共に、上記ビツトM′をメモリリー
ド/ライトに応じてリセツト/セツトする手段
と、 上記入替え対象TLBエントリで示されるペー
ジの直前ページに対応する上記TLBエントリの
上記ビツトVNi,MNiをメモリリード/ライト
に応じて変更する手段と、 を具備することを特徴とするTLB制御方式。 3 各ページテーブルエントリに、対応するペー
ジが書換えられたか否かを示すモデイフアイビツ
ト、および実ページ番号のフイールドを有するペ
ージテーブルを備えた仮想記憶制御方式の計算機
において、 nセツト(nは2以上の整数)のTLB(アドレ
ス変換バツフア)であつて、各TLBエントリに、
自エントリの有効/無効を示すビツトV′、自エ
ントリで示されるページの次のページに対応する
有効なTLBエントリが上記TLBのいずれのセツ
トに存在するかを各セツト毎に示すビツトVNi
(i=1,…n)、自エントリで示されるページに
対応する上記ページテーブルエントリのモデイフ
アイビツトの状態を示すビツトM′、上記ビツト
VNiと対を成して設けられ、対応する上記VNi
が有効指定状態にある場合に自エントリで示され
るページの次のページに対応する上記ページテー
ブルエントリのモデイフアイビツトの状態を示す
ビツトMNi、およびアドレス変換情報のフイー
ルドを含むTLBと、 メモリアクセスに際し、対象仮想アドレス、同
対象仮想アドレスに対応する上記TLBエントリ
の上記ビツトV′,VNi、M′,MNi、およびアド
レス変換情報の所定フイールドにより、同エント
リに正しいアドレス変換情報が格納されているか
否か、同エントリで示されるページの次のページ
に対応する上記TLBエントリに正しいアドレス
変換情報が格納されているか否か、同エントリで
示されるページに対応する上記ページテーブルエ
ントリの上記モデイフアイビツトの状態、および
同エントリで示されるページの次のページに対応
する上記ページテーブルエントリの上記モデイフ
アイビツトの状態を検出する第1検出手段と、 1つのメモリアクセスが2ページにまたがるか
否かを検出する第2検出手段と、 上記第1および第2検出手段の検出結果に応じ
て上記TLBの対応エントリの入替えを行なう入
替え手段と、 この入替え手段によるTLBエントリの入替え
時に、入替え対象TLBエントリの上記ビツト
V′をセツトし、且つ上記ビツトVNi,MNiをリ
セツトすると共に、上記ビツトM′をメモリリー
ド/ライトに応じてリセツト/セツトする手段
と、 上記入替え対象TLBエントリで示されるペー
ジの直前ページに対応する上記TLBエントリの
上記ビツトVNi,MNiをメモリリード/ライト
に応じて変更する手段と、 メモリライトアクセス時に上記第1および第2
検出手段の検出結果に応じて上記TLBの対応エ
ントリの上記ビツトM′のみをセツトする手段と、 この手段によるビツトM′セツト対象TLBエン
トリで示されるページの直前ページに対応する上
記TLBエントリの上記ビツトMNiを変更する手
段と、 を具備することを特徴とするTLB制御方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59135906A JPS6115249A (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 |
|---|---|---|---|
| JP59135906A JPS6115249A (ja) | 1984-06-30 | 1984-06-30 | Tlb制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6115249A JPS6115249A (ja) | 1986-01-23 |
| JPH024016B2 true JPH024016B2 (ja) | 1990-01-25 |
Family
ID=15162590
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59135906A Granted JPS6115249A (ja) | 1984-06-30 | 1984-06-30 | Tlb制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6115249A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04128946A (ja) * | 1990-09-20 | 1992-04-30 | Fujitsu Ltd | アドレス変換方式 |
| JPH0890822A (ja) * | 1994-09-28 | 1996-04-09 | Sony Corp | 印刷方法及び画像印刷装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6047623B2 (ja) * | 1982-02-12 | 1985-10-22 | 株式会社日立製作所 | アドレス変換方式 |
-
1984
- 1984-06-30 JP JP59135906A patent/JPS6115249A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6115249A (ja) | 1986-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3740195B2 (ja) | データ処理装置 | |
| JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
| US8028341B2 (en) | Providing extended memory protection | |
| JP3713312B2 (ja) | データ処理装置 | |
| US6321314B1 (en) | Method and apparatus for restricting memory access | |
| US5075845A (en) | Type management and control in an object oriented memory protection mechanism | |
| US6823433B1 (en) | Memory management system and method for providing physical address based memory access security | |
| US8418175B2 (en) | Data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuirty | |
| TWI381275B (zh) | 位址轉譯方法及裝置 | |
| US4731740A (en) | Translation lookaside buffer control system in computer or virtual memory control scheme | |
| US4763250A (en) | Paged memory management unit having variable number of translation table levels | |
| US20110202740A1 (en) | Storing secure page table data in secure and non-secure regions of memory | |
| CN112639750B (zh) | 用于控制存储器存取的装置及方法 | |
| JPS58102381A (ja) | バツフアメモリ | |
| KR100995146B1 (ko) | 개선된 메모리 엑세스 보안을 제공하는 메모리에 디바이스엑세스를 제어하기 위한 시스템 및 방법 | |
| US4961135A (en) | Translation lookaside buffer control system | |
| JPH0260012B2 (ja) | ||
| KR20200116472A (ko) | 메모리 액세스시의 보호 태그 검사 제어 | |
| JP2001222470A (ja) | トランスレーション・ルックアサイド・バッファ回路 | |
| US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
| KR20230101826A (ko) | 캐퍼빌리티들을 사용하여 메모리에 대한 액세스를 제약하기 위한 기술 | |
| US6598050B1 (en) | Apparatus and method for limited data sharing in a multi-tasking system | |
| JPS61156445A (ja) | Tlbパ−ジ制御方式 | |
| JP2007280421A (ja) | データ処理装置 | |
| US6324635B1 (en) | Method and apparatus for address paging emulation |