- •Лабораторная работа n 1 основы языка программирования пролог. Изучение среды turbo prolog.
- •Запустить Turbo Prolog
- •1.1 Основные понятия языка Турбо Пролог.
- •1.1.2. Факты
- •1.1. 3 . Запросы
- •1.2. Разделы программы на языке Турбо Пролог.
- •2. Среда turbo prolog 2.0.
- •2.1. Интерфейс среды Турбо Пролог 2.0.
- •2.1 Элементы главного меню и их функции:
- •2.3 Основные операции в среде Турбо Пролог.
- •2. 4 . Трассировка.
- •Лабораторная работа n 2 понятие правила и рекурсии. Встроенные предикаты.
- •1. Правила
- •1.1. Дерево вывода.
- •2. Рекурсия
- •3.Использование встроенных предикатов.
- •4. Задание для лабораторной работы
- •4.1. Варианты заданий
- •5. Контрольные вопросы.
- •Лабораторная работа № 3 интегрированная среда разработки visual prolog
- •1. Создание нового проекта.
- •2. Создание формы.
- •3. Работа с меню
- •4. Создание обработчиков нажатия на кнопку.
- •5. Задание для лабораторной работы
- •6. Контрольные вопросы.
- •2. Преобразование данных
- •3. Арифметические действия
- •Лабораторная работа № 5 построение нейросетевой экспертной системы
- •5.1. Цель работы
- •5.2. Методические указания
- •5.2.1. Постановка задачи
- •5.2.2. Критерии оценки
- •5.2.3. Ввод анализируемых данных
- •5.2.3.1. Использование файла запуска фактов
- •5.2.3.2. Использование протокола dde
- •5.3. Порядок выполнения работы
- •Лабораторная работа №6 Архитектура процессора NeuroMatrix ® nm 6403 и его функциональные возможности
- •6.3.2. Внешний интерфейс процессора
- •6.3.3. Общее описание внутренней структуры процессора
- •6.3.3.1. Описание основных элементов скалярного процессора
- •6.3.3.2. Описание основных элементов векторного процессора
- •6.3.4. Основные вычислительные блоки векторного процессора
- •6.3.4.1. Взвешенное суммирование
- •6.3.4.2. Выполнение операций на векторном алу
- •6.3.4.3 Операция маскирования
- •6.3.4.4 Обработка данных функцией активации
- •6.3.4.5 Циклический сдвиг вправо операнда х при взвешенном суммировании
- •6.3.4.6 Порядок выполнения преобразований над данными на вп
- •6.4. Описание и порядок пользования программой nmCalculator запустить nmCalculator
- •6.4.1 Общие сведения о программе
- •6.4.2 Формирование векторной команды
- •6.4.3 Разбиение рабочей матрицы и запись весовых коэффициентов
- •Контрольные вопросы
- •Лабораторная работа № 7 Программирование процессора NeuroMatrix ® nm 6403
- •7.2.3 Типы скалярных команд
- •7.2.4 Типы векторных команд
- •7.2.5 Регистры процессора
- •7.2.5.1 Основные регистры
- •7.2.5.2 Регистровые пары
- •7.3. Примеры простейших программ
- •7.4. Порядок выполнения работы
6.3.4.5 Циклический сдвиг вправо операнда х при взвешенном суммировании
Данные, поступающие на вход Х при операции взвешенного суммирования или маскирования, могут быть подвергнуты циклическому смещению на один бит вправо. Это смещение необходимо для того, чтобы компенсировать неудобства, которые возникают из-за невозможности разбиения данных, подаваемых на вход X рабочей матрицы, на элементы нечетной разрядности, в частности на элементы разрядности 1 бит. Так как регистр sb2 не позволяет задать побитовое разбиение данных на входе Х, необходим дополнительный преобразователь для того, чтобы обеспечить обработку старших битов при двухбитовом разбиении. Это преобразование обеспечивает циклический сдвиг вправо на один бит. В этом случае старшие биты двухбитовых слов становятся младшими.
Рис. 1-12 Порядок выполнения преобразований над данными в ВП.
Другими словами устройство циклического сдвига позволяет обеспечить побитовую коммутацию входных и выходных битов, то есть любой бит входного слова путем преобразования на рабочей матрице поставить в произвольную позицию в выходном.
Циклический сдвиг вправо осуществляется на один бит. При этом разбиение на элементы не учитывается, то есть сдвигается целиком все слово. Его младший бит становится самым старшим (63-им), первый нулевым, второй первым и т.д.
Циклический сдвиг работает при любом разбиении матрицы на строки, влияет только на данные, поступающие на вход Х, встречается только в командах взвешенного суммирования и логического маскирования. Активизируется устройство циклического сдвига при использовании в векторной команде ключевого слова shift, расположенного перед операндом X.
6.3.4.6 Порядок выполнения преобразований над данными на вп
При выполнении вычислений на векторном процессоре помимо рабочей матрицы и векторного АЛУ могут использоваться также блоки, выполняющие маскирование, функции активации, циклический сдвиг данных. Если несколько устройств задействованы в одной векторной инструкции, то необходимо знать, в какой последовательности выполняются преобразования над данными.
В зависимости от того, направляются ли данные на обработку в векторное АЛУ или в рабочую матрицу, они проходят через разные вычислительные блоки:
Примечание На Рис. 1-11b регистр сдвига может использоваться только в операции логического маскирования (см. 1.4.3.Операция маскирования).
Каждый блок обработки может пропускать через себя данные без изменений, либо модифицировать их. Это определяется ассемблерной инструкцией. Если в инструкции указано, например, что необходимо выполнить циклический сдвиг вправо операнда Х, то регистр сдвига включается в работу, иначе он пропускает данные через себя не модифицируя их.
6.4. Описание и порядок пользования программой nmCalculator запустить nmCalculator
6.4.1 Общие сведения о программе
NMCalculator – интерактивный помощник разработчикам программного обеспечения для процессора Л1879ВМ1. Программа может быть полезна и программистам, осваивающим язык ассемблера и методы программирования векторного узла процессора. Данное приложение является, в некотором смысле, программной моделью векторного узла. В программе нет полного соответствия реальным аппаратным ресурсам процессора Л1879ВМ1, однако, такое абстрагирование упрощает процесс разработки программ, позволяя программисту сосредоточиться на решении основной задачи. NMCalculator предоставляет разработчику возможность сформировать векторную команду и сразу же получить результат. Программа способна эмулировать векторные команды в которых задействуется векторное АЛУ, или рабочая матрица (операции взвешенного суммирования). Пользовательский интерфейс программы состоит из двух частей:
- слева расположены элементы управления, с помощью которых можно сформировать векторную команду, ввести исходные данные и получить отчёт о текущем состоянии регистров;
- в правой части визуализируется состояние регистров и рабочей матрицы, причём регистры и рабочая матрица могут модифицироваться как в левой, так и в правой части.
При формировании векторной команды и задании входных параметров производится контроль над действиями пользователя, таким образом, можно не опасаться за неверно введённые значения. Программой генерируется пример ассемблерного кода – реализация функции, в которой используется сформированная пользователем векторная команда.