Browse Prior Art Database

Algorithm for the Proximity-Independent Timestamp Counter Correction of C-State Errors

IP.com Disclosure Number: IPCOM000022487D
Publication Date: 2004-Mar-17
Document File: 2 page(s) / 14K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is an algorithm that corrects errors in a Timestamp Counter (TSC) in a processor that may be introduced by assertion of a signal, such as a deep sleep signal, that causes the TSC to stop while the processor is in a lower power mode, for example.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Algorithm for the Proximity-Independent Timestamp Counter Correction of C-State Errors

Disclosed is an algorithm that corrects errors in a Timestamp Counter (TSC) in a processor that may be introduced by assertion of a signal, such as a deep sleep signal, that causes the TSC to stop while the processor is in a lower power mode, for example.

Background

The TSC of some processors is designed to continuously count at a constant frequency, based on the speed of the processor. The counter starts at 0, and should monotonically increase at a constant rate; however, for some processors, the processor’s TSC will stop when a deep sleep or other signal is asserted. A deep sleep signal may be asserted, for example, each time the processor is placed into some lower power states.

In mobile systems, the processor may be in such lower power states a majority of the time. This means that the counter is often not operational. This is a problem for applications that use the TSC as a basis for timing system-critical events that require high precision. In some systems, C states occur within System Management Mode (SMM) in the System Management Interface (SMI) handler. The use of the SMI handler to control C states allows for precise monitoring of C state entry and exit; thereby allowing for correction of the TSC.

Conventional correction algorithms rely on reading a low-precision timer in close proximity to the C state entry and exit points. However, due to hardware latencies associated with C state entry/exit, these algorithms tend to gain time because the TSC does not stop immediately o...