Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка (НСиНК) - лабораторные работы.doc
Скачиваний:
24
Добавлен:
15.04.2015
Размер:
356.35 Кб
Скачать

Лабораторная работа № 1 Архитектура нейромикропроцессоров семейства NeuroMatrix® nm640х и их функциональные возможности

Цель работы: ознакомление с общей архитектурой, функциональными особенностями современных нейромикропроцессоров семейства NeuroMatrix® NM640Х (Л1879ВМХ) и его отличиями от других процессоров этого класса с целью изучения основ программирования процессора.

1. Описание и порядок пользования программой nmcalculator

1.1. Формирование векторной команды

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

Рекомендуется соблюдать следующий порядок формирования команды.

  1. Определить операционное устройство: либо рабочая матрица (операция взвешенного суммирования), либо векторное АЛУ. В первом случае – установить флажок "Vsum".

  2. Если необходимо, то подключить регистры маскирования и активации. При работе с векторным АЛУ задать требуемую арифметико-логическую операцию в группе переключателей "Operations".

  3. Задать необходимое разбиение матрицы.

  4. Ввести входные значения.

Действия пользователя по формированию команды отображаются в поле "Command". Обозначения, принятые при выводе команды, не соответствуют реальным устройствам процессора Л1879ВМ1. Например, команда маскирования может выглядеть следующим образом: rep 1 with mask M , shift X , activate Y.

В реальной команде вместо операндов M, X и Y необходимо использовать существующие аппаратные ресурсы (data, ram, afifo и т. д.).

1.2. Разбиение рабочей матрицы и запись весовых коэффициентов

Для разбиения матрицы на строки и столбцы можно либо воспользоваться выпадающим списком стандартных разбиений (nbl, nbh, sbl, sbh), либо вводить константы разбиения в окна ввода, либо разбить матрицу в визуализаторе с помощью кнопок-переключателей. Все изменения в матрице отображаются в визуализаторе и в окнах ввода. Для удобства 64-разрядные регистры разбиения (nb1 и sb) разделены на младшие и старшие части. При необходимости можно скопировать значение младшей части регистра в старшую часть (кнопка "->"). Следует учитывать, что при работе с арифметико-логическими командами (в отличие от команд взвешенного суммирования) разбиение можно задать только в регистрах nbl и nbh, то есть векторы на входах X и Y будут иметь одинаковое разбиение. В операции взвешенного суммирования разбиение на столбцы (nbl, nbh) может отличаться от разбиения на строки (sbl, sbh). Весовые коэффициенты можно задать щелчком мыши в визуализаторе матрицы, устанавливая/сбрасывая необходимые биты. Альтернативный способ – вызов окна диалога из всплывающего меню. В этом случае можно задать значение всей строке либо одному весовому коэффициенту. В окне диалога предусмотрен ввод шестнадцатеричных и десятичных значений. Для просмотра всех введённых весов можно воспользоваться генератором кода (кнопка "Code"). Весовые коэффициенты будут записаны в секцию данных в массиве Weights.

1.3. Установка входных значений

Входные значения (Entry X, Entry Y), маску (Mask X, Mask Y), пороги для функции активации можно задать щелчком мыши в визуализаторе матрицы на соответствующих регистрах, устанавливая/сбрасывая необходимые биты либо вводя значения в соответствующие окна ввода.