JPH0514292B2 - - Google Patents
Info
- Publication number
- JPH0514292B2 JPH0514292B2 JP58173792A JP17379283A JPH0514292B2 JP H0514292 B2 JPH0514292 B2 JP H0514292B2 JP 58173792 A JP58173792 A JP 58173792A JP 17379283 A JP17379283 A JP 17379283A JP H0514292 B2 JPH0514292 B2 JP H0514292B2
- Authority
- JP
- Japan
- Prior art keywords
- resident area
- area
- address
- resident
- tag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000001514 detection method 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
(1) 発明の技術分野
本発明はキヤツシユメモリの中を常駐領域と非
常駐領域とに分割し、しかも常駐領域は主メモリ
と1対1に対応させることによりTAG情報をも
たせることなく、非常駐領域のみTAG情報をも
たせたキヤツシユ制御方式に関するものである。[Detailed Description of the Invention] (1) Technical Field of the Invention The present invention divides a cache memory into a resident area and a non-resident area, and furthermore, the resident area is made to have a one-to-one correspondence with the main memory, thereby storing TAG information. This relates to a cache control method in which TAG information is provided only in the non-resident area, without providing TAG information.
(2) 従来技術と問題点
従来、キヤツシユメモリは主メモリに対して多
用する命令またはデータを保持しておき、主メモ
リに代り直接高速アクセスする機能をもつ。(2) Prior Art and Problems Conventionally, cache memory has the function of storing frequently used instructions or data in main memory and directly accessing them at high speed in place of main memory.
キヤツシユメモリはTAG情報を用いて主メモ
リとの間でデータの授受が行なわれる。キヤツシ
ユメモリはマイクロ命令の使用形態から使用頻度
の高いエリアは常にキヤツシユ上に置かないと性
能低下が大きくなつてしまう。従つてキヤツシユ
メモリを常駐領域と非常駐領域とに分割する必要
が生じる。この場合、常駐領域に対してはキヤツ
シユメモリと主メモリを1対1に対応させること
により、TAG情報が不要となり、非常駐領域に
対応するTAG情報のみとしてハード量を減少さ
せている。しかしこの場合、主メモリからキヤツ
シユメモリに初期ロードが行なわれたか否かを判
定する手段や、ある領域を無効にしたい場合の手
段が問題となる。これに対してはTAG情報内に
有効か無効かを示すバリツドビツトを設けること
により対処している。なお、常駐領域はTAG情
報をもたないから別途提案が行なわれている。し
かし、TAG情報中にバリツドビツトをもたせる
ことなしに同等の機能を得ることはハードウエア
量を減少させる効果がある。 Data is exchanged between the cache memory and the main memory using TAG information. Because of the way microinstructions are used in cache memory, if frequently used areas are not always placed on the cache, the performance will deteriorate significantly. Therefore, it becomes necessary to divide the cache memory into a permanent area and a non-resident area. In this case, by providing a one-to-one correspondence between the cache memory and the main memory for the resident area, TAG information is no longer necessary, and the amount of hardware is reduced by providing only TAG information corresponding to the non-resident area. However, in this case, the problem is how to determine whether an initial load has been performed from the main memory to the cache memory, and how to invalidate a certain area. This is dealt with by providing a valid bit in the TAG information to indicate whether it is valid or invalid. Note that since the resident area does not have TAG information, a separate proposal has been made. However, obtaining the same functionality without including valid bits in the TAG information has the effect of reducing the amount of hardware.
(3) 発明の目的
本発明の目的は、キヤツシユメモリ中を常駐領
域と非常駐領域とに分割し、かつTAG情報を非
常駐領域に対応するもののみをもたせたキヤツシ
ユ制御方式において、TAG情報内にバリツドビ
ツトを設けることなく、非常駐領域のある領域が
有効か無効かを容易に判定することのできるキヤ
ツシユ制御方式を提供することである。(3) Purpose of the Invention The purpose of the present invention is to provide a cache control method in which a cache memory is divided into a resident area and a non-resident area, and TAG information is provided only for the non-resident area. To provide a cache control system that can easily determine whether a certain area of a non-resident area is valid or invalid without providing a valid bit.
(4) 発明の構成
前記目的を達成するため、本発明のキヤツシユ
制御方式はキヤツシユメモリの中を常駐領域と非
常駐領域とに分割し、該常駐領域と非常駐領域と
の大きさを同一として、両領域のアドレスの下位
が等しくなるようにし、かつ常駐領域のアドレス
配列を主メモリの対応する特定領域のアドレス配
列と同一とすることにより、常駐領域については
TAG情報を不要とし、非常駐領域についてのみ
TAG情報をもたせたキヤツシユ制御方式におい
て、
上記非常駐領域についてのTAG情報の中に含
まれるアドレス情報が常駐領域に対応する主メモ
リの特定領域のアドレスの上位所定ビツト部分と
一致する場合には当該非常駐領域を無効とし、非
常駐領域に対応する主メモリの領域のアドレスの
上位所定ビツト部分と一致する場合には当該非常
駐領域を有効と判定することを特徴とするもので
ある。(4) Structure of the Invention In order to achieve the above object, the cache control method of the present invention divides the cache memory into a resident area and a non-resident area, and sets the size of the resident area and the non-resident area to be the same. By making the lower addresses of both areas equal and by making the address array of the resident area the same as the address array of the corresponding specific area of main memory,
No need for TAG information, only for non-resident areas
In a cache control system that includes TAG information, if the address information included in the TAG information for the non-resident area matches the upper predetermined bit part of the address of a specific area of the main memory that corresponds to the resident area, the non-resident area The non-resident area is invalidated, and if the address matches the predetermined upper bit part of the address of the main memory area corresponding to the non-resident area, the non-resident area is determined to be valid.
(5) 発明の実施例 第1図は本発明の原理説明図である。(5) Examples of the invention FIG. 1 is a diagram explaining the principle of the present invention.
同図は、キヤツシユメモリ2における常駐領域
21と非常駐領域22の配分と、データを授受(ム
ーブイン/ムーブアウト)する主メモリ1の構成
と、TAG3の構成を実例について示したもので
ある。すなわち、キヤツシユメモリ2において、
アドレス(#8−#15)=0016(#8−#15ビツト
が16進表示でオール0を意味する)の時を常駐領
域に対応させ、(#8−#15)≠0016の時を非常
駐領域に対応させ、かつ両領域の配分を等分とす
る。そして、16進表示で主メモリ1のアドレス
“0000〜FFFF”の64Kバイト領域は、キヤツシ
ユメモリ2の常駐領域21へ初期ロードされた後
はムーブアウトされず常にキヤツシユメモリ上に
存在する。また主メモリ1のアドレス10000〜
FFFFFFについては、従来のキヤツシユ方式ま
たはバツフア方式と同様に制御され、非常駐領域
22で定義される64Kバイトの領域へ各ブロツク
32バイト単位でムーブイン/ムーブアウトされ、
この場合主メモリ1とキヤツシユメモリの間で
TAGメモリ3の情報によりアドレスの確認が行
なわれる。 The figure shows an actual example of the distribution of the resident area 2 1 and non-resident area 2 2 in the cache memory 2, the configuration of the main memory 1 for exchanging data (move-in/move-out), and the configuration of the TAG 3. . That is, in the cache memory 2,
Address (#8-#15) = 00 16 (bits #8-#15 mean all 0 in hexadecimal notation) corresponds to the resident area, and when (#8-#15) ≠ 00 16 corresponds to the non-resident area, and the distribution of both areas is made equal. The 64K byte area at addresses "0000 to FFFF" in main memory 1 in hexadecimal notation is not moved out after it is initially loaded into the resident area 21 of cache memory 2 and always exists in the cache memory. . Also, address 10000 of main memory 1
FFFFFF is controlled in the same way as the conventional cache method or buffer method, and each block is transferred to the 64K byte area defined in the non-resident area 2 .
Move in/move out in 32 byte units,
In this case, between main memory 1 and cache memory
The address is confirmed based on the information in the TAG memory 3.
ここで、従来TAGメモリ3には、前述のよう
に、TAGの有効か無効かを示すバリツドビツト
を設け、主メモリからキヤツシユメモリ2に初期
ロードが行なわれたか否かを判定し、またあるブ
ロツクを無効にしたい場合に用いていたが、本発
明では上記のように、キヤツシユメモリ2を常駐
領域と非常駐領域とに等分割した構成から得られ
るアドレスの関係を利用することにより、このバ
リツドビツトを削除したものである。 Here, as mentioned above, the conventional TAG memory 3 is provided with a valid bit indicating whether the TAG is valid or invalid, and it is determined whether or not an initial load has been performed from the main memory to the cache memory 2, and when a certain block is loaded. However, in the present invention, as described above, by utilizing the address relationship obtained from the configuration in which the cache memory 2 is equally divided into a resident area and a non-resident area, this valid bit can be invalidated. It has been deleted.
すなわち、非常駐領域へロードされる領域は常
にアドレス(#8−#15)=0116−FF16となり、
0016は存在しない。そこで非常駐領域に対応する
TAG情報中に0016を除外したキヤツシユメモリ
中の非常駐領域に対応する(#8−#15)=0116
−FF16の何れかをもたせ、アクセス時の入力ア
ドレスとTAG情報中の(#8〜#15)との一致
を検出することにより、TAG情報中にバリツド
ビツト(V0)を設けないでもこれを設けたと同
等の効果を得るようにしたものである。この理由
は、TAG情報の主メモリに対応する領域がバリ
ツドであれば、(#8〜#15)が(0116〜FF16)
以外とはならないから、これを検出すればバリツ
ドビツトV0と同じ機能を果すことができる。そ
して、主メモリの対応する領域をインバリツド
(無効)にしたいときは、TAG情報の(#8〜
#15)を0016として前記検出が必ず不一致となる
ようにしたものである。 In other words, the area loaded into the non-resident area is always at address (#8-#15) = 01 16 - FF 16 ,
00 16 does not exist. Therefore, it corresponds to the non-resident area.
Corresponds to the non-resident area in the cache memory excluding 00 16 in TAG information (#8-#15) = 01 16
-FF 16 , and by detecting a match between the input address at the time of access and (#8 to #15) in the TAG information, this can be done without providing a valid bit (V 0 ) in the TAG information. It is designed to achieve the same effect as if it were installed. The reason for this is that if the area corresponding to the main memory of TAG information is valid, (#8 to #15) will be (01 16 to FF 16 )
If this is detected, it can perform the same function as the valid bit V0 . If you want to invalidate the corresponding area in main memory, use the TAG information (#8~
#15) is set to 00 16 so that the detection always results in a mismatch.
第2図は上述の原理に従う本発明の実施例の構
成説明図である。 FIG. 2 is an explanatory diagram of the configuration of an embodiment of the present invention according to the above-described principle.
同図において、キヤツシユメモリ2は第1図で
説明したように、常駐領域21と非常駐領域22と
に等分割する。TAGメモリ3はキヤツシユメモ
リ2の非常駐領域22の各ブロツクに対応する
TAG情報としてキヤツシユメモリの非常駐領域
のアドレス情報(#8〜#15)および常駐領域の
バリツトビツトV1を用意する。従来、これに加
えて対応する非常駐領域のブロツクが有効か無効
かを示すバリツトビツトV0を有したが、本発明
では除去する。なおP0,P1はパリテイビツトで
あり、P0はアドレスの8〜15ビツトのパリテイ、
P1はV1についてのパリテイである。 In the figure, the cache memory 2 is equally divided into a permanent area 2 1 and a non-resident area 2 2 as explained in FIG. TAG memory 3 corresponds to each block in non-resident area 22 of cache memory 2.
The address information (#8 to #15) of the non-resident area of the cache memory and the variable bit V1 of the permanent area are prepared as TAG information. Conventionally, in addition to this, there was a variable bit V0 indicating whether the block in the corresponding non-resident area was valid or invalid, but this is removed in the present invention. Note that P 0 and P 1 are parity bits, and P 0 is the parity of 8 to 15 bits of the address.
P 1 is parity with respect to V 1 .
これらのキヤツシユメモリ2とTAG3に対し、
それぞれアドレスレジスタ10の上位ビツト
(#8−#15)と下位ビツト(#16−#29)によ
り同時にアクセスする。すなわち、上位アドレス
(#8−#15)を領域判定回路11に入れ、=
(00)16(#8−#15がオール0)であれば常駐領
域と判定し、≠(00)16(#8〜#15がオール0で
ない)ならば非常駐領域と判定する。そして下位
アドレス(#16−#29)の14ビツトの頭に前者に
対し“0”を付し後者に対し“1”を付して15ビ
ツトとして、キヤツシユメモリ2をアクセスす
る。先頭ビツトにより、“0”ならば上部の常駐
領域21から、“1”ならば下部の非常駐領域22
から所定の4バイトのリードデータを出力する。
一方、アドレスレジスタ10からの必要なアドレ
スビツト(#16−#26)をTAGメモリ3に入れ、
アクセスにより読出されたTAG情報内のアドレ
ス情報(#8−#15)がアドレスレジスタの上位
アドレス(#8−#15)と一致すると、非常駐領
域22のキヤツシユの有効性が確認される。 For these cache memories 2 and TAG 3,
They are accessed simultaneously by the upper bits (#8-#15) and lower bits (#16-#29) of the address register 10, respectively. That is, put the upper address (#8-#15) into the area determination circuit 11, and =
If (00) 16 (#8 to #15 are all 0), it is determined to be a resident area, and if ≠ (00) 16 (#8 to #15 are not all 0), it is determined to be a non-resident area. Then, the cache memory 2 is accessed by adding "0" to the beginning of the 14 bits of the lower address (#16-#29) and adding "1" to the latter to make 15 bits. Depending on the first bit, if it is “0”, it starts from the upper permanent area 2 1 , and if it is “1”, it starts from the lower non-resident area 2 2
Outputs predetermined 4-byte read data from.
On the other hand, put the necessary address bits (#16-#26) from address register 10 into TAG memory 3,
When the address information (#8-#15) in the TAG information read by the access matches the upper address (#8-#15) of the address register, the validity of the cache in the non-resident area 22 is confirmed.
そして、TAG情報内の(#8〜#15)がアド
レスレジスタの(#8〜#15)と不一致のとき
は、キヤツシユメモリ2の非常駐領域22の対応
する領域はインバリツドであることを示す。 If (#8 to #15) in the TAG information does not match (#8 to #15) in the address register, it indicates that the corresponding area in non-resident area 22 of cache memory 2 is invalid. .
(6) 発明の効果
以上説明したように、本発明によれば、キヤツ
シユメモリの非常駐領域に対応するTAG情報中
にキヤツシユメモリ中の非常駐領域に対応するア
ドレス情報をもたせ、アクセス時のアドレスと
TAG情報中のアドレスとの一致を検出すること
により、非常駐領域が有効か無効かをTAG情報
中にバリツドビツトを設けることなく容易に判定
できる。これによりTAGメモリ量を有効に減少
するのに役立つものである。(6) Effects of the Invention As explained above, according to the present invention, address information corresponding to a non-resident area in the cache memory is included in TAG information corresponding to the non-resident area in the cache memory, and the address at the time of access is and
By detecting a match with the address in the TAG information, it is possible to easily determine whether the non-resident area is valid or invalid without providing valid bits in the TAG information. This helps to effectively reduce the amount of TAG memory.
第1図は本発明の原理説明図、第2図は本発明
の実施例の構成説明図であり、図中、1は主メモ
リ、2はキヤツシユメモリ、21は常駐領域、22
は非常駐領域、3はTAGメモリ、31はブロツク
対応領域、10はアドレスレジスタ、11は領域
判定回路、12は比較回路を示す。
FIG. 1 is an explanatory diagram of the principle of the present invention, and FIG. 2 is an explanatory diagram of the configuration of an embodiment of the present invention. In the figure, 1 is a main memory, 2 is a cache memory, 2 1 is a resident area, and 2 2
3 is a non-resident area, 3 is a TAG memory, 31 is a block corresponding area, 10 is an address register, 11 is an area determination circuit, and 12 is a comparison circuit.
Claims (1)
域とに分割し、該常駐領域と非常駐領域との大き
さを同一として、両領域のアドレスの下位が等し
くなるようにし、かつ常駐領域のアドレス配列を
主メモリの対応する特定領域のアドレス配列と同
一とすることにより、常駐領域についてはTAG
情報を不要とし、非常駐領域についてのみTAG
情報をもたせたキヤツシユ制御方式において、 上記非常駐領域についてのTAG情報の中に含
まれるアドレス情報が常駐領域に対応する主メモ
リの特定領域のアドレスの上位所定ビツト部分と
一致する場合には当該非常駐領域を無効とし、非
常駐領域に対応する主メモリの領域のアドレスの
上位所定ビツト部分と一致する場合には当該非常
駐領域を有効と判定することを特徴とするキヤツ
シユ制御方式。[Scope of Claims] 1. A cache memory is divided into a resident area and a non-resident area, the size of the resident area and the non-resident area are made the same, and the lower addresses of both areas are made equal, and By making the address array of the resident area the same as the address array of the corresponding specific area of the main memory, TAG
No information required, TAG only for non-resident areas
In the cache control method with information, if the address information included in the TAG information for the non-resident area matches the upper predetermined bit part of the address of a specific area of the main memory corresponding to the resident area, the non-resident area is A cache control system characterized in that the non-resident area is determined to be invalid if the non-resident area matches a predetermined upper bit part of the address of the main memory area corresponding to the non-resident area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58173792A JPS6065358A (en) | 1983-09-20 | 1983-09-20 | Cache control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58173792A JPS6065358A (en) | 1983-09-20 | 1983-09-20 | Cache control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6065358A JPS6065358A (en) | 1985-04-15 |
JPH0514292B2 true JPH0514292B2 (en) | 1993-02-24 |
Family
ID=15967236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58173792A Granted JPS6065358A (en) | 1983-09-20 | 1983-09-20 | Cache control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6065358A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS559201A (en) * | 1978-06-30 | 1980-01-23 | Fujitsu Ltd | Buffer memory control system |
JPS5619571A (en) * | 1979-07-23 | 1981-02-24 | Nec Corp | Buffer memory unit |
-
1983
- 1983-09-20 JP JP58173792A patent/JPS6065358A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS559201A (en) * | 1978-06-30 | 1980-01-23 | Fujitsu Ltd | Buffer memory control system |
JPS5619571A (en) * | 1979-07-23 | 1981-02-24 | Nec Corp | Buffer memory unit |
Also Published As
Publication number | Publication date |
---|---|
JPS6065358A (en) | 1985-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2004218704A1 (en) | Lazy flushing of translation lookaside buffers | |
JPH0137773B2 (en) | ||
US4731740A (en) | Translation lookaside buffer control system in computer or virtual memory control scheme | |
JP2818415B2 (en) | Buffer storage device | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
JPH0260012B2 (en) | ||
JPH0514292B2 (en) | ||
EP0224168A2 (en) | Buffer storage control system | |
EP0598570A2 (en) | Region configuration system and method for controlling memory subsystem operations by address region | |
JPS6329297B2 (en) | ||
JP2703255B2 (en) | Cache memory writing device | |
JPS6351296B2 (en) | ||
JPS5922315B2 (en) | Buffer memory control method | |
JPH024016B2 (en) | ||
JP3030037B2 (en) | Main storage device | |
JP2564377B2 (en) | Information processing device with cache memory | |
JPH024017B2 (en) | ||
JPH02101552A (en) | Address conversion buffer processing system | |
JPS6135583B2 (en) | ||
JPS63127349A (en) | Microprocessor processing unit | |
JPH0512109A (en) | Cache memory system | |
JPS583175A (en) | Virtual storage controller | |
JPH01309153A (en) | Information processor | |
JPH0448263B2 (en) | ||
JPS638849A (en) | Chche memory control system |