IP Library Granted Patent US 7,529,915
Granted Patent B2
US 7,529,915 · App. 11/552,640 · Granted May 5, 2009

Context switching processor with multiple context control register sets including write address register identifying destination register for waiting context to store returned data from external source

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,529,915
App. No.
11/552,640
Granted
May 5, 2009
Kind
B2
Abstract

Systems and methods for managing context switches among threads in a processing system. A processor may perform a context switch between threads using separate context registers. A context switch allows a processor to switch from processing a thread that is waiting for data to one that is ready for additional processing. The processor includes control registers with entries which may indicate that an associated context is waiting for data from an external source.

Claims (19)

1. A processor that executes instructions in threads, said processor comprising:

a context register file having a separate set of general registers for a plurality of contexts, wherein said threads are each assigned a separate context; and

context control registers having a separate set of control registers for the plurality of contexts, wherein at least one of said control registers holds data that indicates whether an associated context is awaiting data from an external source, wherein the context control registers include, for each context, a write address register, wherein for a given context the write address register is configured to store an address of a register, of the given context, that is awaiting data from the external source.

2. The processor of claim 1 , wherein a context status register of said context control registers is configured to hold data that indicates whether the associated context is awaiting data from the external source.

3. The processor of claim 1 , wherein the context register file includes 32 general registers for 8 contexts.

4. The processor of claim 1 , wherein a context program counter in a context control register of said context control registers holds a program counter pointing to a next instruction in the associated context.

5. The processor of claim 4 further including a scheduler configured to select a context to activate.

6. The processor of claim 5 further including:

means for receiving an identifier of a next context to activate from the scheduler;

means for performing a next instruction in a current context; and

means for pointing a processor program counter to the context program counter in the context control register associated with the next context.

7. A method for switching between contexts using a processor having a context register file having a separate set of general registers for a plurality of contexts, each set of registers associated with a thread, and context control registers having a separate set of control registers for the plurality of contexts, said method comprising the steps of:

storing, for a given context, an address of a register of the given context that is awaiting data from an external source;

receiving an identifier of a next context to activate from a scheduler;

performing a next instruction in the given context; and

pointing a processor program counter to the context program counter in the context control register associated with the next context.

8. The method as recited in claim 7 , further comprising holding data for each context that indicates whether the given context is awaiting data from the external source.

9. The method as recited in claim 7 , further comprising holding for each context a program counter pointing to a next instruction in the given context.

10. The method as recited in claim 7 , further comprising selecting a context to activate.

Assignments (6)
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2008
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 021985/0015 →
SECURITY AGREEMENT Recorded Aug 24, 2007
From: MIPS TECHNOLOGIES, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 019744/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2006
From: GELINAS, ROBERT; HAYS, W. PATRICK; KATZMAN, SOL; DALLY, WILLIAM J.
To: LEXRA, INC.
Reel/Frame 018510/0897 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2006
From: LEXRA, INC.
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 018510/0936 →