Поточні виміри продуктивності 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, як свідчить нещодавнє глибоке занурення Anandtech у переваги та недоліки ввімкнення SMT, тоді як M1 розроблений для оптимальної роботи в конфігурації 1T1C.

Це цілком може бути постійною проблемою для x86. Пам’ятайте, що масштабування кожного потоку є далеко не ідеальним і погіршується з кожним доданим потоком. Історично склалося так, що центральний процесор, який забезпечує найкращу продуктивність на ядрі в найменшій площі штампа і з найвищою продуктивністю на ват, є процесором, який виграє будь-який “раунд” воєн процесора, про який хочеться розглянути. Той факт, що x86 вимагає двох потоків, щоб зробити те, що Apple може зробити з одним, не є сильним. Чи буде лише завантаження процесора x86 одним потоком покаранням, залежатиме від того, яке порівняння ви хочете зробити, але потрібно визнати різницю в оптимальному підрахунку потоків та розподілі.

Великі вивезення M1 залишаються незмінними. У багатьох тестах центральний процесор демонструє стабільно вищі результати, ніж процесори x86, якщо вимірювати продуктивність на ват. Коли він перевершує процесори x86, це, як правило, чіпи, які споживають набагато більше енергії, ніж він сам. Здається, M1 приймає 20-30 відсотків продуктивності під час запуску програм, побудованих для Intel Macs, і там він може споживати більше енергії в цьому режимі. Екосистема емуляції Apple та підтримка сторонніх розробників все ще перебувають на початку і можуть не задовольнити потреби кожного користувача, залежно від того, наскільки ви підключені до загальної екосистеми Apple. Однак жодне з них не є прямим відображенням кремнію M1, який, як і раніше, виглядає як один з найцікавіших досягнень кремнію за останні кілька десятиліть - і передвістя проблем для Intel та AMD.

Читати далі

Огляд Ryzen 9 5950X та 5900X: AMD розв’язує Zen 3 проти останніх бастіонів продуктивності Intel
Огляд Ryzen 9 5950X та 5900X: AMD розв’язує Zen 3 проти останніх бастіонів продуктивності Intel

AMD продовжує натиск на те, що колись було безперечним торфом Intel.

Intel поширює FUD щодо нібито величезних падінь продуктивності Ryzen 4000 на батареї
Intel поширює FUD щодо нібито величезних падінь продуктивності Ryzen 4000 на батареї

Intel вважає, що представила докази, які заперечують цінність набору продуктів Ryzen 4000 від AMD. Intel помиляється.

Огляди мобільних RTX 3070 показують варіації продуктивності в іграх
Огляди мобільних RTX 3070 показують варіації продуктивності в іграх

Зараз мобільні RTX 3070 і RTX 3070 Max-Q від Nvidia запускаються в мобільних системах. Карти пропонують високу продуктивність, але гравці повинні порівняти ефективність певних ноутбуків, які вони хочуть придбати, перш ніж натискати на курок.

ARM представляє NEW ARMV9 ISA для покращення безпеки, підвищення продуктивності
ARM представляє NEW ARMV9 ISA для покращення безпеки, підвищення продуктивності

Рука оголосила про свою нову ISA, ARMV9. Вона включає в себе нові функції безпеки, новий стандартний SIMD та додаткові оптимізації продуктивності та оновлення функцій.