JPH03110648A - Data processing system - Google Patents
Data processing systemInfo
- Publication number
- JPH03110648A JPH03110648A JP1248934A JP24893489A JPH03110648A JP H03110648 A JPH03110648 A JP H03110648A JP 1248934 A JP1248934 A JP 1248934A JP 24893489 A JP24893489 A JP 24893489A JP H03110648 A JPH03110648 A JP H03110648A
- Authority
- JP
- Japan
- Prior art keywords
- address
- private space
- field
- entry
- address translation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 50
- 239000000872 buffer Substances 0.000 claims description 27
- 230000000875 corresponding effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 1
- 238000010586 diagram 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
- 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)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、アドレス変換バッファ(TLB)を有する多
重仮想アドレス空間式データ処理システム番こ関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a multiple virtual address space data processing system having address translation buffers (TLBs).
[従、来の技術]
従来、′多重仮想記憶空間における、仮想アドレシング
を用いる処理システ“ムにおいては、゛仮想アドレス空
間と論理アドレスから実アドレスを求め、るアドレス変
換を高速に行なうためにアドレス変換バッファ(T L
I3 )を用いることは周知である。[Background Art] Conventionally, in a processing system that uses virtual addressing in multiple virtual memory spaces, address processing is performed in order to perform high-speed address conversion to obtain a real address from a virtual address space and a logical address. Translation buffer (TL
I3) is well known.
アドレス変換は、仮想アドレス空間毎にシステムにより
定められた変換テーブルであるセグメントテーブルとペ
ージテーブルとを用いて行なわれる。前記TLBの各エ
ントリには、そのセグメントテーブルの主記憶上の起点
となる、セグメントテーブル記述子(STD)中に定義
されているセグメントテーブル起点(STo)を格納す
るフィールドと、そのセグメントテーブル中に定義され
ている共通セグメントビット(C)を格納するフィール
ドが設けられている。前記TLBによる変換には、ST
O及びCフィールドの内容により実アドレスへの変換の
成功(T L Bヒツト)が判定される。この際、アド
レス空間へのアクセス時に、STOフィールドの内容は
、アクセスする空間の仮想アドレスから実アドレスへの
変換に使用するSTD内のSTOと比較され、一致した
場合に変換が成功したと判定されるが、Cフィールドの
内容が‘1’である場合、すなわち、前記セグメントテ
ーブルが全アドレス空間で共通なセグメントテーブルで
ある場合、当該TLBエントリ中のSTOフィールドの
内容と前記STD中のSTOとを比較することなく、変
換成功と判定している。Address translation is performed using segment tables and page tables, which are translation tables defined by the system for each virtual address space. Each entry in the TLB includes a field that stores the segment table starting point (STo) defined in the segment table descriptor (STD), which is the starting point in the main memory of the segment table, and A field is provided to store the defined common segment bit (C). For conversion by the TLB, ST
The contents of the O and C fields determine the success of the translation to a real address (TLB hit). 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 accessed space to a real address, and if they match, it is determined that the conversion was successful. However, if the content of the C field is '1', that is, if the segment table is a common segment table for all address spaces, the content of the STO field in the TLB entry and the STO in the STD are The conversion is determined to be successful without comparison.
また、前記TLBエントリのフィールドには、例えば、
仮想計算機システムなどでは、特公昭57−23347
号に示される様に、ゲスト仮想計算機(ゲストVM)の
識別情報として、VM−IDフィールドを設け、性能の
向上を図っている。In addition, the fields of the TLB entry include, for example,
For virtual computer systems, etc., the Japanese Patent Publication No. 57-23347
As shown in this issue, a VM-ID field is provided as identification information of a guest virtual machine (guest VM) to improve performance.
IBM社ESA/370 アーキテクチャにおいては
、アドレス空間へのアクセスのため、前記TLBによる
変換を行なうとき、当該アドレス空間の仮想アドレスか
ら実アドレスへの変換に使用するSTDに定義されるプ
ライベート制御情報(プライベート制御ビット)により
、当該アドレス空間がプライベート空間であることが示
されている場合、そのアドレス空間のアクセスのために
索引されたTLBエントリ内の変換対が、共通セグメン
ト変換対であっても、当該変換対の使用によるアドレス
変換を許していない。In IBM's ESA/370 architecture, when performing translation using the TLB to access an address space, private control information (private control bit) indicates that the address space is a private space, even if the translation pair in the TLB entry indexed for accessing that address space is a common segment translation pair. Does not allow address translation through the use of translation pairs.
このようなアーキテクチャを実現する処理システムにお
いては、プライベート空間アクセスのため前記TLB索
引による変換対が、共通セグメント変換対である場合、
当該変換対を使用せず、前記主記憶上のセグメントテー
ブルおよびページテーブルの索引による変換を常に行な
う必要がある。In a processing system that implements such an architecture, when the conversion pair based on the TLB index for private space access is a common segment conversion pair,
It is necessary to always perform conversion using the indexes of the segment table and page table on the main memory without using the conversion pair.
[発明が解決しようとする課題]
上記従来技術は、プライベート空間へのアクセスの際、
TLB、特に複数のロウより構成されるTLB索引によ
る変換対が共通セグメント変換対である場合、前述のよ
うにその変換対を使用せず、主記憶上のセグメントテー
ブル、ページテーブルの索引による変換を常に行なう必
要がある。そのため、プライベート空間へのアクセスが
同一ページ内で連続したような場合、主記憶上のセグメ
ントテーブル、ページテーブルの索引による変換が多発
し、処理性能上余計なオーバーヘッドが発生する6
本発明の目的は、主記憶上のセグメントテーブル、ペー
ジテーブルの索引による変換の多発によって発生するオ
ーバーヘッドを低減することができるデータ処理システ
ムを提供することにある。[Problems to be Solved by the Invention] The above-mentioned conventional technology has the problem that when accessing a private space,
If the conversion pair based on the TLB, especially the TLB index consisting of multiple rows, is a common segment conversion pair, the conversion pair is not used as described above, and the conversion based on the segment table and page table index in main memory is performed. Need to do it all the time. Therefore, when private space is accessed consecutively within the same page, conversions due to segment table and page table indexes on main memory occur frequently, resulting in unnecessary overhead in terms of processing performance.6 The purpose of the present invention is to An object of the present invention is to provide a data processing system that can reduce overhead caused by frequent conversions due to indexing of segment tables and page tables on main memory.
本発明による他の目的は、TLBにプライベート空間ア
クセスのアドレス変換対を登録させる手段を有するデー
タ処理システムを提供することにある。Another object of the present invention is to provide a data processing system having means for registering address translation pairs for private space access in a TLB.
[課題を解決するための手段]
上記目的を達成するために、本発明によるデータ処理シ
ステムは、アドレス変換対を保持し、論理アドレスの一
部で索引されるアドレス変換バッファを有する仮想アド
レス空間式データ処理システムにおいて、前記アドレス
変換バッファの各エントリに、仮想アドレスから実アド
レスへの変換に使用するセグメントテーブル記述子に定
義されるプライベート空間制御情報を格納するフィール
ドを設けたものである。[Means for Solving the Problems] In order to achieve the above object, a data processing system according to the present invention provides a virtual address space formula having an address translation buffer that holds address translation pairs and is indexed by a portion of a logical address. In the data processing system, each entry of the address translation buffer is provided with a field for storing private space control information defined in a segment table descriptor used for translation from a virtual address to a real address.
本発明によるデータ処理装置は、他の見地によれば、ア
ドレス変換対を保持し、論理アドレスの一部で索引され
るアドレス変換バッファを有する仮想アドレス空間式デ
ータ処理システムにおいて。According to another aspect, a data processing apparatus according to the invention is provided in a virtual address space based data processing system having an address translation buffer that holds address translation pairs and is indexed by a portion of a logical address.
前記アドレス変換バッファの各エントリに、仮想アドレ
スから実アドレスへの変換に使用するセグメントテーブ
ル記述子に定義されるプライベート空間制御情報を格納
するフィ、−ルドを設けるとともに、アドレス空間への
アクセス時に、当該アドレス空間の仮想アドレスから実
アドレスへの変換に使用するセグメントテーブル記述子
に定義されるプライベート空間制御情報と前記アドレス
変換バッファのプライベート空間制御情報フィールドの
内容とを比較し、両者の一致をアドレス変換成功の条件
とするアドレス変換成功判定手段を具備したことを特徴
とするものである。Each entry of the address translation buffer is provided with a field for storing private space control information defined in a segment table descriptor used for translation from a virtual address to a real address, and when accessing the address space, The private space control information defined in the segment table descriptor used for converting virtual addresses to real addresses in the address space is compared with the contents of the private space control information field of the address translation buffer, and if they match, the address is determined. The present invention is characterized in that it includes means for determining whether or not the address translation is successful, which is a condition for success in translation.
本発明によるデータ処理システムは、さらに他の見地に
よれば、アドレス変換対および共通セグメントビットを
保持し、論理アドレスの一部で索引される少なくとも1
ロウで構成されるアドレス変換バッファを有する仮想ア
ドレス空間式データ処理システムにおいて、前記アドレ
ス変換バッファの各エントリに、仮想アドレスから実ア
ドレスへの変換に使用するセグメントテーブル記述子に
定義されるプライベート空間制御ビットを格納するフィ
ールドを設けるとともに、アドレス空間へのアクセス時
に、当該アドレス空間の仮想アドレスから実アドレスへ
の変換に使用するセグメントテーブル記述子に定義され
るプライベート空間制御ビットと前記アドレス変換バッ
ファのプライベート空間制御ビットフィールドの値とを
比較し、両者の一致をアドレス変換成功の条件とするア
ドレス変換成功判定手段を具備し、前記アドレス変換バ
ッファの同一エントリ内の前記プライベート空間制御ビ
ットフィールドおよび前記共通セグメントビットフィー
ルドには同時に論理値″1′を登録しないようにしたも
のである。According to yet another aspect, a data processing system according to the present invention maintains an address translation pair and a common segment bit, at least one segment bit indexed by a portion of a logical address.
In a virtual address space type data processing system having an address translation buffer composed of rows, each entry of the address translation buffer has a private space control defined in a segment table descriptor used for translation from a virtual address to a real address. In addition to providing a field for storing bits, a private space control bit defined in a segment table descriptor used to convert a virtual address in the address space to a real address when accessing an address space and a private field in the address translation buffer are provided. The private space control bit field and the common segment in the same entry of the address translation buffer are provided with an address translation success determination means for comparing the values of the space control bit field and making a match between the two a condition for successful address translation. The logic value "1" is not registered in the bit field at the same time.
このデータ処理システムにおいて、好ましくは、仮想ア
ドレスから実アドレスへの変換に使用されるセグメント
テーブル記述子に定義されるプライベート空間制御ビッ
トが論理値″1′であるプライベート空間アクセスの際
、前記アドレス変換バッファから索引されたエントリ中
に共通セグメントビットが論理値‘1’であるエントリ
が存在する場合、当該エントリに対して当該プライベー
ト空間アクセスの変換対をプライベート空間制御ビット
の論理値‘1’とともに登録する登録手段を備える。あ
るいは、複数ロウのアドレス変換バッファについて、仮
想アドレスから実アドレスへの変換に使用されるセグメ
ントテーブル記述子に定義されるプライベート空間制御
ビットが論理値‘1’であるプライベート空間アクセス
の際、前記アドレス変換バッファから索引された複数の
エントリ中に共通セグメントビットが論理‘1’である
エントリが存在する場合、該エントリが属するコラムの
全てのエントリを無効化する無効化手段と、当該コラム
内の1エントリに対して当該プライベート空間アクセス
の変換対をプライベート空間制御ビットの論理値‘1’
とともに登録する登録手段とを何える。In this data processing system, preferably, when a private space access is performed in which a private space control bit defined in a segment table descriptor used for virtual address to real address translation is a logical value "1", the address translation If there is an entry whose common segment bit has a logical value of '1' among the entries indexed from the buffer, register the private space access conversion pair for that entry along with the private space control bit's logical value '1'. Alternatively, for a multi-row address translation buffer, a private space whose private space control bit defined in a segment table descriptor used for translation from a virtual address to a real address has a logical value of '1'. When accessing, if there is an entry whose common segment bit is logical '1' among the plurality of entries indexed from the address translation buffer, invalidating means invalidates all entries in the column to which the entry belongs; , the conversion pair of the private space access for one entry in the column is set to the logical value '1' of the private space control bit.
What is the registration method to register at the same time?
[作用]
仮想アドレス空間アクセスのためにアドレス変換バッフ
ァ(TLI3)を参照したとき、当該アドレス空間の仮
想アドレスから実アドレスへの変換に使用するSTDに
定義されるプライベート空間制御ビットと、索引された
TLBエントリ内のプライベート空間制御ビットフィー
ルドの内容とが比較され、両者の一致がアドレス変換成
功の条件とされる。[Operation] When the address translation buffer (TLI3) is referenced for accessing the virtual address space, the private space control bits defined in the STD used for translation from virtual addresses to real addresses in the address space and the indexed The contents of the private space control bit field in the TLB entry are compared, and a match between the two is a condition for successful address translation.
一方、プライベート空間制御ビットフィールドと共通セ
グメントビットフィールドが共に論理値11′となるよ
うなアドレス変換は許容されない。On the other hand, address translation such that both the private space control bit field and the common segment bit field have a logical value of 11' is not allowed.
したがって、プライベ・−ト空間アクセス時に、索引さ
れたT L Bエントりの共通セグメントビットフィー
ルドが論理値‘1’である場合には、当該プライベート
空間側−御ビットと、索引さ九たTLBエントリのプラ
イベート空間制御ビットフィールドの値とは一致せず、
主記憶上のセグメントテーブルおよびページテーブルを
参照するアドレス変換が行われる。Therefore, when the private space is accessed, if the common segment bit field of the indexed TLB entry has a logical value of '1', the private space side control bit and the indexed TLB entry are does not match the value of the private space control bit field of
Address translation is performed that refers to the segment table and page table on the main memory.
そこで、このアドレス変換により求められたアドレス変
換対がプライベート空間制御ビットの論理値11′とと
もに、TLB内に登録される。登録後は、TLB内のこ
の変換対の使用による当該プライベート空間のアドレス
変換が可能となる。Therefore, the address translation pair obtained by this address translation is registered in the TLB together with the logical value 11' of the private space control bit. After registration, address translation of the private space can be performed using this translation pair in the TLB.
前記プライベート空間の変換対の登録のためには、索引
された変換対が、共通セグメント変換対であることを検
出し、そのエントリあるいは、そのエントリを含む索引
されたすべてのエントリを無効化し、当該エントリの一
つにプライベート空間のアドレス変換対を登録する。In order to register a conversion pair in the private space, detect that the indexed conversion pair is a common segment conversion pair, invalidate that entry or all indexed entries including that entry, and register the corresponding Register a private space address translation pair in one of the entries.
以上のように、プライベート空間アクセス時に。As mentioned above, when accessing private space.
索引されたTLBエントリが共通セグメント変換対であ
る場合、変換不成功として主記憶上のセグメントおよび
ページテーブルによるアドレス変換を行い、これにより
得られた変換対をプライベート空間制御ビットとともに
登録することにより。If the indexed TLB entry is a common segment translation pair, address translation is performed using the segment and page table on the main memory as a translation failure, and the resulting translation pair is registered together with the private space control bit.
以降、プライベート空間へのアクセスが同一ページ内で
連続したような場合でも、TLBによるアドレス変換成
功となり、主記憶上のテーブル参照によるアドレス変換
の多発を回避し、データ処理システムの処理性能の向上
を図ることができる。Since then, even when accesses to the private space are consecutive within the same page, the address conversion by TLB is successful, avoiding frequent address conversions due to table references in main memory, and improving the processing performance of data processing systems. can be achieved.
[実施例コ 以下、本発明の一実施例を第1図により説明する。[Example code] An embodiment of the present invention will be described below with reference to FIG.
第1図は、多重仮想アドレス空間式データ処理システム
のうち本発明の関連する部分を示している。第1図のシ
ステム部分は1個々の命令を実行する命令実行部1と、
この命令実行部1によりそれぞれ所定の値がセットされ
るレジスタ群5〜9と、TLB3と、前記レジスタ群5
〜9およびアドレス変換部(図示せず)からの情報に従
ってTLB3のデータ書き込みを制御する書き込み制御
部2と、空間アクセス時のTLBの変換成功すなねちT
LBヒツトを判定するTLBヒツト判定部4とからなる
。FIG. 1 illustrates the relevant portions of the present invention of a multiple virtual address space data processing system. The system part in FIG. 1 includes an instruction execution unit 1 that executes individual instructions;
Register groups 5 to 9 each having a predetermined value set by the instruction execution unit 1, TLB 3, and the register group 5.
~9 and the write control unit 2 that controls data writing in the TLB 3 according to information from an address conversion unit (not shown), and a write control unit 2 that controls data writing in the TLB 3 according to information from the address conversion unit (not shown), and a write control unit 2 that controls data writing in the TLB 3 in accordance with information from the address conversion unit (not shown), and
The TLB hit determination section 4 determines LB hits.
レジスタ5は、仮想計算機システムにおける、VMモー
ドレジスタ(Gレジスタ)であり、ゲストVMモード時
に1′にセットされる。レジスタ6及び7は、セグメン
トテーブル記述子(STD)の内容の一部を保持するレ
ジスタである。すなわち、レジスタ6は、プライベート
空間制御情報を保持するプライベート空間制御レジスタ
(Pレジスタ)であり、アクセスする仮想アドレス空間
がプライベート空間であるとき1′にセットされる。レ
ジスタ7は、前記STDの中のセグメントテーブル基点
(STO)を保持するセグメントテーブルオリジンレジ
スタ(STOレジスタ)である。また、レジスタ8は、
TLB索引・を仮想アドレスまたは実アドレスのいずれ
で行なうかを示すリアルモードレジスタ(Rレジスタ)
であり、レジスタ9は実効アドレスを保持するアドレス
レジスタである。アドレスレジスタ9は。Register 5 is a VM mode register (G register) in the virtual machine system, and is set to 1' in guest VM mode. Registers 6 and 7 are registers that hold part of the contents of the segment table descriptor (STD). That is, register 6 is a private space control register (P register) that holds private space control information, and is set to 1' when the virtual address space to be accessed is a private space. Register 7 is a segment table origin register (STO register) that holds the segment table base point (STO) in the STD. In addition, register 8 is
Real mode register (R register) that indicates whether TLB indexing is performed using virtual addresses or real addresses.
, and register 9 is an address register that holds an effective address. Address register 9 is.
例えば31ビツトからなる。その上位の第1〜19ビツ
トが、ページアドレスを構成し、アドレス変換を受ける
ビットであり、第20〜31ビツトが実アドレスと共通
なビットである。For example, it consists of 31 bits. The upper 1st to 19th bits constitute a page address and are bits 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 generated, the instruction execution unit 1 sets predetermined data in the G register 5, the P register 6, the STO register 7, the R register 8, and the address register 9, respectively. Thereafter, a reference request is issued to TLB3.
TLB3は、セットアソシアティブ方式を採用する。す
なわち、カラムアドレスによりカラムアドレスデコーダ
10を介して選択される1つまたは複数のエントリを有
し、この各エントリはロウと呼ばれ、このロウが索引ま
たはRBの対象となる。第1図に示す本実施例では、カ
ラ11数512゜ロウ数1すなわち512エントリを持
つTLB構成とするが、ロウを複数とする等、他の構成
についても容易に類推される。TLB3 employs a set associative method. That is, it has one or more entries selected by the column address via the column address decoder 10, each entry is called a row, and this row is the target of the index or RB. In the present embodiment shown in FIG. 1, the TLB configuration has 11 colors, 512 degrees, and 1 row, that is, 512 entries, but other configurations, such as a plurality of rows, can be easily inferred.
TLB3の各エントリは、有効フィールド(V)、ゲス
トフィールド(G)、プライベート空間制御フィールド
(P)、共通セグメン1−フィールド(C)、セグメン
トオリジンフィールド(STO)。Each entry in TLB3 includes a valid field (V), a guest field (G), a private space control field (P), a common segment 1 field (C), and a segment origin field (STO).
仮想アドレスフィールド(VA)、実アドレスモードフ
ィールド(R)、絶対アドレスフィールド(PA)から
構成される。各フィールドのビット数を′″()内に示
している。It consists of a virtual address field (VA), a real address mode field (R), and an absolute address field (PA). The number of bits in each field is shown in parentheses.
■フィールドは、このエントリが有効か無効かを示す1
ビツトのフィールドであり、有効なとき1′、無効の時
′0′を示す、Cフィールドは、当該エントリが、仮想
計算機システムにおけるホストまたはゲストVMのいず
れに対応するものであるかを示すアドレス変換情報であ
る。このフィールドはゲストVM時11′、ホスト時1
0′となる。Pフィール、ドは、当該エントリが、プラ
イベート空間の変換対を定義しているか否かを示すフィ
ールドであり、 ‘1’のとき当該エントリがプライベ
ート空間のアドレス変換対であることを示し、0′のと
きは、プライベート空間ではないことを示す、Rフィー
ルドは、当該エントリの被変換アドレスが実アドレスで
あるかまたは仮想アドレスであるかを示す1ビツトのフ
ィールドであり、0′のとき仮想アドレス、1′のとき
実アドレスを示す。Cフィールドは、このフィールドが
1′のとき当該エントリが、共通セグメントを用いたア
ドレス変換対であることを示す。■The field 1 indicates whether this entry is valid or invalid.
The C field, which is a bit field and indicates 1' when valid and '0' when invalid, is an address translation field that indicates whether the entry corresponds to a host or guest VM in the virtual machine system. It is information. This field is 11' for guest VM and 1 for host.
It becomes 0'. The P field is a field that indicates whether the entry defines a private space translation pair, and when it is '1', it indicates that the entry is a private space address translation pair, and 0' When , it indicates that it is not a private space.The R field is a 1-bit field that indicates whether the address to be translated of the entry is a real address or a virtual address.When it is 0', it is a virtual address 1' indicates a real address. The C field indicates that the entry is an address translation pair using a common segment when this field is 1'.
アドレス変換時に用いたセグメントテーブル中の共通セ
グメントビットが11′のとき、本フィールドが1′と
なる。STOフィールドは、当該エントリのアドレス変
換時のセグメント記述子中の。When the common segment bit in the segment table used during address conversion is 11', this field becomes 1'. The STO field is in the segment descriptor at the time of address translation of the entry.
セグメントテーブル起点アドレスを表わす。VAフィー
ルドは、TLBアクセスのページフレームアドレスのう
ち、カラムアドレス以外のビットであり、第1図におい
ては、ビット1〜10を格納する10ビツトのフィール
ドである。PAフィールドは、実アドレスのページフレ
ームアドレスである19ピツ!〜を格納する。Represents the segment table starting address. The VA field is the bits other than the column address in the page frame address for TLB access, and in FIG. 1, it is a 10-bit field that stores bits 1 to 10. The PA field is the page frame address of the real address, 19 pits! store ~.
TLBヒツト判定部4は、比較回路11〜15、ORゲ
ート16,17、ANDゲート18、インバータ19か
ら構成される。比較回路11は、TLB3のCフィール
ドとGレジスタ5の内容とを比較し、−4したとき1′
を出力する。比較回路12は、−TLB3のPフィール
ドとPレジスタ6の内容とを比較し、一致したとき1′
を出力する。また、それぞれ、比較回路13はSTOの
比較、比較回路14はVAフィールドとアクセスアドレ
スレジスタ9のカラムアドレス以外のページフレームア
ドレスとの比較、比較回路15は実アドレスモードの比
較を行ない、一致したとき1′を出力する。TLBヒツ
ト判定部4におけるTLBヒツトの条件は、
■TLBエントリのVフィールドが11′■TLB
CフィールドとGレジスタ5の内容が一致、
@TLBRフィールドとRレジスタ8の内容が一致、
■TLB VAフィールドとアドレスレジスタ9内のカ
ラムアドレス以外のページフレームアドレス部が一致。The TLB hit determination section 4 includes comparison circuits 11 to 15, OR gates 16 and 17, an AND gate 18, and an inverter 19. Comparison circuit 11 compares the C field of TLB 3 with the contents of G register 5, and when the value is -4, it becomes 1'.
Output. Comparison circuit 12 compares the P field of -TLB3 and the contents of P register 6, and when they match, it outputs 1'.
Output. Furthermore, the comparison circuit 13 compares the STO, the comparison circuit 14 compares the VA field and the 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'. The conditions for a TLB hit in the TLB hit determination unit 4 are: ■The V field of the TLB entry is 11'■TLB
The contents of the C field and G register 5 match, the contents of the @TLBR field and R register 8 match, and the TLB VA field and the page frame address part other than the column address in address register 9 match.
■TLB Cフィールドが1′ またはTLBのS
TOフィールドとSTOレジスタ7の内容が一致、
■TLB PフィールドとPレジスタの内容が一致。■TLB C field is 1' or TLB S
The contents of the TO field and the STO register 7 match, ■TLB The contents of the P field and the P register match.
上記条件■〜■の全てが成立した場合、TLBヒツト2
0が11′ となり、成立しない場合TLBミス21が
、1′となる。TLBヒツト20、PAフィールド出力
22はキャッシュ制御部(図示せず)へ、TLBミス2
1はアドレス変換制御部(図示せず)へ、それぞれ転送
される。If all of the above conditions ■ to ■ are satisfied, TLB hit 2
0 becomes 11', and if not established, TLB miss 21 becomes 1'. TLB hit 20, PA field output 22 to cache control unit (not shown), TLB miss 2
1 are respectively transferred to an address translation control unit (not shown).
上記条件■から分かるように、アクセスする空間がプラ
イベート空間である場合は、索引されたTLBエントリ
の変換対もプライベート空間の変換対であることがTL
Bヒツトの条件になっている。As can be seen from the above condition (■), if the space to be accessed is a private space, the translation pair of the indexed TLB entry is also a translation pair of the private space.
This is a condition for B-hit.
TLB書込み制御部2は、アドレス変換によるTLI3
登録およびTLBの無効化を制御する。The TLB write control unit 2 performs TLI3 by address conversion.
Controls registration and TLB invalidation.
TLB登録時は、TLB3のG、 5TO1P。When registering TLB, G of TLB3, 5TO1P.
VA、Rの各フィールドには、それぞれGレジスタ5、
STOレジスタ7、Pレジスタ6、アドレスレジスタ9
、Rレジスタ8の内容が格納される。The VA and R fields each have a G register 5,
STO register 7, P register 6, address register 9
, the contents of R register 8 are stored.
CフィールドおよびPAフィールドには、それぞれアド
レス変換部から転送された値C,PAを格納する。The values C and PA transferred from the address translation unit are stored in the C field and the PA field, respectively.
アドレス変換部では、プライベート空間の仮想アドレス
から実アドレスへの変換に際し、共通セグメントビット
が11 となる変換は許可しないため、TLBエントリ
内でP及びCフィールドが同時に1′となることはない
。When converting a virtual address in a private space to a real address, the address conversion unit does not allow conversion in which the common segment bit becomes 11, so the P and C fields do not become 1' at the same time in the TLB entry.
したがって、プライベート空間のアクセス(Pレジスタ
6の値が1′)の際、索引されたTLBエントリが共通
セグメント変換対である場合(Cフィールドが1′の場
合)、対応するPフィールドは必ず10′であり、Pレ
ジスタ6の値とPフィールドが一致せず、必ずTLBミ
スとなる。そこで、前述のようにその旨、アドレス変換
制御部に通知され、新たに主記憶上のセグメントテーブ
ルおよびページテーブルによるアドレス変換が行われ、
これにより得られた変換対がTLB3の当該エントリに
書き込まれる。この書き込みの際、Pレジスタ6の値‘
1’がPフィールドに書き込まれる。以降、当該TLB
エントリを索引するプライベート空間のアクセスに対し
ては、Pレジスタ6の値とPフィールドの値が一致する
ので、TLBヒツト条件は満足される。その結果、当該
プライベート空間へのアクセスが連続する場合であって
も、常に主記憶上のセグメントテーブル、ページテーブ
ルの索引による変換を行なうことはなくなり、処理性能
上の余計なオーバーヘッドを回避することができる。Therefore, when accessing the private space (the value of P register 6 is 1'), if the indexed TLB entry is a common segment translation pair (when the C field is 1'), the corresponding P field is always 10'. Therefore, the value of the P register 6 and the P field do not match, and a TLB miss is sure to occur. Therefore, as mentioned above, the address translation control unit is notified of this, and new address translation is performed using the segment table and page table in the main memory.
The resulting conversion pair is written to the corresponding entry in TLB3. When writing this, the value of P register 6'
1' is written to the P field. From then on, the TLB
For private space access to index an 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 if the private space is accessed continuously, conversion by indexing the segment table and page table in main memory is not always performed, and unnecessary overhead in processing performance can be avoided. can.
TLB3が複数ロウの場合には、プライパー1−空間の
アクセス時に、索引したTLI3のコラムにCフィール
ドが1′であるTLBエントりが存在するとき、そのI
TLBエントリのみを新たな変換対および関連する各フ
ィールド情報でリプレースする。あるいは、−旦、当該
コラムに屈するすべてのTLBエントリを無効化しくす
なわち、そのVフィールドに101を書き込む)、その
後。If TLB3 has multiple rows, when the primer 1-space is accessed, if there is a TLB entry whose C field is 1' in the indexed column of TLI3, that I
Only the TLB entry is replaced with a new translation pair and associated field information. Alternatively, invalidate all TLB entries that fall under that column, i.e., write 101 to its V field), and then.
ITLBエントリに、新たな変換対および関連する各フ
ィールドの内容を書き込む。この際、■フィールドは1
1′ Pフィールドは′1’ 、 Cフィールドは0′
とする。前者の方法は、コラム内のすべてのエントリの
無効化はしないのでTLBの使用効率が向上するという
利点を有する。Write the new translation pair and the contents of each associated field to the ITLB entry. At this time, the ■ field is 1
1' P field is '1', C field is 0'
shall be. The former method has the advantage of improving TLB usage efficiency because it does not invalidate all entries in a column.
一方、後者の方法は、同一コラム内のすべてのエントリ
を無効化するので無効化処理が容易であるという利点を
有する。On the other hand, the latter method has the advantage that invalidation processing is easy because all entries in the same column are invalidated.
本発明によれば、プライベート空間のアクセスに際して
は、索引されたTLBエントリが共通セグメント変換対
であっても当該変換対を使用することはなく、さらにT
LBにPフィールドを1′として登録することが可能と
なる。主記憶上のセグメントテーブル、ページテーブル
の索引による変換は、TLBへの登録時点のみとなり、
変換のオーバーヘッドを低減させ、処理性能を向上させ
ることができる。According to the present invention, when accessing a private space, even if the indexed TLB entry is a common segment translation pair, the translation pair is not used;
It becomes possible to register the P field as 1' in the LB. Conversion by indexing segment tables and page tables on main memory is only performed at the time of registration in the TLB.
It is possible to reduce conversion overhead and improve processing performance.
[発明の効果]
本発明では、TLBエントリにSTD内に定義されるプ
ライベート空間制御情報フィールドを設け、TLI3ア
クセスにおいて、当該フィールドの内容とSTD内プラ
イベート空間制御情報とを比較し、この一致をアドレス
変換成功の条件としたため、索引されたTLBエントリ
が共通セグメント変換対の場合であっても、当該エント
リを使用することなく、新たに変換対の登録が可能とな
る。[Effects of the Invention] In the present invention, a private space control information field defined in the STD is provided in the TLB entry, and in TLI3 access, the content of the field is compared with the private space control information in the STD, and this match is detected as an address. Since this is set as a condition for successful conversion, even if the indexed TLB entry is a common segment conversion pair, a new conversion pair can be registered without using that entry.
したがって、プライベート空間アクセス時のTLB索引
結果、索引された変換対が共通セグメント変換対であり
、当該プライベート空間へのアクセスが連続する場合、
常に主記憶上のセグメントテーブル、ページテーブルの
索引による変換を行なうことなく、処理性能上の余計な
オーバーヘッドを発生させず、処理性能を向上させるこ
とができる。Therefore, when the TLB index result when private space is accessed, the indexed conversion pair is a common segment conversion pair, and access to the private space is continuous,
Processing performance can be improved without constantly performing conversion using indexes of segment tables and page tables on the main memory, without generating unnecessary overhead in terms of processing performance.
第1図は、本発明の一実施例、特にTLB及びTLBヒ
ツト判定部を示すブロック図である。
1・・・命令実行部、2・・・TLB書込制御部、3・
・・TLB、4・・・TLBヒツト判定部、5・・・ゲ
スト・レジスタ、6・・・プライベート空間制御レジス
タ、7・・・STOレジスタ、8・・・リアルアドレス
モードレジスタ、9・・・アドレスレジスタ、1o・・
・カラムアドレスデコーダ。FIG. 1 is a block diagram showing one embodiment of the present invention, particularly a TLB and a TLB hit determination section. 1... Instruction execution section, 2... TLB write control section, 3.
... TLB, 4... TLB hit determination unit, 5... Guest register, 6... Private space control register, 7... STO register, 8... Real address mode register, 9... Address register, 1o...
・Column address decoder.
Claims (1)
引されるアドレス変換バッファを有する仮想アドレス空
間式データ処理システムにおいて、 前記アドレス変換バッファの各エントリに、仮想アドレ
スから実アドレスへの変換に使用するセグメントテーブ
ル記述子に定義されるプライベート空間制御情報を格納
するフィールドを設けたことを特徴とするデータ処理シ
ステム。 2、アドレス変換対を保持し、論理アドレスの一部で索
引されるアドレス変換バッファを有する仮想アドレス空
間式データ処理システムにおいて、 前記アドレス変換バッファの各エントリに、仮想アドレ
スから実アドレスへの変換に使用するセグメントテーブ
ル記述子に定義されるプライベート空間制御情報を格納
するフィールドを設けるとともに、 アドレス空間へのアクセス時に、当該アドレス空間の仮
想アドレスから実アドレスへの変換に使用するセグメン
トテーブル記述子に定義されるプライベート空間制御情
報と前記アドレス変換バッファのプライベート空間制御
情報フィールドの内容とを比較し、両者の一致をアドレ
ス変換成功の条件とするアドレス変換成功判定手段を具
備したことを特徴とするデータ処理システム。 3、アドレス変換対および共通セグメントビットを保持
し、論理アドレスの一部で索引される少なくとも1ロウ
で構成されるアドレス変換バッファを有する仮想アドレ
ス空間式データ処理システムにおいて、 前記アドレス変換バッファの各エントリに、仮想アドレ
スから実アドレスへの変換に使用するセグメントテーブ
ル記述子に定義されるプライベート空間制御ビットを格
納するフィールドを設けるとともに、 アドレス空間へのアクセス時に、当該アドレス空間の仮
想アドレスから実アドレスへの変換に使用するセグメン
トテーブル記述子に定義されるプライベート空間制御ビ
ットと前記アドレス変換バッファのプライベート空間制
御ビットフィールドの値とを比較し、両者の一致をアド
レス変換成功の条件とするアドレス変換成功判定手段を
具備し、 前記アドレス変換バッファの同一エントリ内の前記プラ
イベート空間制御ビットフィールドおよび前記共通セグ
メントビットフィールドには同時に論理値‘1’を登録
しないようにしたことを特徴とするデータ処理システム
。 4、仮想アドレスから実アドレスへの変換に使用される
セグメントテーブル記述子に定義されるプライベート空
間制御ビットが論理値‘1’であるプライベート空間ア
クセスの際、前記アドレス変換バッファから索引された
エントリ中に共通セグメントビットが論理値‘1’であ
るエントリが存在する場合、当該エントリに対して当該
プライベート空間アクセスの変換対をプライベート空間
制御ビットの論理値‘1’とともに登録する登録手段を
備えたことを特徴とする請求項3記載のデータ処理シス
テム。 5、複数ロウのアドレス変換バッファについて、仮想ア
ドレスから実アドレスへの変換に使用されるセグメント
テーブル記述子に定義されるプライベート空間制御ビッ
トが論理値‘1’であるプライベート空間アクセスの際
、前記アドレス変換バッファから索引された複数のエン
トリ中に共通セグメントビットが論理‘1’であるエン
トリが存在する場合、該エントリが属するコラムの全て
のエントリを無効化する無効化手段と、当該コラム内の
1エントリに対して当該プライベート空間アクセスの変
換対をプライベート空間制御ビットの論理値‘1’とと
もに登録する登録手段とを備えたことを特徴とする請求
項3記載のデータ処理システム。[Scope of Claims] 1. In a virtual address space type data processing system having an address translation buffer that holds address translation pairs and is indexed by a part of a logical address, each entry of the address translation buffer is provided with information from a virtual address to A data processing system comprising a field for storing private space control information defined in a segment table descriptor used for conversion to a real address. 2. In a virtual address space-based data processing system having an address translation buffer that holds address translation pairs and is indexed by a portion of a logical address, each entry of the address translation buffer includes a virtual address to real address translation. A field is provided to store private space control information defined in the segment table descriptor used, and a field is defined in the segment table descriptor used to convert virtual addresses to real addresses in the address space when accessing the address space. The data processing apparatus is characterized in that the data processing apparatus comprises an address translation success determination means that compares the private space control information sent to the private space control information field with the content of the private space control information field of the address translation buffer, and sets a condition for successful address translation if the two match. system. 3. In a virtual address space type data processing system having an address translation buffer consisting of at least one row holding address translation pairs and common segment bits and indexed by a portion of a logical address, each entry of the address translation buffer In addition to providing a field to store the private space control bits defined in the segment table descriptor used for converting virtual addresses to real addresses, when accessing an address space, a field is provided to store the private space control bits defined in the segment table descriptor used to convert virtual addresses to real addresses. Compares the private space control bit defined in the segment table descriptor used for the conversion with the value of the private space control bit field of the address translation buffer, and determines whether the address translation is successful if the two match. A data processing system, comprising: a logical value '1' is not registered in the private space control bit field and the common segment bit field in the same entry of the address translation buffer at the same time. 4. In the entry indexed from the address translation buffer during private space access where the private space control bit defined in the segment table descriptor used for translation from a virtual address to a real address has a logical value of '1'. If there is an entry in which the common segment bit has a logical value of '1', registration means is provided for registering the private space access conversion pair for the entry along with the logical value '1' of the private space control bit. The data processing system according to claim 3, characterized in that: 5. Regarding a multi-row address translation buffer, when accessing a private space where the private space control bit defined in the segment table descriptor used for translation from a virtual address to a real address has a logical value of '1', the address If there is an entry whose common segment bit is logical ``1'' among the plurality of entries indexed from the conversion buffer, an invalidation means for invalidating all entries in the column to which the entry belongs; 4. The data processing system according to claim 3, further comprising registration means for registering the private space access conversion pair for the entry together with a logical value '1' of the private space control bit.
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 true JPH03110648A (en) | 1991-05-10 |
JPH07117918B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05197626A (en) * | 1991-08-12 | 1993-08-06 | Internatl Business Mach Corp <Ibm> | Register-index-table logic device for virtual memory system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799620B2 (en) | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63231550A (en) * | 1987-03-19 | 1988-09-27 | Hitachi Ltd | Multiple virtual space control system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0658650B2 (en) * | 1986-03-14 | 1994-08-03 | 株式会社日立製作所 | Virtual computer system |
-
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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63231550A (en) * | 1987-03-19 | 1988-09-27 | Hitachi Ltd | Multiple virtual space control system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05197626A (en) * | 1991-08-12 | 1993-08-06 | Internatl Business Mach Corp <Ibm> | Register-index-table logic device for virtual memory system |
Also Published As
Publication number | Publication date |
---|---|
DE4030287A1 (en) | 1991-04-04 |
JPH07117918B2 (en) | 1995-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5574877A (en) | TLB with two physical pages per virtual tag | |
JP5373173B2 (en) | Address translation method and apparatus | |
EP0911737A1 (en) | Cache memory with reduced access time | |
JPH04320553A (en) | Address converting mechanism | |
JPH0137773B2 (en) | ||
JPH0315211B2 (en) | ||
US6766434B2 (en) | Method for sharing a translation lookaside buffer between CPUs | |
US6990551B2 (en) | System and method for employing a process identifier to minimize aliasing in a linear-addressed cache | |
US5341485A (en) | Multiple virtual address translation per computer cycle | |
US6574698B1 (en) | Method and system for accessing a cache memory within a data processing system | |
JPH03235144A (en) | Cache memory controller | |
JPH03110648A (en) | Data processing system | |
JPH0760411B2 (en) | Buffer storage controller | |
JPS623354A (en) | Cache memory access system | |
JPH02114346A (en) | Tlb entry control system | |
JPH0546475A (en) | Buffer storage control system | |
US6460118B1 (en) | Set-associative cache memory having incremental access latencies among sets | |
US6581139B1 (en) | Set-associative cache memory having asymmetric latency among sets | |
JPH10105458A (en) | Cache memory system | |
JPH06309196A (en) | Information processor with trace function | |
JPS626350A (en) | Tlb controller | |
JPS61101855A (en) | Tlb controlling system in multiple virtual memory system | |
JPH0458347A (en) | Control system for shared address space | |
JPH0337217B2 (en) | ||
JPH05298186A (en) | Information processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |