InsitojmInts /. Общие вопросы
пространства. Эта особенность позволяет получить широкий набор функций при малом наборе команд, упростить и удешевить ЦПУ.
• Большое число регистров - кроме программного счётчика и указате
ля стека ядру доступны 12 идентичных 16-битных регистров общего
назначения. Любой регистр может быть использован для хранения,
как данных, так и указателя. При этом операции «регистр - регистр»
выполняются за один такт. В этом принципиальное отличие семейства
MSP430, от многих других МК, использующих единственный регистр
или «аккумулятор».
• Отсутствие разбиения на страницы - 16-битная архитектура семейства
MSP430 допускает непосредственную адресацию любой ячейки всего
64-килобайтного адресного пространства. В том числе, это касается до
ступа к встроенным периферийным модулям, таким, например, как 16-
битные преобразователи данных. Эта особенность упрощает разработку
программного обеспечения.
• Использование стека - указатель стека обладает теми же возможностя
ми адресации, что и регистры общего назначения. При этом нет необхо
димости перемещения данных в базирующемся в ОЗУ стеке. Компилятор
имеет возможность помещать параметры в стек и манипулировать ими в
целях расширения возможностей ОЗУ.
• Использование переходов - анализ среднестатистической программы
показывает, что около 10% кода составляют условные переходы. Для
облегчения их реализации ядро поддерживает восемь однословных ус
ловных переходов с максимальной «дальностью» ±512.
• Примерно 20% среднестатистической программы обычно составляет
простая операция чтение - модернизация - последующая запись опе
ранда. В классической RISC-архитектуре это приводит к низкой плотнос
ти кода, т.к. операнд в этом случае обязательно проходит через регистр
ЦПУ, используемый же регистр требуется сохранять и восстанавливать.
Таким образом, использование трёх способов адресации (непосредс
твенная, относительная и косвенная) обеспечивает минимизацию затрат
на операции типа «память <?=> память» при сохранении полного набора
инструкций. Наличие таких методов адресации позволяет существенно
сократить размер кода и повысить производительность.
• Работа с байтами и словами -любая инструкция может использовать как
16-битные, так и 8-битные данные. Это особенно удобно для обработки