ФЭНДОМ


Регистры данных

Вещественные числа хранятся и обрабатываются в регистрах, общее число которых зависит от модели FPU:

  • FPU типов FPv4-SP и FPv5, входящие в состав ряда процессоров архитектуры ARMv7-M, позволяют использовать шестнадцать 64-разрядных регистров D0-D15 и 32 32-разрядных регистра S0-S31;
  • остальные модели FPU включают 32 64-разрядных регистра D0-D31.

С точки зрения программиста FPU располагает 32- и 64-разрядными регистрами с плавающей запятой, причём они могут использоваться одновременно. Технически, однако, эти регистры перекрываются: один 64-разрядный регистр может служить двумя 32-разрядными со смежными номерами и наоборот (регистру D0 соответствуют S0 и S1, регистру D1 – S2 и S3 и т.д.). По этой причине запись в регистр одной разрядности портит содержимое соответствующих регистров другой разрядности.

После сброса содержимое регистров с плавающей запятой не определено. Кроме того, в процессорах M-профиля не определено содержимое регистров S0-S15 после того, как будет выполнено сохранение контекста.

Поведение процессора M-профиля при обращении к несуществующим 64-разрядным регистрам D16-D31 спецификацией не определено.

Регистр состояния и управления FPSCR

Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.