JPH01149153A - Address converting index mechanism invalidating device - Google Patents
Address converting index mechanism invalidating deviceInfo
- Publication number
- JPH01149153A JPH01149153A JP62309218A JP30921887A JPH01149153A JP H01149153 A JPH01149153 A JP H01149153A JP 62309218 A JP62309218 A JP 62309218A JP 30921887 A JP30921887 A JP 30921887A JP H01149153 A JPH01149153 A JP H01149153A
- Authority
- JP
- Japan
- Prior art keywords
- address
- tlb
- virtual
- virtual address
- entry
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、情報処理装置における中央処理装置に関する
ものであり、特に多重仮想記憶方式を採用する中央処理
装置のアドレス変換索引機構に関するものである。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a central processing unit in an information processing apparatus, and more particularly to an address conversion indexing mechanism for a central processing unit that employs a multiple virtual memory system.
従来の技術
従来、多重仮想記憶方式を採用する中央処理装置は命令
実行中に例外、割込みが発生し、タスクが切り換わり、
同時に仮想アドレス空間も切り換わると、アドレス変換
索引機構(以下TLBと略す)の消去が必要であった。Conventional technology Traditionally, in central processing units that employ multiple virtual memory systems, exceptions and interrupts occur during instruction execution, and tasks are switched.
When the virtual address space was also switched at the same time, it was necessary to erase the address translation lookaside mechanism (hereinafter abbreviated as TLB).
消去の方法には次の2通りの方法が考えられる。The following two methods can be considered for erasing.
第1:TLBの全エントリの消去。1st: Erase all TLB entries.
第2=1エントリの消去機能を持たせ、マイアロプログ
ラムにより切り換える仮想空間に属するかを調べ、属し
ていれば消去する方法。2nd = A method of providing a deletion function for 1 entry, checking whether it belongs to the virtual space to be switched using a MyAlo program, and deleting it if it belongs.
第6図は、上記した第1の方式のブロック図である。第
6図では、16工ントリフルアソシアテイブ方式のTL
Bを想定している。第6図において、仮想空間が切り換
わるときマイクロ命令によりリセット信号608がアク
ティブになり、連想メモリの全妥当性ビット609のリ
セット端子がアクティブになり、全妥当性ビット609
がクリアされる。FIG. 6 is a block diagram of the first method described above. Figure 6 shows the TL of the 16-count full associative system.
We assume B. In FIG. 6, when the virtual space is switched, the reset signal 608 is activated by a microinstruction, the reset terminal of all validity bits 609 of the associative memory is activated, and the reset terminal of all validity bits 609 of the associative memory is activated.
is cleared.
第7図は、第2の方式のブロック図である。この図では
16工ントリフルアソシアテイブ方式のTLBを想定し
ている。第7図において、連想メモリの妥当性ビット7
11は各マイクロ命令により独立にリセット出来るよう
になっている。仮想空間が切り換わるときには、マイク
ロプログラムによりTLBの各エントリの仮想アドレス
を読み出し、その仮想アドレスが新しい仮想空間と異な
るものであれば、そのエントリに対応するクリアマイク
ロ命令を発行しマイクロ命令デコーダ709によりデコ
ードを行い、対応する妥当性ビット711のリセット信
号710の1本をアクティブにして、対応する妥当性ビ
ット711をクリアする。FIG. 7 is a block diagram of the second method. This diagram assumes a 16-count full associative type TLB. In FIG. 7, validity bit 7 of the associative memory
11 can be reset independently by each microinstruction. When the virtual space is switched, the microprogram reads the virtual address of each entry in the TLB, and if the virtual address is different from the new virtual space, a clear microinstruction corresponding to that entry is issued and the microinstruction decoder 709 issues a clear microinstruction corresponding to the entry. The decoding is performed and one of the reset signals 710 of the corresponding validity bit 711 is activated to clear the corresponding validity bit 711.
上記のことをTLBの全エン) IJに対して繰り返す
。Repeat the above for all IJs of TLB.
発明が解決しようとする問題点
上述したlの方法では仮想空間が切り換わるごとにTL
Bの全エントリが消去されるので、TLBの性能(ビッ
ト率)が低下する。反面、仮想空間の切り換えには時間
はかからない。Problems to be Solved by the Invention In method l mentioned above, the TL is changed every time the virtual space is switched.
Since all entries in B are erased, the performance (bit rate) of the TLB decreases. On the other hand, switching between virtual spaces does not take much time.
一方、上述した2の方法ではマイクロプログラムで制御
するので消去に時間がかかる。即ち仮想空間の切り換え
に時間がかかる。しかし、TLBのビット率は1の方法
はど低下しない。On the other hand, in the method 2 mentioned above, since it is controlled by a microprogram, erasing takes time. That is, it takes time to switch virtual spaces. However, the bit rate of the TLB does not decrease much with method 1.
このように、従来ではTLBには全エントリのクリア機
能、または1エントリのクリア機能しかなかったため、
全クリアではTLBのビット率が低下し、中央処理装置
のマイクロプログラムによりlエントリずつ選択的にク
リアしていたのではクリアに要する時間がかかる。In this way, in the past, TLB only had the function to clear all entries or clear one entry.
Clearing the entire TLB reduces the bit rate of the TLB, and selectively clearing one entry at a time using a microprogram of the central processing unit takes time.
そこで、本発明は、高速にTLBの不必要なエントリを
クリアすることができるアドレス変換索引機構無効化装
置を提供せんとするものである。Therefore, it is an object of the present invention to provide an address translation index mechanism invalidation device that can quickly clear unnecessary entries in the TLB.
問題点を解決するための手段
本発明によるならば、多重仮想記憶方式を採用しアドレ
ス変換索引機構を備える情報処理装置において、アドレ
ス変換時の仮想アドレスの一致比較機能により一致する
エントリに対応する実アドレスを読み出す手段に加え、
仮想アドレスの一部分の一致比較手段を有し、前記°仮
想アドレスの一部分の一致比較手段により前記仮想アド
レスの一部分に一致するエントリに対応する前記アドレ
ス変換索引機構の記憶する仮想アドレス、実アドレスの
みを無効化することを特徴とするアドレス変換索引機構
無効化装置が提供される。Means for Solving the Problems According to the present invention, in an information processing device that employs a multiple virtual memory system and is equipped with an address translation indexing mechanism, a virtual address match comparison function at the time of address translation allows a virtual address to be matched with a matching entry. In addition to the means to read the address,
a part of virtual address matching comparison means, and the part of virtual address matching comparing means selects only the virtual address and real address stored in the address translation indexing mechanism corresponding to the entry that matches the part of the virtual address. An address translation indexing mechanism invalidating device is provided.
作用
本発明では、TLBの不必要なエントリを選択的にクリ
アする専用ハードウェアを設けているので、高速にTL
Bの不必要なエントリをクリアすることができる。Function The present invention is equipped with dedicated hardware that selectively clears unnecessary TLB entries, so the TLB can be cleared at high speed.
Unnecessary entries in B can be cleared.
実施例
以下、添付図面を参照して本発明によるアドレス変換索
引機構無効化装置の実施例を説明する。Embodiments Hereinafter, embodiments of an address translation indexing mechanism disabling device according to the present invention will be described with reference to the accompanying drawings.
第1図は本発明の実施例おけるアドレス変換の過程を示
す図である。FIG. 1 is a diagram showing the process of address translation in an embodiment of the present invention.
第1図において、参照番号101は仮想アドレスを一担
記憶するためのレジスタ(VAR) であ’)、VAR
IOIには、エリアテーブルのベースアドレス、長さを
記憶するための4つのレジスタ(ATRO−3)102
が付属している。VARIOIは、VARIOI のA
TRO−3を指定するフィールY103と、VARIO
Iのエリア番号を指定するフィールド104と 、VA
”RIOIのページ番号を指定するフィールド105
と、VARIOIのページ内オフセットを示すフィール
ド106 とを有している。In FIG. 1, reference number 101 is a register (VAR) for storing a virtual address.
IOI has four registers (ATRO-3) 102 for storing the base address and length of the area table.
is included. VARIOI is A of VARIOI
Field Y103 specifying TRO-3 and VARIO
A field 104 specifying the area number of I, VA
”Field 105 for specifying the RIOI page number
and a field 106 indicating the offset within the page of VARIOI.
また、エリアテーブルレジスタ102、ATRO−3は
、エリアテーブルベースアドレスを示すフィールド10
7を有している。Furthermore, the area table register 102, ATRO-3 has a field 10 indicating the area table base address.
7.
JR大1024エントリのエリアテーブル109は、参
照番号108で示すようなエリアテーブルエントリの構
成を有している。The area table 109 of JR University 1024 entries has a configuration of area table entries as indicated by reference number 108.
最大256エントリのページテーブル111は、参照番
号110で示すようなページテーブルエントリの構成を
有している。The page table 111 with a maximum of 256 entries has a configuration of page table entries as indicated by reference number 110.
参照番号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. Furthermore, a main storage device 114 is provided.
第2図は、本発明の実施例おけるアドレス変換索引機!
(TLB)のブロック図である。FIG. 2 shows an address conversion indexing machine in an embodiment of the present invention!
(TLB) is a block diagram.
第2図において、仮想アドレスをTLBに転送するだめ
のバス201 は、仮想アドレスを一担記憶するための
レジスタV A、R202に結合されている。In FIG. 2, a bus 201 for transferring virtual addresses to the TLB is coupled to registers VA and R 202 for storing virtual addresses.
そのV A R202は、仮想アドレスのセクション番
号を指定するフィールド203、仮想アドレスのページ
内オフセyトを指定するフィールド204ほかを有して
いる。The V A R 202 has a field 203 for specifying the section number of the virtual address, a field 204 for specifying the offset within the page of the virtual address, and others.
一方、TLB内の各エン) IJを読み出し/書き込み
するためのレジスタアドレスを指定するバス205は、
レジスタアドレスをデコードするデコーダ206に結合
され、そのアドレスデコーダ206によりデコードされ
た情報207 は、セクション単位のクリアを行う連想
メモリ (以下RMと略す)208に結合されている。On the other hand, the bus 205 that specifies the register address for reading/writing each en) IJ in the TLB is
It is coupled to a decoder 206 that decodes register addresses, and information 207 decoded by the address decoder 206 is coupled to a content addressable memory (hereinafter abbreviated as RM) 208 that clears sections.
RM2O3は、後述する連想メモリAM211の妥当性
ビットのリセット信号209を出力する。このAM21
1は、AM211の各エン) +7の内容の妥当性を示
すピッ)210を有している。RM2O3 outputs a reset signal 209 for the validity bit of the associative memory AM211, which will be described later. This AM21
1 has a beep) 210 indicating the validity of the contents of each en) +7 of AM211.
“1”のときそのエントリは妥当で、 0”のときそのエントリは無効である。When it is “1”, the entry is valid, 0'', the entry is invalid.
V A R202のページ内オフセット以外の部分をバ
ス212は、AM211に結合されている。このAM2
11は、仮想アドレスのページ内オフセット以外の部分
を記憶し、アドレス変換時にはV A R202に記憶
された仮想アドレスのページ内オフセット以外の部分と
比較し一致していれば一致信号213を9M214に送
るための連想メモ’J (AMと略す)である。A bus 212 that includes a portion of the V A R 202 other than the intra-page offset is coupled to the AM 211 . This AM2
11 stores the portion of the virtual address other than the intra-page offset, and when converting the address, compares it with the portion other than the intra-page offset of the virtual address stored in the V A R 202, and if they match, sends a match signal 213 to the 9M 214. This is an associative memo 'J (abbreviated as AM).
その9M214は、AM211に記憶されている仮想ア
ドレスに対応する実アドレスを記憶するためのメモリで
ある。9M214には、レジスタRARO値をD M2
14に転送するためのバス215が結合されている。そ
のバス215は、アドレス変換時/DM214の読み出
し/書き込み時に実アドレスを一担記憶するためのレジ
スタ(以下RARと略す)216に結合されている。そ
のRA R216は、MAR202のページ内オフセッ
トフィールド204に結合されており、更に、実アドレ
スをRARに転送するためのバス218に結合されてい
る。The 9M214 is a memory for storing real addresses corresponding to virtual addresses stored in the AM211. 9M214 contains the register RARO value.
A bus 215 for transferring to 14 is coupled. The bus 215 is coupled to a register (hereinafter abbreviated as RAR) 216 for storing a real address at the time of address conversion/reading/writing of the DM 214. The RA R 216 is coupled to the in-page offset field 204 of the MAR 202 and is further coupled to a bus 218 for transferring real addresses to the RAR.
第3図は、本発明の実施例における連想メモリRM及び
AMのブロック図である。FIG. 3 is a block diagram of content addressable memories RM and AM in the embodiment of the present invention.
第3図にふいて、TLBの各エンドIJを読み出し/書
き込みするときのレジスタアドレスを指定するバス30
1は、レジスタアドレスをデコードするデコーダ302
の入力に結合されている。デコーダ302によりデコー
ドされた情報303は、セクション単位のクリアを行う
ための連想メモ!JRMO〜RMI5304にそれぞれ
接続されている。As shown in FIG. 3, a bus 30 specifies the register address when reading/writing each end IJ of the TLB.
1 is a decoder 302 that decodes register addresses;
is connected to the input of The information 303 decoded by the decoder 302 is an associative memo for clearing each section! They are connected to JRMO to RMI5304, respectively.
各RM3O4により出力されるリセット信号305は、
連想メモIJAMの各エントリの内容の妥当性を示す妥
当性ピッ)V。−v 、 、306に人力される。The reset signal 305 output by each RM3O4 is
Validity Pip indicating the validity of the content of each entry in the associative memo IJAM) V. −v , , 306 is manually operated.
その妥当性ビット306は、
“l”のときそのエン) IJは妥当で、“0”のとき
そのエントリは無効である。When the validity bit 306 is "l", the entry is valid, and when it is "0", the entry is invalid.
M A R202から仮想アドレスのページ内オフセッ
ト以外の部分を転送するためのバス307は、読み込み
/書き込み/−数比較するための連想メモリA M3O
8に結合されている。このA M3O8は、AMにる。A bus 307 for transferring parts other than the intra-page offset of the virtual address from the M A R 202 is an associative memory A M3O for reading/writing/comparing numbers.
It is connected to 8. This AM3O8 is in AM.
仮想アドレスのページ内オフセット以外の部分記憶し、
アドレス変換時にはVARに記憶された仮想アドレスの
ページ内オフセット以外の部分と比較し一致していれば
一致信号309を9M214に送る。それら一致信号3
09は、アドレスデコーダのデコード情報とAMの一致
信号を論理和するゲー)310に接続され、その論理和
出力信号は、バス311を介してDMに出力される。Stores the part of the virtual address other than the in-page offset,
During address conversion, the virtual address stored in the VAR is compared with the part other than the intra-page offset, and if they match, a match signal 309 is sent to the 9M214. Those matching signals 3
09 is connected to a gate 310 that ORs the decoded information of the address decoder and the AM coincidence signal, and the OR output signal is outputted to the DM via the bus 311.
第4図は、本発明の実施例おける連想メモリの妥当性ビ
ット、その他のビットの構成を示す図である。FIG. 4 is a diagram showing the configuration of the validity bit and other bits of the associative memory in the embodiment of the present invention.
第4図(a)において、妥当性ビットには、AMを読み
出し/書き込みするときのAMのエン) IJを指定す
るワード線401と、アドレス変換時に出力される一致
信号線402と、AMに読み出し/書き込み/−数比較
するときのデータ線403と、妥当性ビットのリセット
信号404とが接続されている。In FIG. 4(a), the validity bit includes a word line 401 that specifies IJ when reading/writing AM, a match signal line 402 that is output during address conversion, and /Write/- A data line 403 for comparing numbers and a validity bit reset signal 404 are connected.
第4図ら)は、連想メモリの妥当性ビ、、ト以外のビッ
トを示しおり、そのビットには、AMを読み出し/書き
込みするときのAMのエントリを指定するワード線40
5 と、アドレス変換時に出力される一致信号線406
と、AMに読み出し/書き込み/−数比較するときの
データ線407とが接続されている。Figures 4 and 4) show the validity bits of the associative memory, including the word line 40 which specifies the entry of the AM when reading/writing the AM.
5 and a match signal line 406 output during address conversion.
and a data line 407 for reading/writing/comparing numbers are connected to AM.
第5図は、第4図(b)に示すビットの詳細図であり、
図示のようにMOSFETが接続されて構成されている
。図示のビットは、AMに読み出し/書き込み/−数比
較するときのデータ線501と、AMを読み出し/書き
込みするときのAMのエントリを指定するワード線−1
02と、アドレス変換時に出力される一致信号線503
とが接続され、更に、一致信号線503は、アドレス変
換時に一致比較を行う比較器(排他的論理和)504を
介してビットに接続されている。FIG. 5 is a detailed diagram of the bit shown in FIG. 4(b),
As shown in the figure, MOSFETs are connected and configured. The illustrated bits are a data line 501 when reading/writing/-number comparison to AM, and a word line 501 specifying an entry of AM when reading/writing AM.
02 and a match signal line 503 output during address conversion.
Furthermore, the match signal line 503 is connected to the bit via a comparator (exclusive OR) 504 that performs a match comparison during address conversion.
第10図は本発明の実施例における多重仮想アドレス空
間例を示す図である。FIG. 10 is a diagram showing an example of multiple virtual address spaces in an embodiment of the present invention.
第10図(a)において、参照番号1001は仮想空間
を示す。1つの仮想空間は4ギガバイトである。In FIG. 10(a), reference number 1001 indicates a virtual space. One virtual space is 4 gigabytes.
参照番号1002はセクションを示し、1つのセクショ
ンは1ギガバイトである。Reference number 1002 indicates a section, and one section is 1 gigabyte.
参照番号1003はエリアを示し、1つのエリアは1メ
ガバイトである。Reference number 1003 indicates an area, and one area is 1 megabyte.
参照番号1004はページを示し、1つのページは4キ
ロバイトである。Reference number 1004 indicates a page, and one page is 4 kilobytes.
第11図(5)において、参照番号1005は仮想アド
レスのセクション番号を指定するフィールドである。In FIG. 11(5), reference number 1005 is a field that specifies the section number of the virtual address.
参照番号1006は仮想アドレスのエリア番号を指定す
るフィールドであり、参照番号1007は仮想アドレス
のページ番号を指定するフィールドである。Reference number 1006 is a field that specifies the area number of the virtual address, and reference number 1007 is a field that specifies the page number of the virtual address.
そして、参照番号1008は仮想アドレスのページ内オ
フセットを指定するフィールドである。Reference number 1008 is a field that specifies the intra-page offset of the virtual address.
まず第1図、第10図において仮想空間の構成、アドレ
ス変換の過程を説明する。First, the configuration of the virtual space and the process of address translation will be explained with reference to FIGS. 1 and 10.
本実施例では第10図図(a)に示すように1つの仮想
空間は4つのセクションから成る。1つの仮想空間は4
ギガバイトの大きさを持ち、1つのセクションは1ギガ
バイトの大きさを持つ。1つのセクションは1024個
のエリアから成る。エリアは1メガバイトの大きさを持
つ。1つのエリアは256個のページから成る。ページ
は4キロバイトの大きさを持つ。In this embodiment, one virtual space consists of four sections as shown in FIG. 10(a). One virtual space is 4
It has a size of gigabytes, and one section has a size of 1 gigabyte. One section consists of 1024 areas. The area has a size of 1 megabyte. One area consists of 256 pages. A page has a size of 4 kilobytes.
第10図ら)は仮想アドレスの各フィールドの構成を示
す。セクション番号を指定するフィールド1005は2
ビツトであり、エリア番号を指定するフィールド100
6は8ビツトである。また、ページ番号を指定するフィ
ールド1007は10ビツトであり、ページ内オフセッ
トを指定するフィールド1008は12ビツトである。FIG. 10 et al.) shows the structure of each field of the virtual address. Field 1005 specifying the section number is 2
A field 100 that is a bit and specifies the area number.
6 is 8 bits. Further, the field 1007 for specifying the page number is 10 bits, and the field 1008 for specifying the intra-page offset is 12 bits.
本実施例ではページング方式の仮想記憶方式を採用し、
中央処理装置内は仮想アドレスレジスタVAR101、
エリアテーブルレジスタATRO−3102を内蔵し、
主記憶装置にはエリアテーブル109、R−ジテーブル
111が設定される。エリアテーブル109はエリアテ
ーブルエントリ108から構成され、ページテーブル1
11はページテーブルエンドリ110から構成される。In this embodiment, a paging-based virtual memory method is adopted,
Inside the central processing unit is a virtual address register VAR101,
Built-in area table register ATRO-3102,
An area table 109 and an R-table 111 are set in the main memory. Area table 109 is composed of area table entries 108, and page table 1
11 is composed of a page table entry 110.
通常のアドレス変換ではバス201を通して仮想アドレ
スをV A R202にラッチする。In normal address translation, a virtual address is latched into V A R 202 through bus 201 .
仮想アドレスはビット31−30 (以下セクション番
号と略す)がATRO−3の1つを指定するフィールド
103になっておりATRO−3を選択する。In the virtual address, bits 31 to 30 (hereinafter abbreviated as section number) are a field 103 that specifies one of ATRO-3, and ATRO-3 is selected.
指定されたATRO−3は、エリアテーブルのベースア
ドレス、長さを示して右りVARのビット29−20
(以下エリア番号と略す)が指定された長さの範囲内に
入っているかをチエツクする。範囲内に入っていればエ
リアテーブル109のエリア番号で指定されるエリアテ
ーブルエントリ108を読み込む。The specified ATRO-3 indicates the base address and length of the area table and bits 29-20 of the right VAR.
(hereinafter abbreviated as area number) is within the specified length range. If it is within the range, the area table entry 108 specified by the area number of the area table 109 is read.
読み込んだエリアテーブルエントリは、ページテーブル
のベースアドレス、長さを示しておりVA R202の
とット19−12 (以下ページ番号と略す)が指定さ
れた範囲内に入っているかをチエツクする。範囲内に入
っていればページテーブル111のページ番号で指定さ
れるページテーブルエントリ110を読み込む。The read area table entry indicates the base address and length of the page table, and it is checked whether dots 19-12 (hereinafter abbreviated as page number) of the VAR 202 are within the specified range. If it is within the range, the page table entry 110 specified by the page number of the page table 111 is read.
読み込んだページテーブルエントリハ、実ページ番号1
13を示しており、この実ページ番号とVARのビット
1l−0(以下ページ内オフセットと略す)106 と
をあわせて実アドレスを構成して主起装置!114のデ
ータをアクセスする。Read page table entry, real page number 1
13, and this real page number and bits 1l-0 of VAR (hereinafter abbreviated as intra-page offset) 106 constitute a real address, and the host device! 114 data is accessed.
ここで割込み、例外などが発生しタスクが切り換わり、
同時に仮想アドレス空間も切り換わるとATRO−3の
値が変更され、アドレス変換時ニ参照するエリアテーブ
ル、ページテーブルが切り′換えられる。At this point, an interrupt, exception, etc. occurs and the task is switched.
At the same time, when the virtual address space is switched, the value of ATRO-3 is changed, and the area table and page table referred to during address translation are switched.
以上がアドレス変換の過程であるが主記憶装置アクセス
毎に上記のテーブルを参照していたのでは中央処理装置
の性能が低下する。このため通常、アドレス変換索引機
構(TLB)が用いられる。The above is the process of address conversion, but if the above table is referred to every time the main memory is accessed, the performance of the central processing unit will deteriorate. For this purpose, a translation address lookaside (TLB) is typically used.
TLBは第2図に示すようにAM211 、DM214
に最近に参照された仮想アドレス、実アドレス対を16
対まで記憶できるようになってふり、頻繁に参照される
仮想アドレスはTLBにより高速にアドレス変換できる
ようになっている。TLB is AM211, DM214 as shown in Figure 2.
16 recently referenced virtual address, real address pairs
It is now possible to store even pairs, and frequently referenced virtual addresses can be translated at high speed using the TLB.
次に、第2図を参照したTLBの動作を説明する。Next, the operation of the TLB will be explained with reference to FIG.
通常のアドレス変換において仮想アドレス201のバス
によりV A R202に転送される。V A R20
2に一担記憶された仮想アドレスの内、ページ内オフセ
ット以外の部分は212のバスによりAM211に転送
され、AM211の記憶する仮想アドレス、実アドレス
対と一致比較が行われ、一致信号213がDM214に
送られる。DM214では一致信号213に対応するエ
ントリの実アドレスが読み出され215のバスに出力さ
れ、RAR216に一担記憶される。In normal address translation, the virtual address 201 is transferred to the V A R 202 via the bus. VAR20
Of the virtual address stored in the DM 2, the portion other than the intra-page offset is transferred to the AM 211 via the bus 212, and compared with the virtual address and real address pair stored in the AM 211, and a match signal 213 is sent to the DM 214. sent to. The DM 214 reads out 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.
そしてM A R202のページ内オフセット204
とあわせて実アドレスを構成し、バス218に出力され
る。And the in-page offset 204 of M A R 202
Together with this, the real address is configured and output to the bus 218.
タイミングの詳細を第8図に示す。第8図のタイミング
図かられかるように、このTLBを用いたアドレス変換
は2クロツクで行われる。TLBにヒツトしなかった場
合、中央処理装置のマイクロプログラムによりエリアテ
ーブル、ページテーブル読み込み、TLBの入れ替え、
アドレス変換を行う。このときのアドレス変換時間はT
LBにビットした時の10倍以上の時間が必要となる。The details of the timing are shown in FIG. As can be seen from the timing diagram of FIG. 8, address translation using this TLB is performed in two clocks. If the TLB is not hit, the microprogram of the central processing unit reads the area table and page table, replaces the TLB,
Perform address translation. The address conversion time at this time is T
This requires more than 10 times the time required for biting LB.
このようにTLBに仮想アドレス、実アドレス対を記憶
させることによりアドレス変換が大幅ニ高速化される。By storing pairs of virtual addresses and real addresses in the TLB in this way, address translation can be greatly speeded up.
このTLBは小容量(本実施例では16エントリ)では
あるが、最近参照された仮想アドレス、実アドレス対を
記憶すること(LRUアルゴリズム)、プログラムの局
所参照性により97−99%TLBにビットする。Although this TLB has a small capacity (16 entries in this embodiment), it stores recently referenced virtual addresses and real address pairs (LRU algorithm), and the bits in the TLB are 97-99% due to the local referentiality of the program. .
しかし、割込み、例外などによりタスクが切り換わり、
仮想アドレス空間も切り換わると、ATRO−3の値も
変更され、アドレス変換時に参照されるエリアテーブル
、ページテーブルも切り換わる。この時TLBに記憶さ
れている情報は以前の仮想アドレス空間のものであり、
TLBの内容をクリアする必要がある。従来はTLBの
全エントリをクリアしていたが本発明ではATRO−3
のうち値の変わったATRに属するTLBのエントリの
みをクリアするようになっている。TLBのクリアは1
0000参照回ごとに全エントリをクリアすると約1%
TLBのビット率が低下することが知られている。この
ビット率の低下を防ぐために、本発明では、全エントリ
のクリアではなく、値の変わったATRに属するTLB
のエン) IJのみをクリア(以下セクションクリアと
略す)するようになっている。However, tasks are switched due to interrupts, exceptions, etc.
When the virtual address space is also switched, the value of ATRO-3 is also changed, and the area table and page table referred to during address translation are also switched. The information stored in the TLB at this time is from the previous virtual address space,
It is necessary to clear the contents of TLB. Conventionally, all TLB entries were cleared, but in the present invention, ATRO-3
Only the TLB entries belonging to the ATR whose value has changed are cleared. TLB clear is 1
Approximately 1% if all entries are cleared every 0000 references
It is known that the bit rate of TLB decreases. In order to prevent this bit rate from decreasing, in the present invention, rather than clearing all entries, the TLB belonging to the ATR whose value has changed is
En) It is designed to clear only IJ (hereinafter abbreviated as section clear).
第2図及び第8図を参照したこのTLBセクションクリ
アの動作を説明する。This TLB section clearing operation will be explained with reference to FIGS. 2 and 8.
第2図において、RM2O3はV A R202のAT
RO−3の1つを指定するフィールド、ビット3l−3
0(セクション番号)を記憶し、V A R202のセ
クション番号と一致比較する機能を持つ連想メモリであ
る。このRM2O3は一致信号209がAM211の妥
当性ビット210のリセ・/上端子に接続されている。In Figure 2, RM2O3 is AT of V A R202
Field specifying one of RO-3, bit 3l-3
It is an associative memory that stores 0 (section number) and has the function of comparing it with the section number of the V A R 202. The match signal 209 of this RM2O3 is connected to the reset/top terminal of the validity bit 210 of AM211.
ここでRM2O3はAM211の記憶する仮想アドレス
のビット31−30 (セクション番号)と同じもの、
コピーを記憶するようになっている。Here, RM2O3 is the same as bits 31-30 (section number) of the virtual address stored in AM211,
The copy is memorized.
仮想アドレス空間切り換え時には、中央処理装置のマイ
クロプログラムにより旧仮想アドレス空間のATRO−
3の値と新仮想アドレス空間のATPO−3の値を比較
し、値の変わったATRを検出する。この値の変わった
ATRに属するTLBのエントリをクリアするわけであ
る。When switching the virtual address space, the microprogram of the central processing unit switches the old virtual address space ATRO-
The value of 3 is compared with the value of ATPO-3 in the new virtual address space, and an ATR whose value has changed is detected. This clears the TLB entry belonging to the ATR whose value has changed.
まず値の変わったATRの番号(セクション番号)をV
Aババス01を通してM A R202に転送する。V
A R202に一担記憶されたセクション番号はバス
203を通してRM2O3に転送される。RM208は
バス203から送られてきたセクション番号とRM2O
3の各エントリに記憶されているセクション番号を比較
し一致していれば一致信号209をアクティブにしてA
M211の妥当性ビットのリセット端子に送られAM2
11の対応するエントリの妥当性ビットがリセットされ
る。First, enter the ATR number (section number) whose value has changed by
The data is transferred to the MAR 202 through the AB bus 01. V
The section number stored in AR202 is transferred to RM2O3 via bus 203. RM208 is the section number sent from bus 203 and RM20
Compare the section numbers stored in each entry of 3 and if they match, activate the match signal 209 and
AM2 is sent to the reset terminal of the validity bit of M211.
The validity bits of the 11 corresponding entries are reset.
タイミングの詳細は第9図に示す。この図で示すように
1つのセクションに属するTLBのエントリのクリアに
2クロツク必要となる。これは中央処理装置のマイクロ
プログラムにより1エントリずつクリアするより大幅に
高速化され、このときTLBを全クリアするよりもAT
RO−3のうち値が変わったATRに属するTLBのエ
ントリのみをクリアする方がTLBの性能(ビット率)
が良いことは言うまでもない。Details of the timing are shown in FIG. As shown in this figure, two clocks are required to clear the TLB entry belonging to one section. This is much faster than clearing each entry one by one using the microprogram of the central processing unit, and at this time, it is faster than clearing the entire TLB.
Clearing only the TLB entries belonging to the ATR whose value has changed in RO-3 improves TLB performance (bit rate).
Needless to say, it's good.
実施例2 次に、本発明の第二の実施例について説明する。Example 2 Next, a second embodiment of the present invention will be described.
第11図は本発明の第二の実施例を用いたTLBの構成
を示すブロック図である。FIG. 11 is a block diagram showing the configuration of a TLB using the second embodiment of the present invention.
前記の第一の実施例ではVARのセクション番号に一致
するTLBのエン) +7の無効化についての例を示し
たが、これがエリア番号であってもかまわない。第二の
実施例ではこのエリア番号によってTLBのクリアを行
うものである。In the first embodiment, an example of invalidating the TLB en) +7 that matches the VAR section number is shown, but this may also be an area number. In the second embodiment, the TLB is cleared using this area number.
仮想アドレスをTLBに転送するためのバス1101i
、Jlサレ?:V A R1102(7)B I T2
9−20 (エリア番号)を指定するフィールドがRM
1108に接続されており、RM1108はエリア番号
を記憶するようになっている。Bus 1101i for transferring virtual addresses to TLB
, Jl sale? :V A R1102 (7) B I T2
The field specifying 9-20 (area number) is RM
1108, and the RM 1108 stores the area number.
そして、TLBクリア時にはVAR1102のエリア番
号とRM1108内のエアリ番号を比較し一致していれ
ば、一致信号1109をアクティブにして対応するAM
IIIIの妥当性ビット1110をリセットし、対応す
るTLBの記憶する仮想アドレス、実アドレス対をクリ
アする。この第二の実施例によりエリア単位のTLBク
リアも高速化することができる。When clearing the TLB, the area number in the VAR 1102 and the air area number in the RM 1108 are compared, and if they match, the match signal 1109 is activated and the corresponding AM
The validity bit 1110 of III is reset, and the virtual address/real address pair stored in the corresponding TLB is cleared. This second embodiment also makes it possible to speed up TLB clearing in area units.
発明の詳細
な説明したように、本発明によるならば、仮想アドレス
空間切り換え時に、
TLBを全クリアするよりもATRO−3のうち値が変
わったATRに属するTLBのエントリのみをクリアす
る方がTLBの有効なエントリが残る確率が高いのでT
LBの性能(ビット率)が良くなる。As described in detail, according to the present invention, when switching virtual address spaces, it is better to clear only the TLB entries belonging to the ATR whose value has changed in ATRO-3 than to clear the entire TLB. Since the probability that valid entries remain is high, T
LB performance (bit rate) improves.
更に、TLBにセクションクリア専用ハードウェアを設
けることにより中央処理装置のマイクロプログラムによ
るクリアより高速化され、仮想アドレス空間切り換えに
必要な時間が短縮される。Furthermore, by providing hardware dedicated to section clearing in the TLB, the speed is faster than clearing by a microprogram of the central processing unit, and the time required for virtual address space switching is shortened.
かくして、TLBの性能(ビット率)の低下を招くこと
なく、アドレス変換索引機構の無効化を高速化すること
ができる。In this way, it is possible to speed up the invalidation of the address translation indexing mechanism without causing a decrease in TLB performance (bit rate).
第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 ・
・セクション単位のクリアを行う連想メモリ (RM)
−
210・・各エン) IJの内容の妥当性を示すビット
211 ・・連想メモリAM
214 ・・AMに記憶されている仮想アドレスに対
応する実アドレスを記憶するための
メモリ (DM)FIG. 1 is a diagram showing the process of address translation in an embodiment of the present invention. FIG. 2 is a block diagram showing the configuration of the TLB in the embodiment of the present invention. FIG. 3 is a block diagram showing the configuration of the associative memory of the TLB in the embodiment of the present invention. FIG. 4 is a diagram showing the configuration of the validity bit 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 structure of one bit of the associative memory of the TLB in the embodiment of the present invention. FIG. 6 is a block diagram showing the configuration of a TLB in one conventional example. FIG. 7 is a block diagram showing the configuration of a TLB in another conventional example. FIG. 8 is a timing chart showing the timing of TLB address translation in the embodiment of the present invention. FIG. 9 is a timing chart showing the timing of TLB section clear in the embodiment of the present invention. FIG. 10 is a diagram showing the configuration of a multiple virtual address space in an embodiment of the present invention. FIG. 11 is a block diagram showing the configuration of the TLB in the second embodiment of the present invention. [Main reference numbers] 202...Register VAR for storing a virtual address 203...Field 203 that specifies the section number of the virtual address 204...Field 205 that specifies the in-page oraset of the virtual address 205...Register Address decoder 208 ・
- Content addressable memory (RM) that clears sections
- 210...Each en) Bit 211 indicating the validity of the contents of IJ...Associative memory AM 214...Memory for storing the real address corresponding to the virtual address stored in AM (DM)
Claims (1)
る情報処理装置において、アドレス変換時の仮想アドレ
スの一致比較機能により一致するエントリに対応する実
アドレスを読み出す手段に加え、仮想アドレスの一部分
の一致比較手段を有し、前記仮想アドレスの一部分の一
致比較手段により前記仮想アドレスの一部分に一致する
エントリに対応する前記アドレス変換索引機構の記憶す
る仮想アドレス、実アドレスのみを無効化することを特
徴とするアドレス変換索引機構無効化装置。In an information processing device that adopts a multiple virtual memory system and is equipped with an address translation index mechanism, in addition to a means for reading out a real address corresponding to a matching entry using a virtual address match comparison function during address translation, a match comparison function for a part of the virtual address is also provided. and a means for comparing a portion of the virtual address to invalidate only the virtual address and real address stored in the address translation indexing mechanism that correspond to the entry that matches the portion of the virtual address. Address translation index mechanism disabling device.
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 true JPH01149153A (en) | 1989-06-12 |
JPH0690686B2 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) |
Cited By (3)
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 |
JP2012068741A (en) * | 2010-09-21 | 2012-04-05 | Fujitsu Ltd | Memory access control program, memory access control method and information processor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6091462A (en) * | 1983-10-26 | 1985-05-22 | Toshiba Corp | Arithmetic controller |
-
1987
- 1987-12-07 JP JP62309218A patent/JPH0690686B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6091462A (en) * | 1983-10-26 | 1985-05-22 | Toshiba Corp | Arithmetic controller |
Cited By (4)
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 |
US6598147B1 (en) | 1998-05-01 | 2003-07-22 | Matsushita Electric Industrial Co., Ltd. | Data processing device and method |
JP2004164395A (en) * | 2002-11-14 | 2004-06-10 | Renesas Technology Corp | Address converter |
JP2012068741A (en) * | 2010-09-21 | 2012-04-05 | Fujitsu Ltd | Memory access control program, memory access control method and information processor |
Also Published As
Publication number | Publication date |
---|---|
JPH0690686B2 (en) | 1994-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4068303A (en) | Address translation managing system with translation pair purging | |
KR920005280B1 (en) | High speed cache system | |
EP0036110B1 (en) | Cache addressing mechanism | |
EP0431463A2 (en) | Two-level translation look-aside buffer using partial addresses for enhanced speed | |
JP3666689B2 (en) | Virtual address translation method | |
US4792897A (en) | Address translation unit for translation of virtual address to real address using translation tables of multi-level hierarchical structure | |
US6098150A (en) | Method and apparatus for fetching information from a cache memory | |
EP0506236A1 (en) | Address translation mechanism | |
GB1487078A (en) | Buffered virtual storage and data processing system | |
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 | |
US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
US6385696B1 (en) | Embedded cache with way size bigger than page size | |
US6560689B1 (en) | TLB using region ID prevalidation | |
US7472227B2 (en) | Invalidating multiple address cache entries | |
US5341485A (en) | Multiple virtual address translation per computer cycle | |
JPH0371355A (en) | Apparatus and method for retrieving cache | |
EP0173909A2 (en) | Look-aside buffer least recently used marker controller | |
KR100278895B1 (en) | Data processor | |
JPH01149153A (en) | Address converting index mechanism invalidating device | |
JP2000122929A (en) | Information processor | |
US4424564A (en) | Data processing system providing dual storage of reference bits | |
US6134699A (en) | Method and apparatus for detecting virtual address parity error for a translation lookaside buffer | |
JPS5922315B2 (en) | Buffer memory control method |