Шесть из 32 регистров можно использовать как три 16-разрядных указателя в адресном пространстве данных, что дает возможность использовать высокоэффективную адресную арифметику (16-разрядные регистры X, Y и Z). Один из трех адресных указателей (регистр Z) можно использовать для адресации таблиц в памяти программ. Это X-, Y- и Z-регистры.
АЛУ поддерживает арифметические и логические операции с регистрами, с константами и регистрами. Операции над отдельными регистрами также выполняются в АЛУ.
Кроме регистровых операций, для работы с регистровым файлом могут использоваться доступные режимы адресации, поскольку регистровый файл занимает адреса $00-$1F в области данных, обращаться к ним можно как к ячейкам памяти.
Пространство ввода состоит из 64 адресов для периферийных функций процессора, таких как управляющие регистры, таймеры / счетчики и другие. Доступ к пространству ввода / вывода может осуществляться непосредственно, как к ячейкам памяти расположенным после регистрового файла ($20-$5F).
Процессоры AVR построены по гарвардской архитектуре с раздельными областями памяти программ и данных (Рисунок 5.3). Доступ к памяти программ осуществляется при помощи одноуровневого буфера. Во время выполнения команды, следующая выбирается из памяти программ. Подобная концепция дает возможность выполнять по одной команде за каждый машинный цикл. Память программ - это внутрисистемная загружаемая флэш-память.
При помощи команд относительных переходов и вызова подпрограмм осуществляется доступ ко всему адресному пространству. Большая часть команд AVR имеет размер 16-разрядов, одно слово. Каждый адрес в памяти программ содержит одну 16- или 32-разрядную команду.
При обработке прерываний и вызове подпрограмм адрес возврата запоминается в стеке. Стек размещается в памяти данных общего назначения, соответственно размер стека ограничен только размером доступной памяти данных и ее использованием в программе. Все программы пользователя должны инициализировать указатель стека (SP) в программе, выполняемой после сброса (до того как вызываются подпрограммы и разрешаются прерывания). 8-разрядный указатель стека доступен для чтения / записи в области ввода / вывода.
Доступ к 128 байтам статического ОЗУ, регистровому файлу и регистрам ввода / вывода осуществляется при помощи пяти доступных режимов адресации поддерживаемых архитектурой AVR.
Все пространство памяти AVR является линейным и непрерывным.
Гибкий модуль прерываний имеет собственный управляющий регистр в пространстве ввода / вывода, и флаг глобального разрешения прерываний в регистре состояния. Каждому прерыванию назначен свой вектор в начальной области памяти программ. Различные прерывания имеют приоритет в соответствии с расположением их векторов. По младшим адресам расположены векторы с большим приоритетом.
Загружаемая память программ
S2313 содержит 2кБ загружаемой флэш памяти для хранения программ. Поскольку все команды занимают одно 16-разрядное слово, флэш память организована как 1K 16-разрядных слов. Флэш-память выдерживает не менее 1000 циклов перезаписи. Программный счетчик имеет ширину 10 бит и таким образом адресуется к 1024 словам программной флэш-памяти.
EEPROM память данных
S2313 содержит 128 байт электрически стираемой энергонезависимой памяти (EEPROM). EEPROM организована как отдельная область данных, каждый байт которой может быть прочитан и перезаписан. EEPROM выдерживает не менее 100000 циклов записи / стирания.
Время выполнения команд
ЦПУ процессора AVR управляется системной частотой генерируемой внешним резонатором. Внутреннее деление частоты генератора не используется.
В процессоре организован буфер (pipeline) команд, при выборе команды из памяти программ происходит выполнение предыдущей команды. Подобная концепция позволяет достичь быстродействия 1MIPS на МГц, уникальных показателей стоимости, быстродействия и потребления процессора.
Данная характеристика обусловила выбор 10 MHz модификации данной модели.
Пространство ввода / вывода
Все устройства ввода / вывода и периферийные устройства AT90S2313 располагаются в пространстве ввода / вывода. Различные ячейки этого пространства доступны через команды IN и OUT, пересылающие данные между одним из 32-х регистров общего назначения и пространством ввода / вывода.
Время реакции на прерывание
Минимальное время реакции на любое из предусмотренных в процессоре прерываний - 4 периода тактовой частоты. После четырех циклов вызывается программный вектор обрабатывающий данное прерывание. За эти 4 цикла программный счетчик (9 бит) записывается в стек, указатель стека уменьшается на 2. Программный вектор представляет собой относительный переход на подпрограмму обслуживания прерывания и этот переход занимает 2 периода тактовой частоты. Если прерывание происходит во время выполнения команды длящейся несколько циклов, перед вызовом прерывания завершается выполнение этой команды. Перейти на страницу: 1 2 3 4 5
Другое по теме:
Алгоритмы работы на сотовом мобильном телефоне Проектирование табличным методом алгоритмов работы на сотовом мобильном телефоне GA 628 Ericsson. Уточнения к проектированию: 1. Мобильный телефон подготовлен к работе и исправен. . Исходное состояние перед разработкой первого алг ...