Тема: Використання нейрокомп




Скачати 316.32 Kb.
НазваТема: Використання нейрокомп
Сторінка1/3
Дата26.05.2013
Розмір316.32 Kb.
ТипКурс лекцій
nauch.com.ua > Математика > Курс лекцій
  1   2   3
© Ваврук Є.Я.

Курс лекцій

"Комп’ютерні засоби обробки сигналів та зображень"


Тема 9

Тема: Використання нейрокомп’ютерів для обробки сигналів та зображень

Питання.

1. Визначення нейрокомп’ютера.

2. Основні компоненти нейрокомп’ютера.

3. Базова структура нейроприскорювача на основі ПОС.

4. Порівняльні характеристики нейроприскорювачів на базі ПОС.

5. Реалізація ШПФ на нейрокомп’ютері.
Вступ

Д
ля кращого розуміння нейрообчислювальних систем зупинимося на найважливіших елементах нейрологіки з позиції апаратної реалізації. Однією з головних переваг нейрообчислювача є те, що його основу складають відносно прості, найчастіше - однотипні, елементи (комірки), що імітують роботу нейронів мозку - "нейрони". Кожен нейрон характеризується своїм поточним станом за аналогією з нервовими клітками головного мозку, що можуть бути збуджені чи загальмовані. Він має групу синапсів - однонаправлених вхідних зв'язків, з'єднаних з виходами інших нейронів, а також має аксон - вихідний зв'язок даного нейрона, з яким сигнал (збудження чи гальмування) надходить на синапсы наступних нейронів. Загальний вид нейрона приведений на рис.1.

Рис.1. Загальний вид нейрона.

К
ожен синапс характеризується величиною синаптичного зв'язку чи його вагою wі, що по фізичному змісті еквівалентний електричній провідності. Поточний стан нейрона визначається, як зважена сума його входів:

Вихід нейрона є функція його стану: y = f(s), що називається активаційною і може мати різний вид. Однієї з найбільш розповсюджених - є нелінійна функція з насиченням, так звана логічна функція чи сигмоїд (тобто функція S-подібного виду):






Рис.2

а) одинична гранична функція;

б) лінійний поріг (гістерезис);

в) сигмоїд - гіперболічний тангенс;

г) логічний сигмоїд.

Паралелізм обробки досягається шляхом об'єднання великого числа нейронів у яруси і з'єднання певним чином різних нейронів між собою. Як приклад найпростішої НС приведемо трьох нейронний персептрон (рис.3), нейрони якого мають активаційну функцію у виді одиничної граничної функції. На n входів надходять деякі сигнали, що проходять по синапсах на 3 нейрони, що утворюють єдиний шар цієї НС і три вихідних сигнали, що видають:

О

чевидно, що усі вагові коефіцієнти синапсів одного ярусу нейронів можна звести в матрицю ^ W, у якій кожен елемент wіj задає величину і-го синаптичного зв'язку j-ого нейрона. Таким чином, процес, що відбувається в НС, може бути записаний у матричній формі: Y=F(XW), де X і Y - відповідно вхідній і вихідний сигнальні вектори, F(V) - активаційна функція, застосовувана поэлементно до компонентів вектора V. Теоретично число ярусів і число нейронів у кожному ярусі може бути довільним.

Рис.3 Одноярусний персептрон.

Для того щоб нейронная мережа працювала - її треба навчити. Від якості навчання залежить здатність мережі вирішувати поставлені перед нею проблеми. На етапі навчання крім параметра якості підбору вагових коефіцієнтів важливу роль грає час навчання. Як правило, ці два параметри зв'язані зворотньою залежністю і їх приходиться вибирати на основі компромісу. Навчання НС може вестися з вчителем чи без нього. У першому випадку мережі пред'являються значення як вхідних, так і бажаних вихідних сигналів, і вона по деякому внутрішньому алгоритмі налаштовує ваги своїх синаптичних зв'язків. В другому випадку виходи НС формуються самостійно, а ваги змінюються по алгоритму, що враховує тільки вхідні і похідні від них сигнали.

Розглядаючи класифікацію НС можна виділити: бінарні (цифрові) і аналогові НС, попередньо навчені (неадаптивні) і що самонавчаються (адаптивні) нейронні мережі, що украй важливо при їхній апаратній реалізації. Бінарні оперують із двійковими сигналами, і вихід кожного нейрона може приймати тільки два значення: логічний нуль ("загальмований" стан) і логічна одиниця ("збудженийстан). До цього класу мереж відноситься і розглянутий вище трьох нейронный персептрон, тому що виходи його нейронів, формовані функцією одиничного стрибка, рівні або 0, або 1. В аналогових мережах вихідні значення нейронів можуть приймати неперервні значення, що могло б мати місце після заміни активаційної функції нейронів персептрона на сигмоїд.

    Р
    ис. 4. Двоярусний персептрон

Мережі також можна класифікувати по топології (числу ярусів і зв'язків між ними). На рис.4 представлений двоярусний персептрон, отриманий з персептрона рис.3 шляхом додавання другого ярусу, що складається з двох нейронів.

Практично 80% реалізованих на сьогодні нейрочіпів, орієнтованих на задачі цифрової обробки сигналів, використовують при навчанні НС алгоритм зворотнього поширення помилки, крім всього інші він став деяким еталоном для виміру продуктивності нейрообчислювачів (наприклад, як ШПФ на 1024 відліки для сигнальних процесорів).
1. Визначення нейрокомп’ютера.

Нейрокомпьютери - дуже модне слово, яке використовують направо і наліво. На початку 90-х років був дуже бурхливий розвиток даної тематики у вітчизняних розробках. Але разом з рядом серйозних розробок з'явилося і дуже велике число “порожніх” (паперових) проектів, де описувалася вся краса вживання нейромережевих обчислювальних засобів, а реальної віддачі -  нуль. Все це викликало у багато кого розчарування в розрекламованих можливостях нейрообчислювачів і привело до відтоку значних сил розробників і дослідників в суміжні області. Разом з “смертю” вітчизняних виробників елементної бази практично завершилися і проекти пов'язані з розробкою вітчизняною елементною базою нейрокомп’ютерів - нейрочіпів. Змальована картина може показатися достатньо похмурою, проте не все такий погано....?????

В залежності від наукового напрямку використовуються різні визначення нейрокомп’ютера.

1. ^ Математична статистика. Нейрокомп’ютер - це обчислювальна система, що автоматично формує опис характеристик випадкових процесів або їх сукупностей, що мають складні, часто багатомодальні або взагалі апріорі невідомі функції розподілу.

2. ^ Математична логіка. Нейрокомп’ютер - це обчислювальна система, алгоритм роботи якої представлений логічною мережею елементів часткового вигляду - нейронів, з повною відмовою від булевих елементів типу І, АБО, НЕ.

3. ^ Порогова логіка. Нейрокомп’ютер - це обчислювальна система, алгоритм розв’язання задач в якій представлений у вигляді мережі порогових елементів з динамічно перебудовуваними коефіцієнтами і алгоритмами налаштування, незалежними від розмірності мережі порогових елементів і їх вхідного простору.

4. ^ Обчислювальна техніка. Нейрокомп’ютер - це обчислювальна система з MSIMD архітектурою, в якій процесорний елемент однорідної структури спрощений до рівня нейрона, різко ускладнені зв'язки між елементами і програмування перенесено на зміну вагових коефіцієнтів зв'язків між процесорними елементами.

5. Медицина (нейробіологічний підхід). Нейрокомп’ютер - це обчислювальна система, що є моделлю взаємодії клітинного ядра, аксонів і дендридів, зв'язаних синаптичними зв'язками (синапсами) (тобто модель біохімічних процесів, що протікають в нервових тканинах).

6. ^ Економіка і фінанси. Конкретне визначення відсутнє, але частіше під нейрообчислювачем розуміють систему забезпечуючу паралельне виконання “бізнес”-транзакцій.

На сьогодні можна виділити три основних напрямки розвитку обчислювальних систем з масовим паралелізмом (ОСМП):



Найменування напрямку

Опис

1

ОСМП на базі каскадного з'єднання універсальних SІSD, SІMD, MІSD мікропроцесорів.

Елементна база - універсальні RІSC чи CІSC процесори: Іntel, AMD, Sparc, Alpha, Power PC, MІPS і т.п.

2

На базі процесорів з розпаралелюванням на апаратному рівні.

Елементна база - DSP процесори: TMS, ADSP, Motorola, ПЛИС.

3

ОСМП на спеціалізованій елементній базі

Елементна база від спеціалізованих однобітових процесорів до нейрочіпів.

Нейромережеві системи, реалізовані на апаратних платформах першого напрямку (нехай і мультипроцесорних) будемо відносити до нейроемуляторів - тобто систем, що реалізують типові нейрооперації (зважене підсумовування і нелінійне перетворення) на програмному рівні. Нейромережеві системи, реалізовані на апаратних платформах другого і третього напрямку у виді плат розширення стандартних обчислювальних систем (1-го напрямку) - будемо називати нейроприскорювачами і системи, реалізовані на апаратній платформі третього напрямку у виді функціонально закінчених обчислювальних пристроїв, варто відносити до нейрокомп’ютерів (всі операції виконуються в нейромережевому логічному базисі). Нейроприскорювачі можна розділити на два класи "віртуальні" (вставляються в слот розширення стандартного РС) і "зовнішні" ( щоз'єднуються з керуючою Host ЕОМ по конкретному інтерфейсі чи шині).

2. Основні компоненти нейрокомп’ютера.

3. Базова структура нейрокомп’ютера на основі ПОС.

Зупинимося на особливостях апаратної реалізації нейрообчислювача (НО) (див. рис.5) з можливістю паралельної обробки, що реалізують елементи нейромережі.



Рис.5. Базова (узагальнена) функціональна схема віртуального НО.

В основі побудови НО лежить використання сигнальних процесорів, об'єднаних між собою відповідно до визначеної архітектури, що забезпечує паралельність виконання обчислювальних операцій. Як правило, такі НО будуються на основі гнучкої модульної архітектури, що забезпечує простоту конфігурації системи і нарощуваність обчислювальної потужності шляхом збільшення числа процесорних модулів чи застосування більш продуктивних сигнальних процесорів. НО даного типу реалізуються в основному на базі несучих модулів стандартів ІSA, PCІ, VME. Основними їхніми функціональними елементами є модуль матричних сигнальних процесорів (МСП), робоча пам'ять, пам'ять програм, модуль забезпечення вводу/виводу сигналів (включаючи АЦП, ЦАП і TTL лінії), а також модуль керування, що може бути реалізований на основі спеціалізованого керуючого сигнального процесора (КП), на основі ПЛІС чи мати розподілену структуру, при якій функції загального керування розподілені між МСП.

4. Порівняльні характеристики нейрокомп’ютерів на базі ПОС.

Для побудови НО (нейрообчислювач) перспективним є використання сигнальних процесорів із плаваючою крапкою ADSP2106x, TMS320C4x,8x, DSP96002 і ін. Типова структурна схема реалізації НО на основі сигнальних процесорів ADSP2106x приведена на рис.6. До її складу включений один керуючий сигнальний процесор для здійснення функцій загального керування, і до восьми процесорів здійснюючих паралельні обчислення відповідно до закладених алгоритмів (матричні сигнальні процесори). Керуючий і матричні процесори утворять кластер процесорів із загальною шиною і ресурсами розподіленої пам'яті. Обмін інформацією між керуючим процесором, матричними процесорами, Host-ЕОМ і зовнішнім середовищем здійснюється за допомогою портів вводу/виводу. Для тестування і налагодження  - JTAG-порт. Є 12 зовнішніх лінків, а по 3 лінка кожного з МСП призначені для внутрімодульного міжпроцесорного обміну. Синхронізація роботи системи може здійснюватися як від внутрішніх кварцових генераторів, так і від зовнішніх генераторів. Активізація обчислень програмна чи зовнішня. Для вводу/виводу й АЦ/ЦА перетворень сигналів призначений спеціалізований модуль, що містить у собі: універсальний цифровий TTL порт, АЦП, ЦАП, вузол програмувальних напруг для зсуву шкал АПЦ і установки порога спрацьовування стартових компараторів, вузол фільтрації вихідних аналогових сигналів, підсистему тестування, вузол синхронізації і керування, буферну пам'ять FІFO. Первісне завантаження здійснюється по Host-інтерфейсі чи по лінках. Керуючий інтерфейс будь-якого МСП дозволяє керувати процесорним скиданням і перериваннями, його ідентифікаційним номером і т.п.



Рис.6. Реалізація НО на основі ADSP2106x

Така архітектура НО забезпечує виконання операцій ЦОС у реальному часі, прискорення векторних обчислень, можливість реалізації нейромережевих алгоритмів з високим паралелізмом виконання векторних і матричних операцій.

Структурна схема НО на основі сигнальних процесорів TMS320C4x представлена на рис.7. Декілька DSP, що входять у структуру НО утворять розподілену обчислювальну структуру з процесорних модулів, з'єднаних між собою високошвидкісними портами. Даний варіант реалізації НО може бути побудований з використанням від двох до восьми сигнальних процесорів.



Рис.7. Структура НО на основі TMS320C4x.

При використанні двох паралельних 32-розрядних DSP TMS320C40 обмін інформацією при реалізації нейромережевих алгоритмів здійснюється за допомогою шести зв'язаних портів із пропускною здатністю в 30 Мб/c і каналів DMA кожного з процесорів. Підтримуючи парелельну незалежну роботу, підсистема DMA і процесор забезпечують паралельний обмін інформацією зі швидкостями до 560 Мб/c. За допомогою високошвидкісних портів можлива реалізація на основі даних DSP таких архітектур, як: кільця, ієрархічні дерева, гіперкуб і т.п. Кожна з локальних шин TMS320C40 забезпечує обмін інформацією на швидкостях до 120 Мбайт/с.

Процесорні модулі функціонують незалежно і при необхідності поєднуються за допомогою зв'язаних портів. Функції обміну, керування процесорними модулями, перериваннями і каналами DMA реалізують ПЛІС, наприклад фірми Xіlіnx. Застосування в НО динамічних реконфігуруючих структур (нейромережі зі структурною адаптацією) і використання останніх ПЛІС, вимагає мінімізації часу на реконфігурацію ПЛІС, що найчастіше програмуються в режимах Master Serіal і Perіpherіal. Основний недолік при використанні даних режимів перепрограмування полягає в залежності процесу переконфігурації ПЛІС від вбудованого тактового генератора. Мінімальні втрати часу можливо одержати при проведенні переконфігурації ПЛІС у режимі Slave Serіal, у якому внутрішній тактовий генератор відключений, а синхронізація здійснюється за допомогою зовнішніх синхросигналів.

Підсистема збереження інформації включає модулі локальної статичної (до 256Кх32) і динамічної пам'яті (до 8Мх32) на кожний із процесорів і глобальної статичної пам'яті (до 256Кх32). Host-ЕОМ здійснює звертання до глобальній статичній пам'яті 16-бітними словами в режимі рядкових пересилань з автоінкрементованням адреси за допомогою адресного простору портів вводу/виводу. Для дозволу можливих конфліктних ситуацій до складу НО введені арбітри доступу. Додатковий обмін інформацією може бути здійснений через високошвидкісний комунікаційний порт. Host-ЕОМ має можливість переривати роботу кожного з процесорних модулів. Підсистема переривань підтримує обробку переривань до кожного з DSP при обміні інформацією з Host-ЕОМ.

Реалізація НО, блок матричних процесорів якого побудований на основі чотирьох матричних TMS320C44 із продуктивністю 60 MFLOPS, являє собою розподілену обчислювальну структуру з процесорних модулів із продуктивністю до 960 MFLOPS, з'єднаних між собою високошвидкісними портами Структура НО містить у собі КП (TMS320C44), чотири МСП (TMS320C44), статичну пам'ять (до 512Кх32), динамічну пам'ять (до 16Мх32) і интерфейсні засоби для обміну з зовнішнім середовищем. Використовуваний процесор має дві незалежні шини: глобальну і локальну зі швидкістю обміну до 240 Мбайт/c і чотири паралельних байтових порти з пропускною здатністю 30 Мбайт/с. Комунікаційні порти забезпечують проведення міжпроцесорного обміну з мінімальним навантаженням на мікропроцесорне ядро, для чого використовуються відповідні контролери DMA для кожного з портів. Кожний з портів забезпечує передачу інформації зі швидкістю до 20 Мбайт/c, що дозволяє досягати пікової продуктивності по всіх портах близько 120 Мбайт/с.

Чотири процесорних модулі функціонують на платі незалежно. Обмін інформації між ними здійснюється за допомогою байтового порту. Комунікаційні порти і канали DMA забезпечують різноманітні можливості високошвидкісного обміну. Host-ЕОМ має можливість переривати роботу кожного з процесорних модулів. Для використання спеціалізованого багатовіконного відлагоджувача задач ЦОС фірми Texas Іnstruments у структуру НО уводиться JTAG інтерфейс. Завантаження програм і даних, обмін даними між НО і Host-ЕОМ здійснюється через високошвидкісний комунікаційний порт, що має FІFO буфера в обох напрямках. Вузли вводу/виводу підключаються через глобальну шину з пропускною здатністю до 100 Мбайт/c. Внутрішня структура інтерфейсу визначається завантаженою в ПЛІС конфігурацією.

Розглянуті варіанти НО забезпечують виконання ЦОС і нейроалгоритмів у реальному масштабі часу, прискорення векторних і матричних обчислень, у порівнянні з традиційними обчислювальними засобами в кілька разів і дозволяють реалізовувати нейромережу з числом синапсів до декількох мільйонів.



Рис.8. Структура НО на основі TMS320C44

Ще більше підвищити продуктивність НО даного типу можна при використанні одного із самих потужних на сьогодні сигнальних процесорів - TMS320C80, TMS320C6ххх фірми TІ.

Прикладом реалізації НО на DSP фірми Моторолла є нейрообчислювач NEURO TURBO фірми Fujіtsu. Він реалізований на основі 4-х зв'язаних кільцем 24-розрядних DSP із плаваючою крапкою МВ86220 (основні параметри: внутрішня точність 30 розрядів, машинний цикл 150 нс., пам'ять програм-25Кслів х2 (внутрішня), 64К слів х4 (зовнішня), технологія виготовлення КМОП 1,2 мкм). Активаційна функція нейронів обмежується в діапазоні від 0 до 1, а можливі значення входів не перевищують 16 розрядів, що обумовлює достатню точність при 24-х розрядній архітектурі. Побудова нейрокомп’ютера на основі кільцевої структури об'єднання DSP дозволяє знизити апаратні витрати на реалізацію підсистеми централізованого арбітражу міжпроцесорної взаємодії.

Нейрокомп’ютер NEURO TURBO (рис.9) складається з чотирьох DSP, зв'язаних один з одним за допомогою двопортової пам'яті. Кожний з DSP може звертатися до двох модулів такої пам'яті (ємністю 2К слів кожна) і до робочої пам'яті (РП) (ємністю 64К слів х4 Банку) у своєму адресному просторі. Внаслідок того, що доступ до двопортової пам'яті здійснюється випадковим чином одним із сусідніх DSP, то передача даних між ними відбувається в асинхронному режимі. Робоча пам'ять використовується для збереження вагових коефіцієнтів, даних і допоміжної інформації. Для успішної роботи НМ необхідне одержання згорток у всіх елементарних нейронних вузлах. Кільцева структура об'єднання DSP забезпечує конвеєрну архітектуру згортки, причому передача даних по конвеєрі здійснюється за допомогою ДПП. Після того як DSP завантажує дані з однієї ДПП, він записує результати своєї роботи в суміжну ДПП, отже, кільцева архітектура паралельної обробки забезпечує високу швидкість операції з використанням відносно простих апаратних рішень.

Для виконання функцій загального керування використовується Host-ЕОМ на основі звичайної обчислювальної системи. Обмін даними між нейроплатою і Host-ЕОМ через центральний модуль ДПП. Завантаження програм у DSP здійснюється за допомогою пам'яті команд для кожного DSP. Отже, його архітектура цілком відповідає паралельній розподіленій архітектурі типу MІMD. Пікова продуктивність системи 24 MFLOPS.



Рис.9. Структура нейрокомп’ютера NEURO TURBO (фірми Fujіtsu)

Для реалізації моделі НМ ієрархічного типу фірмою Fujіtsu випущена нейроплата на основі DSP МВ86232, із власною пам'яттю до 4 Мб, що дозволяє здійснювати моделювання НМ, що містить більш 1000 нейронів. Структура НМ містить у собі вхідний, проміжний і вихідний рівні (найбільше число схованих шарів - два (обмеження по пам'яті)). Для навчання нейрокомп’ютера використовуються оригінальні фірмові алгоритми: алгоритм віртуального імпедансу, алгоритм скоректованого навчання й алгоритм розширеного навчання.

Кожна з розглянутих типових структур реалізації НМ може бути промодельована на основі розглянутих вище варіантів побудови мультипроцесорних НО. Так, для НО на основі TMS320C4x при реалізації якої-небудь з розглянутих архітектур (кільце, ієрархічне дерево, гіперкуб і т.п.) досить тільки змінити призначення комунікаційних портів, що забезпечує гнучкість і масштабування при дослідженні і розробках нейромережевих систем різної архітектури.
Нейроприскорювачі на базі ПЛІС. Нейрообчислювачі на базі ПЛІС - як правило позиціонуються як гнучкі нейрообчислювальні системи для науково-дослідних цілей і дрібносерійного виробництва. Для побудови більш продуктивних і ефективних нейрообчислювачів як правило потрібно застосування сигнальних процесорів.

Паралельний перепрограмовувальний обчислювач (ППВ) розроблений у стандарті VME і реалізований на базі перепрограмовувальних мікросхем сімейства 10К фірми Altera. Обчислювач призначається для роботи як апаратний прискорювач на шині VME. Він повинний включатися в систему як підлеглий пристрій основної керуючої ЕОМ (host-машини) з універсальним процесором.

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

Обчислювач складається з наступних функціональних блоків [3]:

· схема керування (Сх Кер);

· базові обчислювальні елементи (БОЕ1-БОЕ6);

· контролер зовнішньої шини (Контролер E-bus);

· контролер системної шини (Контролер VME);

· два масиви статичної пам'яті (ОЗУ0, ОЗУ1);

· блок високошвидкісних приймачів/передавачів.

Схема керування використовується для керування БОЕ і потоками даних в обчислювачі і є найпростішим RІSC процесором. Структура і набір команд процесора можуть змінюватися в залежності від типу розв'язуваної задачі.

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



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

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

Зв'язок декількох обчислювачів між собою чи обчислювача з пристроєм оцифровування зображення, при наявності в пристрої оцифровування відповідного інтерфейсу, здійснюється за допомогою послідовного каналу приймачів/передавачів HOTLіnk фірми CYPRESS. Керування передачею даних виконує контролер зовнішньої шини, що представляє собою набір 4-х стандартних FІFO і регістрів керування і даних. Контролер шини VME виконує функцію інтерфейсу з центральним процесором і є стандартним пристроєм.

З погляду програміста обчислювач можна представити як RіSC-процессор (схема керування чи керуючий процесор) і шість векторних процесорів (обчислювальних елементів), що відпрацьовують SіMD-команды (одна команда для багатьох даних). Велика кількість шин даних, можливість одночасної роботи всіх БОЕ і виконання арифметичних операцій множення і додавання за один такт дозволяє ефективно розпаралелювати процес обробки інформації.

Особливістю схеми керування перепрограмувального обчислювача для систем обробки інформації є наявність робочої команди, що керує шістьма базовими обчислювальними елементами. Команда дозволяє одночасно, за один такт, задавати різні режими функціонування шести базовим обчислювальним елементам і інкрементувати адреси обох масивів пам'яті на будь-яке число від 0 до 255, збережене в регістрах інкремента, причому кожному масиву відповідає свій регістр. Команда може повторюватися будь-яку кількість разів у відповідності зі значенням, збереженим у спеціальному регістрі. Це дозволяє виконувати основну команду без втрат на організацію циклів і переходів. Робоча команда дозволяє одночасно запускати обидва контролери локальної пам'яті, інкрементувати адресні регістри на необхідне значення, виставляти на адресні шини адреси з відповідних регістрів адреси, виставляти на шини керування БОЕ команди з відповідних регістрів БОЕ. Крім того, робоча команда здійснює організацію обміну даними між контролером зовнішньої шини і локальною пам'яттю.
5. Реалізація ШПФ на нейрокомп’ютері.

Розглянемо реалізацію ШПФ на базі процесора Л1879ВМ1(NM6403). Процесор Л1879ВМ1 -  високопродуктивний спеціалізований мікропроцесор, що об’єднює в собі риси двох сучасних архітектур: VLIW (Very Long Instruction Word) і SIMD (Single Instruction Multiple Data) (рис.10). Тактова частота - 40 МГц; напруга живлення - від 3,0 до 3,6 В; споживана потужність - 1,3Вт. Основні обчислювальні вузли процесора - керуюче RISC-ядро і векторний співпроцесор.

RISC-ядро – центральний процесорний вузол, що виконує всі основні функції по керуванню роботою кристала. Крім того, RISC-процесор робить арифметико-логічні і операції зсуву над 32-розрядними скалярними даними і формує 32-розрядні адреси команд і даних при звертаннях до зовнішньої пам'яті. Довжина команди - 32 і 64 розряди (звичайно в команді виконуються дві операції). Процесор реалізує п’ятиступінчатий 32-розрядний конвеєр. Адресний простір - 16 Гбайт, два адресних генератори, вісім регістрів загального призначення і вісім адресних регістрів. Будь-яка інструкція виконується за один такт.

^ Векторний співпроцесор призначений для арифметичних і логічних операцій над 64-розрядними скалярними даними програмувальної розрядності. Обмін даними між основними вузлами процесора відбувається по трьох внутрішніх шинах, двом вхідним і однієї

вихідній.



GMI і LMI - два однакових блоки програмувального інтерфейсу з локальною і глобальною 64-розрядними зовнішніми шинами. До кожної з них може бути підключена зовнішня пам'ять, що містить до 231 32-розрядних комірок. Обмін даними з зовнішньою пам'яттю здійснюється як 32-, так і 64-розрядними словами (NM6403 одночасно вибирає дві сусідні комірки пам'яті). Кожен блок програмувального інтерфейсу дозволяє працювати з двома банками зовнішньої пам'яті різного обсягу, типу (DRAM, SRAM, Flash ROM, EDO DRAM і т.д.) і швидкодії без додаткового устаткування. Передбачено апаратну підтримку режиму розподіленої пам'яті для різних мультипроцесорних конфігурацій зовнішніх шин.

СР1 і СР2 - ідентичні комунікаційні порти, що забезпечують інформаційний обмін по двонаправленій восьмиразрядной шині. Вони призначені для побудови високопродуктивних мультипроцесорних систем і цілком сумісні з комунікаційними портами процесора ТМ320C4x. Кожен комунікаційний порт має вбудований контролер прямого доступу до пам'яті (ПДП, DMA), що дозволяє обмінюватися 64-розрядними даними з пам'яттю на зовнішніх шинах.

^ ВЕКТОРНИЙ СПІВПРОЦЕСОР

Векторний співпроцесор структурно являє собою матрично-векторний операційний пристрій і набір регістрів різного призначення.

Операційний пристрій (ОУ) - регулярна матрична структура 64х64 комірки (рис.11). Матриця може бути довільно розділена на стовпці і рядки. В утворені після поділу макрокомірки завантажуються вагові коефіцієнти Wіj . На вхід матриці подається вектор вхідних даних , кожному елементу якого відповідає рядок матриці. Ширина рядка (у бітах) - розрядність даного елемента вхідних даних. У макрокомірках відбувається множення елемента вектора вхідних даних на ваговий коефіцієнт і додавання зі значенням верхньої комірки (або значень входів і U ). Таким чином, для кожного стовпця обчислюється скалярне вираз . Для зниження розрядності вихідних даних і захисту від арифметичного переповнення використовується програмувальна функція насичення (рис. 12) .



U3

U2

U1

… … …

U3

U2

U1




















































X0





















X0

X1

X1

X2

X2

X3

X3

X4

X4

X5

X5

X6

X6

X
1

32
7


X
32
6











… … …








  1   2   3

Схожі:

Тема: Використання нейрокомп iconУрок №24 ( 9 клас) Тема
Тема. Галузева структура електроенергетики. Основні типи електростанцій та найважливіші леп. Використання традиційних І нових способів...
Тема: Використання нейрокомп iconТема (проблема) досвіду
Тема (проблема) досвіду Використання інформаційно-комунікаційних технологій на уроках історії
Тема: Використання нейрокомп iconТема Нафта, вугілля, природний газ як вуглеводневі речовини. Склад...
Мета Ознайомити учнів з теоріями про походження горю­чих копалин; показати важливість використання їх як палива, джерела різних органічних...
Тема: Використання нейрокомп iconЗасідання шкільного методичного об’єднання вчителів природничо- математичного...
Науково-методична тема: Використання інноваційних технологій з метою активізації навчально-пізнавальної діяльності учнів
Тема: Використання нейрокомп iconЗасідання шкільного методичного об’єднання вчителів суспільно-гуманітарного...
Науково-методична тема: Використання інноваційних технологій з метою активізації навчально-пізнавальної діяльності учнів
Тема: Використання нейрокомп iconТема структури даних для використання системних функцій
Мета – навчитися будувати структури даних для використання функцій Win32api при програмуванні в операційній системі Windows
Тема: Використання нейрокомп iconТема: Ефективність використання виробничих фондів
...
Тема: Використання нейрокомп iconЛекція №7 Тема: Використання віконної обробки при гармонійному аналізі сигналів методом дпф
Тема: Використання віконної обробки при гармонійному аналізі сигналів методом дпф
Тема: Використання нейрокомп iconТема роботи: Використання утиліти System Information для контроля характеристик пк. Мета роботи
Тема роботи: Використання утиліти System Information для контроля характеристик пк
Тема: Використання нейрокомп iconУрок №8 Тема. Практична робота № Використання програмних засобів...
Тема. Практична робота № Використання програмних засобів при вивченні фізики, хімії та біології
Додайте кнопку на своєму сайті:
Школьные материалы


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
nauch.com.ua
Головна сторінка