Управляем напряжением видеокарт AMD HD 7 серии через редактирование BIOS


 Несмотря на то, что видеокарты седьмой серии от AMD имеют хороший разгонный потенциал, у многих пользователей возникают трудности с возможностью реализации его в полном объеме.
Наиболее часто встречаются следующие проблемы:
1) Отсутствие возможности программно управлять напряжением в MSI Afterburner. Появился даже термин «залоченная» видеокарта.
2) Некорректная работа технологии ZEROCORE с утилитами предназначенными для разгона (после сна напряжение в разгоне сбрасывается и т.п.) Подробнее
Это заставляет нас отказаться он режима отключения монитора или пользоваться Catalyst Control Center возможности которого ограниченны.
Итак, если вам хочется разогнать до предела свою карточку, но не хватает напряжения по умолчанию, или наоборот кажется что, при напряжении по умолчанию карта слишком сильно греется, то эта заметка для вас.
Весь фокус в редактировании BIOS видеокарты, а так как RBE больше не обновляется, это придётся делать вручную.
 
СПОСОБ №1
 
Для начала простой способ с заменой всего 1 байта. В качестве примера взят BIOS от HD 7970, но все данные подходят ко всему семейству Tahiti. Основа способа была взята из http://www.tomshw.it/forum/overclock-generale/274656-hd-7970-bios-volt-mod.html   , но была подвергнута переосмыслению и упрощению.
ВАЖНО: этот способ подходит только для карт на полностью  референсном или основанном на референсе дизайнах. Узнать какой дизайн у вас можно по содержимому BIOS(см. далее).
Нам потребуется следующее: GPU-Z, HEX-редактор на ваш выбор, калькулятор, пара прямых рук и одна относительно светлая голова.
1. Запускаем GPU-Z, сохраняем BIOS своей видеокарты, затем выясняем ASIC своего чипа и запоминаем его.
2. В HEX – редакторе открываем только что сохранённый файл BIOS и ищем в нём HEX-строку 40 00 03 01
3.  Двигаемся от найденной строки к началу файла с шагом в 6 байт, каждый шаг является строчкой в таблице, которую предстоит отредактировать.

4. Как правило, строчек всего 5. Получается следующая таблица:

При помощи её BIOS узнает, какое именно напряжение надо подавать на GPU когда он переходит в режим 3D.
Сами значения в вашем случае могут быть другими, но принцип тот же. ВАЖНО: необходимо чтобы было именно 1A 04 77 00 82 03, а не 1A 04 00 00 82 03 , т.е если у вас в каждой строчке 2 нулевых значения, то у вас видеокарта с собственным дизайном и этот простой способ для вашей видеокарты не годится.(значит вам придётся использовать второй сложный способ)
5. Теперь надо разобраться с данными этой таблицы: Зелёным  помечен VID, в милливольтах. Голубым  выделен ASIC, в десятых процента. Красный это VRM VID Code или так называемый «сигнал на VRM» . Для простоты восприятия можно перевести данные в десятичную систему, для этого и потребуется «Калькулятор». Есть тонкость, надо помнить, что старший байт идёт вторым, поэтому: 92 04 надо читать «задом наперёд» как  492 что в десятичном представлении = 1170 , F9 02 читается как 2 F9 в десятичном представлении = 761 и так далее…
6. После перевода все величин таблица приобретает следующий вид:

Её нужно понимать следующим образом: если ASIC вашего чипа меньше 76,1% то для него выбирается VID = 1170мВ, а на VRM «посылается сигнал» = 139
Если ASIC меньше 84,5% но больше 76,1% то VID = 1110мВ а «сигнал» = 129  и так далее…
 
Надо учитывать, что VID это вовсе не реальное напряжение, а всего лишь его «название», которое используется в BIOS и драйверах чтобы отличать их друг от друга, а реальное напряжение задаётся «сигналом» т.е. VRM. Согласно этому «сигналу» выставляет напряжение на чипе в режиме 3D. Таким образом изменяя «сигнал» мы и будем изменять напряжение на нужное нам. Мы знаем (см. п.1) ASIC своего чипа, и следовательно понимаем какую из строчек надо редактировать, что бы изменить напряжение именно для своего чипа.
7. К сожалению, мне не удалось найти полный datasheet по «сигналам VRM» (VRM VID Codes) для рассматриваемого случая, поэтому придётся ограничиться только тем, что можно узнать из BIOS.
 Теперь, если высчитать разницу в мВ между соседними VID (1170-1110= 60), (1110-1050=60), (1050-1020=30) и сопоставить ее с разницей между соседними «сигналами» (139-129=10), (129-119=10), (119-115=4). То легко заметить, что (для данного набора VID и «сигналов») для уменьшения или увеличения напряжение на 60мВ надо уменьшить или увеличит «сигнал» на 10. Для того чтобы уменьшить (однократно) напряжение на 30мВ  надо уменьшить «сигнал» на 4. Таким образом, зная это, мы можем управлять  напряжением с точностью до 30мВ.
 
Например, мы имеем видеокарту ASIC которой равен 86,2% и нам необходимо задать напряжение 1.25В.
а) Находим нужную нам строчку. 84,5<86,2<89,8. Следовательно, редактировать надо третью строчку.
б) Высчитываем нужный «сигнал»: 1050 +60 +60 +60 +60=1290 -30= 1260мВ  => 119 +10 +10 +10 +10 -4 = 155
в) т.е. нам не удалось точно высчитать «сигнал» для 1250мВ, ближайшее значение «сигнала» для 1260мВ = 155
г) переводим 155 назад в шестнадцатеричный вид = 9B
д) исправляем третью строчку, вместо 77(119) ставим 9B(155)
е) сохраняем исправление. ВСЁ можно прошивать модифицированный BIOS.
Собственно и весь способ. Исправляя всего один байт, мы можем управлять напряжением на GPU для 3D режима. Пусть и с шагом в 30мВ. Возможно, для меньшей дискретности вам поможет следующие пары VID и «сигналов»  из BIOS 7970 GHz: 1200мВ=143, 1163мВ=137,  1131мВ=132, 1094мВ=126. А также пары из BIOS 7950: 1090мВ=126, 1030мВ=116, 990мВ= 110, 960мВ=105.
 
P.S.  важные дополнения:
1) если у вас карта на ядре Tahiti с дополнительным режимом Boost, то вам придётся менять уже 2 таблицы, по аналогии с таблицей для режима 3D, в её BIOS существует таблица для режима Boost которая редактируется по такому же принципу. Чтобы найти продолжайте двигаться к началу файла после окончания таблицы 3D с тем же шагом в 6 байт. К сожалению конретной HEX-строки для её поиска выявить не удалось.
2) Способ подходит для всей седьмой серии (с ограничениями на референс дизайн). Для HD 7770/7750 ищите 28 00 03 01 для HD 7850/7870 ищите  4C 00 03 01
 
Спасибо We1der за помощь в написании этого пособия и испытание его на своей  Sapphire Radeon HD 7970 Dual-X OC Edition


 


© D e N

24 комментария
Я всё искал RBE, а его больше не выпускают - не так то интересно написано, только вот я не совсем понял 1260мВ это по простому 1,26 V?
YouRCurSe, конечно будет не интересно написано, если ты задаешь такой вопрос.
Все сказанное в заметке действительно работает.
Скажу больше, гляньте на скрин и найдите отличия
http://www.abload.de/image.php?img=-1iey1a.jpg
Стабильный разгон при помощи ССС.
Отличное пособие, спасибо. Ещё бы умельцы выяснили, где устанавливается частота ядра и памяти а также напряжение памяти и будет идеально. Можно даже будет написать простенькую программку, редактирующую биос на дельфях хотя бы.
способ задания частот уже несколько лет не менялись и не однократно описывались, так что не стал плагиатить зазря, м.б. позже ещё напишу.
Спасибо. Толково, внятно и полезно. Отличная работа.
В смысле интересно написано:) Забыл поставить запятую после не, великий разговорный русский язык.
Спасибо за подробный мануал! Вопрос - возможно ли так же на 7850 править пределы PowerLimit? И если да, то как? Чисто из принципа хотелось бы его расширить, чтобы одним ограничивающим разгон звеном стало меньше.
ищи 00 00 14 00 4B 00 04 и меняй 14 на 32, смениться должно с +20% до +50%
Спасибо огромное! Поправил биос своей powercolor 7850 1gb, вначале правда помучался в винфлеш/атифлеш, пока не вспомнил про ключ -f :) Все ловил ошибки о кривом образе.
ИМХО, стоит добавить этот момент в мануал:)
*Про PowerLimit всмысле, а не прошивку.

Заодно сразу спрошу - возможно ли расширять пределы частот? Чтобы не было потребности делать это софтом. Итальянский оригинал читал (пытался), но даже с гугл транслейтом ниасилил..
предел частот тоже можно, но не на любые а на определённые значения.
для 78*0 ещё не знаю как, но для 77*0 и 79*0 знаю, позже склепаю статейку
На XFX 7950 Core Edition (референс плата) таблица из 6 строк состоит. Для ASIC менее 70,9 % поправил до 1270 напругу от 1090. Мож кому полезно будет
Hex
VID VRM Zero ASIC
(mV) Code byte (%)
f604 9c 00 c502
0604 74 00 0103
de03 6e 00 2c03
d403 6c 00 4d03
ac03 66 00 6803
ac03 66 00 ff03

Dec
VID VRM Zero ASIC
(mV) Code byte (%)
1270 156 00 70,9 %
1030 116 00 76,9 %
990 110 00 81.2 %
980 108 00 84,5 %
940 102 00 87,2 %
940 102 00 102,3 %
+ вопрос для test2013, если установить напругу 1310 к примеру, будет она таковой являться, или может быть какие ограничения стоят в биосе на предел в 1300?
datasheet на референсный vrm я так и не нашёл, так что теоретически макс сигнал 255, а скока в вольтах считать надо + возможно ещё раньше кончится реальный рост напряга
Спасибо автору, отредактировал вольтаж в бусте 7870 Myst Edition, оч доволен :)
Здравствуйте народ помогие пожалуста отредактировать биос от 7870 msi кто поможет отблагадорю!!! лавэхой мне надо через хекс редактор поднять напрежение через vbe7 поднимал уже но наткнулся на 1.4 00 и все дальше нехочет поднимать мне интересует через хекс редактор выше поднять охлаждение водянка
выше только сложным способом people.overclockers.ru/test2013/17509/Upravlyaem_napryazheniem_videokart_AMD_HD_7_serii_cherez_redaktirovanie_BIOS_2/

но если vbe уже до 1.4 позволяет о должно быть легче
Привет уважаемый test2013 помоги пожалуста попробывать поднять напрежение свыше 1.4 на ядре через хекс редактор я в нём нешарю в этих значениях даже лезть туда нехочу я мог бы скинуть тебе на мыло биос свой если получится отблагодорю тебя 200 300 р кину тебе за работу!!!
кидай в ЛС на форуме forums.overclockers.ru/memberlist.php?mode=viewprofile&u=30402

или здесь ссылку оставь где скачать.
Мой Скайп если что Alexxx069069 зайди с какой нибуть учетки левой или своей скину по скайпу да и так еще если какие нибуть вопросы возникнут напишеш в скайп!!! да и так сразу бы показал по демострации как сейчас сделанно может вообще нестоит того скажеш P.S добавляйся я сразу тебя авторизирую в скайпе
hd7850overV
вопрос то в чём?
Надо добавить 50 мВольт к напряжению ядра никакие программы не добавляют
мало того напряжение ядра всегда 980 мВольт вне зависимости от режима
Кто-нибудь знает, как увеличить напряжение для 2-D режима?

Одно время были черные/полосатые «экраны смерти». Потом после колдовства
с настройками CCC вроде прошло. Но хотелось бы более правильного решения.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.