JP3585349B2 - Information processing device with cache memory - Google Patents

Information processing device with cache memory Download PDF

Info

Publication number
JP3585349B2
JP3585349B2 JP23131297A JP23131297A JP3585349B2 JP 3585349 B2 JP3585349 B2 JP 3585349B2 JP 23131297 A JP23131297 A JP 23131297A JP 23131297 A JP23131297 A JP 23131297A JP 3585349 B2 JP3585349 B2 JP 3585349B2
Authority
JP
Japan
Prior art keywords
cache
state
tag
processor
information
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 - Fee Related
Application number
JP23131297A
Other languages
Japanese (ja)
Other versions
JPH1165926A (en
Inventor
康智 桜井
徹 渡部
真俊 道園
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23131297A priority Critical patent/JP3585349B2/en
Publication of JPH1165926A publication Critical patent/JPH1165926A/en
Application granted granted Critical
Publication of JP3585349B2 publication Critical patent/JP3585349B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はキャッシュメモリを備えた情報処理装置に関する。
【0002】
【従来の技術】
12はキャッシュメモリを備えた情報処理装置の構成を示す図である。同図において、10は主記憶装置であり、主記憶装置10には共通バスを介して複数の処理装置11−1〜11−nが接続されており、主記憶装置は複数の処理装置11−1〜11−nにより共用される。処理装置11−1〜11−nはそれぞれ、主記憶制御装置11a、キャッシュメモリ11c、プロセッサ11bから構成される。
【0003】
以下、図12に示したキャッシュメモリを備えた情報処理装置における従来技術について説明する。
(1)図13は従来のキャッシュメモリ(以下キャッシュという)の構成を示す図である。
同図において、21はプロセッサ、22は主記憶装置のアドレス情報を保持するタグ部(以下TAGという)であり、TAG22はタグデータの有効/無効を示すフラグを格納するフラグ部22aを備えている。
また、23はバッファメモリ、24はヒット判定回路、25はタグライト制御部である。
【0004】
メモリへのリード・アクセス時、プロセッサ21がアドレス情報を送出すると下位アドレスによりTAG22、バッファメモリ23がアクセスされるとともに、上位アドレスとTAG22の上位アドレスがヒット判定回路24で比較される。比較結果が一致し有効/無効フラグが有効であると、有効なデータがキャッシュに存在するので、プロセッサ21が送出する下位アドレスのデータがバッファメモリ23から読み出され、プロセッサに送出される。また、比較結果が不一致であるか、有効/無効フラグが無効の場合には、図12に示した主記憶装置10がアクセスされ、リードデータがキャッシュ11cに入力され、また、所望のデータがプロセッサ21に送出される。
【0005】
上記のように、通常、キャッシュのTAGには、有効/無効フラグを保持する領域が設けられており、キャッシュと主記憶が不一致になると、当該アドレスの有効/無効フラグを無効化していた。
このため、従来のキャッシュにおいては、TAGデータの有効無効情報を保持する領域を設ける必要があり、その分記憶容量が増加した。
【0006】
(2)前記図12に示すキャッシュを持つ複数の処理装置が存在するシステムにおいては、通常、キャッシュの状態を処理装置が認識できるようにするため、各キャッシュ毎にこれらの状態を保持する領域が設けられる。
例えば、M(モディファイ)、O(オナー)、S(シェア)、I(インバリッド)の4状態を認識するには、図14(a)に示すように各キャッシュにMSビットとSSビットの2ビットを保持する領域を設ける必要があり、また、M、O、E(イクスクルーシブ)、S、Iの5状態を識別するには、図14(b)に示すようにVS、MS、SSの3ビットを保持する領域を必要とする。
以上のように、従来のキャッシュにおいては、処理装置のキャッシュの状態を認識するためのフラグを保持する領域を設ける必要があり、その分記憶容量が増加した。
【0007】
【発明が解決しようとする課題】
以上のように、従来のキャッシュメモリを備えた情報処理装置においては、キャッシュにタグデータの有効/無効を示すフラグを保持する領域や、処理装置のキャッシュの状態を識別するための領域を設ける必要があり、その分、メモリを余分に必要とした。
本発明は上記事情に鑑みなされたものであって、比較的少ないハード量の追加で、記憶容量を小さくし、ハード量を削減することができるキャッシュを備えた情報処理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
図1は本発明の原理構成図である
上記課題を解決するため、本発明の請求項の発明は、図に示すように、主記憶装置4と、プロセッサを具備する複数の処理装置1−1〜1−nを備え、該処理装置は、少なくともモディファイ/オーナー/シェア/インバリッドの4状態を有するキャッシュメモリとを備えた情報処理装置において、全処理装置の同一エントリのタグ情報を参照するキャッシュ状態認識回路5を設ける。該キャッシュ状態認識回路は、全処理装置のヒット情報およびモディファイ/シェア状態と、少なくともモディファイ/オーナー/シェア/インバリッドの4状態とを対応付ける真理値表を備え、タグ参照時、上記キャッシュ状態認識回路は、上記真理値表を参照して、全処理装置のヒット情報および上記モディファイ/シェア状態から、各処理装置のキャッシュメモリの状態を認識する。
本発明においては、上記のように構成したので、キャッシュの状態を示す情報を各処理装置のキャッシュが保持する必要がなく、記憶容量を小さくしハード量を減少させることができる。
【0009】
【発明の実施の形態】
図2はTAGデータの有効/無効を示すビットを不要にした構成例を示している。
図2において、前記図13に示したものと同一のものには同一の符号が付されており、本構成例においては、図13に示した有効/無効フラグを保持するフラグ部22aが設けられておらず、タグライト制御部25により切り換えられるセレクタ26が設けられている。そして、セレクタ26の一方の入力にはアドレスa11’1’(上位アドレス)が与えられ、他方の入力にプロセッサが出力する上位アドレスが与えられている。
ここで、上記アドレスa11’1’のメモリ空間は図3のメモリマップに示すように未使用とされ、ソフトからのアクセスを禁止している。
【0010】
同図において、メモリへのリード・アクセス時、プロセッサ21がアドレス情報を送出すると、下位アドレスによりTAG22、バッファメモリ23がアクセスされ、また、上位アドレスとTAG22の上位アドレスがヒット判定回路24で比較される。比較結果が一致すると、プロセッサ21が送出する下位アドレスのデータがバッファメモリ23から読み出され、プロセッサに送出される。
また、比較結果が不一致であると、前記図12に示した主記憶装置10がアクセスされ、リードデータがキャッシュメモリに入力され、所望のデータがプロセッサに送出される。また、TAG22の更新時には、タグライト制御部25により、プロセッサからの上位アドレスがTAG22に書き込まれる。
ここで、TAG22を無効化する場合には、タグライト制御部25はセレクタ26を切り換え、TAG22を未使用のアドレスa11’1’(上位アドレス)に更新する。
【0011】
そして、プロセッサ21からのTAG22の参照時、TAG22から上記アドレスa11’1’が読み出された場合、ソフトのアクセス制限によりプロセッサから送出される上位アドレスが上記アドレスa11’1’であることはないので、この場合には必ずミスヒットとなる。
すなわち、上記構成例においては、TAG22の無効化更新時、未使用の上位アドレスをTAG22に書き込むようにしており、これによりタグデータの有効/無効を示すフラグを設けることなく、TAG制御を行うことができる。
なお、上記において、TAG22を無効化する際、TAG22の更新アドレスをアドレスa11’1’としたが、このアドレスはソフトの取決めにより適宜選択することができ、上記アドレスに限定されない。
【0012】
図4は上記の構成において、TAG22を無効する際にTAG22に書き込むアドレスをプロセッサ21により設定できるようにしたものである。
同図において、図2に示したものと同一のものには同一の符号が付されており、この構成例においては、プロセッサ21から明示的にライトすることができる無効化データレジスタ27が設けられている。
そして、プロセッサ21はシステム初期化時、上記無効化データレジスタ27に図5のメモリマップに示す未使用の上位アドレスである無効化データを書き込む。
【0013】
TAG22を無効化する場合には、前記したようにタグライト制御部25はセレクタ26を切り換え、TAG22を上記無効化データレジスタ27に保持された未使用のアドレスに更新する。
したがって、TAG22を参照し、TAG22から上記未使用のアドレスが読み出された場合、必ずミスヒットとなる。すなわち、前記と同様、タグデータの有効/無効を示すフラグを設けることなく、TAG制御を行うことができる。
上記のように無効化データレジスタ27を設け、プロセッサ21から無効化データを書き込むことができるようにすることで、プログラム毎に無効化データを設定することができ、最適なTAG制御を実現することができる。
【0014】
図6、図7は本発明実施例のシステムの構成を示す図であり、本実施例は、キャッシュを備えた処理装置が複数存在するシステムにおいて、各キャッシュ毎に他プロセッサのキャッシュの情報を持つことなく他プロセッサのキャッシュ状態を認識できるようにした実施例を示している。
【0015】
図6は、各プロセッサ毎に他のプロセッサのキャッシュ状態を認識する実施例を示しており、図6において、41−1〜41−nはプロセッサであり、各プロセッサは、キャッシュのタグ部42と、ヒット判定回路43と、キャッシュ状態認識回路44を備えている。各プロセッサにおけるヒット情報、MS(モディファイ/シェア)ビットの状態は、相互に各プロセッサ41−1〜41−nのキャッシュ状態認識回路44に送られる。
図7は、キャッシュの状態を集中管理する実施例を示しており、42は各プロセッサのキャッシュのタグ部、43はヒット判定回路、44はキャッシュ状態認識回路であり、各ヒット情報、MSビットはキャッシュ状態認識回路44に送られ集中管理される。
【0016】
図8、図9は、キャッシュの状態がM/O/S/Iの4状態である場合のキャッシュ状態認識回路44の真理値表の一例であり、同図はプロセッサが3つの場合を示している。図8、図9において、M/O/S/Iはそれぞれ以下を意味する。
M:Modify(ダーティデータを唯一持っている)
O:Owner(ダーティデータを持っておりオーナーである)
S:Share(有効データを持っている)
I:Invalid(キャッシュデータ無効)
=:あり得ない状態
【0017】
キャッシュ状態認識回路44は自プロセッサと他プロセッサのヒット情報およびMSビットに基づき、図8、図9に示す真理値表により次のようにして各プロセッサのキャッシュの状態を認識する。そして、キャッシュ状態更新時には、上記真理値表によりMSビットに更新データをライトする。

Figure 0003585349
【0018】
例えば、図8の第1行に示すように、各プロセッサのヒット情報、MSビットが全て”0”の場合は、各プロセッサのキャッシュの状態はInvalidであり、また、図9の第1行に示すように、プロセッサ0のヒット情報が”1”、MSビットが”0”であり、他のプロセッサのヒット情報、MSビットが”0”の場合は、プロセッサ0のキャッシュはShareであり、他のプロセッサのキャッシュはInvalidである。
なお、図8、図9では、ヒット情報=1でMS=1のキャッシュが複数あることはないことが前提となっている。
【0019】
図10、図11は、キャッシュの状態がM/O/E/S/Iの5状態である場合のキャッシュ状態認識回路44の真理値表の一例であり、同図はプロセッサが3つの場合を示している。図10、図11において、M/O/E/S/Iはそれぞれ以下を意味する。
M:Modify(ダーティデータを唯一持っている)
O:Owner(ダーティデータを持っておりオーナーである)
E:Exclusive(クリーンデータを唯一持っている)
S:Share(有効データを持っている)
I:Invalid(キャッシュデータ無効)
=:あり得ない状態
【0020】
キャッシュ状態認識回路44は各プロセッサのヒット情報およびMSビットに基づき、図10、図11に示す真理値表により次にようにして各プロセッサのキャッシュの状態を認識する。そして、キャッシュ状態更新時には、上記真理値表によりMSビットに更新データをライトする。
Figure 0003585349
【0021】
なお、図10、図11では、ヒット情報=1でMS=1のキャッシュが複数あることはないことが前提となっている。
以上のように本実施例においては、キャッシュ状態認識回路44を設け、各プロセッサのキャッシュのヒット情報とMSビットからキャッシュの状態を認識しているので、各プロセッサのキャッシュに他プロセッサのキャッシュの状態を認識するための情報を持つ必要がなく、その分記憶容量を少なくすることができる。
【0022】
【発明の効果】
以上説明したように本発明においては主記憶装置と、プロセッサを具備する複数の処理装置を備え、処理装置は、少なくともモディファイ/オーナー/シェア/インバリッドの4状態を有するキャッシュメモリとを備えた情報処理装置において、全処理装置の同一エントリのタグ情報を参照するキャッシュ状態認識回路を設け、タグ参照時、全処理装置の同一エントリの上記モディファイ/シェア状態から、オーナー状態を認識するようにしたので、キャッシュの状態を示す情報を各処理装置のキャッシュが保持する必要がなく、記憶容量を小さくしハード量を減少させることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】TAGデータの有効/無効を示すビットを不要にした構成例を示す図である。
【図3】図2の例におけるメモリマップである。
【図4】図2においてプロセッサから明示的にライトすることができる無効化データレジスタを設けた例を示す図である。
【図5】図4の例におけるメモリマップである。
【図6】本発明実施例のシステムの構成(1)を示す図である。
【図7】本発明実施例のシステムの構成(2)を示す図である。
【図8】キャッシュの状態が4状態の場合の真理値表の一例を示す図である。
【図9】キャッシュの状態が4状態の場合の真理値表の一例を示す図(続き)である。
【図10】キャッシュの状態が5状態の場合の真理値表の一例を示す図である。
【図11】キャッシュの状態が5状態の場合の真理値表の一例を示す図(続き)である。
【図12】キャッシュメモリを備えた情報処理装置の構成を示す図である。
【図13】キャッシュメモリを備えた処理装置の従来例を示す図である。
【図14】複数の処理装置を備えた情報処理装置におけるキャッシュ状態認識の従来例を示す図である。
【符号の説明】
1,1−1〜1−n プロセッサ
2a タグ部
2b データ部
2c ヒット判定回路
3 レジスタ
4 主記憶装置
5 キャッシュ状態認識回路
21 プロセッサ
22 タグ部
22b フラグ部
23 バッファメモリ
24 タグライト制御部
25 ヒット判定回路
27 無効化データレジスタ
41−1〜41−n プロセッサ
42 キャッシュ
43 ヒット判定回路
44 キャッシュ状態認識回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing device provided with a cache memory.
[0002]
[Prior art]
FIG. 12 is a diagram illustrating a configuration of an information processing apparatus including a cache memory. In FIG. 1, reference numeral 10 denotes a main storage device, and a plurality of processing devices 11-1 to 11-n are connected to the main storage device 10 via a common bus. Shared by 1-11-n. Each of the processing devices 11-1 to 11-n includes a main storage control device 11a, a cache memory 11c, and a processor 11b.
[0003]
Hereinafter, a conventional technique in an information processing apparatus including the cache memory illustrated in FIG. 12 will be described.
(1) FIG. 13 is a diagram showing a configuration of a conventional cache memory (hereinafter referred to as a cache).
In the figure, reference numeral 21 denotes a processor, 22 denotes a tag unit (hereinafter, referred to as TAG) for holding address information of a main storage device, and TAG 22 includes a flag unit 22a for storing a flag indicating valid / invalid of tag data. .
23 is a buffer memory, 24 is a hit determination circuit, and 25 is a tag write control unit.
[0004]
At the time of read access to the memory, when the processor 21 sends the address information, the TAG 22 and the buffer memory 23 are accessed by the lower address, and the upper address and the upper address of the TAG 22 are compared by the hit determination circuit 24. If the comparison result matches and the valid / invalid flag is valid, valid data exists in the cache, so the data of the lower address transmitted by the processor 21 is read from the buffer memory 23 and transmitted to the processor. If the comparison result does not match or the valid / invalid flag is invalid, the main storage device 10 shown in FIG. 12 is accessed, read data is input to the cache 11c, and desired data is stored in the processor 11c. 21.
[0005]
As described above, the TAG of the cache is usually provided with an area for holding a valid / invalid flag, and when the cache does not match the main memory, the valid / invalid flag of the address is invalidated.
For this reason, in the conventional cache, it is necessary to provide an area for holding the valid / invalid information of the TAG data, and the storage capacity is increased accordingly.
[0006]
(2) In a system having a plurality of processing units having caches as shown in FIG. 12 , an area for holding these states is usually provided for each cache so that the processing units can recognize the state of the cache. Provided.
For example, in order to recognize four states of M (modify), O (honor), S (share), and I (invalid), as shown in FIG. 14A , each cache has two bits of MS bit and SS bit. it is necessary to provide a space to hold, also, M, O, E (exclusive), S, to identify the 5 state of the I, VS as shown in FIG. 14 (b), MS, the SS It requires an area to hold 3 bits.
As described above, in the conventional cache, it is necessary to provide an area for holding a flag for recognizing the state of the cache of the processing device, and the storage capacity is increased accordingly.
[0007]
[Problems to be solved by the invention]
As described above, in the information processing apparatus having a conventional cache memory, and a region for holding a flag indicating validity / invalidity of tag data in cache, providing an area for identifying the state of the cache of the processing unit And needed extra memory.
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an information processing apparatus having a cache capable of reducing the storage capacity and reducing the amount of hardware by adding a relatively small amount of hardware. And
[0008]
[Means for Solving the Problems]
Figure 1 is a principle diagram of the present invention.
To solve the above problems, the invention of claim 1 of the present invention, as shown in FIG. 1, a main storage device 4, comprising a plurality of processing apparatuses 1-1 to 1-n having a processor, said processor In the information processing apparatus including at least a cache memory having four states of modify / owner / share / invalid, the apparatus is provided with a cache state recognizing circuit 5 for referring to the tag information of the same entry of all the processing apparatuses. The cache state recognition circuit includes a truth table for associating hit information and a modify / share state of all processing devices with at least four states of modify / owner / share / invalid. By referring to the truth table, the state of the cache memory of each processing device is recognized from the hit information of all the processing devices and the modify / share status .
In the present invention, since the configuration is as described above, it is not necessary for the cache of each processing device to hold information indicating the state of the cache, so that the storage capacity can be reduced and the amount of hardware can be reduced.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 2 shows a configuration example in which a bit indicating valid / invalid of TAG data is not required.
In FIG. 2, the same components as those shown in FIG. 13 are denoted by the same reference numerals, and in this configuration example, a flag unit 22a for holding the valid / invalid flag shown in FIG. 13 is provided. And a selector 26 that is switched by the tag light control unit 25 is provided. An address a11′1 ′ (upper address) is given to one input of the selector 26, and an upper address output by the processor is given to the other input.
Here, the memory space of the address a11′1 ′ is unused as shown in the memory map of FIG. 3, and access from software is prohibited.
[0010]
In the figure, when the processor 21 sends address information at the time of read access to the memory, the TAG 22 and the buffer memory 23 are accessed by the lower address, and the upper address and the upper address of the TAG 22 are compared by the hit determination circuit 24. You. If the comparison results match, the data of the lower address sent by the processor 21 is read from the buffer memory 23 and sent to the processor.
If the comparison results do not match, the main storage device 10 shown in FIG. 12 is accessed, read data is input to the cache memory, and desired data is transmitted to the processor. When updating the TAG 22, the tag write control unit 25 writes an upper address from the processor to the TAG 22.
Here, when invalidating the TAG 22, the tag write control unit 25 switches the selector 26 and updates the TAG 22 to an unused address a11′1 ′ (upper address).
[0011]
When the address a11′1 ′ is read from the TAG 22 when the processor 21 references the TAG22, the upper address transmitted from the processor is not the address a11′1 ′ due to software access restriction. Therefore, in this case, it is always a miss hit.
That is, in the above configuration example, when the TAG 22 is invalidated and updated, an unused upper address is written into the TAG 22, thereby performing TAG control without providing a flag indicating valid / invalid of tag data. Can be.
In the above description, when the TAG 22 is invalidated, the update address of the TAG 22 is set to the address a11′1 ′. However, this address can be appropriately selected by software agreement and is not limited to the above address.
[0012]
FIG. 4 shows a configuration in which an address to be written into the TAG 22 when the TAG 22 is invalidated can be set by the processor 21 in the above configuration .
2, the same components as those shown in FIG. 2 are denoted by the same reference numerals. In this configuration example , an invalidation data register 27 that can be explicitly written by the processor 21 is provided. ing.
Then, at the time of system initialization, the processor 21 writes invalidation data, which is an unused upper address shown in the memory map of FIG. 5, to the invalidation data register 27.
[0013]
When invalidating the TAG 22, the tag write control unit 25 switches the selector 26 to update the TAG 22 to an unused address held in the invalidation data register 27 as described above.
Therefore, when the unused address is read from the TAG 22 by referring to the TAG 22, a miss hit always occurs. That is, as described above , TAG control can be performed without providing a flag indicating whether tag data is valid or invalid.
By providing the invalidation data register 27 as described above and enabling the processor 21 to write the invalidation data, the invalidation data can be set for each program, and optimal TAG control can be realized. Can be.
[0014]
6, FIG. 7 is a diagram showing an example system configuration of the present invention, this embodiment, in a system processing unit having a cache there are a plurality of information in the cache of another processor for each cache This embodiment shows an example in which the cache state of another processor can be recognized without having it.
[0015]
FIG. 6 shows an embodiment in which each processor recognizes the cache state of another processor. In FIG. 6, reference numerals 41-1 to 41-n denote processors, and each processor includes , A hit determination circuit 43, and a cache state recognition circuit 44. The hit information and the state of the MS (modify / share) bit in each processor are mutually sent to the cache state recognition circuit 44 of each of the processors 41-1 to 41-n.
FIG. 7 shows an embodiment in which the cache state is centrally managed. 42 is a tag section of the cache of each processor, 43 is a hit determination circuit, 44 is a cache state recognition circuit, and each hit information and MS bit are It is sent to the cache state recognition circuit 44 and centrally managed.
[0016]
FIGS. 8 and 9 show examples of the truth table of the cache state recognition circuit 44 when the cache state is four states of M / O / S / I. FIG. 8 shows the case where there are three processors. I have. 8 and 9, M / O / S / I means the following, respectively.
M: Modify (only has dirty data)
O: Owner (has dirty data and is the owner)
S: Share (has valid data)
I: Invalid (cache data invalid)
=: Impossible state
The cache state recognition circuit 44 recognizes the cache state of each processor in the following manner based on the truth information shown in FIGS. 8 and 9 based on the hit information and the MS bit of the own processor and other processors. Then, at the time of updating the cache state, the update data is written to the MS bit according to the truth table.
Figure 0003585349
[0018]
For example, as shown in the first row of FIG. 8, when the hit information of each processor and the MS bit are all "0", the cache state of each processor is Invalid, and the first row of FIG. As shown, when the hit information of the processor 0 is “1”, the MS bit is “0”, and the hit information of the other processor is “0”, the cache of the processor 0 is Share, Of the processor is Invalid.
Note that FIGS. 8 and 9 assume that there is no plurality of caches with hit information = 1 and MS = 1.
[0019]
FIGS. 10 and 11 show examples of the truth table of the cache state recognition circuit 44 when the cache state is the five states of M / O / E / S / I. FIG. 10 shows the case where there are three processors. Is shown. In FIGS. 10 and 11, M / O / E / S / I means the following, respectively.
M: Modify (only has dirty data)
O: Owner (has dirty data and is the owner)
E: Exclusive (only has clean data)
S: Share (has valid data)
I: Invalid (cache data invalid)
=: Impossible state
The cache state recognition circuit 44 recognizes the state of the cache of each processor in the following manner based on the truth information shown in FIGS. 10 and 11 based on the hit information and the MS bit of each processor. Then, at the time of updating the cache state, the update data is written to the MS bit according to the truth table.
Figure 0003585349
[0021]
Note that FIGS. 10 and 11 are based on the assumption that there is no plurality of caches with hit information = 1 and MS = 1.
As described above, in the present embodiment, the cache state recognition circuit 44 is provided, and the cache state is recognized from the cache hit information and the MS bit of each processor. It is not necessary to have information for recognizing the information, and the storage capacity can be reduced accordingly.
[0022]
【The invention's effect】
As described above, the present invention includes a main storage device and a plurality of processing devices including a processor, and the processing device includes a cache memory having at least four states of modify / owner / share / invalid. In the processing device, a cache state recognizing circuit for referring to the tag information of the same entry of all the processing devices is provided, and when the tag is referred, the owner status is recognized from the modify / share status of the same entry of all the processing devices. The information indicating the state of the cache need not be held by the cache of each processing device, and the storage capacity can be reduced and the amount of hardware can be reduced.
[Brief description of the drawings]
FIG. 1 is a principle configuration diagram of the present invention.
FIG. 2 is a diagram illustrating a configuration example in which a bit indicating valid / invalid of TAG data is not required .
FIG. 3 is a memory map that definitive in the example of FIG. 2.
FIG. 4 is a diagram showing an example in which an invalidation data register which can be explicitly written by a processor in FIG . 2 is provided .
FIG. 5 is a memory map in the example of FIG . 4 ;
FIG. 6 is a diagram showing a configuration (1) of a system according to an embodiment of the present invention.
FIG. 7 is a diagram illustrating a configuration (2) of a system according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating an example of a truth table when the cache has four states.
FIG. 9 is a diagram (continued) illustrating an example of a truth table when the cache state is four states;
FIG. 10 is a diagram illustrating an example of a truth table when the cache has five states.
FIG. 11 is a diagram (continued) illustrating an example of a truth table when the cache state is five states;
FIG. 12 is a diagram illustrating a configuration of an information processing apparatus including a cache memory.
FIG. 13 is a diagram showing a conventional example of a processing device provided with a cache memory.
FIG. 14 is a diagram showing a conventional example of cache state recognition in an information processing device having a plurality of processing devices.
[Explanation of symbols]
1, 1-1 to 1-n Processor 2a Tag section 2b Data section 2c Hit determination circuit 3 Register 4 Main storage device 5 Cache state recognition circuit 21 Processor 22 Tag section 22b Flag section 23 Buffer memory 24 Tag write control section 25 Hit determination Circuit 27 Invalidation Data Registers 41-1 to 41-n Processor 42 Cache 43 Hit Determination Circuit 44 Cache State Recognition Circuit

Claims (1)

主記憶装置と、プロセッサを具備する複数の処理装置を備え、処理装置キャッシュメモリを備え、
上記キャッシュメモリは、少なくともダーティデータを唯一持っている状態を示すモディファイ状態と、ダーティデータを持っておりオーナーである状態を示すオーナー状態と、有効データを持っている状態を示すシェア状態と、キャッシュデータ無効である状態を示すインバリッド状態との4状態を有する情報処理装置において、
全処理装置のタグ情報を参照し集中管理するキャッシュ状態認識回路を設け、該キャッシュ状態認識回路は、全処理装置のヒット情報およびモディファイ/シェア状態と、少なくともモディファイ/オーナー/シェア/インバリッドの4状態とを対応付ける真理値表を備え
タグ参照時、上記キャッシュ状態認識回路は、上記真理値表を参照して、全処理装置のヒット情報および上記モディファイ/シェア状態から、各処理装置のキャッシュメモリの状態を認識する
ことを特徴とするキャシュを備えた情報処理装置。
A main storage device, a plurality of processing devices including a processor, each processing device including a cache memory,
The cache memory has at least a modify state indicating a state having only dirty data, an owner state indicating a state having the dirty data and being an owner, a share state indicating a state having valid data, and a cache state. In an information processing apparatus having four states of an invalid state indicating a data invalid state ,
A cache state recognition circuit for centrally managing by referring to the tag information of all the processing units is provided. The cache state recognition circuit includes hit information and a modify / share state of all the processing units and at least four states of modify / owner / share / invalid. With a truth table that maps
When referring to a tag, the cache state recognizing circuit recognizes the state of the cache memory of each processing device from the hit information of all the processing devices and the modify / share status with reference to the truth table. An information processing device with a cache.
JP23131297A 1997-08-27 1997-08-27 Information processing device with cache memory Expired - Fee Related JP3585349B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23131297A JP3585349B2 (en) 1997-08-27 1997-08-27 Information processing device with cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23131297A JP3585349B2 (en) 1997-08-27 1997-08-27 Information processing device with cache memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003361995A Division JP2004086920A (en) 2003-10-22 2003-10-22 Information processor comprising cache memory

Publications (2)

Publication Number Publication Date
JPH1165926A JPH1165926A (en) 1999-03-09
JP3585349B2 true JP3585349B2 (en) 2004-11-04

Family

ID=16921667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23131297A Expired - Fee Related JP3585349B2 (en) 1997-08-27 1997-08-27 Information processing device with cache memory

Country Status (1)

Country Link
JP (1) JP3585349B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097019A1 (en) 2006-02-27 2007-08-30 Fujitsu Limited Cache controller and cache control method
US20090006757A1 (en) * 2007-06-29 2009-01-01 Abhishek Singhal Hierarchical cache tag architecture

Also Published As

Publication number Publication date
JPH1165926A (en) 1999-03-09

Similar Documents

Publication Publication Date Title
US7827354B2 (en) Victim cache using direct intervention
US7305523B2 (en) Cache memory direct intervention
KR100318789B1 (en) System and method for managing cache in a multiprocessor data processing system
JP4447580B2 (en) Partitioned sparse directory for distributed shared memory multiprocessor systems
JP4082612B2 (en) Multiprocessor computer system with multiple coherency regions and software process migration between coherency regions without cache purge
US7120755B2 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
US6901495B2 (en) Cache memory system allowing concurrent reads and writes to cache lines to increase snoop bandwith
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US7321954B2 (en) Method for software controllable dynamically lockable cache line replacement system
US7353319B2 (en) Method and apparatus for segregating shared and non-shared data in cache memory banks
US6915396B2 (en) Fast priority determination circuit with rotating priority
JP2002373115A (en) Replacement control method for shared cache memory and device therefor
US20020169935A1 (en) System of and method for memory arbitration using multiple queues
JP2002197073A (en) Cache coincidence controller
KR20030024895A (en) Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system
US6546465B1 (en) Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US20040049491A1 (en) Access control of a resource shared between components
US20080016282A1 (en) Cache memory system
US20050027960A1 (en) Translation look-aside buffer sharing among logical partitions
US20040133748A1 (en) Unbalanced inclusive tags
JP3585349B2 (en) Information processing device with cache memory
KR100380674B1 (en) Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system
US6338116B1 (en) Method and apparatus for a data-less write operation within a cache memory hierarchy for a data processing system
JPH06187239A (en) Data coincidence control system for multi-layered cache memory
JP2004086920A (en) Information processor comprising cache memory

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040803

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees