Что такое чипсет в айфоне
Процессоры в мобильных гаджетах — какие бывают и что лучше
Содержание
Содержание
На рынке десктопных процессоров все достаточно понятно — здесь лидерство делят компании Intel и AMD. Если же говорить о мобильных процессорах, то тут все несколько сложнее. Каждый из брендов предлагает свои модели, причем некоторые из них эксклюзивно стоят только в конкретных гаджетах. Мы расскажем о ведущих производителях мобильных процессоров и рассмотрим их ассортимент.
В чем разница между мобильными и десктопными процессорами?
Если не вдаваться в многочисленные технические особенности, то главным отличием можно назвать архитектуру.
Архитектура — это совокупность принципов построения, общая схема расположения элементов на кристалле и схема взаимодействия ПО с чипом.
В десктопных моделях используется архитектура x86/x64, однако инженерам так и не удалось добиться требуемой энергоэффективности, несмотря на все попытки. Процессоры потребляли слишком много энергии из-за необходимости дополнительных преобразований, поэтому не подходили для мобильной техники. В итоге разработчики предложили использовать новую архитектуру RISC (reduced instruction set computer) вместо существующей CISC (complex instruction set computing).
В CISC-архитектуре каждая команда имеет свой формат и длину, из-за чего процессору требуется больше времени и ресурсов на обработку. В RISC-архитектуре команды имеют не только общую длину, но и формат. Благодаря этому процессоры на RISC более энергоэффективны, быстрее обрабатывают команды и требуют меньшего объема ОЗУ, что делает их практически идеальным кандидатом для мобильной электроники.
Развитием RISC занялась компания ARM Limited, которая представила усовершенствованную архитектуру под названием ARM. Стоит отметить, что эта компания не только создает собственные вариации процессоров, но и предоставляет лицензии на свои разработки. В итоге на базе предоставленных ARM ядер крупные бренды создают авторские топологии и фирменные процессоры, о которых мы и поговорим далее.
Apple
Разрабатывать процессоры с собственной топологией компания Apple начала лишь в 2010 году, презентовав свой первый iPad. Модель процессора A4 построена на ядре ARM Cortex-A8 и стала началом всей линейки, которая продолжается до сегодняшнего дня. Кстати, в смартфонах первого поколения до iPhone 4 в Apple использовали микропроцессоры от Samsung.
С 2010 года Apple выпустили более 15 моделей в линейке, каждая последующая была усовершенствованием предыдущей и, как правило, устанавливалась в новой модели iPhone или iPad.
Модель | Число транзисторов | Число ядер | Техпроцесс | Устройства |
A4 | ? | 1 | 45 нм | iPadi, Phone 4, iPod touch 4G |
A5 | ? | 2 | 45 и 32 нм | iPad 2, iPhone 4S, iPod Touch 5G, iPad Mini. |
A5X | ? | 2 | 45 нм | iPad 3 |
A6 | ? | 2 | 32 нм | iPhone 5, iPhone 5c |
A6X | ? | 2 | 32 нм | iPad 4-generation |
A7 | ≈ 1 млрд | 2 | 28 нм | iPhone 5S, iPad Air, iPad mini, iPad mini 3 |
A8 | ≈ 2 млрд | 2 | 20 нм | iPhone 6 и 6 Plus, iPod touch 6G, iPad mini 4, HomePod |
A8X | ≈ 3 млрд | 3 | 20 нм | iPad Air 2 |
A9 | ≈ 2 млрд | 2 | 14 и 16 нм | iPhone 6S и 6S Plus, iPhone SE, iPad 5 |
A9X | ? | 2 | 16 нм | iPad Pro |
A10 | 3,28 млрд | 4 | 16 нм | iPhone 7 (Plus), iPad 6, iPad 7, iPod Touch 7 |
A10X | ≈ 4 млрд | 6 | 10 нм | iPad Pro (10,5; 12,9) |
A11 | 4,3 млрд | 6 | 10 нм | iPhone 8 (Plus), iPhone X |
A12 | 6,9 млрд | 6 | 7 нм | iPhone XS, iPhone XS Max, iPhone XR |
A12X | ≈ 10 млрд | 8 | 7 нм | iPad Pro (2018) |
A12Z | ≈ 10 млрд | 8 | 7 нм | iPad Pro (2020) |
A13 | 8,5 млрд | 6 | 7 нм | iPhone 11 (все), iPhone SE 2, iPad 9th Gen. |
A14 | 11,8 млрд | 6 | 5 нм | iPad Air (4th Gen), iPhone 12 (все) |
A15 | 13 млрд | 6 | 5 нм | iPad mini (6th Gen). iPhone 13 (все) |
Компания Apple была одной из первых, кто понял все преимущества RISC-архитектуры в мобильном сегменте. В паре с ОС собственной разработки инженерам удавалось выпускать одни из самых мощных моделей, которые на 50–100 % обгоняли по производительности топовые продукты других брендов.
В среднем с каждым новым поколением процессоров Apple удавалось наращивать производительность от 1,3 вплоть до 2 раз.
Более того, в определенных тестах процессоры серии A не уступают в производительности десктопным моделям, показывая схожие или даже лучшие результаты. Мощнейшим прорывом можно назвать Apple M1 — это система на кристалле ARM-архитектуры, которая используется уже не только в iPad Pro, но и в последних MacBook.
За графику в мобильных процессорах до A11 отвечали ускорители от PowerVR, а, начиная с A11, инженеры Apple ставили собственное GPU, но используя лицензированное ПО.
Компанию Apple без преувеличения можно назвать одним из лидеров в области мобильных процессоров. Многолетний опыт и подгонка «железа» под операционную систему позволяют получать высочайшие результаты. Однако процессоры от Apple устанавливаются исключительно в технику этого бренда.
Qualcomm
Конкуренцию «купертиновцам» составляют инженеры из компании Qualcomm — одной из крупнейших фирм по разработке и исследованию беспроводных средств связи и систем на кристалле. В частности, компания известна процессорами линейки Snapdragon. Производство первых SoC фирма начала в 2007 году, предоставляя процессоры для HTC, Acer, Asus, LG, Huawei и других брендов. В период с 2007 по 2012 годы были созданы четыре поколения моделей S1–S4 по техпроцессу 28 нм и больше.
В поколениях до S4 архитектуру разрабатывали на базе собственных ядер, которые являются модифицированными версиями ARM-Cortex.
С 2013 года компания представила пять основных линеек своих процессоров, нацеленных на разные классы устройств:
Кто делает процессоры для iPhone, iPad, iPod Apple
Компания Apple производитель iPhone работает по схеме аутсорсинга. Apple занимается только разработкой процессоров. В процессорах используется архитектура ARM. Физически процессоры производит Тайванськая компания Taiwan Semiconductor Manufacturing Company.
Что такое архитектура ARM и ядра процессоров iPhone, iPad, iPod
Если более детально то в основе процессоров архитектура ARM. ARM архитектура — это набор команд которые поддерживает процессор. Набор команд разрабатывает компания ARM Limited, также компания разрабатывает ядра процессоров. ARM лицензирует другим компаниям право производить процессоры с использованием набора команд в своих процессорах и ядер разработанных ARM.
Компании которые лицензируют у компании ARM право разрабатывать процессоры с архитектурой ARM. В своих лабораториях разрабатывают собственные процессоры. Берут ядра объединяют их в пул, разрабатывают как они будут взаимодействовать между собой и с памьятью, добавляют графические ядра, модули GSM, WiFi и так далее. В итоге получается процессор. Так в лоборатории Apple делают процессоры. Свои процессоры Apple обознчает A10, A11, A12, A13.
На каких заводах производятся процессоры A12, A13 компании Apple
Разработанный процессор надо сделать на заводе. Иготовить законченный продукт, который можно устанавливать в смартфоны. Производство процессоров требует соответствующего дорогостоящего оборудования. В мире существует несколько десятков компаниий, которые имеют соответствующее оборудование для производства процессоров. Одна из таких компаний Taiwan Semiconductor Manufacturing Company.
Taiwan Semiconductor Manufacturing Company — компания которая заниматся производством процессоров под заказ, в том числе и по чертежах заказчика. Apple заказывает у TSMC изготовление процессоров для смартфонов iPhone, iPad, iPod. Отметим, что компания TSMC производит около 20% всех процессоров в мире с архитектурой ARM. Процессоры TSCM делает для многих компаний, например процессоры TSCM поставляет для HiSilicon, MediaTek, Huawei, Realtek, AMD, NVIDIA, Qualcomm, ARM Holdings, Altera, Xilinx, Apple, Broadcom, Conexant, Marvell, Intel
Процессоры iPhone: от «А» до «Я»
Вам никогда не было интересно, какими процессорами Apple оснащала свои смартфоны?
Если вы упустили из виду всю информацию, то эта статья как раз для вас.
В 2007-м году, когда свет увидел оригинальный iPhone, который в народе окрестили как «iPhone 2G», поплыли слухи, что в телефоне от Apple установлен сверхмощный процессор, обладающий огромными возможностями, среди которых была и стабильная работа Multu-touch дисплея. Позже выяснилось, что iPhone оснащался самым мощным на тот момент процессором для мобильных устройств — Samsung S3C6400 ARM. Чип работал на частоте 620 МГц, которая была программно снижена Apple до 412 МГц. Приятным стало и то, что процессор обладал невероятным графическим потенциалом, о чем в Купертино узнали лишь после выхода iPhone 3G и запуска магазина приложений App Store.
Время шло, и пользователи требовали бОльшего. iPhone 3Gs дал им это: более мощный процессор позволил снимать видео 420p-качества, а графический чип в купе все с тем же CPU позволял разработчикам вывести игры на новый уровень. Samsung S5PC100 ARM, более известный как ARM Cortex A8 изготавливался по 65-нм техпроцессу, имел 64 Кб кэша L1 и 256 Кб кэша L2. У ARM11 (Samsung S3C6400 ARM), к примеру, кэш L1 был равен 32-м кб, а кэша L2 не было вовсе. Частота же его составляла 833 МГц, которую, также, снизили до 600 единиц.
Конечно, iPhone 3Gs был намного «шустрее» своих собратьев, но настоящий шок на пользователей произвел iPhone 4, вышедший летом 2010-го года. На этот раз Apple отказались от услуг Samsung Electronics и взяла «ношу» на себя, оснастив телефон процессором собственного производства, получившего название Apple A4: чип работает частоте 1 ГГц и имеет в своем активе кэш L2 объёмом 512 Кбайт, основное ядро с модифицированной архитектурой ARM Cortex A8, а также интегрированное графическое ядро PowerVR SGX 535. Основной задачей процессора стало обеспечение стабильной производительности обновленного экрана (разрешение которого возросло ровно в два раза) и системы в целом. Помимо этого A4 отличался малым потреблением энергии (всего 500—800 мВт), что увеличило общую продолжительность «жизни» батареи.
Что принесет нам лето 2011-го? Об этом, наверное, знают лишь инженеры Apple. Похоже, производители мобильной техники не хотят стоять на месте, и быть позади купертиневцев, поэтому уже сейчас в продажу начали поступать смартфоны, оснащенные двухъядерными процессорами, которые по своей производительности ни в коем случае не уступают даже A4. Каким же будет iPhone 5? По предварительным данным, обновленный CPU получит название A8, что может говорить об увеличении количества ядер. Поставляться же чип будет тайваньской компанией Kinsus. Время покажет…
Почему чип Apple M1 такой быстрый?
Опыт использования новых маков с М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 складывает и отнимает числа из регистров.
Старый механический калькулятор с двумя регистрами: регистр для хранения результата (the accumulator) и регистр входящей информации. Современные CPU имеют больше дюжины регистров и они цифровые, а не механические.
Пример материнской платы. Память, CPU, графическая карта, контроллеры входа/выхода, сетевая карта и множество других компонентов присоединены к материнской плате для связи друг с другом.
Сегодня у нас есть возможность поместить множество транзисторов на один чип, поэтому и Intel и AMD стали производить чипы со множеством микропроцессоров. Мы называем их “ядрами” процессора. Одно ядро, по сути, это полностью независимый чип, который может читать инструкции и исполнять их. Микрочип с несколькими CPU.
Долгое время это было сутью игры за повышение мощности: просто добавь еще ядер в CPU. Но кто-то взбунтовался в рядах производителей: один игрок на рынке чипов пошёл по своему пути.
Не такой уж засекреченный неоднородный способ вычислений от Apple
Вместо того, чтобы следовать тренду добавления ядер в процессор, Apple выбрала иную стратегию: они стали добавлять больше специализированных процессоров для выполнения конкретных задач. Преимущество заключается в том, что специализированные чипы, как правило, существенно быстрее выполняют свою задачу, затрачивая меньше энергии, чем CPU общего назначения.
Apple лишь пошла более радикально по этому пути. Вместо множества ядер общего назначения, чип М1 внутри содержит:
Это только часть объяснения, почему люди, которые занимаются видео и графикой на компьютерах с процессором М1, отмечают прирост производительности. Дело в том, что задачи выполняются на том процессоре, который для этого был создан. Это позволяет относительно недорогому Mac mini с М1 на борту обработать графику, даже не вспотев, тогда как дорогой iMac с Intel запускает все свои кулеры охлаждения на полную мощность и все равно отстает от М1. Прочесть больше о неоднородном (heterogeneous) вычислении можно здесь: Apple M1 foreshadows Rise of RISC-V.
В чем особенность архитектуры Единой Памяти (UMA) от Apple?
Я немного лукавлю, когда говорю “Архитектура Единой Памяти (Unified Memory Architecture, UMA)”. Чтобы объяснить почему, вернемся на пару шагов назад.
Долгое время недорогие компьютеры имели центральный процессор с интегрированным графическим чипом на одной матрице. Он работал медленно. В прошлом, когда говорили “интегрированная графика”, подразумевали “слабая графика”. Эти процессоры были слабы по нескольким причинам. Первая заключается в том, что память для центрального процессора и графического была разделена. Если данные от центрального процессора должны были быть переданы графическому, то он не мог просто сказать “На, держи и используй”. CPU должен был явно скопировать этот блок данных в память графического процессора.
CPU не требует большого объема данных, но хочет получать их быстро.
CPU и GPU работают с памятью по-разному. Позволим себе привести аналогию из жизни: CPU хочет, чтобы официант подал блюдо как можно быстрее, и маленькие порции не заботят процессор. Представьте себе небольшой французский ресторан, где официанты катаются на роликах.
Так графический процессор хочет видеть порцию данных. Чем больше, тем “веселее”.
Зная разницу в способах работы с памятью у CPU и GPU, это было не самой лучшей идеей размещать их на одной плате. GPU постоянно “голодает”, пока ему подают маленькие порции методом французской сервировки. Как результат, не имело смысла ставить производительные GPU на один чип вместе с CPU. Так самые маленькие порции данных вполне могли быть “разжеваны” слабым графическим процессором.
Поэтому эти карты выдают высокую производительность. Однако у них есть ахиллесова пята: если они хотят получить какие-либо данные из памяти CPU, то эти данные передаются по медным путям, называемым шиной PCIe. Попробуйте после долгой работы попить воду через тонкую соломинку. Она быстро дойдет до вашего рта, но пропускная способность будет недостаточной.
Блок единой памяти (UMA) Apple пытается решить эти проблемы без недостатков старомодной общей памяти. Они достигают этого следующим образом:
Больше нет специально ограждённых блоков памяти для CPU или GPU. Память доступна для обоих процессоров. Они используют одни и те же ячейки памяти, копирования больше нет.
Apple ставят память, которая способна выдавать большие порции данных быстро. В техническом лексиконе это называется низкой задержкой и высокой пропускной способностью (low latency and high throughput). Как следствие, соединения между двумя раздельными областями памяти не требуется.
Apple сумели снизить потребление энергии у GPU, поэтому относительно производительные графические процессоры теперь можно интегрировать на чип без перегрева. Процессоры ARM производят в целом меньше тепла, соответственно графический чип может позволить себе нагреться сильнее до допустимых температур, чем такой же чип на матрице от Intel или AMD.
Конечно, есть и обратная сторона такой архитектуры памяти Apple. Обеспечение широкой пропускной способности памяти требует полной интеграции, что подразумевает отсутствие возможности апгрейда железа. Apple стремится минимизировать риски, в том числе работая над увеличением скорости работы SSD дисков.
Если системы SoC такие “умные”, то почему Intel и AMD не следуют той же стратегии?
Что же такого Apple делает, что не могут делать другие производители? В некоторой степени, делают. Многие производители добавляют все чаще специализированные со-процессоры. AMD тоже начали ставить более мощные графические процессоры в свои чипы, а также они постепенно двигаются к некоторой форме “систем на чипе”, называемых Accelerated Processing Unit APU, которые являются тоже комбинацией CPU и GPU на одном чипе.
APU от AMD Ryzen. CPU и GPU (Radeon Vega) расположены на одной матрице, но этот чип все равно не содержит других со-процессоров, IO контроллеров и единой памяти.
В случае ARM же, напротив, это не проблема. Производители компьютерных деталей могут просто купить лицензию на производство ARM и другие чипы и производить SoC с теми компонентами, которые они считают полезными. Затем они отправят готовые макеты на завод производства полупроводников вроде GlobalFoundries или TSMC, которые уже сегодня производят чипы для AMD и Apple.
Завод по производству полупроводников TSMC в Тайване. Завод производит чипы для AMD, Apple, Nvidia и Qualcomm.
Здесь возникает большая проблема, связанная с бизнес-моделью Intel и AMD. Их модель основана на продаже процессоров общего назначения, которые покупатели просто вставляют в материнские платы. Любой желающий может просто купить материнскую плату, память, CPU и видеокарту от любого производителя и собрать их в одном компьютере.
Однако мы уже уходим от этого подхода. В новом мире SoC вы не собираете компоненты от разных производителей. Вместо этого вы собираете интеллектуальную собственность на производство. Вы покупаете чертежи видеокарты, CPU, модема, IO контроллеров и других деталей компьютера от разных вендоров и интегрируете их в собственном SoC. Сейчас ни Intel, ни AMD, ни Nvidia не планируют продавать лицензию на интеллектуальную собственность на производство SoC Dell, HP или любому другому производителю.
Конечно, Intel и AMD могут начать продавать произведенные SoC. Но из каких компонентов они будут состоять? У сборщиков компьютеров есть свои соображения на этот счет. В итоге эта ситуация может перерасти в конфликт между Intel, AMD, Microsoft, потому что произведенные чипы нуждаются и в программном обеспечении.
Гонка наращивания мощности CPU
Быстрее выполнять инструкции в последовательности.
Выполнять инструкции параллельно.
Тем не менее, сегодня увеличение частоты процессора становится почти неосуществимым. Это тот самый “Конец закона Мура”, о котором люди твердят последнее десятилетие. Таким образом, у нас остаётся только увеличивать количество выполняемых инструкций в параллели.
Много ядер или процессоры “исполнения вне очереди ОоОЕ”?
Как уже говорили, есть две опции:
Добавить ядер в процессор, чтобы каждое работало в параллели и независимо.
Научить каждое ядро выполнять несколько инструкций параллельно.
В принципе, процессор может иметь одно ядро и выполнять программы в несколько потоков. В таком случае процессор прерывает один поток и сохраняет его состояние перед переключением на другой поток. Позже он переключится назад. Такая схема более-менее работоспособна, пока процессор не начинает часто переключаться из-за:
ожидания ввода данных пользователем
данных, которые приходят медленно из-за плохого интернета и других подобных случаев.
Это называется логическими потоками. Физические же потоки используют физические ядра для ускорения работоспособности.
Процессор ARM Ampere Altra Max имеет на борту очень много физических ядер и был разработан специально для облачных решений.
Вот поэтому мы и видим процессоры ARM с безумными 128-мью ядрами. Этот чип был специально разработан для “облаков”. Вам не нужна сумасшедшая производительность от одного ядра, потому что в облачных сервисах важно наличие как можно большего количества физических ядер на 1 Ватт мощности, чтобы обработать как можно больше запросов пользователей. Более подробно о многоядерных процессорах можно прочесть в статье Are Servers Next for Apple?.
Как работают процессоры Out-of-Order
Чем больше параллельно выполняемых инструкций, тем быстрее процессор. Принцип выполнения Out-of-order execution (ОоОЕ) заключается в том, что инструкции выполняются параллельно и при этом эта параллельность незаметна разработчикам программного обеспечения. Об альтернативном решении можно почитать здесь: Very Long Instruction Word Microprocessors.
Разработчики не должны писать код, чтобы воспользоваться преимуществами ОоОЕ. С точки зрения разработчика это выглядит так, как будто каждое ядро работает быстрее. Прошу заметить, что это не прямая альтернатива физическим потокам. Можно использовать оба варианта в зависимости от проблемы, которую необходимо решить. Чтобы понять, как работает ОоОЕ, нужно понимать принцип работы памяти компьютера. Запрашивание данных из одного расположения работает медленно, а процессор способен запрашивать данные параллельно. Следовательно, передача 1 байта информации займет столько же времени, сколько и 100 следующих байт.
Роботы на складе онлайн-магазина Komplett.no, Норвегия.
Вот вам аналогия: посмотрите на подъемники на складе, например, на этих красных роботов на фото. Постоянные перемещения по пространству и быстрое взятие объектов из близлежащих ячеек хранения. Память компьютера похожа на это. Вы можете вытащить информацию очень быстро, если она лежит в близких друг к другу ячейках.
Данные пересылаются по шине данных (databus). Это похоже на дорогу или трубу между памятью и компонентами процессора, куда данные отправляются. В реальности мы имеем даже медные дорожки на плате. Чем шире шина, тем больше байт одновременно мы можем передать.
Процессор получает блок инструкций для выполнения полностью, но выполняет их одну за другой. Современные процессоры могут выполнять их по принципу Out-of-Order-execution. Это значит, что процессор анализирует инструкции на предмет зависимости между операциями.
Именно магия OoOE и делает процессор М1 таким быстрым. На данный момент этот процессор быстрее, чем любое решение от Intel или AMD, и все складывается так, как будто они и не догонят никогда Apple. Чтобы понять почему, мы должны погрузиться немного в детали.
Инструкции ISA и микро-операции
Я пропустил некоторые детали о работе ОоОЕ. Программы, загруженные в память, были собраны для конкретной архитектуры процессора ISA. Например, для x86, ARM, PowerPC, 68K, MIPS, AVR и других.
Для процессора x86 операция извлечения числа из памяти выглядит так:
Но почему ОоОЕ не может работать с обычным машинным кодом? Это потому что процессор вынужден хранить различную дополнительную информацию к инструкциям, чтобы иметь возможность выполнять их параллельно. Таким образом, обычная ARM инструкция может быть длиной 32 бита максимум (последовательность из 32 цифр: 0 и 1), а инструкции из микро-операций могут быть гораздо длиннее. Они содержат информацию о порядке исполнения.
Поэтому мы не можем написать программу специально под микро-операции, так как они содержат очень много дополнительной специфичной информации. Для двух различных ARM процессоров последовательность микро-операций может быть очень разной.
Для процессоров CISC зачастую нет других решений, кроме микро-операций, формирующих длинные последовательные цепочки. Это исключает использование ОоОЕ. Процессоры RISC же могут выбирать. Например, некоторые небольшие ARM процессоры не используют микро-операции. Но также они и не выполняют код с помощью ОоОЕ.
Почему выполнение ОоОЕ процессорами Intel и AMD уступает чипу М1?
Вы, может быть, удивлены, почему это имеет значение? Почему эта деталь важна для понимания, из-за чего Apple превосходит Intel и AMD? Суть заключается в том, как быстро вы сможете заполнить буфер микро-операций. Если у вас большой объем памяти, то ОоОЕ сможет быстрее найти независимые цепочки инструкций, которые могут быть выполнены параллельно. Но это имеет мало смысла, если у вас не получается быстро заполнять освободившееся пространство памяти после выполнения инструкций. Способность быстро заполнять буфер полагается на способность быстро нарезать машинный код на микро-операции. Устройства, которые этим занимаются, называются декодерами (decoder).
Почему Intel и AMD не могут добавить больше декодеров?
Это и есть главная причина, почему М1 ядра Firestorm могут обрабатывать в два раза больше инструкций, чем Intel и AMD, на той же частоте процессора.
Но ядра процессора AMD Zen3 ведь быстрее, так?
Если Apple захотят больше мощности, они добавят больше ядер, и это позволит дать больше производительности, не увеличивая сильно потребление энергии.
Будущее
Похоже, что AMD и Intel загнали себя в угол по двум фронтам:
У них нет бизнес-модели, чтобы так же легко продолжать стратегию разнородных вычислений (heterogenous computing) и следовать SoC разработкам.
Их устаревший набор инструкций CISC теперь преследует их, не позволяя улучшать мощность Out-of-Order.
Это не значит, что игра окончена. Они могут увеличивать частоту процессора и применять больше охлаждения, подбрасывать больше ядер и наращивать объем кэша CPU. В любом случае, оба производителя в невыгодном положении. Intel даже хуже, ведь они на данный этап официально проигрывают гонку производительности, а их GPU очень слабы для интеграции в чипах SoC.
Проблема с подбрасыванием большего числа ядер заключается в том, что ядер становится слишком много. Это хорошо только для серверных станций. Тем не менее, Amazon и Ampere атакуют рынок с их монструозными 128-ядерными процессорами. Это схоже с ситуацией, когда вы боретесь на восточном и западном фронте одновременно.
К счастью для Intel и AMD, Apple не продают свои чипы на рынок, поэтому пользователи вынуждены смириться с тем, что производители чипов им предлагают. Покупатели могут лишь спрыгнуть с корабля, но этот процесс медленный. Вы не сможете быстро сменить платформу, так как инвестировали в нее уже немало. А молодые профессионалы с деньгами, которые не успели еще выбрать свою платформу, могут инвестировать все больше в Apple, укрепляя свои позиции на премиум рынке и, следовательно, свои акции на рынке ПК.
UPD от переводчика: статья вызвала бурное обсуждение, что не может не радовать. Очень много комментариев с более глубоким пояснением, как процессоры работают. Также в комментариях привели много полезных ссылок:
Автор оригинальной статьи не привел ссылку на то самое видео-сравнение, но тут можно посмотреть сравнение Mac mini с М1 vs Mac Pro