Елементною базою нейрообчислювальних систем другого і третього напрямів є відповідно замовлені кристали (ASIC), вбудовувані мікроконтролери (mС), процесори спільного призначення (GPP), програмована логіка (FPGA – ПЛІС), трансп’ютери, цифрові сигнальні процесори (DSP) і нейрочіпи. Причому використання як тих, так і інших, дозволяє сьогодні реалізовувати нейрообчислювачі, що функціонують в реальному масштабі часу, проте найбільше використання при реалізації нейрообчислювачів знайшли ПЛІС, DSP і звичайно нейрочипи|.
Трансп’ютери (T414, T800, T9000) і зокрема трансп’ютероподібні елементи є важливими для побудови обчислювальних систем з масовим паралелізмом, а їх застосування поступово зсовується у бік комутаційних систем і мереж ЕОМ, хоча ще залишаються приклади реалізації на них шарів деяких ЕОМ з масовим паралелізмом у вигляді решітки процесорних елементів.
DSP (Digital Signal Processor – цифровий сигнальний процесор), маючи потужну обчислювальну структуру, дозволяє реалізувати різні алгоритми обробки інформаційних потоків. Порівняно невисока ціна, а також розвинені засоби розробки програмного забезпечення дозволяють легко застосовувати їх при побудові обчислювальних систем з масовим паралелізмом.
Стрімкий перехід сучасних систем управління на цифрові стандарти, привів до необхідності обробляти з високою швидкістю достатньо великі об’єми інформації. Складна обробка і фільтрація сигналів, наприклад, розпаковування стислих аудіо- і відеоданих, маршрутизація інформаційних потоків і тому подібне, вимагає застосування достатньо продуктивних обчислювальних систем. Подібні системи можуть бути реалізовані на різній елементній базі, але найбільшого поширення набули пристрої із застосуванням цифрових сигнальних процесорів і ПЛІС.
Програмована логіка здатна працювати на вищих частотах, але оскільки управління реалізовано апаратно, та зміна алгоритмів роботи вимагає перепрограмування ІС. Низька тактова частота DSP поки що обмежує максимальну частоту оброблюваного аналогового сигналу до рівня в 10-20 Мгц, але програмне управління дозволяє достатньо легко змінювати не лише режими обробки, але і функції, виконувані DSP. Окрім обробки і фільтрації даних DSP можуть здійснювати маршрутизацію цифрових потоків, вироблення сигналів урпавління і навіть формування сигналів системних шин ISA, PCI і ін.
Оцінювати швидкодію тих або інших пристроїв на основі DSP і ПЛІСУ прийнято за часом виконання типових операцій цифрової обробки сигналів (Фільтр Собеля, БПФ, перетворення Уолша-Адамара і ін.). Проте оцінки продуктивності нейрообчислювачів використовують інші показники:
CUPS (connections update per second) – число змінених значень вагів в секунду (оцінює швидкість навчання).
CPS (connections per second) – число з’єднань (множень з накопиченням) в секунду (оцінює продуктивність).
CPSPW = CPS/Nw, де Nw – число синапсів в нейроні.
CPPS – число з’єднань в секунду, CPPS=CPS·Bw·Bs ?де Bw, Bs – розрядність вагів і синапсів.
MMAC – мільйонів множень з накопиченням в секунду.
Особливістю використання DSP і ПЛІС як елементна база нейрообчислювачів є те, що орієнтація у виконанні нейромережевих операцій обмежує з одного боку підвищення швидкостей обміну між пам’яттю і паралельними арифметичними пристроями, а з іншого боку зменшення часу вагового підсумовування (множення і накопичення) за рахунок застосування фіксованого набору команд типу регістр-регістр.
Цифрові сигнальні процесори (DSP) ось вже впродовж декількох десятиліть є елементною базою для побудови як нейроприскорювачів, так і контура логіки загальносистемного управління нейрокомп’ютерів.
Велика продуктивність, потрібна при обробці сигналів в реальному часі, спонукала Texas Instruments і Analog Devices випустити трансп’ютероподібні сімейства мікропроцесорів TMS320C4x і ADSP2106x, орієнтовані на використання в мультипроцесорних системах. На цьому фоні перший російський сигнальний процесор (нейросигнальний процесор) фірми Модуль – “Neuro Matrix” [90], виглядає вельми гідно серед DSP з фіксованою точкою. При тактовій частоті 50 Мгц “Neuro Matrix” практично не поступається за продуктивністю виробам світових лідерів, а за деякими показниками навіть перевершує їх. Представимо порівняльні тести Сisc процесорів, DSP TI і нейросигнального процесора NM6403 (табл. 4.2)
Таблиця 4.2 – Порівняльні тести Сisc процесорів, DSP TI і нейросигнального процесора NM6403
Найменування тесту | Intel Pentium II
300 Мгц |
Intel PENTIUMMMX
200 Мгц |
TI TMS320C40
50 Мгц |
Нтц”модуль”
NM6403 40 Мгц |
ФільтрСобеля (розмір кадру 384X288 байт) кадрів/с. | – | 21 | 6,8 | 68 |
Швидке
перетворення Фур’є (256 точок, 32 розряди), мкс (тактів) |
200 | – | 464 (11588) | 102 (4070) |
Перетворення
Уолша-Адамара (21 крок, вх. дані 5 біт),с |
2,58 | 2,80 | – | 0,45 |
При створенні нейрообчислювальних систем на базі сигнальних процесорів необхідно пам’ятати, що DSP мають високий ступінь спеціалізації. У них широко використовуються методи скорочення тривалості командного циклу, характерної для універсальних процесорів RISC, такі як конвеєризація на рівні окремих мікроінструкцій і інструкцій, розміщення операндів більшості команд в регістрах, використання тіньових регістрів для збереження стану обчислень при перемиканні контексту, розділення шин команд і даних (Гарвардська архітектура). В той же час для сигнальних процесорів характерною є наявність апаратного помножувача, що дозволяє виконувати множення як мінімум двох чисел за один командний такт. Іншою особливістю сигнальних процесорів є включення в систему команд таких операцій, як множення з накопиченням MAC (C=A×B+C) з вказаним в команді числом виконань в циклі і з правилом зміни індексів використовуваних елементів масивів A і B, тобто вже реалізовані прообрази базових нейрооперацій – зважене підсумовування з накопиченням), інверсія біт адреси, різноманітні бітові операції. У сигнальних процесорах реалізується апаратна підтримка програмних циклів, кільцевих буферів. Один або декілька операндів витягуються з пам’яті в циклі виконання команди.
Реалізація однотактного множення і команд, що використовують як операнди вміст елементів пам’яті, обумовлює порівняно низькі тактові частоти роботи сигнальних процесорів. Спеціалізація не дозволяє піднімати продуктивність за рахунок швидкого виконання коротких команд типу R,R->R, як це робиться в універсальних процесорах. Цих команд просто немає в програмах цифрової обробки сигналів.
Сигнальні процесори різних компаній-виробників утворюють два класи, що істотно розрізняються за ціною: дешевші мікропроцесори для обробки даних у форматі з фіксованою точкою і дорожчі мікропроцесори, апаратні, які підтримують операції над даними у форматі з плаваючою точкою.
Типові операції DSP| вимагають виконання безлічі простих додавань і множень.
Додавання і множення вимагають:
– провести вибірку двох операндів;
– виконати додавання або множення (зазвичай і те і інше);
– зберегти результат або затримувати його до повторення.
Для вибірки двох операндів за один командний цикл необхідно здійснити два доступи до пам’яті одночасно. Але насправді окрім вибірки двох операндів необхідно ще зберегти результат і прочитати саму інструкцію. Тому число доступів в пам’ять за один командний цикл буде більше двох і, отже, DSP процесори підтримують великий доступ до пам’яті за один і той же командний цикл. Але неможливо здійснити доступ до двох різних адрес в пам’яті одночасно, використовуючи для цього одну шину пам’яті. Існує два види архітектури DSP процесорів що дозволяють реалізувати механізм великого доступу до пам’яті:
– Гарвардська архітектура
– модифікована архітектура фон Неймана
Гарвардська архітектура має дві фізично розділені шини даних. Це дозволяє здійснити два доступи до пам’яті одночасно: справжня Гарвардська архітектура виділяє одну шину для вибірки інструкцій (шина адреси), а іншу для вибірки операндів (шина даних). Але для виконання DSP операцій цього недостатньо, оскільки в основному всі вони використовують по два операнди. Тому Гарвардська архітектура використовує шину адреси для цифрової обробки сигналів і для доступу до даних. Поважно відзначити, що часто необхідно провести вибірку трьох компонентів – інструкції з двома операндами, на що власне Гарвардська архітектура нездібна. У такому разі дана архітектура включає кеш-пам’ять. Вона може бути використана для зберігання тих інструкцій, які використовуватимуться знов. При використанні кеш-пам’яті шина адреси і шина даних залишаються вільними, що робить можливою вибірку двох операндів. Таке розширення – Гарвардська архітектура плюс кеш – називають розширеною Гарвардською архітектурою або SHARC (Super Harvard ARChitecture).
Гарвардська архітектура потребує наявність двох шин пам’яті. Це значно підвищує вартість виробництва чипа. Так, наприклад, DSP процесор працює з 32-бітовими словами і в 32-бітовому адресному просторі потребує наявність принаймні 64 виводів для кожної шини пам’яті, а в сумі виходить 128 виводів. Це призводить до збільшення розмірів чипа і до труднощів при проектуванні схеми.
Архітектура фон Неймана використовує тільки одну шину пам’яті. Вона має ряд позитивних рис:
– дешевша;
– вимагає меншої кількості виводів шини;
– є більш простішою у використанні, оскільки програміст може розміщувати і команди і дані в будь-якому місці вільної пам’яті.
З погляду реалізації нейроприскорювачів ми зупинимося тільки на деяких найбільш яскравих представниках DSP, що в основному відносяться до класу трансп’ютероподібних DSP з плаваючою комою.
ПЛІС як елементна база нейрообчислювачів
Окремо слід розгледіти можливість створення паралельних обчислювачів (у тому числі і нейро) на базі ПЛІС (програмованих логічних інтегральних схем). На ПЛІС можна реалізовувати системи як другого, так і третього типу, також останнім часом широко поширені гібридні нейрообчислювачі, коли блок обробки даних реалізується на DSP, а логіка управління на ПЛІС. В наш час безліч фірм в світі займається розробкою і випуском різних ПЛІС, проте лідерство ділять дві фірми Xilinx і ALTERA. Виділити продукцію будь-якої однієї з цих фірм неможливо, оскільки за технічними характеристиками вони розрізняються дуже мало.
Нейрочип як елементна база нейрообчислювачів
Елементною базою перспективних нейрообчислювачів є нейрочипи. Їх виробництво ведеться в багатьох країнах світу, причому більшість з них на сьогодні орієнтовані на закрите використання (тобто створювалися для конкретних спеціалізованих систем управління).
Перш ніж перейти до розгляду найбільш цікавих нейрочипів зупинимося на їх класифікації.
За типом логіки їх можна розділити на цифрові, аналогові і гібридні.
За типом реалізації нейроалгоритмів: з повністю апаратною реалізацією і з програмно-апаратною реалізацією (коли нейроалгоритми зберігаються в ПЗП).
За характером реалізації нелінійних перетворень: на нейрочипи з жорсткою структурою нейронів (апаратних реалізованих) і нейрочипи із структурою нейронів, що настроюється (перепрограмовані).
За можливостями побудови нейромереж: нейрочипи із жорсткою і змінною нейромережевою структурою (тобто нейрочипи, в яких топологія нейромереж реалізована жорстко або гнучко).
Процесорні матриці – це чипи, зазвичай близькі до звичайних процесорів RISC і які об’єднують в своєму складі деяке число процесорних елементів, решта всієї ж логіки, як правило, має бути реалізована на базі периферійних схем.
У окремий клас слід виділити так звані нейросигнальні процесори, ядром яких є типовий сигнальний процесор, а реалізована на кристалі додаткова логіка забезпечує виконання нейромережевих операцій (наприклад, додатковий векторний процесор і тому подібне).
Узагальнена класифікація нейрочипів наведена на рис. 4.5.
Окрім широко спектра фірм і корпорацій, дослідження в області сучасних нейропроцесорів проводять багато лабораторій і університетів, серед яких можна відзначити:
– У США: Naval Lab, MIT Lab, Пенсельванський університет, Колумбійський університет, Університет Арізони, Університет Ілінойса і ін.
– У Європі: Берлінський технічний університет, Технічний університет в Карлсрує і ін.
– У Росії: МФТІ, Ульяновський державний технічний університет, МДТУ ім. Н. Е. Баумана (більше десятка лабораторій що займаються питаннями нейрообчислювачів на чотирьох факультетах: “Інформатики і систем управління”, “Спеціального машинобудування”, “Радіоелектроніки і лазерної техніки”, “Біомедичних систем”), Красноярський державний технічний університет, Ростовський державний університет і ін.
Розробка нейрочипів ведеться в багатьох країнах світу. На сьогодні виділяють дві базові лінії розвитку обчислювальних систем з масовим паралелізмом (ВСМП) : ВСМП з модифікованими послідовними алгоритмами, характерними для однопроцесорних фоннейманських алгоритмів і ВСМП на основі принципових нових надпаралельних нейромережевих алгоритмів вирішення різних завдань (на базі нейроматематики).
Рисунок 4.5 – Узагальнена класифікація нейрочіпів
Орієнтація у виконанні нейромережевих операцій обумовлює з одного боку підвищення швидкостей обміну між пам’яттю і паралельними арифметичними пристроями, а з іншого боку зменшення часу вагового підсумовування (множення і накопичення) за рахунок застосування фіксованого набору команд типу реєстр-регістр.
В. П. КОЖЕМ’ЯКО, В. В. ДМИТРУК, Н. В. БЕЛІК
НАУКА І ТЕХНІЧНА ТВОРЧІСТЬ В НАВЧАЛЬНОМУ ПРОЦЕСІ (ВІД АБІТУРІЄНТА ДО АСПІРАНТА)