TVs. Consoles. Projectors and accessories. Technologies. Digital TV

How to lower the voltage on the processor in the BIOS. Reducing the processor operating voltage, or tuning Enhanced Intel SpeedStep

There is a discussion on the Internet about a very interesting program called RMClock. Before this, I had already encountered the program several times, but the settings that were not clear at first glance and the lack of any documentation caused rejection and discouraged any desire to deal with this utility. Nevertheless, the program is very interesting and deserves attention. Now I’ll tell you why, and how it can attract the average laptop owner.

Developer RightMark

Upload file size 463 Kb

Purpose of the program

A small monitoring utility clock frequency, throttling, processor load, voltage and temperature of the processor core in real time. It can also manage the performance and power consumption of processors that support power management features. In automatic control mode, it constantly monitors the processor load level and automatically changes its clock speed, core voltage and/or throttling level in accordance with the concept of “performance on demand”.

Benefit for the average user

Reduce the voltage supplied to the central processor, thereby reduce energy consumption, reduce heat generation and increase autonomy.

Without going into technical details, the idea is quite simple - reduce energy consumption central processor(CPU). The method is not universal and not 100% because each CPU has unique physical properties and there is a high probability that at the same clock speed it requires less power than the default for all processors of this type. How far you can reduce power consumption depends on luck and your CPU. I was lucky, so the results were very revealing.

Installation

We just follow the instructions and nothing more. Just keep in mind that the program is automatically added to startup and becomes standard software for managing energy consumption profiles. So if you have other software installed (proprietary utilities from Acer, ASUS), then they need to be completely disabled to avoid conflicts.

Settings

Settings

In this tab you need to mark two points in the block StartupOptions. In order for the application to start automatically when Windows starts.

Management

We also leave everything as default and check that the item EnableOSpowermanagementintegration activated

Profiles

This is where the fun begins. For the AC power (mains operation) and Battery (battery operation) states, set the required profiles. When working from the network, I recommend setting on demand (performance as needed), and when running on battery Power Saving.

Immediately below the profiles, all possible processor states (multipliers, FIDs) are displayed, as well as the voltage (VID) supplied to the CPU in this state. The clock frequency at which the processor operates depends on the current state; The ability to change the frequency is made to reduce power consumption during moments of light load or idle time.

Now our task is to set a lower voltage for each multiplier. I didn’t experiment for too long and set the minimum voltage for each multiplier. I’ll immediately answer the question about the harmfulness of such actions - nothing will happen to your processor, in the worst case, the system will freeze. In my case, everything worked fine, but if you experience any problems, try reducing the voltage in small steps to the minimum value at which the system will work stably.

Now you need to set up profiles Performance on demand And Power Saving. To do this, select the appropriate items. In both cases, check the box Use P- state transitions ( PST), the profile you are currently in. Moreover, for the profile on demand select all multipliers from the list, and for the profile Power Saving only the first one (this means that when running on battery power, the processor will always operate at minimum frequency, of course, you can choose a different multiplier, thereby increasing the maximum allowable frequency). We leave the remaining options inactive.

Job

That's all. Now you need to activate the RMClock Power Management energy profile. To do this, left-click on the battery in the tray and select the desired profile. If it is not there, you need to click on Additional options energy consumption and select it there. Now when you connect power, the laptop will use the profile on demand , A when operating on battery power - Power Saving, using the settings we previously made. At the same time, we reduced the power consumption of the processor and made it clearly respond to program settings (when using standard program control frequency can jump up and down even when idle, and the voltage also changes).

Checking

If you did everything correctly, then in the tab Monitoring you can see the result of the work. The FID-VID graph shows the current multiplier and voltage. Check these values ​​when operating on mains power and on battery power; they should match the set values ​​in the profile.

Now it is advisable to test all the settings with some program, for example Prime95. The task is to make sure that the CPU operates without problems at the voltage settings we have chosen.

Testing

In theory, everything is cool as always, but how do these actions affect real work?

Test system: Terra 1220 ( Intel Core 2 Duo T7300)

I tested both modes of operation and compared them with similar modes of the standard power management program.

BalancedVS Performance on demand

Autonomy was tested by the BatteryEater program in maximum load mode (Classic). Wireless interfaces are disabled, screen brightness is set to maximum.

As you can see, the operating time did not change at all and amounted to 88 minutes. Each test was performed twice to verify the results. So in my particular case, lowering the voltage did not affect the time battery life. But the temperature indicators are interesting; the maximum temperature during the test when using RMClock decreased by 23°С! Just excellent result, which for the end user means a banal decrease in the temperature of the laptop case, as well as a decrease in noise (the fan does not turn on at full speed).

Performance in PCMark also did not change, the difference in measurements is within the margin of error. But with temperature we see the same picture - the maximum temperature decreased by 17°C.

Energy SavingVSPowerSaving

Here the situation repeated itself. The battery life has not decreased, but the temperature has dropped significantly. This has a positive effect on work comfort.

Voltage regulation for Intel processors

ATTENTION! The author of the article does not bear any responsibility for any damage caused to the computer as a result of using the actions described here

Some users are more lucky, others less so. There are lucky ones who get processors that can easily overclock to the next “standard” FSB frequency: Celeron up to 100, and Pentium III “E” modifications up to 133 MHz, respectively. However, such a processor is not so easy to get: they are available on the markets, but sellers often want so much for a “guaranteed” overclockable stone that you can buy a processor with approximately the same, but “native” frequency, guaranteed by the manufacturer. But you often come across processors that operate at higher frequencies, but are unstable. That is, unexpected failures appear, programs “perform unacceptable operations” and close, the eye is pleased with “blue screens” and similar delights.

You can often get rid of this by raising the processor supply voltage. For the classic Celeron (on the Mendocino core; i.e. models 300A-533) standard voltage core is 2 V. In principle, without much risk it can be raised by 5-10% (up to 2.1 - 2.2 V). Absolutely the same applies to processors with the Coppermine core (Celeron 533A-766 and Pentium III): only the absolute numbers change.

However, it’s good if you can set the desired voltage level using the BIOS or jumpers on the motherboard, but what if there is no such option (which is usually the case when we talk about inexpensive motherboards)? In fact, the main idea of ​​overclocking disappears: to get greater performance on inexpensive hardware. On boards with a Slot 1 connector, you can use special adapters, but this does not make it any easier for users of socket boards (besides, sometimes the 5-7 dollar difference in the price of an adapter with voltage regulation and a simple model without it is critical). The difference in price between boards designed for overclocking and cheap socket models is up to $30 (in addition, most of these boards have an ATX format, so when upgrading a computer you have to change the case), and to save that amount, sometimes it’s worth using several non-standard methods.

IN lately The topic of changing the supply voltage has become relevant not only for overclockers. The fact is that available motherboards on old chipsets (LX, EX, BX, ZX, Apollo Pro) are often capable of working with at least new Celerons (sometimes immediately, sometimes after some modification), and sometimes Pentium III, and the only obstacle is the voltage converter on the board, which is unable to provide less than 1.8 V. A completely logical solution to this problem is to force the processor to switch to this voltage.

Warning. Do not forget that as the voltage increases, the power dissipated by the processor also increases. This is especially true for overclocking: additional heat generation will be observed due to an increase in processor frequency. Therefore, it is worth thinking in advance about good cooling of the processor (however, it is worth doing this in any case, regardless of whether the voltage will increase or not)

To power Pentium II and Celeron class processors, fairly powerful power supplies are required, so the secondary cache power supply (indicated by Vccs in the figure) is separated from the core power supply (Vccp), and with the same ratings, the voltage values ​​of the Vccs line are not used. That is, depending on the type of processor (on the voltage level on the corresponding processor leg), the stabilizer on the motherboard sets the required voltage.

Table No. 1. Supply voltage identification
VID Voltage, V VID Voltage, V
01111 1.30 11111 no processor
01110 1.35 11110 2.1
01101 1.40 11101 2.2
01100 1.45 11100 2.3
01011 1.50 11011 2.4
01010 1.55 11010 2.5
01001 1.60 11001 2.6
01000 1.65 11000 2.7
00111 1.70 10111 2.8
00110 1.75 10110 2.9
00101 1.80 10101 3.0
00100 1.85 10100 3.1
00011 1.90 10011 3.2
00010 1.95 10010 3.3
00001 2.00 10001 3.4
00000 2.05 10000 3.5

VID is used only in the SEPP/SECC version (Slot1), so the voltage on boards for Socket 370 can only be increased to 2.05 V. To work with all Intel processors, support for the values ​​​​in bold is required; The supply voltages for FCPGA processors are underlined.

Table No. 2. Power supply for some processors
CPU Vccp, core, V Vccs, Cache, V
Pentium II 233-300 (Klamath) 2.8 3.3
Pentium II 266-450 (Dechutes) 2.0 2.0
Pentium III 450-550 (Katmai) 2.0 3.3
Pentium III 600 (Katmai) 2.05 3.3
Celeron 266-533 (Covington, Mendocino) 2.0 -
Celeron 533A-600
1.5
1.7
-
Celeron 633-766
1.65
1.7
-

(Celeron 533A -766 have two modifications designed for different voltages)

Physically (0) means that the pin is connected to ground (GND or Vss), and (1) that the pin is free, that is, not connected to anything (the pin must have a logical one potential).

Thus, you can make the stabilizer produce not the standard 2 V for Celeron (we will talk about them later), but more or less (interestingly, in some cases there was an improvement in operating stability at reduced voltage).

The figure shows the pins for socket processors. For processors manufactured in the Slot 1 design, the following pins are responsible for power identification:

VID0 VID1 VID2 VID3 VID4
B120 A120 A119 B119 A121

For example, if we glue VID, VID, VID, we get a voltage of 2.2 V. This should be enough for any overclocking fan, and, at the same time, it is quite acceptable for the processor to work for a long time with good cooling :) That is, you can quite easily get some stress levels which only requires insulating some legs. For example, for PPGA and SEPP (Slot1):

Examples of processor supply voltages
Voltage, V Which legs need to be glued Recommendations
1.80 VID If you are not a fan of overclocking, then this voltage can be used to reduce the temperature of the processor during operation or save energy :) (Celeron consumes 10-20 W depending on the standard frequency, and this results in 10% savings :))
1.90 VID In general, the same is true as for a voltage of 1.8 V
2.00 Standard voltage Given as an example
2.20 VID;VID;VID The processor should work without problems, except that it will heat up more.
2.40 VID;VID;VID It may or may not work :) (but most likely the former), and get even hotter
2.60 VID;VID The risk is quite big, but enthusiasts can try (if they really want to overclock the processor as much as possible).
2.80 VID;VID;VID And don't try - this is for example only.

The remaining values ​​are more difficult to obtain, since a stronger impact on the processor is required - you will have to connect the corresponding contact of the processor or connector to ground (GND). So, for example, by connecting the VID and GND slot (or socket) pins on the reverse side using wiring and soldering motherboard, we get a voltage of 2.05 V. However, this is a risky operation, since in the event of an error or inaccurate soldering, the voltage of the I/O circuits (3.3 V) can reach the core, which will lead to dire consequences. But in this way, you can get any voltage from table No. 1 on the processor core.

Actually about how to seal the legs. There are several options. First, you can insulate them by applying a durable varnish. This method works normally only with really strong varnish, since when installed in the socket, the processor legs experience great physical force, which can lead to destruction of the insulating layer and, accordingly, an unplanned voltage level may reach the core (for example, 2.6 instead of 2.2 V if the conductor insulation VID). Secondly, for a socket processor you can simply bite them off, and for a slot processor you can cut the corresponding conductors, but this method leaves no chance for retreat (if the cut conductor can still be soldered, then soldering the bitten off leg is quite problematic).

The most realistic option, apparently, is to seal the processor legs. In the case of a SEPP/SECC type housing, you can use tape carefully cut to the shape contact pad. There are inscriptions on the processor board that can help you find out where each pin is located. In the case of PPGA and FCPGA, you can use this method. A circle with a diameter of about 5 mm is cut out of fluoroplastic or polyethylene film (such as is used for making bags). It is placed so that its center is exactly above the contact that needs to be insulated. Then, using a sewing needle, the edges of the circle are lowered between the leads.

During installation, no problems usually arise, but a problem may arise when removing the processor from the socket: the film remains inside, and it is not so easy to remove it (in extreme cases, the socket can be disassembled and everything unnecessary can be pulled out from there :))

In the photo the VID leg is “prepared”

With due care and attention, it is quite easy to perform the necessary operations.

The same methods are also suitable for increasing or decreasing the supply voltage in Pentium II and Pentium III, both in Slot 1 and FCPGA versions (of course, with appropriate changes regarding voltage levels). It should really be taken into account that, in the case of processors with Klamath and Coppermine cores, to increase the supply voltage you will have to take up a soldering iron: without shorting some of the contacts to ground in in this case you won't be able to get by (unlike cores designed for 2.0 V).

Also, do not forget that not all voltage regulators installed on motherboards support absolutely all levels. The corresponding chip is usually located near the processor socket. By its marking you can recognize the chip manufacturer, and, consequently, its characteristics. Here are the addresses of some companies producing voltage regulators:

The article used materials from the book “Pentium II, Pentium Pro and simply Pentium Processors” by Mikhail Guk published by Peter Publishing House, as well as official documentation from Intel on Celeron processors

Introduction.
Quite a long time ago I wanted to dwell on the issues of ensuring a reduction energy consumption modern personal computers and laptops. Many users will justifiably ask the question: “Why is this necessary?” - the manufacturer has already taken care of all the intricacies of the power consumption of my system. Experience shows that, unfortunately, this is almost always not the case. If laptop manufacturers are still somehow trying to ensure a reduction in the power consumption of their devices, then With personal computers, as a rule, everything is in a neglected state.

Power consumption of personal computers and must be reduced for the following reasons:
- by reducing the power consumption of your laptop, you extend its battery life,
- by extending the battery life of a laptop, you achieve a reduction in charge/discharge cycles battery and extend its service life,
- along with energy consumption, the heat dissipation of the components of a laptop or personal computer is reduced, which allows, on the one hand, to increase the stability of the system, and on the other hand, to extend the service life of electrical components,
- reducing the energy consumption of a personal computer and laptop will reduce electricity costs. For many, this is still not critical, but the cost of electricity is growing day by day, government policy forces citizens to install electricity meters, the number of computers in a family is increasing from year to year, the duration of their work is lengthening on a proportional scale, so everyone is interested in technologies for reducing energy consumption us.

Identify key components of system energy consumption.

Despite the fact that modern personal computer And laptop so different from each other, as a rule, they are completely identical in structure. Manufacturers try to arrange everything in a laptop in such a way as to reduce the final dimensions as much as possible. While any personal computer is a modular system, any component of which can be replaced without any problems.

The picture is clickable --


The following figure shows the components standard system unit. Knowledge of these system components will allow you, even at the stages of assembling or upgrading your computer, to decide on those parameters that will allow you to reduce system power consumption. So, a modern system unit contains:
- frame,
- power unit,
- motherboard,

RAM,
- video card/video cards,
- hard drive/disks,
- CD drive,
- disk drives,
- card readers,
- cooling systems for the processor and case.
Sound cards and TV tuners in separate versions are rarely found in modern computers. Firstly, all existing motherboards have built-in sound controllers that are not inferior in sound quality to cheap ones sound cards and cards in the mid-price range. Secondly, TV tuners have had their day, just like coaxial television. In the era of FulHD, IP-TV, DVB, talking about TV tuners is simply unnecessary.

Energy saving: case and power supply.

For many it may seem strange to discuss the power supply and frame in the context of energy saving technologies. However, practice shows that users often choose a case based on appearance and its price parameter. It should be understood that a small-sized, poorly ventilated case will contribute to overheating of system components and reduce the stability of the same processor, RAM, motherboard when the supply voltage is reduced, which we will do in the future.

power unit may become the source of inefficient energy consumption in the first place. Any modern power supply must provide high efficiency when converting high voltage current to 12, 5 and 3.3 volts.

Any modern power supply complies with one of the series standards 80Plus. The 80 Plus standard was adopted back in 2007, as part of the fourth revision of Energy Star energy-saving standards. This standard requires power supply manufacturers to ensure 80% efficiency of their devices at various loads - 20%, 50% and 100% of rated power.

This means that to ensure maximum efficiency from your power supply, it must be loaded at least 20% of its rated power. It is absolutely wrong for the user to purchase power supplies “with a reserve” of 900 and 1200 Watts. When choosing a power supply, be guided by the fact that without load on the system, the load on it should not fall below 20% and it must have an 80 Plus certificate of conformity.

The picture is clickable --


In fairness, it should be noted that today the standard 80Plus differentiated into the following categories:
- 80 Plus
- 80 Plus Bronze
- 80 Plus Silver
- 80 Plus Gold
- 80 Plus Platinum.

The difference between the standards is to ensure higher efficiency indicators within the 80 Plus standard family. If at 50% load a power supply of the 80 Pus standard provides an efficiency of 80%, then expensive power supplies meeting the 80 Plus Platinum standard provide an efficiency of 94% and higher.

Energy saving: motherboard.


Today, motherboards are developing as quickly as possible, keeping up with the development of processors. It should be understood that motherboards consist of various sets of controllers, ensuring coordinated operation of which is the main task of the motherboard. In most cases, the power consumption of the motherboard depends on the type of northern and south bridge. Modern northbridges have significantly reduced their energy consumption, which has resulted in a reduction in the size of their cooling systems. Many users remember the times when the cooling system north bridge consisted of several heat pipes connected to cooling radiators. The emergence of the latest generation system logic from Intel allowed us to move back to the level of conventional radiators.

Due to general trends, many famous motherboard manufacturers, such as Gigabyte, ASUS, MSI demonstrate their new “eco-friendly” products at exhibitions. As a rule, the environmental friendliness of these solutions is achieved by optimizing the power circuits of the processor and video cards, the main consumers of any system unit. As a rule, this is done through the use of multiphase voltage stabilizers for processors.

Modern motherboards, used in power circuits from six to twelve voltage stabilizers. These circuits significantly increase the stability of the supplied voltage, but increase power consumption. Therefore, manufacturers of “eco-friendly” motherboards equip them with technologies that, at low load on the power system, turn off some of the phases, and the processor is powered by one or two phases of voltage stabilizers.

When purchasing a motherboard, you should also be more careful. Purchasing a “sophisticated” motherboard always results in increased energy consumption. If you never need a FireWire port, don't pay extra for it and then pay monthly for the electricity its controller on the motherboard uses.

Energy saving: processor.

Leading processor manufacturers AMD And Intel Over the past decades, they have been reducing the energy consumption of their products. To its credit, the entire relay was started by AMD, in which it maintained a strong leadership for two to three years. There were times when AMD processors with Cool"n"Quiet technology had significantly lower power consumption than processors from the company Intel lines Pentium 4 and Pentium D.

Intel quickly caught up and introduced the technology EIST- Enhanced Intel SpeedStep Technology, which has proven itself excellent in the latest generations of processors. While new processors from Intel are acquiring more and more energy-saving technologies and increasing performance, we do not see any significant leaps forward from AMD.

As you know, the key energy consumer of any personal computer or laptop is the processor, so we will focus on reducing its energy consumption.

In order to understand how you can reduce energy consumption, you must clearly understand for yourself what it depends on. The energy consumption of a modern processor depends on:
- from the supply voltage supplied to the transistors,
- processor operating frequency. The processor operating frequency is formed from the product of its multiplier and the bus frequency.

Essentially, technology Cool"n"Quiet And EIST are engaged in reducing energy consumption precisely due to these two parameters. Unfortunately, most often we are faced with working not with the processor supply voltage, but with its frequency. When the load on the processor decreases, energy-saving technologies reduce the processor multiplier and thereby reduce processor power consumption. When a load appears on the processor, the multiplier returns to its previous values, and the processor works as if nothing had happened. Unfortunately, this technique for reducing energy consumption does not always achieve high energy efficiency. Let's show it with an example.
As an example, a Core 2 Duo processor with a nominal operating frequency of 2.0 GHz was selected.

The picture is clickable --


From the presented diagram it can be seen that the operating temperature of the processor without turning on the power saving mode, with a nominal multiplier of x12 and a supply voltage of 1.25 volts, we have operating temperature about 55-56 degrees when idle.

The picture is clickable --


After applying a load to the processor, under similar operating conditions, we record an average operating temperature of about 71-72 degrees, which was recorded in our diagrams.
The core temperature is measured using internal sensors, so errors are minimal. Considering the fact that there is a directly proportional relationship between the power consumption of a processor and its operating temperature, we will focus on this parameter when assessing its energy efficiency.
The next step was to reduce the multiplier to the minimum possible value, to 6. At the same time, the processor frequency was 997 MHz, which can be roughly rounded to 1 GHz. The supply voltage remained unchanged, around 1.25 volts.

The picture is clickable --


From the presented data it is clear that in idle mode, the operating temperature of the processor changed very little; it remained, as before, within 55-56 degrees. This suggests the conclusion that we gain very little from simply reducing the processor frequency.

The picture is clickable --


After that, we applied the load to , but left the multiplier and operating voltage of the processor at the same level. Naturally, such testing is only relevant practical side, we do not recommend implementing it in life. This is due to the fact that its performance depends on the frequency of the processor, and no one buys a high-frequency processor for its subsequent operation at lower frequencies. After stabilizing the temperature values, we obtained an average operating temperature of 65-66 degrees, which is six degrees lower than when the processor was running at a nominal frequency of 2 GHz.
From all this it follows that there is indeed energy saving from reducing the operating frequency of the processor by changing the multiplier value, but it is not at the level that we would like to see in each specific case. Therefore, we begin to work with processor voltage.


Our processor and motherboard allow you to change the processor supply voltage in the range of 0.95-1.25 volts. The step is 0.0125 volts. This is due to the fact that the processor is installed in a laptop, the motherboards of which rarely provide the opportunity to change the operating voltages of the components in wide ranges.
In order to prove the effectiveness of reducing the operating voltage of the processor in terms of reducing its power consumption and heat dissipation, we will leave its operating frequency at 1 GHz, but at the same time we will reduce the operating voltage to the lowest possible values ​​- 0.95 volts.

The picture is clickable --


This manipulation allowed us to reduce the idle temperature of the processor to 45-46 degrees, which is shown in the diagram. In this mode, we achieve the lowest possible processor power consumption. Reducing the operating voltage to 0.95 volts allowed us to reduce the idle operating temperature by 10 degrees!!!

The picture is clickable --


To evaluate the effectiveness of the method for reducing the operating voltage of the processor, we applied a load to it. As a result, we received an operating temperature under load equal to 50-51 degrees, while without changing the voltage and similar system performance at a frequency of 1 GHz, we previously received 65-66 degrees. The data we obtained is recorded in diagrams.

Processor power consumption: conclusions

- From all of the above it follows that to ensure high processor energy efficiency You just shouldn’t reduce the operating frequency of the processor, as is done by many laptops and personal computers as part of energy-saving technologies from Intel and AMD. Reducing the processor frequency should always be accompanied by a decrease in its operating voltage.

Considering the fact that any processor can operate at lower voltage with more low frequencies ah of your work, you should select your minimum stable voltage for each frequency of its work.

To determine approximate working hours stress for each frequency (multiplier) of the processor, it is enough to plot the direct dependence of the minimum voltage on the frequency by plotting the maximum and minimum values. This will make the job much easier for novice users.


- To ensure the necessary energy efficiency of the processor, it is necessary to correctly configure existing technologies or use third-party software products that could reduce the processor frequency and its voltage at low loads and increase them when it increases.

CPU Power Saving: RightMark CPU Clock Utility (RMClock)

The utility is lightweight, about 250 kilobytes. No installation is required, just unpack it to the selected folder and run the RMClock.exe file. For simplicity, a link to the archive with the program will be provided at the end of our article.

At the time of writing this article, the latest program version 2.35 has the following functionality as part of free use:
- processor clock speed control,
- throttling control,
- monitoring the load level of the processor, processor cores,
- control of processor operating voltage,
- temperature control of the processor/processor cores,
- constant monitoring of these parameters,
- ability to change processor voltage from operating system,
- the ability to change the processor multiplier (its frequency) from the operating system,
- automatic control frequency and processor voltage depending on the load applied to it. The concept is called "Perfomance on demand" or "performance on demand".

The picture is clickable --


Having launched the software product, you find yourself in one of the sections of its menu. We will list all the functionality of RightMark CPU Clock Utility in order. The About section provides information about the developers, their website, and a link to the license agreement. The basic version of the product is free for non-commercial use and no registration is required. There is a professional version, which provides much wider functionality for system settings and costs a symbolic $15. For a novice user, the capabilities of the basic version are quite enough.

The picture is clickable --


In the "bookmark" Settings"Program settings are presented for ease of use. Unfortunately, Russian language pack, which was found in previously released versions of the product, did not appear in our case, but there is nothing to worry about. In this tab you can select the color of the design and, please note, the autorun mode.

The "autorun" subsection is responsible for the autorun mode. Startup options". Autostart of RightMark CPU Clock Utility when loading the operating system makes it as easy as possible to solve energy saving issues without interfering with Computer BIOS, which is especially useful when the BIOS does not provide any options for changing the operating voltage and processor multiplier. This happens in the BIOS of modern laptops.

By checking the box " Start minimized to system tray"You will save yourself from the need to constantly close the program window the next time you start it. It will perform its tasks after automatic start with pre-folding.

Paragraph " Run at Windows startup:" allows you to set the automatic launch of a software product and choose how to do it. In our case, we carry out automatic launch through the registry, and there is also the option of automatic launch through the Startup folder. Both options work great, from Windows XP to Windows 7.

It is possible to record the necessary processor operating parameters in Log file. This parameter is sometimes necessary to find out the reasons unstable work systems.

The picture is clickable --


In the "bookmark" CPU info" provides information about the processor, its current characteristics. Supported energy saving technologies are listed. The more modern the processor, the more technologies it supports.

The picture is clickable --


In the "bookmark" Monitoring" presents diagrams of changes in the operating frequency of the processor core, its throttling, load on it, multiplier, operating voltage and temperature. The number of tabs corresponds to the number of processor cores.

The picture is clickable --


In the "tab" Management"The user is given the opportunity to choose a method for switching multipliers, methods for determining the actual load on the processor, and integrating the software product with energy-saving technologies of the operating system.

Paragraph " P-states transitions method" allows you to select a method for changing from one specified multiplier-voltage combination to another. The following selection options are available:
- Single-step: the multiplier switches in steps equal to one. That is, when moving from a factor of 10 to a factor of 12, there will always be an intermediate link of 11.
- Multi-step: the transition will be carried out with a variable step. In the case of our example, from 10 immediately to 12.

Paragraph " Multi-CPU load calculation" allows you to determine the method for determining the processor load. This parameter will affect the speed of switching the multiplier-voltage combination on the processor. In each case, it is selected based on the individual characteristics of the user. Usually we do not change this parameter and leave it at the value indicated on the screen, which means that the assessment will be carried out based on the maximum load of any of the processor cores.

Paragraph " Standby/hibernate action" allows you to select what the program will do when entering hibernation or sleep mode. As a rule, leaving the current operating profile is quite sufficient.

In the section " CPU Default Settings"The following items are presented:
- Restore CPU defaults on management turns off, which allows you to return the original parameters of the processor after selecting the "No Power Management" mode.
- Restore CPU defaults on application exit, which allows you to return the original parameters of the processor after turning off RightMark CPU Clock Utility.

In the "CPU defeaults selection" section, you select the method for determining the multiplier-voltage combinations of the processor:
- CPU-defined default P-state, combination determined by the processor,
- P-state found at startup, combinations are determined when loading the program,
- Custom P-state, combinations are set manually.

Paragraph " Enable OS power management integration" allows you to create a profile in the system power diagrams called "RMClock Power Management".

The picture is clickable --


In the section " Profiles"The user is prompted to set the same multiplier-voltage combinations - P-state. Firstly, it is proposed to select profiles depending on the power consumption mode - network or battery / UPS.

Below you can choose CPU multipliers and the stress for them in each specific case. Typically, I choose three values:
- minimum multiplier and minimum voltage for it,
- maximum multiplier and minimum operating voltage for it,
- the average value of the multiplier, and the voltage for it is set by the program itself based on the maximum and minimum values.

As a rule, this approach is suitable for most laptops and personal computers. Naturally, there are exceptions, and the user has to spend a long time selecting the minimum voltage for each multiplier.

The picture is clickable --


Then check the boxes for selected profiles in the corresponding types of program operation:
- No management - no management, no settings required
- the “Power Saving”, “Maximal performance”, “Perfomance on Demand” tabs are essentially equivalent and allow you to set the ranges for changing the processor voltage multipliers.

For example, in our case for the tab " Power Saving"We chose the minimum possible multiplier and voltage; for the "Maximal performance" tab, the maximum multiplier and the minimum operating voltage at a given processor frequency.

In the "Performance on demand" section Performance on Demand"We chose three multiplier-voltage combinations:
- x4-0.95 volts
- x9-1.1 volts
- x12-1.25 volts.

The picture is clickable --


Then hover over the icon in the notification area of ​​the program desktop RightMark CPU Clock Utility and select the necessary processor parameters that should always be shown to you and select the current operating profile. I always set the processor frequency and its operating temperature to monitor, which is always convenient and somewhat interesting.

The picture is clickable --


The figure shows three pictograms in the desktop notification area:
- icons of the RightMark CPU Clock Utility program,
- current processor frequency,
- its current temperature.

The picture is clickable --


The screenshot shows diagrams of the processor operating in " Performance on demand"You can see how the software product, when the load on the processor increases, increases its multiplier and voltage stepwise, initially to x9-1.1 volts and, if necessary, to a maximum of x12-1.25 volts. As soon as the load drops, everything returns back stepwise.
Such adjustment has virtually no effect on the final performance of the system.

The picture is clickable --


In the "tab" Battery info" it is proposed to select methods of notification about the status of the laptop battery.

In the "tab" Advanced CPU settings" it is proposed to select the processor temperature sensors to be polled and the energy-saving technologies to be enabled.
All these energy-saving technologies are described on the website Intel. We just want to say that, as a rule, turning them on does not affect the stability of the system, so why not turn them on?

Our processor belongs to the early family of processors Core 2 Duo. Modern processors supports technologies that are not active in our country:
- Engage Intel Dynamic Acceleration (IDA)
- Enable Dynamic FSB Frequency Switching (DFFS)

First technology allows the processor to increase the multiplier of one of the cores when there is no load on the second. For example, two processor cores operate at a frequency of 2.2 GHz. The processor estimates that the load is applied to only one core, then its multiplier will be increased and it will start operating at a frequency of 2.4 GHz. The technology is interesting, but dangerous on overclocked processors.

Second technology allows you to achieve an even stronger reduction in the operating frequency of the processor in idle modes. Earlier we said that the final processor frequency is always the product of the multiplier and the system bus frequency. Modern Intel processors using DFFS technology make it possible to reduce not only the multiplier value, but also the bus frequency, which allows you to achieve even lower frequencies. This technology is also dangerous for overclocked processors, as it can cause instability in the RAM.

The picture is clickable --


Perhaps this is all we wanted to tell you about the software product RightMark CPU Clock Utility. It remains to be advised to follow its updates. At the same time, it makes no sense to update when everything has been working stably for many months. It makes sense to look new version when changing the processor or switching to a more modern operating system.
Using the program RightMark CPU Clock Utility will allow you to maximize the life of not only your processor, but also the motherboard power system, and also significantly reduce the noise from the processor cooling system, which will not strain to cool it when you type, watch movies, or just scroll through pages on the Internet.

Processor power consumption: determining the minimum operating voltage

In my article, I repeatedly pointed out that it is important to determine the minimum operating voltage for each processor frequency. This is done through trial and error. As a rule, the following cycle of tasks is performed sequentially:
- voltage reduction by one point,
- checking processor stability in a stress test software product,
- decrease or increase the voltage by one point depending on the results of stress testing.

There are many ways to stress test processors. software products. They were described in one of our articles. I believe that the most valuable of them is the Prime95 program. A link to it will be provided at the end of the article. It is completely free and available for download online.

The picture is clickable --


Its latest version was released in 2008, just when it was necessary to introduce multi-core testing. It is possible to select different testing methods, indicate the duration of testing, testing frequency, etc.

The picture is clickable --


Select the testing method in the section " Options"=> "Torture test" and run it. The duration of testing is entirely up to you. As a rule, when determining the approximate minimum voltage, I wait either for the first error, or carry out testing for half an hour. If half an hour of the test has passed without errors, we reduce the voltage by one point and proceed again.
Once you have decided on the minimum voltage Finally, it makes sense to leave the test overnight. Within a few hours of painstaking work, it is almost always possible to identify errors that occur.
Often, the operating system freezes or, at best, displays " blue screen death". This indicates that the voltage is too low and an error has occurred - you should increase the operating voltage on the processor for this frequency.

The picture is clickable --


In our case, we have determined the minimum operating voltage for our processor. As it turned out, with a maximum frequency of 2 GHz, our processor does not need 1.25 volts at all. It works quite stably even at 1.00 volts. The stability of the operating system was also detected in the 0.975 volt mode, but Prime95 reported an error that disappeared after raising the voltage to 1.00 volts.

As a result we have

:
- a processor with a constant level of performance and an operating frequency of 2 GHz,
- maximum operating temperature under load is 62-63 degrees, instead of the usual 72 degrees,
- lower power consumption, which allows, without any power consumption schemes from Acer, Asus, Samsung, Gigabyte, to maximize the battery life of the laptop without losing performance levels,
- lower power consumption will reduce electricity costs, especially if you specify these values ​​in the RightMark CPU Clock Utility software described above.

In reality, such a low operating voltage of a processor for an overclocker always speaks of one thing - its high overclocking potential. But we will devote other articles to the nuances of overclocking; the topic of processor overclocking goes beyond the topic of energy saving. Conclusion.
After reading the article, the user should have a question: “Are manufacturers really so inept that they themselves do not lower the operating voltage of processors, especially in laptops, where this is so critical?” The answer is simple and lies in the fact that processors are mass produced, laptops also come off the assembly line. It is not in the interests of manufacturers to delay the production process, so someone is lucky and their processor shows miracles of overclocking, while others refuse to do this, for others the processor operates at a voltage of 1.175 volts, and for others it is stable even at 0 .98 volts. Buying electronics is always a lottery. What is hidden under the label in each specific case can only be learned through practice.
In conclusion, I would like to thank the software developers RightMark CPU Clock Utility And Prime95, to whom our portal MegaObzor awards a gold medal of honor. We look forward to your questions and remind you that everything you do with your electronics is done at your own peril and risk.

RightMark CPU Clock Utility can be found at .
The program described in the article Prime95 can be found at .

It often happens that the laptop gets very hot during operation. Sometimes this heating can lead not only to unpleasant sensations (well, not everyone enjoys working with a hot laptop) but also to freezes or “blue screens of death.”

This option not only requires the user to have certain skills and knowledge, but can also void the warranty on the laptop. How to do this is described in this material: Replacing the processor - lower the processor supply voltage. This method is the simplest and most effective. It allows you to lower the temperature by 10-30 degrees.

As you can see, the most optimal solution to the heating problem is to lower the processor supply voltage. I’ll explain its essence: the amount of heat generated by the processor is proportional to the square of the supply voltage. Consequently, a relatively small reduction in supply voltage can lead to a significant reduction in heat generation and power consumption. To illustrate this, I suggest you familiarize yourself with the results of the study:

Core 2 Duo T7300 2.0 GHz1.00B

Core 2 Duo T7300 2.0 GHz1.25B

These two screenshots show the values maximum temperatures Core 2 Duo T7300 processor installed in the laptop Acer Aspire 5920G, after a thirty-minute “warm-up” with the S&M utility. In the first case, the processor operated at a supply voltage of 1.25V, and in the second at a supply voltage of 1.00V. No comments needed. The difference in maximum temperatures is 24 degrees, and this takes into account that in the first case, the laptop cooling fan worked at maximum speed and during the test the processor overheat protection was triggered (this can be seen from the temperature jump due to an emergency stop of the S&M utility)

There is a misconception among laptop users that lowering the processor voltage reduces performance. I will explain why this opinion is wrong. Performance is primarily determined by the frequency of the processor. Information processing occurs at every processor cycle. The higher the frequency, the more clock cycles per second, therefore, the more information the processor processes during that second. The supply voltage does not appear here at all. The processor supply voltage mainly affects the stability of the processor at a certain frequency. If you increase it, the maximum frequency at which the processor operates increases. This is exactly what overclockers do. But there is also reverse side medals: as the processor supply voltage increases, as mentioned above, its heat dissipation increases. This is why overclockers use powerful and complex cooling systems.

Now you can proceed directly to reducing the processor supply voltage. For this we need the utility. You can download it from one of these links: (gcontent)Download RMClock (/gcontent)

For 64-bit Windows Vista there is an issue with digital signature for the RTCore64.sys driver. To avoid this problem, download the RMClock version with an already certified driver from this link: (gcontent)Download (/gcontent)

Can't control processor frequency and voltage Intel Celeron M due to the fact that they do not support dynamic frequency/voltage change ( Intel Technology Enhanced Speed ​​Step Intel processors Celeron M - DISABLED. We say “thank you” to Intel for this crappy thing). Also, RMClock does not support new AMD processors (on 780G chipsets and older) and Intel Core i3, i5, i7 and others from the same family

Simplified setup of this utility for users who do not have the time/desire/experience to fine-tune it.

A detailed description of setting up this utility for users who want to achieve maximum efficiency of its operation.

Note: in this material settings are made in Windows environment XP. The setup procedure in Windows Vista is the same, with the exception of a few nuances, which are described in this material: Solving problems with laptop reboots and freezes

Simplified RMClock setup

Let's start by launching the utility. Go to the tab Settings and set the parameters as in the screenshot:

On this tab we have enabled autoloading of the utility. Let's move on to the next tab: Management. We configure it as shown in the screenshot:

It is worth noting that the check mark next to the item OS Power management integration first you have to take it off and then put it back on
Go to the tab Advanced CPU Settings. If you have a processor from Intel configure as in the screenshot below:

It is very important that there is a check mark next to the item Mobile. Other items may not be active for you. We don't pay attention to it

For processors from AMD tab Advanced CPU Settings should look like this:

Now let's move on to the most interesting part - the tab Profiles. For processors Intel it may look like this:

If you have a tick next to the item IDA- remove it

Note: just because we unchecked the box there does not mean that IDA technology will not work. It will work. It’s just that in this case there will be fewer glitches

Now I’ll explain how to set the voltage. For the highest multiplier (not counting IDA) set the voltage to 1.1000V. In my case, this multiplier is 10.0X. The vast majority of processors can operate at this voltage. Core 2 Duo. If your laptop freezes after applying the settings, then this voltage should be increased to 1.1500V. For the highest multiplier we set the voltage to 0.8000-0.8500V. The utility itself will enter intermediate values. With these settings, when running on mains power, the laptop will operate at the maximum frequency, and when switching to battery power, at the minimum frequency for better energy saving.

Attention: IN NO EVENT DO NOT PUT THE VOLTAGE ABOVE 1.4000V!!!

For laptops with processors from AMD this tab will look like this:

Here, for the largest multiplier (in my case it is 10.0X), we set the voltage to 1.0000V. For the smallest - the smallest value that the utility allows you to set.

Note: if you set the voltage to a very low voltage, this does not mean that the processor will work on it. The thing is that the minimum voltage at which the processor can operate is hard-coded for each individual processor. If you set the RMClock to a very low voltage, the processor will end up operating at the minimum voltage that the motherboard allows you to set.

Let's go directly to the profile settings, in particular Power Saving.

For processors Intel it looks like this:

For processors AMD it looks like this:

Here we put a tick next to the topmost items. Go to the tab Maximum performance.

For processors Intel it looks like this:

For processors AMD it looks like this:

On this tab, check the boxes next to the lowest items with the largest multipliers.
To prevent RMClock from having conflicts with Windows XP- go to Properties: Power Options (Start -> Control Panel -> Power Options) and select a profile in the profile selection window RMClock Power Management and press OK.

Note: You do not need to do this for Windows Vista.

To see what voltage and frequency the processor operates at, go to the tab Monitoring

As you can see, the processor in my case operates at a frequency of 2000 MHz, at a multiplier of 10.0 and at a voltage of 1,100 V. Its temperature is 45 degrees.

That's probably all. If you want to take a deeper look at this utility, read on.

Full description of RMClock settings

In this part I will tell you in more detail about the settings of the utility itself. Let's start by looking at the tab Settings

I will describe what is on this tab. At the very top there is a window for selecting the program language. To select the Russian language you need to download the corresponding .dll library (which you still need to find...)

Below are the settings:

  • Colors- color settings for the monitoring window.
  • Show informational balloon tooltips- show informational tooltips in the tray
  • Show critical balloon tooltips- show critical messages in the tray when overheating, for example
  • Make application window always on top- place the application window on top of other windows
  • Show application button in taskbar- show the application button in the taskbar
  • Temperature units- temperature units (degrees Celsius/Fahrenheit)

Even lower are the autorun options:

  • Start minimized to system tray- launch minimized into the system tray (near the clock)
  • Run at Windows startup- run when Windows starts. On the left you can select autorun methods: using a registry key or through a folder

And at the very bottom, logging options are configured. What and how to monitor.

On the tab CPU Info you can find out additional information about the processor.

The appearance of this tab for platforms based on Intel and on base AMD may be completely different. First I will describe it for the platform Intel:

At the very top there are 3 tabs Processor, Chipset And Throttling. Tabs Chipset And Throttling They are not of particular practical interest to us, so we do not touch them and leave the default parameters. And here on the tab Processor Let's go into more detail.
At the very top under the inscription Automatic thermal protection 4 points are posted:

  • Enable thermal monitor 1- turn on TM1
  • Enable thermal monitor 2- turn on TM2
  • Sync. TM1 on CPU cores- synchronize TM1 to processor cores
  • Enable Extended throttling- enable advanced throttling.
  • More details about what it is TM1 And TM2 read the documentation for the processor. All these technologies are correctly described there. In a nutshell: they serve to protect the processor from failure due to overheating. If the processor temperature reaches a certain value (usually 94-96 C), the processor will switch to the mode indicated on the right under the inscription Thermal Monitor 2 target

In the window FID/VID transition stabilization time stabilization time is indicated when transitioning from one processor operating mode to another.

Below under the inscription Intel Core/Core 2 family enhanced low power states various possible processor states with reduced power consumption are enabled. What's happened C1E, C2E...described in the same processor documentation. There it is presented in the form of a tablet.

At the very bottom of the tab Advanced CPU Settings There are 2 interesting points:

  • Engage Intel Dynamic Acceleration (IDA) IDA. The essence of this technology comes down to the fact that in processors with several cores, at times when the load on one of them is high, it switches to a higher multiplier. That is, if the T7300 processor has a nominal multiplier of x10, then at times with high load on one core, it will operate at a frequency of not 2.0 GHz, but at 2.2 GHz with a multiplier of x11 instead of x10.
  • Enable Dynamic FSB Frequency Switching (DFFS) - this option enables technology DFFS. Its essence boils down to the fact that to reduce power consumption, the system bus frequency is reduced from 200 MHz to 100 MHz.

Below we select the processor type. In our case it is Mobile and put a tick next to

Now let's see what the edit will look like Advanced CPU Settings for processor-based systems AMD:

I will focus only on the most important points
There are again 3 tabs at the top. We are mostly interested in the tab CPU setup
On the left in the window ACPI state to view/modify select the processor power consumption profile (state) with which we will work on this tab.

  • Enable CPU low power- enable processor power saving mode
  • Enable Northbridge low power- enable power-saving mode of the northbridge
  • Enable FID/VID change- enable the ability to change voltage/multiplier
  • Enable AltVID change- enable the possibility of alternative voltage changes
  • Apply these settings at startup - apply these changes after loading the OS.
  • If you click on the triangle on the right of the inscription ACPI power states settings , a menu with presets will appear.
  • There are still questions about what this or that checkbox is for - read the instructions for the program or, as always, at random

Now let's go to the tab Management

I’ll explain in a nutshell what this or that checkbox is for.

P-states transitions method: - in this window you can set the method of transition from one P-state (essentially a combination of a certain multiplier value and voltage) to another. Two options are possible - single-step - Single-step (that is, if the processor switches from a multiplier x6 to x8, then first it will make the transition x6->x7, and then x7->x8) and multi-step - Multi-step (from x6 immediately to x8 without switching to x7)
Multi-CPU load calculation - in this window you set the method for determining processor load (for the Performance on demand mode, for example). The screenshot shows the method when the load will be equal to the maximum load of any of the cores.
Standby/hibernate action - here you set the action when entering standby mode or hibernation mode. In the screenshot, the option “Keep current profile” is selected

Below are the CPU defaults - CPU Default Settings
Restore CPU defaults on management turns off - resume default values ​​when RMClock control is turned off
Restore CPU defaults on application exit - resume default values ​​when closing RMClock utility

Just below the inscription CPU defaults selection you can choose one of three options:

  • CPU-defined default P-state- default voltage/multiplier is determined by the processor itself
  • P-state found at startup- the default voltage/multiplier is at OS startup
  • Custom P-state- default voltage/multiplier is set manually

Here's a tick Enable OS power management integration worth paying special attention to. It must first be removed and then put back in again. After this you need to go to Control Panel -> Power Supplies and select the power supply scheme "RMClock Power Management" there. Alternatively, you can use the utility Acer ePower select profile RMClock Power Management. If this is not done, then conflicts between the OS and the utility are possible when they simultaneously control the frequency and voltage of the processor in their own way. As a result, constant voltage and frequency surges are possible.

Now let's move on to the most interesting part: setting the voltages. The simplified setting provides values ​​that, with a certain degree of probability, will suit 90-95 percent of users. But practice shows that processors can often operate stably at lower voltages, which means even less heat generation and power consumption, which in practice results in reduced heating and increased battery life.

Note: voltage settings are based on the example of an Intel Core 2 Duo processor. For other processors (including AMD products), the setup procedure is the same. There will simply be different values, the number of multipliers and, of course, voltages. Here I want to dispel another misconception. Users often think that if they, for example, have a T7300 like I do, then their processor will operate at the same voltages as mine. THIS IS WRONG. Each individual specimen has its own minimum stress values. That one percent specific model Working at a specific voltage does not mean that another percentage of the same model will work at the same voltage. In other words: if you install what is on the screenshots, it is not a fact that it will work for you.

Now our task is to determine the minimum voltage values ​​at which your particular processor will operate stably. To do this we need the S&M utility (gcontent)Download S&M (/gcontent)
I will briefly describe the tab Profiles:

There are 4 windows at the top of the tab. I'll explain why they are needed. In two windows on the left under AC power current( Сurrent) and boot ( Startup) system profiles when the laptop is powered from the network, a little to the right under Baterry current( Сurrent) and boot ( Startup) system profiles when the laptop is powered by battery. The profiles themselves are configured on sub-tabs (just below Profiles). Below there is another point - . It is responsible for auto-filling voltages, that is, it set the upper value on one multiplier, set the lower value on the second, when the checkbox next to that item is checked, the program itself will set intermediate values ​​using the linear interpolation method.

As you can see in the screenshot, when operating from the network, the laptop will operate at the frequency/voltage that is set in the profile Maximal Performance, and when the laptop is running on batteries, the frequency and voltage will be set in the profile Power saving

Now let's proceed directly to determining the minimum voltages at which the system is still stable. To do this, uncheck all the boxes except the one that is responsible for the highest multiplier (not counting IDA). We set the voltage to 1.1000V, for example (for AMD you can start with 1.0000V)

Go to the subtab Maximum performance(we currently have this profile active, the laptop is running on network power)

We mark our multiplier with a tick and launch S&M. When first launched, this utility honestly warns us:

Click OK

Now let's move on to setting up this utility. Go to the tab 0

We select the test that warms up the processor the most. The same thing is done on the tab 1 (the processor has two cores)

Now go to the tab Settings. First we set the maximum processor load:

set the testing duration to For a long time(approximately 30 minutes, for Norm- 8 minutes) and turn off the memory test

and press the button Start checking

On the tab Monitor You can monitor the current processor temperature:

If during the test the laptop did not freeze, reboot or display a blue screen, then it passed the test and the voltage can be further reduced. To do this, go to the tab Profiles and reduce the voltage by 0.0500V:

Let's run the utility again S&M. If this time everything went well, then you can still reduce the voltage... If the testing was unsuccessful, the voltage needs to be increased. The goal is simple: find the voltage at which the laptop will be tested by the utility S&M.
Ideally, you need to find such a voltage for each multiplier, but in order not to waste a lot of time, set the maximum multiplier to the voltage that we have determined, set the minimum multiplier (in my case 6.0X) to the minimum voltage that the motherboard can set for your processor (usually , this is 0.8-0.9 V)...and let the intermediate values ​​be filled using the function Auto-adjust intermediate stetes VIDs

This utility has one more feature that I did not mention: changing the processor frequency depending on the load.
In profiles Maximal Performance And Power saving It is possible to select only one processor frequency value with a specific voltage. If you need to organize flexible frequency control depending on the processor load, you should pay attention to the profile Performance on demand. It is different from Maximal Performance And Power saving in that here you can specify one or more voltage/multiplier combinations at which the processor will operate.
Here is an example of its configuration:

Below in the settings of this profile there are some parameters that we can change. I will briefly describe them:

Target CPU usage level (%)- sets the threshold for switching multipliers/voltages. The transition occurs only between those multipliers and voltages that are checked in the box above. The method for measuring processor load is determined on the tab Management

Up transition interval- determines the time during which the processor load must be higher than the threshold specified above in order for switching to a higher multiplier from the checkboxes noted above to occur.

Down transition interval- determines the time during which the processor load must be lower than the threshold specified above in order for switching to a lower multiplier from the checkboxes noted above to occur.

There are throttling options in the settings of each profile - Use throttling(ODCM). I do not recommend turning it on, because as a result the frequency decreases and the heating increases. You can also specify the system power parameters (time to turn off the monitor, disks, etc.) on the tab OS Settings:

To activate your profile Performance on demand- you need to select it in the windows Current on the tab Profiles

That's probably all.

Modern desktop and (especially) mobile processors use a number of energy-saving technologies: ODCM, CxE, EIST, etc. Today we will be interested in perhaps the highest level of them: flexible control of the frequency and voltage of the processor core during operation - Cool "n "Quiet, PowerNow! from AMD and Enhanced SpeedStep(EIST) from Intel.

Most often, a computer or laptop user simply needs to enable (check) support for a particular technology in the BIOS and/or operating system - no fine tuning usually not provided, although, as practice shows, it can be very useful. In this article I will talk about how you can control the operating voltage of the processor core from the operating system (using the example Intel Pentium M and FreeBSD), and why this might be needed.

Despite the large number of manuals, it is rare to find a detailed description of Enhanced SpeedStep technology from the point of view of the operating system (rather than the end user), especially in Russian, so a significant part of the article is devoted to implementation details and is somewhat theoretical in nature.

I hope this article will be useful not only for FreeBSD users: we will also touch a little on GNU/Linux, Windows and Mac OS X. However, in this case the specific operating system is of secondary importance.

Preface

Last year, I upgraded the processor in my old laptop: I installed a Pentium M 780 instead of the standard 735, and pushed it to the maximum, so to speak. The laptop began to heat up more under load (due to the heat dissipation increasing by 10 W); I didn’t pay much attention to this (except that I cleaned and lubricated the cooler just in case), but one fine day, during a long compilation, the computer... simply turned off (the temperature did reach a critical hundred degrees). I displayed the value of the system variable hw.acpi.thermal.tz0.temperature in the tray in order to monitor the temperature and, if anything happens, interrupt the “heavy” task in time. But after some time I lost my vigilance (the temperature always remained within the normal range), and everything happened again. At this point, I decided that I no longer wanted to constantly fear a crash during a long CPU load and keep my hand on Ctrl-C, nor to force the processor.

Typically, changing the standard voltage means increasing it in order to ensure stable operation of the processor during overclocking (i.e. at an increased frequency). Roughly speaking, each voltage value corresponds to a certain range of frequencies at which it can operate, and the overclocker’s task is to find the maximum frequency at which the processor is not yet “glitchy.” In our case, the task is in some sense symmetrical: for a known frequency (more precisely, as we will soon find out, a set of frequencies) to find the lowest voltage that provides a stable CPU operation. I don’t want to lower the operating frequency, so as not to lose performance - the laptop is already far from top-end. In addition, reduce the voltage more profitable.

A little theory

As is known, the heat dissipation of a processor is proportional to its capacity, frequency and square voltage (who is interested in why this is so, can try to derive the dependence on their own, considering the processor as a set of elementary CMOS inverters (logical negators), or follow the links: one, two, three).

Modern mobile processors can consume up to 50-70 W, which ultimately dissipates into heat. This is a lot (remember incandescent lamps), especially for a laptop, which in offline mode under load will “eat” the battery like that pig eats oranges. In confined spaces, heat will most likely have to be actively removed, which means additional energy consumption to rotate the cooler fan (possibly several).

Naturally, this state of affairs did not suit anyone, and processor manufacturers began to think about how to optimize power consumption (and, accordingly, heat transfer), and at the same time prevent the processor from overheating. For those interested, I recommend reading a number of wonderful articles by Dmitry Besedin, and in the meantime I’ll get straight to the point.

A little history

For the first time, SpeedStep technology (version 1.1) appeared in the second generation of third Pentiums (mobile Coppermine for laptops produced using the 18 micron technical process, 2000), which, depending on the load or power source of the computer - network or battery - could switch between high and low frequencies due to a variable multiplier. In economy mode, the processor consumed approximately half as much energy.

With the transition to the 13 micron technical process, the technology receives version number 2.1 and becomes “improved” (enhanced) - now the processor can reduce not only the frequency, but also the voltage. Version 2.2 is an adaptation for the NetBurst architecture, and by the third version (Centrino platform) the technology will officially be called Enhanced Intel SpeedStep (EIST).

Version 3.1 (2003) first used in the first and second generations Pentium processors M (Banias and Dothan kernels). The frequency varied (at first it just switched between two values) from 40% to 100% of the base, in steps of 100 MHz (for Banias) or 133 MHz (for Dothan, our case). At the same time, Intel is introducing dynamic capacity management of the second level cache (L2), which allows for even better optimization of power consumption. Version 3.2 (Enhanced EIST) - adaptation for multi-core processors with a shared L2 cache. (Small FAQ from Intel on SpeedStep technology.)

Now, instead of blindly following numerous howtos and tutorials, let’s download the pdf and try to understand the working principle of EST (I will continue to use this abbreviation, because it is more universal and shorter).

How EST works

So, EST allows you to control the performance and power consumption of the processor, and dynamically, during its operation. Unlike earlier implementations, which required hardware support (in the chipset) to change processor operating parameters, EST allows programmatically, i.e. using the BIOS or operating system, change the multiplier (the ratio of processor frequency to bus frequency) and core voltage (V cc) depending on the load, type of computer power source, CPU temperature and/or OS settings (policies).

During operation, the processor is in one of several states (power states): T (throttle), S (sleep), C (idle), P (performance), switching between them according to certain rules (p. 386 of the ACPI 5.0 specification).

Each processor present on the system must be described in a DSDT table, most often in the \_PR namespace, and usually provides a number of methods through which it interacts with the operating system (PM driver) and which describe the capabilities of the processor (_PDC, _PPC) , supported states (_CST, _TSS, _PSS) and their management (_PTC, _PCT). The required values ​​for each CPU (if it is included in the so-called CPU support package) are determined by the BIOS of the motherboard, which fills in the corresponding ACPI tables and methods (p. 11 pdf) when the machine boots.

EST controls the operation of the processor in the P-state, and they will be of interest to us. For example, Pentium M supports six P-states (see Fig. 1.1 and Table 1.6 pdf), differing in voltage and frequency:

IN general case, when the processor is unknown in advance, the only more or less reliable (and recommended by Intel) method of working with it is ACPI. You can interact with a specific processor directly, bypassing ACPI, through the MSR (Model-Specific Register) registers, including directly from command line: Since version 7.2, FreeBSD uses the cpucontrol(8) utility for this.

To find out if your processor supports EST, you can look at the 16th bit in the IA_32_MISC_ENABLE register (0x1A0), it should be set:

# kldload cpuctl # cpucontrol -m 0x1a0 /dev/cpuctl0 | (read _ msr hi lo ; echo $((lo >> 16 & 1))) 1
Similar command for GNU/Linux (requires msr-tools package):

# modprobe msr # echo $((`rdmsr -c 0x1a0` >> 16 & 1)) 1
The transition between states occurs when writing to the IA32_PERF_CTL register (0x199). You can find out the current operating mode by reading the IA32_PERF_STATUS register (0x198), which is updated dynamically (Table 1.4 pdf). In the future, I will omit the IA32_ prefix for brevity.

# cpucontrol -m 0x198 /dev/cpuctl0 MSR 0x198: 0x0612112b 0x06000c20
From the documentation it follows that the current state is encoded in the lower 16 bits (if the command is executed several times, their value may change - this means that EST is working). If you look more closely at the remaining bits, they are clearly not garbage either. By Googling, you can find out what they mean.

Structure of the PERF_STATUS register

Data read from PERF_STATUS is represented by following structure(assuming the data is stored as little-endian):

Struct msr_perf_status ( unsigned curr_psv: 16; /* Current PSV */ unsigned status: 8; /* Status flags */ unsigned min_mult: 8; /* Minimum multiplier */ unsigned max_psv: 16; /* Maximum PSV */ unsigned init_psv: 16; /* Power-on PSV */ );
Three 16-bit fields are the so-called Performance State Values ​​(PSV), we will consider their structure below: the current PSV value, the maximum (depending on the processor) and the value at system start (when turned on). The current value (curr_psv) obviously changes when the operating mode changes, the maximum (max_psv) usually remains constant, the starting value (init_psv) does not change: as a rule, it is equal to the maximum value for desktops and servers, but the minimum for mobile CPUs. The minimum multiplier (min_mult) for Intel processors is almost always six. The status field contains the value of some flags, for example, when the EST or THERM events occur (that is, when the P-state changes or the processor overheats, respectively).

Now that we know the purpose of all 64 bits of the PERF_STATUS register, we can decipher the word we read above: 0x0612 112b 0x06 00 0c20⇒ PSV at start 0x0612, maximum value 0x112b, minimum multiplier 6 (as expected), flags cleared, current PSV value = 0x0c20. What exactly do these 16 bits mean?

Performance State Value (PSV) Structure

It is very important to know and understand what PSV is, because it is in this form that the processor operating modes are set.

Struct psv ( unsigned vid: 6; /* Voltage Identifier */ unsigned _reserved1: 2; unsigned freq: 5; /* Frequency Identifier */ unsigned _reserved2: 1; unsigned nibr: 1; /* Non-integer bus ratio */ unsigned slfm: 1; /* Dynamic FSB frequency (Super-LFM) */ );
Dynamic FSB frequency switching specifies to skip every second FSB clock cycle, i.e. reduce the operating frequency by half; This feature was first implemented in Core processors 2 Duo (Merom core) does not concern us, as does the Non-integer bus ratio - a special mode supported by some processors, which, as the name suggests, allows you to more finely control their frequency.

Two fields are related to the EST technology itself - frequency identifiers (Frequency Identifier, Fid), which is numerically equal to the multiplier, and voltage (Voltage Identifier, Vid), which corresponds to the voltage level (it is also usually the least documented).

Voltage Identifier

Intel is very reluctant to disclose information (usually an NDA is required) about exactly how the voltage ID is encoded for each processor. But for most popular CPUs, fortunately, this formula is known; in particular, for our Pentium M (and many others): V cc = Vid 0 + (Vid × V step), where V cc is the current (real) voltage, Vid 0 is the base voltage (when Vid == 0), V step - step. Table for some popular processors (all values ​​in millivolts):
CPU Vid 0 V step V boot Vmin V max
Pentium M 700,0 16,0 xxxx,x xxx,x xxxx,x
E6000, E4000 825,0 12,5 1100,0 850,0 1500,0
E8000, E7000 825,0 12,5 1100,0 850,0 1362,5
X9000 712,5 12,5 1200,0 800,0 1325,0
T9000 712,5 12,5 1200,0 750,0 1300,0
P9000, P8000 712,5 12,5 1200,0 750,0 1300,0
Q9000D, Q8000D 825,0 12,5 1100,0 850,0 1362,5
Q9000M 712,5 12,5 1200,0 850,0 1300,0
The multiplier (i.e. Fid) is written to PSV shifted 8 bits to the left, the lower six bits are occupied by Vid. Because in our case, the remaining bits can be neglected, then PSV, processor frequency, system bus and physical voltage are related by a simple formula (for Pentium M):
Now let's look at the control register (PERF_CTL). Writing to it should be done as follows: first, the current value (the entire 64-bit word) is read, the necessary bits are changed in it, and written back to the register (the so-called read-modify-write).

PERF_CTL register structure

struct msr_perf_ctl ( unsigned psv: 16; /* Requested PSV */ unsigned _reserved1: 16; unsigned ida_disengage: 1; /* IDA disengage */ unsigned _reserved2: 31; );
The IDA (Intel Dynamic Acceleration) disengage bit allows you to temporarily disable opportunistic frequency control on Intel Core 2 Duo T7700 and later processors - again, not of interest to us. Low 16 bits (PSV) is the mode into which we “ask” the processor to switch.

Table _PSS

The _PSS table is an array of states ( Package in ACPI terminology) or a method that returns such an array; each state (P-state) in turn is defined by the following structure (p. 409 of the ACPI specification):

Struct Pstate ( unsigned CoreFrequency; /* Core CPU operating frequency, MHz */ unsigned Power; /* Maximum power dissipation, mW */ unsigned Latency; /* Worst-case latency of CPU unavailability during transition, µs */ unsigned BusMasterLatency; / * Worst-case latency while Bus Masters are unable to access memory, µs */ unsigned Control; /* Value to be written to the PERF_CTL to switch to this state */ unsigned Status (should be equal to the one read) from PERF_STATUS) */ );
Thus, each P-state is characterized by a certain core operating frequency, maximum power dissipation, transit delays (in fact, this is the transition time between states during which the CPU and memory are unavailable), and finally, the most interesting: PSV, which corresponds to this state and which must be written to PERF_CTL in order to move to this state (Control). To ensure that the processor has successfully transitioned to a new state, you need to read the PERF_STATUS register and compare it with the value recorded in the Status field.

The EST driver of the operating system can “know” about some processors, i.e. will be able to manage them without ACPI support. But this is rare, especially these days (although for undervolting on Linux, somewhere before version 2.6.20, it was necessary to patch the tables in the driver, and back in 2011 this method was quite common).

It is worth noting that the EST driver can work even if there is no _PSS table and an unknown processor, because maximum and minimum value can be found out from PERF_STATUS (in this case, obviously, the number of P-states degenerates to two).

Enough theory. What to do with all this?

Now that we know 1) the purpose of all the bits in the necessary MSR words, 2) exactly how PSV is encoded for our processor, and 3) where to look in DSDT required settings, it's time to make a table of frequencies and voltages default. Let's dump DSDT and look for the _PSS table there. For Pentium M 780 it should look something like this:

Default_PSS values

Name (_PSS, Package (0x06) ( // A total of 6 states are defined (P-states) Package (0x06) ( 0x000008DB, // 2267 MHz (cf. Fid × FSB clock) 0x00006978, // 27000 mW 0x0000000A, // 10 µs (meets spec) 0x0000000A, // 10 µs 0x0000112B, // 0x11 = 17 (multiplier, Fid), 0x2b = 43 (Vid) 0x0000112B ), Package (0x06) ( 0x0000074B, // 1867 MHz (82% of maximum) 0x000059D8, // 23000 mW 0x0000000A, 0x0000000A, 0x00000E25, // Fid = 14, Vid = 37 0x00000E25 ), Package (0x06) ( 0x00000640, // 1600 MHz (71% of maximum 0x0) 0005208, // 21000 mW 0x0000000A, 0x0000000A , 0x00000C20, // Fid = 12, Vid = 32 0x00000C20 ), Package (0x06) ( 0x00000535, // 1333 MHz (59% of maximum) 0x00004650, // 18000 mW 0x0000000A, 0x0000000A, x00000A1C, // Fid = 10, Vid = 28 0x00000A1C ), Package (0x06) ( 0x0000042B, // 1067 MHz (47% of maximum) 0x00003E80, // 16000 mW 0x0000000A, 0x0000000A, 0x00000817, // Fid = 8, Vid = 2 3 0x00000817 ), Package (0x06 ) ( 0x00000320, // 800 MHz (35% of maximum) 0x000032C8, // 13000 mW 0x0000000A, 0x0000000A, 0x00000612, // Fid = 6, Vid = 18 0x00000612 ) ))


So, we know the default Vid for each P-level: 43, 37, 32, 28, 23, 18, which corresponds to voltages from 1388 mV to 988 mV. The essence of undervolting is that these voltages are probably somewhat higher than what is actually necessary for stable operation of the processor. Let's try to determine the “limits of what is permitted.”

I wrote a simple shell script for this, which gradually lowers Vid and performs a simple loop (the powerd(8) daemon must be killed before this, of course). Thus, I determined the voltages that would at least allow the processor not to freeze, then I ran the Super Pi test several times and reassembled the kernel; Later, I raised the Vid value for the two maximum frequencies by one more point, otherwise gcc would occasionally crash due to an illegal instruction error. As a result of all the experiments over several days, the following set of “stable” Vids was obtained: 30, 18, 12, 7, 2, 0.

Analysis of results

Now that we have empirically determined the minimum safe voltages, it is interesting to compare them with the original ones:
Reducing the maximum voltage even by 15% brought quite noticeable results: long-term load not only no longer leads to processor overheating and emergency shutdown, but the temperature now almost never exceeds 80°C. The predicted battery life in “office” mode, judging by acpiconf -i 0, increased from 1 hour 40 m to 2 h 25 m. (Not so much, but lithium-ion cells get tired over time, and I haven’t changed the battery since I bought the laptop seven years ago.)

Now we need to make sure that the settings are applied automatically. You can, for example, modify the cpufreq(4) driver so that PSV values ​​are taken from its own table, rather than via ACPI. But this is inconvenient, if only because you need to remember to patch the driver when updating the system, and in general - it looks more like a dirty hack than a solution. You can probably patch powerd(8) somehow, which is bad for about the same reasons. You can simply run the script, lowering the voltage by directly writing to the MSR (which, in fact, is what I did to determine the “stable” voltages), but then you will have to remember and independently process transitions between states (not only P-states, but any in general, for example, when the laptop wakes up from sleep). That's not the point either.

If we receive PSV values ​​via ACPI, then it is most logical to change the _PSS table in DSDT. Fortunately, you don’t have to tinker with the BIOS for this: FreeBSD can load DSDT from a file (we’ve already talked about modifying ACPI tables on Habré, so we won’t dwell on this in detail now). We replace required fields in DSDT:

Undervolting patch for _PSS

@@ -7385.8 +7385.8 @@ 0x00006978, 0x0000000A, 0x0000000A, - 0x0000112B, - 0x0000112B + 0x0000111D, + 0x0000111D ), Package (0x06) @@ -7395.8 + 7395.8 @@ 0x000059D8, 0x0000000A, 0x0000000A, - 0x00000E25, - 0x00000E25 + 0x00000E12, + 0x00000E12 ), Package (0x06) @@ -7405.8 +7405.8 @@ 0x00005208, 0x0000000A, A, - 0x00000C20, - 0x00000C20 + 0x00000C0C, + 0x00000C0C ), Package ( 0x06) @@ -7415.8 +7415.8 @@ 0x00004650, 0x0000000A, 0x0000000A, - 0x00000A1C, - 0x00000A1C + 0x00000A07, + 0x00000A07 ), Package (0x06) @@ -7 425.8 +7425.8 @@ 0x00003E80, 0x0000000A, 0x0000000A, - 0x00000817, - 0x00000817 + 0x00000802, + 0x00000802 ), Package (0x06) @@ -7435.8 +7435.8 @@ 0x000032C8, A, 0x0000000A, - 0x00000612, - 0x00000612 + 0x00000600, + 0x00000600 ) ) )


We compile a new AML file (ACPI bytecode) and modify /boot/loader.conf so that FreeBSD loads our modified DSDT instead of the default one:

Acpi_dsdt_load="YES" acpi_dsdt_name="/root/undervolt.aml"
That's basically all. The only thing is, don’t forget to comment out these two lines in /boot/loader.conf if you change the processor.

Even if you are not going to lower the standard voltages, the ability to configure the management of processor states (not just P-states) can be useful. After all, it often happens that a “crooked” BIOS fills out the tables incorrectly, incompletely, or does not fill them out at all (for example, because there is a Celerone that does not support EST, and the manufacturer does not officially provide for its replacement). In this case, you will have to do all the work yourself. Note that adding just the _PSS table may not be enough; Thus, C-states are specified by the _CST table, and in addition, it may be necessary to describe the control procedures themselves (Performance Control, _PCT). Fortunately, this is not difficult and is described in quite detail, with examples, in chapter eight of the ACPI specification.

Undervolting in GNU/Linux

To tell you the truth, at first I thought all I could do was read the Gentoo Undervolting Guide and just adapt it for FreeBSD. This turned out to be not so simple, because the document turned out to be extremely stupid (which is actually strange for the Gentoo Wiki). Unfortunately, I didn’t find anything similar on their new website, so I had to settle for old copy; and although I understand that this guide has lost much of its relevance, I will still criticize it a little. :-)

For some reason, they immediately, without declaring war, offer me to patch the kernel (in FreeBSD, for a moment, we have no system at all code did not have to be modified). Enter into the driver’s internals or write into some init scripts the values ​​of certain “safe” voltages, obtained by someone unknown and how, from a special table (in which the Pentium M 780 is mockingly represented by a line consisting of only question marks). Follow advice, some of which is written by people who clearly have no idea what they are talking about. And most importantly, it is completely unclear why and how exactly these magical replacements of some numbers with others work; there is no way to “touch” EST before patching something and rebuilding the kernel, and there is never any mention of MSR registers and working with them from the command line. Modification of ACPI tables is not considered as an alternative or preferable option.

Makos interacts quite closely with (and expects correct operation) ACPI, and modifying tables is one of the main methods of customizing it for specific hardware. Therefore, the first thing that comes to mind is to dump and patch your DSDT in the same way. Alternative method: google://IntelEnhancedSpeedStep.kext, for example, one, two, three.

Another “wonderful” utility (fortunately, already outdated) offers to buy for $10 the ability to change the voltage and frequency. :-)



Related publications