JPH0690686B2 - Address translation index invalidator - Google Patents

Address translation index invalidator

Info

Publication number
JPH0690686B2
JPH0690686B2 JP62309218A JP30921887A JPH0690686B2 JP H0690686 B2 JPH0690686 B2 JP H0690686B2 JP 62309218 A JP62309218 A JP 62309218A JP 30921887 A JP30921887 A JP 30921887A JP H0690686 B2 JPH0690686 B2 JP H0690686B2
Authority
JP
Japan
Prior art keywords
address
tlb
entry
virtual
virtual address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62309218A
Other languages
Japanese (ja)
Other versions
JPH01149153A (en
Inventor
良行 三木
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP62309218A priority Critical patent/JPH0690686B2/en
Publication of JPH01149153A publication Critical patent/JPH01149153A/en
Publication of JPH0690686B2 publication Critical patent/JPH0690686B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、情報処理装置における中央処理装置に関する
ものであり、特に多重仮想記憶方式を採用する中央処理
装置のアドレス変換索引機構に関するものである。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a central processing unit in an information processing device, and more particularly to an address translation indexing mechanism of the central processing unit adopting a multiple virtual storage system.

従来の技術 従来、多重仮想記憶方式を採用する中央処理装置は命令
実行中に例外、割込みが発生し、タスクが切り換わり、
同時に仮想アドレス空間も切り換わると、アドレス変換
索引機構(以下TLBと略す)の消去が必要であった。
2. Description of the Related Art Conventionally, a central processing unit that employs a multiple virtual memory system causes exceptions and interrupts during instruction execution, task switching,
When the virtual address space was switched at the same time, it was necessary to erase the address translation index mechanism (TLB).

消去の方法には次の2通りの方法が考えられる。The following two methods can be considered as the erasing method.

第1:TLBの全エントリの消去。First: Erase all entries in TLB.

第2:1エントリの消去機能を持たせ、マイクロプログラ
ムにより切り換える仮想空間に属するかを調べ、属して
いれば消去する方法。
The method of erasing the 2: 1 entry, checking whether it belongs to the virtual space switched by the microprogram, and erasing if it does.

第6図は、上記した第1の方式のブロック図である。第
6図では、16エントリフルアソシアテイブ方式のTLBを
想定している。第6図において、仮想空間が切り換わる
ときマイクロ命令によりリセット信号608がアクテイブ
になり、連想メモリの全妥当性ビット609のリセット端
子がアクテイブになり、全妥当性ビット609がクリアさ
れる。
FIG. 6 is a block diagram of the above-mentioned first method. In FIG. 6, a 16-entry full-associative TLB is assumed. In FIG. 6, when the virtual space is switched, the reset signal 608 becomes active by the micro instruction, the reset terminal of the all validity bit 609 of the associative memory becomes active, and the all validity bit 609 is cleared.

第7図は、第2の方式のブロック図である。この図では
16エントリフルアソシアテイブ方式のTLBを想定してい
る。第7図において、連想メモリの妥当性ビット711は
各マイクロ命令により独立にリセット出来るようになっ
ている。仮想空間が切り換わるときには、マイクロプロ
グラムによりTLBの各エントリの仮想アドレスを読み出
し、その仮想アドレスが新しい仮想空間と異なるもので
あれば、そのエントリに対応するクリアマイクロ命令を
発行しマイクロ命令デコーダ709によりデコードを行
い、対応する妥当性ビット711のリセット信号710の1本
をアクテイブにして、対応する妥当性ビット711をクリ
アする。
FIG. 7 is a block diagram of the second method. In this figure
16-entry full-associative TLB is assumed. In FIG. 7, the validity bit 711 of the associative memory can be reset independently by each microinstruction. When the virtual space is switched, the virtual address of each entry of the TLB is read by the microprogram, and if the virtual address is different from the new virtual space, the clear microinstruction corresponding to the entry is issued and the microinstruction decoder 709 is used. Decoding is performed and one of the reset signals 710 of the corresponding validity bit 711 is made active to clear the corresponding validity bit 711.

上記のことをTLBの全エントリに対して繰り返す。The above is repeated for all TLB entries.

発明が解決しようとする問題点 上述した1の方法では仮想空間が切り換わるごとにTLB
の全エントリが消去されるので、TLBの性能(ビット
率)が低下する。反面、仮想空間の切り換えには時間は
かからない。
Problems to be Solved by the Invention In the above method 1, the TLB is changed every time the virtual space is switched.
Since all the entries are deleted, the TLB performance (bit rate) decreases. On the other hand, switching between virtual spaces does not take time.

一方、上述した2の方法ではマイクロプログラムで制御
するので消去に時間がかかる。即ち仮想空間の切り換え
に時間がかかる。しかし、TLBのビット率は1の方法ほ
ど低下しない。
On the other hand, in the above-mentioned method 2, it takes time to erase because it is controlled by the microprogram. That is, it takes time to switch the virtual space. However, the bit rate of TLB does not drop as much as the method of 1.

このように、従来ではTLBには全エントリのクリア機
能、または1エントリのクリア機能しかなかったため、
全クリアではTLBのビット率が低下し、中央処理装置の
マイクロプログラムにより1エントリずつ選択的にクリ
アしていたのではクリアに要する時間がかかる。
Thus, in the past, the TLB had only a function to clear all entries or a function to clear one entry.
The bit rate of the TLB is reduced by clearing all, and it takes time to clear if the microprogram of the central processing unit selectively clears each entry.

そこで、本発明は、高速にTLBの不必要なエントリをク
リアすることができるアドレス変換索引機構無効化装置
を提供せんとするものである。
Therefore, the present invention intends to provide an address translation indexing mechanism invalidating device capable of clearing unnecessary entries of the TLB at high speed.

問題点を解決するための手段 本発明によるならば、多重仮想記憶方式を採用しアドレ
ス変換索引機構を備える情報処理装置において、アドレ
ス変換時の仮想アドレスの一致比較機能により一致する
エントリに対応する実アドレスを読み出す手段に加え、
前記アドレス変換索引機構の各エントリごとに仮想アド
レスの一部分の一致比較手段を備え、前記仮想アドレス
の一部分の一致比較手段により、各エントリに対して同
時且つ並行に前記仮想アドレスの一部分に一致するエン
トリに対応する前記アドレス変換索引機構の記憶する仮
想アドレス、実アドレスのみを無効化することを特徴と
するアドレス変換索引機構無効化装置が提供される。
According to the present invention, according to the present invention, in an information processing apparatus that employs a multiple virtual storage system and is provided with an address translation indexing mechanism, an actual entry corresponding to a matching entry is matched by a virtual address match comparison function during address translation. In addition to the means to read the address,
For each entry of the address translation indexing mechanism, a match comparing means for a part of the virtual address is provided, and the match comparing means for a part of the virtual address simultaneously and in parallel with each entry, matches the part of the virtual address. There is provided an address translation look-up mechanism invalidating device characterized by invalidating only virtual addresses and real addresses stored in the address translation look-up mechanism corresponding to.

作用 本発明では、TLBの不必要なエントリを選択的にクリア
する専用ハードウエアを設けているので、高速にTLBの
不必要なエントリをクリアすることができる。
Effect In the present invention, since the dedicated hardware for selectively clearing unnecessary entries in the TLB is provided, unnecessary entries in the TLB can be cleared at high speed.

実施例 以下、添付図面を参照して本発明によるアドレス変換索
引機構無効化装置の実施例を説明する。
Embodiment An embodiment of the address translation indexing mechanism invalidating device according to the present invention will be described below with reference to the accompanying drawings.

第1図は本発明の実施例おけるアドレス変換の過程を示
す図である。
FIG. 1 is a diagram showing a process of address conversion in the embodiment of the present invention.

第1図において、参照番号101は仮想アドレスを一担記
憶するためのレジスタ(VAR)であり、VAR101には、エ
リアテーブルのベースアドレス、長さを記憶するための
4つのレジスタ(ATR0−3)102が付属している。VAR10
1は、VAR101のATR0−3を指定するフィールド103と、VA
R101のエリア番号を指定するフィールド104と、VAR101
のページ番号を指定するフィールド105と、VAR101のペ
ージ内オフセットを示すフィールド106とを有してい
る。また、エリアテーブルレジスタ102、ATR0−3は、
エリアテーブルベースアドレスを示すフィールド107を
有している。
In FIG. 1, reference numeral 101 is a register (VAR) for storing a virtual address, and VAR101 has four registers (ATR0-3) for storing a base address and a length of an area table. 102 is attached. VAR10
1 is field 103 that specifies ATR0-3 of VAR101 and VA
Field 104 that specifies the area number of R101 and VAR101
Has a field 105 for designating the page number of the VAR 101 and a field 106 for indicating the in-page offset of the VAR 101. The area table register 102 and ATR0-3 are
It has a field 107 indicating the area table base address.

最大1024エントリのエリアテーブル109は、参照番号108
で示すようなエリアテーブルエントリの構成を有してい
る。
Area table 109, which has a maximum of 1024 entries, has reference number 108
The area table entry has a structure as shown in FIG.

最大256エントリのページテーブル111は、参照番号110
で示すようなページテーブルエントリの構成を有してい
る。
The page table 111 with a maximum of 256 entries has a reference number 110
The page table entry has a structure as shown in.

参照番号112はエリアテーブルエントリのページテーブ
ルベースを示すフィールドであり、参照番号113はペー
ジテーブルエントリの実ページ番号を示すフィールドで
ある。更に、主記憶装置114が設けられている。
Reference number 112 is a field indicating the page table base of the area table entry, and reference number 113 is a field indicating the actual page number of the page table entry. Further, a main storage device 114 is provided.

第2図は、本発明の実施例おけるアドレス変換索引機構
(TLB)のブロック図である。
FIG. 2 is a block diagram of the address translation look-up mechanism (TLB) in the embodiment of the present invention.

第2図において、仮想アドレスをTLBに転送するための
バス201は、仮想アドレスを一担記憶するためのレジス
タVAR202に結合されている。そのVAR202は、仮想アドレ
スのセクション番号を指定するフィールド203、仮想ア
ドレスのページ内オフセットを指定するフィールド204
ほかを有している。
In FIG. 2, the bus 201 for transferring the virtual address to the TLB is coupled to the register VAR202 for temporarily storing the virtual address. The VAR202 has a field 203 for specifying the section number of the virtual address and a field 204 for specifying the in-page offset of the virtual address.
Have others.

一方、TLB内の各エントリを読み出し/書き込みするた
めのレジスタアドレスを指定するバス205は、レジスタ
アドレスをデコードするデコーダ206に結合され、その
アドレスデコーダ206によりデコードされた情報207は、
セクション単位のクリアを行う連想メモリ(以下RMと略
す)208に結合されている。
On the other hand, the bus 205 for designating the register address for reading / writing each entry in the TLB is coupled to the decoder 206 for decoding the register address, and the information 207 decoded by the address decoder 206 is:
It is connected to the associative memory (hereinafter abbreviated as RM) 208 that clears each section.

RM208は、後述する連想メモリAM211の妥当性ビットのリ
セット信号209を出力する。このAM211は、AM211の各エ
ントリの内容の妥当性を示すビット210を有している。
The RM 208 outputs the reset signal 209 of the validity bit of the associative memory AM 211 described later. This AM211 has a bit 210 indicating the validity of the content of each entry of the AM211.

“1"のときそのエントリは妥当で、 “0"のときそのエントリは無効である。When "1", the entry is valid, when "0", the entry is invalid.

VAR202のページ内オフセット以外の部分をバス212は、A
M211に結合されている。このAM211は、仮想アドレスの
ページ内オフセット以外の部分を記憶し、アドレス変換
時にはVAR202に記憶された仮想アドレスのページ内オフ
セット以外の部分と比較し一致していれば一致信号213
をDM214に送るための連想メモリ(AMと略す)である。
A part of the VAR202 other than the in-page offset is bus 212
It is connected to M211. This AM211 stores a portion other than the in-page offset of the virtual address, compares the portion other than the in-page offset of the virtual address stored in the VAR202 at the time of address translation, and if a match signal 213
Is an associative memory (abbreviated as AM) for sending to DM214.

そのDM214は、AM211に記憶されている仮想アドレスに対
応する実アドレスを記憶するためのメモリである。DM21
4には、レジスタRARの値をDM214に転送するためのバス2
15が結合されている。そのバス215は、アドレス変換時/
DM214の読み出し/書き込み時に実アドレスを一担記憶
するためのレジスタ(以下RTRと略す)216に結合されて
いる。そのRAR216は、VAR202のページ内オフセットフィ
ールド204に結合されており、更に、実アドレスをRARに
転送するためのバス218に結合されている。
The DM 214 is a memory for storing a real address corresponding to the virtual address stored in the AM 211. DM21
4 is bus 2 for transferring the value of register RAR to DM214
15 are combined. The bus 215 is used for address translation /
It is coupled to a register (hereinafter abbreviated as RTR) 216 for temporarily storing a real address when reading / writing the DM 214. The RAR 216 is coupled to the in-page offset field 204 of the VAR 202 and is further coupled to the bus 218 for transferring the real address to the RAR.

第3図は、本発明の実施例における連想メモリRM及びAM
のブロック図である。
FIG. 3 shows an associative memory RM and AM in the embodiment of the present invention.
It is a block diagram of.

第3図において、TLBの各エントリを読み出し/書き込
みするときのレジスタアドレスを指定するバス301は、
レジスタアドレスをデコードするデコーダ302の入力に
結合されている。デコーダ302によりデコードされた情
報303は、セクション単位のクリアを行うための連想メ
モリRM0〜RM15304にそれぞれ接続されている。
In FIG. 3, the bus 301 that specifies the register address when reading / writing each entry of the TLB is
It is coupled to the input of decoder 302 which decodes the register address. The information 303 decoded by the decoder 302 is connected to the associative memories RM 0 to RM 15 304 for clearing in units of sections.

各RM304により出力されるリセット信号305は、連想メモ
リAMの各エントリの内容の妥当性を示す妥当性ビットV0
〜V15306に入力される。その妥当性ビット306は、 “1"のときそのエントリは妥当で、 “0"のときそのエントリは無効である。
The reset signal 305 output by each RM 304 is a validity bit V 0 indicating the validity of the content of each entry of the associative memory AM.
~ Input to V 15 306. When the validity bit 306 is "1", the entry is valid, and when it is "0", the entry is invalid.

VAR202から仮想アドレスのページ内オフセット以外の部
分を転送するためのバス307は、読み込み/書き込み/
一致比較するための連想メモリAM308に結合されてい
る。このAM308は、AMにる。仮想アドレスのページ内オ
フセット以外の部分記憶し、アドレス変換時にはVARに
記憶された仮想アドレスのページ内オフセット以外の部
分と比較し一致していれば一致信号309をDM214に送る。
それら一致信号309は、アドレスデコーダのデコード情
報とAMの一致信号を論理和するゲート310に接続され、
その論理和出力信号は、バス311を介してDMに出力され
る。
The bus 307 for transferring a portion other than the in-page offset of the virtual address from the VAR202 is read / write /
It is coupled to an associative memory AM308 for coincidence comparison. This AM308 is AM. A portion other than the in-page offset of the virtual address is stored, and at the time of address conversion, it is compared with the portion other than the in-page offset of the virtual address stored in VAR, and if they match, a match signal 309 is sent to DM 214.
The coincidence signals 309 are connected to a gate 310 which logically sums the decode information of the address decoder and the coincidence signal of AM,
The OR output signal is output to DM via the bus 311.

第4図は、本発明の実施例おける連想メモリの妥当性ビ
ット、その他のビットの構成を示す図である。
FIG. 4 is a diagram showing the configuration of validity bits and other bits of the associative memory in the embodiment of the present invention.

第4図(a)において、妥当性ビットには、AMを読み出
し/書き込みするときのAMのエントリを指定するワード
線401と、アドレス変換時に出力される一致信号線402
と、AMに読み出し/書き込み/一致比較するときのデー
タ線403と、妥当性ビットのリセット信号404とが接続さ
れている。
In FIG. 4 (a), the validity bit includes a word line 401 that specifies an AM entry when reading / writing the AM, and a match signal line 402 that is output during address conversion.
And a data line 403 for read / write / match comparison to AM and a reset signal 404 of a validity bit are connected.

第4図(b)は、連想メモリの妥当性ビット以外のビッ
トを示しおり、そのビットには、AMを読み出し/書き込
みするときのAMのエントリを指定するワード線405と、
アドレス変換時に出力される一致信号線406と、AMに読
み出し/書き込み/一致比較するときのデータ線407と
が接続されている。
FIG. 4B shows a bit other than the validity bit of the associative memory, in which a word line 405 that specifies an AM entry when reading / writing the AM,
A match signal line 406 output during address conversion and a data line 407 for read / write / match comparison with AM are connected.

第5図は、第4図(b)に示すビットの詳細図であり、
図示のようにMOSFETが接続されて構成されている。図示
のビットは、AMに読み出し/書き込み/一致比較すると
きのデータ線501と、AMを読み出し/書き込みするとき
のAMのエントリを指定するワード線502と、アドレス変
換時に出力される一致信号線503とが接続され、更に、
一致信号線503は、アドレス変換時に一致比較を行う比
較器(排他的論理和)504を介してビットに接続されて
いる。
FIG. 5 is a detailed view of the bits shown in FIG. 4 (b),
As shown in the figure, it is configured by connecting MOSFETs. The bits shown in the figure are a data line 501 for reading / writing / matching comparison with the AM, a word line 502 for specifying an AM entry when reading / writing the AM, and a match signal line 503 output during address conversion. And are connected, and
The coincidence signal line 503 is connected to the bit via a comparator (exclusive OR) 504 that performs coincidence comparison during address conversion.

第10図は本発明の実施例における多重仮想アドレス空間
例を示す図である。
FIG. 10 is a diagram showing an example of a multiple virtual address space in the embodiment of the present invention.

第10図(a)において、参照番号1001は仮想空間を示
す。1つの仮想空間は4ギガバイトである。
In FIG. 10 (a), reference numeral 1001 indicates a virtual space. One virtual space is 4 gigabytes.

参照番号1002はセクションを示し、1つのセクションは
1ギガバイトである。
Reference numeral 1002 indicates a section, and one section is 1 gigabyte.

参照番号1003はエリアを示し、1つのエリアは1メガバ
イトである。
Reference numeral 1003 indicates an area, and one area is 1 megabyte.

参照番号1004はページを示し、1つのページは4キロバ
イトである。
Reference numeral 1004 indicates a page, and one page is 4 kilobytes.

第10図(b)において、参照番号1005は仮想アドレスの
セクション番号を指定するフィールドである。参照番号
1006は仮想アドレスのエリア番号を指定するフィールド
であり、参照番号1007は仮想アドレスのページ番号を指
定するフィールドである。そして、参照番号1008は仮想
アドレスのページ内オフセットを指定するフィールドで
ある。
In FIG. 10 (b), reference numeral 1005 is a field for designating the section number of the virtual address. reference number
Reference numeral 1007 is a field for designating the area number of the virtual address, and reference numeral 1007 is a field for designating the page number of the virtual address. Reference numeral 1008 is a field for designating an in-page offset of the virtual address.

まず第1図、第10図において仮想空間の構成、アドレス
変換の過程を説明する。
First, the structure of the virtual space and the process of address conversion will be described with reference to FIGS. 1 and 10.

本実施例では第10図図(a)に示すように1つの仮想空
間は4つのセクションから成る。1つの仮想空間は4ギ
ガバイトの大きさを持ち、1つのセクションは1ギガバ
イトの大きさを持つ。1つのセクションは1024個のエリ
アから成る。エリアは1メガバイトの大きさを持つ。1
つのエリアは256個のページから成る。ページは4キロ
バイトの大きさを持つ。
In this embodiment, as shown in FIG. 10 (a), one virtual space consists of four sections. One virtual space has a size of 4 GB, and one section has a size of 1 GB. One section consists of 1024 areas. The area has a size of 1 megabyte. 1
One area consists of 256 pages. The page has a size of 4 kilobytes.

第10図(b)は仮想アドレスの各フィールドの構成を示
す。セクション番号を指定するフィールド1005は2ビッ
トであり、エリア番号を指定するフィールド1006は8ビ
ットである。また、ページ番号を指定するフィールド10
07は10ビットであり、ページ内オフセットを指定するフ
ィールド1008は12ビットである。
FIG. 10B shows the structure of each field of the virtual address. The field 1005 for designating the section number has 2 bits, and the field 1006 for designating the area number has 8 bits. Also, specify the page number field 10
07 is 10 bits, and field 1008 that specifies the page offset is 12 bits.

本実施例ではページング方式の仮想記憶方式を採用し、
中央処理装置内は仮想アドレスレジスタVAR101、エリア
テーブルレジスタATR0−3102を内蔵し、主記憶装置には
エリアテーブル109、ページテーブル111が設定される。
エリアテーブル109はエリアテーブルエントリ108から構
成され、ページテーブル111はページテーブルエントリ1
10から構成される。
In this embodiment, a paging type virtual memory system is adopted,
A virtual address register VAR101 and area table registers ATR0-3102 are built in the central processing unit, and an area table 109 and a page table 111 are set in the main memory.
Area table 109 is composed of area table entry 108 and page table 111 is page table entry 1
Composed of 10.

通常のアドレス変換ではバス201を通して仮想アドレス
をVRA202にラッチする。
In a normal address translation, a virtual address is latched in VRA 202 via bus 201.

仮想アドレスはビット31−30(以下セクション番号と略
す)がATR0−3の1つを指定するフィールド103になっ
ておりATR0−3を選択する。
Bits 31-30 (hereinafter abbreviated as section numbers) of the virtual address are fields 103 for designating one of ATR0-3 and select ATR0-3.

指定されたATR0−3は、エリアテーブルのヘースアドレ
ス、長さを示しておりVARのビット29−20(以下エリア
番号と略す)が指定された長さの範囲内に入っているか
をチェックする。範囲内に入っていればエリアテーブル
109のエリア番号で指定されるエリアテーブルエントリ1
08を読み込む。
The designated ATR0-3 indicates the hase address and length of the area table, and it is checked whether bits 29-20 of VAR (hereinafter abbreviated as area number) are within the designated length range. . Area table if within range
Area table entry 1 specified by the area number of 109
Read 08.

読み込んだエリアテーブルエントリは、ページテーブル
のベースアドレス、長さを示しておりVAR202のビット19
−12(以下ページ番号と略す)が指定された範囲内に入
っているかをチェックする。範囲内に入っていればペー
ジテーブル111のページ番号で指定されるページテーブ
ルエントリ110を読み込む。
The read area table entry shows the base address and length of the page table. Bit 19 of VAR202
Check whether -12 (abbreviated as page number below) is within the specified range. If it is within the range, the page table entry 110 designated by the page number of the page table 111 is read.

読み込んだページテーブルエントリは、実ページ番号11
3を示しており、この実ページ番号とVARのビット11−0
(以下ページ内オフセットと略す)106とをあわせて実
アドレスを構成して主記装置114のデータをアクセスす
る。
The page table entry read is the real page number 11
3 shows the actual page number and VAR bits 11-0.
(Hereinafter, abbreviated as in-page offset) 106 is configured to form a real address to access the data of the main storage device 114.

ここで割込み、例外などが発生しタスクが切り換わり、
同時に仮想アドレス空間も切り換わるとATR0−3の値が
変更され、アドレス変更時に参照するエリアテーブル、
ページテーブルが切り換えられる。
Here, interrupts, exceptions, etc. occur and tasks are switched,
When the virtual address space is switched at the same time, the value of ATR0-3 is changed, and the area table to be referred when the address is changed,
The page table is switched.

以上がアドレス変換の過程であるが主記憶装置アクセス
毎に上記のテーブルを参照していたのでは中央処理装置
の性能が低下する。このため通常、アドレス変換索引機
構(TLB)が用いられる。TLBは第2図に示すようにAM21
1、DM214に最近に参照された仮想アドレス、実アドレス
対を16対まで記憶できるようになっており、頻繁に参照
される仮想アドレスはTLBにより高速にアドレス変換で
きるようになっている。
The above is the process of address translation, but if the above table is referred to each time the main memory device is accessed, the performance of the central processing unit decreases. For this reason, an address translation lookaside mechanism (TLB) is usually used. TLB is AM21 as shown in Fig.2.
1, DM214 can store up to 16 pairs of virtual addresses and real addresses recently referenced, and frequently referenced virtual addresses can be translated at high speed by TLB.

次に、第2図を参照したTLBの動作を説明する。Next, the operation of the TLB will be described with reference to FIG.

通常のアドレス変換において仮想アドレス201のバスに
よりVAR202に転送される。VAR202に一担記憶された仮想
アドレスの内、ページ内オフセット以外の部分は212の
バスによりAM211に転送され、AM211の記憶する仮想アド
レス、実アドレス対と一致比較が行われ、一致信号213
がDM214に送られる。DM214では一致信号213に対応する
エントリの実アドレスが読み出され215のバスに出力さ
れ、RAR216に一担記憶される。そしてVAR202のベース内
オフセット204とあわせて実アドレスを構成し、バス218
に出力される。
In the normal address translation, the virtual address 201 is transferred to the VAR 202 by the bus. Of the virtual addresses stored in the VAR202, the part other than the in-page offset is transferred to the AM211 by the bus 212, and a match comparison is performed with the virtual address and real address pair stored in the AM211.
Is sent to DM214. The DM 214 reads the real address of the entry corresponding to the match signal 213, outputs it to the bus 215, and stores it in the RAR 216. Then, the real address is configured together with the offset 204 in the base of VAR202, and the bus 218
Is output to.

タイミングの詳細を第8図に示す。第8図のタイミング
図からわかるように、このTLBを用いたアドレス変換は
2クロックで行われる。TLBにヒットしなかった場合、
中央処理装置のマイクロプログラムによりエリアテーブ
ル、ページテーブル読み込み、TLBの入れ替え、アドレ
ス変換を行う。このときのアドレス変換時間はTLBにビ
ットした時の10倍以上の時間が必要となる。
Details of the timing are shown in FIG. As can be seen from the timing chart of FIG. 8, address conversion using this TLB is performed in 2 clocks. If you don't hit the TLB,
The area program and page table are read, TLBs are replaced, and addresses are converted by the microprogram of the central processing unit. At this time, the address conversion time is required to be 10 times or more longer than when the TLB bit is set.

このようにTLBに仮想アドレス、実アドレス対を記憶さ
せることによりアドレス変換が大幅に高速化される。こ
のTLBは小容量(本実施例では16エントリ)ではある
が、最近参照された仮想アドレス、実アドレス対を記憶
すること(LRUアルゴリズム)、プログラムの局所参照
性により97−99%TLBにビットする。
By storing the virtual address pair and the real address pair in the TLB in this way, the address conversion is significantly speeded up. Although this TLB has a small capacity (16 entries in this embodiment), the recently referenced virtual address and real address pair are stored (LRU algorithm), and the bit is 97-99% TLB depending on the local reference property of the program. .

しかし、割込み、例外などによりタスクが切り換わり、
仮想アドレス空間も切り換わると、ATR0−3の値も変更
され、アドレス変換時に参照されるエリアテーブル、ペ
ージテーブルも切り換わる。この時TLBに記憶されてい
る情報は以前の仮想アドレス空間のものであり、TLBの
内容をクリアする必要がある。従来はTLBの全エントリ
をクリアしていたが本発明ではATR0−3のうち値の変わ
ったATRに属するTLBのエントリのみをクリアするように
なっている。TLBのクリアは10000参照回ごとに全エント
リをクリアすると約1%TLBのビット率が低下すること
が知られている。このビット率の低下を防ぐために、本
発明では、全エントリのクリアではなく、値の変わった
ADRに属するTLBのエントリのみをクリア(以下セクショ
ンクリアと略す)するようになっている。
However, tasks are switched due to interrupts, exceptions, etc.
When the virtual address space is also switched, the values of ATR0-3 are also changed, and the area table and page table referred to during address conversion are also switched. At this time, the information stored in the TLB is that of the previous virtual address space, and it is necessary to clear the contents of the TLB. Conventionally, all the entries in the TLB have been cleared, but in the present invention, only the entries in the TLB belonging to the ATR whose value has changed among ATR0-3 are cleared. It is known that the TLB bit rate decreases by about 1% when all entries are cleared every 10,000 reference times. In order to prevent the reduction of the bit rate, in the present invention, the value is changed instead of clearing all the entries.
Only the TLB entries that belong to the ADR are cleared (hereinafter abbreviated as section clear).

第2図及び第8図の参照したこのTLBセクションクリア
の動作を説明する。
The operation of this TLB section clear with reference to FIGS. 2 and 8 will be described.

第2図において、RM208はVAR202のATR0−3の1つを指
定するフィールド、ビット31−30(セクション番号)を
記憶し、VAR202のセクション番号と一致比較する機能を
持つ連想メモリである。このRM208は一致信号209がAM21
1の妥当性ビット210のリセット端子に接続されている。
ここでRM208はAM211の記憶する仮想アドレスのビット31
−30(セクシッン番号)と同じもの、コピーを記憶する
ようになっている。
In FIG. 2, the RM 208 is an associative memory that stores a field specifying one of ATR0-3 of VAR202, bits 31-30 (section number), and has a function of performing coincidence comparison with the section number of VAR202. This RM208 has a match signal 209 AM21
1 Validity bit 210 connected to reset terminal.
Here, RM208 is bit 31 of the virtual address stored in AM211.
Same as -30 (sequential number), it is designed to store a copy.

仮想アドレス空間切り換え時には、中央処理装置のマイ
クロプログラムにより旧仮想アドレス空間のATR0−3の
値と新仮想アドレス空間のATR0−3の値を比較し、値の
変わったATRを検出する。この値の変わったATRに属する
TLBのエントリをクリアするわけである。
When the virtual address space is switched, the value of ATR0-3 of the old virtual address space and the value of ATR0-3 of the new virtual address space are compared by the microprogram of the central processing unit to detect the ATR whose value has changed. Belongs to an ATR with this value changed
It clears the TLB entry.

まず値の変わったATRの番号(セクション番号)をVAバ
ス201を通してVAR202に転送する。VAR202に一担記憶さ
れたセクション番号はバス203を通してRM208に転送され
る。RM208はバス203から送られてきたセクション番号と
RM208の各エントリに記憶されているセクション番号を
比較し一致していれば一致信号209をアクティブにしてA
M211の妥当性ビットのリセット端子に送られAM211の対
応するエントリの妥当性ビットがリセットされる。
First, the ATR number (section number) whose value has changed is transferred to the VAR 202 via the VA bus 201. The section number stored in the VAR 202 is transferred to the RM 208 via the bus 203. RM208 is the section number sent from bus 203
The section numbers stored in each entry of RM208 are compared, and if they match, the match signal 209 is activated and A
It is sent to the reset terminal of the validity bit of M211 and the validity bit of the corresponding entry of AM211 is reset.

タイミングの詳細は第9図に示す。この図で示すように
1つのセクションに属するTLBのエントリのクリアに2
クロック必要となる。これは中央処理装置のマイクロプ
ログラムにより1エントリずつクリアするより大幅に高
速化され、このときTLBを全クリアするよりもATR0−3
のうち値が変わったATRに属するTLBのエントリのみをク
リアする方がTLBの性能(ビット率)が良いことは言う
までもない。
Details of the timing are shown in FIG. As shown in this figure, 2 to clear the entries of TLB belonging to one section.
A clock is needed. This is significantly faster than clearing one entry at a time by the microprogram of the central processing unit, and at this time, ATR0-3 rather than clearing all TLBs.
It goes without saying that the performance (bit rate) of the TLB is better by clearing only the TLB entry belonging to the ATR whose value has changed.

実施例2 次に、本発明の第二の実施例について説明する。第11図
は本発明の第二の実施例を用いたTLBの構成を示すブロ
ック図である。
Second Embodiment Next, a second embodiment of the present invention will be described. FIG. 11 is a block diagram showing the structure of a TLB using the second embodiment of the present invention.

前記の第一の実施例でなVARのセクション番号に一致す
るTLBのエントリの無効化についての例を示したが、こ
れがエリア番号であってもかまわない。第二の実施例で
はこのエリア番号によってTLBのクリアを行うものであ
る。
An example of invalidating the TLB entry that matches the VAR section number in the first embodiment has been shown, but this may be the area number. In the second embodiment, the TLB is cleared by this area number.

仮想アドレスをTLBに転送するためのバス1101に結合さ
れたVAR1102のBIT29−20(エリア番号)を指定するフィ
ールドがRM1108に接続されており、RM1108はエリア番号
を記憶するようになっている。
A field for designating BIT29-20 (area number) of VAR1102 coupled to bus 1101 for transferring a virtual address to TLB is connected to RM1108, and RM1108 stores the area number.

そして、TLBクリア時にはVAR1102のエリア番号とRM1108
内のエアリ番号を比較し一致していれば、一致信号1109
をアクティブにして対応するAM1111の妥当性ビット1110
をリセットし、対応するTLBの記憶する仮想アドレス、
実アドレス対をクリアする。この第二の実施例によりエ
リア単位のTLBクリアも高速化することができる。
When clearing the TLB, the area number of VAR1102 and RM1108
If the Airy numbers in the above are compared and they match, the match signal 1109
AM1111 validity bit 1110
Reset the virtual address stored in the corresponding TLB,
Clear the real address pair. This second embodiment can also speed up TLB clearing in area units.

発明の効果 以上説明したように、本発明によるならば、仮想アドレ
ス空間切り換え時に、 TLBを全クリアするよりもATR0−3のうち値が変わったA
TRに属するTLBのエントリのみをクリアする方がTLBの有
効なエントリが残る確率が高いのでTLBの性能(ビット
率)が良くなる。
EFFECTS OF THE INVENTION As described above, according to the present invention, at the time of switching the virtual address space, the value of ATR0-3 is changed rather than clearing all TLB.
Clearing only the TLB entries that belong to TR increases the probability that valid TLB entries will remain, thus improving TLB performance (bit rate).

更に、TLBにセクションクリア専用ハードウェアを設け
ることにより中央処理装置のマイクロプログラムによる
クリアより高速化され、仮想アドレス空間切り換えに必
要な時間が短縮される。
Further, by providing the section clear dedicated hardware in the TLB, it is faster than clearing by the microprogram of the central processing unit, and the time required for virtual address space switching is shortened.

かくして、TLBの性能(ビット率)の低下を招くことな
く、アドレス変換索引機構の無効化を高速化することが
できる。
Thus, it is possible to speed up the invalidation of the address translation index mechanism without lowering the performance (bit rate) of the TLB.

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

第1図は、本発明の実施例におけるアドレス変換の過程
を示す図である。 第2図は、本発明の実施例におけるTLBの構成を示すブ
ロック図である。 第3図は、本発明の実施例におけるTLBの連想メモリの
構成を示すブロック図である。 第4図は、本発明の実施例におけるTLBの連想メモリの
妥当性ビット及びその他のビットの構成を示す図であ
る。 第5図は、本発明の実施例におけるTLBの連想メモリの
1ビットの構成を示すトランジスタレベルの図である。 第6図は、1つの従来例におけるTLBの構成を示すブロ
ック図である。 第7図は、別の従来例におけるTLBの構成を示すブロッ
ク図である。 第8図は、本発明の実施例におけるTLBのアドレス変換
のタイミングを示すタイミングチャート図である。 第9図は、本発明の実施例におけるTLBのセクションク
リアのタイミングを示すタイミングチャート図である。 第10図は、本発明の実施例における多重仮想アドレス空
間の構成を示す図である。 第11図は、本発明の第二の実施例におけるTLBの構成を
示すブロック図である。 〔主な参照番号〕 202……仮想アドレスを一担記憶するためのレジスタVAR 203……仮想アドレスのセクション番号を指定するフィ
ールド203 204……仮想アドレスのページ内オフセットを指定する
フィールド 205……レジスタアドレスデコーダ 208……セクション単位のクリアを行う連想メモリ(R
M) 210……各エントリの内容の妥当性を示すビット 211……連想メモリAM 214……AMに記憶されている仮想アドレスに対応する実
アドレスを記憶するためのメモリ(DM) 216……実アドレスレジスタRAR
FIG. 1 is a diagram showing a process of address conversion in the embodiment of the present invention. FIG. 2 is a block diagram showing the structure of the TLB in the embodiment of the present invention. FIG. 3 is a block diagram showing the structure of the associative memory of the TLB in the embodiment of the present invention. FIG. 4 is a diagram showing configurations of validity bits and other bits of the associative memory of the TLB in the embodiment of the present invention. FIG. 5 is a transistor-level diagram showing the 1-bit configuration of the TLB associative memory in the embodiment of the present invention. FIG. 6 is a block diagram showing the structure of a TLB in one conventional example. FIG. 7 is a block diagram showing the structure of a TLB in another conventional example. FIG. 8 is a timing chart showing the timing of TLB address conversion in the embodiment of the present invention. FIG. 9 is a timing chart showing the TLB section clear timing in the embodiment of the present invention. FIG. 10 is a diagram showing the structure of a multiple virtual address space in the embodiment of the present invention. FIG. 11 is a block diagram showing the structure of the TLB in the second embodiment of the present invention. [Main reference number] 202 …… Register for storing virtual address VAR 203 …… Field 203 for specifying section number of virtual address 203 204 …… Field 205 for specifying page offset of virtual address …… Register Address decoder 208 ... Associative memory (R
M) 210 ... Bit indicating the validity of the contents of each entry 211 ... Associative memory AM 214 ... Memory (DM) 216 ... real for storing the real address corresponding to the virtual address stored in AM Address register RAR

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】多重仮想記憶方式を採用しアドレス変換索
引機構を備える情報処理装置において、アドレス変換時
の仮想アドレスの一致比較機能により一致するエントリ
に対応する実アドレスを読み出す手段に加え、 前記アドレス変換索引機構の各エントリごとに仮想アド
レスの一部分の一致比較手段を備え、 前記仮想アドレスの一部分の一致比較手段により、各エ
ントリに対して同時且つ並行に前記仮想アドレスの一部
分に一致するエントリに対応する前記アドレス変換索引
機構の記憶する仮想アドレス、実アドレスのみを無効化
することを特徴とするアドレス変換索引機構無効化装
置。
1. In an information processing apparatus adopting a multiple virtual storage system and having an address translation indexing mechanism, in addition to a means for reading a real address corresponding to a matching entry by a virtual address match comparison function at the time of address translation, the address For each entry of the translation look-up mechanism, a match comparison means for a part of the virtual address is provided, and the match comparison means for a part of the virtual address corresponds to an entry that matches a part of the virtual address simultaneously and in parallel with each entry. An address translation indexing mechanism invalidating device, which invalidates only virtual addresses and real addresses stored in the address translation indexing mechanism.
JP62309218A 1987-12-07 1987-12-07 Address translation index invalidator Expired - Lifetime JPH0690686B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62309218A JPH0690686B2 (en) 1987-12-07 1987-12-07 Address translation index invalidator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62309218A JPH0690686B2 (en) 1987-12-07 1987-12-07 Address translation index invalidator

Publications (2)

Publication Number Publication Date
JPH01149153A JPH01149153A (en) 1989-06-12
JPH0690686B2 true JPH0690686B2 (en) 1994-11-14

Family

ID=17990352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62309218A Expired - Lifetime JPH0690686B2 (en) 1987-12-07 1987-12-07 Address translation index invalidator

Country Status (1)

Country Link
JP (1) JPH0690686B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999057642A1 (en) * 1998-05-01 1999-11-11 Matsushita Electric Industrial Co., Ltd. Data processing device and method
JP2004164395A (en) * 2002-11-14 2004-06-10 Renesas Technology Corp Address converter
JP5541036B2 (en) * 2010-09-21 2014-07-09 富士通株式会社 Memory access control program, memory access control method, and information processing apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6091462A (en) * 1983-10-26 1985-05-22 Toshiba Corp Arithmetic controller

Also Published As

Publication number Publication date
JPH01149153A (en) 1989-06-12

Similar Documents

Publication Publication Date Title
KR920005280B1 (en) High speed cache system
EP0095033B1 (en) Set associative sector cache
US5604879A (en) Single array address translator with segment and page invalidate ability and method of operation
JP3666689B2 (en) Virtual address translation method
GB1487078A (en) Buffered virtual storage and data processing system
EP0911737A1 (en) Cache memory with reduced access time
EP0506236A1 (en) Address translation mechanism
JPH02189659A (en) Address converter
US5956752A (en) Method and apparatus for accessing a cache using index prediction
CN101213526A (en) Preventing multiple translation lookaside buffer accesses for a same page in memory
JP3045952B2 (en) Full associative address translator
EP0676698A1 (en) Address translation circuit
US5535351A (en) Address translator with by-pass circuit and method of operation
US6385696B1 (en) Embedded cache with way size bigger than page size
US5341485A (en) Multiple virtual address translation per computer cycle
EP0173909B1 (en) Look-aside buffer least recently used marker controller
US6560689B1 (en) TLB using region ID prevalidation
KR100278895B1 (en) Data processor
JPH0690686B2 (en) Address translation index invalidator
EP0224168A2 (en) Buffer storage control system
JPS5922315B2 (en) Buffer memory control method
JP2564377B2 (en) Information processing device with cache memory
KR100273303B1 (en) Cache hit distinction circuit for microprocessor
JPH04101252A (en) Address conversion buffer clearing system
JPS583175A (en) Virtual storage controller