НЕЙРОКОМПЬЮТЕРЫ - АРХИТЕКТУРА И РЕАЛИЗАЦИЯ

       

Нейроускорители на базе ПЛИС.


Построение нейровычислителей на базе ПЛИС с одной стороны позволяет гибко реализовать различные нейросетевые парадигмы, а с другой сопряжено с большии проблемами разводки всех необходиых межсоединений. Выпускаемые в настоящее время ПЛИС имеют различные функциональные возожности (с числом вентилей от 5 до 100 тысяч). Нейровычислители на базе ПЛИС - как правило позиционируются как гибкие нейровычислительные систеы для научно-исследовательских целей и елкосерийного производства. Для построения более производительных и эффективных нейровычислителей как правило требуется применение сигнальных процессоров.

Вопросам создания нейровычислителей на ПЛИС посвящено большое число работ, представленных на прошедшей выставке "Нейрокомпьютеры и их применение". Мы, в качестве примера, рассмотрим нейровычислитель созданный в НИИ Систеных исследований (РАН) [3].

Рис.1. Внешний вид ППВ.

Параллельный перепрограммируемый вычислитель (ППВ) разработан в стандарте VME и реализован на базе перепрограммируемых микросхем семейства 10К фирмы Altera. Вычислитель предназначается для работы в качестве аппаратного ускорителя и является ведомым устройством на шине VME. Он должен включаться в систему как подчиненное устройство основной управляющей ЭВМ (host-машины) с универсальным процессором. Тактовая частота вычислителя 33 МГц [3].

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

Вычислитель состоит из следующих функциональных блоков [3]:

  • схема управления (Сх Упр);
  • базовые вычислительные элементы (БВЭ1-БВЭ6);
  • контроллер внешней шины (Контроллер E-bus);
  • контроллер системной шины (Контроллер VME);
  • два массива статической памяти (ОЗУ0, ОЗУ1);
  • блок высокоскоростных приемников/передатчиков.

    Схема управления используется для управления БВЭ и потоками данных в вычислителе и представляет собой простейший RISC процессор.
    Структура и набор команд процессора могут изменяться в зависимости от типа решаемой задачи.

    БВЭ используются для выполнения простейших арифметических операций типа суммирования, вычитания, умножения и вычисления пороговых функций. Так как БВЭ реализованы на перепрограммируемых микросхемах, их архитектура может изменяться. Архитектура БВЭ для различных алгоритмов может отличаться, но обычно легко реализуются путем комбинации библиотечных функций, компиляции их при помощи САПР (типа MaxPlus) и загрузки файла конфигурации в выбранный БВЭ.

    Рис.2. Структурная схема ППВ [3].

    Два массива локальной статической памяти собраны из 8 микросхем статической памяти емкостью 0,5 Мбайт, имеют размер 4Мбайт и организованы как массив 512К 8-байтовых слов. Массивы памяти связаны со схемой управления отдельными адресными шинами и могут функционировать независимо друг от друга. Память предназначена для хранения общих коэффициентов, а также промежуточных результатов вычислений или окончательных результатов, подготовленных к передаче через контроллер системной шины в центральный процессор или через контроллер E-bus на линк-порты.

    Связь нескольких вычислителей между собой или вычислителя с устройством оцифровки изображения, при наличии у устройства оцифровки соответствующего интерфейса, осуществляется посредством последовательного канала приемников/передатчиков HOTLink фирмы CYPRESS. Управление передачей данных выполняет контроллер внешней шины, который представляет из себя набор 4-х стандартных FIFO и регистров управления и данных. Контроллер шины VME выполняет функцию интерфейса с центральным процессором и является стандартным устройством.

    С точки зрения программиста вычислитель можно представить как RISC-процессор (схема управления или управляющий процессор) и шесть векторных процессоров (вычислительных элементов), отрабатывающих SIMD-команды (одна команда для многих данных). Большое количество шин данных, возможность одновременной работы всех БВЭ и выполнение арифметических операций умножения и сложения за один такт позволяет эффективно распараллеливать процесс обработки информации.



    Особенностью схемы управления перепрограммируемого вычислителя для систем обработки информации является наличие рабочей команды, управляющей шестью базовыми вычислительными элементами. Команда позволяет одновременно, за один такт, задавать различные режимы функционирования шести базовым вычислительным элементам и инкрементировать адреса обоих массивов памяти на любое число от 0 до 255, хранимое в регистрах инкремента, причем каждому массиву соответствует свой регистр. Команда может повторяться любое количество раз в соответствии со значением, хранимым в специальном регистре. Это позволяет выполнять основную команду без потерь на организацию циклов и переходов. Рабочая команда позволяет одновременно запускать оба контроллера локальной памяти, инкрементировать адресные регистры на требуемое значение, выставлять на адресные шины адреса из соответствующих регистров адреса, выставлять на шины управления БВЭ команды из соответствующих регистров БВЭ. Кроме того, рабочая команда осуществляет организацию обмена данными между контроллером внешней шины и локальной памятью.

    Таблица 1.

    Название алгоритма Pentium-100, с PentiumII-333, с Ultra SPARC, c ППВ, с
    Свертка с ядром 4х4 3) 0.65 0.11 0.76 0.02
    Медианный Фильтр 1.97 0.49 0.75 0.001
    Повышение контрастности 0.51 0.13 1.31 0.004
    Прямое поточечное сравнение с маской 32х32 4) 43.78 7.14 58.89 0.142
    Поиск локальных неоднородностей 32х32 0.120 0.028 0.146 0.032
    Умножение матрицы на матрицу 8.61 0.60 12.31 0.011
    Оценки приведены для:

    Pentium-100 при частоте 100 МГц, объем ОЗУ 16 Мбайт;

    Pentium-333 при частоте 350 МГц, объем ОЗУ 128 Мбайт;,br>

    UltraSPARC при частоте 200 МГц, объем ОЗУ 64 Мбайт;,br>

    Вычислителя при частоте 33 МГц.

    Методика быстрого создания нейровычислителей на ПЛИС приведена в [6]. Основные тенденции в проектировании нейровычислителей на ПЛИС - это увеличение плотности копоновки нейрокристаллов за счет уменьшения площади ежсоединений и функциональных узлов цифровых нейронов. Для решения этой задачи находят приенение:

  • применение оптических связей для передачи инфорации между нейронами.
  • модификации программно-аппаратной реализации функциональных элементов для нейровычислений.
  • оптимизация представления промежуточных данных в слоях нейронов - нейросети со сжатой формой внутренних данных.


    Содержание раздела