New! View global litigation for patent families

JP2000298618A - Set associative cache memory device - Google Patents

Set associative cache memory device

Info

Publication number
JP2000298618A
JP2000298618A JP10680199A JP10680199A JP2000298618A JP 2000298618 A JP2000298618 A JP 2000298618A JP 10680199 A JP10680199 A JP 10680199A JP 10680199 A JP10680199 A JP 10680199A JP 2000298618 A JP2000298618 A JP 2000298618A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
lines
groups
tags
cache
memory
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
JP10680199A
Other languages
Japanese (ja)
Inventor
Takashi Ishikawa
貴史 石川
Original Assignee
Toshiba 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

Links

Classifications

    • Y02D10/13

Abstract

PROBLEM TO BE SOLVED: To reduce power consumption without deteriorating the hit rate of a cache memory by providing a mechanism for collectively inhibiting the use of one or more groups of tags and lines for whole sets with the execution of a private instruction.
SOLUTION: A mechanism for collectively inhibiting the use of one or more groups of tags and lines for whole sets with the execution of a private instruction is provided. In the device, a cache memory has plural sets in a way similar to a conventional one. One set is constituted of two or more groups of tag tables and line tables. A controller 14 controlling the reading/writing of the contents of the tags and the lines, a comparison mechanism comparing whether information of the tag requested from a processor core is matched with contents stored in the tag of the cache memory or not and a selector are provided. A gating mechanism 16 for temporarily stopping the groups except for one specified group among the groups of the tags contained in the respective lines and the lines with the execution of the private instruction and a register 17 are added.
COPYRIGHT: (C)2000,JPO

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】 本発明は、半導体記憶装置に関し、特にセットアソシアティブ型のキャッシュメモリ装置に関するものである。 The present invention relates to relates to a semiconductor memory device, and more particularly to a set associative type cache memory device.

【0002】 [0002]

【従来の技術】 図7に従来例によるセットアソシアティブ型の命令キャッシュメモリ装置の構造を示す。 It shows the structure of the Related Art of the set associative type according to the conventional example in FIG. 7 the instruction cache memory device. キャッシュメモリは幾つかのセットで構成される。 Cache memory is made up of several set. ここでは説明の為に16セット構成としたが、通常はもっと多くのセットで構成される。 Here was a 16-set configuration for description, usually consists of a lot more of the set. 各セットは少数(2〜16程度)のライン(line)とタグ(tag)の組で構成される。 Each set consists of a set of a small number (2 to 16 or so) of the line (line) and tag (tag). 1セット(set)に含まれるライン(line)とタグ(tag)の組の個数を、セット連想度と呼ぶ。 Line included in one set (set) and (line) a set of the number of tags (tag), referred to as a set associative. ここではセット連想度4、つまり1セット当たり、4組のタグとラインを持つ構成である4ウェイのセットアソシアティブ型キャッシュメモリを想定する。 Here we set associativity 4, i.e. per set, assuming a 4-way set associative type cache memory is a configuration having four sets of tags and lines. ラインはブロックと呼ばれる場合もあるが、以下の説明ではラインで統一する。 In some cases the line is called a block, but in the following description to unify a line. 各ラインには主メモリの内容(命令列)の少量のコピーが格納されている。 Each line has a small amount of a copy of the contents of the main memory (instruction sequence) is stored. 主メモリの内容の一部をキャッシュメモリにコピーする場合は、常にライン単位で行われる。 When copying a part of the contents of main memory into the cache memory is always done on a line-by-line basis. ここでは1ライン当たりの大きさ、即ちライン長が16語であると仮定する。 It is assumed that 1 per line size, ie the line length is 16 words. 各タグ(tag)には、対応するライン(line)に主メモリ上のどの部分のコピーが格納されているかを識別する為に、メモリの番地の一部が格納されている。 Each tag (tag), in order to identify whether copy of which part of the main to the corresponding line (line) memory is stored, a part of the address of the memory is stored. また命令の長さは1語であり、メモリの番地は1語毎に付けられていると仮定する。 The length of the instruction is one word, it is assumed that the address of the memory is given to each word. セットアソシアティブ型キャッシュメモリ装置において、主メモリ内のある1ライン分(ここでは16語)の内容が、 In the set associative type cache memory device, the contents of the main one line with the memory (16 words in this case),
キャッシュメモリ上のどのラインにコピーされるかの対応、即ちマッピングは次の様に行われる。 Support of or be copied to any line of the cache memory, that is mapping is performed in the following manner.

【0003】主メモリの番地は、ライン内オフセット(offset)、セット番号(set no.)、タグ(tag)の3つに分解させる。 [0003] The address of main memory, the line in the offset (offset), set number (set no.), Is decomposed into three tags (tag). ライン内オフセット(offset)は、 Line in the offset (offset) is,
求める番地の内容が、ラインの中のどれであるかを示す情報であり、図7の例では1ラインが含む16語の中から、1語を識別する事になるので、番地の下位4ビットが使用される。 The contents of the address required by, and information indicating on which of in-line, out of the 16 words, including one line in the example of FIG. 7, it means to identify one word, the lower 4 bits of the address There will be used. セット番号(set no.)は、求める番地の内容が含まれている可能性があるセットを示す情報であり、図7の例では16セットの中から1セットを識別する事になるので、番地中の4ビットを使用する。 Set number (set no.) Is information indicating a set that might contain the contents of the address finding, since to identifying a set of the sixteen sets in the example of FIG. 7, the address using the 4 bits in. この4ビットは、ライン内オフセット用に使われる下位4ビットの隣り、即ち下から5〜8ビット目を使用するのが普通である。 This 4-bit next to the low-order 4 bits used for in-line offset, namely it is common to use a 5-8 bit from the bottom. タグ(tag)は各ラインに主メモリ内のどの部分がコピーされているかを示す情報で、番地から、 Tag (tag) is information indicating which part of the main memory for each line is copied, from the address,
ライン内オフセット及びセット番号として使用されるビットを除いた残りが使用される。 After deducting bits used as in-line offset and the set number is used. ここでは、ライン内オフセットとして4ビット、セット番号として4ビットが使用されているので、番地が20ビット幅であると仮定すると、12ビット(=20−4−4)がタグとして使用される。 Here, since 4 bits as in-line offset, is 4 bits as the set number is used, the address is assumed to be 20 bits wide, 12 bits (= 20-4-4) is used as a tag. 結局、主メモリの番地は、上位12ビットがタグ、次の4ビットがセット番号、下位4ビットがライン内オフセットとして使用される。 Eventually, the address of the main memory, the upper 12 bits tag, the next 4 bits are set number, the lower 4 bits are used as in-line offset. 各タグ及びラインの内容の読出し、書込みの制御はコントローラ(14)により行われ、タグ(tag)から出力される内容は比較機構(10−13)に入力され、ライン(line)から出力される内容はセレクタ(15)を介して出力される。 Reading the contents of each tag and line, the control of the write is performed by the controller (14), the content that is output from the tag (tag) is inputted to the comparator (10-13), is output from the line (line) the contents are output through the selector (15). また、各比較機構(10−13)は、プロセッサコアから要求されたタグの情報と、キャッシュメモリのタグに格納されたの内容とが一致するか否かを比較する。 Each comparator (10-13) compares the tag information is requested by the processor core, whether or not the contents of the stored in the tag of the cache memory match.

【0004】図8を用いて、キャッシュがヒットする、 [0004] with reference to FIG. 8, cache hits,
即ち求める番地の内容が、キャッシュメモリの中で見つかる場合を説明する。 That the contents of the address required by, the case found in the cache memory. 例えばプロセッサコアからの要求により、主メモリの5AC83番地(16進数)の内容を、キャッシュメモリから検索する場合を考える。 For example a request from the processor core, the content of 5AC83 address of the main memory (hexadecimal), a case of searching the cache memory. まず主メモリの番地が、タグ、セット番号、ライン内オフセットの3つに分解される。 First address of the main memory, a tag, set number is decomposed into three lines in the offset. 前述した通り、タグは主メモリの番地の上位12ビット(16進数で3桁)なので「5AC」、セット番号は次の4ビット(16進数1 As described above, the tag main upper 12 bits of the address of the memory (hexadecimal 3 digits) since "5AC", set number next 4 bits (hexadecimal 1
桁)なので「8」、ライン内オフセットは下位4ビット(16進数1桁)なので「3」となる。 Digit) Since "8", in-line offset lower 4 bits (hexadecimal 1 digit) since "3". 次にセット番号が「8」であるセット(set 8)の、タグとラインを読み出す。 Then read a set number is set (set 8) is "8", the tag and the line. 1セット当たり4組のタグとラインを持つ構成と仮定しているので、4つのタグとラインが読み出される事になる。 Since it is assumed that configuration with four sets of tags and lines per set, so that the four tags and lines are read. ここでは各タグの値が「D4B」「5A Here, the value of each tag "D4B", "5A
C」「A19」「4F6」であるとする。 And a C "," A19 "," 4F6 ". 続いて読み出したタグ群と、番地から割り出したタグとを比較する。 Subsequently the tag group of read, a tag indexing from the address comparing.
ここでは左から2番目のタグが一致する。 Here is the second of the tag from the left to match. これにより左から2番目のラインに、求める5AC83番地の内容が含まれている事が分かる。 This makes the second line from the left, it can be seen that contains the contents of the 5AC83 address to be obtained. 正確にはこのラインには、5 Exactly on this line, 5
AC80番地から5AC8F番地までの16語が格納されている。 16 words of up to 5AC8F address is stored from address AC80. 最後にこのラインから、5AC83番地の内容(1語)を取り出す。 Finally, from this line, take out the contents of the address 5AC83 (1 words). ライン内オフセットは「3」であるので、ライン内の4語目を取り出し、プロセッサコアに渡す。 Since in-line offset is "3", taken out four words th line, passed to the processor core.

【0005】次に図9を用いて、キャッシュがミスする、即ち求める番地の内容が、キャッシュメモリの中には無い場合の動作を説明する。 [0005] Next with reference to FIG. 9, cache misses, the content of the address seeking viz, the operation when not in the cache memory. 例えば主メモリのC1B For example, C1B of main memory
59番地の内容を、キャッシュメモリから検索する場合を考える。 The contents of the address 59, consider the case to be retrieved from the cache memory. まず主メモリの番地「C1B59」は、タグ「C1B」、セット番号「5」、ライン内オフセット「9」に分解される。 Address "C1B59" of the first main memory, the tag "C1B", set number "5", is decomposed into line within the offset "9". 次にセット番号が「5」であるセット(set 5)から、4組のタグとラインを読み出す。 Then from the set set number is "5" (set 5), read the four sets of tags and the line.
ここでは各タグの値が「99D」「101」「2FF」 Here the value of each tag "99D", "101", "2FF"
「B0C」であると仮定する。 Assumed to be "B0C". 読み出した4つのタグと、主メモリの番地から求めたタグ「C1B」とを比較すると、一致するタグは無いので、キャッシュ中には、 And four of the tags read, is compared with the tag "C1B" obtained from the address of main memory, so the matching tag is not, is in the cache,
求めるC1B59番地の内容が含まれていない事が分かる。 It can be seen that does not contain the contents of the C1B59 address to be obtained. この場合は実際に主メモリを参照して、C1B59 In this case, see actually the main memory, C1B59
番地の内容を読み出す必要がある。 It is necessary to read the contents of the address. 正確にはC1B59 To be precise C1B59
番地を含む1ライン分の内容、即ちC1B50番地からC1B5F番地までの16語がまとめて読み出される事になる。 1 contents of the line, including the address, that is, that the 16 words from address C1B50 to C1B5F address is collectively read. 主メモリから読み出された内容は、将来の参照に備えてキャッシュメモリに格納される。 The contents read from the main memory is stored in the cache memory for future reference. 格納は、セット番号「5」に含まれる、4組のタグとラインの内の1 Stores, in the set number "5", one of the four sets of tags and lines
組の内容を置換する形になるが、どの組を置換するかは決められたアルゴリズムにより動的に決定される。 It becomes the form of replacing a set of content, or to replace which set is determined dynamically by an algorithm which is determined.

【0006】この方法としてはLRUアルゴリズムが一般的である。 [0006] LRU algorithm as this method is common. LRUアルゴリズムでは、最も長い間参照されなかった1組が、置換されるタグとラインとして選ばれる。 The LRU algorithm, one set that has not been least recently referenced, chosen as a tag and a line to be replaced. ここでは一番右側のタグとラインが、最も長い間参照されていなかったと仮定すると、このタグの内容は「B0C」から「C1B」に書き換えられ、対応するラインの内容は「B0C50番地からB0C5F番地の内容」であったのを「C1B50番地からC1B5F番地の内容」に書き換えられる。 Now the rightmost tag and lines, assuming that was not the least recently referenced, the contents of the tag is rewritten to "C1B" from the "B0C", B0C5F address from the contents of the corresponding line is "B0C50 address rewritten from which was the content "of the" contents of the C1B5F address from the address C1B50 ". 次にこのラインから、ライン内オフセットが「9」である1語、即ち10語目を取り出し、求めるC1B59番地の内容として、プロセッサコアに渡す。 Then from this line, one word line in the offset is "9", i.e. removed 10 words eyes, as the content of C1B59 address seeking, passed to the processor core.

【0007】 [0007]

【発明が解決しようとする課題】 以上から分かる通り、従来方式では各参照毎に、求める1語を探す為に、 As can be seen from the above [0008], in the conventional method for each reference, in order to find a single word to seek,
番地に対応するセットに含まれる、全てのタグを読み出し、比較演算を実行する必要があるので、電力を大量に消費してしまう問題があった。 Included in the set corresponding to the address, read all tags, it is necessary to perform the comparison operation, there is a problem that power is consumed in large quantities. 更に、比較結果が出た後でラインの内容を読み出すと、処理時間がかかってしまうので、通常はタグの読み出しと平行して、ラインの読み出しも行われる為、消費電力の問題はより大きなものとなる。 Further, reading the contents of the line after the comparison result is output, since it takes processing time, usually in parallel with the reading of the tag, for also performed the read line, the power consumption problem is more large to become. 上述の通り、キャッシュミスにより主メモリの内容が、キャッシュメモリにコピーされる場合、コピーするラインを含むセットは番地から特定できるが、セット内のどのラインに格納されるかは動的に定まるので、 As described above, the contents of the main memory by the cache miss, when copied into the cache memory, but the set that includes the line to be copied can be specified from the address, since either stored in which line in the set determined dynamically ,
各参照時に、そのセットのどのラインに含まれているか、或いはどのラインにも含まれていないのかは、セット内の読み出した各タグと、番地から割り出したタグとの比較演算を行うまで分からない。 At the time of each reference, if they were included in any line of the set, or is either not been included in any line, do not know to do and each of the tag that was read in the set, a comparison operation of the tag that was indexed from the address . これが、セットに含まれる全てのタグとラインを、処理しなければならない理由である。 This is all the tags and the line in the set, which is why that must be treated. 従来例の方式において、メモリのある連続領域を集中的に繰り返し参照する場合の動作について、 In scheme conventional example, the operation when referring intensively repeated continuous area of ​​memory,
図10を用いて説明する。 It will be described with reference to FIG. 10. 図10では、8CB47番地から8CBC4番地までの、126語の命令が繰り返し実行される場合の、図7の構成のキャッシュメモリの動作を示したものである。 In Figure 10, to 8CBC4 from address 8CB47, when the 126-word instruction is repeatedly executed, it shows the operation of the cache memory arrangement of FIG. 繰り返しの1回目では殆どの参照がキャッシュミスになると思われるが、1回目の繰り返し完了時点では、キャッシュメモリの内容は図10の様になり、2回目以降の繰り返しでは全てキャッシュヒットとなる。 Most of the references in the first iteration is likely to be a cache miss, the repetition time of completion of the first round, the contents of the cache memory becomes as shown in FIG. 10, all the cache hit in the second and subsequent repetition. これは処理速度という面では申し分ない状態であるが、消費電力という面では魅力が無い。 This is a state in which there is no satisfactory in terms of processing speed, charm is not in terms of power consumption. 図10 Figure 10
を良く見ると、繰り返し実行中は、各セット内の特定のタグとラインのみで、キャッシュヒットとなる事に気づく、しかし従来例の方式では、どのタグとラインがヒットとなるかは、各セット毎にまちまちになってしまうので、結局、常に番地に対応するセット内の、全てのタグとラインを調べる必要が生じ、大量の電力が消費されてしまう。 When well seen, during repeated execution, only certain tags and lines within each set, notice that the cache hit, but if in the method of prior art, which tag a line is hit, each set since become vary for each, after all, always in the set corresponding to the address, it becomes necessary to examine all of the tag and the line, a large amount of power is consumed.

【0008】本発明は上記問題に鑑みてなされたもので、キャッシュメモリのヒット率を低下させること無く、消費電力を大幅に削減することができるセットアソシアティブ型キャッシュメモリ装置を提供する事を目的とする。 [0008] The present invention has been made in view of the above problems, and aims to provide without reducing the hit rate of the cache memory, a set associative type cache memory device capable of greatly reducing the power consumption to.

【0009】 [0009]

【課題を解決するための手段】 本発明は、複数のセットを有し、1セット当たり2組以上のタグとラインを有するセットアソシアティブ型キャッシュメモリ装置において、専用命令の実行により、1組以上のタグとラインを全セット分まとめて使用禁止にする機構を備えることを特徴とする。 Means for Solving the Problems The present invention has a plurality of sets, the set associative type cache memory device having two or more pairs of tags and lines per set, the execution of the dedicated instruction, one or more sets of the tag and the line, characterized in that it comprises a mechanism to disable together entire set minute. また、複数のセットを有し、1セット当たり2組以上のタグとラインと、前記タグ及びラインの内容の書込み、読出しを制御する制御装置と、専用命令により値を設定可能なレジスタと、前記制御装置から前記タグ及びラインへ供給される読出しの制御信号を、前記レジスタによりゲーティングするゲーティング機構とを備えることを特徴とする。 Further, a plurality of sets, and two or more pairs of tags and lines per set, writing the contents of the tag and line, and a control unit for controlling the reading, a register capable of setting a value by dedicated instruction, the the control signals of the read to be supplied to the tag and line from the control device, characterized by comprising a gating mechanism for gating by the register. さらに、前記レジスタ及びゲーティング機構は、1つのみ設けられており、タグテーブル及びラインテーブルの組を、1組以上使用可能とし、1組以上使用禁止とすることを特徴とする。 Furthermore, the register and gating mechanism is provided only one, a set of tag table and line table, available more than one set, characterized by a disable one or more sets. さらに、前記レジスタ及びゲーティング機構は、それぞれのタグテーブル及びラインラインテーブルの組ごとに設けられ、独立して使用可能、使用禁止の状態が設定されることを特徴とする。 Furthermore, the register and gating mechanism is provided for each set of each tag table and the line-line table, independently usable, characterized in that the disabling state is set.

【0010】 [0010]

【発明の実施の形態】 以下、図面を参照し本発明の実施例について説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, with reference to the drawings will be described embodiments of the present invention. 図1は、本発明の第一の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の構成を示す図である。 Figure 1 is a diagram showing a configuration of a first embodiment set associative type cache memory device according to the embodiment of the present invention. キャッシュメモリは従来例と同様に、複数のセットを有し、1セット当たり2組以上のタグテーブルとラインテーブルとから構成される。 As in the conventional cache memory example, it has a plurality of sets, composed of two or more pairs per set of tag table and line table. また、各タグ及びラインの内容の読出し、書込みのを制御するコントローラ(14)、プロセッサコアから要求されたタグの情報と、キャッシュメモリのタグ(tag)に格納された内容とが一致するか否かを比較する比較機構(10−13)及びセレクタ(15)を有する。 Further, reading of the contents of each tag and line, a controller for controlling the writing of (14), or the tag information is requested by the processor core, the contents stored in the tag (tag) of the cache memory match whether having a comparator (10-13) and a selector (15) to be compared. 更に、 In addition,
従来例のキャッシュメモリ装置に比べて、各ラインに含まれるタグ(tag)とライン(line)の組の中の、特定の1組(例えば1番左側の組)以外を、専用命令の実行により一時的に停止させるためのゲーティング機構(1 Compared to the cache memory device of the conventional example, the inside set of tags (tag) and line (line) included in each line, the non-specific set (e.g. leftmost set), by the execution of a dedicated instruction gating mechanism for temporarily stopping (1
6)及びレジスタ(17)が追加されている。 6) and a register (17) is added. 具体的には、1ビットのレジスタ(17)(mask_cache_registe Specifically, one-bit register (17) (mask_cache_registe
r)が導入され、このレジスタ(17)の値により、1番左側を除く3組のタグ及びラインの検索表への読み出し制御信号がゲーティングされる。 r) is introduced, the value of the register (17), three sets of tag and the read control signal to the lookup table of the line except the leftmost is gated. 専用命令としては、ma As a dedicated instruction, ma
sk_cache_registerの値を0にして、各セットの中の1 The value of the sk_cache_register to 0, 1 in each set
組のみを動作可能とする命令(mask_cache_on命令と呼ぶ事にする)と、mask_cache_registerの値を1にして、全ての組を動作可能とする命令(mask_cache_off命令と呼ぶ事にする)とが用意され、ある連続した番地の命令が繰り返し実行される場合には、その直前にmask_cache_o A set only to allow operation command (to be referred to as mask_cache_on instructions), and to 1 the value of Mask_cache_register, (to be referred to as mask_cache_off instruction) operable to command all the pairs and are prepared, If the instruction is consecutive addresses are repeatedly executed, Mask_cache_o just before
n命令を、直後にmask_cache_off命令を各々挿入しておく。 The n instruction, previously inserted respectively mask_cache_off instruction immediately after. すると図1に示したセットアソシアティブ型キャッシュメモリ装置は、繰り返し実行の間だけ、セット連想度が1であるキャッシュメモリ、即ちダイレクトマップ型のキャッシュメモリの様に振る舞う事になる。 Then set associative type cache memory device shown in FIG. 1, only during the repeated execution, cache memory set associativity is 1, that is, it behaves like a direct map type cache memory.

【0011】以下では説明の便宜上、各セット(set 0 [0011] For convenience, each set of description in the following (set 0
− set F)において同じ位置にある、タグ(tag)とライン(line)の集合をウェイ(way)と呼ぶ事にする。 - In set F) is in the same position, it will be referred to as a set of tags (tag) and the line (line) way with the (way). また、同じウェイ中のある複数のタグ及び複数のラインをまとめ、それぞれタグテーブル、ラインテーブルと呼ぶ。 Also, combine multiple tags and a plurality of lines with the same in way, called respectively the tag table, a line table. 例えば、各セットの一番左側のタグの集合(タグテーブル)とラインの集合(ラインテーブル)の組をway0、左から2番目のタグとラインの集合をway For example, the set of the way0, way a set of second tag and line from the left set of leftmost tag of each set set of (tag table) and line (line table)
1等と呼ぶ事にする。 It will be referred to as a 1 or the like. これによれば4ウェイのセットアソシアティブ型キャッシュメモリ装置は、way0からway3までの4つのウェイを含む事になり、図1に示した方式では4つのウェイの内、3つを一時的に停止させる事になる。 According to this 4-way set associative type cache memory device will contain a four-way from way0 to way3, the four-way is in the manner shown in FIG. 1, temporarily stopping the three It becomes thing. 使用停止のウェイの設定にあたっては、 Notes stopping the way of setting,
上記の説明では読み出し信号をゲーティングすることにより、まず読み出しを禁止している。 In the above description by gating the read signal is first disables reading. 書き込みは、選択されなければ(即ち、対応するwrite信号がネガティブならば)使用されなくなる。 Writing, to be selected (i.e., the corresponding write signal if negative) is no longer used. write信号の制御は次の通リ。 Control of the write signal is next Tsuri.
従来のLRU置換アルゴリズムのままでは、読み出し信号のゲーティングにより、使用停止としたウェイが、最も長くアクセスされていなかった、として書き換えられる可能性がある。 The remains of the conventional LRU replacement algorithm, the gating of the read signal, the way in which the deactivation has not been longest access, may be rewritten as. 一般にLRU置換アルゴリズムでは、 In general, in the LRU replacement algorithm,
「全ウェイの中で」最も長くアクセスされていないウェイを選ぶが、本発明では「使用可能なウェイの中で」最も長くアクセスされていないウェイを選ぶ必要がある。 "In all the ways" choose the most long have not been accessed way but, in the present invention, it is necessary to choose a way that has not been the longest access "in a usable way."
従って本発明では、ウェイの使用可/不可のレジスタ(17)(mask_cache_register)の値を、コントローラ(14)で参照し、それにより使用停止とするためのウェイのwrite信号をネガティブにするものである。 In the present invention, therefore, the value of the way of the enable / disable register (17) (Mask_cache_register), referred to by the controller (14), is to negatively the way of the write signal to the thereby decommissioning .

【0012】図2を用いて、図1に示した第一の実施例のセットアソシアティブ型キャッシュメモリ装置の動作を説明する。 [0012] with reference to FIG. 2, the operation of the set associative type cache memory device of the first embodiment shown in FIG. 図10で示した従来例と同様に、8CB4 Similar to the conventional example shown in FIG. 10, 8CB4
7番地から8CBC4番地までの、126語の命令が繰り返し実行される場合について考える。 From address 7 to address 8CBC4, consider a case where 126-word instruction is repeatedly executed. 説明を簡単にする為、繰り返し実行は必ず8CB47番地の命令実行で始まり、必ず8CBC4番地の命令実行で終わると仮定すると、繰り返し実行する命令列の、直前に当たる8C To simplify the explanation, begins with repeated execution always instruction execution at address 8CB47, and always assumed that ends with the instruction execution at address 8CBC4, the instruction sequence to be executed repeatedly, hit just before 8C
B46番地に、mask_cache_on命令を、直後に当たる8 To address B46, the mask_cache_on instruction, hit just after 8
CBC5番地にmask_cache_off命令を、各々挿入しておく。 The mask_cache_off instruction to address CBC5, keep inserting each. 繰り返し実行中は、mask_cache_on命令を実行した後なので、全ての参照に対して、キャッシュメモリ中の各セットの1番左側のタグとライン(way0)のみが検索対象及び、キャッシュミス時の置換対象となる。 During repeated execution, so after executing the mask_cache_on instruction, for all the reference, only the tag and the line of the leftmost of the set in the cache memory (the way0) is searched and the replacement of a cache miss Become. 従って1回目の繰り返しが完了した時点では、キャッシュメモリの内容は図2に示す様に、繰り返し実行部分の命令列が、全てway0内に格納される。 At the time therefore the first iteration is complete, the contents of the cache memory as shown in FIG. 2, the instruction sequence of repeated execution part, are all stored in the way0. 2回目以降の繰り返しでは、唯一検索されるway0内でキャッシュヒットとなる。 In the second and subsequent repetition, a cache hit in the way0 to be the only search. 繰り返し実行の1回目では殆ど全てのメモリ参照がキャッシュミスとなり、2回目以降は全てキャッシュヒットとなるという点では、提案方式のキャッシュメモリも従来方式と同じ振る舞いをする。 Repeated almost all of the memory reference is a cache miss in the first run, the second and subsequent in terms of all the cache hit, the cache memory of the proposed method is also the same behavior as the conventional method. 従って処理速度は従来例の方式と第一の実施例の方式とで殆ど同じとなる。 Therefore the processing speed is almost same in the manner of conventional method in the first embodiment. 正確にはmask_cache_on命令とmask_cache_off Exactly mask_cache_on instructions and mask_cache_off
命令の実行の為に2命令分、提案方式の方が従来方式より処理時間が長くなるが、繰り返し実行中には、一般にのべ数百から数万といった大量の命令が実行されるので、繰り返し実行前後での2命令の増加は無視できる。 2 instruction amount for the execution of the instruction, but those of the proposed scheme is longer processing time than the conventional method, during the repeated execution, because the general large amounts of instruction, such as a total number of one hundred from tens of thousands are executed, repeatedly increase of two instructions before and after the execution can be ignored.
第一の実施例の方式では、実行速度を殆ど落とさない一方で、繰り返し実行という長い処理の間、キャッシュメモリの大部分(本実施例では4分の3)を停止させているので、大幅に消費電力を節約できる。 In the method of the first embodiment, while not to drop the execution speed most, during the long process of repeatedly executing, since stopping the (3/4 in this embodiment) the majority of the cache memory, considerably It can save power consumption.

【0013】繰り返し実行される命令列について補足しておく。 [0013] will be supplemented instruction sequence that is repeatedly executed. 繰り返し実行される命令列の例として、ループ処理や再帰手続きが挙げられるが、本実施例では1つのウェイ(way)のみで、繰り返し部分の命令列を全て格納できる事が前提となる。 Examples of the instruction sequence to be repeatedly executed, but the loop processing and recursive procedures include, only one way in the present embodiment (way), it is assumed that can store all instruction sequence of repeated portions. 従って繰り返し部分の大きさが、セット数とライン長の積以下である必要がある。 Thus the magnitude of the repetition part or less is required the product of the number of sets and line length. 本実施例で使用している例では256語(=16セット× 256 words in the example used in this example (= 16 sets ×
16語)という事になるが、セット数については始めに断った通り、説明の便宜上、現実的な値よりも遥かに小さな値に仮定しただけであり、セット数256等が現実的な値なので、4096語(=256セット×16語) Becomes 16 words) the fact that, as for the number of sets refused at the beginning, for convenience of explanation, only assumed much smaller than realistic value, since the set 256 or the like is realistic value , 4096 words (= 256 set × 16 words)
といった、かなり長い命令列の繰り返し実行に対しても、本実施例の方式は適用可能である。 Such, even for repeated execution of fairly long instruction sequence, the system of the present embodiment can be applied. また、本実施例の方式においてキャッシュメモリは、繰り返し実行中は、ダイレクトマップ型キャッシュメモリとして振る舞うので、繰り返し実行する命令列の中に、別の手続きの呼び出しが含まれるのは好ましくない(再帰呼び出しは問題ない)。 The cache memory in the system of the present embodiment, during the repeated execution, since behaves as a direct mapped cache memory, in the instruction sequence to be executed repeatedly, it is not preferable that in a call to another procedure (recursive calls no problem) is. これは繰り返し部分の命令列を含むラインと、繰り返し部分から呼び出された手続きの命令列を含むラインとが、キャッシュメモリ内の同じセットに、マッピングされてしまう可能性が生じるからである。 This a line containing the instruction sequence of repeated portions, and the line containing the instruction sequence of procedures called from repeated portions, because the same set in the cache memory, is a possibility that the mapped results. しかしこれは、繰り返し部分の命令列からの手続き呼び出しを、インライン展開する事により、容易に解決可能である。 However, this is a procedure call from the instruction sequence of repeated part, by inline expansion, which is easily resolvable.

【0014】次に、図3乃至図5を参照し本発明の第二の実施例について説明する。 [0014] Next, with reference to FIGS. 3 to 5 will be described a second embodiment of the present invention. 図3は、本発明の第二の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の構成を示す図である。 Figure 3 is a diagram showing a configuration of a second exemplary set associative type cache memory device according to the embodiment of the present invention. タグテーブル及びラインテーブルの構成、各タグ及びラインの内容の読出し、書込みのを制御するコントローラ(14)、プロセッサコアから要求されたタグの情報と、キャッシュメモリのタグ(tag)に格納されたの内容とが一致するか否かを比較する比較機構(10−13)、セレクタ(15)は、前述の第一の実施例と同様である。 Configuration of the tag table and the line table, the reading of the contents of each tag and line, a controller for controlling the writing of (14), the tag information is requested by the processor core, stored in the tag (tag) of the cache memory comparator for comparing whether the contents match (10-13), the selector (15) is the same as the first embodiment described above. 本実施例のキャッシュメモリ装置では、セット連想度と等しいビット数のレジスタ(mask_cache_register) (30−33)及びゲーティング機構(20−23)が備えられており、レジスタの各ビット(bit 0−bit3)は各ウェイ(way 0−wa In the cache memory apparatus of this embodiment is provided with a set associativity equal number of bits of the register (Mask_cache_register) (30-33) and gating mechanism (20-23) is, each bit of the register (bit 0-bit3 ) each way (way 0-wa
y3)と1対1に対応している。 y3) and have one-to-one correspondence. mask_cache_registerの対応するビットが1であるウェイが、検索及び置換の対象となる。 Way corresponding bit of mask_cache_register is 1, are subject to search and replace. 第一の実施例と同様に、読出し停止の制御は、ゲーティング機構(20−23)の出力で決定され、書込み停止の制御は、レジスタ(30−33)の値を、コントローラ(14)で参照し、それにより使用停止とするためのウェイのwrite信号をネガティブにすることで行われる。 As in the first embodiment, control of the read stop is determined by the output of the gating mechanism (20-23), the control of the write down, the value of the register (30-33), the controller (14) reference, is thus performed by the way of the write signal for the deactivation to negative.

【0015】通常は全ビットが1となっており、キャッシュメモリ全体が動作するが、繰り返し実行部分では、 [0015] Usually has all bits become 1, the entire cache memory is operated, the repeated execution part,
専用命令の実行によって、mask_cache_registerの値が書き換えられ、一部のウェイのみが検索及び置換の対象として動作する事になる。 By the execution of a dedicated instruction, the value of mask_cache_register is rewritten, so that the only part of the way to work as an object of retrieval and replacement. 例えば4ウェイのセットアソシアティブ型キャッシュの場合、通常はmask_cache_reg For example, in the case of a 4-way set associative type cache, usually mask_cache_reg
isterの値は2進数で「1111」になっているが、mas The value of ister is set to "1111" in binary but, mas
k_cache_registerの値が「0010」に変更されると、 When the value of k_cache_register is changed to "0010",
way2のみが検索及び置換の対象となり、残り3つのウェイが停止する。 Only way2 is subject to search and replace, the remaining three-way stops. 繰り返し実行部分が終了すると、専用命令の実行によりmask_cache_registerの値が「11 Repeated execution part is completed, the value of mask_cache_register is by executing the dedicated command "11
11」に戻され、再び4つのウェイ全てが検索及び置換の対象となる。 Returned to 11 ", all the four ways is the subject of search and replacement again. 本実施例においても第一の実施例同様に、ループ処理や再帰手続き等の様に、比較的短い命令列が繰り返し実行される場合には、一時的にセット連想度を下げ、各セットに含まれるタグ及びラインの一部のみを、参照及び更新の対象とする事ができ、キャッシュメモリのヒット率を低下させる事無く、消費電力を大幅に節約できる。 Also similarly the first embodiment in the present embodiment, during regular loop or recursive procedures, when a relatively short instruction sequence is repeatedly executed, temporarily lowers the set associativity, included in each set only a portion of the tag and lines, reference and can be subject to update, without reducing the hit rate of the cache memory, can result in significant power savings. また、最適なキャッシュサイズが予め分かっているプログラムの実行については、最適なキャッシュサイズとなるまでセット連想度を下げる事により、 In addition, for the execution of the program optimal cache size is known in advance, by lowering the set associativity until the optimal cache size,
性能を低下させる事無く、消費電力を削減する事が可能である。 Without lowering the performance, it is possible to reduce power consumption. 更に、ノートパソコンで多く見られる「省電力モード」の様に、性能を多少下げてでも消費電力を減らしたい場合において特に有効である。 In addition, as many can be seen on a laptop "power saving mode", is particularly effective in case you want to reduce the power consumption even slightly lower the performance.

【0016】2つの命令列A、命令列Bの繰り返し実行が交互に行われる場合も、命令列Aの直前にはmask_cac [0016] If two instruction sequence A, repeated execution of the instruction sequence B are alternately performed also immediately before the instruction sequence A is mask_cac
he_registerの値を「1000」とし、命令列Bの直前には「0100」にする等して、命令列Aと命令列Bとで異なるウェイを使用する事が可能となり、キャッシュメモリ内に格納された、相手の命令列のコピーを置換してしまう状況を、避ける事が可能である。 The value of he_register is "1000", and the like immediately before the instruction sequence B to "0100", it is possible to use different ways in the instruction sequence A with the instruction sequence B, it is stored in the cache memory was, a situation that would replace the copy of the other party of the instruction sequence, it is possible to avoid. 例えば、命令列AをA2860番地からA28EF番地までの命令列、命令列BをB9E10番地からB9ECF番地までの命令列とすると、本実施例によるキャッシュメモリの動作は、図4に示す様になる。 For example, the instruction sequence of an instruction sequence A from address A2860 to A28EF address, when the instruction sequence of an instruction sequence B from address B9E10 to B9ECF address, operation of the cache memory according to this embodiment, it becomes as shown in FIG. 図4は、2組の比較的短い命令列(命令列Aと命令列B)の繰り返し実行が交互に行われる場合の動作を説明するための実行中の様子を示す図である。 Figure 4 is a diagram showing two sets of relatively short instruction sequence how repetitive execution is running for explaining the operation when performed in alternating (instruction sequence A with the instruction sequence B). 命令列Aのコピーがway0に、命令列Bのコピーがway1に格納されているが、命令列Aの実行中はmask_cache_registerの値が「1000」に設定されているので、way0のみが検索及び置換の対象となり、この例ではA28A5番地の命令が、way0 A copy of the instruction sequence A is way0, but a copy of the instruction sequence B is stored in the way1, because during the execution of the instruction sequence A value of mask_cache_register is set to "1000", the search and replacement only way0 of the subject, the instruction at address A28A5 in this example, way0
から見つかっている。 It has been found from. 命令列Bを実行中は、図5に示す通リmask_cache_registerの値が「0100」に設定されているので、way1のみが検索及び置換の対象となり、この例ではB9E64番地の命令が、way1から見つかっている。 The running instruction sequence B, the value of Tsuri mask_cache_register shown in FIG. 5 is set to "0100", only way1 is subject to search and replacement, in this example the instruction at address B9E64, found from way1 ing. 再び命令列Aを実行する時には、mask When you run the instruction sequence A again, mask
_cache_registerの値を「1000」に設定するだけで、以前にキャッシュメモリに格納した、命令列Aのコピーをそのまま利用できる。 In the value of the _cache_register only be set to "1000", previously stored in the cache memory, can be used as it is a copy of the instruction sequence A. 命令列Bについても同様である。 The same applies to the instruction sequence B.

【0017】1つのウェイに収まらない様な、比較的長い命令列を繰り返し実行する場合には、mask_cache_reg [0017], such as not fit on one-way, if you repeatedly run a relatively long instruction sequence, mask_cache_reg
isterの値を「0011」等に設定する事により2つのウェイを使用したり、「1101」等に設定する事により3つのウェイを使用したりする事により、柔軟に対応可能である。 You can use the two-way by setting the value of ister to "0011", and the like, by or to use the three-way by setting to "1101", etc., which can be flexibly support. 例えば図6は、CC140番地からCC2 6, for example, CC2 from address CC140
CF番地までの命令列を繰り返し実行中の、本実施例によるキャッシュメモリの状態を示したものである。 Running repeated instruction sequences to CF address shows the state of the cache memory according to this embodiment. mask mask
_cache_registerの値が「0011」に設定され、wa The value of _cache_register is set to "0011", wa
y2とway3のみが、検索及び置換の対象なり、この例ではCC256番地の命令が、way3から見つかっている。 Only y2 and way3 is searched and becomes subject to substitution, in this example the instruction at address CC256, are found from way3. 繰り返し実行する命令列の各々を、どのウェイで実行するかは、mask_cache_registerの値を変更する専用命令で、例えば「mask_cache 0100」と言う様に、 Each of the instruction sequence to be executed repeatedly, that perform in any way, a dedicated instruction to change the value of mask_cache_register, as say for example, "mask_cache 0100",
命令の引数という形で、前もって決めておいても良いし、過去に各ウェイで実行された繰り返し実行の記録を参照して、LRU等のアルゴリズムに従って動的に決定しても良い。 In the form of instruction argument, may be previously pre-determined, with reference to the record of the past repeated execution executed in each way may be dynamically determined according to an algorithm such as LRU.

【0018】 [0018]

【発明の効果】 本発明のセットアソシアティブ型キャッシュメモリ装置においては、ループ処理や再帰手続き等の様に、比較的短い命令列が繰り返し実行される場合には、一時的にセット連想度を下げ、各セットに含まれるタグ及びラインの一部のみを、参照及び更新の対象とする事が可能になる。 In the set associative type cache memory device of the present invention exhibits, as such loop or recursive procedures, when a relatively short instruction sequence is repeatedly executed, temporarily lowers the set associativity, only a portion of the tag and line included in each set, it becomes possible to reference and update. 従って、キャッシュメモリのヒット率を低下させる事無く消費電力を大幅に節約できる。 Thus, it saves considerable without power consumption that reduce the hit rate of the cache memory.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明の第一の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の構成を示す図である。 1 is a diagram showing the configuration of a set associative type cache memory device according to a first embodiment of the present invention.

【図2】本発明の第一の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の、比較的短い命令列を繰り返し実行した場合の動作を説明する図である。 [Figure 2] of the first embodiment set associative type cache memory device according to the embodiment of the present invention, is a diagram for explaining the operation when executing repeated relatively short instruction sequence.

【図3】本発明の第二の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の構成を示す図である。 3 is a diagram showing the configuration of a set associative type cache memory device according to a second embodiment of the present invention.

【図4】本発明の第二の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の、2組の比較的短い命令列の繰り返し実行が、交互に行われる場合の動作を説明する図である。 [Figure 4] of the second exemplary set associative type cache memory device according to the embodiment of the present invention, repeated execution of two sets of relatively short instruction sequence is a diagram for explaining the operation when performed alternately.

【図5】本発明の第二の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の、2組の比較的短い命令列の繰り返し実行が、交互に行われる場合の動作を説明する図である。 [5] of the second exemplary set associative type cache memory device according to the embodiment of the present invention, repeated execution of two sets of relatively short instruction sequence is a diagram for explaining the operation when performed alternately.

【図6】本発明の第二の実施例に係わるセットアソシアティブ型キャッシュメモリ装置の、比較的長い命令列を繰り返し実行する場合の動作を説明する図である。 [6] of the second exemplary set associative type cache memory device according to the embodiment of the present invention, it is a diagram for explaining the operation when executing repeatedly relatively long instruction sequence.

【図7】従来例に係わるセットアソシアティブ型キャッシュメモリ装置の構成を示す図である。 7 is a diagram showing the configuration of a set associative type cache memory device according to the prior art.

【図8】従来例に係わるセットアソシアティブ型キャッシュメモリ装置の、キャッシュヒット時の動作を説明する図である。 [8] of the set associative type cache memory device according to the prior art, it is a diagram for explaining the operation of the cache hit.

【図9】従来例に係わるセットアソシアティブ型キャッシュメモリ装置の、キャッシュミス時の動作を説明する図である。 [9] the set associative type cache memory device according to the prior art, it is a diagram for explaining the operation of the cache miss.

【図10】従来例に係わるセットアソシアティブ型キャッシュメモリ装置の、比較的短い命令列を繰り返し実行した場合の動作を説明する図である。 [10] set associative type cache memory device according to the prior art, it is a diagram for explaining the operation when executing repeated relatively short instruction sequence.

【符号の説明】 DESCRIPTION OF SYMBOLS

10、11、12、13 比較機構 14 コントローラ 15 セレクタ 16、20、21、22、23 ゲーティング機構 17、30、31、32、33 レジスタ tag タグ line ライン 10, 11, 12, 13 comparator 14 controller 15 selector 16,20,21,22,23 gating mechanism 17,30,31,32,33 register tag tag line line

Claims (4)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 複数のセットを有し、1セット当たり2 [Claim 1 further comprising a plurality of sets, one set per 2
    組以上のタグとラインを有するセットアソシアティブ型キャッシュメモリ装置において、 専用命令の実行により、1組以上のタグとラインを全セット分まとめて使用禁止にする機構を備えることを特徴とするセットアソシアティブ型キャッシュメモリ装置。 In the set associative type cache memory device having a pair or more tags and lines, dedicated by the execution of the instruction, the set associative type, characterized in that it comprises a mechanism for the full set partial collectively disable one or more pairs of tags and lines cache memory device.
  2. 【請求項2】 複数のセットを有し、1セット当たり2 Wherein a plurality of sets, one set per 2
    組以上のタグとラインと、 前記タグ及びラインの内容の書込み、読出しを制御する制御装置と、 専用命令により値を設定可能なレジスタと、 前記制御装置から前記タグ及びラインへ供給される読出しの制御信号を、前記レジスタによりゲーティングするゲーティング機構とを備えることを特徴とするセットアソシアティブ型キャッシュメモリ装置。 A set or more tags and lines, the writing of the contents of the tag and line, and a control unit for controlling the reading, a register capable of setting a value by a dedicated instruction from the control unit of a read to be supplied to the tag and the line a control signal, a set associative type cache memory device characterized by comprising a gating mechanism for gating by the register.
  3. 【請求項3】 前記レジスタ及びゲーティング機構は、 Wherein the register and gating mechanism,
    1つのみ設けられており、タグテーブル及びラインテーブルの組を、1組以上使用可能とし、1組以上使用禁止とすることを特徴とするセットアソシアティブ型キャッシュメモリ装置。 Provided only one, a set of tag table and line table, available more than one set, a set associative type cache memory apparatus characterized by a disable one or more sets.
  4. 【請求項4】 前記レジスタ及びゲーティング機構は、 Wherein said register and gating mechanism,
    それぞれのタグテーブル及びラインテーブルの組ごとに設けられ、独立して使用可能、使用禁止の状態が設定されることを特徴とするセットアソシアティブ型キャッシュメモリ装置。 It provided for each set of each tag table and the line table, independently usable, set associative type cache memory device characterized by the use prohibition state is set.
JP10680199A 1999-04-14 1999-04-14 Set associative cache memory device Pending JP2000298618A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10680199A JP2000298618A (en) 1999-04-14 1999-04-14 Set associative cache memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10680199A JP2000298618A (en) 1999-04-14 1999-04-14 Set associative cache memory device

Publications (1)

Publication Number Publication Date
JP2000298618A true true JP2000298618A (en) 2000-10-24

Family

ID=14442984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10680199A Pending JP2000298618A (en) 1999-04-14 1999-04-14 Set associative cache memory device

Country Status (1)

Country Link
JP (1) JP2000298618A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040176A (en) * 2004-07-29 2006-02-09 Fujitsu Ltd Cache memory device and memory control method
JP2007048285A (en) * 2005-08-05 2007-02-22 Fujitsu Ltd Power consumption reducing method and logical device and system in cache
JP2007048286A (en) * 2005-08-05 2007-02-22 Fujitsu Ltd Power consumption reduction method in cache, logical unit, and system
JP2008090673A (en) * 2006-10-03 2008-04-17 Mitsubishi Electric Corp Cache memory control device
US7437513B2 (en) 2004-04-30 2008-10-14 Nec Corporation Cache memory with the number of operated ways being changed according to access pattern
JP2009505306A (en) * 2005-08-22 2009-02-05 インテル・コーポレーション Dynamic memory sizing for power reduction
US8117397B2 (en) 2008-12-16 2012-02-14 International Business Machines Corporation Victim cache line selection
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8225045B2 (en) 2008-12-16 2012-07-17 International Business Machines Corporation Lateral cache-to-cache cast-in
US8285939B2 (en) 2009-04-08 2012-10-09 International Business Machines Corporation Lateral castout target selection
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
US8327073B2 (en) 2009-04-09 2012-12-04 International Business Machines Corporation Empirically based dynamic control of acceptance of victim cache lateral castouts
US8347036B2 (en) 2009-04-09 2013-01-01 International Business Machines Corporation Empirically based dynamic control of transmission of victim cache lateral castouts
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
US8949540B2 (en) 2009-03-11 2015-02-03 International Business Machines Corporation Lateral castout (LCO) of victim cache line in data-invalid state
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437513B2 (en) 2004-04-30 2008-10-14 Nec Corporation Cache memory with the number of operated ways being changed according to access pattern
JP4669244B2 (en) * 2004-07-29 2011-04-13 富士通株式会社 The cache memory device and memory control method
JP2006040176A (en) * 2004-07-29 2006-02-09 Fujitsu Ltd Cache memory device and memory control method
JP2007048285A (en) * 2005-08-05 2007-02-22 Fujitsu Ltd Power consumption reducing method and logical device and system in cache
JP2007048286A (en) * 2005-08-05 2007-02-22 Fujitsu Ltd Power consumption reduction method in cache, logical unit, and system
JP2009505306A (en) * 2005-08-22 2009-02-05 インテル・コーポレーション Dynamic memory sizing for power reduction
JP2008090673A (en) * 2006-10-03 2008-04-17 Mitsubishi Electric Corp Cache memory control device
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8117397B2 (en) 2008-12-16 2012-02-14 International Business Machines Corporation Victim cache line selection
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
US8225045B2 (en) 2008-12-16 2012-07-17 International Business Machines Corporation Lateral cache-to-cache cast-in
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
US8949540B2 (en) 2009-03-11 2015-02-03 International Business Machines Corporation Lateral castout (LCO) of victim cache line in data-invalid state
US8285939B2 (en) 2009-04-08 2012-10-09 International Business Machines Corporation Lateral castout target selection
US8327073B2 (en) 2009-04-09 2012-12-04 International Business Machines Corporation Empirically based dynamic control of acceptance of victim cache lateral castouts
US8347036B2 (en) 2009-04-09 2013-01-01 International Business Machines Corporation Empirically based dynamic control of transmission of victim cache lateral castouts
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts

Similar Documents

Publication Publication Date Title
Agarwal et al. Column-associative caches: A technique for reducing the miss rate of direct-mapped caches
US5235697A (en) Set prediction cache memory system using bits of the main memory address
US5619671A (en) Method and apparatus for providing token controlled access to protected pages of memory
US5574936A (en) Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5555392A (en) Method and apparatus for a line based non-blocking data cache
US4008460A (en) Circuit for implementing a modified LRU replacement algorithm for a cache
US5548739A (en) Method and apparatus for rapidly retrieving data from a physically addressed data storage structure using address page crossing predictive annotations
US6122708A (en) Data cache for use with streaming data
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
US6732253B1 (en) Loop handling for single instruction multiple datapath processor architectures
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US6425055B1 (en) Way-predicting cache memory
US5423015A (en) Memory structure and method for shuffling a stack of data utilizing buffer memory locations
US20010052062A1 (en) Parallel computer within dynamic random access memory
US5809522A (en) Microprocessor system with process identification tag entries to reduce cache flushing after a context switch
US4774654A (en) Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
US6976126B2 (en) Accessing data values in a cache
US6076144A (en) Method and apparatus for identifying potential entry points into trace segments
US3701977A (en) General purpose digital computer
US20030046493A1 (en) Hardware updated metadata for non-volatile mass storage cache
US5239642A (en) Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US5073891A (en) Method and apparatus for testing memory
US5870576A (en) Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
US5787494A (en) Software assisted hardware TLB miss handler

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606