Как это работает?Архитектура Apple M1 - просто о сложном

Архитектура Apple M1 — просто о сложном

Архитектура Apple M1 - просто о сложном Apple M1 - это магия, потому что в синтетических тестах, раз за разом этот чип от купертино уничтожает в пух и прах, всех своих конкурентов в лице Intel и AMD.

Приблизительное время чтения: 6 минут

Apple M1 — это магия несусветная и потусторонняя.

Потому что в синтетических тестах этот чип в пух и прах разносит всех своих конкурентов в лице Intel и AMD.

У обычных, рядовых, пользователей есть обычный и логичный вопрос. Как?!

  • Как этот чип получился настолько быстрым?
  • Как он может выдавать такие результаты?
  • Как инженерам Apple это удалось?

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

 

Что такое CPU

Начнём с очень простых понятий: что такое CPU и из чего он состоит.

Типичный центральный процессор состоит из:

  • Нескольких именованных ячеек памяти, так называемыми регистрами.
  • Временной памяти.
  • Декодера, объясню чуточку позже что это.
  • И арифметико-логического устройства, сокращенно — ALU.

Так вот ALU выполняет базовые математические операции.

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

Подобные действия выполняются с помощью так называемых «инструкций».
К примеру, нам нужно сложить 100 и 150.

Инструкция будет выглядеть примерно так:

  • скопировать из ячейки оперативной памяти К1 число 100,
  • вставить в ячейку регистра R1 число 100,
  • скопировать из ячейки оперативной памяти К2 число 150,
  • вставить в ячейку регистра R2 число 150,
  • загрузить из ячейки регистра R1 число 100,
  • загрузить из ячейки резистор R2 число 150,
  • сложить R1 и R2,
  • выгрузить результат в ячейку регистра R3 число 250,
  • скопировать результат из ячейки регистра R3 в ячейку оперативной памяти и K3.

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

Архитектура центрального процессора

То понимание архитектуры центрального процессора которые мы разбирали чуточку раньше
называется…
reduced instruction set computer — либо сокращенно — RISC.

Компьютер с набором коротких команд.

Именно эту архитектуру используют М1 чип, но только немножко улучшенным виде под названием ARM.
Усовершенствованная RISC-машина.

Но самое главное не это, а то что все RISC-процессоры во всех своих операциях не могут обойтись без регистров.

Регистры — это, по сути, временное хранилище для той информации, над которой будет происходить те самые операции.

В свою очередь Intel и AMD используют CISC архитектуру.

Компьютер с набором сложных команд.

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

Однако многие программисты просто не задействует весь потенциал такой архитектуры и того самого сложного набора инструкций.

Поэтому к RISC’ку или CISC’ку мы вернемся немножко попозже, а все о чем пойдет дальше это только козыря в рукавах у инженеров Apple.

Поговорим о концепции наращивания мощностей.

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

Потом когда все уперлись в физический размер этих чипов — начали уменьшать техпроцесс.
Но… Даже мы знаем по последним новостям у Intel все не так уж и хорошо…
Она топчется возле этих 14-нм уже я не знаю сколько лет.

Понятное дело Apple это не устраивает и не устраивало и она пошла по радикально иному пути.
По порядку…

М1 имеет четыре высокопроизводительных ядра «Firestorm» и четыре ядра низкого энергопотребления «Icestorm», что уже позволяет оптимизировать энергопотребление.

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

Технически это называется — Out-of-order execution, т.е. выполнение вне очереди.
Помните тот самый пример со сложением?

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

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

Тем самым заполнить буфер микроопераций все теми же инструкциями.

Это все становится возможным с помощью декодеров, которые нарезают инструкции на те самые микрооперации.

Мощность М1

А теперь самый главный вопрос, почему M1 настолько мощный?

Ответ очень прост и лежит на поверхности.

У самого произведенного процессора Intel сейчас всего лишь четыре декодера.
У М1 их — восемь.

Соответственно они будут набивать буфер быстрее — именно поэтому apple расширила тот самый буфер еще в три раза.

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

Но возникает очень логичный вопрос:

почему Intel и AMD не добавит просто дополнительное количество декодеров?!

Тут таки вступает в роль архитектура RISC, которая имеет постоянную длину для инструкций — четыре байта.

А CISC — от одного до пятнадцати байтов.

Именно поэтому декодеры CISC не знают где начинается следующая инструкция.

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

Таким образом процессор совершает очень много неудачных попыток.

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

Потому что это только усугубит ситуацию…
Но для RISC и M1 это становится тривиальной задачей, потому что инструкции всегда одной и той же длины и не стоит определять где начало и где конец инструкций.

Теперь мы плавно подобрались к М1 и технически его нельзя назвать центральным процессором.
Это система чипов в одной кремниевой обертке, так называемый технически, — System-on-a-Chip или сокращенно SoC.

По факту это и есть один компьютер в одной плате, в одном чипе.
CPU, GPU, оперативная память и все необходимые контроллеры, которые действительно делает компьютер компьютером.

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

В том виде в котором мы привыкли воспринимать его сейчас.

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

Она создала специализированный процессор для выполнения конкретных задач.

Из чего состоит М1

Разберем подробнее что чип М1 содержит внутри:

  • Центральный процессор — который выполняет большинство типичных задач и программ.
  • Графический процессор — используется в обработке графики, изображений и конечно же в играх.
  • Блок обработки изображений — используются для увеличения производительности во время работы приложений по обработке графики.
  • Обработчик цифровых сигналов — выполняет более сложные математические функции, чем центральный процессор. К примеру, ту же самую декомпрессию музыкальных файлов.
  • Блок нейронной обработки — ускоряет работу машинного обучения и искусственного интеллекта.
  • Кодировщик видео — для преобразования видео в разных форматов.
  • Блок безопасности — занимающийся шифрованием, аутентификацией и безопасностью.
  • Блок единой памяти — позволяют модулям чипа взаимодействовать максимально быстро.

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

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

Блок единой памяти

Следующая особенность это блок единой памяти.
Да, да, да… Если мы посмотрим на строение М1, то память есть непосредственной частью этого чипа.
Тем самым инженеры избавились от всех недостатков общей памяти примерно следующим образом..

Больше нет специально выделенный блоков памяти для CPU или GPU.

Память доступна для обоих процессоров.

Они же используют одни и те же ячейки памяти без копирования.

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

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

Именно поэтому у Macbook Air вообще пассивное охлаждение.

Почему Intel и AMD не производить те же самые системы на чипах?! Ответ очень прост — бизнес-модель.

Если Intel и AMD всю свою жизнь производила те самые центральные процессоры общего назначения, то она и дальше будет производить центральный процессор общего назначения.

Когда Аpple контролировала весь процесс производства: от начала и до конца.

Мы прекрасно понимаем что мир не будет прежним — М1 это доказал.

Система на чипах — это будущее и Аpple уже готова к этому будущему.

А пока все конкуренты в лице Intel, Amd и Nvidia будут менять свои бизнес-модели и будет менять свои процессы, адаптироваться.

Компания Аpple просто будет захватывать рынок — все очень просто.

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

Вот такие вот мысли, кстати весь материал данного ролика был подготовлен с помощью одной очень интересной статьи. Ссылка в описании статьи.

Источникmedium

Читать больше

Continue to the category