Предыдущая Следующая

Ядро ARM7TDMI-S, помимо стандартного базового состояния, называемого ARM, также использует уникальное архитектурное решение, известное как состояние THUMB. Это решение в большей степени, нежели состояние ARM, подходит для крупномасштабных приложений, реализация которых предполагает ограничение объема используемой памяти или размера программного кода. Идея состояния THUMB заключается в использовании уменьшенной, по сравнению с системой команд ARM, системы команд. По существу, процессор ARM7TDMI-S имеет две системы команд:

• стандартная 32-битная система команд ARM;

• 16-битная система команд THUMB.

При использовании состояния THUMB с 16-битной длиной команды, в ряде случаев удается достичь двойной плотности относительно стандартного кода ARM; при этом сохраняется большинство функций кода ARM. Дело в том, что код THUMB оперирует тем же самым набором 32-битных регистров, что и код ARM. По некоторым оценкам, код THUMB «ужимается» до 65% размера функционально эквивалентного ему кода ARM, а также обеспечивает до 160% производительности по сравнению с 16-битной процессорной системой, архитектура которой отлична от ARM.

Процессор ARM7TDMI-S использует следующие типы данных:

• слово (32 бита);

• полуслово (16 битов);

• байт (8 битов).

Процессор ARM7TDMI-S рассматривает память как линейное расположение байтов, пронумерованных в возрастающем порядке от нуля:

• байты 0...3 содержат первое хранимое в памяти слово;

• байты 4...7 содержат второе хранимое в памяти слово;

• байты 8... 11 содержат третье хранимое в памяти слово и т. д. Процессор ARM7TDMI-S использует следующие форматы хранения данных (программ) в памяти:

• big-endian;

• little-endian.

В соответствии с форматом big-endian, процессор сохраняет старший байт слова данных (программ) в байте памяти с наименьшим номером, а младший байт слова — в байте памяти с наибольшим номером, как изображено на Рис. 1.2. Например, в байте 0 памяти хранятся биты слова 31.„24.

Рис. 1.2. Формат хранения данных (программ) в памяти big-endian

В соответствии с форматом little-endian, процессор сохраняет младший байт слова данных (программ) в байте памяти с наименьшим номером, а старший байт слова — в байте памяти с наибольшим номером, как изображено на Рис. 1.3. Например, в байте 0 памяти хранятся биты слова 7...0.

Рис. 1.3. Формат хранения данных (программ) в памяти little-endian

В исходном тексте пользовательской встроенной программы с помощью специальных директив можно указать, какой из форматов хранения данных будет использоваться.

1.4.1. Режимы работы и регистровые модели процессора в состоянии ARM

В состоянии ARM процессор может функционировать в одном из следующих режимов:

1. User — выполнение программ пользователя.

2. Supervisor — работа под управлением операционной системы (ОС), которая оперирует данными, недоступными программам пользователя.


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_18.html on line 138

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_18.html on line 138

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_18.html on line 138