- •Лабораторная работа №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
- •Список используемой литературы:
Замена по таблице
Первое слово:
Входное слово |
0000 0001 |
0000 1011 |
0001 0100 |
0000 0000 |
Замена |
1101 0111 |
1010 0100 |
1110 0001 |
1000 1110 |
Второе слово:
Входное слово |
0001 0110 |
0000 1011 |
0001 0101 |
0000 0000 |
Замена |
1000 1111 |
1010 0100 |
1110 1101 |
1000 1110 |
Сдвиг на 11 разрядов
Первое слово:
Входное слово |
1101 0111 |
1010 0100 |
1110 0001 |
1000 1110 |
Сдвиг |
0010 0111 |
0000 1100 |
0111 0110 |
1011 1101 |
Второе слово:
Входное слово |
1000 1111 |
1010 0100 |
1110 1101 |
1000 1110 |
Сдвиг |
0010 0111 |
0110 1100 |
0011 1010 |
0011 1110 |
S+N2 mod 2
Первое слово:
S |
0010 0111 |
0000 1100 |
0111 0110 |
1011 1101 |
N2 |
0100 1110 |
0100 0101 |
0100 0101 |
0101 0001 |
S+N2 mod 2 |
0110 1001 |
0100 1001 |
0011 0011 |
1110 1100 |
Второе слово:
S |
0010 0111 |
0110 1100 |
0011 1010 |
0011 1110 |
N2 |
0101 0001 |
0100 1110 |
0100 0001 |
0100 1100 |
S+N2 mod 2 |
0111 0110 |
0010 0010 |
0111 1011 |
0111 0010 |
Вторая итерация
Первое слово N1: 4E 45 45 51
Второе слово N1: 51 4E 41 4C
K2: 52 54 5F 53
N1+K1 mod 2
Первое слово:
N1 |
0100 1110 |
0100 0101 |
0100 0101 |
0101 0001 |
K1 |
0101 0010 |
0101 0100 |
0101 1111 |
0101 0011 |
N1+K1 mod2 |
0001 1100 |
0001 0001 |
0001 1010 |
0000 0010 |
Второе слово:
N1 |
0101 0010 |
0100 1110 |
0100 0110 |
0100 0101 |
K1 |
0101 0010 |
0101 0100 |
0101 1111 |
0101 0011 |
N1+K1 mod2 |
0000 0000 |
0001 1010 |
0001 1001 |
0001 0110 |
Замена по таблице
Первое слово:
Входное слово |
0001 1100 |
0001 0001 |
0001 1010 |
0000 0010 |
Замена |
1000 1010 |
1011 1101 |
1110 1100 |
1000 1111 |
Второе слово:
Входное слово |
0000 0000 |
0001 1010 |
0001 1001 |
0001 0110 |
Замена |
1101 0100 |
1011 1001 |
1110 0111 |
1111 1011 |
