IP Library Granted Patent US 7,120,783
Granted Patent B2
US 7,120,783 · App. 09/888,296 · Granted Oct 10, 2006

System and method for reading and writing a thread state in a multithreaded central processing unit

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,120,783
App. No.
09/888,296
Granted
Oct 10, 2006
Kind
B2
Abstract

A system and method for enabling multithreading in a embedded processor, invoking zero-time context switching in a multithreading environment, scheduling multiple threads to permit numerous hard-real time and non-real time priority levels, fetching data and instructions from multiple memory blocks in a multithreading environment, and enabling a particular thread to modify the multiple states of the multiple threads in the processor core.

Claims (16)

1. A multithreaded computer based system for enabling a command in a first thread to access data in a second thread comprising:

an embedded pipelined processor capable of having a first program thread and a second program thread in an execution pipeline, said first program thread comprising a first set of instructions, said second program thread comprising a second set of instructions, said embedded processor comprising:

a fetch unit for fetching an instruction from program memory;

a decode unit for decoding said fetched instruction;

an execution unit for executing said decoded instruction; and

a write back unit for writing the results of said executed instruction to an identified storage location;

a first set of data storage devices capable of storing a first state of said embedded processor, wherein said first state is the state of the embedded processor during the execution of the first program thread;

a second set of data storage devices capable of storing a second state of said embedded processor, wherein said second state is the state of the embedded processor during the execution of the second program thread;

wherein at least said first set of data storage devices includes a first control status register for identifying a first target set of data storage devices from which a first source operand of a fetched instruction is to be retrieved and for identifying a second target set of data storage devices to which a first result of an executed instruction is to be stored, wherein at least one of said first or said second target set of data storage devices is not included in the first set of data storage devices;

a thread scheduler for identifying which of said program threads said embedded processor executes; and

an instruction set including an instruction that overwrites the first control status register when instructions associated with the first set of data storage devices are executed and overwrites a second control status register when instructions associated with the second set of data storage devices are executed;

wherein said processor switches between said first and second state in a time period between the end of the execution of a first program instruction in the first thread and the beginning of the execution of a second program instruction in the second thread;

wherein said processor switches between said first and second states by changing a state selection register.

2. The multithreaded computer based system of claim 1 , wherein the embedded pipelined processor further includes a peripheral block.

3. The multithreaded computer based system of claim 2 , wherein the peripheral block is one of a phase locked loop and a watchdog timer.

4. The multithreaded computer based system of claim 1 , wherein the embedded pipelined processor further includes an internal memory unit comprising a flash memory with a shadow static memory.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUS ASSIGNMENT OF US PAT. NO. 4,693,326 PREVIOUSLY RECORDED ON REEL 036400 FRAME 0341. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 20, 2015
From: UBICOM (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: THE UBICOM TRUST
Reel/Frame 036941/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2015
From: UBICOM (ASSIGNMENT FOR THE BENEFIT OF CREDITORS),LLC
To: THE UBICOM TRUST
Reel/Frame 036400/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2012
From: UBICOM, INC.
To: UBICOM (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 027830/0061 →
RELEASE Recorded Feb 22, 2012
From: SILICON VALLEY BANK
To: UBICOM, INC.
Reel/Frame 027762/0163 →
RELEASE Recorded Feb 22, 2012
From: SILICON VALLEY BANK
To: UBICOM, INC.
Reel/Frame 027762/0161 →
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2011
From: MAYFIELD XI; MAYFIELD XI QUALIFIED; MAYFIELD ASSOCIATES FUND VI; MAYFIELD PRINCIPALS FUND II; MAYFIELD IX; MAYFIELD ASSOCIATES FUND IV; THE CHIP TRUST III; THE UNGER-LUCHSINGER FAMILY TRUST
To: UBICOM, INC.
Reel/Frame 027005/0025 →
SECURITY AGREEMENT Recorded Jan 7, 2008
From: UBICOM, INC.
To: SILICON VALLEY BANK
Reel/Frame 020325/0031 →
SECURITY AGREEMENT Recorded Apr 17, 2007
From: UBICOM, INC.
To: SILICON VALLEY BANK INC.
Reel/Frame 019193/0350 →