JP2004086920A - Information processor comprising cache memory - Google Patents
Information processor comprising cache memory Download PDFInfo
- Publication number
- JP2004086920A JP2004086920A JP2003361995A JP2003361995A JP2004086920A JP 2004086920 A JP2004086920 A JP 2004086920A JP 2003361995 A JP2003361995 A JP 2003361995A JP 2003361995 A JP2003361995 A JP 2003361995A JP 2004086920 A JP2004086920 A JP 2004086920A
- Authority
- JP
- Japan
- Prior art keywords
- command
- channel
- processor
- cache
- 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.)
- Pending
Links
Images
Abstract
Description
本発明はキャッシュメモリを備えた情報処理装置に関する。 << The present invention relates to an information processing apparatus provided with a cache memory.
従来から、キャッシュメモリを備えた情報処理装置が知られている(例えば特許文献1、特許文献2等参照)。
図15はキャッシュメモリを備えた情報処理装置の構成を示す図である。同図において、10は主記憶装置であり、主記憶装置10には共通バスを介して複数の処理装置11−1〜11−nが接続されており、主記憶装置は複数の処理装置11−1〜11−nにより共用される。処理装置11−1〜11−nはそれぞれ、主記憶制御装置11a、キャッシュメモリ11c、プロセッサ11bから構成される。
2. Description of the Related Art Conventionally, an information processing apparatus including a cache memory has been known (for example, see
FIG. 15 is a diagram illustrating a configuration of an information processing apparatus including a cache memory. In FIG. 1,
以下、図15に示したキャッシュメモリを備えた情報処理装置における従来技術について説明する。
(1)図16は従来のキャッシュメモリ(以下キャッシュという)の構成を示す図である。
同図において、21はプロセッサ、22は主記憶装置のアドレス情報を保持するタグ部(以下TAGという)であり、TAG22はタグデータの有効/無効を示すフラグを格納するフラグ部22aを備えている。
また、23はバッファメモリ、24はヒット判定回路、25はタグライト制御部である。
Hereinafter, a conventional technique in an information processing apparatus including the cache memory illustrated in FIG. 15 will be described.
(1) FIG. 16 is a diagram showing a configuration of a conventional cache memory (hereinafter referred to as a cache).
In the figure,
23 is a buffer memory, 24 is a hit determination circuit, and 25 is a tag write control unit.
メモリへのリード・アクセス時、プロセッサ21がアドレス情報を送出すると下位アドレスによりTAG22、バッファメモリ23がアクセスされるとともに、上位アドレスとTAG22の上位アドレスがヒット判定回路24で比較される。比較結果が一致し有効/無効フラグが有効であると、有効なデータがキャッシュに存在するので、プロセッサ21が送出する下位アドレスのデータがバッファメモリ23から読み出され、プロセッサに送出される。また、比較結果が不一致であるか、有効/無効フラグが無効の場合には、図15に示した主記憶装置10がアクセスされ、リードデータがキャッシュ11cに入力され、また、所望のデータがプロセッサ21に送出される。
(4) At the time of read access to the memory, when the
上記のように、通常、キャッシュのTAGには、有効/無効フラグを保持する領域が設けられており、キャッシュと主記憶が不一致になると、当該アドレスの有効/無効フラグを無効化していた。
このため、従来のキャッシュにおいては、TAGデータの有効無効情報を保持する領域を設ける必要があり、その分記憶容量が増加した。
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.
(2)前記図15に示すキャッシュを持つ複数の処理装置が存在するシステムにおいては、通常、キャッシュの状態を処理装置が認識できるようにするため、各キャッシュ毎にこれらの状態を保持する領域が設けられる。
例えば、M(モディファイ)、O(オナー)、S(シェア)、I(インバリッド)の4状態を認識するには、図17(a)に示すように各キャッシュにMSビットとSSビットの2ビットを保持する領域を設ける必要があり、また、M、O、E(イクスクルーシブ)、S、Iの5状態を識別するには、図17(b)に示すようにVS、MS、SSの3ビットを保持する領域を必要とする。
以上のように、従来のキャッシュにおいては、処理装置のキャッシュの状態を認識するためのフラグを保持する領域を設ける必要があり、その分記憶容量が増加した。
(2) In a system having a plurality of processing units having caches as shown in FIG. 15, 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 the four states of M (modify), O (honor), S (share), and I (invalid), as shown in FIG. It is necessary to provide an area for holding the VS, MS, and SS (exclusive), S, and I, as shown in FIG. 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.
(3)キャッシュを持つプロセッサ31とチャネル32を備えた情報処理装置においては、図18に示すようにプロセッサ31、チャネル32と主記憶装置34の間にシステム制御装置33が設けられ、システム制御装置33内にプロセッサのキャッシュのTAGのコピーを保持するDTAG331と、チャネルが保持する情報のアドレスを保持するチャネル用DTAG332が設けられる。
図18において、31はプロセッサ、32はチャネルであり、プロセッサ31はキャッシュを有し、チャネル32はキャッシュを持たない。
(3) In an information processing apparatus having a
In FIG. 18, 31 is a processor, 32 is a channel, the
図19は上記システム制御装置33(以下SC33という)の構成を示す図であり、SC33はアドレス受信部33aと受信タイミング制御部33bとコマンド受信部33cとDTAG制御部33dと、主記憶装置34との間でデータ転送を行うデータ転送指示制御部33eから構成される。
DTAG制御部33dは、プロセッサのキャッシュのTAGのコピーを保持するDTAG331と、チャネルが保持する情報のアドレスを保持するチャネル用DTAG332と、ヒット判定を行うヒット判定回路333,334とDTAG更新部335から構成される。
FIG. 19 is a diagram showing the configuration of the system control device 33 (hereinafter referred to as SC33). The SC33 includes an
The DTAG control unit 33d includes a DTAG 331 that holds a copy of the TAG of the cache of the processor, a
同図において、SC33がプロセッサ31もしくはチャネル32からメモリアクセスコマンドを受信すると、DTAG331、チャネル用DTAG332を参照して、その内容に応じてプロセッサ、主記憶装置にデータ転送を指示する。
例えば、チャネル32から専有しないリード・コマンド(通常のリードコマンド)が発生すると、DTAG332、チャネル用DTAG331を参照し、プロセッサ31のキャッシュ、チャネル32がリードデータを持っていなければ、主記憶装置34に対してデータ転送指示を行う。また、プロセッサ31のキャッシュがダーティ状態(メモリを書き換えた状態)で持っていれば、プロセッサ31に対してデータ転送指示を行う。そして、データ転送後の状態にDTAG331を更新する。
In the figure, when the SC 33 receives a memory access command from the
For example, when a read command (normal read command) not occupied by the
また、SC33が、チャネル32からライトバックコマンドとペアで使用される専有するリードコマンドを受信すると、DTAG331、チャネル用DTAG332参照し、プロセッサ31のキャッシュがリードデータを持っていなければ、主記憶装置34に対してデータ転送指示を行い、また、プロセッサ31のキャッシュがダーティ状態で持っていれば、プロセッサに対してデータ転送指示を行い、プロセッサのキャッシュを無効化する。また、チャネル用DTAGにチャネルが保持するリードデータのアドレスを格納する。ついで、ライトバック時、ライトバックデータを主記憶装置34に書き込み、チャネル用DTAGを無効化する。
When the SC 33 receives the exclusive read command used in combination with the write back command from the
また、上記専有するリード後であってライトバック前に、プロセッサ31からのリードコマンドを受信すると、DTAG331、チャネル用DTAG332を参照する。そして、チャネル用DTAG332がヒットするとチャネル32からプロセッサ31への転送を指示する。
以上のように従来のSC33においては、プロセッサのキャッシュのタグのコピーを保持するDTAG331と、チャネル32が保持するデータのアドレスを格納するチャネル用DTAG332を必要とした。
When a read command is received from the
As described above, the conventional SC33 requires the DTAG 331 for holding a copy of the tag of the cache of the processor and the DTAG 332 for the channel for storing the address of the data held by the
以上のように、従来のキャッシュメモリを備えた情報処理装置においては、次のような問題があった。
(1)キャッシュにタグデータの有効/無効を示すフラグを保持する領域や、処理装置のキャッシュの状態を識別するための領域を設ける必要があり、その分、メモリを余分に必要とした。
(2)キャッシュを持たないチャネル用にもシステム制御装置にDTAGを設ける必要があった。このため、メモリを余分に必要とした。
本発明は上記事情に鑑みなされたものであって、比較的少ないハード量の追加で、記憶容量を小さくし、ハード量を削減することができるキャッシュを備えた情報処理装置を提供することを目的とする。
As described above, the information processing apparatus including the conventional cache memory has the following problems.
(1) It is necessary to provide an area for holding a flag indicating the validity / invalidity of the tag data in the cache and an area for identifying the state of the cache of the processing device, which requires an extra memory.
(2) It is necessary to provide a DTAG in the system control device for a channel having no cache. For this reason, an extra memory was required.
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
図1は本発明の原理構成図である。
本発明の請求項1の発明は、図1に示すように、プロセッサ1と、主記憶装置4と、システム制御装置7と、チャネル6を備え、プロセッサ1はキャッシュメモリを具備し、上記システム制御装置7は、プロセッサ1のキャッシュのタグのコピーを保持するタグ部7aを有し、プロセッサ1、チャネル6からのコマンド、アドレス信号が上記システム制御装置7に入力され、システム制御装置7は、プロセッサ1、チャネル6からのメモリアクセスコマンドを受けたとき、上記タグ部7aを参照して上記プロセッサ1、チャネル6、主記憶装置4に対してデータの転送指示を行うとともに、データの移動による上記タグ部7aの更新を行い、チャネル6からのコマンドによりリードモディファイライトを行う際、チャネル6からシステム制御装置7に対するコマンドはリードコマンドとライトコマンドの2回に分割して発行される情報処理装置において、システム制御装置7に、上記チャネルからのコマンドを変換する変換回路7bを設ける。そして、チャネル6からのコマンドによりリードモディファイライト動作を行う際、変換回路7bにより、チャネル6からのリードコマンドを上記タグ部7a参照時にはライトインバリデートコマンドに変換し、上記タグ部7aおよびプロセッサ1のキャッシュメモリの該当するブロックを無効化する。
FIG. 1 is a diagram showing the principle of the present invention.
As shown in FIG. 1, the first aspect of the present invention includes a
本発明の請求項2の発明は、請求項1の発明において、チャネル6からのコマンドによりリードモディファイライト動作を行う際、上記変換回路7bにより、チャネル6からのライトコマンドをノーオペレーション動作に変換する。
本発明の請求項1,2の発明においては、上記のように構成したのでシステム制御装置7にチャネル用のタグ部を設けることなく、タグ制御を行うことができる。このため、チャネル用のタグ部が不用となり、ハード量を減少させることができる。
According to a second aspect of the present invention, in the first aspect, when performing a read-modify-write operation by a command from the
According to the first and second aspects of the present invention, the tag control can be performed without providing a channel tag section in the
本発明においては、キャッシュメモリを具備するプロセッサと、主記憶装置と、プロセッサのキャッシュのタグのコピーを保持するタグ部を有するシステム制御装置を備え、リードモディファイライトを行う際、チャネルからシステム制御装置に対するコマンドはリードコマンドとライトコマンドの2回に分割して発行される情報処理装置において、システム制御装置に、上記チャネルからのコマンドを変換する変換回路を設け、該変換回路により、チャネルからの上記リードコマンドを上記タグ部参照時にはライトインバリデートコマンドに変換し、また、上記ライトコマンドをノーオペレーション動作に変換するようにしたので、システム制御装置にチャネル用のタグ部を設けることなくタグ制御を行うことができる。このため、チャネル用のタグ部が不用となり、ハード量を減少させることができる。 According to the present invention, a system controller having a processor having a cache memory, a main storage device, and a tag unit for holding a copy of a tag of a cache of the processor is provided. In the information processing device which is issued in two separate commands of a read command and a write command, a conversion circuit for converting a command from the channel is provided in the system control device, and the conversion circuit The read command is converted to a write invalidate command when referring to the tag section, and the write command is converted to a no-operation operation, so that the tag control is performed without providing a channel tag section in the system control device. be able to. For this reason, the tag portion for the channel becomes unnecessary, and the amount of hardware can be reduced.
図2はTAGデータの有効/無効を示すビットを不要にした構成例を示す図である。
図2において、前記図16に示したものと同一のものには同一の符号が付されており、本構成例においては、図16に示した有効/無効フラグを保持するフラグ部22aが設けられておらず、タグライト制御部25により切り換えられるセレクタ26が設けられている。そして、セレクタ26の一方の入力にはアドレスa11’1’(上位アドレス)が与えられ、他方の入力にプロセッサが出力する上位アドレスが与えられている。
ここで、上記アドレスa11’1’のメモリ空間は図3のメモリマップに示すように未使用とされ、ソフトからのアクセスを禁止している。
FIG. 2 is a diagram showing 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. 16 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. 16 is provided. And a
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.
同図において、メモリへのリード・アクセス時、プロセッサ21がアドレス情報を送出すると、下位アドレスによりTAG22、バッファメモリ23がアクセスされ、また、上位アドレスとTAG22の上位アドレスがヒット判定回路24で比較される。比較結果が一致すると、プロセッサ21が送出する下位アドレスのデータがバッファメモリ23から読み出され、プロセッサに送出される。
また、比較結果が不一致であると、前記図15に示した主記憶装置10がアクセスされ、リードデータがキャッシュメモリに入力され、所望のデータがプロセッサに送出される。また、TAG22の更新時には、タグライト制御部25により、プロセッサからの上位アドレスがTAG22に書き込まれる。
ここで、TAG22を無効化する場合には、タグライト制御部25はセレクタ26を切り換え、TAG22を未使用のアドレスa11’1’(上位アドレス)に更新する。
In the figure, when the
If the comparison result is a mismatch, the
Here, when invalidating the
そして、プロセッサ21からのTAG22の参照時、TAG22から上記アドレスa11’1’が読み出された場合、ソフトのアクセス制限によりプロセッサから送出される上位アドレスが上記アドレスa11’1’であることはないので、この場合には必ずミスヒットとなる。
すなわち、TAG22の無効化更新時、未使用の上位アドレスをTAG22に書き込むようにしており、これによりタグデータの有効/無効を示すフラグを設けることなく、TAG制御を行うことができる。
なお、TAG22を無効化する際、TAG22の更新アドレスをアドレスa11’1’としたが、このアドレスはソフトの取決めにより適宜選択することができ、上記アドレスに限定されない。
When the address a11′1 ′ is read from the
That is, when the
When the
図4は上記第1の構成において、TAG22を無効する際にTAG22に書き込むアドレスをプロセッサ21により設定できるようにしたものである。
同図において、図2に示したものと同一のものには同一の符号が付されており、本構成例においては、プロセッサ21から明示的にライトすることができる無効化データレジスタ27が設けられている。
そして、プロセッサ21はシステム初期化時、上記無効化データレジスタ27に図5のメモリマップに示す未使用の上位アドレスである無効化データを書き込む。
FIG. 4 shows the first configuration in which an address to be written into the
2, the same components as those shown in FIG. 2 are denoted by the same reference numerals, and in this configuration example, an invalidation data register 27 that can be explicitly written by the
Then, at the time of system initialization, the
TAG22を無効化する場合には、前記したようにタグライト制御部25はセレクタ26を切り換え、TAG22を上記無効化データレジスタ27に保持された未使用のアドレスに更新する。
したがって、TAG22を参照し、TAG22から上記未使用のアドレスが読み出された場合、必ずミスヒットとなる。すなわち、図2のものと同様、タグデータの有効/無効を示すフラグを設けることなく、TAG制御を行うことができる。
上記のように無効化データレジスタ27を設け、プロセッサ21から無効化データを書き込むことができるようにすることで、プログラム毎に無効化データを設定することができ、最適なTAG制御を実現することができる。
When invalidating the
Therefore, when the unused address is read from the
By providing the invalidation data register 27 as described above and enabling the
図6、図7は、キャッシュを備えた処理装置が複数存在するシステムにおいて、各キャッシュ毎に他プロセッサのキャッシュの情報を持つことなく他プロセッサのキャッシュ状態を認識できるようにした構成例を示す図である。 FIGS. 6 and 7 are diagrams showing an example of a configuration in which, in a system in which a plurality of processing devices each having a cache are present, the cache state of another processor can be recognized without having information on the cache of another processor for each cache. It is.
図6は、各プロセッサ毎に他のプロセッサのキャッシュ状態を認識する構成例を示しており、図6において、41−1〜41−nはプロセッサであり、各プロセッサは、キャッシュのタグ部42と、ヒット判定回路43と、キャッシュ状態認識回路44を備えている。各プロセッサにおけるヒット情報、MS(モディファイ/シェア)ビットの状態は、相互に各プロセッサ41−1〜41−nのキャッシュ状態認識回路44に送られる。
図7は、キャッシュの状態を集中管理する構成例を示しており、42は各プロセッサのキャッシュのタグ部、43はヒット判定回路、44はキャッシュ状態認識回路であり、各ヒット情報、MSビットはキャッシュ状態認識回路44に送られ集中管理される。
FIG. 6 shows a configuration example of recognizing a cache state of another processor for each processor. In FIG. 6, reference numerals 41-1 to 41-n denote processors, and each processor includes , A
FIG. 7 shows an example of a configuration for centrally managing the state of the cache.
図8、図9は、キャッシュの状態がM/O/S/Iの4状態である場合のキャッシュ状態認識回路44の真理値表の一例であり、同図はプロセッサが3つの場合を示している。図8、図9において、M/O/S/Iはそれぞれ以下を意味する。
M:Modify(ダーティデータを唯一持っている)
O:Owner(ダーティデータを持っておりオーナーである)
S:Share(有効データを持っている)
I:Invalid(キャッシュデータ無効)
=:あり得ない状態
FIGS. 8 and 9 show examples of the truth table of the cache
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
キャッシュ状態認識回路44は自プロセッサと他プロセッサのヒット情報およびMSビットに基づき、図8、図9に示す真理値表により次のようにして各プロセッサのキャッシュの状態を認識する。そして、キャッシュ状態更新時には、上記真理値表によりMSビットに更新データをライトする。
ヒット=0,MS=0:Invalid
ヒット=0,MS=1:Invalid
ヒット=1,MS=0:Share
ヒット=1,MS=1:他のヒットキャッシュ有り→Owner
他にヒットキャッシュ無し→Modify
The cache
Hit = 0, MS = 0: Invalid
Hit = 0, MS = 1: Invalid
Hit = 1, MS = 0: Share
Hit = 1, MS = 1: There is another hit cache → Owner
No other hit cache → Modify
例えば、図8の第1行に示すように、各プロセッサのヒット情報、MSビットが全て”0”の場合は、各プロセッサのキャッシュの状態はInvalidであり、また、図9の第1行に示すように、プロセッサ0のヒット情報が”1”、MSビットが”0”であり、他のプロセッサのヒット情報、MSビットが”0”の場合は、プロセッサ0のキャッシュはShareであり、他のプロセッサのキャッシュはInvalidである。
なお、図8、図9では、ヒット情報=1でMS=1のキャッシュが複数あることはないことが前提となっている。
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
Note that FIGS. 8 and 9 assume that there is no plurality of caches with hit information = 1 and MS = 1.
図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(キャッシュデータ無効)
=:あり得ない状態
FIGS. 10 and 11 show examples of the truth table of the cache
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
キャッシュ状態認識回路44は各プロセッサのヒット情報およびMSビットに基づき、図10、図11に示す真理値表により次にようにして各プロセッサのキャッシュの状態を認識する。そして、キャッシュ状態更新時には、上記真理値表によりMSビットに更新データをライトする。
ヒット=0,MS=0:Invalid
ヒット=0,MS=1:Invalid
ヒット=1,MS=0:他のヒットキャッシュ有り→Share
他にヒットキャッシュ無し→Exclusive
ヒット=1,MS=1:他のヒットキャッシュ有り→Owner
他にヒットキャッシュ無し→Modify
The cache
Hit = 0, MS = 0: Invalid
Hit = 0, MS = 1: Invalid
Hit = 1, MS = 0: There is another hit cache → Share
No other hit cache → Exclusive
Hit = 1, MS = 1: There is another hit cache → Owner
No other hit cache → Modify
なお、図10、図11では、ヒット情報=1でMS=1のキャッシュが複数あることはないことが前提となっている。
以上のように、キャッシュ状態認識回路44を設け、各プロセッサのキャッシュのヒット情報とMSビットからキャッシュの状態を認識することで、各プロセッサのキャッシュに他プロセッサのキャッシュの状態を認識するための情報を持つ必要がなく、その分記憶容量を少なくすることができる。
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, by providing the cache
図12は本発明の実施例のシステムの構成を示す図、図13は本発明の実施例のシステム制御装置の構成を示す図であり、本実施例は、システム制御装置にチャネル用のDTAGを設ける必要がない実施例を示している。
図12において、31はキャッシュを持つプロセッサ、32はチャネル、33はシステム制御装置、34は主記憶装置であり、システム制御装置33内にプロセッサのキャッシュのTAGのコピーを保持するDTAG331が設けられている。
FIG. 12 is a diagram illustrating a configuration of a system according to an embodiment of the present invention. FIG. 13 is a diagram illustrating a configuration of a system control device according to an embodiment of the present invention. In the present embodiment, a DTAG for a channel is provided to the system control device. An embodiment that does not need to be provided is shown.
In FIG. 12, 31 is a processor having a cache, 32 is a channel, 33 is a system controller, and 34 is a main memory. A
図13は、図12のシステム制御装置(SC)33の構成を示しており、SC33はアドレス受信部33aと、コマンド受信部33cと、アドレス/コマンドの受信タイミングを制御する受信タイミング制御部33bと、DTAG制御部33dと、主記憶装置34との間でデータ転送を行うデータ転送指示制御部33eから構成され、コマンド受信部33cには、チャネル32から送られるコマンドを変換するコマンド変換回路331cが設けられている(コマンドの変換については後述する)。
DTAG制御部33dは、プロセッサのキャッシュのタグのコピーを保持するDTAG331とヒット判定を行うヒット判定回路333とDTAG更新部335から構成される。
図14は上記コマンド変換回路331cの変換動作を示す図であり、チャネル32から同図の左欄のコマンドが入力されたとき、同図右欄のコマンドに変換する。
FIG. 13 shows a configuration of the system control device (SC) 33 of FIG. 12. The SC 33 includes an
The DTAG control unit 33d includes a
FIG. 14 is a diagram showing a conversion operation of the
図13において、チャネル32からのメモリアクセスコマンドを受信すると、SC33内のDTAG331を参照し、DTAG331の内容によりプロセッサ31、主記憶装置34に対してデータ転送を指示する。例えば、チャネル32からのメモリリードコマンドが発生すると、DTAG331を参照しプロセッサ31のキャッシュが持っていなければ、データ転送指示制御部33eは主記憶装置34にデータ転送指示を行う。また、チャネル32からのメモリリードコマンドが発生したとき、プロセッサ31のキャッシュがダーティ状態で持っていれば、プロセッサ31に対してデータ転送指示を行う。そして、DTAG331を参照後、データ転送後の状態にDTAGを更新する。
In FIG. 13, when a memory access command from the
ここで、本実施例においては、チャネル32がキャッシュを持たないため、チャネル32からメモリアクセス時、次のように動作する。なお、チャネル32からのリードコマンドは、専有するリードと専有しないリードがあり、専有しないリードコマンドは通常のリードであり、専有するリードコマンドは、ライトバックコマンドとペアで使用されるコマンドである。
コマンド受信部33cのコマンド変換回路331cは、チャネル32から専有するリードコマンド、ライトバックコマンドを受信すると、受信したコマンドを図14に示すように変換する。
これにより、以下に説明するように、専有するリードコマンドが受信されたとき、DTAG331、プロセッサ内のキャッシュが無効化され(ライトインバリデートコマンドに変換されるため)、ライトバック時には、プロセッサ内のキャッシュ、DTAG331の状態は変更されない(NOP動作となるため)。
Here, in this embodiment, since the
When receiving the exclusive read command and write back command from the
As a result, as described below, when a dedicated read command is received, the
チャネルから各コマンドが受信されたときの動作は次のようになる。
(1) リード(専有しない)
・ダーティキャッシュが無い場合
→主記憶装置からデータをリード
・ダーティキャッシュがある場合
→ダーティキャッシュからデータをリード→DTAG331の状態は変更しない
(2) リード(専有する)
・ダーティキャッシュが無い場合
→主記憶装置からデータをリード
・ダーティキャッシュがある場合
→ダーティキャッシュからデータをリード
該当ブロック保持キャッシュの状態を無効化
The operation when each command is received from the channel is as follows.
(1) Lead (not exclusive)
-When there is no dirty cache-> Read data from the main storage device-When there is a dirty cache-> Read data from the dirty cache-> Do not change the state of the DTAG 331 (2) Read (exclusive)
-When there is no dirty cache-> Read data from the main storage device-When there is a dirty cache-> Read data from the dirty cache Invalidate the status of the corresponding block holding cache
(3) ライトインバリデート
・主記憶装置にデータをライト
→該当ブロック保持キャッシュの状態を無効化
(4) ライトバック
・主記憶装置にデータをライトバック、DTAG、プロセッサ内キャッシュに対してはNOP動作
→キャッシュ状態変更なし
(3) Write invalidate-Write data to main memory → Invalidate the state of the corresponding block holding cache (4) Write back-Write back data to main memory, NOP operation for DTAG, cache in processor → No change in cache status
すなわち、専有しないリードコマンドの場合は、ダーティキャッシュがない場合は、主記憶装置34からリードし、ダーティキャッシュがある場合は、プロセッサのキャッシュからデータをリードする。そして、チャネル32はキャッシュを持たないため、該リードコマンドによるキャッシュの状態は、プロセッサ内のキャッシュ、DTAG331とも更新しない。
一方、専有するリードコマンドの場合は、リードモディファイライト動作(リード動作をしたのち、データを加工して主記憶装置34にライトする)を行う場合に使用し、その時のリード動作は、専有しないリードコマンドと同じだが、この場合には、次に主記憶装置34にライトするため、キャッシュ状態は、プロセッサ内のキャッシュ、および、DTAG331共に当該ブロックを無効化する必要がある。
That is, in the case of a read command not exclusively used, if there is no dirty cache, data is read from the main storage device 34. If there is a dirty cache, data is read from the cache of the processor. Since the
On the other hand, the exclusive read command is used to perform a read-modify-write operation (after performing the read operation, processing the data and writing it to the main storage device 34), and the read operation at that time is performed by the non-exclusive read operation. The command is the same as that of the command, but in this case, since the next write is to the main storage device 34, the cache state needs to invalidate the block in both the cache in the processor and the
このため、図14に示したように、コマンド変換回路331cは専有するリードコマンドをライトインバリデートコマンドに変換し、プロセッサ内のキャッシュ、および、DTAG331共に当該ブロックを無効化する。
また、ライトインバリデートコマンドは、主記憶装置34に対してブロックライトを行うコマンドである。このコマンドはブロック単位でライトをするため、キャッシュの状態は、プロセッサ内のキャッシュ及びDTAG331共に、該当するブロックを保持している場合は、そのブロックを無効化する。
Therefore, as shown in FIG. 14, the
The write invalidate command is a command for performing a block write to the main storage device 34. Since this command writes data in block units, the cache state is such that if both the cache in the processor and the
チャネルからのライトバックは、前記したリードモディファイライト動作におけるライト時に行われ、前記したようにプロセッサ内のキャッシュ、DTAG331の状態は専有するリードコマンドの実行時に更新されているため、ライトバックコマンド時は、DTAG331、プロセッサ内のキャッシュに対してはNOP動作とする。すなわち、ライトバックコマンドを受信したとき、コマンド変換回路331cは図14に示すようにNOP動作に変換する。これによりDTAG331、プロセッサ内のキャッシュは共に変更されない。
The write-back from the channel is performed at the time of writing in the above-described read-modify-write operation, and as described above, the state of the cache in the processor and the
以上のように、本実施例においては、コマンド変換回路を設け、チャネルから専有するリードコマンドが受信されたとき、ライトインバリデートコマンドに変換して、プロセッサ内のキャッシュおよびシステム制御装置内のDTAGの当該ブロックを無効化し、また、ライトバックコマンドを受信したしたとき、NOP動作に変換しているので、チャネル用DTAGを設けることなく、TAG制御を行うことができる。 As described above, in the present embodiment, the command conversion circuit is provided, and when a dedicated read command is received from the channel, the command is converted into a write invalidate command, and the cache in the processor and the DTAG in the system control device are converted. When the block is invalidated and the write-back command is received, the operation is converted to the NOP operation, so that the TAG control can be performed without providing the channel DTAG.
1,1−1〜1−n プロセッサ
2a タグ部
2b データ部
2c ヒット判定回路
3 レジスタ
4 主記憶装置
5 キャッシュ状態認識回路
6 チャネル
7 システム制御装置
21 プロセッサ
22 タグ部
22b フラグ部
23 バッファメモリ
24 タグライト制御部
25 ヒット判定回路
27 無効化データレジスタ
31 プロセッサ
32 チャネル
33 システム制御装置(SC)
33a アドレス受信部
33b 受信タイミング制御部
33c コマンド受信部
33d DTAG制御部
33e データ転送指示制御部
331 DTAG
331c コマンド変換回路
333,334 ヒット判定回路
335 DTAG更新部
34 主記憶装置
41−1〜41−n プロセッサ
42 キャッシュ
43 ヒット判定回路
44 キャッシュ状態認識回路
1, 1-1 to 1-n processor 2a tag section 2b data section 2c hit
33a
331c
Claims (2)
上記プロセッサ、チャネルからのコマンド、アドレス信号が上記システム制御装置に入力され、
上記システム制御装置は、上記プロセッサ、チャネルからのメモリアクセスコマンドを受けたとき、上記タグ部を参照して上記プロセッサ、チャネル、主記憶装置に対してデータの転送指示を行うとともに、データの移動による上記タグ部の更新を行い、
上記チャネルからのコマンドによりリードモディファイライトを行う際、該チャネルから上記システム制御装置に対するコマンドはリードコマンドとライトコマンドの2回に分割して発行される情報処理装置において、
上記システム制御装置に、上記チャネルからのコマンドを変換する変換回路を設け、
チャネルからのコマンドによりリードモディファイライト動作を行う際、上記変換回路により、チャネルからのリードコマンドを上記タグ部参照時にはライトインバリデートコマンドに変換し、上記タグ部およびプロセッサのキャッシュメモリの該当するブロックを無効化する
ことを特徴とするキャッシュを備えた情報処理装置。 A processor, a main storage device, a system controller, and a channel, the processor having a cache memory, the system controller having a tag unit for holding a copy of a tag of a cache of the processor,
The processor, a command from the channel, and an address signal are input to the system controller,
The system control device, upon receiving a memory access command from the processor and the channel, instructs the processor, the channel, and the main storage device to transfer data with reference to the tag unit, and performs data transfer Update the above tag section,
When a read-modify-write operation is performed by a command from the channel, a command to the system control device from the channel is issued in two steps of a read command and a write command.
A conversion circuit for converting a command from the channel is provided in the system control device,
When a read-modify-write operation is performed by a command from a channel, the conversion circuit converts the read command from the channel into a write-invalidate command when referring to the tag section, and stores the corresponding block in the tag section and the cache memory of the processor. An information processing apparatus having a cache, which is invalidated.
ことを特徴とする請求項1のキャッシュを備えた情報処理装置。 2. The information processing apparatus according to claim 1, wherein when performing a read-modify-write operation by a command from the channel, the conversion circuit converts the write command from the channel into a no-operation operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003361995A JP2004086920A (en) | 2003-10-22 | 2003-10-22 | Information processor comprising cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003361995A JP2004086920A (en) | 2003-10-22 | 2003-10-22 | Information processor comprising cache memory |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23131297A Division JP3585349B2 (en) | 1997-08-27 | 1997-08-27 | Information processing device with cache memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004086920A true JP2004086920A (en) | 2004-03-18 |
Family
ID=32064647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003361995A Pending JP2004086920A (en) | 2003-10-22 | 2003-10-22 | Information processor comprising cache memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004086920A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032323A (en) * | 2007-07-26 | 2009-02-12 | Toshiba Corp | Disk storage device |
-
2003
- 2003-10-22 JP JP2003361995A patent/JP2004086920A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032323A (en) * | 2007-07-26 | 2009-02-12 | Toshiba Corp | Disk storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US5510934A (en) | Memory system including local and global caches for storing floating point and integer data | |
US7305523B2 (en) | Cache memory direct intervention | |
JP4447580B2 (en) | Partitioned sparse directory for distributed shared memory multiprocessor systems | |
US7353319B2 (en) | Method and apparatus for segregating shared and non-shared data in cache memory banks | |
US20110173393A1 (en) | Cache memory, memory system, and control method therefor | |
US20020053004A1 (en) | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links | |
US7321954B2 (en) | Method for software controllable dynamically lockable cache line replacement system | |
US20070005906A1 (en) | Information processing apparatus and cache memory control method | |
KR100515059B1 (en) | Multiprocessor system and method to maintain cache coherence therefor | |
JP2002373115A (en) | Replacement control method for shared cache memory and device therefor | |
US6546465B1 (en) | Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol | |
US6038642A (en) | Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system | |
JP5319049B2 (en) | Cash system | |
JPH06318174A (en) | Cache memory system and method for performing cache for subset of data stored in main memory | |
CN100552647C (en) | Processing module with multilevel cache architecture | |
KR100380674B1 (en) | Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system | |
JP2008009857A (en) | Cache control circuit and processor system | |
JP2004086920A (en) | Information processor comprising cache memory | |
JP4327238B2 (en) | System controller and cache control method | |
JP3585349B2 (en) | Information processing device with cache memory | |
KR20090095793A (en) | Processor and computing system | |
JP4948141B2 (en) | Bus control device | |
JP2542284B2 (en) | Buffer storage device and buffer storage device system | |
US20030101280A1 (en) | Fast jump address algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040930 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041102 |