← Back to Patent Explorer
US5014195A Expired / Lapsed US ⏱️ 0.0 years remaining

Configurable set associative cache with decoded data element enable lines

Assignee: Hewlett Packard Development Co LP
•
Filing: 1990-05-10
•
Granted: 1991-05-07
•
Expires: 2010-05-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A set associative cache using decoded data element select lines which can be selectively configured to provide different data sets arrangements. The cache includes a tag array, a number of tag comparators corresponding to the maximum possible number of sets, a data element select logic circuit, and a data array. The tag and data arrays each provide, in response to an input address, a number of output tag and data elements, respectively. The number of output tag and data elements depends upon the maximum set size desired for the cache. An input main memory address is used to address both the tag and data arrays. The tag comparators compare a tag field portion of the input main memory address to each element output from the tag array. The select logic then uses the outputs of the tag comparators and one or more of the input main memory address bits to generate decoded data array enable signals. The decoded enable signals are then coupled to enable the desired one of the enabled data elements.

Inventors

  • 👤 James A. Farrell
  • 👤 Richard L. Sites

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 11:13
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0864; G06F2212/00; G06F2212/50; G06F2212/502; G06F2212/60; G06F2212/601

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 211 words
A set associative cache for operating on an input main memory address, the input main memory address including a tag field and index field, comprising: A. a tag array providing, in response to the index field, a plurality of tag elements in parallel, the plurality of tag elements being equal to a predetermined maximum set size into which the cache can be configured; B. a plurality of tag comparators, each tag comparator arranged to receive a corresponding one of the tag elements and the tag field, and each tag comparator asserting a corresponding tag hit signal when its received tag element matches the tag field; C. a data array providing, in response to the index field, a plurality of data elements, the plurality of data elements being equal to the predetermined maximum set size; D. a data element select logic circuit providing, in response to the tag field and the plurality of tag hit signals, a plurality of decoded data element enable signals, the plurality of decoded data element enable signals being equal to the predetermined maximum set size; and E. multiplexing means, arranged to receive the plurality of data elements and the plurality of decoded data element enable signals, for enabling access to a selected one of the data elements.
Claim 2
Dependent Claim 211 words
A set associative cache for operating on an input main memory address, the input main memory address including a tag field and index field, comprising: A. a tag array providing, in response to the index field, a plurality of tag elements in parallel, the plurality of tag elements being equal to a predetermined maximum set size into which the cache can be configured; B. a plurality of tag comparators, each tag comparator arranged to receive a corresponding one of the tag elements and the tag field, and each tag comparator asserting a corresponding tag hit signal when its received tag element matches the tag field; C. a data array providing, in response to the index field, a plurality of data elements, the plurality of data elements being equal to the predetermined maximum set size; D. a data element select logic circuit providing, in response to the tag field and the plurality of tag hit signals, a plurality of decoded data element enable signals, the plurality of decoded data element enable signals being equal to the predetermined maximum set size; and E. multiplexing means, arranged to receive the plurality of data elements and the plurality of decoded data element enable signals, for enabling access to a selected one of the data elements.
Claim 3
Dependent Claim 42 words
An apparatus as in claim 1 wherein the multiplexing means comprises a plurality of bi-directional transceivers, each transceiver coupled to receive a corresponding one of the data elements at one input port and coupled to the other transceivers at another input port.
Claim 4
Dependent Claim 50 words
An apparatus as in claim 1 wherein the data element select logic is also responsive to a signal indicating the current number of sets into which the cache is arranged, additionally comprising: F. means for generating the signal indicating the current number of sets into which the cache is arranged.
Claim 5
Dependent Claim 203 words
A set associative cache for operating on an input main memory address, the input main memory address including a tag field and index field, comprising: A. tag array means, responsive to the index field, for providing a plurality of tag elements in parallel, the number of tag elements equal to a predetermined maximum set size into which the cache can be configured; B. data array means, responsive to the index field, for providing a plurality of data elements in parallel, the number of data elements equal to the predetermined maximum set size; C. means for allowing concurrent access to the tag array contents and the data array contents; D. a plurality of tag comparator means, each responsive to a corresponding one of the tag elements from the tag array and also responsive to the tag field from the input main memory address, for asserting a tag hit signal when the corresponding tag element from the tag array matches the tag field from the input main memory address; and E. means for deferring the enablement of access to a desired one of the data elements until the corresponding tag hit signal is asserted by the tag comparator means corresponding to the desired data element.
Claim 6
Dependent Claim 203 words
A set associative cache for operating on an input main memory address, the input main memory address including a tag field and index field, comprising: A. tag array means, responsive to the index field, for providing a plurality of tag elements in parallel, the number of tag elements equal to a predetermined maximum set size into which the cache can be configured; B. data array means, responsive to the index field, for providing a plurality of data elements in parallel, the number of data elements equal to the predetermined maximum set size; C. means for allowing concurrent access to the tag array contents and the data array contents; D. a plurality of tag comparator means, each responsive to a corresponding one of the tag elements from the tag array and also responsive to the tag field from the input main memory address, for asserting a tag hit signal when the corresponding tag element from the tag array matches the tag field from the input main memory address; and E. means for deferring the enablement of access to a desired one of the data elements until the corresponding tag hit signal is asserted by the tag comparator means corresponding to the desired data element.
Claim 7
Dependent Claim 301 words
A data processing system comprising: a central processing unit providing memory address signals at an output, the memory address signals including a tag field and index field; a set associative cache for receiving the memory address signals and for selectively asserting or not-asserting a cache hit signal in response thereto; and main memory means, for receiving the memory address signals and the cache hit signal, and for enabling access to the set associative cache by the central processing unit when the cache hit signal is not asserted, wherein the set associative cache additionally comprises: A. a tag array providing, in response to the index field, a plurality of tag elements in parallel, the plurality of tag elements equal to a predetermined maximum set size into which the cache can be configured; B. a plurality of tag comparators, each tag comparator arranged to receive a corresponding one of the tag elements and the tag field, and each tag comparator asserting a corresponding tag hit signal when its received tag element matches the tag field; C. a data array providing, in response to the index field, a plurality of data elements, the plurality of data elements also equal to the predetermined maximum set size; D. a data element select logic circuit providing, in response to the tag field and the plurality of tag hit signals, a plurality of decoded data element enable signals, the plurality of decoded enable signals equal to the predetermined maximum set size, the data element select logic circuit also asserting the cache hit signal when any of the tag hit signals is asserted; and E. multiplexing means, arranged to receive the plurality of data elements and the plurality of decoded data element enable signals, for enabling access to a selected one of the data elements by the central processor.
Claim 8
Dependent Claim 301 words
A data processing system comprising: a central processing unit providing memory address signals at an output, the memory address signals including a tag field and index field; a set associative cache for receiving the memory address signals and for selectively asserting or not-asserting a cache hit signal in response thereto; and main memory means, for receiving the memory address signals and the cache hit signal, and for enabling access to the set associative cache by the central processing unit when the cache hit signal is not asserted, wherein the set associative cache additionally comprises: A. a tag array providing, in response to the index field, a plurality of tag elements in parallel, the plurality of tag elements equal to a predetermined maximum set size into which the cache can be configured; B. a plurality of tag comparators, each tag comparator arranged to receive a corresponding one of the tag elements and the tag field, and each tag comparator asserting a corresponding tag hit signal when its received tag element matches the tag field; C. a data array providing, in response to the index field, a plurality of data elements, the plurality of data elements also equal to the predetermined maximum set size; D. a data element select logic circuit providing, in response to the tag field and the plurality of tag hit signals, a plurality of decoded data element enable signals, the plurality of decoded enable signals equal to the predetermined maximum set size, the data element select logic circuit also asserting the cache hit signal when any of the tag hit signals is asserted; and E. multiplexing means, arranged to receive the plurality of data elements and the plurality of decoded data element enable signals, for enabling access to a selected one of the data elements by the central processor.
Claim 9
Dependent Claim 153 words
A cache controller for enabling access to a cache memory element in response to an input memory address, the input memory address including a tag field and an index field, the cache controller comprising: A. tag array means, responsive to the index field, for providing a plurality of tag elements in parallel, the number of tag elements being equal to a predetermined maximum set size; B. a plurality of tag comparators, each tag comparator arranged to receive a corresponding one of the tag elements and the tag field, and each tag comparator asserting a corresponding tag hit signal when its received tag element matches the tag field; and C. a data element select logic circuit providing, in response to the tag field and the plurality of tag hit signals, a plurality of decoded data element enable signals, the number of decoded data element enable signals being equal to the predetermined maximum set size.
Claim 10
Dependent Claim 153 words
A cache controller for enabling access to a cache memory element in response to an input memory address, the input memory address including a tag field and an index field, the cache controller comprising: A. tag array means, responsive to the index field, for providing a plurality of tag elements in parallel, the number of tag elements being equal to a predetermined maximum set size; B. a plurality of tag comparators, each tag comparator arranged to receive a corresponding one of the tag elements and the tag field, and each tag comparator asserting a corresponding tag hit signal when its received tag element matches the tag field; and C. a data element select logic circuit providing, in response to the tag field and the plurality of tag hit signals, a plurality of decoded data element enable signals, the number of decoded data element enable signals being equal to the predetermined maximum set size.
Claim 11
Dependent Claim 51 words
An apparatus as in claim 6 wherein the data element select logic circuit is also responsive to a signal indicating the current number of sets into which the cache is arranged, additionally comprising: D. means for generating the signal indicating the current number of sets into which the cache is arranged.

References Cited (Backward Citations)

US4264953A Cited
US4317168A Cited
US4332010A Cited
US4493027A Cited
US4464712A Cited
US4484267A Cited
US4493026A Cited
US4719568A Cited
US4724518A Cited
US4736293A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-05-06 1994-11-05 1995-05-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-05-06 1998-11-05 1999-05-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-05-06 2002-11-05 2003-05-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag