Claims
- 1. A set-associative cache memory, wherein an address comprising an address tag, a congruence class address, and a word select indicator are input to the set-associative cache memory, wherein a data word is output in response to the input address, and wherein the set-associative cache memory uses a set of N congruence classes to store up to N data words for each combination of a congruence class address and a word selected by the word select indicator, the set-associative cache memory comprising:
- an address tag memory, coupled to receive the congruence class address, which outputs up to N address tag entries for an address tag memory entry addressed by said congruence class address;
- a comparator, coupled to said address tag memory and coupled to receive the address tag, which compares the address tag with said up to N address tag entries and outputs a congruence set selecting signal specifying which, if any, of said N address tag entries match the address tag;
- a data memory, coupled to receive the congruence class address and the word select indicator, said data memory comprising a plurality of word arrays, which each comprise a plurality of bit arrays, where a bit array comprises N congruence set memories, each comprising M bit entries addressable by the congruence class address, wherein said data memory outputs a data bit from a bit entry addressed by the congruence class address for each of said N congruence set memories of said plurality of bit arrays in a word array selected by the word select indicator;
- a congruence set selector, coupled to said comparator and coupled to said data memory, which inputs data bits output by said data memory and outputs those of said data bits input to said congruence set selector which are output from congruence set memories selected by said congruence set selecting signal; and
- a plurality of sense amplifiers, each coupled to a bit output of said congruence set selector to receive selected congruence set signals, wherein each of said plurality of said sense amplifiers amplifies and outputs a bit value of said congruence set signals, thereby using only one sense amplifier for each of said N congruence set memories.
- 2. A set-associative cache memory as set forth in claim 1, further comprising:
- a plurality of writing means, coupled to said congruence set selector, for writing data to each of said plurality of bit arrays of said data memory via said congruence set selector, wherein said plurality of writing means rewrite each bit entry in congruence set memories selected by said congruence set selecting signal; and
- means, coupled to said congruence set selector, for selecting all N congruence set memories of each bit array simultaneously.
- 3. A set-associative cache memory as set forth in claim 1, wherein said congruence set selecting signal selects no more than one congruence set selection at any time when outputting data from said data memory.
- 4. A set-associative cache memory as set forth in claim 1, wherein each of said plurality of sense amplifiers coupled to bit outputs of word arrays not selected by the word select indicator are disabled when outputting data from said data memory.
- 5. A set-associative cache memory as set forth in claim 1, comprising four word arrays, thirty-two bit arrays per word array, and wherein N, the number of congruence sets, is four, and the number of bit entries per congruence set in a bit array, M, is a power of two.
Priority Claims (1)
Number |
Date |
Country |
Kind |
1-286181 |
Nov 1989 |
JPX |
|
Parent Case Info
This is a continuation of application Ser. No. 07/604,023, filed Oct. 25, 1990, now abandoned.
US Referenced Citations (6)
Non-Patent Literature Citations (2)
Entry |
L. Liu "XOR Randomization in Cache Congruence Class Indexing" IBM Technical Disclosure Bulletin, vol. 27, No. 2 (Jul. 1984), p. 1097. |
Interface, No. 123, Aug. 1987, CQ Publication. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
604023 |
Oct 1990 |
|