IP Library Granted Patent US 8,695,002
Granted Patent B2
US 8,695,002 · App. 12/581,989 · Granted Apr 8, 2014

Multi-threaded processors and multi-processor systems comprising shared resources

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,695,002
App. No.
12/581,989
Granted
Apr 8, 2014
Kind
B2
Abstract

An apparatus is provided comprising at least two processing entities. Shared resources are usable by a first and a second processing entity. A use of the shared resources is detected, and the execution of instructions associated with said processing entities is controlled based on the detection.

Claims (37)

1. A multi-threaded processor core comprising:

a first thread context associated with the execution of a first thread,

a second thread context associated with the execution of a second thread,

a scheduler to assign time slots for execution of said first thread and said second thread,

shared resources usable both for execution of said first thread and execution of said second thread,

a hardware unit that detects use of said shared resources by said first thread and said second thread, and

firmware associated with said second thread context, wherein said firmware periodically executes test instructions and reports irregularities in said execution.

2. The processor core of claim 1 ,

wherein said hardware unit is coupled directly to said scheduler, and wherein said scheduler modifies said assignment of time slots based on signals received from said hardware unit.

3. The processor core of claim 1 ,

further comprising executable software to evaluate signals received from said hardware unit and to control said scheduler based on said received signals.

4. The processor core of claim 3 ,

wherein said firmware reports said irregularities in said execution to said executable software.

5. The processor core of claim 3 ,

wherein said executable software is run periodically.

6. The processor core of claim 3 ,

wherein said executable software is run on a third thread context.

7. The processor core of claim 1 ,

wherein said second thread is a real-time thread.

8. The processor core of claim 7 ,

wherein said real-time thread is associated with one of the groups consisting of voice processing and video processing.

9. The processor core of claim 1 ,

wherein said first thread is associated with running an operating system.

10. The processor core of claim 1 ,

wherein said shared resources comprise one or more elements selected from the group consisting of a Fill Store Buffer, a buffer, a level 1 data cache, a level 1 instruction cache, a Multiply Divide Unit and an Arithmetic Logic Unit.

11. The processor core of claim 1 ,

wherein said hardware unit is configured to check one or more parameters selected from the group consisting of a number of instructions said first context executes in a time interval, a number of instructions said second thread context executes in a time interval, a number of Fill Store Buffer entries said first thread context uses, a number of Fill Store Buffer entries said second thread context uses, a number of stalls said first thread context produces, a number of stalls said second thread context produces, a number of instruction cache accesses said first thread context produces, a number of instruction cache accesses said second thread context produces, a number of data cache accesses said second thread context produces, a number of data cache accesses said second thread context produces, a number of cache misses per time interval said first thread context produces, a number of cache misses per time interval said second thread context produces, an occupation of a Multiply Divide Unit per time interval caused by said first thread context, an occupation of a Multiply Divide Unit per time interval caused by said second thread context, a type of instructions executed on said first thread context, a type of instructions executed on said second thread context, an occupation of an arithmetic logic unit per time interval said first context causes and an occupation of an arithmetic logic unit per time interval said second context causes.

12. A method of operating a multi-threaded processor core including a first thread context, a second thread context and firmware, the method comprising:

executing a first thread associated with said first thread context,

executing a second thread associated with said second thread context,

assigning time slots for execution of said first thread and said second thread,

providing shared resources usable both for execution of said first thread and execution of said second thread,

detecting use of said shared resources by said first thread and said second thread,

periodically executing test instructions via said firmware, and

reporting irregularities in said execution via said firmware.

13. The method of claim 12 , wherein said irregularities in said execution are reported to executable software.

14. The method of claim 13 , wherein said executable software is run periodically.

Assignments (10)
SECURITY AGREEMENT Recorded Jul 9, 2021
From: MAXLINEAR, INC.; MAXLINEAR COMMUNICATIONS, LLC; EXAR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 056816/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2020
From: INTEL CORPORATION
To: MAXLINEAR, INC.
Reel/Frame 053626/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: LANTIQ BETEILIGUNGS-GMBH & CO. KG
To: INTEL CORPORATION
Reel/Frame 053259/0678 →
MERGER AND CHANGE OF NAME Recorded Jan 17, 2018
From: LANTIQ DEUTSCHLAND GMBH; LANTIQ BETEILIGUNGS-GMBH & CO. KG
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 045085/0292 →
MERGER Recorded Dec 18, 2017
From: LANTIQ DEUTSCHLAND GMBH
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 044907/0045 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 025413/0340 AND 025406/0677 Recorded Apr 17, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 035453/0712 →
GRANT OF SECURITY INTEREST IN U.S. PATENTS Recorded Nov 29, 2010
From: LANTIQ DEUTSCHLAND GMBH
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 025406/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2010
From: INFINEON TECHNOLOGIES WIRELESS SOLUTIONS GMBH
To: LANTIQ DEUTSCHLAND GMBH
Reel/Frame 024529/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2010
From: INFINEON TECHNOLOGIES AG
To: INFINEON TECHNOLOGIES WIRELESS SOLUTIONS GMBH
Reel/Frame 024483/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2009
From: SYDOW, CARSTEN; FENZL, GUNTHER
To: INFINEON TECHNOLOGIES AG
Reel/Frame 023394/0388 →