Мы привыкли считать процессоры чуть ли не вечными. Сгорают блоки питания, перестают определяться жесткие диски, но процессоры стойко работают годами и временами даже десятилетия. Вы легко найдете на различных площадках, специализирующихся на продаже б/у, абсолютно работоспособные Pentium III, разменявшие второй десяток. Нередко всплывают новости, что различные ПК 30-летней давности продолжают трудиться в мелких компаниях просто потому, что они все еще справляются со своей работой.
Современные CPU умеют сбрасывать частоты при перегреве или вовсе отключаться, так что убить их таким способом у вас не получится. Но при этом никто не отменял проблемы с остальным оборудованием. Пробило мосфет в цепи питания платы? Процессор моментально умирает от 12 вольт вместо нужных 1-1.5. Установили неисправную ОЗУ? Может выйти из строя контроллер памяти в CPU, или же он сам. У автора лично был случай, когда одна планка убила 3 полностью рабочих процессора, и только потом пришло понимание, что проблема в ней, а не в плате.
Короче говоря, сами по себе процессоры умирают крайне редко. Едва ли вы за всю свою жизнь встретите CPU, который работал-работал и вдруг просто так сам по себе сгорел, при этом остальные комплектующие с другим процессором продолжают работать нормально. Однако последний год я все чаще сталкиваюсь с тем, что CPU относительно быстро ухудшают свои частотные характеристики от процесса, который все считают крайне медленным — от деградации кремниевого кристалла.
Минутка физики
Ни для кого не секрет, что современные процессоры состоят из многих миллионов специальных полупроводниковых устройств, а именно полевых транзисторов. Не будем вдаваться глубоко в теорию — нам достаточно знать, что такой транзистор имеет четыре области: исток и сток, соединенные каналом, и затвор между ними. По умолчанию ток протекает от истока к стоку через канал, что ожидаемо с учетом названия этих областей. Однако если на затвор подать напряжение, то область канала становится уже. Повышая напряжение дальше, можно дойти до определенного значения, при котором ток носителей заряда (электронов) полностью прекращается — транзистор входит в так называемый режим отсечки.
Таким образом, регулируя напряжение на затворе, можно использовать полевые транзисторы как своеобразные переключатели, и именно это их свойство и лежит в основе процессоров. Казалось бы, все отлично, однако тут в дело вступает процесс деградации кремниевого кристалла — электромиграция. Все дело в том, что при больших токах происходит процесс диффузии ионов металла из истока в канал.
Чем это грозит? Ну, пока мы не подаем на затвор напряжение, все хорошо — электрончики бодро бегут к стоку. Но, допустим, мы хотим закрыть канал и подаем на затвор нужное для этого напряжение. И... ничего не происходит. Ток продолжает идти. Да, в этом виноваты ионы металла, которые делают область канала уже, поэтому электронам становится проще перескочить в область истока. И теперь, чтобы запретить им это делать, нужно подавать на затвор большее напряжение. Однако, увеличивая напряжение между затвором и истоком, мы также увеличиваем и силу тока, что ускоряет процесс электромиграции. А это, в свою очередь, приводит к еще более быстрому уменьшению области канала, что потребует дальнейшего повышения напряжения. Вот и получается такой замкнутый порочный круг.
С физикой почти разобрались, осталось рассмотреть только современные тенденции. Гонка по уменьшению техпроцесса и не думает останавливаться, и хотя все эти 10, 7 или 5 нанометров мнимые и получаются в основном перестройкой структуры транзисторов в кристалле, последние все равно становятся из года в год все меньше и меньше. Это приводит к тому, что у них уменьшается область канала — а, значит, эффект от деградации из-за электромиграции в них будет происходить быстрее, то есть чем меньше техпроцесс — тем раньше вы заметите, что ваш процессор перестает работать стабильно.
Также не стоит забывать про связь между частотой и напряжением. Частота CPU — это грубо говоря скорость переключения транзисторов, и она зависит от напряжения, так как чем оно больше, тем быстрее перекрывается канал, и чем больше раз в секунду можно сделать это «перекрытие». Поэтому для покорения более высокой частоты нужно более высокое напряжение, и, в обратную сторону, при простое современные процессоры могут сильно снижать частоту и напряжение для экономии энергии.
Проверяем на практике деградацию кристалла CPU
Так уж получилось, что я стал одним из первых владельцев процессора Core i7-8700K в России — он оказался у меня в руках в середине октября 2017 года. И с тех пор, уже около 2.5 лет, он является сердцем моего ПК. Сложно сосчитать, сколько я провел на нем различных моделирований физических процессов — их количество точно заходит за сотню. Проще будет сказать так: почти все это время процессор «пахал» по 8-12 часов в сутки 6 дней в неделю под близкой к максимальной нагрузке. Конечно, это не самое реалистичное его использование, зато процесс деградации отлично отслеживался.
Итак, изначально я добился стабильных 4.8 ГГц при напряжении 1.28 В. Стабильность я проверял в своем любимом IntelBurnTest — да, он дает нереалистично высокую нагрузку, зато быстро выявляет малейшие проблемы в работе процессора. Попробовав прогнать этот же тест спустя всего полгода, я получил BSOD, хотя в других вычислительных задачах все было хорошо. Но, дабы не получить через некоторое время ошибки в важных расчеты, я вновь решил добиться стабильности в этом стресс-тесте, и мне это удалось лишь при 1.3 В. Через полгода картина повторяется, и я повышаю напряжение до 1.32 В. Еще полгода — и уже 1.34 В. И вот совсем недавно, решив прогнать BurnTest, я получаю ошибку:
Попытка поднять напряжение до 1.36 В проваливается, ибо процессор перегревается (что ожидаемо с учетом «терможвачки» под его крышкой и тепловыделения под 170 Вт). И теперь, чтобы добиться стабильности, пришлось опустить частоту на 100 МГц, до 4.7 ГГц. В таком режиме снова все отлично:
Как видите, пока что все идет четко по теории: дабы побороть деградацию кристалла, пришлось несколько раз повышать напряжение, и, когда это перестало помогать, пришлось снижать частоту. В дальнейшем, очевидно, придется снижать частоту дальше — другого выхода просто нет, разве что брать новый CPU.
Осталось проверить последнее утверждение: чем меньше техпроцесс, тем быстрее будут деградировать процессоры. Достаточно вбить в Google поисковый запрос «cpu degradation» и поставить срок выдачи ответов — последний год:
Выданные результаты связаны с первыми 7 нм десктопными процессорами — Ryzen 3000. А ведь они вышли всего около года назад, и пользователи уже жалуются на то, что они не держат частоты. Разумеется, пока что это единичные посты от тех, кто сильно нагружает процессор или же балуется разгоном, но несложно представить, что будет через пару лет, особенно если учесть, что новые Ryzen практически не разгоняются, а пользователи точно не будут менять, например, 12-ядерные CPU ближайшие лет эдак 5.
С процессорами от Intel все также плохо: в последние несколько лет инженеры компании решили продолжить частотную гонку, от которой они же сами отказались больше 10 лет назад, решив давить ядрами, представив в середине нулевых архитектуру Core Duo. Однако теперь, с учетом того, что у Intel последние три года все никак не удается создать новую архитектуру для десктопных процессоров, единственным способом поднять одноядерную производительность является банальное увеличение частоты.
И этим компания загнала себя в ловушку. Посудите сами, топовый 14 нм Core i7-6700K на архитектуре Skylake работает на частоте 4-4.2 ГГц при напряжении около 1.2 В. Конечно, его можно разогнать, и многие останавливались на 4.6-4.7 ГГц с напряжением около 1.35 В. А теперь посмотрим на новейший Core i9-10900K. Техпроцесс тот же, архитектура та же, но разумеется за 5 лет Intel смогла слегка улучшить качество выпускаемых кристаллов. Однако у этого процессора частота Turbo Boost на все ядра составляет уже 4.8 ГГц, и для стабильной работы на ней платы по умолчанию подают на него 1.3-1.35 В:
То есть, иными словами, режим, который еще несколько лет назад считался неплохим разгоном, теперь стал дефолтным. Вспомним теорию — повышение напряжения ведет к ускорению процесса электромиграции. То есть, компания Intel сознательно уменьшает время жизни своих новых процессоров. У меня до снижения частоты дело дошло спустя два года, хотя нужно отметить, что 4.8 ГГц для моего i7-8700K — это разгон более чем на 10% относительно максимальных 4.3 ГГц на все ядра, то есть теоретически я вышел за спецификации Intel.
А ведь для того же Core i9-10900K частота в 4.8 ГГц — абсолютно рабочая, и, напомню, архитектурно и физически это тот же самый процессор, в который просто добавили еще четыре ядра с их кэшем. И с учетом того, что это мощный 10-ядерный чип, едва ли пользователь будет его менять ближайшие лет 5, так что шанс столкнуться с деградации даже в стоке, без всякого разгона, оказывается достаточно большим.
И хорошо если у пользователя плата на чипсете Z490, на котором возможно управление множителем или напряжением, ведь под этот процессор скоро появится множество плат на более простых чипсетах, где «руление» этими параметрами будет просто-напросто заблокировано, и на них не будет никакой возможности вернуть процессору стабильность. И с учетом того, что гарантия на OEM-процессоры Intel составляет лишь год, компания просто разведет руками — дескать, покупайте новый CPU.
Выводы и размышления
Я, как и многие другие, считал современные процессоры практически неубиваемыми. У меня хватает знакомых с различными AMD FX-8000 и Intel Core i7 первого и второго поколения, которые по 7-8 лет держат свою частоту в неплохом разгоне без всяких проблем, и поэтому мне казалось, что и новые процессоры такие же «вечные». Увы — нет: судя по всему, время ощутимой деградации 32 нм и более «толстых» CPU явно выше 10 лет, а проблемы начинаются с 22 нм и «тоньше» — именно с ними больше всего сообщений о том, что процессоры перестают держать свою частоту спустя несколько лет.
Просто представьте — вы занимаетесь дома, например, рендерингом. Увидев, что AMD представила 7-нанометровый 16-ядерный Ryzen для обычного десктопного сокета AM4, вы конечно же его купили. Год, полтора — все хорошо, вы не можете нарадоваться на его производительность. А через пару лет получаете битый рендер. Решаете, что это случайная ошибка — особенно если учесть, что повторный расчет выполнился нормально. Однако вы начинаете получать битые рендеры все чаще и чаще: сначала раз в месяц, потом раз в пару недель, и вот вы уже вообще не можете нормально работать. Опечаленные, вы лезете в интернет и видите, что вы не один такой, и единственное решение проблемы — это урезать производительность или завышать напряжение, и повторять это придется постоянно. Будете ли вы счастливы от покупки такого CPU? Да едва ли. А ведь с учетом того, что в будущем транзисторы станут еще меньше, проблема может стать куда глобальнее.
Получается, что современные процессоры брать нельзя? Разумеется нет, просто нужно понимать, что они уже не такие долговечные, как были раньше, и, думаю, не нужно объяснять, что производителям это на руку. К тому же проблема касается, очевидно, лишь топовых высокочастотных решений — на каком-нибудь Core i3 или Ryzen 3 с частотой в 3.5 ГГц вы с ней скорее всего не столкнетесь. Также возникновение нестабильности через несколько лет маловероятно, если вы берете процессор для игр, ибо они все-таки нагружают топовые CPU достаточно слабо. А что делать тем, кто использует домашние процессоры для расчетов — вопрос остается открытым.