2.3.1. Основные регистры
К основным регистрам процессора относятся 8 адресных регистров: ar0 - ar7( sp ) и 8 регистров общего назначения: gr0 - gr0, которые используются в большинстве вычислительных операций процессора. Все они 32-разрядные, доступны как по чтению, так и по записи.
Адресные регистры
Адресные регистры делятся на две равноправные группы. В первую входят ar0-ar3 , а во вторую - ar4..ar7 . Это связано с наличием двух адресных устройств в процессоре.
Существуют ограничения на возможность использовать адресные регистры из разных групп в одной процессорной инструкции. При этом адресные регистры могут использоваться только в левой части ассемблерной инструкции.
Примеры использования адресных регистров:
ar0 = ar5; // копирование .
ar2 = ar3 + gr3; // модификация.
[ar4++] = gr7 with gr7 -= gr4 ; // запись в память.
Адресный регистр ar7 используется процессором в качестве указателя стека адресов возврата sp(Stack Pointer) . Это означает, что ar7 модифицируется автоматически, когда происходит вызов функции или прерывания, а также возврат из функции или из прерывания.
Регистры общего назначения
Регистры общего назначения в отличие от адресных не имеют разделения на группы, могут использоваться как в левой, так и в правой частях ассемблерной инструкции. С их помощью можно выполнять арифметические и логические преобразования, адресоваться по памяти. Хотя регистры общего назначения могут использоваться для адресации по памяти, например:
[gr0] = gr4; // запись значения регистра gr4 в память
// по адресу, хранящемуся в gr0.
Однако адресные регистры обладают в этом смысле значительно более широкими возможностями.
Примеры использования регистров общего назначения:
gr0 = gr5; // копирование.
gr2 = gr1 + gr3; // модификация.
[ar4++] = gr7 with gr7 -= gr4 ; // запись в память.
- Лабораторная работа № 1 Архитектура нейромикропроцессоров семейства NeuroMatrix® nm640х и их функциональные возможности
- 1. Описание и порядок пользования программой nmcalculator
- 1.1. Формирование векторной команды
- 1.2. Разбиение рабочей матрицы и запись весовых коэффициентов
- 1.3. Установка входных значений
- 1.4. Генератор кода
- 2. Порядок выполнения работы
- Лабораторная работа № 2
- 1. Указания к выполнению работы
- 2. Элементы языка ассемблера процессора nm6403
- 2.1. Формат ассемблерных инструкций
- 2.2. Векторные инструкции процессора
- 2.3. Регистры процессора
- 2.3.1. Основные регистры
- 3. Порядок выполнения работы
- 4. Контрольные вопросы
- Лабораторная работа № 3
- 2.3. Использование меток в макросах
- 2.4. Импорт макросов из макробиблиотек
- 3. Пример простейшей программы
- 4. Порядок выполнения работы
- Лабораторная работа № 4
- 1.2. Реализация алгоритма шифрования на процессоре nm6403
- Практическая часть
- 2.1. Реализация алгоритма гост 28147-89 на нейропроцессоре nm6403/6404
- 2.2. Реализация алгоритма гост 28147-89 на эмуляторе вектора векторных команд
- 2.3. Варианты заданий
- 2.4. Удаленный доступ к плате NeuroMatrix
- Библиографический список