Хак турбобуста на китайских платах LGA2011-3

С помощью этой статьи вы сможете быстро модифицировать биос и применить хак турбо-буста для китайских плат на сокете 2011-3. Не смотря на объём информации, весь процесс занимает 15-20 минут, если следовать инструкции. Если Вы лучше воспринимаете информацию в видео-формате, то в самом низу страницы находятся видео-инструкции.

А что это даст?

Блокировка позволяет зафиксировать максимальную частоту турбо-буста, но не на 1-2 ядра, как это было задумано Intel, а на все ядра. В зависимости от модели процессора, прирост может быть вполне внушительным.

Существует также способ добавления анлока ТБ прямо в биос платы. Этот метод имеет некоторые преимущества (например, анлок не будет слетать при с смене ОС или компонентов ПК). Узнать о нём больше можно здесь и вот тут (наиболее актуальный способ).

Как обычно, все действия выполняются исключительно на свой страх и риск. 

Подготовка

  1. Убедитесь, что используете подходящий процессор (Haswell степпинга pre-QS и выше). Подробнее о степпингах здесь
  2. Операционная система обязательно должна быть установлена в режиме UEFI
  3. Потребуется дамп биоса (для большинства китайских плат снять и прошить его можно через FPT прямо в Windows) или уже готовый биос с вырезанным микрокодом
  4. Убедитесь, что система охлаждения выдержит увеличившуюся после применения хака температуру
  5. И еще нам понадобится USB-флешка

Модифицируем биос

Если вы скачали уже модифицированный биос — пропустите этот пункт.

Весь процесс модификации заключается в удалении из биоса микрокодов для процессоров Haswell, а именно 306F2. Для этого мы будем использовать заранее подготовленную утилиту MMtool, скачать которую можно внизу страницы.

Предложенный ранее способ удаления микрокода через UBU всё так же актуален, но менее удобен, поэтому перенесен под спойлер.

  • Скачиваем и распаковываем архив с MMtool
  • Запускаем программу, нажимаем «Load Image» и открываем наш ранее снятый дамп1-300x267
  • Переходим на вкладку «Cpu Patch» и видим список микрокодов
  • Смотрим на столбец «Cpu ID», нам нужен 06F2, выделяем его3-300x267
  • Ставим галочку напротив «Delete a patch data», затем жмём «Apply» и подтверждаем удаление
  • Сохраняем наш биос кнопкой «Save imege as...»
Альтернативный вариант - использование UBU
  • Скачиваем и распаковываем архив с UBU 1.76
  • В папку с UBU копируем наш заранее снятый дамп и переименовываем его в bios.bin или bios.rom
  • Запускаем UBU.bat и ждем, пока программа просканирует наш дамп1-1-300x157
  • Нажимаем любую клавишу и попадаем в меню, нам нужен пункт 5 «CPU mircocode», переходим в него3-300x157
  • Видим табличку с загруженными в биос микрокодами, обращаем внимание на наличие 306F24-300x157
  • Нажимаем V и перед нами открывается текстовый документ со списком микрокодов, прокручиваем до секции 2011-3 и проверяем, что перед кодом 306F2 стоит решетка. Это значит, что при обновлении, данный микрокод записан не будет. Закрываем документ.5-300x158
  • Возвращаемся в UBU и нажимаем F. После небольшой паузы программа перерисует табличку, но микрокода 306F2 в ней быть уже не должно.6-300x157
  • Нажимаем R и программа переписывает необходимые файлы, после чего возвращает нас в прошлое меню. Нажимаем 0 для перехода в основное меню.
  • Снова нажимаем 0, затем 1, чтобы сохранить наш дамп под именем mod_bios7-300x157
  • Всё готово, в папке с программой лежит наш биос с вырезанным микрокодом

Прошиваем мод-биос

Выполняем прошивку с помощью софта, которым снимали дамп. Если всё прошло удачно, сбрасываем биос на стандартные настройки.

Как правило, большинство китайских плат можно прошить одним из следующих способов:

  • Прошивка из под Windows: скачиваем FPTW 9.1.10, открываем командную строку (от администратора) и прошиваем биос командой fptw64 -bios -f bios.bin. Где bios.bin (или ROM) — модифицированный биос, который нужно скопировать в папку с fpt. Само собой, в командной строке нужно сначала перейти в папку с fpt командой cd
  • Традиционный метод — FPT с загрузочной флешки
  • С помощью загрузочной флешки можно прошиться через Afudos
  • Еще один вариант прошивки из под Windows — Afuwin
  • Самый надежный способ — программатор.

Предотвращаем зависания и синие экраны

До установки EFI-драйвера (или в случае изменения конфигурации) система может вести себя нестабильно, зависать или выпадать в синий экран.

Чтобы этого избежать идём в биос по пути IntelRCSetup > Advanced Power Management Configuration и параметр Power Technology переводим в положение Disable. После успешной установки драйвера EFI и драйверов Vmware следует перевести данный пункт в положение Custom или Energy Efficient.

power_technology-300x131

В некоторых случаях чтобы предотвратить зависания может потребоваться еще одна настройка. Всё в том же меню Advanced Power Management Configuration находим подменю CPU C State Control, а в нем параметр CPU C6 Report и переводим его в положение Disable.P_state-300x118

Подготавливаем флешку

Подойдет любая usb-флешка, большой размер не нужен. Рекомендуется подключать её в порт USB 2.0.

diskpart-300x160

Очищаем и форматируем флешку:

  1. Запускаем командную строку от имени администратора
  2. Запускаем diskpart
  3. Смотрим список дисков — list disk
  4. Выбираем нужный (определить можно по размеру) — select disk <номер диска>
  5. Делаем clean
  6. Выполняем convert gpt
  7. Выходим – exit
  8. Командную строку можно закрыть
Альтернативный вариант - использование Rufus

Скачиваем Rufus. Запускаем, форматируем флешку с такими параметрами:

rufus-209x300

На флешку копируем содержимое архива EFI (качаем тоже внизу данной страницы).

Устанавливаем драйвер V3.EFI

mapping-table-300x137

  1. Перезагружаемся и в качестве загрузочного устройства выбираем нашу флешку с префиксом UEFI.
  2. После того, как загрузится оболочка, появится сообщение «Press ESC in 5 seconds to skip startup.nsh or any other key to continue». Нажимаем ESC.
  3. Смотрим на Mapping Table и определяем, как смонтировалась наша флешка и диск, на котором установлена ОС. На скриншоте видно, что в данном случае, флешка смонтировалась как FS0, а диск как FS1. Чтобы избежать путаницы можно временно отключить все не системные накопители.
  4. Мы можем протестировать V3.EFI командой load fs0:\V3.EFI. Если всё хорошо (V3 — All Turbo Set), то нужно скопировать драйвер в системный раздел cp fs0:\V3.EFI fs1:\EFI\BOOT и добавить его в загрузку bcfg driver add 0 fs1:\EFI\BOOT\V3.EFI «V3 Full Turbo».
  5. Вводим команду exit и загружаемся обратно в Windows.

В случае изменения конфигурации системы или прошивки другой версии bios, драйвер может слететь. В таком случае придется установить его заново.

После загрузки Windows

Для Windows 7 и 8.1 (включая серверные варианты) обязательно требуется удалить обновление KB3064209.

Для Windows 10 требуется удалить (или переименовать расширение) файла mcupdate_GenuineIntel.dll в папке System32.

Устанавливаем драйверы VMWARE

drv_update-210x300

Внизу этой страницы скачиваем архив cpumcupdate, распаковываем и запускаем install.bat от имени администратора. Драйверы установлены, перезагружаемся.

Проверяем

Для проверки можно использовать программу HwInfo, которая показывает частоты для каждого ядра. Параллельно можно запустить какой-либо бенчмарк или стресс-тест (например cpu-z), чтобы нагрузить процессор.

hwinfo

Если всё прошло удачно — частота каждого ядра будет равна максимальному значению турбо-буста процессора.

Почему может сбрасываться частота в нагрузке и как этого избежать

При сильной нагрузке процессор может понижать частоту ядер. Происходит это для того, чтобы уложиться в лимит TDP. На практике это значит, что получить максимальную частоту по всем ядрам в рендере, стресс-тестах и других аналогичных задачах для некоторых процессоров не получится. В менее ресурсоёмких приложениях (в том числе играх) частота, как правило, не сбрасывается.

Есть несколько вариантов решения данной проблемы.

Отключение гипер-трединга или нескольких ядер

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

Разрешаем процессору на некоторое время превышать лимит TDP

Возможность небольшого выхода за пределы лимита заложена самой Intel. Для её активации идём в биос по пути IntelRCSetup > Advanced Power Management Configuration > Socket RAPL Config и выставляем настройки как на скриншоте.

pwr_limit-300x151

Здесь нас наиболее интересуют параметры Long Dur Pwr Limit — значение, до которого будет расширен лимит TDP (макс — 255) и Long Dur Time Window — время в секундах, на которое он будет расширен (макс — 56).

__________________________

Не во всех биосах китайских плат открыто меню с данными настройками. Открыть его можно с помощью программы AmiBCP. Пошаговые действия (на примере биоса от платы Huananzhi x99-tf):

  • Открываем дамп нашего биоса в AmiBCP
  • Переходим на вкладку Setup Configuration
  • Разворачиваем IntelRCSetup и выделяем пункт Advanced Power Management Configuration
  • В таблице находим пункт Socket RAPL Config и значение Access\Use меняем на USERpwr_limit_bios_unlock_1-300x207
  • Выделяем пункт Socket RAPL Config и во второй строке с одноименным названием также меняем значение на USERpwr_limit_bios_unlock_2-300x206
  • Сохраняем дамп (File — Save as...) и прошиваем. После этого заходим в биос и проверяем наличие открытого меню.

Использование EFI драйвера с пониженным напряжением

Остановимся подробнее на этом пункте. Помимо стандартного драйвера, существуют и немного модифицированные версии, в которых понижено напряжение, что позволит процессору удерживать в нагрузке более высокую частоту. Скачать архив с драйверами можно внизу страницы.

Каждый файл имеет название вроде «V3_MOF_705050.efi». Понимать его следует так: Core -70mv, Cache -50mv, System Agent -50mv. VCC у всех драйверов равен 1.82v.

Кстати, MOF — это никнейм пользователя с форума Anandtech, который и является автором данных драйверов (респект ему!).

Существуют и версии от других разработчиков. Любители экспериментов могут попробовать драйвера от freecableguy.

UPD: добавлены архивы с модифицированными версиями драйверов от MOF и драйверами от Freecableguy и Christian Peine.

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

Проверить работу каждой версии можно, не добавляя её сразу в автозагрузку:

load fs5:\V3_MOF_505050.efi (Загружаем драйвер, fs5 - usb флешка)
fs1:\EFI\Boot\bootx64 (Загружаем систему, fs1 - диск с Windows)

Необходимые файлы

    zip UBU_v1_76_0_1
    UBU_v1_76_0_1
    Размер файла: 51 MB Кол-во скачиваний: 6960

    zip cpumcupdate
    Драйверы VMWARE
    Размер файла: 271 KB Кол-во скачиваний: 5106

    zip EFI
    EFI
    Размер файла: 849 KB Кол-во скачиваний: 5176

    zip mmtool_a5
    MMtool
    Размер файла: 5 MB Кол-во скачиваний: 6691

    zip V3_MOF
    Драйверы с пониженным напряжением от MOF (EFI и FFS)
    Размер файла: 12 KB Кол-во скачиваний: 3480

    zip Modified_V3_MOF
    Модифицированные версии драйверов с пониженным напряжением от MOF ( только EFI). Как правило показывают более высокую производительность. 1.7V / 1.8V vccin, Powercut + ucode39
    Размер файла: 1 MB Кол-во скачиваний: 4735

    zip V3_freecableguy_rc9
    Драйверы с пониженным напряжением от Freecableguy (только EFI).
    Размер файла: 122 KB Кол-во скачиваний: 2233

    zip V3_Payne
    Драйверы от Christian Peine (EFI и FFS). Для односокетных и двухсокетных систем. С пониженным напряжением и без. Как правило медленнее версий от MOF и Freecableguy.
    Размер файла: 61 KB Кол-во скачиваний: 2121

    zip V3x2CPU
    EFI-драйвер для двухпроцессорных систем.
    Размер файла: 1 KB Кол-во скачиваний: 2920

Видео-инструкции