IP Library Granted Patent US 7,657,708
Granted Patent B2
US 7,657,708 · App. 11/505,869 · Granted Feb 2, 2010

Methods for reducing data cache access power in a processor using way selection bits

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 7,657,708
App. No.
11/505,869
Granted
Feb 2, 2010
Kind
B2
Abstract

Methods for reducing data cache access power in a processor. In an embodiment, a micro tag array is used to store base address or base register data bits, offset data bits, a carry bit, and way selection data bits associated with cache accesses. When a LOAD or a STORE instruction is fetched, at least a portion of the base address and at least a portion of the offset of the instruction are compared to data stored in the micro tag array. If a micro tag array hit occurs, the micro tag array generates a cache dataram enable signal. This signal activates only the cache dataram that stores the needed data.

Claims (36)

1. A method for reducing data cache access power in a processor, comprising:

(1) storing base address data bits, offset data bits, a first carry bit, and way selection data bits respectively in a base register, an offset register, a carry register and a way selection register in a micro tag array;

(2) invalidating entries of the micro tag array whose way selection data bits correspond to an intended refill way of the cache when a tagram write occurs; and

(3) enabling a first dataram of a cache specified by way selection data bits stored in the way selection register of the micro tag array

if first selected base address data bits stored in a processor pipeline register match base address data bits stored in the base register of the micro tag array, and

if first selected offset data bits stored in the processor pipeline register match offset data bits stored in the offset register of the micro tag array, and

if a second carry bit formed by an addition of second selected base address data bits stored in the processor pipeline register and second selected offset data bits stored in the processor pipeline register match the first carry bit.

2. The method of claim 1 , wherein step (2) comprises comparing a subset of the base address data bits stored in the processor pipeline register to base address data bits stored in the base register of the micro tag array.

3. The method of claim 1 , wherein step (2) comprises comparing a subset of the offset data bits stored in the processor pipeline register to offset data bits stored in the offset register of the micro tag array.

4. The method of claim 1 , wherein step (2) comprises adding a subset of the base address data bits stored in the processor pipeline register and a subset of the offset data bits stored in the processor pipeline register to form the second carry bit.

5. The method of claim 1 , wherein the micro tag array includes a plurality of array entries, and step (1) comprises storing base address data bits, offset data bits, a carry bit, and way selection data bits in each of the array entries.

6. The method of claim 5 , further comprising replacing data stored in the array entries according to a least-recently-filled replacement scheme.

7. A method for reducing data cache access power in a processor, comprising:

(1) storing base register data bits, offset data bits, a first carry bit, and way selection data bits respectively in a base register, an offset register, a carry register and a way selection register in a micro tag array;

(2) invalidating entries of the micro tag array whose way selection data bits correspond to an intended refill way of the cache when a tagram write occurs; and

(3) enabling a first dataram of a cache specified by way selection data bits stored in the way selection register of the micro tag array

if first selected base register data bits stored in a processor pipeline register match base address data bits stored in the base register of the micro tag array, and

if first selected offset data bits stored in the processor pipeline register match offset data bits stored in the offset register of the micro tag array, and

if a second carry bit formed by an addition of selected base address data bits stored in the processor pipeline register and second selected offset data bits stored in the processor pipeline register match the first carry bit.

8. The method of claim 7 , wherein step (2) comprises comparing a subset of the offset data bits stored in the processor pipeline register to offset data bits stored in the offset register of the micro tag array.

9. The method of claim 7 , wherein step (2) comprises adding a subset of the base address data bits stored in the processor pipeline register and a subset of the offset data bits stored in the processor pipeline register to form the second carry bit.

10. The method of claim 7 , wherein the micro tag array includes a plurality of array entries, and step (1) comprises storing base register data bits, offset data bits, a carry bit, and way selection data bits in each of the array entries.

11. The method of claim 7 , further comprising replacing data stored in the array entries according to a least-recently-filled replacement scheme.

12. A method for reducing data cache access power in a processor, comprising:

(1) storing first data bits, second data bits, a first carry bit, and way selection data bits respectively in a first register, a second register, a carry register and a way selection register in a micro tag array;

(2) invalidating entries of the micro tag array whose way selection data bits correspond to an intended refill way of the cache when a tagram write occurs; and

(3) enabling a first dataram of a cache specified by way selection data bits stored in the way selection register of the micro tag array

if selected first data bits stored in a processor pipeline register match a first set of data bits stored in the first register of the micro tag array, and

if selected second data bits stored in the processor pipeline register match a second set of data bits stored in the second register of the micro tag array, and

if a second carry bit formed by an addition of a first subset of data bits stored in the processor pipeline register and a second subset of data bits stored in the processor pipeline register match the first carry bit.

13. The method of claim 12 , wherein step (2) comprises comparing base address data bits.

14. The method of claim 12 , wherein step (2) comprises comparing base register data bits.

15. The method of claim 12 , wherein the micro tag array includes a plurality of array entries, and step (1) comprises storing first data bits, second data bits, a carry bit, and way selection data bits in each of the array entries.

16. The method of claim 15 , further comprising replacing data stored in the array entries according to a least-recently-filled replacement scheme.

17. The method of claim 15 , wherein step (1) comprises storing base address data bits.

18. The method of claim 15 , wherein step (1) comprises storing base register data bits.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BRIDGE CROSSING, LLC
To: ARM FINANCE OVERSEAS LIMITED
Reel/Frame 033074/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: MIPS TECHNOLOGIES, INC.
To: BRIDGE CROSSING, LLC
Reel/Frame 030202/0440 →