📜 ⬆️ ⬇️

Frequency management and overclocking of AMD Radeon notebook video cards in Windows

With regard to things, I am a rather conservative person, so I use everything “to the end”, while things perform their functions and try to get everything from them that they are capable of. It was the same with computer technology, so the topic of “overclocking” was always interesting for me and practiced on everything that was used. One of the latest gadgets purchased was the HP ProBook 4530s laptop in the Intel Core i3 / AMD Radeon HD 6490M configuration. This story is about what and how I made the AMD video card consume less and work faster.

image

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

It so happened that using a laptop, despite the presence of “switchable graphics” (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 working connected to the outlet. But I still wanted the laptop to consume (and warm up) less in the budget profile. Once I happened to meet the Radeon - RBE - Radeon BIOS editor bis editing program. One of its features was tuning frequencies for PowerPlay profiles. However, editing the bios directly was not possible. Despite the fact that the BIOS of the laptop can be "unzipped", fix something and "pick up" back, it is not possible to flash it into my laptop. And then it dawned on me, and would not the “PP_PhmSoftPowerPlayTable” entry be equivalent to the same tables, only in the video card's BIOS? And, as it turned out later - it will be!
')
So let's get started. We need a bios video card radeon. Unpack the BIOS BIOS firmware update image (I do it with Total Commander) and look for the string “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 which they come across) are intended for the “HP_IEC_Roxette_SeymourXT_GDDR5” platform (not mine), half for the “HP_IEC_Ramones_SeymourXT_GDDR5” (the Ramones is the name of the laptop, which is the way for the figure, “for the symphourXX_XeymourXT_GDDR5” (Ramones is the name of the laptop, which is the way for us), half of the way for the HP_I_X_X_GDDR5; HD 6490M).

image

There was a question how to choose from the 3 file I needed (initially I did not know whether the data from the “PP_PhmSoftPowerPlayTable” record would match the data in the file). Tester AIDA64 provided the following information about the video card.

[AMD Radeon HD6490M]

Video adapter properties:
Device Description - AMD Radeon HD6490M
Adapter string - AMD Radeon HD6490M
BIOS string - BR41262.S02


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

image

Here I want to draw attention to where this very “OverDrive” comes from. When opening the original BIOS file, RBE video card warns you that the OverDrive settings are not recorded. Comparing the original tables and see from the registry:

image

Instead of zeros, there appeared records of maximum permissible frequencies for the core and memory (here they are recorded 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 little bit about PowerPlay. This is a power management technology video card. In the mobile version of the organized two profiles - 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 the performance mode, scenario "3" - for the "energy saving" mode. There is also a separate script (“2”) intended for the hardware video decoding mode.

Actually, further, I think everything is clear, we change the frequency of scenarios as you like, take the modified PowerPlay table and enter it into the registry. With frequencies it seems to be simpler, the clock generator is built into the chip, frequencies are probably generated uniformly and there should be no problems with it, but since we lowered the frequency of the GPU in some states, it becomes interesting to reduce its supply voltage. But here, as we understand, everything is very vendor-specific. We look how it is made:

image

Actually, the PWS controller TPS51511 . It was conceived as a 2-level, but slightly modified the circuit by getting 4 switchable voltage levels. The control is carried out by signals POW_SW1 and POW_SW0. But where do they come from:

image

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

Here is the whole short story. As for my video card, initially the maximum GPU / memory frequencies were 750/900. Its architecture is such that the performance is limited to the GPU. With tests, a 15% increase in the GPU frequency gives about 11% of the performance gain, while a memory frequency increase of the same 15% gave only 1% of the performance. I stopped at the settings as in the last RBE screenshots. The OverDrive mechanism itself is better not to use, because when it is activated, intermediate states of frequencies are taken not from the registry table, but from the BIOS. Therefore, the maximum desired frequencies were entered in the standard state. 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 resetting the memory controller and additional “gestures”, which, if you want maximum performance, well, it’s better not to use voltage in order to minimize any transients. Also, the frequencies of the video decoding mode were reduced.

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

I think this technique will work on other configurations, but I do not have the opportunity to test it. I would be glad if it is interesting to someone and someone will try and share the results.

Source: https://habr.com/ru/post/232265/


All Articles