JPS6341102B2 - - Google Patents
Info
- Publication number
- JPS6341102B2 JPS6341102B2 JP58226389A JP22638983A JPS6341102B2 JP S6341102 B2 JPS6341102 B2 JP S6341102B2 JP 58226389 A JP58226389 A JP 58226389A JP 22638983 A JP22638983 A JP 22638983A JP S6341102 B2 JPS6341102 B2 JP S6341102B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- extended
- logical
- tlb
- 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
Links
- 238000000034 method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000000593 degrading effect Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は仮想アドレス制御方式に係り、特に仮
想アドレスを拡張する場合において単一仮想アド
レス空間(SVS)として拡張する場合でも多重
仮想アドレス空間(MVS)として拡張する場合
でも適用することができるTLB(Translation
Lookaside Buffer)機構を有する仮想アドレス
制御方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a virtual address control system, and in particular, when expanding a virtual address, even when expanding as a single virtual address space (SVS), a multiple virtual address space (MVS) ), which can be applied even when expanding as TLB (Translation
This invention relates to a virtual address control method having a Lookaside Buffer (Lookaside Buffer) mechanism.
最近のデータ処理装置では、プログラムの規膜
の増大、複雑化、あるいはデータ量の増大に伴い
仮想記憶方式が広く使用されている。この仮想記
憶方式では、プログラムにより指定された論理ア
ドレスのデータをアクセスするとき、必要とする
データが主記憶装置上に格納されている場合にそ
の格納先を高速に求めるためTLBを使用して論
理アドレスにより直ちに主記憶装置上の実アドレ
スを求めている。
In recent data processing devices, virtual storage systems are widely used as programs become larger and more complex or the amount of data increases. In this virtual storage method, when accessing data at a logical address specified by a program, if the required data is stored on the main memory, the storage location is quickly determined using the TLB. The address immediately determines the real address on the main memory.
ところで近年ユーザ業務等の拡大にともない仮
想記憶容量を大きくすることが必要になつてき
た。 Incidentally, in recent years, with the expansion of user operations, etc., it has become necessary to increase the virtual storage capacity.
このため仮想アドレス空間(VS)を拡張する
ことが必要になる。 Therefore, it is necessary to expand the virtual address space (VS).
仮想アドレス空間の拡張方法としては、第1図
aに示す如く、単一仮想アドレス空間(SVS)
として拡張するものと、第1図bに示す如く、多
重仮想アドレス空間(MVS)として拡張するも
のがある。SVS方式は、第1図aに示す如く、
例えば16MBの大きさの基本アドレス空間
(BVS)をその倍数分だけ縦方向状態に拡張した
もので、BVSの共通領域A,Bをその上下に有
する形をとる、MVS方式は第1図bに示す如く、
BVSをその共通領域A,Bだけを除いた分だけ
横に拡張するもので、各拡張領域に空間番号を付
加し、BVSの共通領域A,Bと識別番号ID=1
領域で空間番号1の仮想アドレス空間とし、同じ
く共通領域A,BとID=2の領域で空間番号2
の仮想アドレス空間とする。 As a method for expanding the virtual address space, single virtual address space (SVS) is used as shown in Figure 1a.
There are those that expand as a multi-virtual address space (MVS), and those that expand as a multiple virtual address space (MVS), as shown in FIG. The SVS method, as shown in Figure 1a,
For example, the MVS method is a basic address space (BVS) of 16 MB that is expanded vertically by a multiple of that size, with common areas A and B of the BVS above and below it. As shown,
BVS is expanded horizontally by excluding only the common areas A and B, and a space number is added to each expansion area, and the common areas A and B of BVS and identification number ID = 1.
A virtual address space with space number 1 in the area, and a space number 2 in the common area A, B and the area with ID=2.
be the virtual address space of
このように空間番号0〜mの複数の仮想アドレ
ス空間を構成することができる。この場合、どの
空間が使用されているかということはOSの核の
部分で管理することになる。なお上記共通領域
A,BにはOSのプログラムや資源等が存在する。 In this way, a plurality of virtual address spaces with space numbers 0 to m can be configured. In this case, which space is being used is managed by the core of the OS. Note that OS programs, resources, etc. exist in the common areas A and B.
ところで従来のダイレクト・マツピング方式の
TLB機構は、第2図に示す如く、実ページ・ア
ドレスが記入されている実ページ・アドレス部1
−0とインバリツド・ビツトが記入されるインバ
リツド・ビツト部1−1よりなるテーブル1と、
ロジカルデータが記入されるロジカル部2と、比
較器3と、オア・ゲート4と、アドレス・レジス
タ5等により構成されている。 By the way, the conventional direct mapping method
As shown in Figure 2, the TLB mechanism has a real page address section 1 in which real page addresses are written.
-0 and an invalid bit section 1-1 in which invalid bits are written;
It is composed of a logical section 2 in which logical data is written, a comparator 3, an OR gate 4, an address register 5, and the like.
ところで16MBのBVSが2KBページに区分さ
れてきる場合にはTLBの容量として8096エント
リー必要であるが、実際のテーブル1の容量は
2048エントリー分しかなくテーブル1の1エント
リーを4つの論理アドレスで共有することになる
が、この4つの論理アドレスのいずれが使用して
いるかを示すため、基本ロジカル・データがセツ
トされる2ビツト容量のロジカル部2が設けられ
ている。 By the way, when a 16MB BVS is divided into 2KB pages, 8096 entries are required as the TLB capacity, but the actual capacity of Table 1 is
There are only 2048 entries, so one entry in table 1 is shared by four logical addresses, but in order to indicate which of these four logical addresses is being used, a 2-bit capacity is used to set basic logical data. A logical section 2 is provided.
いま基本仮想アドレスがアドレス・レジスタ5
にセツトされると、その上位13ビツトのうち最上
位の2ビツトが比較器3においてロジカル部2と
比較され、残りの11ビツトでデーブル1がアクセ
スされる。 The basic virtual address is now address register 5.
When set to , the most significant 2 bits of the 13 most significant bits are compared with the logical section 2 in the comparator 3, and table 1 is accessed using the remaining 11 bits.
このときインバリツド・ビツトi=「0」であ
り、また最上位の2ビツトがロジカル部2に記入
されている2ビツトと一致すれば比較部3から
「0」が出力されるので、オア・ゲート4はTLB
フオルトを出力せず、実ページ・アドレス部1−
0から必要とする実ページ・アドレスが得られ
る。しかしインバリツド・ビツトi=「1」なら
ばそのエントリーは無効化されているので出力さ
れた実ページ・アドレスが無効であることを示す
TLBフオルトがオア・ゲート4より出力される。 At this time, the invalid bit i = "0", and if the two most significant bits match the two bits written in the logical section 2, "0" is output from the comparing section 3, so the OR gate 4 is TLB
No fault is output and the real page address part 1-
The required real page address can be obtained from 0. However, if invalid bit i = "1", that entry has been invalidated, indicating that the output real page address is invalid.
A TLB fault is output from OR gate 4.
また最上位の2ビツトがロジカル部2に記入さ
れている2ビツトと不一致ならば比較器3から
「1」が出力されてオア・ゲート4からTLBフオ
ルトが出力される。このようにしてTLBフオル
トの出力により実ページ・アドレスへの変換が失
敗したことがわかり、テーブルを書替えることに
なる。 If the two most significant bits do not match the two bits written in the logical section 2, the comparator 3 outputs "1" and the OR gate 4 outputs a TLB fault. In this way, the TLB fault output indicates that conversion to a real page address has failed, and the table is rewritten.
ところで、この第2図に示す如きTLB機構を
使用してMVSに適用するとき、空間が変わるた
びに、例えば第1図bのID=0の空間で動作し
たのにID=1の仮想アドレス空間で動作する場
合、TLBパージを行つて全エントリーを無効化
したのち新しい仮想アドレス空間に適用できるよ
うにこれを書替えなければならない。そのため、
この書替えの負担が大きくなる。すなわちMVS
機能のない単一仮想アドレス空間を拡張して
MVS機能を持たせようとすると、ソフトウエア
のOS等に大幅な性能低下をもたらすことになる。 By the way, when applying the TLB mechanism as shown in Figure 2 to MVS, every time the space changes, for example, the virtual address space with ID = 1 changes even though it operated in the space with ID = 0 in Figure 1 b. , you must perform a TLB purge to invalidate all entries and then rewrite them so that they can be applied to the new virtual address space. Therefore,
The burden of this rewriting will be heavy. i.e. MVS
Extending a single virtual address space with no functionality
Attempting to provide MVS functionality will result in a significant performance drop in the software OS, etc.
また、第2図のTLB機構を第1図aに示す如
き単一仮想アドレス空間として拡張しようとして
も、この場合のハードでは拡張されたロジカル部
の比較がなされないためこのままでは拡張は不可
能である。 Furthermore, even if you try to expand the TLB mechanism in Figure 2 into a single virtual address space as shown in Figure 1a, the hardware in this case does not compare the expanded logical parts, so expansion is impossible as it is. be.
本発明の目的は、上記の如き問題点を改善する
ため、単一仮想アドレス空間の拡張機能を用いて
ソフトウエアのOS等の性能低下なしに多重仮想
アドレス空間としても拡張可能なTLB機能を備
えた仮想アドレス制御方式を提供することであ
る。
The purpose of the present invention is to improve the above-mentioned problems by providing a TLB function that can be expanded into multiple virtual address spaces without degrading the performance of the software OS, etc. by using the expansion function of a single virtual address space. The objective is to provide a virtual address control method that allows
この目的を達成するため本発明の仮想アドレス
制御方式では、論理アドレスに対応する実ペー
ジ・アドレスが記入される、実ページ・アドレス
部と、エントリーが有効か否かを示すインバリツ
ド・ビツトが記入されるインバリツド・ビツト部
を有するテーブルと、該テーブルをアクセスする
論理アドレスのロジカル・データがセツトされる
アドレス保持手段を有するTLB機構を用いた仮
想アドレス制御方式において、上記TLB機構に
拡張仮想アドレスを記入する仮張アドレス保持手
段と、上記TLBが保持しているエントリーの拡
張仮想アドレスのロジカル・データが記入される
拡張ロジカル部と、上記拡張アドレス保持手段に
保持された拡張仮想アドレスと上記拡張ロジカル
部に記入された拡張仮想アドレスを比較する比較
手段を設けたことを特徴とする。
To achieve this objective, the virtual address control method of the present invention includes a real page address section in which the real page address corresponding to the logical address is written, and an invalid bit indicating whether or not the entry is valid. In a virtual address control method using a TLB mechanism that has a table having an invalid bit section and an address holding means in which logical data of a logical address accessing the table is set, an extended virtual address is written in the TLB mechanism. a temporary address holding means for holding a temporary address; an extended logical section in which logical data of an extended virtual address of an entry held by the TLB is written; an extended virtual address held in the extended address holding means and the extended logical section; The present invention is characterized in that a comparison means is provided for comparing the extended virtual addresses written in the .
本発明の一実施例を第3図にもとづき、必要に
応じて他図を参照して説明する。
An embodiment of the present invention will be described based on FIG. 3 and with reference to other figures as necessary.
図中、10は拡張アドレス保持部、11は、実
ページ・アドレス部11−0およびバリツド・ビ
ツト部11−1よりなるテーブルで第2図のテー
ブル1に対応するもの、12は基本ロジカル部1
2−0と拡張ロジカル部12−1よりなるロジカ
ル部、13は比較器、14はオア・ゲート、15
はアドレス・レジスタである。 In the figure, 10 is an extended address holding section, 11 is a table consisting of a real page address section 11-0 and a valid bit section 11-1, which corresponds to table 1 in FIG. 2, and 12 is a basic logical section 1.
A logical section consisting of 2-0 and an extended logical section 12-1, 13 a comparator, 14 an OR gate, 15
is the address register.
(1) SVSとして使用する場合、
第3図のTLB機構を第1図aに示すSVSに使
用する場合には、拡張アドレス保持部10に拡張
領域m=0,1,2…のうち、使用中のものが記
入される。例えば拡張領域m=1が使用されると
き拡張アドレス保持部10には数値1が記入さ
れ、また拡張領域m=0が使用される場合には拡
張アドレス保持部10には数値零が記入される。(1) When used as an SVS When using the TLB mechanism shown in FIG. 3 as the SVS shown in FIG. The contents are filled in. For example, when the extended area m=1 is used, the numerical value 1 is written in the extended address holding unit 10, and when the extended area m=0 is used, the numerical value 0 is written in the extended address holding unit 10. .
テーブル11の実ページ・アドレス部11−0
には使用中の拡張領域に対する更ページ・アドレ
スが記入され、インバリツド・ビツト部11−1
にはエントリーの有効か無効かを示すインバリツ
ド・ビツトiが記入され、このi=「1」のとき
エントリーが無効であることを示す。 Real page address section 11-0 of table 11
The updated page address for the extended area in use is written in the invalid bit section 11-1.
An invalid bit i indicating whether the entry is valid or invalid is written in , and when i = "1", it indicates that the entry is invalid.
ロジカル部12の基本ロジカル部12−0は、
第2図のロジカル部2と同様に1エントリーを共
有する4つのいずれが使用しているのかを示す基
本ロジカル・データがセツトされ、拡張ロジカル
部12−1はこのTLBは使用中の拡張領域mが
記入される。したがつて拡張領域m=1が使用さ
れるとき、拡張ロジカル部12−1には数値1が
記入される。 The basic logical section 12-0 of the logical section 12 is
Similar to the logical unit 2 in FIG. 2, basic logical data indicating which of the four that share one entry is in use is set, and the extended logical unit 12-1 stores this TLB as the extended area m in use. is entered. Therefore, when the extension area m=1 is used, the numerical value 1 is written in the extension logical section 12-1.
比較器13は、ロジカル部12から伝達される
拡張領域mと基本ロジカル・データとを、拡張ア
ドレス保持部10から伝達される拡張領域mとア
ドレス・レジスタ15の最上位2ビツトとを比較
するものであり、これらが一致したとき「0」を
出力し不一致のとき「1」を出力する。 The comparator 13 compares the extended area m transmitted from the logical section 12 with the basic logical data, and the extended area m transmitted from the extended address holding section 10 with the two most significant bits of the address register 15. When these match, "0" is output, and when they do not match, "1" is output.
オア・ゲート14は、第2図のオア・ゲート4
に対応するものであり、TLBフオルトを出力す
るものである。 The or gate 14 is the or gate 4 in FIG.
It corresponds to , and outputs TLB faults.
アドレス・レジスタ15は論理アドレスのうち
拡張領域を指示するビツトを除いたものがセツト
されるレジスタである。 The address register 15 is a register in which the logical address excluding the bit indicating the extension area is set.
いま第1図aに示すSVSにおいて拡張領域m
=1においてデータ処理が行われているとき、拡
張アドレス保持部10にはm=1が記入され、ま
た拡張ロジカル部12−1にもこれまたm=1が
記入される。 Now, in the SVS shown in Figure 1a, the extended area m
When data processing is being performed with =1, m=1 is written in the extended address holding section 10, and m=1 is also written in the extended logical section 12-1.
そして、拡張領域m=1においてデータ処理を
行うとき、アドレス・レジスタ15には拡張領域
う示すビツトを除いた論理アドレスがセツトされ
る。そしてその上位ビツトが拡張アドレス保持部
10に記入されたm=1を示す数値1とともに、
比較器13によりロジカル部12の拡張ロジカル
部12−1に記入されたm=1と基本ロジカル部
12−0の基本ロジカル・データとともに比較さ
れる。このとき拡張領域m=1を示す数値1が拡
張アドレス保持部10及び拡張ロジカル部12−
1にそれぞれm=1として記入されているので、
この場合には、上記第2図と全く同様に基本ロジ
カル部12−0のデータとアドレス・レジスタ1
5の上位2ビツトのデータが不一致のとき比較器
13は不一致を示す「1」を出力し、これよりオ
ア・ゲート14がTLBフオルトを出力すること
になる。勿論基本ロジカル部12−0のデータと
アドレス・レジスタ15の上位2ビツトのデータ
が一致すれば比較器13は一致信号「0」を出力
し、このとき残りの11ビツトによりアクセスされ
た実ページ・アドレスが出力される、これにより
データ処理が進行することになる。勿論この実ペ
ージ・アドレスのエントリーのインバリツド・ビ
ツトiがインバリツドを示す「1」のときにはオ
ア・ゲート14からTLBフオルトが出力される。 When data processing is performed in the extension area m=1, a logical address excluding the bit indicating the extension area is set in the address register 15. Then, the upper bits are written in the extended address holding unit 10 together with the numerical value 1 indicating m=1.
The comparator 13 compares m=1 written in the extended logical section 12-1 of the logical section 12 with the basic logical data of the basic logical section 12-0. At this time, the number 1 indicating the extension area m=1 is the extension address holding unit 10 and the extension logical unit 12-
1 is entered as m = 1, so
In this case, the data of the basic logical section 12-0 and the address register 1 are stored in exactly the same way as in FIG.
When the data of the upper two bits of 5 do not match, the comparator 13 outputs "1" indicating a mismatch, and from this, the OR gate 14 outputs a TLB fault. Of course, if the data in the basic logical unit 12-0 and the data in the upper 2 bits of the address register 15 match, the comparator 13 outputs a match signal "0", and at this time the real page accessed by the remaining 11 bits is The address is output, which allows data processing to proceed. Of course, when the invalid bit i of this real page address entry is "1" indicating invalidity, a TLB fault is output from the OR gate 14.
勿論テーブル11に記入されたデータが拡張領
域m=1のものであるとき、拡張領域m=2にデ
ータ処理が移行すれば、拡張アドレス保持部10
に今度はm=2がセツトされるので、比較器13
は不一致信号「1」を出力しオア・ゲート14は
TLBフオルトを出力するのでTLBフオルトによ
る処理が行われることになる。 Of course, when the data entered in the table 11 is for the extension area m=1, if the data processing is transferred to the extension area m=2, the extension address holding unit 10
Since m=2 is set this time, comparator 13
outputs a mismatch signal “1” and the OR gate 14 outputs a mismatch signal “1”.
Since a TLB fault is output, processing based on the TLB fault will be performed.
(2) MVSとして使用する場合、
第3図のTLB機構を第1図bに示すMVSに使
用する場合、拡張アドレス保持部10および拡張
ロジカル部12−1には使用すべき空間番号を記
入すればよい。例えば空間番号2の仮想アドレス
空間を使用してデータ処理を行う場合、拡張アド
レス保持部10および拡張ロジカル部12−1に
はそれぞれm=2を記入すればよく、これにより
上記(1)で説明したSVSの場合と全く同様にして
使用することができる。このようにしてTLB参
照時には空間までも意識したTLBフオルトを制
御できる。これによればTLBで空間を意識して
いるため、空間の切り換り時にTLBを全くクリ
ヤする必要がなく、オーバ・ヘツドが生じない。
このように、本発明によれば仮想アドレス空間の
拡張時に、単一仮想アドレス空間として拡張可能
なだけでなく、この拡張機能を利用して多重仮想
アドレス空間としても拡張可能となる。しかも
TLBの全パージ等を行わないのでOSの性能低下
もなく、効率のよい仮想アドレス空間の拡張が可
能となる。(2) When used as MVS When using the TLB mechanism shown in Figure 3 as MVS shown in Figure 1b, the space number to be used must be entered in the extended address holding section 10 and extended logical section 12-1. Bye. For example, when performing data processing using the virtual address space with space number 2, it is sufficient to enter m=2 in each of the extended address holding unit 10 and the extended logical unit 12-1, which is explained in (1) above. It can be used in exactly the same way as SVS. In this way, when referencing the TLB, it is possible to control TLB faults even in terms of space. According to this, since the TLB is aware of the space, there is no need to clear the TLB at all when switching between spaces, and no overhead occurs.
As described above, according to the present invention, when expanding a virtual address space, it is not only possible to expand it as a single virtual address space, but also as a multiple virtual address space using this expansion function. Moreover,
Since the TLB is not completely purged, the OS performance does not deteriorate and the virtual address space can be expanded efficiently.
次に本発明の第2実施例を第4図〜第6図によ
り説明する。 Next, a second embodiment of the present invention will be described with reference to FIGS. 4 to 6.
第4図は本発明の第2実施例構成図、第5図は
その空間状態説明図、第6図は単一仮想アドレス
拡張空間である。 FIG. 4 is a configuration diagram of a second embodiment of the present invention, FIG. 5 is an explanatory diagram of its space state, and FIG. 6 is a single virtual address extension space.
第5図aに示す如く、MVSにより仮想アドレ
ス空間を拡張する場合、その基本仮想アドレス空
間Fに設けられる共通領域A,Bは拡張仮想アド
レス空間でも共通領域として使用される。しかし
この場合、空間番号IDが異なるということのみ
でTLBフオルトが発生することは望ましいこと
ではない。それ故、共通領域に対しては空間番号
IDが異なるということのみではTLBフオルトが
発生しないように制御して、第5図aの点線位置
に実際にある状態で制御できるようにしたのが第
4図の実施例であり、これをSVS形式で示すな
らば第5図bの如く表示することができる。 As shown in FIG. 5a, when the virtual address space is expanded by MVS, the common areas A and B provided in the basic virtual address space F are also used as common areas in the extended virtual address space. However, in this case, it is not desirable for a TLB fault to occur simply because the space number IDs are different. Therefore, for the common area, the spatial number
The embodiment shown in Fig. 4 is such that control is performed so that a TLB fault does not occur simply because the IDs are different, and control can be performed while the position is actually at the dotted line position in Fig. 5 a. If shown in a format, it can be displayed as shown in FIG. 5b.
第4図において、第3図と同一部分には同一符
号を付与しており、30はモード切換指示部であ
つてSVSで拡張されるのかMVSで拡張されるの
かを指示するもの、31はテーブルであつて実ペ
ージ・アドレス部31−0、インバリツド・ビツ
ト部31−1の外にコモンビツト部31−2が設
けられている。32は比較器で、アドレス・レジ
スタ15にセツトされたアドレスのうち上位2ビ
ツトを基本ロジカル部12−0の2ビツトと比
し、不一致のときに不一致信号「1」を出力する
もの、33は比較器で拡張アドレス保持部10に
記入された数値と拡張ロジカル部12−1に記入
された数値とを比較して不一致のときに不一致信
号「1」を出力するもの、34はナンド・ゲー
ト、35はアンド・ゲート、36はオア・ゲート
である。 In FIG. 4, the same parts as those in FIG. A common bit section 31-2 is provided in addition to the real page address section 31-0 and invalid bit section 31-1. 32 is a comparator that compares the upper 2 bits of the address set in the address register 15 with the 2 bits of the basic logical section 12-0, and outputs a mismatch signal "1" when they do not match. A comparator that compares the numerical value written in the extended address holding section 10 with the numerical value written in the extended logical section 12-1 and outputs a mismatch signal "1" when they do not match; 34 is a NAND gate; 35 is an AND gate, and 36 is an OR gate.
いまMVSにより空間を拡張するとき、モード
切換指示部30に「1」を記入する。そしてテー
ブル31において実ページ・アドレスが共通領域
AまたはBのエントリーの場合には当該エントリ
ーのコモンビツト部31−2に「1」を記入す
る。 When expanding the space using MVS, "1" is written in the mode switching instruction section 30. In the table 31, if the real page address is an entry in the common area A or B, "1" is written in the common bit section 31-2 of the entry.
拡張アドレス保持部10、基本ロジカル部12
−0、拡張ロジカル部12−1に記入されるデー
タは、前記第3図の場合と同一である。 Extended address holding section 10, basic logical section 12
-0, the data written in the extended logical section 12-1 is the same as in the case of FIG. 3 above.
ところでアドレス・レジスタ15にセツトされ
たアクセス先が共通領域の場合には、コモンビツ
ト部31−2より「1」が出力され、モード切換
指示部30には「1」がセツトされているため、
ナンド・ゲート34は「0」を出力し、アンド・
ゲート35をオフにする。したがつてこのとき拡
張ロジカル部12−1の数値と拡張アドレス保持
部10の数値が不一致であり、比較器33が不一
致信号「1」を出力してもアンド・ゲート35が
オフのため共通領域のエントリーについては空間
番号不一致によるTLBフオルトは出力されない。 By the way, when the access destination set in the address register 15 is a common area, "1" is output from the common bit section 31-2, and "1" is set in the mode switching instruction section 30.
NAND gate 34 outputs "0" and
Turn off gate 35. Therefore, at this time, even if the numerical value of the extended logical unit 12-1 and the numerical value of the extended address holding unit 10 do not match, and the comparator 33 outputs a discrepancy signal "1", the AND gate 35 is turned off and the common area is TLB faults due to space number mismatch are not output for entries.
勿論基本ロジカル部12−0とアドレス・レジ
スタ15にセツトされる上位2ビツトが不一致の
とき、つまり同一空間内の基本ロジカル部が不一
致のときは比較器32は不一致信号「1」を出力
してオア・ゲート36はTLBフオルトを出力し
またアクセス先が共通領域でない場合にはコモン
ビツト部31−2より「0」が出力されてナン
ド・ゲート34は「1」を出力するため、アン
ド・ゲート35がオン状態になるので、このとき
空間番号不一致であれば比較器33から出力され
た不一致信号「1」はアンド・ゲート35を経由
してオア・ゲート36よりTLBフオルトとして
出力されることになり、第3図の場合と全く同様
に動作する。 Of course, when the basic logical section 12-0 and the upper two bits set in the address register 15 do not match, that is, when the basic logical sections in the same space do not match, the comparator 32 outputs a mismatch signal "1". The OR gate 36 outputs a TLB fault, and if the access destination is not a common area, the common bit section 31-2 outputs "0" and the NAND gate 34 outputs "1". is turned on, so if the space numbers do not match at this time, the mismatch signal "1" output from the comparator 33 will be output from the OR gate 36 via the AND gate 35 as a TLB fault. , operates exactly as in the case of FIG.
したがつて共通領域A,Bへのアクセスに対し
ては空間番号不一致を意識する必要がないので、
第5図aの点線部分に共通領域がセツトされた状
態と同じように動作することがてきる。つまり基
本仮想アドレス空間Fを単位として各空間番号に
共通な領域に対してTLBテーブル上にコモンビ
ツトを設けることができる。 Therefore, there is no need to be aware of space number mismatch when accessing common areas A and B.
It is possible to operate in the same manner as in the state where the common area is set in the dotted line portion in FIG. 5a. In other words, common bits can be provided on the TLB table for areas common to each space number using the basic virtual address space F as a unit.
またOSのアーキテクチヤ上、拡張仮想アドレ
スは仮想アドレスの上位のビツトを増加させたも
のではなく、各空間選択情報としてもつことがで
きる。この場合の仮想アドレス空間は第5図bの
ようになる。勿論、各空間に共通な領域を1つに
まとめると、第5図aの実線に示す如く考えられ
る。 Furthermore, due to the OS architecture, the extended virtual address is not the result of increasing the upper bits of the virtual address, but can be held as each space selection information. The virtual address space in this case is as shown in FIG. 5b. Of course, if the areas common to each space are combined into one area, it can be considered as shown by the solid line in FIG. 5a.
勿論、第4図の実施例をSVSとして拡張する
ときに使用する場合には、モード切換指示部30
に「0」を記入すればよい。これによりナンド・
ゲート34は常時「1」を出力してアンド・ゲー
ト35をオン状態に制御するので、第3図に示す
実施例と同様の動作を遂行することになり、例え
ば第6図の状態で拡張することになる。 Of course, when using the embodiment shown in FIG. 4 as an SVS, the mode switching instruction section 30
Just enter "0" in the field. As a result, Nando's
Since the gate 34 always outputs "1" and controls the AND gate 35 to be on, it performs the same operation as the embodiment shown in FIG. 3, and for example, expands it to the state shown in FIG. It turns out.
この実施例によれば、コモンビツトを設けたの
で、TLB上の拡張ロジカル部と空間選択情報つ
まり拡張仮想アドレスが不一致であつても、共通
TLBエントリーとしてTLBフオルトの抑止を行
うことができるので、さらにデータ処理能率を上
げることができる。 According to this embodiment, since a common bit is provided, even if the extended logical part on the TLB and the space selection information, that is, the extended virtual address, do not match, the common bit can be used.
Since TLB faults can be suppressed as TLB entries, data processing efficiency can be further improved.
本発明では単一仮想アドレス空間の拡張のため
に必要なTLB上の拡張ロジカル部を、あたかも
空間識別コードのように使用できる。すなわち空
間が切り換つた場合でも、以前の空間で使用した
TLBをパージする必要はない。
In the present invention, the extended logical part on the TLB required for expanding a single virtual address space can be used as if it were a space identification code. In other words, even if the space is switched, the
There is no need to purge the TLB.
本発明においては単一仮想アドレス空間制御お
よび多重仮想アドレス空間制御をOSからダイナ
ミツクに切換えることが可能でありまた多重仮想
アドレス空間制御モードでもOSの性能低下なし
に制御可能である。 In the present invention, it is possible to dynamically switch between single virtual address space control and multiple virtual address space control from the OS, and even in multiple virtual address space control mode, control is possible without degrading the performance of the OS.
第1図は仮想アドレス空間の拡張方法説明図、
第2図は従来のTLB機構、第3図は本発明の一
実施例構成図、第4図は本発明の他の実施例構成
図、第5図はその空間状態説明図、第6図は単一
仮想アドレス拡張空間である。
図中、1はテーブル、2はロジカル部、3は比
較器、4はオア・ゲート、5はアドレス・レジス
タ、10は拡張アドレス保持部、11はテーブ
ル、12はロジカル部、13は比較器、14はオ
ア・ゲート、15はアドレス・レジスタ、30は
モード切換指示部、31はテーブル、32,33
は比較器、34はナンド・ゲート、35はアン
ド・ゲート、36はオア・ゲートを示す。
Figure 1 is an explanatory diagram of how to expand the virtual address space.
Fig. 2 is a conventional TLB mechanism, Fig. 3 is a block diagram of one embodiment of the present invention, Fig. 4 is a block diagram of another embodiment of the present invention, Fig. 5 is an explanatory diagram of its spatial state, and Fig. 6 is a block diagram of an embodiment of the present invention. A single virtual address extension space. In the figure, 1 is a table, 2 is a logical section, 3 is a comparator, 4 is an OR gate, 5 is an address register, 10 is an extended address holding section, 11 is a table, 12 is a logical section, 13 is a comparator, 14 is an OR gate, 15 is an address register, 30 is a mode switching instruction section, 31 is a table, 32, 33
is a comparator, 34 is a NAND gate, 35 is an AND gate, and 36 is an OR gate.
Claims (1)
が記入される実ページ・アドレス部と、エントリ
ーが有効か否かを示すインバリツト・ビツトが記
入されるインバリツト・ビツト部を有するテーブ
ルと、該テーブルをアクセスする論理アドレスの
ロジカル・データがセツトされるアドレス保持手
段を有するTLB機構を用いた仮想アドレス制御
方式において、上記TLB機構に拡張仮想アドレ
スを記入する拡張アドレス保持手段と、上記
TLBが保持しているエントリーの拡張仮想アド
レスが記入される拡張ロジカル部と、上記拡張ア
ドレス保持手段に保持された拡張仮想アドレスと
上記拡張ロジカル部に記入された拡張仮想アドレ
スを比較する比較手段を設けたことを特徴とする
仮想アドレス制御方式。1. A table having a real page address field in which a real page address corresponding to a logical address is written, and an invalid bit field in which an invalid bit indicating whether an entry is valid or not is written, and the table is accessed. In a virtual address control method using a TLB mechanism having an address holding means in which logical data of a logical address is set, the extended address holding means writes an extended virtual address in the TLB mechanism;
an extended logical section in which the extended virtual address of the entry held by the TLB is written; and a comparison means for comparing the extended virtual address held in the extended address holding means and the extended virtual address written in the extended logical section. A virtual address control method is provided.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58226389A JPS60118952A (en) | 1983-11-30 | 1983-11-30 | Virtual address control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58226389A JPS60118952A (en) | 1983-11-30 | 1983-11-30 | Virtual address control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60118952A JPS60118952A (en) | 1985-06-26 |
JPS6341102B2 true JPS6341102B2 (en) | 1988-08-15 |
Family
ID=16844354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58226389A Granted JPS60118952A (en) | 1983-11-30 | 1983-11-30 | Virtual address control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60118952A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04163343A (en) * | 1990-10-22 | 1992-06-08 | Kawashima Textile Manuf Ltd | Light-transmittable pile cloth |
JPH04200585A (en) * | 1990-11-30 | 1992-07-21 | Kawashima Textile Manuf Ltd | Indoor equipment of drop curtain or the like |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5782269A (en) * | 1980-11-11 | 1982-05-22 | Fujitsu Ltd | Tlb control system |
-
1983
- 1983-11-30 JP JP58226389A patent/JPS60118952A/en active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5782269A (en) * | 1980-11-11 | 1982-05-22 | Fujitsu Ltd | Tlb control system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04163343A (en) * | 1990-10-22 | 1992-06-08 | Kawashima Textile Manuf Ltd | Light-transmittable pile cloth |
JPH04200585A (en) * | 1990-11-30 | 1992-07-21 | Kawashima Textile Manuf Ltd | Indoor equipment of drop curtain or the like |
Also Published As
Publication number | Publication date |
---|---|
JPS60118952A (en) | 1985-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
JP2833062B2 (en) | Cache memory control method, processor and information processing apparatus using the cache memory control method | |
JPH10177520A (en) | Data processor and data processing system | |
JPH11161547A (en) | Storage device for data processor and method for accessing storage place | |
JPH04219852A (en) | Interface apparatus for direct memory access under user's plan using virtual address | |
JPH0315211B2 (en) | ||
JPH04320553A (en) | Address converting mechanism | |
JPH0350651A (en) | Storage rearranging method and hierarchical storage system | |
US5375213A (en) | Address translation device and method for managing address information using the device | |
US7343469B1 (en) | Remapping I/O device addresses into high memory using GART | |
EP0531123B1 (en) | A dynamic address translation processing apparatus in a data processing system | |
JP2930071B2 (en) | Information processing device and processor | |
EP0442474B1 (en) | Apparatus and method for controlling cache memory | |
JPS6341102B2 (en) | ||
JPH0650480B2 (en) | Multiple virtual memory system and address controller | |
JP3274859B2 (en) | Data processing device | |
JPH03235143A (en) | Cache memory controller | |
JP2637853B2 (en) | Cache memory device | |
JPH02101552A (en) | Address conversion buffer processing system | |
JP2000267932A (en) | Tag address comparing device | |
JPH05250263A (en) | Virtual processor system and nonvolatile storage system | |
JPS6341101B2 (en) | ||
JPS6136669B2 (en) | ||
JPS6367213B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |