[go: up one dir, main page]

JPH04338848A - Tlb substitution system - Google Patents

Tlb substitution system

Info

Publication number
JPH04338848A
JPH04338848A JP3111962A JP11196291A JPH04338848A JP H04338848 A JPH04338848 A JP H04338848A JP 3111962 A JP3111962 A JP 3111962A JP 11196291 A JP11196291 A JP 11196291A JP H04338848 A JPH04338848 A JP H04338848A
Authority
JP
Japan
Prior art keywords
tlb
address
replacement
entry
virtual
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.)
Pending
Application number
JP3111962A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Sato
善幸 佐藤
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 JP3111962A priority Critical patent/JPH04338848A/en
Publication of JPH04338848A publication Critical patent/JPH04338848A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve the performance by limiting the occurrence of TLB substitution and suppressing the occurrence of unnecessary TLB substitution to raise the hit rate with respect to TLB entry contents which should be resident in a TLB on the performance. CONSTITUTION:Each entry of a TLB 51 is provided with a substitution inhibiting flag F designating whether substitution of the entry should be inhibited or not, and a work TLB 52 where address conversion information is temporarily stored is provided in an MMU 5. If the access request from a CPU 1 does not hit the work TLB 52 neither the TLB 51 and the substitution inhibiting flag F of the substitution object entry in the TLB 51 is set, the MMU 5 does not store address conversion information, which is includes the physical address obtained by using an address conversion table 21 on a main memory 2, in the substitution object entry but stores it only in the work TLB 52.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】この発明は、TLB(アドレス変
換バッファ)を備えた仮想記憶制御方式の情報処理シス
テムにおけるTLB置換方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a TLB replacement method in a virtual memory control type information processing system equipped with a TLB (address translation buffer).

【0002】0002

【従来の技術】一般に仮想記憶制御方式の情報処理シス
テムには、CPU等からの仮想アドレスによるアクセス
要求を受けてメモリ(主メモリ)や周辺機器に対するア
クセスを管理するメモリ管理ユニット(以下、MMUと
称する)が設けられている。
2. Description of the Related Art Information processing systems using a virtual memory control method generally include a memory management unit (hereinafter referred to as MMU) that manages access to memory (main memory) and peripheral devices in response to access requests from a CPU or the like using virtual addresses. ) is provided.

【0003】MMUは、その主たる機能として、CPU
等から出力される仮想アドレスを物理アドレスに変換す
るアドレス変換機能を有する。この種のMMUには、上
記のアドレス変換を高速に行うために、TLB(Tra
nslation Look−aside Buffe
r ;アドレス変換バッファ)と称されるキャッシング
機構が設けられるのが一般的である。
[0003] The MMU's main function is to
It has an address conversion function that converts virtual addresses output from etc. into physical addresses. This type of MMU is equipped with a TLB (Transformation Block) in order to perform the above address translation at high speed.
nslation Look-aside Buffe
A caching mechanism called r; address translation buffer) is generally provided.

【0004】TLBは複数のエントリ(TLBエントリ
、キャッシングエントリ)を持つ。このTLBエントリ
には、CPU等からの仮想アドレスを主メモリ上のアド
レス変換テーブル(セグメントテーブル、ページテーブ
ルなどからなるアドレス変換テーブル)を用いて物理ア
ドレスに変換した際の、仮想アドレス(仮想ページアド
レス)と物理アドレス(物理ページアドレス)との対を
含む情報(アドレス変換情報と呼ぶ)が格納される。
[0004] The TLB has multiple entries (TLB entries and caching entries). This TLB entry contains the virtual address (virtual page address) when the virtual address from the CPU, etc. is converted to a physical address using the address conversion table (address conversion table consisting of segment tables, page tables, etc.) in main memory. ) and a physical address (physical page address) (referred to as address translation information) is stored.

【0005】さてMMUは、CPU等から仮想アドレス
によるアクセス要求が出されると、その仮想アドレス(
の仮想ページアドレス)によりTLBを検索し、その仮
想アドレスを持つアドレス変換情報を探す。
Now, when an access request using a virtual address is issued from a CPU or the like, the MMU uses the virtual address (
(virtual page address) to search the TLB and search for address translation information having that virtual address.

【0006】もし、目的のアドレス変換情報がTLB内
に存在するヒット(TLBヒット)時には、MMUは、
そのアドレス変換情報中の物理アドレスを用いて要求さ
れたアクセスを高速に実行する。
[0006] If there is a hit in which the target address translation information exists in the TLB (TLB hit), the MMU
The requested access is executed at high speed using the physical address in the address translation information.

【0007】これに対して、目的アドレス変換情報がT
LB内に存在しないミスヒット時には、MMUは、主メ
モリ上のアドレス変換テーブルを用いて仮想アドレスを
物理アドレスに変換するアドレス変換動作を行う。そし
てMMUは、TLB内の置換対象とするエントリの記憶
内容を追出し、今回発生した仮想アドレスと物理アドレ
スとの対を含むアドレス変換情報を記憶する、いわゆる
TLB置換(TLBエントリの入替え)を行う。この際
の置換対象エントリは、例えばLRU(LeastRe
cently Used )方式によって決定される。
On the other hand, the target address translation information is T
In the event of a miss that does not exist in the LB, the MMU performs an address translation operation that translates a virtual address into a physical address using an address translation table on the main memory. Then, the MMU performs so-called TLB replacement (replacement of TLB entries) by expelling the storage contents of the entry to be replaced in the TLB and storing address translation information including the currently generated pair of virtual address and physical address. The entry to be replaced at this time is, for example, LRU (Least Re
It is determined by the ``cently Used'' method.

【0008】[0008]

【発明が解決しようとする課題】上記したように従来は
、TLBミスヒットが発生すると、必ずTLB置換(T
LBエントリの入替え)が発生し、置換対象となったT
LBエントリの元の内容が追出されるようになっていた
。しかし、置換対象TLBエントリの内容によっては、
例えばディスク装置などの周辺機器のように連続領域を
高速にアクセスする必要がある機器を対象とするアドレ
ス変換情報が置換対象TLBエントリに記憶されていた
場合に、従来のように無条件でエントリ内容が入替えら
れていたのでは、次に、この種の機器をアクセスする際
に発生するTLBミスヒットにより性能が低下するとい
う問題があった。
[Problems to be Solved by the Invention] As mentioned above, conventionally, when a TLB miss occurs, TLB replacement (TLB replacement) is always performed.
LB entry replacement) has occurred, and the T to be replaced
The original contents of the LB entry were being evicted. However, depending on the contents of the TLB entry to be replaced,
For example, if address conversion information for devices that need to access continuous areas at high speed, such as peripheral devices such as disk devices, is stored in the replacement TLB entry, the entry contents will be changed unconditionally as before. If this type of device is replaced, there is a problem in that performance deteriorates due to a TLB miss that occurs when accessing this type of device.

【0009】この発明は上記事情に鑑みてなされたもの
でその目的は、TLB置換の発生に制限を加えることで
、性能上、TLBに常駐させておきたいTLBエントリ
内容については、不要なTLB置換の発生を抑えてヒッ
ト率を高め、性能向上を図ることができるTLB置換方
式を提供することにある。
[0009] This invention was made in view of the above circumstances, and its purpose is to limit the occurrence of TLB replacement, and to avoid unnecessary TLB replacement for TLB entry contents that should be kept resident in the TLB in terms of performance. An object of the present invention is to provide a TLB replacement method that can suppress the occurrence of errors, increase the hit rate, and improve performance.

【0010】0010

【課題を解決するための手段】この発明は、TLBの各
エントリ中に該当エントリの置換禁止を指定するための
置換禁止フラグを設定すると共に、仮想アドレスと物理
アドレスとの対を含むアドレス変換情報を格納するため
のワークバッファ(ワークTLB)をTLBとは別に設
け、更に、TLBおよびワークバッファのいずれにもア
クセス対象仮想アドレスが存在しないミスヒット時には
、同仮想アドレスをアドレス変換テーブルを用いて物理
アドレスに変換するアドレス変換手段と、この仮想アド
レスと変換された物理アドレスとの対を含むアドレス変
換情報をワークバッファに格納し、TLBの置換対象エ
ントリ中の置換禁止フラグが置換禁止を示していない場
合に限り、同エントリに上記仮想アドレスと変換された
物理アドレスとの対を含むアドレス変換情報を格納する
TLB置換を行う手段とを備え、置換対象エントリ中の
置換禁止フラグが置換禁止を示している場合には、同エ
ントリの置換(入替え)が発生するのを禁止するように
したことを特徴とするものである。
[Means for Solving the Problems] The present invention sets a substitution prohibition flag in each entry of a TLB to designate substitution prohibition of the corresponding entry, and also provides address translation information including a pair of a virtual address and a physical address. A work buffer (work TLB) for storing the data is provided separately from the TLB, and in the event of a miss when the virtual address to be accessed does not exist in either the TLB or the work buffer, the virtual address is transferred to the physical address using an address translation table. Address conversion means that converts into an address and address conversion information including a pair of this virtual address and the converted physical address are stored in a work buffer, and the replacement prohibition flag in the replacement target entry of the TLB does not indicate replacement prohibition. Only in cases where the entry is provided with means for performing TLB replacement that stores address translation information including a pair of the virtual address and the translated physical address in the same entry, and the replacement prohibition flag in the replacement target entry indicates that replacement is prohibited. This feature is characterized in that, if there is a change in the entry, replacement of the same entry is prohibited from occurring.

【0011】[0011]

【作用】上記の構成によれば、CPU等から仮想アドレ
スによるアクセス要求があると、その仮想アドレスによ
ってTLBおよびワークバッファが検索され、少なくと
もいずれかにヒットした場合には、その仮想アドレスと
対をなして記憶されていた物理アドレスが利用できるた
め、要求されたアクセスが高速に行われる。
[Operation] According to the above configuration, when there is an access request from the CPU or the like using a virtual address, the TLB and work buffer are searched using that virtual address, and if at least one of them is hit, the virtual address and the pair are searched. Since the physical address that was previously stored can be used, the requested access can be performed at high speed.

【0012】これに対して、TLBおよびワークバッフ
ァのいずれにもヒットしなかった場合には、主メモリ上
のアドレス変換テーブルを用いた周知のアドレス変換(
いわゆるテーブルウォーク)が行われ、アクセス対象仮
想アドレスに対応する物理アドレスが得られる。この仮
想アドレスと物理アドレスとの対は、まずワークバッフ
ァに格納される。
On the other hand, if there is no hit in either the TLB or the work buffer, the well-known address conversion (
A so-called table walk) is performed to obtain a physical address corresponding to the virtual address to be accessed. This pair of virtual address and physical address is first stored in a work buffer.

【0013】このとき、TLB内の置換対象エントリの
置換禁止フラグの状態がチェックされる。もし、この置
換禁止フラグが置換禁止を示していないならば、ワーク
バッファに格納したアドレス対を含むアドレス変換情報
を、置換対象エントリに格納するTLB置換(入替え)
を行う。一方、置換対象エントリの置換禁止フラグが置
換禁止を示しているならば、置換対象エントリの入替え
を禁止する。
At this time, the state of the replacement prohibition flag of the replacement target entry in the TLB is checked. If this replacement prohibition flag does not indicate that replacement is prohibited, TLB replacement (replacement) in which address translation information including the address pair stored in the work buffer is stored in the replacement target entry.
I do. On the other hand, if the replacement prohibition flag of the replacement target entry indicates that replacement is prohibited, replacement of the replacement target entry is prohibited.

【0014】このように、置換対象エントリの置換禁止
フラグが置換禁止を示している場合には、置換対象エン
トリの入替えは行われず、置換対象エントリの内容が追
出されることが防止できる。したがって、このエントリ
に格納されているアドレス変換情報中の仮想アドレスに
よるアクセス要求があった場合には、直ちに物理アドレ
スが得られ、高速アクセスが可能となる。
[0014] In this manner, when the replacement prohibition flag of the replacement target entry indicates that replacement is prohibited, the replacement target entry is not replaced, and the contents of the replacement target entry can be prevented from being deleted. Therefore, when there is an access request based on the virtual address in the address translation information stored in this entry, the physical address can be obtained immediately, making high-speed access possible.

【0015】また、置換対象エントリの入替えは行われ
なくても、テーブルウォークによって得られた物理アド
レスとアクセス対象仮想アドレスとの対はワークバッフ
ァには格納されるため、これがワークバッファから追出
されない限りは、再びこの仮想アドレスによるアクセス
が要求された場合には、高速アドレス変換が可能となる
[0015] Furthermore, even if the entry to be replaced is not replaced, the pair of the physical address and the virtual address to be accessed obtained by the table walk is stored in the work buffer, so it is not evicted from the work buffer. However, if access using this virtual address is requested again, high-speed address translation will be possible.

【0016】[0016]

【実施例】図1はこの発明を適用する仮想記憶制御方式
の情報処理システムの一実施例を示すブロック構成図で
ある。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing an embodiment of an information processing system using a virtual storage control method to which the present invention is applied.

【0017】図1において、1はシステムの中枢をなす
CPU、2は各種プログラム、データ等が格納される主
メモリである。主メモリ2には、仮想アドレス(仮想ペ
ージアドレス)を物理アドレス(物理ページアドレス)
に変換するためのセグメントテーブル、ページテーブル
等からなる周知のアドレス変換テーブル21が置かれる
。3a,3b…はディスク装置、表示装置等の周辺機器
、4は仮想アドレスによるキャッシングが可能なキャッ
シュメモリである。
In FIG. 1, 1 is a CPU that forms the core of the system, and 2 is a main memory in which various programs, data, etc. are stored. Main memory 2 has a virtual address (virtual page address) and a physical address (physical page address).
A well-known address conversion table 21 consisting of a segment table, a page table, etc. for conversion to . 3a, 3b, . . . are peripheral devices such as disk devices and display devices, and 4 is a cache memory capable of caching using virtual addresses.

【0018】5はCPU1等からの仮想アドレスによる
アクセス要求を受けて主メモリ2や周辺機器3a,3b
…に対するアクセスを管理するMMU(メモリ管理ユニ
ット)である。
[0018] 5 receives an access request from the CPU 1 etc. using a virtual address and accesses the main memory 2 and peripheral devices 3a, 3b.
It is an MMU (memory management unit) that manages access to...

【0019】MMU5には、仮想アドレス(中の仮想ペ
ージアドレス)および同アドレスに対応する物理アドレ
ス(物理ページアドレス)との対を含むアドレス変換情
報を格納するための複数のエントリを持つ、例えばフル
アソシアティブ方式のTLB51が設けられる。
The MMU 5 has a plurality of entries for storing address translation information including pairs of virtual addresses (virtual page addresses therein) and physical addresses (physical page addresses) corresponding to the same address. An associative TLB 51 is provided.

【0020】TLB51の各エントリには、該当エント
リの内容が有効であることを示す有効ビットV(V=1
で真)の他、該当エントリの置換(入替え)を禁止する
ことを指定するための置換禁止フラグF(F=1で真)
が設定される。また、TLB51の各エントリには、例
えばLRU方式による置換制御を適用するために、その
エントリがどの程度最近にアクセスされたかを示すLR
U値が設定される。このLRU値は、該当エントリにヒ
ットした場合に例えばクリアされ、ヒットしなかった場
合には例えば+1されるようになっている。
Each entry in the TLB 51 has a valid bit V (V=1) indicating that the contents of the corresponding entry are valid.
In addition to the substitution prohibition flag F (true when F = 1) to specify that replacement (replacement) of the corresponding entry is prohibited (true when F = 1)
is set. In addition, each entry in the TLB 51 is provided with an LR indicating how recently the entry has been accessed, in order to apply replacement control using the LRU method, for example.
The U value is set. This LRU value is, for example, cleared when a corresponding entry is hit, and is incremented by, for example, +1 when there is no hit.

【0021】MMU5には更に、仮想アドレス(中の仮
想ページアドレス)および同アドレスに対応する物理ア
ドレス(物理ページアドレス)との対を含むアドレス変
換情報(TLB51内のアドレス変換情報と同一形式と
は限らない)を複数(例えば2つ)格納するためのワー
クバッファ(以下、ワークTLBと称する)52が設け
られる。ワークTLB52の各エントリには、該当エン
トリの内容が有効であることを示す有効ビットV(V=
1で真)が設定される。ワークTLB52は例えばリン
グバッファ構造をとり、格納先エントリが循環して用い
られるものとする。
The MMU 5 further contains address translation information (which has the same format as the address translation information in the TLB 51), which includes a pair of a virtual address (virtual page address therein) and a physical address (physical page address) corresponding to the same address. A work buffer (hereinafter referred to as work TLB) 52 is provided for storing a plurality (for example, two) of TLBs (without limitation). Each entry in the work TLB 52 has a valid bit V (V=
1 = true) is set. It is assumed that the work TLB 52 has a ring buffer structure, for example, and the storage destination entries are used in a circular manner.

【0022】次に、図1のシステムの動作を、CPU1
から仮想アドレスによるアクセス要求があった場合を例
に、図2のフローチャートを参照して説明する。まずM
MU5は、CPU1から仮想アドレスによるアクセス要
求があると、その仮想アドレス中の仮想ページアドレス
を物理ページアドレスに変換するために、その変換対象
仮想ページアドレスでTLB51,ワークTLB52を
検索する(ステップS1)。
Next, the operation of the system shown in FIG.
A case will be described with reference to the flowchart of FIG. 2, taking as an example a case where there is an access request from a virtual address. First M
When the MU5 receives an access request from the CPU 1 using a virtual address, the MU5 searches the TLB 51 and the work TLB 52 with the virtual page address to be converted in order to convert the virtual page address in the virtual address to a physical page address (step S1). .

【0023】もし、TLB51またはワークTLB52
に変換対象仮想ページアドレスが記憶されているならば
、即ちTLB51またはワークTLB52にヒットした
ならば、MMU5は変換対象仮想ページアドレスと対を
なして記憶されている物理ページアドレスを即座に得、
その物理ページアドレス(と変換対象仮想アドレス中の
ページ内オフセットからなる物理アドレス)を用いて、
要求されたアクセスを実行する(ステップS2,S3)
[0023] If TLB51 or work TLB52
If the conversion target virtual page address is stored in , that is, if the TLB 51 or work TLB 52 is hit, the MMU 5 immediately obtains the physical page address stored in a pair with the conversion target virtual page address,
Using that physical page address (and the physical address consisting of the offset within the page in the virtual address to be translated),
Execute the requested access (steps S2, S3)
.

【0024】これに対し、TLB51およびワークTL
B52のいずれにも変換対象仮想ページアドレスが記憶
されていないならば、即ちTLB51およびワークTL
B52のいずれにもミスヒットしたならば、まずMMU
5はその仮想ページアドレスをワークTLB52に記憶
する(ステップS4)。そしてMMU5は、主メモリ2
上のアドレス変換テーブル21を利用してテーブルウォ
ークを行い、変換対象仮想ページアドレスを物理ページ
アドレスに変換する(ステップS5)。
On the other hand, TLB51 and work TL
If the conversion target virtual page address is not stored in any of the TLB51 and the work TL
If you miss hit any of the B52, first MMU
5 stores the virtual page address in the work TLB 52 (step S4). And MMU5 is main memory 2
A table walk is performed using the above address translation table 21 to convert the virtual page address to be translated into a physical page address (step S5).

【0025】MMU5は、テーブルウォークにより物理
ページアドレスを得ると、その物理ページアドレスを、
ステップS4で変換対象仮想ページアドレスを記憶した
ワークTLB52内エントリに、同仮想ページアドレス
と対をなすように記憶し、同エントリ中の有効ビットV
を“1”にセットする(ステップS6)。なお、ステッ
プS4を省略し、ステップS6で仮想ページアドレスと
物理ページアドレスとの対をワークTLB52に記憶す
るようにしてもよい。
[0025] When the MMU 5 obtains the physical page address by the table walk, the MMU 5 converts the physical page address into
The virtual page address to be converted is stored in the entry in the work TLB 52 in which it is stored in step S4 so as to form a pair with the virtual page address, and the valid bit V in the entry is stored as a pair with the virtual page address.
is set to "1" (step S6). Note that step S4 may be omitted and the pair of virtual page address and physical page address may be stored in the work TLB 52 in step S6.

【0026】次にMMU5は、TLB51を調べてLR
U値の最も大きいエントリを置換対象エントリとして探
し、その置換対象エントリの置換禁止フラグFの状態を
チェックする(ステップS7)。
Next, the MMU 5 checks the TLB 51 and determines the LR
The entry with the largest U value is searched as the replacement target entry, and the state of the replacement prohibition flag F of the replacement target entry is checked (step S7).

【0027】もし、TLB51内の置換対象エントリの
置換禁止フラグFが“0”であった場合、即ち対象エン
トリが置換禁止指定エントリでなかった場合には、MM
U5は、ワークTLB52内エントリに記憶した仮想ペ
ージアドレスと物理ページアドレスとの対をその置換対
象エントリに移し、元のワークTLB52内エントリの
有効ビットVを“0”に戻す(ステップS8)。このと
きMMU5は、TLB51内の置換対象エントリの有効
ビットVを“1”にセットすると共にLRU値をクリア
し、更に置換禁止フラグFを“0”または“1”にセッ
トする。この置換禁止フラグFを“0”または“1”の
いずれとするかは、CPU1からの仮想アドレスによる
アクセス要求中で指定されるようになっている。
If the replacement prohibition flag F of the replacement target entry in the TLB 51 is "0", that is, if the target entry is not a replacement designated entry, the MM
U5 moves the pair of virtual page address and physical page address stored in the entry in the work TLB 52 to the entry to be replaced, and returns the valid bit V of the original entry in the work TLB 52 to "0" (step S8). At this time, the MMU 5 sets the valid bit V of the replacement target entry in the TLB 51 to "1", clears the LRU value, and further sets the replacement prohibition flag F to "0" or "1". Whether this replacement prohibition flag F is set to "0" or "1" is specified in the virtual address access request from the CPU 1.

【0028】MMU5はステップS8を実行すると、T
LB51に記憶した物理ページアドレス(と変換対象仮
想アドレス中のページ内オフセットからなる物理アドレ
ス)を用いて、要求されたアクセスを実行する(ステッ
プS3)。
When the MMU 5 executes step S8, T
The requested access is executed using the physical page address (and the physical address consisting of the intra-page offset in the virtual address to be converted) stored in the LB 51 (step S3).

【0029】一方、TLB51内の置換対象エントリの
置換禁止フラグFが“1”であった場合、即ち対象エン
トリが置換禁止指定エントリであった場合には、MMU
5はまず、CPU1からのアクセス要求により置換禁止
が指定されているか否かをチェックする(ステップS9
)。
On the other hand, if the replacement prohibition flag F of the replacement target entry in the TLB 51 is "1", that is, if the target entry is a replacement designated entry, the MMU
5 first checks whether substitution prohibition is specified by the access request from the CPU 1 (step S9).
).

【0030】もし、CPU1からのアクセス要求により
置換禁止が指定されているならば、MMU5は、テーブ
ルウォークにより得られた物理ページアドレス(を含む
アドレス変換情報)をTLB51に常駐させる必要があ
るもの判断してTLB51を調べ、置換禁止フラグFが
“0”のエントリ(置換禁止が指定されていないエント
リ)の中でLRU値の最も大きいエントリを置換対象エ
ントリとして探す(ステップS10)。
[0030] If replacement prohibition is specified by the access request from the CPU 1, the MMU 5 determines whether it is necessary to make the physical page address (including address translation information) obtained by table walk resident in the TLB 51. Then, the TLB 51 is checked, and the entry with the largest LRU value among the entries whose replacement prohibition flag F is "0" (entries for which replacement prohibition is not specified) is searched as a replacement target entry (step S10).

【0031】そしてMMU5は、ワークTLB52内エ
ントリに記憶した仮想ページアドレスと物理ページアド
レスとの対を、ステップS10で探した置換対象エント
リに移し、元のワークTLB52内エントリの有効ビッ
トVを“0”に戻す(ステップS11)。このときMM
U5は、TLB51内の置換対象エントリの有効ビット
Vおよび置換禁止フラグFをいずれも“1”にセットす
ると共にLRU値をクリアする。
Then, the MMU 5 moves the pair of virtual page address and physical page address stored in the entry in the work TLB 52 to the replacement target entry found in step S10, and sets the valid bit V of the original entry in the work TLB 52 to "0". ” (step S11). At this time MM
U5 sets both the valid bit V and the replacement prohibition flag F of the replacement target entry in the TLB 51 to "1" and clears the LRU value.

【0032】これに対して、CPU1からのアクセス要
求で置換禁止が指定されていないならば、MMU5はテ
ーブルウォークにより得られた物理ページアドレス(を
含むアドレス変換情報)をTLB51に常駐させる必要
がないものと判断する。この場合、MMU5はTLB5
1へのアドレス(アドレス変換情報)設定動作を行わず
、ワークTLB52に記憶した物理ページアドレスを用
いて要求されたアクセスを実行する(ステップS3)。
On the other hand, if prohibition of replacement is not specified in the access request from the CPU 1, the MMU 5 does not need to make the physical page address (including address translation information) obtained by table walk resident in the TLB 51. judge it as something. In this case, MMU5 is TLB5
1, and executes the requested access using the physical page address stored in the work TLB 52 (step S3).

【0033】さて、以上のMMU5の動作の後、CPU
1から次のアクセス要求が出されたものとする。もし、
このアクセス要求に伴う仮想アドレス中の仮想ページア
ドレスと同一のページアドレスがワークTLB52に記
憶されているならば、即ちワークTLB52にヒットし
たならば、MMU5は、その仮想ページアドレスと対を
なしてワークTLB52に記憶されている物理ページア
ドレスを即座に得、アクセス要求を実行することができ
る。
Now, after the above operation of MMU5, CPU
It is assumed that the following access request is issued from 1 to 1. if,
If the same page address as the virtual page address in the virtual address associated with this access request is stored in the work TLB 52, that is, if the work TLB 52 is hit, the MMU 5 performs the work in a pair with the virtual page address. The physical page address stored in the TLB 52 can be immediately obtained and the access request can be executed.

【0034】これに対し、ワークTLB52およびTL
B51のいずれにもミスヒットしたならば、先に述べた
ようにまずワークTLB52を書替えるためにテーブル
ウォークが必要となる。しかし、CPU1からのアクセ
ス要求により置換禁止が指定されているならば(即ちア
ドレス変換情報をTLB51に常駐させておく必要のあ
るアクセス要求であれば)、TLB51内エントリへの
アドレス変換情報登録が行われ、しかも同エントリは置
換禁止フラグFにより置換禁止指定されるために、例え
ばTLB51の全エントリを全て無効にするといった特
別の処理が行われない限り、そのアドレス変換情報はT
LB51から追出されず、この種のアクセス要求に対し
てTLB51にヒットする確率が高くなる。
On the other hand, work TLB52 and TL
If there is a mishit in any of the B51s, a table walk is required to rewrite the work TLB52 as described above. However, if the access request from the CPU 1 specifies that substitution is prohibited (that is, if the access request requires address translation information to remain resident in the TLB 51), the address translation information is not registered in the entry in the TLB 51. Moreover, since the same entry is designated as prohibited from being replaced by the replacement prohibition flag F, unless special processing is performed, such as invalidating all entries in TLB 51, the address translation information will not be replaced by TLB51.
The probability that the access request will not be evicted from the LB 51 and will hit the TLB 51 for this type of access request increases.

【0035】以上のMMU5の動作は、CPU1からの
仮想アドレスがキャッシュメモリ4にミスヒットした場
合、即ちその仮想アドレスで指定されるキャッシュブロ
ックデータがキャッシュメモリ4に存在しない場合に行
われるものである。もし、キャッシュメモリ4にヒット
した場合には、キャッシュメモリ4を対象に要求された
アクセスが実行される。
The above operation of the MMU 5 is performed when the virtual address from the CPU 1 misses the cache memory 4, that is, when the cache block data specified by the virtual address does not exist in the cache memory 4. . If the cache memory 4 is hit, the requested access to the cache memory 4 is executed.

【0036】なお、前記実施例では、ワークTLB(ワ
ークバッファ)52のエントリ数が複数であるものとし
て説明したが、1つであっても構わない。また、キャッ
シュメモリ4は必ずしも必要でない。
In the above embodiment, the work TLB (work buffer) 52 has been described as having a plurality of entries, but the number of entries may be one. Furthermore, the cache memory 4 is not necessarily required.

【0037】また、前記実施例では、TLB51内エン
トリにアドレス変換情報を記憶する場合に同エントリを
置換禁止とするか否か(即ち同エントリ中の置換禁止フ
ラグFを“1”にセットするか否か)を、CPU1から
のアクセス要求により指定するものとして説明したが、
仮想アドレス(仮想ページアドレス)毎に置換禁止とす
るか否かを指定する(CPU1によって書替え可能な)
テーブルを用いるようにしてもよい。このテーブルは、
例えばMMU5内に置くことが好ましい。
In the above embodiment, when address translation information is stored in an entry in the TLB 51, it is determined whether or not to prohibit substitution of the entry (that is, whether to set the substitution prohibition flag F in the entry to "1"). Although the description has been made assuming that the access request (whether or not) is specified by the access request from the CPU 1,
Specify whether or not to prohibit replacement for each virtual address (virtual page address) (can be rewritten by CPU1)
A table may also be used. This table is
For example, it is preferable to place it in the MMU5.

【0038】更に、前記実施例では、フルアソシアティ
ブ方式のTLB51に適用した場合について説明したが
、本発明は、例えばセットアソシアティブ方式のTLB
にも適用可能である。
Further, in the above embodiment, the case where the application is applied to the fully associative type TLB 51 has been described, but the present invention is applicable to the TLB 51 of the set associative type, for example.
It is also applicable to

【0039】[0039]

【発明の効果】以上詳述したようにこの発明によれば、
TLBエントリ中に置換禁止を指定するための置換禁止
フラグを設けてTLB置換の発生に制限を加えると共に
、この制限によりTLBに記憶できないアドレス変換情
報についてはワークバッファに一時的に記憶させる構成
とすることにより、性能上、TLBに常駐させておきた
いTLBエントリ内容については、不要なTLB置換の
発生を抑えてヒット率を高め、性能向上を図ることがで
きる。
[Effects of the Invention] As detailed above, according to the present invention,
A replacement prohibition flag is provided in the TLB entry to specify prohibition of replacement to restrict the occurrence of TLB replacement, and address translation information that cannot be stored in the TLB due to this restriction is temporarily stored in the work buffer. As a result, for TLB entry contents that should be kept resident in the TLB in terms of performance, it is possible to suppress the occurrence of unnecessary TLB replacement, increase the hit rate, and improve performance.

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

【図1】この発明を適用する仮想記憶制御方式の情報処
理システムの一実施例を示すブロック構成図。
FIG. 1 is a block diagram showing an embodiment of an information processing system using a virtual storage control method to which the present invention is applied.

【図2】同実施例の動作を説明するためのフローチャー
ト。
FIG. 2 is a flowchart for explaining the operation of the embodiment.

【符号の説明】[Explanation of symbols]

1…CPU、2…主メモリ、3a,3b…周辺機器、4
…キャッシュメモリ、5…MMU(メモリ管理ユニット
)、21…アドレス変換テーブル、51…TLB(アド
レス変換バッファ)、52…ワークTLB(ワークバッ
ファ)。
1...CPU, 2...Main memory, 3a, 3b...Peripheral equipment, 4
...cache memory, 5...MMU (memory management unit), 21...address translation table, 51...TLB (address translation buffer), 52...work TLB (work buffer).

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  仮想アドレスおよび同アドレスに対応
する物理アドレスとの対を含むアドレス変換情報を格納
するための複数のエントリを持つTLB(アドレス変換
バッファ)を備えた仮想記憶制御方式の情報処理システ
ムにおいて、上記TLBの各エントリに設けられ、その
エントリの置換禁止を指定するための置換禁止フラグと
、仮想アドレスと物理アドレスとの対を含むアドレス変
換情報を格納するためのワークバッファと、仮想アドレ
スを物理アドレスに変換する必要がある場合に同仮想ア
ドレスにより上記TLBおよびワークバッファを検索し
、同仮想アドレスが上記TLBおよびワークバッファの
いずれにも存在しない場合には、同仮想アドレスをアド
レス変換テーブルを用いて物理アドレスに変換するアド
レス変換手段と、このアドレス変換手段によって変換さ
れた物理アドレスとその仮想アドレスとの対を含むアド
レス変換情報を上記ワークバッファに格納すると共に、
上記TLBの置換対象エントリ中の上記置換禁止フラグ
が置換禁止を示していない場合に限り、同エントリに、
上記変換された物理アドレスとその仮想アドレスとの対
を含むアドレス変換情報を格納する手段と、を具備し、
上記TLBの置換対象エントリ中の上記置換禁止フラグ
が置換禁止を示している場合には、この置換対象エント
リが置換されるのを禁止するようにしたことを特徴とす
るTLB置換方式。
1. An information processing system using a virtual memory control method, comprising a TLB (address translation buffer) having a plurality of entries for storing address translation information including pairs of virtual addresses and physical addresses corresponding to the virtual addresses. , a substitution prohibition flag provided in each entry of the TLB to specify substitution prohibition for that entry, a work buffer for storing address translation information including a pair of a virtual address and a physical address, and a virtual address. When it is necessary to convert the above virtual address to a physical address, the above TLB and work buffer are searched using the same virtual address, and if the same virtual address does not exist in either the above TLB and the work buffer, the same virtual address is searched in the address translation table. address translation means for converting into a physical address using the address translation means, and address translation information including a pair of the physical address translated by the address translation means and its virtual address in the work buffer;
Only if the above-mentioned replacement prohibition flag in the replacement target entry of the above-mentioned TLB does not indicate that replacement is prohibited,
means for storing address translation information including a pair of the translated physical address and its virtual address,
A TLB replacement method characterized in that, when the replacement prohibition flag in the replacement target entry of the TLB indicates that replacement is prohibited, the replacement target entry is prohibited from being replaced.
JP3111962A 1991-05-16 1991-05-16 Tlb substitution system Pending JPH04338848A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3111962A JPH04338848A (en) 1991-05-16 1991-05-16 Tlb substitution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3111962A JPH04338848A (en) 1991-05-16 1991-05-16 Tlb substitution system

Publications (1)

Publication Number Publication Date
JPH04338848A true JPH04338848A (en) 1992-11-26

Family

ID=14574510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3111962A Pending JPH04338848A (en) 1991-05-16 1991-05-16 Tlb substitution system

Country Status (1)

Country Link
JP (1) JPH04338848A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275917B1 (en) 1998-08-12 2001-08-14 Fujitsu Limited High-speed address translation system
US7231506B2 (en) 2003-04-30 2007-06-12 Fujitsu Limited Microprocessor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275917B1 (en) 1998-08-12 2001-08-14 Fujitsu Limited High-speed address translation system
US7231506B2 (en) 2003-04-30 2007-06-12 Fujitsu Limited Microprocessor

Similar Documents

Publication Publication Date Title
US6490671B1 (en) System for efficiently maintaining translation lockaside buffer consistency in a multi-threaded, multi-processor virtual memory system
US6145064A (en) Method of efficiently updating hashed page tables
US6105113A (en) System and method for maintaining translation look-aside buffer (TLB) consistency
EP0817059B1 (en) Auxiliary translation lookaside buffer for assisting in accessing data in remote address spaces
EP3433747B1 (en) Adaptive extension of leases for entries in a translation lookaside buffer
KR102448124B1 (en) Cache accessed using virtual addresses
US9405702B2 (en) Caching TLB translations using a unified page table walker cache
US6928529B2 (en) Data transfer between virtual addresses
TWI646421B (en) Translation lookaside buffer invalidation suppression
US10078588B2 (en) Using leases for entries in a translation lookaside buffer
EP3497577B1 (en) Updating least-recently-used data for greater persistence of higher-generality cache entries
US6073226A (en) System and method for minimizing page tables in virtual memory systems
US20030009640A1 (en) Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control
US9697137B2 (en) Filtering translation lookaside buffer invalidations
JP2020529656A (en) Address translation cache
US9110825B2 (en) Uncached static short address translation table in the cache coherent computer system
US20160140042A1 (en) Instruction cache translation management
JPH04232551A (en) Method and apparatus for converting multiple virtaul addresses
US11803482B2 (en) Process dedicated in-memory translation lookaside buffers (TLBs) (mTLBs) for augmenting memory management unit (MMU) TLB for translating virtual addresses (VAs) to physical addresses (PAs) in a processor-based system
US6553477B1 (en) Microprocessor and address translation method for microprocessor
US8015361B2 (en) Memory-centric page table walker
EP0212129B1 (en) Method of updating information in a translation lookaside buffer
JPH04338848A (en) Tlb substitution system
JPH06124237A (en) Address translation buffer device
AU708232B2 (en) A method of efficiently updating hashed page tables