Hardware Timer Configuration for Precise Expiration in Non-Real-Time Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing devices, particularly in non-real-time environments like Windows NT, existing timers are not guaranteed to expire at a specific time, making them unsuitable for applications requiring precise timing, such as performance and power consumption algorithms, due to hardware abstraction layer limitations that restrict direct access to hardware-specific timers like HPET.

Innovation Solution

A method and system for configuring hardware timers to expire at a specific time, using a combination of hardware-independent and hardware-dependent APIs to validate parameters, register ISRs, and manage timer operations, ensuring timers expire as specified, either once or periodically, with control returned to the application upon expiration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a hardware abstraction layer (HAL) is used to control hardware access, then device driver development becomes easier and hardware configurations are accessible in a similar manner, but applications and device drivers become unaware of hardware-dependent details and cannot directly access hardware timers like HPET that are required for precise timing

Engineering Contradiction:
Improvedevice driver development easeVSAvoidtimer access ease
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The patent introduces a hardware-dependent API layer that acts as an intermediary between applications and the HAL. This API provides direct access to hardware timers (HPET) while maintaining the HAL's hardware abstraction benefits. The API translates application timer requests into hardware-specific operations, enabling precise timing access without requiring applications to deal with raw hardware details.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If standard software timers are used in a non-real-time environment, then the system is easier to operate, but the timers are not guaranteed to expire at a programmed time, making them unsuitable for applications requiring precise timing

Engineering Contradiction:
Improvesystem operation easeVSAvoidtimer expiration precision
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent segments the timer system into two distinct layers: a hardware-independent API layer that maintains ease of operation and compatibility with non-real-time environments, and a hardware-dependent API layer that provides access to precise hardware timers (HPET). This segmentation allows applications to use precise hardware timers when needed while maintaining the simplicity of standard software timer interfaces for general-purpose operations.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If hardware timers (HPET) are accessed directly by applications, then precise timing is achieved, but the hardware abstraction layer's ability to provide unified hardware access across different platforms is compromised

Engineering Contradiction:
Improvetimer expiration precisionVSAvoidhardware platform adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The hardware-dependent API is designed to be universal across different hardware platforms. It provides a unified interface that adapts to various hardware timer implementations (HPET, PIT, TSC) while maintaining consistent behavior. The API translates platform-specific hardware operations into a standardized interface, allowing applications to access precise timing functionality regardless of the underlying hardware platform.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7383460B2Method and system for configuring a timer
Publication Date: 2008.06.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7383460B2 patent drawing
  • US7383460B2 patent drawing
  • US7383460B2 patent drawing

AI summary

The present invention facilitates access to timers in a computing device. In particular, a timer system facilitates configuring a hardware interrupt timer in a computing device, the timer being guaranteed to expire at a specific time in a non-real-time environment. A calling application passes parameters to a hardware independent application programming interface (API) to the hardware interrupt timer. The hardware independent API validates the parameters and relays them to a hardware dependent API. The hardware dependent API establishes a connection with the timer in accordance with the validated parameters, and executes a service routine associated with the application upon expiration of the timer.