Основные общенаучные принципы, положенные в основу разработки, описание достигнутых технических решений и их новизна
Идея состоит в разработке программного комплекса для полноценной работы с нейропроцессорными устройствами и нейропроцессорными системами в части разработки программ (среда разработки программ), доступа к реальным устройствам (как минимум терминальный доступ), проектирования систем, моделирования программы и системы и обучения языкам нейроассемблера для особого класса процессоров – процессоров 6-го поколения, широко используемых в настоящее время в военной и космической промышленности. Программный комплекс должен работать на любом компьютере как с использованием нейропроцессора, так и без него (с использованием эмулятора). Планируется использование всевозможных нейропроцессоров (в настоящее время реализовано семейство нейропроцессоров NM6403, NM6404, NM6405+эмулятор+плата МЦ4.31).
В процессе разработки данного программного обеспечения решались задачи:
-
Адаптация общей технологии проектирования многопроцессорных систем для систем на базе нейропроцессора NM6403;
-
Разработка структуры комплекса в соответствии с технологией проектирования;
В программном комплексе реализованы все возможности для обеспечения всего цикла проектирования нейропроцессорных систем в соответствии технологией проектирования. Структура комплекса состоит из 5-ти основных модулей.
-
Разработка структур на базе нейропроцессоров;
Были предложены базисные структуры: конвейерная, векторная, векторно-конвейерная, конвейерно-векторная. Выбор структуры представлен модулем “Конструктор систем”, где можно задать описание структуры.
-
Разработка метода структурно-параметрического синтеза структур;
Данный метод выбора рациональной структуры по входному алгоритму основан на теории классов эквивалентности и понятии параллелизма выполнения подпрограмм, для которых выполняется отношение равенства.
-
Разработка модели процессора NM6403 для исследования кода и программных затрат;
Был разработан класс в виде dll-библиотеки, позволяющий моделировать выполнение любой команды процессора NM6403 с описанием характеристик команды: время работы команды, описание команды, программные затраты, методы оптимизации и т.п. данная библиотека может подключаться и использоваться в других программах.
-
Разработка моделей нейропроцессорных структур;
В соответствии с разработанными структурами были разработаны модели данных архитектур. Моделирование происходит без участия реального процессора, что позволяет решить проблему отсутствия аппаратных средств для разработки вычислительных систем.
-
Разработка интерфейса и функциональной части комплекса.
Была выбрана многодокументная модель интерфейса. Интерфейс был разработан с соблюдением стандартов проектирования программного обеспечения такого типа и напоминает интерфейс среды разработки программ Visual Studio 2010.
-
Разработка функциональной части комплекса
Программный комплекс был разработан на языке C# с использованием среды разработки Visual Studio 2010. Программный код разработки составляет около 150 тыс. строк. Включает 2 внешних библиотеки (для моделирования и терминального доступа модуля, 27 форм), модуля, 27 форм.
Рыночные преимущества проекта;
Рассмотрим существующие аналоги проекта:
Полнофункциональных аналогов данного программного комплекса не существует. Функция моделирования векторного сопроцессора реализована в программе NMCalculator, кроме этого никаких функций там нет. Нейропроцессора ранее не рассматривались как отдельный класс процессоров и не было программных средств для класса нейропроцессоров. Программные средства для конкретных нейропроцессоров касаются лишь средств разработки программ и терминальных средств компиляции. Таким образом, проект имеет преимущества в области работы с классом нейропроцессорных устройств и практически не имеет аналогов в данной сфере, что делает его единственным товаров такого рода. При установлении не слишком большой цены на продукцию можно получить значительную прибыль.
Стадия разработки
В настоящее время проект находится на этапе завершения. Программный комплекс находится в стадии альфа-тестирования. Но планируется добавление новых подсистем в частности: управления системой с целью безотказной работы и диагностики нейропроцессорной системы, а также загрузки программного кода в нейропроцессор с целью создания простой операционной системы (опытный образец уже разработан и используется в других проектах). Также планируется подсистема полуавтоматического распараллеливания кода на языках нейроассемблера и улучшение анализа эффективности из-за внутреннего параллелизма нейропроцессора.
Перспективы реализации
Рассмотрим потенциальных потребителей продукции, получаемой в результате реализации проекта:
-
ВУЗы, участвующие в университетской программе НТЦ “Модуль” (их около 50); Отечественные и зарубежные заводы, фирмы и компании – разработчики аппаратного и программного обеспечения на базе нейропроцессоров (в России около 100, иностранных около 500, включая IBM, Siemens, Texas Instruments).
-
Разработчики, работающие с нейропроцессорными устройствами и языками нейроассемблера;
-
Разработчики, интересующиеся проблемами искусственного интеллекта и нейросетей.
Таким образом, может быть продано более 100 копий. Большой набор функциональных возможностей будет способствовать более широкому применению комплекса для различного применения а актуальность проекта будет возрастать с распространением нейропроцессорных и нейросетевых технологий. В дальнейшем на базе данного проекта планируется развитие нескольких проектов, таких как шифрование, сжатие и обработка информации на базе нейропроцессоров (Программный комплекс “НейроКС” входит в состав программных средств для реализации данных проектов).
Предполагаемая социальная эффективность реализации проекта
Проект позволит разрабатывать новые перспективные устройства и программное обеспечения с использованием нейропроцессорных устройств гораздо легче, быстрее, надежнее и качественнее.
Графические материалы
Архитектура программного комплекса представлена на рисунке 1.
Рисунок 1 Архитектура программного комплекса
Подсистема моделирования векторного сопроцессора представлена на рисунке 2.
Рисунок 2 – Моделирование векторного сопроцессора
Подсистема моделирования скалярного процессора представлена на рисунке 1.
Рисунок 3 – Моделирование скалярного процессора
Подсистема проектирования многопроцессорной системы на базе нейропроцессоров представлена на рисунке 2.
Рисунок 4 – Конструирование системы
Библиографический список
-
Галушкин А.И., Нейрокомпьютеры. Кн.3. – М: ИПРЖР, 2000. – 528 с.
-
Злобин В.К., Ручкин В.Н. Нейросети и нейрокомпьютеры: Учеб. пособие. /В.К., Злобин. В.Н. Ручкин. – СПб.: БХВ-Петербург, 2011. – 256 с..
-
Головкин Б.А. Вычислительные системы с большим числом процессоров. М.: Радио и связь, 1995. – 320 с.
-
Калинкина Т.И., Костров Б.В., Ручкин В.Н. Телекоммуникационные и вычислительные сети. Архитектура, стандарты и технологии. – СПб.: БХВ-Петербург, 2010. – 288 с.
-
Романчук В.А., Ручкин В.Н. Разработка программных средств анализа нейропроцессорных систем // Вестник РГРТУ. 2010. №2. Вып.32. С.61-67.