Текущие измерения производительности x86 и Apple M1 ошибочны

Текущие измерения производительности x86 и Apple M1 ошибочны

Примечание. Работа и заслуга в открытии, о котором я собираюсь рассказать ниже, принадлежит Усману Пирзаде из WCCFTech. На прошлой неделе я был в отпуске, когда появилась эта новость, но я провел для него несколько тестов на ноутбуке AMD, чтобы убедиться, что эти результаты применимы как к процессорам Intel, так и к процессорам AMD относительно M1.

Позвольте мне прояснить заголовок выше: «Недостаток», о котором мы собираемся поговорить, не является проблемой какого-либо конкретного теста или рецензента. Это разница в том, как Apple M1 распределяет и распределяет ресурсы по сравнению с тем, как работают процессоры x86.

Процессоры x86 от AMD и Intel предназначены для использования технологии, известной как симметричная многопоточность (Intel называет это Hyper-Threading). AMD и Intel реализуют эту функцию несколько по-разному, но в обоих случаях процессоры с поддержкой SMT могут планировать работу более чем одного потока для выполнения в одном тактовом цикле. ЦП, который не поддерживает SMT, ограничен выполнением инструкций из одного и того же потока в любом заданном цикле.

Текущие измерения производительности x86 и Apple M1 ошибочны

Современные процессоры x86 от AMD и Intel используют SMT для повышения производительности в среднем на 20–30 процентов за небольшую часть стоимости или мощности, которые потребовались бы для построения всего второго ядра. Обратной стороной этого является то, что однопоточная рабочая нагрузка не может воспользоваться преимуществом производительности, которое предлагает SMT.

У Apple M1 такой проблемы нет. Некоторые из причин ширины M1 сводятся к незначительным различиям в конструкции между наборами инструкций x86 и ARM. Интерфейс процессора RISC обычно обеспечивает более высокую эффективность с точки зрения инструкций, декодируемых за один поток. (У WCCFTech есть немного больше об этом).

Это не какой-то только что обнаруженный недостаток процессоров Intel и AMD - это единственная причина, по которой Intel построила HT, а также причина, по которой AMD приняла SMT. Процессор x86 обеспечивает гораздо более высокую общую эффективность, когда вы запускаете два потока через одно ядро, отчасти потому, что они были специально разработаны и оптимизированы для него, а отчасти потому, что SMT помогает процессорам с независимыми интерфейсами CISC достичь более высокого общего IPC.

Как эта разница влияет на результаты теста

В любом данном сравнении производительности 1T процессоры x86 работают на 75-80 процентов своей эффективной производительности на ядро. У M1 такой проблемы нет.

График ниже предоставлен WCCFTech. Красные точки данных - это мой собственный вклад в их работу (которую стоит прочитать отдельно):

Текущие измерения производительности x86 и Apple M1 ошибочны

Этот график дает несколько иную картину. Когда вы запускаете второй поток через процессоры x86, их производительность значительно улучшается. Фактически, здесь AMD Ryzen 4800U чуть ли не превосходит M1.

Это справедливое сравнение? Это действительно будет зависеть от того, что вы хотите измерить. Ядро в ядро? Да. Нить за ниткой? Нет. Эта разница в использовании создает сложности при сравнении x86 и M1. В последний раз мы имели дело с подобными измерениями производительности, когда AMD Athlon XP противостоял Pentium 4 с Hyper-Threading. Поскольку AMD приходилось устанавливать оборонительную цену, иногда можно было купить Athlon XP, который превосходил бы P4 с аналогичной ценой в однопоточной производительности, но проигрывал в SMT.

Конечным результатом этой разницы является то, что не будет единого простого способа сравнения масштабирования между Apple и x86, как у Intel и AMD. 1T на ядро ​​эффективно лишает процессоры x86 возможностей, предназначенных для повышения их производительности. Запуск 2T на ядро ​​как на x86, так и на M1 вынудит процессор Apple перейти в потенциально неоптимальную конфигурацию и может снизить его производительность.

Запуск 2T на x86 и сравнение с 1T на M1 «справедливо», поскольку оба ядра работают в оптимизированном производителем состоянии, но это будет сравнение одноядерной, а не однопоточной производительности, и это не будет Удивите людей, когда процессор с 2T превосходит CPU с 1T. Наконец, запуск 2T1C на x86 по сравнению с 2T2C на M1 создает вариацию исходной проблемы: процессор x86 ограничен производительностью одного физического ядра процессора, тогда как M1 выигрывает от двух физических ядер процессора.

Проблема здесь в том, что процессоры x86 спроектированы для оптимальной работы в конфигурациях 2T1C, как показывает недавнее подробное исследование преимуществ и недостатков в производительности включения SMT, в то время как M1 спроектирован для оптимальной работы в конфигурации 1T1C.

Это вполне может быть постоянной проблемой для x86. Помните, что масштабирование по потокам далеко от совершенства и ухудшается с каждым добавляемым потоком. Исторически сложилось так, что ЦП, который обеспечивает лучшую производительность в расчете на ядро ​​при наименьшей площади кристалла и наивысшую производительность на ватт, является ЦП, который выигрывает любой «раунд» войн ЦП, который можно рассмотреть. Тот факт, что x86 требует двух потоков, чтобы делать то, что Apple может сделать с одним, не является сильной стороной. Является ли штрафом только загрузка процессора x86 с одним потоком, будет зависеть от того, какое сравнение вы хотите провести, но необходимо учитывать разницу в оптимальном количестве потоков и распределении.

Основные выводы M1 остаются неизменными. Во многих тестах ЦП показывает стабильно более высокие результаты, чем ЦП x86, если измерять производительность на ватт. Когда он уступает процессорам x86, это обычно микросхемы, которые потребляют гораздо больше энергии, чем он сам. Производительность M1 снижается на 20-30% при запуске приложений, созданных для компьютеров Intel Mac, и в этом режиме он может потреблять больше энергии. Экосистема эмуляции Apple и сторонняя поддержка все еще находятся на начальном этапе и могут не соответствовать потребностям каждого пользователя в зависимости от того, насколько вы подключены к общей экосистеме Apple. Однако все это не является прямым отражением кремния M1, который по-прежнему выглядит одним из самых интересных достижений в кремнии за последние несколько десятилетий и предвестником грядущих проблем для Intel и AMD.

Читать далее

Apple M1 продолжает впечатлять в тестах Cinebench R23 и Affinity Photo
Apple M1 продолжает впечатлять в тестах Cinebench R23 и Affinity Photo

Новые тесты Cinebench R23 изображают AMD в более конкурентном свете по сравнению с M1, но SoC от Apple по-прежнему впечатляет. Однако тест Affinity Photo - это большая победа M1.

Обзоры нового Apple M1 официально объявили AMD и Intel
Обзоры нового Apple M1 официально объявили AMD и Intel

Apple M1 выглядит как потрясающий чип. Не волшебство, нет - но определенно тревожный сигнал.

Почему чип M1 от Apple угрожает Intel и AMD
Почему чип M1 от Apple угрожает Intel и AMD

Собственная история Intel подсказывает это, и AMD должна очень серьезно отнестись к новой SoC M1 от Apple.

Почему чип Apple M1 может стать реальной угрозой для Intel и AMD
Почему чип Apple M1 может стать реальной угрозой для Intel и AMD

Собственная история Intel подсказывает это, и AMD должна очень серьезно отнестись к новой SoC M1 от Apple.