IP Library Granted Patent US 9,223,384
Granted Patent B2
US 9,223,384 · App. 13/733,054 · Granted Dec 29, 2015

Synthesizing intermediate performance levels in integrated circuits, and related processor systems, methods, and computer-readable media

Inventors: Jeffrey Todd Bridges (Raleigh, NC); Yeshwant Nagaraj Kolla (Wake Forest, NC); Sanjay B. Patel (Cary, NC)
Assignee: QUALCOMM Incorporated
G06F1/324G06F1/3234G06F1/3296Y02B60/1217Y02B60/1285
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 9,223,384
App. No.
13/733,054
Granted
Dec 29, 2015
Kind
B2
Abstract

Synthesizing intermediate performance levels in integrated circuits, and related processor systems, methods, and computer-readable media are disclosed. In one embodiment, a synthesized performance level setting circuit receives an input indicating a synthesized performance mode. The circuit generates a power source selection output to select a first power source providing power to an integrated circuit functional block at a first voltage level, and generate a clock frequency setting output to select a first clock frequency associated with the first voltage level to clock the functional block, for a first predefined time interval. The circuit also generates the power source selection output to select a second power source to provide power at a second voltage level lower than the first voltage level, and generate the clock frequency setting output to select a second clock frequency associated with the second voltage level to clock the functional block, for a second predefined time interval.

Claims (149)

1. A synthesized performance level setting circuit configured to synthesize an intermediate performance level for a functional block of an integrated circuit, the synthesized performance level setting circuit configured to:

receive as input a performance mode input; and

responsive to receiving the performance mode input indicating a synthesized performance mode:

generate a power source selection output to select a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and generate a clock frequency setting output to select a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval; and

generate the power source selection output to select a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and generate the clock frequency setting output to select a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval;

receive as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a high performance mode; and

responsive to receiving the performance mode override input indicating the high performance mode:

generate the power source selection output to select the first power source to provide power to the functional block at the first voltage level, and generate the clock frequency setting output to select the first clock frequency associated with the first voltage level to clock the functional block.

2. The synthesized performance level setting circuit of claim 1 , further configured to:

receive as input a high performance mode timer value and a low performance mode timer value;

responsive to receiving the high performance mode timer value and the low performance mode timer value:

generate a first countdown timer initiation output initiating a countdown timer for the first predefined time interval based on the high performance mode timer value; and

generate a second countdown timer initiation output initiating the countdown timer for the second predefined time interval based on the low performance mode timer value.

3. The synthesized performance level setting circuit of claim 1 further configured to:

responsive to receiving the performance mode override input indicating the high performance mode:

generate the power source selection output to select the first power source to provide power to the functional block at the first voltage level, and generate the clock frequency setting output to select the first clock frequency associated with the first voltage level to clock the functional block.

4. The synthesized performance level setting circuit of claim 1 further configured to:

responsive to receiving the performance mode override input indicating a low performance mode:

generate the power source selection output to select the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and generate the clock frequency setting output to select the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

5. The synthesized performance level setting circuit of claim 1 configured to:

receive as the input the performance mode override input triggered by the predefined condition within the integrated circuit and indicating a low performance mode;

responsive to receiving the performance mode override input indicating the low performance mode:

generate the power source selection output to select the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and generate the clock frequency setting output to select the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

6. The synthesized performance level setting circuit of claim 1 configured to generate the power source selection output to select a shared high voltage rail coupled to a high voltage source outside the integrated circuit as the first power source.

7. The synthesized performance level setting circuit of claim 1 configured to generate the power source selection output to select a shared high voltage rail coupled to a high voltage source outside the integrated circuit as the second power source.

8. The synthesized performance level setting circuit of claim 1 configured to generate the power source selection output to select an on-die voltage regulator integrated on a same die as the integrated circuit as the second power source.

9. The synthesized performance level setting circuit of claim 1 configured to receive as the input the performance mode override input indicating the high performance mode triggered by a high processor utilization condition.

10. The synthesized performance level setting circuit of claim 5 configured to receive as the input the performance mode override input indicating the low performance mode triggered by the predefined condition selected from the group consisting of an execution pipeline stall condition, an outstanding memory access condition, and a low processor utilization condition.

11. The synthesized performance level setting circuit of claim 1 integrated into a semiconductor die.

12. The synthesized performance level setting circuit of claim 1 , further comprising a device selected from the group consisting of a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player.

13. A synthesized performance level setting circuit configured to synthesize an intermediate performance level for a functional block of an integrated circuit, the synthesized performance level setting circuit comprising:

a means for receiving as input a performance mode input;

a means for determining that the performance mode input indicates a synthesized performance mode;

a means for selecting a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and selecting a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval, responsive to a determination that the performance mode input indicates the synthesized performance mode;

a means for selecting a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and selecting a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval, responsive to the determination that the performance mode input indicates the synthesized performance mode;

a means for receiving a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a high performance mode; and

a means for generating a power source selection output to select the first power source to provide power to the functional block at the first voltage level, and generating a clock frequency setting output to select the first clock frequency associated with the first voltage level to clock the functional block, responsive to receiving the performance mode override input indicating the high performance mode.

14. A method for synthesizing an intermediate performance level for a functional block of an integrated circuit, comprising:

receiving as input a performance mode input; and

responsive to receiving the performance mode input indicating a synthesized performance mode:

selecting a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and selecting a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval; and

selecting a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and selecting a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval;

receiving as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a high performance mode; and

responsive to receiving the performance mode override input indicating the high performance mode:

selecting the first power source to provide power to the functional block at the first voltage level, and selecting the first clock frequency associated with the first voltage level to clock the functional block.

15. The method of claim 14 , further comprising:

receiving as input a high performance mode timer value and a low performance mode timer value;

initiating a countdown timer for the first predefined time interval based on the high performance mode timer value after selecting the first power source and selecting the first clock frequency; and

initiating the countdown timer for the second predefined time interval based on the low performance mode timer value after selecting the second power source and selecting the second clock frequency.

16. The method of claim 14 further comprising:

responsive to receiving the performance mode override input indicating the high performance mode:

selecting the first power source to provide power to the functional block at the first voltage level, and selecting the first clock frequency associated with the first voltage level to clock the functional block.

17. The method of claim 14 further comprising:

responsive to receiving the performance mode override input indicating a low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

18. The method of claim 14 further comprising:

receiving as the input the performance mode override input triggered by the predefined condition within the integrated circuit and indicating a low performance mode; and

responsive to receiving the performance mode override input indicating the low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

19. A non-transitory computer-readable medium having stored thereon computer-executable instructions to cause a processor to implement a method for synthesizing an intermediate performance level for a functional block of an integrated circuit, the method comprising:

receiving as input a performance mode input; and

responsive to receiving the performance mode input indicating a synthesized performance mode:

selecting a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and selecting a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval; and

selecting a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and selecting a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval;

receiving as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a high performance mode; and

responsive to receiving the performance mode override input indicating the high performance mode:

selecting the first power source to provide power to the functional block at the first voltage level, and selecting the first clock frequency associated with the first voltage level to clock the functional block.

20. The non-transitory computer-readable medium of claim 19 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

receiving as input a high performance mode timer value and a low performance mode timer value;

initiating a countdown timer for the first predefined time interval based on the high performance mode timer value after selecting the first power source and selecting the first clock frequency; and

initiating the countdown timer for the second predefined time interval based on the low performance mode timer value after selecting the second power source and selecting the second clock frequency.

21. The non-transitory computer-readable medium of claim 19 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

responsive to receiving the performance mode override input indicating the high performance mode:

selecting the first power source to provide power to the functional block at the first voltage level, and selecting the first clock frequency associated with the first voltage level to clock the functional block.

22. The non-transitory computer-readable medium of claim 19 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

responsive to receiving the performance mode override input indicating a low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

23. The non-transitory computer-readable medium of claim 19 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

receiving as the input the performance mode override input triggered by the predefined condition within the integrated circuit and indicating a low performance mode; and

responsive to receiving the performance mode override input indicating the low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

24. A synthesized performance level setting circuit configured to synthesize an intermediate performance level for a functional block of an integrated circuit, the synthesized performance level setting circuit configured to:

receive as input a performance mode input; and

responsive to receiving the performance mode input indicating a synthesized performance mode:

generate a power source selection output to select a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and generate a clock frequency setting output to select a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval; and

generate the power source selection output to select a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and generate the clock frequency setting output to select a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval;

receive as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a low performance mode; and

responsive to receiving the performance mode override input indicating the low performance mode:

generate the power source selection output to select the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and generate the clock frequency setting output to select the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

25. The synthesized performance level setting circuit of claim 24 further configured to:

receive as the input a high performance mode timer value and a low performance mode timer value; and

responsive to receiving the high performance mode timer value and the low performance mode timer value:

generate a first countdown timer initiation output initiating a countdown timer for the first predefined time interval based on the high performance mode timer value; and

generate a second countdown timer initiation output initiating the countdown timer for the second predefined time interval based on the low performance mode timer value.

26. The synthesized performance level setting circuit of claim 24 further configured to:

responsive to receiving the performance mode override input indicating the high performance mode:

generate the power source selection output to select the first power source to provide power to the functional block at the first voltage level, and generate the clock frequency setting output to select the first clock frequency associated with the first voltage level to clock the functional block.

27. The synthesized performance level setting circuit of claim 24 further configured to:

responsive to receiving the performance mode override input indicating a low performance mode:

generate the power source selection output to select the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and generate the clock frequency setting output to select the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

28. The synthesized performance level setting circuit of claim 24 configured to generate the power source selection output to select a shared high voltage rail coupled to a high voltage source outside the integrated circuit as the first power source.

29. The synthesized performance level setting circuit of claim 24 configured to generate the power source selection output to select a shared high voltage rail coupled to a high voltage source outside the integrated circuit as the second power source.

30. The synthesized performance level setting circuit of claim 24 configured to generate the power source selection output to select an on-die voltage regulator integrated on a same die as the integrated circuit as the second power source.

31. The synthesized performance level setting circuit of claim 24 configured to receive as input the performance mode override input triggered by the predefined condition selected from the group consisting of an execution pipeline stall condition, an outstanding memory access condition, and a low processor utilization condition.

32. The synthesized performance level setting circuit of claim 24 integrated into a semiconductor die.

33. The synthesized performance level setting circuit of claim 24 , further comprising a device selected from the group consisting of a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player.

34. A synthesized performance level setting circuit configured to synthesize an intermediate performance level for a functional block of an integrated circuit, the synthesized performance level setting circuit comprising:

a means for receiving as input a performance mode input;

a means for determining that the performance mode input indicates a synthesized performance mode;

a means for selecting a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and selecting a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval, responsive to a determination that the performance mode input indicates the synthesized performance mode;

a means for selecting a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and selecting a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval, responsive to the determination that the performance mode input indicates the synthesized performance mode;

a means for receiving as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a low performance mode; and

a means for selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block, responsive to receiving the performance mode override input.

35. A method for synthesizing an intermediate performance level for a functional block of an integrated circuit, comprising:

receiving as input a performance mode input; and

responsive to receiving the performance mode input indicating a synthesized performance mode:

selecting a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and selecting a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval; and

selecting a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and selecting a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval;

receiving as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a low performance mode; and

responsive to receiving the performance mode override input indicating the low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

36. The method of claim 35 , further comprising:

receiving as input a high performance mode timer value and a low performance mode timer value;

initiating a countdown timer for the first predefined time interval based on the high performance mode timer value after selecting the first power source and selecting the first clock frequency; and

initiating the countdown timer for the second predefined time interval based on the low performance mode timer value after selecting the second power source and selecting the second clock frequency.

37. The method of claim 35 further comprising:

responsive to receiving the performance mode override input indicating a high performance mode:

selecting the first power source to provide power to the functional block at the first voltage level, and selecting the first clock frequency associated with the first voltage level to clock the functional block.

38. The method of claim 35 further comprising:

responsive to receiving the performance mode override input indicating the low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

39. A non-transitory computer-readable medium having stored thereon computer-executable instructions to cause a processor to implement a method for synthesizing an intermediate performance level for a functional block of an integrated circuit, the method comprising:

receiving as input a performance mode input; and

responsive to receiving the performance mode input indicating a synthesized performance mode:

selecting a first power source to provide power to the functional block at a first voltage level for a first predefined time interval, and selecting a first clock frequency associated with the first voltage level to clock the functional block for the first predefined time interval; and

selecting a second power source to provide power to the functional block at a second voltage level lower than the first voltage level for a second predefined time interval, and selecting a second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block for the second predefined time interval;

receiving as input a performance mode override input triggered by a predefined condition within the integrated circuit and indicating a low performance mode; and

responsive to receiving the performance mode override input indicating the low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

40. The non-transitory computer-readable medium of claim 39 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

receiving as input a high performance mode timer value and a low performance mode timer value;

initiating a countdown timer for the first predefined time interval based on the high performance mode timer value after selecting the first power source and selecting the first clock frequency; and

initiating the countdown timer for the second predefined time interval based on the low performance mode timer value after selecting the second power source and selecting the second clock frequency.

41. The non-transitory computer-readable medium of claim 38 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

responsive to receiving the performance mode override input indicating a high performance mode:

selecting the first power source to provide power to the functional block at the first voltage level, and selecting the first clock frequency associated with the first voltage level to clock the functional block.

42. The non-transitory computer-readable medium of claim 38 having stored thereon computer-executable instructions to cause the processor to implement the method further comprising:

responsive to receiving the performance mode override input indicating the low performance mode:

selecting the second power source to provide power to the functional block at the second voltage level lower than the first voltage level, and selecting the second clock frequency lower than the first clock frequency and associated with the second voltage level to clock the functional block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2013
From: BRIDGES, JEFFREY TODD; KOLLA, YESHWANT NAGARAJ; PATEL, SANJAY B.
To: QUALCOMM INCORPORATED
Reel/Frame 029557/0615 →
Continuity (2)
Provisional Application 61677841 · Jul 31, 2012
Related Publication 20140040647A1 · Feb 6, 2014