RightMark CPU Clock Utility, version 1.8. README
Copyright (C) 2004-2005 RightMark Gathering, iXBT.com
Contents
Genral Information
RightMark CPU Clock Utility (RMClock) is a small GUI application designed for real-time CPU frequency, throttling and load level monitoring and on-the-fly adjustment of the CPU performance level on supported CPU models via processor's power management model-specific registers (MSRs). In automatic management mode it continuously monitors the CPU usage level and dynamically adjusts the CPU frequency, throttle and/or voltage level as needed.
Disclaimer
PLEASE READ THIS CAREFULLY!
YOUR SYSTEM MAY LOCK UP AS A RESULT OF A CPU FREQUENCY, VOLTAGE OR DUTY CYCLE CHANGE, OVERCLOCKING/OVER-VOLTAGE OF A CPU, AS WELL AS TWEAKING WITH CPU-SPECIFIC REGISTERS! THE DEVELOPERS TEAM, THE RIGHTMARK GATHERING AND/OR IXBT.COM ARE NOT RESPONSIBLE FOR ANY DAMAGE THAT MAY RESULT FROM THE USE OF THIS UTILITY.
YOU HAVE BEEN WARNED!
Features
- Real-time CPU clock and CPU/OS load level determination and monitoring (with optional logging).
- Detection of virtually any form of CPU clock throttling.
- Dynamic on-demand CPU performance state (P-state) transitions via real-time adjustment of CPU multiplier (FID) and/or requested voltage level (VID).
- Dynamic on-demand CPU clock modulation via real-time transitions between CPU clock throttling levels.
- Fine-tuning of advanced CPU-specific power management settings for AMD K7, AMD K8, Intel Pentium M, Intel Pentium 4/Xeon and Transmeta Crusoe/Efficeon CPU families.
- Support for multi-processor (SMP/HT/multicore) systems.
Supported Environment
Processors
Current release of RMClock utility implements the CPU frequency, CPU load and throttling level determination on the following processor models:
- AMD K7 (Athlon/XP/MP, Duron, Sempron) and K8 (Athlon 64/FX, Opteron 64, Sempron) family CPUs.
- Intel Pentium II/Celeron, Pentium III/Celeron, Pentium M/Celeron M, Pentium 4/Celeron (Northwood and Prescott cores), Pentium 4 Extreme Edition (Gallatin and Prescott cores), Xeon (Prestonia, Nocona, Cranford and Irwindale cores), Pentium D and Pentium Extreme Edition (Smithfield core).
Dynamic P-state transitions are supported on:
- AMD Athlon 64/FX, mobile Athlon 64 featuring AMD Cool`n'Quiet(tm) technology.
- Mobile or Low-Power Desktop AMD Athlon XP featuring AMD PowerNow!(tm) technology.
- Intel Pentium M featuring Enhanced Intel(R) SpeedStep(tm) technology (EIST).
- Intel Pentium 4 600 series (Prescott N0 core), Intel Xeon (Nocona, Cranford and Irwindale cores), Intel Pentium D (Smithfield core) featuring Enhanced Intel(R) SpeedStep(tm) technology (DBS).
Dynamic on-demand clock modulation adjustment is supported on:
- Intel Pentium M/Celeron M, Intel Pentium 4/Pentium 4 Extreme Edition/Celeron (all cores), Intel Xeon (all cores), Intel Pentium D/Pentium Extreme Edition featuring On-Demand Clock Modulation (ODCM).
RMClock utility will run on unsupported CPU models, however, in this case, most of its functionality will be unavailable.
Motherboards
- For AMD Athlon 64 processors family, a motherboard certified for AMD Cool`n'Quiet(tm) technology is highly recommended. RMClock is not guaranteed to run stable on a non-certified motherboard (however, due to a greater flexibility of RMClock utility, workarounds are possible in some cases). For a list of motherboards supporting AMD Cool`n'Quiet(tm) technology, please visit the AMD web site.
Operating systems
- RMClock is designed for a 32-bit Windows NT-class OS version 5.0 and higher, i.e., it should run on Windows 2000/XP/2003 Server with no problems. No support for Win9x family systems is planned.
- Support for 64-bit Windows (x86-64/EM64T systems) is available since version 1.7.
- NOTE: You must have Administrative rights to install and run this utility.
User Interface
General tab
CPU Info & Status
- CPU Model, Core and Revision - indicates the detected CPU model name, core name and core revision of a currently selected CPU.
- PM Features - lists the power management features supported and enabled on a given CPU.
- CPU Core Clock - indicates actual (full) CPU core frequency, in MHz. For most processors, this value reflects how fast the internal CPU time stamp counter (TSC) increments.
- CPU Throttle - shows effective CPU core frequency, in MHz. This value being less than the actual CPU core clock indicates that the CPU clock duty cycle modulation (commonly referred to as "throttling") is in effect.
- CPU Load - shows actual CPU load (i.e., the ratio of "active" processor cycles to total processor cycles per a given amount of time). This value is measured via CPU-specific performance monitoring counters and represents true CPU load, i.e., the amount of time the CPU spent in "non-asleep" state.
- OS Load - shows CPU load level as reported by the OS, in a manner similar to Windows Task Manager.
NOTE: Due to the differences in the nature and the source of the measurements and the detection accuracy, the displayed CPU Load and OS Load values may not match. A mismatch of several percents between these values should be considered normal.
Also, systems containing logical CPUs may show up to 50% mismatch between these values. This is because the OS Load measures the load of the given logical processor, while CPU Load shows the load of the physical processor/core containing that logical processor. - Current FID, VID - indicates current CPU FSB clock multiplier (FID) and requested voltage level (VID).
NOTE: VID is not the actual CPU core voltage, it is only the requested level (please see the FAQ section for more info).
- Startup FID, VID - indicates FID and VID values the CPU starts with at power-on.
- Minimal FID, VID - indicates the minimal FID and VID values the CPU can possibly handle.
NOTE: some CPUs may not actually support the lowest reported FID and/or VID values.
- Maximal FID, VID - indicates the maximal FID and VID values the CPU can possibly handle.
NOTE: some CPUs (e.g., "frequency unlocked" ones) may not actually support the highest reported FID and/or VID values.
- CPU Select - selects the index of the system CPU to monitor.
NOTE: beginning with version 1.8, RMClock displays a list of all available system processors, regardless of their type (physical package, individual core or logical processor).
Main Program Settings
- Show Balloon Tooltips - enables/disables display of the info balloon tooltips.
- Show Performance Level in Icon - animates the application's system tray icon with current CPU performance level. When both PST and ODCM management are enabled and active, the PST performance level takes precedence over ODCM performance level.
- Alert on CPU Thermal Throttling - makes the utility alert the user with a warning balloon tooltip each time the CPU enters into a thermal throttling state (i.e., on activation of TM1 or TM2).
- Make Window Topmost - makes the application window stay on top of all other windows.
- Start Minimized to Tray - makes the utility start minimized to tray (not showing the main application window).
- Run Automatically at Startup - adds a shortcut to the application executable to the HKCU\Software\Microsoft\Windows\Current Version\Run registry key so that the application starts automatically whenever the user's Windows session starts.
- Restore CPU Defaults on Exit - selecting this option will restore the CPU-default FID/VID and ODCM values when you exit RMClock utility (either manually or when terminating a Windows session).
NOTE: With this setting on, defaults are also applied when you disable PST/ODCM management.
Management tab
Use P-State Transitions (PST)
Enables/disables the management of the CPU performance states transitions. If the CPU does not support P-state transitions feature, this field is grayed out.
- Add - adds a new P-State (defined by FID and VID combination) to the P-States Table.
- Modify - modifies currently selected P-State.
- Delete - deletes currently selected P-State.
- Defaults - fill the table with the CPU default P-States (may not function correctly on a new or unknown CPUs).
The Auto-adjust intermediate P-State VIDs option found in the Add/Modify P-State dialog makes it unnecessary to manually enter VID values for intermediate P-States. When you change VIDs of the minimal or maximal states (either by adding, modifying or deleting) with this option enabled, it automatically adjusts VIDs for all defined intermediate P-States in a linear dependence manner.
Use On-Demand Clock Modulation (ODCM)
Enables/disables the management of the CPU on-demand clock modulation. If the CPU does not support ODCM feature, this field is grayed out.
NOTE: enabling both PST and ODCM management is possible, provided the CPU supports both features, but is not recommended.
- Min Throttle - defines the lowest CPU throttle level to use.
- Max Throttle - defines the highest CPU throttle level to use.
Performance/Power Profiles & Management Mode
- AC Profile, Batt. Profile - selects the PST management profiles to use when running on AC Power and on batteries:
- No Management - the utility does not attempt to perform any P-state/ODCM level management. This is identical to turning off the PST and ODCM management features completely.
- Minimal - the utility sets the lowest user-defined P-state and the lowest ODCM level and "locks" these value (prevents them from being changed).
- Maximal - the utility sets and "locks" the highest user-defined P-state and the highest ODCM level.
- Automatic Management - the utility adjusts the CPU throttle level, FID and VID values as needed, providing a "performance on demand" concept. In this mode, the CPU performance states are changed automatically depending on current CPU load reported by the CPU counters or the operating system (see below). The utility may change the CPU performance states as fast as 10 times per second by default. To prevent unnecessary performance state transitions, the CPU load level "noise filtering" technique is used, which is able to efficiently remove accident CPU usage level "spikes" (e.g., when launching a new application).
- AC Mode, Batt. Mode - sets the desired balance between CPU performance and power consumption. The default Balanced setting is recommended for most cases. On a notebook systems, extra power saving can be achieved by using the "Power Saving Level 1-4" settings.
- On Suspend - defines the application behavior when OS is going to enter into Standby/Hibernate state. "Keep current profile" leaves the settings alone, "Force Minimal State" causes the CPU to switch into Minimal performance state (PST, ODCM, or both) (this is exactly what the "Force Minimal State on Stanby" did, which is removed from UI since version 1.8), while "Force Maximal State" puts the CPU into the maximal performance state. This setting is useful for enabling a quicker resume from Hibernate state.
Miscellaneous Options
Provides additional configuration options to solve specific hardware/software problems described below. You must restart RMClock application for these settings to have an effect.
- Run HLT command when the system is idle - this feature causes the utility to spawn external idle priority RMClockHLT processes (as many as the number of system CPUs present, either physical or logical), which run an HLT command in a loop. This will efficiently "steal" all idle time from the OS "System Idle Process" while retaining the CPU in a low power state (C1) when the system is idle. This option can be used as an alternative to "Use OS load-based management" option described below on a Centrino platform, as well as in any other cases when you don't want the OS to manage the CPU idle time (e.g., you want to prohibit entering deeper power saving states like C2 or C3 if they're known to cause problems).
NOTE: since the OS will no longer receive any idle time, the OS CPU load reported by Windows Task Manager and similar utilities will be always remaining at 100%. The OS load reported by RMClock, however, will still be correct, as the utility subtracts the amount of time the CPU spent executing RMClockHLT process(es) from a total CPU busy time.
- Use OS load-based management - forces the utility to use OS load measurements instead of the CPU load for PST/ODCM management. This setting is recommended only for Intel Centrino Mobile Technology platform due to the CPU load determination issues on this platform. In all other cases it is strongly recommended to leave this setting alone, thus permitting much more accurate management based on the precise CPU load indications.
Advanced tab (AMD K7 processors)
Low Power CPU Modes Settings
- Halt Disconnect Clock Divisor - tells the CPU how much the clock should be reduced while entering C1/Halt power saving mode. The resulting frequency is nominal frequency divided by divisor. C1/Halt state is entered upon running privileged instruction HLT - this is done automatically by Windows 2000/XP when OS is idle. For proper functionality of a low-power C1/Halt mode it is necessary that the chipset disconnects Front Side Bus after receiving request generated by the processor. Majority of K7 chipsets support this, but on older motherboards this is often not enabled by default due to problems with this feature. Those problems are usually in form of sound crackles, lowered HDD performance, PCI problems etc. For proper functionality of this feature, you need a chipset-enabled FSB disconnect after Halt special system bus cycle (set by BIOS, otherwise use WPCREDIT/WPCRSET). Higher divisors result in lower frequency what turns in somewhat lower temperature and lower power consumption. On the other hand, those higher divisors tend to cause problems described above and sometimes even to systems hangs. The result of enabling C1/Halt Bus Disconnect can be as much as 15 degrees Celsius temperature decrease. Different divisors have somewhat lower effect, the difference between 8 and 512 can be 5 degrees at most.
- Stop Grant Disconnect Clock Divisor - this is the same as for Halt Disconnect Clock Divisor with the difference that this one sets frequency divisor for C2/Stop Grant power saving mode. The effect of power requirements reduction is the same as in case of C1/Halt mode, but there are few differences. First - chipset has to be set to disconnect FSB upon receiving Stop Grant request, not Halt request. On many chipsets, there are separate bits for Halt and for Stop Grant, so be sure to set the right one. Second - you do not need any program to enter to C2 Stop Grant state because Windows 2000/XP have already integrated mechanism that does this, provided that C2 state is defined and allowed to be used in the ACPI table.
- Full Ramp - determines a max possible delay when ramping up/down the internal CPU clock. No information is currently available for this setting, so it's best to leave it default.
- Ramp Delays (Clock Change Timings) - these settings affect time between clock changes inside the CPU while entering to/from C1/Halt or C2/Stop Grant states, provided that the Halt/Stop Grant Bus Disconnect is enabled in the chipset settings. Faster settings mean lower latencies and therefore higher performance and better resistance to problems with sound cards, HDD performance etc. But on the other hand, faster settings impose higher requirements on internal clock generator. If you experience problems with stability, use the slower settings (e.g., 8 or 16 for all fields).
- Enable Stop Grant APIC Bus Disconnect - controls whether the CPU should reject any APIC Bus messages while being in C2/Stop Grant state. If you have problems with this low-power mode, try disabling this option.
NOTE: APIC Bus Disconnect has nothing to do with the AMD S2K Bus Disconnect feature that is enabled separately in the chipset configuration registers settings and is beyond the scope of RMClock utility.
P-State Transitions Settings
The utility must be restarted for these settings to have an effect.
- Stop Grant Timeout Count - defines the amount of the system bus cycles the CPU will enter into a Stop Grant state for, after completing a FID/VID transition.
- FID Transition Stabilization Time - sets the amount of the artificial CPU delay after every single FID transition, in microseconds.
- VID Transition Stabilization Time - sets the amount of the artificial CPU delay after every single VID transition, in microseconds.
- VID Table Select - lets the user choose whether the utility will use an internal K7 VIDs table for a mobile or a low-power desktop CPU.
Remember these settings - makes the utility apply the low power modes settings every time the utility starts (or when the system is restored from Standby/Hibernate states).
Advanced tab (AMD K8 processors)
Power Management Settings (Per ACPI State)
- ACPI State to Show/Modify - sets the ACPI power management state to manipulate with. These states correspond to PMM0-PMM7 System Management Action Field (SMAF) codes and are as follows: PMM0 = C2 (Stop Grant); PMM1 = C3 (Sleep); PMM2 = C0, FID/VID Change; PMM3 = S1 (POS); PMM4 = S3 (STR); PMM5 = C0, Throttling; PMM6 = S4/S5 (STD/SOFF); PMM7 = C1 (Halt).
- Clock Divisor Select - specifies the divisor to use when ramping down the CPU clock or the Northbridge clock.
- CPU Low Power Enable - causes the CPU clock to ramp down according to the clock divisor specified in Clock Divisor Select.
- Northbridge Low Power Enable - causes the Northbridge clock to ramp down according to the clock divisor specified in Clock Divisor Select and puts the DRAM in self-refresh mode. The CPU clock must also be ramped down (see CPU Low Power Enable).
- FID/VID Change Enable - enables a change in Frequency ID (FID) and/or Voltage ID (VID). The CPU and the Northbridge clocks must also be ramped down (see CPU Low Power Enable and Northbridge Low Power Enable).
NOTE: this setting should normally be enabled only for the "C0, FID/VID Change" ACPI state.
- Alt VID Change Enable (revision E cores only) - For mobile processors that are revision E and later revisions that use discrete graphics, the hardware can be programmed to drive an alternate VID code during the C3 processor power state. The purpose of the AltVID is to reduce the processor voltage to the minimum operational level while the processor is in the C3 state. This setting enables a VID change to the value specified in the Alternate VID field after CPU clocks and Northbridge clocks are ramped down. This mode should never be set for FID/VID changes or when UMA graphics are used.
- Alternate VID (revision E cores only) - specifies the alternate VID while in low power states with AltVID Change enabled. If an attempt is made to write a VID value that is greater than MaxVID, then the MaxVID value is written instead. If an attempt is made to write a VID value that is lower than the MinVID, then the MinVID value is written instead.
- Alternate VID Stabilization Time (revision E cores only) - indicates the amount of time required to stabilize the voltage regulator. For revision E and later mobile systems that enable AltVID, this field should be programmed to account for the time it takes to ramp the voltage from AltVID to the VID for the 800MHz P-state, i.e.: VSTIME = ((800 MHz VID) - AltVID) * 1us/mV.
- Defaults - loads the predefined values (as recommended by the vendor) for Mobile, Desktop or a Server processor.
NOTE: it is possible (and recommended) to apply "Desktop" or even "Mobile" profile on Opteron-based server systems (including the multiprocessor ones). This will significantly reduce CPU power consumption during Halt (but may slightly reduce system performance).
Clock Power/Timings
- Good Phase Error - defines the BCLK PLL time until good phase error, in microseconds. Counting occurs when at full frequency.
- Clock Ramp Hysteresis - a non-zero value enables a hysteresis time (in nanoseconds) which prevents the CPU clock grid from being ramped down after processing a probe. It avoids unnecessary changes of the CPU clock grid when the probe arrival rate is relatively low.
- HTT Clock PLL Lock Counter - indicates how long it takes for the slowest HyperTransport technology clock PLL to ramp to its new frequency and lock (in microseconds).
- Defaults - loads the predefined values for the systems with Unbuffered or Registered DIMMs.
NOTE: if you experience problems with the AMD Cool`n'Quiet(tm) technology operation and have multiple memory modules installed, try applying "Registered DIMMs" profile, which will force the CPU to use longer stabilization times.
P-State Transitions Settings
You must restart the utility for these settings to have an effect.
- Stop Grant Timeout Count - sets the amount of the system bus cycles the CPU will enter into a Stop Grant state for, after completing a single FID transition.
- Max Ramp Voltage Offset - defines the maximal amount of extra voltage, in milliVolts, that is applied when performing a series of VID transitions. This extra voltage is removed after completing a FID/VID transition sequence.
- FID Transition Stabilization Time - sets the amount of the artificial delay applied after every single FID transition, in microseconds.
- VID Transition Stabilization Time - sets the amount of the artificial delay applied after every single VID transition, in microseconds.
- Follow AMD P-State Transitions rules - instructs the utility to use the official AMD P-state transitions rules (with the VCO frequency change steps of 200 MHz or less and the 25-mV VID change steps).
NOTE: the availability of lower FIDs (4x to 7x) in this case depends on the CPU model installed.
- Use Direct P-State Transitions - relaxes the official AMD P-state transitions restrictions and allow direct jumps between any FID values, including all lower FIDs.
NOTE: VID transitions are still performed in 25-mV steps. This behavior is by design for versions 1.5 and higher.
- Allow Half FIDs - allows the utility to use half FIDs (not officially documented by AMD). This setting is available only for the Direct P-State Transitions scheme.
Remember these settings - makes the utility apply the user-defined ACPI power management and clock power/timing settings every time the utility starts (or when the system is restored from Standby/Hibernate states).
Advanced tab (Intel Centrino platform)
Automatic Thermal Protection
Sets the preferred way of automatic thermal protection (Thermal Monitor 1 or Thermal Monitor 2, if available).
NOTE: the CPU is operating out of spec when both TM1 and TM2 are disabled.
Thermal Monitor 2 Target
Defines the FID and VID values the CPU will transition to on activation of the Thermal Monitor 2 feature, provided the CPU supports TM2 and TM2 target programming.
Enhanced Intel SpeedStep (EIST) Settings
- Enable/Disable Enhanced Intel SpeedStep Technology - allow to enable/disable the Enhanced Intel SpeedStep (EIST) technology. EIST must be enabled for the P-state transitions management feature to work.
NOTE: some processors have this setting as a read-only.
- FID/VID Transition Stabilization Time (us) - sets the amount of the artificial delay applied after every single FID+VID transition, in microseconds.
Intel Centrino Mobile Platform Settings
- Enter C4 on C3 command - causes the chipset to transition the CPU into a deeper power-saving C4/Deep Sleep state when a C3/Sleep state is requested.
- Enable CPUSLP# in C3/C4 - enables CPUSLP# signal to go active in C3 and C4 power-saving states, thus reducing the processor power. This setting is available only for i855 chipsets (ICH4-M); this feature is always enabled on i915 chipsets (ICH6-M).
- Enable CPUSLP# in S1 - enables CPUSLP# signal to go active in S1 (Power On Suspend) state, thus reducing the processor power. This setting is available only for ICH6-M; this feature is always enabled on ICH4-M.
- Enable C4 in S1-M - if this option is set, then when entering the S1-M state, the ICH4-M will use the C4 sequence, rather than the standard sequence. This setting is unavailable on ICH6-M.
- Enable Popup mode (auto C3/C4 to C2) - when this option is off, any bus master traffic causes the ICH6-M to return from C3 or C4 state into C0 (working) state. When this option is on and ICH6-M observes a bus master request, it will take the system from C3 or C4 state into C2 state and enable bus masters. This will let snoops and memory access occur. This setting is unavailable on ICH4-M.
- Enable Popdown mode (auto C2 to C3/C4) - this option should be used in conjunction with Popup mode. When this option is off, the ICH6-M will not attempt to automatically return into a previous C3 or C4 state. When this option is on, and ICH6-M observes no bus master requests, it can return into previous C3/C4 state. This setting is unavailable on ICH4-M.
- CPU PLL Lock Time - indicates the amount of time the processor needs to lock its PLLs (it has an effect while entering into/returning from C3/C4 states). A minimal lock time of 30.72 us is used by default.
- CPUSLP# to STPCLK# Delay - sets the delay between CPUSLP# going inactive to STPCLK# going inactive, in 3.84 ns units. The default value is approximately 50.045 us. This setting is unavailable on ICH6-M.
- DPSLP# to CPUSLP# Delay - sets the amount of time the ICH6-M waits from the deassertion of DPSLP# to the deassertion of CPUSLP#. By default, this is determined by the CPU PLL Lock Time.
- DPRSLPVR to STPCPU# Delay - sets the amount of time the ICH6-M waits from DPRSLPVR going inactive to STP_CPU# going inactive. This provides a programmable time for the processor's voltage to stabilize when exiting from a C4 state.
Remember these settings - makes the utility apply the user-defined Automatic Thermal Protection, Enhanced SpeedStep and Centrino chipset settings every time the utility starts (or when the system is restored from Standby/Hibernate states).
Advanced tab (Intel Pentium 4 and Xeon processors)
Automatic Thermal Protection
Sets the preferred way of automatic thermal protection (Thermal Monitor 1 or Thermal Monitor 2, if available).
NOTE: the CPU is operating out of spec when both TM1 and TM2 are disabled.
Thermal Monitor 2 Target
Defines the FID and VID values the CPU will transition to on activation of the Thermal Monitor 2 feature, provided the CPU supports TM2 and TM2 target programming.
Enhanced Intel SpeedStep (DBS) Settings
- Enable/Disable Enhanced Intel SpeedStep Technology - allow to enable/disable the Enhanced Intel SpeedStep (DBS) technology. DBS must be enabled for the P-state transitions management feature to work.
- FID/VID Transition Stabilization Time (us) - sets the amount of the artificial delay applied after every single FID+VID transition, in microseconds.
Misc Settings
- Enable Enhanced Halt State (C1E) - enables/disables the Enhanced Halt state (C1E) feature available in Prescott and Nocona/Irwindale cores, revisions E0 and later.
Remember these settings - makes the utility apply the user-defined Automatic Thermal Protection, Enhanced SpeedStep and misc settings every time the utility starts (or when the system is restored from Standby/Hibernate states).
Advanced tab (Transmeta processors)
Power Source Select
Displays current power source (upon Refresh button), and allows to select the power source you want to view/modify the settings for.
LongRun Status and Control
- LongRun Bounds - displays/sets the lower and upper boundaries of the processor's performance window. A performance window (i.e., variable CPU performance according to its current load level) can be achieved by specifying different values for upper and lower boundaries. A fixed performance level can be achieved by specifying the same value for both the upper and lower boundary. Setting both boundaries to 100% effectively disables LongRun, and results in maximum performance, but shorter battery lifetime. By contrast, setting both boundaries to 0% results in minimum performance, but best battery lifetime. The processor will round the specified values up or down to the nearest value, depending on how many performance levels are supported. If both directions of rounding are possible, then the processor will round up.
- Operation Mode - controls whether LongRun is in "economy mode" or in "performance mode". In "economy mode" the processor attempts to maximize battery lifetime, by powering down aggressively. By contrast, in "performance" mode it attempts to maximize performance, by powering down conservatively.
- Defaults - allows you to load one of the predefined LongRun Bounds values (Minimal, Maximal, or Automatically Variated).
LongRun Advanced Thermal Management
ATM Level - selects the processor power reduction target. LongRun will attempt to meet or exceed the power reduction level specified in this field by lowering the processor frequency and voltage. This setting has priority to reduce the processor frequency below that which is selected in the LongRun Bounds. This setting will never have the effect of increasing the processor freqeuency and voltage.
LongRun Table Interface Data
Lists available processor's LongRun levels, with detailed info on each of them.
Remember these settings - makes the utility apply the user-defined LongRun and LongRun ATM settings every time the utility starts, when the system is restored from Standby/Hibernate states and when the power source changes.
Tray icon menu settings
- Show Balloon Tooltips - enables/disables display of the info balloon tooltips.
- Show Performance Level in Icon - animates the application's system tray icon with current CPU performance level. When both PST and ODCM management are enabled and active, the PST performance level takes precedence over ODCM performance level.
- Alert on CPU Thermal Throttling - makes the utility alert the user with a warning balloon tooltip each time the CPU enters into a thermal throttling state (i.e., on activation of TM1 or TM2).
- Make Window Topmost - makes the application window stay on top of all other windows.
- Start Minimized to Tray - makes the utility start minimized to tray (not showing the main application window).
- Run Automatically at Startup - adds a shortcut to the application executable to the HKCU\Software\Microsoft\Windows\Current Version\Run registry key so that the application starts automatically whenever the user's Windows session starts.
- Restore CPU Defaults on Exit - selecting this option will restore the CPU-default FID/VID and ODCM values when you exit RMClock utility (either manually or when terminating a Windows session).
NOTE: With this setting on, defaults are also applied when you disable PST/ODCM management.
Command-line parameters
Beginning with version 1.6, RMClock can be launched with command-line parameters. Some of these commands work only at the first program startup (diagnostic or debug commands), others require that the utility is already running (the control commands). Currently implemented commands include:
- -?, -help - displays list of the command-line options
- -profile n - sets the profile (AC or Battery, depending on the power source) of the currently running application instance to n.
- n = 0: No Management
- n = 1: Minimal
- n = 2: Maximal
- n = 3: Automatic Management
- -resume - simulates a "resume" event (normally occurring at a resuming from Standby/Hibernate or a power source change).
- -exit - exits currently running instance of the application.
- -unload - attempts to uninstall currently loaded instance of the RTCore32/RTCore64 driver (must be specified at the program startup).
Miscellaneous options
- There're additional configuration options (tweaks) available beyond the application's user interface and command-line parameters. For a list of these options and their possible values, see RMClock_Tweaks.reg file. To apply these settings, just double-click this file to update the program registry entries.
- To wipe out all program settings stored in the registry, apply the RMClock_WipeOut.reg registry file. NOTE: Please use this feature only in extreme cases (e.g., if you set too unrealistic values so that RMClock can no longer start without locking up your system).
Compatibility
CPU Power Management drivers/software
RMClock is compatible with AMD Cool`n'Quiet(tm) / PowerNow!(tm), Enhanced Intel(R) SpeedStep(tm) and Transmeta LongRun(tm) software, provided it is not currently active. There's no need to uninstall existing processor driver, however, power-saving features of the driver must be disabled before using RMClock in automatic management mode. That is, current power scheme (in Windows control panel) must be set to "Home/Office Desk" or "Always On". Undesireable effects are possible, including system lock-up, if you don't follow these precautions.
Performance analyzing software
Since RMClock relies upon CPU-specific performance monitoring counters (PMC) to determine the CPU usage level, compatibility issues are possible with application performance analyzing applications like Intel VTune or AMD CodeAnalyst, which use the same counters to monitor processor-specific performance events. Therefore, you should quit RMClock utility before using this kind of software.
Benchmarking software
As with any power management software, the automatic management feature of RMClock should be disabled before running any benchmarking software, otherwise you may get incorrect benchmark results.
Frequently Asked Questions
Q: Why can't I run RMClock as a regular user?
A: RMClock is a low-level system utility that requires privileged access to the CPU hardware, which can be done only via a kernel-mode driver (RTCore32/64.sys, which is dynamically extracted and installed at runtime). Administrative rights are required to install and load this driver, therefore, current versions of the utility can be run only by the users with administrative privileges.
Q: CPU voltage indicated by RMClock greatly differs from the voltage reported by my vendor-supplied monitoring software. What's wrong?
A: Nothing. RMClock reports the CPU VID, i.e., just the requested CPU voltage level. It is up to the motherboard logic to decide whether this request should be handled or ignored. Most motherboards designed to properly support processor's power-saving features (e.g., AMD Cool`n'Quiet(tm) technology) should adjust the real CPU voltage so that it's close to the requested VID level. Other models may apply some extra over-voltage (e.g., +0.1 or +0.2V), which is useful for overclocking. Finally, there are many motherboard models that can be set up (via BIOS settings) to supply constant voltage to the CPU, which is far from being good for achieving significant power saving.
Q: Why can't I set CPU voltage above 1.55V (or even 1.45V), or below 1.1V on my Athlon 64? BIOS setup offers the voltages from 0.8V up to 1.7V. Is there a way to unlock these "hidden" voltages?
A: RMClock manipulates with VID and not directly with the CPU voltage. Maximal VID value you can set is dictated by the CPU itself (as indicated in the "Maximal VID" field of the General tab), as well as the Minimal VID. 1.55V is the absolute maximum VID for all Athlon 64 processors family; usually, maximal VID is even lower (e.g., 1.45V). There's no way to set current VID value higher than the maximal, as the CPU will choose maximal value instead (the same is true for FID, the bus clock multiplier). It is also impossible to program a VID being lower than the Minimal VID reported by the CPU. The voltage level you adjust in the BIOS is set in entirely different way, via direct manipulation with the CPU VRM and not involving VID changes. Please also note that the voltages you set manually in the BIOS setup cause the motherboard logic to ignore VID change requests, thus greatly diminishing power saving features of the AMD Cool`n'Quiet(tm) technology.
Q: In the Advanced tab I can adjust the Halt and Stop Grant bus disconnect divisors for my Athlon XP, but they don't seem to have any effect. What's wrong?
A: Nothing. These settings only affect the CPU internal clock divisors. They do not enable bus disconnect for a Halt and/or Stop Grant state, which must be done in a chipset-specific way. No support for this and numerous chipsets series is ever planned.
Q: In the Advanced tab I see various ACPI states for my Athlon 64. What state should I choose?
A: You don't have to choose anything particular. This is just a selector that allows changing the settings of a given ACPI state. It does not enable or even put the CPU into this particular state.
Q: In the Advanced tab of RMClock I see really a lot of settings for my Athlon 64. What are these all settings for? What settings should I choose?
A: These are advanced settings that should not be changed without a good knowledge. In fact, they should be left alone if you don't experience any problems with you system. However, it is safe to load one of the predefined sets of defaults by using the corresponding buttons. If you're interested in these settings in detail, please look through Chapter 9 of the public AMD document "BIOS and Kernel Developer's Guide for AMD Athlon(TM) 64 and AMD Opteron(TM) Processors", order #26094.
Q: My Athlon 64 system locks up when I enable automatic PST management in RMClock, what to do?
A: Before you start, please be sure to disable the power management features of the AMD processor driver by setting your current power scheme (in Windows control panel) to "Home/Office Desk" or "Always On".
First, make sure you have selected relatively safe minimal and maximal FID/VID settings in the Management tab (the ones selected by clicking Defaults button should be completely safe to begin with, provided your CPU is not overclocked).
Second, ensure that your CPU is properly setup to support FID/VID change requests. This should be done by a BIOS during POST, however, if your motherboard is not certified by AMD for Cool`n'Quiet(tm) technology support, it might be necessary to do this manually. Most efficiently, this can be done in the Advanced tab by loading the Power Management Settings defaults for a Desktop or Mobile processor (depending on the model you have). To automatically use these settings every time you launch RMClock, please check "Remember these settings" option.
Third, even if your motherboard is properly set up for AMD Cool`n'Quiet(tm) operation, you may experience problems with PST management if you have two or more memory modules installed, even with official AMD processor driver's management. In most cases, it is possible to solve this problem by applying the defaults for Registered DIMMs in the Clock Power/Timing Settings of the Advanced tab. Once again, to automatically use these settings whenever you launch RMClock, please enable "Remember these settings" option.
If none of the above help, try updating your motherboard BIOS to the latest version. If this still doesn't help, we're sorry to inform you that you have a motherboard which is incompatible with AMD Cool`n'Quiet(tm) technology. RMClock does support a greater number of motherboards than the official AMD driver does, but it's not possible to support all of them in software, the compatibility must also exist on a hardware/motherboard design level.
Q: I have an overclocked system that locks up when I exit the utility (or disable PST management), what to do?
A: The problem is related to the "Restore CPU Defaults on Exit" setting, which is enabled by default. This setting causes the hard-coded CPU defaults (FID and VID) to be applied when you exit the utility or completely disable PST management. If your FSB clock is too high, the resulting CPU frequency is very likely to go beyond the safety margin. You can either totally disable this feature or alter its functionality so that it applies the FID/VID settings it found at the program startup instead of the CPU defaults (see RMClock_Tweaks.reg file).
Q: My processor is detected as an "Unknown CPU". What's wrong? Will RMClock work properly with my CPU?
A: It means that you have a new CPU core/revision, which RMClock isn't yet aware of. The CPU detection is implemented according to the official docs from the vendors, which are not updated as frequently as the new processors get launched. There's nothing to worry about, RMClock will work properly with your processor, provided that it supports the necessary power-saving features (as indicated in the "PM Features" box in the General tab).
Q: The core frequency/throttle of my Athlon 64 CPU reported by RMClock stays the same, despite the FID changes. What's wrong?
A: This is the OS implementation bug. It is usually observed on a multiprocessor systems (including AMD multi-core processors), when ACPI Multiprocessor PC kernel is used, as well as on a current Windows XP x64 Edition release, regardless of the kernel type. The problem is related to the High-Performance Counter (HPC) featured by the OS. Normally, the ACPI timer is used as a clock source for this counter, when the processor's Time Stamp Counter (TSC) frequency is known to get changed over time (as it does on a Cool`n'Quiet(tm)-enabled system). However, some OS implementations/kernels, like those mentioned above, erroneously choose TSC as a source of HPC clock, thus violating the main requirement for this counter (the frequency of HPC is guaranteed not to change over time). Since HPC frequency is no longer constant and changes in line with TSC frequency, we are getting incorrect TSC/HPC ratio and, therefore, incorrect CPU frequency indication.
Fortunately, a solution exists for this bug, and it requires editing the boot.ini file found at the root directory of your system disk drive (e.g., C:\boot.ini). To force the OS use the ACPI timer as HPC clock source, you need to add /USEPMTIMER option to your current system settings, e.g.,
"multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect"
should become:
"multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer"
Q: I want to see feature "X" in future versions of RMClock. Would you add it for me?
A: Feature requests are welcome, however, in order for a feature to be possibly incorporated in future versions of RMClock, it must meet the following criteria:
- It is a feature that is of possible interest and benefit for a wide variety of the users and not for your specific purpose.
- It is a feature directly related to the CPU performance/power states management. RMClock utility is designed for this particular purpose; no features unrelated to this task are to be ever incorporated.
- It is a feature depending only on the CPU model and not on the other parts of the hardware/firmware (chipset, BIOS, or motherboard components). RMClock is a small and generic utility, i.e., it is designed to work on all supported CPU models with no awareness of any other specific hardware present or installed. Specific hardware-dependent features that are never planned to be incorporated in RMClock include, but not limited to:
- CPU temperature, voltage, fan speed monitoring and/or control;
- CPU temperature-dependent performance state and/or fan speed switching;
- Tweaking with the chipset bits (e.g., Halt disconnect, Stop Grant disconnect and FID/VID change enable bits);
- Implementation of older, chipset-based forms of Intel SpeedStep technology, etc.
Revision History
RMClock Version 1.8
- Rewritten multi-processor (SMP/HT/multicore) monitoring and management code.
- Added on-suspend behavior selection; removed "Force Minimal State on Standby" option.
- Returned "Run HLT command when OS is idle" option as requested by users (Win32 only).
- Added determination of AMD Athlon 64 X2, Turion and Dual Core Opterons.
- Bugfixed AltVID settings on AMD K8 revision E cores.
- Corrected ODCM settings behavior on a Centrino platform.
- Bugfixed log file rotating feature.
- Fixed Intel Centrino mobile platform chipset settings.
- Corrected "Restore Defaults on Exit" behavior.
RMClock Version 1.7
- New RTCore driver, support for Windows XP/Server 2003 x64 edition.
- Fixed Centrino Platform/ICH6-M settings.
- Fixed Intel Pentium 4 illegal P-states being added to the table.
- Fixed Intel Pentium 4 invalid current VID indication.
- Proper Pentium 4 core frequency determination.
- New Pentium M P-states table (removed bogus 7x FID).
- Removed -dump command-line option, feature moved to GUI.
- Added new settings for AMD K8 cores revision E and higher.
- Added support for AMD K8 dual-core processors (latest AMD driver required).
- Added separate Performance/Power Preference for AC and Battery modes.
- Automatic process priority lowering when no management is enabled.
- Added driver uninstall command-line option.
- New P-States Table design.
- Fixed settings save on Windows session ending.
- Defaults to "Use OS load-based management" on Intel Centrino platforms.
- Fixed possible lock-up when entering Susped state.
RMClock Version 1.6
- New P-States Transitions management with user-definable P-States table feature.
- New unified PST/ODCM management scheme (when both PST and ODCM are used).
- Single set of profiles for PST, ODCM and PST+ODCM management schemes.
- Added optional OS load-based management (a workaround for Intel Centrino platform).
- Removed "Run HLT command when OS is idle" option.
- Fixed restoring of Advanced CPU settings upon resume from Standby/Hibernate modes.
- Added more configuration options for AMD K7 CPU family.
- Added power management-related chipset configuration options for Intel Centrino platform (i855/i915M series).
- Added FID/VID transition stabilization time setting for Intel Pentium 4 and Pentium M processors.
- Fixed Transmeta LongRun Table Interface info.
- Added independent AC and Battery settings for Transmeta processors.
- CPU Load and Throttled Clock are now reported as "N/A" when CPU does not support necessary features.
- Added logging period limiting and log file "rotating" (when max logging period elapses and at the program startup).
- Added command-line parameters support (CPU info dump, profile change and exit commands).
RMClock Version 1.5
- Returned Balloon tooltips setting.
- Removed "Alternate CPU Load Determination" setting from the UI.
- Added more configurational options for AMD K8.
- Added Transmeta LongRun Technology support.
- Added independent AC and Battery performance/power profiles.
- Added warning messages for settings that require application restart.
- Duplicated tray icon settings in the General tab.
RMClock Version 1.4
- Changed P-state transitions scheme for AMD K8 in accordance with official AMD recommendations.
- Added more advanced configuration options for AMD K7 and K8 CPUs.
- Added support for dynamic on-demand CPU clock modulation (ODCM) management.
- Added CPU thermal throttling alert.
- Added optional forcing of the Minimal power management profile when running on batteries.
- Added support for running an HLT command when the system is idle (a workaround for Intel 855 chipset series).
- Added CPU core and revision ID display.
- Added preliminary support for Transmeta CPUs.
- Added automatic startup feature.
- Grouped management-related settings into a new tab.
RMClock Version 1.3
- New (tabbed sheet) user interface design.
- Added CPU clock, load level and FID/VID monitoring graphs with text file logging feature.
- Added CPU load level determination on Intel Pentium II/III/M/4 family CPUs.
- Added throttled CPU clock determination for any forms of CPU clock throttling.
- Added support for multi-processor (SMP/HT) systems (for both monitoring and FID/VID management features).
- Added support for "mobile" and "server" (DBS) Enhanced Intel SpeedStep technology on Intel Pentium M and Xeon (Nocona) CPUs.
- Added CPU-specific power management related settings for AMD K7, AMD K8 and Intel Pentium M/Pentium 4/Xeon family CPUs.
- Added Minimal FID/VID determination and display (where available).
- Added CPU power management features presence and status display.
- Improved CPU/OS load measurement with load-averaging feature.
- Improved FID/VID control logic with CPU load level "noise filtering" (spike removal) feature.
- Changed default process priority to Realtime priority class.
- Bugfixed CPU usage determination after resume from Hibernate mode.
- Bugfixed program settings saving upon termination of Windows session (shutdown/logoff).
RMClock Version 1.2
- New UI and popup menu design, including animated icon feature.
- Support for mobile/low-power desktop AMD Athlon XP CPUs featuring AMD PowerNow! technology.
- Improved FID/VID control logic.
- Additional stabilization-related tweaks.
- Additional CPU-specific tweaks for AMD Athlon 64 and Athlon XP family CPUs.
- Bugfixed "Restore Defaults on Exit".
AMD64CLK Version 1.1
- Realtime CPU usage determination using the CPU performance counters.
- FID/VID values locking (preventing from being changed).
- FID/VID automatic management (based on the CPU usage).
- Additional configuration options.
AMD64CLK Version 1.0
- Initial release. Supports instant FID/VID changes on AMD K8 processors.
Feedback
Please post your comments and questions regarding RightMark CPU Clock Utility that are not already answered in the FAQ section of this manual at the dedicated CPU RightMark forum. In urgent cases, please contact Dmitri Besedin, main program developer.