1. Введение
Увидев чип М1, захотелось что-то сказать.В итоге я написал более 4000 слов только для x86 и ARM.Учитывая объем статьи, получил только два балла.После публикации последней статьи многие люди выразили, что они были очень Если вам это нравится, позвольте мне быстро обновить его и выразить благодарность читателям, которые меня поддерживают 🙏.
Итак, без лишних слов, давайте поговорим об этой статье, в чем разница между чипами на этот раз, поэтому многие люди говорят, что Apple не говорит о боевых искусствах.
Перед этим позвольте мне объяснить, что я всего лишь студент, специализирующийся в области компьютерных наук, и я никогда не претендовал на звание эксперта и ученого, я пишу блоги только для того, чтобы заняться какой-то простой популярной наукой и поделиться некоторыми знаниями, которые я знаю со всеми. Если в статье есть ошибки, поправьте меня.
2. Чип M1 ≠ ЦП
Прежде всего, мы должны избавиться от когнитивного недоразумения, чипа М1.Не процессор, а чип SoC, разработанный специально для компьютеров Mac.Процессор — это всего лишь один из компонентов чипа M1..
Так называемый чип SoC относится к системе на кристалле (System on Chip), также известной как чип на чипе, которая представляет собой компьютер или другую электронную систему, интегрированную в один чип.Интегральная схема. Интеграция SoC в основном включает в себя процессоры (CPU, GPU и т. д.), основную полосу частот, различные модули управления интерфейсом, различные шины межсоединений и т. д., а ее типичным представителем являются чипы мобильных телефонов. Например, компания-производитель ЦП продает ЦП собственной конструкции другим компаниям, а другие компании добавляют различные необходимые им периферийные контроллеры на основе самого ЦП, который является SoC.
Проще говоря: SoC — это чип, который объединяет несколько структур, таких как CPU и GPU. Поэтому не думайте, что чип M1 — это ЦП.
На официальном сайте есть картина, что очень хорошо объясняет состав чипа M1. Как вы можете видеть на изображении ниже, Apple вызывает этоУнифицированная архитектура памяти, то есть центральный процессор, графический процессор, механизм нейронной сети, кэш-память и память DRAM связаны друг с другом через высокоскоростную шину Fabric. Поэтому мощность чипа M1 ни в коем случае не поддерживается мощным CPU, а является результатом совместных усилий многих мощных компонентов в сочетании с превосходным дизайном Apple.
3. Унифицированная архитектура памяти (UMA)
Из содержания предыдущего абзаца мы знаем, что мощность чипа M1 зависит от мощного процессора. Очевидно, что Apple использует другие приемы для обгона в поворотах, и «Унифицированная архитектура памяти» — один из них.
Мы знаем, что когда процессор обрабатывает задачу, то, что он должен сделать, очень простобрать вещи и считать вещи, то есть «инструкция по получению + данные операции», упомянутая в предыдущей статье.
Как и в предыдущей статье, давайте возьмем рабочих в качестве примера.Взять вещи — это рабочие, перемещающие кирпичи, а считать вещи — это рабочие, кладущие кирпичи, будет быстро. И наоборот, если кирпичи класть медленно и двигать кирпичи, кирпичи будут складываться в кучу.
следовательноидеальное состояниеДалее скорость перемещения кирпичей и укладки кирпичей должна быть одинаковой, чтобы не приходилось ждать друг друга. То же самое верно и для процессора: если скорость двух сторон несовместима, это приведет к потере производительности.
Поэтому для решения вышеуказанных проблем Apple предлагает решение, котороеЕдиная архитектура памяти.
3.1 Ума сделал что?
Так что же именно делает УМА?
В нашем компьютере есть много PU (процессорный блок), а именно процессорный блок (процессор), обычно у нас есть CPU (центральный процессор, а именно центральный процессор), GPU (графический процессор, а именно графический процессор) и NPU (нейронный процессор). ) network Processing Unit, нейросетевой процессор). Всем им нужно что-то извлекать и что-то вычислять, но до UMA они могли распределять что-то только через ЦП, а ЦП должен был заранее извлекать данные из памяти. Очевидно, что эффективность этого метода работы очень низка.Кроме того, разные процессоры работают с разной скоростью для данных.Для достижения синхронизации времени это в определенной степени не способствует производительности оборудования.
Более того, каждый блок обработки действует как независимый индивидуум, и форматы пакетов данных, обрабатываемых каждым, также различны. Язык общения между разными ПУ разный, и на унификацию формата данных нужно время, если эффективность общения высокая, то есть проблема. Точно так же, как когда трудовые мигранты из разных стран работают вместе, все они говорят на своих языках и могут общаться только посредством перевода, что звучит очень неэффективно.
Конечно, это всего лишь несколько простых примеров, реальная ситуация определенно сложнее, но даже в этом случае мы можем почувствовать, что есть много шагов, которые не должны существовать и которые оттягивают много времени. Итак, для решения вышеуказанных проблем Apple дала несколько решений.
3.1.1 Прямой доступ к памяти PU
До того, как нет UMA, данные необходимо сначала выводить из памяти, а затем обработаны и выделены первым процессором, как показано на следующем рисунке 👇
С UMA эти процессоры могут напрямую обращаться к памяти, и им больше не нужно получать некоторые данные через ЦП, как показано на следующем рисунке 👇
Благодаря этому методу проектирования PU не нужно синхронизировать скорость речи с ЦП, а также им не нужно обращаться к ЦП, чтобы спросить о чем-то грязном, что экономит много времени.
3.1.2 Apple-designed package
Хотя проблема синхронизации при выборке данных решена, проблема связи каждого процессора не решена.Вот еще одно решение, сделанное Apple - пакет, разработанный Apple.
Благодаря пакету, разработанному Apple, формат пакета данных каждого блока при обработке данных унифицирован, и связь между ними больше не нужно переводить.Даже если все они говорят «абаабааба», они могут понять, что они говорят Что, это экономит время.
3.1.3 Высокая степень интеграции
Будь то диаграмма разборки или примерная диаграмма, она показывает, что высокая степень интеграции Apple на этот раз заключается в непосредственном размещении памяти рядом с процессором, что значительно сокращает физическое расстояние между памятью и процессором, а скорость извлечения данных снижается. естественно.будет быстрее.
Не стоит недооценивать это сокращение физического расстояния.Структура фон Неймана, а самая большая скрытая опасность такой структуры заключается в том, что после экспоненциального роста объема памяти узким местом стала пропускная способность передачи данных между процессором и памятью, одна из причин — слишком большое физическое расстояние между памятью и процессором. Хотя скорость процессора и памяти становится все быстрее и быстрее, расстояние между ними изменить нельзя, а скорость передачи данных - скорость света изменить нельзя.
Мы можем решить простую математическую задачу.i9-7980xe-это гражданский процессор с 18 ядрами и 36 потоками.максимальная турбо-частота этого процессора составляет 4,4 ГГц.предполагая, что процессор выполняет операцию за один такт, тогда процессор execute Время, необходимое для выполнения инструкции, составляет 0,000000000227273 секунды, что составляет 0,22 нс (наносекунды), тогда расстояние, пройденное светом за это время, составляет 0,0681819 метров, что приблизительно равно 7 сантиметрам при округлении. Таким образом, если расстояние между процессором и памятью больше 7 см, процессору придется подождать немного дольше, чтобы продолжить получать инструкции. Это по-прежнему случай получения только одной инструкции за раз, что, если их больше?
Таким образом, сокращение физического расстояния может естественным образом ускорить получение данных ЦП, что также является ключом к повышению производительности чипа M1.
3.2 Очень большой кеш
Все вышеперечисленное сделано лишь для того, чтобы сделать ЦП быстрее при выборке данных, но пропускная способность передачи данных между ЦП и памятью становится узким местом не только из-за физического расстояния, но и из-за того, что ЦП слишком быстр.Сложно синхронизировать с памятью. Таким образом, мы должны импортировать часто используемые компьютером данные в кеш, т.е.тайник, чтобы компьютер не обращался к памяти, чтобы что-то спросить, и не должен позволять компьютеру обращаться к жесткому диску, чтобы что-то запрашивать.
3.2.1 Что такое кеш
Кэш — это буфер (называемый кешем), который является временным местом для хранения данных (частых данных). На самом деле, во многих местах кеширование, например, когда пользователь запрашивает данные, сначала находит их в кеше, если находит, выполняет. Если вы не можете найти его, перейдите в базу данных, чтобы найти его.
ЦП также разработан с таким присутствием, компонент, используемый для сокращения среднего времени, необходимого процессору для доступа к памяти. Принцип его работы таков: когда процессор выдает запрос на доступ к памяти, он сначала проверяет, есть ли данные запроса в кэше. Если он есть (попадание), то данные возвращаются напрямую, без обращения к памяти, если нет (сбой), то соответствующие данные в памяти должны быть сначала загружены в кэш, а затем возвращены в процессор.
Давайте возьмем пример движущегося кирпича, чтобы углубить наше понимание. Если я кладу кирпичи, даже если кирпичи, приносят кирпичи, я не смогу закладывать их вовремя. Нехорошо Поэтому я позволил ему положить кирпичи. Положите его у стопы (кэш), каменщик не должен идти в место, где кирпичи перемещаются, чтобы получить кирпичи каждый раз, просто нужно получить кирпичи от ноги (кэш ).
Итак, мы знаем, что кэширование в основном предназначено дляКомпенсация разницы в скорости чтения и записи между процессором и памятьюОднако теоретически, в определенном диапазоне, чем больше кэш, тем лучше.
3.2.2 Дизайн кэш-памяти чипа M1
Чип М1 тоже такой дизайн, но Apple это чип с М1КрупногабаритныйКэш, насколько велик этот кеш, давайте проведем простое сравнение. (Следующие данные взяты из Википедии и CPU-Z)
L1 представляет кеш первого уровня, а L2 представляет кеш второго уровня, который является кешем кеша первого уровня. Кэш первого уровня также делится на кэш данных первого уровня (Data Cache, D-Cache, L1d) и кэш инструкций первого уровня (Instruction Cache, I-Cache, L1i), которые соответственно используются для хранения данных. и выполнение инструкции по декодированию данных. ЦП может одновременно обращаться к ним, что уменьшает конфликт, вызванный многоядерным и многопоточным конфликтом ЦП, и повышает производительность процессора. L1i и L1d обычного ЦП имеют одинаковую емкость.
Этот результат сравнения очень очевиден, особенно в кэш-памяти L2.Хотя кэш-память L2 является общей в чипе M1, кэш-память 16 МБ все же намного больше, чем кэш-память второго уровня i9-10900K. Хотя кэш L3 i9-10900K имеет 20 МБ, он всего на 4 МБ больше, чем кэш L2 M1, а скорость кэша L3 намного ниже, чем у кэша L2.
И, не забывайте, благодаря высокому уровню интеграции Apple, память DRAM и процессор напрямую связаны через высокоскоростную шину Fabric, так что встроенную память можноПримерноЯвляетсяКэш L3 большой емкостиСтратегия Apple, заключающаяся в жертвовании масштабируемостью ради пропускной способности, привела к увеличению пропускной способности и уменьшению задержки для чипа M1. Конечно чем больше тайник тем лучше.С одной стороны это сложность добычи,с другой сторонычастота попаданий в кэшЭто также важный показатель для оценки производительности кэша. Если кеш слишком велик, частота попаданий упадет, а если да, то это будет небольшая потеря.
На самом деле, причина, по которой чип M1 может быть подключен к такому большому кэш-памяти, во многом связана с его производственным процессом.По сравнению с 10-нм и 14-нм чипом, чип M1 изготовлен из самого передового 5-нм процесса TSMC.Чем меньше транзистор, Чем выше площадь блока, тем больше количество транзисторов, которые можно втиснуть внутрь, что позволяет Apple спроектировать кэш большего размера для чипа M1. Мы подробно обсудим эту часть в следующем разделе.
Теперь вернитесь к тому, что мы сказали в начале: «Так называемая единая архитектура памяти состоит в том, чтобы подключить центральную обработку, графический процессор, нейронный сетевой двигатель, кэш и память DRAM через высокоскоростную шину ткани». Это Не только просто подключение единиц вместе - это кристаллизация отличного практического опыта Apple в мобильных SOCS в течение многих лет. Это момент, который принадлежит только к себе Apple.
Следовательно, после такого набора, даже если физическая производительность чипа ЦП чипа M1 не была улучшена, и производительность не самая мощная, архитектура проектирования UMA принесет общее улучшение производительности чипа M1.
Кроме того, кто сказал, что ЦП чипа М1 работать не будет?
4. Процесс и количество транзисторов
Официальный сайт Apple имеет следующее введение в чип M1:
M1 также является первым смартфоном Apple.5 нмПроцесс для создания чипа ПК, упаковка удивительно16 миллиардовтранзисторы, больше всех чипов Apple.
Здесь я выделил жирным шрифтом два важных числа: первое число — только что упомянутый 5-нм техпроцесс, а второе число — 16 миллиардов транзисторов.
4.1 Что означает 5-нм техпроцесс?
Когда мы читаем статью, посвященную чипам, мы часто видим такие слова, как 5 нм, 7 нм и 14 нм. Например, «последний» чип Kirin от Huawei, Kirin 9000 — это 5-нм техпроцесс, так что же означает 5-нм? Шерстяная ткань?
Честно говоря, эта часть содержания слишком глубока, и я сам не в области полупроводников, поэтому это трудно объяснить четко, поэтому я могу только кратко объяснить это здесь.
ИНЖИР. Почти известная ссылка, структура транзистора, показанная на рисунке, ток из источника (источника) течет в канализацию (слив), ворота (ворота), соответствующие затворе, в основном отвечают за контроль источника и слива заканчивается выключатель. Нынешнее потребление будет, и ширина ворот определяет потери, когда ток через сотовый телефон проявляется общее отопление и энергопотребление. У более узкого ширины, тем ниже энергопотребление. Самая маленькая ширина ворот (длина ворот), является значением XX NM.
Проще говоря, путь утечки меньше, чем меньше потери тока, общий вид, тем меньше потребляемая мощность. Макро, поскольку Leakage PATH меньше, чем меньше расстояние между транзисторами, чем больше количество транзисторов, которые можно подключить на единицу площади, тем выше общая производительность расчета.
В последнее время причина сумасшедшего «да» AMD во многом связана с улучшением ее процесса, и на этот раз чип M1 использует самый передовой 5-нм процесс на рынке, и ожидается его высокая производительность.
4.2 Почему чем больше транзисторов, тем выше производительность вычислений?
Транзистор можно рассматривать как небольшой переключатель, который имеет два состояния: включено и выключено. Вы можете понять, что включение равно 1, а выключение равно 0, затем транзистор включается или выключается один раз, и он предоставляет 2-битные данные: 0 или 1. Все данные могут быть представлены бесконечным числом 0 или 1. Вот почему информация в электронную эпоху называется цифровой. На самом деле вся информация представлена числами. И числа могут быть обработаны компьютерами. Компьютеры не могут напрямую обрабатывать человеческую информацию. Вот почему компьютеры представляют данные в двоичном виде.
Следовательно, мы должны понимать, что именно из-за этой характеристики схемы предки выбрали двоичный язык в качестве языка машины, а не двоичный из-за его простоты. Вот два небольших вопроса: почему люди используют десятичную дробь? Есть ли примеры счета в других основаниях в жизни? Не стесняйтесь оставлять свои мысли в разделе комментариев.
Транзистор может одновременно представлять только 0 или 1. А как насчет одновременной работы целой группы транзисторов?
Проще говоря это как большая фабрика которая хранит переключатели.Каждый транзистор это переключатель.Когда он выключен значит 0, а когда разомкнут значит 1.Чем больше транзисторов тем больше переключателей.больше линий. Это похоже на параллельную цепь, когда вы изучали физику в средней школе: чем больше дорог, тем больше цепей. Точно так же, чем больше транзисторов в ЦП, тем больше ветвей тока может протекать в единицу времени.На макроуровне, чем больше данных вы можете обрабатывать на ЦП одновременно, тем быстрее будет работать машина. .
Однако не факт, что чем больше транзисторов, тем лучше производительность чипа, но условно говоря, чем больше транзисторов, тем больше пространство для дизайна.Остальное зависит от того, сможет ли производитель эффективно использовать эту часть микросхемы. дизайнерское пространство. .
5. Действительно ли M1 идеален?
Так вот вопрос? Сказав так много преимуществ чипа M1, он использует архитектуру UMA и самый передовой процесс.Это идеальный чип? Я так не думаю.
5.1 Расширяемость
По сравнению с приведенным выше введением вы имеете определенное представление об унифицированной архитектуре памяти чипа M1, а также знаете, что такая архитектура очень помогает в повышении производительности.
Просто приварить память к чипу SoC, как это, несомненно, невозможно для пользователей, которым позже понадобится аппаратное расширение.
Кроме того, хотя производительность графического процессора M1 очень высока, он также сравнивается с графическим процессором на мобильном телефоне.По сравнению с графическим процессором на уровне настольного компьютера все еще существует большой разрыв.В конце концов, объем есть.Это также сложно для пользователей. Точно так же нельзя использовать внешнюю видеокарту, но никто не должен использовать Mac для игр.
Конечно, Mac может играть в игры, так что давайте выкопаем здесь дыру и в следующий раз заглянем в будущее — облачные игры.
5.2 Совместимость
Переходя с архитектуры x86 на архитектуру ARM, Apple очень решительно настроена, и она уже давно находится в планах. Чтобы пользователи не беспокоились о серьезных изменениях в экологии приложений, Apple предоставила три решения для разных приложений, а именно «Универсальное универсальное приложение».,«Приложение-переводчик Rosetta 2»так же как«Родные приложения ARM»**. Среди них Universal — приложение, охватывающее платформы ARM и X86.В настоящее время некоторые разработчики в будущем переведут свое программное обеспечение на Universal, например Adobe Lightroom, а Photoshop будет обновлен в следующем году. Я должен вздохнуть о привлекательности Apple здесь.Как только появился яблочный кремний, крупные производители быстро последовали за ним.По оценкам, завод по соседству будет плакать от зависти.
Если новое приложение не адаптируется к Universal, вы также можете перевести приложение с помощью Rosetta 2. Эти собственные приложения, скомпилированные для X86, можно преобразовать в приложения, которые могут работать непосредственно на платформе ARM, с помощью инструмента Rosetta, предоставленного Apple, хотя некоторая производительность будет снижена. быть потеряны, но это может значительно улучшить совместимость. В настоящее время, судя по различным видеороликам с тестами на совместимость, завершение Rosetta 2 находится на очень высоком уровне, в отличие от фабрики по соседству, которая выпустила полуфабрикат.
Если два вышеупомянутых решения по-прежнему не могут удовлетворить ваши потребности, вы также можете положиться на созданную Apple экосистему App Store для прямого запуска собственных приложений ARM.Они могут работать непосредственно на macOS, iOS и iPadOS, что эквивалентно тому, что Apple проходит через основное устройство с маленького экрана на большой экран.
Даже если экология программного обеспечения macOS не была идеальной, эта проблема почти исчезла в iOS, так что продуктам Mac, оснащенным чипами M1, не нужно слишком беспокоиться о нехватке приложений для использования.
Более того, по обновленной macOS Big Sur видно, что Apple также намерена сделать стили этих трех концов более унифицированными. Интерфейс системы и стиль значков унифицированы на iPad и iPhone.
Так почему же при переносе одного и того же программного обеспечения возникают проблемы с совместимостью? Это не имеет никакого отношения к M1, который будет представлен в этой статье, учитывая проблему пространства, мы поговорим об этом позже.
Итак, какое программное обеспечение может быть совместимо с версией M1 MacBook, а какое нет?
Один тест программного обеспечения, количество инженерных работ очень велико, и программное обеспечение также постоянно обновляется. К счастью, на GitHub появился проект тестирования совместимости «DoseitARM» для версии M1 MacBook. В этом проекте вы можете увидеть тест на совместимость различного программного обеспечения для повышения производительности, такого как инструменты разработки, аудио- и видеоинструменты, инструменты для работы с графикой и изображениями, а также инструменты для редактирования. Совместимость различного программного обеспечения подразделяется на несколько различных ситуаций, а именно:
Его адрес 👉:GitHub.com/тот парень Сэм/…
Заинтересованные читатели могут долго следить за проектом.
6. Наконец
Для Apple с глубокими карманами, несомненно, в будущем потребуется много инвестиций для повторения чипов серии M, а ее собственная экология также гарантирует, что она может дать обратную связь исследованиям и разработкам чипов серии M. Я надеюсь, что у отечественных компаний также могут быть свои чипы, как у Apple, и будущее стоит того, чтобы с нетерпением ждать!
Если вы считаете, что моя статья полезна для вас, пожалуйста, поставьте лайк и подпишитесь на меня, это будет для меня небольшой поддержкой, ваша поддержка заставит меня усерднее делиться, спасибо за вашу поддержку 🙏.