JPH0351015B2 - - Google Patents
Info
- Publication number
- JPH0351015B2 JPH0351015B2 JP59223240A JP22324084A JPH0351015B2 JP H0351015 B2 JPH0351015 B2 JP H0351015B2 JP 59223240 A JP59223240 A JP 59223240A JP 22324084 A JP22324084 A JP 22324084A JP H0351015 B2 JPH0351015 B2 JP H0351015B2
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- logical address
- registered
- address
- segment
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、多重仮想記憶システムにおいて仮想
アドレスを実アドレスに高速変換するために使用
されるTLB(Translation Lookaside Buffer)
の制御方式に関し、特に多重仮想空間内の共通領
域のように、異なる仮想空間で同じ内容のアドレ
ス変換が行われる場合に、TLBを効率的に機能
させるためのTLB制御方式に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a TLB (Translation Lookaside Buffer) used for high-speed translation of virtual addresses to real addresses in a multiple virtual memory system.
This invention relates to a TLB control method for making the TLB function efficiently, particularly when address translation for the same content is performed in different virtual spaces, such as in a common area in multiple virtual spaces.
セグメンテーシヨンおよびページング方式の多
重仮想記憶システムでは、実行されるプログラム
(ジヨブ)ごとに仮想空間が生成され、そして生
成された仮想空間には、空間固有の空間識別番号
STOによつて特定されるセグメントテーブルと
そのセグメントテーブルによつて参照されるペー
ジテーブルとを付属させることにより、空間相互
の領域保護や供用領域管理を行つている。
In a segmentation and paging-based multiple virtual storage system, a virtual space is created for each program (job) to be executed, and each created virtual space has a unique space identification number.
By attaching a segment table specified by the STO and a page table referenced by the segment table, mutual area protection and public area management are performed.
1つの仮想空間は、たとえば連続した256セグ
メントで構成され、さらにその1セグメントは連
続した16ページ、そして1ページは連続した4キ
ロバイトの領域で構成されている。各仮想空間
は、空間識別番号STOで識別される。また各論
理アドレスは、セグメント番号、ページ番号、ペ
ージ内変位で表されている。 One virtual space is made up of, for example, 256 consecutive segments, each segment is made up of 16 consecutive pages, and one page is made up of a consecutive 4 kilobyte area. Each virtual space is identified by a space identification number STO. Each logical address is represented by a segment number, page number, and displacement within the page.
仮想空間で走行するプログラムの論理アドレス
を実アドレスに変換するために、動的アドレス変
換(DAT)機構が使用される。 A dynamic address translation (DAT) mechanism is used to translate the logical addresses of programs running in virtual space into real addresses.
第2図は動的アドレス変換機構の概念図であ
り、図中の31は論理アドレスレジスタ、32は
空間識別番号STO、33はセグメントテーブル、
34はページテーブル、35は実アドレスレジス
タ、36は実記憶装置、37はTLBを示す。 FIG. 2 is a conceptual diagram of the dynamic address translation mechanism, in which 31 is a logical address register, 32 is a space identification number STO, 33 is a segment table,
34 is a page table, 35 is a real address register, 36 is a real storage device, and 37 is a TLB.
動作において、論理アドレスレジスタ31中の
セグメント番号により、空間識別番号STOが指
定されたセグメントテーブル33を参照し、セグ
メント番号に対応するセグメントのページテーブ
ル34の起点を示すページテーブルアドレスを求
める。これによりさらにページテーブル34を論
理アドレスレジスタ31中のページ番号を用いて
参照し、該当する実ページのアドレス、すなわち
実記憶装置36上のページの起点を示すアドレス
を求める。この実ページアドレスと論理アドレス
レジスタ31中のページ内変位とを組み合わせて
実アドレスレジスタ35中に実アドレスを生成
し、実記憶装置36あるいは図示されていないバ
ツフアメモリをアクセスする。 In operation, the segment table 33 designated by the space identification number STO is referred to based on the segment number in the logical address register 31, and the page table address indicating the starting point of the page table 34 of the segment corresponding to the segment number is determined. Thereby, the page table 34 is further referred to using the page number in the logical address register 31 to obtain the address of the corresponding real page, that is, the address indicating the starting point of the page on the real storage device 36. This real page address and the intra-page displacement in the logical address register 31 are combined to generate a real address in the real address register 35, and the real storage device 36 or a buffer memory (not shown) is accessed.
ここで論理アドレスレジスタ31中のセグメン
ト番号とページ番号の組み合わせは、論理ページ
アドレスと呼ぶことにする。この論理ページアド
レスがセグメントテーブルおよびページテーブル
を用いて、実ページアドレスに変換されたとき、
そのアドレス対は、TLB37に登録される。
TLB37は、高速のバツフアメモリであり、最
近使用された論理アドレスの変換データを一定量
保持し、直接変換を可能にする。すなわち、セグ
メントテーブル33およびページテーブル34を
用いる動的アドレス変換方法が2回のメモリアク
セスを必要とし、変換時間が長くかかることに対
する改善手段となつている。なお、TLBを構成
する複数のエントリ(テーブル行)はウエイ
(WAY)と呼ばれている。 Here, the combination of the segment number and page number in the logical address register 31 will be called a logical page address. When this logical page address is converted to a real page address using the segment table and page table,
The address pair is registered in the TLB 37.
The TLB 37 is a high-speed buffer memory that holds a certain amount of translation data of recently used logical addresses and enables direct translation. That is, this is an improvement over the dynamic address conversion method using the segment table 33 and page table 34, which requires two memory accesses and takes a long conversion time. Note that a plurality of entries (table rows) making up the TLB are called a way.
TLB37の登録更新は、LRU(Least
Recently Used)法に基づいて、最近もつとも使
用されていない変換データを追い出し、その後に
新しい変換データを書き込むことによつて行われ
る。 To update TLB37 registration, LRU (Least
This is done by evicting conversion data that has not been used recently and then writing new conversion data based on the Recently Used method.
ところで多重仮想空間では、制御プログラムお
よびテーブルを常駐させておくシステム領域や共
通領域が各空間で同一の実アドレスをもつことに
なる。したがつてこれらのシステム領域や共通領
域に対応するセグメントは、同一のページテーブ
ルを共用することができる。また同様にしてこれ
らの領域のセグメントはTLB37内の変換デー
タを共用することができる。これらの空間共通の
セグメントは、コモンセグメントと呼ばれてい
る。 By the way, in multiple virtual spaces, the system area and common area in which control programs and tables are kept resident have the same real address in each space. Therefore, segments corresponding to these system areas and common areas can share the same page table. Similarly, segments in these areas can share conversion data in the TLB 37. These spatially common segments are called common segments.
コモンセグメントを識別可能にするため、第2
図のセグメントテーブル33内にCSで示されて
いるように、各空間のセグメントテーブルにはセ
グメントごとにCS(コモンセグメント)ビツトが
設けられ、各コモンセグメントについては、その
CSビツトが“1”に設定される。 In order to make the common segment distinguishable, the second
As shown by CS in the segment table 33 in the figure, a CS (common segment) bit is provided for each segment in the segment table of each space.
CS bit is set to “1”.
各コモンセグメント領域内の論理アドレスの変
換については、空間識別番号STOを無視され、
それぞれの空間の論理アドレスは、単一空間の論
理アドレスであるかのように取扱われて、同じセ
グメントテーブルおよびページテーブルを用いて
実アドレスに変換される。 Regarding the translation of logical addresses within each common segment area, the space identification number STO is ignored,
The logical addresses of each space are treated as if they were logical addresses of a single space and are translated to real addresses using the same segment and page tables.
この場合、TLB37にもCSビツト(第2図参
照)が設けられており、コモンセグメント領域の
変換データとして共用されるものであるか否かが
表示される。 In this case, the TLB 37 is also provided with a CS bit (see FIG. 2), which indicates whether or not the data is shared as conversion data for the common segment area.
仮想空間は、IPL直後は第3図aに示すように
単一であり(STO#0)、その全てのセグメント
エントリのCSビツトは“0”にクリアされてい
るが、以後並行処理されるプログラムが増加する
ごとに第3図bに示すように多重化されてゆき
(STO#0ないし#n)、それとともに、それぞ
れのセグメントテーブル内でコモンセグメントの
CSビツトが“1”に切り替えられる。 Immediately after IPL, the virtual space is single (STO#0) as shown in Figure 3a, and the CS bits of all segment entries are cleared to "0", but after that, programs that are processed in parallel As the number of common segments increases, it is multiplexed as shown in Figure 3b (STO#0 to #n), and at the same time, the number of common segments is
CS bit is switched to “1”.
しかし、これら各仮想空間のセグメントテーブ
ルのコモンセグメントについて、CSビツトが
“1”に切り替えられた時点では、TLB37内に
ある本来コモンセグメント領域に含まれる筈の変
換データのCSビツトは“0”の状態にあり、こ
れがCS=“1”に書き替えられるまでは、増設さ
れた仮想空間のコモンセグメント領域に含まれる
論理アドレスを変換しようとすると、TLB37
内には変換データが不存在(TLB Miss)とされ
る。そしてセグメントテーブル33およびページ
テーブル34を用いて新たにアドレス変換を行
い、得られた変換データは、TLB37のLRU論
理に基づくウエイにCS=“1”で登録される。こ
のため、TLBには同一内容の複数の変換データ
が登録されることになり、その後のアドレス変換
で、TLBの複数のウエイの変換データがヒツト
する、いわゆるマルチウエイヒツト(Multi
way Hit)が生じる。 However, when the CS bit of the common segment in the segment table of each of these virtual spaces is switched to "1", the CS bit of the conversion data that should originally be included in the common segment area in the TLB37 is "0". state, and until this is rewritten to CS="1", when attempting to convert a logical address included in the common segment area of the added virtual space, TLB37
It is assumed that there is no conversion data within (TLB Miss). Then, new address translation is performed using the segment table 33 and page table 34, and the obtained translated data is registered in the way based on the LRU logic of the TLB 37 with CS="1". Therefore, multiple pieces of conversion data with the same content are registered in the TLB, and in the subsequent address conversion, the conversion data of multiple ways in the TLB is hit, so-called multi-way hit (Multi-way hit).
way hit) occurs.
以下に第3図の例を用いて、マルチウエイヒツ
トが生じる過程を第4図に乃至で示す。なお
第3図においては、各空間(空間識別番号#0乃
至#n)の各コモンセグメント領域内の論理アド
レスAがアクセスされるものとする。 Using the example shown in FIG. 3, the process by which multi-way hits occur will be illustrated in FIGS. In FIG. 3, it is assumed that the logical address A in each common segment area of each space (space identification numbers #0 to #n) is accessed.
まずは、第3図aのIPL直後に行われた単一
の空間#0における論理アドレスAのアクセス状
態であり、このとき、TLBのウエイ#0には、
CS=“0”、STO=#0、論理アドレス=Aの変
換データが登録されるが、他方、ウエイ#1に
は、CS=“0”、STO=#0と他の論理アドレス
=Bが登録されているものとする。 First, the access state of the logical address A in the single space #0 performed immediately after the IPL in Figure 3a, and at this time, the way #0 of the TLB is
Conversion data with CS="0", STO=#0, and logical address=A is registered, but on the other hand, way #1 has CS="0", STO=#0, and another logical address=B. It is assumed that it is registered.
は、第3図bの多重空間状態において、
STO#1の空間から論理アドレスAのアクセス
が要求された場合である。しかしTLBのウエイ
#0はCS=“0”およびSTO=#0で不一致とな
り、他方ウエイ#1はSTO=#0および論理ア
ドレス=Bで不一致となるため、TLB Missとな
る。 In the multi-space state of Fig. 3b,
This is a case where access to logical address A is requested from the space of STO #1. However, TLB way #0 has a mismatch with CS=“0” and STO=#0, while way #1 has a mismatch with STO=#0 and logical address=B, resulting in a TLB Miss.
は、でのTLB Missの結果、STO#1の
空間のセグメントテーブルおよびページテーブル
を用いて得た変換データをTLBに登録した状態
である。この場合、LRU論理によりTLBのウエ
イ#1に、CS=1、STO=#1、論理アドレス
=Aが登録される。 As a result of the TLB Miss in , the conversion data obtained using the segment table and page table of the STO #1 space is registered in the TLB. In this case, CS=1, STO=#1, and logical address=A are registered in way #1 of TLB by LRU logic.
では、STO#0の空間から論理アドレスA
のアクセス要求が出され、ウエイ#0の変換デー
タが一致し、さらにウエイ#1がCS=1である
ことから空間識別番号のSTO=#1が無視され、
ここでもアドレスの一致が得られ、マルチウエイ
ヒツトとなる。 Now, from the STO#0 space to the logical address A
An access request is issued, the conversion data of way #0 matches, and since way #1 has CS=1, the space identification number STO=#1 is ignored,
Here too, an address match is obtained, resulting in a multiway hit.
本発明は、従来のコモンセグメントを使用する
動的アドレス変換機構において、コモンセグメン
ト間で重複変換データがTLBに登録されること
によりマルチウエイヒツトが発生する問題を解決
しようとするものである。
The present invention attempts to solve the problem of multiway hits occurring due to redundant translation data being registered in the TLB between common segments in a conventional dynamic address translation mechanism using common segments.
本発明は、コモンセグメント領域内の論理アド
レスの変換で得られた新しい変換データをTLB
に登録する際、空間識別番号を無視して、同一論
理アドレスがTLB内に存在しているか否かをチ
エツクし、存在していればそのウエイに新しい変
換データを登録するようにして、重複変換データ
に基づくマルチウエイヒツトの発生を防止するも
ので、その構成は、コモンセグメントビツトを有
するTLBをそなえた多重仮想記憶システムにお
いて、上記TLBにコモンセグメントの論理アド
レスであることを表すコモンセグメントビツトが
“1”の論理アドレスを登録する際に、まず当該
論理アドレスと同一の論理アドレスがTLBに登
録されているか否かを調べ、登録されている場合
にはそのウエイに上記コモンセグメントビツトが
“1”の論理アドレスを登録し、また登録されて
いない場合にはLRU論理に基づき指示されたウ
エイに上記コモンセグメントビツトが“1”の論
理アドレスを登録することを特徴とするものであ
る。
The present invention transfers new conversion data obtained by converting logical addresses within the common segment area to the TLB.
When registering a way, the space identification number is ignored and the same logical address is checked to see if it exists in the TLB. If so, new conversion data is registered in that way to prevent duplicate conversion. This prevents the occurrence of multiway hits based on data, and its configuration is such that in a multiple virtual memory system equipped with a TLB having common segment bits, the TLB has a common segment bit indicating that it is a logical address of a common segment. When registering a logical address of "1", first check whether the same logical address as the logical address is registered in the TLB, and if it is registered, the common segment bit is set to "1" in that way. ” is registered, and if the logical address is not registered, the logical address whose common segment bit is “1” is registered in the designated way based on LRU logic.
以下に、本発明の詳細を実施例にしたがつて説
明する。
The details of the present invention will be explained below with reference to Examples.
第1図は本発明の1実施例システムの構成図で
あり、1はTLBウエイ1、2はTLBウエイ23
は論理アドレスレジスタ、4は実ページアドレス
レジスタ、5は空間識別番号レジスタ、6はコモ
ンセグメントビツトレジスタ、7〜10は比較
器、12,13,21および24はORゲート、
14,15,20,22,23,26および27
はNANDゲート、17〜19および25はイン
バータ、11はデータセレクタを示す。 FIG. 1 is a configuration diagram of a system according to an embodiment of the present invention, in which 1 is a TLB way 1, 2 is a TLB way 23
is a logical address register, 4 is a real page address register, 5 is a space identification number register, 6 is a common segment bit register, 7 to 10 are comparators, 12, 13, 21 and 24 are OR gates,
14, 15, 20, 22, 23, 26 and 27
is a NAND gate, 17 to 19 and 25 are inverters, and 11 is a data selector.
TLB1およびTLB2は、ページ番号の一部で
アドレス(ページ番号のうちTLBをアドレスす
る部分以外の部分およびセグメント番号からな
る)、実ページアドレス、空間識別番号STO、コ
モンセグメントビツトCS、バリツドビツトVで
構成されている。 TLB1 and TLB2 are part of the page number and consist of an address (consisting of the part of the page number other than the part that addresses the TLB and a segment number), real page address, space identification number STO, common segment bit CS, and valid bit V. has been done.
通常のTLB参照動作においては、SET NEW
ENTRY信号が“0”であり、変換データ登録時
には、SET NEW ENTRY信号が“1”に設定
される。 In normal TLB reference operation, SET NEW
The ENTRY signal is "0" and the SET NEW ENTRY signal is set to "1" when converting data is registered.
本実施例におけるTLBの参照動作は、従来の
方式と同じである。まずプログラムの論理アドレ
スが論理アドレスレジスタ3に設定されると、論
理アドレスレジスタ3中のページ番号の一部が、
TLB1およびTLB2に与えられる。TLB1およ
びTLB2からそのページ番号の一部に対応する
エントリの変換データが読み出される。ここでウ
エイ1の場合、比較器7は、読み出された変換デ
ータ中の登録論理アドレスと、理アドレスレジス
タ3中の対応する部分とを比較し、一致する場合
にANDゲート14に“1”を出力する。 The TLB reference operation in this embodiment is the same as the conventional method. First, when the logical address of the program is set in the logical address register 3, part of the page number in the logical address register 3 is
Given to TLB1 and TLB2. Conversion data of an entry corresponding to a part of the page number is read from TLB1 and TLB2. In the case of way 1, the comparator 7 compares the registered logical address in the read conversion data with the corresponding part in the physical address register 3, and when they match, sets "1" to the AND gate 14. Output.
比較器8は、TLB1から読み出された変換デ
ータ中の空間識別番号STOと、空間識別番号レ
ジスタ5に設定されている現在の空間識別番号
STOとを比較し、一致すればORゲート12を経
て、ANDゲート14に“1”を出力する。ORゲ
ート12の他方の入力には、TLB1から読み出
された変換データ中のコモンセグメントビツト
CSが与えられ、CS=“1”のとき、ORゲート1
2は比較器8の出力の値の如何に拘らず、AND
ゲート14に、“1”を出力する。すなわちCS=
“1”の場合には、空間識別番号の比較結果が無
視されるようになつている。 The comparator 8 compares the space identification number STO in the conversion data read from the TLB 1 and the current space identification number set in the space identification number register 5.
It compares it with STO, and if they match, it outputs "1" to the AND gate 14 via the OR gate 12. The other input of OR gate 12 has the common segment bit in the conversion data read from TLB1.
When CS is given and CS="1", OR gate 1
2 is AND regardless of the value of the output of comparator 8.
“1” is output to the gate 14. That is, CS=
In the case of "1", the comparison result of space identification numbers is ignored.
ANDゲート14の他の入力には、さらにTLB
1から読み出された変換データ中のバリツドビツ
ドVが与えられている。したがつてANDゲート
14は、バリツドビツトV=“1”すなわちTLB
1からの読み出された変換データが有効である場
合であつて、さらにCS=“0”であれば比較器7
および8の各出力がともに“1”のときにHIT
1=“1”となり、ウエイ1がヒツトしたことを
表示する。 The other inputs of AND gate 14 also have TLB
The valid bit V in the conversion data read from 1 is given. Therefore, the AND gate 14 determines that the valid bit V="1", that is, TLB
If the conversion data read from 1 is valid and CS="0", comparator 7
HIT when both outputs of and 8 are “1”
1=“1”, indicating that way 1 has been hit.
同様にTLB2から読み出された変換データ中
のバリツドビツトV=“1”でかつ、CS=“0”
であれば、比較器9および10の各出力がともに
“1”のときに、HIT2=“1”となり、またCS=
“1”であれば比較器9の出力が“1”のときの
みHIT2=“1”となり、ウエイ2がヒツトした
ことを表示する。 Similarly, valid bit V in the conversion data read from TLB2 is “1” and CS is “0”.
Then, when the outputs of comparators 9 and 10 are both “1”, HIT2 = “1”, and CS =
If it is "1", HIT2 becomes "1" only when the output of the comparator 9 is "1", indicating that way 2 has been hit.
さらにデータセレクタ11の入力にHIT1,
HIT2およびウエイ1の実ページアドレス、ウ
エイ2の実ページアドレスを入力することによ
り、HIT1またはHIT2のいずれか一方が“1”
のときデータセレクタ11の出力にヒツトしたほ
うのTLBの実ページアドレスが現れる。 Furthermore, HIT1 is input to the data selector 11,
By inputting the real page address of HIT2 and way 1, and the real page address of way 2, either HIT1 or HIT2 becomes "1".
When , the real page address of the TLB that was hit appears in the output of the data selector 11.
次にTLBに新しい変換データの登録動作につ
いて述べる。この登録動作は、新しい変換データ
がコモンセグメント領域内のものであるとき、す
なわちコモンセグメントビツトCS=“1”の場合
に本発明に特有の態様で行われる。すなわち、登
録しようとする変換データの論理アドレスと同じ
ものがすでにTLB中に存在していればそのウエ
イに優先的に登録し、その他の場合にはLRU論
理により指定されたウエイに登録するものであ
る。 Next, we will describe the operation of registering new conversion data in the TLB. This registration operation is performed in a manner unique to the present invention when the new conversion data is within the common segment area, that is, when the common segment bit CS="1". In other words, if the same logical address as the conversion data to be registered already exists in the TLB, it will be registered preferentially in that way, and in other cases it will be registered in the way specified by LRU logic. be.
TLB1に登録すべき新しい変換データは論理
アドレスレジスタ3、実ページアドレスレジスタ
4、空間識別番号レジスタ5、コモンセグメント
ビツトレジスタ6にそれぞれ設定されている。 New conversion data to be registered in TLB1 is set in logical address register 3, real page address register 4, space identification number register 5, and common segment bit register 6, respectively.
TLB1およびTLB2はそれぞれ参照動作の場
合と同様に、論理アドレスレジスタ3のページ番
号の一部が与えられ、対応するエントリの変換デ
ータを出力する。そして比較器7および比較器9
はそれぞれTLB1およびTLB2から読み出され
た変換データ中の登録論理アドレスと論理アドレ
スレジスタ中の対応する部分とを比較し、一致し
たとき、それぞれインバータ17および18の入
力に“1”を出力する。 As in the case of the reference operation, each of TLB1 and TLB2 is given a part of the page number of the logical address register 3, and outputs the conversion data of the corresponding entry. and comparator 7 and comparator 9
compares the registered logical address in the conversion data read from TLB1 and TLB2 with the corresponding portion in the logical address register, and outputs "1" to the inputs of inverters 17 and 18, respectively, when they match.
ここで新しい変換データのコモンセグメントビ
ツト(コモンセグメントビツトレジスタ6に設定
されている)が“0”のとき、インバータ19を
経てORゲート21の1つの入力に“1”が与え
られるため、ANDゲート22の1つの入力に
“1”が与えられる。 Here, when the common segment bit of the new conversion data (set in the common segment bit register 6) is "0", "1" is given to one input of the OR gate 21 via the inverter 19, so the AND gate "1" is given to one input of 22.
さらにLRU論理の出力であるLRU DATA信
号(この信号が“0”のときウエイ2に“1”の
ときウエイ1に登録するものとする)がANDゲ
ート22の他の1つの入力に与えられ、しかも
ANDゲート23の1つの入力にコモンセグメン
トビツトレジスタ6から“0”が与えられるた
め、インバータ25、およびANDゲート26の
入力にはLRU DATA信号が現れ、登録動作では
SET NEW ENTRY信号が“1”であるので、
LRU DATA=“1”のときライトイネーブル
WE1が“1”となり新しい変換データはTLB1
に登録され、またLRU DATA=“0”のときに
はWE2が“1”となりTLB2に登録が行われ
る。 Furthermore, the LRU DATA signal that is the output of the LRU logic (when this signal is "0", it is registered in way 2, and when it is "1", it is registered in way 1) is given to the other input of the AND gate 22, Moreover,
Since "0" is given from the common segment bit register 6 to one input of the AND gate 23, the LRU DATA signal appears at the inputs of the inverter 25 and the AND gate 26, and in the registration operation.
Since the SET NEW ENTRY signal is “1”,
Write enable when LRU DATA="1"
WE1 becomes “1” and the new conversion data is TLB1
Also, when LRU DATA="0", WE2 becomes "1" and registration is performed in TLB2.
次に、コモンセグメントビツトレジスタ6に
“1”が設定されている場合で比較器7および9
のいずれかが“1”を出力している場合について
述べる。 Next, when common segment bit register 6 is set to "1", comparators 7 and 9
The case where either one outputs "1" will be described.
比較器7の出力が“1”の場合(すなわち
TLB1中に新しい変換データの論理アドレスと
同じ論理アドレスをもつ古い変換データが存在し
ている場合)には、ANDゲート23の入力は共
に“1”となり、ORゲート24は“1”を出力
する。したがつてWE1=“1”、WE2=“0”とな
つてLRU DATAに関係なく、またTLB2の状
態に関係なくTLB1に登録が行われる。 When the output of comparator 7 is “1” (i.e.
If there is old conversion data in TLB1 with the same logical address as the new conversion data), both inputs of the AND gate 23 become “1” and the OR gate 24 outputs “1”. . Therefore, WE1="1", WE2="0", and registration is performed in TLB1 regardless of LRU DATA and regardless of the state of TLB2.
またTLB2中にのみ新しい変換データの論理
アドレスと同じ論理アドレスを持つ古い変換デー
タが存在している場合には、比較器9が“1”を
出力し、インバータ18およびANDゲート20
を経てORゲート21の一つの入力に“0”を与
える。ORゲート21の他方の入力も、コモンセ
グメントビツトレジスタ6の値(“1”)がインバ
ータ19を経て“0”となるので、ORゲート2
1の出力は“0”となり、ANDゲート22を経
てORゲート24の一つの入力に“0”を与え
る。またORゲート24の他方の入力には、比較
器7の出力が“0”のときにはANDゲート23
を経て“0”が与えられるので、ORゲート24
は“0”を出力する。したがつてWE1=“0”、
WE2=“1”となつてLRU DATAに関係なく
TLB2に登録が行われる。 Further, if old conversion data with the same logical address as the new conversion data exists only in TLB2, the comparator 9 outputs "1", and the inverter 18 and AND gate 20
After that, "0" is given to one input of the OR gate 21. The other input of the OR gate 21 is also inputted because the value (“1”) of the common segment bit register 6 becomes “0” through the inverter 19.
The output of 1 becomes "0", and "0" is applied to one input of OR gate 24 via AND gate 22. Also, when the output of the comparator 7 is "0", the other input of the OR gate 24 is connected to the AND gate 23.
Since “0” is given through the OR gate 24
outputs “0”. Therefore, WE1="0",
WE2="1" and regardless of LRU DATA
Registration is performed in TLB2.
またコモンセグメントビツトレジスタ6に
“1”が設定されているが、比較器7および9が
共に“0”を出力している(すなわち、全く新し
いコモンセグメント領域内の変換データを登録し
ようとする)場合には、インバータ17および1
8を経てANDゲート20の入力が共に“1”と
なるので、ORゲート21を経てANDゲート22
の一つの入力に“1”が与えられ、またANDゲ
ート23を経てORゲート24の一つの入力に
“0”が与えられる為、コモンセグメントビツト
レジスタ6が“0”の場合と同様LRU DATA=
“1”のときWE1=“1”、LRU DATA=“0”
のときWE2=“1”となつてLRU論理による置換
が行われる。 Also, although "1" is set in the common segment bit register 6, both comparators 7 and 9 are outputting "0" (that is, an attempt is made to register conversion data in a completely new common segment area). In this case, inverters 17 and 1
8, the inputs of the AND gate 20 both become "1", so the inputs of the AND gate 22 pass through the OR gate 21.
Since "1" is given to one input of the common segment bit register 6 and "0" is given to one input of the OR gate 24 via the AND gate 23, LRU DATA=
When “1”, WE1="1", LRU DATA="0"
When this happens, WE2 becomes "1" and replacement is performed using LRU logic.
以上のようにして、本発明によればTLB参照
時のマルチヒツトの可能性をなくすことができ、
マルチヒツトが起きた場合にはそれを全てハード
ウエア障害とみなすことができる。またTLB中
のコモンセグメントビツトを“0”から“1”に
変更する場合にもパージTLB(PTLB)命令を発
行する必要がなく、TLB利用の効率化が図られ
る。
As described above, according to the present invention, it is possible to eliminate the possibility of multi-hit when referencing TLB,
If multi-hit occurs, it can be considered as a hardware failure. Furthermore, even when changing the common segment bit in the TLB from "0" to "1", there is no need to issue a purge TLB (PTLB) command, which improves the efficiency of TLB use.
第1図は本発明の1実施例システムの構成図、
第2図は従来の一般的な動的アドレス変換機構の
説明図、第3図は多重仮想空間とコモンセグメン
トビツト(CS bit)の説明図、第4図はTLBに
おけるマルチヒツト発生過程の説明図である。
図中、1および2はTLB、3は論理アドレス
レジスタ、4は実ページアドレスレジスタ、5は
空間識別番号(STO)レジスタ、6はコモンセ
グメン(CS)ビツトレジスタ、7〜10は比較
器、12,13,21および24はORゲート、
14,15,20,22,23,26および27
はANDゲート、17〜19および25はインバ
ータ、11はデータセレクタを示す。
FIG. 1 is a configuration diagram of a system according to an embodiment of the present invention.
Figure 2 is an explanatory diagram of a conventional general dynamic address translation mechanism, Figure 3 is an explanatory diagram of multiple virtual spaces and common segment bits (CS bit), and Figure 4 is an explanatory diagram of the multi-hit generation process in TLB. be. In the figure, 1 and 2 are TLB, 3 is a logical address register, 4 is a real page address register, 5 is a space identification number (STO) register, 6 is a common segment (CS) bit register, 7 to 10 are comparators, and 12 , 13, 21 and 24 are OR gates,
14, 15, 20, 22, 23, 26 and 27
is an AND gate, 17 to 19 and 25 are inverters, and 11 is a data selector.
Claims (1)
なえた多重仮想記憶システムにおいて、上記
TLBにコモンセグメントの論理アドレスである
ことを表すコモンセグメントビツトが“1”の論
理アドレスを登録する際に、まず当該論理アドレ
スと同一の論理アドレスがTLBに登録されてい
るか否かを調べ、登録されている場合にはそのウ
エイに上記コモンセグメントビツトが“1”の論
理アドレスを登録し、また登録されていない場合
にはLRU論理に基づき指示されたウエイに上記
コモンセグメントビツトが“1”の論理アドレス
を登録することを特徴とする多重仮想記憶システ
ムにおけるTLB制御方式。1 In a multiple virtual memory system equipped with a TLB with common segment bits, the above
When registering a logical address whose common segment bit is "1", which indicates that it is a common segment logical address, in the TLB, first check whether the same logical address as the logical address in question is registered in the TLB, and then register it. If the logical address with the common segment bit set to “1” is registered in that way, and if it is not registered, the logical address with the common segment bit set to “1” is registered in the specified way based on LRU logic. A TLB control method in a multiple virtual memory system characterized by registering logical addresses.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59223240A JPS61101855A (en) | 1984-10-24 | 1984-10-24 | Tlb controlling system in multiple virtual memory system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59223240A JPS61101855A (en) | 1984-10-24 | 1984-10-24 | Tlb controlling system in multiple virtual memory system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61101855A JPS61101855A (en) | 1986-05-20 |
| JPH0351015B2 true JPH0351015B2 (en) | 1991-08-05 |
Family
ID=16794992
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59223240A Granted JPS61101855A (en) | 1984-10-24 | 1984-10-24 | Tlb controlling system in multiple virtual memory system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61101855A (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS553077A (en) * | 1978-06-23 | 1980-01-10 | Fujitsu Ltd | Multi-virtual data processing system |
| JPS5925303B2 (en) * | 1980-05-16 | 1984-06-16 | 富士通株式会社 | Multiple virtual memory control method in multiple virtual computer system |
-
1984
- 1984-10-24 JP JP59223240A patent/JPS61101855A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61101855A (en) | 1986-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5761734A (en) | Token-based serialisation of instructions in a multiprocessor system | |
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US4905141A (en) | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification | |
| JP3740195B2 (en) | Data processing device | |
| US5133058A (en) | Page-tagging translation look-aside buffer for a computer memory system | |
| US5584014A (en) | Apparatus and method to preserve data in a set associative memory device | |
| KR920005280B1 (en) | High speed cache system | |
| CN100397367C (en) | Improved memory management for real-time applications | |
| JPS6135584B2 (en) | ||
| US6874077B2 (en) | Parallel distributed function translation lookaside buffer | |
| US5479630A (en) | Hybrid cache having physical-cache and virtual-cache characteristics and method for accessing same | |
| JPH04320553A (en) | Address converting mechanism | |
| EP1204029A2 (en) | Microprocessor and address translation method for microprocessor | |
| EP0284751B1 (en) | Cache memory | |
| JP2930071B2 (en) | Information processing device and processor | |
| US20020156989A1 (en) | Method for sharing a translation lookaside buffer between CPUs | |
| US5913222A (en) | Color correction method in a virtually addressed and physically indexed cache memory in the event of no cache hit | |
| US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
| US5319761A (en) | Directory look-aside table for a virtual storage system including means for minimizing synonym entries | |
| US6598050B1 (en) | Apparatus and method for limited data sharing in a multi-tasking system | |
| JPH0519176B2 (en) | ||
| JP2007280421A (en) | Data processor | |
| US6807602B1 (en) | System and method for mapping bus addresses to memory locations utilizing access keys and checksums | |
| JPH0351015B2 (en) | ||
| JPH0760411B2 (en) | Buffer storage controller |