Текущие измерения производительности x86 и Apple M1 ошибочны
Примечание. Работа и заслуга в открытии, о котором я собираюсь рассказать ниже, принадлежит Усману Пирзаде из WCCFTech. На прошлой неделе я был в отпуске, когда появилась эта новость, но я провел для него несколько тестов на ноутбуке AMD, чтобы убедиться, что эти результаты применимы как к процессорам Intel, так и к процессорам AMD относительно M1.
Позвольте мне прояснить заголовок выше: «Недостаток», о котором мы собираемся поговорить, не является проблемой какого-либо конкретного теста или рецензента. Это разница в том, как Apple M1 распределяет и распределяет ресурсы по сравнению с тем, как работают процессоры x86.
Процессоры x86 от AMD и Intel предназначены для использования технологии, известной как симметричная многопоточность (Intel называет это Hyper-Threading). AMD и Intel реализуют эту функцию несколько по-разному, но в обоих случаях процессоры с поддержкой SMT могут планировать работу более чем одного потока для выполнения в одном тактовом цикле. ЦП, который не поддерживает SMT, ограничен выполнением инструкций из одного и того же потока в любом заданном цикле.
Современные процессоры 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, их производительность значительно улучшается. Фактически, здесь 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.
Читать далее
Измерения температуры PS5 выявляют потенциальную проблему
Установленная снизу оперативная память PS5 становится намного теплее, чем верхняя.
Google будет использовать камеру Pixel для измерения пульса и дыхания
Как и многие другие проекты машинного обучения Google, этот в первую очередь появится на телефонах Pixel, и, вероятно, он будет реализован на других телефонах.
Исследователи объявляют о самых точных измерениях, когда-либо возникшие на всю жизнь свободного нейтро
Всемирное сотрудничество ученых объявило, что наиболее точное измерение, когда-либо взятое на всю жизнь нейтрона. Как? Давая нейтроны хорошая давно замочить ультракольную "нейтронную ванну".
Почему измерения Intel TDP не отражают реальную силу Power Draw
Intel публикует данные TDP для каждого из своих процессоров, но фактическое поведение чипа часто не соответствует тому, что подразумевает эта метрика.