IP Library Granted Patent US 8,756,405
Granted Patent B2
US 8,756,405 · App. 13/103,609 · Granted Jun 17, 2014

Selective routing of local memory accesses and device thereof

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,756,405
App. No.
13/103,609
Granted
Jun 17, 2014
Kind
B2
Abstract

A data processor is disclosed that accesses its local memory by routing requests through a data path that is external the data processor. A reservation/decoration controller implements specialized handling associated with a received request to access local memory. In addition to implementing special handling, a memory controller that is associated with the reservation/decoration controller routes a corresponding access request back to the data processor core to access its local memory.

Claims (33)

1. A method comprising:

determining that an access instruction being executed at a data processor core is or is not a specialized access instruction; and

selectively routing access information based on the access instruction to access a local memory of the data processor core using a transaction external the data processor core responsive to determining that the access instruction is the specialized access instruction, wherein the specialized access instruction is at least one of an atomic access instruction or a decorated access instruction.

2. The method of claim 1 further comprising:

selectively routing the access information to access the local memory of the data processor core using a transaction internal the data processor core responsive to determining that the access instruction is not the specialized access instruction.

3. The method of claim 2 , wherein the determining is based upon information embedded in the access instruction.

4. The method of claim 2 , wherein the determining based upon register information.

5. The method of claim 2 , wherein using the transaction external the data processor core includes routing the access information from a port of the data processor core to a system resource external the data processor core, and the system resource used to route the access information to the data processor core to access the local memory.

6. The method of claim 5 further comprising: responsive to selectively routing the access information to the local memory, receiving at the system resource, from the local memory, data being accessed based on the access information.

7. The method of claim 2 , wherein using the transaction external the data processor core includes routing the access information from a first port of the data processor core to a system resource external the data processor core that is used to route the access information to the data processor core via a second port of the data processor core to access the local memory.

8. The method of claim 5 further comprising: ensuring, at the system resource, that a memory associated with the access information is atomically accessed in response to the access instruction being an atomic access instruction.

9. The method of claim 5 further comprising: manipulating, at the system resource, access information to be stored at the local memory in response to the access instruction being a decorated access instruction.

10. The method of claim 1 further comprising determining whether a programmable indicator is in a first state that indicates that use of the transaction external the data processor core is enabled, or in a second state that indicates that use of the transaction external the data processor core is not enabled, and in response to determining that the programmable indicator is enabled implementing the selectively routing using the transaction external the data processor core, and in response to determining that the programmable indicator is not enabled selectively routing the access information from the specialized access instruction to the local memory without using any transaction external the data processor core responsive.

11. The method of claim 1 , wherein the specialized access instruction is an atomic instruction.

12. The method of claim 1 , wherein the specialized access instruction is a decorated access instruction.

13. A device comprising:

a plurality of data processor cores including a first data processor core comprising a first local memory;

a system resource module external the data processor core;

a system interconnect coupled to the system resource module and to the first data processor core; and

the first data processor core to selectively route access information associated with an access instruction being executed at an instruction processor pipeline of the first data processor core to the system resource module responsive to the access instruction being a specialized access instruction that includes at least one of an atomic access instruction or a decorated access instruction.

14. The device of claim 13 , wherein the system resource module is to further route the access information to the first data processor core to access the first local memory in response to the access instruction being identified as the specialized access instruction.

15. The device of claim 13 , wherein the instruction processor pipeline is to determine whether the access instruction is the specialized access instruction or not the specialized access instruction, the instruction processing pipeline to further, in response to determining the access instruction is not the specialized access instruction, to selectively route the access information associated with the access instruction to the local memory without using the system resource module, to allow the first local memory to be accessed local to the first data processor core.

16. The first data processor core of claim 13 further comprising a first port coupled the system interconnect and a second port coupled to the system interconnect, the first data processor core to selectively route the access information to the system resource module via the first port responsive to the access instruction being identified as the specialized access instruction, and the system resource module to provide the access information to the first local memory via the second port of the data processor.

17. The device of claim 13 , wherein the plurality of data processor cores further includes a second data processor core coupled to the system interconnect, the second data processor core comprising a second local memory; and

the second data processor core to selectively route access information associated with an access instruction being executed at an instruction processor pipeline of the second data processor core to the system resource module, responsive to the second access instruction being identified as the specialized access instruction, wherein the system resource module is to further route the access information associated with the second data processor core to the second data processor core to access the second local memory.

18. The device of claim 17 , wherein the system resource module is a memory controller that is to manipulates information being stored or retrieved.

19. The device of claim 13 further comprising a storage location to store an enable indicator, wherein the first data processor core further selectively routes the access information to the system resource responsive to the enable indicator being asserted, and selectively routes the access information to the local memory without using the system resource responsive to the enable indicator being negated.

20. A method comprising:

determining whether a first access request being executed at a first data processor core is an atomic access request to access a local memory of the first data processor core;

in response to determining the first access request is the atomic access request, ensuring the first access request is implemented in an atomic manner using a resource external the first data processor core to access the local memory of the first data processor core, otherwise, in response to determining the first access request is not the atomic access request, accessing the local memory of the first data processor core without using any resources external the data processor core;

determining whether a second access request being executed at a second data processor core is an atomic access request to access a local memory of the second data processor core;

in response to determining the second access request is an atomic access request, ensuring the second access request is implemented in the atomic manner using the resource external the first data processor core to access the local memory of the second data processor core, wherein the resource is also external the second data processor core; and

in response to determining the second access request is not the atomic access request, accessing the local memory of the second processor core without using any resources external the second data processor core.

Assignments (31)
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 REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
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 APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
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/0334 →
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 →
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 May 16, 2011
From: MOYER, WILLIAM C.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 026282/0735 →