Аппаратные ошибки в процессорах
Процессор или CPU компьютера это мозг и сердце компьютера или ноутбука. Сам по себе, процессор очень редко выходит из строя, как правило он блокирует запуск компьютера если в ноутбуке или компьютере что то неисправно или не включено. И если он это делает, то пользователь ничего не может с этим поделать, только заменить процессор. Давайте рассмотрим все основные неисправности процессора признаки и симптомы.
Чипокалипсис — баги в процессорах за всю историю компьютеров
Программные баги давно уже стали привычными для нас: мы сталкиваемся со сбоями в работе ПО зачастую ежедневно. Реже, но все же случаются и аппаратные проблемы — из-за перегрева, короткого замыкания или залития умирает достаточное количество гаджетов. Но есть особые ошибки, связанные только с процессорами: они тоже могут приводить к сбоям в работе программ и даже к возможным дырам в безопасности: про Spectre и Meltdown слышали, я думаю, большинство читателей. Таких проблем за всю многолетнюю историю компьютеров набралось немало, и о них мы сегодня и поговорим.
Двойная сигма
Пожалуй, один из древнейших из известных процессорных багов, который заключался в том, что некоторые процессоры Intel 80386 (еще до 386DX и 386SX) могли зависать при выполнении 32-битного кода. И основная проблема была в том, что Intel не могла найти сбойные процессоры при производстве, и их невозможно было «вылечить» обновлением микрокода.
В итоге компании пришлось отзывать уже проданные процессоры и проводить на них тесты вместе с только что произведенными, чтобы разделять их на две категории: «хорошие», которые проходили тесты и могли работать с 32-битным ПО, маркировались двумя сигмами (ΣΣ), а плохие получали название «16 BIT S/W ONLY» и тоже продавались, но уже по сниженной цене. С учетом того, что 32-битного софта тогда (в конце 80-ых) почти не было, такие CPU брали достаточно активно, а сейчас коллекционеры готовы выложить за такие процессоры кругленькую сумму.
Одна из достаточно серьезных аппаратных ошибок, которая могла привести к зависанию системы. Название происходит из последовательности байтов, которые и формируют «убийственную» для Pentium MMX и Pentium OverDrive команду — F0 0F C7 C8.
Использование этого префикса в данном случае приводило к багу — обработчик исключений не вызывался, и процессор зависал. При этом эта инструкция не требовала никаких особых привилегий, что позволяло ей проявляться на практически любом ПК с такими процессорами. К счастью, эта проблема исправлялась программно без потери производительности, а аппаратно она была исправлена уже в Pentium Pro.
Ошибка Pentium FDIV
Также известная как арифметическая ошибка процессоров Pentium, которая закралась в модуль операций с плавающей запятой в первых процессорах Pentium 60/66 МГц. Ошибка выражалась в том, что при делении чисел с плавающей запятой при помощи команды FDIV результат мог получаться некорректным.
Причем Intel знала об этой проблеме, но утаила ее. После того, как это вскрылось, компания заявила, что проблема происходит в одном случае из 9 миллиардов, но потом, под давлением общественности, корпорации все же пришлось обменивать такие процессоры на нормальные, что стоило им 475 млн долларов — половина прибыли всей компании за последний квартал 1994 года.
Как выглядела проблема? Если вы посчитаете на калькуляторе 4195835*3145727/3145727, то скорее всего, если не ошибетесь, получите 4195835. Pentium же при использовании математического сопроцессора получит 4195579 — достаточно существенное различие.
Официальной заплатки от Intel не было, но некоторые компиляторы (например, Delphi и Visual Basic), проводя проверку, могли определить сбойный экземпляр процессора и корректировать получаемый в результате вычислений результат, чтобы он в итоге оказывался правильным.
«Режим бога» для x86 процессоров
В 2015 году специалист по информационной безопасности Крис Домас обнаружил серьезную и достаточно старую уязвимость в процессорах Intel, выпущенных с 1997 по 2010 годы (до второго поколения Intel Core i — Sandy Bridge). Серьезность бага заключалась в том, что он позволял выполнять любой код на x86-процессорах, выпущенных в эти годы.
Сама уязвимость связана с функцией, которую реализовали в архитектуре x86 в 1997 году: она позволяет получить доступ к режиму System Management Mode (SMM), в котором приостанавливается исполнение любого стороннего кода и запускается специальная программа, хранящаяся в защищенной области памяти. SMM нужен был для отладки процессора, поэтому на практике доступ к нему схож с «God Mode» — получаемые таким образом права выше любого системного доступа, что позволяет делать все что угодно: перепрошивать BIOS, снимать данные по нажатиям клавиш на клавиатуре и т.д. При этом, разумеется, переустановка системы не поможет, так как проблема лежит глубже.
Правда, есть одна проблема: для проведения атаки при помощи старого процессора нужен физический доступ к ПК с ним, что, обычно, и так позволяет получить любые данные. Но Intel в данном случае серьезно отреагировала на это и выпустила прошивки для большинства старых чипсетов — правда, уязвимость все равно остается, так как далеко не все ставят заплатки, особенно на компьютеры 10-летней давности.
Баг в процессорах MediaTek
Разумеется, с развитием ARM-процессоров различные ошибки и уязвимости стали находить и в них. Так, про процессоры от MediaTek слышали, скорее всего, многие — а те, кто знакомы с ними близко, едва ли удивятся багу в них, который появился из-за банального недосмотра.
Доподлинно известно, что проблема была на SoC MediaTek MT6582 под Android 4.4 — вот только узнали о ней в 2016 году. Конечно, MediaTek сообщила об этом производителям устройств, но, очевидно, никто не стал выпускать под такие старые девайсы обновление, закрывающее этот бэкдор.
Получение root-доступа на устройствах с процессорами Snapdragon
Проблемы с безопасностью в 2016 году были не только у MediaTek, но в случае с Qualcomm они были и глобальнее, и глубже: так, под удар попали флагманские Snapdragon 800, 805 и 810, работающие на ядре Linux 3.10 под управлением Android с 4.4 по 6.0.1 — в общем, практически все флагманы того времени.
Получение root-прав происходило с помощью двух багов: CVE-2016-0819, из-за которой определенная область в памяти ядра может быть повреждена, а затем освобождена, что вызовет утечку данных. Вторая уязвимость — CVE-2016-0805, которая связана с функцией get_krait_evtinfo в процессорах Qualcomm: она может вызвать переполнение буфера. И если использовать эти два бага одновременно, то можно получить доступ к любым пользовательским данным.
Разумеется, Qualcomm вместе с Google закрыла эти уязвимости в течение пары месяцев, но, увы, далеко не все устройства получили патчи для устранения этих багов.
Spectre и Meltdown
Пожалуй, самые известные на данный момент аппаратные баги в подавляющем большинстве процессоров, выпущенных с 1995 года: сюда входят и решения от Intel, и от AMD, и 64-битные ARM. К счастью, большую часть этих уязвимостей можно закрыть программно, что это уже было сделано, к тому же Intel в новых линейках своих процессоров уже исправила часть эксплойтов аппаратно.
Как же эти баги работают? Начнем, пожалуй, с Meltdown (CVE-2017-5754). Он базируется на том, что в современных процессорах от Intel предсказатель ветвлений игнорирует MMU. Непонятно, не правда ли? Давайте разбираться. MMU — Memory Management Unit — блок контроля за адресным пространством, его обязанность в том, чтобы параллельно запущенные процессы работали в своих участках памяти, не мешая друг другу.
Что такое «предсказатель ветвлений» уже более-менее понятно из названия — это блок в процессоре, который может предсказать, какие инструкции в будущем будет использовать CPU, чтобы загрузить и выполнить их заранее. С учетом того, что точность предсказания превышает 90%, это серьезно ускоряет работу современных процессоров.
И что мы получаем в итоге? Если работает предсказатель ветвлений, то MMU отключается и один процесс может использовать память другого — вот так и работает уязвимость Meltdown.
Уязвимость Spectre работает хитрее, сложнее и сильно медленнее: благодаря ей не получится узнать, что же хранится в памяти атакуемого процесса — она позволяет узнать, чем же этот процесс сейчас занимается. Помогает ей в этом все тот же предсказатель ветвлений: выполняя различные инструкции, зловред может вычислить по скорости получения данных из кэша или ОЗУ, какие инструкции сейчас выполняет атакуемый процесс.
Как видите, процессоры имеют достаточное количество различных багов и уязвимостей, и это далеко не весь список (в следующей статье поговорим про ошибки в работе Hyper-Threading у Skylake, TLB в некоторых Phenom и многие другие). Знаете еще какие-нибудь интересные процессорные баги? Пишите об этом в комментариях.
Данная статья предназначена для сильно продвинутых пользователей, понимающих, что они делают и каковы последствия в случае неудачи. Материал подаётся по принципу "As Is", и автор не несёт никакой ответственности за моральный или материальный ущерб, могущий возникнуть как у читателя после прочтения данного материала, так и у третьей стороны от действий читателя после прочтения данного материала. Максимально возможная техническая неприятность в случае неграмотных действий пользователя или воздействия внешних причин вызовет необходимость перепрошивки флеш-памяти с образом BIOS на внешнем программаторе.
Прочитав статью "Исправление ошибок в CPU", я выполнил указанные в ней действия, загрузив тем самым в область DMI 2-килобайтный блок программного исправления ошибок микроядра CPU. Однако попытка получить спустя полгода новую базу исправлений ошибок (PEP15.PDB, в новых версиях утилиты файл переименован в PEP.DAT; далее по тексту все вхождения "PEP15.PDB" заменены на "PEP.DAT", поскольку к данной статье прилагается новая версия утилиты от Intel, по умолчанию работающая именно с PEP.DAT) -- как от изготовителя процессора (фирмы Intel), так и от продавца -- не увенчались успехом: продавец (фирма "IQ Computers") отвечает, что у него нет доступа к интеловской базе (что в общем-то странно и может означать, на мой взгляд, только то, что торговля процессорами этим продавцом осуществляется по "серым" каналам, не имеюшим официального выхода на Intel), а техсаппорт изготовителя отвечает буквально следующее:
The site is password protected. Your Intel(R) rep should be able to assist
you if you do not have the password.
--------
Joseph K
*All brands and trademarks are the property of their respective owners
===
Анализируя возможные пути и способы получения этой базы по неофициальным каналам, я обратил внимание на блоки CPUCODE в Award-BIOS'ах различных фирм-изготовителей материнских плат. Более пристальный анализ формата этих блоков показал, что он либо полностью совпадает с форматом PEP.DAT (как в BIOS'ах от A-Bit, например; имя файла -- CPUCODE.BIN), либо блокам из PEP.DAT предшествует некий заголовок неизвестного мне формата (как в BIOS'ах от ASUS; имя файла -- CPUCODE.EXE, хотя никакого отношения к исполнимым файлам формата *.EXE он не имеет). Каждый 2-килобайтный (2048 байт) блок файла PEP.DAT (или, что то же самое, CPUCODE.BIN) содержит заголовок следующего, насколько мне удалось разобрать сравнительным анализом, формата:
Смещение (16cc.) | Длина (10cc.) или формат | Описание |
---|---|---|
+0 | двойное слово | Номер версии формата (не встречал отличное от 1) |
+4 | двойное слово | Номер версии блока для данного CPUID |
+8 | 4 байта | Дата выхода данной версии блока |
+8 | слово | Год выхода (0x9919 -- 1999 год) |
+A | байт | День выхода (0x12 -- 12-е число) |
+B | байт | Месяц выхода (0x12 -- декабрь) |
+C | слово | CPUID процессора, для которого предназначен блок |
+E | слово | Не используется (заполнено нулями) |
+10 | 4 байта | . Возможно, -- контрольная сумма |
+14 | двойное слово | Номер версии формата (. не встречал отличное от 1) |
+18 | двойное слово | PKG (Package) процессора |
+1C | двойное слово | Не используется (заполнено нулями) |
+20 | 16 байтов | Не используется (заполнено нулями) |
+30 | до конца блока | Содержательная часть (собственно исправлениямикрокода) |
Для тех, кто не знает: в слове — 2 байта, в двойном слове — 4 байта, информация записывается в файле "задом наперёд", т.е. сначала идёт младший байт, а за ним — старший. Число 1 в файле представляется в виде двойного слова как 0x01000000.
Руководствуясь вышеизложенным, я вычленил из оригинальной январской 1999 года базы PEP.DAT такие 2-килобайтные блоки и записал их в отдельные файлы, дав каждому из них имя aaaabbcc.BIN, где aaaa — CPUID из заголовка (+C), bb — PKG процессора из заголовка (+18), cc — версия блока для данного CPUID из заголовка (+4). Дату на файлы поставил также по информации из заголовков блоков (+8). После этого я взял файл CPUCODE.EXE ("CBROM имя_файла_с_прошивкой /CPUCODE EXTRACT", на вопрос ответить "CPUCODE.EXE" без кавычек) из последнего BIOS'а от ASUS (v1010 от 16.07.99 для мамок P2B), отрезанием от него заголовка получил CPUCODE.BIN и "распотрошил" его таким же образом в другой директории. В ту же директорию добавил ещё два блока, найденные в DMI-области прошивки (для ASUS'а — по смещениям 0x37000 и 0x37800 относительно начала файла с прошивкой). После этого объединил эти две директории в третьей, оставив из файлов с одинаковыми "aaaabb" в названии только более новые (с бОльшим номером "cc").
Оставшиеся в итоге в третьей директории 2-килобайтные файлы *.BIN я отсортировал по имени и объединил их в одну базу с помощью стандартной команды "COPY": "COPY /b xxx1+xxx2+. xxxN PEP.DAT" (без кавычек, разумеется). Эту базу следует использовать вместо оригинальной январской 1999 года базы. Проверено на материнской плате A-Bit i440BX-6 Rev1.0 с процессором Celeron-333 (CPUID 0x0660).
Позднее я таким же методом распотрошил более новую базу версии 5.01 и обнаружил два новых процессора, не вошедших в предыдущую мою сборку. (Сколько я потом потрошил этих баз — не пишу за ненадобностью).
Для наглядности я привожу ниже таблицу поддерживаемых процессоров (таблица идёт на замену аналогичной в документации к утилите заливки изменений микрокода от Intel), отсортированную по Stepping/PKG.
Processor steppings (revisions) and microcode update revisions includes in current base
Знаками «|» отмечены изменения относительно собранной мною базы предыдущей (10/05/01) версии. В базу включены все блоки из официальной базы от Intel по состоянию на 29 мая 2002 года.
К данной статье прилагаются следующие файлы:
checkup6.zip (40 Kb) — Processor Update Utility for Intel(R) P6 Family Microprocessors v6.08 May 29, 2002. Copyright 1995-2002, Intel Corporation. (Только исполняемые файлы, без базы).
pep.zip (102 Kb) — на основе базы v6.08 от 29 мая 2002 (вместо старого архива pep15.zip). Положите PEP.DAT в один каталог с CHECKUP6.EXE
content.zip (192 Kb) — 2-килобайтные блоки, входящие в состав этой базы. Можете их использовать при формировании новой базы по алгоритму, описанному выше, когда у вас появится доступ к BIOS'у с более новой версией CPUCODE.
modbin.zip (59.68 Kb) — Award'овская утилита для исправления ряда настроек в Award-BIOS'ах до версии 4.50PG (для версий 6.00 и выше практически неприменима). Версия 4.50.77 от 1999 года.
«Новый» modbin (modbin6_2.00.00beta.zip / 79 КБ) проверено корректно работает с биосами 6.00.
cbrom.zip (34.59 Kb) — новая версия утилиты CBROM, присланная (не мне) техподдержкой ABit. Версия 2.07 от 2000 года. Отличается тем, что отображает версии блоков коррекции ошибок, выбирая их из области DMI и из CPUCODE.BIN (но не ASUS'овского CPUCODE.EXE) файла прошивки. Работоспособна на новых версиях BIOS'ов от A-Bit'а (мамки BE6-II).
Кстати, по поводу A-Bit'а: в новых его мамках используется формат BIOS'а, несовместимый со старым, и его не берут старые утилиты от AWARD'а (MODBIN, CBROM ругаются на контрольную сумму), и для работы с этими BIOS'ами выпущена новая версия AWDFLASH'а — 7.52C. Соответственно, для работы с этими BIOS'ами надо применять новые версии MODBIN'а и CBROM'а (MODBIN ищите сами, а новая версия CBROM'а приложена к данной статье).
Автор будет благодарен тому, кто пришлёт ему более новую версию утилиты MODBIN (новее приложенной с данной статье), только сначала просьба связаться e-mail'ом: возможно, с момента последней правки статьи данная или более новая версия у меня уже появилась.
А пока что приложенная к данной статье утилита MODBIN понимает только такие 2-мегабитные (256-килобайтные) BIOS'ы, в которых собственно BIOS (файл "original.tmp" или как его переименовали разработчики мамки) начинается со смещения 0x20000 относительно начала дампа прошивки (точнее, с этого смещения начинается заголовок LHA-архива). Кто хочет, может поэкспериментировать с BIOS'ом мамки A-Bit BE6-II BEH_QJ.BIN или более новым BEH_QY.BIN по такому алгоритму: с помощью CBROM'а "вынуть" из BIOS'а все дополнительные части в отдельные файлы, затем с помощью того же CBROM'а удалить из BIOS'а все части, кроме 0-й (0-я часть принципиально этой утилитой не удаляется), после чего HIEW'ом или какой-либо аналогичной утилитой переместить оригинальный BIOS (0-я часть) со смещения 0x0 на смещение 0x20000 от начала файла прошивки, затем CBROM'ом восстановить в этот файл все ранее удалённые компоненты (желательно — в том же порядке) и попробовать прошить (я надеюсь, вы обеспечили себе возможность отката, если эта руками скомпонованная прошивка не заведётся? — рекомендую иметь под руками запасной флеш с заведомо рабочей прошивкой) то, что получилось, во флеш мамки BE6-II. MODBIN, приложенный к статье, такой руками скомпонованный файл прошивки точно видит, но у меня нет гарантии, что в новых BIOS'ах от A-Bit'а ещё что-либо не добавлено (типа добавления ещё одной контрольной суммы или ещё чего). В любом случае, все эксперименты, описанные в этом абзаце, вы выполняете исключительно на свой страх и риск (у автора нет запасного флеша для экспериментов, равно как нет и данной мамки), но если всё-таки кто сподобится поэкспериментировать, не сочтите за труд поделиться результатами.
Пока обнаружена только одна материнская плата, запуск на которой процедуры обновления DMI (само обновление, а не проверка его необходимости) приводит к разрушению (расписыванию 0xFF) BIOS'а — это P3B-F. Ради справедливости следует отметить, что формат DMI во флеше этой мамки нестандартен, и стандартные авардовские процедуры коррекции DMI либо вообще этого DMI не видят, либо отказываются вносить туда изменения. Ну а вот в интелевской утилите, которая используется для прописывания в DMI блока коррекции ERRATA, этой проверки, похоже, просто не сделали, отчего запарывание BIOS'а и происходит.
Не для кого не секрет, что процессор представляет собой автомат с микропрограммным управлением. И любая его инструкция является совокупностью микрокоманд, прошитых в ПЗУ процессора при его изготовлении. Ошибки микрокода и схемные погрешности (errata), допущенные при проектировании, могут вызывать отклонения от спецификаций процессора и ошибкам в его работе. При выпуске процессора обычно публикуются его спецификация и список обнаруженных errata.
Все процессоры Intel с архитектурой P6, а к ним относятся семейства Pentium Pro, Pentium II & III, Celeron, Pentium II & III Xeon и Pentium II Overdrive, обладают таким замечательным свойством, как "reprogrammable microcode". В этих процессорах имеется возможность изменения микрокода, т.е. имеется возможность исправления ошибок в программно-схемотехнической реализации конкретных процессоров семейства P6 и некоторых встроенных ошибок практически на уровне "железа". Ошибки могут появляться на этапе проектирования процессоров, а исправляются они именно с помощью изменения микрокода. Каждое из подсемейств (PII, Celeron, PPro, Xeon) имеет спецификацию. При выпуске каждого нового степпинга процессора (внутри него все приборы являются идентичными в рамках технологических отклонений), Intel публикует для него обновление спецификации, где указываются обнаруженные и исправленные errata (отклонения от спецификации).
Ошибки эти могут, в принципе, осложнить жизнь программному обеспечению, которое работает на этих "дефектных" процессорах (и пользователю ;-)) .
Конечно, все зависит от конкретных ошибок. Для избавления от подобных ужасов и требуется изменение микрокода процессора, в результате чего ошибка может быть полностью устранена или могут быть просто смягчены последствия от ее присутствия.
Кстати, поддержка биосами вновь вышедших процессоров определяется, в частности, и наличием соответствующей прошивки. Например, когда появился первый Celeron, именно отсутствие соответствующей версии микрокода не позволяло корректно запустить систему с этим процессором.
Сами обновления микрокода — это 2-хкилобайтные блоки данных, прошитые в системном BIOS. Такой блок есть для каждого степпинга процессора из семейства P6. Intel поставляет свежие версии микрокода ведущим производителям BIOS. База данных с обновлениями пополняется и изменяется при появлении новых моделей и версий микрокода. Intel рекомендует выполнять обновление версий микрокода с помощью своей утилиты при установке нового процессора на материнскую плату или перепрограммирования флэш-памяти, чтобы быть уверенным, что в BIOS содержится самая свежая версия микрокода. Эта программа определяет используемый процессор (с помощью CPUID) и ищет соответствующее ему обновление в своей базе. Если найдена свежая версия микрокода, утилита локально перепрошивает код в BIOS, не затрагивая остальные участки. Т.о. отпадает необходимость перепрограммирования всего флэша для поддержки нового ЦПУ, как это было ранее. Обновление базы данных Intel периодически выкладывает на своем сайте.
Последняяи из доступных нам баз имеет ревизию 5.01 и содержит следующие версии микрокода:
Processor | Processor Stepping | Microcode Update Rev |
---|---|---|
Pentium III Processor | 0x672 | 0x04 |
Pentium III Processor | 0x673 | 0x02 |
Pentium III Xeon Processor | 0x672 | 0x21 |
Pentium III Xeon Processor | 0x673 | 0x22 |
Pentium II Processor | 0x633 | 0x34 |
Pentium II Processor | 0x634 | 0x35 |
Pentium II Processor | 0x650 | 0x32 |
Pentium II Processor | 0x651 | 0x30 |
Pentium II Processor | 0x652 | 0x14 |
Pentium II Processor | 0x653 | 0x01 |
Pentium II Xeon Processor | 0x652 | 0x29 |
Pentium II Xeon Processor | 0x653 | 0x04 |
Intel Celeron Processor | 0x650 | 0x32 |
Intel Celeron Processor | 0x651 | 0x30 |
Intel Celeron Processor | 0x660 | 0x09 |
Intel Celeron Processor | 0x665 | 0x02 |
Pentium II OverDrive Processor | x1632 | 0x02 |
Pentium Pro Processor | 0x612 | 0xC6 |
Pentium Pro Processor | 0x616 | 0xC6 |
Pentium Pro Processor | 0x617 | 0xC6 |
Pentium Pro Processor | 0x619 | 0xD2 |
Загрузить последнюю версию утилиты, исправляющую микрокод можно прямо отсюда: pupdt501.exe (115 Kb)
Старую базу (PEP15.PDB) можно загрузить отсюда: pupdt461.exe (111 Кб)
После окончания работы утилиты, необходимо выключить питание компьютера. Загрузка обновления в процессор происходит во время выполнения POST при каждом запуске системы. Естественно для работы утилиты необходимо разрешить перезапись флэш-памяти перемычкой или в BIOS Setup. Программа должна запускаться из-под "голого" ДОСа.
Однако для такого идеального варианта необходима поддержка BIOS'ом специального API обновления микрокода процессора, позволяющего утилите обновления с помощью BIOS загрузить новый микрокод. Если используемая версия системного BIOS не поддерживает API, пользователю ничего не остается, кроме как добыть новую версию у производителя материнской платы. Однако бывает, что найти её не так уж просто, если не невозможно. Зачастую, после прекращения производства какой-либо модели системной платы, производитель перестает выпускать и обновления биосов для нее, но при этом новые процессоры могут появиться в продаже, а у пользователя может возникнуть желание установить в свою систему новый CPU.
В данном случае, утилита, тем не менее, может загрузить исправления технических погрешностей непосредственно в процессор. В этом случае утилита вызывает загрузку операционной системы сразу после обновления микрокода. Однако обновление микрокода будет потеряно при мягкой или жесткой перезагрузке системы.
Возникает вопрос, а чем чревато самостоятельное обновление прошивки? Ну, во-первых, сначала нужно удостовериться, что вам это действительно необходимо. Если версия прошивки старая, а новых версий BIOS производитель системной платы не предлагает, но, главное, вы столкнулись с нестабильной работой какого-то приложения, и рассчитываете, что изменение микрокода процессора вам поможет. Только в этом случае имеет смысл самостоятельно изменить прошивку. А насчет того, чем это чревато — по-моему, ничем опасным. Во-первых, не стоит забывать, что загрузка обновления микрокода в процессор применяется во всех BIOS на платах для P6 и уже давно (многие видели в Setup загадочную опцию Microcode Update: Enable/Disable). И ничего! Все работает.
Это еще раз подчеркивает необходимость его использования. Кто знает, как бы обстояло дело без этого обновления! Отличие лишь в том, что раньше микрокод обновлялся с установкой новой версии флэша, а теперь можно перепрограммировать не все содержимое BIOS, а лишь ограниченный кусок.
Мой личный опыт работы с этой программой пока был ограничен 7 случаями, из которых удалось обновить микрокод только на одной системной плате (Abit LX6 c PII 233). В остальных случаях BIOS уже содержал обновленные версии микрокода. Также не удалось встретить BIOS, не поддерживающий обновление микрокода.
Что касается аналогичной возможности обновления микрокода в процессорах других производителей (AMD, Cyrix), то никакой информации по этому вопросу мне найти не удалось. Но я почти уверен, что в этих CPU имеется аналогичная возможность изменения микрокода.
Большинство индексов или цифр имеют вполне конкретное значение. Обратите на них внимание, когда будете выбирать процессор!
Если вы хотите подобрать оптимальный процессор в свою сборку, то не спешите копаться в технических характеристиках. Много полезной информации скрывается в наименовании ЦПУ. Если знать, что означают все эти буквы и цифры, то можно сэкономить много время. Разобраться в этой теме не сложно, достаточно понимать ключевые моменты. О них и поговорим.
Допустимая и максимальная температура процессора и GPU видеокарты:
Процессоры Intel | 35-80° C | 80-90° C |
Процессоры AMD | 45-80° C | 80-100° C |
Видеокарта | 60-70° C | 90-105° C |
Как определить что процессор вышел из строя?
Один из главных признаков проблем с процессором — черный экран, шумят вентиляторы и HDD диски но на экране не строчки. Надо сказать, что похожие признаки наблюдаются при неисправности видеокарты и монитора, т.е., все работает, но ничего нет на экране. И прежде чем грешить на процессор, рекомендую проверить видеокарту, шнуры монитора и сам монитор. В случае ноутбука, можно локализовать неисправность, подключив внешний монитор.
Перегрев процессора — самая распространенная поломка
Процессор имеет собственный вентилятор (cooler или кулер по русски), обеспечивающий его охлаждение и если кулер выходит из строя, процессор быстро перегревается и блокирует запуск компьютера.
Обычно, неисправность в системе охлаждения проявляет себя постепенно, неожиданными перезагрузками в процессе работы, несанкционированным выключением ноутбука, сильным нагревом средней части корпуса ноутбука. Посмотреть состояние охлаждения процессора можно с помощью программы SpeedFan которая покажет температуру, обороты вентиляторов. Если запустить операционную систему не удается, температуру процессора можно посмотреть в БИОС, в разделе POWER системы.
Поэтому, вам следует проверять и чистить все вентиляторы на вашем компьютере с заменой термопасты, хотя бы один раз в год.
Причины перегрева и отключения процессора:
- Высохшая термопаста представляет собой густую массу белого или серого цвета. Она имеет в составе мелкие частички различных металлов с высокой теплопроводностью, которые ускоряют теплообмен между комплектующими и радиатором охлаждения. Менять ее рекомендуется каждые 1-3 года. высошая термопаста нуждается в замене
- Неисправность системы охлаждения — Компьютер требует регулярной механической очистки хотя бы раз в год. Вентиляторы, которые отвечают за охлаждение системы вместе с воздухом засасывают пыль, ворсинки. Все это постепенно накапливается снижая эффективность работы кулера и затем просто блокируют его работу, что в приводит к увеличению температуры внутри компьютера. Неисправность системы охлаждения ноутбука
- Слишком высокая частота процессора — «разогнать», то есть заставить работать при повышенной частоте процессор не сложно, но нужно учитывать, что оверлокинг (разгон) без достаточного опыта делать опасно. Можно легко получить систему работающую неустойчиво, со сбоями или просто блокирующую запуск процессора на повышенных частотах. Что бы вернуть частоту процессора в заводские настройки, нужно зайти в БИОС и нажать клавишу F7, после чего F10 и подтвердить сохранение настроек. Ваш компьютер или ноутбук загрузится в штатном режиме.
- Высокое напряжение питания процессора — обычно используется для разгона, в целях увеличения стабильности работы процессора на повышенных частотах, в результате которого процессор закипает т.к. система охлаждения не справляется с нагрузкой. Необходимо вернуть настройки в исходное состояние, см. пункт 3.
- Вирусы или скрытый майнинг — причины по которым компьютер может работать в полную силу постоянно, даже когда вы ничего не делаете. Посмотреть нагрузку процессора и какой процесс (приложение) загружает систему можно в диспетчере задач (CTRL+ALT+DEL). Тут необходима помощь мастера по ремонту компьютеров, если не знаете как это лечится, в рамках одной статьи не описать…
- Неправильная установка системного блока — Размещать компьютер рядом с радиатором отопления — это большая ошибка.
Маркировка процессоров Intel
За всю историю компания Intel выпустила огромное количество разных моделей процессоров, и, разумеется, многие из них сегодня уже устарели. На данный момент актуальными остаются только четыре линейки. Каждая из них имеет свою направленность.
- Intel Celeron — самые бюджетные процессоры, предоставляющие базовый уровень производительности для нетребовательных задач.
- Intel Pentium Silver — мобильные процессоры, основанные на «малых», наиболее энергоэффективных, ядрах.
- Intel Pentium Gold — процессоры с невысокой производительностью, подходят, в основном, для офисных решений.
- Intel Core — самая разноплановая линейка, которая включает в себя, как офисные, так и премиальные геймерские решения.
- Intel Xeon — модели, ориентированные на серверное применение.
Поскольку Intel Core охватывает большую часть рынка, разберем на её примере как линейка делится на классы.
- Core i3 — начальный уровень, подходящий для несложных задач;.
- Core i5 — включает в себя универсальные модели из среднего сегмента;
- Core i7 — мощные процессоры, в том числе для гейминга;
- Core i9 — премиальная продукция, которая, помимо гейминга, ориентирована на ресурсоемкие рабочие приложения;
- Core X — исключительно узкоспециализированные профессиональные задачи.
После классификации процессор в названии имеет числовое обозначение. Первая цифра всегда означает поколение. На данный момент самым актуальным является 10-е. У каждого поколения имеется кодовое название. Например:
Как вы заметили, после поколения следуют ещё три цифры. Как правило, они отображают уровень производительности модели относительно других процессоров в одном поколении. Например:
- Intel Core i5-7400 — самый слабый среди всех i5 седьмого поколения.
- Intel Core i5-7500 — средний по производительности.
- Intel Core i5-7600K — самый мощный.
В наименовании модели после цифр может быть расположена буква, которая указывает на отличительную характеристику процессора. Они могут комбинироваться различными способами.
- K — процессоры, у которых разблокирован множитель. Если его увеличить, это приведет к увеличению производительности. По умолчанию большинство ЦПУ от компании Intel разгонять нельзя.
- F — модели, у которых отсутствует встроенное видеоядро. Это значит, что даже при наличии видеовыходов на материнской плате, вы не получите изображение.
- X — высокопроизводительные решения. Как правило, данная маркировка встречается только в премиальных продуктах.
- E — встраиваемые процессоры.
- T — десктопные процессоры со сниженным энергопотреблением.
- M — мобильные процессоры.
- Q — четырехъядерные ЦПУ.
- H — высокопроизводительные мобильные процессоры.
- U — решения, у которых ещё больше снижено энергопотребление.
- Y — мобильные процессоры со сниженным энергопотреблением.
- L — гибридные процессоры, нацеленные на максимальную энергоэффективность.
Новые мобильные процессоры Intel Core 11-го поколения, а также некоторые 10-го поколения, имеют непривычную маркировку. К примеру, Intel Core i7-1165G7, где цифра после G обозначает класс мобильной графики: G7 — ее максимальная производительность, G4 — средний уровень производительности, а G1 — базовый.
Стоит упомянуть, что многие модели встречаются в двух вариантах исполнения: BOX и OEM. Первый имеет увеличенную гарантию, а также подразумевает наличие кулера в комплекте. Второй продается дешевле, но в комплект поставки ничего не входит. Кстати, процессоры с разблокированным множителем поставляются без кулера и его нужно будет покупать отдельно.
Маркировка процессоров AMD
Говоря про обозначения ЦПУ, следует понимать, что для каждой линейки применяются уникальные правила маркировки, которые не являются универсальными. Поэтому всё, что написано ниже применимо только для ныне актуальных процессоров.
BIOS — Самопроверка обнаружила отказ оборудования
Ваш компьютер выполняет само диагностику (POST) перед запуском операционой системы, проверяя установленные в нем компоненты. Если тест обнаружит, что процессор не работает, процесс загрузки будет прерван, и материнская плата издаст звуковой сигнал. Звуковые сигналы на самом деле являются POST кодами, которые помогают установить проблему.
Будь в курсе последних новостей из мира гаджетов и технологий
Читайте также: