armv8 и arm64 это одно и то же?

В xcode, который является средой разработки для iOS. При создании нового проекта. В настройках сборки указано, что он поддерживает архитектуры armv7, armv7s и arm64.

На следующей диаграмме показаны архитектуры устройств Apple: введите здесь описание изображения

armv8 нигде не упоминается. Означает ли это, что armv8 и arm64 — это одно и то же?

Я не буду использовать следующий двоичный файл: http://www.libjpeg-turbo.org/Documentation/OfficialBinaries< /а>

В нем говорится, что версия 1.5.1 этого бинарника поддерживает архитектуру armv8. Это также указывает на то, что armv8 и arm64 — одно и то же.

Еще вопрос но про бинарник. Указывает ли ссылка, что безопасно использовать версию 1.5.1 для iOS?


person hasan    schedule 11.12.2016    source источник
comment
Если вы посмотрите на iossupportmatrix.com, вы увидите, что 64-разрядная версия и ARMv8 — это одно и то же.   -  person matt    schedule 12.12.2016
comment
Я получил свой ответ спасибо. не могли бы вы добавить ответ и упомянуть libjpeg, чтобы я мог отдать вам должное? Спасибо еще раз.   -  person hasan    schedule 12.12.2016
comment
Архитектура ЦП Arm Armv8 имеет три профиля. A, R, M. aarch64 и aarch32 — это два состояния процессора ЦП, которые может поддерживать Armv8-A.   -  person Zhifei    schedule 27.02.2018


Ответы (2)


О, двусмысленная терминология - "архитектура" в данном контексте на самом деле не означает архитектуру в смысле ISA или системной архитектуры, заложенной ARM, на самом деле это означает "iOS target", т.е. конкретную конфигурацию системы и уровень ISA поддерживать:

  • «armv7» представляет собой определенную конфигурацию архитектуры ARMv7-A.
  • «armv7s» представляет собой несколько иную конфигурацию архитектуры ARMv7-A с большим количеством дополнительных функций по сравнению с базовой целью «armv7».
  • «arm64» представляет состояние AArch64 архитектуры ARMv8-A; нет цели "armv8".
person Notlikethat    schedule 11.12.2016
comment
Но как назвать пакеты, которые собраны на 32-битной системе с процессором ARMv8-A? Они называются armhf? Но это только индикатор функции жесткого плавания в ARMv7, а не расширенных инструкций в armv8, не так ли? - person User Rebo; 29.10.2020

Нет, набор инструкций ARMv8-A (armv8) также может существовать в 32-битной архитектуре, хотя я не знаю ни одного примера. Так что технически вы можете различать их, как это сделано в docker:

person User Rebo    schedule 01.11.2020
comment
За пределами мира Apple вы, безусловно, можете создать 32-битный код ARM-режима или Thumb-режима, который использует преимущества функций, представленных ARMv8 в 32-битном режиме. Как gcc -mcpu=cortex-a53. Заметно в выборе инструкций для загрузки/выпуска std::atomic по сравнению, например, с кодом ARMv7, использующим барьеры. godbolt.org/z/9Y46bM - person Peter Cordes; 02.11.2020