Обновление микрокода процессора intel windows 10. Хак BIOS. Добавляем CPU ID. Сведения об этом обновлении

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

Обновления прошивок BIOS/UEFI вашей материнской платы обычно содержат новые версии микрокодов для поддерживаемых материнской платой центральных процессоров. По этой причине в первую очередь следует убедиться в том, что используется новейшая версия BIOS/UEFI.

Данное руководство позволяет оптимизировать работу лишь тех центральных процессоров, которые были разработаны компаниями Intel и AMD.

Примечания:

  • Установка пакета программного обеспечения с микрокодами может привести к нестабильной работе компьютера. По этой причине следует устанавливать данный пакет лишь тогда, когда наблюдаются какие-либо проблемы, связанные с функционированием центрального процессора вашего компьютера!
  • Не устанавливайте пакет программного обеспечения с микрокодами центральных процессоров в том случае, если он выпущен раньше, чем прошивка BIOS/UEFI материнской платы вашего компьютера!

1. Центральные процессоры производства компании Intel

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

Примечание: вам нужен пакет программного обеспечения с микрокодами центральных процессоров производства компании Intel, более новый, чем тот, что находится в официальном репозитории дистрибутива? В этом случае вы можете загрузить файл пакета программного обеспечения с расширением .deb из

Менеджер пакетов Synaptic Software

Менеджер пакетов Synaptic «Поиск на компьютере» ), ввести запрос «Synaptic» «Менеджер пакетов Synaptic» Менеджера пакетов Synaptic «Поиск» «microcode» и нажать кнопку «Поиск» рядом с ним.

3.201501106.1 (в данном случае версия 3 пакета была создана 6 ноября 2015 года).

« intel-microcode» и нажать кнопку «Применить»

dmesg | grep microcode

Enter

2. Центральные процессоры производства компании AMD

В случае использования процессоров производства компании AMD данное руководство будет актуально лишь для тех из них, которые были выпущены после 2006 года (AMD K10 и более новые). Если в вашем компьютере установлен один из таких центральных процессоров, вы можете действовать описанным ниже образом.

Примечание: вам нужен пакет программного обеспечения с микрокодами центральных процессоров производства компании AMD, более новый, чем тот, что находится в официальном репозитории дистрибутива? В этом случае вы можете загрузить файл пакета программного обеспечения с расширением .deb из репозитория дистрибутива Debian , в который помещаются пакеты новейших версий. После окончания загрузки файла пакета следует найти его с помощью менеджера файлов и использовать двойной клик для установки микрокодов в систему. По окончании установки необходимо перезагрузить компьютер.

A. В случае использования дистрибутива Ubuntu вам придется установить Менеджер пакетов Synaptic (это можно сделать с помощью приложения Software ). В Linux Mint данный менеджер пакетов присутствует сразу же после установки.

B. В первую очередь следует запустить Менеджер пакетов Synaptic . В дистрибутиве Ubuntu для этой цели следует нажать на белый логотип Ubuntu в верхней части боковой панели («Поиск на компьютере» ), ввести запрос «Synaptic» и выбрать первый из предложенных вариантов приложений «Менеджер пакетов Synaptic» . Не нужно использовать поле быстрого поиска пакетов программного обеспечения главного окна Менеджера пакетов Synaptic , так как соответствующий механизм ненадежен; вместо этого следует нажать кнопку «Поиск» на панели инструментов, в поле поиска открывшегося диалогового окна ввести запрос «amd64-microcode» и нажать кнопку «Поиск» рядом с ним.

C. Теперь следует проверить дату создания пакета программного обеспечения с микрокодами центральных процессоров: этот пакет должен быть создан позднее, чем прошивка BIOS/UEFI материнской платы вашего компьютера! Дата создания рассматриваемого пакета отражена в его номере версии, например 2.20160316.1 (в данном случае версия 2 пакета была создана 2 марта 2016 года).

D. Пришло время установить флажок напротив названия пакета программного обеспечения «amd64-microcode» и нажать кнопку «Применить» на панели инструментов приложения.

E. После завершения установки пакета программного обеспечения нужно перезагрузить компьютер.

F. После перезагрузки стоит проверить корректность загрузки одного из установленных микрокодов путем ввода следующей команды в окне терминала (используйте функции копирования/вставки для того, чтобы избежать ошибок):

dmesg | grep microcode

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

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

Приобретённый на Алиэкспрессе в материнскую плату Intel DG965SS (с разъёмом LGA775). Можно конечно и самому переделать LGA771 в LGA775, но при цене в $6,5 долларов за процессор гораздо проще взять его и китайцев.

При использовании Intel Xeon 5320 операционная система Windows 10 заработала только при выключении в БИОСе режима "Core multiplexing" (в отличии от прекрасно работающей Ubuntu 17.10). При этом процессор работал только в однопоточном режиме, так что, согласно тесту CPU-Z, производительность в многопоточном режиме оказалась в 2 раза ниже, чем у Intel Core 2 duo E6300, на замену которому и покупался Xeon.

Оказалось, что микрокоды процессора должны быть обновлены. Можно сделать это и в программном режиме, причём в Ubuntu операция на голову проще, чем в Windows 10. Да и в последней нужно позаботиться о том, чтобы микрокоды обновлялись при каждой загрузке. Также есть возможность обновить микрокоды и в БИОСе, по крайней мере в некоторых BIOS от AWARD, AMI, Phoenix, особенно в версиях до UEFI.

Инструкций для материнских плат Intel намного меньше. И не удивительно. С Intel DG965SS пришлось очень прилично повозиться.

Перед обновлением микрокодов нужно установить процессор, поддержку которого мы хотим обеспечить. Если потребуется установить другой процессор, то процедуру придётся повторить.

Некоторые инструкции предлагают создать загрузочную дискету, т.к. не все компьютеры позволяют загружаться в флешки. Я сделал загрузочную флешку с FreeDOS при помощи бесплатного приложения с открытым исходным кодом Rufus (для этого нужно отметить галочкой "Create a bootable disk using" и выбрать из списка пункт "FreeDOS").

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

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

В качестве компромисного я выбрал следующее решение — берем последние версии микрокодов для всех процессоров поколения CORE во всех конструктивах (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) и подменяем ими всё что было до того. Набор микрокодов получился следующий:

Объём этого набора — всего 76 килобайт. Данный файл получился путём объединения этих файлов:

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

Сама процедура модификации тоже немного изменилась и стала если не проще, то быстрее:

Шаг 1 — открываем образ BIOS в программе MMTool:



Шаг 2 — для проверки переходим на последнюю вкладку (CPU PATCH) и смотрим количество микрокодов. Здесь их к примеру 31 штука:

Шаг 3 — переходим на вкладку Replace и ищем на ней пункт «P6 Micro Code»:

Шаг 4 — выбрав пункт «P6 Micro Code» жмём кнопку Икщцыу, выбираем файл ncpucode.bin, описанный выше и заменяем его кнопкой Replace:





Шаг 5 — для проверки переходим на последнюю вкладку (CPU PATCH) и смотрим количество микрокодов. После подмены микрокодов осталось 17, версия самая последняя:

Фундаментальной разницы с порядком модификации, описанным на delidded.com нет. В большинстве случаев на выходе получается конечно не то же самое, но процессор получает нужный микрокод. Из субъективных положительных моментов я хотел бы обратить внимание лишь на то, что гарантированно обновляются микрокоды на все актуальные процессоры, будь то «гражданские» или «серверные», а так же практически нет риска получить сообщение о нехватке места. Хотя, в моей практике даже на такой набор микрокодов пару раз места не хватало, это было с BIOS для плат ECS P4M900T-M и ECS P4M900T-M2, которые в общем совместимы с Xeon E5450.

По традиции публикую ссылку на архив с инструментами — (zip, 234KB). Архив содержит исполняемый файл MMTOL.exe (версия 3.22 BKMOD), файл с микрокодами на все 45/65nm процессоры поколения core/xeon ncpucode.bin , а так же два файла 45nm.bin и 65nm.bin с микрокодами только на 45nm процессоры и только на 65нм. Использование этих файлов может быть полезным в тех случаях когда необходимо освободить дополнительный объём в BIOS, например, для новой firmware какого-то контроллера, сетевого, дискового и пр.

!NB : Ни в файле ncpucode.bin, ни в файлах 45nm.bin/65nm.bin нет поддержки процессоров Pentium 4, Celeron (без буквенных индексов), Pentium D, Celeron D и Xeon W (Xeon 5080 например). Это процессоры поколения NetBrust.

Здравствуйте дорогие друзья, с вами Артём.

Ещё в январе этого года появились сообщения о новых аппаратных уязвимостях в процессорах Intel и AMD.

Не так давно вышли обновления микрокода для процессоров Intel (ревизия 84), и я решил проверить как же обстоят дела на практике.

Хотя информация уже всем давно известна, я всё-таки расскажу короткую предысторию.

Аппаратные уязвимости процессоров получили названия Meltdown и Spectre, а выявили их исследователи из группы Google Project Zero.

Spectre имеет два варианта атаки под кодовыми именами CVE-2017-5753 и CVE-2017-5715.

Meltdown имеет один вариант атаки под кодовым именем CVE-2017-5754.

P . S . CVE это сокращение от английского «Common Vulnerabilities and Exposures » – база данных общеизвестных уязвимостей информационной безопасности.

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

Причём легче всего на практике эксплуатировать именно Meltdown, которому подвержены все современные процессоры Intel.

Для того, чтобы избавиться от Meltdown требуется обновить микрокод процессора или пропатчить ядро операционной системы.

Spectre же более сложно воплотить в реальность, однако для устранения уязвимости требуется в отдельности латать каждую используемую вами программу.

Чипы от AMD в меньшей степени подвержены уязвимости типа Meltdown (хотя изначально утверждалось, что не подвержены вовсе).

Вредоносный код этого типа работает на них крайне медленно, но всё же работает.

Уязвимости типа Spectre подвержены процессоры и AMD, и Intel, тут уже без вариантов.

Этим же уязвимостям подвержены и процессоры с ARM архитектурой, однако сейчас речь пойдёт только о компьютерах с процессорами семейства x86-64.

P . S . Исследования в области безопасности никогда не останавливаются и всегда может появится что то ещё, в том числе и в процессорах AMD и Intel.

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

Выявились новые варианты реализации уязвимости Spectre, которые получили кодовые имена CVE-2018-3640 (так называемый вариант атаки 3a) и CVE-2018-3639 (вариант атаки 4).

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

Однако от последнего варианта атаки CVE-2018-3639 потребуется ещё и обновить микрокод процессора на чипах Intel, что возможно несколько снизит производительность.

В AMD утверждают, что, чипам компании не потребуется новый микрокод от указанных атак, и всё обойдётся обычными патчами Windows и другого софта.

Указанные уязвимости имеют низкий приоритет опасности для обычных домашних компьютеров.

Так как новых обновлений пока нет, я сосредоточусь на изначальной теме своего видео.

Речь пойдёт о микрокоде процессоров Intel, но микрокод пока что другой и не исправляет вариант атаки Spectre 4.

Если вы используете операционные системы семейства Windows, то вам будут полезны эти ссылки:

Тут вы сможете найти все актуальные патчи (и их имена), которые исправляют уязвимости этой группы.

Например самая первая заплатка для Windows 10 вышла 3 Января 2018 года под именем KB4056892 .

Однако существовала проблема в том, что программные исправления Meltdown снижали производительность систем на базе процессоров Intel.

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

Однако теперь с выходом новых версий прошивок для материнских плат мне стало интересно как же обстоят дела в этой сфере.

Я использую материнскую плату ASRock Z370 Gaming K6 и соответственно обращаюсь к официальному сайту производителя, для скачивания свежего BIOS.

Обновлённый микрокод для процессоров Intel появился в BIOS версии 1.60, которая вышла в 2 марта 2018 года.

Я же буду ставить ещё более свежую версию BIOS версии 1.80, которая увидела свет 26 марта 2018 года.

Для начала мне интересно протестировать исправления, касающиеся микрокода процессора, без дополнительных программных заплаток.

В качестве операционной системы используется Windows 10 версии 16299.371 без дополнительных установленных патчей от аппаратных уязвимостей Meltdown и Spectre.

P . S . Все сделанные выводы будут касаться только новых процессоров Intel, потому как для старых материнских плат новые версии BIOS вряд ли появятся.

Если вам будет интересно, то можно сделать тесты с программными заплатками и на более старых процессорах Intel.

Полная конфигурация моего компьютера:

Процессор : Intel Core i5 8600K.

Кулер процессора : Arctic Cooling Liquid Freezer 240.

Материнская плата : ASRock Fatal1ty Z370 Gaming K6.

Оперативная память : GoodRam Iridium DDR4 2400 МГц (2×8 Гб IR-2400D464L15S/8G).

Видеокарта : Asus Dual GTX 1060 6 Гб (DUAL-GTX1060-O6G).

Накопители : Sata-3 SSD Plextor M5S и Sata-3 HDD Seagate 1 Тб (ST1000DM003).

Корпус : Fractal Design Define R5.

Блок питания : Fractal Design Edison M 750 Ватт.

Первый тест - это производительность кешей центрального процессора и оперативной памяти в Aida 64 Cache & Memory Benchmark .

Как вы видите, каких-то существенных отличий в работе подсистемы оперативной памяти и кешей процессора нет.

Следующий тест коснётся работы дисковой подсистемы.

К сожалению, у меня нет скоростного M.2 SSD накопителя, поэтому тестировать я буду свой Plextor M5S на обычном SATA-3.

В итоге в тесте ATTO Disk Benchmark получаются практически идентичные результаты.

То же касается и показателей в тесте CrystalDiskMark 5.2.1.

Тест производительности в CrystalDiskMark и новый микрокод процессора Intel. Spectre и Meltdown

По крайней мере для SATA-3 падение производительности при операциях чтения и записи не наблюдается.

Следующий тест 7zip, который покажет производительность при упаковке и распаковке архивов.

Тут наблюдается всё таже картина, разницы в производительности при установке нового исправленного BIOS нет никакой.

Так как я создаю контент, то я не мог оставить в стороне монтаж видео роликов.

В качестве монтажной программы я использую Vegas Pro 13 и вне зависимости от используемой версии BIOS, время рендера не изменилось.

Исходники видео имеют разрешение 1080p, битрейт 50 Мегабит/c и с частотой 50 кадров в секунду.

В качестве профиля для рендера был выбран Sony AVC/MVC с битрейтом в 16 Мегабит/c, все остальные настройки профиля вы видите на своих экранах.

Теперь немного поговорим об играх.

В тестах принимали участие те проекты, которые были у меня установлены на компьютере в данный момент времени (Assassin’s Creed Origins, FarCry 4 и Crysis 3).

Все показатели кадров снимались при помощи программы MSI Afterburner 4.4.2.

В общем и целом, результаты не нуждаются в комментировании.

Тесты производительности в играх Assassin’s Creed Origins. Spectre и Meltdown

Если использовать новую версию процессорного микрокода за ревизией 84, то разницу в производительности невозможно заметить – всё работает также быстро и шустро.

Единственно интересно было бы посмотреть на работу M.2 SSD накопителей с интерфейсом NVMe.

Возможно, в будущем я проведу ещё ряд тестов с программными заплатками для Windows 10 и с одновременно установленным исправленном микрокодом центрального процессора.

Я надеюсь, что вам было интересно. Если так, то поделитесь моей заметкой в социальных сетях с вашими друзьями.

Таким образом таких заметок будет выходить куда больше:)

Также не забывайте вступать в группу Вконтакте и подписываться на YouTube канал.

Modern processors are complex devices that can have bugs. Furthermore, instead of executing x86 instructions directly, modern x86 processors contain internal code that implements support for the x86 instruction set. The internal code is called microcode. Microcode can be updated to fix or mitigate CPU bugs.

Some CPU bugs can make Firefox crash. For example, Firefox 57 and later is known to occasionally crash on Broadwell-U CPUs with old microcode in a manner not seen with newer Broadwell-U microcode versions.

Microcode updates can be loaded onto the CPU by firmware (usually called BIOS even on computers that technically have UEFI firmware instead of old-style BIOS) or by the operating system. Microcode updates do not persist across reboot, so in the case of a dual-boot system, if the microcode update isn"t delivered via BIOS, both operating systems have to provide the update.

On Mac, to have an up-to-date system, apply all OS X system updates and Apple firmware updates offered in the Updates pane of the App Store app.

To allow Windows to load updated microcode onto the CPU, make sure Windows Update is enabled and set to install updates.

To see the processor microarchitecture and which microcode revision is in use, run the command reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 in the Windows command prompt. (You can open the command prompt by pressing Windows + R , typing cmd and pressing Return .) The line labeled "VendorIdentifier" shows the CPU vendor (GenuineIntel for Intel or AuthenticAMD for AMD). The line labeled "Identifier" gives the microarchitecture as three numbers: "Family", "Model" and "Stepping". These are relevant in identifying if a particular CPU bug may be relevant to the CPU in your computer. The line labeled "Update Revision" shows the current microcode revision (for the particular microarchitecture) with zeros on both sides. For example, Update Revision REG_BINARY 000000001E000000 means that the revision is 1E (hexadecimal). The line labeled "Previous Update Revision" shows the microcode revision loaded from BIOS.

If the vendor is GenuineIntel, family is 6, model is 61 and stepping is 4, to avoid crashes with Firefox 57 or later, the microcode revision needs to be 1A or higher.

Whether microcode updates are in use by default depends on the Linux distribution and can differ for Intel and AMD CPUs.

  • On Debian-based distributions, including Ubuntu, microcode updates for Intel processors are provided by the intel-microcode package and microcode updates for AMD processors are provided by the amd64-microcode package.
  • On Arch, AMD microcode updates are installed by default, but Intel microcode updates require special steps .
  • On Fedora, microcode updates are installed by default.

To see the processor microarchitecture and which microcode revision is in use, run the command less /proc/cpuinfo in terminal. The line labeled "vendor_id" shows the CPU vendor (GenuineIntel for Intel or AuthenticAMD for AMD). The microarchitecture is given as three numbers on lines labeled "cpu family", "model" and "stepping". These are relevant in identifying if a particular CPU bug may be relevant to the CPU in your computer. The line labeled "microcode" shows the microcode revision number (for the particular microarchitecture) in hexadecimal.