2.3.2. Модель программирования
ЦПУ Cortex является RISC-процессором, который выполнен по архитектуре чтения/записи. Для выполнения операций обработки данных вначале необходимо поместить операнды из памяти в центральный регистровый файл, затем выполнить требуемую операцию над данными в регистрах и, наконец, перезаписать результат обратно в память.
Cortex-M3 выполнен по архитектуре чтения/записи. Все данные, перед выполнением инструкции их обработки, необходимо поместить в центральный регистровый файл
Следовательно, вся активность программы фокусируется вокруг регистрового файла ЦПУ. Данный регистровый файл образуют шестнадцать 32-битных регистров. Регистры R0-R12 - обычные регистры, которые могут использоваться для хранения программных переменных. У регистров R13-R15 имеются особые функции в рамках ЦПУ Cortex. Регистр R13 выступает в роли указателя стека. Данный регистр является банковым, что делает возможной работу ЦПУ Cortex в двух режимах работы, в каждом из которых используется свое собственное пространство стека. Данная возможность обычно используется операционными системами реального времени (ОСРВ), которые могут выполнять свой "системный" код в защищенном режиме. У двух стеков ЦПУ Cortex имеются собственные наименования: основной стек и стек процесса. Следующий регистр R14 называется регистром связи. Он используется для хранения адреса возврата из подпрограммы. Благодаря нему, ЦПУ Cortex быстро переходит к подпрограмме и выходит из нее. Если же в программе используется несколько уровней вложений подпрограмм, то компилятор будет автоматически сохранять R14 в стек. Последний регистр R15 - счетчик программы; поскольку он является частью центрального регистрового файла, его чтение и обработка может выполняться аналогично любым другим регистрам.
У ЦПУ Cortex-M3 имеется регистровый файл, состоящий из 16 32-битных регистров. Также как и у предшествующих ЦПУ ARM7/9 регистр R13 выступает в роли указателя стека. R14 - регистр связи, R15 - счетчик программы. R13 является банковым регистром, что позволяет Cortex-M3 работать с двумя стеками: стеком процесса и основным стеком
|