Почему чип Apple M1 такой быстрый?

Original author: Erik Engheim

Опыт использования новых маков с М1 начинает расставлять точки над i. Эти чипы быстрые. Очень быстрые. Но почему? В чем магия?

Я смотрел видео на Youtube, где автор купил iMac в прошлом году максимальной конфигурации. Машина с 40+ Gb ОЗУ стоила ему около 4000$. Он смотрел с недоверием, как его гипердорогой iMac был разнесен в пух и прах новеньким Mac mini с М1 на борту, который стоил около 700$.

В реальном мире, тест за тестом, макбуки с М1 не просто превосходят топовые компьютеры Intel прошлых поколений. Компьютеры Mac просто уничтожают их. С недоверием люди стали спрашивать, как такое возможно?

Если вы не один из этих людей, то вы пришли в правильное место. Здесь я расскажу простыми словами, что же такого сделали Apple с их М1. Особенно многих интересуют следующие вопросы:

  • В чем техническая причина того, что чип М1 такой быстрый?

  • Сделали ли Apple нечто экзотическое, чтобы добиться такого эффекта?

  • Легко ли будет Intel и AMD сделать то же самое, чтобы оставаться в гонке?

Конечно, вы пробовали гуглить эти вопросы. Если вы попытаетесь понять, что сделали Apple за поверхностными пояснениями, вас очень быстро завалит обилием технического жаргона. Например, “М1 использует блоки декодирования (very wide instruction decoders)”, “огромный буфер переупорядочивания (reorder buffer, ROB)” и т.д. Если вы не компьютерный гик, то подобные термины будут для вас просто чепухой.

Чтобы полностью погрузиться в тему, рекомендую к прочтению мою статью “What Does RISC and CISC Mean in 2020?“. В статье я объясняю, что такое микропроцессор CPU, а также разбираю концепции:

  • архитектура набора команд ISA

  • работа конвейера (Pipelining)

  • архитектура хранения и загрузки (load/store)

  • Микрокод vs микро-операции

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

Что такое микропроцессор CPU?

Обычно, когда мы говорим о чипах от Intel или AMD, мы подразумеваем центральный процессор CPU. Как я уже писал в своей статье “RISC vs CISC”, процессор загружает инструкции из памяти, а затем каждая из них выполняется последовательно.

Очень простой RISC чип, не М1. Инструкции перемещаются из памяти по голубым линиям в регистры. Декодер определяет, чем является каждая инструкция, и активирует различные части CPU через красные линии. ALU складывает и отнимает числа из регистров.
Очень простой RISC чип, не М1. Инструкции перемещаются из памяти по голубым линиям в регистры. Декодер определяет, чем является каждая инструкция, и активирует различные части CPU через красные линии. ALU складывает и отнимает числа из регистров.

CPU на самом базовом уровне - это устройство с несколькими именованными ячейками памяти, называемыми регистрами, и некоторым количеством вычислительных юнитов, названных арифметико-логическими устройствами ALU. ALU выполняет сложение, вычитание и другие простые математические операции. Тем временем, эти устройства лишь соединены с регистрами CPU. Если вы хотите сложить два числа, то нужно сначала их получить из памяти, а затем положить в регистры. Ниже приведено несколько примеров типичных инструкций, которые и RISC процессор, и М1 В том числе выполняет:

load r1, 150
load r2, 200
add  r1, r2
store r1, 310

Здесь r1 и r2 - это регистры, о которых я говорил ранее. Современные RISC процессоры не способны выполнять операции над числами, которых нет в регистрах. Если даже числа лежат в оперативной памяти, то они все равно недоступны для CPU. Сначала их нужно поместить в два соответствующих регистра. В примере выше мы сначала сохраняем число из ячейки 150 в оперативной памяти в регистр r1, затем делаем то же самое для числа из ячейки 200 и сохраняем в регистре r2. Только после этого числа могут быть сложены инструкцией add. 

Старый механический калькулятор с двумя регистрами: регистр для хранения результата (the accumulator) и регистр входящей информации. Современные CPU имеют больше дюжины регистров и они цифровые, а не механические.
Старый механический калькулятор с двумя регистрами: регистр для хранения результата (the accumulator) и регистр входящей информации. Современные CPU имеют больше дюжины регистров и они цифровые, а не механические.

Концепция регистров стара. Например, на этом старом калькуляторе регистр - это механизм, который удерживает число, используемое в операции. Прямо как настоящий кассовый аппарат. Регистр - это “расположение”, где вы регистрируете входящее число.

M1 - это не центральный процессор

Очень важная вещь, которую нужно запомнить: М1 - это не только CPU. Это система множества чипов, лежащих в одной кремниевой обертке. CPU же - это один из этих чипов. Технически, М1 - это весь компьютер на одном чипе. Он содержит CPU, графический процессор GPU, память, контроллеры I/O и множество других вещей, делающих компьютер компьютером. Это мы называем системой на чипе (system on the chip, SoC).

М1- система на чипе. Это значит, что все необходимое для компьютера - уже на чипе.
М1- система на чипе. Это значит, что все необходимое для компьютера - уже на чипе.

Сегодня, если вы покупаете чип - Intel или AMD - фактически вы покупаете большое число микропроцессоров в одной обертке. В прошлом у компьютеров было несколько физически отдельных чипов на материнской плате.

Пример материнской платы. Память, CPU, графическая карта, контроллеры входа/выхода, сетевая карта и множество других компонентов присоединены к материнской плате для связи друг с другом.
Пример материнской платы. Память, CPU, графическая карта, контроллеры входа/выхода, сетевая карта и множество других компонентов присоединены к материнской плате для связи друг с другом.

Сегодня у нас есть возможность поместить множество транзисторов на один чип, поэтому и Intel и AMD стали производить чипы со множеством микропроцессоров. Мы называем их “ядрами” процессора. Одно ядро, по сути, это полностью независимый чип, который может читать инструкции и исполнять их. Микрочип с несколькими CPU.

Многоядерный процессор.
Многоядерный процессор.

Долгое время это было сутью игры за повышение мощности: просто добавь еще ядер в CPU. Но кто-то взбунтовался в рядах производителей: один игрок на рынке чипов пошёл по своему пути.

Не такой уж засекреченный неоднородный способ вычислений от Apple

Вместо того, чтобы следовать тренду добавления ядер в процессор, Apple выбрала иную стратегию: они стали добавлять больше специализированных процессоров для выполнения конкретных задач. Преимущество заключается в том, что специализированные чипы, как правило, существенно быстрее выполняют свою задачу, затрачивая меньше энергии, чем CPU общего назначения.

Об этом способе было известно давно. Много лет уже как специализированные чипы GPU выполняют определенную задачу - обработку графики. Графические процессоры от Nvidia и AMD делают это гораздо быстрее, чем мог бы делать центральный процессор.

Apple лишь пошла более радикально по этому пути. Вместо множества ядер общего назначения, чип М1 внутри содержит:

  • Центральный процессор CPU - “мозги” системы на чипе. Выполняет большинство задач компьютера и программ

  • Графический процессор GPU - используется в обработке графики и изображения, в том числе и в играх.

  • Блок обработки изображений ISP - используется для увеличения производительности во время работы приложений по обработке графики.

  • Обработчик цифровых сигналов (digital signal processor, DSP) - Выполняет более сложные математические функции, чем центральный процессор, включая декомпрессию музыкальных файлов.

  • Блок нейронной обработки (Neural processing unit, NPU) - используется в топовых смартфонах, чтобы ускорить работу машинного обучения и AI.

  • Кодировщик видео (Video encoder/decoder) - для энергоэффективного преобразования видео разных форматов.

  • Блок безопасности (Secure Enclave) - шифрование, аутентификация и безопасность.

  • Блок единой памяти (Unified memory) - позволяет модулям чипа взаимодействовать максимально быстро.

Это только часть объяснения, почему люди, которые занимаются видео и графикой на компьютерах с процессором М1, отмечают прирост производительности. Дело в том, что задачи выполняются на том процессоре, который для этого был создан. Это позволяет относительно недорогому Mac mini с М1 на борту обработать графику, даже не вспотев, тогда как дорогой iMac с Intel запускает все свои кулеры охлаждения на полную мощность и все равно отстает от М1. Прочесть больше о неоднородном (heterogeneous) вычислении можно здесь: Apple M1 foreshadows Rise of RISC-V.

Синие блоки - это чипы центрального процессора, а зелёные - графического.
Синие блоки - это чипы центрального процессора, а зелёные - графического.

В чем особенность архитектуры Единой Памяти (UMA) от Apple?

Я немного лукавлю, когда говорю “Архитектура Единой Памяти (Unified Memory Architecture, UMA)”. Чтобы объяснить почему, вернемся на пару шагов назад.

Долгое время недорогие компьютеры имели центральный процессор с интегрированным графическим чипом на одной матрице. Он работал медленно. В прошлом, когда говорили “интегрированная графика”, подразумевали “слабая графика”. Эти процессоры были слабы по нескольким причинам. Первая заключается в том, что память для центрального процессора и графического была разделена. Если данные от центрального процессора должны были быть переданы графическому, то он не мог просто сказать “На, держи и используй”. CPU должен был явно скопировать этот блок данных в память графического процессора.

CPU не требует большого объема данных, но хочет получать их быстро.
CPU не требует большого объема данных, но хочет получать их быстро.

CPU и GPU работают с памятью по-разному. Позволим себе привести аналогию из жизни: CPU хочет, чтобы официант подал блюдо как можно быстрее, и маленькие порции не заботят процессор. Представьте себе небольшой французский ресторан, где официанты катаются на роликах.

Так графический процессор хочет видеть порцию данных. Чем больше, тем “веселее”.
Так графический процессор хочет видеть порцию данных. Чем больше, тем “веселее”.

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

Зная разницу в способах работы с памятью у CPU и GPU, это было не самой лучшей идеей размещать их на одной плате. GPU постоянно “голодает”, пока ему подают маленькие порции методом французской сервировки. Как результат, не имело смысла ставить производительные GPU на один чип вместе с CPU. Так самые маленькие порции данных вполне могли быть “разжеваны” слабым графическим процессором.

Вторая причина слабой графики - производимое тепло мощными GPU. По этой причине нельзя было их интегрировать с CPU, не получив проблем с охлаждением. Большинство графических дискретных карт выглядит так, как карта ниже: огромные монстры с массивными кулерами. У них есть специально выделенная память, чтобы обрабатывать огромные блоки данных.

GeForce RTX 3080.
GeForce RTX 3080.

Поэтому эти карты выдают высокую производительность. Однако у них есть ахиллесова пята: если они хотят получить какие-либо данные из памяти CPU, то эти данные передаются по медным путям, называемым шиной PCIe. Попробуйте после долгой работы попить воду через тонкую соломинку. Она быстро дойдет до вашего рта, но пропускная способность будет недостаточной.

Блок единой памяти (UMA) Apple пытается решить эти проблемы без недостатков старомодной общей памяти. Они достигают этого следующим образом:

  1. Больше нет специально ограждённых блоков памяти для CPU или GPU. Память доступна для обоих процессоров. Они используют одни и те же ячейки памяти, копирования больше нет.

  2. Apple ставят память, которая способна выдавать большие порции данных быстро. В техническом лексиконе это называется низкой задержкой и высокой пропускной способностью (low latency and high throughput). Как следствие, соединения между двумя раздельными областями памяти не требуется.

  3. Apple сумели снизить потребление энергии у GPU, поэтому относительно производительные графические процессоры теперь можно интегрировать на чип без перегрева. Процессоры ARM производят в целом меньше тепла, соответственно графический чип может позволить себе нагреться сильнее до допустимых температур, чем такой же чип на матрице от Intel или AMD.

Некоторые скажут, что единая память UMA - это не новинка, и это будет правдой. Различные системы в прошлом имели схожую архитектуру, однако в них, во-первых, требования к памяти не так сильно отличались, как требования от CPU и GPU. Во вторых, то, что Nvidia называют единой памятью, на самом деле не совсем таковой являлось. В мире Nvidia “единая память” - это когда программное обеспечение и железо работают так, чтобы бесшовно копировать данные между раздельными областями памяти CPU и GPU. С точки зрения программистов единая память от Apple и от Nvidia работают одинаково, но под капотом совершенно разная архитектура.

Конечно, есть и обратная сторона такой архитектуры памяти Apple. Обеспечение широкой пропускной способности памяти требует полной интеграции, что подразумевает отсутствие возможности апгрейда железа. Apple стремится минимизировать риски, в том числе работая над увеличением скорости работы SSD дисков.

Так компьютеры Apple работали с видео до появления архитектуры единой памяти. Одна из опций - использовать внешнюю видеокарту, работающую по порту Thunderbolt 3. Есть разные предположения о том, как эта же система будет работать в будущем с М1.
Так компьютеры Apple работали с видео до появления архитектуры единой памяти. Одна из опций - использовать внешнюю видеокарту, работающую по порту Thunderbolt 3. Есть разные предположения о том, как эта же система будет работать в будущем с М1.

Если системы SoC такие “умные”, то почему Intel и AMD не следуют той же стратегии?

Что же такого Apple делает, что не могут делать другие производители? В некоторой степени, делают. Многие производители добавляют все чаще специализированные со-процессоры. AMD тоже начали ставить более мощные графические процессоры в свои чипы, а также они постепенно двигаются к некоторой форме “систем на чипе”, называемых Accelerated Processing Unit APU, которые являются тоже комбинацией CPU и GPU на одном чипе.

APU от AMD Ryzen. CPU и GPU (Radeon Vega) расположены на одной матрице, но этот чип все равно не содержит других со-процессоров, IO контроллеров и единой памяти.
APU от AMD Ryzen. CPU и GPU (Radeon Vega) расположены на одной матрице, но этот чип все равно не содержит других со-процессоров, IO контроллеров и единой памяти.

Есть еще одна важная причина, почему AMD не спешат. Чип SoC - это весь компьютер на одном чипе. Это затрудняет бизнес для нынешних производителей компьютеров вроде HP или Dell. Позвольте мне прояснить позицию: если весь ваш бизнес заточен под производство двигателей для машины, то это будет необычно начинать производить и продавать целые машины.

В случае ARM же, напротив, это не проблема. Производители компьютерных деталей могут просто купить лицензию на производство ARM и другие чипы и производить SoC с теми компонентами, которые они считают полезными. Затем они отправят готовые макеты на завод производства полупроводников вроде GlobalFoundries или TSMC, которые уже сегодня производят чипы для AMD и Apple.

Завод по производству полупроводников TSMC в Тайване. Завод производит чипы для AMD, Apple, Nvidia и Qualcomm.
Завод по производству полупроводников TSMC в Тайване. Завод производит чипы для AMD, Apple, Nvidia и Qualcomm.

Здесь возникает большая проблема, связанная с бизнес-моделью Intel и AMD. Их модель основана на продаже процессоров общего назначения, которые покупатели просто вставляют в материнские платы. Любой желающий может просто купить материнскую плату, память, CPU и видеокарту от любого производителя и собрать их в одном компьютере.

Однако мы уже уходим от этого подхода. В новом мире SoC вы не собираете компоненты от разных производителей. Вместо этого вы собираете интеллектуальную собственность на производство. Вы покупаете чертежи видеокарты, CPU, модема, IO контроллеров и других деталей компьютера от разных вендоров и интегрируете их в собственном SoC. Сейчас ни Intel, ни AMD, ни Nvidia не планируют продавать лицензию на интеллектуальную собственность на производство SoC Dell, HP или любому другому производителю.

Конечно, Intel и AMD могут начать продавать произведенные SoC. Но из каких компонентов они будут состоять? У сборщиков компьютеров есть свои соображения на этот счет. В итоге эта ситуация может перерасти в конфликт между Intel, AMD, Microsoft, потому что произведенные чипы нуждаются и в программном обеспечении.

Для Apple все просто - они контролируют весь процесс производства. Они предоставляют, например, библиотеку Core ML для машинного обучения. Сторонние разработчики не задумываются даже, работает ли их код с Core ML на CPU от Apple или Нейронном чипе (Neural Engine).

Гонка наращивания мощности CPU

Неоднородные вычисления (heterogeneous computing) - это только лишь одна из причин. Ядра общего назначения процессора М1, называемые Firestorm, действительно быстры. Это главное отличие от ARM процессоров прошлого, которые были слабы по сравнению с процессорами Intel и AMD.

Firestorm обгоняет большинство процессоров Intel и почти обходит самый быстрый чип от AMD - Ryzen. Народная мудрость гласит, что этого никогда не должно произойти. Прежде чем поговорить о том, что делает Firestorm таким быстрым, важно понять концепции увеличения мощности процессора. В принципе, вы можете комбинировать два пути увеличения скорости:

  1. Быстрее выполнять инструкции в последовательности.

  2. Выполнять инструкции параллельно.

В далеких 80-х это было легко. Просто увеличьте частоту процессора, и инструкции будут выполнены быстрее. Цикл процессора - это когда чип выполняет какую-то операцию. Но эта операция может быть очень маленькой. Таким образом, инструкция может потребовать несколько тактов выполнения, так как состоит из нескольких мелких операций.

Тем не менее, сегодня увеличение частоты процессора становится почти неосуществимым. Это тот самый “Конец закона Мура”, о котором люди твердят последнее десятилетие. Таким образом, у нас остаётся только увеличивать количество выполняемых инструкций в параллели.

Много ядер или процессоры “исполнения вне очереди ОоОЕ”?

Как уже говорили, есть две опции:

  • Добавить ядер в процессор, чтобы каждое работало в параллели и независимо.

  • Научить каждое ядро выполнять несколько инструкций параллельно.

С точки зрения разработчика, добавить ядер - это как добавить потоки (thread) выполнения. Каждое ядро работает как физический поток. Если вы не знаете, что такое поток, то можете воспринимать его как процесс, который выполняет какую-то задачу. С двумя ядрами CPU может выполнять две задачи параллельно в два потока. Задачей же может быть две какие-либо программы или одна и та же программа, запущенная дважды. Каждый поток имеет свое “место” в последовательности программных инструкций и временно хранит результаты выполнения.

В принципе, процессор может иметь одно ядро и выполнять программы в несколько потоков. В таком случае процессор прерывает один поток и сохраняет его состояние перед переключением на другой поток. Позже он переключится назад. Такая схема более-менее работоспособна, пока процессор не начинает часто переключаться из-за:

  • ожидания ввода данных пользователем

  • данных, которые приходят медленно из-за плохого интернета и других подобных случаев.

Это называется логическими потоками. Физические же потоки используют физические ядра для ускорения работоспособности.

Для разработчиков проблему составляют логические потоки, ведь под них необходимо специально писать мультипоточный код. Это сложно, а в прошлом это было едва ли не самой сложной задачей. Тем не менее, сервер со множеством логических потоков - это не сложно: каждый веб-запрос пользователя обрабатывается отдельным потоком. Таким образом, множество физических ядер дает ощутимое преимущество. Особенно для облачных вычислений.

Процессор ARM Ampere Altra Max имеет на борту очень много физических ядер и был разработан специально для облачных решений.
Процессор ARM Ampere Altra Max имеет на борту очень много физических ядер и был разработан специально для облачных решений.

Вот поэтому мы и видим процессоры ARM с безумными 128-мью ядрами. Этот чип был специально разработан для “облаков”. Вам не нужна сумасшедшая производительность от одного ядра, потому что в облачных сервисах важно наличие как можно большего количества физических ядер на 1 Ватт мощности, чтобы обработать как можно больше запросов пользователей. Более подробно о многоядерных процессорах можно прочесть в статье Are Servers Next for Apple?.

Apple же на противоположной стороне спектра устройств. Они производят устройства для одного пользователя, и множество ядер - это небольшое преимущество. Покупатели ведь используют свои компьютеры для игр, видеоредакторов и разработки программ. Они хотят девайсы с мощной графикой.

Программы для пользовательского рынка обычно не используют много ядер компьютера. Например, игры работают прекрасно и на восьмиядерных процессорах, а 128 ядер - это трата ресурсов. Тут лучше меньше ядер, но более мощных.

Как работают процессоры Out-of-Order

Чем больше параллельно выполняемых инструкций, тем быстрее процессор. Принцип выполнения Out-of-order execution (ОоОЕ) заключается в том, что инструкции выполняются параллельно и при этом эта параллельность незаметна разработчикам программного обеспечения. Об альтернативном решении можно почитать здесь: Very Long Instruction Word Microprocessors.

Разработчики не должны писать код, чтобы воспользоваться преимуществами ОоОЕ. С точки зрения разработчика это выглядит так, как будто каждое ядро работает быстрее. Прошу заметить, что это не прямая альтернатива физическим потокам. Можно использовать оба варианта в зависимости от проблемы, которую необходимо решить. Чтобы понять, как работает ОоОЕ, нужно понимать принцип работы памяти компьютера. Запрашивание данных из одного расположения работает медленно, а процессор способен запрашивать данные параллельно. Следовательно, передача 1 байта информации займет столько же времени, сколько и 100 следующих байт.

Роботы на складе онлайн-магазина Komplett.no, Норвегия.
Роботы на складе онлайн-магазина Komplett.no, Норвегия.

Вот вам аналогия: посмотрите на подъемники на складе, например, на этих красных роботов на фото. Постоянные перемещения по пространству и быстрое взятие объектов из близлежащих ячеек хранения. Память компьютера похожа на это. Вы можете вытащить информацию очень быстро, если она лежит в близких друг к другу ячейках.

Данные пересылаются по шине данных (databus). Это похоже на дорогу или трубу между памятью и компонентами процессора, куда данные отправляются. В реальности мы имеем даже медные дорожки на плате. Чем шире шина, тем больше байт одновременно мы можем передать.

Процессор получает блок инструкций для выполнения полностью, но выполняет их одну за другой. Современные процессоры могут выполнять их по принципу Out-of-Order-execution. Это значит, что процессор анализирует инструкции на предмет зависимости между операциями.

01: mul r1, r2, r3    // r1 ← r2 × r3
02: add r4, r1, 5     // r4 ← r1 + 5
03: add r6, r2, 1     // r6 ← r2 + 1

Умножение - довольно тяжелая операция, она требует несколько тактов процессора. Вторая операция из последовательности выше вынуждена подождать, когда будет выполнена первая операция, так как ей требуется ее результат. Но третья операция не зависит от первых двух. Следовательно, процессор с ОоОЕ может выполнить третью операцию параллельно первым двум в отдельном потоке.

В жизни инструкций может быть тысячи, но процессор все равно способен анализировать зависимости между ними. Процессор смотрит на входные данные каждой инструкции, зависят ли они от результатов других инструкций. Например, инструкция add r4, r1, 5 зависит от значения в регистре r1, которое является результатом операции умножения. Все эти связи складываются в проработанный граф операций, с которым CPU вполне справляется: узлы - это инструкции, а линии соединения - регистры.

CPU анализирует этот граф связей, чтобы понять, какие инструкции можно выполнять параллельно, а какие - отложить, так как их входные данные еще не были получены. Большинство операций будет выполнено еще до того, как процессор обозначит их завершенными. Со стороны же всё выглядит так, как будто инструкции были выполнены в том же порядке, в котором они были поданы процессору.

В принципе, у вас есть две формы параллелизма: одну разработчики программ должны учитывать при написании кода, а вторая - неявная, которая полагается на множество транзисторов, выполняющих их на CPU с помощью магии Out-of-Order-Execution. Для небольших процессоров с малым количеством транзисторов это не будет работать эффективно.

Именно магия OoOE и делает процессор М1 таким быстрым. На данный момент этот процессор быстрее, чем любое решение от Intel или AMD, и все складывается так, как будто они и не догонят никогда Apple. Чтобы понять почему, мы должны погрузиться немного в детали.

Инструкции ISA и микро-операции

Я пропустил некоторые детали о работе ОоОЕ. Программы, загруженные в память, были собраны для конкретной архитектуры процессора ISA. Например, для x86, ARM, PowerPC, 68K, MIPS, AVR и других.

Для процессора x86 операция извлечения числа из памяти выглядит так:

MOV ax, 24

У x86 регистры названы как ax, bx, cx и dx (мы ведь помним, что это именованные ячейки памяти в CPU). Такая же операция для процессора ARM будет выглядеть так:

LDR r0, 24

Процессоры Intel и AMD построены на x86 архитектуре, а М1 от Apple - ARM. Внутри эти процессоры работают совершенно иначе, но программисты этого не видят. Мы описываем их работу микро-операциями (micro-ops, μops). С этими инструкциями железо Out-of-Order и работает.

Но почему ОоОЕ не может работать с обычным машинным кодом? Это потому что процессор вынужден хранить различную дополнительную информацию к инструкциям, чтобы иметь возможность выполнять их параллельно. Таким образом, обычная ARM инструкция может быть длиной 32 бита максимум (последовательность из 32 цифр: 0 и 1), а инструкции из микро-операций могут быть гораздо длиннее. Они содержат информацию о порядке исполнения.

01: mul r1, r2, r3    // r1 ← r2 × r3
02: add r4, r1, 5     // r4 ← r1 + 5
03: add r1, r2, 1     // r1 ← r2 + 1

Как вы помните, мы выполняем операции 01 и 03 параллельно. И обе операции хранят результат своей работы в регистре r1. Если мы запишем результат 03 перед тем, как начнет выполняться операция 02, то вторая операция получит неверные входные данные. Следовательно, соблюдать очередность исполнения очень важно. Очередность выполнения хранится вместе с самой микро-операцией, а также хранятся и зависимости операций друг от друга.

Поэтому мы не можем написать программу специально под микро-операции, так как они содержат очень много дополнительной специфичной информации. Для двух различных ARM процессоров последовательность микро-операций может быть очень разной.

CPU может выполнять микро-операции очень быстро, потому что микро-операция - это одинарная очень простая операция. Обычно инструкции ISA могут быть очень сложными. Они состоят из множества команд, которые переводятся в микро-операции. Само слово “микро” происходит от сути операции, а не занимаемой ею памяти.

Для процессоров CISC зачастую нет других решений, кроме микро-операций, формирующих длинные последовательные цепочки. Это исключает использование ОоОЕ. Процессоры RISC же могут выбирать. Например, некоторые небольшие ARM процессоры не используют микро-операции. Но также они и не выполняют код с помощью ОоОЕ.

Почему выполнение ОоОЕ процессорами Intel и AMD уступает чипу М1?

Вы, может быть, удивлены, почему это имеет значение? Почему эта деталь важна для понимания, из-за чего Apple превосходит Intel и AMD? Суть заключается в том, как быстро вы сможете заполнить буфер микро-операций. Если у вас большой объем памяти, то ОоОЕ сможет быстрее найти независимые цепочки инструкций, которые могут быть выполнены параллельно. Но это имеет мало смысла, если у вас не получается быстро заполнять освободившееся пространство памяти после выполнения инструкций. Способность быстро заполнять буфер полагается на способность быстро нарезать машинный код на микро-операции. Устройства, которые этим занимаются, называются декодерами (decoder).

И тут мы, наконец-то, видим киллер-фичу процессора М1. Самый большой и “подлый” процессор Intel имеет на борту 4 декодера. А чип М1 - неслыханные 8 декодеров - значительно больше, чем кто бы то ни было до этого. Так можно заполнять буфер гораздо быстрее. Помимо этого, буфер для инструкций у чипа М1 больше в три раза, чем у среднего чипа в индустрии.

Почему Intel и AMD не могут добавить больше декодеров?

Здесь мы можем заметить “месть” процессоров RISC и начинаем понимать, почему чип М1 построен на базе ARM архитектуры. Видите ли, инструкция для процессора x86 может быть от 1 до 15 байтов длиной. Инструкция для RISC же имеет постоянную длину - 4 байта. Почему это важно для нас? Дело в том, что разделение потока байтов на ограниченные инструкции, чтобы “накормить” ими восемь декодеров процессора параллельно, становится тривиальной задачей, если инструкции всегда одной и той же длины.

Тем не менее, декодеры в x86 не знают, где начнется следующая инструкция. Получается, что декодерам приходится анализировать и длину инструкций. Intel и AMD решила эту задачу топорно: декодер постоянно пытается определить, является ли выполняемая операция начальной точкой инструкции. Таким образом, процессор совершает очень много неудачных попыток. Это создает очень запутанную и сложную стадию декодирования, и из-за этого действительно сложно добавить больше декодеров. Но для Apple же это становится тривиальной задачей. Фактически, 4 декодера - это максимальное число возможных декодеров для Intel и AMD.

Это и есть главная причина, почему М1 ядра Firestorm могут обрабатывать в два раза больше инструкций, чем Intel и AMD, на той же частоте процессора.

Одни могут возразить, что инструкции CISC содержат больше микро-операций. х86 инструкция превращается в две микро-операции, тогда как ARM инструкция - это одна микро-операция. Затем 4 декодера х86 обработают такое же количество микро-операций за такт, какое 8 декодеров у CPU. К сожалению, такое происходит редко в жизни. Очень оптимизированный код для x86 редко использует сложные CISC инструкции, которые могли бы быть переведены во множество микро-операций. Фактически, большая часть этих инструкций будет переведена в одинарные микро-операции.

Тем не менее, эти простые инструкции х86 не помогают Intel и AMD. Несмотря на то, что инструкции длиной в 15 байтов - редкость, декодеры все равно должны быть готовы их обработать, и это и мешает производителям добавлять больше декодеров.

Но ядра процессора AMD Zen3 ведь быстрее, так?

Насколько я помню из последних бенчмарков, новейшие ядра AMD Zen3 немного быстрее, чем ядра М1 Firestorm. Но здесь есть небольшой трюк - ядра Zen3 работают на частоте 5 Гц, тогда как Firestorm работают на частоте 3.2 Гц. Ядра Zen3 лишь немного превосходят Firestorm, несмотря на то, что работают на частоте выше на 60%.

Но почему же Apple тоже не повышает частоту процессора? Ответ прост - чип станет горячее. Это одна из особенностей Apple - их компьютеры не требуют сильного охлаждения, в отличие от Intel и AMD. В сущности, ядра Firestorm превосходят Zen3, тогда как Zen3 вынужден оставаться в игре за счет гораздо большего перегрева. Apple просто не выбирают этот путь.

Если Apple захотят больше мощности, они добавят больше ядер, и это позволит дать больше производительности, не увеличивая сильно потребление энергии.

Будущее

Похоже, что AMD и Intel загнали себя в угол по двум фронтам:

  • У них нет бизнес-модели, чтобы так же легко продолжать стратегию разнородных вычислений (heterogenous computing) и следовать SoC разработкам.

  • Их устаревший набор инструкций CISC теперь преследует их, не позволяя улучшать мощность Out-of-Order.

Это не значит, что игра окончена. Они могут увеличивать частоту процессора и применять больше охлаждения, подбрасывать больше ядер и наращивать объем кэша CPU. В любом случае, оба производителя в невыгодном положении. Intel даже хуже, ведь они на данный этап официально проигрывают гонку производительности, а их GPU очень слабы для интеграции в чипах SoC.

Проблема с подбрасыванием большего числа ядер заключается в том, что ядер становится слишком много. Это хорошо только для серверных станций. Тем не менее, Amazon и Ampere атакуют рынок с их монструозными 128-ядерными процессорами. Это схоже с ситуацией, когда вы боретесь на восточном и западном фронте одновременно.

К счастью для Intel и AMD, Apple не продают свои чипы на рынок, поэтому пользователи вынуждены смириться с тем, что производители чипов им предлагают. Покупатели могут лишь спрыгнуть с корабля, но этот процесс медленный. Вы не сможете быстро сменить платформу, так как инвестировали в нее уже немало. А молодые профессионалы с деньгами, которые не успели еще выбрать свою платформу, могут инвестировать все больше в Apple, укрепляя свои позиции на премиум рынке и, следовательно, свои акции на рынке ПК.


UPD от переводчика: статья вызвала бурное обсуждение, что не может не радовать. Очень много комментариев с более глубоким пояснением, как процессоры работают. Также в комментариях привели много полезных ссылок:

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 548

    +20
    Очень смешной гуглтранслейт
      +13
      Перевод, вроде, нормальный. У меня больше нарекания по исходному контенту.

      0. Интегрированные видяшки на x86 тоже UMA (unified memory architecture).
      1. Intel/AMD — тоже SoC. Южные мосты вроде как в прошлом (т.е. в чипе).
      2. Почти всё начало статьи подаётся как будто в x86 нет out-of-order-execution.
      3. Ничего не сказано про просуперскалярность — тут было бы к месту.
      4. Ничего не сказано про branch prediction — тоже было бы к месту.
      5. Ощущение, что местами hyper-threading перепутан с out-of-order-execution.
      6. Но главное, что добило:
      Если мы запишем результат 03 перед тем, как начнет выполняться операция 02, то вторая операция получит неверные входные данные
      Есть такое понятие как 'registry file' — r1 в первых двух командах и r1 в третьей технически будут разными 'r1' (этих «слотов» в современных процессорах как бы не 128-1024, точных цифр не знаю).

      По итогу — кроме fixed-instruction-length на декодерах разницы вроде и не видно.
        +3
        Интегрированные видяшки на x86 тоже UMA (unified memory architecture).

        Только AMD и только на консолях (но там тоже свои особенности с разными шинами к памяти и без общих кэшей). В ноутбуках/десктопах GPU просто выделяется отдельный пул памяти, в который CPU копирует данные, чтобы GPU мог с ними работать.


        По итогу — кроме fixed-instruction-length на декодерах разницы вроде и не видно.

        Кроме того, что из-за этого стало возможно сделать 8 параллельных декодеров и быстро заполнять reorder buffer в 600+ команд. У anandtech есть технический разбор микроархитектуры процессоров Apple.


        Вообще эта статья для тех, кто в процессорах до этого ничего не понимал, поэтому вольно обращается с терминами.

          0
          Только AMD и только на консолях
          Вроде не только
          docs.microsoft.com/en-us/windows/win32/direct3d12/memory-management-strategies
          Технически, по идее, не должно быть препятствий, чтобы писать в ту память хоть прямо из user-space (окромя concurrency с другими приложениями). Ну и если не из user-space, то в любом случае это будет kernel memcpy, а не проброс по PCI-E.
            +1
            Вроде не только
            docs.microsoft.com/en-us/windows/win32/direct3d12/memory-management-strategies

            Это как раз для XBox и сделано, где особенная архитектура APU и свои драйвера.


            Насколько я знаю, поддержка HSA и HMM в Linux была реализована в каком-то виде под Kaveri, для специализированных задач, но статус в настоящее время непонятен.
            До windows-PC и полноценных драйверов вообще дело не дошло.

              0
              На XBox One, на сколько помню, диалект DirectX 11.1 (Durango) с некоторыми доп-фишками на Map/UpdateResource для UMA. На PS4 примерно та же песня на свой ляд (забыл название API). На Win10 DirectX12 давно уже работает что на встроенных в проц, что на внешних видяшках.
          +2
          Интегрированные видяшки на x86 тоже UMA (unified memory architecture).
          но сама память то вне чипа ) Вообще в M1 LPDDR4X на 4266 МГц, это достаточно быстрая память. Она вшита в чип, что слегка уменьшает задержки. Помимо этого в M1 двухуровневый, а не трехуровневый кеш, но большего размера. Кажется, всё вместе дает прирост.
            0
            Интересно тогда, почему nVidia/AMD не встраивают GDDR видеопамять в чип. Нагрев?
              0
              intel например представили пару lakefield SoC, правда это скорее продукты начального уровня. Но вообще мне кажется здесь и проявляется разница между «делать чипы для своих устройств» от apple и «делать чипы для устройств других производителей» от intel — вторые должны быть более универсальными и модульными.
                0
                Интересно тогда, почему nVidia/AMD не встраивают GDDR видеопамять в чип. Нагрев?

                Кто бы первым это не начал делать у вас всегда была бы возможность задать вопрос:
                а «почему кто-то другой этого не делает? нагрев?»

                Кто то же должен быть первым.

                Остальные подтянутся. Вангую: через пару лет такие чипы с памятью и у других производителей будут не экзотикой.
                  0
                  Кто бы первым это не начал делать у вас всегда была бы возможность задать вопрос:
                  а «почему кто-то другой этого не делает? нагрев?»
                  Кто то же должен быть первым.
                  Почему этот первый не один из двух игроков, а некий пришедший хрен с горы?
                    +1
                    Кто бы первым это не начал делать у вас всегда была бы возможность задать вопрос:
                    а «почему кто-то другой этого не делает? нагрев?»
                    Кто то же должен быть первым.


                    Почему этот первый не один из двух игроков, а некий пришедший хрен с горы?


                    Интерес Apple к ARM древние корни имеет. Компания Advanced RISC Machines (ARM) изначально была основана как совместное предприятие между Acorn Computers, Apple Computer (сегодня — Apple Inc.) и VLSI Technology в 1990 году.

                      0
                      Вопрос то не в этом. Вопрос почему ни один из двух основных игроков рынка этого не делал, а некий второстепенный персонаж взял и сделал.
                      Но в комментариях уже пояснили, что это таки делалось уже. Осталось понять почему не получило особенного развития.
                        0
                        Вопрос то не в этом. Вопрос почему ни один из двух основных игроков рынка этого не делал, а некий второстепенный персонаж взял и сделал.


                        Потому что нужен спрос.

                        Apple может заменять процессор. И сохранить спрос.

                        Поменяв ПО. Это уже было в истории Apple. У них были платформы различные — Motorola, PowerPC, Intel

                        Остальные «ведущие игроки» — просто железячники. На рынке ПО они не могут сделать такие вещи как «поменять ОС под новую систему команд».

                        Прецеденты были — Intel уже пролетала с Itanium.
                          0
                          Основные игроки не увидели спроса на такое, и не смогли его создать или решили не заморачиваться такой суетой.
                          Такая мысль?
                            0
                            Основные игроки не увидели спроса на такое, и не смогли его создать или решили не заморачиваться такой суетой.
                            Такая мысль?


                            Они не могут создать спрос. Они железячники.
                            А с MS видимо не договорились тогда.

                            MS вовсю пилит в Windows для ARM инструментарий эмуляции x86 для него для переходного периода — только вот прямо сейчас.

                            Ноутбуки на ARM уже много лет как выпускались. Только они никому не были нужны. Софта-то не было. Как оказалось, массовому рынку недостаточно Linux, который нужно доводить руками. Нужны системы «сел и работай». А их только 2 — MacOS и Windows. Производство ARM ноутбуков тех — и заглохло.

                            0
                            Я думаю, Intel пролетел с Itanium из-за наличия на рынке Sun SPARC со всем Solaris обвесом. Сейчас история могла бы быть другой. Плюс сейчас докеры, cpp-to-js-to-llvm-to-whatever, opensource-with-cmake, железо всё меньшую роль играет в vendor lock-in.
                            +1
                            Вопрос почему ни один из двух основных игроков рынка этого не делал, а некий второстепенный персонаж взял и сделал.

                            Потому что оба "основных игрока" связаны по рукам и ногам
                            1) обратной совместимостью
                            2) многолетним участием в производственных цепочках десятков, если не сотен производителей конечных устройств
                            3) наличием второго игрока, продукцией которого можно вообще без проблем заменить твою продукцию в случае, если у твоей появляются проблемы с первыми двумя пунктами.


                            Если бы условный интел заявил, что очередное поколение процессоров будет с памятью на SoC, которую нельзя проапгрейдить, то единственное, чего он достиг бы — это практически полной потери рынка энтузиастов и прочих само-сборщиков (которые, так уж повелось, любят периодически апгрейдиться и иметь возможность это сделать). А так же огромными потерями на OEM рынке. Т.к. хоть условному производителю ноутбуков невозможность апгрейда и не настолько критична (подавляюще большинство ноутов и так с распаянной на материнке памятью), но критична логистика и всякие цепочки поставок. Если с классической схемой он мог из абсолютно одинаковых компонентов собрать 4 разных конфигурации ноута (CPU X 4GB RAM, CPU X 8GB RAM, CPU X 12GB RAM, CPU X 16GB RAM), то с "новыми улучшенными" SoC это будет уже 4 разных компонента. И проблемы с доступностью любого из них автоматически будут означать проблемы с производством и доступностью соотв. ноутбуков. А если сюда еще добавить разные модели CPU, то и вовсе получаем квадратичный рост зависимостей.


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

                              0
                              Я не понимаю почему звучит как «теперь наши процы будут с памятью на SoC».
                              Речь же о ситуации «а еще у нас теперь будут процессоры с памятью на SoC».
                              Если процы получаются сказочные то на них постепенно поползут все.
                                0
                                Тогда придётся иметь значительно больше производственных линий, только чтобы «лепить» память на CPU.
                                А корпоративному рынку всё равно потребуется возможность создания нестандартных конфигураций, но если сейчас это CPU + RAM, то как будет потом? SoC не будут выпускать для корпоративного рынка? Или будет что-то вроде SoC(CPU+16 GB RAM) + RAM снаружи?
                                  0

                                  В таком случае эти "а еще" будут просто никому не нужны по ровно тем-же причинам. "Сказочность" памяти на SoC не решает ни одну из этих проблем. И сам по себе факт переноса памяти на SoC не делает процессор достаточно "сказочным", чтобы эти проблемы перевесить.

                                    +1
                                    Тогда не понимаю чего такого сказочного сделала Эпл что это перевесило все проблемы и теперь хоры оды поют.
                                      –1

                                      Попробуйте ещё раз перечитать вот этот мой коммент https://m.habr.com/ru/post/538812/comments/#comment_22586742


                                      Эппл не решила эти проблемы, у неё их и не было.


                                      Хоры оды поют M1 в целом, а не памяти на SoC. Помимо памяти на SoC в нем есть ещё огромная куча отличий от процессоров «основных игроков». И часть этих отличий нельзя (или по крайней мере очень трудно) перенести на x86 by design.

                                        +1
                                        Про память это для простоты. Изначально вопрос был почему основные два игрока рынка не сделали то что сделала сейчас Эпл.
                                        Эти игроки в принципе забили на ARM кусок рынка? В этом мысль?
                                          0
                                          Про память это для простоты. Изначально вопрос был почему основные два игрока рынка не сделали то что сделала сейчас Эпл.
                                          Эти игроки в принципе забили на ARM кусок рынка? В этом мысль?


                                          Потому что этого рынка не было.

                                          Его только-только создает Apple. Как производитель полного цикла — процессоры, компьютеры, софт — она может это сделать.

                                          Основные два игрока — это железячники, обслуживающие имеющиеся на рынке потребности.

                                          Чтобы AMD/Intel стали делать под ARM нужно было чтобы сподобилась сделать полноценное решение под ARM Microsoft. А чтобы Microsoft начала делать это решение — нужно чтобы AMD/Intel сделали. Заколдованный круг.

                                          И только производитель полного цикла не имеет тут заколдованного круга.
                                            0
                                            Чтобы AMD/Intel стали делать под ARM нужно было чтобы сподобилась сделать полноценное решение под ARM Microsoft. А чтобы Microsoft начала делать это решение — нужно чтобы AMD/Intel сделали.

                                            Но Microsoft сделала своё решение уже 3 года назад...

                                              +1
                                              Но Microsoft сделала своё решение уже 3 года назад...

                                              Какие три года?
                                              Эмуляции Win64 еще нет
                                              Эмуляция Win32 только допиливается.

                                              Если вы про голый Windows чисто под ARM — он не нужен никому такой без эмуляции. Переходный период будет длинный.
                                              0
                                              Потому что этого рынка не было.
                                              qualcomm 8cx?
                                                0
                                                Потому что этого рынка не было.


                                                qualcomm 8cx?


                                                Назовите кто из производителей железа его покупал? Какие модели ноутбуков с этим процессором.

                                                Рынок это наличие и спроса тоже.
                                                А не наличие лишь только предложения.

                                                    0
                                                    en.wikipedia.org/wiki/Devices_using_Qualcomm_Snapdragon_processors#Snapdragon_835,_850,_7c,_8c,_8cx_and_8cx_Gen_2


                                                    А где это можно купить?

                                                    Все упомянутые ноутбуки в продаже видны только в версиях с классически процессорами.

                                                      0

                                                      Samsung Galaxy Book S
                                                      Lenovo Flex 5G
                                                      Surface Pro X
                                                      Более новое или только анонсировано или отменено в связи с отсутствием спроса.

                                                        0
                                                        Samsung Galaxy Book S
                                                        Lenovo Flex 5G
                                                        Surface Pro X
                                                        Более новое или только анонсировано или отменено в связи с отсутствием спроса.


                                                        Ага. Спроса нет. Спасибо.
                                                        И за ссылки тоже спасибо.
                                                    0
                                                    Назовите кто из производителей железа его покупал? Какие модели ноутбуков с этим процессором.
                                                    это же легко гуглится… Да, моделей не так много, это ведь ARM ноуты, считай тестовая продукция. Есть еще microsoft SQ1 на базе 8cx, ARM чип который идет в microsoft surface ноуты. Первые ARM MS surface кстати очень давно появились, вместе с релизом win8.

                                                    Я не спорю, что без нормальной софтовой поддержки от MS windows продукты на основе ARM процов достаточно нишевые и мало кому нужные. Я лишь отрицаю утверждение про «рынка не было».
                                                      0
                                                      это же легко гуглится… Да, моделей не так много, это ведь ARM ноуты, считай тестовая продукция. Есть еще microsoft SQ1 на базе 8cx, ARM чип который идет в microsoft surface ноуты. Первые ARM MS surface кстати очень давно появились, вместе с релизом win8.


                                                      Именно. Аналоги новых ноутов Apple тех что на M1 у других производителей — фактически тестовые.

                                                      И да, на ARM ноуты выпускаются давно.
                                                      Но старые модели смысла не имели, ибо были тормозными, а жрали столько же сколько классические x86.

                                                      На ARM свежих, тех, что достаточно быстры для работы — в свободной продаже есть только устройства производства Apple.

                                                      Все прочие — заявлены на сайтах производителей. Но вот в наличии их нигде нет.

                                                      Буду признателен, если вы покажите, где их реально можно купить.
                                                  0
                                                  Что такое полноценное решение? В контексте например хостера? Который масштабирует один-два сервиса на миллионные инстансы?
                                                  Мне кажется что мы по разному понимаем потребителя продукции производителя процессоров.
                                                  0
                                                  ИМХО, потому что разработка процессоров очень сложное дело с большим количеством компромиссов. В АМД для райзенов например сделали чиплеты, где отдельно ядра, отдельно остальное, что позволило значительно улучшить выход годных кристаллов.

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

                                                  Так же при сравнениях надо учитывать, что у М1 уже 5 нм процесс, что даёт им преимущество. Посмотрим, что будет, когда нанометры будут одинаковые.
                                                    +2

                                                    Они не забили. Не было никакого ARM рынка. Его нужно было создать. Эппл создала.


                                                    Им это было сделать на порядок проще, потому что они контролируют свою экосистему. Им достаточно сказать "ребят, через 2 года интел не нужон" и все эта экосистема дружно перейдет на ARM. Начиная с самих процессоров, продолжая прочим железом их компьютеров, поддержкой ОС, библиотек и фреймворков. И заканчивая прикладным софтом сторонних производителей, у которых во-первых есть все инструменты для поддержки ARM, а во-вторых — банально нет выбора, т.к. через 2 года их приложения превратятся в тыкву, если не обновятся.


                                                    Intel и AMD чтобы провернуть подобный трюк нужно было бы договориться с кучей производителей промежуточных звеньев на пути от CPU к потребителю. Если любое из этих звеньев откажется участвовать в затее или не справится со своей задачей — конечный потребитель продолжит пользоваться старыми привычными x86 продуктами, в которых все работает.


                                                    Посмотрите на скорость отказа от WinXP и Win7. А это ведь намного менее радикальное изменение, чем переход на абсолютно новую архитектуру CPU. Экосистема PC очень отличается от Mac.


                                                    Поэтому переход PC мира (с Intel и AMD включительно) на ARM если и произойдет, то только в случае огромного пинка в виде намного более производительных ARM маков (и M1 — это еще недостаточно сильный пинок). И даже в таком случае этот переход для PC будет значительно труднее, болезненнее и дольше, чем для маков.

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

                                                              Ну, например, у разных людей разная квалификация? И значимая часть программистов на C++ просто не будет разбираться в кишках gcc и clang?


                                                              Я уж не говорю о том, что разным людям интересны разные задачи.

                                                              0

                                                              А зачем каждому линуксоиду это уметь? В этом же ведь и прелесть опенсорса — достаточно суметь это сделать нескольким энтузиастам.

                                                                0
                                                                А зачем каждому линуксоиду это уметь?
                                                                Это сказано в контексте портирования.
                                                                  0

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

                                                              0
                                                              На любой продукт есть свой покупатель

                                                              Не на любой, а только на законченный. В случае десктопа законченный продукт помимо процессора включает в себя еще кучу всего. В экосистеме мака эту кучу всего эппл может просто взять и сделать. В экосистеме pc нужно договориться с кучей производителей и убедить каждого из них рискнуть и вложиться в поддержку новой архитектуры.


                                                              Если продукт на голову выше того что вокруг (даже в какой-то узкой области)

                                                              … то во всяких узких областях ARM уже давным давно активно используется. Просто десктоп в эти узкие области не входит.


                                                              либо есть какие-то нюансы

                                                              Да, есть. Я про них многократно написал уже. Нюанс в необходимости привлечения множества независимых производителей и их слаженной работы в случае с PC и в отсутствии такой необходимости в случае с mac.

                                                                0
                                                                Не на любой, а только на законченный. В случае десктопа законченный продукт помимо процессора включает в себя еще кучу всего.

                                                                Вы опять за свое. Причем тут десктоп? Речь за процессоры.
                                                                Да, есть. Я про них многократно написал уже. Нюанс в необходимости привлечения множества независимых производителей и их слаженной работы в случае с PC и в отсутствии такой необходимости в случае с mac.

                                                                Производителей чего? Цпу дали, референсный чипсет. Что еще нужно? Сейчас как-то иначе разве?
                                                                  +1
                                                                  Причем тут десктоп? Речь за процессоры.

                                                                  Так ARM процессоры давным-давно используются в своих нишах. Десктоп в эти ниши не входил. Благодаря Apple теперь вошел. Вероятно скоро и pc мир подтянется. Вон MS активизировались, стали активнее допиливать трансляцию x64.


                                                                  Я перестаю понимать, в чем ваш вопрос. Почему Intel и AMD не делают ARM процессоры? Потому что целятся в массовый рынок, а не в нишевый, где каждый процессор в силу малого тиража будет стоить как крыло от самолета.


                                                                  Производителей чего? Цпу дали, референсный чипсет. Что еще нужно? Сейчас как-то иначе разве?

                                                                  И что дальше? Зачем мне инвестировать кучу бабла в производство, скажем, материнок под этот процессор, для которого нет софта, если я могу потратить эти деньги на приклеивание еще 2 RGB лампочек к материнке, на которую точно будет огромный спрос?

                                                                    0
                                                                    Потому что целятся в массовый рынок, а не в нишевый, где каждый процессор в силу малого тиража будет стоить как крыло от самолета.

                                                                    В чем и был вопрос. Они забили на этот сегмент рынка. Теперь понятно.
                                                                    И что дальше? Зачем мне инвестировать кучу бабла в производство, скажем, материнок под этот процессор, для которого нет софта

                                                                    Почему нет софта если это ARM? Использование фич нового процессора потребует не просто обновленного компилятора а новых алгоритмов?
                                                                      0
                                                                      Использование фич нового процессора потребует не просто обновленного компилятора а новых алгоритмов?
                                                                      Как минимум тут нужно наличие оптимизирующего компилятора и отсутствие ассемблерных вставок.
                                                                        0
                                                                        Почему нет софта если это ARM? Использование фич нового процессора потребует не просто обновленного компилятора а новых алгоритмов?

                                                                        Ну возьмите какой-нибудь девайс на Windows 10 ARM и посмотрите какое там обилие софта.


                                                                        Даже если для сборки ARM версии достаточно поменять один флаг компиляции (а это далеко не всегда так просто) — нужно чтобы кто-то это сделал. И потом эту версию тестировал и поддерживал. А это никому не нужно из-за размера ниши ARM десктопов.

                                                                          0
                                                                          Опять вы за свое. Причем тут десктопы. Речь за процессоры.
                                                                          Я может чего не понимаю и этот процессор от Эпл имеет смысл исключительно в контексте десктопа?
                                                                          Тогда я вообще не вижу смысла во всем этом диалоге.
                                                                            0

                                                                            facepalm.jpg
                                                                            То есть весь сыр-бор из-за непонимания, что процессор, созданный исключительно для десктопа (при чем мобильного) имеет смысл исключительно в контексте десктопа?


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

                                                                            0

                                                                            Интелу и АМД достаточно сделать как Apple и заявить "через N лет х86 — всё, будем производить только ARM" не оставив выбора, и сразу и производители материнок подтянутся (ибо раз х86 процев не будет — под них уже не по-клепаешь) и производители софта (ибо иначе их софт будет лишь на компах N-летней давности).


                                                                            Единственная сложность — это то что intel и amd должны провернуть это относительно синхронно.

                                                                              0
                                                                              Единственная сложность — это то что intel и amd должны провернуть это относительно синхронно.

                                                                              Какая несущественная мелочь. Всего-то убедить конкурента не захватывать рынок, который ты ему добровольно отдал "через N лет", а вместо этого потратить кучу ресурсов на рискованный переход на новую архитектуру вместе с тобой.

                                                                                0

                                                                                Даже если на секундочку подумать, что Intel и AMD не против… То тут есть пара нюансов:


                                                                                • у интел-амд дохрена патентов на х86 платформе и они принадлежат им
                                                                                • в арме у них патентов или нет, или практически нет (понятно, что некоторые удастся переиспользовать — но далеко не все).

                                                                                Т.е. вместо взаимного гашения вопроса об лицензионных отчислениях они будут вынуждены добавлять лицензионные отчисления… и удорожать процессоры вот на ровном месте. Далее, сразу выдать "прям топчик" на новой архитектуре у них не факт, что выйдет — а это репутационные риски. Ну и для красоты добавим, что им ещё сами процессоры с нуля придётся делать. В общем — грандиозные капитало- и репутационные вложения с непонятным итогом… Ибо вероятность выжить ниже, чем при сохранении собственной ниши.

                                                                                  0
                                                                                  Что делать с полувеком legacy кода, который никто не знает как переписать?
                                                                                    0
                                                                                    Эмулятор. В маке вот уже работает, в Windows на стадии дописывания.
                                                                            0
                                                                            Грубо говоря если завтра Intel захочет выпустить процессор не на x86_64, а на ARM — они будут вынуждены делать его аппаратно совместимым с существующими процессорами — только потому что помимо CPU в компьютеры обычно добавляют RAM, накопители, зоопарк PCI-карт и т.д. и т.п. И даже если они сделают такой процессор (или договорятся со всеми соответствующими производителями о выпуске новых версий железа, специально для чудо-процессора) — программы сами себя не портируют.
                                                                              0
                                                                              Откровенно говоря не вижу такой необходимости.
                                                                              Есть старая линейка. А появляется дополнительно новая с килер фичей.
                                                                              Ну а программы портируют разумеется потребители, был бы выхлоп.
                                                                                0
                                                                                Это сработает только если новая линейка будет ощутимо превосходить существующую, с учётом более дорогой обвязки (потому что новая и пока что малотиражируемая) и недостатка ПО. Если новый ARM-процессор будет (условно) на 10% мощнее нового x86_64, то большинство обычных пользователей даже не подумает переходить на него в ближайшие пару лет. Корпоративные — возможно, но опять таки после портирования всего нужного ПО.
                                                                                  0
                                                                                  Новый ARM от Эпл разве не преподносится как ощутимо превосходящий? Это разве не подтверждение правильности подхода?
                                                                                  Какое ПО нужно тому же хостеру или производителю систем видеонаблюдения, или систем хранения данных и тд? В чем там особенность сборки под новую целевую платформу?
                                                                                    0
                                                                                    Преподносится — да, фактически — не очень понятно (полно противоречивых комментариев). То, что Apple решила перейти на ARM говорит только то, что Apple решила. Через год они и вовсе могу решить перейти на какую-нибудь собственную iArch — могут позволить в рамках 100% своей экосистемы.
                                                                                    Какое ПО нужно тому же хостеру
                                                                                    Я не смотрел исходные коды, но вдруг условный Nginx использует ассемблерные вставки для особо критичных мест? Их портировать не очень приятно будет.
                                                                                    или производителю систем видеонаблюдения
                                                                                    а вот в видеокодеках повсеместно используют ассемблер, который точно придётся переписывать (ну или в железо выносить).
                                                                                      0
                                                                                      Я не смотрел исходные коды, но вдруг условный Nginx использует ассемблерные вставки для особо критичных мест? Их портировать не очень приятно будет.

                                                                                      Разумеется. Но портирование одного сервиса раскатывается на миллионы клиентов. И уже появляется какой-то экономический выхлоп. Понятно что если каждому клиенту портировать индивидуальный софт то можно сразу застрелиться, с ногами в тазу с бетоном на краю плотины.
                                                                                      а вот в видеокодеках повсеместно используют ассемблер, который точно придётся переписывать (ну или в железо выносить).

                                                                                      А какие процессоры стоят сейчас зачастую во всех этих системах? ARM и стоит. Вопрос насколько обсуждаемый кентавр совместим с ними. И стоит ли адаптация суеты.
                                                                                        0
                                                                                        Через год они и вовсе могу решить перейти на какую-нибудь собственную iArch — могут позволить в рамках 100% своей экосистемы.

                                                                                        Справедливости ради ARM и так есть тот самый собственный iArch. Apple — один из родоначальников ARM и один из основных владельцев.
                                                                                    0
                                                                                    Откровенно говоря не вижу такой необходимости.
                                                                                    Есть старая линейка. А появляется дополнительно новая с килер фичей.
                                                                                    Ну а программы портируют разумеется потребители, был бы выхлоп.


                                                                                    Нужна критическая масса владельцев девайсов, чтобы программы начали портировать.

                                                                                    Нужна критическая масса программ, чтобы девайсы начали покупать.

                                                                                    Замкнутый круг.

                                                                                    Кроме Apple:

                                                                                    Apple, имея полный цикл производства и железа и софта и обладая внушительной властью над сторонними разработчиками — может менять платформу и уже делала это Motorola => PowerPC => Intel.

                                                                                    Фирма Apple может сказать и рынку (на котором она по сути монополист) и разработчикам — «или делай что я сказала, или иди в нецензурную сторону».

                                                                                    Кроме процессоров фирма Apple в приказном порядке это делала для многого. Хоть судьбу OpenGL и Vulkan посмотрите.

                                                                                    Потому что конкурентов в своей ниши у Apple нет.
                                                                                    И потому что Apple производит полный цикл — процессор, девайсы, софт, а также диктует свою политику разработчикам.

                                                                                    Ну а теперь представьте, что будет, когда тоже самое скажет какая то из фирм, поддерживающи на x86. У них у всех есть конкуренты. И клиенты уйдут к конкурентам.

                                                                                    Есть старая линейка. А появляется дополнительно новая с килер фичей.


                                                                                    В том то и дело, что киллер-фичи у M1 нет.
                                                                                    Это довольно хороший продукт. Но не более.

                                                                                    Однако у потребителей, предпочитающих Apple — нет выбора. Это не киллер-фича, это просто принуждение.

                                                                                    В принципе, все согласны, поскольку их пересаживают не на говно, а на процессор сопоставимый с AMD/Intel.

                                                                                      0
                                                                                      ну как нет выбора то, переходить на windows никто не запрещает. А тех, кто залочен на яблоке намертво, всеже меньшинство.

                                                                                      Что до opengl/vulkan — без их поддержки в консолях теряется весь смысл пытаться тянуть универсальный графический api.
                                                                                        0
                                                                                        Мы в курсе что Аппл уже 3 раза кидала своих поклонников на покупку нового софта на каждую платформу.
                                                                                0
                                                                                Я не пойму почему вы упорно говорите о переходе PC мира на ARM?
                                                                                Речь о том почему основные игроки не сделали ранее свой вариант того что сделала Эпл. На любой продукт есть свой покупатель. Если продукт на голову выше того что вокруг (даже в какой-то узкой области) заинтересованные люди быстро придумают как использовать себе на пользу. Вплоть до сборки своей оси.


                                                                                Разработка современного процессора чрезвычайно дорогостоящая.

                                                                                Ради 3,14 энтузиастов это бессмысленно.

                                                                                Если только энтузиасты не согласятся покупать процессор по цене самолета. А на это согласится еще меньше небольшого числа энтузиастов.

                                                                                Если продукт на голову выше того что вокруг (даже в какой-то узкой области) заинтересованные люди быстро придумают как использовать себе на пользу. Вплоть до сборки своей оси.


                                                                                То есть вы предлагаете произвести миллионы процессоров (а иначе это экономически не рентабельно).

                                                                                Выпустить на их базе миллионы ноутбуков.

                                                                                Выложить эти миллионы ноутбуки без софта на полки магазинов.

                                                                                Как вы думаете, сколько экземляров из этих миллионов без ОС будут проданы? 200 шт.?

                                                                                Кто будет оплачивать весь этот банкет, все те годы, пока энтузиасты не запилят свою ОС?

                                                                                Магазины? Производители процессоров или производители ноутбуков?

                                                                                Речь то не о копеечных убытка. А о миллиардах.

                                                                                Покупатель есть не на любой продукт, а на завершенный до логического конца продукт.

                                                                                То есть без желания MS подключиться к проекту или кого-то тоже мощного в софтостроении — продукта не выйдет.

                                                                                Условно говоря:

                                                                                AMD + Asus + MS = должны договориться, чтобы сделать новый продукт.

                                                                                Причем для всех трех компаний это миллиардные риски.
                                                                                Зачем они им?
                                                                                  0
                                                                                  Какие ноутбуки, о чем вы? Речь за процессоры.
                                                                                  Если у нового процессора будет серьезное преимущество его моментально пристроят к делу. И будут это совсем не пользователи ноутбуков и прочие игруны.
                                                                                    0

                                                                                    Повторюсь, "совсем не пользователи ноутбуков и прочие игруны" уже давно пользуются ARM процессорами

                                                                                      0
                                                                                      Я это прекрасно знаю, но не теми прекрасными ARM о которых мы говорим. И которые, якобы, на голову выше того что есть и среди ARM и вообще.
                                                                                      Или ARM от Эпл это как раз для ноутов, игр и прочей бытовухи, для серьезных задач не предназначены?
                                                                                0
                                                                                т.к. через 2 года их приложения превратятся в тыкву, если не обновятся.

                                                                                У меня есть программа, скомпилированная в 2007 году. Она достаточно хорошо работает на новейшей Windows 10. И что теперь, мне её выкинуть, так как автор её уже 100 лет не поддерживает, и даже наличие исходных кодов никак не помогает?
                                                                                  0

                                                                                  Да, именно поэтому для PC процесс перехода будет более болезненным и долгим. Спасибо за наглядную иллюстрацию.

                                                                        0
                                                                        Вспомните сколько срача было с «теперь у нас будет встроенная в процы графика, если вам не надо — не используйте».
                                                                          0
                                                                          Благо в моём проце графики нет ))
                                                              +1
                                                              Почему не используют? Очень даже используют, правда HBM.
                                                                0
                                                                Ну оно так себе «интегрировано», просто вплотную interposer влепили прямо к чипу, если вот эти синенькие фиговины — чипы памяти. Зато решили вопрос с нагревом :)
                                                                  +1
                                                                  Так у яблок точно такая-же интеграция — чиплеты www.eetasia.com/why-is-apple-m1-processor-passing-on-the-chiplets просто яблоки поставили обычную память, т.к. HBM штука очень быстрая, но дорогая. Собственно AMD HBM использует уже какое-то время в топовых решениях www.amd.com/en/technologies/hbm, как и NVidia images.nvidia.com/content/volta-architecture/pdf/volta-architecture-whitepaper.pdf
                                                                  Дело в том, что технологии, по которой делается память, не очень сочетается с той, по которой делается числодробилка. С флешем тоже самое, как и с DAC/ADC. Но если интерконект сделать на кремнии и с минимальными длинами — то получаются довольно вкусные и шустрые решения.
                                                                0

                                                                Дорого. В проф сегменте лет 5 минимум HBM для этого используется.

                                                                +1
                                                                Она вшита в чип, что слегка уменьшает задержки

                                                                Там используется обычная PoP память, как в любом телефоне. Разве что только для лучшего охлаждения смещена в сторону.

                                                                Какие задержки это уменьшает и на сколько?
                                                                Без цифр ваше утверждение является пустым сотрясанием воздуха.

                                                                Помимо этого в M1 двухуровневый, а не трехуровневый кеш, но большего размера.

                                                                3-х уровневый.
                                                                3-й уровень это SLC кэш размером 16МБ, для связи блоков внутри чипа. Правда до сих пор точно не понятно как ядро с ним работает.

                                                                  –1
                                                                  Какие задержки это уменьшает и на сколько?
                                                                  Без цифр ваше утверждение является пустым сотрясанием воздуха.
                                                                  да уже то, что память физически ближе к процу на 10+ см, само по себе уменьшает задержки на несколько тактов.
                                                                  3-х уровневый.
                                                                  3-й уровень это SLC кэш размером 16МБ, для связи блоков внутри чипа. Правда до сих пор точно не понятно как ядро с ним работает.
                                                                  «As for SLC cache, that’s for flash, not for the memory subsystem.»
                                                                    +1
                                                                    да уже то, что память физически ближе к процу на 10+ см, само по себе уменьшает задержки на несколько тактов.

                                                                    Чистая спекуляция. Какие конкретно задержки это уменьшает?
                                                                    Насколько эти несколько тактов значительны на фоне общей латентности памяти?
                                                                    Если вы встали с утра с кровати, эти несколько сантиметров вас конечно приблизят к поверхности Марса (или отдалят), но не сильно.

                                                                    Ладно, я понимаю что из вас клещами нужно цифры вытягивать.
                                                                    У 9900K латентность DDR4 памяти 70 нс.
                                                                    У Apple M1 с LPDDR4X — 96 нс.
                                                                    Так что там уменьшается? Кроме расстояния есть и другие, более важные параметры.

                                                                    «As for SLC cache, that’s for flash, not for the memory subsystem.»

                                                                    Ну это совсем ржака. Человек просто перепутал SLC (Single Level Cell) область в SSD и SLC (System Level Cache) в SoC.
                                                                    Apple говорит о System Cache, но ARM называет его SLC.
                                                                    Вот, например, документации к шине Corelinк:
                                                                    developer.arm.com/documentation/100180/0103/introduction/product-documentation-and-design-flow
                                                                    «Configurables include size and device placement and an optional System Level Cache (SLC).»
                                                                    developer.arm.com/documentation/100180/0103/slc-memory-system/about-the-slc-memory-system
                                                                    Я конечно криво написал про System Level Cache — cache, но Андрей из Анандтек так же облажался :) «Такова селяви»(с)

                                                                    Собственно там не только кэш, но и свитч и coherence point. Всё в одном.
                                                                    Вот патент Apple на системный кэш:
                                                                    patents.google.com/patent/US20140075125

                                                                      –1
                                                                      У 9900K латентность DDR4 памяти 70 нс.
                                                                      У Apple M1 с LPDDR4X — 96 нс.
                                                                      вы сравнили in-page latency у 9900K против full random latency у M1. А на графике ниже у 9900k в тесте full random latency порядка 210 нс.

                                                                      Про кеш теперь еще более непонятно становится. Я в курсе что там L2 уже общий между ядрами, и не понимаю зачем тогда SLC и какую роль он играет.
                                                                        0
                                                                        random latency порядка 210 нс.

                                                                        Вообще-то там такты (clocks).
                                                                        210 тактов на 4ГГц это около 52нс. Т.е. даже меньше.
                                                                        Я хотел использовать другой график (с нс шкалой), но там не было подписано значение.

                                                                        Согласно 7-cpu www.7-cpu.com/cpu/Skylake.html
                                                                        «RAM Latency = 42 cycles + 51 ns (i7-6700 Skylake)»
                                                                        На частоте 4ГГц, 42 такта это 10,5 нс.
                                                                        Итого получаем 63,5нс для DDR4-2400 памяти.
                                                                        ЕМНИП, другие измерения что я встречал, доходили до 67-70нс.

                                                                        Я в курсе что там L2 уже общий между ядрами

                                                                        Между процессорными ядрами. В каждом кластере L2 свой.
                                                                        У больших ядер 12МБ, у маленьких 4МБ.

                                                                        и не понимаю зачем тогда SLC и какую роль он играет.

                                                                        Связь всех основных блоков чипа — CPU, GPU, NPU, ISP и других.
                                                                        Для эффективного обмена данными и кэш когерентности.
                                                                          0
                                                                          спасибо за разъяснения
                                                                0
                                                                1. Intel/AMD — тоже SoC. Южные мосты вроде как в прошлом (т.е. в чипе).


                                                                Ммм… а не северный?
                                                                  0
                                                                  Весь северный и половина южного.
                                                                    +1

                                                                    На EPYC уже даже и южного нет.

                                                                +1
                                                                Ох уж эти загадочные Entrance/Exit Controllers…
                                                                +4
                                                                Не согласен с тем что бизнес HP и Dell в опасности. если Интел сделает такой же процессор как М1 они так же продолжат собирать на нем системные блоки и ноутбуки.
                                                                  –3
                                                                  И он уже на подходе, только не Intel а Qualcomm.
                                                                    +5
                                                                    а тем временем у Интела рекордные прибыли за всю историю и главная проблема — его заводы не поспевают удовлетворить спрос на его процессора ;)
                                                                      0

                                                                      То, что я, выращивая картошку на грядке, не успеваю обеспечить ею своих соседей, не означает, что моя картошка хороша или что я как производитель круче кого-то, это означает лишь то, что я произвожу меньше, чем тем, кто желает, надо.

                                                                        0
                                                                        Так выбора-то особо нет. Плюс общий дефицит топового компьютерного железа.
                                                                          0
                                                                          И как это относится к потенциальным конкурентам М1?
                                                                            +1
                                                                            Нет. Главная проблема Интел в том, что он больше не технологический лидер. И рынок это четко прайсит: Интел -5% за год, АМД +100%

                                                                            image
                                                                              +1
                                                                              Не забывайте, что AMD помимо CPU делает видеокарты.
                                                                              А ещё именно AMD-компоненты используются в игровых консолях.
                                                                                0
                                                                                > А ещё именно AMD-компоненты используются в игровых консолях.
                                                                                Вот, почему не Intel то? Вероятно потому и.
                                                                                +2
                                                                                Интел -5% за год, АМД +100%
                                                                                Это только отражает рыночные настроения аналитиков и инвесторов. Завтра происходит землетрясение, и фабрика AMD разрушена — цена упадёт. Потеряно ли лидерство? Не факт. Никто не будет разбираться, что это была лишь запасная фабрика, цена упадёт. Лишь потом начнет отрастать, когда все разберутся.
                                                                                Интел больше не технологический лидер
                                                                                Вчера Intel начал набирать своих олдов — график сильно вырастет, хотя они (олды) ещё ничего не сделали и не произвели.
                                                                                  0
                                                                                  Лишь потом начнет отрастать, когда все разберутся.

                                                                                  Но ведь за полгода-то можно разобраться? Вот и по графику если судить — там тоже разобрались и отросли, было ведь не -5%, а все -20%.

                                                                                    0
                                                                                    Это как раз надежда, что новый СЕО инженер, и вернет былое технологическое лидерство
                                                                            +18
                                                                            Технически, М1 — это весь компьютер на одном чипе. Он содержит CPU, графический процессор GPU, память, контроллеры входа/выхода и множество других вещей, делающих компьютер компьютером. Это мы называем системой на чипе (system on the chip, SoC).
                                                                            Процессоры Intel и AMD как бы тоже содержат все это. Только их чего-то не называют SoC…
                                                                              –1

                                                                              Памяти то нет.

                                                                                +3

                                                                                В Qualcomm/MTK/Kirin/Exynos/etc. тоже памяти нет. Но они SoC.

                                                                                  0
                                                                                  Так и у M1 памяти нет.
                                                                                    +2
                                                                                    За что минусы? Там же общая подложка, но кристаллы-то разные. Это не SoC, а микросборка.
                                                                                  0
                                                                                  Апчхи, Kabini. Апчхи Steppe Eagle. Чихать ещё могу долго, даже из интела что-то вычихнется. www.amd.com/ru/products/embedded-g-series
                                                                                  +4
                                                                                  Тянут и тянут маркетинговый буллшит.
                                                                                  www.youtube.com/watch?v=dI1tGziCi54
                                                                                  www.youtube.com/watch?v=4efF1KHIbZw
                                                                                    –2
                                                                                    там там сплошь замеры транслированного софта. «Почему все обзорщики из США используют одни и те же единственные оптимизированные под ARM бенчмарки?»…
                                                                                      +4
                                                                                      там там сплошь замеры транслированного софта

                                                                                      Подождите, эпл же сказала что розетта всех спасет, получается соврали что ли?
                                                                                      Ну хорошо, ладно, розетта жрет производительность, но у вас же супер М1 который на завтрак ксеоны и эпики жрет, тож не спасает? Делааа…

                                                                                      «Почему все обзорщики из США используют одни и те же единственные оптимизированные под ARM бенчмарки?»

                                                                                      Если между несколькими обзорами прослеживается общая линия то невольно задумаешься, а не проплатили ли, но опять таки, все ж без наездов, просто наблюдения.
                                                                                      Вообще больше хотелось бы услышать чтонибудь по поводу всех этих глюков и ошибок снятых на видео. Или про показательный момент когда клонированная сиситема на супер М1 залогинилась ощутимо медленнее чем двухлетний интел… Про ворд который грузился пол минуты примерно. Очень знаете ли интересно послушать.
                                                                                        –1
                                                                                        Подождите, эпл же сказала что розетта всех спасет, получается соврали что ли?
                                                                                        Ну хорошо, ладно, розетта жрет производительность, но у вас же супер М1 который на завтрак ксеоны и эпики жрет, тож не спасает? Делааа…
                                                                                        А давайте тогда запускать и там и там ARM код? Спойлер: M1 выполняет x86 код через rosetta2 куда быстрее, чем x86 процы выполняют ARM код.
                                                                                        Если между несколькими обзорами прослеживается общая линия то невольно задумаешься, а не проплатили ли, но опять таки, все ж без наездов, просто наблюдения.
                                                                                        у вас есть доказательства что apple хоть раз проплачивали обзоры?
                                                                                        Про ворд который грузился пол минуты примерно. Очень знаете ли интересно послушать.
                                                                                        при первом запуске неоптимизированного приложения происходит трансляция.
                                                                                          0
                                                                                          Подождите, эпл же сказала что розетта всех спасет, получается соврали что ли?
                                                                                          Ну хорошо, ладно, розетта жрет производительность, но у вас же супер М1 который на завтрак ксеоны и эпики жрет, тож не спасает? Делааа…


                                                                                          И к чему эти язвительные замечания?

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

                                                                                          Или же вы считаете, что планируется жить через трансляцию вечно? У вас для этого предположения есть основания какие-то?

                                                                                            +3
                                                                                            И к чему эти язвительные замечания?

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

                                                                                            Или же вы считаете, что планируется жить через трансляцию вечно? У вас для этого предположения есть основания какие-то?

                                                                                            Я такого не утверждал. Да и речь то не о ней.
                                                                                            Просто я угораю с фанатиков эпл которые на словах и бенчах чуть не сервера рвут своим М1, а когда им скидывают видео реальной работы, когда человек перенес свое окружение и все очень плохо даже по сравнению с интелом 2018 года, начинается игра тысяча и одна отмаза своего яблочного бога.
                                                                                            Первой отмазой пошла розетта, но т.к. видно что М1 работает откровенно хуже, получается либо розетта сожрала всю «супер» производителность либо М1 изначально ничем выдающимся не был. Отсюда мой сарказм.

                                                                                            Antervis

                                                                                            при первом запуске неоптимизированного приложения происходит трансляция.

                                                                                            Человек который снял часовой подробный разбор о таком нюансе бы упомянул, ну или как мининимум запустил бы ворд дважды. Это во-первых.
                                                                                            Во-вторых, ворд работает нативно и уже достаточно давно. Так что аргумент с розетой не прокатывает.
                                                                                            К тому же, а что с логином? Почему так медленно? Тоже через розетту логинимся?
                                                                                              +1
                                                                                              Человек который снял часовой подробный разбор о таком нюансе бы упомянул, ну или как мининимум запустил бы ворд дважды. Это во-первых.
                                                                                              так запустил или запустил бы?
                                                                                              Во-вторых, ворд работает нативно и уже достаточно давно. Так что аргумент с розетой не прокатывает.

                                                                                              когда человек перенес свое окружение и все очень плохо даже по сравнению с интелом 2018 года
                                                                                              человек перенес окружение вместе со всеми x86 приложухами, и внезапно там не нативные версии софта :surprised_pikachu_face:
                                                                                                +1
                                                                                                человек перенес окружение вместе со всеми x86 приложухами, и внезапно там не нативные версии софта :surprised_pikachu_face:
                                                                                                Теперь домохозяйкам с макбуками нужно знать какой архитектуры какое приложения, и будет ли оно когда-то портировано. Того и глядишь, будут как линуксоиды ядро пересобирать и кеды патчить.
                                                                                                  +1
                                                                                                  Теперь домохозяйкам с макбуками нужно знать какой архитектуры какое приложения, и будет ли оно когда-то портировано
                                                                                                  сомневаюсь что домохозяйка будет переносить окружение, ровно как и пользоваться не типовым софтом.
                                                                                                    0
                                                                                                    сомневаюсь что домохозяйка будет переносить окружение
                                                                                                    Насколько я знаю, это один из основных преимуществ Ap*le. Если в GNU/Linux мне нужно получить идентичное окружение, то я сам должен скопировать документы и настройки, безразлично то ли флешкой, то ли через репозиторий dot-файлов.
                                                                                                    ровно как и пользоваться не типовым софтом.
                                                                                                    Нужно ещё знать, что типовое, а что нет. virtualbox — не типовой, оказывается.
                                                                                        –1
                                                                                        Ты что ж так грубо выражаешься? Тут же дети могут быть! Надо говорить «маркетинговый би эс».
                                                                                          –2
                                                                                          Не готов тратить 1.5 часа своей жизни на просмотр всего двух видео, можете вкратце, что не так?

                                                                                          А то у меня тут есть пара ссылок на видео и канал, который и в хвост и в гриву тестировал М1 маки и результат по сравнению с интеловским шлаком очень и очень ощутимый. А если пересчитать производительность на ватт, так там вообще пропасть размером с Большой каньон.
                                                                                            –1
                                                                                            Хорошие минусы. Аргументы к ним, пожалуйста, в следующий раз попробуйте завезти, эплохейтеры.
                                                                                          +37
                                                                                          столько пафоса, что у меня монитор замироточил
                                                                                            +7

                                                                                            На частоте в два раза меньшей 8 декодеров x86 точно влезут. Тем более у M1 и техпроцесс поновее 5нм/TSMC против 7нм/TSMC у Zen3.
                                                                                            С бизнес моделью — вообще чушь какая-то. Ничего не мешает AMD понатыкать в свои чипы CPU/GPU/DSP/ISP/"другие ускорители"/SRAM, а сверху нахлобучить DRAM. Два основных производителя и несколько разных API для работы с этой мишурой. Вот будет радость-то!
                                                                                            В общем, в статье ни одного существенного препятствия для того, чтобы Intel и AMD догнали и перегнали конкретно чип M1, не приведено. Предположу, что просто не ожидали такого поворота событий. Помимо этого Intel с AMD могут не бояться Apple, так как последняя существует в своём закрытом мирке. Только косвенно, из-за возросшего интереса к ARM в целом.

                                                                                              0
                                                                                              Меня удивило почему samsung (или аналоги, но на него больше всего надежды было) ничего не сделал подобного. Вроде и мобильный чип есть мощный (отсносительно). Свои ноутбуки тоже собирают. Windows давно arm поддерживает (с натяжкой). Менеджеры давно должны были догадываться. Неужели маркетинг просчитал что не взлетит кроме как для пары гиков?
                                                                                                +1
                                                                                                Меня удивило почему samsung (или аналоги, но на него больше всего надежды было) ничего не сделал подобного. Вроде и мобильный чип есть мощный (отсносительно).


                                                                                                Почему Samsung не сделал?
                                                                                                Samsung вполне себе сделал
                                                                                                25 часов автономной работы обеспечит Samsung Galaxy Book S с процессором Snapdragon 8cx

                                                                                                если же вы про производительность, то кто-то же должен быть первым. почему не Apple? какая нам разница по сути.

                                                                                                на данном этапе имеем то что имеем. потом — будет множество альтернатив.

                                                                                                но MS вполне себе серьезно пилит Windows для ARM и эмуляцию x86 в нем. Win32 уже допилили. Сейчас допиливают эмуляцию Win64

                                                                                                на сегодняшний момент вполне себе производительные ноутбуки на ARM, кроме Apple, уже представили Samsung, Microsoft и еще пара первых брендов.
                                                                                                  0
                                                                                                  Спасибо что скинули, пропустил из-за 2020. В общем да — вы правы, остальные подтянутся, побыстрее бы )
                                                                                                  0

                                                                                                  Они пытались сделать подобную микроархитектуру, но не преуспели. Это был один из последних производителей, пытавшихся сделать свои мощные ядра, а не лицензировать у ARM.
                                                                                                  Возможно, через некоторое время Qualcomm выпустит продукт разработок Nuvia.

                                                                                                    0
                                                                                                    Суть в том что они их производят в большом количестве. И что на их основе склепаны телефоны топовой линейки. Кем лицензированные и насколько быстрые — не настолько важно
                                                                                                      0
                                                                                                      Суть в том что они их производят в большом количестве. И что на их основе склепаны телефоны топовой линейки. Кем лицензированные и насколько быстрые — не настолько важно

                                                                                                      Ещё как важно, самому самсунгу. Топовые модели он делал одновременно и на своих процессорах и на qualcomm, для разных рынков, так каждый второй обзорщик упоминал, что exynos версия медленнее и горячее, чем snapdragon, и призывал искать версию на втором. Как, думаете, сказывалось это положительно на продажах своих процессоров? Выгодно было инвестировать в разработку и производство?
                                                                                                      В целом, у них была ставка рано или поздно обогнать стоковые ARM-ядра и получить статус "быстрейших" android-телефонов, что дало бы им большое маркетинговое преимущество.
                                                                                                      Но за много лет не вышло, поэтому проект полностью свёрнут. Теперь модели exynos и snapdragon будут почти как близнецы братья.

                                                                                                  –1
                                                                                                  На частоте в два раза меньшей 8 декодеров x86 точно влезут
                                                                                                  в случае ARM декодер берет i-е 32-битное число из памяти и декодирует независимо от остальных. В случае x86 декодер начинает с i-ого байта, пытается распарсить команду, и попутно думает, попал он в третий байт команды, пятый или четырнадцатый. И если попал не в начало команды, то надо дождаться, пока предыдущий декодер скорректирует конфликтующую команду. И логика такого декодера, сами понимаете, далека от тривиальной. Итого apple будет проще нарастить число декодеров до 16 чем intel/amd до 8.
                                                                                                    0

                                                                                                    Можно поставить предварительную стадию, которая разбивает на отдельные инструкции и попутно считая их число. Она будет достаточно простой функционально, но длинной, и всё-равно может влезть. Сомневаюсь, что у Intel/AMD не так сделано, а стоят подряд 4-е полноценных декодера x86. Вообще, кажется, читал, что декодеров там 2-3 разных типов, полный и несколько попроще.
                                                                                                    А ещё, 8-м декодеров дадут прирост только в том случае, если конвейер инструкций не успевает за вычислительным. Вероятность, что Intel/AMD упустили это из виду, стремится к 0.
                                                                                                    Хотя из статьи есть одна интересная идея. Каждая инструкция x86 переходит в последовательность мелких инструкций, которые зависят друг от друга. Т.е. для параллельного исполнения N инструкций x86 нужно сделать Reorder буфер(ROB) размером N*k, где k — длина x86 инструкций. У ARM, получается, ROB вмещает больше исходных инструкций и эффективнее используется. Но это проценты от общей производительности, если не меньше.

                                                                                                      –1
                                                                                                      Можно поставить предварительную стадию, которая разбивает на отдельные инструкции и попутно считая их число
                                                                                                      вы просто передвинете тот же самый боттлнек в другое место.
                                                                                                        0

                                                                                                        Берём 8*16байт шину данных, формируем из неё 8 x86 инструкций и отправляем на 8м декодеров. Исходные 8*16байт данных сдвигаем на число найденных x86 инструкций с учётом их размера и добавляем новую порцию данных. Где здесь появляется боттлнек? Естественно необходимо каждый такт считывать до 8*16 байт данных, в худшем случае. Подкачка последовательных инструкций — не является боттленком уже довольно давно.

                                                                                                          0
                                                                                                          Где здесь появляется боттлнек?
                                                                                                          там, где вы должны границы каждой инструкции вычислить, то есть проанализировать что там вам на входе пришло, причем по байту. А потом надо это разреженно разложить в вашу «шину данных» (кеш инструкций), чтобы оно было выровнено. А на ARM просто берутся N*4 байт и подаются на N декодеров. И еще учтите что в вашей схеме кеш инструкций требует 16 байт на инструкцию, а на ARM — 4. То есть вам для равной производительности уже нужен кеш в четыре раза больше и в четыре раза быстрее. Собственно, поэтому x86 процы сразу декодируют невыровненные инструкции, настолько быстро, насколько могут
                                                                                                            0

                                                                                                            В аппаратуре боттлнек не может появится при вычислении границ инструкций, если последнее выполняется за такт. Если получится сделать логику, выполняющую разбиение куска данных на 8м инструкций и укладывающееся в такт, то получится только дополнительная стадия, логика и лишнее потребление на переключения. Никаких падений производительности здесь не появится.
                                                                                                            Шина данных у меня — это строка или несколько строк кэша L1I. Разрежено разложить — это то, что я и написал. Вариантов этого разложение я могу придумать 2-3 уже сходу. Достаточно определить номер бита, с которого начинается конкретная из 8-ми инструкций. Число комбинаций конечное значение. Можно даже вручную их перебрать. Да, отличается от ARM, но особой проблемы нет, а тем более падения производительности.
                                                                                                            Кэш не оперирует инструкциями и он не требует значений, зависящих от размера инструкций. Здесь нет большой разницы, учитывая ещё и то, что x86 код поплотнее будет, чем у ARM. Более того, у x86 есть ещё кэш microop, а это уже подобие RISC от ARM. Кстати, этот microop кэш можно трактовать как ещё и декодер инструкций, раз результат его работы такой же, как у декодера.

                                                                                                              0
                                                                                                              Достаточно определить номер бита, с которого начинается конкретная из 8-ми инструкций.
                                                                                                              ну ну вся идея в том, что на определение этого номера бита нужно времени как на сам декодинг.
                                                                                                              Если получится сделать логику, выполняющую разбиение куска данных на 8м инструкций и укладывающееся в такт, то получится только дополнительная стадия, логика и лишнее потребление на переключения
                                                                                                              если вы можете реализовать такую логику, смело идите работать в intel на миллионную зарплату.
                                                                                                              Да, отличается от ARM, но особой проблемы нет, а тем более падения производительности.
                                                                                                              вот в вашей спекуляции проблемы нет, а по факту, в реальных x64 процах, есть.
                                                                                                              Здесь нет большой разницы, учитывая ещё и то, что x86 код поплотнее будет, чем у ARM
                                                                                                              в теории да, в реальности нет.
                                                                                                          +1

                                                                                                          Вообще-то нет. Только делать это надо не совсем на чипе. Ну смотрите — да, на запуске х86 вынуждена будет работать по старым принципам, чтобы не ухудшить время запуска… но после запуска процессор чаще всего не настолько нагружен. Блин, ну посмотрите вы на Java (и прочие языки с VM, например тот же PHP, c#) и её JIT. Суть в чём? Есть ветка выполнения? Постоянно выполняется с одними и теми же условиями? Ну так перегоним её в простой код и поставим специальную команду, которая вызовает переход на обычный режим работы, если выйдем за пределы заданных условий. Т.е. 90% времени получаем изрядное ускорение работы. Да, в современных CPU есть что-то похожее. Если правильно помню термин "прогностика выполняемых операций" (атака на этот механизм вскрыла недавно Meltdown и прочие уязвимости iпроцессоров). Но ведь можно прогнозировать не только ветку выполнения, но пока процессор "idle — отдыхает" вполне же можно весь (ну или хотя бы базовый) код приложения загнать в преобразователь, который и сформирует очередь упрощённых команд. Да это потребует взаимодействия как минимум ОСи и процессора… но так они уже этим занимаются, просто придётся углубить синергию.

                                                                                                            0
                                                                                                            это называется «спекулятивное исполнение». Софтовая трансляция инструкций всяко будет медленнее чем реализованная в железе.
                                                                                                              0

                                                                                                              А в чём проблема, если ОСь знает, что надо протранслировать, а CPU — как? Ну т.е. вот загрузились, упало потребление — и командой загрузить остатки кода в оптимизитор на CPU. Нет, о проблеме, что это всё надо согласовать, ОСи надо догадаться и прочие проблемы — я в курсе, я про то, что как минимум часть бутылочно горлышка можно и обойти. И не самую маленькую, надобно сказать, часть.

                                                                                                      +2

                                                                                                      Вообще в статье подано, как-будто AMD внезапно спохватились и вот недавно выпустили свои APU… которые подаются как слабое подобие M1. Однакось первые APU увидели свет лет 5 назад. И единственное различие с M1 — там не вшит вендорлок, замаскированный доп. функционалом "шифровального" юнита и L1-L3 поменьше (вроде бы)… Ах да, ещё можеть быть графическое ядро не очень-то имеет доступ к кешу. В общем статья… я даже не знаю, как такую степень безграмотного маркетинга назвать… Но пипл, да, схавает, они же не знают правду.

                                                                                                        0
                                                                                                        Раньше, G-Series SoC у красных был в 13 году.
                                                                                                        0

                                                                                                        Не скажите. Я вот никогда не заморачиваться продукцией Apple, но сейчас, со сменой архитектуры, появился интерес, как все будет работать не в среде Intel/AMD.

                                                                                                        +17

                                                                                                        У меня один глаз кровоточит, а второй, кажется мироточит. Интересный эффект.

                                                                                                          +10
                                                                                                          Как же мы жили раньше без него. Или даже жизнью назвать это нельзя
                                                                                                            +1
                                                                                                            Можно было бы ещё предзаписывать маску с оптимальным ОоОЕ, чтобы процессор не тратил время на угадывание.
                                                                                                              +3
                                                                                                              Тогда Эльбрус получится же
                                                                                                              +8

                                                                                                              Зачем я это прочитал? Реклама, в худшем виде.
                                                                                                              Причем, идея то хорошая м1 красавчик, но проприетарный.

                                                                                                                +1

                                                                                                                Если М1 — красавчик, то почему оригинальная статья — реклама в худшем виде?

                                                                                                                  +2

                                                                                                                  Я понимаю что это перевод оригинальной статьи, но первый абзац — "Эти чипы быстрые. Очень быстрые. Но почему? В чем магия?"
                                                                                                                  И далее по тексту…
                                                                                                                  Мне просто интересно, что там Apple замутил такого магического ;) На сущесвующей ARM

                                                                                                                    +3

                                                                                                                    Потому что он не настолько красавчик, насколько тут расписано. У АМД например эта концепция и технологии уже лет так как бы не 10 в апу, интел аналогично. Все современные процессоры — SoC, которым не обязателен южный мост, в которых куча ускорителей, инструкций для ускорения конкретных алгоритмов, относительно универсальных инструкций avx, превращающих их в подобие видеокарты (в плане скорости обработки матриц).


                                                                                                                    По факту — основное преимущество М1 — закрытая платформа и 5нм техпроцесс, если не сравнивать с процами из древних времён типа 9000-10000 интела, а сравнить с 5000 АМД — разница уже не столь впечатляет.

                                                                                                                      +1
                                                                                                                      а сравнить с 5000 АМД — разница уже не столь впечатляет.

                                                                                                                      А этот 5000 АМД сможет работать в такой коробочке, как мак?
                                                                                                                        +2

                                                                                                                        Ну я немного не в курсе, на каком сейчас этапе выпуск 5000u и 5000h, которые туда влезут, но там в общем-то и от 4000u отрыв не такой большой, как в рекламных проспектах — вполне укладывается в прирост от более тонкого техпроцесса.

                                                                                                                          0
                                                                                                                          , но там в общем-то и от 4000u отрыв не такой большой
                                                                                                                          берем гикбенч: у 4800U 1200 однопоток, у M1 1700. Это разница в более чем 40%! У 5800U порядка 1500. Да, ryzen'ы побыстрее в многопотоке, процентов на 30, потому что там по 8 ядер, но вот загвоздка: с условным восьмиядерным M2X от apple они уже тягаться не смогут. Ну, напрямую. Посредством эксклюзивности экосистемы apple конечно же будут.
                                                                                                                            –1

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

                                                                                                                              +1
                                                                                                                              Ну гикбенч почти целиком ложится на ускорители у эпла

                                                                                                                              Вы где такое прочитали?
                                                                                                                              Geekbench полностью исполняется на CPU ядрах. Ни один тест там не использует ускорители, все алгоритмы реализованы в инструкциях CPU.

                                                                                                                                +2
                                                                                                                                Да откуда вы это взяли? Берем простое сравнение, листаем вниз страницы, смотрим сколько какой проц набрал в какой отдельной секции гикбенча, видим что M1 отлично себя проявляет в секциях, связанных например с обработкой текста, а они не особо ускоряются сопроцессорами.
                                                                                                                                +1
                                                                                                                                А если взять zip/unzip маковский, то оказывается что m1 (из air) примерно в 1.5 раза медленнее, чем 10700 из iMac 2020 на одно ядро.

                                                                                                                                Пи до миллиона знаков вообще в 2 раза медленнее посчитал, но тут я допускаю что мог что-то не так под m1 скомпилировать.
                                                                                                                                  0
                                                                                                                                  А если взять zip/unzip маковский, то оказывается что m1 (из air) примерно в 1.5 раза медленнее, чем 10700 из iMac 2020 на одно ядро.
                                                                                                                                  а где мы можем ознакомиться с результатом этого замера?
                                                                                                                                    +1
                                                                                                                                    Я для себя мерял. Просто брал gzip -9 и mkv файл на 2.3 ГБ. iMac управился за 46-47сек, air m1 за более, чем 1:10 (разлет от 12 до 18 сек после минуты).
                                                                                                                                    Повторял несколько раз, процессор в обоих случаях загружен на 100%, накопитель практически гулял.

                                                                                                                                    Макбук я покупал не себе, просто решил прогнать несколько тестов перед тем, как его подарить.

                                                                                                                                    Полезных для себя тестов провести не смог так, как homebrew нативно под m1 на тот момент не было, а руками ставить кучу всего было лениво.
                                                                                                                                    Шутки ради попробовал собрать Кликхаус через rosetta, но это прогнозируемо заняло в десятки раз больше времени, чем на iMac с 64ГБ памяти.
                                                                                                                      +6
                                                                                                                      Проблема «специальных блоков» для выполнения конкретных задач — к ним нужно специальное ПО, привязанное именно к конкретным блокам. Через год выйдет процессор Apple M2+ с другим «декодером» или блоком DSP. И вот незадача: все ПО от M1 к нему уже не подходит. Именно по этой причине Intel и AMD не идут по такому пути. У них, кстати, очень большой набор специальных команд на все случаи жизни. Это тоже с натяжкой можно назвать «специализированными блоками», однако никто не заставляет их использовать. Это просто расширение для основного набора команд и от их наличия или отсутствия меняется только производительность в узком классе задач.
                                                                                                                      А бенчмарки для этих процессоров — вообще маркетинговая ерунда. Да, конвейерный DSP уделает обычный процессор в задачах, под которые заточен. Как и «декодер». Но в первую очередь, они требуют создания специальных условий для правильной работы — подготовленные данные, определенная последовательность действий и формат результата, во вторых — они имеют узкую специализацию. В задачах широкого профиля (а не задачах показывать кинчик очередному адепту яблочного культа) классический процессор будет быстрее и удобнее. Но ничего, я думаю, мессии из самой передовой компании человечества расскажут массам, как оно должно быть на самом деле и массы это схавают, конечно. Эта статья — яркий пример.
                                                                                                                        +3
                                                                                                                        Но ничего, я думаю, мессии из самой передовой компании человечества расскажут массам, как оно должно быть на самом деле и массы это схавают, конечно.

                                                                                                                        Сначала массы анонимно пройдутся минусометом по тем кто пытается мыслить и сравнивать, а не слепо жрать чо дали.
                                                                                                                          +8

                                                                                                                          почему тогда в айфонах-айпадах нет такой проблемы? m1 же не появился просто так. Производительность уровня крупного интела появилась в A10X ещё. А постоянно меняют архитектуру они ещё с A2. И что-то как-то не нужно перекомпилировать, чтобы старый софт не тормозил на новых устройствах.


                                                                                                                          А вообще, это недоверие напоминает "нокия всё ещё стронг!". Люди писали такую фигню даже после её очевидной смерти (продажи микрософту).

                                                                                                                            +5
                                                                                                                            Проблема «специальных блоков» для выполнения конкретных задач — к ним нужно специальное ПО, привязанное именно к конкретным блокам. Через год выйдет процессор Apple M2+ с другим «декодером» или блоком DSP. И вот незадача: все ПО от M1 к нему уже не подходит.

                                                                                                                            Это не так работает. Разрабатывая приложение под MacOS вы не используете инструкции сопроцессоров напрямую, а вызываете разные фреймворки, которые под капотом сами выбирают, на чём исполнять команды: на CPU, GPU, Neural Engine, ISP… Для нового чипа с новыми ускорителями будет поддержка в фреймворке, и вам вообще ничего не надо в приложении менять.


                                                                                                                            Именно по этой причине Intel и AMD не идут по такому пути. У них, кстати, очень большой набор специальных команд на все случаи жизни. Это тоже с натяжкой можно назвать «специализированными блоками», однако никто не заставляет их использовать. Это просто расширение для основного набора команд и от их наличия или отсутствия меняется только производительность в узком классе задач.

                                                                                                                            А вот у Intel и AMD как раз есть эта проблема, из-за чего совместимость приложений регулярно ломается, если программист не предусмотрел фоллбеки с AVX, например (желательно тоже оптимизированные).


                                                                                                                            А бенчмарки для этих процессоров — вообще маркетинговая ерунда. Да, конвейерный DSP уделает обычный процессор в задачах, под которые заточен. Как и «декодер». Но в первую очередь, они требуют создания специальных условий для правильной работы — подготовленные данные, определенная последовательность действий и формат результата, во вторых — они имеют узкую специализацию. В задачах широкого профиля (а не задачах показывать кинчик очередному адепту яблочного культа) классический процессор будет быстрее и удобнее.

                                                                                                                            Вы ни в бенчмарках не разбираетесь, ни статью не прочитали внимательно.

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

                                                                                                                              Большинство пользователей ноутбуков, внезапно, решают на них следующие задачи (субъективно отранжировано по учловным человеко-часам worldwide):


                                                                                                                              1. браузинг+youtube
                                                                                                                              2. работа в офисных программах
                                                                                                                              3. просмотр\прослушивание медиа
                                                                                                                              4. обработка фото-видео в поле
                                                                                                                              5. немного гейминга — либо в старье, либо, для извращенцев, во что-то свежее
                                                                                                                              6. может, кто-то на них кодит, по нагрузке это как работа в офисных программах, вот компиляция — наверное, ресурсоемка, тут не берусь судить, да и от инструментов зависит, наверное.

                                                                                                                              1, 3, 4 на сабже идут хорошо ввиду наличия декодеров
                                                                                                                              2 идет нормально, ибо нагрузка несильная (тестов по сильной офисной нагрузке еще не видел, но я их вообще в жизни не встречал, только как потенцию в дискуссиях)
                                                                                                                              5 мак для игр берут весельчаки (еще большие, чем просто берущие для игр ноут per se); в любом случае, со старьем вряд ли будут проблемы, в что-то современное будет наверняка так же разочаровывать, как любая современная игра на любом ноуте


                                                                                                                              Итого: для типовых задач ноут подходит идеально. У меня у родительницы сломался DELL XPS 9550 — внезапно (хотя я категорически НЕ ЛЮБЛЮ MAC еще с тех времен, как отец когда-то себе купил MBP, и я его ему настраивал — пришлось долго искать всеядные видеоплееры, многие вещи, которые в win привычно легко настраивались, в маке настраивались и — до сих пор настраиваются либо per anum, либо никак, и т.д., и т.п.) — так вот, внезапно я купил ей на замену AIR M1, ибо пользоваться ПК она толком не умеет, и переучиваться ей по сути не придется; все, что ей нужно — браузер, мессенджинг, и текстовый процессор — на сабже будут идти отлично и долго даже в автономке, что удобно. А в крайнем случае на нем весьма неудрно пойдет и все остальное.

                                                                                                                                0
                                                                                                                                Еще есть bitcode. При сборке приложения в итоговый бинарник добавляется кроме машинного кода промежуточный LLVM IR ассемблер.

                                                                                                                                После выпуска нового процессора можно уже написанные и существующие программы оптимизировать под новые «фишки» из bitcode. ABI при этом не меняется.
                                                                                                                                Bitcode используется около 4х лет для приложений в AppStore.
                                                                                                                              0
                                                                                                                              к ним нужно специальное ПО, привязанное именно к конкретным блокам.

                                                                                                                              Что же это за ПО такое? Прям в регистры железу пишет небось? =)
                                                                                                                              Про операционную систему слышали что-нибудь?

                                                                                                                              Именно по этой причине Intel и AMD не идут по такому пути.

                                                                                                                              А по какому?
                                                                                                                              Давайте ознакомимся с «начинкой» процессора Интел:
                                                                                                                              Мы тут можем увидеть GPU, программируемый DSP для ускорения кодеков, IPU для обработки изображений с камеры.


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

                                                                                                                              А в M1 не «классический процессор»? =)
                                                                                                                              О, сколько нам открытий чудных(с)

                                                                                                                              Через год выйдет процессор Apple M2+ с другим «декодером» или блоком DSP. И вот незадача: все ПО от M1 к нему уже не подходит.

                                                                                                                              Пишете нам из будущего?
                                                                                                                              Странно, ведь ПО написанное под A7, прекрасно работает на A14 и M1. Чудеса.
                                                                                                                              0

                                                                                                                              Ладно, ну вот у меня на руках свеженький MacBook Pro 2020, но на чипе от Intel.
                                                                                                                              Стоит ли продавать его что бы купить новенький с M1, или ноуты от Apple с чипами Intel теперь стали уже никому не нужным хламом?

                                                                                                                                –5

                                                                                                                                пока есть интел-фанатики и просто люди не в теме — продать можно

                                                                                                                                  +1

                                                                                                                                  Смотря чем вы занимаетесь. Уже достаточно много софта на M1 подвезли, но далеко еще не весь. Docker, например, отсутствует.
                                                                                                                                  Статус "портированности" можно посмотреть тут: https://isapplesiliconready.com/

                                                                                                                                  +3
                                                                                                                                  Я, если хотите, могу с этим помочь. Люблю, знаете ли раритет. Куплю хлам, недорого.
                                                                                                                                    0
                                                                                                                                    ни в коем случае. м1 сырой и далеко не так всё радужно, как пытаются доказать фанатики и маркетологи
                                                                                                                                      +2

                                                                                                                                      но 13-и дюмовые маки на интеле с 2016-го года ужасны — постоянный перегрев. m1 в этом корпусе просто лучше.

                                                                                                                                        –1
                                                                                                                                        ни в коем случае. м1 сырой и далеко не так всё радужно, как пытаются доказать фанатики и маркетологи

                                                                                                                                        но 13-и дюмовые маки на интеле с 2016-го года ужасны — постоянный перегрев. m1 в этом корпусе просто лучше.

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

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

                                                                                                                                          +1

                                                                                                                                          что-что, митинг с 3-мя людьми — на взлёт, икскод — на взлёт (2019-го 13). Делать и слушать о чём там говорят без затыков — фигушки. 2015-го, более толстый 15-и дюймовый такого себе не позволяет.

                                                                                                                                            0
                                                                                                                                            MacBook 13’’ 2019 топовая комплектация. Расчёты в Matlab регулярно приводят к аварийной перезагрузке по перегреву. В макбуке 13’’ 2013 ничего такого не было.
                                                                                                                                            0
                                                                                                                                            О каком перегреве речь не понятно. МакБук 13 2019 в средней комплектации, рендеры 4к проектов, включает вентилятор на полную крайне редко.
                                                                                                                                            +1
                                                                                                                                            У вас он есть? В каком месте он сырой? Перешел с макбука с 2020 (который ice lake i5) на m1 и ни секунды не пожалел об этом.
                                                                                                                                              0
                                                                                                                                              У вас он есть? В каком месте он сырой? Перешел с макбука с 2020 (который ice lake i5) на m1 и ни секунды не пожалел об этом.


                                                                                                                                              Смысл во внедрении ARM — в возможности работать на одной зарядке аккумулятора очень долго. В x86 с этим похуже.

                                                                                                                                              Как там со временем работы на одной зарядке на вашем устройстве?
                                                                                                                                                0
                                                                                                                                                Тогда как объясните тот факт, что чип m1 по производительности лучше практически всех мобильных процессоров intel?
                                                                                                                                                0
                                                                                                                                                Говоря про «сырость» подразумываю ПО, в другом комментарии детальнее высказался детальнее по этому поводу habr.com/ru/post/538812/?reply_to=22585808#comment_22584706
                                                                                                                                              0
                                                                                                                                              Справляется с работой — оставляйте. Не справляется — продавайте.
                                                                                                                                              Какая разница, что внутри?
                                                                                                                                                0
                                                                                                                                                Стоит. У меня был макбук про 13 с 2020 года с i5-1038ng7, 16gb ram. Покупал прошлой осенью. Вот недавно продал и купил новый с m1. Операционной памяти столько же, SSD такого же размера, а стоил на 30т рублей дешевле, чем тот с процессором intel.

                                                                                                                                                Никаких лагов. Как intel не греется вообще — вентилятор не слышал ни разу. Сама ОС очень отзывчивая, многие программы, запускающиеся через rosetta2 работают быстрее, чем нативно на intel. Батарея вообще на другом уровне, ты наверняка видел разные тесты в инете.

                                                                                                                                                Но все это не только благодаря m1, но также ssd быстрее, чем у всех предыдущих моделей.

                                                                                                                                                Единственный минус — меньше портов usb c, у предыдущего было 4, а тут только 2.

                                                                                                                                                Он реально такой, каким его показывают многие блогеры. Сначала сам не верил, все таки не хотелось признать, что купил макбук с intel, когда можно было подождать пару месяцев и купить с m1 по мощнее, но за дешевле))
                                                                                                                                                +13

                                                                                                                                                Главный пункт забыли: потому что за рекламу было заплачено не меньше чем за разработку.

                                                                                                                                                  +2
                                                                                                                                                  Реклама это хорошо, но она не ускоряет работу ноутбука и не увеличивает время его работы. Если бы реклама была ложной то ситуация была бы как с Киберпанком. А владельцы М1 буков как раз в восторге (за редкими исключениями).