Frequency management and overclocking of AMD Radeon notebook cards in Windows

As for things, I’m a pretty conservative person, so I use everything “to the end” while things perform their functions and try to get everything they can from them. So it is with computer technology, so the topic of “overclocking” was always interesting to me and practiced on everything that was used. One of the latest gadgets purchased was the HP ProBook 4530s with Intel Core i3 / AMD Radeon HD 6490M. This story is about what and how I did so that the AMD video card consumed less and worked faster.

image

As you know, in laptops almost everything is hidden and locked, a minimum of hardware settings, specific configurations, etc., that is, everything has been done so that the user can not "twist" anything superfluous. Actually, therefore, I became interested in the message in the profile topic of the conferenceabout the possibility of overclocking the video card. Having quickly got to the bottom of the system changes, it was determined that the “OverDrive” tab appears from entering binary data with the name “PP_PhmSoftPowerPlayTable” into the registry. This entry is in the driver settings for the HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class \ {4D36E968-E325-11CE- BFC1-08002BE10318} \ 00xx "(depending on the location and installation of xx video cards, it can change, but it’s not difficult to understand if there is a text designation for the video cards). After that, the Catalyst Control Center made it possible to change the maximum core and memory frequencies. Everything worked, everything was accelerated, on e Tom stopped at that time.

It so happened that using a laptop, despite the presence of “Switchable Graphics” in it, I prefer manual switching of video cards and almost always use AMD. So it works “smoother”, and low consumption is not a priority, since the laptop spends most of the time connected to the outlet. But still I wanted the laptop to consume (and bask) less in the economical profile. Once I accidentally met a program for editing encores of Radeon video cards - RBE - Radeon BIOS editor. One of its features was frequency tuning for PowerPlay profiles. However, editing directly bios was not possible. Despite the fact that the bios of a laptop can be “picked up”, corrected and “picked up” back, it is not possible to flash it into my laptop. And then it dawned on me, but would not the entry “PP_PhmSoftPowerPlayTable” equivalent to the same tables, only in the BIOS of the video card? And, as it turned out later - it will be!

So let's get started. We need the bios of the Radeon video card. We unpack the BIOS bios firmware update image (I do this using Total Commander) and look for the line “ATOMBIOSBK-ATI” in the files, as I understand it is the trademark of their BIOS. And here is the first surprise: we find as many as 6 different files, half of which (judging by the lines in them) is for the HP_IEC_Roxette_SeymourXT_GDDR5 platform (not mine), half for HP_IEC_Ramones_SeymourXT_GDDR5 (Ramones is the name of the platform for the laptop, SeymourXT code is HD 6490M).

image

The question remained, how to choose the file I need from 3 (initially I did not know if the data from the “PP_PhmSoftPowerPlayTable” record would match the data in the file). The AIDA64 tester provided the following information about the video card.

[AMD Radeon HD6490M] Video Card

Properties:
Device Description - AMD Radeon HD6490M
Adapter String - AMD Radeon HD6490M
BIOS String - BR41262.S02


I was interested in the "BIOS String" and, as it turned out, it was unique for each file. The file is found, look for the occurrence of binary data in it from the entry “PP_PhmSoftPowerPlayTable” and find it! It turns out that the driver provides a mode for replacing PowerPlay tables from the BIOS to a registry entry. Now our task is to correct the tables in the BIOS and make equivalent changes to the registry.

image

Here I want to pay attention to where this "OverDrive" comes from. When you open the original BIOS file, the RBE video card warns that there is no recording of OverDrive settings. Comparing the original tables and from the registry we see:

image

Instead of zeros, records of the maximum permissible frequencies for the core and memory appeared (here they are written in x10kHz). After making the appropriate changes to the BIOS image file, we see our frequencies on the OverDrive editing tab in RBE, which confirms the research.

image

A bit about PowerPlay. This is a video card power management technology. In the mobile version, two profiles are organized - economical and productive. They switch in the settings of the Catalyst Control Center and are set in the BIOS by various scenarios.

image

image
image

Scenario “1” includes a set of 3 states and is used in performance mode, scenario “3” - for the “energy saving” mode. There is also a separate script (“2”) designed for hardware video decoding mode.

Actually further, I think, everything is clear, we change the frequency of scripts as you like, take the modified PowerPlay table and enter it into the registry. It’s easier with frequencies, the clock is built into the chip, the frequencies are probably generated in the same way and there shouldn’t be any problems, but since we lowered the GPU speed in some states, it becomes interesting to reduce its supply voltage. But here, as we understand it, everything is very vendor-specific. We look at how this is done: Actually, the TPS51511 PWM controller itself . Conceived as a 2-level, but slightly modified the circuit by receiving 4 switchable voltage levels. The control is carried out by the signals POW_SW1 and POW_SW0. But where do they come from:

image



image

This is a GPU chip, as you can see, arbitrary-purpose input-output lines (GPIO) are used. Understanding the issue, I found out that the bios of the video card provides the functions of setting the frequencies of the GPU, memory and voltage, that is, it seems like the bucket-specific hardware is backed up by software, so you can try. I think there are some thresholds in the bios, depending on which the voltage set for the POW_SW1 and POW_SW0 pins will change accordingly. In order not to disassemble and not measure whether the voltage actually changed, I decided to evaluate this by heating the GPU in the test in the power saving mode. The assessment showed a decrease in temperature by 5-7gr at the same frequencies, that is, it worked!

Here, in fact, is the whole short story. As for my video card specifically, initially the maximum GPU / memory frequencies were 750/900. Its architecture is such that performance is limited precisely by the GPU. In tests, an increase of 15% in the GPU frequency gives about 11% of the increase in performance, while an increase in the memory frequency by the same 15% gives only 1% of the performance. I stopped at the settings as in the latest screenshots of RBE. It is better not to use the OverDrive mechanism itself, because when it is activated, the intermediate frequency states are taken not from the registry table, but from the BIOS. Therefore, the maximum desired frequencies were brought into standard states. Also in high performance mode, the average state was made without switching the memory frequency and voltage. As far as I understand, switching the memory frequency is accompanied by a reset of the memory controller and additional “body movements”, which is of no use if you want maximum performance, well, it’s better not to click the voltage in order to minimize any transient processes. The frequencies of the video decoding mode were also reduced.

According to the test results, I got a temperature reduction (and therefore energy consumption) in an economical operating mode in the absence of noticeable degradation of performance (actually when it is not needed) and increased productivity when it is needed.

I think this technique will work on other configurations as well, but it’s not possible for me to test this. I would be glad if this is interesting to someone and someone will try and share the results.

Also popular now: