JPH0235543A - Page table entry invalidating device - Google Patents

Page table entry invalidating device

Info

Publication number
JPH0235543A
JPH0235543A JP63186095A JP18609588A JPH0235543A JP H0235543 A JPH0235543 A JP H0235543A JP 63186095 A JP63186095 A JP 63186095A JP 18609588 A JP18609588 A JP 18609588A JP H0235543 A JPH0235543 A JP H0235543A
Authority
JP
Japan
Prior art keywords
address
register
page
instruction
translation buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63186095A
Other languages
Japanese (ja)
Other versions
JP2507785B2 (en
Inventor
Tetsuya Morioka
哲哉 森岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63186095A priority Critical patent/JP2507785B2/en
Publication of JPH0235543A publication Critical patent/JPH0235543A/en
Application granted granted Critical
Publication of JP2507785B2 publication Critical patent/JP2507785B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To evade unnecessary partial deletion and to shorten a retrieval time by sending the real address of an object page and a page index indicated with an instruction to the CPU of this system and other CPUs and invalidating an entry in an address conversion buffer wherein an object actual address is coincident by each CPU. CONSTITUTION:An address to be deleted partially and a page index part PX are set in registers 5 and 7 and a partial deletion request is sent to all CPUs through an MCU. Each CPU receives the address by a register 6 and the page index part PX by a register 8. Then the contents of the register 6 holding the actual address to be deleted are compared by a comparing circuit 12 with the contents of the register 4 holding the read result of the address conversion buffer TLB and only when there is a coincident entry, its significant bit is set to 0, thus performing the partial deletion. Address generation for this retrieval is performed by a control circuit 9.

Description

【発明の詳細な説明】 [概要] 仮想アドレスの特定のページを無効化するためのページ
テーブルエントリ無効化に関し、不必要な部分削除を回
避すると共に検索に必要な時間を短縮することを目的と
し、 対象となるページの実アドレスと命令で指示されたペー
ジインデックスを自CPUおよび他CPU1.:送り、
次に各CPIJにおいてはページインデックスを基に部
分的にアドレス変換バッファを検索し、対象となる実ア
ドレスと一致したアドレス変換バッファのエントリを無
効化するような構成とする。
[Detailed Description of the Invention] [Summary] This invention aims to avoid unnecessary partial deletion and shorten the time required for searching regarding page table entry invalidation for invalidating a specific page of a virtual address. , sends the actual address of the target page and the page index specified by the instruction to the local CPU and other CPUs 1. : send,
Next, each CPIJ is configured to partially search the address translation buffer based on the page index and invalidate the entry in the address translation buffer that matches the target real address.

[産業上の利用分野] 本発明は、仮想計算機システムにおける仮想アドレスの
特定のページを無効化するためのページテーブルエント
リ無効化(■p T E ; l nvalidate
 Page Table  [:ntry)命令を実行
する装置に関し、特にこのページテーブルエントリ無効
化の実行に伴うアドレス変換バッファ(TLB)の部分
削除に関する。
[Industrial Application Field] The present invention relates to page table entry invalidation (■pTE; lnvalidate) for invalidating a specific page of a virtual address in a virtual computer system.
The present invention relates to a device that executes a Page Table [:ntry) instruction, and particularly relates to partial deletion of an address translation buffer (TLB) accompanying the execution of page table entry invalidation.

記憶装置の容量に制限されることなくプログラミングを
可能とするために、また記憶装置上に複数のプログラム
を置いて交互に実行させる多重プログラミングを可能と
するために、今日広く仮想計算機システムが採用されて
いる。このようなシ27ムでは・仮想アドレス空間を単
位(ページと呼ぶ)に分割し、仮想アドレスの各ページ
をアドレス変換テーブルに従って実アドレスに変換する
ことにより、記憶装置上に任意に割り当てるようにして
いる。
Today, virtual computer systems are widely adopted to enable programming without being limited by the capacity of storage devices, and to enable multiple programming in which multiple programs are placed on a storage device and executed alternately. ing. In such a system, the virtual address space is divided into units (called pages), and each page of virtual addresses is converted to a real address according to an address conversion table, so that it can be allocated arbitrarily on the storage device. There is.

前記アドレス変換テーブルは、オペレーティングシステ
ム<O8)の管理下にあるが、記憶装置上に仮想アドレ
スのページを置くことができなくなったときには、O8
はこの領域を補助記憶装置にO−ドすると共にアドレス
変換テーブルを書き替え、また以前のアドレス変換テー
ブルに従い作成された仮想アドレスと実アドレスの対応
関係の一部を保持するアドレス変換バッファ(TLB)
のエントリの削除を行う必要がある。例えばIBM計算
機システム370では、このアドレス変換テーブルの書
き替えおよびアドレス変換バッファ(TLB)の部分削
除を行うための命令が、IPTE命令として用意されて
いる。
The address translation table is under the control of the operating system (<O8), but when it becomes impossible to place a page of virtual addresses on the storage device, the O8
loads this area into auxiliary storage, rewrites the address translation table, and creates an address translation buffer (TLB) that holds part of the correspondence between virtual addresses and real addresses created according to the previous address translation table.
It is necessary to delete the entry. For example, in the IBM computer system 370, instructions for rewriting the address translation table and partially deleting the address translation buffer (TLB) are prepared as IPTE instructions.

[従来の技術] IBM計算機システム370における仮想アドレスから
実アドレスへの変換の過程は次のようになっている。第
6図に示すように、仮想アドレスは、同図(a)に示す
ようにコントロールレジスタ0 (CROという)の値
によりセグメントサイズとページサイズが決まる。なお
、仮想アドレスは、セグメントインデックス部<SX>
 、ページインデックス部(PX)、バイトインデック
ス部(BX)を有している(同図(b))。
[Prior Art] The process of converting a virtual address to a real address in the IBM computer system 370 is as follows. As shown in FIG. 6, the segment size and page size of the virtual address are determined by the value of control register 0 (referred to as CRO) as shown in FIG. 6(a). Note that the virtual address is the segment index section <SX>
, a page index section (PX), and a byte index section (BX) ((b) in the same figure).

コントロールレジスタCR1(同図(C))内のセグメ
ントテーブルオリジン(STO)と前記SXから、同図
(d)に示すセグメントテーブルエントリ(STE)の
アドレスが求められ、STE内のページテーブルオリジ
ン(PTO)と前記PXから同図(e)に示すページテ
ーブルエントリ(PTE)アドレスが求められ、このペ
ージテーブルエントリ無効化内のページフレームリアル
アドレス(PFRA)と前記BXから、実アドレスが求
められる。
The address of the segment table entry (STE) shown in (d) of the same figure is obtained from the segment table origin (STO) in the control register CR1 ((C) of the same figure) and the above-mentioned SX, and the page table origin (PTO) in the STE is found. ) and the PX, the page table entry (PTE) address shown in FIG.

rPTE命令では、そのオペランドに、アドレス変換過
程で用いられるPTOとPXが与えられ、これらを基に
してP’T Eのアドレスを求め、PTE内のページ無
効ビットを1にすると共に、下記の(1)ないしく4)
のすべてを使って生成されたアドレス変換バッファ(T
LB)のエントリを、すべての中央演算処理袋! (C
PU)から削除する。(1)IPTE命令を発行したC
PUのCROで示されるセグメントとページサイズ(2
>IPTE命令のオペランドで指定されたPTO (3)IPTE命令のオペランドで指定されたPX (4)IP丁E命令のオペランドから求められたPTE
内のPFRA 従来の方式では、オペランドから求められたPTEのア
ドレスからPTEの内容を読み出し、ページ無効ビット
を1に書き替えた上で、これをPTEのアドレスにスト
アし、またPTE内のPFRAを部分削除すべきTLB
の実アドレスとして部分削除指示を自CPUおよび他C
PUに送る。
In the rPTE instruction, PTO and PX used in the address conversion process are given as operands, and based on these, the address of P'TE is determined, the page invalid bit in PTE is set to 1, and the following ( 1) or 4)
The address translation buffer (T
LB) entry for all central processing bags! (C
PU). (1) C that issued the IPTE instruction
Segment and page size indicated by CRO of PU (2
>PTO specified by the operand of the IPTE instruction (3) PX specified by the operand of the IPTE instruction (4) PTE determined from the operand of the IPTE instruction
In the conventional method, the contents of the PTE are read from the PTE address obtained from the operand, the page invalid bit is rewritten to 1, and this is stored in the PTE address. TLB to be partially deleted
The partial deletion instruction is sent to the local CPU and other CPUs as the real address of
Send to PU.

これにより各CPUではTLBのエントリを順次検索し
、指示された実アドレスと一致する実アドレス部を持つ
TLBのエントリがあった時は、このエントリの有効ビ
ットをオフにする。
As a result, each CPU sequentially searches TLB entries, and when a TLB entry having a real address part that matches the specified real address is found, the valid bit of this entry is turned off.

この丁LBの検索は、CPU内の命令フェッチやオペラ
ンドアクセスなどのパイプライン制御による動作とは独
立に行い得る。ただし、パイプライン制御によるアクセ
スのTLBフェッチ模の実アドレスと、TLBの部分削
除の対象となる実アドレスが一致した場合は、その実ア
ドレスは無効であるため、TLBの全エントリの検索が
終了するまでバイブラインの動作を停止させる必要があ
る。
This LB search can be performed independently of pipeline-controlled operations such as instruction fetch and operand access within the CPU. However, if the real address of the TLB fetch simulation for pipeline control access matches the real address targeted for partial deletion of the TLB, that real address is invalid, so until all entries in the TLB have been searched. It is necessary to stop the operation of the vibration line.

[発明が解決しようとする課題] しかしながら上記のような従来の方式では、ページフレ
ームリアルアドレスPFRAのみにより丁LBエントリ
の無効化を行っているため、必要以上のTLBエントリ
を削除することになり、TLBのヒツト率の低下が生じ
る。また、TLBの部分削除のために行うTLBの検索
は、全エントリについて行う必要があるため長時間を要
し、この間にパイプラインで必要とする実アドレスが部
分削除の対象と一致した場合にはバイブラインの動きが
停止しスルーブツトが下がるという問題がある。
[Problems to be Solved by the Invention] However, in the conventional method as described above, TLB entries are invalidated only by the page frame real address PFRA, which results in deletion of more TLB entries than necessary. A decrease in TLB hit rate occurs. In addition, the TLB search performed for partial TLB deletion requires a long time because it needs to be performed for all entries, and during this time, if the real address required by the pipeline matches the target of partial deletion, There is a problem in that the vibration line stops moving and the throughput drops.

更にまた、次々とTLBの部分削除の要求が生じたとき
は、その要求を保持しきれな(なるため、TLBの全削
除の必要が生じ、TLBのヒツト率が大きく下がるとい
う問題もある。
Furthermore, when requests for partial deletion of the TLB occur one after another, the requests cannot be held (thus, it becomes necessary to delete the entire TLB, which causes a problem that the hit rate of the TLB decreases significantly.

本発明の目的は、このような問題点を解決しようとする
もので、部分削除のためのTLBの検索の範囲を限定す
ることにより、不必要な部分削除を回避すると共に検索
に必要な時間を短縮することのできるページテーブルエ
ントリ無効化装置を提供することにある。
The purpose of the present invention is to solve these problems, and by limiting the scope of TLB searches for partial deletions, unnecessary partial deletions can be avoided and the time required for searches can be reduced. An object of the present invention is to provide a page table entry invalidation device that can be shortened.

[課題を解決するための手段1 第1図は本発明のページテーブルエントリ無効化装置の
原U説明図である。図中、1はページテーブルエントリ
(PTE)のアドレスを生成すると共に部分削除要求を
出力する命令制御ユニット(Iユニット)、3はセット
アソシアティブ方式の構成を持ち仮想アドレスの一部の
ビットでアドレスされるアドレス変換バッファ(TLB
>、2は実アドレスが入るアドレス変換バッファ3をア
クセスするためのアドレスを出力するアドレスレジスタ
、4はアドレス変換バッファ3の実アドレスを読み出し
保持するレジスタ、5はメモリ制御ユニットMCtJへ
のアクセスのためのアドレスを保持するレジスタ、6は
メモリ制御ユニットMCUからのアドレス変換バッフy
 (TLB)部分削除要求としてのアドレスを受け取り
保持するレジスタである。
[Means for Solving the Problems 1] FIG. 1 is an explanatory diagram of the original page table entry invalidation device of the present invention. In the figure, 1 is an instruction control unit (I unit) that generates a page table entry (PTE) address and outputs a partial deletion request, and 3 has a set-associative configuration and is addressed by some bits of a virtual address. address translation buffer (TLB)
>, 2 is an address register that outputs an address for accessing the address translation buffer 3 into which the real address is entered, 4 is a register that reads and holds the real address of the address translation buffer 3, and 5 is for accessing the memory control unit MCtJ. 6 is an address translation buffer y from the memory control unit MCU.
(TLB) This is a register that receives and holds an address as a partial deletion request.

7はIPTE命令実行時にページインデックス部(PX
)をメモリ制御ユニットMCUへ送出するための保持レ
ジスタ、8はメモリt111−ユニットMC(Jからの
アドレス変換バッファ部分削除要求としてのページイン
デックス部(PX)を受け取り保持するためのレジスタ
、9はページインデツクス部(PX)を基に部分削除に
必要なアドレスを生成しアドレスレジスタ2ヘセツトす
るための制御回路である。
7 is the page index section (PX
) to the memory control unit MCU; 8 is a register for receiving and holding the page index part (PX) as a request for partial deletion of the address translation buffer from the memory t111-unit MC (J; 9 is a register for holding the page This is a control circuit for generating an address necessary for partial deletion based on the index section (PX) and setting it in the address register 2.

10はIユニット1または制御回路9の出力を切り替え
選択する選択回路、11はアドレスレジスタ2またはレ
ジスタ4の出力を切り替え選択する選択回路、12はレ
ジスタ4とレジスタ6の出力の一致を検出する比較回路
である。
10 is a selection circuit that switches and selects the output of I unit 1 or control circuit 9; 11 is a selection circuit that switches and selects the output of address register 2 or register 4; and 12 is a comparison circuit that detects a match between the outputs of register 4 and register 6. It is a circuit.

〔作用〕[Effect]

本発明では、対象となるページの実アドレスと命令で指
示されたページインデックスを前記レジスタ(7)から
自CPIJt3よび他CPUに送り。
In the present invention, the real address of the target page and the page index specified by the instruction are sent from the register (7) to the own CPIJt3 and other CPUs.

次に各CPUにおいてはページインデックスを基に部分
的にアドレス変換バッファを検索し、対象となる実アド
レスと一致したアドレス変換バッファのエントリを無効
化する。
Next, each CPU partially searches the address translation buffer based on the page index, and invalidates the entry in the address translation buffer that matches the target real address.

I PTE命令では、まずページテーブルエントリPT
Eのページ無効ビットを1にする必要がある。そのため
、1PTE命令のオペランドであるPTOとPXが加算
されてPTEのアドレスが生成され、これが■ユニット
1より送出される。このアドレスで主記憶装置をフェッ
チし、PTE内のページ無効ビット位置を1に書き替え
てメモリ制御ユニットMCLII!由で主記憶装置にス
トアする。
In the I PTE instruction, first the page table entry PT
It is necessary to set the page invalid bit of E to 1. Therefore, PTO and PX, which are operands of the 1PTE instruction, are added to generate a PTE address, which is sent out from unit 1. Fetch the main memory at this address, rewrite the page invalid bit position in the PTE to 1, and memory control unit MCLII! Store it in main memory using

次に同一アドレスでアドレス変換バック7TLBの部分
削除要求がIユニット1から送出される。
Next, a partial deletion request for address translation back 7 TLB is sent from I unit 1 at the same address.

この時、上位の位置に付加されたPXをレジスタ7に一
時保持し、それと同時にページテーブルエントリPTE
をアクセスしてPFRAを求める。
At this time, the PX added to the upper position is temporarily held in register 7, and at the same time, the page table entry PTE is
Access to obtain PFRA.

これが部分削除すべきページのアドレスである。This is the address of the page to be partially deleted.

このアドレスをレジスタ5にセットし、MCU経由で全
CPUに部分削除要求を送る。各CPt1では部分削除
要求としてアドレスおよびPXを送出する。そのアドレ
スをレジスタ6で、またPXをレジスタ8で受ける。
This address is set in register 5 and a partial deletion request is sent to all CPUs via the MCU. Each CPt1 sends an address and PX as a partial deletion request. The address is received by register 6, and the PX is received by register 8.

ここで、TLBが512のセットからなり、仮想アドレ
スのビット11〜19の9ピツトでアドレスされるもの
とすると、ページサイズが4にバイトの時、TLBをア
クセスするためのアドレスのビット11はSXの最下位
ビット、アドレスのビット12〜19はPXの全8ピツ
トに相当する。
Here, assuming that the TLB consists of 512 sets and is addressed by 9 bits, bits 11 to 19 of the virtual address, when the page size is 4 bytes, bit 11 of the address for accessing the TLB is SX The least significant bits of the address, bits 12 to 19, correspond to all eight pits of PX.

したがって、この場合は2つのセットのみを検索し、削
除すべき実アドレスの入ったレジスタ6とTLBの読み
出し結果の入ったレジスタ4を比較回路12で比較し、
一致したエントリがあった時のみその有効ビットを0に
する方法で部分削除を行うことができる。この検索のた
めのアドレス生成は制御回路9によって行われる。
Therefore, in this case, only two sets are searched, and the comparison circuit 12 compares the register 6 containing the real address to be deleted and the register 4 containing the TLB read result,
Partial deletion can be performed by setting the valid bit to 0 only when there is a matching entry. Address generation for this search is performed by the control circuit 9.

[実施例] 第2図は本発明の装置の一実施例を示す構成図でT18
周辺部の全体構成を示す。また第3図および第4図にT
LBlおよびTLB2の内部構成を示す。
[Example] Figure 2 is a configuration diagram showing an example of the device of the present invention.
The overall configuration of the peripheral area is shown. Also, T in Figures 3 and 4.
The internal configuration of LBl and TLB2 is shown.

Iユニット1からの7エツチ要求のアドレスはアドレス
レジスタ21にセットされ、このアドレスで第1のTL
B22 (TLBlと略す)が検索される。TLB1に
は同一ビット構成のプライマIJ (PRrMARY)
、!:オルタネイト(ALTERNATE>があり、そ
の2つのウェイのうち−致した方の実アドレスが選択回
路24で選ばれる。
The address of the 7 etch request from I unit 1 is set in the address register 21, and the first TL is set at this address.
B22 (abbreviated as TLBl) is searched. Primer IJ (PRrMARY) with the same bit configuration is in TLB1.
,! : There is an alternate (ALTERNATE>), and the selection circuit 24 selects the real address of the matching one of the two ways.

次にその実アドレスは選択回路25を通過して、MCU
経出で主記憶装置をアクセスするためのアドレスレジス
タ(MSAR)26かあるいはローカル・バッファ・ス
トレージ(L ocal  3 urfer3 tor
age>をアクセスするためのアドレスレジスタ27に
セットされる。
Next, the real address passes through the selection circuit 25 and is sent to the MCU.
The address register (MSAR) 26 or local buffer storage (Local buffer storage) 26 for accessing the main memory
age> is set in the address register 27 for accessing.

次に主記憶装置またはローカル・バッファ・ストレージ
からのフェッチデータは、選択回路28で選択された後
にデータレジスタ29にセットされる。
Next, the fetched data from the main memory or local buffer storage is selected by the selection circuit 28 and then set in the data register 29.

もし2つのウェイが共に一致しなかった場合には、アド
レス変換回路31によりアドレスレジスタ21内の仮想
アドレスに対する実アドレスがアドレス変換テーブルに
従って求められ、TLBlに登録される。
If the two ways do not match, the address conversion circuit 31 determines the real address for the virtual address in the address register 21 according to the address conversion table, and registers it in TLB1.

第3図はTLBlの内部構造を示す図である。FIG. 3 is a diagram showing the internal structure of TLB1.

TLBIはアドレスレジスタ21のビット11〜19の
9ビツトでアドレスされる512セツトからなり、各セ
ットは2つのウェイで構成され、各エントリは有効ビッ
ト、ID部、仮想アドレス部、実アドレス部からなって
いる。■ユニットからのアクセスの際のTL8検索の時
は、アドレスレジスタ21内の仮想アドレスのビット0
0〜10と現在のID31 (例えば、仮想空間を識別
するSTo等)、ならびにTLB内の有効ビット、ID
部および仮想アドレス部を比較回路32で比較して一致
を検出する。一致した方のTLBの実アドレス部にアド
レスレジスタ21のビット20〜31が付加回路36で
付加され実アドレスが求められる。比較回路33.35
は、部分削除すべき実アドレス(PPAR)が部分削除
される前に■ユニットからのアクセスで使用されること
を防ぐためのもので、一致が検出された時は部分削除の
動作が終了するまでrユニットからのアクセス&ま禁止
される。
The TLBI consists of 512 sets addressed by 9 bits 11 to 19 of the address register 21, each set consists of two ways, and each entry consists of a valid bit, an ID field, a virtual address field, and a real address field. ing. ■When searching TL8 when accessing from the unit, bit 0 of the virtual address in the address register 21
0 to 10 and the current ID31 (for example, STo, etc. that identifies the virtual space), as well as the valid bit in the TLB, ID
The comparison circuit 32 compares the part and the virtual address part to detect a match. Bits 20 to 31 of the address register 21 are added to the real address portion of the matching TLB by the addition circuit 36 to obtain the real address. Comparison circuit 33.35
This is to prevent the real address (PPAR) to be partially deleted from being used for access from the unit before it is partially deleted, and when a match is detected, the real address (PPAR) to be partially deleted is Access from the r unit is prohibited.

第4図に示す第2のTLB42(以下T L B 2と
略す)は、TLBの部分削除の処理を上述した■ユニッ
トからのアクセスとは独立に行うものである。T’ L
 B 2はTLBlと同様に、アドレスレジスタ41の
ビット11〜19の9ビツトでアドレスされる512セ
ツトからなり、各セットはPRIMARYとALTER
NATEの2つのウェイで構成されている。ただし、T
LBlの部分コピーであって、各エントリは有効ビット
と実アドレス部のみから成っている。アドレスレジスタ
41に検索のためのアドレスが与えられると、TLB2
を読み出し、比較回路43.44によって部分削除すべ
き実アドレス(p artial  P urge  
Address  Re5ister : PPAR)
 45との比較を行う。ここで一致が検出された時は、
その時点でTLBIとTLB2に対して、一致が見られ
たエントリの有効ビットを0にする。
The second TLB 42 (hereinafter abbreviated as TLB 2) shown in FIG. 4 performs the process of partially deleting a TLB independently of the access from the above-mentioned unit (2). T'L
B2, like TLB1, consists of 512 sets addressed by 9 bits 11-19 of address register 41, each set containing PRIMARY and ALTER.
It consists of two ways: NATE. However, T
It is a partial copy of LBl, with each entry consisting only of valid bits and a real address part. When the address register 41 is given a search address, TLB2
is read out, and the comparison circuits 43 and 44 select the real address (partial purge) to be partially deleted.
Address Re5ister: PPAR)
A comparison is made with 45. When a match is detected here,
At that point, the valid bit of the matching entry is set to 0 for TLBI and TLB2.

次にI PTE命令実行時のTLBの部分削除の処理に
おける動作を説明する。第2図において、■ユニット1
から、PTEのアドレスのビット00〜07に8ビツト
あるPXを付加した値がアト1ノスレジスタにセットさ
れる。次のタイミングでビット00−07がP×レジス
タ23に、またビットOO〜07を強制的にOにした値
が選択回路25を通過してMSAR26またはアドレス
レジスタ27にセットされる。MCU経出で主記憶装置
から、あるいはL B Sか、らフェッチされたPTE
がデータレジスタ29に置かれる。PTE内のPFAR
部以外を強制的に0にした値に、PXレジスタ23の値
を併合回路30により併合(ビット24〜31に)した
結果が選択回路25を通過してMSAR26にセットさ
れる。この部分削除すべきページの実アドレスとPXを
持った値が、MCUを経由して全CPUに部分削除要求
指示と共に送られる。
Next, the operation of partial TLB deletion processing when executing an IPTE instruction will be described. In Figure 2, ■Unit 1
Then, a value obtained by adding 8 bits of PX to bits 00 to 07 of the PTE address is set in the At1nos register. At the next timing, bits 00-07 are set in the Px register 23, and the value with bits 00-07 forced to O passes through the selection circuit 25 and is set in the MSAR 26 or address register 27. PTEs fetched from main memory or from LBS at MCU exit
is placed in the data register 29. PFAR in PTE
The value of the PX register 23 is merged (into bits 24 to 31) with the value of the PX register 23 by the merge circuit 30, and the result passes through the selection circuit 25 and is set in the MSAR 26. A value containing the real address and PX of the page to be partially deleted is sent to all CPUs via the MCU along with a partial deletion request instruction.

各CPUでは、この要求をPPAR40で受け、第2の
TLB42を用いてその部分削除処理を行う。
In each CPU, this request is received by the PPAR 40, and the second TLB 42 is used to perform partial deletion processing.

部分削除のための検索のアドレスを発生させるI11御
回路9の詳細を第5図に示す。PPAR40のビット2
4〜31はPXの値であり、これはレジスタ55を経由
してアドレスレジスタ56のビット12〜1つにセット
される。この部分は検索の間は不変値となる。アドレス
レジスタ56のそれ以外の上位ビット(この例の場合は
ビット11のみ1ビツト分)はレジスタ54を経由して
セットされる。レジスタ54は、部分削除の開始時は選
択回路52でリセットが選択され、値はOになり、それ
以後は加算器51でインクリメントした値がレジスタ5
4にセットされる。
FIG. 5 shows details of the I11 control circuit 9 that generates a search address for partial deletion. Bit 2 of PPAR40
4 to 31 are the values of PX, which are set to bits 12 to 1 of the address register 56 via the register 55. This part remains unchanged during the search. The other upper bits of the address register 56 (in this example, only bit 11 is one bit) are set via the register 54. At the start of partial deletion, the selection circuit 52 selects reset for the register 54, and the value becomes O. From then on, the value incremented by the adder 51 is used as the register 54.
Set to 4.

またインクリメントした値がオーバーフローした時は、
端子53よりオーバーフロー信号が出力され、必要な検
索が終了したことを示す。本実施例の場合は2度の検索
で終了となる。
Also, when the incremented value overflows,
An overflow signal is output from the terminal 53, indicating that the necessary search has been completed. In this embodiment, the search ends after two searches.

[発明の効果] 以上説明したように、本発明によれば、IPTE命令を
実行する際、対象となるページの実アドレスと命令で指
示されたPXを自CPUおよび他CP(Jに送り、各C
PUにおいてはPXを基に部分的にTLBを検索し、対
象となる実アドレスと一致したTLBのエントリを無効
化することによリ、不必要な部分削除を回避すると共に
短時間で部分削除を終了することができる。
[Effects of the Invention] As explained above, according to the present invention, when an IPTE instruction is executed, the real address of the target page and the PX specified by the instruction are sent to the own CPU and other CPUs (J, and each C
In the PU, by partially searching the TLB based on the PX and invalidating the TLB entry that matches the target real address, unnecessary partial deletion can be avoided and partial deletion can be performed in a short time. can be terminated.

今日、CPUの性能向上のため丁LBのヒツト率を上げ
ることが求められているが、そのため丁L8のエントリ
の数を増やす必要がある。その方法として同時にアクセ
スが可能なエントリを増やす方法、すなわちウェイ数を
増やす方法と、セットの数を増やす方法とがある。セッ
トの数はTLBを物理的に構成するRAMの深さ方向の
容量を増やすことにより容易に実現できるが、部分削除
に伴うTLBの検索時間が問題になっていた。本発明を
採用することによりこの問題が解決される。
Nowadays, there is a need to increase the hit rate of the first LB in order to improve CPU performance, and for this purpose it is necessary to increase the number of entries of the first L8. There are two ways to do this: increasing the number of entries that can be accessed simultaneously, that is, increasing the number of ways, and increasing the number of sets. Although the number of sets can be easily achieved by increasing the capacity in the depth direction of the RAM that physically constitutes the TLB, the TLB search time associated with partial deletion has been a problem. This problem is solved by adopting the present invention.

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

第1図は本発明の原理説明図、 第2図は本発明の一実施例を示すT18周辺部の構成図
、 第3図は第1のTLBの内部構成を示す図、第4図は第
2の丁LBの内部構成を示す図、第5図はTLB検索用
のアドレス生成のための回路構成を示す図、 第6図はアドレス変換テーブルの形式を説明するための
説明図である。 第1図において 1は命令制御ユニット、 2はアドレスレジスタ、 3はアドレス変換バッファ、 4は比較回路、 5はアドレスレジスタ、 6.7.8はレジスタ、 9は制−回路、 io、ilは選択回路、 12は比較回路である。 特許出願人   富  士  通  株  式  会 
 礼式  理  人     弁理士   井  島 
 藤  冶外1名 MCIから MCUから JR2(D T L B G 内wafJ、e iす口
筒4図 第1 図 TLB検索用■アドレス生成cbF:め■回路構成を示
す面角ξ5 四口
FIG. 1 is a diagram explaining the principle of the present invention, FIG. 2 is a configuration diagram of the T18 peripheral part showing an embodiment of the present invention, FIG. 3 is a diagram showing the internal configuration of the first TLB, and FIG. FIG. 5 is a diagram showing the internal configuration of the second LB, FIG. 5 is a diagram showing the circuit configuration for generating an address for TLB search, and FIG. 6 is an explanatory diagram for explaining the format of the address conversion table. In Figure 1, 1 is an instruction control unit, 2 is an address register, 3 is an address translation buffer, 4 is a comparison circuit, 5 is an address register, 6.7.8 is a register, 9 is a control circuit, io and il are selections. 12 is a comparison circuit. Patent applicant: Fujitsu Limited
Ceremony Attorney Patent Attorney Ijima
Fuji Jigai 1 person MCI From MCU to JR2 (D T L B G inner waf J, e

Claims (1)

【特許請求の範囲】 中央演算処理装置内にアドレス変換バッファを有し、1
つあるいは複数の中央演算処理装置からなり、仮想アド
レスにおける特定のページを無効化する命令であるペー
ジテーブルエントリ無効化(IPTE)命令を実行する
システムに使用されるページテーブルエントリ無効化装
置であって、ページテーブルエントリ(PTE)のアド
レスを生成すると共に部分削除要求を出力する命令制御
ユニット(1)と、 セットアソシアティブ方式の構成を持ち仮想アドレスの
一部のビットでアドレスされるアドレス変換バッファ(
3)と、 実アドレスが入るアドレス変換バッファ(3)をアクセ
スするためのアドレスを出力するアドレスレジスタ(2
)と、 前記アドレス変換バッファ(3)の実アドレスを読み出
し保持するレジスタ(4)と、 メモリ制御ユニット(MCU)へのアクセスのためのア
ドレスを保持するレジスタ(5)と、メモリ制御ユニッ
ト(MCU)からのアドレス変換バッファ部分削除要求
としてのアドレスを受け取り保持するレジスタ(6)と
、 ページテーブルエントリ無効化(IPTE)命令実行時
にページインデックス部(PX)をメモリ制御ユニット
(MCU)へ送出するための保持レジスタ(7)と、 メモリ制御ユニット(MCU)からのアドレス変換バッ
ファ部分削除要求としてのページインデックス部(PX
)を受け取り保持するためのレジスタ(8)と、 ページインデックス部(PX)を基に部分削除に必要な
アドレスを生成し前記アドレスレジスタ(2)へセット
するための制御回路(9)と、前記命令制御ユニット(
1)または制御回路(9)の出力を切り替え選択する選
択回路(10)と、 前記アドレスレジスタ(2)またはレジスタ(4)の出
力を切り替え選択する選択回路(11)と、 前記レジスタ(4)とレジスタ(6)の出力の一致を検
出する比較回路(12)を具備し、対象となるページの
実アドレスと命令で指示されたページインデックスを前
記レジスタ(7)から自CPUおよび他CPUへ送り、
次に各CPUにおいてはページインデックスを基に部分
的にアドレス変換バッファを検索し、対象となる実アド
レスと一致したアドレス変換バッファのエントリを無効
化するようにしたことを特徴とするページテーブルエン
トリ無効化装置。
[Claims] An address conversion buffer is provided in the central processing unit, and 1
A page table entry invalidation device used in a system comprising one or more central processing units and executing a page table entry invalidation (IPTE) instruction, which is an instruction to invalidate a specific page at a virtual address. , an instruction control unit (1) that generates the address of a page table entry (PTE) and outputs a partial deletion request, and an address translation buffer (1) that has a set-associative configuration and is addressed by some bits of a virtual address.
3) and an address register (2) that outputs the address to access the address translation buffer (3) that contains the real address.
), a register (4) that reads and holds the real address of the address translation buffer (3), a register (5) that holds an address for accessing the memory control unit (MCU), and a register (5) that holds the address for accessing the memory control unit (MCU). ) for receiving and holding an address as a partial address translation buffer deletion request from ), and for sending the page index section (PX) to the memory control unit (MCU) when executing the page table entry invalidation (IPTE) instruction. holding register (7) and the page index section (PX) as a request to delete part of the address translation buffer from the memory control unit (MCU)
); a control circuit (9) for generating an address necessary for partial deletion based on the page index section (PX) and setting it in the address register (2); Command control unit (
1) or a selection circuit (10) that switches and selects the output of the control circuit (9); a selection circuit (11) that switches and selects the output of the address register (2) or the register (4); and the register (4). and a comparison circuit (12) that detects a match between the outputs of the register (6) and sends the real address of the target page and the page index specified by the instruction from the register (7) to the own CPU and other CPUs. ,
Next, each CPU partially searches the address translation buffer based on the page index, and invalidates the entry in the address translation buffer that matches the target real address. conversion device.
JP63186095A 1988-07-25 1988-07-25 Pageable entry invalidation device Expired - Fee Related JP2507785B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63186095A JP2507785B2 (en) 1988-07-25 1988-07-25 Pageable entry invalidation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63186095A JP2507785B2 (en) 1988-07-25 1988-07-25 Pageable entry invalidation device

Publications (2)

Publication Number Publication Date
JPH0235543A true JPH0235543A (en) 1990-02-06
JP2507785B2 JP2507785B2 (en) 1996-06-19

Family

ID=16182281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63186095A Expired - Fee Related JP2507785B2 (en) 1988-07-25 1988-07-25 Pageable entry invalidation device

Country Status (1)

Country Link
JP (1) JP2507785B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526203A (en) * 2003-05-12 2006-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Invalidate storage, clear buffer entries

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5716428A (en) * 1980-05-14 1982-01-27 Siemens Ag Camera with opto-electronic range finder
JPS62295147A (en) * 1986-06-16 1987-12-22 Hitachi Ltd Virtual computer system
JPS63153653A (en) * 1986-12-16 1988-06-27 Fujitsu Ltd Buffer memory control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5716428A (en) * 1980-05-14 1982-01-27 Siemens Ag Camera with opto-electronic range finder
JPS62295147A (en) * 1986-06-16 1987-12-22 Hitachi Ltd Virtual computer system
JPS63153653A (en) * 1986-12-16 1988-06-27 Fujitsu Ltd Buffer memory control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526203A (en) * 2003-05-12 2006-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Invalidate storage, clear buffer entries

Also Published As

Publication number Publication date
JP2507785B2 (en) 1996-06-19

Similar Documents

Publication Publication Date Title
JP2618175B2 (en) History table of virtual address translation prediction for cache access
KR960001946B1 (en) Translation lookaside buffer
US5148538A (en) Translation look ahead based cache access
JP3936378B2 (en) Address translation device
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US4463420A (en) Multiprocessor cache replacement under task control
US6145064A (en) Method of efficiently updating hashed page tables
JP3666689B2 (en) Virtual address translation method
JPH04232551A (en) Method and apparatus for converting multiple virtaul addresses
KR100335672B1 (en) Fast data retrieval from physical addressing data storage structures using memory page crossing prediction comments
JPH07295886A (en) Computer system with hierarchical memory and hierachical memory and hierarchical memory management method
US7472227B2 (en) Invalidating multiple address cache entries
JP3045952B2 (en) Full associative address translator
JPH05134927A (en) Apparatus and method for address conversion
JP2020523678A (en) Cache structure using logical directory
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
EP0173909B1 (en) Look-aside buffer least recently used marker controller
US5341485A (en) Multiple virtual address translation per computer cycle
JPH0371355A (en) Apparatus and method for retrieving cache
JP3210637B2 (en) Method and system for accessing a cache memory in a data processing system
US6134699A (en) Method and apparatus for detecting virtual address parity error for a translation lookaside buffer
JPH0235543A (en) Page table entry invalidating device
JPS623354A (en) Cache memory access system

Legal Events

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