Представитель компании ARM опубликовал в списке рассылки ядра Linux набор из 36 патчей с начальной поддержкой AArch64, 64-битной архитектуры ARMv8. ARMv8 поддерживает два режима работы - AArch64 и AArch32. В режиме AArch32 предоставлется классический набор 32-разрядных инструкций, используемый в архитектуре ARMv7.

64-рязрядная архитектура AArch64 включает в себя новый набор команд A64, примечательный расширением числа регистров (31 64-разрядный регистр), новыми командами для вычислений с плавающей запятой (FP) и новыми векторными SIMD-инструкциями NEON. При этом размер непосредственно инструкций по прежнему укладывается в 32 бита, а сами инструкции в большинстве совпадают с набором A32 (различия только в дополнительных регистрах, наименовании регистров, 64-разрядных аргументах и расширенной адресации памяти). Архитектура ARMv8 также отличается поддержкой уровней обработки исключений: EL0 - режим пользователя, EL1 - режим ядра, EL2 - режим гипервизора, EL3 - secure monitor.

Новое ABI LP64 использует достоинства более крупного регистрового файла и делает аппаратную поддержку вычислений с плавающей запятой обязательной. Документация по набору команд была опубликована ранее, однако теперь доступны и готовые патчи с поддержкой новой архитектуры для ядра Linux (около 23 тысяч строк кода). Сборка кода под данный набор команд производится с использованием инструментария на базе опубликованных в конце мая патчей для GCC с поддержкой AArch64 (aarch64-none-linux-gnu-toolchain). Примечательно, что реализация архитектуры AArch64 для ядра Linux обеспечивает полную поддержку запуска 32-битных ARMv7-программ (ARM EABI), за исключением некоторых инструкций, объявленных устаревшими.

Источник: http://www.opennet.ru/opennews/art.shtml?num=34285