IP Library Granted Patent US 7,117,346
Granted Patent B2
US 7,117,346 · App. 10/159,386 · Granted Oct 3, 2006

Data processing system having multiple register contexts and method therefor

Assignee: Freescale Semiconductor, 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 7,117,346
App. No.
10/159,386
Granted
Oct 3, 2006
Kind
B2
Abstract

A data processing system having multiple register contexts is described. One embodiment of the present invention uses a user programmable context control register for each of the multiple register contexts to allow for the mapping of portions of an alternate register context into a current register context. The context control register may also be used to provide for the sharing of common stack pointers among multiple register contexts. Therefore, when operating in a current register context, the context control register may be used to access portions of an alternate register context in place of accessing corresponding portions of the current register context.

Claims (34)

1. A data processing system comprising:

a plurality of register contexts;

storage circuitry for storing context control information corresponding to at least a portion of the plurality of register contexts, wherein the storage circuitry comprises a plurality of context control registers, wherein each of the plurality of register contexts comprises a corresponding context control register; and

processing circuitry for selectively accessing a portion of an alternate register context within the plurality of register contexts in place of a corresponding portion of a current register context within the plurality of register contexts, wherein the alternate register context and the portion of the alternate register context are indicated by the context control register corresponding to the current register context; and wherein the context control register corresponding to the current register context comprises a mapping field to identify the portion of the alternate register context and an alternate context field to identify the alternate register context.

2. The data processing system of claim 1 , wherein the portion of the alternate register context comprises a stack pointer.

3. The data processing system of claim 1 , wherein the portion of the alternate register context comprises a set of registers.

4. The data processing system of claim 3 , wherein the set of registers comprises a plurality of general purpose registers.

5. The data processing system of claim 1 , wherein the context control information comprises an enable field wherein, when the enable field is asserted, the processing circuitry accesses the portion of the alternate register context.

6. The data processing system of claim 5 , wherein the context control information comprises a previous context field to identify a previous register context within the plurality of register contexts that was executing previous to the current context register.

7. In a data processing system having a plurality of register contexts, a method comprising:

operating in a first register context within the plurality of register contexts, each of the plurality of register contexts having corresponding context control information, wherein operating in the first register context comprises:

accessing a first portion of the first register context;

selectively accessing a portion of a second register context corresponding to a second portion of the first register context based on the corresponding context control information of the first register context, wherein the corresponding context control information of the first register context identifies the second register context and the portion of the second register context; and wherein each of the corresponding context control information comprises a mapping field to identify the portion of the second register context and an alternate context field to identify the second register context.

8. The method of claim 7 , wherein the portion of the second register context comprises a stack pointer.

9. The method of claim 7 , wherein the portion of the second register context comprises a set of registers.

10. The method of claim 9 , wherein the set of registers comprises a plurality of general purpose registers.

11. The method of claim 8 , wherein the context control information comprises an enable field wherein, when the enable field is asserted, the method comprises accessing the portion of the second register context corresponding to the second portion of the first register context.

12. The method of claim 8 , further comprising:

receiving a context selector;

operating in the second register context based on the context selector; and

selectively accessing a portion of a third register context corresponding to a second portion of the second register context based on corresponding context control information of the second register context.

13. The method of claim 12 , further comprising:

storing a current context into the corresponding context control information of the second register context, the current context corresponding to the second register context; and

storing control information of a saved context into the corresponding context control information of the second register context, the saved context control information corresponding to the first register context.

14. The method of claim 12 , wherein the context selector is received in response to one of an interrupt or a process switch in the data processing system.

15. A data processing system comprising:

a plurality of register contexts, wherein each register context comprises a corresponding context control register having an alternate register context field and a mapping field; and

processing means for selectively accessing a portion of an alternate register context within the plurality of register contexts in place of accessing a corresponding portion of a current register context within the plurality of register contexts, wherein the portion of the alternate register context is defined by the mapping field in the context control register corresponding to the current register context and the alternate register context is defined by the alternate register context field in the context control register corresponding to the current register context.

16. The data processing system of claim 15 , wherein the context control registers are user programmable.

17. The data processing system of claim 15 , wherein the portion of the alternate register context comprises a stack pointer.

18. The data processing system of claim 15 , wherein the portion of the alternate register context comprises a set of registers.

19. The data processing system of claim 15 , further comprising a control register file for storing the context control registers.

20. The data processing system of claim 1 , wherein each of the plurality of context control registers comprises an alternate context field to identify an alternate register context and a mapping field to identify a portion of the alternate register context.

21. The method of claim 8 , wherein the corresponding context information of each of the plurality of register contexts includes an alternate context field to identify an alternate context of the plurality of registers contexts and a mapping field to identify a portion of the alternate context identified by the alternate context field.

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 →
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 LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
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 037354/0225 →
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 →
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 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 7, 2004
From: MOTOROLA, INC
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 015360/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2002
From: MOYER, WILLIAM C.; ARENDS, JOHN H.
To: MOTOROLA, INC.
Reel/Frame 012960/0165 →
Continuity (1)
Related Publication 20030226001A1 · Dec 4, 2003