JPH0277953A - Constitution system for conversion index buffer - Google Patents
Constitution system for conversion index bufferInfo
- Publication number
- JPH0277953A JPH0277953A JP63230717A JP23071788A JPH0277953A JP H0277953 A JPH0277953 A JP H0277953A JP 63230717 A JP63230717 A JP 63230717A JP 23071788 A JP23071788 A JP 23071788A JP H0277953 A JPH0277953 A JP H0277953A
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- index buffer
- comparator
- space
- sid
- 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 title claims abstract description 12
- 238000000034 method Methods 0.000 claims description 5
- 230000010365 information processing Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000037430 deletion Effects 0.000 abstract 1
- 238000012217 deletion Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔概 要〕
多重仮想記憶方式に対応する変換索引バッファの構成方
式に関し、
ハードウェア量の削減を目的とし、
変換索引バッファは、物理ページアドレスと空間識別子
のデータを保持し、全ての空間に共通の領域または無効
データの場合空間識別子欄に特定の空間番号を保持する
よう構成すると共に、論理ページアドレスにより索引さ
れた変換索引バッファデータ中の空間識別子と走行中の
プログラム空間識別子を比較する比較器と、論理ぺ一、
ジアドレスにより索引された変換索引バッファデータ中
の空間識別子をデコードし前記特定の空間番号のとき出
力を発生するデコーダと、比較器およびデコーダの出力
を入力とし比較器の比較結果が不一致で共通領域でない
とき並びに無効データのとき出力を発生するゲート回路
と、を備え、ゲート回路の出力を変換索引バッファフォ
ルト信号として出力するよう構成する。[Detailed Description of the Invention] [Summary] Regarding the configuration method of the translation index buffer corresponding to the multiplexed virtual memory method, the translation index buffer holds data of physical page addresses and space identifiers for the purpose of reducing the amount of hardware. In the case of an area common to all spaces or invalid data, it is configured to hold a specific space number in the space identifier field, and the space identifier in the conversion index buffer data indexed by the logical page address and the running program. A comparator that compares spatial identifiers, a logic page,
A decoder that decodes the space identifier in the conversion index buffer data indexed by the space address and generates an output when the space number is the specified space number, a comparator, and a decoder that receives the output of the decoder as input and detects a common area when the comparison results of the comparator do not match. and a gate circuit that generates an output when the data is not valid or invalid data, and is configured to output the output of the gate circuit as a conversion index buffer fault signal.
本発明は仮想記憶方式を用いた情報処理装置におけるア
ドレス変換機構に係り、特に多重仮想空間方式に対応す
る変換索引バッファの構成方式に関する。The present invention relates to an address translation mechanism in an information processing apparatus using a virtual storage system, and particularly to a configuration method of a translation index buffer compatible with a multiple virtual space system.
仮想記憶方式を用いた情報処理装置においては、命令の
実行中に論理アドレス(仮想アドレス)を主記憶装置上
の物理アドレス(実アドレス)に変換するため、動的ア
ドレス変換機構を備えている。An information processing device using a virtual storage system includes a dynamic address conversion mechanism to convert a logical address (virtual address) into a physical address (real address) on a main storage device during execution of an instruction.
動的アドレス変換機構としては通常、変換索引バッファ
(以下、TLBと略記する)を備えて高速にアドレス変
換を行う、入力された論理アドレスがTLB中に存在し
ない場合は、TLBフォルトとして主記憶に格納されて
いるアドレス変換テーブルから必要なセグメントを取り
出し、TLBから不要のセグメントを追い出し入れ換え
る。A dynamic address translation mechanism is usually equipped with a translation lookaside buffer (hereinafter abbreviated as TLB) to perform address translation at high speed.If the input logical address does not exist in the TLB, it is stored in main memory as a TLB fault. A necessary segment is taken out from the stored address translation table, and an unnecessary segment is expelled from the TLB and replaced.
複数のプログラムが各々仮想空間を持つ多重仮想空間方
式を採り、TLBを用いてアドレス変換機構を実現して
いる計算機システムにおいては、TLBの構成は、従来
第5図に示すようになっていた。In a computer system in which a multiple virtual space system is adopted in which a plurality of programs each have a virtual space, and an address translation mechanism is realized using a TLB, the configuration of the TLB has conventionally been as shown in FIG.
第5図において、PPAは物理ページアドレスであり、
SIDはアドレス空間を識別する空間識別子である。■
はこのアドレスのTLBの有効・無効を示す「インバリ
フドTLBビットJ (Iビットと呼ぶ)であり、C
は論理アドレスで示された空間が全ての空間の共通領域
であることを示す[共通領域ビットJ (Cビットと
呼ぶ)である。In FIG. 5, PPA is a physical page address,
SID is a space identifier that identifies an address space. ■
is the invalid TLB bit J (referred to as the I bit), which indicates whether the TLB at this address is valid or invalid;
is a common area bit J (referred to as C bit) which indicates that the space indicated by the logical address is a common area of all spaces.
■ビットおよびCビットは次のように使用される。■ The bit and C bit are used as follows.
第6図に示すように、論理ページアドレスにより索引さ
れたTLBのデータのうち空間識別子SIDは動作中の
プログラム空間識別子PSIDと比較器によって比較さ
れ、不一致で且つCビットが立っていない(共通領域で
ない)場合に、TLBフォルト信号を発生する。また、
■ビットが立っている(インバリッドTLB)ときには
、SIDの一致・不一致は関係なくTLBフォルト信号
を発生する。As shown in FIG. 6, the space identifier SID of the TLB data indexed by the logical page address is compared with the operating program space identifier PSID by a comparator, and if there is a mismatch and the C bit is not set (common area generates a TLB fault signal. Also,
(2) When the bit is set (invalid TLB), a TLB fault signal is generated regardless of whether the SIDs match or do not match.
最近の計算機システムでは、主記憶容量の増大が盛んに
行われており、それに伴ってTLB内の物理ページアド
レス(PPA)の増大が起こっている。この物理ページ
アドレスの増大によりTLBの容量も増大してくるとい
う問題がある。In recent computer systems, the main memory capacity has been actively increased, and the physical page address (PPA) in the TLB has accordingly increased. There is a problem in that this increase in physical page addresses also increases the capacity of the TLB.
また、個々のプログラムの規模の増大によって一つの空
間の容量を大きくしたいという要望が強い。またさらに
、TLBのヒツト率(TLBフォルトの起きない率)を
高めるため、大容量のTLBを持つという要望がある。Furthermore, as the scale of individual programs increases, there is a strong desire to increase the capacity of a single space. Furthermore, there is a desire to have a large-capacity TLB in order to increase the TLB hit rate (the rate at which TLB faults do not occur).
このようなTLB容量の増大の要求により、ハードウェ
ア量が増大するという問題点がある。This demand for increased TLB capacity poses a problem in that the amount of hardware increases.
本発明が解決しようとする課題は、TLBの容量を削減
することなくハードウェアを削減する方式を提供するこ
とにある。The problem to be solved by the present invention is to provide a method for reducing hardware without reducing the capacity of the TLB.
第1図は、前述の課題を解決するための手段の原理を示
す図である。FIG. 1 is a diagram showing the principle of means for solving the above-mentioned problem.
図において、lはTLB (変換索引バッファ)であり
、PPA (物理ページアドレス)と5ID(空間識別
子)のデータを保持し、共通領域または無効TLBの場
合S I D8に特定の空間番号を保持する。In the figure, l is a TLB (translation lookaside buffer), which holds data of PPA (physical page address) and 5ID (space identifier), and holds a specific space number in SID8 in the case of a common area or invalid TLB. .
2は比較器であり、論理ページアドレスにより索引され
たTLBのSIDとプログラム空間識別子を比較する。A comparator 2 compares the SID of the TLB indexed by the logical page address and the program space identifier.
3はデコーダであり、論理ページアドレスにより索引さ
れたTLBのSIDをデコードし前記特定の空間番号の
とき出力を発生する。3 is a decoder which decodes the SID of the TLB indexed by the logical page address and generates an output when the specific space number is reached.
4はゲート回路であり、比較器2およびデコーダ3の出
力を入力とし比較器2の比較結果が不一致で共通領域で
ないとき並びに無効TLBのときTLBフォルト信号を
発生する。Reference numeral 4 denotes a gate circuit which receives the outputs of the comparator 2 and decoder 3 and generates a TLB fault signal when the comparison result of the comparator 2 does not match and is not in the common area, or when the TLB is an invalid TLB.
本発明では、TLBの容量を削減せずハードウェア量を
削減するため、TLB内のビット数を削減する。In the present invention, the number of bits in the TLB is reduced in order to reduce the amount of hardware without reducing the capacity of the TLB.
TLBのビットを削減する方法としては、■空間数を減
らす、■I、Cビットを削除するの二つがある。There are two ways to reduce the number of TLB bits: (1) reducing the number of spaces, and (2) deleting the I and C bits.
しかし、ただ単に空間識別子であるSIDを1ビット減
らしたとすると、空間の数が1/2になってしまう。However, if the SID, which is a space identifier, is simply reduced by 1 bit, the number of spaces will be halved.
また、IビットおよびCビットを削除するとなると、他
の手段によりこれらの役割を持たせなければならない。Furthermore, if the I bit and C bit are to be deleted, their roles must be provided by other means.
そこで本発明では、■ビットとCビットを無くし、共通
領域とインバリッドTLBを、それぞれ一つの空間に割
りつける。即ち、例えば、共通領域の場合にはSIDに
オール1をセットし、インバリッドTLBの場合にはS
IDにオール0をセントするようにする。Therefore, in the present invention, the ■ bit and the C bit are eliminated, and the common area and invalid TLB are each allocated to one space. That is, for example, in the case of a common area, all 1s are set in SID, and in the case of invalid TLB, SID is set to 1.
Set all 0 cents to the ID.
これにより、使用できる空間数の削減は、2空間に抑え
られる。例えば、SIDが7ビツトであると、使用でき
る空間数が128であったものが126となる。As a result, the number of usable spaces can be reduced to two spaces. For example, if the SID is 7 bits, the number of usable spaces will be reduced from 128 to 126.
本発明では、論理ページアドレスにより索引されたTL
Bデータ中のSIDデータをデコードしこれらの特定空
間番号のとき出力を出すデコーダ3を設け、その出力に
より■ビットおよびCビットの役割を行わせる。比較器
2およびゲート回路4は、第6図に示した従来例と同一
でよい。In the present invention, the TL indexed by the logical page address
A decoder 3 is provided which decodes the SID data in the B data and outputs an output when these specific space numbers are present, and the output serves as the ■ bit and the C bit. The comparator 2 and gate circuit 4 may be the same as the conventional example shown in FIG.
デコーダによる遅延は、一般に比較器による遅延より小
さくこれにより遅延が増えることはない。The delay due to the decoder is generally smaller than the delay due to the comparator and this does not add any additional delay.
このように、TLBは2ビツト削減でき、それによって
、1空間当たりの容量を増加させれば、2空間の削減は
補うことができる。In this way, the TLB can be reduced by 2 bits, and by increasing the capacity per space, the reduction in 2 spaces can be compensated for.
以下第2図〜第4図に示す実施例により、本発明をさら
に具体的に説明する。The present invention will be explained in more detail below with reference to embodiments shown in FIGS. 2 to 4.
第2図は、本発明の一実施例におけるTLBの構成を示
す図である。FIG. 2 is a diagram showing the configuration of a TLB in one embodiment of the present invention.
TLBには24ビツトの物理ページアドレス(PPA)
と、7ビツトの空間識別子(SID)を保持する。イン
バリッドTLBにはSIDに1111111″がセット
され、共通領域には“1111110”がセットされる
。The TLB has a 24-bit physical page address (PPA).
and a 7-bit spatial identifier (SID). The SID of the invalid TLB is set to 1111111'', and the common area is set to ``1111110''.
このように、インバリッドTLBを5ID=“1111
111”に割りつけ、共通領域を5ID=“11111
10”に割りつけたため、これらの空間番号はアドレス
空間番号として使用することができず、使用できる空間
数は126となる。In this way, invalid TLB is set to 5ID="1111"
111” and the common area as 5ID="11111".
10'', these space numbers cannot be used as address space numbers, and the number of spaces that can be used is 126.
第3図は、本発明の一実施0例の構成を示す図である。FIG. 3 is a diagram showing the configuration of an embodiment 0 of the present invention.
図において、10はTLBである。In the figure, 10 is a TLB.
20は比較器(CMP)であり、TLBデータ中のSI
Dと走行中のプログラム空間識別子PSIDがセットさ
れるレジスタ50の内容を比較し不一致のときNEQS
IDを出力する。20 is a comparator (CMP), and SI in TLB data
D and the contents of the register 50 where the running program space identifier PSID is set are compared, and if they do not match, NEQS is executed.
Output the ID.
30はデコーダ(DEC)であり、SIDをデコードし
“1oiin”のときINVTLBを出力し、”111
1110”のときCOMMMNを出力する。30 is a decoder (DEC) which decodes the SID and outputs INVTLB when it is "1 oiin", and outputs "111".
1110'', outputs COMMMN.
41はANDゲートであり、COMMN信号とNu!Q
SID信号を入力とする。41 is an AND gate, which connects the COMMN signal and Nu! Q
The SID signal is input.
42はORゲートであり、INVTLB信号とANDゲ
ート41の出力を入力し、TLBフォルト信号を出力す
る。42 is an OR gate which inputs the INVTLB signal and the output of the AND gate 41 and outputs a TLB fault signal.
第4図は、本発明の一実施例におけるデコーダと比較器
の回路図である。FIG. 4 is a circuit diagram of a decoder and a comparator in one embodiment of the present invention.
第4図(a)はデコーダの回路であり、7人力のAND
ゲート2個とインバータ1個から成る。SIDを入力と
し、”1111111”のときINVTLBを出力し、
“1111110”のときCOM間′Nを出力する。Figure 4(a) shows the decoder circuit, which is a 7-person AND
It consists of two gates and one inverter. Input SID, output INVTLB when "1111111",
When it is "1111110", the COM interval 'N is output.
第4図(b)は比較器の回路であり、7個の排他的論理
和回路と7人力のORゲートから成る。7個の排他的論
理和回路には、それぞれSIDとPSIDの各ビットが
入力され、全てのビットが一致すればORゲートからの
出力NEQSIDは0”であるが、一つでも不一致のビ
ットがあると1″が出力される。FIG. 4(b) shows the comparator circuit, which consists of seven exclusive OR circuits and seven OR gates. Each bit of SID and PSID is input to each of the seven exclusive OR circuits, and if all bits match, the output NEQSID from the OR gate is 0'', but there is at least one bit that does not match. and 1'' are output.
第4図に示した比較器回路とデコーダ回路では、比較器
は排他的論理和回路がゲート2段に相当する遅延を有す
るので最大パスでゲート3段分、デコーダは最大パスゲ
ート2段であるので、比較器の方が遅く、デコーダの遅
延は問題にはならない。In the comparator circuit and decoder circuit shown in Figure 4, the exclusive OR circuit in the comparator has a delay equivalent to two stages of gates, so the maximum pass is three stages of gates, and the decoder has a maximum pass of two stages. , the comparator is slower and the decoder delay is not an issue.
デコーダ回路は、数ゲート分であり、比較器等と共にL
SI内に構成できるのでハードウェア量は殆ど増加しな
い。The decoder circuit consists of several gates, and together with comparators etc.
Since it can be configured within the SI, the amount of hardware hardly increases.
これに対してTLBは、大容量であるため、ビット数そ
のものがハードウェア量に大きくかかわる。On the other hand, since the TLB has a large capacity, the number of bits itself greatly affects the amount of hardware.
即ち、本実施例の場合について従来と比較すると次のよ
うになる。That is, the case of this embodiment is compared with the conventional case as follows.
物理アドレスは32ビツトで、ページサイズ4にバイト
であり、物理ページアドレスは20ビツトである。The physical address is 32 bits, page size 4 bytes, and the physical page address is 20 bits.
1エントリのビット数は従来例は29ビツトであり、本
実施例では27ビツトとなる。TLBのエントリ数を6
4にとすると、TLBの容量は1、従来例で29ピツ)
X64K、本実施例では27ビツト×64にとなる。The number of bits in one entry is 29 bits in the conventional example, and 27 bits in this embodiment. Increase the number of TLB entries to 6
4, the TLB capacity is 1, which is 29 pins in the conventional example)
x64K, which in this embodiment is 27 bits x 64.
これを、64KX1ビツトのメモリ素子で構成すると、
従来例 29個
本実施例 27個
となり、約7%のハードウェア量が削減できることにな
る。If this is configured with 64K×1-bit memory elements, the number will be 29 in the conventional example and 27 in the present embodiment, which means that the amount of hardware can be reduced by about 7%.
以上説明のように本発明によれば、TLBのIビット、
Cビットを削除することにより、動作に影響を与えるこ
となく、TLBに使用されるメモリ素子を削減すること
ができ、特に大容量のTLBではハードウェア量の削減
効果が大となる。As explained above, according to the present invention, the I bit of the TLB,
By deleting the C bit, it is possible to reduce the number of memory elements used in the TLB without affecting the operation, and the effect of reducing the amount of hardware is particularly large in the case of a large-capacity TLB.
第1図は本発明の原理を示す図、
SID
本発明の一実於11JにおけるTLBの構成を示す図第
2 図
第 3 図
=DEC−
本発明の一実於砦すにるける比較器δよびデコーダの!
8図図第 4 図
(X) +920212
2 28従来例によるTLBのイ誠を示す図
第 5 図
第6図Figure 1 is a diagram showing the principle of the present invention. and decoder!
Figure 8 Figure 4 (X) +920212
2 28 Diagram showing the integrity of TLB according to conventional example Figure 5 Figure 6
Claims (1)
いて動的アドレス変換を機構を構成している情報処理シ
ステムにおいて 変換索引バッファ(1)は、物理ページアドレスと空間
識別子のデータを保持し、全ての空間に共通な領域また
は無効データの場合空間識別子欄に特定の空間番号を保
持するよう構成すると共に、論理ページアドレスにより
索引された変換索引バッファデータ中の空間識別子と走
行中のプログラム空間識別子を比較する比較器(2)と 論理ページアドレスにより索引された変換索引バッファ
データ中の空間識別子をデコードし前記特定の空間番号
のとき出力を発生するデコーダ(3)と、 比較器(2)およびデコーダ(3)の出力を入力とし比
較器(2)の比較結果が不一致で共通領域でないとき並
びに無効データのとき出力を発生するゲート回路(4)
と、を備えゲート回路(4)の出力を変換索引バッフア
フォルト信号として出力するよう構成したことを特徴と
する変換索引バッファ構成方式。[Claims] In an information processing system that adopts a multiple virtual space system and configures a mechanism for dynamic address translation using a translation index buffer (1), the translation index buffer (1) is configured to handle physical page addresses and spaces. The space identifier in the conversion index buffer data indexed by the logical page address is configured to hold identifier data and hold a specific space number in the space identifier column in the case of an area common to all spaces or invalid data. and a decoder (3) that decodes the space identifier in the conversion index buffer data indexed by the logical page address and generates an output when the specific space number is reached. , a gate circuit (4) which receives the outputs of the comparator (2) and the decoder (3) and generates an output when the comparison results of the comparator (2) do not match and are not in the common area, or when the data is invalid.
A conversion index buffer configuration method characterized in that the conversion index buffer is configured to output the output of the gate circuit (4) as a conversion index buffer fault signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63230717A JPH083806B2 (en) | 1988-09-14 | 1988-09-14 | Conversion index buffer configuration method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63230717A JPH083806B2 (en) | 1988-09-14 | 1988-09-14 | Conversion index buffer configuration method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0277953A true JPH0277953A (en) | 1990-03-19 |
JPH083806B2 JPH083806B2 (en) | 1996-01-17 |
Family
ID=16912205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63230717A Expired - Lifetime JPH083806B2 (en) | 1988-09-14 | 1988-09-14 | Conversion index buffer configuration method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH083806B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060698B2 (en) | 2006-02-27 | 2011-11-15 | Fujitsu Limited | Method and apparatus for controlling degradation data in cache |
-
1988
- 1988-09-14 JP JP63230717A patent/JPH083806B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060698B2 (en) | 2006-02-27 | 2011-11-15 | Fujitsu Limited | Method and apparatus for controlling degradation data in cache |
Also Published As
Publication number | Publication date |
---|---|
JPH083806B2 (en) | 1996-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63231550A (en) | Multiple virtual space control system | |
JPH0315211B2 (en) | ||
JPH0749812A (en) | Memory address controller using hash address tag in page table | |
JPH08272692A (en) | Conversion method of virtual address | |
US6401177B1 (en) | Memory system for restructuring a main memory unit in a general-purpose computer | |
JPH06290076A (en) | Debugger device | |
JPH07120312B2 (en) | Buffer memory controller | |
JPS63101944A (en) | Memory controller | |
US4984150A (en) | Virtual memory control management system | |
JPH0277953A (en) | Constitution system for conversion index buffer | |
JPS6273347A (en) | Address converter | |
JPS6019811B2 (en) | address translation device | |
JPS5858752B2 (en) | address translation device | |
JPS5821352B2 (en) | Buffer memory control method | |
JP2504500B2 (en) | Address translation device | |
JPH05334193A (en) | Method and device for address translation | |
JPH02176839A (en) | Information processor | |
JPS5953633B2 (en) | computer system | |
JPH04291438A (en) | Address converter | |
JPH01142957A (en) | Address converter | |
JPH0337217B2 (en) | ||
JPS589272A (en) | Invalidation processing system for address conversion index buffer | |
JPH01206442A (en) | Address converting system for extended storage | |
JPH02196350A (en) | Information processor | |
JPS5897184A (en) | Address conversion system |