Библиотека Компэла 55


InsitojmInts /. Общие вопросы

пространства. Эта особенность позволяет получить широкий набор фун­кций при малом наборе команд, упростить и удешевить ЦПУ.

• Большое число регистров - кроме программного счётчика и указате­
ля стека ядру доступны 12 идентичных 16-битных регистров общего
назначения. Любой регистр может быть использован для хранения,
как данных, так и указателя. При этом операции «регистр - регистр»
выполняются за один такт. В этом принципиальное отличие семейства
MSP430, от многих других МК, использующих единственный регистр
или «аккумулятор».

• Отсутствие разбиения на страницы - 16-битная архитектура семейства
MSP430 допускает непосредственную адресацию любой ячейки всего
64-килобайтного адресного пространства. В том числе, это касается до­
ступа к встроенным периферийным модулям, таким, например, как 16-
битные преобразователи данных. Эта особенность упрощает разработку
программного обеспечения.

• Использование стека - указатель стека обладает теми же возможностя­
ми адресации, что и регистры общего назначения. При этом нет необхо­
димости перемещения данных в базирующемся в ОЗУ стеке. Компилятор
имеет возможность помещать параметры в стек и манипулировать ими в
целях расширения возможностей ОЗУ.

• Использование переходов - анализ среднестатистической программы
показывает, что около 10% кода составляют условные переходы. Для
облегчения их реализации ядро поддерживает восемь однословных ус­
ловных переходов с максимальной «дальностью» ±512.

• Примерно 20% среднестатистической программы обычно составляет
простая операция чтение - модернизация - последующая запись опе­
ранда. В классической RISC-архитектуре это приводит к низкой плотнос­
ти кода, т.к. операнд в этом случае обязательно проходит через регистр
ЦПУ, используемый же регистр требуется сохранять и восстанавливать.
Таким образом, использование трёх способов адресации (непосредс­
твенная, относительная и косвенная) обеспечивает минимизацию затрат
на операции типа «память <?=> память» при сохранении полного набора
инструкций. Наличие таких методов адресации позволяет существенно
сократить размер кода и повысить производительность.

• Работа с байтами и словами -любая инструкция может использовать как
16-битные, так и 8-битные данные. Это особенно удобно для обработки