2.4. Удаленный доступ к плате NeuroMatrix
Возможность доступа к плате NeuroMatrix по сети осуществляется посредством специально написанной программы, работающей по принципу клиент - сервер. Решения, реализованные в программе, позволяют решить следующие проблемы.
Ограничения безопасности на компьютерах клиента не ограничивает функциональность программы.
Возможен доступ к плате по сети с любого количества компьютеров.
Имеющиеся средства компиляции позволяют быстро исправить код и повторно запустить на выполнение, без дополнительных средств разработки.
Программный модуль является и клиентом, и сервером в одном лице, а способ работы определяют по наличию локально установленной платы на компьютере.
Программа начинает работу специальной процедурой опроса наличия платы; если результат опроса положительный, то программа в дальнейшем оперирует процедурами серверной части модуля, в противном случае по указанному IP адресу высылается тестовый пакет информации с целью определения «запущен ли модуль в режиме сервера».
Схематично взаимодействие программы можно отобразить в следующем виде (рис.3).
Через сетевой интерфейс между клиентской и серверной частью передаются пакеты с командами следующего типа: «Загрузить и выполнить микрокод», «Файл к загрузке», «Получить результат», «Плата занята», «Проверка запущенного сервера». Затем команды, принятые серверной частью, расшифровываются и в зависимости от полученной команды выполняется та или иная процедура взаимодействия с платой. Помимо этого, серверная часть получает информацию о пути к микропрограмме в виде пути к файлу в сетевой папке для общего доступа.
Рис.3. Взаимодействие с платой NeuroMatriх по сети
Для корректной работы с платой были введены следующие ограничения
1. Файлы с микропрограммами должны находиться в папке с сетевым общим доступом. Это сделано для унифицирования пути расположения микропрограммы.
2. Серверная часть на время выполнения микропрограммы переходит в состояние «Занята», это исключает коллизии при попытках одновременно выполнять с разных компьютеров микропрограммы.
При выполнении лабораторных работ как на серверной, так и на клиентской части есть возможность получать микропрограмму из файла кода, написанного на ассемблере.
Выбрав файл *.ASM, возможно его компилировать в файл ELF и затем скомпоновать в файл ABS, который и будет являться исполняемым файлом на плате с NeuroMatrix.
Для запуска файла ABS удаленно его нужно выбрать (при этом файл должен располагаться в сетевой папке), указать количество возвращаемых параметров и нажать кнопку «Загрузить файл на плату».
Были введены ограничения с целью предотвратить изменение отладочных целей в нейропроцессоре и не допустить его программного зависания. Эти ограничения связаны с используемым адресным пространством платы. Для возможности съема данных с нейропроцессора надо предусмотреть в самом файле *.asm. (выгружая необходимые результаты в shared memory платы, начинающейся с адреса $C0000100). Внешний вид интерфейса взаимодействия программы с платой NM представлен на рисунке 4.
Рис.4. Внешний вид интерфейса взаимодействия программы с платой NM
На машине с установленной платой (Server) в программном интерфейсе становятся доступны все кнопки на экране, оперирующие функциями с платой, и в данном случае процесс обработки следует выполнять вручную строго по шагам.
- Лабораторная работа № 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
- Библиографический список