IP Library Granted Patent US 8,589,627
Granted Patent B2
US 8,589,627 · App. 12/869,988 · Granted Nov 19, 2013

Partially sectored cache

Inventor: Tarun Nakra (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,589,627
App. No.
12/869,988
Granted
Nov 19, 2013
Kind
B2
Abstract

The present invention provides embodiments of a partially sectored cache. One embodiment of the apparatus includes a cache that includes a tag array for storing information indicating a plurality of tags and a data array for storing a plurality of lines. A first portion of the tags have a one-to-one association with a first portion of the lines and a second portion of the tags have a one-to-many association with a second portion of the lines.

Claims (36)

1. An apparatus, comprising:

a cache comprising:

a tag array for storing information indicating a plurality of tags; and

a data array for storing a plurality of lines, wherein the cache includes a first non-sectored portion and a second sectored portion, a first portion of the tags having a one-to-one association with a first portion of the lines in the first non-sectored portion and a second portion of the tags having a one-to-many association with a second portion of the lines in the second sectored portion, wherein the cache is operable to employ a common index portion of a physical address for accessing tags associated with the first non-sectored portion and the second sectored portion, the cache is configured to use tag bits and at least one selector bit from the physical address to determine whether a copy of the information stored at the physical address is located in the first portion of the lines, and the cache is configured to use the tag bits to determine whether the copy is located in the second portion of the lines and to use said at least one selector bit to select one of a plurality of lines indicated by the tag bits in response to determining that the copy is located in the second portion.

2. The apparatus set forth in claim 1 , wherein the cache is a multiple-way associative cache, and wherein the first portion of the lines corresponds to a first portion of ways of the cache, and wherein the second portion of the lines corresponds to a second portion of the ways of the cache.

3. The apparatus set forth in claim 1 , wherein the cache is configured to perform a tag lookup in the tag array to identify at least one of the lines that includes a copy of information stored at the physical address.

4. The apparatus set forth in claim 3 , wherein the cache is configured to perform the tag lookup on the first portion of the tags concurrently with the tag lookup on the second portion of the tags.

5. The apparatus set forth in claim 1 , comprising a pre-fetcher configured to fetch information from a main memory and write the information to the second portion of the lines, the fetch information being selected to be sequential with at least one physical address associated with the second portion of the lines.

6. The apparatus set forth in claim 5 , wherein the pre-fetcher is configured to fetch information from the main memory that is sequential with one of the second portion of tags associated with said at least one physical address, and to write the information into one of the second portion of lines that is associated with said one of the second portion of tags.

7. The apparatus set forth in claim 1 , wherein the cache is configured to write information to the first portion of the lines when said information is not sequential with at least one physical address associated with the first portion of the lines.

8. The apparatus set forth in claim 7 , wherein the cache is configured to write information to at least one line in the first portion of the lines when said information is not sequential with at least one physical address associated with the first portion of lines and said at least one line in the first portion of lines is available.

9. An apparatus, comprising:

means for storing information indicating a plurality of tags;

means for storing a plurality of lines, wherein a first portion of the tags have a one-to-one association with a first portion of the lines defining a non-sectored portion and a second portion of the tags have a one-to-many association with a second portion of the lines defining a sectored portion;

means for identifying tags in the first and second portions related to a physical address using a common index portion of the physical address;

means for using tag bits and at least one selector bit from the physical address to determine whether a copy of the information stored at the physical address is located in the first portion of the lines; and

means for using the tag bits to determine whether the copy is located in the second portion of the lines and said at least one selector bit to select one of a plurality of lines indicated by the tag bits in response to determining that the copy is located in the second portion.

10. A method, comprising:

storing information indicating a plurality of tags in a tag array of a cache;

storing a plurality of lines in a data array of the cache, wherein a first portion of the tags have a one-to-one association with a first portion of the lines in a non-sectored portion of the cache and a second portion of the tags have a one-to-many association with a second portion of the lines in a sectored portion of the cache;

identifying tags in the first and second portions related to a physical address using a common index portion of the physical address;

using tag bits and at least one selector bit from the physical address to determine whether a copy of the information stored at the physical address is located in the first portion of the lines; and

using the tag bits to determine whether the copy is located in the second portion of the lines and said at least one selector bit to select one of a plurality of lines indicated by the tag bits in response to determining that the copy is located in the second portion.

11. The method set forth in claim 10 , wherein the cache is a multiple-way associative cache, and wherein storing lines in the first portion of the lines comprises storing lines in a first portion of ways of the cache, and wherein storing lines in the second portion of the lines comprises storing lines in a second portion of the ways of the cache.

12. The method set forth in claim 10 , performing a tag lookup in the tag array to identify at least one of the plurality of lines that includes a copy of information stored at the physical address.

13. The method set forth in claim 12 , wherein performing the tag lookup comprises performing the tag lookup on the first portion of the tags concurrently with the tag lookup on the second portion of the tags.

14. The method set forth in claim 10 , comprising fetching information from a main memory and writing the information to the second portion of the lines, the fetch information being selected to be sequential with at least one physical address associated with the second portion of the lines.

15. The method set forth in claim 14 , wherein fetching the information comprises fetching information that is sequential with one of the second portion of tags associated with said at least one physical address, and wherein writing the information comprises writing the information into one of the second portion of lines that is associated with said one of the second portion of tags.

16. The method set forth in claim 10 , comprising writing information to the first portion of the lines when said information is not sequential with at least one physical address associated with the second portion of the lines.

17. The method set forth in claim 16 , comprising writing information to at least one line in the first portion of the lines when said information is not sequential with at least one physical address associated with the first portion of lines and said at least one line in the first portion of lines is available.

18. A non-transitory computer readable media including instructions that when executed can configure a manufacturing process used to manufacture a semiconductor device comprising:

a cache comprising:

a tag array for storing information indicating a plurality of tags; and

a data array for storing a plurality of lines, wherein the cache includes a first non-sectored portion and a second sectored portion, a first portion of the tags having a one-to-one association with a first portion of the lines in the first non-sectored portion and a second portion of the tags having a one-to-many association with a second portion of the lines in the second sectored portion, wherein the cache is configured to employ a common index portion of a physical address for accessing tags associated with the first non-sectored portion and the second sectored portion, to use tag bits and at least one selector bit from the physical address to determine whether a copy of the information stored at the physical address is located in the first portion of the lines, and to use the tag bits to determine whether the copy is located in the second portion of the lines and to use said at least one selector bit to select one of a plurality of lines indicated by the tag bits in response to determining that the copy is located in the second portion.

19. The computer readable media set forth in claim 18 , wherein the computer readable media is configured to store at least one of hardware description language instructions or an intermediate representation.

20. The computer readable media set forth in claim 18 , wherein the instructions when executed configure generation of lithography masks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2010
From: NAKRA, TARUN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 024898/0324 →
Continuity (1)
Related Publication 20120054443A1 · Mar 1, 2012