yuriy_dd
перестаньте людям мозги пудрити - самі спочатку розберіться, для себе, в чому основна перевага arm/x86
ось нова стаття від самого chipsandcheese
внизу є порівняння швидкості zen5 i arm x925 в spec2017 з
детальним поясненням
arm поки що навіть в продуктивних ядрах ставить на економію, тому мусить мати низьку частоту і тому ставить максимум ширини - 10 в x925
Це дозволяє наздогнати і навіть трохи перегнати х86 в оптимізованих алгоритмах, але програє там де потрібна просто висока частота. Крім того це сильно ускладнює ядро, що ще більше обмежує частоту. Як приклад цього у х86 приведу Zen3 i Zen5 - перше має всього 200 млн транзисторів (без кешу L2), а Zen5 - 600

При тому Zen5 по IPC швидше лише в 1.3 рази, і ще трохи в AVX512
Ще одне джерело відставання економних ядер - мала ширина векторних інструкцій - 128 біт. Тоді у сильно векторному коді (рендеринг, кодування відео і т.п.) тре обробляти у 2-4 рази більше інструкцій ніж при ширині 256-512 біт, що явно робить ядро повільнішим, навіть якшо аоно можн обробляти 10 інструкцій/такт, а не 8. І IPC ядра тут ні до чого тому що портів для виконання векторів всього 4, а неможе 4х128 бути більше ніж 4х256, а
тим більше 4x512 у Zen5! Ще й на нижчій частоті у ARM. А враховуючи що вектори це зараз основна нагрузка - 2д/3д це масована потокова обробка даних, то така слабість дуже болюча.
Тому ARM проти x86 це шило на мило - x86 займає свою нішу свідомо, векторні обчислення це їх хліб від початку, і глупо від нього відмовлятись - весь софт заточений на них, це ціла індустрія, і поки що gpgpu його не можуть забрати, хоч там прогрес великий. + у x86 є 2 потоки на ядро, що піднімає ефективність ядра на 30-100%, як в продуктивності, так і в енергії. А раз так, то і переходити на рейки ARM їм глупо - вони якраз в золотій середині з максимальним охопленням ринку, а якщо кому тре - є економні ядра. ТАк само і ARM - їх хліб - економність, а векторний код розробити дуже важко і дорого, а користуються ним лише специ, тим більше є gpgpu. Також широкі інструкції це шалені витрати транзисторів на шини і кеші, енергії і її підведення/відведення тепла, падіння IPC, тож простіше дати необхідний мінімум, а при потребі додати ядер.
Велика швидкість Apple в рендері Cinebench (CB) через такі фактори:
1. вищий IPC
2. великий і дуже швидкий кеш L2. CB так розроблений що сильно впирається в затримку памяті - наприклад навіть оптимізація таймінгів памяті дає +10%, а L2 в ARM має всього 12 тактів затримки - 3 нс на 4 ГГц навіть при 2-4 МБ обєму. Це ще +25%. Також в ARM сторінки кешу 16к проти 4к в x86 - це реальна причина швидкості.
3. CB спеціально розроблений під ширину вектора 128 біт, як в ARM, але чомусь не підтримує 256/512, як у x86. Здогадайтесь кому це вигідно

Фактично тест рендеру спеціально не використовує інструкції для рендеру, дивно, правда. Тому основна перевага х86 незамітна, хоча і це легко компенсується мультипоточністю. І в CB2026 нарешті ввели показник не тільки на потік, але й на ядро, де Zen5 750-800 проти 740 в Apple m5
Основна перевага ARM зараз якраз в дуууже дешевій реалізації при власному виробництві - в 10 раз дешевше за ядро ніж у intel/amd