Новые процессоры AMD Ryzen отсутствуют на рынке и, к сожалению, им не хватает игр. Процессоры Intel явно быстрее для игр. Люди, конечно же, не поддержали это, и AMD сделала заявление, что они обновляют прошивку или программное обеспечение для ускорения Ryzen для игр.
Поправьте меня, если я не прав, но процессор должен иметь статическую прошивку, чтобы быть совместимым со стандартом x64? Если так, то AMD не придется оптимизировать игры (программное обеспечение) для своих процессоров, что, очевидно, невозможно? Что там происходит, чтобы говорить такие вещи, если кажется, что невозможно увидеть основные условия?
Но я могу ошибаться (надеюсь, что так), поэтому вопрос:
Можно ли добиться ускорения для процессора без замены базового оборудования? Если это возможно, как это сделать? Есть ли программное обеспечение помимо прошивки для процессора?
Ответы:
Современные процессоры намного сложнее, чем можно подумать. Они невероятно сложные, почти недоступные для понимания одного человека. Расширяя краткую реплику «орта», можно было бы иметь все следующее:
Начнем с того, что почти все внутреннее оборудование настраивается в значительной степени. Существуют тысячи и тысячи регистров конфигурации с миллионами отдельных битов, которые должны быть установлены для работы CPU. Все несколько уровней взаимодействия между процессором и кешем имеют настраиваемые конвейеры, и различные временные задержки, очевидно, влияют на общую производительность.
Архитекторы разработали сотни расширенных функций, которые у инженеров не было времени для проверки, поэтому сотни функций отключены или переведены в отказоустойчивую конфигурацию с помощью «кусочков курицы» . Но они могут быть настроены и включены, если найдены функциональными и полезными. Эти улучшающие функции обычно проходят углубленную проверку с течением времени и могут постепенно включаться в течение срока службы процессора с помощью различных исправлений микрокода.
Все последние процессоры имеют несколько внутренних блоков, которые управляются независимыми микропроцессорами, встроенными в чип процессора x86. Одним из публично раскрытых единиц является P-Unit. Современные процессоры не могут функционировать без агрессивного управления питанием, иначе они тают. Однако глубокое управление питанием противоречит агрессивной политике тактового сигнала / напряжения на входе-выходе, и изменения в политике сильно влияют на общую производительность системы. Все детали контролируются P-модулем и могут быть оптимизированы / настроены путем загрузки другого патча микрокода, как здесь ответили.
Многие другие аспекты внутреннего взаимодействия контролируются различными дополнительными встроенными процессорами, которые можно исправить, загрузив в них патчи микрокодов или обновив BIOS, если у него есть доступ к этим ресурсам конфигурации.
Короче говоря, хотя аппаратное обеспечение ЦП действительно является аппаратным, конфигурация указанного аппаратного обеспечения в значительной степени определяет его производительность и может быть настроена для повышения производительности системы с помощью обновлений BIOS и встроенных исправлений микрокода.
источник
Разнообразные проблемы с программным обеспечением как на уровне операционной системы, так и на уровне приложений вызывают неоптимальную производительность.
Восьмиядерные процессоры Ryzen состоят из двух ядерных комплексов (CCX), каждый с четырьмя ядрами и 8 МБ кэш-памяти третьего уровня. Доступ к кэш-памяти L3 в другом CCX происходит медленнее из-за необходимости перемещать данные дальше по Infinity Fabric (запатентованное AMD-когерентное межсоединение), что означает, что перемещение потоков из одного CCX в другое или обмен данными между ядрами в разных CCX приводит к снижение производительности. Это наказание напоминает о том, что произошло бы на многосетевом сервере с операционной системой, не поддерживающей NUMA .
Похоже, что Windows имеет тенденцию просто перемещать процессы вокруг разных ядер и не распознает потери связи между CCX . Это означает, что Windows может помещать потоки в разные CCX, даже если это не требуется , что снижает производительность.
Немецкий обозреватель PC Games Hardware протестировал Ryzen 7 1800X с различным количеством отключенных ядер и обнаружил, что наличие двух CCX с двумя включенными ядрами на каждом дает более низкую производительность, чем один CCX, включающий все свои ядра без изменений:
И это несмотря на то, что наличие только одного CCX означает, что доступно только 8 МБ кэш-памяти L3, а не полные 16 МБ. Из статьи «Оборудование для компьютерных игр» через Google Translate (выделение добавлено):
В этой статье «Перспектива ПК» показано, что существует существенная задержка связи между ядрами на разных CCX, но очень небольшая задержка при обмене данными с ядрами на одной и той же CCX. Обратите внимание, что в этой статье предполагается, что Windows знает о дизайне CCX и избегает планирования потоков на разных CCX, но члены сообщества обнаружили противоречивые результаты.
Многие (но не все) игровые тесты показывают повышенную производительность, когда SMT отключен. Однако ходят слухи, что Windows неправильно планирует, как будто каждый аппаратный поток как его собственное ядро неверен . По словам AMD, это связано с тем, что многие приложения оптимизированы только для процессоров Intel (что не является неожиданным, учитывая, что AMD была MIA с рынка высокопроизводительных процессоров около пяти лет). AMD говорит, что они работают с сотнями разработчиков игр, чтобы улучшить производительность процессоров Ryzen. Тем не менее, я подозреваю, что обновление Windows все еще может помочь, более точно настроив планировщик для характеристик архитектуры Zen .
Следующий пример от Tom's Hardware демонстрирует снижение производительности при включенном SMT:
TechSpot провел глубокий анализ игровой производительности с включенным и отключенным SMT и дал очень похожие результаты:
Есть также проблемы управления питанием, связанные с этими тестами. В том же заявлении AMD отмечается, что Windows не полностью осведомлена о новых функциях в Ryzen, таких как парковка ядра и быстрое переключение тактовой частоты. Это согласуется с улучшениями производительности, о которых сообщает Tom's Hardware при использовании плана High Performance Power (см. Диаграмму выше, HP = High Performance). Обновление для Windows может добавить поддержку этих функций и повысить производительность.
источник
http://wccftech.com/amd-ryzen-launch-aftermath-gaming-performance-amd-response/
Таким образом, реальный вопрос не в том, как обновление BIOS / прошивки может сделать процессор быстрее (он может это сделать, оптимизация микрокода и т. Д.), А в том, насколько поврежден процессор из-за неисправного BIOS / прошивки.
источник
BIOS вообще считается прошивкой. BIOS может вертеть в аппаратных средствах все виды битов, чтобы изменить работу системы
Так что да, для них вполне выполнимо выдвинуть новую прошивку и для таких вещей, как тактовые частоты, или включены ли предварительные выборки, или же определенное ядро - или IIO - может получить определенные предпочтения к кешу, который потенциально может повысить производительность в играх из-за для большинства игр разрабатываются однопоточными.
источник
Это не так много, что обновления программного обеспечения сделают процессор быстрее. Все ожидают, что обновления программного обеспечения сделают программное обеспечение более подходящим для архитектуры Ryzen и смогут лучше использовать его производительность.
Почти. В ЦП есть программное обеспечение (микрокод, как упоминалось выше), и оно может влиять на производительность. По сути, X86 определяет только результаты операций, то, как именно процессор достигает этих результатов, является проблемой инженеров. Шансы на подстройку микрокода, играющего основную роль с Райзеном, невелики, поскольку разрыв в производительности, похоже, относится в основном к играм, что говорит о том, что процессор работает хорошо, но некоторые игры, в частности, не используют его хорошо.
Операционная система отвечает за обеспечение эффективного распределения программ по всему ЦП, что может повлиять на производительность, но в целом ни один из этих факторов не является основной проблемой для новой архитектуры. Большинство улучшений производительности в подобных случаях происходят в результате того, что разработчики пишут код, более подходящий для новой архитектуры. Как правило, этого не происходит между поколениями процессоров Intel, поскольку изменения в дизайне не так уж значительны, поэтому то, что хорошо работает для одного, скорее всего, будет хорошо для другого.
Райзен, однако, является совершенно новым дизайном, поэтому все, что было написано для других процессоров по определению, не было написано для Райзена.
Чтобы значительно упростить ситуацию, представьте два процессора:
Процессор Один был на рынке некоторое время, и (по любой причине) очень быстро добавляет цифры. Программное обеспечение предназначено для того, чтобы максимально использовать возможности дополнения, чтобы воспользоваться этой возможностью.
Конкурирующий процессор попадает на рынок и слабее при сложении, но сильнее при умножении. Все программное обеспечение, оптимизированное для использования более сложных инструкций, плохо работает на новом процессоре, но программное обеспечение, которое не было приспособлено для добавления большого количества партий, работает более или менее одинаково. Некоторое программное обеспечение уже может много умножаться и будет работать лучше на новых процессорах, чем на первом процессоре, даже в день запуска.
Через некоторое время после запуска разработчики начнут адаптироваться, используя больше умножения в своем программном обеспечении, или даже разработают свое программное обеспечение для переключения между сложными путями кода и сложными умножением в зависимости от используемой архитектуры ЦП.
Это то, что происходит с Райзеном - это новая архитектура, которую разработчики программного обеспечения еще не оптимизировали для соответствия характеристикам. Со временем разработчики начнут дорабатывать свое программное обеспечение, чтобы оно работало лучше. Поскольку большая часть программного обеспечения уже разработана для эффективной работы на процессорах Intel (в конце концов, они довольно популярны!), Они, вероятно, не получат значительных преимуществ от этих изменений.
Есть некоторые рабочие нагрузки, с которыми Intel просто останется быстрее, а некоторые, с которыми у Райзена уже быстрее (и они будут еще быстрее), в зависимости от основного поведения. В ситуации, которую я описал выше, часть программного обеспечения, которая требует только добавления чего-либо, всегда будет работать лучше на первом процессоре, а программа, которая просто должна умножать вещи, всегда будет работать лучше на втором, но по большей части программное обеспечение является сложным и эти различия несколько выровняются.
Стоит также отметить, что AMD на самом деле говорит о производительности в играх, что они работают с разработчиками над оптимизацией игр. Они отправляют разработчикам системы (в настоящее время их насчитывается 300, и к концу года они стремятся к 1000) и общаются с теми, чьи игры плохо работают, чтобы помочь решить проблему. Насколько я знаю, не было заявлено, что AMD оптимизирует сами игры.
В этом конкретном случае Райзен в некоторых обстоятельствах сдерживается тем, что Windows принимает неверные решения о том, какие ядра загружать с работой, а текущие BIOS проблематичны по причинам, о которых я просто не буду притворяться, что знаю. Однако эти проблемы не могут быть причиной всего разрыва в производительности, поскольку существуют рабочие нагрузки, в которых Ryzen уже убедительно превосходит Intel, что говорит о том, что проблема, по крайней мере, частично (если не в основном) связана с конкретными выполняемыми программами, а не ОС или BIOS в целом.
источник
Конечно, программное обеспечение может улучшить производительность процессора или даже графического процессора.
Один из способов - это разгон или какой-то другой механизм изменения часов. Вторым может быть оптимизация драйверов. К ним относятся более эффективные методы сжатия данных, более быстрые алгоритмы декодирования и т. Д. ... в основном функции, которые помогают лучше использовать больше оборудования. Эти функции также могут быть обновлены с помощью обновлений прошивки, что не является (обычным) программным обеспечением. Тогда есть программное обеспечение, которое может контролировать решение охлаждения вашего компьютера. Это очень полезно для процессоров и графических процессоров, которые используют технологии повышения производительности, такие как Intel Turbo Boost и Nvidia GPU. Подобное оборудование имеет определенные температурные ограничения, поэтому они снижают производительность, когда работают слишком сильно и динамически разгоняются, когда приложения требуют более высокой вычислительной мощности, если они не достигли максимальной потребляемой мощности, и они
Есть и другие варианты, но они в основном покрывают это. По сути, если вы знаете проблему и можете программно манипулировать способом обработки данных (например, вводить некоторый алгоритм интеллектуального декодирования, который заменяет решение типа «грубой силы») или манипулировать реакциями процессора на различные ключевые факторы, влияющие на его производительность. (например, более интенсивное увеличение охлаждения в случае перегрева или мониторинга требований приложений к ресурсам и динамического разгона, когда требуется большая вычислительная мощность), вы можете многое сделать для улучшения (или ухудшения) производительности процессора.
В случае AMD, это, вероятно, оптимизация механизма повышения или охлаждения. Один или оба из них, вероятно, были изменены, чтобы более агрессивно реагировать на увеличение нагрузки или температуры.
TL; DR: Да, программное обеспечение может улучшить производительность процессора. Есть много способов сделать это, например, оптимизировать драйвер и встроенное ПО, разогнать и т. Д. Любое изменение программного обеспечения, которое подготавливает данные, чтобы их было проще обрабатывать или аппаратное обеспечение лучше реагировало на нагрузку или ее ограничения, с большой вероятностью приведет к повышению производительности.
источник
Обновления программного обеспечения определенно могут ускорить работу системы (включая процессор).
Очень ярким примером этого являются большие мэйнфрейм-компьютеры IBM: вы можете купить больше процессорного времени в сети, и все, что вы получите, это лицензионный ключ, который вы должны ввести в свою ОС, и бум!, Ваша система работает быстрее. Хитрость проста: планировщик ОС иногда просто отказывается планировать задачи и вместо этого переводит процессор в спящий режим или даже просто запускает цикл NO-OP на короткое время для достижения заданной общей средней пропускной способности. Если вы платите за более дорогую лицензию, планировщик удаляет эти NO-OP.
Или, что еще более радикально: если вы покупаете систему только с 4, 6 или 8 процессорами, то обычно их будет около 16-32. ОС просто отключает некоторые из них, и, введя лицензионный ключ, вы можете включить их.
Точно так же мэйнфреймы IBM различают разные типы процессоров: процессоры Linux, Java-процессоры, процессоры транзакций и т. Д. Они на самом деле являются одним и тем же процессором, но планировщик ОС откажется планировать задачи транзакций (которые являются наиболее важными) для Процессор Java или Linux. Только виртуальные машины Java будут запланированы для процессоров Java, и только виртуальные машины Linux будут запланированы для процессоров Linux. Если вы хотите получить более высокую производительность транзакций, вам нужно купить лицензии для большего количества процессоров транзакций: опять же, это те же самые процессоры, единственное отличие - флаг конфигурации в планировщике, который говорит: «Не планируйте задачи транзакций для этих процессоров». ».
Другим примером, не столь экстремальным, являются различные выпуски Windows. Разные выпуски Windows поддерживают разное количество ядер ЦП и разное количество памяти. Если у вас большой объем памяти и большое количество процессоров, вы можете ускорить работу своей системы, просто обновив версию Windows до «побольше». Обратите внимание, что издания имеют точно такой же код; где-то есть какой-то переключатель конфигурации, который говорит: «Вы Home Edition, вы поддерживаете только 1 процессор и 128 ГиБайт».
источник