Регистры общего назначения AVR

Микроконтроллеры / Для начинающих / Архитектура /

Микроконтроллеры для начинающих Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее...

Регистры общего назначения (РОН) есть в любом процессоре, микропроцессоре и микроконтроллере. Их ещё называют “рабочие регистры”. Эти регистры используются для хранения промежуточных итогов вычислений (также как и внутренняя память).

По сравнению с памятью у РОН есть два основных преимущества:

  • Обращение к регистрам выполняется намного быстрее, чем к памяти.
  • При обращении к регистрам не нужно указывать адрес (как в случае с памятью).

Файл регистров общего назначения

В документации AVR регистры общего назначения объединены в так называемый файл регистров общего назначения - General Purpose Register File (можно, пожалуй, ещё перевести как “Регистровый файл общего назначения”).

Слово файл перевести с английского можно ещё и как “массив”.

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

В микроконтроллерах серии AVR всего 32 регистра общего назначения. Для использования РОН в программе, каждый такой регистр имеет собственное уникальное имя: от R0 до R31.

Схемы ввода-вывода и размещение регистров в памяти

Массив РОН наилучшим образом приспособлен для для набора команд архитектуры AVR Enhanced RISC. Для того, чтобы достичь необходимой производительности и гибкости, следующие схемы ввода-вывода поддерживаются файлом регистров:

  • Один 8-разрядный выходной операнд и один 8-разрядный входной операнд результата.
  • Два 8-разрядных выходных операнда и один 8-разрядный входной операнд результата.
  • Два 8-разрядных выходных операнда и один 16-разрядный входной операнд результата.
  • Один 16-разрядный выходной операнд и один 16-разрядный входной операнд результата.

На рисунке показана структура 32 рабочих регистров общего назначения процессора.

Структура 32 рабочих регистров общего назначения процессора

Большинство инструкций, работающих с файлом регистра, имеют прямой доступ ко всем регистрам, и большая часть этих инструкций выполняется за один цикл.

Как показано на рисунке выше, каждый регистр также связан с адресом в памяти данных. Этот адрес отражает размещение регистра непосредственно в первых 32 ячейках пользовательского пространства данных. Хотя эта память физически не находится в SRAM, такая организация памяти обеспечивает большую гибкость доступа к регистрам, потому как указатель регистра X-, Y- и Z- может быть установлен для индексации любого регистра в файле регистров.

Некоторые команды не могут использовать определённые регистры (подробнее об этом в описании набора команд).

Х-регистр, Y-регистр и Z-регистр

Все регистры общего назначения в AVR являются восьми разрядными. Однако шесть последних регистров (R26...R31) имеют некоторые дополнительные функции для их использования в качестве регистров общего назначения. Эти регистры являются 16-битными указателями адреса для косвенной адресации в области памяти данных. Три косвенных адреса регистров Х, Y и Z определены, как показано на рисунке ниже.

X-, Y- и Z-регистры AVR

В различных режимах адресации эти адресные регистры имеют функции фиксированного смещения, автоматический инкремент и автоматический декремент (более подробно об этом в описании инструкций).

Таким образом, эти регистры могут быть объединены в пары (см. рис. выше) и использоваться для 16-разрядных операций. При этом остаётся возможность чтения каждого регистра пары отдельно.


Вступить в группу "Основы программирования"

Подписаться на RUTUBE-канал

Подписаться на Дзен-канал

Подписаться на рассылки по программированию

Микроконтроллеры для ЧАЙНИКОВ Микроконтроллеры для ЧАЙНИКОВ

Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su