IP Library Granted Patent US 8,504,777
Granted Patent B2
US 8,504,777 · App. 12/886,641 · Granted Aug 6, 2013

Data processor for processing decorated instructions with cache bypass

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,504,777
App. No.
12/886,641
Granted
Aug 6, 2013
Kind
B2
Abstract

A method includes determining if a data processing instruction is a decorated access instruction with cache bypass, and determining if the data processing instruction generates a cache hit to a cache. When the data processing instruction is determined to be a decorated access instruction with cache bypass and the data processing instruction is determined to generate a cache hit, the method further includes invalidating a cache entry of the cache associated with the cache hit; and performing by a memory controller of the memory, a decoration operation specified by the data processor instruction on a location in the memory designated by a target address of the data processor instruction, wherein the performing the decorated access includes the memory controller performing a read of a value of the location in memory, modifying the value to generate a modified value, and writing the modified value to the location.

Claims (42)

1. A method of operating a data processing system including a data processor and a memory, the method comprising:

issuing a data processing instruction by the data processor;

determining if the data processing instruction is a decorated access instruction with cache bypass;

determining if the data processing instruction generates a cache hit to a cache; and

when the data processing instruction is determined to be a decorated access instruction with cache bypass and the data processing instruction is determined to generate a cache hit, the method further comprising:

invalidating a cache entry of the cache associated with the cache hit; and

performing by a memory controller of the memory, a decoration operation specified by the data processor instruction on a location in the memory designated by a target address of the data processor instruction, wherein the performing the decorated access includes the memory controller performing a read of a value of the location in memory, modifying the value to generate a modified value, and writing the modified value to the location.

2. The method of claim 1 wherein when the data processing instruction is determined not to be a decorated access instruction with cache bypass and the data processor instruction is determined to generate a cache hit, performing an operation specified by the data processing instruction on the cache entry.

3. The method of claim 1 wherein the determining if the data processing instruction is a decorated access instruction with cache bypass includes determining whether the data processing instruction is of a decorated access instruction type characterized as a decorated access instruction with cache bypass, wherein not all decorated access instruction types issued by the data processor are characterized as a decorated access instruction with cache bypass.

4. The method of claim 1 wherein the determining if the data processing instruction is a decorated access instruction with cache bypass is made by determining if the data processing instruction is a decorated access instruction, wherein all decorated access instructions issued by the data processor are decoration access instructions with cache bypass.

5. The method of claim 1 wherein:

when the data processing instruction is determined not to be a decorated access instruction with cache bypass and the data processing instruction is determined not to generate a cache hit, the method further comprising:

performing an operation specified by the data processor instruction on a location in the memory designated by a target address of the data processor instruction, wherein the performing includes storing a first value in the memory location; and

storing the first value in a first cache entry of the cache; and

when the instruction is determined to be a decorated access instruction with cache bypass and the data processing instruction is determined to generate a cache hit, the modified value is not stored in the cache entry.

6. The method of claim 1 wherein when the data processing instruction is determined to be a decorated access instruction with cache bypass and the data processing instruction is determined to generate a cache hit, the modified value is not stored in the cache entry.

7. The method of claim 1 wherein the location in memory is designated as cacheable by the data processor.

8. The method of claim 1 wherein the location in memory is located in a page of the memory, wherein the page of the memory is designated as cacheable by the data processor.

9. The method of claim 8 wherein the page of memory is designated as having a copyback attribute by the data processor, wherein the decorated access instruction with cache bypass performs a write-through access to the location in memory.

10. The method of claim 1 wherein the data processor includes a load store unit, the load store unit providing to the cache an indication that the data processor instruction is a decorated access instruction with cache bypass when the data processor instruction is determined to be a decorated access instruction with cache bypass.

11. The method of claim 1 wherein the data processor includes a instruction decoder, wherein the determining if the data processing instruction is a decorated access instruction with cache bypass is performed by the instruction decoder.

12. The method of claim 11 wherein:

the data processor includes a load store unit;

the method further comprising:

providing by the instruction decoder an indication that the data processor instruction is a decorated access instruction with cache bypass when the data processor instruction is determined to be a decorated access instruction with cache bypass; and

receiving by the load store unit the indication and providing by the load store unit the indication to the cache when the data processor instruction is determined to be a decorated access instruction with cache bypass.

13. The method of claim 1 wherein when the data processing instruction is determined to be a decorated access instruction with cache bypass and the data processing instruction is determined to generate a cache hit, the method further comprising flushing the cache entry of the cache associated with the cache hit.

14. The method of claim 1 wherein the flushing the cache entry of the cache associated with the cache hit includes:

determining if the cache entry is coherent with the location in memory;

when the cache entry is determined not to be coherent, writing a data value of the cache entry to the location in the memory before the memory controller performs the read of the value of the location in memory;

wherein when the cache entry is determined to be coherent, the data value is not written to the location in memory.

15. The method of claim 1 further comprising:

receiving by the data processor, the modified value, wherein the modified value is not stored in the cache entry.

16. A data processor comprising:

an instruction decoder, the instruction decoder for decoding processor instructions including decorated access instructions;

an interface circuit operable for coupling to a system interconnect; and

a cache, the cache including a plurality of cache entries and a cache controller, the cache controller in response to receiving a data processor instruction, determines if a target address of the data processor instruction generates a cache hit in a cache entry of the plurality of cache entries, wherein when the data processor instruction is determined to be a decorated access instruction with cache bypass, the cache controller invalidates the cache entry and the decorated access instruction is provided to a system interconnect by the interface circuit for performance by a memory controller of a memory of a decoration operation specified by the data processor instruction on a location in the memory designated by the target address.

17. The data processor of claim 16 wherein when a data processor instruction is determined to be a decorated access instruction with cache bypass, the cache controller cache flushes a cache entry corresponding to a cache hit generated by the data processor instruction.

18. The data processor of claim 16 wherein when a data processor instruction is determined not to be a decorated access instruction with cache bypass, the cache controller performs an operation specified by the data processor instruction on the cache entry corresponding to a cache hit generated by a data processor instruction.

19. The data processor of claim 16 wherein the instruction decoder determines whether a data processor instruction is a decorated access instruction with cache bypass.

20. The data processor of claim 16 further comprising:

a load store unit, the cache receives an indication of whether a data processor instruction is a decorated access instruction with cache bypass from the load store unit.

Assignments (23)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2023
From: NXP USA, INC.
To: EIREOG INNOVATIONS LIMITED
Reel/Frame 065880/0480 →
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0241. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 5, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041260/0850 →
MERGER Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040652/0241 →
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 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/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 037357/0285 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0387 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0334 →
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 Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027622/0477 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027622/0075 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027621/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2010
From: MOYER, WILLIAM C.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 025019/0096 →