Компиляция C/C++ на Apple M1

Автор оригинала: Boris Kolpackov
  • Перевод


Заинтригованный впечатляющими бенчмарками M1, я достал последний Mac Mini, чтобы замерить скорость компиляции на C/C++.

Измеряем локальный build2 (без репозитория пакетов), который включает преимущественно код на C++ (611 единиц трансляции) с некоторыми блоками на C (29) и связками между ними (19). Такой бенчмарк требует только компилятора C++ и входит в тестовый набор Phoronix, поэтому можно сравниться с большим количеством процессоров.

Бенчмарк Phoronix в настоящее время использует build2 0.12.0, у нас 0.13.0 (текущий релиз), здесь сборка выполняется примерно на 10% медленнее.

После настройки Mac OS и установки инструментов командной строки для XCode 12.2 у нас есть всё необходимое:

$ clang++ --version
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: arm64-apple-darwin20.1.0

Судя по _LIBCPP_VERSION в заголовке __version файла libc++, эта версия Apple Clang ответвилась от ванильного Clang где-то в процессе разработки 10.0.0.

Возможно, вы также заметили, что название процессора в триплете Apple Clang отличается от стандартного aarch64. На самом деле config.guess показывает следующее:

$ ./config.guess
aarch64-apple-darwin20.1.0

Чтобы не использовать два названия для одного и того же, build2 канонизировал arm64 в aarch64, поэтому в buildfiles мы всегда видим aarch64.

Проверим количество аппаратных потоков в sysctl:

$ sysctl -n hw.ncpu
8

Здесь 8 потоков, это 4 производительных ядра и 4 энергоэффективных. В первом прогоне задействуем все ядра. Очевидно, это даёт наилучший результат:

$ time sh ./build2-install-0.13.0.sh --local --yes ~/install
163s

Приятным сюрпризом оказалось то, что build2 0.13.0 заработал без особых проблем, хотя он вышел раньше M1. Поскольку в ARM слабое упорядочение памяти, это также послужило дополнительной проверкой многопоточной реализации build2 и интенсивного использования атомиков.

Для начала сравним M1 с моей рабочей станцией на 8-ядерном Intel Xeon E-2288G (по сути, i9-9900K плюс ECC). Та же сборка на ванильном Clang занимает 131 с. Хотя это лучший результат, но производительность M1 всё равно впечатляет. Особенно если учесть, что во время компиляции рабочая станция буквально изрыгает горячий воздух и гудит как самолёт, а М1 тихо шуршит с едва заметным потоком тёплого воздуха.

Однопоточный бенчмарк оценивает производительность CPU в инкрементальных билдах:

$ time sh. /build2-install-0.13.0.sh --local --yes-j 1 ~ / install
691s

Ядро E-2288G справляется за 826 секунд. Таким образом, ядро Xeon на 5 ГГц на самом деле медленнее, чем ядро M1 на 3,2 ГГц.

Еще один интересный результат — четырёхпоточный прогон, который использует только производительные ядра М1:

$ time sh ./build2-install-0.13.0.sh --local --yes -j 4 ~/install
207s

Хотя он несколько медленнее восьмиядерного теста, но зато использует меньше памяти. Таким образом, такой вариант имеет смысл на системах с недостатком оперативной памяти (как на всех современных машинах M1).

Вот краткое изложение всех результатов:

CPU   CORES/THREADS  TIME
-------------------------
E-2288G    8/16      131s
M1         4+4       163s
M1         4         207s
M1         1         691s
E-2288G    1         826s

Понятно, что во многих отношениях это сравнение яблок с апельсинами (рабочая станция против мобильного устройства, старый дизайн и техпроцесс против самого современного и т. д.)

Теперь добавим несколько интересных результатов из бенчмарка Phoronix. В частности, уместно взять показатели новейших рабочих станций и мобильных процессоров Intel и AMD. Вот моя подборка (можете составить собственную, только не забудьте добавить дополнительные 10% к результатам Phoronix; также обратите внимание, что в большинстве тестов используется GCC вместо Clang):

CPU                    CORES/THREADS  TIME
------------------------------------------
AMD   Threadripper 3990X    64/128    56s
AMD   Ryzen        5950X    16/32     71s
Intel Xeon       E-2288G    8/16      131s
Apple                 M1    4+4       163s
AMD   Ryzen        4900HS   8/16      176s*
Apple                 M1    4         207s
AMD   Ryzen        4700U    8/8       222s
Intel Core         1185G    4/8       281s*
Intel Core         1165G    4/8       295s

* Экстраполяция.

Обратите внимание, что результаты для лучших мобильных Intel (1185G) и AMD (4900HS), к сожалению, ещё не доступны, и приведённые цифры экстраполированы на основе частоты и других бенчмарков.

Из приведённой выше таблицы легко понять, что Apple M1 — впечатляющий процессор, особенно с учётом энергопотребления. Более того, это первый общедоступный ARM-процессор настольного класса. Для сравнения, та же сборка на Raspberry Pi 4B занимает 1724 секунды, то есть более чем в 10 раз медленнее! Хотя мы не можем тут загрузить Linux или Windows, но есть некоторые свидетельства, что они работают на виртуальных машинах с приличной производительностью. В итоге, конвейер непрерывной сборки на базе ARM может стать стандартным.

Увидев бенчмарки M1, невольно задаёшься вопросом, как Apple такое удалось. Хотя есть много спекуляций с некоторыми элементами чёрной магии и колдовства, но вполне хорошим источником технической информации мне показалась эта статья о M1 на Anandtech (и ещё одна там по ссылке). Основные моменты:

Процесс TSMC 5 нм
По сравнению с интеловскими 10 нм (для 11x5G, 14 нм для E-2288G) и 7 нм у AMD/TSMC.

LPDDR4-4266 RAM
Только новейшие мобильные процессоры от Intel и AMD работают с такой быстрой памятью.

Большой кэш L1
У M1 необычно большой кэш L1 для команд и данных.

Большой и быстрый общий кэш L2
В отличие от процессоров Intel и AMD, которые используют отдельные кэши L2 меньшего объёма и большой, но более медленный общий кэш L3, в процессоре M1 реализован быстрый и большой общий кэш L2.

Широкое ядро
У M1 необычайно «широкое» ядро, которое выполняет несколько инструкций параллельно и/или не по порядку. Есть предположение, что из-за слабого упорядочения памяти ARM и кодирования команд фиксированного размера, Apple смогла сделать гораздо более широкое ядро.

Было бы также интересно посмотреть, как Apple сможет масштабировать эту конструкцию на большее количество ядер.

Комментарии 163

    +8
    Впечатляет. Никогда не любил яблочную технику, но нужно признать, что М1 у них получился очень хорошим, даже если уполовинить восторженные отзывы и синтетические бенчи. Подумываю купить себе для опытов.
      +7
      Соглашусь. Я крайне не люблю Apple за их ценовую политику, за то что они пользователям не оставляют выбора и т.д., но как бы я не противился, не могу отрцать их вклад в современный мир. iPod, iPhone, iPad а теперь и Маки + сопутствующие им технологии. Причем не столько в сами технологии, сколько в их реализации. Хочется верить что и с ARM у них все получится и в конечном итоге у нас будет тьма производителей процов и дешевые цены на них, ну и бонусы с энергоэффективностью тоже будут плюсом. :-)
        +9
        Ценовую политику. Ну вот ноуты и стоят так же как ультра буки у других, какие-нибудь леново thinkpad-ы так и дороже обойдутся при худшем экране и таче и процессоре. Телефоны по ценам так же как и самсунги и не намного других обгоняют. Тут уже сяоми почти подтянулся. Планшеты со стилусом не прошные, так вообще фактически вне конкуренции. Поэтому вот говорить что просто дорого, то сравнивать надо с товаром такой же категории, а не с Асером на селероне и эраном 1280 на 720 за 20 т.р.
          –4
          Ради интереса зашел и потыкался:
          — iPad Pro — 146k
          — MacBook 16" — 665k
          — iMac Pro — 1,4kk
          — Mac Pro — 5,4kk
            +7
            И?

            Makbook Pro 13
            Чип Apple M1 с 8‑ядерным процессором, 8‑ядерным графическим процессором и 16‑ядерной системой Neural Engine
            8 ГБ объединённой памяти
            SSD‑накопитель 256 ГБ¹
            Дисплей Retina 13 дюймов с технологией True Tone
            Клавиатура Magic Keyboard
            Touch Bar и Touch ID
            Трекпад Force Touch
            Два порта Thunderbolt/USB 4
            Экран 2560×1600 Яркость 500 кд/м²
            129 990.00 pyб.

            Lenovo ThinkPad X1 Carbon
            Дисплей: 14" IPS 1920x1080 FHD; 400 нит
            Процессор: Intel Core i5 i5-10210U 1.60 ГГц;
            Видеокарта: Intel UHD Graphics;
            Оперативная память: 8 Гб LPDDR3;
            Накопитель: SSD 256 Гб;
            145 590 руб.

            Плюс к этому у макбука лучше экран по яркости и цветопередаче и лучше звук. Ну и плюсом дольше работает. И в общем леново медленней заметно будет с i5.
              0
              Можно я не буду продолжать спор? Вы же понимаете что в цену нового Makbook Pro 13 легко находится аналог, превосходящий по: разрешению, памяти, объему диска и с настоящей видюхой? К примеру, Huawei Matebook X Pro MACHC-WAE9LP.

              Раз вы считаете что цены «ок» — дело ваше. Мое мнение немного выше в ветке. Люди мы взрослые, выводы строим каждый для себя сам, опираясь на свой субъективный анализ имеющихся у нас фактов. А истины не существует. Добра вам. :-)
                +1
                UPD 03.08.2020: ThrottleStop не работает в последних обновлениях BIOS, в режиме максимальной производительности температура улетает вверх и можно кипятить чайник. Ограничил частоты стандартными средствами винды до 2,9ГГц, выбрал режим оптимальной производительности, температура в норме.

                UPD 03.09.2020: откатил BIOS до 1.05, с ним ThrottleStop работает и проблем с нагревом больше не наблюдается.

                UPD 13.11.2020: клавиатура стирается при интенсивной печати, т.е. становится глянцевой в местах соприкосновения с пальцами. Заметил это спустя месяц использования, мог бы списать это на особенности моих рук или манеру набора текста, но увы, с таким неприятным недостатком столкнулся не только я.

                Второй ноутбук за 2 месяца требует ремонта, а скорее всего замены… Первый ноутбук бы куплен новым по приезде домой, после начала работы при нажатии на клавиатуру, начал издавать весьма сильные скрипы и трески с правой стороны, как будто играет задняя крышка или что-то под ней, естественно крутить болты на только купленном гарантийном ноуте не хотелось от слова совсем, да и была надежда, что достаточно дорогой ноут крупнейший сетевой магазин электроники поменяет сразу, но нет — радостно сообщили, что берут на 21 на «проверку качества»!

                Купил бы я его, если бы знал все что знаю теперь? Наверное нет.
                  +5
                  Можно я не буду продолжать спор? Вы же понимаете что в цену нового Makbook Pro 13 легко находится аналог, превосходящий по: разрешению, памяти, объему диска и с настоящей видюхой? К примеру, Huawei Matebook X Pro MACHC-WAE9LP
                  Это MX250 то настоящая видюха? Её интегрированная в M1 обходит. А еще в matebook'e intel 10-ого поколения, LPDDR3 память на 2133 МГц вместо LPDDR4X на 4266, ну и дальше по мелочи. В общем, достойного конкурента не так уж и легко найти. А если учитывать такие параметры как качество тачпада и живучести от батарейки, то едва ли вообще возможно. И, имо, среди M1 макбуков лучше взять air — перф различается несущественно, батарейка тоже, а тачбар этой дельты точно не стоит.
                    0
                    Пишут вот что про ноуты с m1: «яркость дисплея MacBook Pro может достигать 500 нит, тогда как у MacBook Air – 400 нит». Я думаю, если человек любит в теплое время года на веранде дома работать днём, то яркость решает.
                    При этом у прошки «студийный микрофон и динамики», что бы это не значило, а у эйра обычные.
                      0
                      Несущественно — это пока до 100 градусов не прогреется
                        0
                        так он прогревается несколько минут
                      +4

                      В макбуках цветовой охват приближается к P3, даже в новом Air. Попробуйте найти такой в других производителей меньше чем за 2500$

                        +1
                        Можно я не буду продолжать спор? Вы же понимаете что в цену нового Makbook Pro 13 легко находится аналог, превосходящий по: разрешению, памяти, объему диска и с настоящей видюхой? К примеру, Huawei Matebook X Pro MACHC-WAE9LP.


                        А вот и нет!
                        Удачи Вам в этом, пишу Вам с Macbook Pro 13" Late 2013.
                        Несмотря на то, что моему старичку уже 7 лет и он на родном аккумуляторе, у которого 600 циклов, он до сих пор держит 5-6 часов (вместо 14 в начале)!
                        Более того, им вполне можно пользоваться в некоторых задачах!

                        Я честно искал замену все эти годы, но везде есть одно или более НО:
                        — 15" и FHD делают шрифты омерзительно ужасными;
                        — ужасное охлаждение и перегрев (да, в том числе MBP 16" это позор...);
                        — ужасный тачпад (ну вот ЗАЧЕМ ЧЕРТ ВОЗЬМИ ДЕЛАТЬ ЕГО ШЕРШАВЫМ !?);
                        — пластиковый корпус (есть же нормальный пластик, но нет, надо ж самый дешевый ABS !);
                        — проблемы с драйверами под ввоон ту сетевую карту, которая есть только тут;
                        — плохая подсветка клавиатуры;
                        — ужасно тугой механизм экрана или вовсе хлипкий;
                        — неравномерная подсветка экрана;
                        — зачастую бесполезное железо чисто для галочки (MX250, MAX-Q и прочее);
                        — bloatware (а если переставить систему, то проблема драйверов см. выше);
                        — ужасная автономность (ага только часа 4-5 пока новый);

                        Итак, подитожим что мы имеем в маках и их цене:
                        — стоимость их сервисов (синхронизация заметок и прочего через облако);
                        — бесплатные обновления ПО ОС (которые редко что-либо ломают, но есть же TimeMachine ?);
                        — превосходный экран с вменяемым разрешением для ТЕКСТА;
                        — нормальный корпус из приятного материала;
                        — вменяемую автономность;
                        — и прочие антиминусы win-ноутбуков;

                        Вот, ЭТО стоит ~210К!!!
                        Сдувается от перегрева или без зарядки почти сразу.
                        Вот Вам некоторое доказательство.
                        И где Ваше дешевле и лучше?
                        Ну вот где !?
                        Могу предположить, если бы оно и было, то было бы оно везде, на каждом сайте и в каждой новости… ой… так именно это и произошло с M1!

                        Уже заказал себе это Air чудо на M1 с 16Gb опцией.

                        Пожалуйста, быть может уже настало время выкинуть методичку, где написано что «Aplle это дорого» и взглянуть на мир чуть иначе более… ммм… досконально, не ?

                        P.S.
                        И да… припекло…
                          0
                          Вот, ЭТО стоит ~210К!!!
                          Сдувается от перегрева или без зарядки почти сразу.
                          Вот Вам некоторое доказательство.
                          И где Ваше дешевле и лучше?
                          в G14 хотя бы видюха неплохая, и в выбранном варианте 32 гига (хотя эту версию фиг найдешь), т.е. он хотя бы по некоторым параметрам существенно обходит M1 mac'и. А вот тот же dell xps вообще не выдерживает конкуренции, являясь ближайшим аналогом.
                            +1
                            — 15" и FHD делают шрифты омерзительно ужасными;

                            А это разве не только на MaсOS, где отрубили нормальное сглаживание?
                    0

                    Так-то они с 1976-го вкладывают, Антош.

                    +1
                    А в чем интересно не любовь.
                      0

                      Не забываем про два ключевых момента:
                      1) М1 это SoC, а не просто CPU, где-то видел про прирост в тенсорфлоу 7х
                      2) это не железо в вакууме, а как говорили раньше: программно-аппаратный комплекс. Про работу винды на арме сами знаете, как сейчас обстоят дела.


                      Все по заветам покойного: «People who are really serious about software should make their own hardware.»

                        0
                        Судя по тому, что винду таки запустили на М1 (через QEMU правда) и на нём она показала двукратное(!) быстродействие по сравнению с родным Surface… В общем, я всё больше хочу эту железку в коллекцию. Но ещё не решил — ждать М1Х или просто купить макмини на младшем процессоре.
                          0

                          Подождать, пока выйдет вторая версия камня)
                          Ну и M$ может разговлеется, и сделает-таки нормальные лицензии для arm.

                      0
                      Очень достойная производительность. Вы случайно не занимаетесь работой с контроллерами!? Очень хочется узнать возможность установки драйверов программаторов для популярных чипов от Microchip и ST.
                        +6

                        Я занимался. В основном всё Win-only. Некоторые, TI, даже сделали под Linux. Это убогое нечто.


                        ST молодцы, 90% их чипов можно программировать/отлаживать в любой ОС на любом CPU.

                          0
                          Потому что Java…
                            0

                            Потому что cortex-m и openocd.

                              0

                              Java — ха-ха, упоротые из TI сумели сделать Eclipse(java) -> node(JS) -> сишная программа -> драйвер. В своё время насмотрелся на этих жопакул


                              Для себя принял следующие принципы: нет GCC и поддержки OpenOCD — микроконтроллёр идёт лесом.


                              Это ещё не считая откровенного вранья в даташитах, на сайте и т. д.


                              P.S. Это конечно моя личная ненависть к TI, уже четыре года не имел с ними дела, может что-то и изменилось к лучшему.

                          +1
                          Мне кажется, или после данной статьи, и вот этой новости, прения здесь можно прекратить?

                          Т.е. Apple будет паровозом маркетинга для своего продукта, и для всех кто в этот паровоз захочет запрыгнуть вместе со своими продуктами. Хайп будет…
                          Главное, чтобы среди всего, что с архитектурой ARM выпустят в десктопный рынок, было хотя-бы несколько продуктов без блобов. Вот они реально пойдут в массы.

                          Интересно, Google имея хромбучный опыт, в десктопы не ринется?
                            +6
                            Похоронка интел, выписанная от VDSina.ru, не очень серьезная штука. Основное обвинение, что интел, стала большая и неповоротливая компания. Но здесь уже вопрос компетенции, автора. Интел двигает CPU+FPGA, а облачный провайдер, выписывающий похоронку IT гиганту, даже не знает о такой технологии. Выстрелит или нет, эта технология, вопрос открытый, но факт, интел все же берется за продвижение революционных технологии.
                            В общем, лично я приветствую технологическую гонку Intel vs AMD, x86 vs ARM vs RISC vs FPGA.
                              0
                              Это ерунда полнейшая, кстати. Аутсайдеры всегда видят большие корпорации только целиком, будучи не в курсе насчет того, как там внутри все устроено.
                                0
                                На самом деле, я тоже не верю, что Intel сольётся. И x86_64 ещё пободается лет 15 за своё место под солнцем. Для меня главный посыл той статьи, — Apple вливает кучу бабла в маркетинг и продвижение десктопной платформы на ARM. И если к этому паровозу присоединятся другие гиганты отрасли, то мы возможно, получим ещё одну десктопную платформу (или несколько), на архитектуре отличной от x86_64. Будут разные лагеря и холивары, и жёсткая конкуренция, что выльется в:
                                1. Снижение цен на десктоп платформы и конкурирующие архитектуры
                                2. Гонку производительности, которая в конце-концов и в серверный сегмент перейдёт
                                3. Расширение экосистемы десктопов и соответственно рынка их обслуживания
                                  +1
                                  1. Снижение цен на десктоп платформы и конкурирующие архитектуры
                                  Они уже снизились из-за конкуренции в стане x86. Вот если б 3 года назад АМД не выкатила свои процы, то сейчас бы интел выдавал бы максимум 6/12 в декстопном сегмента и в этом случае решение Эпла было бы бомбой под интел (даже если предположить, что исчезновение процов амд сказалось бы на бизнесе TSMC и скорости внедрения новых нанометров — то даже на 7 нм решение эпла скорей всего вышло бы круче).
                                  2. Гонку производительности, которая в конце-концов и в серверный сегмент перейдёт
                                  Начали так же 2 года назад Эпики)
                                  3. Расширение экосистемы десктопов и соответственно рынка их обслуживания
                                  так как доля декстопов не то что бы особо растёт, да и количество новых, то это скорее приведёт к большей сегментации и ухудшению многих проблем (если под x86 стандартизируют, то вот под арм каждый производитель вертит что хочет)
                                    +2
                                    3. Расширение экосистемы десктопов и соответственно рынка их обслуживания

                                    Или превращение её в такое же закрытое болото, как и другие устройства на ARM.
                                      0
                                      Это худший вариант. А вот в коменте выше более реальный, что-то в духе анархии 90-х в мире ПК, с кучей производителей ПК, кучей проблем, холиваров, и т.д. Но главное, что это ведёт к естественной селекции и массовым продуктам.
                                        0
                                        Я не думаю, что это будет так. Вариант с закрытыми архитектурами мне кажется более реальным. Не те сейчас времена, чтобы делать анархию, стандарты и совместимость, людям нужны готовые устройства с предустановленной ОС. Взаимозаменяемость останется в топовом сегменте разве что.
                                          0
                                          На десктопах ситуацию всё-таки несколько иная. PC-энтузиасты не любят готовые компьютеры, по большей части.
                                            0
                                            Ну и сколько этих энтузиастов в процентах? Я сам себе собираю, но вижу, что на работе полсотни ПК были куплены в сборе. Если их будут собирать на заводе, а не в магазине, никто и не заметит.
                                              0

                                              Ну, тоже да) Собственно, я себе компьютер собрал, но когда потребовалось быстро купить компьютер деду – просто купил подходящий готовый.
                                              Но всё же есть надежда на /r/pcmasterrace, что хоть на PC закрытыми архитектурами не закончится :)

                                                0
                                                Если их будут собирать на заводе, а не в магазине, никто и не заметит.
                                                Вообще-то большая разница между сборкой в магазине из выбранных комплектующих и выбор между вариантами готового брендированного ПК. Особенно, на гарантию (у запчастей всех по 3-5 лет гарантии, а на заводское 1 год дают не редко, передаю привет HP).
                                                Те же нюки от интела требуют воткнуть оперативку и ссд, что занимает пару минут времени, но уже проходят в графе сброка из комплектующих)
                                                Хотя есть IRUшные сборки из интеловских нюков
                                          0

                                          Даже если и так, другие уже видели, что это возможно.
                                          И сделали эти процессоры не высоколобые ученые в CERN'е, а обычная компания со всеми этими эффективными методологиями, стендапами и прочей ерундой.


                                          Появление конкурентов теперь — вопрос времени. Скоро будет драка.

                                            0
                                            И сделали эти процессоры не высоколобые ученые в CERN'е, а обычная компания

                                            Где про это почитать?

                                              –1

                                              Эм. Вы сомневаетесь в том, какая фирма сделала Apple M1? Роскосмос, конечно же.


                                              Вообще, это жирный такой намек был на 10/40/100G оптику.

                                                +1

                                                Я сомневаюсь, что его сделала "обычная компания". У неё столько ресурсов, что могли бы нанять кого угодно.

                                                  –1

                                                  Не боги горшки обжигают…


                                                  Закидать проблему деньгами работает только если проблема — исключительно в деньгах, а их, в свою очередь, некуда потратить.
                                                  А видите упоминание CERN? Вот это — пример необычной кампании, в корне отличающейся от топа, середины, низа и вообще любой части списка из обычных компаний.

                                                    +1
                                                    За деньги можно купить специалистов и дать им ресурсы, что эпл и сделала. Эпл ни разу не обычная компания с учетом ресурсов. Как денежных, так и умственных.
                                                      0

                                                      Этот опасается, что вы не в том видите необычность.

                                        0
                                        Похоронка не похоронка, но Интел сейчас прям зажата в тисках. Понятно что совместимость будет тянуть сильно в корпоративном сегменте особенно, но в остальной части будет прям сильно сокращаться. А CPU+FPGA, это все же узкий сегмент.
                                          0
                                          Пока они очень сильны на рынках суперов и облаков, АМД с нуля там до сих пор процентов 10 что ли имеет, хотя уже года 3 как предлагает более дешевые и производительные варианты…
                                          +2
                                          Я намерян до последнего цепляться за комфортную мне Intel/AMD, на которой например запускается много старого legacy. Но обоим руками приветствую усилия конкурентов. Это безусловно пойдет x86 на пользу.
                                        +2
                                        Читал недавно такую англоязычную статью: erik-engheim.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2, в которой упоминается, что в M1 засунули целых 8 декодеров инструкций. У Intel и AMD их всего 4 на ядро.
                                          +4

                                          Но там же сказано, что больше смысла добавлять нет — их будет сложно нагрузить. Приходится угадывать где начинается следующая инструкция, добавление ещё одного декодера немного увеличит производительность ценой увеличения энергопотребления. ARM лишён данного недостатка — все команды выровнены и можно сразу начинать декодирования несколько. Да, поставили 8 декодеров. Intel/AMD могут с трудом поставить тоже 8, но с ARM можно поставить 16, потратив меньше усилий.


                                          Я к тому, что это не так достижение Apple, как достижение RISC-архитектуры, а именно ARM. Даже если вы не любите Apple, их M1 подтолкнёт много разработчиков ARM-процессоров улучшать свои процессоры.


                                          И к тому же, M1 достигает таких результатов при частоте 2.3 ГГц. И она такая малая не из-за каких-то концептуальных ограничений. Вовсе нет, это просто ограничение теплопакета. Если увеличить частоту и соответственно теплопакет, можно добиться лучших результатов.

                                            +1

                                            Но ведь x86 внутри тоже RISC.

                                              +4

                                              Да, но он изнутри CISC. А его достаточно дорого (если хочешь быстро), или очень медленно (если хочешь дешево) парсить, чтобы заполнять буфер внутренних RISC-инструкций.

                                                +3
                                                Да, но он изнутри CISC

                                                Может быть, всё-таки снаружи?

                                                  +12

                                                  Да, именно. Извините, я не носитель русского.

                                                +1
                                                Декодировщики команд сложнее, не декодировав текущую команду не узнать где следующая. Плюс команды разбиваются на много мелких результат которых собирать надо в кучу.
                                                  0
                                                  — Предекодирование длины есть уже очень давно
                                                  — Декодеры большую часть времени ничего не делают
                                                  — Большинство команд порождают по 1 микроопу
                                                  — Есть такая вещь, как слияние микроопов
                                                0

                                                8 декодеров на CISC имеют смысл разве что с SMT4.
                                                Емнип, появление четвертого декодера как раз совпадает с возвращением HT и их (декодеров) удлинением.
                                                А 2.3 — вполне логично. При двойном количестве EU и декодеров их можно загрузить той же работой на половинной частоте, сохранив производительность.

                                                  +1
                                                  И к тому же, M1 достигает таких результатов при частоте 2.3 ГГц
                                                  3.2* ГГц. Насколько мне известно, до 2.3 он не опускается даже при троттлинге в MBA.
                                                  Вовсе нет, это просто ограничение теплопакета
                                                  возможно чипы на 5нм техпроцессе нестабильны при заметно большей частоте.
                                                  Если увеличить частоту и соответственно теплопакет, можно добиться лучших результатов.
                                                  к сожалению, с ростом частоты нелинейно растут и энергопотребление, и производительность. Например из-за того, что задержки памяти не уменьшаются. Разогнав свои 3.2 ГГц в 5 они могли бы получить около 20% производительности, увеличив потребление в 4-5 раз. Ну, по крайней мере это примерно так работает в десктопах
                                                    0
                                                    И она такая малая не из-за каких-то концептуальных ограничений.

                                                    И кто вам это сказал? У процессоров всегда есть вполне конкретные пределы частот, выше которых невозможно прыгнуть хоть ты с жидким азотом охлаждай. В том числе это зависит от типа выбранного техпроцесса, т.к. они тоже оптимизируются под скорость или энергопотребление.
                                                    0
                                                    Декодер команд для arm предельно простой, потому как формат самих команд фиксированный.
                                                    Тут нужно на конвейер команд смотреть, он примерно одинаков для интела и arm на уровне простых операций логики и математики. Всё что уже могло быть сделано в параллельном виде — уже заоптимизированно по самые гланды. Интересны те самые небольшие отличия.

                                                    Осталось всего одно шаткое направление — триггерная логика. Это когда логика и математика выполняется асинхронно параллельными каскадами без внешнего клока — по фронтам триггеров завершения операции. Вещь сама по себе не подающаяся разгону, потому как уже работает на пределе кремния. Иии, пока ещё не реализованная, потому что сложно очень.
                                                    Чисто гипотетически, такой конвейер способен работать в десятки раз быстрее стандартного варианта. Ну это как серийный интел на эквивалентную частоту в 40ГГц. Почти как сказка.
                                                      0
                                                      Но армовские декодеры по идее проще должны быть чем под x86.
                                                      +2
                                                      M1 это же фактически мобильный (в плане, что для ноутбуков и компактных станций вроде Mini) чип? Если так, то результаты впечатляющие. Интересно, выкатят ли что-нибудь для своих рабочих станций (в формфакторе ПК) или там тоже будут M1?
                                                        +2
                                                        Ходят слухи о M1X, 12 ядер (8+4) и, возможно, более высокая частота, под 45W. Ожидается ли что-то еще более мощное пока неизвестно.
                                                          +1
                                                          Они пока упёрлись в то, что не смогли дискретную графику с м1 подружить. Ходит слух, что скоро выкатят ещё пачку обновлений на 32гб ram. (хотя мне не понятно то, почему они не выпустили MBP 16" на м1. (он бы наверное сутки работал от батареи)
                                                            +1
                                                            Ну вот наверное из-за проблем с дискретной графикой и не выпустили. + в макбутки наконец-то завезли больше 16Гб памяти, а тут опять забирать назад?

                                                            Должны же были оставить вариант для тех, кому нужна внешняя графика и/или больше 16 ОЗУ.
                                                          0
                                                          А вы не пробовали прогнать тесты компиляции через Rosetta2/clang amd64? — (SPECint с того же anandtech показываает результаты от 49.87% до 94.73% — причём наихудшие как раз для gcc компилятора )
                                                            +4
                                                            а какой смысл гонять оптимизированное приложение через rosetta2? Результат компиляции же не меняется. Если вас интересует производителность конкретно rosetta2, то её тот же LTT оценил в «2/3 to 3/4 of full speed». Что, с учетом очень достойной одноядерной производительности, должно с лихвой хватать для всего непрофессионального даже через rosetta2. Например вот здесь демонстрируется разница в 2.4 раза в однопоточке против zephyrus G14 (ryzen 4900HS) при питании от батареи. Это сильно больше, чем штраф от rosetta2.

                                                            Для профессиональных задач лучше конечно же подождать M1X устройства. Или не лучше — надо смотреть по задачам. В любом случае опираться на производительность rosetta2 странно — рано или поздно подавляющее большинство приложений будет работать нативно, а если у вас вся работа в x86 и это не изменится в обозримом будущем, то какой смысл в ARM mac'е?
                                                              0
                                                              Толку от вопроса не было, т.к. не заметил, что это опять перевод, несмотря на как минимум славянские имя/фамилию автора :(

                                                              А смысл вопроса был в том, чтобы понять, насколько такой mac целесообразно использовать для test/build-server для кросс-платформенной разработки — его габариты/экономичность/малый уровень шума очень хороши, но 49.97% для 502.gcc теста из Spec2017 делают это нецелессобразным, а вот 70.06% для 403.gcc из Spec2006 — вполне интересным.
                                                            +1
                                                            Невероятно для дебюта
                                                              –1
                                                              Так это не дебют, это эволюционные наработки.
                                                              Лично я по тем тестам, которые читал, вижу паритет по производительности на ватт со свежими х86, что говорит о том, что обе архитектуры хорошо развиты и оптимизированы и в целом их потенциал схож.
                                                                +5
                                                                а где можно получить fan-less ультрабук с Ryzen 9 5950X?
                                                                  –1
                                                                  А зачем перекручивать? У 5950X TDP 105 W (а по факту, возможно, и больше), конурент М1 — Ryzen 4800U, который, насколько я помню, основан на ядре Zen 1, даже не 2 и тем более не 3. Это камень в огород АМД, у которых мобильные ЦП уже на два поколения отстают от десктопных, потому М1 на их фоне и выглядит хорошо. Но даже с ними у М1 в среднем паритет: www.anandtech.com/show/16252/mac-mini-apple-m1-tested/5
                                                                    +6

                                                                    4800U — это Zen 2. Однопоточная производительность сильно ниже. По энергопотреблению далеко не паритет.

                                                                      –1
                                                                      Да, я ошибся с ядром. Насчёт остального — я привёл результаты тестирования anandetch, я им больше доверяю, чем какому-то чуваку с реддита с ноутбуком, о котором мы ничего не знаем (обновления UEFI, обновления ОС, настройки питания, не накосячил ли вендор с TDP или охлаждением). Однопоточная производительность по тестам тех же Anandtech действительно хороша, а вот многопоточная вполне наравне, особенно, если учесть, что формально у 4800U 15 Вт (не знаю, сколько по факту, это зависит от конкретного устройства, наверное), а у М1 >20 Вт.
                                                                        0

                                                                        Вот подменяете TDP и энергопотребление. На графиках подписан TDP, при этом замеров 4800u не делалось вообще.


                                                                        Немного измерений его потребления есть у Anandtech тут и тут, но надо понимать, что каждое конечное устройство обладает профилями питания, которые могут как укладываться в TDP, так и серьёзно его превышать. Поэтому ориентироваться на него просто нельзя без измерений.


                                                                        Формально у M1 нет объявленного TDP. Измерения потребления показывают от 15 Вт в Cinebench, до пика 21 Вт в одном тесте SPEC2006.

                                                                          –1
                                                                          Согласен, это тёмное пятно, которое требует дополнительных измерений. Измерения наверняка были в тесте этого ЦП, но я его не помню.
                                                                          +2
                                                                          на x86 там ТДП такое, толи средняя нагрузка, только чуть ли не стоичие. У i7-9xxx 45ВТ тдп, а под нагрузкой почти 70 жрет при том с тротлингом.
                                                                            0
                                                                            Intel TDP указывает для нагрузок, не требующих буста, десктопные версии указанных вами камней и 200Вт умеют потреблять.
                                                                        +1
                                                                        > У 5950X TDP 105 W (а по факту, возможно, и больше), конурент М1 — Ryzen 4800U

                                                                        я ориентировался на эту статью — www.anandtech.com/show/16226/apple-silicon-m1-a14-deep-dive/4

                                                                        > Но даже с ними у М1 в среднем паритет:
                                                                        т.е. есть funless ультрабук с этим CPU?
                                                                          +7
                                                                          funless

                                                                          Да много их.
                                                                          (простите)

                                                                            0
                                                                            это как? :)
                                                                              +10

                                                                              Это когда покупаешь ноутбук, а фана от него никакого.

                                                                                0
                                                                                принимаю :)
                                                                        0
                                                                        У ТСа mac mini он не fan-less если что. А fan-less версия macbook air имеет ниже частоты емнип. Но процессор действительно передовой получился да. Хочется посмотреть на ответы интоля.
                                                                          +1
                                                                          А fan-less версия macbook air имеет ниже частоты емнип.

                                                                          Не, Air просто троттлиться начинает после 5-8 минут многопоточной или серьёзной гибридной CPU+GPU нагрузки.

                                                                            +1
                                                                            в первых тестах у Ананда — ваще а14, из айфона :) и там он топ-чик
                                                                              +1
                                                                              Я уже джва года жду ответа интела на амд, а тот до сих пор обещает ответ только через годик…
                                                                                0
                                                                                По сути в игровой производительности интел был побит вот только что, с выходом Zen3.
                                                                                  +1
                                                                                  Топовой в топовых конфигах. А в средних не так что бы особо, особенно с учетом, что на zen2 можно было собрать на мамке тысяч в 5 и не париться — разгон оперативки есть, проц до 8 ядер не потеряет производительности из-а тротлинга системы охлаждения.

                                                                                  Плюс проигрывал в тех же стриминговых задачах (то есть как только требовалось ещё несколько ядер нагрузить в фон к игрушке, что вообще-то нормальная ситуация в домашних компах — редко люди выключают все фоновые задачи, как на тестовых конфигах).
                                                                                  0
                                                                                  Ну AMD тоже долго делала достойный ответ на CoreDuo, разработка нового процесора это 2-3 года минимум.
                                                                                    0
                                                                                    Ну вот только амд делала новую архитектуру, а у интела проблема не с архитектурой, а с техпроцессом и экономичностью. Так-то ядра они смогли шустро нарастить, что показывает, что лет 5 они чисто стагнировали рынок, делая сверхприбыль. А тут им обратка прилетела.
                                                                                  0
                                                                                  Ответы Интоля несколько ле ждать придется, да и на архитектуре x86, возможно не получится сделать ответ. Да с тех процессом беда прям. 10нм уже на рынок выводят лет 5 минимум.
                                                                                –3
                                                                                Лично я по тем тестам, которые читал, вижу паритет по производительности на ватт со свежими х86
                                                                                да ладно? Одно firestorm ядро M1 жрет чуть больше 6 Вт при полной нагрузке, а по перфу оно сравнимо с ядром ryzen 5xxx, которое выдавая подобный перф будет жрать около 20 Вт. А для энергоэффективности есть icestorm ядра. Intel кстати недавно объяснили как ryzen 4xxx достигают своей энергоэффективности. В двух словах — никак
                                                                                  +5
                                                                                  Intel кстати недавно объяснили
                                                                                  интел постоянно объясняет, что процессоры конкурента слабее его. Вначале показывая на тесты, когда тесты становятся неправильными с точки зрения интела, тот начинает объяснять, что тесты не важны или вдруг некоторые тесты резко меняют политику и процы от амд там становятся слабее интела, потому что не могут быть мощнее.
                                                                                  Сейчас интел начинает рассказывать, что их 4/8 мощнее, чем 8/16 амд, ага.
                                                                                  Всё как обычно
                                                                                    0
                                                                                    согласен, маркетологи интел играют грязно, и я знаю про критику конкретного заявления (например, они использовали только устройства lenovo и предвзятую выборку тестов). Однако для того же излюбленного вами zephyrus G14 с ryzen 4900HS тоже заметна значительная просадка — 1218/7923 от сети против 732/5449 от батареи, это более 30%. Что объективно подкрепляет аргумент intel. В то же время M1 маки молотят на полную и от батарейки.

                                                                                    Однако мой аргумент лишь в том, что оценивать производительность на ватт как «делим производительность от сети на автономное потребление» неправильно.
                                                                                      0
                                                                                      Однако для того же излюбленного вами zephyrus G14 с ryzen 4900HS тоже заметна значительная просадка — 1218/7923 от сети против 732/5449 от батареи, это более 30%. Что объективно подкрепляет аргумент intel. В то же время M1 маки молотят на полную и от батарейки.
                                                                                      А сейчас подмена не у интела, а у вас. 4900HS — 35 ваттник и при работе от батареи надо вначале посмотреть на профиль в самой винде, ага. А то вдруг там max стоит 75%?
                                                                                      При этом для H это вроде как заявлялось, что от батареи слабее.
                                                                                    –1
                                                                                    Посмотрите на график многопоточной мощности по вашей же ссылке, те же 5.5-6.5 Вт/ядро. Потом разделите многопоточную производительность любого Zen 3 c >= 4 ядер на суммарный фактический TDP, сделайте то же самое для М1, и покажите пальцем, где прорыв Apple. Не вижу я его в упор. Повторить результат конкурентов — это достижение, но не прорыв.
                                                                                      +1

                                                                                      А почему бы не поделить многопоточную производительность при этих "5.5-6.5 Вт/ядро" на количество ядер, и не посмотреть, насколько она падает в сравнении с однопотоком при уменьшении потребления (~частоты)?


                                                                                      Мы фактически приходим к тому, что когда-то предсказывали для ARM: большое количество слабых ядер, чтобы обогнать несколько сильных.


                                                                                      UPD: Сам сходил посчитал для 5950X, и должен признать, что совсем несильно падает. Приятно удивлён и отзываю скептичный комментарий.

                                                                                        0
                                                                                        Посмотрите на график многопоточной мощности по вашей же ссылке, те же 5.5-6.5 Вт/ядро.
                                                                                        вот только в этом режиме тот же 5950x будет работать на частоте не 4.8-4.9 ГГц (как в однопотоке), а на 3.9-4 ГГц. В то же время все ядра M1 будут работать на полную. Для других zen3 процов цифры приведены в той же статье, и они уже выше 7 ватт. Делаем то же самое для M1 — по ссылке выше берем 22.3 Вт из average MT workload (active power), делим на 4 ядра, получаем 5.6 Вт. И это без учета энергопотребления памяти ryzen'ов.
                                                                                    0
                                                                                    Ну уже последние года 2 производительность армов старших подтянулась к i5-i7 ноутбучным плотно. Да и начали Эпл разрабатывать компы на арме с 2017-2018 года что ли.
                                                                                    +4

                                                                                    я правильно понимаю что компилировалось под нативную архитектуру и это сравнение огурцов с яблоками?

                                                                                      +5
                                                                                      + 1. Было-бы интересно сравнить результаты кросс-компиляции скажем в RISC V, на M1 и на Intel, так что бы и тот и другой делали реально одно и тоже.
                                                                                      Вполне может быть что под x86* оптимизация кода занимает куда больше времени компилятора, чем под M1. Это никак не приуменьшает выдающуюся производительность M1, но с точки зрения научной точности сравнение не вполне корректное вышло.
                                                                                        0
                                                                                        В статье четко сказано что компиляторы разные, а некоторые результаты лишь теоретическое предположение.
                                                                                          +1
                                                                                          Тот же вопрос возник. Если да, то компиляция под arm быстрее раза в два, примерно. Под x86 очень прошаренный оптимизатор. Для RISC-архитектур такой не нужен, через это — значительное сокращение времени компиляции
                                                                                          0
                                                                                          В отличие от процессоров Intel и AMD, которые используют отдельные кэши L2 меньшего объёма и большой, но более медленный общий кэш L3, в процессоре M1 реализован быстрый и большой общий кэш L2.

                                                                                          Раз пошла такая гонка, то AMD/Intel могут и увеличить L2. Что будет тогда?

                                                                                            +2
                                                                                            Себестоимость вырастет
                                                                                              0

                                                                                              Это само собой.
                                                                                              Интресно было бы посмотреть на разницу в производительности c A1 при большом L2 у AMD/Intel. Будет ли она, насколько большая и в чью пользу.

                                                                                                0
                                                                                                Думается, что размеры кэшей выбираются далеко не только по транзисторному бюджету.
                                                                                                Например, берётся минимальный размер и сравнивается с удвоенным и учетверённым, если, условно, оба удвоения добавляют к производительности по 5%, используют максимальный или смотрят на другие ограничения, например, первое удвоение привело к росту себестоимости на те же 5%, а второе — уже на 13%, тогда чешут затылок
                                                                                                0
                                                                                                Себестоимость вырастет
                                                                                                до себестоимости эпловского?
                                                                                                ну, если судить по количеству транзисторов, то м1 — 16 млрд 5 нм, чип для новых плойки или бокса — 15,5 на 7 нм. Внимание, вопрос: себестоимость какого чипа будет выше?
                                                                                                  0
                                                                                                  Какое-то время первого, IMHO
                                                                                                    0
                                                                                                    Но вот второй — это полноценный игровой комп с почти 4k-геймингом и делается на отработанном техпроцессе)
                                                                                                    Жаль в продаже на его основе только приставки. Или что слухи про то, что МС разрешит режим ПК на коробке так и остались слухами(
                                                                                                    0
                                                                                                    Количество транзисторов значения не имеет. Важна площадь кристалла и стоимость технологии производства. Скорее всего эпловский чип дороже.
                                                                                                      0
                                                                                                      Ну, площадь зависит от количества транзисторов. Так как оный параметр иногда фиг найдешь и запомнишь, то вот так)

                                                                                                      Новая технология плотность повысила, но сама по себе а) дороже, б) вначале обычно хуже работает/больше брака если смотреть на то, как АМД со временем улучшает свои процы.
                                                                                                      Я подозреваю, что он не просто дороже, а заметно дороже. а мобильный 4800U на отработаном техпроцессе ещё бюджетнее вариант.
                                                                                                      Хотя могу быть не прав
                                                                                                    0
                                                                                                    Вот у меня есть интересное ощущение, что % цены собственно кремния и прямых расходов на изготовление в продажной цене итогового процессора не превышает 10%

                                                                                                    Да, с увеличением размера увеличивается шанс брака, но в цене так же будет:
                                                                                                    1. Окупаемость существующего оборудования
                                                                                                    2. Инвестиции в будущее оборудование
                                                                                                    3. Текущие и будущие расходы на R&D
                                                                                                    4. Маркетинг
                                                                                                    5. Немного прибыли

                                                                                                    так что прямая себестоимость значительно не вырастет, а вот насколько вырастет цена. которую пишет Интел на коробочке — открытый вопрос.
                                                                                                      0
                                                                                                      Боюсь, это ощущение.
                                                                                                      У АМД налажена технология отбраковки, которая чуть ли не каждый чип тестирует и проверяет на частоты и тдп, что позволяет раскидывать чиплет по сериям процов (похуже в обычный, получше в X, с плохим ядром — в склейку из двух CCD, где все норм — в 8 или 16 ядерник). А у эпла сейчас по сути нет такого выбора вариантов, а значит процет брака высок, да и сам чип не маленький, а значит дороже будет. Если амд переходит на монолитные кристаллы, то их расходы на брак скорей всего значительно вырастут. А интел сейчас как раз из-за брака никак не может преодолеть 10нм — у них ведь монолитный дизайн чипов. Будь себестоимость не такой уж важной, то они бы не бились так над выходом, ведь всё равно цена у них была выше АМД до последнего момента, а тут они теряют рынок в топовом сегменте, у них отжимают серверный, уходят вкусные проекты суперов к АМД и прочее…
                                                                                                        0
                                                                                                        Ну, видеоядра вполне себе успешно отключают (пока только одно), так что какое-то тестирование точно есть.
                                                                                                          +1
                                                                                                          Ну я привожу в пример, что у АМД 3900 содержит 10 млрд тразисторов — это три кристалла: ввод-вывод 2 млрд, и по 4 млрд 2 CCD. Одно это позволяет им процент брака, подозреваю, в разы меньше иметь, потому что выкидываться по сути там толком и нечему, ядра режутся только в путь, даже по 4 ядра с CCD в работу идут.
                                                                                                          И в мобильной серии, где у них монолитный чип на 8/16 с интегрированным вводом-выводом — там и потоки режутся (скорей всего у чипов, которые больше потребляют на тех же частотах), и ядра, подозреваю, что вплоть до 4 ядра/4 потока, а чип тот же небось. Плюс выпустили они их на уже отработанной техпроцессе (в это же время они даже новые зен2 с XT выкатили, чуть шустрее старых).
                                                                                                          То есть брака, можно сказать, нет — всё в народ, всё в народ.

                                                                                                          Одно ядро ГПУ на этом фоне — это либо на новой технологии у TSMC получилось вообще без косяков сразу печь, либо Эплу не важно, что процентов 5-10 чипов могут в утиль уйти. Почему-то мне кажется, что ближе второе)))
                                                                                                            0
                                                                                                            В принципе да, непонятно, куда идёт отбраковка по ядрам или всем этим модным движкам нейросетей.
                                                                                                              0
                                                                                                              Может они себе кластер собирают)
                                                                                                    +1
                                                                                                    Раз пошла такая гонка, то AMD/Intel могут и увеличить L2. Что будет тогда?
                                                                                                    сработает эффект убывающей эффективности — дальнейшее увеличение размеров кеша всё меньше влияет на производительность, а прирост цены и энергопотребления остается линейным.
                                                                                                      –2
                                                                                                      сработает эффект убывающей эффективности — дальнейшее увеличение размеров кеша всё меньше влияет на производительность, а прирост цены и энергопотребления остается линейным.
                                                                                                      Опять у вас 2+2!=1+3?
                                                                                                      У АМД большой L3 + маленький L2 и это даёт выигрыш, но по вашему, если сделать один l2 в размер l3, то увеличение этого кэша приведёт к падению производительности?
                                                                                                      Ваша логика как обычно — шикарна.
                                                                                                      Процитирую, так как читать вы не умеете:
                                                                                                      В отличие от процессоров Intel и AMD, которые используют отдельные кэши L2 меньшего объёма и большой, но более медленный общий кэш L3, в процессоре M1 реализован быстрый и большой общий кэш L2.
                                                                                                      Раз пошла такая гонка, то AMD/Intel могут и увеличить L2. Что будет тогда?
                                                                                                        +1
                                                                                                        У АМД большой L3 + маленький L2 и это даёт выигрыш, но по вашему, если сделать один l2 в размер l3, то увеличение этого кэша приведёт к падению производительности?
                                                                                                        Ваша логика как обычно — шикарна.
                                                                                                        процитируйте пожалуйста, где я это утверждал? Вам когда-нибудь надоест придумывать себе повод для спора?
                                                                                                          0
                                                                                                          я процитировал: человек показал на то, что у АМД/Интелов маленький Л2 и большой Л3 и спросил, что будет, если те нарастят Л2.
                                                                                                          Я понимаю, вам сложно же распарсить чужой текст и понять смысл чужих слов:
                                                                                                          Л3 большой, чтоб хоть более бюджетно компенсировать маленький Л2. Так что размер Л2 наращивать им спокойно есть куда (даже без наращивания общего размера кэша). И всё это есть в том сообщении, которое вы прочли по диагонали, даже когда я его продублировал выделив жирным основные моменты.
                                                                                                          Ваш ответ?
                                                                                                          дальнейшее увеличение размеров кеша всё меньше влияет на производительность
                                                                                                          Может это вы читать научитесь или отвечать на то, что человек спрашивал, а не на то, что вам захотелось?
                                                                                                            0
                                                                                                            Может это вы читать научитесь или отвечать на то, что человек спрашивал, а не на то, что вам захотелось?
                                                                                                            человек спросил что будет если intel/amd увеличат размер L2 кеша, и я ответил именно на этот вопрос. Без додумок. Вы же каким-то чудом умудрились исковеркать и вопрос, и мой ответ, после чего драконите меня за это. Еще раз: где я утвердждал что «если сделать один l2 в размер l3, то увеличение этого кэша приведёт к падению производительности»? Нигде, это плод вашего больного воображения. Еще раз напомню, что вопрос «что будет если наращивать L2 за счет L3» никто не задавал.
                                                                                                              0
                                                                                                              Угу, то есть цитаты сравнения кешей до этого не было, ага.
                                                                                                              И ещё, как увеличение кеша L2 может понизить производительность, даже если рядом будет кэш L3? Ведь в 3 кэш проц не полезет, пока ему будет хватать второго.
                                                                                                              Итого — вы захотели ответит негативно и готовы для этого выдумывать любые отговорки.
                                                                                                              Человек так же не требовал сохранять L3 в том вопросе — Вас это не остановила от домыслов, лишь бы захейтить процы не Эпл.
                                                                                                                0
                                                                                                                И ещё, как увеличение кеша L2 может понизить производительность

                                                                                                                Больше кеш — дольше искать в нём.
                                                                                                                Мимо не специалист
                                                                                                                  +1

                                                                                                                  А разве поиск не параллельный?
                                                                                                                  Там же вроде смысл в том, что у каждой строки кэша есть свой tag — по сути, кусок младшей части адреса без финальных нулей.
                                                                                                                  И на каждую операцию должен сматчиться тег во всем кеше.
                                                                                                                  тоже мимокрокодил

                                                                                                                    0
                                                                                                                    Искать? В кэшах никто не ищет, там обращаются по четким адресам, т.к. адреса памяти мапятся на конкретные строки в кэше.
                                                                                                                      0
                                                                                                                      Гм, ну так сейчас они делают тоже самое, но только в медленющем L3 (!) о чем в первой же цитате был кусок из статьи)
                                                                                                                      –1
                                                                                                                      Угу, то есть цитаты сравнения кешей до этого не было, ага.
                                                                                                                      процитированный текст написал автор статьи а не автор вопроса. Цитата не меняет вопрос, а лишь указывает контекст.
                                                                                                                      И ещё, как увеличение кеша L2 может понизить производительность, даже если рядом будет кэш L3?
                                                                                                                      в третий раз: процитируйте где я это утверждал.
                                                                                                                      Итого — вы захотели ответит негативно и готовы для этого выдумывать любые отговорки.
                                                                                                                      первый негативный комментарий в треде — ваш:
                                                                                                                      Опять у вас 2+2!=1+3? Ваша логика как обычно — шикарна. Процитирую, так как читать вы не умеете:
                                                                                                                      Так кто в итоге «захотел ответить негативно и выдумал для этого любые отговорки»?
                                                                                                                      Человек так же не требовал сохранять L3 в том вопросе — Вас это не остановила от домыслов
                                                                                                                      вот только это ваш домысел.
                                                                                                                        0
                                                                                                                        в третий раз: процитируйте где я это утверждал.
                                                                                                                        Легко, вот вопрос:
                                                                                                                        Раз пошла такая гонка, то AMD/Intel могут и увеличить L2. Что будет тогда?
                                                                                                                        Это ваш ответ? Да, нет, ваша вторая личность не отвечает за первую? (нужное подчеркнуть)
                                                                                                                        Или вы даже свои слова осмыслить не можете?
                                                                                                                        сработает эффект убывающей эффективности — дальнейшее увеличение размеров кеша всё меньше влияет на производительность, а прирост цены и энергопотребления остается линейным.
                                                                                                                        Итого, прямой вопрос: увеличится кэш Л2 относительно текущего количества, что будет?

                                                                                                                        То, как размер кэша Л3 влияет на производительность того же АМД давно не секрет. Ну, для всех, кроме вас, естественно. Этот наглядный пример как наращивание даже кэша Л3 увеличило производительность процов у АМД — было прям таки у всех на глазах всего пару лет назад.
                                                                                                                        Но по вашему, от прироста Л2 толку не будет, а только потеря эффективности от наращивания кэша. Потому что вам так захотелось. То есть наращивать медленный Л3 — толк есть, а Л2 — пор вашему нет. Будет падение эффективности относительно текущей схемы.
                                                                                                                        Ну, я понял, у Эпла тоже идиоты инженеры, такой Л2 кэш зафигарили. Могли ж раза в два больше Л3 забацать, чтоб не терять эффективность.
                                                                                                                        вот только это ваш домысел.
                                                                                                                        Ок, доказывайте в цитате человека, что когда он прямо выделил цитату, что у x86 маленький Л2 и большой Л3, а у эпла только большой Л2 и это влияет на производительность, то спросив, что будет, если АМД и интел увеличат Л2, то это означало, что Л3 не сократится? Нет этого?
                                                                                                                        Тогда домыслили этот момент тут только ВЫ. Потому что вам так захотелось, чтоб инженеры из интела или амд (то, что инженер и идиот начинаются на одну букву — не означает, что отличий между понятиями нет) и наращивали бы Л2 как эпл, и Л3 оставляли. Но даже в этом случае рассказы о потери эффективности от наращивания скоростного кэша — это именно что попытка принизить возможности другой архитектуры от нашего яблочного фаната
                                                                                                                          –2
                                                                                                                          Во-первых, я рассмотрел ровно тот случай про который был вопрос — увеличение размера L2 кеша без изменений чего-либо другого. «Всё меньше влияет на производительность» это не то же самое что и «производительность уменьшится», как вам очень бы хотелось это читать. Что такое «эффект убывающей эффективности» вам тоже неведомо. Но спорите так яро, словно я у вас на спине Мохамеда вытатуировал.

                                                                                                                          Во-вторых, что касается самого вопроса — Maccimo будьте добры, рассудите нас.
                                                                                                                            +1
                                                                                                                            Вопрос был про увеличение размера L2 кеша. Дополнительных ограничений типа «без изменения чего-либо другого» не было. Если ограничение явно не прописано в ТЗ, то исполнитель волен трактовать так, как ему удобно.

                                                                                                                            В данном случае трактовка могла быть и в сторону уменьшения L3, если это имеет практический смысл для задачи увеличения производительности.

                                                                                                                              0
                                                                                                                              Ну то есть признавать не будете, как обычно?
                                                                                                                              Всё «меньшая эффективность от нарастания L2», когда нарастание даже L3 даёт неплохие бусты? Это именно что должно быть «падение производительности» при нарастании L2 до текущего размера L3, в противном случае итоговая производительность вырастет и вот уже Эпловский обмазанный кешем l2 проц окажется отстающим по производительности, угу.
                                                                                                                              Что такое «эффект убывающей эффективности» вам тоже неведомо
                                                                                                                              Мне ведомо. Только в вашей голове это означает, что если 1 часть L2 и 10 частей L3, то нет смысла наращивать L2, типа эффективноть будет убывать. Хотя именно добавление не 5, а 10 частей L3 и дали процентов 10 буста. Ровно потому, что дальше ещё один уровень кэша по сути идёт с ещё меньшими скоростями — оперативная память, ну та, в которую данные грузят с hdd/ssd. И наращивание её скорости тоже даёт на АМД значительные бусты в несколько процентов.
                                                                                                                              Теперь добавляем, что в новом поколении АМД уже заложили изменения в структуре взаимодействия ядер, с целью уменьшения затыков общения между ними, и этим ещё повысили производительность, то можно наблюдать, что по сливам 5800U на тех же 7 нм в тесте одного ядра выгребают на 20% больше, чем 4800U, даже имея небольшой кэш L2 и не такой уж большой кэш L3, всего-то 16 мб вместо 8 мб обещают. Так что выжимать там можно много чего и это будут делать по мере необходимости.

                                                                                                                              Итого, вы чушь выдали, но теперь готовы юлить как угодно, с целью оправдаться, даже исходный вопрос перевирать, как вам угодно. Ведь даже когда вам ответ прямой дал, в чем суть вопроса — сам автор оного, вы не признали очевидного.
                                                                                                                                +1
                                                                                                                                Мне ведомо. Только в вашей голове это означает, что если 1 часть L2 и 10 частей L3, то нет смысла наращивать L2, типа эффективноть будет убывать
                                                                                                                                нет, нет, и нет. "В моей голове" это означает, что увеличение кеша будет увеличивать производительность в уменьшающейся пропорции. Вы же каким-то невероятным образом прочитали «от увеличения кеша уменьшается производителность», чего я не говорил
                                                                                                                                то можно наблюдать, что по сливам 5800U на тех же 7 нм в тесте одного ядра выгребают на 20% больше, чем 4800U
                                                                                                                                тот самый слив 5800U, 4800U в том же бенче. Не 20%, а все 40%. Вот только догнать M1 даже этих 40% не хватит. Более того, 5800U едва обходит M1 через rosetta2.
                                                                                                                                и вот уже Эпловский обмазанный кешем l2 проц окажется отстающим по производительности, угу.
                                                                                                                                а вы не задумывались что эпловский M1 может обходить ryzen'ы не только потому что там L2 большой, а еще потому, что там двухуровневый кеш с быстрой оперативкой вместо трехуровневого кеша?
                                                                                                                                Итого, вы чушь выдали, но теперь готовы юлить как угодно, с целью оправдаться, даже исходный вопрос перевирать, как вам угодно
                                                                                                                                Человек говорит «интерпретируйте как хотите», вы мне доказываете что я не прав потому что интерпретировал не как вы. Неужели за всю вашу жизнь не нашлось человека который вам объяснит что мир вообще-то не вокруг вас крутится?
                                                                                                                                  0
                                                                                                                                  а вы не задумывались что эпловский M1 может обходить ryzen'ы не только потому что там L2 большой, а еще потому, что там двухуровневый кеш с быстрой оперативкой вместо трехуровневого кеша?
                                                                                                                                  о, наконец-то вы признали, что не из-за чудесных ядер.
                                                                                                                                  Человек говорит «интерпретируйте как хотите»
                                                                                                                                  Прямая ложь
                                                                                                                                  В данном случае трактовка могла быть и в сторону уменьшения L3, если это имеет практический смысл для задачи увеличения производительности.
                                                                                                                                  Вы сознательно интерпретировали так, чтоб не было увеличения производительности. То есть решали обратную задачу.
                                                                                                                                  Что и требовалось доказать.
                                                                                                                                    0
                                                                                                                                    о, наконец-то вы признали, что не из-за чудесных ядер.
                                                                                                                                    а где я утверждал что кеш не влияет? Черт подери, когда вы наконец перестанете выдумывать?
                                                                                                                                    Прямая ложь. Вы сознательно интерпретировали так, чтоб не было увеличения производительности
                                                                                                                                    да да, а процитировать вторую часть утверждения рука не поднялась, да? Потому что она противоречит вашим фальшивым доводам?
                                                                                                                                    Дополнительных ограничений типа «без изменения чего-либо другого» не было. Если ограничение явно не прописано в ТЗ, то исполнитель волен трактовать так, как ему удобно.
                                                                                                                                    других дополнительных ограничений тоже не было. Собственно, так я и интерпретировал — без каких-либо дополнительных ограничений, условий или додумок

                                                                                                                                    А теперь секунда фактов. Просто увеличивая L2 за счет L3 в x86 проце вы всё равно не придете к схеме «быстрый L1 и общий L2», для этого в x86 процах надо полностью убирать именно L2. Ну либо объединять L2 и отказываться от L3, не принципиально, это всё равно не будет «уменьшение L3 в пользу L2».

                                                                                                                                    А теперь наконец-то потрудитесь прочитать тред. Потому что мне надоело тыкать носом в откровенную ложь, ничего из того с чем вы спорите я не говорил
                                                                                                                        0
                                                                                                                        С этим человеком бесполезно спорить, оставьте) Это не в первый раз уже.
                                                                                                                          0
                                                                                                                          Угу, сказал второй тролль, который так же видимо любит выдумывать ограничения и условия из головы, дабы подгонять ответ?
                                                                                                                          Вот там выше задавший вопрос ответил наглядно, кто не может признать ошибки и встаёт в позу.
                                                                                                                            0
                                                                                                                            Да, да, всё хорошо, вы молодец)
                                                                                                              0
                                                                                                              Интересно, как они реализовали такие большие L1? Насколько я понял, то для производительных ядер, кэш L1 данных составляет целых 128KiB на ядро!
                                                                                                              Как они смогли такого добиться?
                                                                                                              • Ввели 32-канальную ассоциативность?
                                                                                                              • Увеличили минимальный размер страницы до 16KiB?
                                                                                                              • Отказались от VIPT в пользу PIPT?

                                                                                                                0
                                                                                                                Увеличили минимальный размер страницы до 16KiB?

                                                                                                                Да, стандартный размер страницы в нативном режиме именно 16KiB.

                                                                                                                  +1
                                                                                                                  Даже больше — у производительных ядер 192 КБ кэша команд на ядро.
                                                                                                                  Скорее всего это связано с количество декодеров команд. Чем шире декодер, тем больший кэш он может переварить (так как выше глубина и темп предвыборки).
                                                                                                                  Соответственно, можно не ассоциативность увеличивать, а тупо длину строки. Тем более, что современные компиляторы исторически генерируют для ARM очень линейный код (в том плане, что за счёт условных операций используется меньше ветвлений, и ветвления гораздо более близкие чем на x86). По моим наблюдениям сложные функции на ARM гораздо чаще представляют собой один непрерывный блок кода, который удобно грузить в кэш, в то время, как x86 исторически полагается на предсказание ветвлений и эффективное увеличение кэша требует увеличения ассоциативности.
                                                                                                                  Очень интересный вопрос, между прочим.
                                                                                                                  +8
                                                                                                                  В таких бенчмарках компиляции, собирают ли все тестируемые машины (архитектуры) код под одну и ту же архитектуру, или каждый под свою собственную? В последнем случае возникают сомнения в данных бенчмарка, ведь тестируются разные ветви кода/компиляторы.
                                                                                                                    +5
                                                                                                                    А мне одному кажется, что на скорость бенчмарка прилично влияет производительность накопителя? Файлов-то много, чтений тоже. И есть подозрение, что эппл так хорошо себя показывает как раз за счёт более быстрого SSD.
                                                                                                                      0
                                                                                                                      Там ещё кэши. Тот же АМД увеличением кэша нивелировал использование чиплетов или использование двух 4 ядерных CCX в одном CCD с внешним кристаллом ввода/вывода.
                                                                                                                      Когда они делали мобильные 4хххU/H, то кристалл ввода/вывода перенесли на CCD и урезали кэш, но на производительности последнее сказалось слабее из-за первого.
                                                                                                                      В zen3 они CCX сделали на 8 ядер, что положительно сказалось на скорости работы.
                                                                                                                        0
                                                                                                                        После прочтения статьи прямо тянуло пошутить в стиле «ну надеюсь на дектопе на HDD тестировалась компиляция».
                                                                                                                        –4
                                                                                                                        Конечно результат есть, но я бы сказал, что при той же ядровооруженности Intel и AMD имеют сравнимые показатели, а вот сравнивать М1 за $1000 с Ruspberry PI за $100 и говорить, что это «чудо» как-то странно. Я думаю, если бы «малинка» была бы хотя бы размером с М1, то и показатели у нее были соответствующие. Здесь же в 10 раз дороже, в 10 раз больше и как следствие в 10 раз быстрее. Пока все закономерно.
                                                                                                                          +7
                                                                                                                          А можно в студию модель/модели процессоров от Intel или AMD, которые при TDP 10-20W дают схожую производительность? А то вы жалуетесь на сравнение несравнимого, занимаясь при этом тем же самым.
                                                                                                                            +1
                                                                                                                            а вот сравнивать М1 за $1000

                                                                                                                            Это цена всего устройства (хоть и с переплатой за бренд), а не одной платы
                                                                                                                            если бы «малинка» была бы хотя бы размером с М1

                                                                                                                            Дело далеко не в размере
                                                                                                                              +1

                                                                                                                              Простите за грубость, но откуда вы такие берётесь? (с)


                                                                                                                              Малина, в плане железа — это самое убогое что только можно придумать. Это ублюдский древний броадком. Это вечные проблемы с охлаждением, кривыми кодеками и т. д.


                                                                                                                              Малина выезжает за счёт неплохой поддержки со стороны софта и большого сообщества. Она как Ардуино, которое нафиг никому не нужно, если ты открыл для себя STM32 за те же деньги.


                                                                                                                              Сравнивать M1 с древним броадком, ну я даже не знаю что тут сказать. Тема про компиляцию, запустите на RPI компиляцию и офигейте от результатов.

                                                                                                                                0
                                                                                                                                А какая есть альтернатива малине за те же деньги?
                                                                                                                                +2

                                                                                                                                Малина на 8гб с полным набором типа зарядки и корпуса с радиаторами стоит больше $100. Макмини стоит $699. Уже 7 раз или меньше. А с маком еще идет ssd на 256гб в комплекте.
                                                                                                                                Что до разницы в производительности, там не 10 раз, а просто пропасть.
                                                                                                                                Я до сих пор не понимаю откуда за малину такие цены с таким cpu который даже в 2015 г. был бы слабым. Сделать настолько плохое соотношение цена-качество это надо уметь.

                                                                                                                                0
                                                                                                                                Target: arm64-apple-darwin20.1.0
                                                                                                                                Вот эта строчка всё портит.
                                                                                                                                Хотелось бы сравнить билды с одинаковыми target, чтобы выдавался полностью идентичный бинарник.
                                                                                                                                Без этого же результаты могут сильно отличаться просто потому, что какие-то куски кода были выкинуты каким-нибудь #ifdef.
                                                                                                                                  0

                                                                                                                                  В комментариях к оригинальной статье на reddit приводили сравнение нативной и кросс-компиляции.

                                                                                                                                    +3

                                                                                                                                    Пока что выглядит фейком. Тем более, что M1 вообще не замерялся в этом конкретном тесте: "The M1 chip is roughly the equivalent of 10,000 CoreMarks in EEMBC terms". А если прочитать следующее предложение, то становится вообще смешно от таких оценок: "The fastest Arm processor under EEMBC benchmarks is the Cortex-A9 (quad-core), with a figure of 22,343 CoreMarks."

                                                                                                                                    0
                                                                                                                                    Помнится, после презентации платформы Centrino, эффект был даже круче. Тогда вообще казалось, что теперь хана всем конкурентам, но глянь-ка…
                                                                                                                                      0
                                                                                                                                      Я так понимаю в тесте на M1 компилятор работал нативный. А если запустить версию для интела в режиме эмуляции?
                                                                                                                                        0

                                                                                                                                        А зачем в эмуляции, если можно кросскомпилировать сразу под x86_64?
                                                                                                                                        Будет сборка одного и того же бинарника одним и тем же тулчейном, собраным нативно под две платформы.
                                                                                                                                        Ну и, для сравнения, кросскомпиляцию под arm включить в тесты для x86.

                                                                                                                                          +1

                                                                                                                                          Я сравнивал. Делал сборку Folding@Home на двух Mac Mini 16 GB RAM, но один с Apple M1, а второй с Intel i7 Core (оба 3.2 GHz). Писал об этом в LinkedIn. Там даже более показательный тест получился. На обеих машинах велась сборка четырёх вариантов Folding@Home core: три для x86_64 (sse2, avx, avx2) и один для aarch64. Т.е. по логике некоторых здешних комментаторов, был дисбаланс в сторону более сложного оптимизатора.


                                                                                                                                          Цифры говорят сами за себя

                                                                                                                                            0

                                                                                                                                            Впечатляет. При задействовании всего 4х ядер M1 обошел на треть 4+HT x86… хотеть на нем линукс.

                                                                                                                                              +1

                                                                                                                                              Не совсем так. Сборка на M1 велась с помощью scons -j8, а на Intel i7 Core — scons -j12, в соответствии со значениями, что выдавала команда sysctl -n hw.ncpu. Т.е. M1 – 8 ядер, а i7 – 6 ядер + HT.


                                                                                                                                              А Linux я на нём завёл с помощью qemu:


                                                                                                                                              Linux on Apple M1


                                                                                                                                              Даже в эмуляторе (но с нативной поддержкой hvf) получилась мощная билд машина. По крайней мере, намного мощнее любого современного ARM девайса с Linux на борту, доступного за разумные деньги.

                                                                                                                                        0
                                                                                                                                        Интересно, чем ответит Qualcomm с новой ревизией Snapdragon 8cx. Жду Chromebook на такой железке, а то они все либо на Intel, либо на дешманских Mediatek и Rockchip. Какой-никакой, но комп на Linux.

                                                                                                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                                        Самое читаемое