JPS6115249A - Tlb control system - Google Patents

Tlb control system

Info

Publication number
JPS6115249A
JPS6115249A JP59135906A JP13590684A JPS6115249A JP S6115249 A JPS6115249 A JP S6115249A JP 59135906 A JP59135906 A JP 59135906A JP 13590684 A JP13590684 A JP 13590684A JP S6115249 A JPS6115249 A JP S6115249A
Authority
JP
Japan
Prior art keywords
entry
page
tlb
bit
modify
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
JP59135906A
Other languages
Japanese (ja)
Other versions
JPH024016B2 (en
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 JP59135906A priority Critical patent/JPS6115249A/en
Priority to US06/749,866 priority patent/US4731740A/en
Publication of JPS6115249A publication Critical patent/JPS6115249A/en
Publication of JPH024016B2 publication Critical patent/JPH024016B2/ja
Granted legal-status Critical Current

Links

Abstract

PURPOSE:To increase the processing speed by changing the bit of a TLB (translation look-aside buffer) entry of a page immediately preceding the page of a TLB entry to be replaced. CONSTITUTION:A virtual address is loaded to an MAR32 in order to give memory access to a main memory 10. Then the intra-page offset contained in the loaded virtual address of the MAR32 is led to a boundary checking circuit 36. The circuit 36 checks whether or not an access covers a page boundary as long as the memory access given to the memory 10 is equal to full-word access. In this example, a page equal to 2KB and therefore the Offset contains 11 bits. In such a case, it is just required for the circuit 36 to check whether the Offset is shown or not as ''7FE'' in the hexadecimal expression as long as the memory access is equal to full-word access of a half-word boundary. The result of this check is delivered to a control circuit 37 in the form of a signal PAGEBD.

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、T、LBを備えた仮想記憶制御方式の計算
機におけるTLBIIII11方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a TLBIII11 system in a virtual storage control system computer equipped with T and LB.

[発明の技術的背景] 仮想記憶制御方式の計算機では、一般に、仮想アドレス
から実アドレスへのアドレス変換を高速に行なうために
、T l 3 (LranslattonLOOk a
 S + d e  Lu r f e r  ニアド
レス変換バッファ)と呼ばれるハードウェア機構が設け
られている。
[Technical Background of the Invention] Generally, in a computer using a virtual memory control method, in order to perform address conversion from a virtual address to a real address at high speed, T l 3 (Lranslatton LOOka
A hardware mechanism called a near address translation buffer is provided.

このTLBの各エントリには、実ページ番号を含むアド
レス変換情報や、対応エントリが正当(有効)か否(無
効)かを示すバリッド(Valid)ビットのフィール
ドを有している。
Each entry of this TLB has a field of address translation information including a real page number and a valid bit indicating whether the corresponding entry is valid (valid) or not (invalid).

TLBは、メモリアクセスに際し、仮想アドレスの所定
フィールドを用いて索引される。そして、仮想アドレス
の所定フィールドとTLBの対応エントリの内容とによ
り、メモリアクセスの正当性がチェックされる。このチ
ェックにより、正当性が保証された場合、対応エントリ
内の実ページ番号と仮想アドレス(のオフセット)とに
より(qられる実アドレスを用いたメモリアクセスが行
なわれる。これに対し、上記正当性が保証されない場合
、TLBの対応エントリの入替えが行なわれ、しかる後
メモリアクセスが行なわれる。
The TLB is indexed using a predetermined field of the virtual address during memory access. Then, the validity of the memory access is checked based on the predetermined field of the virtual address and the contents of the corresponding entry in the TLB. If the validity is guaranteed by this check, memory access is performed using the real address (q) by the real page number in the corresponding entry and (the offset of) the virtual address.On the other hand, if the validity is guaranteed, If it is not guaranteed, the corresponding entry in the TLB is replaced, and then memory access is performed.

[背景技術の問題点] しかし、上記したTLBを用いた従来の仮想記憶制御方
式の計算機では、例えば、ハーフワード境界(Half
word  B oundary )の’7 /L、 
’7− ト7クセス(Fullword  Acces
s)であって、且つページ境界(Paoe  Boun
dary ) ヲマタ<メモリアクセスのときなどは、
処理速度が低下する欠点があった。これは、1つのメモ
リアクセスが2ページにまたがる場合には、両ページに
対応する各TLBエントリをそれぞれチェックし、同メ
モリアクセスの正当性を保証してからメモリアクセスを
行なう必要があったためである。
[Problems in the Background Art] However, in computers using the conventional virtual memory control method using the TLB described above, for example, halfword boundaries (Half
word Boundary)'7/L,
'7-Fullword Accesses
s) and a page boundary (Paoe Boun
dary ) Omata < When accessing memory, etc.
There was a drawback that the processing speed decreased. This is because when one memory access spans two pages, it is necessary to check each TLB entry corresponding to both pages and ensure the validity of the same memory access before performing the memory access. .

[発明の目的1 この発明は上記事情に鑑みてなされたものでその目的は
、TLBの各エン]〜りに次ページに対する制御情報が
設定される構成とすることにより、ページ境界をまたぐ
メモリアクセスの場合でも、先頭ページに対応するTL
Bエントリのチェックだけてこの種メモリアクセスの正
当性が保証でき、もって処理速度の向上が図れるTLB
制御方式を提供することにある。
[Objective of the Invention 1] This invention has been made in view of the above circumstances, and its purpose is to provide a structure in which control information for the next page is set in each entry of the TLB, thereby reducing memory access across page boundaries. Even in the case of , the TL corresponding to the first page
A TLB that can guarantee the validity of this type of memory access just by checking the B entry, thereby improving processing speed.
The objective is to provide a control method.

この発明の他の目的は、ページテーブルエン1〜りに用
意され、対応するページが書換えられたか否かを示すモ
ディファイビットの状態が、たとえ2ページにまたがる
メモリアクセスの場合でも、簡単に把握できるようにす
ることにある。
Another object of the present invention is that the state of a modify bit, which is prepared in page tables 1 to 1 and indicates whether or not the corresponding page has been rewritten, can be easily grasped even in the case of memory access spanning two pages. The purpose is to do so.

この発明の更に他の目的は、上記モディファイビットが
簡単に把握できる方式を採用する場合において、TLB
エントリの入替え回数を減らすことにある。
Still another object of the present invention is to use the TLB
The purpose is to reduce the number of times entries are replaced.

[発明の概要1 この発明では、仮想記憶制御方式の計算機において、各
TLBエントリに、同エントリの有効/無効を示すビッ
トV′、同エントリで示されるページの次のページに対
応するTLBエントリの有効、/無効を示すビットVN
 i (i−1,−n、nは1以上の整数)、およびア
ドレス変換情報のフィールドを含むTLBが設けられる
。第1検出手段は、メモリアクセスに際し、対象仮想ア
ドレス、同対象仮想アドレスに対応する上記TLBエン
トリの上記ビットV′、VNi、およびアドレス変換情
報の所定フィールドにより、同エントリに正しいアドレ
ス変換情報が格納されているか否か、および同エントリ
で示されるページの次のページに対応する上記TLBエ
ントリに正しいアドレス変換情報が格納されているか否
かを検出する。また、第2検出手段は、1つのメモリア
クセスが2ページにまたがるか否かを検出する。入替え
手段は、上記第1および第2検出手段の検出結果に応じ
て上記TLBの対応エントリの入替えを行なう。
[Summary of the Invention 1 In the present invention, in a computer using a virtual memory control method, each TLB entry has a bit V' indicating the validity/invalidity of the entry, and a bit V' of the TLB entry corresponding to the page next to the page indicated by the entry. Bit VN indicating valid/invalid
i (i-1, -n, n is an integer greater than or equal to 1), and a TLB including a field of address translation information. The first detection means stores correct address translation information in the target virtual address, the bits V' and VNi of the TLB entry corresponding to the target virtual address, and a predetermined field of address translation information when accessing the memory. and whether correct address translation information is stored in the TLB entry corresponding to the page next to the page indicated by the same entry. Further, the second detection means detects whether one memory access spans two pages. The replacement means replaces the corresponding entries in the TLB according to the detection results of the first and second detection means.

この入替え手段によるTLBエントリの入替え時には、
入替え対象TLBエントリの上記ビットV′が無条件で
セットされ、ビットVN1が無条件でリセットされる。
When replacing TLB entries using this replacement method,
The bit V' of the TLB entry to be replaced is unconditionally set, and the bit VN1 is unconditionally reset.

また、同入替え対象TLBエントリで示されるページの
直前ページに対応する上記TLBエントリのビットVN
Iが変更される。
Also, the bit VN of the TLB entry that corresponds to the page immediately before the page indicated by the TLB entry to be replaced.
I is changed.

[発明の実施例〕 以下、この発明の一実施例を図面を参照して説明する。[Embodiments of the invention] An embodiment of the present invention will be described below with reference to the drawings.

図面は、この発明を適用する仮想記憶制御方式の計算機
の要部の構成を示すもので、10は主メモリである。主
メモリ10には、仮想アドレス空間のセグメント情報を
示すセグメントテーブル11および各セグメントの中の
ページ情報を示すページテーブル12が置かれる。セグ
メントテーブル11の各エントリは、同エントリの有効
/′無効を示すバリッドビットV、そのセグメントの主
記憶保護情報P、LEVEL、および対応するページテ
ーブル12の先頭アドレスであるページテーブル起点ア
ドレスPTOのフィールドを有する。また、ページテー
ブル12の各エントリは、同エントリの有効/無効を示
すバリッドヒツトV、対応するページが書換えられたこ
とを示す(即ち、仮想空間内の該当ページの内容を、主
メモリ10内の該当ページの内容に一致させる必要があ
ることを示す)モディファイビットM、および仮想アド
レスを実アドレスに変換するための実ページ番号(アド
レス)RPAのフィールドを有する。
The drawing shows the configuration of the main parts of a virtual storage control type computer to which the present invention is applied, and 10 is a main memory. Main memory 10 includes a segment table 11 indicating segment information of a virtual address space and a page table 12 indicating page information in each segment. Each entry in the segment table 11 has a field of a valid bit V indicating whether the entry is valid or invalid, main memory protection information P of the segment, LEVEL, and a page table starting address PTO which is the starting address of the corresponding page table 12. has. Each entry in the page table 12 also has a valid hit V indicating whether the entry is valid or invalid, and a valid hit V indicating that the corresponding page has been rewritten (that is, the contents of the corresponding page in the virtual space are It has a field for a modify bit M (indicating that it is necessary to match the contents of the page) and a real page number (address) RPA for converting a virtual address to a real address.

20はデータバス、30は演lll制W装置である。演
算制御l装置30は、データバス20により主メモリ1
0と接続される。
20 is a data bus, and 30 is a performance W device. The arithmetic control unit 30 connects the main memory 1 to the main memory 1 via the data bus 20.
Connected to 0.

演算制御装置30において、31はPSW (プログラ
ムステータスワード)である。PSW31の所定フィー
ルドには、プログラムの走行モード(保護の優先レベル
)を示すモード情報MODEが格納される。32は仮想
アドレスを保持するメモリアドレスレジスタ(MAR)
である。仮想アドレスは、論理的に、セグメント番号S
N、ページ番号PN、およびページ内オフゼットQff
setに分割される。33はセグメントテーブル11の
エントリ(セグメントテーブルエントリ)に格納されて
いる主記憶保護情報P、LEVELを一時保持する保護
レジスタ、34はページテーブル12のエン]〜りくペ
ージテーブルエントリ)に格納されている実ページ番号
RPAを一時保持するRPAレジスタある。
In the arithmetic and control unit 30, 31 is a PSW (program status word). Mode information MODE indicating the program running mode (protection priority level) is stored in a predetermined field of the PSW 31. 32 is a memory address register (MAR) that holds virtual addresses.
It is. The virtual address is logically segment number S.
N, page number PN, and intra-page offset Qff
It is divided into sets. 33 is a protection register that temporarily holds the main memory protection information P and LEVEL stored in the entry (segment table entry) of the segment table 11, and 34 is stored in the page table 12 (page table entry). There is an RPA register that temporarily holds the real page number RPA.

35は仮想アドレスから実アドレスへのアドレス変換を
^速に行なうためのTIBである。TLB35は、TL
B35A、35Bの2セツトからなり、MAR32に保
持された仮想アドレスのセグメント番号SNの一部、例
えば下位ビットと、同じくページ番号PNの一部、例え
ば下位ビットとの連結情報(SNの一部が下位となる)
によって索引される。TLB35(内のTL835A、
35B>の各エントリ(TLBエントリ)は、コントロ
ールセクションC3,SN−、PN′、RPAからなる
アドレス変換情報、およびP、LEVELのフィールド
を有する。コントロールセクションC8は、ビットv−
、ヒツトM′、ビットVNA、ピッI−VNB、ビット
MNA、およびビットMNBからなる。ビットV′は、
対応するTLBエントリの有効7/無効を示し、ピッ1
−VNA、VNBは、同エントリで示されるページの次
のページに対応するTLBエントリ(T L B55A
 、 35Bのエントリ)の有効/無効を示す。また、
ビットM′は、対応するページのページテーブル12内
エントリのモディファイビットMの状態を示し、ビット
MNA。
35 is a TIB for quickly converting an address from a virtual address to a real address. TLB35 is TL
It consists of two sets, B35A and 35B, and is information on concatenation of a part of the segment number SN of the virtual address held in the MAR32, for example, the lower bits, and a part of the page number PN, for example, the lower bits (a part of the SN is (lower)
indexed by TLB35 (TL835A,
Each entry (TLB entry) of 35B> has address translation information consisting of control sections C3, SN-, PN', and RPA, and fields of P and LEVEL. Control section C8 has bit v-
, hit M', bit VNA, bit I-VNB, bit MNA, and bit MNB. The bit V' is
Indicates whether the corresponding TLB entry is valid 7 or invalid, and the pin 1
-VNA and VNB are TLB entries (TLB55A) corresponding to the page next to the page indicated by the same entry.
, 35B entry) is valid/invalid. Also,
Bit M' indicates the state of modify bit M of the entry in page table 12 of the corresponding page, and bit MNA.

MNBは、対応するページの次のページのページテーブ
ル12内JントリのモディファイビットMの状態を示す
。SN−は、セグメント番号SNの残りビット(上位ビ
ット)に対応し、PN−は、ページ番号PNの残りビッ
トに対応する。また、例えばT L B 35Bの各エ
ントリは、参照ピッh Rを有している。ビットRは、
T L B55A、 35Bの該当エントリのいずれが
(即ち、TLB35のA側該当エントリ、B 11該当
エントリのどちらが)最も昔に参照されたかを示す。
MNB indicates the state of the modify bit M of the J entry in the page table 12 of the page next to the corresponding page. SN- corresponds to the remaining bits (higher bits) of the segment number SN, and PN- corresponds to the remaining bits of the page number PN. Also, for example, each entry in TLB 35B has a reference pitch hR. Bit R is
It shows which of the corresponding entries in TLB 55A and 35B (that is, which one of the corresponding entry on the A side of TLB 35 and the corresponding entry in B11) was referenced the earliest.

36はM A R32に保持された仮想アドレスのペー
ジ内オフセット0ffsetにより、対象メモリアクセ
スがページ境界にまたがるか否かをチェックし、その旨
を示す信号PAGEBDを出力する境界ヂエック回路、
37はTLB35に対する制御iIl等を行なうコント
ロール回路、38は実アドレスを保持するレジスタであ
る。コントロール回路37には、T L B 35に対
する索引結果(具体的には、コントロールセクションC
8,SN′、PN=、およびP、LEVEL)、MAR
32に保持された仮想アドレスのSN、PNの上位ピッ
1−1境界チ工ツク回路36からの信号PAGE8D、
図示せぬマイクロブログラム制御部からの各種メモリ制
御信号が導かれる。これらメモリ制御信号は、メモリア
クセス要求を示す信号MREQ、メモリリードを示す信
号RD、メモリライトを示す信号WR1命令フェッチで
あることを示す信号IF、およびフルワードアクセスで
あることを示す信号FW等である。
36 is a boundary check circuit that checks whether the target memory access straddles a page boundary based on the intra-page offset 0ffset of the virtual address held in the M A R 32, and outputs a signal PAGEBD indicating this;
37 is a control circuit for controlling the TLB 35, etc., and 38 is a register that holds real addresses. The control circuit 37 includes an index result for the TLB 35 (specifically, a control section C
8, SN′, PN=, and P, LEVEL), MAR
SN of the virtual address held in 32, signal PAGE8D from the upper pick 1-1 boundary check circuit 36 of PN,
Various memory control signals are guided from a microprogram control section (not shown). These memory control signals include a signal MREQ indicating a memory access request, a signal RD indicating a memory read, a signal WR indicating a memory write, a signal IF indicating an instruction fetch, and a signal FW indicating a full word access. be.

次に、この発明の一実施例の動作を説明する。Next, the operation of one embodiment of the present invention will be explained.

今、主メモリ10に対するメモリアクセスのために、M
AR32に仮想アドレスがロードされたものとする。M
AR32にロードされた仮想アドレス中のページ内オフ
セットQffsetは、境界ヂエック回路36に導かれ
る。これにより、境界チェック回路36は、上記した主
メモリ10に対するメモリアクセスがフルワードアクセ
スであるものとした場合に、ページ境界にまたがるアク
セスとなるか否かをチェックする。この例では、1ペー
ジは2KBであり、したがってQffsetは11ピッ
1−で構成される。この場合、ハーフワード境界のフル
ワードアクセスを条件とすると、境界チェック回路36
はQffsetが16進表現で°’ 7 F E ”で
あるか否かをチェックすればよい。境界ヂエック回路3
6は、M A R32からのQffSetに基づくヂエ
ツク結果を信号PAGEBDとしてコントロール回路3
7に出力する。
Now, for memory access to main memory 10, M
Assume that a virtual address has been loaded into the AR32. M
The intra-page offset Qffset in the virtual address loaded into the AR 32 is directed to the boundary check circuit 36. Thereby, the boundary check circuit 36 checks whether or not the memory access to the main memory 10 described above is a full word access, and whether or not the access straddles a page boundary. In this example, one page is 2 KB, so Qffset consists of 11 bits. In this case, assuming fullword access on a halfword boundary, the boundary check circuit 36
All you have to do is check whether Qffset is °' 7 F E '' in hexadecimal representation. Boundary check circuit 3
6 is a control circuit 3 which uses the check result based on QffSet from the MAR 32 as a signal PAGEBD.
Output to 7.

一方、M A R32にロードされた仮想アドレス中の
セグメント1号SNの下位ビットとページM@PNの下
位ビットとの連結情報は、TLB35に導かれる。しか
して、上記連結情報により、TLB35が索引される。
On the other hand, the linkage information between the lower bits of segment No. 1 SN in the virtual address loaded into the MAR 32 and the lower bits of the page M@PN is guided to the TLB 35. Accordingly, the TLB 35 is indexed using the above connection information.

この結果、T L B35 (T L B55A、35
B)から、該当エン]−りの格納情報が読出される。T
LB35からの読出し情報のうち、v′。
As a result, T L B35 (T L B55A, 35
From B), the stored information for the corresponding en] is read out. T
Among the read information from LB35, v'.

M−、VNA、VNB、MNA、MNB、S\′。M-, VNA, VNB, MNA, MNB, S\'.

PM、P、LEVEL、R(RについてはTし835B
からのみ)はコントロール回路37に導かれる。また、
コントロール回路37には、M A R32にロードさ
れた仮想アドレスのSNの上位ビット(SN1.PNの
上位ビット(PN−)、およびPSW31からのMOD
Eも導かれる。フン1〜ロール回路37は、これらの入
力情報により、信号MISS、PRT、MOD、NEX
T:MISS。
PM, P, LEVEL, R (T for R 835B
) is led to the control circuit 37. Also,
The control circuit 37 includes the upper bits of SN of the virtual address loaded into the MAR 32 (SN1. the upper bits of PN (PN-), and the MOD from the PSW 31).
E is also guided. Based on this input information, the FUIN 1 to roll circuits 37 output the signals MISS, PRT, MOD, and NEX.
T: MISS.

NEXT:MODを生成スル。信号MISSは、TLB
35の該当エントリに(仮想アドレスから実アドレスへ
のアドレス変換のための)止しいアドレス変換情報が無
いこと、即ちミスヒツト(TLBミスピット)を示す。
NEXT: Generate MOD. Signal MISS is TLB
This indicates that the corresponding entry of No. 35 does not have new address translation information (for address translation from a virtual address to a real address), that is, a miss (TLB miss pit).

信号PRTは、PSW31で示された動作モードがその
セグメントへのメモリアクセス権を持っていないこと、
即ち主記憶保護違反であることを示す。信号MODは、
ページテーブル12の該当エントリのモディファイビッ
トMがセットされていないこと(これをモディファイと
呼))ヲ示す。信@NEXT:MISSは、今アクセス
しようとしているページの次のページに対応するTLB
エントリが正しく作られていないこと、即ち次ページミ
スヒツトを示す。そして、信号NEXT:MODは、今
アクセスしようとしているページの次のページに対応す
るページテーブルエントリのモディファイビットMがセ
ットされていないこと、即ち次ページモディファイを示
す。これらの信号の生成論理は以下の通りである。
Signal PRT indicates that the operating mode indicated by PSW31 does not have memory access rights to that segment;
In other words, this indicates a main memory protection violation. The signal MOD is
This indicates that the modify bit M of the corresponding entry in the page table 12 is not set (this is called a modify). Message @NEXT: MISS is the TLB corresponding to the page next to the page you are currently trying to access.
Indicates that the entry was not created correctly, that is, a next page miss. The signal NEXT:MOD indicates that the modify bit M of the page table entry corresponding to the page next to the page to be accessed is not set, that is, the next page is modified. The generation logic of these signals is as follows.

■ Miss MISS=HIT HIT=HITA+HITB HIT+ =Vl  ・ (SN−=TLB:  (SN−))・
 (PN−=TLB:  (PNi)なお、SN−、P
N′はM A R32からのSN。
■ Miss MISS=HIT HIT=HITA+HITB HIT+ =Vl ・ (SN-=TLB: (SN-))・
(PN-=TLB: (PNi) Note that SN-, P
N' is SN from MAR32.

PNの上位ビットを示し、V: 、TLB+(SN−)
、TLB+  (PN−)は、TLB35゜(i=A、
B)(7)該当Iント1l)V、SN−。
Indicates the upper bit of PN, V: , TLB+(SN-)
, TLB+ (PN-) is TLB35° (i=A,
B) (7) Applicable Int 1l) V, SN-.

PN′を示す。したがって、H1丁+(i=A。PN' is shown. Therefore, H1+(i=A.

B)は、TLB35iの該当Jン1−リに正しいアドレ
ス変換情報が有ることを示す。このことから、HITが
、T L B 35の該当エントリのA側またはB側の
いずれか一方に正しいアドレス変換情報が有ること、即
ちヒツト(TLBヒツト)を示すことが理解されよう。
B) indicates that correct address translation information exists in the corresponding J-1-li of the TLB 35i. From this, it will be understood that HIT indicates that there is correct address translation information on either the A side or the B side of the corresponding entry in TLB 35, that is, HIT (TLB hit).

■ PRT PRT =HITA ・(MODE≧P、LEVELA )+H
ITa・(MODE≧P、LEVELe )なお、P、
LEVEL+  (i=A、B)は、TLB35iの該
当エントリのP、LEVELを示す。
■ PRT PRT = HITA ・(MODE≧P, LEVELA)+H
ITa・(MODE≧P, LEVELe) In addition, P,
LEVEL+ (i=A, B) indicates P and LEVEL of the corresponding entry in TLB 35i.

■ MOD MOD=HI TA−tVIデー+HITa・−&「−
゛なお、M+  (i=A、B)は、71335iの該
当エントリのMを示す。
■ MOD MOD=HI TA-tVI day+HITa・-&“-
Note that M+ (i=A, B) indicates M of the corresponding entry of 71335i.

■ NEXT:Miss NEXT :MISS =HITA・(VNAA+VNBA) +HITa ・(VNAs +VNBs )なお、VN
A+ 、VNB+  (i =A、B)Lt、T L 
B 35 i (7) 15 当I ント!J (7)
 V N A 、 V N Bを示す。
■ NEXT:Miss NEXT:MISS =HITA・(VNAA+VNBA) +HITa・(VNAs +VNBs) Note that VN
A+, VNB+ (i = A, B) Lt, T L
B 35 i (7) 15 To I nt! J (7)
VNA and VNB are shown.

■ NEXT:〜jOD NEXT:MOD =HITA・(MNAA +MNBA )十HITa・
(MNAB +MNBB )なお、MNA+ 、tvl
NB+  (i−A、B)lよ、TLB35iの該当エ
ントリのMNA、MNBを示す。
■ NEXT:~jOD NEXT:MOD =HITA・(MNAA +MNBA) 10HITa・
(MNAB +MNBB) In addition, MNA+, tvl
NB+ (i-A, B)l indicates MNA and MNB of the corresponding entry in TLB 35i.

上記した■〜■に示す信号は、コントロール回路37か
ら図示せぬマイクロプログラム制御部に供給され、メモ
リアクセスを行なう際に、(マイクロプログラムにより
)予めメモリアクセスの正当性をチェックするのに用い
られる。
The signals shown in ■ to ■ above are supplied from the control circuit 37 to a microprogram control section (not shown), and are used to check the validity of the memory access (by the microprogram) before performing memory access. .

また、この実施例では、コントロール回路37において
もメモリアクセスの正当性のチェックが行なわれる構成
となっている。これは、例えばロード(load)命令
のように、メモリアクセスが1回しか行なわれない命令
などの場合、メモリアクセスの正当性をマイクロブ0セ
ツサでチェックしていたのでは処理速度が著しく低下し
てしまうことを考慮したためである。即ち、コントロー
ル回路37は、上記した■〜■の信号、更にはマイクロ
プログラム111111部からの各種メモリ制御信号に
より、メモリアクセスの正当性をハード的にチェックす
る。コントロール回路37は、メモリアクセスの正当性
が保証できない場合、命令実行前にファームウェアレベ
ルでの割込みを発生する。この場合には、ミスヒツト割
込み信号Miss:lNT1主記憶保護違反割込み信号
PRT:INT、モディファイ割込み信号MOD : 
INT、次ページミスヒツト割込み信@NEXT :M
ISS : INT、更には次ページモディファイ割込
み信号NEXT :MOD : INTが、以下に示す
論理に従って生成される。
Further, in this embodiment, the control circuit 37 is also configured to check the validity of memory access. This is because, in the case of an instruction that accesses memory only once, such as a load instruction, if the validity of the memory access was checked using the microb 0 setter, the processing speed would drop significantly. This is because it is possible to store it away. That is, the control circuit 37 checks the validity of the memory access in a hardware manner using the signals ① to ① described above, as well as various memory control signals from the microprogram 111111 section. If the correctness of memory access cannot be guaranteed, the control circuit 37 generates an interrupt at the firmware level before executing the instruction. In this case, the mishit interrupt signal Miss:lNT1, the main memory protection violation interrupt signal PRT:INT, and the modify interrupt signal MOD:
INT, next page miss interrupt signal @NEXT :M
ISS: INT and further the next page modify interrupt signal NEXT: MOD: INT are generated according to the logic shown below.

■ MISS:INT MISS : INT =MISS−MREQ ■ PRT:INT PRT:INT −〜+188−PRT−MREQ ■ MOD:INT MOD+INT ■ NEXT :〜ll5S:INT NEXT:MISS: INT −M I SS −PRT・(MOD−WR)・NEX
T:Miss−NEXT:MREQNEXT  :MR
EQ =MREQ−PAGEBD−FW ■ NEXT :MOD :  INTNEXT :M
OD +  INT ・NEXT :MREQ−WR 以上の■〜[相]の割込み(信@)は、上記した論理か
ら明らかなように、割込み発生の優先順位を有している
。上記の例では、■(ミスヒント割込み)の優先度が最
も高く、以下■、■の順となり、■(次ページモディフ
ァイ)の優先度が最も低くなっている。
■ MISS:INT MISS : INT =MISS-MREQ ■ PRT:INT PRT:INT -~+188-PRT-MREQ ■ MOD:INT MOD+INT ■ NEXT :~ll5S:INT NEXT:MISS: INT -MI SS -P RT・( MOD-WR)・NEX
T:Miss-NEXT:MREQNEXT:MR
EQ = MREQ-PAGEBD-FW ■ NEXT :MOD : INTNEXT :M
OD+INT/NEXT:MREQ-WR As is clear from the logic described above, the interrupts (signal@) of the above ■ to [phases] have a priority order of interrupt generation. In the above example, ■ (miss hint interrupt) has the highest priority, followed by ■, then ■, and ■ (next page modification) has the lowest priority.

上記した論理により、ミスヒツトが検出された場合、(
マイクロプログラム制御部の制御の下で)コントロール
回路37により、後述するようにTLB35の該当エン
トリの入替え(リプレース)が行なわれる。また、主記
憶保護違反の場合には、ソフトウェアレベルでの割込み
が発生される。また、モディファイく割込み)の場合、
11述するようにページテーブル12の該当エントリの
モディファイじットMのセットと、TLB35の該当エ
ントリのセットなどが行なわれる。また、次ページミス
ヒツトの場合、ミスヒツトの場合と同様に、TLB35
の該当エントリの入替えが行なわれる。また、次ページ
モディファイの場合には、モディファイ(割込み)の場
合と同様に、ページテーブル12の該当エントリのモデ
ィファイビットMのセットが行なわれ、更にT L B
 35の内容の変更が行なわれる。なお、次ページミス
ヒツト、次ページモディファイは、ページ境界にまたが
るフルワードアクセスのときに弁生する可能性がある。
According to the above logic, if a mishit is detected (
Under the control of the microprogram control section), the control circuit 37 replaces the corresponding entry in the TLB 35 as described later. Furthermore, in the case of a main memory protection violation, an interrupt is generated at the software level. Also, in the case of a modified interrupt),
11, the modification bit M of the corresponding entry in the page table 12 and the corresponding entry in the TLB 35 are set. In addition, in the case of a next page miss, TLB35 is
The corresponding entries are replaced. In addition, in the case of next page modification, the modification bit M of the corresponding entry in the page table 12 is set, as in the case of modification (interrupt), and then T L B
The contents of 35 are changed. Note that next page misses and next page modifications may occur when full word access is performed across page boundaries.

ここで、TLB35の該当エントリの入替え(リプレー
ス)等、TLB35の内容を変更する場合について説明
する。なお、以下の説明では、MAR32にO−ドされ
た仮想アドレスを対象仮想アドレス、対象仮想アドレス
に対応するTLB35のエントリをTLBI当エントリ
と呼ぶ。また、対象仮想アドレスの直前ページに対応す
るTLBエントリセットを丁LB直前エントリセット、
対象仮想アドレスの直後のページに対応するTLBエン
トリセットをTLB直後エントリセットと呼ぶ。
Here, a case will be described in which the contents of the TLB 35 are changed, such as replacing a corresponding entry in the TLB 35. In the following description, the virtual address loaded into the MAR 32 will be referred to as a target virtual address, and the entry in the TLB 35 corresponding to the target virtual address will be referred to as a TLBI entry. In addition, the TLB entry set corresponding to the page immediately before the target virtual address is set as the TLB entry set immediately before the target virtual address.
The TLB entry set corresponding to the page immediately after the target virtual address is called the TLB entry set immediately after.

(1)  メモリリード時のミスヒツトの場合メモリリ
ード時にミスヒツト(割込み)が発生した場合、マイク
ロブログラム制御部の制御により、まずセグメントテー
ブル11の該当エントリ中の主記憶保護情報P、LEV
ELが保護レジスタ33にO−ドされ、対応するページ
テーブル12の該当エントリ中の実ページ番号RPAが
RPAレジスタ34にロードされる。P、LEVELは
、図示せぬセグメントテーブル起点レジスタに格納され
ているセグメントテーブル起点アドレスと、仮想アドレ
スのセグメント番号SNとを用いてセグメントチルプル
11をアクセスすることにより得られる。このときペー
ジテーブル起点アドレスも得られる。また、RPAは、
上記ページテーブル起点アドレスと仮想アドレスのペー
ジ番号PNとを用いて対応するページテーブル12をア
クセスすることにより得られる。
(1) In the case of a miss during a memory read When a miss (interrupt) occurs during a memory read, the main memory protection information P, LEV in the corresponding entry of the segment table 11 is first read under the control of the microprogram control unit.
EL is loaded into the protection register 33, and the real page number RPA in the corresponding entry of the corresponding page table 12 is loaded into the RPA register 34. P and LEVEL are obtained by accessing the segment tilt pull 11 using the segment table starting point address stored in a segment table starting point register (not shown) and the segment number SN of the virtual address. At this time, the page table starting point address is also obtained. In addition, RPA is
It is obtained by accessing the corresponding page table 12 using the page table starting point address and the page number PN of the virtual address.

P、LEVEL#よびRP/l’0−Fされると、マイ
クロプログラムによりTLBリプレース(リード)指令
が発行される。この指令により、TLB35A、35B
の該当エントリのうち、一番昔に参照された側のエント
リ、例えばTLB35A(TL835のA側)の該当エ
ントリの書換えが行なわれる。このとき、A側、B側の
いずれを書換えたかくこの例ではA側)が記憶される。
P, LEVEL# and RP/l'0-F, a TLB replace (read) command is issued by the microprogram. With this command, TLB35A, 35B
Among the corresponding entries, the entry that was referenced the earliest, for example, the corresponding entry in TLB 35A (A side of TL 835) is rewritten. At this time, either the A side or the B side is rewritten (in this example, the A side) is stored.

この書換え(リプレース)にあっては、対象仮想アドレ
スのSN=、PN′、保護レジスタ33からのP、LE
VEL、およびRPAレジスタ34からのRPAが、丁
LB該当エントリの所定フィールドに書込まれる。また
、TLB該当エントリのビットV′がセット、ビットV
NA、VN8.M、MNA、MNBがリセットされる。
In this rewriting (replacement), SN=, PN' of the target virtual address, P from the protection register 33, LE
VEL and RPA from the RPA register 34 are written into a predetermined field of the corresponding entry in the LB. Also, bit V' of the TLB corresponding entry is set, bit V
NA, VN8. M, MNA, and MNB are reset.

但し、MNA、MNBについては不変としてもよい。な
お、書換え(リプレース)対象エントリを、T L B
 35A側、またはTLB35B側のいずれとするかは
、TLB35Bの該当エントリ中の参照ビットRに基づ
いて決定される。この書換えに際し、上記参照ビットI
n)論理値は反転される。
However, MNA and MNB may remain unchanged. Note that the entry to be rewritten (replaced) is T L B
35A side or TLB 35B side is determined based on the reference bit R in the corresponding entry of TLB 35B. When rewriting, the above reference bit I
n) Logical values are inverted.

上記した書換えの後、M A R32の内容が、対象仮
想アドレスより1ページ前を示すように変更され、続い
てコントロールセクション・チェンジ(リード)指令が
発行される。この指令により、TLB直前エントリセッ
トのコントロールセクションC8が同時に変更される。
After the above-described rewriting, the contents of MAR 32 are changed to indicate one page before the target virtual address, and then a control section change (read) command is issued. This command simultaneously changes the control section C8 of the TLB immediately preceding entry set.

このC8の変更内容は、TLB直前エントリセットが、
M A R32に設定された仮想アドレス(対象仮想ア
ドレスより1ページ前を示す仮想アドレス)に対応する
アドレス変換情報を正しく持っている(TLBヒツト)
か、否(T L Bミス)かにより、次のように異なる
。但し、次の例は、TLBリプレース(リード)指令に
より、T L B 35のAIallがリプレースされ
た場合である。
The contents of this C8 change are that the TLB immediately preceding entry set is
It has correct address translation information corresponding to the virtual address set in M A R32 (virtual address indicating one page before the target virtual address) (TLB hit)
or not (TLB miss) as follows. However, the following example is a case where AIall of TLB 35 is replaced by a TLB replace (read) command.

a)  TLBヒツトの場合 V:不変  VNA :セット VNB :不変(リセット) M:不変  MNA :リセット MNB:不変(リセット) b)  TLBミスの場合 V:不変  VNA :リセット VNB :不変 N1:不変  MNA :リセット MNB:不変 (2メモリライト時のミスヒツトの場合メモリライト時
にミスヒツト(割込み)が発生した場合のTLB制御の
手順は、前記(1)でのTLBリプレース(リード)指
令の代りにTLBリプレース(ライト)指令が、コント
ロールセクション・チェンジ(リード)指令の代りにコ
ントロールセクション・チェンジ(ライト)指令が適用
されること、そしてページテーブル12の対応するエン
トリのモディファイビットMがセットされることを除き
、メモリリード時と同様である。この場合、TLB該当
エントリ、TLB直前エントリセットのコントロールセ
クションC8は、以下の通りとなる。
a) In case of TLB hit V: Unchanged VNA: Set VNB: Unchanged (reset) M: Unchanged MNA: Reset MNB: Unchanged (reset) b) In case of TLB miss V: Unchanged VNA: Reset VNB: Unchanged N1: Unchanged MNA: Reset MNB: Unchanged (2 In case of a miss during memory write The TLB control procedure when a miss (interrupt) occurs during memory write is ) commands are stored in memory, except that a control section change (write) command is applied instead of a control section change (read) command, and the modify bit M of the corresponding entry in page table 12 is set. This is the same as when reading. In this case, the control section C8 of the TLB corresponding entry and TLB immediately preceding entry set is as follows.

a)TLB該当エントリ V二セット  VNA :リセット VNB :リセット M;セット  MNA:リセット MNB:リセット b)  TLB直前エンドリセット 但し、A側がリプレースされた場合 b−1)  TLBヒツトの場合 ■:不変  VNA :セット VNB :不変(リセット) M:不変  MNA :セラ1〜 MNB:不変(リセツ1−) b−2>  TLBミスの場合 V:不変  VNA :リセツ1〜 VNB:不変 M:不変  MNA :リセット MNB:不変 (3)  メモリライト時のモディファイ割込みメモリ
ライト時にモディファイ割込みが発生すると、まずペー
ジテーブル12の該当エントリのモディファイビットM
がセットされる。次に、MAR32に対象仮想アドレス
がセットされ、続いてセット・モディファイ指令が発行
される。この指令により、TLS11当エントツエント
リでは、TL835のA側の対応するエントリであるも
のとする)のビットM1がセットされる。次に、M A
 R32の内容が、対象仮想アドレスより1ページ前を
示すように変更され、続いてコントロールセクション・
チェンジ(モディファイ)指令が発行される。この指令
により、TLB直前エントリセットのコントロールセク
ションC8が変更される。このC8の変更内容は、TL
B直前エントリセットが、MAR32に設定された仮想
アドレス(対象仮想アドレスより1ページ前を示す仮想
アドレス)に対応するアドレス変換情報を正しく持って
いる(TLBヒツト)か、否(TLBミス)かにより、
次のように異なる。但し、次の例は、セット・モディフ
ァイ指令により、TLB35のA側の対応するエントリ
中のビットMがセットされた場合である。
a) Two sets of TLB corresponding entry V VNA: Reset VNB: Reset M; Set MNA: Reset MNB: Reset b) Reset the end immediately before TLB However, if side A is replaced b-1) In the case of TLB hit ■: Unchanged VNA: Set VNB: Unchanged (reset) M: Unchanged MNA: Sera 1~ MNB: Unchanged (reset 1-) b-2> In case of TLB miss V: Unchanged VNA: Reset 1~ VNB: Unchanged M: Unchanged MNA: Reset MNB: Unchanged (3) Modify interrupt during memory write When a modify interrupt occurs during memory write, the modify bit M of the corresponding entry in page table 12 is first set.
is set. Next, the target virtual address is set in the MAR 32, and then a set/modify command is issued. This command sets bit M1 in the TLS11 entry (assumed to be the corresponding entry on the A side of TL835). Next, M.A.
The contents of R32 are changed to indicate one page before the target virtual address, and then the control section
A change (modification) directive is issued. This command changes the control section C8 of the TLB immediately preceding entry set. The details of this C8 change are as follows:
Depends on whether the B-immediate entry set correctly has address translation information corresponding to the virtual address set in MAR32 (virtual address indicating one page before the target virtual address) (TLB hit) or not (TLB miss). ,
They differ as follows. However, the following example is a case where bit M in the corresponding entry on the A side of the TLB 35 is set by a set/modify command.

a)  TLBヒツトの場合 V:不変  VNA :不変(セット)VNB:不変 N・1:不変  MNA :セット MNB:不変 b)  TLBミスの場合 V:不変  VNA :不変(リセット)VNB :不
変 M;不変  MNA :不変(リセット)MNB:不変 上記したTLB制御によれば、TLB35の各エントリ
のコントロールセクションC8には、対応するページは
勿論、次ページに対する最新の情報も正しく設定される
。例えば、成る仮想アドレスによるメモリリード時にミ
スヒツト(割込み)が発生した場合、TLB該当エント
リがリプレースされる。この際、V、Mが一義的に正し
い値に設定される。このとき、TLB該当エントリのリ
プレースに伴い、TLBri前エントツエントリセット
、VNB、MNA、MNBも、TLB該当エントリの状
態を反映するように変更される。なお、この実施例では
、TLB該当エントリのリプレースが行なわれた場合に
おいて、TLB該当エントリのVNi、MNiが、TL
B直後エントリセツトの状態を正しく反映しているとは
限らない。しかし、TLBii!後エンドリセットのリ
プレースが行なわれた際には、TLB該当エントリのV
Ni。
a) In case of TLB hit V: Unchanged VNA: Unchanged (set) VNB: Unchanged N・1: Unchanged MNA: Set MNB: Unchanged b) In case of TLB miss V: Unchanged VNA: Unchanged (reset) VNB: Unchanged M; Unchanged MNA: Unchanged (reset) MNB: Unchanged According to the TLB control described above, the latest information for not only the corresponding page but also the next page is correctly set in the control section C8 of each entry of the TLB 35. For example, if a miss (interruption) occurs during a memory read using a virtual address, the corresponding TLB entry is replaced. At this time, V and M are uniquely set to correct values. At this time, with the replacement of the corresponding TLB entry, the TLBr entry entry set, VNB, MNA, and MNB are also changed to reflect the state of the corresponding TLB entry. In addition, in this embodiment, when the corresponding TLB entry is replaced, the VNi and MNi of the TLB corresponding entry are
It does not necessarily reflect the state of the entry set immediately after B correctly. However, TLBii! When a post-end reset is replaced, the V of the corresponding TLB entry is
Ni.

MNiは、必ずTLB直後エントリセットの状態□を正
しく反映する。
MNi always correctly reflects the state □ of the entry set immediately after TLB.

また、上記メモリリードがページ境界にまたがるフルワ
ードアクセスである場合であって、いずれのページにつ
いてもTLBla当エントジエントリス変換情報が正し
く格納されていない場合には、次のようにしてTLBエ
ントリの変更が行なわれる。この場合、割込みの優先順
位から明らかなように、ミスヒツト扱いとなり、先頭ペ
ージのTLB該当エントリのリプレース(O3の変更を
含む)と、そのTLB直前エントリセットのO8(VN
A、VNB、MNA、MNB) の変更トカ行なわれる
。そして、再び上記したフルワードアクセスを実行しよ
うとすると、今度は次ページミスヒツト扱いとなる。こ
の場合には、次のページのTLB該当エンI・りのリプ
レース(C3の変更を含む)と、そのTLB直前エント
リセット、即ち先頭ページのTLB該当エントリのC8
(VNA、VNB、MNA、MNB)の変更とが行なわ
れる。この結果、先頭ページに対応するTLB該当エン
トリには、同エントリおよびTLB直後エントリセット
のいずれにも、正しいアドレス変換情報が格納されてい
ることを示す情報が設定される。
In addition, if the above memory read is a full word access that spans page boundaries, and the TLB1 entity entry conversion information is not stored correctly for any page, the TLB entry can be changed as follows. Changes are made. In this case, as is clear from the interrupt priority order, it will be treated as a miss, and the corresponding TLB entry on the first page will be replaced (including changing O3), and the entry set immediately before that TLB will be replaced with O8 (VN
A, VNB, MNA, MNB) will be changed. If an attempt is made to perform the full word access described above again, this time it will be treated as a next page miss. In this case, replace the corresponding entry in the TLB of the next page (including changing C3) and the entry set immediately before that TLB, that is, C8 of the corresponding entry in the TLB of the first page.
(VNA, VNB, MNA, MNB) are changed. As a result, information indicating that correct address translation information is stored in the TLB corresponding entry corresponding to the first page is set in both the entry and the entry set immediately after the TLB.

また、メモリリード時のミスヒツトによりTLBli当
エントツエントリースが行なわれたページに、メモリラ
イトアクセスを行なう場合、(もし主記憶保護違反が発
生しなければ)モディファイ割込みが発生し、TLB該
当エントリのビットMだけがセットされる。このとき、
TLB直前エンドリセットのC8(中のMN i )が
、TLB該当エントリの状態を反映するように変更され
る。また、ページテーブル12の対応エントリのモディ
ファイビットMもセットされる。もし、モディファイ割
込みを適用せずに、ページテーブル12のモディファイ
ビットMに対するセット動作回数を減少させたい場合に
は、モディファイ(割込み)、次ベージモディファイ(
割込み)に相当する状態もミスヒツト(割込み)、次ペ
ージミスヒツト(割込み)扱いとすればよい。但し、こ
の場合には、TLBエントリのリプレースが伴うため、
セグメントテーブル11およびページテーブル12への
アクセスが必要となることから、前記した方式に比べ効
率は低下する。
In addition, when a memory write access is performed to a page in which a TLB entry has been entered due to a miss during a memory read, a modify interrupt is generated (if a main memory protection violation does not occur), and the bit of the TLB entry is Only M is set. At this time,
C8 (MN i inside) of the TLB immediately before end reset is changed to reflect the state of the corresponding TLB entry. Additionally, the modify bit M of the corresponding entry in the page table 12 is also set. If you want to reduce the number of set operations for the modify bit M of the page table 12 without applying a modify interrupt, modify (interrupt), next page modify (
The states corresponding to (interrupts) may also be treated as misses (interrupts) and next page misses (interrupts). However, in this case, the TLB entry is replaced, so
Since access to the segment table 11 and page table 12 is required, the efficiency is lower than that of the above-described method.

なお、前記実施例では、主記憶保護情報P、 LEVE
Lが1種類である場合について説明したが、これに限る
ものではない。例えば、主記憶保護の効率化のために、
リード保護用、ライト保護用、命令実行保護用の3種類
の主記憶保護情報が用意されている場合にも、同様に実
施できる。この場合、主記憶保護違反の検出は、メモリ
アクセスの種類に対応する主記憶保護情報を用いて行な
われる。
In the above embodiment, the main memory protection information P, LEVE
Although the case where there is one type of L has been described, the present invention is not limited to this. For example, to improve the efficiency of main memory protection,
The same method can be implemented even when three types of main memory protection information are prepared: read protection, write protection, and instruction execution protection. In this case, main memory protection violation is detected using main memory protection information corresponding to the type of memory access.

[発明の効果] 以上詳述したようにこの発明によれば、次に列挙する作
用効果を奏することができる。
[Effects of the Invention] As described in detail above, according to the present invention, the following effects can be achieved.

■ TLBの各エントリに、該当ページは勿論、次ペー
ジに対する最新の制御情報が正しく設定されるので、た
とえページ境界をまたぐメモリアクセスの場合でも、先
頭ページに対応するTLBエントリのチェックだけでこ
の種メモリアクセスの正当性が保証でき、したがって処
理速度の向上が図れる。
■ Since the latest control information for not only the relevant page but also the next page is correctly set in each TLB entry, even in the case of memory access that crosses page boundaries, this type of control information can be solved by simply checking the TLB entry corresponding to the first page. The validity of memory access can be guaranteed, and therefore processing speed can be improved.

■ 対応するページが書換えられたか否かを示すモディ
ファイビットをページテーブルエントリに用意する方式
を採用する場合、たとえ2ページにまたがるメモリアク
セスのときでも、同モディファイビットの状態を簡単に
把握でき、ページテーブルエントリのモディファイビッ
トのセット回数の減少が図れる。
■ When adopting a method of preparing a modify bit in a page table entry that indicates whether the corresponding page has been rewritten, the state of the modify bit can be easily grasped even when memory access spans two pages. The number of times the modify bit of a table entry is set can be reduced.

■ ページテーブルエントリのモディファイヒツトの把
握が簡単に行なえる方式を採用する場合において、前回
リードアクセスされたページに対するメモリライト時に
は、対応するTLBエントリの入替えを不要とすること
ができる。
(2) In the case of adopting a method in which modification hits of page table entries can be easily ascertained, it is possible to eliminate the need to replace the corresponding TLB entry when memory is written to a page that was previously read accessed.

【図面の簡単な説明】[Brief explanation of the drawing]

図面はこの発明の一実施例に係る仮想記憶制御方式の計
算様のの要部の構成を示すブロック図である。 10・・・主メモリ、11・・・セグメントテーブル、
12・・・ベージテーブル、35・・・TLB、36・
・・境界チェック 4回路、37・・・コントロール回
路。
The drawing is a block diagram showing the configuration of the main part of the calculation method of the virtual storage control system according to an embodiment of the present invention. 10... Main memory, 11... Segment table,
12...Bage table, 35...TLB, 36...
...Boundary check 4 circuits, 37...Control circuit.

Claims (3)

【特許請求の範囲】[Claims] (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′
をセットし、ビットVNiをリセットする手段と、同入
替え対象TLBエントリで示されるページの直前ページ
に対応する上記TLBエントリのビットVNiを変更す
る手段とを具備することを特徴とするTLB制御方式。
(1) In a computer using a virtual memory control method, each TLB entry has a bit V' indicating whether the entry is valid or invalid;
T corresponding to the page following the page indicated by the same entry
Bit VNi (i=1
, ... n, n is an integer greater than or equal to 1), and a TLB including a field of address translation information, a target virtual address, and the bits V' and VNi of the TLB entry corresponding to the target virtual address upon memory access. , and a predetermined field of address translation information, it is determined whether correct address translation information is stored in the same entry, and whether correct address translation information is stored in the TLB entry corresponding to the page next to the page indicated by the same entry. a first detection means for detecting whether one memory access spans two pages; a second detection means for detecting whether one memory access spans two pages; a replacement means for replacing the corresponding entries; and when the replacement means replaces the TLB entries, the above-mentioned bit V' of the TLB entry to be replaced is
A TLB control method comprising means for setting bit VNi and resetting bit VNi, and means for changing bit VNi of the TLB entry corresponding to the page immediately before the page indicated by the TLB entry to be replaced.
(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′をセットし、且つビットVNi
をリセットすると共に、メモリリード/ライトに応じて
上記ビットM′をリセット/セットする手段と、同入替
え対象TLBエントリで示されるページの直前ページに
対応する上記TLBエントリのビットVNi、MNiを
メモリリード/ライトに応じて変更する手段とを具備す
ることを特徴とするTLB制御方式。
(2) In a computer with a virtual memory control system, which has a page table in which each page table entry has a modify bit indicating whether the corresponding page has been rewritten and a field for the real page number, each TLB entry has the same Bit V' indicating validity/invalidity of entry, TLB corresponding to the page following the page indicated by the same entry
Bit VNi (i=1, ・
...n, n is an integer greater than or equal to 1), bit M' indicating the state of the modify bit of the above page table entry corresponding to the page indicated by the same entry, and bit M' indicating the state of the modify bit of the above page table entry corresponding to the page indicated by the same entry, the above corresponding to the page next to the page indicated by the same entry. Bit MN indicating the state of the modify bit of the page table entry
i, and a TLB containing a field of address translation information.
At the time of memory access, it is determined whether correct address translation information is stored in the entry based on the target virtual address, the bits V′ and VNi of the TLB entry corresponding to the target virtual address, and a predetermined field of address translation information. whether correct address translation information is stored in the TLB entry corresponding to the page following the page indicated by the same entry, and the state of the modify bit of the page table entry corresponding to the page indicated by the same entry. , a first detection means for detecting the state of the modify bit of the page table entry corresponding to the page next to the page indicated by the same entry, and a first detection means for detecting whether one memory access spans two pages. 2 detection means; a replacement means for replacing the corresponding entries of the TLB according to the detection results of the first and second detection means; and when the replacement means replaces the TLB entries, the bit V of the TLB entry to be replaced is detected. ' and bit VNi
and reset/set the bit M' in response to memory read/write, and memory read bits VNi and MNi of the TLB entry corresponding to the page immediately before the page indicated by the TLB entry to be replaced. / A TLB control method characterized by comprising: means for changing according to the write.
(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′をセットし、且
つビットVNiをリセットすると共に、メモリリード/
ライトに応じて上記ビットM′をリセット/セットする
手段と、同入替え対象TLBエントリで示されるページ
の直前ページに対応する上記TLBエントリのビットV
Ni、MNiをメモリリード/ライトに応じて変更する
手段と、上記第1および第2検出手段の検出結果に応じ
て上記TLBの対応エントリのビットM′のみをセット
する手段と、この手段によるビットM′セット対象TL
Bエントリで示されるページの直前ページに対応する上
記TLBエントリのビットMNiを変更する手段とを具
備することを特徴とするTLB制御方式。
(3) In a computer with a virtual memory control system, which has a page table in which each page table entry has a modify bit indicating whether the corresponding page has been rewritten and a field for the real page number, each TLB entry has the same Bit V' indicating validity/invalidity of entry, TLB corresponding to the page following the page indicated by the same entry
Bit VNi (i=1, ・
...n, n is an integer greater than or equal to 1), bit M' indicating the state of the modify bit of the above page table entry corresponding to the page indicated by the same entry, and bit M' indicating the state of the modify bit of the above page table entry corresponding to the page indicated by the same entry, the above corresponding to the page next to the page indicated by the same entry. Bit MN indicating the state of the modify bit of the page table entry
i, and a TLB containing a field of address translation information.
When accessing the memory, correct address translation information is stored in the entry using the target virtual address, the bits V', VNi, M', MNi of the TLB entry corresponding to the target virtual address, and a predetermined field of address translation information. Whether correct address translation information is stored in the above TLB entry corresponding to the page following the page indicated by the same entry, and whether the above page table entry corresponding to the page indicated by the same entry is stored. a first detection means for detecting the state of the modify bit and the state of the modify bit of the page table entry corresponding to the page next to the page indicated by the same entry; and whether one memory access spans two pages. a second detection means for detecting whether the
The above T according to the detection results of the first and second detecting means.
An exchanging means for exchanging the corresponding entry of the LB, and when exchanging the TLB entry by this exchanging means, sets the above-mentioned bit V' of the TLB entry to be exchanged, resets the bit VNi, and performs memory read/write.
means for resetting/setting the bit M' in response to a write, and a bit V of the TLB entry corresponding to the page immediately before the page indicated by the TLB entry to be replaced;
means for changing Ni and MNi in accordance with memory read/write; means for setting only bit M' of the corresponding entry of the TLB in accordance with the detection results of the first and second detecting means; M′ set target TL
A TLB control method comprising: means for changing bit MNi of the TLB entry corresponding to the page immediately preceding the page indicated by the B entry.
JP59135906A 1984-06-30 1984-06-30 Tlb control system Granted JPS6115249A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59135906A JPS6115249A (en) 1984-06-30 1984-06-30 Tlb control system
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 (en) 1984-06-30 1984-06-30 Tlb control system

Publications (2)

Publication Number Publication Date
JPS6115249A true JPS6115249A (en) 1986-01-23
JPH024016B2 JPH024016B2 (en) 1990-01-25

Family

ID=15162590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59135906A Granted JPS6115249A (en) 1984-06-30 1984-06-30 Tlb control system

Country Status (1)

Country Link
JP (1) JPS6115249A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992005494A1 (en) * 1990-09-20 1992-04-02 Fujitsu Limited System equipped with processor and method of converting addresses in said system
CN1077510C (en) * 1994-09-28 2002-01-09 索尼公司 Printing method and picture printing apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139387A (en) * 1982-02-12 1983-08-18 Hitachi Ltd Address converting system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139387A (en) * 1982-02-12 1983-08-18 Hitachi Ltd Address converting system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992005494A1 (en) * 1990-09-20 1992-04-02 Fujitsu Limited System equipped with processor and method of converting addresses in said system
CN1077510C (en) * 1994-09-28 2002-01-09 索尼公司 Printing method and picture printing apparatus

Also Published As

Publication number Publication date
JPH024016B2 (en) 1990-01-25

Similar Documents

Publication Publication Date Title
CA2874186C (en) Compare and replace dat table entry
KR101467069B1 (en) System, method, and apparatus for a cache flush of a range of pages and tlb invalidation of a range of entries
JP3713312B2 (en) Data processing device
JP3740195B2 (en) Data processing device
JP4567789B2 (en) TLB lock indicator
US9182984B2 (en) Local clearing control
US4731739A (en) Eviction control apparatus
US5379394A (en) Microprocessor with two groups of internal buses
US5666509A (en) Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
US4731740A (en) Translation lookaside buffer control system in computer or virtual memory control scheme
JPS6184756A (en) Memory access controller
WO1997014084A2 (en) Virtual memory system with local and global virtual address translation
JPH05509189A (en) Method of operating a computer system and memory management device in a computer system
JP3862959B2 (en) Microprocessor load / store instruction control circuit and load / store instruction control method
TWI437488B (en) Microprocessor and operation method using the same
EP0377431A2 (en) Apparatus and method for address translation of non-aligned double word virtual addresses
CA1267442A (en) Information processing system with enhanced instruction execution and support control
JPS6115249A (en) Tlb control system
JPH0192856A (en) Apparatus and method for protecting main memory unit using access and defect logic signal
JPS6115250A (en) Tlb control system
Crisu An architectural survey and modeling of data cache memories in verilog hdl
JPH0385636A (en) Instruction advance control device
JP2000148665A (en) Data processor
TW202223666A (en) Microprocessor and method implemented therein
TW202340955A (en) Technique for constraining access to memory using capabilities