JPH04360252A - Address conversion system for virtual storage in computer - Google Patents
Address conversion system for virtual storage in computerInfo
- Publication number
- JPH04360252A JPH04360252A JP3162167A JP16216791A JPH04360252A JP H04360252 A JPH04360252 A JP H04360252A JP 3162167 A JP3162167 A JP 3162167A JP 16216791 A JP16216791 A JP 16216791A JP H04360252 A JPH04360252 A JP H04360252A
- Authority
- JP
- Japan
- Prior art keywords
- address space
- tlb
- translation
- logical address
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title abstract description 8
- 239000000872 buffer Substances 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Abstract
Description
【0001】0001
【産業上の利用分野】この発明は、計算機の仮想記憶に
おけるアドレス変換方式に係わり、特にトランスレーシ
ョンルッキングアサイドバッファを用いたアドレス変換
の高速化に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address translation method in virtual memory of a computer, and particularly to speeding up address translation using a translation looking aside buffer.
【0002】0002
【従来の技術】仮想記憶方式において、トランスレーシ
ョンルッキングアサイドバッファ(以下、TLBと呼ぶ
)は、アドレス変換テーブルを用いた論理アドレスから
物理アドレスへの変換結果を記憶する緩衝記憶装置とし
て動作し、アドレス変換過程を排除せしめることにより
アドレス変換の高速化を図ることを目的として使用され
るが、従来、TLBの1エントリによって示される変換
結果によりカバーできるアドレス空間の広さ,すなわち
ブロック長は固定的であった。なお、これに関する技術
は、文献「Computer Architectur
ea Quantitative Approach
chap.8」(John L. Hennessy
& David A. Patterson,Mora
an Kanfmann Pablishers,In
c.)に示されている。2. Description of the Related Art In a virtual memory system, a translation looking aside buffer (hereinafter referred to as TLB) operates as a buffer storage device that stores the results of translation from a logical address to a physical address using an address translation table. It is used for the purpose of speeding up address translation by eliminating the translation process, but conventionally, the width of the address space that can be covered by the translation result indicated by one TLB entry, that is, the block length, is fixed. there were. The technology related to this is described in the document "Computer Architectural
ea Quantitative Approach
chap. 8” (John L. Hennessy
& David A. Patterson, Mora
An Kanfmann Publishers, In
c. ) is shown.
【0003】0003
【発明が解決しようとする課題】以上のように、従来、
TLBの1エントリでカバーできるブロック長が固定的
であるため、TLB複数エントリ分の連続した論理アド
レス空間に対し、同様に連続した物理アドレス空間が対
応している場合にも、該数分のTLBエントリを用意す
る必要があり、TLBエントリの冗長な使用となってい
た。[Problem to be solved by the invention] As mentioned above, conventionally,
Since the block length that can be covered by one TLB entry is fixed, even if a consecutive logical address space for multiple TLB entries corresponds to a similarly consecutive physical address space, the TLB for that number of entries is It is necessary to prepare an entry, which results in redundant use of TLB entries.
【0004】この発明は上記のような課題を解決するた
めになされたもので、TLBの使用効率の向上を図るこ
とを目的としている。[0004] The present invention was made to solve the above-mentioned problems, and its purpose is to improve the efficiency of TLB use.
【0005】[0005]
【課題を解決するための手段】この発明は、論理アドレ
スから物理アドレスへの変換結果を記憶するTLBを用
いた計算機の仮想記憶におけるアドレス変換方式におい
て、上記TLBを階層的に備えるとともに、各階層毎に
アドレス変換すべき有効ビット数を保持する有効ビット
数格納用レジスタを設けることにより、TLBの1エン
トリによって示される変換結果によりカバーできるアド
レス空間の広さ,すなわちブロック長をユーザ指定で階
層的に可変とし、連続して対応する論理アドレス空間と
物理アドレス空間の広さに応じて各階層を使用しアドレ
ス変換するようにしたものである。[Means for Solving the Problems] The present invention provides an address translation method in a virtual memory of a computer using a TLB that stores the result of translation from a logical address to a physical address. By providing a register for storing the number of effective bits that holds the number of effective bits to be converted for each address, the width of the address space that can be covered by the conversion result indicated by one TLB entry, that is, the block length, can be hierarchically specified by the user. The address conversion is performed using each layer according to the width of the corresponding logical address space and physical address space.
【0006】[0006]
【作用】この発明においては、連続した論理アドレス空
間に対し、より大きな連続した物理アドレス空間が対応
しているときは、より大きなブロック長の階層からエン
トリを使用することにより、必要なTLBエントリ数を
削減することができる。これにより、制限された容量の
TLB用緩衝記憶装置で、より大きな論理アドレス空間
を物理アドレス空間に対応付けすることができる。[Operation] In this invention, when a larger continuous physical address space corresponds to a continuous logical address space, the required number of TLB entries is increased by using entries from a layer with a larger block length. can be reduced. This allows a larger logical address space to be associated with a physical address space using a TLB buffer storage device with a limited capacity.
【0007】[0007]
【実施例】以下、この発明の一実施例を図について説明
する。図1に、本実施例によるアドレス変換機構の構成
を示す。図において、101a〜101dは有効ビット
数格納用レジスタ、102a〜102dはTLBであり
、4つに階層分けしたそれぞれのTLB102a〜10
2d毎に有効ビット数格納用レジスタ101a〜101
dが備えられている。ここではアドレスを32ビット幅
とし、各階層におけるブロック長は4KBの倍数である
。有効ビット数格納用レジスタ101a〜101dは、
対応するTLB102a〜102dのブロック長による
,アドレス変換すべき有効ビット数を保持しており、こ
の内容はユーザが必要に応じて書き換えることができる
。各レジスタ101a〜101dに図示のような有効ビ
ット数が設定されているとすれば、最上層のTLB10
2aにおける1エントリのブロック長は1024KB、
第2層のTLB102bにおける1エントリのブロック
長は128KB、第3層のTLB102cにおける1エ
ントリのブロック長は16KB、最下層のTLB102
dにおける1エントリのブロック長は4KBとなる。図
2はTLBエントリの一例で、論理アドレスのレジスタ
101a〜101dによる上位有効ビット数分に相当す
る論理アドレスタグと、該上位有効ビット数分の物理ア
ドレス、及びプロテクト情報等の属性情報からなる。DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows the configuration of the address translation mechanism according to this embodiment. In the figure, 101a to 101d are registers for storing the number of effective bits, 102a to 102d are TLBs, and each TLB 102a to 10 is divided into four layers.
Registers 101a to 101 for storing the number of effective bits every 2d
d is provided. Here, the address is 32 bits wide, and the block length in each layer is a multiple of 4KB. Registers 101a to 101d for storing the number of effective bits are as follows:
It holds the effective number of bits to be converted into an address based on the block length of the corresponding TLB 102a to 102d, and this content can be rewritten by the user as necessary. If each register 101a to 101d is set to the effective number of bits as shown in the figure, then the top layer TLB 10
The block length of one entry in 2a is 1024KB,
The block length of one entry in the second layer TLB 102b is 128KB, the block length of one entry in the third layer TLB 102c is 16KB, and the bottom layer TLB 102
The block length of one entry in d is 4KB. FIG. 2 shows an example of a TLB entry, which includes a logical address tag corresponding to the number of upper effective bits of the logical address registers 101a to 101d, a physical address corresponding to the number of upper effective bits, and attribute information such as protect information.
【0008】次に、本実施例によるアドレス変換方式に
ついて図3に示すフローチャートに基づき説明する。ス
テップ300に示すTLB階層の最上層から、ステップ
301に示すサーチを行なう。このサーチは、論理アド
レスのレジスタ101a〜101dによる上位有効ビッ
トと各エントリ中の論理アドレスタグを比較することに
よって行なう。もし、ステップ302により全てのエン
トリについてヒットしなければ、ステップ303におい
て当該階層が最下層か否かを判定し、最下層でなければ
ステップ304により階層を一つ下げ、再びサーチする
。ステップ302においてヒットしたときは、ステップ
305により、該TLBエントリ中の有効物理アドレス
に該論理アドレスの上位有効ビットを除いたものを論理
和し、物理アドレスとする。どの階層においてもヒット
せずステップ303で最下層と判定されれば、ステップ
306においてページフォルトとして、CPUに例外通
知し、システムプログラムにより有効なTLBエントリ
がロードされる。なお、該TLBデータの初期データも
、システムプログラムによりロードされる。Next, the address conversion method according to this embodiment will be explained based on the flowchart shown in FIG. The search shown in step 301 is performed starting from the top layer of the TLB hierarchy shown in step 300. This search is performed by comparing the upper valid bits of the logical address registers 101a to 101d with the logical address tag in each entry. If no hits are found for all entries in step 302, it is determined in step 303 whether the hierarchy is the lowest one, and if it is not the lowest, in step 304 the hierarchy is lowered by one and the search is performed again. If there is a hit in step 302, in step 305, the valid physical address in the TLB entry minus the upper valid bits of the logical address are ORed together to obtain a physical address. If there is no hit in any hierarchy and it is determined in step 303 that it is the lowest level, an exception is notified to the CPU as a page fault in step 306, and a valid TLB entry is loaded by the system program. Note that the initial data of the TLB data is also loaded by the system program.
【0009】[0009]
【発明の効果】以上のように、本発明によれば、TLB
のエントリの示すブロック長を階層的に可変とすること
により、必要なTLBエントリ数を削減することができ
、これにより、制限された容量のTLB用緩衝記憶装置
で、より大きな論理アドレス空間を物理アドレス空間に
対応付けすることができ、TLBの使用効率の向上を図
ることができるとともに、計算機システムの高速化が期
待できる。また、有効ビット数格納用レジスタを備えて
、ユーザ指定でブロック長を階層的に可変とすることに
より、システムの論理アドレス空間や物理アドレス空間
に応じて最適のブロック長を設定することができる。[Effects of the Invention] As described above, according to the present invention, TLB
By making the block length indicated by the entries hierarchically variable, the number of required TLB entries can be reduced. This allows a larger logical address space to be physically It can be associated with the address space, and it is possible to improve the usage efficiency of the TLB, and it is expected that the speed of the computer system will be increased. Further, by providing a register for storing the number of effective bits and making the block length variable hierarchically according to user specifications, the optimum block length can be set according to the logical address space and physical address space of the system.
【図1】本発明の一実施例によるTLB装置の構成を示
す図である。FIG. 1 is a diagram showing the configuration of a TLB device according to an embodiment of the present invention.
【図2】本発明の一実施例によるTLBエントリの一例
を示す図である。FIG. 2 is a diagram illustrating an example of a TLB entry according to an embodiment of the invention.
【図3】本発明の一実施例によるアドレス変換アルゴリ
ズムを示すフローチャートである。FIG. 3 is a flowchart illustrating an address translation algorithm according to one embodiment of the invention.
101a〜101d 有効ビット数格納用レジスタ1
02a〜102d TLB101a to 101d Effective bit number storage register 1
02a-102d TLB
Claims (1)
換結果を記憶するトランスレーションルッキングアサイ
ドバッファを用いた計算機の仮想記憶におけるアドレス
変換方式において、上記トランスレーションルッキング
アサイドバッファを階層的に備えるとともに、各階層毎
にアドレス変換すべき有効ビット数を保持する有効ビッ
ト数格納用レジスタを設けることにより、トランスレー
ションルッキングアサイドバッファの1エントリによっ
て示される変換結果によりカバーできるアドレス空間の
広さをユーザ指定で階層的に可変とし、連続して対応す
る論理アドレス空間と物理アドレス空間の広さに応じて
各階層を使用しアドレス変換することを特徴とする計算
機の仮想記憶におけるアドレス変換方式。1. An address translation method in virtual memory of a computer using a translation looking aside buffer that stores a translation result from a logical address to a physical address, wherein the translation looking aside buffer is provided hierarchically, and each layer By providing a register for storing the number of effective bits that holds the number of effective bits to be translated for each address, the width of the address space that can be covered by the translation result indicated by one entry of the translation looking aside buffer can be hierarchically specified by the user. An address translation method in virtual memory of a computer, characterized in that address translation is performed using each layer according to the size of a logical address space and a physical address space that continuously correspond to each other.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3162167A JPH04360252A (en) | 1991-06-06 | 1991-06-06 | Address conversion system for virtual storage in computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3162167A JPH04360252A (en) | 1991-06-06 | 1991-06-06 | Address conversion system for virtual storage in computer |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04360252A true JPH04360252A (en) | 1992-12-14 |
Family
ID=15749300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3162167A Pending JPH04360252A (en) | 1991-06-06 | 1991-06-06 | Address conversion system for virtual storage in computer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04360252A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008136097A1 (en) * | 2007-04-24 | 2008-11-13 | Fujitsu Limited | Access control program, access control method, and access controller |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62274351A (en) * | 1986-05-23 | 1987-11-28 | Hitachi Ltd | Address conversion system |
JPH02189659A (en) * | 1988-12-15 | 1990-07-25 | Internatl Business Mach Corp <Ibm> | Address converter |
JPH0331967A (en) * | 1989-06-29 | 1991-02-12 | Fujitsu Ltd | Vector processor |
-
1991
- 1991-06-06 JP JP3162167A patent/JPH04360252A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62274351A (en) * | 1986-05-23 | 1987-11-28 | Hitachi Ltd | Address conversion system |
JPH02189659A (en) * | 1988-12-15 | 1990-07-25 | Internatl Business Mach Corp <Ibm> | Address converter |
JPH0331967A (en) * | 1989-06-29 | 1991-02-12 | Fujitsu Ltd | Vector processor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008136097A1 (en) * | 2007-04-24 | 2008-11-13 | Fujitsu Limited | Access control program, access control method, and access controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4562919B2 (en) | Method and apparatus for implementing dynamic display memory | |
Jacob et al. | Virtual memory: Issues of implementation | |
JP3640978B2 (en) | Memory address control device using hash address tag in page table | |
US5313611A (en) | Method and apparatus for maintaining a lookup table for storing function values | |
JP3666689B2 (en) | Virtual address translation method | |
EP2350833B1 (en) | Opportunistic page largification | |
JPH04320553A (en) | Address converting mechanism | |
JPH0816479A (en) | Memory-address space management | |
KR20080041707A (en) | Tlb lock indicator | |
JP2000122927A (en) | Computer system gaining access with virtual area number | |
US20070239960A1 (en) | Data processor and IP module for data processor | |
JPS61141055A (en) | Information processor | |
JPH08320830A (en) | Data processor | |
US6427162B1 (en) | Separate code and data contexts: an architectural approach to virtual text sharing | |
JP2009512943A (en) | Multi-level translation index buffer (TLBs) field updates | |
JP2000227874A (en) | Method and device for addressing contents of main memory including directory structure in computer system | |
KR910001314B1 (en) | Method for operating data processing system | |
WO2005078590A2 (en) | Address conversion technique in a context switching environment | |
KR960032197A (en) | Memory management method and system and data processing system | |
JP2001134486A (en) | Microprocessor and storage device | |
JPH04360252A (en) | Address conversion system for virtual storage in computer | |
JPS623354A (en) | Cache memory access system | |
KR920005296B1 (en) | Information processing device | |
JP2000267932A (en) | Tag address comparing device | |
JP2001022640A (en) | Memory managing method |