Claims
- 1. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache; and
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache, wherein said first arbiter anticipatorally detects a stall condition within a resource of said first non-blocking cache and suspends new requests to aid first cache while allowing pending data access requests to complete.
- 2. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache; and
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache, wherein said first arbiter anticipatorally detects a stall condition within a resource of said first non-blocking cache and suspends new requests to aid first cache while allowing pending data access requests to complete, and wherein said resource of said first non-blocking cache includes the miss queue for storing entries corresponding to data access requests not serviced by said first non-blocking cache.
- 3. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache;
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache; and
- a second arbiter for arbitrating between two or more access requests to said second non-blocking cache, wherein said second arbiter anticipatorally detects a stall condition within a resource of said second non-blocking cache.
- 4. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache;
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache; and
- a second arbiter for arbitrating between two or more access requests to said second non-blocking cache, wherein said second arbiter anticipatorally detects a stall condition within a resource of said second non-blocking cache, and wherein said resource of said second non-blocking cache includes the miss queue for storing entries corresponding to data access requests not serviced by said second non-blocking cache.
- 5. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache;
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache; and
- a second arbiter for arbitrating between two or more access requests to said second non-blocking cache, wherein said second arbiter anticipatorally detects a stall condition within a resource of said second non-blocking cache, and wherein said resource of said second non-blocking cache includes a victim queue for storing entries of the second non-blocking cache which have been evicted from the second non-blocking cache.
- 6. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache;
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache; and
- a second arbiter for arbitrating between two or more access requests to said second non-blocking cache, wherein said second arbiter anticipatorally detects a stall condition within a resource of said second non-blocking cache, and wherein said resource of said second non-blocking cache includes a write queue buffering write requests into the second non-blocking cache.
- 7. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache; and
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache, wherein said first arbiter anticipatorally detects a stall condition within a resource of said first non-blocking cache and suspends new requests to aid first cache while allowing pending data access requests to complete, and wherein said first arbiter dynamically raises the priority of at least one access request to the first non-blocking cache during the stall condition.
- 8. A cache system comprising:
- a first non-blocking cache receiving data access requests from a device in a processor;
- a first miss queue storing entries corresponding to data access requests that missed in said first non-blocking cache;
- a second non-blocking cache receiving data access requests from at least said first miss queue;
- a second miss queue storing entries corresponding to all data access requests that missed in said second non-blocking cache; and
- a first arbiter for arbitrating between two or more access requests to said first non-blocking cache, wherein said first arbiter anticipatorally detects a stall condition within a resource of said first non-blocking cache and suspends new requests to aid first cache while allowing pending data access requests to complete, and wherein said first arbiter dynamically lowers the priority of at least one access request to the first non-blocking cache during the stall condition.
CROSS-REFERENCES TO RELATED APPLICATIONS
The subject matter of the present application is related to that of co-pending U.S. patent application: Ser. No. 09/010,072 identified as Docket No. P2549/37178.830110.000 for "Apparatus and Method for Distributed Non-Blocking Multi-Level Cache" filed concurrently herewith by Mehrotra, et al; Ser. No. 09/009,814 identified as Docket No. P2550/37178.830111.000 for "Apparatus and Method for Handling Multiple Mergeable Misses in a Non-Blocking Cache" filed concurrently herewith by Mehrotra, et al; Ser. No. 09/009,815 identified as Docket No. P2552/37178.830113.000 for "Apparatus and Method for Interlocked Cache Controller Transaction Handshakes for Queuing Structures in a Multi-Level Non-Blocking Cache Subsystem" filed concurrently herewith by Mehrotra; the disclosures of which are herein incorporated by this reference.
US Referenced Citations (16)