IP Library Granted Patent US 7,409,502
Granted Patent B2
US 7,409,502 · App. 11/382,900 · Granted Aug 5, 2008

Selective cache line allocation instruction execution and circuitry

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,409,502
App. No.
11/382,900
Granted
Aug 5, 2008
Kind
B2
Abstract

A processing system and method performs allocation of memory cache lines in response to a cache write miss. A processor receives a plurality of data processing instructions. A first store instruction for storing data in a system memory at a predetermined address is decoded by decoding a first specifier within the first store instruction. The first specifier determines an allocation policy for the first store instruction wherein the allocation policy determines whether to store data within the cache when the predetermined address is not within the cache. Additional store instructions are decoded. For example, a second specifier determines an allocation policy for a second store instruction. The specifier in each of the store instructions may be implemented in various forms to provide a policy indicator for each store instruction. No allocation policy may also be established on a per-access basis.

Claims (34)

1. A method, comprising:

providing a system memory, a storage device and a processor for receiving a plurality of data processing instructions; and

decoding a first store instruction for storing data in the system memory at a predetermined address by decoding a first specifier within the first store instruction, the first specifier determining an allocation policy for the first store instruction wherein the allocation policy determines whether to store the data within the storage device when the predetermined address is not within the storage device, and wherein the first specifier is provided as a bit within a displacement field of the first store instruction.

2. The method of claim 1 further comprising:

decoding a second store instruction within the plurality of data processing instructions by decoding a second specifier within the second store instruction, the second specifier determining the allocation policy for the second store instruction; and

setting a value of the second specifier different from the first specifier to make the allocation policy for the first store instruction to be different from the allocation policy for the second store instruction.

3. The method of claim 1 further comprising:

providing the first specifier within a predetermined field of the first store instruction.

4. The method of claim 1 further comprising:

providing the first specifier as a predetermined bit of the first store instruction.

5. The method of claim 1 further comprising:

providing the first specifier as a bit of a base register specifier of the first store instruction.

6. The method of claim 1 further comprising:

implementing the first specifier as a portion of the opcode of the first store instruction.

7. The method of claim 1 further comprising:

overriding a static default cache line allocation of the processor with the first specifier of the first store instruction.

8. The method of claim 1 wherein the first specifier establishes no cache line allocation for the processor.

9. A system comprising:

a processor;

a communication bus;

a system memory coupled to the processor via the communication bus; and

control circuitry coupled to the processor and system memory for decoding a first specifier within a first store instruction received by the processor, the first store instruction specifying an address in the system memory for storage of data, the first specifier determining an allocation policy wherein the allocation policy determines whether to store the data within the storage device when the address is not currently in the storage device, and wherein the first specifier is a bit within a displacement field of the first store instruction.

10. The system of claim 9 wherein the control circuitry decodes a second store instruction by decoding a second specifier within the second store instruction, the second specifier determining the allocation policy for the second store instruction independently from the allocation policy for the first store instruction.

11. The system of claim 10 wherein the second specifier is different from the first specifier to make the allocation policy for the first store instruction different from the allocation policy for the second store instruction.

12. The system of claim 9 wherein the first specifier is within a predetermined field of the first store instruction.

13. The system of claim 9 wherein the first specifier is a predetermined bit of the first store instruction.

14. The system of claim 9 wherein the first specifier is a bit of a base register specifier of the first store instruction.

15. The system of claim 9 wherein the first specifier is a portion of the opcode of the first store instruction.

16. The system of claim 9 wherein the first specifier of the first store instruction overrides a static default cache line allocation of the processor.

17. The system of claim 9 wherein the first specifier establishes no cache line allocation for the processor.

18. A method comprising:

providing a system memory and a cache memory;

coupling a processor to the system memory and the cache memory; and

executing a plurality of data processing instructions including a plurality of store instructions for storing information to the system memory, each of the plurality of store instructions including cache line allocation policy information for that associated store instruction that is provided as at least one bit within a displacement field of that associated store instruction, the cache line allocation policy information defining whether to store information in the cache memory when a storage address specified by any of the plurality of store instructions is not resident in the cache memory.

Assignments (22)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0757 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033994/0655 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Dec 9, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021936/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2008
From: MOYER, WILLIAM C.; SCOTT, JEFFREY W.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 021101/0368 →
SECURITY AGREEMENT Recorded Feb 2, 2007
From: FREESCALE SEMICONDUCTOR, INC.; FREESCALE ACQUISITION CORPORATION; FREESCALE ACQUISITION HOLDINGS CORP.; FREESCALE HOLDINGS (BERMUDA) III, LTD.
To: CITIBANK, N.A. AS COLLATERAL AGENT
Reel/Frame 018855/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2006
From: MOYER, WILLIAM C.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 017642/0492 →