для arm64 что это

Что такое ARM

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

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

Содержание

Краткий экскурс в историю

По запросу «ARM» Википедия выдает два значения этой аббревиатуры: Acorn RISC Machine и Advanced RISC Machines. Начнем по порядку. В 1980-х годах в Великобритании была основана компания Acorn Computers, которая начинала свою деятельность созданием персональных компьютеров. В то время Acorn еще называли «британской Apple». Решающим периодом для компании стал конец 80-х годов, когда ее главный инженер воспользовался решением двух выпускников местного университета, придумавших новый вид процессорной архитектуры с сокращенным набором команд (RISC). Так появился первый компьютер на базе процессора Acorn Risc Machine. Успех не заставил себя долго ждать. В 1990 году британцы заключили договор с Apple и вскоре начали работу над новой версией чипсета. В итоге команда разработчиков сформировала компанию под названием Advanced RISC Machines по аналогии с процессором. Чипы с новой архитектурой также стали именоваться Advanced Risc Machine или сокращенно ARM.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Технические особенности чипов ARM

Существует два типа современных процессорных архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing). К архитектуре CISC относится семейство процессоров x86 (Intel и AMD), к архитектуре RISC – семейство ARM. Основным формальным отличием RISC от CISC и, соответственно, x86 от ARM является сокращенный набор команд, используемый в RISC-процессорах. Так, например, каждая инструкция в CISC-архитектуре трансформируется в несколько RISC-команд. В добавок, RISC-процессоры используют меньше транзисторов и, таким образом, потребляют меньше энергии.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Основным приоритетом ARM-процессоров является отношение производительности к потреблению энергии. ARM имеет большее соотношение производительности на ватт чем x86. Вы можете получить необходимую мощность из 24 ядер x86 или из сотен маленьких ядер ARM с низким энергопотреблением. Разумеется, один даже самый мощный процессор на архитектуре ARM никогда не будет сопоставим по мощности с Intel Core i7. Но тот же Intel Core i7 нуждается в активной системе охлаждения и никогда не поместится в корпус телефона. Здесь ARM вне конкуренции. С одной стороны, это выглядит привлекательным вариантом для построения суперкомпьютера с использованием миллиона ARM-процессоров вместо тысячи процессоров x86. С другой стороны, нельзя однозначно сравнивать две архитектуры. В чем-то преимущество будет за ARM, а в чем-то – за x86.

Однако называть чипы архитектуры ARM процессорами не совсем корректно. Кроме нескольких процессорных ядер, они также включают другие компоненты. Наиболее подходящим будет термин «однокристальная система» или «система на кристалле» (SoC). Современные однокристальные системы для мобильных устройств включают контроллер оперативной памяти, графический ускоритель, видеодекодер, аудиокодек и модули беспроводной связи. Как уже было сказано ранее, отдельные компоненты чипсета могут быть разработаны сторонними производителями. Наиболее ярким примером этого являются графические ядра, разработкой которых кроме ARM Limited (графика Mali), занимаются Qualcomm (Adreno), NVIDIA (GeForce ULP) и Imagination Technologies (PowerVR).

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

На практике это выглядит следующим образом. Большинство бюджетных мобильных устройств на Android поставляются с чипсетами производства компании MediaTek, которая практически неизменно следует инструкциям ARM Limited и комплектует их ядрами Cortex-A и графикой Mali (реже PowerVR).

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

А-бренды для своих флагманских устройств зачастую используют чипсеты производства Qualcomm. К слову, последние чипы Qualcomm Snapdragon (820, 821, 835) оснащены полностью кастомными ядрами Kryo – для центрального процессора и Adreno – для графического ускорителя.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Что касается Apple, то для iPhone и iPad компания использует собственные чипы А-серии с графическим ускорителем PowerVR, производством которых занимаются сторонние компании. Так, в iPhone 7 и iPhone 7 Plus установлен 64-битный четырехъядерный процессор A10 Fusion и графический процессор PowerVR GT7600.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Актуальной на момент написания статьи считается архитектура процессоров семейства ARMv8. В ней впервые стал использоваться 64-битный набор инструкций и появилась поддержка более 4 ГБ оперативной памяти. Архитектура ARMv8 имеет обратную совместимость с 32-битными приложениями. Наиболее эффективным и самым мощным процессорным ядром, разработанным ARM Limited, на данный момент является Cortex-A73, и большинство производителей однокристальных систем используют его без изменений.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Cortex-A73 обеспечивает на 30% более высокую производительность по сравнению с Cortex-А72 и поддерживает полный набор ARMv8-архитектуры. Максимальная частота процессорного ядра составляет 2,8 ГГц.

Сфера использования ARM

Наибольшую славу ARM принесло развитие мобильных устройств. В преддверии массового производства смартфонов и другой портативной техники энергоэффективные процессоры пришлись как нельзя кстати. Кульминацией развития ARM Limited стал 2007 год, когда британская компания возобновила партнерство с Apple, а спустя некоторое время купертиновцы представили свой первый iPhone с процессором на архитектуре ARM. В последующем однокристальная система на базе архитектуры ARM стала неизменным компонентом практически всех смартфонов, представленных на рынке.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Портфолио компании ARM Limited не ограничивается только ядрами семейства Cortex-A. Фактически, под маркой Cortex существует три серии процессорных ядер, которые обозначаются буквами A, R, M. Семейство ядер Cortex-А, как мы уже знаем, является наиболее мощными. Их в основном используют в смартфонах, планшетах, ТВ-приставках, спутниковых ресиверах, телевизорах, автомобильных системах, робототехнике. Процессорные ядра Cortex-R оптимизированы для выполнения высокопроизводительных задач в режиме реального времени, поэтому такие чипы встречаются в медицинском оборудовании, автономных системах безопасности, носителях информации. Основной задачей семейства Cortex-M является простота и низкая стоимость. Технически это самые слабые процессорные ядра с наиболее низким энергопотреблением. Процессоры на базе таких ядер используются практически везде, где от устройства требуется минимальная мощность и низкая стоимость: сенсоры, контроллеры, сигнализации, дисплеи, умные часы и другая техника.

В общем, большинство современных устройств от маленьких до больших, нуждающихся в центральном процессоре, используют чипы ARM. Огромным плюсом при этом является тот факт, что архитектура ARM поддерживается множеством операционных систем на платформе Linux (в том числе Android и Chrome OS), iOS, и Windows (Windows Phone).

Конкуренция на рынке и перспективы на будущее

Стоит признать, на данный момент у ARM нет серьезных конкурентов. И по большому счету это связано с тем, что компания ARM Limited в определенное время сделала правильный выбор. А ведь в самом начале своего пути компания выпускала процессоры для ПК и даже пыталась конкурировать с Intel. После того, как ARM Limited поменяла направление своей деятельности, ей также было непросто. Тогда программный монополист в лице Microsoft, заключив партнерское соглашение с Intel, не оставил никаких шансов другим производителям, в том числе и ARM Limited – ОС Windows просто не работала на системах с процессорами ARM. Как бы парадоксально это не звучало, но сейчас ситуация может кардинально измениться, и уже ОС Windows готова поддерживать процессоры на этой архитектуре.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

На волне успехов чипов ARM компания Intel предприняла попытку создать конкурентоспособный процессор и вышла на рынок с чипом Intel Atom. Для этого ей потребовалось гораздо больше времени, нежели ARM Limited. В производство чипсет поступил в 2011 году, но, как говорится, поезд уже ушел. Intel Atom является CISC-процессором с архитектурой x86. Инженеры компании добились более низкого энергопотребления, нежели в ARM, однако на текущий момент разнообразный мобильный софт имеет плохую адаптацию к архитектуре x86.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

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

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Положение ARM Limited на рынке уникальное. На данный момент практически все производители пользуются ее разработками. При этом у компании нет собственных заводов. Это не мешает ей стоять в одном ряду с Intel и AMD. История ARM включает еще один любопытный факт. Не исключено, что сейчас технология ARM могла бы принадлежать компании Apple, которая стояла в основе формирования ARM Limited. По иронии судьбы в 1998 году купертиновцы, переживая кризисные времена, продали свою долю. Теперь Apple вынуждена наряду с другими компаниями покупать лицензию на процессоры ARM, используемые в iPhone и iPad.

Сейчас процессоры ARM способны выполнять серьезные задачи. В ближайшей перспективе – использование их в серверах, в частности такие решения уже имеют дата-центры Facebook и PayPal. В эпоху развития интернета вещей (IoT) и «умных» бытовых устройств чипы ARM получили еще большую востребовательность. Так что самое интересное у ARM еще впереди.

Источник

ARM64 и Ты

Несколько запоздалый перевод заинтересовавшего меня блогпоста о том, что в действительности дает 64-битность процессора в iPhone без маркетинговой шелухи. Если текст покажется вам слишком очевидным, пропустите часть «Базовые преимущества и недостатки».

Как только был анонсирован iPhone 5S, технические медия были переполнены недостоверными статьями. К сожалению, написание хороших статей занимает время, а мир технической журналистики больше ценит скорость, чем достоверность. Сегодня, по просьбе нескольких своих читателей, я кратко изложу, что дает 64-bit ARM в iPhone 5S в плане производительности, возможностей и разработки.

64 бита

Давайте для начала рассмотрим что, собственно, 64-битность означает. С этим термином связанно много путаницы, в основном из-за того, что нет единого устоявшегося определения. Однако, существует общее понимание этого термина. «Битность» обычно означает либо размер числового регистра, или размер указателя. К счастью, для большинства современных процессоров, их размер совпадает. Таким образом, 64-битность означает что процессор обладает 64-битными числовыми регистрами и 64-битными указателями.

Базовые преимущества и недостатки

Если вы будете сравнивать идентичные процессоры 32 и 64 битные CPU, вы не найдете больших различий, так что значительность перехода Apple на 64-битные ARM несколько преувеличена. Это важный шаг, но важный, в основном, из-за особенностей ARM и особенностью использования процессора компанией Apple. Тем не менее, некоторые различия имеются. Самым очевидным является 64-битные числовые регистры более эффективно работают с 64-битными числами. Вы можете работать с 64-битными числами и на 32-битном процессоре, но это обычно приводит к работе с двумя 32-битными частями, что работает ощутимо медленнее. 64-битные процессоры, обычно, выполняют операции над 64-битными числами также быстро как и над 32-битными, так что код активно использующий вычисления с 64-битными числами будет работать значительно быстрее.

Не смотря на то, что 64-битность не связана напрямую с объемом адресуемой памяти, она значительно облегчает использование большого объема RAM в рамках одной программы. Программа, запущенная на 32-битном процессоре может адресовать не больше 4GB адресного пространства. Часть памяти выделена под операционную систему и стандартные библиотеки, что оставляет 1-3GB на саму программу. Если у 32-битной системы больше 4GB RAM, то использование всего этого адресного пространства для программы значительно усложняется. Вам придется заняться махинациями вроде последовательного отображение разных частей RAM на часть виртуального адресного пространства или разбивание одной программы на несколько процессов.

Подобные трюки крайне трудозатраны и могут сильно замедлить систему, так что мало кто из программистов реально их использует. На практике, на 32-битных процессорах каждая программа используют до 1-3GB RAM, а вся ценность в обладании большего объема физической оперативной памяти заключается в возможности больше запускать программ одновременно и возможность кеширования больше данных с диска.

Увеличение объема адресного пространства полезно и для систем с небольшим объемом оперативной памяти — memory-mapped файлы, размеры которых могут быть и больше доступной оперативной памяти, т.к. операционная система реально загружает только те части файла, к которым производились обращения и, кроме того, умеет «вытеснять» загруженные данные обратно в файл, освобождая оперативную память. На 32-битных системах нельзя отобразить файлы размером больше 1-3GB. На 64-битных системах, адресное пространство значительно больше, так что такой проблемы нет.

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

В двух словах: 64-битность может увеличить производительность некоторых частей кода и упрощает некоторые техники, вроде memory-mapped файлов. Однако, производительность может и пострадать из-за увеличения используемой памяти.

ARM64

64-битный процессор в iPhone 5S не просто ARM с увеличенным размером регистров, есть и существенные изменения.

Во-первых, отмечу название: официального название от ARM — «AArch64», однако это — глупое название, печатать которое меня раздражает. Apple называет архитектуру ARM64 и я буду называть также.

ARM64 увеличил вдвое число целочисленных регистров. 32-битный ARM предоставляет 16 целочисленных регистров, из которых один — счетчик команд (program counter), еще два используются для указателя на стэк и регистра связи (link register) и 13 регистров общего назначения. В ARM64 32 целочисленных регистра, с выделенным нулевым регистром, регистром связи и регистром указателя кадра (frame pointer register). Еще один регистр зарезервирован платформой, что оставляет 28 регистров общего назначения.

ARM64 также увеличивает число регистров для чисел с плавающей запятой. Регистры в 32-битных ARM несколько странные, так что сложно сравнивать. У 32-битного ARM 32 32-битных регистров с плавающей запятой, которые могут быть представлены как 16 перекрывающихся 64-битных регистров. Кроме того, есть еще 16 независимых 64-битных регистров. ARM64 упрощает это до 32 неперекрывающихся 128-битных регистров, которые могут быть использован для данных меньшего размера.

Число регистров может значительно влиять на производительность. Память значительно медленнее процессора, и чтение/запись памяти занимает значительно больше времени, чем выполнение инструкций процессора. Процессор пытается исправить это при помощи кэшей, но даже самый быстрый кэш значительно медленнее регистров процессора. Больше регистров — больше данных могут храниться внутри процессора. Насколько это влияет на производительность зависит от конкретного кода и эффективности компилятора, который оптимизирует использование регистров. Когда архитектура Intel перешла от 32 к 64 битам, число регистров увеличилось с 8 до 16, и это было значительное изменение производительности. У ARM уже было больше регистров чем у 32-битной архитектуры Intel, так что увеличение регистров хоть и меньше повлияет на производительность, но это изменение все еще будет заметно.

ARM64 также привнес существенные изменения помимо увеличения числа регистров.

Большинство 32-битных инструкций ARM могут выполняться/не выполняться в зависимости от состояние регистра-условия. Это позволяет транслировать условные выражения (if-statements) без использования ветвления. Предполагалось, что это увеличит производительность, однако, судя по тому, что в ARM64 от этой возможности отказались, она порождала больше проблем, чем давала пользы.

В ARM64 набор SIMD (одна-инструкция-много-данных) NEON полностью поддерживает стандарт IEEE754 для чисел с плавающей запятой с двойной точностью, в то время как 32-битная версия NEON поддерживала только одинарную точность и не в точности следовала стандарту для некоторых битов.

В ARM64 добавили специализированные инструкции для AES шифрования и SHA-1 & SHA-256 хешей. Не слишком полезное в общем, однако существенный бонус если вы занимаетесь именно этими вопросами.

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

Совместимость с 32-битным приложениями

Важно отметить, что A7 включает в себя 32-битный режим совместимости, который позволяет запускать 32-битные приложения без каких либо изменений. Это означает, что iPhone 5S может исполнять любые старые приложения без какого-то влияния на производительность.

Изменения в системе периода исполнения

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

В Max OS X 10.7 Apple ввела меченные указатели (tagged pointers). Меченные указатели позволяют хранить некоторые классы с небольшим количеством данных в экземпляре напрямую в указателе. Это позволяет избежать выделений памяти в некоторых случаях, например NSNumber и может дать существенный прирост производительности. Меченные указатели поддерживаются только на 64-битной платформе, частично из-за вопроса производительности, а частично из-за того что в 32-битном указателе не так много остается места под «метки». Видимо по-этому, у iOS не было поддержки меченных указателей. Таким образом, в ARM64 в рантайме Objective-C включена поддержка меченных указателей, что дает те же преимущества, что в Mac.

Не смотря на то, что размер указателя составляет 64 бита, не все эти биты на самом деле используются. В Mac OS X на x86-64 используется только 47 битов. В iOS на ARM64 используется еще меньше — только 33 бита. Если маскировать эти биты каждый раз перед использованием то можно использовать остальные биты чтобы хранить дополнительные данные. Это позволило внести одно из самых значительных изменений в рантайм Objective-C за всю его историю.

Переосмысление указателя isa

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

Использовать весь размер указателя на указатель isa несколько расточительно, особенно на 64-битной платформе, которая не использует все 64-бита. ARM64 на iOS реально использует 33 бита, оставляя 31 бит для других вещей. Классы в памяти выровнены по границе 8 байт, так что последние 3 бита можно отбросить, что дает 34 бита из isa доступные для хранения дополнительной информации. И Apple-овский рантайм в ARM64 использует это для повышения производительности.

Наверно, самой важной оптимизацией стало встраивание (inline) счетчика ссылок. Практически все объекты в Objective-C обладают счетчиком ссылок (за исключение неизменяемых объектов, таких как литералы NSString) и операции retain/release, которые меняют этот счетчик случаются очень часто. Это особенно критично для ARC, который вставляет вызовы retain/release чаще, чем бы это делал программист. Таким образом, высокая производительность retain/release методов крайне важна.

Суммарно, это существенный выигрыш. Мои бенчмарки показали, что создание и удаление простого объекта занимает 380нс на 5S в 32-битном режиме, в то время как в 64-битном только 200нс. Если хоть один экземпляр когда-либо имел слабую ссылку на себя, то в 32-битном режим время удаления для всех увеличивалось до 480нс, в то время как в 64-битном режиме время осталось в районе 200нс для всех экземпляров, на которых слабых ссылок не было.

Короче говоря, улучшения в рантайме таковы, что в 64-битном режиме время аллокации занимают 40-50% от времени аллокации в 32-битном режиме. Если ваше приложение создает и удаляет много объектов, это может оказаться существенным.

Заключение

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

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

Архитектура ARM изменилась не только в 64-битности. Увеличенное число регистров и пересмотренный, модернизированный набор инструкций дает неплохой прирост производительности по сравнению с 32-битным ARM.

Apple использовала переход на новую архитектуру для улучшения в рантайме. Основное изменение — встраиваемый (inlined) счетчик ссылок, который позволяет избежать дорогого поиска по хеш-таблице. Так операции retain/release очень часты в Objective-C, это существенный выигрыш. Удаление ресурсов в зависимости от флагов делает удаление объектов почти вдвое быстрее. Меченные (tagged) указатели также добавляют производительность и уменьшают потребление памяти.

ARM64 — приятное добавление от Apple. Мы все знали, что это рано или поздно случится, но мало кто ожидал что так скоро. Но оно есть, и это отлично.

Источник

ARM как будущая архитектура для настольных ПК

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Содержание

Содержание

Большинство привыкло к полярному рынку в мире процессоров — поле битвы делят Intel и AMD. Однако вполне вероятно, что ситуация изменится в ближайшем будущем, ведь компания Nvidia покупает фирму ARM — разработчика процессорных архитектур. Что же такое ARM и чем все это может обернуться для IT-индустрии?

Желудь из Кембриджа

Для начала стоит объяснить, что ARM обозначает одновременно и архитектуру процессоров (в данном случае Advanced RISC Machine) и название компании (ARM Limited). История берет свое начало с сотрудничества бывшего сотрудника крупной британской компании Sinclair Research Криса Карри и инвестора Германа Хаузера. В 1978 они основали компанию Cambridge Processor Unit (CPU), которая уже в 1979 была переименована в Acorn (Желудь). Такое названия было выбрано по одной простой причине — находиться в телефонном справочнике перед Apple.

Первым продуктом был карманный компьютер за 80 фунтов Acorn System 1, который стоил дешевле своего аналога ZX80, чем и запомнился многим пользователям.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Через два года Acorn получила крупный тендер от британской BBC (та самая радиовещательная компания) на создание компьютера для школ. Так появился BBC Micro, тираж которого превысил 1,5 миллионов устройств. Поступало даже предложение от Билла Гейтса с портированием MS-DOS на BBC Micro, но в Acorn от этого отказались.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Команда разработчиков увеличивалась и постепенно появилась идея перейти к более сложным технологиям, а именно работать с 16-разрядными процессорами. Сначала решили «прощупать» почву и отправились на экскурсию в компанию National Semiconductor. Ситуация крайне разочаровала разработчиков Acorn: над процессорами трудились сотни человек, но многочисленных ошибок и «проволочек» в разработке избегать не удавалось.

Совсем другая история была в Western Design Center, которую также посетили учредители. Там процессоры разрабатывали буквально несколько человек в «домашней» обстановке. Ведущий разработчик Acorn Роджер Уилсон был настолько впечатлен, что сам загорелся идеей разработки собственных процессоров, а не покупки как это предполагалось ранее.

В 1985 году появился первый процессор ARM на тогда популярной RISC-архитектуре. Вот только он был всего-лишь подключаемым дополнением для BBC Master (продвинутой версии ранее упомянутой BBC Micro).

Своеобразным прорывом стал ARM 2: до 64 Мб оперативной памяти, тактовая частота 8 МГц — для тех времен весьма впечатляющие показатели. Конкурентом был небезызвестный Intel 80368 с частотой 16 МГц. Разница в частоте была двукратная, но не в производительности. ARM 2 выполнял 4 миллиона операций против 5 миллионов у Intel 80368!

Перенасыщение рынка компьютеров в 1984 привело к сложному экономическому положению, и Acorn была куплена итальянским брендом Olivetti. Однако последующее заполнение рынка IBM PC и аналогами привело к тому, что вкладывать средства в архитектуру на базе RISC итальянцы не стали.

Новые союзники

Герман Хаузер искал способы сохранить процессорный бизнес и нашел союзника — Apple. Они же в 1990 проектировали инновационный карманный компьютер Newton, для которого энергоэффективные ARM подходили просто идеально. Третьим союзником стала компания VLSI Technologies, которая имела непосредственное отношение к производству интегральных схем.

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

Несмотря на то, что на рынке ПК главенствовала архитектура x86, ARM по-прежнему обеспечивала рабочие станции IBM и Sun Microsystems, а также огромный рынок микроэлектроники.

В чем главная особенность ARM

Во многом именно благодаря Apple после появления первого iPhone и iPad стала понятна значимость RISC-архитектуры. Потребление энергии процессоров было столь низким, что позволяло использовать их практически в любых портативных устройствах. Как не старалась Intel, добиться таких же показателей на х86 не получалось.

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

В существующей классификации можно выделить CISC (Complex Instruction Set Computing — комплексный набор инструкций) и RISC (Reduced Instruction Set Computing — сокращенный набор команд). Усовершенствование процессоров приводило к увеличению размера команды. В какой-то момент усложнения стали такими, что некоторые команды потребовали двух и больше тактов на исполнение.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

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

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

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

ARM против x86/x64 — есть ли перспективы

Могут ли процессоры ARM тягаться с десктопными решениями от Intel или AMD. В одном из материалов был проведен крупный тест процессоров на архитектуре E2K (отечественные Эльбрусы), ARM (v6-v8) и x86 (i386) х86-64 (amd64). Использовались насколько тестов, в том числе LINPACK, который применяется для оценки производительности суперкомпьютеров.

Процессоры ARM были представлены следующими моделями: Amlogic S922X, Samsung Exynos 4412, Allwinner H5, Allwinner A64 и Broadcom BCM2837B0 (последний используется в миникомпьютере Raspberry PI 3).

Весь список результатов вы сможете изучить на этой странице, а мы приведем график для теста liNPACK:

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Некоторые модели ARM-процессоров дотягиваются до уровня производительности Intel Atom. Аналогичную ситуацию можно видеть и на примере мобильного процессора Snapdragon 835. Исходя из тестов, он более чем в два раза проигрывает мобильным версиям Intel Core i5, не говоря уже про десктопные решения.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

С другой стороны такие тесты нельзя назвать максимально объективными. Во-первых, большинство подборных программ ориентированы под x86/x64, поэтому для ARM часто приходится использовать эмуляторы, которые сказываются на результатах. Во-вторых, все рассматриваемые решения изначально ориентированы на мобильную электронику с минимальным тепловыделением и «жором» аккумулятора.

Однако можно ли использовать ARM для десктопных решений? Вполне вероятно, и первые звоночки уже есть. Каждые 6 месяцев выходит рейтинг ТОП-500 — список самых мощных суперкомпьютеров в мире. Ранее первые места занимали решения c Intel Xeon или Nvidia Volta, однако в рейтинге от сентября 2020 года самым мощным компьютером стал японский Fugaku. Беспрецедентный случай, ведь построен он именно на процессорах ARM (A64FX 48C). Замеры производительности показали 513,8 петафлопс. Много это или мало? Бывший лидер IBM Power Systems AC922 имеет всего 200,7 петафлопс — более чем в два раза меньше!

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Конечно, в Fugaku целых 158 976 процессоров на 52 (48+4) ядра, но сам факт того, что на ARM можно строить столь производительные системы уже заслуживает внимания.

Второй звоночек — покупка ARM компанией Nvidia (подписание договора ожидается только к 2022 году), которая является крупнейшим игроком рынка с огромным опытом. Учитывая, что в сфере графических ускорителей они занимают главенствующие позиции, есть вероятность, что «зеленые» попробуют свои силы в сфере ЦП.

Возможно, Nvidia хочет выйти на мобильный игровой рынок. У компании уже существует платформа Tegra, которая объединяет в себе графическое ядро и ARM процессор. C новой покупкой Tegra вполне способна выйти за пределы смартфонов, смартбуков и КПК.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Также Apple объявила о переходе на процессоры ARM собственной разработки и отказ от продукции Intel. Это позволит сделать совместимыми приложения между MacOS и iOS. Как известно, линейка процессоров «A» всегда показывала выдающиеся результаты, благодаря чему iPhone находились в ТОПе самых производительных смартфонов. Однако достаточно ли таких наработок, чтобы заменить хотя бы Intel Core i5 — остается вопросом.

Сейчас у Apple есть только «демонстрационная технология» на базе процессора A12Z Bionic. Разработчики могут получить «девкит» за 779 долларов, но потом его придется вернуть (Apple во всей красе). Новинка A12Z будет установлена в iPad Pro 2020 и, судя по презентации, планшет прекрасно справляется с любыми пользовательскими задачами.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Более того, на процессоре получилось даже запустить Shadow of the Tomb Raider через эмулятор на средне-низких настройках, поэтому потенциал есть.

Если верить тестам за 2017–2018 гг., то iPad и iPhone уже практически дотягиваются до уровня i7 и даже i9, установленных в MacBook Pro.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Есть еще один игрок на рынке — фирма Ampere. Как заявляют представители, их 80-ядерный ARM-процесор превосходит AMD Epyc 7742 и Intel Xeon 8280, однако в тесте для AMD использовался понижающий коэффициент, который компенсировал недоработки пакета компиляторов.

для arm64 что это. Смотреть фото для arm64 что это. Смотреть картинку для arm64 что это. Картинка про для arm64 что это. Фото для arm64 что это

Что ждет x86/x64

Стоит ли хоронить процессоры на x86/x64 — пока об этом рано говорить. Уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микроинструкции (micro-ops), которые в дальнейшем, не удивляйтесь, исполняются RISC-ядром.

Те самые 4–8 ядер вашего процессора, это именно RISC-ядра. Проще говоря, ARM-технология является частью архитектуры x86/x64. Именно поэтому будущим может стать не тотальное вымирание, а именно более совершенная гибридная архитектура. С другой стороны, за счет уменьшения техпроцесса ARM может добиться производительности десктопных процессоров Intel и AMD, но с сохранением приемлемого энергопотребления.

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

Источник

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

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