
- •Лабораторная работа №1 Архитектура нейромикропроцессоров семейства NeuroMatrix ® nm 640х и их функциональные возможности
- •1. Описание и порядок пользования программой nmcalculator
- •1.1 Общие сведения о программе
- •1.2 Формирование векторной команды
- •1.3 Разбиение рабочей матрицы и запись весовых коэффициентов
- •1.4 Установка входных значений
- •1.5 Генератор кода
- •2. Порядок выполнения работы
- •Лабораторная работа № 2
- •1.Порядок выполнения работы
- •2. Элементы языка ассемблера процессора nm 6403
- •2.1 Формат ассемблерных инструкций
- •2.2 Векторные инструкции процессора
- •2.3 Регистры процессора
- •2.3.1 Основные регистры
- •3. Примеры простейших программ Пример 1: Организация циклов и доступ к памяти
- •Пример 2: Копирование массива данных на скалярном процессоре
- •Пример 3: Копирование массива данных на векторном процессоре
- •Пример 4: Операция взвешенного суммирования
- •4. Порядок выполнения работы
- •5. Контрольные вопросы
- •Лабораторная работа № 3
- •2.3 Использование Меток в Макросах
- •2.4 Импорт Макросов из Макробиблиотек
- •3. Примеры простейших программ Пример 1: Пример использования макросов в программе
- •Пример 2: Создание Библиотеки Макросов
- •4. Порядок выполнения работы
- •Лабораторная работа №4 Кодирование и декодирование информации в нейромикропроцессоре NeuroMatrix ® nm 640х
- •Теоретическая часть
- •1.1 Описание алгоритма шифрования гост 28147-89
- •Замена по таблице
- •Сдвиг на 11 разрядов
- •Вторая итерация
- •Замена по таблице
- •Сдвиг на 11 разрядов
- •Третья итерация
- •Замена по таблице
- •Сдвиг на 11 разрядов
- •1.2 Реализация алгоритма шифрования на процессоре nm6403
- •Практическая часть
- •2.1 Реализация алгоритма гост 28147-89 на нейропроцессоре nm 6403/6404
- •2.2 Реализация алгоритма гост 28147-89 на эмуляторе векторе векторных команд
- •2.3 Варианты заданий
- •2.4 Удаленный доступа к плате NeuroMatrix
- •Список используемой литературы:
Лабораторная работа №1 Архитектура нейромикропроцессоров семейства NeuroMatrix ® nm 640х и их функциональные возможности
Цель работы: ознакомление с общей архитектурой, функциональными особенностями современных нейромикропроцессоров семейства NeuroMatrix ® NM 640Х (Л1879ВМХ) и его отличиями от других процессоров этого класса с целью изучения основ программирования процессора.
1. Описание и порядок пользования программой nmcalculator
1.1 Общие сведения о программе
NMCalculator – интерактивный помощник разработчикам программного обеспечения для процессора Л1879ВМ1. Программа может быть полезна и программистам, осваивающим язык ассемблера и методы программирования векторного узла процессора. Данное приложение является, в некотором смысле, программной моделью векторного узла. В программе нет полного соответствия реальным аппаратным ресурсам процессора Л1879ВМ1, однако, такое абстрагирование упрощает процесс разработки программ, позволяя программисту сосредоточиться на решении основной задачи. NMCalculator предоставляет разработчику возможность сформировать векторную команду и сразу же получить результат. Программа способна эмулировать векторные команды в которых задействуется векторное АЛУ, или рабочая матрица (операции взвешенного суммирования). Пользовательский интерфейс программы состоит из двух частей:
слева расположены элементы управления, с помощью которых можно сформировать векторную команду, ввести исходные данные и получить отчёт о текущем состоянии регистров;
в правой части визуализируется состояние регистров и рабочей матрицы, причём регистры и рабочая матрица могут модифицироваться как в левой, так и в правой части.
При формировании векторной команды и задании входных параметров производится контроль над действиями пользователя, таким образом, можно не опасаться за неверно введённые значения. Программой генерируется пример ассемблерного кода – реализация функции, в которой используется сформированная пользователем векторная команда.
1.2 Формирование векторной команды
Для задания векторной команды необходимо установить флажки в соответствующих элементах управления. Программой отслеживается не верный ввод команды. Переключатели, соответствующие невозможной комбинации, становятся недоступными.
Рекомендуется соблюдать следующий порядок формирования команды:
Определить операционное устройство: либо рабочая матрица (операция взвешенного суммирования), либо векторное АЛУ. В первом случае – установить флажок "Vsum";
Если необходимо, то подключить регистры маскирования и активации. При работе с векторным АЛУ задать требуемую арифметико-логическую операцию в группе переключателей "Operations";
Задать необходимое разбиение матрицы;
Ввести входные значения.
Действия пользователя по формированию команды отображаются в поле "Command". Обозначения, принятые при выводе команды, не соответствуют реальным устройствам процессора Л1879ВМ1. Например, команда маскирования может выглядеть следующим образом: rep 1 with mask M , shift X , activate Y ;
В реальной команде вместо операндов M, X и Y необходимо использовать существующие аппаратные ресурсы (data, ram, afifo и т. д.).