JPH0245847A - Virtual address cache control device - Google Patents

Virtual address cache control device

Info

Publication number
JPH0245847A
JPH0245847A JP63196472A JP19647288A JPH0245847A JP H0245847 A JPH0245847 A JP H0245847A JP 63196472 A JP63196472 A JP 63196472A JP 19647288 A JP19647288 A JP 19647288A JP H0245847 A JPH0245847 A JP H0245847A
Authority
JP
Japan
Prior art keywords
address
memory
cache
virtual
contents
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.)
Pending
Application number
JP63196472A
Other languages
Japanese (ja)
Inventor
Yasushi Oi
康 大井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP63196472A priority Critical patent/JPH0245847A/en
Publication of JPH0245847A publication Critical patent/JPH0245847A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To realize the high speed consistent processing of main storage to be needed for multi-processor constitution by wholly providing the entry address of a table, which is used for virtual storage control, in a cache. CONSTITUTION:When a low order part is latched by a bus monitor real address (real address for a main storage access) register 102 to be retrieved, the low order part is used to select one row of memories 106 and 107 through a decoder 111. In the memory 106, an area table entry address, which is an address value at the time of first table retrieval to be shown in a figure, is held. In the memory 107, an area table entry address, which is an address at the time of the second table retrieval to be shown in the figure, is held. For the contents of the bus monitor real address register 102, the contents of the memories 106 and 107 and the high order part of the above mentioned bus monitor address register 102 are simultaneously compared by comparators 108 and 109 in order to check possibility to whole reloading. Even when only one part is coincident, such a condition is transmitted to an effective bit array 105 and the correspondent row is made ineffective.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、仮想アドレスで索引されるアドレス変換バッ
ファあるいはキャッシュメモリの制御方式に関し、特に
、マルチプロセッサにおける記憶の一貫性管理のための
仮想アドレスキャッシュ装置の無効化方式に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a control method for an address translation buffer or cache memory indexed by virtual addresses, and in particular to a virtual address cache device for managing memory consistency in a multiprocessor. Regarding the invalidation method.

従来の技術 仮想アドレスから実アドレスへ変換するためのアドレス
変換バッファ(TLB)あるいは、主記憶のコピーを持
つキャッシュメモリにおいて、マルチプロセッサ構成を
採る場合の記憶内容の一貫性管理は不可欠な問題である
Conventional technology Consistency management of storage contents is an essential issue when adopting a multiprocessor configuration in an address translation buffer (TLB) for converting virtual addresses to real addresses or in cache memory that has a copy of main memory. .

例えば、成るプロセッサによって、主記憶の内容、もし
くは、仮想記憶管理テーブルの内容が更新された場合、
それ以外のプロセッサでは、その変更内容によりTLB
あるいはキャッシュメモリの内容を書換えるか、または
無効化する必要がある。これを、TLB/キャッシュの
一致処理という。
For example, if the contents of the main memory or the contents of the virtual memory management table are updated by a processor,
For other processors, TLB
Alternatively, it is necessary to rewrite or invalidate the contents of the cache memory. This is called TLB/cache matching processing.

従来の計算機技術では、仮想アドレスから実アドレスへ
変換するためのアドレス変換ノ<ソファ(TLB)にお
ける一致処理は、次に示す手順で実行されている。
In conventional computer technology, matching processing in an address translation node (TLB) for converting a virtual address to a real address is executed in the following procedure.

■ あるプロセッサ(以下変更プロセッサと称する)に
よって仮想記憶管理テーブルの内容が更新されると、そ
の更新された結果の実アドレスが、他のプロセッサ(以
下被変更ブロモ・ソサと称する)に通知される。
■ When the contents of the virtual memory management table are updated by a certain processor (hereinafter referred to as the changed processor), the real address of the updated result is notified to other processors (hereinafter referred to as the changed Bromo Sosa). .

■ 被変更プロセッサでは、変更ブロモ・ノサから通知
された実アドレスから、仮想/実アドレス対において、
実アドレスから仮想アドレスを引く、いわゆる逆アドレ
ス変換を実行し、求められた仮想アドレスから、対応す
るTLBエントリをクリアする。
■ In the modified processor, from the real address notified by the modified Bromo Nosa, in the virtual/real address pair,
A so-called reverse address translation, in which a virtual address is subtracted from a real address, is performed, and the corresponding TLB entry is cleared from the obtained virtual address.

この方式を実現するためには、プロセッサ間で、アドレ
ス空間を変更したときに、その変換結果としての実アド
レスを通知するプロセッサ間通信機構が必要となる。
In order to implement this method, an inter-processor communication mechanism is required that notifies the processors of the real address as a result of the conversion when the address space is changed between the processors.

また、主記憶データを保持するキャッシュメモリの一致
処理では、次の手順で実行されている。
Furthermore, the matching process of the cache memory that holds main memory data is executed in the following steps.

■ あるプロセッサ(以下変更プロセッサと称する)に
よって主記憶の内容が更新される際に、その更新される
主記憶の実アドレスが、他のプロセッサ(以下被変更プ
ロセッサと称する)に通知される。
(2) When a certain processor (hereinafter referred to as a changing processor) updates the contents of the main memory, the real address of the main memory to be updated is notified to another processor (hereinafter referred to as a changed processor).

■ 被変更プロセッサでは、変更プロセッサから通知さ
れた実アドレスでキャッシュメモリを検索し、対応する
キャッシュエントリをクリアする。
■ The modified processor searches the cache memory using the real address notified from the modified processor and clears the corresponding cache entry.

この方式を実現するためには、プロセッサ間で、主記憶
を変更するメモリライトアクセスの際に、その実アドレ
スをモニタするプロセッサ間通信機構、及ヒ、キャッシ
ュ内部の実アドレスメモリを、主記憶アクセスの監視用
に用いることができるようなメモリ構成あるいはタイミ
ング生成機構が必要となる。
In order to implement this method, an inter-processor communication mechanism that monitors the real address during a memory write access that changes main memory between processors, and a A memory configuration or timing generation mechanism that can be used for monitoring is required.

このように、従来のTLBとキャッシュの一致処理は、
実行方式上の親和性が少なく、その実現は分離され、か
つ、多くのハードウェアコストを必要としていた。その
背景には、TLBとキャッシュメモリとを分離し、独立
した機構で実現するというハードウェアの構成方式を採
るのが一般的であった(実アドレスによるキャッシュメ
モリの索引法)という事実があるといえる。
In this way, the conventional TLB and cache matching process is
There is little compatibility in execution methods, implementation is separate, and requires a large amount of hardware cost. The background to this is the fact that it was common to adopt a hardware configuration method in which the TLB and cache memory were separated and implemented as independent mechanisms (cache memory indexing method using real addresses). I can say that.

発明が解決しようとしている課題 TLB/キャッシュを分離して実現するためには、TL
Bとキャッシュの両方に実アドレスメモリを置く必要が
あり、ハードウェア・コストが大きくなる。さらに、マ
ルチプロセッサのサポートのために、TLBとキャッシ
ュの両方に対して一致処理を行うことになると、両者の
実アドレスメモリに対して一致処理のためのノ1−ドウ
エアが必要となり、さらにハードウェア・コストが増大
する欠点がある。
Problem to be Solved by the Invention In order to separate TLB/cache, it is necessary to
It is necessary to provide real address memory in both B and cache, increasing hardware cost. Furthermore, in order to support multiprocessors, if matching processing is performed on both the TLB and the cache, a node is required for matching processing on the real address memories of both, and furthermore, hardware is required.・There is a disadvantage that the cost increases.

そこで、本発明は、マルチプロセッサ構成に必要な記憶
の一貫性処理を、少ないハードウェアで高速に実行でき
る仮想アドレスキャッシュ制御装置を提供せんとするも
のである。
SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a virtual address cache control device that can perform storage consistency processing necessary for a multiprocessor configuration at high speed with less hardware.

課題を解決するための手段 仮想アドレスによってキャッシュメモリを索弓する本発
明によるキャッシュメモリ制御装置は、キャッシュデー
タメモリに存在するデータブロックを指示する仮想アド
レスを保持する仮想アドレスメモリ手段と、仮想記憶管
理に用いられるアドレス変換テーブルを指示する実アド
レスを保持する1以上の変換テーブルエントリアドレス
メモリ手段と、前記アドレス変換テーブルを索引した結
果得られるデータを保持するデータメモリ手段と、前記
各メモリ手段のワード毎に対応する有効ビットを保持す
る有効ビットアレイ手段と、外部アドレスを入力するた
めの手段と、前記変換テーブルエントリアドレスメモリ
手段の内容と前記外部アドレスとを比較するためのアド
レス比較手段とを具備し、前記外部アドレスの入力が通
知されると、前記アドレス比較手段が前記有効ビットア
レイ手段の対応する部分をクリアすることを特徴とする
Means for Solving the Problems A cache memory control device according to the present invention that searches a cache memory using virtual addresses includes a virtual address memory means for holding a virtual address indicating a data block existing in a cache data memory, and a virtual memory management device. one or more translation table entry address memory means for holding real addresses indicative of an address translation table used for the address translation table, data memory means for holding data obtained as a result of indexing the address translation table, and words in each of the memory means. effective bit array means for holding valid bits corresponding to each address, means for inputting an external address, and address comparison means for comparing the contents of the translation table entry address memory means and the external address. However, when the input of the external address is notified, the address comparison means clears a corresponding portion of the valid bit array means.

さらに、可能であれば、前記アドレス変換テーブルを検
索した結果得られる実アドレスを保持すル実アドレスメ
モリ手段と、前記実アドレスメモリ手段の内容と前記外
部アドレスとを比較するための第2のアドレス比較手段
とを有し、前記外部アドレスの入力が通知されると、前
記アドレス比較手段及び第2のアドレス比較手段が、同
時に前記有効ビットアレイ手段の対応する部分をクリア
するように構成する。
Further, if possible, a real address memory means for holding a real address obtained as a result of searching the address translation table, and a second address for comparing the contents of the real address memory means with the external address. and comparing means, and when the input of the external address is notified, the address comparing means and the second address comparing means simultaneously clear corresponding portions of the valid bit array means.

作用 本発明による仮想アドレスキャッシュ制御装置は、仮想
記憶管理に用いられるテーブル(例えばヘーシテーブル
)のうち、その仮想アドレスを変換するのに用いられた
エントリを指すアドレス(これをテーブルエントリアド
レス略してTEAという)を持つテーブルを持つことに
よって、実アドレスから仮想アドレスを引(、いわゆる
逆アドレス変換を実行することなく、高速に対応するT
LBエントリをクリアすることができる。
Operation The virtual address cache control device according to the present invention uses an address (abbreviated as a table entry address, TEA) that points to an entry used to convert the virtual address in a table used for virtual memory management (for example, a Hesy table). ), the virtual address is subtracted from the real address (, without performing the so-called reverse address translation), and the corresponding T
LB entry can be cleared.

更に、このようにテーブルエントリアドレステーブルを
使用する方式は、従来のキャッシュメモリの一致処理方
式と親和性がある。そのため、仮想アドレスでキャッシ
ュデータを直接検索する仮想アドレスキャッシュの実現
の際に、TLBエントリをクリアと、キャッシュデータ
の無効化とを同時に実行できる。
Furthermore, the method of using the table entry address table in this way is compatible with the conventional cache memory matching processing method. Therefore, when implementing a virtual address cache that directly searches cache data using a virtual address, it is possible to clear the TLB entry and invalidate the cache data at the same time.

従って、キャッシュエントリを無効化に必要なハードウ
ェアコストを、従来のTLB/実アドレスキャッシュ別
構成式に比べて大幅に減少させることができる。
Therefore, the hardware cost required to invalidate a cache entry can be significantly reduced compared to the conventional TLB/real address cache separate configuration formula.

次に本発明の実施例を添付図面を参照して説明する。Next, embodiments of the present invention will be described with reference to the accompanying drawings.

実施例1 第1図は本発明の一実施例のブロック図である。Example 1 FIG. 1 is a block diagram of one embodiment of the present invention.

図示の実施例は、アドレス変換機構の部分を実現した例
であり、従って、一般の主記憶データを保持するキャッ
シュメモリ部分は、これに含まれない。
The illustrated embodiment is an example in which the address translation mechanism is implemented, and therefore does not include a cache memory portion that holds general main memory data.

第1図に示す仮想アドレスキャッシュ制御装置は、変換
される仮想アドレスを保持する仮想アドレスレジスタ1
01を具備しており、その仮想アドレスレジスタ101
は、その下位部分が、アドレスデコーダ110に接続さ
れ、上位部分が比較器113の一方の入力の一部に接続
されている。デコーダ110の出力は、仮想アドレスメ
モリ103、プロセス識別番号メモリ104および有効
ビットアレイ105に接続され、それらの行を選択する
ようになされている。仮想アドレスメモリ103及びプ
ロセス識別番号メモリ104の選択された行から読み出
された内容は、比較器113の他方の入力に送られる。
The virtual address cache control device shown in FIG. 1 includes a virtual address register 1 that holds a virtual address to be translated.
01, and its virtual address register 101
has its lower part connected to the address decoder 110, and its upper part connected to part of one input of the comparator 113. The output of decoder 110 is connected to virtual address memory 103, process identification number memory 104 and valid bit array 105 to select those rows. The contents read from the selected row of virtual address memory 103 and process identification number memory 104 are sent to the other input of comparator 113.

その比較器113の一方の入力には、プロセス識別レジ
スタ112が更に接続され、そして、比較器113は、
有効ビットアレイ105の選択された行から読み出され
た内容に従って制御される。その比較器113の出力信
号152は、実アドレスメモリ114の出力キャッシュ
メモリへの引き渡しを制御する。
A process identification register 112 is further connected to one input of the comparator 113, and the comparator 113
It is controlled according to the contents read from the selected row of the valid bit array 105. The output signal 152 of the comparator 113 controls the delivery of the real address memory 114 to the output cache memory.

更に、検索するバスモニタ実アドレスを保持するバスモ
ニタ実アドレスレジスタ102が設けられている。その
レジスタ102の下位部分は、アドレスデコーダ111
 に入力され、そのデコーダの出力は、エリアテーブル
エントリアドレスメモリ106、ページテーブルエント
リアドレスメモリ107及び有効ビットアレイ105に
接続され、エリアテーブルエントリアドレスメモリ10
6及びページテーブルエントリアドレスメモリ107の
選択された行の内容が比較器108及び109の一方の
入力に接続されている。それら比較器108及び109
の他方の入力は、バスモニタ実アドレスレジスタ102
の上位部分が接続され、それら比較器108及び109
の出力は、有効ビットアレイ105を制御する。
Furthermore, a bus monitor real address register 102 is provided to hold a bus monitor real address to be searched. The lower part of the register 102 is an address decoder 111.
The output of the decoder is connected to area table entry address memory 106, page table entry address memory 107 and valid bit array 105,
6 and the contents of the selected row of page table entry address memory 107 are connected to one input of comparators 108 and 109. The comparators 108 and 109
The other input of bus monitor real address register 102
are connected, and their comparators 108 and 109
The output of controls the effective bit array 105.

なお、本実施例がセットアソシアティブ方式などの連想
方式となるときには、メモリ103−107は、各連想
単位毎に1つずつ存在してよい。以下の議論はそのよう
な拡張をした場合でも成立することは自明である。
Note that when this embodiment uses an associative method such as a set associative method, one memory 103 to 107 may exist for each associative unit. It is obvious that the following argument holds true even with such an extension.

本実施例のアドレス変換シーケンスを第1図に基づいて
説明する。変換される仮想アドレスが仮想アドレスレジ
スタ101 にラッチされると、その下位部分は、デコ
ーダ110を通じて各メモリ103.104.105の
1つの行を選択するのに用いられる。
The address conversion sequence of this embodiment will be explained based on FIG. Once the virtual address to be translated is latched into virtual address register 101, its lower part is used to select one row of each memory 103, 104, 105 through decoder 110.

メモリ103には、仮想アドレスレジスタ101の上位
部分に相当するフィールドが保持されており、デコーダ
103の出力に従った内容が読み出されると、仮想アド
レスレジスタ101の上位部分と、比較器113で比較
される。
A field corresponding to the upper part of the virtual address register 101 is held in the memory 103, and when the content according to the output of the decoder 103 is read, it is compared with the upper part of the virtual address register 101 by the comparator 113. Ru.

また、メモリ104にはメモリ103に入っている仮想
アドレスを指定するプロセス識別番号が保持されてふり
、デコーダ110の出力に従った内容が読み出されると
、プロセス識別レジスタ112の内容と比較器113で
比較される。
Further, the memory 104 holds a process identification number that specifies the virtual address stored in the memory 103, and when the content according to the output of the decoder 110 is read out, it is compared with the content of the process identification register 112 and the comparator 113. be compared.

メモリ105には、読み出された行が有効か否かを示す
情報が保持されており、デコーダ103の出力に従った
内容が読み出されると比較器113に通知される。
The memory 105 holds information indicating whether the read row is valid or not, and when the contents according to the output of the decoder 103 are read, the comparator 113 is notified.

比較器113は、アドレスとプロセスの両者カー致し、
且つ、その行が有効であるとき、ヒツト信号152を出
す。実アドレスメモリ114は、図示されない仮想アド
レスレジスタの下位部分によって指定された行が読み出
されており、ヒツト信号152を契機として初めてキャ
ッシュメモリにそのデータを引き渡す。
The comparator 113 compares both the address and the process,
Moreover, when the row is valid, a hit signal 152 is output. In the real address memory 114, a line specified by a lower part of a virtual address register (not shown) has been read out, and the data is transferred to the cache memory for the first time in response to a hit signal 152.

ヒツト信号152がアクティブにならない場合は、リプ
レース処理、すなわちメモ’J130−107の入れか
えが実行される。特に、仮想アドレス103には新しい
仮想アドレスが登録され、プロセス識別番号メモリ10
4には新しいプロセス識別番号が登録され、エリアテー
ブルエントリアドレスメモリ106には変換途中で得ら
れるエリアテーブルエントリの゛アドレスが登録され、
ページテーブルエントリアドレスメモリ107には変換
途中で得られるページテーブルエントリのアドレスが登
録され、その終了と共に有効ビットアレイ105の入れ
かえ行部分がセットされる。
If the hit signal 152 is not activated, a replacement process, ie, replacement of the memo 'J130-107, is performed. In particular, a new virtual address is registered in the virtual address 103, and the process identification number memory 10
4, a new process identification number is registered, and the area table entry address memory 106 is registered with the address of the area table entry obtained during conversion.
The address of the page table entry obtained during the conversion is registered in the page table entry address memory 107, and upon completion of the conversion, the replaced row portion of the effective bit array 105 is set.

次に、一致処理に対する処理シーケンスを説明する。な
お、ここで扱われる仮想記憶方式は、第2図に示すよう
な2レベルページングであるとする。
Next, a processing sequence for matching processing will be explained. It is assumed that the virtual storage system used here is two-level paging as shown in FIG.

検索するバスモニタ実アドレス(主記憶アクセスのため
の実アドレス)がバスモニタ実アドレスレジスタ102
にラッチされると、その下位部分は、デコーダ111を
通じてメモ!J 106.107の1つの行を選択する
のに用いられる。メモ!J 106には、第2図の第1
回目のテーブル検索時のアドレスであるエリアテーブル
エントリアドレスが保持され、メモリ107には、第2
図の第2回目のテーブル検索時のアドレスであるページ
テーブルエントリアドレスが保持される。エリアテーブ
ルエントリ、ページテーブルエントリのいずれが書きが
えられても、キャッシュの内容は無効化される必要があ
る。よって、バスモニタ実アドレスレジスタ102の内
容は、その全ての書きかえに対する可能性をチエツクす
るため、比較器108.109により、メ% IJ 1
06.107の内容とバスモニタ実アドレスレジスタ1
02の上位部分とを同時に比較する。1っでも一致する
という結果が得られれば、それは有効ヒツトアレイ10
5に伝えられ、有効ビットアレイ105の入れかえ行部
分がクリアされ、対応する行が無効化される。
The bus monitor real address to be searched (real address for main memory access) is the bus monitor real address register 102.
When the memo! is latched, the lower part of the memo! Used to select one row of J 106.107. Memo! J 106 includes the first part of Fig. 2.
The area table entry address that is the address at the time of the second table search is held, and the memory 107 stores the second area table entry address.
The page table entry address, which is the address at the time of the second table search in the figure, is held. Regardless of whether an area table entry or a page table entry is rewritten, the contents of the cache must be invalidated. Therefore, the contents of the bus monitor real address register 102 are stored in memory by comparators 108 and 109 in order to check the possibility of all its rewriting.
06.107 contents and bus monitor real address register 1
The upper part of 02 is compared at the same time. If even one match is obtained, it is a valid hit array 10.
5, the replaced row portion of the valid bit array 105 is cleared, and the corresponding row is invalidated.

実施例2 第3図は、本発明の第2の実施例のブロック図である。Example 2 FIG. 3 is a block diagram of a second embodiment of the invention.

第2の実施例は、TLBとキャッシュを同時に1つのハ
ードウェア・ブロックで扱うような仮想アドレスキャッ
シュである点で、第1の実施例とは異なっている。なお
、第1図に示す各要素と同一の要素には、同一の参照番
号を付して説明を省略する。第1図と第3図との比較か
られかるように、第3図に示す実施例は、デコーダ11
1により行が選択される実アドレスメモリ123 と、
その実アドレスメモリ123の選択された行の内容とバ
スモニタ実アドレスレジスタ102の上位部分の内容と
を比較する比較器122と、キャッシュデータメモリ1
24とを更に具備している。
The second embodiment differs from the first embodiment in that it is a virtual address cache that handles TLB and cache simultaneously in one hardware block. Note that elements that are the same as those shown in FIG. 1 are given the same reference numerals, and description thereof will be omitted. As can be seen from a comparison between FIG. 1 and FIG. 3, the embodiment shown in FIG.
a real address memory 123 whose row is selected by 1;
a comparator 122 that compares the contents of the selected row of the real address memory 123 with the contents of the upper part of the bus monitor real address register 102;
24.

本実施例のキャッシュ索引シーケンスを第1図に基づい
て説明する。交換される仮想アドレスが仮想アドレスレ
ジスタ101 にラッチされると、その下位部分は、デ
コーダ110を通じて各メモ’J 103.104.1
05の1つの行を選択するのに用いられる。
The cache index sequence of this embodiment will be explained based on FIG. Once the virtual address to be exchanged is latched into the virtual address register 101, its lower part is transferred to each memo 'J103.104.1 through the decoder 110.
Used to select one row of 05.

メモリ103.104.105の内容とレジスタ101
の比較器113による比較については第1の実施例と同
様である。
Contents of memory 103, 104, 105 and register 101
The comparison by the comparator 113 is the same as in the first embodiment.

比較器113は、アドレスとプロセスの両者が一致し、
且つ、その行が有効であるとき、ヒ・ソト信号152を
出す。キャッシュメモリデータ124は、図示されない
仮想アドレスレジスタの下位部分によって指定された行
が読み出されており、ヒ・ント信号152を契機として
初めてデータ要求元にそのデータを引き渡す。
The comparator 113 determines that both the address and the process match,
In addition, when the row is valid, a Hi/Soto signal 152 is output. In the cache memory data 124, a line specified by a lower part of a virtual address register (not shown) is read out, and the data is delivered to the data request source for the first time in response to the hint signal 152.

ヒツト信号152がアクティブにならない場合は、リプ
レース処理、すなわちメモIJ 103−107の入れ
かえが実行される。特に、仮想メモリ103には新しい
仮想アドレスが登録され、プロセス識別番号メモ1J1
04には新しいプロセス識別番号が登録され、エリアテ
ーブルエントリアドレスメモ1川06には変換途中で得
られるエリアテーブルエントリのアドレスが登録され、
ページテーブルエントリアドレスメモリ107には変換
途中で得られるページテーブルエントリのアドレスが登
録され、その終了と共に有効ビットアレイ105の入れ
かえ行部分がセットされる。
If the hit signal 152 is not activated, a replacement process, ie, replacement of the memories IJ 103-107, is performed. In particular, a new virtual address is registered in the virtual memory 103, and a process identification number memo 1J1 is registered.
A new process identification number is registered in 04, and the address of the area table entry obtained during conversion is registered in area table entry address memo 1 river 06.
The address of the page table entry obtained during the conversion is registered in the page table entry address memory 107, and upon completion of the conversion, the replaced row portion of the effective bit array 105 is set.

次に、一致処理に対する処理シーケンスを説明する。な
お、ここで扱われる仮想記憶方式も、第2図に示すよう
な2レベルページングであるとする。
Next, a processing sequence for matching processing will be explained. It is assumed that the virtual storage system used here is also two-level paging as shown in FIG.

検索するバスモニタ実アドレス(主記憶アクセスのため
の実アドレス)がバスモニタ実アドレスレジスタ102
にランチされると、その下位部分は、デコーダ111を
通じてメモリ106.107.123の1つの行を選択
するのに用いられる。メモリ106、メモリ107に保
持される内容は第1の実施例の場合と同様である。メモ
リ123には、アドレス変換の最終結果である実アドレ
スが保持される。
The bus monitor real address to be searched (real address for main memory access) is the bus monitor real address register 102.
, its lower part is used to select one row of memory 106.107.123 through decoder 111. The contents held in memory 106 and memory 107 are the same as in the first embodiment. The memory 123 holds real addresses that are the final results of address translation.

エリアテーブルエントリ、ページテーブルエントリ、ペ
ージ内主記憶データのいずれが書きかえられでもキャン
シュの内容は無効化される必要がある。よって、バスモ
ニタ実アドレスレジスタ102の内容は、その全ての書
きかえに対する可能性をチエツクするため、比較器10
8.109.122を用いて、メモリ106.107.
123の内容を同時に102の上位部分と比較する。1
つでも一致するという結果が得られれば、それは有効ビ
ットアレイ105に伝えられ、有効ビット105の入れ
かえ行部分がクリアされ、対応する行が無効化される。
Regardless of whether the area table entry, page table entry, or in-page main memory data is rewritten, the contents of the cache must be invalidated. Therefore, the contents of the bus monitor real address register 102 are processed by the comparator 10 in order to check the possibility of all rewriting thereof.
8.109.122, memory 106.107.
The contents of 123 are compared with the upper part of 102 at the same time. 1
If any match is found, it is transmitted to the valid bit array 105, the replaced row portion of the valid bit 105 is cleared, and the corresponding row is invalidated.

発明の詳細 な説明したように、本発明は仮想記憶管理に用いられる
テーブルのエントリアドレスを全てキャッシュ内に持つ
ことにより、マルチプロセッサ構成に必要な主記憶の一
貫性処理を、高速に実行できるという効果がある。特に
、従来の計算機において行われているような、実アドレ
スから仮想アドレスを引く、いわゆる逆アドレス変換を
実行することなく、高速に対応するTLBエントリをク
リアすることができるという効果がある。
As described in detail, the present invention is capable of executing main memory consistency processing necessary for a multiprocessor configuration at high speed by having all the entry addresses of the table used for virtual memory management in the cache. effective. In particular, there is an advantage that the corresponding TLB entry can be cleared at high speed without executing so-called reverse address translation, in which a virtual address is subtracted from a real address, as is done in conventional computers.

さらに、仮想アドレスでキャッシュデータを直接検索す
る仮想アドレスキャッシュの実現の際に、TLBの無効
化と、キャッシュデータの無効化を同時に実行でき、キ
ャッシュエントリを無効化に必要なハードウェアコスト
を、従来のTLB/実アドレスキャッシュ別構成方式に
比べて大幅に減少させることができるという効果がある
Furthermore, when implementing a virtual address cache that directly searches cache data using a virtual address, TLB invalidation and cache data invalidation can be executed simultaneously, reducing the hardware cost required to invalidate cache entries. This has the effect of significantly reducing the amount of traffic compared to the TLB/real address cache separate configuration method.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明による仮想アドレスキャッシュ制御装
置の第1の実施例のブロック図、第2図は、第1図で仮
定される仮想記憶管理方式のアドレス変換の流れを図解
する図、第3図は、本発明による仮想アドレスキャッシ
ュ制御装置の第2の実施例を示すブロック図である。 〔主な参照番号〕 101・・仮想アドレスレジスタ 102・・バスモニタ実アドレスレジスタ103・・仮
想アドレスメモリ 104・・プロセス識別番号メモリ 105・・有効ピントアレイ 106・・エリアテーブルエントリアドレスメモリ10
7・・ページテーブルエントリアドレスメモリ108.
109.113・・比較器 110.111  ・・アドレスレコーダ112・・プ
ロセス識別レジスタ 114・・実アドレスメモリ
1 is a block diagram of a first embodiment of a virtual address cache control device according to the present invention; FIG. 2 is a diagram illustrating the flow of address translation in the virtual memory management system assumed in FIG. 1; FIG. 3 is a block diagram showing a second embodiment of the virtual address cache control device according to the present invention. [Main reference numbers] 101...Virtual address register 102...Bus monitor real address register 103...Virtual address memory 104...Process identification number memory 105...Valid focus array 106...Area table entry address memory 10
7...Page table entry address memory 108.
109.113...Comparator 110.111...Address recorder 112...Process identification register 114...Real address memory

Claims (1)

【特許請求の範囲】[Claims] 仮想アドレスによってキャッシュメモリを索引するキャ
ッシュメモリ制御装置であって、キャッシュデータメモ
リに存在するデータブロックを指示する仮想アドレスを
保持する仮想アドレスメモリ手段と、仮想記憶管理に用
いられるアドレス変換テーブルを指示する実アドレスを
保持する1つ以上の変換テーブルエントリアドレスメモ
リ手段と、前記アドレス変換テーブルを検索した結果得
られるデータを保持するデータメモリ手段と、前記各メ
モリ手段のワード毎に対応する有効ビットを保持する有
効ビットアレイ手段と、外部アドレスを入力するための
手段と、前記変換テーブルエントリアドレスメモリ手段
の内容と前記外部アドレスとを比較するためのアドレス
比較手段とを有し、前記外部アドレスの入力が通知され
ると、前記アドレス比較手段が前記有効ビットアレイ手
段の対応する部分をクリアすることを特徴とする仮想ア
ドレスキャッシュ制御装置。
A cache memory control device that indexes a cache memory by a virtual address, the virtual address memory means holding a virtual address indicating a data block existing in the cache data memory, and an address conversion table used for virtual memory management. one or more translation table entry address memory means for holding real addresses; data memory means for holding data obtained as a result of searching said address translation table; and holding valid bits corresponding to each word of each of said memory means. means for inputting an external address; and address comparing means for comparing the contents of the translation table entry address memory means with the external address; A virtual address cache control device characterized in that, when notified, said address comparison means clears a corresponding portion of said valid bit array means.
JP63196472A 1988-08-06 1988-08-06 Virtual address cache control device Pending JPH0245847A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63196472A JPH0245847A (en) 1988-08-06 1988-08-06 Virtual address cache control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63196472A JPH0245847A (en) 1988-08-06 1988-08-06 Virtual address cache control device

Publications (1)

Publication Number Publication Date
JPH0245847A true JPH0245847A (en) 1990-02-15

Family

ID=16358372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63196472A Pending JPH0245847A (en) 1988-08-06 1988-08-06 Virtual address cache control device

Country Status (1)

Country Link
JP (1) JPH0245847A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097558A (en) * 2008-10-20 2010-04-30 Toshiba Corp Virtual address cache memory and virtual address cache method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097558A (en) * 2008-10-20 2010-04-30 Toshiba Corp Virtual address cache memory and virtual address cache method

Similar Documents

Publication Publication Date Title
US4654790A (en) Translation of virtual and real addresses to system addresses
US6263403B1 (en) Method and apparatus for linking translation lookaside buffer purge operations to cache coherency transactions
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
JP5373173B2 (en) Address translation method and apparatus
US20040117587A1 (en) Hardware managed virtual-to-physical address translation mechanism
EP0911737A1 (en) Cache memory with reduced access time
JP3666689B2 (en) Virtual address translation method
US20040117588A1 (en) Access request for a data processing system having no system memory
JPH03142644A (en) Cache memory control system
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
JPS6135584B2 (en)
JPH10254772A (en) Method and system for executing cache coherence mechanism to be utilized within cache memory hierarchy
EP0365117B1 (en) Data-processing apparatus including a cache memory
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US7017024B2 (en) Data processing system having no system memory
US20050027960A1 (en) Translation look-aside buffer sharing among logical partitions
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
US4757447A (en) Virtual memory system having identity marking for common address space
JPH0551937B2 (en)
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
EP0173909A2 (en) Look-aside buffer least recently used marker controller
US6931510B1 (en) Method and system for translation lookaside buffer coherence in multiprocessor systems