Difference between arm64, armel, and armhf

Нововведения ARMv8

Обновленную архитектуру процессоров семейства ARMv8 окрестили именем AArch64. Она получила 64-битный набор инструкций и возможность работать с большим объемом оперативной памяти (4 Гбайт и больше). Само собой, предусмотрена совместимость с 32-битными приложениями (AArch32). Другими важными нововведениями ARMv8 стали:

— 31 регистр общего назначения, каждый длиной 64 бита, тогда как SP и PC не являются регистрами общего назначения. Чем выше разрядность регистров, тем больше числа можно в них хранить. А чем больше количество регистров, тем больше данних в них помещается одновременно. Как результат, за одну инструкцию можно обработать больший объем данних и весь алгоритм выполнится быстрее; — трансляция виртуальных адресов из 48-битного формата работает с помощью механизмов LPAE, позаимствованных у ARMv7; — новый набор инструкций с фиксированной длинной. Инструкции имеют размер 32 бита и многие совпадают с командами AArch32, хотя условных инструкций стало меньше; — увеличено с 16 до 32 количество 128-битных регистров (совместимы с 64-битными регистрами), доступных сопроцессорам SIMD NEON и VFP, а также добавлены новые криптографические инструкции AES и SHA. Набор инструкций SIMD NEON ускоряет работу приложений, отвечающих за обработку медиаданных и сигналов. В свою очередь VFP отвечает за малоэнергозатратные вычисления над числами с плавающей запятой; — поддержка вычислений над числами с плавающей запятой двойной точности и стандарта IEEE 754, который является общепринятым форматом представления чисел с плавающей запятой, используемый в программных реализациях арифметических действий.

Name of the port

The table below recaps which port names Debian/dpkg saw so far.

name

endianess

status

arm

little-endian

Original Debian arm port using original ABI (‘OABI’), last release in Debian lenny; being retired in favor of armel

armel

little-endian

introduced in Debian lenny; EABI, actively maintained; targets armv4t; doesn’t require an FPU

armeb

big-endian

unofficial OABI port; inactive and dead

The name of the new Arm port using the hard-float ABI is ‘armhf’ (for ‘hard-float’).

See Port naming debate notes below for info on why and how this name was chosen.

In practice armel will be used for older CPUs (armv4t, armv5, armv6), and armhf for newer CPUs (armv7+VFP).

Other (‘flavoured’) builds of the base ports for different CPU optimisations and hardware capabilities are possible. The question of which (if any) other flavours will be maintained is currently under discussion, and is likely to be decided at the Debian Arm/Embedded Sprint in Feb 2011. e.g armel flavours for v6 and v7 CPUs without VFP, or an armhf flavour for VFP+NEON.

Packages with issues

libvp8-3.14 is too old for arm64 support. It exists in 3.25, but mangodb and nodejs have not moved forward to this version. So there seems to be no sensible way to get vp8/nodejs for arm64 in jessie.

fftw3 failed to build neon code (ICE) https://bugs.launchpad.net/linaro-aarch64/+bug/1267113 Simply not enabling neon for arm64 allows a build

emacs23 FTBFS (hangs compiling lisp libraries): #752031

(This made ’emacs’ uninstallable, which caused quite a few builds to fail, until the switch to emacs24 in July 2014)

xutils-dev only builds correctly with cpp-4.7 which doesn’t exist for arm64: #748010

mksh segfaults in the tests (does not honour ‘nocheck’)

flex fais to buld docs due to pdftex error. Something really wrong?:

!pdfTeX error: pdfetex (file cm-super-t1.enc): cannot open encoding file for re

ading

==> Fatal error occurred, no output PDF file produced!

/usr/bin/texi2dvi: pdfetex exited with bad status, quitting. Makefile:434: recipe for target ‘flex.pdf’ failed

2 ответа

14

Кажется, что ARM64 был создан Apple и AARCH64 другими, в первую очередь парнями GNU/GCC.

После некоторого googling я нашел эту ссылку:

Итак, это имеет смысл, iPad называет себя ARM64, поскольку Apple использует LLVM, а Edge использует AARCH64, поскольку Android использует GNU GCC toolchain.

06 авг. 2015, в 10:19
Поделиться

4

AArch64 — это 64-битное состояние, введенное в архитектуре Armv8-A (). 32-разрядное состояние, которое обратно совместимо с Armv7-A и предыдущими 32-разрядными архитектурами, называется AArch32.
Поэтому триплет GNU для 64-битной ISA — это aarch64.
Сообщество ядра Linux решило называть свой порт ядра этой архитектурой arm64, а не aarch64, так что из-за использования какого-либо из средств arm64.

Насколько я знаю, бэкэнд Apple для aarch64 был назван arm64, тогда как бэкэнд, созданный сообществом LLVM, был назван aarch64 (так как это каноническое имя для 64-битной ISA), а затем два были объединены, а бэкенд теперь называется aarch64.

Итак, aarch64 и arm64 относятся к тому же.

13 нояб. 2017, в 23:27
Поделиться

Ещё вопросы

  • 2Для чтения / записи из таблицы Excel с использованием C #
  • 2в asp.net-mvc, как лучше всего использовать Base ViewModel для отображения динамического содержимого на странице Site.Master
  • Нормально ли использовать $ broadcast в angularjs?
  • 2Как хранить пароли в автономном режиме
  • Как найти название курса с выбранным минимумом студентов
  • 1Как преобразовать массив байтов в шестнадцатеричную строку?
  • 1Не удалось создать новый проект мобильного модуля Titanium в Titanium 1.8.0.1
  • 1Как я могу создать пользовательский элемент управления, имеющий свой собственный CSS и JavaScript
  • Используя offset (). Top с Magento?
  • CSS оверлей на изображениях
  • MYSQL JOIN запрос для группирования пользовательских навыков для условного подсчета
  • Как мне стилизовать все элементы с помощью Javascript? Нет Jquery (2 примера в описании)
  • 2Динамические DataTable для сущностей * без * жесткого кодирования заранее …?
  • Angular 2: HTTP Post Request с параметрами URL и типом тела
  • есть ли afterEach для модулей в угловых модульных тестах?
  • 2Почему свойство NotifyCollectionChangedEventArgs.NewItems является списком?
  • 1Допустимо ли вызывать Array.map для итерируемого объекта, который не является массивом?
  • Как я могу остановить службу angularjs после того, как она сгенерировала данные?
  • 1Как получить номер слайда с помощью Java через API Apache POI
  • Обновление службы CRUD не работает с исключением, не являющимся конструктором
  • получить ошибку при вставке в столбец json, в то время как документ содержит значение json_string в mysql 5.7
  • получить идентификатор с пути в угловом контроллере
  • MySQL Группировка и сортировка по таблице ассоциаций
  • 1Как мне перечислить содержимое файла gzip, не распаковывая его в python?
  • 1добавление массива String в ArrayList
  • 1Сессия не начинается (Symfony 2.7.1, Apache 2.2)
  • Google Cloud SQL не позволяет мне загружать вывод консоли. Разрешение на вывод не разрешено, а mysql -u root не работает
  • Как изменить значение столбца в XSLT?
  • получить значение из div или любого контейнера в angularjs
  • 1маркер карты Google из базы данных с использованием php sql
  • 1Это правильный способ загрузки PDF в Android?
  • Угловая ошибка 2 маршрутизации
  • Если пункт не работает правильно
  • std :: unordered_map с общим указателем для автоматического уничтожения записей
  • 1Разные проблемы с HttpsURLConnection с разными версиями Android
  • php изменить форму isuue ошибка
  • Как получить минимальное значение всех положительных значений в таблице?
  • 1Как избежать дублирования бизнес-логики при пакетной обработке?
  • Чтение ввода и проверка, заканчивается ли оно двумя символами новой строки
  • 2используя настройки app.config в xaml wpf
  • 1Отказано в доступе при удалении файла в PHP
  • Jquery слайдер должен быть отзывчивым
  • Как мы можем прочитать следующее утверждение?
  • jQuery эффект мега меню слайд
  • В JQuery Validation используются разные div для разных элементов ввода для ошибок и несколько классов ошибок
  • Ionic AngularJS разбивает события по дате
  • Рекомендуется обновить строку, если она существует, в противном случае вставьте
  • 1Getiterator xml.etree Python, эквивалентный C #
  • Как вставить данные, используя один выбор в другой таблице базы данных
  • 1Комплексный тип WebService возвращает пустое после развертывания

tarball rootfs

Debian

Tarball rootfs userspace filesystems. There is no ‘including’ directory, so be careful unpacking: they are designed to be unpacked onto a real machine or inside a chroot dir. The filesystems include the qemu static binary for use with qemu 2.0 so that will ‘just work’ if binfmt misc is set up (see below). The only config beyond base debootstrap is to include a getty on ttyAMA0 so that a serial port on existing arm64 boards will work, and configure the password ‘root’ for user root so you can log in on it (change that once in!). Your particular hardware/setup may also need /etc/fstab or networking config.

unstable minimal debootstrap (64 MB) (now quite out of date — debootstrap your own)

unstable buildd debootstrap (117 MB) (now quite out of date — debootstrap your own) Includes build-essential (binutils, make, gcc), sudo, wget, nano editor, openssh-server so you can ssh in if networking is working.

Ubuntu

Ubuntu saucy multiarch tarball suitable for use as a chroot on arm64 hardware. Identical in content to the foundation model disk image below. Adding qemu-static would make it useful under qemu. Configured for armhf/arm64 multiarch use.

Установка Linux на ARM-устройство

Как правило, приобретая какое-либо устройство на ARM-процессоре, вы его получаете уже с предустановленной ОС. Чаще всего на таких устройствах идет Android. Допустим, вы все равно хотите установить Linux на это ARM-устройство. Тогда у вас есть 2 пути:

  1. Полноценная «перепрошивка» на «чистое железо»;
  2. Установка «внутри» или «рядом» с Android (или другой системы, суть от этого не меняется).

При полной «перепрошивке» вы потеряете весь предустановленный производителем функционал. Вряд ли это будет то, чего вы добиваетесь. Поэтому тут можно воспользоваться вторым способом и установить Linux, не удаляя основную операционную систему вашего устройства. Для этого нужно будет настроить запуск chroot-окружения внутри Андроид. Но зато на выходе вы получите 2 параллельно установленные операционные системы и сможете использовать то одну, то другую. С таким подходом можно поэкспериментировать на смартфонах или планшетах, где есть экран. А на простых безэкранных устройствах с таким способом могут возникнуть трудности.

Процесс запуска ОС на ARM-машинах

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

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

ОС, поддерживающие ARM

Архитектура ARM поддерживается множеством операционных систем. Наиболее широко используемые: Linux (в том числе Android), iOS, Windows Phone.

Работать на системах с ARM-процессором могут различные Unix и Unix-подобные ОС: Linux (многие дистрибутивы), iOS, Android, BSD (FreeBSD, NetBSD, OpenBSD), QNX, Plan 9, Inferno, OpenSolaris (2008—2009), Firefox OS.

Также на платформе запускаются отдельные варианты семейства Windows: Windows CE, Windows Phone, Windows RT, Windows 10 (только на Raspberry Pi)

Кроме того, ARM поддерживают: FreeRTOS, Nucleus, Symbian OS, RISC OS, RISC iX.

Придут ли процессоры ARM на смену x86?

Точного ответа на этот вопрос пока не знает никто. Но уже сейчас очевидно, что в ближайшие годы основная борьба x86 в лице Intel и ARM в лице Apple развернется на рынке компактных ноутбуков. Они, в отличие от неттопов (Mac Mini) и моноблоков (iMac), значительно более востребованы. Также очевидно и то, что пользователи от такого противостояния только выиграют.

Конечно, техника (особенно у Apple) от этого не подешевеет, но зато мы прямо сейчас получили ультрапортативные лэптопы без активного охлаждения с долгожданным ощутимым приростом мощности и времени работы от батареи. Здорово и то, что разработчики Intel наконец-то взбодрятся. Из-за отсутствия конкуренции они слишком долго почивали на лаврах: самое время доставать из рукавов все припрятанные козыри. Собственно, именно так технологии и развиваются. Новый виток эволюции процессоров происходит прямо у нас на глазах, и ситуация выглядит так, что все вполне может обернуться революцией, которая полностью изменит как рынок процессоров, так и рынок компьютеров.

Архитектура процессоров: CISC, RISC, и в чем разница

Ключевое отличие между x86 и ARM кроется в разной архитектуре набора инструкций. По-английски — ISA, Instruction Set Architecture. В основе x86 изначально лежала технология CISC. Это расшифровывается как Complex Instruction Set Command — вычислительная машина со сложным набором инструкций. «Сложность» здесь в том, что в одну инструкцию для процессора может быть заложено сразу несколько действий.

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

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

Но вот архитектура самого процессора страдала. По мере развития микроэлектроники в чипах с CISC копились команды, которые использовались редко, но все еще были нужны для совместимости со старыми программами. При этом под них резервировалось пространство на кристалле (место, где расположены физические блоки процессора). Это привело к появлению альтернативной технологии RISC, что расшифровывается как Reduced Instruction Set Command — вычислительная машина с сокращенным набором инструкций. Именно она легла в основу процессоров ARM и дала им название: Advanced RISC Machines.

Здесь ставку сделали на простые и наиболее востребованные команды. Да, код поначалу писать было сложнее, поскольку он занимал больше места, но с появлением компиляторов это перестало быть значимым недостатком. Результат — экономия места на кристалле и, как следствие, сокращение нагрева и потребления энергии. Плюс множество других преимуществ.

Эти устройства будут поставляться с Windows 10 S

Не имеет значения, на каком типе процессора работает Windows. Вы получаете все возможности рабочего стола Windows с Windows 10 Домашняя или Windows 10 Профессиональная, даже если вы используете Windows 10 на ARM.

Однако эти Windows 10 на устройствах ARM будут поставляться с Windows 10 S, как и Surface Laptop от Microsoft. Windows 10 S — это более ограниченная версия Windows 10, которая может запускать только программное обеспечение из Магазина Windows. Однако вы можете заплатить за обновление до Windows 10 Pro и получить возможность устанавливать настольные приложения, как и в случае с Windows 10 S на ПК Intel и AMD. До сентября 2018 года обновление с Windows 10 S до Windows 10 Pro будет бесплатным.

Другими словами, в Windows 10 ARM — это просто ещё одна аппаратная платформа, которая работает так же — для этого просто нужен уровень эмуляции. Windows 10 S — это ограниченная версия Windows, которая может работать на любой аппаратной платформе.

Обзор архитектуры RISC-V

RISC-V (произносится как «риск-файв») – это открытая ISA, которая находится в свободном доступе для академических кругов и промышленности. Она улучшает исходную архитектуру с сокращенным набором команд (RISC). RISC-V – пятое издание проектов RISC ISA от Калифорнийского университета в Беркли. Римская цифра «V» означает «вариации» и «векторы» для поддержки ряда исследований архитектуры компьютера.

Особенности архитектуры RISC-V

RISC-V – это архитектура загрузки-хранилища, означающая три вещи: (i) его арифметические инструкции работают только с регистрами, (ii) только инструкции загрузки и сохранения передают данные в и из памяти, и (iii) данные должны быть сначала загружены в регистр, прежде чем с ним можно будет работать.

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

Существуют дополнительные расширения ISA, которые могут быть добавлены к базовой ISA в зависимости от реализации. Это позволяет RISC-V также поддерживать обширную настройку и специализацию.

Это самый маленькая ISA для 32-битных и 64-битных систем, в которой для системы памяти используется порядок байтов с прямым порядком (Little-endian). Порядок байтов с обратным порядком означает, что младший байт многобайтовых данных хранится по младшему адресу памяти. LSB сохраняется первым.

RISC-V использует технику RVC (сжатие кода RISC-V) для увеличения размера программного кода, а также уменьшает количество циклов ЦП на инструкцию за счет увеличения количества инструкций на программу. Она жертвует плотностью кода, чтобы упростить схему реализации.

RISC приводит к большим размерам кода, которые не являются оптимальными, особенно для встраиваемых систем, поскольку они имеют ограниченный объем памяти для команд. Чтобы уменьшить размер кода, RISC-V использует расширение RVC. RVC заменяет обычные 32-битные инструкции более короткими 16-битными кодировками команд. Также нет слота задержки перехода.

Однокристальная система

С технической точки зрения называть чипы архитектуры ARM процессорами не совсем верно, ведь помимо одного или нескольких вычислительных ядер они включают целый ряд сопутствующих компонентов. Более уместными в данном случае являются термины однокристальная система и система-на-чипе (от англ. system on a chip).

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

Схема строения однокристальной системы с четырьмя ядрами ARM Cortex-A9

Отдельные компоненты однокристальной системы могут быть разработаны как непосредственно ARM Limited, так и сторонними компаниями. Ярким тому примером являются графические ускорители, разработкой которых помимо ARM Limited (графика Mali) занимаются Qualcomm (графика Adreno) и NVIDIA (графика GeForce ULP).

Не стоит забывать и про компанию Imagination Technologies, которая ничем другим, кроме проектирования графических ускорителей PowerVR, вообще не занимается. А ведь именно ей принадлежит чуть ли не половина глобального рынка мобильной графики: гаджеты Apple и Amazon, планшетники Samsung Galaxy Tab 2, а также недорогие смартфоны на базе процессоров MTK.

In a nutshell

EABI is the new «Embedded» ABI by ARM ltd. EABI is actually a family of ABIs and one of the «subABIs» is GNU EABI, for Linux. The effective changes for users are:

  • Floating point performance, with or without an FPU is very much faster, and mixing soft and hardfloat code is possible

  • Structure packing is not as painful as it used to be
  • More compatibility with various tools (in future — currently linux-elf is well supported)
  • A more efficient syscall convention

  • At present (with gcc-4.1.1) it works with armv4t, armv5t processors and above, but supporting armv4 (e.g., ?StrongArm) requires toolchain modifications. See «Thumb interworking» below.

See ArmEabiFixes for common causes of package porting failures and ArmEabiMaverickCrunch for Cirrus EP93xx FPU support.

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

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

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

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

Камень преткновения — программное обеспечение

Вопрос роста популярности ARM — прежде всего вопрос наличия необходимого программного обеспечения. Его отсутствие было одним из сдерживающих факторов. Старые приложения, предназначенные для x86, необходимо перекомпилировать для работы на ARM.

В некоторых случаях это просто, в других не очень, проблемы могут заключаться, например, в том, что изначально серверный софт оптимизировался под x86. И для эффективной работы на процессорах ARM его необходимо изменить соответствующим образом. Программное обеспечение для ARM (в основном с открытым кодом) по уровню оптимизации «под процессор» пока проигрывает уровню оптимизации под x86.

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

Еще одно новшество — появление настольных устройств на ARM. Теперь разработчик может купить себе ноутбук на базе этой архитектуры и программировать ПО для серверов. Самые известные ноутбуки на ARM принадлежат Apple, но есть и Windows-устройства от ряда известных вендоров.

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

Using dose to see what is multiarch-buildable

Dose 3.1 can analyse build-dependencies for a given package, and understands about cross and multi-arch. It can tell you what is currently buildable given the current state of relevant source and package files. Use 3.1.2 for the —checkonly option and the —defaultedMAforeign option

Install it (it’s in the bootstrap tools repo)

sudo apt-get install dose-builddebcheck
  • -f shows packages you can’t build
  • -s shows packages you can build
  • -e prints an explanation of what the problem is
  • —checkonly checks just one package rather than everything
  • —defaultedMAforeign uses the Ubuntu apt algorithm (not in wheezy) of assuming all arch:all Build-Deps can be considered Multi-Arch:Foreign

To check

dose-builddebcheck -f --checkonly <package> \
--defaultedMAforeign --deb-native-arch=amd64 --deb-foreign-archs=arm64 --deb-host-arch=arm64 \
/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_quantal_main_binary-amd64_Packages \
/var/lib/apt/lists/people.debian.org_%7ewookey_bootstrap_ubunturepo_dists_quantal-bootstrap_main_binary-amd64_Packages \
/var/lib/apt/lists/people.debian.org_%7ewookey_bootstrap_ubunturepo_dists_quantal-bootstrap_main_binary-arm64_Packages \
/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_quantal_universe_source_Sources | grep source

Qualcomm Snapdragon 410, 610, 615, 808 и 810

Вслед за Apple свои 64-битные ARM-процессоры поспешила анонсировать компания Qualcomm, причем сразу пять моделей. Правда, пока ни одна из них в коммерческих смартфонах или планшетах не применяется. Скорее всего, расцвет эпохи 64-битных Android-устройств состоится в начале 2015 года на выставках CES и MWC.

Однокристальная система Snapdragon 410 (MSM8916) – младшая из анонсированной 64-битной линейки Qualcomm. Она включает в себя четыре ядра Cortex-A53 с частотой от 1,2 ГГц, графический ускоритель Adreno 306 и, что интереснее всего, навигационный модуль с поддержкой спутниковых сетей GPS, ГЛОНАСС и даже китайской Beidou. Применять Snapdragon 410 планируют в недорогих смартфонах на базе Android, Windows Phone и Firefox OS.

Те же четыре ядра Cortex-A53, что у 410-того, содержит чип Snapdragon 610 (MSM8936), вот только графика у него улучшенная Adreno 405. Тогда как Snapdragon 615 (MSM8939) схож с 610-тым графикой, но процессорных ядер Cortex-A53 у него вдвое больше – восемь Cortex-A53.

В отличие от 410, 610, 615 моделей, выполненных по 28-нм техпроцессу, чипы Snapdragon 808 (MSM8992) и 810 (MSM8994) будут производиться по передовым 20-нм технологическим нормам. Они оба строятся по схеме big.LITTLE: два (модель 808) или четыре (810) мощных ядра Cortex-A57 и четыре энергоэффективных Cortex-A53. Графика представлена Adreno 418 и Adreno 430 соответственно. Кроме того, старший Snapdragon 810 имеет встроенный контроллер оперативной памяти стандарта LPDDR4.

Но главный вопрос: когда именно компания Qualcomm представит собственную процессорную архитектуру на основе ARMv8, как это было со Scorpion и Krait (модифицированные ARMv7)?

The Three Debian ARM ports: Debian/armel, Debian/armhf, and Debian/arm64

Debian/armhf is an acronym for “arm hard float,” representing a port on Debian.  The Debian armhf port was started to benefit the floating-point unit (FPU) on modern 32 bit ARM boards.

For critical accuracy requirements in computing and digital signal processing (DSP) based applications, floating-point is specifically suited. An ARMv7 CPU  with version 3 of the ARM vector floating-point specification (VFPv3) is the minimum requirement for Debian armhf port.

It is primarily used for mobile devices (smartphones, tablets) and embedded devices.

Various platforms are known to supported by Debian/armhf:

  1. Freescale MX53 Quick Start Board: The i.MX53 Quick Start Board has a 1 GHz Arm Cortex-A8 Processor. It is an open-source platform for development.
  2. NVIDIA Jetson TK1: It is a developer board with a 32-bit ARM Cortex-A15 CPU.
  3. SolidRun Cubox-i4Pro: The Cubox-i series is a tiny compute platform. Cubox-i4Pro features an ARM Cortex A9 processor.

Other supported platforms include Wandboard, Seagate Personal Cloud and Seagate NAS, SolidRun Cubox-i2eX tec. The EfikaMX platform was earlier supported till Debian 7, but from Debian 8, the support is abandoned.

Debian/armel or ARM EABI or Embedded ABI port on Debian was aimed at older 32 bit ARM processors. It does not have a hardware floating-point unit (FPU) support. ARM EABI or armel is supposed to work with ARM architecture versions 4T, 5T, and above, but with Debian 10 (buster) release, the ARM4T support is removed.

According to Oracle, the armel to armhf is in progress, so there may be some incompatibilities between them. To check whether your system is running armhf or armel, run the below command on your Linux terminal:

$ readelf -A procselfexe | grep Tag_ABI_VFP_args

If the above command returns a Tag_ABI_VFP_args tag, then it is an armhf system, whereas a blank output shows that it is an armel system. For e.g., a raspberry distribution will return a Tag_ABI_VFP_args: VFP registers tag as it is an armhf distribution. On the other hand, a  soft-float Debian Wheezy distribution will give a blank output, indicating it is an armel distro.

The following list contains the various platforms supported by Debian/armel:

  1. Kirkwood and Orion5x SoC from Marvell with an ARM CPU.
  2. Versatile platform with QEMU emulator.

Debian/arm64 targets  64-bit ARM processors, which requires minimum ARMv8 architecture. The 64-bit processing provides an enhanced computing capability. This processing enhancement is achieved with an increase in memory addressing capacity in 64-bit architecture.  Arm64 hardware was first launched for iPhone 5 in the year 2013. The gnu name for ARM64 is aarch64-linux-gnu. The good thing with ARM64 is that it is compatible with its 32-bit predecessor. This helps in running the ARMv7 binaries or software without any modification on ARMv8 architecture.

Debian released ARM64 port for the first time in it’s Debian 8 (Jessie) operating system. The list of various platforms supported by Debian/ARM is given below:

  1. Applied Micro (APM) Mustang/X-Gene: It is the first known platform with ARMv8 architecture with an 8-core CPU.
  2. ARM Juno Development Platform: According to ARM, Juno Arm Development Platformis an open and vendor-neutral Armv8 development with a 6-core  ARMv8-A CPU.

Example of devices using ARM64 architecture includes Raspberry Pi 2,  Raspberry Pi 3, Microsoft HoloLens 2, DragonBoard, several IoT devices, modern laptops and desktops, smartphones, etc

Аппаратная платформа становится все шире

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

Процессор Graviton2 с ядрами Neoverse готов побороться с чипами Intel за место в дата-центрах. Для начала — в дата-центрах самой Amazon

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

Кейс МКБ: модернизация контактного центра с переходом на новую платформу
ИТ в банках

Еще один претендент на серверную — процессоры Ampere Altra, созданные компанией, основанной экс-президентом Intel. Они имеют до 80 ядер с архитектурой ARMv8.2+.

Разработки компании Ampere, основанной экс-президентом Intel, готовятся потеснить продукцию последней

Компанией были представлены также двухсокетные серверные платформы Mount Jade, состоящие из двух 80-ядерных процессоров Altra Q80-33 с частотой 3,3 ГГц.

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

Apple A7

Первым и пока единственным 64-битным ARM-процессором, который уже применяется в смартфонах и планшетах, является Apple A7. Построен он на фирменной архитектуре Apple Cyclone, совместимой с ARMv8. Это вторая разработанная внутри компании процессорная архитектура; первой же была Swift (чипы A6 и A6X, семейство ARMv7).

Процессорных ядер у однокристальной системы A7 только два (частота до 1,4 ГГц), но присутствует графический ускоритель PowerVR G6430 с четырьмя кластерами ядер. Быстродействие чипа A7 в процессорозависимых задачах выросло примерно в полтора раза по сравнению с А6, тогда как в различных графических тестах прирост составляет от двух до трех раз.

А вот теоретическую возможность работать с большим объемом оперативной памяти благодаря 64-битной архитектуре процессора A7 устройства под управлением iOS пока не ощущают. У iPhone 5s, iPad Air и iPad mini Retina всего лишь 1 Гбайт оперативки; и вряд ли в новом поколении мобильных устройств Apple объем ОЗУ вырастит больше чем вдвое.

Выводы

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

Естественно, пользу от архитектуры ARMv8 получат только те приложения для iOS и Android, которые способны задействовать все ресурсы новых процессоров. Оптимизация программ под новую архитектуру может быть как ручной, так и автоматической, на уровне компилятора.
Первое же Android-устройство с 64-битным ARM-процессором и 4 Гбайт ОЗУ – фаблет Samsung Galaxy Note 4 (чип Exynos 5433: по четыре ядра Cortex-A57 и A53) – представят уже 3 сентября. А вторым, возможно, станет планшетный компьютер HTC серии Google Nexus c процессором Tegra K1 Denver.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: