IP Library Granted Patent US 7,523,330
Granted Patent B2
US 7,523,330 · App. 10/881,246 · Granted Apr 21, 2009

Thread-based clock enabling in a multi-threaded processor

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,523,330
App. No.
10/881,246
Granted
Apr 21, 2009
Kind
B2
Abstract

A method and apparatus for controlling power consumption in a multi-threaded processor. In one embodiment, the processor includes at least one logic unit for processing instructions. The logic unit includes a plurality of positions, wherein each of the plurality of positions corresponds to at least one instruction thread. Clock signals may be provided to the logic unit via a clock gating unit. The clock gating unit is configured to inhibit a clock signal from being provided to a corresponding one of the thread positions when no instruction thread is active for that position. The inhibiting of the clock signal for an inactive thread position may reduce power consumption by the processor.

Claims (22)

1. A processor, comprising:

at least one logic unit, wherein the logic unit is included within a pipeline, having a plurality of thread positions, wherein each of the plurality of thread positions is configured to process at least one instruction thread different from the other instruction threads of the plurality of thread positions during a given clock cycle; and

a clock gating unit, wherein the clock gating unit is configured to inhibit a clock signal from being provided to a corresponding one of the plurality of thread positions when no instruction thread is active for the one of the plurality of thread positions.

2. The processor as recited in claim 1 , wherein the at least one logic unit is an instruction fetch unit, and wherein each of the plurality of thread positions corresponds to a single instruction thread.

3. The processor as recited in claim 1 , wherein the at least one logic unit is an instruction pick unit, and wherein each of a plurality of thread positions corresponds to a single instruction thread.

4. The processor as recited in claim 1 , wherein each of the plurality of thread positions corresponds to a group of instruction threads.

5. The processor as recited in claim 4 , wherein the at least one logic unit is a decode unit, and wherein a first one of the plurality of thread positions corresponds to a first group of instruction threads and a second one of the plurality of thread positions corresponds to a second group of instruction threads.

6. The processor as recited in claim 1 , wherein the at least one logic unit is execution logic including a first execution unit and a second execution unit, wherein the first execution unit includes a first one of the plurality of thread positions corresponding to a first group of instruction threads, and wherein the second execution unit includes a second one of the plurality of thread positions corresponding to a second group of instruction threads.

7. The processor as recited in claim 4 , wherein the at least one logic unit is a trap logic unit.

8. The processor as recited in claim 1 , wherein the clock gating unit is configured to receive an indication of which of the plurality of thread positions include an active instruction thread.

9. The processor as recited in claim 8 , wherein the indication is generated by an operating system.

10. A method for controlling power consumption in a processor, the method comprising:

monitoring each of a plurality of thread positions, wherein each of the plurality of thread positions is configured to process at least one instruction thread different from the other instruction threads of the plurality of thread positions during a given clock cycle, in a logic unit for the presence of an active instruction thread, wherein the logic unit is included within said pipeline; and

inhibiting a clock signal from being provided to one of the plurality of thread positions if no active instruction thread is present for the one of the plurality of thread positions.

11. The method as recited in claim 10 , wherein the logic unit is an instruction fetch unit, and wherein each of the plurality of thread positions corresponds to a single instruction thread.

12. The method as recited in claim 10 , wherein the logic unit is an instruction pick unit, and wherein each of the plurality of thread positions corresponds to a single instruction thread.

13. The method as recited in claim 10 , wherein each of the plurality of thread positions corresponds to a group of instruction threads.

14. The method as recited in claim 13 , wherein the at least one logic unit is a decode unit, and wherein a first one of the plurality of thread positions corresponds to a first group of instruction threads and a second one of the plurality of thread positions corresponds to a second group of instruction threads.

15. The method as recited in claim 10 , wherein the at least one logic unit is execution logic including a first execution unit and a second execution unit, wherein the first execution unit includes a first one of the plurality of thread positions corresponding to a first group of instruction threads, and wherein the second execution unit includes a second one of the plurality of thread positions corresponding to a second group of instruction threads.

16. The method as recited in claim 13 , wherein the at least one logic unit is a trap logic unit.

17. The method as recited in claim 10 , wherein the clock gating unit is configured to receive an indication of which of the plurality of thread positions include an active instruction thread.

18. The method as recited in claim 17 , wherein the indication is generated by an operating system.

Assignments (3)
SECURITY INTEREST Recorded Aug 12, 2021
From: TEAM INTERNATIONAL GROUP OF AMERICA, INC.
To: CITIBANK, N.A.
Reel/Frame 057166/0736 →
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2004
From: GOLLA, ROBERT T.; BROOKS, JEFFREY S.; OLSON, CHRISTOPHER H.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015534/0562 →