2.3.6. Доступ к фрагментированным данным
Набор инструкций ARM7 и ARM9 имеет возможность доступа к знаковым и беззнаковым переменным типа байт, полуслово и слово. Благодаря этому, ЦПУ естественным образом поддерживает целочисленные переменные без необходимости использования программных библиотек, как в случае 8- и 16-битных микроконтроллеров. Однако у предшествующих ЦПУ ARM есть один недостаток, который заключается в их способности оперировать только с нефрагментированными словами или полусловами. Вследствие этого линкер компилятора неэффективно размещает данные в статическом ОЗУ и некоторая его часть будет потеряна. (В зависимости от комбинации используемых переменных потери могут достигать 25%.)
Cortex-M3 может осуществлять доступ к фрагментированным данным, что гарантирует эффективность использования статического ОЗУ
ЦПУ Cortex поддерживает режимы адресации для слов, полуслов, байт и может осуществлять фрагментированный доступ к данным. Благодаря этому, линкеру компилятора предоставляется полная свобода в очередности размещения данных в памяти. Кроме того, поддерживаемая ЦПУ Cortex возможность bit banding позволяет группировать флаги программы в переменные типа слово или полуслово, а не использовать для каждого флага отдельный байт.
|