Разгоняем Radeon R7 240: теория и практика

На первый взгляд давно миновали те времена, когда разгон видеокарты был уделом энтузиастов. Но какие рабочие параметры кроме температуры графического процессора и напряжения питания влияют на частотный потенциал? Какие ограничения в плане разгона ставит производитель и есть ли возможность их обойти? Попробуем ответить на заданные вопросы, используя программные и аппаратные модификации.
12 мая 2016, четверг 21:00
RaySpb для раздела Лаборатория

Оглавление

Вступление

На первый взгляд давно миновали те времена, когда разгон графического ускорителя был уделом энтузиастов. Теперь существует множество программ-помощников – удобных утилит с широкими возможностями разгона.

Но достаточно ли обеспечиваемых ими возможностей, чтобы полностью раскрыть потенциал видеокарты? Какие рабочие параметры кроме температуры графического процессора и напряжения питания могут повлиять на частотный потенциал? Какие ограничения в плане разгона ставит производитель и есть ли возможность их обойти? На эти вопросы я постараюсь дать ответы на примере Radeon R7 240, используя программные и аппаратные модификации.

Видеокарта PowerColor Radeon R7 240

Для экспериментов была выбрана модель PowerColor Radeon R7 240 2 Гбайта (код производителя PowerColor AXR7 240 2GBK3-HV2E/OC).

Данная видеокарта собрана на печатной плате, аналогичной Radeon R7 250, и спроектирована под двухфазный преобразователь питания графического процессора, однако для R7 240 распаяна только одна фаза.

В ходе своих исследований я планирую вернуть вторую фазу на место и проверить эффективность такой модификации.

Использована полноразмерная печатная плата со всеми ее особенностями, в том числе стандартным расположением отверстий для крепления кулера. Благодаря последнему моменту можно установить стороннюю систему охлаждения без каких-либо ухищрений.

Применение медленной DDR3 памяти вместо быстрой GDDR5 является серьезным недостатком, но на момент покупки версии Radeon R7 240 с GDDR5 и печатной платой под двухфазное питание в продаже отсутствовали. Поэтому для исследовательских целей была выбрана данная модель.

Сведем краткие характеристики устройства в таблицу.

Графический процессор Oland 320 шейдерных конвейеров, 8 ROP, 20 TMU
Частота GPU 750 МГц, 800 МГц в режиме Boost;
напряжение для режима 3D 1.15 В
Микросхемы памяти Elixir N2CB2G16HP-DI, 800 (1600 DDR3) МГц;
рабочее напряжение 1.8 В

Примечательно, что частота памяти на данной видеокарте на 100 (200) МГц ниже рекомендованной компанией AMD.

Проверка видеокарты в стандартном режиме работы

Прежде чем перейти к разгону, я диагностировал работу преобразователя питания несколькими способами. Для начала был запущен тест Fire Strike из пакета 3DMark, а к питанию графического процессора по очереди подключались мультиметр UT61A и осциллограф-приставка Velleman pcs100.

Как уже упоминалось, стандартное для этого экземпляра Oland напряжение – 1.15 В, такое значение показывают диагностические утилиты, его подтверждает и UT61A. Но вот что мы видим, когда вместо мультиметра подключаем к нагрузке осциллограф.

Верхний снимок показывает, что среднее напряжение равно ~1.16 В. Небольшая погрешность в 0.01 В вызвана тем, что измеряющие маркеры осциллографа выставляются вручную с некоторым шагом, а не автоматически.

Здесь же мы наблюдаем пульсации, которые приходят на вход питания GPU, обратимся к нижнему снимку. По нему можно видеть, что пульсации повторяются с частотой примерно 300 КГц и обладают на данном участке амплитудой до 0.16 В, причем примерно 0.08 В приходится на пониженное относительно номинала напряжение. Штатными средствами осциллографа затруднительно замерить точную продолжительность перепада, но судя по шкале, оно в пределах 1 микросекунды (мкс).

Для нас это означает, что на протяжении 1 мкс графический процессор работает на пониженном напряжении 1.08 В, а это около 100 000 синхроимпульсов.

Многие уже поняли, откуда возникли эти пульсации с частотой 300 КГц, для остальных немного теории. С блока питания через слот PCI-E и через дополнительные разъемы на видеокарту приходит основное питающее напряжение 12 В, в нашем случае только через слот PСI-E. Задачу преобразовать его в рабочее напряжение 1.15 В выполняет ШИМ-контроллер и группа транзисторов Mosfet, работающая в ключевом режиме.

На рисунке приведена упрощенная схема однофазного преобразователя. Транзистор Т1 называется верхним плечом, Т2 – нижним плечом. Сток верхнего плеча подключен к напряжению 12 В, исток через LC фильтр подключен к нагрузке GPU и стоку транзисторов нижнего плеча. В нашем случае в нижнем плече два транзистора, они подключены параллельно друг другу и своими истоками подсоединены к земле.

В данной видеокарте ШИМ-контроллер через встроенный драйвер переключает мосфеты верхнего и нижнего плеча с частотой 300 КГц, причем делает это в противофазе – когда открыто верхнее плечо, то нижнее закрыто и наоборот. На приведенной осциллограмме мы видим работу верхнего плеча.

Через верхнее плечо с частотой 300 КГц на вход LC фильтра подаются импульсы с напряжением 12 В, шириной этих импульсов контроллер регулирует выходное напряжение. А на выходе LC фильтра, как мы видели, уже сглаженное напряжение 1.15 В, но, как оказывается, сглаженное не полностью. Отмечу, что на данной осциллограмме значение напряжения указано в десять раз меньше реального из за установленного множителя на щупах Velleman pcs100.

На основе проведенных замеров можно предположить, что при разгоне пульсации на выходе питания GPU (особенно участки с пониженным напряжением) могут ограничить разгонный потенциал. Самое время перейти к разгону.

Разгон Radeon R7 240

Для чистоты всех последующих экспериментов и с целью исключить ее влияние штатная система охлаждения сразу была заменена на кулер видеокарты Sapphire Radeon HD 5750 Vapor-X. Он основан на испарительной камере с закрепленным на ней алюминиевым оребрением и отлично справлялся с охлаждением графических процессоров с TDP 90 Вт. Такая конструкция с избытком подойдет для наших нужд.

Стандартными средствами разгона Catalyst удалось разогнать GPU до частоты примерно 980 МГц – почти до предела в 1000 МГц, заложенного производителем. На планке 980 МГц ускоритель не терял стабильности, а опускал частоту до 740 МГц, причем делал это независимо от положения ползунка Power Limit. Память разогнана до 1000 (2000 DDR3) МГц, ползунок Catalyst достиг своего предела.

Для увеличения пределов разгона можно использовать программу MSI Afterburner или отредактировать прошивку утилитой VBE7. Я предпочитаю использовать VBE7, поскольку она помимо всего прочего позволяет увеличить пределы Power Limit, однако в порядке эксперимента MSI Afterburner тоже был испробован.

К моему удивлению обе утилиты не помогли. Независимо от правок Power Limit графический ускоритель отказывался работать в режиме Boost, таким образом дальнейший разгон программным путем был невозможен, и я перешел к разгону через редактирование BIOS.

Идея подобного разгона проста. Режим 3D (#5) выставляется таким же, как и режим Boost (#0); таким образом, видеокарта хоть и не хочет работать в Boost, но прекрасно работает в разогнанном 3D.

Этими манипуляциями удалось достичь результата 1200 МГц по ядру при поднятии напряжения до 1.2 В, при штатном напряжении 1.15 В тест Fire Strike почти сразу вылетал.

Ручное редактирование BIOS

При значениях частоты GPU выше 1200 МГц частота памяти стала сбрасываться в стандартные 800 МГц, игнорируя положение ползунка разгона и параметры прошивки. Это неприемлемо, поскольку именно пропускная способность памяти является бутылочным горлышком данной модели, и стандартная частота памяти сводит на нет все результаты с разгоном GPU.

Экспериментальным путем было установлено, что ни один из параметров настройки в VBE7 не может повлиять на ситуацию. Единственным шансом стало ручное редактирование прошивки в HEX редакторе. Я не могу привести алгоритм поиска нужного значения – его кратко можно охарактеризовать как «метод проб и ошибок», очень много проб и ошибок.

Выяснилось, что по HEX смещению А980 нужно записать значения A086 в байты 2,3 и в байты с,d – это для частоты памяти 1000 МГц. Предел для моего экземпляра – 1040 (2080) МГц по памяти, этой частоте соответствует HEX значение 4096. После всех ручных правок ROM-файл нужно открыть и сохранить утилитой VBE7, она поправит контрольную сумму.

Модификации VRM

После проведенных манипуляций с прошивкой видеокарта получила разгон 1200 МГц по ядру при напряжении 1.2 В и 1040 МГц по памяти, напряжение 1.8 В. На этом этапе я решил вернуться к работе VRM, чтобы внести несколько изменений в его конструкцию и посмотреть, как это повлияет на результат разгона.

Питание GPU обеспечивает ШИМ-контроллер APW7098, работающий в однофазном режиме. Ключ в единственной фазе построен на одном Mosfet SM4377NSKP в верхнем плече и двух SM4373NSKP в нижнем плече.

Первой и простейшей модификацией стала установка электролитических и smd-керамических конденсаторов в выходной LC фильтр. Суммарная емкость составила 3280 мкФ против изначальных 1640 мкФ. Такое улучшение если и повлияло на форму выходного напряжения, то очень незначительно.

Вторым шагом я переделал однофазную VRM в двухфазную, об этом расскажу подробнее. Документация на ШИМ APW7098 находится в широком доступе, из нее мы узнаем, что режим работы контроллера настраивается подключением pin 5 "Mode" к одному из логических уровней: при подключении к земле устанавливается двухфазный режим, при подключении к напряжению выше 0.8 В – однофазный. Для переключения режима понадобилось найти и перепаять всего один резистор.

Вместо стандартных транзисторов в обе фазы были распаяны Mosfet MDU2653 в нижние и MDU2657 в верхние плечи двух фаз. Были установлены две новые индуктивности в LC фильтр, кроме того нужно припаять три резистора-перемычки для соединения затворов Mosfet с драйвером ШИМ-контроллера. Благо на печатной плате предусмотрены места для монтажа всего перечисленного. На снимке выше представлено, как выглядит VRM после переделки.

После данных модификаций проведем замеры. Такой стала осциллограмма при шкале 1 мкс.

Пульсации не исчезли, но стали менее выраженными, повторяясь с частотой 600 кГц в результате попеременной работы первой и второй фаз питания. Маркер напряжения на данной осциллограмме не несет информации; к сожалению, его нельзя отключить отдельно от временного маркера.

Представлю еще два замера, но в крупном временном масштабе, со шкалой 0.1 мс:

При такой шкале мы можем наблюдать сотни переключений транзисторов, а не единицы, как при шкале 1 мкс, что позволяет увидеть поведение VRM на большем отрезке времени.

Оба изображения сняты при напряжении питания 1.15 В и частоте ядра 1200 МГц. Верхнее изображение получено с одной работающей фазой VRM за доли секунды до зависания теста FireStrike, второе – c двухфазным питанием во время успешного прохождения теста. Всё верно – двухфазный VRM позволил нам добиться стабильного прохождения теста там, где однофазный не смог при прочих равных условиях.

К сожалению, статическое изображение недостаточно ярко показывает разницу, но в динамике напряжение на однофазном VRM скачет как безумное. Причем проявляться это стало именно при большом разгоне.

Тестовый стенд

  • Процессор: Intel Core i3-3220 3.2 ГГц;
  • Материнская плата: Gigabyte GA P75-D3;
  • Оперативная память: 16 Гбайт DDR3 1600 МГц;
  • Жесткий диск: Hitachi HDS721050CLA362 500 Гбайт, 7200 об/мин.

Методика и ПО

После модификации системы питания я остановился на значениях разгона 1300 МГц по ядру при напряжении 1.25 В. Частота памяти составила 1040 (2080) МГц при напряжении 1.8 В. Стоит отметить, что проведенный мною хардвольтмод памяти результатов не дал, поэтому в данной статье о нем не упоминается. Кроме того, для эксперимента видеокарта прошивалась в Radeon R7 250, но безрезультатно. После прошивки она продолжила работать, но конфигурация шейдерных конвейеров не изменилась.

Пришло время проверить видеокарту в реальных приложениях и бенчмарках. 3DMark запускался с настройками по умолчанию. Игровые приложения запускались в разрешении 1920 x 1080 точек. Настройки для каждого приложения приведены ниже. Параметры видеокарты контролировались утилитой GPU-Z, температура GPU не превышала 50°C градусов.

Настройки приложений:

  • 3DMark Fire Strike: настройки по умолчанию;
  • 3DMark Cloud Gate: настройки по умолчанию;
  • Tomb Raider (2013): низкие настройки – preset min, визуальные эффекты откл., Vsync откл.;
  • Tomb Raider (2013): ручные настройки – preset high, визуальные эффекты вкл., Vsync откл.;
  • Mafia 2: низкие настройки – preset min, сглаживание откл., Vsync откл., APEX откл.;
  • Mafia 2: ручные настройки – preset high, сглаживание откл., Vsync откл., APEX откл.;
  • Hitman Absolution: низкие настройки – preset самые низкие, сглаживание откл., Vsync откл.;
  • Hitman Absolution: ручные настройки - Preset средние, сглаживание откл, vsync откл.
  • Bioshock Infinite: Preset 8 - настройки бенчмарка по умолчанию, Preset 8
  • Bioshock Infinite: Preset 5 - настройки бенчмарка по умолчанию. Preset 5
  • Resident Evil 6: низкие настройки - preset min, сглаживание откл, vsync откл.

Результаты тестирования

3DMark FireStrike

Баллы

3DMark Cloud Gate

Баллы

Tomb Raider (2013)

Низкие настройки
Кадры/с
Мин.| Средн.

Tomb Raider (2013)

Ручные настройки
Кадры/с
Мин.| Средн.

Mafia 2

Низкие настройки
Кадры/с
Средн.

Mafia 2

Ручные настройки
Кадры/с
Средн.

Hitman Absolution

Низкие настройки
Кадры/с
Мин.| Средн.

Hitman Absolution

Ручные настройки
Кадры/с
Мин.| Средн.

Bioshock Infinite

Низкие настройки
Кадры/с
Мин.| Средн.

Bioshock Infinite

Ручные настройки
Кадры/с
Мин.| Средн.

Resident Evil 6

Баллы

Отдельно отмечу, что при тестировании память в штатном режиме работала на рекомендованной AMD частоте 900 (1800) МГц, а не установленной производителем PowerColor 800 (1600) МГц.

Заключение

По итогам проведенной работы самыми эффективными твиками стали ручное редактирование BIOS и переделка VRM в двухфазное. Редактирование ROM файла сняло установленную зависимость частоты работы памяти от разгона GPU. А мод VRM ощутимо сгладил пульсации выходного напряжения, и что очень важно – практически удвоил максимальную выходную мощность преобразователя напряжения. При небольшом поднятии напряжения удалось разогнать графическое ядро до приличных 1300 МГц.

К сожалению, слабая подсистема памяти не позволила получить пропорциональный прирост производительности. Стоит отметить что на данный момент в продаже уже есть модели Radeon R7 240 с памятью GDDR5 и двухфазным питанием, и было бы любопытно проверить их на практике.

Андрей Высоцкий aka RaySpb


За кадром