logo
Методичка (НСиНК) - лабораторные работы

2.4. Удаленный доступ к плате NeuroMatrix

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

Ограничения безопасности на компьютерах клиента не ограничивает функциональность программы.

  1. Возможен доступ к плате по сети с любого количества компьютеров.

  2. Имеющиеся средства компиляции позволяют быстро исправить код и повторно запустить на выполнение, без дополнительных средств разработки.

Программный модуль является и клиентом, и сервером в одном лице, а способ работы определяют по наличию локально установленной платы на компьютере.

Программа начинает работу специальной процедурой опроса наличия платы; если результат опроса положительный, то программа в дальнейшем оперирует процедурами серверной части модуля, в противном случае по указанному IP адресу высылается тестовый пакет информации с целью определения «запущен ли модуль в режиме сервера».

Схематично взаимодействие программы можно отобразить в следующем виде (рис.3).

Через сетевой интерфейс между клиентской и серверной частью передаются пакеты с командами следующего типа: «Загрузить и выполнить микрокод», «Файл к загрузке», «Получить результат», «Плата занята», «Проверка запущенного сервера». Затем команды, принятые серверной частью, расшифровываются и в зависимости от полученной команды выполняется та или иная процедура взаимодействия с платой. Помимо этого, серверная часть получает информацию о пути к микропрограмме в виде пути к файлу в сетевой папке для общего доступа.

Рис.3. Взаимодействие с платой NeuroMatriх по сети

Для корректной работы с платой были введены следующие ограничения

1. Файлы с микропрограммами должны находиться в папке с сетевым общим доступом. Это сделано для унифицирования пути расположения микропрограммы.

2. Серверная часть на время выполнения микропрограммы переходит в состояние «Занята», это исключает коллизии при попытках одновременно выполнять с разных компьютеров микропрограммы.

При выполнении лабораторных работ как на серверной, так и на клиентской части есть возможность получать микропрограмму из файла кода, написанного на ассемблере.

Выбрав файл *.ASM, возможно его компилировать в файл ELF и затем скомпоновать в файл ABS, который и будет являться исполняемым файлом на плате с NeuroMatrix.

Для запуска файла ABS удаленно его нужно выбрать (при этом файл должен располагаться в сетевой папке), указать количество возвращаемых параметров и нажать кнопку «Загрузить файл на плату».

Были введены ограничения с целью предотвратить изменение отладочных целей в нейропроцессоре и не допустить его программного зависания. Эти ограничения связаны с используемым адресным пространством платы. Для возможности съема данных с нейропроцессора надо предусмотреть в самом файле *.asm. (выгружая необходимые результаты в shared memory платы, начинающейся с адреса $C0000100). Внешний вид интерфейса взаимодействия программы с платой NM представлен на рисунке 4.

Рис.4. Внешний вид интерфейса взаимодействия программы с платой NM

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