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

       

Нейросигнальный процессор NeuroMatrix NM6403 (фирма Модуль [9], Россия).


Рис.2. Стуктура NeuroMatrix NM6403.

Основой NeuroMatrix NM6403 является процессорное ядро NeuroMatrixCore (NMC), которое представляет собой синтезабильную модель высокопроизводительного DSP процессора с архитектурой VLIM/SIMD (язык Verilog). Ядро состоит из двух базовых блоков: 32-битного RISC процессора и 64 битного векторного процессора, обеспечивающего выполнение векторных операций над данными переменной разрядности (патент РФ.N2131145). Имеются два идентичных программируемых интерфейса для работы с внешней памятью различного типа и два коммуникационных порта, аппаратно совместимых с портами ЦПС TMS320C4x, для возможности построения многопроцессорных систем.

Основные характеристики:

  • тактовая частота - 50 MГц (20нс - время выполнения любой инструкции);
  • технология КМОП 0.5 мкм;
  • корпус 256BGA;
  • напряжение питания от 2.7 до 3.6 В;
  • потребляемая мощность при 50MHz около 1.3 Вт;
  • условия эксплуатации: -60...+85 C.

    RISC-ядро

  • 5-ти ступенчатый 32-разрядный конвейер;
  • 32- и 64-разрядные команды (обычно выполняется две операции в одной команде);
  • два адресных генератора, адресное пространство - 16 GB;
  • два 64-разрядных программируемых интерфейса с SRAM/DRAM-разделяемой памятью;
  • формат данных - 32-разрядные целые;
  • регистры:

    • 8 32-разрядных регистров общего назначения;
    • 8 32-разрядных адресных регистров;

  • специальные регистры управления и состояния;
  • два высокоскоростных коммуникационных порта ввода/вывода,
  • аппаратно совместимых с портами TMS320C4x.

    VECTOR-сопроцессор

    • переменная 1-64-разрядная длина векторных операндов и результатов;
    • формат данных - целые числа, упакованные в 64-разрядные блоки, в форме слов переменной длины от 1 до 64 разрядов каждое;
    • поддержка векторно-матричных и матрично-матричных операций;
    • два типа функций насыщения на кристалле;
    • три внутренних 32x64-разрядных RAM-блока.

    Производительность:

    • скалярные операции:

      • 50 MIPS;
      • 200 MOPS для 32-разрядных данных;

    • векторные операции:

      от 50 до 50.000+ MMAC (миллионов умножений с накоплением в секунду);

    • I/O и интерфейсы с памятью:
    • пропускная способность двух 64-разрядных интерфейсов с памятью - до 800 Мбайт/сек;
    • I/O коммуникационные порты - до 20 Мбайт/сек каждый.


    Базовыми для нейропроцессора являются вычисления вида: Zi= f(Yi) = f (Ui+е(XjWij), (i=1, .. , M;j=, ..,N), где Zi - выходной сигнал i-ro нейрона, Xj - j-й входной сигнал слоя, Ui - смещение i-ro нейрона,Wij -весовой коэффициент j-го входа 1-го нейрона, Yi - сумма взвешенных входов i-го нейрона, f- функция активации, N - количество входных сигналов слоя, М - количество нейронов в слое; Операнды Zi, Xi, Ui и Wij представлены в дополнительном параллельном коде и могут иметь произвольную разрядность. Основными особенностями данного нейропроцессора являются:


    • возможность работы с входными сигналами (синапсами) и весами переменной разрядности (от 1 до 64 бит), задаваемой программно, что обеспечивает уникальную способность нейропроцессора увеличивать производительность с уменьшением разрядности операндов;
    • быстрая подкачка новых весов на фоне вычислений;
    • (24 операции умножения с накоплением за один такт при длине операндов 8 бит);
    • V аппаратная поддержка эмуляции нейросетей большой размерности;
    • реализация функции активации в виде пороговой функции или функции ограничения;
    • наличие двух широких шин (по 64 разряда) для работы с внешней памятью любого типа: до 4Мб SRAM и до 16 Гб DRAM;
    • наличие двух байтовых коммуникационных портов ввода/вывода, аппаратно совместимых с коммуникационными портами TMS320C4x для реализации параллельных распределенных вычислительных систем большой производительности.
    • возможность работать с данными переменной разрядности по различным алгоритмам, реализуемым с помощью хранящихся во внешнем ОЗУ программ.


    Рис.3. Конструктивная реализация NeuroMatrix 6403.

    Технические характеристики:


    • число вентилей на кристалле - 100.000;
    • размер кристалла - 10 мм * 10.5 мм при технологии 0.7 мкм;
    • потребляемая мощность - не более 3 Вт;
    • пиковая производительность для байтных операндов - 720 MCPS (миллионов соединений или умножений с накоплением в сек.) при тактовой частоте 30 Мгц; при бинарных операциях - 8640 MCPS.


    Нейропроцессор благодаря своей универсальности сможет применяться как базовый элемент для плат нейроускорителей PC, для создания нейрокомпьютерных параллельных вычислительных систем большой производительности, а также для аппаратной поддержки операций над матрицами большой размерности и в задачах цифровой обработки сигналов.Используется в нейроускорителях фирмы Модуль (Россия) [9].


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