JPS6393058A - Cache memory system - Google Patents

Cache memory system

Info

Publication number
JPS6393058A
JPS6393058A JP61238720A JP23872086A JPS6393058A JP S6393058 A JPS6393058 A JP S6393058A JP 61238720 A JP61238720 A JP 61238720A JP 23872086 A JP23872086 A JP 23872086A JP S6393058 A JPS6393058 A JP S6393058A
Authority
JP
Japan
Prior art keywords
address
cache
memory
page size
directory
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
JP61238720A
Other languages
Japanese (ja)
Inventor
Yoshihiro Nakajima
義博 中島
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 JP61238720A priority Critical patent/JPS6393058A/en
Publication of JPS6393058A publication Critical patent/JPS6393058A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To attain the effective availability of the full capacity of a cache memory by selecting bits after comparing a real address given from an associative memory with that given from a cache directory. CONSTITUTION:When a cache memory 4 and a cache directory 3 receive access at a real address part in a logical address, the least significant bit of a main address received from an associative memory 2 is invalidated or validated through an AND gate 5 according to a prescribed page size or a half page size. The real addresses read out of the memory 4 and the directory 3 are compared with each other by a comparator 21. When no coincidence is obtained between both real addresses, a FF 10 inverts its holding value to obtain the most significant value bit that gives access to the memory 4 and the directory 3. While the held value is used to access again in the case of a half page size.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は仮想記憶システムにおけるキャッシュ記憶の処
理に関し、特にページサイズが半分になったときでもキ
ャッシュ記憶の容量をすべて使用できるようにしたキャ
ッシュ記憶方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to cache storage processing in a virtual storage system, and in particular to a cache storage system that allows the entire cache storage capacity to be used even when the page size is halved. Regarding the method.

(従来の技術) 従来、この種のキャッシュ記憶方式lこおいて、ある特
定のページサイズで運用されるオペレーティングシステ
ムの管理下では、そのページサイズでアクセスするのに
最適なよ5にシステムが構成されている。したがって、
ページサイズが半分になった場合には、キャッシュ記憶
とキャッシュディレクトリとを、要求アドレスである論
理アドレスの実アドレス部のみでアクセスすると、キャ
ッシュ記憶と午ヤツシュディレクトリとがともに半分し
か使用できない。
(Prior Art) Conventionally, in this type of cache storage method, under the management of an operating system that operates with a certain page size, the system is configured to be optimally configured for access with that page size. has been done. therefore,
When the page size is halved, if the cache memory and cache directory are accessed only by the real address part of the logical address that is the requested address, only half of both the cache memory and the cache directory can be used.

(発明が解決しようとする問題点) 上述した従来のキャッシュ記憶方式は、ページサイズが
半分になつ九場合には、キャッシュ記憶とキャッシュデ
ィレクトリとを、要求アドレスである論理アドレスの実
アドレス部のみでアクセスすると、中ヤッシュ記憶と中
ヤッシュディレクトリとがともに半分しか使用できず、
システムの効゛率をさげるという欠点が6つな。
(Problems to be Solved by the Invention) In the conventional cache storage method described above, when the page size is halved, the cache storage and cache directory are stored only in the real address part of the logical address that is the requested address. When accessing, only half of both the middle Yash memory and the middle Yash directory can be used.
There are six drawbacks that reduce the efficiency of the system.

本発明の目的は、論理アドレスを実アドレスに変換する
アドレス変換手段を有するとともに、キャッシュ記憶と
、キャッシュディレクトリと、連想メモリとを有し、論
理アドレス中の実アドレス部でキャッシュ記憶とキャッ
シュディレクトリとをアクセスする場合に、ページサイ
ズが所定のサイズであるか、あるいは半分のサイズであ
るかにより連想メモリから読出され九実アドレスの最下
位ビットを無効、または有効にし、連想メモリから読出
された笑アドレスとキャッシュディレクトリから読出さ
れた実アドレスとを比較し、その比較結果が不一致のと
きには保持されている値を反転させ、キャッシュ記憶と
キャッシュディレクトリとをアクセスするアドレスの最
上位ビットとしてページサイズが半分のサイズのときに
は上記保持されている値を用いることによシ上記欠点を
除去し、半分のページサイズのときには上記比較で不一
致を検出すると、上記反転された値を最上位ビットに用
いて構成したアドレスで再度、キャッシュ記憶とキャッ
シュディレクトリとをアクセスすることができるように
構成したキャッシュ記憶方式を提供することにある。
An object of the present invention is to have an address conversion means for converting a logical address into a real address, and also to have a cache memory, a cache directory, and an associative memory, and to convert the cache memory and the cache directory in the real address part of the logical address. When accessing , the least significant bit of the actual address is disabled or enabled depending on whether the page size is a predetermined size or half the size, and the page size is read from the associative memory. The address is compared with the real address read from the cache directory, and if the comparison result does not match, the held value is inverted, and the page size is halved as the most significant bit of the address that accesses the cache memory and cache directory. When the size of the page is half, the above disadvantage is removed by using the retained value, and when a mismatch is detected in the above comparison when the page size is half, the inverted value is used for the most significant bit. An object of the present invention is to provide a cache storage system configured so that cache storage and a cache directory can be accessed again using an address.

(問題点を解決するための手段) 本発明によるキャッシュ記憶方式は、キャッシュ記憶と
、キャッシュディレクトリと、アドレスレジスタと、連
想メモリと、アクセス手段と、有効/無効選択手段と、
比較手段と、7リツブフロツプと、ビット選択手段とを
具備して構成したものである。
(Means for Solving the Problems) A cache storage system according to the present invention includes a cache storage, a cache directory, an address register, an associative memory, an access means, a valid/invalid selection means,
It is constructed by comprising a comparison means, a 7-rib flop, and a bit selection means.

キャッシュ記憶は、ブロック単位にデータを格納するた
めのものである。
Cache storage is for storing data in blocks.

キャッシュディレクトリは、キャッシュ記憶に格納され
ている単位データブロックに対応する主記憶アドレスの
一部を保持する丸めのものである。
The cache directory is a rounded directory that holds a portion of the main memory address corresponding to the unit data block stored in the cache memory.

アドレスレジスタは、主記憶をアクセスするための要求
アドレスである論理アドレスを格納するためのものであ
る。
The address register is for storing a logical address that is a request address for accessing the main memory.

連想メモリは、論理アドレスと主記憶上の実アドレスと
の対応の一部を登録するためのものである。
The associative memory is for registering part of the correspondence between logical addresses and real addresses on main memory.

アクセス手段はキャッシュ記憶、午ヤッシュディレクト
リ、および連想メモリを並行して参照し、論理アドレス
のなかのアドレス変換対象とならない実アドレス部でキ
ャッシュ記憶およびキャッシュディレクトリをアクセス
するためのものである。
The access means is for accessing the cache memory and the cache directory by referring to the cache memory, the address directory, and the associative memory in parallel, and using the real address part of the logical address that is not subject to address translation.

有効/無効選択手段はページサイズが所定のページサイ
ズか、あるいは半分のページサイズかにより連想メモリ
から読出された実アドレスの最下位ビットを無効、また
は有効にするためのものである。
The valid/invalid selection means is for invalidating or validating the least significant bit of the real address read from the associative memory depending on whether the page size is a predetermined page size or a half page size.

比較手段は、連想メモリから読出された実アドレスとキ
ャッシュディレクトリから読出された実アドレスを比較
するためのものである。
The comparison means is for comparing the real address read from the associative memory and the real address read from the cache directory.

クリップフロップは、比較手段の比較結果が不一致のと
きには保有している値を反転させるためのものである。
The clip-flop is for inverting the held value when the comparison result of the comparison means is a mismatch.

ビット選択手段は、キャッシュ記憶、およびキャッシュ
ディレクトリをアクセスするアドレスの最上位ビットに
、ページサイズが所定のページサイズのときには論理ア
ドレスのなかの実アドレス部の最上位ビットを用い、半
分のページサイズのときにはフリップフロップによって
保持されている値を用いるためのものである。
The bit selection means uses the most significant bit of the real address portion of the logical address when the page size is a predetermined page size as the most significant bit of the address for accessing the cache storage and cache directory, and selects the most significant bit of the real address part of the logical address when the page size is a predetermined page size. Sometimes it is to use a value held by a flip-flop.

(実施例) 次に、本発明について図面を参照して説明する。(Example) Next, the present invention will be explained with reference to the drawings.

第1図は、本発明による論理アドレスを格納するアドレ
スレジスタの内容を示す説明図である。
FIG. 1 is an explanatory diagram showing the contents of an address register that stores logical addresses according to the present invention.

第1図1こおいて、1は主記憶をアクセスするための要
求アドレスである論理アドレスのアドレスレジスタ、1
1は七の仮想アドレス部、12〜14はその実アドレス
部であるが、実アドレス部12はページサイズが半分の
サイズになると仮想アドレス部となる。
In FIG. 1, 1 is an address register of a logical address which is a request address for accessing the main memory;
1 is the virtual address part of 7, and 12 to 14 are the real address parts thereof, but the real address part 12 becomes the virtual address part when the page size becomes half the size.

以後、ページサイズが半分のサイズになったときの動作
について説明する。
Hereinafter, the operation when the page size is reduced to half will be explained.

第2図は、本発明によるキャッシュ記憶方式を実現する
一夾施例を示すブロック図である。wL2図において、
lはアドレスレジスタ、2は連想メモリ、3はキャッシ
ュディレクトリ、4はキャッシュ記憶、5〜8はそれぞ
れANDゲート、9はORゲート、】0は7リツプフロ
ツプ、20゜21はそれぞれ比較回路である。
FIG. 2 is a block diagram showing one embodiment of the cache storage method according to the present invention. In the wL2 diagram,
1 is an address register, 2 is an associative memory, 3 is a cache directory, 4 is a cache memory, 5 to 8 are AND gates, 9 is an OR gate, ]0 is a 7 lip-flop, and 20.degree. and 21 are comparison circuits, respectively.

第2図において、アドレスレジスタ1の内容12.13
はそれぞれ中ヤツ75−記憶4とキャッシュディレクト
リ3とをアクセスするためのものであシ、内容14はキ
ャッシュ記憶4の単位ブロック内のデータを指定するの
に使用される。連想メモリ2には、高速にアドレス変換
をするため、論理アドレスと仮想アドレスとの対応の一
部が登録されている。連想メモリ2から読出された実ア
ドレスの最下位ビット210は、信号ff1J150上
の1/2ペ一ジサイズモード個号とともに、ANDゲー
ト5に加えられて論理積が求められる。これによって、
所定のページサイズのときには、信号線21G上の最下
位ビット210は無視される。
In Figure 2, the contents of address register 1 12.13
are for accessing the middle guy 75-memory 4 and the cache directory 3, respectively, and the content 14 is used to specify data within a unit block of the cache storage 4. In the associative memory 2, a part of the correspondence between logical addresses and virtual addresses is registered in order to perform address conversion at high speed. The least significant bit 210 of the real address read from the associative memory 2 is added to the AND gate 5 together with the 1/2 page size mode number on the signal ff1J150 to obtain a logical product. by this,
For a given page size, the least significant bit 210 on signal line 21G is ignored.

キャッシュディレクトリ3には、キャッシュ記憶4に格
納されている単位データブロックに対応する主記憶アド
レスの一部が保持されている。キャッシュアクセスにお
いてキャッシュディレクトリ3を参照することによシ、
キャッシュ記憶4に有効なデータがあるか否かを知るこ
とができる。
The cache directory 3 holds a portion of main memory addresses corresponding to unit data blocks stored in the cache memory 4. By referring to the cache directory 3 during cache access,
It is possible to know whether or not there is valid data in the cache memory 4.

単位データブロックは、主記憶からキャッシュ記憶4ヘ
データを転送するときの転送巣位である。
The unit data block is a transfer point when data is transferred from the main memory to the cache memory 4.

信号線150上の1/2ベ一ジモード佃号に応じてAN
Dゲート6〜8と、ORゲート9とによυ、キャッシュ
ディレクトリ3およびキャッシュ記憶4をアクセスする
アドレスが決定される。すなわち、所定ページサイズの
ときにはアドレス12.13が使用され、半分ページサ
イズのときlこけフリップフロップ10に保持されてい
る値とアドレス】3とが使用される。信号線120上の
キャッシュミスヒツト信号により、クリップフロップ】
0に保持されている値が反転する。
AN according to the 1/2 vege mode code on the signal line 150
D gates 6 to 8 and OR gate 9 determine the address for accessing cache directory 3 and cache storage 4. That is, when the page size is a predetermined size, addresses 12 and 13 are used, and when the page size is half, the value held in the flip-flop 10 and the address 3 are used. The cache miss signal on signal line 120 causes the clip-flop to
Values held at 0 are inverted.

要求元からアドレスレジスタ1の論理アドレス番こよっ
てデータが要求されていると、仮想アドレス部11の一
部分は信号線220上に送出され、連想メモリ2がアク
セスされて信号線221上に送出されている仮想アドレ
ス部11の残シと、連想メモリ2から読出された仮想ア
ドレス部211とが比較回路20によって比較される。
When a request source requests data based on the logical address number of the address register 1, a part of the virtual address section 11 is sent onto the signal line 220, the associative memory 2 is accessed, and the data is sent onto the signal line 221. The comparator circuit 20 compares the remainder of the virtual address section 11 with the virtual address section 211 read from the associative memory 2 .

上記両者が一致したならば信号線11G上のTLBヒツ
トが送出される。両者が一致しなかったときには、アド
レス変換手段によシ仮想アドレス部12は実アドレスに
変換され、論理アドレスの一部とともに連想メモリ2へ
登録される。
If both of the above match, a TLB hit on the signal line 11G is sent. If the two do not match, the virtual address section 12 is converted into a real address by the address conversion means and registered in the associative memory 2 together with a part of the logical address.

クリップフロップ10に保持されている値と、実アドレ
ス13とによって中ヤツクユディレクトリ3がアクセス
される。そこで、信号線230上に読出された実アドレ
スと、連想メモリ2から信号線231上に読出された実
アドレスとが比較回路21によって比較される。両者が
一致したならば、中ヤツシュ記憶4から必要なデータが
読出され、信号線】40を介して要求元へ送出される。
The intermediate directory 3 is accessed using the value held in the clip flop 10 and the real address 13. Therefore, the real address read onto the signal line 230 and the real address read onto the signal line 231 from the associative memory 2 are compared by the comparison circuit 21. If the two match, the necessary data is read from the intermediate memory 4 and sent to the request source via the signal line 40.

両者が一致しなかったならばキャッシュミスヒツトとな
シ、信号線120上の中ヤツシュミスヒット信号によシ
クリップ70ツブ10に保持されている値を反転させる
。再度、7リツグフロツプ10の値と実アドレス13と
によ〕キャッシュディレクトリ3がアクセスされる。同
時に、主記憶に対しても信号線231上の実アドレスと
アドレス部13とによシアクセスされる。
If they do not match, there is a cache miss, and the value held in the cache clip 70 block 10 is inverted by the intermediate cache miss hit signal on the signal line 120. Once again, the cache directory 3 is accessed using the value of the 7-rig flop 10 and the real address 13. At the same time, the main memory is also accessed by the real address on the signal line 231 and the address section 13.

2回目のキャッシュアクセスでも中ヤッシュミスヒット
となると、主記憶から信号線130を介して信号線24
0へ単位データブロックが転送され、必要なデータが信
号線140を介して要求元へ送出される。同時に、キャ
ッシュ記憶4上の該当するブロックへ上記データが登録
される。この場合、キャッシュミスヒツトであってもク
リップフクツプ10に保持されている値は反転しない。
If the cache miss occurs during the second cache access, the signal is sent from the main memory via the signal line 130 to the signal line 24.
The unit data block is transferred to 0, and the necessary data is sent to the request source via signal line 140. At the same time, the above data is registered in the corresponding block on the cache memory 4. In this case, even if there is a cache miss, the value held in the clip hoop 10 is not inverted.

2回目のキャッシュアクセスでキャツシュヒツトとなる
と、主記憶に対するアクセスは直ちにキャンセルされ、
キャッシュ記憶4から信号線】40を介して必要なデー
タが要求元へ送出される。キャンセルアクセスiこ比べ
て主記憶アクセスの方が長時間を要するので、2回目の
キャツシュヒツトで主記憶へのアクセスをキャンセルで
きる。
If a cache hit occurs on the second cache access, the access to main memory is immediately canceled.
Necessary data is sent from the cache memory 4 to the request source via the signal line 40. Since main memory access takes a longer time than cancel access, access to main memory can be canceled by the second access.

(発明の効果) 以上説明したように本発明は、キャッシュ記憶とキャッ
シュディレクトリとをアクセスする場合に、ページサイ
ズが所定のサイズであるか、あるいは半分のサイズであ
るかにより連想メモリから読出された実アドレスの最下
位ビットを無効、または有効にし、連想メモリから読出
された実アドレスとキャッシュディレクトリから読出さ
れた実アドレスとを比較し、比較結果が不一致のときに
は保持されている値を反転させ、キャッシュ記憶と守ヤ
ツシュディレクトリとをアクセスするアドレスの最上位
ビットとして、ページサイズが半分のサイズのときには
上記保持されている値を用いることによシ、ある特定の
ページサイズに最適なよう1こ構成されたキャッシュ記
憶でページサイズが半分になっても、全容量のキャッシ
ュ記憶を有効に使用し、システム効率の低下を防ぐこと
ができるという効果がある。
(Effects of the Invention) As explained above, the present invention provides that when accessing a cache memory and a cache directory, the page size is read from the associative memory depending on whether the page size is a predetermined size or half the size. Disable or enable the least significant bit of the real address, compare the real address read from the associative memory with the real address read from the cache directory, and invert the held value if the comparison result does not match; When the page size is half the size, the value stored above can be used as the most significant bit of the address for accessing the cache memory and the guard directory. Even if the page size is halved with the configured cache storage, the full capacity of the cache storage can be used effectively and system efficiency can be prevented from decreasing.

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

第1図は、ページサイズが半分のサイズのときの論理ア
ドレスを示す説明図である。 第2図は、本発明による千ヤツ7ユ記憶方式を実現する
一実施例を示すブロック図である。 】1111・アドレスレジスタ 2・・Φ連想メモリ 3・・・キャッシュディレクトリ 4彎拳II+?ヤツシユ記憶 S〜8・・・ANDゲート 9・拳・ORゲート 10・・・フリップ70ツブ 11〜14・・・アドレス部 20.21−・・比較回路
FIG. 1 is an explanatory diagram showing logical addresses when the page size is half the size. FIG. 2 is a block diagram showing an embodiment of the 1,000-by-7 storage method according to the present invention. ]1111・Address register 2・・ΦAssociative memory 3・Cache directory 4 Keiken II+? Yatsushi memory S~8...AND gate 9, fist, OR gate 10...Flip 70 knobs 11-14...Address section 20.21-...Comparison circuit

Claims (1)

【特許請求の範囲】[Claims] ブロック単位にデータを格納するためのキャッシュ記憶
と、前記キャッシュ記憶に格納されている単位データブ
ロックに対応する主記憶アドレスの一部を保持するため
のキャッシュディレクトリと、主記憶をアクセスするた
めの要求アドレスである論理アドレスを格納するための
アドレスレジスタと、前記論理アドレスと主記憶上の実
アドレスとの対応の一部を登録するための連想メモリと
、前記キャッシュ記憶、前記キャッシュディレクトリ、
および前記連想メモリを並行して参照し、前記論理アド
レスのなかのアドレス変換対象とならない実アドレス部
で前記キャッシュ記憶および前記キャッシュディレクト
リをアクセスするためのアクセス手段と、ページサイズ
が所定のページサイズか、あるいは半分のページサイズ
かにより前記連想メモリから読出された実アドレスの最
下位ビットを無効、または有効にするための有効/無効
選択手段と、前記連想メモリから読出された実アドレス
と前記キャッシュディレクトリから読出された実アドレ
スを比較するための比較手段と、前記比較手段の比較結
果が不一致のときには保有している値を反転させるため
のフリップフロップと、前記キャッシュ記憶および前記
キャッシュディレクトリをアクセスするアドレスの最上
位ビットにページサイズが前記所定のページサイズのと
きには前記論理アドレスのなかの実アドレス部の最上位
ビットを用い、前記半分のページサイズのときには前記
フリップフロップによつて保持されている値を用いるた
めのビット選択手段とを具備して構成したことを特徴と
するキャッシュ記憶方式。
A cache memory for storing data in block units, a cache directory for holding a part of the main memory address corresponding to the unit data block stored in the cache memory, and a request for accessing the main memory. an address register for storing a logical address that is an address; an associative memory for registering a part of the correspondence between the logical address and a real address on the main memory; the cache storage; the cache directory;
and access means for referencing the associative memory in parallel and accessing the cache storage and the cache directory using a real address part of the logical address that is not subject to address translation, and a page size that is a predetermined page size. or a half page size, valid/invalid selection means for invalidating or validating the least significant bit of the real address read from the content addressable memory, and the real address read from the content addressable memory and the cache directory. a comparison means for comparing real addresses read from the memory; a flip-flop for inverting a held value when the comparison result of the comparison means does not match; and an address for accessing the cache memory and the cache directory. When the page size is the predetermined page size, the most significant bit of the real address portion of the logical address is used as the most significant bit of the page size, and when the page size is half the page size, the value held by the flip-flop is used. 1. A cache storage system comprising: bit selection means for use.
JP61238720A 1986-10-07 1986-10-07 Cache memory system Pending JPS6393058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61238720A JPS6393058A (en) 1986-10-07 1986-10-07 Cache memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61238720A JPS6393058A (en) 1986-10-07 1986-10-07 Cache memory system

Publications (1)

Publication Number Publication Date
JPS6393058A true JPS6393058A (en) 1988-04-23

Family

ID=17034258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61238720A Pending JPS6393058A (en) 1986-10-07 1986-10-07 Cache memory system

Country Status (1)

Country Link
JP (1) JPS6393058A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03248246A (en) * 1990-02-27 1991-11-06 Hitachi Ltd Cache memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03248246A (en) * 1990-02-27 1991-11-06 Hitachi Ltd Cache memory

Similar Documents

Publication Publication Date Title
KR920005280B1 (en) High speed cache system
US3761881A (en) Translation storage scheme for virtual memory system
US4317168A (en) Cache organization enabling concurrent line castout and line fetch transfers with main storage
EP0036110A2 (en) Cache addressing mechanism
JPH0137773B2 (en)
JPH03142644A (en) Cache memory control system
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US5390312A (en) Access look-aside facility
JPH0550776B2 (en)
JPH0371355A (en) Apparatus and method for retrieving cache
JPH0519176B2 (en)
US5386530A (en) Address translation device capable of obtaining a real address from a virtual address in a shorter time
JPS6393058A (en) Cache memory system
JPH0695967A (en) Data processor
JPH055137B2 (en)
JPS623354A (en) Cache memory access system
JP2501353B2 (en) Prefetch control method
JPH01193961A (en) Address converting device
JPH03110648A (en) Data processing system
JPH02101552A (en) Address conversion buffer processing system
JPH05314009A (en) Multiprocessor system
JPH01149153A (en) Address converting index mechanism invalidating device
JPH04205535A (en) Copy on write system
JPH01161554A (en) Address converting buffer controlling system
JPH10105458A (en) Cache memory system