RightMark CPU Clock Utility, version 2.2. README

Copyright (C) 2004-2006 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, realizing the "Performance on Demand" concept.

Disclaimer

PLEASE READ THIS CAREFULLY!

YOUR SYSTEM MAY LOCK UP AS A RESULT OF A CPU FREQUENCY, VOLTAGE OR THROTTLE 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

Supported Environment

Processors

Current release of RMClock utility implements the CPU frequency, CPU load and throttling level determination on the following processor models:

Dynamic P-state transitions are supported on:

NOTE: Intel(R) SpeedStep(tm) technology and the "old" vision of Enhanced Intel(R) SpeedStep(tm) technology found in mobile Pentium III-M and mobile Pentium 4 processors are not supported, and the support for these technologies is not planned. These technologies are entirely different from the supported "true" Enhanced Intel(r) speedStep(tm) technology found in Pentium M, Core Solo/Duo, Core 2 Duo/Extreme, Pentium 4/D 600/800/900 series and Xeon processors.

Dynamic on-demand clock modulation adjustment is supported on:

RMClock utility will run on unsupported CPU models, however, in this case, most of its functionality will not be available.

Motherboards

Operating systems

User Interface

General page

NOTE: Beginning with version 2.2, the General page displays the monitoring parameters independently for each CPU (either physical package, CPU core or logical processor) present in the system.

Management page

Management settings

CPU Defaults Settings

NOTE: For FSB-overclocked systems, it is highly recommended to use FID/VID values found at startup or custom FID/VID values as the "CPU defaults". Otherwise, your system may lock up when you disable PST management or exit the utility, because of too high FID, or too low VID being chosen as a default.

Miscellaneous Settings

Defaults - sets the defaults for the management settings.

Apply - applies current management settings.

Profiles page

Profile selection

Master Performance States Table

Provides a common, easy to use way of defining CPU performance states used by all profiles. Individual P-states from this set to be used by a particular profile are selected in that profile's settings.

New Profile - adds new profile. This feature is available for the registered owners of the commercial RMClock Professional Features module license.

Defaults - fills Master Performance States Table with the default CPU P-states.
NOTE: For AMD K7/K8 processors supporting AMD PowerNow! / Cool`n'Quiet technology, PST defaults are obtained either from built-in model tables or the BIOS performance states block (PSB) if the CPU is not found in the models list. The BIOS must be correctly set up to support Cool`n'Quiet technology to provide this block of information. For Intel Pentium M, Pentium 4, Pentium D, Core Solo, Core Duo and Core 2 family processors, default PST tables are provided from the built-in tables for a given CPU model and therefore may not be available for the newest CPUs.

Apply - applies new Master Performance States Table settings.

Individual profile pages (for AC Power and Battery)

CPU Performance/Power States

OS Power Management

Upon starting up, the RMClock application creates its own power management profile called "RMClock Power Management" and selects it as active Windows power management policy, provided that the "Override current Windows power scheme with the settings above" option is checked. The OS Power Management settings allow editing the basic properties of this policy for a given RMClock profile. Your previously active Windows power management policy is automatically restored and "RMClock Power Management" scheme gets deleted when you exit RMClock utility.

Turn off Monitor, Turn off Hard Disks, System Standby, System Hibernates - these options are essentially the same to the ones found in Windows Control Panel -> Power Options dialog.

LCD Panel Brightness - specifies current LCD panel brightness level (ranging from 0 to 100).
NOTE: The availability of this feature and the number of states are hardware-dependent. The hardware/firmware must provide a standard Windows LCD Backlight Interface for this feature to be operational.

Override current Windows power scheme with the settings above - checking this option for a given profile enables access to the OS Power Management settings described above and causes the utility to apply these settings when you switch to a given profile.

Rename, Delete - rename or delete current profile. This feature is available for the registered owners of the commercial RMClock PRO module license.

Defaults - sets the defaults for all profile-related settings, including PST/ODCM states and Windows power management settings, for both AC and Battery sub-profiles. This is the easiest way to fill your profile with the default values.

Apply - applies all profile-related settings.

Battery Info page

Power Status

Battery Info and Status

Provides complete and detailed information for each system battery installed. This information is divided in two categories: persistent parameters (named "Battery Details"), which don't change over time (like battery manufacturer and manufacture date, capabilities, battery device name and type of chemistry) and current battery status, which is updated at regular intervals and includes current power state, remaining capacity, charge/discharge rate, remaining life time or charging time, voltage etc.

Misc settings

Advanced page (AMD K7 processors)

Low Power CPU Modes Settings

P-State Transitions Settings

The utility must be restarted for these settings to have an effect.

Apply these settings at startup - 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 page (AMD K8 processors)

Power Management Settings (Per ACPI State)

Clock Power/Timing Settings

Apply these settings at startup - 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).

P-State Transitions Settings

You must restart the utility for these settings to have an effect.

P-State Transitions Rules

You must restart the utility for these settings to have an effect.

CPU Thermal Sensor Settings

Dual-Core CPU TSC Synchronizer

This feature is designed to replace the AMD Dual-Core Optimizer functionality. Due to a design bug of AMD K8 dual-core CPUs, the values of their individual per-core Time-Stamp Counters (TSCs) may get out of sync over time, leading to undesired or unpredictable behavior of certain applications that rely upon TSC as a source of the clock ticks.

NOTE: Please make sure you're not using AMD Dual-Core Optimizer when enabling this feature.

Advanced page (Intel Centrino/ViiV platforms, Processor settings)

Automatic Thermal Protection

Sets the preferred way of automatic thermal protection of the CPU.

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

Enhanced Low Power States

These settings allow enabling or disabling any of the given enhanced C-states (C1E, C2E, C3E, C4E and Hard C4E) available on Intel Core and (partially) on Intel Core 2 processors. When an Enhanced C-state is enabled, the CPU is automatically put into the lowest frequency/voltage mode when it enters a given C-state.

Advanced page (Intel Centrino/ViiV platforms / Platform settings)

Power Management Settings (ICH4/ICH6/ICH7/ICH8)

Chipset-Based CPU Throttling Settings

Apply these settings at startup - makes the utility apply the user-defined Automatic Thermal Protection, Enhanced SpeedStep and Centrino/ViiV chipset settings every time the utility starts (or when the system is restored from Standby/Hibernate states).

Advanced page (Intel Pentium 4 and Xeon processors)

Automatic Thermal Protection

Sets the preferred way of automatic thermal protection (Thermal Monitor 1, Thermal Monitor 2, or both, 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

Misc Settings

Apply these settings at startup - 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 page (VIA C7/C7-M processors)

Automatic Thermal Protection

Sets the preferred way of automatic thermal protection (Thermal Monitor 1, Thermal Monitor 2, or both, if available).

Thermal Monitor 2 Target

Defines the FID and VID values the CPU will transition to on activation of the Thermal Monitor 2 feature.

PowerSaver Settings

Apply these settings at startup - makes the utility apply the user-defined Automatic Thermal Protection and VIA PowerSaver settings every time the utility starts (or when the system is restored from Standby/Hibernate states).

Advanced page (Transmeta processors)

LongRun Status and Control

LongRun Advanced Thermal Management

LongRun Table Interface Data

Lists available processor's LongRun levels, with detailed info on each of them.

Apply these settings at startup - 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.

Updates page

This page is available only for the registered owners of the valid RMClock Updater module license. When no valid license is found, the Product Activation dialog is displayed instead, providing you with the ability to register this module.

Check for updates at program startup - enables or disables checking for the product updates whenever you start RMClock utility.

Check interval - specifies the period of time, in days, which must elapse after the last successful checking for the product updates before attempting a next checking.

Check now - instructs the application to check for the product updates immediately.

Update method - specifies the preferred method of updating the product:

Last check - indicates the date and time of last checking for the product updates.

Status - indicates the status of the most recent operation.

Cancel - cancels the update download process, if any.

Info - displays the update info, if available.

Professional Features page

This page is available only for the registered owners of the valid RMClock Professional Features module license. When no valid license is found, the Product Activation dialog is displayed instead, providing you with the ability to register this module.

Events

Lists the table of the user-defined application events, allowing you to enable or disable individual events.

New/Modify - shows the Add/Modify Event dialog to define a new or modify existing selected application event, which contains the following options:

Delete - deletes the selected event.

Profile Rules

Lists the table of the user-defined automatic event-based profile switching rules, allowing you to enable or disable individual profile switching rules.

New/Modify - shows the Add/Modify Rule dialog to define a new or modify existing selected profile switching rule. This allows you to automatically switch to one of the performance/power management profiles (either standard or custom) in response to the activation of one of the events defined at the Events page. Optionally, the application can be instructed to restore previously used performance/power management profile when the corresponding event is no longer active.

Move Up/Move Down - increases or decreases the priority of the selected rules. The closer the rule to the top of the list, the higher priority it has. The rules with higher priority take precedence over the rules with lower priority located below.

Delete - deletes the selected profile switching rule.

Associations

Lists the table of the user-defined event-based external process associations, allowing you to enable or disable individual external process associations.

New/Modify - shows the Add/Modify Association dialog to define a new or modify existing selected external process association. This allows you running an external process application (with optional command-line parameters) in response to the activation on one of the events defined at the Events page.

Delete - deletes the selected external process associations.

Tray icon menu

Main tray icon menu

CPU frequency indicator menu

CPU load indicator menu

CPU core temperature indicator menu

Battery indicator menu

Command-line parameters

Beginning with version 1.6, RMClock executable accepts 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 (control commands). Currently implemented command-line parameters include:

Miscellaneous options

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, moreover, beginning with version 2.0, RMClock automatically disables the driver's power management by selecting its own power scheme at the program start-up. Current power scheme is automatically restored upon exiting RMClock utilty.

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 performance/power management features of RMClock should be disabled before running any benchmarking software (e.g., your profile should be set to "No Management", or one of the fixed performance state profiles). Otherwise, you may get incorrect benchmark results.

Frequently Asked Questions

Q: How do I uninstall RightMark CPU Clock Utility?

A: Uninstalling RMClock is really easy. It is enough just to exit the utility if it is currently running and completely delete the folder you have installed it into. To ensure a complete clean-up of the program registry settings, you can apply the RMClock_WipeOut.reg file found in RMClock folder beforehand.

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 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 only be run 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 a 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 core voltage. Maximal VID value you can set is limited by the CPU itself (as indicated in the "Maximal VID" field of the General page). 1.55V is the absolute maximum VID for all Athlon 64 processors family; usually, actual 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 page 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 page 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 page 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". This step is not necessary if you are using RMClock version 2.0 or higher and haven't disabled Windows power management handling in your profile settings.

First, make sure you have selected relatively safe minimal and maximal FID/VID settings in your current profile settings (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 page. 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 page).

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 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:

Revision History

RMClock Version 2.2

RMClock Version 2.15

RMClock Version 2.1

RMClock 2.1 Release Candidate 2 (not released officially)

RMClock 2.1 Release Candidate 1 (not released officially)

RMClock 2.1 beta2 (not released officially)

RMClock 2.1 beta1 (not released officially)

RMClock Version 2.05

RMClock Version 2.0

RMClock Version 1.8

RMClock Version 1.7

RMClock Version 1.6

RMClock Version 1.5

RMClock Version 1.4

RMClock Version 1.3

RMClock Version 1.2

AMD64CLK Version 1.1

AMD64CLK Version 1.0

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.