Управляем напряжением видеокарт 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

Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал
рейтинг: 1.8 из 5
голосов: 5

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают