IP Library Granted Patent US 12,259,775
Granted Patent B2
US 12,259,775 · App. 17/323,793 · Granted Mar 25, 2025

Power optimized timer module for processors

Inventor: Anthony Giardina (Colfax, CA)
Assignee: Intel Corporation
G06F1/329G06F1/3206G06F1/3243Y02D10/00
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 12,259,775
App. No.
17/323,793
Granted
Mar 25, 2025
Kind
B2
Abstract

A timer intellectual property (IP) block that automatically determines an interval on which a processor circuitry is to be woken up to service periodic events, when it is given details about the requirements for those events (e.g., approximately how often they must occur, if it's important that they not happen too frequently or too infrequently, if the total number of events over a long average is important, etc.). For each periodic event that firmware must handle, the IP provides an Application Programming Interface (API) to register details of that event. The firmware configures all the events that it requires during system configuration, although it is possible to add, remove or modify individual events at runtime. At runtime, the optimized timer IP will interrupt the processor circuitry whenever one or more events need to be handled, based on a batching algorithm.

Claims (26)

1. An apparatus comprising:

a processor circuitry to execute one or more instructions, wherein the processor circuitry is to configure a plurality of parameters for each timer event, and provide the plurality of parameters to an application programming interface; and

a timer circuitry to receive the plurality of parameters that are configured by the processor circuitry, and to batch a plurality of timer events according to the plurality of parameters, wherein the plurality of parameters comprises a long-term quantity requirement for each timer event of the plurality of timer events.

2. The apparatus of claim 1 , wherein the plurality of parameters comprises an approximate event period for each timer event of the plurality of timer events.

3. The apparatus of claim 1 , wherein the plurality of parameters comprises an enable parameter for each timer event of the plurality of timer events.

4. The apparatus of claim 1 , wherein the timer circuitry is to interrupt the processor circuitry at runtime at periodic times.

5. The apparatus of claim 4 , wherein the periodic times are based on a most frequent event from among the plurality of timer events.

6. The apparatus of claim 1 , wherein the timer circuitry is to set an interrupt field as pending when an approximate event period will expire before a next wake period for the processor circuitry.

7. The apparatus of claim 1 , wherein the timer circuitry is to set an interrupt field as pending when an event period for a timer event has already expired.

8. An apparatus comprising:

a processor circuitry to execute one or more instructions, wherein the processor circuitry is to configure a plurality of parameters for each timer event, and provide the plurality of parameters to an application programming interface; and

a timer circuitry to receive the plurality of parameters that are configured by the processor circuitry, and to batch a plurality of timer events according to the plurality of parameters, wherein the timer circuitry is to set an interrupt field as pending when a long-term average shows that more events are desired for a given time period.

9. The apparatus of claim 8 , wherein the plurality of parameters comprises an arrival preference for each timer event of the plurality of timer events.

10. The apparatus of claim 8 , wherein the timer circuitry determines a minimum wake period from among the plurality of timer events for which the plurality of parameters is configured.

11. The apparatus of claim 8 , wherein the application programming interface includes an event registration interface to register the plurality of parameters for each timer event.

12. An apparatus comprising:

a processor circuitry to execute one or more instructions, wherein the processor circuitry is to configure a plurality of parameters for each timer event, and provide the plurality of parameters to an application programming interface; and

a timer circuitry to receive the plurality of parameters that are configured by the processor circuitry, and to batch a plurality of timer events at regular time intervals according to the plurality of parameters and a minimum wake period for a number of timer events, wherein the timer circuitry is to set an interrupt field as pending when a long-term average shows that more events are desired for a given time period.

13. The apparatus of claim 12 , wherein the timer circuitry determines the minimum wake period from among the plurality of timer events for which the plurality of parameters is configured.

14. The apparatus of claim 12 , wherein the plurality of parameters comprises:

an approximate event period for each timer event of the plurality of timer events;

an arrival preference for each timer event of the plurality of timer events;

a long-term quantity requirement for each timer event of the plurality of timer events; and

an enable parameter for each timer event of the plurality of timer events.

15. The apparatus of claim 12 , wherein the timer circuitry is to set an interrupt field as pending when an approximate event period will expire before a next wake period for the processor circuitry.

16. The apparatus of claim 12 , wherein the timer circuitry is to set an interrupt field as pending when an event period for a timer event has already expired.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2021
From: GIARDINA, ANTHONY
To: INTEL CORPORATION
Reel/Frame 056441/0664 →
Continuity (1)
Related Publication 20220374065A1 · Nov 24, 2022
References Cited (24)
US 7086014B1 · Bartz · 2006 [cited by examiner]
US 7987307B2 · Sarangam et al. · 2011 [cited by applicant]
US 8259576B2 · Lee · 2012 [cited by examiner]
US 8612998B2 · Wang et al. · 2013 [cited by applicant]
US 9829949B2 · Min et al. · 2017 [cited by applicant]
US 9958933B2 · Lingutla · 2018 [cited by examiner]
US 10275008B2 · Jones et al. · 2019 [cited by applicant]
US 10768984B2 · Varadarajan · 2020 [cited by examiner]
US 20040107370A1 · Mosley · 2004 [cited by applicant]
US 20060123172A1 · Herrell · 2006 [cited by examiner]
US 20060149975A1 · Rotem et al. · 2006 [cited by applicant]
US 20080104425A1 · Gunther et al. · 2008 [cited by applicant]
US 20080136397A1 · Gunther et al. · 2008 [cited by applicant]
US 20100077394A1 · Wang · 2010 [cited by examiner]
US 20110154081A1 · Allarey · 2011 [cited by applicant]
US 20110179295A1 · Jahagirdar et al. · 2011 [cited by applicant]
US 20120166844A1 · Morgan et al. · 2012 [cited by applicant]
US 20140344819A1 · Kumar · 2014 [cited by examiner]
US 20140344820A1 · Kumar · 2014 [cited by examiner]
US 20160357248A1 · Lingutla · 2016 [cited by examiner]
US 20170185458A1 · Chaffin et al. · 2017 [cited by applicant]
US 20170228233A1 · Mishaeli et al. · 2017 [cited by applicant]
US 20180299946A1 · Lingutla · 2018 [cited by examiner]
Sagdeo, Parth. “Application Programming Interfaces and the Standardization-Value Appropriation Problem”. Harvard Journal of Law & Technology. vol. 32, No. 1. Fall 2018. pp. 235-263. (Year: 2018). [cited by examiner]