Arm – это просто (часть 2)

Почему выпуск топовых Mac на ARM-процессорах — неудачная идея

Не так давно в интернет просочились скриншоты тестов в Geekbench новых 10- и 12-ядерных ARM-процессоров от Apple, предназначенных для ноутбуков:

Цифры получились внушительными: так, по однопоточной производительности это уровень Core i7-7700K — топового процессора для iMac 5K, а по многоядерной производительности новые чипы обогнали даже 6-ядерный Core i9 в новом MacBook Pro 15″ 2018 года. Разумеется, люди сразу разделились на два лагеря: кто-то считает, что это реальные тесты, кто-то говорит, что это фейк — правду мы узнаем лишь на презентации. Но давайте на минуту представим, что эти процессоры реально существуют и будут иметь такую производительность — какие «плюшки» это даст новым Mac?

Не ждите увеличения времени автономной работы

Принято считать, что ARM-процессоры на том же техпроцессе более энергоэффективны, чем x86 процессоры — дескать, именно поэтому их ставят в смартфоны. Однако реальность такова, что их производительность на ватт, в общем-то, одинакова: для проверки этого факта использовался тяжелый браузерный бенчмарк, то есть без привязки к ОС, в котором планшет на Windows с Snapdragon 835 в оптимизированном под ARM браузере Edge оказался на уровне простого Celeron в этом же Edge:

Оба процессора имеют TDP на уровне 5-6 Вт, так что переходя на ARM выигрыша во времени автономной работы не будет — собственно, что и показали тесты ARM-планшетов на Windows: никаких обещанных 20 часов работы нет, реальными цифрами являются 10-12 часов, что сравнимо с планшетами на Intel Atom.

Так что если ноутбучный ARM-процессор от Apple показывает многопоточную производительность на уровне 45-ваттного Core i9 — его тепловыделение скорее всего на аналогичном уровне, поэтому не стоит ждать увеличения времени автономной работы.

Запуск Windows будет невозможен

Раньше шутили, что «MacBook — это лучший ноутбук на Windows», и что-то в этом есть: достаточное количество пользователей техники Apple имеют на своих устройствах эту ОС — кто-то ради игр, кто-то ради другого софта, которого нет под Mac. Но с переходом на ARM-процессоры такая возможность будет потеряна: да, Windows уже умеет работать на ARM, но официально — только на Snapdragon 835 и выше, то есть совместимости с процессорами от Apple не будет, что гарантированно вызовет проблемы даже если вы каким-то образом сумеете поставить на такой Mac систему от Microsoft.

Конечно, не стоит забывать о том, что Apple может договориться с Microsoft и внедрить в Windows поддержку своих процессоров — ведь тот же Office эти две компании делали для iPad вместе, и представитель Microsoft даже участвовал в презентации Apple. Но также велик шанс того, что Apple не будет этим заниматься: дескать, macOS — это лучшая ОС, и другие системы на Mac не нужны.

Проблемы с драйверами

Конечно, в этом плане macOS — не Windows, и достаточное количество устройств в ней отлично работают «из коробки». Только вот проблема в том, что драйвера для них — x86-совместимые, а, значит, на устройствах с ARM-процессорами работать они не будут. Конечно, для самых часто используемых устройств Apple адаптирует драйвера для ARM, но велик шанс того, что, подключая к новому Mac старую аудиокарту, вы банально не сможете ей воспользоваться.

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

Проблемы с ПО

Очевидно, что просто так x86-приложения на ARM не запустятся, нужна перекомпиляция. Также очевидно, что Apple сделает совместимость с ARM для всего своего софта, типа iTunes, Safari и Final Cut. Но а что насчет других разработчиков?

Конечно, с течением времени для большей части программ будет или выпущена версия под ARM, или добавлена поддержка этих процессоров в одну версию с x86 — только вот сам этот процесс будет идти даже не дни или недели, а скорее месяцы или даже годы: так, банальная доработка GUI под Retina-экраны Mac, вышедших в 2012 году, для многих разработчиков, видимо, была непосильной задачей, так что автор даже в 2014 году временами сталкивался с приложениями, не умеющим работать с высоким DPI. А ведь Apple предоставила все возможности по доработке ПО под Retina, то есть создателям программ всего-то нужно было по сути перерисовать иконки и некоторые элементы интерфейса, дабы они не выглядели размыто. Это же относится и к переходу с PowerPC на Intel почти 15 лет назад — он затянулся больше чем на два года.

Так что адаптация программы под ARM — это вам не перерисовка парочки картинок, и в итоге пользователь нового Mac на ARM, купившего его на старте продаж, рискует годами ждать, пока тот же AutoCAD не портируют под эту архитектуру. Конечно, не стоит забывать про эмуляцию — об этом как раз поговорим в следующем пункте.

Потеря производительности при эмуляции x86

Скорее всего, дабы не лишать пользователей всего софта под Mac, Apple сделает эмуляцию (или трансляцию команд) x86 под ARM — собственно, им это не впервой: при переходе с PowerPC на x86 в системе опять же был эмулятор первой архитектуры.

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

Вторая важная проблема — возможности эмулятора: так, Microsoft, занимаясь этим вопросом в общем и целом с 2012 года (выпуск Windows RT был пробным шаром), осилила только эмуляцию x86, то есть x64-программы на ARM в Windows 10 не запускаются. Apple же активно отказывается от x86-программ, то есть им нужно или за пару лет сделать больше, чем редмондский гигант делал 5 лет, осилив все же поддержку x64 — что малореально, или же вернуться обратно к x86. Поэтому, скорее всего, будет какой-то промежуточный вариант: поддержка x64 будет реализована частично и не со всеми программами — что, конечно, едва ли устроит пользователей, купивших себе новенький Mac за 2000 долларов.

Отсутствие поддержки различных инструкций для процессоров x86-64

Давайте допустим, что новые Mac с ARM-процессорами будут отлично совместимы с x64 — все же магия от Apple существует. Да, в большинстве задач будут теряться пара десятков процентов производительности — как говорится, печально, но не смертельно. Но вот некоторые тяжелые задачи зачастую будут выполняться медленнее аж в разы — почему?

Все дело в том, что за пару десятков лет существования x86 процессоры накопили достаточно большой багаж инструкций, таких как SSE, AVX или FMA. В чем их суть? Они позволяют существенно ускорить некоторые типы вычислений, и с учетом того, что векторные инструкции (AVX) используются в большинстве процессоров от AMD и Intel, начиная с 2011 года, и с того же периода их поддерживают Windows и macOS — хватает программ и даже игр, которые умеют и работают с ними (например, тот же Photoshop, Final Cut или Visual Studio).

Поэтому такие программы, очевидно, будут запускаться на ARM-процессорах с помощью эмуляции x86-64, но из-за отсутствия поддержки AVX такими CPU производительность будет существенно ниже, чем у чипов от Intel.

Проблемы при работе с видеокартами

На данный момент macOS умеет работать с видеокартами от Nvidia, AMD и Intel. Так как видеокарты от Intel встроены в их же CPU, их отсекаем сразу. Решения от Nvidia поддерживаются просто потому, что поддерживаются старые Mac с ними. Видеокарты AMD (впрочем, как и многие другие), завязаны на процессоры — они обрабатывает для GPU часть данных. И, очевидно, эти процессоры — x86-совместимые, и сделать поддержку процессоров ARM, банально выпустив новый драйвер, не получится.

В итоге, единственный выход для Apple — это использовать вместе со своими процессорами свои же видеокарты. К слову, их Apple уже имеет и используют начиная с процессора A11 в iPhone 8 и X. Но одно дело — слабый мобильный чип, а другое — GPU, способный на равных конкурировать с той же Vega 16, которую имеют на данный момент топовые MacBook. То есть буквально за пару лет Apple должна выпустить видеокарту, работающую хотя бы на том же уровне, что и решение от компании, которая занимается видеокартами не один десяток лет. Возможно ли это? Очевидно, едва ли.

Приятный бонус: Mac с ARM-процессорами могут быть дешевле, чем с решениями от Intel

Знаете, что самое дорогое в вашем MacBook? SSD? Нет, если он не на 4 ТБ конечно. 32 ГБ ОЗУ? Видеочип? А может дисплей? Все мимо. Самое дорогое в вашем Mac — это процессор: так, за топовый мобильный 6-ядерный Core i9 Intel просит почти 600 долларов:

При этом по некоторым данным 6-ядерный A12 Bionic обходится Apple всего в 72 доллара, то есть почти на порядок дешевле. Конечно, десктопные ARM-процессоры будут дороже, но даже если они будут стоить 200 долларов, то есть в три раза дороже мобильных, это все еще позволит скинуть сотню-другую долларов стоимости конечного Mac.

Возможность нативного запуска приложений с iOS

И macOS, и iOS имеют одинаковое ядро — Darwin. Поэтому никаких проблем запустить ARM-приложение с iOS на macOS под ARM-процессором не будет, так что с высокой долей вероятности на старте продаж таких Mac будет возможность ставить из App Store фактически любое iOS-приложение.

Конечно, проблемы будут, но только из-за иного способа управления: например, мы все привыкли использовать перемотку на тачпадах двумя пальцами, а вот на смартфонах — одним. Но все еще возможность запуска миллионов мобильных приложений должна в первое время сгладить невозможность полноценного использования старого десктопного софта.

Итог

Идея выпустить в продажу сразу топовые Mac на ARM-процессорах выглядит сомнительно: их обычно используют для серьезной работы во множестве программ, и едва ли пользователи будут счастливы, увидев, что нужное им профессиональное ПО или не работает на новом Mac, или работает медленнее, чем на старом. Куда логичнее выглядит выпуск на ARM-процессорах сначала простейших MacBook 12″ или Air: к ним требования куда ниже, и в большинстве своем проблемы из-за эмуляции x86-64 едва ли будут заметны: какая разница, сколько будет запускаться тот же Spotify, треть или полсекунды? Ну а уж Cinema 4D и прочие AutoCAD на таких устройствах в жизни никто запускать не станет, то есть проблем с софтом практически не будет. А с учетом того, что переход на ARM вполне может снизить стоимость Mac — велик шанс, что такие устройства пользователям понравятся.

Читайте также:  Замена алюминиевой проводки на медную в квартире

Что касается топовых Mac, чьи возможные результаты тестов утекли в интернет — скорее всего их выпустят только после того, как «обкатают» систему на MacBook Air и решат большую часть описанных в статье проблем. Но, кто знает — может, Apple их уже решила, и уже скоро нас ждут крутые мощные Mac на ARM? Будущее покажет.

Что такое ARM

Название 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.

С 1998 года Advanced Risc Machine стала называться ARM Limited. На текущий момент компания не занимается производством и продажей собственных процессоров. Основным и единственным направлением деятельности ARM Limited является разработка технологий и продажа лицензий различным компаниям на использование архитектуры ARM. Некоторые производители покупают лицензию на готовые ядра, другие – так называемую «архитектурную лицензию» на производство процессоров с собственными ядрами. Среди таких компаний значатся Apple, Samsung, Qualcomm, nVidia, HiSilicon и другие. По некоторым данным, ARM Limited зарабатывает на каждом таком процессоре $0,067. Эта цифра усредненная и к тому же устаревшая. С каждым годом ядер в чипсетах становится все больше, и новые многоядерные процессоры превосходят по себестоимости устаревшие образцы.

Технические особенности чипов 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-процессоры используют меньше транзисторов и, таким образом, потребляют меньше энергии.

Основным приоритетом 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).

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

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

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

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

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

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

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

Портфолио компании 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 готова поддерживать процессоры на этой архитектуре.

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

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

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

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

Чем архитектура ARM отличается от x86

В наше время существует две самые популярные архитектуры процессоров. Это x86, которая была разработана еще 80х годах и используется в персональных компьютерах и ARM – более современная, которая позволяет сделать процессоры меньше и экономнее. Она используется в большинстве мобильных устройств или планшетов.

Читайте также:  Как штробить стены под проводку перфоратором?

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

Что такое архитектура?

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

На данный момент существуют два типа архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing). Первая предполагает, что в процессоре будут реализованы инструкции на все случаи жизни, вторая, RISC – ставит перед разработчиками задачу создания процессора с набором минимально необходимых для работы команд. Инструкции RISC имеют меньший размер и более просты.

Архитектура x86

Архитектура процессора x86 была разработана в 1978 году и впервые появилась в процессорах компании Intel и относится к типу CISC. Ее название взято от модели первого процессора с этой архитектурой – Intel 8086. Со временем, за неимением лучшей альтернативы эту архитектуру начали поддерживать и другие производители процессоров, например, AMD. Сейчас она является стандартом для настольных компьютеров, ноутбуков, нетбуков, серверов и других подобных устройств. Но также иногда процессоры x86 применяются в планшетах, это довольно привычная практика.

Первый процессор Intel 8086 имел разрядность 16 бит, далее в 2000 годах вышел процессор 32 битной архитектуры, и еще позже появилась архитектура 64 бит. Мы подробно рассматривали разрядность процессоров в отдельной статье. За это время архитектура очень сильно развилась были добавлены новые наборы инструкций и расширения, которые позволяют очень сильно увеличить производительность работы процессора.

В x86 есть несколько существенных недостатков. Во-первых – это сложность команд, их запутанность, которая возникла из-за длинной истории развития. Во-вторых, такие процессоры потребляют слишком много энергии и из-за этого выделяют много теплоты. Инженеры x86 изначально пошли по пути получения максимальной производительности, а скорость требует ресурсов. Перед тем, как рассмотреть отличия arm x86, поговорим об архитектуре ARM.

Архитектура ARM

Эта архитектура была представлена чуть позже за x86 – в 1985 году. Она была разработана известной в Британии компанией Acorn, тогда эта архитектура называлась Arcon Risk Machine и принадлежала к типу RISC, но затем была выпущена ее улучшенная версия Advanted RISC Machine, которая сейчас и известна как ARM.

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

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

Отличия ARM и x86

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

Производство

Производство x86 vs arm отличается. Процессоры x86 производят только две компании Intel и AMD. Изначально эта была одна компания, но это совсем другая история. Право на выпуск таких процессоров есть только у этих компаний, а это значит, что и направлением развития инфраструктуры будут управлять только они.

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

Количество инструкций

Это главные различия архитектуры arm и x86. Процессоры x86 развивались стремительно, как более мощные и производительные. Разработчики добавили большое количество инструкций процессора, причем здесь есть не просто базовый набор, а достаточно много команд, без которых можно было бы обойтись. Изначально это делалось чтобы уменьшить объем памяти занимаемый программами на диске. Также было разработано много вариантов защит и виртуализаций, оптимизаций и многое другое. Все это требует дополнительных транзисторов и энергии.

ARM более прост. Здесь намного меньше инструкций процессора, только те, которые нужны операционной системе и реально используются. Если сравнивать x86, то там используется только 30% от всех возможных инструкций. Их проще выучить, если вы решили писать программы вручную, а также для их реализации нужно меньше транзисторов.

Потребление энергии

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

Процессоры x86 потребляют намного больше энергии, чем ARM. Но на потребление энергии также влияет размер самого транзистора. Например, процессор Intel i7 потребляет 47 Ватт, а любой процессор ARM для смартфонов – не более 3 Ватт. Раньше выпускались платы с размером одного элемента 80 нм, затем Intel добилась уменьшения до 22 нм, а в этом году ученые получили возможность создать плату с размером элемента 1 нанометр. Это очень сильно уменьшит энергопотребление без потерь производительности.

За последние годы потребление энергии процессорами x86 очень сильно уменьшилось, например, новые процессоры Intel Haswell могут работать дольше от батареи. Сейчас разница arm vs x86 постепенно стирается.

Тепловыделение

Количество транзисторов влияет еще на один параметр – это выделение тепла. Современные устройства не могут преобразовывать всю энергию в эффективное действие, часть ее рассеивается в виде тепла. КПД плат одинаковый, а значит чем меньше транзисторов и чем меньше их размер – тем меньше тепла будет выделять процессор. Тут уже не возникает вопрос ARM или x86 будет выделять меньше теплоты.

Производительность процессоров

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

Выводы

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

А как вы относитесь к этим x86 и ARM? За какой технологией будущее по вашему мнению? Напишите в комментариях! Кстати, Линус Торвальдс предпочитает x86.

На завершение видео о развитии арихтектуры ARM:

Eclipse+AVR+ARM: первые шаги. Часть седьмая

Шаг 11: Отладка приложений STM32 при помощи STM32VLdiscovery

Завершить цикл статей, посвященных особенностям применения среды Eclipse для разработки и отладки программ для микроконтроллеров AVR и ARM, я решил рассказом о том, как при помощи недорогой платы STM32Vldiscovery осуществлять отладку проектов для ARM, точнее, для микроконтроллеров STM32 семейства ARM.

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

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

Кроме это будем считать, что предыдущие статьи про Eclipse вы прочли, скачали и установили необходимые плагины для поддержки компилятора ARM Yagarto. Опять же, если кто не смог это сделать, необходимые плагины я так же прилагаю к статье.

Надеюсь, всем уже понятно, что для отладки при помощи STM32VLdiscovery нам обязательно потребуется соответствующий GDB-сервер. И снова я предлагаю скачивать все готовенькое из приложений к статье. Надо признаться, поиск этого сервера был не прост – ARM это вам не AVR: практически все сильно коммерциализировано и бесплатно полезные и удобные утилиты никто не раздает. Но, кто ищет, тот всегда найдет, нашел и я, и теперь – вы. Распаковываете архив ST-LINK_gdbserver.rar в удобную для вас папку и, как и для AVR, настраиваете запуск этого сервера из Eclipse.

Пожалуйста, будьте внимательны, введите корректные пути к серверу и рабочей папке, а так же задайте в две строки два параметра командной строки. Файл config.txt уже содержит необходимые команды, не редактируйте его!

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

Теперь приступаем к настройке отладчика Eclipse.

Создаем конфигурацию типа GDB Hardware Debugging двойным щелчком мышки на соответствующей строке. Если такой строки у вас в окне нет, значит, вы не установили все необходимые плугины – скачиваете прилагаемые архивы и устанавливаете, как рассказывалось в первой статье.

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


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

Собственно говоря, это все предварительные настроки. Теперь подключаем плату STM32VLdiscovery в USB-порт и запускаем ST-LINK_gdbserver. Внимательно следите за выводимой в консоль информацией – если драйвер платы не установлен, или есть какие-то иные проблемы с платой, сервер не запустится, о чем будет сообщено в консоли. Если последние 3 строки в консоле содержат следующий текст:

Connected to the ST-Link Debugger.
Start Logging
Waiting for client to connect on port 61234 .

то начит сервер запущен успешно. Теперь запускаем отладчик.

Обратите внимание, что сервер постоянно выводит что-то в консоль – если более 30 секунд в консоль не добавилась хотя бы одна строка – что-то пошло не так. Кстати, красненький светодиод СОМ на плате после старта отладки должен мигать часто-часто.

Стоит ли говорить, что микроконтроллер на плате при этом прошивается вашей прошивкой? То есть скомпилировав проект в Release-конфигурации и соответствующим образом настроив отладчик, вы сможете просто запрограммирвоать через интерфейс SWD свой микроконтроллер.

Читайте также:  Кабель для внутренней проводки в квартире

В остальном процесс отладки ничем не отличается от уже рассмотренного для AVR.

На этом цикл статей завершен. Надеюсь, он был полезным, и вы станете поклонником Eclipse, как стал им я.

Большая революция микросерверов: ARM 64-bit в борьбе за каждый ватт

Компания AMD выпускает первые 64-разрядные системы на кристалле серверного класса. Для сторонников продвижения архитектуры ARM это знаковое и долгожданное событие. С ним связаны давно назревшие изменения в центрах обработки данных и передел всех имеющих к ним отношение рынков. Прежние гиганты легко могут остаться если не за бортом, то в глубоком минусе. Как же маленькому чипу удалось вызвать такую масштабную революцию?

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

Другая тенденция, быстро сформировавшаяся под влиянием SoC — проникновение серверных технологий и средств автоматизации в наш быт. Маршрутизаторы, NAS и целые «умные» дома немыслимы сегодня без систем на кристалле.

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

Сравнение AMD Opteron A1100 и X2150 (изображение: amd.com).

В серверном сегменте SoC ARM пытались использовать давно, но всерьёз об этом заговорили лишь пару лет назад. Соответствующие разработки появились не только у крупных вендоров (например, HP с её проектом Moonshot и Dell с сервером Copper С500), но и у софтверных компаний. Высочайший интерес к адаптации архитектуры ARM в своей ИТ-инфраструктуре проявили Google и Facebook.

«Компьютерра» уже писала ранее, что Google работает над выпуском чипов архитектуры ARM для оптимизации своих затрат, а вице-президент Facebook по дизайну оборудования Фрэнк Фрэнковски (Frank Frankovsky) продвигает идею компонентного понимания работы дата-центров и создания серверов под строго определённые задачи.

Несмотря на ряд успехов в продвижении ARM, многие до сих пор считают серверы на базе SoC лишь смелым экспериментом. Долгое время их проектировали на основе специфических архитектур (например, IBM Power), и они были умопомрачительно дороги. Потом настал бум доступных серверов на знакомой домашним пользователям архитектуре x86. Всё ещё трудно признать перевод даже части платформ и веб-сервисов на ARM как современную тенденцию.

Главной виной тому — ограничения разрядности этих чипов. Для обработки больших объёмов данных тридцатидвухбитной логики недостаточно. С ней просто невозможно адресовать более 4 ГБ оперативной памяти на ядро и выполнять вычисления с плавающей запятой, требующие повышенной точности.

В представленных AMD процессорах Opteron A1100 размещены первые в отрасли ядра с разрядностью 64 бита — ARM Cortex-A57, выполненные по техпроцессу 28 нм и работающие на частоте выше 2 ГГц. Старшая модель будет содержать 8 ядер, 8 МБ кэш-памяти третьего уровня и поддерживать до 128 ГБ ОЗУ стандартов DDR3 и DDR4 с ECC. В них также будет встроена поддержка двух портов Ethernet 10 Гбит/с и 8 портов SATA 6 Гбит/с.

AMD Opteron A1100 на базе Cortex-A57 (изображение: gsmarena.com).

Процессоры с ядрами ARM Cortex-A57 соответствуют стандартам Open Compute Project и Common slot architecture. Это позволяет использовать их вместе с традиционными процессорами семейства x86 на существующих операционных системах уже сейчас, пока не появилось оптимизированное программное обеспечение.

Как обычно, главным тормозом прогресса остаётся низкая готовность софтверной части. Драйверы пишут уже сейчас, но пока адаптируют SDK и выполнят портирование сотен программ, пройдут месяцы. Благо есть кросс-платформенные решения, которые могут выполняться на любой аппаратной платформе.

Параллельно AMD развивает системы на кристалле с классической архитектурой x86. Интеграция центрального и графического процессоров в одном чипе (APU) получила продолжение в виде HSA (Heterogeneous System Architecture). Первыми решениями с поддержкой HSA в этом году стали APU Kaveri.

Вице-президент и руководитель серверного подразделения AMD Эндрю Фельдман (Andrew Feldman) считает, что наиболее выигрышным направлением использования HSA в серверных приложениях станет обработка видео в реальном времени. Обычные дискретные системы выполняют эту задачу в пакетном режиме и ценой огромных энергозатрат.

Новые процессоры Opteron A1100 и APU с поддержкой HSA станут для компании двумя мощными козырями в борьбе за серверный сегмент. Однако AMD придётся бороться за место под солнцем не только с привычными конкурентами.

Планы AMD по выпуску серверных процессоров для различных задач (изображение: gigaom.com).

Одним из ранних проповедников создания ARM-серверов стала компания Calxeda. Фирма предлагала интересные платформы для облачных вычислений. Например, EnergyCore ECX-2000 на базе ARM Cortex A15 с потреблением энергии всего пять ватт на ядро, работающую под управлением Ubuntu Linux 13.10.

Одно из первых серверных решений на базе ARM — Calxeda EnergyCore ARM Cortex-A9 (фото: calxeda.com).

Генеральный директор Calxeda Барри Эванс (Barry Evans) анонсировал ранее, что в этом году Calxeda представит серверы третьего поколения на процессорах архитектуры ARMv8 с разрядностью 64 бита: «Мы намерены возглавить отрасль и внести в неё новые концепции, которые изменят центры обработки данных за счёт снижения требований к питанию и увеличения плотности. Lago станет первой волной 64-разрядных систем на архитектуре ARM в 2014 году».

Однако анонс оказался сильно преждевременным, а ранняя попытка изменить рынок — неудачной. Сейчас компания ищет, кому бы продать свои активы. Возможно, они заинтересуют компанию Tilera — партнёра Broadcom и одну из наиболее инновационных фирм, по мнению издания MIT Technology Review. Она выпускает собственные SoC для облачных серверов и активного сетевого оборудования. В её планах также указывается выпуск серверных платформ на базе архитектуры ARM x64.

Qalcomm тоже представила SoC ARM x64, но пока официально ориентируется только на мобильный рынок (фото: thewire.com).

Ещё одним сильным конкурентом может стать Qualcomm, которая пока дистанцируется от применения ARM вне мобильных устройств. Директор по маркетингу Ананд Чандрасекер заявил о том, что рассматривает 64-битную архитектуру ARM в серверном сегменте всего лишь как рекламный ход: «Вы нуждаетесь в шестидесяти четырёх битах только для адресации памяти за пределами 4 ГБ. Только и всего. Такая разрядность не требуется для повышения производительности. Я думаю, что это маркетинговый трюк».

Однако позже новый генеральный директор компании Стив Молленкопф (Steve Mollenkopf) прокомментировал это заявление как ошибочное, а компания распространила пресс-релиз, в котором «с гордостью представляет Cortex-A53 — первую 64-разрядную микросхему среднего ценового сегмента».

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

Полетный контроллер APM 2.6,обзор и полная видеоинструкция.

  • Цена: 137.84
  • Перейти в магазин

Всем привет. Очень давно не заходил на mysku.ru и не писал обзоры, от части из за не хватки времени, от части из за ситуации в Украине 🙁
В общем выдался свободный вечер и решил написать обзор, по моему любимому контроллеру APM 2.6, так как набралось большое количество видео материала по настройке и сборке.Но думаю писать я буду по минимум, за то будет очень много видеороликов, не зря же я столько работы проделал :)Нус, начнемс.
Контроллер АРМ на сегодня самый многофункциональный и не дорогой, его используют чаще всего на мультикоптерах (прошивка Arducopter ) и на самолетах (прошивка Ardupilot) а также поддерживает автомобиль и вертолет, в общем вот платформы которые поддерживает контроллер :У АРМ самое большое количество полетных режимов из всех контроллеров что есть на рынке, возможность управлять дроном с помощью смартфона или планшета, при этом открывается огромный функционал: создание полетного задания, управление, переключение режимов, мониторинг и телеметрия с указанием всех данных, и многое другое… Минус этого контроллера в том, что он не летает из «коробки», а требует знаний и серьезной подготовки.Но я в своих видео максимально просто и подробно постарался объяснить от А до Я, надеюсь поможет новичкам, и будет полезен людям кто решил освоить АРМ.
В данной статье и видео будет рассмотрено подключение контроллера к квадрокоптеру, в дальнейшем будет такой же видео курс по Ardupilot то есть по установке на самолет.

В апреле месяце появился на Бангуде полный комплект АРМ 2.6 за соблазнительные 137 доллара, на то время это была наверное самая низкая цена за такой комплект.
Я конечно ожидал подвоха за такую цену, но жабка одобрительно кивнула и ее в последствии не разочаровал, комплект оказался качественным, и все сразу работало.Посылка дошла очень быстро, даже двух недель не прошло.
Комплект поставки в себя включал: контроллер АРМ уже с коробочкой, демпферная площадка под контроллер,GPS модуль с магнитометром в корпусе и со стоечкой, радиотелеметрия 433мГц,Minimosd и Power Module, не плохо за такую сумму 🙂 (видео с распаковкой и комплектацией выше в начале статьи) Единственное чего нет в комплекте, и будет нужно для прошивки ОСД это FTDI программатор, его можно купить там же на Бангуде, ТЫЦ

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

Так же можно сразу залить правильный конфиг в модуль GPS, хоть в данном наборе ГПС работал нормально, я все равно перестраховался.Инструкция по настройке GPS:

Приступаем к сборке, подключению и прошивке самого контроллера.Подробно в этом видео:

После подключения и прошивки, необходимо настроить Пиды квадрокоптера.
Простая настройка PID значения Pitch and Roll с помощью крутилки на аппаратуре:


После настройки пидов, пришло время подключить радиотелеметрию.Подробно о использовании телеметрии с смартфоном или планшетом, а так же о полетных режимах и настройки Фалсейва:

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

Пред подключением ОСД и использования квадрокоптера для FPV полетов, стоит задуматься о правильном питании контроллера.Так как все отказы АРМ происходят именно из за плохого питания.Подробно о правильной запитке контроллера:

Ну или если нет возможности организовать питание как у меня, купить любой ВЕК на 5волт, хотя он на 100% надежен не будет.А запитывать от любого Power Module который позиционируется как для АРМ, я вообще не рекомендую, только использовать как датчик тока.

Настало время подключить MinimOSD.Подробно о прошивке, настройке и подключению: