JPH07117918B2 - Data processing system - Google Patents
Data processing systemInfo
- Publication number
- JPH07117918B2 JPH07117918B2 JP1248934A JP24893489A JPH07117918B2 JP H07117918 B2 JPH07117918 B2 JP H07117918B2 JP 1248934 A JP1248934 A JP 1248934A JP 24893489 A JP24893489 A JP 24893489A JP H07117918 B2 JPH07117918 B2 JP H07117918B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- entry
- private space
- bit
- conversion
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、アドレス変換バッファ(TLB)を有する多重
仮想アドレス空間式データ処理システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiple virtual address space type data processing system having an address translation buffer (TLB).
[従来の技術] 従来、多重仮想記憶空間における、仮想アドレシングを
用いる処理システムにおいては、仮想アドレス空間と論
理アドレスから実アドレスを求めるアドレス変換を高速
に行なうためにアドレス変換バッファ(TLB)を用いる
ことは周知である。[Prior Art] Conventionally, in a processing system using virtual addressing in a multiple virtual storage space, an address translation buffer (TLB) is used to perform address translation for obtaining a real address from a virtual address space and a logical address at high speed. Is well known.
アドレス変換は、仮想アドレス空間毎にシステムにより
定められた変換テーブルであるセグメントテーブルとペ
ージテーブルとを用いて行なわれる。前記TLBの各エン
トリには、そのセグメントテーブルの主記憶上の起点と
なる、セグメントテーブル記述子(STD)中に定義され
ているセグメントテーブル起点(STO)を格納するフィ
ールドと、そのセグメントテーブル中に定義されている
共通セグメントビット(C)を格納するフィールドが設
けられている。前記TLBによる変換には、STO及びCフィ
ールドの内容により実アドレスへの変換の成功(TLBヒ
ット)が判定される。この際、アドレス空間へのアクセ
ス時に、STOフィールドの内容は、アクセスする空間の
仮想アドレスから実アドレスへの変換に使用するSTD内
のSTOと比較され、一致した場合に変換が成功したと判
定されるが、Cフィールドの内容が‘1'である場合、す
なわち、前記セグメントテーブルが全アドレス空間で共
通なセグメントテーブルである場合、当該TLBエントリ
中のSTOフィールドの内容と前記STD中のSTOとを比較す
ることなく、変換成功と判定している。Address translation is performed using a segment table and a page table, which are translation tables defined by the system for each virtual address space. Each entry of the TLB has a field that stores the segment table origin (STO) defined in the segment table descriptor (STD), which is the origin on the main memory of the segment table, and the segment table A field is provided for storing the defined common segment bit (C). In the conversion by the TLB, the success of the conversion to the real address (TLB hit) is determined by the contents of the STO and C fields. At this time, when accessing the address space, the contents of the STO field are compared with the STO in the STD used to convert the virtual address of the space to be accessed to the real address, and if they match, it is determined that the conversion was successful. However, when the content of the C field is '1', that is, when the segment table is a segment table common to all address spaces, the content of the STO field in the TLB entry and the STO in the STD are It is determined that the conversion is successful without making a comparison.
また、前記TLBエントリのフィールドには、例えば、仮
想計算機システムなどでは、特公昭57−23347号に示さ
れる様に、ゲスト仮想計算機(ゲストVM)の識別情報と
して、VM−IDフィールドを設け、性能の向上を図ってい
る。Further, in the TLB entry field, for example, in a virtual computer system, as shown in Japanese Patent Publication No. 57-23347, a VM-ID field is provided as the guest virtual computer (guest VM) identification information, We are trying to improve
従来のコンピュータアーキテクチャにおいては、アドレ
ス空間へのアクセスのため、前記TLBによる変換を行な
うとき、当該アドレス空間の仮想アドレスから実アドレ
スへの変換に使用するSTDに定義されるプライベート制
御情報(プライベート制御ビット)により、当該アドレ
ス空間がプライベート空間であることが示されている場
合、そのアドレス空間のアクセスのために索引されたTL
Bエントリ内の変換対が、共通セグメント変換対であっ
ても、当該変換対の使用によるアドレス変換を許してい
ない。In the conventional computer architecture, when the TLB conversion is performed to access the address space, private control information (private control bit) defined in the STD used for converting the virtual address of the address space to the real address is used. ) Indicates that the address space is private, the TL indexed for access to that address space.
Even if the translation pair in the B entry is a common segment translation pair, address translation by using the translation pair is not permitted.
このようなアーキテクチャを実現する処理システムにお
いては、プライベート空間アクセスのため前記TLB索引
による変換対が、共通セグメント変換対である場合、当
該変換対を使用せず、前記主記憶上のセグメントテーブ
ルおよびページテーブルの索引による変換を常に行なう
必要がある。In a processing system that realizes such an architecture, when the conversion pair by the TLB index is a common segment conversion pair for private space access, the conversion pair is not used and the segment table and page on the main memory are not used. The table index must always be converted.
[発明が解決しようとする課題] 上記従来技術は、プライベート空間へのアクセスの際、
TLB、特に複数のロウより構成されるTLB索引による変換
対が共通セグメント変換対である場合、前述のようにそ
の変換対を使用せず、主記憶上のセグメントテーブル、
ページテーブルの索引による変換を常に行なう必要があ
る。そのため、プライベート空間へのアクセスが同一ペ
ージ内で連続したような場合、主記憶上のセグメントテ
ーブル、ページテーブルの索引による変換が多発し、処
理性能上余計なオーバーヘッドが発生する。[Problems to be Solved by the Invention] In the above-mentioned conventional technique, when accessing a private space,
When the TLB, especially the TLB index conversion pair composed of multiple rows is a common segment conversion pair, the conversion pair is not used as described above, and the segment table in the main memory is used.
The page table index must always be converted. Therefore, when accesses to the private space are continuous within the same page, conversion is frequently performed by the indexes of the segment table and page table in the main memory, resulting in extra overhead in processing performance.
本発明の目的は、主記憶上のセグメントテーブル、ペー
ジテーブルの索引による変換の多発によって発生するオ
ーバーヘッドを低減することができるデータ処理システ
ムを提供することにある。An object of the present invention is to provide a data processing system capable of reducing the overhead caused by frequent conversions by the indexes of the segment table and page table on the main memory.
本発明による他の目的は、TLBにプライベート空間アク
セスのアドレス変換対を登録させる手段を有するデータ
処理システムを提供することにある。Another object of the present invention is to provide a data processing system having means for registering a private space access address translation pair in a TLB.
[課題を解決するための手段] 上記目的を達成するために、本発明によるデータ処理シ
ステムは、アドレス変換対および共通セグメントビット
を保持し、論理アドレスの一部で索引される少なくとも
1ロウで構成されるアドレス変換バッファを有する仮想
アドレス空間式データ処理システムにおいて、前記アド
レス変換バッファの各エントリに、仮想アドレスから実
アドレスへの変換に使用するセグメントテーブル記述子
に定義されるプライベート空間制御ビットを格納するフ
ィールドを設けるとともに、アドレス空間へのアクセス
時に、当該アドレス空間の仮想アドレスから実アドレス
への変換に使用するセグメントテーブル記述子に定義さ
れるプライベート空間制御ビットと前記アドレス変換バ
ッファのプライベート空間制御ビットフィールドの値と
を比較し、両者の一致をアドレス変換成功の条件とする
アドレス変換成功判定手段を具備し、前記アドレス変換
バッファの同一エントリ内の前記プライベート空間制御
ビットフィールドおよび前記共通セグメントビットフィ
ールドには同時に論理値‘1'を登録しないようにしたも
のである。[Means for Solving the Problems] In order to achieve the above object, a data processing system according to the present invention holds an address translation pair and a common segment bit, and is configured by at least one row indexed by a part of a logical address. In a virtual address space type data processing system having an address translation buffer, a private space control bit defined in a segment table descriptor used for translation from a virtual address to a real address is stored in each entry of the address translation buffer. Field is provided, and when accessing the address space, the private space control bit defined in the segment table descriptor used for converting the virtual address of the address space into the real address and the private space control bit field of the address translation buffer are defined. The address of the private space control bit field and the common segment bit field in the same entry of the address translation buffer. Indicates that the logical value '1' is not registered at the same time.
このデータ処理システムにおいて、好ましくは、仮想ア
ドレスから実アドレスへの変換に使用されるセグメント
テーブル記述子に定義されるプライベート空間制御ビッ
トが論理値‘1'であるプライベート空間アクセスの際、
前記アドレス変換バッファから索引されたエントリ中に
共通セグメントビットが論理値‘1'であるエントリが存
在する場合、当該エントリに対して当該プライベート空
間アクセスの変換対をプライベート空間制御ビットの論
理値‘1'とともに登録する登録手段を備える。あるい
は、複数ロウのアドレス変換バッファについて、仮想ア
ドレスから実アドレスへの変換に使用されるセグメント
テーブル記述子に定義されるプライベート空間制御ビッ
トが論理値‘1'であるプライベート空間アクセスの際、
前記アドレス変換バッファから索引された複数のエント
リ中に共通セグメントビットが論理値‘1'であるエント
リが存在する場合、該エントリが属するコラムの全ての
エントリを無効化する無効化手段と、当該コラム内の1
エントリに対して当該プライベート空間アクセスの変換
対をプライベート空間制御ビットの論理値‘1'とともに
登録する登録手段とを備える。In this data processing system, preferably, during the private space access in which the private space control bit defined in the segment table descriptor used for the conversion from the virtual address to the real address has a logical value of “1”,
If the entry indexed from the address translation buffer has an entry with a common segment bit having a logical value of '1', the translation pair of the private space access for the entry is set to a logical value of the private space control bit of '1'. 'With registration means to register with. Alternatively, for a multi-row address translation buffer, when the private space access in which the private space control bit defined in the segment table descriptor used for translation from the virtual address to the real address has a logical value of "1",
When an entry whose common segment bit has a logical value of "1" exists in the plurality of entries indexed from the address translation buffer, an invalidation unit that invalidates all the entries of the column to which the entry belongs, 1 of
Registration means for registering the conversion pair of the private space access for the entry together with the logical value '1' of the private space control bit.
[作用] 仮想アドレス空間アクセスのためにアドレス変換バッフ
ァ(TLB)を参照したとき、当該アドレス空間の仮想ア
ドレスから実アドレスへの変換に使用するSTDに定義さ
れるプライベート空間制御ビットと、索引されたTLBエ
ントリ内のプライベート空間制御ビットフィールドの内
容とが比較され、両者の一致がアドレス変換成功の条件
とされる。[Operation] When the address translation buffer (TLB) is referenced for virtual address space access, the private space control bits defined in the STD used to translate the virtual address of the address space into the real address are indexed. The contents of the private space control bit field in the TLB entry are compared, and a match between them is taken as a condition for successful address translation.
一方、プライベート空間制御ビットフィールドと共通セ
グメントビットフィールドが共に論理値‘1'となるよう
なアドレス変換は許容されない。On the other hand, address translation in which both the private space control bit field and the common segment bit field have a logical value of "1" is not allowed.
したがって、プライベート空間アクセス時に、索引され
たTLBエントリの共通セグメントビットフィールドが論
理値‘1'である場合には、当該プライベート空間制御ビ
ットと、索引されたTLBエントリのプライベート空間制
御ビットフィールドの値とは一致せず、主記憶上のセグ
メントテーブルおよびページテーブルを参照するアドレ
ス変換が行われる。Therefore, when accessing the private space, if the common segment bit field of the indexed TLB entry has a logical value of '1', the private space control bit concerned and the value of the private space control bit field of the indexed TLB entry are Does not match, and address conversion is performed with reference to the segment table and page table on the main memory.
そこで、このアドレス変換により求められたアドレス変
換対がプライベート空間制御ビットの論理値‘1'ととも
に、TLB内に登録される。登録後は、TLB内のこの変換対
の使用による当該プライベート空間のアドレス変換が可
能となる。Therefore, the address translation pair obtained by this address translation is registered in the TLB together with the logical value "1" of the private space control bit. After registration, the private space address can be translated by using this translation pair in the TLB.
前記プライベート空間の変換対の登録のためには、索引
された変換対が、共通セグメント変換対であることを検
出し、そのエントリあるいは、そのエントリを含む索引
されたすべてのエントリを無効化し、当該エントリの一
つにプライベート空間のアドレス変換対を登録する。In order to register the conversion pair in the private space, it is detected that the indexed conversion pair is a common segment conversion pair, and the entry or all the indexed entries including the entry are invalidated, Register a private space address translation pair in one of the entries.
以上のように、プライベート空間アクセス時に、索引さ
れたTLBエントリが共通セグメント変換対である場合、
変換不成功として主記憶上のセグメントおよびページテ
ーブルによるアドレス変換を行い、これにより得られた
変換対をプライベート空間制御ビットとともに登録する
ことにより、以降、プライベート空間へのアクセスが同
一ページ内で連続したような場合でも、TLBによるアド
レス変換成功となり、主記憶上のテーブル参照によるア
ドレス変換の多発を回避し、データ処理システムの処理
性能の向上を図ることができる。As described above, when accessing the private space, if the indexed TLB entry is a common segment translation pair,
As the conversion was unsuccessful, the address in the main memory is converted by the segment and page table, and the conversion pair obtained by this is registered together with the private space control bit, so that the access to the private space continues in the same page. Even in such a case, the address conversion by the TLB is successful, the frequent occurrence of the address conversion due to the table reference in the main memory can be avoided, and the processing performance of the data processing system can be improved.
[実施例] 以下、本発明の一実施例を第1図により説明する。[Embodiment] An embodiment of the present invention will be described below with reference to FIG.
第1図は、多重仮想アドレス空間式データ処理システム
のうち本発明の関連する部分を示している。第1図のシ
ステム部分は、個々の命令を実行する命令実行部1と、
この命令実行部1によりそれぞれ所定の値がセットされ
るレジスタ群5〜9と、TLB3と、前記レジスタ群5〜9
およびアドレス変換部(図示せず)からの情報に従って
TLB3のデータ書き込みを制御する書き込み制御部2と、
空間アクセス時のTLBの変換成功すなわちTLBヒットを判
定するTLBヒット判定部4とからなる。FIG. 1 shows a relevant part of the present invention in a multiple virtual address space type data processing system. The system portion of FIG. 1 includes an instruction execution unit 1 that executes individual instructions,
The register groups 5 to 9 in which predetermined values are respectively set by the instruction execution unit 1, the TLB 3, and the register groups 5 to 9
And according to the information from the address converter (not shown)
A write control unit 2 for controlling data writing of the TLB 3,
The TLB hit determination unit 4 determines a TLB conversion success, that is, a TLB hit at the time of space access.
レジスタ5は、仮想計算機システムにおける、VMモード
レジスタ(Gレジスタ)であり、ゲストVMモード時に
‘1'にセットされる。レジスタ6及び7は、セグメント
テーブル記述子(STD)の内容の一部を保持するレジス
タである。すなわち、レジスタ6は、プライベート空間
制御情報を保持するプライベート空間制御レジスタ(P
レジスタ)であり、アクセスする仮想アドレス空間がプ
ライベート空間であるとき‘1'にセットされる。レジス
タ7は、前記STDの中のセグメントテーブル基点(STO)
を保持するセグメントテーブルオリジンレジスタ(STO
レジスタ)である。また、レジスタ8は、TLB索引を仮
想アドレスまたは実アドレスのいずれで行なうかを示す
リアルモードレジスタ(Rレジスタ)であり、レジスタ
9は実効アドレスを保持するアドレスレジスタである。
アドレスレジスタ9は、例えば31ビットからなる。その
上位の第1〜19ビットが、ページアドレスを構成し、ア
ドレス変換を受けるビットであり、第20〜31ビットが実
アドレスと共通なビットである。The register 5 is a VM mode register (G register) in the virtual computer system, and is set to '1' in the guest VM mode. Registers 6 and 7 are registers that hold a part of the contents of the segment table descriptor (STD). That is, the register 6 is a private space control register (P
Register), and is set to '1' when the virtual address space to be accessed is a private space. Register 7 is the segment table base point (STO) in the STD.
Segment table origin register (STO
Register). Further, the register 8 is a real mode register (R register) which indicates whether the TLB index is performed with a virtual address or a real address, and the register 9 is an address register which holds an effective address.
The address register 9 has, for example, 31 bits. The upper 1st to 19th bits form a page address and are subjected to address conversion, and the 20th to 31st bits are bits common to the real address.
命令実行部1は、アドレス空間へのアクセス要求が発生
すると、Gレジスタ5、Pレジスタ6、STOレジスタ
7、Rレジスタ8、アドレスレジスタ9に、それぞれ所
定のデータを設定する。その後、TLB3に対して、参照要
求を発行する。When an access request to the address space is issued, the instruction execution unit 1 sets predetermined data in the G register 5, P register 6, STO register 7, R register 8 and address register 9, respectively. After that, a reference request is issued to TLB3.
TLB3は、セットアソシアティブ方式を採用する。すなわ
ち、カラムアドレスによりカラムアドレスデコーダ10を
介して選択される1つまたは複数のエントリを有し、こ
の各エントリはロウと呼ばれ、このロウが索引または登
録の対象となる。第1図に示す本実施例では、カラム数
512、ロウ数1すなわち512エントリを持つTLB構成とす
るが、ロウを複数とする等、他の構成についても容易に
類推される。TLB3 adopts the set associative method. That is, it has one or a plurality of entries selected by the column address via the column address decoder 10. Each entry is called a row, and this row is an index or registration target. In this embodiment shown in FIG. 1, the number of columns
Although the TLB configuration has 512 rows and one row, that is, 512 entries, other configurations such as a plurality of rows can be easily inferred.
TLB3の各エントリは、有効フィールド(V)、ゲストフ
ィールド(G)、プライベート空間制御フィールド
(P)、共通セグメントフィールド(C)、セグメント
オリジンフィールド(STO)、仮想アドレスフィールド
(VA)、実アドレスモードフィールド(R)、絶対アド
レスフィールド(PA)から構成される。各フィールドの
ビット数を“( )”内に示している。Each entry of TLB3 has a valid field (V), guest field (G), private space control field (P), common segment field (C), segment origin field (STO), virtual address field (VA), real address mode. It is composed of a field (R) and an absolute address field (PA). The number of bits in each field is shown in “()”.
Vフィールドは、このエントリが有効か無効かを示す1
ビットのフィールドであり、有効なとき‘1'、無効の時
‘0'を示す。Gフィールドは、当該エントリが、仮想計
算機システムにおけるホストまたはゲストVMのいずれに
対応するものであるかを示すアドレス変換情報である。
このフィールドはゲストVM時‘1'、ホスト時‘0'とな
る。Pフィールドは、当該エントリが、プライベート空
間の変換対を定義しているか否かを示すフィールドであ
り、‘1'のとき当該エントリがプライベート空間のアド
レス変換対であることを示し、‘0'のときは、プライベ
ート空間ではないことを示す。Rフィールドは、当該エ
ントリの被変換アドレスが実アドレスであるかまたは仮
想アドレスであるかを示す1ビットのフィールドであ
り、‘0'のとき仮想アドレス、‘1'のとき実アドレスを
示す。Cフィールドは、このフィールドが‘1'のとき当
該エントリが、共通セグメントを用いたアドレス変換対
であることを示す。アドレス変換時に用いたセグメント
テーブル中の共通セグメントビットが‘1'のとき、本フ
ィールドが‘1'となる。STOフィールドは、当該エント
リのアドレス変換時のセグメント記述子中の、セグメン
トテーブル起点アドレスを表わす。VAフィールドは、TL
Bアクセスのページフレームアドレスのうち、カラムア
ドレス以外のビットであり、第1図においては、ビット
1〜10を格納する10ビットのフィールドである。PAフィ
ールドは、実アドレスのページフレームアドレスである
19ビットを格納する。The V field indicates whether this entry is valid or invalid 1
This is a bit field and indicates "1" when enabled and "0" when disabled. The G field is address translation information indicating whether the entry corresponds to a host or a guest VM in the virtual computer system.
This field is set to "1" for guest VM and "0" for host. The P field is a field indicating whether or not the entry defines a private space translation pair. When the entry is '1', the entry is an address translation pair in the private space. Indicates that it is not a private space. The R field is a 1-bit field indicating whether the translated address of the entry is a real address or a virtual address, and indicates a virtual address when it is '0' and a real address when it is '1'. The C field indicates that the entry is an address translation pair using a common segment when this field is "1". When the common segment bit in the segment table used for address translation is "1", this field is "1". The STO field represents the segment table starting point address in the segment descriptor when the address of the entry is translated. VA field is TL
It is a bit other than the column address in the page frame address of B access, and in FIG. 1, it is a 10-bit field for storing bits 1 to 10. PA field is the page frame address of the real address
Stores 19 bits.
TLBヒット判定部4は、比較回路11〜15、ORゲート16,1
7、ANDゲート18、インバータ19から構成される。比較回
路11は、TLB3のGフィールドとGレジスタ5の内容とを
比較し、一致したとき‘1'を出力する。比較回路12は、
TLB3のPフィールドとPレジスタ6の内容とを比較し、
一致したとき‘1'を出力する。また、それぞれ、比較回
路13はSTOの比較、比較回路14はVAフィールドとアクセ
スアドレスレジスタ9のカラムアドレス以外のページフ
レームアドレスとの比較、比較回路15は実アドレスモー
ドの比較を行ない、一致したとき‘1'を出力する。TLB
ヒット判定部4におけるTLBヒットの条件は、 TLBエントリのVフィールドが‘1'、 TLB GフィールドとGレジスタ5の内容が一致、 TLB RフィールドとRレジスタ8の内容が一致、 TLB VAフィールドとアドレスレジスタ9内のカラ
ムアドレス以外のページフレームアドレス部が一致、 TLB Cフィールドが‘1'、またはTLBのSTOフィー
ルドとSTOレジスタ7の内容が一致、 TLB PフィールドとPレジスタの内容が一致。The TLB hit determination unit 4 includes comparison circuits 11 to 15 and OR gates 16 and 1.
7, AND gate 18, and inverter 19. The comparison circuit 11 compares the G field of TLB3 with the contents of the G register 5, and outputs "1" when they match. The comparison circuit 12 is
Compare the P field of TLB3 with the contents of P register 6,
Outputs '1' when they match. Further, the comparison circuit 13 compares the STO, the comparison circuit 14 compares the VA field with a page frame address other than the column address of the access address register 9, and the comparison circuit 15 compares the real address mode. Outputs "1". TLB
The TLB hit condition in the hit determination unit 4 is that the V field of the TLB entry is "1", the contents of the TLB G field and the G register 5 match, the contents of the TLB R field and the R register 8 match, the TLB VA field and the address. Page frame address part other than column address in register 9 matches, TLB C field is '1', or STO field of TLB matches the contents of STO register 7, TLB P field matches the contents of P register.
上記条件〜の全てが成立した場合、TLBヒット20が
‘1'となり、成立しない場合TLBミス21が、‘1'とな
る。TLBヒット20、PAフィールド出力22はキャッシュ制
御部(図示せず)へ、TLBミス21はアドレス変換制御部
(図示せず)へ、それぞれ転送される。上記条件から
分かるように、アクセスする空間がプライベート空間で
ある場合は、索引されたTLBエントリの変換対もプライ
ベート空間の変換対であることがTLBヒットの条件にな
っている。When all of the above conditions (1) to (3) are satisfied, the TLB hit 20 becomes "1", and when not satisfied, the TLB miss 21 becomes "1". The TLB hit 20 and PA field output 22 are transferred to a cache control unit (not shown), and the TLB miss 21 is transferred to an address translation control unit (not shown). As can be seen from the above condition, when the space to be accessed is a private space, the conversion pair of the indexed TLB entry is also a conversion pair of the private space, which is the condition for the TLB hit.
TLB書込み制御部2は、アドレス変換によるTLB登録およ
びTLBの無効化を制御する。TLB登録時は、TLB3のG、ST
O、P、VA、Rの各フィールドには、それぞれGレジス
タ5、STOレジスタ7、Pレジスタ6、アドレスレジス
タ9、Rレジスタ8の内容が格納される。Cフィールド
およびPAフィールドには、それぞれアドレス変換部から
転送された値C,PAを格納する。The TLB write control unit 2 controls TLB registration and TLB invalidation by address translation. When TLB is registered, TLB3 G, ST
The contents of G register 5, STO register 7, P register 6, address register 9, and R register 8 are stored in the O, P, VA, and R fields, respectively. The values C and PA transferred from the address conversion unit are stored in the C field and the PA field, respectively.
アドレス変換部では、プライベート空間の仮想アドレス
から実アドレスへの変換に際し、共通セグメントビット
が‘1'となる変換は許可しないため、TLBエントリ内で
P及びCフィールドが同時に‘1'となることはない。Since the address translation unit does not allow translation in which the common segment bit is '1' when translating a virtual address in the private space into a real address, the P and C fields in the TLB entry may be '1' at the same time. Absent.
したがって、プライベート空間のアクセス(Pレジスタ
6の値が‘1')の際、索引されたTLBエントリが共通セ
グメント変換対である場合(Cフィールドが‘1'の場
合)、対応するPフィールドは必ず‘0'であり、Pレジ
スタ6の値とPフィールドが一致せず、必ずTLBミスと
なる。そこで、前述のようにその旨、アドレス変換制御
部に通知され、新たに主記憶上のセグメントテーブルお
よびページテーブルによるアドレス変換が行われ、これ
により得られた変換対がTLB3の当該エントリに書き込ま
れる。この書き込みの際、Pレジスタ6の値‘1'がPフ
ィールドに書き込まれる。以降、当該TLBエントリを索
引するプライベート空間のアクセスに対しては、Pレジ
スタ6の値とPフィールドの値が一致するので、TLBヒ
ット条件は満足される。その結果、当該プライベート空
間へのアクセスが連続する場合であっても、常に主記憶
上のセグメントテーブル、ページテーブルの索引による
変換を行なうことはなくなり、処理性能上の余計なオー
バーヘッドを回避することができる。Therefore, when accessing the private space (value of P register 6 is "1"), if the indexed TLB entry is a common segment conversion pair (when C field is "1"), the corresponding P field is always Since it is "0", the value of the P register 6 does not match the P field, and a TLB miss is always generated. Therefore, as described above, the fact is notified to the address translation control unit, the address translation is newly performed by the segment table and the page table in the main memory, and the translation pair thus obtained is written in the relevant entry of TLB3. . At the time of this writing, the value "1" of the P register 6 is written in the P field. After that, for the access to the private space that indexes the TLB entry, the value of the P register 6 and the value of the P field match, so the TLB hit condition is satisfied. As a result, even when the private space is continuously accessed, the conversion by the segment table and page table indexes in the main memory is not always performed, and extra overhead in processing performance can be avoided. it can.
TLB3が複数ロウの場合には、プライベート空間のアクセ
ス時に、索引したTLBのコラムにCフィールドが‘1'で
あるTLBエントリが存在するとき、その1TLBエントリの
みを新たな変換対および関連する各フィールド情報でリ
プレースする。あるいは、一旦、当該コラムに属するす
べてのTLBエントリを無効化し(すなわち、そのVフィ
ールドに‘0'を書き込む)、その後、1TLBエントリに、
新たな変換対および関連する各フィールドの内容を書き
込む。この際、Vフィールドは‘1'、Pフィールドは
‘1'、Cフィールドは‘0'とする。前者の方法は、コラ
ム内のすべてのエントリの無効化はしないのでTLBの使
用効率が向上するという利点を有する。一方、後者の方
法は、同一コラム内のすべてのエントリを無効化するの
で無効化処理が容易であるという利点を有する。When TLB3 has multiple rows, when a TLB entry with a C field of "1" exists in the column of the indexed TLB when accessing the private space, only that one TLB entry is used as a new translation pair and associated fields. Replace with information. Alternatively, once, all TLB entries belonging to the column are invalidated (that is, "0" is written in the V field), and then one TLB entry is
Write the new transform pair and the contents of each associated field. At this time, the V field is "1", the P field is "1", and the C field is "0". The former method has an advantage that the TLB usage efficiency is improved because all entries in the column are not invalidated. On the other hand, the latter method has an advantage that invalidation processing is easy because all entries in the same column are invalidated.
本発明によれば、プライベート空間のアクセスに際して
は、索引されたTLBエントリが共通セグメント変換対で
あっても当該変換対を使用することはなく、さらにTLB
にPフィールドを‘1'として登録することが可能とな
る。主記憶上のセグメントテーブル、ページテーブルの
索引による変換は、TLBへの登録時点のみとなり、変換
のオーバーヘッドを低減させ、処理性能を向上させるこ
とができる。According to the present invention, when accessing the private space, even if the indexed TLB entry is a common segment translation pair, the translation pair is not used, and the TLB entry is not used.
It is possible to register the P field as "1" in the. The conversion of the segment table and page table in the main memory is performed only at the time of registration in the TLB, and the conversion overhead can be reduced and the processing performance can be improved.
[発明の効果] 本発明では、TLBエントリにSTD内に定義されるプライベ
ート空間制御情報を格納するフィールドを設け、TLBア
クセスにおいて、当該フィールドの内容とSTD内プライ
ベート空間制御情報とを比較し、この一致をアドレス変
換成功の条件としたため、索引されたTLBエントリが共
通セグメント変換対であっても、当該エントリの変換対
をアドレス変換に使用することがない。さらに、また、
新たに変換対の登録が可能となる。[Effect of the Invention] In the present invention, a field for storing private space control information defined in STD is provided in the TLB entry, and in the TLB access, the content of the field and the private space control information in STD are compared, Since matching is used as a condition for successful address translation, even if the indexed TLB entry is a common segment translation pair, the translation pair of the entry is not used for address translation. In addition, again
A new conversion pair can be registered.
したがって、プライベート空間アクセス時のTLB索引結
果、索引された変換対が共通セグメント変換対であり、
当該プライベート空間へのアクセスが連続する場合、常
に主記憶上のセグメントテーブル、ページテーブルの索
引による変換を行なうことなく、処理性能上の余計なオ
ーバーヘッドを発生させず、処理性能を向上させること
ができる。Therefore, the TLB index result at the time of private space access, the conversion pair indexed is the common segment conversion pair,
When the access to the private space is continuous, it is possible to improve the processing performance without always performing the conversion by the index of the segment table and the page table in the main memory and generating the extra overhead in the processing performance. .
第1図は、本発明の一実施例、特にTLB及びTLBヒット判
定部を示すブロック図である。 1…命令実行部、2…TLB書込制御部、3…TLB、4…TL
Bヒット判定部、5…ゲスト・レジスタ、6…プライベ
ート空間制御レジスタ、7…STOレジスタ、8…リアル
アドレスモードレジスタ、9…アドレスレジスタ、10…
カラムアドレスデコーダ。FIG. 1 is a block diagram showing an embodiment of the present invention, particularly a TLB and a TLB hit determination unit. 1 ... Instruction execution unit, 2 ... TLB write control unit, 3 ... TLB, 4 ... TL
B hit determination section, 5 ... guest register, 6 ... private space control register, 7 ... STO register, 8 ... real address mode register, 9 ... address register, 10 ...
Column address decoder.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 通敬 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (56)参考文献 特開 昭63−231550(JP,A) ─────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Tomonori Yamamoto 1 Horiyamashita, Hadano City, Kanagawa Pref., Kanagawa Factory, Hiritsu Seisakusho Co., Ltd. (56) Reference JP-A-63-231550 (JP, A)
Claims (2)
トを保持し、論理アドレスの一部で索引される少なくと
も1ロウで構成されるアドレス変換バッファを有する仮
想アドレス空間式データ処理システムにおいて、 前記アドレス変換バッファの各エントリに、仮想アドレ
スから実アドレスへの変換に使用するセグメントテーブ
ル記述子に定義されるプライベート空間制御ビットを格
納するフィールドを設けるとともに、 アドレス空間へのアクセス時に、当該アドレス空間の仮
想アドレスから実アドレスへの変換に使用するセグメン
トテーブル記述子に定義されるプライベート空間制御ビ
ットと前記アドレス変換バッファのプライベート空間制
御ビットフィールドの値とを比較し、両者の一致をアド
レス変換成功の条件とするアドレス変換成功判定手段
と、前記アドレス変換バッファの各エントリに対するア
ドレス変換対およびプライベート空間制御ビットおよび
前記共通セグメントビットの登録を制御する登録制御手
段とを有し、 前記登録制御手段は、同一エントリ内のプライベート空
間制御ビットフィールドおよび前記共通セグメントビッ
トフィールドに同時に論理値“1"が登録されないよう
に、前記アドレス変換バッファの各エントリに対するプ
ライベート空間制御ビットおよび前記共通セグメントビ
ットの登録を制御し、かつ、 仮想アドレスから実アドレスへの変換に使用されるセグ
メントテーブル記述子に定義されるプライベート空間制
御ビットが論理値“1"であるプライベート空間アクセス
の際、前記アドレス変換バッファから索引されたエント
リ中に共通セグメントビットが論理値“1"であるエント
リが存在する場合、前記登録制御手段は、当該エントリ
に登録されている変換対に代えて前記プライベート空間
アクセスの変換対をプライベート空間制御ビットの論理
値“1"とともに当該エントリに登録することを特徴とす
るデータ処理システム。1. A virtual address space type data processing system having an address translation buffer, which holds an address translation pair and a common segment bit, and comprises at least one row indexed by a part of a logical address. Each entry of is provided with a field to store the private space control bit defined in the segment table descriptor used to convert the virtual address to the real address, and at the time of access to the address space, from the virtual address of the address space An address that compares the private space control bit defined in the segment table descriptor used for conversion to a real address with the value of the private space control bit field of the address conversion buffer, and makes the match between them a condition for successful address conversion. conversion And a registration control unit for controlling registration of the address translation pair, the private space control bit, and the common segment bit for each entry of the address translation buffer, wherein the registration control unit is a private entry within the same entry. The registration of the private space control bit and the common segment bit for each entry of the address translation buffer is controlled so that the logical value "1" is not registered in the space control bit field and the common segment bit field at the same time, and the virtual address is controlled. To a real address, the private segment control bit defined in the segment table descriptor has a logical value of "1". When accessing the private space, the common segment is included in the entry indexed from the address translation buffer. When there is an entry whose bit is the logical value "1", the registration control means replaces the conversion pair registered in the entry with the conversion pair of the private space access and the logical value "1" of the private space control bit. A data processing system characterized by being registered in the entry together with ".
トを保持し、論理アドレスの一部で索引される複数のロ
ウで構成されるアドレス変換バッファを有する仮想アド
レス空間式データ処理システムにおいて、 前記アドレス変換バッファの各エントリに、仮想アドレ
スから実アドレスへの変換に使用するセグメントテーブ
ル記述子に定義されるプライベート空間制御ビットを格
納するフィールドを設けるとともに、 アドレス空間へのアクセス時に、当該アドレス空間の仮
想アドレスから実アドレスへの変換に使用するセグメン
トテーブル記述子に定義されるプライベート空間制御ビ
ットと前記アドレス変換バッファのプライベート空間制
御ビットフィールドの値とを比較し、両者の一致をアド
レス変換成功の条件とするアドレス変換成功判定手段
と、 前記アドレス変換バッファの各エントリに対するアドレ
ス変換対およびプライベート空間制御ビットおよび前記
共通セグメントビットの登録を制御する登録制御手段
と、 仮想アドレスから実アドレスへの変換に使用されるセグ
メントテーブル記述子に定義されるプライベート空間制
御ビットが論理値“1"であるプライベート空間アクセス
の際、前記アドレス変換バッファから索引された複数の
エントリ中に共通セグメントビットが論理値“1"である
エントリが存在する場合に、当該エントリが属するコラ
ムの全てのエントリを無効化する無効化する無効化手段
とを有し、 前記登録制御手段は、同一エントリ内のプライベート空
間制御ビットフィールドおよび前記共通セグメントビッ
トフィールドに同時に論理値“1"が登録されないよう
に、前記アドレス変換バッファの各エントリに対するプ
ライベート空間制御ビットおよび前記共通セグメントビ
ットの登録を制御し、かつ、 仮想アドレスから実アドレスへの変換に使用されるセグ
メントテーブル記述子に定義されるプライベート空間制
御ビットが論理値“1"であるプライベート空間アクセス
の際、前記アドレス変換バッファから索引された複数の
エントリ中に共通セグメントビットが論理値“1"である
エントリが存在する場合に、前記登録制御手段は、前記
無効化手段によって無効化されたコラムの1エントリに
対して当該プライベート空間アクセスの変換対をプライ
ベート空間制御ビットの論理値“1"とともに登録するこ
とを特徴とするデータ処理システム。2. A virtual address space type data processing system having an address translation buffer which holds an address translation pair and a common segment bit, and which is composed of a plurality of rows indexed by a part of a logical address. Each entry of is provided with a field to store the private space control bit defined in the segment table descriptor used for the conversion from the virtual address to the real address, and when accessing the address space, the virtual address of the address space An address that compares the private space control bit defined in the segment table descriptor used for conversion to a real address with the value of the private space control bit field of the address conversion buffer, and makes the match of both conditions a condition for successful address conversion. Conversion success judgment Means, registration control means for controlling registration of the address translation pair and private space control bit and the common segment bit for each entry of the address translation buffer, and segment table descriptor used for translation from virtual address to real address When the private space access in which the private space control bit defined in 1 is a logical value "1", there is an entry in which the common segment bit is a logical value "1" in the plurality of entries indexed from the address translation buffer. In this case, the registration control means has invalidation means for invalidating all the entries of the column to which the entry belongs, and the registration control means simultaneously applies the private space control bit field and the common segment bit field in the same entry. Logical value "1" is not registered A private space control bit for controlling each entry of the address translation buffer and the registration of the common segment bit, and a private space control defined in a segment table descriptor used for translation from a virtual address to a real address. When a private space access in which a bit has a logical value of "1" is made and there is an entry having a common segment bit of a logical value of "1" in the plurality of entries indexed from the address translation buffer, the registration control means The data processing system is characterized in that the conversion pair of the private space access is registered together with the logical value "1" of the private space control bit for one entry of the column which is invalidated by the invalidation means.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1248934A JPH07117918B2 (en) | 1989-09-25 | 1989-09-25 | Data processing system |
| DE19904030287 DE4030287A1 (en) | 1989-09-25 | 1990-09-25 | Data processing system - has circuitry for access to multiple virtual address spaces |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1248934A JPH07117918B2 (en) | 1989-09-25 | 1989-09-25 | Data processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03110648A JPH03110648A (en) | 1991-05-10 |
| JPH07117918B2 true JPH07117918B2 (en) | 1995-12-18 |
Family
ID=17185589
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1248934A Expired - Fee Related JPH07117918B2 (en) | 1989-09-25 | 1989-09-25 | Data processing system |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPH07117918B2 (en) |
| DE (1) | DE4030287A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5319761A (en) * | 1991-08-12 | 1994-06-07 | International Business Machines Corporation | Directory look-aside table for a virtual storage system including means for minimizing synonym entries |
| US8799620B2 (en) | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0658650B2 (en) * | 1986-03-14 | 1994-08-03 | 株式会社日立製作所 | Virtual computer system |
| JPS63231550A (en) * | 1987-03-19 | 1988-09-27 | Hitachi Ltd | Multiple virtual space control method |
-
1989
- 1989-09-25 JP JP1248934A patent/JPH07117918B2/en not_active Expired - Fee Related
-
1990
- 1990-09-25 DE DE19904030287 patent/DE4030287A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| DE4030287A1 (en) | 1991-04-04 |
| JPH03110648A (en) | 1991-05-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3936378B2 (en) | Address translation device | |
| US5696925A (en) | Memory management unit with address translation function | |
| JP2000122927A (en) | Computer system gaining access with virtual area number | |
| JPH03142644A (en) | Cache memory control system | |
| US6073226A (en) | System and method for minimizing page tables in virtual memory systems | |
| JPH10228419A (en) | Method and apparatus for preloading various default address translation attributes | |
| JPH0137773B2 (en) | ||
| JPH04320553A (en) | Address converting mechanism | |
| JPH08272692A (en) | Conversion method of virtual address | |
| JP2020523682A (en) | Sharing virtual and real transformations in virtual cache | |
| US6990551B2 (en) | System and method for employing a process identifier to minimize aliasing in a linear-addressed cache | |
| EP0173909B1 (en) | Look-aside buffer least recently used marker controller | |
| US6574698B1 (en) | Method and system for accessing a cache memory within a data processing system | |
| JPH05100956A (en) | Address converter | |
| JPH02292648A (en) | Multiple virtual memory system and address controller | |
| JPH07117918B2 (en) | Data processing system | |
| JPH0760411B2 (en) | Buffer storage controller | |
| JPS623354A (en) | Cache memory access system | |
| US20070101044A1 (en) | Virtually indexed cache system | |
| JPH0458347A (en) | Control system for shared address space | |
| JP2641319B2 (en) | Address translation buffer clear method | |
| JP2635310B2 (en) | Address translation device | |
| JPH0325644A (en) | Multiple virtual address space controller | |
| JPS626350A (en) | TLB control device | |
| JPH02114346A (en) | Tlb entry control system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |