Нейросигнальний процесор NeuroMatrix NM6403 (фірма Модуль, Росія) показаний на рис. 4.6.
Основою NeuroMatrix NM6403 є процесорне ядро NeuroMatrixCore (NMC), яке є моделлю високопродуктивного процесора DSP з архітектурою VLIM/SIMD (мова Verilog). Ядро складається з двох базових блоків: 32-бітового процесора RISC і 64-бітового векторного процесора, які забезпечують виконання векторних операцій над даними змінної розрядності. Є два ідентичні програмовані інтерфейси для роботи із зовнішньою пам’яттю різного типу і два комунікаційні порти, апаратні і сумісні з портами ЦПС TMS320C4x, для можливості побудови багатопроцесорних систем.
Рисунок 4.6 – Стуктура NeuroMatrix NM6403
Основні характеристики:
– тактова частота – 50 MГц (20нс- час виконання будь-якої інструкції);
– технологія КМОП 0.5 мкм;
– корпус 256BGA;
– напруга живлення від 2.7 до 3.6 В;
– споживана потужність при 50MHz близько 1.3 Вт;
– умови експлуатації: -60…+85 C.
– RISC-ядро
– п’ятиступінчастий 32-розрядний конвеєр;
– 32- і 64-розрядні команди (зазвичай виконується дві операції в одній команді);
– два адресні генератори, адресний простір – 16 GB;
– два 64-розрядні програмовані інтерфейси з SRAM/DRAM- пам’яттю, що розділяється;
– формат даних – 32-розрядні цілі;
– регістри;
– 8, 32-розрядні регістри спільного призначення;
– 8, 32-розрядні адресні регістри;
– спеціальні регістри управління і стану;
– два високошвидкісні комунікаційні порти введення/виведення
– апаратно сумісний з портами TMS320C4x.
VECTOR-співпроцессор:
– змінна 64-розрядна довжина векторних операндів і результатів;
– формат даних – цілі числа, упаковані в 64-розрядні блоки, у формі слів змінної довжини від 1 до 64 розрядів кожне;
– підтримка векторно-матричних і матричних для матриці операцій;
– два типи функцій насичення на кристалі;
– три внутрішні 32×64-розрядні RAM-блоки.
Продуктивність:
– скалярні операції;
– 50 MIPS;
– 200 MOPS для 32-розрядних даних;
– векторні операції;
– від 50 до 50.000+ MMAC (мільйонів множень з накопиченням в секунду);
– інтерфейси з пам’яттю;
– пропускна спроможність двох 64-розрядних інтерфейсів з пам’яттю – до 800 Мбайт/сек;
– комунікаційні порти – до 20 Мбайт/сек кожен.
Основними особливостями даного нейропроцесора є:
– можливість роботи з вхідними сигналами (синапсами) і вагозмінної розрядності (від 1 до 64 біт), яка задається програмно, що забезпечує унікальну здатність нейропроцесора збільшувати продуктивність із зменшенням розрядності операндів;
– швидке підкачування нових вагів на фоні обчислень;
– 24 операції множення з накопиченням за один такт при довжині операндів 8 біт;
– V-апаратна підтримка емуляції нейромереж великої розмірності;
– реалізація функції активації у вигляді порогової функції або функції обмеження;
– наявність двох широких шин (по 64 розряди) для роботи із зовнішньою пам’яттю будь-якого типу: до 4Мб SRAM і 16 Гб DRAM;
– наявність двох байтових комунікаційних портів введення/виведення, апаратних сумісних з комунікаційними портами TMS320C4x для реалізації паралельних розподілених обчислювальних систем великої продуктивності.
– можливість працювати з| даними змінної розрядності за різними алгоритмами, що реалізовуються за допомогою програм, які зберігаються в зовнішньому запам’ятовуючому пристрої.
На рисунку 4.7 подана конструктивна реалізація NeuroMatrix 6403.
Рисунок 4.7 – Конструктивна реалізація NeuroMatrix 6403
Технічні характеристики:
– число вентилів на кристалі – 100.000;
– розмір кристала – 10 мм·10.5 мм при технології 0.7 мкм;
– споживана потужність – не більше 3 Вт;
– пікова продуктивність для байтових операндів – 720 MCPS (мільйонів з’єднань або множень з накопиченням в сек.) при тактовій частоті 30 Мгц; при бінарних операціях – 8640 MCPS.
Нейропроцесор завдяки своїй універсальності зможе застосовуватися як базовий елемент для плат нейроприскорювачів РС, для створення нейрокомп’ютерних паралельних обчислювальних систем великої продуктивності, а також для апаратної підтримки операцій над матрицями великої розмірності і в завданнях цифрової обробки сигналів. Використовується в нейроприскорювачах фірми Модуль (Росія).
На рисунку 4.8 подана конструктивна реалізація NeuroMatrixR NM6404.
|
Рисунок 4.8 – Конструктивна реалізація NeuroMatrixR NM6404
|
NeuroMatrixR NM6404 є високопродуктивним DSP-орієнтованим мікропроцесором RISC. У його склад входять два основні блоки: 32-розрядне RISC-ядро і 64-розрядний VECTOR- співпроцесор для підтримки операцій над векторами з елементами змінної розрядності. NM6404 за системою команд сумісний з попередньою версією NM6403. Є два ідентичні програмовані інтерфейси для роботи із зовнішньою пам’яттю різного типу і два комунікаційні порти, апаратних сумісних з портами ЦПС TMS320C4x, для можливості побудови багатопроцесорних систем.
Особливості:
– тактова частота – 133 MГц (8НМ – час виконання будь-якої інструкції);
– технологія КМОП 0.25 мкм;
– корпус PQFP256;
– напруга живлення від 2.5 В, 3.3 В, 5 В;
– споживана потужність – близько 1.0 Вт; умови експлуатації: – 40…+80 ºC.
RISC-ядро:
– п’ятиступінчастий 32-розрядний конвеєр;
– 32- і 64-бітові команди (зазвичай виконується дві операції в одній команді);
– 2 Мбіт внутрішній оперативний запам’ятовуючий пристрій;
– доступ до внутрішньої пам’яті сусідів;
– два адресні генератори, адресний простір – 16 GB;
– два 64-розрядні програмовані інтерфейси з DRAM/SRAM/DRAM/Flash ROM пам’яттю, що розділяється;
– 4 одночасних доступи до внутрішньої пам’яті; широкомовний режим доступу до зовнішньої пам’яті;
– 64 К Boot ROM; формат даних – 32-розрядні цілі; 4 канали DMA;
– два комунікаційні порти введення/виведення, апаратно сумісний з портами TMS320C4x; JTAG-сумісний налагоджувальний інтерфейс; система управління споживаною потужністю.
VECTOR-співпроцесор
– від 1 до 64-розрядна довжина векторних операндів і результатів;
– формат даних – цілі числа, упаковані в 64-розрядні блоки, в формі слів змінної довжини від 1 до 64 розрядів кожне;
– підтримка векторно-матричних і матричних для матриці операцій;
– 16 тактів на перезавантаження матриці коефіцієнтів;
– свопування робочої і тіньової матриці; два типи функцій насичення на кристалі.
Продуктивність:
– скалярні операції:
– 133 MIPS;
– 399 MOPS для 32-розрядних даних;
– векторні операції;
– від 133 до 38.000+ MMAC (мільйонів множень з накопиченням в секунду);
– інтерфейси з пам’яттю:
– пропускна спроможність двох 64-розрядних інтерфейсів з пам’яттю – 2128 Мбайт/сек;
– комунікаційні порти – до 20 Мбайт/с кожен.
На рисунку 4.9 поданий нейропроцесор Ма16 (фірма Siemens).
Рисунок 4.9 – Нейрочип Ма16 (Siemens)
Ма16 виготовлений за технологією КМОП (1 мкм), складається з 610 тис. транзисторів і виконує до 400 млн. операцій множення і додавання в секунду. Використовується як елементна база нейрокомп’ютера Synaps 1 і прискорювачів Synaps 2 і Synaps 3 (поширюваних сьогодні на ринку французькою фірмою Tiga Technologies).
Ма16 є програмованим каскадним процесором для векторних і матричних операцій. Він підтримує на апаратному рівні такі операції:
– матричне множення;
– матричне додавання/віднімання;
– нормування результату;
– обчислення векторної норми (метрики L1 і L2);
– обчислення векторної відстані (міра Манхетенна, геометрична відстань).
Таблиця 4.3 – Зведені дані з продуктивності нейропроцесорів
Найменування нейрочипа | Конфігурації | CPS | CPSPW | CPPS | CUPS| |
NLX420 | 32-16, 8 bit mode | 10M | 20K | 640M | – |
100 NAP | 4 chips, 2M wts, 16 bit mantissa | 250M | 125 | 256G | 64M |
WSI (Hitachi) | 576 neuron Hopfield | 138M | 3.7 | 10G | – |
N64000 (Inova) | 64-64-1, 8 bit mode | 871M | 128K | 56G | 220M |
MA16 | 1 chip, 25MHz | 400M | 15M | 103G | – |
ZISC036 | 64 8 bit element inp. Vector | – | – | – | – |
MT19003 | 4-4-1-, 32 MHz | 32M | 32M | 6.8G | – |
MD1220 | 8-8 | 9M | 1M | 142M | – |
NI 1000 | 256 5 bit element inp. Vector | 40 000 vec in sec. | – | – | – |
L-neuro-1 | 1-chip, 8 bit mode | 26M | 26K | 1.6G | 32M |
NM6403 | 8 bit mode, 50MHz | 1200M | 150M | 77G | – |
Процесор містить чотири ідентичні процесорні елементи, що працюють паралельно. Вхідні дані мають точність 16 біт, тактова частота 50 мГц. Для операцій матричного множення/додавання швидкість обчислень досягає 108 операцій/с. Програмне забезпечення працює в середовищі UNIX/XWIND і реалізоване на C++. Нейронна мережа теж описується на С++ або може вводиться інтерактивно за допомогою графічного інтерфейсу типу OSF/Motif, що дозволяє візуалізувати конфігурацію чипа після відображення на ньому структури мережі. Добре розвинені засоби тестування і емуляції. З 1995 року Ма16 є комерційно доступним продуктом.
Підводячи підсумки наведемо зведені дані з продуктивності деяких, найбільш цікавих, нейропроцесорів (табл. 4.3).
В порівнянні із звичайними комп’ютерами нейрокомп’ютери мають ряд переваг.
По-перше — високу швидкодію, пов’язану з тим, що алгоритми нейроінформатики мають високий ступінь паралельності.
По-друге — нейросистеми дуже стійкі до перешкод і руйнувань.
По-третє — стійкі і надійні нейросистеми можуть створюватися з ненадійних елементів, що мають значний розкид параметрів.
Не дивлячись на перераховані вище переваги ці пристрої мають ряд недоліків:
– вони створюються спеціально для вирішення конкретних задач, пов’язаних з нелінійною логікою і теорією самоорганізації. Вирішення таких задач на звичайних комп’ютерах можливе тільки чисельними методами;
– через свою унікальність ці пристрої досить дорогі.
В. П. КОЖЕМ’ЯКО, В. В. ДМИТРУК, Н. В. БЕЛІК
НАУКА І ТЕХНІЧНА ТВОРЧІСТЬ В НАВЧАЛЬНОМУ ПРОЦЕСІ (ВІД АБІТУРІЄНТА ДО АСПІРАНТА)