В чем разница между ARM/AMD/AArch/ArmF для Raspberry Pi 4b?

Вопрос или проблема

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

AMD64/AMD32
ARM64/ARM32
AArch64/Arch32
armhf64/armhf32

Я пытался установить Ubuntu на моем Raspberry Pi 4b (8 ГБ ОЗУ), и когда я искал поддерживаемую архитектуру, выпали все эти названия, и я запутался, что установить для своих нужд. Единственная проблема — каждая версия устанавливается нормально, но в итоге Ubuntu не поддерживает мою камеру Raspberry Pi, которую я прикрепил через шлейф.

Архитектура
32-бит
64-бит

Intel x86 (ПК)
x86, i386, i486 … i686
x86_64, amd64

ARM (мобильные устройства)
armhf, armv7h
arm64, aarch64

“aarch64” и “arm64” — это одно и то же. AArch64 — это официальное название для 64-битной архитектуры ARM, но некоторые предпочитают называть её “ARM64” как продолжение 32-битной ARM.
С другой стороны, все 32-битные версии ARM назывались “arm”-что-то (не существует такого как “aarch32”). Смотрите этот другой пост и этот о значении “armhf”.
Одно из этих названий сильно отличается — “amd64” изначально было названием для x86_64, который является 64-битной версией обычной архитектуры процессоров Intel/AMD x86, используемой на типичных ПК, и не имеет никакого отношения к процессорам ARM. (32-битная версия исходит от Intel и всегда называется “x86” или иногда “i386”, “i686”, но никогда “amd32”. Только 64-битные расширения были созданы AMD.)
Ваш Raspberry Pi 4 имеет 64-битный процессор ARMv8, так что “aarch64″/”arm64” — это самая подходящая архитектура для него, хотя он также может запускать и 32-битную ОС “armv7h”. (Схоже на то, как 64-битные amd64 ПК могут все еще запускать 32-битную x86 ОС.)

Часть о ARM становится запутанной быстро:
Aarch64 на самом деле не является 64-битной архитектурой наборов команд для процессоров ARM. Скорее, это режим выполнения, введенный с ARMv8, который позволяет им ДАСТЬ ДОСТУП к 64-битной архитектуре наборов команд: A64.
Еще более запутанно, что эта архитектура A64 полностью отделена от A32 (32-битной) архитектуры наборов команд: процессор, работающий в режиме Aarch64, не может выполнять инструкции ARM32 и наоборот. Процессор должен переключать режимы выполнения, чтобы воспользоваться соответствующей архитектурой.
В кратце:

A64 — архитектура наборов команд для 64-битных процессоров ARM.
Aarch64 — 64-битный режим выполнения, который предоставляет доступ к архитектуре A64.
https://developer.arm.com/Architectures/A64%20Instruction%20Set%20Architecture

A32 — архитектура наборов команд для 32-битных процессоров ARM (и 64-битных процессоров ARM в 32-битном режиме).
Aarch32 — 32-битный режим выполнения, который предоставляет доступ к архитектуре A32.
https://developer.arm.com/Architectures/A32%20Instruction%20Set%20Architecture

Последнее, о чем стоит упомянуть: я не думаю, что Aarch32 на самом деле появилась до введения Aarch64, поэтому вы увидите, что люди говорят, что она не существует.
Как указывает grawity в своем посте: AMD64 — это “традиционная” архитектура наборов команд для 64-битных процессоров, которые вы видели почти на всех ПК до недавнего времени. Она была названа в честь AMD, потому что AMD создала оригинальный набор команд. x86 произошел от i386, который был разработан Intel. Одно, что стоит отметить: стандарты абсолютно отдельны от компаний, которые их изначально разработали на данный момент: т.е. AMD64 будет работать на процессорах Intel и наоборот.

Ответ или решение

Разница между архитектурами ARM, AMD, AArch, ArmF и их взаимоотношениями с Raspberry Pi 4b может быть запутанной, поэтому я постараюсь объяснить эту тему подробно и профессионально.

Основные архитектуры

  1. AMD64/AMD32 (x86_64/x86):

    • AMD64 — это 64-битная версия архитектуры x86, изначально разработанная AMD. Она поддерживается также процессорами Intel.
    • AMD32 (или просто x86) — это 32-битная версия той же архитектуры. Архитектура x86 используется в большинстве персональных компьютеров.
  2. ARM (включая armhf и armv7h):

    • ARM — это архитектура, разработанная компанией ARM Holdings, которая используется в мобильных устройствах, встраиваемых системах и т. д.
    • armhf — это 32-битная версия ARM, оптимизированная для работы с арифметикой с плавающей запятой (hard float).
    • armv7h — также 32-битная архитектура ARM, но более старая, чем armhf.
  3. AArch64/Arch32:

    • AArch64 (или ARM64) — это 64-битная архитектура, введенная с ARMv8. Она предоставляет доступ к 64-битному набору инструкций A64.
    • AArch32 — 32-битная версия, которая позволяет осуществлять выполнение инструкций 32-битной архитектуры A32 на 64-битных процессорах.
  4. armhf64/armhf32:

    • armhf64 — это неофициальное обозначение, которое не широко используется, поскольку 64-битные архитектуры чаще обозначаются как ARM64 или AArch64.
    • armhf32 — это 32-битная версия, поддерживающая hard float.

Как выбрать архитектуру для Raspberry Pi 4b?

Raspberry Pi 4b имеет 64-битный процессор ARMv8, поэтому рекомендуемая архитектура для установки ОС — AArch64 или ARM64. Это сделает возможным использование всех 8 ГБ оперативной памяти, доступной на вашей плате. Однако Raspberry Pi 4 также может запускать 32-битную версию ОС (например, armhf или armv7), но в этом случае вы не сможете использовать всю доступную память.

Проблемы с камерой

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

Заключение

Таким образом, понимание этих архитектур и их различий поможет вам выбрать подходящую версию операционной системы для вашего Raspberry Pi 4b. Для вашего устройства оптимально использовать дистрибутив, который поддерживает AArch64, чтобы максимально использовать его потенциал. Обязательно проверьте совместимость вашего оборудования и драйверов, чтобы исправить проблему с камерой.

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

Капча загружается...