Unified memory что это
Перейти к содержимому

Unified memory что это

  • автор:

Unified Memory

Depends on which NVIDIA GPU archritecture one is using, but for after Pascal model ‘unified memory’ is supported. Unified Memory is a single memory address apce accessible from any processor in a system. This hardware/software tech allows application to allocate data that can be read or written from code running on either CPU/GPU.

cdoe running on a CPU/GPU access data allcoated, the CUDA system software and/or the hardware takes care of migrating memory pages to the memory of the accessing processor. The Pascal GPU archritecture is the first with hardware support for virtual memory page faulting and migration, via its Page Migration Engine. Older GPU based on the Kepler and Maxwell architecutres also support a more limited form of Unified Memory.

Characteristic

  1. Simpler Programmin & Memory model
    • single pointer to data
    • simpler Interface
  2. Performance through data locality
    • migrate data to accessing processor
    • Guarantee global coherency
    • allows cudaMemcpyAsync()

Unified Memory in Pre-Pascals

Tesla K80과 같은 pre-Pascal GPU에서는 cudaMallocManaged()를 호출하면 GPU device에 size만큼 메모리를 할당하게 된다. Driver는 page table entry를 관리하며 모든 page할당에 대한 정보를 갖고 있도록 한다. DEEP COPY CUDA runtime must migrate all pages previously migrated to host memory or to another GPU back to the device memory.

Deep copy 시에는 src와 dest가 모든 page 데이터를 각자 들고 있어야한다는 문제가 있다. Unified memory를 사용하면 어떤 processsor인지 상관없이(?) 메모리를 공유해서 하나의 virtual address를 사용하게 된다. Pre-Pascal GPU 모델들은 해당 architecture는 page-fault별도로 처리하지 않는다. Device 정보 중 concurrentManagedAccess() 는 해당 GPU가 HW page migration과 concurrent access의 가능 여부를 알려준다 (return 값이 1인 경우). (물론 cudaStreamAttachMemAsync() 처럼 allocation시점을 직접 처리할 수 있긴하지만, default로는 stream에 allocation을 묶어서 처리한다.)

No GPU page fault support: move all dirty pages on kernel launch

No concurrent access, no GPU memory oversubscribption, no system-wide atomics

Unified Memory in After Pascal Architectures

Memory allcoation is not physically done with cudaMallocManaged(). Rather it is allocated and set when they are accessed by the GPU or CPU. The pages can migrate to any processor memory at any time and driver employs heuristics to maintain data locality and prevent execessive page faults. cudaMemAdvise() 로 사용자는 추천을 받거나, cudaMemPrefetchAsync() 를 사용해서 직접 설정할 수 있다.

Supporting page fault and migration is the biggest difference

Kernel 수행 전에 host->device 또는 device->device로 page copy가 발생하는데, Pascal부터는 이 작업을 runtime에 진행하지 않는다. Kernel은 data migration overhead 없이 이동하며 page에 access를 할 때 부재한다면 GPU는 대기하고 Page Migration Engine이 migrate 해줄 때까지 기다린다. Runtime에 data migration이 발생하므로 kernel execution만 고려한다면 pre-Pascal과 비교했을 때 수행 시간이 더 걸린다.

Runtime data migration overhead

실제 appliction에서 GPU가 CPU와 통신을 할 일이 많은가를 생각해본다면, CPU가 data를 초기화해서 GPU로 이동시키는 경우 한번 밖에 없다. 대개 한번 이동시킨 데이터를 가지고 GPU는 별다른 개입없이 연산을 하게된다. 이런 overhead를 줄일 방법은

  1. 아예 kernel내에서 데이터를 initialize한다.
  2. (성능을 재는 경우) 여러 번 수행시켜서 평균이나 최소 runtime을 고려한다.
  3. Data를 kernel launch 전에 prefetch해서 사용한다.

Consider the Unified Memory on Pascal and Later GPUs

Pascal GPU architecure부터는 49-bit virutal address와 on-demand page migration를 지원한다. 32 bit가 아니라 49 bit로, 전체 시스템 메모리 (흔히 알고 있는 메인 메모리)와 모든 GPU의 메모리를 접근가능하게 만들었다. CPU, GPU가 동시에 접근 할 수 있다는 전제하에 cudaDeviceSynchronize() 를 둬서 segmentation fault를 방지하도록한다. Page fault를 지원한다는 이야기는 memory oversubscribing이 가능하다는 이야기로, 여러 GPU를 돌릴떄 application을 수정하게 되는 수고를 줄인다.

Pascal과 Volta에서 system-wide atomic memory operation을 지원하는 점을 고려해볼 때, 여러 GPU에서 atomic 연산을 처리할 수 있는데 multi-GPU cooperative algorithm을 작성할 때 유리하다.

Demand paging은 sparse pattern data, 즉 어떤 메모리 address가 어떤 특정 processor에 접근할지 모르는 경우 유리하다. Page fault를 지원하진 않으면 application은 일단 전체 데이터를 다 올려서 처리해야하는데, 지원을 한다면 굳이 다 올릴 필요가 없다.

В новом Mac mini максимум 16 ГБ оперативной памяти: это провал?

Казалось бы, Apple не просто выполнила свои невероятные и невыполнимые обещания, а даже перевыполнила их. Два ноутбука и компактный десктоп с Apple Silicon внутри, нагло и беспардонно, обошли по заявленным с трибуны производительности и экономичности чуть ли не все компьютеры в мире. Тесты Geekbench их превосходство подтвердили. Не “чуть ли не над всеми в мире”, это преувеличение – но этого и не требовалось, и кстати, никто из Apple этого и не обещал. Но борцы с фруктовой угрозой не долго пребывали в унынии, они нашли в Mac mini с M1 фатальную проблему: размер его оперативной памяти удручающе мал. В базовом варианте 8 ГБ объединенной памяти, доплатив, её можно увеличить до 16 Гигабайт, и на этом всё. И не надейтесь когда-нибудь установить чип с большей ёмкостью, оперативная память апгрейду не подлежит.

В новом Mac mini максимум 16 ГБ оперативной памяти: это провал? Это странно, ведь раньше в Mac mini можно было поставить даже 128 ГБ ОЗУ. Фото.

Это странно, ведь раньше в Mac mini можно было поставить даже 128 ГБ ОЗУ

Apple молчит, а что она могла бы сказать? И во время презентации на размере оперативной памяти ни разу не заострили внимания. Лишь представляя M1, что-то сказали про “объединенную архитектуру памяти”, но что это такое, и с чем её едят, мало кто понял. И вообще, мы не первый день живем на свете, и знаем, что чудес не бывает, и 16 Гигабайт это, всего лишь, 16 Гигабайт. Хотя, насчет чудес можно и возразить.

Сколько оперативной памяти в Mac mini

8 и 16 Гигабайт, пусть даже объединённой, оперативной памяти в наши дни уважения не внушают. Неудивительно, что по этому поводу поднялась нешуточная волна народного гнева, причем какая-то однобокая. Во всех Mac’ах с M1 внутри ситуация с оперативной памятью в точности та же – 8 и 16 Гигабайт, и возможности её модернизации нет ни у одного из них. Но гнев направлен почти исключительно против Mac mini. Из-за того, что размеры и вес критичны для ноутбуков, и компромиссы в их случае хотя бы понятны – но кто мешает Apple сделать Mac mini с Apple Silicon внутри сколь угодно большим, чтобы максимальный размер памяти, которую можно в нем разместить был хотя бы 64 Гигабайта? А лучше 128 или 256 ГБ?

Сколько оперативной памяти в Mac mini. ОЗУ в новых Mac находится прямо в чипе M1. Фото.

ОЗУ в новых Mac находится прямо в чипе M1

А ведь Apple еще и позиционирует Mac mini с M1 как профессиональный компьютер! Пока против всего этого аргументированно возразить невозможно. На мой взгляд, 8 и 16 Гигабайт даже объединенной памяти – маловато. Остается только надеяться на чудо.

Apple уже творила (и продолжает) настоящие чудеса с оперативной памятью в мобильных устройствах, причем ей противостоял противник пострашнее и поспособнее, чем в компьютерной индустрии. Это во-первых. А во-вторых, Apple “кровь из носа” нужен триумфальный успех её новой архитектуры, фатальные проблемы ей не нужны, и все, что нам показали 10 ноября, долго и тщательно тестировалось. Проблему с недостаточностью оперативной памяти выявили бы обязательно – и скорее отложили бы выход Mac’ов с M1, чем выпустили бы их в большой мир. Но как все будет на самом деле, можно узнать только из опыта сотен независимых от Apple пользователей. Apple непредсказуема.

Почему в новых Mac так мало оперативной памяти?

Почему в новых Mac так мало оперативной памяти? Снимок M1 под электронным микроскопом, названия ядер позаимствованы у Apple A14, настоящие неизвестны. Фото.

Снимок M1 под электронным микроскопом, названия ядер позаимствованы у Apple A14, настоящие неизвестны

Мобильные устройства от Apple с самого начала уступали мобильным устройствам других компаний в размере оперативной памяти. В разы. В 2-3 раза. Причем, что удивляет больше всего, iPhone было бы несправедливо обвинять в недостаточной производительности. Не чудо ли?

Apple объясняла это несколькими причинами: компания сама разрабатывает и системы-на-чипе для своих мобильных устройств, и все основные их элементы, такие как центральный и графический процессоры, нейронный процессор и много всякой всячины. Все это тщательно подгоняется под требования целевого устройства (оптимизируется), и под его операционную систему. А оперативная память используется “по-умному”. “Объединенную архитектуру памяти”, применяемую в Apple Silicon с незапамятных времен, недавно рассекретили, и даже предоставили разработчикам доступ к её API (интерфейсам для программиста). Эта архитектура и была в основе яблочных чудес. Смогла ли Apple адаптировать это чудодейственное средство к нуждам компьютеров? Чему равен 1 объединенный яблочный Гигабайт в Intel-Mac’овских Гигабайтах?

1 Гигабайт оперативной памяти iPhone примерно равен 2-3 Гигабайтам “по курсу Android”. Это соответствия, как вы наверняка понимаете, условны и зависят от того, для чего используется устройство.

Почему в новых Mac так мало оперативной памяти? Сравнение производительности чипов Apple против Intel. Фото.

Сравнение производительности чипов Apple против Intel

Что такое универсальная архитектура памяти?

Сущностей, называемых Unified Memory Architecture, в индустрии несколько. Некоторым из них уже немало лет. Поэтому если вы захотите найти про её яблочный вариант более подробную информацию, ищите Unified Memory Architecture Apple. В прошлом году своей UMA обзавелась, например, Nvidia – кстати, тоже очень успешной. Если не забираться в дебри, суть этой архитектуры состоит в следующем: вся имеющаяся у системы-на-кристалле оперативная память доступна всем её потребителям, входящим в её состав. Это процессоры (центральный, графический и нейронный), контроллеры (ввода-вывода, например), анклав безопасности – полный список потребителей известен нескольким десяткам сотрудников Apple.

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

Одни и те же данные могут быть одновременно доступны больше чем одному из потребителей. На копирование данных между потребителями не тратится время. Это позволяет экономнее расходовать оперативную память и время. Во вторых, данные, которые в настоящее время не используются (программа, которая запущена, но неактивна), быстро и эффективно кэшируются. Используется еще множество всяких трюков, из-за которых мобильные устройства Apple уютно чувствуют себя в значительно меньшей по размеру оперативной памяти. С x86 справиться, видимо, еще проще. А кто и как управляет этим одновременным доступом? Контроллер оперативной памяти хранит и поддерживает в актуальном виде карту использования памяти, а каждому из его клиентов он предоставляет карту областей памяти, доступных ему. Одновременный доступ к одному и тому же блоку управляется тем же контроллером – конфликтов не замечено.

Почему чип 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 складывает и отнимает числа из регистров.

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

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

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

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

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

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

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

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

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

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

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

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

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

GeForce RTX 3080.

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

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

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

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

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

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

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

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

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

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

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

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

В случае 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, потому что произведенные чипы нуждаются и в программном обеспечении.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процессор 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, Норвегия.

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

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

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

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

В жизни инструкций может быть тысячи, но процессор все равно способен анализировать зависимости между ними. Процессор смотрит на входные данные каждой инструкции, зависят ли они от результатов других инструкций. Например, инструкция 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 операция извлечения числа из памяти выглядит так:

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

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

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

Is Apple silicon ready? — покажет, какие программы уже оптимизированы для М1

Автор оригинальной статьи не привел ссылку на то самое видео-сравнение, но тут можно посмотреть сравнение Mac mini с М1 vs Mac Pro

Унифицированная память в устройствах Apple – что это такое и какой объём выбрать

Если вы думали о покупке устройства Apple на базе ARM, вы наверняка слышали об унифицированной памяти. Звучит заманчиво, в этом нет никаких сомнений, но что это такое и сколько вам действительно нужно?

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

Есть изрядное количество информации, которую нужно охватить, так что давайте приступим к мельчайшим деталям!

Что такое унифицированная память

Чипсеты Apple M1 и M2 (и, предположительно, их преемники) тесно интегрированы. В отличие от традиционных компьютеров x86, эти SoC (System-on-a-Chip) содержат большинство ключевых компонентов под одним корпусом.

Компоненты SOC Apple M1 и M2

Такой дизайн позволил Apple создать унифицированную архитектуру памяти , которая, в свою очередь, позволяет CPU и GPU получать доступ к одному и тому же пулу памяти.

Это похоже на обычную работу iGPU, но только на поверхностном уровне – Apple UMA (унифицированная архитектура памяти) намного более продвинута, чем может показаться на первый взгляд.

Более того, она сильно отличается от того, к чему мы все привыкли в мире x86 – архитектура, которая, несомненно, достаточна, но не настолько авангардна, как то, что может предложить Apple.

Почему унифицированная память такая быстрая

В стандартном ПК на базе Windows ваш ЦП напрямую взаимодействует с оперативной памятью (или для краткости ОЗУ).

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

Память x86 против памяти на базе ARM

Единственная «проблема» заключается в том, что для доступа к этим пулам памяти вашему процессору и видеокарте (и другим компонентам тоже) требуется время. Они могут быть в относительно непосредственной близости, но всё же существует ограничение в отношении скорости, с которой к ним можно получить доступ.

Этот предел отнюдь не изнурительный, но он существует.

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

Как работает унифицированная память Apple

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

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

Он также расположена максимально близок к SoC (на самом деле, прямо рядом с ним) – ещё одно огромное отличие, преимущества которого не следует недооценивать, поскольку оно позволяет передавать все типы данных с гораздо большей скоростью.

Унифицированная память – самые большие недостатки

UMA от Apple , несмотря на все её сильные стороны и преимущества, не лишена списка недостатков и ограничений.

Давайте посмотрим поближе:

  • Обманчиво быстро – это может звучать как плюс, но очень легко может стать минусом. Как только вы израсходуете всю доступную память, ваше устройство Mac немедленно (и без колебаний) прибегнет к подкачке памяти. Сама ОС по-прежнему будет ощущаться (достаточно) отзывчивой и быстрой, но если это «войдёт в привычку», она может также быстро израсходовать ресурс SSD.
  • Её нельзя обновить – это, можно сказать, самая большая и самая изнурительная проблема. На обычных настольных ПК, если вам нужно больше оперативной памяти, всё, что вам нужно сделать, это купить ещё пару планок или, в худшем случае, заменить существующую память на совершенно новый комплект. На устройстве Mac на базе ARM объём памяти нельзя изменить, как бы вы ни пытались. Для ноутбуков это в какой-то мере приемлемо – мир тонких и лёгких ультрабуков с Windows ничем не отличается. Mac Studio (и Mac Mini, если на то пошло) – это машина, которая будет стоять на вашем столе долгие годы. Отсутствие возможности обновить какой-либо компонент может стать препятствием для покупки. Разумеется, сама машина настолько мощна, что, скорее всего, вам долго не понадобится что-либо модернизировать, но.
  • Чрезвычайно дорого – хотите удвоить унифицированную память? Вам придётся выложить дополнительные 15-20 тысяч рублей. Называть это непристойной премией было бы преуменьшением.

Сколько унифицированной памяти вам нужно

Это зависит от того, что вы планируете делать со своим устройством Mac на базе ARM. Если это просто лёгкий просмотр веб-страниц, стандартная продуктивная работа и, возможно, небольшое редактирование фото или видео, то вам хватит 8 ГБ – но выберите что-то большее.

Последние SoC от Apple во многом зависят от памяти подкачки, что может сократить срок службы внутреннего SSD. Чем больше у вас оперативной памяти, тем реже Mac придётся обращаться к SSD.

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

Вот в чём дело: наличие 8 ГБ унифицированной памяти даёт намного больше скорости, чем можно было ожидать, именно благодаря инженерному волшебству Apple, и, хотя это звездное преимущество для всех потенциальных покупателей, тем не менее, оно достигается относительно экстремальными средствами – например, ошеломляюще чрезмерной зависимостью от памяти подкачки.

Следовательно, 16 ГБ объединённой памяти – это то, что нужно большинству требовательных пользователей. Это не невероятный объём памяти, но, тем не менее, его будет достаточно как для лёгких, так и для тяжёлых рабочих нагрузок.

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

Если вы можете, обязательно выберите 16 ГБ, если вы будете использовать своё устройство в ближайшие годы и иметь склонность к многозадачности.

Рекомендации по унифицированной памяти для ыконкретных рабочих нагрузок

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

Вот сколько единой памяти мы рекомендуем для разных рабочих нагрузок:

Рабочая нагрузка/задача Минимальный объём RAM Рекомендуемый объём RAM
Базовое повседневное использование 4-8 ГБ 16 ГБ
Редактирование видео 8-16 ГБ 64 ГБ
Графический дизайн 8-16 ГБ 32 ГБ
Моушн-дизайн 8-16 ГБ 64 ГБ
3D-моделирование 8-16 ГБ 32 ГБ
3D визуализация 8-16 ГБ 64 ГБ
САПР 8-16 ГБ 64 ГБ
Музыкальное производство 8 ГБ 64 ГБ
Программирование 4 ГБ 16 ГБ
Игры 8-12 ГБ 32 ГБ
Стрим 8 ГБ 16 ГБ
VR 16 ГБ 32 ГБ

Сколько памяти может быть на устройстве Apple

Это зависит от SoC. Вот упрощенный обзор каждого чипсета в линейке Apple (на момент написания этой статьи) и максимальный объём унифицированной памяти, который он может поддерживать:

Чипсет Максимальный объём памяти
М1 До 16 ГБ
М1 Pro До 32 ГБ
М1 Max До 64 ГБ
М1 Ultra До 128 ГБ
М2 До 24 ГБ

Просто имейте в виду, что каждое обновление обойдётся вам в дополнительные 15-20 тысяч рублей.

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

Заключение

Унифицированная память Apple – удивительное достижение. На самом деле, нет другого способа сказать это. Тем не менее, это специализированное решение с довольно длинным списком недостатков и ограничений, не говоря уже о высокой запрашиваемой цене.

Устройство Mac с 8 ГБ действительно кажется намного быстрее и более способным, чем можно было бы ожидать. Однако, не стоит обманываться: восемь гигабайт остаются восемью гигабайтами, и никакие программные или аппаратные волшебства никогда этого не изменят.

Часто задаваемые вопросы

Давайте рассмотрим несколько возможных вопросов, которые могут у вас возникнуть в связи с этой темой:

Является ли унифицированная память такой же, как ОЗУ?

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

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

Сколько унифицированной памяти нужно?

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

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

Однако, если вам нужно, чтобы одновременно открывались «миллиарды» приложений, и вы многозадачны, не говоря уже о том, чтобы быть творческим профессионалом, то вам определенно и без колебаний следует выбрать 16 ГБ.

Те, кто покупает устройство на базе M2, могут выбрать 24 ГБ, но если вам нужно столько памяти, вам лучше просто взять 14-дюймовый или 16-дюймовый MacBook Pro – это гораздо более мощная машина.

Вариант 32 ГБ (и выше) зарезервирован для самых требовательных (и богатых) пользователей.

Достаточно ли 8 ГБ унифицированной памяти?

Только для самых простых повседневных задач.

Унифицированная память Apple молниеносно быстра, поэтому наличие 8 ГБ, вероятно, не будет таким большим ограничением, но это всё же своего рода узкое место, и если вы начнёте активно использовать своё устройство Mac, вы сразу же почувствуете неотъемлемые ограничения вашей конфигурации.

Подведём итог: вы определенно можете обойтись 8 ГБ, но если вы планируете использовать это устройство в течение многих лет в будущем, выбор модели на 16 ГБ определенно должен быть в приоритете.

Можно ли обновить унифицированную память?

Унифицированная память вообще не может быть обновлена.

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

Если вы сомневаетесь, выберите 16 ГБ – это оптимальное место для всех, кроме самых требовательных пользователей (непревзойденных профессионалов, если хотите).

Превосходит ли унифицированная память «стандартную» RAM?

Это несколько несправедливое сравнение, поскольку они функционируют заметно разными способами.

Унифицированная память лучше, но её многочисленные преимущества и явная эффективность не могут быть отделены от SoC Apple – вы не можете по-настоящему наблюдать и оценивать её сильные стороны вне этого вакуума и контекста.

Более того, это сделка типа «или/или».

Если вам нужна Windows, то у вас нет никакой возможности использовать унифицированную память Apple и всё, что она может предложить, и наоборот, если вы склонны купить одно из новейших и лучших устройств Apple на базе ARM.

Унифицированная память Apple имеет множество невероятных преимуществ, которые сразу же были признаны и высоко оценены как «фанатами Mac», так и энтузиастами ПК.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *