Микроконтроллер AT90S2313

Регистровый файл быстрого доступа содержит


Регистровый файл быстрого доступа содержит 32 8-разрядных регистра общего назначения, доступ к которым осуществляется за один машинный цикл. Поэтому за один машинный цикл исполняется одна операция АЛУ. Два операнда выбираются из  регистрового файла, выполняется  операция, результат ее  записывается в  регистровый файл  - все  за один  машинный цикл.

Шесть из  32 регистров  можно использовать  как три  16-разрядных указателя в адресном пространстве данных, что дает возможность использовать высокоэффективную адресную арифметику (16-разрядные регистры X, Y и Z). Один из  трех адресных указателей (регистр Z)  можно использовать для адресации таблиц в памяти программ. Это X-, Y- и Z-регистры.

АЛУ поддерживает арифметические и логические операции с регистрами, с  константами и  регистрами. Операции  над отдельными  регистрами также выполняются в АЛУ.

Кроме регистровых операций, для работы с регистровым файлом могут использоваться доступные режимы адресации, поскольку регистровый  файл занимает адреса $00-$1F  в области данных, обращаться к ним можно  как к ячейкам памяти.

Пространство ввода состоит из 64 адресов для периферийных функций процессора, таких как управляющие регистры, таймеры/счетчики и другие. Доступ к пространству ввода/вывода может осуществляться непосредственно, как к ячейкам памяти расположенным после регистрового файла  ($20-$5F).

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

При помощи  команд относительных  переходов и  вызова подпрограмм осуществляется доступ ко  всему адресному пространству.  Большая часть команд AVR имеет размер 16-разрядов, одно слово. Каждый адрес в памяти программ содержит одну 16- или 32-разрядную команду.



При обработке прерываний и вызове подпрограмм адрес возврата  запоминается в стеке. Стек  размещается в памяти данных  общего назначения, соответственно размер  стека ограничен только  размером доступной памяти данных и ее использованием в программе. Все программы пользователя должны инициализировать указатель стека (SP) в программе, выполняемой после сброса (до  того как вызываются подпрограммы  и разрешаются прерывания). 8-разрядный указатель стека доступен для чтения/записи  в области ввода/вывода.

Доступ к 128 байтам статического ОЗУ, регистровому файлу и регистрам ввода/вывода осуществляется при помощи пяти доступных режимов адресации поддерживаемых архитектурой AVR.

Все пространство памяти AVR является линейным и непрерывным.

Гибкий модуль прерываний имеет собственный управляющий регистр  в пространстве ввода/вывода, и флаг глобального разрешения прерываний  в регистре состояния. Каждому прерыванию назначен свой вектор в  начальной области  памяти программ.  Различные прерывания  имеют приоритет в соответствии с расположением их векторов. По младшим адресам  расположены векторы с большим приоритетом.


Содержание раздела